qelectrotech-0.22+svn897/0000755000175000017500000000000011347002077015100 5ustar laurentlaurentqelectrotech-0.22+svn897/packaging/0000755000175000017500000000000011347002062017016 5ustar laurentlaurentqelectrotech-0.22+svn897/packaging/linux/0000755000175000017500000000000011347002062020155 5ustar laurentlaurentqelectrotech-0.22+svn897/packaging/linux/fedora/0000755000175000017500000000000011347002062021415 5ustar laurentlaurentqelectrotech-0.22+svn897/packaging/linux/fedora/README.elements0000644000175000017500000000040711344460454024123 0ustar laurentlaurent[fr] Collection d'éléments pour QElectroTech. [en] Elements collection for QElectroTech. [es] Collección de elementos para QElectroTech. [pt] Colecção de elementos para QElectroTech. [ru] Коллекция элементов для QElectroTech. [cs] qelectrotech-0.22+svn897/packaging/linux/fedora/qelectrotech.spec0000644000175000017500000001703211344460454024770 0ustar laurentlaurent#global svn 854 Name: qelectrotech Summary: An electric diagrams editor Summary(fr): Un éditeur de schémas électriques Summary(es): Un editor de esquemas eléctricos Summary(pt): Um editor de esquemas eléctricos Summary(ru): Редактор электрических схем Summary(cs): Editor nákresů elektrických obvodů # Upstream version is a float so 0.11 < 0.2 < 0.21 < 0.3 # So use %.2f with upstream acknowledgment # Remember to check Source0 + setup on each update Version: 0.21 Release: 1%{?dist} Group: Applications/Engineering # Prog is GPLv2 - Symbols/Elements are Creative Commons Attribution License: GPLv2+ Url: http://qelectrotech.org/ %if 0%{?svn} # svn export svn://svn.tuxfamily.org/svnroot/qet/qet/trunk qelectrotech # mv qelectrotech qelectrotech-854 # tar cjf tar cjf /home/rpmbuild/SOURCES/qelectrotech-854.tar.bz2 qelectrotech-854 Source0: qelectrotech-%{svn}.tar.bz2 %else Source0: http://download.tuxfamily.org/qet/tags/20100305/qelectrotech-0.21-src.tar.gz %endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: desktop-file-utils Requires(post): desktop-file-utils Requires(postun): desktop-file-utils BuildRequires: qt4-devel >= 4.4.1 Requires: qelectrotech-symbols = %{version}-%{release} Requires: electronics-menu %description QElectroTech is a Qt4 application to design electric diagrams. It uses XML files for elements and diagrams, and includes both a diagram editor and an element editor. %description -l es QElectroTech es una aplicación Qt4 para diseñar esquemas eléctricos. Utiliza archivos XML para los elementos y esquemas, e incluye un editor de esquemas y un editor de elemento. %description -l fr QElectroTech est une application Qt4 pour réaliser des schémas électriques. QET utilise le format XML pour ses éléments et ses schémas et inclut un éditeur de schémas ainsi qu'un éditeur d'élément. %description -l ru QElectroTech - приложение написанное на Qt4 и предназначенное для разработки электрических схем. Оно использует XML-файлы для элементов и схем, и включает, как редактор схем, так и редактор элементов. %description -l pt QElectroTech é uma aplicação baseada em Qt4 para desenhar esquemas eléctricos. QET utiliza ficheiros XML para os elementos e para os esquemas e inclui um editor de esquemas e um editor de elementos. %description -l cs QElectroTech je aplikací Qt4 určenou pro návrh nákresů elektrických obvodů. Pro prvky a nákresy používá soubory XML, a zahrnuje v sobě jak editor nákresů, tak editor prvků. %package symbols Summary: Elements collection for QElectroTech Summary(es): Collección de elementos para QElectroTech Summary(fr): Collection d'élements pour QElectroTech Summary(pt): Colecção de elementos para QElectroTech Summary(ru): Коллекция элементов для QElectroTech Group: Applications/Productivity License: CC-BY %if 0%{?fedora} >= 11 BuildArch: noarch %endif Requires: qelectrotech = %{version}-%{release} %description symbols Elements collection for QElectroTech. %description -l es symbols Collección de elementos para QElectroTech. %description -l fr symbols Collection d'élements pour QElectroTech. %description -l pt symbols Colecção de elementos para QElectroTech. %description -l ru symbols Коллекция элементов для QElectroTech. %prep %if 0%{?svn} %setup -q -n %{name}-%{svn} %else %setup -q -n %{name}-0.21-src %endif sed -e s,/usr/local/,%{_prefix}/, \ -e /QET_MAN_PATH/s,'man/','share/man', \ -e /QET_MIME/s,../,, \ -i %{name}.pro qmake-qt4 %{name}.pro %build make %{?_smp_mflags} %install rm -fr $RPM_BUILD_ROOT qet.lang INSTALL_ROOT=$RPM_BUILD_ROOT make install # We only provides UTF-8 files rm -rf $RPM_BUILD_ROOT/usr/doc/qelectrotech \ $RPM_BUILD_ROOT%{_mandir}/fr.ISO8859-1 \ $RPM_BUILD_ROOT%{_mandir}/fr mv $RPM_BUILD_ROOT%{_mandir}/fr.UTF-8 $RPM_BUILD_ROOT%{_mandir}/fr desktop-file-install --vendor="" \ --remove-category=Office \ --add-category=Electronics \ --dir=%{buildroot}%{_datadir}/applications/ \ %{buildroot}%{_datadir}/applications/%{name}.desktop # QT translation provided by QT. rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/lang/qt_*.qm %if 0%{?fedora} >= 9 %find_lang qet --with-qt %else for lg in en es fr pt ru cs do echo "%%lang($lg) %{_datadir}/%{name}/lang/qet_$lg.qm" done | tee qet.lang %endif %clean rm -fr $RPM_BUILD_ROOT %post update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/icons/hicolor if [ -x %{_bindir}/gtk-update-icon-cache ]; then %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : fi %postun update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/icons/hicolor if [ -x %{_bindir}/gtk-update-icon-cache ]; then %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : fi %files -f qet.lang %defattr(-,root,root,-) %doc CREDIT LICENSE examples %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_datadir}/mime/application/x-qet-*.xml %{_datadir}/mime/packages/%{name}.xml %{_datadir}/mimelnk/application/x-qet-*.desktop %{_datadir}/icons/hicolor/*/*/*.png %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/lang %exclude %{_datadir}/%{name}/examples %{_mandir}/man1/%{name}.* %lang(es) %{_mandir}/es/man1/%{name}.* %lang(fr) %{_mandir}/fr/man1/%{name}.* %lang(pt) %{_mandir}/pt/man1/%{name}.* %files symbols %defattr(-,root,root,-) %doc ELEMENTS.LICENSE %{_datadir}/%{name}/elements %changelog * Sat Mar 06 2010 Remi Collet - 0.21-1 - update to 0.21 - more translations (sumnary and description) * Sun Feb 14 2010 Remi Collet - 0.21-0.1.svn854 - update to SVN snapshot * Sat Jun 27 2009 Remi Collet - 0.20-1.fc8.remi - rebuild for Fedora 8 * Sat Jun 27 2009 Remi Collet - 0.20-1 - update to 0.2 finale * Sat Jun 20 2009 Remi Collet - 0.20-0.3.rc2 - rebuild for remi repo - add Obsoletes -elements * Sat Jun 20 2009 Remi Collet - 0.20-0.2.rc2 - update to RC2 * Thu Jun 18 2009 Remi Collet - 0.20-0.2.rc1 - changes from review (#505867) - add multi-lang sumnary (taken from .desktop) - add multi-lang description (taken from README) - rename qlectrotech-elements to -symbols - use electronics-menu * Sun Jun 14 2009 Remi Collet - 0.20-0.1.rc1 - initial RPM for fedora * Sat Jun 13 2009 Remi Collet - 0.20-0.3.rc1 - update to 0.2rc1 - split elements in sub-package - fix license, URL, lang * Sun May 24 2009 Remi Collet - 0.20-0.2.beta - update to 0.2b * Sun Apr 12 2009 Remi Collet - 0.20-0.1.alpha - update to 0.2alpha * Sat Sep 06 2008 Remi Collet - 0.11-1 - update to 0.11 * Fri Aug 15 2008 Remi Collet - 0.1-3.svn374 - update to 1.0 finale - new snapshot (pre 0.11) - require qt >= 4.4.1 * Tue May 20 2008 Remi Collet - 0.1-2 - Fedora 9 build - add gcc43.patch - add bug12.patch * Sun Mar 2 2008 Remi Collet - 0.1-1 - update to 0.1 finale * Sat Jan 19 2008 Remi Collet - 0.1-0.1.svn278 - add icon * Mon Jan 07 2008 Remi Collet - 0.1-0.1.svn266 - first RPM qelectrotech-0.22+svn897/packaging/mac-osx/0000755000175000017500000000000011347002062020365 5ustar laurentlaurentqelectrotech-0.22+svn897/packaging/windows/0000755000175000017500000000000011347002062020510 5ustar laurentlaurentqelectrotech-0.22+svn897/packaging/windows/files/0000755000175000017500000000000011347002062021612 5ustar laurentlaurentqelectrotech-0.22+svn897/packaging/windows/Lancer QET.bat0000644000175000017500000000060011345301467023023 0ustar laurentlaurent@echo off rem Se rend dans le dossier qui convient set current_dir=%~dp0 cd /d %current_dir% rem lance QElectroTech rem Sans option --config-dir, la configuration de QElectroTech ainsi que la rem collection d'elements perso seront dans "%APPDATA%\qet" set command=bin\qelectrotech.exe --common-elements-dir=elements/ --lang-dir=lang/ -style plastique %* @start %command% qelectrotech-0.22+svn897/packaging/windows/README.txt0000644000175000017500000000014211274756353022225 0ustar laurentlaurentPlace all files of "*win32-readytouse.zip" in the "files/" directory and run "QET.nsi" enjoy qelectrotech-0.22+svn897/packaging/windows/QET.nsi0000644000175000017500000001654211344024230021662 0ustar laurentlaurent; Installation script for QET ; Written by Cyril Frausti ; Licence : CC-BY-SA - http://creativecommons.org/licenses/by-sa/3.0/ ; WebSite : http://qelectrotech.org/ ;-------------------------------- ;Include Modern UI !include "MUI2.nsh" ; MUI Settings ;-------------------------------- ;General ; General Product Description Definitions !define SOFT_NAME "QElectroTech" !define SOFT_VERSION "svn" !define SOFT_WEB_SITE "http://qelectrotech.org/" !define SOFT_BUILD "1" SetCompressor /final /solid lzma CRCCheck force XPStyle on ;Name and file Name "${SOFT_NAME} ${SOFT_VERSION}" OutFile "Installer_${SOFT_NAME}-${SOFT_VERSION}-${SOFT_BUILD}.exe" ;Default installation folder InstallDir "$PROGRAMFILES\${SOFT_NAME}" ;Get installation folder from registry if available InstallDirRegKey HKCU "Software\${SOFT_NAME}" "" ;Request application privileges for Windows Vista ; we request for admin because we write stuff into the registry RequestExecutionLevel admin ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING !define MUI_ICON "install.ico" !define MUI_UNICON "uninstall.ico" ;-------------------------------- ;Language Selection Dialog Settings ;Remember the installer language !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" !define MUI_LANGDLL_REGISTRY_KEY "Software\${SOFT_NAME}" !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" ;-------------------------------- ;Pages !insertmacro MUI_PAGE_LICENSE "files\LICENSE" ;!insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ;-------------------------------- ;Languages ;Since NSIS 2.26, the language selection dialog of Modern UI hides languages unsupported by the user's selected codepage by default. ;To revert to the old behavior and display all languages, no matter what the user will see when they're selected, use MUI_LANGDLL_ALLLANGUAGES. !define MUI_LANGDLL_ALLLANGUAGES ; For consistency, we limit the installer to languages supported by QElectroTech itself !insertmacro MUI_LANGUAGE "English" ;first language is the default language !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "Russian" !insertmacro MUI_LANGUAGE "Portuguese" !insertmacro MUI_LANGUAGE "Czech" ;-------------------------------- ;Reserve Files ;If you are using solid compression, files that are required before ;the actual installation should be stored first in the data block, ;because this will make your installer start faster. !insertmacro MUI_RESERVEFILE_LANGDLL ;-------------------------------- ;Installer Sections Section "" SetOutPath "$INSTDIR" ; copy every files in the "files" directory, except the ready-to-use .bat file File /nonfatal /r /x "files\Lancer QET.bat" /x ".svn" "files\*" ; add the use-APPDATA .bat file File "Lancer QET.bat" ;Store installation folder WriteRegStr HKCU "Software\${SOFT_NAME}" "" $INSTDIR ; write uninstall strings WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" "DisplayName" "${SOFT_NAME} (remove only)" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" "UninstallString" '"$INSTDIR\Uninstall.exe"' ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" ; get the final path for the icons and the launch script Var /GLOBAL final_qet_exe Var /GLOBAL final_project_ico Var /GLOBAL final_element_ico StrCpy $final_qet_exe "$INSTDIR\Lancer QET.bat" StrCpy $final_project_ico "$INSTDIR\ico\application-x-qet-project.ico" StrCpy $final_element_ico "$INSTDIR\ico\application-x-qet-element.ico" ; write file associations registry keys WriteRegStr HKEY_CLASSES_ROOT "Applications\qelectrotech.exe\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\"" WriteRegStr HKEY_CLASSES_ROOT ".qet" "" "qet_diagram_file" WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file" "" "Schma QET" WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "EditFlags" 0x00000000 WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "BrowserFlags" 0x00000008 WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\DefaultIcon" "" "$final_project_ico" WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\"" WriteRegStr HKEY_CLASSES_ROOT ".elmt" "" "qet_element_file" WriteRegStr HKEY_CLASSES_ROOT "qet_element_file" "" "lment QET" WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "EditFlags" 0x00000000 WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "BrowserFlags" 0x00000008 WriteRegStr HKEY_CLASSES_ROOT "qet_element_file\DefaultIcon" "" "$final_element_ico" WriteRegStr HKEY_CLASSES_ROOT "qet_element_file\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\"" ; shortcuts in the start menu CreateDirectory "$SMPROGRAMS\${SOFT_NAME}" CreateShortCut "$SMPROGRAMS\${SOFT_NAME}\QElectroTech.lnk" "$INSTDIR\Lancer QET.bat" 0 "$INSTDIR\ico\qelectrotech.ico" CreateShortCut "$SMPROGRAMS\${SOFT_NAME}\Uninstall QElectroTech.lnk" "$INSTDIR\Uninstall.exe" ; TODO : add the QuickStart Guide (or any other documentation) when available ; shortcut on the desktop CreateShortCut "$DESKTOP\QElectroTech.lnk" "$INSTDIR\Lancer QET.bat" 0 "$INSTDIR\ico\qelectrotech.ico" SectionEnd ;-------------------------------- ;Installer Functions Function .onInit !insertmacro MUI_LANGDLL_DISPLAY FunctionEnd ;-------------------------------- ;Descriptions ;USE A LANGUAGE STRING IF YOU WANT YOUR DESCRIPTIONS TO BE LANGAUGE SPECIFIC ;Assign descriptions to sections ;!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN ; !insertmacro MUI_DESCRIPTION_TEXT ${CopyFiles} "CopyFiles" ;!insertmacro MUI_FUNCTION_DESCRIPTION_END ;-------------------------------- ;Uninstaller Section Section "Uninstall" ; remove start menu shortcuts RMDir /r "$SMPROGRAMS\${SOFT_NAME}" ; remove shortcut on the desktop Delete "$DESKTOP\QElectroTech.lnk" ; remove the application files Delete "$INSTDIR\*.*" RMDir /r "$INSTDIR" ;remove installation registry keys DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" DeleteRegKey /ifempty HKCU "Software\${SOFT_NAME}" ; remove file associations registry keys DeleteRegKey HKEY_CLASSES_ROOT "Applications\qelectrotech.exe" DeleteRegKey HKEY_CLASSES_ROOT ".qet" DeleteRegKey HKEY_CLASSES_ROOT "qet_diagram_file" DeleteRegKey HKEY_CLASSES_ROOT ".elmt" DeleteRegKey HKEY_CLASSES_ROOT "qet_element_file" IfFileExists "$INSTDIR" 0 NoErrorMsg MessageBox MB_OK "Note: $INSTDIR could not be removed!" IDOK 0 ; skipped if file doesn't exist NoErrorMsg: SectionEnd ;-------------------------------- ;Uninstaller Functions Function un.onInit !insertmacro MUI_UNGETLANGUAGE FunctionEnd qelectrotech-0.22+svn897/packaging/windows/install.ico0000644000175000017500000000706611274756353022705 0ustar laurentlaurenth& ( @|~ƥ˧Ş||cc`IIii}}N>>ͥttoZZ|ee=22;11^]]ǰɯƆ簥˦t843qfb췣л羬Ҥαȭĸ⶘ĝΩ̡ՙ]ɛҦүBA@hŋǎ㷈Ȫ͓£PQ^vҧm˖hhxpṀڳq˂ܳԴct)!!%,1BSk]lmm6a:}}}vvvsssnnnbbbWWWPPPKKK:::444///...---`ErT,-468akN.:><1A!%);=9P" 7Ue KY_HC J[5G3pWB '~{onyR@$#+wv}|sc2(&zmg]/0j^DqXMfSI* MxthbZQO;?Mulid\VLFMMMMMMMMMMMM( @}짰ݔ|~ƆÔzz坝~~wwrRRnn붶֨F77ɠ|hhǫQGG͵4//-**wssjhhCBBʖҊvqպ|uΜĜŷźշۨͻ³đ{iʹӞ涕ΫƊZØͥźȀ=͚͝ɟ̦s_˷qxɎ̖Dzzqgjbv{{Ҟ޽HZdbʓ֬ݶ*/>Icqǎѳlʍ»ěϺ{{U߮ްA|,٥/x<5-(A5UJs BYFJ1DUsssppp\\\MMM999&&&P.PLUBFUR@55BR͏ XRF:+.46*+5Rrt+#-28<CE=+FUxrVs^(,7YXg\(1eedSwwwj=B>䎞67\8Ξ) {A5>Yލ777\;4ͦe/_]`n5>Ӎ\\\;C6b2"&,\45>ԆLhV  &ZU񷢭A !'*L嵠$) C2(%" !$+ᵠ^V<8\,%" #PᵐuAr;8\,%^:|𞣘u=rC;8721^.觡0 C<930>Yڦwuk0.>㧟⻎}BAADIN ᶴX*.**)6AD}IIXXֶuee*))))006O⥣||offZZZJjGGw~~vvvlia<<GNw~~vvphh?CGM~~vvpphc_HVXYdnzzqqmhcdNKKKKKQKTKKKK??aqelectrotech-0.22+svn897/packaging/windows/uninstall.ico0000644000175000017500000000706611274756353023250 0ustar laurentlaurenth& ( @ݴگתѡЧΡؿصқ̜ȒŔɜ„ęԽɵ켌ҰܮܚۚՔՊ~u|pizhcXRHHHD74nnnGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGGF7888FFGGGGGGGGF  +FFGGGGGG%B8FGGGGBEEDFGGGG%% BE@B FGGGG""""BBD42FFGG >?BB8FGG@>>EB 8FGG DEEB+FGG'B*FGG  FGGG99.,%" FGGGGGGGGG%%%%"FGGGGGGGGGGG%""GGG?( @޳߿ۯ֪ӤܪΠΡԞ͚ɔŔɜʑ‘ŋ…ĚԼɵ翗﹇繉ѷݱձ֭ۚՔՊІ~w}ryurkޚb֗aΕjЄH̊V΁EzoysxrhcXRHD75&$xxxnnnjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiiiiiijjjjjjjjjjjjjjjjjjjjjjii 55GLii_jjjjjjjjjjjjjjjjjji  Giijjjjjjjjjjjjjjjj-   5hijjjjjjjjjjjjj-   =ijjjjjjjjjjjj- !"a ijjjjjjjjjjjQ ""gEcggbijjjjjjjjjQQQ "!gggggggBIijjjjjjjjQQQQ( !gggggggf=ijjjjjjjjNNNNNN-#gggeEgc&&ijjjjjjj..........(ggggAf''ijjjjjjj'---------cgggfEE!(hjjjjjjj''''''''''C 3E(hijjjjjj'''''''''' b`cc`EA3'Lijjjjj """"""""""bEdgggc "Gijjjjj DgEgggc!!=ijjjjj dgeEcgggc ijjjjj3fggggggcijjjjj 3eggggec ijjjj! AECcMijjj!Iijjj!Hijjj! &+---#Gijjjj! &-QQQQQOONN."5ijjjjj %-QQQQQOONNN..-(5ijjjjjjjjjjjjjjjj -QONNN..---- 5ijjjjjjjjjjjjjjjjjjj!.N..----((%ijjjjjjjjjjjjjjjjjjjjj.----(('?ijjjjjjjjjjjjjjjjjjjjjjj --((''Ljjjjjjjjjjjjjjjjjjjjjjjjjj!((jjjjj?qelectrotech-0.22+svn897/misc/0000755000175000017500000000000011347002063016026 5ustar laurentlaurentqelectrotech-0.22+svn897/misc/qet_uninstall_file_associations.reg0000644000175000017500000000036411043114266025172 0ustar laurentlaurentWindows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\Applications\qelectrotech.exe\shell\open\command] [-HKEY_CLASSES_ROOT\.qet] [-HKEY_CLASSES_ROOT\qet_diagram_file] [-HKEY_CLASSES_ROOT\.elmt] [-HKEY_CLASSES_ROOT\qet_element_file] qelectrotech-0.22+svn897/misc/definition_element.dtd0000644000175000017500000000340210760017017022366 0ustar laurentlaurent qelectrotech-0.22+svn897/misc/launch_qet.sh0000755000175000017500000000146111216763644020530 0ustar laurentlaurent#!/bin/bash current_dir=$(dirname "$0") cd "$current_dir" # configuration QET_EXE="../qelectrotech" QET_ELEMENTS_DIR="../elements/" QET_CONFIG_DIR="" QET_LANG_DIR="../lang/" # REDEFINE_LANG="es" # checks for the qelectrotech binary executable file if [ ! -x "${QET_EXE}" ]; then echo "Errror : executable file not found. Aborting." exit 1 fi # checks options that will be given to QET OPTIONS="" if [ -d "${QET_ELEMENTS_DIR}" ]; then OPTIONS="${OPTIONS} --common-elements-dir=${QET_ELEMENTS_DIR}" fi if [ -d "${QET_CONFIG_DIR}" ]; then OPTIONS="${OPTIONS} --config-dir=${QET_CONFIG_DIR}" fi if [ -d "${QET_LANG_DIR}" ]; then OPTIONS="${OPTIONS} --lang-dir=${QET_LANG_DIR}" fi if [ "${REDEFINE_LANG}" ]; then export LANG="${REDEFINE_LANG}" fi # launching ${QET_EXE} ${OPTIONS} $* cd - > /dev/null 2>&1 qelectrotech-0.22+svn897/misc/x-qet-project.desktop0000644000175000017500000000076011263475203022135 0ustar laurentlaurent[Desktop Entry] Type=MimeType MimeType=application/x-qet-project Icon=application-x-qet-project DefaultApp=qelectrotech Patterns=*.qet; Comment=QElectroTech project file Comment[fr]=Fichier projet QElectroTech Comment[es]=Archivo proyecto QElectroTech Comment[ru]=Файл проекта QElectroTech Comment[ru_RU]=Файл проекта QElectroTech Comment[pt]=Ficheiro de projecto QElectroTech Comment[pt_PT]=Ficheiro de projecto QElectroTech Comment[cs]=Soubor s projektem pro QElectroTech qelectrotech-0.22+svn897/misc/qelectrotech.conf0000644000175000017500000000075711206304004021362 0ustar laurentlaurent[General] usesystemcolors=true [diagrameditor] defaultauthor= defaultcols=15 defaultcolsize=50.0 defaultconductorhasGround=true defaultconductorhasNeutral=true defaultconductorphases=1 defaultconductortext=_ defaultconductortype=multi defaultdate=null defaultdisplaycols=true defaultdisplayrows=true defaultfilename= defaultfolio=%id/%total defaultrows=6 defaultrowsize=80.0 defaulttitle= integrate-elements=true viewmode=tabbed [elementeditor] [elements-recentfiles] [projects-recentfiles] qelectrotech-0.22+svn897/misc/x-qet-element.desktop0000644000175000017500000000076511263475203022125 0ustar laurentlaurent[Desktop Entry] Type=MimeType MimeType=application/x-qet-element Icon=application-x-qet-element DefaultApp=qelectrotech Patterns=*.elmt; Comment=QElectroTech element file Comment[fr]=Fichier élément QElectroTech Comment[es]=Archivo elemento QElectroTech Comment[ru]=Файл элемента QElectroTech Comment[ru_RU]=Файл элемента QElectroTech Comment[pt]=Ficheiro de elemento QElectroTech Comment[pt_PT]=Ficheiro de elemento QElectroTech Comment[cs]=Soubor s prvkem pro QElectroTech qelectrotech-0.22+svn897/misc/qelectrotech.desktop0000644000175000017500000000245411263475203022117 0ustar laurentlaurent[Desktop Entry] Version=1.0 Encoding=UTF-8 Name=QElectroTech Exec=qelectrotech Icon=qelectrotech Terminal=false Type=Application MimeType=application/x-qet-project;application/x-qet-element; Categories=Office;Qt;VectorGraphics;Science;Electricity;Engineering; Comment=An electric diagrams editor. Comment[fr]=Un éditeur de schémas électriques Comment[fr_FR]=Un éditeur de schémas électriques Comment[es]=Un editor de esquemas eléctricos Comment[ru]=Редактор электрических схем Comment[ru_RU]=Редактор электрических схем Comment[pt]=Um editor de esquemas eléctricos Comment[pt_PT]=Um editor de esquemas eléctricos Comment[cs]=Editor nákresů elektrických obvodů Comment[cs_CZ]=Editor nákresů elektrických obvodů GenericName=Electric diagrams editor GenericName[fr]=Un éditeur de schémas électriques GenericName[fr_FR]=Un éditeur de schémas électriques GenericName[es]=Un editor de esquemas eléctricos GenericName[ru]=Редактор электрических схем GenericName[ru_RU]=Редактор электрических схем GenericName[pt]=Editor de esquemas eléctricos GenericName[pt_PT]=Editor de esquemas eléctricos GenericName[cs]=Editor nákresů elektrických obvodů GenericName[cs_CZ]=Editor nákresů elektrických obvodů qelectrotech-0.22+svn897/misc/qelectrotech.sample.conf0000644000175000017500000000075711206304004022642 0ustar laurentlaurent[General] usesystemcolors=true [diagrameditor] defaultauthor= defaultcols=15 defaultcolsize=50.0 defaultconductorhasGround=true defaultconductorhasNeutral=true defaultconductorphases=1 defaultconductortext=_ defaultconductortype=multi defaultdate=null defaultdisplaycols=true defaultdisplayrows=true defaultfilename= defaultfolio=%id/%total defaultrows=6 defaultrowsize=80.0 defaulttitle= integrate-elements=true viewmode=tabbed [elementeditor] [elements-recentfiles] [projects-recentfiles] qelectrotech-0.22+svn897/misc/x-qet-element.xml0000644000175000017500000000103611263475203021244 0ustar laurentlaurent QElectroTech element file Fichier élément QElectroTech Archivo elemento QElectroTech Файл элемента QElectroTech Ficheiro de elemento QElectroTech Soubor s prvkem pro QElectroTech qelectrotech-0.22+svn897/misc/qelectrotech.xml0000644000175000017500000000157611205042623021242 0ustar laurentlaurent QElectroTech project file Fichier projet QElectroTech Файл проекта QElectroTech Ficheiro de projecto QEletroTech QElectroTech element file Fichier élément QElectroTech Файл элемента QElectroTech Ficheiro de projecto QElectroTech qelectrotech-0.22+svn897/misc/Lancer QET.bat0000644000175000017500000000052311206247216020341 0ustar laurentlaurent@echo off rem Se rend dans le dossier qui convient set current_dir=%~dp0 cd /d %current_dir% rem Met la collection QET en lecture seule attrib +r elements/* /S /D rem lance QElectroTech set command=bin\qelectrotech.exe --common-elements-dir=elements/ --lang-dir=lang/ --config-dir=conf/ -style plastique %* @start %command% qelectrotech-0.22+svn897/misc/register_filetypes.bat0000644000175000017500000000543111201113327022424 0ustar laurentlaurent@echo off rem Enregistre les associations de fichiers de QElectroTech, a savoir les fichiers .qet rem detecte le dossier courant et suppose que celui-ci contient bin\qelectrotech.exe ainsi que windows_icon\diagram_icon\qet-diagram.ico set current_dir=%~dp0 cd /d %current_dir% set expected_qet_exe=%current_dir%Lancer QET.bat set expected_project_ico=%current_dir%ico\application-x-qet-project.ico set expected_element_ico=%current_dir%ico\application-x-qet-element.ico rem verifie la presence du fichier qelectrotech.exe if not exist "%expected_qet_exe%" ( echo Le fichier %expected_qet_exe% n'a pas ete trouve. Abandon. pause exit /b 1 ) rem verifie la presence du fichier qet-diagram.ico if not exist "%expected_project_ico%" ( echo Le fichier %expected_project_ico% n'a pas ete trouve. Abandon. pause exit /b 1 ) rem verifie la presence du fichier qet-element.ico if not exist "%expected_element_ico%" ( echo Le fichier %expected_element_ico% n'a pas ete trouve. Abandon. pause exit /b 1 ) rem echappe les backslashs dans les chemins absolus set final_qet_exe=%expected_qet_exe:\=\\% set final_project_ico=%expected_project_ico:\=\\% set final_element_ico=%expected_element_ico:\=\\% rem genere le fichier .reg pour enregistrer les associations de fichiers set reg_file=qet_install_file_associations.reg ( echo Windows Registry Editor Version 5.00 echo. rem Declaration de l'application echo [HKEY_CLASSES_ROOT\Applications\qelectrotech.exe\shell\open\command] echo @="\"%final_qet_exe%\" \"%%1\"" rem association de fichier *.qet echo [HKEY_CLASSES_ROOT\.qet] echo @="qet_diagram_file" echo [HKEY_CLASSES_ROOT\qet_diagram_file] echo @="Schma QET" echo "EditFlags"=dword:00000000 echo "BrowserFlags"=dword:00000008 echo [HKEY_CLASSES_ROOT\qet_diagram_file\DefaultIcon] echo @="%final_project_ico%,0" echo [HKEY_CLASSES_ROOT\qet_diagram_file\shell\open\command] echo @="\"%final_qet_exe%\" \"%%1\"" rem association de fichier *.elmt echo [HKEY_CLASSES_ROOT\.elmt] echo @="qet_element_file" echo [HKEY_CLASSES_ROOT\qet_element_file] echo @="lment QET" echo "EditFlags"=dword:00000000 echo "BrowserFlags"=dword:00000008 echo [HKEY_CLASSES_ROOT\qet_element_file\DefaultIcon] echo @="%final_element_ico%,0" echo [HKEY_CLASSES_ROOT\qet_element_file\shell\open\command] echo @="\"%final_qet_exe%\" \"%%1\"" ) > %reg_file% rem verifie que le fichier a bien ete ecrit if not exist %reg_file% ( echo Impossible de creer le fichier %reg_file%. Abandon. pause exit /b 1 ) rem Applique le .reg genere regedit.exe /s %reg_file% if errorlevel 1 ( echo La prise en compte du fichier %reg_file% a echoue. pause exit /b 1 ) else ( echo Les associations de fichier ont bien ete crees. pause exit /b 0 ) qelectrotech-0.22+svn897/misc/x-qet-project.xml0000644000175000017500000000103411263475203021257 0ustar laurentlaurent QElectroTech project file Fichier projet QElectroTech Archivo proyecto QElectroTech Файл проекта QElectroTech Ficheiro de projecto QElectroTech Soubor s projektem pro QElectroTech qelectrotech-0.22+svn897/Doxyfile0000644000175000017500000017475411346762203016633 0ustar laurentlaurent# Doxyfile 1.5.8 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = QElectroTech # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 0.22 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = doc # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, # Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, # Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, # Spanish, Swedish, and Ukrainian. OUTPUT_LANGUAGE = French # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ "The $name file" \ is \ provides \ specifies \ contains \ represents \ a \ an \ the # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = /home/xavier/projets/qet/qelectrotech/ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it parses. # With this tag you can assign which parser to use for a given extension. # Doxygen has a built-in mapping, but you can override or extend it using this tag. # The format is ext=language, where ext is a file extension, and language is one of # the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, # Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat # .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C EXTENSION_MAPPING = # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen to replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penality. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will rougly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = NO # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = NO # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = NO # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= NO # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by # doxygen. The layout file controls the global structure of the generated output files # in an output format independent way. The create the layout file that represents # doxygen's defaults, run doxygen with the -l option. You can optionally specify a # file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = sources # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = *.h \ *.cpp # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = moc_* \ .svn \ release \ debug # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = * # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER # are set, an additional index file will be generated that can be used as input for # Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. # For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's # filter section matches. # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to FRAME, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. Other possible values # for this tag are: HIERARCHIES, which will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list; # ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which # disables this behavior completely. For backwards compatibility with previous # releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE # respectively. GENERATE_TREEVIEW = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = QElectroTech.tag # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = NO # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need # these (or just want a differently looking font) you can specify the font name # using DOT_FONTNAME. You need need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = NO # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = NO # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = NO # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = NO # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = NO # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = NO # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 1000 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Options related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO qelectrotech-0.22+svn897/INSTALL0000644000175000017500000000216411263724012016131 0ustar laurentlaurent[en] Requirements : libQt4 (see packages libqt4*) cupsys-bsd for printing Howto compile : $ qmake (qmake-qt4 for Debian-based systems) $ make # umask 0022 # make install [fr] Pré-requis : libQt4 (paquets libqt4*) cupsys-bsd pour l'impression Comment compiler : $ qmake (qmake-qt4 pour les systèmes basés sur Debian) $ make # umask 0022 # make install [ru] Зависимости: libQt4 (пакет libqt4*) cupsys-bsd для печати Как компилировать?: $ qmake (qmake-qt4 для систем основанных на Debian) $ make # umask 0022 # make install [pt] Dependências: libqt4 (ver pacotes libqt4*) cupsys-bsd para impressão Como compilar: $ qmake (qmake-qt4 para sistemas baseados em Debian) $ make # umask 0022 # make install [es] Dependencias: libqt4 (paquetes libqt4*) cupsys-bsd para imprimir Cómo compilar: $ qmake (qmake-qt4 para los sistemas basados en Debian) $ make # umask 0022 # make install [cs] Požadavky : libQt4 (viz balíček libqt4*) cupsys-bsd kvůli tisku Jak program sestavit : $ qmake (qmake-qt4 u systémů založených na Debianu) $ make # umask 0022 # make install qelectrotech-0.22+svn897/examples/0000755000175000017500000000000011347002077016716 5ustar laurentlaurentqelectrotech-0.22+svn897/examples/domestique.qet0000644000175000017500000004460111221415450021607 0ustar laurentlaurent qelectrotech-0.22+svn897/examples/convertisseur.qet0000644000175000017500000035530311170733344022357 0ustar laurentlaurent Imported elements Éléments importés Elementos importados Receivers Récepteurs Receptores Coils Bobines Coil Bobine Lights Lampes Light Lampe Transducers Transformateurs Transformadores Single phase transducer Transformateur monophasé Transformador monofásica Security Sécurité Ground Terre Fuse Fusible Sources Sources Fuentes Multiline Multifilaire Multihilo Single-pole source + neutral Source unipolaire + neutre Fuente unipolo + neutro Semiconductors Semi-conducteurs Semiconductores LED DEL LED Diode Diode Diodo Converters Convertisseurs Convertidores Boxes Blocs Bloques Alternatif monophasé > Continu One-phase alternating > Direct Alterna monofásica > Continua Contacts Contacts Contactos Terminals Bornes Terminal block Borne continuité Output terminal Borne sortie Input terminal Borne entrée Simple Simples Simple contact Contact simple Simple contact (NC) Contact simple (NF) Push-buttons Poussoirs Push-button Bouton poussoir Borniers Head En tête Head En tête title titre qelectrotech-0.22+svn897/examples/double_sens.qet0000644000175000017500000005063111221415450021732 0ustar laurentlaurent qelectrotech-0.22+svn897/elements/0000755000175000017500000000000011347002077016714 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/capteurs/0000755000175000017500000000000011347002076020541 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/capteurs/sondes/0000755000175000017500000000000011347002076022034 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/capteurs/sondes/tores_de_courant/0000755000175000017500000000000011347002076025373 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/capteurs/sondes/tores_de_courant/tore4.elmt0000644000175000017500000000426511336002702027314 0ustar laurentlaurent 4-poles toroidal core Tore 4 pôles Núcleo toroide 4 polos Prstencové jádro se čtyřmi póly Núcleo toroidal de 4 polos Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/sondes/tores_de_courant/tore2.elmt0000644000175000017500000000331111336002702027301 0ustar laurentlaurent 2-poles toroidal core Tore 2 pôles Núcleo toroide 2 polos Prstencové jádro se dvěma póly Núcleo toroidal de 2 polos Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/sondes/tores_de_courant/tore3.elmt0000644000175000017500000000367611336002702027320 0ustar laurentlaurent 3-poles toroidal core Tore 3 pôles Núcleo toroide 3 polos Prstencové jádro se třemi póly Núcleo toroidal de 3 polos Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/sondes/tores_de_courant/tore1.elmt0000644000175000017500000000272111336002702027304 0ustar laurentlaurent 1-pole toroidal core Tore 1 pôle Núcleo toroide 1 polo Prstencové jádro s jedním pólem Núcleo toroidal de 1 polo Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/sondes/tores_de_courant/qet_directory0000644000175000017500000000055111306430644030175 0ustar laurentlaurent Current toroidal core Tores de courant Núcleos toroidales de corriente Núcleos toroidais de corrente Prstencové jádro střídavého proudu qelectrotech-0.22+svn897/elements/capteurs/sondes/qet_directory0000644000175000017500000000046111306430644024636 0ustar laurentlaurent Датчики Sensors Sondes Sondeos Sondas Snímače qelectrotech-0.22+svn897/elements/capteurs/qet_directory0000644000175000017500000000047211306430644023345 0ustar laurentlaurent Датчики Transducers Capteurs Sensores Sensores Snímače qelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/0000755000175000017500000000000011347002076024551 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/voltmetre-v.elmt0000644000175000017500000000263111336002702027714 0ustar laurentlaurent Вольтметр (вертикальный) Vertical voltmeter Voltmètre vertical Voltímetro vertical Svislý voltmetr Voltímetro vertical Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/amperemetre-v.elmt0000644000175000017500000000313511336002702030201 0ustar laurentlaurent Амперметр (вертикальный) Vertical ammeter Ampèremètre vertical Amperímetro vertical Svislý ampérmetr Amperímetro vertical Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/ohmmetre-v.elmt0000644000175000017500000000420411336002702027511 0ustar laurentlaurent Омметр (вертикальный) Vertical ohmmeter Ohmmètre vertical Óhmetro vertical Svislý ohmmetr Ohmímetro vertical Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/ohmmetre-h.elmt0000644000175000017500000000422311336002702027474 0ustar laurentlaurent Омметр (горизонтальный) Horizontal ohmmeter Ohmmètre horizontal Óhmetro horizontal Vodorovný ohmmetr Ohmímetro horizontal Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/wattmetre-h.elmt0000644000175000017500000000362011336002702027670 0ustar laurentlaurent Ватметр (горизонтальный) Horizontal wattmeter Wattmètre horizontal Vatímetro horizontal Vodorovný wattmetr Wattímetro horizontal Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/wattmetre-v.elmt0000644000175000017500000000360111336002702027705 0ustar laurentlaurent Ватметр (вертикальный) Vertical wattmeter Wattmètre vertical Vatímetro vertical Svislý wattmetr Wattímetro vertical Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/qet_directory0000644000175000017500000000063211306430644027353 0ustar laurentlaurent Измеррительные приборы Measuring instruments Appareils de mesure Instrumento de medición Instrumentos de medição Měřící přístroje qelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/voltmetre-h.elmt0000644000175000017500000000265011336002702027677 0ustar laurentlaurent Вольтметр (горизонтальный) Horizontal voltmeter Voltmètre horizontal Voltímetro horizontal Vodorovný voltmetr Voltímetro horizontal Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/capteurs/appareils_de_mesure/amperemetre-h.elmt0000644000175000017500000000315411336002702030164 0ustar laurentlaurent Амперметр (горизонтальный) Horizontal ammeter Ampèremètre horizontal Amperímetro horizontal Vodorovný ampérmetr Amperímetro horizontal Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/0000755000175000017500000000000011347002077021244 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/automatisme/lader/0000755000175000017500000000000011347002077022333 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/automatisme/lader/input/0000755000175000017500000000000011347002077023472 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/automatisme/lader/input/entree_nf.elmt0000644000175000017500000000336611336002702026323 0ustar laurentlaurent Вход (отрицательная логика) Input (negative logic) Entrée (NF) Entrada (lógica negativa) Vstup (záporná logika) Entrada (lógica negativa) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/lader/input/entree.elmt0000644000175000017500000000270311336002702025632 0ustar laurentlaurent Вход Input Entrée Entrada Vstup Entrada Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/lader/input/entree_fp.elmt0000644000175000017500000000313211336002702026314 0ustar laurentlaurent Вход (передний фронт) Input (up front) Entrée (front montant) Entrada (ascendente) Vstup (stoupající) Entrada (ascendente) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/lader/input/qet_directory0000644000175000017500000000045611306430644026277 0ustar laurentlaurent Входы Inputs Entrées Entradas Entradas Vstupy qelectrotech-0.22+svn897/elements/automatisme/lader/input/entree_fn.elmt0000644000175000017500000000313511336002702026315 0ustar laurentlaurent Вход (задний фронт) Input (down front) Entrée (front descendant) Entrada (descendente) Vstup (klesající) Entrada (descendente) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/lader/output/0000755000175000017500000000000011347002077023673 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/automatisme/lader/output/sortie.elmt0000644000175000017500000000254111336002702026056 0ustar laurentlaurent Выход Output Sortie Salida Výstup Saída Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/lader/output/sortie_s.elmt0000644000175000017500000000271711336002702026405 0ustar laurentlaurent Выход (установка) Output (set) Sortie (set) Salida (set) Výstup (nastavit) Saída (set) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/lader/output/sortie_r.elmt0000644000175000017500000000272511336002702026403 0ustar laurentlaurent Выход (сброс) Output (reset) Sortie (reset) Salida (reset) Výstup (nastavit znovu) Saída (reset) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/lader/output/qet_directory0000644000175000017500000000046011306430644026473 0ustar laurentlaurent Выходы Outputs Sorties Salidas Saídas Výstupy qelectrotech-0.22+svn897/elements/automatisme/lader/qet_directory0000644000175000017500000000051711306430644025136 0ustar laurentlaurent Контактно-релейная схема Ladder Ladder Ladder Ladder Žebřík qelectrotech-0.22+svn897/elements/automatisme/qet_directory0000644000175000017500000000051211306430644024042 0ustar laurentlaurent Автоматика Automatism Automatisme Automatismo Automatismos Automatika qelectrotech-0.22+svn897/elements/automatisme/fonction/0000755000175000017500000000000011347002076023062 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/automatisme/fonction/sortie.elmt0000644000175000017500000000210611336002702025243 0ustar laurentlaurent Выход Output Sortie Výstup Saída Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/xnor.elmt0000644000175000017500000000371011336002702024726 0ustar laurentlaurent Инверсное исключающее ИЛИ XNOR NON-OU excusif (XNOR) NO-O exclusiva (XNOR) NE-NEBO výhradní (XNOR) NÃO-OU exclusivo (XNOR) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/nand.elmt0000644000175000017500000000356311336002702024666 0ustar laurentlaurent И-НЕ NAND NON-ET (NAND) NO-Y (NAND) Ne-A (NAND) NÃO-E (NAND) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/ou3entrees.elmt0000644000175000017500000000410111336002702026027 0ustar laurentlaurent ИЛИ, трёхвходовый OR 3 inputs OU 3 entrées O 3 entradas NEBO 3 vstupy OU 3 entradas Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/nor.elmt0000644000175000017500000000357011336002702024542 0ustar laurentlaurent ИЛИ-НЕ NOR NON-OU (NOR) NO-O (NOR) Ne-NEBO (NOR) NÃO-OU (NOR) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/setreset.elmt0000644000175000017500000000400711336002702025576 0ustar laurentlaurent Установка/Сброс SET/RESET SET/RESET SET/RESET NASTAVIT/NASTAVIT ZNOVU SET/RESET Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/xor.elmt0000644000175000017500000000343011336002702024547 0ustar laurentlaurent Исключающее ИЛИ XOR OU exclusif (XOR) O exclusiva (XOR) NEBO výhradní (XOR) OU exclusivo (XOR) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/entree.elmt0000644000175000017500000000214511336005552025231 0ustar laurentlaurent Вход Input Entrée Entrada Vstup Entrada Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/et3entrees.elmt0000644000175000017500000000407011336002702026021 0ustar laurentlaurent И, трёхвходовый AND 3 inputs ET 3 entrées Y 3 entradas A 3 vstupy E 3 entradas Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/report_sortie.elmt0000644000175000017500000000203211336002702026634 0ustar laurentlaurent Output Report Report Sortie Hlášení výstupu Relatório saída Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/ou.elmt0000644000175000017500000000330211336002702024360 0ustar laurentlaurent ИЛИ OR OU O NEBO OU Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/report_entree.elmt0000644000175000017500000000203011336002702026607 0ustar laurentlaurent Input Report Report Entrée Hlášení vstupu Relatório Entrada Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/qet_directory0000644000175000017500000000056411306430644025670 0ustar laurentlaurent Логические устройства Logic gates Fonctions logiques Puertas lógicas Portas lógicas Logické funkce qelectrotech-0.22+svn897/elements/automatisme/fonction/et.elmt0000644000175000017500000000327111336002702024352 0ustar laurentlaurent И AND ET Y A E Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/automatisme/fonction/non.elmt0000644000175000017500000000301411336002702024527 0ustar laurentlaurent НЕ NOT NON NO Ne NÃO Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/convertisseurs/0000755000175000017500000000000011347002077022012 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/convertisseurs/blocs/0000755000175000017500000000000011347002077023114 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/convertisseurs/blocs/dc_dc.elmt0000644000175000017500000000665111336002702025034 0ustar laurentlaurent Пост. ток > Пост. ток Direct > Direct Continu > Continu Continua > Continua Přímý Contínua > Contínua Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/convertisseurs/blocs/ac1_ac1.elmt0000644000175000017500000000535511336002702025170 0ustar laurentlaurent Однофазный перем. ток > Однофазный перем. ток One-phase alternating > One-phase alternating Alternatif monophasé > Alternatif monophasé Alterna monofásica > Alterna monofásica Jednofázový střídavý Alterna monofásica > Alterna monofásica Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/convertisseurs/blocs/dc_ac1.elmt0000644000175000017500000000611311336002702025103 0ustar laurentlaurent Пост. ток > Однофазный перем. ток Direct > One-phase alternating Continu > Alternatif monophasé Continua > Alterna monofásica Přímý Contínua > Alterna monofásica Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/convertisseurs/blocs/qet_directory0000644000175000017500000000044611306430644025720 0ustar laurentlaurent Блоки Boxes Blocs Bloques Blocos Bloky qelectrotech-0.22+svn897/elements/convertisseurs/blocs/ac1_dc.elmt0000644000175000017500000000611211336002702025102 0ustar laurentlaurent Однофазный перем. ток > Пост. ток One-phase alternating > Direct Alternatif monophasé > Continu Alterna monofásica > Continua Jednofázový střídavý Alterna monofásica > Continua Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/convertisseurs/qet_directory0000644000175000017500000000052611306430644024615 0ustar laurentlaurent Преобразователи Converters Convertisseurs Convertidores Conversores Měniče qelectrotech-0.22+svn897/elements/protections/0000755000175000017500000000000011347002077021265 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/protections/disjoncteurs/0000755000175000017500000000000011347002077024001 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/protections/disjoncteurs/disjoncteur4.elmt0000644000175000017500000000570211336002702027276 0ustar laurentlaurent Выключатель Circuit-breaker Disjoncteur Disyuntor Jistič Disjuntor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs/disjoncteur3.elmt0000644000175000017500000000425011336002702027272 0ustar laurentlaurent Выключатель Circuit-breaker Disjoncteur Disyuntor Jistič Disjuntor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs/disjoncteur1.elmt0000644000175000017500000000262011336002702027267 0ustar laurentlaurent Выключатель Circuit-breaker Disjoncteur Disyuntor Jistič Disjuntor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs/disjoncteur5.elmt0000644000175000017500000000671011336002702027277 0ustar laurentlaurent Выключатель Circuit-breaker Disjoncteur Disyuntor Jistič Disjuntor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs/qet_directory0000644000175000017500000000052011306430644026576 0ustar laurentlaurent Выключатели Circuit-breakers Disjoncteurs Disyuntores Jističe Disjuntores qelectrotech-0.22+svn897/elements/protections/disjoncteurs/disjoncteur2.elmt0000644000175000017500000000362411336002702027275 0ustar laurentlaurent Выключатель Circuit-breaker Disjoncteur Disyuntor Jistič Disjuntor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs/disjoncteur6.elmt0000644000175000017500000000733411336002702027303 0ustar laurentlaurent Выключатель Circuit-breaker Disjoncteur Disyuntor Jistič Disjuntor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/sectionneurs/0000755000175000017500000000000011347002077024006 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/protections/sectionneurs/sectionneur1.elmt0000644000175000017500000000243011336002702027300 0ustar laurentlaurent Разъеденитель Disconnecting switch Sectionneur Seccionador Odpojovač Seccionador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/sectionneurs/qet_directory0000644000175000017500000000054111306430644026606 0ustar laurentlaurent Разъеденители Disconnecting switches Sectionneurs Seccionadores Odpojovače Seccionadores qelectrotech-0.22+svn897/elements/protections/sectionneurs/sectionneur4.elmt0000644000175000017500000000506711336002702027314 0ustar laurentlaurent Разъеденитель Disconnecting switch Sectionneur Seccionador Odpojovač Seccionador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/int_sect.elmt0000644000175000017500000000276211336002702023760 0ustar laurentlaurent Выключатель-разъеденитель Switch disconnector Interrupteur sectionneur Interruptor seccionador Odpojovač přepnutí Interruptor seccionador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/interrupteurs_differentiels/0000755000175000017500000000000011347002077027123 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/protections/interrupteurs_differentiels/int_diff1.elmt0000644000175000017500000000410311336002702031640 0ustar laurentlaurent УЗО Differential switch Interrupteur différentiel Interruptor diferencial Rozdílový spínač Interruptor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/interrupteurs_differentiels/int_diff3.elmt0000644000175000017500000000660411336002702031652 0ustar laurentlaurent УЗО Differential switch Interrupteur différentiel Interruptor diferencial Rozdílový spínač Interruptor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/interrupteurs_differentiels/int_diff4.elmt0000644000175000017500000001004411336002702031644 0ustar laurentlaurent УЗО Differential switch Interrupteur différentiel Interruptor diferencial Rozdílový spínač Interruptor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/interrupteurs_differentiels/qet_directory0000644000175000017500000000060111306430644031720 0ustar laurentlaurent УЗО Differential switches Interrupteurs différentiels Interruptores diferenciales Rozdílové spínače Interruptores diferenciais qelectrotech-0.22+svn897/elements/protections/interrupteurs_differentiels/int_diff2.elmt0000644000175000017500000000534311336002702031650 0ustar laurentlaurent УЗО Differential switch Interrupteur différentiel Interruptor diferencial Rozdílový spínač Interruptor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/au.elmt0000644000175000017500000000431411336002702022550 0ustar laurentlaurent Аварийный стоп Emergency stop (NC) Arrêt d'urgence (NF) Parada de emergencia (NC) Nouzové zastavení Paragem de emergência (NC) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs_differentiels/0000755000175000017500000000000011347002077026704 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/protections/disjoncteurs_differentiels/ddr5.elmt0000644000175000017500000001016611336002702030422 0ustar laurentlaurent Дифавтомат Differential circuit-breaker Disjoncteur différentiel Dispositivo diferenciale residual Rozdílový jistič Disjunctor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs_differentiels/ddr2.elmt0000644000175000017500000000510111336002702030410 0ustar laurentlaurent Дифавтомат Differential circuit-breaker Disjoncteur différentiel Dispositivo diferenciale residual Rozdílový jistič Disjunctor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs_differentiels/ddr4.elmt0000644000175000017500000000716011336002702030421 0ustar laurentlaurent Дифавтомат Differential circuit-breaker Disjoncteur différentiel Dispositivo diferenciale residual Rozdílový jistič Disjunctor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs_differentiels/qet_directory0000644000175000017500000000064011306430644031504 0ustar laurentlaurent Дифавтоматы Differential circuit-breakers Disjoncteurs différentiels Dispositivos diferenciales residuales Rozdílové jističe Disjunctores diferenciais qelectrotech-0.22+svn897/elements/protections/disjoncteurs_differentiels/ddr3.elmt0000644000175000017500000000552511336002702030423 0ustar laurentlaurent Дифавтомат Differential circuit-breaker Disjoncteur différentiel Dispositivo diferenciale residual Rozdílový jistič Disjunctor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs_differentiels/ddr1.elmt0000644000175000017500000000407511336002702030420 0ustar laurentlaurent Дифавтомат Differential circuit-breaker Disjoncteur différentiel Dispositivo diferenciale residual Rozdílový jistič Disjunctor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/disjoncteurs_differentiels/ddr6.elmt0000644000175000017500000001061211336002702030417 0ustar laurentlaurent Дифавтомат Differential circuit-breaker Disjoncteur différentiel Dispositivo diferenciale residual Rozdílový jistič Disjunctor diferencial Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/relais_thermiques/0000755000175000017500000000000011347002077025012 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/protections/relais_thermiques/relais_therm1.elmt0000644000175000017500000000171511336002702030431 0ustar laurentlaurent Тепловое реле Thermal relay Relais thermique Relé térmico Tepelné relé Relé térmico Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/relais_thermiques/qet_directory0000644000175000017500000000054611306430644027617 0ustar laurentlaurent Тепловые реле Thermal relays Relais thermiques Relés térmicos Tepelné relé Relés térmicos qelectrotech-0.22+svn897/elements/protections/relais_thermiques/relais_therm4.elmt0000644000175000017500000000732111336002702030433 0ustar laurentlaurent Тепловое реле Thermal relay Relais thermique Relé térmico Tepelné relé Relé térmico Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/qet_directory0000644000175000017500000000052111306430644024063 0ustar laurentlaurent Защитные уст-ва Protections Protections Protecciones Protecções Ochrany qelectrotech-0.22+svn897/elements/protections/porte_fusibles/0000755000175000017500000000000011347002077024312 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/protections/porte_fusibles/sec_fus1.elmt0000644000175000017500000000276111336002702026704 0ustar laurentlaurent Выключатель-предохранитель Disconnecting switch Sectionneur Seccionador Odpojovač Seccionador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/porte_fusibles/sec_fus4.elmt0000644000175000017500000000621711336002702026707 0ustar laurentlaurent Выключатель-предохранитель Disconnecting switch Sectionneur Seccionador Odpojovač Seccionador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/porte_fusibles/qet_directory0000644000175000017500000000057111306430644027115 0ustar laurentlaurent Выключатели-предохранители Fuses Holder Porte-fusibles Portafusibles Držák pojistek Porta fusíveis qelectrotech-0.22+svn897/elements/protections/porte_fusibles/sec_fus5.elmt0000644000175000017500000000744711336002702026716 0ustar laurentlaurent Выключатель-предохранитель Disconnecting switch Sectionneur Seccionador Odpojovač Seccionador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/interrupteurs_sectionneurs/0000755000175000017500000000000011347002077027021 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/protections/interrupteurs_sectionneurs/sectionneur1.elmt0000644000175000017500000000266711336002702032327 0ustar laurentlaurent Выключатель-разъеденитель Disconnecting switch Sectionneur Seccionador Odpojovač Seccionador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/protections/interrupteurs_sectionneurs/qet_directory0000644000175000017500000000064211306430644031623 0ustar laurentlaurent Выключатели-разъеденители Disconnecting switches Interrupteurs sectionneurs Interruptores seccionadores Odpojovače Interruptores seccionadores qelectrotech-0.22+svn897/elements/protections/interrupteurs_sectionneurs/sectionneur4.elmt0000644000175000017500000000573711336002702032333 0ustar laurentlaurent Выключатель-разъеденитель Disconnecting switch Sectionneur Seccionador Odpojovač Seccionador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/haute_tension/0000755000175000017500000000000011347002076021560 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/haute_tension/signal_capacitif.elmt0000644000175000017500000000302711336002702025717 0ustar laurentlaurent Indicateur présence tension capacitif Capacitive voltage attendance indicator Kapacitní ukazatel přítomnosti napětí Indicador de presença de tensão capacitiva Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/haute_tension/qet_directory0000644000175000017500000000054511306430644024365 0ustar laurentlaurent Высокое напряжение High voltage Haute tension Alta tensión Alta tensão Vysoké napětí qelectrotech-0.22+svn897/elements/haute_tension/interrupteur_sectionneur_de_terre.elmt0000644000175000017500000000305311336002702031475 0ustar laurentlaurent Interrupteur-sectionneur de terre Ground switch disconnector Rozpojovač přepínání země Interruptor-seccionador de terra Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/0000755000175000017500000000000011347002076021074 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/securite/0000755000175000017500000000000011347002076022717 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/securite/homme.elmt0000644000175000017500000000361111336002702024702 0ustar laurentlaurent Человек Human Humain Ser humano Člověk Ser humano Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/securite/terre.elmt0000644000175000017500000000250411336002702024716 0ustar laurentlaurent Земля Ground Terre Tierra Země Terra Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/securite/cpi.elmt0000644000175000017500000000316111336002702024350 0ustar laurentlaurent Контроль изоляции PIC CPI Aparato de vigilencia de aislamiento Kontrola izolace Dispositivo de guarda de isolamento Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/securite/fusible.elmt0000644000175000017500000000320711336002702025227 0ustar laurentlaurent Предохранитель Fuse Fusible Fusible Pojistka Fusível Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/securite/eclateur.elmt0000644000175000017500000000256011336002702025403 0ustar laurentlaurent Разрядник Spark-gap Éclateur Descargador de chispa Jiskřiště Descarregador de faísca Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/securite/qet_directory0000644000175000017500000000051111306430644025515 0ustar laurentlaurent Безопасность Security Sécurité Seguridad Bezpečnost Segurança qelectrotech-0.22+svn897/elements/recepteurs/securite/masse.elmt0000644000175000017500000000360611336002702024711 0ustar laurentlaurent Шасси Chassis Masse Masa Kostra Massa Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/misc/0000755000175000017500000000000011347002076022027 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/misc/inverseur_mono.elmt0000644000175000017500000000237211336002702025762 0ustar laurentlaurent Single line phases direction inverter Inverseur de sens des phases unifilaire Inversor de fase monohilo Přepínač směru fáze jednoduchého spojení Inversor de sentido de fase monofilar Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/misc/qet_directory0000644000175000017500000000045411306430644024633 0ustar laurentlaurent Разное Misc Divers Diverso Různé Diversos qelectrotech-0.22+svn897/elements/recepteurs/misc/pc.elmt0000644000175000017500000000247411336002702023315 0ustar laurentlaurent Розетка Outlet Prise Enchufe Zásuvka Tomada Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/lampes/0000755000175000017500000000000011347002076022355 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/lampes/lampe2.elmt0000644000175000017500000000312311336002702024411 0ustar laurentlaurent Лампа Light Lampe Lámpara Světlo Lâmpada Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/lampes/lampe1.elmt0000644000175000017500000000254611336002702024420 0ustar laurentlaurent Лампа Light Lampe Lámpara Světlo Lâmpada Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/lampes/lampe_clignotante.elmt0000644000175000017500000000356211336002702026725 0ustar laurentlaurent Проблесковый маяк Flashing light Lampe clignotante Luz intermitente Svítící světlo Luz intermitente Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/lampes/qet_directory0000644000175000017500000000045711306430644025164 0ustar laurentlaurent Лампы Lights Lampes Lámparas Světla Lâmpadas qelectrotech-0.22+svn897/elements/recepteurs/rlc/0000755000175000017500000000000011347002076021654 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/rlc/monofilaires/0000755000175000017500000000000011347002076024343 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/rlc/monofilaires/capacite.elmt0000644000175000017500000000226211336002702026773 0ustar laurentlaurent Конденсатор Capacitor Capacité Condensador Kondenzátor Condensador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/rlc/monofilaires/qet_directory0000644000175000017500000000052611306430644027147 0ustar laurentlaurent Однолинейные Single line Monofilaires Monohilos Jednoduché vedení Monofilares qelectrotech-0.22+svn897/elements/recepteurs/rlc/monofilaires/resistance.elmt0000644000175000017500000000305211336002702027360 0ustar laurentlaurent Резистор Resistor Résistance Resistencia Odporník Resistência Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/rlc/monofilaires/inductance.elmt0000644000175000017500000000272311336002702027341 0ustar laurentlaurent Индуктивность Inductor Inductance Inductor Indukční cívka Inductância Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/rlc/normaux/0000755000175000017500000000000011347002076023345 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/rlc/normaux/capacite.elmt0000644000175000017500000000263611336002702026002 0ustar laurentlaurent Конденсатор Capacitor Capacité Condensador Kondenzátor Condensador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/rlc/normaux/qet_directory0000644000175000017500000000047211306430644026151 0ustar laurentlaurent Нормальные Normal Normaux Normales Obyčejné Normais qelectrotech-0.22+svn897/elements/recepteurs/rlc/normaux/resistance.elmt0000644000175000017500000000342711336002702026370 0ustar laurentlaurent Резистор Resistor Résistance Resistencia Odporník Resistência Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/rlc/normaux/inductance.elmt0000644000175000017500000000330011336002702026333 0ustar laurentlaurent Индуктивность Inductor Inductance Inductor Indukční cívka Inductância Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/rlc/parasites/0000755000175000017500000000000011347002076023647 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/rlc/parasites/capacite.elmt0000644000175000017500000000262611336002702026303 0ustar laurentlaurent Конденсатор Capacitor Capacité Condensador Kondenzátor Condensador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/rlc/parasites/qet_directory0000644000175000017500000000050311306430644026446 0ustar laurentlaurent Паразитные Disturbance Parasites Parásites Poruchy Parasitas qelectrotech-0.22+svn897/elements/recepteurs/rlc/parasites/resistance.elmt0000644000175000017500000000341311336002702026665 0ustar laurentlaurent Резистор Resistor Résistance Resistencia Odporník Resistência Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/rlc/parasites/inductance.elmt0000644000175000017500000000326411336002702026646 0ustar laurentlaurent Индуктивность Inductor Inductance Inductor Indukční cívka Inductância Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/rlc/qet_directory0000644000175000017500000000042211306430644024453 0ustar laurentlaurent RLC RLC RLC RLC RLC RLC qelectrotech-0.22+svn897/elements/recepteurs/sonores/0000755000175000017500000000000011347002076022564 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/sonores/avertisseur.elmt0000644000175000017500000000456411336002702026026 0ustar laurentlaurent Горн Horn Avertisseur Bocina Houkačka Buzina Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/sonores/sonnerie.elmt0000644000175000017500000000342611336002702025270 0ustar laurentlaurent Звонок Bell Sonnerie Timbre Zvonek Campaínha Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/sonores/qet_directory0000644000175000017500000000051511306430644025366 0ustar laurentlaurent Источники звука Sounding Sonores Sonido Zvuky Sinalizadores sonoros qelectrotech-0.22+svn897/elements/recepteurs/sonores/sirene.elmt0000644000175000017500000000374711336002702024741 0ustar laurentlaurent Сирена Siren Sirène Sirena Siréna Sirene Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/sonores/buzzer.elmt0000644000175000017500000000343011336002702024762 0ustar laurentlaurent Зуммер Buzzer Buzzer Zumbador Bzučák Bezouro Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/qet_directory0000644000175000017500000000050611306430644023676 0ustar laurentlaurent Приёмники Receivers Récepteurs Receptores Přijímače Receptores qelectrotech-0.22+svn897/elements/recepteurs/machines/0000755000175000017500000000000011347002076022663 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/machines/moteur_dc.elmt0000644000175000017500000000474711336002702025535 0ustar laurentlaurent Эл. мотор постоянного тока DC motor Moteur à courant continu Motor de corriente continuo Motor na stejnosměrný proud Motor de corrente contínua Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/machines/moteur.elmt0000644000175000017500000000224611336002702025057 0ustar laurentlaurent Эл. мотор Engine Moteur Motor Motor Motor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/machines/moteur_tri.elmt0000644000175000017500000000310611336002702025731 0ustar laurentlaurent Трёхфазный эл. мотор Three-phase engine Moteur triphasé Motor trifásico Trojfázový motor Motor trifásico Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/machines/gene_tri.elmt0000644000175000017500000000313111336002702025332 0ustar laurentlaurent Трёхфазный генератор Three-phase generator Génératrice triphasée Generador trifasico Třífázový generátor Gerador trifásico Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/machines/moteur_mono.elmt0000644000175000017500000000253111336002702026104 0ustar laurentlaurent Однофазный эл. мотор One-phase engine Moteur monophasé Motor monofásico Jednofázový motor Motor monofásico Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/machines/generatrice.elmt0000644000175000017500000000227511336002702026036 0ustar laurentlaurent Генератор Generator Génératrice Generador Generátor Gerador Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/machines/qet_directory0000644000175000017500000000047211306430644025467 0ustar laurentlaurent Эл. машины Machines Machines Máquinas Stroje Máquinas qelectrotech-0.22+svn897/elements/recepteurs/machines/moteur_tri_de.elmt0000644000175000017500000000451311336002702026404 0ustar laurentlaurent Шестифазный эл. мотор Six-phase engine Moteur triphasé (double enroulement) Motor de seis fases Šestifázový motor Motor de seis fases (duplo enrolamento) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/machines/generatrice_dc.elmt0000644000175000017500000000477611336002702026514 0ustar laurentlaurent Генератор постоянного тока DC generator Générateur à courant continu Generador de corriente continuo Generátor stejnosměrného proudu Gerador de corrente contínua Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/transformateurs/0000755000175000017500000000000011347002076024333 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/transformateurs/transfo_1.elmt0000644000175000017500000000307411336002702027110 0ustar laurentlaurent Однолинейный трансформатор Single line transducer Transformateur unifilaire Transformador unifilar Jednodrátový převodník Transformador unifilar Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/transformateurs/transfo_mono.elmt0000644000175000017500000000405111336002702027714 0ustar laurentlaurent Однофазный трансформатор Single phase transducer Transformateur monophasé Transformador monofásica Jednofázový převodník energie Transformador monofásico Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/transformateurs/qet_directory0000644000175000017500000000053411306430644027136 0ustar laurentlaurent Трансформаторы Transducers Transformateurs Transformadores Měniče Transformadores qelectrotech-0.22+svn897/elements/recepteurs/transformateurs/transfo_tri.elmt0000644000175000017500000000653111336002702027547 0ustar laurentlaurent Трёхфазный трансформатор Three-phase transducer Transformateur triphasé Transformador trifásico Třífázový převodník energie Transformador trifásico Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/domestiques/0000755000175000017500000000000011347002076023436 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/domestiques/lave_vaiselle.elmt0000644000175000017500000000272211336002702027131 0ustar laurentlaurent Посудомоечная машина Dishwasher Lave-vaisselle Lavavajillas Myčka na nádobí Máquina de lavar louça Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/domestiques/four.elmt0000644000175000017500000000306611341132375025301 0ustar laurentlaurent Духовой шкаф Electric oven Four électrique Horno eléctrico Elektrická kamna Forno eléctrico Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/domestiques/plaque_cuisson.elmt0000644000175000017500000000275411341132375027363 0ustar laurentlaurent Эл. плита Solid plate Plaque de cuisson Placa de cocina Deska na vaření Placa de fogão Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/domestiques/lave_linge.elmt0000644000175000017500000000314311336002702026421 0ustar laurentlaurent Стиральная машина Washer Lave-linge Lavarropas Pračka Máquina de lavar roupa Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/domestiques/convecteur.elmt0000644000175000017500000000312011336002702026464 0ustar laurentlaurent Эл. конвектор Electric convector Radiateur électrique Radiador eléctrico Elektrický přímotop Irradiador eléctrico Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/domestiques/qet_directory0000644000175000017500000000053311306430644026240 0ustar laurentlaurent Бытовая техника Domestic Domestiques Electrodoméstico Domácí Electrodomésticos qelectrotech-0.22+svn897/elements/recepteurs/bobines/0000755000175000017500000000000011347002076022515 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/recepteurs/bobines/bobine1.elmt0000644000175000017500000000310611336002702024711 0ustar laurentlaurent Обмотка Coil Bobine Bobina Cívka Bobine Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/bobines/bobine2.elmt0000644000175000017500000000346311336002702024720 0ustar laurentlaurent Обмотка Coil Bobine Bobina Cívka Bobine Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/recepteurs/bobines/qet_directory0000644000175000017500000000045611306430644025323 0ustar laurentlaurent Обмотки Coils Bobines Bobinas Cívky Bobines qelectrotech-0.22+svn897/elements/sources/0000755000175000017500000000000011347002076020376 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/sources/multifilaire/0000755000175000017500000000000011347002076023064 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/sources/multifilaire/src_3p.elmt0000644000175000017500000000247211336002702025137 0ustar laurentlaurent Трёхполюсный Three-pole source Source tripolaire Fuente tripolar Třípólový zdroj Fonte tripolar Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/sources/multifilaire/src_p.elmt0000644000175000017500000000146211336002702025052 0ustar laurentlaurent Фаза Phase source Source phase Fuente fase Fázový zdroj Fonte de fase Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/sources/multifilaire/src_3pn.elmt0000644000175000017500000000315111336002702025310 0ustar laurentlaurent Трёхполюсный + нейтраль Three-pole source + neutral Source tripolaire + neutre Fuente tripolar + neutro Třípólový zdroj + nulový Fonte tripolar + neutro Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/sources/multifilaire/src_n.elmt0000644000175000017500000000150011336002702025041 0ustar laurentlaurent Нейтраль Neutral source Source neutre Fuente neutro Nulový zdroj Fonte de neutro Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/sources/multifilaire/qet_directory0000644000175000017500000000052211306430644025664 0ustar laurentlaurent Многолинейные Multiline Multifilaire Multihilo Několik vedení Multifilar qelectrotech-0.22+svn897/elements/sources/multifilaire/src_1pn.elmt0000644000175000017500000000220511336002702025305 0ustar laurentlaurent Однополюсный + нейтраль Single-pole source + neutral Source unipolaire + neutre Fuente unipolo + neutro Jednopólový zdroj + nulový Fonte unipolar + neutro Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/sources/tevenin_norton/0000755000175000017500000000000011347002076023445 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/sources/tevenin_norton/courant_n.elmt0000644000175000017500000000276711336002702026326 0ustar laurentlaurent Источник тока (новый) Current source (new) Source de courant (nouveau) Fuente de corriente (nuevo) Zdroj proudu (nový) Fonte de corrente (novo) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/sources/tevenin_norton/courant_o.elmt0000644000175000017500000000343011336002702026313 0ustar laurentlaurent Источник тока (старый) Current source (old) Source de courant (vieux) Fuente de corriente (antiguo) Zdroj proudu (starý) Fonte de corrente (antigo) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/sources/tevenin_norton/tention_n.elmt0000644000175000017500000000221011336002702026312 0ustar laurentlaurent Источник напряжения (новый) Voltage source (new) Source de tension (nouveau) Fuente de tensión (nuevo) Zdroj napětí (nový) Fonte de tensão (novo) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/sources/tevenin_norton/tention_o.elmt0000644000175000017500000000323311336002702026321 0ustar laurentlaurent Источник напряжения (старый) Voltage source (old) Source de tension (vieux) Fuente de tensión (antiguo) Zdroj napětí (starý) Fonte de tensão (antigo) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/sources/tevenin_norton/qet_directory0000644000175000017500000000061511306430644026250 0ustar laurentlaurent Идеальные генераторы Tevenin / Norton Tevenin / Norton Tevenin / Norton Ideální generátory (Tevenin/Norton) Tevenin / Norton qelectrotech-0.22+svn897/elements/sources/qet_directory0000644000175000017500000000046311306430644023202 0ustar laurentlaurent Источники Sources Sources Fuentes Zdroje Fontes qelectrotech-0.22+svn897/elements/contacts/0000755000175000017500000000000011347002077020532 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/interupteur/0000755000175000017500000000000011347002077023120 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/interupteur/interupteur.elmt0000644000175000017500000000233311336002702026363 0ustar laurentlaurent Переключатель Switch Interrupteur Interruptor Spínač Interruptor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/interupteur/qet_directory0000644000175000017500000000052311306430644025720 0ustar laurentlaurent переключателей Switchs Interrupteurs Interruptores Interruptores Spínače qelectrotech-0.22+svn897/elements/contacts/interupteur/inter_2n.elmt0000644000175000017500000000444611336002702025524 0ustar laurentlaurent Переключатель 3-х позиционный со средним положением Switch 3 positions including neutral Interrupteur 3 positions dont neutre Interruptor 3 posiciones incluso neutro Třípolohový spínač včetně nulové Interruptor 3 posições com neutro Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/interupteur/inter_2.elmt0000644000175000017500000000403111336002702025334 0ustar laurentlaurent Переключатель 2-х позиционный Switch 2 positions Interrupteur 2 positions Interruptor 2 posiciones Dvoupolohový spínač Interruptor 2 posições Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/relais_thermique/0000755000175000017500000000000011347002077024074 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/relais_thermique/contact_relais_nf.elmt0000644000175000017500000000365411336002702030435 0ustar laurentlaurent Контакт теплового реле (НЗ) Contact relais thermique (NC) Contact relais thermique (NF) Contacto relé térmico (NC) Tepelné spojovací relé (NC) Contacto relé térmico (NC) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/relais_thermique/qet_directory0000644000175000017500000000055011306430644026674 0ustar laurentlaurent теплового реле Thermal relays Relais thermiques Relés térmicos Relés térmicos Tepelné relé qelectrotech-0.22+svn897/elements/contacts/relais_thermique/contact_relais.elmt0000644000175000017500000000336411336002702027750 0ustar laurentlaurent Контакт теплового реле (НР) Contact relais thermique (NO) Contact relais thermique (NO) Contacto relé térmico (NA) Tepelné spojovací relé (NO) Contacto relé térmico (NO) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/temporises/0000755000175000017500000000000011347002077022724 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/temporises/travail/0000755000175000017500000000000011347002077024366 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/temporises/travail/con_simple_tmp_t.elmt0000644000175000017500000000352511336002702030602 0ustar laurentlaurent Контакт с задержкой при срабатывании (НР) Simple contact (switch-on delay timer) Contact simple (tempo travail) Contactor simple (tiempo retardado de encendido) Jednoduché spojení (časový spínač pro zpoždění zapnutí) Contacto simples (tempo retardado de ligado) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/temporises/travail/con_simple_nf_tmp_t.elmt0000644000175000017500000000405011336002702031257 0ustar laurentlaurent Контакт с задержкой при срабатывании (НЗ) Simple contact (NC / switch-on delay timer) Contact simple (NF / tempo travail) Contactor simple (NC / tiempo retardado de encendido) Jednoduché spojení (NC / časový spínač pro zpoždění zapnutí) Contacto simples (NC / tempo retardado de ligado) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/temporises/travail/qet_directory0000644000175000017500000000063411306430644027171 0ustar laurentlaurent при срабатывании Switch-on delay Travail Comutadores de tiempo retardado de encendido Interruptores de tempo ligado retardado Opožděné zapnutí qelectrotech-0.22+svn897/elements/contacts/temporises/repos/0000755000175000017500000000000011347002077024054 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/temporises/repos/con_simple_nf_tmp_r.elmt0000644000175000017500000000403211336002702030743 0ustar laurentlaurent Контакт с задержкой при возврате (НЗ) Simple contact (NC / switch-off delay timer) Contact simple (NF / tempo repos) Contactor simple (NC / tiempo retardado de apago) Jednoduché spojení (NC / časový spínač pro zpoždění vypnutí) Contacto simples (NC / tempo de desligado retardado) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/temporises/repos/con_simple_tmp_r.elmt0000644000175000017500000000351211336002702030262 0ustar laurentlaurent Контакт с задержкой при возврате (НР) Simple contact (switch-off delay timer) Contact simple (tempo repos) Contactor simple (tiempo retardado de encendido) Jednoduché spojení (časový spínač pro zpoždění vypnutí) Contacto simples (tempo de ligado retardado) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/temporises/repos/qet_directory0000644000175000017500000000062211306430644026654 0ustar laurentlaurent при возврате Switch-off delay Repos Comutadores de tiempo retardado de apago Interruptores de tempo desligado retardado Opožděné vypnutí qelectrotech-0.22+svn897/elements/contacts/temporises/qet_directory0000644000175000017500000000054211306430644025525 0ustar laurentlaurent с задержкой Switch Delay Temporisés Comutadores de retardo Temporizados Opožděné sepnutí qelectrotech-0.22+svn897/elements/contacts/bornes/0000755000175000017500000000000011347002077022022 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/bornes/borne_continuite.elmt0000644000175000017500000000235511336002702026251 0ustar laurentlaurent Клеммное соединение Terminal block Borne continuité Punto de combinación Spojovací svorka Terminal de combinação Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/bornes/Bornes_es.elmt0000644000175000017500000000245011336002702024616 0ustar laurentlaurent Соединение (стар.) Dual terminal Double borne Terminal doble Dvojitá svorka Terminal duplo Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/bornes/Bornes_e.elmt0000644000175000017500000000171211336002702024433 0ustar laurentlaurent Штырь (стар.) Input terminal Borne entrée Terminal de entrada Vstupní svorka Terminal de entrada Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/bornes/connecteur_mf.elmt0000644000175000017500000000336311336002702025532 0ustar laurentlaurent Соединение (нов.) Connecteur Connector Spojka Conector Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/bornes/borne_finale.elmt0000644000175000017500000000201211336002702025314 0ustar laurentlaurent Клеммник Terminal block Borne finale Punto de unión Koncová svorka Terminal de fim Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/bornes/qet_directory0000644000175000017500000000050011306430644024615 0ustar laurentlaurent соеденителей Terminals Bornes Terminales Terminais Svorky qelectrotech-0.22+svn897/elements/contacts/bornes/connecteur_f.elmt0000644000175000017500000000233311336002702025351 0ustar laurentlaurent Гнездо (нов.) Connecteur femelle Female connector Connector hembra Ženská spojka Conector fêmea Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/bornes/connecteur_m.elmt0000644000175000017500000000230111336002702025353 0ustar laurentlaurent Штырь (нов.) Connecteur mâle Male connector Connector macho Mužská spojka Conector macho Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/bornes/Bornes_s.elmt0000644000175000017500000000171211336002702024451 0ustar laurentlaurent Гнездо (стар.) Output terminal Borne sortie Terminal de salida Výstupní svorka Terminal de saída Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/fin_de_course/0000755000175000017500000000000011347002077023336 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/fin_de_course/findecourse_no.elmt0000644000175000017500000000244411336002702027220 0ustar laurentlaurent Концевой контакт (НР) Limit Fin de course Final de carrera Konec vodivého spojení Fim de curso (NO) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/fin_de_course/qet_directory0000644000175000017500000000053411306430644026140 0ustar laurentlaurent концевые Limits Fins de courses Finales de carrera Fins de curso Konce vodivých spojení qelectrotech-0.22+svn897/elements/contacts/fin_de_course/findecourse_nf.elmt0000644000175000017500000000331111336002702027201 0ustar laurentlaurent Концевой контакт (НЗ) Limit (NC) Fin de course (NF) Final de carrera (NC) Konec vodivého spojení (NC) Fim de curso (NC) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/simples/0000755000175000017500000000000011347002077022206 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/simples/con_simple.elmt0000644000175000017500000000217211336002702025214 0ustar laurentlaurent Проктой контакт (НР) Simple contact Contact simple Contactor simple Jednoduché spojení Contacto simples (NO) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/simples/con_simple_nf.elmt0000644000175000017500000000250711336002702025701 0ustar laurentlaurent Проктой контакт (НЗ) Simple contact (NC) Contact simple (NF) Contactor simple (NC) Jednoduché spojení (NC) Contacto simples (NC) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/simples/qet_directory0000644000175000017500000000046411306430644025012 0ustar laurentlaurent простые Simple Simples Simples Simples Jednoduché qelectrotech-0.22+svn897/elements/contacts/poussoirs/0000755000175000017500000000000011347002077022600 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/poussoirs/poussoir_nf.elmt0000644000175000017500000000401711336002702026024 0ustar laurentlaurent Кнопка (НЗ) Push-button (NC) Bouton poussoir (NF) Pulsador (NC) Tlačítko (NC) Botão de pressão (NC) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/poussoirs/qet_directory0000644000175000017500000000051011306430644025374 0ustar laurentlaurent кнопок Push-buttons Poussoirs Pulsadores Botões de pressão Tlačítka qelectrotech-0.22+svn897/elements/contacts/poussoirs/poussoir.elmt0000644000175000017500000000350311336002702025340 0ustar laurentlaurent Кнопка (НР) Push-button Bouton poussoir Pulsador Tlačítko Botão de pressão (NA) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/qet_directory0000644000175000017500000000047311306430644023336 0ustar laurentlaurent Контакты Contacts Contacts Terminales Contactos Kontakty qelectrotech-0.22+svn897/elements/contacts/puissance/0000755000175000017500000000000011347002077022524 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/puissance/normalement_ouverts/0000755000175000017500000000000011347002077026634 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/puissance/normalement_ouverts/com_puiss4.elmt0000644000175000017500000000470711336002702031605 0ustar laurentlaurent Контакт контактора (НР) Contact power contactor Contact puissance contacteur Interruptor de potencia contactor Stykač síly vodivého spojení Interruptor de potência contactor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/puissance/normalement_ouverts/com_puiss1.elmt0000644000175000017500000000250111336002702031570 0ustar laurentlaurent Контакт контактора (НР) Contact power contactor Contact puissance contacteur Interruptor de potencia contactor Stykač síly vodivého spojení Interruptor de potência contactor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/puissance/normalement_ouverts/com_puiss5.elmt0000644000175000017500000000554411336002702031606 0ustar laurentlaurent Контакт контактора (НР) Contact power contactor Contact puissance contacteur Interruptor de potencia contactor Stykač síly vodivého spojení Interruptor de potência contactor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/puissance/normalement_ouverts/com_puiss6.elmt0000644000175000017500000000601411336002702031600 0ustar laurentlaurent Контакт контактора (НР) Contact power contactor Contact puissance contacteur Interruptor de potencia contactor Stykač síly vodivého spojení Interruptor de potência contactor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/puissance/normalement_ouverts/qet_directory0000644000175000017500000000060311306430644031433 0ustar laurentlaurent Нормально разомкнутые Normally open Normalement ouverts Normalemente abiertos Normalmente abertos Obvykle otevřené qelectrotech-0.22+svn897/elements/contacts/puissance/qet_directory0000644000175000017500000000047011306430644025325 0ustar laurentlaurent контактора Power Puissance Potencia Potência Síla qelectrotech-0.22+svn897/elements/contacts/puissance/normalement_fermes/0000755000175000017500000000000011347002077026406 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/puissance/normalement_fermes/com_puiss_nf6.elmt0000644000175000017500000000707711336002702032047 0ustar laurentlaurent Контакт контактора (НЗ) Contact power contactor (NC) Contact puissance contacteur (NF) Interruptor de potencia contactor (NC) Stykač síly vodivého spojení (NC) Interruptor de potência contactor (NC) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/puissance/normalement_fermes/com_puiss_nf4.elmt0000644000175000017500000000556311336002702032043 0ustar laurentlaurent Контакт контактора (НЗ) Contact power contactor (NC) Contact puissance contacteur (NF) Interruptor de potencia contactor (NC) Stykač síly vodivého spojení (NC) Interruptor de potência contactor (NC) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/puissance/normalement_fermes/com_puiss_nf5.elmt0000644000175000017500000000663011336002702032040 0ustar laurentlaurent Контакт контактора (НЗ) Contact power contactor (NC) Contact puissance contacteur (NF) Interruptor de potencia contactor (NC) Stykač síly vodivého spojení (NC) Interruptor de potência contactor (NC) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/puissance/normalement_fermes/com_puiss_nf1.elmt0000644000175000017500000000273611336002702032037 0ustar laurentlaurent Контакт контактора (НЗ) Contact power contactor (NC) Contact puissance contacteur (NF) Interruptor de potencia contactor (NC) Stykač síly vodivého spojení (NC) Interruptor de potência contactor (NC) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/puissance/normalement_fermes/qet_directory0000644000175000017500000000060011306430644031202 0ustar laurentlaurent Нормально замкнутые Normally closed Normalement fermés Normalmente cerrados Normalmente fechados Obvykle zavřené qelectrotech-0.22+svn897/elements/contacts/etanches/0000755000175000017500000000000011347002077022324 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/contacts/etanches/con_simple_etanche.elmt0000644000175000017500000000516311336002702027024 0ustar laurentlaurent Герметичный контакт (НР) Simple contact (tight) Contact simple (étanche) Contactor simple (resistente al agua) Jednoduché vodivé spojení (nepropustné) Contacto simples NO (NO / resistente à água) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/contacts/etanches/qet_directory0000644000175000017500000000052611306430644025127 0ustar laurentlaurent герметичные Tight Étanches Resistentes al agua Resistentes à água Vodotěsné qelectrotech-0.22+svn897/elements/contacts/etanches/con_simple_nf_etanche.elmt0000644000175000017500000000550011336002702027502 0ustar laurentlaurent Герметичный контакт (НЗ) Simple contact (NC / tight) Contact simple (NF / étanche) Contactor simple (NC / resistente al agua) Jednoduché vodivé spojení (NC / nepropustné) Contacto simples NC (NC / resistente à água) Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/semiconducteurs/0000755000175000017500000000000011347002077022130 5ustar laurentlaurentqelectrotech-0.22+svn897/elements/semiconducteurs/thyristor.elmt0000644000175000017500000000254411336002702025060 0ustar laurentlaurent Тиристор Thyristor Thyristor Tiristor Thyristor Tiristor Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/semiconducteurs/del.elmt0000644000175000017500000000334111336002702023551 0ustar laurentlaurent Светодиод LED DEL LED Svítící dioda (Světelná emisní dioda - LED) LED Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/semiconducteurs/diode.elmt0000644000175000017500000000214311336002702024070 0ustar laurentlaurent Диод Diode Diode Diodo Dioda Díodo Author: The QElectroTech team License: see http://qelectrotech.org/wiki/doc/elements_license qelectrotech-0.22+svn897/elements/semiconducteurs/qet_directory0000644000175000017500000000054411306430644024733 0ustar laurentlaurent Полупроводники Semiconductors Semi-conducteurs Semiconductores Polovodiče Semi-conductores qelectrotech-0.22+svn897/README0000644000175000017500000000246311263724012015762 0ustar laurentlaurent[en] QElectroTech is a Qt4 application to design electric diagrams. It uses XML files for elements and diagrams, and includes both a diagram editor and an element editor. [fr] QElectroTech est une application Qt4 pour réaliser des schémas électriques. QET utilise le format XML pour ses éléments et ses schémas et inclut un éditeur de schémas ainsi qu'un éditeur d'élément. [ru] QElectroTech - приложение написанное на Qt4 и предназначенное для разработки электрических схем. Оно использует XML-файлы для элементов и схем, и включает, как редактор схем, так и редактор элементов. [pt] QElectroTech é uma aplicação baseada em Qt4 para desenhar esquemas eléctricos. QET utiliza ficheiros XML para os elementos e para os esquemas e inclui um editor de esquemas e um editor de elementos. [es] QElectroTech es una aplicación Qt4 para diseñar esquemas eléctricos. Utiliza archivos XML para los elementos y esquemas, e incluye un editor de esquemas y un editor de elemento. [cs] QElectroTech je aplikací Qt4 určenou pro návrh nákresů elektrických obvodů. Pro prvky a nákresy používá soubory XML, a zahrnuje v sobě jak editor nákresů, tak editor prvků. qelectrotech-0.22+svn897/lang/0000755000175000017500000000000011347002057016017 5ustar laurentlaurentqelectrotech-0.22+svn897/lang/qt_fr.ts0000644000175000017500000113165511343532004017512 0ustar laurentlaurent AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Le dispositif audio <b>%1</b> ne fonctionne pas.<br/>Utilisation de <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> <html>Utilisation de <b>%1</b><br/>qui vient de devenir disponible et a une plus grande priorité.</html> Revert back to device '%1' Utilisation de '%1' BackendSelection A list of Phonon Backends found on your system. The order here determines the order Phonon will use them in. Une list de backends pour Phonon trouvés sur le système. L'ordre determine l'ordre dans lequel Phonon va les utiliser. Prefer Préférer Defer Différer BackendTester MainWindow Fenêtre Principale local audio file: Fichier audio local: local video file: Fichier vidéo local: remote media URL: URL distante : run tests Lancer les tests testing: %p% test de : %P% CloseButton Close Tab Fermer l'onglet MainWindow Print Impr écran Location: Emplacement: OutputDeviceChoice Various categories of outputs. For each category you may choose what device you wish to output to. Differentes catégories de sortie. Pour chaque catégorie vous pouvez choisir quel périphérique vous souhaitez utiliser. Show Advanced Devices Montrer les périphériques avancés Apply Device List to ... Appliquer la liste de périphériques à... Audio Outputs found on your system. Choose the device that you wish sound to come out of. Périphériques audio trouvés sur votre système. Choisissez le périphérique que vous voulez utiliser. The order determines the preference of the output devices. If for some reason the first device cannot be used Phonon will try to use the second, and so on. L'ordre détermine la préférence du périphérique audio. Si pour quelque raison le premier ne peut pas être utilisé, Phonon essaiera d'utiliser le deuxième... Remove Supprimer prefer the selected device préférer le périphérique sélectionné Prefer Préférer no preference for the selected device pas de préférence pour le périphérique sélectionné Defer Différer PPDOptionsModel Name Nom Value Valeur Phonon:: Notifications Music Musique Video Vidéo Communication Games Jeux Accessibility Accessibilité Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Attention: Vous n'avez apparemment pas installé le paquet gstreamer0.10-plugins-good. Des fonctionnalités vidéo ont été desactivées. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Attention: Vous n'avez apparemment pas installées les plugins de base de GStreamer. Le support audio et vidéo est désactivé Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. Impossible de démarrer la lecture. Verifiez votre installation de Gstreamer et assuez-vousd'avoir installé libgstreamer-plugins-base. Unknown media format: %1 Format inconnu : %1 Unable to flush media pipeline Impossible de vider le pipeline multimédia Could not decode URL. Impossible de décoder l'URL. Could not open file. Impossible d'ouvrir le fichier. Source type invalid Type de source invalide Could not open stream. Impossible d'ouvrir le flux. Source type not supported Type de source non supporté Could not load source Impossible de charger la source A required codec is missing. You need to install the following codec(s) to play this content: %0 Un codec requis est manquant. Vous devez installer le codec suivant pour jouer le contenu: %0 Could not open media source. Impossible d'ouvrir le média source. Invalid source type. Type de source invalide. Could not locate media source. Impossible de localiser le média source. Could not open audio device. The device is already in use. Impossible d'ouvrir le périphérique audio. Celui-ci est déjà en cours d'utilisation. Could not decode media source. Impossible de décoder le média source. Phonon::VolumeSlider Volume: %1% Volume: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Utilisez le slider pour ajuster le volume. La position la plus à gauche est 0%, la plus à droite est %1% Q3Accel %1, %2 not defined La séquence %1, %2 n'est pas définie Ambiguous %1 not handled Séquence ambiguë %1 non traitée Q3DataTable True Vrai False Faux Insert Insérer Update Actualiser Delete Supprimer Q3FileDialog Copy or Move a File Copie ou déplace un fichier Read: %1 Lecture : %1 Write: %1 Écriture : %1 Cancel Annuler All Files (*) Tous les fichiers (*) Name Nom Size Taille Type Type Date Date Attributes Attributs &OK &OK Look &in: Chercher &dans : File &name: &Nom de fichier : File &type: &Type de fichier : Back Précédent (historique) One directory up Aller au dossier parent Create New Folder Créer un nouveau dossier List View Affichage liste Detail View Affichage détaillé Preview File Info Informations du fichier prévisualisé Preview File Contents Contenu du fichier prévisualisé Read-write Lecture-écriture Read-only Lecture seule Write-only Écriture seule Inaccessible Inaccessible Symlink to File Lien symbolique vers un fichier Symlink to Directory Lien symbolique vers un dossier Symlink to Special Lien symbolique vers un fichier spécial File Fichier Dir Dossier Special Fichier spécial Open Ouvrir Save As Enregistrer sous &Open &Ouvrir &Save &Enregistrer &Rename &Renommer &Delete Suppri&mer R&eload R&echarger Sort by &Name Trier par &nom Sort by &Size Trier par ta&ille Sort by &Date Trier par &date &Unsorted &Non trié Sort Tri Show &hidden files Afficher les fic&hiers cachés the file le fichier the directory le dossier the symlink le lien symbolique Delete %1 Supprimer %1 <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Voulez-vous vraiment supprimer %1 "%2" ?</qt> &Yes &Oui &No &Non New Folder 1 Nouveau dossier 1 New Folder Nouveau dossier New Folder %1 Nouveau dossier %1 Find Directory Chercher dans le dossier Directories Dossiers Directory: Dossier : Error Erreur %1 File not found. Check path and filename. %1 Impossible de trouver le fichier. Vérifier le chemin et le nom du fichier. All Files (*.*) Tous les fichiers (*.*) Open Ouvrir Select a Directory Sélectionner un dossier Q3LocalFs Could not read directory %1 Impossible de lire le dossier %1 Could not create directory %1 Impossible de créer le dossier %1 Could not remove file or directory %1 Impossible de supprimer le fichier ou dossier %1 Could not rename %1 to %2 Impossible de renommer %1 en %2 Could not open %1 Impossible d'ouvrir %1 Could not write %1 Impossible d'écrire %1 Q3MainWindow Line up Aligner Customize... Personnaliser... Q3NetworkProtocol Operation stopped by the user Opération interrompue par l'utilisateur Q3ProgressDialog Cancel Annuler Q3TabDialog OK OK Apply Appliquer Help Aide Defaults Par défaut Cancel Annuler Q3TextEdit &Undo &Annuler &Redo &Rétablir Cu&t Co&uper &Copy Cop&ier &Paste Co&ller Clear Effacer Select All Tout sélectionner Q3TitleBar System Système Restore up Restaurer en haut Minimize Réduire Restore down Restaurer en bas Maximize Maximiser Close Fermer Contains commands to manipulate the window Contient des commandes pour manipuler la fenêtre Puts a minimized back to normal Rend à une fenêtre minimisée son aspect normal Moves the window out of the way Déplace la fenêtre à l'écart Puts a maximized window back to normal Rend à une fenêtre minimisée son aspect normal Makes the window full screen Affiche la fenêtre en plein écran Closes the window Ferme la fenêtre Displays the name of the window and contains controls to manipulate it Affiche le nom de la fenêtre et contient des contrôles pour la manipuler Q3ToolBar More... Reste... Q3UrlOperator The protocol `%1' is not supported Le protocole '%1' n'est pas géré The protocol `%1' does not support listing directories Le protocole `%1' ne permet pas de lister les fichiers d'un dossier The protocol `%1' does not support creating new directories Le protocole `%1' ne permet pas de créer de nouveaux dossiers The protocol `%1' does not support removing files or directories Le protocole `%1' ne permet pas de supprimer des fichiers ou des dossiers The protocol `%1' does not support renaming files or directories Le protocole `%1' ne permet pas de renommer des fichiers ou des dossiers The protocol `%1' does not support getting files Le protocole `%1' ne permet pas de recevoir des fichiers The protocol `%1' does not support putting files Le protocole `%1' ne permet pas d'envoyer des fichiers The protocol `%1' does not support copying or moving files or directories Le protocole `%1' ne permet pas de copier ou de déplacer des fichiers (unknown) (inconnu) Q3Wizard &Cancel &Annuler < &Back < &Précédent &Next > &Suivant > &Finish &Terminer &Help &Aide QAbstractSocket Host not found Hôte introuvable Connection refused Connexion refusée Connection timed out Connexion expirée Operation on socket is not supported Opération sur socket non supportée Socket operation timed out Opération socket expirée Socket is not connected Le socket n'est pas connecté Network unreachable Réseau impossible à rejoindre QAbstractSpinBox &Step up &Augmenter Step &down &Diminuer &Select All Tout &sélectionner QApplication QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Executable '%1' requires Qt %2, found Qt %3. L'exécutable '%1' requiert Qt %2 (Qt %3 présent). Incompatible Qt Library Error Erreur : bibliothèque Qt incompatible Activate Activer Activates the program's main window Active la fenêtre principale du programme QAxSelect Select ActiveX Control Sélectionner un contrôle ActiveX OK OK &Cancel &Annuler COM &Object: &Objet COM : QCheckBox Uncheck Décocher Check Cocher Toggle Changer QColorDialog Hu&e: &Teinte : &Sat: &Saturation : &Val: &Valeur : &Red: &Rouge : &Green: &Vert : Bl&ue: Ble&u : A&lpha channel: Canal a&lpha : Select Color Sélectionner une couleur &Basic colors Couleurs de &base &Custom colors &Couleurs personnalisées &Define Custom Colors >> Définir des &couleurs personnalisées >> OK OK Cancel Annuler &Add to Custom Colors &Ajouter aux couleurs personnalisées Select color Sélection d'une couleur QComboBox Open Ouvrir False Faux True Vrai Close Fermer QCoreApplication %1: permission denied QSystemSemaphore %1: permission refusée %1: already exists QSystemSemaphore %1: existe déjà %1: doesn't exists QSystemSemaphore %1: n'existe pas %1: out of resources QSystemSemaphore %1: plus de ressources disponibles %1: unknown error %2 QSystemSemaphore %1: erreur inconnue %2 %1: key is empty QSystemSemaphore %1: clé vide %1: unable to make key QSystemSemaphore %1: impossible de créer la clé %1: ftok failed QSystemSemaphore %1: ftok a échoué QDB2Driver Unable to connect Incapable d'établir une connexion Unable to commit transaction Incapable de soumettre la transaction Unable to rollback transaction Incapable d'annuler la transaction Unable to set autocommit Impossible d'activer l'auto-soumission QDB2Result Unable to execute statement Impossible d'exécuter la requête Unable to prepare statement Impossible de prépare la requête Unable to bind variable Impossible d'attacher la variable Unable to fetch record %1 Impossible de récupérer l'enregistrement %1 Unable to fetch next Impossible de récupérer le suivant Unable to fetch first Impossible de récupérer le premier QDateTimeEdit AM AM am am PM PM pm pm QDial QDial SpeedoMeter Tachymètre SliderHandle Poignée QDialog What's This? Qu'est-ce que c'est ? Done Terminer QDialogButtonBox OK OK Save Enregistrer &Save Enregi&strer Open Ouvrir Cancel Annuler &Cancel &Annuler Close Fermer &Close &Fermer Apply Appliquer Reset Réinitialiser Help Aide Don't Save Ne pas enregistrer Discard Ne pas enregistrer &Yes &Oui Yes to &All Oui à &tout &No &Non N&o to All Non à to&ut Save All Tout Enregistrer Abort Abandonner Retry Réessayer Ignore Ignorer Restore Defaults Restaurer les valeurs par défaut Close without Saving Fermer sans sauvegarder &OK &OK QDirModel Name Nom Size Taille Kind Match OS X Finder Type Type All other platforms Type Date Modified Dernière Modification QDockWidget Close Fermer Dock Attacher Float Détacher QDoubleSpinBox More Plus Less Moins QErrorMessage &Show this message again &Afficher ce message de nouveau &OK &OK Debug Message: Message de débogage: Warning: Avertissement: Fatal Error: Erreur fatale: QFile Destination file exists Le fichier destination existe Cannot remove source file Impossible de supprimer le fichier source Cannot open %1 for input Impossible d'ouvrir %1 pour lecture Cannot open for output Impossible d'ouvrir pour écriture Failure to write block Impossible d'écrire un bloc Cannot create %1 for output Impossible de créer %1 pour écriture QFileDialog Back Précédent (historique) List View Affichage liste Detail View Affichage détaillé Open Ouvrir &Open &Ouvrir &Save &Enregistrer &Rename &Renommer &Delete Suppri&mer Show &hidden files Afficher les fic&hiers cachés Directories Dossiers Recent Places Emplacements récents All Files (*) Tous les fichiers (*) %1 already exists. Do you want to replace it? Le fichier %1 existe déjà. Voulez-vous l'écraser ? %1 File not found. Please verify the correct file name was given. %1 Fichier introuvable. Veuillez vérifier que le nom du fichier est correct. My Computer Poste de travail Parent Directory Dossier parent Files of type: Fichiers de type : Directory: Dossier : File not found. Please verify the correct file name was given Fichier introuvable. Veuillez vérifier que le nom du fichier est correct %1 Directory not found. Please verify the correct directory name was given. %1 Dossier introuvable. Veuillez vérifier que le nom du dossier est correct. '%1' is write protected. Do you want to delete it anyway? '%1' est protégé en écriture. Voulez-vous quand même le supprimer ? Are sure you want to delete '%1'? Etes-vous sûr de vouloir supprimer '%1' ? Could not delete directory. Impossible de supprimer le dossier. All Files (*.*) Tous les fichiers (*.*) Save As Enregistrer sous Drive Unité File Fichier Unknown Inconnu Find Directory Chercher dans le dossier Show Montrer Forward Successeur New Folder Nouveau dossier &New Folder &Nouveau dossier &Choose &Choisir Remove Supprimer File &name: &Nom de fichier : Look in: Voir dans: Create New Folder Créer un nouveau dossier QFileSystemModel %1 TB %1 To %1 GB %1 Go %1 MB %1 Mo %1 KB %1 Ko %1 bytes %1 octets Invalid filename Nom de fichier invalide <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>Le nom "%1" ne peut pas être utilisé.</b><p>Essayez un autre nom avec moins de caractères ou sans ponctuation. Name Nom Size Taille Kind Match OS X Finder Type Type All other platforms Type Date Modified Dernière modification My Computer Mon ordinateur Computer Ordinateur QFontDatabase Normal Bold Gras Demi Bold Semi Gras Black Noir Demi Light Léger Italic Italique Oblique Any Tous Latin Greek Grec Cyrillic Cyrillique Armenian Arménien Hebrew Hébreu Arabic Arabe Syriac Syriaque Thaana Devanagari Bengali Gurmukhi Gujarati Oriya Tamil Telugu Kannada Malayalam Sinhala Thai Lao Tibetan Tibétain Myanmar Georgian Géorgien Khmer Simplified Chinese Chinois Simplifié Traditional Chinese Chinois Traditionnel Japanese Japonais Korean Coréen Vietnamese Vietnamien Symbol Symbole Ogham Runic Runique QFontDialog &Font &Police Font st&yle St&yle de police &Size &Taille Effects Effets Stri&keout &Barré &Underline &Souligné Sample Exemple Select Font Choisir une police Wr&iting System &Système d'écriture QFtp Host %1 found Hôte %1 trouvé Host found Hôte trouvé Connected to host %1 Connecté à l'hôte %1 Connected to host Connecté à l'hôte Connection to %1 closed Connexion à %1 arrêtée Connection closed Connexion arrêtée Host %1 not found Hôte %1 introuvable Connection refused to host %1 Connexion à l'hôte %1 refusée Connection timed out to host %1 Connexion expirée vers l'hôte %1 Unknown error Erreur inconnue Connecting to host failed: %1 Échec de la connexion à l'hôte %1 Login failed: %1 Échec du login: %1 Listing directory failed: %1 Échec du listage du dossier : %1 Changing directory failed: %1 Échec du changement de dossier : %1 Downloading file failed: %1 Échec du téléchargement du fichier : %1 Uploading file failed: %1 Échec du télédéchargement : %1 Removing file failed: %1 Échec de la suppression d'un fichier : %1 Creating directory failed: %1 Échec de la création d'un dossier : %1 Removing directory failed: %1 Échec de la suppression d'un dossier : %1 Not connected Non connecté Connection refused for data connection Connexion donnée refusée QHostInfo Unknown error Erreur inconnue QHostInfoAgent Host not found Hôte introuvable Unknown address type Adresse de type inconnu Unknown error Erreur inconnue QHttp Connection refused Connexion refusée Host %1 not found Hôte %1 introuvable Wrong content length Longueur du contenu invalide HTTP request failed Échec de la requête HTTP Host %1 found Hôte %1 trouvé Host found Hôte trouvé Connected to host %1 Connecté à l'hôte %1 Connected to host Connecté à l'hôte Connection to %1 closed Connexion à %1 arrêtée Connection closed Connexion arrêtée Unknown error Erreur inconnue Request aborted Requête interrompue No server set to connect to Aucun serveur spécifié Server closed connection unexpectedly Connexion interrompue par le serveur Invalid HTTP response header Entête de réponse HTTP invalide Unknown authentication method Méthode d'authentification inconnue Invalid HTTP chunked body Fragment HTTP invalide Error writing response to device Erreur lors de l'écriture de la réponse Proxy authentication required Le proxy requiert une authentification Authentication required Authentification requise Proxy requires authentication Le proxy requiert une authentification Host requires authentication L'hôte requiert une authentification Data corrupted Données corrompues Unknown protocol specified Protocole spécifié inconnu SSL handshake failed le handshake SSL a échoué Connection refused (or timed out) Connexion refusée (ou délai expiré) HTTPS connection requested but SSL support not compiled in Connexion HTTPS requise mais le support SSL n'est pas compilé QHttpSocketEngine Did not receive HTTP response from proxy Pas de réponse HTTP de la part du proxy Error parsing authentication request from proxy Erreur dans le reqête d'authentification reçue du proxy Authentication required Authentification requise Proxy denied connection Le Proxy a rejeté la connexion Error communicating with HTTP proxy Erreur de communication avec le proxy HTTP Proxy server not found Serveur proxy introuvable Proxy connection refused Connexion au proxy refusée Proxy server connection timed out La connexion au serveur proxy a expiré Proxy connection closed prematurely La connexion au serveur proxy a été fermée prématurément QIBaseDriver Error opening database Erreur d'ouverture de la base de données Could not start transaction La transaction n'a pas pu être démarrée Unable to commit transaction Incapable de soumettre la transaction Unable to rollback transaction Incapable d'annuler la transaction QIBaseResult Unable to create BLOB Impossible de créer un BLOB Unable to write BLOB Impossible d'écrire le BLOB Unable to open BLOB Impossible d'ouvrir le BLOB Unable to read BLOB Impossible de lire le BLOB Could not find array Impossible de trouver le tableau Could not get array data Impossible de trouver le tableau de données Could not get query info Impossible d'avoir les informations sur la requête Could not start transaction Impossible de démarrer la transaction Unable to commit transaction Incapable de soumettre la transaction Could not allocate statement Impossible d'allouer la requête Could not prepare statement Impossible de préparer la requête Could not describe input statement Impossible de décrire la requête Could not describe statement Impossible de décrire la requête Unable to close statement Impossible de fermer la requête Unable to execute query Impossible d'exécuter la requête Could not fetch next item Impossible de récuperer l'élément suivant Could not get statement info Impossible d'avoir les informations sur la requête QIODevice Permission denied Accès refusé Too many open files Trop de fichiers ouverts simultanément No such file or directory Aucun fichier ou dossier de ce nom No space left on device Aucun espace disponible sur le périphérique Unknown error Erreur inconnue QInputContext XIM XIM XIM input method Méthode d'entrée XIM Windows input method Méthode d'entrée Windows Mac OS X input method Méthode d'entrée Mac OS X QInputDialog Enter a value: Entrer une valeur : QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::load_sys: Impossible de charger %1 (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::unload_sys: Impossible de décharger %1 (%2) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) QLibrary::resolve_sys: Symbole "%1" non défini dans %2 (%3) Could not mmap '%1': %2 Impossible d'établir la projection en mémoire de '%1' : %2 Plugin verification data mismatch in '%1' Données de vérification du plugin différente dans '%1' Could not unmap '%1': %2 Impossible de supprimer la projection en mémoire de '%1' : %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Le plugin '%1' utilise une bibliothèque Qt incompatible. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Le plugin '%1' utilise une bibliothèque Qt incompatible. Clé attendue "%2", reçue "%3" Unknown error Erreur inconnue The shared library was not found. La bibliothèque partagée est introuvable. The file '%1' is not a valid Qt plugin. Le fichier '%1' n'est pas un plugin Qt valide. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) Le plugin '%1' utilise une bibliothèque Qt incompatible. (Il est impossible de mélanger des bibliothèques 'debug' et 'release'.) Cannot load library %1: %2 Impossible de charger la bibliothèque %1 : %2 Cannot unload library %1: %2 Impossible de décharger la bibliothèque %1 : %2 Cannot resolve symbol "%1" in %2: %3 Impossible de résoudre le symbole "%1" dans %2 : %3 QLineEdit Select All Tout sélectionner &Undo &Annuler &Redo &Rétablir Cu&t Co&uper &Copy Cop&ier &Paste Co&ller Delete Supprimer QLocalServer %1: Name error %1: Erreur de nom %1: Permission denied %1: Permission refusée %1: Address in use %1: Address déjà utilisée %1: Unknown error %2 %1: Erreur inconnue %2 QLocalSocket %1: Connection refused %1: Connexion refusée %1: Remote closed %1: Connexion fermée %1: Invalid name %1: Nom invalide %1: Socket access error %1: Erreur d'accès au socket %1: Socket resource error %1: Erreur de ressource du socket %1: Socket operation timed out %1: L'opération socket a expiré %1: Datagram too large %1: Datagramme trop grand %1: Connection error %1: Erreur de connexion %1: The socket operation is not supported %1: L'opération n'est pas supportée %1: Unknown error %1 : erreur inconnue %1: Unknown error %2 %1: Erreur inconnue %2 QMYSQLDriver Unable to open database ' Impossible d'ouvrir la base de données ' Unable to connect Impossible d'établir une connexion Unable to begin transaction Impossible de démarrer la transaction Unable to commit transaction Impossible de soumettre la transaction Unable to rollback transaction Impossible d'annuler la transaction QMYSQLResult Unable to fetch data Impossible de récuperer des données Unable to execute query Impossible d'exécuter la requête Unable to store result Impossible de stocker le résultat Unable to prepare statement Impossible de préparer l'instruction Unable to reset statement Impossible de réinitialiser l'instruction Unable to bind value Impossible d'attacher la valeur Unable to execute statement Impossible d'exécuter la requête Unable to bind outvalues Impossible d'attacher les valeurs de sortie Unable to store statement results Impossible de stocker les résultats de la requête Unable to execute next query Impossible d'exécuterla prochaine requête Unable to store next result Impossible de stocker le prochain résultat QMdiArea (Untitled) (Sans titre) QMdiSubWindow %1 - [%2] %1 - [%2] Close Fermer Minimize Réduire Restore Down Restaurer en bas &Restore &Restaurer &Move &Déplacer &Size &Taille Mi&nimize Réd&uire Ma&ximize Ma&ximiser Stay on &Top &Rester au premier plan &Close &Fermer - [%1] Maximize Maximiser Unshade Restaurer Shade Ombrer Restore Restaurer Help Aide Menu Menu QMenu Close Fermer Open Ouvrir Execute Exécuter QMenuBar About A propos Config Configuration Preference Préférence Options Options Setting Paramètre Setup Réglage Quit Quitter Exit Quitter About %1 A propos de %1 About Qt À propos de Qt Preferences Préférences Quit %1 Quitter %1 QMessageBox OK OK About Qt À propos de Qt Help Aide <p>This program uses Qt version %1.</p> <p>Ce programme utilise la version %1 de Qt.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.</p><p>Qt is a Trolltech product. See <a href="http://qt.nokia.com/">qt.nokia.com/</a> for more information.</p> <h3>A propos de Qt</h3>%1<p>Qt est un toolkit C++ pour le développement d'applications multi-platformes.</p><p>Qt fournit la portabilité du code source pour MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux et toutes les variantes commerciales majeures d'Unix. Qt est aussi disponible pour les systèmes embarqués sous le nom Qtopia Core.</p><p>Qt est un produit de Trolltech. <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> Show Details... Montrer les détails... Hide Details... Cacher les détails... <h3>About Qt</h3><p>This program uses Qt version %1.</p><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <h3>A propos de Qt</h3>%1<p>Qt est un framework de développement d'applications multi-plateforme.</p><p>Qt fournit la portabilité du code source surMS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, et toutes les variantes majeures d'Unix. Qt est aussi disponible pour l'embarqué avec Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt est un produit de Nokia. Allez à <a href="http://qt.nokia.com/">qt.nokia.com</a> pour plus d'informations.</p> <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a> for an overview of Qt licensing.</p> <p>Ce programme utilise Qt Open Source Edition version %1.</p><p>Qt Open Source Edition est prévu pour le développement d'applications Open Source. Vous devez avoir un license commerciale de Qt pour développer des applications propiétaires (Closed Source).</p><p>Vous pouvez aller sur <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a> pour plus d'informations sur les licenses Qt.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt Embedded.</p><p>Qt is a Trolltech product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <h3>A propos de Qt</h3>%1<p>Qt est un toolkit C++ pour le développement d'application multi-plateforme.</p><p>Qt fournit la portabilité de votre source pour MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, toutes les variantes majeures d'Unix. Qt est aussi disponible pour les périphériques embarqués avec Qt Embedded.</p><p>Qt est un produit de Trolltech. Voir <a href="http://qt.nokia.com/">qt.nokia.com</a> pour plus d'informations.</p> QMultiInputContext Select IM Sélectionner IM QMultiInputContextPlugin Multiple input method switcher Sélectionneur de méthode de saisie Multiple input method switcher that uses the context menu of the text widgets Sélectionneur de méthode de saisie qui utilise le menu contextuel des widgets de texte QNativeSocketEngine The remote host closed the connection L'hôte distant a fermé la connexion Network operation timed out L'opération réseau a expiré Out of resources Manque de ressources Unsupported socket operation Opération socket non supportée Protocol type not supported Protocol non géré Invalid socket descriptor Descripteur de socket invalide Network unreachable Réseau impossible à rejoindre Permission denied Accès refusé Connection timed out Connexion expirée Connection refused Connexion refusée The bound address is already in use L'adresse liée est déjà en usage The address is not available L'adresse n'est pas disponible The address is protected L'adresse est protégée Unable to send a message Impossible d'envoyer un message Unable to receive a message Impossible de recevoir un message Unable to write Impossible d'écrire Network error Erreur réseau Another socket is already listening on the same port Un autre socket écoute déjà sur le même port Unable to initialize non-blocking socket Impossible d'initialiser le socket asynchrone Unable to initialize broadcast socket Impossible d'initialiser le socket broadcast Attempt to use IPv6 socket on a platform with no IPv6 support Tentative d'utiliser un socket IPv6 sur une plateforme qui ne supporte pas IPv6 Host unreachable Hôte inaccessible Datagram was too large to send Le datagramme était trop grand pour être envoyé Operation on non-socket Operation sur non-socket Unknown error Erreur inconnue The proxy type is invalid for this operation Le type de proxy est invalide pour cette opération QNetworkAccessCacheBackend Error opening %1 Erreur lors de l'ouverture de %1 QNetworkAccessFileBackend Request for opening non-local file %1 Requête d'ouverture de fichier distant %1 Error opening %1: %2 Erreur lors de l'ouverture de %1 : %2 Write error writing to %1: %2 Erreur d'écriture de %1 : %2 Cannot open %1: Path is a directory Impossible d'ouvrir %1 : le chemin est un dossier Read error reading from %1: %2 Erreur de lecture de %1 : %2 QNetworkAccessFtpBackend No suitable proxy found Aucun proxy trouvé Cannot open %1: is a directory Impossible d'ouvrir %1 : le chemin est un dossier Logging in to %1 failed: authentication required Connexion à %1 a échoué : authentification requise Error while downloading %1: %2 Erreur lors du téléchargement de %1 : %2 Error while uploading %1: %2 Erreur lors de l'envoi de %1 : %2 QNetworkAccessHttpBackend No suitable proxy found Aucun proxy trouvé QNetworkReply Error downloading %1 - server replied: %2 Erreur lors du téléchargement de %1 - le serveur a répondu: %2 Protocol "%1" is unknown Le protocole "%1" est inconnu QNetworkReplyImpl Operation canceled Opération annulée QOCIDriver Unable to logon Impossible d'ouvrir une session Unable to initialize QOCIDriver L'initialisation a échouée Unable to begin transaction Impossible de démarrer la transaction Unable to commit transaction Impossible d'enregistrer la transaction Unable to rollback transaction Impossible d'annuler la transaction QOCIResult Unable to bind column for batch execute Impossible d'attacher la colonne pour une execution batch Unable to execute batch statement Impossible d'exécuter l'instruction batch Unable to goto next Impossible de passer au suivant Unable to alloc statement Impossible d'allouer la requête Unable to prepare statement Impossible de préparer la requête Unable to bind value Impossible d'attacher la valeur Unable to execute select statement Impossible d'exéctuer la requête select Unable to execute statement Impossible d'exéctuer la requête QODBCDriver Unable to connect Incapable d'établir une connexion Unable to connect - Driver doesn't support all needed functionality Impossible de se connecter - Le pilote ne supporte pas toutes les fonctionnalités nécessaires Unable to disable autocommit Impossible de désactiver l'autocommit Unable to commit transaction Incapable de soumettre la transaction Unable to rollback transaction Incapable d'annuler la transaction Unable to enable autocommit Impossible d'active l'autocommit QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Impossible d'utiliser 'SQL_CURSOR_STATIC' comme attribut de requête. Veuillez vérifier la configuration de votre pilote ODBC Unable to execute statement Impossible d'exéctuer la requête Unable to fetch next Impossible de récupérer le suivant Unable to prepare statement Impossible de préparer la requête Unable to bind variable Impossible d'attacher la variable Unable to fetch last Impossible de récupérer le dernier Unable to fetch Impossible de récupérer Unable to fetch first Impossible de récupérer le premier Unable to fetch previous Impossible de récupérer le précedent QObject Home Début Operation not supported on %1 Opération non supportée sur %1 Invalid URI: %1 URI invalide : %1 Write error writing to %1: %2 Erreur d'écriture sur %1 : %2 Read error reading from %1: %2 Erreur de lecture sur %1 : %2 Socket error on %1: %2 Erreur de socket sur %1 : %2 Remote host closed the connection prematurely on %1 L'hôte distant a fermé sa connexion de façon prématurée sur %1 Protocol error: packet of size 0 received Erreur de protocole: paquet de taille 0 reçu No host name given Nom d'hôte manquant QPPDOptionsModel Name Nom Value Valeur QPSQLDriver Unable to connect Impossible d'établir une connexion Could not begin transaction Impossible de démarrer la transaction Could not commit transaction Impossible de soumettre la transaction Could not rollback transaction Impossible d'annuler la transaction Unable to subscribe Impossible de s'inscrire Unable to unsubscribe Impossible de se désinscrire QPSQLResult Unable to create query Impossible de créer la requête Unable to prepare statement Impossible de préparer la requête QPageSetupWidget Centimeters (cm) Centimètres (cm) Millimeters (mm) Millimètres (mm) Inches (in) Pouces (in) Points (pt) Form Formulaire Paper Papier Page size: Dimensions : Width: Largeur : Height: Hauteur : Paper source: Source du papier : Orientation Portrait Portrait Landscape Paysage Reverse landscape Paysage inversé Reverse portrait Portrait inversé Margins Marges top margin marge haute left margin marge gauche right margin marge droite bottom margin marge basse QPluginLoader Unknown error Erreur inconnue The plugin was not loaded. Le plugin n'a pas été chargé. QPrintDialog locally connected connecté en local unknown inconnu OK OK Cancel Annuler Print in color if available Imprimer en couleur si possible Print all Imprimer tout Print range Imprimer la sélection Print last page first Imprimer d'abord la dernière page Number of copies: Nombre de copies : Paper format Format du papier Portrait Portrait Landscape Paysage A0 (841 x 1189 mm) A0 (841 x 1189 mm) A1 (594 x 841 mm) A1 (594 x 841 mm) A2 (420 x 594 mm) A2 (420 x 594 mm) A3 (297 x 420 mm) A3 (297 x 420 mm) A5 (148 x 210 mm) A5 (148 x 210 mm) A6 (105 x 148 mm) A6 (105 x 148 mm) A7 (74 x 105 mm) A7 (74 x 105 mm) A8 (52 x 74 mm) A8 (52 x 74 mm) A9 (37 x 52 mm) A9 (37 x 52 mm) B0 (1000 x 1414 mm) B0 (1000 x 1414 mm) B1 (707 x 1000 mm) B1 (707 x 1000 mm) B2 (500 x 707 mm) B2 (500 x 707 mm) B3 (353 x 500 mm) B3 (353 x 500 mm) B4 (250 x 353 mm) B4 (250 x 353 mm) B6 (125 x 176 mm) B6 (125 x 176 mm) B7 (88 x 125 mm) B7 (88 x 125 mm) B8 (62 x 88 mm) B8 (62 x 88 mm) B9 (44 x 62 mm) B9 (44 x 62 mm) B10 (31 x 44 mm) B10 (31 x 44 mm) C5E (163 x 229 mm) C5E (163 x 229 mm) DLE (110 x 220 mm) DLE (110 x 220 mm) Folio (210 x 330 mm) Folio (210 x 330 mm) Ledger (432 x 279 mm) Ledger (432 x 279 mm) Tabloid (279 x 432 mm) Tabloïde (279 x 432 mm) US Common #10 Envelope (105 x 241 mm) US Common #10 Envelope (105 x 241 mm) Aliases: %1 Alias : %1 A4 (210 x 297 mm, 8.26 x 11.7 inches) A4 (210 x 297 mm) B5 (176 x 250 mm, 6.93 x 9.84 inches) B5 (176 x 250 mm) Executive (7.5 x 10 inches, 191 x 254 mm) Executive (7,5 x 10 pouces, 191 x 254 mm) Legal (8.5 x 14 inches, 216 x 356 mm) Legal (8.5 x 14 pouces, 216 x 356 mm) Letter (8.5 x 11 inches, 216 x 279 mm) Letter (8,5 x 11 pouces, 216 x 279 mm) Print selection Imprimer la sélection Page size: Dimensions : Orientation: Orientation : Paper source: Source du papier : Print Impr écran File Fichier Printer Imprimante Print To File ... Imprimer dans un fichier... Print dialog Fenêtre d'impression Size: Taille : Properties Propriétés Printer info: Informations sur l'imprimante : Browse Parcourir Print to file Imprimer dans un fichier Pages from Pages to à Selection Sélection Copies Copies Collate Assembler Other Autre Double side printing Impression recto verso File %1 is not writable. Please choose a different file name. Impossible d'écrire dans le fichier %1. Veuillez choisir un nom de fichier différent. %1 already exists. Do you want to overwrite it? %1 existe. Voulez-vous l'écraser ? File exists Le fichier existe <qt>Do you want to overwrite it?</qt> <qt>voulez-vous l'écraser ?</qt> %1 is a directory. Please choose a different file name. %1 est un dossier. Veuillez choisir un nom de fichier différent. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C5E DLE Executive Folio Ledger Legal Letter Tabloid US Common #10 Envelope Custom Personnalisé &Options >> &Print Im&primer &Options << Print to File (PDF) Imprimer dans un fichier (PDF) Print to File (Postscript) Imprimer dans un fichier (PostScript) Local file Fichier local Write %1 file Ecriture du fichier %1 The 'From' value cannot be greater than the 'To' value. La valeur 'de' ne peut pas être plus grande que la valeur 'à'. QPrintPreviewDialog %1% %1% Print Preview Aperçu avant impression Next page Page suivante Previous page Page précédente First page Première page Last page Dernière page Fit width Ajuster la largeur Fit page Ajuster la page Zoom in Zoom avant Zoom out Zoom arrière Portrait Portrait Landscape Paysage Show single page Afficher une seule page Show facing pages Afficher deux pages Show overview of all pages Afficher un aperçu de toutes les pages Print Impr écran Page setup Configuration de la page Close Fermer Export to PDF Exporter vers PDF Export to PostScript Exporter vers PostScript Page Setup Configuration de la page QPrintPropertiesDialog PPD Properties Propriétés PPD Save Enregistrer OK OK QPrintPropertiesWidget Form Formulaire Page Advanced Avancé QPrintSettingsOutput Form Formulaire Copies Copies Print range Imprimer la sélection Print all Imprimer tout Pages from Pages to à Selection Sélection Output Settings Paramètres de sortie Copies: Collate Assembler Reverse Inverse Options Options Color Mode Mode de couleur Color Couleur Grayscale Dégradé de gris Duplex Printing Impression en duplex None Aucun Long side Côté long Short side Côté court QPrintWidget Form Formulaire Printer Imprimante &Name: &Nom : P&roperties P&ropriétés Location: Emplacement : Preview Prévisualisation Type: Output &file: &Fichier de sortie: ... QProcess Could not open input redirection for reading Impossible d'ouvrir la redirection d'entrée en lecture Could not open output redirection for writing Impossible d'ouvrir la redirection de sortie pour écriture Resource error (fork failure): %1 Erreur de ressouce (fork) : %1 Process operation timed out Operation de processus a expiré Error reading from process Erreur de lecture du processus Error writing to process Erreur d"écriture vers le processus Process crashed Le processus à planté No program defined Aucun programme défini Process failed to start Le processus n'a pas démarré QProgressDialog Cancel Annuler QPushButton Open Ouvrir QRadioButton Check Cocher QRegExp no error occurred aucune erreur ne s'est produite disabled feature used option désactivée bad char class syntax syntaxe invalide pour classe de caractère bad lookahead syntax syntaxe invalide pour lookahead bad repetition syntax syntaxe invalide pour répétition invalid octal value valeur octale invalide missing left delim délémiteur gauche manquant unexpected end fin impromptue met internal limit rencontré limite interne QSQLite2Driver Error to open database Erreur à l'ouverture de la base de données Unable to begin transaction Impossible de démarrer la transaction Unable to commit transaction Impossible de soumettre la transaction Unable to rollback Transaction Impossible d'annuler la transaction QSQLite2Result Unable to fetch results Impossible de récupérer les résultats Unable to execute statement Impossible d'exécuter la requête QSQLiteDriver Error opening database Erreur lors de l'ouverture de la base de données Error closing database Erreur lors de la fermeture de la base de données Unable to begin transaction Impossible de démarrer la transaction Unable to commit transaction Incapable de soumettre la transaction Unable to roll back transaction Impossible d'annuler la transaction Unable to rollback transaction Impossible d'annuler la transaction QSQLiteResult Unable to fetch row Impossible de récupérer la rangée Unable to execute statement Impossible d'exécuter la requête Unable to reset statement Impossible de réinitialiser la requête Unable to bind parameters Impossible d'attacher les paramètres Parameter count mismatch Nombre de paramètres incorrect No query Pas de requête QScrollBar Scroll here Défiler jusqu'ici Left edge Extrême gauche Top En haut Right edge Extrême droite Bottom En bas Page left Page précédente Page up Page précédente Page right Page suivante Page down Page suivante Scroll left Défiler vers la gauche Scroll up Défiler vers le haut Scroll right Défiler vers la droite Scroll down Défiler vers le bas Line up Aligner Position Position Line down Aligner en-bas QSharedMemory %1: unable to set key on lock %1 : impossible d'affecter la clé au verrou %1: create size is less then 0 %1 : taille de création est inférieur à 0 %1: unable to lock %1 : impossible de vérrouiller %1: unable to unlock %1 : impossible de déverrouiller %1: permission denied %1 : permission refusée %1: already exists %1 : existe déjà %1: doesn't exists %1 : n'existe pas %1: out of resources %1 : plus de ressources disponibles %1: unknown error %2 %1 : erreur inconnue %2 %1: key is empty %1 : clé vide %1: unix key file doesn't exists %1 : le fichier de clé unix n'existe pas %1: ftok failed %1 : ftok a échoué %1: unable to make key %1 : impossible de créer la clé %1: system-imposed size restrictions %1 : le système impose des restrictions sur la taille %1: not attached %1 : non attaché %1: invalid size %1 : taille invalide %1: key error %1 : erreur de clé %1: size query failed %1 : la requête de taille a échoué QShortcut Space Espace Esc Échap Tab Tab Backtab Tab arr Backspace Effacement Return Retour Enter Entrée Ins Inser Del Suppr Pause Pause Print Impr écran SysReq Syst Home Début End Fin Left Gauche Up Haut Right Droite Down Bas PgUp Page préc PgDown Page suiv CapsLock Verr maj NumLock Verr num ScrollLock Arrêt défil Menu Menu Help Aide Back Précédent (historique) Forward Successeur (historique) Stop Stop Refresh Rafraîchir Volume Down Volume bas Volume Mute Volume muet Volume Up Volume haut Bass Boost Graves fort Bass Up Graves haut Bass Down Graves bas Treble Up Aigus haut Treble Down Aigus bas Media Play Média démarrer Media Stop Média arrêt Media Previous Média précédent Media Next Média suivant Media Record Média enregistrer Favorites Préférés Search Recherche Standby Attente Open URL Ouvrir URL Launch Mail Lancer courrier Launch Media Lancer média Launch (0) Lancer (0) Launch (1) Lancer (1) Launch (2) Lancer (2) Launch (3) Lancer (3) Launch (4) Lancer (4) Launch (5) Lancer (5) Launch (6) Lancer (6) Launch (7) Lancer (7) Launch (8) Lancer (8) Launch (9) Lancer (9) Launch (A) Lancer (A) Launch (B) Lancer (B) Launch (C) Lancer (C) Launch (D) Lancer (D) Launch (E) Lancer (E) Launch (F) Lancer (F) Print Screen Page Up Page Down Caps Lock Num Lock Number Lock Scroll Lock Insert Insérer Delete Supprimer Escape Échapement System Request Système Select Sélectionner Yes Oui No Non Context1 Contexte1 Context2 Contexte2 Context3 Contexte3 Context4 Contexte4 Call Appeler Hangup Raccrocher Flip Retourner Ctrl Ctrl Shift Maj Alt Alt Meta Méta + + F%1 F%1 Home Page Page d'accueil QSlider Page left Page précédente Page up Page précédente Position Page right Page suivante Page down Page suivante QSocks5SocketEngine Connection to proxy refused Connexion au proxy refusée Connection to proxy closed prematurely connexion au proxy fermée prématurément Proxy host not found Hôte proxy introuvable Connection to proxy timed out Connexion au proxy expirée Proxy authentication failed L'authentification proxy a échoué Proxy authentication failed: %1 L'authentification proxy a échoué : %1 SOCKS version 5 protocol error Erreur de protocole SOCKS version 5 General SOCKSv5 server failure Erreur générale du serveur SOCKSv5 Connection not allowed by SOCKSv5 server Connexion refusée par le serveur SOCKSv5 TTL expired TTL expiré SOCKSv5 command not supported Commande SOCKSv5 non supportée Address type not supported Type d'adresse non supporté Unknown SOCKSv5 proxy error code 0x%1 Erreur proxy SOCKSv5 inconnue : 0x%1 Socks5 timeout error connecting to socks server Erreur d'expiration socks5 lors de l'établissement d'une connexion au serveur socks Network operation timed out L'opération réseau a expiré QSpinBox More Plus Less Moins QSql Delete Supprimer Delete this record? Supprimer cet enregistrement ? Yes Oui No Non Insert Insérer Update Actualiser Save edits? Enregistrer les modifications ? Cancel Annuler Confirm Confirmer Cancel your edits? Annuler vos modifications ? QSslSocket Unable to write data: %1 Impossible d'écrire les données : %1 Error while reading: %1 Erreur lors de la lecture : %1 Error during SSL handshake: %1 Erreur lors de la poignée de main SSL : %1 Error creating SSL context (%1) Erreur lors de la création du contexte SSL (%1) Invalid or empty cipher list (%1) La list de chiffrements est invalide ou vide (%1) Error creating SSL session, %1 Erreur lors de la création de la session SSL, %1 Error creating SSL session: %1 Erreur lors de la création de la session SSL : %1 Cannot provide a certificate with no key, %1 Impossible de fournir un certificat sans clé, %1 Error loading local certificate, %1 Erreur lors du chargement du certificat local, %1 Error loading private key, %1 Erreur lors du chargement de la clé privée, %1 Private key do not certificate public key, %1 La clé privée ne certifie pas la clé publique, %1 Private key does not certificate public key, %1 La clé privée ne certifie pas la clé publique, %1 QSystemSemaphore %1: out of resources %1: plus de ressources disponibles %1: permission denied %1: permission refusée %1: already exists %1 : existe déjà %1: does not exist %1 : n'existe pas %1: unknown error %2 %1: erreur inconnue %2 QTDSDriver Unable to open connection Impossible d'ouvrir la connexion Unable to use database Impossible d'utiliser la base de données QTabBar Scroll Left Défiler vers la gauche Scroll Right Défiler vers la droite QTcpServer Socket operation unsupported Operation socket non supportée Operation on socket is not supported Opération sur le socket non supportée QTextControl &Undo &Annuler &Redo &Répéter Cu&t Co&uper &Copy Cop&ier Copy &Link Location Copier l'adresse du &lien &Paste Co&ller Delete Supprimer Select All Tout sélectionner QToolButton Press Presser Open Ouvrir QUdpSocket This platform does not support IPv6 Cette plateforme ne supporte pas IPv6 QUndoGroup Undo Annuler Redo Répéter QUndoModel <empty> <vide> QUndoStack Undo Annuler Redo Répéter QUnicodeControlCharacterMenu LRM Left-to-right mark LRM Left-to-right mark RLM Right-to-left mark RLM Right-to-left mark ZWJ Zero width joiner ZWJ Zero width joiner ZWNJ Zero width non-joiner ZWNJ Zero width non-joiner ZWSP Zero width space ZWSP Zero width space LRE Start of left-to-right embedding LRE Start of left-to-right embedding RLE Start of right-to-left embedding RLE Start of right-to-left embedding LRO Start of left-to-right override LRO Start of left-to-right override RLO Start of right-to-left override RLO Start of right-to-left override PDF Pop directional formatting PDF Pop directional formatting Insert Unicode control character Insérer caractère de contrôle Unicode QWebFrame Request cancelled Requête annulée Request blocked Requête bloquée Cannot show URL Impossible d'afficher l'URL Frame load interruped by policy change Chargement de la frame interrompu par un changement de configuration Cannot show mimetype Impossible d'afficher le mimetype File does not exist Le fichier n'existe pas QWebPage Submit default label for Submit buttons in forms on web pages Soumettre Submit Submit (input element) alt text for <input> elements with no alt, title, or value Soumettre Reset default label for Reset buttons in forms on web pages Réinitialiser Searchable Index text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Index recherchable Choose File title for file button used in HTML forms Choisir le fichier No file selected text to display in file button used in HTML forms when no file is selected Pas de fichier sélectionné Open in New Window Open in New Window context menu item Ouvrir dans une Nouvelle Fenêtre Save Link... Download Linked File context menu item Sauvegarder le lien... Copy Link Copy Link context menu item Copier le lien Open Image Open Image in New Window context menu item Ouvrir l'image Save Image Download Image context menu item SAuvegarder l'image Copy Image Copy Link context menu item Copier l'image Open Frame Open Frame in New Window context menu item Ouvrir le cadre Copy Copy context menu item Copier Go Back Back context menu item Précédent Go Forward Forward context menu item Suivant Stop Stop context menu item Stop Reload Reload context menu item Recharger Cut Cut context menu item Couper Paste Paste context menu item Coller No Guesses Found No Guesses Found context menu item Pas de candidat trouvés Ignore Ignore Spelling context menu item Ignorer Add To Dictionary Learn Spelling context menu item Ajouter au dictionnaire Search The Web Search The Web context menu item Chercher sur le Web Look Up In Dictionary Look Up in Dictionary context menu item Chercher dans le dictionnaire Open Link Open Link context menu item Ouvrir le lien Ignore Ignore Grammar context menu item Ignorer Spelling Spelling and Grammar context sub-menu item Orthographe Show Spelling and Grammar menu item title Afficher Orthographe et Grammaire Hide Spelling and Grammar menu item title Cacher Orthographe et Grammaire Check Spelling Check spelling context menu item Vérifier l'orthographe Check Spelling While Typing Check spelling while typing context menu item Vérifier l'orthographe pendant la saisie Check Grammar With Spelling Check grammar with spelling context menu item Vérifier la grammaire en même temps que l'orthographe Fonts Font context sub-menu item Polices Bold Bold context menu item Gras Italic Italic context menu item Italique Underline Underline context menu item Souligné Outline Outline context menu item Contour Direction Writing direction context sub-menu item Text Direction Text direction context sub-menu item Orientation du texte Default Default writing direction context menu item Défaut LTR Left to Right context menu item De la gauche vers la droite RTL Right to Left context menu item De la droite vers la gauche Inspect Inspect Element context menu item Inspecter No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Pas de recherche récente Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Recherches récentes Clear recent searches menu item in Recent Searches menu that empties menu's contents Effacer les recherches récentes Unknown Unknown filesize FTP directory listing item Inconnu %1 (%2x%3 pixels) Title string for images %1 (%2x%3 pixels) Web Inspector - %2 Inspecteur Web - %2 Bad HTTP request Requête HTTP erronée This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Ceci est un index. Veuillez saisir les mots-clé : Scroll here Défiler jusqu'ici Left edge Extrême gauche Top En haut Right edge Extrême droite Bottom En bas Page left Page précédente Page up Page précédente Page right Page suivante Page down Page suivante Scroll left Défiler vers la gauche Scroll up Défiler vers le haut Scroll right Défiler vers la droite Scroll down Défiler vers le bas %n file(s) number of chosen file %n fichier %n fichiers JavaScript Alert - %1 Alerte javascript - %1 JavaScript Confirm - %1 Confirmation javascript - %1 JavaScript Prompt - %1 Invite javascript - %1 Move the cursor to the next character Positionner le curseur sur le caractère suivant Move the cursor to the previous character Positionner le curseur sur le caractère précédent Move the cursor to the next word Positionner le curseur au mot suivant Move the cursor to the previous word Positionner le curseur sur le mot précédent Move the cursor to the next line Positionner le curseur sur la prochaine ligne Move the cursor to the previous line Déplacer le curseur sur la ligne précédente Move the cursor to the start of the line Positionner le curseur au début de la ligne Move the cursor to the end of the line Positionner le curseur à la fin de la ligne Move the cursor to the start of the block Positionner le curseur au début du bloc Move the cursor to the end of the block Positionner le curseur à la fin du bloc Move the cursor to the start of the document Positionner le curseur au début du document Move the cursor to the end of the document Positionner le curseur à la fin du document Select all Sélectionner tout Select to the next character Sélectionner le caractère suivant Select to the previous character Sélectionner le caractère précédent Select to the next word Sélectionner le prochain mot Select to the previous word Sélectionner le mot précédent Select to the next line Sélectionner jusqu'à la prochaine ligne Select to the previous line Sélectionner jusqu'à la ligne précédente Select to the start of the line Sélectionner jusqu'au début de la ligne Select to the end of the line Sélectionner jusqu'à la fin de la ligne Select to the start of the block Sélectionner jusqu'au début du bloc Select to the end of the block Sélectionner jusqu'à la fin du bloc Select to the start of the document Sélectionner jusqu'au début du document Select to the end of the document Sélectionner jusqu'à la fin du document Delete to the start of the word Supprimer jusqu'au début du mot Delete to the end of the word Supprimer jusqu'à la fin du mot Insert a new paragraph Insérer un nouveau paragraphe Insert a new line Insérer une nouvelle ligne QWhatsThisAction What's This? Qu'est-ce que c'est ? QWidget * * QWizard Go Back Précédent Continue Suivant Commit Soumettre Done Terminer Quit Quitter Help Aide < &Back < &Précédent &Finish &Terminer Cancel Annuler &Help &Aide &Next &Suivant &Next > &Suivant > QWorkspace &Restore &Restaurer &Move &Déplacer &Size &Redimensionner Mi&nimize Réd&uire Ma&ximize Ma&ximiser &Close &Fermer Stay on &Top &Rester au premier plan Minimize Réduire Restore Down Restaurer en bas Close Fermer Sh&ade &Enrouler %1 - [%2] %1 - [%2] &Unshade &Dérouler QXml no error occurred aucune erreur ne s'est produite error triggered by consumer erreur déclenchée par le consommateur unexpected end of file fin de fichier impromptue more than one document type definition plus d'une définition de type de document error occurred while parsing element une erreur s'est produite lors de l'analyse d'un élément tag mismatch balise débalancée error occurred while parsing content une erreur s'est produise lors de l'analyse du contenu unexpected character caractère impromptu invalid name for processing instruction nom d'instruction de traitement invalide version expected while reading the XML declaration version attendue dans la déclaration XML wrong value for standalone declaration valeur invalide pour déclaration autonome error occurred while parsing document type definition une erreur s'est produite lors de l'analyse d'une définition de type de document letter is expected lettre attendue error occurred while parsing comment une erreur s'est produise lors de l'analyse d'un commentaire error occurred while parsing reference une erreur s'est produite lors de l'analyse d'une référence internal general entity reference not allowed in DTD appel d'entité interne générale non permis dans la DTD external parsed general entity reference not allowed in attribute value appel d'entité externe parsée non permis dans la valeur d'un attribut external parsed general entity reference not allowed in DTD appel d'entité externe parsée générale non permis dans la DTD unparsed entity reference in wrong context appel d'entité non parsée dans un contexte invalide recursive entities entités récursives error in the text declaration of an external entity erreur dans la déclaration de texte d'une entité externe encoding declaration or standalone declaration expected while reading the XML declaration déclaration d'encodage ou déclaration autonome attendue dans la déclaration XML standalone declaration expected while reading the XML declaration déclaration autonome attendue dans la déclaration XML QXmlStream Extra content at end of document. Conteny supplémentaire à la fin du document. Invalid entity value. Valeur de l'entité invalide. Invalid XML character. Caractère XML invalide. Sequence ']]>' not allowed in content. Séquence ']]>' interdite dans le contenu. Namespace prefix '%1' not declared Le préfixe de namespace '%1' non déclaré Attribute redefined. Attribut redéfini. Unexpected character '%1' in public id literal. Caractère '%1' inattendu dans un 'public id literal'. Invalid XML version string. Version XML invalide. Unsupported XML version. Version XML non supportée. %1 is an invalid encoding name. %1 n'est pas un encodage valide. Encoding %1 is unsupported Encodage %1 n'est pas supporté Invalid XML encoding name. Encodage XML invalide. Standalone accepts only yes or no. 'Standalone' n'accepte que 'yes' ou 'no'. Invalid attribute in XML declaration. Attribut invalide dans la déclaration XML. Premature end of document. Fin de document prématurée. Invalid document. Document invalide. Expected Attendu , but got ' , mais eu ' Unexpected ' Inattendu ' Expected character data. Character data attendu. Recursive entity detected. Entité recursive détectée. Start tag expected. Balise ouvrante attendue. XML declaration not at start of document. Déclaration XML après le début du document. NDATA in parameter entity declaration. NDATA dans une déclaration d'entité paramètre. %1 is an invalid processing instruction name. %1 est un nom d'instruction de traitement invalide. Invalid processing instruction name. Nom d'instruction de traitement invalide. Illegal namespace declaration. Déclaration de namespace illégale. Invalid XML name. Nom XML invalide. Opening and ending tag mismatch. Ouverture et fermeture de balise invalide. Reference to unparsed entity '%1'. Référence vers une entité non analysée '%1'. Entity '%1' not declared. Entité '%1' non déclarée. Reference to external entity '%1' in attribute value. Référence vers une entité externe '%1' dans la valeur de l'attribut. Invalid character reference. Référence vers un caractère invalide. Encountered incorrectly encoded content. Encodage du contenu incorrect. The standalone pseudo attribute must appear after the encoding. Le pseudo attribut standalone doit apparaître après l'encodage. %1 is an invalid PUBLIC identifier. %1 n'est pas un identifiant PUBLIC valide. QtXmlPatterns An %1-attribute with value %2 has already been declared. Un attribute %1 avec la valeur %2 est déjà déclaré. An %1-attribute must have a valid %2 as value, which %3 isn't. Un attribute %1 doit avoir un %2 valide, %3 ne l'a pas. Network timeout. Le réseau ne répond pas. Element %1 can't be serialized because it appears outside the document element. L'élément %1 ne peut pas être sérialisé parce qu'il est hors de l'élément document. Attribute element %1 can't be serialized because it appears at the top level. L'élément attribute %1 ne peut pas être sérialisé parce qu'il apparaît comme racine. Year %1 is invalid because it begins with %2. L'année %1 est invalide parce qu'elle commence par %2. Day %1 is outside the range %2..%3. Le jour %1 est hors de l'intervalle %2..%3. Month %1 is outside the range %2..%3. Le mois %1 est hors de l'intervalle %2..%3. Overflow: Can't represent date %1. Overflow: ne peut pas représenter la date %1. Day %1 is invalid for month %2. Jour %1 est invalide pour le mois %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; L'heure 24:%1:%2.%3 est invalide. L'heure est 24 mais les minutes, seconndes et millisecondes ne sont pas à 0; Time %1:%2:%3.%4 is invalid. L'heure %1:%2:%3.%4 est invalide. Overflow: Date can't be represented. Overflow : la date ne peut pas être représentée. At least one component must be present. Au moins un composant doit être présent. At least one time component must appear after the %1-delimiter. Au moins un composant doit apparaître après le délimiteur %1. No operand in an integer division, %1, can be %2. Pas d'opérande dans une division entière, %1, peut être %2. The first operand in an integer division, %1, cannot be infinity (%2). Le premier opérande dans une division entière, %1, ne peut être infini (%2). The second operand in a division, %1, cannot be zero (%2). Le second opérande dans une division, %1, ne peut être nul (%2). %1 is not a valid value of type %2. %1 n'est pas une valeur valide du type %2. When casting to %1 from %2, the source value cannot be %3. En castant de %2 vers %1, la valeur source ne peut pas être %3. Integer division (%1) by zero (%2) is undefined. Division entière (%1) par zéro (%2) indéfinie. Division (%1) by zero (%2) is undefined. Division (%1) par zéro (%2) indéfinie. Modulus division (%1) by zero (%2) is undefined. Module division (%1) par zéro (%2) indéfinie. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Diviser une valeur du type %1 par %2 (not-a-number) est interdit. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Diviser une valeur de type %1 par %2 ou %3 (plus ou moins zéro) est interdit. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. La multiplication d'une valeur du type %1 par %2 ou %3 (plus ou moins infini) est interdite. A value of type %1 cannot have an Effective Boolean Value. Une valeur de type %1 ne peut pas avoir une Effective Boolean Value. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Effective Boolean Value ne peut être calculée pour une séquence contenant deux ou plus valeurs atomiques. Value %1 of type %2 exceeds maximum (%3). La valeur %1 de type %2 excède le maximum (%3). Value %1 of type %2 is below minimum (%3). La valeur %1 de type %2 est inférieur au minimum (%3). A value of type %1 must contain an even number of digits. The value %2 does not. Une valeur de type %1 doit contenir un nombre pair de chiffre. La valeur %2 n'est pas conforme. %1 is not valid as a value of type %2. %1 n'est pas une valeur valide de type %2. Operator %1 cannot be used on type %2. L'opérateur %1 ne peut pas être utilisé pour le type %2. Operator %1 cannot be used on atomic values of type %2 and %3. L'opérateur %1 ne peut pas être utilisé pour des valeurs atomiques de type %2 ou %3. The namespace URI in the name for a computed attribute cannot be %1. L'URI de namespace dans le nom d'un attribut calculé ne peut pas être %1. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Le nom d'un attribut calculé ne peut pas avoir l'URI de namespace %1 avec le nom local %2. Type error in cast, expected %1, received %2. Erreur de type lors du cast, attendu %1 mais reçu %2. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. En castant vers %1 ou des types dérivés, la valeur source doit être du même type ou une chaîne. Le type %2 n'est pas autorisé. No casting is possible with %1 as the target type. Aucun cast n'est possible avec %1 comme type de destination. It is not possible to cast from %1 to %2. Il est impossible de caster de %1 en %2. Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. Caster vers %1 est impossible parce que c'est un type abstrait qui ne peut donc être instancié. It's not possible to cast the value %1 of type %2 to %3 I lest impossible de caster la valeur %1 de type %2 en %3 Failure when casting from %1 to %2: %3 Echec en castant de %1 ver %2 : %3 A comment cannot contain %1 Un commentaire ne peut pas contenir %1 A comment cannot end with a %1. Un commentaire ne peut pas finir par %1. No comparisons can be done involving the type %1. Aucune comparaison ne peut être faite avec le type %1. Operator %1 is not available between atomic values of type %2 and %3. L'opérateur %1 n'est pas disponible entre valeurs atomiques de type %2 et %3. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. Un noeuds attribut ne peut être un fils d'un noeuds document. C'est pourquoi l'attribut %1 est mal placé. A library module cannot be evaluated directly. It must be imported from a main module. Un module de bibliothèque ne peut pas être évalué directement. Il doit être importé d'un module principal. No template by name %1 exists. Aucun template nommé %1 n'existe. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. Une valeur de type %1 ne peut être un prédicat. Un prédicat doit être de type numérique ou un Effective Boolean Value. A positional predicate must evaluate to a single numeric value. Un prédicat de position doit être évalué en une unique valeur numérique. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. Le nom de destination dans une instruction de traitement ne peut être %1. %2 est invalide. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. %1 n'est pas un nom de destination valide dans une instruction de traitement. Ce doit être une valeur %2, par ex. %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. La dernière étape dans un chemin doit contenir soit des noeuds soit des valeurs atomiques. Cela ne peut pas être un mélange des deux. The data of a processing instruction cannot contain the string %1 Les données d'une instruction de traitement ne peut contenir la chaîne %1 No namespace binding exists for the prefix %1 Aucun lien de namespace n'existe pour le préfixe %1 No namespace binding exists for the prefix %1 in %2 Aucun lien de namespace n'existe pour le préfixe %1 dans %2 %1 is an invalid %2 %1 est un ivalide %2 %1 takes at most %n argument(s). %2 is therefore invalid. %1 prend au maximum %n argument. %2 est donc invalide. %1 prend au maximum %n arguments. %2 est donc invalide. %1 requires at least %n argument(s). %2 is therefore invalid. %1 requiert au moins %n argument. %2 est donc invalide. %1 requiert au moins %n arguments. %2 est donc invalide. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. Le premier argument de %1 ne peut être du type %2. Il doit être de type numérique, xs:yearMonthDuration ou xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Le premier argument de %1 ne peut être du type %2. Il doit être de type %3, %4 ou %5. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Le deuxième argument de %1 ne peut être du type %2. Il doit être de type %3, %4 ou %5. %1 is not a valid XML 1.0 character. %1 n'est pas un caractère XML 1.0 valide. The first argument to %1 cannot be of type %2. Le premier argument de %1 ne peut être du type %2. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. Si les deux valeurs ont des décalages de zone, elle doivent avoir le même. %1 et %2 sont différents. %1 was called. %1 a été appelé. %1 must be followed by %2 or %3, not at the end of the replacement string. %1 doit être suivi par %2 ou %3, et non à la fin de la chaîne de remplacement. In the replacement string, %1 must be followed by at least one digit when not escaped. Dans la chaîne de remplacement, %1 doit être suivi par au moins un chiffre s'il n'est pas échappé. In the replacement string, %1 can only be used to escape itself or %2, not %3 Dans la chaîne de remplacement, %1 peut seulement être utilisé pour échapper lui-même ou %2 mais pas %3 %1 matches newline characters %1 correspond à des caractères de saut de ligne %1 and %2 match the start and end of a line. %1 et %2 correspondent au début et à la fin d'une ligne. Matches are case insensitive Les correspondances ne sont pas sensibles à la casse Whitespace characters are removed, except when they appear in character classes Les blancs sont supprimés excepté quand ils apparaissent dans les classes de caractère %1 is an invalid regular expression pattern: %2 %1 est un modèle d'expression régulière invalide: %2 %1 is an invalid flag for regular expressions. Valid flags are: %1 est un flag invalide pour des expressions régulières. Les flags valides sont : If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. Si le premier argument est une sequence vide ou un chaîne vide (sans namespace), un préfixe ne peut être spécifié. Le préfixe %1 a été spécifié. It will not be possible to retrieve %1. Il sera impossible de récupérer %1. The root node of the second argument to function %1 must be a document node. %2 is not a document node. Le noeuds racine du deuxième argument à la fonction %1 doit être un noeuds document. %2 n'est pas un document. The default collection is undefined I'l n'y a pas de collection par défaut %1 cannot be retrieved %1 ne peut pas être récupéré The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). Le forme de normalisation %1 n'est pas supportée. Les formes supportées sont %2, %3, %4 et %5, et aucun, ie. une chaîne vide (pas de normalisation). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. Un décalage de zone doit être dans l'intervalle %1..%2 inclus. %3 est hors de l'intervalle. %1 is not an whole number of minutes. %1 n'est pas un nombre complet de minutes. Required cardinality is %1; got cardinality %2. La cardinalité requise est %1; reçu %2. The item %1 did not match the required type %2. L'item %1 ne correspond pas au type requis %2. %1 is an unknown schema type. %1 est un type de schema inconnu. Only one %1 declaration can occur in the query prolog. Seulement une déclaration %1 peut intervenir lors du prologue de la requête. The initialization of variable %1 depends on itself L'initialisation de la variable %1 dépend d'elle-même No variable by name %1 exists Aucun variable nommée %1 existe The variable %1 is unused La variable %1 est inutilisée Version %1 is not supported. The supported XQuery version is 1.0. La version %1 n'est pas supportée. La version de XQuery supportée est 1.0. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. L'encodage %1 est invalide. Il doit contenir uniquement des caractères latins, sans blanc et doit être conforme à l'expression régulière %2. No function with signature %1 is available Aucune fonction avec la signature %1 n'est disponible A default namespace declaration must occur before function, variable, and option declarations. Un déclaration de namespace par défaut doit être placée avant toute fonction, variable ou declaration d'option. Namespace declarations must occur before function, variable, and option declarations. Les declarations de namespace doivent être placées avant tout fonction, variable ou déclaration d'option. Module imports must occur before function, variable, and option declarations. Les imports de module doivent être placés avant tout fonction, variable ou déclaration d'option. It is not possible to redeclare prefix %1. Il est impossible de redéclarer le préfixe %1. Only the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. Seul le préfixe %1 peut être déclaré pour lié le namespace %2. Par défaut, il est déjà lié au préfixe %1. Prefix %1 is already declared in the prolog. Le préfixe %1 est déjà déclaré dans le prologue. The name of an option must have a prefix. There is no default namespace for options. Le nom d'une option doit avoir un préfixe. Il n'y a pas de namespace par défaut pour les options. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. La fonctionnalité "Schema Import" n'est pas supportée et les déclarations %1 ne peuvent donc intervenir. The target namespace of a %1 cannot be empty. Le namespace cible d'un %1 ne peut être vide. The module import feature is not supported La fonctionnalité "module import" n'est pas supportée A variable by name %1 has already been declared in the prolog. Une variable du nom %1 a déjà été déclarée dans le prologue. No value is available for the external variable by name %1. Aucune valeur n'est disponible pour la variable externe %1. The namespace for a user defined function cannot be empty(try the predefined prefix %1 which exists for cases like this) Le namespace d'une fonction définie par l'utilisateur ne peut être vide (essayez le préfixe prédéfini %1 qui existe pour ce genre de cas) A construct was encountered which only is allowed in XQuery. Construct n'est autorisé que dans XQuery. A template by name %1 has already been declared. Un template nommé %1 a déjà été déclaré. The keyword %1 cannot occur with any other mode name. Le mot-clé %1 ne peut pas apparaître avec un autre nom de mode. The value of attribute %1 must of type %2, which %3 isn't. La valeur de l'attribut %1 doit être du type %2, %3 n'en est pas. The prefix %1 can not be bound. By default, it is already bound to the namespace %2. Le préfixe %1 ne peut être lié. Par défault, il est déjà lié au namespace %2. A variable by name %1 has already been declared. Une variable nommée %1 a déjà été déclarée. A stylesheet function must have a prefixed name. Une fonction de feuille de style doit avoir un nom préfixé. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) Le namespace d'une fonction utilisateur ne peut pas être vide (essayez le préfixe prédéfini %1 qui existe pour ce genre de cas) The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. Le namespace %1 est réservé; c'est pourquoi les fonctions définies par l'utilisateur ne peuvent l'utiliser. Essayez le préfixe prédéfini %2 qui existe pour ces cas. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 Le namespace d'une fonction utilisateur dans un module de bibliothèque doit être équivalent au namespace du module. En d'autres mots, il devrait être %1 au lieu de %2 A function already exists with the signature %1. Une fonction avec la signature %1 existe déjà. No external functions are supported. All supported functions can be used directly, without first declaring them as external Les fonctions externes ne sont pas supportées. Toutes les fonctions supportées peuvent êter utilisées directement sans les déclarer préalablement comme externes An argument by name %1 has already been declared. Every argument name must be unique. Un argument nommé %1 a déjà été déclaré. Chaque nom d'argument doit être unique. When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. Quand la fonction %1 est utilisée pour vérifier la correspondance dans un pattern, l'argument doit être une référence de variable ou une chaîne de caractères. In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. Dans un pattern XSL-T, le premier argument à la fonction %1 doit être une chaîne de caractères quand utilisé pour correspondance. In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. Dans un pattern XSL-T, le premier argument à la fonction %1 doit être un litéral ou une référence de variable. In an XSL-T pattern, function %1 cannot have a third argument. Dans un pattern XSL-T, la fonction %1 ne peut pas avoir de 3e argument. In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. Dans un pattern XSL-T, seules les fonctions %1 et %2 (pas %3) peuvent être utilisées pour le matching. In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. Dans un pattern XSL-T, l'axe %1 ne peut pas être utilisé, seulement %2 ou %3 le peuvent. %1 is an invalid template mode name. %1 est un nom de mode de template invalide. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. Le nom d'une variable liée dans un expression for doit être different de la variable positionnelle. Les deux variables appelées %1 sont en conflit. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. La fonctionnalité "Schema Validation" n'est pas supportée. Les expressions %1 ne seront pas utilisées. None of the pragma expressions are supported. Therefore, a fallback expression must be present Aucune des expressions pragma n'est supportée. Une expression par défault doit être présente Each name of a template parameter must be unique; %1 is duplicated. Chaque nom d'un paramètre ede template doit être unique; %1 est dupliqué. The %1-axis is unsupported in XQuery L'axe %1 n'est pas supporté dans XQuery %1 is not a valid name for a processing-instruction. %1 n'est pas un nom valide pour une instruction de traitement. %1 is not a valid numeric literal. %1 n'est pas une valeur numérique valide. No function by name %1 is available. La fonction %1 n'est pas disponible. The namespace URI cannot be the empty string when binding to a prefix, %1. L'URI de namespace ne peut être une chaîne vide quand on le lie à un préfixe, %1. %1 is an invalid namespace URI. %1 est un URI de namespace invalide. It is not possible to bind to the prefix %1 Il est impossible de se lier au préfixe %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Le namespace %1 peut seulement être lié à %2 (et doit être pré-déclaré). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Le préfixe %1 peut seulement être lié à %2 (et doit être prédéclaré). Two namespace declaration attributes have the same name: %1. Deux attributs de déclarations de namespace ont le même nom : %1. The namespace URI must be a constant and cannot use enclosed expressions. L'URI de namespace doit être une constante et ne peut contenir d'expressions. An attribute by name %1 has already appeared on this element. Un attribute nommé %1 existe déjà pour cet élément. A direct element constructor is not well-formed. %1 is ended with %2. Un constructeur direct d'élément est mal-formé. %1 est terminé par %2. The name %1 does not refer to any schema type. Le nom %1 ne se réfère à aucun type de schema. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 est une type complexe. Caster vers des types complexes n'est pas possible. Cependant, caster vers des types atomiques comme %2 marche. %1 is not an atomic type. Casting is only possible to atomic types. %1 n'est pas un type atomique. Il est uniquement possible de caster vers des types atomiques. %1 is not a valid name for a processing-instruction. Therefore this name test will never match. %1 n'est pas un nom valide pour une instruction de traitement. C'est pourquoi ce test de nom ne réussira jamais. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. %1 n'est pas dans les déclaration d'attribut in-scope. La fonctionnalité d'inport de schéma n'est pas supportée. The name of an extension expression must be in a namespace. Le nom d'une expression d'extension doit être dans un namespace. empty vide zero or one zéro ou un exactly one exactement un one or more un ou plus zero or more zéro ou plus Required type is %1, but %2 was found. Le type requis est %1, mais %2 a été reçu. Promoting %1 to %2 may cause loss of precision. La Promotion de %1 vers %2 peut causer un perte de précision. The focus is undefined. Le focus est indéfini. It's not possible to add attributes after any other kind of node. Il est impossible d'ajouter des attributs après un autre type de noeuds. An attribute by name %1 has already been created. Un attribute de nom %1 a déjà été créé. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. Seule le Unicode CodepointCollation est supporté (%1), %2 n'est pas supporté. %1 is not a whole number of minutes. %1 n'est pas un nombre entier de minutes. Attribute %1 can't be serialized because it appears at the top level. L'attribut %1 ne peut pas être sérialisé car il apparaît à la racine. %1 is an unsupported encoding. %1 est un encodage non supporté. %1 contains octets which are disallowed in the requested encoding %2. %1 contient 'octets', qui n'est pas autorisé pour l'encodage %2. The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. Le codepoint %1 dans %2 et utilisant l'encodage %3 est un caractère XML invalide. Ambiguous rule match. Corresonpdance aux règles ambigüe. In a namespace constructor, the value for a namespace value cannot be an empty string. Dans un cosntructeur de namespace, la valeur pour un namespace ne peut pas être une chaîne vide. In a namespace constructor, the value for a namespace cannot be an empty string. Dans un constructeur d'espace de noms, la valeur pour un espace de noms ne peut pas être une chaîne vide. The prefix must be a valid %1, which %2 is not. Le préfixe doit être un valide %1; %2 n'e l'est pas. The prefix %1 cannot be bound. Le préfixe %1 ne peut être lié. Only the prefix %1 can be bound to %2 and vice versa. Seul le préfixe %1 peut être lié à %2, et vice versa. Circularity detected Circularité détectée The parameter %1 is required, but no corresponding %2 is supplied. Le paramètre %1 est requis, mais aucun %2 correspondant n'est fourni. The parameter %1 is passed, but no corresponding %2 exists. Le paramètre %1 est passé mais aucun %2 correspondant n'existe. The URI cannot have a fragment L'URI ne peut pas avoir de fragments Element %1 is not allowed at this location. L'élément %1 n'est pas autorisé à cet emplacement. Text nodes are not allowed at this location. Les noeuds de texte ne sont pas autorisés à cet emplacement. Parse error: %1 Erreur: %1 The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. La valeur de l'attribut de version XSL-T doit être du type %1, et non %2. Running an XSL-T 1.0 stylesheet with a 2.0 processor. Lancement d'une feuille de style XSL-T 1.0 avec un processeur 2.0. Unknown XSL-T attribute %1. Attribut XSL-T inconnu : %1. Attribute %1 and %2 are mutually exclusive. Les attributs %1 et %2 sont mutuellement exclusifs. In a simplified stylesheet module, attribute %1 must be present. Dans un module de feuille de style simplifié, l'attribut %1 doit être présent. If element %1 has no attribute %2, it cannot have attribute %3 or %4. Si l'élément %1 n'a pas d'attribut %2, il ne peut pas avoir d'attribut %3 ou %4. Element %1 must have at least one of the attributes %2 or %3. L'élement %1 doit avoir au moins un des attributs %2 ou %3. At least one mode must be specified in the %1-attribute on element %2. Au moins un mode doit être spécifié dans l'attribut %1 sur l'élément %2. Attribute %1 cannot appear on the element %2. Only the standard attributes can appear. L'attribut %1 ne peut pas apparaître sur l'élément %2. Seuls les attributs standard le peuvent. Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes. L'attribut %1 ne peut pas apparaître sur l'élément %2. Seul %3 est autorisé, ainsi que les attributs standard. Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes. L'attribut %1 ne peut pas apparaître sur l'élément %2. Seuls %3, %4 et les attributs standard le sont. Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes. L'attribut %1 ne peut pas apparaître sur l'élément %2. Seul %3 et les attributs standard le sont. XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is. Les attributs XSL-T sur des éléments XSL-T doivent être dans le namespace null, et pas dans %1. The attribute %1 must appear on element %2. L'attribut %1 doit apparaître sur l'élément %2. The element with local name %1 does not exist in XSL-T. L'élément avec le nom local %1 n'existe pas dans XSL-T. Element %1 must come last. L'élément %1 doit être le dernier. At least one %1-element must occur before %2. Au moins un élément %1 doit être placé avant %2. Only one %1-element can appear. Seulement un élément %1 peut apparaître. At least one %1-element must occur inside %2. Au moins un élément %1 doit apparaître dans %2. When attribute %1 is present on %2, a sequence constructor cannot be used. Quand l'attribut %1 est présent sur %2, un constructeur de séquence ne peut pas être utilisé. Element %1 must have either a %2-attribute or a sequence constructor. L'élément %1 doit avoir un attribut %2 ou un constructeur de séquence. When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. Quand un paramètre est requis, un valeur par défault ne peut pas être fournie par un attribute %1 ou un constructeur de séquence. Element %1 cannot have children. L'élément %1 ne peut pas avoir de fils. Element %1 cannot have a sequence constructor. L'élément %1 ne peut pas avoir un constructuer de séquence. The attribute %1 cannot appear on %2, when it is a child of %3. L'attribut %1 ne peut pas apparaître sur %2 quand il est fils de %3. A parameter in a function cannot be declared to be a tunnel. Un paramètre de fonction ne peut pas être déclaré comme un tunnel. This processor is not Schema-aware and therefore %1 cannot be used. Ce processeur ne comprend pas les Schemas. C'est pourquoi %1 ne peut pas être utilisé. Top level stylesheet elements must be in a non-null namespace, which %1 isn't. Les élément d'une feuille de style de haut niveau doivent être dans un namespace non nul; %1 ne l'est pas. The value for attribute %1 on element %2 must either be %3 or %4, not %5. La valeur de l'attribut %1 de l'élement %2 doit être %3 ou %4, et pas %5. Attribute %1 cannot have the value %2. L'attribut %1 ne peut avoir la valeur %2. The attribute %1 can only appear on the first %2 element. L'attribute %1 peut seulement apparaître sur le premier élément %2. At least one %1 element must appear as child of %2. Au moins un élément %1 doit apparaître comme fils de %2. VolumeSlider Muted Muet Volume: %1% WebCore::PlatformScrollbar Scroll here Défiler jusqu'ici Left edge Extrême gauche Top En haut Right edge Extrême droite Bottom En bas Page left Page précédente Page up Page précédente Page right Page suivante Page down Page suivante Scroll left Défiler vers la gauche Scroll up Défiler vers le haut Scroll right Défiler vers la droite Scroll down Défiler vers le bas qelectrotech-0.22+svn897/lang/qet_fr.qm0000644000175000017500000000157311210633540017640 0ustar laurentlaurent;OF;;MIO?POOD}JmJ((5+;+;L+;Sf+O+OK1cE@FH42HYiKH7IJ5Jl:KLD6_L6PS8QqRmW}ZrD[`*[`b\_E_Pr1TaEVXLs]2$j<$h,4?yk*/k\(59jREJE`67%%`7v֍k֍ ֍֍0(0N0*00850558_ DQ Dh9+=t,S,M<?&FS7FN H5H5QH5hH5VE~f?fCZfOqfbf#ff]Dg l@^3^PRh`Ct`yyp'<Ce"eRBeiį^dį^ y~Rx^QQ3] $o(4d(4d(5e(5eP*y).*y*y[P*Tq#*07*0+F#+FZ+L'+f+f[+zA<+)++[+zAr++L1+[+qV+++į)+į8+į[+A7.:9Mx;@*C:ÿF0iGFn4ΊFn4GLHw9(5Hw9LHzI'j I?CIJ+)J6*J6CJ6MWJ6RlJ6J6J6J6FJcbQKQ{.K_LZ6LLC/LbM5RMbMemMNkqO|BkPFE-PFE<PFEQlRmCR|!RmjS8^KTTʴj;T$U?^U|JPU}n@V1V1VlpVlV}[V@VngW]tWTWT WTAX~JCXOX~fX˙P_XAYnYYBYcZgCZkpZo[;^ \\]4\]4J\\5atgc lGh|^wc@vK vM2lfx4L5.L6CjjIA%t[O+#I>ryɵnDɵnɵntɵnɵntɵnɵnɵn"8{ B * 'YANrMEOa8~]q <>H>i<Ep5#Qx%UT(Ŏe*4ن-ctW~25vr8XkaR?[e fPl%yoR<-orpNЀw^<x#|{y<c+GlWa202g{'jD.SRAihBP dyty#jur S ~* Ydm ["l);-yv/=ND+1$ 5~u2< )?2̣?NM}Nky,UiW~ ]X ]#T`F`<jtulgWlyzl}u oipwvtyDvty,1m"E`@%04)6K66'^y)0)`[RT=x~.DZB(E)?E){^=Ȍ8AUAwgG[y:LPn9 G?Մܵ$mMMEsE}w'5w'0^g I wVJ] ,!ed%Ձ&)D*/eE5.;NByEcFJoOQZf]\cJy`bcփ>(fg&4ajCemn?qSqtuIvu(8{><}kaMMnh~o vy $$j+R(EEʁhBr>^KqKji֊B n^,x,;yLON-ASn7^=9&H*../?˺IxS?M]R>YMtYM}l^h^0.i5ssctsw&tnxix/^"2̫ۊB6atZN=]&w]i:I'I'I(lIMIIN6II:Y:i; y;G99::W9+9gI<;;<7LAL_6N7bkc3.=SmPq{VNVnfRZ8O l( pD +s=[? &%C0c&~l&)2)9*4+,?"?>uy3JѰKNYM3N>RV|m]]vdIK1gk@y^,{y5t~1Fc_A:pΞnG%rCnصǥjBw+B`o?6Vt{y/ ;oxAor9\oBCsox/Ͼa%?r{ޖC-5?hC^ƨhƨP?˾ҝziUVէ?O'Z>0zWHߺ6UnfYq.Sm5f^! $~ba~bhjoM!)ў+u+3 r,8`[//1is4~"6 B9? 2ADGsQGbg9LAUYOrGJPѧMQlSniT.U"UUTZ4Z5Z5<Z5t[.]k*a]^ne_p e?ix{ikQZoN@y;{}u@[}w(/}wFm}w}}[t/r+ "PB4BvXt(t I.(s.F3VPLiUaD3DYt8>t~tQ-nR_ ?+>F9CʢH1ʢ~ƴdI6ddndvd0|"59эD+NSOU\dBh0wdP 2& iK?C +'V3B+,Dz)/2T 42 6y7DU:$?;$CU]nDJINJ0KK~U|4oV7\ ar tw|(^2|z| }wZ%}$'}$F-}$|ϗZVNuxDL><tlNAqqAK<Of+k·*·W'ý׳ /UiEqH-UvZ_u\%5gT i e~~i~/iC9%1wibX#%'-.0.L5kE=2#=X?3?CtIk PV%jXU `Z`,I`N*bDCbGf֘fdgOgA$hIl`i$x1 4z*23X|QREdJ,DU4(.\m5zTc.=DU0reXlmr^men&$;Ax†5iiCPʴ5\ʴ5ʶt:^ Ԅ{۔# D'N dF5-FF5Y'p+>>II`As H }$T qe| ڤ ڥ dL EC Eԁ R, AcE Acd H 35 )& b bb_) b`*8 b` gUl i34 laM u(E xq |oF |4 J t tc . ] h )j F> W 8 K  B^ ҉ >$y   g E nY N# k Y+0 K++ ` 팤Ж l~ %'_  < // = qo  D  } oU s )7 */3 .> 5 7u7 ;: =rw B Bn J"J J" K2 Rۮ Ty T^3 Uj4 ] ` `! b bG c( cE dN e9 eax e{1 f1u f* g5U gn> k, rD"'k t4 IK^ ;# 8 % fZ[ JCA $C $+ %p;t , ,Z f =E ; tlf ` n t ˔q P7h P v ~ 68= >> :A f  f \ 4* .pM ( s s_h AAz< 9 M 9q  m m," #-t 0N< 5[ AQ? CUp E9 Iv* Lk L7 LX Mc\Q' R SW V Wi, ]$FD f); f)\ f= io> m`/ w[ xRA yrJ >@ 1 &y HN H[K ; nV $^7 .@Df & i  *` \ g % JU J_ v t.ڃ kZo Ӈ* M ^ ( N> ̺q &V- -Dr . ۷ c> r k) ks U)  <.* - W 0?v y  z+{q  w  : Ik %p N! ? h xH e  .@W 7F >z >{q >|p >s > >X >ǹ > ?t|e DT I? P@ RVd RV RV^ S.Nc SG SS Y Y [b c`' hۮk7 j7oY p@ v' . .m B  TEQ T/ Tp T ) I G ݍ k % )dů T an ;>/ .E ., ./ . . .#7  M B a y-  G e.x hN >* ҂  %wi uv ƍ |-B  & Xt8 nIh 9g t\ aT Ϝ :b Uq+ W O.s ʜ>   #$] #= %n"_ (I$F (N +>A +k= 0E 64.u ;ɾ\% FgD K9 Pt Pt T> W ߇ dB fe& feq g iFC7? ia= i7 jӮ kGn95 m9n n u@4 uTL v O v&e v{ w'd wE w|T w}' w}E w}| |[  t } %f8 J, ^ } Rd P ɾ xN ] UX ɰe F4 N X & D c +/ t5X t5v   C >;   )1 /eRw @akT:?mogT:*8*/E9B/EN=BI_YKiOOXRuc XM[ d[  a.NDa.gcHnyGvɅ#y$~o>d4&'X4eSi^Ǘ{:B6cHrݖ[y^2&  ^GlD"#$$U!%4Qm%4gz-v`a0i)=0>1c22wT=<9<(2D0H!:JdKKK# L$.$W c5(c5~g3 :mhOpyC1{~a=26$s6Y5!&s&y{`*nq[w>_>bnIgNXB E"~LJr9rZkyLn6 BIPt2=r Z"(dUUeeij<html>Utilisation de <b>%1</b><br/>qui vient de devenir disponible et a une plus grande priorit.</html>xSwitching to the audio playback device %1
which just became available and has higher preference. AudioOutput<html>Le dispositif audio <b>%1</b> ne fonctionne pas.<br/>Utilisation de <b>%2</b>.</html>^The audio playback device %1 does not work.
Falling back to %2. AudioOutput&Utilisation de '%1'Revert back to device '%1' AudioOutputFermer l'onglet Close Tab CloseButtonAccessibilit AccessibilityPhonon:: CommunicationPhonon::JeuxGamesPhonon::MusiqueMusicPhonon:: NotificationsPhonon:: VidoVideoPhonon::Attention: Vous n'avez apparemment pas installes les plugins de base de GStreamer. Le support audio et vido est dsactiv~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::BackendAttention: Vous n'avez apparemment pas install le paquet gstreamer0.10-plugins-good. Des fonctionnalits vido ont t desactives.Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendUn codec requis est manquant. Vous devez installer le codec suivant pour jouer le contenu: %0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObject Impossible de dmarrer la lecture. Verifiez votre installation de Gstreamer et assuez-vousd'avoir install libgstreamer-plugins-base.wCannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObjectLImpossible de dcoder le mdia source.Could not decode media source.Phonon::Gstreamer::MediaObjectPImpossible de localiser le mdia source.Could not locate media source.Phonon::Gstreamer::MediaObjectImpossible d'ouvrir le priphrique audio. Celui-ci est dj en cours d'utilisation.:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectHImpossible d'ouvrir le mdia source.Could not open media source.Phonon::Gstreamer::MediaObject0Type de source invalide.Invalid source type.Phonon::Gstreamer::MediaObjectUtilisez le slider pour ajuster le volume. La position la plus gauche est 0%, la plus droite est %1%WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSliderVolume: %1% Volume: %1%Phonon::VolumeSliderHLa squence %1, %2 n'est pas dfinie%1, %2 not definedQ3Accel>Squence ambigu %1 non traiteAmbiguous %1 not handledQ3AccelSupprimerDelete Q3DataTableFauxFalse Q3DataTableInsrerInsert Q3DataTableVraiTrue Q3DataTableActualiserUpdate Q3DataTable%1 Impossible de trouver le fichier. Vrifier le chemin et le nom du fichier.+%1 File not found. Check path and filename. Q3FileDialogSuppri&mer&Delete Q3FileDialog&Non&No Q3FileDialog&OK&OK Q3FileDialog&Ouvrir&Open Q3FileDialog&Renommer&Rename Q3FileDialog&Enregistrer&Save Q3FileDialog&Non tri &Unsorted Q3FileDialog&Oui&Yes Q3FileDialogb<qt>Voulez-vous vraiment supprimer %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog*Tous les fichiers (*) All Files (*) Q3FileDialog.Tous les fichiers (*.*)All Files (*.*) Q3FileDialogAttributs Attributes Q3FileDialog,Prcdent (historique)Back Q3FileDialogAnnulerCancel Q3FileDialog6Copie ou dplace un fichierCopy or Move a File Q3FileDialog0Crer un nouveau dossierCreate New Folder Q3FileDialogDateDate Q3FileDialogSupprimer %1 Delete %1 Q3FileDialog$Affichage dtaill Detail View Q3FileDialogDossierDir Q3FileDialogDossiers Directories Q3FileDialogDossier: Directory: Q3FileDialog ErreurError Q3FileDialogFichierFile Q3FileDialog"&Nom de fichier: File &name: Q3FileDialog$&Type de fichier: File &type: Q3FileDialog0Chercher dans le dossierFind Directory Q3FileDialogInaccessible Inaccessible Q3FileDialogAffichage liste List View Q3FileDialog Chercher &dans: Look &in: Q3FileDialogNomName Q3FileDialogNouveau dossier New Folder Q3FileDialog$Nouveau dossier %1 New Folder %1 Q3FileDialog"Nouveau dossier 1 New Folder 1 Q3FileDialog.Aller au dossier parentOne directory up Q3FileDialog OuvrirOpen Q3FileDialog OuvrirOpen  Q3FileDialog>Contenu du fichier prvisualisPreview File Contents Q3FileDialogHInformations du fichier prvisualisPreview File Info Q3FileDialogR&echargerR&eload Q3FileDialogLecture seule Read-only Q3FileDialog Lecture-criture Read-write Q3FileDialogLecture: %1Read: %1 Q3FileDialog Enregistrer sousSave As Q3FileDialog.Slectionner un dossierSelect a Directory Q3FileDialog:Afficher les fic&hiers cachsShow &hidden files Q3FileDialog TailleSize Q3FileDialogTriSort Q3FileDialogTrier par &date Sort by &Date Q3FileDialogTrier par &nom Sort by &Name Q3FileDialog"Trier par ta&ille Sort by &Size Q3FileDialogFichier spcialSpecial Q3FileDialog>Lien symbolique vers un dossierSymlink to Directory Q3FileDialog>Lien symbolique vers un fichierSymlink to File Q3FileDialogNLien symbolique vers un fichier spcialSymlink to Special Q3FileDialogTypeType Q3FileDialogcriture seule Write-only Q3FileDialogcriture: %1 Write: %1 Q3FileDialogle dossier the directory Q3FileDialogle fichierthe file Q3FileDialog$le lien symbolique the symlink Q3FileDialogBImpossible de crer le dossier %1Could not create directory %1 Q3LocalFs,Impossible d'ouvrir %1Could not open %1 Q3LocalFs@Impossible de lire le dossier %1Could not read directory %1 Q3LocalFs`Impossible de supprimer le fichier ou dossier %1%Could not remove file or directory %1 Q3LocalFs>Impossible de renommer %1 en %2Could not rename %1 to %2 Q3LocalFs,Impossible d'crire %1Could not write %1 Q3LocalFs Personnaliser... Customize... Q3MainWindowAlignerLine up Q3MainWindowNOpration interrompue par l'utilisateurOperation stopped by the userQ3NetworkProtocolAnnulerCancelQ3ProgressDialogAppliquerApply Q3TabDialogAnnulerCancel Q3TabDialogPar dfautDefaults Q3TabDialogAideHelp Q3TabDialogOKOK Q3TabDialogCop&ier&Copy Q3TextEditCo&ller&Paste Q3TextEdit&Rtablir&Redo Q3TextEdit&Annuler&Undo Q3TextEditEffacerClear Q3TextEditCo&uperCu&t Q3TextEdit"Tout slectionner Select All Q3TextEdit FermerClose Q3TitleBar Ferme la fentreCloses the window Q3TitleBar`Contient des commandes pour manipuler la fentre*Contains commands to manipulate the window Q3TitleBarAffiche le nom de la fentre et contient des contrles pour la manipulerFDisplays the name of the window and contains controls to manipulate it Q3TitleBarBAffiche la fentre en plein cranMakes the window full screen Q3TitleBarMaximiserMaximize Q3TitleBarRduireMinimize Q3TitleBar8Dplace la fentre l'cartMoves the window out of the way Q3TitleBar\Rend une fentre minimise son aspect normal&Puts a maximized window back to normal Q3TitleBar\Rend une fentre minimise son aspect normalPuts a minimized back to normal Q3TitleBar Restaurer en bas Restore down Q3TitleBar"Restaurer en haut Restore up Q3TitleBarSystmeSystem Q3TitleBarReste...More... Q3ToolBar(inconnu) (unknown) Q3UrlOperatorLe protocole `%1' ne permet pas de copier ou de dplacer des fichiersIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorzLe protocole `%1' ne permet pas de crer de nouveaux dossiers;The protocol `%1' does not support creating new directories Q3UrlOperatorpLe protocole `%1' ne permet pas de recevoir des fichiers0The protocol `%1' does not support getting files Q3UrlOperatorLe protocole `%1' ne permet pas de lister les fichiers d'un dossier6The protocol `%1' does not support listing directories Q3UrlOperatorlLe protocole `%1' ne permet pas d'envoyer des fichiers0The protocol `%1' does not support putting files Q3UrlOperatorLe protocole `%1' ne permet pas de supprimer des fichiers ou des dossiers@The protocol `%1' does not support removing files or directories Q3UrlOperatorLe protocole `%1' ne permet pas de renommer des fichiers ou des dossiers@The protocol `%1' does not support renaming files or directories Q3UrlOperator@Le protocole '%1' n'est pas gr"The protocol `%1' is not supported Q3UrlOperator&Annuler&CancelQ3Wizard&Terminer&FinishQ3Wizard &Aide&HelpQ3Wizard&Suivant >&Next >Q3Wizard< &Prcdent< &BackQ3Wizard"Connexion refuseConnection refusedQAbstractSocket"Connexion expireConnection timed outQAbstractSocket Hte introuvableHost not foundQAbstractSocket:Rseau impossible rejoindreNetwork unreachableQAbstractSocketDOpration sur socket non supporte$Operation on socket is not supportedQAbstractSocket8Le socket n'est pas connectSocket is not connectedQAbstractSocket0Opration socket expireSocket operation timed outQAbstractSocket$Tout &slectionner &Select AllQAbstractSpinBox&Augmenter&Step upQAbstractSpinBox&Diminuer Step &downQAbstractSpinBoxActiverActivate QApplicationRActive la fentre principale du programme#Activates the program's main window QApplicationbL'excutable '%1' requiert Qt %2 (Qt %3 prsent).,Executable '%1' requires Qt %2, found Qt %3. QApplicationJErreur: bibliothque Qt incompatibleIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication&Annuler&Cancel QAxSelect&Objet COM: COM &Object: QAxSelectOKOK QAxSelect@Slectionner un contrle ActiveXSelect ActiveX Control QAxSelect CocherCheck QCheckBoxChangerToggle QCheckBoxDcocherUncheck QCheckBoxH&Ajouter aux couleurs personnalises&Add to Custom Colors QColorDialog"Couleurs de &base &Basic colors QColorDialog0&Couleurs personnalises&Custom colors QColorDialog&Vert:&Green: QColorDialog&Rouge:&Red: QColorDialog&Saturation:&Sat: QColorDialog&Valeur:&Val: QColorDialogCanal a&lpha:A&lpha channel: QColorDialogBle&u:Bl&ue: QColorDialog&Teinte:Hu&e: QColorDialog0Slectionner une couleur Select Color QColorDialog FermerClose QComboBoxFauxFalse QComboBox OuvrirOpen QComboBoxVraiTrue QComboBox"%1: ftok a chou%1: ftok failedQCoreApplication%1: cl vide%1: key is emptyQCoreApplication<%1: impossible de crer la cl%1: unable to make keyQCoreApplicationJIncapable de soumettre la transactionUnable to commit transaction QDB2DriverBIncapable d'tablir une connexionUnable to connect QDB2DriverDIncapable d'annuler la transactionUnable to rollback transaction QDB2DriverLImpossible d'activer l'auto-soumissionUnable to set autocommit QDB2DriverBImpossible d'attacher la variableUnable to bind variable QDB2Result@Impossible d'excuter la requteUnable to execute statement QDB2ResultDImpossible de rcuprer le premierUnable to fetch first QDB2ResultDImpossible de rcuprer le suivantUnable to fetch next QDB2ResultVImpossible de rcuprer l'enregistrement %1Unable to fetch record %1 QDB2Result@Impossible de prpare la requteUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEditQDialQDialPoigne SliderHandleQDialTachymtre SpeedoMeterQDialTerminerDoneQDialog*Qu'est-ce que c'est? What's This?QDialog&Annuler&CancelQDialogButtonBox&Fermer&CloseQDialogButtonBox&Non&NoQDialogButtonBox&OK&OKQDialogButtonBoxEnregi&strer&SaveQDialogButtonBox&Oui&YesQDialogButtonBoxAbandonnerAbortQDialogButtonBoxAppliquerApplyQDialogButtonBoxAnnulerCancelQDialogButtonBox FermerCloseQDialogButtonBox.Fermer sans sauvegarderClose without SavingQDialogButtonBox$Ne pas enregistrerDiscardQDialogButtonBox$Ne pas enregistrer Don't SaveQDialogButtonBoxAideHelpQDialogButtonBoxIgnorerIgnoreQDialogButtonBoxNon to&ut N&o to AllQDialogButtonBoxOKOKQDialogButtonBox OuvrirOpenQDialogButtonBoxRinitialiserResetQDialogButtonBox@Restaurer les valeurs par dfautRestore DefaultsQDialogButtonBoxRessayerRetryQDialogButtonBoxEnregistrerSaveQDialogButtonBox Tout EnregistrerSave AllQDialogButtonBoxOui &tout Yes to &AllQDialogButtonBox*Dernire Modification Date Modified QDirModelTypeKind QDirModelNomName QDirModel TailleSize QDirModelTypeType QDirModel FermerClose QDockWidgetAttacherDock QDockWidgetDtacherFloat QDockWidget MoinsLessQDoubleSpinBoxPlusMoreQDoubleSpinBox&OK&OK QErrorMessage>&Afficher ce message de nouveau&Show this message again QErrorMessage(Message de dbogage:Debug Message: QErrorMessageErreur fatale: Fatal Error: QErrorMessageAvertissement:Warning: QErrorMessageHImpossible de crer %1 pour critureCannot create %1 for outputQFileFImpossible d'ouvrir %1 pour lectureCannot open %1 for inputQFileBImpossible d'ouvrir pour critureCannot open for outputQFileRImpossible de supprimer le fichier sourceCannot remove source fileQFile:Le fichier destination existeDestination file existsQFile6Impossible d'crire un blocFailure to write blockQFile%1 Dossier introuvable. Veuillez vrifier que le nom du dossier est correct.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Fichier introuvable. Veuillez vrifier que le nom du fichier est correct.A%1 File not found. Please verify the correct file name was given. QFileDialogdLe fichier %1 existe dj. Voulez-vous l'craser?-%1 already exists. Do you want to replace it? QFileDialog&Choisir&Choose QFileDialogSuppri&mer&Delete QFileDialog &Nouveau dossier &New Folder QFileDialog&Ouvrir&Open QFileDialog&Renommer&Rename QFileDialog&Enregistrer&Save QFileDialog'%1' est protg en criture. Voulez-vous quand mme le supprimer?9'%1' is write protected. Do you want to delete it anyway? QFileDialog*Tous les fichiers (*) All Files (*) QFileDialog.Tous les fichiers (*.*)All Files (*.*) QFileDialogREtes-vous sr de vouloir supprimer '%1'?!Are sure you want to delete '%1'? QFileDialog,Prcdent (historique)Back QFileDialogFImpossible de supprimer le dossier.Could not delete directory. QFileDialog0Crer un nouveau dossierCreate New Folder QFileDialog$Affichage dtaill Detail View QFileDialogDossiers Directories QFileDialogDossier: Directory: QFileDialog UnitDrive QFileDialogFichierFile QFileDialog"&Nom de fichier: File &name: QFileDialog$Fichiers de type:Files of type: QFileDialog0Chercher dans le dossierFind Directory QFileDialogSuccesseurForward QFileDialogAffichage liste List View QFileDialogVoir dans:Look in: QFileDialog Poste de travail My Computer QFileDialogNouveau dossier New Folder QFileDialog OuvrirOpen QFileDialogDossier parentParent Directory QFileDialog(Emplacements rcents Recent Places QFileDialogSupprimerRemove QFileDialog Enregistrer sousSave As QFileDialogMontrer Show  QFileDialog:Afficher les fic&hiers cachsShow &hidden files QFileDialogInconnuUnknown QFileDialog %1 Go%1 GBQFileSystemModel %1 Ko%1 KBQFileSystemModel %1 Mo%1 MBQFileSystemModel %1 To%1 TBQFileSystemModel%1 octets%1 bytesQFileSystemModel<b>Le nom "%1" ne peut pas tre utilis.</b><p>Essayez un autre nom avec moins de caractres ou sans ponctuation.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelOrdinateurComputerQFileSystemModel*Dernire modification Date ModifiedQFileSystemModel.Nom de fichier invalideInvalid filenameQFileSystemModelTypeKindQFileSystemModelMon ordinateur My ComputerQFileSystemModelNomNameQFileSystemModel TailleSizeQFileSystemModelTypeTypeQFileSystemModelTousAny QFontDatabase ArabeArabic QFontDatabaseArmnienArmenian QFontDatabaseBengali QFontDatabaseNoirBlack QFontDatabaseGrasBold QFontDatabaseCyrilliqueCyrillic QFontDatabaseDemi QFontDatabaseSemi Gras Demi Bold QFontDatabase Devanagari QFontDatabaseGorgienGeorgian QFontDatabaseGrecGreek QFontDatabaseGujarati QFontDatabaseGurmukhi QFontDatabase HbreuHebrew QFontDatabaseItaliqueItalic QFontDatabaseJaponaisJapanese QFontDatabaseKannada QFontDatabaseKhmer QFontDatabase CorenKorean QFontDatabaseLao QFontDatabaseLatin QFontDatabase LgerLight QFontDatabase Malayalam QFontDatabaseMyanmar QFontDatabaseNormal QFontDatabaseOblique QFontDatabaseOgham QFontDatabaseOriya QFontDatabaseRuniqueRunic QFontDatabase"Chinois SimplifiSimplified Chinese QFontDatabaseSinhala QFontDatabaseSymboleSymbol QFontDatabaseSyriaqueSyriac QFontDatabaseTamil QFontDatabaseTelugu QFontDatabaseThaana QFontDatabaseThai QFontDatabaseTibtainTibetan QFontDatabase(Chinois TraditionnelTraditional Chinese QFontDatabaseVietnamien Vietnamese QFontDatabase&Police&Font QFontDialog&Taille&Size QFontDialog&Soulign &Underline QFontDialog EffetsEffects QFontDialog St&yle de police Font st&yle QFontDialogExempleSample QFontDialog$Choisir une police Select Font QFontDialog &Barr Stri&keout QFontDialog&&Systme d'critureWr&iting System QFontDialogFchec du changement de dossier: %1Changing directory failed: %1QFtp"Connect l'hteConnected to hostQFtp(Connect l'hte %1Connected to host %1QFtpBchec de la connexion l'hte %1Connecting to host failed: %1QFtp"Connexion arrteConnection closedQFtp0Connexion donne refuse&Connection refused for data connectionQFtp:Connexion l'hte %1 refuseConnection refused to host %1QFtp@Connexion expire vers l'hte %1Connection timed out to host %1QFtp,Connexion %1 arrteConnection to %1 closedQFtpLchec de la cration d'un dossier: %1Creating directory failed: %1QFtpNchec du tlchargement du fichier: %1Downloading file failed: %1QFtpHte %1 trouv Host %1 foundQFtp&Hte %1 introuvableHost %1 not foundQFtpHte trouv Host foundQFtp@chec du listage du dossier: %1Listing directory failed: %1QFtp$chec du login: %1Login failed: %1QFtpNon connect Not connectedQFtpRchec de la suppression d'un dossier: %1Removing directory failed: %1QFtpRchec de la suppression d'un fichier: %1Removing file failed: %1QFtpErreur inconnue Unknown errorQFtp<chec du tldchargement: %1Uploading file failed: %1QFtpErreur inconnue Unknown error QHostInfo Hte introuvableHost not foundQHostInfoAgent.Adresse de type inconnuUnknown address typeQHostInfoAgentErreur inconnue Unknown errorQHostInfoAgent0Authentification requiseAuthentication requiredQHttp"Connect l'hteConnected to hostQHttp(Connect l'hte %1Connected to host %1QHttp"Connexion arrteConnection closedQHttp"Connexion refuseConnection refusedQHttpFConnexion refuse (ou dlai expir)!Connection refused (or timed out)QHttp,Connexion %1 arrteConnection to %1 closedQHttp$Donnes corrompuesData corruptedQHttpNErreur lors de l'criture de la rponse Error writing response to deviceQHttp0chec de la requte HTTPHTTP request failedQHttpzConnexion HTTPS requise mais le support SSL n'est pas compil:HTTPS connection requested but SSL support not compiled inQHttpHte %1 trouv Host %1 foundQHttp&Hte %1 introuvableHost %1 not foundQHttpHte trouv Host foundQHttpHL'hte requiert une authentificationHost requires authenticationQHttp,Fragment HTTP invalideInvalid HTTP chunked bodyQHttp>Entte de rponse HTTP invalideInvalid HTTP response headerQHttp,Aucun serveur spcifiNo server set to connect toQHttpLLe proxy requiert une authentificationProxy authentication requiredQHttpLLe proxy requiert une authentificationProxy requires authenticationQHttp&Requte interrompueRequest abortedQHttp2le handshake SSL a chouSSL handshake failedQHttpHConnexion interrompue par le serveur%Server closed connection unexpectedlyQHttpFMthode d'authentification inconnueUnknown authentication methodQHttpErreur inconnue Unknown errorQHttp4Protocole spcifi inconnuUnknown protocol specifiedQHttp8Longueur du contenu invalideWrong content lengthQHttp0Authentification requiseAuthentication requiredQHttpSocketEngineNPas de rponse HTTP de la part du proxy(Did not receive HTTP response from proxyQHttpSocketEngineTErreur de communication avec le proxy HTTP#Error communicating with HTTP proxyQHttpSocketEnginenErreur dans le reqte d'authentification reue du proxy/Error parsing authentication request from proxyQHttpSocketEnginepLa connexion au serveur proxy a t ferme prmaturment#Proxy connection closed prematurelyQHttpSocketEngine4Connexion au proxy refuseProxy connection refusedQHttpSocketEngine<Le Proxy a rejet la connexionProxy denied connectionQHttpSocketEngineLLa connexion au serveur proxy a expir!Proxy server connection timed outQHttpSocketEngine2Serveur proxy introuvableProxy server not foundQHttpSocketEngineNLa transaction n'a pas pu tre dmarreCould not start transaction QIBaseDriverPErreur d'ouverture de la base de donnesError opening database QIBaseDriverJIncapable de soumettre la transactionUnable to commit transaction QIBaseDriverDIncapable d'annuler la transactionUnable to rollback transaction QIBaseDriver>Impossible d'allouer la requteCould not allocate statement QIBaseResult@Impossible de dcrire la requte"Could not describe input statement QIBaseResult@Impossible de dcrire la requteCould not describe statement QIBaseResultRImpossible de rcuperer l'lment suivantCould not fetch next item QIBaseResult@Impossible de trouver le tableauCould not find array QIBaseResultVImpossible de trouver le tableau de donnesCould not get array data QIBaseResultdImpossible d'avoir les informations sur la requteCould not get query info QIBaseResultdImpossible d'avoir les informations sur la requteCould not get statement info QIBaseResultBImpossible de prparer la requteCould not prepare statement QIBaseResultJImpossible de dmarrer la transactionCould not start transaction QIBaseResult>Impossible de fermer la requteUnable to close statement QIBaseResultJIncapable de soumettre la transactionUnable to commit transaction QIBaseResult6Impossible de crer un BLOBUnable to create BLOB QIBaseResult@Impossible d'excuter la requteUnable to execute query QIBaseResult6Impossible d'ouvrir le BLOBUnable to open BLOB QIBaseResult4Impossible de lire le BLOBUnable to read BLOB QIBaseResult6Impossible d'crire le BLOBUnable to write BLOB QIBaseResultVAucun espace disponible sur le priphriqueNo space left on device QIODeviceDAucun fichier ou dossier de ce nomNo such file or directory QIODeviceAccs refusPermission denied QIODeviceLTrop de fichiers ouverts simultanmentToo many open files QIODeviceErreur inconnue Unknown error QIODevice2Mthode d'entre Mac OS XMac OS X input method QInputContext0Mthode d'entre WindowsWindows input method QInputContextXIMXIM QInputContext(Mthode d'entre XIMXIM input method QInputContext&Entrer une valeur:Enter a value: QInputDialogZImpossible de charger la bibliothque %1: %2Cannot load library %1: %2QLibraryfImpossible de rsoudre le symbole "%1" dans %2: %3$Cannot resolve symbol "%1" in %2: %3QLibrary^Impossible de dcharger la bibliothque %1: %2Cannot unload library %1: %2QLibrarytImpossible d'tablir la projection en mmoire de '%1': %2Could not mmap '%1': %2QLibraryzImpossible de supprimer la projection en mmoire de '%1': %2Could not unmap '%1': %2QLibrarylDonnes de vrification du plugin diffrente dans '%1')Plugin verification data mismatch in '%1'QLibrary\Le fichier '%1' n'est pas un plugin Qt valide.'The file '%1' is not a valid Qt plugin.QLibraryLe plugin '%1' utilise une bibliothque Qt incompatible. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryLe plugin '%1' utilise une bibliothque Qt incompatible. (Il est impossible de mlanger des bibliothques 'debug' et 'release'.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryLe plugin '%1' utilise une bibliothque Qt incompatible. Cl attendue "%2", reue "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryRLa bibliothque partage est introuvable.!The shared library was not found.QLibraryErreur inconnue Unknown errorQLibraryCop&ier&Copy QLineEditCo&ller&Paste QLineEdit&Rtablir&Redo QLineEdit&Annuler&Undo QLineEditCo&uperCu&t QLineEditSupprimerDelete QLineEdit"Tout slectionner Select All QLineEdit2%1: Address dj utilise%1: Address in use QLocalServer"%1: Erreur de nom%1: Name error QLocalServer,%1: Permission refuse%1: Permission denied QLocalServer,%1: Erreur inconnue %2%1: Unknown error %2 QLocalServer.%1: Erreur de connexion%1: Connection error QLocalSocket*%1: Connexion refuse%1: Connection refused QLocalSocket2%1: Datagramme trop grand%1: Datagram too large QLocalSocket %1: Nom invalide%1: Invalid name QLocalSocket(%1: Connexion ferme%1: Remote closed QLocalSocket8%1: Erreur d'accs au socket%1: Socket access error QLocalSocket>%1: L'opration socket a expir%1: Socket operation timed out QLocalSocketB%1: Erreur de ressource du socket%1: Socket resource error QLocalSocketF%1: L'opration n'est pas supporte)%1: The socket operation is not supported QLocalSocket(%1: erreur inconnue%1: Unknown error QLocalSocket,%1: Erreur inconnue %2%1: Unknown error %2 QLocalSocketJImpossible de dmarrer la transactionUnable to begin transaction QMYSQLDriverLImpossible de soumettre la transactionUnable to commit transaction QMYSQLDriverDImpossible d'tablir une connexionUnable to connect QMYSQLDriverPImpossible d'ouvrir la base de donnes 'Unable to open database ' QMYSQLDriverFImpossible d'annuler la transactionUnable to rollback transaction QMYSQLDriverVImpossible d'attacher les valeurs de sortieUnable to bind outvalues QMYSQLResult>Impossible d'attacher la valeurUnable to bind value QMYSQLResultRImpossible d'excuterla prochaine requteUnable to execute next query QMYSQLResult@Impossible d'excuter la requteUnable to execute query QMYSQLResult@Impossible d'excuter la requteUnable to execute statement QMYSQLResultFImpossible de rcuperer des donnesUnable to fetch data QMYSQLResultHImpossible de prparer l'instructionUnable to prepare statement QMYSQLResultRImpossible de rinitialiser l'instructionUnable to reset statement QMYSQLResultTImpossible de stocker le prochain rsultatUnable to store next result QMYSQLResultBImpossible de stocker le rsultatUnable to store result QMYSQLResultbImpossible de stocker les rsultats de la requte!Unable to store statement results QMYSQLResult(Sans titre) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&Fermer&Close QMdiSubWindow&Dplacer&Move QMdiSubWindow&Restaurer&Restore QMdiSubWindow&Taille&Size QMdiSubWindow- [%1] QMdiSubWindow FermerClose QMdiSubWindowAideHelp QMdiSubWindowMa&ximiser Ma&ximize QMdiSubWindowMaximiserMaximize QMdiSubWindowMenuMenu QMdiSubWindowRd&uire Mi&nimize QMdiSubWindowRduireMinimize QMdiSubWindowRestaurerRestore QMdiSubWindow Restaurer en bas Restore Down QMdiSubWindow OmbrerShade QMdiSubWindow.&Rester au premier plan Stay on &Top QMdiSubWindowRestaurerUnshade QMdiSubWindow FermerCloseQMenuExcuterExecuteQMenu OuvrirOpenQMenu propos de QtAbout Qt QMessageBoxAideHelp QMessageBox*Cacher les dtails...Hide Details... QMessageBoxOKOK QMessageBox,Montrer les dtails...Show Details... QMessageBoxSlectionner IM Select IMQMultiInputContextDSlectionneur de mthode de saisieMultiple input method switcherQMultiInputContextPluginSlectionneur de mthode de saisie qui utilise le menu contextuel des widgets de texteMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginXUn autre socket coute dj sur le mme port4Another socket is already listening on the same portQNativeSocketEngineTentative d'utiliser un socket IPv6 sur une plateforme qui ne supporte pas IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine"Connexion refuseConnection refusedQNativeSocketEngine"Connexion expireConnection timed outQNativeSocketEngine^Le datagramme tait trop grand pour tre envoyDatagram was too large to sendQNativeSocketEngine"Hte inaccessibleHost unreachableQNativeSocketEngine<Descripteur de socket invalideInvalid socket descriptorQNativeSocketEngineErreur rseau Network errorQNativeSocketEngine6L'opration rseau a expirNetwork operation timed outQNativeSocketEngine:Rseau impossible rejoindreNetwork unreachableQNativeSocketEngine0Operation sur non-socketOperation on non-socketQNativeSocketEngine(Manque de ressourcesOut of resourcesQNativeSocketEngineAccs refusPermission deniedQNativeSocketEngine"Protocol non grProtocol type not supportedQNativeSocketEngine<L'adresse n'est pas disponibleThe address is not availableQNativeSocketEngine,L'adresse est protgeThe address is protectedQNativeSocketEngine@L'adresse lie est dj en usage#The bound address is already in useQNativeSocketEnginedLe type de proxy est invalide pour cette opration,The proxy type is invalid for this operationQNativeSocketEngineFL'hte distant a ferm la connexion%The remote host closed the connectionQNativeSocketEngineXImpossible d'initialiser le socket broadcast%Unable to initialize broadcast socketQNativeSocketEngineZImpossible d'initialiser le socket asynchrone(Unable to initialize non-blocking socketQNativeSocketEngineBImpossible de recevoir un messageUnable to receive a messageQNativeSocketEngine>Impossible d'envoyer un messageUnable to send a messageQNativeSocketEngine&Impossible d'crireUnable to writeQNativeSocketEngineErreur inconnue Unknown errorQNativeSocketEngine<Opration socket non supporteUnsupported socket operationQNativeSocketEngine@Erreur lors de l'ouverture de %1Error opening %1QNetworkAccessCacheBackendbImpossible d'ouvrir %1: le chemin est un dossier#Cannot open %1: Path is a directoryQNetworkAccessFileBackendJErreur lors de l'ouverture de %1: %2Error opening %1: %2QNetworkAccessFileBackend8Erreur de lecture de %1: %2Read error reading from %1: %2QNetworkAccessFileBackendRRequte d'ouverture de fichier distant %1%Request for opening non-local file %1QNetworkAccessFileBackend8Erreur d'criture de %1: %2Write error writing to %1: %2QNetworkAccessFileBackendbImpossible d'ouvrir %1: le chemin est un dossierCannot open %1: is a directoryQNetworkAccessFtpBackendPErreur lors du tlchargement de %1: %2Error while downloading %1: %2QNetworkAccessFtpBackendBErreur lors de l'envoi de %1: %2Error while uploading %1: %2QNetworkAccessFtpBackenddConnexion %1 a chou: authentification requise0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackend$Aucun proxy trouvNo suitable proxy foundQNetworkAccessFtpBackend$Aucun proxy trouvNo suitable proxy foundQNetworkAccessHttpBackend|Erreur lors du tlchargement de %1 - le serveur a rpondu: %2)Error downloading %1 - server replied: %2 QNetworkReply:Le protocole "%1" est inconnuProtocol "%1" is unknown QNetworkReply"Opration annuleOperation canceledQNetworkReplyImplJImpossible de dmarrer la transactionUnable to begin transaction QOCIDriverNImpossible d'enregistrer la transactionUnable to commit transaction QOCIDriver4L'initialisation a choueUnable to initialize QOCIDriver>Impossible d'ouvrir une sessionUnable to logon QOCIDriverFImpossible d'annuler la transactionUnable to rollback transaction QOCIDriver>Impossible d'allouer la requteUnable to alloc statement QOCIResultrImpossible d'attacher la colonne pour une execution batch'Unable to bind column for batch execute QOCIResult>Impossible d'attacher la valeurUnable to bind value QOCIResultRImpossible d'excuter l'instruction batch!Unable to execute batch statement QOCIResult@Impossible d'exctuer la requteUnable to execute statement QOCIResult>Impossible de passer au suivantUnable to goto next QOCIResultBImpossible de prparer la requteUnable to prepare statement QOCIResultJIncapable de soumettre la transactionUnable to commit transaction QODBCDriverBIncapable d'tablir une connexionUnable to connect QODBCDriverImpossible de se connecter - Le pilote ne supporte pas toutes les fonctionnalits ncessairesCUnable to connect - Driver doesn't support all needed functionality QODBCDriverJImpossible de dsactiver l'autocommitUnable to disable autocommit QODBCDriver@Impossible d'active l'autocommitUnable to enable autocommit QODBCDriverDIncapable d'annuler la transactionUnable to rollback transaction QODBCDriver QODBCResult::reset: Impossible d'utiliser 'SQL_CURSOR_STATIC' comme attribut de requte. Veuillez vrifier la configuration de votre pilote ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResultBImpossible d'attacher la variableUnable to bind variable QODBCResult@Impossible d'exctuer la requteUnable to execute statement QODBCResult.Impossible de rcuprerUnable to fetch QODBCResultDImpossible de rcuprer le premierUnable to fetch first QODBCResultDImpossible de rcuprer le dernierUnable to fetch last QODBCResultDImpossible de rcuprer le suivantUnable to fetch next QODBCResultHImpossible de rcuprer le prcedentUnable to fetch previous QODBCResultBImpossible de prparer la requteUnable to prepare statement QODBCResult DbutHomeQObject"URI invalide: %1Invalid URI: %1QObject&Nom d'hte manquantNo host name givenQObject<Opration non supporte sur %1Operation not supported on %1QObjectXErreur de protocole: paquet de taille 0 reu)Protocol error: packet of size 0 receivedQObject:Erreur de lecture sur %1: %2Read error reading from %1: %2QObject|L'hte distant a ferm sa connexion de faon prmature sur %13Remote host closed the connection prematurely on %1QObject8Erreur de socket sur %1: %2Socket error on %1: %2QObject:Erreur d'criture sur %1: %2Write error writing to %1: %2QObjectNomNameQPPDOptionsModel ValeurValueQPPDOptionsModelJImpossible de dmarrer la transactionCould not begin transaction QPSQLDriverLImpossible de soumettre la transactionCould not commit transaction QPSQLDriverFImpossible d'annuler la transactionCould not rollback transaction QPSQLDriverDImpossible d'tablir une connexionUnable to connect QPSQLDriver0Impossible de s'inscrireUnable to subscribe QPSQLDriver8Impossible de se dsinscrireUnable to unsubscribe QPSQLDriver<Impossible de crer la requteUnable to create query QPSQLResultBImpossible de prparer la requteUnable to prepare statement QPSQLResult Centimtres (cm)Centimeters (cm)QPageSetupWidgetFormulaireFormQPageSetupWidgetHauteur:Height:QPageSetupWidgetPouces (in) Inches (in)QPageSetupWidgetPaysage LandscapeQPageSetupWidget MargesMarginsQPageSetupWidget Millimtres (mm)Millimeters (mm)QPageSetupWidget OrientationQPageSetupWidgetDimensions: Page size:QPageSetupWidget PapierPaperQPageSetupWidget$Source du papier: Paper source:QPageSetupWidget Points (pt)QPageSetupWidgetPortraitPortraitQPageSetupWidgetPaysage inversReverse landscapeQPageSetupWidget Portrait inversReverse portraitQPageSetupWidgetLargeur:Width:QPageSetupWidgetmarge basse bottom marginQPageSetupWidgetmarge gauche left marginQPageSetupWidgetmarge droite right marginQPageSetupWidgetmarge haute top marginQPageSetupWidget:Le plugin n'a pas t charg.The plugin was not loaded. QPluginLoaderErreur inconnue Unknown error QPluginLoaderD%1 existe. Voulez-vous l'craser?/%1 already exists. Do you want to overwrite it? QPrintDialog%1 est un dossier. Veuillez choisir un nom de fichier diffrent.7%1 is a directory. Please choose a different file name. QPrintDialog &Options << QPrintDialog &Options >> QPrintDialogIm&primer&Print QPrintDialog@<qt>voulez-vous l'craser?</qt>%Do you want to overwrite it? QPrintDialogA0 QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialogA1 QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialogA2 QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialogA3 QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogA4 QPrintDialog"A4 (210 x 297 mm)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialogA5 QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialogA6 QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialogA7 QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8 QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9 QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialogAlias: %1 Aliases: %1 QPrintDialogB0 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialogB1 QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialogB10 QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialogB2 QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialogB3 QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialogB4 QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogB5 QPrintDialog"B5 (176 x 250 mm)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialogB6 QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialogB7 QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8 QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9 QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialogC5E QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialogPersonnalisCustom QPrintDialogDLE QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialog Executive QPrintDialogRExecutive (7,5 x 10 pouces, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogImpossible d'crire dans le fichier %1. Veuillez choisir un nom de fichier diffrent.=File %1 is not writable. Please choose a different file name. QPrintDialog"Le fichier existe File exists QPrintDialogFolio QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialogLedger QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialogLegal QPrintDialogJLegal (8.5 x 14 pouces, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialogLetter QPrintDialogLLetter (8,5 x 11 pouces, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogFichier local Local file QPrintDialogOKOK QPrintDialogImpr cranPrint QPrintDialog6Imprimer dans un fichier...Print To File ... QPrintDialogImprimer tout Print all QPrintDialog*Imprimer la slection Print range QPrintDialog*Imprimer la slectionPrint selection QPrintDialog<Imprimer dans un fichier (PDF)Print to File (PDF) QPrintDialogJImprimer dans un fichier (PostScript)Print to File (Postscript) QPrintDialogTabloid QPrintDialog.Tablode (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialog|La valeur 'de' ne peut pas tre plus grande que la valeur ''.7The 'From' value cannot be greater than the 'To' value. QPrintDialogUS Common #10 Envelope QPrintDialogJUS Common #10 Envelope (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialog,Ecriture du fichier %1 Write %1 file QPrintDialog"connect en locallocally connected QPrintDialoginconnuunknown QPrintDialog%1%%1%QPrintPreviewDialog FermerCloseQPrintPreviewDialog"Exporter vers PDF Export to PDFQPrintPreviewDialog0Exporter vers PostScriptExport to PostScriptQPrintPreviewDialogPremire page First pageQPrintPreviewDialogAjuster la pageFit pageQPrintPreviewDialog$Ajuster la largeur Fit widthQPrintPreviewDialogPaysage LandscapeQPrintPreviewDialogDernire page Last pageQPrintPreviewDialogPage suivante Next pageQPrintPreviewDialog0Configuration de la page Page SetupQPrintPreviewDialog0Configuration de la page Page setupQPrintPreviewDialogPortraitPortraitQPrintPreviewDialogPage prcdente Previous pageQPrintPreviewDialogImpr cranPrintQPrintPreviewDialog.Aperu avant impression Print PreviewQPrintPreviewDialog&Afficher deux pagesShow facing pagesQPrintPreviewDialogLAfficher un aperu de toutes les pagesShow overview of all pagesQPrintPreviewDialog.Afficher une seule pageShow single pageQPrintPreviewDialogZoom avantZoom inQPrintPreviewDialogZoom arrireZoom outQPrintPreviewDialog AvancAdvancedQPrintPropertiesWidgetFormulaireFormQPrintPropertiesWidgetPageQPrintPropertiesWidgetAssemblerCollateQPrintSettingsOutputCouleurColorQPrintSettingsOutputMode de couleur Color ModeQPrintSettingsOutput CopiesCopiesQPrintSettingsOutputCopies:QPrintSettingsOutput(Impression en duplexDuplex PrintingQPrintSettingsOutputFormulaireFormQPrintSettingsOutputDgrad de gris GrayscaleQPrintSettingsOutputCt long Long sideQPrintSettingsOutput AucunNoneQPrintSettingsOutputOptionsOptionsQPrintSettingsOutput(Paramtres de sortieOutput SettingsQPrintSettingsOutput Pages Pages fromQPrintSettingsOutputImprimer tout Print allQPrintSettingsOutput*Imprimer la slection Print rangeQPrintSettingsOutputInverseReverseQPrintSettingsOutputSlection SelectionQPrintSettingsOutputCt court Short sideQPrintSettingsOutputtoQPrintSettingsOutput &Nom:&Name: QPrintWidget... QPrintWidgetFormulaireForm QPrintWidgetEmplacement: Location: QPrintWidget&&Fichier de sortie: Output &file: QPrintWidgetP&roprits P&roperties QPrintWidget PrvisualisationPreview QPrintWidgetImprimantePrinter QPrintWidgetType: QPrintWidgetlImpossible d'ouvrir la redirection d'entre en lecture,Could not open input redirection for readingQProcesstImpossible d'ouvrir la redirection de sortie pour criture-Could not open output redirection for writingQProcess<Erreur de lecture du processusError reading from processQProcessFErreur d"criture vers le processusError writing to processQProcess,Aucun programme dfiniNo program definedQProcess*Le processus plantProcess crashedQProcess8Le processus n'a pas dmarrProcess failed to startQProcess>Operation de processus a expirProcess operation timed outQProcess<Erreur de ressouce (fork): %1!Resource error (fork failure): %1QProcessAnnulerCancelQProgressDialog OuvrirOpen QPushButton CocherCheck QRadioButtonRsyntaxe invalide pour classe de caractrebad char class syntaxQRegExp>syntaxe invalide pour lookaheadbad lookahead syntaxQRegExp@syntaxe invalide pour rptitionbad repetition syntaxQRegExp"option dsactivedisabled feature usedQRegExp,valeur octale invalideinvalid octal valueQRegExp0rencontr limite internemet internal limitQRegExp4dlmiteur gauche manquantmissing left delimQRegExp>aucune erreur ne s'est produiteno error occurredQRegExpfin impromptueunexpected endQRegExpTErreur l'ouverture de la base de donnesError to open databaseQSQLite2DriverJImpossible de dmarrer la transactionUnable to begin transactionQSQLite2DriverLImpossible de soumettre la transactionUnable to commit transactionQSQLite2DriverFImpossible d'annuler la transactionUnable to rollback TransactionQSQLite2Driver@Impossible d'excuter la requteUnable to execute statementQSQLite2ResultJImpossible de rcuprer les rsultatsUnable to fetch resultsQSQLite2ResultbErreur lors de la fermeture de la base de donnesError closing database QSQLiteDriver`Erreur lors de l'ouverture de la base de donnesError opening database QSQLiteDriverJImpossible de dmarrer la transactionUnable to begin transaction QSQLiteDriverJIncapable de soumettre la transactionUnable to commit transaction QSQLiteDriverFImpossible d'annuler la transactionUnable to rollback transaction QSQLiteDriverPas de requteNo query QSQLiteResult<Nombre de paramtres incorrectParameter count mismatch QSQLiteResultHImpossible d'attacher les paramtresUnable to bind parameters QSQLiteResult@Impossible d'excuter la requteUnable to execute statement QSQLiteResultBImpossible de rcuprer la rangeUnable to fetch row QSQLiteResultLImpossible de rinitialiser la requteUnable to reset statement QSQLiteResult En basBottom QScrollBarExtrme gauche Left edge QScrollBarAligner en-bas Line down QScrollBarAlignerLine up QScrollBarPage suivante Page down QScrollBarPage prcdente Page left QScrollBarPage suivante Page right QScrollBarPage prcdentePage up QScrollBarPositionPosition QScrollBarExtrme droite Right edge QScrollBar&Dfiler vers le bas Scroll down QScrollBar"Dfiler jusqu'ici Scroll here QScrollBar,Dfiler vers la gauche Scroll left QScrollBar,Dfiler vers la droite Scroll right QScrollBar(Dfiler vers le haut Scroll up QScrollBarEn hautTop QScrollBar %1: existe dj%1: already exists QSharedMemoryR%1: taille de cration est infrieur 0%1: create size is less then 0 QSharedMemory"%1: n'existe pas%1: doesn't exists QSharedMemory$%1: ftok a chou%1: ftok failed QSharedMemory(%1: taille invalide%1: invalid size QSharedMemory$%1: erreur de cl %1: key error QSharedMemory%1: cl vide%1: key is empty QSharedMemory %1: non attach%1: not attached QSharedMemoryF%1: plus de ressources disponibles%1: out of resources QSharedMemory.%1: permission refuse%1: permission denied QSharedMemoryD%1: la requte de taille a chou%1: size query failed QSharedMemoryj%1: le systme impose des restrictions sur la taille$%1: system-imposed size restrictions QSharedMemory<%1: impossible de vrrouiller%1: unable to lock QSharedMemory>%1: impossible de crer la cl%1: unable to make key QSharedMemoryV%1: impossible d'affecter la cl au verrou%1: unable to set key on lock QSharedMemory@%1: impossible de dverrouiller%1: unable to unlock QSharedMemoryP%1: le fichier de cl unix n'existe pas %1: unix key file doesn't exists QSharedMemory.%1: erreur inconnue %2%1: unknown error %2 QSharedMemory++ QShortcutAltAlt QShortcut,Prcdent (historique)Back QShortcutEffacement Backspace QShortcutTab arrBacktab QShortcutGraves fort Bass Boost QShortcutGraves bas Bass Down QShortcutGraves hautBass Up QShortcutAppelerCall QShortcut Caps Lock QShortcutVerr majCapsLock QShortcutContexte1Context1 QShortcutContexte2Context2 QShortcutContexte3Context3 QShortcutContexte4Context4 QShortcutCtrlCtrl QShortcut SupprDel QShortcutSupprimerDelete QShortcutBasDown QShortcutFinEnd QShortcut EntreEnter QShortcut chapEsc QShortcutchapementEscape QShortcutF%1F%1 QShortcutPrfrs Favorites QShortcutRetournerFlip QShortcut.Successeur (historique)Forward QShortcutRaccrocherHangup QShortcutAideHelp QShortcut DbutHome QShortcutPage d'accueil Home Page QShortcut InserIns QShortcutInsrerInsert QShortcutLancer (0) Launch (0) QShortcutLancer (1) Launch (1) QShortcutLancer (2) Launch (2) QShortcutLancer (3) Launch (3) QShortcutLancer (4) Launch (4) QShortcutLancer (5) Launch (5) QShortcutLancer (6) Launch (6) QShortcutLancer (7) Launch (7) QShortcutLancer (8) Launch (8) QShortcutLancer (9) Launch (9) QShortcutLancer (A) Launch (A) QShortcutLancer (B) Launch (B) QShortcutLancer (C) Launch (C) QShortcutLancer (D) Launch (D) QShortcutLancer (E) Launch (E) QShortcutLancer (F) Launch (F) QShortcutLancer courrier Launch Mail QShortcutLancer mdia Launch Media QShortcut GaucheLeft QShortcutMdia suivant Media Next QShortcutMdia dmarrer Media Play QShortcutMdia prcdentMedia Previous QShortcut"Mdia enregistrer Media Record QShortcutMdia arrt Media Stop QShortcutMenuMenu QShortcutMtaMeta QShortcutNonNo QShortcutNum Lock QShortcutVerr numNumLock QShortcut Number Lock QShortcutOuvrir URLOpen URL QShortcut Page Down QShortcutPage Up QShortcut PausePause QShortcutPage suivPgDown QShortcutPage prcPgUp QShortcutImpr cranPrint QShortcut Print Screen QShortcutRafrachirRefresh QShortcut RetourReturn QShortcut DroiteRight QShortcut Scroll Lock QShortcutArrt dfil ScrollLock QShortcutRechercheSearch QShortcutSlectionnerSelect QShortcutMajShift QShortcut EspaceSpace QShortcutAttenteStandby QShortcutStopStop QShortcutSystSysReq QShortcutSystmeSystem Request QShortcutTabTab QShortcutAigus bas Treble Down QShortcutAigus haut Treble Up QShortcutHautUp QShortcutVolume bas Volume Down QShortcutVolume muet Volume Mute QShortcutVolume haut  Volume Up QShortcutOuiYes QShortcutPage suivante Page downQSliderPage prcdente Page leftQSliderPage suivante Page rightQSliderPage prcdentePage upQSliderPositionQSlider6Type d'adresse non supportAddress type not supportedQSocks5SocketEnginePConnexion refuse par le serveur SOCKSv5(Connection not allowed by SOCKSv5 serverQSocks5SocketEngineNconnexion au proxy ferme prmaturment&Connection to proxy closed prematurelyQSocks5SocketEngine4Connexion au proxy refuseConnection to proxy refusedQSocks5SocketEngine4Connexion au proxy expireConnection to proxy timed outQSocks5SocketEngineDErreur gnrale du serveur SOCKSv5General SOCKSv5 server failureQSocks5SocketEngine6L'opration rseau a expirNetwork operation timed outQSocks5SocketEngineBL'authentification proxy a chouProxy authentication failedQSocks5SocketEngineLL'authentification proxy a chou: %1Proxy authentication failed: %1QSocks5SocketEngine,Hte proxy introuvableProxy host not foundQSocks5SocketEngineFErreur de protocole SOCKS version 5SOCKS version 5 protocol errorQSocks5SocketEngine<Commande SOCKSv5 non supporteSOCKSv5 command not supportedQSocks5SocketEngineTTL expir TTL expiredQSocks5SocketEngineHErreur proxy SOCKSv5 inconnue: 0x%1%Unknown SOCKSv5 proxy error code 0x%1QSocks5SocketEngine MoinsLessQSpinBoxPlusMoreQSpinBoxAnnulerCancelQSql6Annuler vos modifications?Cancel your edits?QSqlConfirmerConfirmQSqlSupprimerDeleteQSql<Supprimer cet enregistrement?Delete this record?QSqlInsrerInsertQSqlNonNoQSql>Enregistrer les modifications? Save edits?QSqlActualiserUpdateQSqlOuiYesQSql`Impossible de fournir un certificat sans cl, %1,Cannot provide a certificate with no key, %1 QSslSocket^Erreur lors de la cration du contexte SSL (%1)Error creating SSL context (%1) QSslSocket`Erreur lors de la cration de la session SSL, %1Error creating SSL session, %1 QSslSocketbErreur lors de la cration de la session SSL: %1Error creating SSL session: %1 QSslSocketTErreur lors de la poigne de main SSL: %1Error during SSL handshake: %1 QSslSocketbErreur lors du chargement du certificat local, %1#Error loading local certificate, %1 QSslSocket\Erreur lors du chargement de la cl prive, %1Error loading private key, %1 QSslSocket<Erreur lors de la lecture: %1Error while reading: %1 QSslSocketbLa list de chiffrements est invalide ou vide (%1)!Invalid or empty cipher list (%1) QSslSocketbLa cl prive ne certifie pas la cl publique, %1/Private key does not certificate public key, %1 QSslSocketHImpossible d'crire les donnes: %1Unable to write data: %1 QSslSocket %1: existe dj%1: already existsQSystemSemaphore"%1: n'existe pas%1: does not existQSystemSemaphoreD%1: plus de ressources disponibles%1: out of resourcesQSystemSemaphore,%1: permission refuse%1: permission deniedQSystemSemaphore,%1: erreur inconnue %2%1: unknown error %2QSystemSemaphore@Impossible d'ouvrir la connexionUnable to open connection QTDSDriverPImpossible d'utiliser la base de donnesUnable to use database QTDSDriver,Dfiler vers la gauche Scroll LeftQTabBar,Dfiler vers la droite Scroll RightQTabBarJOpration sur le socket non supporte$Operation on socket is not supported QTcpServerCop&ier&Copy QTextControlCo&ller&Paste QTextControl&Rpter&Redo QTextControl&Annuler&Undo QTextControl2Copier l'adresse du &lienCopy &Link Location QTextControlCo&uperCu&t QTextControlSupprimerDelete QTextControl"Tout slectionner Select All QTextControl OuvrirOpen QToolButtonPresserPress QToolButtonJCette plateforme ne supporte pas IPv6#This platform does not support IPv6 QUdpSocketRpterRedo QUndoGroupAnnulerUndo QUndoGroup <vide> QUndoModelRpterRedo QUndoStackAnnulerUndo QUndoStackJInsrer caractre de contrle Unicode Insert Unicode control characterQUnicodeControlCharacterMenuHLRE Start of left-to-right embedding$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu,LRM Left-to-right markLRM Left-to-right markQUnicodeControlCharacterMenuFLRO Start of left-to-right override#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu<PDF Pop directional formattingPDF Pop directional formattingQUnicodeControlCharacterMenuHRLE Start of right-to-left embedding$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu,RLM Right-to-left markRLM Right-to-left markQUnicodeControlCharacterMenuFRLO Start of right-to-left override#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu*ZWJ Zero width joinerZWJ Zero width joinerQUnicodeControlCharacterMenu4ZWNJ Zero width non-joinerZWNJ Zero width non-joinerQUnicodeControlCharacterMenu*ZWSP Zero width spaceZWSP Zero width spaceQUnicodeControlCharacterMenu6Impossible d'afficher l'URLCannot show URL QWebFrameBImpossible d'afficher le mimetypeCannot show mimetype QWebFrame.Le fichier n'existe pasFile does not exist QWebFrameChargement de la frame interrompu par un changement de configuration&Frame load interruped by policy change QWebFrameRequte bloqueRequest blocked QWebFrameRequte annuleRequest cancelled QWebFrame"%1 (%2x%3 pixels)%1 (%2x%3 pixels)QWebPage%n fichier%n fichiers %n file(s)QWebPage.Ajouter au dictionnaireAdd To DictionaryQWebPage(Requte HTTP erroneBad HTTP requestQWebPageGrasBoldQWebPage En basBottomQWebPagejVrifier la grammaire en mme temps que l'orthographeCheck Grammar With SpellingQWebPage,Vrifier l'orthographeCheck SpellingQWebPagePVrifier l'orthographe pendant la saisieCheck Spelling While TypingQWebPage$Choisir le fichier Choose FileQWebPage>Effacer les recherches rcentesClear recent searchesQWebPage CopierCopyQWebPageCopier l'image Copy ImageQWebPageCopier le lien Copy LinkQWebPage CouperCutQWebPage DfautDefaultQWebPage>Supprimer jusqu' la fin du motDelete to the end of the wordQWebPage>Supprimer jusqu'au dbut du motDelete to the start of the wordQWebPage DirectionQWebPagePolicesFontsQWebPagePrcdentGo BackQWebPageSuivant Go ForwardQWebPage>Cacher Orthographe et GrammaireHide Spelling and GrammarQWebPageIgnorerIgnoreQWebPageIgnorer Ignore Grammar context menu itemIgnoreQWebPage4Insrer une nouvelle ligneInsert a new lineQWebPage:Insrer un nouveau paragrapheInsert a new paragraphQWebPageInspecterInspectQWebPageItaliqueItalicQWebPage,Alerte javascript - %1JavaScript Alert - %1QWebPage8Confirmation javascript - %1JavaScript Confirm - %1QWebPage,Invite javascript - %1JavaScript Prompt - %1QWebPage6De la gauche vers la droiteLTRQWebPageExtrme gauche Left edgeQWebPage:Chercher dans le dictionnaireLook Up In DictionaryQWebPageNPositionner le curseur la fin du bloc'Move the cursor to the end of the blockQWebPageVPositionner le curseur la fin du document*Move the cursor to the end of the documentQWebPageVPositionner le curseur la fin de la ligne&Move the cursor to the end of the lineQWebPage^Positionner le curseur sur le caractre suivant%Move the cursor to the next characterQWebPageZPositionner le curseur sur la prochaine ligne Move the cursor to the next lineQWebPageJPositionner le curseur au mot suivant Move the cursor to the next wordQWebPagebPositionner le curseur sur le caractre prcdent)Move the cursor to the previous characterQWebPageVDplacer le curseur sur la ligne prcdente$Move the cursor to the previous lineQWebPageVPositionner le curseur sur le mot prcdent$Move the cursor to the previous wordQWebPageNPositionner le curseur au dbut du bloc)Move the cursor to the start of the blockQWebPageVPositionner le curseur au dbut du document,Move the cursor to the start of the documentQWebPageVPositionner le curseur au dbut de la ligne(Move the cursor to the start of the lineQWebPage.Pas de candidat trouvsNo Guesses FoundQWebPage4Pas de fichier slectionnNo file selectedQWebPage0Pas de recherche rcenteNo recent searchesQWebPageOuvrir le cadre Open FrameQWebPageOuvrir l'image Open ImageQWebPageOuvrir le lien Open LinkQWebPage@Ouvrir dans une Nouvelle FentreOpen in New WindowQWebPageContourOutlineQWebPagePage suivante Page downQWebPagePage prcdente Page leftQWebPagePage suivante Page rightQWebPagePage prcdentePage upQWebPage CollerPasteQWebPage6De la droite vers la gaucheRTLQWebPage&Recherches rcentesRecent searchesQWebPageRechargerReloadQWebPageRinitialiserResetQWebPageExtrme droite Right edgeQWebPage&SAuvegarder l'image Save ImageQWebPage,Sauvegarder le lien... Save Link...QWebPage&Dfiler vers le bas Scroll downQWebPage"Dfiler jusqu'ici Scroll hereQWebPage,Dfiler vers la gauche Scroll leftQWebPage,Dfiler vers la droite Scroll rightQWebPage(Dfiler vers le haut Scroll upQWebPage&Chercher sur le WebSearch The WebQWebPage"Slectionner tout Select allQWebPageFSlectionner jusqu' la fin du blocSelect to the end of the blockQWebPageNSlectionner jusqu' la fin du document!Select to the end of the documentQWebPageNSlectionner jusqu' la fin de la ligneSelect to the end of the lineQWebPageBSlectionner le caractre suivantSelect to the next characterQWebPageNSlectionner jusqu' la prochaine ligneSelect to the next lineQWebPage8Slectionner le prochain motSelect to the next wordQWebPageFSlectionner le caractre prcdent Select to the previous characterQWebPagePSlectionner jusqu' la ligne prcdenteSelect to the previous lineQWebPage:Slectionner le mot prcdentSelect to the previous wordQWebPageFSlectionner jusqu'au dbut du bloc Select to the start of the blockQWebPageNSlectionner jusqu'au dbut du document#Select to the start of the documentQWebPageNSlectionner jusqu'au dbut de la ligneSelect to the start of the lineQWebPageBAfficher Orthographe et GrammaireShow Spelling and GrammarQWebPageOrthographeSpellingQWebPageStopStopQWebPageSoumettreSubmitQWebPageSoumettreQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPage(Orientation du texteText DirectionQWebPagebCeci est un index. Veuillez saisir les mots-cl:3This is a searchable index. Enter search keywords: QWebPageEn hautTopQWebPageSoulign UnderlineQWebPageInconnuUnknownQWebPage&Inspecteur Web - %2Web Inspector - %2QWebPage*Qu'est-ce que c'est? What's This?QWhatsThisAction**QWidget&Terminer&FinishQWizard &Aide&HelpQWizard&Suivant&NextQWizard&Suivant >&Next >QWizard< &Prcdent< &BackQWizardAnnulerCancelQWizardSoumettreCommitQWizardSuivantContinueQWizardTerminerDoneQWizardPrcdentGo BackQWizardAideHelpQWizard%1 - [%2] %1 - [%2] QWorkspace&Fermer&Close QWorkspace&Dplacer&Move QWorkspace&Restaurer&Restore QWorkspace&Redimensionner&Size QWorkspace&Drouler&Unshade QWorkspace FermerClose QWorkspaceMa&ximiser Ma&ximize QWorkspaceRd&uire Mi&nimize QWorkspaceRduireMinimize QWorkspace Restaurer en bas Restore Down QWorkspace&EnroulerSh&ade QWorkspace.&Rester au premier plan Stay on &Top QWorkspacedclaration d'encodage ou dclaration autonome attendue dans la dclaration XMLYencoding declaration or standalone declaration expected while reading the XML declarationQXmlperreur dans la dclaration de texte d'une entit externe3error in the text declaration of an external entityQXmlxune erreur s'est produise lors de l'analyse d'un commentaire$error occurred while parsing commentQXmllune erreur s'est produise lors de l'analyse du contenu$error occurred while parsing contentQXmlune erreur s'est produite lors de l'analyse d'une dfinition de type de document5error occurred while parsing document type definitionQXmlpune erreur s'est produite lors de l'analyse d'un lment$error occurred while parsing elementQXmlvune erreur s'est produite lors de l'analyse d'une rfrence&error occurred while parsing referenceQXmlJerreur dclenche par le consommateurerror triggered by consumerQXmlzappel d'entit externe parse gnrale non permis dans la DTD;external parsed general entity reference not allowed in DTDQXmlappel d'entit externe parse non permis dans la valeur d'un attributGexternal parsed general entity reference not allowed in attribute valueQXmllappel d'entit interne gnrale non permis dans la DTD4internal general entity reference not allowed in DTDQXmlPnom d'instruction de traitement invalide'invalid name for processing instructionQXmllettre attendueletter is expectedQXmlRplus d'une dfinition de type de document&more than one document type definitionQXml>aucune erreur ne s'est produiteno error occurredQXml$entits rcursivesrecursive entitiesQXmljdclaration autonome attendue dans la dclaration XMLAstandalone declaration expected while reading the XML declarationQXml"balise dbalance tag mismatchQXml&caractre impromptuunexpected characterQXml2fin de fichier impromptueunexpected end of fileQXmlfappel d'entit non parse dans un contexte invalide*unparsed entity reference in wrong contextQXmlPversion attendue dans la dclaration XML2version expected while reading the XML declarationQXmlRvaleur invalide pour dclaration autonome&wrong value for standalone declarationQXmlT%1 n'est pas un identifiant PUBLIC valide.#%1 is an invalid PUBLIC identifier. QXmlStream@%1 n'est pas un encodage valide.%1 is an invalid encoding name. QXmlStreamf%1 est un nom d'instruction de traitement invalide.-%1 is an invalid processing instruction name. QXmlStream, mais eu ' , but got ' QXmlStream$Attribut redfini.Attribute redefined. QXmlStream<Encodage %1 n'est pas supportEncoding %1 is unsupported QXmlStream<Encodage du contenu incorrect.(Encountered incorrectly encoded content. QXmlStream2Entit '%1' non dclare.Entity '%1' not declared. QXmlStreamAttendu  Expected  QXmlStream.Character data attendu.Expected character data. QXmlStreamXConteny supplmentaire la fin du document.!Extra content at end of document. QXmlStreamDDclaration de namespace illgale.Illegal namespace declaration. QXmlStream.Caractre XML invalide.Invalid XML character. QXmlStream"Nom XML invalide.Invalid XML name. QXmlStream*Version XML invalide.Invalid XML version string. QXmlStreamTAttribut invalide dans la dclaration XML.%Invalid attribute in XML declaration. QXmlStreamJRfrence vers un caractre invalide.Invalid character reference. QXmlStream$Document invalide.Invalid document. QXmlStream8Valeur de l'entit invalide.Invalid entity value. QXmlStreamRNom d'instruction de traitement invalide.$Invalid processing instruction name. QXmlStream\NDATA dans une dclaration d'entit paramtre.&NDATA in parameter entity declaration. QXmlStreamPLe prfixe de namespace '%1' non dclar"Namespace prefix '%1' not declared QXmlStreamTOuverture et fermeture de balise invalide. Opening and ending tag mismatch. QXmlStream6Fin de document prmature.Premature end of document. QXmlStream4Entit recursive dtecte.Recursive entity detected. QXmlStreamRfrence vers une entit externe '%1' dans la valeur de l'attribut.5Reference to external entity '%1' in attribute value. QXmlStreamXRfrence vers une entit non analyse '%1'."Reference to unparsed entity '%1'. QXmlStreamRSquence ']]>' interdite dans le contenu.&Sequence ']]>' not allowed in content. QXmlStreamR'Standalone' n'accepte que 'yes' ou 'no'."Standalone accepts only yes or no. QXmlStream2Balise ouvrante attendue.Start tag expected. QXmlStream~Le pseudo attribut standalone doit apparatre aprs l'encodage.?The standalone pseudo attribute must appear after the encoding. QXmlStreamInattendu ' Unexpected ' QXmlStreamjCaractre '%1' inattendu dans un 'public id literal'./Unexpected character '%1' in public id literal. QXmlStream4Version XML non supporte.Unsupported XML version. QXmlStreamVDclaration XML aprs le dbut du document.)XML declaration not at start of document. QXmlStreamp%1 et %2 correspondent au dbut et la fin d'une ligne.,%1 and %2 match the start and end of a line. QtXmlPatterns8%1 ne peut pas tre rcupr%1 cannot be retrieved QtXmlPatterns%1 contient 'octets', qui n'est pas autoris pour l'encodage %2.E%1 contains octets which are disallowed in the requested encoding %2. QtXmlPatterns%1 est une type complexe. Caster vers des types complexes n'est pas possible. Cependant, caster vers des types atomiques comme %2 marche.s%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. QtXmlPatterns(%1 est un ivalide %2%1 is an invalid %2 QtXmlPatterns%1 est un flag invalide pour des expressions rgulires. Les flags valides sont:?%1 is an invalid flag for regular expressions. Valid flags are: QtXmlPatternsH%1 est un URI de namespace invalide.%1 is an invalid namespace URI. QtXmlPatternsh%1 est un modle d'expression rgulire invalide: %2/%1 is an invalid regular expression pattern: %2 QtXmlPatternsV%1 est un nom de mode de template invalide.$%1 is an invalid template mode name. QtXmlPatternsB%1 est un type de schema inconnu.%1 is an unknown schema type. QtXmlPatterns@%1 est un encodage non support.%1 is an unsupported encoding. QtXmlPatternsR%1 n'est pas un caractre XML 1.0 valide.$%1 is not a valid XML 1.0 character. QtXmlPatterns|%1 n'est pas un nom valide pour une instruction de traitement.4%1 is not a valid name for a processing-instruction. QtXmlPatternsR%1 n'est pas une valeur numrique valide."%1 is not a valid numeric literal. QtXmlPatterns%1 n'est pas un nom de destination valide dans une instruction de traitement. Ce doit tre une valeur %2, par ex. %3.Z%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. QtXmlPatternsT%1 n'est pas une valeur valide du type %2.#%1 is not a valid value of type %2. QtXmlPatternsR%1 n'est pas un nombre entier de minutes.$%1 is not a whole number of minutes. QtXmlPatterns%1 n'est pas un type atomique. Il est uniquement possible de caster vers des types atomiques.C%1 is not an atomic type. Casting is only possible to atomic types. QtXmlPatterns%1 n'est pas dans les dclaration d'attribut in-scope. La fonctionnalit d'inport de schma n'est pas supporte.g%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. QtXmlPatternsT%1 n'est pas une valeur valide de type %2.&%1 is not valid as a value of type %2. QtXmlPatterns^%1 correspond des caractres de saut de ligne%1 matches newline characters QtXmlPatterns%1 doit tre suivi par %2 ou %3, et non la fin de la chane de remplacement.J%1 must be followed by %2 or %3, not at the end of the replacement string. QtXmlPatternsn%1 requiert au moins %n argument. %2 est donc invalide.p%1 requiert au moins %n arguments. %2 est donc invalide.=%1 requires at least %n argument(s). %2 is therefore invalid. QtXmlPatternsl%1 prend au maximum %n argument. %2 est donc invalide.n%1 prend au maximum %n arguments. %2 est donc invalide.9%1 takes at most %n argument(s). %2 is therefore invalid. QtXmlPatterns %1 a t appel.%1 was called. QtXmlPatternsLUn commentaire ne peut pas contenir %1A comment cannot contain %1 QtXmlPatternsPUn commentaire ne peut pas finir par %1.A comment cannot end with a %1. QtXmlPatternsRConstruct n'est autoris que dans XQuery.An %1-attribute must have a valid %2 as value, which %3 isn't. QtXmlPatternsfUn attribute %1 avec la valeur %2 est dj dclar.8An %1-attribute with value %2 has already been declared. QtXmlPatternsUn argument nomm %1 a dj t dclar. Chaque nom d'argument doit tre unique.UAn argument by name %1 has already been declared. Every argument name must be unique. QtXmlPatternsfUn attribute nomm %1 existe dj pour cet lment.=An attribute by name %1 has already appeared on this element. QtXmlPatternsNUn attribute de nom %1 a dj t cr.1An attribute by name %1 has already been created. QtXmlPatternsUn noeuds attribut ne peut tre un fils d'un noeuds document. C'est pourquoi l'attribut %1 est mal plac.dAn attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. QtXmlPatternspAu moins un lment %1 doit apparatre comme fils de %2.3At least one %1 element must appear as child of %2. QtXmlPatterns`Au moins un lment %1 doit tre plac avant %2.-At least one %1-element must occur before %2. QtXmlPatterns^Au moins un lment %1 doit apparatre dans %2.-At least one %1-element must occur inside %2. QtXmlPatternsPAu moins un composant doit tre prsent.'At least one component must be present. QtXmlPatternsAu moins un mode doit tre spcifi dans l'attribut %1 sur l'lment %2.FAt least one mode must be specified in the %1-attribute on element %2. QtXmlPatternszAu moins un composant doit apparatre aprs le dlimiteur %1.?At least one time component must appear after the %1-delimiter. QtXmlPatternsfLes attributs %1 et %2 sont mutuellement exclusifs.+Attribute %1 and %2 are mutually exclusive. QtXmlPatternsL'attribut %1 ne peut pas tre srialis car il apparat la racine.EAttribute %1 can't be serialized because it appears at the top level. QtXmlPatternsL'attribut %1 ne peut pas apparatre sur l'lment %2. Seuls %3, %4 et les attributs standard le sont.]Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes. QtXmlPatternsL'attribut %1 ne peut pas apparatre sur l'lment %2. Seul %3 et les attributs standard le sont.YAttribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes. QtXmlPatternsL'attribut %1 ne peut pas apparatre sur l'lment %2. Seul %3 est autoris, ainsi que les attributs standard.^Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes. QtXmlPatternsL'attribut %1 ne peut pas apparatre sur l'lment %2. Seuls les attributs standard le peuvent.VAttribute %1 cannot appear on the element %2. Only the standard attributes can appear. QtXmlPatternsRL'attribut %1 ne peut avoir la valeur %2.&Attribute %1 cannot have the value %2. QtXmlPatternsCaster vers %1 est impossible parce que c'est un type abstrait qui ne peut donc tre instanci.fCasting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. QtXmlPatterns(Circularit dtecteCircularity detected QtXmlPatternsJJour %1 est invalide pour le mois %2.Day %1 is invalid for month %2. QtXmlPatternsVLe jour %1 est hors de l'intervalle %2..%3.#Day %1 is outside the range %2..%3. QtXmlPatternsDiviser une valeur du type %1 par %2 (not-a-number) est interdit.@Dividing a value of type %1 by %2 (not-a-number) is not allowed. QtXmlPatternsDiviser une valeur de type %1 par %2 ou %3 (plus ou moins zro) est interdit.LDividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. QtXmlPatternsLDivision (%1) par zro (%2) indfinie.(Division (%1) by zero (%2) is undefined. QtXmlPatternsChaque nom d'un paramtre ede template doit tre unique; %1 est dupliqu.CEach name of a template parameter must be unique; %1 is duplicated. QtXmlPatternsEffective Boolean Value ne peut tre calcule pour une squence contenant deux ou plus valeurs atomiques.aEffective Boolean Value cannot be calculated for a sequence containing two or more atomic values. QtXmlPatternsL'lment %1 ne peut pas tre srialis parce qu'il est hors de l'lment document.OElement %1 can't be serialized because it appears outside the document element. QtXmlPatternsvL'lment %1 ne peut pas avoir un constructuer de squence..Element %1 cannot have a sequence constructor. QtXmlPatternsNL'lment %1 ne peut pas avoir de fils. Element %1 cannot have children. QtXmlPatternsdL'lment %1 n'est pas autoris cet emplacement.+Element %1 is not allowed at this location. QtXmlPatternsDL'lment %1 doit tre le dernier.Element %1 must come last. QtXmlPatternsvL'lement %1 doit avoir au moins un des attributs %2 ou %3.=Element %1 must have at least one of the attributes %2 or %3. QtXmlPatternsL'lment %1 doit avoir un attribut %2 ou un constructeur de squence.EElement %1 must have either a %2-attribute or a sequence constructor. QtXmlPatternsDEchec en castant de %1 ver %2: %3&Failure when casting from %1 to %2: %3 QtXmlPatternsSi les deux valeurs ont des dcalages de zone, elle doivent avoir le mme. %1 et %2 sont diffrents.bIf both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. QtXmlPatternsSi l'lment %1 n'a pas d'attribut %2, il ne peut pas avoir d'attribut %3 ou %4.EIf element %1 has no attribute %2, it cannot have attribute %3 or %4. QtXmlPatterns Si le premier argument est une sequence vide ou un chane vide (sans namespace), un prfixe ne peut tre spcifi. Le prfixe %1 a t spcifi.If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. QtXmlPatternsDans un constructeur d'espace de noms, la valeur pour un espace de noms ne peut pas tre une chane vide.PIn a namespace constructor, the value for a namespace cannot be an empty string. QtXmlPatternsDans un module de feuille de style simplifi, l'attribut %1 doit tre prsent.@In a simplified stylesheet module, attribute %1 must be present. QtXmlPatternsDans un pattern XSL-T, l'axe %1 ne peut pas tre utilis, seulement %2 ou %3 le peuvent.DIn an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. QtXmlPatternsDans un pattern XSL-T, la fonction %1 ne peut pas avoir de 3e argument.>In an XSL-T pattern, function %1 cannot have a third argument. QtXmlPatternsDans un pattern XSL-T, seules les fonctions %1 et %2 (pas %3) peuvent tre utilises pour le matching.OIn an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. QtXmlPatternsDans un pattern XSL-T, le premier argument la fonction %1 doit tre un litral ou une rfrence de variable.yIn an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. QtXmlPatternsDans un pattern XSL-T, le premier argument la fonction %1 doit tre une chane de caractres quand utilis pour correspondance.hIn an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. QtXmlPatternsDans la chane de remplacement, %1 peut seulement tre utilis pour chapper lui-mme ou %2 mais pas %3MIn the replacement string, %1 can only be used to escape itself or %2, not %3 QtXmlPatternsDans la chane de remplacement, %1 doit tre suivi par au moins un chiffre s'il n'est pas chapp.VIn the replacement string, %1 must be followed by at least one digit when not escaped. QtXmlPatterns\Division entire (%1) par zro (%2) indfinie.0Integer division (%1) by zero (%2) is undefined. QtXmlPatternsTIl est impossible de se lier au prfixe %1+It is not possible to bind to the prefix %1 QtXmlPatternsPIl est impossible de caster de %1 en %2.)It is not possible to cast from %1 to %2. QtXmlPatterns\Il est impossible de redclarer le prfixe %1.*It is not possible to redeclare prefix %1. QtXmlPatternsFIl sera impossible de rcuprer %1.'It will not be possible to retrieve %1. QtXmlPatternsIl est impossible d'ajouter des attributs aprs un autre type de noeuds.AIt's not possible to add attributes after any other kind of node. QtXmlPatternsrI lest impossible de caster la valeur %1 de type %2 en %37It's not possible to cast the value %1 of type %2 to %3 QtXmlPatternshLes correspondances ne sont pas sensibles la casseMatches are case insensitive QtXmlPatternsLes imports de module doivent tre placs avant tout fonction, variable ou dclaration d'option.MModule imports must occur before function, variable, and option declarations. QtXmlPatternsZModule division (%1) par zro (%2) indfinie.0Modulus division (%1) by zero (%2) is undefined. QtXmlPatternsVLe mois %1 est hors de l'intervalle %2..%3.%Month %1 is outside the range %2..%3. QtXmlPatternsLa multiplication d'une valeur du type %1 par %2 ou %3 (plus ou moins infini) est interdite.YMultiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. QtXmlPatternsLe namespace %1 peut seulement tre li %2 (et doit tre pr-dclar).ONamespace %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternsLes declarations de namespace doivent tre places avant tout fonction, variable ou dclaration d'option.UNamespace declarations must occur before function, variable, and option declarations. QtXmlPatterns0Le rseau ne rpond pas.Network timeout. QtXmlPatternsxAucun cast n'est possible avec %1 comme type de destination.2No casting is possible with %1 as the target type. QtXmlPatternslAucune comparaison ne peut tre faite avec le type %1.1No comparisons can be done involving the type %1. QtXmlPatterns@Les fonctions externes ne sont pas supportes. Toutes les fonctions supportes peuvent ter utilises directement sans les dclarer pralablement comme externes{No external functions are supported. All supported functions can be used directly, without first declaring them as external QtXmlPatternsHLa fonction %1 n'est pas disponible.$No function by name %1 is available. QtXmlPatternsjAucune fonction avec la signature %1 n'est disponible*No function with signature %1 is available QtXmlPatternsfAucun lien de namespace n'existe pour le prfixe %1-No namespace binding exists for the prefix %1 QtXmlPatternsvAucun lien de namespace n'existe pour le prfixe %1 dans %23No namespace binding exists for the prefix %1 in %2 QtXmlPatternsvPas d'oprande dans une division entire, %1, peut tre %2.1No operand in an integer division, %1, can be %2. QtXmlPatternsBAucun template nomm %1 n'existe.No template by name %1 exists. QtXmlPatternsvAucune valeur n'est disponible pour la variable externe %1.;No value is available for the external variable by name %1. QtXmlPatterns>Aucun variable nomme %1 existeNo variable by name %1 exists QtXmlPatternsAucune des expressions pragma n'est supporte. Une expression par dfault doit tre prsente^None of the pragma expressions are supported. Therefore, a fallback expression must be present QtXmlPatternsSeulement une dclaration %1 peut intervenir lors du prologue de la requte.6Only one %1 declaration can occur in the query prolog. QtXmlPatternsPSeulement un lment %1 peut apparatre.Only one %1-element can appear. QtXmlPatternsSeule le Unicode CodepointCollation est support (%1), %2 n'est pas support.IOnly the Unicode Codepoint Collation is supported(%1). %2 is unsupported. QtXmlPatternsjSeul le prfixe %1 peut tre li %2, et vice versa.5Only the prefix %1 can be bound to %2 and vice versa. QtXmlPatternsL'oprateur %1 ne peut pas tre utilis pour des valeurs atomiques de type %2 ou %3.>Operator %1 cannot be used on atomic values of type %2 and %3. QtXmlPatternspL'oprateur %1 ne peut pas tre utilis pour le type %2.&Operator %1 cannot be used on type %2. QtXmlPatternsL'oprateur %1 n'est pas disponible entre valeurs atomiques de type %2 et %3.EOperator %1 is not available between atomic values of type %2 and %3. QtXmlPatternsZOverflow: ne peut pas reprsenter la date %1."Overflow: Can't represent date %1. QtXmlPatterns`Overflow: la date ne peut pas tre reprsente.$Overflow: Date can't be represented. QtXmlPatternsErreur: %1Parse error: %1 QtXmlPatternsLe prfixe %1 peut seulement tre li %2 (et doit tre prdclar).LPrefix %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatterns`Le prfixe %1 est dj dclar dans le prologue.,Prefix %1 is already declared in the prolog. QtXmlPatternszLa Promotion de %1 vers %2 peut causer un perte de prcision./Promoting %1 to %2 may cause loss of precision. QtXmlPatternsNLa cardinalit requise est %1; reu %2./Required cardinality is %1; got cardinality %2. QtXmlPatternsTLe type requis est %1, mais %2 a t reu.&Required type is %1, but %2 was found. QtXmlPatternsLancement d'une feuille de style XSL-T 1.0 avec un processeur 2.0.5Running an XSL-T 1.0 stylesheet with a 2.0 processor. QtXmlPatternsxLes noeuds de texte ne sont pas autoriss cet emplacement.,Text nodes are not allowed at this location. QtXmlPatternsNL'axe %1 n'est pas support dans XQuery$The %1-axis is unsupported in XQuery QtXmlPatternsLa fonctionnalit "Schema Import" n'est pas supporte et les dclarations %1 ne peuvent donc intervenir.WThe Schema Import feature is not supported, and therefore %1 declarations cannot occur. QtXmlPatternsLa fonctionnalit "Schema Validation" n'est pas supporte. Les expressions %1 ne seront pas utilises.VThe Schema Validation Feature is not supported. Hence, %1-expressions may not be used. QtXmlPatternsHL'URI ne peut pas avoir de fragmentsThe URI cannot have a fragment QtXmlPatternsL'attribute %1 peut seulement apparatre sur le premier lment %2.9The attribute %1 can only appear on the first %2 element. QtXmlPatternsL'attribut %1 ne peut pas apparatre sur %2 quand il est fils de %3.?The attribute %1 cannot appear on %2, when it is a child of %3. QtXmlPatterns^L'attribut %1 doit apparatre sur l'lment %2.+The attribute %1 must appear on element %2. QtXmlPatternsLe codepoint %1 dans %2 et utilisant l'encodage %3 est un caractre XML invalide.QThe codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. QtXmlPatternsLes donnes d'une instruction de traitement ne peut contenir la chane %1AThe data of a processing instruction cannot contain the string %1 QtXmlPatternsLI'l n'y a pas de collection par dfaut#The default collection is undefined QtXmlPatternsnL'lment avec le nom local %1 n'existe pas dans XSL-T.7The element with local name %1 does not exist in XSL-T. QtXmlPatternsL'encodage %1 est invalide. Il doit contenir uniquement des caractres latins, sans blanc et doit tre conforme l'expression rgulire %2.The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. QtXmlPatternsdLe premier argument de %1 ne peut tre du type %2..The first argument to %1 cannot be of type %2. QtXmlPatternsLe premier argument de %1 ne peut tre du type %2. Il doit tre de type numrique, xs:yearMonthDuration ou xs:dayTimeDuration.uThe first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. QtXmlPatternsLe premier argument de %1 ne peut tre du type %2. Il doit tre de type %3, %4 ou %5.PThe first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatternsLe premier oprande dans une division entire, %1, ne peut tre infini (%2).FThe first operand in an integer division, %1, cannot be infinity (%2). QtXmlPatterns,Le focus est indfini.The focus is undefined. QtXmlPatternsjL'initialisation de la variable %1 dpend d'elle-mme3The initialization of variable %1 depends on itself QtXmlPatterns\L'item %1 ne correspond pas au type requis %2./The item %1 did not match the required type %2. QtXmlPatterns~Le mot-cl %1 ne peut pas apparatre avec un autre nom de mode.5The keyword %1 cannot occur with any other mode name. QtXmlPatterns La dernire tape dans un chemin doit contenir soit des noeuds soit des valeurs atomiques. Cela ne peut pas tre un mlange des deux.kThe last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. QtXmlPatternsjLa fonctionnalit "module import" n'est pas supporte*The module import feature is not supported QtXmlPatterns\Le nom %1 ne se rfre aucun type de schema..The name %1 does not refer to any schema type. QtXmlPatternsLe nom d'un attribut calcul ne peut pas avoir l'URI de namespace %1 avec le nom local %2.ZThe name for a computed attribute cannot have the namespace URI %1 with the local name %2. QtXmlPatterns&Le nom d'une variable lie dans un expression for doit tre different de la variable positionnelle. Les deux variables appeles %1 sont en conflit.The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. QtXmlPatternsLe nom d'une expression d'extension doit tre dans un namespace.;The name of an extension expression must be in a namespace. QtXmlPatternsLe nom d'une option doit avoir un prfixe. Il n'y a pas de namespace par dfaut pour les options.TThe name of an option must have a prefix. There is no default namespace for options. QtXmlPatternsHLe namespace %1 est rserv; c'est pourquoi les fonctions dfinies par l'utilisateur ne peuvent l'utiliser. Essayez le prfixe prdfini %2 qui existe pour ces cas.The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. QtXmlPatternsL'URI de namespace ne peut tre une chane vide quand on le lie un prfixe, %1.JThe namespace URI cannot be the empty string when binding to a prefix, %1. QtXmlPatternsL'URI de namespace dans le nom d'un attribut calcul ne peut pas tre %1.DThe namespace URI in the name for a computed attribute cannot be %1. QtXmlPatternsL'URI de namespace doit tre une constante et ne peut contenir d'expressions.IThe namespace URI must be a constant and cannot use enclosed expressions. QtXmlPatternsLe namespace d'une fonction utilisateur ne peut pas tre vide (essayez le prfixe prdfini %1 qui existe pour ce genre de cas)yThe namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) QtXmlPatternsLLe namespace d'une fonction utilisateur dans un module de bibliothque doit tre quivalent au namespace du module. En d'autres mots, il devrait tre %1 au lieu de %2The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 QtXmlPatterns(Le forme de normalisation %1 n'est pas supporte. Les formes supportes sont %2, %3, %4 et %5, et aucun, ie. une chane vide (pas de normalisation).The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). QtXmlPatterns~Le paramtre %1 est pass mais aucun %2 correspondant n'existe.;The parameter %1 is passed, but no corresponding %2 exists. QtXmlPatternsLe paramtre %1 est requis, mais aucun %2 correspondant n'est fourni.BThe parameter %1 is required, but no corresponding %2 is supplied. QtXmlPatternsLe prfixe %1 ne peut tre li. Par dfault, il est dj li au namespace %2.TThe prefix %1 can not be bound. By default, it is already bound to the namespace %2. QtXmlPatterns>Le prfixe %1 ne peut tre li.The prefix %1 cannot be bound. QtXmlPatternshLe prfixe doit tre un valide %1; %2 n'e l'est pas./The prefix must be a valid %1, which %2 is not. QtXmlPatternsLe noeuds racine du deuxime argument la fonction %1 doit tre un noeuds document. %2 n'est pas un document.gThe root node of the second argument to function %1 must be a document node. %2 is not a document node. QtXmlPatternsLe deuxime argument de %1 ne peut tre du type %2. Il doit tre de type %3, %4 ou %5.QThe second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatternsLe second oprande dans une division, %1, ne peut tre nul (%2).:The second operand in a division, %1, cannot be zero (%2). QtXmlPatternsLe nom de destination dans une instruction de traitement ne peut tre %1. %2 est invalide.~The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. QtXmlPatternsZLe namespace cible d'un %1 ne peut tre vide.-The target namespace of a %1 cannot be empty. QtXmlPatternsLa valeur de l'attribut %1 de l'lement %2 doit tre %3 ou %4, et pas %5.IThe value for attribute %1 on element %2 must either be %3 or %4, not %5. QtXmlPatternsLa valeur de l'attribut %1 doit tre du type %2, %3 n'en est pas.:The value of attribute %1 must of type %2, which %3 isn't. QtXmlPatternsLa valeur de l'attribut de version XSL-T doit tre du type %1, et non %2.TThe value of the XSL-T version attribute must be a value of type %1, which %2 isn't. QtXmlPatterns:La variable %1 est inutiliseThe variable %1 is unused QtXmlPatternsCe processeur ne comprend pas les Schemas. C'est pourquoi %1 ne peut pas tre utilis.CThis processor is not Schema-aware and therefore %1 cannot be used. QtXmlPatternsBL'heure %1:%2:%3.%4 est invalide.Time %1:%2:%3.%4 is invalid. QtXmlPatternsL'heure 24:%1:%2.%3 est invalide. L'heure est 24 mais les minutes, seconndes et millisecondes ne sont pas 0;_Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0;  QtXmlPatternsLes lment d'une feuille de style de haut niveau doivent tre dans un namespace non nul; %1 ne l'est pas.NTop level stylesheet elements must be in a non-null namespace, which %1 isn't. QtXmlPatternsDeux attributs de dclarations de namespace ont le mme nom: %1. AudioEqualizer Frequency band, %1 Hz Kmitočtové pásmo, %1 Hz AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Zařízení pro přehrávání zvuku <b>%1</b> nepracuje.<br/>Místo něj <b>%2</b> se používá.</html> Revert back to device '%1' Přepnout zpět na zařízení '%1' <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> <html>Zařízení pro přehrávání zvuku <b>%1</b> bylo spuštěno,<br/>protože je právě dostupné a má větší přednost.</html> CloseButton Close Tab Zavřít kartu FakeReply Fake error ! Napodobená chyba! Invalid URL Neplátné URL Phonon:: Games Hry Music Hudba Video Video Communication Spojení Accessibility Dostupnost Notifications Oznámení Phonon::AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Zařízení pro přehrávání zvuku <b>%1</b> nepracuje.<br/>Místo něj <b>%2</b> se používá.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> <html>Zařízení pro přehrávání zvuku <b>%1</b> bylo spuštěno,<br/>protože je právě dostupné a má větší přednost.</html> Revert back to device '%1' Přepnout zpět na zařízení '%1' Phonon::Gstreamer::Backend Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Upozornění: Zdá se, že zákládní přídavné moduly pro GStreamer nejsou nainstalovány. Podpora audia a videa byla vypnuta Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Varování: Balíček gstreamer0.10-plugins-good není nainstalován. Některé vlastnosti videa nejsou dostupné. Phonon::Gstreamer::MediaObject Could not open media source. Zdroj s médii se nepodařilo otevřít. Could not decode media source. Zdroj s médii se nepodařilo rozluštit. Invalid source type. Neplatný typ zdroje s médii. Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. Přehrávání nelze spustit. Ověřte, prosím, instalaci Gstreamer a ujistěte se, že je nainstalován balíček libgstreamer-plugins-base. Could not open audio device. The device is already in use. Zvukové zařízení se nepodařilo otevřít, protože se již používá. A required codec is missing. You need to install the following codec(s) to play this content: %0 Všechny vyžadované kodeky nejsou nainstalovány. Kvůli přehrání tohoto obsahu je potřeba nainstalovat následující kodek(y): %0 Could not locate media source. Zdroj s médii se nepodařilo nalézt. Phonon::MMF Audio Output Výstup zvuku The audio output device Zařízení pro výstup zvuku Phonon::MMF::AudioEqualizer Frequency band, %1 Hz Kmitočtové pásmo, %1 Hz Phonon::MMF::EffectFactory audio equalizer zvukový ekvalizér Bass boost Zdůraznění basů Distance Attenuation Zeslabení v závislosti na vzdálenosti Environmental Reverb Vnější ozvěna Loudness Hlasitost Source Orientation Zaměření zdroje Stereo Widening Rozšíření sterea Phonon::VolumeSlider Volume: %1% Hlasitost: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Posuvník se používá k nastavení hlasitosti. Poloha nejvíce vlevo odpovídá 0%; poloha nejvíce vpravo odpovídá %1% Muted Ztlumení Q3Accel %1, %2 not defined %1, %2 nejsou stanoveny Ambiguous %1 not handled Nejednoznačné %1 nemohou být zpracovány Q3DataTable True Pravdivý False Nesprávný Delete Smazat Insert Vložit Update Obnovit Q3FileDialog &OK &OK &No &Ne Dir Adresář &Yes &Ano Back Zpět Date Datum File Soubor Name Název Open Otevřít Size Velikost Sort Roztřídit Type Typ &Open &Otevřít &Save &Uložit Error Chyba Open Otevřít Write: %1 Zapsat: %1 Sort by &Size Roztřídit podle &velikosti Sort by &Date Roztřídit podle &data Sort by &Name Roztřídit podle &názvu New Folder 1 Nová složka 1 the directory Adresář File &type: Typ &souboru: File &name: Název &souboru: Delete %1 Smazat %1 Cancel Zrušit R&eload Nahrát &znovu New Folder Nová složka &Unsorted &Neroztříděné Look &in: Hle&dat v: Preview File Contents Náhled obsahu souboru New Folder %1 Nová složka %1 Read-write Číst/Zapisovat Read-only Pouze číst Copy or Move a File Soubor kopírovat nebo posunout <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Jste si jistý, že chcete smazat %1 "%2"?</qt> Find Directory Najít adresář Attributes Vlastnosti Show &hidden files &Ukázat skryté soubory Save As Uložit jako Inaccessible Nepřístupné %1 File not found. Check path and filename. %1 Soubor se nepodařilo nalézt. Ověřte cestu a název souboru. List View Pohled se seznamem Special Zvláštní vlastnost Write-only Pouze zápis the symlink Symbolický odkaz &Delete &Smazat All Files (*) Všechny soubory (*) Directories Adresáře Symlink to Special Symbolický odkaz k zvláštnímu souboru Select a Directory Vyberte adresář All Files (*.*) Všechny soubory (*.*) Read: %1 Číst: %1 &Rename &Přejmenovat Directory: Adresář: One directory up O jeden adresář nahoru Preview File Info Náhled informace o souboru the file Soubor Create New Folder Vytvořit novou složku Symlink to File Symbolický odkaz k souboru Symlink to Directory Symbolický odkaz k adresáři Detail View Podrobný pohled Q3LocalFs Could not open %1 Nepodařilo se otevřít: %1 Could not remove file or directory %1 Nepodařilo se odstranit soubor nebo adresář %1 Could not create directory %1 Nepodařilo se vytvořit adresář %1 Could not read directory %1 Nepodařilo se přečíst adresář %1 Could not rename %1 to %2 Nepodařilo se přejmenovat: %1 na %2 Could not write %1 Nepodařilo se zapsat: %1 Q3MainWindow Line up Uspořádat Customize... Přizpůsobit... Q3NetworkProtocol Operation stopped by the user Operace byla zastavena uživatelem Q3ProgressDialog Cancel Zrušit Q3TabDialog OK OK Help Nápověda Apply Použít Cancel Zrušit Defaults Výchozí Q3TextEdit Cu&t Vyj&mout &Copy &Kopírovat &Redo &Znovu &Undo &Zpět Clear Smazat &Paste &Vložit Select All Vybrat vše Q3TitleBar Close Zavřít Minimize Zmenšit Puts a minimized back to normal Dá velikost zmenšeného okna zpátky do obvyklého stavu Displays the name of the window and contains controls to manipulate it Zobrazí název okna a obsahuje příkazy pro zacházení s ním Makes the window full screen Dá okno na celou obrazovku System Systém Maximize Zvětšit Contains commands to manipulate the window Obsahuje příkazy pro zacházení s velikostí okna Restore up Obnovit Puts a minimized window back to normal Dá velikost zmenšeného okna zpátky do obvyklého stavu Closes the window Zavře okno Puts a maximized window back to normal Dá velikost zvětšeného okna zpátky do obvyklého stavu Moves the window out of the way Zmenší okno Restore down Obnovit Q3ToolBar More... Více... Q3UrlOperator The protocol `%1' does not support getting files Protokol `%1' nepodporuje nahrávání souborů The protocol `%1' does not support renaming files or directories Protokol `%1' nepodporuje přejmenovávání souborů nebo adresářů The protocol `%1' does not support listing directories Protokol `%1' nepodporuje sestavování seznamu adresářů (unknown) (neznámý) The protocol `%1' does not support removing files or directories Protokol `%1' nepodporuje odstraňování souborů nebo adresářů The protocol `%1' does not support putting files Protokol `%1' nepodporuje ukládání souborů The protocol `%1' is not supported Protokol `%1' není podporován The protocol `%1' does not support copying or moving files or directories Protokol `%1' nepodporuje kopírování či přesun souborů nebo adresářů The protocol `%1' does not support creating new directories Protokol `%1' nepodporuje vytváření nových adresářů Q3Wizard &Help &Nápověda &Cancel &Zrušit &Finish Do&končit &Next > &Další > < &Back < &Zpět QAbstractSocket Host not found Nepodařilo se najít počítač Connection refused Spojení bylo odmítnuto Connection timed out Časový limit pro spojení byl překročen Socket is not connected Zásuvka (socket) není spojena Socket operation timed out Časový limit pro zásuvkovou (socket) operaci byl překročen Network unreachable Síť není dosažitelná Operation on socket is not supported Tato zásuvková (socket) operace není podporována QAbstractSpinBox Step &down Krok &dolů &Step up &Krok nahoru &Select All &Vybrat vše QAccessibleButton Press Stisknout QApplication Activates the program's main window Spustí hlavní okno programu QT_LAYOUT_DIRECTION LTR Activate Spustit Executable '%1' requires Qt %2, found Qt %3. Použití '%1' vyžaduje Qt %2; bylo ale nalezeno Qt %3. Incompatible Qt Library Error Qt není slučitelná QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR QAxSelect OK OK COM &Object: COM-&Objekt: &Cancel &Zrušit Select ActiveX Control Vybrat prvek ActiveX QCheckBox Check Označit křížkem Toggle Přepnout Uncheck Zrušit označení křížkem QColorDialog &Red: &Červená: &Sat: &Sytost: &Val: &Jasnost: Hu&e: Barevný &odstín: Select Color Vybrat barvu &Add to Custom Colors &Přidat k uživatelem stanoveným barvám Bl&ue: &Modrá: &Green: &Zelená: &Basic colors Základní &barvy &Custom colors &Uživatelem stanovené barvy A&lpha channel: A&lfa kanál: QComboBox Open Otevřít True Pravdivý Close Zavřít False Nesprávný QCoreApplication %1: key is empty QSystemSemaphore %1: Neplatný údaj u klíče (prázdný) %1: unable to make key QSystemSemaphore %1: Nepodařilo se vytvořit klíč %1: ftok failed QSystemSemaphore %1: Vyvolání ftok se nezdařilo %1: key is empty %1: Neplatný údaj u klíče (prázdný) %1: unable to make key %1: Nepodařilo se vytvořit klíč %1: ftok failed %1: Vyvolání ftok se nezdařilo %1: already exists QSystemSemaphore %1: Již existuje %1: does not exist QSystemSemaphore %1: Neexistuje %1: out of resources QSystemSemaphore %1: Nejsou již použitelné zdroje %1: unknown error %2 QSystemSemaphore %1: Neznámá chyba %2 QDB2Driver Unable to commit transaction Transakci se nepodařilo provést (operace 'commit', odeslání, se nezdařila) Unable to set autocommit 'autocommit' se nepodařilo nastavit Unable to connect Nepodařilo se navázat spojení Unable to rollback transaction Transakci se nepodařilo zvrátit (operace 'rollback', zvrácení, se nezdařila) QDB2Result Unable to bind variable Proměnnou se nepodařilo provést Unable to execute statement Příkaz se nepodařilo provést Unable to fetch next Další datový záznam se nepodařilo natáhnout Unable to prepare statement Příkaz se nepodařilo připravit Unable to fetch record %1 Datový záznam %1 se nepodařilo natáhnout Unable to fetch first První datový záznam se nepodařilo natáhnout QDateTimeEdit AM AM PM PM am am pm pm QDial QDial QDial SliderHandle Posuvník SpeedoMeter Rychloměr QDialog Done Hotovo What's This? Co je toto? QDialogButtonBox OK OK &OK &OK &No &Ne &Yes &Ano Help Nápověda Open Otevřít Save Uložit &Save &Uložit Abort Zrušit Apply Použít Close Zavřít Reset Vrátit Retry Opakovat Restore Defaults Obnovit výchozí &Close &Zavřít Cancel Zrušit Ignore Přehlížet Close without Saving Zavřít bez uložení N&o to All N&e, žádné Save All Uložit vše &Cancel &Zrušit Discard Odmítnout Yes to &All Ano, &vše Don't Save Neukládat QDirModel Kind Druh Name Název Size Velikost Kind Match OS X Finder Druh Type All other platforms Typ Type Typ Date Modified Datum změny QDockWidget Dock Vplout do panelu Close Zavřít Float Plout QDoubleSpinBox Less Méně More Více QErrorMessage &OK &OK Fatal Error: Osudová chyba: &Show this message again Toto hlášení &ukázat ještě jednou Debug Message: Hlášení o odladění: Warning: Varování: QFile Cannot create %1 for output %1 se nepodařilo zřídit pro výstup Failure to write block Datový blok se nepodařilo zapsat Will not rename sequential file using block copy Nepřejmenuje posloupný soubor pomocí kopie bloku Cannot remove source file Nelze odstranit zdrojový soubor Cannot open %1 for input %1 se nepodařilo otevřít pro čtení Destination file exists Cílový soubor již existuje Cannot open for output Nepodařilo se otevřít pro zápis QFileDialog Back Zpět File Soubor File Folder Match Windows Explorer Souborová složka Folder All other platforms Složka Alias Mac OS X Finder Přezdívka Shortcut All other platforms Zkratka Open Otevřít &Open &Otevřít &Save &Uložit Drive Disková jednotka Show Ukázat '%1' is write protected. Do you want to delete it anyway? '%1' je chráněn proti zápisu. Přesto chcete soubor smazat? File &name: Název &souboru: New Folder Nová složka Parent Directory Nadřazený adresář &New Folder &Nová složka Remove Odstranit My Computer Můj počítač Look in: Hledat v: Files of type: Soubory typu: Find Directory Najít adresář Show &hidden files &Ukázat skryté soubory Are sure you want to delete '%1'? Jste si jistý, že %1 chcete smazat? Save As Uložit jako %1 Directory not found. Please verify the correct directory name was given. %1 Adresář se nepodařilo nalézt. Ověřte, prosím, že byl zadán správný název adresáře. List View Pohled se seznamem &Choose &Vybrat &Delete &Smazat All Files (*) Všechny soubory (*) Directories Adresáře All Files (*.*) Všechny soubory (*.*) &Rename &Přejmenovat Could not delete directory. Adresář se nepodařilo smazat. Directory: Adresář: Unknown Neznámý %1 already exists. Do you want to replace it? Soubor %1 již existuje. Chcete jej nahradit? Forward Dopředu Recent Places Naposledy navštívené Create New Folder Vytvořit novou složku Detail View Podrobný pohled %1 File not found. Please verify the correct file name was given. %1 Soubor se nepodařilo nalézt. Ověřte, prosím, že byl zadán správný název souboru. QFileSystemModel Kind Druh Name Název Size Velikost Type Typ %1 GB %1 GB %1 KB %1 KB %1 MB %1 MB %1 TB %1 TB <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>Název "%1" nelze použít.</b><p>Zkuste použít jiný název, s menším počtem znaků nebo bez zvláštních znaků. %1 bytes %1 bytů My Computer Můj počítač Computer Počítač Invalid filename Neplatný název souboru Kind Match OS X Finder Druh Type All other platforms Typ Date Modified Datum změny QFontDatabase Any Všechna Lao Laoské Bold Tučné Demi Polotučné Thai Thajské Black Černé Greek Řecké Khmer Khmerské Latin Latinské Light Lehké Ogham Ogamské Oriya Oriya Runic Runové Tamil Tamilské Cyrillic Cyrilské Kannada Kannada Malayalam Malayalam Simplified Chinese Zjednodušená čínština Demi Bold Polotučné Arabic Arabské Hebrew Hebrejské Myanmar Myanmar Italic Itala Korean Korejské Normal Obvyklé Oblique Nakloněné Telugu Telugu Thaana Thaana Symbol Symbol Syriac Syrské Devanagari Devanagari Japanese Japonské Bengali Bengálské Armenian Arménské Sinhala Sinhálské Tibetan Tibetské Vietnamese Větnamské Gujarati Gujarati Traditional Chinese Tradiční čínština Georgian Gruzínské Gurmukhi Gurmukhi QFontDialog &Font &Písmo &Size &Velikost Sample Vzorek Font st&yle Druh pís&ma Wr&iting System Způsob &psaní Select Font Vybrat písmo &Underline &Podtrhnout Effects Efekty Stri&keout Pře&škrtnout QFtp Listing directory failed: %1 Obsah adresářů nelze ukázat: %1 Creating directory failed: %1 Vytvoření adresářů se nezdařilo: %1 Not connected Žádné spojení Connection refused for data connection Odmítnuto spojení spojení pro data Login failed: %1 Přihlášení se nezdařilo: %1 Downloading file failed: %1 Stažení souboru se nezdařilo: %1 Connected to host Spojení s počítačem navázáno Connection timed out to host %1 Časový limit pro spojení s počítačem '%1' byl překročen Connected to host %1 Spojeno s počítačem %1 Connecting to host failed: %1 Spojení s počítačem se nezdařilo: %1 Host %1 not found Počítač %1 se nepodařilo nalézt Uploading file failed: %1 Nahrání souboru se nezdařilo: %1 Changing directory failed: %1 Změna adresáře se nezdařila: %1 Host found Počítač byl nalezen Removing directory failed: %1 Odstranění adresáře se nezdařilo: %1 Connection refused to host %1 Spojení s počítačem %1 odmítnuto Connection to %1 closed Spojení s %1 ukončeno Removing file failed: %1 Odstranění souboru se nezdařilo: %1 Host %1 found Počítač %1 byl nalezen Unknown error Neznámá chyba Connection closed Spojení ukončeno QHostInfo Unknown error Neznámá chyba QHostInfoAgent Host not found Nepodařilo se najít počítač Unknown address type Neznámý typ adresy Unknown error Neznámá chyba No host name given Nebyl zadán název pro hostitelský počítač Invalid hostname Neplatný název pro hostitelský počítač QHttp Connection refused (or timed out) Spojení bylo odmítnuto (nebo byl překročen časový limit) Data corrupted Data jsou poškozena Connected to host Spojení s počítačem navázáno Connected to host %1 Spojeno s počítačem %1 Host %1 not found Počítač %1 se nepodařilo nalézt Host requires authentication Hostitelský počítač požaduje autentizaci Error writing response to device Při psaní odpovědi výstupnímu zařízení se vyskytla chyba HTTPS connection requested but SSL support not compiled in Požadované HTTPS spojení nelze vytvořit, protože neexistuje žádná SSL podpora Host found Počítač byl nalezen Connection refused Spojení bylo odmítnuto Proxy authentication required Požadována proxy autentizace Unknown protocol specified Byl zadán neznámý protokol HTTP request failed HTTP dotaz se nezdařil Proxy requires authentication Proxy server požaduje autentizaci Authentication required Požadována autentizace SSL handshake failed Během startu SSL protokolu se vyskytla chyba Connection to %1 closed Spojení s %1 ukončeno Invalid HTTP chunked body Obsah (chunked body - rozkouskované tělo) HTTP je neplatný Host %1 found Počítač %1 byl nalezen Wrong content length Neplatný údaj o délce obsahu Unknown error Neznámá chyba Invalid HTTP response header Hlavička HTTP odpovědi není platná Unknown authentication method Neznámý způsob autentizace Connection closed Spojení ukončeno No server set to connect to Pro spojení nebyl nastaven žádný počítač - server Server closed connection unexpectedly Server neočekávaně uzavřel spojení Request aborted Požadavek byl zrušen QHttpSocketEngine Proxy connection refused Proxy server odmítl navázání spojení Proxy denied connection Proxy server odmítl spojení Proxy server not found Nepodařilo se najít žádný proxy server Proxy server connection timed out Při spojení s proxy serverem byl překročen časový limit Did not receive HTTP response from proxy Žádná HTTP odpověď od proxy serveru Proxy connection closed prematurely Proxy server předčasně ukončil spojení Error communicating with HTTP proxy Chyba při spojení s proxy serverem Authentication required Požadována autentizace Error parsing authentication request from proxy Chyba při vyhodnocení autentizačního požadavku proxy serveru QIBaseDriver Unable to commit transaction Transakci se nepodařilo provést (operace 'commit', odeslání, se nezdařila) Could not start transaction Nepodařilo se spustit žádnou transakci Error opening database Nepodařilo se otevřít spojení s databází Unable to rollback transaction Transakci se nepodařilo zvrátit (operace 'rollback', zvrácení, se nezdařila) QIBaseResult Unable to commit transaction Transakci se nepodařilo provést (operace 'commit', odeslání, se nezdařila) Unable to open BLOB Nepodařilo se otevřít BLOB Could not describe statement Nepodařilo se získat žádný popis příkazu Could not describe input statement Nepodařilo se získat žádný popis vstupního příkazu Could not allocate statement Přidělení příkazu se nezdařilo Unable to write BLOB Nepodařilo se zapsat BLOB Could not start transaction Nepodařilo se spustit žádnou transakci Unable to close statement Příkaz se nepodařilo zavřít Could not get query info Požadované informace k vyhledávání nejsou k dispozici Could not find array Nepodařilo se najít pole Could not get array data Nepodařilo se přečíst data pole Unable to execute query Dotaz se nepodařilo provést Could not prepare statement Příkaz se nepodařilo připravit Could not fetch next item Další prvek se nepodařilo vyzvednout Could not get statement info K dispozici není žádná informace k příkazu Unable to create BLOB Nepodařilo se vytvořit žádný BLOB Unable to read BLOB BLOB se nepodařilo přečíst QIODevice No such file or directory Nepodařilo se najít žádný takový soubor nebo adresář Permission denied Přístup odepřen No space left on device Na zařízení není žádný volný úložný prostor Unknown error Neznámá chyba Too many open files Příliš mnoho otevřených souborů QInputContext XIM XIM FEP FEP Windows input method Windows-vstupní metoda S60 FEP input method S60 FEP-vstupní metoda XIM input method XIM-vstupní metoda Mac OS X input method Mac OS X-vstupní metoda QInputDialog Enter a value: Zadejte hodnotu: QLibrary Could not unmap '%1': %2 Operace unmap, zrušit zobrazení, se nezdařila u '%1': %2 Cannot unload library %1: %2 Knihovnu %1 nelze vyjmout: %2 Cannot load library %1: %2 Knihovnu %1 nelze nahrát: %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Přídavný modul '%1' používá neslučitelnou Qt knihovnu. (%2.%3.%4) [%5] Cannot resolve symbol "%1" in %2: %3 Symbol "%1" nelze v %2 vyřešit: %3 Plugin verification data mismatch in '%1' Ověřovací data přídavného nesouhlasí v '%1' The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) Přídavný modul '%1' používá neslučitelnou Qt knihovnu. (Knihovny vytvořené v režimu ladění a vydání nemohou být používány společně.) The file '%1' is not a valid Qt plugin. Soubor '%1' není platným přídavným modulem Qt. The shared library was not found. Nepodařilo se nalézt sdílenou knihovnu. Unknown error Neznámá chyba The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Přídavný modul '%1' používá neslučitelnou Qt knihovnu. Potřebný byl zvláštní klíč pro sestavení "%2", obdržen "%3" Could not mmap '%1': %2 Operace mmap se nezdařila u '%1': %2 QLineEdit Cu&t &Vyjmout &Copy &Kopírovat &Redo &Znovu &Undo &Zpět &Paste &Vložit Delete Smazat Select All Vybrat vše QLocalServer %1: Name error %1: Chybný název %1: Unknown error %2 %1: Neznámá chyba %2 %1: Permission denied %1: Přístup odepřen %1: Address in use %1: Adresa se již používá QLocalSocket %1: Connection error %1: Chyba spojení %1: Connection refused %1: Spojení bylo odmítnuto %1: Unknown error %2 %1: Neznámá chyba %2 %1: Socket access error %1: Chyba při přístupu k zásuvce (socketu) %1: Socket resource error %1: Chyba zásuvky (socketu) - potíže se zdrojem %1: The socket operation is not supported %1: Tato operace se zásuvkou (socketem) není podporována %1: Invalid name %1: Neplatný název %1: Unknown error %1: Neznámá chyba %1: Socket operation timed out %1: Překročení času při operaci se zásuvkou (socketem) %1: Datagram too large %1: Datagram je příliš veliký %1: Remote closed %1: Spojení bylo protější stranou uzavřeno QMYSQLDriver Unable to commit transaction Transakci se nepodařilo provést (operace 'commit', odeslání, se nezdařila) Unable to open database ' Nepodařilo se otevřít spojení s databází ' Unable to connect Nepodařilo se navázat spojení Unable to rollback transaction Transakci se nepodařilo zvrátit (operace 'rollback', zvrácení, se nezdařila) Unable to begin transaction Transakci se nepodařilo spustit QMYSQLResult Unable to execute statement Příkaz se nepodařilo provést Unable to store statement results Výsledky příkazu se nepodařilo uložit Unable to execute next query Další dotaz nelze provést Unable to bind outvalues Výstupní hodnoty se nepodařilo spojit Unable to store next result Další výsledek nelze uložit Unable to fetch data Nepodařilo se natáhnout žádná data Unable to prepare statement Příkaz se nepodařilo připravit Unable to store result Výsledek se nepodařilo uložit Unable to bind value Hodnotu se nepodařilo spojit Unable to execute query Dotaz se nepodařilo provést Unable to reset statement Příkaz se nepodařilo znovu nastavit QMdiArea (Untitled) (Bez názvu) QMdiSubWindow Help Nápověda Menu Menu &Move Po&sunout &Size Změnit &velikost Close Zavřít Minimize Zmenšit Shade Navinout Stay on &Top Zůstat v &popředí &Close &Zavřít - [%1] - [%1] %1 - [%2] %1 - [%2] &Restore &Obnovit Restore Obnovit Maximize Zvětšit Unshade Odvinout Mi&nimize Zmen&šit Ma&ximize Zvě&tšit Restore Down Obnovit QMenu Open Otevřít Close Zavřít Execute Provést QMenuBar Actions Činnosti QMessageBox OK OK Help Nápověda <h3>About Qt</h3><p>This program uses Qt version %1.</p><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <h3>O Qt</h3><p>Tento program používá Qt ve verzi %1.</p><p>Qt je sadou softwarových nástrojů C++ určených pro vývoj aplikací napříč platformami.</p><p>Qt poskytuje jednoduchou přenositelnost přes MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, a všechny hlavní obchodní varianty systému Unix. Qt je rovněž dostupný pro vložená zařízení jako Qt pro Embedded Linux a Qt pro Windows CE.</p><p>Qt je dostupné pod třemi rozdílnými licenčními volbami navrženými pro přizpůsobení se potřebám našich různých uživatelů.</p>Qt licencované pod naší obchodní licenční smlouvou je vhodné pro vývoj soukromého/obchodního software, kde si nepřejete sdílet jakýkoli zdrojový kód se třetími stranami, nebo jinak řečeno, když nemůžete vyhovět podmínkám GNU LGPL ve verzi 2.1 nebo GNU GPL ve verzi 3.0.</p><p>Qt licencované pod GNU LGPL ve verzi 2.1 je vhodné pro vývoj Qt aplikací (soukromých nebo s otevřeným zdrojovým kódem), za předpokladu že můžete souhlasit s požadavky a podmínkami GNU LGPL version 2.1.</p><p>Qt licencované pod GNU General Public License ve verzi 3.0 je vhodné pro vývoj aplikací Qt, u nichž si přejete použít takovou aplikaci ve spojení se software, který podléhá požadavkům GNU GPL ve verzi 3.0, nebo kde jste jinak ochoten souhlasit s podmínkami GNU GPL ve verzi 3.0.</p><p>Podívejte se, prosím, na <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> kvůli přehledu licencování Qt.</p><p>Copyright (C) 2009 Nokia Corporation a/nebo její dceřinná(é) společnost(i).</p><p>Qt je výrobkem společnosti Nokia. Podívejte se na <a href="http://qt.nokia.com/">qt.nokia.com</a>kvůli více informacím.</p> Show Details... Ukázat podrobnosti... <h3>About Qt</h3><p>This program uses Qt version %1.</p> <h3>O Qt</h3><p>Tento program používá Qt-verze %1.</p> <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <p>Qt je sadou softwarových nástrojů C++ určených pro vývoj aplikací napříč platformami.</p><p>Qt poskytuje jednoduchou přenositelnost přes MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, a všechny hlavní obchodní varianty systému Unix. Qt je rovněž dostupný pro vložená zařízení jako Qt pro Embedded Linux a Qt pro Windows CE.</p><p>Qt je dostupné pod třemi rozdílnými licenčními volbami navrženými pro přizpůsobení se potřebám našich různých uživatelů.</p>Qt licencované pod naší obchodní licenční smlouvou je vhodné pro vývoj soukromého/obchodního software, kde si nepřejete sdílet jakýkoli zdrojový kód se třetími stranami, nebo jinak řečeno, když nemůžete vyhovět podmínkám GNU LGPL ve verzi 2.1 nebo GNU GPL ve verzi 3.0.</p><p>Qt licencované pod GNU LGPL ve verzi 2.1 je vhodné pro vývoj Qt aplikací (soukromých nebo s otevřeným zdrojovým kódem), za předpokladu že můžete souhlasit s požadavky a podmínkami GNU LGPL version 2.1.</p><p>Qt licencované pod GNU General Public License ve verzi 3.0 je vhodné pro vývoj aplikací Qt, u nichž si přejete použít takovou aplikaci ve spojení se software, který podléhá požadavkům GNU GPL ve verzi 3.0, nebo kde jste jinak ochoten souhlasit s podmínkami GNU GPL ve verzi 3.0.</p><p>Podívejte se, prosím, na <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> kvůli přehledu licencování Qt.</p><p>Copyright (C) 2009 Nokia Corporation a/nebo její dceřinná(é) společnost(i).</p><p>Qt je výrobkem společnosti Nokia. Podívejte se na <a href="http://qt.nokia.com/">qt.nokia.com</a>kvůli více informacím.</p> About Qt O Qt <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p> <p>Tento program používá Qt Open Source Edition verze %1.</p><p>Qt Open Source Edition je zamýšlena pro vývoj Open Source aplikací. Pro vývoj vlastnických aplikací (uzavřené zdrojové kódy) potřebujete Qt licenci.</p><p>Podívejte se, prosím, na <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> kvůli přehledu licencování Qt.</p> Hide Details... Skrýt podrobnosti... <p>This program uses Qt version %1.</p> <p>Tento program používá Qt-verze %1.</p> QMultiInputContext Select IM Zvolit způsob vstupu QMultiInputContextPlugin Multiple input method switcher that uses the context menu of the text widgets Přepínač pro více způsobů vstupu, který používá související nabídku textového prvku Multiple input method switcher Přepínač pro více způsobů vstupu QNativeSocketEngine The proxy type is invalid for this operation Tuto operaci nelze s tímto typem proxy provést Network operation timed out Časový limit pro síťovou operaci byl překročen The remote host closed the connection Vzdálený počítač uzavřel spojení Invalid socket descriptor Neplatný deskriptor zásuvky (socketu) Host unreachable Cílový počítač je nedosažitelný Protocol type not supported Protokol tohoto typu není podporován Datagram was too large to send Datagram byl pro odeslání příliš veliký Attempt to use IPv6 socket on a platform with no IPv6 support Vyzkoušelo se použít IPv6 zásuvku (socket) na systému bez podpory IPv6 Unable to receive a message Zprávu se nepodařilo přijmout Permission denied Přístup odepřen Connection refused Spojení bylo odmítnuto Unable to write Nepodařilo se zapsat Another socket is already listening on the same port Na tomto portu již naslouchá jiná zásuvka (socket) Unable to send a message Nepodařilo se odeslat hlášení The bound address is already in use Uvedená adresa se už používá Connection timed out Časový limit pro spojení byl překročen Network error Síťová chyba Unsupported socket operation Nepodporovaná zásuvková operace (povel pro socket) Operation on non-socket Operaci lze použít pouze na jedné zásuvce (socketu) Unable to initialize broadcast socket Zásuvku pro vysílání (socket) se nepodařilo spustit Unknown error Neznámá chyba Unable to initialize non-blocking socket Neblokující zásuvku (socket) se nepodařilo spustit The address is protected Adresa je chráněna Network unreachable Síť je nedosažitelná The address is not available Adresa není dostupná Out of resources Nejsou dostupné žádné zdroje QNetworkAccessCacheBackend Error opening %1 %1 se nepodařilo otevřít QNetworkAccessDebugPipeBackend Write error writing to %1: %2 Při zápisu do souboru %1: %2 nastala chyba QNetworkAccessFileBackend Request for opening non-local file %1 Požadavek na otevření souboru přes síť %1 Read error reading from %1: %2 Při čtení ze souboru %1 nastala chyba: %2 Cannot open %1: Path is a directory %1 nelze otevřít: Jedná se o adresář Error opening %1: %2 %1 se nepodařilo otevřít: %2 Write error writing to %1: %2 Při zápisu do souboru %1: %2 nastala chyba QNetworkAccessFtpBackend No suitable proxy found Nepodařilo se najít žádný vhodný proxy server Error while downloading %1: %2 Při stahování %1 se vyskytla chyba: %2 Error while uploading %1: %2 Při nahrávání %1 se vyskytla chyba: %2 Cannot open %1: is a directory %1 nelze otevřít: Jedná se o adresář Logging in to %1 failed: authentication required Přihlášení do %1 se nezdařilo: Je požadována autentizace QNetworkAccessHttpBackend No suitable proxy found Nepodařilo se najít žádný vhodný proxy server QNetworkReply Error downloading %1 - server replied: %2 Beim Herunterladen von %1 trat ein Fehler auf - Die Antwort des Servers ist: %2 Protocol "%1" is unknown Protokol "%1" není znám QNetworkReplyImpl Operation canceled Operace byla zrušena QOCIDriver Unable to commit transaction Transakci se nepodařilo provést (operace 'commit', odeslání, se nezdařila) Unable to initialize Inicializace se nezdařila Unable to logon Přihlášení se nezdařilo Unable to rollback transaction Transakci se nepodařilo zvrátit (operace 'rollback', zvrácení, se nezdařila) Unable to begin transaction Transakci se nepodařilo spustit Unable to initialize QOCIDriver Spuštění se nezdařilo QOCIResult Unable to alloc statement Přidělení příkazu se nepodařilo Unable to goto next Nelze jít k dalšímu prvku Unable to get statement type Nepodařilo se získat typ příkazu Unable to execute statement Příkaz se nepodařilo provést Unable to bind column for batch execute Nepodařilo se spojit sloupec pro provedení příkazu dávkového zpracování Unable to execute select statement Výběrové vyhledávání se nepodařilo provést Unable to prepare statement Příkaz se nepodařilo připravit Unable to execute batch statement Příkaz pro dávkové zpracování se nepodařilo provést Unable to bind value Hodnotu se nepodařilo spojit QODBCDriver Unable to commit transaction Transakci se nepodařilo provést (operace 'commit', odeslání, se nezdařila) Unable to enable autocommit 'autocommit' se nepodařilo povolit Unable to connect - Driver doesn't support all needed functionality Nepodařilo se navázat spojení, protože ovladač nutnou funkcionalitu plně nepodporuje Unable to disable autocommit 'autocommit', automatické odeslání, se nepodařilo zastavit Unable to connect Nepodařilo se navázat spojení Unable to connect - Driver doesn't support all functionality required Nepodařilo se navázat spojení, protože ovladač nutnou funkcionalitu plně nepodporuje Unable to rollback transaction Transakci se nepodařilo zvrátit (operace 'rollback', zvrácení, se nezdařila) QODBCResult Unable to bind variable Proměnnou se nepodařilo provést Unable to execute statement Příkaz se nepodařilo provést Unable to fetch next Další datový záznam se nepodařilo natáhnout Unable to fetch last Poslední datový záznam se nepodařilo natáhnout Unable to prepare statement Příkaz se nepodařilo spustit Unable to fetch previous Předchozí datový záznam se nepodařilo natáhnout Unable to fetch Nepodařilo se natáhnout žádná data QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: 'SQL_CURSOR_STATIC' se nepodařilo nastavit jako příkaz vlastnosti . Ověřte, prosím, nastavení svého ODBC ovladače Unable to fetch first První datový záznam se nepodařilo natáhnout QObject Invalid hostname Neplatný název pro hostitelský počítač Home Home Protocol error: packet of size 0 received Chyba v zápisu: Byl přijat paket o nulové velikosti Invalid URI: %1 Neplátná URI: %1 Socket error on %1: %2 Chyba zásuvky (socketu) u %1: %2 No host name given Nebyl zadán název pro hostitelský počítač Read error reading from %1: %2 Při čtení ze souboru %1 nastala chyba: %2 Remote host closed the connection prematurely on %1 Vzdálený počítač předčasně ukončil spojení s %1 Operation not supported on %1 Tato operace není %1 podporována Write error writing to %1: %2 Při zápisu do souboru %1: %2 nastala chyba QPPDOptionsModel Name Název Value Hodnota QPSQLDriver Unable to subscribe Registrace se nezdařila Could not begin transaction Transakci se nepodařilo spustit Could not rollback transaction Transakci se nepodařilo zvrátit (operace 'rollback', zvrácení, se nezdařila) Could not commit transaction Transakci se nepodařilo provést (operace 'commit', odeslání, se nezdařila) Unable to connect Nepodařilo se navázat spojení Unable to unsubscribe Registraci se nepodařilo zrušit QPSQLResult Unable to prepare statement Příkaz se nepodařilo připravit Unable to create query Nepodařilo se vytvořit žádný dotaz QPageSetupWidget Form Formulář bottom margin Dolní okraj Paper Papír Paper source: Zdroj papíru: Centimeters (cm) Centimetry (cm) right margin Pravý okraj Margins Okraje Landscape Formát na šířku Width: Šířka: Orientation Zaměření Portrait Formát na výšku top margin Horní okraj left margin Levý okraj Page size: Velikost stran: Reverse portrait Obrácený formát na výšku Millimeters (mm) Milimetry (mm) Points (pt) Body (pt) Inches (in) Palce (in) Reverse landscape Obrácený formát na šířku Height: Výška: QPluginLoader The plugin was not loaded. Přídavný modul nebyl nahrán. Unknown error Neznámá chyba QPrintDialog A0 A0 A1 A1 A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 A7 A7 A8 A8 A9 A9 B0 B0 B1 B1 B2 B2 B3 B3 B4 B4 B5 B5 B6 B6 B7 B7 B8 B8 B9 B9 OK OK B10 B10 C5E C5E DLE DLE A6 (105 x 148 mm) A6 (105 x 148 mm) Legal (8.5 x 14 inches, 216 x 356 mm) Právní (8,5 x 14 palců, 216 x 356 mm) Folio Folio Legal Právní Print all Tisknout vše Print Tisk &Options << &Nastavení << &Options >> &Nastavení >> B6 (125 x 176 mm) B6 (125 x 176 mm) B8 (62 x 88 mm) B8 (62 x 88 mm) A8 (52 x 74 mm) A8 (52 x 74 mm) B9 (44 x 62 mm) B9 (44 x 62 mm) A9 (37 x 52 mm) A9 (37 x 52 mm) B0 (1000 x 1414 mm) B0 (1000 x 1414 mm) A5 (148 x 210 mm) A5 (148 x 210 mm) Tabloid (279 x 432 mm) Bulvární noviny/tisk (279 x 432 mm) B10 (31 x 44 mm) B10 (31 x 44 mm) B2 (500 x 707 mm) B2 (500 x 707 mm) &Print &Tisk A3 (297 x 420 mm) A3 (297 x 420 mm) Print selection Tisk výběru Print to File (Postscript) Tisk do souboru (Postscript) B4 (250 x 353 mm) B4 (250 x 353 mm) %1 already exists. Do you want to overwrite it? Soubor %1 již existuje. Má se přepsat? A1 (594 x 841 mm) A1 (594 x 841 mm) Custom Stanovený uživatelem B1 (707 x 1000 mm) B1 (707 x 1000 mm) Folio (210 x 330 mm) Folio (210 x 330 mm) Ledger Hlavní (účetní) kniha Letter Dopis DLE (110 x 220 mm) DLE (110 x 220 mm) C5E (163 x 229 mm) C5E (163 x 229 mm) B5 (176 x 250 mm, 6.93 x 9.84 inches) B5 (176 x 250 mm, 6.93 x 9.84 palců Print range Tisková oblast File exists Soubor již existuje Write %1 file Zapsat %1 soubor A0 (841 x 1189 mm) A0 (841 x 1189 mm) Local file Místní soubor locally connected přímo spojeno Ledger (432 x 279 mm) Hlavní (účetní) kniha (432 x 279 mm) Aliases: %1 Přezdívka: %1 Print to File (PDF) Tisk do souboru (PDF) Print To File ... Tisk do souboru... US Common #10 Envelope (105 x 241 mm) US běžná #10 obálka (105 x 241 mm) Tabloid Bulvární noviny A4 (210 x 297 mm, 8.26 x 11.7 inches) A4 (210 x 297 mm, 8.26 x 11.7 palců) Executive Prováděcí unknown Neznámý <qt>Do you want to overwrite it?</qt> <qt>Chcete jej přepsat?</qt> Executive (7.5 x 10 inches, 191 x 254 mm) Prováděcí (7,5 x 10 palců, 191 x 254 mm) Letter (8.5 x 11 inches, 216 x 279 mm) Dopis (8,5 x 11 palců, 216 x 279 mm) The 'From' value cannot be greater than the 'To' value. Údaj pro první stranu nesmí být větší než údaj pro poslední stranu. US Common #10 Envelope US běžná #10 obálka %1 is a directory. Please choose a different file name. %1 je adresář. Zvolte, prosím, pro soubor jiný název. File %1 is not writable. Please choose a different file name. Soubor %1 je chráněn proti zápisu. Zvolte, prosím, pro soubor jiný název. B3 (353 x 500 mm) B3 (353 x 500 mm) A7 (74 x 105 mm) A7 (74 x 105 mm) A2 (420 x 594 mm) A2 (420 x 594 mm) B7 (88 x 125 mm) B7 (88 x 125 mm) QPrintPreviewDialog %1% %1% Print Preview Náhled tisku Close Zavřít Print Tisk Fit page Přizpůsobit stranu Zoom in Zvětšit Landscape Formát na šířku Zoom out Zmenšit Fit width Přizpůsobit šířku Portrait Formát na výšku Page Setup Nastavení strany Page setup Nastavení strany Show overview of all pages Ukázat přehled všech stran First page První strana Last page Poslední strana Show single page Ukázat jednotlivé strany Export to PDF Vyvést do PDF Previous page Předchozí strana Next page Další strana Show facing pages Ukázat strany ležící naproti Export to PostScript Vyvést do PostScriptu QPrintPropertiesWidget Form Formulář Page Strana Advanced Rozšířené QPrintSettingsOutput to do Form Formulář None Žádný Color Barva Print all Tisknout vše Selection Výběr Long side Dlouhá strana Copies Počet exemplářů Print range Tisk oblasti Color Mode Barevný režim Options Volby Output Settings Nastavení výstupu Reverse Obrácený Grayscale Odstíny šedi Short side Krátká strana Collate Srovnat Copies: Počet exemplářů: Pages from Strany od Duplex Printing Zdvojený tisk QPrintWidget ... ... Form Formulář Type: Typ: &Name: &Název: Output &file: Výstupní &soubor: P&roperties &Vlastnosti Preview Náhled Printer Tiskárna Location: Umístění: QProcess Error writing to process Zápis do procesu se nezdařil No program defined Nestanoven žádný program Resource error (fork failure): %1 Potíže se zdroji (selhání rozcestí - "fork failure"): %1 Error reading from process Čtení z procesu se nezdařilo Process failed to start Spuštění procesu se nezdařilo Could not open input redirection for reading Vstupní přesměrování se nepodařilo otevřít pro čtení Could not open output redirection for writing Výstupní přesměrování se nepodařilo otevřít pro zápis Process operation timed out Překročení času u procesu Process crashed Proces spadl Process failed to start: %1 Proces se nepodařilo spustit: %1 QProgressDialog Cancel Zrušit QPushButton Open Otevřít QRadioButton Check Označit křížkem QRegExp bad lookahead syntax nesprávná syntax pro plánování dopředu no error occurred žádná chyba missing left delim chybějící levé vymezení bad char class syntax nesprávná syntax pro třídu znaku disabled feature used byla použita zakázaná vlastnost invalid octal value neplatná osmičková hodnota invalid interval neplatný interval invalid category neplatná skupina bad repetition syntax nesprávná syntax pro opakování met internal limit dosažena vnitřní mez unexpected end neočekávaný konec QSQLite2Driver Unable to commit transaction Transakci se nepodařilo provést (operace 'commit', odeslání, se nezdařila) Error to open database Nepodařilo se otevřít spojení s datatabází Unable to rollback Transaction Transakci se nepodařilo zvrátit (operace 'rollback', zvrácení, se nezdařila) Unable to begin transaction Transakci se nepodařilo spustit Error opening database Nepodařilo se otevřít spojení s databází Unable to rollback transaction Transakci se nepodařilo zvrátit (operace 'rollback', zvrácení, se nezdařila) QSQLite2Result Unable to execute statement Příkaz se nepodařilo provést Unable to fetch results Výsledek se nepodařilo natáhnout QSQLiteDriver Unable to commit transaction Transakci se nepodařilo provést (operace 'commit', odeslání, se nezdařila) Error closing database Nepodařilo se uzavřít spojení s datatabází Error opening database Nepodařilo se otevřít spojení s databází Unable to rollback transaction Transakci se nepodařilo zvrátit (operace 'rollback', zvrácení, se nezdařila) Unable to begin transaction Transakci se nepodařilo spustit QSQLiteResult Unable to fetch row Řádek se nepodařilo natáhnout No query Žádný požadavek Unable to execute statement Příkaz se nepodařilo provést Unable to bind parameters Parametry se nepodařilo spojit Unable to reset statement Příkaz se nepodařilo znovu nastavit Parameter count mismatch Počet parametrů není správný QScriptBreakpointsModel ID ID Location Umístění Condition Podmínka Ignore-count Spustit po Single-shot Spustit jednou Hit-count Spuštěný QScriptBreakpointsWidget New Nový Delete Smazat QScriptDebugger Go to Line Jít na řádek Line: Řádek: Interrupt Přerušit Shift+F5 Shift+F5 Continue Pokračovat F5 F5 Step Into Krok do F11 F11 Step Over Krok přes F10 F10 Step Out Krok ven Shift+F11 Shift+F11 Run to Cursor Provést po kurzor Ctrl+F10 Ctrl+F10 Run to New Script Provést po nový skript Toggle Breakpoint Přepnout bod přerušení (zastavení) F9 F9 Clear Debug Output Smazat výstup ladění Clear Error Log Smazat výstupní zápis s chybami Clear Console Smazat konzoli &Find in Script... &Hledat ve skriptu... Ctrl+F Ctrl+F Find &Next Najít &další F3 F3 Find &Previous Najít &předchozí Shift+F3 Shift+F3 Ctrl+G Ctrl+G Debug Ladit QScriptDebuggerCodeFinderWidget Close Zavřít Previous Předchozí Next Další Case Sensitive Rozlišující velká a malá písmena Whole words Celá slova <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Hledání dosáhlo konce QScriptDebuggerLocalsModel Name Název Value Hodnota QScriptDebuggerStackModel Level Úroveň Name Název Location Umístění QScriptEdit Toggle Breakpoint Přepnout bod zastavení Disable Breakpoint Vypnout bod zastavení Enable Breakpoint Zapnout bod zastavení Breakpoint Condition: Podmínka zastavení: QScriptEngineDebugger Loaded Scripts Nahrané skripty Breakpoints Body zastavení Stack Zásobník Locals Místní proměnné Console Konzole Debug Output Výstup ladění Error Log Výstupní zápis s chybami Search Hledat View Pohled Qt Script Debugger Qt ladění skriptů QScriptNewBreakpointWidget Close Zavřít QScrollBar Top Začátek Scroll down Projíždět dolů Scroll here Projíždět až sem Scroll left Projíždět doleva Line up O jeden řádek nahoru Line down O jeden řádek dolů Bottom Konec Page up O stranu nahoru Position Poloha Page right O stranu doprava Scroll up Projíždět nahoru Scroll right Projíždět doprava Left edge Levý okraj Page down O stranu dolů Page left O stranu doleva Right edge Pravý okraj QSharedMemory %1: doesn't exist %1: Neexistuje %1: UNIX key file doesn't exist %1: Soubor s unixovým klíčem neexistuje %1: system-imposed size restrictions %1: Bylo dosaženo systémem podmíněné meze velikosti %1: unix key file doesn't exists %1: Soubor s unixovým klíčem neexistuje %1: doesn't exists %1: Neexistuje %1: key is empty %1: Neplatný údaj u klíče (prázdný) %1: key error %1: Chybný klíč %1: create size is less then 0 %1: Údaj o velikosti vytvoření je menší než nula %1: already exists %1: Již existuje %1: unknown error %2 %1: Neznámá chyba %2 %1: invalid size %1: Neplatná velikost %1: unable to make key %1: Nepodařilo se vytvořit klíč %1: unable to set key on lock %1: Nepodařilo se nastavit klíč pro uzavření %1: unable to unlock %1: Uzavření se nepodařilo zrušit %1: permission denied %1: Přístup odepřen %1: ftok failed %1: Vyvolání ftok se nezdařilo %1: out of resources %1: Nejsou již použitelné zdroje %1: not attached %1: Nepřipojen %1: size query failed %1: Vyhledání velikosti se nezdařilo %1: unable to lock %1: Uzavření se nezdařilo QShortcut + + No Ne Up Nahoru Alt Alt F%1 F%1 Del Delete End End Esc Esc Ins Insert Tab Tab Yes Ano Back Zpět Call Volání Ctrl Ctrl Down Dolů Flip Obrátit Help Nápověda Home Home Left Vlevo Menu Menu Meta Meta PgUp PgUp Stop Stop Enter Enter Pause Pause Print Print Right Vpravo Shift Shift Space Mezerník Media Record Nahrát Print Screen Print Screen Treble Down Výšky - Scroll Lock Scroll Lock Volume Down Hlasitost - Volume Mute Ztlumit hlasitost Media Previous Předchozí Home Page Domovská stránka Volume Up Hlasitost + Launch (6) Spustit (6) Launch (7) Spustit (7) Launch (8) Spustit (8) Launch (9) Spustit (9) Launch (2) Spustit (2) Launch (3) Spustit (3) Launch (4) Spustit (4) Launch (5) Spustit (5) Launch (0) Spustit (0) Launch (1) Spustit (1) Launch (F) Spustit (F) Launch (B) Spustit (B) Launch (C) Spustit (C) Launch (D) Spustit (D) Launch (E) Spustit (E) Launch (A) Spustit (A) Delete Delete Escape Escape Hangup Pověsit Insert Insert Bass Boost Zesílení basů PgDown PgDown Return Return Search Hledat Select Vybrat SysReq SysReq NumLock NumLock ScrollLock ScrollLock Context1 Kontext1 Context2 Kontext2 Context3 Kontext3 Context4 Kontext4 Page Up Page Up Open URL Otevřít URL Caps Lock Caps Lock System Request Žádost systému CapsLock CapsLock Backtab Zpět-Tab Bass Up Basy + Refresh Obnovit Launch Mail Spustit e-mail Backspace Backspace Bass Down Basy - Standby V pohotovosti Treble Up Výšky + Num Lock Num Lock Number Lock Zahlen-Feststelltaste Favorites Oblíbené Forward Dopředu Page Down Obraz dolů Media Play Přehrávání Media Stop Zastavit přehrávání Media Next Další Launch Media Spustit přehrávač QSlider Page up O stranu nahoru Position Poloha Page right O stranu doprava Page down O stranu dolů Page left O stranu doleva QSocks5SocketEngine Network operation timed out Časový limit pro síťovou operaci byl překročen Connection to proxy closed prematurely Proxy server předčasně ukončil spojení Proxy authentication failed: %1 Autentizace u proxy serveru se nezdařila: %1 Proxy authentication failed Autentizace u proxy serveru se nezdařila General SOCKSv5 server failure Všeobecná chyba při spojení s SOCKSv5 serverem Unknown SOCKSv5 proxy error code 0x%1 Byl obdržen neznámý chybový kód od SOCKSv5 proxy serveru: 0x%1 Connection not allowed by SOCKSv5 server SOCKSv5 server odmítl spojení SOCKSv5 command not supported Tento SOCKSv5 příkaz není podporován Connection to proxy timed out Při spojení s proxy serverem byl překročen časový limit Proxy host not found Proxy server se nepodařilo najit TTL expired TTL uplynul Address type not supported Tento typ adresy není podporován Connection to proxy refused Proxy server odmítl navázání spojení SOCKS version 5 protocol error Chyba protokolu (SOCKS verze 5) QSoftKeyManager Ok OK Select Vybrat Done Hotovo Options Volby Cancel Zrušit Exit Ukončit QSpinBox Less Méně More Více QSql No Ne Yes Ano Cancel Zrušit Delete Delete Insert Vložit Update Obnovit Delete this record? Smazat tento zápis? Save edits? Uložit změny? Confirm Potvrdit Cancel your edits? Zrušit změny? QSslSocket Error creating SSL session: %1 Nepodařilo se vytvořit sezení SSL: %1 Error creating SSL session, %1 Nepodařilo se vytvořit sezení SSL, %1 Cannot provide a certificate with no key, %1 Bez klíče nelze poskytnout žádné osvědčení k volnému použití, %1 Unable to write data: %1 Data se nepodařilo zapsat: %1 Error during SSL handshake: %1 Během startu SSL protokolu se vyskytla chyba: %1 Error loading local certificate, %1 Nepodařilo se nahrát místní osvědčení, %1 Invalid or empty cipher list (%1) Neplatný či prázdný seznam se šifrovacími klíči (%1) Private key does not certificate public key, %1 Vystavení osvědčení k veřejnému klíči přes soukromý klíč se nezdařilo, %1 Error creating SSL context (%1) Nepodařilo se vytvořit žádný kontext SSL (%1) Error while reading: %1 Při čtení se vyskytla chyba: %1 Error loading private key, %1 Soukromý klíč se nepodařilo nahrát, %1 QStateMachine Missing initial state in compound state '%1' Chybí počáteční stav složeného stavu '%1' Missing default state in history state '%1' Chybí výchozí stav ve vývoji stavu '%1' No common ancestor for targets and source of transition from state '%1' Cíl a zdroj přechodu ze stavu '%1' nemají žádný společný původ Unknown error Neznámá chyba QSystemSemaphore %1: does not exist %1: Neexistuje %1: already exists %1: Již existuje %1: unknown error %2 %1: Neznámá chyba %2 %1: permission denied %1: Přístup odepřen %1: out of resources %1: Nejsou již použitelné zdroje QTDSDriver Unable to open connection Nepodařilo se otevřít spojení s databází Unable to use database Datatbázi se nepodařilo použít QTabBar Scroll Left Projíždět doleva Scroll Right Projíždět doprava QTcpServer Operation on socket is not supported Tato zásuvková (socket) operace není podporována QTextControl Cu&t Vyj&mout &Copy &Kopírovat &Redo &Znovu &Undo &Zpět &Paste &Vložit Delete Smazat Select All Vybrat vše Copy &Link Location &Kopírovat adresu odkazu QToolButton Open Otevřít Press Stisknout QUdpSocket This platform does not support IPv6 Tato patforma nepodpotuje IPv6 QUndoGroup Redo Znovu Undo Zpět QUndoModel <empty> <prázdný> QUndoStack Redo Znovu Undo Zpět QUnicodeControlCharacterMenu RLE Start of right-to-left embedding RLE Začátek zapuštění zprava doleva (right-to-left embedding) ZWSP Zero width space ZWSP Prostor s nulovou šířkou (Zero width space) Insert Unicode control character Vložit kontrolní znak Unicode LRO Start of left-to-right override LRO Začátek zrušení zleva doprava (left-to-right override) LRE Start of left-to-right embedding LRE Začátek zapuštění zleva doprava (right-to-left embedding) RLM Right-to-left mark RLM Značka zprava doleva (Right-to-left mark) PDF Pop directional formatting PDF Vsunout směrové formátování (Pop directional formatting) ZWNJ Zero width non-joiner ZWNJ Nespojovač s nulovou šířkou (Zero width non-joiner) RLO Start of right-to-left override RLO Začátek zrušení zprava doleva (right-to-left override) ZWJ Zero width joiner ZWJ Spojovač s nulovou šířkou (Zero width joiner) LRM Left-to-right mark LRM Značka zleva doprava (Left-to-right mark) QWebFrame Request blocked Požadavek byl odmítnut Request cancelled Požadavek byl zrušen Cannot show URL Adresu (URL) nelze ukázat Frame load interrupted by policy change Nahrání rámce bylo přerušeno změnou směrnice Frame load interruped by policy change Nahrání rámce bylo přerušeno změnou směrnice File does not exist Soubor neexistuje Cannot show mimetype Tento mime typ nelze ukázat QWebPage Cut Vyjmout LTR Zleva doprava RTL Zprava doleva Top Začátek Bold Tučné Copy Kopírovat Stop Ukončit Open Frame Otevřít rámec Open Image Vyobrazení otevřít v novém okně Fonts Písma Paste Vložit Reset Vrátit Inspect Provést prohlídku Select to the start of the block Vybrat až po začátek bloku Move the cursor to the end of the block Ukazatel polohy posunout až na konec bloku JavaScript Alert - %1 Upozornění od JavaScriptu - %1 JavaScript Confirm - %1 Potvrzení od JavaScriptu - %1 JavaScript Prompt - %1 Výzva od JavaScriptu - %1 JavaScript Problem - %1 Potíže s JavaScriptem - %1 The script on this page appears to have a problem. Do you want to stop the script? Vypadá to na to, že skript na této straně má potíže. Chcete tento skript zastavit? Select all Vybrat vše Select to the start of the line Vybrat až po začátek řádku Insert a new paragraph Vložit nový odstavec Insert a new line Vložit nový řádek Paste and Match Style Vložit a odpovídat stylu Remove formatting Odstranit formátování Strikethrough Přeškrtnuto Subscript Dolní index Superscript Horní index Insert Bulleted List Vložit seznam s odrážkami Insert Numbered List Vložit číslovaný seznam Indent Odsadit Outdent Zrušit odsazení Center Na střed Justify Do bloku Align Left Zarovnat vlevo Align Right Zarovnat vpravo Look Up In Dictionary Podívat se do slovníku Search The Web Hledat na síti Check Spelling While Typing Kontrolovat pravopis během psaní Add To Dictionary Přidat do slovníku Delete to the start of the word Smazat až po začátek slova Recent searches Dosavadní hledané výrazy Move the cursor to the next word Ukazatel polohy posunout k následujícímu slovu Move the cursor to the next line Ukazatel polohy posunout k následujícímu řádku Scroll down Projíždět dolů Scroll here Projíždět až sem Scroll left Projíždět doleva Move the cursor to the start of the block Ukazatel polohy posunout na začátek bloku Text Direction Směr psaní Bottom Konec Ignore Nevšímat si Italic Kurzívní Move the cursor to the end of the line Ukazatel polohy posunout na konec řádku Move the cursor to the start of the line Ukazatel polohy posunout na začátek řádku Reload Nahrát znovu Submit Poslat Web Inspector - %2 Web Inspektor - %2 Page up O stranu nahoru Spelling Pravopis Outline Obrys Check Grammar With Spelling Kontrolovat mluvnici společně s pravopisem No file selected Nebyl vybrán žádný soubor Submit default label for Submit buttons in forms on web pages Poslat Reset default label for Reset buttons in forms on web pages Vrátit This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Tento rejstřík má funkci hledání. Zadejte nějaký hledaný výraz: Choose File title for file button used in HTML forms Vybrat soubor No file selected text to display in file button used in HTML forms when no file is selected Nebyl vybrán žádný soubor Open in New Window Open in New Window context menu item Otevřít v novém okně Save Link... Download Linked File context menu item Uložit odkaz... Copy Link Copy Link context menu item Kopírovat adresu odkazu Open Image Open Image in New Window context menu item Vyobrazení otevřít v novém okně Save Image Download Image context menu item Uložit vyobrazení Copy Image Copy Link context menu item Kopírovat vyobrazení Open Frame Open Frame in New Window context menu item Otevřít rámec Copy Copy context menu item Kopírovat Go Back Back context menu item Jít zpět Go Forward Forward context menu item Jít dopředu Stop Stop context menu item Zastavit Reload Reload context menu item Nahrát znovu Cut Cut context menu item Vyjmout Paste Paste context menu item Vložit No Guesses Found No Guesses Found context menu item Nebyly nalezeny žádné návrhy Ignore Ignore Spelling context menu item Přehlížet Add To Dictionary Learn Spelling context menu item Přidat do slovníku Search The Web Search The Web context menu item Hledat na síti Look Up In Dictionary Look Up in Dictionary context menu item Podívat se do slovníku Open Link Open Link context menu item Otevřít adresu odkazu Ignore Ignore Grammar context menu item Přehlížet Spelling Spelling and Grammar context sub-menu item Pravopis Show Spelling and Grammar menu item title Ukázat pravopis a mluvnici Hide Spelling and Grammar menu item title Skrýt pravopis a mluvnici Check Spelling Check spelling context menu item Ověření pravopisu Check Spelling While Typing Check spelling while typing context menu item Ověřovat pravopis během psaní Check Grammar With Spelling Check grammar with spelling context menu item Ověřovat mluvnici společně s pravopisem Fonts Font context sub-menu item Písma Bold Bold context menu item Tučné Italic Italic context menu item Kurzíva Underline Underline context menu item Podtržení Outline Outline context menu item Obrys Direction Writing direction context sub-menu item Směr Text Direction Text direction context sub-menu item Směr psaní Default Default writing direction context menu item Výchozí Left to Right Left to Right context menu item Zleva doprava Right to Left Right to Left context menu item Zprava doleva Loading... Media controller status message when the media is loading Nahrává se... Live Broadcast Media controller status message when watching a live broadcast Živý přenos Audio Element Media controller element Zvukový prvek Video Element Media controller element Videoprvek Mute Button Media controller element Tlačítko pro ztlumení Unmute Button Media controller element Tlačítko pro zrušení ztlumení Play Button Media controller element Tlačítko pro přehrávání Pause Button Media controller element Tlačítko pro pozastavení Slider Media controller element Posuvník Slider Thumb Media controller element Palec posuvníku Rewind Button Media controller element Tlačítko pro přetočení Return to Real-time Button Media controller element Tlačítko pro návrat ke skutečnému času Elapsed Time Media controller element Uplynulý čas Remaining Time Media controller element Zbývající čas Status Display Media controller element Údaj o stavu Fullscreen Button Media controller element Tlačítko pro zobrazení na celou obrazovku Seek Forward Button Media controller element Tlačítko pro hledání dopředu Seek Back Button Media controller element Tlačítko pro hledání dozadu Audio element playback controls and status display Media controller element Řízení přehrávání zvuku a zobrazení stavu Video element playback controls and status display Media controller element Řízení přehrávání videa a zobrazení stavu Mute audio tracks Media controller element Ztlumit zvukové stopy Unmute audio tracks Media controller element Zrušit ztlumení zvukových stop Begin playback Media controller element Začít přehrávání Pause playback Media controller element Pozastavit přehrávání Movie time scrubber Media controller element Čas přehrávání Movie time scrubber thumb Media controller element Palec pro nastavení času přehrávání Rewind movie Media controller element Přetočit film zpět Return streaming movie to real-time Media controller element Vrátit film na skutečný čas Current movie time Media controller element Čas přehrávání filmu Remaining movie time Media controller element Zbývající čas z přehrávání filmu Current movie status Media controller element Stav filmu Play movie in full-screen mode Media controller element Přehrávat film v režimu zobrazení na celou obrazovku Seek quickly back Media controller element Rychlé zpětné hledání Seek quickly forward Media controller element Rychlé dopředné hledání Indefinite time Media time description Neomezený čas %1 days %2 hours %3 minutes %4 seconds Media time description %1 dny %2 hodiny %3 minuty %4 sekundy %1 hours %2 minutes %3 seconds Media time description %1 hodiny %2 minuty %3 sekundy %1 minutes %2 seconds Media time description %1 minuty %2 sekundy %1 seconds Media time description %1 sekundy LTR Left to Right context menu item Zleva doprava RTL Right to Left context menu item Zprava doleva Inspect Inspect Element context menu item Provést prohlídku No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Neexistují žádné naposledy hledané výrazy Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Dosavadní hledané výrazy Clear recent searches menu item in Recent Searches menu that empties menu's contents Smazat naposledy hledané výrazy Unknown Unknown filesize FTP directory listing item Neznámý %1 (%2x%3 pixels) Title string for images %1 (%2x%3 pixelů) Save Image Uložit vyobrazení Save Link... Uložit odkaz... No recent searches Neexistují žádné naposledy hledané výrazy Page right O stranu doprava Move the cursor to the start of the document Ukazatel polohy posunout na začátek dokumentu Move the cursor to the next character Ukazatel polohy posunout k následujícímu znaku Copy Link Kopírovat adresu odkazu Select to the previous line Vybrat až po předchozí řádek Select to the previous word Vybrat až po předchozí slovo Check Spelling Kontrola pravopisu Select to the next character Vybrat až po následující znak Show Spelling and Grammar Ukázat pravopis a mluvnici Delete to the end of the word Smazat až po konec slova Direction Směr Select to the end of the line Vybrat až po začátek řádku Submit Submit (input element) alt text for <input> elements with no alt, title, or value Poslat Choose File Vybrat soubor Scroll up Projíždět nahoru Clear recent searches Smazat naposledy hledané výrazy Select to the start of the document Vybrat až po začátek dokumentu Default Výchozí Underline Podtrhnout Move the cursor to the previous character Ukazatel polohy posunout k předchozímu znaku Copy Image Kopírovat vyobrazení Select to the end of the document Vybrat až po konec dokumentu Select to the end of the block Vybrat až po konec bloku Scroll right Projíždět doprava No Guesses Found Nebyly nalezeny žádné návrhy Open Link Otevřít adresu odkazu Bad HTTP request Neplatný požadavek HTTP Unknown Neznámý Move the cursor to the previous word Ukazatel polohy posunout k předchozímu slovu Move the cursor to the previous line Ukazatel polohy posunout na předchozí řádku %n file(s) %n soubor(ů) Left edge Levý okraj Go Forward Jít dopředu Page down O stranu dolů Page left O stranu doleva This is a searchable index. Enter search keywords: Tento index má funkci hledání. Zadejte nějaký hledaný výraz: Select to the previous character Vybrat až po předchozí znak Go Back Jít zpět Open in New Window Otevřít v novém okně Right edge Pravý okraj Move the cursor to the end of the document Ukazatel polohy posunout na konec dokumentu Hide Spelling and Grammar Skrýt pravopis a mluvnici %1 (%2x%3 pixels) %1 (%2x%3 pixelů) Select to the next word Vybrat až po následující slovo Select to the next line Vybrat až po následující řádek %n file(s) number of chosen file %n soubor(ů) QWhatsThisAction What's This? Co je toto? QWidget * * QWizard Done Hotovo Help Nápověda &Help &Nápověda &Next &Další Cancel Zrušit Commit Použít Continue Pokračovat &Finish Do&končit &Next > &Další > Go Back Jít zpět < &Back < &Zpět QWorkspace &Move Po&sunout &Size Změnit &velikost Close Zavřít Minimize Zmenšit Stay on &Top Zůstat v &popředí &Close &Zavřít %1 - [%2] %1 - [%2] Sh&ade &Navinout &Restore &Obnovit &Unshade &Odvinout Mi&nimize &Zmenšit Ma&ximize Zvě&tšit Restore Down Obnovit QXml unparsed entity reference in wrong context používán nevyhodnocený odkaz na entitu v nesprávné souvislosti external parsed general entity reference not allowed in DTD v DTD nejsou dovoleny žádné odkazy na vnější obecnou entitu wrong value for standalone declaration nesprávná hodnota pro samostatné prohlášení encoding declaration or standalone declaration expected while reading the XML declaration chybějící prohlášení kódování nebo prohlášení samostatnosti při čtení prohlášení XML no error occurred žádná chyba error occurred while parsing reference při vyhodnocení odkazu se vyskytla chyba standalone declaration expected while reading the XML declaration chybějící prohlášení samostatnosti při čtení prohlášení XML invalid name for processing instruction neplatný název pro pokyn pro zpracování error triggered by consumer chyba spuštěná spotřebitelem error occurred while parsing element při vyhodnocení prvku se vyskytla chyba unexpected character neočekávaný znak tag mismatch Značky prvků nejsou vkládány správně error occurred while parsing content při vyhodnocení obsahu se vyskytla chyba error occurred while parsing comment při vyhodnocení poznámky se vyskytla chyba internal general entity reference not allowed in DTD v DTD nejsou dovoleny žádné odkazy na vnitřní obecnou entitu recursive entities rekurzivní entity more than one document type definition více definicí typu dokumentu version expected while reading the XML declaration chybějící verze při čtení prohlášení XML letter is expected na tomto místě je potřeba písmeno unexpected end of file neočekávaný konec souboru external parsed general entity reference not allowed in attribute value v hodnotě vlastnosti nejsou dovoleny žádné odkazy na vnější obecnou entitu error in the text declaration of an external entity Chyba v prohlášení textu vnější entity error occurred while parsing document type definition při vyhodnocení definice typu dokumentu se vyskytla chyba QXmlStream Reference to unparsed entity '%1'. Odkaz na nevyhodnocenou entitu '%1'. Unexpected character '%1' in public id literal. '%1' není platným znakem v údaji veřejného id, který je tvořen písmeny. Illegal namespace declaration. Neplatné prohlášení jmenného prostoru. Invalid XML character. Neplatný znak XML. Expected character data. Byly očekávány údaje o znacích. Standalone accepts only yes or no. Hodnota pro samostatnou vlastnost může být pouze "ano" nebo "ne". Invalid XML version string. Neplatný údaj o verzi XML. Invalid processing instruction name. Název pokynu pro zpracování je neplatný. Namespace prefix '%1' not declared Předpona jmenného prostoru '%1' nebyla prohlášena Entity '%1' not declared. Entita '%1' není prohlášena. %1 is an invalid processing instruction name. %1 není platným názvem pokynu pro zpracování. The standalone pseudo attribute must appear after the encoding. Samostatná pseudovlastnost musí následovat bezprostředně po kódování. Sequence ']]>' not allowed in content. Sled znaků ']]>' není v obsahu povolen. %1 is an invalid encoding name. %1 není platným názvem pro kódování. , but got ' očekáváno, namísto toho obdrženo ' Start tag expected. Očekáván otevírající prvek. Invalid character reference. Odkaz na neplatný znak. Reference to external entity '%1' in attribute value. V hodnotě vlastnosti byla odkazována entita '%1'. Expected Bylo Invalid document. Neplatný dokument. Opening and ending tag mismatch. Počet otevírajících prvků neodpovídá neodpovídá počtu zavírajících prvků. Encountered incorrectly encoded content. Byl nalezen obsah s neplatným kódováním. Invalid attribute in XML declaration. Prohlášení XML obsahuje neplatnou vlastnost. Attribute redefined. Vlastnost byla nově vymezena. %1 is an invalid PUBLIC identifier. %1 není platným údajem VEŘEJNÉHO identifikátoru (id). Extra content at end of document. Přebytečný obsah za koncem dokumentu. Invalid XML name. Neplatný název XML. Premature end of document. Předčasný konec dokumentu. XML declaration not at start of document. Prohlášení XML se nenachází na začátku dokumentu. Recursive entity detected. Byla zjištěna rekurzivní entita. Unsupported XML version. Tato verze XML není podporována. Unexpected ' Na tomto místě neplatný ' Invalid entity value. neplatná hodnota entity. Encoding %1 is unsupported Kódování %1 není podporováno NDATA in parameter entity declaration. Parametrické prohlášení entitynesmí obsahovat žádné NDATA. QtXmlPatterns A comment cannot contain %1 Poznámka nesmí obsahovat %1 Version %1 is not supported. The supported XQuery version is 1.0. Verze %1 není podporována. Podporovanou verzí XQuery je 1.0. The root node of the second argument to function %1 must be a document node. %2 is not a document node. Nadřízený uzel druhého agumentu funkce %1 musí být uzlem dokumentu, což není případ %2. The parameter %1 is required, but no corresponding %2 is supplied. Nebyl zadán žádný odpovídající %2 pro potřebný parametr %1. Namespace declarations must occur before function, variable, and option declarations. Prohlášení jmenných prostorů musí stát před prohlášeními funkcí-, proměnných- nebo prohlášeními voleb. empty prázdný The namespace URI cannot be the empty string when binding to a prefix, %1. Jmenný prostor-URI nesmí být prázdný, když je spojen s prefixem %1. A comment cannot end with a %1. Poznámka nesmí končit na %1. Top level stylesheet elements must be in a non-null namespace, which %1 isn't. Úplně nahoře stojící prvky prováděcího listu se nesmí nacházet v nulovém jmenném prostoru, což je případ %1. Integer division (%1) by zero (%2) is undefined. Celočíselné dělení (%1) nulou (%2) není stanoveno. A library module cannot be evaluated directly. It must be imported from a main module. Knihovní modul nemůže být posouzen přímo, musí být zaveden z hlavního modulu. Time %1:%2:%3.%4 is invalid. Časový údaj %1:%2:%3.%4 je neplatný. Attribute %1 cannot appear on the element %2. Only the standard attributes can appear. Prvek %2 může mít pouze obvyklé vlastnosti, ne však %1. A value of type %1 must contain an even number of digits. The value %2 does not. Počet míst hodnoty typu %1 musí být stejný. To není případ %2. Modulus division (%1) by zero (%2) is undefined. Dělení absolutní hodnoty (%1) nulou(%2) není stanoveno. No function with signature %1 is available Neexistuje žádná funkce označená jako %1 None of the pragma expressions are supported. Therefore, a fallback expression must be present Musí být přítomen záložní výraz, neboť nejsou podporovány žádné věcné výrazy In the replacement string, %1 can only be used to escape itself or %2, not %3 V nahrazení může být použit pouze %1, aby se chránil sám, nebo %2, ne však pro %3 The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. Kódovací bod %1 z %2 s kódováním %3 není platným znakem XML. Network timeout. Časový limit síťové operace byl překročen. No casting is possible with %1 as the target type. Nelze provádět žádné výběrové ("cast") operace s typem %1. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. Prohlášení %1 je nepřípustné, protože není podporováno zavedení schémat. Attribute %1 and %2 are mutually exclusive. Vlastnosti %1 a %2 se vzájemně vylučující. Parse error: %1 Chyba vyhodnocení: %1 If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. Nelze zadat žádnou předponu, jestliže je první argument prázdný nebo je prázdný řetězec znaků (žádný jmenný prostor). Byla zadána předpona %1. In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. V XSL-T vyhledávacím vzoru musí být první argument k funkci %1 při použití k hledání odkaz tvořený písmeny nebo proměnný. At least one component must be present. Alespoň jedna součást musí být přítomna. In a namespace constructor, the value for a namespace value cannot be an empty string. Ve staviteli jmenného prostoru nesmí mýt hodnota jmenného prostoru prázdným řetězcem. An attribute by name %1 has already been created. Již byla vytvořena jedna vlastnost s názvem %1. An argument by name %1 has already been declared. Every argument name must be unique. Již existuje jeden argument s názvem %1. Názvy argumentů musí být jednoznačné. %1 is an invalid flag for regular expressions. Valid flags are: %1 není pro regulérní výrazy platným příznakem. Platnými příznaky jsou: At least one %1-element must occur inside %2. V %2 se musí vyskytovat alespoň jeden %1-prvek. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. Je podporován pouze Unicode Codepoint Collation (%1). %2 není podporován. Matches are case insensitive Na psaní velkých/malých písmen není brán zřetel The name of an extension expression must be in a namespace. Název výrazu rozšíření se musí nacházet ve jmenném prostoru. Each name of a template parameter must be unique; %1 is duplicated. Názvy parametrů předloh musí být jednoznačné, %1 již existuje. At least one mode must be specified in the %1-attribute on element %2. Ve %1-vlastnosti prvku %2 musí být zadán alespoň jeden způsob. %1 matches newline characters Výraz '%1' odpovídá znakům pro nový řádek Year %1 is invalid because it begins with %2. %1 není platným údajem pro rok, protože začíná %2. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Druhý argument %1 nemůže být typ %2. Musí to být typ %3, %4 nebo %5. Element %1 cannot have children. Prvek %1 nemůže mít podprvky. Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes. Prvek %2 může mít jen vlastnost %3 nebo vlastnosti, které jsou obvyklé, ne však %1. Only one %1-element can appear. Může být jen jeden jediný %1-prvek. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Název počítané vlastnosti nesmí mít jmenný prostor-URI %1 s místním názvem %2. A positional predicate must evaluate to a single numeric value. Poziční přísudek se musí vyhodnotit jako jednoduchá, číselná hodnota. Element %1 can't be serialized because it appears outside the document element. Prvek %1 nemůže být vydáván na pokračování, protože se objevuje mimo prvky dokumentu. %1 and %2 match the start and end of a line. Výrazy %1 a %2 vždy odpovídají začátku nebo konci libovolného řádku. Running an XSL-T 1.0 stylesheet with a 2.0 processor. Je zpracováván jeden XSL-T 1.0 stylový list jedním procesorem verze 2.0. A stylesheet function must have a prefixed name. Název funkce stylového listu musí mít předponu. %1 cannot be retrieved %1 nelze určit It's not possible to cast the value %1 of type %2 to %3 Nelze provést operaci předvedení hodnoty %1 typu %2 k %3 The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. Hodnota XSL-T vlastnosti verze musí být hodnotou typu %1, což není případ %2. In a namespace constructor, the value for a namespace cannot be an empty string. Ve staviteli jmenného prostoru nesmí mýt hodnota jmenného prostoru prázdným řetězcem. The prefix %1 cannot be bound. Předponu %1 nelze spojit. The prefix must be a valid %1, which %2 is not. Předpona musí být platný %1, což není případ %2. The keyword %1 cannot occur with any other mode name. Klíčové slovo %1 se nemůže používat dohromady s jiným názvem způsobu. Type error in cast, expected %1, received %2. Chyba psaní u operace předvedení, bylo očekáváno %1, ale přijato %2. %1 is not a valid numeric literal. %1 není platný číselný údaj tvořený písmeny. %1 takes at most %n argument(s). %2 is therefore invalid. %1 má jen %n argument; údaj %2 z tohoto důvodu neplatný. %1 má jen %n argumenty; údaj %2 z tohoto důvodu neplatný. %1 má jen %n argumenty; údaj %2 z tohoto důvodu neplatný. Circularity detected byla zjištěna cirkulární závislost A variable by name %1 has already been declared. Proměnná s názvem %1 již byla prohlášena. The prefix %1 can not be bound. By default, it is already bound to the namespace %2. Předpona %1 nemůže být spojena. Ve výchozím nastavení je již spojena se jmenným prostorem %2. An %1-attribute must have a valid %2 as value, which %3 isn't. Vlastnost s názvem %1 musí mít platnou %2-hodnotu. %3 není platnou hodnotou. If element %1 has no attribute %2, it cannot have attribute %3 or %4. Prvek %1 nesmí mít vlastnost %3 nebo %4, pokud nemá vlastnost %2. A function already exists with the signature %1. Již existuje funkce s podpisem %1. When casting to %1 from %2, the source value cannot be %3. U operace předvedení z %1 do %2 nesmí být zdrojová hodnota %3. Attribute %1 can't be serialized because it appears at the top level. Vlastnost %1 nemůže být vydáván na pokračování, protože se objevuje na nejvyšší rovině. No comparisons can be done involving the type %1. S typem %1 nemohou být prováděny žádné srovnávací operace. No value is available for the external variable by name %1. Pro vnější proměnnou s názvem %1 není dostupná žádná hodnota. The value of attribute %1 must of type %2, which %3 isn't. Hodnota vlastnosti %1 musí být typu %2. %3 není platnou hodnotou. The item %1 did not match the required type %2. Prvek %1 neodpovídá požadovanému typu %2. Element %1 cannot have a sequence constructor. Prvek %1 nemůže mít stavitele posloupnosti. When attribute %1 is present on %2, a sequence constructor cannot be used. Nelze používat žádného stavitele posloupnosti, když %2 má vlastnost %1. one or more jeden nebo více The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. Kódování %1 je neplatné; smí sestávat pouze z latinských písmen a musí odpovídat pravidelnéu výrazu %2. %1 requires at least %n argument(s). %2 is therefore invalid. %1 vyžaduje alespoň %n argument; údaj %2 je z toho důvodu neplatný. %1 vyžaduje alespoň %n argumenty; údaj %2 je z toho důvodu neplatný. %1 vyžaduje alespoň %n argumenty; údaj %2 je z toho důvodu neplatný. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. %2 není platným cílovým názvem pokynu pro zpracování, protože tento nesmí být %1 (nehledě na psaní velkých/malých písmen). The focus is undefined. Není stanoveno ohnisko. %1 is an unknown schema type. %1 je neznámým typem schematu. The value for attribute %1 on element %2 must either be %3 or %4, not %5. Hodnota vlastnosti %1 prvku %2 může být jen %3 nebo %4, ne však %5. In the replacement string, %1 must be followed by at least one digit when not escaped. V nahrazovacím řetězci musí po %1 následovat alespoň jedna číslice, když není chráněn znakem Escape. In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. V XSL-T vyhledávacím vzoru se smějí používat jen osy %2 nebo %3, ne však %1. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) Jmenný prostor uživatelem stanovené funkce nesmí být prázdný (pro tento účel je předstanovená předpona %1) The first operand in an integer division, %1, cannot be infinity (%2). První veličina, operand, celočíselného dělení %1 nesmí být nekonečno (%2). %1 is not a valid value of type %2. %1 není platnou hodnotou typu %2. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. Násobení hodnoty typu %1 s %2 nebo %3 (kladné nebo záporné nekonečno) není přípustné. The variable %1 is unused Proměnná %1 se nepoužívá The %1-axis is unsupported in XQuery Osa %1 není v XQuery podporována A direct element constructor is not well-formed. %1 is ended with %2. Byl nalezen chybný stavitel přímého prvku. %1 končí %2. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Dělení hodnoty typu %1 prostřednictvím %2 nebo %3 (kladná nebo záporná nula) není přípustné. Attribute %1 cannot have the value %2. Vlastnost %1 nesmí mít hodnotu %2. It will not be possible to retrieve %1. %1 nelze určit. In an XSL-T pattern, function %1 cannot have a third argument. V XSL-T vyhledávacím vzoru nesmí mít funkce %1 třetí argument. The namespace URI in the name for a computed attribute cannot be %1. URI jmenného prostoru v názvu vypočítané vlastnosti nesmí být %1. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. %1 není platným cílovým názvem pokynu pro zpracování. Musí to být hodnota %2 jakou je například %3. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 je složeným typem. Operace předvedení u složených typů není možná. Mohou se ovšem provádět operace obsazení u atomárních typů jako %2. zero or one žádný nebo jeden No operand in an integer division, %1, can be %2. U celočíselného dělení %1 nesmí být veličina, operand, %2. The element with local name %1 does not exist in XSL-T. V XSL-T neexistuje žádný prvek s místním názvem %1. Two namespace declaration attributes have the same name: %1. Byly nalezeny dvě vlastnosti prohlášení jmenného prostoru se stejným názvem (%1). Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Skutečná Booleanská hodnota nemůže být vypočítána pro posloupnost ze dvou nebo více atomárních hodnot. %1 is an invalid %2 %1 je neplatný %2 The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. První argument k %1 nesmí být typu %2; musí to být číselný typ, xs:yearMonthDuration nebo xs:dayTimeDuration. Division (%1) by zero (%2) is undefined. Dělení (%1) nulou (%2) není stanoveno. No template by name %1 exists. Neexistuje žádná předloha s názvem %1. The attribute %1 must appear on element %2. Prvek %2 musí mít vlastnost %1. An attribute by name %1 has already appeared on this element. Prvek má již vlastnost s názvem %1. The default collection is undefined Pro sbírku není stanovena žádná předloha Only the prefix %1 can be bound to %2 and vice versa. S %2 může být spojena pouze předpona %1 (a obráceně). Value %1 of type %2 exceeds maximum (%3). Hodnota %1 typu %2 překračuje maximum (%3). Whitespace characters are removed, except when they appear in character classes Prázdné znaky jsou odstraněny v případě, že se neobjeví ve znakových třídách Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. Nemohou se provádět žádné operace předvedení k typu %1, protože je to abstraktní typ ist a nelze je doložit příkladem. Operator %1 cannot be used on type %2. Operátor %1 nelze použít na typ %2. The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. Jmenný prostor %1 je vyhrazen a z toho důvodu jej nemohou používat uživatelem stanovené funkce (pro tento účel je tu předstanovená předpona %2). The target namespace of a %1 cannot be empty. Cílový jmenný prostor %1 nesmí být prázdný. %1 must be followed by %2 or %3, not at the end of the replacement string. Po %1 musí následovat %2 nebo %3; nesmí se objevit na konci nahrazovacího řetězce. %1 is an invalid namespace URI. %1 není platným jmenným prostorem-URI. The attribute %1 cannot appear on %2, when it is a child of %3. %2 nesmí mít vlastnost %1 v případě, že je potomkem %3. The attribute %1 can only appear on the first %2 element. Pouze první %2-prvek smí mít vlastnost %1. Element %1 must have either a %2-attribute or a sequence constructor. Prvek %1 musí mít buď jednu %2-vlastnost nebo se musí používat stavitel posloupnosti. Module imports must occur before function, variable, and option declarations. Zavedení modulů musí nastat před prohlášeními funkcí, proměnných a voleb. Day %1 is outside the range %2..%3. Údaj dne %1 je mimo rozsah %2..%3. %1 contains octets which are disallowed in the requested encoding %2. %1 obsahuje oktety, které v kódování %2 nejsou přípustné. When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. Výchozí hodnota požadovaného parametru nemůže být zadána ani prostřednictvím %1-vlastnosti ani přes stavitele posloupnosti. In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. V XSL-T vyhledávacím vzoru musí být první argument k funkci %1 při použití k hledání řetězec tvořený písmeny. Text nodes are not allowed at this location. Na tomto místě nesmí stát žádné textové uzly. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. Hodnoty typu %1 nesmí ýt přísudkem. Pro přísudky jsou přípustné pouze typ číselný nebo účinný booleánský. %1 is not a valid name for a processing-instruction. %1 není platným názvem pokynu pro zpracování. %1 was called. %1 byl volán. It's not possible to add attributes after any other kind of node. Vlastnosti nesmí následovat za jinými druhy uzlů. At least one %1-element must occur before %2. Před %2 musí stát alespoň jeden %1-prvek. The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). Tato forma normalizování %1 není podporována. Podporovanými formami normalizování jsou %2, %3, %4 a %5, a "žádný" (prázdný znakový řetězec zastupuje "žádné normalizování"). When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. U operace představení k typu %1 nebo odvozených typů musí být zdrojovou hodnotou řetězec znaků tvořený písmeny nebo hodnota stejného typu. Typ %2 je neplatný. A parameter in a function cannot be declared to be a tunnel. Parameter funkce nelze prohlásit za tunel. XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is. XSL-T vlastnosti XSL-T prvku musí být v nulovém jmenném prostoru, nikoli v XSL-T jmenném prostoru, jako %1. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 Jmenný prostor uživatelem stanovené funkce v modulu knihovny musí odpovídat jmennému prostoru modulu (Jinými slovy by měl být %1 namísto %2) Day %1 is invalid for month %2. Ǔdaj o dni %1 je neplatným pro měsíc %2. Overflow: Can't represent date %1. Nelze představit datum %1 (Přetečení). In a simplified stylesheet module, attribute %1 must be present. Ve zjednodušeném modulu stylového listu musí být přítomna vlastnost %1. Unknown XSL-T attribute %1. Neznámá XSL-T vlastnost: %1. It is not possible to redeclare prefix %1. Předponu %1 nelze prohlásit. exactly one přesně jeden %1 is an invalid regular expression pattern: %2 %1 není platným pravidelným výrazem: %2 Element %1 is not allowed at this location. Prvek %1 nesmí stát na tomto místě. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. %1-výrazy se nemohou používat, protože funkce prohlášení schématu platným není podporována. At least one %1 element must appear as child of %2. Alespoň jeden %1-prvek musí být potomkem %2. This processor is not Schema-aware and therefore %1 cannot be used. %1 se nemůže používat, protože tento procesor nepodporuje žádné schéma. Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes. Prvek %2 může mít jen %3 nebo obvyklé vlastnosti, ne však %1. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Dělení hodnoty typu %1 prostřednictvím %2 (není číselnou hodnotou) není přípustné. Required cardinality is %1; got cardinality %2. Požadované kardinální číslo (mohutnost množiny) je %1 (v současnosti %2). A construct was encountered which only is allowed in XQuery. Tento výtvor je přípustný pouze v XQuery. No function by name %1 is available. Neexistuje žádná funkce s názvem %1. The URI cannot have a fragment URI nesmí obsahovat kousek %1 is not an atomic type. Casting is only possible to atomic types. %1 není atomárním typem. Operace představení se dají provádět pouze s atomárními typy. The first argument to %1 cannot be of type %2. První argument %1 nemůže být typu %2. The namespace URI must be a constant and cannot use enclosed expressions. Jmenný prostor-URI musí být konstantou a nesmí používat vložené výrazy. Prefix %1 is already declared in the prolog. Předpona %1 byla prohlášena již v předmluvě (prologu). Ambiguous rule match. Víceznačné pravidlo. Promoting %1 to %2 may cause loss of precision. Postoupení od %1 k %2 může vést ke ztrátě přesnosti. In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. V XSL-T vyhledávacím vzoru se smějí pro srovnávání používat jen funkce %1 a %2, ne však %3. A default namespace declaration must occur before function, variable, and option declarations. Prohlášení výchozích jmenných prostorů musí stát před prohlášeními funkcí-, proměnných- nebo prohlášeními voleb. Operator %1 cannot be used on atomic values of type %2 and %3. Operátor %1 se nemůže používat u atomárních hodnot typů %2 a %3. The module import feature is not supported Funkce zavedení modulu není podporována The parameter %1 is passed, but no corresponding %2 exists. Neexistuje žádný odpovídající %2 pro předaný parameter %1. A value of type %1 cannot have an Effective Boolean Value. Hodnota typu %1 nemůže mít žádnou účinnou booleánskou hodnotu. The data of a processing instruction cannot contain the string %1 Data pokynu pro zpracování nesmí obsahovat řetězec znaků %1 Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Časový údaj 24:%1:%2.%3 je neplatný. U hodinového údaje je 24, ale minuty, sekundy a milisekundy musí být všechny 0; A template by name %1 has already been declared. Předloha s názvem %1 už byla prohlášena. It is not possible to bind to the prefix %1 Předponu %1 nelze spojit Value %1 of type %2 is below minimum (%3). Hodnota %1 typu %2 zůstává pod minimem (%3). Required type is %1, but %2 was found. Požadovaný typ je %1, byl ale zadán %2. %1 is an unsupported encoding. Kódování %1 není podporováno. The name of an option must have a prefix. There is no default namespace for options. Název volby musí mít předponu. Pro volby není žádná předloha pro jmenný prostor. Element %1 must come last. Prvek %1 musí stát jako poslední. Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes. Prvek %2 může mít jen vlastnost %3, %4 nebo vlastnosti, které jsou obvyklé, ne však %1. No namespace binding exists for the prefix %1 in %2 Neexistuje žádné svázání jmenného prostoru pro předponu %1 v %2 The name %1 does not refer to any schema type. Název %1 nemá žádnou spojitost s jakýmkoli typem schématu. Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Předponu %1 lze spojit pouze s %2. Toto je prohlášeno již dopředu.. W3C XML Schema identity constraint selector Přepínač omezení totožnosti W3C XML schéma W3C XML Schema identity constraint field Pole omezení totožnosti W3C XML schéma A construct was encountered which is disallowed in the current language(%1). Narazilo se na výtvor, který v nynějším jazyce není povolen (%1). The initialization of variable %1 depends on itself Inicializace proměnné %1 je závislá na její vlastní hodnotě An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. Uzel vlastnosti se nesmí objevit jako potomek uzlu dokumentu. Objevil se uzel vlastnosti s názvem %1, který je proto nevhodný. Month %1 is outside the range %2..%3. Údaj o měsíci %1 je mimo rozsah %2..%3. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. Název proměnné úzce spojené s pro-výrazem se musí lišit od poziční proměnné. Dvě proměnné s názvem %1 se z tohoto důvodu střetávají. No namespace binding exists for the prefix %1 Neexistuje žádné svázání jmenného prostoru pro předponu %1 An %1-attribute with value %2 has already been declared. Prvek má již jednu vlastnost s názvem %1 s hodnotou %2. %1 is not valid as a value of type %2. %1 není platný jako hodnota typu %2. zero or more žádný nebo více %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. %1 se nenachází v oblasti pod prohlášením vlastností. Všimněte si, že funkce zavedení schématu není podporována. When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. Při použití funkce %1 k vyhodnocování uvnitř vyhledávacího vzoru musí být argumentem odkaz na proměnnou nebo řetězec tvořený písmeny. %1 is an invalid template mode name. %1 není platným názvem pro řežim předlohy. At least one time component must appear after the %1-delimiter. Po %1-oddělovači se musí objevit alespoň jedna složka času. Overflow: Date can't be represented. Nelze představit datum (Přetečení). Operator %1 is not available between atomic values of type %2 and %3. Operátor %1 se nemůže používat u atomárních hodnot typů %2 a %3. A zone offset must be in the range %1..%2 inclusive. %3 is out of range. Rozdíl v časové zóně musí ležet v oblasti %1..%2 (včetně). %3 leží mimo oblast. %1 is not a valid XML 1.0 character. %1 není platný znak XML 1.0. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. První argument %1 nemůže být typu %2. Musí to být typ %3, %4 nebo %5. %1 is not a whole number of minutes. %1 není celočíselným údajem o minutách. Failure when casting from %1 to %2: %3 Operace předvedení od %1 do %2 se nepodařila: %3 It is not possible to cast from %1 to %2. Nelze provádět žádnou operaci předvedení od %1 do %2. No variable by name %1 exists Neexistuje žádná proměnná s názvem %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Jmenný prostor %1 lze spojit pouze s %2. Toto je stanoveno již dopředu. The second operand in a division, %1, cannot be zero (%2). Druhá veličina, operand, dělení %1 nesmí být nula (%2). Only one %1 declaration can occur in the query prolog. Předmluva k dotazu (prolog) smí obsahovat pouze jedno %1-prohlášení. Element %1 must have at least one of the attributes %2 or %3. Prvek %1 musí mít alespoň jednu z vlastností %2 nebo %3. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. Když jsou zadány obě hodnoty s časovými zónami, musí mít ten samý rozdíl v časové zóně. %1 a %2 nejsou to samé a jsou tím pádem nepřípustné. No external functions are supported. All supported functions can be used directly, without first declaring them as external Nejsou podporovány vnější funkce. Všechny podporované funkce se dají používat přímo, bez toho, že by byly nejprve prohlášeny za vnější The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. Poslední krok cesty musí obsahovat buď jen uzly nebo jen atomární hodnoty. Nesmí se vyskytovat společně. Empty particle cannot be derived from non-empty particle. Prázdnou částici nelze odvodit z částice, která není prázdná. Derived particle is missing element %1. V odvozené částici chybí prvek %1. Derived element %1 is missing value constraint as defined in base particle. V odvozeném prvku %1 chybí omezení hodnoty, jak je to stanoveno v základní částici. Derived element %1 has weaker value constraint than base particle. Odvozený prvek %1 má slabší omezení hodnoty než má základní částice. Fixed value constraint of element %1 differs from value constraint in base particle. Pevné omezení hodnoty prvku %1 se liší od omezení hodnoty základní částici. Derived element %1 cannot be nillable as base element is not nillable. Odvozený prvek %1 nemůže mít žádnou vlastnost 'nillable', neboť základní prvek žádnou nestanovuje. Block constraints of derived element %1 must not be more weaker than in the base element. Omezení bloku odvozeného prvku %1 nesmí být slabší než v základním prvku. Simple type of derived element %1 cannot be validly derived from base element. Jednoduchý typ odvozeného prvku %1 nemůže být platně odvozen ze základního prvku. Complex type of derived element %1 cannot be validly derived from base element. Složitý typ odvozeného prvku %1 nemůže být platně odvozen ze základního prvku. Element %1 is missing in derived particle. Prvek %1 chybí v odvozené částici. Element %1 does not match namespace constraint of wildcard in base particle. Prvek %1 neodpovídá omezení jmenného prostoru zástupného symbolu (vzor hledání) v základní částici. Wildcard in derived particle is not a valid subset of wildcard in base particle. Zástupný symbol (vzor hledání) v odvozené částici není platnou dílčí množinou zástupného symbolu v základní částici. processContent of wildcard in derived particle is weaker than wildcard in base particle. Vlastnost processContent zástupného symbolu (vzor hledání) odvozené částice je slabší než zástupný symbol (vzor hledání) v základní částici. Derived particle allows content that is not allowed in the base particle. Odvozená částice dovoluje obsah, který není přípustný pro základní částici. %1 has inheritance loop in its base type %2. %1 má ve svém základním typu %2 v kruzích prováděnou dědičnost. Circular inheritance of base type %1. V kruzích prováděná dědičnost v základním typu %1. Circular inheritance of union %1. V kruzích prováděná dědičnost při sjednocení %1. %1 is not allowed to derive from %2 by restriction as the latter defines it as final. %1 není dovoleno odvodit z %2 pomocí omezení, neboť posledně uvedený ji určuje jako konečnou. %1 is not allowed to derive from %2 by extension as the latter defines it as final. %1 není dovoleno odvodit z %2 pomocí rozšíření, neboť posledně uvedený ji určuje jako konečnou. Base type of simple type %1 cannot be complex type %2. Složitý typ %2 nemůže být základním typem jednoduchého typu %1. Simple type %1 cannot have direct base type %2. Jednoduchý typ %1 nemůže mít přímý základní typ %2. Simple type %1 is not allowed to have base type %2. Jednoduchý typ %1 nesmí mít základní typ %2. Simple type %1 can only have simple atomic type as base type. Jednoduchý typ %1 může mít jen jednoduchý malinký základní typ. Simple type %1 cannot derive from %2 as the latter defines restriction as final. Jednoduchý typ %1 nesmí být odvozen z %2 , neboť poslední určuje omezení jako konečné. Variety of item type of %1 must be either atomic or union. Rozmanitost složkových typů %1 musí být buď malinká nebo sjednocení. Variety of member types of %1 must be atomic. Rozmanitost členských typů %1 musí být malinká. %1 is not allowed to derive from %2 by list as the latter defines it as final. %1 není dovoleno odvodit z %2 pomocí seznamu, neboť posledně uvedený ji určuje jako konečnou. Simple type %1 is only allowed to have %2 facet. Jednoduchý typ %1 může mít jen stránky %2. Base type of simple type %1 must have variety of type list. Základní typ jednoduchého typu %1 musí mít rozmanitost seznamu typů. Base type of simple type %1 has defined derivation by restriction as final. Základní typ jednoduchého typu %1 určuje sjednocení pomocí omezení jako konečné. Item type of base type does not match item type of %1. Složkový typ základního typu neodpovídá složkovému typu %1. Simple type %1 contains not allowed facet type %2. Jednoduchý typ %1 obsahuje nedovolený typ stránky %2. %1 is not allowed to derive from %2 by union as the latter defines it as final. %1 není dovoleno odvodit z %2 pomocí sjednocení, neboť posledně uvedený ji určuje jako konečnou. %1 is not allowed to have any facets. %1 nesmí mít žádné stránky. Base type %1 of simple type %2 must have variety of union. Základní typ %1 jednoduchého typu %2 musí mít rozmanitost sjednocení typů. Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute. Základní typ %1 jednoduchého typu %2 nesmí mít žádné omezení vlastnosti %3. Member type %1 cannot be derived from member type %2 of %3's base type %4. Členský typ %1 nemůže být odvozen z členského typu %2 ze základního typu %4 %3. Derivation method of %1 must be extension because the base type %2 is a simple type. Rozšíření s musí používat jako způsob dědičnosti (odvození) pro %1, neboť základní typ %2 je jednoduchým typem. Complex type %1 has duplicated element %2 in its content model. Složitý typ %1 má zdvojený prvek %2 ve svém modelu obsahu. Complex type %1 has non-deterministic content. Složitý typ %1 má ne-neměnný obsah. Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3. Vlastnosti složitého typu %1 nejsou žádným platným rozšířením vlastností základního typu %2: %3. Content model of complex type %1 is not a valid extension of content model of %2. Model obsahu složitého typu %1 není žádným platným rozšířením modelu obsahu %2. Complex type %1 must have simple content. Složitý typ %1 musí mít jednoduchý obsah. Complex type %1 must have the same simple type as its base class %2. Složitý typ %1 musí mít jednoduchý obsah. Complex type %1 cannot be derived from base type %2%3. Složitý typ %2 nemůže být odvozen ze základního typu %2%3. Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3. Vlastnosti složitého typu %1 nejsou žádným platným omezením vlastností základního typu %2: %3. Complex type %1 with simple content cannot be derived from complex base type %2. Složitý typ %1 s jednoduchým obsahem nemůže být odvozen ze složitého základního typu %2. Item type of simple type %1 cannot be a complex type. Složkový typ jednoduchého typu %1 nemůže být složitým typem. Member type of simple type %1 cannot be a complex type. Členský typ jednoduchého typu %1 nemůže být složitým typem. %1 is not allowed to have a member type with the same name as itself. %1 nesmí mít členský typ se stejným názvem, jaký má sám. %1 facet collides with %2 facet. Stránka %1 se střetává se stránkou %2. %1 facet must have the same value as %2 facet of base type. Stránka %1 musí mít tutéž hodnotu, jakou má stránka %2 základního typu. %1 facet must be equal or greater than %2 facet of base type. Stránka %1 musí být stejná nebo větší než stránka %2 základního typu. %1 facet must be less than or equal to %2 facet of base type. Stránka %1 musí být menší nebo stejná jako stránka %2 základního typu. %1 facet contains invalid regular expression Stránka %1 obsahuje neplatný pravidelný výraz Unknown notation %1 used in %2 facet. Stránka %2 obsahuje neplatné zaznamenání %1. %1 facet contains invalid value %2: %3. Stránka %1 obsahuje neplatnou hodnotu %2: %3. %1 facet cannot be %2 or %3 if %4 facet of base type is %5. Stránka %1 nesmí být %2 nebo %3, pokud je stránka %4 základního typu %5. %1 facet cannot be %2 if %3 facet of base type is %4. Stránka %1 nesmí být %2, pokud je stránka %3 základního typu %4. %1 facet must be less than or equal to %2 facet. Stránka %1 musí být menší nebo stejná jako stránka %2. %1 facet must be less than %2 facet of base type. Stránka %1 musí být menší než stránka %2 základního typu. %1 facet and %2 facet cannot appear together. Stránky %1 a %2 se nemohou objevit spolu. %1 facet must be greater than %2 facet of base type. Stránka %1 musí být větší než stránka %2 základního typu. %1 facet must be less than %2 facet. Stránka %1 musí být menší než stránka %2. %1 facet must be greater than or equal to %2 facet of base type. Stránka %1 musí být větší nebo stejná jako stránka %2 základního typu. Simple type contains not allowed facet %1. Jednoduchý typ obsahuje nedovolenou stránku %1. %1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list. Stránky %1, %2, %3, %4, %5 a %6 nejsou při odvození (dědičnosti) pomocí seznamu dovoleny. Only %1 and %2 facets are allowed when derived by union. Při odvození (dědičnosti) pomocí sjednocení jsou dovoleny pouze stránky %1 a %2. %1 contains %2 facet with invalid data: %3. %1 obsahuje stránku %2 s neplatnými daty: %3. Attribute group %1 contains attribute %2 twice. Skupina vlastností %1 obsahuje vlastnost %2 dvakrát. Attribute group %1 contains two different attributes that both have types derived from %2. Skupina vlastností %1 obsahuje dvě rozdílné vlastnosti, obě s typy, které jsou odvozeny z %2. Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3. Skupina vlastností %1 obsahuje vlastnost %2 s omezením hodnoty, typ je ale odvozen z %3. Complex type %1 contains attribute %2 twice. Složitý typ %1 obsahuje vlastnost %2 dvakrát. Complex type %1 contains two different attributes that both have types derived from %2. Složitý typ %1 obsahuje dvě rozdílné vlastnosti, obě s typy, které jsou odvozeny z %2. Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3. Složitý typ %1 obsahuje vlastnost %2 s omezením hodnoty, typ je ale odvozen z %3. Element %1 is not allowed to have a value constraint if its base type is complex. Prvek %1 nesmí mít omezení hodnoty, když je základní typ složitý. Element %1 is not allowed to have a value constraint if its type is derived from %2. Prvek %1 nesmí mít omezení hodnoty, když je jeho typ odvozen z %2. Value constraint of element %1 is not of elements type: %2. Omezení hodnoty prvku %1 není z typu prvku: %2. Element %1 is not allowed to have substitution group affiliation as it is no global element. Prvek %1 nesmí patřit k skupině nahrazení, neboť není celkovým prvkem. Type of element %1 cannot be derived from type of substitution group affiliation. Typ prvku %1 nemůže být odvozen z typu příslušné skupiny nahrazení. Value constraint of attribute %1 is not of attributes type: %2. Omezení hodnoty vlastnosti %1 není z typu vlastnosti: %2. Attribute %1 has value constraint but has type derived from %2. Vlastnost %1 má mezení hodnoty, ale její typ je odvozen z %2. %1 attribute in derived complex type must be %2 like in base type. Vlastnost %1 v odvozeném složitém typu musí být jako v základním typu %2. Attribute %1 in derived complex type must have %2 value constraint like in base type. Vlastnost %1 v odvozeném složitém typu musí mít omezení hodnoty jako v základním typu %2. Attribute %1 in derived complex type must have the same %2 value constraint like in base type. Vlastnost %1 v odvozeném složitém typu musí mít stejné omezení hodnoty %2 jako v základním typu. Attribute %1 in derived complex type must have %2 value constraint. Vlastnost %1 v odvozeném složitém typu musí omezení hodnoty %2. processContent of base wildcard must be weaker than derived wildcard. Vlastnost 'processContent' základního zástupného symbolu (vzor hledání) musí být slabší než odvozený zástupný symbol (vzor hledání). Element %1 exists twice with different types. Prvek %1 existuje dvakrát s rozdílnými typy. Particle contains non-deterministic wildcards. Částice obsahuje ne-neměnné zástupné symboly (vzory hledání). Base attribute %1 is required but derived attribute is not. Základní vlastnost %1 je vyžadována, ale odvozená vlastnost není. Type of derived attribute %1 cannot be validly derived from type of base attribute. Typ odvozené vlastnosti %1 nemůže být platně odvozen z typu základní vlastnosti. Value constraint of derived attribute %1 does not match value constraint of base attribute. Omezení hodnoty odvozené vlastnosti %1 neodpovídá omezení hodnoty základní vlastnosti. Derived attribute %1 does not exists in the base definition. Odvozená vlastnost %1 neexistuje v základním vymezení. Derived attribute %1 does not match the wildcard in the base definition. Odvozená vlastnost %1 neodpovídá zástupnému symbolu (vzoru hledání) v základním vymezení. Base attribute %1 is required but missing in derived definition. Základní vlastnost %1 je vyžadována, ale chybí v odvozeném vymezení. Derived definition contains an %1 element that does not exists in the base definition Odvozené vymezení obsahuje prvek %1, který v základním vymezení neexistuje Derived wildcard is not a subset of the base wildcard. Odvozený zástupný symbol (vzor hledání) není žádnou dílčí množinou základního zástupného symbolu (vzoru hledání). %1 of derived wildcard is not a valid restriction of %2 of base wildcard Vlastnost %1 odvozeného zástupného symbolu (vzoru hledání) není platným omezením %2 základního zástupného symbolu (vzoru hledání) Attribute %1 from base type is missing in derived type. Vlastnost %1 základního typu chybí v odvozeném typu. Type of derived attribute %1 differs from type of base attribute. Typ odvozené vlastnosti %1 se liší od typu základní vlastnosti. Base definition contains an %1 element that is missing in the derived definition Základní vymezení obsahuje prvek %1, který v odvozeném vymezení chybí Can not process unknown element %1, expected elements are: %2. Nelze zpracovat neznámý prvek %1, očekávanými prvky jsou: %2. Element %1 is not allowed in this scope, possible elements are: %2. Prvek %1 není v této oblasti dovolen; možnými prvky jsou: %2. Child element is missing in that scope, possible child elements are: %1. Podprvek v oblasti chybí; možnými podprvky jsou: %1. Document is not a XML schema. Dokument není schématem XML. %1 attribute of %2 element contains invalid content: {%3} is not a value of type %4. Vlastnost %1 prvku %2 obsahuje neplatný obsah: {%3} není hodnotou typu %4. %1 attribute of %2 element contains invalid content: {%3}. Vlastnost %1 prvku %2 obsahuje neplatný obsah: {%3}. Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema. Cílový jmenný prostor %1 zahrnutého schématu se liší od jím vymezeného cílového jmenného prostoru %2. Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema. Cílový jmenný prostor %1 zavedeného schématu se liší od jím vymezeného cílového jmenného prostoru %2. %1 element is not allowed to have the same %2 attribute value as the target namespace %3. Prvek %1 nemůže stanovit cílový jmenný prostor %3 jako hodnotu vlastnosti %2. %1 element without %2 attribute is not allowed inside schema without target namespace. Ve schématu bez jmenného prostoru musí mít prvek %1 vlastnost %2. %1 element is not allowed inside %2 element if %3 attribute is present. Když je přítomna vlastnost %3, nesmí se vyskytovat prvek %1 v prvku %2. %1 element has neither %2 attribute nor %3 child element. Prvek %1 nemá ani vlastnost %2 ani podprvek %3. %1 element with %2 child element must not have a %3 attribute. Prvek %1 nesmí mít vlastnost %3, když existuje podprvek %2. %1 attribute of %2 element must be %3 or %4. Vlastnost %1 prvku %2 může být jen %3 nebo %4. %1 attribute of %2 element must have a value of %3. Vlastnost %1 prvku %2 musí mít hodnotu %3. %1 attribute of %2 element must have a value of %3 or %4. Vlastnost %1 prvku %2 může mít jen jednu z hodnot %3 nebo %4. %1 element must not have %2 and %3 attribute together. Vlastnosti %2 a %3 se v prvku %1 nemohou objevit společně. Content of %1 attribute of %2 element must not be from namespace %3. Obsah vlastnosti %1 prvku %2 nemůže pocházet ze jmenného prostoru %3. %1 attribute of %2 element must not be %3. Vlastnost %1 prvku %2 nemůže být %3. %1 attribute of %2 element must have the value %3 because the %4 attribute is set. Vlastnost %1 prvku %2 musí mít hodnotu %3, protože je nastavena vlastnost %4. Specifying use='prohibited' inside an attribute group has no effect. Zadání use='prohibited' ve skupině vlastností nemá naprosto žádný účinek. %1 element must have either %2 or %3 attribute. Prvek %1 musí mít buď vlastnost %2 nebo %3. %1 element must have either %2 attribute or %3 or %4 as child element. Prvek %1 musí mít buď vlastnost %2, nebo mít %3 nebo %4 jako podprvek. %1 element requires either %2 or %3 attribute. Prvek %1 vyžaduje buď vlastnost %2 nebo %3. Text or entity references not allowed inside %1 element Text nebo odkazy na entitu nejsou v prvku %1 dovoleny %1 attribute of %2 element must contain %3, %4 or a list of URIs. Vlastnost %1 prvku %2 musí obsahovat %3, %4 nebo seznam adres (URL). %1 element is not allowed in this context. Prvek %1 není v této souvislosti dovolen. %1 attribute of %2 element has larger value than %3 attribute. Hodnota vlastnosti %1 prvku %2 je větší než hodnota vlastnosti %3. Prefix of qualified name %1 is not defined. Předpona způsobilého názvu %1 není stanovena. %1 attribute of %2 element must either contain %3 or the other values. Hodnota vlastnosti %1 prvku %2 musí obsahovat buď %3 nebo jiné hodnoty. Component with id %1 has been defined previously. Součást s ID %1 je již stanovena. Element %1 already defined. Prvek %1 je již stanoven. Attribute %1 already defined. Vlastnost %1 je již stanovena. Type %1 already defined. Typ %1 je již stanoven. Attribute group %1 already defined. Skupina vlastností %1 je již stanovena. Element group %1 already defined. Skupina prvků %1 je již stanovena. Notation %1 already defined. Zápis %1 je již stanoven. Identity constraint %1 already defined. Omezení totožnosti %1 je již stanoveno. Duplicated facets in simple type %1. Zdvojené stránky v jednoduchém typu %1. %1 references unknown %2 or %3 element %4. %1 odkazuje na neznámý prvek %4 (%2 nebo %3). %1 references identity constraint %2 that is no %3 or %4 element. %1 odkazuje na omezení totožnosti %2, které není ani prvek '%3' ani '%4'. %1 has a different number of fields from the identity constraint %2 that it references. U %1 se liší počet polí od omezení totožnosti %2, na kterou odkazuje. Base type %1 of %2 element cannot be resolved. Základní typ %1 prvku %2 nemůže být vyřešen. Item type %1 of %2 element cannot be resolved. Složkový typ %1 prvku %2 nemůže být vyřešen. Member type %1 of %2 element cannot be resolved. Členský typ %1 prvku %2 nemůže být vyřešen. Type %1 of %2 element cannot be resolved. Typ %1 prvku %2 nemůže být vyřešen. Base type %1 of complex type cannot be resolved. Základní typ %1 složitého typu nemůže být vyřešen. %1 cannot have complex base type that has a %2. %1 nelze mít žádný složitý základní typ, který má %2. Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type. Model obsahu složitého typu %1 obsahuje prvek %2; nelze jej proto odvodit pomocí rozšíření z ne-prázdného typu. Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model. Složitý typ %1 nemůže být odvozen pomocí rozšíření z %2, neboť poslední obsahuje prvek '%3' ve svém modelu obsahu. Type of %1 element must be a simple type, %2 is not. Typ prvku %1 musí být jednoduchým prvkem, což %2 není. Substitution group %1 of %2 element cannot be resolved. Skupina nahrazení %1 prvku %2 nemůže být vyřešena. Substitution group %1 has circular definition. Skupina nahrazení %1 má v kruzích prováděné vymezení. Duplicated element names %1 in %2 element. Název prvku %1 se vyskytuje v prvku %2 vícekrát. Reference %1 of %2 element cannot be resolved. Odkaz %1 prvku %2 nemůže být vyřešen. Circular group reference for %1. V kruzích prováděný skupinový odkaz pro %1. %1 element is not allowed in this scope Prvek %1 není v této oblasti dovolen %1 element cannot have %2 attribute with value other than %3. Hodnota vlastnosti %2 prvku %1 může být pouze %3. %1 element cannot have %2 attribute with value other than %3 or %4. Hodnota vlastnosti %2 prvku %1 může být pouze %3 nebo %4. %1 or %2 attribute of reference %3 does not match with the attribute declaration %4. Vlastnost %1 nebo %2 odkazu %3 neodpovídá prohlášení vlastnosti %4. Attribute group %1 has circular reference. Skupina vlastnosti %1 má kruzích prováděný odkaz. %1 attribute in %2 must have %3 use like in base type %4. Vlastnost %1 v %2 musí mít použití '%3' jako v základním typu %4. Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2. Zástupný symbol vlastnosti (vzor hledání) %1není platným omezením zástupného symbolu vlastnosti (vzoru hledání) základního typu %2. %1 has attribute wildcard but its base type %2 has not. %1 má zástupný symbol vlastnosti (vzor hledání), ale jeho základní typ %2 nemá. Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible. Sjednocení zástupného symbolu vlastnosti (vzoru hledání) typu %1 a zástupného symbolu vlastnosti (vzoru hledání) jeho základního typu %2 není vyjádřitelné. Enumeration facet contains invalid content: {%1} is not a value of type %2. Výčtová stránka obsahuje neplatný obsah: {%1} není hodnotou typu %2. Namespace prefix of qualified name %1 is not defined. Předpona jmenného prostoru způsobilého názvu %1 není stanovena. %1 element %2 is not a valid restriction of the %3 element it redefines: %4. Prvek %2 (%1) není platným omezením přepisovaného prvku (%3): %4. %1 is not valid according to %2. %1 je podle %2 neplatné. String content does not match the length facet. Obsah řetězce znaků neodpovídá stránce délky. String content does not match the minLength facet. Obsah řetězce znaků neodpovídá stránce délky (nejmenší údaj, 'minLength'). String content does not match the maxLength facet. Obsah řetězce znaků neodpovídá stránce délky (největší údaj; 'maxLength'). String content does not match pattern facet. Obsah řetězce znaků neodpovídá stránce vzoru pro hledání. String content is not listed in the enumeration facet. Obsah řetězce znaků není obsažen ve výčtové stránce. Signed integer content does not match the maxInclusive facet. Celočíselná hodnota označená znaménkem neodpovídá stránce 'maxInclusive'. Signed integer content does not match the maxExclusive facet. Celočíselná hodnota označená znaménkem neodpovídá stránce 'maxExclusive'. Signed integer content does not match the minInclusive facet. Celočíselná hodnota označená znaménkem neodpovídá stránce 'minInclusive'. Signed integer content does not match the minExclusive facet. Celočíselná hodnota označená znaménkem neodpovídá stránce 'minExclusive'. Signed integer content is not listed in the enumeration facet. Celočíselná hodnota označená znaménkem není obsažena ve výčtové stránce. Signed integer content does not match pattern facet. Celočíselná hodnota označená znaménkem neodpovídá stránce vzoru pro hledání. Signed integer content does not match in the totalDigits facet. Celočíselná hodnota označená znaménkem neodpovídá stránce 'totalDigits'. Unsigned integer content does not match the maxInclusive facet. Celočíselná hodnota jsoucí bez znaménka neodpovídá stránce 'maxInclusive'. Unsigned integer content does not match the maxExclusive facet. Celočíselná hodnota jsoucí bez znaménka neodpovídá stránce 'maxExclusive'. Unsigned integer content does not match the minInclusive facet. Celočíselná hodnota jsoucí bez znaménka neodpovídá stránce 'minInclusive'. Unsigned integer content does not match the minExclusive facet. Celočíselná hodnota jsoucí bez znaménka neodpovídá stránce 'minExclusive'. Unsigned integer content is not listed in the enumeration facet. Celočíselná hodnota jsoucí bez znaménka není obsažena ve výčtové stránce. Unsigned integer content does not match pattern facet. Celočíselná hodnota jsoucí bez znaménka neodpovídá stránce vzoru pro hledání. Unsigned integer content does not match in the totalDigits facet. Celočíselná hodnota jsoucí bez znaménka neodpovídá stránce 'totalDigits'. Double content does not match the maxInclusive facet. Číslo s pohyblivou čárkou neodpovídá stránce 'maxInclusive'. Double content does not match the maxExclusive facet. Číslo s pohyblivou čárkou neodpovídá stránce 'maxExclusive'. Double content does not match the minInclusive facet. Číslo s pohyblivou čárkou neodpovídá stránce 'minInclusive'. Double content does not match the minExclusive facet. Číslo s pohyblivou čárkou neodpovídá stránce 'minExclusive'. Double content is not listed in the enumeration facet. Číslo s pohyblivou čárkou není obsaženo ve výčtové stránce. Double content does not match pattern facet. Číslo s pohyblivou čárkou neodpovídá stránce vzoru pro hledání. Decimal content does not match in the fractionDigits facet. Desetinné číslo neodpovídá stránce 'fractionDigits'. Decimal content does not match in the totalDigits facet. Desetinné číslo neodpovídá stránce 'totalDigits'. Date time content does not match the maxInclusive facet. Údaj o datu neodpovídá stránce 'maxInclusive'. Date time content does not match the maxExclusive facet. Údaj o datu neodpovídá stránce 'maxExclusive'. Date time content does not match the minInclusive facet. Údaj o datu neodpovídá stránce 'minInclusive'. Date time content does not match the minExclusive facet. Údaj o datu neodpovídá stránce 'minExclusive'. Date time content is not listed in the enumeration facet. Údaj o datu není obsažen ve výčtové stránce. Date time content does not match pattern facet. Údaj o datu neodpovídá stránce vzoru pro hledání. Duration content does not match the maxInclusive facet. Údaj o době trvání neodpovídá stránce 'maxInclusive'. Duration content does not match the maxExclusive facet. Údaj o době trvání neodpovídá stránce 'maxExclusive'. Duration content does not match the minInclusive facet. Údaj o době trvání neodpovídá stránce 'minInclusive'. Duration content does not match the minExclusive facet. Údaj o době trvání neodpovídá stránce 'minExclusive'. Duration content is not listed in the enumeration facet. Údaj o době trvání není obsažen ve výčtové stránce. Duration content does not match pattern facet. Údaj o době trvání neodpovídá stránce vzoru pro hledání. Boolean content does not match pattern facet. Booleánská hodnota neodpovídá stránce vzoru pro hledání. Binary content does not match the length facet. Binární obsah neodpovídá stránce délky. Binary content does not match the minLength facet. Binární obsah neodpovídá stránce 'minLength'. Binary content does not match the maxLength facet. Binární obsah neodpovídá stránce 'maxLength'. Binary content is not listed in the enumeration facet. Binární obsah není obsažen ve výčtové stránce. Invalid QName content: %1. Obsah způsobilého názvu ('QName') je neplatný: %1. QName content is not listed in the enumeration facet. Obsah způsobilého názvu ('QName') není obsažen ve výčtové stránce. QName content does not match pattern facet. Obsah způsobilého názvu ('QName') neodpovídá stránce vzoru pro hledání. Notation content is not listed in the enumeration facet. Obsah zápisu není obsažen ve výčtové stránce. List content does not match length facet. Obsah seznamu neodpovídá stránce délky. List content does not match minLength facet. Obsah seznamu neodpovídá stránce 'minLength'. List content does not match maxLength facet. Obsah seznamu neodpovídá stránce 'maxLength'. List content is not listed in the enumeration facet. Obsah seznamu není obsažen ve výčtové stránce. List content does not match pattern facet. Obsah seznamu neodpovídá stránce vzoru pro hledání. Union content is not listed in the enumeration facet. Obsah sjednocení není obsažen ve výčtové stránce. Union content does not match pattern facet. Obsah sjednocení neodpovídá stránce vzoru pro hledání. Data of type %1 are not allowed to be empty. Data typu %1 nemohou být prázdná. Element %1 is missing child element. U prvku %1 chybí podprvek. There is one IDREF value with no corresponding ID: %1. Existuje hodnota IDREF, pro kterou neexistuje příslušné ID: %1. Loaded schema file is invalid. Nahraný soubor se schématem je neplatný. %1 contains invalid data. %1 obsahuje neplatná data. xsi:schemaLocation namespace %1 has already appeared earlier in the instance document. Jmenný prostor xsi:schemaLocation %1 byl již dříve v případovém dokumentu stanoven. xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute. xsi:noNamespaceSchemaLocation se nemůže objevit po prvním prvku nebo vlastnosti bez jmenného prostoru. No schema defined for validation. Pro schválení není stanoveno žádné schéma. No definition for element %1 available. Pro prvek %1 není dostupné žádné vymezení. Specified type %1 is not known to the schema. Zadaný typ %1 není ve schématu stanoven. Element %1 is not defined in this scope. Prvek %1 není v této oblasti stanoven. Declaration for element %1 does not exist. Pro prvek %1 není dostupné žádné prohlášení. Element %1 contains invalid content. Prvek %1 obsahuje neplatný obsah. Element %1 is declared as abstract. Prvek %1 je prohlášen jako abstraktní. Element %1 is not nillable. Prvek %1 nemá zadánu vlastnost 'nillable'. Attribute %1 contains invalid data: %2 Vlastnost %1 obsahuje neplatná data: %2 Element contains content although it is nillable. Prvek má obsah, ačkoli je 'nillable'. Fixed value constrained not allowed if element is nillable. Pevné omezení hodnoty není dovoleno, pokud je prvek 'nillable'. Specified type %1 is not validly substitutable with element type %2. Zadaný typ %1 není platně nahraditelný typem prvku %2. Complex type %1 is not allowed to be abstract. Složitý typ %1 nemůže být abstraktní. Element %1 contains not allowed attributes. Prvek %1 obsahuje nepřípustné vlastnosti. Element %1 contains not allowed child element. Prvek %1 obsahuje nepřípustný podprvek. Content of element %1 does not match its type definition: %2. Obsah prvku %1 neodpovídá vymezení svého typu: %2. Content of element %1 does not match defined value constraint. Obsah prvku %1 neodpovídá stanovenému omezení hodnoty. Element %1 contains not allowed child content. Prvek %1 obsahuje nepřípustný podobsah. Element %1 contains not allowed text content. Prvek %1 obsahuje nepřípustný textový obsah. Element %1 can not contain other elements, as it has a fixed content. Prvek %1 nesmí obsahovat žádné podprvky, protože má pevný obsah. Element %1 is missing required attribute %2. U prvkuk %1 chybí vyžadovaná vlastnost %2. Attribute %1 does not match the attribute wildcard. Vlastnost %1 neodpovídá zástupnému symbolu (vzoru hledání) vlastnosti. Declaration for attribute %1 does not exist. Pro vlastnost %1 není dostupné žádné prohlášení. Element %1 contains two attributes of type %2. Prvek %1 obsahuje dvě vlastnosti typu %2. Attribute %1 contains invalid content. Vlastnost %1 obsahuje neplatný obsah. Element %1 contains unknown attribute %2. Prvek %1 obsahuje neznámou vlastnost %2. Content of attribute %1 does not match its type definition: %2. Obsah vlastnosti %1 neodpovídá vymezení svého typu: %2. Content of attribute %1 does not match defined value constraint. Obsah vlastnosti %1 neodpovídá stanovenému omezení hodnoty. Non-unique value found for constraint %1. Pro omezení %1 byla nalezena ne jednoznačně stanovená hodnota. Key constraint %1 contains absent fields. Omezení klíče %1 obsahuje nepřítomná pole. Key constraint %1 contains references nillable element %2. Omezení klíče %1 obsahuje odkazy na prvek %2, který je 'nillable'. No referenced value found for key reference %1. Odkazovanou hodnotu odkazu na klíč %1 se nepodařilo najít. More than one value found for field %1. Pro pole %1 bylo nalezeno více hodnot. Field %1 has no simple type. Pole %1 nemá žádný jednoduchý typ. ID value '%1' is not unique. Hodnota ID %1 není jednoznačná. '%1' attribute contains invalid QName content: %2. Vlastnost %1 obsahuje neplatný způsobilý název: %2. VolumeSlider Muted Ztlumení Volume: %1% Hlasitost: %1% qelectrotech-0.22+svn897/lang/qt_cs.qm0000644000175000017500000074002611343532004017474 0ustar laurentlaurentH5H5XH5oH5H5XH5YLW/VE4f yfGxfUfifĔf=fHg1lx/V#X?o#`{byxyGe&į\į] yl~E\^gZQM03t/MLv$(4k(4l (5l>(5lr*N*y-*y*yl*Ty{*0:u*0}+F+F+L+f+fa+zEf+-+++zE+B+R+b`+y++>+į-+į/+į +E7gv7=:9Q;@;BjHC:;F0i#Fn4Fn4^GSLH/c`Hw9,%Hw9SI'qEIʄIC3I>J+-J6.J6GJ6SJ6XJ6J6:J6VJ6]J6Jcb2aJPSKfLZn>LLGCLbM5Y!Mb"LMDM~dNrNBsO|FPFE1PFEPFE[QtSRtR|#R̼XRu*SRyS8^TlTʴT(U?^hU|QU}v@V1&V15Vl V Vx`VvuW?YWzWT%WT/WTxX~MXVX˙VXyYvYzYzYkZgzZwZ]B[;^\9\]4\]4p\\XO\atgc,ClGrUN#|^cD@+MvQv5fzW^n4L51]y.M6CqIA)jȾaW[VRׇ'Iu,yxy-Rn%9ɵnJɵnɵnɵn)ɵn&ɵnɵnCnɵnGu;x BT5H* ™'\}yn*M E4a=GdFq .Y t>3HBq<p_5ޡ#Q%UT](Ŏl)9Y*4-ctH1-ct.z2.kPu0MN# dcy,T[Qtʯ8Ӭ=6xy#urt.ِ߮ȯ-  ~2 Ydm "l*)?-L/=N|+1$ 5~}< <3Z=r>M%?2?NM@Ebl@Vi~B!$yNky Ui =W~Z]]'V`M}`jtlg xlyzl}Uoivtye^hN1u["Lsf9.4c)6RN6f6S^7F-PRBTw=k6~.S8y` E`EMaЕ{=,8AgNDAۓ[yLQtY[n&U  MEJtmVM)MdE| Ew+/w^^ I'H `+K\ e!e<%[&~(7)|*/e}*&+N6:ϭ9;.ByEc0VFnFQ=IQ5K~tOZf[ s\S~r\c``b+b`Ob-0cփufg&4TjClmnqqWtuu(p{>AB}kavR>( ~z~y a_>%$A$Xhr:+A(}Mʁ%r^^KK֊F*>Sހ.g5 n7R,.'hp}U;yORE-bT>A`eAiCn v87^L0mH'=>u&H,}./e0h4r'5>qb8J8w?SBMIxSCJ>L6R.őR>!UXmXE%YM|mYMJ^dKҠh^3i8rfsscNsew^f|xp/^2T"%NONuۊFTatk;T]]]n~m4\II+I,VISI=IIgIA(gBZIr)Yrgiryrq1qoqqppItWs_ssts!uDuDDoo2OP,y,,Mx,m,,]d>K[1 E,rWHNKzF.>Lq.ɘen˓ɋ5$! 4fRJfRiLG>O*hP]UN_:Noisvc6mSuPqVU:fRaTApb s /^h&"|_g\&%C3&~t&5.)2E)IY+",$j/`353\Z?"?>u?%AqXJY KN?MkKN>O> jRV|u]]dINeNkxmy^0s{yw?Fjey:Ξ3vgG%znQAnLnXǥ]zc+z+`4]tv{y / ;xxAxErz9\wr{sw3nϾy[%Ct {dlC-A~d5w0üNyC^ƨHƨ ˾ҝz)"iէ?2Z>cz]dܳߺ[fq.Vj`YR=~ufm:6^ !  T Zd kUHo$}~bi ~boso MQtZ !p()ў+u+3E,8xa/Q^/&\/61R4~6 z'? 2A2B>NDEFg'G{GGbnMHUOLAUM~0OrlPѧT%QSnT5U,UUTqX ZhZlZlZlZm0[Ok[]k*h]GZ^n_p1&ei1iHkQoN]y;f{4{}ux-}w_}w~y}w},j!$p~mOz~lZ~~XYrc '"S@p~kez~jp~~B9v8ftit.u.`.~3\P>biU*Ch  tu{kK\DYt;tt3 IG-nUy_ w{la<&9NŸȄF CʢNʢʬƠƴdOdd9d5d 59э9B+NS;AHUdB"hw\ 2;^ ?G !W'+/7 2ZU42_5@y5(t67DXX:.:%TL?;CU]PDINPlJ0J!K"&Q~9ZU|lV7FWcPXwXn\-\DrarF e ng*.gnWp&kqxt!wez5|.#}wZ Z}$_}$~3}$ǭ ϗ8Z88'VNDL>NEq]n-nEK<UwۀE."ͮx·G·b·[ý5?׳5:N&:n%T~N Mn/Eun-n.X%*UTeEzVv]u%5nT*& e~i~DM#*i9%֧b/!t$#%'-.6.m5kE@=J=j =? ?RCtIrUPlQsAAV%^V%kXU gZ_^\`dbD{bGf&f\)fdf[gA(hIsi$Bkn$]lsfwBx1 lXz*2k|!|QRdJ4*UkcQ(.o8zZc.?4^c_o~h˥}Xm{Nesn*yV†5iq CWq~ʴ5ʴ5ʶ6NWqD^ Ӟig}ϜԄ۔#0 D'N qd!F50F5.Y Lp+>C-IIgAsI Ov }$ qe ڤn ڥ4 dA EN E T Ac#5 AckC  ni 35\ 6 1 WMNh b6 bb b`a b`( d[ gUu i37 la1 ok u1G xq |o ~ | np , J7  ~ t" tj . " .  t  ) F>   ^~ ;q ݅ A ߢ Bv ҉& 4UH >I L k ~  ] * n cM N,  9> V! - Y+h ̹ Y> K.  @l 쉥 팤N l~U %' MN | t /4~ = qw7  D; g } o\ )  K $ )% )W )o1 */j .>D 5 74r 7u ; <U =z B) Bn_ F6 Gݞ* H IF. J"R K2 Rۮ Ty  T^k Uj4 ] `6 `Bi `F b bT bK c(2# cE+ d e eh ee[ e{i f1~ f*33 g5U-9 gn h) k,% rD"+i t IR  ;'  KX fa? !% J{# $dH %p> ,B ,at > =I; ? ; ` SdTT n pO z $R< p z ˔y P:? PH - ~t 68?O >>  :E. f  f c  4  .x  s sf ~+ AA 9' T 9 0 m,&/ 5Q #-tx 0N@G 5gu 5\M A& CUy= E9" G]c I L: L Mc\WU O R S V W \Ot ]$M ` f) f)c f=+D io> j@ m`37 n|n(d w"m xR1 yrQs {nry ~L >=  / H Hb! > O n_ $d .@|b  * i< <2O Ӓ .D  W % 4 J JfJ   8 t. k Ӈ. ] M1d , N>u ̺z# &Y NK -D{ . ۷. r@ kaa k X U)  <1 I f$  0v     ~_-  w   Is 9N %x N n%I wc A>Q L s  xH&  "x+ $T %6bT .D} 7Ft =ю": > >3 >@ >} > >S >5 >B > ?t| A^Ԅ B~). DT Fn IC J>ɤ P@ RVk RV* Rn S. SG4 S5s T~ Y Y [p \w/ c`g eNʞ hۮr j7o` pD v0 >: B o TK T T T  3 Nc  s<  p /.`  )d+ T R^vE  .L+ . . . .& .DA .Hk   >, F . aT y1L 4 e.Z C= ' N) #' hN > ҂ Ӵ\ ءŠ ߢ.}f  % u% e O |e  * Xt= nM tA( a WE .ƛ :b Uq3 [ O.U6 ʜB $-S >E b&  Vh $c #I   #$o #=9 %n '. (I$~ (N3 +>F +kB 0E- 64f ;ɾ= Cn^ Fgd K9? LcqP Pt” Pt# T> ^UI `K dBT fe^* fel g D g$ iFCn ihO ioP jNM j jӮ(~ kGn= l"R n> s'~d uw u v  @ v& v{t w_ w} w) w}_B w}} w}i yn |[ ˨  }D <@w J ^ؕ % % $CW }w S̳ R %7  xN N U) ɰe)\ F9k  X  b &D D!@ j +h" ' t5 t5 ] 5 ?|Y >? >  ) 2$R4;Fw< @aT=d^ҝ6F<n TgT=pSXqpSp%A& *:*/E<]/E=BIEs4I.XI_9KNOOXRuX?KZo^[ | [ ga.Ta.2qgcnyG sW!cv6v<vɅ'y$BH͌~%%>by =c4}NnDN4^'Y4ey~Sy^'5 4: .yB9S֒ -rݖ! [y^8jSjS . X ekG7lD;n~K"#I$U%%4W%4n**]+-vq0i)u0v41c2wTuRD4G H%`JdKK#L$.W\ c5`Hc5βg3-iTjp yC5{~at6$Y5V&&{l`nMYe[r>՗[)2nC%eN_ ET"~Lr<rkyF֠SbLn;/>B3PF-t2@BGd+UAiZavYt kartu Close Tab CloseButton"Napodoben chyba! Fake error ! FakeReplyNepltn URL Invalid URL FakeReplyDostupnost AccessibilityPhonon::Spojen CommunicationPhonon::HryGamesPhonon:: HudbaMusicPhonon::Oznmen NotificationsPhonon:: VideoVideoPhonon::<html>ZaYzen pro pYehrvn zvuku <b>%1</b> bylo spuatno,<br/>proto~e je prv dostupn a m vta pYednost.</html>xSwitching to the audio playback device %1
which just became available and has higher preference.Phonon::AudioOutput<html>ZaYzen pro pYehrvn zvuku <b>%1</b> nepracuje.<br/>Msto nj <b>%2</b> se pou~v.</html>^The audio playback device %1 does not work.
Falling back to %2.Phonon::AudioOutput<PYepnout zpt na zaYzen '%1'Revert back to device '%1'Phonon::AudioOutputUpozornn: Zd se, ~e zkldn pYdavn moduly pro GStreamer nejsou nainstalovny. Podpora audia a videa byla vypnuta~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::BackendVarovn: Bal ek gstreamer0.10-plugins-good nen nainstalovn. Nkter vlastnosti videa nejsou dostupn.Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendVaechny vy~adovan kodeky nejsou nainstalovny. Kvoli pYehrn tohoto obsahu je potYeba nainstalovat nsledujc kodek(y): %0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObjectPYehrvn nelze spustit. OvYte, prosm, instalaci Gstreamer a ujistte se, ~e je nainstalovn bal ek libgstreamer-plugins-base.wCannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObjectLZdroj s mdii se nepodaYilo rozluatit.Could not decode media source.Phonon::Gstreamer::MediaObjectFZdroj s mdii se nepodaYilo nalzt.Could not locate media source.Phonon::Gstreamer::MediaObject~Zvukov zaYzen se nepodaYilo otevYt, proto~e se ji~ pou~v.:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectHZdroj s mdii se nepodaYilo otevYt.Could not open media source.Phonon::Gstreamer::MediaObject8Neplatn typ zdroje s mdii.Invalid source type.Phonon::Gstreamer::MediaObjectVstup zvuku Audio Output Phonon::MMF2ZaYzen pro vstup zvukuThe audio output device Phonon::MMF.Kmito tov psmo, %1 HzFrequency band, %1 HzPhonon::MMF::AudioEqualizerZdoraznn baso Bass boostPhonon::MMF::EffectFactoryJZeslaben v zvislosti na vzdlenostiDistance AttenuationPhonon::MMF::EffectFactoryVnja ozvnaEnvironmental ReverbPhonon::MMF::EffectFactoryHlasitostLoudnessPhonon::MMF::EffectFactoryZamYen zdrojeSource OrientationPhonon::MMF::EffectFactory RozaYen stereaStereo WideningPhonon::MMF::EffectFactory"zvukov ekvalizraudio equalizerPhonon::MMF::EffectFactoryZtlumenMutedPhonon::VolumeSliderPosuvnk se pou~v k nastaven hlasitosti. Poloha nejvce vlevo odpovd 0%; poloha nejvce vpravo odpovd %1%WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSliderHlasitost: %1% Volume: %1%Phonon::VolumeSlider.%1, %2 nejsou stanoveny%1, %2 not definedQ3AccelNNejednozna n %1 nemohou bt zpracovnyAmbiguous %1 not handledQ3Accel SmazatDelete Q3DataTableNesprvnFalse Q3DataTable Vlo~itInsert Q3DataTablePravdivTrue Q3DataTableObnovitUpdate Q3DataTablez%1 Soubor se nepodaYilo nalzt. OvYte cestu a nzev souboru.+%1 File not found. Check path and filename. Q3FileDialog&Smazat&Delete Q3FileDialog&Ne&No Q3FileDialog&OK&OK Q3FileDialog&OtevYt&Open Q3FileDialog&PYejmenovat&Rename Q3FileDialog&Ulo~it&Save Q3FileDialog&NeroztYdn &Unsorted Q3FileDialog&Ano&Yes Q3FileDialogb<qt>Jste si jist, ~e chcete smazat %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog&Vaechny soubory (*) All Files (*) Q3FileDialog*Vaechny soubory (*.*)All Files (*.*) Q3FileDialogVlastnosti Attributes Q3FileDialogZptBack Q3FileDialog ZruaitCancel Q3FileDialog<Soubor koprovat nebo posunoutCopy or Move a File Q3FileDialog*VytvoYit novou slo~kuCreate New Folder Q3FileDialog DatumDate Q3FileDialogSmazat %1 Delete %1 Q3FileDialogPodrobn pohled Detail View Q3FileDialogAdresYDir Q3FileDialogAdresYe Directories Q3FileDialogAdresY: Directory: Q3FileDialog ChybaError Q3FileDialog SouborFile Q3FileDialogNzev &souboru: File &name: Q3FileDialogTyp &souboru: File &type: Q3FileDialogNajt adresYFind Directory Q3FileDialogNepYstupn Inaccessible Q3FileDialog$Pohled se seznamem List View Q3FileDialogHle&dat v: Look &in: Q3FileDialog NzevName Q3FileDialogNov slo~ka New Folder Q3FileDialogNov slo~ka %1 New Folder %1 Q3FileDialogNov slo~ka 1 New Folder 1 Q3FileDialog,O jeden adresY nahoruOne directory up Q3FileDialogOtevYtOpen Q3FileDialogOtevYtOpen  Q3FileDialog*Nhled obsahu souboruPreview File Contents Q3FileDialog4Nhled informace o souboruPreview File Info Q3FileDialogNahrt &znovuR&eload Q3FileDialogPouze  st Read-only Q3FileDialog st/Zapisovat Read-write Q3FileDialog st: %1Read: %1 Q3FileDialogUlo~it jakoSave As Q3FileDialogVyberte adresYSelect a Directory Q3FileDialog,&Ukzat skryt souboryShow &hidden files Q3FileDialogVelikostSize Q3FileDialogRoztYditSort Q3FileDialog*RoztYdit podle &data Sort by &Date Q3FileDialog,RoztYdit podle &nzvu Sort by &Name Q3FileDialog4RoztYdit podle &velikosti Sort by &Size Q3FileDialog$Zvlatn vlastnostSpecial Q3FileDialog6Symbolick odkaz k adresYiSymlink to Directory Q3FileDialog4Symbolick odkaz k souboruSymlink to File Q3FileDialogJSymbolick odkaz k zvlatnmu souboruSymlink to Special Q3FileDialogTypType Q3FileDialogPouze zpis Write-only Q3FileDialogZapsat: %1 Write: %1 Q3FileDialogAdresY the directory Q3FileDialog Souborthe file Q3FileDialog Symbolick odkaz the symlink Q3FileDialogBNepodaYilo se vytvoYit adresY %1Could not create directory %1 Q3LocalFs2NepodaYilo se otevYt: %1Could not open %1 Q3LocalFs@NepodaYilo se pYe st adresY %1Could not read directory %1 Q3LocalFs\NepodaYilo se odstranit soubor nebo adresY %1%Could not remove file or directory %1 Q3LocalFsFNepodaYilo se pYejmenovat: %1 na %2Could not rename %1 to %2 Q3LocalFs0NepodaYilo se zapsat: %1Could not write %1 Q3LocalFsPYizposobit... Customize... Q3MainWindowUspoYdatLine up Q3MainWindowBOperace byla zastavena u~ivatelemOperation stopped by the userQ3NetworkProtocol ZruaitCancelQ3ProgressDialog Pou~tApply Q3TabDialog ZruaitCancel Q3TabDialogVchozDefaults Q3TabDialogNpovdaHelp Q3TabDialogOKOK Q3TabDialog&Koprovat&Copy Q3TextEdit&Vlo~it&Paste Q3TextEdit &Znovu&Redo Q3TextEdit &Zpt&Undo Q3TextEdit SmazatClear Q3TextEditVyj&moutCu&t Q3TextEditVybrat vae Select All Q3TextEdit ZavYtClose Q3TitleBarZavYe oknoCloses the window Q3TitleBar^Obsahuje pYkazy pro zachzen s velikost okna*Contains commands to manipulate the window Q3TitleBarrZobraz nzev okna a obsahuje pYkazy pro zachzen s nmFDisplays the name of the window and contains controls to manipulate it Q3TitleBar4D okno na celou obrazovkuMakes the window full screen Q3TitleBarZvtaitMaximize Q3TitleBarZmenaitMinimize Q3TitleBarZmena oknoMoves the window out of the way Q3TitleBarjD velikost zvtaenho okna zptky do obvyklho stavu&Puts a maximized window back to normal Q3TitleBarjD velikost zmenaenho okna zptky do obvyklho stavu&Puts a minimized window back to normal Q3TitleBarObnovit Restore down Q3TitleBarObnovit Restore up Q3TitleBar SystmSystem Q3TitleBarVce...More... Q3ToolBar(neznm) (unknown) Q3UrlOperatorProtokol `%1' nepodporuje koprovn  i pYesun souboro nebo adresYoIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorfProtokol `%1' nepodporuje vytvYen novch adresYo;The protocol `%1' does not support creating new directories Q3UrlOperatorVProtokol `%1' nepodporuje nahrvn souboro0The protocol `%1' does not support getting files Q3UrlOperatorlProtokol `%1' nepodporuje sestavovn seznamu adresYo6The protocol `%1' does not support listing directories Q3UrlOperatorTProtokol `%1' nepodporuje ukldn souboro0The protocol `%1' does not support putting files Q3UrlOperatorxProtokol `%1' nepodporuje odstraHovn souboro nebo adresYo@The protocol `%1' does not support removing files or directories Q3UrlOperator|Protokol `%1' nepodporuje pYejmenovvn souboro nebo adresYo@The protocol `%1' does not support renaming files or directories Q3UrlOperator:Protokol `%1' nen podporovn"The protocol `%1' is not supported Q3UrlOperator&Zruait&CancelQ3WizardDo&kon it&FinishQ3Wizard&Npovda&HelpQ3Wizard&Dala >&Next >Q3Wizard< &Zpt< &BackQ3Wizard,Spojen bylo odmtnutoConnection refusedQAbstractSocketL asov limit pro spojen byl pYekro enConnection timed outQAbstractSocket6NepodaYilo se najt po ta Host not foundQAbstractSocket(Se nen dosa~itelnNetwork unreachableQAbstractSocket`Tato zsuvkov (socket) operace nen podporovna$Operation on socket is not supportedQAbstractSocket:Zsuvka (socket) nen spojenaSocket is not connectedQAbstractSockett asov limit pro zsuvkovou (socket) operaci byl pYekro enSocket operation timed outQAbstractSocket&Vybrat vae &Select AllQAbstractSpinBox&Krok nahoru&Step upQAbstractSpinBoxKrok &dolo Step &downQAbstractSpinBoxStisknoutPressQAccessibleButtonSpustitActivate QApplication6Spust hlavn okno programu#Activates the program's main window QApplicationjPou~it '%1' vy~aduje Qt %2; bylo ale nalezeno Qt %3.,Executable '%1' requires Qt %2, found Qt %3. QApplication$Qt nen slu itelnIncompatible Qt Library Error QApplicationLTRTranslate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.QT_LAYOUT_DIRECTION QApplication&Zruait&Cancel QAxSelectCOM-&Objekt: COM &Object: QAxSelectOKOK QAxSelect(Vybrat prvek ActiveXSelect ActiveX Control QAxSelectOzna it kY~kemCheck QCheckBoxPYepnoutToggle QCheckBox.Zruait ozna en kY~kemUncheck QCheckBoxL&PYidat k u~ivatelem stanovenm barvm&Add to Custom Colors QColorDialogZkladn &barvy &Basic colors QColorDialog6&U~ivatelem stanoven barvy&Custom colors QColorDialog&Zelen:&Green: QColorDialog& erven:&Red: QColorDialog&Sytost:&Sat: QColorDialog&Jasnost:&Val: QColorDialogA&lfa kanl:A&lpha channel: QColorDialog&Modr:Bl&ue: QColorDialog Barevn &odstn:Hu&e: QColorDialogVybrat barvu Select Color QColorDialog ZavYtClose QComboBoxNesprvnFalse QComboBoxOtevYtOpen QComboBoxPravdivTrue QComboBox %1: Ji~ existuje%1: already existsQCoreApplication%1: Neexistuje%1: does not existQCoreApplication<%1: Vyvoln ftok se nezdaYiloQSystemSemaphore%1: ftok failedQCoreApplicationF%1: Neplatn daj u kl e (przdn)QSystemSemaphore%1: key is emptyQCoreApplication@%1: Nejsou ji~ pou~iteln zdroje%1: out of resourcesQCoreApplication>%1: NepodaYilo se vytvoYit kl QSystemSemaphore%1: unable to make keyQCoreApplication(%1: Neznm chyba %2%1: unknown error %2QCoreApplicationTransakci se nepodaYilo provst (operace 'commit', odesln, se nezdaYila)Unable to commit transaction QDB2Driver:NepodaYilo se navzat spojenUnable to connect QDB2DriverTransakci se nepodaYilo zvrtit (operace 'rollback', zvrcen, se nezdaYila)Unable to rollback transaction QDB2DriverF'autocommit' se nepodaYilo nastavitUnable to set autocommit QDB2Driver>Promnnou se nepodaYilo provstUnable to bind variable QDB2Result8PYkaz se nepodaYilo provstUnable to execute statement QDB2ResultVPrvn datov zznam se nepodaYilo nathnoutUnable to fetch first QDB2ResultVDala datov zznam se nepodaYilo nathnoutUnable to fetch next QDB2ResultPDatov zznam %1 se nepodaYilo nathnoutUnable to fetch record %1 QDB2Result<PYkaz se nepodaYilo pYipravitUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEdit QDialQDialQDialPosuvnk SliderHandleQDialRychlomr SpeedoMeterQDial HotovoDoneQDialogCo je toto? What's This?QDialog&Zruait&CancelQDialogButtonBox&ZavYt&CloseQDialogButtonBox&Ne&NoQDialogButtonBox&OK&OKQDialogButtonBox&Ulo~it&SaveQDialogButtonBox&Ano&YesQDialogButtonBox ZruaitAbortQDialogButtonBox Pou~tApplyQDialogButtonBox ZruaitCancelQDialogButtonBox ZavYtCloseQDialogButtonBox$ZavYt bez ulo~enClose without SavingQDialogButtonBoxOdmtnoutDiscardQDialogButtonBoxNeukldat Don't SaveQDialogButtonBoxNpovdaHelpQDialogButtonBoxPYehl~etIgnoreQDialogButtonBoxN&e, ~dn N&o to AllQDialogButtonBoxOKOKQDialogButtonBoxOtevYtOpenQDialogButtonBox VrtitResetQDialogButtonBoxObnovit vchozRestore DefaultsQDialogButtonBoxOpakovatRetryQDialogButtonBox Ulo~itSaveQDialogButtonBoxUlo~it vaeSave AllQDialogButtonBoxAno, &vae Yes to &AllQDialogButtonBoxDatum zmny Date Modified QDirModelDruhMatch OS X FinderKind QDirModel NzevName QDirModelVelikostSize QDirModelTypAll other platformsType QDirModel ZavYtClose QDockWidget Vplout do paneluDock QDockWidget PloutFloat QDockWidgetMnLessQDoubleSpinBoxVceMoreQDoubleSpinBox&OK&OK QErrorMessageBToto hlaen &ukzat jeat jednou&Show this message again QErrorMessage&Hlaen o odladn:Debug Message: QErrorMessageOsudov chyba: Fatal Error: QErrorMessageVarovn:Warning: QErrorMessageD%1 se nepodaYilo zYdit pro vstupCannot create %1 for outputQFileD%1 se nepodaYilo otevYt pro  tenCannot open %1 for inputQFile>NepodaYilo se otevYt pro zpisCannot open for outputQFile>Nelze odstranit zdrojov souborCannot remove source fileQFile4Clov soubor ji~ existujeDestination file existsQFile@Datov blok se nepodaYilo zapsatFailure to write blockQFile`NepYejmenuje posloupn soubor pomoc kopie bloku0Will not rename sequential file using block copyQFile%1 AdresY se nepodaYilo nalzt. OvYte, prosm, ~e byl zadn sprvn nzev adresYe.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Soubor se nepodaYilo nalzt. OvYte, prosm, ~e byl zadn sprvn nzev souboru.A%1 File not found. Please verify the correct file name was given. QFileDialogXSoubor %1 ji~ existuje. Chcete jej nahradit?-%1 already exists. Do you want to replace it? QFileDialog&Vybrat&Choose QFileDialog&Smazat&Delete QFileDialog&Nov slo~ka &New Folder QFileDialog&OtevYt&Open QFileDialog&PYejmenovat&Rename QFileDialog&Ulo~it&Save QFileDialogt'%1' je chrnn proti zpisu. PYesto chcete soubor smazat?9'%1' is write protected. Do you want to delete it anyway? QFileDialogPYezdvkaAlias QFileDialog&Vaechny soubory (*) All Files (*) QFileDialog*Vaechny soubory (*.*)All Files (*.*) QFileDialogFJste si jist, ~e %1 chcete smazat?!Are sure you want to delete '%1'? QFileDialogZptBack QFileDialog:AdresY se nepodaYilo smazat.Could not delete directory. QFileDialog*VytvoYit novou slo~kuCreate New Folder QFileDialogPodrobn pohled Detail View QFileDialogAdresYe Directories QFileDialogAdresY: Directory: QFileDialog Diskov jednotkaDrive QFileDialog SouborFile QFileDialogNzev &souboru: File &name: QFileDialog Souborov slo~ka File Folder QFileDialogSoubory typu:Files of type: QFileDialogNajt adresYFind Directory QFileDialog Slo~kaFolder QFileDialogDopYeduForward QFileDialog$Pohled se seznamem List View QFileDialogHledat v:Look in: QFileDialogMoj po ta  My Computer QFileDialogNov slo~ka New Folder QFileDialogOtevYtOpen QFileDialog"NadYazen adresYParent Directory QFileDialog(Naposledy navatven Recent Places QFileDialogOdstranitRemove QFileDialogUlo~it jakoSave As QFileDialogZkratkaShortcut QFileDialogUkzat Show  QFileDialog,&Ukzat skryt souboryShow &hidden files QFileDialogNeznmUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel%1 byto%1 bytesQFileSystemModel<b>Nzev "%1" nelze pou~t.</b><p>Zkuste pou~t jin nzev, s menam po tem znako nebo bez zvlatnch znako.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelPo ta ComputerQFileSystemModelDatum zmny Date ModifiedQFileSystemModel,Neplatn nzev souboruInvalid filenameQFileSystemModelDruhMatch OS X FinderKindQFileSystemModelMoj po ta  My ComputerQFileSystemModel NzevNameQFileSystemModelVelikostSizeQFileSystemModelTypAll other platformsTypeQFileSystemModelVaechnaAny QFontDatabaseArabskArabic QFontDatabaseArmnskArmenian QFontDatabaseBenglskBengali QFontDatabase  ernBlack QFontDatabase Tu nBold QFontDatabaseCyrilskCyrillic QFontDatabasePolotu nDemi QFontDatabasePolotu n Demi Bold QFontDatabaseDevanagari Devanagari QFontDatabaseGruznskGeorgian QFontDatabase XeckGreek QFontDatabaseGujaratiGujarati QFontDatabaseGurmukhiGurmukhi QFontDatabaseHebrejskHebrew QFontDatabase ItalaItalic QFontDatabaseJaponskJapanese QFontDatabaseKannadaKannada QFontDatabaseKhmerskKhmer QFontDatabaseKorejskKorean QFontDatabase LaoskLao QFontDatabaseLatinskLatin QFontDatabase LehkLight QFontDatabaseMalayalam Malayalam QFontDatabaseMyanmarMyanmar QFontDatabaseObvyklNormal QFontDatabaseNaklonnOblique QFontDatabaseOgamskOgham QFontDatabase OriyaOriya QFontDatabase RunovRunic QFontDatabase*Zjednoduaen  natinaSimplified Chinese QFontDatabaseSinhlskSinhala QFontDatabase SymbolSymbol QFontDatabase SyrskSyriac QFontDatabaseTamilskTamil QFontDatabase TeluguTelugu QFontDatabase ThaanaThaana QFontDatabaseThajskThai QFontDatabaseTibetskTibetan QFontDatabase"Tradi n  natinaTraditional Chinese QFontDatabaseVtnamsk Vietnamese QFontDatabase &Psmo&Font QFontDialog&Velikost&Size QFontDialog&Podtrhnout &Underline QFontDialog EfektyEffects QFontDialogDruh ps&ma Font st&yle QFontDialog VzorekSample QFontDialogVybrat psmo Select Font QFontDialogPYe&akrtnout Stri&keout QFontDialogZposob &psanWr&iting System QFontDialog>Zmna adresYe se nezdaYila: %1Changing directory failed: %1QFtp8Spojen s po ta em navznoConnected to hostQFtp,Spojeno s po ta em %1Connected to host %1QFtpHSpojen s po ta em se nezdaYilo: %1Connecting to host failed: %1QFtp Spojen ukon enoConnection closedQFtpDOdmtnuto spojen spojen pro data&Connection refused for data connectionQFtp@Spojen s po ta em %1 odmtnutoConnection refused to host %1QFtpn asov limit pro spojen s po ta em '%1' byl pYekro enConnection timed out to host %1QFtp*Spojen s %1 ukon enoConnection to %1 closedQFtpFVytvoYen adresYo se nezdaYilo: %1Creating directory failed: %1QFtp@Sta~en souboru se nezdaYilo: %1Downloading file failed: %1QFtp,Po ta %1 byl nalezen Host %1 foundQFtp>Po ta %1 se nepodaYilo nalztHost %1 not foundQFtp&Po ta byl nalezen Host foundQFtp>Obsah adresYo nelze ukzat: %1Listing directory failed: %1QFtp6PYihlaen se nezdaYilo: %1Login failed: %1QFtp}dn spojen Not connectedQFtpHOdstrann adresYe se nezdaYilo: %1Removing directory failed: %1QFtpFOdstrann souboru se nezdaYilo: %1Removing file failed: %1QFtpNeznm chyba Unknown errorQFtp@Nahrn souboru se nezdaYilo: %1Uploading file failed: %1QFtpNeznm chyba Unknown error QHostInfo6NepodaYilo se najt po ta Host not foundQHostInfoAgentLNeplatn nzev pro hostitelsk po ta Invalid hostnameQHostInfoAgentRNebyl zadn nzev pro hostitelsk po ta No host name givenQHostInfoAgent$Neznm typ adresyUnknown address typeQHostInfoAgentNeznm chyba Unknown errorQHostInfoAgent,Po~adovna autentizaceAuthentication requiredQHttp8Spojen s po ta em navznoConnected to hostQHttp,Spojeno s po ta em %1Connected to host %1QHttp Spojen ukon enoConnection closedQHttp,Spojen bylo odmtnutoConnection refusedQHttppSpojen bylo odmtnuto (nebo byl pYekro en  asov limit)!Connection refused (or timed out)QHttp*Spojen s %1 ukon enoConnection to %1 closedQHttp&Data jsou poakozenaData corruptedQHttppPYi psan odpovdi vstupnmu zaYzen se vyskytla chyba Error writing response to deviceQHttp,HTTP dotaz se nezdaYilHTTP request failedQHttpPo~adovan HTTPS spojen nelze vytvoYit, proto~e neexistuje ~dn SSL podpora:HTTPS connection requested but SSL support not compiled inQHttp,Po ta %1 byl nalezen Host %1 foundQHttp>Po ta %1 se nepodaYilo nalztHost %1 not foundQHttp&Po ta byl nalezen Host foundQHttpPHostitelsk po ta po~aduje autentizaciHost requires authenticationQHttptObsah (chunked body - rozkouskovan tlo) HTTP je neplatnInvalid HTTP chunked bodyQHttpDHlavi ka HTTP odpovdi nen platnInvalid HTTP response headerQHttpbPro spojen nebyl nastaven ~dn po ta - serverNo server set to connect toQHttp8Po~adovna proxy autentizaceProxy authentication requiredQHttpBProxy server po~aduje autentizaciProxy requires authenticationQHttp(Po~adavek byl zruaenRequest abortedQHttpXBhem startu SSL protokolu se vyskytla chybaSSL handshake failedQHttpDServer neo ekvan uzavYel spojen%Server closed connection unexpectedlyQHttp4Neznm zposob autentizaceUnknown authentication methodQHttpNeznm chyba Unknown errorQHttp4Byl zadn neznm protokolUnknown protocol specifiedQHttp8Neplatn daj o dlce obsahuWrong content lengthQHttp,Po~adovna autentizaceAuthentication requiredQHttpSocketEngineF}dn HTTP odpov od proxy serveru(Did not receive HTTP response from proxyQHttpSocketEngineDChyba pYi spojen s proxy serverem#Error communicating with HTTP proxyQHttpSocketEnginexChyba pYi vyhodnocen autentiza nho po~adavku proxy serveru/Error parsing authentication request from proxyQHttpSocketEngineLProxy server pYed asn ukon il spojen#Proxy connection closed prematurelyQHttpSocketEngineHProxy server odmtl navzn spojenProxy connection refusedQHttpSocketEngine6Proxy server odmtl spojenProxy denied connectionQHttpSocketEnginenPYi spojen s proxy serverem byl pYekro en  asov limit!Proxy server connection timed outQHttpSocketEngineLNepodaYilo se najt ~dn proxy serverProxy server not foundQHttpSocketEngineLNepodaYilo se spustit ~dnou transakciCould not start transaction QIBaseDriverPNepodaYilo se otevYt spojen s databzError opening database QIBaseDriverTransakci se nepodaYilo provst (operace 'commit', odesln, se nezdaYila)Unable to commit transaction QIBaseDriverTransakci se nepodaYilo zvrtit (operace 'rollback', zvrcen, se nezdaYila)Unable to rollback transaction QIBaseDriver<PYidlen pYkazu se nezdaYiloCould not allocate statement QIBaseResultdNepodaYilo se zskat ~dn popis vstupnho pYkazu"Could not describe input statement QIBaseResultPNepodaYilo se zskat ~dn popis pYkazuCould not describe statement QIBaseResultHDala prvek se nepodaYilo vyzvednoutCould not fetch next item QIBaseResult0NepodaYilo se najt poleCould not find array QIBaseResult>NepodaYilo se pYe st data poleCould not get array data QIBaseResultjPo~adovan informace k vyhledvn nejsou k dispoziciCould not get query info QIBaseResultTK dispozici nen ~dn informace k pYkazuCould not get statement info QIBaseResult<PYkaz se nepodaYilo pYipravitCould not prepare statement QIBaseResultLNepodaYilo se spustit ~dnou transakciCould not start transaction QIBaseResult6PYkaz se nepodaYilo zavYtUnable to close statement QIBaseResultTransakci se nepodaYilo provst (operace 'commit', odesln, se nezdaYila)Unable to commit transaction QIBaseResultBNepodaYilo se vytvoYit ~dn BLOBUnable to create BLOB QIBaseResult6Dotaz se nepodaYilo provstUnable to execute query QIBaseResult4NepodaYilo se otevYt BLOBUnable to open BLOB QIBaseResult4BLOB se nepodaYilo pYe stUnable to read BLOB QIBaseResult2NepodaYilo se zapsat BLOBUnable to write BLOB QIBaseResultVNa zaYzen nen ~dn voln lo~n prostorNo space left on device QIODevicehNepodaYilo se najt ~dn takov soubor nebo adresYNo such file or directory QIODevicePYstup odepYenPermission denied QIODevice>PYlia mnoho otevYench souboroToo many open files QIODeviceNeznm chyba Unknown error QIODeviceFEPFEP QInputContext.Mac OS X-vstupn metodaMac OS X input method QInputContext,S60 FEP-vstupn metodaS60 FEP input method QInputContext,Windows-vstupn metodaWindows input method QInputContextXIMXIM QInputContext$XIM-vstupn metodaXIM input method QInputContext Zadejte hodnotu:Enter a value: QInputDialog8Knihovnu %1 nelze nahrt: %2Cannot load library %1: %2QLibraryDSymbol "%1" nelze v %2 vyYeait: %3$Cannot resolve symbol "%1" in %2: %3QLibrary:Knihovnu %1 nelze vyjmout: %2Cannot unload library %1: %2QLibraryHOperace mmap se nezdaYila u '%1': %2Could not mmap '%1': %2QLibrarypOperace unmap, zruait zobrazen, se nezdaYila u '%1': %2Could not unmap '%1': %2QLibraryVOvYovac data pYdavnho nesouhlas v '%1')Plugin verification data mismatch in '%1'QLibrary\Soubor '%1' nen platnm pYdavnm modulem Qt.'The file '%1' is not a valid Qt plugin.QLibraryPYdavn modul '%1' pou~v neslu itelnou Qt knihovnu. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryPYdavn modul '%1' pou~v neslu itelnou Qt knihovnu. (Knihovny vytvoYen v re~imu ladn a vydn nemohou bt pou~vny spole n.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryPYdavn modul '%1' pou~v neslu itelnou Qt knihovnu. PotYebn byl zvlatn kl pro sestaven "%2", obdr~en "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryNNepodaYilo se nalzt sdlenou knihovnu.!The shared library was not found.QLibraryNeznm chyba Unknown errorQLibrary&Koprovat&Copy QLineEdit&Vlo~it&Paste QLineEdit &Znovu&Redo QLineEdit &Zpt&Undo QLineEdit&VyjmoutCu&t QLineEdit SmazatDelete QLineEditVybrat vae Select All QLineEdit2%1: Adresa se ji~ pou~v%1: Address in use QLocalServer %1: Chybn nzev%1: Name error QLocalServer&%1: PYstup odepYen%1: Permission denied QLocalServer(%1: Neznm chyba %2%1: Unknown error %2 QLocalServer"%1: Chyba spojen%1: Connection error QLocalSocket4%1: Spojen bylo odmtnuto%1: Connection refused QLocalSocket:%1: Datagram je pYlia velik%1: Datagram too large QLocalSocket$%1: Neplatn nzev%1: Invalid name QLocalSocketT%1: Spojen bylo protja stranou uzavYeno%1: Remote closed QLocalSocketT%1: Chyba pYi pYstupu k zsuvce (socketu)%1: Socket access error QLocalSocketl%1: PYekro en  asu pYi operaci se zsuvkou (socketem)%1: Socket operation timed out QLocalSocket^%1: Chyba zsuvky (socketu) - pot~e se zdrojem%1: Socket resource error QLocalSocketp%1: Tato operace se zsuvkou (socketem) nen podporovna)%1: The socket operation is not supported QLocalSocket"%1: Neznm chyba%1: Unknown error QLocalSocket(%1: Neznm chyba %2%1: Unknown error %2 QLocalSocket>Transakci se nepodaYilo spustitUnable to begin transaction QMYSQLDriverTransakci se nepodaYilo provst (operace 'commit', odesln, se nezdaYila)Unable to commit transaction QMYSQLDriver:NepodaYilo se navzat spojenUnable to connect QMYSQLDriverTNepodaYilo se otevYt spojen s databz 'Unable to open database ' QMYSQLDriverTransakci se nepodaYilo zvrtit (operace 'rollback', zvrcen, se nezdaYila)Unable to rollback transaction QMYSQLDriverJVstupn hodnoty se nepodaYilo spojitUnable to bind outvalues QMYSQLResult8Hodnotu se nepodaYilo spojitUnable to bind value QMYSQLResult2Dala dotaz nelze provstUnable to execute next query QMYSQLResult6Dotaz se nepodaYilo provstUnable to execute query QMYSQLResult8PYkaz se nepodaYilo provstUnable to execute statement QMYSQLResultDNepodaYilo se nathnout ~dn dataUnable to fetch data QMYSQLResult<PYkaz se nepodaYilo pYipravitUnable to prepare statement QMYSQLResultFPYkaz se nepodaYilo znovu nastavitUnable to reset statement QMYSQLResult6Dala vsledek nelze ulo~itUnable to store next result QMYSQLResult:Vsledek se nepodaYilo ulo~itUnable to store result QMYSQLResultJVsledky pYkazu se nepodaYilo ulo~it!Unable to store statement results QMYSQLResult(Bez nzvu) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&ZavYt&Close QMdiSubWindowPo&sunout&Move QMdiSubWindow&Obnovit&Restore QMdiSubWindow Zmnit &velikost&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindow ZavYtClose QMdiSubWindowNpovdaHelp QMdiSubWindowZv&tait Ma&ximize QMdiSubWindowZvtaitMaximize QMdiSubWindowMenuMenu QMdiSubWindowZmen&ait Mi&nimize QMdiSubWindowZmenaitMinimize QMdiSubWindowObnovitRestore QMdiSubWindowObnovit Restore Down QMdiSubWindowNavinoutShade QMdiSubWindow"Zostat v &popYed Stay on &Top QMdiSubWindowOdvinoutUnshade QMdiSubWindow ZavYtCloseQMenuProvstExecuteQMenuOtevYtOpenQMenu innostiActionsQMenuBarl<h3>O Qt</h3><p>Tento program pou~v Qt-verze %1.</p>8

About Qt

This program uses Qt version %1.

 QMessageBox N<p>Qt je sadou softwarovch nstrojo C++ ur ench pro vvoj aplikac napY platformami.</p><p>Qt poskytuje jednoduchou pYenositelnost pYes MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, a vaechny hlavn obchodn varianty systmu Unix. Qt je rovn~ dostupn pro vlo~en zaYzen jako Qt pro Embedded Linux a Qt pro Windows CE.</p><p>Qt je dostupn pod tYemi rozdlnmi licen nmi volbami navr~enmi pro pYizposoben se potYebm naaich roznch u~ivatelo.</p>Qt licencovan pod naa obchodn licen n smlouvou je vhodn pro vvoj soukromho/obchodnho software, kde si nepYejete sdlet jakkoli zdrojov kd se tYetmi stranami, nebo jinak Ye eno, kdy~ nemo~ete vyhovt podmnkm GNU LGPL ve verzi 2.1 nebo GNU GPL ve verzi 3.0.</p><p>Qt licencovan pod GNU LGPL ve verzi 2.1 je vhodn pro vvoj Qt aplikac (soukromch nebo s otevYenm zdrojovm kdem), za pYedpokladu ~e mo~ete souhlasit s po~adavky a podmnkami GNU LGPL version 2.1.</p><p>Qt licencovan pod GNU General Public License ve verzi 3.0 je vhodn pro vvoj aplikac Qt, u nich~ si pYejete pou~t takovou aplikaci ve spojen se software, kter podlh po~adavkom GNU GPL ve verzi 3.0, nebo kde jste jinak ochoten souhlasit s podmnkami GNU GPL ve verzi 3.0.</p><p>Podvejte se, prosm, na <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> kvoli pYehledu licencovn Qt.</p><p>Copyright (C) 2009 Nokia Corporation a/nebo jej dceYinn() spole nost(i).</p><p>Qt je vrobkem spole nosti Nokia. Podvejte se na <a href="http://qt.nokia.com/">qt.nokia.com</a>kvoli vce informacm.</p>

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across MS Windows, Mac OS X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.

Qt is available under three different licensing options designed to accommodate the needs of our various users.

Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.

Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.

Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.

Please see qt.nokia.com/products/licensing for an overview of Qt licensing.

Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).

Qt is a Nokia product. See qt.nokia.com for more information.

 QMessageBoxO QtAbout Qt QMessageBoxNpovdaHelp QMessageBox(Skrt podrobnosti...Hide Details... QMessageBoxOKOK QMessageBox*Ukzat podrobnosti...Show Details... QMessageBox(Zvolit zposob vstupu Select IMQMultiInputContext@PYepna pro vce zposobo vstupuMultiple input method switcherQMultiInputContextPluginPYepna pro vce zposobo vstupu, kter pou~v souvisejc nabdku textovho prvkuMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPlugindNa tomto portu ji~ naslouch jin zsuvka (socket)4Another socket is already listening on the same portQNativeSocketEngineVyzkouaelo se pou~t IPv6 zsuvku (socket) na systmu bez podpory IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine,Spojen bylo odmtnutoConnection refusedQNativeSocketEngineL asov limit pro spojen byl pYekro enConnection timed outQNativeSocketEngineNDatagram byl pro odesln pYlia velikDatagram was too large to sendQNativeSocketEngine>Clov po ta je nedosa~itelnHost unreachableQNativeSocketEngineJNeplatn deskriptor zsuvky (socketu)Invalid socket descriptorQNativeSocketEngineSeov chyba Network errorQNativeSocketEngine\ asov limit pro seovou operaci byl pYekro enNetwork operation timed outQNativeSocketEngine(Se je nedosa~itelnNetwork unreachableQNativeSocketEnginefOperaci lze pou~t pouze na jedn zsuvce (socketu)Operation on non-socketQNativeSocketEngine8Nejsou dostupn ~dn zdrojeOut of resourcesQNativeSocketEnginePYstup odepYenPermission deniedQNativeSocketEngineHProtokol tohoto typu nen podporovnProtocol type not supportedQNativeSocketEngine(Adresa nen dostupnThe address is not availableQNativeSocketEngine$Adresa je chrnnaThe address is protectedQNativeSocketEngine8Uveden adresa se u~ pou~v#The bound address is already in useQNativeSocketEngine\Tuto operaci nelze s tmto typem proxy provst,The proxy type is invalid for this operationQNativeSocketEngine@Vzdlen po ta uzavYel spojen%The remote host closed the connectionQNativeSocketEnginefZsuvku pro vysln (socket) se nepodaYilo spustit%Unable to initialize broadcast socketQNativeSocketEnginedNeblokujc zsuvku (socket) se nepodaYilo spustit(Unable to initialize non-blocking socketQNativeSocketEngine:Zprvu se nepodaYilo pYijmoutUnable to receive a messageQNativeSocketEngine:NepodaYilo se odeslat hlaenUnable to send a messageQNativeSocketEngine(NepodaYilo se zapsatUnable to writeQNativeSocketEngineNeznm chyba Unknown errorQNativeSocketEnginedNepodporovan zsuvkov operace (povel pro socket)Unsupported socket operationQNativeSocketEngine0%1 se nepodaYilo otevYtError opening %1QNetworkAccessCacheBackendTPYi zpisu do souboru %1: %2 nastala chybaWrite error writing to %1: %2QNetworkAccessDebugPipeBackendH%1 nelze otevYt: Jedn se o adresY#Cannot open %1: Path is a directoryQNetworkAccessFileBackend8%1 se nepodaYilo otevYt: %2Error opening %1: %2QNetworkAccessFileBackendRPYi  ten ze souboru %1 nastala chyba: %2Read error reading from %1: %2QNetworkAccessFileBackendRPo~adavek na otevYen souboru pYes se %1%Request for opening non-local file %1QNetworkAccessFileBackendTPYi zpisu do souboru %1: %2 nastala chybaWrite error writing to %1: %2QNetworkAccessFileBackendH%1 nelze otevYt: Jedn se o adresYCannot open %1: is a directoryQNetworkAccessFtpBackendLPYi stahovn %1 se vyskytla chyba: %2Error while downloading %1: %2QNetworkAccessFtpBackendLPYi nahrvn %1 se vyskytla chyba: %2Error while uploading %1: %2QNetworkAccessFtpBackendpPYihlaen do %1 se nezdaYilo: Je po~adovna autentizace0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackendZNepodaYilo se najt ~dn vhodn proxy serverNo suitable proxy foundQNetworkAccessFtpBackendZNepodaYilo se najt ~dn vhodn proxy serverNo suitable proxy foundQNetworkAccessHttpBackendBeim Herunterladen von %1 trat ein Fehler auf - Die Antwort des Servers ist: %2)Error downloading %1 - server replied: %2 QNetworkReply.Protokol "%1" nen znmProtocol "%1" is unknown QNetworkReply(Operace byla zruaenaOperation canceledQNetworkReplyImpl>Transakci se nepodaYilo spustitUnable to begin transaction QOCIDriverTransakci se nepodaYilo provst (operace 'commit', odesln, se nezdaYila)Unable to commit transaction QOCIDriver*Spuatn se nezdaYilo QOCIDriverUnable to initialize QOCIDriver.PYihlaen se nezdaYiloUnable to logon QOCIDriverTransakci se nepodaYilo zvrtit (operace 'rollback', zvrcen, se nezdaYila)Unable to rollback transaction QOCIDriver>PYidlen pYkazu se nepodaYiloUnable to alloc statement QOCIResultNepodaYilo se spojit sloupec pro proveden pYkazu dvkovho zpracovn'Unable to bind column for batch execute QOCIResult8Hodnotu se nepodaYilo spojitUnable to bind value QOCIResultfPYkaz pro dvkov zpracovn se nepodaYilo provst!Unable to execute batch statement QOCIResult8PYkaz se nepodaYilo provstUnable to execute statement QOCIResult@NepodaYilo se zskat typ pYkazuUnable to get statement type QOCIResult2Nelze jt k dalamu prvkuUnable to goto next QOCIResult<PYkaz se nepodaYilo pYipravitUnable to prepare statement QOCIResultTransakci se nepodaYilo provst (operace 'commit', odesln, se nezdaYila)Unable to commit transaction QODBCDriver:NepodaYilo se navzat spojenUnable to connect QODBCDriverNepodaYilo se navzat spojen, proto~e ovlada nutnou funkcionalitu pln nepodporujeEUnable to connect - Driver doesn't support all functionality required QODBCDrivert'autocommit', automatick odesln, se nepodaYilo zastavitUnable to disable autocommit QODBCDriverD'autocommit' se nepodaYilo povolitUnable to enable autocommit QODBCDriverTransakci se nepodaYilo zvrtit (operace 'rollback', zvrcen, se nezdaYila)Unable to rollback transaction QODBCDriver QODBCResult::reset: 'SQL_CURSOR_STATIC' se nepodaYilo nastavit jako pYkaz vlastnosti . OvYte, prosm, nastaven svho ODBC ovlada eyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult>Promnnou se nepodaYilo provstUnable to bind variable QODBCResult8PYkaz se nepodaYilo provstUnable to execute statement QODBCResultDNepodaYilo se nathnout ~dn dataUnable to fetch QODBCResultVPrvn datov zznam se nepodaYilo nathnoutUnable to fetch first QODBCResult\Posledn datov zznam se nepodaYilo nathnoutUnable to fetch last QODBCResultVDala datov zznam se nepodaYilo nathnoutUnable to fetch next QODBCResult^PYedchoz datov zznam se nepodaYilo nathnoutUnable to fetch previous QODBCResult8PYkaz se nepodaYilo spustitUnable to prepare statement QODBCResult Nepltn URI: %1Invalid URI: %1QObjectLNeplatn nzev pro hostitelsk po ta Invalid hostnameQObjectRNebyl zadn nzev pro hostitelsk po ta No host name givenQObject@Tato operace nen %1 podporovnaOperation not supported on %1QObject^Vzdlen po ta pYed asn ukon il spojen s %13Remote host closed the connection prematurely on %1QObject@Chyba zsuvky (socketu) u %1: %2Socket error on %1: %2QObject NzevNameQPPDOptionsModelHodnotaValueQPPDOptionsModel>Transakci se nepodaYilo spustitCould not begin transaction QPSQLDriverTransakci se nepodaYilo provst (operace 'commit', odesln, se nezdaYila)Could not commit transaction QPSQLDriverTransakci se nepodaYilo zvrtit (operace 'rollback', zvrcen, se nezdaYila)Could not rollback transaction QPSQLDriver:NepodaYilo se navzat spojenUnable to connect QPSQLDriver.Registrace se nezdaYilaUnable to subscribe QPSQLDriver>Registraci se nepodaYilo zruaitUnable to unsubscribe QPSQLDriverDNepodaYilo se vytvoYit ~dn dotazUnable to create query QPSQLResult<PYkaz se nepodaYilo pYipravitUnable to prepare statement QPSQLResultCentimetry (cm)Centimeters (cm)QPageSetupWidgetFormulYFormQPageSetupWidget Vaka:Height:QPageSetupWidgetPalce (in) Inches (in)QPageSetupWidgetFormt na aYku LandscapeQPageSetupWidget OkrajeMarginsQPageSetupWidgetMilimetry (mm)Millimeters (mm)QPageSetupWidgetZamYen OrientationQPageSetupWidgetVelikost stran: Page size:QPageSetupWidget PaprPaperQPageSetupWidgetZdroj papru: Paper source:QPageSetupWidgetBody (pt) Points (pt)QPageSetupWidgetFormt na vakuPortraitQPageSetupWidget0Obrcen formt na aYkuReverse landscapeQPageSetupWidget0Obrcen formt na vakuReverse portraitQPageSetupWidget `Yka:Width:QPageSetupWidgetDoln okraj bottom marginQPageSetupWidgetLev okraj left marginQPageSetupWidgetPrav okraj right marginQPageSetupWidgetHorn okraj top marginQPageSetupWidget8PYdavn modul nebyl nahrn.The plugin was not loaded. QPluginLoaderNeznm chyba Unknown error QPluginLoaderLSoubor %1 ji~ existuje. M se pYepsat?/%1 already exists. Do you want to overwrite it? QPrintDialogj%1 je adresY. Zvolte, prosm, pro soubor jin nzev.7%1 is a directory. Please choose a different file name. QPrintDialog&Nastaven <<  &Options << QPrintDialog&Nastaven >> &Options >> QPrintDialog &Tisk&Print QPrintDialog8<qt>Chcete jej pYepsat?</qt>%Do you want to overwrite it? QPrintDialogA0A0 QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialogA1A1 QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialogA2A2 QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialogA3A3 QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogA4A4 QPrintDialogHA4 (210 x 297 mm, 8.26 x 11.7 palco)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialogA5A5 QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialogA6A6 QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialogA7A7 QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8A8 QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9A9 QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialogPYezdvka: %1 Aliases: %1 QPrintDialogB0B0 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialogB1B1 QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialogB10B10 QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialogB2B2 QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialogB3B3 QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialogB4B4 QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogB5B5 QPrintDialogFB5 (176 x 250 mm, 6.93 x 9.84 palco%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialogB6B6 QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialogB7B7 QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8B8 QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9B9 QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialogC5EC5E QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialog(Stanoven u~ivatelemCustom QPrintDialogDLEDLE QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialogProvdc Executive QPrintDialogPProvdc (7,5 x 10 palco, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogSoubor %1 je chrnn proti zpisu. Zvolte, prosm, pro soubor jin nzev.=File %1 is not writable. Please choose a different file name. QPrintDialog&Soubor ji~ existuje File exists QPrintDialog FolioFolio QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialog*Hlavn ( etn) knihaLedger QPrintDialogHHlavn ( etn) kniha (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialog PrvnLegal QPrintDialogJPrvn (8,5 x 14 palco, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialog DopisLetter QPrintDialogHDopis (8,5 x 11 palco, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogMstn soubor Local file QPrintDialogOKOK QPrintDialogTiskPrint QPrintDialog$Tisk do souboru...Print To File ... QPrintDialogTisknout vae Print all QPrintDialogTiskov oblast Print range QPrintDialogTisk vbruPrint selection QPrintDialog*Tisk do souboru (PDF)Print to File (PDF) QPrintDialog8Tisk do souboru (Postscript)Print to File (Postscript) QPrintDialogBulvrn novinyTabloid QPrintDialogFBulvrn noviny/tisk (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogdaj pro prvn stranu nesm bt vta ne~ daj pro posledn stranu.7The 'From' value cannot be greater than the 'To' value. QPrintDialog&US b~n #10 oblkaUS Common #10 Envelope QPrintDialogDUS b~n #10 oblka (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialog Zapsat %1 soubor Write %1 file QPrintDialogpYmo spojenolocally connected QPrintDialogNeznmunknown QPrintDialog%1%%1%QPrintPreviewDialogVyvst do PDF Export to PDFQPrintPreviewDialog*Vyvst do PostScriptuExport to PostScriptQPrintPreviewDialogPrvn strana First pageQPrintPreviewDialog$PYizposobit stranuFit pageQPrintPreviewDialog"PYizposobit aYku Fit widthQPrintPreviewDialogFormt na aYku LandscapeQPrintPreviewDialogPosledn strana Last pageQPrintPreviewDialogDala strana Next pageQPrintPreviewDialog Nastaven strany Page SetupQPrintPreviewDialog Nastaven strany Page setupQPrintPreviewDialogFormt na vakuPortraitQPrintPreviewDialog PYedchoz strana Previous pageQPrintPreviewDialogTiskPrintQPrintPreviewDialogNhled tisku Print PreviewQPrintPreviewDialog8Ukzat strany le~c naprotiShow facing pagesQPrintPreviewDialog4Ukzat pYehled vaech stranShow overview of all pagesQPrintPreviewDialog0Ukzat jednotliv stranyShow single pageQPrintPreviewDialogZvtaitZoom inQPrintPreviewDialogZmenaitZoom outQPrintPreviewDialogRozaYenAdvancedQPrintPropertiesWidgetFormulYFormQPrintPropertiesWidget StranaPageQPrintPropertiesWidgetSrovnatCollateQPrintSettingsOutput BarvaColorQPrintSettingsOutputBarevn re~im Color ModeQPrintSettingsOutputPo et exemplYoCopiesQPrintSettingsOutput Po et exemplYo:Copies:QPrintSettingsOutputZdvojen tiskDuplex PrintingQPrintSettingsOutputFormulYFormQPrintSettingsOutputOdstny aedi GrayscaleQPrintSettingsOutputDlouh strana Long sideQPrintSettingsOutput }dnNoneQPrintSettingsOutput VolbyOptionsQPrintSettingsOutput"Nastaven vstupuOutput SettingsQPrintSettingsOutputStrany od Pages fromQPrintSettingsOutputTisknout vae Print allQPrintSettingsOutputTisk oblasti Print rangeQPrintSettingsOutputObrcenReverseQPrintSettingsOutput Vbr SelectionQPrintSettingsOutputKrtk strana Short sideQPrintSettingsOutputdotoQPrintSettingsOutput&Nzev:&Name: QPrintWidget...... QPrintWidgetFormulYForm QPrintWidgetUmstn: Location: QPrintWidget"Vstupn &soubor: Output &file: QPrintWidget&Vlastnosti P&roperties QPrintWidget NhledPreview QPrintWidgetTiskrnaPrinter QPrintWidgetTyp:Type: QPrintWidgethVstupn pYesmrovn se nepodaYilo otevYt pro  ten,Could not open input redirection for readingQProcessjVstupn pYesmrovn se nepodaYilo otevYt pro zpis-Could not open output redirection for writingQProcess8 ten z procesu se nezdaYiloError reading from processQProcess8Zpis do procesu se nezdaYilError writing to processQProcess0Nestanoven ~dn programNo program definedQProcessProces spadlProcess crashedQProcess@Proces se nepodaYilo spustit: %1Process failed to start: %1QProcess2PYekro en  asu u procesuProcess operation timed outQProcesspPot~e se zdroji (selhn rozcest - "fork failure"): %1!Resource error (fork failure): %1QProcess ZruaitCancelQProgressDialogOtevYtOpen QPushButtonOzna it kY~kemCheck QRadioButton@nesprvn syntax pro tYdu znakubad char class syntaxQRegExpLnesprvn syntax pro plnovn dopYedubad lookahead syntaxQRegExp<nesprvn syntax pro opakovnbad repetition syntaxQRegExp>byla pou~ita zakzan vlastnostdisabled feature usedQRegExp neplatn skupinainvalid categoryQRegExp"neplatn intervalinvalid intervalQRegExp4neplatn osmi kov hodnotainvalid octal valueQRegExp(dosa~ena vnitYn mezmet internal limitQRegExp.chybjc lev vymezenmissing left delimQRegExp~dn chybano error occurredQRegExp"neo ekvan konecunexpected endQRegExpPNepodaYilo se otevYt spojen s databzError opening databaseQSQLite2Driver>Transakci se nepodaYilo spustitUnable to begin transactionQSQLite2DriverTransakci se nepodaYilo provst (operace 'commit', odesln, se nezdaYila)Unable to commit transactionQSQLite2DriverTransakci se nepodaYilo zvrtit (operace 'rollback', zvrcen, se nezdaYila)Unable to rollback transactionQSQLite2Driver8PYkaz se nepodaYilo provstUnable to execute statementQSQLite2Result@Vsledek se nepodaYilo nathnoutUnable to fetch resultsQSQLite2ResultTNepodaYilo se uzavYt spojen s datatabzError closing database QSQLiteDriverPNepodaYilo se otevYt spojen s databzError opening database QSQLiteDriver>Transakci se nepodaYilo spustitUnable to begin transaction QSQLiteDriverTransakci se nepodaYilo provst (operace 'commit', odesln, se nezdaYila)Unable to commit transaction QSQLiteDriverTransakci se nepodaYilo zvrtit (operace 'rollback', zvrcen, se nezdaYila)Unable to rollback transaction QSQLiteDriver}dn po~adavekNo query QSQLiteResult8Po et parametro nen sprvnParameter count mismatch QSQLiteResult<Parametry se nepodaYilo spojitUnable to bind parameters QSQLiteResult8PYkaz se nepodaYilo provstUnable to execute statement QSQLiteResult:Xdek se nepodaYilo nathnoutUnable to fetch row QSQLiteResultFPYkaz se nepodaYilo znovu nastavitUnable to reset statement QSQLiteResultPodmnka ConditionQScriptBreakpointsModelSpuatn Hit-countQScriptBreakpointsModelIDIDQScriptBreakpointsModelSpustit po Ignore-countQScriptBreakpointsModelUmstnLocationQScriptBreakpointsModelSpustit jednou Single-shotQScriptBreakpointsModel SmazatDeleteQScriptBreakpointsWidgetNovNewQScriptBreakpointsWidget*&Hledat ve skriptu...&Find in Script...QScriptDebuggerSmazat konzoli Clear ConsoleQScriptDebugger(Smazat vstup ladnClear Debug OutputQScriptDebugger>Smazat vstupn zpis s chybamiClear Error LogQScriptDebuggerPokra ovatContinueQScriptDebugger Ctrl+FCtrl+FQScriptDebuggerCtrl+F10Ctrl+F10QScriptDebugger Ctrl+GCtrl+GQScriptDebugger LaditDebugQScriptDebuggerF10F10QScriptDebuggerF11F11QScriptDebuggerF3F3QScriptDebuggerF5F5QScriptDebuggerF9F9QScriptDebuggerNajt &dala Find &NextQScriptDebugger Najt &pYedchozFind &PreviousQScriptDebuggerJt na Ydek Go to LineQScriptDebuggerPYeruait InterruptQScriptDebugger Xdek:Line:QScriptDebugger"Provst po kurzor Run to CursorQScriptDebugger,Provst po nov skriptRun to New ScriptQScriptDebuggerShift+F11 Shift+F11QScriptDebuggerShift+F3Shift+F3QScriptDebuggerShift+F5Shift+F5QScriptDebuggerKrok do Step IntoQScriptDebuggerKrok venStep OutQScriptDebuggerKrok pYes Step OverQScriptDebuggerDPYepnout bod pYeruaen (zastaven)Toggle BreakpointQScriptDebugger<img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Hledn doshlo konceJ Search wrappedQScriptDebuggerCodeFinderWidget@Rozliaujc velk a mal psmenaCase SensitiveQScriptDebuggerCodeFinderWidget ZavYtCloseQScriptDebuggerCodeFinderWidget DalaNextQScriptDebuggerCodeFinderWidgetPYedchozPreviousQScriptDebuggerCodeFinderWidgetCel slova Whole wordsQScriptDebuggerCodeFinderWidget NzevNameQScriptDebuggerLocalsModelHodnotaValueQScriptDebuggerLocalsModel roveHLevelQScriptDebuggerStackModelUmstnLocationQScriptDebuggerStackModel NzevNameQScriptDebuggerStackModel&Podmnka zastaven:Breakpoint Condition: QScriptEdit*Vypnout bod zastavenDisable Breakpoint QScriptEdit*Zapnout bod zastavenEnable Breakpoint QScriptEdit,PYepnout bod zastavenToggle Breakpoint QScriptEditBody zastaven BreakpointsQScriptEngineDebuggerKonzoleConsoleQScriptEngineDebuggerVstup ladn Debug OutputQScriptEngineDebugger0Vstupn zpis s chybami Error LogQScriptEngineDebuggerNahran skriptyLoaded ScriptsQScriptEngineDebuggerMstn promnnLocalsQScriptEngineDebugger"Qt ladn skriptoQt Script DebuggerQScriptEngineDebugger HledatSearchQScriptEngineDebuggerZsobnkStackQScriptEngineDebugger PohledViewQScriptEngineDebugger ZavYtCloseQScriptNewBreakpointWidget KonecBottom QScrollBarLev okraj Left edge QScrollBar$O jeden Ydek dolo Line down QScrollBar(O jeden Ydek nahoruLine up QScrollBarO stranu dolo Page down QScrollBarO stranu doleva Page left QScrollBar O stranu doprava Page right QScrollBarO stranu nahoruPage up QScrollBar PolohaPosition QScrollBarPrav okraj Right edge QScrollBarProj~dt dolo Scroll down QScrollBar Proj~dt a~ sem Scroll here QScrollBar Proj~dt doleva Scroll left QScrollBar"Proj~dt doprava Scroll right QScrollBar Proj~dt nahoru Scroll up QScrollBarZa tekTop QScrollBarN%1: Soubor s unixovm kl em neexistuje%1: UNIX key file doesn't exist QSharedMemory %1: Ji~ existuje%1: already exists QSharedMemory`%1: daj o velikosti vytvoYen je mena ne~ nula%1: create size is less then 0 QSharedMemory%1: Neexistuje%1: doesn't exist QSharedMemory%1: Neexistuje%1: doesn't exists QSharedMemory<%1: Vyvoln ftok se nezdaYilo%1: ftok failed QSharedMemory*%1: Neplatn velikost%1: invalid size QSharedMemory%1: Chybn kl  %1: key error QSharedMemoryF%1: Neplatn daj u kl e (przdn)%1: key is empty QSharedMemory%1: NepYipojen%1: not attached QSharedMemory@%1: Nejsou ji~ pou~iteln zdroje%1: out of resources QSharedMemory&%1: PYstup odepYen%1: permission denied QSharedMemoryH%1: Vyhledn velikosti se nezdaYilo%1: size query failed QSharedMemoryf%1: Bylo dosa~eno systmem podmnn meze velikosti$%1: system-imposed size restrictions QSharedMemory2%1: UzavYen se nezdaYilo%1: unable to lock QSharedMemory>%1: NepodaYilo se vytvoYit kl %1: unable to make key QSharedMemoryX%1: NepodaYilo se nastavit kl pro uzavYen%1: unable to set key on lock QSharedMemoryB%1: UzavYen se nepodaYilo zruait%1: unable to unlock QSharedMemory(%1: Neznm chyba %2%1: unknown error %2 QSharedMemory++ QShortcutAltAlt QShortcutZptBack QShortcutBackspace Backspace QShortcutZpt-TabBacktab QShortcutZeslen baso Bass Boost QShortcut Basy - Bass Down QShortcut Basy +Bass Up QShortcut VolnCall QShortcutCaps Lock Caps Lock QShortcutCapsLockCapsLock QShortcutKontext1Context1 QShortcutKontext2Context2 QShortcutKontext3Context3 QShortcutKontext4Context4 QShortcutCtrlCtrl QShortcut DeleteDel QShortcut DeleteDelete QShortcutDoloDown QShortcutEndEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutOblben Favorites QShortcutObrtitFlip QShortcutDopYeduForward QShortcutPovsitHangup QShortcutNpovdaHelp QShortcutHomeHome QShortcut Domovsk strnka Home Page QShortcut InsertIns QShortcut InsertInsert QShortcutSpustit (0) Launch (0) QShortcutSpustit (1) Launch (1) QShortcutSpustit (2) Launch (2) QShortcutSpustit (3) Launch (3) QShortcutSpustit (4) Launch (4) QShortcutSpustit (5) Launch (5) QShortcutSpustit (6) Launch (6) QShortcutSpustit (7) Launch (7) QShortcutSpustit (8) Launch (8) QShortcutSpustit (9) Launch (9) QShortcutSpustit (A) Launch (A) QShortcutSpustit (B) Launch (B) QShortcutSpustit (C) Launch (C) QShortcutSpustit (D) Launch (D) QShortcutSpustit (E) Launch (E) QShortcutSpustit (F) Launch (F) QShortcutSpustit e-mail Launch Mail QShortcut"Spustit pYehrva  Launch Media QShortcut VlevoLeft QShortcut Dala Media Next QShortcutPYehrvn Media Play QShortcutPYedchozMedia Previous QShortcut Nahrt Media Record QShortcut&Zastavit pYehrvn Media Stop QShortcutMenuMenu QShortcutMetaMeta QShortcutNeNo QShortcutNum LockNum Lock QShortcutNumLockNumLock QShortcut*Zahlen-Feststelltaste Number Lock QShortcutOtevYt URLOpen URL QShortcutObraz dolo Page Down QShortcutPage UpPage Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut PrintPrint QShortcutPrint Screen Print Screen QShortcutObnovitRefresh QShortcut ReturnReturn QShortcut VpravoRight QShortcutScroll Lock Scroll Lock QShortcutScrollLock ScrollLock QShortcut HledatSearch QShortcut VybratSelect QShortcut ShiftShift QShortcutMezernkSpace QShortcutV pohotovostiStandby QShortcutStopStop QShortcut SysReqSysReq QShortcut}dost systmuSystem Request QShortcutTabTab QShortcutVaky - Treble Down QShortcutVaky + Treble Up QShortcut NahoruUp QShortcutHlasitost - Volume Down QShortcut"Ztlumit hlasitost Volume Mute QShortcutHlasitost + Volume Up QShortcutAnoYes QShortcutO stranu dolo Page downQSliderO stranu doleva Page leftQSlider O stranu doprava Page rightQSliderO stranu nahoruPage upQSlider PolohaPositionQSlider@Tento typ adresy nen podporovnAddress type not supportedQSocks5SocketEngine:SOCKSv5 server odmtl spojen(Connection not allowed by SOCKSv5 serverQSocks5SocketEngineLProxy server pYed asn ukon il spojen&Connection to proxy closed prematurelyQSocks5SocketEngineHProxy server odmtl navzn spojenConnection to proxy refusedQSocks5SocketEnginenPYi spojen s proxy serverem byl pYekro en  asov limitConnection to proxy timed outQSocks5SocketEngine\Vaeobecn chyba pYi spojen s SOCKSv5 serveremGeneral SOCKSv5 server failureQSocks5SocketEngine\ asov limit pro seovou operaci byl pYekro enNetwork operation timed outQSocks5SocketEnginePAutentizace u proxy serveru se nezdaYilaProxy authentication failedQSocks5SocketEngineXAutentizace u proxy serveru se nezdaYila: %1Proxy authentication failed: %1QSocks5SocketEngine@Proxy server se nepodaYilo najitProxy host not foundQSocks5SocketEngine>Chyba protokolu (SOCKS verze 5)SOCKS version 5 protocol errorQSocks5SocketEngineHTento SOCKSv5 pYkaz nen podporovnSOCKSv5 command not supportedQSocks5SocketEngineTTL uplynul TTL expiredQSocks5SocketEngine|Byl obdr~en neznm chybov kd od SOCKSv5 proxy serveru: 0x%1%Unknown SOCKSv5 proxy error code 0x%1QSocks5SocketEngine ZruaitCancelQSoftKeyManager HotovoDoneQSoftKeyManagerUkon itExitQSoftKeyManagerOKOkQSoftKeyManager VolbyOptionsQSoftKeyManager VybratSelectQSoftKeyManagerMnLessQSpinBoxVceMoreQSpinBox ZruaitCancelQSqlZruait zmny?Cancel your edits?QSqlPotvrditConfirmQSql DeleteDeleteQSql&Smazat tento zpis?Delete this record?QSql Vlo~itInsertQSqlNeNoQSqlUlo~it zmny? Save edits?QSqlObnovitUpdateQSqlAnoYesQSqlBez kl e nelze poskytnout ~dn osvd en k volnmu pou~it, %1,Cannot provide a certificate with no key, %1 QSslSocketZNepodaYilo se vytvoYit ~dn kontext SSL (%1)Error creating SSL context (%1) QSslSocketJNepodaYilo se vytvoYit sezen SSL, %1Error creating SSL session, %1 QSslSocketJNepodaYilo se vytvoYit sezen SSL: %1Error creating SSL session: %1 QSslSocket`Bhem startu SSL protokolu se vyskytla chyba: %1Error during SSL handshake: %1 QSslSocketRNepodaYilo se nahrt mstn osvd en, %1#Error loading local certificate, %1 QSslSocketLSoukrom kl se nepodaYilo nahrt, %1Error loading private key, %1 QSslSocket>PYi  ten se vyskytla chyba: %1Error while reading: %1 QSslSockethNeplatn  i przdn seznam se aifrovacmi kl i (%1)!Invalid or empty cipher list (%1) QSslSocketVystaven osvd en k veYejnmu kl i pYes soukrom kl se nezdaYilo, %1/Private key does not certificate public key, %1 QSslSocket:Data se nepodaYilo zapsat: %1Unable to write data: %1 QSslSocketNChyb vchoz stav ve vvoji stavu '%1'+Missing default state in history state '%1' QStateMachineRChyb po te n stav slo~enho stavu '%1',Missing initial state in compound state '%1' QStateMachine|Cl a zdroj pYechodu ze stavu '%1' nemaj ~dn spole n povodGNo common ancestor for targets and source of transition from state '%1' QStateMachineNeznm chyba Unknown error QStateMachine %1: Ji~ existuje%1: already existsQSystemSemaphore%1: Neexistuje%1: does not existQSystemSemaphore@%1: Nejsou ji~ pou~iteln zdroje%1: out of resourcesQSystemSemaphore&%1: PYstup odepYen%1: permission deniedQSystemSemaphore(%1: Neznm chyba %2%1: unknown error %2QSystemSemaphorePNepodaYilo se otevYt spojen s databzUnable to open connection QTDSDriver<Datatbzi se nepodaYilo pou~tUnable to use database QTDSDriver Proj~dt doleva Scroll LeftQTabBar"Proj~dt doprava Scroll RightQTabBar`Tato zsuvkov (socket) operace nen podporovna$Operation on socket is not supported QTcpServer&Koprovat&Copy QTextControl&Vlo~it&Paste QTextControl &Znovu&Redo QTextControl &Zpt&Undo QTextControl0&Koprovat adresu odkazuCopy &Link Location QTextControlVyj&moutCu&t QTextControl SmazatDelete QTextControlVybrat vae Select All QTextControlOtevYtOpen QToolButtonStisknoutPress QToolButton<Tato patforma nepodpotuje IPv6#This platform does not support IPv6 QUdpSocket ZnovuRedo QUndoGroupZptUndo QUndoGroup<przdn> QUndoModel ZnovuRedo QUndoStackZptUndo QUndoStack:Vlo~it kontroln znak Unicode Insert Unicode control characterQUnicodeControlCharacterMenuzLRE Za tek zapuatn zleva doprava (right-to-left embedding)$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenuZLRM Zna ka zleva doprava (Left-to-right mark)LRM Left-to-right markQUnicodeControlCharacterMenutLRO Za tek zruaen zleva doprava (left-to-right override)#LRO Start of left-to-right overrideQUnicodeControlCharacterMenuxPDF Vsunout smrov formtovn (Pop directional formatting)PDF Pop directional formattingQUnicodeControlCharacterMenuzRLE Za tek zapuatn zprava doleva (right-to-left embedding)$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenuZRLM Zna ka zprava doleva (Right-to-left mark)RLM Right-to-left markQUnicodeControlCharacterMenutRLO Za tek zruaen zprava doleva (right-to-left override)#RLO Start of right-to-left overrideQUnicodeControlCharacterMenubZWJ Spojova s nulovou aYkou (Zero width joiner)ZWJ Zero width joinerQUnicodeControlCharacterMenupZWNJ Nespojova s nulovou aYkou (Zero width non-joiner)ZWNJ Zero width non-joinerQUnicodeControlCharacterMenu`ZWSP Prostor s nulovou aYkou (Zero width space)ZWSP Zero width spaceQUnicodeControlCharacterMenu2Adresu (URL) nelze ukzatCannot show URL QWebFrame6Tento mime typ nelze ukzatCannot show mimetype QWebFrame"Soubor neexistujeFile does not exist QWebFrameXNahrn rmce bylo pYeruaeno zmnou smrnice'Frame load interrupted by policy change QWebFrame,Po~adavek byl odmtnutRequest blocked QWebFrame(Po~adavek byl zruaenRequest cancelled QWebFrame"%1 (%2x%3 pixelo)Title string for images%1 (%2x%3 pixels)QWebPageJ%1 dny %2 hodiny %3 minuty %4 sekundy&%1 days %2 hours %3 minutes %4 secondsQWebPage<%1 hodiny %2 minuty %3 sekundy%1 hours %2 minutes %3 secondsQWebPage(%1 minuty %2 sekundy%1 minutes %2 secondsQWebPage%1 sekundy %1 secondsQWebPage%n soubor(o)number of chosen file %n file(s)QWebPage$PYidat do slovnku Learn Spelling context menu itemAdd To DictionaryQWebPageZarovnat vlevo Align LeftQWebPageZarovnat vpravo Align RightQWebPageZvukov prvek Audio ElementQWebPageRXzen pYehrvn zvuku a zobrazen stavu2Audio element playback controls and status displayQWebPage.Neplatn po~adavek HTTPBad HTTP requestQWebPage Za t pYehrvnBegin playbackQWebPage Tu nBold context menu itemBoldQWebPage KonecBottomQWebPageNa stYedCenterQWebPageNOvYovat mluvnici spole n s pravopisem-Check grammar with spelling context menu itemCheck Grammar With SpellingQWebPage"OvYen pravopisu Check spelling context menu itemCheck SpellingQWebPage:OvYovat pravopis bhem psan-Check spelling while typing context menu itemCheck Spelling While TypingQWebPageVybrat soubor(title for file button used in HTML forms Choose FileQWebPage>Smazat naposledy hledan vrazy>menu item in Recent Searches menu that empties menu's contentsClear recent searchesQWebPageKoprovatCopy context menu itemCopyQWebPage(Koprovat vyobrazenCopy Link context menu item Copy ImageQWebPage.Koprovat adresu odkazuCopy Link context menu item Copy LinkQWebPageStav filmuCurrent movie statusQWebPage( as pYehrvn filmuCurrent movie timeQWebPageVyjmoutCut context menu itemCutQWebPageVchoz+Default writing direction context menu itemDefaultQWebPage0Smazat a~ po konec slovaDelete to the end of the wordQWebPage4Smazat a~ po za tek slovaDelete to the start of the wordQWebPageSmr'Writing direction context sub-menu item DirectionQWebPageUplynul  as Elapsed TimeQWebPage PsmaFont context sub-menu itemFontsQWebPageRTla tko pro zobrazen na celou obrazovkuFullscreen ButtonQWebPageJt zptBack context menu itemGo BackQWebPageJt dopYeduForward context menu item Go ForwardQWebPage2Skrt pravopis a mluvnicimenu item titleHide Spelling and GrammarQWebPagePYehl~et Ignore Grammar context menu itemIgnoreQWebPagePYehl~et!Ignore Spelling context menu itemIgnoreQWebPageNeomezen  asIndefinite timeQWebPageOdsaditIndentQWebPage2Vlo~it seznam s odr~kamiInsert Bulleted ListQWebPage.Vlo~it  slovan seznamInsert Numbered ListQWebPage"Vlo~it nov YdekInsert a new lineQWebPage(Vlo~it nov odstavecInsert a new paragraphQWebPage"Provst prohldku!Inspect Element context menu itemInspectQWebPageKurzvaItalic context menu itemItalicQWebPage<Upozornn od JavaScriptu - %1JavaScript Alert - %1QWebPage:Potvrzen od JavaScriptu - %1JavaScript Confirm - %1QWebPage4Pot~e s JavaScriptem - %1JavaScript Problem - %1QWebPage2Vzva od JavaScriptu - %1JavaScript Prompt - %1QWebPageDo blokuJustifyQWebPageLev okraj Left edgeQWebPageZleva doprava Left to RightQWebPage}iv pYenosLive BroadcastQWebPageNahrv se... Loading...QWebPage,Podvat se do slovnku'Look Up in Dictionary context menu itemLook Up In DictionaryQWebPageTUkazatel polohy posunout a~ na konec bloku'Move the cursor to the end of the blockQWebPageVUkazatel polohy posunout na konec dokumentu*Move the cursor to the end of the documentQWebPageNUkazatel polohy posunout na konec Ydku&Move the cursor to the end of the lineQWebPage\Ukazatel polohy posunout k nsledujcmu znaku%Move the cursor to the next characterQWebPage\Ukazatel polohy posunout k nsledujcmu Ydku Move the cursor to the next lineQWebPage\Ukazatel polohy posunout k nsledujcmu slovu Move the cursor to the next wordQWebPageXUkazatel polohy posunout k pYedchozmu znaku)Move the cursor to the previous characterQWebPageVUkazatel polohy posunout na pYedchoz Ydku$Move the cursor to the previous lineQWebPageXUkazatel polohy posunout k pYedchozmu slovu$Move the cursor to the previous wordQWebPageRUkazatel polohy posunout na za tek bloku)Move the cursor to the start of the blockQWebPageZUkazatel polohy posunout na za tek dokumentu,Move the cursor to the start of the documentQWebPageRUkazatel polohy posunout na za tek Ydku(Move the cursor to the start of the lineQWebPage as pYehrvnMovie time scrubberQWebPageFPalec pro nastaven  asu pYehrvnMovie time scrubber thumbQWebPage*Tla tko pro ztlumen Mute ButtonQWebPage*Ztlumit zvukov stopyMute audio tracksQWebPage8Nebyly nalezeny ~dn nvrhy"No Guesses Found context menu itemNo Guesses FoundQWebPage2Nebyl vybrn ~dn souborJtext to display in file button used in HTML forms when no file is selectedNo file selectedQWebPageRNeexistuj ~dn naposledy hledan vrazyvLabel for only item in menu that appears when clicking on the search field image, when no searches have been performedNo recent searchesQWebPageOtevYt rmec*Open Frame in New Window context menu item Open FrameQWebPage>Vyobrazen otevYt v novm okn*Open Image in New Window context menu item Open ImageQWebPage*OtevYt adresu odkazuOpen Link context menu item Open LinkQWebPage(OtevYt v novm okn$Open in New Window context menu itemOpen in New WindowQWebPageZruait odsazenOutdentQWebPage ObrysOutline context menu itemOutlineQWebPageO stranu dolo Page downQWebPageO stranu doleva Page leftQWebPage O stranu doprava Page rightQWebPageO stranu nahoruPage upQWebPage Vlo~itPaste context menu itemPasteQWebPage0Vlo~it a odpovdat styluPaste and Match StyleQWebPage0Tla tko pro pozastaven Pause ButtonQWebPage*Pozastavit pYehrvnPause playbackQWebPage.Tla tko pro pYehrvn Play ButtonQWebPagehPYehrvat film v re~imu zobrazen na celou obrazovkuPlay movie in full-screen modeQWebPage0Dosavadn hledan vrazyrlabel for first item in the menu that appears when clicking on the search field image, used as embedded menu titleRecent searchesQWebPageNahrt znovuReload context menu itemReloadQWebPageZbvajc  asRemaining TimeQWebPage@Zbvajc  as z pYehrvn filmuRemaining movie timeQWebPage*Odstranit formtovnRemove formattingQWebPage Vrtit5default label for Reset buttons in forms on web pagesResetQWebPage6Vrtit film na skute n  as#Return streaming movie to real-timeQWebPageLTla tko pro nvrat ke skute nmu  asuReturn to Real-time ButtonQWebPage,Tla tko pro pYeto en Rewind ButtonQWebPage$PYeto it film zpt Rewind movieQWebPagePrav okraj Right edgeQWebPageZprava doleva Right to LeftQWebPage"Ulo~it vyobrazen Download Image context menu item Save ImageQWebPageUlo~it odkaz...&Download Linked File context menu item Save Link...QWebPageProj~dt dolo Scroll downQWebPage Proj~dt a~ sem Scroll hereQWebPage Proj~dt doleva Scroll leftQWebPage"Proj~dt doprava Scroll rightQWebPage Proj~dt nahoru Scroll upQWebPageHledat na sti Search The Web context menu itemSearch The WebQWebPage6Tla tko pro hledn dozaduSeek Back ButtonQWebPage8Tla tko pro hledn dopYeduSeek Forward ButtonQWebPage*Rychl zptn hlednSeek quickly backQWebPage.Rychl dopYedn hlednSeek quickly forwardQWebPageVybrat vae Select allQWebPage0Vybrat a~ po konec blokuSelect to the end of the blockQWebPage8Vybrat a~ po konec dokumentu!Select to the end of the documentQWebPage4Vybrat a~ po za tek YdkuSelect to the end of the lineQWebPage:Vybrat a~ po nsledujc znakSelect to the next characterQWebPage<Vybrat a~ po nsledujc YdekSelect to the next lineQWebPage<Vybrat a~ po nsledujc slovoSelect to the next wordQWebPage6Vybrat a~ po pYedchoz znak Select to the previous characterQWebPage8Vybrat a~ po pYedchoz YdekSelect to the previous lineQWebPage8Vybrat a~ po pYedchoz slovoSelect to the previous wordQWebPage4Vybrat a~ po za tek bloku Select to the start of the blockQWebPage<Vybrat a~ po za tek dokumentu#Select to the start of the documentQWebPage4Vybrat a~ po za tek YdkuSelect to the start of the lineQWebPage4Ukzat pravopis a mluvnicimenu item titleShow Spelling and GrammarQWebPagePosuvnkSliderQWebPagePalec posuvnku Slider ThumbQWebPagePravopis*Spelling and Grammar context sub-menu itemSpellingQWebPagedaj o stavuStatus DisplayQWebPageZastavitStop context menu itemStopQWebPagePYeakrtnuto StrikethroughQWebPage PoslatQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPage Poslat6default label for Submit buttons in forms on web pagesSubmitQWebPageDoln index SubscriptQWebPageHorn index SuperscriptQWebPageSmr psan$Text direction context sub-menu itemText DirectionQWebPageVypad to na to, ~e skript na tto stran m pot~e. Chcete tento skript zastavit?RThe script on this page appears to have a problem. Do you want to stop the script?QWebPage~Tento rejstYk m funkci hledn. Zadejte njak hledan vraz:_text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index'3This is a searchable index. Enter search keywords: QWebPageZa tekTopQWebPagePodtr~enUnderline context menu item UnderlineQWebPageNeznm+Unknown filesize FTP directory listing itemUnknownQWebPage:Tla tko pro zruaen ztlumen Unmute ButtonQWebPage<Zruait ztlumen zvukovch stopUnmute audio tracksQWebPageVideoprvek Video ElementQWebPageRXzen pYehrvn videa a zobrazen stavu2Video element playback controls and status displayQWebPage$Web Inspektor - %2Web Inspector - %2QWebPageCo je toto? What's This?QWhatsThisAction**QWidgetDo&kon it&FinishQWizard&Npovda&HelpQWizard &Dala&NextQWizard&Dala >&Next >QWizard< &Zpt< &BackQWizard ZruaitCancelQWizard Pou~tCommitQWizardPokra ovatContinueQWizard HotovoDoneQWizardJt zptGo BackQWizardNpovdaHelpQWizard%1 - [%2] %1 - [%2] QWorkspace&ZavYt&Close QWorkspacePo&sunout&Move QWorkspace&Obnovit&Restore QWorkspace Zmnit &velikost&Size QWorkspace&Odvinout&Unshade QWorkspace ZavYtClose QWorkspaceZv&tait Ma&ximize QWorkspace&Zmenait Mi&nimize QWorkspaceZmenaitMinimize QWorkspaceObnovit Restore Down QWorkspace&NavinoutSh&ade QWorkspace"Zostat v &popYed Stay on &Top QWorkspacechybjc prohlaen kdovn nebo prohlaen samostatnosti pYi  ten prohlaen XMLYencoding declaration or standalone declaration expected while reading the XML declarationQXmlLChyba v prohlaen textu vnja entity3error in the text declaration of an external entityQXmlTpYi vyhodnocen poznmky se vyskytla chyba$error occurred while parsing commentQXmlPpYi vyhodnocen obsahu se vyskytla chyba$error occurred while parsing contentQXmlrpYi vyhodnocen definice typu dokumentu se vyskytla chyba5error occurred while parsing document type definitionQXmlNpYi vyhodnocen prvku se vyskytla chyba$error occurred while parsing elementQXmlPpYi vyhodnocen odkazu se vyskytla chyba&error occurred while parsing referenceQXml8chyba spuatn spotYebitelemerror triggered by consumerQXmlvv DTD nejsou dovoleny ~dn odkazy na vnja obecnou entitu;external parsed general entity reference not allowed in DTDQXmlv hodnot vlastnosti nejsou dovoleny ~dn odkazy na vnja obecnou entituGexternal parsed general entity reference not allowed in attribute valueQXmlxv DTD nejsou dovoleny ~dn odkazy na vnitYn obecnou entitu4internal general entity reference not allowed in DTDQXmlNneplatn nzev pro pokyn pro zpracovn'invalid name for processing instructionQXmlBna tomto mst je potYeba psmenoletter is expectedQXml8vce definic typu dokumentu&more than one document type definitionQXml~dn chybano error occurredQXml"rekurzivn entityrecursive entitiesQXmlvchybjc prohlaen samostatnosti pYi  ten prohlaen XMLAstandalone declaration expected while reading the XML declarationQXmlHZna ky prvko nejsou vkldny sprvn tag mismatchQXml neo ekvan znakunexpected characterQXml2neo ekvan konec souboruunexpected end of fileQXml|pou~vn nevyhodnocen odkaz na entitu v nesprvn souvislosti*unparsed entity reference in wrong contextQXmlPchybjc verze pYi  ten prohlaen XML2version expected while reading the XML declarationQXmlVnesprvn hodnota pro samostatn prohlaen&wrong value for standalone declarationQXmlj%1 nen platnm dajem VEXEJNHO identifiktoru (id).#%1 is an invalid PUBLIC identifier. QXmlStreamH%1 nen platnm nzvem pro kdovn.%1 is an invalid encoding name. QXmlStreamZ%1 nen platnm nzvem pokynu pro zpracovn.-%1 is an invalid processing instruction name. QXmlStreamDo ekvno, namsto toho obdr~eno ' , but got ' QXmlStream:Vlastnost byla nov vymezena.Attribute redefined. QXmlStream8Kdovn %1 nen podporovnoEncoding %1 is unsupported QXmlStreamPByl nalezen obsah s neplatnm kdovnm.(Encountered incorrectly encoded content. QXmlStream8Entita '%1' nen prohlaena.Entity '%1' not declared. QXmlStream Bylo  Expected  QXmlStream>Byly o ekvny daje o znacch.Expected character data. QXmlStreamJPYebyte n obsah za koncem dokumentu.!Extra content at end of document. QXmlStreamLNeplatn prohlaen jmennho prostoru.Illegal namespace declaration. QXmlStream$Neplatn znak XML.Invalid XML character. QXmlStream&Neplatn nzev XML.Invalid XML name. QXmlStream4Neplatn daj o verzi XML.Invalid XML version string. QXmlStreamXProhlaen XML obsahuje neplatnou vlastnost.%Invalid attribute in XML declaration. QXmlStream.Odkaz na neplatn znak.Invalid character reference. QXmlStream$Neplatn dokument.Invalid document. QXmlStream0neplatn hodnota entity.Invalid entity value. QXmlStreamPNzev pokynu pro zpracovn je neplatn.$Invalid processing instruction name. QXmlStreamtParametrick prohlaen entitynesm obsahovat ~dn NDATA.&NDATA in parameter entity declaration. QXmlStreambPYedpona jmennho prostoru '%1' nebyla prohlaena"Namespace prefix '%1' not declared QXmlStreamPo et otevrajcch prvko neodpovd neodpovd po tu zavrajcch prvko. Opening and ending tag mismatch. QXmlStream4PYed asn konec dokumentu.Premature end of document. QXmlStream@Byla zjiatna rekurzivn entita.Recursive entity detected. QXmlStreambV hodnot vlastnosti byla odkazovna entita '%1'.5Reference to external entity '%1' in attribute value. QXmlStreamHOdkaz na nevyhodnocenou entitu '%1'."Reference to unparsed entity '%1'. QXmlStreamNSled znako ']]>' nen v obsahu povolen.&Sequence ']]>' not allowed in content. QXmlStreamHodnota pro samostatnou vlastnost mo~e bt pouze "ano" nebo "ne"."Standalone accepts only yes or no. QXmlStream6O ekvn otevrajc prvek.Start tag expected. QXmlStreamSamostatn pseudovlastnost mus nsledovat bezprostYedn po kdovn.?The standalone pseudo attribute must appear after the encoding. QXmlStream4Na tomto mst neplatn '  Unexpected ' QXmlStream'%1' nen platnm znakem v daji veYejnho id, kter je tvoYen psmeny./Unexpected character '%1' in public id literal. QXmlStream@Tato verze XML nen podporovna.Unsupported XML version. QXmlStreambProhlaen XML se nenachz na za tku dokumentu.)XML declaration not at start of document. QXmlStreamVrazy %1 a %2 v~dy odpovdaj za tku nebo konci libovolnho Ydku.,%1 and %2 match the start and end of a line. QtXmlPatternsVlastnost %1 v %2 mus mt pou~it '%3' jako v zkladnm typu %4.9%1 attribute in %2 must have %3 use like in base type %4. QtXmlPatternsVlastnost %1 v odvozenm slo~itm typu mus bt jako v zkladnm typu %2.B%1 attribute in derived complex type must be %2 like in base type. QtXmlPatternsVlastnost %1 prvku %2 obsahuje neplatn obsah: {%3} nen hodnotou typu %4.T%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4. QtXmlPatternshVlastnost %1 prvku %2 obsahuje neplatn obsah: {%3}.:%1 attribute of %2 element contains invalid content: {%3}. QtXmlPatternsHodnota vlastnosti %1 prvku %2 je vta ne~ hodnota vlastnosti %3.>%1 attribute of %2 element has larger value than %3 attribute. QtXmlPatterns\Vlastnost %1 prvku %2 mo~e bt jen %3 nebo %4.,%1 attribute of %2 element must be %3 or %4. QtXmlPatternsVlastnost %1 prvku %2 mus obsahovat %3, %4 nebo seznam adres (URL).A%1 attribute of %2 element must contain %3, %4 or a list of URIs. QtXmlPatternsHodnota vlastnosti %1 prvku %2 mus obsahovat bu %3 nebo jin hodnoty.F%1 attribute of %2 element must either contain %3 or the other values. QtXmlPatternszVlastnost %1 prvku %2 mo~e mt jen jednu z hodnot %3 nebo %4.9%1 attribute of %2 element must have a value of %3 or %4. QtXmlPatternsTVlastnost %1 prvku %2 mus mt hodnotu %3.3%1 attribute of %2 element must have a value of %3. QtXmlPatternsVlastnost %1 prvku %2 mus mt hodnotu %3, proto~e je nastavena vlastnost %4.R%1 attribute of %2 element must have the value %3 because the %4 attribute is set. QtXmlPatternsHVlastnost %1 prvku %2 nemo~e bt %3.*%1 attribute of %2 element must not be %3. QtXmlPatterns%1 nelze ur it%1 cannot be retrieved QtXmlPatternsj%1 nelze mt ~dn slo~it zkladn typ, kter m %2./%1 cannot have complex base type that has a %2. QtXmlPatternsZ%1 obsahuje strnku %2 s neplatnmi daty: %3.+%1 contains %2 facet with invalid data: %3. QtXmlPatterns4%1 obsahuje neplatn data.%1 contains invalid data. QtXmlPatternsr%1 obsahuje oktety, kter v kdovn %2 nejsou pYpustn.E%1 contains octets which are disallowed in the requested encoding %2. QtXmlPatternsPrvek %2 (%1) nen platnm omezenm pYepisovanho prvku (%3): %4.L%1 element %2 is not a valid restriction of the %3 element it redefines: %4. QtXmlPatternsrHodnota vlastnosti %2 prvku %1 mo~e bt pouze %3 nebo %4.C%1 element cannot have %2 attribute with value other than %3 or %4. QtXmlPatternsbHodnota vlastnosti %2 prvku %1 mo~e bt pouze %3.=%1 element cannot have %2 attribute with value other than %3. QtXmlPatterns^Prvek %1 nem ani vlastnost %2 ani podprvek %3.9%1 element has neither %2 attribute nor %3 child element. QtXmlPatternsRPrvek %1 nen v tto souvislosti dovolen.*%1 element is not allowed in this context. QtXmlPatternsHPrvek %1 nen v tto oblasti dovolen'%1 element is not allowed in this scope QtXmlPatternsKdy~ je pYtomna vlastnost %3, nesm se vyskytovat prvek %1 v prvku %2.G%1 element is not allowed inside %2 element if %3 attribute is present. QtXmlPatternsPrvek %1 nemo~e stanovit clov jmenn prostor %3 jako hodnotu vlastnosti %2.Y%1 element is not allowed to have the same %2 attribute value as the target namespace %3. QtXmlPatternsPrvek %1 mus mt bu vlastnost %2, nebo mt %3 nebo %4 jako podprvek.F%1 element must have either %2 attribute or %3 or %4 as child element. QtXmlPatternsVPrvek %1 mus mt bu vlastnost %2 nebo %3./%1 element must have either %2 or %3 attribute. QtXmlPatternstVlastnosti %2 a %3 se v prvku %1 nemohou objevit spole n.6%1 element must not have %2 and %3 attribute together. QtXmlPatternsVPrvek %1 vy~aduje bu vlastnost %2 nebo %3..%1 element requires either %2 or %3 attribute. QtXmlPatternsvPrvek %1 nesm mt vlastnost %3, kdy~ existuje podprvek %2.>%1 element with %2 child element must not have a %3 attribute. QtXmlPatternsVe schmatu bez jmennho prostoru mus mt prvek %1 vlastnost %2.V%1 element without %2 attribute is not allowed inside schema without target namespace. QtXmlPatternsRStrnky %1 a %2 se nemohou objevit spolu.-%1 facet and %2 facet cannot appear together. QtXmlPatternsStrnka %1 nesm bt %2, pokud je strnka %3 zkladnho typu %4.5%1 facet cannot be %2 if %3 facet of base type is %4. QtXmlPatternsStrnka %1 nesm bt %2 nebo %3, pokud je strnka %4 zkladnho typu %5.;%1 facet cannot be %2 or %3 if %4 facet of base type is %5. QtXmlPatternsLStrnka %1 se stYetv se strnkou %2. %1 facet collides with %2 facet. QtXmlPatternsZStrnka %1 obsahuje neplatn pravideln vraz,%1 facet contains invalid regular expression QtXmlPatternsZStrnka %1 obsahuje neplatnou hodnotu %2: %3.'%1 facet contains invalid value %2: %3. QtXmlPatternsStrnka %1 mus bt stejn nebo vta ne~ strnka %2 zkladnho typu.=%1 facet must be equal or greater than %2 facet of base type. QtXmlPatternsrStrnka %1 mus bt vta ne~ strnka %2 zkladnho typu.4%1 facet must be greater than %2 facet of base type. QtXmlPatternsStrnka %1 mus bt vta nebo stejn jako strnka %2 zkladnho typu.@%1 facet must be greater than or equal to %2 facet of base type. QtXmlPatternsrStrnka %1 mus bt mena ne~ strnka %2 zkladnho typu.1%1 facet must be less than %2 facet of base type. QtXmlPatternsRStrnka %1 mus bt mena ne~ strnka %2.$%1 facet must be less than %2 facet. QtXmlPatternsStrnka %1 mus bt mena nebo stejn jako strnka %2 zkladnho typu.=%1 facet must be less than or equal to %2 facet of base type. QtXmlPatternslStrnka %1 mus bt mena nebo stejn jako strnka %2.0%1 facet must be less than or equal to %2 facet. QtXmlPatternsStrnka %1 mus mt tut~ hodnotu, jakou m strnka %2 zkladnho typu.;%1 facet must have the same value as %2 facet of base type. QtXmlPatternsU %1 se lia po et pol od omezen toto~nosti %2, na kterou odkazuje.W%1 has a different number of fields from the identity constraint %2 that it references. QtXmlPatterns%1 m zstupn symbol vlastnosti (vzor hledn), ale jeho zkladn typ %2 nem.7%1 has attribute wildcard but its base type %2 has not. QtXmlPatterns%1 m ve svm zkladnm typu %2 v kruzch provdnou ddi nost.,%1 has inheritance loop in its base type %2. QtXmlPatterns%1 je slo~enm typem. Operace pYedveden u slo~ench typo nen mo~n. Mohou se ovaem provdt operace obsazen u atomrnch typo jako %2.s%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. QtXmlPatterns"%1 je neplatn %2%1 is an invalid %2 QtXmlPatterns%1 nen pro regulrn vrazy platnm pYznakem. Platnmi pYznaky jsou:?%1 is an invalid flag for regular expressions. Valid flags are: QtXmlPatternsL%1 nen platnm jmennm prostorem-URI.%1 is an invalid namespace URI. QtXmlPatternsN%1 nen platnm pravidelnm vrazem: %2/%1 is an invalid regular expression pattern: %2 QtXmlPatternsT%1 nen platnm nzvem pro Ye~im pYedlohy.$%1 is an invalid template mode name. QtXmlPatterns<%1 je neznmm typem schematu.%1 is an unknown schema type. QtXmlPatterns:Kdovn %1 nen podporovno.%1 is an unsupported encoding. QtXmlPatterns8%1 nen platn znak XML 1.0.$%1 is not a valid XML 1.0 character. QtXmlPatternsZ%1 nen platnm nzvem pokynu pro zpracovn.4%1 is not a valid name for a processing-instruction. QtXmlPatternsX%1 nen platn  seln daj tvoYen psmeny."%1 is not a valid numeric literal. QtXmlPatterns%1 nen platnm clovm nzvem pokynu pro zpracovn. Mus to bt hodnota %2 jakou je napYklad %3.Z%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. QtXmlPatternsB%1 nen platnou hodnotou typu %2.#%1 is not a valid value of type %2. QtXmlPatternsN%1 nen celo selnm dajem o minutch.$%1 is not a whole number of minutes. QtXmlPatterns%1 nen dovoleno odvodit z %2 pomoc rozaYen, neboe posledn uveden ji ur uje jako kone nou.S%1 is not allowed to derive from %2 by extension as the latter defines it as final. QtXmlPatterns%1 nen dovoleno odvodit z %2 pomoc seznamu, neboe posledn uveden ji ur uje jako kone nou.N%1 is not allowed to derive from %2 by list as the latter defines it as final. QtXmlPatterns%1 nen dovoleno odvodit z %2 pomoc omezen, neboe posledn uveden ji ur uje jako kone nou.U%1 is not allowed to derive from %2 by restriction as the latter defines it as final. QtXmlPatterns%1 nen dovoleno odvodit z %2 pomoc sjednocen, neboe posledn uveden ji ur uje jako kone nou.O%1 is not allowed to derive from %2 by union as the latter defines it as final. QtXmlPatternsp%1 nesm mt  lensk typ se stejnm nzvem, jak m sm.E%1 is not allowed to have a member type with the same name as itself. QtXmlPatterns6%1 nesm mt ~dn strnky.%%1 is not allowed to have any facets. QtXmlPatterns%1 nen atomrnm typem. Operace pYedstaven se daj provdt pouze s atomrnmi typy.C%1 is not an atomic type. Casting is only possible to atomic types. QtXmlPatterns%1 se nenachz v oblasti pod prohlaenm vlastnost. Vaimnte si, ~e funkce zaveden schmatu nen podporovna.g%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. QtXmlPatterns0%1 je podle %2 neplatn. %1 is not valid according to %2. QtXmlPatternsH%1 nen platn jako hodnota typu %2.&%1 is not valid as a value of type %2. QtXmlPatternsRVraz '%1' odpovd znakom pro nov Ydek%1 matches newline characters QtXmlPatternsPo %1 mus nsledovat %2 nebo %3; nesm se objevit na konci nahrazovacho Yetzce.J%1 must be followed by %2 or %3, not at the end of the replacement string. QtXmlPatternsVlastnost %1 odvozenho zstupnho symbolu (vzoru hledn) nen platnm omezenm %2 zkladnho zstupnho symbolu (vzoru hledn)H%1 of derived wildcard is not a valid restriction of %2 of base wildcard QtXmlPatternsVlastnost %1 nebo %2 odkazu %3 neodpovd prohlaen vlastnosti %4.T%1 or %2 attribute of reference %3 does not match with the attribute declaration %4. QtXmlPatterns%1 odkazuje na omezen toto~nosti %2, kter nen ani prvek '%3' ani '%4'.A%1 references identity constraint %2 that is no %3 or %4 element. QtXmlPatternsZ%1 odkazuje na neznm prvek %4 (%2 nebo %3).*%1 references unknown %2 or %3 element %4. QtXmlPatterns%1 vy~aduje alespoH %n argument; daj %2 je z toho dovodu neplatn.%1 vy~aduje alespoH %n argumenty; daj %2 je z toho dovodu neplatn.%1 vy~aduje alespoH %n argumenty; daj %2 je z toho dovodu neplatn.=%1 requires at least %n argument(s). %2 is therefore invalid. QtXmlPatternsp%1 m jen %n argument; daj %2 z tohoto dovodu neplatn.r%1 m jen %n argumenty; daj %2 z tohoto dovodu neplatn.r%1 m jen %n argumenty; daj %2 z tohoto dovodu neplatn.9%1 takes at most %n argument(s). %2 is therefore invalid. QtXmlPatterns%1 byl voln.%1 was called. QtXmlPatternsStrnky %1, %2, %3, %4, %5 a %6 nejsou pYi odvozen (ddi nosti) pomoc seznamu dovoleny.F%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list. QtXmlPatternsfVlastnost %1 obsahuje neplatn zposobil nzev: %2.2'%1' attribute contains invalid QName content: %2. QtXmlPatterns6Poznmka nesm obsahovat %1A comment cannot contain %1 QtXmlPatterns8Poznmka nesm kon it na %1.A comment cannot end with a %1. QtXmlPatternsNarazilo se na vtvor, kter v nynjam jazyce nen povolen (%1).LA construct was encountered which is disallowed in the current language(%1). QtXmlPatternsProhlaen vchozch jmennch prostoro mus stt pYed prohlaenmi funkc-, promnnch- nebo prohlaenmi voleb.^A default namespace declaration must occur before function, variable, and option declarations. QtXmlPatternsnByl nalezen chybn stavitel pYmho prvku. %1 kon %2.EA direct element constructor is not well-formed. %1 is ended with %2. QtXmlPatternsDJi~ existuje funkce s podpisem %1.0A function already exists with the signature %1. QtXmlPatternsKnihovn modul nemo~e bt posouzen pYmo, mus bt zaveden z hlavnho modulu.VA library module cannot be evaluated directly. It must be imported from a main module. QtXmlPatternsTParameter funkce nelze prohlsit za tunel.Can not process unknown element %1, expected elements are: %2. QtXmlPatternshPodprvek v oblasti chyb; mo~nmi podprvky jsou: %1.HChild element is missing in that scope, possible child elements are: %1. QtXmlPatternsVV kruzch provdn skupinov odkaz pro %1. Circular group reference for %1. QtXmlPatternsdV kruzch provdn ddi nost v zkladnm typu %1.%Circular inheritance of base type %1. QtXmlPatterns`V kruzch provdn ddi nost pYi sjednocen %1.!Circular inheritance of union %1. QtXmlPatternsSlo~it typ %1 nemo~e bt odvozen pomoc rozaYen z %2, neboe posledn obsahuje prvek '%3' ve svm modelu obsahu.nComplex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model. QtXmlPatternstSlo~it typ %2 nemo~e bt odvozen ze zkladnho typu %2%3.6Complex type %1 cannot be derived from base type %2%3. QtXmlPatternsSlo~it typ %1 obsahuje vlastnost %2 s omezenm hodnoty, typ je ale odvozen z %3._Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3. QtXmlPatternsZSlo~it typ %1 obsahuje vlastnost %2 dvakrt.,Complex type %1 contains attribute %2 twice. QtXmlPatternsSlo~it typ %1 obsahuje dv rozdln vlastnosti, ob s typy, kter jsou odvozeny z %2.WComplex type %1 contains two different attributes that both have types derived from %2. QtXmlPatternstSlo~it typ %1 m zdvojen prvek %2 ve svm modelu obsahu.?Complex type %1 has duplicated element %2 in its content model. QtXmlPatternsFSlo~it typ %1 m ne-nemnn obsah..Complex type %1 has non-deterministic content. QtXmlPatternsJSlo~it typ %1 nemo~e bt abstraktn..Complex type %1 is not allowed to be abstract. QtXmlPatternsRSlo~it typ %1 mus mt jednoduch obsah.)Complex type %1 must have simple content. QtXmlPatternsRSlo~it typ %1 mus mt jednoduch obsah.DComplex type %1 must have the same simple type as its base class %2. QtXmlPatternsSlo~it typ %1 s jednoduchm obsahem nemo~e bt odvozen ze slo~itho zkladnho typu %2.PComplex type %1 with simple content cannot be derived from complex base type %2. QtXmlPatternsSlo~it typ odvozenho prvku %1 nemo~e bt platn odvozen ze zkladnho prvku.OComplex type of derived element %1 cannot be validly derived from base element. QtXmlPatternsBSou st s ID %1 je ji~ stanovena.1Component with id %1 has been defined previously. QtXmlPatternsModel obsahu slo~itho typu %1 obsahuje prvek %2; nelze jej proto odvodit pomoc rozaYen z ne-przdnho typu.pContent model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type. QtXmlPatternsModel obsahu slo~itho typu %1 nen ~dnm platnm rozaYenm modelu obsahu %2.QContent model of complex type %1 is not a valid extension of content model of %2. QtXmlPatternsObsah vlastnosti %1 prvku %2 nemo~e pochzet ze jmennho prostoru %3.DContent of %1 attribute of %2 element must not be from namespace %3. QtXmlPatternsvObsah vlastnosti %1 neodpovd stanovenmu omezen hodnoty.@Content of attribute %1 does not match defined value constraint. QtXmlPatternsnObsah vlastnosti %1 neodpovd vymezen svho typu: %2.?Content of attribute %1 does not match its type definition: %2. QtXmlPatternslObsah prvku %1 neodpovd stanovenmu omezen hodnoty.>Content of element %1 does not match defined value constraint. QtXmlPatternsdObsah prvku %1 neodpovd vymezen svho typu: %2.=Content of element %1 does not match its type definition: %2. QtXmlPatternsBData typu %1 nemohou bt przdn.,Data of type %1 are not allowed to be empty. QtXmlPatternsbdaj o datu neodpovd strnce vzoru pro hledn./Date time content does not match pattern facet. QtXmlPatterns\daj o datu neodpovd strnce 'maxExclusive'.8Date time content does not match the maxExclusive facet. QtXmlPatterns\daj o datu neodpovd strnce 'maxInclusive'.8Date time content does not match the maxInclusive facet. QtXmlPatterns\daj o datu neodpovd strnce 'minExclusive'.8Date time content does not match the minExclusive facet. QtXmlPatterns\daj o datu neodpovd strnce 'minInclusive'.8Date time content does not match the minInclusive facet. QtXmlPatternsXdaj o datu nen obsa~en ve v tov strnce.9Date time content is not listed in the enumeration facet. QtXmlPatternsPdaj o dni %1 je neplatnm pro msc %2.Day %1 is invalid for month %2. QtXmlPatternsDdaj dne %1 je mimo rozsah %2..%3.#Day %1 is outside the range %2..%3. QtXmlPatternshDesetinn  slo neodpovd strnce 'fractionDigits'.;Decimal content does not match in the fractionDigits facet. QtXmlPatternsbDesetinn  slo neodpovd strnce 'totalDigits'.8Decimal content does not match in the totalDigits facet. QtXmlPatterns`Pro vlastnost %1 nen dostupn ~dn prohlaen.,Declaration for attribute %1 does not exist. QtXmlPatternsXPro prvek %1 nen dostupn ~dn prohlaen.*Declaration for element %1 does not exist. QtXmlPatternsRozaYen s mus pou~vat jako zposob ddi nosti (odvozen) pro %1, neboe zkladn typ %2 je jednoduchm typem.TDerivation method of %1 must be extension because the base type %2 is a simple type. QtXmlPatternslOdvozen vlastnost %1 neexistuje v zkladnm vymezen.Hodnota ID %1 nen jednozna n.ID value '%1' is not unique. QtXmlPatternsNOmezen toto~nosti %1 je ji~ stanoveno.'Identity constraint %1 already defined. QtXmlPatternsKdy~ jsou zadny ob hodnoty s  asovmi znami, mus mt ten sam rozdl v  asov zn. %1 a %2 nejsou to sam a jsou tm pdem nepYpustn.bIf both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. QtXmlPatternsPrvek %1 nesm mt vlastnost %3 nebo %4, pokud nem vlastnost %2.EIf element %1 has no attribute %2, it cannot have attribute %3 or %4. QtXmlPatternsNelze zadat ~dnou pYedponu, jestli~e je prvn argument przdn nebo je przdn Yetzec znako (~dn jmenn prostor). Byla zadna pYedpona %1.If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. QtXmlPatternsVe staviteli jmennho prostoru nesm mt hodnota jmennho prostoru przdnm Yetzcem.PIn a namespace constructor, the value for a namespace cannot be an empty string. QtXmlPatternsVe zjednoduaenm modulu stylovho listu mus bt pYtomna vlastnost %1.@In a simplified stylesheet module, attribute %1 must be present. QtXmlPatternsV XSL-T vyhledvacm vzoru se smj pou~vat jen osy %2 nebo %3, ne vaak %1.DIn an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. QtXmlPatterns|V XSL-T vyhledvacm vzoru nesm mt funkce %1 tYet argument.>In an XSL-T pattern, function %1 cannot have a third argument. QtXmlPatternsV XSL-T vyhledvacm vzoru se smj pro srovnvn pou~vat jen funkce %1 a %2, ne vaak %3.OIn an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. QtXmlPatternsV XSL-T vyhledvacm vzoru mus bt prvn argument k funkci %1 pYi pou~it k hledn odkaz tvoYen psmeny nebo promnn.yIn an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. QtXmlPatternsV XSL-T vyhledvacm vzoru mus bt prvn argument k funkci %1 pYi pou~it k hledn Yetzec tvoYen psmeny.hIn an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. QtXmlPatternsV nahrazen mo~e bt pou~it pouze %1, aby se chrnil sm, nebo %2, ne vaak pro %3MIn the replacement string, %1 can only be used to escape itself or %2, not %3 QtXmlPatternsV nahrazovacm Yetzci mus po %1 nsledovat alespoH jedna  slice, kdy~ nen chrnn znakem Escape.VIn the replacement string, %1 must be followed by at least one digit when not escaped. QtXmlPatternsdCelo seln dlen (%1) nulou (%2) nen stanoveno.0Integer division (%1) by zero (%2) is undefined. QtXmlPatternsdObsah zposobilho nzvu ('QName') je neplatn: %1.Invalid QName content: %1. QtXmlPatterns0PYedponu %1 nelze spojit+It is not possible to bind to the prefix %1 QtXmlPatterns8PYedponu %1 nelze prohlsit.*It is not possible to redeclare prefix %1. QtXmlPatterns%1 nelze ur it.'It will not be possible to retrieve %1. QtXmlPatternsbVlastnosti nesm nsledovat za jinmi druhy uzlo.AIt's not possible to add attributes after any other kind of node. QtXmlPatternsXSlo~kov typ %1 prvku %2 nemo~e bt vyYeaen..Item type %1 of %2 element cannot be resolved. QtXmlPatternsvSlo~kov typ zkladnho typu neodpovd slo~kovmu typu %1.6Item type of base type does not match item type of %1. QtXmlPatternsxSlo~kov typ jednoduchho typu %1 nemo~e bt slo~itm typem.5Item type of simple type %1 cannot be a complex type. QtXmlPatternsTOmezen kl e %1 obsahuje nepYtomn pole.)Key constraint %1 contains absent fields. QtXmlPatternsOmezen kl e %1 obsahuje odkazy na prvek %2, kter je 'nillable'.:Key constraint %1 contains references nillable element %2. QtXmlPatternsNObsah seznamu neodpovd strnce dlky.)List content does not match length facet. QtXmlPatternsZObsah seznamu neodpovd strnce 'maxLength'.,List content does not match maxLength facet. QtXmlPatternsZObsah seznamu neodpovd strnce 'minLength'.,List content does not match minLength facet. QtXmlPatternsfObsah seznamu neodpovd strnce vzoru pro hledn.*List content does not match pattern facet. QtXmlPatterns\Obsah seznamu nen obsa~en ve v tov strnce.4List content is not listed in the enumeration facet. QtXmlPatternsPNahran soubor se schmatem je neplatn.Loaded schema file is invalid. QtXmlPatterns^Na psan velkch/malch psmen nen brn zYetelMatches are case insensitive QtXmlPatterns lensk typ %1 nemo~e bt odvozen z  lenskho typu %2 ze zkladnho typu %4 %3.JMember type %1 cannot be derived from member type %2 of %3's base type %4. QtXmlPatternsV lensk typ %1 prvku %2 nemo~e bt vyYeaen.0Member type %1 of %2 element cannot be resolved. QtXmlPatternsv lensk typ jednoduchho typu %1 nemo~e bt slo~itm typem.7Member type of simple type %1 cannot be a complex type. QtXmlPatternsZaveden modulo mus nastat pYed prohlaenmi funkc, promnnch a voleb.MModule imports must occur before function, variable, and option declarations. QtXmlPatternsnDlen absolutn hodnoty (%1) nulou(%2) nen stanoveno.0Modulus division (%1) by zero (%2) is undefined. QtXmlPatternsNdaj o msci %1 je mimo rozsah %2..%3.%Month %1 is outside the range %2..%3. QtXmlPatternsLPro pole %1 bylo nalezeno vce hodnot.'More than one value found for field %1. QtXmlPatternsNsoben hodnoty typu %1 s %2 nebo %3 (kladn nebo zporn nekone no) nen pYpustn.YMultiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. QtXmlPatternsJmenn prostor %1 lze spojit pouze s %2. Toto je stanoveno ji~ dopYedu.ONamespace %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternsProhlaen jmennch prostoro mus stt pYed prohlaenmi funkc-, promnnch- nebo prohlaenmi voleb.UNamespace declarations must occur before function, variable, and option declarations. QtXmlPatterns~PYedpona jmennho prostoru zposobilho nzvu %1 nen stanovena.5Namespace prefix of qualified name %1 is not defined. QtXmlPatternsT asov limit seov operace byl pYekro en.Network timeout. QtXmlPatternsTPro prvek %1 nen dostupn ~dn vymezen.'No definition for element %1 available. QtXmlPatterns Nejsou podporovny vnja funkce. Vaechny podporovan funkce se daj pou~vat pYmo, bez toho, ~e by byly nejprve prohlaeny za vnja{No external functions are supported. All supported functions can be used directly, without first declaring them as external QtXmlPatternsHNeexistuje ~dn funkce s nzvem %1.$No function by name %1 is available. QtXmlPatternsPNeexistuje ~dn funkce ozna en jako %1*No function with signature %1 is available QtXmlPatternstNeexistuje ~dn svzn jmennho prostoru pro pYedponu %1-No namespace binding exists for the prefix %1 QtXmlPatterns~Neexistuje ~dn svzn jmennho prostoru pro pYedponu %1 v %23No namespace binding exists for the prefix %1 in %2 QtXmlPatternstOdkazovanou hodnotu odkazu na kl %1 se nepodaYilo najt./No referenced value found for key reference %1. QtXmlPatternsTPro schvlen nen stanoveno ~dn schma.!No schema defined for validation. QtXmlPatternsLNeexistuje ~dn pYedloha s nzvem %1.No template by name %1 exists. QtXmlPatternszPro vnja promnnou s nzvem %1 nen dostupn ~dn hodnota.;No value is available for the external variable by name %1. QtXmlPatternsJNeexistuje ~dn promnn s nzvem %1No variable by name %1 exists QtXmlPatterns|Pro omezen %1 byla nalezena ne jednozna n stanoven hodnota.)Non-unique value found for constraint %1. QtXmlPatternsMus bt pYtomen zlo~n vraz, neboe nejsou podporovny ~dn vcn vrazy^None of the pragma expressions are supported. Therefore, a fallback expression must be present QtXmlPatterns2Zpis %1 je ji~ stanoven.Notation %1 already defined. QtXmlPatternsZObsah zpisu nen obsa~en ve v tov strnce.8Notation content is not listed in the enumeration facet. QtXmlPatternsPYi odvozen (ddi nosti) pomoc sjednocen jsou dovoleny pouze strnky %1 a %2.8Only %1 and %2 facets are allowed when derived by union. QtXmlPatternsPYedmluva k dotazu (prolog) sm obsahovat pouze jedno %1-prohlaen.6Only one %1 declaration can occur in the query prolog. QtXmlPatternsFMo~e bt jen jeden jedin %1-prvek.Only one %1-element can appear. QtXmlPatternsJe podporovn pouze Unicode Codepoint Collation (%1). %2 nen podporovn.IOnly the Unicode Codepoint Collation is supported(%1). %2 is unsupported. QtXmlPatternsjS %2 mo~e bt spojena pouze pYedpona %1 (a obrcen).5Only the prefix %1 can be bound to %2 and vice versa. QtXmlPatternsOpertor %1 se nemo~e pou~vat u atomrnch hodnot typo %2 a %3.>Operator %1 cannot be used on atomic values of type %2 and %3. QtXmlPatternsFOpertor %1 nelze pou~t na typ %2.&Operator %1 cannot be used on type %2. QtXmlPatternsLNelze pYedstavit datum %1 (PYete en)."Overflow: Can't represent date %1. QtXmlPatternsFNelze pYedstavit datum (PYete en).$Overflow: Date can't be represented. QtXmlPatterns*Chyba vyhodnocen: %1Parse error: %1 QtXmlPatternsz stice obsahuje ne-nemnn zstupn symboly (vzory hledn)..Particle contains non-deterministic wildcards. QtXmlPatternsPYedponu %1 lze spojit pouze s %2. Toto je prohlaeno ji~ dopYedu..LPrefix %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternslPYedpona %1 byla prohlaena ji~ v pYedmluv (prologu).,Prefix %1 is already declared in the prolog. QtXmlPatternsZPYedpona zposobilho nzvu %1 nen stanovena.+Prefix of qualified name %1 is not defined. QtXmlPatternshPostoupen od %1 k %2 mo~e vst ke ztrt pYesnosti./Promoting %1 to %2 may cause loss of precision. QtXmlPatternsObsah zposobilho nzvu ('QName') neodpovd strnce vzoru pro hledn.+QName content does not match pattern facet. QtXmlPatternsObsah zposobilho nzvu ('QName') nen obsa~en ve v tov strnce.5QName content is not listed in the enumeration facet. QtXmlPatternsJOdkaz %1 prvku %2 nemo~e bt vyYeaen..Reference %1 of %2 element cannot be resolved. QtXmlPatternsPo~adovan kardinln  slo (mohutnost mno~iny) je %1 (v sou asnosti %2)./Required cardinality is %1; got cardinality %2. QtXmlPatternsNPo~adovan typ je %1, byl ale zadn %2.&Required type is %1, but %2 was found. QtXmlPatternsJe zpracovvn jeden XSL-T 1.0 stylov list jednm procesorem verze 2.0.5Running an XSL-T 1.0 stylesheet with a 2.0 processor. QtXmlPatternsCelo seln hodnota ozna en znamnkem neodpovd strnce 'totalDigits'.?Signed integer content does not match in the totalDigits facet. QtXmlPatternsCelo seln hodnota ozna en znamnkem neodpovd strnce vzoru pro hledn.4Signed integer content does not match pattern facet. QtXmlPatternsCelo seln hodnota ozna en znamnkem neodpovd strnce 'maxExclusive'.=Signed integer content does not match the maxExclusive facet. QtXmlPatternsCelo seln hodnota ozna en znamnkem neodpovd strnce 'maxInclusive'.=Signed integer content does not match the maxInclusive facet. QtXmlPatternsCelo seln hodnota ozna en znamnkem neodpovd strnce 'minExclusive'.=Signed integer content does not match the minExclusive facet. QtXmlPatternsCelo seln hodnota ozna en znamnkem neodpovd strnce 'minInclusive'.=Signed integer content does not match the minInclusive facet. QtXmlPatternsCelo seln hodnota ozna en znamnkem nen obsa~ena ve v tov strnce.>Signed integer content is not listed in the enumeration facet. QtXmlPatterns~Jednoduch typ %1 mo~e mt jen jednoduch malink zkladn typ.=Simple type %1 can only have simple atomic type as base type. QtXmlPatternsJednoduch typ %1 nesm bt odvozen z %2 , neboe posledn ur uje omezen jako kone n.PSimple type %1 cannot derive from %2 as the latter defines restriction as final. QtXmlPatternsfJednoduch typ %1 nemo~e mt pYm zkladn typ %2./Simple type %1 cannot have direct base type %2. QtXmlPatternsjJednoduch typ %1 obsahuje nedovolen typ strnky %2.2Simple type %1 contains not allowed facet type %2. QtXmlPatternsXJednoduch typ %1 nesm mt zkladn typ %2.3Simple type %1 is not allowed to have base type %2. QtXmlPatternsTJednoduch typ %1 mo~e mt jen strnky %2.0Simple type %1 is only allowed to have %2 facet. QtXmlPatterns^Jednoduch typ obsahuje nedovolenou strnku %1.*Simple type contains not allowed facet %1. QtXmlPatternsJednoduch typ odvozenho prvku %1 nemo~e bt platn odvozen ze zkladnho prvku.NSimple type of derived element %1 cannot be validly derived from base element. QtXmlPatternsPZadan typ %1 nen ve schmatu stanoven.-Specified type %1 is not known to the schema. QtXmlPatternslZadan typ %1 nen platn nahraditeln typem prvku %2.DSpecified type %1 is not validly substitutable with element type %2. QtXmlPatternsZadn use='prohibited' ve skupin vlastnost nem naprosto ~dn  inek.DSpecifying use='prohibited' inside an attribute group has no effect. QtXmlPatternsrObsah Yetzce znako neodpovd strnce vzoru pro hledn.,String content does not match pattern facet. QtXmlPatternsZObsah Yetzce znako neodpovd strnce dlky./String content does not match the length facet. QtXmlPatternsObsah Yetzce znako neodpovd strnce dlky (nejvta daj; 'maxLength').2String content does not match the maxLength facet. QtXmlPatternsObsah Yetzce znako neodpovd strnce dlky (nejmena daj, 'minLength').2String content does not match the minLength facet. QtXmlPatternshObsah Yetzce znako nen obsa~en ve v tov strnce.6String content is not listed in the enumeration facet. QtXmlPatternsjSkupina nahrazen %1 m v kruzch provdn vymezen..Substitution group %1 has circular definition. QtXmlPatternsdSkupina nahrazen %1 prvku %2 nemo~e bt vyYeaena.7Substitution group %1 of %2 element cannot be resolved. QtXmlPatternsClov jmenn prostor %1 zavedenho schmatu se lia od jm vymezenho clovho jmennho prostoru %2.tTarget namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema. QtXmlPatternsClov jmenn prostor %1 zahrnutho schmatu se lia od jm vymezenho clovho jmennho prostoru %2.tTarget namespace %1 of included schema is different from the target namespace %2 as defined by the including schema. QtXmlPatternsZNa tomto mst nesm stt ~dn textov uzly.,Text nodes are not allowed at this location. QtXmlPatternsjText nebo odkazy na entitu nejsou v prvku %1 dovoleny7Text or entity references not allowed inside %1 element QtXmlPatterns@Osa %1 nen v XQuery podporovna$The %1-axis is unsupported in XQuery QtXmlPatternsProhlaen %1 je nepYpustn, proto~e nen podporovno zaveden schmat.WThe Schema Import feature is not supported, and therefore %1 declarations cannot occur. QtXmlPatterns%1-vrazy se nemohou pou~vat, proto~e funkce prohlaen schmatu platnm nen podporovna.VThe Schema Validation Feature is not supported. Hence, %1-expressions may not be used. QtXmlPatterns4URI nesm obsahovat kousekThe URI cannot have a fragment QtXmlPatternsTPouze prvn %2-prvek sm mt vlastnost %1.9The attribute %1 can only appear on the first %2 element. QtXmlPatternsn%2 nesm mt vlastnost %1 v pYpad, ~e je potomkem %3.?The attribute %1 cannot appear on %2, when it is a child of %3. QtXmlPatternsxKdovac bod %1 z %2 s kdovnm %3 nen platnm znakem XML.QThe codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. QtXmlPatternsvData pokynu pro zpracovn nesm obsahovat Yetzec znako %1AThe data of a processing instruction cannot contain the string %1 QtXmlPatternsPPro sbrku nen stanovena ~dn pYedloha#The default collection is undefined QtXmlPatternsKdovn %1 je neplatn; sm sestvat pouze z latinskch psmen a mus odpovdat pravidelnu vrazu %2.The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. QtXmlPatternsPrvn argument k %1 nesm bt typu %2; mus to bt  seln typ, xs:yearMonthDuration nebo xs:dayTimeDuration.uThe first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. QtXmlPatternsPrvn argument %1 nemo~e bt typu %2. Mus to bt typ %3, %4 nebo %5.PThe first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatterns.Nen stanoveno ohnisko.The focus is undefined. QtXmlPatternsvInicializace promnn %1 je zvisl na jej vlastn hodnot3The initialization of variable %1 depends on itself QtXmlPatternsRPrvek %1 neodpovd po~adovanmu typu %2./The item %1 did not match the required type %2. QtXmlPatternsKl ov slovo %1 se nemo~e pou~vat dohromady s jinm nzvem zposobu.5The keyword %1 cannot occur with any other mode name. QtXmlPatternsPosledn krok cesty mus obsahovat bu jen uzly nebo jen atomrn hodnoty. Nesm se vyskytovat spole n.kThe last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. QtXmlPatternsNFunkce zaveden modulu nen podporovna*The module import feature is not supported QtXmlPatternstNzev %1 nem ~dnou spojitost s jakmkoli typem schmatu..The name %1 does not refer to any schema type. QtXmlPatternsNzev po tan vlastnosti nesm mt jmenn prostor-URI %1 s mstnm nzvem %2.ZThe name for a computed attribute cannot have the namespace URI %1 with the local name %2. QtXmlPatternsNzev promnn zce spojen s pro-vrazem se mus liait od pozi n promnn. Dv promnn s nzvem %1 se z tohoto dovodu stYetvaj.The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. QtXmlPatternsxNzev vrazu rozaYen se mus nachzet ve jmennm prostoru.;The name of an extension expression must be in a namespace. QtXmlPatternsNzev volby mus mt pYedponu. Pro volby nen ~dn pYedloha pro jmenn prostor.TThe name of an option must have a prefix. There is no default namespace for options. QtXmlPatterns Jmenn prostor %1 je vyhrazen a z toho dovodu jej nemohou pou~vat u~ivatelem stanoven funkce (pro tento  el je tu pYedstanoven pYedpona %2).The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. QtXmlPatternsJmenn prostor-URI nesm bt przdn, kdy~ je spojen s prefixem %1.JThe namespace URI cannot be the empty string when binding to a prefix, %1. QtXmlPatternsURI jmennho prostoru v nzvu vypo tan vlastnosti nesm bt %1.DThe namespace URI in the name for a computed attribute cannot be %1. QtXmlPatternsJmenn prostor-URI mus bt konstantou a nesm pou~vat vlo~en vrazy.IThe namespace URI must be a constant and cannot use enclosed expressions. QtXmlPatternsJmenn prostor u~ivatelem stanoven funkce nesm bt przdn (pro tento  el je pYedstanoven pYedpona %1)yThe namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) QtXmlPatternsJmenn prostor u~ivatelem stanoven funkce v modulu knihovny mus odpovdat jmennmu prostoru modulu (Jinmi slovy by ml bt %1 namsto %2) The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 QtXmlPatternsXTato forma normalizovn %1 nen podporovna. Podporovanmi formami normalizovn jsou %2, %3, %4 a %5, a "~dn" (przdn znakov Yetzec zastupuje "~dn normalizovn").The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). QtXmlPatternstNeexistuje ~dn odpovdajc %2 pro pYedan parameter %1.;The parameter %1 is passed, but no corresponding %2 exists. QtXmlPatternsvNebyl zadn ~dn odpovdajc %2 pro potYebn parametr %1.BThe parameter %1 is required, but no corresponding %2 is supplied. QtXmlPatternsPYedpona %1 nemo~e bt spojena. Ve vchozm nastaven je ji~ spojena se jmennm prostorem %2.TThe prefix %1 can not be bound. By default, it is already bound to the namespace %2. QtXmlPatterns2PYedponu %1 nelze spojit.The prefix %1 cannot be bound. QtXmlPatterns`PYedpona mus bt platn %1, co~ nen pYpad %2./The prefix must be a valid %1, which %2 is not. QtXmlPatternsNadYzen uzel druhho agumentu funkce %1 mus bt uzlem dokumentu, co~ nen pYpad %2.gThe root node of the second argument to function %1 must be a document node. %2 is not a document node. QtXmlPatternsDruh argument %1 nemo~e bt typ %2. Mus to bt typ %3, %4 nebo %5.QThe second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatterns%2 nen platnm clovm nzvem pokynu pro zpracovn, proto~e tento nesm bt %1 (nehled na psan velkch/malch psmen).~The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. QtXmlPatternsVClov jmenn prostor %1 nesm bt przdn.-The target namespace of a %1 cannot be empty. QtXmlPatternsHodnota vlastnosti %1 prvku %2 mo~e bt jen %3 nebo %4, ne vaak %5.IThe value for attribute %1 on element %2 must either be %3 or %4, not %5. QtXmlPatternsHodnota vlastnosti %1 mus bt typu %2. %3 nen platnou hodnotou.:The value of attribute %1 must of type %2, which %3 isn't. QtXmlPatternsHodnota XSL-T vlastnosti verze mus bt hodnotou typu %1, co~ nen pYpad %2.TThe value of the XSL-T version attribute must be a value of type %1, which %2 isn't. QtXmlPatterns0Promnn %1 se nepou~vThe variable %1 is unused QtXmlPatterns~Existuje hodnota IDREF, pro kterou neexistuje pYsluan ID: %1.6There is one IDREF value with no corresponding ID: %1. QtXmlPatterns%1 se nemo~e pou~vat, proto~e tento procesor nepodporuje ~dn schma.CThis processor is not Schema-aware and therefore %1 cannot be used. QtXmlPatternsH asov daj %1:%2:%3.%4 je neplatn.Time %1:%2:%3.%4 is invalid. QtXmlPatterns asov daj 24:%1:%2.%3 je neplatn. U hodinovho daje je 24, ale minuty, sekundy a milisekundy mus bt vaechny 0; _Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0;  QtXmlPatternspln nahoYe stojc prvky provdcho listu se nesm nachzet v nulovm jmennm prostoru, co~ je pYpad %1.NTop level stylesheet elements must be in a non-null namespace, which %1 isn't. QtXmlPatternsByly nalezeny dv vlastnosti prohlaen jmennho prostoru se stejnm nzvem (%1). AboutQET Ce programme est sous licence GNU/GPL. Este programa está licenciado nos termos da licença GNU/GPL. Idée originale Ideia original Programmation Programação QElectroTech, une application de réalisation de schémas électriques. QElectroTech, uma aplicação para desenho de esquemas eléctricos. © 2006-2010 Les développeurs de QElectroTech © 2006-2010 Os Desenvolvedores de QElectroTech À propos de QElectrotech window title Sobre QElectroTech À &propos tab title &Sobre A&uteurs tab title A&utores &Traducteurs tab title &Tradutores &Contributeurs tab title &Contribuidores &Accord de licence tab title &Acordo de Licença Traduction en espagnol Tradução em Espanhol Traduction en russe Tradução em Russo Traduction en portugais Tradução em Português Traduction en tchèque Tradução em Tcheco Paquets Fedora Pacotes Fedora Paquets Mandriva Pacotes Mandriva Paquets Debian Pacotes Debian Icônes Ícones ArcEditor Centre : Centrar: Diamètres : Diâmetros: horizontal : horizontal: vertical : vertical: Angle de départ : Ângulo inicial: Angle : Ângulo: abscisse abcissa ordonnée ordenada diamètre horizontal diâmetro horizontal diamètre vertical diâmetro vertical angle de départ ângulo inicial angle Ângulo BorderInset Auteur : %1 inset content Autor: %1 Date : %1 inset content Data: %1 Fichier : %1 inset content Ficheiro: %1 Folio : %1 inset content Fólio: %1 BorderPropertiesWidget Dimensions du schéma Dimensões do esquema Colonnes : Colunas: Afficher les en-têtes Exibir os cabeçalhos Lignes : Linhas: × multiplication symbol × px unit for cols width px px unit for rows height px CircleEditor Centre : Centro: Diamètre : Diâmetro: abscisse abcissa ordonnée ordenada diamètre diâmetro ConductorPropertiesWidget Type de conducteur Tipo de condutor Multifilaire Multifilar Texte : Texto: Unifilaire Unifilar phase fase terre terra neutre neutro Apparence du conducteur Aparência do condutor Couleur : Côr: Trait en pointillés Traço tracejado Simple Simples ConfigDialog Configurer QElectroTech window title Configurar QElectroTech DiagramPrintDialog Options d'impression window title Opções de impressão Quel type d'impression désirez-vous effectuer ? Que tipo de impressão deseja efectuar? Impression sur une imprimante physique Print type choice Imprimir em impressora local Impression vers un fichier au format PDF Print type choice Imprimir para ficheiro de formato PDF Impression vers un fichier au format PostScript (PS) Print type choice Imprimir para ficheiro de formato PostScript Choix du type d'impression Escolha do tipo de impressão Fichier manquant message box title Arquivo em falta Vous devez indiquer le chemin du fichier PDF/PS à créer. message box content Introduza o caminho do ficheiro PDF/PS a criar. Fichiers PDF (*.pdf) file filter Ficheiros PDF (*.pdf) Fichiers PostScript (*.ps) file filter Ficheiros PostScript (*.ps) DiagramView Schéma sans titre Esquema sem título Coller ici context menu action Colar aqui Schéma %1 %1 is a diagram title Esquema %1 Propriétés du schéma window title Propriedades do esquema Propriétés de la sélection Propriedades da selecção La sélection contient %1. %1 is a sentence listing the selected objects A selecção contém %1. Élément manquant Elemento em falta Élément Elemento Nom : %1 Nome : %1 Position : %1 Posição: %1 Dimensions : %1×%2 Dimensões : %1x%2 Bornes : %1 Terminais : %1 Connexions internes : %1 Conexões internas : %1 Autorisées Autorizados Interdites Interditos Champs de texte : %1 Campos de texto : %1 Emplacement : %1 Local : %1 Propriétés de l'élément sélectionné Propriedades do elemento seleccionado Retrouver dans le panel Encontrar no painel Éditer l'élément Editar elemento Éditer les propriétés d'un conducteur window title Editar as propriedades do condutor Éditer les propriétés par défaut des conducteurs window title Editar as propriedades padrão do condutor DiagramsChooser Schéma sans titre Esquema sem título ElementDefinition L'élément cible n'a pu être créé. O elemento alvo não pôde ser criado. La suppression de cet élément a échoué. O elemento não pôde ser apagado. ElementDeleter Supprimer l'élément ? message box title Apagar o elemento? Êtes-vous sûr de vouloir supprimer cet élément ? message box content Tem a certeza que pretende eliminar este elemento? Suppression de l'élément message box title Apagando o elemento La suppression de l'élément a échoué. message box content Falha a apagar o elemento. ElementDialog Nom : Nome: Ouvrir un élément dialog title Abrir um elemento Choisissez l'élément que vous souhaitez ouvrir. dialog content Escolha o elemento que deseja abrir. Enregistrer un élément dialog title Salvar um elemento Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Escolha o elemento no qual deseja registar a sua definição. Ouvrir une catégorie dialog title Abrir uma categoria Choisissez une catégorie. dialog content Escolha uma categoria. Enregistrer une catégorie dialog title Salvar uma categoria Pas de sélection message box title Sem selecção Vous devez sélectionner un élément. message box content Tem que seleccionar um elemento. Sélection inexistante message box title Selecção não existente La sélection n'existe pas. message box content A selecção não existe. Sélection incorrecte message box title Selecção incorrecta La sélection n'est pas un élément. message box content A selecção não é um elemento. Vous devez sélectionner une catégorie ou un élément. message box content Tem de seleccionar uma categoria ou um elemento. Nom manquant message box title Falta o nome Vous devez entrer un nom pour l'élément message box content Tem de fornecer um nome para o elemento Nom invalide message box title Nome inválido Vous ne pouvez pas utiliser les caractères suivants dans le nom de l'élément : %1 Não pode utilizar os seguintes caracteres no nome do elemento: %1 Écraser l'élément ? message box title Sobrescrever o elemento? L'élément existe déjà. Voulez-vous l'écraser ? message box content O elemento já existe. Tem a certeza que o quer sobrescrever? ElementScene ligne linha ellipse elipse arc arco cercle circulo borne terminal texte texto champ de texte campo de texto polygone polígono L'orientation par défaut est l'orientation dans laquelle s'effectue la création de l'élément. A orientação padrão é a orientação na qual se efectua a criação do elemento. Éditer les informations sur l'auteur window title Editar informações sobre o autor Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Pode utilizar este campo em branco para indicar os autores do elemento, a licença do mesmo, ou qualquer outra informação que considere útil. Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Pode especificar o nome do elemento em diversas línguas. Autoriser les connexions internes Permitir conexões internas Ce document XML n'est pas une définition d'élément. error message Este documento XML não é uma definição de elemento. Les dimensions ou le point de saisie ne sont pas valides. error message As dimensões ou o ponto âncora não são válidos. Les orientations ne sont pas valides. error message As orientações não são válidas. Éditer la taille et le point de saisie window title Editar tamanho e ponto âncora Éditer les orientations window title Editar orientações Éditer les noms window title Editar nomes rectangle rectângulo ElementsCategoriesList Collection utilisateur Colecção do Utilizador Collection QET Colecção QET Collection projet Colecção do projecto ElementsCategoriesWidget Éditer la catégorie Editar categoria Nouvelle catégorie Nova categoria Recharger les catégories Recarregar categorias Supprimer la catégorie Apagar categoria ElementsCategory La copie d'une catégorie vers elle-même ou vers l'une de ses sous-catégories n'est pas gérée. Copiar uma categoria para ela própria ou para uma das suas subcategorias não é suportado. Il n'est pas possible de déplacer une collection. Não é possível mover uma categoria. Le déplacement d'une catégorie dans une de ses sous-catégories n'est pas possible. Não é possível mover uma categoria para uma das suas subcategorias. La suppression de cette catégorie a échoué. Falha ao apagar a categoria. Impossible de supprimer l'élément Não é possível apagar o elemento Impossible de supprimer la catégorie Não é possível apagar a categoria ElementsCategoryDeleter Vider la collection ? message box title Esvaziar a colecção? Êtes-vous sûr de vouloir vider cette collection ? message box content Tem a certeza que quer esvaziar esta colecção? Supprimer la catégorie ? message box title Apagar categoria? Êtes-vous sûr de vouloir supprimer la catégorie ? Tous les éléments et les catégories contenus dans cette catégorie seront supprimés. message box content Tem a certeza que quer apagar a categoria? Todos os elementos e categorias contidos nesta categoria serão apagados. Êtes-vous vraiment sûr de vouloir supprimer cette catégorie ? Les changements seront définitifs. message box content Tem a certeza que quer apagar esta categoria? As alterações serão definitivas. Suppression de la catégorie message box title Eliminar categoria La suppression de la catégorie a échoué. message box content Falha ao eliminar a categoria. ElementsCategoryEditor Vous pouvez spécifier un nom par langue pour la catégorie. Pode escolher um nome por linguagem para a categoria. Nom interne : Nome interno: Catégorie inexistante message box title Categoria não existente La catégorie demandée n'existe pas. Abandon. message box content A categoria pedida não existe. Abandonando. Éditer une catégorie window title Editar categoria Créer une nouvelle catégorie window title Criar nova categoria Nom de la nouvelle catégorie default name when creating a new category Nome da nova categoria Édition en lecture seule message box title Edição modo de leitura Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Não tem permissões para editar esta categoria. Será aberta em modo de leitura. Nom interne manquant message box title Nome interno em falta Vous devez spécifier un nom interne. message box content Tem de especificar um nome interno. Nom interne déjà utilisé message box title Nome interno já utilizado Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content O nome interno que escolheu já existe em outra categoria. Por favor escolha outro nome. Erreur message box title Erro Impossible de créer la catégorie message box content Não é possível criar a categoria Impossible d'enregistrer la catégorie message box content Não é possível salvar a categoria ElementsCollection Il n'est pas possible de déplacer une collection. Não é possível mover uma categoria. ElementsPanel Ceci est un élément que vous pouvez insérer dans votre schéma par cliquer-déplacer Pode inserir este elemento no esquema usando arrastar e largar Cliquer-déposez cet élément sur le schéma pour insérer un élément Arraste e largue este elemento para o inserir no esquema Collection QET Colecção QET Collection utilisateur Colecção do Utilizador Collection projet Colecção do projecto Schéma sans titre Esquema sem título %1 [non utilisé dans le projet] %1 [não utilizado no projecto] Pas de fichier tooltip for a file-less project in the element panel Sem ficheiro ElementsPanelWidget Nouvel élément Novo elemento Recharger les collections Recarregar colecções Nouvelle catégorie Nova categoria Éditer la catégorie Editar categoria Supprimer la catégorie Apagar categoria Importer un élément Importar um elemento Éditer l'élément Editar elemento Supprimer l'élément Apagar elemento Remonter ce schéma Subir o esquema Abaisser ce schéma Descer o esquema Vous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catégories. Use este gestor para adicionar, apagar ou modificar categorias. Filtrer : Filtro: Effacer le filtre Apagar filtro Vider la collection Esvaziar a colecção Fermer ce projet Fechar este projecto Ajouter un schéma Adicionar um esquema Supprimer ce schéma Apagar este esquema Propriétés du projet Propriedades do projecto Déplacer dans cette catégorie Mover para esta categoria Copier dans cette catégorie Copiar para esta categoria Annuler Desfazer Gestionnaire de catégories window title Gestor de categorias Propriétés du schéma Propriedades do esquema EllipseEditor Centre : Centro: Diamètres : Diâmetros: horizontal : horizontal: vertical : vertical: abscisse abcissa ordonnée ordenada diamètre horizontal diâmetro horizontal diamètre vertical diâmetro vertical ExportConfigPage Export configuration page title Exportar ExportDialog Aperçu Antevisão Dimensions Dimensões Impossible d'écrire dans ce fichier message box title Não é possível escrever neste ficheiro Exporter les schémas du projet window title Exportar os esquemas do projecto Exporter Exportar Choisissez les schémas que vous désirez exporter ainsi que leurs dimensions : Escolha os esquemas que pretende exportar e especifique o tamanho: Schéma Esquema Nom de fichier Nome do ficheiro Vous devez entrer un nom de fichier non vide et unique pour chaque schéma à exporter. message box content Tem de especificar um nome de ficheiro não vazio e único por cada diagrama a exportar. Noms des fichiers cibles message box title Nomes dos arquivos de destino Dossier non spécifié message box title Directoria não especificada Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Tem de especificar o caminho para a directoria onde as imagens dos ficheiros serão guardados. Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Aparentemente não possui as permissões necessárias para escrever para o ficheiro %1. ExportDialog::ExportDiagramLine px px ExportPropertiesWidget Exporter dans le dossier dialog title Exportar na directoria Dossier cible : Directoria de destino: Parcourir Procurar Format : Formato: PNG (*.png) PNG (*.png) JPEG (*.jpg) JPEG (*.jpg) Bitmap (*.bmp) Bitmap (*.bmp) SVG (*.svg) SVG (*.svg) Options de rendu groupbox title Opções de renderização Conserver les couleurs des conducteurs Manter as cores dos condutores Exporter le cadre Exportar a borda Exporter les éléments Exportar apenas elementos Dessiner la grille Desenhar a grelha Dessiner le cadre Desenhar a borda Dessiner le cartouche Desenhar a moldura Dessiner les bornes Desenhar terminais GeneralConfigurationPage Apparence Aparência Utiliser les couleurs du système Usar cores de sistema Projets Projectos Utiliser des fenêtres Utilizar janelas Utiliser des onglets Utilizar separadores Ces paramètres s'appliqueront dès la prochaine ouverture d'un éditeur de schémas. As escolhas terão efeito da próxima vez que abrir o editor de esquemas. Gestion des éléments Gestão de elementos Intégrer automatiquement les éléments dans les projets (recommandé) Integrar automaticamente os elementos aos projectos (recomendado) Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Cada elemento contém, num campo aberto, informação sobre os seus autores, a sua licença ou demais informação que considerem útil. Pode definir o valor padrão deste campo para os itens que criar: Général configuration page title Geral GhostElement <u>Élément manquant :</u> %1 <u>Elemento em falta :</u> %1 HotspotEditor ×10 px ×10 px px px Déplacer l'élément avec le hotspot Deslocar o elemento com o ponto âncora <span style="text-decoration:underline;">Dimensions</span> <span style="text-decoration:underline;">Size</span> Largeur : Largura: Hauteur : Altura: <span style="text-decoration:underline;">Hotspot</span> <span style="text-decoration:underline;">Hotspot</span> Abscisse : Abcissa: Ordonnée : Ordenada: L'élément doit être assez grand pour contenir tout sa représentation graphique. O elemento tem de ter o tamanho suficiente para conter toda a sua representação gráfica. InsetPropertiesWidget Informations du cartouche Propriedades da moldura Pas de date Sem data Date courante Data actual Date fixe : Data fixa: Titre : Título: Auteur : Autor: Date : Data: Fichier : Ficheiro: Folio : Fólio: Les variables suivantes sont utilisables dans le champ Folio : - %id : numéro du schéma courant dans le projet - %total : nombre total de schémas dans le projet As seguintes variáveis podem ser usadas no campo Fólio: - %id: o corrente número do esquema no projecto - %total: o número total de esquemas do projecto IntegrationMoveElementsHandler L'élément a déjà été intégré dans le projet. Toutefois, la version que vous tentez de poser semble différente. Que souhaitez-vous faire ? dialog content - %1 is an element's path name O elemento já foi integrado no projecto. Contudo a versão do elemento que está a tentar colocar parece ser diferente. O que pretende fazer? Utiliser l'élément déjà intégré dialog content Utilizar o elemento já integrado Intégrer l'élément déposé dialog content Integrar o elemento colocado Écraser l'élément déjà intégré dialog content Apagar o elemento já integrado Faire cohabiter les deux éléments dialog content Fazer os dois elementos integrarem-se Intégration d'un élément Integração de um elemento InteractiveMoveElementsHandler Renommer Renomear Écraser Apagar Écraser tout Apagar tudo Ignorer Ignorar Ignorer tout Ignorar tudo Annuler Desfazer Copie de %1 vers %2 dialog title Copiar de %1 para %2 La catégorie « %1 » (%2) existe déjà. Que souhaitez-vous faire ? dialog content A categoria "%1" (%2) Já existe. O que pretende fazer? L'élément « %1 » existe déjà. Que souhaitez-vous faire ? dialog content O elemento "%1" Já existe. O que pretende fazer? La catégorie %1 n'est pas accessible en lecture. message box content A categoria %1 não pode ser lida. L'élément %1 n'est pas accessible en lecture. message box content O elemento %1 não pode ser lido. La catégorie %1 n'est pas accessible en écriture. message box content A categoria %1 não está acessível para escrita. L'élément %1 n'est pas accessible en écriture. message box content O elemento %1 não está acessível para escrita. Erreur message box title Erro LineEditor abscisse point 1 ponto da abcissa 1 ordonnée point 1 ponto da ordenada 1 abscisse point 2 ponto da abcissa 2 ordonnée point 2 ponto da ordenada 2 Fin 1 Fim 1 Fin 2 Fim 2 type fin 1 fim de tipo 1 longueur fin 1 fim de comprimento 1 type fin 2 fim de tipo 2 longueur fin 2 fim de comprimento 2 Normale type of the 1st end of a line Normal Flèche simple type of the 1st end of a line Flecha simples Flèche triangulaire type of the 1st end of a line Flecha triangular Cercle type of the 1st end of a line Circulo Carré type of the 1st end of a line Quadrado Normale type of the 2nd end of a line Normal Flèche simple type of the 2nd end of a line Flecha simples Flèche triangulaire type of the 2nd end of a line Flecha triangular Cercle type of the 2nd end of a line Circulo Carré type of the 2nd end of a line Quadrado NamesListWidget Langue Língua Nom Nome Ajouter une ligne Adicionar uma linha Il doit y avoir au moins un nom. message box title Tem de existir pelo menos um nome. Vous devez entrer au moins un nom. message box content Tem de escolher pelo menos um nome. NewDiagramPage Nouveau schéma configuration page title Novo esquema NewElementWizard Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. Não necessita de especificar a extensão de ficheiro *.elmt. Será adicionada automaticamente. nouvel_element novo_elemento &Suivant > &Seguinte > Créer un nouvel élément : Assistant window title Criar um novo elemento : Assistente Étape 1/5 : Catégorie parente wizard page title Passo 1 de 5 : Categoria principal Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. wizard page subtitle Seleccione uma categoria para guardar o novo elemento. Étape 2/5 : Nom du fichier wizard page title Passo 2 de 5 : Nome do ficheiro Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. wizard page subtitle Coloque o nome do ficheiro para o novo elemento. Étape 3/5 : Noms de l'élément wizard page title Passo 3 de 5 : Nome dos elementos Indiquez le ou les noms de l'élément. wizard page subtitle Escolha um ou mais nomes para o elemento. Nom du nouvel élément default name when creating a new element Nome do novo elemento Étape 4/5 : Dimensions et point de saisie wizard page title Passo 4 de 5 : Tamanho e ponto âncora Saisissez les dimensions du nouvel élément ainsi que la position du hotspot (point de saisie de l'élément à la souris) en considérant que l'élément est dans son orientation par défaut. wizard page subtitle Coloque as dimensões pretendidas e o ponto âncora do novo elemento tendo em consideração que o elemento tem uma orientação padrão. Étape 5/5 : Orientations wizard page title Passo 5 de 5 : Orientações Indiquez les orientations possibles pour le nouvel élément. wizard page subtitle Coloque as orientações permitidas e não permitidas para o novo elemento. Erreur message box title Erro Vous devez sélectionner une catégorie. message box content Tem de seleccionar uma categoria. Vous devez entrer un nom de fichier message box content Tem de escolher um nome de ficheiro Merci de ne pas utiliser les caractères suivants : \ / : * ? " < > | message box content Por favor não utilize os seguintes caracteres: \ / : * ? < > | OrientationSetWidget Possible Permitido Impossible Não permitido Nord : Norte: Est : Este: Sud : Sul: Ouest : Oeste: Par défaut Padrão PolygonEditor Polygone fermé Polígono fechado x x y y Points du polygone : Pontos do polígono: fermeture du polygone Encerramento do polígono Erreur message box title Erro Le polygone doit comporter au moins deux points. message box content O polígono tem de conter pelo menos dois pontos. PrintConfigPage Impression configuration page title Impressão ProjectView Ce projet ne contient aucun schéma Este projecto não contém nenhum esquema Titre du projet : Título do projecto: Supprimer les éléments inutilisés dans le projet Apagar os elementos não usados neste projecto Supprimer les catégories vides Apagar as categorias vazias Enregistrer le schéma en cours ? message box title Gravar o esquema actual? Voulez-vous enregistrer le schéma %1 ? message box content - %1 is a diagram title Deseja gravar o esquema %1? Enregistrer le nouveau schéma ? message box title Gravar o novo esquema? Ce schéma a été ajouté mais n'a été ni modifié ni enregistré. Voulez-vous le conserver ? message box content Este esquema foi adicionado mas não foi modificado ou gravado. Deseja manter o esquema? Supprimer le schéma ? message box title Apagar o esquema? Êtes-vous sûr de vouloir supprimer ce schéma du projet ? Ce changement est irréversible. message box content Tem a certeza que deseja apagar este esquema do projecto? A acção é irreversível. Propriétés du projet window title Propriedades do projecto Projet en lecture seule message box title Projecto em modo de leitura Ce projet est en lecture seule. Il n'est donc pas possible de le nettoyer. message box content Este projecto está em modo de leitura. Não pode ser limpo. Nettoyer le projet window title Limpar o projecto Enregistrer sous dialog title Gravar como Schéma QElectroTech (*.qet) filetypes allowed when saving a diagram file Esquema QElectroTech (*.qet) Projet window title for a project-less ProjectView Projecto Enregistrer le projet en cours ? message box title Gravar o projecto actual? Voulez-vous enregistrer le projet ? message box content Deseja gravar o projecto? projet string used to generate a filename projecto Propriétés à utiliser lors de l'ajout d'un nouveau schéma au projet : Propriedades usadas quando um novo esquema é adicionado ao projecto: QETApp &Quitter &Sair &Masquer &Esconder &Restaurer &Ver &Masquer tous les éditeurs de schéma &Esconder os editores de esquemas &Restaurer tous les éditeurs de schéma &Mostrar os editores de esquemas &Masquer tous les éditeurs d'élément &Esconder os editores de elementos &Restaurer tous les éditeurs d'élément &Mostrar os editores de elementos &Nouvel éditeur de schéma &Novo editor de esquema &Nouvel éditeur d'élément &Novo editor de elemento Ferme l'application QElectroTech Fechar QElectroTech Réduire QElectroTech dans le systray Minimizar QElectroTech para a bandeja de sistema Restaurer QElectroTech Restaurar QElectroTech Éditeurs de schémas Editores de esquemas Éditeurs d'élément Editores de elementos Usage : Utilização: QElectroTech, une application de réalisation de schémas électriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QElectroTech, Um programa para o desenho de esquemas eléctricos. Opções disponiveis: --help Apresenta a ajuda -v, --version Apresenta a versão --license Apresenta a licença legal [options] [fichier]... [opções] [ficheiro]... --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Define a directoria da colecção de elementos --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Define a directoria de configuração --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Define a directoria dos ficheiros de linguagem Chargement... Éditeur de schémas splash screen caption A carregar... Editor de esquemas Chargement... Ouverture des fichiers splash screen caption A carregar... abertura dos ficheiros Chargement... splash screen caption A carregar... Chargement... icône du systray splash screen caption A carregar... Ícone da bandeja de sistema QElectroTech systray menu title QElectroTech QElectroTech systray icon tooltip QElectroTech QETDiagramEditor Afficha&ge Ve&r Affiche ou non le panel d'appareils Mostra ou não o painel de elementos Afficher Mostrar &Aide &Ajuda Ajouter une colonne Adicionar uma coluna À &propos de QElectroTech &Sobre QElectroTech À propos de &Qt Sobre &Qt &Cascade &Cascata C&oller &Colar &Configuration &Configurações &Configurer QElectroTech &Configurar QElectroTech Cop&ier &Copiar Co&uper Cort&ar Ctrl+0 Ctrl+0 Ctrl+9 Ctrl+9 Ctrl+I Ctrl+I Ctrl+Q Ctrl+Q Ctrl+Shift+A Ctrl+Shift+A Ctrl+Shift+F Ctrl+Shift+F Ctrl+Shift+I Ctrl+Shift+I Ctrl+Shift+X Ctrl+Shift+X Désélectionner tout Seleccionar nada &Édition &Editar Enlever une colonne Eliminar uma coluna &Enregistrer &Guardar Enregistrer sous Guardar como E&xporter &Exportar Fe&nêtres Ja&nelas &Fermer &Fechar &Fichier &Ficheiro &Importer &Importar Imprimer Imprimir Inverser la sélection Inverter a selecção Mode Selection Modo de selecção Mode Visualisation Modo de visualização &Mosaïque &Mosaico &Nouveau &Novo Outils Ferramentas &Ouvrir &Abrir Ouvrir un fichier Abrir um ficheiro Pas de zoom Sem zoom Passer en &mode plein écran Passar para &modo de ecrã completo Pivoter Rodar &Quitter &Sair Schémas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Esquemas QElectroTech (*.qet);;XML Files (*.xml);;All files (*) Sortir du &mode plein écran Sair do &modo de ecrã completo Supprimer Apagar Tout sélectionner Seleccionar tudo Zoom adapté Ajustar à janela Zoom arrière Diminuir Zoom Zoom avant Aumentar Zoom Annuler Desfazer Refaire Refazer Réinitialiser les conducteurs Reinicializar os condutores Ctrl+J Ctrl+J Ctrl+K Ctrl+K Propriétés du schéma Propriedades do esquema Ctrl+L Ctrl+L Affiche ou non la barre d'outils principale Mostra ou esconde a barra de ferramentas principal Affiche ou non la barre d'outils Affichage Mostra ou esconde a barra de ferramentas Mostrar Affiche ou non la barre d'outils Schéma Mostra ou esconde a barra de ferramentas Esquema Affichage mostra Schéma Esquema Conducteurs par défaut Condutores padrão Ctrl+D Ctrl+D Ajouter un champ de texte Adicionar um campo de texto Aucune modification Sem modificações Affiche ou non la liste des modifications Mostra ou esconde a lista de acções modificadas Ajouter une ligne Adicionar uma linha Enlever une ligne Apagar uma linha Ajouter un schéma Adicionar um esquema Supprimer le schéma Apagar o esquema Ctrl+T Ctrl+T Édite les propriétés des objets sélectionné status bar tip Edita as propriedades dos objectos seleccionados &Projet &Projecto Impossible d'ouvrir le fichier Não é possível abrir o ficheiro Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. A leitura do ficheiro que está a tentar abrir não parece ser possível e, por isso, não pode ser aberto. Por favor verifique as permissões do ficheiro. Ouverture du projet en lecture seule Abrir o ficheiro em modo só de leitura Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. O projecto que está a tentar abrir não parece ter prmissões de escrita. Será aberto em modo só de leitura. en utilisant des onglets Usar separadores en utilisant des fenêtres usar janelas Afficher les projets Mostra os projectos Propriétés du projet Propriedades do projecto Nettoyer le projet Limpar o projecto Échec de l'ouverture du projet message box title Não é possível abrir o projecto Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content O ficheiro %1 não é um ficheiro de projecto QElectroTech. Por esse motivo não é possível abrir o ficheiro. QElectroTech window title QElectroTech QElectroTech status bar message QElectroTech Panel d'éléments dock title Painel de elementos Annulations dock title Desfazer Propriétés de la sélection Propriedades da selecção Backspace Backspace Space Espaço Crée un nouveau schéma status bar tip Abrir um novo esquema Ouvre un schéma existant status bar tip Abrir um esquema existente Ferme le schéma courant status bar tip Fechar o esquema actual Enregistre le schéma courant status bar tip Guardar o esquema actual Enregistre le schéma courant avec un autre nom de fichier status bar tip Guarda o esquema actual com outro nome de ficheiro Importe un schéma dans le schéma courant status bar tip Importa um esquema para o esquema actual Exporte le schéma courant dans un autre format status bar tip Exporta o esquema actual para outro formato Imprime le schéma courant status bar tip Imprime o esquema actual Ferme l'application QElectroTech status bar tip Fecha QElectroTech Annule l'action précédente status bar tip Anula a acção anterior Restaure l'action annulée status bar tip Restaura a acção anulada Transfère les éléments sélectionnés dans le presse-papier status bar tip Transfere os elementos seleccionados para a área de transferência Copie les éléments sélectionnés dans le presse-papier status bar tip Copia os elementos seleccionados para a área de transferência Place les éléments du presse-papier sur le schéma status bar tip Cola os elementos da área de transferência no esquema Sélectionne tous les éléments du schéma status bar tip Selecciona todos os elementos do esquema Désélectionne tous les éléments du schéma status bar tip Anula a selecção de todos os elementos do esquema Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Anula a selecção dos elementos seleccionados e selecciona os elementos não seleccionados anteriormente Enlève les éléments sélectionnés du schéma status bar tip Remove os elementos seleccionados do esquema Pivote les éléments sélectionnés status bar tip Roda os elementos seleccionados Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Calcula novamente os caminhos dos condutores sem ter em conta as modificações Spécifie les propriétés par défaut des conducteurs status bar tip Especifica as propriedades padrão dos condutores Édite les informations affichées par le cartouche status bar tip Edita as informações apresentadas na moldura Ajoute une colonne au schéma status bar tip Adiciona uma coluna ao esquema Enlève une colonne au schéma status bar tip Remove uma coluna do esquema Agrandit le schéma en hauteur status bar tip Aumenta a altura do esquema Rétrécit le schéma en hauteur status bar tip Diminui a altura do esquema Agrandit le schéma status bar tip Expande o esquema Rétrécit le schéma status bar tip Diminui o esquema Adapte la taille du schéma afin qu'il soit entièrement visible status bar tip Adapta o tamanho do esquema de modo a que seja totalmente visivel Restaure le zoom par défaut status bar tip Restaura o Zoom padrão Présente les différents projets ouverts dans des sous-fenêtres status bar tip Apresenta os projectos abertos em janelas Présente les différents projets ouverts des onglets status bar tip Apresenta os projectos abertos em separadores Permet de sélectionner les éléments status bar tip Permite seleccionar elementos Permet de visualiser le schéma sans pouvoir le modifier status bar tip Permite visualizar o esquema sem o modificar Affiche QElectroTech en mode plein écran status bar tip Mostra o QElectroTech em modo de ecrã completo Impossible de retrouver cet élément dans le panel car il semble édité dans une autre fenêtre Não é possível recuperar este elemento no painel porque está a ser editado numa outra janela Impossible de retrouver cet élément dans le panel... rechargement du panel... Não é possível recuperar este elemento no painel... painel a recarregar... Impossible de retrouver cet élément dans le panel Não é possível recuperar este elemento no painel Affiche QElectroTech en mode fenêtré status bar tip Apresenta QElectroTech em modo de visualização por janelas Permet de régler différents paramètres de QElectroTech status bar tip Permite especificar vários parâmetros para QElectroTech Dispose les fenêtres en mosaïque status bar tip Dispôe as janelas em mosaico Dispose les fenêtres en cascade status bar tip Dispôe as janelas em cascata Affiche des informations sur QElectroTech status bar tip Apresenta informações sobre QElectroTech Affiche des informations sur la bibliothèque Qt status bar tip Apresenta informações sobre as bibliotecas Qt &Enregistrer tous les schémas Guard&a todos os esquemas Enregistre tous les schémas du projet courant status bar tip Guarda todos os esquemas do projecto actual Projet suivant Projecto seguinte Projet précédent Projecto anterior Active le projet suivant status bar tip Activa o projecto seguinte Active le projet précédent status bar tip Activa o projecto anterior Active le projet « %1 » Activa o projecto "%1" QETElementEditor &Nouveau &Novo &Ouvrir &Abrir &Enregistrer &Guardar Enregistrer sous Guardar como &Quitter &Sair Tout sélectionner Seleccionar tudo Désélectionner tout Seleccionar nada Inverser la sélection Inverter a selecção &Supprimer &Apagar Éditer la taille et le point de saisie Editar tamanho e ponto âncora Éditer les noms Editar nomes Éditer les orientations Editar orientações Déplacer un objet Mover um objecto Ajouter une ligne Adicionar uma linha Ajouter une ellipse Adicionar uma elipse Ajouter un cercle Adicionar um circulo Ajouter un polygone Adicionar um polígono Ajouter du texte Adicionar texto Ajouter un arc de cercle Adicionar um arco Ajouter une borne Adicionar um terminal Ajouter un champ de texte Adicionar um campo de texto Annuler Desfazer Refaire Refazer Ctrl+Q Ctrl+Q Ctrl+Shift+A Ctrl+Shift+A Ctrl+I Ctrl+I Afficher Mostrar La vérification de cet élément a généré %n avertissement(s) : message box content A verificação deste elemento originou um aviso: A verificação deste elemento originou %n avisos: <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 Ctrl+E Ctrl+E Ctrl+R Ctrl+R Ctrl+T Ctrl+T Rapprocher elevar Éloigner baixar Envoyer au fond enviar para segundo plano Amener au premier plan colocar em primeiro plano Ctrl+Shift+Up Ctrl+Shift+Up Ctrl+Shift+Down Ctrl+Shift+Down Ctrl+Shift+End Ctrl+Shift+End Ctrl+Shift+Home Ctrl+Shift+Home Aucune modification No modification Recharger Recarregar Zoom avant Aumentar Zoom Zoom arrière Diminuir Zoom Zoom adapté Ajustar à janela Pas de zoom Sem zoom Ctrl+9 Ctrl+9 Ctrl+0 Ctrl+0 &Ouvrir depuis un fichier &Abrir a partir de um ficheiro Enregistrer dans un fichier Guardar para um ficheiro Ctrl+Shift+O Ctrl+Shift+O Ctrl+Shift+S Ctrl+Shift+S QElectroTech - Éditeur d'élément window title QElectroTech - Editor de elementos un fichier um ficheiro un élément um elemento Éditer les informations sur l'auteur Editar as informações sobre o autor &Configurer QElectroTech &Configurar QElectroTech À &propos de QElectroTech &Sobre QElectroTech À propos de &Qt Sobre &Qt Permet de régler différents paramètres de QElectroTech status bar tip Permite especificar vários parâmetros para QElectroTech Affiche des informations sur QElectroTech status bar tip Apresenta informações sobre QElectroTech Affiche des informations sur la bibliothèque Qt status bar tip Apresenta informações sobre as bibliotecas Qt Backspace Backspace Ctrl+Shift+F Ctrl+Shift+F Ctrl+Y Ctrl+Y Parties toolbar title Partes Outils toolbar title Ferramentas Affichage toolbar title mostra Élément toolbar title Elemento Profondeur toolbar title Profundidade &Fichier &Ficheiro &Édition &Editar Afficha&ge Ve&r O&utils Ferra&mentas &Configuration &Configurações &Aide &Ajuda Coller depuis... Colar a partir de... Sortir du &mode plein écran Sair do &modo de écran completo Affiche QElectroTech en mode fenêtré status bar tip Apresenta QElectroTech em modo de visualização por janelas Passer en &mode plein écran Passar para &modo de écran completo Affiche QElectroTech en mode plein écran status bar tip Mostra o QElectroTech em modo de écran completo [Modifié] window title tag [Modificado] [lecture seule] window title tag [só leitura] Informations dock title Informações Annulations dock title Desfazer Parties dock title Partes Éditeur d'éléments status bar message Editor de elementos %n partie(s) sélectionnée(s). %n parte seleccionada. %n partes seleccionadas. Dimensions de l'élément warning title Dimensões do elemento Certaines parties graphiques (textes, cercles, lignes...) semblent déborder du cadre de l'élément. Cela risque de générer des bugs graphiques lors de leur manipulation sur un schéma. Vous pouvez corriger cela soit en déplaçant ces parties, soit en vous rendant dans Édition > Éditer la taille et le point de saisie. warning description Alguns componentes gráficos (texto, circulos, linhas, ...) aparentam estar fora da borda do elemento. Isto pode gerar erros gráficos quando o elemento fôr movido no esquema. Pode resolver a situação movendo essas partes ou usando Editar > Editar tamanho e ponto âncora. Absence de borne warning title Borne em falta L'élément ne comporte aucune borne. Un élément doit comporter des bornes afin de pouvoir étre relié à d'autres éléments par l'intermédiaire de conducteurs. warning description O elemento não tem nenhum borne. Um elemento tem de ter bornes de modo a poder ser conectado com outro elemento através de condutores. Avertissements messagebox title Avisos Le fichier %1 n'existe pas. message box content O ficheiro %1 não existe. Impossible d'ouvrir le fichier %1. message box content Não é possível abrir o ficheiro %1. Ce fichier n'est pas un document XML valide message box content Este ficheiro não é um documento XML válido Erreur toolbar title Erro Édition en lecture seule message box title Edição modo de leitura Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Não tem permissões para editar esta categoria. Será aberta em modo de leitura. Erreur message box title Erro Impossible d'écrire dans ce fichier message box content Não é possível escrever neste ficheiro Impossible d'atteindre l'élément message box content Não é possível aceder ao elemento Impossible d'enregistrer l'élément message box content Não é possível guardar o elemento Trop de primitives, liste non générée. Demasiados objectos, lista não gerada. Ouvrir un fichier dialog title Abrir um ficheiro Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Elementos QElectroTech (*.elmt);;XML files (*.xml);;All files (*) Recharger l'élément dialog title Recarregar o elemento Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Este elemento foi modificado desde a última vez que o guardou. Se o recarregar as alterações serão perdidas. Tem a certeza que deseja recarregar este elemento? Enregistrer sous dialog title Gravar como Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Elementos QElectroTech (*.elmt) Enregistrer l'élément en cours ? dialog title Guardar o elemento actual? Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Deseja gravar o elemento %1? Élément inexistant. message box title Elemento não existente. L'élément n'existe pas. message box content O elemento não existe. Le chemin virtuel choisi ne correspond pas à un élément. message box content O caminho virtual escolhido não corresponde a um elemento. Maintenez la touche Shift enfoncée pour effectuer plusieurs ajouts d'affilée Premir a tecla Shift para adicionar diversas partes de uma só vez Utilisez le bouton droit de la souris pour poser le dernier point du polygone Utilizar o botão direito do rato para definir o último ponto do polígono Co&uper Cort&ar Cop&ier Copi&ar C&oller &Colar C&oller dans la zone... co&lar na área... Ctrl+Shift+V Ctrl+Shift+V Ajouter un rectangle Adicionar um rectângulo QETPrintPreviewDialog QElectroTech : Aperçu avant impression QElectroTech: Previsão da impressão Schémas à imprimer : Esquemas a imprimir: Tout cocher Seleccionar todos Tout décocher Desmarcar todos Cacher la liste des schémas Esconder a lista de esquemas Cacher les options d'impression Esconder as opções de impressão Ajuster la largeur Ajustar à largura Ajuster la page Ajustar à página Zoom arrière Diminuir zoom Zoom avant Aumentar zoom Paysage Paisagem Portrait Retrato Première page Primeira página Page précédente Página anterior Page suivante Página seguinte Dernière page Última página Afficher une seule page Mostrar uma única página Afficher deux pages Mostrar duas páginas Afficher un aperçu de toutes les pages Mostrar todas as páginas Mise en page Disposição da página Mise en page (non disponible sous Windows pour l'impression PDF/PS) Disposição da página (não disponivel em Windows para impressão em PDF/PS) Options d'impression Opções de impressão Utiliser toute la feuille Utilizar página inteira Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Com esta opção seleccionada as margens definidas do papel serão ignoradas e toda a sua superficie será usada para a impressão. Esta opção poderá não ser suportada pela sua impressora. Adapter le schéma à la page Ajustar o esquema à página Si cette option est cochée, le schéma sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page. Com esta opção seleccionada o esquema será encolhido ou expandido para se ajustar à superficie de impressão de uma única página. Imprimer Imprimir Afficher la liste des schémas Mostra a lista de esquemas Afficher les options d'impression Mostra as opções de impressão %1 % %1% QETProject Impossible de créer la catégorie pour l'intégration des éléments Não é possível criar a categoria dedicada à integração dos elementos Impossible d'accéder à l'élément a intégrer Não é possível aceder ao elemento a integrar Un problème s'est produit pendant la copie de la catégorie %1 Ocurreu um erro durante a cópia da categoria %1 Un problème s'est produit pendant la copie de l'élément %1 Ocurreu um erro durante a cópia do elemento %1 Avertissement message box title Aviso Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue. message box content Este documento aparenta ter sido guardado usando uma versão mais recente de QElectroTech. A abertura deste documento pode falhar total ou parcialmente. Projet « %1 » displayed title for a ProjectView - %1 is the project title Projecto "%1" Projet %1 displayed title for a title-less project - %1 is the file name Projecto %1 Projet sans titre displayed title for a project-less, file-less project Projecto sem título %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [só leitura] QFileNameEdit Les caractères autorisés sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.] tooltip content when editing a filename Os caracteres permitidos são: - números [0-9] - letras minusculas [a-z] - traço [-], traço de relevo [_] e ponto [.] QObject Exporter vers le presse-papier Exportar para a àrea de transferência Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? O ficheiro de texto que contém a licença GNU/GPL não foi encontrado - ah, de qualquer modo conhece-a de cor, não é? Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? O ficheiro de texto que contém a licença GNU/GPL existe mas não pôde ser aberto - ah, de qualquer modo conhece-a de cor, não é? Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Aviso: o elemento foi guardado usando uma versão mais recente de QElectroTech. ajouter 1 %1 undo caption - %1 is an element name adicionar 1 %1 Ajouter un champ de texte undo caption Adicionar campo de texto ajouter un conducteur undo caption adicionar um condutor supprimer %1 undo caption - %1 is a sentence listing the removed content apagar %1 coller %1 undo caption - %1 is a sentence listing the content to paste colar %1 couper %1 undo caption - %1 is a sentence listing the content to cut cortar %1 déplacer %1 undo caption - %1 is a sentence listing the moved content mover %1 modifier le texte undo caption modificar o texto pivoter %1 undo caption - %1 is a sentence listing the rotated content rodar %1 modifier un conducteur undo caption modificar um condutor Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Reinicializar %1 modifier le cartouche undo caption modificar a moldura modifier les dimensions du schéma undo caption modificar tamanho do esquema modifier les propriétés d'un conducteur undo caption modificar as propriedades do condutor suppression undo caption apagar déplacement undo caption mover ajout %1 undo caption inserir %1 modification %1 undo caption modificar %1 modification points polygone undo caption modificar pontos do polígono modification dimensions/hotspot undo caption modificar tamanho/ponto âncora modification noms undo caption modificar nomes modification orientations undo caption modificar orientações amener au premier plan undo caption colocar em primeiro plano rapprocher undo caption elevar éloigner undo caption baixar envoyer au fond undo caption enviar para segundo plano modification connexions internes undo caption modificar conexões internas modification informations complementaires undo caption Modificar informações complementares arc element part name arco cercle element part name circulo ellipse element part name elipse ligne element part name linha polygone element part name polígono borne element part name terminal T default text when adding a text in the element editor T texte element part name texto _ default text when adding a textfield in the element editor _ champ de texte element part name campo de texto %n élément(s) part of a sentence listing the content of a diagram %n elemento %n elementos , separator between elements and conductors in a sentence listing the content of a diagram , et separator between elements and conductors (or texts) in a sentence listing the content of a diagram e %n conducteur(s) part of a sentence listing the content of a diagram %n condutor %n condutores et separator between conductors and texts in a sentence listing the content of a diagram e %n champ(s) de texte part of a sentence listing the content of a diagram %n campo de texto %n campos de texto Borne tooltip Terminal coller colar couper des parties undo caption cortar partes rectangle element part name rectângulo Schéma sans titre Esquema sem título schema esquema Conserver les proportions Conservar proporções Réinitialiser les dimensions Reinicializar dimensões Aperçu Antevisão RecentFiles &Récemment ouvert(s) &Recentemente abertos RectangleEditor Coin supérieur gauche : Canto superior esquerdo: Dimensions : Dimensões: Largeur : Largura: Hauteur : Altura: abscisse abcissa ordonnée ordenada largeur largura hauteur altura StyleEditor Antialiasing Antialiasing Trait : Linha: Couleur : Côr: Style : Estilo: Épaisseur : Espessura: Remplissage : Preenchimento: Noir element part color Preto Blanc element part color Branco Normal element part line style Normal Pointillé element part line style Tracejado Nulle element part weight Nulo Fine element part weight Fino Normale element part weight Normal Aucun element part filling Nenhum Noir element part filling Preto Blanc element part filling Branco TerminalEditor Nord Norte Est Este Sud Sul Ouest Oeste Position : Posição: x : x: y : y: Orientation : Orientação: abscisse abcissa ordonnée Ordenada orientation orientação TextEditor Position : Posição: x : x: y : y: Taille : Tamanho: Texte : Texto: abscisse abcissa ordonnée ordenada taille tamanho contenu conteúdo TextFieldEditor Maintenir horizontal malgré les rotations de l'élément Manter horizontal apesar das rotações do elemento Position : Posição: x : x: y : y: Taille : Tamanho: Texte par défaut : Texto padrão: abscisse abcissa ordonnée ordenada taille tamanho propriété propriedade contenu conteúdo qelectrotech-0.22+svn897/lang/qet_es.ts0000644000175000017500000061456711346742300017673 0ustar laurentlaurent AboutQET QElectroTech, une application de réalisation de schémas électriques. QElectroTech, una aplicación de realización de esquemas eléctricos. © 2006-2010 Les développeurs de QElectroTech © 2006-2010 Los desarrolladores de QElectroTech Idée originale Idea original Programmation Programación Traduction en russe Traducción al ruso Traduction en portugais Traducción al portugués Traduction en tchèque Traducción al checo Paquets Fedora Fedora paquetes Paquets Mandriva Mandriva paquetes Paquets Debian Debian paquetes Icônes Iconos Ce programme est sous licence GNU/GPL. Este programa está bajo licencia GNU/GPL. À propos de QElectrotech window title Acerca de QElectroTech À &propos tab title &Acerca de A&uteurs tab title A&utores &Traducteurs tab title &Traductores &Contributeurs tab title &Contribuyentes &Accord de licence tab title Acuerdo de &licencia Traduction en espagnol Traducción al español ArcEditor Centre : Centro: Diamètres : Diámetros: horizontal : horizontal: vertical : vertical: Angle de départ : Ángulo inicial: Angle : Ángulo: abscisse abscisa ordonnée ordenada diamètre horizontal diámetro horizontal diamètre vertical diámetro vertical angle de départ ángulo inicial angle ángulo BorderInset Auteur : %1 inset content Autor: %1 Date : %1 inset content Fecha: %1 Fichier : %1 inset content Archivo: %1 Folio : %1 inset content Folio: %1 BorderPropertiesWidget Dimensions du schéma Dimensiones del esquema Colonnes : Columnas: Afficher les en-têtes Mostrar los encabezamientos Lignes : Filas: × multiplication symbol × px unit for cols width px px unit for rows height px CircleEditor Centre : Centra: Diamètre : Diámetro: abscisse abscisa ordonnée ordenada diamètre diámetro ConductorPropertiesWidget Type de conducteur Tipo de conductor Simple Simple Multifilaire Multilínea Texte : Texto: Unifilaire Monolínea phase fasor terre tierra neutre neutro Apparence du conducteur Aspecto del conductor Couleur : Color: Trait en pointillés Línea de puntos ConfigDialog Configurer QElectroTech window title Configurar QElectroTech DiagramPrintDialog Options d'impression window title Opciones de impresión Quel type d'impression désirez-vous effectuer ? ¿Qué tipo de impresión desea hacer? Impression sur une imprimante physique Print type choice Impresión a una impresora física Impression vers un fichier au format PDF Print type choice Impresión a un archivo PDF Impression vers un fichier au format PostScript (PS) Print type choice Impresión a un archivo PostScript (PS) Choix du type d'impression Elección del tipo de impresión Fichier manquant message box title Archivo faltando Vous devez indiquer le chemin du fichier PDF/PS à créer. message box content Debe especificar la ruta del archivo PDF / PS a crear. Fichiers PDF (*.pdf) file filter Archivos PDF (*.pdf) Fichiers PostScript (*.ps) file filter Archivos PostScript (*.ps) DiagramView Schéma sans titre Esquema sin título Coller ici context menu action Pegar aquí Schéma %1 %1 is a diagram title Esquema %1 Propriétés du schéma window title Propiedades del esquema Propriétés de la sélection Propiedades de la selección La sélection contient %1. %1 is a sentence listing the selected objects La selección contiene %1. Élément manquant Elemento faltando Élément Elemento Nom : %1 Nombre: %1 Position : %1 Posición: %1 Dimensions : %1×%2 Tamaños: %1×%2 Bornes : %1 Conectores: %1 Connexions internes : %1 Conecciones internas: %1 Autorisées Autorizadas Interdites Prohibidas Champs de texte : %1 Campos de texto: %1 Emplacement : %1 Emplazamiento: %1 Propriétés de l'élément sélectionné Propiedades del element seleccionado Retrouver dans le panel Econtrar en el panel Éditer l'élément Editar el elemento Éditer les propriétés d'un conducteur window title Editar las propiedades de un conductor Éditer les propriétés par défaut des conducteurs window title Editar las propiedades predeterminadas de los conductores DiagramsChooser Schéma sans titre Esquema sin título ElementDefinition L'élément cible n'a pu être créé. No se ha podido crear el elemento. La suppression de cet élément a échoué. No se ha podido eliminar este elemento. ElementDeleter Supprimer l'élément ? message box title ¿Borrar el elemento? Êtes-vous sûr de vouloir supprimer cet élément ? message box content ¿Realmente quiere borrar este elemento? Suppression de l'élément message box title Borrado del elemento La suppression de l'élément a échoué. message box content El borrado del elemento falló. ElementDialog Nom : Nombre: Ouvrir un élément dialog title Abrir un elemento Choisissez l'élément que vous souhaitez ouvrir. dialog content Elige el elemento que quiere abrir. Enregistrer un élément dialog title Guardar un elemento Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Elige un elemento en lo que quieres guardar su definición. Ouvrir une catégorie dialog title Abrir una categoría Choisissez une catégorie. dialog content Elige una categoría. Enregistrer une catégorie dialog title Guardar un elemento Pas de sélection message box title No hay selección Vous devez sélectionner un élément. message box content Tiene que seleccionar un elemento. Sélection inexistante message box title No existe selección La sélection n'existe pas. message box content Lo selectado no existe. Sélection incorrecte message box title Selección incorrecto La sélection n'est pas un élément. message box content Lo selectado no es un elemento. Vous devez sélectionner une catégorie ou un élément. message box content Tienes que seleccionar una categoría o un elemento. Nom manquant message box title Nombre faltando Vous devez entrer un nom pour l'élément message box content Tienes que escribir un nombre para el elemento Nom invalide message box title Nombre no válido Vous ne pouvez pas utiliser les caractères suivants dans le nom de l'élément : %1 No puede usar los caracteres siguientes en el nombre del elemento: %1 Écraser l'élément ? message box title ¿Sobrescribir el elemento? L'élément existe déjà. Voulez-vous l'écraser ? message box content El elemento ya existe. Quiere sobrescribirlo? ElementScene ligne linea ellipse elipse arc arco cercle círculo borne conector texte texto champ de texte campo de texto polygone polígono L'orientation par défaut est l'orientation dans laquelle s'effectue la création de l'élément. Por defecto, la orientación es la orientación usada durante la creación del elemento. Autoriser les connexions internes Permitir las conecciones internas Éditer les informations sur l'auteur window title Editar la información sobre el autor Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Usted puede utilizar este campo en blanco para indicar los autores de los elementos, su licencia, o cualquier otra información que considere útil. Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Puede escribir el nombre del elemento en varias lenguas. Ce document XML n'est pas une définition d'élément. error message Este documento XML no es una definición de elemento. Les dimensions ou le point de saisie ne sont pas valides. error message Los tamaños o el hotspot no son valides. Les orientations ne sont pas valides. error message Las orientaciones no son valides. Éditer la taille et le point de saisie window title Editar el tamaño o el hotspot Éditer les orientations window title Editar las orientaciones Éditer les noms window title Editar los nombres rectangle rectángulo ElementsCategoriesList Collection projet Colección proyecto Collection QET Colección QET Collection utilisateur Colección usuario ElementsCategoriesWidget Recharger les catégories Recargar las categorías Nouvelle catégorie Nueva categoría Éditer la catégorie Editar la categoría Supprimer la catégorie Borrar la categoría ElementsCategory La copie d'une catégorie vers elle-même ou vers l'une de ses sous-catégories n'est pas gérée. Copiar una categoría en si mismo o en una de sus subcategorías no es posible. Il n'est pas possible de déplacer une collection. No es posible mover una colección. Le déplacement d'une catégorie dans une de ses sous-catégories n'est pas possible. Mover una categoría en unas de sus subcategorías no es posible. La suppression de cette catégorie a échoué. Fracasó la eliminación de esta categoría. Impossible de supprimer l'élément Imposible de eliminar el elemento Impossible de supprimer la catégorie Imposible de eliminar una categoría ElementsCategoryDeleter Vider la collection ? message box title ¿Vaciar la colección? Êtes-vous sûr de vouloir vider cette collection ? message box content ¿Está seguro de querer vaciar esta colección? Supprimer la catégorie ? message box title ¿Borrar la categoría? Êtes-vous sûr de vouloir supprimer la catégorie ? Tous les éléments et les catégories contenus dans cette catégorie seront supprimés. message box content ¿Realmente quiere borrar esta categoría? Todos los elementos y categorías de estas categorías van a ser borrados. Êtes-vous vraiment sûr de vouloir supprimer cette catégorie ? Les changements seront définitifs. message box content ¿Est realmente seguro de borrar esta categoría? Los cambios no podrían ser revertidos. Suppression de la catégorie message box title Borrado de la categoría La suppression de la catégorie a échoué. message box content El borrado de la categoría falló. ElementsCategoryEditor Nom interne : Nombre interno: Vous pouvez spécifier un nom par langue pour la catégorie. Se puede dar un nombre por cada idioma para la categoría. Catégorie inexistante message box title Esta categoría no existe La catégorie demandée n'existe pas. Abandon. message box content La categoría pedida no existe. Aborto. Éditer une catégorie window title Editar una categoría Créer une nouvelle catégorie window title Crear una nueva categoría Nom de la nouvelle catégorie default name when creating a new category Nombre de la nueva categoría Édition en lecture seule message box title Edición en lectura sola Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content No tiene los derechos para editar esta categoría. Por eso se abre en lectura sola. Nom interne manquant message box title Falta un nombre interno Vous devez spécifier un nom interne. message box content Puede dar un nombre interno. Nom interne déjà utilisé message box title Nombre interno ya usado Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content El nombre interno que ha escogido es ya usado para una categoría que existe. Por favor elige otro nombre. Erreur message box title Error Impossible de créer la catégorie message box content Imposible de crear esta categoría Impossible d'enregistrer la catégorie message box content Imposible de guardar la categoría ElementsCollection Il n'est pas possible de déplacer une collection. No es posible mover una colección. ElementsPanel Collection projet Colección proyecto Schéma sans titre Esquema sin título Ceci est un élément que vous pouvez insérer dans votre schéma par cliquer-déplacer Eso es un elemento que se puede insertar en su esquema con clicar-mover Cliquer-déposez cet élément sur le schéma pour insérer un élément Arrastar y soltar este elemento al esquema para insertar un elemento Collection QET Colección QET Collection utilisateur Colección usuario %1 [non utilisé dans le projet] %1 [no usado en el proyecto] Pas de fichier tooltip for a file-less project in the element panel No hay archivo ElementsPanelWidget Recharger les collections Recargar las colecciónes Nouvelle catégorie Nueva categoría Éditer la catégorie Editar la categoría Supprimer la catégorie Eliminar la categoría Vider la collection Vaciar la colección Nouvel élément Nuevo elemento Importer un élément Importar un elemento Éditer l'élément Editar el elemento Supprimer l'élément Eliminar el elemento Fermer ce projet Cerrar este proyecto Propriétés du projet Propiedades del proyecto Ajouter un schéma Añadir un esquema Supprimer ce schéma Eliminar este esquema Remonter ce schéma Subir este esquema Abaisser ce schéma Bajar este esquema Effacer le filtre Borrar un filtro Filtrer : Filtrar: Vous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catégories. Puede usar este gestionario para agregar, eliminar o editar las categorías. Déplacer dans cette catégorie Mover en esta categoría Copier dans cette catégorie Copiar en esta categoría Annuler Deshacer Gestionnaire de catégories window title Gestionario de categorías Propriétés du schéma Propiedades del esquema EllipseEditor Centre : Centro: Diamètres : Diámetros: horizontal : horizontal: vertical : vertical: abscisse abscisa ordonnée ordenada diamètre horizontal diámetro horizontal diamètre vertical diámetro vertical ExportConfigPage Export configuration page title Exportación ExportDialog Dimensions Tamaños Aperçu Vista previa Impossible d'écrire dans ce fichier message box title Imposible escribir en el archivo Exporter les schémas du projet window title Exportar los esquemas del proyecto Exporter Exportar Choisissez les schémas que vous désirez exporter ainsi que leurs dimensions : Elige los esquemas con sus tamaños que desea exportar: Schéma Esquema Nom de fichier Nombre de archivo Vous devez entrer un nom de fichier non vide et unique pour chaque schéma à exporter. message box content Tiene que entrar un nombre de archivo non vacío y único para cada esquema a exportar. Noms des fichiers cibles message box title Nombres de los archivos de destino Dossier non spécifié message box title Se necesita una carpeta Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Tiene que dar un camino a la carpeta en que se va grabar los archivos de imágines. Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Parece que no tiene los permisos necesarios para escribir en el archivo %1. ExportDialog::ExportDiagramLine px px ExportPropertiesWidget Exporter dans le dossier dialog title Exportar en la carpeta Dossier cible : Carpeta de destino: Parcourir Navegar Format : Formato: PNG (*.png) PNG (*.png) JPEG (*.jpg) JPEG (*.jpg) Bitmap (*.bmp) Bitmap (*.bmp) SVG (*.svg) SVG (*.svg) Options de rendu groupbox title Opciones de representación Conserver les couleurs des conducteurs Preservar los colores de los conductores Exporter le cadre Exportar el cuadro Exporter les éléments Exportar los elementos Dessiner la grille Dibujar la reja Dessiner le cadre Dibujar el cuadro Dessiner le cartouche Dibujar el cartucho Dessiner les bornes Dibujar conectores GeneralConfigurationPage Apparence Aspecto Utiliser les couleurs du système Usar colores del sistema Projets Proyectos Utiliser des fenêtres Utilizar ventanas Utiliser des onglets Utilizar pestañas Ces paramètres s'appliqueront dès la prochaine ouverture d'un éditeur de schémas. Estos parámetros van ser activados la próxima vez que se va a abrir un editor de esquemas. Gestion des éléments Gestionario de elementos Intégrer automatiquement les éléments dans les projets (recommandé) Automáticamente integrar los elementos en los proyectos (recomendado) Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Cada elemento da información sobre sus autores, su licencia, o cualquier otra información que considere útil en un campo abierto. Puede establecer el valor por defecto de este campo para los elementos que usted cree: Général configuration page title General GhostElement <u>Élément manquant :</u> %1 <u>Elemento faltando:</u> %1 HotspotEditor ×10 px ×10 px px px Déplacer l'élément avec le hotspot Mover el elemento con el hotspot <span style="text-decoration:underline;">Dimensions</span> <span style="text-decoration:underline;">Dimensiones</span> Largeur : Anchura: Hauteur : Altura: <span style="text-decoration:underline;">Hotspot</span> <span style="text-decoration:underline;">Hotspot</span> Abscisse : Abscisa: Ordonnée : Ordenada: L'élément doit être assez grand pour contenir tout sa représentation graphique. El elemento tiene que ser suficientemente grande para contener la representación gráfica entera. InsetPropertiesWidget Informations du cartouche Informaciones sobre el cartucho Pas de date No fecha Date courante Fecha actual Date fixe : Fecha fixada: Titre : Título: Auteur : Autor: Date : Fecha: Fichier : Archivo: Folio : Folio: Les variables suivantes sont utilisables dans le champ Folio : - %id : numéro du schéma courant dans le projet - %total : nombre total de schémas dans le projet Las variables siguientes pueden ser usadas en el campo Folio: - %id: número del esquema corriente en el proyecto - %total: número total de esquemas en el proyecto IntegrationMoveElementsHandler L'élément a déjà été intégré dans le projet. Toutefois, la version que vous tentez de poser semble différente. Que souhaitez-vous faire ? dialog content - %1 is an element's path name El elemento ya fue incluido en el proyecto. Sin embargo, la versión que trate de poner parece ser diferente. ¿Que desea hacer? Utiliser l'élément déjà intégré dialog content Usar un elemento ya incluido Intégrer l'élément déposé dialog content Incluir el elemento colocado Écraser l'élément déjà intégré dialog content Sobreescribir el elemento ya incluido Faire cohabiter les deux éléments dialog content Hacer que dos elementos coexisten Intégration d'un élément Inclusión de un elemento InteractiveMoveElementsHandler Renommer Renombrar Écraser Sobreescribir Écraser tout Sobreescribir todo Ignorer Ignorar Ignorer tout Ignorar todo Annuler Deshacer Copie de %1 vers %2 dialog title Copia de %1 hacia %2 La catégorie « %1 » (%2) existe déjà. Que souhaitez-vous faire ? dialog content La categoría « %1 » (%2) ya existe. ¿ Que desea hacer? L'élément « %1 » existe déjà. Que souhaitez-vous faire ? dialog content El elemento « %1 » ya existe. ¿Que desea hacer? La catégorie %1 n'est pas accessible en lecture. message box content La categoría %1 no se puede acceder en lectura. L'élément %1 n'est pas accessible en lecture. message box content El elemento %1 no se puede acceder en lectura. La catégorie %1 n'est pas accessible en écriture. message box content La categoría %1 no se puede acceder en escritura. L'élément %1 n'est pas accessible en écriture. message box content El elemento %1 no se puede acceder en escritura. Erreur message box title Error LineEditor Fin 1 Fin 1 Fin 2 Fin 2 abscisse point 1 abscisa punto 1 ordonnée point 1 ordenada punto 1 abscisse point 2 abscisa punto 2 ordonnée point 2 ordenada punto 2 type fin 1 tipo fin 1 longueur fin 1 longitud fin 1 type fin 2 tipo fin 2 longueur fin 2 longitud fin 2 Normale type of the 1st end of a line Normal Flèche simple type of the 1st end of a line Flecha simple Flèche triangulaire type of the 1st end of a line Flecha triangular Cercle type of the 1st end of a line Círculo Carré type of the 1st end of a line Cuadrado Normale type of the 2nd end of a line Normal Flèche simple type of the 2nd end of a line Flecha simple Flèche triangulaire type of the 2nd end of a line Flecha triangular Cercle type of the 2nd end of a line Círculo Carré type of the 2nd end of a line Cuadrado NamesListWidget Langue Idioma Nom Nombre Ajouter une ligne Añadir una línea Il doit y avoir au moins un nom. message box title Se necesita al menos un nombre. Vous devez entrer au moins un nom. message box content Tiene que escribir al menos un nombre. NewDiagramPage Nouveau schéma configuration page title Nuevo esquema NewElementWizard &Suivant > &Siguiente > nouvel_element nuevo_elemento Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. No es obligatorio dar la extensión *.elmt. Se va agregar esta extensión automáticamente. Créer un nouvel élément : Assistant window title Crear un nuevo elemento: Asistente Étape 1/5 : Catégorie parente wizard page title Etapa 1/5: Caegoría pariente Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. wizard page subtitle Selecciona una categoría donde grabar el nuevo elemento. Étape 2/5 : Nom du fichier wizard page title Etapa 2/5: Nombre del archivo Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. wizard page subtitle Escribe el nombre del archivo donde grabar el nuevo elemento. Étape 3/5 : Noms de l'élément wizard page title Etapa 3/5: Nombres del elemento Indiquez le ou les noms de l'élément. wizard page subtitle Escribe el nombre o los nombres del elemento. Nom du nouvel élément default name when creating a new element Nombre del nuevo elemento Étape 4/5 : Dimensions et point de saisie wizard page title Etapa 4/5: Dimensiones y hotspot Saisissez les dimensions du nouvel élément ainsi que la position du hotspot (point de saisie de l'élément à la souris) en considérant que l'élément est dans son orientation par défaut. wizard page subtitle Escribe las dimensiones del nuevo elemento y la posición del hotspot (punto de referencia de la imagen cuando arrastan con el ratón), suponiendo que el elemento es un su orientación por defecto. Étape 5/5 : Orientations wizard page title Etapa 5/5: Orientaciones Indiquez les orientations possibles pour le nouvel élément. wizard page subtitle De las oientaciones posibles del nuevo elemento. Erreur message box title Error Vous devez sélectionner une catégorie. message box content Tiene que seleccionar una categoría. Vous devez entrer un nom de fichier message box content Tiene que dar un nombre de archivo Merci de ne pas utiliser les caractères suivants : \ / : * ? " < > | message box content Por favor no uses los caracteres siguientes: \ / : * ? " < > | OrientationSetWidget Possible Posible Impossible Imposible Nord : Norte: Est : Este: Sud : Sur: Ouest : Oeste: Par défaut Prédeterminado PolygonEditor Polygone fermé Polígono cerrado x x y y Points du polygone : Puntos del polígono: fermeture du polygone cierre del polígono Erreur message box title Error Le polygone doit comporter au moins deux points. message box content El polígono tiene que implicar al menos dos puntos. PrintConfigPage Impression configuration page title Impresión ProjectView Ce projet ne contient aucun schéma No hay ningun esquema en este proyecto Titre du projet : Título del proyecto: Supprimer les éléments inutilisés dans le projet Eliminar los elementos no usados en el proyecto Supprimer les catégories vides Eliminar categorías vacias Enregistrer le schéma en cours ? message box title ¿Grabar el esquema corriente? Voulez-vous enregistrer le schéma %1 ? message box content - %1 is a diagram title ¿Quiere grabar el esquema %1? Enregistrer le nouveau schéma ? message box title ¿Grabar el nuevo esquema? Ce schéma a été ajouté mais n'a été ni modifié ni enregistré. Voulez-vous le conserver ? message box content Se agregó el esquema, pero no fue editado tampoco guardado. ¿Quiere mantenerlo? Supprimer le schéma ? message box title ¿Eliminar el esquema? Êtes-vous sûr de vouloir supprimer ce schéma du projet ? Ce changement est irréversible. message box content ¿Estás seguro de eliminar el esquema del proyecto? Este cambio es irreversible. Propriétés du projet window title Propiedades del proyecto Projet en lecture seule message box title Proyecto en sólo lectura Ce projet est en lecture seule. Il n'est donc pas possible de le nettoyer. message box content Este proyecto es en sólo lectura. Por eso es imposible limpiarlo. Nettoyer le projet window title Limpiar el proyecto Enregistrer sous dialog title Guardar como Schéma QElectroTech (*.qet) filetypes allowed when saving a diagram file Esquema QElectroTech (*.qet) Projet window title for a project-less ProjectView Proyecto Enregistrer le projet en cours ? message box title ¿Guardar el proyecto corriente? Voulez-vous enregistrer le projet ? message box content ¿Quiere guardar el proyecto? projet string used to generate a filename proyecto Propriétés à utiliser lors de l'ajout d'un nouveau schéma au projet : Propiedades a utilizar al añadir un nuevo esquema al proyecto: QETApp &Quitter &Salir &Masquer &Esconder &Restaurer &Restaurar &Masquer tous les éditeurs de schéma &Esconder todos los editores de esquema &Restaurer tous les éditeurs de schéma &Restaurar todos los editores de esquema &Masquer tous les éditeurs d'élément &Esconder todos los editores de elementos &Restaurer tous les éditeurs d'élément &Restaurar todos los editores de elementos &Nouvel éditeur de schéma &Nuevo editor de esquema &Nouvel éditeur d'élément &Nuevo editor de elemento Ferme l'application QElectroTech Cierre el programa QElectroTech Réduire QElectroTech dans le systray Minimizar QElectroTech en el systray Restaurer QElectroTech Restaurar QElectroTech Éditeurs de schémas Editores de esquemas Éditeurs d'élément Editores de elementos Usage : Uso: [options] [fichier]... [opciones][archivo]... QElectroTech, une application de réalisation de schémas électriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QElectroTech, un programa para hacer esquemas de electricidad. Opciones disponibles: --help Mostrar la ayuda sobre las opciones -v, --version Mostrar la versión --license Mostrar la licencia --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Definir la carpeta de la colección de elementos --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Definir la carpeta de configuración --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Definir la carpeta con los archivos de idioma Chargement... Éditeur de schémas splash screen caption Cargando...Editor de esquemas Chargement... Ouverture des fichiers splash screen caption Cargando....Abriendo archivos Chargement... splash screen caption Cargando... Chargement... icône du systray splash screen caption Cargando icono del systray QElectroTech systray menu title QElectroTech QElectroTech systray icon tooltip QElectroTech QETDiagramEditor Aucune modification Ninguna modificación &Nouveau &Nuevo &Ouvrir &Abrir &Fermer &Cerrar &Enregistrer &Guardar Enregistrer sous Guardar como &Importer &Importar E&xporter E&xportar Imprimer Imprimir &Quitter &Salir Annuler Deshacer Refaire Rehacer Co&uper C&ortar Cop&ier &Copiar C&oller &Pegar Tout sélectionner Seleccionar todo Désélectionner tout Deseleccionar todo Inverser la sélection Invertir selección Supprimer Eliminar Pivoter Rotar Réinitialiser les conducteurs Reinicializar los conductores Conducteurs par défaut Predeterminados conductores Propriétés du schéma Propiedades del esquema Ajouter un champ de texte Añadir un campo de texto Ajouter une colonne Añadir una columna Enlever une colonne Retirar una columna Ajouter une ligne Añadir una línea Enlever une ligne Retirar una línea Propriétés du projet Propiedades del proyecto Ajouter un schéma Añadir un esquema Supprimer le schéma Eliminar el esquema Zoom avant Ampliar Zoom arrière Reducir Zoom adapté Ajustar Pas de zoom Tamaño actual en utilisant des onglets utilizando pestañas en utilisant des fenêtres utilizando ventanas Mode Selection Modo selección Mode Visualisation Modo visualización Space Espacio Passer en &mode plein écran Entrar en el modo &de pantalla completa Sortir du &mode plein écran Salir del modo &de pantalla completa Propriétés de la sélection Propiedades de la selección &Configurer QElectroTech &Configurar QElectroTech &Mosaïque &Mosaico &Cascade &Cascada À &propos de QElectroTech &Acerca de QElectroTech À propos de &Qt Acerca de &Qt Ctrl+Shift+I Ctrl+Shift+I Ctrl+Shift+X Ctrl+Shift+X Ctrl+Q Ctrl+Q Ctrl+Shift+A Ctrl+Shift+A Ctrl+I Ctrl+I Backspace Backspace Ctrl+J Ctrl+J Ctrl+K Ctrl+K Ctrl+L Ctrl+L Ctrl+D Ctrl+D Ctrl+T Ctrl+T Ctrl+9 Ctrl+9 Ctrl+0 Ctrl+0 Ctrl+Shift+F Ctrl+Shift+F Édite les propriétés des objets sélectionné status bar tip Editar las propiedades de los objetos seleccionados &Fichier &Archivo &Édition &Editar &Projet P&royecto Afficha&ge &Ver &Configuration &Preferencias Fe&nêtres Venta&nas &Aide A&yuda Afficher Mostrar Affiche ou non la barre d'outils principale Mostrar o esconder la barra de herramientas principal Affiche ou non la barre d'outils Affichage Mostrar o esconder la barra de herramientas "Mostrar" Affiche ou non la barre d'outils Schéma Mostrar o esconder la barra de herramientas "Esquema" Affiche ou non le panel d'appareils Mostrar o esconder el panel de aparatos Affiche ou non la liste des modifications Mostrar o esconder la lista de ediciones Afficher les projets Mostrar proyectos Outils Herramientas Affichage Ver Schéma Esquema Ouvrir un fichier Abrir un archivo Schémas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Esquemas QElectroTech (*.qet);;Archivos XML (*.xml);;Todos los archivos (*) Impossible d'ouvrir le fichier Imposible de abrir el archivo Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Parece que el archivo que intente de abrir no se puede acceder en lectura. Por eso es imposible abrirlo. Por favor compruebe los permisos del archivo. Ouverture du projet en lecture seule Abriendo el proyecto en sólo lectura Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Parece que el proyecto que intente de abrir no se puede acceder en escritura. Por eso se va abrirlo en sólo lectura. Impossible de retrouver cet élément dans le panel car il semble édité dans une autre fenêtre Imposible de encontrar este elemento en el panel porque parece que fue editado en otra ventana Impossible de retrouver cet élément dans le panel... rechargement du panel... Imposible de encontrar este elemento en el panel ... se está recargando el panel ... Impossible de retrouver cet élément dans le panel Imposible de encontrar este elemento en el panel Nettoyer le projet Limpiar el proyecto Échec de l'ouverture du projet message box title Fracaso al abrir el proyecto Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Parece que el archivo %1 no es un archivo del proyecto QElectroTech. Por eso no se puede abrirlo. QElectroTech window title QElectroTech QElectroTech status bar message QElectroTech Panel d'éléments dock title Panel de elementos Annulations dock title Anulaciones Crée un nouveau schéma status bar tip Crea un nuevo esquema Ouvre un schéma existant status bar tip Abrir un esquema que existe Ferme le schéma courant status bar tip Cierre el esquema corriente Enregistre le schéma courant status bar tip Guarda el esquema corriente Enregistre le schéma courant avec un autre nom de fichier status bar tip Guarda el esquema corriente con otro nombre de archivo Importe un schéma dans le schéma courant status bar tip Importa un esquema en el esquema corriente Exporte le schéma courant dans un autre format status bar tip Exporta el esquema corriente a otro formato Imprime le schéma courant status bar tip Imprime el esquema corriente Ferme l'application QElectroTech status bar tip Cierre el programa QElectroTech Annule l'action précédente status bar tip Deshacer la última acción Restaure l'action annulée status bar tip Restaura la última acción deshecha Transfère les éléments sélectionnés dans le presse-papier status bar tip Trasladar los elementos seleccionados en el portapapeles Copie les éléments sélectionnés dans le presse-papier status bar tip Copiar los elementos seleccionadas en el portapeles Place les éléments du presse-papier sur le schéma status bar tip Poner los elementos del portapeles en el esquema Sélectionne tous les éléments du schéma status bar tip Seleccionar todos los elementos del esquema Désélectionne tous les éléments du schéma status bar tip Deseleccionar todos los elementos del esquema Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Deseleccionar los elementos ya seleccionados y seleccionar los elementos aún no seleccionados Enlève les éléments sélectionnés du schéma status bar tip Quitar los elementos seleccionados del essquema Pivote les éléments sélectionnés status bar tip Rotar los elementos seleccionados Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Calcular de nuevo los caminos de los conductores sin tenir cuenta de las ediciones Spécifie les propriétés par défaut des conducteurs status bar tip Dar las propriedades por defecto de conductores Édite les informations affichées par le cartouche status bar tip Editar las informaciones mostradas en el cartucho Ajoute une colonne au schéma status bar tip Agregar una columna al esquema Enlève une colonne au schéma status bar tip Eliminar una columna del esquema Agrandit le schéma en hauteur status bar tip Ampliar la altura del esquema Rétrécit le schéma en hauteur status bar tip Reducir la altura del esquema Agrandit le schéma status bar tip Ampliar el esquema Rétrécit le schéma status bar tip Reducir el esquema Adapte la taille du schéma afin qu'il soit entièrement visible status bar tip Adaptar el tamaño del esquema para que se pueda ver todo el esquema Restaure le zoom par défaut status bar tip Restaurar el zoom por defecto Présente les différents projets ouverts dans des sous-fenêtres status bar tip Mostrar los proyectos abiertos en sub ventanas Présente les différents projets ouverts des onglets status bar tip Mostrar los proyectos abiertos en pestañas Permet de sélectionner les éléments status bar tip Permet de visualiser le schéma sans pouvoir le modifier status bar tip Permite mostrar el esquema sin permitir editarlo Affiche QElectroTech en mode plein écran status bar tip Mostrar QElectroTech en pantalla completa Affiche QElectroTech en mode fenêtré status bar tip Mostrar QElectroTech en modo ventana Permet de régler différents paramètres de QElectroTech status bar tip Permite arreglar los párametros de QElectroTech Dispose les fenêtres en mosaïque status bar tip Poner las ventanas en mosaico Dispose les fenêtres en cascade status bar tip Poner las ventanas en cascada Affiche des informations sur QElectroTech status bar tip Mostrar las informaciones sobre QElectroTech Affiche des informations sur la bibliothèque Qt status bar tip Mostrar las informaciones sobre la biblioteca Qt &Enregistrer tous les schémas &Guardar todos los esquemas Enregistre tous les schémas du projet courant status bar tip Guarda todos los esquemas del proyecto corriente Projet suivant Proyecto siguiente Projet précédent Proyecto previo Active le projet suivant status bar tip Activar el proyecto siguiente Active le projet précédent status bar tip Activar el proyecto previo Active le projet « %1 » Activar el proyecto « %1 » QETElementEditor &Nouveau &Nuevo &Ouvrir &Abrir &Ouvrir depuis un fichier &Abrir desde un archivo &Enregistrer &Guardar Enregistrer sous Guardar como Enregistrer dans un fichier Guardar hacia un archivo Recharger Recargar &Quitter &Salir Tout sélectionner Seleccionar todo Désélectionner tout Deseleccionar todo un fichier un archivo un élément un elemento Inverser la sélection Invertir selección &Supprimer &Eliminar Zoom avant Ampliar Zoom arrière Reducir Zoom adapté Ajustar Pas de zoom No zoom Éditer la taille et le point de saisie Editar el tamaño o el hotspot Éditer les noms Editar los nombres Éditer les orientations Editar las orientaciones Éditer les informations sur l'auteur Editar la información sobre el autor Rapprocher Acercar Éloigner Alejar Envoyer au fond Poner en el fondo Amener au premier plan Poner en el primer plano Déplacer un objet Mover un objeto Ajouter une ligne Agregar una línea Ajouter une ellipse Agregar una elipse Ajouter un cercle Agregar un círculo Ajouter un polygone Agregar un polígono Ajouter du texte Agregar texto Ajouter un arc de cercle Agregar un arco de círculo Ajouter une borne Agregar un conector Ajouter un champ de texte Añadir un campo de texto &Configurer QElectroTech &Configurar QElectroTech À &propos de QElectroTech &Acerca de QElectroTech À propos de &Qt Acerca de &Qt Permet de régler différents paramètres de QElectroTech status bar tip Permite arreglar los párametros de QElectroTech Affiche des informations sur QElectroTech status bar tip Mostrar las informaciones sobre QElectroTech Affiche des informations sur la bibliothèque Qt status bar tip Mostrar las informaciones sobre la biblioteca Qt Annuler Deshacer Refaire Rehacer Ctrl+Shift+O Ctrl+Shift+O Ctrl+Shift+S Ctrl+Shift+S Ctrl+Q Ctrl+Q Ctrl+Shift+A Ctrl+Shift+A Ctrl+I Ctrl+I Backspace Backspace Ctrl+9 Ctrl+9 Ctrl+0 Ctrl+0 Ctrl+Shift+F Ctrl+Shift+F Ctrl+E Ctrl+E Ctrl+R Ctrl+R Ctrl+T Ctrl+T Ctrl+Shift+Up Ctrl+Shift+Árriba Ctrl+Shift+Down Ctrl+Shift+Abajo Ctrl+Shift+End Ctrl+Shift+End Ctrl+Shift+Home Ctrl+Shift+Home &Configuration &Preferencias &Aide A&yuda Coller depuis... Pegar desde... Sortir du &mode plein écran Salir del modo &de pantalla completa Affiche QElectroTech en mode fenêtré status bar tip Mostrar QElectroTech en modo ventana Passer en &mode plein écran Entrar en el modo &de pantalla completa Affiche QElectroTech en mode plein écran status bar tip Mostrar QElectroTech en pantalla completa La vérification de cet élément a généré %n avertissement(s) : message box content La verificación de este elemento ha generado una advertencia: La verificación de este elemento ha generado %n advertencias: <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 Afficher Mostrar Aucune modification Ninguna modificación QElectroTech - Éditeur d'élément window title QElectroTech - Editor de elemento Ctrl+Y Ctrl+Y Parties toolbar title Partes Outils toolbar title Herramientas Affichage toolbar title Ver Élément toolbar title Elemento Profondeur toolbar title Profundidad &Fichier &Archivo &Édition &Editar Afficha&ge &Ver O&utils &Herramientas [Modifié] window title tag [modificado] [lecture seule] window title tag [sólo lectura] Informations dock title Informaciones Annulations dock title Anulaciones Parties dock title Partes Éditeur d'éléments status bar message Editor de elementos %n partie(s) sélectionnée(s). %n parte selectionada. %n partes selectionadas. Dimensions de l'élément warning title Tamaños del elemento Certaines parties graphiques (textes, cercles, lignes...) semblent déborder du cadre de l'élément. Cela risque de générer des bugs graphiques lors de leur manipulation sur un schéma. Vous pouvez corriger cela soit en déplaçant ces parties, soit en vous rendant dans Édition > Éditer la taille et le point de saisie. warning description Algunas partes gráficas (textos, círculos, lineas, ...) parecen no caber en el cuadro del elemento. Eso podría crear fallos gráficos cuando se las maneja en el esquema. Puede corregir este problema de dos maneras: moviendo estas partes o usando Editar>Editar el tamaño o hotspot. Absence de borne warning title Conector faltando L'élément ne comporte aucune borne. Un élément doit comporter des bornes afin de pouvoir étre relié à d'autres éléments par l'intermédiaire de conducteurs. warning description El elemento no tiene ninguna conección. Un elemente debe tener conecciones para que conductores puedan conectarlos con otros elementos. Avertissements messagebox title Advertencias Le fichier %1 n'existe pas. message box content El archivo %1 no existe. Impossible d'ouvrir le fichier %1. message box content Imposible de abrir el archivo %1. Ce fichier n'est pas un document XML valide message box content Este archivo no es un documento XML válido Erreur toolbar title Error Édition en lecture seule message box title Edición en lectura sola Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content No tiene los derechos necesarios para editar este elemento. Por eso se va abrirlo en sólo lectura. Erreur message box title Error Impossible d'écrire dans ce fichier message box content Imposible de escribir en el archivo Impossible d'atteindre l'élément message box content Imposible de alcanzar el elemento Impossible d'enregistrer l'élément message box content Imposible de grabar el elemento Trop de primitives, liste non générée. Demasiado primitivas, lista no generada. Ouvrir un fichier dialog title Abrir un archivo Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Elementos QElectroTech (*.elmt);;Archivos XML (*.xml);;Todos los archivos (*) Recharger l'élément dialog title Recargar el elemento Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Editó este elemento. Si recarga las edicciones seran perdidas. ¿Está segura de recargar el elemento? Enregistrer sous dialog title Guardar como Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Elementos QElectroTech (*.elmt) Enregistrer l'élément en cours ? dialog title ¿Grabar el elemento corriente? Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name ¿Quiere grabar el elemento %1? Élément inexistant. message box title Elemento inexistente. L'élément n'existe pas. message box content El elemento no existe. Le chemin virtuel choisi ne correspond pas à un élément. message box content El camino virtual eligido no corresponde a un elemento. Maintenez la touche Shift enfoncée pour effectuer plusieurs ajouts d'affilée Mantiene la tecla Shift apretada para poder agregar varias cosas una despues de la otra Utilisez le bouton droit de la souris pour poser le dernier point du polygone Usar el botón de derecho del ratón para colocar el último punto del polígono Co&uper C&ortar Cop&ier &Copiar C&oller &Pegar C&oller dans la zone... P&egar en la zona... Ctrl+Shift+V Ctrl+Shift+V Ajouter un rectangle Añadir un rectángulo QETPrintPreviewDialog QElectroTech : Aperçu avant impression QElectroTech: Vista preliminar Schémas à imprimer : Esquemas por imprimir: Tout cocher Marcar todos Tout décocher Desmarcar todos Cacher la liste des schémas Ocultar la liste de esquemas Cacher les options d'impression Ocultar las opciones de impresión Ajuster la largeur Ajustar ancho de la página Ajuster la page Ajustar ancho y alto de la página Zoom arrière Reducir Zoom avant Ampliar Paysage Apaisado Portrait Retrato Première page Primera página Page précédente Página anterior Page suivante Página siguiente Dernière page Última página Afficher une seule page Mostrar sólo una página Afficher deux pages Mostrar dos páginas Afficher un aperçu de toutes les pages Mostrar vista preliminar de todas las páginas Mise en page Configurar página Mise en page (non disponible sous Windows pour l'impression PDF/PS) Diseño (no existe para imprimir en PDF o PS bajo Windows) Options d'impression Opciones de impresión Utiliser toute la feuille Usar la página entera Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Si esta opción está seleccionada, se imprimirá sobre la superficie completa de la hoja, ignorando los márgenes. Esta opción puede no estar soportada por su impresora. Adapter le schéma à la page Ajustar el diagrama a la página Si cette option est cochée, le schéma sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page. Si esta opción está seleccionada, el diagrama será reducido o expandido para ajustarse a la superficie imprimible de la hoja. Imprimer Imprimir Afficher la liste des schémas Mostrar la liste de esquemas Afficher les options d'impression Mostrar las opciones de impresión %1 % %1 % QETProject Impossible de créer la catégorie pour l'intégration des éléments Imposible de crear la categoría para agregar los elementos Impossible d'accéder à l'élément a intégrer Imposible de tener aceso al elemento que se necesita agregar Un problème s'est produit pendant la copie de la catégorie %1 Un problema ocurió durante la copia de la categoría %1 Un problème s'est produit pendant la copie de l'élément %1 Un problema ocurió durante la copia del elemento %1 Avertissement message box title Advertencia Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue. message box content Parece que este documento fue guardado con una version más nueva de QElectrotech. Abrir una parte del documento o el documento entero podría fracasar. Projet « %1 » displayed title for a ProjectView - %1 is the project title Proyecto «%1» Projet %1 displayed title for a title-less project - %1 is the file name Proyecto %1 Projet sans titre displayed title for a project-less, file-less project Proyecto sín título %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [sólo lectura] QFileNameEdit Les caractères autorisés sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.] tooltip content when editing a filename Los caracteres autorizados son: - las cifras [0-9] - las minúsculas [a-z] - el guión [-], el guión bajo [_] y el punto [.] QObject Exporter vers le presse-papier Exportar en el portapapeles Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Aviso: el elemento fue guardado con una versión mas reciente de QElectroTech. Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? No se puede encontrar el archivo donde se ubica la licencia GNU/GPL. Pues, de todo modo, supongo que la conoce de memoria, ¿no? Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? El archivo donde se ubica la licencia GNU/GPL existe pero no se puede abrir. Pues, de todo modo, supongo que la conoce de memoria, ¿no? ajouter 1 %1 undo caption - %1 is an element name añadir 1 %1 Ajouter un champ de texte undo caption Añadir un campo de texto ajouter un conducteur undo caption añadir un conductor supprimer %1 undo caption - %1 is a sentence listing the removed content eliminar %1 coller %1 undo caption - %1 is a sentence listing the content to paste pegar %1 couper %1 undo caption - %1 is a sentence listing the content to cut cortar %1 déplacer %1 undo caption - %1 is a sentence listing the moved content mover %1 modifier le texte undo caption modificar el texto pivoter %1 undo caption - %1 is a sentence listing the rotated content rotar %1 modifier un conducteur undo caption modificar un conductor Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Reinicializar %1 modifier le cartouche undo caption editar el cartucho modifier les dimensions du schéma undo caption editar las dimensiones del esquema modifier les propriétés d'un conducteur undo caption modificar las propiedades de un conuctor suppression undo caption eliminar déplacement undo caption mover ajout %1 undo caption insertar %1 modification %1 undo caption edición %1 modification points polygone undo caption edición puntos de polígono modification dimensions/hotspot undo caption edicion de dimensiones/hotspot modification noms undo caption edición de nombres modification orientations undo caption edición de orientaciones amener au premier plan undo caption poner en el primer plano rapprocher undo caption acercar éloigner undo caption alejar envoyer au fond undo caption poner en el fondo modification connexions internes undo caption edición de conecciones internas modification informations complementaires undo caption Modificación de información complementaria arc element part name arco cercle element part name círculo ellipse element part name elipse ligne element part name linea polygone element part name polígono borne element part name conector T default text when adding a text in the element editor T texte element part name texto _ default text when adding a textfield in the element editor _ champ de texte element part name campo de texto %n élément(s) part of a sentence listing the content of a diagram %n elemento %n elementos , separator between elements and conductors in a sentence listing the content of a diagram , et separator between elements and conductors (or texts) in a sentence listing the content of a diagram y %n conducteur(s) part of a sentence listing the content of a diagram %n conductor %n conductores et separator between conductors and texts in a sentence listing the content of a diagram y %n champ(s) de texte part of a sentence listing the content of a diagram %n campo de texto %n campos de texto Borne tooltip Conector coller pegar couper des parties undo caption cortar partes rectangle element part name rectángulo Schéma sans titre Esquema sin título schema esquema Conserver les proportions Mantener proporciones Réinitialiser les dimensions Reinicializar los tamaños Aperçu Vista previa RecentFiles &Récemment ouvert(s) &Recientemente abierto(s) RectangleEditor Coin supérieur gauche : Esquina superior izquierda: Dimensions : Dimensiones: Largeur : Anchura: Hauteur : Altura: abscisse abscisa ordonnée ordenada largeur anchura hauteur altura StyleEditor Antialiasing Antialiasing Trait : Linea: Couleur : Color: Style : Estilo: Épaisseur : Grosor: Remplissage : Relleno: Noir element part color Negro Blanc element part color Blanco Normal element part line style Normal Pointillé element part line style Línea de puntos Nulle element part weight Ninguna Fine element part weight Delgada Normale element part weight Normal Aucun element part filling Ninguno Noir element part filling Negro Blanc element part filling Blanco TerminalEditor Nord Norte Est Este Sud Sur Ouest Oeste Position : Posición: x : x: y : y: Orientation : Orientación: abscisse abscisa ordonnée ordenada orientation orientación TextEditor Position : Posición: x : x: y : y: Taille : Tamaño: Texte : Texto: abscisse abscisa ordonnée ordenada taille tamaño contenu contenido TextFieldEditor Maintenir horizontal malgré les rotations de l'élément Mantener la horizontalidad a pesar de las rotaciones del elemento Position : Posición: x : x: y : y: Taille : Tamaño: Texte par défaut : Texto predeterminado: abscisse abscisa ordonnée ordenada taille tamaño propriété propiedad contenu contenido qelectrotech-0.22+svn897/lang/qt_pt.ts0000644000175000017500000104361111343532004017520 0ustar laurentlaurent AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> Revert back to device '%1' CloseButton Close Tab PPDOptionsModel Name Nome Value Valor Phonon:: Notifications Music Video Communication Games Accessibility Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. A required codec is missing. You need to install the following codec(s) to play this content: %0 Could not open media source. Invalid source type. Could not locate media source. Could not open audio device. The device is already in use. Could not decode media source. Phonon::VolumeSlider Volume: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Q3Accel %1, %2 not defined %1, %2 indefinido Ambiguous %1 not handled %1 ambíguo não tratado Q3DataTable True Verdadeiro False Falso Insert Inserir Update Actualizar Delete Remover Q3FileDialog Copy or Move a File Copiar ou Mover um Ficheiro Read: %1 Ler: %1 Write: %1 Escrever: %1 Cancel Cancelar All Files (*) Todos os Ficheiros (*) Name Nome Size Tamanho Type Tipo Date Data Attributes Atributos &OK &OK Look &in: Ver &em: File &name: &Nome do Ficheiro: File &type: &Tipo de Ficheiro: Back Recuar One directory up Pasta Mãe Create New Folder Criar Nova Pasta List View Vista Abreviada Detail View Vista Detalhada Preview File Info Antever Informação do Ficheiro Preview File Contents Antever Conteúdo do Ficheiro Read-write Leitura e escrita Read-only Apenas Leitura Write-only Apenas Escrita Inaccessible Inacessível Symlink to File Ligação para Ficheiro Symlink to Directory Ligação para Pasta Symlink to Special Ligação para Especial File Ficheiro Dir Pasta Special Especial Open Abrir Save As Guardar Como &Open &Abrir &Save &Gravar &Rename &Mudar Nome &Delete &Apagar R&eload &Recarregar Sort by &Name Ordenar pelo &Nome Sort by &Size Ordenar pelo &Tamanho Sort by &Date Ordenar pela &Data &Unsorted Não &Ordenado Sort Ordenar Show &hidden files Mostrar ficheiros &escondidos the file o ficheiro the directory a pasta the symlink a ligação Delete %1 Apagar %1 <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Deseja mesmo apagar %1 "%2"?</qt> &Yes &Sim &No &Não New Folder 1 Nova Pasta 1 New Folder Nova Pasta New Folder %1 Nova Pasta %1 Find Directory Procurar Pasta Directories Pastas Directory: Pasta: Error Erro %1 File not found. Check path and filename. %1 Ficheiro não encontrado. Verifique a localização e o nome. All Files (*.*) Todos os Ficheiros (*.*) Open Abrir Select a Directory Seleccione uma Pasta Q3LocalFs Could not read directory %1 Não foi possível ler a pasta %1 Could not create directory %1 Não foi possível criar a pasta %1 Could not remove file or directory %1 Não foi possível apagar o ficheiro ou a pasta %1 Could not rename %1 to %2 Não foi possível mudar o nome %1 para %2 Could not open %1 Não foi possível abrir %1 Could not write %1 Nao foi possível escrever %1 Q3MainWindow Line up Alinhar Customize... Configurar... Q3NetworkProtocol Operation stopped by the user Operação interrompida pelo utilizador Q3ProgressDialog Cancel Cancelar Q3TabDialog OK OK Apply Aplicar Help Ajuda Defaults Predefinições Cancel Cancelar Q3TextEdit &Undo &Desfazer &Redo &Refazer Cu&t Cor&tar &Copy &Copiar &Paste Co&lar Clear Limpar Select All Seleccionar Tudo Q3TitleBar System Sistema Restore up Restaurar acima Minimize Minimizar Restore down Restaurar abaixo Maximize Maximizar Close Fechar Contains commands to manipulate the window Contém comandos para manipular a janela Puts a minimized back to normal Coloca uma janela minimizada no estado normal Moves the window out of the way Tira a janela da frente Puts a maximized window back to normal Coloca uma janela maximizada no estado normal Makes the window full screen Coloca a janela em ecrã completo Closes the window Fecha a janela Displays the name of the window and contains controls to manipulate it Mostra o nome da janela e contém controlos para a manipular Q3ToolBar More... Mais... Q3UrlOperator The protocol `%1' is not supported O protocolo '%1' não é suportado The protocol `%1' does not support listing directories O protocolo '%1' não suporta listagem de pastas The protocol `%1' does not support creating new directories O protocolo '%1' não suporta criação de novas pastas The protocol `%1' does not support removing files or directories O protocolo '%1' não suporta eliminação de ficheiros ou pastas The protocol `%1' does not support renaming files or directories O protocolo '%1' não suporta mudança de nome de ficheiros ou pastas The protocol `%1' does not support getting files O protocolo '%1' não suporta obtenção de ficheiros The protocol `%1' does not support putting files O protocolo '%1' não suporta colocação de ficheiros The protocol `%1' does not support copying or moving files or directories O protocolo '%1' não suporta copiar ou mover ficheiros ou pastas (unknown) (desconhecido) Q3Wizard &Cancel &Cancelar < &Back < &Recuar &Next > &Avançar > &Finish &Terminar &Help &Ajuda QAbstractSocket Host not found Máquina desconhecida Connection refused Ligação recusada Connection timed out Ligação expirada Operation on socket is not supported Socket operation timed out Operação de 'socket' expirada Socket is not connected 'Socket' desligado Network unreachable Rede inalcançável QAbstractSpinBox &Step up &Passo acima Step &down Passo &abaixo &Select All QApplication Activate Activar Executable '%1' requires Qt %2, found Qt %3. O executável '%1' requere Qt %2, Qt %3 encontrado. Incompatible Qt Library Error Erro de Incompatibilidade da Biblioteca Qt QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Activates the program's main window Activa a janela principal do programa QAxSelect Select ActiveX Control Seleccionar Controlo ActiveX OK OK &Cancel &Cancelar COM &Object: &Objecto COM: QCheckBox Uncheck Desactivar Check Activar Toggle Comutar QColorDialog Hu&e: C&or: &Sat: &Saturação: &Val: &Valor: &Red: &Vermelho: &Green: V&erde: Bl&ue: &Azul: A&lpha channel: Canal &transparência: Select Color &Basic colors Cores &básicas &Custom colors Cores c&ustomizadas &Define Custom Colors >> &Definir Cores Customizadas >> OK OK Cancel Cancelar &Add to Custom Colors &Adicionar às Cores Customizadas Select color Seleccionar cor QComboBox Open Abrir False Falso True Verdadeiro Close Fechar QCoreApplication %1: key is empty QSystemSemaphore %1: unable to make key QSystemSemaphore %1: ftok failed QSystemSemaphore QDB2Driver Unable to connect Ligação não possível Unable to commit transaction Finalização de transacção não possível Unable to rollback transaction Anulação de transacção não possível Unable to set autocommit Finalização automática não possível QDB2Result Unable to execute statement Execução não possível Unable to prepare statement Preparação não possível Unable to bind variable Ligação de variável não possível Unable to fetch record %1 Obtenção do registo %1 não possível Unable to fetch next Obtenção do seguinte não possível Unable to fetch first Obtenção do primeiro não possível QDateTimeEdit AM AM am am PM PM pm pm QDial QDial SpeedoMeter SliderHandle QDialog What's This? O Que é Isto? Done QDialogButtonBox OK OK Save Gravar &Save &Gravar Open Abrir Cancel Cancelar &Cancel &Cancelar Close Fechar &Close &Fechar Apply Aplicar Reset Restaurar Help Ajuda Don't Save Não Gravar Discard Descartar &Yes &Sim Yes to &All Sim para &Todos &No &Não N&o to All N&ão para Todos Save All Gravar Todos Abort Abortar Retry Tentar Novamente Ignore Ignorar Restore Defaults Restaurar Predefinições Close without Saving Fechar sem Gravar &OK &OK QDirModel Name Nome Size Tamanho Kind Match OS X Finder Tipo Type All other platforms Tipo Date Modified Data de Modificação QDockWidget Close Fechar Dock Float QDoubleSpinBox More Mais Less Menos QErrorMessage Debug Message: Mensagem Depuração: Warning: Aviso: Fatal Error: Erro Fatal: &Show this message again &Mostrar esta mensagem novamente &OK &OK QFile Destination file exists Cannot remove source file Cannot open %1 for input Cannot open for output Failure to write block Cannot create %1 for output QFileDialog All Files (*) Todos os Ficheiros (*) Directories Pastas &Open &Abrir &Save &Gravar Open Abrir %1 already exists. Do you want to replace it? %1 já existe. Deseja substituir? %1 File not found. Please verify the correct file name was given. %1 Ficheiro não encontrado. Por favor verifique o nome do ficheiro. My Computer O Meu Computador &Rename &Mudar o Nome &Delete &Apagar Show &hidden files Mostrar ficheiros &escondidos Back Recuar Parent Directory Pasta Mãe List View Vista Abreviada Detail View Vista Detalhada Files of type: FIcheiros do tipo: Directory: Pasta: File not found. Please verify the correct file name was given Ficheiro não encontrado. Por favor verifique o nome do ficheiro %1 Directory not found. Please verify the correct directory name was given. %1 Pasta não encontrada. Por favor verifique o nome da pasta. '%1' is write protected. Do you want to delete it anyway? '%1' está protegido contra escrita. Deseja apagar de qualquer forma? Are sure you want to delete '%1'? Deseja mesmo apagar '%1'? Could not delete directory. Não foi possível apagar a pasta. Recent Places All Files (*.*) Todos os Ficheiros (*.*) Save As Gravar Como Drive Unidade File Ficheiro Unknown Desconhecido Find Directory Procurar Pasta Show Forward Seguinte New Folder Nova Pasta &New Folder &Choose Remove File &name: &Nome do Ficheiro: Look in: Create New Folder Criar Nova Pasta QFileSystemModel %1 TB %1 GB %1 MB %1 KB %1 bytes Invalid filename <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. Name Nome Size Tamanho Kind Match OS X Finder Tipo Type All other platforms Tipo Date Modified Data de Modificação My Computer O Meu Computador Computer QFontDatabase Normal Bold Demi Bold Black Demi Light Italic Oblique Any Latin Greek Cyrillic Armenian Hebrew Arabic Syriac Thaana Devanagari Bengali Gurmukhi Gujarati Oriya Tamil Telugu Kannada Malayalam Sinhala Thai Lao Tibetan Myanmar Georgian Khmer Simplified Chinese Traditional Chinese Japanese Korean Vietnamese Symbol Ogham Runic QFontDialog &Font &Tipo de Letra Font st&yle &Estilo Tipo de Letra &Size &Tamanho Effects Efeitos Stri&keout &Riscar &Underline &Sublinhar Sample Amostra Wr&iting System &Sistema de Escrita Select Font Seleccione Tipo de Letra QFtp Not connected Desligado Host %1 not found Servidor %1 não encontrado Connection refused to host %1 Ligação ao servidor %1 recusada Connection timed out to host %1 Connected to host %1 Ligado ao servidor %1 Connection refused for data connection Ligação de dados recusada Unknown error Erro desconhecido Connecting to host failed: %1 A ligação ao servidor falhou: %1 Login failed: %1 A autenticação falhou: %1 Listing directory failed: %1 A listagem da pasta falhou: %1 Changing directory failed: %1 A mudança de pasta falhou: %1 Downloading file failed: %1 A descarga do ficheiro falhou: %1 Uploading file failed: %1 O carregamento do ficheiro falhou: %1 Removing file failed: %1 A remoção do ficheiro falhou: %1 Creating directory failed: %1 A criação da pasta falhou: %1 Removing directory failed: %1 A remoção da pasta falhou: %1 Connection closed Ligação fechada Host %1 found Servidor %1 encontrado Connection to %1 closed Ligação a %1 fechada Host found Servidor encontrado Connected to host Ligado ao servidor QHostInfo Unknown error Erro desconhecido QHostInfoAgent Host not found Servidor Não encontrado Unknown address type Tipo de endereço desconhecido Unknown error Erro desconhecido QHttp HTTPS connection requested but SSL support not compiled in Unknown error Erro desconhecido Request aborted Pedido abortado No server set to connect to Nenhum servidor para ligar Wrong content length Tamanho de conteúdo errado Server closed connection unexpectedly O servidor fechou a ligação inesperadamente Unknown authentication method Error writing response to device Connection refused Ligação recusada Host %1 not found Servidor %1 não encontrado HTTP request failed O pedido HTTP falhou Invalid HTTP response header Cabeçalho de resposta HTTP inválido Invalid HTTP chunked body Corpo parcial HTTP inválido Host %1 found Servidor %1 encontrado Connected to host %1 Ligado ao servidor %1 Connection to %1 closed Ligação a %1 fechada Host found Servidor encontrado Connected to host Ligado ao servidor Connection closed Ligação fechada Proxy authentication required Authentication required Connection refused (or timed out) Proxy requires authentication Host requires authentication Data corrupted Unknown protocol specified SSL handshake failed QHttpSocketEngine Did not receive HTTP response from proxy Error parsing authentication request from proxy Authentication required Proxy denied connection Error communicating with HTTP proxy Proxy server not found Proxy connection refused Proxy server connection timed out Proxy connection closed prematurely QIBaseDriver Error opening database Erro ao abrir a base de dados Could not start transaction Não foi possível iniciar a transacção Unable to commit transaction Não foi possível finalizar a transacção Unable to rollback transaction Não foi possível anular a transacção QIBaseResult Unable to create BLOB Não foi possível criar o BLOB Unable to write BLOB Não foi possível escrever o BLOB Unable to open BLOB Não foi possível abrir o BLOB Unable to read BLOB Não foi possível ler o BLOB Could not find array Não foi possível encontrar o array Could not get array data Não foi possível obter os dados do array Could not get query info Não foi possível obter informação da query Could not start transaction Não foi possível iniciar a transacção Unable to commit transaction Não foi possível finalizar a transacção Could not allocate statement Não foi possível alocar a expressão Could not prepare statement Não foi possível preparar a expressão Could not describe input statement Não foi possível descrever a expressão de entrada Could not describe statement Não foi possível descrever a expressão Unable to close statement Não foi possível fechar a expressão Unable to execute query Não foi possível executar a query Could not fetch next item Não foi possível obter o elemento seguinte Could not get statement info Não foi possível obter informação da expressão QIODevice Permission denied Permissão negada Too many open files Demasiados ficheiros abertos No such file or directory Ficheiro ou pasta inexistente No space left on device Dispositivo sem espaço livre Unknown error Erro desconhecido QInputContext XIM XIM XIM input method Método de entrada XIM Windows input method Método de entrada Windows Mac OS X input method Método de entrada Max OS X QInputDialog Enter a value: QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::load_sys: Não foi possível carregar %1 (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::unload_sys: Não foi possível descarregar %1 (%2) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) QLibrary::resolve_sys: Símbolo "%1" indefinido em %2 (%3) Could not mmap '%1': %2 Não foi possivel mapear '%1': %2 Plugin verification data mismatch in '%1' Dados de verificação do plugin incorrectos em '%1' Could not unmap '%1': %2 Não foi possível desmapear '%1': %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] O plugin '%1' usa uma biblioteca Qt incompatível. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" O plugin '%1' usa uma biblioteca Qt incompatível. A chave de compilação esperada "%2", ficou "%3" Unknown error Erro desconhecido The shared library was not found. The file '%1' is not a valid Qt plugin. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) Cannot load library %1: %2 Cannot unload library %1: %2 Cannot resolve symbol "%1" in %2: %3 QLineEdit &Undo &Desfazer &Redo &Refazer Cu&t Cor&tar &Copy &Copiar &Paste Co&lar Delete Apagar Select All Seleccionar Tudo QLocalServer %1: Name error %1: Permission denied %1: Address in use %1: Unknown error %2 QLocalSocket %1: Connection refused %1: Remote closed %1: Invalid name %1: Socket access error %1: Socket resource error %1: Socket operation timed out %1: Datagram too large %1: Connection error %1: The socket operation is not supported %1: Unknown error %1: Unknown error %2 QMYSQLDriver Unable to open database ' Não foi possível abrir a base de dados ' Unable to connect Não foi possível estabelecer a ligação Unable to begin transaction Não foi possível iniciar a transacção Unable to commit transaction Não foi possível finalizar a transacção Unable to rollback transaction Não foi possível anular a transacção QMYSQLResult Unable to fetch data Não foi possível obter dados Unable to execute query Não foi possível executar a query Unable to store result Não foi possível guardar o resultado Unable to prepare statement Não foi possível preparar a expressão Unable to reset statement Não foi possível restaurar a expressão Unable to bind value Não foi possível fazer a ligação do valor Unable to execute statement Não foi possível executar a expressão Unable to bind outvalues Não foi possível fazer a ligação dos valores externos Unable to store statement results Não foi possível guardar os resultados da expressão Unable to execute next query Unable to store next result QMdiArea (Untitled) QMdiSubWindow %1 - [%2] %1 - [%2] Close Fechar Minimize Minimizar Restore Down Restaurar Baixo &Restore &Restaurar &Move &Mover &Size &Tamanho Mi&nimize Mi&nimizar Ma&ximize Ma&ximizar Stay on &Top Permanecer no &Topo &Close &Fechar - [%1] Maximize Maximizar Unshade Shade Restore Help Ajuda Menu Menu QMenu Close Fechar Open Abrir Execute Executar QMenuBar About Sobre Config Configurar Preference Preferências Options Opções Setting Alteração Setup Configuração Quit Sair Exit Sair About %1 Sobre %1 About Qt Acerca do Qt Preferences Preferências Quit %1 Sair de %1 QMessageBox Help Ajuda OK OK About Qt Acerca do Qt <p>This program uses Qt version %1.</p> <p>Este programa usa Qt versão %1.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.</p><p>Qt is a Trolltech product. See <a href="http://qt.nokia.com/qt/">qt.nokia.com/qt/</a> for more information.</p> <h3>Acerca do Qt</h3>%1<p>Qt é um conjunto de ferramentas para desenvolvimento de aplicações multiplataforma.</p>O Qt oferece portabilidade de código fonte único em MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux e todas as principais variantes comerciais de Unix. O Qt está igualmente disponível para dispositivos embebidos como Qtopia Core.</p><p>O Qt é um produto Trolltech. Veja <a href="http://qt.nokia.com/qt/">qt.nokia.com/qt/</a> para mais informação.</p> Show Details... Mostrar Detalhes... Hide Details... Não Mostrar Detalhes... <h3>About Qt</h3><p>This program uses Qt version %1.</p><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a> for an overview of Qt licensing.</p> <p>Este programa usa Qt Open Source Edition versão %1.</p><p>Qt Open Source Edition é indicado para o desenvolvimento de aplicações/programas open source. Se pretender desenvolver aplicações sem disponibilizar o codigo fonte, então precisará de obter uma licença comercial.</p><p>Por favor consulte <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a>para obter mais informação acerca de licenças Qt.</p> QMultiInputContext Select IM Seleccione Método de Entrada QMultiInputContextPlugin Multiple input method switcher Seleccionador de método de entrada Multiple input method switcher that uses the context menu of the text widgets Seleccionador de método de entrada que utiliza o menu de contexto dos elementos de texto QNativeSocketEngine The remote host closed the connection A máquina remota fechou a ligação Network operation timed out Operação de rede expirada Out of resources Sem recursos Unsupported socket operation Operação de 'socket' não suportada Protocol type not supported Tipo de protocolo não suportado Invalid socket descriptor Descritor de 'socket' inválido Network unreachable Rede inalcançável Permission denied Permissão negada Connection timed out Ligação expirada Connection refused Ligação recusada The bound address is already in use O endereço de ligação já está em uso The address is not available O endereço não está disponível The address is protected O endereço está protegido Unable to send a message Não foi possível enviar uma mensagem Unable to receive a message Não foi possível receber uma mensagem Unable to write Não foi possível escrever Network error Erro de rede Another socket is already listening on the same port Outro 'socket' já está à escuta no mesmo porto Unable to initialize non-blocking socket Não foi possível inicializar 'socket' não bloqueante Unable to initialize broadcast socket Não foi possível inicializar 'socket' de transmissão Attempt to use IPv6 socket on a platform with no IPv6 support Tentativa de utilização de 'socket' IPv6 numa plataforma sem suporte IPv6 Host unreachable Máquina inalcançável Datagram was too large to send Datagrama demasiado grande para enviar Operation on non-socket Operação em não 'socket' Unknown error Erro desconhecido The proxy type is invalid for this operation QNetworkAccessCacheBackend Error opening %1 QNetworkAccessFileBackend Request for opening non-local file %1 Error opening %1: %2 Write error writing to %1: %2 Cannot open %1: Path is a directory Read error reading from %1: %2 QNetworkAccessFtpBackend No suitable proxy found Cannot open %1: is a directory Logging in to %1 failed: authentication required Error while downloading %1: %2 Error while uploading %1: %2 QNetworkAccessHttpBackend No suitable proxy found QNetworkReply Error downloading %1 - server replied: %2 Protocol "%1" is unknown QNetworkReplyImpl Operation canceled QOCIDriver Unable to logon Não foi possível autenticar Unable to initialize QOCIDriver Não foi possível inicializar Unable to begin transaction Não foi possível iniciar a transacção Unable to commit transaction Unable to rollback transaction QOCIResult Unable to bind column for batch execute Não foi possível fazer a licação da coluna para execução 'batch' Unable to execute batch statement Não foi possível executar a expressão de 'batch' Unable to goto next Não foi possível passar ao seguinte Unable to alloc statement Não foi possível alocar a expressão Unable to prepare statement Não foi possível preparar a expressão Unable to bind value Não foi possível fazer o ligamento do valor Unable to execute select statement Não foi possível executar a expressão select Unable to execute statement Não foi possível executar a expressão QODBCDriver Unable to connect Não foi possível ligar Unable to connect - Driver doesn't support all needed functionality Não foi possível ligar - O 'driver' não suporta todas as funcionalidades necessárias Unable to disable autocommit Não foi possível desactivar finalização automática Unable to commit transaction Não foi possível finalizar a transacção Unable to rollback transaction Não foi possível anular a transacção Unable to enable autocommit Não foi possível activar finalização automática QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Não foi possível definir 'SQL_CURSOR_STATIC' como atributo da expressão. Por favor verifique a configuração do seu 'driver' ODBC Unable to execute statement Não foi possível executar a expressão Unable to fetch next Não foi possível obter o seguinte Unable to prepare statement Não foi possível preparar a expressão Unable to bind variable Não foi possível fazer o ligamento da variável Unable to fetch last Unable to fetch Unable to fetch first Obtenção do primeiro não possível Unable to fetch previous QObject Home Início Operation not supported on %1 Invalid URI: %1 Write error writing to %1: %2 Read error reading from %1: %2 Socket error on %1: %2 Remote host closed the connection prematurely on %1 Protocol error: packet of size 0 received No host name given QPPDOptionsModel Name Nome Value Valor QPSQLDriver Unable to connect Não foi possível ligar Could not begin transaction Não foi possível iniciar a transacção Could not commit transaction Não foi possível finalizar a transacção Could not rollback transaction Não foi possível anular a transacção Unable to subscribe Unable to unsubscribe QPSQLResult Unable to create query Não foi possível criar a 'query' Unable to prepare statement QPageSetupWidget Centimeters (cm) Millimeters (mm) Inches (in) Points (pt) Form Paper Page size: Tamanho página: Width: Height: Paper source: Fonte papel: Orientation Portrait Retrato Landscape Paisagem Reverse landscape Reverse portrait Margins top margin left margin right margin bottom margin QPluginLoader Unknown error Erro desconhecido The plugin was not loaded. QPrintDialog locally connected ligado localmente Aliases: %1 Nomes Alternativos: %1 unknown desconhecido Portrait Retrato Landscape Paisagem A0 (841 x 1189 mm) A0 (841 x 1189 mm) A1 (594 x 841 mm) A1 (594 x 841 mm) A2 (420 x 594 mm) A2 (420 x 594 mm) A3 (297 x 420 mm) A3 (297 x 420 mm) A4 (210 x 297 mm, 8.26 x 11.7 inches) A4 (210 x 297 mm, 8.26 x 11.7 polegadas) A5 (148 x 210 mm) A5 (148 x 210 mm) A6 (105 x 148 mm) A6 (105 x 148 mm) A7 (74 x 105 mm) A7 (74 x 105 mm) A8 (52 x 74 mm) A8 (52 x 74 mm) A9 (37 x 52 mm) A9 (37 x 52 mm) B0 (1000 x 1414 mm) B0 (1000 x 1414 mm) B1 (707 x 1000 mm) B1 (707 x 1000 mm) B2 (500 x 707 mm) B2 (500 x 707 mm) B3 (353 x 500 mm) B3 (353 x 500 mm) B4 (250 x 353 mm) B4 (250 x 353 mm) B5 (176 x 250 mm, 6.93 x 9.84 inches) B5 (176 x 250 mm, 6.93 x 9.84 polegadas) B6 (125 x 176 mm) B6 (125 x 176 mm) B7 (88 x 125 mm) B7 (88 x 125 mm) B8 (62 x 88 mm) B8 (62 x 88 mm) B9 (44 x 62 mm) B9 (44 x 62 mm) B10 (31 x 44 mm) B10 (31 x 44 mm) C5E (163 x 229 mm) C5E (163 x 229 mm) DLE (110 x 220 mm) DLE (110 x 220 mm) Executive (7.5 x 10 inches, 191 x 254 mm) Executivo (7.5 x 10 polegadas, 191 x 254 mm) Folio (210 x 330 mm) Folio (210 x 330 mm) Ledger (432 x 279 mm) Ledger (432 x 279 mm) Legal (8.5 x 14 inches, 216 x 356 mm) Legal (8.5 x 14 polegadas, 216 x 356 mm) Letter (8.5 x 11 inches, 216 x 279 mm) Carta (8.5 x 11 polegadas, 216 x 279 mm) Tabloid (279 x 432 mm) Tablóide (279 x 432 mm) US Common #10 Envelope (105 x 241 mm) Envelope #10 Comum EUA (105 x 241 mm) OK OK Cancel Cancelar Page size: Tamanho página: Orientation: Orientação: Paper source: Fonte papel: Print Imprimir File Ficheiro Printer Impressora Print To File ... Imprimir Para Ficheiro ... Print dialog Diálogo de impressão Paper format Formato do papel Size: Tamanho: Properties Propriedades Printer info: Informação da impressora: Browse Navegar Print to file Imprimir para um ficheiro Print range Selecção de páginas Print all Imprimir todas Pages from Páginas de to a Selection Selecção Copies Cópias Number of copies: Número de cópias: Collate Juntar Print last page first Imprimir a última página primeiro Other Outro Print in color if available Imprimir a cores se disponível Double side printing Imprimir nos dois lados do papel File %1 is not writable. Please choose a different file name. Não é possível escrever no ficheiro %1. Por favor escolha um nome diferente. %1 already exists. Do you want to overwrite it? %1 já existe. Deseja substituir? File exists O ficheiro existe <qt>Do you want to overwrite it?</qt> <qt>Deseja gravar por cima?</qt> Print selection Selecção de Impressão %1 is a directory. Please choose a different file name. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C5E DLE Executive Folio Ledger Legal Letter Tabloid US Common #10 Envelope Custom &Options >> &Print &Options << Print to File (PDF) Print to File (Postscript) Local file Write %1 file The 'From' value cannot be greater than the 'To' value. QPrintPreviewDialog Page Setup %1% Print Preview Next page Previous page First page Last page Fit width Fit page Zoom in Zoom out Portrait Retrato Landscape Paisagem Show single page Show facing pages Show overview of all pages Print Page setup Close Fechar Export to PDF Export to PostScript QPrintPropertiesDialog PPD Properties Propriedades PPD Save Gravar OK OK QPrintPropertiesWidget Form Page Advanced QPrintSettingsOutput Form Copies Cópias Print range Selecção de páginas Print all Imprimir todas Pages from Páginas de to a Selection Selecção Output Settings Copies: Collate Juntar Reverse Options Opções Color Mode Color Grayscale Duplex Printing None Long side Short side QPrintWidget Form Printer Impressora &Name: P&roperties Location: Preview Type: Output &file: ... QProcess Could not open input redirection for reading Could not open output redirection for writing Resource error (fork failure): %1 Process operation timed out Error reading from process Error writing to process Process crashed No program defined Process failed to start QProgressDialog Cancel Cancelar QPushButton Open Abrir QRadioButton Check Activar QRegExp no error occurred sem erros disabled feature used funcionalidade desactivada está a ser utilizada bad char class syntax má sintaxe de classe de caracteres bad lookahead syntax má sintaxe de antecipação bad repetition syntax má sintaxe de repetição invalid octal value valor octal inválido missing left delim delimitador esquerdo em falta unexpected end fim inesperado met internal limit limite interno alcançado QSQLite2Driver Error to open database Erro ao abrir base de dados Unable to begin transaction Não foi possível iniciar a transacção Unable to commit transaction Não foi possível finalizar a transacção Unable to rollback Transaction Não foi possível anular a transacção QSQLite2Result Unable to fetch results Não foi possível obter os resultados Unable to execute statement Não foi possível executar a expressão QSQLiteDriver Error opening database Erro ao abrir a base de dados Error closing database Erro ao fechar a base de dados Unable to begin transaction Não foi possível iniciar a transacção Unable to commit transaction Não foi possível finalizar a transacção Unable to roll back transaction Não foi possível anular a transacção Unable to rollback transaction QSQLiteResult Unable to fetch row Não foi possível obter a linha Unable to execute statement Não foi possível executar a expressão Unable to reset statement Não foi possível restaurar a expressão Unable to bind parameters Não foi possível fazer a ligação dos parametros Parameter count mismatch Incorrespondência de contagem de parâmetros No query QScrollBar Scroll here Deslizar aqui Left edge Borda esquerda Top Topo Right edge Borda direita Bottom Fundo Page left Página para esquerda Page up Página para cima Page right Página para direita Page down Página para baixo Scroll left Deslizar para esquerda Scroll up Deslizar para cima Scroll right Deslizar para a direita Scroll down Deslizar para baixo Line up Linha acima Position Posição Line down Linha abaixo QSharedMemory %1: unable to set key on lock %1: create size is less then 0 %1: unable to lock %1: unable to unlock %1: permission denied %1: already exists %1: doesn't exists %1: out of resources %1: unknown error %2 %1: key is empty %1: unix key file doesn't exists %1: ftok failed %1: unable to make key %1: system-imposed size restrictions %1: not attached %1: invalid size %1: key error %1: size query failed QShortcut Space Space Esc Esc Tab Tab Backtab Backtab Backspace Backspace Return Return Enter Enter Ins Insert Del Delete Pause Pause Print Print SysReq SysReq Home Home End End Left Esquerda Up Cima Right Direita Down Baixo PgUp PgUp PgDown PgDown CapsLock CapsLock NumLock Num Lock ScrollLock ScrollLock Menu Menu Help Ajuda Back Anterior Forward Seguinte Stop Parar Refresh Refrescar Volume Down Volume Cima Volume Mute Volume Mute Volume Up Volume Baixo Bass Boost Bass Boost Bass Up Bass Cima Bass Down Bass Baixo Treble Up Treble Cima Treble Down Treble Baixo Media Play Tocar Média Media Stop Parar Média Media Previous Média Anterior Media Next Média Seguinte Media Record Gravação Média Favorites Favoritos Search Procurar Standby Hibernação Open URL Abrir Endereço Launch Mail Correio Electrónico Launch Media Média Launch (0) Executar (0) Launch (1) Executar (1) Launch (2) Executar (2) Launch (3) Executar (3) Launch (4) Executar (4) Launch (5) Executar (5) Launch (6) Executar (6) Launch (7) Executar (7) Launch (8) Executar (8) Launch (9) Executar (9) Launch (A) Executar (A) Launch (B) Executar (B) Launch (C) Executar (C) Launch (D) Executar (D) Launch (E) Executar (E) Launch (F) Executar (F) Print Screen Print Screen Page Up Page Up Page Down Page Down Caps Lock Caps Lock Num Lock Num Lock Number Lock Number Lock Scroll Lock Scroll Lock Insert Insert Delete Delete Escape Escape System Request System Request Select Select Yes Sim No Não Context1 Contexto1 Context2 Contexto2 Context3 Contexto3 Context4 Contexto4 Call Chamar Hangup Desligar Flip Inverter Ctrl Ctrl Shift Shift Alt Alt Meta Meta + + F%1 F%1 Home Page Página Principal QSlider Page left Página para esquerda Page up Página para cima Position Posição Page right Página para direita Page down Página para baixo QSocks5SocketEngine Connection to proxy refused Connection to proxy closed prematurely Proxy host not found Connection to proxy timed out Proxy authentication failed Proxy authentication failed: %1 SOCKS version 5 protocol error General SOCKSv5 server failure Connection not allowed by SOCKSv5 server TTL expired SOCKSv5 command not supported Address type not supported Unknown SOCKSv5 proxy error code 0x%1 Socks5 timeout error connecting to socks server Socks5 expirado ao ligar ao servidor socks Network operation timed out Operação de rede expirada QSpinBox More Mais Less Menos QSql Delete Apagar Delete this record? Apagar este registo? Yes Sim No Não Insert Inserir Update Actualizar Save edits? Gravar as alterações? Cancel Cancelar Confirm Confirmar Cancel your edits? Cancelar as alterações? QSslSocket Unable to write data: %1 Error while reading: %1 Error during SSL handshake: %1 Error creating SSL context (%1) Invalid or empty cipher list (%1) Error creating SSL session, %1 Error creating SSL session: %1 Cannot provide a certificate with no key, %1 Error loading local certificate, %1 Error loading private key, %1 Private key does not certificate public key, %1 QSystemSemaphore %1: out of resources %1: permission denied %1: already exists %1: does not exist %1: unknown error %2 QTDSDriver Unable to open connection Não foi possível estabelecer a ligação Unable to use database Não foi possível utilizar a base de dados QTabBar Scroll Left Deslizar para Esquerda Scroll Right Deslizar para Direita QTcpServer Socket operation unsupported Operação de 'socket' não suportada Operation on socket is not supported QTextControl &Undo &Desfazer &Redo &Refazer Cu&t Cor&tar &Copy &Copiar Copy &Link Location Copiar &Localização da Ligação &Paste Co&lar Delete Apagar Select All Seleccionar Tudo QToolButton Press Pressionar Open Abrir QUdpSocket This platform does not support IPv6 Esta plataforma não suporta IPv6 QUndoGroup Undo Desfazer Redo Refazer QUndoModel <empty> <vazio> QUndoStack Undo Desfazer Redo Refazer QUnicodeControlCharacterMenu LRM Left-to-right mark LRM Marca esquerda-para-direita RLM Right-to-left mark RLM Marca direita-para-esquerda ZWJ Zero width joiner ZWJ Ligador de comprimento zero ZWNJ Zero width non-joiner ZWNJ Não-ligador de comprimento zero ZWSP Zero width space ZWSP Espaço de comprimento zero LRE Start of left-to-right embedding LRE Início de encaixe esquerda-para-direita RLE Start of right-to-left embedding RLE Início de encaixe direita-para-esquerda LRO Start of left-to-right override LRO Início de sobreposição esquerda-para-direita RLO Start of right-to-left override RLO Início de sobreposição direita-para-esquerda PDF Pop directional formatting PDF Formatação pop direccional Insert Unicode control character Inserir carácter de controlo Unicode QWebFrame Request cancelled Request blocked Cannot show URL Frame load interruped by policy change Cannot show mimetype File does not exist QWebPage Bad HTTP request Submit default label for Submit buttons in forms on web pages Submit Submit (input element) alt text for <input> elements with no alt, title, or value Reset default label for Reset buttons in forms on web pages Restaurar This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Choose File title for file button used in HTML forms No file selected text to display in file button used in HTML forms when no file is selected Open in New Window Open in New Window context menu item Save Link... Download Linked File context menu item Copy Link Copy Link context menu item Open Image Open Image in New Window context menu item Save Image Download Image context menu item Copy Image Copy Link context menu item Open Frame Open Frame in New Window context menu item Copy Copy context menu item Go Back Back context menu item Go Forward Forward context menu item Stop Stop context menu item Parar Reload Reload context menu item Cut Cut context menu item Paste Paste context menu item No Guesses Found No Guesses Found context menu item Ignore Ignore Spelling context menu item Ignorar Add To Dictionary Learn Spelling context menu item Search The Web Search The Web context menu item Look Up In Dictionary Look Up in Dictionary context menu item Open Link Open Link context menu item Ignore Ignore Grammar context menu item Ignorar Spelling Spelling and Grammar context sub-menu item Show Spelling and Grammar menu item title Hide Spelling and Grammar menu item title Check Spelling Check spelling context menu item Check Spelling While Typing Check spelling while typing context menu item Check Grammar With Spelling Check grammar with spelling context menu item Fonts Font context sub-menu item Bold Bold context menu item Italic Italic context menu item Underline Underline context menu item Outline Outline context menu item Direction Writing direction context sub-menu item Text Direction Text direction context sub-menu item Default Default writing direction context menu item LTR Left to Right context menu item RTL Right to Left context menu item Inspect Inspect Element context menu item No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Clear recent searches menu item in Recent Searches menu that empties menu's contents Unknown Unknown filesize FTP directory listing item Desconhecido %1 (%2x%3 pixels) Title string for images Web Inspector - %2 Scroll here Deslizar aqui Left edge Borda esquerda Top Topo Right edge Borda direita Bottom Fundo Page left Página para esquerda Page up Página para cima Page right Página para direita Page down Página para baixo Scroll left Deslizar para esquerda Scroll up Deslizar para cima Scroll right Deslizar para a direita Scroll down Deslizar para baixo %n file(s) number of chosen file JavaScript Alert - %1 JavaScript Confirm - %1 JavaScript Prompt - %1 Move the cursor to the next character Move the cursor to the previous character Move the cursor to the next word Move the cursor to the previous word Move the cursor to the next line Move the cursor to the previous line Move the cursor to the start of the line Move the cursor to the end of the line Move the cursor to the start of the block Move the cursor to the end of the block Move the cursor to the start of the document Move the cursor to the end of the document Select all Select to the next character Select to the previous character Select to the next word Select to the previous word Select to the next line Select to the previous line Select to the start of the line Select to the end of the line Select to the start of the block Select to the end of the block Select to the start of the document Select to the end of the document Delete to the start of the word Delete to the end of the word Insert a new paragraph Insert a new line QWhatsThisAction What's This? O Que é Isto? QWidget * * QWizard Go Back Continue Commit Done Quit Sair Help Ajuda < &Back < &Recuar &Finish &Terminar Cancel Cancelar &Help &Ajuda &Next &Next > &Avançar > QWorkspace &Restore &Restaurar &Move &Mover &Size &Tamanho Mi&nimize Mi&nimizar Ma&ximize Ma&ximizar &Close &Fechar Stay on &Top Permanecer no &Topo Sh&ade Sombr&a %1 - [%2] %1 - [%2] Minimize Minimizar Restore Down Restaurar Baixo Close Fechar &Unshade &Sair Sombra QXml no error occurred não ocorreu nenhum erro error triggered by consumer erro disparado pelo consumidor unexpected end of file fim de ficheiro inesperado more than one document type definition mais de uma definição de tipo de documento error occurred while parsing element erro ao analisar elemento tag mismatch má combinação de etiqueta error occurred while parsing content erro ao analisar o conteúdo unexpected character carácter inesperado invalid name for processing instruction nome inválido de instrução de processamento version expected while reading the XML declaration versão esperada ao ler a declaração XML wrong value for standalone declaration valor errado para declaração única encoding declaration or standalone declaration expected while reading the XML declaration declaração de codificação ou declaração única esperada ao ler a declaração XML standalone declaration expected while reading the XML declaration declaração única esperada ao ler a declaração XML error occurred while parsing document type definition erro ao analisar a definição de tipo de documento letter is expected uma letra é esperada error occurred while parsing comment erro ao analisar comentário error occurred while parsing reference erro ao analisar referência internal general entity reference not allowed in DTD referência de entidade geral interna não permitida na DTD external parsed general entity reference not allowed in attribute value referência de entidade geral analisada externa não permitida no valor do atributo external parsed general entity reference not allowed in DTD referência de entidade geral analisada externa não permitida na DTD unparsed entity reference in wrong context referência de entidade não analisada em contexto errado recursive entities entidades recursivas error in the text declaration of an external entity erro na declaração de uma entidade externa QXmlStream Extra content at end of document. Invalid entity value. Invalid XML character. Sequence ']]>' not allowed in content. Namespace prefix '%1' not declared Attribute redefined. Unexpected character '%1' in public id literal. Invalid XML version string. Unsupported XML version. %1 is an invalid encoding name. Encoding %1 is unsupported Standalone accepts only yes or no. Invalid attribute in XML declaration. Premature end of document. Invalid document. Expected , but got ' Unexpected ' Expected character data. Recursive entity detected. Start tag expected. XML declaration not at start of document. NDATA in parameter entity declaration. %1 is an invalid processing instruction name. Invalid processing instruction name. Illegal namespace declaration. Invalid XML name. Opening and ending tag mismatch. Reference to unparsed entity '%1'. Entity '%1' not declared. Reference to external entity '%1' in attribute value. Invalid character reference. Encountered incorrectly encoded content. The standalone pseudo attribute must appear after the encoding. %1 is an invalid PUBLIC identifier. QtXmlPatterns An %1-attribute with value %2 has already been declared. An %1-attribute must have a valid %2 as value, which %3 isn't. Network timeout. Element %1 can't be serialized because it appears outside the document element. Attribute %1 can't be serialized because it appears at the top level. Year %1 is invalid because it begins with %2. Day %1 is outside the range %2..%3. Month %1 is outside the range %2..%3. Overflow: Can't represent date %1. Day %1 is invalid for month %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Time %1:%2:%3.%4 is invalid. Overflow: Date can't be represented. At least one component must be present. At least one time component must appear after the %1-delimiter. No operand in an integer division, %1, can be %2. The first operand in an integer division, %1, cannot be infinity (%2). The second operand in a division, %1, cannot be zero (%2). %1 is not a valid value of type %2. When casting to %1 from %2, the source value cannot be %3. Integer division (%1) by zero (%2) is undefined. Division (%1) by zero (%2) is undefined. Modulus division (%1) by zero (%2) is undefined. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. A value of type %1 cannot have an Effective Boolean Value. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Value %1 of type %2 exceeds maximum (%3). Value %1 of type %2 is below minimum (%3). A value of type %1 must contain an even number of digits. The value %2 does not. %1 is not valid as a value of type %2. Operator %1 cannot be used on type %2. Operator %1 cannot be used on atomic values of type %2 and %3. The namespace URI in the name for a computed attribute cannot be %1. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Type error in cast, expected %1, received %2. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. No casting is possible with %1 as the target type. It is not possible to cast from %1 to %2. Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. It's not possible to cast the value %1 of type %2 to %3 Failure when casting from %1 to %2: %3 A comment cannot contain %1 A comment cannot end with a %1. No comparisons can be done involving the type %1. Operator %1 is not available between atomic values of type %2 and %3. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. A library module cannot be evaluated directly. It must be imported from a main module. No template by name %1 exists. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. A positional predicate must evaluate to a single numeric value. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. The data of a processing instruction cannot contain the string %1 No namespace binding exists for the prefix %1 No namespace binding exists for the prefix %1 in %2 %1 is an invalid %2 %1 takes at most %n argument(s). %2 is therefore invalid. %1 requires at least %n argument(s). %2 is therefore invalid. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. %1 is not a valid XML 1.0 character. The first argument to %1 cannot be of type %2. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. %1 was called. %1 must be followed by %2 or %3, not at the end of the replacement string. In the replacement string, %1 must be followed by at least one digit when not escaped. In the replacement string, %1 can only be used to escape itself or %2, not %3 %1 matches newline characters %1 and %2 match the start and end of a line. Matches are case insensitive Whitespace characters are removed, except when they appear in character classes %1 is an invalid regular expression pattern: %2 %1 is an invalid flag for regular expressions. Valid flags are: If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. It will not be possible to retrieve %1. The root node of the second argument to function %1 must be a document node. %2 is not a document node. The default collection is undefined %1 cannot be retrieved The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. %1 is not a whole number of minutes. Required cardinality is %1; got cardinality %2. The item %1 did not match the required type %2. %1 is an unknown schema type. Only one %1 declaration can occur in the query prolog. The initialization of variable %1 depends on itself No variable by name %1 exists The variable %1 is unused Version %1 is not supported. The supported XQuery version is 1.0. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. No function with signature %1 is available A default namespace declaration must occur before function, variable, and option declarations. Namespace declarations must occur before function, variable, and option declarations. Module imports must occur before function, variable, and option declarations. It is not possible to redeclare prefix %1. Prefix %1 is already declared in the prolog. The name of an option must have a prefix. There is no default namespace for options. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. The target namespace of a %1 cannot be empty. The module import feature is not supported No value is available for the external variable by name %1. A construct was encountered which only is allowed in XQuery. A template by name %1 has already been declared. The keyword %1 cannot occur with any other mode name. The value of attribute %1 must of type %2, which %3 isn't. The prefix %1 can not be bound. By default, it is already bound to the namespace %2. A variable by name %1 has already been declared. A stylesheet function must have a prefixed name. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 A function already exists with the signature %1. No external functions are supported. All supported functions can be used directly, without first declaring them as external An argument by name %1 has already been declared. Every argument name must be unique. When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. In an XSL-T pattern, function %1 cannot have a third argument. In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. %1 is an invalid template mode name. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. None of the pragma expressions are supported. Therefore, a fallback expression must be present Each name of a template parameter must be unique; %1 is duplicated. The %1-axis is unsupported in XQuery %1 is not a valid name for a processing-instruction. %1 is not a valid numeric literal. No function by name %1 is available. The namespace URI cannot be the empty string when binding to a prefix, %1. %1 is an invalid namespace URI. It is not possible to bind to the prefix %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Two namespace declaration attributes have the same name: %1. The namespace URI must be a constant and cannot use enclosed expressions. An attribute by name %1 has already appeared on this element. A direct element constructor is not well-formed. %1 is ended with %2. The name %1 does not refer to any schema type. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 is not an atomic type. Casting is only possible to atomic types. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. The name of an extension expression must be in a namespace. empty zero or one exactly one one or more zero or more Required type is %1, but %2 was found. Promoting %1 to %2 may cause loss of precision. The focus is undefined. It's not possible to add attributes after any other kind of node. An attribute by name %1 has already been created. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. %1 is an unsupported encoding. %1 contains octets which are disallowed in the requested encoding %2. The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. Ambiguous rule match. In a namespace constructor, the value for a namespace cannot be an empty string. The prefix must be a valid %1, which %2 is not. The prefix %1 cannot be bound. Only the prefix %1 can be bound to %2 and vice versa. Circularity detected The parameter %1 is required, but no corresponding %2 is supplied. The parameter %1 is passed, but no corresponding %2 exists. The URI cannot have a fragment Element %1 is not allowed at this location. Text nodes are not allowed at this location. Parse error: %1 The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. Running an XSL-T 1.0 stylesheet with a 2.0 processor. Unknown XSL-T attribute %1. Attribute %1 and %2 are mutually exclusive. In a simplified stylesheet module, attribute %1 must be present. If element %1 has no attribute %2, it cannot have attribute %3 or %4. Element %1 must have at least one of the attributes %2 or %3. At least one mode must be specified in the %1-attribute on element %2. Attribute %1 cannot appear on the element %2. Only the standard attributes can appear. Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes. Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes. Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes. XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is. The attribute %1 must appear on element %2. The element with local name %1 does not exist in XSL-T. Element %1 must come last. At least one %1-element must occur before %2. Only one %1-element can appear. At least one %1-element must occur inside %2. When attribute %1 is present on %2, a sequence constructor cannot be used. Element %1 must have either a %2-attribute or a sequence constructor. When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. Element %1 cannot have children. Element %1 cannot have a sequence constructor. The attribute %1 cannot appear on %2, when it is a child of %3. A parameter in a function cannot be declared to be a tunnel. This processor is not Schema-aware and therefore %1 cannot be used. Top level stylesheet elements must be in a non-null namespace, which %1 isn't. The value for attribute %1 on element %2 must either be %3 or %4, not %5. Attribute %1 cannot have the value %2. The attribute %1 can only appear on the first %2 element. At least one %1 element must appear as child of %2. VolumeSlider Muted Volume: %1% qelectrotech-0.22+svn897/lang/qt_es.qm0000644000175000017500000023766511177376266017535 0ustar laurentlaurent?S``Y2ee@eSįį y~^Q(4Of(4O(5O(5P*y*y|*y*TT *0'*0+F+F+fW+fF+z0+&+} +Z+z1++:;+F+TJ+9+=+įZ+į}@+į+1M; F0iG:Hw9Hw9:I.IJ+J6<J62.J6;WJ6@FJ6|J6J6!J6KJLZOLL2]LbM5@O|1PFE PFEPFEZTU?^$IU|8>V1V1Vl VޱWWTWT<X=X+X˙>EX(Y`YNZg\]4\]4\]at|^v9v"f[IA[=]I9y(ɵn2ɵnh9ɵnodɵn~ɵn,ɵnĖɵn)-^ B5qMEv-qH.<p5#Q%UT(ŎP{*42 CCCeID"D1YMxaR?FfP l!oR+w^2|{yW2O2.AqRO d yGturp m"l)+P-\/=N1$#5~Xj< u#?NtNky]`4`"  6KE")rg6966^\=|'=~.P8YEKEΝJ{.8AAZQ[yL6n@5K ŢɚMUMeEVE`Www!e-&)*/e5P;pBy@F8gOZfJ`cփfjCP>qKu(B~U )$$ g(^ n,jc;y3A&Hi./i5IxS/~R>#YMWAYM`h^ i%ssczw˦Wۊ1N-]]IfIsII;I.II>ILY؈iy\ט Ihxٴ,<uD[uDbDpo,,},,,mZɘeԣ5$ fR -fRMKNղMc#Pq^V<VfREIְ [q%C ?"KN?MR]g>]n\ky^J{yFNG%UMصǥ+&t {yir %/C-~5qƨƨ˾nҝz i4է?Z>!xf 2~bM~bS,o !l+3*//%6 DGVwGbQLAUPѧ;Sn'UsUZҙZZ ZA[]k*L^n we ri[sibkQ"oN`y;{X}uj}w)}wz}w  "t%tt.}.PDt(ytaMtg_ Fʢ67ʢd7"dddw59kiUBw xD k+d2A6\CU]EDKGU|arƬt}wZE}$}$&}$ZK<<6 /aETu%5RTi~xZ%.5kEXU KbDKbGvgAZi$x1 _z*2еd0Uћ5ÙzBmVnm߽C>ʴ5ʴ5ԄDZd F5F5YI IKAs 6 }$$ qe_3 ڤ E. E Acx AcN 35z K!?Hm bb b`^ b` i3% la7 xq | t tNI . X B (  > 3 pE K o %'_  ڤ =  )J */Ђ 7uc ;y, =U B Rۮ T^T ] `g `$ c( df e v eL f1X gnh k,C rD" t Sm) Vq ]$4T f)x f)H io>V m` = w yr8 H HFN * $I6 .@  i/  } J JJ v t. k Ӈl  N>w ̺T -DU .{ k k U)c? < 0;  Z  bQ ݦ xHfg ./ 7F >] >^ >_ >f >s >|` >K > DT I/G RVO) RV RV S. S Yo [1 j7oD p0J . Bo > T3e T$ T T X q% 5  )dU  .3 .h . .W a yE ҂  t a :bc ʜ.t +>1 0E ;ɾ Pt Pt fe` fe gN iFC iLB ic n) u' uX w$ w~ w w}x w} w}, |[% X a ^ }z R  X &% D M t5 t5   )v T)gT*O*(?*/E)/E=BuI_d XRu[ a.<(nyG#vɅy$S~eSsO^B&>ݖ[y  I5"#ȣ$U%4?C%4R6-v0i)ۣ0{1cR2wT]D!/HJde0L$.c5ʹc5gyC"{~a`k[7JJNCkyP|t2-~ǚi&4HLa secuencia %1, %2 no est definida%1, %2 not definedQ3Accel>Secuencia ambigua %1 no tratadaAmbiguous %1 not handledQ3Accel BorrarDelete Q3DataTable FalsoFalse Q3DataTableInsertarInsert Q3DataTableVerdaderoTrue Q3DataTableActualizarUpdate Q3DataTable%1 Fichero no encontrado. Compruebe la ruta y el nombre del fichero.+%1 File not found. Check path and filename. Q3FileDialog&Borrar&Delete Q3FileDialog&No&No Q3FileDialog&Aceptar&OK Q3FileDialog &Abrir&Open Q3FileDialog$Cambia&r de nombre&Rename Q3FileDialog&Guardar&Save Q3FileDialog&Sin ordenar &Unsorted Q3FileDialog&S&Yes Q3FileDialogT<qt>Seguro que desea borrar %1 %2?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog,Todos los ficheros (*) All Files (*) Q3FileDialog0Todos los ficheros (*.*)All Files (*.*) Q3FileDialogAtributos Attributes Q3FileDialog,Precedente (histrico)Back Q3FileDialogCancelarCancel Q3FileDialog2Copiar o mover un ficheroCopy or Move a File Q3FileDialog.Crear una nueva carpetaCreate New Folder Q3FileDialog FechaDate Q3FileDialogBorrar %1 Delete %1 Q3FileDialogVista detallada Detail View Q3FileDialogDirectorioDir Q3FileDialogDirectorios Directories Q3FileDialogDirectorio: Directory: Q3FileDialog ErrorError Q3FileDialogFicheroFile Q3FileDialog&&Nombre de fichero: File &name: Q3FileDialog"&Tipo de fichero: File &type: Q3FileDialog.Buscar en el directorioFind Directory Q3FileDialogInaccesible Inaccessible Q3FileDialogVista de lista List View Q3FileDialogBuscar &en: Look &in: Q3FileDialog NombreName Q3FileDialogNueva carpeta New Folder Q3FileDialog Nueva carpeta %1 New Folder %1 Q3FileDialogNueva carpeta 1 New Folder 1 Q3FileDialog2Ir al directorio superiorOne directory up Q3FileDialog AbrirOpen Q3FileDialog Abrir Open  Q3FileDialogHContenido del fichero previsualizadoPreview File Contents Q3FileDialogLInformacin del fichero previsualizadoPreview File Info Q3FileDialogR&ecargarR&eload Q3FileDialogSlo lectura Read-only Q3FileDialog"Lectura-escritura Read-write Q3FileDialogLectura: %1Read: %1 Q3FileDialogGuardar comoSave As Q3FileDialog2Seleccionar un directorioSelect a Directory Q3FileDialog:Mostrar los fic&heros ocultosShow &hidden files Q3FileDialog TamaoSize Q3FileDialogOrdenarSort Q3FileDialog$Ordenar por &fecha Sort by &Date Q3FileDialog&Ordenar por &nombre Sort by &Name Q3FileDialog&Ordenar por &tamao Sort by &Size Q3FileDialog Fichero especialSpecial Q3FileDialog@Enlace simblico a un directorioSymlink to Directory Q3FileDialog:Enlace simblico a un ficheroSymlink to File Q3FileDialogLEnlace simblico a un fichero especialSymlink to Special Q3FileDialogTipoType Q3FileDialogSlo escritura Write-only Q3FileDialogEscritura: %1 Write: %1 Q3FileDialogel directorio the directory Q3FileDialogel ficherothe file Q3FileDialog&el enlace simblico the symlink Q3FileDialogJNo fue posible crear el directorio %1Could not create directory %1 Q3LocalFs.No fue posible abrir %1Could not open %1 Q3LocalFsHNo fue posible leer el directorio %1Could not read directory %1 Q3LocalFsdNo fue posible eliminar el fichero o directorio %1%Could not remove file or directory %1 Q3LocalFsPNo fue posible cambiar el nombre %1 a %2Could not rename %1 to %2 Q3LocalFs4No fue posible escribir %1Could not write %1 Q3LocalFsPersonalizar... Customize... Q3MainWindowAlinearLine up Q3MainWindowBOperacin detenida por el usuarioOperation stopped by the userQ3NetworkProtocolCancelarCancelQ3ProgressDialogAplicarApply Q3TabDialogCancelarCancel Q3TabDialog&Valores por omisinDefaults Q3TabDialog AyudaHelp Q3TabDialogAceptarOK Q3TabDialog&Copiar&Copy Q3TextEdit &Pegar&Paste Q3TextEdit&Rehacer&Redo Q3TextEdit&Deshacer&Undo Q3TextEditLimpiarClear Q3TextEditCor&tarCu&t Q3TextEdit Seleccionar todo Select All Q3TextEdit CerrarClose Q3TitleBar"Cierra la ventanaCloses the window Q3TitleBarTContiene rdenes para manipular la ventana*Contains commands to manipulate the window Q3TitleBarMuestra el nombre de la ventana y contiene controles para manipularlaFDisplays the name of the window and contains controls to manipulate it Q3TitleBarNMuestra la ventana en pantalla completaMakes the window full screen Q3TitleBarMaximizarMaximize Q3TitleBarMinimizarMinimize Q3TitleBar"Aparta la ventanaMoves the window out of the way Q3TitleBarfDevuelve una ventana maximizada a su aspecto normal&Puts a maximized window back to normal Q3TitleBarfDevuelve una ventana minimizada a su aspecto normalPuts a minimized back to normal Q3TitleBarRestaurar abajo Restore down Q3TitleBar Restaurar arriba Restore up Q3TitleBarSistemaSystem Q3TitleBar Ms...More... Q3ToolBar(desconocido) (unknown) Q3UrlOperatorEl protocolo %1 no permite copiar o mover ficheros o directoriosIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorjEl protocolo %1 no permite crear nuevos directorios;The protocol `%1' does not support creating new directories Q3UrlOperatorZEl protocolo %1 no permite recibir ficheros0The protocol `%1' does not support getting files Q3UrlOperatorEl protocolo %1 no permite listar los ficheros de un directorio6The protocol `%1' does not support listing directories Q3UrlOperatorXEl protocolo %1 no permite enviar ficheros0The protocol `%1' does not support putting files Q3UrlOperatorxEl protocolo %1 no permite eliminar ficheros o directorios@The protocol `%1' does not support removing files or directories Q3UrlOperatorEl protocolo %1 no permite cambiar de nombre ficheros o directorios@The protocol `%1' does not support renaming files or directories Q3UrlOperatorJEl protocolo %1 no est contemplado"The protocol `%1' is not supported Q3UrlOperator&Cancelar&CancelQ3Wizard&Terminar&FinishQ3Wizard &Ayuda&HelpQ3WizardSiguie&nte >&Next >Q3Wizard< &Anterior< &BackQ3Wizard$Conexin rechazadaConnection refusedQAbstractSocket"Conexin expiradaConnection timed outQAbstractSocket(Equipo no encontradoHost not foundQAbstractSocket Red inalcanzableNetwork unreachableQAbstractSocket6El socket no est conectadoSocket is not connectedQAbstractSocket2Operacin socket expiradaSocket operation timed outQAbstractSocket"&Seleccionar todo &Select AllQAbstractSpinBox&Aumentar&Step upQAbstractSpinBoxRe&ducir Step &downQAbstractSpinBoxActivarActivate QApplicationPActiva la ventana principal del programa#Activates the program's main window QApplicationlEl ejecutable %1 requiere Qt %2 (se encontr Qt %3).,Executable '%1' requires Qt %2, found Qt %3. QApplicationBError: biblioteca Qt incompatibleIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication&Cancelar&Cancel QAxSelect&Objeto COM: COM &Object: QAxSelectAceptarOK QAxSelect<Seleccionar un control ActiveXSelect ActiveX Control QAxSelect MarcarCheck QCheckBoxConmutarToggle QCheckBoxDesmarcarUncheck QCheckBoxH&Aadir a los colores personalizados&Add to Custom Colors QColorDialog Colores &bsicos &Basic colors QColorDialog.&Colores personalizados&Custom colors QColorDialog&Verde:&Green: QColorDialog &Rojo:&Red: QColorDialog&Saturacin:&Sat: QColorDialog&Valor:&Val: QColorDialogCanal a&lfa:A&lpha channel: QColorDialog Az&ul:Bl&ue: QColorDialog &Tono:Hu&e: QColorDialog CerrarClose QComboBox FalsoFalse QComboBox AbrirOpen QComboBoxVerdaderoTrue QComboBox@Incapaz de enviar la transaccinUnable to commit transaction QDB2DriverBImposible establecer una conexinUnable to connect QDB2Driver@Incapaz de anular la transaccinUnable to rollback transaction QDB2DriverLIncapaz de activar el envo automticoUnable to set autocommit QDB2Driver>No es posible ligar la variableUnable to bind variable QDB2ResultBImposible ejecutar la instruccinUnable to execute statement QDB2Result<Imposible recuperar el primeroUnable to fetch first QDB2Result@Imposible recuperar el siguienteUnable to fetch next QDB2Result@Imposible obtener el registro %1Unable to fetch record %1 QDB2ResultBImposible preparar la instruccinUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEdit QDialQDialQDial$Asa del deslizador SliderHandleQDialVelocmetro SpeedoMeterQDialTerminarDoneQDialogQu es esto? What's This?QDialog&Cancelar&CancelQDialogButtonBox&Cerrar&CloseQDialogButtonBox&No&NoQDialogButtonBox&Aceptar&OKQDialogButtonBox&Guardar&SaveQDialogButtonBox&S&YesQDialogButtonBoxInterrumpirAbortQDialogButtonBoxAplicarApplyQDialogButtonBoxCancelarCancelQDialogButtonBox CerrarCloseQDialogButtonBox$Cerrar sin guardarClose without SavingQDialogButtonBoxDescartarDiscardQDialogButtonBoxNo guardar Don't SaveQDialogButtonBox AyudaHelpQDialogButtonBoxIgnorarIgnoreQDialogButtonBoxN&o a todo N&o to AllQDialogButtonBoxAceptarOKQDialogButtonBox AbrirOpenQDialogButtonBoxReinicializarResetQDialogButtonBoxJRestaurar los valores predeterminadosRestore DefaultsQDialogButtonBoxReintentarRetryQDialogButtonBoxGuardarSaveQDialogButtonBoxGuardar todoSave AllQDialogButtonBoxS a &todo Yes to &AllQDialogButtonBox&ltima modificacin Date Modified QDirModel ClaseKind QDirModel NombreName QDirModel TamaoSize QDirModelTipoType QDirModel CerrarClose QDockWidgetAncladaDock QDockWidgetFlotanteFloat QDockWidget MenosLessQDoubleSpinBoxMsMoreQDoubleSpinBox&Aceptar&OK QErrorMessage<Mo&strar este mensaje de nuevo&Show this message again QErrorMessage,Mensaje de depuracin:Debug Message: QErrorMessageError fatal: Fatal Error: QErrorMessage Aviso:Warning: QErrorMessage%1 Directorio no encontrado. Verique que el nombre del directorio es correcto.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Fichero no encontrado. Verifique que el nombre del fichero es correcto.A%1 File not found. Please verify the correct file name was given. QFileDialogZEl fichero %1 ya existe. Desea reemplazarlo?-%1 already exists. Do you want to replace it? QFileDialog&Seleccionar&Choose QFileDialog&Borrar&Delete QFileDialog&Nueva carpeta &New Folder QFileDialog &Abrir&Open QFileDialog$Cambia&r de nombre&Rename QFileDialog&Guardar&Save QFileDialog%1 est protegido contra escritura. Desea borrarlo de todas formas?9'%1' is write protected. Do you want to delete it anyway? QFileDialog,Todos los ficheros (*) All Files (*) QFileDialog0Todos los ficheros (*.*)All Files (*.*) QFileDialog<Seguro que desea borrar %1?!Are sure you want to delete '%1'? QFileDialog(Anterior (histrico)Back QFileDialogHNo fue posible borrar el directorio.Could not delete directory. QFileDialog.Crear una nueva carpetaCreate New Folder QFileDialogVista detallada Detail View QFileDialogDirectorios Directories QFileDialogDirectorio: Directory: QFileDialog UnidadDrive QFileDialogFicheroFile QFileDialog&&Nombre de fichero: File &name: QFileDialog"Ficheros de tipo:Files of type: QFileDialog.Buscar en el directorioFind Directory QFileDialog*Siguiente (histrico)Forward QFileDialogVista de lista List View QFileDialogVer en:Look in: QFileDialogMi equipo My Computer QFileDialogNueva carpeta New Folder QFileDialog AbrirOpen QFileDialog&Directorio superiorParent Directory QFileDialogEliminarRemove QFileDialogGuardar comoSave As QFileDialogMostrar Show  QFileDialog:Mostrar los fic&heros ocultosShow &hidden files QFileDialogDesconocidoUnknown QFileDialog %1 GiB%1 GBQFileSystemModel %1 KiB%1 KBQFileSystemModel %1 MiB%1 MBQFileSystemModel %1 TiB%1 TBQFileSystemModel%1 bytes%1 bytesQFileSystemModel<b>No se puede utilizar el nombre %1.</b><p>Intente usar otro nombre con menos caracteres o sin signos de puntuacin.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModel EquipoComputerQFileSystemModel&ltima modificacin Date ModifiedQFileSystemModel6Nombre de fichero no vlidoInvalid filenameQFileSystemModel ClaseKindQFileSystemModelMi equipo My ComputerQFileSystemModel NombreNameQFileSystemModel TamaoSizeQFileSystemModelTipoTypeQFileSystemModel&Tipo de letra&Font QFontDialog&Tamao&Size QFontDialogS&ubrayado &Underline QFontDialogEfectosEffects QFontDialog2&Estilo del tipo de letra Font st&yle QFontDialogMuestraSample QFontDialog8Seleccionar un tipo de letra Select Font QFontDialog&Tachado Stri&keout QFontDialog*Sistema de escr&ituraWr&iting System QFontDialogDFallo del cambio de directorio: %1Changing directory failed: %1QFtp&Conectado al equipoConnected to hostQFtp,Conectado al equipo %1Connected to host %1QFtpPLa conexin con el equipo ha fallado: %1Connecting to host failed: %1QFtp Conexin cerradaConnection closedQFtpRConexin para conexin de datos rechazada&Connection refused for data connectionQFtp>Conexin rechazada al equipo %1Connection refused to host %1QFtp*Conexin a %1 cerradaConnection to %1 closedQFtpRFallo de la creacin de un directorio: %1Creating directory failed: %1QFtpHFallo de la descarga del fichero: %1Downloading file failed: %1QFtp(Equipo %1 encontrado Host %1 foundQFtp.Equipo %1 no encontradoHost %1 not foundQFtp"Equipo encontrado Host foundQFtpPEl listado del directorio ha fallado: %1Listing directory failed: %1QFtp4Identificacin fallida: %1Login failed: %1QFtpNo conectado Not connectedQFtpJEliminacin de directorio fallida: %1Removing directory failed: %1QFtpDEliminacin de fichero fallida: %1Removing file failed: %1QFtp"Error desconocido Unknown errorQFtpFEl envo del fichero ha fallado: %1Uploading file failed: %1QFtp"Error desconocido Unknown error QHostInfo(Equipo no encontradoHost not foundQHostInfoAgent:Direccin de tipo desconocidoUnknown address typeQHostInfoAgent"Error desconocido Unknown errorQHostInfoAgent0Se precisa autenticacinAuthentication requiredQHttp&Conectado al equipoConnected to hostQHttp,Conectado al equipo %1Connected to host %1QHttp Conexin cerradaConnection closedQHttp$Conexin rechazadaConnection refusedQHttp*Conexin a %1 cerradaConnection to %1 closedQHttp,Solicitud HTTP fallidaHTTP request failedQHttp(Equipo %1 encontrado Host %1 foundQHttp.Equipo %1 no encontradoHost %1 not foundQHttp"Equipo encontrado Host foundQHttp0Fragmento HTTP no vlidoInvalid HTTP chunked bodyQHttpHCabecera de respuesta HTTP no vlidaInvalid HTTP response headerQHttpfNo se ha indicado ningn servidor al que conectarseNo server set to connect toQHttp>El proxy requiere autenticacinProxy authentication requiredQHttp,Solicitud interrumpidaRequest abortedQHttpZEl servidor cerr la conexin inesperadamente%Server closed connection unexpectedlyQHttp"Error desconocido Unknown errorQHttp<Longitud del contenido errneaWrong content lengthQHttp0Se precisa autenticacinAuthentication requiredQHttpSocketEngineJNo fue posible iniciar la transaccinCould not start transaction QIBaseDriver>Error al abrir la base de datosError opening database QIBaseDriver@Incapaz de enviar la transaccinUnable to commit transaction QIBaseDriver@Incapaz de anular la transaccinUnable to rollback transaction QIBaseDriverJNo fue posible asignar la instruccinCould not allocate statement QIBaseResultdNo fue posible describir la instruccin de entrada"Could not describe input statement QIBaseResultNNo fue posible describir la instruccinCould not describe statement QIBaseResultXNo fue posible obtener el elemento siguienteCould not fetch next item QIBaseResultBNo fue posible encontrar la tablaCould not find array QIBaseResultXNo fue posible obtener los datos de la tablaCould not get array data QIBaseResulthNo fue posible obtener informacin sobre la consultaCould not get query info QIBaseResultnNo fue posible obtener informacin sobre la instruccinCould not get statement info QIBaseResultLNo fue posible preparar la instruccinCould not prepare statement QIBaseResultJNo fue posible iniciar la transaccinCould not start transaction QIBaseResultHNo fue posible cerrar la instruccinUnable to close statement QIBaseResult@Incapaz de enviar la transaccinUnable to commit transaction QIBaseResult.Imposible crear un BLOBUnable to create BLOB QIBaseResultFNo fue posible ejecutar la consultaUnable to execute query QIBaseResult.Imposible abrir el BLOBUnable to open BLOB QIBaseResult,Imposible leer el BLOBUnable to read BLOB QIBaseResult4Imposible escribir el BLOBUnable to write BLOB QIBaseResultDNo queda espacio en el dispositivoNo space left on device QIODevicebNo hay ningn fichero o directorio con ese nombreNo such file or directory QIODevice Permiso denegadoPermission denied QIODeviceXDemasiados ficheros abiertos simultneamenteToo many open files QIODevice"Error desconocido Unknown error QIODevice4Mtodo de entrada Mac OS XMac OS X input method QInputContext2Mtodo de entrada WindowsWindows input method QInputContextXIMXIM QInputContext*Mtodo de entrada XIMXIM input method QInputContextzNo fu posible establecer la proyeccin en memoria de %1: %2Could not mmap '%1': %2QLibraryxNo fue posible suprimir la proyeccin en memoria de %1: %2Could not unmap '%1': %2QLibrary|Los datos de verificacin del complemento no coinciden en %1)Plugin verification data mismatch in '%1'QLibrarydEl fichero %1 no es un complemento de Qt vlido.'The file '%1' is not a valid Qt plugin.QLibraryEl complemento %1 usa una biblioteca Qt incompatible. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryEl complemento %1 usa una biblioteca Qt incompatible. (No se pueden mezclar las bibliotecas debug y release.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryEl complemento %1 usa una biblioteca Qt incompatible. Se esperaba la clave %2, pero se ha recibido %3OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryZNo se ha encontrado la biblioteca compartida.!The shared library was not found.QLibrary"Error desconocido Unknown errorQLibrary&Copiar&Copy QLineEdit &Pegar&Paste QLineEdit&Rehacer&Redo QLineEdit&Deshacer&Undo QLineEditCor&tarCu&t QLineEdit BorrarDelete QLineEdit Seleccionar todo Select All QLineEditHNo es posible iniciar la transaccinUnable to begin transaction QMYSQLDriverFNo es posible enviar la transaccinUnable to commit transaction QMYSQLDriverJNo es posible establecer una conexinUnable to connect QMYSQLDriverDImposible abrir la base de datos 'Unable to open database ' QMYSQLDriverFNo es posible anular la transaccinUnable to rollback transaction QMYSQLDriverRNo es posible ligar los valores de salidaUnable to bind outvalues QMYSQLResult8No es posible ligar el valorUnable to bind value QMYSQLResultDNo es posible ejecutar la consultaUnable to execute query QMYSQLResultJNo es posible ejecutar la instruccinUnable to execute statement QMYSQLResult>No es posible obtener los datosUnable to fetch data QMYSQLResultJNo es posible preparar la instruccinUnable to prepare statement QMYSQLResultTNo es posible reinicializar la instruccinUnable to reset statement QMYSQLResultHNo es posible almacenar el resultadoUnable to store result QMYSQLResultpNo es posible almacenar los resultados de la instruccin!Unable to store statement results QMYSQLResult%1 - [%2] %1 - [%2] QMdiSubWindow&Cerrar&Close QMdiSubWindow &Mover&Move QMdiSubWindow&Restaurar&Restore QMdiSubWindowRedimen&sionar&Size QMdiSubWindow CerrarClose QMdiSubWindow AyudaHelp QMdiSubWindowMa&ximizar Ma&ximize QMdiSubWindowMaximizarMaximize QMdiSubWindowMenMenu QMdiSubWindowMi&nimizar Mi&nimize QMdiSubWindowMinimizarMinimize QMdiSubWindowRestaurar abajo Restore Down QMdiSubWindow6Permanecer en &primer plano Stay on &Top QMdiSubWindow CerrarCloseQMenuEjecutarExecuteQMenu AbrirOpenQMenuAcerca de QtAbout Qt QMessageBox AyudaHelp QMessageBox.Ocultar los detalles...Hide Details... QMessageBoxAceptarOK QMessageBox.Mostrar los detalles...Show Details... QMessageBoxSeleccionar IM Select IMQMultiInputContextTSeleccionador de varios mtodos de entradaMultiple input method switcherQMultiInputContextPluginSeleccionador de varios mtodos de entrada que usa el men contextual de los elementos de textoMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginbYa hay otro socket escuchando por el mismo puerto4Another socket is already listening on the same portQNativeSocketEngineIntento de usar un socket IPv6 sobre una plataforma que no contempla IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine$Conexin rechazadaConnection refusedQNativeSocketEngine"Conexin expiradaConnection timed outQNativeSocketEnginepEl datagrama era demasiado grande para poder ser enviadoDatagram was too large to sendQNativeSocketEngine$Equipo inaccesibleHost unreachableQNativeSocketEngine<Descriptor de socket no vlidoInvalid socket descriptorQNativeSocketEngineError de red Network errorQNativeSocketEngine>La operacin de red ha expiradoNetwork operation timed outQNativeSocketEngine Red inalcanzableNetwork unreachableQNativeSocketEngine8Operacin sobre un no-socketOperation on non-socketQNativeSocketEngine,Insuficientes recursosOut of resourcesQNativeSocketEngine Permiso denegadoPermission deniedQNativeSocketEngine:Tipo de protocolo no admitidoProtocol type not supportedQNativeSocketEngine>La direccin no est disponibleThe address is not availableQNativeSocketEngine6La direccin est protegidaThe address is protectedQNativeSocketEngineHLa direccin enlazada ya est en uso#The bound address is already in useQNativeSocketEngineNEl equipo remoto ha cerrado la conexin%The remote host closed the connectionQNativeSocketEngineVImposible inicializar el socket de difusin%Unable to initialize broadcast socketQNativeSocketEngineZImposible inicializar el socket no bloqueante(Unable to initialize non-blocking socketQNativeSocketEngine8Imposible recibir un mensajeUnable to receive a messageQNativeSocketEngine6Imposible enviar un mensajeUnable to send a messageQNativeSocketEngine$Imposible escribirUnable to writeQNativeSocketEngine"Error desconocido Unknown errorQNativeSocketEngine8Operacin socket no admitidaUnsupported socket operationQNativeSocketEngineHNo es posible iniciar la transaccinUnable to begin transaction QOCIDriver8La inicializacin ha falladoUnable to initialize QOCIDriver4No es posible abrir sesinUnable to logon QOCIDriverHNo es posible asignar la instruccinUnable to alloc statement QOCIResultvNo es posible ligar la columna para una ejecucin por lotes'Unable to bind column for batch execute QOCIResult8No es posible ligar el valorUnable to bind value QOCIResult^No es posible ejecutar la instruccin por lotes!Unable to execute batch statement QOCIResultJNo es posible ejecutar la instruccinUnable to execute statement QOCIResult@No es posible pasar al siguienteUnable to goto next QOCIResultJNo es posible preparar la instruccinUnable to prepare statement QOCIResultFNo es posible enviar la transaccinUnable to commit transaction QODBCDriverJNo es posible establecer una conexinUnable to connect QODBCDriverNo es posible conectarse - El controlador no ofrece todas las funciones necesariasCUnable to connect - Driver doesn't support all needed functionality QODBCDriverZNo es posible inhabilitar el envo automticoUnable to disable autocommit QODBCDriverVNo es posible habilitar el envo automticoUnable to enable autocommit QODBCDriverFNo es posible anular la transaccinUnable to rollback transaction QODBCDriver QODBCResult::reset: No es posible establecer SQL_CURSOR_STATIC como atributo de instruccin. Compruebe la configuracin de su controlador ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult>No es posible ligar la variableUnable to bind variable QODBCResultJNo es posible ejecutar la instruccinUnable to execute statement QODBCResult<Imposible recuperar el primeroUnable to fetch first QODBCResultDNo es posible obtener el siguienteUnable to fetch next QODBCResultJNo es posible preparar la instruccinUnable to prepare statement QODBCResult InicioHomeQObject NombreNameQPPDOptionsModel ValorValueQPPDOptionsModelJNo fue posible iniciar la transaccinCould not begin transaction QPSQLDriverHNo fue posible enviar la transaccinCould not commit transaction QPSQLDriverHNo fue posible anular la transaccinCould not rollback transaction QPSQLDriverBNo es posible establecer conexinUnable to connect QPSQLDriver>No es posible crear la consultaUnable to create query QPSQLResultApaisado LandscapeQPageSetupWidget"Tamao de pgina: Page size:QPageSetupWidget"Fuente del papel: Paper source:QPageSetupWidgetVerticalPortraitQPageSetupWidget<El complemento no fue cargado.The plugin was not loaded. QPluginLoader"Error desconocido Unknown error QPluginLoaderJ%1 ya existe. Desea sobrescribirlo?/%1 already exists. Do you want to overwrite it? QPrintDialogv%1 es un directorio. Elija un nombre de fichero diferente.7%1 is a directory. Please choose a different file name. QPrintDialog><qt>Desea sobrescribirlo?</qt>%Do you want to overwrite it? QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogNA4 (210 x 297 mm, 8,26 x 11,7 pulgadas)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialogAlias: %1 Aliases: %1 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogNB5 (176 x 250 mm, 6,93 x 9,84 pulgadas)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialogVEjecutivo (7,5 x 10 pulgadas, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogNo se puede escribir en el fichero %1. Elija un nombre de fichero diferente.=File %1 is not writable. Please choose a different file name. QPrintDialog"El fichero existe File exists QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialogNLegal (8,5 x 14 pulgadas, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialogNCarta (8,5 x 11 pulgadas, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogAceptarOK QPrintDialogImprimirPrint QPrintDialog*Imprimir a fichero...Print To File ... QPrintDialogImprimir todo Print all QPrintDialog*Imprimir el intervalo Print range QPrintDialog*Imprimir la seleccinPrint selection QPrintDialog.Tabloide (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogDSobre US Common #10 (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialog(conectado localmentelocally connected QPrintDialogdesconocidounknown QPrintDialog CerrarCloseQPrintPreviewDialogApaisado LandscapeQPrintPreviewDialogVerticalPortraitQPrintPreviewDialogRecopilarCollateQPrintSettingsOutput CopiasCopiesQPrintSettingsOutputOpcionesOptionsQPrintSettingsOutputPginas Pages fromQPrintSettingsOutputImprimir todo Print allQPrintSettingsOutput*Imprimir el intervalo Print rangeQPrintSettingsOutputSeleccin SelectionQPrintSettingsOutputatoQPrintSettingsOutputImpresoraPrinter QPrintWidgetCancelarCancelQProgressDialog AbrirOpen QPushButton MarcarCheck QRadioButtonVsintaxis no vlida para clase de caracteresbad char class syntaxQRegExpBsintaxis no vlida para lookaheadbad lookahead syntaxQRegExpDsintaxis no vlida para repeticinbad repetition syntaxQRegExpXse ha usado una caracterstica no habilitadadisabled feature usedQRegExp*valor octal no vlidoinvalid octal valueQRegExp8se alcanz el lmite internomet internal limitQRegExp<falta el delimitador izquierdomissing left delimQRegExp>no se ha producido ningn errorno error occurredQRegExpfin inesperadounexpected endQRegExp>Error al abrir la base de datosError to open databaseQSQLite2DriverHNo es posible iniciar la transaccinUnable to begin transactionQSQLite2DriverFNo es posible enviar la transaccinUnable to commit transactionQSQLite2DriverFNo es posible anular la transaccinUnable to rollback TransactionQSQLite2DriverJNo es posible ejecutar la instruccinUnable to execute statementQSQLite2ResultHNo es posible obtener los resultadosUnable to fetch resultsQSQLite2Result@Error al cerrar la base de datosError closing database QSQLiteDriver>Error al abrir la base de datosError opening database QSQLiteDriverHNo es posible iniciar la transaccinUnable to begin transaction QSQLiteDriverFNo es posible enviar la transaccinUnable to commit transaction QSQLiteDriver>Nmero de parmetros incorrectoParameter count mismatch QSQLiteResultDNo es posible ligar los parmetrosUnable to bind parameters QSQLiteResultJNo es posible ejecutar la instruccinUnable to execute statement QSQLiteResult:No es posible obtener la filaUnable to fetch row QSQLiteResultTNo es posible reinicializar la instruccinUnable to reset statement QSQLiteResultParte inferiorBottom QScrollBarBorde izquierdo Left edge QScrollBar"Alinear por abajo Line down QScrollBarAlinearLine up QScrollBar,Una pgina hacia abajo Page down QScrollBar2Una pgina a la izquierda Page left QScrollBar.Una pgina a la derecha Page right QScrollBar.Una pgina hacia arribaPage up QScrollBarPosicinPosition QScrollBarBorde derecho Right edge QScrollBar*Desplazar hacia abajo Scroll down QScrollBar(Desplazar hasta aqu Scroll here QScrollBar8Desplazar hacia la izquierda Scroll left QScrollBar4Desplazar hacia la derecha Scroll right QScrollBar,Desplazar hacia arriba Scroll up QScrollBarParte superiorTop QScrollBar++ QShortcutAltAlt QShortcut(Anterior (histrico)Back QShortcut Borrar Backspace QShortcut*Tabulador hacia atrsBacktab QShortcut(Potenciar los graves Bass Boost QShortcut Bajar los graves Bass Down QShortcut Subir los gravesBass Up QShortcut LlamarCall QShortcut*Bloqueo de maysculas Caps Lock QShortcutBloq MaysCapsLock QShortcutContexto1Context1 QShortcutContexto2Context2 QShortcutContexto3Context3 QShortcutContexto4Context4 QShortcutCtrlCtrl QShortcutSuprDel QShortcut BorrarDelete QShortcut AbajoDown QShortcutFinEnd QShortcut IntroEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutFavoritos Favorites QShortcutVoltearFlip QShortcut*Siguiente (histrico)Forward QShortcutDescolgarHangup QShortcut AyudaHelp QShortcut InicioHome QShortcut Pgina de inicio Home Page QShortcutInsIns QShortcutInsertarInsert QShortcutLanzar (0) Launch (0) QShortcutLanzar (1) Launch (1) QShortcutLanzar (2) Launch (2) QShortcutLanzar (3) Launch (3) QShortcutLanzar (4) Launch (4) QShortcutLanzar (5) Launch (5) QShortcutLanzar (6) Launch (6) QShortcutLanzar (7) Launch (7) QShortcutLanzar (8) Launch (8) QShortcutLanzar (9) Launch (9) QShortcutLanzar (A) Launch (A) QShortcutLanzar (B) Launch (B) QShortcutLanzar (C) Launch (C) QShortcutLanzar (D) Launch (D) QShortcutLanzar (E) Launch (E) QShortcutLanzar (F) Launch (F) QShortcutLanzar correo Launch Mail QShortcutLanzar medio Launch Media QShortcutIzquierdaLeft QShortcutSiguiente medio Media Next QShortcut&Reproducir el medio Media Play QShortcutMedio anteriorMedia Previous QShortcutGrabar medio Media Record QShortcut Detener el medio Media Stop QShortcutMenMenu QShortcutMetaMeta QShortcutNoNo QShortcutBloq numNum Lock QShortcutBloq NumNumLock QShortcut Bloqueo numrico Number Lock QShortcutAbrir URLOpen URL QShortcutAvanzar pgina Page Down QShortcut"Retroceder pginaPage Up QShortcut PausaPause QShortcut Av PgPgDown QShortcut Re PgPgUp QShortcutImpr PantPrint QShortcut"Imprimir pantalla Print Screen QShortcutActualizarRefresh QShortcutRetornoReturn QShortcutDerechaRight QShortcut4Bloqueo del desplazamiento Scroll Lock QShortcutBloq Despl ScrollLock QShortcutBsquedaSearch QShortcutSeleccionarSelect QShortcutMayShift QShortcutEspacioSpace QShortcut ReposoStandby QShortcutDetenerStop QShortcut PetSisSysReq QShortcut(Peticin del sistemaSystem Request QShortcutTabuladorTab QShortcut Bajar los agudos Treble Down QShortcut Subir los agudos Treble Up QShortcut ArribaUp QShortcut Bajar el volumen Volume Down QShortcutSilenciar Volume Mute QShortcut Subir el volumen Volume Up QShortcutSYes QShortcut,Una pgina hacia abajo Page downQSlider2Una pgina a la izquierda Page leftQSlider.Una pgina a la derecha Page rightQSlider.Una pgina hacia arribaPage upQSliderPosicinPositionQSlider>La operacin de red ha expiradoNetwork operation timed outQSocks5SocketEngine MenosLessQSpinBoxMsMoreQSpinBoxCancelarCancelQSql:Cancelar sus modificaciones?Cancel your edits?QSqlConfirmarConfirmQSql BorrarDeleteQSql,Borrar este registro?Delete this record?QSqlInsertarInsertQSqlNoNoQSql8Guardar las modificaciones? Save edits?QSqlActualizarUpdateQSqlSYesQSqljNo se puede proporcionar un certificado sin clave, %1,Cannot provide a certificate with no key, %1 QSslSocketFError al crear el contexto SSL (%1)Error creating SSL context (%1) QSslSocket@Error al crear la sesin SSL, %1Error creating SSL session, %1 QSslSocket@Error al crear la sesin SSL: %1Error creating SSL session: %1 QSslSocket>Error durante el saludo SSL: %1Error during SSL handshake: %1 QSslSocketPError al cargar el certificado local, %1#Error loading local certificate, %1 QSslSocketHError al cargar la clave privada, %1Error loading private key, %1 QSslSocket"Error al leer: %1Error while reading: %1 QSslSocketLLista de cifras vaca o no vlida (%1)!Invalid or empty cipher list (%1) QSslSocketHNo es posible escribir los datos: %1Unable to write data: %1 QSslSocket>No es posible abrir la conexinUnable to open connection QTDSDriverNNo es posible utilizar la base de datosUnable to use database QTDSDriver8Desplazar hacia la izquierda Scroll LeftQTabBar4Desplazar hacia la derecha Scroll RightQTabBar&Copiar&Copy QTextControl &Pegar&Paste QTextControl&Rehacer&Redo QTextControl&Deshacer&Undo QTextControl>Copiar la ubicacin del en&laceCopy &Link Location QTextControlCor&tarCu&t QTextControl BorrarDelete QTextControl Seleccionar todo Select All QTextControl AbrirOpen QToolButton PulsarPress QToolButton>La plataforma no contempla IPv6#This platform does not support IPv6 QUdpSocketRehacerRedo QUndoGroupDeshacerUndo QUndoGroup<vaco> QUndoModelRehacerRedo QUndoStackDeshacerUndo QUndoStackHInsertar carcter de control Unicode Insert Unicode control characterQUnicodeControlCharacterMenuHLRE Start of left-to-right embedding$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu,LRM Left-to-right markLRM Left-to-right markQUnicodeControlCharacterMenuFLRO Start of left-to-right override#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu<PDF Pop directional formattingPDF Pop directional formattingQUnicodeControlCharacterMenuHRLE Start of right-to-left embedding$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu,RLM Right-to-left markRLM Right-to-left markQUnicodeControlCharacterMenuFRLO Start of right-to-left override#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu*ZWJ Zero width joinerZWJ Zero width joinerQUnicodeControlCharacterMenu4ZWNJ Zero width non-joinerZWNJ Zero width non-joinerQUnicodeControlCharacterMenu*ZWSP Zero width spaceZWSP Zero width spaceQUnicodeControlCharacterMenuParte inferiorBottomQWebPagePrecedenteGo BackQWebPageIgnorarIgnoreQWebPageIgnorar Ignore Grammar context menu itemIgnoreQWebPageBorde izquierdo Left edgeQWebPage,Una pgina hacia abajo Page downQWebPage2Una pgina a la izquierda Page leftQWebPage.Una pgina a la derecha Page rightQWebPage.Una pgina hacia arribaPage upQWebPageReinicializarResetQWebPageBorde derecho Right edgeQWebPage*Desplazar hacia abajo Scroll downQWebPage(Desplazar hasta aqu Scroll hereQWebPage8Desplazar hacia la izquierda Scroll leftQWebPage4Desplazar hacia la derecha Scroll rightQWebPage,Desplazar hacia arriba Scroll upQWebPageDetenerStopQWebPageParte superiorTopQWebPageDesconocidoUnknownQWebPageQu es esto? What's This?QWhatsThisAction**QWidget&Terminar&FinishQWizard &Ayuda&HelpQWizardSiguie&nte >&Next >QWizard< &Anterior< &BackQWizardCancelarCancelQWizard EnviarCommitQWizardSiguienteContinueQWizardTerminarDoneQWizardPrecedenteGo BackQWizard AyudaHelpQWizard%1 - [%2] %1 - [%2] QWorkspace&Cerrar&Close QWorkspace &Mover&Move QWorkspace&Restaurar&Restore QWorkspace&Tamao&Size QWorkspaceQ&uitar sombra&Unshade QWorkspace CerrarClose QWorkspaceMa&ximizar Ma&ximize QWorkspaceMi&nimizar Mi&nimize QWorkspaceMinimizarMinimize QWorkspaceRestaurar abajo Restore Down QWorkspaceSombre&arSh&ade QWorkspace6Permanecer en &primer plano Stay on &Top QWorkspacese esperaba una declaracin de codificacin o declaracin autnoma al leer la declaracin XMLYencoding declaration or standalone declaration expected while reading the XML declarationQXmlnerror en la declaracin de texto de una entidad externa3error in the text declaration of an external entityQXmlzse ha producido un error durante el anlisis de un comentario$error occurred while parsing commentQXmltse ha producido un error durante el anlisis del contenido$error occurred while parsing contentQXmlse ha producido un error durante el anlisis de la definicin de tipo de documento5error occurred while parsing document type definitionQXmlvse ha producido un error durante el anlisis de un elemento$error occurred while parsing elementQXml|se ha producido un error durante el anlisis de una referencia&error occurred while parsing referenceQXml4error debido al consumidorerror triggered by consumerQXmlno se permiten referencias a entidades externas generales ya analizadas en la DTD;external parsed general entity reference not allowed in DTDQXmlno se permiten referencias a entidades externas generales ya analizadas en el valor de un atributoGexternal parsed general entity reference not allowed in attribute valueQXmlno se permiten referencias a entidades internas generales en la DTD4internal general entity reference not allowed in DTDQXml\nombre de instruccin de tratamiento no vlido'invalid name for processing instructionQXml*se esperaba una letraletter is expectedQXmlTms de una definicin de tipo de documento&more than one document type definitionQXml>no se ha producido ningn errorno error occurredQXml(entidades recursivasrecursive entitiesQXmlse esperaba una declaracin independiente al leer la declaracin XMLAstandalone declaration expected while reading the XML declarationQXml.etiqueta desequilibrada tag mismatchQXml&carcter inesperadounexpected characterQXml2fin de fichero inesperadounexpected end of fileQXmltreferencia a entidad no analizada en un contexto no vlido*unparsed entity reference in wrong contextQXmlbse esperaba la versin al leer la declaracin XML2version expected while reading the XML declarationQXml^valor errneo para la declaracin independiente&wrong value for standalone declarationQXmlP%1 no es un identificador PUBLIC vlido.#%1 is an invalid PUBLIC identifier. QXmlStreamT%1 es un nombre de codificacin no vlido.%1 is an invalid encoding name. QXmlStreamt%1 es un nombre de instruccin de procesamiento no vlido.-%1 is an invalid processing instruction name. QXmlStream., pero se ha recibido ' , but got ' QXmlStream(Atributo redefinido.Attribute redefined. QXmlStream>No se admite la codificacin %1Encoding %1 is unsupported QXmlStream`Encontrado contenido codificado incorrectamente.(Encountered incorrectly encoded content. QXmlStream4Entidad %1 no declarada.Entity '%1' not declared. QXmlStreamSe esperaba  Expected  QXmlStream>Se esperaban datos de carcter.Expected character data. QXmlStreamNContenido extra al final del documento.!Extra content at end of document. QXmlStreamRDeclaracin de espacio de nombres ilegal.Illegal namespace declaration. QXmlStream.Carcter XML no vlido.Invalid XML character. QXmlStream*Nombre XML no vlido.Invalid XML name. QXmlStream@Cadena de versin XML no vlida.Invalid XML version string. QXmlStreamRAtributo no vlido en la declaracin XML.%Invalid attribute in XML declaration. QXmlStreamBReferencia un carcter no vlido.Invalid character reference. QXmlStream(Documento no vlido.Invalid document. QXmlStream<Valor de la entidad no vlido.Invalid entity value. QXmlStreambNombre de instruccin de procesamiento no vlido.$Invalid processing instruction name. QXmlStream\NDATA en una declaracin de entidad parmetro.&NDATA in parameter entity declaration. QXmlStream^Prefijo de espacio de nombres %1 no declarado"Namespace prefix '%1' not declared QXmlStream`Las etiquetas de apertura y cierre no coinciden. Opening and ending tag mismatch. QXmlStream<Final prematuro del documento.Premature end of document. QXmlStream8Detectada entidad recursiva.Recursive entity detected. QXmlStream~Referencia a una entidad externa %1 en el valor del atributo.5Reference to external entity '%1' in attribute value. QXmlStreamVReferencia a una entidad no analizada %1."Reference to unparsed entity '%1'. QXmlStreamZSecuencia ]]> no permitida en el contenido.&Sequence ']]>' not allowed in content. QXmlStreamJStandalone slo acepta s o no."Standalone accepts only yes or no. QXmlStream>Se esperaba etiqueta de inicio.Start tag expected. QXmlStreamEl pseudoatributo standalone debe aparece despus de la codificacin.?The standalone pseudo attribute must appear after the encoding. QXmlStream No se esperaba ' Unexpected ' QXmlStreamCarcter %1 inesperado en un literal de identificacin pblico./Unexpected character '%1' in public id literal. QXmlStream0Versin XML no admitida.Unsupported XML version. QXmlStreamlLa declaracin XML no est al principio del documento.)XML declaration not at start of document. QXmlStreamqelectrotech-0.22+svn897/lang/phrase/0000755000175000017500000000000011347002055017277 5ustar laurentlaurentqelectrotech-0.22+svn897/lang/phrase/qet_fr_ru.qph0000644000175000017500000000601211210665631022002 0ustar laurentlaurent Avertissements Предупреждение Erreur Ошибка Absence de borne Отсутствует вывод Enregistrer sous Сохранить как &Nouveau &Новый &Ouvrir &Открыть &Enregistrer &Сохранить &Quitter &Выход Tout sélectionner Выделить всё Co&uper &Вырезать Cop&ier &Копировать C&oller Вст&авить &Supprimer &Удалить Zoom avant Увеличить Zoom arrière Уменьшить Zoom adapté Подогнать размер Pas de zoom Востановит масштаб Éditer la taille et le point de saisie Редактировать размер и опорную точку Rapprocher Поднять Éloigner Опустить Ajouter une ligne Добавить линию Ajouter un rectangle Добавить прямоугольник Ajouter une ellipse Добавить элипс Ajouter un cercle Добавить окружность Ajouter un polygone Добавить полигон Ajouter du texte Добавить текст Ajouter un arc de cercle Добавить дугу Ajouter une borne Добавить вывод Ajouter une ligne Добавить строку qelectrotech-0.22+svn897/lang/qet_ru.ts0000644000175000017500000064733711346742300017713 0ustar laurentlaurent AboutQET À propos de QElectrotech window title О программе À &propos tab title О &программе A&uteurs tab title &Авторы &Traducteurs tab title &Переводчики &Contributeurs tab title &Участники &Accord de licence tab title &Лицензия QElectroTech, une application de réalisation de schémas électriques. QElectroTech - приложение для разработки электрических схем. © 2006-2010 Les développeurs de QElectroTech © 2006-2010 разработчики QElectroTech Idée originale Оригинальная концепция Programmation Программирование Traduction en espagnol Перевод на испанский Traduction en russe Перевод на русский Traduction en portugais Перевод на португальский Traduction en tchèque Перевод на чешский Paquets Fedora Пакет для Fedora Paquets Mandriva Пакет для Mandriva Paquets Debian Пакет для Debian Icônes Значки Ce programme est sous licence GNU/GPL. Эта программа лицензирована на условиях GNU/GPL. ArcEditor Centre : Центр : Diamètres : Диаметры : horizontal : горизонтальный : vertical : вертикальный : Angle de départ : Начальный угол : Angle : Угол : abscisse абсцисса ordonnée ордината diamètre horizontal горизонтальный диаметр diamètre vertical вертикальный диаметр angle de départ начальный угол angle угол BorderInset Auteur : %1 inset content Автор : %1 Date : %1 inset content Дата : %1 Fichier : %1 inset content Файл : %1 Folio : %1 inset content Фолио : %1 BorderPropertiesWidget Dimensions du schéma Размер схемы Colonnes : Колонки : × multiplication symbol × px unit for cols width пикс Afficher les en-têtes Отображать заголовки Lignes : Строки : px unit for rows height пикс CircleEditor Centre : Центр : Diamètre : Диаметр : abscisse абсцисса ordonnée ордината diamètre диаметр ConductorPropertiesWidget Type de conducteur Тип проводника Simple Простой Multifilaire Многолинейный Texte : Текст : Unifilaire Однолинейный phase фаза terre земля neutre нейтраль Apparence du conducteur Стиль проводника Couleur : Цвет : Trait en pointillés Пунктирная линия ConfigDialog Configurer QElectroTech window title Настройка QElectroTech DiagramPrintDialog Options d'impression window title Настройка печати Quel type d'impression désirez-vous effectuer ? Какой вид печати вам необходим? Impression sur une imprimante physique Print type choice Печатать на физический принтер Impression vers un fichier au format PDF Print type choice Печатать в PDF-файл Impression vers un fichier au format PostScript (PS) Print type choice Печатать в PostScript-файл (PS) Choix du type d'impression Выбор типа печати Fichier manquant message box title Файл отсутствует Vous devez indiquer le chemin du fichier PDF/PS à créer. message box content Вы должны ввести путь к файлу PDF/PS, чтобы создать его. Fichiers PDF (*.pdf) file filter PDF-файлы (*.pdf) Fichiers PostScript (*.ps) file filter PostScript-файлы (*.ps) DiagramView Coller ici context menu action Вставить здесь Schéma sans titre Безымянная схема Schéma %1 %1 is a diagram title Схема %1 Propriétés du schéma window title Свойства схемы Retrouver dans le panel Найти в панели Éditer les propriétés d'un conducteur window title Редактирование своств проводника Éditer les propriétés par défaut des conducteurs window title Редактирование умалчиваемых своств проводника Propriétés de la sélection Свойства выделения La sélection contient %1. %1 is a sentence listing the selected objects Выделение содержит %1. Élément manquant Отсутствует элемент Élément Элементы Nom : %1 Имя : %1 Position : %1 Положение : %1 Dimensions : %1×%2 Размеры : %1×%2 Bornes : %1 Выводы : %1 Connexions internes : %1 Внутренние соединения : %1 Autorisées Разрешены Interdites Запрещены Champs de texte : %1 Текстовое поле : %1 Emplacement : %1 Рассположение : %1 Propriétés de l'élément sélectionné Свойства выбранного элемента Éditer l'élément Редактировать элемент DiagramsChooser Schéma sans titre Безымянная схема ElementDefinition L'élément cible n'a pu être créé. Целевой элемент не может быть создан. La suppression de cet élément a échoué. Удаление этого элемента не удалось. ElementDeleter Supprimer l'élément ? message box title Удалить элемент? Êtes-vous sûr de vouloir supprimer cet élément ? message box content Вы уверены, что хотите удалить элемент? Suppression de l'élément message box title Удаление элемента La suppression de l'élément a échoué. message box content Удаление элемента не удалось. ElementDialog Ouvrir un élément dialog title Открыть элемент Choisissez l'élément que vous souhaitez ouvrir. dialog content Выберите элемент, который вы хотите открыть. Enregistrer un élément dialog title Сохранить элемент Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Выберите элемент, в котором вы хотите сохранить ваше определение. Ouvrir une catégorie dialog title Открыть категорию Choisissez une catégorie. dialog content Выберите категорию. Enregistrer une catégorie dialog title Сохранить категорию Nom : Имя : Pas de sélection message box title Нет выделения Vous devez sélectionner un élément. message box content Вы должны выделить элемент. Sélection inexistante message box title Несуществующее выделение La sélection n'existe pas. message box content Выделение не существует. Sélection incorrecte message box title Некорректное выделение La sélection n'est pas un élément. message box content Выделение не является элементом. Vous devez sélectionner une catégorie ou un élément. message box content Вы должны выбрать категорию или элемент. Nom manquant message box title Требуется имя Vous devez entrer un nom pour l'élément message box content Вы должны задать имя элемента Nom invalide message box title Неверное имя Vous ne pouvez pas utiliser les caractères suivants dans le nom de l'élément : %1 Вы не можете использовать один из следующих символов в имени элемента: %1 Écraser l'élément ? message box title Перезаписать элемент? L'élément existe déjà. Voulez-vous l'écraser ? message box content Элемент уже существует. Хотите перезаписать его? ElementScene ligne линия rectangle прямоугольник ellipse элипс arc дуга cercle окружность borne вывод texte текст champ de texte текстовое поле polygone полигон Éditer la taille et le point de saisie window title Редактировать размер и опорную точку Éditer les orientations window title Редактировать положение L'orientation par défaut est l'orientation dans laquelle s'effectue la création de l'élément. Направление по умолчанию - направление, в котором создаётся элемент. Autoriser les connexions internes Разрешать внутренние соединения Éditer les informations sur l'auteur window title Редактирование информации об авторе Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Вы можете использовать это поле, чтобы указать авторов этого элемента, его лицензии, или любую другую информацию, которую вы сочтете полезной. Éditer les noms window title Редактировать имена Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Вы можете ввести имя элемента на разных языках. Ce document XML n'est pas une définition d'élément. error message Этот XML-документ не является определением элемента. Les dimensions ou le point de saisie ne sont pas valides. error message Размеры или опорная точка не правильны. Les orientations ne sont pas valides. error message Неверная ориентация. ElementsCategoriesList Collection projet Коллекция проекта Collection QET Коллекция QET Collection utilisateur Коллекция пользователя ElementsCategoriesWidget Recharger les catégories Перезагрузить категорию Nouvelle catégorie Новая категория Éditer la catégorie Редактирвать категорию Supprimer la catégorie Удалить категорию ElementsCategory La copie d'une catégorie vers elle-même ou vers l'une de ses sous-catégories n'est pas gérée. Нельзя скопировать категорию в саму себя или её подкатегорию. Il n'est pas possible de déplacer une collection. Невозможно удалить коллекцию. Le déplacement d'une catégorie dans une de ses sous-catégories n'est pas possible. Нельзя перемещать категорию в её подкатегорию. La suppression de cette catégorie a échoué. Удаление этой категории неудалось. Impossible de supprimer l'élément Невозможно удалить элемент Impossible de supprimer la catégorie Невозможно удалить категорию ElementsCategoryDeleter Vider la collection ? message box title Очистить коллекцию? Êtes-vous sûr de vouloir vider cette collection ? message box content Вы уверены, что хотите очистить эту коллекцию? Supprimer la catégorie ? message box title Удалить категорию? Êtes-vous sûr de vouloir supprimer la catégorie ? Tous les éléments et les catégories contenus dans cette catégorie seront supprimés. message box content Вы действительно хотите удалить категорию? Все элементы и категории в этой категории, будут удалены. Êtes-vous vraiment sûr de vouloir supprimer cette catégorie ? Les changements seront définitifs. message box content Вы действительно хотите удалить эту категорию? Эти изменения будут окончательными. Suppression de la catégorie message box title Удаление категории La suppression de la catégorie a échoué. message box content Удаление категории неудалось. ElementsCategoryEditor Catégorie inexistante message box title Несуществующая категория La catégorie demandée n'existe pas. Abandon. message box content Требуемая категория не существует. Пропущено. Éditer une catégorie window title Редактировать категорию Créer une nouvelle catégorie window title Добавить новую категорию Nom de la nouvelle catégorie default name when creating a new category Имя новой категории Édition en lecture seule message box title Версия только для чтения Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content У вас нет прав для редактирования этой категории. Она будет открыта в режиме "только для чтения". Nom interne : Внутреннее имя : Vous pouvez spécifier un nom par langue pour la catégorie. Вы можете добвать имя категории для каждого языка. Nom interne manquant message box title Отсутствует внутреннее имя Vous devez spécifier un nom interne. message box content Вы должны указать внутреннее имя. Nom interne déjà utilisé message box title Внутреннее имя уже используется Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Внутреннее имя, которое вы выбрали уже используется другой категорией. Пожалуйста, выберите другое имя. Erreur message box title Ошибка Impossible de créer la catégorie message box content Невозможно создать категорию Impossible d'enregistrer la catégorie message box content Невозможно сохранить категорию ElementsCollection Il n'est pas possible de déplacer une collection. Невозможно переместить коллекцию. ElementsPanel Collection projet Коллекция проекта Ceci est un élément que vous pouvez insérer dans votre schéma par cliquer-déplacer Этот элемент вы можете перетащить на вашу схему Cliquer-déposez cet élément sur le schéma pour insérer un élément Перетащите элемент на схему, чтобы вставить %1 [non utilisé dans le projet] %1 [не используется в проекте] Collection QET Коллекция QET Collection utilisateur Коллекция пользователя Pas de fichier tooltip for a file-less project in the element panel Нет файлов Schéma sans titre Безымянная схема ElementsPanelWidget Recharger les collections Перезагрузить коллекцию Nouvelle catégorie Новая категория Éditer la catégorie Редактировать категорию Supprimer la catégorie Удалить категорию Vider la collection Очистить коллекцию Nouvel élément Новый элемент Importer un élément Импорт элемента Éditer l'élément Редактировать элемент Supprimer l'élément Удалить элемент Fermer ce projet Закрыть этот проект Propriétés du projet Свойства проекта Propriétés du schéma Свойства схемы Ajouter un schéma Добавить схему Supprimer ce schéma Удалить эту схему Remonter ce schéma Переместить выше Abaisser ce schéma Переместить ниже Déplacer dans cette catégorie Переместить в эту категорию Copier dans cette catégorie Копировать в эту категорию Annuler Отмена Effacer le filtre Очистить фильтр Filtrer : Фильтр : Gestionnaire de catégories window title Менеджер категорий Vous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catégories. Используйте этот менеджер, чтобы добавить, удалить или изменить категории. EllipseEditor Centre : Центр : Diamètres : Диаметры : horizontal : горизонтальный : vertical : вертикальный : abscisse абсцисса ordonnée ордината diamètre horizontal горизонтальный диаметр diamètre vertical вертикальный диаметр ExportConfigPage Export configuration page title Экспорт ExportDialog Exporter les schémas du projet window title Экспортировать схемы проекта Exporter Экспорт Choisissez les schémas que vous désirez exporter ainsi que leurs dimensions : Выберите схему, которую вы хотите экспортировать и определите её размер : Schéma Схема Nom de fichier Имя файла Dimensions Размеры Noms des fichiers cibles message box title Имена целевых файлов Dossier non spécifié message box title Каталог отсутствует Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Вы должны указать путь к каталогу, в котором буду сохранены изображения. Impossible d'écrire dans ce fichier message box title Невозможно записать в этот файл Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Возможно, что у вас нет необходимых разрешений (прав) для записи в файл %1. Aperçu Предпросмотр Vous devez entrer un nom de fichier non vide et unique pour chaque schéma à exporter. message box content Вы должны ввести уникальное не пустое имя файла для каждой схемы, которую хотите экспортировать. ExportDialog::ExportDiagramLine px px ExportPropertiesWidget Exporter dans le dossier dialog title Экспорт в каталог Dossier cible : Целевой каталог : Parcourir Обзор Format : Формат: PNG (*.png) PNG (*.png) JPEG (*.jpg) JPEG (*.jpg) Bitmap (*.bmp) Bitmap (*.bmp) SVG (*.svg) SVG (*.svg) Options de rendu groupbox title Параметры отрисовки Conserver les couleurs des conducteurs Сохранять цвет проводника Exporter le cadre Экспортировать рамку Exporter les éléments Экспортировать только элементы Dessiner la grille Рисовать сетку Dessiner le cadre Рисовать рамку Dessiner le cartouche Рисовать основную надпись Dessiner les bornes Рисовать выводы GeneralConfigurationPage Apparence Внешний вид Utiliser les couleurs du système Использовать системные цвета Projets Проекты Utiliser des fenêtres Использовать окна Utiliser des onglets Использовать вкладки Ces paramètres s'appliqueront dès la prochaine ouverture d'un éditeur de schémas. Эти настройки будут применены при следующем открытии редактора схем. Gestion des éléments Управление элементами Intégrer automatiquement les éléments dans les projets (recommandé) Автоматически интегрировать элементы в проекты (рекомендуется) Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Каждый элемент содержит информацию о его авторах, его лицензии, или любую другую информацию, которую вы сочтёте полезной. Вы можете установить значение по умолчанию этого поля для вновь создаваемых элементов: Général configuration page title Общее GhostElement <u>Élément manquant :</u> %1 <u>Отсутствует элемент :</u> %1 HotspotEditor L'élément doit être assez grand pour contenir tout sa représentation graphique. Элемент должен быть достаточно большим, чтобы содержать все свое графическое представление. ×10 px ×10 px px px Déplacer l'élément avec le hotspot Переместить элемент вслед за опорной точкой <span style="text-decoration:underline;">Dimensions</span> <span style="text-decoration:underline;">Размеры</span> Largeur : Ширина : Hauteur : Высота : <span style="text-decoration:underline;">Hotspot</span> <span style="text-decoration:underline;">Опорная точка</span> Abscisse : Абсцисса : Ordonnée : Ордината : InsetPropertiesWidget Informations du cartouche Основная надпись Pas de date Нет даты Date courante Текущая дата Date fixe : Фиксированная дата : Les variables suivantes sont utilisables dans le champ Folio : - %id : numéro du schéma courant dans le projet - %total : nombre total de schémas dans le projet Следующие переменные могут быть использованы в поле Фолио: - %id: номер текущей схемы в проекте - %total: общее число схем в проекте Titre : Название : Auteur : Автор : Date : Дата : Fichier : Файл : Folio : Фолио : IntegrationMoveElementsHandler Intégration d'un élément Добавление элемента L'élément a déjà été intégré dans le projet. Toutefois, la version que vous tentez de poser semble différente. Que souhaitez-vous faire ? dialog content - %1 is an element's path name Элемент уже был добавлен в проект. Однако версия, которую вы патаетесь добавить отличается. Что вы хотите сделать? Utiliser l'élément déjà intégré dialog content Использовать уже добавленный элемент Intégrer l'élément déposé dialog content Добавить перетаскиваемый элемент Écraser l'élément déjà intégré dialog content Удалить уже добавленный элемент Faire cohabiter les deux éléments dialog content Использовать совместно два элемента InteractiveMoveElementsHandler Copie de %1 vers %2 dialog title Копировать из %1 в %2 La catégorie « %1 » (%2) existe déjà. Que souhaitez-vous faire ? dialog content Категория « %1 » (%2) уже существует. Что вы хотите сделать? L'élément « %1 » existe déjà. Que souhaitez-vous faire ? dialog content Элемент « %1 » уже существует. Что вы хотите сделать? La catégorie %1 n'est pas accessible en lecture. message box content Категория %1 не может быть прочитана. L'élément %1 n'est pas accessible en lecture. message box content Элемент %1 не может быть прочитан. La catégorie %1 n'est pas accessible en écriture. message box content Категория %1 не может быть записана. L'élément %1 n'est pas accessible en écriture. message box content Элемент %1 не может быть записан. Renommer Переименовать Écraser Стереть Écraser tout Стереть всё Ignorer Игнорировать Ignorer tout Игнорировать всё Annuler Отмена Erreur message box title Ошибка LineEditor Normale type of the 1st end of a line Нормальный Flèche simple type of the 1st end of a line Простая стрелка Flèche triangulaire type of the 1st end of a line Треугольная стрелка Cercle type of the 1st end of a line Окружность Carré type of the 1st end of a line Ромб Normale type of the 2nd end of a line Нормальный Flèche simple type of the 2nd end of a line Простая стрелка Flèche triangulaire type of the 2nd end of a line Треугольная стрелка Cercle type of the 2nd end of a line Окружность Carré type of the 2nd end of a line Ромб Fin 1 1 конец Fin 2 2 конец abscisse point 1 абсцисса точки 1 ordonnée point 1 ордината точки 1 abscisse point 2 абсцисса точки 2 ordonnée point 2 ордината точки 2 type fin 1 тип 1 конца longueur fin 1 длина 1 конца type fin 2 тип 2 конца longueur fin 2 длина 2 конца NamesListWidget Langue Язык Nom Имя Ajouter une ligne Добавить строку Il doit y avoir au moins un nom. message box title Здесь должно быть хотябы одно имя. Vous devez entrer au moins un nom. message box content Вы должны ввести хотябы одно имя. NewDiagramPage Nouveau schéma configuration page title Новая схема NewElementWizard Créer un nouvel élément : Assistant window title Создать новый элемент : Мастер &Suivant > &Далее > Étape 1/5 : Catégorie parente wizard page title Шаг 1 из 5: Родительская категория Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. wizard page subtitle Выберите категорию, в которую хотите сохранить новый элемент. Étape 2/5 : Nom du fichier wizard page title Шаг 2 из 5: Имя файла Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. wizard page subtitle введите имя файла для нового элемента. nouvel_element новый_элемент Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. Вы не указали расширение *.elmt. Оно будет добавленно автоматически. Étape 3/5 : Noms de l'élément wizard page title Шаг 3 из 5: Имя элемента Indiquez le ou les noms de l'élément. wizard page subtitle Введите одно или несколько имён для элемента. Nom du nouvel élément default name when creating a new element Новый элемент Étape 4/5 : Dimensions et point de saisie wizard page title Шаг 4 из 5: Размер и опорная точка Saisissez les dimensions du nouvel élément ainsi que la position du hotspot (point de saisie de l'élément à la souris) en considérant que l'élément est dans son orientation par défaut. wizard page subtitle Введите размер нового элемента и его опорную точку (т.е. точку перемещения элементов мышью) считая, что элемент сориентирован по умолчанию. Étape 5/5 : Orientations wizard page title Шаг 5 из 5: Ориентация Indiquez les orientations possibles pour le nouvel élément. wizard page subtitle Укажите возможную ориентацию для нового элемента. Erreur message box title Ошибка Vous devez sélectionner une catégorie. message box content Вы должны выбрать категорию. Vous devez entrer un nom de fichier message box content Вы должны ввести имя файла Merci de ne pas utiliser les caractères suivants : \ / : * ? " < > | message box content Пожалуйста не используйте символы : \ / : * ? " < > | OrientationSetWidget Possible Разрешено Impossible Запрещено Nord : Север : Est : Восток : Sud : Юг : Ouest : Запад : Par défaut По умолчанию PolygonEditor Polygone fermé Замкнутый полигон x x y y Points du polygone : Точки полигона : Erreur message box title Ошибка Le polygone doit comporter au moins deux points. message box content Полигон долен содержать минимум две точки. fermeture du polygone Замыкание полигона PrintConfigPage Impression configuration page title Печать ProjectView Ce projet ne contient aucun schéma Этот проект не содержит ни одной схемы Enregistrer le projet en cours ? message box title Сохранить текущий проект? Voulez-vous enregistrer le projet ? message box content Вы хотите сохранить проект? Enregistrer le schéma en cours ? message box title Сохранить текущую схему? Voulez-vous enregistrer le schéma %1 ? message box content - %1 is a diagram title Вы хотите сохранить схему %1 ? Enregistrer le nouveau schéma ? message box title Сохранить новую схему? Ce schéma a été ajouté mais n'a été ni modifié ni enregistré. Voulez-vous le conserver ? message box content Эта схема была добавленна, но не была изменена или записана. Вы хотите сохранить её? Supprimer le schéma ? message box title Удалить схему? Êtes-vous sûr de vouloir supprimer ce schéma du projet ? Ce changement est irréversible. message box content Вы действительно хотите удалить эту схему из проекта? Эти изменения необратимы. Propriétés du projet window title Свойства проекта Titre du projet : Название проекта : Propriétés à utiliser lors de l'ajout d'un nouveau schéma au projet : Свойства, используемые, когда новая схема добавляется в проект : projet string used to generate a filename projet Projet en lecture seule message box title Проект только для чтения Ce projet est en lecture seule. Il n'est donc pas possible de le nettoyer. message box content Этот проект только для чтения. Он не может быть очищен. Supprimer les éléments inutilisés dans le projet Удалить неиспользуемые в проекте элементы Supprimer les catégories vides Удалить пустую категорию Nettoyer le projet window title Очистить проект Enregistrer sous dialog title Сохранить как Schéma QElectroTech (*.qet) filetypes allowed when saving a diagram file Схема QElectroTech (*.qet) Projet window title for a project-less ProjectView Проект QETApp Chargement... Éditeur de schémas splash screen caption Загрузка... Редактор схем Chargement... Ouverture des fichiers splash screen caption Загрузка... Открытие файлов Chargement... splash screen caption Загрузка... Chargement... icône du systray splash screen caption Загрузка...Значёк в трее QElectroTech systray menu title QElectroTech &Quitter &Выход &Masquer &Скрыть &Restaurer &Показать &Masquer tous les éditeurs de schéma &Скрыть редакторы схем &Restaurer tous les éditeurs de schéma &Показать редакторы схем &Masquer tous les éditeurs d'élément &Скрыть редакторы элементов &Restaurer tous les éditeurs d'élément &Показать редакторы элементов &Nouvel éditeur de schéma &Новый редактор схем &Nouvel éditeur d'élément &Новый редактор элементов Ferme l'application QElectroTech Закрыть QElectroTech Réduire QElectroTech dans le systray Свернуть QElectroTech в трэй Restaurer QElectroTech Восстановить QElectroTech QElectroTech systray icon tooltip QElectroTech Éditeurs de schémas Редактор схем Éditeurs d'élément Редактор элементов Usage : Usage: [options] [fichier]... [options] [file]... QElectroTech, une application de réalisation de schémas électriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QElectroTech, an application to design electric diagrams. Available options: --help Display this help -v, --version Display the version --license Display the license --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Define the elements collection directory --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Define configuration directory --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Define the language files directory QETDiagramEditor QElectroTech window title QElectroTech QElectroTech status bar message QElectroTech Panel d'éléments dock title Панель элементов Annulations dock title История Aucune modification Нет изменений &Nouveau &Новый &Ouvrir &Открыть &Fermer &Закрыть &Enregistrer &Сохранить Enregistrer sous Сохранить как &Enregistrer tous les schémas С&охранить все схемы &Importer &Импорт E&xporter &Экспорт Imprimer Печать &Quitter &Выход Annuler Отмена Refaire Повторить Co&uper &Вырезать Cop&ier &Копировать C&oller Вст&авить Tout sélectionner Выделить всё Désélectionner tout Снять выделение Inverser la sélection Инвертировать выделение Supprimer Удалить Pivoter Повернуть Réinitialiser les conducteurs Восстановить проводник Conducteurs par défaut Проводник по умолчанию Propriétés du schéma Свойства схемы Ajouter un champ de texte Добавить текстовое поле Ajouter une colonne Добавить колонку Enlever une colonne Удалить колонку Ajouter une ligne Добавить строку Enlever une ligne Удалить строку Propriétés du projet Свойства проекта Ajouter un schéma Добавить схему Supprimer le schéma Удалить схему Nettoyer le projet Очистить проект Zoom avant Увеличить Zoom arrière Уменьшить Zoom adapté Подогнать размер Pas de zoom Восстановить масштаб en utilisant des onglets использовать вкладки en utilisant des fenêtres использовать окна Mode Selection Режим выделения Mode Visualisation Режим просмотра &Configurer QElectroTech &Настройка QElectroTech &Mosaïque &Мозаика &Cascade &Каскад Projet suivant Следующий проект Projet précédent Предыдущий проект À &propos de QElectroTech &О программе À propos de &Qt О &библиотеке Qt Ctrl+Shift+I Ctrl+Shift+I Ctrl+Shift+X Ctrl+Shift+X Ctrl+Q Ctrl+Q Ctrl+Shift+A Ctrl+Shift+A Ctrl+I Ctrl+I Space Пробел Ctrl+J Ctrl+J Ctrl+K Ctrl+K Ctrl+L Ctrl+L Ctrl+D Ctrl+D Ctrl+T Ctrl+T Ctrl+9 Ctrl+9 Ctrl+0 Ctrl+0 Ctrl+Shift+F Ctrl+Shift+F Crée un nouveau schéma status bar tip Создать новую схему Ouvre un schéma existant status bar tip Открыть существующую схему Ferme le schéma courant status bar tip Закрыть текущую схему Enregistre le schéma courant status bar tip Сохранить текущую схему Enregistre le schéma courant avec un autre nom de fichier status bar tip Сохранить текущую схему под другим имененм Enregistre tous les schémas du projet courant status bar tip Сохранить все схемы текущего проекта Importe un schéma dans le schéma courant status bar tip Импорт схемы в текущую схему Exporte le schéma courant dans un autre format status bar tip Экспорт текущей схемы в другой формат Imprime le schéma courant status bar tip Печать текущей схемы Ferme l'application QElectroTech status bar tip Закрыть QElectroTech Annule l'action précédente status bar tip Отменить предыдущее действие Restaure l'action annulée status bar tip Восстановить отменённое действие Transfère les éléments sélectionnés dans le presse-papier status bar tip Скопировать выделенные элементы в буфер обмена Copie les éléments sélectionnés dans le presse-papier status bar tip Копировать выделенные элементы Place les éléments du presse-papier sur le schéma status bar tip Вставить элементы из буфера обмена в схему Sélectionne tous les éléments du schéma status bar tip Выделить все элемены на схеме Désélectionne tous les éléments du schéma status bar tip Снять все выделения Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Снять выделения с выделеных элементов и выделить не выделенные элементы Enlève les éléments sélectionnés du schéma status bar tip Удалить выделенные элемены из схемы Pivote les éléments sélectionnés status bar tip Повернуть выделенные элементы Impossible de retrouver cet élément dans le panel car il semble édité dans une autre fenêtre Невозможно найти этот элемент в панеле, потому что он был изменён из другого окна Impossible de retrouver cet élément dans le panel... rechargement du panel... Невозможно найти этот элемент в панеле,... перезагрузка панели... Impossible de retrouver cet élément dans le panel Невозможно найти этот элемент в панели Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Пересчитывает траекторию проводника игнорируя изменения сделанные пользователем Spécifie les propriétés par défaut des conducteurs status bar tip Задать умалчиваемые свойства проводника Édite les informations affichées par le cartouche status bar tip Редактировать информацию отображаемую в основной надписи Ajoute une colonne au schéma status bar tip Добавить колонку листа Enlève une colonne au schéma status bar tip Удалить колонку листа Agrandit le schéma en hauteur status bar tip Увеличить высоту листа Rétrécit le schéma en hauteur status bar tip Уменьшить высоту листа Agrandit le schéma status bar tip Увеличить лист Rétrécit le schéma status bar tip Уменьшить лист Adapte la taille du schéma afin qu'il soit entièrement visible status bar tip Изменить размер так, чтобы лист поместился в окне Restaure le zoom par défaut status bar tip Восстановить исходный размер листа Présente les différents projets ouverts dans des sous-fenêtres status bar tip Отобразить открытые проекты в виде окон Présente les différents projets ouverts des onglets status bar tip Отобразить открытые проекты в виде вкладок Permet de sélectionner les éléments status bar tip Позволяет выбирать элементы Permet de visualiser le schéma sans pouvoir le modifier status bar tip Позволяет просматривать схему без её изменения Permet de régler différents paramètres de QElectroTech status bar tip Позволяет завать различные параметры QElectroTech Dispose les fenêtres en mosaïque status bar tip Разместить окна мозаикой Dispose les fenêtres en cascade status bar tip Разместить окна каскадом Active le projet suivant status bar tip Выбрать следующий проект Active le projet précédent status bar tip Выбрать предыдущий проект Affiche des informations sur QElectroTech status bar tip Отобразить информацию о QElectroTech Affiche des informations sur la bibliothèque Qt status bar tip Отобразить информацию о библиотеке Qt &Fichier &Файл &Édition &Правка &Projet П&роект Afficha&ge &Вид &Configuration &Настройка Fe&nêtres &Окно &Aide &Справка Afficher Отображать Affiche ou non la barre d'outils principale Отобразить или скрыть главную панель инструментов Affiche ou non la barre d'outils Affichage Отобразить или скрыть панель инструментов Вид Affiche ou non la barre d'outils Schéma Отобразить или скрыть панель инструментов Схема Affiche ou non le panel d'appareils Отобразить или скрыть Панель Элементы Affiche ou non la liste des modifications Отобразить или скрыть Список изменений Afficher les projets Отображать проекты Outils Инструменты Affichage Вид Schéma Схема Ouvrir un fichier Открыть файл Schémas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Схемы QElectroTech (*.qet);;XML-файлы (*.xml);;Все файлы (*) Impossible d'ouvrir le fichier Невозможно открыть файл Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Возможно, что файл, который вы пытаетесь открыть, не читаем. Невозможно открыть файл. Пожалуйста, проверьте файл. Ouverture du projet en lecture seule Открытие проекта в режиме "только чтение" Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Возможно, проект, который вы пытаетесь открыть, не доступен для записи. Он будет открыт в режиме "только для чтения". Échec de l'ouverture du projet message box title Невозможно открыть проект Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Файл %1 не является проектом QElectroTech. Он не может быть открыт. Sortir du &mode plein écran Выйти из полно&экранного режима Affiche QElectroTech en mode fenêtré status bar tip Отобразить QElectroTech в оконном (обычном) режиме Passer en &mode plein écran Полно&экранный режим Affiche QElectroTech en mode plein écran status bar tip Отобразить QElectroTech в полноэкранном режиме Active le projet « %1 » Активировать проект « %1 » Propriétés de la sélection Свойства выделения Édite les propriétés des objets sélectionné status bar tip Редактирование свойств выделенных объектов Backspace Backspace QETElementEditor QElectroTech - Éditeur d'élément window title QElectroTech - Редактор элементов &Nouveau &Новый &Ouvrir &Открыть &Ouvrir depuis un fichier &Открыть из файла &Enregistrer &Сохранить Enregistrer sous Сохранить как Enregistrer dans un fichier Сохранить в файл Recharger Перезагрузить &Quitter &Выход Tout sélectionner Выделить всё Désélectionner tout Снять выделение Co&uper &Вырезать Cop&ier &Копировать C&oller Вст&авить C&oller dans la zone... Вст&авить в область... un fichier файла un élément элемента Inverser la sélection Инвертировать выделение &Supprimer &Удалить Zoom avant Увеличить Zoom arrière Уменьшить Zoom adapté Подогнать размер Pas de zoom Восстановить масштаб Éditer la taille et le point de saisie Редактировать размер и опорную точку Éditer les noms Редактировать имена Éditer les orientations Редактировать положение Éditer les informations sur l'auteur Редактировать информацию об авторе Rapprocher Поднять Éloigner Опустить Envoyer au fond Отправить назад Amener au premier plan Поместить вперед Déplacer un objet Перемещение объекта Ajouter une ligne Добавить линию Ajouter un rectangle Добавить прямоугольник Ajouter une ellipse Добавить элипс Ajouter un cercle Добавить окружность Ajouter un polygone Добавить полигон Ajouter du texte Добавить текст Ajouter un arc de cercle Добавить дугу Ajouter une borne Добавить вывод Ajouter un champ de texte Добавить текстовое поле &Configurer QElectroTech &Настройка QElectroTech À &propos de QElectroTech &О программе À propos de &Qt О &библиотеке Qt Maintenez la touche Shift enfoncée pour effectuer plusieurs ajouts d'affilée Нажмите и держите клавишу Shift, чтобы добавлять несколько элементов подряд Utilisez le bouton droit de la souris pour poser le dernier point du polygone Используйте правую кнопку мыши, чтобы указать последнюю точку полигона Permet de régler différents paramètres de QElectroTech status bar tip Позволяет завать различные параметры QElectroTech Affiche des informations sur QElectroTech status bar tip Отобразить информацию о QElectroTech Affiche des informations sur la bibliothèque Qt status bar tip Отобразить информацию о библиотеке Qt Annuler Отмена Refaire Повторить Ctrl+Shift+O Ctrl+Shift+O Ctrl+Shift+S Ctrl+Shift+S Ctrl+Q Ctrl+Q Ctrl+Shift+A Ctrl+Shift+A Ctrl+I Ctrl+I Ctrl+Shift+V Ctrl+Shift+V Ctrl+9 Ctrl+9 Ctrl+0 Ctrl+0 Ctrl+Shift+F Ctrl+Shift+F Ctrl+E Ctrl+E Ctrl+R Ctrl+R Ctrl+T Ctrl+T Ctrl+Y Ctrl+Y Ctrl+Shift+Up Ctrl+Shift+Up Ctrl+Shift+Down Ctrl+Shift+Down Ctrl+Shift+End Ctrl+Shift+End Ctrl+Shift+Home Ctrl+Shift+Home Parties toolbar title Части Outils toolbar title Инструменты Affichage toolbar title Вид Élément toolbar title Элементы Profondeur toolbar title Глубина &Configuration &Настройка Coller depuis... Вставить из... Afficher Отображать Sortir du &mode plein écran Выйти из полно&экранного режима Affiche QElectroTech en mode fenêtré status bar tip Отобразить QElectroTech в оконном (обычном) режиме Passer en &mode plein écran Полно&экранный режим Affiche QElectroTech en mode plein écran status bar tip Отобразить QElectroTech в полноэкранном режиме [Modifié] window title tag [Изменено] [lecture seule] window title tag [Только чтение] Informations dock title Информация Annulations dock title История Aucune modification Нет изменений Parties dock title Части Éditeur d'éléments status bar message Редактор элементов %n partie(s) sélectionnée(s). %n выделенная часть. %n выделенные части. %n выделенных частей. Dimensions de l'élément warning title Размер элемента Certaines parties graphiques (textes, cercles, lignes...) semblent déborder du cadre de l'élément. Cela risque de générer des bugs graphiques lors de leur manipulation sur un schéma. Vous pouvez corriger cela soit en déplaçant ces parties, soit en vous rendant dans Édition > Éditer la taille et le point de saisie. warning description Некоторые графические примитивы (текты, окружности, линии, ...) могут выходить за границу элемента. Это может создавать графические ошибки, когда элемент помещается на схему. Вы можете предотвратить это, перемещая примитивы или используя команду "Правка" > "Редактировать размер и опорную точку". Absence de borne warning title Отсутствует вывод L'élément ne comporte aucune borne. Un élément doit comporter des bornes afin de pouvoir étre relié à d'autres éléments par l'intermédiaire de conducteurs. warning description Элемент не содержит ни одного вывода. Элемент должен иметь вывод, чтобы он мог быть присоеденён к другим элементам с помощью проводников. La vérification de cet élément a généré %n avertissement(s) : message box content Проверка этого элемента генерировала %n предупреждение: Проверка этого элемента генерировала %n предупреждения: Проверка этого элемента генерировала %n предупреждений: <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 Avertissements messagebox title Предупреждение Le fichier %1 n'existe pas. message box content Файл %1 не существует. Impossible d'ouvrir le fichier %1. message box content Невозможно открыть файл %1. Ce fichier n'est pas un document XML valide message box content Этот файл не является правильным XML-документом Erreur toolbar title Ошибка Édition en lecture seule message box title Версия только для чтения Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content У вас нет прав для редактирования этого элемента. Он будет открыт в режиме "только для чтения". Erreur message box title Ошибка Impossible d'écrire dans ce fichier message box content Невозможно записать в этот файл Impossible d'atteindre l'élément message box content Невозможно получить доступ к элементу Impossible d'enregistrer l'élément message box content Невозможно сохранить элемент Trop de primitives, liste non générée. Слишком много примитивов, список не создаётся. Ouvrir un fichier dialog title Открыть файл Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Элементы QElectroTech (*.elmt);;XML-файлы (*.xml);;Все файлы (*) Recharger l'élément dialog title Перезагрузить элемент &Fichier &Файл &Édition &Правка Afficha&ge &Вид O&utils Инс&трументы &Aide &Справка Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Этот элемент был изменён со времени последнего сохранения. Если вы перезагрузите его все изменения будут потеряны. Вы действительно хотите перезагрузить элемент? Enregistrer sous dialog title Сохранить как Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Элементы QElectroTech (*.elmt) Enregistrer l'élément en cours ? dialog title Сохранить текущий элемент? Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Вы хотите сохранить элемент %1 ? Élément inexistant. message box title Несуществующий элемент. L'élément n'existe pas. message box content Элемент не существует. Le chemin virtuel choisi ne correspond pas à un élément. message box content Выбранный виртуальный путь не соответствует элементу. Backspace Backspace QETPrintPreviewDialog QElectroTech : Aperçu avant impression QElectroTech : предпросмотр печати Schémas à imprimer : Схема для печати : Tout cocher Выделить все Tout décocher Снять выделение Cacher la liste des schémas Скрыть список схем Cacher les options d'impression Скрыть параметры печати Ajuster la largeur Подогнать по ширине Ajuster la page Подогнать по странице Zoom arrière Уменьшить Zoom avant Увеличить Paysage Альбомная Portrait Книжная Première page Первая страница Page précédente Предыдущая страница Page suivante Следующая страница Dernière page Последняя страница Afficher une seule page Показывать одну страницу Afficher deux pages Показывать в две страницы Afficher un aperçu de toutes les pages Показывать все страницы Mise en page Макет страницы Mise en page (non disponible sous Windows pour l'impression PDF/PS) Макет страницы (недоступно под Windows для печати PDF/PS) Options d'impression Настройка печати Utiliser toute la feuille Использовать весь лист Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Если этот вариант выбран, поля бумаги будут игнорированы и вся его площадь будет использована для печати. Это может не поддерживаться принтером. Adapter le schéma à la page Подогнать схему к листу Si cette option est cochée, le schéma sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page. Если этот вариант выбран, схема будет увеличена или уменьшена, чтобы заполнить всю доступную область печати одной страницей. Imprimer Печать Afficher la liste des schémas Отобразить список схем Afficher les options d'impression Отобразить параметры печати %1 % %1 % QETProject Projet « %1 » displayed title for a ProjectView - %1 is the project title Проект « %1 » Projet %1 displayed title for a title-less project - %1 is the file name Проект %1 Projet sans titre displayed title for a project-less, file-less project Безымянный проект %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [только чтение] Impossible de créer la catégorie pour l'intégration des éléments Невозможно создать категорию для интеграции элементов Impossible d'accéder à l'élément a intégrer Невозможно получить доступ к элементам для интеграции Un problème s'est produit pendant la copie de la catégorie %1 Произошла ошибка при копировании категории %1 Avertissement message box title Предупреждение Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue. message box content Этот документ, возможно, был сохранён более поздней версии QElectroTech. Возможно, что открытие всего документа или его части будет невозможно. Un problème s'est produit pendant la copie de l'élément %1 Произошла ошибка при копировании элемента %1 QFileNameEdit Les caractères autorisés sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.] tooltip content when editing a filename Допустимые символы: - цифры [0-9] - буквы в нижнем регистре [a-z] - тире [-], подчёркивание [_] и точка [.] QObject Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Предупреждение: элементы были сохранены более поздней версии QElectroTech. ajouter 1 %1 undo caption - %1 is an element name добавлено: 1 %1 Ajouter un champ de texte undo caption Добавленно текстовое поле ajouter un conducteur undo caption Добавлен проводник supprimer %1 undo caption - %1 is a sentence listing the removed content удалёно: %1 coller %1 undo caption - %1 is a sentence listing the content to paste вставлено: %1 couper %1 undo caption - %1 is a sentence listing the content to cut вырезано: %1 déplacer %1 undo caption - %1 is a sentence listing the moved content перемещено: %1 modifier le texte undo caption изменён текст pivoter %1 undo caption - %1 is a sentence listing the rotated content повёрнуто: %1 modifier un conducteur undo caption изменён проводник Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Востановленно: %1 modifier le cartouche undo caption изменена основная надпись modifier les dimensions du schéma undo caption изменён размер схемы modifier les propriétés d'un conducteur undo caption изменено свойство проводника suppression undo caption удалено coller вставить couper des parties undo caption вырезать часть déplacement undo caption перемещено ajout %1 undo caption вставлено: %1 modification %1 undo caption изменено: %1 modification points polygone undo caption изменены точки полигона modification dimensions/hotspot undo caption изменён размер/опорная точка modification noms undo caption изменены имена modification orientations undo caption изменены ориентации amener au premier plan undo caption помещено вперед rapprocher undo caption поднять éloigner undo caption опустить envoyer au fond undo caption отправить назад modification connexions internes undo caption изменены внутренние соединения modification informations complementaires undo caption Изменение информации об авторе arc element part name дуга cercle element part name окружность ellipse element part name элипс ligne element part name линия polygone element part name полигон rectangle element part name прямоугольник borne element part name вывод T default text when adding a text in the element editor HL1 texte element part name текст _ default text when adding a textfield in the element editor Т champ de texte element part name текстовое поле Schéma sans titre Безымянная схема schema схема Conserver les proportions Сохранять пропорции Réinitialiser les dimensions Восстановить размер Aperçu Предпросмотр %n élément(s) part of a sentence listing the content of a diagram %n элемент %n элемента %n элементов , separator between elements and conductors in a sentence listing the content of a diagram , et separator between elements and conductors (or texts) in a sentence listing the content of a diagram и %n conducteur(s) part of a sentence listing the content of a diagram %n проводник %n проводника %n проводников et separator between conductors and texts in a sentence listing the content of a diagram и %n champ(s) de texte part of a sentence listing the content of a diagram %n текстовое поле %n текстовых поля %n текстовых полей Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Невозможно найти текстовый файл, содержащий лицензию GNU/GPL - однако, вы знаете ее наизусть, не так ли? Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Текстовый файл, содержащий лицензию GNU/GPL существует, но не может быть открыт - однако, вы знаете ее наизусть, не так ли? Borne tooltip Вывод Exporter vers le presse-papier Копировать в буфер обмена RecentFiles &Récemment ouvert(s) &Последние открытые RectangleEditor Coin supérieur gauche : Верхний-левый угол : Dimensions : Размер : Largeur : Ширина : Hauteur : Всота : abscisse абсцисса ordonnée ордината largeur ширина hauteur всота StyleEditor Noir element part color Чёрный Blanc element part color Белый Normal element part line style Обычный Pointillé element part line style Пунктирный Nulle element part weight Нет Fine element part weight Тонкий Normale element part weight Нормальный Aucun element part filling Нет Noir element part filling Чёрный Blanc element part filling Белый Antialiasing Сглаживание Trait : Линия : Couleur : Цвет : Style : Стиль : Épaisseur : Вес : Remplissage : Заливка : TerminalEditor Nord Север Est Восток Sud Юг Ouest Запад Position : Положение: x : x : y : y : Orientation : Ориентация: abscisse абсцисса ordonnée ордината orientation ориентация TextEditor contenu содержимое Position : Положение : x : x : y : y : Taille : Размер : Texte : Текст : abscisse абсцисса ordonnée ордината taille размер TextFieldEditor contenu содержимое Maintenir horizontal malgré les rotations de l'élément Поддерживать горизонтальным несмотря на вращения элемента Position : Положение : x : x : y : y : Taille : Размер : Texte par défaut : Текст по умолчанию : abscisse абсцисса ordonnée ордината taille размер propriété свойство qelectrotech-0.22+svn897/lang/qet_en.ts0000644000175000017500000060614511346742300017657 0ustar laurentlaurent AboutQET Ce programme est sous licence GNU/GPL. This program is under the GNU/GPL license. Idée originale Original concept Programmation Programming QElectroTech, une application de réalisation de schémas électriques. QElectroTech, an application to design electric diagrams. © 2006-2010 Les développeurs de QElectroTech © 2006-2010 QElectroTech developers À propos de QElectrotech window title About QElectroTech À &propos tab title &About A&uteurs tab title A&uthors &Traducteurs tab title &Translators &Contributeurs tab title &Contributors &Accord de licence tab title &License Agreement Traduction en espagnol Spanish translation Traduction en russe Russian translation Traduction en portugais Portuguese translation Traduction en tchèque Czech translation Paquets Fedora Fedora packages Paquets Mandriva Mandriva packages Paquets Debian Debian packages Icônes Icons ArcEditor Centre : Center: Diamètres : Diameters: horizontal : horizontal: vertical : vertical: Angle de départ : Start angle: Angle : Angle: abscisse abscissa ordonnée ordinate diamètre horizontal horizontal diameter diamètre vertical vertical diameter angle de départ start angle angle angle BorderInset Auteur : %1 inset content Author: %1 Date : %1 inset content Date: %1 Fichier : %1 inset content File: %1 Folio : %1 inset content Folio: %1 BorderPropertiesWidget Dimensions du schéma Diagram size Colonnes : Columns: Afficher les en-têtes Display headers Lignes : Rows: × multiplication symbol × px unit for cols width px px unit for rows height px CircleEditor Centre : Center: Diamètre : Diameter: abscisse abscissa ordonnée ordinate diamètre diameter ConductorPropertiesWidget Type de conducteur Conductor Type Multifilaire Multiline Texte : Text: Unifilaire Singleline phase phase terre ground neutre neutral Apparence du conducteur Conductor appearance Couleur : Color: Trait en pointillés Dashed line Simple Simple ConfigDialog Configurer QElectroTech window title Configure QElectroTech DiagramPrintDialog Options d'impression window title Print options Quel type d'impression désirez-vous effectuer ? What kind of printing do you wish? Impression sur une imprimante physique Print type choice Print to a physical printer Impression vers un fichier au format PDF Print type choice Print to a PDF file Impression vers un fichier au format PostScript (PS) Print type choice Print to a PostScript file (PS) Choix du type d'impression Printing type choice Fichier manquant message box title File missing Vous devez indiquer le chemin du fichier PDF/PS à créer. message box content You must enter the path of the PDF/PS file to create. Fichiers PDF (*.pdf) file filter PDF Files (*.pdf) Fichiers PostScript (*.ps) file filter PostScript Files (*.ps) DiagramView Schéma sans titre Untitled diagram Coller ici context menu action Paste Here Schéma %1 %1 is a diagram title Diagram %1 Propriétés du schéma window title Diagram properties Propriétés de la sélection Selection properties La sélection contient %1. %1 is a sentence listing the selected objects The selection contains %1. Élément manquant Missing element Élément Element Nom : %1 Name: %1 Position : %1 Position: %1 Dimensions : %1×%2 Size: %1×%2 Bornes : %1 Terminals: %1 Connexions internes : %1 Internal connections: %1 Autorisées Allowed Interdites Forbidden Champs de texte : %1 Text fields: %1 Emplacement : %1 Location: %1 Propriétés de l'élément sélectionné Selected element properties Retrouver dans le panel Find in the panel Éditer l'élément Edit element Éditer les propriétés d'un conducteur window title Edit conductor properties Éditer les propriétés par défaut des conducteurs window title Edit conductors default properties DiagramsChooser Schéma sans titre Untitled diagram ElementDefinition L'élément cible n'a pu être créé. The target element could not be created. La suppression de cet élément a échoué. The deletion of this element failed. ElementDeleter Supprimer l'élément ? message box title Delete element? Êtes-vous sûr de vouloir supprimer cet élément ? message box content Do you really wish to delete this element? Suppression de l'élément message box title Deleting element La suppression de l'élément a échoué. message box content Deleting element failed. ElementDialog Nom : Name: Ouvrir un élément dialog title Open an element Choisissez l'élément que vous souhaitez ouvrir. dialog content Choose the element you iwsh to open. Enregistrer un élément dialog title Save an element Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Choose the element you wish to save your definition into. Ouvrir une catégorie dialog title OPen a category Choisissez une catégorie. dialog content Choose a category. Enregistrer une catégorie dialog title Save a category Pas de sélection message box title No selection Vous devez sélectionner un élément. message box content You must select an element. Sélection inexistante message box title Non-existent selection La sélection n'existe pas. message box content The selection does not exist. Sélection incorrecte message box title Wrong selection La sélection n'est pas un élément. message box content The selection is not an element. Vous devez sélectionner une catégorie ou un élément. message box content You must select a category or an element. Nom manquant message box title Name required Vous devez entrer un nom pour l'élément message box content You must provide a name for the element Nom invalide message box title Invalid name Vous ne pouvez pas utiliser les caractères suivants dans le nom de l'élément : %1 You can not use one of the following characters in the element name: %1 Écraser l'élément ? message box title Overwrite the element? L'élément existe déjà. Voulez-vous l'écraser ? message box content The element already exists. Do you want to overwrite it? ElementScene ligne line ellipse ellipse arc arc cercle circle borne terminal texte text champ de texte textfield polygone polygon L'orientation par défaut est l'orientation dans laquelle s'effectue la création de l'élément. Default orientation is the orientation which the drawing of the element takes place with. Éditer les informations sur l'auteur window title Edit author informations Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. You can use this field to specify the authors of this element, its license, or any other information you may find useful. Vous pouvez spécifier le nom de l'élément dans plusieurs langues. You may enter the element name in several languages. Autoriser les connexions internes Allow internal connections Ce document XML n'est pas une définition d'élément. error message This XML document is not an element definition. Les dimensions ou le point de saisie ne sont pas valides. error message The size or the hotspot are not valid. Les orientations ne sont pas valides. error message Orientations are not valid. Éditer la taille et le point de saisie window title Edit size and hotspot Éditer les orientations window title Edit orientations Éditer les noms window title Edit names rectangle rectangle ElementsCategoriesList Collection utilisateur User Collection Collection QET QET Collection Collection projet Project Collection ElementsCategoriesWidget Éditer la catégorie Edit category Nouvelle catégorie New category Recharger les catégories Reload categories Supprimer la catégorie Delete category ElementsCategory La copie d'une catégorie vers elle-même ou vers l'une de ses sous-catégories n'est pas gérée. Copying a category to itself or to one of its subcategories is not handled. Il n'est pas possible de déplacer une collection. It is not possible to move a collection. Le déplacement d'une catégorie dans une de ses sous-catégories n'est pas possible. Moving a category to one of its subcategories is not possible. La suppression de cette catégorie a échoué. The deletion of this category failed. Impossible de supprimer l'élément Unable to delete the element Impossible de supprimer la catégorie Unable to delete the category ElementsCategoryDeleter Vider la collection ? message box title Empty the collection? Êtes-vous sûr de vouloir vider cette collection ? message box content Do you really want to empty this collection? Supprimer la catégorie ? message box title Delete category? Êtes-vous sûr de vouloir supprimer la catégorie ? Tous les éléments et les catégories contenus dans cette catégorie seront supprimés. message box content Do you really want to delete the category? Every elements and categories from this category will be deleted. Êtes-vous vraiment sûr de vouloir supprimer cette catégorie ? Les changements seront définitifs. message box content Do you really really want to delete this category? Changes will be definitive. Suppression de la catégorie message box title Category deletion La suppression de la catégorie a échoué. message box content Deleting the category failed. ElementsCategoryEditor Vous pouvez spécifier un nom par langue pour la catégorie. You can add a name per language for the category. Nom interne : Internal name: Catégorie inexistante message box title Non-existent category La catégorie demandée n'existe pas. Abandon. message box content The required category does not exist. Giving up. Éditer une catégorie window title Edit category Créer une nouvelle catégorie window title Add a new category Nom de la nouvelle catégorie default name when creating a new category Name of the new category Édition en lecture seule message box title Read only edition Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content You are not allowed to modify this category. Thus it will be edited read-only. Nom interne manquant message box title Missing internal name Vous devez spécifier un nom interne. message box content You must provide an internal name. Nom interne déjà utilisé message box title Internal name already used Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content The internal name you chose is already used by another category. Please choose another one. Erreur message box title Error Impossible de créer la catégorie message box content Unable to create the category Impossible d'enregistrer la catégorie message box content Unable to save the category ElementsCollection Il n'est pas possible de déplacer une collection. It is not possible to move a collection. ElementsPanel Ceci est un élément que vous pouvez insérer dans votre schéma par cliquer-déplacer This is an element you can drag'n drop onto your diagram Cliquer-déposez cet élément sur le schéma pour insérer un élément Drag'n drop this element to the diagram to insert a Collection QET QET Collection Collection utilisateur User Collection Collection projet Project collection Schéma sans titre Untitled diagram %1 [non utilisé dans le projet] %1 [unused in the project] Pas de fichier tooltip for a file-less project in the element panel No file ElementsPanelWidget Nouvel élément New element Recharger les collections Reload collections Nouvelle catégorie New category Éditer la catégorie Edit category Supprimer la catégorie Delete category Importer un élément Import an element Éditer l'élément Edit element Supprimer l'élément Delete element Remonter ce schéma Move up Abaisser ce schéma Move down Vous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catégories. Use this manager to add, delete or modify categories. Filtrer : Filter: Effacer le filtre Erase filter Vider la collection Empty the collection Fermer ce projet Close this project Ajouter un schéma Add a diagram Supprimer ce schéma Delete this diagram Propriétés du projet Project properties Déplacer dans cette catégorie Move into this category Copier dans cette catégorie Copy into this category Annuler Undo Gestionnaire de catégories window title Categories manager Propriétés du schéma Diagram properties EllipseEditor Centre : Center: Diamètres : Diameters: horizontal : horizontal: vertical : vertical: abscisse abscissa ordonnée ordinate diamètre horizontal horizontal diameter diamètre vertical vertical diameter ExportConfigPage Export configuration page title Export ExportDialog Aperçu Preview Dimensions Dimensions Impossible d'écrire dans ce fichier message box title Can not write to this file Exporter les schémas du projet window title Export the project diagrams Exporter Export Choisissez les schémas que vous désirez exporter ainsi que leurs dimensions : Choose the diagrams you wish to export and specify their size: Schéma Diagram Nom de fichier Filename Vous devez entrer un nom de fichier non vide et unique pour chaque schéma à exporter. message box content You must enter a non-empty, unique filename for each diagram to export. Noms des fichiers cibles message box title Target files names Dossier non spécifié message box title Directory missing Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content You must specify the path of the directory in which the images files will be saved. Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content It appears you do not have the required permissions to write the file %1. ExportDialog::ExportDiagramLine px pxpx ExportPropertiesWidget Exporter dans le dossier dialog title Export in the directory Dossier cible : Target directory: Parcourir Browse Format : Format: PNG (*.png) PNG (*.png) JPEG (*.jpg) JPEG (*.jpg) Bitmap (*.bmp) Bitmap (*.bmp) SVG (*.svg) SVG (*.svg) Options de rendu groupbox title Rendering options Conserver les couleurs des conducteurs Keep conductors colors Exporter le cadre Export the border Exporter les éléments Export only elements Dessiner la grille Draw the grid Dessiner le cadre Draw the border Dessiner le cartouche Draw the inset Dessiner les bornes Draw terminals GeneralConfigurationPage Apparence Appearance Utiliser les couleurs du système Use system colors Projets Projects Utiliser des fenêtres Use windows Utiliser des onglets Use tabs Ces paramètres s'appliqueront dès la prochaine ouverture d'un éditeur de schémas. These settings will be applied at the next opening of a diagram editor. Gestion des éléments Elements management Intégrer automatiquement les éléments dans les projets (recommandé) Integrate automatically the elements into the projects (recommended) Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Every element embeds informations about its authors, its license, or any information you may find useful in a freely usable textfield. You can specify here the default value of this textfield for the elements you will create: Général configuration page title General GhostElement <u>Élément manquant :</u> %1 <u>Missing element:</u> %1 HotspotEditor ×10 px ×10 px px px Déplacer l'élément avec le hotspot Translate element along with hotspot <span style="text-decoration:underline;">Dimensions</span> <span style="text-decoration:underline;">Size</span> Largeur : Width: Hauteur : Height: <span style="text-decoration:underline;">Hotspot</span> <span style="text-decoration:underline;">Hotspot</span> Abscisse : Abscissa: Ordonnée : Ordinate: L'élément doit être assez grand pour contenir tout sa représentation graphique. The element must be large enough to contain its whole graphical representation. InsetPropertiesWidget Informations du cartouche Inset properties Pas de date No date Date courante Current date Date fixe : Fixed date: Titre : Title: Auteur : Author: Date : Date: Fichier : File: Folio : Folio: Les variables suivantes sont utilisables dans le champ Folio : - %id : numéro du schéma courant dans le projet - %total : nombre total de schémas dans le projet The following variables can be used imn the Folio field: - %id: the current diagram's number in the project - %total: total number of diagrams in the project IntegrationMoveElementsHandler L'élément a déjà été intégré dans le projet. Toutefois, la version que vous tentez de poser semble différente. Que souhaitez-vous faire ? dialog content - %1 is an element's path name The element has already been integrated in the project. However, the version you're trying to drop appears to be different. What do you wish to do ? Utiliser l'élément déjà intégré dialog content Use the already integrated element Intégrer l'élément déposé dialog content Integrate the dropped element Écraser l'élément déjà intégré dialog content Erase the already integrated element Faire cohabiter les deux éléments dialog content Make the two elements coexist Intégration d'un élément Integration of an element InteractiveMoveElementsHandler Renommer Rename Écraser Erase Écraser tout Erase all Ignorer Ignore Ignorer tout Ignore all Annuler Undo Copie de %1 vers %2 dialog title Copy from %1 to %2 La catégorie « %1 » (%2) existe déjà. Que souhaitez-vous faire ? dialog content The category "%1" (%2) already exists. What do you wish to do? L'élément « %1 » existe déjà. Que souhaitez-vous faire ? dialog content The element "%1" already exists. What do you wish to do? La catégorie %1 n'est pas accessible en lecture. message box content The category %1 is not readable. L'élément %1 n'est pas accessible en lecture. message box content The element %1 is not readable. La catégorie %1 n'est pas accessible en écriture. message box content The category %1 is not writable. L'élément %1 n'est pas accessible en écriture. message box content The element %1 is not writable. Erreur message box title Error LineEditor abscisse point 1 abscissa point 1 ordonnée point 1 ordinate point 1 abscisse point 2 abscissa point 2 ordonnée point 2 ordinate point 2 Fin 1 End 1 Fin 2 End 2 type fin 1 end 1 type longueur fin 1 end 1 length type fin 2 end 2 type longueur fin 2 end 2 length Normale type of the 1st end of a line Normal Flèche simple type of the 1st end of a line Simple arrow Flèche triangulaire type of the 1st end of a line Triangle arrow Cercle type of the 1st end of a line Circle Carré type of the 1st end of a line Diamond Normale type of the 2nd end of a line Normal Flèche simple type of the 2nd end of a line Simple arrow Flèche triangulaire type of the 2nd end of a line Triangle arrow Cercle type of the 2nd end of a line Circle Carré type of the 2nd end of a line Diamond NamesListWidget Langue Language Nom Name Ajouter une ligne Add a line Il doit y avoir au moins un nom. message box title There must be at least one name. Vous devez entrer au moins un nom. message box content You must enter at least one name. NewDiagramPage Nouveau schéma configuration page title New Diagram NewElementWizard Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. You don't have to specify the *.elmt extension. It will be added automatically. nouvel_element new_element &Suivant > &Next > Créer un nouvel élément : Assistant window title Create a new element: wizard Étape 1/5 : Catégorie parente wizard page title Step 1 of 5: Parent category Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. wizard page subtitle Select a category which to save the new element in. Étape 2/5 : Nom du fichier wizard page title Step 2 of 5: Filename Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. wizard page subtitle Enter the name of the file for the new element. Étape 3/5 : Noms de l'élément wizard page title Step 3 of 5: Element names Indiquez le ou les noms de l'élément. wizard page subtitle Enter one or more names for the element. Nom du nouvel élément default name when creating a new element New element name Étape 4/5 : Dimensions et point de saisie wizard page title Step 4 of 5: Size and hotspot Saisissez les dimensions du nouvel élément ainsi que la position du hotspot (point de saisie de l'élément à la souris) en considérant que l'élément est dans son orientation par défaut. wizard page subtitle Enter the new element size and its hotspot, considering the element is default-oriented. Étape 5/5 : Orientations wizard page title Step 5 of 5: Orientations Indiquez les orientations possibles pour le nouvel élément. wizard page subtitle Enter the allowed and forbidden orientations for the new element. Erreur message box title Error Vous devez sélectionner une catégorie. message box content You must select a category. Vous devez entrer un nom de fichier message box content You must enter a filename Merci de ne pas utiliser les caractères suivants : \ / : * ? " < > | message box content Please avoid the following characters: \ / : * ? < > | OrientationSetWidget Possible Allowed Impossible Forbidden Nord : North: Est : East: Sud : South: Ouest : West: Par défaut Default PolygonEditor Polygone fermé Closed polygon x x y y Points du polygone : Polygon points: fermeture du polygone Polygon closure Erreur message box title Error Le polygone doit comporter au moins deux points. message box content The polygon must contain at least two points. PrintConfigPage Impression configuration page title Printing ProjectView Ce projet ne contient aucun schéma This project does not contain any diagram Titre du projet : Project title: Supprimer les éléments inutilisés dans le projet Delete unused elements in the project Supprimer les catégories vides Delete empty categories Enregistrer le schéma en cours ? message box title Save the current diagram? Voulez-vous enregistrer le schéma %1 ? message box content - %1 is a diagram title Do you wish to save the diagram %1? Enregistrer le nouveau schéma ? message box title Save the new diagram? Ce schéma a été ajouté mais n'a été ni modifié ni enregistré. Voulez-vous le conserver ? message box content This diagram has been added but it hasn't been modified nor saved. Do you wish to keep it? Supprimer le schéma ? message box title Delete the diagram? Êtes-vous sûr de vouloir supprimer ce schéma du projet ? Ce changement est irréversible. message box content Do you really want to delete this diagram from the project? This change is irreversible. Propriétés du projet window title Project properties Projet en lecture seule message box title Read-only project Ce projet est en lecture seule. Il n'est donc pas possible de le nettoyer. message box content This project is read-only. Thus it can not be cleaned. Nettoyer le projet window title Clean project Enregistrer sous dialog title Save as Schéma QElectroTech (*.qet) filetypes allowed when saving a diagram file QElectroTech Diagram (*.qet) Projet window title for a project-less ProjectView Project Enregistrer le projet en cours ? message box title Save current project? Voulez-vous enregistrer le projet ? message box content Do you wish to save the project? projet string used to generate a filename project Propriétés à utiliser lors de l'ajout d'un nouveau schéma au projet : Properties used when adding a new diagram to the project: QETApp &Quitter &Quit &Masquer &Hide &Restaurer &Show &Masquer tous les éditeurs de schéma &Hide diagram editors &Restaurer tous les éditeurs de schéma &Show diagram editors &Masquer tous les éditeurs d'élément &Hide element editors &Restaurer tous les éditeurs d'élément &Show element editors &Nouvel éditeur de schéma &New diagram editor &Nouvel éditeur d'élément &New element editor Ferme l'application QElectroTech Closes QElectroTech Réduire QElectroTech dans le systray Reduces QElectroTech into the systray Restaurer QElectroTech Restore QElectroTech Éditeurs de schémas Diagram editors Éditeurs d'élément Element editors Usage : Usage: QElectroTech, une application de réalisation de schémas électriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QElectroTech, an application to design electric diagrams. Available options: --help Display this help -v, --version Display the version --license Display the license [options] [fichier]... [options] [file]... --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Define the elements collection directory --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Define configuration directory --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Define the language files directory Chargement... Éditeur de schémas splash screen caption Loading... Diagrams editor Chargement... Ouverture des fichiers splash screen caption Loading... Opening files Chargement... splash screen caption Loading... Chargement... icône du systray splash screen caption Loading... Systray icon QElectroTech systray menu title QElectroTech QElectroTech systray icon tooltip QElectroTech QETDiagramEditor Afficha&ge Displ&ay Affiche ou non le panel d'appareils Displays or not the elements panel Afficher Display &Aide &Help Ajouter une colonne Add a column À &propos de QElectroTech A&bout QElectroTech À propos de &Qt About &Qt &Cascade &Cascade C&oller &Paste &Configuration &Settings &Configurer QElectroTech &Configure QElectroTech Cop&ier &Copy Co&uper Cu&t Ctrl+0 Ctrl+9 Ctrl+I Ctrl+Q Ctrl+Shift+A Ctrl+Shift+F Ctrl+Shift+F Ctrl+Shift+I Ctrl+Shift+X Désélectionner tout Select none &Édition &Edit Enlever une colonne Remove a column &Enregistrer &Save Enregistrer sous Save as E&xporter &Export Fe&nêtres Wi&ndows &Fermer &Close &Fichier &File &Importer &Import Imprimer Print Inverser la sélection Invert selection Mode Selection Selection Mode Mode Visualisation View Mode &Mosaïque &Tile &Nouveau &New Outils Tools &Ouvrir &Open Ouvrir un fichier Open a file Pas de zoom Reset zoom Passer en &mode plein écran F&ullScreen Mode Pivoter Rotate &Quitter &Quit Schémas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech Diagrams (*.qet);;XML Files (*.xml);;All files (*) Sortir du &mode plein écran Exit f&ullScreen mode Supprimer Delete Tout sélectionner Select All Zoom adapté Fit in view Zoom arrière Zoom Out Zoom avant Zoom In Annuler Undo Refaire Redo Réinitialiser les conducteurs Reset conductors Ctrl+J Ctrl+J Ctrl+K Ctrl+K Propriétés du schéma Diagram Properties Ctrl+L Ctrl+L Affiche ou non la barre d'outils principale Display or hide the main toolbar Affiche ou non la barre d'outils Affichage Display or hide the Display toolbar Affiche ou non la barre d'outils Schéma Display or hide the Diagram toolbar Affichage Display Schéma Diagram Conducteurs par défaut Default conductors Ctrl+D Ctrl+D Ajouter un champ de texte Add a textfield Aucune modification No modification Affiche ou non la liste des modifications Display or hide the undo list Ajouter une ligne Add a row Enlever une ligne Remove a row Ajouter un schéma Add a diagram Supprimer le schéma Delete the diagram Ctrl+T Ctrl+T Édite les propriétés des objets sélectionné status bar tip Edit the selected objects properties &Projet &Project Impossible d'ouvrir le fichier Unable to open file Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. The file you try to open does not seem readable and can not be opened. Please check the file permissions. Ouverture du projet en lecture seule Opening the file read-only Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. The project you try to open does not seem writable. It will be opened read-only. en utilisant des onglets using tabs en utilisant des fenêtres using windows Afficher les projets Display projects Propriétés du projet Project properties Nettoyer le projet Clean project Échec de l'ouverture du projet message box title Unable to open project Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content The file %1 does not appear to be a QElectroTech project file. Thus it cannot be opened. QElectroTech window title QElectroTech QElectroTech status bar message QElectroTech Panel d'éléments dock title Elements Panel Annulations dock title Undo Propriétés de la sélection Selection properties Backspace Backspace Space Space Crée un nouveau schéma status bar tip Opens a new diagram Ouvre un schéma existant status bar tip Open an existing diagram Ferme le schéma courant status bar tip Closes the current diagram Enregistre le schéma courant status bar tip Saves the current diagram Enregistre le schéma courant avec un autre nom de fichier status bar tip Saves the current diagram as another filename Importe un schéma dans le schéma courant status bar tip Imports a diagram into the current diagram Exporte le schéma courant dans un autre format status bar tip Exports the current diagram to another format Imprime le schéma courant status bar tip Prints the current diagram Ferme l'application QElectroTech status bar tip Closes QElectroTech Annule l'action précédente status bar tip Undoes the previous action Restaure l'action annulée status bar tip Restores the undone action Transfère les éléments sélectionnés dans le presse-papier status bar tip Puts selected elements into the clipboard Copie les éléments sélectionnés dans le presse-papier status bar tip Copies selected elements Place les éléments du presse-papier sur le schéma status bar tip Pastes elements from the clipboard into the diagram Sélectionne tous les éléments du schéma status bar tip Selects all elements on the diagram Désélectionne tous les éléments du schéma status bar tip Deselect all elements on the plan Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Deselects selected elements and select non-selected elements Enlève les éléments sélectionnés du schéma status bar tip Removes selected elements from the diagram Pivote les éléments sélectionnés status bar tip Rotates selected elements Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Reset the conductors path ignoring the user changes Spécifie les propriétés par défaut des conducteurs status bar tip Specify the conductors default properties Édite les informations affichées par le cartouche status bar tip Edit informations displayed by the inset Ajoute une colonne au schéma status bar tip Add a column to the diagram Enlève une colonne au schéma status bar tip Remove a column from the diagram Agrandit le schéma en hauteur status bar tip Expand the diagram's height Rétrécit le schéma en hauteur status bar tip Shrink the diagram's height Agrandit le schéma status bar tip Expand the diagram Rétrécit le schéma status bar tip Shrinks the diagram Adapte la taille du schéma afin qu'il soit entièrement visible status bar tip Changes the size of the plan so that it fits in the view Restaure le zoom par défaut status bar tip Restores default zoom level Présente les différents projets ouverts dans des sous-fenêtres status bar tip Shows the various opened projects in windows Présente les différents projets ouverts des onglets status bar tip Shows the various opened projects in tabs Permet de sélectionner les éléments status bar tip Allows to select elements Permet de visualiser le schéma sans pouvoir le modifier status bar tip Allows to view the diagram without modifying it Affiche QElectroTech en mode plein écran status bar tip Displays QElectroTech in full screen mode Impossible de retrouver cet élément dans le panel car il semble édité dans une autre fenêtre Unable to find this element in the panel because it seems to be edited from another window Impossible de retrouver cet élément dans le panel... rechargement du panel... Unable to find this element in the panel... reloading the panel... Impossible de retrouver cet élément dans le panel Unable to find this element in the panel Affiche QElectroTech en mode fenêtré status bar tip Displays QElectroTech in windowed mode Permet de régler différents paramètres de QElectroTech status bar tip Allows to specify various parameters for QElectroTech Dispose les fenêtres en mosaïque status bar tip Arranges windows in a tile pattern Dispose les fenêtres en cascade status bar tip Arranges windows in a cascade pattern Affiche des informations sur QElectroTech status bar tip Displays informations about QElectroTech Affiche des informations sur la bibliothèque Qt status bar tip Displays informations about Qt library &Enregistrer tous les schémas Sav&e all diagrams Enregistre tous les schémas du projet courant status bar tip Saves all the diagrams of the current project Projet suivant Next project Projet précédent Previous project Active le projet suivant status bar tip Activates the next project Active le projet précédent status bar tip Activates the previous project Active le projet « %1 » Activates the project "%1" QETElementEditor &Nouveau &New &Ouvrir &Open &Enregistrer &Save Enregistrer sous Save as &Quitter &Quit Tout sélectionner Select All Désélectionner tout Select none Inverser la sélection Invert selection &Supprimer &Delete Éditer la taille et le point de saisie Edit size and hotspot Éditer les noms Edit names Éditer les orientations Edit orientations Déplacer un objet Move an object Ajouter une ligne Add a line Ajouter une ellipse Add an ellipse Ajouter un cercle Add a circle Ajouter un polygone Add a polygon Ajouter du texte Add text Ajouter un arc de cercle Add an arc Ajouter une borne Add a terminal Ajouter un champ de texte Add a textfield Annuler Undo Refaire Redo Ctrl+Q Ctrl+Q Ctrl+Shift+A Ctrl+Shift+A Ctrl+I Ctrl+I Afficher Display La vérification de cet élément a généré %n avertissement(s) : message box content Checking this element generated a warning: Checking this element generated %n warnings: <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 Ctrl+E Ctrl+E Ctrl+R Ctrl+R Ctrl+T Ctrl+T Rapprocher Raise Éloigner Lower Envoyer au fond Send backward Amener au premier plan Bring forward Ctrl+Shift+Up Ctrl+Shift+Up Ctrl+Shift+Down Ctrl+Shift+Down Ctrl+Shift+End Ctrl+Shift+End Ctrl+Shift+Home Ctrl+Shift+Home Aucune modification No modification Recharger Reload Zoom avant Zoom In Zoom arrière Zoom Out Zoom adapté Fit in view Pas de zoom Reset zoom Ctrl+9 Ctrl+9 Ctrl+0 Ctrl+0 &Ouvrir depuis un fichier &Open from a file Enregistrer dans un fichier Save to a file Ctrl+Shift+O Ctrl+Shift+O Ctrl+Shift+S Ctrl+Shift+S QElectroTech - Éditeur d'élément window title QElectroTech - Element Editor un fichier a file un élément an element Éditer les informations sur l'auteur Edit author informations &Configurer QElectroTech &Configure QElectroTech À &propos de QElectroTech A&bout QElectroTech À propos de &Qt About &Qt Permet de régler différents paramètres de QElectroTech status bar tip Allows to specify various parameters for QElectroTech Affiche des informations sur QElectroTech status bar tip Displays informations about QElectroTech Affiche des informations sur la bibliothèque Qt status bar tip Displays informations about Qt library Backspace Backspace Ctrl+Shift+F Ctrl+Shift+F Ctrl+Y Ctrl+Y Parties toolbar title Parts Outils toolbar title Tools Affichage toolbar title Display Élément toolbar title Element Profondeur toolbar title Depth &Fichier &File &Édition &Edit Afficha&ge Displ&ay O&utils To&ols &Configuration &Settings &Aide &Help Coller depuis... Paste from... Sortir du &mode plein écran Exit f&ullScreen mode Affiche QElectroTech en mode fenêtré status bar tip Displays QElectroTech in windowed mode Passer en &mode plein écran F&ullScreen Mode Affiche QElectroTech en mode plein écran status bar tip Displays QElectroTech in full screen mode [Modifié] window title tag [Changed] [lecture seule] window title tag [Read only] Informations dock title Informations Annulations dock title Undo Parties dock title Parts Éditeur d'éléments status bar message Elements Editor %n partie(s) sélectionnée(s). %n selected part. %n selected parts. Dimensions de l'élément warning title Element size Certaines parties graphiques (textes, cercles, lignes...) semblent déborder du cadre de l'élément. Cela risque de générer des bugs graphiques lors de leur manipulation sur un schéma. Vous pouvez corriger cela soit en déplaçant ces parties, soit en vous rendant dans Édition > Éditer la taille et le point de saisie. warning description Some graphical parts (texts, circles, lines, ...) seem to be out of the element border. This may generate graphical bugs when the element is moved on a diagram. You can fix this by moving those parts or using Edit > Edit size and hotspot. Absence de borne warning title Missing terminal L'élément ne comporte aucune borne. Un élément doit comporter des bornes afin de pouvoir étre relié à d'autres éléments par l'intermédiaire de conducteurs. warning description The element does not contain any terminal. An element must have terminals in order to be connected to other elements by conductors. Avertissements messagebox title Warnings Le fichier %1 n'existe pas. message box content The file %1 does not exist. Impossible d'ouvrir le fichier %1. message box content Unable to open the file %1. Ce fichier n'est pas un document XML valide message box content This file is not a valid XML document Erreur toolbar title Error Édition en lecture seule message box title Read only edition Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content You are not allowed to modify this element. Thus it will be edited read-only. Erreur message box title Error Impossible d'écrire dans ce fichier message box content Unable to write to this file Impossible d'atteindre l'élément message box content Unable to reach the element Impossible d'enregistrer l'élément message box content Unable to save the element Trop de primitives, liste non générée. Too much parts, list not rendered. Ouvrir un fichier dialog title Open a file Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech elements (*.elmt);;XML files (*.xml);;All files (*) Recharger l'élément dialog title Reload element Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content This element has been modified since last save. If you reload it, these changes will be lost. Do you really want to reload this element? Enregistrer sous dialog title Save as Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech elements (*.elmt) Enregistrer l'élément en cours ? dialog title Save current element? Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Do you wish to save the element %1? Élément inexistant. message box title Non-existent element. L'élément n'existe pas. message box content The element does not exist. Le chemin virtuel choisi ne correspond pas à un élément. message box content The chosen virtual path does not match an element. Maintenez la touche Shift enfoncée pour effectuer plusieurs ajouts d'affilée Hold down the Shift key to add several parts in a row Utilisez le bouton droit de la souris pour poser le dernier point du polygone Use the right mouse button to set the polygon's last point Co&uper Cu&t Cop&ier &Copy C&oller &Paste C&oller dans la zone... Pa&ste in the area... Ctrl+Shift+V Ctrl+Shift+V Ajouter un rectangle Add a rectangle QETPrintPreviewDialog QElectroTech : Aperçu avant impression QElectroTech: Print preview Schémas à imprimer : Diagrams to print: Tout cocher Check all Tout décocher Unchek all Cacher la liste des schémas Hide the diagrams list Cacher les options d'impression Hide the print options Ajuster la largeur Fit to width Ajuster la page Fit to page Zoom arrière Zoom Out Zoom avant Zoom In Paysage Landscape Portrait Portrait Première page First page Page précédente Previous page Page suivante Next page Dernière page Last page Afficher une seule page Display a single page Afficher deux pages Display facing pages Afficher un aperçu de toutes les pages Display all pages Mise en page Page layout Mise en page (non disponible sous Windows pour l'impression PDF/PS) Page layout (not available under Windows for PDF/PS printing) Options d'impression Print options Utiliser toute la feuille Use the whole page Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. If this option is checked, the paper margins are ignored and its whole surface is used for the printing. This may not be supported by your printer. Adapter le schéma à la page Fit diagram to page Si cette option est cochée, le schéma sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page. If this option is checked, the diagram will be shrinked or expanded to fit the printable surface of a single page. Imprimer Print Afficher la liste des schémas Display Afficher les options d'impression Display the print options %1 % %1% QETProject Impossible de créer la catégorie pour l'intégration des éléments Unable to create the category dedicated to the elements integration Impossible d'accéder à l'élément a intégrer Unable to reach the element to integrate Un problème s'est produit pendant la copie de la catégorie %1 An error occured during the copy of the category %1 Un problème s'est produit pendant la copie de l'élément %1 An error occured during the copy of the element %1 Avertissement message box title Warning Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue. message box content This document seems to have been saved by a more recent version of QElectroTech. The opening of the document may fail totally or partially. Projet « %1 » displayed title for a ProjectView - %1 is the project title Project "%1" Projet %1 displayed title for a title-less project - %1 is the file name Project %1 Projet sans titre displayed title for a project-less, file-less project Untitled project %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [read-only] QFileNameEdit Les caractères autorisés sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.] tooltip content when editing a filename The allowed characters are: - digits [0-9] - lower-case letters [a-z] - dash [-], underscore [_] and dot [.] QObject Exporter vers le presse-papier Export to clipboard Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? The text file containing the GNU/GPL license could not be found - however, you know it by heart, don't you? Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? The text file containing the GNU/GPL license exists but could not be opened - however, you know it by heart, don't you? Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Warning: the element has been saved with a more recent version of QElectroTech. ajouter 1 %1 undo caption - %1 is an element name add 1 %1 Ajouter un champ de texte undo caption Add a textfield ajouter un conducteur undo caption add a conductor supprimer %1 undo caption - %1 is a sentence listing the removed content delete %1 coller %1 undo caption - %1 is a sentence listing the content to paste paste %1 couper %1 undo caption - %1 is a sentence listing the content to cut cut %1 déplacer %1 undo caption - %1 is a sentence listing the moved content move %1 modifier le texte undo caption modify text pivoter %1 undo caption - %1 is a sentence listing the rotated content rotate %1 modifier un conducteur undo caption modify a conductor Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Reset %1 modifier le cartouche undo caption modify the inset modifier les dimensions du schéma undo caption modify the diagram size modifier les propriétés d'un conducteur undo caption modify conductor properties suppression undo caption deletion déplacement undo caption move ajout %1 undo caption insert %1 modification %1 undo caption modify %1 modification points polygone undo caption modification polygon points modification dimensions/hotspot undo caption modify size/hotspot modification noms undo caption modify names modification orientations undo caption modify orientations amener au premier plan undo caption bring forward rapprocher undo caption raise éloigner undo caption lower envoyer au fond undo caption send backward modification connexions internes undo caption modify internal connections modification informations complementaires undo caption modify author informations arc element part name arc cercle element part name circle ellipse element part name ellipse ligne element part name line polygone element part name polygon borne element part name terminal T default text when adding a text in the element editor T texte element part name text _ default text when adding a textfield in the element editor _ champ de texte element part name textfield %n élément(s) part of a sentence listing the content of a diagram %n element %n elements , separator between elements and conductors in a sentence listing the content of a diagram , et separator between elements and conductors (or texts) in a sentence listing the content of a diagram and %n conducteur(s) part of a sentence listing the content of a diagram %n conductor %n conductors et separator between conductors and texts in a sentence listing the content of a diagram and %n champ(s) de texte part of a sentence listing the content of a diagram %n textfield %n textfields Borne tooltip Terminal coller paste couper des parties undo caption cut parts rectangle element part name rectangle Schéma sans titre Untitled diagram schema diagram Conserver les proportions Keep aspect ratio Réinitialiser les dimensions Reset size Aperçu Preview RecentFiles &Récemment ouvert(s) &Recently Opened RectangleEditor Coin supérieur gauche : Top left corner: Dimensions : Size: Largeur : Width: Hauteur : Height: abscisse abscissa ordonnée ordinate largeur width hauteur height StyleEditor Antialiasing Antialiasing Trait : Line: Couleur : Color: Style : Style: Épaisseur : Weight: Remplissage : Filling: Noir element part color Black Blanc element part color White Normal element part line style Normal Pointillé element part line style Dashed Nulle element part weight None Fine element part weight Thin Normale element part weight Normal Aucun element part filling None Noir element part filling Black Blanc element part filling White TerminalEditor Nord North Est East Sud South Ouest West Position : Position: x : x: y : y: Orientation : Orientation: abscisse abscissa ordonnée ordinate orientation orientation TextEditor Position : Position: x : x: y : y: Taille : Size: Texte : Text: abscisse abscissa ordonnée ordinate taille size contenu content TextFieldEditor Maintenir horizontal malgré les rotations de l'élément Stay horizontal despite element rotations Position : Position: x : x: y : y: Taille : Size: Texte par défaut : Default text: abscisse abscissa ordonnée ordinate taille size propriété property contenu content qelectrotech-0.22+svn897/lang/qet_cs.ts0000644000175000017500000061312311346742300017654 0ustar laurentlaurent AboutQET Ce programme est sous licence GNU/GPL. Tento program je pod licencí GNU/GPL. Idée originale Původní myšlenka Programmation Programování QElectroTech, une application de réalisation de schémas électriques. QElectroTech, aplikace pro navrhování elektrických nákresů. © 2006-2010 Les développeurs de QElectroTech © 2006-2010 Vývojáři QElectroTechu À propos de QElectrotech window title O programu QElectroTech À &propos tab title &O A&uteurs tab title &Autoři &Traducteurs tab title &Překladatelé &Contributeurs tab title &Přispěvatelé &Accord de licence tab title &Souhlas s licencí Traduction en espagnol Překlad do španělštiny Traduction en russe Překlad do ruštiny Traduction en portugais Překlad do portugalštiny Traduction en tchèque Překlad do češtiny Paquets Fedora Balíčky pro Fedoru Paquets Mandriva Balíčky pro Mandrivu Paquets Debian Balíčky pro Debian Icônes Ikony ArcEditor Centre : Střed: Diamètres : Průměry: horizontal : vodorovný: vertical : svislý: Angle de départ : Počáteční úhel: Angle : Úhel: abscisse x-ová souřadnice (abscisa) ordonnée y-ová souřadnice (pořadnice, ordináta) diamètre horizontal vodorovný průměr diamètre vertical svislý průměr angle de départ počáteční úhel angle úhel BorderInset Auteur : %1 inset content Autor: %1 Date : %1 inset content Datum: %1 Fichier : %1 inset content Soubor: %1 Folio : %1 inset content Dvojlist: %1 BorderPropertiesWidget Dimensions du schéma Velikost nákresu Colonnes : Sloupce: Afficher les en-têtes Zobrazit záhlaví Lignes : Řádky: × multiplication symbol × px unit for cols width px px unit for rows height px CircleEditor Centre : Střed: Diamètre : Průměr: abscisse x-ová souřadnice (abscisa) ordonnée y-ová souřadnice (pořadnice, ordináta) diamètre průměr ConductorPropertiesWidget Type de conducteur Typ vodiče Multifilaire Několik vedení Texte : Text: Unifilaire Jednoduché vedení phase fáze terre uzemnění neutre nulový Apparence du conducteur Vzhled vodiče Couleur : Barva: Trait en pointillés Čárkovaná čára Simple Jednoduchý ConfigDialog Configurer QElectroTech window title Nastavit QElectroTech DiagramPrintDialog Options d'impression window title Volby pro tisk Quel type d'impression désirez-vous effectuer ? Který druh tisku si přejete? Impression sur une imprimante physique Print type choice Tisk na fyzické tiskárně Impression vers un fichier au format PDF Print type choice Tisk do souboru PDF Impression vers un fichier au format PostScript (PS) Print type choice Tisk do souboru PostScript (PS) Choix du type d'impression Výběr druhu tisku Fichier manquant message box title Chybějící soubor Vous devez indiquer le chemin du fichier PDF/PS à créer. message box content Musíte zadat cestu pro vytvoření souboru PDF/PS. Fichiers PDF (*.pdf) file filter Soubory PDF (*.pdf) Fichiers PostScript (*.ps) file filter Soubory PostScript (*.ps) DiagramView Schéma sans titre Nákres bez názvu Coller ici context menu action Vložit zde Schéma %1 %1 is a diagram title Nákres %1 Propriétés du schéma window title Vlastnosti nákresu Propriétés de la sélection Vlastnosti výběru La sélection contient %1. %1 is a sentence listing the selected objects Výběr obsahuje %1. Élément manquant Chybějící prvek Élément Prvek Nom : %1 Název: %1 Position : %1 Poloha: %1 Dimensions : %1×%2 Velikost: %1×%2 Bornes : %1 Zakončení: %1 Connexions internes : %1 Vnitřní spojení: %1 Autorisées Povoleno Interdites Zakázáno Champs de texte : %1 Textová pole: %1 Emplacement : %1 Umístění: %1 Propriétés de l'élément sélectionné Vlastnosti vybraného prvku Retrouver dans le panel Najít v panelu Éditer l'élément Upravit prvek Éditer les propriétés d'un conducteur window title Upravit vlastnosti vodiče Éditer les propriétés par défaut des conducteurs window title Upravit výchozí vlastnosti vodiče DiagramsChooser Schéma sans titre Nákres bez názvu ElementDefinition L'élément cible n'a pu être créé. Cílový prvek se nepodařilo vytvořit. La suppression de cet élément a échoué. Prvek se nepodařilo smazat. ElementDeleter Supprimer l'élément ? message box title Smazat prvek? Êtes-vous sûr de vouloir supprimer cet élément ? message box content Opravdu chcete smazat tento prvek? Suppression de l'élément message box title Maže se prvek La suppression de l'élément a échoué. message box content Prvek se nepodařilo smazat. ElementDialog Nom : Název: Ouvrir un élément dialog title Otevřít prvek Choisissez l'élément que vous souhaitez ouvrir. dialog content Vyberte prvek, který si přejete otevřít. Enregistrer un élément dialog title Uložit prvek Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Vyberte prvek, do kterého si přejete uložit své vymezení. Ouvrir une catégorie dialog title Otevřít skupinu Choisissez une catégorie. dialog content Vyberte skupinu. Enregistrer une catégorie dialog title Uložit skupinu Pas de sélection message box title Žádný výběr Vous devez sélectionner un élément. message box content Musíte vybrat prvek. Sélection inexistante message box title Neexistující výběr La sélection n'existe pas. message box content Výběr neexistuje. Sélection incorrecte message box title Nesprávný výběr La sélection n'est pas un élément. message box content Výběr není prvkem. Vous devez sélectionner une catégorie ou un élément. message box content Musíte vybrat skupinu nebo prvek. Nom manquant message box title Vyžadován název Vous devez entrer un nom pour l'élément message box content Musíte zadat název pro prvek Nom invalide message box title Neplatný název Vous ne pouvez pas utiliser les caractères suivants dans le nom de l'élément : %1 V názvu prvku nemůžete použít následující znaky: %1 Écraser l'élément ? message box title Přepsat prvek? L'élément existe déjà. Voulez-vous l'écraser ? message box content Prvek již existuje. Chcete jej přepsat? ElementScene ligne čára ellipse elipsa arc oblouk cercle kruh borne zakončení texte text champ de texte textové pole polygone mnohoúhelník L'orientation par défaut est l'orientation dans laquelle s'effectue la création de l'élément. Výchozí natočení je natočením, ve kterém se uskuteční vytvoření prvku. Éditer les informations sur l'auteur window title Upravit údaje o autorovi Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Toto pole můžete použít volně, abyste zmínil autory prvku, jeho licenci, nebo jakékoli další sdělení, které byste považoval za užitečné. Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Název prvku můžete zadat v několika jazycích. Autoriser les connexions internes Povolit vnitřní spojení Ce document XML n'est pas une définition d'élément. error message Tento XML dokument není vymezením prvku. Les dimensions ou le point de saisie ne sont pas valides. error message Velikost nebo horká půda nejsou platné. Les orientations ne sont pas valides. error message Natočení nejsou platná. Éditer la taille et le point de saisie window title Upravit velikost nebo horkou půdu Éditer les orientations window title Upravit natočení Éditer les noms window title Upravit názvy rectangle obdélník ElementsCategoriesList Collection utilisateur Uživatelova sbírka Collection QET Sbírka QET Collection projet Sbírka k projektu ElementsCategoriesWidget Éditer la catégorie Upravit skupinu Nouvelle catégorie Nová skupina Recharger les catégories Znovu nahrát skupiny Supprimer la catégorie Smazat skupinu ElementsCategory La copie d'une catégorie vers elle-même ou vers l'une de ses sous-catégories n'est pas gérée. Kopírování skupiny do sebe samé nebo do jedné z jejích podskupin není řešeno. Il n'est pas possible de déplacer une collection. Sbírku nelze přesunout. Le déplacement d'une catégorie dans une de ses sous-catégories n'est pas possible. Přesun skupiny do jedné z jejích podskupin není možný. La suppression de cette catégorie a échoué. Smazání této skupiny se nezdařilo. Impossible de supprimer l'élément Prvek nelze smazat Impossible de supprimer la catégorie Skupinu nelze smazat ElementsCategoryDeleter Vider la collection ? message box title Vyprázdnit sbírku? Êtes-vous sûr de vouloir vider cette collection ? message box content Opravdu tuto sbírku chcete vyprázdnit? Supprimer la catégorie ? message box title Smazat skupinu? Êtes-vous sûr de vouloir supprimer la catégorie ? Tous les éléments et les catégories contenus dans cette catégorie seront supprimés. message box content Opravdu tuto skupinu chcete smazat? Všechny prvky a skupiny obsažené v této skupině budou smazány. Êtes-vous vraiment sûr de vouloir supprimer cette catégorie ? Les changements seront définitifs. message box content Opravdu tuto skupinu chcete smazat? Provedené změny budou konečné. Suppression de la catégorie message box title Smazání skupiny La suppression de la catégorie a échoué. message box content Smazání skupiny se nezdařilo. ElementsCategoryEditor Vous pouvez spécifier un nom par langue pour la catégorie. Pro skupinu můžete zadat název na jazyk. Nom interne : Vnitřní název: Catégorie inexistante message box title Neexistující skupina La catégorie demandée n'existe pas. Abandon. message box content Požadovaná skupina neexistuje. Konec. Éditer une catégorie window title Upravit skupinu Créer une nouvelle catégorie window title Přidat novou skupinu Nom de la nouvelle catégorie default name when creating a new category Název nové skupiny Édition en lecture seule message box title Vydání pouze pro čtení Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Nemáte potřebná oprávnění, abyste mohl upravit tuto skupinu. Bude tedy otevřena pouze pro čtení. Nom interne manquant message box title Chybí vnitřní název Vous devez spécifier un nom interne. message box content Musíte určit vnitřní název. Nom interne déjà utilisé message box title Vnitřní název se již používá Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Vnitřní název, který jste zvolil, se již používá jinou skupinou. Vyberte, prosím, jiný. Erreur message box title Chyba Impossible de créer la catégorie message box content Skupinu nelze vytvořit Impossible d'enregistrer la catégorie message box content Skupinu nelze uložit ElementsCollection Il n'est pas possible de déplacer une collection. Sbírku nelze přesunout. ElementsPanel Ceci est un élément que vous pouvez insérer dans votre schéma par cliquer-déplacer Toto je prvek, který můžete vložit do svého nákresu tím, že jej přetáhnete a upustíte Cliquer-déposez cet élément sur le schéma pour insérer un élément Táhněte a upusťte tento prvek nad nákresem, abyste vložil prvek Collection QET Sbírka QET Collection utilisateur Uživatelova sbírka Collection projet Sbírka k projektu Schéma sans titre Nákres bez názvu %1 [non utilisé dans le projet] %1 [v projektu nepoužívaný] Pas de fichier tooltip for a file-less project in the element panel Žádný soubor ElementsPanelWidget Nouvel élément Nový prvek Recharger les collections Znovu nahrát sbírky Nouvelle catégorie Nová skupina Éditer la catégorie Upravit skupinu Supprimer la catégorie Smazat skupinu Importer un élément Zavést prvek Éditer l'élément Upravit prvek Supprimer l'élément Smazat prvek Remonter ce schéma Vynést tento nákres nahoru Abaisser ce schéma Spustit tento nákres dolů Vous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catégories. Použijte tohoto správce pro přidání, smazání nebo úpravu skupin. Filtrer : Filtr: Effacer le filtre Vymazat filtr Vider la collection Vyprázdnit sbírku Fermer ce projet Zavřít tento projekt Ajouter un schéma Přidat nákres Supprimer ce schéma Smazat tento nákres Propriétés du projet Vlastnosti projektu Déplacer dans cette catégorie Přesunout do této skupiny Copier dans cette catégorie Kopírovat do této skupiny Annuler Zpět Gestionnaire de catégories window title Správce skupin Propriétés du schéma Vlastnosti nákresu EllipseEditor Centre : Střed: Diamètres : Průměry: horizontal : vodorovný: vertical : svislý: abscisse x-ová souřadnice (abscisa) ordonnée y-ová souřadnice (pořadnice, ordináta) diamètre horizontal vodorovný průměr diamètre vertical svislý průměr ExportConfigPage Export configuration page title Vyvést ExportDialog Aperçu Náhled Dimensions Velikost Impossible d'écrire dans ce fichier message box title Do tohoto souboru nelze zapisovat Exporter les schémas du projet window title Vyvést nákresy k projektu Exporter Vyvést Choisissez les schémas que vous désirez exporter ainsi que leurs dimensions : Vyberte nákresy, které chcete vyvést, a zvolte jejich velikost: Schéma Nákres Nom de fichier Název pro soubor Vous devez entrer un nom de fichier non vide et unique pour chaque schéma à exporter. message box content Musíte zadat název souboru, který bude jedinečný pro každý nákres, který bude vyveden. Noms des fichiers cibles message box title Názvy cílových souborů Dossier non spécifié message box title Není určen adresář Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Musíte určit cestu k adresáři, do kterého budou uloženy soubory obrázků. Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Zdá se, že nemáte nutná oprávnění pro zápis souboru %1. ExportDialog::ExportDiagramLine px px ExportPropertiesWidget Exporter dans le dossier dialog title Vyvést do adresáře Dossier cible : Cílový adresář: Parcourir Procházet Format : Formát: PNG (*.png) PNG (*.png) JPEG (*.jpg) JPEG (*.jpg) Bitmap (*.bmp) Bitmapa (*.bmp) SVG (*.svg) SVG (*.svg) Options de rendu groupbox title Volby znázornění Exporter le cadre Vyvést okraj Exporter les éléments Vyvést prvky Dessiner la grille Nakreslit mřížku Dessiner le cadre Nakreslit okraj Dessiner le cartouche Nakreslit vložený rámeček Dessiner les bornes Nakreslit zakončení Conserver les couleurs des conducteurs Zachovat barvy vodičů GeneralConfigurationPage Apparence Vzhled Utiliser les couleurs du système Používat systémové barvy Projets Projekty Utiliser des fenêtres Používat okna Utiliser des onglets Používat karty Ces paramètres s'appliqueront dès la prochaine ouverture d'un éditeur de schémas. Tato nastavení budou použita při příštím otevření editoru nákresů. Gestion des éléments Správa prvků Intégrer automatiquement les éléments dans les projets (recommandé) Prvky začlenit do projektů automaticky (doporučeno) Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Každý prvek obsahuje údaje o svých autorech, své licenci nebo jakékoli další sdělení, které byste považoval za užitečné ve volném poli. Zde můžete zadat výchozí hodnotu tohoto pole pro prvky, které vytvoříte: Général configuration page title Obecné GhostElement <u>Élément manquant :</u> %1 <u>Chybí prvek:</u> %1 HotspotEditor ×10 px ×10 px px px Déplacer l'élément avec le hotspot Přeložit prvek podél s horkou půdou <span style="text-decoration:underline;">Dimensions</span> <span style="text-decoration:underline;">Velikost</span> Largeur : Šířka: Hauteur : Výška: <span style="text-decoration:underline;">Hotspot</span> <span style="text-decoration:underline;">Horká půda</span> Abscisse : X-ová souřadnice (abscisa): Ordonnée : Y-ová souřadnice (pořadnice, ordináta): L'élément doit être assez grand pour contenir tout sa représentation graphique. Prvek musí být velký dost na to, aby obsahoval celé své obrazové znázornění. InsetPropertiesWidget Informations du cartouche Vlastnosti vloženého rámečku Pas de date Žádné datum Date courante Nynější datum Date fixe : Pevné datum: Titre : Název: Auteur : Autor: Date : Datum: Fichier : Soubor: Folio : Dvojlist: Les variables suivantes sont utilisables dans le champ Folio : - %id : numéro du schéma courant dans le projet - %total : nombre total de schémas dans le projet Následující proměnné se dají použít v poli pro dvojlist: - %id: průběžné číslo nákresu v projektu - %total: celkový počet nákresů v projektu IntegrationMoveElementsHandler L'élément a déjà été intégré dans le projet. Toutefois, la version que vous tentez de poser semble différente. Que souhaitez-vous faire ? dialog content - %1 is an element's path name Prvek již byl začleněn do projektu. Nicméně se zdá, že verze, kterou hodláte upustit, je jiná. Co si přejete, aby se udělalo? Utiliser l'élément déjà intégré dialog content Použít již začleněný prvek Intégrer l'élément déposé dialog content Začlenit upuštěný prvek Écraser l'élément déjà intégré dialog content Vymazat již začleněný prvek Faire cohabiter les deux éléments dialog content Nechat oba dva prvky žít vedle sebe Intégration d'un élément Začlenění prvku InteractiveMoveElementsHandler Renommer Přejmenovat Écraser Vymazat Écraser tout Vymazat vše Ignorer Přehlížet Ignorer tout Přehlížet vše Annuler Zpět Copie de %1 vers %2 dialog title Kopírovat z %1 do %2 La catégorie « %1 » (%2) existe déjà. Que souhaitez-vous faire ? dialog content Skupina "%1" (%2) již existuje. Co chcete dělat? L'élément « %1 » existe déjà. Que souhaitez-vous faire ? dialog content Prvek "%1" již existuje. Co chcete dělat? La catégorie %1 n'est pas accessible en lecture. message box content Skupina %1 není čitelná. L'élément %1 n'est pas accessible en lecture. message box content Prvek %1 není čitelný. La catégorie %1 n'est pas accessible en écriture. message box content Skupina %1 není zapisovatelná. L'élément %1 n'est pas accessible en écriture. message box content Prvek %1 není zapisovatelný. Erreur message box title Chyba LineEditor abscisse point 1 bod na x-ové souřadnici 1 ordonnée point 1 bod na y-ové souřadnici 1 abscisse point 2 bod na x-ové souřadnici 2 ordonnée point 2 bod na y-ové souřadnici 2 Fin 1 Konec 1 Fin 2 Konec 2 type fin 1 typ konce 1 longueur fin 1 délka konce 1 type fin 2 typ konce 2 longueur fin 2 délka konce 2 Normale type of the 1st end of a line Obvyklý Flèche simple type of the 1st end of a line Jednoduchá šipka Flèche triangulaire type of the 1st end of a line Trojúhelníková šipka Cercle type of the 1st end of a line Kruh Carré type of the 1st end of a line Kosočtverec Normale type of the 2nd end of a line Obvyklý Flèche simple type of the 2nd end of a line Jednoduchá šipka Flèche triangulaire type of the 2nd end of a line Trojúhelníková šipka Cercle type of the 2nd end of a line Kruh Carré type of the 2nd end of a line Kosočtverec NamesListWidget Langue Jazyk Nom Název Ajouter une ligne Přidat řádek Il doit y avoir au moins un nom. message box title Musí tu být alespoň jeden název. Vous devez entrer au moins un nom. message box content Musíte zadat alespoň jeden název. NewDiagramPage Nouveau schéma configuration page title Nový nákres NewElementWizard Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. Nemusíte zadat příponu *.elmt. Bude přidána automaticky. nouvel_element nový_prvek &Suivant > &Další > Créer un nouvel élément : Assistant window title Vytvořit nový prvek: Pomocník Étape 1/5 : Catégorie parente wizard page title Krok 1 z 5: Rodičovská skupina Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. wizard page subtitle Vyberte skupinu, do které se má uložit nový prvek. Étape 2/5 : Nom du fichier wizard page title Krok 2 z 5: Název souboru Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. wizard page subtitle Zadejte souborový název nového prvku. Étape 3/5 : Noms de l'élément wizard page title Krok 3 z 5: Názvy prvku Indiquez le ou les noms de l'élément. wizard page subtitle Zadejte jeden nebo více názvů pro prvek. Nom du nouvel élément default name when creating a new element Nový název prvku Étape 4/5 : Dimensions et point de saisie wizard page title Krok 4 z 5: Velikost a horká půda Saisissez les dimensions du nouvel élément ainsi que la position du hotspot (point de saisie de l'élément à la souris) en considérant que l'élément est dans son orientation par défaut. wizard page subtitle Zadejte novou velikost nového prvku a polohu jeho horké půdy, za předpokladu, že prvek je ve výchozím natočení. Étape 5/5 : Orientations wizard page title Krok 5 z 5: Natočení Indiquez les orientations possibles pour le nouvel élément. wizard page subtitle Zadejte povolená a zakázaná natočení nového prvku. Erreur message box title Chyba Vous devez sélectionner une catégorie. message box content Musíte vybrat skupinu. Vous devez entrer un nom de fichier message box content Musíte zadat název souboru Merci de ne pas utiliser les caractères suivants : \ / : * ? " < > | message box content Nepoužívejte, prosím, následující znaky: \ / : * ? < > | OrientationSetWidget Possible Povoleno Impossible Zakázáno Nord : Sever: Est : Východ: Sud : Jih: Ouest : Západ: Par défaut Výchozí PolygonEditor Polygone fermé Uzavřený mnohoúhelník x x y y Points du polygone : Body mnohoúhelníku: fermeture du polygone Uzavření mnohoúhelníku Erreur message box title Chyba Le polygone doit comporter au moins deux points. message box content Mnohoúhelník musí obsahovat alespoň dva body. PrintConfigPage Impression configuration page title Tisk ProjectView Ce projet ne contient aucun schéma Tento projekt neobsahuje žádný nákres Titre du projet : Název projektu: Supprimer les éléments inutilisés dans le projet Smazat v projektu nepoužívané prvky Supprimer les catégories vides Smazat prázdné skupiny Enregistrer le schéma en cours ? message box title Uložit nynější nákres? Voulez-vous enregistrer le schéma %1 ? message box content - %1 is a diagram title Chcete uložit nákres %1? Enregistrer le nouveau schéma ? message box title Uložit nový nákres? Ce schéma a été ajouté mais n'a été ni modifié ni enregistré. Voulez-vous le conserver ? message box content Tento nákres byl přidán, ale nebyl změněn ani uložen. Chcete jej zachovat? Supprimer le schéma ? message box title Smazat nákres? Êtes-vous sûr de vouloir supprimer ce schéma du projet ? Ce changement est irréversible. message box content Opravdu chcete tento nákres vymazat z projektu? Jde o nevratnou změnu. Propriétés du projet window title Vlastnosti projektu Projet en lecture seule message box title Projekt pouze pro čtení Ce projet est en lecture seule. Il n'est donc pas possible de le nettoyer. message box content Tento projekt je pouze pro čtení. Proto jej nelze vyčistit. Nettoyer le projet window title Vyčistit projekt Enregistrer sous dialog title Uložit jako Schéma QElectroTech (*.qet) filetypes allowed when saving a diagram file Nákres QElectroTech (*.qet) Projet window title for a project-less ProjectView Projekt Enregistrer le projet en cours ? message box title Uložit nynější projekt? Voulez-vous enregistrer le projet ? message box content Chcete uložit projekt? projet string used to generate a filename projekt Propriétés à utiliser lors de l'ajout d'un nouveau schéma au projet : Vlastnosti používané při přidání nového nákresu do projektu: QETApp &Quitter &Ukončit &Masquer &Skrýt &Restaurer &Ukázat &Masquer tous les éditeurs de schéma &Skrýt všechny editory nákresů &Restaurer tous les éditeurs de schéma &Ukázat všechny editory nákresů &Masquer tous les éditeurs d'élément &Skrýt všechny editory prvků &Restaurer tous les éditeurs d'élément &Ukázat všechny editory prvků &Nouvel éditeur de schéma &Nový editor nákresu &Nouvel éditeur d'élément &Nový editor prvku Ferme l'application QElectroTech Uzavřít QElectroTech Réduire QElectroTech dans le systray Zmenší QElectroTech do systémové oblasti panelu Restaurer QElectroTech Ukázat QElectroTech Éditeurs de schémas Editory nákresu Éditeurs d'élément Editory prvků Usage : Použití: QElectroTech, une application de réalisation de schémas électriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QElectroTech, aplikace pro navrhování elektrických obvodů. Dostupné volby: --help Zobrazit nápovědu -v, --version Zobrazit verzi --license Zobrazit licenci [options] [fichier]... [volby] [soubor]... --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Stanovit adresář pro sbírku s prvky --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Stanovit adresář s nastavením --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Stanovit adresář s jazykovými soubory Chargement... Éditeur de schémas splash screen caption Nahrává se... Editor nákresů Chargement... Ouverture des fichiers splash screen caption Nahrává se... Otevření souborů Chargement... splash screen caption Nahrává se... Chargement... icône du systray splash screen caption Nahrává se... Ikona v systémové oblasti panelu QElectroTech systray menu title QElectroTech QElectroTech systray icon tooltip QElectroTech QETDiagramEditor Afficha&ge &Zobrazení Affiche ou non le panel d'appareils Zobrazí/nezobrazí panel s prvky Afficher Zobrazit &Aide &Nápověda Ajouter une colonne Přidat sloupec À &propos de QElectroTech &O QElectroTechu À propos de &Qt O &Qt &Cascade &Překrývat C&oller &Vložit &Configuration N&astavení &Configurer QElectroTech &Nastavit QElectroTech Cop&ier &Kopírovat Co&uper &Vyjmout Ctrl+0 Ctrl+0 Ctrl+9 Ctrl+9 Ctrl+I Ctrl+I Ctrl+Q Ctrl+Q Ctrl+Shift+A Ctrl+Shift+A Ctrl+Shift+F Ctrl+Shift+F Ctrl+Shift+I Ctrl+Shift+I Ctrl+Shift+X Ctrl+Shift+X Désélectionner tout Zrušit výběr &Édition &Úpravy Enlever une colonne Odstranit sloupec &Enregistrer &Uložit Enregistrer sous Uložit jako E&xporter &Vyvést Fe&nêtres &Okna &Fermer &Zavřít &Fichier &Soubor &Importer &Zavést Imprimer Tisk Inverser la sélection Obrátit výběr Mode Selection Režim výběru Mode Visualisation Režim zobrazení &Mosaïque Klást jedno &vedle druhého &Nouveau &Nový Outils Nástroje &Ouvrir &Otevřít Ouvrir un fichier Otevřít soubor Pas de zoom Bez přiblížení Passer en &mode plein écran &Režim na celou obrazovku Pivoter Otočit &Quitter &Ukončit Schémas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Nákresy QElectroTech (*.qet);;Soubory XML (*.xml);;Všechny soubory (*) Sortir du &mode plein écran Ukončit režim &na celou obrazovku Supprimer Smazat Tout sélectionner Vybrat vše Zoom adapté Přizpůsobit přiblížení Zoom arrière Oddálit Zoom avant Přiblížit Annuler Zpět Refaire Znovu Réinitialiser les conducteurs Nastavit znovu vodiče Ctrl+J Ctrl+J Ctrl+K Ctrl+K Propriétés du schéma Vlastnosti nákresu Ctrl+L Ctrl+L Affiche ou non la barre d'outils principale Zobrazit/skrýt hlavní pruh s nástroji Affiche ou non la barre d'outils Affichage Zobrazit/skrýt pruh s nástroji pro zobrazení Affiche ou non la barre d'outils Schéma Zobrazit/skrýt pruh s nástroji pro nákres Affichage Zobrazení Schéma Nákres Conducteurs par défaut Výchozí vodiče Ctrl+D Ctrl+D Ajouter un champ de texte Přidat textové pole Aucune modification Žádná úprava Affiche ou non la liste des modifications Zobrazit/skrýt seznam kroků zpět Ajouter une ligne Přidat čáru Enlever une ligne Odstranit řádek Ajouter un schéma Přidat nákres Supprimer le schéma Smazat nákres Ctrl+T Ctrl+T Édite les propriétés des objets sélectionné status bar tip Upravit vlastnosti vybraného předmětu &Projet &Projekt Impossible d'ouvrir le fichier Soubor nelze otevřít Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Nezdá se, že by byl soubor, který se pokoušíte otevřít, čitelný. A nelze jej otevřít. Zkontrolujte, prosím, oprávnění k souboru. Ouverture du projet en lecture seule Otevření souboru pouze pro čtení Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Zdá se, že projekt, který se pokoušíte otevřít, není zapisovatelný. Bude tedy otevřen pouze pro čtení. en utilisant des onglets používají se karty en utilisant des fenêtres používají se okna Afficher les projets Zobrazit projekty Propriétés du projet Vlastnosti projektu Nettoyer le projet Vyčistit projekt Échec de l'ouverture du projet message box title Projekt nelze otevřít Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Zdá se, že soubor %1 není souborem projektu QElectroTech. Nemůže být tedy otevřen. QElectroTech window title QElectroTech QElectroTech status bar message QElectroTech Panel d'éléments dock title Panel s prvky Annulations dock title Zpět Propriétés de la sélection Vlastnosti výběru Backspace Backspace Space Mezerník Crée un nouveau schéma status bar tip Vytvoří nový nákres Ouvre un schéma existant status bar tip Otevře existující nákres Ferme le schéma courant status bar tip Zavře nynější nákres Enregistre le schéma courant status bar tip Uloží nynější nákres Enregistre le schéma courant avec un autre nom de fichier status bar tip Uloží nynější nákres pod jiným souborovým názvem Importe un schéma dans le schéma courant status bar tip Zavede nákres do nynějšího nákresu Exporte le schéma courant dans un autre format status bar tip Vyvede nynější nákres do jiného formátu Imprime le schéma courant status bar tip Vytiskne nynější nákres Ferme l'application QElectroTech status bar tip Zavře aplikaci QElectroTech Annule l'action précédente status bar tip Vrátí předchozí krok zpět Restaure l'action annulée status bar tip Znovu zavede krok vrácený zpět Transfère les éléments sélectionnés dans le presse-papier status bar tip Přenese vybrané prvky do schránky Copie les éléments sélectionnés dans le presse-papier status bar tip Zkopíruje vybrané prvky do schránky Place les éléments du presse-papier sur le schéma status bar tip Vloží prvky ze schránky do nákresu Sélectionne tous les éléments du schéma status bar tip Vybere všechny prvky v nákresu Désélectionne tous les éléments du schéma status bar tip Zruší výběr všech prvků v nákresu Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Zruší výběr vybraných prvků a vybere nevybrané prvky Enlève les éléments sélectionnés du schéma status bar tip Odstraní vybrané prvky z nákresu Pivote les éléments sélectionnés status bar tip Otočí vybrané prvky Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Nastaví znovu cesty vodičů bez ohledu na uživatelem provedené změny Spécifie les propriétés par défaut des conducteurs status bar tip Stanoví výchozí vlastnosti vodičů Édite les informations affichées par le cartouche status bar tip Upraví informace zobrazené ve vloženém rámečku Ajoute une colonne au schéma status bar tip Přidat sloupec do nákresu Enlève une colonne au schéma status bar tip Odstranit sloupec z nákresu Agrandit le schéma en hauteur status bar tip Zvětší výšku nákresu Rétrécit le schéma en hauteur status bar tip Zmenší výšku nákresu Agrandit le schéma status bar tip Zvětší nákres Rétrécit le schéma status bar tip Zmenší nákres Adapte la taille du schéma afin qu'il soit entièrement visible status bar tip Přizpůsobí velikost nákresu, takže bude zcela viditelný Restaure le zoom par défaut status bar tip Obnoví výchozí úroveň přiblížení Présente les différents projets ouverts dans des sous-fenêtres status bar tip Ukáže různé otevřené projekty v podoknech Présente les différents projets ouverts des onglets status bar tip Ukáže různé otevřené projekty v kartách Permet de sélectionner les éléments status bar tip Dovolí výběr prvků Permet de visualiser le schéma sans pouvoir le modifier status bar tip Dovolí zobrazení nákresu bez možnosti jej upravit Affiche QElectroTech en mode plein écran status bar tip Zobrazí QElectroTech v režimu na celou obrazovku Impossible de retrouver cet élément dans le panel car il semble édité dans une autre fenêtre Tento prvek nelze najít v panelu, protože je, jak se zdá, upravován v jiném okně Impossible de retrouver cet élément dans le panel... rechargement du panel... Tento prvek nelze najít v panelu... panel se znovu nahrává... Impossible de retrouver cet élément dans le panel Tento prvek nelze najít v panelu Affiche QElectroTech en mode fenêtré status bar tip Zobrazí QElectroTech v okenním režimu Permet de régler différents paramètres de QElectroTech status bar tip Umožní pro QElectroTech stanovit různé parametry Dispose les fenêtres en mosaïque status bar tip Uspořádá okna tím způsobem, že je položí vedle sebe Dispose les fenêtres en cascade status bar tip Uspořádá okna tím způsobem, že je položí v kaskádě pod sebe Affiche des informations sur QElectroTech status bar tip Zobrazí informace o QElectroTechu Affiche des informations sur la bibliothèque Qt status bar tip Zobrazí informace o knihovně Qt &Enregistrer tous les schémas &Uložit všechny nákresy Enregistre tous les schémas du projet courant status bar tip Uloží všechny nákresy nynějšího projektu Projet suivant Další projekt Projet précédent Předchozí projekt Active le projet suivant status bar tip Spustí další projekt Active le projet précédent status bar tip Spustí předchozí projekt Active le projet « %1 » Spouští projekt "%1" QETElementEditor &Nouveau &Nový &Ouvrir &Otevřít &Enregistrer &Uložit Enregistrer sous Uložit jako &Quitter &Ukončit Tout sélectionner Vybrat vše Désélectionner tout Zrušit výběr Inverser la sélection Obrátit výběr &Supprimer &Smazat Éditer la taille et le point de saisie Upravit velikost a horkou půdu Éditer les noms Upravit názvy Éditer les orientations Upravit natočení Déplacer un objet Přesunout předmět Ajouter une ligne Přidat čáru Ajouter une ellipse Přidat elipsu Ajouter un cercle Přidat kruh Ajouter un polygone Přidat mnohoúhelník Ajouter du texte Přidat text Ajouter un arc de cercle Přidat oblouk kruhu Ajouter une borne Přidat zakončení Ajouter un champ de texte Přidat textové pole Annuler Zpět Refaire Znovu Ctrl+Q Ctrl+Q Ctrl+Shift+A Ctrl+Shift+A Ctrl+I Ctrl+I Afficher Zobrazit La vérification de cet élément a généré %n avertissement(s) : message box content Ověření tohoto prvku vytvořilo varování: Ověření tohoto prvku vytvořilo %n varování: Ověření tohoto prvku vytvořilo %n varování: <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 Ctrl+E Ctrl+E Ctrl+R Ctrl+R Ctrl+T Ctrl+T Rapprocher Zvýšit Éloigner Snížit Envoyer au fond Přesunout dozadu Amener au premier plan Přesunout dopředu Ctrl+Shift+Up Ctrl+Shift+Up Ctrl+Shift+Down Ctrl+Shift+Down Ctrl+Shift+End Ctrl+Shift+End Ctrl+Shift+Home Ctrl+Shift+Home Aucune modification Žádná úprava Recharger Nahrát znovu Zoom avant Přiblížit Zoom arrière Oddálit Zoom adapté Přizpůsobit přiblížení Pas de zoom Bez přiblížení Ctrl+9 Ctrl+9 Ctrl+0 Ctrl+0 &Ouvrir depuis un fichier &Otevřít ze souboru Enregistrer dans un fichier Uložit do souboru Ctrl+Shift+O Ctrl+Shift+O Ctrl+Shift+S Ctrl+Shift+S QElectroTech - Éditeur d'élément window title QElectroTech - Editor prvků un fichier soubor un élément prvek Éditer les informations sur l'auteur Upravit údaje o autorovi &Configurer QElectroTech &Nastavit QElectroTech À &propos de QElectroTech &O QElectroTechu À propos de &Qt O &Qt Permet de régler différents paramètres de QElectroTech status bar tip Umožní pro QElectroTech stanovit různé parametry Affiche des informations sur QElectroTech status bar tip Zobrazí informace o QElectroTechu Affiche des informations sur la bibliothèque Qt status bar tip Zobrazí informace o knihovně Qt Backspace Backspace Ctrl+Shift+F Ctrl+Shift+F Ctrl+Y Ctrl+Y Parties toolbar title Části Outils toolbar title Nástroje Affichage toolbar title Zobrazení Élément toolbar title Prvek Profondeur toolbar title Hloubka &Fichier &Soubor &Édition &Úpravy Afficha&ge &Zobrazení O&utils Ná&stroje &Configuration N&astavení &Aide &Nápověda Coller depuis... Vložit z... Sortir du &mode plein écran Ukončit režim &na celou obrazovku Affiche QElectroTech en mode fenêtré status bar tip Zobrazí QElectroTech v okenním režimu Passer en &mode plein écran &Režim na celou obrazovku Affiche QElectroTech en mode plein écran status bar tip Zobrazí QElectroTech v režimu na celou obrazovku [Modifié] window title tag [Změněno] [lecture seule] window title tag [Pouze pro čtení] Informations dock title Informace Annulations dock title Zpět Parties dock title Části Éditeur d'éléments status bar message Editor prvků %n partie(s) sélectionnée(s). jedna vybraná část. %n vybrané části. %n vybrané části. Dimensions de l'élément warning title Velikost prvku Certaines parties graphiques (textes, cercles, lignes...) semblent déborder du cadre de l'élément. Cela risque de générer des bugs graphiques lors de leur manipulation sur un schéma. Vous pouvez corriger cela soit en déplaçant ces parties, soit en vous rendant dans Édition > Éditer la taille et le point de saisie. warning description Některé obrazové části (texty, kruhy, čáry, ...) se zdají být mimo okna. Takto mohou vznikat chyby v zobrazení, když je prvek přesunut na nákres. Spravit to můžete tím, že tyto části přesunete, nebo tím, že použijete Úpravy > Upravit velikost a horkou půdu. Absence de borne warning title Chybí zakončení L'élément ne comporte aucune borne. Un élément doit comporter des bornes afin de pouvoir étre relié à d'autres éléments par l'intermédiaire de conducteurs. warning description Prvek neobsahuje žádné zakončení. Prvek musí mít zakončení, aby mohl být spojen s dalšími prvky prostřednictvím vodičů. Avertissements messagebox title Varování Le fichier %1 n'existe pas. message box content Soubor %1 neexistuje. Impossible d'ouvrir le fichier %1. message box content Soubor nelze otevřít %1. Ce fichier n'est pas un document XML valide message box content Tento soubor není platným dokumentem XML Erreur toolbar title Chyba Édition en lecture seule message box title Vydání pouze pro čtení Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Nemáte potřebná oprávnění, abyste mohl upravit tento prvek. Bude tedy otevřen pouze pro čtení. Erreur message box title Chyba Impossible d'écrire dans ce fichier message box content Do tohoto souboru nelze zapisovat Impossible d'atteindre l'élément message box content Prvku nelze dosáhnout Impossible d'enregistrer l'élément message box content Prvek nelze uložit Trop de primitives, liste non générée. Příliš jednoduché. Seznam nebyl vytvořen. Ouvrir un fichier dialog title Otevřít soubor Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Prvky QElectroTech (*.elmt);;Soubory XML (*.xml);;Všechny soubory (*) Recharger l'élément dialog title Nahrát znovu prvek Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Tento prvek byl od posledního uložení změněn. Pokud jej znovu nahrajete, tyto změny budou ztraceny. Opravdu chcete tento prvek nahrát znovu? Enregistrer sous dialog title Uložit jako Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Prvky QElectroTech (*.elmt) Enregistrer l'élément en cours ? dialog title Uložit nynější prvek? Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Chcete uložit prvek %1? Élément inexistant. message box title Neexistující prvek. L'élément n'existe pas. message box content Prvek neexistuje. Le chemin virtuel choisi ne correspond pas à un élément. message box content Vybraná virtuální cesta neodpovídá prvku. Maintenez la touche Shift enfoncée pour effectuer plusieurs ajouts d'affilée Podržte klávesu Shift pro přidání několika částí do řádku Utilisez le bouton droit de la souris pour poser le dernier point du polygone Použijte pravé tlačítko myši pro nastavení posledního bodu mnohoúhelníku Co&uper &Vyjmout Cop&ier &Kopírovat C&oller &Vložit C&oller dans la zone... &Vložit do oblasti... Ctrl+Shift+V Ctrl+Shift+V Ajouter un rectangle Přidat obdélník QETPrintPreviewDialog QElectroTech : Aperçu avant impression QElectroTech: Náhled tisku Schémas à imprimer : Nákresy pro tisk: Tout cocher Zatrhnout vše Tout décocher Zrušit zatrhnutí u všeho Cacher la liste des schémas Skrýt seznam s nákresy Cacher les options d'impression Skrýt volby pro tisk Ajuster la largeur Přizpůsobit šířku Ajuster la page Přizpůsobit stranu Zoom arrière Oddálit Zoom avant Přiblížit Paysage Na šířku Portrait Na výšku Première page První strana Page précédente Předchozí strana Page suivante Další strana Dernière page Poslední strana Afficher une seule page Zobrazit jednu stranu Afficher deux pages Zobrazit dvě strany Afficher un aperçu de toutes les pages Zobrazit náhled na všechny strany Mise en page Rozvržení strany Mise en page (non disponible sous Windows pour l'impression PDF/PS) Rozvržení strany (není dostupné pod Windows pro tisk PDF/PS) Options d'impression Volby pro tisk Utiliser toute la feuille Použít celou stranu Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Je-li zaškrtnuta tato volba, nebude brán zřetel na okraje papíru a celý jeho povrch se využije při tisku. Tuto možnost vaše tiskárna nemusí podporovat. Adapter le schéma à la page Přizpůsobit nákres straně Si cette option est cochée, le schéma sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page. Je-li zaškrtnuta tato volba, nákres bude zmenšen, anebo zvětšen, aby se vešel na tisknutelný povrch jedné strany. Imprimer Tisk Afficher la liste des schémas Zobrazit seznam s nákresy Afficher les options d'impression Zobrazit volby pro tisk %1 % %1% QETProject Impossible de créer la catégorie pour l'intégration des éléments Nelze vytvořit skupinu zaměřenou na začlenění prvků Impossible d'accéder à l'élément a intégrer Nelze přistoupit k prvku k začlenění Un problème s'est produit pendant la copie de la catégorie %1 Během kopírování skupiny se vyskytla chyba %1 Un problème s'est produit pendant la copie de l'élément %1 Během kopírování prvku se vyskytla chyba %1 Avertissement message box title Varování Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue. message box content Zdá se, že tento dokument byl uložen pod starší verzí QElectroTechu. Otevření dokumentmůže selhal zcela nebo částečně. Projet « %1 » displayed title for a ProjectView - %1 is the project title Projekt "%1" Projet %1 displayed title for a title-less project - %1 is the file name Projekt %1 Projet sans titre displayed title for a project-less, file-less project Nepojmenovaný projekt %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [pouze pro čtení] QFileNameEdit Les caractères autorisés sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.] tooltip content when editing a filename Povolenými znaky jsou: - číslice [0-9] - malá písmena [a-z] - čárka [-], podtržítko [_] a tečka [.] QObject Exporter vers le presse-papier Vyvést do schránky Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Nepodařilo se najít text obsahující licenci GNU/GPL - nicméně, znáte ji srdcem, že ano? Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Textový soubor obsahující licenci GNU/GPL existuje, ale nepodařilo se jej otevřít - nicméně, znáte ji srdcem, že ano? Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Varování: prvek byl uložen se starší verzí QElectroTechu. ajouter 1 %1 undo caption - %1 is an element name přidat 1 %1 Ajouter un champ de texte undo caption Přidat textové pole ajouter un conducteur undo caption přidat vodič supprimer %1 undo caption - %1 is a sentence listing the removed content smazat %1 coller %1 undo caption - %1 is a sentence listing the content to paste vložit %1 couper %1 undo caption - %1 is a sentence listing the content to cut vyjmout %1 déplacer %1 undo caption - %1 is a sentence listing the moved content přesunout %1 modifier le texte undo caption upravit text pivoter %1 undo caption - %1 is a sentence listing the rotated content otočit %1 modifier un conducteur undo caption upravit vodič Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Nastavit znovu %1 modifier le cartouche undo caption upravit vložený rámeček modifier les dimensions du schéma undo caption upravit velikost nákresu modifier les propriétés d'un conducteur undo caption upravit vlastnosti vodiče suppression undo caption smazání déplacement undo caption přemístění ajout %1 undo caption vložit %1 modification %1 undo caption úprava %1 modification points polygone undo caption úprava bodů mnohoúhelníka modification dimensions/hotspot undo caption úprava velikosti/horké půdy modification noms undo caption úprava názvů modification orientations undo caption úprava natočení amener au premier plan undo caption přesunout dopředu rapprocher undo caption zvýšit éloigner undo caption snížit envoyer au fond undo caption přesunout dozadu modification connexions internes undo caption úprava vnitřních spojení modification informations complementaires undo caption Úprava doplňkových údajů arc element part name oblouk cercle element part name kruh ellipse element part name elipsa ligne element part name čára polygone element part name mnohoúhelník borne element part name zakončení T default text when adding a text in the element editor T texte element part name text _ default text when adding a textfield in the element editor _ champ de texte element part name textové pole %n élément(s) part of a sentence listing the content of a diagram jeden prvek %n prvky %n prvky , separator between elements and conductors in a sentence listing the content of a diagram , et separator between elements and conductors (or texts) in a sentence listing the content of a diagram a %n conducteur(s) part of a sentence listing the content of a diagram jeden vodič %n vodiče %n vodiče et separator between conductors and texts in a sentence listing the content of a diagram a %n champ(s) de texte part of a sentence listing the content of a diagram jedno textové pole %n textová pole %n textová pole Borne tooltip Zakončení coller vložit couper des parties undo caption vyjmout části rectangle element part name obdélník Schéma sans titre Nákres bez názvu schema nákres Conserver les proportions Zachovat poměr stran Réinitialiser les dimensions Nastavit znovu velikost Aperçu Náhled RecentFiles &Récemment ouvert(s) &Nedávno otevřený(é) RectangleEditor Coin supérieur gauche : Horní levý okraj: Dimensions : Velikost: Largeur : Šířka: Hauteur : Výška: abscisse x-ová souřadnice (abscisa) ordonnée y-ová souřadnice (pořadnice, ordináta) largeur šířka hauteur výška StyleEditor Antialiasing Vyhlazování Trait : Čára: Couleur : Barva: Style : Styl: Épaisseur : Váha: Remplissage : Výplň: Noir element part color Černá Blanc element part color Bílá Normal element part line style Běžná Pointillé element part line style Čárkovaná Nulle element part weight Žádná Fine element part weight Tenká Normale element part weight Běžná Aucun element part filling Žádná Noir element part filling Černá Blanc element part filling Bílá TerminalEditor Nord Sever Est Východ Sud Jih Ouest Západ Position : Poloha: x : x: y : y: Orientation : Natočení: abscisse x-ová souřadnice (abscisa) ordonnée y-ová souřadnice (pořadnice, ordináta) orientation natočení TextEditor Position : Poloha: x : x: y : y: Taille : Velikost: Texte : Text: abscisse x-ová souřadnice (abscisa) ordonnée y-ová souřadnice (pořadnice, ordináta) taille velikost contenu obsah TextFieldEditor Maintenir horizontal malgré les rotations de l'élément Zůstat vodorovně přes otočení prvku Position : Poloha: x : x: y : y: Taille : Velikost: Texte par défaut : Výchozí text: abscisse x-ová souřadnice (abscisa) ordonnée y-ová souřadnice (pořadnice, ordináta) taille velikost propriété vlastnost contenu obsah qelectrotech-0.22+svn897/lang/qt_es.ts0000644000175000017500000105250711343532004017510 0ustar laurentlaurent AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> Revert back to device '%1' CloseButton Close Tab PPDOptionsModel Name Nombre Value Valor Phonon:: Notifications Music Video Communication Games Accessibility Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. A required codec is missing. You need to install the following codec(s) to play this content: %0 Could not open media source. Invalid source type. Could not locate media source. Could not open audio device. The device is already in use. Could not decode media source. Phonon::VolumeSlider Volume: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Q3Accel %1, %2 not defined La secuencia %1, %2 no está definida Ambiguous %1 not handled Secuencia ambigua %1 no tratada Q3DataTable True Verdadero False Falso Insert Insertar Update Actualizar Delete Borrar Q3FileDialog Copy or Move a File Copiar o mover un fichero Read: %1 Lectura: %1 Write: %1 Escritura: %1 Cancel Cancelar All Files (*) Todos los ficheros (*) Name Nombre Size Tamaño Type Tipo Date Fecha Attributes Atributos &OK &Aceptar Look &in: Buscar &en: File &name: &Nombre de fichero: File &type: &Tipo de fichero: Back Precedente (histórico) One directory up Ir al directorio superior Create New Folder Crear una nueva carpeta List View Vista de lista Detail View Vista detallada Preview File Info Información del fichero previsualizado Preview File Contents Contenido del fichero previsualizado Read-write Lectura-escritura Read-only Sólo lectura Write-only Sólo escritura Inaccessible Inaccesible Symlink to File Enlace simbólico a un fichero Symlink to Directory Enlace simbólico a un directorio Symlink to Special Enlace simbólico a un fichero especial File Fichero Dir Directorio Special Fichero especial Open Abrir Save As Guardar como &Open &Abrir &Save &Guardar &Rename Cambia&r de nombre &Delete &Borrar R&eload R&ecargar Sort by &Name Ordenar por &nombre Sort by &Size Ordenar por &tamaño Sort by &Date Ordenar por &fecha &Unsorted &Sin ordenar Sort Ordenar Show &hidden files Mostrar los fic&heros ocultos the file el fichero the directory el directorio the symlink el enlace simbólico Delete %1 Borrar %1 <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>¿Seguro que desea borrar %1 «%2»?</qt> &Yes &Sí &No &No New Folder 1 Nueva carpeta 1 New Folder Nueva carpeta New Folder %1 Nueva carpeta %1 Find Directory Buscar en el directorio Directories Directorios Directory: Directorio: Error Error %1 File not found. Check path and filename. %1 Fichero no encontrado. Compruebe la ruta y el nombre del fichero. All Files (*.*) Todos los ficheros (*.*) Open Abrir Select a Directory Seleccionar un directorio Q3LocalFs Could not read directory %1 No fue posible leer el directorio %1 Could not create directory %1 No fue posible crear el directorio %1 Could not remove file or directory %1 No fue posible eliminar el fichero o directorio %1 Could not rename %1 to %2 No fue posible cambiar el nombre %1 a %2 Could not open %1 No fue posible abrir %1 Could not write %1 No fue posible escribir %1 Q3MainWindow Line up Alinear Customize... Personalizar... Q3NetworkProtocol Operation stopped by the user Operación detenida por el usuario Q3ProgressDialog Cancel Cancelar Q3TabDialog OK Aceptar Apply Aplicar Help Ayuda Defaults Valores por omisión Cancel Cancelar Q3TextEdit &Undo &Deshacer &Redo &Rehacer Cu&t Cor&tar &Copy &Copiar &Paste &Pegar Clear Limpiar Select All Seleccionar todo Q3TitleBar System Sistema Restore up Restaurar arriba Minimize Minimizar Restore down Restaurar abajo Maximize Maximizar Close Cerrar Contains commands to manipulate the window Contiene órdenes para manipular la ventana Puts a minimized back to normal Devuelve una ventana minimizada a su aspecto normal Moves the window out of the way Aparta la ventana Puts a maximized window back to normal Devuelve una ventana maximizada a su aspecto normal Makes the window full screen Muestra la ventana en pantalla completa Closes the window Cierra la ventana Displays the name of the window and contains controls to manipulate it Muestra el nombre de la ventana y contiene controles para manipularla Q3ToolBar More... Más... Q3UrlOperator The protocol `%1' is not supported El protocolo «%1» no está contemplado The protocol `%1' does not support listing directories El protocolo «%1» no permite listar los ficheros de un directorio The protocol `%1' does not support creating new directories El protocolo «%1» no permite crear nuevos directorios The protocol `%1' does not support removing files or directories El protocolo «%1» no permite eliminar ficheros o directorios The protocol `%1' does not support renaming files or directories El protocolo «%1» no permite cambiar de nombre ficheros o directorios The protocol `%1' does not support getting files El protocolo «%1» no permite recibir ficheros The protocol `%1' does not support putting files El protocolo «%1» no permite enviar ficheros The protocol `%1' does not support copying or moving files or directories El protocolo «%1» no permite copiar o mover ficheros o directorios (unknown) (desconocido) Q3Wizard &Cancel &Cancelar < &Back < &Anterior &Next > Siguie&nte > &Finish &Terminar &Help &Ayuda QAbstractSocket Host not found Equipo no encontrado Connection refused Conexión rechazada Connection timed out Conexión expirada Operation on socket is not supported Socket operation timed out Operación socket expirada Socket is not connected El socket no está conectado Network unreachable Red inalcanzable QAbstractSpinBox &Step up &Aumentar Step &down Re&ducir &Select All &Seleccionar todo QApplication Activate Activar Executable '%1' requires Qt %2, found Qt %3. El ejecutable «%1» requiere Qt %2 (se encontró Qt %3). Incompatible Qt Library Error Error: biblioteca Qt incompatible QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Activates the program's main window Activa la ventana principal del programa QAxSelect Select ActiveX Control Seleccionar un control ActiveX OK Aceptar &Cancel &Cancelar COM &Object: &Objeto COM: QCheckBox Uncheck Desmarcar Check Marcar Toggle Conmutar QColorDialog Hu&e: &Tono: &Sat: &Saturación: &Val: &Valor: &Red: &Rojo: &Green: &Verde: Bl&ue: Az&ul: A&lpha channel: Canal a&lfa: Select Color &Basic colors Colores &básicos &Custom colors &Colores personalizados &Define Custom Colors >> &Definir colores personalizados >> OK Aceptar Cancel Cancelar &Add to Custom Colors &Añadir a los colores personalizados Select color Seleccionar color QComboBox Open Abrir False Falso True Verdadero Close Cerrar QCoreApplication %1: key is empty QSystemSemaphore %1: unable to make key QSystemSemaphore %1: ftok failed QSystemSemaphore QDB2Driver Unable to connect Imposible establecer una conexión Unable to commit transaction Incapaz de enviar la transacción Unable to rollback transaction Incapaz de anular la transacción Unable to set autocommit Incapaz de activar el envío automático QDB2Result Unable to execute statement Imposible ejecutar la instrucción Unable to prepare statement Imposible preparar la instrucción Unable to bind variable No es posible ligar la variable Unable to fetch record %1 Imposible obtener el registro %1 Unable to fetch next Imposible recuperar el siguiente Unable to fetch first Imposible recuperar el primero QDateTimeEdit AM AM am am PM PM pm pm QDial QDial QDial SpeedoMeter Velocímetro SliderHandle Asa del deslizador QDialog What's This? ¿Qué es esto? Done Terminar QDialogButtonBox OK Aceptar Save Guardar &Save &Guardar Open Abrir Cancel Cancelar &Cancel &Cancelar Close Cerrar &Close &Cerrar Apply Aplicar Reset Reinicializar Help Ayuda Don't Save No guardar Discard Descartar &Yes &Sí Yes to &All Sí a &todo &No &No N&o to All N&o a todo Save All Guardar todo Abort Interrumpir Retry Reintentar Ignore Ignorar Restore Defaults Restaurar los valores predeterminados Close without Saving Cerrar sin guardar &OK &Aceptar QDirModel Name Nombre Size Tamaño Kind Match OS X Finder Clase Type All other platforms Tipo Date Modified Última modificación Kind Match OS X Finder Clase QDockWidget Close Cerrar Dock Anclada Float Flotante QDoubleSpinBox More Más Less Menos QErrorMessage Debug Message: Mensaje de depuración: Warning: Aviso: Fatal Error: Error fatal: &Show this message again Mo&strar este mensaje de nuevo &OK &Aceptar QFile Destination file exists Cannot remove source file Cannot open %1 for input Cannot open for output Failure to write block Cannot create %1 for output QFileDialog All Files (*) Todos los ficheros (*) Directories Directorios &Open &Abrir &Save &Guardar Open Abrir %1 already exists. Do you want to replace it? El fichero %1 ya existe. ¿Desea reemplazarlo? %1 File not found. Please verify the correct file name was given. %1 Fichero no encontrado. Verifique que el nombre del fichero es correcto. My Computer Mi equipo &Rename Cambia&r de nombre &Delete &Borrar Show &hidden files Mostrar los fic&heros ocultos Back Anterior (histórico) Parent Directory Directorio superior List View Vista de lista Detail View Vista detallada Files of type: Ficheros de tipo: Directory: Directorio: File not found. Please verify the correct file name was given Fichero no encontrado. Compruebe que el nombre del fichero es correcto %1 Directory not found. Please verify the correct directory name was given. %1 Directorio no encontrado. Verique que el nombre del directorio es correcto. '%1' is write protected. Do you want to delete it anyway? «%1» está protegido contra escritura. ¿Desea borrarlo de todas formas? Are sure you want to delete '%1'? ¿Seguro que desea borrar «%1»? Could not delete directory. No fue posible borrar el directorio. Recent Places All Files (*.*) Todos los ficheros (*.*) Save As Guardar como Drive Unidad File Fichero Unknown Desconocido Find Directory Buscar en el directorio Show Mostrar Forward Siguiente (histórico) New Folder Nueva carpeta &New Folder &Nueva carpeta &Choose &Seleccionar Remove Eliminar File &name: &Nombre de fichero: Look in: Ver en: Create New Folder Crear una nueva carpeta QFileSystemModel %1 TB %1 TiB %1 GB %1 GiB %1 MB %1 MiB %1 KB %1 KiB %1 bytes %1 bytes Invalid filename Nombre de fichero no válido <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>No se puede utilizar el nombre «%1».</b><p>Intente usar otro nombre con menos caracteres o sin signos de puntuación. Name Nombre Size Tamaño Kind Match OS X Finder Clase Type All other platforms Tipo Date Modified Última modificación My Computer Mi equipo Computer Equipo Type All other platforms Tipo QFontDatabase Normal Bold Demi Bold Black Demi Light Italic Oblique Any Latin Greek Cyrillic Armenian Hebrew Arabic Syriac Thaana Devanagari Bengali Gurmukhi Gujarati Oriya Tamil Telugu Kannada Malayalam Sinhala Thai Lao Tibetan Myanmar Georgian Khmer Simplified Chinese Traditional Chinese Japanese Korean Vietnamese Symbol Ogham Runic QFontDialog &Font &Tipo de letra Font st&yle &Estilo del tipo de letra &Size &Tamaño Effects Efectos Stri&keout &Tachado &Underline S&ubrayado Sample Muestra Wr&iting System Sistema de escr&itura Select Font Seleccionar un tipo de letra QFtp Not connected No conectado Host %1 not found Equipo %1 no encontrado Connection refused to host %1 Conexión rechazada al equipo %1 Connection timed out to host %1 Connected to host %1 Conectado al equipo %1 Connection refused for data connection Conexión para conexión de datos rechazada Unknown error Error desconocido Connecting to host failed: %1 La conexión con el equipo ha fallado: %1 Login failed: %1 Identificación fallida: %1 Listing directory failed: %1 El listado del directorio ha fallado: %1 Changing directory failed: %1 Fallo del cambio de directorio: %1 Downloading file failed: %1 Fallo de la descarga del fichero: %1 Uploading file failed: %1 El envío del fichero ha fallado: %1 Removing file failed: %1 Eliminación de fichero fallida: %1 Creating directory failed: %1 Fallo de la creación de un directorio: %1 Removing directory failed: %1 Eliminación de directorio fallida: %1 Connection closed Conexión cerrada Host %1 found Equipo %1 encontrado Connection to %1 closed Conexión a %1 cerrada Host found Equipo encontrado Connected to host Conectado al equipo QHostInfo Unknown error Error desconocido QHostInfoAgent Host not found Equipo no encontrado Unknown address type Dirección de tipo desconocido Unknown error Error desconocido QHttp HTTPS connection requested but SSL support not compiled in Unknown error Error desconocido Request aborted Solicitud interrumpida No server set to connect to No se ha indicado ningún servidor al que conectarse Wrong content length Longitud del contenido errónea Server closed connection unexpectedly El servidor cerró la conexión inesperadamente Unknown authentication method Error writing response to device Connection refused Conexión rechazada Host %1 not found Equipo %1 no encontrado HTTP request failed Solicitud HTTP fallida Invalid HTTP response header Cabecera de respuesta HTTP no válida Invalid HTTP chunked body Fragmento HTTP no válido Host %1 found Equipo %1 encontrado Connected to host %1 Conectado al equipo %1 Connection to %1 closed Conexión a %1 cerrada Host found Equipo encontrado Connected to host Conectado al equipo Connection closed Conexión cerrada Proxy authentication required El proxy requiere autenticación Authentication required Se precisa autenticación Connection refused (or timed out) Proxy requires authentication Host requires authentication Data corrupted Unknown protocol specified SSL handshake failed QHttpSocketEngine Did not receive HTTP response from proxy Error parsing authentication request from proxy Authentication required Se precisa autenticación Proxy denied connection Error communicating with HTTP proxy Proxy server not found Proxy connection refused Proxy server connection timed out Proxy connection closed prematurely QIBaseDriver Error opening database Error al abrir la base de datos Could not start transaction No fue posible iniciar la transacción Unable to commit transaction Incapaz de enviar la transacción Unable to rollback transaction Incapaz de anular la transacción QIBaseResult Unable to create BLOB Imposible crear un BLOB Unable to write BLOB Imposible escribir el BLOB Unable to open BLOB Imposible abrir el BLOB Unable to read BLOB Imposible leer el BLOB Could not find array No fue posible encontrar la tabla Could not get array data No fue posible obtener los datos de la tabla Could not get query info No fue posible obtener información sobre la consulta Could not start transaction No fue posible iniciar la transacción Unable to commit transaction Incapaz de enviar la transacción Could not allocate statement No fue posible asignar la instrucción Could not prepare statement No fue posible preparar la instrucción Could not describe input statement No fue posible describir la instrucción de entrada Could not describe statement No fue posible describir la instrucción Unable to close statement No fue posible cerrar la instrucción Unable to execute query No fue posible ejecutar la consulta Could not fetch next item No fue posible obtener el elemento siguiente Could not get statement info No fue posible obtener información sobre la instrucción QIODevice Permission denied Permiso denegado Too many open files Demasiados ficheros abiertos simultáneamente No such file or directory No hay ningún fichero o directorio con ese nombre No space left on device No queda espacio en el dispositivo Unknown error Error desconocido QInputContext XIM XIM XIM input method Método de entrada XIM Windows input method Método de entrada Windows Mac OS X input method Método de entrada Mac OS X QInputDialog Enter a value: QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::load_sys: No se puede cargar %1 (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::unload_sys: No se puede cargar %1 (%2) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) QLibrary::resolve_sys: Símbolo «%1» no definido en %2 (%3) Could not mmap '%1': %2 No fu posible establecer la proyección en memoria de «%1»: %2 Plugin verification data mismatch in '%1' Los datos de verificación del complemento no coinciden en «%1» Could not unmap '%1': %2 No fue posible suprimir la proyección en memoria de «%1»: %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] El complemento «%1» usa una biblioteca Qt incompatible. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" El complemento «%1» usa una biblioteca Qt incompatible. Se esperaba la clave «%2», pero se ha recibido «%3» Unknown error Error desconocido The shared library was not found. No se ha encontrado la biblioteca compartida. The file '%1' is not a valid Qt plugin. El fichero «%1» no es un complemento de Qt válido. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) El complemento «%1» usa una biblioteca Qt incompatible. (No se pueden mezclar las bibliotecas «debug» y «release».) Cannot load library %1: %2 Cannot unload library %1: %2 Cannot resolve symbol "%1" in %2: %3 QLineEdit &Undo &Deshacer &Redo &Rehacer Cu&t Cor&tar &Copy &Copiar &Paste &Pegar Delete Borrar Select All Seleccionar todo QLocalServer %1: Name error %1: Permission denied %1: Address in use %1: Unknown error %2 QLocalSocket %1: Connection refused %1: Remote closed %1: Invalid name %1: Socket access error %1: Socket resource error %1: Socket operation timed out %1: Datagram too large %1: Connection error %1: The socket operation is not supported %1: Unknown error %1: Unknown error %2 QMYSQLDriver Unable to open database ' Imposible abrir la base de datos ' Unable to connect No es posible establecer una conexión Unable to begin transaction No es posible iniciar la transacción Unable to commit transaction No es posible enviar la transacción Unable to rollback transaction No es posible anular la transacción QMYSQLResult Unable to fetch data No es posible obtener los datos Unable to execute query No es posible ejecutar la consulta Unable to store result No es posible almacenar el resultado Unable to prepare statement No es posible preparar la instrucción Unable to reset statement No es posible reinicializar la instrucción Unable to bind value No es posible ligar el valor Unable to execute statement No es posible ejecutar la instrucción Unable to bind outvalues No es posible ligar los valores de salida Unable to store statement results No es posible almacenar los resultados de la instrucción Unable to execute next query Unable to store next result QMdiArea (Untitled) QMdiSubWindow %1 - [%2] %1 - [%2] Close Cerrar Minimize Minimizar Restore Down Restaurar abajo &Restore &Restaurar &Move &Mover &Size Redimen&sionar Mi&nimize Mi&nimizar Ma&ximize Ma&ximizar Stay on &Top Permanecer en &primer plano &Close &Cerrar - [%1] Maximize Maximizar Unshade Shade Restore Help Ayuda Menu Menú QMenu Close Cerrar Open Abrir Execute Ejecutar QMenuBar About Acerca de Config Configuración Preference Preferencia Options Opciones Setting Parámetro Setup Configuración Quit Salir Exit Salir About %1 Acerca de %1 About Qt Acerca de Qt Preferences Preferencias Quit %1 Salir de %1 QMessageBox Help Ayuda OK Aceptar About Qt Acerca de Qt <p>This program uses Qt version %1.</p> <p>Este programa utiliza la versión %1 de Qt.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.</p><p>Qt is a Trolltech product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <h3>Acerca de Qt</h3>%1<p>Qt es un toolkit en C++ para desarrollo de aplicaciones multiplataforma.</p><p>Qt proporciona portabilidad del código entre MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux y todas las variantes comerciales de Unix importantes. Qt también está disponible para sistemas empotrados bajo el nombre Qtopia Core.</p><p>Qt es un producto de Trolltech. Visite <a href="http://qt.nokia.com/">qt.nokia.com</a> para obtener más información.</p> Show Details... Mostrar los detalles... Hide Details... Ocultar los detalles... <h3>About Qt</h3><p>This program uses Qt version %1.</p><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a> for an overview of Qt licensing.</p> <p>Este programa utiliza Qt Open Source Edition versión %1.</p><p>Qt Open Source Edition está dirigida al desarrollo de aplicaciones libres. Para desarrollar aplicaciones privativas (de código cerrado) necesita una licencia comercial de Qt.</p><p>Visite <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a> para obtener una visión global de las licencias de Qt.</p> QMultiInputContext Select IM Seleccionar IM QMultiInputContextPlugin Multiple input method switcher Seleccionador de varios métodos de entrada Multiple input method switcher that uses the context menu of the text widgets Seleccionador de varios métodos de entrada que usa el menú contextual de los elementos de texto QNativeSocketEngine The remote host closed the connection El equipo remoto ha cerrado la conexión Network operation timed out La operación de red ha expirado Out of resources Insuficientes recursos Unsupported socket operation Operación socket no admitida Protocol type not supported Tipo de protocolo no admitido Invalid socket descriptor Descriptor de socket no válido Network unreachable Red inalcanzable Permission denied Permiso denegado Connection timed out Conexión expirada Connection refused Conexión rechazada The bound address is already in use La dirección enlazada ya está en uso The address is not available La dirección no está disponible The address is protected La dirección está protegida Unable to send a message Imposible enviar un mensaje Unable to receive a message Imposible recibir un mensaje Unable to write Imposible escribir Network error Error de red Another socket is already listening on the same port Ya hay otro socket escuchando por el mismo puerto Unable to initialize non-blocking socket Imposible inicializar el socket no bloqueante Unable to initialize broadcast socket Imposible inicializar el socket de difusión Attempt to use IPv6 socket on a platform with no IPv6 support Intento de usar un socket IPv6 sobre una plataforma que no contempla IPv6 Host unreachable Equipo inaccesible Datagram was too large to send El datagrama era demasiado grande para poder ser enviado Operation on non-socket Operación sobre un no-socket Unknown error Error desconocido The proxy type is invalid for this operation QNetworkAccessCacheBackend Error opening %1 QNetworkAccessFileBackend Request for opening non-local file %1 Error opening %1: %2 Write error writing to %1: %2 Cannot open %1: Path is a directory Read error reading from %1: %2 QNetworkAccessFtpBackend No suitable proxy found Cannot open %1: is a directory Logging in to %1 failed: authentication required Error while downloading %1: %2 Error while uploading %1: %2 QNetworkAccessHttpBackend No suitable proxy found QNetworkReply Error downloading %1 - server replied: %2 Protocol "%1" is unknown QNetworkReplyImpl Operation canceled QOCIDriver Unable to logon No es posible abrir sesión Unable to initialize QOCIDriver La inicialización ha fallado Unable to begin transaction No es posible iniciar la transacción Unable to commit transaction Unable to rollback transaction QOCIResult Unable to bind column for batch execute No es posible ligar la columna para una ejecución por lotes Unable to execute batch statement No es posible ejecutar la instrucción por lotes Unable to goto next No es posible pasar al siguiente Unable to alloc statement No es posible asignar la instrucción Unable to prepare statement No es posible preparar la instrucción Unable to bind value No es posible ligar el valor Unable to execute select statement No es posible ejecutar la instrucción select Unable to execute statement No es posible ejecutar la instrucción QODBCDriver Unable to connect No es posible establecer una conexión Unable to connect - Driver doesn't support all needed functionality No es posible conectarse - El controlador no ofrece todas las funciones necesarias Unable to disable autocommit No es posible inhabilitar el envío automático Unable to commit transaction No es posible enviar la transacción Unable to rollback transaction No es posible anular la transacción Unable to enable autocommit No es posible habilitar el envío automático QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: No es posible establecer «SQL_CURSOR_STATIC» como atributo de instrucción. Compruebe la configuración de su controlador ODBC Unable to execute statement No es posible ejecutar la instrucción Unable to fetch next No es posible obtener el siguiente Unable to prepare statement No es posible preparar la instrucción Unable to bind variable No es posible ligar la variable Unable to fetch last Unable to fetch Unable to fetch first Imposible recuperar el primero Unable to fetch previous QObject Home Inicio Operation not supported on %1 Invalid URI: %1 Write error writing to %1: %2 Read error reading from %1: %2 Socket error on %1: %2 Remote host closed the connection prematurely on %1 Protocol error: packet of size 0 received No host name given QPPDOptionsModel Name Nombre Value Valor QPSQLDriver Unable to connect No es posible establecer conexión Could not begin transaction No fue posible iniciar la transacción Could not commit transaction No fue posible enviar la transacción Could not rollback transaction No fue posible anular la transacción Unable to subscribe Unable to unsubscribe QPSQLResult Unable to create query No es posible crear la consulta Unable to prepare statement QPageSetupWidget Centimeters (cm) Millimeters (mm) Inches (in) Points (pt) Form Paper Page size: Tamaño de página: Width: Height: Paper source: Fuente del papel: Orientation Portrait Vertical Landscape Apaisado Reverse landscape Reverse portrait Margins top margin left margin right margin bottom margin QPluginLoader Unknown error Error desconocido The plugin was not loaded. El complemento no fue cargado. QPrintDialog locally connected conectado localmente Aliases: %1 Alias: %1 unknown desconocido Print in color if available Imprimir en color si es posible Print all Imprimir todo Print selection Imprimir la selección Print range Imprimir el intervalo Print last page first Imprimir primero la última página Number of copies: Número de copias: Paper format Formato del papel Portrait Vertical Landscape Apaisado A0 (841 x 1189 mm) A0 (841 x 1189 mm) A1 (594 x 841 mm) A1 (594 x 841 mm) A2 (420 x 594 mm) A2 (420 x 594 mm) A3 (297 x 420 mm) A3 (297 x 420 mm) A4 (210 x 297 mm, 8.26 x 11.7 inches) A4 (210 x 297 mm, 8,26 x 11,7 pulgadas) A5 (148 x 210 mm) A5 (148 x 210 mm) A6 (105 x 148 mm) A6 (105 x 148 mm) A7 (74 x 105 mm) A7 (74 x 105 mm) A8 (52 x 74 mm) A8 (52 x 74 mm) A9 (37 x 52 mm) A9 (37 x 52 mm) B0 (1000 x 1414 mm) B0 (1000 x 1414 mm) B1 (707 x 1000 mm) B1 (707 x 1000 mm) B2 (500 x 707 mm) B2 (500 x 707 mm) B3 (353 x 500 mm) B3 (353 x 500 mm) B4 (250 x 353 mm) B4 (250 x 353 mm) B5 (176 x 250 mm, 6.93 x 9.84 inches) B5 (176 x 250 mm, 6,93 x 9,84 pulgadas) B6 (125 x 176 mm) B6 (125 x 176 mm) B7 (88 x 125 mm) B7 (88 x 125 mm) B8 (62 x 88 mm) B8 (62 x 88 mm) B9 (44 x 62 mm) B9 (44 x 62 mm) B10 (31 x 44 mm) B10 (31 x 44 mm) C5E (163 x 229 mm) C5E (163 x 229 mm) DLE (110 x 220 mm) DLE (110 x 220 mm) Executive (7.5 x 10 inches, 191 x 254 mm) Ejecutivo (7,5 x 10 pulgadas, 191 x 254 mm) Folio (210 x 330 mm) Folio (210 x 330 mm) Ledger (432 x 279 mm) Ledger (432 x 279 mm) Legal (8.5 x 14 inches, 216 x 356 mm) Legal (8,5 x 14 pulgadas, 216 x 356 mm) Letter (8.5 x 11 inches, 216 x 279 mm) Carta (8,5 x 11 pulgadas, 216 x 279 mm) Tabloid (279 x 432 mm) Tabloide (279 x 432 mm) US Common #10 Envelope (105 x 241 mm) Sobre US Common #10 (105 x 241 mm) OK Aceptar Cancel Cancelar Page size: Tamaño de página: Orientation: Orientación: Paper source: Fuente del papel: Print Imprimir File Fichero Printer Impresora Print To File ... Imprimir a fichero... Print dialog Ventana de impresión Size: Tamaño: Properties Propiedades Printer info: Información de la impresora: Browse Explorar Print to file Imprimir a fichero Pages from Páginas to a Selection Selección Copies Copias Collate Recopilar Other Otro Double side printing Impresión a doble cara File %1 is not writable. Please choose a different file name. No se puede escribir en el fichero %1. Elija un nombre de fichero diferente. %1 already exists. Do you want to overwrite it? %1 ya existe. ¿Desea sobrescribirlo? File exists El fichero existe <qt>Do you want to overwrite it?</qt> <qt>¿Desea sobrescribirlo?</qt> %1 is a directory. Please choose a different file name. %1 es un directorio. Elija un nombre de fichero diferente. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C5E DLE Executive Folio Ledger Legal Letter Tabloid US Common #10 Envelope Custom &Options >> &Print &Options << Print to File (PDF) Print to File (Postscript) Local file Write %1 file The 'From' value cannot be greater than the 'To' value. QPrintPreviewDialog Page Setup %1% Print Preview Next page Previous page First page Last page Fit width Fit page Zoom in Zoom out Portrait Vertical Landscape Apaisado Show single page Show facing pages Show overview of all pages Print Page setup Close Cerrar Export to PDF Export to PostScript QPrintPropertiesDialog PPD Properties Propiedades PPD Save Guardar OK Aceptar QPrintPropertiesWidget Form Page Advanced QPrintSettingsOutput Form Copies Copias Print range Imprimir el intervalo Print all Imprimir todo Pages from Páginas to a Selection Selección Output Settings Copies: Collate Recopilar Reverse Options Opciones Color Mode Color Grayscale Duplex Printing None Long side Short side QPrintWidget Form Printer Impresora &Name: P&roperties Location: Preview Type: Output &file: ... QProcess Could not open input redirection for reading Could not open output redirection for writing Resource error (fork failure): %1 Process operation timed out Error reading from process Error writing to process Process crashed No program defined Process failed to start QProgressDialog Cancel Cancelar QPushButton Open Abrir QRadioButton Check Marcar QRegExp no error occurred no se ha producido ningún error disabled feature used se ha usado una característica no habilitada bad char class syntax sintaxis no válida para clase de caracteres bad lookahead syntax sintaxis no válida para lookahead bad repetition syntax sintaxis no válida para repetición invalid octal value valor octal no válido missing left delim falta el delimitador izquierdo unexpected end fin inesperado met internal limit se alcanzó el límite interno QSQLite2Driver Error to open database Error al abrir la base de datos Unable to begin transaction No es posible iniciar la transacción Unable to commit transaction No es posible enviar la transacción Unable to rollback Transaction No es posible anular la transacción QSQLite2Result Unable to fetch results No es posible obtener los resultados Unable to execute statement No es posible ejecutar la instrucción QSQLiteDriver Error opening database Error al abrir la base de datos Error closing database Error al cerrar la base de datos Unable to begin transaction No es posible iniciar la transacción Unable to commit transaction No es posible enviar la transacción Unable to roll back transaction No es posible anular la transacción Unable to rollback transaction QSQLiteResult Unable to fetch row No es posible obtener la fila Unable to execute statement No es posible ejecutar la instrucción Unable to reset statement No es posible reinicializar la instrucción Unable to bind parameters No es posible ligar los parámetros Parameter count mismatch Número de parámetros incorrecto No query QScrollBar Scroll here Desplazar hasta aquí Left edge Borde izquierdo Top Parte superior Right edge Borde derecho Bottom Parte inferior Page left Una página a la izquierda Page up Una página hacia arriba Page right Una página a la derecha Page down Una página hacia abajo Scroll left Desplazar hacia la izquierda Scroll up Desplazar hacia arriba Scroll right Desplazar hacia la derecha Scroll down Desplazar hacia abajo Line up Alinear Position Posición Line down Alinear por abajo QSharedMemory %1: unable to set key on lock %1: create size is less then 0 %1: unable to lock %1: unable to unlock %1: permission denied %1: already exists %1: doesn't exists %1: out of resources %1: unknown error %2 %1: key is empty %1: unix key file doesn't exists %1: ftok failed %1: unable to make key %1: system-imposed size restrictions %1: not attached %1: invalid size %1: key error %1: size query failed QShortcut Space Espacio Esc Esc Tab Tabulador Backtab Tabulador hacia atrás Backspace Borrar Return Retorno Enter Intro Ins Ins Del Supr Pause Pausa Print Impr Pant SysReq PetSis Home Inicio End Fin Left Izquierda Up Arriba Right Derecha Down Abajo PgUp Re Pág PgDown Av Pág CapsLock Bloq Mayús NumLock Bloq Num ScrollLock Bloq Despl Menu Menú Help Ayuda Back Anterior (histórico) Forward Siguiente (histórico) Stop Detener Refresh Actualizar Volume Down Bajar el volumen Volume Mute Silenciar Volume Up Subir el volumen Bass Boost Potenciar los graves Bass Up Subir los graves Bass Down Bajar los graves Treble Up Subir los agudos Treble Down Bajar los agudos Media Play Reproducir el medio Media Stop Detener el medio Media Previous Medio anterior Media Next Siguiente medio Media Record Grabar medio Favorites Favoritos Search Búsqueda Standby Reposo Open URL Abrir URL Launch Mail Lanzar correo Launch Media Lanzar medio Launch (0) Lanzar (0) Launch (1) Lanzar (1) Launch (2) Lanzar (2) Launch (3) Lanzar (3) Launch (4) Lanzar (4) Launch (5) Lanzar (5) Launch (6) Lanzar (6) Launch (7) Lanzar (7) Launch (8) Lanzar (8) Launch (9) Lanzar (9) Launch (A) Lanzar (A) Launch (B) Lanzar (B) Launch (C) Lanzar (C) Launch (D) Lanzar (D) Launch (E) Lanzar (E) Launch (F) Lanzar (F) Print Screen Imprimir pantalla Page Up Retroceder página Page Down Avanzar página Caps Lock Bloqueo de mayúsculas Num Lock Bloq num Number Lock Bloqueo numérico Scroll Lock Bloqueo del desplazamiento Insert Insertar Delete Borrar Escape Escape System Request Petición del sistema Select Seleccionar Yes No No Context1 Contexto1 Context2 Contexto2 Context3 Contexto3 Context4 Contexto4 Call Llamar Hangup Descolgar Flip Voltear Ctrl Ctrl Shift May Alt Alt Meta Meta + + F%1 F%1 Home Page Página de inicio QSlider Page left Una página a la izquierda Page up Una página hacia arriba Position Posición Page right Una página a la derecha Page down Una página hacia abajo QSocks5SocketEngine Connection to proxy refused Connection to proxy closed prematurely Proxy host not found Connection to proxy timed out Proxy authentication failed Proxy authentication failed: %1 SOCKS version 5 protocol error General SOCKSv5 server failure Connection not allowed by SOCKSv5 server TTL expired SOCKSv5 command not supported Address type not supported Unknown SOCKSv5 proxy error code 0x%1 Socks5 timeout error connecting to socks server Error de expiración socks5 mientras se establecía una conexión al servidor socks Network operation timed out La operación de red ha expirado QSpinBox More Más Less Menos QSql Delete Borrar Delete this record? ¿Borrar este registro? Yes No No Insert Insertar Update Actualizar Save edits? ¿Guardar las modificaciones? Cancel Cancelar Confirm Confirmar Cancel your edits? ¿Cancelar sus modificaciones? QSslSocket Unable to write data: %1 No es posible escribir los datos: %1 Error while reading: %1 Error al leer: %1 Error during SSL handshake: %1 Error durante el saludo SSL: %1 Error creating SSL context (%1) Error al crear el contexto SSL (%1) Invalid or empty cipher list (%1) Lista de cifras vacía o no válida (%1) Error creating SSL session, %1 Error al crear la sesión SSL, %1 Error creating SSL session: %1 Error al crear la sesión SSL: %1 Cannot provide a certificate with no key, %1 No se puede proporcionar un certificado sin clave, %1 Error loading local certificate, %1 Error al cargar el certificado local, %1 Error loading private key, %1 Error al cargar la clave privada, %1 Private key do not certificate public key, %1 La clave privada no certifica la clave pública, %1 Private key does not certificate public key, %1 QSystemSemaphore %1: out of resources %1: permission denied %1: already exists %1: does not exist %1: unknown error %2 QTDSDriver Unable to open connection No es posible abrir la conexión Unable to use database No es posible utilizar la base de datos QTabBar Scroll Left Desplazar hacia la izquierda Scroll Right Desplazar hacia la derecha QTcpServer Socket operation unsupported Operación socket no admitida Operation on socket is not supported QTextControl &Undo &Deshacer &Redo &Rehacer Cu&t Cor&tar &Copy &Copiar Copy &Link Location Copiar la ubicación del en&lace &Paste &Pegar Delete Borrar Select All Seleccionar todo QToolButton Press Pulsar Open Abrir QUdpSocket This platform does not support IPv6 La plataforma no contempla IPv6 QUndoGroup Undo Deshacer Redo Rehacer QUndoModel <empty> <vacío> QUndoStack Undo Deshacer Redo Rehacer QUnicodeControlCharacterMenu LRM Left-to-right mark LRM Left-to-right mark RLM Right-to-left mark RLM Right-to-left mark ZWJ Zero width joiner ZWJ Zero width joiner ZWNJ Zero width non-joiner ZWNJ Zero width non-joiner ZWSP Zero width space ZWSP Zero width space LRE Start of left-to-right embedding LRE Start of left-to-right embedding RLE Start of right-to-left embedding RLE Start of right-to-left embedding LRO Start of left-to-right override LRO Start of left-to-right override RLO Start of right-to-left override RLO Start of right-to-left override PDF Pop directional formatting PDF Pop directional formatting Insert Unicode control character Insertar carácter de control Unicode QWebFrame Request cancelled Request blocked Cannot show URL Frame load interruped by policy change Cannot show mimetype File does not exist QWebPage Bad HTTP request Submit default label for Submit buttons in forms on web pages Submit Submit (input element) alt text for <input> elements with no alt, title, or value Reset default label for Reset buttons in forms on web pages Reinicializar This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Choose File title for file button used in HTML forms No file selected text to display in file button used in HTML forms when no file is selected Open in New Window Open in New Window context menu item Save Link... Download Linked File context menu item Copy Link Copy Link context menu item Open Image Open Image in New Window context menu item Save Image Download Image context menu item Copy Image Copy Link context menu item Open Frame Open Frame in New Window context menu item Copy Copy context menu item Go Back Back context menu item Precedente Go Forward Forward context menu item Stop Stop context menu item Detener Reload Reload context menu item Cut Cut context menu item Paste Paste context menu item No Guesses Found No Guesses Found context menu item Ignore Ignore Spelling context menu item Ignorar Add To Dictionary Learn Spelling context menu item Search The Web Search The Web context menu item Look Up In Dictionary Look Up in Dictionary context menu item Open Link Open Link context menu item Ignore Ignore Grammar context menu item Ignorar Spelling Spelling and Grammar context sub-menu item Show Spelling and Grammar menu item title Hide Spelling and Grammar menu item title Check Spelling Check spelling context menu item Check Spelling While Typing Check spelling while typing context menu item Check Grammar With Spelling Check grammar with spelling context menu item Fonts Font context sub-menu item Bold Bold context menu item Italic Italic context menu item Underline Underline context menu item Outline Outline context menu item Direction Writing direction context sub-menu item Text Direction Text direction context sub-menu item Default Default writing direction context menu item LTR Left to Right context menu item RTL Right to Left context menu item Inspect Inspect Element context menu item No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Clear recent searches menu item in Recent Searches menu that empties menu's contents Unknown Unknown filesize FTP directory listing item Desconocido %1 (%2x%3 pixels) Title string for images Web Inspector - %2 Scroll here Desplazar hasta aquí Left edge Borde izquierdo Top Parte superior Right edge Borde derecho Bottom Parte inferior Page left Una página a la izquierda Page up Una página hacia arriba Page right Una página a la derecha Page down Una página hacia abajo Scroll left Desplazar hacia la izquierda Scroll up Desplazar hacia arriba Scroll right Desplazar hacia la derecha Scroll down Desplazar hacia abajo %n file(s) number of chosen file JavaScript Alert - %1 JavaScript Confirm - %1 JavaScript Prompt - %1 Move the cursor to the next character Move the cursor to the previous character Move the cursor to the next word Move the cursor to the previous word Move the cursor to the next line Move the cursor to the previous line Move the cursor to the start of the line Move the cursor to the end of the line Move the cursor to the start of the block Move the cursor to the end of the block Move the cursor to the start of the document Move the cursor to the end of the document Select all Select to the next character Select to the previous character Select to the next word Select to the previous word Select to the next line Select to the previous line Select to the start of the line Select to the end of the line Select to the start of the block Select to the end of the block Select to the start of the document Select to the end of the document Delete to the start of the word Delete to the end of the word Insert a new paragraph Insert a new line QWhatsThisAction What's This? ¿Qué es esto? QWidget * * QWizard Go Back Precedente Continue Siguiente Commit Enviar Done Terminar Quit Salir Help Ayuda < &Back < &Anterior &Finish &Terminar Cancel Cancelar &Help &Ayuda &Next &Next > Siguie&nte > QWorkspace &Restore &Restaurar &Move &Mover &Size &Tamaño Mi&nimize Mi&nimizar Ma&ximize Ma&ximizar &Close &Cerrar Stay on &Top Permanecer en &primer plano Sh&ade Sombre&ar %1 - [%2] %1 - [%2] Minimize Minimizar Restore Down Restaurar abajo Close Cerrar &Unshade Q&uitar sombra QXml no error occurred no se ha producido ningún error error triggered by consumer error debido al consumidor unexpected end of file fin de fichero inesperado more than one document type definition más de una definición de tipo de documento error occurred while parsing element se ha producido un error durante el análisis de un elemento tag mismatch etiqueta desequilibrada error occurred while parsing content se ha producido un error durante el análisis del contenido unexpected character carácter inesperado invalid name for processing instruction nombre de instrucción de tratamiento no válido version expected while reading the XML declaration se esperaba la versión al leer la declaración XML wrong value for standalone declaration valor erróneo para la declaración independiente encoding declaration or standalone declaration expected while reading the XML declaration se esperaba una declaración de codificación o declaración autónoma al leer la declaración XML standalone declaration expected while reading the XML declaration se esperaba una declaración independiente al leer la declaración XML error occurred while parsing document type definition se ha producido un error durante el análisis de la definición de tipo de documento letter is expected se esperaba una letra error occurred while parsing comment se ha producido un error durante el análisis de un comentario error occurred while parsing reference se ha producido un error durante el análisis de una referencia internal general entity reference not allowed in DTD no se permiten referencias a entidades internas generales en la DTD external parsed general entity reference not allowed in attribute value no se permiten referencias a entidades externas generales ya analizadas en el valor de un atributo external parsed general entity reference not allowed in DTD no se permiten referencias a entidades externas generales ya analizadas en la DTD unparsed entity reference in wrong context referencia a entidad no analizada en un contexto no válido recursive entities entidades recursivas error in the text declaration of an external entity error en la declaración de texto de una entidad externa QXmlStream Extra content at end of document. Contenido extra al final del documento. Invalid entity value. Valor de la entidad no válido. Invalid XML character. Carácter XML no válido. Sequence ']]>' not allowed in content. Secuencia «]]>» no permitida en el contenido. Namespace prefix '%1' not declared Prefijo de espacio de nombres «%1» no declarado Attribute redefined. Atributo redefinido. Unexpected character '%1' in public id literal. Carácter «%1» inesperado en un literal de identificación público. Invalid XML version string. Cadena de versión XML no válida. Unsupported XML version. Versión XML no admitida. %1 is an invalid encoding name. %1 es un nombre de codificación no válido. Encoding %1 is unsupported No se admite la codificación %1 Invalid XML encoding name. Nombre de codificación XML no válido. Standalone accepts only yes or no. «Standalone» sólo acepta «sí» o «no». Invalid attribute in XML declaration. Atributo no válido en la declaración XML. Premature end of document. Final prematuro del documento. Invalid document. Documento no válido. Expected Se esperaba , but got ' , pero se ha recibido ' Unexpected ' No se esperaba ' Expected character data. Se esperaban datos de carácter. Recursive entity detected. Detectada entidad recursiva. Start tag expected. Se esperaba etiqueta de inicio. XML declaration not at start of document. La declaración XML no está al principio del documento. NDATA in parameter entity declaration. NDATA en una declaración de entidad parámetro. %1 is an invalid processing instruction name. %1 es un nombre de instrucción de procesamiento no válido. Invalid processing instruction name. Nombre de instrucción de procesamiento no válido. Illegal namespace declaration. Declaración de espacio de nombres ilegal. Invalid XML name. Nombre XML no válido. Opening and ending tag mismatch. Las etiquetas de apertura y cierre no coinciden. Reference to unparsed entity '%1'. Referencia a una entidad no analizada «%1». Entity '%1' not declared. Entidad «%1» no declarada. Reference to external entity '%1' in attribute value. Referencia a una entidad externa «%1» en el valor del atributo. Invalid character reference. Referencia un carácter no válido. Encountered incorrectly encoded content. Encontrado contenido codificado incorrectamente. The standalone pseudo attribute must appear after the encoding. El pseudoatributo «standalone» debe aparece después de la codificación. %1 is an invalid PUBLIC identifier. %1 no es un identificador PUBLIC válido. QtXmlPatterns An %1-attribute with value %2 has already been declared. An %1-attribute must have a valid %2 as value, which %3 isn't. Network timeout. Element %1 can't be serialized because it appears outside the document element. Attribute %1 can't be serialized because it appears at the top level. Year %1 is invalid because it begins with %2. Day %1 is outside the range %2..%3. Month %1 is outside the range %2..%3. Overflow: Can't represent date %1. Day %1 is invalid for month %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Time %1:%2:%3.%4 is invalid. Overflow: Date can't be represented. At least one component must be present. At least one time component must appear after the %1-delimiter. No operand in an integer division, %1, can be %2. The first operand in an integer division, %1, cannot be infinity (%2). The second operand in a division, %1, cannot be zero (%2). %1 is not a valid value of type %2. When casting to %1 from %2, the source value cannot be %3. Integer division (%1) by zero (%2) is undefined. Division (%1) by zero (%2) is undefined. Modulus division (%1) by zero (%2) is undefined. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. A value of type %1 cannot have an Effective Boolean Value. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Value %1 of type %2 exceeds maximum (%3). Value %1 of type %2 is below minimum (%3). A value of type %1 must contain an even number of digits. The value %2 does not. %1 is not valid as a value of type %2. Operator %1 cannot be used on type %2. Operator %1 cannot be used on atomic values of type %2 and %3. The namespace URI in the name for a computed attribute cannot be %1. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Type error in cast, expected %1, received %2. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. No casting is possible with %1 as the target type. It is not possible to cast from %1 to %2. Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. It's not possible to cast the value %1 of type %2 to %3 Failure when casting from %1 to %2: %3 A comment cannot contain %1 A comment cannot end with a %1. No comparisons can be done involving the type %1. Operator %1 is not available between atomic values of type %2 and %3. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. A library module cannot be evaluated directly. It must be imported from a main module. No template by name %1 exists. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. A positional predicate must evaluate to a single numeric value. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. The data of a processing instruction cannot contain the string %1 No namespace binding exists for the prefix %1 No namespace binding exists for the prefix %1 in %2 %1 is an invalid %2 %1 takes at most %n argument(s). %2 is therefore invalid. %1 requires at least %n argument(s). %2 is therefore invalid. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. %1 is not a valid XML 1.0 character. The first argument to %1 cannot be of type %2. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. %1 was called. %1 must be followed by %2 or %3, not at the end of the replacement string. In the replacement string, %1 must be followed by at least one digit when not escaped. In the replacement string, %1 can only be used to escape itself or %2, not %3 %1 matches newline characters %1 and %2 match the start and end of a line. Matches are case insensitive Whitespace characters are removed, except when they appear in character classes %1 is an invalid regular expression pattern: %2 %1 is an invalid flag for regular expressions. Valid flags are: If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. It will not be possible to retrieve %1. The root node of the second argument to function %1 must be a document node. %2 is not a document node. The default collection is undefined %1 cannot be retrieved The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. %1 is not a whole number of minutes. Required cardinality is %1; got cardinality %2. The item %1 did not match the required type %2. %1 is an unknown schema type. Only one %1 declaration can occur in the query prolog. The initialization of variable %1 depends on itself No variable by name %1 exists The variable %1 is unused Version %1 is not supported. The supported XQuery version is 1.0. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. No function with signature %1 is available A default namespace declaration must occur before function, variable, and option declarations. Namespace declarations must occur before function, variable, and option declarations. Module imports must occur before function, variable, and option declarations. It is not possible to redeclare prefix %1. Prefix %1 is already declared in the prolog. The name of an option must have a prefix. There is no default namespace for options. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. The target namespace of a %1 cannot be empty. The module import feature is not supported No value is available for the external variable by name %1. A construct was encountered which only is allowed in XQuery. A template by name %1 has already been declared. The keyword %1 cannot occur with any other mode name. The value of attribute %1 must of type %2, which %3 isn't. The prefix %1 can not be bound. By default, it is already bound to the namespace %2. A variable by name %1 has already been declared. A stylesheet function must have a prefixed name. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 A function already exists with the signature %1. No external functions are supported. All supported functions can be used directly, without first declaring them as external An argument by name %1 has already been declared. Every argument name must be unique. When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. In an XSL-T pattern, function %1 cannot have a third argument. In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. %1 is an invalid template mode name. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. None of the pragma expressions are supported. Therefore, a fallback expression must be present Each name of a template parameter must be unique; %1 is duplicated. The %1-axis is unsupported in XQuery %1 is not a valid name for a processing-instruction. %1 is not a valid numeric literal. No function by name %1 is available. The namespace URI cannot be the empty string when binding to a prefix, %1. %1 is an invalid namespace URI. It is not possible to bind to the prefix %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Two namespace declaration attributes have the same name: %1. The namespace URI must be a constant and cannot use enclosed expressions. An attribute by name %1 has already appeared on this element. A direct element constructor is not well-formed. %1 is ended with %2. The name %1 does not refer to any schema type. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 is not an atomic type. Casting is only possible to atomic types. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. The name of an extension expression must be in a namespace. empty zero or one exactly one one or more zero or more Required type is %1, but %2 was found. Promoting %1 to %2 may cause loss of precision. The focus is undefined. It's not possible to add attributes after any other kind of node. An attribute by name %1 has already been created. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. %1 is an unsupported encoding. %1 contains octets which are disallowed in the requested encoding %2. The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. Ambiguous rule match. In a namespace constructor, the value for a namespace cannot be an empty string. The prefix must be a valid %1, which %2 is not. The prefix %1 cannot be bound. Only the prefix %1 can be bound to %2 and vice versa. Circularity detected The parameter %1 is required, but no corresponding %2 is supplied. The parameter %1 is passed, but no corresponding %2 exists. The URI cannot have a fragment Element %1 is not allowed at this location. Text nodes are not allowed at this location. Parse error: %1 The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. Running an XSL-T 1.0 stylesheet with a 2.0 processor. Unknown XSL-T attribute %1. Attribute %1 and %2 are mutually exclusive. In a simplified stylesheet module, attribute %1 must be present. If element %1 has no attribute %2, it cannot have attribute %3 or %4. Element %1 must have at least one of the attributes %2 or %3. At least one mode must be specified in the %1-attribute on element %2. Attribute %1 cannot appear on the element %2. Only the standard attributes can appear. Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes. Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes. Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes. XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is. The attribute %1 must appear on element %2. The element with local name %1 does not exist in XSL-T. Element %1 must come last. At least one %1-element must occur before %2. Only one %1-element can appear. At least one %1-element must occur inside %2. When attribute %1 is present on %2, a sequence constructor cannot be used. Element %1 must have either a %2-attribute or a sequence constructor. When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. Element %1 cannot have children. Element %1 cannot have a sequence constructor. The attribute %1 cannot appear on %2, when it is a child of %3. A parameter in a function cannot be declared to be a tunnel. This processor is not Schema-aware and therefore %1 cannot be used. Top level stylesheet elements must be in a non-null namespace, which %1 isn't. The value for attribute %1 on element %2 must either be %3 or %4, not %5. Attribute %1 cannot have the value %2. The attribute %1 can only appear on the first %2 element. At least one %1 element must appear as child of %2. VolumeSlider Muted Volume: %1% WebCore::PlatformScrollbar Scroll here Desplazar hasta aquí Left edge Borde izquierdo Top Parte superior Right edge Borde derecho Bottom Parte inferior Page left Una página a la izquierda Page up Una página hacia arriba Page right Una página a la derecha Page down Una página hacia abajo Scroll left Desplazar hacia la izquierda Scroll up Desplazar hacia arriba Scroll right Desplazar hacia la derecha Scroll down Desplazar hacia abajo qelectrotech-0.22+svn897/lang/qt_pt.qm0000644000175000017500000021017711343532004017511 0ustar laurentlaurent;M52O#Oz}5Zm5+;+;6+;=?+O+O6cH4HJ£KLD,LÀPSoZrE[`>[`\iX__1>:6C,n3y%U%E70080w0z00[55 D< DI+O,<,V9V}ŜM 1f-%C?"qKN>MNR|!][]bky^l{yG%LصǥϪ+t{yr%,C-t5ƨƨ˾c`ҝz է?f~bGu~bIo !a.+3/$/Y6 nGM"LAUPѧ8 UgUZZZ ZA^ne iQiXy;p{}un}w}w}w$htPt.7.PDt&atWt_ Ft ʢ3ʢd4dtzdd59`,֛UBw3kx `2=6SCU]DK 7U|*arxt }wZ}$}$ӊ}$Z"K<9S0 /WEKuTi~ 5kEXU F[bDbGjgAi$dx1 cz*2dvU5az>~mLnΗC;ʴ5wSʴ5"ԄD,dF5F5xjYI *IFAsv 4$ }$u qeUf ڤ} Er E AcV AcH 35t K!?C bb b` b` i3# lazs |X t tHn p > &   > u d s K ޒ %'b   )x */ 7u =L: B5 T^ ] `\j ` c( d՜ e eG. f1Of gn k,% rD"@ x ~bT "W 9 I%Y I+i I5 ; u  Jh %p( , ,A )' ˔K> P% P[ O We 68 :.% f  f B 4_ s sE8 AAS 8f m, #-tz 0N) E9 L% L Mc\;a Sa Vf ]$1 f) f)C! io>R m`G w H= HAs $D# .@ѭ  iE 5 n ڙ J JEo t.7 k؜ Ӈ q ̺K| -DL k k U)Y < 0I  Q  X ̴ xH[ .- 7FG >S >T >U >[9 >h8 >m >e > DT I, RVI RV RV S.C S Y [| j7o@ p- . Bdk > T1 TpT T T l e 39  K )d/ F .1_ .]f .q\ . a yY z [ t :bYx ʜ, +>/ 0E ;ɾ Ptx Pt< feH fe g iFC iF ii u5 w w wA w}R w}= w} N V ^z }lV R9 X 3 D E t5x+ t5 yO  )P T'gT(!*&+*/E'i/Ep=BiI_YXRu[ a.8vɅ_y$~ZSgB$fݖ[y  D"#q$U%4;%4IV-v 0i)0ˑ1c<2wTʁD;H]JdZ]L$.c5lc5yC &{~a`@DN?kyPt2*oCD^in"%1, %2 indefinido%1, %2 not definedQ3Accel,%1 ambguo no tratadoAmbiguous %1 not handledQ3AccelRemoverDelete Q3DataTable FalsoFalse Q3DataTableInserirInsert Q3DataTableVerdadeiroTrue Q3DataTableActualizarUpdate Q3DataTablez%1 Ficheiro no encontrado. Verifique a localizao e o nome.+%1 File not found. Check path and filename. Q3FileDialog&Apagar&Delete Q3FileDialog&No&No Q3FileDialog&OK&OK Q3FileDialog &Abrir&Open Q3FileDialog&Mudar Nome&Rename Q3FileDialog&Gravar&Save Q3FileDialogNo &Ordenado &Unsorted Q3FileDialog&Sim&Yes Q3FileDialogJ<qt>Deseja mesmo apagar %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog,Todos os Ficheiros (*) All Files (*) Q3FileDialog0Todos os Ficheiros (*.*)All Files (*.*) Q3FileDialogAtributos Attributes Q3FileDialog RecuarBack Q3FileDialogCancelarCancel Q3FileDialog6Copiar ou Mover um FicheiroCopy or Move a File Q3FileDialog Criar Nova PastaCreate New Folder Q3FileDialogDataDate Q3FileDialogApagar %1 Delete %1 Q3FileDialogVista Detalhada Detail View Q3FileDialog PastaDir Q3FileDialog Pastas Directories Q3FileDialog Pasta: Directory: Q3FileDialogErroError Q3FileDialogFicheiroFile Q3FileDialog$&Nome do Ficheiro: File &name: Q3FileDialog$&Tipo de Ficheiro: File &type: Q3FileDialogProcurar PastaFind Directory Q3FileDialogInacessvel Inaccessible Q3FileDialogVista Abreviada List View Q3FileDialogVer &em: Look &in: Q3FileDialogNomeName Q3FileDialogNova Pasta New Folder Q3FileDialogNova Pasta %1 New Folder %1 Q3FileDialogNova Pasta 1 New Folder 1 Q3FileDialogPasta MeOne directory up Q3FileDialog AbrirOpen Q3FileDialog Abrir Open  Q3FileDialog8Antever Contedo do FicheiroPreview File Contents Q3FileDialog<Antever Informao do FicheiroPreview File Info Q3FileDialog&RecarregarR&eload Q3FileDialogApenas Leitura Read-only Q3FileDialog"Leitura e escrita Read-write Q3FileDialogLer: %1Read: %1 Q3FileDialogGuardar ComoSave As Q3FileDialog(Seleccione uma PastaSelect a Directory Q3FileDialog:Mostrar ficheiros &escondidosShow &hidden files Q3FileDialogTamanhoSize Q3FileDialogOrdenarSort Q3FileDialog$Ordenar pela &Data Sort by &Date Q3FileDialog$Ordenar pelo &Nome Sort by &Name Q3FileDialog*Ordenar pelo &Tamanho Sort by &Size Q3FileDialogEspecialSpecial Q3FileDialog$Ligao para PastaSymlink to Directory Q3FileDialog*Ligao para FicheiroSymlink to File Q3FileDialog*Ligao para EspecialSymlink to Special Q3FileDialogTipoType Q3FileDialogApenas Escrita Write-only Q3FileDialogEscrever: %1 Write: %1 Q3FileDialoga pasta the directory Q3FileDialogo ficheirothe file Q3FileDialoga ligao the symlink Q3FileDialogBNo foi possvel criar a pasta %1Could not create directory %1 Q3LocalFs2No foi possvel abrir %1Could not open %1 Q3LocalFs>No foi possvel ler a pasta %1Could not read directory %1 Q3LocalFs`No foi possvel apagar o ficheiro ou a pasta %1%Could not remove file or directory %1 Q3LocalFsRNo foi possvel mudar o nome %1 para %2Could not rename %1 to %2 Q3LocalFs8Nao foi possvel escrever %1Could not write %1 Q3LocalFsConfigurar... Customize... Q3MainWindowAlinharLine up Q3MainWindowJOperao interrompida pelo utilizadorOperation stopped by the userQ3NetworkProtocolCancelarCancelQ3ProgressDialogAplicarApply Q3TabDialogCancelarCancel Q3TabDialogPredefiniesDefaults Q3TabDialog AjudaHelp Q3TabDialogOKOK Q3TabDialog&Copiar&Copy Q3TextEdit Co&lar&Paste Q3TextEdit&Refazer&Redo Q3TextEdit&Desfazer&Undo Q3TextEdit LimparClear Q3TextEditCor&tarCu&t Q3TextEdit Seleccionar Tudo Select All Q3TextEdit FecharClose Q3TitleBarFecha a janelaCloses the window Q3TitleBarNContm comandos para manipular a janela*Contains commands to manipulate the window Q3TitleBarvMostra o nome da janela e contm controlos para a manipularFDisplays the name of the window and contains controls to manipulate it Q3TitleBar@Coloca a janela em ecr completoMakes the window full screen Q3TitleBarMaximizarMaximize Q3TitleBarMinimizarMinimize Q3TitleBar.Tira a janela da frenteMoves the window out of the way Q3TitleBarZColoca uma janela maximizada no estado normal&Puts a maximized window back to normal Q3TitleBarZColoca uma janela minimizada no estado normalPuts a minimized back to normal Q3TitleBar Restaurar abaixo Restore down Q3TitleBarRestaurar acima Restore up Q3TitleBarSistemaSystem Q3TitleBarMais...More... Q3ToolBar(desconhecido) (unknown) Q3UrlOperatorO protocolo '%1' no suporta copiar ou mover ficheiros ou pastasIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorhO protocolo '%1' no suporta criao de novas pastas;The protocol `%1' does not support creating new directories Q3UrlOperatordO protocolo '%1' no suporta obteno de ficheiros0The protocol `%1' does not support getting files Q3UrlOperator^O protocolo '%1' no suporta listagem de pastas6The protocol `%1' does not support listing directories Q3UrlOperatorfO protocolo '%1' no suporta colocao de ficheiros0The protocol `%1' does not support putting files Q3UrlOperator|O protocolo '%1' no suporta eliminao de ficheiros ou pastas@The protocol `%1' does not support removing files or directories Q3UrlOperatorO protocolo '%1' no suporta mudana de nome de ficheiros ou pastas@The protocol `%1' does not support renaming files or directories Q3UrlOperator@O protocolo '%1' no suportado"The protocol `%1' is not supported Q3UrlOperator&Cancelar&CancelQ3Wizard&Terminar&FinishQ3Wizard &Ajuda&HelpQ3Wizard&Avanar >&Next >Q3Wizard< &Recuar< &BackQ3Wizard Ligao recusadaConnection refusedQAbstractSocket Ligao expiradaConnection timed outQAbstractSocket(Mquina desconhecidaHost not foundQAbstractSocket"Rede inalcanvelNetwork unreachableQAbstractSocket$'Socket' desligadoSocket is not connectedQAbstractSocket:Operao de 'socket' expiradaSocket operation timed outQAbstractSocket&Passo acima&Step upQAbstractSpinBoxPasso &abaixo Step &downQAbstractSpinBoxActivarActivate QApplicationJActiva a janela principal do programa#Activates the program's main window QApplicationdO executvel '%1' requere Qt %2, Qt %3 encontrado.,Executable '%1' requires Qt %2, found Qt %3. QApplicationTErro de Incompatibilidade da Biblioteca QtIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication&Cancelar&Cancel QAxSelect&Objecto COM: COM &Object: QAxSelectOKOK QAxSelect8Seleccionar Controlo ActiveXSelect ActiveX Control QAxSelectActivarCheck QCheckBoxComutarToggle QCheckBoxDesactivarUncheck QCheckBox@&Adicionar s Cores Customizadas&Add to Custom Colors QColorDialogCores &bsicas &Basic colors QColorDialog&Cores c&ustomizadas&Custom colors QColorDialogV&erde:&Green: QColorDialog&Vermelho:&Red: QColorDialog&Saturao:&Sat: QColorDialog&Valor:&Val: QColorDialog*Canal &transparncia:A&lpha channel: QColorDialog &Azul:Bl&ue: QColorDialog C&or:Hu&e: QColorDialog FecharClose QComboBox FalsoFalse QComboBox AbrirOpen QComboBoxVerdadeiroTrue QComboBoxLFinalizao de transaco no possvelUnable to commit transaction QDB2Driver(Ligao no possvelUnable to connect QDB2DriverFAnulao de transaco no possvelUnable to rollback transaction QDB2DriverFFinalizao automtica no possvelUnable to set autocommit QDB2Driver@Ligao de varivel no possvelUnable to bind variable QDB2Result*Execuo no possvelUnable to execute statement QDB2ResultBObteno do primeiro no possvelUnable to fetch first QDB2ResultBObteno do seguinte no possvelUnable to fetch next QDB2ResultFObteno do registo %1 no possvelUnable to fetch record %1 QDB2Result.Preparao no possvelUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEditO Que Isto? What's This?QDialog&Cancelar&CancelQDialogButtonBox&Fechar&CloseQDialogButtonBox&No&NoQDialogButtonBox&OK&OKQDialogButtonBox&Gravar&SaveQDialogButtonBox&Sim&YesQDialogButtonBoxAbortarAbortQDialogButtonBoxAplicarApplyQDialogButtonBoxCancelarCancelQDialogButtonBox FecharCloseQDialogButtonBox"Fechar sem GravarClose without SavingQDialogButtonBoxDescartarDiscardQDialogButtonBoxNo Gravar Don't SaveQDialogButtonBox AjudaHelpQDialogButtonBoxIgnorarIgnoreQDialogButtonBoxN&o para Todos N&o to AllQDialogButtonBoxOKOKQDialogButtonBox AbrirOpenQDialogButtonBoxRestaurarResetQDialogButtonBox.Restaurar PredefiniesRestore DefaultsQDialogButtonBox Tentar NovamenteRetryQDialogButtonBox GravarSaveQDialogButtonBoxGravar TodosSave AllQDialogButtonBoxSim para &Todos Yes to &AllQDialogButtonBox&Data de Modificao Date Modified QDirModelTipoKind QDirModelNomeName QDirModelTamanhoSize QDirModelTipoType QDirModel FecharClose QDockWidget MenosLessQDoubleSpinBoxMaisMoreQDoubleSpinBox&OK&OK QErrorMessage@&Mostrar esta mensagem novamente&Show this message again QErrorMessage&Mensagem Depurao:Debug Message: QErrorMessageErro Fatal: Fatal Error: QErrorMessage Aviso:Warning: QErrorMessagez%1 Pasta no encontrada. Por favor verifique o nome da pasta.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Ficheiro no encontrado. Por favor verifique o nome do ficheiro.A%1 File not found. Please verify the correct file name was given. QFileDialog@%1 j existe. Deseja substituir?-%1 already exists. Do you want to replace it? QFileDialog&Apagar&Delete QFileDialog &Abrir&Open QFileDialog&Mudar o Nome&Rename QFileDialog&Gravar&Save QFileDialog'%1' est protegido contra escrita. Deseja apagar de qualquer forma?9'%1' is write protected. Do you want to delete it anyway? QFileDialog,Todos os Ficheiros (*) All Files (*) QFileDialog0Todos os Ficheiros (*.*)All Files (*.*) QFileDialog2Deseja mesmo apagar '%1'?!Are sure you want to delete '%1'? QFileDialog RecuarBack QFileDialog@No foi possvel apagar a pasta.Could not delete directory. QFileDialog Criar Nova PastaCreate New Folder QFileDialogVista Detalhada Detail View QFileDialog Pastas Directories QFileDialog Pasta: Directory: QFileDialogUnidadeDrive QFileDialogFicheiroFile QFileDialog$&Nome do Ficheiro: File &name: QFileDialog$FIcheiros do tipo:Files of type: QFileDialogProcurar PastaFind Directory QFileDialogSeguinteForward QFileDialogVista Abreviada List View QFileDialog O Meu Computador My Computer QFileDialogNova Pasta New Folder QFileDialog AbrirOpen QFileDialogPasta MeParent Directory QFileDialogGravar ComoSave As QFileDialog:Mostrar ficheiros &escondidosShow &hidden files QFileDialogDesconhecidoUnknown QFileDialog&Data de Modificao Date ModifiedQFileSystemModelTipoKindQFileSystemModel O Meu Computador My ComputerQFileSystemModelNomeNameQFileSystemModelTamanhoSizeQFileSystemModelTipoTypeQFileSystemModel&Tipo de Letra&Font QFontDialog&Tamanho&Size QFontDialog&Sublinhar &Underline QFontDialogEfeitosEffects QFontDialog*&Estilo Tipo de Letra Font st&yle QFontDialogAmostraSample QFontDialog0Seleccione Tipo de Letra Select Font QFontDialog&Riscar Stri&keout QFontDialog&&Sistema de EscritaWr&iting System QFontDialog:A mudana de pasta falhou: %1Changing directory failed: %1QFtp$Ligado ao servidorConnected to hostQFtp*Ligado ao servidor %1Connected to host %1QFtp@A ligao ao servidor falhou: %1Connecting to host failed: %1QFtpLigao fechadaConnection closedQFtp2Ligao de dados recusada&Connection refused for data connectionQFtp>Ligao ao servidor %1 recusadaConnection refused to host %1QFtp(Ligao a %1 fechadaConnection to %1 closedQFtp:A criao da pasta falhou: %1Creating directory failed: %1QFtpBA descarga do ficheiro falhou: %1Downloading file failed: %1QFtp,Servidor %1 encontrado Host %1 foundQFtp4Servidor %1 no encontradoHost %1 not foundQFtp&Servidor encontrado Host foundQFtp<A listagem da pasta falhou: %1Listing directory failed: %1QFtp2A autenticao falhou: %1Login failed: %1QFtpDesligado Not connectedQFtp:A remoo da pasta falhou: %1Removing directory failed: %1QFtp@A remoo do ficheiro falhou: %1Removing file failed: %1QFtp"Erro desconhecido Unknown errorQFtpJO carregamento do ficheiro falhou: %1Uploading file failed: %1QFtp"Erro desconhecido Unknown error QHostInfo.Servidor No encontradoHost not foundQHostInfoAgent:Tipo de endereo desconhecidoUnknown address typeQHostInfoAgent"Erro desconhecido Unknown errorQHostInfoAgent$Ligado ao servidorConnected to hostQHttp*Ligado ao servidor %1Connected to host %1QHttpLigao fechadaConnection closedQHttp Ligao recusadaConnection refusedQHttp(Ligao a %1 fechadaConnection to %1 closedQHttp(O pedido HTTP falhouHTTP request failedQHttp,Servidor %1 encontrado Host %1 foundQHttp4Servidor %1 no encontradoHost %1 not foundQHttp&Servidor encontrado Host foundQHttp6Corpo parcial HTTP invlidoInvalid HTTP chunked bodyQHttpFCabealho de resposta HTTP invlidoInvalid HTTP response headerQHttp4Nenhum servidor para ligarNo server set to connect toQHttpPedido abortadoRequest abortedQHttpVO servidor fechou a ligao inesperadamente%Server closed connection unexpectedlyQHttp"Erro desconhecido Unknown errorQHttp4Tamanho de contedo erradoWrong content lengthQHttpJNo foi possvel iniciar a transacoCould not start transaction QIBaseDriver:Erro ao abrir a base de dadosError opening database QIBaseDriverNNo foi possvel finalizar a transacoUnable to commit transaction QIBaseDriverHNo foi possvel anular a transacoUnable to rollback transaction QIBaseDriverFNo foi possvel alocar a expressoCould not allocate statement QIBaseResultbNo foi possvel descrever a expresso de entrada"Could not describe input statement QIBaseResultLNo foi possvel descrever a expressoCould not describe statement QIBaseResultTNo foi possvel obter o elemento seguinteCould not fetch next item QIBaseResultDNo foi possvel encontrar o arrayCould not find array QIBaseResultPNo foi possvel obter os dados do arrayCould not get array data QIBaseResultTNo foi possvel obter informao da queryCould not get query info QIBaseResult\No foi possvel obter informao da expressoCould not get statement info QIBaseResultJNo foi possvel preparar a expressoCould not prepare statement QIBaseResultJNo foi possvel iniciar a transacoCould not start transaction QIBaseResultFNo foi possvel fechar a expressoUnable to close statement QIBaseResultNNo foi possvel finalizar a transacoUnable to commit transaction QIBaseResult:No foi possvel criar o BLOBUnable to create BLOB QIBaseResultBNo foi possvel executar a queryUnable to execute query QIBaseResult:No foi possvel abrir o BLOBUnable to open BLOB QIBaseResult6No foi possvel ler o BLOBUnable to read BLOB QIBaseResult@No foi possvel escrever o BLOBUnable to write BLOB QIBaseResult8Dispositivo sem espao livreNo space left on device QIODevice:Ficheiro ou pasta inexistenteNo such file or directory QIODevice Permisso negadaPermission denied QIODevice8Demasiados ficheiros abertosToo many open files QIODevice"Erro desconhecido Unknown error QIODevice4Mtodo de entrada Max OS XMac OS X input method QInputContext2Mtodo de entrada WindowsWindows input method QInputContextXIMXIM QInputContext*Mtodo de entrada XIMXIM input method QInputContext@No foi possivel mapear '%1': %2Could not mmap '%1': %2QLibraryFNo foi possvel desmapear '%1': %2Could not unmap '%1': %2QLibrarydDados de verificao do plugin incorrectos em '%1')Plugin verification data mismatch in '%1'QLibraryO plugin '%1' usa uma biblioteca Qt incompatvel. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryO plugin '%1' usa uma biblioteca Qt incompatvel. A chave de compilao esperada "%2", ficou "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibrary"Erro desconhecido Unknown errorQLibrary&Copiar&Copy QLineEdit Co&lar&Paste QLineEdit&Refazer&Redo QLineEdit&Desfazer&Undo QLineEditCor&tarCu&t QLineEdit ApagarDelete QLineEdit Seleccionar Tudo Select All QLineEditJNo foi possvel iniciar a transacoUnable to begin transaction QMYSQLDriverNNo foi possvel finalizar a transacoUnable to commit transaction QMYSQLDriverLNo foi possvel estabelecer a ligaoUnable to connect QMYSQLDriverPNo foi possvel abrir a base de dados 'Unable to open database ' QMYSQLDriverHNo foi possvel anular a transacoUnable to rollback transaction QMYSQLDriverjNo foi possvel fazer a ligao dos valores externosUnable to bind outvalues QMYSQLResultRNo foi possvel fazer a ligao do valorUnable to bind value QMYSQLResultBNo foi possvel executar a queryUnable to execute query QMYSQLResultJNo foi possvel executar a expressoUnable to execute statement QMYSQLResult8No foi possvel obter dadosUnable to fetch data QMYSQLResultJNo foi possvel preparar a expressoUnable to prepare statement QMYSQLResultLNo foi possvel restaurar a expressoUnable to reset statement QMYSQLResultHNo foi possvel guardar o resultadoUnable to store result QMYSQLResultfNo foi possvel guardar os resultados da expresso!Unable to store statement results QMYSQLResult%1 - [%2] %1 - [%2] QMdiSubWindow&Fechar&Close QMdiSubWindow &Mover&Move QMdiSubWindow&Restaurar&Restore QMdiSubWindow&Tamanho&Size QMdiSubWindow FecharClose QMdiSubWindow AjudaHelp QMdiSubWindowMa&ximizar Ma&ximize QMdiSubWindowMaximizarMaximize QMdiSubWindowMenuMenu QMdiSubWindowMi&nimizar Mi&nimize QMdiSubWindowMinimizarMinimize QMdiSubWindowRestaurar Baixo Restore Down QMdiSubWindow&Permanecer no &Topo Stay on &Top QMdiSubWindow FecharCloseQMenuExecutarExecuteQMenu AbrirOpenQMenuAcerca do QtAbout Qt QMessageBox AjudaHelp QMessageBox.No Mostrar Detalhes...Hide Details... QMessageBoxOKOK QMessageBox&Mostrar Detalhes...Show Details... QMessageBox8Seleccione Mtodo de Entrada Select IMQMultiInputContextDSeleccionador de mtodo de entradaMultiple input method switcherQMultiInputContextPluginSeleccionador de mtodo de entrada que utiliza o menu de contexto dos elementos de textoMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPlugin\Outro 'socket' j est escuta no mesmo porto4Another socket is already listening on the same portQNativeSocketEngineTentativa de utilizao de 'socket' IPv6 numa plataforma sem suporte IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine Ligao recusadaConnection refusedQNativeSocketEngine Ligao expiradaConnection timed outQNativeSocketEngineLDatagrama demasiado grande para enviarDatagram was too large to sendQNativeSocketEngine(Mquina inalcanvelHost unreachableQNativeSocketEngine<Descritor de 'socket' invlidoInvalid socket descriptorQNativeSocketEngineErro de rede Network errorQNativeSocketEngine2Operao de rede expiradaNetwork operation timed outQNativeSocketEngine"Rede inalcanvelNetwork unreachableQNativeSocketEngine0Operao em no 'socket'Operation on non-socketQNativeSocketEngineSem recursosOut of resourcesQNativeSocketEngine Permisso negadaPermission deniedQNativeSocketEngine>Tipo de protocolo no suportadoProtocol type not supportedQNativeSocketEngine<O endereo no est disponvelThe address is not availableQNativeSocketEngine2O endereo est protegidoThe address is protectedQNativeSocketEngineHO endereo de ligao j est em uso#The bound address is already in useQNativeSocketEngineBA mquina remota fechou a ligao%The remote host closed the connectionQNativeSocketEnginehNo foi possvel inicializar 'socket' de transmisso%Unable to initialize broadcast socketQNativeSocketEnginehNo foi possvel inicializar 'socket' no bloqueante(Unable to initialize non-blocking socketQNativeSocketEngineJNo foi possvel receber uma mensagemUnable to receive a messageQNativeSocketEngineHNo foi possvel enviar uma mensagemUnable to send a messageQNativeSocketEngine2No foi possvel escreverUnable to writeQNativeSocketEngine"Erro desconhecido Unknown errorQNativeSocketEngineDOperao de 'socket' no suportadaUnsupported socket operationQNativeSocketEngineJNo foi possvel iniciar a transacoUnable to begin transaction QOCIDriver8No foi possvel inicializarUnable to initialize QOCIDriver6No foi possvel autenticarUnable to logon QOCIDriverFNo foi possvel alocar a expressoUnable to alloc statement QOCIResultNo foi possvel fazer a licao da coluna para execuo 'batch''Unable to bind column for batch execute QOCIResultVNo foi possvel fazer o ligamento do valorUnable to bind value QOCIResult`No foi possvel executar a expresso de 'batch'!Unable to execute batch statement QOCIResultJNo foi possvel executar a expressoUnable to execute statement QOCIResultFNo foi possvel passar ao seguinteUnable to goto next QOCIResultJNo foi possvel preparar a expressoUnable to prepare statement QOCIResultNNo foi possvel finalizar a transacoUnable to commit transaction QODBCDriver,No foi possvel ligarUnable to connect QODBCDriverNo foi possvel ligar - O 'driver' no suporta todas as funcionalidades necessriasCUnable to connect - Driver doesn't support all needed functionality QODBCDriverfNo foi possvel desactivar finalizao automticaUnable to disable autocommit QODBCDriver^No foi possvel activar finalizao automticaUnable to enable autocommit QODBCDriverHNo foi possvel anular a transacoUnable to rollback transaction QODBCDriver(QODBCResult::reset: No foi possvel definir 'SQL_CURSOR_STATIC' como atributo da expresso. Por favor verifique a configurao do seu 'driver' ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult\No foi possvel fazer o ligamento da varivelUnable to bind variable QODBCResultJNo foi possvel executar a expressoUnable to execute statement QODBCResultBObteno do primeiro no possvelUnable to fetch first QODBCResultBNo foi possvel obter o seguinteUnable to fetch next QODBCResultJNo foi possvel preparar a expressoUnable to prepare statement QODBCResult IncioHomeQObjectNomeNameQPPDOptionsModel ValorValueQPPDOptionsModelJNo foi possvel iniciar a transacoCould not begin transaction QPSQLDriverNNo foi possvel finalizar a transacoCould not commit transaction QPSQLDriverHNo foi possvel anular a transacoCould not rollback transaction QPSQLDriver,No foi possvel ligarUnable to connect QPSQLDriver@No foi possvel criar a 'query'Unable to create query QPSQLResultPaisagem LandscapeQPageSetupWidgetTamanho pgina: Page size:QPageSetupWidgetFonte papel: Paper source:QPageSetupWidgetRetratoPortraitQPageSetupWidget"Erro desconhecido Unknown error QPluginLoader@%1 j existe. Deseja substituir?/%1 already exists. Do you want to overwrite it? QPrintDialog@<qt>Deseja gravar por cima?</qt>%Do you want to overwrite it? QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogPA4 (210 x 297 mm, 8.26 x 11.7 polegadas)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialog,Nomes Alternativos: %1 Aliases: %1 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogPB5 (176 x 250 mm, 6.93 x 9.84 polegadas)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialogXExecutivo (7.5 x 10 polegadas, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogNo possvel escrever no ficheiro %1. Por favor escolha um nome diferente.=File %1 is not writable. Please choose a different file name. QPrintDialog"O ficheiro existe File exists QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialogPLegal (8.5 x 14 polegadas, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialogPCarta (8.5 x 11 polegadas, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogOKOK QPrintDialogImprimirPrint QPrintDialog4Imprimir Para Ficheiro ...Print To File ... QPrintDialogImprimir todas Print all QPrintDialog&Seleco de pginas Print range QPrintDialog*Seleco de ImpressoPrint selection QPrintDialog.Tablide (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogJEnvelope #10 Comum EUA (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialog"ligado localmentelocally connected QPrintDialogdesconhecidounknown QPrintDialog FecharCloseQPrintPreviewDialogPaisagem LandscapeQPrintPreviewDialogRetratoPortraitQPrintPreviewDialog JuntarCollateQPrintSettingsOutput CpiasCopiesQPrintSettingsOutput OpesOptionsQPrintSettingsOutputPginas de Pages fromQPrintSettingsOutputImprimir todas Print allQPrintSettingsOutput&Seleco de pginas Print rangeQPrintSettingsOutputSeleco SelectionQPrintSettingsOutputatoQPrintSettingsOutputImpressoraPrinter QPrintWidgetCancelarCancelQProgressDialog AbrirOpen QPushButtonActivarCheck QRadioButtonDm sintaxe de classe de caracteresbad char class syntaxQRegExp2m sintaxe de antecipaobad lookahead syntaxQRegExp.m sintaxe de repetiobad repetition syntaxQRegExp^funcionalidade desactivada est a ser utilizadadisabled feature usedQRegExp(valor octal invlidoinvalid octal valueQRegExp0limite interno alcanadomet internal limitQRegExp:delimitador esquerdo em faltamissing left delimQRegExpsem errosno error occurredQRegExpfim inesperadounexpected endQRegExp6Erro ao abrir base de dadosError to open databaseQSQLite2DriverJNo foi possvel iniciar a transacoUnable to begin transactionQSQLite2DriverNNo foi possvel finalizar a transacoUnable to commit transactionQSQLite2DriverHNo foi possvel anular a transacoUnable to rollback TransactionQSQLite2DriverJNo foi possvel executar a expressoUnable to execute statementQSQLite2ResultHNo foi possvel obter os resultadosUnable to fetch resultsQSQLite2Result<Erro ao fechar a base de dadosError closing database QSQLiteDriver:Erro ao abrir a base de dadosError opening database QSQLiteDriverJNo foi possvel iniciar a transacoUnable to begin transaction QSQLiteDriverNNo foi possvel finalizar a transacoUnable to commit transaction QSQLiteDriverVIncorrespondncia de contagem de parmetrosParameter count mismatch QSQLiteResult^No foi possvel fazer a ligao dos parametrosUnable to bind parameters QSQLiteResultJNo foi possvel executar a expressoUnable to execute statement QSQLiteResult<No foi possvel obter a linhaUnable to fetch row QSQLiteResultLNo foi possvel restaurar a expressoUnable to reset statement QSQLiteResult FundoBottom QScrollBarBorda esquerda Left edge QScrollBarLinha abaixo Line down QScrollBarLinha acimaLine up QScrollBar"Pgina para baixo Page down QScrollBar(Pgina para esquerda Page left QScrollBar&Pgina para direita Page right QScrollBar Pgina para cimaPage up QScrollBarPosioPosition QScrollBarBorda direita Right edge QScrollBar&Deslizar para baixo Scroll down QScrollBarDeslizar aqui Scroll here QScrollBar,Deslizar para esquerda Scroll left QScrollBar.Deslizar para a direita Scroll right QScrollBar$Deslizar para cima Scroll up QScrollBarTopoTop QScrollBar++ QShortcutAltAlt QShortcutAnteriorBack QShortcutBackspace Backspace QShortcutBacktabBacktab QShortcutBass Boost Bass Boost QShortcutBass Baixo Bass Down QShortcutBass CimaBass Up QShortcut ChamarCall QShortcutCaps Lock Caps Lock QShortcutCapsLockCapsLock QShortcutContexto1Context1 QShortcutContexto2Context2 QShortcutContexto3Context3 QShortcutContexto4Context4 QShortcutCtrlCtrl QShortcut DeleteDel QShortcut DeleteDelete QShortcut BaixoDown QShortcutEndEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutFavoritos Favorites QShortcutInverterFlip QShortcutSeguinteForward QShortcutDesligarHangup QShortcut AjudaHelp QShortcutHomeHome QShortcut Pgina Principal Home Page QShortcut InsertIns QShortcut InsertInsert QShortcutExecutar (0) Launch (0) QShortcutExecutar (1) Launch (1) QShortcutExecutar (2) Launch (2) QShortcutExecutar (3) Launch (3) QShortcutExecutar (4) Launch (4) QShortcutExecutar (5) Launch (5) QShortcutExecutar (6) Launch (6) QShortcutExecutar (7) Launch (7) QShortcutExecutar (8) Launch (8) QShortcutExecutar (9) Launch (9) QShortcutExecutar (A) Launch (A) QShortcutExecutar (B) Launch (B) QShortcutExecutar (C) Launch (C) QShortcutExecutar (D) Launch (D) QShortcutExecutar (E) Launch (E) QShortcutExecutar (F) Launch (F) QShortcut&Correio Electrnico Launch Mail QShortcut Mdia Launch Media QShortcutEsquerdaLeft QShortcutMdia Seguinte Media Next QShortcutTocar Mdia Media Play QShortcutMdia AnteriorMedia Previous QShortcutGravao Mdia Media Record QShortcutParar Mdia Media Stop QShortcutMenuMenu QShortcutMetaMeta QShortcutNoNo QShortcutNum LockNum Lock QShortcutNum LockNumLock QShortcutNumber Lock Number Lock QShortcutAbrir EndereoOpen URL QShortcutPage Down Page Down QShortcutPage UpPage Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut PrintPrint QShortcutPrint Screen Print Screen QShortcutRefrescarRefresh QShortcut ReturnReturn QShortcutDireitaRight QShortcutScroll Lock Scroll Lock QShortcutScrollLock ScrollLock QShortcutProcurarSearch QShortcut SelectSelect QShortcut ShiftShift QShortcut SpaceSpace QShortcutHibernaoStandby QShortcut PararStop QShortcut SysReqSysReq QShortcutSystem RequestSystem Request QShortcutTabTab QShortcutTreble Baixo Treble Down QShortcutTreble Cima Treble Up QShortcutCimaUp QShortcutVolume Cima Volume Down QShortcutVolume Mute Volume Mute QShortcutVolume Baixo Volume Up QShortcutSimYes QShortcut"Pgina para baixo Page downQSlider(Pgina para esquerda Page leftQSlider&Pgina para direita Page rightQSlider Pgina para cimaPage upQSliderPosioPositionQSlider2Operao de rede expiradaNetwork operation timed outQSocks5SocketEngine MenosLessQSpinBoxMaisMoreQSpinBoxCancelarCancelQSql.Cancelar as alteraes?Cancel your edits?QSqlConfirmarConfirmQSql ApagarDeleteQSql(Apagar este registo?Delete this record?QSqlInserirInsertQSqlNoNoQSql*Gravar as alteraes? Save edits?QSqlActualizarUpdateQSqlSimYesQSqlLNo foi possvel estabelecer a ligaoUnable to open connection QTDSDriverRNo foi possvel utilizar a base de dadosUnable to use database QTDSDriver,Deslizar para Esquerda Scroll LeftQTabBar*Deslizar para Direita Scroll RightQTabBar&Copiar&Copy QTextControl Co&lar&Paste QTextControl&Refazer&Redo QTextControl&Desfazer&Undo QTextControl<Copiar &Localizao da LigaoCopy &Link Location QTextControlCor&tarCu&t QTextControl ApagarDelete QTextControl Seleccionar Tudo Select All QTextControl AbrirOpen QToolButtonPressionarPress QToolButton@Esta plataforma no suporta IPv6#This platform does not support IPv6 QUdpSocketRefazerRedo QUndoGroupDesfazerUndo QUndoGroup<vazio> QUndoModelRefazerRedo QUndoStackDesfazerUndo QUndoStackHInserir carcter de controlo Unicode Insert Unicode control characterQUnicodeControlCharacterMenuVLRE Incio de encaixe esquerda-para-direita$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu>LRM Marca esquerda-para-direitaLRM Left-to-right markQUnicodeControlCharacterMenu`LRO Incio de sobreposio esquerda-para-direita#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu<PDF Formatao pop direccionalPDF Pop directional formattingQUnicodeControlCharacterMenuVRLE Incio de encaixe direita-para-esquerda$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu>RLM Marca direita-para-esquerdaRLM Right-to-left markQUnicodeControlCharacterMenu`RLO Incio de sobreposio direita-para-esquerda#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu>ZWJ Ligador de comprimento zeroZWJ Zero width joinerQUnicodeControlCharacterMenuHZWNJ No-ligador de comprimento zeroZWNJ Zero width non-joinerQUnicodeControlCharacterMenu>ZWSP Espao de comprimento zeroZWSP Zero width spaceQUnicodeControlCharacterMenu FundoBottomQWebPageIgnorarIgnoreQWebPageIgnorar Ignore Grammar context menu itemIgnoreQWebPageBorda esquerda Left edgeQWebPage"Pgina para baixo Page downQWebPage(Pgina para esquerda Page leftQWebPage&Pgina para direita Page rightQWebPage Pgina para cimaPage upQWebPageRestaurarResetQWebPageBorda direita Right edgeQWebPage&Deslizar para baixo Scroll downQWebPageDeslizar aqui Scroll hereQWebPage,Deslizar para esquerda Scroll leftQWebPage.Deslizar para a direita Scroll rightQWebPage$Deslizar para cima Scroll upQWebPage PararStopQWebPageTopoTopQWebPageDesconhecidoUnknownQWebPageO Que Isto? What's This?QWhatsThisAction**QWidget&Terminar&FinishQWizard &Ajuda&HelpQWizard&Avanar >&Next >QWizard< &Recuar< &BackQWizardCancelarCancelQWizard AjudaHelpQWizard%1 - [%2] %1 - [%2] QWorkspace&Fechar&Close QWorkspace &Mover&Move QWorkspace&Restaurar&Restore QWorkspace&Tamanho&Size QWorkspace&Sair Sombra&Unshade QWorkspace FecharClose QWorkspaceMa&ximizar Ma&ximize QWorkspaceMi&nimizar Mi&nimize QWorkspaceMinimizarMinimize QWorkspaceRestaurar Baixo Restore Down QWorkspaceSombr&aSh&ade QWorkspace&Permanecer no &Topo Stay on &Top QWorkspacedeclarao de codificao ou declarao nica esperada ao ler a declarao XMLYencoding declaration or standalone declaration expected while reading the XML declarationQXmlTerro na declarao de uma entidade externa3error in the text declaration of an external entityQXml6erro ao analisar comentrio$error occurred while parsing commentQXml6erro ao analisar o contedo$error occurred while parsing contentQXmlberro ao analisar a definio de tipo de documento5error occurred while parsing document type definitionQXml2erro ao analisar elemento$error occurred while parsing elementQXml6erro ao analisar referncia&error occurred while parsing referenceQXml<erro disparado pelo consumidorerror triggered by consumerQXmlreferncia de entidade geral analisada externa no permitida na DTD;external parsed general entity reference not allowed in DTDQXmlreferncia de entidade geral analisada externa no permitida no valor do atributoGexternal parsed general entity reference not allowed in attribute valueQXmlrreferncia de entidade geral interna no permitida na DTD4internal general entity reference not allowed in DTDQXmlVnome invlido de instruo de processamento'invalid name for processing instructionQXml(uma letra esperadaletter is expectedQXmlTmais de uma definio de tipo de documento&more than one document type definitionQXml.no ocorreu nenhum errono error occurredQXml(entidades recursivasrecursive entitiesQXmlbdeclarao nica esperada ao ler a declarao XMLAstandalone declaration expected while reading the XML declarationQXml2m combinao de etiqueta tag mismatchQXml&carcter inesperadounexpected characterQXml4fim de ficheiro inesperadounexpected end of fileQXmlnreferncia de entidade no analisada em contexto errado*unparsed entity reference in wrong contextQXmlNverso esperada ao ler a declarao XML2version expected while reading the XML declarationQXmlDvalor errado para declarao nica&wrong value for standalone declarationQXmlqelectrotech-0.22+svn897/lang/qet_ru.qm0000644000175000017500000027405311346742300017671 0ustar laurentlaurentZWh0hGl`=#%&ETZVTVV7XZ]XZ^ŮqŮX~OQJjcgI!M&I*/*2)@YY2)@\ 7 GGSHSI(CSIiEA*I rL:M1vM2Q5RU_:%U%UmV56V5TVWcZgbZ:ZUfiPhN%iiE1'iiEGp:0rE2rEJ?vvzɅzϥ2zϥPإ%TV!4>f<]<$~/1%'Hvpw>T&SW:Ƕ\LɌ_/C(!=5Ӄs+1ؾ2ܥ$r^Zs8snb~-[k7dto Ƅ#" s#01H1!B"b.MouS*Vh4Zh#gk k^wldF\n#s2 1h+:z ۬'yyĎNQ^?IyF"/ܰc%ooZ vw(('\ W"["[(!4Rd@>,UA_SjUX5Z 5qZ M|eyhn)x}5'ܲR*  o=/+0e+BɩGQ±„±#d T"(r75;2! Ad& ,c,(H3y{Hv Hv XNqV!`XQ~g_$_PgNh:cln~ s!-yI{K{$%(r3M3X=Y^sEo>QsPL#hhvAIZTG2 5' Y N2&!jb%1b6ǃ'EoEsIYgs<*vxyy+Z?XuM#N`$%VEƍ|2iǠ! ;* *XMMDQEd8*$PA‘ɌAɌ}*ɌɌɌ S`VvYg1n`֎;mc"n a<z 4# 22KQ^t ~tI,r%d(N 5.8(5@H}mNQTxNO~AUP%P%fP%?V:V|TfQi8uXi8uU2l3ۈl3l5l5o :q^~vFy`za{ ZE!d=B]=B _gwĐFp1^p1BuG%A(aHn :,: :W.ؒƪ229.!Xw柅=d˖d (* 59k ,k:::N$:EY/D0u2(Lb?52??5OAHǔIE4xJ%MPc /Q>RfRfбYsQhhVioNy]d}1SC;bDT\ g+4 .i7o @/"J*KK(L˅ohuk@Qk@Rnobr x=y`zY z6mFA EOs l1Oύ W%Zp%].ф-T".07dy!4ٮNqu~U:=tIKz{EIiUuFeh(NF5 h}8N'zU‚O&U‚|tU‚9U‚ ]um%o7oWc\Q E>wfY.P[ K[ [YG[S[X<[Z9[](D}t/>Z-rrr)%OdϜ.%A ASٟ^"ܖsܞR"ޚr  k p  ִ#9 M^ K# < <-Q j 1NC} 3Q> ;E: K 9 Pc% Pc* \+ }ve s0ER i 5PG  6 X R_ X Y \ ݚ Ԡtb  )b Zu C ~ / ;BI UjO t' r B 8NI 8N< 1 H N7 NJ: a:= p җ ƂA Ƃ= -w "=x "= &Nw */ */ 2 @5) Q) ^# _ bς bς dU& dR e5Y e5\ k3y k" m q  r4 rL t: vg =I al ss SL ͥ5 ͥR[ > ]fU n!> 62v 6O p f iW iY i[ ^!F ar[ s ̓ ϧj ׿  u8 ގ Y Ⱦ 4R 4' 4 .n.q Oy %1dd %mr &hu &k!) A( F ^#x _?^B l"+ l"7 y2E y`g >l jVL Q qN sK =J !C n?g k =cSg ?L ub ӽ 鶏# 5 uM deOa ̀  S MP v`V  AN ,ZD 31 3I 5({ @xh BEt LU* R7u VFB X [{5# ]Vc[A `8r7 huB l(H v.UF z ~cM uT ^@ ^D 5- c 5 M' Q q / 3 ϚN Ϛ! &| N b2 b2A *C+ _ c bA b v`Y 4 # g$ / u  >@" N  ~k '^ '^] (3n9 )5 - B ?WP C DY DYX DY DYB DYi DY DZ& DZ DZȲ E ZA T T8 U$ X [#QL \I \ރ aՒ yC# z q 'Xo 4 ȣ y 3r  ~7 K% > 3 ^j y %x 1 0 56Y A 4?I>$,?T?TAPSEpG, ISsUAWQtnCnn Hn5/v[v{ Hq% o \ @(@,p%)q~~Ke>F. h}o>p  u.>G5>i^7&8F5=78O&Accord de licenceAboutQET&#G0AB=8:8&ContributeursAboutQET&5@52>4G8:8 &TraducteursAboutQET&2B>@KA&uteursAboutQET`-B0 ?@>3@0<<0 ;8F5=78@>20=0 =0 CA;>28OE GNU/GPL.&Ce programme est sous licence GNU/GPL.AboutQET =0G:8IcnesAboutQET,@838=0;L=0O :>=F5?F8OIde originaleAboutQET 0:5B 4;O DebianPaquets DebianAboutQET 0:5B 4;O FedoraPaquets FedoraAboutQET$0:5B 4;O MandrivaPaquets MandrivaAboutQET @>3@0<<8@>20=85 ProgrammationAboutQETxQElectroTech - ?@8;>65=85 4;O @07@01>B:8 M;5:B@8G5A:8E AE5<.DQElectroTech, une application de ralisation de schmas lectriques.AboutQET(5@52>4 =0 8A?0=A:89Traduction en espagnolAboutQET05@52>4 =0 ?>@BC30;LA:89Traduction en portugaisAboutQET$5@52>4 =0 @CAA:89Traduction en russeAboutQET$5@52>4 =0 G5HA:89Traduction en tchqueAboutQETJ 2006-2010 @07@01>BG8:8 QElectroTech, 2006-2010 Les dveloppeurs de QElectroTechAboutQET &?@>3@0<<5 &proposAboutQET ?@>3@0<<5 propos de QElectrotechAboutQET #3>; :Angle : ArcEditor 0G0;L=K9 C3>; :Angle de dpart : ArcEditor&5=B@ :  Centre :  ArcEditor80<5B@K :  Diamtres :  ArcEditor01AF8AA0abscisse ArcEditorC3>;angle ArcEditor=0G0;L=K9 C3>;angle de dpart ArcEditor,3>@87>=B0;L=K9 480<5B@diamtre horizontal ArcEditor(25@B8:0;L=K9 480<5B@diamtre vertical ArcEditor 3>@87>=B0;L=K9 : horizontal : ArcEditor>@48=0B0ordonne ArcEditor25@B8:0;L=K9 : vertical : ArcEditor 2B>@ : %1 Auteur : %1 BorderInset 0B0 : %1 Date : %1 BorderInset $09; : %1 Fichier : %1 BorderInset $>;8> : %1 Folio : %1 BorderInset(B>1@060BL 703>;>2:8Afficher les en-ttesBorderPropertiesWidget>;>=:8 : Colonnes :BorderPropertiesWidget 07<5@ AE5<KDimensions du schmaBorderPropertiesWidget!B@>:8 :Lignes :BorderPropertiesWidget?8:ApxBorderPropertiesWidget?8:Aunit for rows heightpxBorderPropertiesWidgetBorderPropertiesWidget&5=B@ :  Centre :  CircleEditor80<5B@ :  Diamtre :  CircleEditor01AF8AA0abscisse CircleEditor480<5B@diamtre CircleEditor>@48=0B0ordonne CircleEditor !B8;L ?@>2>4=8:0Apparence du conducteurConductorPropertiesWidget&25B :  Couleur :ConductorPropertiesWidget=>3>;8=59=K9 MultifilaireConductorPropertiesWidget@>AB>9SimpleConductorPropertiesWidget"5:AB :Texte :ConductorPropertiesWidget C=:B8@=0O ;8=8OTrait en pointillsConductorPropertiesWidget"8? ?@>2>4=8:0Type de conducteurConductorPropertiesWidget4=>;8=59=K9 UnifilaireConductorPropertiesWidget=59B@0;LneutreConductorPropertiesWidgetD070phaseConductorPropertiesWidget 75<;OterreConductorPropertiesWidget,0AB@>9:0 QElectroTechConfigurer QElectroTech ConfigDialog"K1>@ B8?0 ?5G0B8Choix du type d'impressionDiagramPrintDialog $09; >BACBAB2C5BFichier manquantDiagramPrintDialog"PDF-D09;K (*.pdf)Fichiers PDF (*.pdf)DiagramPrintDialog.PostScript-D09;K (*.ps)Fichiers PostScript (*.ps)DiagramPrintDialog<5G0B0BL =0 D878G5A:89 ?@8=B5@&Impression sur une imprimante physiqueDiagramPrintDialog&5G0B0BL 2 PDF-D09;(Impression vers un fichier au format PDFDiagramPrintDialog>5G0B0BL 2 PostScript-D09; (PS)4Impression vers un fichier au format PostScript (PS)DiagramPrintDialog 0AB@>9:0 ?5G0B8Options d'impressionDiagramPrintDialog>0:>9 284 ?5G0B8 20< =5>1E>48<?/Quel type d'impression dsirez-vous effectuer ?DiagramPrintDialogpK 4>;6=K 225AB8 ?CBL : D09;C PDF/PS, GB>1K A>740BL 53>.8Vous devez indiquer le chemin du fichier PDF/PS crer.DiagramPrintDialog 07@5H5=K Autorises DiagramViewK2>4K : %1  Bornes: %1  DiagramView("5:AB>2>5 ?>;5 : %1 Champs de texte: %1  DiagramViewAB028BL 745AL Coller ici DiagramView6=CB@5==85 A>548=5=8O : %1 Connexions internes: %1  DiagramView  07<5@K : %1%2 Dimensions: %1%2  DiagramView& 0AA?>;>65=85 : %1 Emplacement: %1  DiagramView0?@5I5=K Interdites DiagramView,K45;5=85 A>45@68B %1.La slection contient %1. DiagramView<O : %1  Nom: %1  DiagramView>;>65=85 : %1 Position: %1  DiagramView8!2>9AB20 2K1@0==>3> M;5<5=B0#Proprits de l'lment slectionn DiagramView$!2>9AB20 2K45;5=8OProprits de la slection DiagramView!2>9AB20 AE5<KProprits du schma DiagramView09B8 2 ?0=5;8Retrouver dans le panel DiagramView!E5<0 %1 Schma %1 DiagramView 57K<O==0O AE5<0Schma sans titre DiagramView* 540:B8@>20BL M;5<5=Bditer l'lment DiagramView@ 540:B8@>20=85 A2>AB2 ?@>2>4=8:0%diter les proprits d'un conducteur DiagramViewZ 540:B8@>20=85 C<0;G8205<KE A2>AB2 ?@>2>4=8:00diter les proprits par dfaut des conducteurs DiagramView-;5<5=BKlment DiagramView&BACBAB2C5B M;5<5=Blment manquant DiagramView 57K<O==0O AE5<0Schma sans titreDiagramsChooserJ&5;52>9 M;5<5=B =5 <>65B 1KBL A>740=.!L'lment cible n'a pu tre cr.ElementDefinitionF#40;5=85 MB>3> M;5<5=B0 =5 C40;>AL.'La suppression de cet lment a chou.ElementDefinition:#40;5=85 M;5<5=B0 =5 C40;>AL.%La suppression de l'lment a chou.ElementDeleter"#40;5=85 M;5<5=B0Suppression de l'lmentElementDeleter #40;8BL M;5<5=B?Supprimer l'lment ?ElementDeleterPK C25@5=K, GB> E>B8B5 C40;8BL M;5<5=B? 1tes-vous sr de vouloir supprimer cet lment ? ElementDeleterK15@8B5 M;5<5=B, 2 :>B>@>< 2K E>B8B5 A>E@0=8BL 20H5 >?@545;5=85.MChoisissez l'lment dans lequel vous souhaitez enregistrer votre dfinition. ElementDialogXK15@8B5 M;5<5=B, :>B>@K9 2K E>B8B5 >B:@KBL./Choisissez l'lment que vous souhaitez ouvrir. ElementDialog&K15@8B5 :0B53>@8N.Choisissez une catgorie. ElementDialog"!>E@0=8BL M;5<5=BEnregistrer un lment ElementDialog&!>E@0=8BL :0B53>@8NEnregistrer une catgorie ElementDialog`-;5<5=B C65 ACI5AB2C5B. %>B8B5 ?5@570?8A0BL 53>?.L'lment existe dj. Voulez-vous l'craser ? ElementDialog@K45;5=85 =5 O2;O5BAO M;5<5=B><."La slection n'est pas un lment. ElementDialog0K45;5=85 =5 ACI5AB2C5B.La slection n'existe pas. ElementDialog <O :Nom : ElementDialog525@=>5 8<O Nom invalide ElementDialog"@51C5BAO 8<O Nom manquant ElementDialogB:@KBL M;5<5=BOuvrir un lment ElementDialog"B:@KBL :0B53>@8NOuvrir une catgorie ElementDialog5B 2K45;5=8OPas de slection ElementDialog,5:>@@5:B=>5 2K45;5=85Slection incorrecte ElementDialog05ACI5AB2CNI55 2K45;5=85Slection inexistante ElementDialog:K 4>;6=K 7040BL 8<O M;5<5=B0'Vous devez entrer un nom pour l'lment ElementDialog6K 4>;6=K 2K45;8BL M;5<5=B.#Vous devez slectionner un lment. ElementDialogPK 4>;6=K 2K1@0BL :0B53>@8N 8;8 M;5<5=B.4Vous devez slectionner une catgorie ou un lment. ElementDialogK =5 <>65B5 8A?>;L7>20BL >48= 87 A;54CNI8E A8<2>;>2 2 8<5=8 M;5<5=B0: %1QVous ne pouvez pas utiliser les caractres suivants dans le nom de l'lment : %1 ElementDialog*5@570?8A0BL M;5<5=B?craser l'lment ? ElementDialog> 07@5H0BL 2=CB@5==85 A>548=5=8O!Autoriser les connexions internes ElementSceneh-B>B XML-4>:C<5=B =5 O2;O5BAO >?@545;5=85< M;5<5=B0.3Ce document XML n'est pas une dfinition d'lment. ElementScene0?@02;5=85 ?> C<>;G0=8N - =0?@02;5=85, 2 :>B>@>< A>740QBAO M;5<5=B.]L'orientation par dfaut est l'orientation dans laquelle s'effectue la cration de l'lment. ElementSceneN 07<5@K 8;8 >?>@=0O B>G:0 =5 ?@028;L=K.9Les dimensions ou le point de saisie ne sont pas valides. ElementScene(525@=0O >@85=B0F8O.%Les orientations ne sont pas valides. ElementScene^K <>65B5 225AB8 8<O M;5<5=B0 =0 @07=KE O7K:0E.AVous pouvez spcifier le nom de l'lment dans plusieurs langues. ElementSceneK <>65B5 8A?>;L7>20BL MB> ?>;5, GB>1K C:070BL 02B>@>2 MB>3> M;5<5=B0, 53> ;8F5=788, 8;8 ;N1CN 4@C3CN 8=D>@<0F8N, :>B>@CN 2K A>GB5B5 ?>;57=>9.Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'lment, sa licence, ou tout autre renseignement que vous jugerez utile. ElementScene4C30arc ElementScene 2K2>4borne ElementScene>:@C6=>ABLcercle ElementSceneB5:AB>2>5 ?>;5champ de texte ElementScene M;8?Aellipse ElementScene ;8=8Oligne ElementScene?>;83>=polygone ElementScene?@O<>C3>;L=8: rectangle ElementScene B5:ABtexte ElementSceneH 540:B8@>20BL @07<5@ 8 >?>@=CN B>G:C&diter la taille et le point de saisie ElementSceneF 540:B8@>20=85 8=D>@<0F88 >1 02B>@5$diter les informations sur l'auteur ElementScene& 540:B8@>20BL 8<5=0diter les noms ElementScene. 540:B8@>20BL ?>;>65=85diter les orientations ElementScene>;;5:F8O QETCollection QETElementsCategoriesList">;;5:F8O ?@>5:B0Collection projetElementsCategoriesList,>;;5:F8O ?>;L7>20B5;OCollection utilisateurElementsCategoriesList>20O :0B53>@8ONouvelle catgorieElementsCategoriesWidget.5@5703@C78BL :0B53>@8NRecharger les catgoriesElementsCategoriesWidget"#40;8BL :0B53>@8NSupprimer la catgorieElementsCategoriesWidget, 540:B8@20BL :0B53>@8Nditer la catgorieElementsCategoriesWidget:52>7<>6=> C40;8BL :>;;5:F8N.1Il n'est pas possible de dplacer une collection.ElementsCategory452>7<>6=> C40;8BL M;5<5=B!Impossible de supprimer l'lmentElementsCategory852>7<>6=> C40;8BL :0B53>@8N$Impossible de supprimer la catgorieElementsCategoryz5;L7O A:>?8@>20BL :0B53>@8N 2 A0<C A51O 8;8 5Q ?>4:0B53>@8N.]La copie d'une catgorie vers elle-mme ou vers l'une de ses sous-catgories n'est pas gre.ElementsCategoryD#40;5=85 MB>9 :0B53>@88 =5C40;>AL.+La suppression de cette catgorie a chou.ElementsCategory\5;L7O ?5@5<5I0BL :0B53>@8N 2 5Q ?>4:0B53>@8N.RLe dplacement d'une catgorie dans une de ses sous-catgories n'est pas possible.ElementsCategory:#40;5=85 :0B53>@88 =5C40;>AL.(La suppression de la catgorie a chou.ElementsCategoryDeleter$#40;5=85 :0B53>@88Suppression de la catgorieElementsCategoryDeleter$#40;8BL :0B53>@8N?Supprimer la catgorie ?ElementsCategoryDeleter&G8AB8BL :>;;5:F8N?Vider la collection ?ElementsCategoryDeleterK 459AB28B5;L=> E>B8B5 C40;8BL :0B53>@8N? A5 M;5<5=BK 8 :0B53>@88 2 MB>9 :0B53>@88, 1C4CB C40;5=K.tes-vous sr de vouloir supprimer la catgorie ? Tous les lments et les catgories contenus dans cette catgorie seront supprims.ElementsCategoryDeleter\K C25@5=K, GB> E>B8B5 >G8AB8BL MBC :>;;5:F8N?1tes-vous sr de vouloir vider cette collection ?ElementsCategoryDeleterK 459AB28B5;L=> E>B8B5 C40;8BL MBC :0B53>@8N? -B8 87<5=5=8O 1C4CB >:>=G0B5;L=K<8.`tes-vous vraiment sr de vouloir supprimer cette catgorie ? Les changements seront dfinitifs.ElementsCategoryDeleter05ACI5AB2CNI0O :0B53>@8OCatgorie inexistanteElementsCategoryEditor0>1028BL =>2CN :0B53>@8NCrer une nouvelle catgorieElementsCategoryEditor H81:0ErreurElementsCategoryEditor<52>7<>6=> A>E@0=8BL :0B53>@8N%Impossible d'enregistrer la catgorieElementsCategoryEditor852>7<>6=> A>740BL :0B53>@8N Impossible de crer la catgorieElementsCategoryEditorZ"@51C5<0O :0B53>@8O =5 ACI5AB2C5B. @>?CI5=>.,La catgorie demande n'existe pas. Abandon.ElementsCategoryEditor=CB@5==55 8<O, :>B>@>5 2K 2K1@0;8 C65 8A?>;L7C5BAO 4@C3>9 :0B53>@859. >60;C9AB0, 2K15@8B5 4@C3>5 8<O.oLe nom interne que vous avez choisi est dj utilis par une catgorie existante. Veuillez en choisir un autre.ElementsCategoryEditor&<O =>2>9 :0B53>@88Nom de la nouvelle catgorieElementsCategoryEditor"=CB@5==55 8<O : Nom interne : ElementsCategoryEditor>=CB@5==55 8<O C65 8A?>;L7C5BAONom interne dj utilisElementsCategoryEditor4BACBAB2C5B 2=CB@5==55 8<ONom interne manquantElementsCategoryEditorBK 4>;6=K C:070BL 2=CB@5==55 8<O.$Vous devez spcifier un nom interne.ElementsCategoryEditor# 20A =5B ?@02 4;O @540:B8@>20=8O MB>9 :0B53>@88. =0 1C45B >B:@KB0 2 @568<5 "B>;L:> 4;O GB5=8O".rVous n'avez pas les privilges ncessaires pour modifier cette catgorie. Elle sera donc ouverte en lecture seule.ElementsCategoryEditordK <>65B5 4>120BL 8<O :0B53>@88 4;O :064>3> O7K:0.:Vous pouvez spcifier un nom par langue pour la catgorie.ElementsCategoryEditor. 540:B8@>20BL :0B53>@8Nditer une catgorieElementsCategoryEditor05@A8O B>;L:> 4;O GB5=8Odition en lecture seuleElementsCategoryEditorB52>7<>6=> ?5@5<5AB8BL :>;;5:F8N.1Il n'est pas possible de dplacer une collection.ElementsCollection<%1 [=5 8A?>;L7C5BAO 2 ?@>5:B5]%1 [non utilis dans le projet] ElementsPanel^-B>B M;5<5=B 2K <>65B5 ?5@5B0I8BL =0 20HC AE5<CRCeci est un lment que vous pouvez insrer dans votre schma par cliquer-dplacer ElementsPanelV5@5B0I8B5 M;5<5=B =0 AE5<C, GB>1K 2AB028BLBCliquer-dposez cet lment sur le schma pour insrer un lment  ElementsPanel>;;5:F8O QETCollection QET ElementsPanel">;;5:F8O ?@>5:B0Collection projet ElementsPanel,>;;5:F8O ?>;L7>20B5;OCollection utilisateur ElementsPanel5B D09;>2Pas de fichier ElementsPanel 57K<O==0O AE5<0Schma sans titre ElementsPanel 5@5<5AB8BL =865Abaisser ce schmaElementsPanelWidget>1028BL AE5<CAjouter un schmaElementsPanelWidget B<5=0AnnulerElementsPanelWidget4>?8@>20BL 2 MBC :0B53>@8NCopier dans cette catgorieElementsPanelWidget65@5<5AB8BL 2 MBC :0B53>@8NDplacer dans cette catgorieElementsPanelWidgetG8AB8BL D8;LB@Effacer le filtreElementsPanelWidget&0:@KBL MB>B ?@>5:BFermer ce projetElementsPanelWidget$8;LB@ :  Filtrer : ElementsPanelWidget$5=5465@ :0B53>@89Gestionnaire de catgoriesElementsPanelWidget<?>@B M;5<5=B0Importer un lmentElementsPanelWidget>2K9 M;5<5=BNouvel lmentElementsPanelWidget>20O :0B53>@8ONouvelle catgorieElementsPanelWidget !2>9AB20 ?@>5:B0Proprits du projetElementsPanelWidget!2>9AB20 AE5<KProprits du schmaElementsPanelWidget.5@5703@C78BL :>;;5:F8NRecharger les collectionsElementsPanelWidget 5@5<5AB8BL 2KH5Remonter ce schmaElementsPanelWidget"#40;8BL MBC AE5<CSupprimer ce schmaElementsPanelWidget#40;8BL M;5<5=BSupprimer l'lmentElementsPanelWidget"#40;8BL :0B53>@8NSupprimer la catgorieElementsPanelWidget$G8AB8BL :>;;5:F8NVider la collectionElementsPanelWidgetA?>;L7C9B5 MB>B <5=5465@, GB>1K 4>1028BL, C40;8BL 8;8 87<5=8BL :0B53>@88.XVous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catgories.ElementsPanelWidget* 540:B8@>20BL M;5<5=Bditer l'lmentElementsPanelWidget. 540:B8@>20BL :0B53>@8Nditer la catgorieElementsPanelWidget&5=B@ :  Centre :  EllipseEditor80<5B@K :  Diamtres :  EllipseEditor01AF8AA0abscisse EllipseEditor,3>@87>=B0;L=K9 480<5B@diamtre horizontal EllipseEditor(25@B8:0;L=K9 480<5B@diamtre vertical EllipseEditor 3>@87>=B0;L=K9 : horizontal : EllipseEditor>@48=0B0ordonne EllipseEditor25@B8:0;L=K9 : vertical : EllipseEditor-:A?>@BExportExportConfigPage@54?@>A<>B@Aperu ExportDialogK15@8B5 AE5<C, :>B>@CN 2K E>B8B5 M:A?>@B8@>20BL 8 >?@545;8B5 5Q @07<5@ :MChoisissez les schmas que vous dsirez exporter ainsi que leurs dimensions : ExportDialog 07<5@K Dimensions ExportDialog&0B0;>3 >BACBAB2C5BDossier non spcifi ExportDialog-:A?>@BExporter ExportDialog8-:A?>@B8@>20BL AE5<K ?@>5:B0Exporter les schmas du projet ExportDialog>7<>6=>, GB> C 20A =5B =5>1E>48<KE @07@5H5=89 (?@02) 4;O 70?8A8 2 D09; %1.]Il semblerait que vous n'ayez pas les permissions ncessaires pour crire dans le fichier %1. ExportDialog>52>7<>6=> 70?8A0BL 2 MB>B D09;#Impossible d'crire dans ce fichier ExportDialog<O D09;0Nom de fichier ExportDialog(<5=0 F5;52KE D09;>2Noms des fichiers cibles ExportDialog !E5<0Schma ExportDialogK 4>;6=K 225AB8 C=8:0;L=>5 =5 ?CAB>5 8<O D09;0 4;O :064>9 AE5<K, :>B>@CN E>B8B5 M:A?>@B8@>20BL.UVous devez entrer un nom de fichier non vide et unique pour chaque schma exporter. ExportDialogK 4>;6=K C:070BL ?CBL : :0B0;>3C, 2 :>B>@>< 1C4C A>E@0=5=K 87>1@065=8O.]Vous devez spcifier le chemin du dossier dans lequel seront enregistrs les fichiers images. ExportDialogpxpxExportDialog::ExportDiagramLineBitmap (*.bmp)Bitmap (*.bmp)ExportPropertiesWidget2!>E@0=OBL F25B ?@>2>4=8:0&Conserver les couleurs des conducteursExportPropertiesWidget 8A>20BL A5B:CDessiner la grilleExportPropertiesWidget 8A>20BL @0<:CDessiner le cadreExportPropertiesWidget2 8A>20BL >A=>2=CN =04?8ALDessiner le cartoucheExportPropertiesWidget 8A>20BL 2K2>4KDessiner les bornesExportPropertiesWidget"&5;52>9 :0B0;>3 :Dossier cible :ExportPropertiesWidget"-:A?>@B 2 :0B0;>3Exporter dans le dossierExportPropertiesWidget(-:A?>@B8@>20BL @0<:CExporter le cadreExportPropertiesWidget<-:A?>@B8@>20BL B>;L:> M;5<5=BKExporter les lmentsExportPropertiesWidget$>@<0B:Format :ExportPropertiesWidgetJPEG (*.jpg) JPEG (*.jpg)ExportPropertiesWidget&0@0<5B@K >B@8A>2:8Options de renduExportPropertiesWidgetPNG (*.png) PNG (*.png)ExportPropertiesWidget 17>@ ParcourirExportPropertiesWidgetSVG (*.svg) SVG (*.svg)ExportPropertiesWidget=5H=89 284 ApparenceGeneralConfigurationPage-B8 =0AB@>9:8 1C4CB ?@8<5=5=K ?@8 A;54CNI5< >B:@KB88 @540:B>@0 AE5<.QCes paramtres s'appliqueront ds la prochaine ouverture d'un diteur de schmas.GeneralConfigurationPage064K9 M;5<5=B A>45@68B 8=D>@<0F8N > 53> 02B>@0E, 53> ;8F5=788, 8;8 ;N1CN 4@C3CN 8=D>@<0F8N, :>B>@CN 2K A>GBQB5 ?>;57=>9. K <>65B5 CAB0=>28BL 7=0G5=85 ?> C<>;G0=8N MB>3> ?>;O 4;O 2=>2L A>740205<KE M;5<5=B>2:Chaque lment embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spcifier ici la valeur par dfaut de ce champ pour les lments que vous crerez :GeneralConfigurationPage*#?@02;5=85 M;5<5=B0<8Gestion des lmentsGeneralConfigurationPage 1I55GnralGeneralConfigurationPage|2B><0B8G5A:8 8=B53@8@>20BL M;5<5=BK 2 ?@>5:BK (@5:><5=4C5BAO)CIntgrer automatiquement les lments dans les projets (recommand)GeneralConfigurationPage@>5:BKProjetsGeneralConfigurationPage"A?>;L7>20BL >:=0Utiliser des fentresGeneralConfigurationPage(A?>;L7>20BL 2:;04:8Utiliser des ongletsGeneralConfigurationPage8A?>;L7>20BL A8AB5<=K5 F25B0 Utiliser les couleurs du systmeGeneralConfigurationPage><u>BACBAB2C5B M;5<5=B :</u> %1lment manquant: %1 GhostElement px px HotspotEditor 10 px 10 px HotspotEditorn<span style="text-decoration:underline;"> 07<5@K</span>:Dimensions HotspotEditorz<span style="text-decoration:underline;">?>@=0O B>G:0</span>7Hotspot HotspotEditor1AF8AA0 : Abscisse : HotspotEditorV5@5<5AB8BL M;5<5=B 2A;54 70 >?>@=>9 B>G:>9"Dplacer l'lment avec le hotspot HotspotEditorKA>B0 : Hauteur : HotspotEditor-;5<5=B 4>;65= 1KBL 4>AB0B>G=> 1>;LH8<, GB>1K A>45@60BL 2A5 A2>5 3@0D8G5A:>5 ?@54AB02;5=85.OL'lment doit tre assez grand pour contenir tout sa reprsentation graphique. HotspotEditor(8@8=0 : Largeur : HotspotEditor@48=0B0 : Ordonne : HotspotEditor2B>@ :  Auteur : InsetPropertiesWidget0B0 : Date : InsetPropertiesWidget"5:CI0O 40B0 Date couranteInsetPropertiesWidget*$8:A8@>20==0O 40B0 :  Date fixe : InsetPropertiesWidget$09; :  Fichier : InsetPropertiesWidget$>;8> : Folio : InsetPropertiesWidget A=>2=0O =04?8ALInformations du cartoucheInsetPropertiesWidget!;54CNI85 ?5@5<5==K5 <>3CB 1KBL 8A?>;L7>20=K 2 ?>;5 $>;8>: - %id: =><5@ B5:CI59 AE5<K 2 ?@>5:B5 - %total: >1I55 G8A;> AE5< 2 ?@>5:B5Les variables suivantes sont utilisables dans le champ Folio : - %id : numro du schma courant dans le projet - %total : nombre total de schmas dans le projetInsetPropertiesWidget5B 40BK Pas de dateInsetPropertiesWidget0720=85 : Titre : InsetPropertiesWidgetFA?>;L7>20BL A>2<5AB=> 420 M;5<5=B0!Faire cohabiter les deux lmentsIntegrationMoveElementsHandler&>102;5=85 M;5<5=B0Intgration d'un lmentIntegrationMoveElementsHandler@>1028BL ?5@5B0A:8205<K9 M;5<5=BIntgrer l'lment dposIntegrationMoveElementsHandler-;5<5=B C65 1K; 4>102;5= 2 ?@>5:B. 4=0:> 25@A8O, :>B>@CN 2K ?0B05B5AL 4>1028BL >B;8G05BAO. 'B> 2K E>B8B5 A45;0BL?L'lment a dj t intgr dans le projet. Toutefois, la version que vous tentez de poser semble diffrente. Que souhaitez-vous faire ?IntegrationMoveElementsHandlerHA?>;L7>20BL C65 4>102;5==K9 M;5<5=BUtiliser l'lment dj intgrIntegrationMoveElementsHandler>#40;8BL C65 4>102;5==K9 M;5<5=Bcraser l'lment dj intgrIntegrationMoveElementsHandler B<5=0AnnulerInteractiveMoveElementsHandler*>?8@>20BL 87 %1 2 %2Copie de %1 vers %2InteractiveMoveElementsHandler H81:0ErreurInteractiveMoveElementsHandler3=>@8@>20BLIgnorerInteractiveMoveElementsHandler 3=>@8@>20BL 2AQ Ignorer toutInteractiveMoveElementsHandlerD-;5<5=B %1 =5 <>65B 1KBL ?@>G8B0=.-L'lment %1 n'est pas accessible en lecture.InteractiveMoveElementsHandlerB-;5<5=B %1 =5 <>65B 1KBL 70?8A0=..L'lment %1 n'est pas accessible en criture.InteractiveMoveElementsHandlerj-;5<5=B %1 C65 ACI5AB2C5B. 'B> 2K E>B8B5 A45;0BL?8L'lment %1 existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandlerJ0B53>@8O %1 =5 <>65B 1KBL ?@>G8B0=0.0La catgorie %1 n'est pas accessible en lecture.InteractiveMoveElementsHandlerH0B53>@8O %1 =5 <>65B 1KBL 70?8A0=0.1La catgorie %1 n'est pas accessible en criture.InteractiveMoveElementsHandlerx0B53>@8O %1 (%2) C65 ACI5AB2C5B. 'B> 2K E>B8B5 A45;0BL?@La catgorie %1 (%2) existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandler5@58<5=>20BLRenommerInteractiveMoveElementsHandler!B5@5BLcraserInteractiveMoveElementsHandler!B5@5BL 2AQ craser toutInteractiveMoveElementsHandler ><1Carr LineEditor ><1type of the 2nd end of a lineCarr LineEditor:@C6=>ABLCercle LineEditor:@C6=>ABLtype of the 2nd end of a lineCercle LineEditor1 :>=5FFin 1 LineEditor2 :>=5FFin 2 LineEditor@>AB0O AB@5;:0 Flche simple LineEditor@>AB0O AB@5;:0type of the 2nd end of a line Flche simple LineEditor&"@5C3>;L=0O AB@5;:0Flche triangulaire LineEditor&"@5C3>;L=0O AB@5;:0type of the 2nd end of a lineFlche triangulaire LineEditor>@<0;L=K9Normale LineEditor>@<0;L=K9type of the 2nd end of a lineNormale LineEditor 01AF8AA0 B>G:8 1abscisse point 1 LineEditor 01AF8AA0 B>G:8 2abscisse point 2 LineEditor4;8=0 1 :>=F0longueur fin 1 LineEditor4;8=0 2 :>=F0longueur fin 2 LineEditor >@48=0B0 B>G:8 1ordonne point 1 LineEditor >@48=0B0 B>G:8 2ordonne point 2 LineEditorB8? 1 :>=F0 type fin 1 LineEditorB8? 2 :>=F0 type fin 2 LineEditor>1028BL AB@>:CAjouter une ligneNamesListWidgetD45AL 4>;6=> 1KBL E>BO1K >4=> 8<O. Il doit y avoir au moins un nom.NamesListWidget/7K:LangueNamesListWidget<ONomNamesListWidgetBK 4>;6=K 225AB8 E>BO1K >4=> 8<O."Vous devez entrer au moins un nom.NamesListWidget>20O AE5<0Nouveau schmaNewDiagramPage&0;55 > &Suivant >NewElementWizard<!>740BL =>2K9 M;5<5=B : 0AB5@#Crer un nouvel lment : AssistantNewElementWizard H81:0ErreurNewElementWizardL22548B5 8<O D09;0 4;O =>2>3> M;5<5=B0.EIndiquez le nom du fichier dans lequel enregistrer le nouvel lment.NewElementWizardZ2548B5 >4=> 8;8 =5A:>;L:> 8<Q= 4;O M;5<5=B0.%Indiquez le ou les noms de l'lment.NewElementWizardb#:068B5 2>7<>6=CN >@85=B0F8N 4;O =>2>3> M;5<5=B0.;Indiquez les orientations possibles pour le nouvel lment.NewElementWizardj>60;C9AB0 =5 8A?>;L7C9B5 A8<2>;K : \ / : * ? " < > |DMerci de ne pas utiliser les caractres suivants : \ / : * ? " < > |NewElementWizard>2K9 M;5<5=BNom du nouvel lmentNewElementWizard2548B5 @07<5@ =>2>3> M;5<5=B0 8 53> >?>@=CN B>G:C (B.5. B>G:C ?5@5<5I5=8O M;5<5=B>2 <KHLN) AG8B0O, GB> M;5<5=B A>@85=B8@>20= ?> C<>;G0=8N.Saisissez les dimensions du nouvel lment ainsi que la position du hotspot (point de saisie de l'lment la souris) en considrant que l'lment est dans son orientation par dfaut.NewElementWizardzK15@8B5 :0B53>@8N, 2 :>B>@CN E>B8B5 A>E@0=8BL =>2K9 M;5<5=B.GSlectionnez une catgorie dans laquelle enregistrer le nouvel lment.NewElementWizard4K 4>;6=K 225AB8 8<O D09;0#Vous devez entrer un nom de fichierNewElementWizard8K 4>;6=K 2K1@0BL :0B53>@8N.&Vous devez slectionner une catgorie.NewElementWizardK =5 C:070;8 @0AH8@5=85 *.elmt. => 1C45B 4>102;5==> 02B><0B8G5A:8.YVous n'tes pas oblig de prciser l'extension *.elmt. Elle sera ajoute automatiquement.NewElementWizard=>2K9_M;5<5=Bnouvel_elementNewElementWizardD(03 1 87 5:  >48B5;LA:0O :0B53>@8Otape 1/5 : Catgorie parenteNewElementWizard*(03 2 87 5: <O D09;0tape 2/5 : Nom du fichierNewElementWizard0(03 3 87 5: <O M;5<5=B0tape 3/5 : Noms de l'lmentNewElementWizardD(03 4 87 5:  07<5@ 8 >?>@=0O B>G:0)tape 4/5 : Dimensions et point de saisieNewElementWizard,(03 5 87 5: @85=B0F8Otape 5/5 : OrientationsNewElementWizard>AB>: :Est :OrientationSetWidget0?@5I5=> ImpossibleOrientationSetWidget!525@ :Nord :OrientationSetWidget0?04 :Ouest :OrientationSetWidget> C<>;G0=8N Par dfautOrientationSetWidget 07@5H5=>PossibleOrientationSetWidget.3 :Sud :OrientationSetWidget H81:0Erreur PolygonEditorT>;83>= 4>;5= A>45@60BL <8=8<C< 425 B>G:8.0Le polygone doit comporter au moins deux points. PolygonEditor ">G:8 ?>;83>=0 :Points du polygone : PolygonEditor"0<:=CBK9 ?>;83>=Polygone ferm PolygonEditor$0<K:0=85 ?>;83>=0fermeture du polygone PolygonEditorxx PolygonEditoryy PolygonEditor 5G0BL ImpressionPrintConfigPagen-B>B ?@>5:B B>;L:> 4;O GB5=8O. = =5 <>65B 1KBL >G8I5=.JCe projet est en lecture seule. Il n'est donc pas possible de le nettoyer. ProjectViewL-B>B ?@>5:B =5 A>45@68B =8 >4=>9 AE5<K"Ce projet ne contient aucun schma ProjectView-B0 AE5<0 1K;0 4>102;5==0, => =5 1K;0 87<5=5=0 8;8 70?8A0=0. K E>B8B5 A>E@0=8BL 5Q?XCe schma a t ajout mais n'a t ni modifi ni enregistr. Voulez-vous le conserver ? ProjectView,!>E@0=8BL =>2CN AE5<C?Enregistrer le nouveau schma ? ProjectView2!>E@0=8BL B5:CI89 ?@>5:B? Enregistrer le projet en cours ? ProjectView0!>E@0=8BL B5:CICN AE5<C? Enregistrer le schma en cours ? ProjectView!>E@0=8BL :0:Enregistrer sous ProjectViewG8AB8BL ?@>5:BNettoyer le projet ProjectView @>5:BProjet ProjectView0@>5:B B>;L:> 4;O GB5=8OProjet en lecture seule ProjectView !2>9AB20 ?@>5:B0Proprits du projet ProjectView!2>9AB20, 8A?>;L7C5<K5, :>340 =>20O AE5<0 4>102;O5BAO 2 ?@>5:B :EProprits utiliser lors de l'ajout d'un nouveau schma au projet : ProjectView4!E5<0 QElectroTech (*.qet)Schma QElectroTech (*.qet) ProjectView#40;8BL AE5<C?Supprimer le schma ? ProjectView0#40;8BL ?CABCN :0B53>@8NSupprimer les catgories vides ProjectViewR#40;8BL =58A?>;L7C5<K5 2 ?@>5:B5 M;5<5=BK0Supprimer les lments inutiliss dans le projet ProjectView$0720=85 ?@>5:B0 :Titre du projet : ProjectView6K E>B8B5 A>E@0=8BL ?@>5:B?#Voulez-vous enregistrer le projet ? ProjectView<K E>B8B5 A>E@0=8BL AE5<C %1 ?&Voulez-vous enregistrer le schma %1 ? ProjectView projetprojet ProjectViewK 459AB28B5;L=> E>B8B5 C40;8BL MBC AE5<C 87 ?@>5:B0? -B8 87<5=5=8O =5>1@0B8<K.Xtes-vous sr de vouloir supprimer ce schma du projet ? Ce changement est irrversible. ProjectView --common-elements-dir=DIR Define the elements collection directory O --common-elements-dir=DIR Definir le dossier de la collection d'elements QETApp~ --config-dir=DIR Define configuration directory D --config-dir=DIR Definir le dossier de configuration QETApp --lang-dir=DIR Define the language files directoryT --lang-dir=DIR Definir le dossier contenant les fichiers de langue QETApp, [options] [file]...  [options] [fichier]... QETApp&!:@KBL&MasquerQETApp6&!:@KBL @540:B>@K M;5<5=B>2$&Masquer tous les diteurs d'lmentQETApp,&!:@KBL @540:B>@K AE5<$&Masquer tous les diteurs de schmaQETApp2&>2K9 @540:B>@ M;5<5=B>2&Nouvel diteur d'lmentQETApp(&>2K9 @540:B>@ AE5<&Nouvel diteur de schmaQETApp &KE>4&QuitterQETApp&>:070BL &RestaurerQETApp:&>:070BL @540:B>@K M;5<5=B>2&&Restaurer tous les diteurs d'lmentQETApp0&>:070BL @540:B>@K AE5<&&Restaurer tous les diteurs de schmaQETApp03@C7:0... Chargement...QETApp603@C7:0... B:@KB85 D09;>2$Chargement... Ouverture des fichiersQETApp003@C7:0...=0GQ: 2 B@55Chargement... icne du systrayQETApp203@C7:0...  540:B>@ AE5< Chargement... diteur de schmasQETApp(0:@KBL QElectroTech Ferme l'application QElectroTechQETAppQElectroTech QElectroTechQETAppQElectroTechsystray icon tooltip QElectroTechQETAppQElectroTech, an application to design electric diagrams. Available options: --help Display this help -v, --version Display the version --license Display the license QElectroTech, une application de ralisation de schmas lectriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QETApp2>AAB0=>28BL QElectroTechRestaurer QElectroTechQETApp8!25@=CBL QElectroTech 2 B@M9$Rduire QElectroTech dans le systrayQETAppUsage: Usage : QETApp$ 540:B>@ M;5<5=B>2diteurs d'lmentQETApp 540:B>@ AE5<diteurs de schmasQETApp&!?@02:0&AideQETDiagramEditor&0A:04&CascadeQETDiagramEditor&0AB@>9:0&ConfigurationQETDiagramEditor.&0AB@>9:0 QElectroTech&Configurer QElectroTechQETDiagramEditor&!>E@0=8BL &EnregistrerQETDiagramEditor(!&>E@0=8BL 2A5 AE5<K&Enregistrer tous les schmasQETDiagramEditor&0:@KBL&FermerQETDiagramEditor &$09;&FichierQETDiagramEditor&<?>@B &ImporterQETDiagramEditor&>708:0 &MosaqueQETDiagramEditor &>2K9&NouveauQETDiagramEditor&B:@KBL&OuvrirQETDiagramEditor&@>5:B&ProjetQETDiagramEditor &KE>4&QuitterQETDiagramEditor&@02:0&ditionQETDiagramEditor2K1@0BL ?@54K4CI89 ?@>5:BActive le projet prcdentQETDiagramEditor0K1@0BL A;54CNI89 ?@>5:BActive le projet suivantQETDiagramEditor4:B828@>20BL ?@>5:B %1 Active le projet %1QETDiagramEditorb7<5=8BL @07<5@ B0:, GB>1K ;8AB ?><5AB8;AO 2 >:=5>Adapte la taille du schma afin qu'il soit entirement visibleQETDiagramEditor&84 Afficha&geQETDiagramEditor84 AffichageQETDiagramEditordB>1@078BL QElectroTech 2 >:>==>< (>1KG=><) @568<5$Affiche QElectroTech en mode fentrQETDiagramEditor\B>1@078BL QElectroTech 2 ?>;=>M:@0==>< @568<5(Affiche QElectroTech en mode plein cranQETDiagramEditorHB>1@078BL 8=D>@<0F8N > QElectroTech)Affiche des informations sur QElectroTechQETDiagramEditorJB>1@078BL 8=D>@<0F8N > 181;8>B5:5 Qt/Affiche des informations sur la bibliothque QtQETDiagramEditorZB>1@078BL 8;8 A:@KBL ?0=5;L 8=AB@C<5=B>2 84*Affiche ou non la barre d'outils AffichageQETDiagramEditor^B>1@078BL 8;8 A:@KBL ?0=5;L 8=AB@C<5=B>2 !E5<0'Affiche ou non la barre d'outils SchmaQETDiagramEditorbB>1@078BL 8;8 A:@KBL 3;02=CN ?0=5;L 8=AB@C<5=B>2+Affiche ou non la barre d'outils principaleQETDiagramEditorLB>1@078BL 8;8 A:@KBL !?8A>: 87<5=5=89)Affiche ou non la liste des modificationsQETDiagramEditorJB>1@078BL 8;8 A:@KBL 0=5;L -;5<5=BK#Affiche ou non le panel d'appareilsQETDiagramEditorB>1@060BLAfficherQETDiagramEditor$B>1@060BL ?@>5:BKAfficher les projetsQETDiagramEditor#25;8G8BL ;8ABAgrandit le schmaQETDiagramEditor,#25;8G8BL 2KA>BC ;8AB0Agrandit le schma en hauteurQETDiagramEditor,>1028BL :>;>=:C ;8AB0Ajoute une colonne au schmaQETDiagramEditor.>1028BL B5:AB>2>5 ?>;5Ajouter un champ de texteQETDiagramEditor>1028BL AE5<CAjouter un schmaQETDiagramEditor >1028BL :>;>=:CAjouter une colonneQETDiagramEditor>1028BL AB@>:CAjouter une ligneQETDiagramEditorAB>@8O AnnulationsQETDiagramEditor8B<5=8BL ?@54K4CI55 459AB285Annule l'action prcdenteQETDiagramEditor B<5=0AnnulerQETDiagramEditor5B 87<5=5=89Aucune modificationQETDiagramEditorBackspace BackspaceQETDiagramEditorAB&028BLC&ollerQETDiagramEditor&K@570BLCo&uperQETDiagramEditor,@>2>4=8: ?> C<>;G0=8NConducteurs par dfautQETDiagramEditor&>?8@>20BLCop&ierQETDiagramEditor<>?8@>20BL 2K45;5==K5 M;5<5=BK5Copie les lments slectionns dans le presse-papierQETDiagramEditor&!>740BL =>2CN AE5<CCre un nouveau schmaQETDiagramEditor Ctrl+0Ctrl+0QETDiagramEditor Ctrl+9Ctrl+9QETDiagramEditor Ctrl+DCtrl+DQETDiagramEditor Ctrl+ICtrl+IQETDiagramEditor Ctrl+JCtrl+JQETDiagramEditor Ctrl+KCtrl+KQETDiagramEditor Ctrl+LCtrl+LQETDiagramEditor Ctrl+QCtrl+QQETDiagramEditorCtrl+Shift+A Ctrl+Shift+AQETDiagramEditorCtrl+Shift+F Ctrl+Shift+FQETDiagramEditorCtrl+Shift+I Ctrl+Shift+IQETDiagramEditorCtrl+Shift+X Ctrl+Shift+XQETDiagramEditor Ctrl+TCtrl+TQETDiagramEditor0 07<5AB8BL >:=0 :0A:04><Dispose les fentres en cascadeQETDiagramEditor0 07<5AB8BL >:=0 <>708:>9 Dispose les fentres en mosaqueQETDiagramEditor!=OBL 2K45;5=8O A 2K45;5=KE M;5<5=B>2 8 2K45;8BL =5 2K45;5==K5 M;5<5=BKTDslectionne les lments slectionns et slectionne les lments non slectionnsQETDiagramEditor&!=OBL 2A5 2K45;5=8O)Dslectionne tous les lments du schmaQETDiagramEditor!=OBL 2K45;5=85Dslectionner toutQETDiagramEditor&-:A?>@B E&xporterQETDiagramEditor#40;8BL :>;>=:CEnlever une colonneQETDiagramEditor#40;8BL AB@>:CEnlever une ligneQETDiagramEditorF#40;8BL 2K45;5==K5 M;5<5=K 87 AE5<K*Enlve les lments slectionns du schmaQETDiagramEditor*#40;8BL :>;>=:C ;8AB0Enlve une colonne au schmaQETDiagramEditor.!>E@0=8BL B5:CICN AE5<CEnregistre le schma courantQETDiagramEditorT!>E@0=8BL B5:CICN AE5<C ?>4 4@C38< 8<5=5=<9Enregistre le schma courant avec un autre nom de fichierQETDiagramEditorH!>E@0=8BL 2A5 AE5<K B5:CI53> ?@>5:B0-Enregistre tous les schmas du projet courantQETDiagramEditor!>E@0=8BL :0:Enregistrer sousQETDiagramEditorJ-:A?>@B B5:CI59 AE5<K 2 4@C3>9 D>@<0B.Exporte le schma courant dans un autre formatQETDiagramEditor &:=> Fe&ntresQETDiagramEditor(0:@KBL QElectroTech Ferme l'application QElectroTechQETDiagramEditor*0:@KBL B5:CICN AE5<CFerme le schma courantQETDiagramEditor$09; %1 =5 O2;O5BAO ?@>5:B>< QElectroTech. = =5 <>65B 1KBL >B:@KB.hIl semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc tre ouvert.QETDiagramEditor>7<>6=>, GB> D09;, :>B>@K9 2K ?KB05B5AL >B:@KBL, =5 G8B05<. 52>7<>6=> >B:@KBL D09;. >60;C9AB0, ?@>25@LB5 D09;.Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vrifier les permissions du fichier.QETDiagramEditor>7<>6=>, ?@>5:B, :>B>@K9 2K ?KB05B5AL >B:@KBL, =5 4>ABC?5= 4;O 70?8A8. = 1C45B >B:@KB 2 @568<5 "B>;L:> 4;O GB5=8O".Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en criture. Il sera donc ouvert en lecture seule.QETDiagramEditor8<?>@B AE5<K 2 B5:CICN AE5<C(Importe un schma dans le schma courantQETDiagramEditor.52>7<>6=> >B:@KBL D09;Impossible d'ouvrir le fichierQETDiagramEditorL52>7<>6=> =09B8 MB>B M;5<5=B 2 ?0=5;81Impossible de retrouver cet lment dans le panelQETDiagramEditor52>7<>6=> =09B8 MB>B M;5<5=B 2 ?0=5;5, ?>B><C GB> >= 1K; 87<5=Q= 87 4@C3>3> >:=0\Impossible de retrouver cet lment dans le panel car il semble dit dans une autre fentreQETDiagramEditor52>7<>6=> =09B8 MB>B M;5<5=B 2 ?0=5;5,... ?5@5703@C7:0 ?0=5;8...MImpossible de retrouver cet lment dans le panel... rechargement du panel...QETDiagramEditor(5G0BL B5:CI59 AE5<KImprime le schma courantQETDiagramEditor 5G0BLImprimerQETDiagramEditor.=25@B8@>20BL 2K45;5=85Inverser la slectionQETDiagramEditor 568< 2K45;5=8OMode SelectionQETDiagramEditor 568< ?@>A<>B@0Mode VisualisationQETDiagramEditorG8AB8BL ?@>5:BNettoyer le projetQETDiagramEditor=AB@C<5=BKOutilsQETDiagramEditorRB:@KB85 ?@>5:B0 2 @568<5 "B>;L:> GB5=85"$Ouverture du projet en lecture seuleQETDiagramEditor4B:@KBL ACI5AB2CNICN AE5<COuvre un schma existantQETDiagramEditorB:@KBL D09;Ouvrir un fichierQETDiagramEditor 0=5;L M;5<5=B>2Panel d'lmentsQETDiagramEditor(>AAB0=>28BL <0AHB01 Pas de zoomQETDiagramEditor(>;=>&M:@0==K9 @568<Passer en &mode plein cranQETDiagramEditorb>72>;O5B 7020BL @07;8G=K5 ?0@0<5B@K QElectroTech6Permet de rgler diffrents paramtres de QElectroTechQETDiagramEditor6>72>;O5B 2K18@0BL M;5<5=BK#Permet de slectionner les lmentsQETDiagramEditor\>72>;O5B ?@>A<0B@820BL AE5<C 157 5Q 87<5=5=8O7Permet de visualiser le schma sans pouvoir le modifierQETDiagramEditor:>25@=CBL 2K45;5==K5 M;5<5=BK Pivote les lments slectionnsQETDiagramEditor>25@=CBLPivoterQETDiagramEditorTAB028BL M;5<5=BK 87 1CD5@0 >1<5=0 2 AE5<C1Place les lments du presse-papier sur le schmaQETDiagramEditor"@54K4CI89 ?@>5:BProjet prcdentQETDiagramEditor !;54CNI89 ?@>5:BProjet suivantQETDiagramEditor$!2>9AB20 2K45;5=8OProprits de la slectionQETDiagramEditor !2>9AB20 ?@>5:B0Proprits du projetQETDiagramEditor!2>9AB20 AE5<KProprits du schmaQETDiagramEditorNB>1@078BL >B:@KBK5 ?@>5:BK 2 2845 >:>=>Prsente les diffrents projets ouverts dans des sous-fentresQETDiagramEditorTB>1@078BL >B:@KBK5 ?@>5:BK 2 2845 2:;04>:3Prsente les diffrents projets ouverts des ongletsQETDiagramEditorQElectroTech QElectroTechQETDiagramEditorQElectroTechstatus bar message QElectroTechQETDiagramEditor5@5AG8BK205B B@05:B>@8N ?@>2>4=8:0 83=>@8@CO 87<5=5=8O A45;0==K5 ?>;L7>20B5;5<IRecalcule les chemins des conducteurs sans tenir compte des modificationsQETDiagramEditor>2B>@8BLRefaireQETDiagramEditor@>AAB0=>28BL >B<5=Q==>5 459AB285Restaure l'action annuleQETDiagramEditorD>AAB0=>28BL 8AE>4=K9 @07<5@ ;8AB0Restaure le zoom par dfautQETDiagramEditor,>AAB0=>28BL ?@>2>4=8:Rinitialiser les conducteursQETDiagramEditor#<5=LH8BL ;8ABRtrcit le schmaQETDiagramEditor,#<5=LH8BL 2KA>BC ;8AB0Rtrcit le schma en hauteurQETDiagramEditor !E5<0SchmaQETDiagramEditorx!E5<K QElectroTech (*.qet);;XML-D09;K (*.xml);;A5 D09;K (*)ISchmas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*)QETDiagramEditor>K9B8 87 ?>;=>&M:@0==>3> @568<0Sortir du &mode plein cranQETDiagramEditor @>15;SpaceQETDiagramEditorN040BL C<0;G8205<K5 A2>9AB20 ?@>2>4=8:02Spcifie les proprits par dfaut des conducteursQETDiagramEditor#40;8BL SupprimerQETDiagramEditor#40;8BL AE5<CSupprimer le schmaQETDiagramEditor:K45;8BL 2A5 M;5<5=K =0 AE5<5'Slectionne tous les lments du schmaQETDiagramEditorK45;8BL 2AQTout slectionnerQETDiagramEditor\!:>?8@>20BL 2K45;5==K5 M;5<5=BK 2 1CD5@ >1<5=09Transfre les lments slectionns dans le presse-papierQETDiagramEditor >4>3=0BL @07<5@ Zoom adaptQETDiagramEditor#<5=LH8BL Zoom arrireQETDiagramEditor#25;8G8BL Zoom avantQETDiagramEditor"8A?>;L7>20BL >:=0en utilisant des fentresQETDiagramEditor(8A?>;L7>20BL 2:;04:8en utilisant des ongletsQETDiagramEditor& ?@>3@0<<5 &propos de QElectroTechQETDiagramEditor  &181;8>B5:5 Qt propos de &QtQETDiagramEditor252>7<>6=> >B:@KBL ?@>5:Bchec de l'ouverture du projetQETDiagramEditorp 540:B8@>20BL 8=D>@<0F8N >B>1@0605<CN 2 >A=>2=>9 =04?8A81dite les informations affiches par le cartoucheQETDiagramEditorT 540:B8@>20=85 A2>9AB2 2K45;5==KE >1J5:B>2+dite les proprits des objets slectionnQETDiagramEditor [">;L:> GB5=85] [lecture seule]QETElementEditor(%n 2K45;5==0O G0ABL.(%n 2K45;5==K5 G0AB8.*%n 2K45;5==KE G0AB59.%n partie(s) slectionne(s).QETElementEditor&!?@02:0&AideQETElementEditor&0AB@>9:0&ConfigurationQETElementEditor.&0AB@>9:0 QElectroTech&Configurer QElectroTechQETElementEditor&!>E@0=8BL &EnregistrerQETElementEditor &$09;&FichierQETElementEditor &>2K9&NouveauQETElementEditor&B:@KBL&OuvrirQETElementEditor"&B:@KBL 87 D09;0&Ouvrir depuis un fichierQETElementEditor &KE>4&QuitterQETElementEditor&#40;8BL &SupprimerQETElementEditor&@02:0&ditionQETElementEditor<b>%1</b> : %2%1: %2QETElementEditor"BACBAB2C5B 2K2>4Absence de borneQETElementEditor&84 Afficha&geQETElementEditor84 AffichageQETElementEditordB>1@078BL QElectroTech 2 >:>==>< (>1KG=><) @568<5$Affiche QElectroTech en mode fentrQETElementEditor\B>1@078BL QElectroTech 2 ?>;=>M:@0==>< @568<5(Affiche QElectroTech en mode plein cranQETElementEditorHB>1@078BL 8=D>@<0F8N > QElectroTech)Affiche des informations sur QElectroTechQETElementEditorJB>1@078BL 8=D>@<0F8N > 181;8>B5:5 Qt/Affiche des informations sur la bibliothque QtQETElementEditorB>1@060BLAfficherQETElementEditor>1028BL B5:ABAjouter du texteQETElementEditor>1028BL 4C3CAjouter un arc de cercleQETElementEditor&>1028BL >:@C6=>ABLAjouter un cercleQETElementEditor.>1028BL B5:AB>2>5 ?>;5Ajouter un champ de texteQETElementEditor >1028BL ?>;83>=Ajouter un polygoneQETElementEditor,>1028BL ?@O<>C3>;L=8:Ajouter un rectangleQETElementEditor>1028BL 2K2>4Ajouter une borneQETElementEditor>1028BL M;8?AAjouter une ellipseQETElementEditor>1028BL ;8=8NAjouter une ligneQETElementEditor ><5AB8BL 2?5@54Amener au premier planQETElementEditorAB>@8O AnnulationsQETElementEditor B<5=0AnnulerQETElementEditor5B 87<5=5=89Aucune modificationQETElementEditor@54C?@5645=85AvertissementsQETElementEditorBackspace BackspaceQETElementEditorAB&028BLC&ollerQETElementEditor,AB&028BL 2 >1;0ABL...C&oller dans la zone...QETElementEditor^-B>B D09; =5 O2;O5BAO ?@028;L=K< XML-4>:C<5=B><+Ce fichier n'est pas un document XML valideQETElementEditorP5:>B>@K5 3@0D8G5A:85 ?@8<8B82K (B5:BK, >:@C6=>AB8, ;8=88, ...) <>3CB 2KE>48BL 70 3@0=8FC M;5<5=B0. -B> <>65B A>74020BL 3@0D8G5A:85 >H81:8, :>340 M;5<5=B ?><5I05BAO =0 AE5<C. K <>65B5 ?@54>B2@0B8BL MB>, ?5@5<5I0O ?@8<8B82K 8;8 8A?>;L7CO :><0=4C "@02:0" > " 540:B8@>20BL @07<5@ 8 >?>@=CN B>G:C".;Certaines parties graphiques (textes, cercles, lignes...) semblent dborder du cadre de l'lment. Cela risque de gnrer des bugs graphiques lors de leur manipulation sur un schma. Vous pouvez corriger cela soit en dplaant ces parties, soit en vous rendant dans dition > diter la taille et le point de saisie.QETElementEditor&K@570BLCo&uperQETElementEditorAB028BL 87...Coller depuis...QETElementEditor&>?8@>20BLCop&ierQETElementEditor Ctrl+0Ctrl+0QETElementEditor Ctrl+9Ctrl+9QETElementEditor Ctrl+ECtrl+EQETElementEditor Ctrl+ICtrl+IQETElementEditor Ctrl+QCtrl+QQETElementEditor Ctrl+RCtrl+RQETElementEditorCtrl+Shift+A Ctrl+Shift+AQETElementEditorCtrl+Shift+DownCtrl+Shift+DownQETElementEditorCtrl+Shift+EndCtrl+Shift+EndQETElementEditorCtrl+Shift+F Ctrl+Shift+FQETElementEditorCtrl+Shift+HomeCtrl+Shift+HomeQETElementEditorCtrl+Shift+O Ctrl+Shift+OQETElementEditorCtrl+Shift+S Ctrl+Shift+SQETElementEditorCtrl+Shift+Up Ctrl+Shift+UpQETElementEditorCtrl+Shift+V Ctrl+Shift+VQETElementEditor Ctrl+TCtrl+TQETElementEditor Ctrl+YCtrl+YQETElementEditor 07<5@ M;5<5=B0Dimensions de l'lmentQETElementEditor&5@5<5I5=85 >1J5:B0Dplacer un objetQETElementEditor!=OBL 2K45;5=85Dslectionner toutQETElementEditor !>E@0=8BL 2 D09;Enregistrer dans un fichierQETElementEditor4!>E@0=8BL B5:CI89 M;5<5=B? Enregistrer l'lment en cours ?QETElementEditor!>E@0=8BL :0:Enregistrer sousQETElementEditor!>E@0=8BL :0: dialog titleEnregistrer sousQETElementEditorB?@028BL =0704Envoyer au fondQETElementEditor H81:0ErreurQETElementEditor H81:0message box titleErreurQETElementEditorL52>7<>6=> ?>;CG8BL 4>ABC? : M;5<5=BC Impossible d'atteindre l'lmentQETElementEditor852>7<>6=> A>E@0=8BL M;5<5=B"Impossible d'enregistrer l'lmentQETElementEditor652>7<>6=> >B:@KBL D09; %1."Impossible d'ouvrir le fichier %1.QETElementEditor>52>7<>6=> 70?8A0BL 2 MB>B D09;#Impossible d'crire dans ce fichierQETElementEditor=D>@<0F8O InformationsQETElementEditor.=25@B8@>20BL 2K45;5=85Inverser la slectionQETElementEditor,-;5<5=B =5 ACI5AB2C5B.L'lment n'existe pas.QETElementEditor-;5<5=B =5 A>45@68B =8 >4=>3> 2K2>40. -;5<5=B 4>;65= 8<5BL 2K2>4, GB>1K >= <>3 1KBL ?@8A>545=Q= : 4@C38< M;5<5=B0< A ?><>ILN ?@>2>4=8:>2.L'lment ne comporte aucune borne. Un lment doit comporter des bornes afin de pouvoir tre reli d'autres lments par l'intermdiaire de conducteurs.QETElementEditorn@>25@:0 MB>3> M;5<5=B0 35=5@8@>20;0 %n ?@54C?@5645=85:n@>25@:0 MB>3> M;5<5=B0 35=5@8@>20;0 %n ?@54C?@5645=8O:n@>25@:0 MB>3> M;5<5=B0 35=5@8@>20;0 %n ?@54C?@5645=89:=La vrification de cet lment a gnr %n avertissement(s):QETElementEditorjK1@0==K9 28@BC0;L=K9 ?CBL =5 A>>B25BAB2C5B M;5<5=BC.8Le chemin virtuel choisi ne correspond pas un lment.QETElementEditor,$09; %1 =5 ACI5AB2C5B.Le fichier %1 n'existe pas.QETElementEditor06<8B5 8 45@68B5 :;028HC Shift, GB>1K 4>102;OBL =5A:>;L:> M;5<5=B>2 ?>4@O4LMaintenez la touche Shift enfonce pour effectuer plusieurs ajouts d'affileQETElementEditor=A&B@C<5=BKO&utilsQETElementEditor=AB@C<5=BKOutilsQETElementEditorB:@KBL D09;Ouvrir un fichierQETElementEditor '0AB8PartiesQETElementEditor '0AB8 dock titlePartiesQETElementEditor(>AAB0=>28BL <0AHB01 Pas de zoomQETElementEditor(>;=>&M:@0==K9 @568<Passer en &mode plein cranQETElementEditorb>72>;O5B 7020BL @07;8G=K5 ?0@0<5B@K QElectroTech6Permet de rgler diffrents paramtres de QElectroTechQETElementEditor;C18=0 ProfondeurQETElementEditorBQElectroTech -  540:B>@ M;5<5=B>2 QElectroTech - diteur d'lmentQETElementEditor>4=OBL RapprocherQETElementEditor5@5703@C78BL RechargerQETElementEditor*5@5703@C78BL M;5<5=BRecharger l'lmentQETElementEditor>2B>@8BLRefaireQETElementEditor>K9B8 87 ?>;=>&M:@0==>3> @568<0Sortir du &mode plein cranQETElementEditorK45;8BL 2AQTout slectionnerQETElementEditor\!;8H:>< <=>3> ?@8<8B82>2, A?8A>: =5 A>740QBAO.&Trop de primitives, liste non gnre.QETElementEditorA?>;L7C9B5 ?@02CN :=>?:C <KH8, GB>1K C:070BL ?>A;54=NN B>G:C ?>;83>=0MUtilisez le bouton droit de la souris pour poser le dernier point du polygoneQETElementEditor@K E>B8B5 A>E@0=8BL M;5<5=B %1 ?&Voulez-vous enregistrer l'lment %1 ?QETElementEditorB-B>B M;5<5=B 1K; 87<5=Q= A> 2@5<5=8 ?>A;54=53> A>E@0=5=8O. A;8 2K ?5@5703@C78B5 53> 2A5 87<5=5=8O 1C4CB ?>B5@O=K. K 459AB28B5;L=> E>B8B5 ?5@5703@C78BL M;5<5=B?Vous avez efffectu des modifications sur cet lment. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'lment ?QETElementEditor# 20A =5B ?@02 4;O @540:B8@>20=8O MB>3> M;5<5=B0. = 1C45B >B:@KB 2 @568<5 "B>;L:> 4;O GB5=8O".kVous n'avez pas les privilges ncessaires pour modifier cet lement. Il sera donc ouvert en lecture seule.QETElementEditor >4>3=0BL @07<5@ Zoom adaptQETElementEditor#<5=LH8BL Zoom arrireQETElementEditor#25;8G8BL Zoom avantQETElementEditor[7<5=5=>] [Modifi]QETElementEditor D09;0 un fichierQETElementEditorM;5<5=B0 un lmentQETElementEditor& ?@>3@0<<5 &propos de QElectroTechQETElementEditor  &181;8>B5:5 Qt propos de &QtQETElementEditorH 540:B8@>20BL @07<5@ 8 >?>@=CN B>G:C&diter la taille et le point de saisieQETElementEditorD 540:B8@>20BL 8=D>@<0F8N >1 02B>@5$diter les informations sur l'auteurQETElementEditor& 540:B8@>20BL 8<5=0diter les nomsQETElementEditor. 540:B8@>20BL ?>;>65=85diter les orientationsQETElementEditor$ 540:B>@ M;5<5=B>2diteur d'lmentsQETElementEditor05@A8O B>;L:> 4;O GB5=8Odition en lecture seuleQETElementEditor?CAB8BLloignerQETElementEditor-;5<5=BKlmentQETElementEditor.5ACI5AB2CNI89 M;5<5=B.lment inexistant.QETElementEditor<-;5<5=BK QElectroTech (*.elmt)lments QElectroTech (*.elmt)QETElementEditor-;5<5=BK QElectroTech (*.elmt);;XML-D09;K (*.xml);;A5 D09;K (*)Klments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)QETElementEditor%1 %%1 %QETPrintPreviewDialog.>4>3=0BL AE5<C : ;8ABCAdapter le schma la pageQETPrintPreviewDialog2>:07K20BL 2 425 AB@0=8FKAfficher deux pagesQETPrintPreviewDialog,B>1@078BL A?8A>: AE5<Afficher la liste des schmasQETPrintPreviewDialog6B>1@078BL ?0@0<5B@K ?5G0B8!Afficher les options d'impressionQETPrintPreviewDialog.>:07K20BL 2A5 AB@0=8FK&Afficher un aperu de toutes les pagesQETPrintPreviewDialog0>:07K20BL >4=C AB@0=8FCAfficher une seule pageQETPrintPreviewDialog&>4>3=0BL ?> H8@8=5Ajuster la largeurQETPrintPreviewDialog*>4>3=0BL ?> AB@0=8F5Ajuster la pageQETPrintPreviewDialog$!:@KBL A?8A>: AE5<Cacher la liste des schmasQETPrintPreviewDialog.!:@KBL ?0@0<5B@K ?5G0B8Cacher les options d'impressionQETPrintPreviewDialog$>A;54=OO AB@0=8F0 Dernire pageQETPrintPreviewDialog 5G0BLImprimerQETPrintPreviewDialog0:5B AB@0=8FK Mise en pageQETPrintPreviewDialogr0:5B AB@0=8FK (=54>ABC?=> ?>4 Windows 4;O ?5G0B8 PDF/PS)CMise en page (non disponible sous Windows pour l'impression PDF/PS)QETPrintPreviewDialog 0AB@>9:0 ?5G0B8Options d'impressionQETPrintPreviewDialog&@54K4CI0O AB@0=8F0Page prcdenteQETPrintPreviewDialog$!;54CNI0O AB@0=8F0 Page suivanteQETPrintPreviewDialog;L1><=0OPaysageQETPrintPreviewDialog=86=0OPortraitQETPrintPreviewDialog5@20O AB@0=8F0 Premire pageQETPrintPreviewDialogDQElectroTech : ?@54?@>A<>B@ ?5G0B8&QElectroTech : Aperu avant impressionQETPrintPreviewDialog$!E5<0 4;O ?5G0B8 :Schmas imprimer:QETPrintPreviewDialogA;8 MB>B 20@80=B 2K1@0=, AE5<0 1C45B C25;8G5=0 8;8 C<5=LH5=0, GB>1K 70?>;=8BL 2AN 4>ABC?=CN >1;0ABL ?5G0B8 >4=>9 AB@0=8F59.Si cette option est coche, le schma sera agrandi ou rtrci de faon remplir toute la surface imprimable d'une et une seule page.QETPrintPreviewDialog A;8 MB>B 20@80=B 2K1@0=, ?>;O 1C<038 1C4CB 83=>@8@>20=K 8 2AO 53> ?;>I04L 1C45B 8A?>;L7>20=0 4;O ?5G0B8. -B> <>65B =5 ?>445@6820BLAO ?@8=B5@><.Si cette option est coche, les marges de la feuille seront ignores et toute sa surface sera utilise pour l'impression. Cela peut ne pas tre support par votre imprimante.QETPrintPreviewDialogK45;8BL 2A5 Tout cocherQETPrintPreviewDialog!=OBL 2K45;5=85 Tout dcocherQETPrintPreviewDialog,A?>;L7>20BL 25AL ;8ABUtiliser toute la feuilleQETPrintPreviewDialog#<5=LH8BL Zoom arrireQETPrintPreviewDialog#25;8G8BL Zoom avantQETPrintPreviewDialog$%1 [B>;L:> GB5=85]%1 [lecture seule] QETProject@54C?@5645=85 Avertissement QETProject-B>B 4>:C<5=B, 2>7<>6=>, 1K; A>E@0=Q= 1>;55 ?>74=59 25@A88 QElectroTech. >7<>6=>, GB> >B:@KB85 2A53> 4>:C<5=B0 8;8 53> G0AB8 1C45B =52>7<>6=>.Ce document semble avoir t enregistr avec une version ultrieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document choue. QETProjectl52>7<>6=> ?>;CG8BL 4>ABC? : M;5<5=B0< 4;O 8=B53@0F88+Impossible d'accder l'lment a intgrer QETProjectj52>7<>6=> A>740BL :0B53>@8N 4;O 8=B53@0F88 M;5<5=B>2@Impossible de crer la catgorie pour l'intgration des lments QETProject@>5:B %1 Projet %1 QETProject"57K<O==K9 ?@>5:BProjet sans titre QETProject@>5:B %1  Projet %1 QETProjectX@>87>H;0 >H81:0 ?@8 :>?8@>20=88 M;5<5=B0 %1:Un problme s'est produit pendant la copie de l'lment %1 QETProjectZ@>87>H;0 >H81:0 ?@8 :>?8@>20=88 :0B53>@88 %1=Un problme s'est produit pendant la copie de la catgorie %1 QETProject>?CAB8<K5 A8<2>;K: - F8D@K [0-9] - 1C:2K 2 =86=5< @538AB@5 [a-z] - B8@5 [-], ?>4GQ@:820=85 [_] 8 B>G:0 [.]Les caractres autoriss sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.]  QFileNameEdit 8  et QObject 8 Useparator between conductors and texts in a sentence listing the content of a diagram et QObject"%n B5:AB>2>5 ?>;5"%n B5:AB>2KE ?>;O$%n B5:AB>2KE ?>;59%n champ(s) de texteQObject%n ?@>2>4=8:%n ?@>2>4=8:0%n ?@>2>4=8:>2%n conducteur(s)QObject%n M;5<5=B%n M;5<5=B0%n M;5<5=B>2 %n lment(s)QObject, , QObject2>102;5==> B5:AB>2>5 ?>;5Ajouter un champ de texteQObject@54?@>A<>B@AperuQObject@54C?@5645=85: M;5<5=BK 1K;8 A>E@0=5=K 1>;55 ?>74=59 25@A88 QElectroTech.XAvertissement : l'lment a t enregistr avec une version ultrieure de QElectroTech.QObject K2>4BorneQObject&!>E@0=OBL ?@>?>@F88Conserver les proportionsQObject2>?8@>20BL 2 1CD5@ >1<5=0Exporter vers le presse-papierQObject52>7<>6=> =09B8 B5:AB>2K9 D09;, A>45@60I89 ;8F5=78N GNU/GPL - >4=0:>, 2K 7=05B5 55 =087CABL, =5 B0: ;8?zLe fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute faon, vous la connaissez par coeur non ?QObject"5:AB>2K9 D09;, A>45@60I89 ;8F5=78N GNU/GPL ACI5AB2C5B, => =5 <>65B 1KBL >B:@KB - >4=0:>, 2K 7=05B5 55 =087CABL, =5 B0: ;8?Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu tre ouvert - bon bah de toute faon, vous la connaissez par coeur non ?QObject">AB0=>2;5==>: %1Rinitialiser %1QObject&>AAB0=>28BL @07<5@Rinitialiser les dimensionsQObject 57K<O==0O AE5<0Schma sans titreQObjectHL1TQObject"_QObject2AB02;5=>: %1ajout %1QObject4>102;5=>: 1 %1 ajouter 1 %1QObject$>102;5= ?@>2>4=8:ajouter un conducteurQObject?><5I5=> 2?5@54amener au premier planQObject4C30arcQObject 2K2>4borneQObject>:@C6=>ABLcercleQObjectB5:AB>2>5 ?>;5champ de texteQObject2AB028BLcollerQObject2AB02;5=>: %1 coller %1QObject2K@570=>: %1 couper %1QObject2K@570BL G0ABLcouper des partiesQObject?5@5<5I5=> dplacementQObject?5@5<5I5=>: %1 dplacer %1QObject M;8?AellipseQObject>B?@028BL =0704envoyer au fondQObject ;8=8OligneQObject87<5=5=>: %1modification %1QObject<87<5=5=K 2=CB@5==85 A>548=5=8O modification connexions internesQObject887<5=Q= @07<5@/>?>@=0O B>G:0modification dimensions/hotspotQObject<7<5=5=85 8=D>@<0F88 >1 02B>@5)modification informations complementairesQObject87<5=5=K 8<5=0modification nomsQObject&87<5=5=K >@85=B0F88modification orientationsQObject.87<5=5=K B>G:8 ?>;83>=0modification points polygoneQObject287<5=5=0 >A=>2=0O =04?8ALmodifier le cartoucheQObject87<5=Q= B5:ABmodifier le texteQObject(87<5=Q= @07<5@ AE5<K!modifier les dimensions du schmaQObject887<5=5=> A2>9AB2> ?@>2>4=8:0'modifier les proprits d'un conducteurQObject"87<5=Q= ?@>2>4=8:modifier un conducteurQObject?>2Q@=CB>: %1 pivoter %1QObject?>;83>=polygoneQObject?>4=OBL rapprocherQObject?@O<>C3>;L=8: rectangleQObject AE5<0schemaQObjectC40;5=> suppressionQObjectC40;Q=>: %1 supprimer %1QObject B5:ABtexteQObject>?CAB8BLloignerQObject&&>A;54=85 >B:@KBK5&Rcemment ouvert(s) RecentFiles*5@E=89-;52K9 C3>; : Coin suprieur gauche: RectangleEditor 07<5@ :  Dimensions: RectangleEditorA>B0 : Hauteur:RectangleEditor(8@8=0 : Largeur:RectangleEditor01AF8AA0abscisseRectangleEditor 2A>B0hauteurRectangleEditor H8@8=0largeurRectangleEditor>@48=0B0ordonneRectangleEditor!3;06820=85 Antialiasing StyleEditor5BAucun StyleEditor 5;K9Blanc StyleEditor 5;K9element part fillingBlanc StyleEditor&25B :  Couleur :  StyleEditor ">=:89Fine StyleEditor 'Q@=K9Noir StyleEditor 'Q@=K9element part fillingNoir StyleEditor1KG=K9Normal StyleEditor>@<0;L=K9Normale StyleEditor5BNulle StyleEditorC=:B8@=K9 Pointill StyleEditor0;82:0 : Remplissage : StyleEditor!B8;L : Style :  StyleEditor8=8O :Trait : StyleEditor 5A :  paisseur :  StyleEditor >AB>:EstTerminalEditor !525@NordTerminalEditor@85=B0F8O:Orientation : TerminalEditor 0?04OuestTerminalEditor>;>65=85: Position : TerminalEditor.3SudTerminalEditor01AF8AA0abscisseTerminalEditor>@48=0B0ordonneTerminalEditor>@85=B0F8O orientationTerminalEditorx : x : TerminalEditory : y : TerminalEditor>;>65=85 :  Position :  TextEditor 07<5@ :  Taille :  TextEditor"5:AB :Texte :  TextEditor01AF8AA0abscisse TextEditorA>45@68<>5contenu TextEditor>@48=0B0ordonne TextEditor @07<5@taille TextEditorx : x :  TextEditory : y :  TextEditort>445@6820BL 3>@87>=B0;L=K< =5A<>B@O =0 2@0I5=8O M;5<5=B07Maintenir horizontal malgr les rotations de l'lmentTextFieldEditor>;>65=85 :  Position : TextFieldEditor 07<5@ :  Taille : TextFieldEditor*"5:AB ?> C<>;G0=8N : Texte par dfaut : TextFieldEditor01AF8AA0abscisseTextFieldEditorA>45@68<>5contenuTextFieldEditor>@48=0B0ordonneTextFieldEditorA2>9AB2> propritTextFieldEditor @07<5@tailleTextFieldEditorx : x : TextFieldEditory : y : TextFieldEditor ) , qelectrotech-0.22+svn897/lang/qet_pt.qm0000644000175000017500000027757711346742300017704 0ustar laurentlaurentTm&W"ǶcɌj_/Jd!>IӃs1zؾ2ܥ$ r_~ssnUbM~-litoƄ K#, s01h1({B"bMouS*4Vmh5h*!k k^[ldMn#Rs28h';z!۬=ykyĎNQ^IzaF"ܰc|%ݕoZ pw8(.BH\ ^"["[(u4Re@>,A_ Sj]^X=&Z 6Z N~ehn)x}5(*ܲZc6  p,/0e2UI[ɩ7 ±±[#d[/$75=3( Ad&,,(O3y}IHv Hv YNrFV!XQ~%7_+G_X;gNh:elnns!QyI|{n%r3o3YGY`&sL>;Q^PMhhvSJ*TwH" 5- a U'!j^%1dW6ǃ.EEsP`Y gs<1Qv,yBy2ZGXuTNaH%Gʝ 3 j  B y˰  Fy) `* *YMNDREd8*$QH‘ɌBɌ~ɌɌɌ`^vZg1o֎<"n%a`z" ;s Ͱ2L^t8~tQ?3F%d(N|5.J8(5AH}o/NQTyN*O~HzP%NP%P%FV:V|\fY5i8ui8u\l3l3l5l5o :q^vN;y`za - b|L~d=B^=BhĐp1_p1{Bu  G%{(uHn'G:N: :X.ƪ2[2.!`柅EFdОdS+T 5@ ,l::Z:O*:M0m&c/E0v2(S?53?5VHǔ<IE;J+M Pc +Q>"RfRfYtkhXhWiSoNyd}1Z;cT^ hY4F5U7o=zfsQt5%25%ORCl2OU}2QVUzt~)$=~j7T<}z> ւ@/J*KK(L˅ehuk@Qk@RVnocrx y`zYz=\m2A IW n1WsV%a%e.-U".7'dy2!4ٮNsu~V:N=tPzEPiUvHe!h(NG5 i8N'zU‚P<U‚}U‚LJU‚]u2m,o7oX5cΩ\Q A>hY.W[ W[ [Z;[Z[_[a[dDt/? rrWr)%PfNϜ.5%B/AUٟ&^#@ܖt0ܞYޚr   K qC f ִ# M_/ K# < <4E j& 1ND 3X ;EH K A Pc Pc \1 }v s0F\  5W  6 Y Y _ aU d ݚ! Ԡut  )b Zu C / ;Ci Uj t rm B& 8N 8N 2j O N8 NJ aA r M Ƃȓ Ƃ b -x "= "= &O */ */l 2& @50 Q) ^* _ bς* bς dU'( dS+ e5a e5dH k4A k)F m q  r5j rM tB^ vґ D b st SS ͥ6 ͥS{ > ]g n! 63R 6W: p hI i_. i` ic; ^!M ar t ̓ ϧj ׿2  u9; ގ # Zu Ⱦ 4S 4 4; .n/; Oz %1d %n &hu &k!*_ A/ FW ^#yF _?^C l" l"& y2F y` >li j] R q sR =K  ( n@ m, =cT ?T* u ӽ 鶏$f 5B uT deP{ є  T= M v`] 7 ANA ,ZN 32 3Q 5( @x BEu' LUk R7v VFB Xq [{5$ ]Vc\ `8r?F hu l(P) v.V z= ~c u\O ^( ^S 54 c z 5 N# Yz r 6 3? Ϛf ϚJ &~ \ b21 b2 *C+ 1 \ b b v`a 4 ) g$" /' u  >G9 O  ~ '^$ '^ (3n9 )5 - ?W C DYU DY } DY̞ DY g DY DY DZK DZ DZ0 E [' T Tl U%. X [#R^ \I \ރ aՒb yCC zt q 'XpH  ȣ 3  ~! R| ^< y ," ƀ 6Y A 4YJ>*?To?TAQiExG2ISsáUAaWQtnCnn&n<v\v{ I[yq\% m \@@%'p%0)~~LeF"G$ h~>Fp  u5>N>ie$&Acordo de Licena&Accord de licenceAboutQET&Contribuidores&ContributeursAboutQET&Tradutores &TraducteursAboutQETA&utoresA&uteursAboutQETxEste programa est licenciado nos termos da licena GNU/GPL.&Ce programme est sous licence GNU/GPL.AboutQET conesIcnesAboutQETIdeia originalIde originaleAboutQETPacotes DebianPaquets DebianAboutQETPacotes FedoraPaquets FedoraAboutQET Pacotes MandrivaPaquets MandrivaAboutQETProgramao ProgrammationAboutQETQElectroTech, uma aplicao para desenho de esquemas elctricos.DQElectroTech, une application de ralisation de schmas lectriques.AboutQET(Traduo em EspanholTraduction en espagnolAboutQET*Traduo em PortugusTraduction en portugaisAboutQET"Traduo em RussoTraduction en russeAboutQET$Traduo em TchecoTraduction en tchqueAboutQET\ 2006-2010 Os Desenvolvedores de QElectroTech, 2006-2010 Les dveloppeurs de QElectroTechAboutQET &Sobre &proposAboutQET$Sobre QElectroTech propos de QElectrotechAboutQETngulo:Angle : ArcEditorngulo inicial:Angle de dpart : ArcEditorCentrar: Centre :  ArcEditorDimetros: Diamtres :  ArcEditorabcissaabscisse ArcEditor nguloangle ArcEditorngulo inicialangle de dpart ArcEditor&dimetro horizontaldiamtre horizontal ArcEditor"dimetro verticaldiamtre vertical ArcEditorhorizontal: horizontal : ArcEditorordenadaordonne ArcEditorvertical: vertical : ArcEditor Autor: %1 Auteur : %1 BorderInsetData: %1 Date : %1 BorderInsetFicheiro: %1 Fichier : %1 BorderInsetFlio: %1 Folio : %1 BorderInset(Exibir os cabealhosAfficher les en-ttesBorderPropertiesWidgetColunas: Colonnes :BorderPropertiesWidget(Dimenses do esquemaDimensions du schmaBorderPropertiesWidgetLinhas:Lignes :BorderPropertiesWidgetpxpxBorderPropertiesWidgetpxunit for rows heightpxBorderPropertiesWidgetBorderPropertiesWidgetCentro:  Centre :  CircleEditorDimetro:  Diamtre :  CircleEditorabcissaabscisse CircleEditordimetrodiamtre CircleEditorordenadaordonne CircleEditor*Aparncia do condutorApparence du conducteurConductorPropertiesWidgetCr: Couleur :ConductorPropertiesWidgetMultifilar MultifilaireConductorPropertiesWidgetSimplesSimpleConductorPropertiesWidget Texto:Texte :ConductorPropertiesWidgetTrao tracejadoTrait en pointillsConductorPropertiesWidget Tipo de condutorType de conducteurConductorPropertiesWidgetUnifilar UnifilaireConductorPropertiesWidget neutroneutreConductorPropertiesWidgetfasephaseConductorPropertiesWidget terraterreConductorPropertiesWidget.Configurar QElectroTechConfigurer QElectroTech ConfigDialog8Escolha do tipo de impressoChoix du type d'impressionDiagramPrintDialog Arquivo em faltaFichier manquantDiagramPrintDialog*Ficheiros PDF (*.pdf)Fichiers PDF (*.pdf)DiagramPrintDialog6Ficheiros PostScript (*.ps)Fichiers PostScript (*.ps)DiagramPrintDialog8Imprimir em impressora local&Impression sur une imprimante physiqueDiagramPrintDialogJImprimir para ficheiro de formato PDF(Impression vers un fichier au format PDFDiagramPrintDialogXImprimir para ficheiro de formato PostScript4Impression vers un fichier au format PostScript (PS)DiagramPrintDialog&Opes de impressoOptions d'impressionDiagramPrintDialogLQue tipo de impresso deseja efectuar?/Quel type d'impression dsirez-vous effectuer ?DiagramPrintDialog^Introduza o caminho do ficheiro PDF/PS a criar.8Vous devez indiquer le chemin du fichier PDF/PS crer.DiagramPrintDialogAutorizados Autorises DiagramViewTerminais : %1  Bornes: %1  DiagramView*Campos de texto : %1 Champs de texte: %1  DiagramViewColar aqui Coller ici DiagramView.Conexes internas : %1 Connexions internes: %1  DiagramView$Dimenses : %1x%2 Dimensions: %1%2  DiagramViewLocal : %1 Emplacement: %1  DiagramViewInterditos Interdites DiagramView*A seleco contm %1.La slection contient %1. DiagramViewNome : %1  Nom: %1  DiagramViewPosio: %1 Position: %1  DiagramViewJPropriedades do elemento seleccionado#Proprits de l'lment slectionn DiagramView0Propriedades da selecoProprits de la slection DiagramView.Propriedades do esquemaProprits du schma DiagramView&Encontrar no painelRetrouver dans le panel DiagramViewEsquema %1 Schma %1 DiagramView$Esquema sem ttuloSchma sans titre DiagramViewEditar elementoditer l'lment DiagramViewDEditar as propriedades do condutor%diter les proprits d'un conducteur DiagramViewREditar as propriedades padro do condutor0diter les proprits par dfaut des conducteurs DiagramViewElementolment DiagramView"Elemento em faltalment manquant DiagramView$Esquema sem ttuloSchma sans titreDiagramsChooserHO elemento alvo no pde ser criado.!L'lment cible n'a pu tre cr.ElementDefinition@O elemento no pde ser apagado.'La suppression de cet lment a chou.ElementDefinition4Falha a apagar o elemento.%La suppression de l'lment a chou.ElementDeleter&Apagando o elementoSuppression de l'lmentElementDeleter$Apagar o elemento?Supprimer l'lment ?ElementDeleterfTem a certeza que pretende eliminar este elemento? 1tes-vous sr de vouloir supprimer cet lment ? ElementDeletervEscolha o elemento no qual deseja registar a sua definio.MChoisissez l'lment dans lequel vous souhaitez enregistrer votre dfinition. ElementDialogHEscolha o elemento que deseja abrir./Choisissez l'lment que vous souhaitez ouvrir. ElementDialog,Escolha uma categoria.Choisissez une catgorie. ElementDialog$Salvar um elementoEnregistrer un lment ElementDialog(Salvar uma categoriaEnregistrer une catgorie ElementDialogxO elemento j existe. Tem a certeza que o quer sobrescrever?.L'lment existe dj. Voulez-vous l'craser ? ElementDialog:A seleco no um elemento."La slection n'est pas un lment. ElementDialog,A seleco no existe.La slection n'existe pas. ElementDialog Nome:Nom : ElementDialogNome invlido Nom invalide ElementDialogFalta o nome Nom manquant ElementDialog"Abrir um elementoOuvrir un lment ElementDialog&Abrir uma categoriaOuvrir une catgorie ElementDialogSem selecoPas de slection ElementDialog&Seleco incorrectaSlection incorrecte ElementDialog,Seleco no existenteSlection inexistante ElementDialogNTem de fornecer um nome para o elemento'Vous devez entrer un nom pour l'lment ElementDialog@Tem que seleccionar um elemento.#Vous devez slectionner un lment. ElementDialog`Tem de seleccionar uma categoria ou um elemento.4Vous devez slectionner une catgorie ou un lment. ElementDialogNo pode utilizar os seguintes caracteres no nome do elemento: %1QVous ne pouvez pas utiliser les caractres suivants dans le nom de l'lment : %1 ElementDialog0Sobrescrever o elemento?craser l'lment ? ElementDialog4Permitir conexes internas!Autoriser les connexions internes ElementScenefEste documento XML no uma definio de elemento.3Ce document XML n'est pas une dfinition d'lment. ElementSceneA orientao padro a orientao na qual se efectua a criao do elemento.]L'orientation par dfaut est l'orientation dans laquelle s'effectue la cration de l'lment. ElementScene^As dimenses ou o ponto ncora no so vlidos.9Les dimensions ou le point de saisie ne sont pas valides. ElementScene>As orientaes no so vlidas.%Les orientations ne sont pas valides. ElementScenepPode especificar o nome do elemento em diversas lnguas.AVous pouvez spcifier le nom de l'lment dans plusieurs langues. ElementScenePode utilizar este campo em branco para indicar os autores do elemento, a licena do mesmo, ou qualquer outra informao que considere til.Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'lment, sa licence, ou tout autre renseignement que vous jugerez utile. ElementScenearcoarc ElementSceneterminalborne ElementScenecirculocercle ElementScenecampo de textochamp de texte ElementScene elipseellipse ElementScene linhaligne ElementScenepolgonopolygone ElementScenerectngulo rectangle ElementScene textotexte ElementScene:Editar tamanho e ponto ncora&diter la taille et le point de saisie ElementScene@Editar informaes sobre o autor$diter les informations sur l'auteur ElementSceneEditar nomesditer les noms ElementScene$Editar orientaesditer les orientations ElementSceneColeco QETCollection QETElementsCategoriesList(Coleco do projectoCollection projetElementsCategoriesList,Coleco do UtilizadorCollection utilisateurElementsCategoriesListNova categoriaNouvelle catgorieElementsCategoriesWidget*Recarregar categoriasRecharger les catgoriesElementsCategoriesWidget Apagar categoriaSupprimer la catgorieElementsCategoriesWidget Editar categoriaditer la catgorieElementsCategoriesWidgetFNo possvel mover uma categoria.1Il n'est pas possible de dplacer une collection.ElementsCategory@No possvel apagar o elemento!Impossible de supprimer l'lmentElementsCategoryBNo possvel apagar a categoria$Impossible de supprimer la catgorieElementsCategoryCopiar uma categoria para ela prpria ou para uma das suas subcategorias no suportado.]La copie d'une catgorie vers elle-mme ou vers l'une de ses sous-catgories n'est pas gre.ElementsCategory8Falha ao apagar a categoria.+La suppression de cette catgorie a chou.ElementsCategoryNo possvel mover uma categoria para uma das suas subcategorias.RLe dplacement d'une catgorie dans une de ses sous-catgories n'est pas possible.ElementsCategory<Falha ao eliminar a categoria.(La suppression de la catgorie a chou.ElementsCategoryDeleter$Eliminar categoriaSuppression de la catgorieElementsCategoryDeleter"Apagar categoria?Supprimer la catgorie ?ElementsCategoryDeleter(Esvaziar a coleco?Vider la collection ?ElementsCategoryDeleterTem a certeza que quer apagar a categoria? Todos os elementos e categorias contidos nesta categoria sero apagados.tes-vous sr de vouloir supprimer la catgorie ? Tous les lments et les catgories contenus dans cette catgorie seront supprims.ElementsCategoryDeleter\Tem a certeza que quer esvaziar esta coleco?1tes-vous sr de vouloir vider cette collection ?ElementsCategoryDeleterTem a certeza que quer apagar esta categoria? As alteraes sero definitivas.`tes-vous vraiment sr de vouloir supprimer cette catgorie ? Les changements seront dfinitifs.ElementsCategoryDeleter.Categoria no existenteCatgorie inexistanteElementsCategoryEditor(Criar nova categoriaCrer une nouvelle catgorieElementsCategoryEditorErroErreurElementsCategoryEditorBNo possvel salvar a categoria%Impossible d'enregistrer la catgorieElementsCategoryEditor@No possvel criar a categoria Impossible de crer la catgorieElementsCategoryEditorVA categoria pedida no existe. Abandonando.,La catgorie demande n'existe pas. Abandon.ElementsCategoryEditorO nome interno que escolheu j existe em outra categoria. Por favor escolha outro nome.oLe nom interne que vous avez choisi est dj utilis par une catgorie existante. Veuillez en choisir un autre.ElementsCategoryEditor,Nome da nova categoriaNom de la nouvelle catgorieElementsCategoryEditorNome interno:Nom interne : ElementsCategoryEditor2Nome interno j utilizadoNom interne dj utilisElementsCategoryEditor*Nome interno em faltaNom interne manquantElementsCategoryEditorFTem de especificar um nome interno.$Vous devez spcifier un nom interne.ElementsCategoryEditorNo tem permisses para editar esta categoria. Ser aberta em modo de leitura.rVous n'avez pas les privilges ncessaires pour modifier cette catgorie. Elle sera donc ouverte en lecture seule.ElementsCategoryEditorjPode escolher um nome por linguagem para a categoria.:Vous pouvez spcifier un nom par langue pour la catgorie.ElementsCategoryEditor Editar categoriaditer une catgorieElementsCategoryEditor,Edio modo de leituradition en lecture seuleElementsCategoryEditorFNo possvel mover uma categoria.1Il n'est pas possible de dplacer une collection.ElementsCollection<%1 [no utilizado no projecto]%1 [non utilis dans le projet] ElementsPanel~Pode inserir este elemento no esquema usando arrastar e largar RCeci est un lment que vous pouvez insrer dans votre schma par cliquer-dplacer ElementsPanelrArraste e largue este elemento para o inserir no esquema BCliquer-dposez cet lment sur le schma pour insrer un lment  ElementsPanelColeco QETCollection QET ElementsPanel(Coleco do projectoCollection projet ElementsPanel,Coleco do UtilizadorCollection utilisateur ElementsPanelSem ficheiroPas de fichier ElementsPanel$Esquema sem ttuloSchma sans titre ElementsPanel Descer o esquemaAbaisser ce schmaElementsPanelWidget(Adicionar um esquemaAjouter un schmaElementsPanelWidgetDesfazerAnnulerElementsPanelWidget4Copiar para esta categoriaCopier dans cette catgorieElementsPanelWidget2Mover para esta categoriaDplacer dans cette catgorieElementsPanelWidgetApagar filtroEffacer le filtreElementsPanelWidget(Fechar este projectoFermer ce projetElementsPanelWidgetFiltro:  Filtrer : ElementsPanelWidget(Gestor de categoriasGestionnaire de catgoriesElementsPanelWidget(Importar um elementoImporter un lmentElementsPanelWidgetNovo elementoNouvel lmentElementsPanelWidgetNova categoriaNouvelle catgorieElementsPanelWidget0Propriedades do projectoProprits du projetElementsPanelWidget.Propriedades do esquemaProprits du schmaElementsPanelWidget(Recarregar colecesRecharger les collectionsElementsPanelWidgetSubir o esquemaRemonter ce schmaElementsPanelWidget&Apagar este esquemaSupprimer ce schmaElementsPanelWidgetApagar elementoSupprimer l'lmentElementsPanelWidget Apagar categoriaSupprimer la catgorieElementsPanelWidget&Esvaziar a colecoVider la collectionElementsPanelWidget~Use este gestor para adicionar, apagar ou modificar categorias.XVous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catgories.ElementsPanelWidgetEditar elementoditer l'lmentElementsPanelWidget Editar categoriaditer la catgorieElementsPanelWidgetCentro:  Centre :  EllipseEditorDimetros:  Diamtres :  EllipseEditorabcissaabscisse EllipseEditor&dimetro horizontaldiamtre horizontal EllipseEditor"dimetro verticaldiamtre vertical EllipseEditorhorizontal: horizontal : EllipseEditorordenadaordonne EllipseEditorvertical: vertical : EllipseEditorExportarExportExportConfigPageAntevisoAperu ExportDialogEscolha os esquemas que pretende exportar e especifique o tamanho:MChoisissez les schmas que vous dsirez exporter ainsi que leurs dimensions : ExportDialogDimenses Dimensions ExportDialog6Directoria no especificadaDossier non spcifi ExportDialogExportarExporter ExportDialog@Exportar os esquemas do projectoExporter les schmas du projet ExportDialogAparentemente no possui as permisses necessrias para escrever para o ficheiro %1.]Il semblerait que vous n'ayez pas les permissions ncessaires pour crire dans le fichier %1. ExportDialogLNo possvel escrever neste ficheiro#Impossible d'crire dans ce fichier ExportDialog Nome do ficheiroNom de fichier ExportDialog:Nomes dos arquivos de destinoNoms des fichiers cibles ExportDialogEsquemaSchma ExportDialogTem de especificar um nome de ficheiro no vazio e nico por cada diagrama a exportar.UVous devez entrer un nom de fichier non vide et unique pour chaque schma exporter. ExportDialogTem de especificar o caminho para a directoria onde as imagens dos ficheiros sero guardados.]Vous devez spcifier le chemin du dossier dans lequel seront enregistrs les fichiers images. ExportDialogpxpxExportDialog::ExportDiagramLineBitmap (*.bmp)Bitmap (*.bmp)ExportPropertiesWidget<Manter as cores dos condutores&Conserver les couleurs des conducteursExportPropertiesWidget"Desenhar a grelhaDessiner la grilleExportPropertiesWidget Desenhar a bordaDessiner le cadreExportPropertiesWidget$Desenhar a molduraDessiner le cartoucheExportPropertiesWidget$Desenhar terminaisDessiner les bornesExportPropertiesWidget,Directoria de destino:Dossier cible :ExportPropertiesWidget,Exportar na directoriaExporter dans le dossierExportPropertiesWidget Exportar a bordaExporter le cadreExportPropertiesWidget2Exportar apenas elementosExporter les lmentsExportPropertiesWidgetFormato:Format :ExportPropertiesWidgetJPEG (*.jpg) JPEG (*.jpg)ExportPropertiesWidget,Opes de renderizaoOptions de renduExportPropertiesWidgetPNG (*.png) PNG (*.png)ExportPropertiesWidgetProcurar ParcourirExportPropertiesWidgetSVG (*.svg) SVG (*.svg)ExportPropertiesWidgetAparncia ApparenceGeneralConfigurationPageAs escolhas tero efeito da prxima vez que abrir o editor de esquemas.QCes paramtres s'appliqueront ds la prochaine ouverture d'un diteur de schmas.GeneralConfigurationPageCada elemento contm, num campo aberto, informao sobre os seus autores, a sua licena ou demais informao que considerem til. Pode definir o valor padro deste campo para os itens que criar:Chaque lment embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spcifier ici la valeur par dfaut de ce champ pour les lments que vous crerez :GeneralConfigurationPage&Gesto de elementosGestion des lmentsGeneralConfigurationPage GeralGnralGeneralConfigurationPageIntegrar automaticamente os elementos aos projectos (recomendado)CIntgrer automatiquement les lments dans les projets (recommand)GeneralConfigurationPageProjectosProjetsGeneralConfigurationPage Utilizar janelasUtiliser des fentresGeneralConfigurationPage(Utilizar separadoresUtiliser des ongletsGeneralConfigurationPage*Usar cores de sistema Utiliser les couleurs du systmeGeneralConfigurationPage:<u>Elemento em falta :</u> %1lment manquant: %1 GhostElement px px HotspotEditor 10 px 10 px HotspotEditorh<span style="text-decoration:underline;">Size</span>:Dimensions HotspotEditorn<span style="text-decoration:underline;">Hotspot</span>7Hotspot HotspotEditorAbcissa: Abscisse : HotspotEditorLDeslocar o elemento com o ponto ncora"Dplacer l'lment avec le hotspot HotspotEditorAltura: Hauteur : HotspotEditorO elemento tem de ter o tamanho suficiente para conter toda a sua representao grfica.OL'lment doit tre assez grand pour contenir tout sa reprsentation graphique. HotspotEditorLargura: Largeur : HotspotEditorOrdenada: Ordonne : HotspotEditorAutor:  Auteur : InsetPropertiesWidget Data: Date : InsetPropertiesWidgetData actual Date couranteInsetPropertiesWidgetData fixa:  Date fixe : InsetPropertiesWidgetFicheiro:  Fichier : InsetPropertiesWidgetFlio: Folio : InsetPropertiesWidget.Propriedades da molduraInformations du cartoucheInsetPropertiesWidget8As seguintes variveis podem ser usadas no campo Flio: - %id: o corrente nmero do esquema no projecto - %total: o nmero total de esquemas do projectoLes variables suivantes sont utilisables dans le champ Folio : - %id : numro du schma courant dans le projet - %total : nombre total de schmas dans le projetInsetPropertiesWidgetSem data Pas de dateInsetPropertiesWidgetTtulo: Titre : InsetPropertiesWidgetJFazer os dois elementos integrarem-se!Faire cohabiter les deux lmentsIntegrationMoveElementsHandler2Integrao de um elementoIntgration d'un lmentIntegrationMoveElementsHandler8Integrar o elemento colocadoIntgrer l'lment dposIntegrationMoveElementsHandlerO elemento j foi integrado no projecto. Contudo a verso do elemento que est a tentar colocar parece ser diferente. O que pretende fazer?L'lment a dj t intgr dans le projet. Toutefois, la version que vous tentez de poser semble diffrente. Que souhaitez-vous faire ?IntegrationMoveElementsHandler@Utilizar o elemento j integradoUtiliser l'lment dj intgrIntegrationMoveElementsHandler<Apagar o elemento j integradocraser l'lment dj intgrIntegrationMoveElementsHandlerDesfazerAnnulerInteractiveMoveElementsHandler(Copiar de %1 para %2Copie de %1 vers %2InteractiveMoveElementsHandlerErroErreurInteractiveMoveElementsHandlerIgnorarIgnorerInteractiveMoveElementsHandlerIgnorar tudo Ignorer toutInteractiveMoveElementsHandler@O elemento %1 no pode ser lido.-L'lment %1 n'est pas accessible en lecture.InteractiveMoveElementsHandler\O elemento %1 no est acessvel para escrita..L'lment %1 n'est pas accessible en criture.InteractiveMoveElementsHandler`O elemento "%1" J existe. O que pretende fazer?8L'lment %1 existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandlerBA categoria %1 no pode ser lida.0La catgorie %1 n'est pas accessible en lecture.InteractiveMoveElementsHandler^A categoria %1 no est acessvel para escrita.1La catgorie %1 n'est pas accessible en criture.InteractiveMoveElementsHandlerlA categoria "%1" (%2) J existe. O que pretende fazer?@La catgorie %1 (%2) existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandlerRenomearRenommerInteractiveMoveElementsHandler ApagarcraserInteractiveMoveElementsHandlerApagar tudo craser toutInteractiveMoveElementsHandlerQuadradoCarr LineEditorQuadradotype of the 2nd end of a lineCarr LineEditorCirculoCercle LineEditorCirculotype of the 2nd end of a lineCercle LineEditor Fim 1Fin 1 LineEditor Fim 2Fin 2 LineEditorFlecha simples Flche simple LineEditorFlecha simplestype of the 2nd end of a line Flche simple LineEditor"Flecha triangularFlche triangulaire LineEditor"Flecha triangulartype of the 2nd end of a lineFlche triangulaire LineEditor NormalNormale LineEditor Normaltype of the 2nd end of a lineNormale LineEditor$ponto da abcissa 1abscisse point 1 LineEditor$ponto da abcissa 2abscisse point 2 LineEditor(fim de comprimento 1longueur fin 1 LineEditor(fim de comprimento 2longueur fin 2 LineEditor&ponto da ordenada 1ordonne point 1 LineEditor&ponto da ordenada 2ordonne point 2 LineEditorfim de tipo 1 type fin 1 LineEditorfim de tipo 2 type fin 2 LineEditor&Adicionar uma linhaAjouter une ligneNamesListWidgetDTem de existir pelo menos um nome. Il doit y avoir au moins un nom.NamesListWidget LnguaLangueNamesListWidgetNomeNomNamesListWidgetFTem de escolher pelo menos um nome."Vous devez entrer au moins un nom.NamesListWidgetNovo esquemaNouveau schmaNewDiagramPage&Seguinte > &Suivant >NewElementWizardFCriar um novo elemento : Assistente#Crer un nouvel lment : AssistantNewElementWizardErroErreurNewElementWizard`Coloque o nome do ficheiro para o novo elemento.EIndiquez le nom du fichier dans lequel enregistrer le nouvel lment.NewElementWizardREscolha um ou mais nomes para o elemento.%Indiquez le ou les noms de l'lment.NewElementWizardColoque as orientaes permitidas e no permitidas para o novo elemento.;Indiquez les orientations possibles pour le nouvel lment.NewElementWizard|Por favor no utilize os seguintes caracteres: \ / : * ? < > |DMerci de ne pas utiliser les caractres suivants : \ / : * ? " < > |NewElementWizard*Nome do novo elementoNom du nouvel lmentNewElementWizardColoque as dimenses pretendidas e o ponto ncora do novo elemento tendo em considerao que o elemento tem uma orientao padro.Saisissez les dimensions du nouvel lment ainsi que la position du hotspot (point de saisie de l'lment la souris) en considrant que l'lment est dans son orientation par dfaut.NewElementWizardlSeleccione uma categoria para guardar o novo elemento.GSlectionnez une catgorie dans laquelle enregistrer le nouvel lment.NewElementWizardFTem de escolher um nome de ficheiro#Vous devez entrer un nom de fichierNewElementWizardBTem de seleccionar uma categoria.&Vous devez slectionner une catgorie.NewElementWizardNo necessita de especificar a extenso de ficheiro *.elmt. Ser adicionada automaticamente.YVous n'tes pas oblig de prciser l'extension *.elmt. Elle sera ajoute automatiquement.NewElementWizardnovo_elementonouvel_elementNewElementWizardDPasso 1 de 5 : Categoria principaltape 1/5 : Catgorie parenteNewElementWizard>Passo 2 de 5 : Nome do ficheirotape 2/5 : Nom du fichierNewElementWizardBPasso 3 de 5 : Nome dos elementostape 3/5 : Noms de l'lmentNewElementWizardJPasso 4 de 5 : Tamanho e ponto ncora)tape 4/5 : Dimensions et point de saisieNewElementWizard4Passo 5 de 5 : Orientaestape 5/5 : OrientationsNewElementWizard Este:Est :OrientationSetWidgetNo permitido ImpossibleOrientationSetWidget Norte:Nord :OrientationSetWidget Oeste:Ouest :OrientationSetWidget Padro Par dfautOrientationSetWidgetPermitidoPossibleOrientationSetWidgetSul:Sud :OrientationSetWidgetErroErreur PolygonEditor`O polgono tem de conter pelo menos dois pontos.0Le polygone doit comporter au moins deux points. PolygonEditor&Pontos do polgono:Points du polygone : PolygonEditor Polgono fechadoPolygone ferm PolygonEditor0Encerramento do polgonofermeture du polygone PolygonEditorxx PolygonEditoryy PolygonEditorImpresso ImpressionPrintConfigPagetEste projecto est em modo de leitura. No pode ser limpo.JCe projet est en lecture seule. Il n'est donc pas possible de le nettoyer. ProjectViewNEste projecto no contm nenhum esquema"Ce projet ne contient aucun schma ProjectViewEste esquema foi adicionado mas no foi modificado ou gravado. Deseja manter o esquema?XCe schma a t ajout mais n'a t ni modifi ni enregistr. Voulez-vous le conserver ? ProjectView,Gravar o novo esquema?Enregistrer le nouveau schma ? ProjectView2Gravar o projecto actual? Enregistrer le projet en cours ? ProjectView0Gravar o esquema actual? Enregistrer le schma en cours ? ProjectViewGravar comoEnregistrer sous ProjectView"Limpar o projectoNettoyer le projet ProjectViewProjectoProjet ProjectView6Projecto em modo de leituraProjet en lecture seule ProjectView0Propriedades do projectoProprits du projet ProjectViewPropriedades usadas quando um novo esquema adicionado ao projecto:EProprits utiliser lors de l'ajout d'un nouveau schma au projet : ProjectView8Esquema QElectroTech (*.qet)Schma QElectroTech (*.qet) ProjectView"Apagar o esquema?Supprimer le schma ? ProjectView6Apagar as categorias vaziasSupprimer les catgories vides ProjectViewZApagar os elementos no usados neste projecto0Supprimer les lments inutiliss dans le projet ProjectView&Ttulo do projecto:Titre du projet : ProjectView2Deseja gravar o projecto?#Voulez-vous enregistrer le projet ? ProjectView6Deseja gravar o esquema %1?&Voulez-vous enregistrer le schma %1 ? ProjectViewprojectoprojet ProjectViewTem a certeza que deseja apagar este esquema do projecto? A aco irreversvel.Xtes-vous sr de vouloir supprimer ce schma du projet ? Ce changement est irrversible. ProjectView --common-elements-dir=DIR Define a directoria da coleco de elementos O --common-elements-dir=DIR Definir le dossier de la collection d'elements QETApp --config-dir=DIR Define a directoria de configurao D --config-dir=DIR Definir le dossier de configuration QETApp --lang-dir=DIR Define a directoria dos ficheiros de linguagemT --lang-dir=DIR Definir le dossier contenant les fichiers de langue QETApp2 [opes] [ficheiro]...  [options] [fichier]... QETApp&Esconder&MasquerQETAppD&Esconder os editores de elementos$&Masquer tous les diteurs d'lmentQETAppB&Esconder os editores de esquemas$&Masquer tous les diteurs de schmaQETApp0&Novo editor de elemento&Nouvel diteur d'lmentQETApp.&Novo editor de esquema&Nouvel diteur de schmaQETApp &Sair&QuitterQETApp&Ver &RestaurerQETAppB&Mostrar os editores de elementos&&Restaurer tous les diteurs d'lmentQETApp@&Mostrar os editores de esquemas&&Restaurer tous les diteurs de schmaQETAppA carregar... Chargement...QETAppHA carregar... abertura dos ficheiros$Chargement... Ouverture des fichiersQETAppRA carregar... cone da bandeja de sistemaChargement... icne du systrayQETApp@A carregar... Editor de esquemas Chargement... diteur de schmasQETApp&Fechar QElectroTech Ferme l'application QElectroTechQETAppQElectroTech QElectroTechQETAppQElectroTechsystray icon tooltip QElectroTechQETAppQElectroTech, Um programa para o desenho de esquemas elctricos. Opes disponiveis: --help Apresenta a ajuda -v, --version Apresenta a verso --license Apresenta a licena legal QElectroTech, une application de ralisation de schmas lectriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QETApp,Restaurar QElectroTechRestaurer QElectroTechQETApp`Minimizar QElectroTech para a bandeja de sistema$Rduire QElectroTech dans le systrayQETAppUtilizao: Usage : QETApp*Editores de elementosditeurs d'lmentQETApp(Editores de esquemasditeurs de schmasQETApp &Ajuda&AideQETDiagramEditor&Cascata&CascadeQETDiagramEditor&Configuraes&ConfigurationQETDiagramEditor0&Configurar QElectroTech&Configurer QElectroTechQETDiagramEditor&Guardar &EnregistrerQETDiagramEditor2Guard&a todos os esquemas&Enregistrer tous les schmasQETDiagramEditor&Fechar&FermerQETDiagramEditor&Ficheiro&FichierQETDiagramEditor&Importar &ImporterQETDiagramEditor&Mosaico &MosaqueQETDiagramEditor &Novo&NouveauQETDiagramEditor &Abrir&OuvrirQETDiagramEditor&Projecto&ProjetQETDiagramEditor &Sair&QuitterQETDiagramEditor&Editar&ditionQETDiagramEditor4Activa o projecto anteriorActive le projet prcdentQETDiagramEditor4Activa o projecto seguinteActive le projet suivantQETDiagramEditor,Activa o projecto "%1"Active le projet %1QETDiagramEditorAdapta o tamanho do esquema de modo a que seja totalmente visivel>Adapte la taille du schma afin qu'il soit entirement visibleQETDiagramEditorVe&r Afficha&geQETDiagramEditor mostra AffichageQETDiagramEditortApresenta QElectroTech em modo de visualizao por janelas$Affiche QElectroTech en mode fentrQETDiagramEditor\Mostra o QElectroTech em modo de ecr completo(Affiche QElectroTech en mode plein cranQETDiagramEditorPApresenta informaes sobre QElectroTech)Affiche des informations sur QElectroTechQETDiagramEditorZApresenta informaes sobre as bibliotecas Qt/Affiche des informations sur la bibliothque QtQETDiagramEditor`Mostra ou esconde a barra de ferramentas Mostrar*Affiche ou non la barre d'outils AffichageQETDiagramEditor`Mostra ou esconde a barra de ferramentas Esquema'Affiche ou non la barre d'outils SchmaQETDiagramEditordMostra ou esconde a barra de ferramentas principal+Affiche ou non la barre d'outils principaleQETDiagramEditor^Mostra ou esconde a lista de aces modificadas)Affiche ou non la liste des modificationsQETDiagramEditorFMostra ou no o painel de elementos#Affiche ou non le panel d'appareilsQETDiagramEditorMostrarAfficherQETDiagramEditor&Mostra os projectosAfficher les projetsQETDiagramEditor"Expande o esquemaAgrandit le schmaQETDiagramEditor6Aumenta a altura do esquemaAgrandit le schma en hauteurQETDiagramEditor<Adiciona uma coluna ao esquemaAjoute une colonne au schmaQETDiagramEditor6Adicionar um campo de textoAjouter un champ de texteQETDiagramEditor(Adicionar um esquemaAjouter un schmaQETDiagramEditor(Adicionar uma colunaAjouter une colonneQETDiagramEditor&Adicionar uma linhaAjouter une ligneQETDiagramEditorDesfazer AnnulationsQETDiagramEditor,Anula a aco anteriorAnnule l'action prcdenteQETDiagramEditorDesfazerAnnulerQETDiagramEditor Sem modificaesAucune modificationQETDiagramEditorBackspace BackspaceQETDiagramEditor &ColarC&ollerQETDiagramEditorCort&arCo&uperQETDiagramEditor"Condutores padroConducteurs par dfautQETDiagramEditor&CopiarCop&ierQETDiagramEditorzCopia os elementos seleccionados para a rea de transferncia5Copie les lments slectionns dans le presse-papierQETDiagramEditor*Abrir um novo esquemaCre un nouveau schmaQETDiagramEditor Ctrl+0Ctrl+0QETDiagramEditor Ctrl+9Ctrl+9QETDiagramEditor Ctrl+DCtrl+DQETDiagramEditor Ctrl+ICtrl+IQETDiagramEditor Ctrl+JCtrl+JQETDiagramEditor Ctrl+KCtrl+KQETDiagramEditor Ctrl+LCtrl+LQETDiagramEditor Ctrl+QCtrl+QQETDiagramEditorCtrl+Shift+A Ctrl+Shift+AQETDiagramEditorCtrl+Shift+F Ctrl+Shift+FQETDiagramEditorCtrl+Shift+I Ctrl+Shift+IQETDiagramEditorCtrl+Shift+X Ctrl+Shift+XQETDiagramEditor Ctrl+TCtrl+TQETDiagramEditor8Dispe as janelas em cascataDispose les fentres en cascadeQETDiagramEditor8Dispe as janelas em mosaico Dispose les fentres en mosaqueQETDiagramEditorAnula a seleco dos elementos seleccionados e selecciona os elementos no seleccionados anteriormenteTDslectionne les lments slectionns et slectionne les lments non slectionnsQETDiagramEditorbAnula a seleco de todos os elementos do esquema)Dslectionne tous les lments du schmaQETDiagramEditor Seleccionar nadaDslectionner toutQETDiagramEditor&Exportar E&xporterQETDiagramEditor&Eliminar uma colunaEnlever une colonneQETDiagramEditor Apagar uma linhaEnlever une ligneQETDiagramEditorXRemove os elementos seleccionados do esquema*Enlve les lments slectionns du schmaQETDiagramEditor8Remove uma coluna do esquemaEnlve une colonne au schmaQETDiagramEditor0Guardar o esquema actualEnregistre le schma courantQETDiagramEditordGuarda o esquema actual com outro nome de ficheiro9Enregistre le schma courant avec un autre nom de fichierQETDiagramEditorVGuarda todos os esquemas do projecto actual-Enregistre tous les schmas du projet courantQETDiagramEditorGuardar comoEnregistrer sousQETDiagramEditorVExporta o esquema actual para outro formato.Exporte le schma courant dans un autre formatQETDiagramEditorJa&nelas Fe&ntresQETDiagramEditor$Fecha QElectroTech Ferme l'application QElectroTechQETDiagramEditor.Fechar o esquema actualFerme le schma courantQETDiagramEditorO ficheiro %1 no um ficheiro de projecto QElectroTech. Por esse motivo no possvel abrir o ficheiro.hIl semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc tre ouvert.QETDiagramEditor,A leitura do ficheiro que est a tentar abrir no parece ser possvel e, por isso, no pode ser aberto. Por favor verifique as permisses do ficheiro.Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vrifier les permissions du fichier.QETDiagramEditorO projecto que est a tentar abrir no parece ter prmisses de escrita. Ser aberto em modo s de leitura.Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en criture. Il sera donc ouvert en lecture seule.QETDiagramEditorPImporta um esquema para o esquema actual(Importe un schma dans le schma courantQETDiagramEditor>No possvel abrir o ficheiroImpossible d'ouvrir le fichierQETDiagramEditor`No possvel recuperar este elemento no painel1Impossible de retrouver cet lment dans le panelQETDiagramEditorNo possvel recuperar este elemento no painel porque est a ser editado numa outra janela\Impossible de retrouver cet lment dans le panel car il semble dit dans une autre fentreQETDiagramEditorNo possvel recuperar este elemento no painel... painel a recarregar...MImpossible de retrouver cet lment dans le panel... rechargement du panel...QETDiagramEditor0Imprime o esquema actualImprime le schma courantQETDiagramEditorImprimirImprimerQETDiagramEditor&Inverter a selecoInverser la slectionQETDiagramEditor Modo de selecoMode SelectionQETDiagramEditor(Modo de visualizaoMode VisualisationQETDiagramEditor"Limpar o projectoNettoyer le projetQETDiagramEditorFerramentasOutilsQETDiagramEditorLAbrir o ficheiro em modo s de leitura$Ouverture du projet en lecture seuleQETDiagramEditor4Abrir um esquema existenteOuvre un schma existantQETDiagramEditor"Abrir um ficheiroOuvrir un fichierQETDiagramEditor&Painel de elementosPanel d'lmentsQETDiagramEditorSem zoom Pas de zoomQETDiagramEditorDPassar para &modo de ecr completoPasser en &mode plein cranQETDiagramEditornPermite especificar vrios parmetros para QElectroTech6Permet de rgler diffrents paramtres de QElectroTechQETDiagramEditor:Permite seleccionar elementos#Permet de slectionner les lmentsQETDiagramEditorXPermite visualizar o esquema sem o modificar7Permet de visualiser le schma sans pouvoir le modifierQETDiagramEditor>Roda os elementos seleccionados Pivote les lments slectionnsQETDiagramEditor RodarPivoterQETDiagramEditorjCola os elementos da rea de transferncia no esquema1Place les lments du presse-papier sur le schmaQETDiagramEditor"Projecto anteriorProjet prcdentQETDiagramEditor"Projecto seguinteProjet suivantQETDiagramEditor0Propriedades da selecoProprits de la slectionQETDiagramEditor0Propriedades do projectoProprits du projetQETDiagramEditor.Propriedades do esquemaProprits du schmaQETDiagramEditorRApresenta os projectos abertos em janelas>Prsente les diffrents projets ouverts dans des sous-fentresQETDiagramEditorZApresenta os projectos abertos em separadores3Prsente les diffrents projets ouverts des ongletsQETDiagramEditorQElectroTech QElectroTechQETDiagramEditorQElectroTechstatus bar message QElectroTechQETDiagramEditorCalcula novamente os caminhos dos condutores sem ter em conta as modificaesIRecalcule les chemins des conducteurs sans tenir compte des modificationsQETDiagramEditorRefazerRefaireQETDiagramEditor0Restaura a aco anuladaRestaure l'action annuleQETDiagramEditor,Restaura o Zoom padroRestaure le zoom par dfautQETDiagramEditor6Reinicializar os condutoresRinitialiser les conducteursQETDiagramEditor"Diminui o esquemaRtrcit le schmaQETDiagramEditor6Diminui a altura do esquemaRtrcit le schma en hauteurQETDiagramEditorEsquemaSchmaQETDiagramEditor~Esquemas QElectroTech (*.qet);;XML Files (*.xml);;All files (*)ISchmas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*)QETDiagramEditor<Sair do &modo de ecr completoSortir du &mode plein cranQETDiagramEditor EspaoSpaceQETDiagramEditor`Especifica as propriedades padro dos condutores2Spcifie les proprits par dfaut des conducteursQETDiagramEditor Apagar SupprimerQETDiagramEditor Apagar o esquemaSupprimer le schmaQETDiagramEditorPSelecciona todos os elementos do esquema'Slectionne tous les lments du schmaQETDiagramEditor Seleccionar tudoTout slectionnerQETDiagramEditorTransfere os elementos seleccionados para a rea de transferncia9Transfre les lments slectionns dans le presse-papierQETDiagramEditor Ajustar janela Zoom adaptQETDiagramEditorDiminuir Zoom Zoom arrireQETDiagramEditorAumentar Zoom Zoom avantQETDiagramEditorusar janelasen utilisant des fentresQETDiagramEditor Usar separadoresen utilisant des ongletsQETDiagramEditor&&Sobre QElectroTech &propos de QElectroTechQETDiagramEditorSobre &Qt propos de &QtQETDiagramEditor>No possvel abrir o projectochec de l'ouverture du projetQETDiagramEditorXEdita as informaes apresentadas na moldura1dite les informations affiches par le cartoucheQETDiagramEditor`Edita as propriedades dos objectos seleccionados+dite les proprits des objets slectionnQETDiagramEditor[s leitura] [lecture seule]QETElementEditor,%n parte seleccionada.0%n partes seleccionadas.%n partie(s) slectionne(s).QETElementEditor &Ajuda&AideQETElementEditor&Configuraes&ConfigurationQETElementEditor0&Configurar QElectroTech&Configurer QElectroTechQETElementEditor&Guardar &EnregistrerQETElementEditor&Ficheiro&FichierQETElementEditor &Novo&NouveauQETElementEditor &Abrir&OuvrirQETElementEditor<&Abrir a partir de um ficheiro&Ouvrir depuis un fichierQETElementEditor &Sair&QuitterQETElementEditor&Apagar &SupprimerQETElementEditor&Editar&ditionQETElementEditor<b>%1</b>: %2%1: %2QETElementEditorBorne em faltaAbsence de borneQETElementEditorVe&r Afficha&geQETElementEditor mostra AffichageQETElementEditortApresenta QElectroTech em modo de visualizao por janelas$Affiche QElectroTech en mode fentrQETElementEditor^Mostra o QElectroTech em modo de cran completo(Affiche QElectroTech en mode plein cranQETElementEditorPApresenta informaes sobre QElectroTech)Affiche des informations sur QElectroTechQETElementEditorZApresenta informaes sobre as bibliotecas Qt/Affiche des informations sur la bibliothque QtQETElementEditorMostrarAfficherQETElementEditorAdicionar textoAjouter du texteQETElementEditor"Adicionar um arcoAjouter un arc de cercleQETElementEditor(Adicionar um circuloAjouter un cercleQETElementEditor6Adicionar um campo de textoAjouter un champ de texteQETElementEditor*Adicionar um polgonoAjouter un polygoneQETElementEditor.Adicionar um rectnguloAjouter un rectangleQETElementEditor*Adicionar um terminalAjouter une borneQETElementEditor(Adicionar uma elipseAjouter une ellipseQETElementEditor&Adicionar uma linhaAjouter une ligneQETElementEditor2colocar em primeiro planoAmener au premier planQETElementEditorDesfazer AnnulationsQETElementEditorDesfazerAnnulerQETElementEditorNo modificationAucune modificationQETElementEditor AvisosAvertissementsQETElementEditorBackspace BackspaceQETElementEditor &ColarC&ollerQETElementEditor"co&lar na rea...C&oller dans la zone...QETElementEditorVEste ficheiro no um documento XML vlido+Ce fichier n'est pas un document XML valideQETElementEditorAlguns componentes grficos (texto, circulos, linhas, ...) aparentam estar fora da borda do elemento. Isto pode gerar erros grficos quando o elemento fr movido no esquema. Pode resolver a situao movendo essas partes ou usando Editar > Editar tamanho e ponto ncora.;Certaines parties graphiques (textes, cercles, lignes...) semblent dborder du cadre de l'lment. Cela risque de gnrer des bugs graphiques lors de leur manipulation sur un schma. Vous pouvez corriger cela soit en dplaant ces parties, soit en vous rendant dans dition > diter la taille et le point de saisie.QETElementEditorCort&arCo&uperQETElementEditor(Colar a partir de...Coller depuis...QETElementEditorCopi&arCop&ierQETElementEditor Ctrl+0Ctrl+0QETElementEditor Ctrl+9Ctrl+9QETElementEditor Ctrl+ECtrl+EQETElementEditor Ctrl+ICtrl+IQETElementEditor Ctrl+QCtrl+QQETElementEditor Ctrl+RCtrl+RQETElementEditorCtrl+Shift+A Ctrl+Shift+AQETElementEditorCtrl+Shift+DownCtrl+Shift+DownQETElementEditorCtrl+Shift+EndCtrl+Shift+EndQETElementEditorCtrl+Shift+F Ctrl+Shift+FQETElementEditorCtrl+Shift+HomeCtrl+Shift+HomeQETElementEditorCtrl+Shift+O Ctrl+Shift+OQETElementEditorCtrl+Shift+S Ctrl+Shift+SQETElementEditorCtrl+Shift+Up Ctrl+Shift+UpQETElementEditorCtrl+Shift+V Ctrl+Shift+VQETElementEditor Ctrl+TCtrl+TQETElementEditor Ctrl+YCtrl+YQETElementEditor*Dimenses do elementoDimensions de l'lmentQETElementEditor Mover um objectoDplacer un objetQETElementEditor Seleccionar nadaDslectionner toutQETElementEditor0Guardar para um ficheiroEnregistrer dans un fichierQETElementEditor4Guardar o elemento actual? Enregistrer l'lment en cours ?QETElementEditorGuardar comoEnregistrer sousQETElementEditorGravar como dialog titleEnregistrer sousQETElementEditor2enviar para segundo planoEnvoyer au fondQETElementEditorErroErreurQETElementEditorErromessage box titleErreurQETElementEditorBNo possvel aceder ao elemento Impossible d'atteindre l'lmentQETElementEditorBNo possvel guardar o elemento"Impossible d'enregistrer l'lmentQETElementEditorFNo possvel abrir o ficheiro %1."Impossible d'ouvrir le fichier %1.QETElementEditorLNo possvel escrever neste ficheiro#Impossible d'crire dans ce fichierQETElementEditorInformaes InformationsQETElementEditor&Inverter a selecoInverser la slectionQETElementEditor,O elemento no existe.L'lment n'existe pas.QETElementEditor O elemento no tem nenhum borne. Um elemento tem de ter bornes de modo a poder ser conectado com outro elemento atravs de condutores.L'lment ne comporte aucune borne. Un lment doit comporter des bornes afin de pouvoir tre reli d'autres lments par l'intermdiaire de conducteurs.QETElementEditor^A verificao deste elemento originou um aviso:`A verificao deste elemento originou %n avisos:=La vrification de cet lment a gnr %n avertissement(s):QETElementEditortO caminho virtual escolhido no corresponde a um elemento.8Le chemin virtuel choisi ne correspond pas un lment.QETElementEditor2O ficheiro %1 no existe.Le fichier %1 n'existe pas.QETElementEditorPremir a tecla Shift para adicionar diversas partes de uma s vezLMaintenez la touche Shift enfonce pour effectuer plusieurs ajouts d'affileQETElementEditorFerra&mentasO&utilsQETElementEditorFerramentasOutilsQETElementEditor"Abrir um ficheiroOuvrir un fichierQETElementEditor PartesPartiesQETElementEditor Partes dock titlePartiesQETElementEditorSem zoom Pas de zoomQETElementEditorFPassar para &modo de cran completoPasser en &mode plein cranQETElementEditornPermite especificar vrios parmetros para QElectroTech6Permet de rgler diffrents paramtres de QElectroTechQETElementEditorProfundidade ProfondeurQETElementEditorDQElectroTech - Editor de elementos QElectroTech - diteur d'lmentQETElementEditor elevar RapprocherQETElementEditorRecarregar RechargerQETElementEditor*Recarregar o elementoRecharger l'lmentQETElementEditorRefazerRefaireQETElementEditor>Sair do &modo de cran completoSortir du &mode plein cranQETElementEditor Seleccionar tudoTout slectionnerQETElementEditorLDemasiados objectos, lista no gerada.&Trop de primitives, liste non gnre.QETElementEditorUtilizar o boto direito do rato para definir o ltimo ponto do polgonoMUtilisez le bouton droit de la souris pour poser le dernier point du polygoneQETElementEditor8Deseja gravar o elemento %1?&Voulez-vous enregistrer l'lment %1 ?QETElementEditor>Este elemento foi modificado desde a ltima vez que o guardou. Se o recarregar as alteraes sero perdidas. Tem a certeza que deseja recarregar este elemento?Vous avez efffectu des modifications sur cet lment. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'lment ?QETElementEditorNo tem permisses para editar esta categoria. Ser aberta em modo de leitura.kVous n'avez pas les privilges ncessaires pour modifier cet lement. Il sera donc ouvert en lecture seule.QETElementEditor Ajustar janela Zoom adaptQETElementEditorDiminuir Zoom Zoom arrireQETElementEditorAumentar Zoom Zoom avantQETElementEditor[Modificado] [Modifi]QETElementEditorum ficheiro un fichierQETElementEditorum elemento un lmentQETElementEditor&&Sobre QElectroTech &propos de QElectroTechQETElementEditorSobre &Qt propos de &QtQETElementEditor:Editar tamanho e ponto ncora&diter la taille et le point de saisieQETElementEditorFEditar as informaes sobre o autor$diter les informations sur l'auteurQETElementEditorEditar nomesditer les nomsQETElementEditor$Editar orientaesditer les orientationsQETElementEditor&Editor de elementosditeur d'lmentsQETElementEditor,Edio modo de leituradition en lecture seuleQETElementEditor baixarloignerQETElementEditorElementolmentQETElementEditor.Elemento no existente.lment inexistant.QETElementEditor>Elementos QElectroTech (*.elmt)lments QElectroTech (*.elmt)QETElementEditorElementos QElectroTech (*.elmt);;XML files (*.xml);;All files (*)Klments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)QETElementEditor%1%%1 %QETPrintPreviewDialog4Ajustar o esquema pginaAdapter le schma la pageQETPrintPreviewDialog(Mostrar duas pginasAfficher deux pagesQETPrintPreviewDialog6Mostra a lista de esquemas Afficher la liste des schmasQETPrintPreviewDialog:Mostra as opes de impresso!Afficher les options d'impressionQETPrintPreviewDialog0Mostrar todas as pginas&Afficher un aperu de toutes les pagesQETPrintPreviewDialog0Mostrar uma nica pginaAfficher une seule pageQETPrintPreviewDialog"Ajustar larguraAjuster la largeurQETPrintPreviewDialog Ajustar pginaAjuster la pageQETPrintPreviewDialog8Esconder a lista de esquemasCacher la liste des schmasQETPrintPreviewDialog>Esconder as opes de impressoCacher les options d'impressionQETPrintPreviewDialogltima pgina Dernire pageQETPrintPreviewDialogImprimirImprimerQETPrintPreviewDialog(Disposio da pgina Mise en pageQETPrintPreviewDialogDisposio da pgina (no disponivel em Windows para impresso em PDF/PS)CMise en page (non disponible sous Windows pour l'impression PDF/PS)QETPrintPreviewDialog&Opes de impressoOptions d'impressionQETPrintPreviewDialogPgina anteriorPage prcdenteQETPrintPreviewDialogPgina seguinte Page suivanteQETPrintPreviewDialogPaisagemPaysageQETPrintPreviewDialogRetratoPortraitQETPrintPreviewDialogPrimeira pgina Premire pageQETPrintPreviewDialogFQElectroTech: Previso da impresso&QElectroTech : Aperu avant impressionQETPrintPreviewDialog(Esquemas a imprimir:Schmas imprimer:QETPrintPreviewDialogCom esta opo seleccionada o esquema ser encolhido ou expandido para se ajustar superficie de impresso de uma nica pgina.Si cette option est coche, le schma sera agrandi ou rtrci de faon remplir toute la surface imprimable d'une et une seule page.QETPrintPreviewDialognCom esta opo seleccionada as margens definidas do papel sero ignoradas e toda a sua superficie ser usada para a impresso. Esta opo poder no ser suportada pela sua impressora.Si cette option est coche, les marges de la feuille seront ignores et toute sa surface sera utilise pour l'impression. Cela peut ne pas tre support par votre imprimante.QETPrintPreviewDialog"Seleccionar todos Tout cocherQETPrintPreviewDialogDesmarcar todos Tout dcocherQETPrintPreviewDialog.Utilizar pgina inteiraUtiliser toute la feuilleQETPrintPreviewDialogDiminuir zoom Zoom arrireQETPrintPreviewDialogAumentar zoom Zoom avantQETPrintPreviewDialog%1 [s leitura]%1 [lecture seule] QETProject Aviso Avertissement QETProject.Este documento aparenta ter sido guardado usando uma verso mais recente de QElectroTech. A abertura deste documento pode falhar total ou parcialmente.Ce document semble avoir t enregistr avec une version ultrieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document choue. QETProjectXNo possvel aceder ao elemento a integrar+Impossible d'accder l'lment a intgrer QETProjectNo possvel criar a categoria dedicada integrao dos elementos@Impossible de crer la catgorie pour l'intgration des lments QETProjectProjecto %1 Projet %1 QETProject&Projecto sem ttuloProjet sans titre QETProjectProjecto "%1" Projet %1 QETProject\Ocurreu um erro durante a cpia do elemento %1:Un problme s'est produit pendant la copie de l'lment %1 QETProject^Ocurreu um erro durante a cpia da categoria %1=Un problme s'est produit pendant la copie de la catgorie %1 QETProjectOs caracteres permitidos so: - nmeros [0-9] - letras minusculas [a-z] - trao [-], trao de relevo [_] e ponto [.] Les caractres autoriss sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.]  QFileNameEdite  et QObjecteUseparator between conductors and texts in a sentence listing the content of a diagram et QObject"%n campo de texto$%n campos de texto%n champ(s) de texteQObject%n condutor%n condutores%n conducteur(s)QObject%n elemento%n elementos %n lment(s)QObject, , QObject0Adicionar campo de textoAjouter un champ de texteQObjectAntevisoAperuQObjectAviso: o elemento foi guardado usando uma verso mais recente de QElectroTech.XAvertissement : l'lment a t enregistr avec une version ultrieure de QElectroTech.QObjectTerminalBorneQObject(Conservar proporesConserver les proportionsQObjectJExportar para a rea de transfernciaExporter vers le presse-papierQObjectO ficheiro de texto que contm a licena GNU/GPL no foi encontrado - ah, de qualquer modo conhece-a de cor, no ?zLe fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute faon, vous la connaissez par coeur non ?QObjectO ficheiro de texto que contm a licena GNU/GPL existe mas no pde ser aberto - ah, de qualquer modo conhece-a de cor, no ?Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu tre ouvert - bon bah de toute faon, vous la connaissez par coeur non ?QObject Reinicializar %1Rinitialiser %1QObject.Reinicializar dimensesRinitialiser les dimensionsQObject$Esquema sem ttuloSchma sans titreQObjectTTQObject__QObjectinserir %1ajout %1QObjectadicionar 1 %1 ajouter 1 %1QObject*adicionar um condutorajouter un conducteurQObject2colocar em primeiro planoamener au premier planQObjectarcoarcQObjectterminalborneQObjectcirculocercleQObjectcampo de textochamp de texteQObject colarcollerQObjectcolar %1 coller %1QObjectcortar %1 couper %1QObjectcortar partescouper des partiesQObject mover dplacementQObjectmover %1 dplacer %1QObject elipseellipseQObject2enviar para segundo planoenvoyer au fondQObject linhaligneQObjectmodificar %1modification %1QObject6modificar conexes internas modification connexions internesQObject<modificar tamanho/ponto ncoramodification dimensions/hotspotQObjectHModificar informaes complementares)modification informations complementairesQObjectmodificar nomesmodification nomsQObject*modificar orientaesmodification orientationsQObject8modificar pontos do polgonomodification points polygoneQObject&modificar a molduramodifier le cartoucheQObject"modificar o textomodifier le texteQObject8modificar tamanho do esquema!modifier les dimensions du schmaQObjectJmodificar as propriedades do condutor'modifier les proprits d'un conducteurQObject*modificar um condutormodifier un conducteurQObjectrodar %1 pivoter %1QObjectpolgonopolygoneQObject elevar rapprocherQObjectrectngulo rectangleQObjectesquemaschemaQObject apagar suppressionQObjectapagar %1 supprimer %1QObject textotexteQObject baixarloignerQObject*&Recentemente abertos&Rcemment ouvert(s) RecentFiles0Canto superior esquerdo:Coin suprieur gauche: RectangleEditorDimenses: Dimensions: RectangleEditorAltura: Hauteur:RectangleEditorLargura: Largeur:RectangleEditorabcissaabscisseRectangleEditor alturahauteurRectangleEditorlarguralargeurRectangleEditorordenadaordonneRectangleEditorAntialiasing Antialiasing StyleEditor NenhumAucun StyleEditor BrancoBlanc StyleEditor Brancoelement part fillingBlanc StyleEditorCr: Couleur :  StyleEditorFinoFine StyleEditor PretoNoir StyleEditor Pretoelement part fillingNoir StyleEditor NormalNormal StyleEditor NormalNormale StyleEditorNuloNulle StyleEditorTracejado Pointill StyleEditorPreenchimento: Remplissage : StyleEditorEstilo: Style :  StyleEditor Linha:Trait : StyleEditorEspessura:  paisseur :  StyleEditorEsteEstTerminalEditor NorteNordTerminalEditorOrientao: Orientation : TerminalEditor OesteOuestTerminalEditorPosio:  Position : TerminalEditorSulSudTerminalEditorabcissaabscisseTerminalEditorOrdenadaordonneTerminalEditororientao orientationTerminalEditorx: x : TerminalEditory: y : TerminalEditorPosio:  Position :  TextEditorTamanho:  Taille :  TextEditorTexto: Texte :  TextEditorabcissaabscisse TextEditorcontedocontenu TextEditorordenadaordonne TextEditortamanhotaille TextEditorx: x :  TextEditory: y :  TextEditordManter horizontal apesar das rotaes do elemento7Maintenir horizontal malgr les rotations de l'lmentTextFieldEditorPosio:  Position : TextFieldEditorTamanho:  Taille : TextFieldEditorTexto padro: Texte par dfaut : TextFieldEditorabcissaabscisseTextFieldEditorcontedocontenuTextFieldEditorordenadaordonneTextFieldEditorpropriedade propritTextFieldEditortamanhotailleTextFieldEditorx: x : TextFieldEditory: y : TextFieldEditorqelectrotech-0.22+svn897/lang/qt_ru.ts0000644000175000017500000140365211343532004017530 0ustar laurentlaurent CloseButton Close Tab Закрыть вкладку FakeReply Fake error ! Invalid URL Некорректный URL Phonon:: Notifications Уведомления Music Музыка Video Видео Communication Общение Games Игры Accessibility Специальные возможности Phonon::AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Звуковое устройство <b>%1</b> не работает.<br/>Будет использоваться <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> <html>Переключение на звуковое устройство <b>%1</b><br/>, которое доступно и имеет высший приоритет.</html> Revert back to device '%1' Возвращение к устройству '%1' Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Внимание: Похоже, пакет gstreamer0.10-plugins-good не установлен. Некоторые возможности воспроизведения видео недоступны. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Внимание: Похоже, основной модуль GStreamer не установлен. Поддержка видео и аудио отключена Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. Невозможно начать воспроизведение. Проверьте установку Gstreamer и убедитесь, что пакет libgstreamer-plugins-base установлен. A required codec is missing. You need to install the following codec(s) to play this content: %0 Отсутствует необходимый кодек. Вам нужно установить следующие кодеки для воспроизведения данного содержимого: %0 Could not open media source. Не удалось открыть источник медиа-данных. Invalid source type. Неверный тип источника медиа-данных. Could not locate media source. Не удалось найти источник медиа-данных. Could not open audio device. The device is already in use. Не удалось открыть звуковое устройство. Устройство уже используется. Could not decode media source. Не удалось декодировать источник медиа-данных. Phonon::MMF Audio Output Воспроизведение звука The audio output device Устройство воспроизведения звука Phonon::MMF::AudioEqualizer Frequency band, %1 Hz Полоса частот, %1 Гц Phonon::MMF::EffectFactory audio equalizer Аудиоэквалайзер Bass boost Усиление басов Distance Attenuation Ослабление при отдалении Environmental Reverb Реверберация Loudness Громкость Source Orientation Ориентация источника Stereo Widening Расширение стереобазы Phonon::VolumeSlider Volume: %1% Громкость: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Используйте данный ползунок для настройки громкости. Крайнее левое положение соответствует 0%, крайнее правое - %1% Muted Без звука Q3Accel %1, %2 not defined %1, %2 не определён Ambiguous %1 not handled Q3DataTable True Да False Нет Insert Вставить Update Обновить Delete Удалить Q3FileDialog Copy or Move a File Копировать или переместить файл Read: %1 Чтение: %1 Write: %1 Запись: %1 Cancel Отмена All Files (*) Все файлы (*) Name Имя Size Размер Type Тип Date Дата Attributes Атрибуты &OK &ОК Look &in: &Папка: File &name: &Имя файла: File &type: &Тип файла: Back Назад One directory up Вверх на один уровень Create New Folder Создать папку List View Список Detail View Подробный вид Preview File Info Предпросмотр информации о файле Preview File Contents Предпросмотр содержимого файла Read-write Чтение и запись Read-only Только чтение Write-only Только запись Inaccessible Нет доступа Symlink to File Ссылка на файл Symlink to Directory Ссылка на каталог Symlink to Special Ссылка на спецфайл File Файл Dir Каталог Special Спецфайл Open Открыть Save As Сохранить как &Open &Открыть &Save &Сохранить &Rename &Переименовать &Delete &Удалить R&eload О&бновить Sort by &Name По &имени Sort by &Size По &размеру Sort by &Date По &дате &Unsorted &Не упорядочивать Sort Упорядочить Show &hidden files Показать ск&рытые файлы the file файл the directory каталог the symlink ссылку Delete %1 Удалить %1 <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Вы действительно хотите удалить %1 "%2"?</qt> &Yes &Да &No &Нет New Folder 1 Новая папка 1 New Folder Новая папка New Folder %1 Новая папка %1 Find Directory Найти каталог Directories Каталоги Directory: Каталог: Error Ошибка %1 File not found. Check path and filename. %1 Файл не найден. Проверьте правильность пути и имени файла. All Files (*.*) Все файлы (*.*) Open Открыть Select a Directory Выбрать каталог Q3LocalFs Could not read directory %1 Не удалось прочитать каталог %1 Could not create directory %1 Не удалось создать каталог %1 Could not remove file or directory %1 Не удалось удалить файл или каталог %1 Could not rename %1 to %2 Не удалось переименовать %1 в %2 Could not open %1 Не удалось открыть %1 Could not write %1 Не удалось записать %1 Q3MainWindow Line up Выровнять Customize... Настроить... Q3NetworkProtocol Operation stopped by the user Операция остановлена пользователем Q3ProgressDialog Cancel Отмена Q3TabDialog OK ОК Apply Применить Help Справка Defaults По умолчанию Cancel Отмена Q3TextEdit &Undo &Отменить действие &Redo &Повторить действие Cu&t &Вырезать &Copy &Копировать &Paste В&ставить Clear Очистить Select All Выделить всё Q3TitleBar System Системное меню Restore up Восстановить Minimize Свернуть Restore down Восстановить Maximize Распахнуть Close Закрыть Contains commands to manipulate the window Содержит команды управления окном Puts a minimized window back to normal Возвращает свёрнутое окно в нормальное состояние Moves the window out of the way Сворачивает окно Puts a maximized window back to normal Возвращает распахнутое окно в нормальное состояние Makes the window full screen Разворачивает окно на весь экран Closes the window Зыкрывает окно Displays the name of the window and contains controls to manipulate it Отображает название окна и содержит команды управления им Q3ToolBar More... Больше... Q3UrlOperator The protocol `%1' is not supported Протокол '%1' не поддерживается The protocol `%1' does not support listing directories Протокол '%1' не поддерживает просмотр каталогов The protocol `%1' does not support creating new directories Протокол '%1' не поддерживает создание каталогов The protocol `%1' does not support removing files or directories Протокол '%1' не поддерживает удаление файлов или каталогов The protocol `%1' does not support renaming files or directories Протокол '%1' не поддерживает переименование файлов или каталогов The protocol `%1' does not support getting files Протокол '%1' не поддерживает доставку файлов The protocol `%1' does not support putting files Протокол '%1' не поддерживает отправку файлов The protocol `%1' does not support copying or moving files or directories Протокол '%1' не поддерживает копирование или перемещение файлов или каталогов (unknown) (неизвестно) Q3Wizard &Cancel От&мена < &Back < &Назад &Next > &Далее > &Finish &Завершить &Help &Справка QAbstractSocket Host not found Узел не найден Connection refused Отказано в соединении Connection timed out Время на соединение истекло Operation on socket is not supported Операция с сокетом не поддерживается Socket operation timed out Время на операцию с сокетом истекло Socket is not connected Сокет не подключён Network unreachable Сеть недоступна QAbstractSpinBox &Step up Шаг вв&ерх Step &down Шаг вн&из &Select All &Выделить всё QApplication Activate Активировать Executable '%1' requires Qt %2, found Qt %3. Программный модуль '%1' требует Qt %2, найдена версия %3. Incompatible Qt Library Error Ошибка совместимости библиотеки Qt QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Activates the program's main window Активирует главное окно программы QAxSelect Select ActiveX Control Выбор компоненты ActiveX OK Выбрать &Cancel От&мена COM &Object: &Объект COM: QCheckBox Uncheck Снять отметку Check Отметить Toggle Переключить QColorDialog Hu&e: &Тон: &Sat: &Нас: &Val: &Ярк: &Red: &Красный: &Green: &Зелёный: Bl&ue: С&иний: A&lpha channel: &Альфа-канал: Select Color Выбор цвета &Basic colors &Основные цвета &Custom colors &Пользовательские цвета &Add to Custom Colors &Добавить к пользовательским цветам QComboBox Open Открыть False Нет True Да Close Закрыть QCoreApplication %1: key is empty QSystemSemaphore %1: пустой ключ %1: unable to make key QSystemSemaphore %1: невозможно создать ключ %1: ftok failed QSystemSemaphore %1: ошибка ftok %1: already exists QSystemSemaphore %1: уже существует %1: does not exist QSystemSemaphore %1: не существует %1: out of resources QSystemSemaphore %1: недостаточно ресурсов %1: unknown error %2 QSystemSemaphore %1: неизвестная ошибка %2 QDB2Driver Unable to connect Невозможно соединиться Unable to commit transaction Невозможно завершить транзакцию Unable to rollback transaction Невозможно отозвать транзакцию Unable to set autocommit Невозможно установить автозавершение транзакций QDB2Result Unable to execute statement Невозможно выполнить выражение Unable to prepare statement Невозможно подготовить выражение Unable to bind variable Невозможно привязать значение Unable to fetch record %1 Невозможно получить запись %1 Unable to fetch next Невозможно получить следующую строку Unable to fetch first Невозможно получить первую строку QDateTimeEdit AM AM am am PM PM pm pm QDial QDial QDial SpeedoMeter SpeedoMeter SliderHandle SliderHandle QDialog What's This? Что это? Done Готово QDialogButtonBox OK ОК &OK &ОК &Save &Сохранить Save Сохранить Open Открыть &Cancel От&мена Cancel Отмена &Close &Закрыть Close Закрыть Apply Применить Reset Сбросить Help Справка Don't Save Не сохранять Discard Отклонить &Yes &Да Yes to &All Да для &всех &No &Нет N&o to All Н&ет для всех Save All Сохранить все Abort Прервать Retry Повторить Ignore Пропустить Restore Defaults Восстановить значения Close without Saving Закрыть без сохранения QDirModel Name Имя Size Размер Kind Match OS X Finder Вид Type All other platforms Тип Date Modified Дата изменения QDockWidget Close Закрыть Dock Прикрепить Float Открепить QDoubleSpinBox More Больше Less Меньше QErrorMessage Debug Message: Отладочное сообщение: Warning: Предупреждение: Fatal Error: Критическая ошибка: &Show this message again &Показывать это сообщение в дальнейшем &OK &Закрыть QFile Destination file exists Файл существует Will not rename sequential file using block copy Последовательный файл не будет переименован с использованием поблочного копирования Cannot remove source file Невозможно удалить исходный файл Cannot open %1 for input Невозможно открыть %1 для ввода Cannot open for output Невозможно открыть для вывода Failure to write block Сбой записи блока Cannot create %1 for output Невозможно создать %1 для вывода QFileDialog All Files (*) Все файлы (*) Directories Каталоги &Open &Открыть &Save &Сохранить Open Открыть %1 already exists. Do you want to replace it? %1 уже существует. Хотите заменить его? %1 File not found. Please verify the correct file name was given. %1 Файл не найден. Проверьте правильность указанного имени файла. My Computer Мой компьютер &Rename &Переименовать &Delete &Удалить Show &hidden files Показать ск&рытые файлы Back Назад Parent Directory Родительский каталог List View Список Detail View Подробный вид Files of type: Типы файлов: Directory: Каталог: %1 Directory not found. Please verify the correct directory name was given. %1 Каталог не найден. Проверьте правильность указанного имени каталога. '%1' is write protected. Do you want to delete it anyway? '%1' защищён от записи. Всё-равно хотите удалить? Are sure you want to delete '%1'? Вы действительно хотите удалить '%1'? Could not delete directory. Не удалось удалить каталог. Recent Places Недавние документы All Files (*.*) Все файлы (*.*) Save As Сохранить как Drive Диск File Файл File Folder Match Windows Explorer Папка с файлами Folder All other platforms Папка Alias Mac OS X Finder Псевдоним Shortcut All other platforms Ярлык Unknown Неизвестный Find Directory Найти каталог Show Показать Forward Вперёд New Folder Новая папка &New Folder &Новая папка &Choose &Выбрать Remove Удалить File &name: &Имя файла: Look in: Перейти к: Create New Folder Создать папку QFileSystemModel Invalid filename Некорректное имя файла <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>Имя "%1" не может быть использовано.</b><p>Попробуйте использовать имя меньшей длины и/или без символов пунктуации. Name Имя Size Размер Kind Match OS X Finder Вид Type All other platforms Тип Date Modified Дата изменения My Computer Мой компьютер Computer Компьютер %1 TB %1 Тб %1 GB %1 Гб %1 MB %1 Мб %1 KB %1 Кб %1 bytes %1 байт QFontDatabase Normal Обычный Bold Жирный Demi Bold Полужирный Black Чёрный Demi Средний Light Светлый Italic Курсив Oblique Наклонный Any Любая Latin Латиница Greek Греческая Cyrillic Кириллица Armenian Армянская Hebrew Иврит Arabic Арабская Syriac Сирийская Thaana Таана Devanagari Деванагири Bengali Бенгальская Gurmukhi Гурмукхи Gujarati Гуджарати Oriya Ория Tamil Тамильская Telugu Телугу Kannada Каннада Malayalam Малайялам Sinhala Сингальская Thai Тайская Lao Лаосская Tibetan Тибетская Myanmar Мьянма Georgian Грузинская Khmer Кхмерская Simplified Chinese Китайская упрощенная Traditional Chinese Китайская традиционная Japanese Японская Korean Корейская Vietnamese Вьетнамская Symbol Символьная Ogham Огамическая Runic Руническая QFontDialog &Font &Шрифт Font st&yle &Начертание &Size &Размер Effects Эффекты Stri&keout Зачёр&кнутый &Underline П&одчёркнутый Sample Пример Wr&iting System &Система письма Select Font Выбор шрифта QFtp Not connected Соединение не установлено Host %1 not found Узел %1 не найден Connection refused to host %1 В соединении с узлом %1 отказано Connection timed out to host %1 Время на соединение с узлом %1 истекло Connected to host %1 Установлено соединение с узлом %1 Connection refused for data connection Отказ в соединении для передачи данных Unknown error Неизвестная ошибка Connecting to host failed: %1 Не удалось соединиться с узлом: %1 Login failed: %1 Не удалось авторизоваться: %1 Listing directory failed: %1 Не удалось прочитать каталог: %1 Changing directory failed: %1 Не удалось сменить каталог: %1 Downloading file failed: %1 Не удалось загрузить файл: %1 Uploading file failed: %1 Не удалось отгрузить файл: %1 Removing file failed: %1 Не удалось удалить файл: %1 Creating directory failed: %1 Не удалось создать каталог: %1 Removing directory failed: %1 Не удалось удалить каталог: %1 Connection closed Соединение закрыто Host %1 found Узел %1 найден Connection to %1 closed Соединение с %1 закрыто Host found Узел найден Connected to host Соединение с узлом установлено QHostInfo Unknown error Неизвестная ошибка QHostInfoAgent Host not found Узел не найден Unknown address type Неизвестный тип адреса Unknown error Неизвестная ошибка No host name given Имя узла не задано Invalid hostname Некорректное имя узла QHttp Unknown error Неизвестная ошибка Request aborted Запрос прерван No server set to connect to Не указан сервер для подключения Wrong content length Неверная длина содержимого Server closed connection unexpectedly Сервер неожиданно разорвал соединение Unknown authentication method Неизвестный метод авторизации Error writing response to device Ошибка записи ответа на устройство Connection refused Отказано в соединении Host %1 not found Узел %1 не найден HTTP request failed HTTP-запрос не удался Invalid HTTP response header Некорректный HTTP-заголовок ответа Invalid HTTP chunked body Некорректное HTTP-фрагментирование данных Host %1 found Узел %1 найден Connected to host %1 Установлено соединение с узлом %1 Connection to %1 closed Соединение с узлом %1 закрыто Host found Узел найден Connected to host Соединение с узлом установлено Connection closed Соединение закрыто Proxy authentication required Требуется авторизация на прокси-сервере Authentication required Требуется авторизация Connection refused (or timed out) В соединении отказано (или время ожидания истекло) Proxy requires authentication Прокси-сервер требует авторизацию Host requires authentication Узел требует авторизацию Data corrupted Данные повреждены Unknown protocol specified Указан неизвестный протокол SSL handshake failed Квитирование SSL не удалось HTTPS connection requested but SSL support not compiled in Запрошено соединение по протоколу HTTPS, но поддержка SSL не скомпилирована QHttpSocketEngine Did not receive HTTP response from proxy Не получен HTTP-ответ от прокси-сервера Error parsing authentication request from proxy Ошибка разбора запроса авторизации от прокси-сервера Authentication required Требуется авторизация Proxy denied connection Прокси-сервер запретил соединение Error communicating with HTTP proxy Ошибка обмена данными с прокси-сервером HTTP Proxy server not found Прокси-сервер не найден Proxy connection refused В соединении прокси-сервером отказано Proxy server connection timed out Время на соединение с прокси-сервером истекло Proxy connection closed prematurely Соединение с прокси-сервером неожиданно закрыто QIBaseDriver Error opening database Ошибка открытия базы данных Could not start transaction Не удалось начать транзакцию Unable to commit transaction Невозможно завершить транзакцию Unable to rollback transaction Невозможно отозвать транзакцию QIBaseResult Unable to create BLOB Невозможно создать BLOB Unable to write BLOB Невозможно записать BLOB Unable to open BLOB Невозможно открыть BLOB Unable to read BLOB Невозможно прочитать BLOB Could not find array Не удалось найти массив Could not get array data Не удалось найти данные массива Could not get query info Не удалось найти информацию о запросе Could not start transaction Не удалось начать транзакцию Unable to commit transaction Невозможно завершить транзакцию Could not allocate statement Не удалось получить ресурсы для создания выражения Could not prepare statement Не удалось подготовить выражение Could not describe input statement Не удалось описать входящее выражение Could not describe statement Не удалось описать выражение Unable to close statement Невозможно закрыть выражение Unable to execute query Невозможно выполнить запрос Could not fetch next item Не удалось получить следующий элемент Could not get statement info Не удалось найти информацию о выражении QIODevice Permission denied Доступ запрещён Too many open files Слишком много открытых файлов No such file or directory Файл или каталог не существует No space left on device Нет свободного места на устройстве Unknown error Неизвестная ошибка QInputContext XIM Метод ввода X-сервера FEP Метод ввода S60 FEP XIM input method Метод ввода X-сервера Windows input method Метод ввода Windows Mac OS X input method Метод ввода Mac OS X S60 FEP input method Метод ввода S60 FEP QInputDialog Enter a value: Укажите значение: QLibrary Could not mmap '%1': %2 Не удалось выполнить mmap '%1': %2 Plugin verification data mismatch in '%1' Проверочная информация для модуля '%1' не совпадает Could not unmap '%1': %2 Не удалось выполнить unmap '%1': %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Модуль '%1' использует несоместимую библиотеку Qt. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Модуль '%1' использует несоместимую библиотеку Qt. Ожидается ключ "%2", но получен ключ "%3" Unknown error Неизвестная ошибка The shared library was not found. Динамическая библиотека не найдена. The file '%1' is not a valid Qt plugin. Файл '%1' - не является корректным модулем Qt. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) Модуль '%1' использует несоместимую библиотеку Qt. (Невозможно совместить релизные и отладочные библиотеки.) Cannot load library %1: %2 Невозможно загрузить библиотеку %1: %2 Cannot unload library %1: %2 Невозможно выгрузить библиотеку %1: %2 Cannot resolve symbol "%1" in %2: %3 Невозможно разрешить символ "%1" в %2: %3 QLineEdit &Undo &Отменить действие &Redo &Повторить действие Cu&t &Вырезать &Copy &Копировать &Paste В&ставить Delete Удалить Select All Выделить всё QLocalServer %1: Name error %1: Некорректное имя %1: Permission denied %1: Доступ запрещён %1: Address in use %1: Адрес используется %1: Unknown error %2 %1: Неизвестная ошибка %2 QLocalSocket %1: Connection refused %1: Отказано в соединении %1: Remote closed %1: Закрыто удаленной стороной %1: Invalid name %1: Некорректное имя %1: Socket access error %1: Ошибка обращения к сокету %1: Socket resource error %1: Ошибка выделения ресурсов сокета %1: Socket operation timed out %1: Время на операцию с сокетом истекло %1: Datagram too large %1: Датаграмма слишком большая %1: Connection error %1: Ошибка соединения %1: The socket operation is not supported %1: Операция с сокетом не поддерживается %1: Unknown error %1: Неизвестная ошибка %1: Unknown error %2 %1: Неизвестная ошибка %2 QMYSQLDriver Unable to open database ' Невозможно открыть базу данных ' Unable to connect Невозможно соединиться Unable to begin transaction Невозможно начать транзакцию Unable to commit transaction Невозможно завершить транзакцию Unable to rollback transaction Невозможно отозвать транзакцию QMYSQLResult Unable to fetch data Невозможно получить данные Unable to execute query Невозможно выполнить запрос Unable to store result Невозможно сохранить результат Unable to prepare statement Невозможно подготовить выражение Unable to reset statement Невозможно сбросить выражение Unable to bind value Невозможно привязать значение Unable to execute statement Невозможно выполнить выражение Unable to bind outvalues Невозможно привязать результирующие значения Unable to store statement results Невозможно сохранить результаты выполнения выражения Unable to execute next query Невозможно выполнить следующий запрос Unable to store next result Невозможно сохранить следующий результат QMdiArea (Untitled) (Неозаглавлено) QMdiSubWindow %1 - [%2] %1 - [%2] Close Закрыть Minimize Свернуть Restore Down Восстановить &Restore &Восстановить &Move &Переместить &Size &Размер Mi&nimize &Свернуть Ma&ximize Р&аспахнуть Stay on &Top Оставаться &сверху &Close &Закрыть - [%1] - [%1] Maximize Распахнуть Unshade Восстановить из заголовка Shade Свернуть в заголовок Restore Восстановить Help Справка Menu Меню QMenu Close Закрыть Open Открыть Execute Выполнить QMenuBar Actions Действия QMessageBox Help Справка OK Закрыть About Qt О Qt Show Details... Показать подробности... Hide Details... Скрыть подробности... <h3>About Qt</h3><p>This program uses Qt version %1.</p> <h3>О Qt</h3><p>Данная программа использует Qt версии %1.</p> <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <p>Qt - это инструментарий для разработки кроссплатформенных приложений на C++.</p><p>Qt предоставляет совместимость на уровне исходных текстов между MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux и всеми популярными коммерческими вариантами Unix. Также Qt доступна для встраиваемых устройств в виде Qt для Embedded Linux и Qt для Windows CE.</p><p>Qt доступна под тремя различными лицензиями, разработанными для удовлетворения различных требований.</p><p>Qt под нашей коммерческой лицензией предназначена для развития проприетарного/коммерческого программного обеспечения, когда Вы не желаете предоставлять исходные тексты третьим сторонам, или в случае невозможности принятия условий лицензий GNU LGPL версии 2.1 или GNU GPL версии 3.0.</p><p>Qt под лицензией GNU LGPL версии 2.1 предназначена для разработки программного обеспечения с открытыми исходными текстами или коммерческого программного обеспечения при соблюдении условий лицензии GNU LGPL версии 2.1.</p><p>Qt под лицензией GNU General Public License версии 3.0 предназначена для разработки программных приложений в тех случаях, когда Вы хотели бы использовать такие приложения в сочетании с программным обеспечением на условиях лицензии GNU GPL с версии 3.0 или если Вы готовы соблюдать условия лицензии GNU GPL версии 3.0.</p><p>Обратитесь к <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> для обзора лицензий Qt.</p><p>Copyright (C) 2010 Корпорация Nokia и/или её дочерние подразделения.</p><p>Qt - продукт компании Nokia. Обратитесь к <a href="http://qt.nokia.com/">qt.nokia.com</a> для получения дополнительной информации.</p> QMultiInputContext Select IM Выбор режима ввода QMultiInputContextPlugin Multiple input method switcher Переключатель режима множественного ввода Multiple input method switcher that uses the context menu of the text widgets текстовых виджетов <-?-> текстовых редакторов Переключатель режима множественного ввода, используемый в контекстном меню текстовых виджетов QNativeSocketEngine The remote host closed the connection Удалённый узел закрыл соединение Network operation timed out Время на сетевую операцию истекло Out of resources Недостаточно ресурсов Unsupported socket operation Операция с сокетом не поддерживается Protocol type not supported Протокол не поддерживается Invalid socket descriptor Некорректный дескриптор сокета Network unreachable Сеть недоступна Permission denied Доступ запрещён Connection timed out Время на соединение истекло Connection refused Отказано в соединении The bound address is already in use Адрес уже используется The address is not available Адрес недоступен The address is protected Адрес защищён Unable to send a message Невозможно отправить сообщение Unable to receive a message Невозможно получить сообщение Unable to write Невозможно записать Network error Ошибка сети Another socket is already listening on the same port Другой сокет уже прослушивает этот порт Unable to initialize non-blocking socket Невозможно инициализировать не-блочный сокет Unable to initialize broadcast socket Невозможно инициализировать широковещательный сокет Attempt to use IPv6 socket on a platform with no IPv6 support Попытка использовать IPv6 на платформе, не поддерживающей IPv6 Host unreachable Узел недоступен Datagram was too large to send Датаграмма слишком большая для отправки Operation on non-socket Операция с не-сокетом Unknown error Неизвестная ошибка The proxy type is invalid for this operation Некорректный тип прокси-сервера для данной операции QNetworkAccessCacheBackend Error opening %1 Ошибка открытия %1 QNetworkAccessDebugPipeBackend Write error writing to %1: %2 Ошибка записи в %1: %2 QNetworkAccessFileBackend Request for opening non-local file %1 Запрос на открытие файла вне файловой системы %1 Error opening %1: %2 Ошибка открытия %1: %2 Write error writing to %1: %2 Ошибка записи в %1: %2 Cannot open %1: Path is a directory Невозможно открыть %1: Указан путь к каталогу Read error reading from %1: %2 Ошибка чтения из %1: %2 QNetworkAccessFtpBackend No suitable proxy found Подходящий прокси-сервер не найден Cannot open %1: is a directory Невозможно открыть %1: Указан путь к каталогу Logging in to %1 failed: authentication required Соединение с %1 не удалось: требуется авторизация Error while downloading %1: %2 Ошибка в процессе загрузки %1: %2 Error while uploading %1: %2 Ошибка в процессе отгрузки %1: %2 QNetworkAccessHttpBackend No suitable proxy found Подходящий прокси-сервер не найден QNetworkReply Error downloading %1 - server replied: %2 Ошибка загрузки %1 - ответ сервера: %2 Protocol "%1" is unknown Неизвестный протокол "%1" QNetworkReplyImpl Operation canceled Операция отменена QOCIDriver Unable to logon Невозможно авторизоваться Unable to initialize QOCIDriver Невозможно инициализировать Unable to begin transaction Невозможно начать транзакцию Unable to commit transaction Невозможно завершить транзакцию Unable to rollback transaction Невозможно отозвать транзакцию QOCIResult Unable to bind column for batch execute Невозможно привязать столбец для пакетного выполнения Unable to execute batch statement Невозможно выполнить пакетное выражение Unable to goto next Невозможно перейти к следующей строке Unable to alloc statement Невозможно создать выражение Unable to prepare statement Невозможно подготовить выражение Unable to get statement type Невозможно определить тип выражения Unable to bind value Невозможно привязать результирующие значения Unable to execute statement Невозможно выполнить выражение QODBCDriver Unable to connect Невозможно соединиться Unable to disable autocommit Невозможно отключить автозавершение транзакций Unable to commit transaction Невозможно завершить транзакцию Unable to rollback transaction Невозможно отозвать транзакцию Unable to enable autocommit Невозможно включить автозавершение транзакций Unable to connect - Driver doesn't support all functionality required Невозможно соединиться - Драйвер не поддерживает требуемый функционал QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Невозможно установить 'SQL_CURSOR_STATIC' атрибутом выражение. Проверьте настройки драйвера ODBC Unable to execute statement Невозможно выполнить выражение Unable to fetch next Невозможно получить следующую строку Unable to prepare statement Невозможно подготовить выражение Unable to bind variable Невозможно привязать значение Unable to fetch last Невозможно получить последнюю строку Unable to fetch Невозможно получить данные Unable to fetch first Невозможно получить первую строку Unable to fetch previous Невозможно получить предыдущую строку QObject Invalid hostname Некорректное имя узла Operation not supported on %1 Операция не поддерживается для %1 Invalid URI: %1 Некорректный URI: %1 Socket error on %1: %2 Ошика сокета для %1: %2 Remote host closed the connection prematurely on %1 Удалённый узел неожиданно прервал соединение для %1 No host name given Имя узла не задано QPPDOptionsModel Name Имя Value Значение QPSQLDriver Unable to connect Невозможно соединиться Could not begin transaction Не удалось начать транзакцию Could not commit transaction Не удалось завершить транзакцию Could not rollback transaction Не удалось отозвать транзакцию Unable to subscribe Невозможно подписаться Unable to unsubscribe Невозможно отписаться QPSQLResult Unable to create query Невозможно создать запрос Unable to prepare statement Невозможно подготовить выражение QPageSetupWidget Centimeters (cm) Сантиметры (cm) Millimeters (mm) Миллиметры (mm) Inches (in) Дюймы (in) Points (pt) Точки (pt) Form Форма Paper Бумага Page size: Размер страницы: Width: Ширина: Height: Высота: Paper source: Источник бумаги: Orientation Ориентация Portrait Книжная Landscape Альбомная Reverse landscape Перевёрнутая альбомная Reverse portrait Перевёрнутая книжная Margins Поля top margin верхнее поле left margin левое поле right margin правое поле bottom margin нижнее поле QPluginLoader Unknown error Неизвестная ошибка The plugin was not loaded. Модуль не был загружен. QPrintDialog locally connected соединено локально Aliases: %1 Псевдонимы: %1 unknown неизвестно A0 (841 x 1189 mm) A0 (841 x 1189 мм) A1 (594 x 841 mm) A1 (594 x 841 мм) A2 (420 x 594 mm) A2 (420 x 594 мм) A3 (297 x 420 mm) A3 (297 x 420 мм) A4 (210 x 297 mm, 8.26 x 11.7 inches) A4 (210 x 297 мм, 8.26 x 11.7 дюймов) A5 (148 x 210 mm) A5 (148 x 210 мм) A6 (105 x 148 mm) A6 (105 x 148 мм) A7 (74 x 105 mm) A7 (74 x 105 мм) A8 (52 x 74 mm) A8 (52 x 74 мм) A9 (37 x 52 mm) A9 (37 x 52 мм) B0 (1000 x 1414 mm) B0 (1000 x 1414 мм) B1 (707 x 1000 mm) B1 (707 x 1000 мм) B2 (500 x 707 mm) B2 (500 x 707 мм) B3 (353 x 500 mm) B3 (353 x 500 мм) B4 (250 x 353 mm) B4 (250 x 353 мм) B5 (176 x 250 mm, 6.93 x 9.84 inches) B5 (176 x 250 мм, 6.93 x 9.84 дюймов) B6 (125 x 176 mm) B6 (125 x 176 мм) B7 (88 x 125 mm) B7 (88 x 125 мм) B8 (62 x 88 mm) B8 (62 x 88 мм) B9 (44 x 62 mm) B9 (44 x 62 мм) B10 (31 x 44 mm) B10 (31 x 44 мм) C5E (163 x 229 mm) C5E (163 x 229 мм) DLE (110 x 220 mm) DLE (110 x 220 мм) Executive (7.5 x 10 inches, 191 x 254 mm) Executive (191 x 254 мм, 7.5 x 10 дюймов) Folio (210 x 330 mm) Folio (210 x 330 мм) Ledger (432 x 279 mm) Ledger (432 x 279 мм) Legal (8.5 x 14 inches, 216 x 356 mm) Legal (216 x 356 мм, 8.5 x 14 дюймов) Letter (8.5 x 11 inches, 216 x 279 mm) Letter (216 x 279 мм, 8.5 x 11 дюймов) Tabloid (279 x 432 mm) Tabloid (279 x 432 мм) US Common #10 Envelope (105 x 241 mm) Конверт US #10 (105x241 мм) OK Закрыть Print Печать Print To File ... Печать в файл ... Print range Печатать диапазон Print all Печатать все File %1 is not writable. Please choose a different file name. %1 недоступен для записи. Выберите другое имя файла. %1 already exists. Do you want to overwrite it? %1 уже существует. Хотите заменить его? File exists Файл существует <qt>Do you want to overwrite it?</qt> <qt>Хотите заменить?</qt> Print selection Выделенный фрагмент %1 is a directory. Please choose a different file name. %1 - это каталог. Выберите другое имя файла. A0 A0 A1 A1 A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 A7 A7 A8 A8 A9 A9 B0 B0 B1 B1 B2 B2 B3 B3 B4 B4 B5 B5 B6 B6 B7 B7 B8 B8 B9 B9 B10 B10 C5E C5E DLE DLE Executive Executive Folio Folio Ledger Ledger Legal Legal Letter Letter Tabloid Tabloid US Common #10 Envelope US Common #10 Envelope Custom Пользовательский &Options >> &Параметры >> &Print &Печать &Options << &Параметры << Print to File (PDF) Печать в файл (PDF) Print to File (Postscript) Печать в файл (Postscript) Local file Локальный файл Write %1 file Запись %1 файла The 'From' value cannot be greater than the 'To' value. Значение 'от' не может быть больше значения 'до'. QPrintPreviewDialog Page Setup Параметры страницы %1% %1% Print Preview Просмотр печати Next page Следующая страница Previous page Предыдущая страница First page Первая страница Last page Последняя страница Fit width По ширине Fit page На всю страницу Zoom in Увеличить Zoom out Уменьшить Portrait Книжная Landscape Альбомная Show single page Показать одну страницу Show facing pages Показать титульные страницы Show overview of all pages Показать обзор всех страниц Print Печать Page setup Параметры страницы Export to PDF Экспорт в PDF Export to PostScript Экспорт в Postscript QPrintPropertiesWidget Form Форма Page Страница Advanced Дополнительно QPrintSettingsOutput Form Форма Copies Копии Print range Диапазон печати Print all Все Pages from Страницы от to до Selection Выделенный фрагмент Output Settings Настройки вывода Copies: Количество копий: Collate Разобрать про копиям Reverse Обратный порядок Options Параметры Color Mode Режим цвета Color Цвет Grayscale Оттенки серого Duplex Printing Двусторонняя печать None Нет Long side По длинной стороне Short side По короткой стороне QPrintWidget Form Форма Printer Принтер &Name: &Название: P&roperties С&войства Location: Расположение: Preview Просмотр Type: Тип: Output &file: Вывод в &файл: ... ... QProcess Could not open input redirection for reading Не удалось открыть перенаправление ввода для чтения Could not open output redirection for writing Не удалось открыть перенаправление вывода для записи Resource error (fork failure): %1 Ошибка выделения ресурсов (сбой fork): %1 Process operation timed out Время на операцию с процессом истекло Error reading from process Ошибка получения данных от процесса Error writing to process Ошибка отправки данных процессу Process crashed Процесс завершился с ошибкой No program defined Программа не указана Process failed to start: %1 Не удалось запустить процесс: %1 QProgressDialog Cancel Отмена QPushButton Open Открыть QRadioButton Check Отметить QRegExp no error occurred ошибки отсутствуют disabled feature used использование отключённых возможностей bad char class syntax неправильный синтаксис класса символов bad lookahead syntax неправильный предварительный синтаксис bad repetition syntax неправильный синтаксис повторения invalid octal value некорректное восьмеричное значение missing left delim отсутствует левый разделитель unexpected end неожиданный конец met internal limit достигнуто внутреннее ограничение invalid interval некорректный интервал invalid category некорректная категория QSQLite2Driver Error opening database Ошибка открытия базы данных Unable to begin transaction Невозможно начать транзакцию Unable to commit transaction Невозможно завершить транзакцию Unable to rollback transaction Невозможно отозвать транзакцию QSQLite2Result Unable to fetch results Невозможно получить результаты Unable to execute statement Невозможно выполнить выражение QSQLiteDriver Error opening database Ошибка открытия базы данных Error closing database Ошибка закрытия базы данных Unable to begin transaction Невозможно начать транзакцию Unable to commit transaction Невозможно завершить транзакцию Unable to rollback transaction Невозможно отозвать транзакцию QSQLiteResult Unable to fetch row Невозможно получить строку Unable to execute statement Невозможно выполнить выражение Unable to reset statement Невозможно сбросить выражение Unable to bind parameters Невозможно привязать параметр Parameter count mismatch Количество параметров не совпадает No query Отсутствует запрос QScriptBreakpointsModel ID ID Location Размещение Condition Условие Ignore-count Пропустить Single-shot Один раз Hit-count Попаданий QScriptBreakpointsWidget New Новая Delete Удалить QScriptDebugger Go to Line Перейти к строке Line: Строка: Interrupt Прервать Shift+F5 Shift+F5 Continue Продолжить F5 F5 Step Into Войти в F11 F11 Step Over Перейти через F10 F10 Step Out Выйти из функции Shift+F11 Shift+F11 Run to Cursor Выполнить до курсора Ctrl+F10 Ctrl+F10 Run to New Script Выполнить до нового сценария Toggle Breakpoint Установить/убрать точку останова F9 F9 Clear Debug Output Очистить отладочный вывод Clear Error Log Очистить журнал ошибок Clear Console Очистить консоль &Find in Script... &Найти в сценарии... Ctrl+F Ctrl+F Find &Next Найти &следующее F3 F3 Find &Previous Найти &предыдущее Shift+F3 Shift+F3 Ctrl+G Ctrl+G Debug Отладка QScriptDebuggerCodeFinderWidget Close Закрыть Previous Предыдущий Next Следующий Case Sensitive Учитывать регистр Whole words Слова целиком <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Поиск с начала QScriptDebuggerLocalsModel Name Название Value Значение QScriptDebuggerStackModel Level Уровень Name Название Location Размещение QScriptEdit Toggle Breakpoint Установить/убрать точку останова Disable Breakpoint Убрать точку останова Enable Breakpoint Установить точку останова Breakpoint Condition: Условие точки останова: QScriptEngineDebugger Loaded Scripts Загруженные сценарии Breakpoints Точки останова Stack Стек Locals Локальные переменные Console Консоль Debug Output Отладочный вывод Error Log Журнал ошибок Search Поиск View Вид Qt Script Debugger Отладчик сценариев Qt QScriptNewBreakpointWidget Close Закрыть QScrollBar Scroll here Прокрутить сюда Left edge К левой границе Top Вверх Right edge К правой границе Bottom Вниз Page left На страницу влево Page up На страницу вверх Page right На страницу вправо Page down На страницу вниз Scroll left Прокрутить влево Scroll up Прокрутить вверх Scroll right Прокрутить вправо Scroll down Прокрутить вниз Line up На строку вверх Position Положение Line down На строку вниз QSharedMemory %1: unable to set key on lock %1: невозможно установить ключ на блокировку %1: create size is less then 0 %1: размер меньше нуля %1: unable to lock %1: невозможно заблокировать %1: unable to unlock %1: невозможно разблокировать %1: permission denied %1: доступ запрещён %1: already exists %1: уже существует %1: doesn't exists %1: не существует %1: out of resources %1: недостаточно ресурсов %1: unknown error %2 %1: неизвестная ошибка %2 %1: key is empty %1: пустой ключ %1: doesn't exist %1: не существует %1: UNIX key file doesn't exist %1: специфический ключ UNIX не существует %1: ftok failed %1: ошибка ftok %1: unable to make key %1: невозможно создать ключ %1: system-imposed size restrictions %1: системой наложены ограничения на размер %1: not attached %1: не приложенный %1: invalid size %1: некорректный размер %1: key error %1: некорректный ключ %1: size query failed %1: не удалось запросить размер QShortcut Space Esc Tab Backtab Backspace Return Enter Ins Del Pause Print SysReq Home End Left Up Right Down PgUp PgDown CapsLock NumLock ScrollLock Menu Меню Help Справка Back Назад Forward Вперёд Stop Остановить Refresh Обновить Volume Down Тише Volume Mute Выключить звук Volume Up Громче Bass Boost Bass Up Bass Down Treble Up Treble Down Media Play Воспроизведение Media Stop Остановить воспроизведение Media Previous Воспроизвести предыдущее Media Next Воспроизвести следующее Media Record Запись Favorites Избранное Search Поиск Standby Режим ожидания Open URL Открыть URL Launch Mail Почта Launch Media Проигрыватель Launch (0) Запустить (0) Launch (1) Запустить (1) Launch (2) Запустить (2) Launch (3) Запустить (3) Launch (4) Запустить (4) Launch (5) Запустить (5) Launch (6) Запустить (6) Launch (7) Запустить (7) Launch (8) Запустить (8) Launch (9) Запустить (9) Launch (A) Запустить (A) Launch (B) Запустить (B) Launch (C) Запустить (C) Launch (D) Запустить (D) Launch (E) Запустить (E) Launch (F) Запустить (F) Print Screen Page Up Page Down Caps Lock Num Lock Number Lock Scroll Lock Insert Вставить Delete Удалить Escape System Request Select Выбрать Yes Да No Нет Context1 Context2 Context3 Context4 Call Hangup Flip Ctrl Shift Alt Meta + F%1 Home Page QSlider Page left Страница влево Page up Страница вверх Position Положение Page right Страница вправо Page down Страница вниз QSocks5SocketEngine Connection to proxy refused В соединении с прокси-сервером отказано Connection to proxy closed prematurely Соединение с прокси-сервером неожиданно закрыто Proxy host not found Прокси-сервер не найден Connection to proxy timed out Время на соединение с прокси-сервером истекло Proxy authentication failed Не удалось авторизоваться на прокси-сервере Proxy authentication failed: %1 Не удалось авторизоваться на прокси-сервере: %1 SOCKS version 5 protocol error Ошибка протокола SOCKSv5 General SOCKSv5 server failure Ошибка сервере SOCKSv5 Connection not allowed by SOCKSv5 server Соединение не разрешено сервером SOCKSv5 TTL expired TTL истекло SOCKSv5 command not supported Команда SOCKSv5 не поддерживается Address type not supported Тип адреса не поддерживается Unknown SOCKSv5 proxy error code 0x%1 Неизвестная ошибка SOCKSv5 прокси (код 0x%1) Network operation timed out Время на сетевую операцию истекло QSoftKeyManager Ok ОК Select Выбрать Done Готово Options Параметры Cancel Отмена Exit Выход QSpinBox More Больше Less Меньше QSql Delete Удалить Delete this record? Удалить данную запись? Yes Да No Нет Insert Вставить Update Обновить Save edits? Сохранить изменения? Cancel Отмена Confirm Подтверждение Cancel your edits? Отменить изменения? QSslSocket Unable to write data: %1 Невозможно записать данные: %1 Error while reading: %1 Ошибка чтения: %1 Error during SSL handshake: %1 Ошибка квитирования SSL: %1 Error creating SSL context (%1) Ошибка создания контекста SSL: (%1) Invalid or empty cipher list (%1) Неправильный или пустой список шифров (%1) Error creating SSL session, %1 Ошибка создания сессии SSL, %1 Error creating SSL session: %1 Ошибка создания сессии SSL: %1 Cannot provide a certificate with no key, %1 Невозможно предоставить сертификат без ключа, %1 Error loading local certificate, %1 Ошибка загрузки локального сертификата, %1 Error loading private key, %1 Ошибка загрузки закрытого ключа, %1 Private key does not certificate public key, %1 Закрытый ключ не соответствует открытому ключу, %1 QStateMachine Missing initial state in compound state '%1' Missing default state in history state '%1' No common ancestor for targets and source of transition from state '%1' Unknown error Неизвестная ошибка QSystemSemaphore %1: out of resources %1: недостаточно ресурсов %1: permission denied %1: доступ запрещён %1: already exists %1: уже существует %1: does not exist %1: не существует %1: unknown error %2 %1: неизвестная ошибка %2 QTDSDriver Unable to open connection Невозможно открыть соединение Unable to use database Невозможно использовать базу данных QTabBar Scroll Left Прокрутить влево Scroll Right Прокрутить вправо QTcpServer Operation on socket is not supported Операция с сокетом не поддерживается QTextControl &Undo &Отменить действие &Redo &Повторить действие Cu&t &Вырезать &Copy &Копировать Copy &Link Location Скопировать &адрес ссылки &Paste В&ставить Delete Удалить Select All Выделить всё QToolButton Press Нажать Open Открыть QUdpSocket This platform does not support IPv6 Данная платформа не поддерживает IPv6 QUndoGroup Undo Отменить действие Redo Повторить действие QUndoModel <empty> <пусто> QUndoStack Undo Отменить действие Redo Повторить действие QUnicodeControlCharacterMenu LRM Left-to-right mark LRM Признак письма слева направо RLM Right-to-left mark RLM Признак письма справа налево ZWJ Zero width joiner ZWJ Объединяющий символ нулевой ширины ZWNJ Zero width non-joiner ZWNJ Не объединяющий символ нулевой ширины ZWSP Zero width space ZWSP Пробел нулевой ширины LRE Start of left-to-right embedding RLE Start of right-to-left embedding LRO Start of left-to-right override RLO Start of right-to-left override PDF Pop directional formatting Insert Unicode control character Вставить управляющий символ Unicode QWebFrame Request cancelled Запрос отменён Request blocked Запрос блокирован Cannot show URL Невозможно отобразить URL Frame load interrupted by policy change Загрузка фрейма прервана изменением политики Cannot show mimetype Невозможно отобразить тип MIME File does not exist Файл не существует QWebPage Bad HTTP request Некорректный HTTP-запрос Submit default label for Submit buttons in forms on web pages Отправить Submit Submit (input element) alt text for <input> elements with no alt, title, or value Отправить Reset default label for Reset buttons in forms on web pages Сбросить This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Индекс поиска. Введите ключевые слова для поиска: Choose File title for file button used in HTML forms Обзор... No file selected text to display in file button used in HTML forms when no file is selected Файл не указан Open in New Window Open in New Window context menu item Открыть в новом окне Save Link... Download Linked File context menu item Сохранить по ссылке как... Copy Link Copy Link context menu item Копировать адрес ссылки Open Image Open Image in New Window context menu item Открыть изображение Save Image Download Image context menu item Сохранить изображение Copy Image Copy Link context menu item Копировать изображение в буффер обмена Open Frame Open Frame in New Window context menu item Открыть фрейм Copy Copy context menu item Копировать Go Back Back context menu item Назад Go Forward Forward context menu item Вперёд Stop Stop context menu item Остановить Reload Reload context menu item Обновить Cut Cut context menu item Вырезать Paste Paste context menu item Вставить No Guesses Found No Guesses Found context menu item Неверное слово Ignore Ignore Spelling context menu item ?Пропускать Пропустить Add To Dictionary Learn Spelling context menu item Добавить в словарь Search The Web Search The Web context menu item Искать в Интернет Look Up In Dictionary Look Up in Dictionary context menu item Искать в словаре Open Link Open Link context menu item Открыть ссылку Ignore Ignore Grammar context menu item ?Пропускать Пропустить Spelling Spelling and Grammar context sub-menu item Орфография Show Spelling and Grammar menu item title Показать панель проверки правописания Hide Spelling and Grammar menu item title Скрыть панель проверки правописания Check Spelling Check spelling context menu item Проверка орфографии Check Spelling While Typing Check spelling while typing context menu item Проверять орфографию при наборе текста Check Grammar With Spelling Check grammar with spelling context menu item Проверять грамматику с орфографией Fonts Font context sub-menu item Шрифты Bold Bold context menu item Жирный Italic Italic context menu item Курсив Underline Underline context menu item Подчёркнутый Outline Outline context menu item Перечёркнутый Direction Writing direction context sub-menu item Направление письма Text Direction Text direction context sub-menu item Направление текста Default Default writing direction context menu item По умолчанию Left to Right Left to Right context menu item Слева направо Right to Left Right to Left context menu item Справа налево Loading... Media controller status message when the media is loading Загрузка... Live Broadcast Media controller status message when watching a live broadcast Потоковое вещание Audio Element Media controller element Video Element Media controller element Mute Button Media controller element Unmute Button Media controller element Play Button Media controller element Pause Button Media controller element Slider Media controller element Slider Thumb Media controller element Rewind Button Media controller element Return to Real-time Button Media controller element Elapsed Time Media controller element Remaining Time Media controller element Status Display Media controller element Fullscreen Button Media controller element Seek Forward Button Media controller element Seek Back Button Media controller element Audio element playback controls and status display Media controller element Video element playback controls and status display Media controller element Mute audio tracks Media controller element Unmute audio tracks Media controller element Begin playback Media controller element Pause playback Media controller element Movie time scrubber Media controller element Movie time scrubber thumb Media controller element Rewind movie Media controller element Return streaming movie to real-time Media controller element Current movie time Media controller element Remaining movie time Media controller element Current movie status Media controller element Play movie in full-screen mode Media controller element Seek quickly back Media controller element Seek quickly forward Media controller element Indefinite time Media time description %1 days %2 hours %3 minutes %4 seconds Media time description %1 hours %2 minutes %3 seconds Media time description %1 minutes %2 seconds Media time description %1 seconds Media time description Inspect Inspect Element context menu item Проверить No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed История поиска пуста Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title История поиска Clear recent searches menu item in Recent Searches menu that empties menu's contents Очистить историю поиска Unknown Unknown filesize FTP directory listing item Неизвестно %1 (%2x%3 pixels) Title string for images %1 (%2x%3 px) Web Inspector - %2 Web-инспектор - %2 Scroll here Прокрутить сюда Left edge К левой границе Top Вверх Right edge К правой границе Bottom Вниз Page left На страницу влево Page up На страницу вверх Page right На страницу вправо Page down На страницу вниз Scroll left Прокрутить влево Scroll up Прокрутить вверх Scroll right Прокрутить вправо Scroll down Прокрутить вниз %n file(s) number of chosen file %n файл(а) %n файла %n файлов JavaScript Alert - %1 JavaScript: Предупреждение - %1 JavaScript Confirm - %1 JavaScript: Подтверждение - %1 JavaScript Prompt - %1 JavaScript: Запрос - %1 JavaScript Problem - %1 JavaScript: Проблема - %1 The script on this page appears to have a problem. Do you want to stop the script? Сбой выполнения сценария на данной странице. Желаете остановить выполение сценария? Move the cursor to the next character Переместить указатель к следующему символу Move the cursor to the previous character Переместить указатель к предыдущему символу Move the cursor to the next word Переместить указатель к следующему слову Move the cursor to the previous word Переместить указатель к предыдущему слову Move the cursor to the next line Переместить указатель на следующую строку Move the cursor to the previous line Переместить указатель на предыдущую строку Move the cursor to the start of the line Переместить указатель в начало строки Move the cursor to the end of the line Переместить указатель в конец строки Move the cursor to the start of the block Переместить указатель в начало блока Move the cursor to the end of the block Переместить указатель в конец блока Move the cursor to the start of the document Переместить указатель в начало документа Move the cursor to the end of the document Переместить указатель в конец документа Select all Выделить всё Select to the next character Выделить до следующего символа Select to the previous character Выделить до предыдущего символа Select to the next word Выделить до следующего слова Select to the previous word Выделить до предыдущего слова Select to the next line Выделить до следующей строки Select to the previous line Выделить до предыдущей строки Select to the start of the line Выделить до начала строки Select to the end of the line Выделить до конца строки Select to the start of the block Выделить до начала блока Select to the end of the block Выделить до конца блока Select to the start of the document Выделить до начала документа Select to the end of the document Выделить до конца документа Delete to the start of the word Удалить до начала слова Delete to the end of the word Удалить до конца слова Insert a new paragraph Вставить новый параграф Insert a new line Вставить новую строку Paste and Match Style Вставить, сохранив стиль Remove formatting Удалить форматирование Strikethrough Зачёркнутый Subscript Подстрочный Superscript Надстрочный Insert Bulleted List Вставить маркированный список Insert Numbered List Вставить нумерованный список Indent Увеличить отступ Outdent Уменьшить отступ Center По центру Justify По ширине Align Left По левому краю Align Right По правому краю QWhatsThisAction What's This? Что это? QWidget * * QWizard Go Back Назад Continue Продолжить Commit Передать Done Готово Help Справка < &Back < &Назад &Finish &Завершить Cancel Отмена &Help &Справка &Next &Далее &Next > &Далее > QWorkspace &Restore &Восстановить &Move &Переместить &Size &Размер Mi&nimize &Свернуть Ma&ximize Р&аспахнуть &Close &Закрыть Stay on &Top Оставаться &сверху Sh&ade Св&ернуть в заголовок %1 - [%2] %1 - [%2] Minimize Свернуть Restore Down Восстановить Close Закрыть &Unshade В&осстановить из заголовка QXml no error occurred ошибки отсутствуют error triggered by consumer ошибка вызвана пользователем unexpected end of file неожиданный конец файла more than one document type definition указано более одного типа документа error occurred while parsing element ошибка разбора элемента tag mismatch тэг не совпадает error occurred while parsing content ошибка разбора документа unexpected character неожиданный символ invalid name for processing instruction некорректное имя директивы разбора version expected while reading the XML declaration в объявлении XML ожидается параметр version wrong value for standalone declaration некорректное значение параметра standalone encoding declaration or standalone declaration expected while reading the XML declaration в объявлении XML ожидаются параметры encoding или standalone standalone declaration expected while reading the XML declaration в объявлении XML ожидается параметр standalone error occurred while parsing document type definition ошибка разбора объявления типа документа letter is expected ожидалась буква error occurred while parsing comment ошибка разбора комментария error occurred while parsing reference ошибка разбора ссылки internal general entity reference not allowed in DTD внутренняя ссылка на общий объект недопустима в DTD external parsed general entity reference not allowed in attribute value внешняя ссылка на общий объект недопустима в значении атрибута external parsed general entity reference not allowed in DTD внешняя ссылка на общий объект недопустима в DTD unparsed entity reference in wrong context неразобранная ссылка на объект в неверном контексте recursive entities рекурсивные объекты error in the text declaration of an external entity ошибка в объявлении внешнего объекта QXmlStream Extra content at end of document. Лишние данные в конце документа. Invalid entity value. Некорректное значение объекта. Invalid XML character. Некорректный символ XML. Sequence ']]>' not allowed in content. Последовательность ']]>' недопустима в содержимом. Namespace prefix '%1' not declared Префикс пространства имён '%1' не объявлен Attribute redefined. Атрибут переопределён. Unexpected character '%1' in public id literal. Неожиданный символ '%1' в литерале открытого идентификатора. Invalid XML version string. Неверная строка версии XML. Unsupported XML version. Неподдерживаемая версия XML. %1 is an invalid encoding name. %1 - неверное название кодировки. Encoding %1 is unsupported Кодировка %1 не поддерживается Standalone accepts only yes or no. Псевдоатрибут 'standalone' может принимать только значения 'yes' или 'no'. Invalid attribute in XML declaration. Некорректный атрибут в объявлении XML. Premature end of document. Неожиданный конец документа. Invalid document. Некорректный документ. Expected Ожидалось , but got ' , получили ' Unexpected ' Неожиданное ' Expected character data. Ожидаются символьные данные. Recursive entity detected. Обнаружен рекурсивный объект. Start tag expected. Ожидается открывающий тэг. XML declaration not at start of document. Объявление XML находится не в начале документа. NDATA in parameter entity declaration. NDATA в объявлении параметра. %1 is an invalid processing instruction name. %1 неверное название обрабатываемой инструкции. Invalid processing instruction name. Неверное название обрабатываемой инструкции. Illegal namespace declaration. Неверное объявление пространства имён. Invalid XML name. Некорректное имя XML. Opening and ending tag mismatch. Открывающий тэг не совпадает с закрывающим. Reference to unparsed entity '%1'. Ссылка на необработанный объект '%1'. Entity '%1' not declared. Объект '%1' не объявлен. Reference to external entity '%1' in attribute value. Ссылка на внешний объект '%1' в значении атрибута. Invalid character reference. Неверная символьная ссылка. Encountered incorrectly encoded content. Обнаружено неверно закодированное содержимое. The standalone pseudo attribute must appear after the encoding. Псевдоатрибут 'standalone' должен находиться после указания кодировки. %1 is an invalid PUBLIC identifier. %1 - неверный идентификатор PUBLIC. QtXmlPatterns Network timeout. Время ожидания сети истекло. Element %1 can't be serialized because it appears outside the document element. Элемент %1 не может быть сериализован, так как присутствует вне документа. Year %1 is invalid because it begins with %2. Год %1 неверен, так как начинается с %2. Day %1 is outside the range %2..%3. День %1 вне диапазона %2..%3. Month %1 is outside the range %2..%3. Месяц %1 вне диапазона %2..%3. Overflow: Can't represent date %1. Переполнение: Не удается представить дату %1. Day %1 is invalid for month %2. День %1 неверен для месяца %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Время 24:%1:%2.%3 неверно. 24 часа, но минуты, секунды и/или миллисекунды отличны от 0; Time %1:%2:%3.%4 is invalid. Время %1:%2:%3.%4 неверно. Overflow: Date can't be represented. Переполнение: невозможно представить дату. At least one component must be present. Должна присутствовать как минимум одна компонента. At least one time component must appear after the %1-delimiter. Как минимум одна компонента времени должна следовать за разделителем '%1'. %1 is not a valid value of type %2. %1 не является правильным значением типа %2. When casting to %1 from %2, the source value cannot be %3. При преобразовании %2 в %1 исходное значение не может быть %3. Integer division (%1) by zero (%2) is undefined. Целочисленное деление (%1) на нуль (%2) не определено. Division (%1) by zero (%2) is undefined. Деление (%1) на нуль (%2) не определено. Modulus division (%1) by zero (%2) is undefined. Деление по модулю (%1) на нуль (%2) не определено. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Деление числа типа %1 на %2 (не числовое выражение) недопустимо. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Деление числа типа %1 на %2 или %3 (плюс или минус нуль) недопустимо. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. Умножение числа типа %1 на %2 или %3 (плюс-минус бесконечность) недопустимо. A value of type %1 cannot have an Effective Boolean Value. Значение типа %1 не может быть булевым значением. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Булево значение не может быть вычислено для последовательностей, которые содержат два и более атомарных значения. Value %1 of type %2 exceeds maximum (%3). Значение %1 типа %2 больше максимума (%3). Value %1 of type %2 is below minimum (%3). Значение %1 типа %2 меньше минимума (%3). A value of type %1 must contain an even number of digits. The value %2 does not. Значение типа %1 должно содержать четное количество цифр. Значение %2 этому требованию не удовлетворяет. %1 is not valid as a value of type %2. Значение %1 некорректно для типа %2. Operator %1 cannot be used on type %2. Оператор %1 не может использоваться для типа %2. Operator %1 cannot be used on atomic values of type %2 and %3. Оператор %1 не может использоваться для атомарных значений типов %2 и %3. The namespace URI in the name for a computed attribute cannot be %1. URI пространства имён в названии рассчитываемого атрибута не может быть %1. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Название расчитываемого атрибута не может иметь URI пространства имён %1 с локальным именем %2. Type error in cast, expected %1, received %2. Ошибка типов в преобразовании, ожидалось %1, получено %2. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. При преобразовании в %1 или производные от него типы исходное значение должно быть того же типа или строковым литералом. Тип %2 недопустим. A comment cannot contain %1 Комментарий не может содержать %1 A comment cannot end with a %1. Комментарий не может оканчиваться на %1. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. Узел-атрибут не может быть потомком узла-документа. Атрибут %1 неуместен. A library module cannot be evaluated directly. It must be imported from a main module. Модуль библиотеки не может использоваться напрямую. Он должен быть импортирован из основного модуля. No template by name %1 exists. Шаблон с именем %1 отсутствует. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. Значение типа %1 не может быть условием. Условием могут являться числовой и булевый типы. A positional predicate must evaluate to a single numeric value. Позиционный предикат должен вычисляться как числовое выражение. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. Целевое имя в обрабатываемой инструкции не может быть %1 в любой комбинации нижнего и верхнего регистров. Имя %2 некорректно. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. %1 некорректное целевое имя в обрабатываемой инструкции. Имя должно быть значением типа %2, например: %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. Последняя часть пути должна содержать узлы или атомарные значения, но не может содержать и то, и другое одновременно. The data of a processing instruction cannot contain the string %1 Данные обрабатываемой инструкции не могут содержать строку '%1' No namespace binding exists for the prefix %1 Отсутствует привязка к пространству имён для префикса %1 No namespace binding exists for the prefix %1 in %2 Отсутствует привязка к пространству имён для префикса %1 в %2 %1 is an invalid %2 %1 некоррекно для %2 %1 takes at most %n argument(s). %2 is therefore invalid. %1 принимает не более %n аргумента. Следовательно, %2 неверно. %1 принимает не более %n аргументов. Следовательно, %2 неверно. %1 принимает не более %n аргументов. Следовательно, %2 неверно. %1 requires at least %n argument(s). %2 is therefore invalid. %1 принимает не менее %n аргумента. Следовательно, %2 неверно. %1 принимает не менее %n аргументов. Следовательно, %2 неверно. %1 принимает не менее %n аргументов. Следовательно, %2 неверно. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. Первый аргумент %1 не может быть типа %2. Он должен быть числового типа, типа xs:yearMonthDuration или типа xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Первый аргумент %1 не может быть типа %2. Он должен быть типа %3, %4 или %5. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Второй аргумент %1 не может быть типа %2. Он должен быть типа %3, %4 или %5. %1 is not a valid XML 1.0 character. Символ %1 недопустим для XML 1.0. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. Если оба значения имеют региональные смещения, смещения должны быть одинаковы. %1 и %2 не одинаковы. %1 was called. %1 было вызвано. %1 must be followed by %2 or %3, not at the end of the replacement string. '%1' должно сопровождаться '%2' или '%3', но не в конце замещаемой строки. In the replacement string, %1 must be followed by at least one digit when not escaped. В замещаемой строке '%1' должно сопровождаться как минимум одной цифрой, если неэкранировано. In the replacement string, %1 can only be used to escape itself or %2, not %3 В замещаемой строке символ '%1' может использоваться только для экранирования самого себя или '%2', но не '%3' %1 matches newline characters %1 соответствует символам конца строки %1 and %2 match the start and end of a line. %1 и %2 соответствуют началу и концу строки. Matches are case insensitive Соответствия регистронезависимы Whitespace characters are removed, except when they appear in character classes Символы пробелов удалены, за исключением тех, что были в классах символов %1 is an invalid regular expression pattern: %2 %1 - неверный шаблон регулярного выражения: %2 %1 is an invalid flag for regular expressions. Valid flags are: %1 - неверный флаг для регулярного выражения. Допустимые флаги: If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. Префикс не должен быть указан, если первый параметр - пустая последовательность или пустая строка (вне пространства имён). Был указан префикс %1. It will not be possible to retrieve %1. Будет невозможно восстановить %1. The root node of the second argument to function %1 must be a document node. %2 is not a document node. Корневой узел второго аргумента функции %1 должен быть документом. %2 не является документом. The default collection is undefined Набор по умолчанию не определён %1 cannot be retrieved %1 не может быть восстановлен The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). Форма нормализации %1 не поддерживается. Поддерживаются только %2, %3, %4, %5 и пустая, т.е. пустая строка (без нормализации). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. Региональное смещение должно быть в переделах от %1 до %2 включительно. %3 выходит за допустимые пределы. %1 is not a whole number of minutes. %1 не является полным количеством минут. Required cardinality is %1; got cardinality %2. Необходимо %1 элементов, получено %2. The item %1 did not match the required type %2. Элемент %1 не соответствует необходимому типу %2. %1 is an unknown schema type. %1 является схемой неизвестного типа. Only one %1 declaration can occur in the query prolog. Только одно объявление %1 может присутствовать в прологе запроса. The initialization of variable %1 depends on itself Инициализация переменной %1 зависит от себя самой No variable by name %1 exists Переменная с именем %1 отсутствует The variable %1 is unused Переменная %1 не используется Version %1 is not supported. The supported XQuery version is 1.0. Версия %1 не поддерживается. Поддерживается XQuery версии 1.0. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. Кодировка %1 неверна. Имя кодировки должно содержать только символы латиницы без пробелов и должно удовлетворять регулярному выражению %2. No function with signature %1 is available Функция с сигнатурой %1 отсутствует A default namespace declaration must occur before function, variable, and option declarations. Объявление пространство имён по умолчанию должно быть до объявления функций, переменных и опций. Namespace declarations must occur before function, variable, and option declarations. Объявление пространства имён должно быть до объявления функций, переменных и опций. Module imports must occur before function, variable, and option declarations. Импортируемые модули должны быть указаны до объявления функций, переменных и опций. It is not possible to redeclare prefix %1. Невозможно переопределить префикс %1. Prefix %1 is already declared in the prolog. Префикс %1 уже объявлен в прологе. The name of an option must have a prefix. There is no default namespace for options. Название опции должно содержать префикс. Нет пространства имён по умолчанию для опций. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. Возможность импорта схем не поддерживается, следовательно, объявлений %1 быть не должно. The target namespace of a %1 cannot be empty. Целевое пространство имён %1 не может быть пустым. The module import feature is not supported Возможность импорта модулей не поддерживается No value is available for the external variable by name %1. Отсутствует значение для внешней переменной с именем %1. A template by name %1 has already been declared. Шаблон с именем %1 уже был объявлен. The keyword %1 cannot occur with any other mode name. Ключевое слово %1 не может встречаться с любым другим названием режима. The value of attribute %1 must of type %2, which %3 isn't. Значение атрибута %1 должно быть типа %2, но %3 ему не соответствует. The prefix %1 can not be bound. By default, it is already bound to the namespace %2. Не удается связать префикс %1. По умолчанию префикс связан с пространством имён %2. A variable by name %1 has already been declared. Переменная с именем %1 уже объявлена. A stylesheet function must have a prefixed name. Функция стилей должна иметь имя с префиксом. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) Пространство имён для пользовательских функций не может быть пустым (попробуйте предопределённый префикс %1, который существует для подобных ситуаций) The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. Пространтсво имён %1 зарезервировано, поэтому пользовательские функции не могут его использовать. Попробуйте предопределённый префикс %2, который существует для подобных ситуаций. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 Пространство имён пользовательской функции в модуле библиотеки должен соответствовать пространству имён модуля. Другими словами, он должен быть %1 вместо %2 A function already exists with the signature %1. Функция с сигнатурой %1 уже существует. No external functions are supported. All supported functions can be used directly, without first declaring them as external Внешние функции не поддерживаются. Все поддерживаемые функции могут использоваться напрямую без первоначального объявления их в качестве внешних An argument by name %1 has already been declared. Every argument name must be unique. Аргумент с именем %1 уже объявлен. Имя каждого аргумента должно быть уникальным. When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. Если функция %1 используется для сравнения внутри шаблона, аргумент должен быть ссылкой на переменную или строковым литералом. In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. В шаблоне XSL-T первый аргумент функции %1 должен быть строковым литералом, если функция используется для сравнения. In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. В шаблоне XSL-T первый аргумент функции %1 должен быть литералом или ссылкой на переменную, если функция используется для сравнения. In an XSL-T pattern, function %1 cannot have a third argument. В шаблоне XSL-T у функции %1 не должно быть третьего аргумента. In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. В шаблоне XSL-T только функции %1 и %2 могут использоваться для сравнения, но не %3. In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. В шаблоне XSL-T не может быть использована ось %1 - только оси %2 или %3. %1 is an invalid template mode name. %1 является неверным шаблоном имени режима. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. Имя переменной, связанной с выражением for, должно отличаться от позиционной переменной. Две переменные с именем %1 конфликтуют. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. Возможность проверки по схеме не поддерживается. Выражения %1 не могут использоваться. None of the pragma expressions are supported. Therefore, a fallback expression must be present Ни одно из выражений pragma не поддерживается. Должно существовать запасное выражение Each name of a template parameter must be unique; %1 is duplicated. Имя каждого параметра шаблона должно быть уникальным, но %1 повторяется. The %1-axis is unsupported in XQuery Ось %1 не поддерживается в XQuery %1 is not a valid name for a processing-instruction. %1 является неверным названием для инструкции обработки. %1 is not a valid numeric literal. %1 является неверным числовым литералом. W3C XML Schema identity constraint selector W3C XML Schema identity constraint field A construct was encountered which is disallowed in the current language(%1). Встречена конструкция, запрещённая для текущего языка (%1). No function by name %1 is available. Функция с именем %1 отсутствует. The namespace URI cannot be the empty string when binding to a prefix, %1. URI пространства имён не может быть пустой строкой при связывании с префиксом %1. %1 is an invalid namespace URI. %1 - неверный URI пространства имён. It is not possible to bind to the prefix %1 Невозможно связать с префиксом %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Пространство имён %1 может быть связано только с %2 (в данном случае уже предопределено). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Префикс %1 может быть связан только с %2 (в данном случае уже предопределено). Two namespace declaration attributes have the same name: %1. Два атрибута объявления пространств имён имеют одинаковое имя: %1. The namespace URI must be a constant and cannot use enclosed expressions. URI пространства имён должно быть константой и не может содержать выражений. An attribute by name %1 has already appeared on this element. Атрибут с именем %1 уже существует для данного элемента. A direct element constructor is not well-formed. %1 is ended with %2. Прямой конструктор элемента составлен некорректно. %1 заканчивается на %2. The name %1 does not refer to any schema type. Название %1 не соответствует ни одному типу схемы. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 - сложный тип. Преобразование к сложным типам невозможно. Однако, преобразование к атомарным типам как %2 работает. %1 is not an atomic type. Casting is only possible to atomic types. %1 - не атомарный тип. Преобразование возможно только к атомарным типам. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. %1 является объявлением атрибута вне области объявлений. Имейте в виду, возможность импорта схем не поддерживается. The name of an extension expression must be in a namespace. Название выражения расширения должно быть в пространстве имён. empty пусто zero or one нуль или один exactly one ровно один one or more один или более zero or more нуль или более Required type is %1, but %2 was found. Требуется тип %1, но обнаружен %2. Promoting %1 to %2 may cause loss of precision. Преобразование %1 к %2 может снизить точность. The focus is undefined. Фокус не определён. It's not possible to add attributes after any other kind of node. Невозможно добавлять атрибуты после любого другого вида узла. An attribute by name %1 has already been created. Атрибут с именем %1 уже существует. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. Поддерживается только Unicode Codepoint Collation (%1). %2 не поддерживается. Attribute %1 can't be serialized because it appears at the top level. Атрибут %1 не может быть сериализован, так как присутствует на верхнем уровне. %1 is an unsupported encoding. Кодировка %1 не поддерживается. %1 contains octets which are disallowed in the requested encoding %2. %1 содержит октеты, которые недопустимы в требуемой кодировке %2. The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. Символ с кодом %1, присутствующий в %2 при использовании кодировки %3, не является допустимым символом XML. Ambiguous rule match. Неоднозначное соответствие правилу. In a namespace constructor, the value for a namespace cannot be an empty string. В конструкторе пространства имён значение пространства имён не может быть пустой строкой. The prefix must be a valid %1, which %2 is not. Префикс должен быть корректным %1, но %2 им не является. The prefix %1 cannot be bound. Префикс%1 не может быть связан. Only the prefix %1 can be bound to %2 and vice versa. Только префикс %1 может быть связан с %2 и наоборот. The parameter %1 is required, but no corresponding %2 is supplied. Необходим параметр %1 , но соответствующего %2 не передано. The parameter %1 is passed, but no corresponding %2 exists. Передан параметр %1 , но соответствующего %2 не существует. The URI cannot have a fragment URI не может содержать фрагмент Element %1 is not allowed at this location. Элемент %1 недопустим в этом месте. Text nodes are not allowed at this location. Текстовые узлы недопустимы в этом месте. Parse error: %1 Ошибка разбора: %1 The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. Значение атрибута версии XSL-T должно быть типа %1, но %2 им не является. Running an XSL-T 1.0 stylesheet with a 2.0 processor. Выполняется таблица стилей XSL-T 1.0 с обработчиком версии 2.0. Unknown XSL-T attribute %1. Неизвествный атрибут XSL-T %1. Attribute %1 and %2 are mutually exclusive. Атрибуты %1 и %2 взаимоисключающие. In a simplified stylesheet module, attribute %1 must be present. В модуле упрощённой таблицы стилей обязан присутствовать атрибут %1. If element %1 has no attribute %2, it cannot have attribute %3 or %4. Если элемент %1 не имеет атрибут %2, у него не может быть атрибутов %3 и %4. Element %1 must have at least one of the attributes %2 or %3. Элемент %1 должен иметь как минимум один из атрибутов %2 или %3. At least one mode must be specified in the %1-attribute on element %2. Как минимум один режим должен быть указан в атрибуте %1 элемента %2. Element %1 must come last. Элемент %1 должен идти последним. At least one %1-element must occur before %2. Как минимум один элемент %1 должен быть перед %2. Only one %1-element can appear. Должен быть только один элемент %1. At least one %1-element must occur inside %2. Как минимум один элемент %1 должен быть внутри %2. When attribute %1 is present on %2, a sequence constructor cannot be used. Если %2 содержит атрибут %1, конструктор последовательности не может быть использован. Element %1 must have either a %2-attribute or a sequence constructor. Элемент %1 должен иметь атрибут %2 или конструктор последовательности. When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. Если параметр необходим, значение по умолчание не может быть передано через атрибут %1 или конструктор последовательности. Element %1 cannot have children. У элемента %1 не может быть потомков. Element %1 cannot have a sequence constructor. У элемента %1 не может быть конструктора последовательности. The attribute %1 cannot appear on %2, when it is a child of %3. У %2 не может быть атрибута %1, когда он является потомком %3. A parameter in a function cannot be declared to be a tunnel. Параметр в функции не может быть объявлен туннелем. This processor is not Schema-aware and therefore %1 cannot be used. Данный обработчик не работает со схемами, следовательно, %1 не может использоваться. Top level stylesheet elements must be in a non-null namespace, which %1 isn't. Элементы верхнего уровня таблицы стилей должны быть в пространстве имен, которым %1 не является. The value for attribute %1 on element %2 must either be %3 or %4, not %5. Значение атрибута %1 элемента %2 должно быть или %3, или %4, но не %5. Attribute %1 cannot have the value %2. Атрибут %1 не может принимать значение %2. The attribute %1 can only appear on the first %2 element. Атрибут %1 может быть только у первого элемента %2. At least one %1 element must appear as child of %2. Как минимум один элемент %1 должен быть в %2. %1 has inheritance loop in its base type %2. Circular inheritance of base type %1. Circular inheritance of union %1. %1 is not allowed to derive from %2 by restriction as the latter defines it as final. %1 is not allowed to derive from %2 by extension as the latter defines it as final. Base type of simple type %1 cannot be complex type %2. Simple type %1 cannot have direct base type %2. Simple type %1 is not allowed to have base type %2. Simple type %1 can only have simple atomic type as base type. Simple type %1 cannot derive from %2 as the latter defines restriction as final. Variety of item type of %1 must be either atomic or union. Variety of member types of %1 must be atomic. %1 is not allowed to derive from %2 by list as the latter defines it as final. Simple type %1 is only allowed to have %2 facet. Base type of simple type %1 must have variety of type list. Base type of simple type %1 has defined derivation by restriction as final. Item type of base type does not match item type of %1. Simple type %1 contains not allowed facet type %2. %1 is not allowed to derive from %2 by union as the latter defines it as final. %1 is not allowed to have any facets. Base type %1 of simple type %2 must have variety of union. Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute. Member type %1 cannot be derived from member type %2 of %3's base type %4. Derivation method of %1 must be extension because the base type %2 is a simple type. Complex type %1 has duplicated element %2 in its content model. Complex type %1 has non-deterministic content. Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3. Content model of complex type %1 is not a valid extension of content model of %2. Complex type %1 must have simple content. Complex type %1 must have the same simple type as its base class %2. Complex type %1 cannot be derived from base type %2%3. Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3. Complex type %1 with simple content cannot be derived from complex base type %2. Item type of simple type %1 cannot be a complex type. Member type of simple type %1 cannot be a complex type. %1 is not allowed to have a member type with the same name as itself. %1 facet collides with %2 facet. %1 facet must have the same value as %2 facet of base type. %1 facet must be equal or greater than %2 facet of base type. %1 facet must be less than or equal to %2 facet of base type. %1 facet contains invalid regular expression Unknown notation %1 used in %2 facet. %1 facet contains invalid value %2: %3. %1 facet cannot be %2 or %3 if %4 facet of base type is %5. %1 facet cannot be %2 if %3 facet of base type is %4. %1 facet must be less than or equal to %2 facet. %1 facet must be less than %2 facet of base type. %1 facet and %2 facet cannot appear together. %1 facet must be greater than %2 facet of base type. %1 facet must be less than %2 facet. %1 facet must be greater than or equal to %2 facet of base type. Simple type contains not allowed facet %1. %1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list. Only %1 and %2 facets are allowed when derived by union. %1 contains %2 facet with invalid data: %3. Attribute group %1 contains attribute %2 twice. Attribute group %1 contains two different attributes that both have types derived from %2. Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3. Complex type %1 contains attribute %2 twice. Complex type %1 contains two different attributes that both have types derived from %2. Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3. Element %1 is not allowed to have a value constraint if its base type is complex. Element %1 is not allowed to have a value constraint if its type is derived from %2. Value constraint of element %1 is not of elements type: %2. Element %1 is not allowed to have substitution group affiliation as it is no global element. Type of element %1 cannot be derived from type of substitution group affiliation. Value constraint of attribute %1 is not of attributes type: %2. Attribute %1 has value constraint but has type derived from %2. %1 attribute in derived complex type must be %2 like in base type. Attribute %1 in derived complex type must have %2 value constraint like in base type. Attribute %1 in derived complex type must have the same %2 value constraint like in base type. Attribute %1 in derived complex type must have %2 value constraint. processContent of base wildcard must be weaker than derived wildcard. Element %1 exists twice with different types. Particle contains non-deterministic wildcards. Base attribute %1 is required but derived attribute is not. Type of derived attribute %1 cannot be validly derived from type of base attribute. Value constraint of derived attribute %1 does not match value constraint of base attribute. Derived attribute %1 does not exists in the base definition. Derived attribute %1 does not match the wildcard in the base definition. Base attribute %1 is required but missing in derived definition. Derived definition contains an %1 element that does not exists in the base definition Derived wildcard is not a subset of the base wildcard. %1 of derived wildcard is not a valid restriction of %2 of base wildcard Attribute %1 from base type is missing in derived type. Type of derived attribute %1 differs from type of base attribute. Base definition contains an %1 element that is missing in the derived definition %1 references unknown %2 or %3 element %4. %1 references identity constraint %2 that is no %3 or %4 element. %1 has a different number of fields from the identity constraint %2 that it references. Base type %1 of %2 element cannot be resolved. Item type %1 of %2 element cannot be resolved. Member type %1 of %2 element cannot be resolved. Type %1 of %2 element cannot be resolved. Base type %1 of complex type cannot be resolved. %1 cannot have complex base type that has a %2. Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type. Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model. Type of %1 element must be a simple type, %2 is not. Substitution group %1 of %2 element cannot be resolved. Substitution group %1 has circular definition. Duplicated element names %1 in %2 element. Reference %1 of %2 element cannot be resolved. Circular group reference for %1. %1 element is not allowed in this scope %1 element cannot have %2 attribute with value other than %3. %1 element cannot have %2 attribute with value other than %3 or %4. %1 or %2 attribute of reference %3 does not match with the attribute declaration %4. Attribute group %1 has circular reference. %1 attribute in %2 must have %3 use like in base type %4. Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2. %1 has attribute wildcard but its base type %2 has not. Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible. Enumeration facet contains invalid content: {%1} is not a value of type %2. Namespace prefix of qualified name %1 is not defined. %1 element %2 is not a valid restriction of the %3 element it redefines: %4. Empty particle cannot be derived from non-empty particle. Derived particle is missing element %1. Derived element %1 is missing value constraint as defined in base particle. Derived element %1 has weaker value constraint than base particle. Fixed value constraint of element %1 differs from value constraint in base particle. Derived element %1 cannot be nillable as base element is not nillable. Block constraints of derived element %1 must not be more weaker than in the base element. Simple type of derived element %1 cannot be validly derived from base element. Complex type of derived element %1 cannot be validly derived from base element. Element %1 is missing in derived particle. Element %1 does not match namespace constraint of wildcard in base particle. Wildcard in derived particle is not a valid subset of wildcard in base particle. processContent of wildcard in derived particle is weaker than wildcard in base particle. Derived particle allows content that is not allowed in the base particle. Can not process unknown element %1, expected elements are: %2. Element %1 is not allowed in this scope, possible elements are: %2. Child element is missing in that scope, possible child elements are: %1. Document is not a XML schema. %1 attribute of %2 element contains invalid content: {%3} is not a value of type %4. %1 attribute of %2 element contains invalid content: {%3}. Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema. Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema. %1 element is not allowed to have the same %2 attribute value as the target namespace %3. %1 element without %2 attribute is not allowed inside schema without target namespace. %1 element is not allowed inside %2 element if %3 attribute is present. %1 element has neither %2 attribute nor %3 child element. %1 element with %2 child element must not have a %3 attribute. %1 attribute of %2 element must be %3 or %4. %1 attribute of %2 element must have a value of %3. %1 attribute of %2 element must have a value of %3 or %4. %1 element must not have %2 and %3 attribute together. Content of %1 attribute of %2 element must not be from namespace %3. %1 attribute of %2 element must not be %3. %1 attribute of %2 element must have the value %3 because the %4 attribute is set. Specifying use='prohibited' inside an attribute group has no effect. %1 element must have either %2 or %3 attribute. %1 element must have either %2 attribute or %3 or %4 as child element. %1 element requires either %2 or %3 attribute. Text or entity references not allowed inside %1 element %1 attribute of %2 element must contain %3, %4 or a list of URIs. %1 element is not allowed in this context. %1 attribute of %2 element has larger value than %3 attribute. Prefix of qualified name %1 is not defined. %1 attribute of %2 element must either contain %3 or the other values. Component with id %1 has been defined previously. Element %1 already defined. Attribute %1 already defined. Type %1 already defined. Attribute group %1 already defined. Element group %1 already defined. Notation %1 already defined. Identity constraint %1 already defined. Duplicated facets in simple type %1. %1 is not valid according to %2. String content does not match the length facet. String content does not match the minLength facet. String content does not match the maxLength facet. String content does not match pattern facet. String content is not listed in the enumeration facet. Signed integer content does not match the maxInclusive facet. Signed integer content does not match the maxExclusive facet. Signed integer content does not match the minInclusive facet. Signed integer content does not match the minExclusive facet. Signed integer content is not listed in the enumeration facet. Signed integer content does not match pattern facet. Signed integer content does not match in the totalDigits facet. Unsigned integer content does not match the maxInclusive facet. Unsigned integer content does not match the maxExclusive facet. Unsigned integer content does not match the minInclusive facet. Unsigned integer content does not match the minExclusive facet. Unsigned integer content is not listed in the enumeration facet. Unsigned integer content does not match pattern facet. Unsigned integer content does not match in the totalDigits facet. Double content does not match the maxInclusive facet. Double content does not match the maxExclusive facet. Double content does not match the minInclusive facet. Double content does not match the minExclusive facet. Double content is not listed in the enumeration facet. Double content does not match pattern facet. Decimal content does not match in the fractionDigits facet. Decimal content does not match in the totalDigits facet. Date time content does not match the maxInclusive facet. Date time content does not match the maxExclusive facet. Date time content does not match the minInclusive facet. Date time content does not match the minExclusive facet. Date time content is not listed in the enumeration facet. Date time content does not match pattern facet. Duration content does not match the maxInclusive facet. Duration content does not match the maxExclusive facet. Duration content does not match the minInclusive facet. Duration content does not match the minExclusive facet. Duration content is not listed in the enumeration facet. Duration content does not match pattern facet. Boolean content does not match pattern facet. Binary content does not match the length facet. Binary content does not match the minLength facet. Binary content does not match the maxLength facet. Binary content is not listed in the enumeration facet. Invalid QName content: %1. QName content is not listed in the enumeration facet. QName content does not match pattern facet. Notation content is not listed in the enumeration facet. List content does not match length facet. List content does not match minLength facet. List content does not match maxLength facet. List content is not listed in the enumeration facet. List content does not match pattern facet. Union content is not listed in the enumeration facet. Union content does not match pattern facet. Data of type %1 are not allowed to be empty. Element %1 is missing child element. There is one IDREF value with no corresponding ID: %1. Loaded schema file is invalid. %1 contains invalid data. xsi:schemaLocation namespace %1 has already appeared earlier in the instance document. xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute. No schema defined for validation. No definition for element %1 available. Specified type %1 is not known to the schema. Element %1 is not defined in this scope. Declaration for element %1 does not exist. Element %1 contains invalid content. Element %1 is declared as abstract. Element %1 is not nillable. Attribute %1 contains invalid data: %2 Element contains content although it is nillable. Fixed value constrained not allowed if element is nillable. Specified type %1 is not validly substitutable with element type %2. Complex type %1 is not allowed to be abstract. Element %1 contains not allowed attributes. Element %1 contains not allowed child element. Content of element %1 does not match its type definition: %2. Content of element %1 does not match defined value constraint. Element %1 contains not allowed child content. Element %1 contains not allowed text content. Element %1 can not contain other elements, as it has a fixed content. Element %1 is missing required attribute %2. Attribute %1 does not match the attribute wildcard. Declaration for attribute %1 does not exist. Element %1 contains two attributes of type %2. Attribute %1 contains invalid content. Element %1 contains unknown attribute %2. Content of attribute %1 does not match its type definition: %2. Content of attribute %1 does not match defined value constraint. Non-unique value found for constraint %1. Key constraint %1 contains absent fields. Key constraint %1 contains references nillable element %2. No referenced value found for key reference %1. More than one value found for field %1. Field %1 has no simple type. ID value '%1' is not unique. '%1' attribute contains invalid QName content: %2. qelectrotech-0.22+svn897/lang/qet_cs.qm0000644000175000017500000026771011346742300017652 0ustar laurentlaurent(l`4%GEKjVKVMOR3UP,R\UŮŮ*~CQAn`q!D& **2)@P2)@Se7 GGJHJI(CJIiE8I ~L:M1M2Q5yRKU_:$U%LiV54V5RXVNQZgZ:DZLfiGhN%iiE/iiE>p:rE0rEAEvןv zɅFzϥ14zϥGIإ$Tɜ46"<'<@~-%&fvpt>T)%}WTǶSɌ0_/:r!;?Ӄs1 ؾߌ2Xܥ$r[tssnbk~+hEto,Ƅ# s011gB"bMouxS*VCh2hk gk^ld=n#s2)h8z 2۬yyĎNQ^IuF!ܰc %koZ w(\ N "["[(4Ra-@>*A_iSjLX-Z 3Z Jehn(x}}5&ܲI  k*5X0e#9zɩ}±±#d K2 75:1b Ad%1, ,(?3yxHv Hv UNmV!XQ~-__GrgNh:`lnzs!yIx{6$Vrf3_3UY\ s<>}QPIuhh)vSFgTmD| 5{  E&!j%<1_6ǃ UEEs@ YKg+s<"v8yy$6WZ7xXuCN].%sf O†½ByO\ **V1MKPDOEd6*$N 9‘Ɍ?DɌyɌKɌzɌ`MqvW#g1j֎95"~na||z ,I Ć2HW^t=~t@$%d(NV5.:8(5>mH}jsNQTujNO~8P%P%TP%7V:KV|LfH\i8upi8uL8l3dl3,l5l5 o 8q^{4v>y`@zaȖz RRf`Rf̉YohhTioNyU}1JS;_HTj d 4&7o:xb@s t&%/%>Ct2?kU2QEUt~'={~j @/J*K3K'L˅huk@Qk@RFno_rxy`zY z.8m]`Af SFE iv1Fe%Q%UE.h-R".(cd"y!4ٮNnwu{~S:=t@Qz3E@iXUqeh(NC5 eM8N'zU‚LU‚yU‚U‚]umMo55oTac\Q [>7cwY.F[ 7[ [Vs[I[OJ[Q[TDzOt/<=r;rr)%MVaϜ.%>AQ6ٟ^"NܖoܞHޚrv R s l > ִ" M[% K# < <% j 1NA 3G ;E6 K 1s Pc Pc* \#p }v s0B # 5G  8 U1 I N Q S ݚ Ԡq   )b? Zu C /U ;? Ujk t r Bt 8NA 8Nݺ 0 ?) N5 NGZ a2 mT Ι Ƃ Ƃ -tE "=6 "=/ &K */% */ 2 @5"D Q) ^O _ bς2 bς& dU% dOq e5Q[ e5TY k1 k, m q  r3 rJ[ t2 v% 5 ^v spr SB ͥ4 ͥO >N ]c+ n 60 6Fw pn c iN iPY iS( ^!= ar p1 ̓ ϧj ׿ָ  u6 ގ~ ! V Ⱦ= 4P 4 4 .n, OvM %1d( %j &hu &k!( A!G F ^#t _?^@n l" l"C y2C y`I >l jM@ N q sB =G B  n=] h =cP ?C uZ ӽ 鶏#P 5 uD^ deL B  Po z M v`M  AN ,Z 30W 3@ 5( @xb BEp LU R7rW VFB~ Xگ [{5" ]VcXy `8r/ hu l(? v.R z ~c uK ^ ^N 5& c < 3O J H n@ ( 3S Ϛ Ϛ &yR H b2ؕ b2g *C) I { b b v`P 2`  g$< / uq  >7 LW  ~ '^ق '^{ (3n6 )5 - ?WP C DY+ DY DYt DY DYý DY5 DZ~ DZ DZ E W T TV U# X4 [#N \i \ރ aՒ yC z q 'Xk  ȣ Q 3 m ~? B ^ y  6Y A 4F>?TY?TAME0G$pISsUA[WQtznCXn@nn-]vY vǬ{ Eq%  YB@@8~p%!~~]e6C hz> p  u'0>>M>aiU$&Souhlas s licenc&Accord de licenceAboutQET&PYispvatel&ContributeursAboutQET&PYekladatel &TraducteursAboutQET&AutoYiA&uteursAboutQETJTento program je pod licenc GNU/GPL.&Ce programme est sous licence GNU/GPL.AboutQET IkonyIcnesAboutQET Povodn myalenkaIde originaleAboutQET$Bal ky pro DebianPaquets DebianAboutQET$Bal ky pro FedoruPaquets FedoraAboutQET(Bal ky pro MandrivuPaquets MandrivaAboutQETProgramovn ProgrammationAboutQETvQElectroTech, aplikace pro navrhovn elektrickch nkreso.DQElectroTech, une application de ralisation de schmas lectriques.AboutQET,PYeklad do apanlatinyTraduction en espagnolAboutQET0PYeklad do portugalatinyTraduction en portugaisAboutQET$PYeklad do ruatinyTraduction en russeAboutQET$PYeklad do  eatinyTraduction en tchqueAboutQETD 2006-2010 VvojYi QElectroTechu, 2006-2010 Les dveloppeurs de QElectroTechAboutQET&O &proposAboutQET.O programu QElectroTech propos de QElectrotechAboutQET hel:Angle : ArcEditorPo te n hel:Angle de dpart : ArcEditor StYed: Centre :  ArcEditorPromry:  Diamtres :  ArcEditor4x-ov souYadnice (abscisa)abscisse ArcEditorhelangle ArcEditorpo te n helangle de dpart ArcEditor vodorovn promrdiamtre horizontal ArcEditorsvisl promrdiamtre vertical ArcEditorvodorovn: horizontal : ArcEditorLy-ov souYadnice (poYadnice, ordinta)ordonne ArcEditorsvisl: vertical : ArcEditor Autor: %1 Auteur : %1 BorderInsetDatum: %1 Date : %1 BorderInsetSoubor: %1 Fichier : %1 BorderInsetDvojlist: %1 Folio : %1 BorderInset Zobrazit zhlavAfficher les en-ttesBorderPropertiesWidgetSloupce: Colonnes :BorderPropertiesWidget Velikost nkresuDimensions du schmaBorderPropertiesWidget Xdky:Lignes :BorderPropertiesWidgetpxpxBorderPropertiesWidgetpxunit for rows heightpxBorderPropertiesWidgetBorderPropertiesWidget StYed: Centre :  CircleEditorPromr:  Diamtre :  CircleEditor4x-ov souYadnice (abscisa)abscisse CircleEditor promrdiamtre CircleEditorLy-ov souYadnice (poYadnice, ordinta)ordonne CircleEditorVzhled vodi eApparence du conducteurConductorPropertiesWidgetBarva:  Couleur :ConductorPropertiesWidgetNkolik veden MultifilaireConductorPropertiesWidgetJednoduchSimpleConductorPropertiesWidget Text:Texte :ConductorPropertiesWidget rkovan  raTrait en pointillsConductorPropertiesWidgetTyp vodi eType de conducteurConductorPropertiesWidget"Jednoduch veden UnifilaireConductorPropertiesWidget nulovneutreConductorPropertiesWidgetfzephaseConductorPropertiesWidgetuzemnnterreConductorPropertiesWidget*Nastavit QElectroTechConfigurer QElectroTech ConfigDialog"Vbr druhu tiskuChoix du type d'impressionDiagramPrintDialog Chybjc souborFichier manquantDiagramPrintDialog&Soubory PDF (*.pdf)Fichiers PDF (*.pdf)DiagramPrintDialog2Soubory PostScript (*.ps)Fichiers PostScript (*.ps)DiagramPrintDialog0Tisk na fyzick tiskrn&Impression sur une imprimante physiqueDiagramPrintDialog&Tisk do souboru PDF(Impression vers un fichier au format PDFDiagramPrintDialog>Tisk do souboru PostScript (PS)4Impression vers un fichier au format PostScript (PS)DiagramPrintDialogVolby pro tiskOptions d'impressionDiagramPrintDialog8Kter druh tisku si pYejete?/Quel type d'impression dsirez-vous effectuer ?DiagramPrintDialog`Muste zadat cestu pro vytvoYen souboru PDF/PS.8Vous devez indiquer le chemin du fichier PDF/PS crer.DiagramPrintDialogPovoleno Autorises DiagramViewZakon en: %1 Bornes: %1  DiagramView Textov pole: %1Champs de texte: %1  DiagramViewVlo~it zde Coller ici DiagramView&VnitYn spojen: %1Connexions internes: %1  DiagramViewVelikost: %1%2Dimensions: %1%2  DiagramViewUmstn: %1Emplacement: %1  DiagramViewZakzno Interdites DiagramView$Vbr obsahuje %1.La slection contient %1. DiagramViewNzev: %1 Nom: %1  DiagramViewPoloha: %1 Position: %1  DiagramView4Vlastnosti vybranho prvku#Proprits de l'lment slectionn DiagramView"Vlastnosti vbruProprits de la slection DiagramView$Vlastnosti nkresuProprits du schma DiagramViewNajt v paneluRetrouver dans le panel DiagramViewNkres %1 Schma %1 DiagramView Nkres bez nzvuSchma sans titre DiagramViewUpravit prvekditer l'lment DiagramView2Upravit vlastnosti vodi e%diter les proprits d'un conducteur DiagramViewBUpravit vchoz vlastnosti vodi e0diter les proprits par dfaut des conducteurs DiagramView Prveklment DiagramViewChybjc prveklment manquant DiagramView Nkres bez nzvuSchma sans titreDiagramsChooserHClov prvek se nepodaYilo vytvoYit.!L'lment cible n'a pu tre cr.ElementDefinition6Prvek se nepodaYilo smazat.'La suppression de cet lment a chou.ElementDefinition6Prvek se nepodaYilo smazat.%La suppression de l'lment a chou.ElementDeleterMa~e se prvekSuppression de l'lmentElementDeleterSmazat prvek?Supprimer l'lment ?ElementDeleterFOpravdu chcete smazat tento prvek? 1tes-vous sr de vouloir supprimer cet lment ? ElementDeleterrVyberte prvek, do kterho si pYejete ulo~it sv vymezen.MChoisissez l'lment dans lequel vous souhaitez enregistrer votre dfinition. ElementDialogPVyberte prvek, kter si pYejete otevYt./Choisissez l'lment que vous souhaitez ouvrir. ElementDialog Vyberte skupinu.Choisissez une catgorie. ElementDialogUlo~it prvekEnregistrer un lment ElementDialogUlo~it skupinuEnregistrer une catgorie ElementDialogNPrvek ji~ existuje. Chcete jej pYepsat?.L'lment existe dj. Voulez-vous l'craser ? ElementDialog$Vbr nen prvkem."La slection n'est pas un lment. ElementDialog"Vbr neexistuje.La slection n'existe pas. ElementDialog Nzev:Nom : ElementDialogNeplatn nzev Nom invalide ElementDialogVy~adovn nzev Nom manquant ElementDialogOtevYt prvekOuvrir un lment ElementDialogOtevYt skupinuOuvrir une catgorie ElementDialog}dn vbrPas de slection ElementDialogNesprvn vbrSlection incorrecte ElementDialog$Neexistujc vbrSlection inexistante ElementDialog8Muste zadat nzev pro prvek'Vous devez entrer un nom pour l'lment ElementDialog(Muste vybrat prvek.#Vous devez slectionner un lment. ElementDialogBMuste vybrat skupinu nebo prvek.4Vous devez slectionner une catgorie ou un lment. ElementDialogfV nzvu prvku nemo~ete pou~t nsledujc znaky: %1QVous ne pouvez pas utiliser les caractres suivants dans le nom de l'lment : %1 ElementDialogPYepsat prvek?craser l'lment ? ElementDialog.Povolit vnitYn spojen!Autoriser les connexions internes ElementScenePTento XML dokument nen vymezenm prvku.3Ce document XML n'est pas une dfinition d'lment. ElementSceneVchoz nato en je nato enm, ve kterm se uskute n vytvoYen prvku.]L'orientation par dfaut est l'orientation dans laquelle s'effectue la cration de l'lment. ElementSceneNVelikost nebo hork poda nejsou platn.9Les dimensions ou le point de saisie ne sont pas valides. ElementScene.Nato en nejsou platn.%Les orientations ne sont pas valides. ElementSceneZNzev prvku mo~ete zadat v nkolika jazycch.AVous pouvez spcifier le nom de l'lment dans plusieurs langues. ElementSceneToto pole mo~ete pou~t voln, abyste zmnil autory prvku, jeho licenci, nebo jakkoli dala sdlen, kter byste pova~oval za u~ite n.Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'lment, sa licence, ou tout autre renseignement que vous jugerez utile. ElementScene obloukarc ElementScenezakon enborne ElementScenekruhcercle ElementScenetextov polechamp de texte ElementScene elipsaellipse ElementScene raligne ElementScenemnohohelnkpolygone ElementSceneobdlnk rectangle ElementScenetexttexte ElementSceneBUpravit velikost nebo horkou podu&diter la taille et le point de saisie ElementScene0Upravit daje o autorovi$diter les informations sur l'auteur ElementSceneUpravit nzvyditer les noms ElementScene Upravit nato enditer les orientations ElementSceneSbrka QETCollection QETElementsCategoriesList"Sbrka k projektuCollection projetElementsCategoriesList$U~ivatelova sbrkaCollection utilisateurElementsCategoriesListNov skupinaNouvelle catgorieElementsCategoriesWidget(Znovu nahrt skupinyRecharger les catgoriesElementsCategoriesWidgetSmazat skupinuSupprimer la catgorieElementsCategoriesWidgetUpravit skupinuditer la catgorieElementsCategoriesWidget.Sbrku nelze pYesunout.1Il n'est pas possible de dplacer une collection.ElementsCategory$Prvek nelze smazat!Impossible de supprimer l'lmentElementsCategory(Skupinu nelze smazat$Impossible de supprimer la catgorieElementsCategoryKoprovn skupiny do sebe sam nebo do jedn z jejch podskupin nen Yeaeno.]La copie d'une catgorie vers elle-mme ou vers l'une de ses sous-catgories n'est pas gre.ElementsCategoryDSmazn tto skupiny se nezdaYilo.+La suppression de cette catgorie a chou.ElementsCategorylPYesun skupiny do jedn z jejch podskupin nen mo~n.RLe dplacement d'une catgorie dans une de ses sous-catgories n'est pas possible.ElementsCategory:Smazn skupiny se nezdaYilo.(La suppression de la catgorie a chou.ElementsCategoryDeleterSmazn skupinySuppression de la catgorieElementsCategoryDeleterSmazat skupinu?Supprimer la catgorie ?ElementsCategoryDeleter$Vyprzdnit sbrku?Vider la collection ?ElementsCategoryDeleterOpravdu tuto skupinu chcete smazat? Vaechny prvky a skupiny obsa~en v tto skupin budou smazny.tes-vous sr de vouloir supprimer la catgorie ? Tous les lments et les catgories contenus dans cette catgorie seront supprims.ElementsCategoryDeleterLOpravdu tuto sbrku chcete vyprzdnit?1tes-vous sr de vouloir vider cette collection ?ElementsCategoryDeleterOpravdu tuto skupinu chcete smazat? Proveden zmny budou kone n.`tes-vous vraiment sr de vouloir supprimer cette catgorie ? Les changements seront dfinitifs.ElementsCategoryDeleter(Neexistujc skupinaCatgorie inexistanteElementsCategoryEditor(PYidat novou skupinuCrer une nouvelle catgorieElementsCategoryEditor ChybaErreurElementsCategoryEditor(Skupinu nelze ulo~it%Impossible d'enregistrer la catgorieElementsCategoryEditor,Skupinu nelze vytvoYit Impossible de crer la catgorieElementsCategoryEditorJPo~adovan skupina neexistuje. Konec.,La catgorie demande n'existe pas. Abandon.ElementsCategoryEditorVnitYn nzev, kter jste zvolil, se ji~ pou~v jinou skupinou. Vyberte, prosm, jin.oLe nom interne que vous avez choisi est dj utilis par une catgorie existante. Veuillez en choisir un autre.ElementsCategoryEditor$Nzev nov skupinyNom de la nouvelle catgorieElementsCategoryEditorVnitYn nzev:Nom interne : ElementsCategoryEditor8VnitYn nzev se ji~ pou~vNom interne dj utilisElementsCategoryEditor&Chyb vnitYn nzevNom interne manquantElementsCategoryEditor6Muste ur it vnitYn nzev.$Vous devez spcifier un nom interne.ElementsCategoryEditorNemte potYebn oprvnn, abyste mohl upravit tuto skupinu. Bude tedy otevYena pouze pro  ten.rVous n'avez pas les privilges ncessaires pour modifier cette catgorie. Elle sera donc ouverte en lecture seule.ElementsCategoryEditorPPro skupinu mo~ete zadat nzev na jazyk.:Vous pouvez spcifier un nom par langue pour la catgorie.ElementsCategoryEditorUpravit skupinuditer une catgorieElementsCategoryEditor,Vydn pouze pro  tendition en lecture seuleElementsCategoryEditor.Sbrku nelze pYesunout.1Il n'est pas possible de dplacer une collection.ElementsCollection6%1 [v projektu nepou~van]%1 [non utilis dans le projet] ElementsPanelToto je prvek, kter mo~ete vlo~it do svho nkresu tm, ~e jej pYethnete a upustteRCeci est un lment que vous pouvez insrer dans votre schma par cliquer-dplacer ElementsPanelThnte a upusete tento prvek nad nkresem, abyste vlo~il prvek BCliquer-dposez cet lment sur le schma pour insrer un lment  ElementsPanelSbrka QETCollection QET ElementsPanel"Sbrka k projektuCollection projet ElementsPanel$U~ivatelova sbrkaCollection utilisateur ElementsPanel}dn souborPas de fichier ElementsPanel Nkres bez nzvuSchma sans titre ElementsPanel2Spustit tento nkres doloAbaisser ce schmaElementsPanelWidgetPYidat nkresAjouter un schmaElementsPanelWidgetZptAnnulerElementsPanelWidget2Koprovat do tto skupinyCopier dans cette catgorieElementsPanelWidget2PYesunout do tto skupinyDplacer dans cette catgorieElementsPanelWidgetVymazat filtrEffacer le filtreElementsPanelWidget(ZavYt tento projektFermer ce projetElementsPanelWidgetFiltr:  Filtrer : ElementsPanelWidgetSprvce skupinGestionnaire de catgoriesElementsPanelWidgetZavst prvekImporter un lmentElementsPanelWidgetNov prvekNouvel lmentElementsPanelWidgetNov skupinaNouvelle catgorieElementsPanelWidget&Vlastnosti projektuProprits du projetElementsPanelWidget$Vlastnosti nkresuProprits du schmaElementsPanelWidget&Znovu nahrt sbrkyRecharger les collectionsElementsPanelWidget4Vynst tento nkres nahoruRemonter ce schmaElementsPanelWidget&Smazat tento nkresSupprimer ce schmaElementsPanelWidgetSmazat prvekSupprimer l'lmentElementsPanelWidgetSmazat skupinuSupprimer la catgorieElementsPanelWidget"Vyprzdnit sbrkuVider la collectionElementsPanelWidgetPou~ijte tohoto sprvce pro pYidn, smazn nebo pravu skupin.XVous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catgories.ElementsPanelWidgetUpravit prvekditer l'lmentElementsPanelWidgetUpravit skupinuditer la catgorieElementsPanelWidget StYed: Centre :  EllipseEditorPromry:  Diamtres :  EllipseEditor4x-ov souYadnice (abscisa)abscisse EllipseEditor vodorovn promrdiamtre horizontal EllipseEditorsvisl promrdiamtre vertical EllipseEditorvodorovn: horizontal : EllipseEditorLy-ov souYadnice (poYadnice, ordinta)ordonne EllipseEditorsvisl: vertical : EllipseEditor VyvstExportExportConfigPage NhledAperu ExportDialog~Vyberte nkresy, kter chcete vyvst, a zvolte jejich velikost:MChoisissez les schmas que vous dsirez exporter ainsi que leurs dimensions : ExportDialogVelikost Dimensions ExportDialog$Nen ur en adresYDossier non spcifi ExportDialog VyvstExporter ExportDialog2Vyvst nkresy k projektuExporter les schmas du projet ExportDialognZd se, ~e nemte nutn oprvnn pro zpis souboru %1.]Il semblerait que vous n'ayez pas les permissions ncessaires pour crire dans le fichier %1. ExportDialogBDo tohoto souboru nelze zapisovat#Impossible d'crire dans ce fichier ExportDialog Nzev pro souborNom de fichier ExportDialog,Nzvy clovch souboroNoms des fichiers cibles ExportDialog NkresSchma ExportDialogMuste zadat nzev souboru, kter bude jedine n pro ka~d nkres, kter bude vyveden.UVous devez entrer un nom de fichier non vide et unique pour chaque schma exporter. ExportDialogMuste ur it cestu k adresYi, do kterho budou ulo~eny soubory obrzko.]Vous devez spcifier le chemin du dossier dans lequel seront enregistrs les fichiers images. ExportDialogpxpxExportDialog::ExportDiagramLineBitmapa (*.bmp)Bitmap (*.bmp)ExportPropertiesWidget*Zachovat barvy vodi o&Conserver les couleurs des conducteursExportPropertiesWidget Nakreslit mY~kuDessiner la grilleExportPropertiesWidgetNakreslit okrajDessiner le cadreExportPropertiesWidget2Nakreslit vlo~en rme ekDessiner le cartoucheExportPropertiesWidget&Nakreslit zakon enDessiner les bornesExportPropertiesWidgetClov adresY:Dossier cible :ExportPropertiesWidget$Vyvst do adresYeExporter dans le dossierExportPropertiesWidgetVyvst okrajExporter le cadreExportPropertiesWidgetVyvst prvkyExporter les lmentsExportPropertiesWidgetFormt:Format :ExportPropertiesWidgetJPEG (*.jpg) JPEG (*.jpg)ExportPropertiesWidget Volby znzornnOptions de renduExportPropertiesWidgetPNG (*.png) PNG (*.png)ExportPropertiesWidgetProchzet ParcourirExportPropertiesWidgetSVG (*.svg) SVG (*.svg)ExportPropertiesWidget Vzhled ApparenceGeneralConfigurationPageTato nastaven budou pou~ita pYi pYatm otevYen editoru nkreso.QCes paramtres s'appliqueront ds la prochaine ouverture d'un diteur de schmas.GeneralConfigurationPageKa~d prvek obsahuje daje o svch autorech, sv licenci nebo jakkoli dala sdlen, kter byste pova~oval za u~ite n ve volnm poli. Zde mo~ete zadat vchoz hodnotu tohoto pole pro prvky, kter vytvoYte:Chaque lment embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spcifier ici la valeur par dfaut de ce champ pour les lments que vous crerez :GeneralConfigurationPageSprva prvkoGestion des lmentsGeneralConfigurationPage ObecnGnralGeneralConfigurationPagefPrvky za lenit do projekto automaticky (doporu eno)CIntgrer automatiquement les lments dans les projets (recommand)GeneralConfigurationPageProjektyProjetsGeneralConfigurationPagePou~vat oknaUtiliser des fentresGeneralConfigurationPagePou~vat kartyUtiliser des ongletsGeneralConfigurationPage0Pou~vat systmov barvy Utiliser les couleurs du systmeGeneralConfigurationPage,<u>Chyb prvek:</u> %1lment manquant: %1 GhostElement px px HotspotEditor 10 px 10 px HotspotEditorp<span style="text-decoration:underline;">Velikost</span>:Dimensions HotspotEditort<span style="text-decoration:underline;">Hork poda</span>7Hotspot HotspotEditor6X-ov souYadnice (abscisa): Abscisse : HotspotEditorFPYelo~it prvek podl s horkou podou"Dplacer l'lment avec le hotspot HotspotEditor Vaka: Hauteur : HotspotEditorPrvek mus bt velk dost na to, aby obsahoval cel sv obrazov znzornn.OL'lment doit tre assez grand pour contenir tout sa reprsentation graphique. HotspotEditor `Yka: Largeur : HotspotEditorNY-ov souYadnice (poYadnice, ordinta): Ordonne : HotspotEditorAutor:  Auteur : InsetPropertiesWidgetDatum: Date : InsetPropertiesWidgetNynja datum Date couranteInsetPropertiesWidgetPevn datum:  Date fixe : InsetPropertiesWidgetSoubor:  Fichier : InsetPropertiesWidgetDvojlist: Folio : InsetPropertiesWidget8Vlastnosti vlo~enho rme kuInformations du cartoucheInsetPropertiesWidget Nsledujc promnn se daj pou~t v poli pro dvojlist: - %id: prob~n  slo nkresu v projektu - %total: celkov po et nkreso v projektuLes variables suivantes sont utilisables dans le champ Folio : - %id : numro du schma courant dans le projet - %total : nombre total de schmas dans le projetInsetPropertiesWidget}dn datum Pas de dateInsetPropertiesWidgetNzev: Titre : InsetPropertiesWidgetFNechat oba dva prvky ~t vedle sebe!Faire cohabiter les deux lmentsIntegrationMoveElementsHandlerZa lenn prvkuIntgration d'un lmentIntegrationMoveElementsHandler.Za lenit upuatn prvekIntgrer l'lment dposIntegrationMoveElementsHandlerPrvek ji~ byl za lenn do projektu. Nicmn se zd, ~e verze, kterou hodlte upustit, je jin. Co si pYejete, aby se udlalo?L'lment a dj t intgr dans le projet. Toutefois, la version que vous tentez de poser semble diffrente. Que souhaitez-vous faire ?IntegrationMoveElementsHandler4Pou~t ji~ za lenn prvekUtiliser l'lment dj intgrIntegrationMoveElementsHandler6Vymazat ji~ za lenn prvekcraser l'lment dj intgrIntegrationMoveElementsHandlerZptAnnulerInteractiveMoveElementsHandler(Koprovat z %1 do %2Copie de %1 vers %2InteractiveMoveElementsHandler ChybaErreurInteractiveMoveElementsHandlerPYehl~etIgnorerInteractiveMoveElementsHandlerPYehl~et vae Ignorer toutInteractiveMoveElementsHandler,Prvek %1 nen  iteln.-L'lment %1 n'est pas accessible en lecture.InteractiveMoveElementsHandler8Prvek %1 nen zapisovateln..L'lment %1 n'est pas accessible en criture.InteractiveMoveElementsHandlerRPrvek "%1" ji~ existuje. Co chcete dlat?8L'lment %1 existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandler0Skupina %1 nen  iteln.0La catgorie %1 n'est pas accessible en lecture.InteractiveMoveElementsHandler<Skupina %1 nen zapisovateln.1La catgorie %1 n'est pas accessible en criture.InteractiveMoveElementsHandler`Skupina "%1" (%2) ji~ existuje. Co chcete dlat?@La catgorie %1 (%2) existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandlerPYejmenovatRenommerInteractiveMoveElementsHandlerVymazatcraserInteractiveMoveElementsHandlerVymazat vae craser toutInteractiveMoveElementsHandlerKoso tverecCarr LineEditorKoso tverectype of the 2nd end of a lineCarr LineEditorKruhCercle LineEditorKruhtype of the 2nd end of a lineCercle LineEditorKonec 1Fin 1 LineEditorKonec 2Fin 2 LineEditor Jednoduch aipka Flche simple LineEditor Jednoduch aipkatype of the 2nd end of a line Flche simple LineEditor(Trojhelnkov aipkaFlche triangulaire LineEditor(Trojhelnkov aipkatype of the 2nd end of a lineFlche triangulaire LineEditorObvyklNormale LineEditorObvykltype of the 2nd end of a lineNormale LineEditor2bod na x-ov souYadnici 1abscisse point 1 LineEditor2bod na x-ov souYadnici 2abscisse point 2 LineEditordlka konce 1longueur fin 1 LineEditordlka konce 2longueur fin 2 LineEditor2bod na y-ov souYadnici 1ordonne point 1 LineEditor2bod na y-ov souYadnici 2ordonne point 2 LineEditortyp konce 1 type fin 1 LineEditortyp konce 2 type fin 2 LineEditorPYidat YdekAjouter une ligneNamesListWidget@Mus tu bt alespoH jeden nzev. Il doit y avoir au moins un nom.NamesListWidget JazykLangueNamesListWidget NzevNomNamesListWidgetBMuste zadat alespoH jeden nzev."Vous devez entrer au moins un nom.NamesListWidgetNov nkresNouveau schmaNewDiagramPage&Dala > &Suivant >NewElementWizard:VytvoYit nov prvek: Pomocnk#Crer un nouvel lment : AssistantNewElementWizard ChybaErreurNewElementWizardJZadejte souborov nzev novho prvku.EIndiquez le nom du fichier dans lequel enregistrer le nouvel lment.NewElementWizardPZadejte jeden nebo vce nzvo pro prvek.%Indiquez le ou les noms de l'lment.NewElementWizarddZadejte povolen a zakzan nato en novho prvku.;Indiquez les orientations possibles pour le nouvel lment.NewElementWizardpNepou~vejte, prosm, nsledujc znaky: \ / : * ? < > |DMerci de ne pas utiliser les caractres suivants : \ / : * ? " < > |NewElementWizard Nov nzev prvkuNom du nouvel lmentNewElementWizardZadejte novou velikost novho prvku a polohu jeho hork pody, za pYedpokladu, ~e prvek je ve vchozm nato en.Saisissez les dimensions du nouvel lment ainsi que la position du hotspot (point de saisie de l'lment la souris) en considrant que l'lment est dans son orientation par dfaut.NewElementWizarddVyberte skupinu, do kter se m ulo~it nov prvek.GSlectionnez une catgorie dans laquelle enregistrer le nouvel lment.NewElementWizard4Muste zadat nzev souboru#Vous devez entrer un nom de fichierNewElementWizard,Muste vybrat skupinu.&Vous devez slectionner une catgorie.NewElementWizardpNemuste zadat pYponu *.elmt. Bude pYidna automaticky.YVous n'tes pas oblig de prciser l'extension *.elmt. Elle sera ajoute automatiquement.NewElementWizardnov_prveknouvel_elementNewElementWizard<Krok 1 z 5: Rodi ovsk skupinatape 1/5 : Catgorie parenteNewElementWizard2Krok 2 z 5: Nzev souborutape 2/5 : Nom du fichierNewElementWizard.Krok 3 z 5: Nzvy prvkutape 3/5 : Noms de l'lmentNewElementWizardBKrok 4 z 5: Velikost a hork poda)tape 4/5 : Dimensions et point de saisieNewElementWizard(Krok 5 z 5: Nato entape 5/5 : OrientationsNewElementWizardVchod:Est :OrientationSetWidgetZakzno ImpossibleOrientationSetWidget Sever:Nord :OrientationSetWidget Zpad:Ouest :OrientationSetWidgetVchoz Par dfautOrientationSetWidgetPovolenoPossibleOrientationSetWidgetJih:Sud :OrientationSetWidget ChybaErreur PolygonEditorZMnohohelnk mus obsahovat alespoH dva body.0Le polygone doit comporter au moins deux points. PolygonEditor&Body mnohohelnku:Points du polygone : PolygonEditor*UzavYen mnohohelnkPolygone ferm PolygonEditor,UzavYen mnohohelnkufermeture du polygone PolygonEditorxx PolygonEditoryy PolygonEditorTisk ImpressionPrintConfigPagevTento projekt je pouze pro  ten. Proto jej nelze vy istit.JCe projet est en lecture seule. Il n'est donc pas possible de le nettoyer. ProjectViewJTento projekt neobsahuje ~dn nkres"Ce projet ne contient aucun schma ProjectViewTento nkres byl pYidn, ale nebyl zmnn ani ulo~en. Chcete jej zachovat?XCe schma a t ajout mais n'a t ni modifi ni enregistr. Voulez-vous le conserver ? ProjectView&Ulo~it nov nkres?Enregistrer le nouveau schma ? ProjectView.Ulo~it nynja projekt? Enregistrer le projet en cours ? ProjectView,Ulo~it nynja nkres? Enregistrer le schma en cours ? ProjectViewUlo~it jakoEnregistrer sous ProjectView Vy istit projektNettoyer le projet ProjectViewProjektProjet ProjectView.Projekt pouze pro  tenProjet en lecture seule ProjectView&Vlastnosti projektuProprits du projet ProjectViewxVlastnosti pou~van pYi pYidn novho nkresu do projektu:EProprits utiliser lors de l'ajout d'un nouveau schma au projet : ProjectView6Nkres QElectroTech (*.qet)Schma QElectroTech (*.qet) ProjectViewSmazat nkres?Supprimer le schma ? ProjectView,Smazat przdn skupinySupprimer les catgories vides ProjectViewFSmazat v projektu nepou~van prvky0Supprimer les lments inutiliss dans le projet ProjectViewNzev projektu:Titre du projet : ProjectView,Chcete ulo~it projekt?#Voulez-vous enregistrer le projet ? ProjectView0Chcete ulo~it nkres %1?&Voulez-vous enregistrer le schma %1 ? ProjectViewprojektprojet ProjectViewOpravdu chcete tento nkres vymazat z projektu? Jde o nevratnou zmnu.Xtes-vous sr de vouloir supprimer ce schma du projet ? Ce changement est irrversible. ProjectView --common-elements-dir=DIR Stanovit adresY pro sbrku s prvky O --common-elements-dir=DIR Definir le dossier de la collection d'elements QETApp| --config-dir=DIR Stanovit adresY s nastavenm D --config-dir=DIR Definir le dossier de configuration QETApp --lang-dir=DIR Stanovit adresY s jazykovmi soubory T --lang-dir=DIR Definir le dossier contenant les fichiers de langue QETApp, [volby] [soubor]...  [options] [fichier]... QETApp &Skrt&MasquerQETApp8&Skrt vaechny editory prvko$&Masquer tous les diteurs d'lmentQETApp<&Skrt vaechny editory nkreso$&Masquer tous les diteurs de schmaQETApp$&Nov editor prvku&Nouvel diteur d'lmentQETApp(&Nov editor nkresu&Nouvel diteur de schmaQETApp&Ukon it&QuitterQETApp&Ukzat &RestaurerQETApp:&Ukzat vaechny editory prvko&&Restaurer tous les diteurs d'lmentQETApp>&Ukzat vaechny editory nkreso&&Restaurer tous les diteurs de schmaQETAppNahrv se... Chargement...QETApp<Nahrv se... OtevYen souboro$Chargement... Ouverture des fichiersQETApp\Nahrv se... Ikona v systmov oblasti paneluChargement... icne du systrayQETApp8Nahrv se... Editor nkreso Chargement... diteur de schmasQETApp(UzavYt QElectroTech Ferme l'application QElectroTechQETAppQElectroTech QElectroTechQETAppQElectroTechsystray icon tooltip QElectroTechQETAppQElectroTech, aplikace pro navrhovn elektrickch obvodo. Dostupn volby: --help Zobrazit npovdu -v, --version Zobrazit verzi --license Zobrazit licenci QElectroTech, une application de ralisation de schmas lectriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QETApp&Ukzat QElectroTechRestaurer QElectroTechQETApp^Zmena QElectroTech do systmov oblasti panelu$Rduire QElectroTech dans le systrayQETAppPou~it: Usage : QETAppEditory prvkoditeurs d'lmentQETAppEditory nkresuditeurs de schmasQETApp&Npovda&AideQETDiagramEditor&PYekrvat&CascadeQETDiagramEditorN&astaven&ConfigurationQETDiagramEditor,&Nastavit QElectroTech&Configurer QElectroTechQETDiagramEditor&Ulo~it &EnregistrerQETDiagramEditor.&Ulo~it vaechny nkresy&Enregistrer tous les schmasQETDiagramEditor&ZavYt&FermerQETDiagramEditor&Soubor&FichierQETDiagramEditor&Zavst &ImporterQETDiagramEditor4Klst jedno &vedle druhho &MosaqueQETDiagramEditor &Nov&NouveauQETDiagramEditor&OtevYt&OuvrirQETDiagramEditor&Projekt&ProjetQETDiagramEditor&Ukon it&QuitterQETDiagramEditor&pravy&ditionQETDiagramEditor0Spust pYedchoz projektActive le projet prcdentQETDiagramEditor(Spust dala projektActive le projet suivantQETDiagramEditor(Spouat projekt "%1"Active le projet %1QETDiagramEditornPYizposob velikost nkresu, tak~e bude zcela viditeln>Adapte la taille du schma afin qu'il soit entirement visibleQETDiagramEditor&Zobrazen Afficha&geQETDiagramEditorZobrazen AffichageQETDiagramEditorJZobraz QElectroTech v okennm re~imu$Affiche QElectroTech en mode fentrQETDiagramEditor`Zobraz QElectroTech v re~imu na celou obrazovku(Affiche QElectroTech en mode plein cranQETDiagramEditorBZobraz informace o QElectroTechu)Affiche des informations sur QElectroTechQETDiagramEditor>Zobraz informace o knihovn Qt/Affiche des informations sur la bibliothque QtQETDiagramEditorXZobrazit/skrt pruh s nstroji pro zobrazen*Affiche ou non la barre d'outils AffichageQETDiagramEditorRZobrazit/skrt pruh s nstroji pro nkres'Affiche ou non la barre d'outils SchmaQETDiagramEditorJZobrazit/skrt hlavn pruh s nstroji+Affiche ou non la barre d'outils principaleQETDiagramEditor@Zobrazit/skrt seznam kroko zpt)Affiche ou non la liste des modificationsQETDiagramEditor>Zobraz/nezobraz panel s prvky#Affiche ou non le panel d'appareilsQETDiagramEditorZobrazitAfficherQETDiagramEditor"Zobrazit projektyAfficher les projetsQETDiagramEditorZvta nkresAgrandit le schmaQETDiagramEditor(Zvta vaku nkresuAgrandit le schma en hauteurQETDiagramEditor2PYidat sloupec do nkresuAjoute une colonne au schmaQETDiagramEditor&PYidat textov poleAjouter un champ de texteQETDiagramEditorPYidat nkresAjouter un schmaQETDiagramEditorPYidat sloupecAjouter une colonneQETDiagramEditorPYidat  ruAjouter une ligneQETDiagramEditorZpt AnnulationsQETDiagramEditor2Vrt pYedchoz krok zptAnnule l'action prcdenteQETDiagramEditorZptAnnulerQETDiagramEditor}dn pravaAucune modificationQETDiagramEditorBackspace BackspaceQETDiagramEditor&Vlo~itC&ollerQETDiagramEditor&VyjmoutCo&uperQETDiagramEditorVchoz vodi eConducteurs par dfautQETDiagramEditor&KoprovatCop&ierQETDiagramEditorFZkopruje vybran prvky do schrnky5Copie les lments slectionns dans le presse-papierQETDiagramEditor&VytvoY nov nkresCre un nouveau schmaQETDiagramEditor Ctrl+0Ctrl+0QETDiagramEditor Ctrl+9Ctrl+9QETDiagramEditor Ctrl+DCtrl+DQETDiagramEditor Ctrl+ICtrl+IQETDiagramEditor Ctrl+JCtrl+JQETDiagramEditor Ctrl+KCtrl+KQETDiagramEditor Ctrl+LCtrl+LQETDiagramEditor Ctrl+QCtrl+QQETDiagramEditorCtrl+Shift+A Ctrl+Shift+AQETDiagramEditorCtrl+Shift+F Ctrl+Shift+FQETDiagramEditorCtrl+Shift+I Ctrl+Shift+IQETDiagramEditorCtrl+Shift+X Ctrl+Shift+XQETDiagramEditor Ctrl+TCtrl+TQETDiagramEditorvUspoYd okna tm zposobem, ~e je polo~ v kaskd pod sebeDispose les fentres en cascadeQETDiagramEditorfUspoYd okna tm zposobem, ~e je polo~ vedle sebe Dispose les fentres en mosaqueQETDiagramEditorhZrua vbr vybranch prvko a vybere nevybran prvkyTDslectionne les lments slectionns et slectionne les lments non slectionnsQETDiagramEditorBZrua vbr vaech prvko v nkresu)Dslectionne tous les lments du schmaQETDiagramEditorZruait vbrDslectionner toutQETDiagramEditor&Vyvst E&xporterQETDiagramEditor"Odstranit sloupecEnlever une colonneQETDiagramEditorOdstranit YdekEnlever une ligneQETDiagramEditor@Odstran vybran prvky z nkresu*Enlve les lments slectionns du schmaQETDiagramEditor6Odstranit sloupec z nkresuEnlve une colonne au schmaQETDiagramEditor(Ulo~ nynja nkresEnregistre le schma courantQETDiagramEditor`Ulo~ nynja nkres pod jinm souborovm nzvem9Enregistre le schma courant avec un autre nom de fichierQETDiagramEditorPUlo~ vaechny nkresy nynjaho projektu-Enregistre tous les schmas du projet courantQETDiagramEditorUlo~it jakoEnregistrer sousQETDiagramEditorNVyvede nynja nkres do jinho formtu.Exporte le schma courant dans un autre formatQETDiagramEditor &Okna Fe&ntresQETDiagramEditor6ZavYe aplikaci QElectroTech Ferme l'application QElectroTechQETDiagramEditor(ZavYe nynja nkresFerme le schma courantQETDiagramEditorZd se, ~e soubor %1 nen souborem projektu QElectroTech. Nemo~e bt tedy otevYen.hIl semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc tre ouvert.QETDiagramEditorNezd se, ~e by byl soubor, kter se pokouate otevYt,  iteln. A nelze jej otevYt. Zkontrolujte, prosm, oprvnn k souboru.Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vrifier les permissions du fichier.QETDiagramEditorZd se, ~e projekt, kter se pokouate otevYt, nen zapisovateln. Bude tedy otevYen pouze pro  ten.Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en criture. Il sera donc ouvert en lecture seule.QETDiagramEditorDZavede nkres do nynjaho nkresu(Importe un schma dans le schma courantQETDiagramEditor(Soubor nelze otevYtImpossible d'ouvrir le fichierQETDiagramEditor@Tento prvek nelze najt v panelu1Impossible de retrouver cet lment dans le panelQETDiagramEditorTento prvek nelze najt v panelu, proto~e je, jak se zd, upravovn v jinm okn\Impossible de retrouver cet lment dans le panel car il semble dit dans une autre fentreQETDiagramEditorzTento prvek nelze najt v panelu... panel se znovu nahrv...MImpossible de retrouver cet lment dans le panel... rechargement du panel...QETDiagramEditor.Vytiskne nynja nkresImprime le schma courantQETDiagramEditorTiskImprimerQETDiagramEditorObrtit vbrInverser la slectionQETDiagramEditorRe~im vbruMode SelectionQETDiagramEditorRe~im zobrazenMode VisualisationQETDiagramEditor Vy istit projektNettoyer le projetQETDiagramEditorNstrojeOutilsQETDiagramEditor@OtevYen souboru pouze pro  ten$Ouverture du projet en lecture seuleQETDiagramEditor0OtevYe existujc nkresOuvre un schma existantQETDiagramEditorOtevYt souborOuvrir un fichierQETDiagramEditorPanel s prvkyPanel d'lmentsQETDiagramEditorBez pYibl~en Pas de zoomQETDiagramEditor2&Re~im na celou obrazovkuPasser en &mode plein cranQETDiagramEditor`Umo~n pro QElectroTech stanovit rozn parametry6Permet de rgler diffrents paramtres de QElectroTechQETDiagramEditor$Dovol vbr prvko#Permet de slectionner les lmentsQETDiagramEditorbDovol zobrazen nkresu bez mo~nosti jej upravit7Permet de visualiser le schma sans pouvoir le modifierQETDiagramEditor&Oto vybran prvky Pivote les lments slectionnsQETDiagramEditor Oto itPivoterQETDiagramEditorDVlo~ prvky ze schrnky do nkresu1Place les lments du presse-papier sur le schmaQETDiagramEditor"PYedchoz projektProjet prcdentQETDiagramEditorDala projektProjet suivantQETDiagramEditor"Vlastnosti vbruProprits de la slectionQETDiagramEditor&Vlastnosti projektuProprits du projetQETDiagramEditor$Vlastnosti nkresuProprits du schmaQETDiagramEditorRUk~e rozn otevYen projekty v podoknech>Prsente les diffrents projets ouverts dans des sous-fentresQETDiagramEditorNUk~e rozn otevYen projekty v kartch3Prsente les diffrents projets ouverts des ongletsQETDiagramEditorQElectroTech QElectroTechQETDiagramEditorQElectroTechstatus bar message QElectroTechQETDiagramEditorNastav znovu cesty vodi o bez ohledu na u~ivatelem proveden zmnyIRecalcule les chemins des conducteurs sans tenir compte des modificationsQETDiagramEditor ZnovuRefaireQETDiagramEditor<Znovu zavede krok vrcen zptRestaure l'action annuleQETDiagramEditor@Obnov vchoz roveH pYibl~enRestaure le zoom par dfautQETDiagramEditor*Nastavit znovu vodi eRinitialiser les conducteursQETDiagramEditorZmena nkresRtrcit le schmaQETDiagramEditor(Zmena vaku nkresuRtrcit le schma en hauteurQETDiagramEditor NkresSchmaQETDiagramEditorNkresy QElectroTech (*.qet);;Soubory XML (*.xml);;Vaechny soubory (*)ISchmas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*)QETDiagramEditorBUkon it re~im &na celou obrazovkuSortir du &mode plein cranQETDiagramEditorMezernkSpaceQETDiagramEditorBStanov vchoz vlastnosti vodi o2Spcifie les proprits par dfaut des conducteursQETDiagramEditor Smazat SupprimerQETDiagramEditorSmazat nkresSupprimer le schmaQETDiagramEditor<Vybere vaechny prvky v nkresu'Slectionne tous les lments du schmaQETDiagramEditorVybrat vaeTout slectionnerQETDiagramEditorBPYenese vybran prvky do schrnky9Transfre les lments slectionns dans le presse-papierQETDiagramEditor,PYizposobit pYibl~en Zoom adaptQETDiagramEditorOddlit Zoom arrireQETDiagramEditorPYibl~it Zoom avantQETDiagramEditor"pou~vaj se oknaen utilisant des fentresQETDiagramEditor$pou~vaj se kartyen utilisant des ongletsQETDiagramEditor &O QElectroTechu &propos de QElectroTechQETDiagramEditor O &Qt propos de &QtQETDiagramEditor*Projekt nelze otevYtchec de l'ouverture du projetQETDiagramEditor\Uprav informace zobrazen ve vlo~enm rme ku1dite les informations affiches par le cartoucheQETDiagramEditorJUpravit vlastnosti vybranho pYedmtu+dite les proprits des objets slectionnQETDiagramEditor$ [Pouze pro  ten] [lecture seule]QETElementEditor&jedna vybran  st."%n vybran  sti."%n vybran  sti.%n partie(s) slectionne(s).QETElementEditor&Npovda&AideQETElementEditorN&astaven&ConfigurationQETElementEditor,&Nastavit QElectroTech&Configurer QElectroTechQETElementEditor&Ulo~it &EnregistrerQETElementEditor&Soubor&FichierQETElementEditor &Nov&NouveauQETElementEditor&OtevYt&OuvrirQETElementEditor&&OtevYt ze souboru&Ouvrir depuis un fichierQETElementEditor&Ukon it&QuitterQETElementEditor&Smazat &SupprimerQETElementEditor&pravy&ditionQETElementEditor<b>%1</b>: %2%1: %2QETElementEditorChyb zakon enAbsence de borneQETElementEditor&Zobrazen Afficha&geQETElementEditorZobrazen AffichageQETElementEditorJZobraz QElectroTech v okennm re~imu$Affiche QElectroTech en mode fentrQETElementEditor`Zobraz QElectroTech v re~imu na celou obrazovku(Affiche QElectroTech en mode plein cranQETElementEditorBZobraz informace o QElectroTechu)Affiche des informations sur QElectroTechQETElementEditor>Zobraz informace o knihovn Qt/Affiche des informations sur la bibliothque QtQETElementEditorZobrazitAfficherQETElementEditorPYidat textAjouter du texteQETElementEditor&PYidat oblouk kruhuAjouter un arc de cercleQETElementEditorPYidat kruhAjouter un cercleQETElementEditor&PYidat textov poleAjouter un champ de texteQETElementEditor&PYidat mnohohelnkAjouter un polygoneQETElementEditorPYidat obdlnkAjouter un rectangleQETElementEditor PYidat zakon enAjouter une borneQETElementEditorPYidat elipsuAjouter une ellipseQETElementEditorPYidat  ruAjouter une ligneQETElementEditor"PYesunout dopYeduAmener au premier planQETElementEditorZpt AnnulationsQETElementEditorZptAnnulerQETElementEditor}dn pravaAucune modificationQETElementEditorVarovnAvertissementsQETElementEditorBackspace BackspaceQETElementEditor&Vlo~itC&ollerQETElementEditor*&Vlo~it do oblasti...C&oller dans la zone...QETElementEditorPTento soubor nen platnm dokumentem XML+Ce fichier n'est pas un document XML valideQETElementEditorNkter obrazov  sti (texty, kruhy,  ry, ...) se zdaj bt mimo okna. Takto mohou vznikat chyby v zobrazen, kdy~ je prvek pYesunut na nkres. Spravit to mo~ete tm, ~e tyto  sti pYesunete, nebo tm, ~e pou~ijete pravy > Upravit velikost a horkou podu.;Certaines parties graphiques (textes, cercles, lignes...) semblent dborder du cadre de l'lment. Cela risque de gnrer des bugs graphiques lors de leur manipulation sur un schma. Vous pouvez corriger cela soit en dplaant ces parties, soit en vous rendant dans dition > diter la taille et le point de saisie.QETElementEditor&VyjmoutCo&uperQETElementEditorVlo~it z...Coller depuis...QETElementEditor&KoprovatCop&ierQETElementEditor Ctrl+0Ctrl+0QETElementEditor Ctrl+9Ctrl+9QETElementEditor Ctrl+ECtrl+EQETElementEditor Ctrl+ICtrl+IQETElementEditor Ctrl+QCtrl+QQETElementEditor Ctrl+RCtrl+RQETElementEditorCtrl+Shift+A Ctrl+Shift+AQETElementEditorCtrl+Shift+DownCtrl+Shift+DownQETElementEditorCtrl+Shift+EndCtrl+Shift+EndQETElementEditorCtrl+Shift+F Ctrl+Shift+FQETElementEditorCtrl+Shift+HomeCtrl+Shift+HomeQETElementEditorCtrl+Shift+O Ctrl+Shift+OQETElementEditorCtrl+Shift+S Ctrl+Shift+SQETElementEditorCtrl+Shift+Up Ctrl+Shift+UpQETElementEditorCtrl+Shift+V Ctrl+Shift+VQETElementEditor Ctrl+TCtrl+TQETElementEditor Ctrl+YCtrl+YQETElementEditorVelikost prvkuDimensions de l'lmentQETElementEditor"PYesunout pYedmtDplacer un objetQETElementEditorZruait vbrDslectionner toutQETElementEditor"Ulo~it do souboruEnregistrer dans un fichierQETElementEditor*Ulo~it nynja prvek? Enregistrer l'lment en cours ?QETElementEditorUlo~it jakoEnregistrer sousQETElementEditorUlo~it jako dialog titleEnregistrer sousQETElementEditor PYesunout dozaduEnvoyer au fondQETElementEditor ChybaErreurQETElementEditor Chybamessage box titleErreurQETElementEditor*Prvku nelze doshnout Impossible d'atteindre l'lmentQETElementEditor$Prvek nelze ulo~it"Impossible d'enregistrer l'lmentQETElementEditor0Soubor nelze otevYt %1."Impossible d'ouvrir le fichier %1.QETElementEditorBDo tohoto souboru nelze zapisovat#Impossible d'crire dans ce fichierQETElementEditorInformace InformationsQETElementEditorObrtit vbrInverser la slectionQETElementEditor"Prvek neexistuje.L'lment n'existe pas.QETElementEditorPrvek neobsahuje ~dn zakon en. Prvek mus mt zakon en, aby mohl bt spojen s dalami prvky prostYednictvm vodi o.L'lment ne comporte aucune borne. Un lment doit comporter des bornes afin de pouvoir tre reli d'autres lments par l'intermdiaire de conducteurs.QETElementEditorPOvYen tohoto prvku vytvoYilo varovn:VOvYen tohoto prvku vytvoYilo %n varovn:VOvYen tohoto prvku vytvoYilo %n varovn:=La vrification de cet lment a gnr %n avertissement(s):QETElementEditorRVybran virtuln cesta neodpovd prvku.8Le chemin virtuel choisi ne correspond pas un lment.QETElementEditor*Soubor %1 neexistuje.Le fichier %1 n'existe pas.QETElementEditorrPodr~te klvesu Shift pro pYidn nkolika  st do YdkuLMaintenez la touche Shift enfonce pour effectuer plusieurs ajouts d'affileQETElementEditorN&strojeO&utilsQETElementEditorNstrojeOutilsQETElementEditorOtevYt souborOuvrir un fichierQETElementEditor  stiPartiesQETElementEditor  sti dock titlePartiesQETElementEditorBez pYibl~en Pas de zoomQETElementEditor2&Re~im na celou obrazovkuPasser en &mode plein cranQETElementEditor`Umo~n pro QElectroTech stanovit rozn parametry6Permet de rgler diffrents paramtres de QElectroTechQETElementEditorHloubka ProfondeurQETElementEditor6QElectroTech - Editor prvko QElectroTech - diteur d'lmentQETElementEditor Zvait RapprocherQETElementEditorNahrt znovu RechargerQETElementEditor$Nahrt znovu prvekRecharger l'lmentQETElementEditor ZnovuRefaireQETElementEditorBUkon it re~im &na celou obrazovkuSortir du &mode plein cranQETElementEditorVybrat vaeTout slectionnerQETElementEditorRPYlia jednoduch. Seznam nebyl vytvoYen.&Trop de primitives, liste non gnre.QETElementEditorPou~ijte prav tla tko myai pro nastaven poslednho bodu mnohohelnkuMUtilisez le bouton droit de la souris pour poser le dernier point du polygoneQETElementEditor.Chcete ulo~it prvek %1?&Voulez-vous enregistrer l'lment %1 ?QETElementEditorTento prvek byl od poslednho ulo~en zmnn. Pokud jej znovu nahrajete, tyto zmny budou ztraceny. Opravdu chcete tento prvek nahrt znovu?Vous avez efffectu des modifications sur cet lment. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'lment ?QETElementEditorNemte potYebn oprvnn, abyste mohl upravit tento prvek. Bude tedy otevYen pouze pro  ten.kVous n'avez pas les privilges ncessaires pour modifier cet lement. Il sera donc ouvert en lecture seule.QETElementEditor,PYizposobit pYibl~en Zoom adaptQETElementEditorOddlit Zoom arrireQETElementEditorPYibl~it Zoom avantQETElementEditor[Zmnno] [Modifi]QETElementEditor soubor un fichierQETElementEditor prvek un lmentQETElementEditor &O QElectroTechu &propos de QElectroTechQETElementEditor O &Qt propos de &QtQETElementEditor<Upravit velikost a horkou podu&diter la taille et le point de saisieQETElementEditor0Upravit daje o autorovi$diter les informations sur l'auteurQETElementEditorUpravit nzvyditer les nomsQETElementEditor Upravit nato enditer les orientationsQETElementEditorEditor prvkoditeur d'lmentsQETElementEditor,Vydn pouze pro  tendition en lecture seuleQETElementEditor Sn~itloignerQETElementEditor PrveklmentQETElementEditor&Neexistujc prvek.lment inexistant.QETElementEditor6Prvky QElectroTech (*.elmt)lments QElectroTech (*.elmt)QETElementEditorPrvky QElectroTech (*.elmt);;Soubory XML (*.xml);;Vaechny soubory (*)Klments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)QETElementEditor%1%%1 %QETPrintPreviewDialog2PYizposobit nkres stranAdapter le schma la pageQETPrintPreviewDialog&Zobrazit dv stranyAfficher deux pagesQETPrintPreviewDialog2Zobrazit seznam s nkresyAfficher la liste des schmasQETPrintPreviewDialog.Zobrazit volby pro tisk!Afficher les options d'impressionQETPrintPreviewDialogBZobrazit nhled na vaechny strany&Afficher un aperu de toutes les pagesQETPrintPreviewDialog*Zobrazit jednu stranuAfficher une seule pageQETPrintPreviewDialog"PYizposobit aYkuAjuster la largeurQETPrintPreviewDialog$PYizposobit stranuAjuster la pageQETPrintPreviewDialog,Skrt seznam s nkresyCacher la liste des schmasQETPrintPreviewDialog(Skrt volby pro tiskCacher les options d'impressionQETPrintPreviewDialogPosledn strana Dernire pageQETPrintPreviewDialogTiskImprimerQETPrintPreviewDialog Rozvr~en strany Mise en pageQETPrintPreviewDialogxRozvr~en strany (nen dostupn pod Windows pro tisk PDF/PS)CMise en page (non disponible sous Windows pour l'impression PDF/PS)QETPrintPreviewDialogVolby pro tiskOptions d'impressionQETPrintPreviewDialog PYedchoz stranaPage prcdenteQETPrintPreviewDialogDala strana Page suivanteQETPrintPreviewDialogNa aYkuPaysageQETPrintPreviewDialogNa vakuPortraitQETPrintPreviewDialogPrvn strana Premire pageQETPrintPreviewDialog4QElectroTech: Nhled tisku&QElectroTech : Aperu avant impressionQETPrintPreviewDialog"Nkresy pro tisk:Schmas imprimer:QETPrintPreviewDialogJe-li zaakrtnuta tato volba, nkres bude zmenaen, anebo zvtaen, aby se veael na tisknuteln povrch jedn strany.Si cette option est coche, le schma sera agrandi ou rtrci de faon remplir toute la surface imprimable d'une et une seule page.QETPrintPreviewDialog.Je-li zaakrtnuta tato volba, nebude brn zYetel na okraje papru a cel jeho povrch se vyu~ije pYi tisku. Tuto mo~nost vaae tiskrna nemus podporovat.Si cette option est coche, les marges de la feuille seront ignores et toute sa surface sera utilise pour l'impression. Cela peut ne pas tre support par votre imprimante.QETPrintPreviewDialogZatrhnout vae Tout cocherQETPrintPreviewDialog0Zruait zatrhnut u vaeho Tout dcocherQETPrintPreviewDialog&Pou~t celou stranuUtiliser toute la feuilleQETPrintPreviewDialogOddlit Zoom arrireQETPrintPreviewDialogPYibl~it Zoom avantQETPrintPreviewDialog(%1 [pouze pro  ten]%1 [lecture seule] QETProjectVarovn Avertissement QETProjectZd se, ~e tento dokument byl ulo~en pod stara verz QElectroTechu. OtevYen dokumentmo~e selhal zcela nebo  ste n.Ce document semble avoir t enregistr avec une version ultrieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document choue. QETProjectHNelze pYistoupit k prvku k za lenn+Impossible d'accder l'lment a intgrer QETProjectfNelze vytvoYit skupinu zamYenou na za lenn prvko@Impossible de crer la catgorie pour l'intgration des lments QETProjectProjekt %1 Projet %1 QETProject*Nepojmenovan projektProjet sans titre QETProjectProjekt "%1" Projet %1 QETProjectVBhem koprovn prvku se vyskytla chyba %1:Un problme s'est produit pendant la copie de l'lment %1 QETProjectZBhem koprovn skupiny se vyskytla chyba %1=Un problme s'est produit pendant la copie de la catgorie %1 QETProjectPovolenmi znaky jsou: -  slice [0-9] - mal psmena [a-z] -  rka [-], podtr~tko [_] a te ka [.] Les caractres autoriss sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.]  QFileNameEdit a  et QObject a Useparator between conductors and texts in a sentence listing the content of a diagram et QObject$jedno textov pole%n textov pole%n textov pole%n champ(s) de texteQObjectjeden vodi %n vodi e%n vodi e%n conducteur(s)QObjectjeden prvek%n prvky%n prvky %n lment(s)QObject, , QObject&PYidat textov poleAjouter un champ de texteQObject NhledAperuQObjectrVarovn: prvek byl ulo~en se stara verz QElectroTechu.XAvertissement : l'lment a t enregistr avec une version ultrieure de QElectroTech.QObjectZakon enBorneQObject(Zachovat pomr stranConserver les proportionsQObject$Vyvst do schrnkyExporter vers le presse-papierQObjectNepodaYilo se najt text obsahujc licenci GNU/GPL - nicmn, znte ji srdcem, ~e ano?zLe fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute faon, vous la connaissez par coeur non ?QObjectTextov soubor obsahujc licenci GNU/GPL existuje, ale nepodaYilo se jej otevYt - nicmn, znte ji srdcem, ~e ano?Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu tre ouvert - bon bah de toute faon, vous la connaissez par coeur non ?QObject"Nastavit znovu %1Rinitialiser %1QObject.Nastavit znovu velikostRinitialiser les dimensionsQObject Nkres bez nzvuSchma sans titreQObjectTTQObject__QObjectvlo~it %1ajout %1QObjectpYidat 1 %1 ajouter 1 %1QObjectpYidat vodi ajouter un conducteurQObject"pYesunout dopYeduamener au premier planQObject obloukarcQObjectzakon enborneQObjectkruhcercleQObjecttextov polechamp de texteQObject vlo~itcollerQObjectvlo~it %1 coller %1QObjectvyjmout %1 couper %1QObjectvyjmout  sticouper des partiesQObjectpYemstn dplacementQObjectpYesunout %1 dplacer %1QObject elipsaellipseQObject pYesunout dozaduenvoyer au fondQObject raligneQObjectprava %1modification %1QObject0prava vnitYnch spojen modification connexions internesQObject6prava velikosti/hork podymodification dimensions/hotspotQObject0prava doplHkovch dajo)modification informations complementairesQObjectprava nzvomodification nomsQObjectprava nato enmodification orientationsQObject2prava bodo mnohohelnkamodification points polygoneQObject.upravit vlo~en rme ekmodifier le cartoucheQObjectupravit textmodifier le texteQObject0upravit velikost nkresu!modifier les dimensions du schmaQObject2upravit vlastnosti vodi e'modifier les proprits d'un conducteurQObjectupravit vodi modifier un conducteurQObjectoto it %1 pivoter %1QObjectmnohohelnkpolygoneQObject zvait rapprocherQObjectobdlnk rectangleQObject nkresschemaQObjectsmazn suppressionQObjectsmazat %1 supprimer %1QObjecttexttexteQObject sn~itloignerQObject(&Nedvno otevYen()&Rcemment ouvert(s) RecentFiles"Horn lev okraj:Coin suprieur gauche: RectangleEditorVelikost: Dimensions: RectangleEditor Vaka: Hauteur:RectangleEditor `Yka: Largeur:RectangleEditor4x-ov souYadnice (abscisa)abscisseRectangleEditor vakahauteurRectangleEditor aYkalargeurRectangleEditorLy-ov souYadnice (poYadnice, ordinta)ordonneRectangleEditorVyhlazovn Antialiasing StyleEditor }dnAucun StyleEditorBlBlanc StyleEditorBlelement part fillingBlanc StyleEditorBarva:  Couleur :  StyleEditor TenkFine StyleEditor  ernNoir StyleEditor  ernelement part fillingNoir StyleEditor B~nNormal StyleEditor B~nNormale StyleEditor }dnNulle StyleEditor rkovan Pointill StyleEditor VplH: Remplissage : StyleEditor Styl: Style :  StyleEditor  ra:Trait : StyleEditor Vha:  paisseur :  StyleEditor VchodEstTerminalEditor SeverNordTerminalEditorNato en: Orientation : TerminalEditor ZpadOuestTerminalEditorPoloha: Position : TerminalEditorJihSudTerminalEditor4x-ov souYadnice (abscisa)abscisseTerminalEditorLy-ov souYadnice (poYadnice, ordinta)ordonneTerminalEditornato en orientationTerminalEditorx: x : TerminalEditory: y : TerminalEditorPoloha: Position :  TextEditorVelikost:  Taille :  TextEditor Text: Texte :  TextEditor4x-ov souYadnice (abscisa)abscisse TextEditor obsahcontenu TextEditorLy-ov souYadnice (poYadnice, ordinta)ordonne TextEditorvelikosttaille TextEditorx: x :  TextEditory: y :  TextEditorHZostat vodorovn pYes oto en prvku7Maintenir horizontal malgr les rotations de l'lmentTextFieldEditorPoloha: Position : TextFieldEditorVelikost:  Taille : TextFieldEditorVchoz text: Texte par dfaut : TextFieldEditor4x-ov souYadnice (abscisa)abscisseTextFieldEditor obsahcontenuTextFieldEditorLy-ov souYadnice (poYadnice, ordinta)ordonneTextFieldEditorvlastnost propritTextFieldEditorvelikosttailleTextFieldEditorx: x : TextFieldEditory: y : TextFieldEditorqelectrotech-0.22+svn897/lang/qt_ru.qm0000644000175000017500000052054211343532004017514 0ustar laurentlaurent;+H;@P;Q;;MLOcOq[o}LmL*x(5&+; +;N+;U+O+ON1*E@FHYlIZI@BIABJJ KRp{T?[`T[`\d_f_r1VEX4O$`\$m#$y,Y~!9mUEMEo(Eo\%%b֍e֍$֍&֍+ 0+0Q"00b0]N0 DT) Dk,Uq,p-bH@<pp 5ה#QD%UTڲ(Ŏh*4r-ctE-cty2 }5vP dy<,TMt%wʯ)e;y#ur  ~: Yd d"l)=X-}1$5~y< <3M@>?V?2|?NYMNkyUiW~"Z_]%`I`jtqlgqlyzl}oiavtyF-vtyW1q"Zb6F4)G6NM66X^}*+|RT =z)~.Ƒ{SESdECS{K=;8A1A{h[y hLQtLrn0J's85<m}MPMEwEHw)uwQ/ ^ I wk, Wh!e%F&(7)ek*/ee;IByEcFM6OZf3\ck_`ab=cփbfg&4jChYmn+qtqtujh{>J }kanMrV~ö$zy _^$5$(m.+(eʁrr ^KI֊D4 n,R F;yrO[-KAuA+7^+i=G9&H.U/$?IxSAMR>YMxdYM^~h^2Yi7sscks'wPxxl=/^4K2`^"%@vۊCatN?]Px]'II*6I*IOI19InIpI(cZI_>Y_i_y`^6^x^^]]Ia``a aN`FuD|uDD-o&AB@,,,?,\,q=,~X]>>Wra>>5$  4fRffRdG>Ya*cYUA/_Ceeo1c5C SqYPqxVQYVfR]T,L]~q oc 2 .$gWAO+%C2&~pA& )2v)+P,53N?"?>uJKNzN>RV|q]M]dIXEe@m y^.{yw?5tFf:Ξ qG%vnn?nK!صǥOd+d+o`Ct{y/ b;sxAt&r%9\sAss}2ϾmM%A{C-5QdZC^ƨƨr^˾#ҝzivէ?qjZ>9zYߺ6(Wfq.`2`KmB^! G4 L $b~bd~bk1oM`9^StLl!%)ў+u+38,8l5/C//)%1s4~? 2OA%DGwGbjLAU{OrgPѧP8QSnT=\UU[UTB[A[_]k*dr]^n_p$5ei|igkQηoNǑy;{( {o}wRR}wf}w}y'MrU'}"\BAv+t<t!.R.g<3YJP1iUHu[DSYt9tnt*طI--n_;_ d#a/+F C0ʢKʢ@ʬƴdKdrdd>d059Kэ,+NSrUdBhw: 2 (?Q: !J+{,D/2V42w6~U7Db :5:%T>I?;BCU]D}INJ0K!\KOV7Xnv\ \Doar9%p&At!w|(^| |!.}wZ!}$R}$f}$ϗ,Z,?VNEPDgL>LNO;qMK<Qf+·E'·UJ·xý۠3C׳(L /(iUt'EvGvfuuF%5jT e~i~_i9%owbթ#%'-.?.}5kE4n=G\=\=z<??CtInPV%V%bXU cLZ'`WbGf]fdigA'WhIoi$|QR5dJ<,&cC(.hzW@c.4FZr4qXymw?^Ien)0d_†5ilCSSʴ5ʴ5ʶ>)wI^ ԄH۔##D'N.d#F5/vF5[Y/p6+>LIAIcAs K }$ qe6 ڤԟ ڥ'3 dm} E- E ^ Ac"u Acf i 35} 9 b* bb b`TC b` dN& gUz i36 la2 u9 xq |o | J+; t! tfB .  ) )1 F>?  Z :I ֎ l g Bj ҉M 4G ><:  s t # ny N5 VY  Y+[ ̹ K- 팤g l~  a /F =A qs  D.  } oXm ^ ) .> 5 7uv ; =v B Bn J"3 K2N RۮM Ty  Uj4 ] ` `6V `9 b bT c(%< cE dq e ed= eeM e{[ f1z& f*&L g5U . gn k,$ rD") t>/N :B f  f _ 4 .t  s sa ~ AA~ 9 P 9 # m,$ 5D' #-tݥ 0N>` 5h AsX CUu( E9"$ I LF L9 L Mc\S R S V WsS \Ot ]$I f)[ f)_ f=W io> m`1 w! xRn yrMt > W 7o Hj H^8 < B n $` (] i <0  , ~  % J# Jb/  t. k{ Ӈ-M Y M$w * N> ̺v &b -Dv . ۷! r kS k U)  <0F F Xg yq x  z+  |^  In %t N3$ > xH  $Ff %6bF .B 7FZ >. > > > > > >V > >xj ?t|[ DT IAO P@ RVgL RV RV S.p SG S( Y< Yf [) c`$ hۮnD j7o\ pBV v8 ! B  TH@ TI T T U D J M n  )dX T .H . .! .u . .7 .:  n P7 aۍ y/ 1 e. hN2w > ҂7 ӴNs x %/ u  |X - ( XtE nV 9 t4 avY  :b Uq; d O. ʜ@~ T  H $V   #$i0 #=-R %n3 (I$gr (N@ +>C +kJ 0EG 64Y, ;ɾ} Fg/ K9 Pt Pt T>j dB& feP fe> g iFC\ id i] jN@ jӮ kGnF l"D m9 n uu v 0 v&w v{D wQs wf9 w w}Q w}fx w}P |[с  yM  <4 J ^є }d RB P  xN U@ ɰei FB ˃ X8 b & D n e +Z= t5 t5   >Hs  x 1$Rw0' @a& T;gT/4'4(SH^Ǘ1پ:B8c)EBrݖ[y/^@jEjF*  adG݋lD/K^"#;$U$%4S%4jS-v0i)b0cw1c2wTbID2H$<JdyKmK#(L$.W c5Rc5g3 iTfpyC3{~ab6$,Y5&&`{*` n[ > 8ioa>b"N[ E"~L#4r;Zr|%ky֠ELnDh"B&PWt2?Z6:dUitn0:@KBL 2:;04:C Close Tab CloseButton 5:>@@5:B=K9 URL Invalid URL FakeReply.!?5F80;L=K5 2>7<>6=>AB8 AccessibilityPhonon::1I5=85 CommunicationPhonon::3@KGamesPhonon:: C7K:0MusicPhonon::#254><;5=8O NotificationsPhonon:: 845>VideoPhonon::<html>5@5:;NG5=85 =0 72C:>2>5 CAB@>9AB2> <b>%1</b><br/>, :>B>@>5 4>ABC?=> 8 8<55B 2KAH89 ?@8>@8B5B.</html>xSwitching to the audio playback device %1
which just became available and has higher preference.Phonon::AudioOutput<html>2C:>2>5 CAB@>9AB2> <b>%1</b> =5 @01>B05B.<br/>C45B 8A?>;L7>20BLAO <b>%2</b>.</html>^The audio playback device %1 does not work.
Falling back to %2.Phonon::AudioOutput:>72@0I5=85 : CAB@>9AB2C '%1'Revert back to device '%1'Phonon::AudioOutput=8<0=85: >E>65, >A=>2=>9 <>4C;L GStreamer =5 CAB0=>2;5=. >445@6:0 2845> 8 0C48> >B:;NG5=0~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::Backend=8<0=85: >E>65, ?0:5B gstreamer0.10-plugins-good =5 CAB0=>2;5=. 5:>B>@K5 2>7<>6=>AB8 2>A?@>872545=8O 2845> =54>ABC?=K.Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendBACBAB2C5B =5>1E>48<K9 :>45:. 0< =C6=> CAB0=>28BL A;54CNI85 :>45:8 4;O 2>A?@>872545=8O 40==>3> A>45@68<>3>: %0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObject52>7<>6=> =0G0BL 2>A?@>872545=85. @>25@LB5 CAB0=>2:C Gstreamer 8 C1548B5AL, GB> ?0:5B libgstreamer-plugins-base CAB0=>2;5=.wCannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObject\5 C40;>AL 45:>48@>20BL 8AB>G=8: <5480-40==KE.Could not decode media source.Phonon::Gstreamer::MediaObjectN5 C40;>AL =09B8 8AB>G=8: <5480-40==KE.Could not locate media source.Phonon::Gstreamer::MediaObject5 C40;>AL >B:@KBL 72C:>2>5 CAB@>9AB2>. #AB@>9AB2> C65 8A?>;L7C5BAO.:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectR5 C40;>AL >B:@KBL 8AB>G=8: <5480-40==KE.Could not open media source.Phonon::Gstreamer::MediaObjectH525@=K9 B8? 8AB>G=8:0 <5480-40==KE.Invalid source type.Phonon::Gstreamer::MediaObject*>A?@>872545=85 72C:0 Audio Output Phonon::MMF@#AB@>9AB2> 2>A?@>872545=8O 72C:0The audio output device Phonon::MMF(>;>A0 G0AB>B, %1 FFrequency band, %1 HzPhonon::MMF::AudioEqualizer#A8;5=85 10A>2 Bass boostPhonon::MMF::EffectFactory0A;01;5=85 ?@8 >B40;5=88Distance AttenuationPhonon::MMF::EffectFactory 525@15@0F8OEnvironmental ReverbPhonon::MMF::EffectFactory@><:>ABLLoudnessPhonon::MMF::EffectFactory(@85=B0F8O 8AB>G=8:0Source OrientationPhonon::MMF::EffectFactory* 0AH8@5=85 AB5@5>107KStereo WideningPhonon::MMF::EffectFactoryC48>M:20;0975@audio equalizerPhonon::MMF::EffectFactory57 72C:0MutedPhonon::VolumeSliderA?>;L7C9B5 40==K9 ?>;7C=>: 4;O =0AB@>9:8 3@><:>AB8. @09=55 ;52>5 ?>;>65=85 A>>B25BAB2C5B 0%, :@09=55 ?@02>5 - %1%WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSlider@><:>ABL: %1% Volume: %1%Phonon::VolumeSlider&%1, %2 =5 >?@545;Q=%1, %2 not definedQ3Accel#40;8BLDelete Q3DataTable5BFalse Q3DataTableAB028BLInsert Q3DataTable0True Q3DataTable1=>28BLUpdate Q3DataTablez%1 $09; =5 =0945=. @>25@LB5 ?@028;L=>ABL ?CB8 8 8<5=8 D09;0.+%1 File not found. Check path and filename. Q3FileDialog&#40;8BL&Delete Q3FileDialog&5B&No Q3FileDialog&&OK Q3FileDialog&B:@KBL&Open Q3FileDialog&5@58<5=>20BL&Rename Q3FileDialog&!>E@0=8BL&Save Q3FileDialog"&5 C?>@O4>G820BL &Unsorted Q3FileDialog&0&Yes Q3FileDialogb<qt>K 459AB28B5;L=> E>B8B5 C40;8BL %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialogA5 D09;K (*) All Files (*) Q3FileDialogA5 D09;K (*.*)All Files (*.*) Q3FileDialogB@81CBK Attributes Q3FileDialog 0704Back Q3FileDialog B<5=0Cancel Q3FileDialog>>?8@>20BL 8;8 ?5@5<5AB8BL D09;Copy or Move a File Q3FileDialog!>740BL ?0?:CCreate New Folder Q3FileDialog0B0Date Q3FileDialog#40;8BL %1 Delete %1 Q3FileDialog>4@>1=K9 284 Detail View Q3FileDialog0B0;>3Dir Q3FileDialog0B0;>38 Directories Q3FileDialog0B0;>3: Directory: Q3FileDialog H81:0Error Q3FileDialog$09;File Q3FileDialog&<O D09;0: File &name: Q3FileDialog&"8? D09;0: File &type: Q3FileDialog09B8 :0B0;>3Find Directory Q3FileDialog5B 4>ABC?0 Inaccessible Q3FileDialog !?8A>: List View Q3FileDialog&0?:0: Look &in: Q3FileDialog<OName Q3FileDialog>20O ?0?:0 New Folder Q3FileDialog>20O ?0?:0 %1 New Folder %1 Q3FileDialog>20O ?0?:0 1 New Folder 1 Q3FileDialog*25@E =0 >48= C@>25=LOne directory up Q3FileDialogB:@KBLOpen Q3FileDialogB:@KBL Open  Q3FileDialog<@54?@>A<>B@ A>45@68<>3> D09;0Preview File Contents Q3FileDialog>@54?@>A<>B@ 8=D>@<0F88 > D09;5Preview File Info Q3FileDialog&1=>28BLR&eload Q3FileDialog">;L:> GB5=85 Read-only Q3FileDialog'B5=85 8 70?8AL Read-write Q3FileDialog'B5=85: %1Read: %1 Q3FileDialog!>E@0=8BL :0:Save As Q3FileDialogK1@0BL :0B0;>3Select a Directory Q3FileDialog.>:070BL A:&@KBK5 D09;KShow &hidden files Q3FileDialog  07<5@Size Q3FileDialog#?>@O4>G8BLSort Q3FileDialog> &40B5 Sort by &Date Q3FileDialog> &8<5=8 Sort by &Name Q3FileDialog> &@07<5@C Sort by &Size Q3FileDialog!?5FD09;Special Q3FileDialog"!AK;:0 =0 :0B0;>3Symlink to Directory Q3FileDialog!AK;:0 =0 D09;Symlink to File Q3FileDialog$!AK;:0 =0 A?5FD09;Symlink to Special Q3FileDialog"8?Type Q3FileDialog">;L:> 70?8AL Write-only Q3FileDialog0?8AL: %1 Write: %1 Q3FileDialog:0B0;>3 the directory Q3FileDialogD09;the file Q3FileDialog AAK;:C the symlink Q3FileDialog:5 C40;>AL A>740BL :0B0;>3 %1Could not create directory %1 Q3LocalFs*5 C40;>AL >B:@KBL %1Could not open %1 Q3LocalFs>5 C40;>AL ?@>G8B0BL :0B0;>3 %1Could not read directory %1 Q3LocalFsL5 C40;>AL C40;8BL D09; 8;8 :0B0;>3 %1%Could not remove file or directory %1 Q3LocalFs@5 C40;>AL ?5@58<5=>20BL %1 2 %2Could not rename %1 to %2 Q3LocalFs,5 C40;>AL 70?8A0BL %1Could not write %1 Q3LocalFs0AB@>8BL... Customize... Q3MainWindowK@>2=OBLLine up Q3MainWindowD?5@0F8O >AB0=>2;5=0 ?>;L7>20B5;5<Operation stopped by the userQ3NetworkProtocol B<5=0CancelQ3ProgressDialog@8<5=8BLApply Q3TabDialog B<5=0Cancel Q3TabDialog> C<>;G0=8NDefaults Q3TabDialog!?@02:0Help Q3TabDialogOK Q3TabDialog&>?8@>20BL&Copy Q3TextEdit&AB028BL&Paste Q3TextEdit&&>2B>@8BL 459AB285&Redo Q3TextEdit$&B<5=8BL 459AB285&Undo Q3TextEditG8AB8BLClear Q3TextEdit&K@570BLCu&t Q3TextEditK45;8BL 2AQ Select All Q3TextEdit0:@KBLClose Q3TitleBarK:@K205B >:=>Closes the window Q3TitleBarB!>45@68B :><0=4K C?@02;5=8O >:=><*Contains commands to manipulate the window Q3TitleBarrB>1@0605B =0720=85 >:=0 8 A>45@68B :><0=4K C?@02;5=8O 8<FDisplays the name of the window and contains controls to manipulate it Q3TitleBar@ 072>@0G8205B >:=> =0 25AL M:@0=Makes the window full screen Q3TitleBar 0A?0E=CBLMaximize Q3TitleBar!25@=CBLMinimize Q3TitleBar !2>@0G8205B >:=>Moves the window out of the way Q3TitleBard>72@0I05B @0A?0E=CB>5 >:=> 2 =>@<0;L=>5 A>AB>O=85&Puts a maximized window back to normal Q3TitleBar`>72@0I05B A2Q@=CB>5 >:=> 2 =>@<0;L=>5 A>AB>O=85&Puts a minimized window back to normal Q3TitleBar>AAB0=>28BL Restore down Q3TitleBar>AAB0=>28BL Restore up Q3TitleBar!8AB5<=>5 <5=NSystem Q3TitleBar>;LH5...More... Q3ToolBar(=58725AB=>) (unknown) Q3UrlOperator@>B>:>; '%1' =5 ?>445@68205B :>?8@>20=85 8;8 ?5@5<5I5=85 D09;>2 8;8 :0B0;>3>2IThe protocol `%1' does not support copying or moving files or directories Q3UrlOperator`@>B>:>; '%1' =5 ?>445@68205B A>740=85 :0B0;>3>2;The protocol `%1' does not support creating new directories Q3UrlOperatorZ@>B>:>; '%1' =5 ?>445@68205B 4>AB02:C D09;>20The protocol `%1' does not support getting files Q3UrlOperator`@>B>:>; '%1' =5 ?>445@68205B ?@>A<>B@ :0B0;>3>26The protocol `%1' does not support listing directories Q3UrlOperatorZ@>B>:>; '%1' =5 ?>445@68205B >B?@02:C D09;>20The protocol `%1' does not support putting files Q3UrlOperatorv@>B>:>; '%1' =5 ?>445@68205B C40;5=85 D09;>2 8;8 :0B0;>3>2@The protocol `%1' does not support removing files or directories Q3UrlOperator@>B>:>; '%1' =5 ?>445@68205B ?5@58<5=>20=85 D09;>2 8;8 :0B0;>3>2@The protocol `%1' does not support renaming files or directories Q3UrlOperator>@>B>:>; '%1' =5 ?>445@68205BAO"The protocol `%1' is not supported Q3UrlOperatorB&<5=0&CancelQ3Wizard&025@H8BL&FinishQ3Wizard&!?@02:0&HelpQ3Wizard&0;55 >&Next >Q3Wizard< &0704< &BackQ3Wizard*B:070=> 2 A>548=5=88Connection refusedQAbstractSocket6@5<O =0 A>548=5=85 8AB5:;>Connection timed outQAbstractSocket#75; =5 =0945=Host not foundQAbstractSocket!5BL =54>ABC?=0Network unreachableQAbstractSocketH?5@0F8O A A>:5B>< =5 ?>445@68205BAO$Operation on socket is not supportedQAbstractSocket$!>:5B =5 ?>4:;NGQ=Socket is not connectedQAbstractSocketF@5<O =0 >?5@0F8N A A>:5B>< 8AB5:;>Socket operation timed outQAbstractSocket&K45;8BL 2AQ &Select AllQAbstractSpinBox(03 22&5@E&Step upQAbstractSpinBox(03 2=&87 Step &downQAbstractSpinBox:B828@>20BLActivate QApplicationB:B828@C5B 3;02=>5 >:=> ?@>3@0<<K#Activates the program's main window QApplicationr@>3@0<<=K9 <>4C;L '%1' B@51C5B Qt %2, =0945=0 25@A8O %3.,Executable '%1' requires Qt %2, found Qt %3. QApplicationDH81:0 A>2<5AB8<>AB8 181;8>B5:8 QtIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplicationB&<5=0&Cancel QAxSelect&1J5:B COM: COM &Object: QAxSelectK1@0BLOK QAxSelect0K1>@ :><?>=5=BK ActiveXSelect ActiveX Control QAxSelectB<5B8BLCheck QCheckBox5@5:;NG8BLToggle QCheckBox!=OBL >B<5B:CUncheck QCheckBoxF&>1028BL : ?>;L7>20B5;LA:8< F25B0<&Add to Custom Colors QColorDialog&A=>2=K5 F25B0 &Basic colors QColorDialog.&>;L7>20B5;LA:85 F25B0&Custom colors QColorDialog&5;Q=K9:&Green: QColorDialog&@0A=K9:&Red: QColorDialog &0A:&Sat: QColorDialog &/@::&Val: QColorDialog&;LD0-:0=0;:A&lpha channel: QColorDialog!&8=89:Bl&ue: QColorDialog &">=:Hu&e: QColorDialogK1>@ F25B0 Select Color QColorDialog0:@KBLClose QComboBox5BFalse QComboBoxB:@KBLOpen QComboBox0True QComboBox$%1: C65 ACI5AB2C5B%1: already existsQCoreApplication"%1: =5 ACI5AB2C5B%1: does not existQCoreApplication%1: >H81:0 ftok%1: ftok failedQCoreApplication%1: ?CAB>9 :;NG%1: key is emptyQCoreApplication2%1: =54>AB0B>G=> @5AC@A>2%1: out of resourcesQCoreApplication6%1: =52>7<>6=> A>740BL :;NG%1: unable to make keyQCoreApplication2%1: =58725AB=0O >H81:0 %2%1: unknown error %2QCoreApplication>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QDB2Driver,52>7<>6=> A>548=8BLAOUnable to connect QDB2Driver<52>7<>6=> >B>720BL B@0=70:F8NUnable to rollback transaction QDB2Driver^52>7<>6=> CAB0=>28BL 02B>7025@H5=85 B@0=70:F89Unable to set autocommit QDB2Driver:52>7<>6=> ?@82O70BL 7=0G5=85Unable to bind variable QDB2Result<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QDB2ResultB52>7<>6=> ?>;CG8BL ?5@2CN AB@>:CUnable to fetch first QDB2ResultH52>7<>6=> ?>;CG8BL A;54CNICN AB@>:CUnable to fetch next QDB2Result:52>7<>6=> ?>;CG8BL 70?8AL %1Unable to fetch record %1 QDB2Result@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEdit QDialQDialQDialSliderHandle SliderHandleQDialSpeedoMeter SpeedoMeterQDial >B>2>DoneQDialog'B> MB>? What's This?QDialogB&<5=0&CancelQDialogButtonBox&0:@KBL&CloseQDialogButtonBox&5B&NoQDialogButtonBox&&OKQDialogButtonBox&!>E@0=8BL&SaveQDialogButtonBox&0&YesQDialogButtonBox@5@20BLAbortQDialogButtonBox@8<5=8BLApplyQDialogButtonBox B<5=0CancelQDialogButtonBox0:@KBLCloseQDialogButtonBox,0:@KBL 157 A>E@0=5=8OClose without SavingQDialogButtonBoxB:;>=8BLDiscardQDialogButtonBox5 A>E@0=OBL Don't SaveQDialogButtonBox!?@02:0HelpQDialogButtonBox@>?CAB8BLIgnoreQDialogButtonBox&5B 4;O 2A5E N&o to AllQDialogButtonBoxOKQDialogButtonBoxB:@KBLOpenQDialogButtonBox!1@>A8BLResetQDialogButtonBox*>AAB0=>28BL 7=0G5=8ORestore DefaultsQDialogButtonBox>2B>@8BLRetryQDialogButtonBox!>E@0=8BLSaveQDialogButtonBox!>E@0=8BL 2A5Save AllQDialogButtonBox0 4;O &2A5E Yes to &AllQDialogButtonBox0B0 87<5=5=8O Date Modified QDirModel84Kind QDirModel<OName QDirModel  07<5@Size QDirModel"8?Type QDirModel0:@KBLClose QDockWidget@8:@5?8BLDock QDockWidgetB:@5?8BLFloat QDockWidget 5=LH5LessQDoubleSpinBox >;LH5MoreQDoubleSpinBox&0:@KBL&OK QErrorMessageL&>:07K20BL MB> A>>1I5=85 2 40;L=59H5<&Show this message again QErrorMessage*B;04>G=>5 A>>1I5=85:Debug Message: QErrorMessage&@8B8G5A:0O >H81:0: Fatal Error: QErrorMessage@54C?@5645=85:Warning: QErrorMessage@52>7<>6=> A>740BL %1 4;O 2K2>40Cannot create %1 for outputQFile>52>7<>6=> >B:@KBL %1 4;O 22>40Cannot open %1 for inputQFile:52>7<>6=> >B:@KBL 4;O 2K2>40Cannot open for outputQFile@52>7<>6=> C40;8BL 8AE>4=K9 D09;Cannot remove source fileQFile$09; ACI5AB2C5BDestination file existsQFile"!1>9 70?8A8 1;>:0Failure to write blockQFile>A;54>20B5;L=K9 D09; =5 1C45B ?5@58<5=>20= A 8A?>;L7>20=85< ?>1;>G=>3> :>?8@>20=8O0Will not rename sequential file using block copyQFile%1 0B0;>3 =5 =0945=. @>25@LB5 ?@028;L=>ABL C:070==>3> 8<5=8 :0B0;>30.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 $09; =5 =0945=. @>25@LB5 ?@028;L=>ABL C:070==>3> 8<5=8 D09;0.A%1 File not found. Please verify the correct file name was given. QFileDialogN%1 C65 ACI5AB2C5B. %>B8B5 70<5=8BL 53>?-%1 already exists. Do you want to replace it? QFileDialog&K1@0BL&Choose QFileDialog&#40;8BL&Delete QFileDialog&>20O ?0?:0 &New Folder QFileDialog&B:@KBL&Open QFileDialog&5@58<5=>20BL&Rename QFileDialog&!>E@0=8BL&Save QFileDialogb'%1' 70I8IQ= >B 70?8A8. AQ-@02=> E>B8B5 C40;8BL?9'%1' is write protected. Do you want to delete it anyway? QFileDialogA524>=8<Alias QFileDialogA5 D09;K (*) All Files (*) QFileDialogA5 D09;K (*.*)All Files (*.*) QFileDialogJK 459AB28B5;L=> E>B8B5 C40;8BL '%1'?!Are sure you want to delete '%1'? QFileDialog 0704Back QFileDialog65 C40;>AL C40;8BL :0B0;>3.Could not delete directory. QFileDialog!>740BL ?0?:CCreate New Folder QFileDialog>4@>1=K9 284 Detail View QFileDialog0B0;>38 Directories QFileDialog0B0;>3: Directory: QFileDialog8A:Drive QFileDialog$09;File QFileDialog&<O D09;0: File &name: QFileDialog0?:0 A D09;0<8 File Folder QFileDialog"8?K D09;>2:Files of type: QFileDialog09B8 :0B0;>3Find Directory QFileDialog 0?:0Folder QFileDialog ?5@Q4Forward QFileDialog !?8A>: List View QFileDialog5@59B8 ::Look in: QFileDialog>9 :><?LNB5@ My Computer QFileDialog>20O ?0?:0 New Folder QFileDialogB:@KBLOpen QFileDialog( >48B5;LA:89 :0B0;>3Parent Directory QFileDialog$5402=85 4>:C<5=BK Recent Places QFileDialog#40;8BLRemove QFileDialog!>E@0=8BL :0:Save As QFileDialog /@;K:Shortcut QFileDialog>:070BL Show  QFileDialog.>:070BL A:&@KBK5 D09;KShow &hidden files QFileDialog58725AB=K9Unknown QFileDialog %1 1%1 GBQFileSystemModel %1 1%1 KBQFileSystemModel %1 1%1 MBQFileSystemModel %1 "1%1 TBQFileSystemModel%1 109B%1 bytesQFileSystemModel<b><O "%1" =5 <>65B 1KBL 8A?>;L7>20=>.</b><p>>?@>1C9B5 8A?>;L7>20BL 8<O <5=LH59 4;8=K 8/8;8 157 A8<2>;>2 ?C=:BC0F88.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModel><?LNB5@ComputerQFileSystemModel0B0 87<5=5=8O Date ModifiedQFileSystemModel,5:>@@5:B=>5 8<O D09;0Invalid filenameQFileSystemModel84KindQFileSystemModel>9 :><?LNB5@ My ComputerQFileSystemModel<ONameQFileSystemModel  07<5@SizeQFileSystemModel"8?TypeQFileSystemModel N10OAny QFontDatabase@01A:0OArabic QFontDatabase@<O=A:0OArmenian QFontDatabase5=30;LA:0OBengali QFontDatabase 'Q@=K9Black QFontDatabase 8@=K9Bold QFontDatabase8@8;;8F0Cyrillic QFontDatabase!@54=89Demi QFontDatabase>;C68@=K9 Demi Bold QFontDatabase520=038@8 Devanagari QFontDatabase@C78=A:0OGeorgian QFontDatabase@5G5A:0OGreek QFontDatabaseC460@0B8Gujarati QFontDatabaseC@<C:E8Gurmukhi QFontDatabase 2@8BHebrew QFontDatabase C@A82Italic QFontDatabase/?>=A:0OJapanese QFontDatabase0==040Kannada QFontDatabaseE<5@A:0OKhmer QFontDatabase>@59A:0OKorean QFontDatabase0>AA:0OLao QFontDatabase0B8=8F0Latin QFontDatabase!25B;K9Light QFontDatabase0;09O;0< Malayalam QFontDatabase LO=<0Myanmar QFontDatabase1KG=K9Normal QFontDatabase0:;>==K9Oblique QFontDatabase30<8G5A:0OOgham QFontDatabase@8OOriya QFontDatabase C=8G5A:0ORunic QFontDatabase(8B09A:0O C?@>I5==0OSimplified Chinese QFontDatabase!8=30;LA:0OSinhala QFontDatabase!8<2>;L=0OSymbol QFontDatabase!8@89A:0OSyriac QFontDatabase"0<8;LA:0OTamil QFontDatabase "5;C3CTelugu QFontDatabase "00=0Thaana QFontDatabase"09A:0OThai QFontDatabase"815BA:0OTibetan QFontDatabase,8B09A:0O B@048F8>==0OTraditional Chinese QFontDatabaseL5B=0<A:0O Vietnamese QFontDatabase &(@8DB&Font QFontDialog& 07<5@&Size QFontDialog&>4GQ@:=CBK9 &Underline QFontDialog-DD5:BKEffects QFontDialog&0G5@B0=85 Font st&yle QFontDialog @8<5@Sample QFontDialogK1>@ H@8DB0 Select Font QFontDialog0GQ@&:=CBK9 Stri&keout QFontDialog&!8AB5<0 ?8AL<0Wr&iting System QFontDialog<5 C40;>AL A<5=8BL :0B0;>3: %1Changing directory failed: %1QFtp<!>548=5=85 A C7;>< CAB0=>2;5=>Connected to hostQFtpB#AB0=>2;5=> A>548=5=85 A C7;>< %1Connected to host %1QFtpD5 C40;>AL A>548=8BLAO A C7;><: %1Connecting to host failed: %1QFtp$!>548=5=85 70:@KB>Connection closedQFtpLB:07 2 A>548=5=88 4;O ?5@540G8 40==KE&Connection refused for data connectionQFtp@ A>548=5=88 A C7;>< %1 >B:070=>Connection refused to host %1QFtpL@5<O =0 A>548=5=85 A C7;>< %1 8AB5:;>Connection timed out to host %1QFtp.!>548=5=85 A %1 70:@KB>Connection to %1 closedQFtp<5 C40;>AL A>740BL :0B0;>3: %1Creating directory failed: %1QFtp:5 C40;>AL 703@C78BL D09;: %1Downloading file failed: %1QFtp#75; %1 =0945= Host %1 foundQFtp"#75; %1 =5 =0945=Host %1 not foundQFtp#75; =0945= Host foundQFtp@5 C40;>AL ?@>G8B0BL :0B0;>3: %1Listing directory failed: %1QFtp:5 C40;>AL 02B>@87>20BLAO: %1Login failed: %1QFtp2!>548=5=85 =5 CAB0=>2;5=> Not connectedQFtp<5 C40;>AL C40;8BL :0B0;>3: %1Removing directory failed: %1QFtp65 C40;>AL C40;8BL D09;: %1Removing file failed: %1QFtp$58725AB=0O >H81:0 Unknown errorQFtp:5 C40;>AL >B3@C78BL D09;: %1Uploading file failed: %1QFtp$58725AB=0O >H81:0 Unknown error QHostInfo#75; =5 =0945=Host not foundQHostInfoAgent*5:>@@5:B=>5 8<O C7;0Invalid hostnameQHostInfoAgent$<O C7;0 =5 7040=>No host name givenQHostInfoAgent,58725AB=K9 B8? 04@5A0Unknown address typeQHostInfoAgent$58725AB=0O >H81:0 Unknown errorQHostInfoAgent*"@51C5BAO 02B>@870F8OAuthentication requiredQHttp<!>548=5=85 A C7;>< CAB0=>2;5=>Connected to hostQHttpB#AB0=>2;5=> A>548=5=85 A C7;>< %1Connected to host %1QHttp$!>548=5=85 70:@KB>Connection closedQHttp*B:070=> 2 A>548=5=88Connection refusedQHttpd A>548=5=88 >B:070=> (8;8 2@5<O >6840=8O 8AB5:;>)!Connection refused (or timed out)QHttp:!>548=5=85 A C7;>< %1 70:@KB>Connection to %1 closedQHttp"0==K5 ?>2@5645=KData corruptedQHttpDH81:0 70?8A8 >B25B0 =0 CAB@>9AB2> Error writing response to deviceQHttp*HTTP-70?@>A =5 C40;AOHTTP request failedQHttp0?@>H5=> A>548=5=85 ?> ?@>B>:>;C HTTPS, => ?>445@6:0 SSL =5 A:><?8;8@>20=0:HTTPS connection requested but SSL support not compiled inQHttp#75; %1 =0945= Host %1 foundQHttp"#75; %1 =5 =0945=Host %1 not foundQHttp#75; =0945= Host foundQHttp0#75; B@51C5B 02B>@870F8NHost requires authenticationQHttpR5:>@@5:B=>5 HTTP-D@03<5=B8@>20=85 40==KEInvalid HTTP chunked bodyQHttpD5:>@@5:B=K9 HTTP-703>;>2>: >B25B0Invalid HTTP response headerQHttp@5 C:070= A5@25@ 4;O ?>4:;NG5=8ONo server set to connect toQHttpN"@51C5BAO 02B>@870F8O =0 ?@>:A8-A5@25@5Proxy authentication requiredQHttpB@>:A8-A5@25@ B@51C5B 02B>@870F8NProxy requires authenticationQHttp0?@>A ?@5@20=Request abortedQHttp628B8@>20=85 SSL =5 C40;>ALSSL handshake failedQHttpJ!5@25@ =5>6840==> @07>@20; A>548=5=85%Server closed connection unexpectedlyQHttp:58725AB=K9 <5B>4 02B>@870F88Unknown authentication methodQHttp$58725AB=0O >H81:0 Unknown errorQHttp6#:070= =58725AB=K9 ?@>B>:>;Unknown protocol specifiedQHttp4525@=0O 4;8=0 A>45@68<>3>Wrong content lengthQHttp*"@51C5BAO 02B>@870F8OAuthentication requiredQHttpSocketEngineN5 ?>;CG5= HTTP->B25B >B ?@>:A8-A5@25@0(Did not receive HTTP response from proxyQHttpSocketEngineXH81:0 >1<5=0 40==K<8 A ?@>:A8-A5@25@>< HTTP#Error communicating with HTTP proxyQHttpSocketEnginehH81:0 @071>@0 70?@>A0 02B>@870F88 >B ?@>:A8-A5@25@0/Error parsing authentication request from proxyQHttpSocketEngine^!>548=5=85 A ?@>:A8-A5@25@>< =5>6840==> 70:@KB>#Proxy connection closed prematurelyQHttpSocketEngineJ A>548=5=88 ?@>:A8-A5@25@>< >B:070=>Proxy connection refusedQHttpSocketEngineB@>:A8-A5@25@ 70?@5B8; A>548=5=85Proxy denied connectionQHttpSocketEngineZ@5<O =0 A>548=5=85 A ?@>:A8-A5@25@>< 8AB5:;>!Proxy server connection timed outQHttpSocketEngine.@>:A8-A5@25@ =5 =0945=Proxy server not foundQHttpSocketEngine85 C40;>AL =0G0BL B@0=70:F8NCould not start transaction QIBaseDriver6H81:0 >B:@KB8O 107K 40==KEError opening database QIBaseDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QIBaseDriver<52>7<>6=> >B>720BL B@0=70:F8NUnable to rollback transaction QIBaseDriverd5 C40;>AL ?>;CG8BL @5AC@AK 4;O A>740=8O 2K@065=8OCould not allocate statement QIBaseResultJ5 C40;>AL >?8A0BL 2E>4OI55 2K@065=85"Could not describe input statement QIBaseResult85 C40;>AL >?8A0BL 2K@065=85Could not describe statement QIBaseResultJ5 C40;>AL ?>;CG8BL A;54CNI89 M;5<5=BCould not fetch next item QIBaseResult.5 C40;>AL =09B8 <0AA82Could not find array QIBaseResult>5 C40;>AL =09B8 40==K5 <0AA820Could not get array data QIBaseResultJ5 C40;>AL =09B8 8=D>@<0F8N > 70?@>A5Could not get query info QIBaseResultN5 C40;>AL =09B8 8=D>@<0F8N > 2K@065=88Could not get statement info QIBaseResult@5 C40;>AL ?>43>B>28BL 2K@065=85Could not prepare statement QIBaseResult85 C40;>AL =0G0BL B@0=70:F8NCould not start transaction QIBaseResult852>7<>6=> 70:@KBL 2K@065=85Unable to close statement QIBaseResult>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QIBaseResult.52>7<>6=> A>740BL BLOBUnable to create BLOB QIBaseResult652>7<>6=> 2K?>;=8BL 70?@>AUnable to execute query QIBaseResult.52>7<>6=> >B:@KBL BLOBUnable to open BLOB QIBaseResult252>7<>6=> ?@>G8B0BL BLOBUnable to read BLOB QIBaseResult052>7<>6=> 70?8A0BL BLOBUnable to write BLOB QIBaseResultD5B A2>1>4=>3> <5AB0 =0 CAB@>9AB25No space left on device QIODevice<$09; 8;8 :0B0;>3 =5 ACI5AB2C5BNo such file or directory QIODevice>ABC? 70?@5IQ=Permission denied QIODevice:!;8H:>< <=>3> >B:@KBKE D09;>2Too many open files QIODevice$58725AB=0O >H81:0 Unknown error QIODevice&5B>4 22>40 S60 FEPFEP QInputContext(5B>4 22>40 Mac OS XMac OS X input method QInputContext&5B>4 22>40 S60 FEPS60 FEP input method QInputContext&5B>4 22>40 WindowsWindows input method QInputContext*5B>4 22>40 X-A5@25@0XIM QInputContext*5B>4 22>40 X-A5@25@0XIM input method QInputContext"#:068B5 7=0G5=85:Enter a value: QInputDialogL52>7<>6=> 703@C78BL 181;8>B5:C %1: %2Cannot load library %1: %2QLibraryR52>7<>6=> @07@5H8BL A8<2>; "%1" 2 %2: %3$Cannot resolve symbol "%1" in %2: %3QLibraryL52>7<>6=> 2K3@C78BL 181;8>B5:C %1: %2Cannot unload library %1: %2QLibraryD5 C40;>AL 2K?>;=8BL mmap '%1': %2Could not mmap '%1': %2QLibraryF5 C40;>AL 2K?>;=8BL unmap '%1': %2Could not unmap '%1': %2QLibraryf@>25@>G=0O 8=D>@<0F8O 4;O <>4C;O '%1' =5 A>2?0405B)Plugin verification data mismatch in '%1'QLibrary\$09; '%1' - =5 O2;O5BAO :>@@5:B=K< <>4C;5< Qt.'The file '%1' is not a valid Qt plugin.QLibrary>4C;L '%1' 8A?>;L7C5B =5A><5AB8<CN 181;8>B5:C Qt. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibrary>4C;L '%1' 8A?>;L7C5B =5A><5AB8<CN 181;8>B5:C Qt. (52>7<>6=> A>2<5AB8BL @5;87=K5 8 >B;04>G=K5 181;8>B5:8.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibrary>4C;L '%1' 8A?>;L7C5B =5A><5AB8<CN 181;8>B5:C Qt. 68405BAO :;NG "%2", => ?>;CG5= :;NG "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryF8=0<8G5A:0O 181;8>B5:0 =5 =0945=0.!The shared library was not found.QLibrary$58725AB=0O >H81:0 Unknown errorQLibrary&>?8@>20BL&Copy QLineEdit&AB028BL&Paste QLineEdit&&>2B>@8BL 459AB285&Redo QLineEdit$&B<5=8BL 459AB285&Undo QLineEdit&K@570BLCu&t QLineEdit#40;8BLDelete QLineEditK45;8BL 2AQ Select All QLineEdit,%1: 4@5A 8A?>;L7C5BAO%1: Address in use QLocalServer(%1: 5:>@@5:B=>5 8<O%1: Name error QLocalServer&%1: >ABC? 70?@5IQ=%1: Permission denied QLocalServer2%1: 58725AB=0O >H81:0 %2%1: Unknown error %2 QLocalServer*%1: H81:0 A>548=5=8O%1: Connection error QLocalSocket2%1: B:070=> 2 A>548=5=88%1: Connection refused QLocalSocket<%1: 0B03@0<<0 A;8H:>< 1>;LH0O%1: Datagram too large QLocalSocket(%1: 5:>@@5:B=>5 8<O%1: Invalid name QLocalSocket<%1: 0:@KB> C40;5==>9 AB>@>=>9%1: Remote closed QLocalSocket:%1: H81:0 >1@0I5=8O : A>:5BC%1: Socket access error QLocalSocketN%1: @5<O =0 >?5@0F8N A A>:5B>< 8AB5:;>%1: Socket operation timed out QLocalSocketH%1: H81:0 2K45;5=8O @5AC@A>2 A>:5B0%1: Socket resource error QLocalSocketP%1: ?5@0F8O A A>:5B>< =5 ?>445@68205BAO)%1: The socket operation is not supported QLocalSocket,%1: 58725AB=0O >H81:0%1: Unknown error QLocalSocket2%1: 58725AB=0O >H81:0 %2%1: Unknown error %2 QLocalSocket852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QMYSQLDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QMYSQLDriver,52>7<>6=> A>548=8BLAOUnable to connect QMYSQLDriver@52>7<>6=> >B:@KBL 107C 40==KE 'Unable to open database ' QMYSQLDriver<52>7<>6=> >B>720BL B@0=70:F8NUnable to rollback transaction QMYSQLDriverX52>7<>6=> ?@82O70BL @57C;LB8@CNI85 7=0G5=8OUnable to bind outvalues QMYSQLResult:52>7<>6=> ?@82O70BL 7=0G5=85Unable to bind value QMYSQLResultJ52>7<>6=> 2K?>;=8BL A;54CNI89 70?@>AUnable to execute next query QMYSQLResult652>7<>6=> 2K?>;=8BL 70?@>AUnable to execute query QMYSQLResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QMYSQLResult452>7<>6=> ?>;CG8BL 40==K5Unable to fetch data QMYSQLResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QMYSQLResult:52>7<>6=> A1@>A8BL 2K@065=85Unable to reset statement QMYSQLResultP52>7<>6=> A>E@0=8BL A;54CNI89 @57C;LB0BUnable to store next result QMYSQLResult<52>7<>6=> A>E@0=8BL @57C;LB0BUnable to store result QMYSQLResulth52>7<>6=> A>E@0=8BL @57C;LB0BK 2K?>;=5=8O 2K@065=8O!Unable to store statement results QMYSQLResult(5>703;02;5=>) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&0:@KBL&Close QMdiSubWindow&5@5<5AB8BL&Move QMdiSubWindow&>AAB0=>28BL&Restore QMdiSubWindow& 07<5@&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindow0:@KBLClose QMdiSubWindow!?@02:0Help QMdiSubWindow &0A?0E=CBL Ma&ximize QMdiSubWindow 0A?0E=CBLMaximize QMdiSubWindow5=NMenu QMdiSubWindow&!25@=CBL Mi&nimize QMdiSubWindow!25@=CBLMinimize QMdiSubWindow>AAB0=>28BLRestore QMdiSubWindow>AAB0=>28BL Restore Down QMdiSubWindow(!25@=CBL 2 703>;>2>:Shade QMdiSubWindow$AB020BLAO &A25@EC Stay on &Top QMdiSubWindow2>AAB0=>28BL 87 703>;>2:0Unshade QMdiSubWindow0:@KBLCloseQMenuK?>;=8BLExecuteQMenuB:@KBLOpenQMenu59AB28OActionsQMenuBarz<h3> Qt</h3><p>0==0O ?@>3@0<<0 8A?>;L7C5B Qt 25@A88 %1.</p>8

About Qt

This program uses Qt version %1.

 QMessageBox <p>Qt - MB> 8=AB@C<5=B0@89 4;O @07@01>B:8 :@>AA?;0BD>@<5==KE ?@8;>65=89 =0 C++.</p><p>Qt ?@54>AB02;O5B A>2<5AB8<>ABL =0 C@>2=5 8AE>4=KE B5:AB>2 <564C MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux 8 2A5<8 ?>?C;O@=K<8 :><<5@G5A:8<8 20@80=B0<8 Unix. "0:65 Qt 4>ABC?=0 4;O 2AB@08205<KE CAB@>9AB2 2 2845 Qt 4;O Embedded Linux 8 Qt 4;O Windows CE.</p><p>Qt 4>ABC?=0 ?>4 B@5<O @07;8G=K<8 ;8F5=78O<8, @07@01>B0==K<8 4;O C4>2;5B2>@5=8O @07;8G=KE B@51>20=89.</p><p>Qt ?>4 =0H59 :><<5@G5A:>9 ;8F5=7859 ?@54=07=0G5=0 4;O @0728B8O ?@>?@85B0@=>3>/:><<5@G5A:>3> ?@>3@0<<=>3> >15A?5G5=8O, :>340 K =5 65;05B5 ?@54>AB02;OBL 8AE>4=K5 B5:ABK B@5BL8< AB>@>=0<, 8;8 2 A;CG05 =52>7<>6=>AB8 ?@8=OB8O CA;>289 ;8F5=789 GNU LGPL 25@A88 2.1 8;8 GNU GPL 25@A88 3.0.</p><p>Qt ?>4 ;8F5=7859 GNU LGPL 25@A88 2.1 ?@54=07=0G5=0 4;O @07@01>B:8 ?@>3@0<<=>3> >15A?5G5=8O A >B:@KBK<8 8AE>4=K<8 B5:AB0<8 8;8 :><<5@G5A:>3> ?@>3@0<<=>3> >15A?5G5=8O ?@8 A>1;N45=88 CA;>289 ;8F5=788 GNU LGPL 25@A88 2.1.</p><p>Qt ?>4 ;8F5=7859 GNU General Public License 25@A88 3.0 ?@54=07=0G5=0 4;O @07@01>B:8 ?@>3@0<<=KE ?@8;>65=89 2 B5E A;CG0OE, :>340 K E>B5;8 1K 8A?>;L7>20BL B0:85 ?@8;>65=8O 2 A>G5B0=88 A ?@>3@0<<=K< >15A?5G5=85< =0 CA;>28OE ;8F5=788 GNU GPL A 25@A88 3.0 8;8 5A;8 K 3>B>2K A>1;N40BL CA;>28O ;8F5=788 GNU GPL 25@A88 3.0.</p><p>1@0B8B5AL : <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> 4;O >17>@0 ;8F5=789 Qt.</p><p>Copyright (C) 2010 >@?>@0F8O Nokia 8/8;8 5Q 4>G5@=85 ?>4@0745;5=8O.</p><p>Qt - ?@>4C:B :><?0=88 Nokia. 1@0B8B5AL : <a href="http://qt.nokia.com/">qt.nokia.com</a> 4;O ?>;CG5=8O 4>?>;=8B5;L=>9 8=D>@<0F88.</p>

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across MS Windows, Mac OS X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.

Qt is available under three different licensing options designed to accommodate the needs of our various users.

Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.

Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.

Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.

Please see qt.nokia.com/products/licensing for an overview of Qt licensing.

Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).

Qt is a Nokia product. See qt.nokia.com for more information.

 QMessageBox QtAbout Qt QMessageBox!?@02:0Help QMessageBox*!:@KBL ?>4@>1=>AB8...Hide Details... QMessageBox0:@KBLOK QMessageBox.>:070BL ?>4@>1=>AB8...Show Details... QMessageBox$K1>@ @568<0 22>40 Select IMQMultiInputContextR5@5:;NG0B5;L @568<0 <=>65AB25==>3> 22>40Multiple input method switcherQMultiInputContextPlugin5@5:;NG0B5;L @568<0 <=>65AB25==>3> 22>40, 8A?>;L7C5<K9 2 :>=B5:AB=>< <5=N B5:AB>2KE 28465B>2MMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginN@C3>9 A>:5B C65 ?@>A;CH8205B MB>B ?>@B4Another socket is already listening on the same portQNativeSocketEngine|>?KB:0 8A?>;L7>20BL IPv6 =0 ?;0BD>@<5, =5 ?>445@6820NI59 IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine*B:070=> 2 A>548=5=88Connection refusedQNativeSocketEngine6@5<O =0 A>548=5=85 8AB5:;>Connection timed outQNativeSocketEngineN0B03@0<<0 A;8H:>< 1>;LH0O 4;O >B?@02:8Datagram was too large to sendQNativeSocketEngine#75; =54>ABC?5=Host unreachableQNativeSocketEngine<5:>@@5:B=K9 45A:@8?B>@ A>:5B0Invalid socket descriptorQNativeSocketEngineH81:0 A5B8 Network errorQNativeSocketEngineB@5<O =0 A5B52CN >?5@0F8N 8AB5:;>Network operation timed outQNativeSocketEngine!5BL =54>ABC?=0Network unreachableQNativeSocketEngine*?5@0F8O A =5-A>:5B><Operation on non-socketQNativeSocketEngine*54>AB0B>G=> @5AC@A>2Out of resourcesQNativeSocketEngine>ABC? 70?@5IQ=Permission deniedQNativeSocketEngine4@>B>:>; =5 ?>445@68205BAOProtocol type not supportedQNativeSocketEngine 4@5A =54>ABC?5=The address is not availableQNativeSocketEngine4@5A 70I8IQ=The address is protectedQNativeSocketEngine,4@5A C65 8A?>;L7C5BAO#The bound address is already in useQNativeSocketEnginef5:>@@5:B=K9 B8? ?@>:A8-A5@25@0 4;O 40==>9 >?5@0F88,The proxy type is invalid for this operationQNativeSocketEngine@#40;Q==K9 C75; 70:@K; A>548=5=85%The remote host closed the connectionQNativeSocketEnginef52>7<>6=> 8=8F80;878@>20BL H8@>:>25I0B5;L=K9 A>:5B%Unable to initialize broadcast socketQNativeSocketEngineX52>7<>6=> 8=8F80;878@>20BL =5-1;>G=K9 A>:5B(Unable to initialize non-blocking socketQNativeSocketEngine:52>7<>6=> ?>;CG8BL A>>1I5=85Unable to receive a messageQNativeSocketEngine<52>7<>6=> >B?@028BL A>>1I5=85Unable to send a messageQNativeSocketEngine&52>7<>6=> 70?8A0BLUnable to writeQNativeSocketEngine$58725AB=0O >H81:0 Unknown errorQNativeSocketEngineH?5@0F8O A A>:5B>< =5 ?>445@68205BAOUnsupported socket operationQNativeSocketEngine$H81:0 >B:@KB8O %1Error opening %1QNetworkAccessCacheBackend,H81:0 70?8A8 2 %1: %2Write error writing to %1: %2QNetworkAccessDebugPipeBackendZ52>7<>6=> >B:@KBL %1: #:070= ?CBL : :0B0;>3C#Cannot open %1: Path is a directoryQNetworkAccessFileBackend,H81:0 >B:@KB8O %1: %2Error opening %1: %2QNetworkAccessFileBackend.H81:0 GB5=8O 87 %1: %2Read error reading from %1: %2QNetworkAccessFileBackend`0?@>A =0 >B:@KB85 D09;0 2=5 D09;>2>9 A8AB5<K %1%Request for opening non-local file %1QNetworkAccessFileBackend,H81:0 70?8A8 2 %1: %2Write error writing to %1: %2QNetworkAccessFileBackendZ52>7<>6=> >B:@KBL %1: #:070= ?CBL : :0B0;>3CCannot open %1: is a directoryQNetworkAccessFtpBackendBH81:0 2 ?@>F5AA5 703@C7:8 %1: %2Error while downloading %1: %2QNetworkAccessFtpBackendBH81:0 2 ?@>F5AA5 >B3@C7:8 %1: %2Error while uploading %1: %2QNetworkAccessFtpBackendb!>548=5=85 A %1 =5 C40;>AL: B@51C5BAO 02B>@870F8O0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackendD>4E>4OI89 ?@>:A8-A5@25@ =5 =0945=No suitable proxy foundQNetworkAccessFtpBackendD>4E>4OI89 ?@>:A8-A5@25@ =5 =0945=No suitable proxy foundQNetworkAccessHttpBackendLH81:0 703@C7:8 %1 - >B25B A5@25@0: %2)Error downloading %1 - server replied: %2 QNetworkReply258725AB=K9 ?@>B>:>; "%1"Protocol "%1" is unknown QNetworkReply"?5@0F8O >B<5=5=0Operation canceledQNetworkReplyImpl852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QOCIDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QOCIDriver652>7<>6=> 8=8F80;878@>20BLUnable to initialize QOCIDriver252>7<>6=> 02B>@87>20BLAOUnable to logon QOCIDriver<52>7<>6=> >B>720BL B@0=70:F8NUnable to rollback transaction QOCIDriver852>7<>6=> A>740BL 2K@065=85Unable to alloc statement QOCIResultj52>7<>6=> ?@82O70BL AB>;15F 4;O ?0:5B=>3> 2K?>;=5=8O'Unable to bind column for batch execute QOCIResultX52>7<>6=> ?@82O70BL @57C;LB8@CNI85 7=0G5=8OUnable to bind value QOCIResultN52>7<>6=> 2K?>;=8BL ?0:5B=>5 2K@065=85!Unable to execute batch statement QOCIResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QOCIResultF52>7<>6=> >?@545;8BL B8? 2K@065=8OUnable to get statement type QOCIResultJ52>7<>6=> ?5@59B8 : A;54CNI59 AB@>:5Unable to goto next QOCIResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QOCIResult>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QODBCDriver,52>7<>6=> A>548=8BLAOUnable to connect QODBCDriver52>7<>6=> A>548=8BLAO - @0925@ =5 ?>445@68205B B@51C5<K9 DC=:F8>=0;EUnable to connect - Driver doesn't support all functionality required QODBCDriver\52>7<>6=> >B:;NG8BL 02B>7025@H5=85 B@0=70:F89Unable to disable autocommit QODBCDriverZ52>7<>6=> 2:;NG8BL 02B>7025@H5=85 B@0=70:F89Unable to enable autocommit QODBCDriver<52>7<>6=> >B>720BL B@0=70:F8NUnable to rollback transaction QODBCDriverQODBCResult::reset: 52>7<>6=> CAB0=>28BL 'SQL_CURSOR_STATIC' 0B@81CB>< 2K@065=85. @>25@LB5 =0AB@>9:8 4@0925@0 ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult:52>7<>6=> ?@82O70BL 7=0G5=85Unable to bind variable QODBCResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QODBCResult452>7<>6=> ?>;CG8BL 40==K5Unable to fetch QODBCResultB52>7<>6=> ?>;CG8BL ?5@2CN AB@>:CUnable to fetch first QODBCResultH52>7<>6=> ?>;CG8BL ?>A;54=NN AB@>:CUnable to fetch last QODBCResultH52>7<>6=> ?>;CG8BL A;54CNICN AB@>:CUnable to fetch next QODBCResultJ52>7<>6=> ?>;CG8BL ?@54K4CICN AB@>:CUnable to fetch previous QODBCResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QODBCResult(5:>@@5:B=K9 URI: %1Invalid URI: %1QObject*5:>@@5:B=>5 8<O C7;0Invalid hostnameQObject$<O C7;0 =5 7040=>No host name givenQObjectB?5@0F8O =5 ?>445@68205BAO 4;O %1Operation not supported on %1QObjectf#40;Q==K9 C75; =5>6840==> ?@5@20; A>548=5=85 4;O %13Remote host closed the connection prematurely on %1QObject.H8:0 A>:5B0 4;O %1: %2Socket error on %1: %2QObject<ONameQPPDOptionsModel=0G5=85ValueQPPDOptionsModel85 C40;>AL =0G0BL B@0=70:F8NCould not begin transaction QPSQLDriver>5 C40;>AL 7025@H8BL B@0=70:F8NCould not commit transaction QPSQLDriver<5 C40;>AL >B>720BL B@0=70:F8NCould not rollback transaction QPSQLDriver,52>7<>6=> A>548=8BLAOUnable to connect QPSQLDriver,52>7<>6=> ?>4?8A0BLAOUnable to subscribe QPSQLDriver*52>7<>6=> >B?8A0BLAOUnable to unsubscribe QPSQLDriver252>7<>6=> A>740BL 70?@>AUnable to create query QPSQLResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QPSQLResult!0=B8<5B@K (cm)Centimeters (cm)QPageSetupWidget $>@<0FormQPageSetupWidgetKA>B0:Height:QPageSetupWidgetN9<K (in) Inches (in)QPageSetupWidget;L1><=0O LandscapeQPageSetupWidget>;OMarginsQPageSetupWidget8;;8<5B@K (mm)Millimeters (mm)QPageSetupWidget@85=B0F8O OrientationQPageSetupWidget  07<5@ AB@0=8FK: Page size:QPageSetupWidget C<030PaperQPageSetupWidget AB>G=8: 1C<038: Paper source:QPageSetupWidget">G:8 (pt) Points (pt)QPageSetupWidget=86=0OPortraitQPageSetupWidget,5@52Q@=CB0O 0;L1><=0OReverse landscapeQPageSetupWidget(5@52Q@=CB0O :=86=0OReverse portraitQPageSetupWidget(8@8=0:Width:QPageSetupWidget=86=55 ?>;5 bottom marginQPageSetupWidget;52>5 ?>;5 left marginQPageSetupWidget?@02>5 ?>;5 right marginQPageSetupWidget25@E=55 ?>;5 top marginQPageSetupWidget.>4C;L =5 1K; 703@C65=.The plugin was not loaded. QPluginLoader$58725AB=0O >H81:0 Unknown error QPluginLoaderN%1 C65 ACI5AB2C5B. %>B8B5 70<5=8BL 53>?/%1 already exists. Do you want to overwrite it? QPrintDialogX%1 - MB> :0B0;>3. K15@8B5 4@C3>5 8<O D09;0.7%1 is a directory. Please choose a different file name. QPrintDialog&0@0<5B@K << &Options << QPrintDialog&0@0<5B@K >> &Options >> QPrintDialog&5G0BL&Print QPrintDialog2<qt>%>B8B5 70<5=8BL?</qt>%Do you want to overwrite it? QPrintDialogA0A0 QPrintDialog$A0 (841 x 1189 <<)A0 (841 x 1189 mm) QPrintDialogA1A1 QPrintDialog"A1 (594 x 841 <<)A1 (594 x 841 mm) QPrintDialogA2A2 QPrintDialog"A2 (420 x 594 <<)A2 (420 x 594 mm) QPrintDialogA3A3 QPrintDialog"A3 (297 x 420 <<)A3 (297 x 420 mm) QPrintDialogA4A4 QPrintDialogJA4 (210 x 297 <<, 8.26 x 11.7 4N9<>2)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialogA5A5 QPrintDialog"A5 (148 x 210 <<)A5 (148 x 210 mm) QPrintDialogA6A6 QPrintDialog"A6 (105 x 148 <<)A6 (105 x 148 mm) QPrintDialogA7A7 QPrintDialog A7 (74 x 105 <<)A7 (74 x 105 mm) QPrintDialogA8A8 QPrintDialogA8 (52 x 74 <<)A8 (52 x 74 mm) QPrintDialogA9A9 QPrintDialogA9 (37 x 52 <<)A9 (37 x 52 mm) QPrintDialogA524>=8<K: %1 Aliases: %1 QPrintDialogB0B0 QPrintDialog&B0 (1000 x 1414 <<)B0 (1000 x 1414 mm) QPrintDialogB1B1 QPrintDialog$B1 (707 x 1000 <<)B1 (707 x 1000 mm) QPrintDialogB10B10 QPrintDialog B10 (31 x 44 <<)B10 (31 x 44 mm) QPrintDialogB2B2 QPrintDialog"B2 (500 x 707 <<)B2 (500 x 707 mm) QPrintDialogB3B3 QPrintDialog"B3 (353 x 500 <<)B3 (353 x 500 mm) QPrintDialogB4B4 QPrintDialog"B4 (250 x 353 <<)B4 (250 x 353 mm) QPrintDialogB5B5 QPrintDialogJB5 (176 x 250 <<, 6.93 x 9.84 4N9<>2)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialogB6B6 QPrintDialog"B6 (125 x 176 <<)B6 (125 x 176 mm) QPrintDialogB7B7 QPrintDialog B7 (88 x 125 <<)B7 (88 x 125 mm) QPrintDialogB8B8 QPrintDialogB8 (62 x 88 <<)B8 (62 x 88 mm) QPrintDialogB9B9 QPrintDialogB9 (44 x 62 <<)B9 (44 x 62 mm) QPrintDialogC5EC5E QPrintDialog$C5E (163 x 229 <<)C5E (163 x 229 mm) QPrintDialog >;L7>20B5;LA:89Custom QPrintDialogDLEDLE QPrintDialog$DLE (110 x 220 <<)DLE (110 x 220 mm) QPrintDialogExecutive Executive QPrintDialogRExecutive (191 x 254 <<, 7.5 x 10 4N9<>2))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogh%1 =54>ABC?5= 4;O 70?8A8. K15@8B5 4@C3>5 8<O D09;0.=File %1 is not writable. Please choose a different file name. QPrintDialog$09; ACI5AB2C5B File exists QPrintDialog FolioFolio QPrintDialog(Folio (210 x 330 <<)Folio (210 x 330 mm) QPrintDialog LedgerLedger QPrintDialog*Ledger (432 x 279 <<)Ledger (432 x 279 mm) QPrintDialog LegalLegal QPrintDialogJLegal (216 x 356 <<, 8.5 x 14 4N9<>2)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialog LetterLetter QPrintDialogLLetter (216 x 279 <<, 8.5 x 11 4N9<>2)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialog>:0;L=K9 D09; Local file QPrintDialog0:@KBLOK QPrintDialog 5G0BLPrint QPrintDialog"5G0BL 2 D09; ...Print To File ... QPrintDialog5G0B0BL 2A5 Print all QPrintDialog"5G0B0BL 480?07>= Print range QPrintDialog&K45;5==K9 D@03<5=BPrint selection QPrintDialog&5G0BL 2 D09; (PDF)Print to File (PDF) QPrintDialog45G0BL 2 D09; (Postscript)Print to File (Postscript) QPrintDialogTabloidTabloid QPrintDialog,Tabloid (279 x 432 <<)Tabloid (279 x 432 mm) QPrintDialogb=0G5=85 '>B' =5 <>65B 1KBL 1>;LH5 7=0G5=8O '4>'.7The 'From' value cannot be greater than the 'To' value. QPrintDialog,US Common #10 EnvelopeUS Common #10 Envelope QPrintDialog6>=25@B US #10 (105x241 <<)%US Common #10 Envelope (105 x 241 mm) QPrintDialog0?8AL %1 D09;0 Write %1 file QPrintDialog$A>548=5=> ;>:0;L=>locally connected QPrintDialog=58725AB=>unknown QPrintDialog%1%%1%QPrintPreviewDialog-:A?>@B 2 PDF Export to PDFQPrintPreviewDialog(-:A?>@B 2 PostscriptExport to PostScriptQPrintPreviewDialog5@20O AB@0=8F0 First pageQPrintPreviewDialog0 2AN AB@0=8FCFit pageQPrintPreviewDialog> H8@8=5 Fit widthQPrintPreviewDialog;L1><=0O LandscapeQPrintPreviewDialog$>A;54=OO AB@0=8F0 Last pageQPrintPreviewDialog$!;54CNI0O AB@0=8F0 Next pageQPrintPreviewDialog$0@0<5B@K AB@0=8FK Page SetupQPrintPreviewDialog$0@0<5B@K AB@0=8FK Page setupQPrintPreviewDialog=86=0OPortraitQPrintPreviewDialog&@54K4CI0O AB@0=8F0 Previous pageQPrintPreviewDialog 5G0BLPrintQPrintPreviewDialog@>A<>B@ ?5G0B8 Print PreviewQPrintPreviewDialog6>:070BL B8BC;L=K5 AB@0=8FKShow facing pagesQPrintPreviewDialog6>:070BL >17>@ 2A5E AB@0=8FShow overview of all pagesQPrintPreviewDialog,>:070BL >4=C AB@0=8FCShow single pageQPrintPreviewDialog#25;8G8BLZoom inQPrintPreviewDialog#<5=LH8BLZoom outQPrintPreviewDialog>?>;=8B5;L=>AdvancedQPrintPropertiesWidget $>@<0FormQPrintPropertiesWidget!B@0=8F0PageQPrintPropertiesWidget( 07>1@0BL ?@> :>?8O<CollateQPrintSettingsOutput&25BColorQPrintSettingsOutput 568< F25B0 Color ModeQPrintSettingsOutput >?88CopiesQPrintSettingsOutput">;8G5AB2> :>?89:Copies:QPrintSettingsOutput&2CAB>@>==OO ?5G0BLDuplex PrintingQPrintSettingsOutput $>@<0FormQPrintSettingsOutputBB5=:8 A5@>3> GrayscaleQPrintSettingsOutput$> 4;8==>9 AB>@>=5 Long sideQPrintSettingsOutput5BNoneQPrintSettingsOutput0@0<5B@KOptionsQPrintSettingsOutput 0AB@>9:8 2K2>40Output SettingsQPrintSettingsOutput!B@0=8FK >B Pages fromQPrintSettingsOutputA5 Print allQPrintSettingsOutput80?07>= ?5G0B8 Print rangeQPrintSettingsOutput 1@0B=K9 ?>@O4>:ReverseQPrintSettingsOutput&K45;5==K9 D@03<5=B SelectionQPrintSettingsOutput&> :>@>B:>9 AB>@>=5 Short sideQPrintSettingsOutput4>toQPrintSettingsOutput&0720=85:&Name: QPrintWidget...... QPrintWidget $>@<0Form QPrintWidget 0A?>;>65=85: Location: QPrintWidgetK2>4 2 &D09;: Output &file: QPrintWidget!&2>9AB20 P&roperties QPrintWidget@>A<>B@Preview QPrintWidget@8=B5@Printer QPrintWidget"8?:Type: QPrintWidgetf5 C40;>AL >B:@KBL ?5@5=0?@02;5=85 22>40 4;O GB5=8O,Could not open input redirection for readingQProcessh5 C40;>AL >B:@KBL ?5@5=0?@02;5=85 2K2>40 4;O 70?8A8-Could not open output redirection for writingQProcessFH81:0 ?>;CG5=8O 40==KE >B ?@>F5AA0Error reading from processQProcess>H81:0 >B?@02:8 40==KE ?@>F5AACError writing to processQProcess(@>3@0<<0 =5 C:070=0No program definedQProcess8@>F5AA 7025@H8;AO A >H81:>9Process crashedQProcess@5 C40;>AL 70?CAB8BL ?@>F5AA: %1Process failed to start: %1QProcessJ@5<O =0 >?5@0F8N A ?@>F5AA>< 8AB5:;>Process operation timed outQProcessRH81:0 2K45;5=8O @5AC@A>2 (A1>9 fork): %1!Resource error (fork failure): %1QProcess B<5=0CancelQProgressDialogB:@KBLOpen QPushButtonB<5B8BLCheck QRadioButtonL=5?@028;L=K9 A8=B0:A8A :;0AA0 A8<2>;>2bad char class syntaxQRegExpL=5?@028;L=K9 ?@5420@8B5;L=K9 A8=B0:A8Abad lookahead syntaxQRegExpB=5?@028;L=K9 A8=B0:A8A ?>2B>@5=8Obad repetition syntaxQRegExpL8A?>;L7>20=85 >B:;NGQ==KE 2>7<>6=>AB59disabled feature usedQRegExp,=5:>@@5:B=0O :0B53>@8Oinvalid categoryQRegExp*=5:>@@5:B=K9 8=B5@20;invalid intervalQRegExpD=5:>@@5:B=>5 2>AL<5@8G=>5 7=0G5=85invalid octal valueQRegExpB4>AB83=CB> 2=CB@5==55 >3@0=8G5=85met internal limitQRegExp:>BACBAB2C5B ;52K9 @0745;8B5;Lmissing left delimQRegExp$>H81:8 >BACBAB2CNBno error occurredQRegExp"=5>6840==K9 :>=5Funexpected endQRegExp6H81:0 >B:@KB8O 107K 40==KEError opening databaseQSQLite2Driver852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transactionQSQLite2Driver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transactionQSQLite2Driver<52>7<>6=> >B>720BL B@0=70:F8NUnable to rollback transactionQSQLite2Driver<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statementQSQLite2Result<52>7<>6=> ?>;CG8BL @57C;LB0BKUnable to fetch resultsQSQLite2Result6H81:0 70:@KB8O 107K 40==KEError closing database QSQLiteDriver6H81:0 >B:@KB8O 107K 40==KEError opening database QSQLiteDriver852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QSQLiteDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QSQLiteDriver<52>7<>6=> >B>720BL B@0=70:F8NUnable to rollback transaction QSQLiteDriver$BACBAB2C5B 70?@>ANo query QSQLiteResultD>;8G5AB2> ?0@0<5B@>2 =5 A>2?0405BParameter count mismatch QSQLiteResult:52>7<>6=> ?@82O70BL ?0@0<5B@Unable to bind parameters QSQLiteResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QSQLiteResult452>7<>6=> ?>;CG8BL AB@>:CUnable to fetch row QSQLiteResult:52>7<>6=> A1@>A8BL 2K@065=85Unable to reset statement QSQLiteResult#A;>285 ConditionQScriptBreakpointsModel>?040=89 Hit-countQScriptBreakpointsModelIDIDQScriptBreakpointsModel@>?CAB8BL Ignore-countQScriptBreakpointsModel 07<5I5=85LocationQScriptBreakpointsModel48= @07 Single-shotQScriptBreakpointsModel#40;8BLDeleteQScriptBreakpointsWidget >20ONewQScriptBreakpointsWidget(&09B8 2 AF5=0@88...&Find in Script...QScriptDebugger G8AB8BL :>=A>;L Clear ConsoleQScriptDebugger2G8AB8BL >B;04>G=K9 2K2>4Clear Debug OutputQScriptDebugger,G8AB8BL 6C@=0; >H81>:Clear Error LogQScriptDebugger@>4>;68BLContinueQScriptDebugger Ctrl+FCtrl+FQScriptDebuggerCtrl+F10Ctrl+F10QScriptDebugger Ctrl+GCtrl+GQScriptDebuggerB;04:0DebugQScriptDebuggerF10F10QScriptDebuggerF11F11QScriptDebuggerF3F3QScriptDebuggerF5F5QScriptDebuggerF9F9QScriptDebugger 09B8 &A;54CNI55 Find &NextQScriptDebugger"09B8 &?@54K4CI55Find &PreviousQScriptDebugger 5@59B8 : AB@>:5 Go to LineQScriptDebugger@5@20BL InterruptQScriptDebugger!B@>:0:Line:QScriptDebugger(K?>;=8BL 4> :C@A>@0 Run to CursorQScriptDebugger8K?>;=8BL 4> =>2>3> AF5=0@8ORun to New ScriptQScriptDebuggerShift+F11 Shift+F11QScriptDebuggerShift+F3Shift+F3QScriptDebuggerShift+F5Shift+F5QScriptDebugger>9B8 2 Step IntoQScriptDebugger K9B8 87 DC=:F88Step OutQScriptDebugger5@59B8 G5@57 Step OverQScriptDebugger@#AB0=>28BL/C1@0BL B>G:C >AB0=>20Toggle BreakpointQScriptDebugger<img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;>8A: A =0G0;0J Search wrappedQScriptDebuggerCodeFinderWidget"#G8BK20BL @538AB@Case SensitiveQScriptDebuggerCodeFinderWidget0:@KBLCloseQScriptDebuggerCodeFinderWidget!;54CNI89NextQScriptDebuggerCodeFinderWidget@54K4CI89PreviousQScriptDebuggerCodeFinderWidget!;>20 F5;8:>< Whole wordsQScriptDebuggerCodeFinderWidget0720=85NameQScriptDebuggerLocalsModel=0G5=85ValueQScriptDebuggerLocalsModel#@>25=LLevelQScriptDebuggerStackModel 07<5I5=85LocationQScriptDebuggerStackModel0720=85NameQScriptDebuggerStackModel.#A;>285 B>G:8 >AB0=>20:Breakpoint Condition: QScriptEdit*#1@0BL B>G:C >AB0=>20Disable Breakpoint QScriptEdit2#AB0=>28BL B>G:C >AB0=>20Enable Breakpoint QScriptEdit@#AB0=>28BL/C1@0BL B>G:C >AB0=>20Toggle Breakpoint QScriptEdit">G:8 >AB0=>20 BreakpointsQScriptEngineDebugger>=A>;LConsoleQScriptEngineDebugger B;04>G=K9 2K2>4 Debug OutputQScriptEngineDebuggerC@=0; >H81>: Error LogQScriptEngineDebugger(03@C65==K5 AF5=0@88Loaded ScriptsQScriptEngineDebugger(>:0;L=K5 ?5@5<5==K5LocalsQScriptEngineDebugger*B;04G8: AF5=0@852 QtQt Script DebuggerQScriptEngineDebugger >8A:SearchQScriptEngineDebugger!B5:StackQScriptEngineDebugger84ViewQScriptEngineDebugger0:@KBLCloseQScriptNewBreakpointWidget=87Bottom QScrollBar ;52>9 3@0=8F5 Left edge QScrollBar0 AB@>:C 2=87 Line down QScrollBar0 AB@>:C 225@ELine up QScrollBar 0 AB@0=8FC 2=87 Page down QScrollBar"0 AB@0=8FC 2;52> Page left QScrollBar$0 AB@0=8FC 2?@02> Page right QScrollBar"0 AB@0=8FC 225@EPage up QScrollBar>;>65=85Position QScrollBar  ?@02>9 3@0=8F5 Right edge QScrollBar@>:@CB8BL 2=87 Scroll down QScrollBar@>:@CB8BL AN40 Scroll here QScrollBar @>:@CB8BL 2;52> Scroll left QScrollBar"@>:@CB8BL 2?@02> Scroll right QScrollBar @>:@CB8BL 225@E Scroll up QScrollBar 25@ETop QScrollBarR%1: A?5F8D8G5A:89 :;NG UNIX =5 ACI5AB2C5B%1: UNIX key file doesn't exist QSharedMemory$%1: C65 ACI5AB2C5B%1: already exists QSharedMemory,%1: @07<5@ <5=LH5 =C;O%1: create size is less then 0 QSharedMemory"%1: =5 ACI5AB2C5B%1: doesn't exist QSharedMemory"%1: =5 ACI5AB2C5B%1: doesn't exists QSharedMemory%1: >H81:0 ftok%1: ftok failed QSharedMemory.%1: =5:>@@5:B=K9 @07<5@%1: invalid size QSharedMemory*%1: =5:>@@5:B=K9 :;NG %1: key error QSharedMemory%1: ?CAB>9 :;NG%1: key is empty QSharedMemory$%1: =5 ?@8;>65==K9%1: not attached QSharedMemory2%1: =54>AB0B>G=> @5AC@A>2%1: out of resources QSharedMemory&%1: 4>ABC? 70?@5IQ=%1: permission denied QSharedMemory>%1: =5 C40;>AL 70?@>A8BL @07<5@%1: size query failed QSharedMemoryV%1: A8AB5<>9 =0;>65=K >3@0=8G5=8O =0 @07<5@$%1: system-imposed size restrictions QSharedMemory8%1: =52>7<>6=> 701;>:8@>20BL%1: unable to lock QSharedMemory6%1: =52>7<>6=> A>740BL :;NG%1: unable to make key QSharedMemoryX%1: =52>7<>6=> CAB0=>28BL :;NG =0 1;>:8@>2:C%1: unable to set key on lock QSharedMemory:%1: =52>7<>6=> @071;>:8@>20BL%1: unable to unlock QSharedMemory2%1: =58725AB=0O >H81:0 %2%1: unknown error %2 QSharedMemory 0704Back QShortcut#40;8BLDelete QShortcut71@0==>5 Favorites QShortcut ?5@Q4Forward QShortcut!?@02:0Help QShortcutAB028BLInsert QShortcut0?CAB8BL (0) Launch (0) QShortcut0?CAB8BL (1) Launch (1) QShortcut0?CAB8BL (2) Launch (2) QShortcut0?CAB8BL (3) Launch (3) QShortcut0?CAB8BL (4) Launch (4) QShortcut0?CAB8BL (5) Launch (5) QShortcut0?CAB8BL (6) Launch (6) QShortcut0?CAB8BL (7) Launch (7) QShortcut0?CAB8BL (8) Launch (8) QShortcut0?CAB8BL (9) Launch (9) QShortcut0?CAB8BL (A) Launch (A) QShortcut0?CAB8BL (B) Launch (B) QShortcut0?CAB8BL (C) Launch (C) QShortcut0?CAB8BL (D) Launch (D) QShortcut0?CAB8BL (E) Launch (E) QShortcut0?CAB8BL (F) Launch (F) QShortcut >GB0 Launch Mail QShortcut@>83@K20B5;L Launch Media QShortcut.>A?@>8725AB8 A;54CNI55 Media Next QShortcut>A?@>872545=85 Media Play QShortcut0>A?@>8725AB8 ?@54K4CI55Media Previous QShortcut 0?8AL Media Record QShortcut4AB0=>28BL 2>A?@>872545=85 Media Stop QShortcut5=NMenu QShortcut5BNo QShortcutB:@KBL URLOpen URL QShortcut1=>28BLRefresh QShortcut >8A:Search QShortcutK1@0BLSelect QShortcut 568< >6840=8OStandby QShortcutAB0=>28BLStop QShortcut"8H5 Volume Down QShortcutK:;NG8BL 72C: Volume Mute QShortcut @><G5 Volume Up QShortcut0Yes QShortcut!B@0=8F0 2=87 Page downQSlider!B@0=8F0 2;52> Page leftQSlider!B@0=8F0 2?@02> Page rightQSlider!B@0=8F0 225@EPage upQSlider>;>65=85PositionQSlider8"8? 04@5A0 =5 ?>445@68205BAOAddress type not supportedQSocks5SocketEngineP!>548=5=85 =5 @07@5H5=> A5@25@>< SOCKSv5(Connection not allowed by SOCKSv5 serverQSocks5SocketEngine^!>548=5=85 A ?@>:A8-A5@25@>< =5>6840==> 70:@KB>&Connection to proxy closed prematurelyQSocks5SocketEngineN A>548=5=88 A ?@>:A8-A5@25@>< >B:070=>Connection to proxy refusedQSocks5SocketEngineZ@5<O =0 A>548=5=85 A ?@>:A8-A5@25@>< 8AB5:;>Connection to proxy timed outQSocks5SocketEngine,H81:0 A5@25@5 SOCKSv5General SOCKSv5 server failureQSocks5SocketEngineB@5<O =0 A5B52CN >?5@0F8N 8AB5:;>Network operation timed outQSocks5SocketEngineV5 C40;>AL 02B>@87>20BLAO =0 ?@>:A8-A5@25@5Proxy authentication failedQSocks5SocketEngine^5 C40;>AL 02B>@87>20BLAO =0 ?@>:A8-A5@25@5: %1Proxy authentication failed: %1QSocks5SocketEngine.@>:A8-A5@25@ =5 =0945=Proxy host not foundQSocks5SocketEngine0H81:0 ?@>B>:>;0 SOCKSv5SOCKS version 5 protocol errorQSocks5SocketEngineB><0=40 SOCKSv5 =5 ?>445@68205BAOSOCKSv5 command not supportedQSocks5SocketEngineTTL 8AB5:;> TTL expiredQSocks5SocketEngineX58725AB=0O >H81:0 SOCKSv5 ?@>:A8 (:>4 0x%1)%Unknown SOCKSv5 proxy error code 0x%1QSocks5SocketEngine B<5=0CancelQSoftKeyManager >B>2>DoneQSoftKeyManager KE>4ExitQSoftKeyManagerOkQSoftKeyManager0@0<5B@KOptionsQSoftKeyManagerK1@0BLSelectQSoftKeyManager 5=LH5LessQSpinBox >;LH5MoreQSpinBox B<5=0CancelQSql&B<5=8BL 87<5=5=8O?Cancel your edits?QSql>4B25@645=85ConfirmQSql#40;8BLDeleteQSql,#40;8BL 40==CN 70?8AL?Delete this record?QSqlAB028BLInsertQSql5BNoQSql(!>E@0=8BL 87<5=5=8O? Save edits?QSql1=>28BLUpdateQSql0YesQSql`52>7<>6=> ?@54>AB028BL A5@B8D8:0B 157 :;NG0, %1,Cannot provide a certificate with no key, %1 QSslSocketFH81:0 A>740=8O :>=B5:AB0 SSL: (%1)Error creating SSL context (%1) QSslSocket<H81:0 A>740=8O A5AA88 SSL, %1Error creating SSL session, %1 QSslSocket<H81:0 A>740=8O A5AA88 SSL: %1Error creating SSL session: %1 QSslSocket6H81:0 :28B8@>20=8O SSL: %1Error during SSL handshake: %1 QSslSocketTH81:0 703@C7:8 ;>:0;L=>3> A5@B8D8:0B0, %1#Error loading local certificate, %1 QSslSocketFH81:0 703@C7:8 70:@KB>3> :;NG0, %1Error loading private key, %1 QSslSocket"H81:0 GB5=8O: %1Error while reading: %1 QSslSocketT5?@028;L=K9 8;8 ?CAB>9 A?8A>: H8D@>2 (%1)!Invalid or empty cipher list (%1) QSslSocketd0:@KBK9 :;NG =5 A>>B25BAB2C5B >B:@KB><C :;NGC, %1/Private key does not certificate public key, %1 QSslSocket<52>7<>6=> 70?8A0BL 40==K5: %1Unable to write data: %1 QSslSocket$58725AB=0O >H81:0 Unknown error QStateMachine$%1: C65 ACI5AB2C5B%1: already existsQSystemSemaphore"%1: =5 ACI5AB2C5B%1: does not existQSystemSemaphore2%1: =54>AB0B>G=> @5AC@A>2%1: out of resourcesQSystemSemaphore&%1: 4>ABC? 70?@5IQ=%1: permission deniedQSystemSemaphore2%1: =58725AB=0O >H81:0 %2%1: unknown error %2QSystemSemaphore:52>7<>6=> >B:@KBL A>548=5=85Unable to open connection QTDSDriverF52>7<>6=> 8A?>;L7>20BL 107C 40==KEUnable to use database QTDSDriver @>:@CB8BL 2;52> Scroll LeftQTabBar"@>:@CB8BL 2?@02> Scroll RightQTabBarH?5@0F8O A A>:5B>< =5 ?>445@68205BAO$Operation on socket is not supported QTcpServer&>?8@>20BL&Copy QTextControl&AB028BL&Paste QTextControl&&>2B>@8BL 459AB285&Redo QTextControl$&B<5=8BL 459AB285&Undo QTextControl2!:>?8@>20BL &04@5A AAK;:8Copy &Link Location QTextControl&K@570BLCu&t QTextControl#40;8BLDelete QTextControlK45;8BL 2AQ Select All QTextControlB:@KBLOpen QToolButton 060BLPress QToolButtonJ0==0O ?;0BD>@<0 =5 ?>445@68205B IPv6#This platform does not support IPv6 QUdpSocket$>2B>@8BL 459AB285Redo QUndoGroup"B<5=8BL 459AB285Undo QUndoGroup<?CAB>> QUndoModel$>2B>@8BL 459AB285Redo QUndoStack"B<5=8BL 459AB285Undo QUndoStackFAB028BL C?@02;ONI89 A8<2>; Unicode Insert Unicode control characterQUnicodeControlCharacterMenu@LRM @87=0: ?8AL<0 A;520 =0?@02>LRM Left-to-right markQUnicodeControlCharacterMenu@RLM @87=0: ?8AL<0 A?@020 =0;52>RLM Right-to-left markQUnicodeControlCharacterMenuLZWJ 1J548=ONI89 A8<2>; =C;52>9 H8@8=KZWJ Zero width joinerQUnicodeControlCharacterMenuTZWNJ 5 >1J548=ONI89 A8<2>; =C;52>9 H8@8=KZWNJ Zero width non-joinerQUnicodeControlCharacterMenu4ZWSP @>15; =C;52>9 H8@8=KZWSP Zero width spaceQUnicodeControlCharacterMenu252>7<>6=> >B>1@078BL URLCannot show URL QWebFrame<52>7<>6=> >B>1@078BL B8? MIMECannot show mimetype QWebFrame$$09; =5 ACI5AB2C5BFile does not exist QWebFrameX03@C7:0 D@59<0 ?@5@20=0 87<5=5=85< ?>;8B8:8'Frame load interrupted by policy change QWebFrame"0?@>A 1;>:8@>20=Request blocked QWebFrame0?@>A >B<5=Q=Request cancelled QWebFrame%1 (%2x%3 px)%1 (%2x%3 pixels)QWebPage%n D09;(0)%n D09;0%n D09;>2 %n file(s)QWebPage$>1028BL 2 A;>20@LAdd To DictionaryQWebPage> ;52><C :@0N Align LeftQWebPage> ?@02><C :@0N Align RightQWebPage05:>@@5:B=K9 HTTP-70?@>ABad HTTP requestQWebPage 8@=K9BoldQWebPage=87BottomQWebPage> F5=B@CCenterQWebPageD@>25@OBL 3@0<<0B8:C A >@D>3@0D859Check Grammar With SpellingQWebPage&@>25@:0 >@D>3@0D88Check SpellingQWebPageL@>25@OBL >@D>3@0D8N ?@8 =01>@5 B5:AB0Check Spelling While TypingQWebPage17>@... Choose FileQWebPage.G8AB8BL 8AB>@8N ?>8A:0Clear recent searchesQWebPage>?8@>20BLCopyQWebPageL>?8@>20BL 87>1@065=85 2 1CDD5@ >1<5=0 Copy ImageQWebPage.>?8@>20BL 04@5A AAK;:8 Copy LinkQWebPageK@570BLCutQWebPage> C<>;G0=8NDefaultQWebPage,#40;8BL 4> :>=F0 A;>20Delete to the end of the wordQWebPage.#40;8BL 4> =0G0;0 A;>20Delete to the start of the wordQWebPage$0?@02;5=85 ?8AL<0 DirectionQWebPage (@8DBKFontsQWebPage 0704Go BackQWebPage ?5@Q4 Go ForwardQWebPageF!:@KBL ?0=5;L ?@>25@:8 ?@02>?8A0=8OHide Spelling and GrammarQWebPage@>?CAB8BLIgnoreQWebPage@>?CAB8BL Ignore Grammar context menu itemIgnoreQWebPage #25;8G8BL >BABC?IndentQWebPage:AB028BL <0@:8@>20==K9 A?8A>:Insert Bulleted ListQWebPage8AB028BL =C<5@>20==K9 A?8A>:Insert Numbered ListQWebPage*AB028BL =>2CN AB@>:CInsert a new lineQWebPage.AB028BL =>2K9 ?0@03@0DInsert a new paragraphQWebPage@>25@8BLInspectQWebPage C@A82ItalicQWebPage>JavaScript: @54C?@5645=85 - %1JavaScript Alert - %1QWebPage<JavaScript: >4B25@645=85 - %1JavaScript Confirm - %1QWebPage2JavaScript: @>1;5<0 - %1JavaScript Problem - %1QWebPage.JavaScript: 0?@>A - %1JavaScript Prompt - %1QWebPage> H8@8=5JustifyQWebPage ;52>9 3@0=8F5 Left edgeQWebPage!;520 =0?@02> Left to RightQWebPage">B>:>2>5 25I0=85Live BroadcastQWebPage03@C7:0... Loading...QWebPage A:0BL 2 A;>20@5Look Up In DictionaryQWebPageF5@5<5AB8BL C:070B5;L 2 :>=5F 1;>:0'Move the cursor to the end of the blockQWebPageN5@5<5AB8BL C:070B5;L 2 :>=5F 4>:C<5=B0*Move the cursor to the end of the documentQWebPageH5@5<5AB8BL C:070B5;L 2 :>=5F AB@>:8&Move the cursor to the end of the lineQWebPageT5@5<5AB8BL C:070B5;L : A;54CNI5<C A8<2>;C%Move the cursor to the next characterQWebPageR5@5<5AB8BL C:070B5;L =0 A;54CNICN AB@>:C Move the cursor to the next lineQWebPageP5@5<5AB8BL C:070B5;L : A;54CNI5<C A;>2C Move the cursor to the next wordQWebPageV5@5<5AB8BL C:070B5;L : ?@54K4CI5<C A8<2>;C)Move the cursor to the previous characterQWebPageT5@5<5AB8BL C:070B5;L =0 ?@54K4CICN AB@>:C$Move the cursor to the previous lineQWebPageR5@5<5AB8BL C:070B5;L : ?@54K4CI5<C A;>2C$Move the cursor to the previous wordQWebPageH5@5<5AB8BL C:070B5;L 2 =0G0;> 1;>:0)Move the cursor to the start of the blockQWebPageP5@5<5AB8BL C:070B5;L 2 =0G0;> 4>:C<5=B0,Move the cursor to the start of the documentQWebPageJ5@5<5AB8BL C:070B5;L 2 =0G0;> AB@>:8(Move the cursor to the start of the lineQWebPage525@=>5 A;>2>No Guesses FoundQWebPage$09; =5 C:070=No file selectedQWebPage(AB>@8O ?>8A:0 ?CAB0No recent searchesQWebPageB:@KBL D@59< Open FrameQWebPage&B:@KBL 87>1@065=85 Open ImageQWebPageB:@KBL AAK;:C Open LinkQWebPage(B:@KBL 2 =>2>< >:=5Open in New WindowQWebPage #<5=LH8BL >BABC?OutdentQWebPage5@5GQ@:=CBK9OutlineQWebPage 0 AB@0=8FC 2=87 Page downQWebPage"0 AB@0=8FC 2;52> Page leftQWebPage$0 AB@0=8FC 2?@02> Page rightQWebPage"0 AB@0=8FC 225@EPage upQWebPageAB028BLPasteQWebPage0AB028BL, A>E@0=82 AB8;LPaste and Match StyleQWebPageAB>@8O ?>8A:0Recent searchesQWebPage1=>28BLReloadQWebPage,#40;8BL D>@<0B8@>20=85Remove formattingQWebPage!1@>A8BLResetQWebPage  ?@02>9 3@0=8F5 Right edgeQWebPage!?@020 =0;52> Right to LeftQWebPage*!>E@0=8BL 87>1@065=85 Save ImageQWebPage4!>E@0=8BL ?> AAK;:5 :0:... Save Link...QWebPage@>:@CB8BL 2=87 Scroll downQWebPage@>:@CB8BL AN40 Scroll hereQWebPage @>:@CB8BL 2;52> Scroll leftQWebPage"@>:@CB8BL 2?@02> Scroll rightQWebPage @>:@CB8BL 225@E Scroll upQWebPage"A:0BL 2 =B5@=5BSearch The WebQWebPageK45;8BL 2AQ Select allQWebPage.K45;8BL 4> :>=F0 1;>:0Select to the end of the blockQWebPage6K45;8BL 4> :>=F0 4>:C<5=B0!Select to the end of the documentQWebPage0K45;8BL 4> :>=F0 AB@>:8Select to the end of the lineQWebPage<K45;8BL 4> A;54CNI53> A8<2>;0Select to the next characterQWebPage8K45;8BL 4> A;54CNI59 AB@>:8Select to the next lineQWebPage8K45;8BL 4> A;54CNI53> A;>20Select to the next wordQWebPage>K45;8BL 4> ?@54K4CI53> A8<2>;0 Select to the previous characterQWebPage:K45;8BL 4> ?@54K4CI59 AB@>:8Select to the previous lineQWebPage:K45;8BL 4> ?@54K4CI53> A;>20Select to the previous wordQWebPage0K45;8BL 4> =0G0;0 1;>:0 Select to the start of the blockQWebPage8K45;8BL 4> =0G0;0 4>:C<5=B0#Select to the start of the documentQWebPage2K45;8BL 4> =0G0;0 AB@>:8Select to the start of the lineQWebPageJ>:070BL ?0=5;L ?@>25@:8 ?@02>?8A0=8OShow Spelling and GrammarQWebPage@D>3@0D8OSpellingQWebPageAB0=>28BLStopQWebPage0GQ@:=CBK9 StrikethroughQWebPageB?@028BLSubmitQWebPageB?@028BLQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPage>4AB@>G=K9 SubscriptQWebPage04AB@>G=K9 SuperscriptQWebPage$0?@02;5=85 B5:AB0Text DirectionQWebPage!1>9 2K?>;=5=8O AF5=0@8O =0 40==>9 AB@0=8F5. 5;05B5 >AB0=>28BL 2K?>;5=85 AF5=0@8O?RThe script on this page appears to have a problem. Do you want to stop the script?QWebPaged=45:A ?>8A:0. 2548B5 :;NG52K5 A;>20 4;O ?>8A:0: 3This is a searchable index. Enter search keywords: QWebPage 25@ETopQWebPage>4GQ@:=CBK9 UnderlineQWebPage58725AB=>UnknownQWebPage&Web-8=A?5:B>@ - %2Web Inspector - %2QWebPage'B> MB>? What's This?QWhatsThisAction**QWidget&025@H8BL&FinishQWizard&!?@02:0&HelpQWizard &0;55&NextQWizard&0;55 >&Next >QWizard< &0704< &BackQWizard B<5=0CancelQWizard5@540BLCommitQWizard@>4>;68BLContinueQWizard >B>2>DoneQWizard 0704Go BackQWizard!?@02:0HelpQWizard%1 - [%2] %1 - [%2] QWorkspace&0:@KBL&Close QWorkspace&5@5<5AB8BL&Move QWorkspace&>AAB0=>28BL&Restore QWorkspace& 07<5@&Size QWorkspace4&>AAB0=>28BL 87 703>;>2:0&Unshade QWorkspace0:@KBLClose QWorkspace &0A?0E=CBL Ma&ximize QWorkspace&!25@=CBL Mi&nimize QWorkspace!25@=CBLMinimize QWorkspace>AAB0=>28BL Restore Down QWorkspace*!2&5@=CBL 2 703>;>2>:Sh&ade QWorkspace$AB020BLAO &A25@EC Stay on &Top QWorkspacex2 >1JO2;5=88 XML >6840NBAO ?0@0<5B@K encoding 8;8 standaloneYencoding declaration or standalone declaration expected while reading the XML declarationQXmlH>H81:0 2 >1JO2;5=88 2=5H=53> >1J5:B03error in the text declaration of an external entityQXml4>H81:0 @071>@0 :><<5=B0@8O$error occurred while parsing commentQXml0>H81:0 @071>@0 4>:C<5=B0$error occurred while parsing contentQXmlP>H81:0 @071>@0 >1JO2;5=8O B8?0 4>:C<5=B05error occurred while parsing document type definitionQXml.>H81:0 @071>@0 M;5<5=B0$error occurred while parsing elementQXml*>H81:0 @071>@0 AAK;:8&error occurred while parsing referenceQXml8>H81:0 2K720=0 ?>;L7>20B5;5<error triggered by consumerQXml`2=5H=OO AAK;:0 =0 >1I89 >1J5:B =54>?CAB8<0 2 DTD;external parsed general entity reference not allowed in DTDQXml|2=5H=OO AAK;:0 =0 >1I89 >1J5:B =54>?CAB8<0 2 7=0G5=88 0B@81CB0Gexternal parsed general entity reference not allowed in attribute valueQXmlf2=CB@5==OO AAK;:0 =0 >1I89 >1J5:B =54>?CAB8<0 2 DTD4internal general entity reference not allowed in DTDQXmlD=5:>@@5:B=>5 8<O 48@5:B82K @071>@0'invalid name for processing instructionQXml>6840;0AL 1C:20letter is expectedQXmlFC:070=> 1>;55 >4=>3> B8?0 4>:C<5=B0&more than one document type definitionQXml$>H81:8 >BACBAB2CNBno error occurredQXml&@5:C@A82=K5 >1J5:BKrecursive entitiesQXml\2 >1JO2;5=88 XML >68405BAO ?0@0<5B@ standaloneAstandalone declaration expected while reading the XML declarationQXml BM3 =5 A>2?0405B tag mismatchQXml$=5>6840==K9 A8<2>;unexpected characterQXml.=5>6840==K9 :>=5F D09;0unexpected end of fileQXmlf=5@07>1@0==0O AAK;:0 =0 >1J5:B 2 =525@=>< :>=B5:AB5*unparsed entity reference in wrong contextQXmlV2 >1JO2;5=88 XML >68405BAO ?0@0<5B@ version2version expected while reading the XML declarationQXmlT=5:>@@5:B=>5 7=0G5=85 ?0@0<5B@0 standalone&wrong value for standalone declarationQXmlF%1 - =525@=K9 845=B8D8:0B>@ PUBLIC.#%1 is an invalid PUBLIC identifier. QXmlStreamB%1 - =525@=>5 =0720=85 :>48@>2:8.%1 is an invalid encoding name. QXmlStream^%1 =525@=>5 =0720=85 >1@010BK205<>9 8=AB@C:F88.-%1 is an invalid processing instruction name. QXmlStream, ?>;CG8;8 ' , but got ' QXmlStream,B@81CB ?5@5>?@545;Q=.Attribute redefined. QXmlStream<>48@>2:0 %1 =5 ?>445@68205BAOEncoding %1 is unsupported QXmlStreamZ1=0@C65=> =525@=> 70:>48@>20==>5 A>45@68<>5.(Encountered incorrectly encoded content. QXmlStream01J5:B '%1' =5 >1JO2;5=.Entity '%1' not declared. QXmlStream6840;>AL  Expected  QXmlStream86840NBAO A8<2>;L=K5 40==K5.Expected character data. QXmlStream@8H=85 40==K5 2 :>=F5 4>:C<5=B0.!Extra content at end of document. QXmlStreamL525@=>5 >1JO2;5=85 ?@>AB@0=AB20 8<Q=.Illegal namespace declaration. QXmlStream05:>@@5:B=K9 A8<2>; XML.Invalid XML character. QXmlStream*5:>@@5:B=>5 8<O XML.Invalid XML name. QXmlStream6525@=0O AB@>:0 25@A88 XML.Invalid XML version string. QXmlStreamL5:>@@5:B=K9 0B@81CB 2 >1JO2;5=88 XML.%Invalid attribute in XML declaration. QXmlStream6525@=0O A8<2>;L=0O AAK;:0.Invalid character reference. QXmlStream,5:>@@5:B=K9 4>:C<5=B.Invalid document. QXmlStream<5:>@@5:B=>5 7=0G5=85 >1J5:B0.Invalid entity value. QXmlStreamX525@=>5 =0720=85 >1@010BK205<>9 8=AB@C:F88.$Invalid processing instruction name. QXmlStream:NDATA 2 >1JO2;5=88 ?0@0<5B@0.&NDATA in parameter entity declaration. QXmlStreamT@5D8:A ?@>AB@0=AB20 8<Q= '%1' =5 >1JO2;5="Namespace prefix '%1' not declared QXmlStreamVB:@K20NI89 BM3 =5 A>2?0405B A 70:@K20NI8<. Opening and ending tag mismatch. QXmlStream85>6840==K9 :>=5F 4>:C<5=B0.Premature end of document. QXmlStream:1=0@C65= @5:C@A82=K9 >1J5:B.Recursive entity detected. QXmlStreamd!AK;:0 =0 2=5H=89 >1J5:B '%1' 2 7=0G5=88 0B@81CB0.5Reference to external entity '%1' in attribute value. QXmlStreamJ!AK;:0 =0 =5>1@01>B0==K9 >1J5:B '%1'."Reference to unparsed entity '%1'. QXmlStreamd>A;54>20B5;L=>ABL ']]>' =54>?CAB8<0 2 A>45@68<><.&Sequence ']]>' not allowed in content. QXmlStreamA524>0B@81CB 'standalone' <>65B ?@8=8<0BL B>;L:> 7=0G5=8O 'yes' 8;8 'no'."Standalone accepts only yes or no. QXmlStream468405BAO >B:@K20NI89 BM3.Start tag expected. QXmlStreamA524>0B@81CB 'standalone' 4>;65= =0E>48BLAO ?>A;5 C:070=8O :>48@>2:8.?The standalone pseudo attribute must appear after the encoding. QXmlStream5>6840==>5 ' Unexpected ' QXmlStreamx5>6840==K9 A8<2>; '%1' 2 ;8B5@0;5 >B:@KB>3> 845=B8D8:0B>@0./Unexpected character '%1' in public id literal. QXmlStream85?>445@68205<0O 25@A8O XML.Unsupported XML version. QXmlStream^1JO2;5=85 XML =0E>48BAO =5 2 =0G0;5 4>:C<5=B0.)XML declaration not at start of document. QXmlStreamX%1 8 %2 A>>B25BAB2CNB =0G0;C 8 :>=FC AB@>:8.,%1 and %2 match the start and end of a line. QtXmlPatterns:%1 =5 <>65B 1KBL 2>AAB0=>2;5=%1 cannot be retrieved QtXmlPatterns%1 A>45@68B >:B5BK, :>B>@K5 =54>?CAB8<K 2 B@51C5<>9 :>48@>2:5 %2.E%1 contains octets which are disallowed in the requested encoding %2. QtXmlPatterns%1 - A;>6=K9 B8?. @5>1@07>20=85 : A;>6=K< B8?0< =52>7<>6=>. 4=0:>, ?@5>1@07>20=85 : 0B><0@=K< B8?0< :0: %2 @01>B05B.s%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. QtXmlPatterns(%1 =5:>@@5:=> 4;O %2%1 is an invalid %2 QtXmlPatterns~%1 - =525@=K9 D;03 4;O @53C;O@=>3> 2K@065=8O. >?CAB8<K5 D;038:?%1 is an invalid flag for regular expressions. Valid flags are: QtXmlPatternsH%1 - =525@=K9 URI ?@>AB@0=AB20 8<Q=.%1 is an invalid namespace URI. QtXmlPatterns\%1 - =525@=K9 H01;>= @53C;O@=>3> 2K@065=8O: %2/%1 is an invalid regular expression pattern: %2 QtXmlPatternsV%1 O2;O5BAO =525@=K< H01;>=>< 8<5=8 @568<0.$%1 is an invalid template mode name. QtXmlPatternsJ%1 O2;O5BAO AE5<>9 =58725AB=>3> B8?0.%1 is an unknown schema type. QtXmlPatterns>>48@>2:0 %1 =5 ?>445@68205BAO.%1 is an unsupported encoding. QtXmlPatternsB!8<2>; %1 =54>?CAB8< 4;O XML 1.0.$%1 is not a valid XML 1.0 character. QtXmlPatternsp%1 O2;O5BAO =525@=K< =0720=85< 4;O 8=AB@C:F88 >1@01>B:8.4%1 is not a valid name for a processing-instruction. QtXmlPatternsP%1 O2;O5BAO =525@=K< G8A;>2K< ;8B5@0;><."%1 is not a valid numeric literal. QtXmlPatterns%1 =5:>@@5:B=>5 F5;52>5 8<O 2 >1@010BK205<>9 8=AB@C:F88. <O 4>;6=> 1KBL 7=0G5=85< B8?0 %2, =0?@8<5@: %3.Z%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. QtXmlPatternsX%1 =5 O2;O5BAO ?@028;L=K< 7=0G5=85< B8?0 %2.#%1 is not a valid value of type %2. QtXmlPatternsP%1 =5 O2;O5BAO ?>;=K< :>;8G5AB2>< <8=CB.$%1 is not a whole number of minutes. QtXmlPatterns%1 - =5 0B><0@=K9 B8?. @5>1@07>20=85 2>7<>6=> B>;L:> : 0B><0@=K< B8?0<.C%1 is not an atomic type. Casting is only possible to atomic types. QtXmlPatterns%1 O2;O5BAO >1JO2;5=85< 0B@81CB0 2=5 >1;0AB8 >1JO2;5=89. <59B5 2 284C, 2>7<>6=>ABL 8<?>@B0 AE5< =5 ?>445@68205BAO.g%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. QtXmlPatternsH=0G5=85 %1 =5:>@@5:B=> 4;O B8?0 %2.&%1 is not valid as a value of type %2. QtXmlPatternsL%1 A>>B25BAB2C5B A8<2>;0< :>=F0 AB@>:8%1 matches newline characters QtXmlPatterns'%1' 4>;6=> A>?@>2>640BLAO '%2' 8;8 '%3', => =5 2 :>=F5 70<5I05<>9 AB@>:8.J%1 must be followed by %2 or %3, not at the end of the replacement string. QtXmlPatterns|%1 ?@8=8<05B =5 <5=55 %n 0@3C<5=B0. !;54>20B5;L=>, %2 =525@=>.~%1 ?@8=8<05B =5 <5=55 %n 0@3C<5=B>2. !;54>20B5;L=>, %2 =525@=>.~%1 ?@8=8<05B =5 <5=55 %n 0@3C<5=B>2. !;54>20B5;L=>, %2 =525@=>.=%1 requires at least %n argument(s). %2 is therefore invalid. QtXmlPatterns|%1 ?@8=8<05B =5 1>;55 %n 0@3C<5=B0. !;54>20B5;L=>, %2 =525@=>.~%1 ?@8=8<05B =5 1>;55 %n 0@3C<5=B>2. !;54>20B5;L=>, %2 =525@=>.~%1 ?@8=8<05B =5 1>;55 %n 0@3C<5=B>2. !;54>20B5;L=>, %2 =525@=>.9%1 takes at most %n argument(s). %2 is therefore invalid. QtXmlPatterns %1 1K;> 2K720=>.%1 was called. QtXmlPatternsB><<5=B0@89 =5 <>65B A>45@60BL %1A comment cannot contain %1 QtXmlPatternsP><<5=B0@89 =5 <>65B >:0=G820BLAO =0 %1.A comment cannot end with a %1. QtXmlPatternsvAB@5G5=0 :>=AB@C:F8O, 70?@5IQ==0O 4;O B5:CI53> O7K:0 (%1).LA construct was encountered which is disallowed in the current language(%1). QtXmlPatterns1JO2;5=85 ?@>AB@0=AB2> 8<Q= ?> C<>;G0=8N 4>;6=> 1KBL 4> >1JO2;5=8O DC=:F89, ?5@5<5==KE 8 >?F89.^A default namespace declaration must occur before function, variable, and option declarations. QtXmlPatterns@O<>9 :>=AB@C:B>@ M;5<5=B0 A>AB02;5= =5:>@@5:B=>. %1 70:0=G8205BAO =0 %2.EA direct element constructor is not well-formed. %1 is ended with %2. QtXmlPatternsN$C=:F8O A A83=0BC@>9 %1 C65 ACI5AB2C5B.0A function already exists with the signature %1. QtXmlPatterns>4C;L 181;8>B5:8 =5 <>65B 8A?>;L7>20BLAO =0?@O<CN. = 4>;65= 1KBL 8<?>@B8@>20= 87 >A=>2=>3> <>4C;O.VA library module cannot be evaluated directly. It must be imported from a main module. QtXmlPatternsf0@0<5B@ 2 DC=:F88 =5 <>65B 1KBL >1JO2;5= BC==5;5<.78F8>==K9 ?@548:0B 4>;65= 2KG8A;OBLAO :0: G8A;>2>5 2K@065=85.?A positional predicate must evaluate to a single numeric value. QtXmlPatternsX$C=:F8O AB8;59 4>;6=0 8<5BL 8<O A ?@5D8:A><.0A stylesheet function must have a prefixed name. QtXmlPatternsH(01;>= A 8<5=5< %1 C65 1K; >1JO2;5=.0A template by name %1 has already been declared. QtXmlPatterns=0G5=85 B8?0 %1 =5 <>65B 1KBL CA;>285<. #A;>285< <>3CB O2;OBLAO G8A;>2>9 8 1C;52K9 B8?K.yA value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. QtXmlPatternsb=0G5=85 B8?0 %1 =5 <>65B 1KBL 1C;52K< 7=0G5=85<.:A value of type %1 cannot have an Effective Boolean Value. QtXmlPatterns=0G5=85 B8?0 %1 4>;6=> A>45@60BL G5B=>5 :>;8G5AB2> F8D@. =0G5=85 %2 MB><C B@51>20=8N =5 C4>2;5B2>@O5B.PA value of type %1 must contain an even number of digits. The value %2 does not. QtXmlPatternsJ5@5<5==0O A 8<5=5< %1 C65 >1JO2;5=0.0A variable by name %1 has already been declared. QtXmlPatterns 538>=0;L=>5 A<5I5=85 4>;6=> 1KBL 2 ?5@545;0E >B %1 4> %2 2:;NG8B5;L=>. %3 2KE>48B 70 4>?CAB8<K5 ?@545;K.HA zone offset must be in the range %1..%2 inclusive. %3 is out of range. QtXmlPatternsF5>4=>7=0G=>5 A>>B25BAB285 ?@028;C.Ambiguous rule match. QtXmlPatterns@3C<5=B A 8<5=5< %1 C65 >1JO2;5=. <O :064>3> 0@3C<5=B0 4>;6=> 1KBL C=8:0;L=K<.UAn argument by name %1 has already been declared. Every argument name must be unique. QtXmlPatternspB@81CB A 8<5=5< %1 C65 ACI5AB2C5B 4;O 40==>3> M;5<5=B0.=An attribute by name %1 has already appeared on this element. QtXmlPatternsFB@81CB A 8<5=5< %1 C65 ACI5AB2C5B.1An attribute by name %1 has already been created. QtXmlPatterns#75;-0B@81CB =5 <>65B 1KBL ?>B><:>< C7;0-4>:C<5=B0. B@81CB %1 =5C<5AB5=.dAn attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. QtXmlPatternsZ0: <8=8<C< >48= M;5<5=B %1 4>;65= 1KBL 2 %2.3At least one %1 element must appear as child of %2. QtXmlPatternsb0: <8=8<C< >48= M;5<5=B %1 4>;65= 1KBL ?5@54 %2.-At least one %1-element must occur before %2. QtXmlPatternsd0: <8=8<C< >48= M;5<5=B %1 4>;65= 1KBL 2=CB@8 %2.-At least one %1-element must occur inside %2. QtXmlPatternsd>;6=0 ?@8ACBAB2>20BL :0: <8=8<C< >4=0 :><?>=5=B0.'At least one component must be present. QtXmlPatterns0: <8=8<C< >48= @568< 4>;65= 1KBL C:070= 2 0B@81CB5 %1 M;5<5=B0 %2.FAt least one mode must be specified in the %1-attribute on element %2. QtXmlPatterns0: <8=8<C< >4=0 :><?>=5=B0 2@5<5=8 4>;6=0 A;54>20BL 70 @0745;8B5;5< '%1'.?At least one time component must appear after the %1-delimiter. QtXmlPatternsFB@81CBK %1 8 %2 2708<>8A:;NG0NI85.+Attribute %1 and %2 are mutually exclusive. QtXmlPatternsB@81CB %1 =5 <>65B 1KBL A5@80;87>20=, B0: :0: ?@8ACBAB2C5B =0 25@E=5< C@>2=5.EAttribute %1 can't be serialized because it appears at the top level. QtXmlPatternsTB@81CB %1 =5 <>65B ?@8=8<0BL 7=0G5=85 %2.&Attribute %1 cannot have the value %2. QtXmlPatterns<5=L %1 =525@5= 4;O <5AOF0 %2.Day %1 is invalid for month %2. QtXmlPatterns:5=L %1 2=5 480?07>=0 %2..%3.#Day %1 is outside the range %2..%3. QtXmlPatterns5;5=85 G8A;0 B8?0 %1 =0 %2 (=5 G8A;>2>5 2K@065=85) =54>?CAB8<>.@Dividing a value of type %1 by %2 (not-a-number) is not allowed. QtXmlPatterns5;5=85 G8A;0 B8?0 %1 =0 %2 8;8 %3 (?;NA 8;8 <8=CA =C;L) =54>?CAB8<>.LDividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. QtXmlPatternsP5;5=85 (%1) =0 =C;L (%2) =5 >?@545;5=>.(Division (%1) by zero (%2) is undefined. QtXmlPatterns<O :064>3> ?0@0<5B@0 H01;>=0 4>;6=> 1KBL C=8:0;L=K<, => %1 ?>2B>@O5BAO.CEach name of a template parameter must be unique; %1 is duplicated. QtXmlPatternsC;52> 7=0G5=85 =5 <>65B 1KBL 2KG8A;5=> 4;O ?>A;54>20B5;L=>AB59, :>B>@K5 A>45@60B 420 8 1>;55 0B><0@=KE 7=0G5=8O.aEffective Boolean Value cannot be calculated for a sequence containing two or more atomic values. QtXmlPatterns-;5<5=B %1 =5 <>65B 1KBL A5@80;87>20=, B0: :0: ?@8ACBAB2C5B 2=5 4>:C<5=B0.OElement %1 can't be serialized because it appears outside the document element. QtXmlPatternsx# M;5<5=B0 %1 =5 <>65B 1KBL :>=AB@C:B>@0 ?>A;54>20B5;L=>AB8..Element %1 cannot have a sequence constructor. QtXmlPatternsJ# M;5<5=B0 %1 =5 <>65B 1KBL ?>B><:>2. Element %1 cannot have children. QtXmlPatternsF-;5<5=B %1 =54>?CAB8< 2 MB>< <5AB5.+Element %1 is not allowed at this location. QtXmlPatternsB-;5<5=B %1 4>;65= 84B8 ?>A;54=8<.Element %1 must come last. QtXmlPatterns-;5<5=B %1 4>;65= 8<5BL :0: <8=8<C< >48= 87 0B@81CB>2 %2 8;8 %3.=Element %1 must have at least one of the attributes %2 or %3. QtXmlPatterns-;5<5=B %1 4>;65= 8<5BL 0B@81CB %2 8;8 :>=AB@C:B>@ ?>A;54>20B5;L=>AB8.EElement %1 must have either a %2-attribute or a sequence constructor. QtXmlPatternsA;8 >10 7=0G5=8O 8<5NB @538>=0;L=K5 A<5I5=8O, A<5I5=8O 4>;6=K 1KBL >48=0:>2K. %1 8 %2 =5 >48=0:>2K.bIf both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. QtXmlPatternsA;8 M;5<5=B %1 =5 8<55B 0B@81CB %2, C =53> =5 <>65B 1KBL 0B@81CB>2 %3 8 %4.EIf element %1 has no attribute %2, it cannot have attribute %3 or %4. QtXmlPatterns"@5D8:A =5 4>;65= 1KBL C:070=, 5A;8 ?5@2K9 ?0@0<5B@ - ?CAB0O ?>A;54>20B5;L=>ABL 8;8 ?CAB0O AB@>:0 (2=5 ?@>AB@0=AB20 8<Q=). K; C:070= ?@5D8:A %1.If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. QtXmlPatterns :>=AB@C:B>@5 ?@>AB@0=AB20 8<Q= 7=0G5=85 ?@>AB@0=AB20 8<Q= =5 <>65B 1KBL ?CAB>9 AB@>:>9.PIn a namespace constructor, the value for a namespace cannot be an empty string. QtXmlPatterns <>4C;5 C?@>IQ==>9 B01;8FK AB8;59 >1O70= ?@8ACBAB2>20BL 0B@81CB %1.@In a simplified stylesheet module, attribute %1 must be present. QtXmlPatterns H01;>=5 XSL-T =5 <>65B 1KBL 8A?>;L7>20=0 >AL %1 - B>;L:> >A8 %2 8;8 %3.DIn an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. QtXmlPatterns~ H01;>=5 XSL-T C DC=:F88 %1 =5 4>;6=> 1KBL B@5BL53> 0@3C<5=B0.>In an XSL-T pattern, function %1 cannot have a third argument. QtXmlPatterns H01;>=5 XSL-T B>;L:> DC=:F88 %1 8 %2 <>3CB 8A?>;L7>20BLAO 4;O A@02=5=8O, => =5 %3.OIn an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. QtXmlPatterns H01;>=5 XSL-T ?5@2K9 0@3C<5=B DC=:F88 %1 4>;65= 1KBL ;8B5@0;>< 8;8 AAK;:>9 =0 ?5@5<5==CN, 5A;8 DC=:F8O 8A?>;L7C5BAO 4;O A@02=5=8O.yIn an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. QtXmlPatterns H01;>=5 XSL-T ?5@2K9 0@3C<5=B DC=:F88 %1 4>;65= 1KBL AB@>:>2K< ;8B5@0;><, 5A;8 DC=:F8O 8A?>;L7C5BAO 4;O A@02=5=8O.hIn an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. QtXmlPatterns 70<5I05<>9 AB@>:5 A8<2>; '%1' <>65B 8A?>;L7>20BLAO B>;L:> 4;O M:@0=8@>20=8O A0<>3> A51O 8;8 '%2', => =5 '%3'MIn the replacement string, %1 can only be used to escape itself or %2, not %3 QtXmlPatterns 70<5I05<>9 AB@>:5 '%1' 4>;6=> A>?@>2>640BLAO :0: <8=8<C< >4=>9 F8D@>9, 5A;8 =5M:@0=8@>20=>.VIn the replacement string, %1 must be followed by at least one digit when not escaped. QtXmlPatternsl&5;>G8A;5==>5 45;5=85 (%1) =0 =C;L (%2) =5 >?@545;5=>.0Integer division (%1) by zero (%2) is undefined. QtXmlPatternsB52>7<>6=> A2O70BL A ?@5D8:A>< %1+It is not possible to bind to the prefix %1 QtXmlPatternsJ52>7<>6=> ?5@5>?@545;8BL ?@5D8:A %1.*It is not possible to redeclare prefix %1. QtXmlPatternsBC45B =52>7<>6=> 2>AAB0=>28BL %1.'It will not be possible to retrieve %1. QtXmlPatternsz52>7<>6=> 4>102;OBL 0B@81CBK ?>A;5 ;N1>3> 4@C3>3> 2840 C7;0.AIt's not possible to add attributes after any other kind of node. QtXmlPatterns>!>>B25BAB28O @538AB@>=57028A8<KMatches are case insensitive QtXmlPatterns<?>@B8@C5<K5 <>4C;8 4>;6=K 1KBL C:070=K 4> >1JO2;5=8O DC=:F89, ?5@5<5==KE 8 >?F89.MModule imports must occur before function, variable, and option declarations. QtXmlPatternsd5;5=85 ?> <>4C;N (%1) =0 =C;L (%2) =5 >?@545;5=>.0Modulus division (%1) by zero (%2) is undefined. QtXmlPatterns<5AOF %1 2=5 480?07>=0 %2..%3.%Month %1 is outside the range %2..%3. QtXmlPatterns#<=>65=85 G8A;0 B8?0 %1 =0 %2 8;8 %3 (?;NA-<8=CA 15A:>=5G=>ABL) =54>?CAB8<>.YMultiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. QtXmlPatterns@>AB@0=AB2> 8<Q= %1 <>65B 1KBL A2O70=> B>;L:> A %2 (2 40==>< A;CG05 C65 ?@54>?@545;5=>).ONamespace %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatterns1JO2;5=85 ?@>AB@0=AB20 8<Q= 4>;6=> 1KBL 4> >1JO2;5=8O DC=:F89, ?5@5<5==KE 8 >?F89.UNamespace declarations must occur before function, variable, and option declarations. QtXmlPatterns8@5<O >6840=8O A5B8 8AB5:;>.Network timeout. QtXmlPatterns =5H=85 DC=:F88 =5 ?>445@6820NBAO. A5 ?>445@68205<K5 DC=:F88 <>3CB 8A?>;L7>20BLAO =0?@O<CN 157 ?5@2>=0G0;L=>3> >1JO2;5=8O 8E 2 :0G5AB25 2=5H=8E{No external functions are supported. All supported functions can be used directly, without first declaring them as external QtXmlPatterns@$C=:F8O A 8<5=5< %1 >BACBAB2C5B.$No function by name %1 is available. QtXmlPatternsF$C=:F8O A A83=0BC@>9 %1 >BACBAB2C5B*No function with signature %1 is available QtXmlPatternspBACBAB2C5B ?@82O7:0 : ?@>AB@0=AB2C 8<Q= 4;O ?@5D8:A0 %1-No namespace binding exists for the prefix %1 QtXmlPatternszBACBAB2C5B ?@82O7:0 : ?@>AB@0=AB2C 8<Q= 4;O ?@5D8:A0 %1 2 %23No namespace binding exists for the prefix %1 in %2 QtXmlPatterns>(01;>= A 8<5=5< %1 >BACBAB2C5B.No template by name %1 exists. QtXmlPatternspBACBAB2C5B 7=0G5=85 4;O 2=5H=59 ?5@5<5==>9 A 8<5=5< %1.;No value is available for the external variable by name %1. QtXmlPatternsD5@5<5==0O A 8<5=5< %1 >BACBAB2C5BNo variable by name %1 exists QtXmlPatterns8 >4=> 87 2K@065=89 pragma =5 ?>445@68205BAO. >;6=> ACI5AB2>20BL 70?0A=>5 2K@065=85^None of the pragma expressions are supported. Therefore, a fallback expression must be present QtXmlPatterns">;L:> >4=> >1JO2;5=85 %1 <>65B ?@8ACBAB2>20BL 2 ?@>;>35 70?@>A0.6Only one %1 declaration can occur in the query prolog. QtXmlPatternsF>;65= 1KBL B>;L:> >48= M;5<5=B %1.Only one %1-element can appear. QtXmlPatterns>445@68205BAO B>;L:> Unicode Codepoint Collation (%1). %2 =5 ?>445@68205BAO.IOnly the Unicode Codepoint Collation is supported(%1). %2 is unsupported. QtXmlPatternsh">;L:> ?@5D8:A %1 <>65B 1KBL A2O70= A %2 8 =0>1>@>B.5Only the prefix %1 can be bound to %2 and vice versa. QtXmlPatterns?5@0B>@ %1 =5 <>65B 8A?>;L7>20BLAO 4;O 0B><0@=KE 7=0G5=89 B8?>2 %2 8 %3.>Operator %1 cannot be used on atomic values of type %2 and %3. QtXmlPatterns`?5@0B>@ %1 =5 <>65B 8A?>;L7>20BLAO 4;O B8?0 %2.&Operator %1 cannot be used on type %2. QtXmlPatternsZ5@5?>;=5=85: 5 C405BAO ?@54AB028BL 40BC %1."Overflow: Can't represent date %1. QtXmlPatternsT5@5?>;=5=85: =52>7<>6=> ?@54AB028BL 40BC.$Overflow: Date can't be represented. QtXmlPatterns$H81:0 @071>@0: %1Parse error: %1 QtXmlPatterns@5D8:A %1 <>65B 1KBL A2O70= B>;L:> A %2 (2 40==>< A;CG05 C65 ?@54>?@545;5=>).LPrefix %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternsD@5D8:A %1 C65 >1JO2;5= 2 ?@>;>35.,Prefix %1 is already declared in the prolog. QtXmlPatterns\@5>1@07>20=85 %1 : %2 <>65B A=878BL B>G=>ABL./Promoting %1 to %2 may cause loss of precision. QtXmlPatternsJ5>1E>48<> %1 M;5<5=B>2, ?>;CG5=> %2./Required cardinality is %1; got cardinality %2. QtXmlPatternsD"@51C5BAO B8? %1, => >1=0@C65= %2.&Required type is %1, but %2 was found. QtXmlPatterns~K?>;=O5BAO B01;8F0 AB8;59 XSL-T 1.0 A >1@01>BG8:>< 25@A88 2.0.5Running an XSL-T 1.0 stylesheet with a 2.0 processor. QtXmlPatternsP"5:AB>2K5 C7;K =54>?CAB8<K 2 MB>< <5AB5.,Text nodes are not allowed at this location. QtXmlPatternsBAL %1 =5 ?>445@68205BAO 2 XQuery$The %1-axis is unsupported in XQuery QtXmlPatterns>7<>6=>ABL 8<?>@B0 AE5< =5 ?>445@68205BAO, A;54>20B5;L=>, >1JO2;5=89 %1 1KBL =5 4>;6=>.WThe Schema Import feature is not supported, and therefore %1 declarations cannot occur. QtXmlPatterns>7<>6=>ABL ?@>25@:8 ?> AE5<5 =5 ?>445@68205BAO. K@065=8O %1 =5 <>3CB 8A?>;L7>20BLAO.VThe Schema Validation Feature is not supported. Hence, %1-expressions may not be used. QtXmlPatterns>URI =5 <>65B A>45@60BL D@03<5=BThe URI cannot have a fragment QtXmlPatternsfB@81CB %1 <>65B 1KBL B>;L:> C ?5@2>3> M;5<5=B0 %2.9The attribute %1 can only appear on the first %2 element. QtXmlPatterns|# %2 =5 <>65B 1KBL 0B@81CB0 %1, :>340 >= O2;O5BAO ?>B><:>< %3.?The attribute %1 cannot appear on %2, when it is a child of %3. QtXmlPatterns!8<2>; A :>4>< %1, ?@8ACBAB2CNI89 2 %2 ?@8 8A?>;L7>20=88 :>48@>2:8 %3, =5 O2;O5BAO 4>?CAB8<K< A8<2>;>< XML.QThe codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. QtXmlPatterns~0==K5 >1@010BK205<>9 8=AB@C:F88 =5 <>3CB A>45@60BL AB@>:C '%1'AThe data of a processing instruction cannot contain the string %1 QtXmlPatterns>01>@ ?> C<>;G0=8N =5 >?@545;Q=#The default collection is undefined QtXmlPatterns>48@>2:0 %1 =525@=0. <O :>48@>2:8 4>;6=> A>45@60BL B>;L:> A8<2>;K ;0B8=8FK 157 ?@>15;>2 8 4>;6=> C4>2;5B2>@OBL @53C;O@=><C 2K@065=8N %2.The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. QtXmlPatterns5@2K9 0@3C<5=B %1 =5 <>65B 1KBL B8?0 %2. = 4>;65= 1KBL G8A;>2>3> B8?0, B8?0 xs:yearMonthDuration 8;8 B8?0 xs:dayTimeDuration.uThe first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. QtXmlPatterns5@2K9 0@3C<5=B %1 =5 <>65B 1KBL B8?0 %2. = 4>;65= 1KBL B8?0 %3, %4 8;8 %5.PThe first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatterns&$>:CA =5 >?@545;Q=.The focus is undefined. QtXmlPatternsb=8F80;870F8O ?5@5<5==>9 %1 7028A8B >B A51O A0<>93The initialization of variable %1 depends on itself QtXmlPatternsb-;5<5=B %1 =5 A>>B25BAB2C5B =5>1E>48<><C B8?C %2./The item %1 did not match the required type %2. QtXmlPatterns;NG52>5 A;>2> %1 =5 <>65B 2AB@5G0BLAO A ;N1K< 4@C38< =0720=85< @568<0.5The keyword %1 cannot occur with any other mode name. QtXmlPatterns>A;54=OO G0ABL ?CB8 4>;6=0 A>45@60BL C7;K 8;8 0B><0@=K5 7=0G5=8O, => =5 <>65B A>45@60BL 8 B>, 8 4@C3>5 >4=>2@5<5==>.kThe last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. QtXmlPatternsZ>7<>6=>ABL 8<?>@B0 <>4C;59 =5 ?>445@68205BAO*The module import feature is not supported QtXmlPatternsd0720=85 %1 =5 A>>B25BAB2C5B =8 >4=><C B8?C AE5<K..The name %1 does not refer to any schema type. QtXmlPatterns0720=85 @0AG8BK205<>3> 0B@81CB0 =5 <>65B 8<5BL URI ?@>AB@0=AB20 8<Q= %1 A ;>:0;L=K< 8<5=5< %2.ZThe name for a computed attribute cannot have the namespace URI %1 with the local name %2. QtXmlPatterns<O ?5@5<5==>9, A2O70==>9 A 2K@065=85< for, 4>;6=> >B;8G0BLAO >B ?>78F8>==>9 ?5@5<5==>9. 25 ?5@5<5==K5 A 8<5=5< %1 :>=D;8:BCNB.The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. QtXmlPatterns|0720=85 2K@065=8O @0AH8@5=8O 4>;6=> 1KBL 2 ?@>AB@0=AB25 8<Q=.;The name of an extension expression must be in a namespace. QtXmlPatterns0720=85 >?F88 4>;6=> A>45@60BL ?@5D8:A. 5B ?@>AB@0=AB20 8<Q= ?> C<>;G0=8N 4;O >?F89.TThe name of an option must have a prefix. There is no default namespace for options. QtXmlPatternsf@>AB@0=BA2> 8<Q= %1 70@575@28@>20=>, ?>MB><C ?>;L7>20B5;LA:85 DC=:F88 =5 <>3CB 53> 8A?>;L7>20BL. >?@>1C9B5 ?@54>?@545;Q==K9 ?@5D8:A %2, :>B>@K9 ACI5AB2C5B 4;O ?>4>1=KE A8BC0F89.The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. QtXmlPatternsURI ?@>AB@0=AB20 8<Q= =5 <>65B 1KBL ?CAB>9 AB@>:>9 ?@8 A2O7K20=88 A ?@5D8:A>< %1.JThe namespace URI cannot be the empty string when binding to a prefix, %1. QtXmlPatternsURI ?@>AB@0=AB20 8<Q= 2 =0720=88 @0AAG8BK205<>3> 0B@81CB0 =5 <>65B 1KBL %1.DThe namespace URI in the name for a computed attribute cannot be %1. QtXmlPatternsURI ?@>AB@0=AB20 8<Q= 4>;6=> 1KBL :>=AB0=B>9 8 =5 <>65B A>45@60BL 2K@065=89.IThe namespace URI must be a constant and cannot use enclosed expressions. QtXmlPatterns,@>AB@0=AB2> 8<Q= 4;O ?>;L7>20B5;LA:8E DC=:F89 =5 <>65B 1KBL ?CABK< (?>?@>1C9B5 ?@54>?@545;Q==K9 ?@5D8:A %1, :>B>@K9 ACI5AB2C5B 4;O ?>4>1=KE A8BC0F89)yThe namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) QtXmlPatterns8@>AB@0=AB2> 8<Q= ?>;L7>20B5;LA:>9 DC=:F88 2 <>4C;5 181;8>B5:8 4>;65= A>>B25BAB2>20BL ?@>AB@0=AB2C 8<Q= <>4C;O. @C38<8 A;>20<8, >= 4>;65= 1KBL %1 2<5AB> %2The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 QtXmlPatterns$>@<0 =>@<0;870F88 %1 =5 ?>445@68205BAO. >445@6820NBAO B>;L:> %2, %3, %4, %5 8 ?CAB0O, B.5. ?CAB0O AB@>:0 (157 =>@<0;870F88).The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). QtXmlPatternsv5@540= ?0@0<5B@ %1 , => A>>B25BAB2CNI53> %2 =5 ACI5AB2C5B.;The parameter %1 is passed, but no corresponding %2 exists. QtXmlPatternsv5>1E>48< ?0@0<5B@ %1 , => A>>B25BAB2CNI53> %2 =5 ?5@540=>.BThe parameter %1 is required, but no corresponding %2 is supplied. QtXmlPatterns5 C405BAO A2O70BL ?@5D8:A %1. > C<>;G0=8N ?@5D8:A A2O70= A ?@>AB@0=AB2>< 8<Q= %2.TThe prefix %1 can not be bound. By default, it is already bound to the namespace %2. QtXmlPatterns>@5D8:A%1 =5 <>65B 1KBL A2O70=.The prefix %1 cannot be bound. QtXmlPatternsp@5D8:A 4>;65= 1KBL :>@@5:B=K< %1, => %2 8< =5 O2;O5BAO./The prefix must be a valid %1, which %2 is not. QtXmlPatterns>@=52>9 C75; 2B>@>3> 0@3C<5=B0 DC=:F88 %1 4>;65= 1KBL 4>:C<5=B><. %2 =5 O2;O5BAO 4>:C<5=B><.gThe root node of the second argument to function %1 must be a document node. %2 is not a document node. QtXmlPatternsB>@>9 0@3C<5=B %1 =5 <>65B 1KBL B8?0 %2. = 4>;65= 1KBL B8?0 %3, %4 8;8 %5.QThe second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatterns&5;52>5 8<O 2 >1@010BK205<>9 8=AB@C:F88 =5 <>65B 1KBL %1 2 ;N1>9 :><18=0F88 =86=53> 8 25@E=53> @538AB@>2. <O %2 =5:>@@5:B=>.~The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. QtXmlPatternsd&5;52>5 ?@>AB@0=AB2> 8<Q= %1 =5 <>65B 1KBL ?CABK<.-The target namespace of a %1 cannot be empty. QtXmlPatterns=0G5=85 0B@81CB0 %1 M;5<5=B0 %2 4>;6=> 1KBL 8;8 %3, 8;8 %4, => =5 %5.IThe value for attribute %1 on element %2 must either be %3 or %4, not %5. QtXmlPatterns=0G5=85 0B@81CB0 %1 4>;6=> 1KBL B8?0 %2, => %3 5<C =5 A>>B25BAB2C5B.:The value of attribute %1 must of type %2, which %3 isn't. QtXmlPatterns=0G5=85 0B@81CB0 25@A88 XSL-T 4>;6=> 1KBL B8?0 %1, => %2 8< =5 O2;O5BAO.TThe value of the XSL-T version attribute must be a value of type %1, which %2 isn't. QtXmlPatterns:5@5<5==0O %1 =5 8A?>;L7C5BAOThe variable %1 is unused QtXmlPatterns0==K9 >1@01>BG8: =5 @01>B05B A> AE5<0<8, A;54>20B5;L=>, %1 =5 <>65B 8A?>;L7>20BLAO.CThis processor is not Schema-aware and therefore %1 cannot be used. QtXmlPatterns4@5<O %1:%2:%3.%4 =525@=>.Time %1:%2:%3.%4 is invalid. QtXmlPatterns@5<O 24:%1:%2.%3 =525@=>. 24 G0A0, => <8=CBK, A5:C=4K 8/8;8 <8;;8A5:C=4K >B;8G=K >B 0; _Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0;  QtXmlPatterns-;5<5=BK 25@E=53> C@>2=O B01;8FK AB8;59 4>;6=K 1KBL 2 ?@>AB@0=AB25 8<5=, :>B>@K< %1 =5 O2;O5BAO.NTop level stylesheet elements must be in a non-null namespace, which %1 isn't. QtXmlPatterns20 0B@81CB0 >1JO2;5=8O ?@>AB@0=AB2 8<Q= 8<5NB >48=0:>2>5 8<O: %1.2 2 ?@5>1@07>20=88, >6840;>AL %1, ?>;CG5=> %2.-Type error in cast, expected %1, received %2. QtXmlPatterns<58725AB2=K9 0B@81CB XSL-T %1.Unknown XSL-T attribute %1. QtXmlPatternsT=0G5=85 %1 B8?0 %2 1>;LH5 <0:A8<C<0 (%3).)Value %1 of type %2 exceeds maximum (%3). QtXmlPatternsR=0G5=85 %1 B8?0 %2 <5=LH5 <8=8<C<0 (%3).*Value %1 of type %2 is below minimum (%3). QtXmlPatterns|5@A8O %1 =5 ?>445@68205BAO. >445@68205BAO XQuery 25@A88 1.0.AVersion %1 is not supported. The supported XQuery version is 1.0. QtXmlPatternsA;8 ?0@0<5B@ =5>1E>48<, 7=0G5=85 ?> C<>;G0=85 =5 <>65B 1KBL ?5@540=> G5@57 0B@81CB %1 8;8 :>=AB@C:B>@ ?>A;54>20B5;L=>AB8.rWhen a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. QtXmlPatternsA;8 %2 A>45@68B 0B@81CB %1, :>=AB@C:B>@ ?>A;54>20B5;L=>AB8 =5 <>65B 1KBL 8A?>;L7>20=.JWhen attribute %1 is present on %2, a sequence constructor cannot be used. QtXmlPatterns|@8 ?@5>1@07>20=88 %2 2 %1 8AE>4=>5 7=0G5=85 =5 <>65B 1KBL %3.:When casting to %1 from %2, the source value cannot be %3. QtXmlPatterns@8 ?@5>1@07>20=88 2 %1 8;8 ?@>872>4=K5 >B =53> B8?K 8AE>4=>5 7=0G5=85 4>;6=> 1KBL B>3> 65 B8?0 8;8 AB@>:>2K< ;8B5@0;><. "8? %2 =54>?CAB8<.When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. QtXmlPatternsA;8 DC=:F8O %1 8A?>;L7C5BAO 4;O A@02=5=8O 2=CB@8 H01;>=0, 0@3C<5=B 4>;65= 1KBL AAK;:>9 =0 ?5@5<5==CN 8;8 AB@>:>2K< ;8B5@0;><.vWhen function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. QtXmlPatterns!8<2>;K ?@>15;>2 C40;5=K, 70 8A:;NG5=85< B5E, GB> 1K;8 2 :;0AA0E A8<2>;>2OWhitespace characters are removed, except when they appear in character classes QtXmlPatternsP>4 %1 =525@5=, B0: :0: =0G8=05BAO A %2.-Year %1 is invalid because it begins with %2. QtXmlPatterns ?CAB>empty QtXmlPatterns@>2=> >48= exactly one QtXmlPatterns>48= 8;8 1>;55 one or more QtXmlPatterns=C;L 8;8 1>;55 zero or more QtXmlPatterns=C;L 8;8 >48= zero or one QtXmlPatterns ) , qelectrotech-0.22+svn897/lang/qet_es.qm0000644000175000017500000030150311346742300017641 0ustar laurentlaurent7 GG_&H^I(C^IiEKI L:M1M2.Q5QR1U_:&HU%`V58V5W~VbZg,Z:Z`fi[hN%iiE2iiERp:8rE3yrETvvzɅzϥ4 zϥ[إ&}TՖ*4I<#<.~0%(vpz>T'WǶgyɌ_/N;!?ӃsY1ؾz2ܥ$r`ss nGba~.n/wtoƄ # sk01h1+aB"bMou&S*Vah5h-k 'k^MldQ7n#ds2<:h?Y<>z!r۬-y yĎNQ^I|IF"ܰc%_o Z w(1l\ ba"["[.(4Rf@>-eA_[Sja"X@FZ 6Z Oehn*x}5(xܲ^ Ӳ I r=,60e5LɩW$±V±)#d_k2N75=4P+, Ad&, +,(Sb3yHv Hv [(NtV!FXQ~(_.Q_[gN h:fylnFs!5yI~{%r83y3ZYasP>>MQrPN-h!hvWK>TI& 50 ! Y7'!jx%J1e6ǃ1EEsSYgs<4vy,y68\zJ_XuXNbߩ%}+)b`͙>uά<) `* !*[}MPDTEd9i*$RL7‘ދɌCɌdɌɌLɌ`av\9g1qf֎=3"naz&  > >2M+^tB~tT6%d!(Nf5.8(5BH}pNQT{N>O~KP%P%P%IV:V|`Cf\i8ui8u`ul3l3l5<l5o ;q^vQy`dzah   fOdZ=B_=Bj3Đ4p1aQp1gBuG% (yHn*':Z: :Z.ƪ[22/7!c柅HddO+ 5D ,n:'::P`:P{)m/F0w2(W??53?5Z^HǔIE?J.MȤPc AQ><Rf|RfؿYv=h|hY]ioNyh}1^~;dT, i4687o>>hst9%2%RC2S6U2QZ(Ut~)z=~jLa>^cck!C  j9ah^*7T<}z> B@/nJ* KK(L˅huPk@Qk@RRnoeSrxy`zYz@mE"tA eZ o1Z׉%e%h.ٴ-W".:dy!4ٮNtuq~XG:^=tTzeETGiUxe%h_(NH5 ke8N'zU‚QpU‚U‚ U‚o]u m/o8ioYc;\Q K>iaY.[/[ a[ [[[^B[c[eh[hQDt/@#OrUrr)%R"gϜ.%C AVXٟ~^#ܖvܞ][ޚrƊ  # s  ִ# M` K# < <7 j0 1NE 3\e ;E@ K DC Pci Pc \5\ }v s0Gj  5[f  N Z ] cH d g ݚ ԠwF R  )b Zu C / ;DO Uj tm r" B 8N 8Nv 2 R N8 NL aD s  Ƃ! Ƃ d -z "= "= # &P */ʩ */V 2\ @53 Q) ^- _ bς bς dU'l dTg e5e0 e5h k4 k,4 m q  r6 rO tE v H' d sv SV ͥ70 ͥT >" ]i n" 63 6Z p i ib idV if ^!Qq ar v{ ̓G ϧj7 ׿  u9 ގ [ Ⱦ 4U 4 4 .n/ O| %1d %p &hu &k!* A2 F ^#{8 _?^D l"u l": y2G y` >l ja SN q sVU =L * nAa n =cU ?W ug ӽ" 鶏$ 5 2 uXe deQ  ) U} T M v`a_ ' AN# ,Zf 33E 3T~ 5( @xl BEv LUM R7x VFB XU [{5$Q ]Vc] `8rBp hu l(S v.W z ~c u` ^ ^3 58 c 6m Oc ] t :' 3 Ϛ Ϛ, & F b2 b2S *C,%  n b b v`d 5^ , g$ /*m u9  >J Q L ~ '^ '^ a (3n: )5 -! ?W C— DY DYs DY, DY_ DYu DY DZC DZ DZϾ E \ TK T U%\ X [#S \ \ރ aՒ! yC? z q 'Xr  ȣ  3  ~$g U q ^ y /( f6Y. A 4K>-?T?TxAREG6zISs/UAmWQtnC^nn)n?v^/vr{ Jg q%  ^h@@7Ap%3~$~XeI~H2 h>pp  u9H>R>iiZ(Acuerdo de &licencia&Accord de licenceAboutQET&Contribuyentes&ContributeursAboutQET&Traductores &TraducteursAboutQETA&utoresA&uteursAboutQETREste programa est bajo licencia GNU/GPL.&Ce programme est sous licence GNU/GPL.AboutQET IconosIcnesAboutQETIdea originalIde originaleAboutQETDebian paquetesPaquets DebianAboutQETFedora paquetesPaquets FedoraAboutQET"Mandriva paquetesPaquets MandrivaAboutQETProgramacin ProgrammationAboutQETQElectroTech, una aplicacin de realizacin de esquemas elctricos.DQElectroTech, une application de ralisation de schmas lectriques.AboutQET*Traduccin al espaolTraduction en espagnolAboutQET.Traduccin al portugusTraduction en portugaisAboutQET$Traduccin al rusoTraduction en russeAboutQET&Traduccin al checoTraduction en tchqueAboutQET^ 2006-2010 Los desarrolladores de QElectroTech, 2006-2010 Les dveloppeurs de QElectroTechAboutQET&Acerca de &proposAboutQET,Acerca de QElectroTech propos de QElectrotechAboutQETngulo:Angle : ArcEditorngulo inicial:Angle de dpart : ArcEditorCentro: Centre :  ArcEditorDimetros: Diamtres :  ArcEditorabscisaabscisse ArcEditor nguloangle ArcEditorngulo inicialangle de dpart ArcEditor&dimetro horizontaldiamtre horizontal ArcEditor"dimetro verticaldiamtre vertical ArcEditorhorizontal: horizontal : ArcEditorordenadaordonne ArcEditorvertical: vertical : ArcEditorAutor: %1 Auteur : %1 BorderInsetFecha: %1 Date : %1 BorderInsetArchivo: %1 Fichier : %1 BorderInsetFolio: %1 Folio : %1 BorderInset6Mostrar los encabezamientosAfficher les en-ttesBorderPropertiesWidgetColumnas: Colonnes :BorderPropertiesWidget.Dimensiones del esquemaDimensions du schmaBorderPropertiesWidget Filas:Lignes :BorderPropertiesWidgetpxpxBorderPropertiesWidgetpxunit for rows heightpxBorderPropertiesWidgetBorderPropertiesWidgetCentra: Centre :  CircleEditorDimetro: Diamtre :  CircleEditorabscisaabscisse CircleEditordimetrodiamtre CircleEditorordenadaordonne CircleEditor*Aspecto del conductorApparence du conducteurConductorPropertiesWidget Color: Couleur :ConductorPropertiesWidgetMultilnea MultifilaireConductorPropertiesWidget SimpleSimpleConductorPropertiesWidget Texto:Texte :ConductorPropertiesWidgetLnea de puntosTrait en pointillsConductorPropertiesWidget"Tipo de conductorType de conducteurConductorPropertiesWidgetMonolnea UnifilaireConductorPropertiesWidget neutroneutreConductorPropertiesWidget fasorphaseConductorPropertiesWidget tierraterreConductorPropertiesWidget.Configurar QElectroTechConfigurer QElectroTech ConfigDialog<Eleccin del tipo de impresinChoix du type d'impressionDiagramPrintDialog Archivo faltandoFichier manquantDiagramPrintDialog(Archivos PDF (*.pdf)Fichiers PDF (*.pdf)DiagramPrintDialog4Archivos PostScript (*.ps)Fichiers PostScript (*.ps)DiagramPrintDialog@Impresin a una impresora fsica&Impression sur une imprimante physiqueDiagramPrintDialog4Impresin a un archivo PDF(Impression vers un fichier au format PDFDiagramPrintDialogLImpresin a un archivo PostScript (PS)4Impression vers un fichier au format PostScript (PS)DiagramPrintDialog*Opciones de impresinOptions d'impressionDiagramPrintDialogFQu tipo de impresin desea hacer?/Quel type d'impression dsirez-vous effectuer ?DiagramPrintDialoglDebe especificar la ruta del archivo PDF / PS a crear.8Vous devez indiquer le chemin du fichier PDF/PS crer.DiagramPrintDialogAutorizadas Autorises DiagramViewConectores: %1 Bornes: %1  DiagramView&Campos de texto: %1Champs de texte: %1  DiagramViewPegar aqu Coller ici DiagramView0Conecciones internas: %1Connexions internes: %1  DiagramViewTamaos: %1%2Dimensions: %1%2  DiagramView"Emplazamiento: %1Emplacement: %1  DiagramViewProhibidas Interdites DiagramView2La seleccin contiene %1.La slection contient %1. DiagramViewNombre: %1 Nom: %1  DiagramViewPosicin: %1 Position: %1  DiagramViewHPropiedades del element seleccionado#Proprits de l'lment slectionn DiagramView6Propiedades de la seleccinProprits de la slection DiagramView.Propiedades del esquemaProprits du schma DiagramView(Econtrar en el panelRetrouver dans le panel DiagramViewEsquema %1 Schma %1 DiagramView$Esquema sin ttuloSchma sans titre DiagramView$Editar el elementoditer l'lment DiagramViewLEditar las propiedades de un conductor%diter les proprits d'un conducteur DiagramViewrEditar las propiedades predeterminadas de los conductores0diter les proprits par dfaut des conducteurs DiagramViewElementolment DiagramView"Elemento faltandolment manquant DiagramView$Esquema sin ttuloSchma sans titreDiagramsChooserDNo se ha podido crear el elemento.!L'lment cible n'a pu tre cr.ElementDefinitionNNo se ha podido eliminar este elemento.'La suppression de cet lment a chou.ElementDefinition<El borrado del elemento fall.%La suppression de l'lment a chou.ElementDeleter(Borrado del elementoSuppression de l'lmentElementDeleter(Borrar el elemento?Supprimer l'lment ?ElementDeleterPRealmente quiere borrar este elemento? 1tes-vous sr de vouloir supprimer cet lment ? ElementDeletertElige un elemento en lo que quieres guardar su definicin.MChoisissez l'lment dans lequel vous souhaitez enregistrer votre dfinition. ElementDialogFElige el elemento que quiere abrir./Choisissez l'lment que vous souhaitez ouvrir. ElementDialog(Elige una categora.Choisissez une catgorie. ElementDialog&Guardar un elementoEnregistrer un lment ElementDialog&Guardar un elementoEnregistrer une catgorie ElementDialogZEl elemento ya existe. Quiere sobrescribirlo?.L'lment existe dj. Voulez-vous l'craser ? ElementDialog>Lo selectado no es un elemento."La slection n'est pas un lment. ElementDialog.Lo selectado no existe.La slection n'existe pas. ElementDialogNombre:Nom : ElementDialog Nombre no vlido Nom invalide ElementDialogNombre faltando Nom manquant ElementDialog"Abrir un elementoOuvrir un lment ElementDialog&Abrir una categoraOuvrir une catgorie ElementDialog No hay seleccinPas de slection ElementDialog(Seleccin incorrectoSlection incorrecte ElementDialog&No existe seleccinSlection inexistante ElementDialog\Tienes que escribir un nombre para el elemento'Vous devez entrer un nom pour l'lment ElementDialogDTiene que seleccionar un elemento.#Vous devez slectionner un lment. ElementDialogfTienes que seleccionar una categora o un elemento.4Vous devez slectionner une catgorie ou un lment. ElementDialogNo puede usar los caracteres siguientes en el nombre del elemento: %1QVous ne pouvez pas utiliser les caractres suivants dans le nom de l'lment : %1 ElementDialog4Sobrescribir el elemento?craser l'lment ? ElementDialogBPermitir las conecciones internas!Autoriser les connexions internes ElementScenehEste documento XML no es una definicin de elemento.3Ce document XML n'est pas une dfinition d'lment. ElementScenePor defecto, la orientacin es la orientacin usada durante la creacin del elemento.]L'orientation par dfaut est l'orientation dans laquelle s'effectue la cration de l'lment. ElementScenePLos tamaos o el hotspot no son valides.9Les dimensions ou le point de saisie ne sont pas valides. ElementSceneBLas orientaciones no son valides.%Les orientations ne sont pas valides. ElementScenepPuede escribir el nombre del elemento en varias lenguas.AVous pouvez spcifier le nom de l'lment dans plusieurs langues. ElementScene$Usted puede utilizar este campo en blanco para indicar los autores de los elementos, su licencia, o cualquier otra informacin que considere til.Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'lment, sa licence, ou tout autre renseignement que vous jugerez utile. ElementScenearcoarc ElementSceneconectorborne ElementScenecrculocercle ElementScenecampo de textochamp de texte ElementScene elipseellipse ElementScene linealigne ElementScenepolgonopolygone ElementScenerectngulo rectangle ElementScene textotexte ElementScene:Editar el tamao o el hotspot&diter la taille et le point de saisie ElementSceneHEditar la informacin sobre el autor$diter les informations sur l'auteur ElementScene$Editar los nombresditer les noms ElementScene0Editar las orientacionesditer les orientations ElementSceneColeccin QETCollection QETElementsCategoriesList$Coleccin proyectoCollection projetElementsCategoriesList"Coleccin usuarioCollection utilisateurElementsCategoriesListNueva categoraNouvelle catgorieElementsCategoriesWidget.Recargar las categorasRecharger les catgoriesElementsCategoriesWidget&Borrar la categoraSupprimer la catgorieElementsCategoriesWidget&Editar la categoraditer la catgorieElementsCategoriesWidgetDNo es posible mover una coleccin.1Il n'est pas possible de dplacer une collection.ElementsCategoryBImposible de eliminar el elemento!Impossible de supprimer l'lmentElementsCategoryFImposible de eliminar una categora$Impossible de supprimer la catgorieElementsCategoryCopiar una categora en si mismo o en una de sus subcategoras no es posible.]La copie d'une catgorie vers elle-mme ou vers l'une de ses sous-catgories n'est pas gre.ElementsCategoryRFracas la eliminacin de esta categora.+La suppression de cette catgorie a chou.ElementsCategory~Mover una categora en unas de sus subcategoras no es posible.RLe dplacement d'une catgorie dans une de ses sous-catgories n'est pas possible.ElementsCategoryBEl borrado de la categora fall.(La suppression de la catgorie a chou.ElementsCategoryDeleter.Borrado de la categoraSuppression de la catgorieElementsCategoryDeleter*Borrar la categora?Supprimer la catgorie ?ElementsCategoryDeleter*Vaciar la coleccin?Vider la collection ?ElementsCategoryDeleterRealmente quiere borrar esta categora? Todos los elementos y categoras de estas categoras van a ser borrados.tes-vous sr de vouloir supprimer la catgorie ? Tous les lments et les catgories contenus dans cette catgorie seront supprims.ElementsCategoryDeleterZEst seguro de querer vaciar esta coleccin?1tes-vous sr de vouloir vider cette collection ?ElementsCategoryDeleterEst realmente seguro de borrar esta categora? Los cambios no podran ser revertidos.`tes-vous vraiment sr de vouloir supprimer cette catgorie ? Les changements seront dfinitifs.ElementsCategoryDeleter0Esta categora no existeCatgorie inexistanteElementsCategoryEditor2Crear una nueva categoraCrer une nouvelle catgorieElementsCategoryEditor ErrorErreurElementsCategoryEditorBImposible de guardar la categora%Impossible d'enregistrer la catgorieElementsCategoryEditorBImposible de crear esta categora Impossible de crer la catgorieElementsCategoryEditorLLa categora pedida no existe. Aborto.,La catgorie demande n'existe pas. Abandon.ElementsCategoryEditorEl nombre interno que ha escogido es ya usado para una categora que existe. Por favor elige otro nombre.oLe nom interne que vous avez choisi est dj utilis par une catgorie existante. Veuillez en choisir un autre.ElementsCategoryEditor8Nombre de la nueva categoraNom de la nouvelle catgorieElementsCategoryEditorNombre interno:Nom interne : ElementsCategoryEditor.Nombre interno ya usadoNom interne dj utilisElementsCategoryEditor.Falta un nombre internoNom interne manquantElementsCategoryEditor8Puede dar un nombre interno.$Vous devez spcifier un nom interne.ElementsCategoryEditorNo tiene los derechos para editar esta categora. Por eso se abre en lectura sola.rVous n'avez pas les privilges ncessaires pour modifier cette catgorie. Elle sera donc ouverte en lecture seule.ElementsCategoryEditorrSe puede dar un nombre por cada idioma para la categora.:Vous pouvez spcifier un nom par langue pour la catgorie.ElementsCategoryEditor(Editar una categoraditer une catgorieElementsCategoryEditor.Edicin en lectura soladition en lecture seuleElementsCategoryEditorDNo es posible mover una coleccin.1Il n'est pas possible de dplacer une collection.ElementsCollection8%1 [no usado en el proyecto]%1 [non utilis dans le projet] ElementsPanelEso es un elemento que se puede insertar en su esquema con clicar-moverRCeci est un lment que vous pouvez insrer dans votre schma par cliquer-dplacer ElementsPanelArrastar y soltar este elemento al esquema para insertar un elementoBCliquer-dposez cet lment sur le schma pour insrer un lment  ElementsPanelColeccin QETCollection QET ElementsPanel$Coleccin proyectoCollection projet ElementsPanel"Coleccin usuarioCollection utilisateur ElementsPanelNo hay archivoPas de fichier ElementsPanel$Esquema sin ttuloSchma sans titre ElementsPanel$Bajar este esquemaAbaisser ce schmaElementsPanelWidget"Aadir un esquemaAjouter un schmaElementsPanelWidgetDeshacerAnnulerElementsPanelWidget0Copiar en esta categoraCopier dans cette catgorieElementsPanelWidget.Mover en esta categoraDplacer dans cette catgorieElementsPanelWidget Borrar un filtroEffacer le filtreElementsPanelWidget(Cerrar este proyectoFermer ce projetElementsPanelWidgetFiltrar: Filtrer : ElementsPanelWidget2Gestionario de categorasGestionnaire de catgoriesElementsPanelWidget(Importar un elementoImporter un lmentElementsPanelWidgetNuevo elementoNouvel lmentElementsPanelWidgetNueva categoraNouvelle catgorieElementsPanelWidget0Propiedades del proyectoProprits du projetElementsPanelWidget.Propiedades del esquemaProprits du schmaElementsPanelWidget0Recargar las coleccinesRecharger les collectionsElementsPanelWidget$Subir este esquemaRemonter ce schmaElementsPanelWidget*Eliminar este esquemaSupprimer ce schmaElementsPanelWidget(Eliminar el elementoSupprimer l'lmentElementsPanelWidget*Eliminar la categoraSupprimer la catgorieElementsPanelWidget&Vaciar la coleccinVider la collectionElementsPanelWidgetPuede usar este gestionario para agregar, eliminar o editar las categoras.XVous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catgories.ElementsPanelWidget$Editar el elementoditer l'lmentElementsPanelWidget&Editar la categoraditer la catgorieElementsPanelWidgetCentro: Centre :  EllipseEditorDimetros: Diamtres :  EllipseEditorabscisaabscisse EllipseEditor&dimetro horizontaldiamtre horizontal EllipseEditor"dimetro verticaldiamtre vertical EllipseEditorhorizontal: horizontal : EllipseEditorordenadaordonne EllipseEditorvertical: vertical : EllipseEditorExportacinExportExportConfigPageVista previaAperu ExportDialoglElige los esquemas con sus tamaos que desea exportar:MChoisissez les schmas que vous dsirez exporter ainsi que leurs dimensions : ExportDialogTamaos Dimensions ExportDialog.Se necesita una carpetaDossier non spcifi ExportDialogExportarExporter ExportDialogDExportar los esquemas del proyectoExporter les schmas du projet ExportDialogParece que no tiene los permisos necesarios para escribir en el archivo %1.]Il semblerait que vous n'ayez pas les permissions ncessaires pour crire dans le fichier %1. ExportDialog@Imposible escribir en el archivo#Impossible d'crire dans ce fichier ExportDialog"Nombre de archivoNom de fichier ExportDialogDNombres de los archivos de destinoNoms des fichiers cibles ExportDialogEsquemaSchma ExportDialogTiene que entrar un nombre de archivo non vaco y nico para cada esquema a exportar.UVous devez entrer un nom de fichier non vide et unique pour chaque schma exporter. ExportDialogTiene que dar un camino a la carpeta en que se va grabar los archivos de imgines.]Vous devez spcifier le chemin du dossier dans lequel seront enregistrs les fichiers images. ExportDialogpxpxExportDialog::ExportDiagramLineBitmap (*.bmp)Bitmap (*.bmp)ExportPropertiesWidgetPPreservar los colores de los conductores&Conserver les couleurs des conducteursExportPropertiesWidgetDibujar la rejaDessiner la grilleExportPropertiesWidget"Dibujar el cuadroDessiner le cadreExportPropertiesWidget&Dibujar el cartuchoDessiner le cartoucheExportPropertiesWidget$Dibujar conectoresDessiner les bornesExportPropertiesWidget&Carpeta de destino:Dossier cible :ExportPropertiesWidget,Exportar en la carpetaExporter dans le dossierExportPropertiesWidget$Exportar el cuadroExporter le cadreExportPropertiesWidget,Exportar los elementosExporter les lmentsExportPropertiesWidgetFormato:Format :ExportPropertiesWidgetJPEG (*.jpg) JPEG (*.jpg)ExportPropertiesWidget4Opciones de representacinOptions de renduExportPropertiesWidgetPNG (*.png) PNG (*.png)ExportPropertiesWidgetNavegar ParcourirExportPropertiesWidgetSVG (*.svg) SVG (*.svg)ExportPropertiesWidgetAspecto ApparenceGeneralConfigurationPageEstos parmetros van ser activados la prxima vez que se va a abrir un editor de esquemas.QCes paramtres s'appliqueront ds la prochaine ouverture d'un diteur de schmas.GeneralConfigurationPageCada elemento da informacin sobre sus autores, su licencia, o cualquier otra informacin que considere til en un campo abierto. Puede establecer el valor por defecto de este campo para los elementos que usted cree:Chaque lment embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spcifier ici la valeur par dfaut de ce champ pour les lments que vous crerez :GeneralConfigurationPage0Gestionario de elementosGestion des lmentsGeneralConfigurationPageGeneralGnralGeneralConfigurationPageAutomticamente integrar los elementos en los proyectos (recomendado)CIntgrer automatiquement les lments dans les projets (recommand)GeneralConfigurationPageProyectosProjetsGeneralConfigurationPage"Utilizar ventanasUtiliser des fentresGeneralConfigurationPage"Utilizar pestaasUtiliser des ongletsGeneralConfigurationPage0Usar colores del sistema Utiliser les couleurs du systmeGeneralConfigurationPage8<u>Elemento faltando:</u> %1lment manquant: %1 GhostElement px px HotspotEditor 10 px 10 px HotspotEditorv<span style="text-decoration:underline;">Dimensiones</span>:Dimensions HotspotEditorn<span style="text-decoration:underline;">Hotspot</span>7Hotspot HotspotEditorAbscisa: Abscisse : HotspotEditor@Mover el elemento con el hotspot"Dplacer l'lment avec le hotspot HotspotEditorAltura: Hauteur : HotspotEditorEl elemento tiene que ser suficientemente grande para contener la representacin grfica entera.OL'lment doit tre assez grand pour contenir tout sa reprsentation graphique. HotspotEditorAnchura: Largeur : HotspotEditorOrdenada: Ordonne : HotspotEditor Autor: Auteur : InsetPropertiesWidget Fecha:Date : InsetPropertiesWidgetFecha actual Date couranteInsetPropertiesWidgetFecha fixada: Date fixe : InsetPropertiesWidgetArchivo: Fichier : InsetPropertiesWidget Folio:Folio : InsetPropertiesWidget>Informaciones sobre el cartuchoInformations du cartoucheInsetPropertiesWidgetLLas variables siguientes pueden ser usadas en el campo Folio: - %id: nmero del esquema corriente en el proyecto - %total: nmero total de esquemas en el proyectoLes variables suivantes sont utilisables dans le champ Folio : - %id : numro du schma courant dans le projet - %total : nombre total de schmas dans le projetInsetPropertiesWidgetNo fecha Pas de dateInsetPropertiesWidgetTtulo:Titre : InsetPropertiesWidgetBHacer que dos elementos coexisten!Faire cohabiter les deux lmentsIntegrationMoveElementsHandler0Inclusin de un elementoIntgration d'un lmentIntegrationMoveElementsHandler:Incluir el elemento colocadoIntgrer l'lment dposIntegrationMoveElementsHandlerEl elemento ya fue incluido en el proyecto. Sin embargo, la versin que trate de poner parece ser diferente. Que desea hacer?L'lment a dj t intgr dans le projet. Toutefois, la version que vous tentez de poser semble diffrente. Que souhaitez-vous faire ?IntegrationMoveElementsHandler8Usar un elemento ya incluidoUtiliser l'lment dj intgrIntegrationMoveElementsHandlerJSobreescribir el elemento ya incluidocraser l'lment dj intgrIntegrationMoveElementsHandlerDeshacerAnnulerInteractiveMoveElementsHandler(Copia de %1 hacia %2Copie de %1 vers %2InteractiveMoveElementsHandler ErrorErreurInteractiveMoveElementsHandlerIgnorarIgnorerInteractiveMoveElementsHandlerIgnorar todo Ignorer toutInteractiveMoveElementsHandler\El elemento %1 no se puede acceder en lectura.-L'lment %1 n'est pas accessible en lecture.InteractiveMoveElementsHandler`El elemento %1 no se puede acceder en escritura..L'lment %1 n'est pas accessible en criture.InteractiveMoveElementsHandler^El elemento %1 ya existe. Que desea hacer?8L'lment %1 existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandler^La categora %1 no se puede acceder en lectura.0La catgorie %1 n'est pas accessible en lecture.InteractiveMoveElementsHandlerbLa categora %1 no se puede acceder en escritura.1La catgorie %1 n'est pas accessible en criture.InteractiveMoveElementsHandlernLa categora %1 (%2) ya existe. Que desea hacer?@La catgorie %1 (%2) existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandlerRenombrarRenommerInteractiveMoveElementsHandlerSobreescribircraserInteractiveMoveElementsHandler$Sobreescribir todo craser toutInteractiveMoveElementsHandlerCuadradoCarr LineEditorCuadradotype of the 2nd end of a lineCarr LineEditorCrculoCercle LineEditorCrculotype of the 2nd end of a lineCercle LineEditor Fin 1Fin 1 LineEditor Fin 2Fin 2 LineEditorFlecha simple Flche simple LineEditorFlecha simpletype of the 2nd end of a line Flche simple LineEditor"Flecha triangularFlche triangulaire LineEditor"Flecha triangulartype of the 2nd end of a lineFlche triangulaire LineEditor NormalNormale LineEditor Normaltype of the 2nd end of a lineNormale LineEditorabscisa punto 1abscisse point 1 LineEditorabscisa punto 2abscisse point 2 LineEditorlongitud fin 1longueur fin 1 LineEditorlongitud fin 2longueur fin 2 LineEditor ordenada punto 1ordonne point 1 LineEditor ordenada punto 2ordonne point 2 LineEditortipo fin 1 type fin 1 LineEditortipo fin 2 type fin 2 LineEditor Aadir una lneaAjouter une ligneNamesListWidget>Se necesita al menos un nombre. Il doit y avoir au moins un nom.NamesListWidget IdiomaLangueNamesListWidget NombreNomNamesListWidgetLTiene que escribir al menos un nombre."Vous devez entrer au moins un nom.NamesListWidgetNuevo esquemaNouveau schmaNewDiagramPage&Siguiente > &Suivant >NewElementWizardDCrear un nuevo elemento: Asistente#Crer un nouvel lment : AssistantNewElementWizard ErrorErreurNewElementWizardzEscribe el nombre del archivo donde grabar el nuevo elemento.EIndiquez le nom du fichier dans lequel enregistrer le nouvel lment.NewElementWizardZEscribe el nombre o los nombres del elemento.%Indiquez le ou les noms de l'lment.NewElementWizard`De las oientaciones posibles del nuevo elemento.;Indiquez les orientations possibles pour le nouvel lment.NewElementWizard|Por favor no uses los caracteres siguientes: \ / : * ? " < > |DMerci de ne pas utiliser les caractres suivants : \ / : * ? " < > |NewElementWizard2Nombre del nuevo elementoNom du nouvel lmentNewElementWizardEscribe las dimensiones del nuevo elemento y la posicin del hotspot (punto de referencia de la imagen cuando arrastan con el ratn), suponiendo que el elemento es un su orientacin por defecto.Saisissez les dimensions du nouvel lment ainsi que la position du hotspot (point de saisie de l'lment la souris) en considrant que l'lment est dans son orientation par dfaut.NewElementWizardpSelecciona una categora donde grabar el nuevo elemento.GSlectionnez une catgorie dans laquelle enregistrer le nouvel lment.NewElementWizardDTiene que dar un nombre de archivo#Vous devez entrer un nom de fichierNewElementWizardHTiene que seleccionar una categora.&Vous devez slectionner une catgorie.NewElementWizardNo es obligatorio dar la extensin *.elmt. Se va agregar esta extensin automticamente.YVous n'tes pas oblig de prciser l'extension *.elmt. Elle sera ajoute automatiquement.NewElementWizardnuevo_elementonouvel_elementNewElementWizard8Etapa 1/5: Caegora parientetape 1/5 : Catgorie parenteNewElementWizard:Etapa 2/5: Nombre del archivotape 2/5 : Nom du fichierNewElementWizard>Etapa 3/5: Nombres del elementotape 3/5 : Noms de l'lmentNewElementWizard@Etapa 4/5: Dimensiones y hotspot)tape 4/5 : Dimensions et point de saisieNewElementWizard0Etapa 5/5: Orientacionestape 5/5 : OrientationsNewElementWizard Este:Est :OrientationSetWidgetImposible ImpossibleOrientationSetWidget Norte:Nord :OrientationSetWidget Oeste:Ouest :OrientationSetWidgetPrdeterminado Par dfautOrientationSetWidgetPosiblePossibleOrientationSetWidgetSur:Sud :OrientationSetWidget ErrorErreur PolygonEditorfEl polgono tiene que implicar al menos dos puntos.0Le polygone doit comporter au moins deux points. PolygonEditor(Puntos del polgono:Points du polygone : PolygonEditor Polgono cerradoPolygone ferm PolygonEditor&cierre del polgonofermeture du polygone PolygonEditorxx PolygonEditoryy PolygonEditorImpresin ImpressionPrintConfigPageEste proyecto es en slo lectura. Por eso es imposible limpiarlo.JCe projet est en lecture seule. Il n'est donc pas possible de le nettoyer. ProjectViewLNo hay ningun esquema en este proyecto"Ce projet ne contient aucun schma ProjectViewSe agreg el esquema, pero no fue editado tampoco guardado. Quiere mantenerlo?XCe schma a t ajout mais n'a t ni modifi ni enregistr. Voulez-vous le conserver ? ProjectView2Grabar el nuevo esquema?Enregistrer le nouveau schma ? ProjectView>Guardar el proyecto corriente? Enregistrer le projet en cours ? ProjectView:Grabar el esquema corriente? Enregistrer le schma en cours ? ProjectViewGuardar comoEnregistrer sous ProjectView&Limpiar el proyectoNettoyer le projet ProjectViewProyectoProjet ProjectView0Proyecto en slo lecturaProjet en lecture seule ProjectView0Propiedades del proyectoProprits du projet ProjectView|Propiedades a utilizar al aadir un nuevo esquema al proyecto:EProprits utiliser lors de l'ajout d'un nouveau schma au projet : ProjectView8Esquema QElectroTech (*.qet)Schma QElectroTech (*.qet) ProjectView*Eliminar el esquema?Supprimer le schma ? ProjectView4Eliminar categoras vaciasSupprimer les catgories vides ProjectView^Eliminar los elementos no usados en el proyecto0Supprimer les lments inutiliss dans le projet ProjectView(Ttulo del proyecto:Titre du projet : ProjectView8Quiere guardar el proyecto?#Voulez-vous enregistrer le projet ? ProjectView:Quiere grabar el esquema %1?&Voulez-vous enregistrer le schma %1 ? ProjectViewproyectoprojet ProjectViewEsts seguro de eliminar el esquema del proyecto? Este cambio es irreversible.Xtes-vous sr de vouloir supprimer ce schma du projet ? Ce changement est irrversible. ProjectView --common-elements-dir=DIR Definir la carpeta de la coleccin de elementos O --common-elements-dir=DIR Definir le dossier de la collection d'elements QETApp --config-dir=DIR Definir la carpeta de configuracin D --config-dir=DIR Definir le dossier de configuration QETApp --lang-dir=DIR Definir la carpeta con los archivos de idioma T --lang-dir=DIR Definir le dossier contenant les fichiers de langue QETApp0[opciones][archivo]...  [options] [fichier]... QETApp&Esconder&MasquerQETAppR&Esconder todos los editores de elementos$&Masquer tous les diteurs d'lmentQETAppN&Esconder todos los editores de esquema$&Masquer tous les diteurs de schmaQETApp2&Nuevo editor de elemento&Nouvel diteur d'lmentQETApp0&Nuevo editor de esquema&Nouvel diteur de schmaQETApp &Salir&QuitterQETApp&Restaurar &RestaurerQETAppT&Restaurar todos los editores de elementos&&Restaurer tous les diteurs d'lmentQETAppP&Restaurar todos los editores de esquema&&Restaurer tous les diteurs de schmaQETAppCargando... Chargement...QETApp:Cargando....Abriendo archivos$Chargement... Ouverture des fichiersQETApp4Cargando icono del systrayChargement... icne du systrayQETApp:Cargando...Editor de esquemas Chargement... diteur de schmasQETApp>Cierre el programa QElectroTech Ferme l'application QElectroTechQETAppQElectroTech QElectroTechQETAppQElectroTechsystray icon tooltip QElectroTechQETAppQElectroTech, un programa para hacer esquemas de electricidad. Opciones disponibles: --help Mostrar la ayuda sobre las opciones -v, --version Mostrar la versin --license Mostrar la licencia QElectroTech, une application de ralisation de schmas lectriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QETApp,Restaurar QElectroTechRestaurer QElectroTechQETAppHMinimizar QElectroTech en el systray$Rduire QElectroTech dans le systrayQETAppUso:Usage : QETApp*Editores de elementosditeurs d'lmentQETApp(Editores de esquemasditeurs de schmasQETApp A&yuda&AideQETDiagramEditor&Cascada&CascadeQETDiagramEditor&Preferencias&ConfigurationQETDiagramEditor0&Configurar QElectroTech&Configurer QElectroTechQETDiagramEditor&Guardar &EnregistrerQETDiagramEditor6&Guardar todos los esquemas&Enregistrer tous les schmasQETDiagramEditor&Cerrar&FermerQETDiagramEditor&Archivo&FichierQETDiagramEditor&Importar &ImporterQETDiagramEditor&Mosaico &MosaqueQETDiagramEditor &Nuevo&NouveauQETDiagramEditor &Abrir&OuvrirQETDiagramEditorP&royecto&ProjetQETDiagramEditor &Salir&QuitterQETDiagramEditor&Editar&ditionQETDiagramEditor4Activar el proyecto previoActive le projet prcdentQETDiagramEditor:Activar el proyecto siguienteActive le projet suivantQETDiagramEditor4Activar el proyecto %1Active le projet %1QETDiagramEditorAdaptar el tamao del esquema para que se pueda ver todo el esquema>Adapte la taille du schma afin qu'il soit entirement visibleQETDiagramEditor&Ver Afficha&geQETDiagramEditorVer AffichageQETDiagramEditorHMostrar QElectroTech en modo ventana$Affiche QElectroTech en mode fentrQETDiagramEditorRMostrar QElectroTech en pantalla completa(Affiche QElectroTech en mode plein cranQETDiagramEditorXMostrar las informaciones sobre QElectroTech)Affiche des informations sur QElectroTechQETDiagramEditor`Mostrar las informaciones sobre la biblioteca Qt/Affiche des informations sur la bibliothque QtQETDiagramEditorjMostrar o esconder la barra de herramientas "Mostrar"*Affiche ou non la barre d'outils AffichageQETDiagramEditorjMostrar o esconder la barra de herramientas "Esquema"'Affiche ou non la barre d'outils SchmaQETDiagramEditorjMostrar o esconder la barra de herramientas principal+Affiche ou non la barre d'outils principaleQETDiagramEditorPMostrar o esconder la lista de ediciones)Affiche ou non la liste des modificationsQETDiagramEditorNMostrar o esconder el panel de aparatos#Affiche ou non le panel d'appareilsQETDiagramEditorMostrarAfficherQETDiagramEditor"Mostrar proyectosAfficher les projetsQETDiagramEditor$Ampliar el esquemaAgrandit le schmaQETDiagramEditor:Ampliar la altura del esquemaAgrandit le schma en hauteurQETDiagramEditor<Agregar una columna al esquemaAjoute une colonne au schmaQETDiagramEditor0Aadir un campo de textoAjouter un champ de texteQETDiagramEditor"Aadir un esquemaAjouter un schmaQETDiagramEditor$Aadir una columnaAjouter une colonneQETDiagramEditor Aadir una lneaAjouter une ligneQETDiagramEditorAnulaciones AnnulationsQETDiagramEditor2Deshacer la ltima accinAnnule l'action prcdenteQETDiagramEditorDeshacerAnnulerQETDiagramEditor(Ninguna modificacinAucune modificationQETDiagramEditorBackspace BackspaceQETDiagramEditor &PegarC&ollerQETDiagramEditorC&ortarCo&uperQETDiagramEditor6Predeterminados conductoresConducteurs par dfautQETDiagramEditor&CopiarCop&ierQETDiagramEditorfCopiar los elementos seleccionadas en el portapeles5Copie les lments slectionns dans le presse-papierQETDiagramEditor*Crea un nuevo esquemaCre un nouveau schmaQETDiagramEditor Ctrl+0Ctrl+0QETDiagramEditor Ctrl+9Ctrl+9QETDiagramEditor Ctrl+DCtrl+DQETDiagramEditor Ctrl+ICtrl+IQETDiagramEditor Ctrl+JCtrl+JQETDiagramEditor Ctrl+KCtrl+KQETDiagramEditor Ctrl+LCtrl+LQETDiagramEditor Ctrl+QCtrl+QQETDiagramEditorCtrl+Shift+A Ctrl+Shift+AQETDiagramEditorCtrl+Shift+F Ctrl+Shift+FQETDiagramEditorCtrl+Shift+I Ctrl+Shift+IQETDiagramEditorCtrl+Shift+X Ctrl+Shift+XQETDiagramEditor Ctrl+TCtrl+TQETDiagramEditor:Poner las ventanas en cascadaDispose les fentres en cascadeQETDiagramEditor:Poner las ventanas en mosaico Dispose les fentres en mosaqueQETDiagramEditorDeseleccionar los elementos ya seleccionados y seleccionar los elementos an no seleccionadosTDslectionne les lments slectionns et slectionne les lments non slectionnsQETDiagramEditorZDeseleccionar todos los elementos del esquema)Dslectionne tous les lments du schmaQETDiagramEditor$Deseleccionar todoDslectionner toutQETDiagramEditorE&xportar E&xporterQETDiagramEditor&Retirar una columnaEnlever une colonneQETDiagramEditor"Retirar una lneaEnlever une ligneQETDiagramEditor^Quitar los elementos seleccionados del essquema*Enlve les lments slectionns du schmaQETDiagramEditor@Eliminar una columna del esquemaEnlve une colonne au schmaQETDiagramEditor6Guarda el esquema corrienteEnregistre le schma courantQETDiagramEditorlGuarda el esquema corriente con otro nombre de archivo9Enregistre le schma courant avec un autre nom de fichierQETDiagramEditor`Guarda todos los esquemas del proyecto corriente-Enregistre tous les schmas du projet courantQETDiagramEditorGuardar comoEnregistrer sousQETDiagramEditorVExporta el esquema corriente a otro formato.Exporte le schma courant dans un autre formatQETDiagramEditorVenta&nas Fe&ntresQETDiagramEditor>Cierre el programa QElectroTech Ferme l'application QElectroTechQETDiagramEditor6Cierre el esquema corrienteFerme le schma courantQETDiagramEditorParece que el archivo %1 no es un archivo del proyecto QElectroTech. Por eso no se puede abrirlo.hIl semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc tre ouvert.QETDiagramEditor,Parece que el archivo que intente de abrir no se puede acceder en lectura. Por eso es imposible abrirlo. Por favor compruebe los permisos del archivo.Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vrifier les permissions du fichier.QETDiagramEditorParece que el proyecto que intente de abrir no se puede acceder en escritura. Por eso se va abrirlo en slo lectura.Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en criture. Il sera donc ouvert en lecture seule.QETDiagramEditorTImporta un esquema en el esquema corriente(Importe un schma dans le schma courantQETDiagramEditor:Imposible de abrir el archivoImpossible d'ouvrir le fichierQETDiagramEditor`Imposible de encontrar este elemento en el panel1Impossible de retrouver cet lment dans le panelQETDiagramEditorImposible de encontrar este elemento en el panel porque parece que fue editado en otra ventana\Impossible de retrouver cet lment dans le panel car il semble dit dans une autre fentreQETDiagramEditorImposible de encontrar este elemento en el panel ... se est recargando el panel ...MImpossible de retrouver cet lment dans le panel... rechargement du panel...QETDiagramEditor8Imprime el esquema corrienteImprime le schma courantQETDiagramEditorImprimirImprimerQETDiagramEditor$Invertir seleccinInverser la slectionQETDiagramEditorModo seleccinMode SelectionQETDiagramEditor$Modo visualizacinMode VisualisationQETDiagramEditor&Limpiar el proyectoNettoyer le projetQETDiagramEditorHerramientasOutilsQETDiagramEditorHAbriendo el proyecto en slo lectura$Ouverture du projet en lecture seuleQETDiagramEditor6Abrir un esquema que existeOuvre un schma existantQETDiagramEditor Abrir un archivoOuvrir un fichierQETDiagramEditor$Panel de elementosPanel d'lmentsQETDiagramEditorTamao actual Pas de zoomQETDiagramEditorNEntrar en el modo &de pantalla completaPasser en &mode plein cranQETDiagramEditor^Permite arreglar los prametros de QElectroTech6Permet de rgler diffrents paramtres de QElectroTechQETDiagramEditor#Permet de slectionner les lmentsQETDiagramEditor`Permite mostrar el esquema sin permitir editarlo7Permet de visualiser le schma sans pouvoir le modifierQETDiagramEditorBRotar los elementos seleccionados Pivote les lments slectionnsQETDiagramEditor RotarPivoterQETDiagramEditor`Poner los elementos del portapeles en el esquema1Place les lments du presse-papier sur le schmaQETDiagramEditorProyecto previoProjet prcdentQETDiagramEditor$Proyecto siguienteProjet suivantQETDiagramEditor6Propiedades de la seleccinProprits de la slectionQETDiagramEditor0Propiedades del proyectoProprits du projetQETDiagramEditor.Propiedades del esquemaProprits du schmaQETDiagramEditor\Mostrar los proyectos abiertos en sub ventanas>Prsente les diffrents projets ouverts dans des sous-fentresQETDiagramEditorVMostrar los proyectos abiertos en pestaas3Prsente les diffrents projets ouverts des ongletsQETDiagramEditorQElectroTech QElectroTechQETDiagramEditorQElectroTechstatus bar message QElectroTechQETDiagramEditorCalcular de nuevo los caminos de los conductores sin tenir cuenta de las edicionesIRecalcule les chemins des conducteurs sans tenir compte des modificationsQETDiagramEditorRehacerRefaireQETDiagramEditorDRestaura la ltima accin deshechaRestaure l'action annuleQETDiagramEditor:Restaurar el zoom por defectoRestaure le zoom par dfautQETDiagramEditor:Reinicializar los conductoresRinitialiser les conducteursQETDiagramEditor$Reducir el esquemaRtrcit le schmaQETDiagramEditor:Reducir la altura del esquemaRtrcit le schma en hauteurQETDiagramEditorEsquemaSchmaQETDiagramEditorEsquemas QElectroTech (*.qet);;Archivos XML (*.xml);;Todos los archivos (*)ISchmas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*)QETDiagramEditorHSalir del modo &de pantalla completaSortir du &mode plein cranQETDiagramEditorEspacioSpaceQETDiagramEditor^Dar las propriedades por defecto de conductores2Spcifie les proprits par dfaut des conducteursQETDiagramEditorEliminar SupprimerQETDiagramEditor&Eliminar el esquemaSupprimer le schmaQETDiagramEditorVSeleccionar todos los elementos del esquema'Slectionne tous les lments du schmaQETDiagramEditor Seleccionar todoTout slectionnerQETDiagramEditorpTrasladar los elementos seleccionados en el portapapeles9Transfre les lments slectionns dans le presse-papierQETDiagramEditorAjustar Zoom adaptQETDiagramEditorReducir Zoom arrireQETDiagramEditorAmpliar Zoom avantQETDiagramEditor&utilizando ventanasen utilisant des fentresQETDiagramEditor&utilizando pestaasen utilisant des ongletsQETDiagramEditor.&Acerca de QElectroTech &propos de QElectroTechQETDiagramEditorAcerca de &Qt propos de &QtQETDiagramEditor8Fracaso al abrir el proyectochec de l'ouverture du projetQETDiagramEditorbEditar las informaciones mostradas en el cartucho1dite les informations affiches par le cartoucheQETDiagramEditorfEditar las propiedades de los objetos seleccionados+dite les proprits des objets slectionnQETDiagramEditor[slo lectura] [lecture seule]QETElementEditor,%n parte selectionada.0%n partes selectionadas.%n partie(s) slectionne(s).QETElementEditor A&yuda&AideQETElementEditor&Preferencias&ConfigurationQETElementEditor0&Configurar QElectroTech&Configurer QElectroTechQETElementEditor&Guardar &EnregistrerQETElementEditor&Archivo&FichierQETElementEditor &Nuevo&NouveauQETElementEditor &Abrir&OuvrirQETElementEditor.&Abrir desde un archivo&Ouvrir depuis un fichierQETElementEditor &Salir&QuitterQETElementEditor&Eliminar &SupprimerQETElementEditor&Editar&ditionQETElementEditor<b>%1</b>: %2%1: %2QETElementEditor"Conector faltandoAbsence de borneQETElementEditor&Ver Afficha&geQETElementEditorVer AffichageQETElementEditorHMostrar QElectroTech en modo ventana$Affiche QElectroTech en mode fentrQETElementEditorRMostrar QElectroTech en pantalla completa(Affiche QElectroTech en mode plein cranQETElementEditorXMostrar las informaciones sobre QElectroTech)Affiche des informations sur QElectroTechQETElementEditor`Mostrar las informaciones sobre la biblioteca Qt/Affiche des informations sur la bibliothque QtQETElementEditorMostrarAfficherQETElementEditorAgregar textoAjouter du texteQETElementEditor4Agregar un arco de crculoAjouter un arc de cercleQETElementEditor$Agregar un crculoAjouter un cercleQETElementEditor0Aadir un campo de textoAjouter un champ de texteQETElementEditor&Agregar un polgonoAjouter un polygoneQETElementEditor(Aadir un rectnguloAjouter un rectangleQETElementEditor&Agregar un conectorAjouter une borneQETElementEditor$Agregar una elipseAjouter une ellipseQETElementEditor"Agregar una lneaAjouter une ligneQETElementEditor0Poner en el primer planoAmener au premier planQETElementEditorAnulaciones AnnulationsQETElementEditorDeshacerAnnulerQETElementEditor(Ninguna modificacinAucune modificationQETElementEditorAdvertenciasAvertissementsQETElementEditorBackspace BackspaceQETElementEditor &PegarC&ollerQETElementEditor(P&egar en la zona...C&oller dans la zone...QETElementEditorTEste archivo no es un documento XML vlido+Ce fichier n'est pas un document XML valideQETElementEditor.Algunas partes grficas (textos, crculos, lineas, ...) parecen no caber en el cuadro del elemento. Eso podra crear fallos grficos cuando se las maneja en el esquema. Puede corregir este problema de dos maneras: moviendo estas partes o usando Editar>Editar el tamao o hotspot.;Certaines parties graphiques (textes, cercles, lignes...) semblent dborder du cadre de l'lment. Cela risque de gnrer des bugs graphiques lors de leur manipulation sur un schma. Vous pouvez corriger cela soit en dplaant ces parties, soit en vous rendant dans dition > diter la taille et le point de saisie.QETElementEditorC&ortarCo&uperQETElementEditorPegar desde...Coller depuis...QETElementEditor&CopiarCop&ierQETElementEditor Ctrl+0Ctrl+0QETElementEditor Ctrl+9Ctrl+9QETElementEditor Ctrl+ECtrl+EQETElementEditor Ctrl+ICtrl+IQETElementEditor Ctrl+QCtrl+QQETElementEditor Ctrl+RCtrl+RQETElementEditorCtrl+Shift+A Ctrl+Shift+AQETElementEditor Ctrl+Shift+AbajoCtrl+Shift+DownQETElementEditorCtrl+Shift+EndCtrl+Shift+EndQETElementEditorCtrl+Shift+F Ctrl+Shift+FQETElementEditorCtrl+Shift+HomeCtrl+Shift+HomeQETElementEditorCtrl+Shift+O Ctrl+Shift+OQETElementEditorCtrl+Shift+S Ctrl+Shift+SQETElementEditor"Ctrl+Shift+rriba Ctrl+Shift+UpQETElementEditorCtrl+Shift+V Ctrl+Shift+VQETElementEditor Ctrl+TCtrl+TQETElementEditor Ctrl+YCtrl+YQETElementEditor(Tamaos del elementoDimensions de l'lmentQETElementEditorMover un objetoDplacer un objetQETElementEditor$Deseleccionar todoDslectionner toutQETElementEditor0Guardar hacia un archivoEnregistrer dans un fichierQETElementEditor<Grabar el elemento corriente? Enregistrer l'lment en cours ?QETElementEditorGuardar comoEnregistrer sousQETElementEditorGuardar como dialog titleEnregistrer sousQETElementEditor"Poner en el fondoEnvoyer au fondQETElementEditor ErrorErreurQETElementEditor Errormessage box titleErreurQETElementEditorBImposible de alcanzar el elemento Impossible d'atteindre l'lmentQETElementEditor>Imposible de grabar el elemento"Impossible d'enregistrer l'lmentQETElementEditorBImposible de abrir el archivo %1."Impossible d'ouvrir le fichier %1.QETElementEditorFImposible de escribir en el archivo#Impossible d'crire dans ce fichierQETElementEditorInformaciones InformationsQETElementEditor$Invertir seleccinInverser la slectionQETElementEditor,El elemento no existe.L'lment n'existe pas.QETElementEditorEl elemento no tiene ninguna coneccin. Un elemente debe tener conecciones para que conductores puedan conectarlos con otros elementos.L'lment ne comporte aucune borne. Un lment doit comporter des bornes afin de pouvoir tre reli d'autres lments par l'intermdiaire de conducteurs.QETElementEditorzLa verificacin de este elemento ha generado una advertencia:zLa verificacin de este elemento ha generado %n advertencias:=La vrification de cet lment a gnr %n avertissement(s):QETElementEditornEl camino virtual eligido no corresponde a un elemento.8Le chemin virtuel choisi ne correspond pas un lment.QETElementEditor0El archivo %1 no existe.Le fichier %1 n'existe pas.QETElementEditorMantiene la tecla Shift apretada para poder agregar varias cosas una despues de la otraLMaintenez la touche Shift enfonce pour effectuer plusieurs ajouts d'affileQETElementEditor&HerramientasO&utilsQETElementEditorHerramientasOutilsQETElementEditor Abrir un archivoOuvrir un fichierQETElementEditor PartesPartiesQETElementEditor Partes dock titlePartiesQETElementEditorNo zoom Pas de zoomQETElementEditorNEntrar en el modo &de pantalla completaPasser en &mode plein cranQETElementEditor^Permite arreglar los prametros de QElectroTech6Permet de rgler diffrents paramtres de QElectroTechQETElementEditorProfundidad ProfondeurQETElementEditorBQElectroTech - Editor de elemento QElectroTech - diteur d'lmentQETElementEditorAcercar RapprocherQETElementEditorRecargar RechargerQETElementEditor(Recargar el elementoRecharger l'lmentQETElementEditorRehacerRefaireQETElementEditorHSalir del modo &de pantalla completaSortir du &mode plein cranQETElementEditor Seleccionar todoTout slectionnerQETElementEditorPDemasiado primitivas, lista no generada.&Trop de primitives, liste non gnre.QETElementEditorUsar el botn de derecho del ratn para colocar el ltimo punto del polgonoMUtilisez le bouton droit de la souris pour poser le dernier point du polygoneQETElementEditor<Quiere grabar el elemento %1?&Voulez-vous enregistrer l'lment %1 ?QETElementEditorEdit este elemento. Si recarga las edicciones seran perdidas. Est segura de recargar el elemento?Vous avez efffectu des modifications sur cet lment. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'lment ?QETElementEditorNo tiene los derechos necesarios para editar este elemento. Por eso se va abrirlo en slo lectura.kVous n'avez pas les privilges ncessaires pour modifier cet lement. Il sera donc ouvert en lecture seule.QETElementEditorAjustar Zoom adaptQETElementEditorReducir Zoom arrireQETElementEditorAmpliar Zoom avantQETElementEditor[modificado] [Modifi]QETElementEditorun archivo un fichierQETElementEditorun elemento un lmentQETElementEditor.&Acerca de QElectroTech &propos de QElectroTechQETElementEditorAcerca de &Qt propos de &QtQETElementEditor:Editar el tamao o el hotspot&diter la taille et le point de saisieQETElementEditorHEditar la informacin sobre el autor$diter les informations sur l'auteurQETElementEditor$Editar los nombresditer les nomsQETElementEditor0Editar las orientacionesditer les orientationsQETElementEditor&Editor de elementosditeur d'lmentsQETElementEditor.Edicin en lectura soladition en lecture seuleQETElementEditor AlejarloignerQETElementEditorElementolmentQETElementEditor*Elemento inexistente.lment inexistant.QETElementEditor>Elementos QElectroTech (*.elmt)lments QElectroTech (*.elmt)QETElementEditorElementos QElectroTech (*.elmt);;Archivos XML (*.xml);;Todos los archivos (*)Klments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)QETElementEditor%1 %%1 %QETPrintPreviewDialog>Ajustar el diagrama a la pginaAdapter le schma la pageQETPrintPreviewDialog&Mostrar dos pginasAfficher deux pagesQETPrintPreviewDialog8Mostrar la liste de esquemasAfficher la liste des schmasQETPrintPreviewDialogBMostrar las opciones de impresin!Afficher les options d'impressionQETPrintPreviewDialogZMostrar vista preliminar de todas las pginas&Afficher un aperu de toutes les pagesQETPrintPreviewDialog.Mostrar slo una pginaAfficher une seule pageQETPrintPreviewDialog4Ajustar ancho de la pginaAjuster la largeurQETPrintPreviewDialogBAjustar ancho y alto de la pginaAjuster la pageQETPrintPreviewDialog8Ocultar la liste de esquemasCacher la liste des schmasQETPrintPreviewDialogBOcultar las opciones de impresinCacher les options d'impressionQETPrintPreviewDialogltima pgina Dernire pageQETPrintPreviewDialogImprimirImprimerQETPrintPreviewDialog"Configurar pgina Mise en pageQETPrintPreviewDialogrDiseo (no existe para imprimir en PDF o PS bajo Windows)CMise en page (non disponible sous Windows pour l'impression PDF/PS)QETPrintPreviewDialog*Opciones de impresinOptions d'impressionQETPrintPreviewDialogPgina anteriorPage prcdenteQETPrintPreviewDialog Pgina siguiente Page suivanteQETPrintPreviewDialogApaisadoPaysageQETPrintPreviewDialogRetratoPortraitQETPrintPreviewDialogPrimera pgina Premire pageQETPrintPreviewDialog<QElectroTech: Vista preliminar&QElectroTech : Aperu avant impressionQETPrintPreviewDialog,Esquemas por imprimir:Schmas imprimer:QETPrintPreviewDialogSi esta opcin est seleccionada, el diagrama ser reducido o expandido para ajustarse a la superficie imprimible de la hoja.Si cette option est coche, le schma sera agrandi ou rtrci de faon remplir toute la surface imprimable d'une et une seule page.QETPrintPreviewDialogLSi esta opcin est seleccionada, se imprimir sobre la superficie completa de la hoja, ignorando los mrgenes. Esta opcin puede no estar soportada por su impresora.Si cette option est coche, les marges de la feuille seront ignores et toute sa surface sera utilise pour l'impression. Cela peut ne pas tre support par votre imprimante.QETPrintPreviewDialogMarcar todos Tout cocherQETPrintPreviewDialogDesmarcar todos Tout dcocherQETPrintPreviewDialog*Usar la pgina enteraUtiliser toute la feuilleQETPrintPreviewDialogReducir Zoom arrireQETPrintPreviewDialogAmpliar Zoom avantQETPrintPreviewDialog"%1 [slo lectura]%1 [lecture seule] QETProjectAdvertencia Avertissement QETProject,Parece que este documento fue guardado con una version ms nueva de QElectrotech. Abrir una parte del documento o el documento entero podra fracasar.Ce document semble avoir t enregistr avec une version ultrieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document choue. QETProjectxImposible de tener aceso al elemento que se necesita agregar+Impossible d'accder l'lment a intgrer QETProjecttImposible de crear la categora para agregar los elementos@Impossible de crer la catgorie pour l'intgration des lments QETProjectProyecto %1 Projet %1 QETProject&Proyecto sn ttuloProjet sans titre QETProjectProyecto %1 Projet %1 QETProjectfUn problema ocuri durante la copia del elemento %1:Un problme s'est produit pendant la copie de l'lment %1 QETProjectlUn problema ocuri durante la copia de la categora %1=Un problme s'est produit pendant la copie de la catgorie %1 QETProjectLos caracteres autorizados son: - las cifras [0-9] - las minsculas [a-z] - el guin [-], el guin bajo [_] y el punto [.] Les caractres autoriss sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.]  QFileNameEdity et QObjectyUseparator between conductors and texts in a sentence listing the content of a diagram et QObject"%n campo de texto$%n campos de texto%n champ(s) de texteQObject%n conductor%n conductores%n conducteur(s)QObject%n elemento%n elementos %n lment(s)QObject,, QObject0Aadir un campo de textoAjouter un champ de texteQObjectVista previaAperuQObjectAviso: el elemento fue guardado con una versin mas reciente de QElectroTech.XAvertissement : l'lment a t enregistr avec une version ultrieure de QElectroTech.QObjectConectorBorneQObject*Mantener proporcionesConserver les proportionsQObject6Exportar en el portapapelesExporter vers le presse-papierQObjectNo se puede encontrar el archivo donde se ubica la licencia GNU/GPL. Pues, de todo modo, supongo que la conoce de memoria, no?zLe fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute faon, vous la connaissez par coeur non ?QObjectEl archivo donde se ubica la licencia GNU/GPL existe pero no se puede abrir. Pues, de todo modo, supongo que la conoce de memoria, no?Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu tre ouvert - bon bah de toute faon, vous la connaissez par coeur non ?QObject Reinicializar %1Rinitialiser %1QObject2Reinicializar los tamaosRinitialiser les dimensionsQObject$Esquema sin ttuloSchma sans titreQObjectTTQObject__QObjectinsertar %1ajout %1QObjectaadir 1 %1 ajouter 1 %1QObject&aadir un conductorajouter un conducteurQObject0poner en el primer planoamener au premier planQObjectarcoarcQObjectconectorborneQObjectcrculocercleQObjectcampo de textochamp de texteQObject pegarcollerQObjectpegar %1 coller %1QObjectcortar %1 couper %1QObjectcortar partescouper des partiesQObject mover dplacementQObjectmover %1 dplacer %1QObject elipseellipseQObject"poner en el fondoenvoyer au fondQObject linealigneQObjectedicin %1modification %1QObject>edicin de conecciones internas modification connexions internesQObject<edicion de dimensiones/hotspotmodification dimensions/hotspotQObjectTModificacin de informacin complementaria)modification informations complementairesQObject$edicin de nombresmodification nomsQObject0edicin de orientacionesmodification orientationsQObject4edicin puntos de polgonomodification points polygoneQObject$editar el cartuchomodifier le cartoucheQObject$modificar el textomodifier le texteQObjectDeditar las dimensiones del esquema!modifier les dimensions du schmaQObjectPmodificar las propiedades de un conuctor'modifier les proprits d'un conducteurQObject,modificar un conductormodifier un conducteurQObjectrotar %1 pivoter %1QObjectpolgonopolygoneQObjectacercar rapprocherQObjectrectngulo rectangleQObjectesquemaschemaQObjecteliminar suppressionQObjecteliminar %1 supprimer %1QObject textotexteQObject alejarloignerQObject2&Recientemente abierto(s)&Rcemment ouvert(s) RecentFiles6Esquina superior izquierda:Coin suprieur gauche: RectangleEditorDimensiones: Dimensions: RectangleEditorAltura: Hauteur:RectangleEditorAnchura: Largeur:RectangleEditorabscisaabscisseRectangleEditor alturahauteurRectangleEditoranchuralargeurRectangleEditorordenadaordonneRectangleEditorAntialiasing Antialiasing StyleEditorNingunoAucun StyleEditor BlancoBlanc StyleEditor Blancoelement part fillingBlanc StyleEditor Color: Couleur :  StyleEditorDelgadaFine StyleEditor NegroNoir StyleEditor Negroelement part fillingNoir StyleEditor NormalNormal StyleEditor NormalNormale StyleEditorNingunaNulle StyleEditorLnea de puntos Pointill StyleEditorRelleno: Remplissage : StyleEditorEstilo:Style :  StyleEditor Linea:Trait : StyleEditorGrosor: paisseur :  StyleEditorEsteEstTerminalEditor NorteNordTerminalEditorOrientacin:Orientation : TerminalEditor OesteOuestTerminalEditorPosicin: Position : TerminalEditorSurSudTerminalEditorabscisaabscisseTerminalEditorordenadaordonneTerminalEditororientacin orientationTerminalEditorx:x : TerminalEditory:y : TerminalEditorPosicin: Position :  TextEditorTamao: Taille :  TextEditor Texto:Texte :  TextEditorabscisaabscisse TextEditorcontenidocontenu TextEditorordenadaordonne TextEditor tamaotaille TextEditorx:x :  TextEditory:y :  TextEditorMantener la horizontalidad a pesar de las rotaciones del elemento7Maintenir horizontal malgr les rotations de l'lmentTextFieldEditorPosicin: Position : TextFieldEditorTamao: Taille : TextFieldEditor*Texto predeterminado:Texte par dfaut : TextFieldEditorabscisaabscisseTextFieldEditorcontenidocontenuTextFieldEditorordenadaordonneTextFieldEditorpropiedad propritTextFieldEditor tamaotailleTextFieldEditorx:x : TextFieldEditory:y : TextFieldEditorqelectrotech-0.22+svn897/lang/qet_fr.ts0000644000175000017500000000424211341301403017640 0ustar laurentlaurent QETElementEditor %n partie(s) sélectionnée(s). %n partie sélectionnée. %n parties sélectionnées. La vérification de cet élément a généré %n avertissement(s) : message box content La vérification de cet élément a généré %n avertissement : La vérification de cet élément a généré %n avertissements : QObject %n élément(s) part of a sentence listing the content of a diagram %n élément %n éléments %n conducteur(s) part of a sentence listing the content of a diagram %n conducteur %n conducteurs %n champ(s) de texte part of a sentence listing the content of a diagram %n champ de texte %n champs de texte qelectrotech-0.22+svn897/lang/qet_en.qm0000644000175000017500000026544311346742300017650 0ustar laurentlaurentK`!Av& *!*u2)@L2)@O27 2GGG\HGI(CG-IiE5I TL:HM1TM2Q5R]U_:$U%HV55&V5RVJZgZ:ZIfiDyhN%iiE0!iiE;p:FrE1rE>"vv+zɅhzϥ1zϥD"tإ$TBYX43=<y<~.W%&@vpt>T%QWǶOkɌ_/8Z!;Ӄs1ؾ2ܥ$Xr[ss n1b~,khto_Ƅ# s011B"bnMouS*&Vh2h{k k^9ld:n# s2'h9:z۬yy^ĎN Q^QIv F!1ܰc %}oZ wr(n\ Jy"[-"[r(O4Ra[@>+;A_SjI:X*Z 4 Z Kehn( x~}5&ܲFK  lY;*0e! 6ɩ±±9#d)G*7 5:1E Ad% ,},(<3yy Hv xHv V`Nn"V!pXQ~__DKgNh:`ln{*s!yIxs{$r,3!3VY\`s9>}Q6PJyhhvSGTܭE 5 M AA%!j%1`I6ǃE Es=Ygws< 'vRyy!VW4mAXu@N]d%EpP4k¢é **VML>DOEd6*U$N67‘Ɍ@.ɌzNɌɌɌ`IvWqg1k֎:-7"jnaۜ}Bz )I 2I^t`~t=!%d(N5.8(5?YH}kNQTuNO~5P%P%P%4V:V|HsfE)i8ui8uHl3֔l3 Tl5l5o 8q^{v;y`zaǦ& N@9d=B[=BdĐ2p1\+p1IBu(>G%k=(5Hn:: J:UL.Ӳƪ2Y2~-!K柅2dxd) 5.[ ,h:::L|::"/C{0q2(@?51/?5BHǔVIE)JMLPc Q>(RfRfYp-h&hTi%oNyPo}1F;_Tn dW 4#7o;$bst#%0W%< C2 :@/J*KKK&L˅huk@QUk@Rno_rxy`zYz+ mlAt C j*1C*ʡ%M%P.̪-R".%qdcy!4+ٮNnu~S:P=t=HzE=wiUreh(NE'5 e8N'zU‚MnU‚yU‚U‚q]uFmo5oTc\Q >cY.C[ [ 6[V[F[K[M[P3Dzt/=|3rrmr)%Nb*Ϝ.%?AQٟ&^!ܖoܞEޚr'V n g m  ִ") M[ K# < <" j 1NB+ 3D ;E K . PcQ Pce \ }vY s0C U 5C @ { U E Kf M O ݚ Ԡq:  )b o Zu C / ;@ Uj tY r B 8N 8N 0 <: N5 NHx a/+ m  Ƃ Ƃ -t{ "=P "= K &L */ */> 2 @5 Q)K ^ _ bς$ bςu dU% dP; e5MV e5O k2A k m q r3T rKE t/ vI 2W ^ sp S? ͥ4h ͥP >t ]c n P 61f 6CJ p d iJ iLz iN ^!: ar pk ̓ ϧj ׿  u7 ގ ? W3 Ⱦ 4P 4A 4_ .n- Ov %1dF %j &hu &k!( A F ^#t _?^At l" l" y2DG y`1 >l? jI O6 q" s?[ =I D  n>1 i2 =cQ ?@t u ӽ 鶏" 5 uA3 deM X  Q9 ݼ M v`Iw  AN ,Z 30 3= 5( @xf BEp LU R7rk VFBx Xٹ [{5" ]VcX `8r, hur l(< v.SZ z ~c uH1 ^ ^ 5# c  3 K o Ed n % 3} Ϛ Ϛ &y > b2׳ b2 *C* I " b b v`L 2 3 g$ / u  >4 M  ~ '^ؔ '^ (3n7 )5 -P ?W C DY DY DY DY DYG DYz DZ DZX DZx E W T T U# X [#Ox \ω \ރ> aՒ yC zN q 'Xl"  ȣ ˑ 3  ~ > h C ^ y ` 6Y  A y4PqYO!)Y#0;#0U5uQ>H>.?TW?T0ANEG!ISsUAuWQtnC6n^nn*AvY]v{ Fq%  Y@ @p%~~ e3D ihz> p  u$>>;j>iQ:$&License Agreement&Accord de licenceAboutQET&Contributors&ContributeursAboutQET&Translators &TraducteursAboutQETA&uthorsA&uteursAboutQETTThis program is under the GNU/GPL license.&Ce programme est sous licence GNU/GPL.AboutQET IconsIcnesAboutQET Original conceptIde originaleAboutQETDebian packagesPaquets DebianAboutQETFedora packagesPaquets FedoraAboutQET"Mandriva packagesPaquets MandrivaAboutQETProgramming ProgrammationAboutQETrQElectroTech, an application to design electric diagrams.DQElectroTech, une application de ralisation de schmas lectriques.AboutQET&Spanish translationTraduction en espagnolAboutQET,Portuguese translationTraduction en portugaisAboutQET&Russian translationTraduction en russeAboutQET"Czech translationTraduction en tchqueAboutQETF 2006-2010 QElectroTech developers, 2006-2010 Les dveloppeurs de QElectroTechAboutQET &About &proposAboutQET$About QElectroTech propos de QElectrotechAboutQET Angle:Angle : ArcEditorStart angle:Angle de dpart : ArcEditorCenter: Centre :  ArcEditorDiameters:  Diamtres :  ArcEditorabscissaabscisse ArcEditor angleangle ArcEditorstart angleangle de dpart ArcEditor&horizontal diameterdiamtre horizontal ArcEditor"vertical diameterdiamtre vertical ArcEditorhorizontal: horizontal : ArcEditorordinateordonne ArcEditorvertical: vertical : ArcEditor Author: %1 Auteur : %1 BorderInsetDate: %1 Date : %1 BorderInsetFile: %1 Fichier : %1 BorderInsetFolio: %1 Folio : %1 BorderInsetDisplay headersAfficher les en-ttesBorderPropertiesWidgetColumns: Colonnes :BorderPropertiesWidgetDiagram sizeDimensions du schmaBorderPropertiesWidget Rows:Lignes :BorderPropertiesWidgetpxpxBorderPropertiesWidgetpxunit for rows heightpxBorderPropertiesWidgetBorderPropertiesWidgetCenter:  Centre :  CircleEditorDiameter:  Diamtre :  CircleEditorabscissaabscisse CircleEditordiameterdiamtre CircleEditorordinateordonne CircleEditor(Conductor appearanceApparence du conducteurConductorPropertiesWidget Color: Couleur :ConductorPropertiesWidgetMultiline MultifilaireConductorPropertiesWidget SimpleSimpleConductorPropertiesWidget Text:Texte :ConductorPropertiesWidgetDashed lineTrait en pointillsConductorPropertiesWidgetConductor TypeType de conducteurConductorPropertiesWidgetSingleline UnifilaireConductorPropertiesWidgetneutralneutreConductorPropertiesWidget phasephaseConductorPropertiesWidget groundterreConductorPropertiesWidget,Configure QElectroTechConfigurer QElectroTech ConfigDialog(Printing type choiceChoix du type d'impressionDiagramPrintDialogFile missingFichier manquantDiagramPrintDialog"PDF Files (*.pdf)Fichiers PDF (*.pdf)DiagramPrintDialog.PostScript Files (*.ps)Fichiers PostScript (*.ps)DiagramPrintDialog6Print to a physical printer&Impression sur une imprimante physiqueDiagramPrintDialog&Print to a PDF file(Impression vers un fichier au format PDFDiagramPrintDialog>Print to a PostScript file (PS)4Impression vers un fichier au format PostScript (PS)DiagramPrintDialogPrint optionsOptions d'impressionDiagramPrintDialogDWhat kind of printing do you wish?/Quel type d'impression dsirez-vous effectuer ?DiagramPrintDialogjYou must enter the path of the PDF/PS file to create.8Vous devez indiquer le chemin du fichier PDF/PS crer.DiagramPrintDialogAllowed Autorises DiagramViewTerminals: %1 Bornes: %1  DiagramViewText fields: %1Champs de texte: %1  DiagramViewPaste Here Coller ici DiagramView0Internal connections: %1Connexions internes: %1  DiagramViewSize: %1%2Dimensions: %1%2  DiagramViewLocation: %1Emplacement: %1  DiagramViewForbidden Interdites DiagramView4The selection contains %1.La slection contient %1. DiagramViewName: %1 Nom: %1  DiagramViewPosition: %1 Position: %1  DiagramView6Selected element properties#Proprits de l'lment slectionn DiagramView(Selection propertiesProprits de la slection DiagramView$Diagram propertiesProprits du schma DiagramView"Find in the panelRetrouver dans le panel DiagramViewDiagram %1 Schma %1 DiagramView Untitled diagramSchma sans titre DiagramViewEdit elementditer l'lment DiagramView2Edit conductor properties%diter les proprits d'un conducteur DiagramViewDEdit conductors default properties0diter les proprits par dfaut des conducteurs DiagramViewElementlment DiagramViewMissing elementlment manquant DiagramView Untitled diagramSchma sans titreDiagramsChooserPThe target element could not be created.!L'lment cible n'a pu tre cr.ElementDefinitionHThe deletion of this element failed.'La suppression de cet lment a chou.ElementDefinition0Deleting element failed.%La suppression de l'lment a chou.ElementDeleter Deleting elementSuppression de l'lmentElementDeleterDelete element?Supprimer l'lment ?ElementDeleterVDo you really wish to delete this element? 1tes-vous sr de vouloir supprimer cet lment ? ElementDeleterrChoose the element you wish to save your definition into.MChoisissez l'lment dans lequel vous souhaitez enregistrer votre dfinition. ElementDialogHChoose the element you iwsh to open./Choisissez l'lment que vous souhaitez ouvrir. ElementDialog$Choose a category.Choisissez une catgorie. ElementDialogSave an elementEnregistrer un lment ElementDialogSave a categoryEnregistrer une catgorie ElementDialogpThe element already exists. Do you want to overwrite it?.L'lment existe dj. Voulez-vous l'craser ? ElementDialog@The selection is not an element."La slection n'est pas un lment. ElementDialog:The selection does not exist.La slection n'existe pas. ElementDialog Name:Nom : ElementDialogInvalid name Nom invalide ElementDialogName required Nom manquant ElementDialogOpen an elementOuvrir un lment ElementDialogOPen a categoryOuvrir une catgorie ElementDialogNo selectionPas de slection ElementDialogWrong selectionSlection incorrecte ElementDialog,Non-existent selectionSlection inexistante ElementDialogNYou must provide a name for the element'Vous devez entrer un nom pour l'lment ElementDialog6You must select an element.#Vous devez slectionner un lment. ElementDialogRYou must select a category or an element.4Vous devez slectionner une catgorie ou un lment. ElementDialogYou can not use one of the following characters in the element name: %1QVous ne pouvez pas utiliser les caractres suivants dans le nom de l'lment : %1 ElementDialog,Overwrite the element?craser l'lment ? ElementDialog4Allow internal connections!Autoriser les connexions internes ElementScene^This XML document is not an element definition.3Ce document XML n'est pas une dfinition d'lment. ElementSceneDefault orientation is the orientation which the drawing of the element takes place with.]L'orientation par dfaut est l'orientation dans laquelle s'effectue la cration de l'lment. ElementSceneLThe size or the hotspot are not valid.9Les dimensions ou le point de saisie ne sont pas valides. ElementScene6Orientations are not valid.%Les orientations ne sont pas valides. ElementScenehYou may enter the element name in several languages.AVous pouvez spcifier le nom de l'lment dans plusieurs langues. ElementSceneYou can use this field to specify the authors of this element, its license, or any other information you may find useful.Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'lment, sa licence, ou tout autre renseignement que vous jugerez utile. ElementScenearcarc ElementSceneterminalborne ElementScene circlecercle ElementScenetextfieldchamp de texte ElementSceneellipseellipse ElementScenelineligne ElementScenepolygonpolygone ElementScenerectangle rectangle ElementScenetexttexte ElementScene*Edit size and hotspot&diter la taille et le point de saisie ElementScene0Edit author informations$diter les informations sur l'auteur ElementSceneEdit namesditer les noms ElementScene"Edit orientationsditer les orientations ElementSceneQET CollectionCollection QETElementsCategoriesList$Project CollectionCollection projetElementsCategoriesListUser CollectionCollection utilisateurElementsCategoriesListNew categoryNouvelle catgorieElementsCategoriesWidget"Reload categoriesRecharger les catgoriesElementsCategoriesWidgetDelete categorySupprimer la catgorieElementsCategoriesWidgetEdit categoryditer la catgorieElementsCategoriesWidgetPIt is not possible to move a collection.1Il n'est pas possible de dplacer une collection.ElementsCategory8Unable to delete the element!Impossible de supprimer l'lmentElementsCategory:Unable to delete the category$Impossible de supprimer la catgorieElementsCategoryCopying a category to itself or to one of its subcategories is not handled.]La copie d'une catgorie vers elle-mme ou vers l'une de ses sous-catgories n'est pas gre.ElementsCategoryJThe deletion of this category failed.+La suppression de cette catgorie a chou.ElementsCategory|Moving a category to one of its subcategories is not possible.RLe dplacement d'une catgorie dans une de ses sous-catgories n'est pas possible.ElementsCategory:Deleting the category failed.(La suppression de la catgorie a chou.ElementsCategoryDeleter"Category deletionSuppression de la catgorieElementsCategoryDeleter Delete category?Supprimer la catgorie ?ElementsCategoryDeleter*Empty the collection?Vider la collection ?ElementsCategoryDeleterDo you really want to delete the category? Every elements and categories from this category will be deleted.tes-vous sr de vouloir supprimer la catgorie ? Tous les lments et les catgories contenus dans cette catgorie seront supprims.ElementsCategoryDeleterXDo you really want to empty this collection?1tes-vous sr de vouloir vider cette collection ?ElementsCategoryDeleterDo you really really want to delete this category? Changes will be definitive.`tes-vous vraiment sr de vouloir supprimer cette catgorie ? Les changements seront dfinitifs.ElementsCategoryDeleter*Non-existent categoryCatgorie inexistanteElementsCategoryEditor$Add a new categoryCrer une nouvelle catgorieElementsCategoryEditor ErrorErreurElementsCategoryEditor6Unable to save the category%Impossible d'enregistrer la catgorieElementsCategoryEditor:Unable to create the category Impossible de crer la catgorieElementsCategoryEditor`The required category does not exist. Giving up.,La catgorie demande n'existe pas. Abandon.ElementsCategoryEditorThe internal name you chose is already used by another category. Please choose another one.oLe nom interne que vous avez choisi est dj utilis par une catgorie existante. Veuillez en choisir un autre.ElementsCategoryEditor0Name of the new categoryNom de la nouvelle catgorieElementsCategoryEditorInternal name:Nom interne : ElementsCategoryEditor4Internal name already usedNom interne dj utilisElementsCategoryEditor*Missing internal nameNom interne manquantElementsCategoryEditorDYou must provide an internal name.$Vous devez spcifier un nom interne.ElementsCategoryEditorYou are not allowed to modify this category. Thus it will be edited read-only.rVous n'avez pas les privilges ncessaires pour modifier cette catgorie. Elle sera donc ouverte en lecture seule.ElementsCategoryEditorbYou can add a name per language for the category.:Vous pouvez spcifier un nom par langue pour la catgorie.ElementsCategoryEditorEdit categoryditer une catgorieElementsCategoryEditor"Read only editiondition en lecture seuleElementsCategoryEditorPIt is not possible to move a collection.1Il n'est pas possible de dplacer une collection.ElementsCollection4%1 [unused in the project]%1 [non utilis dans le projet] ElementsPanelpThis is an element you can drag'n drop onto your diagramRCeci est un lment que vous pouvez insrer dans votre schma par cliquer-dplacer ElementsPanelhDrag'n drop this element to the diagram to insert a BCliquer-dposez cet lment sur le schma pour insrer un lment  ElementsPanelQET CollectionCollection QET ElementsPanel$Project collectionCollection projet ElementsPanelUser CollectionCollection utilisateur ElementsPanelNo filePas de fichier ElementsPanel Untitled diagramSchma sans titre ElementsPanelMove downAbaisser ce schmaElementsPanelWidgetAdd a diagramAjouter un schmaElementsPanelWidgetUndoAnnulerElementsPanelWidget.Copy into this categoryCopier dans cette catgorieElementsPanelWidget.Move into this categoryDplacer dans cette catgorieElementsPanelWidgetErase filterEffacer le filtreElementsPanelWidget$Close this projectFermer ce projetElementsPanelWidgetFilter:  Filtrer : ElementsPanelWidget$Categories managerGestionnaire de catgoriesElementsPanelWidget"Import an elementImporter un lmentElementsPanelWidgetNew elementNouvel lmentElementsPanelWidgetNew categoryNouvelle catgorieElementsPanelWidget$Project propertiesProprits du projetElementsPanelWidget$Diagram propertiesProprits du schmaElementsPanelWidget$Reload collectionsRecharger les collectionsElementsPanelWidgetMove upRemonter ce schmaElementsPanelWidget&Delete this diagramSupprimer ce schmaElementsPanelWidgetDelete elementSupprimer l'lmentElementsPanelWidgetDelete categorySupprimer la catgorieElementsPanelWidget(Empty the collectionVider la collectionElementsPanelWidgetjUse this manager to add, delete or modify categories.XVous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les catgories.ElementsPanelWidgetEdit elementditer l'lmentElementsPanelWidgetEdit categoryditer la catgorieElementsPanelWidgetCenter:  Centre :  EllipseEditorDiameters:  Diamtres :  EllipseEditorabscissaabscisse EllipseEditor&horizontal diameterdiamtre horizontal EllipseEditor"vertical diameterdiamtre vertical EllipseEditorhorizontal: horizontal : EllipseEditorordinateordonne EllipseEditorvertical: vertical : EllipseEditor ExportExportExportConfigPagePreviewAperu ExportDialog|Choose the diagrams you wish to export and specify their size:MChoisissez les schmas que vous dsirez exporter ainsi que leurs dimensions : ExportDialogDimensions Dimensions ExportDialog"Directory missingDossier non spcifi ExportDialog ExportExporter ExportDialog6Export the project diagramsExporter les schmas du projet ExportDialogIt appears you do not have the required permissions to write the file %1.]Il semblerait que vous n'ayez pas les permissions ncessaires pour crire dans le fichier %1. ExportDialog4Can not write to this file#Impossible d'crire dans ce fichier ExportDialogFilenameNom de fichier ExportDialog$Target files namesNoms des fichiers cibles ExportDialogDiagramSchma ExportDialogYou must enter a non-empty, unique filename for each diagram to export.UVous devez entrer un nom de fichier non vide et unique pour chaque schma exporter. ExportDialogYou must specify the path of the directory in which the images files will be saved.]Vous devez spcifier le chemin du dossier dans lequel seront enregistrs les fichiers images. ExportDialogpxpxpxExportDialog::ExportDiagramLineBitmap (*.bmp)Bitmap (*.bmp)ExportPropertiesWidget,Keep conductors colors&Conserver les couleurs des conducteursExportPropertiesWidgetDraw the gridDessiner la grilleExportPropertiesWidgetDraw the borderDessiner le cadreExportPropertiesWidgetDraw the insetDessiner le cartoucheExportPropertiesWidgetDraw terminalsDessiner les bornesExportPropertiesWidget"Target directory:Dossier cible :ExportPropertiesWidget.Export in the directoryExporter dans le dossierExportPropertiesWidget"Export the borderExporter le cadreExportPropertiesWidget(Export only elementsExporter les lmentsExportPropertiesWidgetFormat:Format :ExportPropertiesWidgetJPEG (*.jpg) JPEG (*.jpg)ExportPropertiesWidget"Rendering optionsOptions de renduExportPropertiesWidgetPNG (*.png) PNG (*.png)ExportPropertiesWidget Browse ParcourirExportPropertiesWidgetSVG (*.svg) SVG (*.svg)ExportPropertiesWidgetAppearance ApparenceGeneralConfigurationPageThese settings will be applied at the next opening of a diagram editor.QCes paramtres s'appliqueront ds la prochaine ouverture d'un diteur de schmas.GeneralConfigurationPageEvery element embeds informations about its authors, its license, or any information you may find useful in a freely usable textfield. You can specify here the default value of this textfield for the elements you will create:Chaque lment embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spcifier ici la valeur par dfaut de ce champ pour les lments que vous crerez :GeneralConfigurationPage&Elements managementGestion des lmentsGeneralConfigurationPageGeneralGnralGeneralConfigurationPageIntegrate automatically the elements into the projects (recommended)CIntgrer automatiquement les lments dans les projets (recommand)GeneralConfigurationPageProjectsProjetsGeneralConfigurationPageUse windowsUtiliser des fentresGeneralConfigurationPageUse tabsUtiliser des ongletsGeneralConfigurationPage"Use system colors Utiliser les couleurs du systmeGeneralConfigurationPage4<u>Missing element:</u> %1lment manquant: %1 GhostElement px px HotspotEditor 10 px 10 px HotspotEditorh<span style="text-decoration:underline;">Size</span>:Dimensions HotspotEditorn<span style="text-decoration:underline;">Hotspot</span>7Hotspot HotspotEditorAbscissa: Abscisse : HotspotEditorHTranslate element along with hotspot"Dplacer l'lment avec le hotspot HotspotEditorHeight: Hauteur : HotspotEditorThe element must be large enough to contain its whole graphical representation.OL'lment doit tre assez grand pour contenir tout sa reprsentation graphique. HotspotEditor Width: Largeur : HotspotEditorOrdinate: Ordonne : HotspotEditorAuthor:  Auteur : InsetPropertiesWidget Date: Date : InsetPropertiesWidgetCurrent date Date couranteInsetPropertiesWidgetFixed date:  Date fixe : InsetPropertiesWidget File:  Fichier : InsetPropertiesWidgetFolio: Folio : InsetPropertiesWidget Inset propertiesInformations du cartoucheInsetPropertiesWidgetBThe following variables can be used imn the Folio field: - %id: the current diagram's number in the project - %total: total number of diagrams in the projectLes variables suivantes sont utilisables dans le champ Folio : - %id : numro du schma courant dans le projet - %total : nombre total de schmas dans le projetInsetPropertiesWidgetNo date Pas de dateInsetPropertiesWidgetTitle: Titre : InsetPropertiesWidget:Make the two elements coexist!Faire cohabiter les deux lmentsIntegrationMoveElementsHandler2Integration of an elementIntgration d'un lmentIntegrationMoveElementsHandler:Integrate the dropped elementIntgrer l'lment dposIntegrationMoveElementsHandler(The element has already been integrated in the project. However, the version you're trying to drop appears to be different. What do you wish to do ?L'lment a dj t intgr dans le projet. Toutefois, la version que vous tentez de poser semble diffrente. Que souhaitez-vous faire ?IntegrationMoveElementsHandlerDUse the already integrated elementUtiliser l'lment dj intgrIntegrationMoveElementsHandlerHErase the already integrated elementcraser l'lment dj intgrIntegrationMoveElementsHandlerUndoAnnulerInteractiveMoveElementsHandler$Copy from %1 to %2Copie de %1 vers %2InteractiveMoveElementsHandler ErrorErreurInteractiveMoveElementsHandler IgnoreIgnorerInteractiveMoveElementsHandlerIgnore all Ignorer toutInteractiveMoveElementsHandler>The element %1 is not readable.-L'lment %1 n'est pas accessible en lecture.InteractiveMoveElementsHandler>The element %1 is not writable..L'lment %1 n'est pas accessible en criture.InteractiveMoveElementsHandlerpThe element "%1" already exists. What do you wish to do?8L'lment %1 existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandler@The category %1 is not readable.0La catgorie %1 n'est pas accessible en lecture.InteractiveMoveElementsHandler@The category %1 is not writable.1La catgorie %1 n'est pas accessible en criture.InteractiveMoveElementsHandler|The category "%1" (%2) already exists. What do you wish to do?@La catgorie %1 (%2) existe dj. Que souhaitez-vous faire ?InteractiveMoveElementsHandler RenameRenommerInteractiveMoveElementsHandler ErasecraserInteractiveMoveElementsHandlerErase all craser toutInteractiveMoveElementsHandlerDiamondCarr LineEditorDiamondtype of the 2nd end of a lineCarr LineEditor CircleCercle LineEditor Circletype of the 2nd end of a lineCercle LineEditor End 1Fin 1 LineEditor End 2Fin 2 LineEditorSimple arrow Flche simple LineEditorSimple arrowtype of the 2nd end of a line Flche simple LineEditorTriangle arrowFlche triangulaire LineEditorTriangle arrowtype of the 2nd end of a lineFlche triangulaire LineEditor NormalNormale LineEditor Normaltype of the 2nd end of a lineNormale LineEditor abscissa point 1abscisse point 1 LineEditor abscissa point 2abscisse point 2 LineEditorend 1 lengthlongueur fin 1 LineEditorend 2 lengthlongueur fin 2 LineEditor ordinate point 1ordonne point 1 LineEditor ordinate point 2ordonne point 2 LineEditorend 1 type type fin 1 LineEditorend 2 type type fin 2 LineEditorAdd a lineAjouter une ligneNamesListWidget@There must be at least one name. Il doit y avoir au moins un nom.NamesListWidgetLanguageLangueNamesListWidgetNameNomNamesListWidgetBYou must enter at least one name."Vous devez entrer au moins un nom.NamesListWidgetNew DiagramNouveau schmaNewDiagramPage&Next > &Suivant >NewElementWizard8Create a new element: wizard#Crer un nouvel lment : AssistantNewElementWizard ErrorErreurNewElementWizard^Enter the name of the file for the new element.EIndiquez le nom du fichier dans lequel enregistrer le nouvel lment.NewElementWizardPEnter one or more names for the element.%Indiquez le ou les noms de l'lment.NewElementWizardEnter the allowed and forbidden orientations for the new element.;Indiquez les orientations possibles pour le nouvel lment.NewElementWizardlPlease avoid the following characters: \ / : * ? < > |DMerci de ne pas utiliser les caractres suivants : \ / : * ? " < > |NewElementWizard New element nameNom du nouvel lmentNewElementWizardEnter the new element size and its hotspot, considering the element is default-oriented.Saisissez les dimensions du nouvel lment ainsi que la position du hotspot (point de saisie de l'lment la souris) en considrant que l'lment est dans son orientation par dfaut.NewElementWizardfSelect a category which to save the new element in.GSlectionnez une catgorie dans laquelle enregistrer le nouvel lment.NewElementWizard2You must enter a filename#Vous devez entrer un nom de fichierNewElementWizard6You must select a category.&Vous devez slectionner une catgorie.NewElementWizardYou don't have to specify the *.elmt extension. It will be added automatically.YVous n'tes pas oblig de prciser l'extension *.elmt. Elle sera ajoute automatiquement.NewElementWizardnew_elementnouvel_elementNewElementWizard8Step 1 of 5: Parent categorytape 1/5 : Catgorie parenteNewElementWizard*Step 2 of 5: Filenametape 2/5 : Nom du fichierNewElementWizard4Step 3 of 5: Element namestape 3/5 : Noms de l'lmentNewElementWizard:Step 4 of 5: Size and hotspot)tape 4/5 : Dimensions et point de saisieNewElementWizard2Step 5 of 5: Orientationstape 5/5 : OrientationsNewElementWizard East:Est :OrientationSetWidgetForbidden ImpossibleOrientationSetWidget North:Nord :OrientationSetWidget West:Ouest :OrientationSetWidgetDefault Par dfautOrientationSetWidgetAllowedPossibleOrientationSetWidget South:Sud :OrientationSetWidget ErrorErreur PolygonEditorZThe polygon must contain at least two points.0Le polygone doit comporter au moins deux points. PolygonEditorPolygon points:Points du polygone : PolygonEditorClosed polygonPolygone ferm PolygonEditorPolygon closurefermeture du polygone PolygonEditorxx PolygonEditoryy PolygonEditorPrinting ImpressionPrintConfigPagelThis project is read-only. Thus it can not be cleaned.JCe projet est en lecture seule. Il n'est donc pas possible de le nettoyer. ProjectViewRThis project does not contain any diagram"Ce projet ne contient aucun schma ProjectViewThis diagram has been added but it hasn't been modified nor saved. Do you wish to keep it?XCe schma a t ajout mais n'a t ni modifi ni enregistr. Voulez-vous le conserver ? ProjectView*Save the new diagram?Enregistrer le nouveau schma ? ProjectView*Save current project? Enregistrer le projet en cours ? ProjectView2Save the current diagram? Enregistrer le schma en cours ? ProjectViewSave asEnregistrer sous ProjectViewClean projectNettoyer le projet ProjectViewProjectProjet ProjectView"Read-only projectProjet en lecture seule ProjectView$Project propertiesProprits du projet ProjectViewrProperties used when adding a new diagram to the project:EProprits utiliser lors de l'ajout d'un nouveau schma au projet : ProjectView8QElectroTech Diagram (*.qet)Schma QElectroTech (*.qet) ProjectView&Delete the diagram?Supprimer le schma ? ProjectView.Delete empty categoriesSupprimer les catgories vides ProjectViewLDelete unused elements in the project0Supprimer les lments inutiliss dans le projet ProjectViewProject title:Titre du projet : ProjectView@Do you wish to save the project?#Voulez-vous enregistrer le projet ? ProjectViewFDo you wish to save the diagram %1?&Voulez-vous enregistrer le schma %1 ? ProjectViewprojectprojet ProjectViewDo you really want to delete this diagram from the project? This change is irreversible.Xtes-vous sr de vouloir supprimer ce schma du projet ? Ce changement est irrversible. ProjectView --common-elements-dir=DIR Define the elements collection directory O --common-elements-dir=DIR Definir le dossier de la collection d'elements QETApp~ --config-dir=DIR Define configuration directory D --config-dir=DIR Definir le dossier de configuration QETApp --lang-dir=DIR Define the language files directoryT --lang-dir=DIR Definir le dossier contenant les fichiers de langue QETApp, [options] [file]...  [options] [fichier]... QETApp &Hide&MasquerQETApp*&Hide element editors$&Masquer tous les diteurs d'lmentQETApp*&Hide diagram editors$&Masquer tous les diteurs de schmaQETApp&&New element editor&Nouvel diteur d'lmentQETApp&&New diagram editor&Nouvel diteur de schmaQETApp &Quit&QuitterQETApp &Show &RestaurerQETApp*&Show element editors&&Restaurer tous les diteurs d'lmentQETApp*&Show diagram editors&&Restaurer tous les diteurs de schmaQETAppLoading... Chargement...QETApp0Loading... Opening files$Chargement... Ouverture des fichiersQETApp.Loading... Systray iconChargement... icne du systrayQETApp4Loading... Diagrams editor Chargement... diteur de schmasQETApp&Closes QElectroTech Ferme l'application QElectroTechQETAppQElectroTech QElectroTechQETAppQElectroTechsystray icon tooltip QElectroTechQETAppQElectroTech, an application to design electric diagrams. Available options: --help Display this help -v, --version Display the version --license Display the license QElectroTech, une application de ralisation de schmas lectriques. Options disponibles : --help Afficher l'aide sur les options -v, --version Afficher la version --license Afficher la licence QETApp(Restore QElectroTechRestaurer QElectroTechQETAppJReduces QElectroTech into the systray$Rduire QElectroTech dans le systrayQETAppUsage: Usage : QETAppElement editorsditeurs d'lmentQETAppDiagram editorsditeurs de schmasQETApp &Help&AideQETDiagramEditor&Cascade&CascadeQETDiagramEditor&Settings&ConfigurationQETDiagramEditor.&Configure QElectroTech&Configurer QElectroTechQETDiagramEditor &Save &EnregistrerQETDiagramEditor$Sav&e all diagrams&Enregistrer tous les schmasQETDiagramEditor &Close&FermerQETDiagramEditor &File&FichierQETDiagramEditor&Import &ImporterQETDiagramEditor &Tile &MosaqueQETDiagramEditor&New&NouveauQETDiagramEditor &Open&OuvrirQETDiagramEditor&Project&ProjetQETDiagramEditor &Quit&QuitterQETDiagramEditor &Edit&ditionQETDiagramEditor<Activates the previous projectActive le projet prcdentQETDiagramEditor4Activates the next projectActive le projet suivantQETDiagramEditor4Activates the project "%1"Active le projet %1QETDiagramEditorpChanges the size of the plan so that it fits in the view>Adapte la taille du schma afin qu'il soit entirement visibleQETDiagramEditorDispl&ay Afficha&geQETDiagramEditorDisplay AffichageQETDiagramEditorLDisplays QElectroTech in windowed mode$Affiche QElectroTech en mode fentrQETDiagramEditorRDisplays QElectroTech in full screen mode(Affiche QElectroTech en mode plein cranQETDiagramEditorPDisplays informations about QElectroTech)Affiche des informations sur QElectroTechQETDiagramEditorLDisplays informations about Qt library/Affiche des informations sur la bibliothque QtQETDiagramEditorFDisplay or hide the Display toolbar*Affiche ou non la barre d'outils AffichageQETDiagramEditorFDisplay or hide the Diagram toolbar'Affiche ou non la barre d'outils SchmaQETDiagramEditor@Display or hide the main toolbar+Affiche ou non la barre d'outils principaleQETDiagramEditor:Display or hide the undo list)Affiche ou non la liste des modificationsQETDiagramEditorDDisplays or not the elements panel#Affiche ou non le panel d'appareilsQETDiagramEditorDisplayAfficherQETDiagramEditor Display projectsAfficher les projetsQETDiagramEditor$Expand the diagramAgrandit le schmaQETDiagramEditor6Expand the diagram's heightAgrandit le schma en hauteurQETDiagramEditor6Add a column to the diagramAjoute une colonne au schmaQETDiagramEditorAdd a textfieldAjouter un champ de texteQETDiagramEditorAdd a diagramAjouter un schmaQETDiagramEditorAdd a columnAjouter une colonneQETDiagramEditorAdd a rowAjouter une ligneQETDiagramEditorUndo AnnulationsQETDiagramEditor4Undoes the previous actionAnnule l'action prcdenteQETDiagramEditorUndoAnnulerQETDiagramEditorNo modificationAucune modificationQETDiagramEditorBackspace BackspaceQETDiagramEditor &PasteC&ollerQETDiagramEditorCu&tCo&uperQETDiagramEditor$Default conductorsConducteurs par dfautQETDiagramEditor &CopyCop&ierQETDiagramEditor0Copies selected elements5Copie les lments slectionns dans le presse-papierQETDiagramEditor&Opens a new diagramCre un nouveau schmaQETDiagramEditorCtrl+0QETDiagramEditorCtrl+9QETDiagramEditor Ctrl+DCtrl+DQETDiagramEditorCtrl+IQETDiagramEditor Ctrl+JCtrl+JQETDiagramEditor Ctrl+KCtrl+KQETDiagramEditor Ctrl+LCtrl+LQETDiagramEditorCtrl+QQETDiagramEditor Ctrl+Shift+AQETDiagramEditorCtrl+Shift+F Ctrl+Shift+FQETDiagramEditor Ctrl+Shift+IQETDiagramEditor Ctrl+Shift+XQETDiagramEditor Ctrl+TCtrl+TQETDiagramEditorJArranges windows in a cascade patternDispose les fentres en cascadeQETDiagramEditorDArranges windows in a tile pattern Dispose les fentres en mosaqueQETDiagramEditorxDeselects selected elements and select non-selected elementsTDslectionne les lments slectionns et slectionne les lments non slectionnsQETDiagramEditorBDeselect all elements on the plan)Dslectionne tous les lments du schmaQETDiagramEditorSelect noneDslectionner toutQETDiagramEditor&Export E&xporterQETDiagramEditorRemove a columnEnlever une colonneQETDiagramEditorRemove a rowEnlever une ligneQETDiagramEditorTRemoves selected elements from the diagram*Enlve les lments slectionns du schmaQETDiagramEditor@Remove a column from the diagramEnlve une colonne au schmaQETDiagramEditor2Saves the current diagramEnregistre le schma courantQETDiagramEditorZSaves the current diagram as another filename9Enregistre le schma courant avec un autre nom de fichierQETDiagramEditorZSaves all the diagrams of the current project-Enregistre tous les schmas du projet courantQETDiagramEditorSave asEnregistrer sousQETDiagramEditorZExports the current diagram to another format.Exporte le schma courant dans un autre formatQETDiagramEditorWi&ndows Fe&ntresQETDiagramEditor&Closes QElectroTech Ferme l'application QElectroTechQETDiagramEditor4Closes the current diagramFerme le schma courantQETDiagramEditorThe file %1 does not appear to be a QElectroTech project file. Thus it cannot be opened.hIl semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc tre ouvert.QETDiagramEditorThe file you try to open does not seem readable and can not be opened. Please check the file permissions.Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vrifier les permissions du fichier.QETDiagramEditorThe project you try to open does not seem writable. It will be opened read-only.Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en criture. Il sera donc ouvert en lecture seule.QETDiagramEditorTImports a diagram into the current diagram(Importe un schma dans le schma courantQETDiagramEditor&Unable to open fileImpossible d'ouvrir le fichierQETDiagramEditorPUnable to find this element in the panel1Impossible de retrouver cet lment dans le panelQETDiagramEditorUnable to find this element in the panel because it seems to be edited from another window\Impossible de retrouver cet lment dans le panel car il semble dit dans une autre fentreQETDiagramEditorUnable to find this element in the panel... reloading the panel...MImpossible de retrouver cet lment dans le panel... rechargement du panel...QETDiagramEditor4Prints the current diagramImprime le schma courantQETDiagramEditor PrintImprimerQETDiagramEditor Invert selectionInverser la slectionQETDiagramEditorSelection ModeMode SelectionQETDiagramEditorView ModeMode VisualisationQETDiagramEditorClean projectNettoyer le projetQETDiagramEditor ToolsOutilsQETDiagramEditor4Opening the file read-only$Ouverture du projet en lecture seuleQETDiagramEditor0Open an existing diagramOuvre un schma existantQETDiagramEditorOpen a fileOuvrir un fichierQETDiagramEditorElements PanelPanel d'lmentsQETDiagramEditorReset zoom Pas de zoomQETDiagramEditor F&ullScreen ModePasser en &mode plein cranQETDiagramEditorjAllows to specify various parameters for QElectroTech6Permet de rgler diffrents paramtres de QElectroTechQETDiagramEditor2Allows to select elements#Permet de slectionner les lmentsQETDiagramEditor^Allows to view the diagram without modifying it7Permet de visualiser le schma sans pouvoir le modifierQETDiagramEditor2Rotates selected elements Pivote les lments slectionnsQETDiagramEditor RotatePivoterQETDiagramEditorfPastes elements from the clipboard into the diagram1Place les lments du presse-papier sur le schmaQETDiagramEditor Previous projectProjet prcdentQETDiagramEditorNext projectProjet suivantQETDiagramEditor(Selection propertiesProprits de la slectionQETDiagramEditor$Project propertiesProprits du projetQETDiagramEditor$Diagram PropertiesProprits du schmaQETDiagramEditorXShows the various opened projects in windows>Prsente les diffrents projets ouverts dans des sous-fentresQETDiagramEditorRShows the various opened projects in tabs3Prsente les diffrents projets ouverts des ongletsQETDiagramEditorQElectroTech QElectroTechQETDiagramEditorQElectroTechstatus bar message QElectroTechQETDiagramEditorfReset the conductors path ignoring the user changesIRecalcule les chemins des conducteurs sans tenir compte des modificationsQETDiagramEditorRedoRefaireQETDiagramEditor4Restores the undone actionRestaure l'action annuleQETDiagramEditor6Restores default zoom levelRestaure le zoom par dfautQETDiagramEditor Reset conductorsRinitialiser les conducteursQETDiagramEditor&Shrinks the diagramRtrcit le schmaQETDiagramEditor6Shrink the diagram's heightRtrcit le schma en hauteurQETDiagramEditorDiagramSchmaQETDiagramEditor~QElectroTech Diagrams (*.qet);;XML Files (*.xml);;All files (*)ISchmas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*)QETDiagramEditor*Exit f&ullScreen modeSortir du &mode plein cranQETDiagramEditor SpaceSpaceQETDiagramEditorRSpecify the conductors default properties2Spcifie les proprits par dfaut des conducteursQETDiagramEditor Delete SupprimerQETDiagramEditor$Delete the diagramSupprimer le schmaQETDiagramEditorFSelects all elements on the diagram'Slectionne tous les lments du schmaQETDiagramEditorSelect AllTout slectionnerQETDiagramEditorRPuts selected elements into the clipboard9Transfre les lments slectionns dans le presse-papierQETDiagramEditorFit in view Zoom adaptQETDiagramEditorZoom Out Zoom arrireQETDiagramEditorZoom In Zoom avantQETDiagramEditorusing windowsen utilisant des fentresQETDiagramEditorusing tabsen utilisant des ongletsQETDiagramEditor&A&bout QElectroTech &propos de QElectroTechQETDiagramEditorAbout &Qt propos de &QtQETDiagramEditor,Unable to open projectchec de l'ouverture du projetQETDiagramEditorPEdit informations displayed by the inset1dite les informations affiches par le cartoucheQETDiagramEditorHEdit the selected objects properties+dite les proprits des objets slectionnQETDiagramEditor [Read only] [lecture seule]QETElementEditor"%n selected part.$%n selected parts.%n partie(s) slectionne(s).QETElementEditor &Help&AideQETElementEditor&Settings&ConfigurationQETElementEditor.&Configure QElectroTech&Configurer QElectroTechQETElementEditor &Save &EnregistrerQETElementEditor &File&FichierQETElementEditor&New&NouveauQETElementEditor &Open&OuvrirQETElementEditor"&Open from a file&Ouvrir depuis un fichierQETElementEditor &Quit&QuitterQETElementEditor&Delete &SupprimerQETElementEditor &Edit&ditionQETElementEditor<b>%1</b>: %2%1: %2QETElementEditor Missing terminalAbsence de borneQETElementEditorDispl&ay Afficha&geQETElementEditorDisplay AffichageQETElementEditorLDisplays QElectroTech in windowed mode$Affiche QElectroTech en mode fentrQETElementEditorRDisplays QElectroTech in full screen mode(Affiche QElectroTech en mode plein cranQETElementEditorPDisplays informations about QElectroTech)Affiche des informations sur QElectroTechQETElementEditorLDisplays informations about Qt library/Affiche des informations sur la bibliothque QtQETElementEditorDisplayAfficherQETElementEditorAdd textAjouter du texteQETElementEditorAdd an arcAjouter un arc de cercleQETElementEditorAdd a circleAjouter un cercleQETElementEditorAdd a textfieldAjouter un champ de texteQETElementEditorAdd a polygonAjouter un polygoneQETElementEditorAdd a rectangleAjouter un rectangleQETElementEditorAdd a terminalAjouter une borneQETElementEditorAdd an ellipseAjouter une ellipseQETElementEditorAdd a lineAjouter une ligneQETElementEditorBring forwardAmener au premier planQETElementEditorUndo AnnulationsQETElementEditorUndoAnnulerQETElementEditorNo modificationAucune modificationQETElementEditorWarningsAvertissementsQETElementEditorBackspace BackspaceQETElementEditor &PasteC&ollerQETElementEditor*Pa&ste in the area...C&oller dans la zone...QETElementEditorJThis file is not a valid XML document+Ce fichier n'est pas un document XML valideQETElementEditorSome graphical parts (texts, circles, lines, ...) seem to be out of the element border. This may generate graphical bugs when the element is moved on a diagram. You can fix this by moving those parts or using Edit > Edit size and hotspot.;Certaines parties graphiques (textes, cercles, lignes...) semblent dborder du cadre de l'lment. Cela risque de gnrer des bugs graphiques lors de leur manipulation sur un schma. Vous pouvez corriger cela soit en dplaant ces parties, soit en vous rendant dans dition > diter la taille et le point de saisie.QETElementEditorCu&tCo&uperQETElementEditorPaste from...Coller depuis...QETElementEditor &CopyCop&ierQETElementEditor Ctrl+0Ctrl+0QETElementEditor Ctrl+9Ctrl+9QETElementEditor Ctrl+ECtrl+EQETElementEditor Ctrl+ICtrl+IQETElementEditor Ctrl+QCtrl+QQETElementEditor Ctrl+RCtrl+RQETElementEditorCtrl+Shift+A Ctrl+Shift+AQETElementEditorCtrl+Shift+DownCtrl+Shift+DownQETElementEditorCtrl+Shift+EndCtrl+Shift+EndQETElementEditorCtrl+Shift+F Ctrl+Shift+FQETElementEditorCtrl+Shift+HomeCtrl+Shift+HomeQETElementEditorCtrl+Shift+O Ctrl+Shift+OQETElementEditorCtrl+Shift+S Ctrl+Shift+SQETElementEditorCtrl+Shift+Up Ctrl+Shift+UpQETElementEditorCtrl+Shift+V Ctrl+Shift+VQETElementEditor Ctrl+TCtrl+TQETElementEditor Ctrl+YCtrl+YQETElementEditorElement sizeDimensions de l'lmentQETElementEditorMove an objectDplacer un objetQETElementEditorSelect noneDslectionner toutQETElementEditorSave to a fileEnregistrer dans un fichierQETElementEditor*Save current element? Enregistrer l'lment en cours ?QETElementEditorSave asEnregistrer sousQETElementEditorSave as dialog titleEnregistrer sousQETElementEditorSend backwardEnvoyer au fondQETElementEditor ErrorErreurQETElementEditor Errormessage box titleErreurQETElementEditor6Unable to reach the element Impossible d'atteindre l'lmentQETElementEditor4Unable to save the element"Impossible d'enregistrer l'lmentQETElementEditor6Unable to open the file %1."Impossible d'ouvrir le fichier %1.QETElementEditor8Unable to write to this file#Impossible d'crire dans ce fichierQETElementEditorInformations InformationsQETElementEditor Invert selectionInverser la slectionQETElementEditor6The element does not exist.L'lment n'existe pas.QETElementEditorThe element does not contain any terminal. An element must have terminals in order to be connected to other elements by conductors.L'lment ne comporte aucune borne. Un lment doit comporter des bornes afin de pouvoir tre reli d'autres lments par l'intermdiaire de conducteurs.QETElementEditorTChecking this element generated a warning:XChecking this element generated %n warnings:=La vrification de cet lment a gnr %n avertissement(s):QETElementEditordThe chosen virtual path does not match an element.8Le chemin virtuel choisi ne correspond pas un lment.QETElementEditor6The file %1 does not exist.Le fichier %1 n'existe pas.QETElementEditorjHold down the Shift key to add several parts in a rowLMaintenez la touche Shift enfonce pour effectuer plusieurs ajouts d'affileQETElementEditor To&olsO&utilsQETElementEditor ToolsOutilsQETElementEditorOpen a fileOuvrir un fichierQETElementEditor PartsPartiesQETElementEditor Parts dock titlePartiesQETElementEditorReset zoom Pas de zoomQETElementEditor F&ullScreen ModePasser en &mode plein cranQETElementEditorjAllows to specify various parameters for QElectroTech6Permet de rgler diffrents paramtres de QElectroTechQETElementEditor Depth ProfondeurQETElementEditor:QElectroTech - Element Editor QElectroTech - diteur d'lmentQETElementEditor Raise RapprocherQETElementEditor Reload RechargerQETElementEditorReload elementRecharger l'lmentQETElementEditorRedoRefaireQETElementEditor*Exit f&ullScreen modeSortir du &mode plein cranQETElementEditorSelect AllTout slectionnerQETElementEditorDToo much parts, list not rendered.&Trop de primitives, liste non gnre.QETElementEditortUse the right mouse button to set the polygon's last pointMUtilisez le bouton droit de la souris pour poser le dernier point du polygoneQETElementEditorFDo you wish to save the element %1?&Voulez-vous enregistrer l'lment %1 ?QETElementEditorThis element has been modified since last save. If you reload it, these changes will be lost. Do you really want to reload this element?Vous avez efffectu des modifications sur cet lment. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'lment ?QETElementEditorYou are not allowed to modify this element. Thus it will be edited read-only.kVous n'avez pas les privilges ncessaires pour modifier cet lement. Il sera donc ouvert en lecture seule.QETElementEditorFit in view Zoom adaptQETElementEditorZoom Out Zoom arrireQETElementEditorZoom In Zoom avantQETElementEditor[Changed] [Modifi]QETElementEditor a file un fichierQETElementEditoran element un lmentQETElementEditor&A&bout QElectroTech &propos de QElectroTechQETElementEditorAbout &Qt propos de &QtQETElementEditor*Edit size and hotspot&diter la taille et le point de saisieQETElementEditor0Edit author informations$diter les informations sur l'auteurQETElementEditorEdit namesditer les nomsQETElementEditor"Edit orientationsditer les orientationsQETElementEditorElements Editorditeur d'lmentsQETElementEditor"Read only editiondition en lecture seuleQETElementEditor LowerloignerQETElementEditorElementlmentQETElementEditor*Non-existent element.lment inexistant.QETElementEditor<QElectroTech elements (*.elmt)lments QElectroTech (*.elmt)QETElementEditorQElectroTech elements (*.elmt);;XML files (*.xml);;All files (*)Klments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)QETElementEditor%1%%1 %QETPrintPreviewDialog&Fit diagram to pageAdapter le schma la pageQETPrintPreviewDialog(Display facing pagesAfficher deux pagesQETPrintPreviewDialogDisplay Afficher la liste des schmasQETPrintPreviewDialog2Display the print options!Afficher les options d'impressionQETPrintPreviewDialog"Display all pages&Afficher un aperu de toutes les pagesQETPrintPreviewDialog*Display a single pageAfficher une seule pageQETPrintPreviewDialogFit to widthAjuster la largeurQETPrintPreviewDialogFit to pageAjuster la pageQETPrintPreviewDialog,Hide the diagrams listCacher la liste des schmasQETPrintPreviewDialog,Hide the print optionsCacher les options d'impressionQETPrintPreviewDialogLast page Dernire pageQETPrintPreviewDialog PrintImprimerQETPrintPreviewDialogPage layout Mise en pageQETPrintPreviewDialogzPage layout (not available under Windows for PDF/PS printing)CMise en page (non disponible sous Windows pour l'impression PDF/PS)QETPrintPreviewDialogPrint optionsOptions d'impressionQETPrintPreviewDialogPrevious pagePage prcdenteQETPrintPreviewDialogNext page Page suivanteQETPrintPreviewDialogLandscapePaysageQETPrintPreviewDialogPortraitPortraitQETPrintPreviewDialogFirst page Premire pageQETPrintPreviewDialog6QElectroTech: Print preview&QElectroTech : Aperu avant impressionQETPrintPreviewDialog$Diagrams to print:Schmas imprimer:QETPrintPreviewDialogIf this option is checked, the diagram will be shrinked or expanded to fit the printable surface of a single page.Si cette option est coche, le schma sera agrandi ou rtrci de faon remplir toute la surface imprimable d'une et une seule page.QETPrintPreviewDialog&If this option is checked, the paper margins are ignored and its whole surface is used for the printing. This may not be supported by your printer.Si cette option est coche, les marges de la feuille seront ignores et toute sa surface sera utilise pour l'impression. Cela peut ne pas tre support par votre imprimante.QETPrintPreviewDialogCheck all Tout cocherQETPrintPreviewDialogUnchek all Tout dcocherQETPrintPreviewDialog$Use the whole pageUtiliser toute la feuilleQETPrintPreviewDialogZoom Out Zoom arrireQETPrintPreviewDialogZoom In Zoom avantQETPrintPreviewDialog%1 [read-only]%1 [lecture seule] QETProjectWarning Avertissement QETProjectThis document seems to have been saved by a more recent version of QElectroTech. The opening of the document may fail totally or partially.Ce document semble avoir t enregistr avec une version ultrieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document choue. QETProjectPUnable to reach the element to integrate+Impossible d'accder l'lment a intgrer QETProjectUnable to create the category dedicated to the elements integration@Impossible de crer la catgorie pour l'intgration des lments QETProjectProject %1 Projet %1 QETProject Untitled projectProjet sans titre QETProjectProject "%1" Projet %1 QETProjectdAn error occured during the copy of the element %1:Un problme s'est produit pendant la copie de l'lment %1 QETProjectfAn error occured during the copy of the category %1=Un problme s'est produit pendant la copie de la catgorie %1 QETProjectThe allowed characters are: - digits [0-9] - lower-case letters [a-z] - dash [-], underscore [_] and dot [.] Les caractres autoriss sont : - les chiffres [0-9] - les minuscules [a-z] - le tiret [-], l'underscore [_] et le point [.]  QFileNameEdit and  et QObject and Useparator between conductors and texts in a sentence listing the content of a diagram et QObject%n textfield%n textfields%n champ(s) de texteQObject%n conductor%n conductors%n conducteur(s)QObject%n element%n elements %n lment(s)QObject, , QObjectAdd a textfieldAjouter un champ de texteQObjectPreviewAperuQObjectWarning: the element has been saved with a more recent version of QElectroTech.XAvertissement : l'lment a t enregistr avec une version ultrieure de QElectroTech.QObjectTerminalBorneQObject"Keep aspect ratioConserver les proportionsQObject&Export to clipboardExporter vers le presse-papierQObjectThe text file containing the GNU/GPL license could not be found - however, you know it by heart, don't you?zLe fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute faon, vous la connaissez par coeur non ?QObjectThe text file containing the GNU/GPL license exists but could not be opened - however, you know it by heart, don't you?Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu tre ouvert - bon bah de toute faon, vous la connaissez par coeur non ?QObjectReset %1Rinitialiser %1QObjectReset sizeRinitialiser les dimensionsQObject Untitled diagramSchma sans titreQObjectTTQObject__QObjectinsert %1ajout %1QObjectadd 1 %1 ajouter 1 %1QObjectadd a conductorajouter un conducteurQObjectbring forwardamener au premier planQObjectarcarcQObjectterminalborneQObject circlecercleQObjecttextfieldchamp de texteQObject pastecollerQObjectpaste %1 coller %1QObject cut %1 couper %1QObjectcut partscouper des partiesQObjectmove dplacementQObjectmove %1 dplacer %1QObjectellipseellipseQObjectsend backwardenvoyer au fondQObjectlineligneQObjectmodify %1modification %1QObject6modify internal connections modification connexions internesQObject&modify size/hotspotmodification dimensions/hotspotQObject4modify author informations)modification informations complementairesQObjectmodify namesmodification nomsQObject&modify orientationsmodification orientationsQObject6modification polygon pointsmodification points polygoneQObject modify the insetmodifier le cartoucheQObjectmodify textmodifier le texteQObject.modify the diagram size!modifier les dimensions du schmaQObject6modify conductor properties'modifier les proprits d'un conducteurQObject$modify a conductormodifier un conducteurQObjectrotate %1 pivoter %1QObjectpolygonpolygoneQObject raise rapprocherQObjectrectangle rectangleQObjectdiagramschemaQObjectdeletion suppressionQObjectdelete %1 supprimer %1QObjecttexttexteQObject lowerloignerQObject &Recently Opened&Rcemment ouvert(s) RecentFiles Top left corner:Coin suprieur gauche: RectangleEditor Size: Dimensions: RectangleEditorHeight: Hauteur:RectangleEditor Width: Largeur:RectangleEditorabscissaabscisseRectangleEditor heighthauteurRectangleEditor widthlargeurRectangleEditorordinateordonneRectangleEditorAntialiasing Antialiasing StyleEditorNoneAucun StyleEditor WhiteBlanc StyleEditor Whiteelement part fillingBlanc StyleEditorColor:  Couleur :  StyleEditorThinFine StyleEditor BlackNoir StyleEditor Blackelement part fillingNoir StyleEditor NormalNormal StyleEditor NormalNormale StyleEditorNoneNulle StyleEditor Dashed Pointill StyleEditorFilling: Remplissage : StyleEditorStyle: Style :  StyleEditor Line:Trait : StyleEditorWeight:  paisseur :  StyleEditorEastEstTerminalEditor NorthNordTerminalEditorOrientation: Orientation : TerminalEditorWestOuestTerminalEditorPosition:  Position : TerminalEditor SouthSudTerminalEditorabscissaabscisseTerminalEditorordinateordonneTerminalEditororientation orientationTerminalEditorx: x : TerminalEditory: y : TerminalEditorPosition:  Position :  TextEditor Size:  Taille :  TextEditor Text: Texte :  TextEditorabscissaabscisse TextEditorcontentcontenu TextEditorordinateordonne TextEditorsizetaille TextEditorx: x :  TextEditory: y :  TextEditorTStay horizontal despite element rotations7Maintenir horizontal malgr les rotations de l'lmentTextFieldEditorPosition:  Position : TextFieldEditor Size:  Taille : TextFieldEditorDefault text: Texte par dfaut : TextFieldEditorabscissaabscisseTextFieldEditorcontentcontenuTextFieldEditorordinateordonneTextFieldEditorproperty propritTextFieldEditorsizetailleTextFieldEditorx: x : TextFieldEditory: y : TextFieldEditorqelectrotech-0.22+svn897/man/0000755000175000017500000000000011347002076015652 5ustar laurentlaurentqelectrotech-0.22+svn897/man/uncompress_man_pages.sh0000755000175000017500000000044111053105741022415 0ustar laurentlaurent#!/bin/bash # Uncompresses every man page APP=qelectrotech.1 MAN_DIR=$(dirname $0)/files find ${MAN_DIR} -type f -name "${APP}.gz" -exec gzip -d {} \; # correct files permissions find ${MAN_DIR} -type d -exec chmod a+rx {} \; find ${MAN_DIR} -type f -name "${APP}" -exec chmod a+r {} \; qelectrotech-0.22+svn897/man/compress_man_pages.sh0000755000175000017500000000044311056230772022062 0ustar laurentlaurent#!/bin/bash # Compresses every man page APP=qelectrotech.1 MAN_DIR=$(dirname $0)/files find ${MAN_DIR} -type f -name "${APP}" -exec gzip --best {} \; # correct files permissions find ${MAN_DIR} -type d -exec chmod a+rx {} \; find ${MAN_DIR} -type f -name "${APP}.gz" -exec chmod a+r {} \; qelectrotech-0.22+svn897/man/files/0000755000175000017500000000000011347002076016754 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/pt/0000755000175000017500000000000011347002076017377 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/pt/man1/0000755000175000017500000000000011347002076020233 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/pt/man1/qelectrotech.10000644000175000017500000000630611306532467023013 0ustar laurentlaurent.TH QELECTROTECH 1 "Agosto de 2008" QElectroTech "Manual do Utilizador" .SH NAME qelectrotech \- Editor de Esquemas Eléctricos .SH SYNOPSIS .B qelectrotech .B [\-\-common\-elements\-dir\fR=\fIDIR\fB] .B [\-\-config\-dir\-elements\-dir\fR=\fIDIR\fB] .B [\-\-lang\-dir\fR=\fIDIR\fB] .B [\-\-help] .B [\-v\fR|\fB\-\-version] .B [\-\-license] .B [\fIFILE\fB]... . SH DESCRIÇÃO QElectroTech é um editor de esquemas elétricos. Esquemas (*. qet) e elementos elétricos (*. elmt) são armazenados usando o formato XML. Os elementos que podem ser usados em esquemas podem ser provenientes da colecção comum ou da coleção personalizada do utilizador. Normalmente, a colecção comum pode ser lida por todos os utilizadores, mas não pode ser editada. Cada utilizador possui a sua coleção personalizada que pode alterar ao seu gosto. .SH OPTIONS .TP \fB\-\-common\-elements\-dir\fR=\fIDIR\fR Utiliza DIR como directoria de raiz da colecção comum. Nota: esta opção só é habilitada se a directiva QET_ALLOW_OVERRIDE_CED_OPTION tiver sido usada aquando a compilação do programa. .TP \fB\-\-config\-dir\fR=\fIDIR\fR Utiliza DIR como a directoria de configuração do utilizador actual. Esta directoria tem um ficheiro de nome qelectrotech.conf, contendo a configuração da aplicação, e uma subdirectoria chamada elements, que contém a colecção de elementos do actual utilizador. Nota: esta opção só é habilitada se a directiva QET_ALLOW_OVERRIDE_CD_OPTION tiver sido usada aquando a compilação do programa. .TP \fB\-\-lang\-dir\fR=\fIDIR\fR Procura os ficheiros de tradução da aplicação na directoria DIR. .TP \fB\-\-help\fR Mostra uma curta descrição das opções disponiveis. .TP \fB\-v\fR, \fB\-\-version\fR Mostra a versão da aplicação (Ex.: 0.1) .TP \fB\-\-license\fR Mostra a licença da aplicação (GNU/GPL) Note que se uma das três últimas opções é especificada na linha de comando, o programa pára depois de ter apresentado as informações adequadas. Se uma instância do aplicativo lançado pelo utilizador ainda está em execução, essa instância irá considerar a linha de comando, e, nomeadamente, os arquivos a serem abertos. No entanto, as opções que redefinem os diretórios (colecção comum, configuração e arquivos de tradução) não serão consideradas. Se um nome de arquivo termina com .Elmt, QElectroTech vai tentar abri-lo com um editor de elemento. Caso contrário, ele vai considerar como esquemas. .SH AUTHORS Benoit Ansieau .br Xavier Guerrin . SH REPORTAR ERROS Se você encontrar um comportamento no aplicativo que pareça estranho para si, veja a FAQ e o nosso BugTracker para verificar se o problema já é conhecido. Em caso negativo, por favor, envie um relatório do erro através do BugTracker. .SH COPYRIGHT Copyright (c) QElectroTech developers. .br Licença : GNU/GPL v2+ : .br Este programa é um software LIVRE. Você pode modificar e redistribuir. ELE É FORNECIDO COMO ESTÀ E SEM QUALQUER TIPO DE GARANTIA. SH VER TAMBÉM Página oficial do projecto : qelectrotech-0.22+svn897/man/files/fr.UTF-8/0000755000175000017500000000000011347002076020165 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/fr.UTF-8/man1/0000755000175000017500000000000011347002076021021 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/fr.UTF-8/man1/qelectrotech.10000644000175000017500000000640311165461721023574 0ustar laurentlaurent.TH QELECTROTECH 1 "AOÛT 2008" QElectroTech "Manuel utilisateur" .SH NOM qelectrotech \- Éditeur de schémas électriques .SH SYNOPSIS .B qelectrotech .B [\-\-common\-elements\-dir\fR=\fIREP\fB] .B [\-\-config\-dir\-elements\-dir\fR=\fIREP\fB] .B [\-\-lang\-dir\fR=\fIREP\fB] .B [\-\-help] .B [\-v\fR|\fB\-\-version] .B [\-\-license] .B [\fIFICHIER\fB]... .SH DESCRIPTION QElectroTech est un éditeur de schémas électriques. Les schémas (*.qet) et les éléments électriques (*.elmt) sont enregistrés au format XML. Les éléments disposables sur le schéma peuvent provenir de la collection commune ou de la collection utilisateur. Typiquement, la collection commune est accessible à tous les utilisateurs mais elle n'est pas éditable par eux. La collection utilisateur est propre à chaque utilisateur et peut être modifiée comme bon lui semble. .SH OPTIONS .TP \fB\-\-common\-elements\-dir\fR=\fIREP\fR Utilise le dossier REP comme racine de la collection d'éléments commune. Note : cette option n'est activée que si la directive QET_ALLOW_OVERRIDE_CED_OPTION a été spécifiée durant la compilation. .TP \fB\-\-config\-dir\fR=\fIREP\fR Utilise le dossier REP comme dossier de configuration de l'utilisateur courant. Ce dossier accueille un fichier qelectrotech.conf contenant la configuration de l'application et un sous\-dossier elements contenant la collection d'éléments de l'utilisateur. Note : cette option n'est activée que si la directive QET_ALLOW_OVERRIDE_CD_OPTION a été spécifiée durant la compilation. .TP \fB\-\-lang\-dir\fR=\fIREP\fR Recherche les fichiers de traduction de l'application dans le dossier REP. .TP \fB\-\-help\fR Affiche une courte description des options disponibles .TP \fB\-v\fR, \fB\-\-version\fR Affiche la version de l'application (exemple : 0.1). .TP \fB\-\-license\fR Affiche la licence de l'application (GNU/GPL). À noter que si l'une des trois dernières options est specifiée dans la ligne de commande, le programme s'arrête après affichage de l'information correspondante. Si une instance de l'application a déjà été lancée par l'utilisateur, c'est celle\-ci qui prendra en compte la ligne de commande, et notamment les fichiers à ouvrir. Les options redéfinissant les dossiers (collection commune, répertoire de configuration et fichiers de langue) ne seront toutefois pas pris en compte. Si le nom d'un fichier à ouvrir se termine par .elmt, QElectroTech essaiera de l'ouvrir dans un éditeur d'élément. Autrement, il les considérera comme des schémas. .SH AUTEURS Benoît Ansieau .br Xavier Guerrin .SH SIGNALER DES BUGS Si vous rencontrez un comportement qui vous paraît anormal dans l'application, consultez notre FAQ et notre BugTracker pour voir si le problème n'est pas déjà connu. Dans la négative, soumettez un rapport de bug via le BugTracker. .SH COPYRIGHT Copyright © Les développeurs de QElectroTech .br Licence : GNU/GPL v2+ : .br Ce programme est un logiciel libre. Vous pouvez le modifier et le redistribuer. Il est fourni tel quel et SANS AUCUNE GARANTIE. .SH VOIR AUSSI Site officiel : qelectrotech-0.22+svn897/man/files/man1/0000755000175000017500000000000011347002076017610 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/man1/qelectrotech.10000644000175000017500000000566011165461721022367 0ustar laurentlaurent.TH QELECTROTECH 1 "AUGUST 2008" QElectroTech "User Manual" .SH NAME qelectrotech \- Electric diagrams editor .SH SYNOPSIS .B qelectrotech .B [\-\-common\-elements\-dir\fR=\fIDIR\fB] .B [\-\-config\-dir\-elements\-dir\fR=\fIDIR\fB] .B [\-\-lang\-dir\fR=\fIDIR\fB] .B [\-\-help] .B [\-v\fR|\fB\-\-version] .B [\-\-license] .B [\fIFILE\fB]... .SH DESCRIPTION QElectroTech is an electric diagrams editor. Diagrams (*.qet) and electric elements (*.elmt) are stored using the XML format. The elements that can be used in diagrams may come from the common collection or from the user's custom collection. Typically, the common collection is readable by all users but it can't be edited by them. Each user owns its custom collection he can modify as he wants. .SH OPTIONS .TP \fB\-\-common\-elements\-dir\fR=\fIDIR\fR Uses DIR as the common collection root directory. Note : this option is enabled only if the QET_ALLOW_OVERRIDE_CED_OPTION directive has been specified at compilation time. .TP \fB\-\-config\-dir\fR=\fIDIR\fR Uses DIR as the current user's configuration directory. This directory hosts a file named qelectrotech.conf, which contains the application configuration, and a subdirectory named elements, which contains the user's elements collection. Note : this option is enabled only if the QET_ALLOW_OVERRIDE_CD_OPTION directive has been specified at compilation time. .TP \fB\-\-lang\-dir\fR=\fIDIR\fR Looks for the application translation files in the directory DIR. .TP \fB\-\-help\fR Displays a short description of the available options. .TP \fB\-v\fR, \fB\-\-version\fR Displays the application version (e.g.: 0.1). .TP \fB\-\-license\fR Displays the application license (GNU/GPL). Note that if one of the three last options is specified in the command line, the programs stops after having displayed the adequate information. If an instance of the application launched by the user is still running, this instance will consider the command line, and notably the files to open. However, options that redefine directories (common collection, configuration and translation files) will not be considered. If a filename ends with .elmt, QElectroTech will try to open it into an element editor. Otherwise, it will consider it as diagrams. .SH AUTHORS Benoit Ansieau .br Xavier Guerrin .SH REPORTING BUGS If you encounter a behavior in the application that looks unusual to you, browse our FAQ and our BugTracker to check if the problem is already known. In the negative, please submit a bugreport via the BugTracker. .SH COPYRIGHT Copyright (c) QElectroTech developers. .br License : GNU/GPL v2+ : .br This program is a free software. You can modify and redistribute it. It is provided as is and WITHOUT ANY WARRANTY. .SH SEE ALSO Official website : qelectrotech-0.22+svn897/man/files/fr/0000755000175000017500000000000011347002076017363 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/fr/man1/0000755000175000017500000000000011347002076020217 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/fr/man1/qelectrotech.10000644000175000017500000000640311165461721022772 0ustar laurentlaurent.TH QELECTROTECH 1 "AOÛT 2008" QElectroTech "Manuel utilisateur" .SH NOM qelectrotech \- Éditeur de schémas électriques .SH SYNOPSIS .B qelectrotech .B [\-\-common\-elements\-dir\fR=\fIREP\fB] .B [\-\-config\-dir\-elements\-dir\fR=\fIREP\fB] .B [\-\-lang\-dir\fR=\fIREP\fB] .B [\-\-help] .B [\-v\fR|\fB\-\-version] .B [\-\-license] .B [\fIFICHIER\fB]... .SH DESCRIPTION QElectroTech est un éditeur de schémas électriques. Les schémas (*.qet) et les éléments électriques (*.elmt) sont enregistrés au format XML. Les éléments disposables sur le schéma peuvent provenir de la collection commune ou de la collection utilisateur. Typiquement, la collection commune est accessible à tous les utilisateurs mais elle n'est pas éditable par eux. La collection utilisateur est propre à chaque utilisateur et peut être modifiée comme bon lui semble. .SH OPTIONS .TP \fB\-\-common\-elements\-dir\fR=\fIREP\fR Utilise le dossier REP comme racine de la collection d'éléments commune. Note : cette option n'est activée que si la directive QET_ALLOW_OVERRIDE_CED_OPTION a été spécifiée durant la compilation. .TP \fB\-\-config\-dir\fR=\fIREP\fR Utilise le dossier REP comme dossier de configuration de l'utilisateur courant. Ce dossier accueille un fichier qelectrotech.conf contenant la configuration de l'application et un sous\-dossier elements contenant la collection d'éléments de l'utilisateur. Note : cette option n'est activée que si la directive QET_ALLOW_OVERRIDE_CD_OPTION a été spécifiée durant la compilation. .TP \fB\-\-lang\-dir\fR=\fIREP\fR Recherche les fichiers de traduction de l'application dans le dossier REP. .TP \fB\-\-help\fR Affiche une courte description des options disponibles .TP \fB\-v\fR, \fB\-\-version\fR Affiche la version de l'application (exemple : 0.1). .TP \fB\-\-license\fR Affiche la licence de l'application (GNU/GPL). À noter que si l'une des trois dernières options est specifiée dans la ligne de commande, le programme s'arrête après affichage de l'information correspondante. Si une instance de l'application a déjà été lancée par l'utilisateur, c'est celle\-ci qui prendra en compte la ligne de commande, et notamment les fichiers à ouvrir. Les options redéfinissant les dossiers (collection commune, répertoire de configuration et fichiers de langue) ne seront toutefois pas pris en compte. Si le nom d'un fichier à ouvrir se termine par .elmt, QElectroTech essaiera de l'ouvrir dans un éditeur d'élément. Autrement, il les considérera comme des schémas. .SH AUTEURS Benoît Ansieau .br Xavier Guerrin .SH SIGNALER DES BUGS Si vous rencontrez un comportement qui vous paraît anormal dans l'application, consultez notre FAQ et notre BugTracker pour voir si le problème n'est pas déjà connu. Dans la négative, soumettez un rapport de bug via le BugTracker. .SH COPYRIGHT Copyright © Les développeurs de QElectroTech .br Licence : GNU/GPL v2+ : .br Ce programme est un logiciel libre. Vous pouvez le modifier et le redistribuer. Il est fourni tel quel et SANS AUCUNE GARANTIE. .SH VOIR AUSSI Site officiel : qelectrotech-0.22+svn897/man/files/fr.ISO8859-1/0000755000175000017500000000000011347002076020510 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/fr.ISO8859-1/man1/0000755000175000017500000000000011347002076021344 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/fr.ISO8859-1/man1/qelectrotech.10000644000175000017500000000630611165461721024121 0ustar laurentlaurent.TH QELECTROTECH 1 "AOT 2008" QElectroTech "Manuel utilisateur" .SH NOM qelectrotech \- diteur de schmas lectriques .SH SYNOPSIS .B qelectrotech .B [\-\-common\-elements\-dir\fR=\fIREP\fB] .B [\-\-config\-dir\-elements\-dir\fR=\fIREP\fB] .B [\-\-lang\-dir\fR=\fIREP\fB] .B [\-\-help] .B [\-v\fR|\fB\-\-version] .B [\-\-license] .B [\fIFICHIER\fB]... .SH DESCRIPTION QElectroTech est un diteur de schmas lectriques. Les schmas (*.qet) et les lments lectriques (*.elmt) sont enregistrs au format XML. Les lments disposables sur le schma peuvent provenir de la collection commune ou de la collection utilisateur. Typiquement, la collection commune est accessible tous les utilisateurs mais elle n'est pas ditable par eux. La collection utilisateur est propre chaque utilisateur et peut tre modifie comme bon lui semble. .SH OPTIONS .TP \fB\-\-common\-elements\-dir\fR=\fIREP\fR Utilise le dossier REP comme racine de la collection d'lments commune. Note : cette option n'est active que si la directive QET_ALLOW_OVERRIDE_CED_OPTION a t spcifie durant la compilation. .TP \fB\-\-config\-dir\fR=\fIREP\fR Utilise le dossier REP comme dossier de configuration de l'utilisateur courant. Ce dossier accueille un fichier qelectrotech.conf contenant la configuration de l'application et un sous\-dossier elements contenant la collection d'lments de l'utilisateur. Note : cette option n'est active que si la directive QET_ALLOW_OVERRIDE_CD_OPTION a t spcifie durant la compilation. .TP \fB\-\-lang\-dir\fR=\fIREP\fR Recherche les fichiers de traduction de l'application dans le dossier REP. .TP \fB\-\-help\fR Affiche une courte description des options disponibles .TP \fB\-v\fR, \fB\-\-version\fR Affiche la version de l'application (exemple : 0.1). .TP \fB\-\-license\fR Affiche la licence de l'application (GNU/GPL). noter que si l'une des trois dernires options est specifie dans la ligne de commande, le programme s'arrte aprs affichage de l'information correspondante. Si une instance de l'application a dj t lance par l'utilisateur, c'est celle\-ci qui prendra en compte la ligne de commande, et notamment les fichiers ouvrir. Les options redfinissant les dossiers (collection commune, rpertoire de configuration et fichiers de langue) ne seront toutefois pas pris en compte. Si le nom d'un fichier ouvrir se termine par .elmt, QElectroTech essaiera de l'ouvrir dans un diteur d'lment. Autrement, il les considrera comme des schmas. .SH AUTEURS Benot Ansieau .br Xavier Guerrin .SH SIGNALER DES BUGS Si vous rencontrez un comportement qui vous parat anormal dans l'application, consultez notre FAQ et notre BugTracker pour voir si le problme n'est pas dj connu. Dans la ngative, soumettez un rapport de bug via le BugTracker. .SH COPYRIGHT Copyright Les dveloppeurs de QElectroTech .br Licence : GNU/GPL v2+ : .br Ce programme est un logiciel libre. Vous pouvez le modifier et le redistribuer. Il est fourni tel quel et SANS AUCUNE GARANTIE. .SH VOIR AUSSI Site officiel : qelectrotech-0.22+svn897/man/files/es/0000755000175000017500000000000011347002076017363 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/es/man1/0000755000175000017500000000000011347002076020217 5ustar laurentlaurentqelectrotech-0.22+svn897/man/files/es/man1/qelectrotech.10000644000175000017500000000632411320170425022763 0ustar laurentlaurent.TH QELECTROTECH 1 "Agosto de 2008" QElectroTech "Manual del usuario" .SH NOMBRE qelectrotech \- Editor de esquemas eléctricos .SH SYNOPSIS .B qelectrotech .B [\-\-common\-elements\-dir\fR=\fIREP\fB] .B [\-\-config\-dir\-elements\-dir\fR=\fIREP\fB] .B [\-\-lang\-dir\fR=\fIREP\fB] .B [\-\-help] .B [\-v\fR|\fB\-\-version] .B [\-\-license] .B [\fIFICHERO\fB]... . SH DESCRIPCIÓN QElectroTech es un editor de esquemas eléctricos. Los esquemas (*.qet) y los elementos eléctricos (*.elmt) se registran al formato XML. Los elementos disponibles sobre el esquema pueden proceder de la colección común o la colección usuario. Típicamente, la colección común es accesible a todos los usuarios pero ella no es éditable por ellos. La colección usuario es consustancial a cada usuario y puede modificarse como le parezca. .SH OPCIONES .TP \fB\-\-common\-elements\-dir\fR=\fIREP\fR Utiliza el expediente REP como raíz de la colección de elementos común. Nota: esta opción no se activa si la directiva QET_ALLOW_OVERRIDE_CED_OPTION se ha especificado durante la compilación. .TP \fB\-\-config\-dir\fR=\fIREP\fR Utiliza el expediente REP como expediente de configuración del usuario corriente. Este expediente acoge un fichero qelectrotech.conf que contiene la configuración de la aplicación y un bajoexpediente que contiene la colección de elementos del usuario. Nota : esta opción no se activa si la directiva QET_ALLOW_OVERRIDE_CD_OPTION se ha especificado durante la compilación. .TP \fB\-\-lang\-dir\fR=\fIREP\fR Busca los ficheros de traducción de la aplicación en el expediente REP. .TP \fB\-\-help\fR Exhibe una breve descripción de las opciones disponibles. .TP \fB\-v\fR, \fB\-\-version\fR Exhibe la versión de la aplicación (ejemple: 0.1) .TP \fB\-\-license\fR Exhibe la licencia de la aplicación (GNU/GPL) A tener en cuenta que si una de las tres últimas opciones especificarse en la línea de comando, el programa se detenga después de exhibir la información correspondiente. Si una instancia de la aplicación ya fue lanzada por el usuario, sera la que tendrá en cuenta la línea de comando, y, en particular, los ficheros que deben abrirse. Las opciones que redefinirán los expedientes (colección común, directorio de configuración y ficheros de lengua) no obstante no se tendrán en cuenta. Si el nombre de un fichero que debe abrirse termina en .elmt, QElectroTech intentará abrirse en un editor de elemento. De no ser así, los considerará como esquemas. .SH AUTORES Benoit Ansieau .br Xavier Guerrin . SH INDICAR BUGS Si encuentra un comportamiento que le parece anormal en la aplicación, consulte nuestro FAQ y nuestro BugTracker para ver si el problema ya se conoce. En caso negativo, presentar un informe de bug mediante el BugTracker. .SH COPYRIGHT Copyright © Los desarrolladores de QElectroTech .br Licencia: GNU/GPL v2+: .br Este programa es un programa informático libre. Puede modificarlo y redistribuirlo. Se proporciona tal cual y SIN NINGUNA GARANTÍA. . SH VER TAMBIÉN Sitio oficial : qelectrotech-0.22+svn897/docs/0000755000175000017500000000000011347002063016023 5ustar laurentlaurentqelectrotech-0.22+svn897/docs/quickstart.0.02doc.odt0000644000175000017500000256157611274547176022041 0ustar laurentlaurentPKe5:^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKe5:Configurations2/statusbar/PKe5:'Configurations2/accelerator/current.xmlPKPKe5:Configurations2/floater/PKe5:Configurations2/popupmenu/PKe5:Configurations2/progressbar/PKe5:Configurations2/menubar/PKe5:Configurations2/toolbar/PKe5:Configurations2/images/Bitmaps/PKe5:Hi-Pictures/1000000000000130000002279BC423C3.pngPNG  IHDR0'IDATxilTUZHA)F`a , SQD1E.XĈF,$," UB4EQ6ki;3wν)9|{ZYY!5ABB$ ! !H@HAaU`$ !jpK4H[*ceN8.g ;'ڋ9:I4H[Fnb^ŨYLR]\*HjG4Q׬=wH !H@ABB$ ! !H@ABB$m m͑Z9RQd dŨY $ ! !H@ABB$ ! !H@ABBdm uI{@DAipd0?}YmmX2s~ƺ8'>6Gg1BeM W}stT^V+S $ C4kV5N.Hg z@0 $aYqc$M;$p"H@ABB$ ! !H@ABB$ D⾬jsckb,F辬:sckb,KV@ABB$ ! !H@ABB$ ! !H@AB/?H^$D|¡ %9I !T—1'p_Vؚck1j^ؚ5^ $$ ! !H@A"K߆XtB$ ::Y=^ 8Zcxu|ZC[‘y 1T%ª5=~y1Ij HZXAovHp*j󠰰cǎAffc&Ot9s椦 rA#O:e8qѣ͚5 daR>1ר΃;w:;v0oӛ4iʔ$|ժU_uԨQ ٢E~|詧W^ @9".Yf|#Ϸi&???I!HSN 6LIIqa4n8襩 HgǏ7/_~M71###Ei!Hɓy0lذCQ ѣ[oZt$Pu{{^.cDcc{eU_9A-Fܗի!jsZLm#/Nd8=Ƌ !N"HxW] Hx'!HA>G=& ac"6=& acְ=& a cv=ZA l$bu?|޽999}|ٳEEEׯݻѣӫp8X[p g}̙3λ3f̂ RSS92dȐ۷G6s̕+WmևS6nh .s·ڽ{g}ָqcSۣSRRze>#8p ;;{ǎU=ow.$2e\]\ӦM>}ٳsss}͕S4q}gUtn>\PP0uTDN*--5ƏlҤI&ϛ2}>=sykFF#33s˖-[nݵ --ΑZ902/DLc}\>#+WܹsVVVyyիiiigΜkG9s̹|0{\67nxĉ-#F{yrO?yo1X!;;3nݺ͟?y7o6}z BϝwilРӧͻnT$_pQF-ZHKK zQZ>?gϞm9GA/GA'f{4M7 z-~=:$#cGc/bl j1m85⾬^ Qbjyqj%+<1^ qzA+l.$Al$<A>G=F1 A1A D1q kG lV$,`{ ;v,\p޽999#F0!'N|ׯݻ?ߤIj?&ٺuk̝;w„ .\p/ VTTo߾;]`ʕՋ իǏou]ݻwߊ/_>q =>}25LMMo=:dȐ;w6m4#\ HD7uTvVWylė_~\47_~1;vh9tPNLs̙1ckA" sZ+++3rsscǾ+f 6mϧM6zrj4㎡C.^U/C"4ΜȨ5kք\m 'V[;:Rܗի!js\IOOڵmqlDΜsߩSmӷoe˖}K.fNyy9КL_).Y;3p׷nݺG&[ׯ?'|>سgj߿6 3շr˄ |[Gegg/\pܸq]7xru_76ɷ~۲iE7JEE-i۞w1+ߌ g.^ۼ611Tp['ojjJ- INRKWfիu .serI^NәZ2z:==>XB/_l>+of+W\ʋ羥۳+}|O~f%ssIӱ >,/M>6iStY/V4iܗV4Ue1Yz]Zœo>Of.gZ GQ{ {Q *Pѹ O>I~<;H}6xb}Kdڂ%KuM!]tRY[g:PMCQSU1ijXfג΅P dA2$?J_YKgN3PJЄ@sߩqM\ΒٱkIz*S} i9WSTԾr樂=s|!fK%l>K?{jg^z猽}13P/Mm@A*3P`S5/^\\t9PN/ klRTԾոs鿼e-̍]2;&''L-a-<4 QsY $t7 ~\O.L'ׯ^~΅dn~aiya%Ƚq6?I6~y$)(̧@S !^كt]?|jWТzt>E|jbVϪښO @$|j^e&ok; ZԔNͧf3+yT4391|S3$-ͧ`!55@̧P~zs Z29 z<'ssK2S t>ĘI4s}y @ I|jF,HQc>5m RԘO @[YnJg8s1\/h6Kd/ۈMkjs5b0Z/b3oPq_ */BbS_5~O gd3K ޼>sc|FZ 蔀mք] *Z7xhQK699Џɍ}dN!]ju Eؒ?7țüks)f:+H8 ^w5ߠPEŹ3lߌj@-Sр U2sQ5ͤ#Zgz|@/fV7lΔkY=|Uo-\l\Rc.6Mt%5 %n HBVc<]Ij - OBR I ($5BR I ($5BR ؤ8DR ؤV=2,d75`e2ѼTuu;IM@}ww&V>i:xl>:ۛOѯrǂ:P+1hX=Al$' RRfeԧeqk$28bO$zcÕwLY)?CU}>=2z%edfyjX=趈Jopq<n쭃tJoZUu/W2W32͝-;+}t^S*e?O=[Q]*n([iRbZh(dԊY"PVR&5"INj"$6I ($5+ AOHAO {⦅>w֭߯x˭_>7y`Hj(hiEkhI 2ѢER I 1P3db Z$5@AHj-QHj "A  bFRLdhBR@ Č(I 1P3d"EKlRC_Q$5@A&5SVZHv@AHjN,(䤦+NdhMjZFi"!9!Z LlR)o0P-Z}iВW*ŎjB9hށB8dhMj,O҇GT棳}^?HەŽE~R?CaVЬy7rٛ,y락Bs  :IMյGw,Mk;Dw .AO)=rfeb fHj64?#}F= DOI cWٜ7қ[{bѳWōԂr~KOr+=u\zyqGA&5D; ER=j(I 2Ѣ%6rGOj(@1P3I-( ђ+Z,(fhb@$'5DMj"A  bFRLdhBR@ Č(I 1P3d"E@:PЯEk I 21P-b f$5DFI ($5$u*fă| Otw^oC TAFR@t|#I 21PЊ.,I @Vc I 1P3Ik׮馛婩ta⎂hLj;w|7nxԩ]vm߾}ǎ;ᎂLj䤹w=r䈳qZW@2Zd&55Jgoq~חKlR{Gogߵ^O LfR;x^޻woCD|Mj1a HjDԞ~'xb0NMMk[XB̷:BO}" CfRN:u|j͑#G|Mg[>S{3<\KU@Ad&'&&?(HZ4]ؾF7Pwޫ"EKfRKWz,}VQ7n3o~ղlo>ك~9waqjwפ'&3mYRpyjRqXMy-3f8oW5OJ]Þ(Y?kyCgz37x"SVJPUI DOI-ﱿBdeOn @AԪn[om۶-(j͓O> #Wۍ&{k2Z:thÆ wq(طo5}-s?#nYp'={Uܸ$ '̤,_|ǎ?~^>}ל|W^y%ooΏzSKΫuFqz}+^s LfRK}cccBzuV%za Z2ږ-[x 4l+W݁Ԭ1ԞZRp-I @d&5DLjnj;Sqk DKfR۹s-[8;(zLj]vmذ^ϏG'#|I?f -c>{n{=?f b&33~衇0P-I 1c f2@FI ($5@AHjh 1#A&2ZHjD!A  b_Oa"{E)QRkRh0bdhBR@ Č(I 1P3d"E@b f$5@AHjˣ۬{h0P3ZM1^ EKlR3M;e|j|XMq %W!9}b3+٦xsgq,=s쁂xQ #Xo%4+ -DVR*p#Ե}JjyS$aLg& b֏VoCuMq[T)59z(H3`Iu=_aߧV b}޾feۛ9^c_cjJ TA&9,ʼ>Or eNw:MlRC| BW!A   ^Ch5'c݋n!A wk&d}GIݑ A  bFRL1d4+k& uM#A ţ(F3 c( f O?>q,d(5JTp~v WnhLjI #FFI ($5{( _Жvj⹣$5)@AHjpM;e|j|XMq52ZHjIINYlS8˹m+ -DVR*p6 DKݟ?Rhje Z$ی:^bZT)59l@AHj5u?+/W5L{{>ks  ClRkmA-S{Kv5yw{e~zX@I&sЬhfJTڿ< DIMյz-xc_Fl8]ך_(VZӚXOJ.eXr)g&ŀh f~eYc8$EIZ}xL{{sޗ}ڷ^Ԃr{e~-rG'>޼dihMj@AyHj= ,R?CRL D@cARLQ؋IENDB`PKe5:I<<-Pictures/1000000000000126000000C8EA4748C8.pngPNG  IHDR&ʟIDATx}gvyDky %A,)Jh+iI)V,+GHP+ؿ"&*lj^Lc͓c>_,`#!a+g(e;&)9Eyg{cQ<.q2;NQeDO%zPm4;&9å8MΈLh>Ӵ4EY>mrl̸G8ޫרW#^צYtŨyh,8RM>MdMҵ7X!粓vG kzLkȋ4ѱD^ؤM P-f%GA.w3V'|\AȅfGļ3gdrqδML;8tWzC9(bc$L"!e4Z$ah),C@>OpDHE-EcJ!ns$y|!F 밈/HEزkٞ-TnɞPW;$˅^,8>]\O"qio^p媫Mx;q˕\8NFpIЈ5|?.%5[o&' 9o_M!%p :7 \׮]+c,XpeMLL|V{ -y IԢuU?ٴW_KVZ%ܹڴiSOSmRk"XVܚnܬPczor7|饗>|S瞻/_o߾ k*47=o_+{܃!ڝs{ uuןMijSm :馘׊ZW zan@߈n5> Y'-vu j>? m m%AqğAI c2~ag" lݺu>(e˖xi%׾=0u{aRktl1fYWSy@l n$ R#;|6jn,7©,OLgdӯHKrx42 R'E@FF~(bgn|Ѯql&^F!e9Io;ʞ_GinOYaks6f7,v*c.!@`-tc>pyAt ZY%'p/ui]K'm`σZ7j\$C=Û7ofy7 䋑tF@<ێϕMݰNݠGʰ6+s_9$r$lr*H&L]v),zQ9mmHĤV0us]J%96A55R+V%b<)u$^M^.R:cg^.&_zlF:HFY)iSs./U TgMLͮCv(ޱ>Mƨ ^sKY("\8=[ڵKjʖ-[vjZ%mPgr.ш ![eR f5nP=T`j0lm"Er&^ é1j^>uϺ9!4HHo'7>RorJ> d`CȍummDcD["ŔuinzP7K&P [y5\"YfIW"^wq[ Q[_ {= 7L'e:]d,z]t>ugW^4q;vAtsuJ'B>9J>z\eMfY4n66`@:i'H|ml|ozj+|Y 2K26}朕>;r_*%` $U 9`H@rX*ViKnD<6{9 JqٻF./OLWc{A DrMSde]Sڸ[soרv/'K+WgUj1"X]?=tv2zdܽw324"+snl&늁/`GE=ꙝXVA$*~rȢeOT )%~~>*؞@R2ߛq4K?\}oWArng0(::wթ9v[Aw j?}{W3Euhai.'N\yrTug$ekfL k`oW>.*qXssD6s_Hmz|!\c:A֜Be֛K Ԙa\ɕV>>9L< p +RA!fD%WL}KWGY}` Dn{"$CT.¬oJͳq^PqWrLC%d1kYYrr=I!Oq<̊TR_q>ܕ\)"fnYVdVֹ=8\hK SmRxJd%7HPuYr8$U 9`H@rX*V $U 9`H%R`rX*V $U 9`H@rX*ߗ rX*V $UR$o#Bz~0"HV z9`H@rX*V $U 9`Urx ^@rX*V $U 9`$㽟;n\\@cWV>z\d0v/'v墫+ha?~^JT د|VDi' ð+{j(sŒ_K,ZHHH%pїD7*l++ MWEʗ%jeA%pQr-^.Gݔ1z$Tw%]E6˹dD|V!CC_/e~'b\Hfȩ̂$JLCC'lT~.eUzWѻk8'K|nd>'\ H3Ĝ+x[%V:zD $D]$nc᪟pSjM!9g)_r7"fE_g6Y#)HFMVr)_r⯉i8"TUr?~wT(PUɍhhAܐW=)%VOj(zŕRsChaorqꮇWzl8.\sU.ךz8'^NE<<"ȫo NÇsJo8rA+s몗r8'&Z>WtxyWF&9D7"b.8'z0YcHmVފ7 b.8'97߬yYMZ<qNr5Dc!+i!P]0z{9PPQ0&B\\T A%CpM^"1Ez+n"(Dʑ;^Jz9`H@rXE 0*V $U 9`H@rX*V $U 9`H@rX*V $U 9`H@rX*=IENDB`PKe5:'))-Pictures/10000000000001220000011C64E6F527.pngPNG  IHDR".<)IDATx \Nm(e˒5c̐,IR$eI[ThƖEe"Ye)l!P!Dd*e:9yW/u}<羮{Q 2GZd@e A!uPfBPe A!uPfBPe A!uPfBɬVZ8Qk$3PTc҈ A!uPfB)//uaaw޿`.$&&?4556l$W@ OIIIffǏ=z?srr^|!??%PTVVnܸv-[~о}{]]ݺu _e7?~|A ۷ݻsN\VVۢE ==ݻ~AE} ._|ʕ+饥ܹs֥K>}B %eFW^9sҥK.YB9^g_@o Oh TTTܿɓ'NHLLjY%N2v T}666ÇKN@q+555<<ѣ=ڝ%yuaԨQ&LRhdYuݽ{Wh_Çk@fǏ;vl6mvJ&AUx}t/ծ][hd Y صk˗/E*ɦM:;;Ϝ9m۶B{$̈+..nͧNu yyy֞j)Q2c<**/99Yh_|2'-ZdccS웼><<|͚5Qs5[[Ν;/\IUUUhD+8 i֭[hBrbÆ ԩV9K S9~~%C~~>|'Oxݻ&MZbŪU1} +66R4k׮]n۷omٲ%TáCJ7cNNNff& ;wRSSi=;vurږ 2\~}.]w}ׯ_?(f@]]tҢȵ-çJ dz BMߺuRnCCCM( //7:o߾ he駟AoΝ|e\\ь3|}}!沅 ŋpx[uuuְa %Q$+AH;|II '$<00022oʜVPhAvmnakk;f(KԩmY gFDDDGG}w~ꕋKPPЎ;zY *3I>>>7n]/c5ԭ[w$CqqSPB|rE2KJJ2eʃj~:8=yd\ 2 ?w+?ŏbɬtҥ6lJ01\]]dQӦM! ͛76(e;V7r{.[LAš ]ܹS?c OOO1?ؠ ,ȷT",UA{nM43g[F8Mݲe ۷oߪX!55pǎ'NC!2+,,mU+//~Iops֮][7"œ&M\t֭)pHs?|z׫WsXhׯ_/&%%=zSN{(YfPC6e5UVV5䊜;&4lpճg^|y```50ݿ8<<|4<|+WzJg4k 3gBX!1bĪU <[9YQQɓ!ƵZQξf>1004*][QQxⴴyMf6,%%׺A=ƹW RǏY`A@@@U/?cbb6mJ=+=x`U}0|Jaڹs'ӧO:7o̙3WGf׮]ϯU0zzzB= O)8p`zz7UѣG4irbMNdvԩѣGWuRP -[ >|ĉ:櫀̖ 3H,;(BCCy=oXYYM4ٳW7uСQF62/L0J/jTUU׬Y3gg5k~ŋ*Tݣl,,, F*iy搄ݛW`h[`Ë/3&<C 6m;;;COx h !RsdRfO8qb4 wiҥ@2~  4o"{2r劝y"+d|||ZhBϟիmBdfmmM~LCCѣVVVTBjӛ7oN泸xС pFd=x`ڱc  +{0LJJjժmjȬp}&M ק!YXXΘ1bD||]ˆ*ӬY3zpNn*F۷'Mta4 -XԩSƐCѱcG.!ڵ+|}$|y իi;Vd@f7n$4\5&@E333q1?L̮]6k,BcMMXԘ LL 4­\f̘ѹs=zvzZf0=pڵk?~\&!رc$ݻwUn޼٠A|*Yyy9O>%1  +wrr"SB&¹>╙d[n"ϟ?I;w.mHevynnnnTAdΜ9w &1^pa޽C۫*!F"bӦM]Bm۶=|XY'OXcڍ7222X-9rqyJ:bYAAٳI,#""pKECC=zx?A,2&\Knݺ:3zzz$>}lٲ 6D!WܹD#uTTT||<寿:a(4x[/2WWWIkZZZv5CCCv:%))I,$$$--֭[דd77n pA2+,,\d LBDƘ9s޽{`^ٚ5kHNQUUݱcg@АugϞmܸpL!eSG@ W֭ٳIޣO>]GG>CH-^LWW,yQVXqСfK.dJ`2waxb-"MM͵k׎?r^^^g-V\Io߾,a 7oJ7n!!!x/ BI,ׯ_O>V֭[Gr޽{9 #3P`bbƒ?`nnnmmͺm M2???A5kİ4d$M4Dnܹ1cXqh6lؾ};?^I_jEx3 LJP4nܘ$lǎ߿g5;v,2=zTYIII@@7?^*RYZ}4Rm,Y*3 yxpWAHrFr)"B H9FDD3m?UTTl޼Ēp'g$A7ݸq#==լGbۙ9,,,XyfJJJiß@iH .4{lWWWV]voIf$Yx{&LUPP ,,,lݺu7JIf.,,d5svvƝNИ6mqʯ_>vuyf3}SZSdjַo_܀}}}CCC1ϟͥc; 3ydVUTT9rݝ| 3V(F̓3BܹsY?tl 2ׯ֯_3mmm% y#ufJ888ʌv( խ[w=Afy#6*/^dC Р 4h teᅮ,@cYYYY\\= ʌw0{~@X9Ņu?sɬf5311iذ!=7iӦ *i\(Tc(,-- 4UfO>>%evY3 hjɌdV^ ӧnݺ%%%===9o ǽr '"rO:uLMMY3,V?^zjfffF,777;;[WWۦiɌ$Inj@ lJf@022lt]Ҫ-%%%t RJ ghjjnFr`|U"wݻw 3Fg˱,##Ǐ>"ﳞl/a8[@c={Ç}{FEf$۞Jh ߂AA1ڱcG#ȷ#1aTdjwߩhAE[j3f9Tdv]VΝ;hAUf$Jp/߳"Xdgg)++s(2{)Ɋi<Ç\H/j{effmۖŽX2"1kӦ M#+2nljjUɬu֜7 ݘe#Mf%D4hzI7&{⎡ ~2#p//_hkks.BH19,??զQF 4nܘՆ2C'h{3Qftׯ_+))q"2#fGB$2p8۷oI455mA!<:HeI#YڵmAQSS#1#$Hf_D 4 ~޽_H6*5ٗM~WA!RhV=IJQfT;UadmB A/XfB #3"HUyz2CuCpvcn$?p.C8cN$ȏ 4 ~JJJ 4EFMMM%g(3D@H Ihnܸ1 3$ ]ɽ̴YC!B.3ݝ Aq/&Mڐ x I7&{Qa`5(e֮];OvЁD:$LB܍ ^f$f(37'Ƅ&3AA]f[VRR*//nCΛFVOVUU-Zp(2SSSkժ)BIǃP M :w2C IǃmTd֥KX6o߾p4RPPjvȬk׮6344| 3ِwA!|]L6dֱcG?J7qɓi8 _Mڵ{nۥ"355N:K7KJJ:| .׹sgܶKk;TVԭ[)c޽{s4-'((H dn۷/%S c$9k.MSqE IKf:thܸ1j˗/ϝ;).]biѢE6m8ojժĉ.\< Miii||<2躜ND~ʬ7"ILLQefeepBVsΡ$f:Eu֭yt3-[F 09M۶mGS06ٳGYRRҫW+Fjߺu +LBNP?UfOK ȉ'X|Cf$<>2Chj=ˬM67N';~8wOB sZCLL YA]fѣYeyCfΜɃ?.x(Gfychh( IAAͮ^J$--۬fT3F ?2O*3`<(НH̠s'Az}ppepȬQF#G O2SWW;vl@@tL69f޽$M0vڴIf&4 زeԩS)D~Ē1?ٳ[n !!Ԕܹsg5<ß @͙3dظq# 6m"1I% +//OYTTԝ;w 3O>jֲeѣGgթSg֬Y˗/g\z{!V"1swwWSSL% pss{tP#FJZZZtt4:SYӦM'Lk.f$3eSCԩSo߽{7aaarRSSI 27nʼ;ƏW`=?LҮ];d,Y$<<5EEE} f Ki*! h&üz*N AC62KCD(Iڵk ":H"P((3h&M ejuС-޼yCX((3 5""DӧO]LJuy@SSsŊ<%Bʬe˖PzX-7m_!_r֭m۶XBجY3|!e&apJ7񣛛˗Y)eee)_"̠ԑdxBBBpp3x vq K:u[,3`[n%_~ե"<|!m ̔YM:5..NII" Ь$-7`ddNŋfϞ̓WY~= ̝;k׮(d&a9r笖 .ر#^!$--mҥ$m۶%Xdޞղ1))I]]QXX$۷oР+b0jԨ#GKOO`]P>xx̘1Æ  "P^rŋ!!!3>pK< "͚5 Fbfhhعsg^!"!%%$;79`kk;e)o߾$ڵk4zͺL%0:KNf͛/\j#3gE".qڞ?^9R ^jooOr@7 T`hhV\\x **8//c.]h;p۷Ac^"wtt|Ȇ̔gjjBbʘYWܼyҒ<lLr޽{C8pSN ᄄB6mDGG׭[W 32Zn}Yi:4|pھ!5رcƍ+--%oҤC+%zzz111$%%%$g!Bcwww}*Ԍz!2&3F>kk>ؗ9;;C#w HkҥW&vP>sdOfTaaaNNN߲e222BBBpkPTT4yG_|Ps 2)3 3{ ĉɕQVm۶T}CHxȑ#ܹC~IW Y3|Ǐ'Y/SIJJJϞ=###O7D:qqq/$̙I0P2,3 (mر3$+5 +W.\P[[by"aV>|=Ǩ"2@i04+ ioo۷yTC>%''K.U*55#G[yԩSN>ܹs]vݻw!Cɓ'L_677?ȃ+++# G~Ջ/:k,MMMz)8o޼Y`A```U/щsr"3 dʕ+~Q.ܾ};à KKKJ)23g>{㏧OGf@AiU0;;⡳ׯO=E?={qɉ'9JJf@ӦM!{>}zmpp0|k֬8q"> !!!-ze5.2LOy 7iCsέ[tp5ww&n:r6-Ne&aҥ˸q矪^ddd9+delҥw 4kn)JH888dddTZAAAX`.HmFxȑ:pHg:u~ٳT%%%k׮rs_ƍ7lPTTT훸Mdbfsvpqq^WiӦ~ Mr,u-[oNK kptt1"24(ƌsիW+W}ڴiKPx!j1E$EffWZ(@*PEOR!1bG+++yڙ3gN8QGdoooUUU3 $3 3 dVyZV:}Fyyy3 ϟCLxtwPPX2099yժU5 kdee-^xٲevrr9r<=&yMtt4ugϞUQDI$ ͚5 2Ǐԩ3|pې!Cv9EEEa)۶mইʬDH`.\XiA[$d  ?b._Lr69͚5[n݄ ln9 -3 3*+|||vQ_el߾A1mV<] ~Ǐs|+VP ي.J5ǰ3Μ91[l b366֭O@p5Pemm /d A}JO>}!oܸAʿhĦ;9i 2쬬,Y\Nn.޽{YԔd瘛HQooo(W@J fhܸ1lذa:uj3@?H$ѐcE~%C~~>3U翊#ēW.boo?rHH{ 4K9 ,f ԓD LFRVVс2&***NNNcƌ:11QhD #ط@]|||͛8yQ+0ӳo߾B"vPf2@:ϳqգ3Ah_dYhٲ/^ b2%BaUUUUiܿ[v"FFFǏ2UgHeV#ttt~f~XXرc޽+SѥKQFd>q2ㆎ;dfff}U𩽴AA *_IאXB|}6x wqʐug000UGEov{?ݧj9(wd͚ED5]qq1$~7_ jhht'qIcR=PfBPe A!uPfBPe A!uPfBPe A!uPfBPe A!uPfB>xR7IENDB`PKe5:Z-Pictures/100000000000050000000400A2B3921E.pngPNG  IHDR1cIDATx`gSU,c\ ` !~$$!JBhӌM` ܛ,rQ匿owO5]}qޝ7[nofް D` FDeE$-1H$Iު(yh    )+E% 7šdnl'Z +v=렄FК(y$@q:bw^I>=   DAvYNk))iI^AUv{U$,y)BI<7J4m{,M_{@n1͈@KI$N  r"᥾ DKě&:Og"Wmm񄎩W^@R%L8#GQ5qJHz AAAI@n:SOǵtrVp\kiRz.C2vt"X^HZA^Ur:$8\ /;%A֦ˡ(.w%g=+Ğr2KZ2L)hIVD3TDd@Kw(THxe/ ,CA[0KuXv+qrZ%QVX$ =)@.$O~ߴ^ _S-O>RŮ.KxEJ$ H 6ZHGۺ{oë^O%Q*D (PlRH_$ D (ktQD  r2 DN[•a(!VHq0 [iYJ"aÒ1x]W~+uGj/c4J! K" +1re (( CYZ"tAp2[ q=:Hؽ{OA+LxW`It{eq"AAASMlN$Nud)Aѧ8AqrdV ֆBK(*ݛbYav\.?N zs:>%)MӌujE )Ho㞅 z6//eˮbR 4z T  ' = JۭCreY=@§e(rE( +H=,ܤ[} Q'([Ќd]`tvH ;,D-]׵򽶗B(9J+f]CҔX=QPoAzjPWWK<,'w*փQ=KozSW,K >u蝭S 8{xO  Bb" & qA\|Ɤ5)g(/(92+y4,$ .Q`2WڬA='>OP< PDU ? EJ=W-UD rW-_{}Nr A{_̟PW5HoQ. "*'RPr󼀈OS   %wH ZPT?%9B:4xuYRD&:} o|3[ Y<*DEg7*xcO5y*q$//0c֠.S#7  S]gFB/9n;秪0V̟l'A-]>*DO;JA_5Ne C4"H :AA88\D˪ݒe+QJ˨rydDU!s{KM},+PatP%՘T{?Ws^=)(% RQ"Htwf GI]vʱ<~I.АYX": hk?΀ԓ<6êg}veo$ R9O.t@޻{w VIqIwps":9GM9j_$ 0  HR +>ɔT7tfBnOђZ$/b,q,5| ܬdٲ7x{ܯgKݝ| A?!ō,  ,I?_ݡ5tج!YEݚbb'}q5Weo֎dOi;\ ʱ"͝<,J_ҭ~hL4g^z"W3%?/ʳ)!`9D%X}!X΀G=DQj"`NN={>k`AOvAAJLI+($u>$ *.ޅ\pMK]yJ%Z<*9< +X뷟f^\ y$$ MZZi*NJ!(DZ-ah0Yhx}FATx>3<`86d؟KenXpCүxس{.4~ [}< Жg^Bf#a K }A 3yvQiQ}˿Vv E΃ .%.imD֮*_9 @l<%(zS$Iծ,_һ(A ZHw?j.2 -I/?ʣD)CVGD9"prg -QIAф2Q"r`>_XJҸgTRq.(aۉ˞tTT >[}YWC$3M`>`":pKg/Z2AAA;i]A rg"ЪrI%R.A.Ip !J"h%ǹDRLb(A .sNj\AW<^#ϥĊTA%]:Oѭ>-+aR'xu~zDAAQ*'w6u`$N \HDIrb>  Z|qjt%t ڕhQ%#\qco}F!B^*CiCyuw]Qw\aAC\ C:UꗖDX]$z[iQ$gʲ F fhFT` OQc/zErɉ<  rxm<޷gDWmrk],Ex۫khuVf;^ح#z0a@ uurl+--8(q)V/Jo"t   ruq}gE|J"ǿy/QϲH8/.Uў]5KIz) YZ.XI-5-%]*h%I) WOӣr״$GRwbgA$!PB" }Ϝcǎޱc7,D_Z %[W~ rGeNŬ:3gDsþ] AAAIDQ '[|rTzΊJ/qc{j-r7Aʮ]ǫ&#_ݩh,=@   rE)<[)Yᳵ';g ŷy= .$VTT,[ 6xiKYIa ݕ^3*>#aw9  @'F0ݮ52C>*^== wɒ%ӧOA"l Ǡw7k̨~U >)DS,g2̊ᜀS=lGϗ-{>.AA}gRS<-ƺ=D@6{/&j.\oT ׳r>0jL bT'ʞ={kw+   D!ݟ>^{ߕ[P.xo-@UE/zaٮzAG⍷sLM "=^u6$Z$Ou=`Jz@5 x8>Uvˌe`CTσ7U!AA)1^{ɐ_8FմV>V x j5Q@yyaS<}ZOԻuJxº"H W8GZf\.S*D<$ȝܯO̝   e ώj.A@* e51QJ2&G֝   \<Ozu!`h3(V]H zv%^~I.АEu"T/g5 ӧ:@gGwz}YI7AAGhWx`]N0->9S{TzVTTxG"Jh˻ocy}Q; T|:{GwKDwS5EAACy9~>{o}9=8PtYlْ%Kz/^2:M0x`2ÓP,g'tJtSigm"/S8&W5X~   &aFG?zWw^;{`h`P>7gWbѢ+xӻvzwLF6A>KGN.K!   "; TE( q=ͭ+晧 _}s=L"kD   {X 0 k^]Xi   /   r*T#   ȩ `AAA0   rZn޼dAAAAv̩'   6dAAAA   Fl޼mT8c|?  r հXAN:p+^pU-OvE)|h'|8fU7گW H8D#UC, I&g:EƮԀjk1!TBŮ. iip8΀55GʆXx09n<& VV}Iy^%S>ܸ=a<Pf挀}Qioq"Oe(^e*,KND}V9?hټz) L*3.0g`Stuso|6귏|6-H>XrtvUO_A$ B 0]ta٠r 4qma&tãڐU_MsKk&ϡxkwͮ]%I]KƔīp#SQ%?:}ذUq)`[| 2Mۓzw8_C~ S$QTԯf4jk㮁nohjj۝`Kedffe2t<~ R/韦c;6hٜ +ʹZSu,?99>OK4;7$ڄ?ݲИ3K'wS{o<_ ʉ qyE~OOկ ozO\o.yFy* a# LQ _E"§@:l쵛VOTl6018 /mҏ2154FehK^а \#q5ǚ ,`2E`bsq| G^2,+c ո$6ÒZ}Ïl.jжp:]KZm0h_:uf!V3 RV  $lL˲Msh{fFzŪMa[KCptvtwNóu_~۶)f^ШhБ#⥁T>"<0"p MUkAy#GtL259t?n@,QWnٺHf^nRIeFMG`JMMvY7pp&cOL4 6$;Ma7~'c_ekt#1gFd UW?eP >}>9A'_\̿I8gG} *X$VnJݰq[v:VhXJ;dx!';:I,`揿ھs_{*7"VD3ܴ>.ꜬnX*q]]"E@#tGW5\fr\O?qMMɓ?g"-=z糵{奥R гܭ~ᓢA'!vDaaX:=D(UW㢁THڸsҖf K+U0 dʑ#h1 M^nXBnnv\Ǐi4A vKB&qpJ=vn3Sb1ܗϽqp[_Ob\4˹igMNA$N2<[V;22("m\yh~Co_o0䊲'g䛉%[6b6Gf]a꥿z[ϟWI]غ[Kg1ZVAA?Fe̋D۵:9}5Feh;,[V;Ǝ*9V+դo] .gs(šnkUZe;mp|7$$t&bl,MONt״uH8hIk+_X0D3>/~'ttagt%w3ϼ#Įyޭr//HKNjcvٗ=vL|n<|h{{4(bLJJ*_XWygVIF )1 AGpNcu1WTZZ&l4A@n1@2, 28F?𡪚#GoܴUj͙}h(ù8&J ϙ5]K_n5G;kfddq:۲2Ӕ@ܼ[Z,ѿk@CQR_m4r苇fwiP~ v͍dÜ_/-qNa1*/z;~ꃏVN/^I'99yÆͰ0uz}  X9 *ڳHNOlv6hi@8^tojSWCaeR4.nl_TZ1풻7 SYinAnZ. m&xvL37(K$Zk)%8 )6^4ZX5}M99i-- HLJ27<+?G~c_hu@ZÇnٺ}„1U&'%O\X->yhzz]Q}`eʪgM2#hER),7R45jHf"n(뒉eR_ R(`ؤUEr%Tç&p&'NE̽*ffM2QYrUhXVY,]4EsϝX@5?p?acFk4^ .`0L]ceFzP M )ٳ\P4!a6$@6K/(;34vG3kIaw_-۪[ԓ?UO9_޿Wg_P}25wT,|02* ˚<V}:|bY}t)շ^5|xݜY5 rj(!@M8f#UU(QDZwY뫢, A: 61=+ /qLz2e כ]\M_kh@U^0kL~vJz9`NrN>&;f0W/9w|Q~F]Ķմt Mr;:"5Goikshiׁ<V{EնY/ZGկXf9.>z/7M͛60y$yڍ$ \=w|Ғ1cFimqc$'O4/¹Zm|:8 ǎiֽ+ĥ|P-P Ņޑ ((rs{f,wuYs!F1AoŒgH:/k6oEp8t`1Mkhu#AS<18^8^[? @EV5MVwYm:eNH QDJ)7/wausECq7ODe-Ҟ6nҙl's_{_K 0uXk ?gRE0Kя~g`ҥD;缅_Z/I,x .%%FWRx@*++ع/w Dev-9vm-;"|xS]v$]{SWglh{V:m*KJV䆨<σ\llhU56B0qIj`43ieSgjLcڭ&(EÏ:$++:c \q1m_<JKVɓ-6 mIɹIifU_CQ̷k45YS&Ģ׬0jTok˷n q`odgeuvXvEHoA33M&7;;6A}9gFLġ`478x|T1 (ЊW~.%d\XC޽CȣylAӟ!0Ց#dz2׭ qޛKyv޽g e#5bDvkQG47M(Uh`-9ɬaAvZOېo}И&5tnR2gkM'qY/M &oS^3d^կv /#~߻ a,'yV'~ןx!|}s~ÖE 穯A~M{Uejf&AFLi-6d)a:]-/()) =n~H:3}JݬQon`8%y9wTs9A;A Y6 &:vT+a ,qĞpǹ|"kw2<ۆ ^~~p]析W?^n76ܙigwˆMW:xRUé_N0hNs 򠣣erQh5aJ7o7Mi<40U_ֶeCƍ/7+j;\}v繇W b8veUUu8;+37'IŨd$avBVi8i.lzҷT+<(746Z'O,*^k0VD1탪o]Nz z($&rv:]}ÐJ Vsq{x'<?x:Ȏ&r8CzHׇY{󙢙G?_^ -_ji3牂~Ǒn$wB[ǍG֭;Ə//\{w:zo  ,$I~QigBҰڽ/_q*26l-:;M ~ۭwbF~i%eN'lT8]*Orbd'Ɂ.tYlw<ßYgI3G&nȫkLݵ:Qk 5s9r#/rwU{oR{5v@x[vh|Rg9jimaU3 8F+(XC+(^b֮.кM *(P >!`50F,cƦ&V;)D ; S4ECNɤ%^ H#s E4pz,8 1 9]0oC[%5l4Q\Z6YF{pFzSX y!qeV߻ȥGشOҷ+T4 2 #(M3JAu²e&b|o/{r]!jn05)a Ǝy6U{g+ (.N!7((y`#vq S.⪔h 5#\}۱K.ܣ.߿kdQ$$>Fy /,f~S#G:}E6֔S@Ѡ{*R $00A9ЍMVE Lhd/hdX".3l'ѺfA`GBf A4k5lRR#%IUy/.{ԋ "`upcz9w4&^$VNC%5$Sڪr7U3255?Ty dq,tuyvii)iMvu4' BxQ\ΜQh(^TlH'{8#KeeM}!a +JXL:FχM~3=uYq<`XfЫQLi,h7A$>QphCG׶|ҙc:7~mXmɁ'zŗM%òiF(]GlƉuxSn<$[FuKeCjȦsp*YNs9YlXu.^{UMvgM8d֟?c4wu;֘ҳE$M +.|6)Ak/ `k.Mx Ç/QRK=8CQT4UfрrKci+GtH;{9sVP{`w3̙gy6JSPiS*3mm_+chK˅|UC(QUy'8 anm?8xh7EO0.;lxr13Pm{_2 CiHH:p;'^U.ݣ{aJ2Zܴ0Mٶ ehnZ?9s,]tE9i' 44Ooۣ~%0;HD#;I܂̇eL]%-\J+I4[HMj#NHZۅ&nwd2"rSA"JK/`p v*z@#oY'8Sj%fjG r:]!N0s8Bnx=)6[W+ @h4,(찘 Ue^Vn D<-[5==ee)̰*m߱9{`˖'0@ZO:yMYY괮 )w XpZѕg~(ACAwvXRSSuf0AVh& CN5:t& .ʐ_vtX2P pe­yeՠDx TV4g5y-Æ ;읝IE=_JY~?(4ps>ߗlɤY!G݉Ag>||s%-59PԆ ѐx!EW ؈W.{^w޹a+,}3wm[RRks=SLh}jjjGkUԥ;W~}/g5vsyIdez< /ٰv|Z@$k+ gyɅP_o=&٠'l:#kH},44'okۭmKA0|0]YNq <Դw*kAs0,r"PiF m VGʹqL%#,}k5O]n:rzE53WE'?CKN&fΐ?L2ƺ쵵--mx#WeLzzZss{+>5b%jdG߻,"6X, R"nݦ4~k cQwnmm7 ::o^kZn DQx1=#cI WwthU EaX#8Cr7Õ(j5j|P=\wv7OQ#G +.*~G]>upG9qU+++V0?ߢlț 4b5NZPUQa=<3N߷zK|rH)?z?~٬,p)93{WCL<_o r:(Д<NɣkL2_hnubf)LŜ}֘ "*?lh|zU$ NH'&csH.qDKr8&g ?46獗ôA(db|#,+A˟a$i$*v{#Cw(خNQBeWWzB -I[QJE ǔ ݞqWG6O/N䥠; q`ر$'lvb6fUFH(N+֮cǛ 1=ݭ6at{`ێ]jo[eZGհ CJs iVeضtdty7':tt-'U@\E.*]P?UU4(ZiC!up;ڵܸޛe#̳>/9B>V~'Oj`y+oA 3H8jBnȢ+_:`!Դ~:Wy-Vb22za Eg(̆ t]d޻s견z~rOhZϜv&|+`뮻ΩS~)hZfƎsAt&>QQ q\&u]Dm'9CN+ٹlk&u "Rrr~%G;zh=%v#i.:;bӻ6绺6٫x}9xyR@G Z.DG ҵ7uR6j}v6ﲃ-r_kJTRA(5FqS~,! 7=~' ")h4)#7lػyNA_YxU#2ВɤkV.B_Obj, Xu9/{c))n(C2Qb$ tiz NIN =7F+p3 55Gv9\)QjƎY]}D0֡LI֌cBx,Ft iAWDE۳瀪~jm_ϩJKK+tpQf],#ùϧ~32zݖLPqeQUޞJ.\ι*9l^^uŦdQ 9x us2ܝY/#V_Srï~~./UY0W^qgu;3~̠T=o▸WANg: cή ˧/Vgcf3 ucS껈%yzbHrY*]9GRkH*#:;9\B##o%Q]HR:v{Vİ+RI`;mVaRZ#`gX v( lOZ1pϛfݞƦÇn۶D`ee fwn퐲kE #  dr\"ƍƤٳylgwxΛwW_}*;:2d᠂όjNsƌW^qneν\* iK|@aYcjli_]&קE3k[~ gڰL$;NPN].9> ./iF1ڝNDE.uLTeQPM Li,5X6kr2iv?2Z- + uLJl6:txԨC2 2;u:;:ZQBQٜ /89pc꒒6?4qB^HMy^p06 Q#hAz8FM;[)huAp&UyF hE|Sʇ'OW9zGf}8 \_8hP~,3 ;q?4 oQ6HvOsh?`ЫڼimkKIM%ԉQCuǟ^_FJk{?/ͽ ɬC?hwp0|Ȃoql[25%YGv|ՖJ"C'GJL֖g+oݺ.z~-rVٴ35豳vl4A$̭[k;:)ɜ] r(`*(3+V2J', H`t̓asZ-Kա| >MVKfeȜvVk|Ss1i8^y$uVL1--[rw߭)///--p`rrφ~Ƥ+>kVEJi֬ 'N9ǕwaѣfL R3OxjL 9܍cҸկJNN^q3EQ*)*+-,Gpeh0hr5=}9#gWzwmEWBwp;,\O>䥗^[ gF$шO~zǵ) #IJI;\a= :9`ya_r:ZЪ J ~ "W;e9A`^uD?Ye˿ᇭyy`eEWZpf_'/rr5B_ev\C6|R7 .4ZV~ݙ6jD>:UW^;CӐҒ u3 ,]}O6 Y3:TsqܾchQ/=<3tĸC?Jl062I9ۼq+PGh4qM?tZÙ:i:!˖%\t'(>L[oj)HKGQ{vsv̎6-=ܘIQ!U4HP Ay_g_Kݿf͆W r+PMϻÏz  CfR*!xThkkK NŁ&559`ѡȑd^wT"(>&33h4*3FStiU={#5MDaX?D>"Pq wA~ ċ@t\_! $&'. 4 /" 'lH   xih9Y`CAI4+[$-S<qCϱO8nժo/_pI?Zc0O4x5A">s  'ut%~*/DA0 *jTAAp`   rjΜ9dAAAAf: Hb]'Gv+   H|YvŅ8A|Q-[NvEAAB7o۲u{ j#샪~#INQnŭV܊[q+nŭul"S(q#,ConŭV܊[q+nŭu nE |1'RsU z{h>/"  ̜ l x"z&H1%'?AAAӄN)YW!PxhW'k*g~ȳZɓ&jfXVwό   )O/𐡣3Zx$hр%h. 'ՉJ6D]V,VExխwЃAQT{! $5GqxPbJnaU[z\:׮]w f'sV~ME1[MIio91T]XB$Fw' U`k>XZ*|V' >7>1%R '`R9 &yT08+#WD *|V}_DހU"T sg!1JF$+aAAx[q)0/  *9[O޼y]ҸX?5s   FAAAN P#   ($\gHVჵ U`k>XZ!`^ 6"99y<%if*Li'?ggttkh8sq vtZ츆jgG*dAtV´&bO0,  sTvp^lqe!#E MG +gNl6b?76Ġ檁"_>;E$yW`N5_5%i֪   \"u WMH2D_i1hVFqMe# g2#κxtk=V\07++COVTujDh$QHDtXIk72l`b)NI[Ae6R~@[j&Ov^  $\!=j_rQ_{Wb|LLO3>Qz Rj,AW3 \ɹ|5ybq1V LS\wYcWN]O8tq} [Ѩ75F ^50   %ZeѼK&jӓ@zuI.Ɏ.z{8vXZ3~t]9i8t S&_꼸ظQnyjhy# qʉ4^/ `^DZȜiQ# 24}7{<=UsED(b4$Mb^YQVe$,G@`> JUVUg܊p͟4pHi/ 3v0³a{22Ξ?Ω'WdH=]_/4ESؙ~~ 3fUWWíwkv]M ٻgӫ_0Mg~yW%HIIIIIIIIII.uNevysP jˍi3+}%%z(dt>x yg~gËN'G /W~崐)T+ Eog驪\zތ\qj҆"˿x_+fɿWE|՝>(-&**mmiIP >TR"J,]z{yתy>,jRo\){d. @G 7ZI9ivf7knrPZp50"FtaZM3^_}gS文M+xPo֔zoG{_߫z*m%%rϾLdnH{DlyUR"{F;̖k<>"*%EI( _tmI b` "i.ym3hTS[굦ךsfxy_W1R3MP{\Ӥ<y`M@eUh*ei3<gִ _n~(x!1} ˿;|ޟ;/nʁ_tFOU `YZūյvWß7B:OthѼ3O|-P(g&4iHX D蔕w9s?y A{?=1Eq:ѡf@guZYQ) C|i܆#;_]bW-fPjjv2pGJ 7;cU F[h}gNմksUҲ!i8 D!CU5G{QguD:z᷻UQy˯kzK|{}gZ8/Z?϶2w{-\^w=?,ygW{ϼچ&kQ 'WR"|>G% 3:P]?+xwJՁE꿚n^?a`šE_ໆ ŠeBԼ_zڜu,n* Rjk'eҁϾH>kC7BXdUVLaLc?)f{*ݾN[z }Om4 T+Y-zJV} _GU]GCC}}ѽL&?]WOۭx;uO_^bZ?ЂU4dE g+M{zt4?ZiVC, 1d]bPWXpouF5}\|RP|Cb/0R~zD-I}߱އ7'bY_ L?z̋NQ wO?+%G3nV~x^o>r•5;V0zO?#PdLqKh>!jgMqR0 B"\wL&7+ޕrl}x80Js=흾-?fّSL+__7=q4aR1L1$nXC{Bܷؗ^zs˯P,h !@,xKW:Q(n ͽo8wfps3[g[3_hwl&[~ )Ӵwt3MƢzi ʆ5U = D Ͻ=1+r=.+z~C.&M#2jҤyR}uJAOψ/1gOU4MR54;zZܧuU%Fgv-:٘TY"!X*&Y^!UpwI,['t']߅8GR<)~ѧ37~;z\Oh7U[vC뜳wXN Et*8rPj%*_{R'Ϗ}w8[̸,Er|%Uee}miY";j?ic0'|WƒK4/,S=Da34oٷG:Ad %'4<#}] f(JK}~~ Ͳf ç᪞: Fa pXBZ0X)~E/g;ۿۖ??<9(g=iw܁h='Ln{@ 7.XIX==a>C5+~{eyyiuug~o9/|Z_¥sk?@kv;?txa hSgTrxH](xK[Bk[5MU54MDSϚy)ТE;so~p*_4}rcowOP(ySY;]j:Um u;pN:A J^*gM}e^xW۵m9a|WʊIc=~C7liZnӲJ6ώ+ F||=OPeYԖ)'WǿmtqSץkvM9cۢE~-W֋g=.Eѿٴ駵 A۞P( OMz5]@_mb]S;:ᴔj5(h~ߒ竮.SL> ߺwU?F_rs ZznǗ `$)`[f4LɣG^u)%ubiw ? :5tiKHI4-c5542BP =sR9硋F,xYߊ{ӹ R/ t_L  aD™'񉙵 MΪWdj~UmJƃ;Ž|~՟:6*++4]3"-݉]?\ؗ1[Ѧm cU] L(v>mĎ=ݥ%I9\h|LsRu]{2j/l[o ??7tz~FV _ԪoU?O/;Z? nz)uֆoR^!AĴ>l@ CUS]NuDje4ѕR:-p=pKKtW"jIWRQ^VZZqU_<7˝sۗ"/pzgcl躶 .)ETuJ=<%Gt'~ʧ>qpΕ [o"w?^ J3 $&LrOmRRRRRRRRRRҼK)@bI~EO>ܳ:  -P(@ 0(PE ( ` 1)e{j]JK+"%%%%%%%%%%ǔ ( `@QP{`gGx_}C݉fQ8;S`zE ~O=g㯩y "*bjկkK 2=IIIIIIIIIII.M{˓מ2)O&$"RRRRRRRRRR|L;Cggg(RRw?cS5O mn5뮻ܗwSz_뭾`@֥W_{5gzWՇ~^SSo}+SqiJ>|xN vۯР"5 3;:fי"vgԝ:v_'4+v٭һO:ѣ{KՁG޳Su7FF^ıh1oS;T5~fxϡbW181- 3i`x8g΋Hǜ𜋹_g]+hE܉wHIIIIIIIIII:p8^ZwUT^H]_))))))))))i>)S9̤QS'}{^nj2P(WETO5S 7>?~G`1܁=PP(@R&5))))))))))iޥ` $"RRRRRRRRRR|L)@ 0(PE.85Go u'Κ9G8)qoSSx p=ڮ@(qo‹Fzǿ>WE8rH'Pϗ^zi|$LH۳K֣ K֣vعށWwK'oI?<,]yf:/oڴihhhW]uo{u7|`HJڤy&(d˯zlXJ=ˮs]^s5_W^n:uҥK}Q=CcX>H"ɯ4X[W߾qM6Z\0m4w￯6^wu v[OhjjrGtww;zzz&Oۛr$)ЦifqCCCW^yjַ;X_SO=&汗ޑd~ޫƪ:cwpT_\~˗*:Wa:~w~~vwN89np -b3˾r]]i F,kVnY{ݩ|U~3\|d=d=:n 1r8<}Ȣ\=ζO?o}5^Y#;^~ջeúUb[+Sk[akӽI ϟ3wԏGgUuպ7ܞ;j5M?RJlgKmmMSӈI755Dwv5667:1`b5i:n\=i[Y&}8|[n+V^cْ tj4&_qvz_>b}͋5){{}ݏeK655 g׹wttt熆3O}}3pՉ;[킝?yjlq===q#LrOmRRRRRRRRRRҼKs2fJg&Sww\5{0hE aX `DHK+-u4#TbV::mj"{m8f׭yƫگ;PW_zǘhHIIIIIIIIII1 w58gsb{5CAxu !̰5w8/vgM;}N(v @HnjR~ Q`f"XؓΝ#7aY 1 _n]>kÆT8a1׊@$ٶ~c g%)S 9 [ۼ1?rxWu_!)Lx_q?ѣ1M]/Igggį[t7CrNY䲫MwXV9BhXկoܚ ޗ]`w\nu1W58~@/q@Dt`0 GBaϖ0LkxlvX$@q(3D#LrOmRRRRRRRRRRҼK' 00$c:Qf{ŝmwZy -֭)j7_ [}Oz7^xs~<8<ﭫo߸qPiTbe=[jkkG&w8BkMtݸ{ڷLtU}Cu -^qط,ܲWxDz% NnnnNMv p8EKZ;/X1K~eM@wycbْU Əf-bxX=;}Y__=$g'ݒb{5CA{jB3n3lUWN[rx psBo@B2ϖjR~ Q؄Z{45&^ܺz} p "bDۯQHzcVSc^ !LrOmRRRRRRRRRRҼK<|–6oL=O8}@UWa 0{z*oz$ᾪIur/vré`gի X_))))))))))i>Y䲫MwXV9BhXկo:3). t<%E㾁`$B0S-aKg ,e]`׶7M 19C2rq '-Ǚ!D & 095Qf{ŝm1Vs3j<Gvwˆu}Gox֦{~}ލ?g9,{u7n=yv<Ԯk1XpϖښƑ>8{>(TR$&%%%%%%%%%%ͻ4 Zoqoe"ZoYeXyeKܜbFWDJJJJJJJJJJiv p8EKZ_}`,:֤ tw?&-Q_sƏf{744gg/3p~]]]깮Ή +'3kVtƫ[oRk;}~UV!/v2!-DTF_wNXU_=&o9K~/r2f]jv-v>pwKm`@ z kB3n3l^3 "nj>' D $Caal+!GHUiQ bڄgAS`5gp pؐZ ,"FZ6 ?.`^ <|–6oL=O8}@UWa 0{z*oz$ᾪIY+^GG;v9c2 _g/*~ӝ=VCu{ po v rH㾁`$B0S-aXk3wтig_ۦ67-?$ H2=IIIIIIIIIII.(3--g>w# =/CRWDJJJJJJJJJJD & 095Qf{ŝm1Vs3j<Gvwˆu}Gox֦{~}ލ?g9,{u7n=yv<Ԯk1XpϖښƑ>8+[q7` ٿ4Mgzۍ'}+ˤOWW=4]}-{ʋw,[ޑ~ _d`njS췗֤ tw?&-Q_p{{znlhlqjlq&{Y_wW pugy󲶶y}ӣkjj;kÆT8a1׊@$s ߟ"X1ӿ^3s. v_?%,nON*.-!'Uy4̞I1ARbJӇq|uV%mNUϪ K.{tgji ͎.(ٿ8}-vmjp myCBp}, e'.yy8M`rjSe_T[|nf_ 2=IIIIIIIIIII. -֭)j7_ [}Oz7^xs~<@ƒHIIIIIIIIII1 jZ}ۓ`CiGS lijj߷ 8^cc>׻" Zoqoe"ZoYeXyeKR@>5nhI1췧5){{}ݏeKF(e1:oN:[:::sCCy4zg9oT3lYnI=]W ZCR_y Fo__?(JS=:cwޫγF1:;v^#Sk[akӽI ϟ3wԏ$@ jZ}ۓ`CiGS lijj߷Xߘ-iw Sٿ4Mgzۍ'}+ˤOWW=4]}-{ʋw,[h,x~!8f%̵>b}͋5){{}ݏeKR@U{ tccwKCC󲣣Rq'~ݗXRuuuvww;j8BJڤydxxuMywt?j`Њ0Աk;VZ"Ei VW5^}z^1\}=ۄ譾1ޛHIIIIIIIIII1 w58gsb{5CAxu !̰5Rv/; w8 oDkcx ~"ۺگ!)BT%׹8eع<8;ߛ"w87{ς85gp pؐZ ,"FZ3Q71'?sONQSc8 9 [ۼ1?rxWu_!)Lx_qv`gltگsEYKxNv/vrEԳj# +`K.{tgjb2~}tg㧂cg}x t<{`5c7]"‘P(b}% })  pf.Z0kF}凄!*5yaDe#e_`[|nf_ Wg=Ȏ_nٰnHTm`tï~һ̝;'/ &,{u7n=yv<Ԯk1XpϖښƄ777&0.?"kMtݸ{ڷLtU}Cu -^qط,ܲWxDz%FG^8:n}/8f%ޗ%u_g}&eooϼ1lIJ q{{3V1 :;Cs ű'B㚚g3Uϓ'GontʤIjcuuXNf׬^Wޤqw.Nf! CH)^دY䲫MwXVnedXկoܚ b{7^w8fg"X"+`y"Xni,hi _<}+H( "aا>[07X,gξM οm7oZ~HL5Qf[Z|"2=e|H4Qfȩ2 @NMqg[O?o}5^Y#;^~ջeúUb>#Sk[akӽI ϟ3wԏGgUuպ7ܞ;j5M?RJlgKmmMSScݛqtI)S4_l3hwޓ־eҧP`hǾeᖽb;-=5Z_?@zHIIIIIIIIII15nhIk+fIo&eooϼ1lIJ vg3V YmT'u^;/;;GnJG9^z3^zz^{);="0 !xaii%b߾NP&@;uW_Dh5vo ouvoUc9? `B w58gs-)Y11gu !̰|w Q;}N(v @H>RV C؏A!:t]ӊ9Kn]>kÆT8a1׊@$9ιv(dy-mޘp{pTYwn 9<aT/߸H@R1`9^jXXY+~M,@ %]~VnedXկoܚ b.OލW,2z@Q@Dt`0 GBaϖ0Lkxlv#5Y`׶7M 19ׇ"'LrOmRRRRRRRRRRҼK' pK˙O]&s>Ǽ HIIIIIIIIII1 # rz{?ݺge>/&UVӴF#Fh6dQg5{?OMӧO\]|9M!ꉈo{w~F d4}򄙢SMaqz]7~剿3W_F566:w􍹉x$ࡡbLL[>$L)NC375Cq|U__޿;ΘzǓ'OuI& gݟF!L!v>rbk;>RTrn~tS;}߿!j|o'y _lqnzjγ=1n V{4^[Hrosxn]8.yjiV/<3Uz9'6Tϧ\Ws'=7g;TsӧOO!IIsC`g_2`w\ nqK^nq־#\ V|sR7f,@eLӌPcihj%`  F"lqj[OiWbwh[}6ޘ7@up0dEN i"bB;sF, @$#,˧0]N prɯQ \}{2KLn3ΠؽC+2 @rY(SLkwؿ1S8(@bR$׫]JKZ))))))))))iޥ`@QP(@ 0(PE ( ` 1)e{j]JK+"%%%%%%%%%%ǔ ( `@QP(@ 0(PE $&LrOmRRRRRRRRRRҼK)@bI~ERE ( `@QP(@ 0(PĤIMJJJJJJJJJJw)H,ɯ4S 0`{W5 W(@ԜS>|Zxs=K> 9D P(EGX (l`"X@Q1sR$&%%%%%%%%%%ͻ $WDJJJJJJJJJJ)P(@` X (x` _QE X (x` EFl,< 03+LrOmRRRRRRRRRRҼK)@bI~ER` DP(EG P(EGX (l`"X@Q1sR$&%%%%%%%%%%ͻ $WDJJJJJJJJJJ)P(@` X (x` _QE X (x` EFl,< 03+LrOmRRRRRRRRRRҼK)@bI~ER` DP(EG P(EGX (l`"X@Q1sR$&%%%%%%%%%%ͻ $WDJJJJJJJJJJ)P(@` X (x` _QE X (x` EFl,< 03+LrOmRRRRRRRRRRҼK)@bI~ER` DP(EG P(EGX (l`"X@Q1sR$&%%%%%%%%%%ͻ $WDJJJJJJJJJJ)P(@` X (x` _QE X (x` EFl,< 03+LrOmRRRRRRRRRRҼK)@bI~ER` DP(EG P(EGX (l`"X@Q1sR$&%%%%%%%%%%ͻ $WDJJJJJJJJJJ)P(@` X (x` _QE X (x` EFl,< 03+LrOmRRRRRRRRRRҼK)@bI~ER` DP(EG P(EGX (l`"X@Q1sR$&%%%%%%%%%%ͻ $WDJJJJJJJJJJ)P(@` X (x` _QE X (x` EFl,< 03+LrOmRRRRRRRRRRҼK)@bI~ER` DP(EG P(EGX (l`"X@Q1sR$&%%%%%%%%%%ͻ $WDJJJJJJJJJJ)P(@` X (x` _QE X (x` EFl,< 03+LrOmRRRRRRRRRRҼK)@bI~ER` DP(EG P(EGX (l`"X@Q1sR$&%%%%%%%%%%ͻ $WDJJJJJJJJJJ)P(@` X (x` _QE X (x` Eٻ@GL3^^]ֽcS&9r$\8B J w $wv9@`ۘb]0zu]oW%hԞmEohQ5 CA)Pհ7 ԖJRT*J=*ZWT*JRT*T`@SA)p,{ 0TY M `H8=  CUú0 ;S[*JRT*\Ck^ERT*JRS}O*CA)Pe/7LP! X`r,o 0$  U ~0pNmT*JRTs uxIRT*J^L`H8=  Cu`2A`@SA)p,{ 0T5 ð9RT*JRiϥ 0U$JRT*J{1U! X`r,o 0$  U@S}O*CA)Pհ7 ԖJRT*J=*ZWT*JRT*T`@SA)p,{ 0TY M `H8=  CUú0 ;S[*JRT*\Ck^ERT*JRS}O*CA)P50 Μ {=}z ;>`H8=  CUú_GSZ~~{Tǩ C`@Kv  =Vz2sƟ\]~~z UA =Z=JVٻB`+B'v h k9pR!q \|9 çռj-8(Pu@հUK-.4p>΀Ù ~>?}[`jXۡfn/!f_Tө tzCc4O}P%qC`;(H ~HSKn)8s 0TЃ` (^a SȢ{ ;( X@HK`}T )P Xq2\;Y:{iX\߫׸6yC֐bm5RAaw r>C:L۵vw@`A6՗!5n_F|fۍ3 @Pʺ_o 0CA)P X~C`uAv m^ϻ>;Tǩ uIN3ܛgpfN-JϬwp뼤>N`HAW \Q]{:fDz UxݨO}{ڏC>рß R/#N U X:oN'pSa5#i~ڐ!C3'`HtyύrHo @p jpdGh@OSj`HAß U ~WH}*К s>N`Ht,G)P X`H8=]8Ǽ٤CW z C`@S! X`jXa~RT*JRiϥ 0WRT*JRR}O*CA)Pe/7LP! X`r,o 0$  U ~0pNmT*JRTs uxIRT*J^L`H8=  Cu`2A`@SA)p,{ 0T5 ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPLPZ ð9RT*JRiϥ 0U$JRT*J{1ULPLPLPLP0 ;S[*JRT*\Ck^ERT*JRSLPLPLPȄU+6o޲92~T8>,(sƭl[fc>ԳГgȡ(w:pΩ-JRT*J{.Mx-7H9sq`+^ERT*JRA񌧕W/Yl졞ZZ O85GGF{@l.eZ @)#j8x͑m,.ykj{Q8߇eo M!Q7`ֽپ(n7=vmpm+ZTߖHWlwa'^5NO GBcC=3pT7;pZۏ~C= G#+W3Zzo&w?vg?V27Mx?iP3W&LPLPLPLPLPLPLPLPL(<;r螃r[aw\bePXɬWn4,VL:0V>0,$w,T:J屸g{x+G\] ]T0U;Iōǚ.MG1!T_T 婩Ɂn/-*_h@ S ˒(݌Ӌܿ4ΨtH| +ŲZ}g/1A1LKl2F1],Ϯ6ߴ?mDz9Ivd|Z+W.W;m2TQt\$sunh!L&R.k\aiGfRҏs0TfO'?<Q1v^l 7.zwrչRL5Ǭk m [MuX VшTy*34]8ajQ u[nb8wlÏJqśiiM+I&A0:ɍTVuFSuEqFyH:Q6^=Qt4_X0Tƌf7nzR+hNW63\.O%5 +3nUWtpRTW,K(~OK~t6w#+x߈ajzPƦh[v,>2yiLe.ͥSw]~h8=z,uG?! U' Q\a\qbM;S=Kqt>J3,Jsj8ajN$j5Ƭ˸ERu+ͥ\X^=o0nюFZS9SN+U99mԪhZY\htTtijrnvja9-sJq8 sv֭o 9 ? &KWv\-i5']+**϶d-yrW,Mw%͸ҕKQ1ibR˥Ɂ \ehg<`abʓg2 |姭bM (׳t7w%-/_Z:c##GY}2MY2M29-?4G^AewdQuoXyt('848nQR-,oVa:JՍbʥR1Jvz.WV&_,KRqhÝg̳Z!Jd3;ldNljdkRr?rݱL{eZ2LSi]A.G9僠4σ(f}?7fn7~)ju<Ar4ɕ?ukNjx4^رktn"g7p`|j/맹{rg~󜓢WIsn\ 3:WJx0[b1.Vir 3/b467]_<' e5/6ru{mcҢ^YCJ!,h ճuɯo}P02ʸ@Ndo~@!,梺MÙUص!D*Ϗfija+-yX9uco嗆HXٹ7=u\bퟣGjMNw N'\ivЕ#hET4g2 ]-no21 L &R w;\wjhj>uG_ _ 7 \vrsqoGrIH~wmZ|yɱώ;wWo<˟ﻸzjU~Q,{-kroXkv.`CoLwU{yλLSIͷ~9БO Vع<`/C]޼dwd;\u'ӠzVLS_yoW3_[Å3( vՖw%sVn䈽 Xj3lqg\횪%<]*M%A \̉A<|,ZLN[ ,]q|GoZ&[*w48s"<7r&մKaҭwT pij:*KT'.x(铃aa(9Y1L_eT]50_9Vw Hz椨rs?n$ Q! .?c>ď`1Gk?xeAWk}~{{T4M̫eZ.1n_ *ϟW<3_{|t6^LG8.N˴4M9SN8zm>[h^n/7N Yw?_=/2i63t>rZ\=}cXﺩg˱^7A' 4 jL7ՠW45xS_9d[]v?~#*σj^~EOUOH7(Nϗ}ы^TvQG/ݿ;{߶]fMw'6]KoR~ڪꅙzú#V~f^Ldi|4W%k+~gԜL`r{b8X,ض1;[[X(?,. q\n|DW֏˹鯿t''G#T.NG3(9MMM7$#1|g}vTY{ݻ FKB2 ǦywjƅJh0KWɐ>9w~/|zɅ=%߫*O<=.+7҉ι3|-i: (0~x4aEq{?}]}cιBn"ڤjwjLcqMlKϟ?;vK4[l^A2PmxˁQ8AYCeZV{hnu/~9+Vŭ۶OvRi.GN%t٫m7cQgځ2ML|*(}ˣ,==WziUW˟q [?YئQGu u\.7 S{`[Imy0 e:{T|hnA__w/{ ׽_}_.\b {u.v8=Q'[e^ve{nk|x_ {OЮѶZթi6D ao_^xKsm[T_Lv!NW]R]MsVDAj}Oyێcbq,JSqLj(ݟz̪ܺuݷ9u};e?i`-+V `ezmյ#KUO\kA\r&kwt aFmyn^.μlyGoL6*^7&շ~7ɺECA*v~#TM.I?qgg۞m8˻_g9c_\ً9z}gwtGUgs깧?x>eG3[? O?~yϢs߷rP|r眖+`?o4O.﮴[/[u-/ǠiylЛi1klr_Z{|8:,?__+\j]h၁;wG!ZزuP\:k#;,wzx?|uI8d ?,-OX, ~9iӥ[AE3ݿ]:.o /y{/~Iv[WZ>i_7_ooX@{7S}堯wLkAw;^=[^;.Zŭ i>{ob^շh^7(^?OK?^?W}y`w7罤~-' r 7L?6l~ L Ixnw'\>Y.GQozdMKsZ[JCC?[MGr8b$];0[skrlFTzO }꼄I}˥{aS B>|x}S^fe"j~6ٵϯ5=YiRmϣON7֭^v+??x񦉉+>_~/O}gc}i4/vXC:ߦUzh\ǩyMVt=pC2ZK?]kOݲӣ-vx "e:ᧇ*X(~%H8pIËC`0/Џ==>8:XE]9 J䯽69s4/\wAP=8s~ro:v+~?,ݎ;6\6 Ùӣɖ=W/ybmc?a 7?~hKOh7w7>{==q?TvN)gwP|)[Nµ/o83gepw9}7l]~ϟ+aҁ &&'f/q)7̙eiX5-oq-v?}ֶnnz?(WN6ia&dϟxgew\NV~iezŷugX# diyZ/G!-Bl2MN\cǃ/9}`mA7 cA)#'ܰ}Yy"h/ }_?me[ₓ^Uo\Bx_w7>,:.×6懱1l_o(L[^|]!3Z}tEC oSņ_6oW0$6 ˉwH)wx^ŕ$AKV1άNjyzi:˵;묳JL(=Nyw%c/Mzooss3 -Ǐ9+KֶշmoncJMʵg6PL:.Rd)(Fi|M++*sǟs, Y<35,9gMMr[o+-KeQȆEh)Z]. DˆlM>Sw= NL'ƙyb͹hRn\bHZr~xniZLM-~0ђpxƆ AHgK#:YC:ʊr[wZo۞#>dNWW75#k8vS{99-*o_x8"8)7/ v *4@͙ ♞g~ .xmpۍuGxymaksj\˛su󹷟{5Vؗ/=%x̫vU¾wR_sdn1p~ɊU~Y't;<3Y;w7q]AMQÐ9g_R ֬=h"=mD?67z\wƽ}9˒jbh|p8nOL܄'uP_qų^WuROǣnG F~rV6{S5߼!lhqIwjÂ-fsEl.-[PP;LN[q'oRNZn߻fo0q=NMu' ۬unv&SNfTRaeljiSd\1h!68+``Ή鉉u?}tKpUg,{OpqZ_;\{\K+C!\ThFЫU#њѣكE4'׼q۪]: \<&RåEmqaΕ*]M'jQfQnrɧɘ\sF?p.ia9 6z. qpa%|?Sܿ3OZ~E5aayoغm_k`EWe3Nh=*%~Ku /_.tgp\>uMP,$>4N=ar:av>)v+Y'oX} }?ߧ78k}__\i8r϶/Y,~:裖,^s>kڴy?k3wԁ}AoƟM{c~?NL|x۞&+ۜN^!ض-ܰaCapǬ}yA~wl.Kye:+i˭3O%lp0n>xKi>dnWW.x"[^ݠ:mskN[<Ƞn`xNs:l7{i=! ?h arްd(JlLJˋ=+#zmۃ;r C sV>p$9-w,06;*֝;L[ ˃o\ko<1Z4/?b8 TG^4"׿3-׽? KgurJ8'Gz;NO-ON|qQyےno=5X= {zyI^ UtEGŕ8yd4U/msvF]s&=ap+?%ksտ7Vub'dO+n?!nffRV>fxbt߿3um7sz~dv³ ? Ncr:*Kk^:VG?w{z/_^m?NoG.ݲ00÷|髞6]S-+v~^M-`{{]3vW۽ kZr?n"xk߹Attdtd(~￴cbX.&&>?LGA?Otaܳbޚպb?EO~/Å'|a01{]5{L~_v?n!\E*oׯ?խ(gw;~|-.`.iAh\R{VNRzS(%g~Aeoj7'JԨn%pkNsFz|˚v+;DQ:Qe={ҽReR!l=i7_l$]2y`ȱ`ղਵ``p>ţd 0={n)=릆%p0r2t±\iv`$]9*MDaQ\hl8tp>?]R9|xw~1RkHS+Dӳ OFiSh䕟Ბ ;LvQ m9,NJ+FM`;>6߱>V?.,햷V]}[σ+nE0ԒS ܱr׳z+6 vm~';oou%c1(~V?x?Bp_lO?Knubc_{Iѭ[X{,Hgx?G u3|s0s|UQWtoNOOxI6{N~ ˿'wM㆖wwwv z hޑ; 5^uu3 ēҡut?Rr9_HuO܂.˖tXaenFT.r9pʣ/-k[_tE_w0ص-N6~ʦtٞ/^ImnctHfېB*hpڅ+=l.(vM(Y[*QFDrXڱO[x~Z~с`p`feo1Epe2k9#|p_>zwv5ptm䨮&Ƶ3.ck%RϹ|ٍ da [B> $['s? gJEҡ`gѕ Re֜UX: ">~e%qPY8R\\\Z-:{G]];><:d/V/@a[ꆁct֑LV]_=`dm\z_| FKOHڋM<JS*<M/JGG;Ǽ\~?ǝ nu8isy̖E1ܯyd~ae!_7~^73nnnYǰ;2r)bb._::;޴LnydkyhyYB\3.Yoezoxq˥o~Q<3xUgm–^W C buZS=͗too tLՋqg;{y5٠UKj\V|]_؂t3tGjaH}wJyމւuêuZa.%^i_|Twz/OGf]~rKP;߸EݗC–FN|!-d˜cd* ֪ןQ) 7cBNA)VZϒvڶ#*\4T㉨xW#A\&o޵qfvoxwCǚSTlWءg^|cShi(?w-?Ko}䮩|cGcmNz(V/Kl.T.͘=+XK =Rgt-h9^= `.ΜOz\ Cz˵؎ xA$1VA ^{F-3?ou*W˓EKb07v e1qݻқ^NVz㵍Wm6=+/~5g?oAyKI6M[Dbe%ae|7ؾlN,?guj#Q0_Zq;C#f;&]Sڏ {Lg_;|noNKOgRMLxh(/8aA׿_~y=N5O2tmH#L!s"y~)qtIiu;!fV*$` ~4ۋFrIU"!$ &"a(%O/@d$Ls_x#{7\7ۇO+՗#AAD_N ]Sus@/%`N@s7k 7FpuA`+MC:  `3k"hFwt-RF.׈k\bő3yXaVQ4]Np@1*赫;KQZo sEm.U6X>f G5AEq^E!]3gFxwȟJWo4/Ns P [?p"4zK0s׷sx֡3?Uw;8MՄ(JX[:5'ۗl7FtwiXMck(f`E:eaAlw}<~6 ˛WIuzwh9!:u<׃‘+_:=cB–=ֽ=={bųuu9K(YA{ K[.HmEXSjJH/Zb6հ7x>gg !1$J6c C$ȫՅ!;0AZOvSǦ? @ڐI19 e$ 'fi$dKm\@[ŝHt B 9p[0-G髨A2?P`$3B`'OfoQJ>=B48P V LT73"'gԅU.IwUEԊsVdm U娴S:7h ʣh)vd-uŹ030w^]{3sc iv k XI@u` }cQY5ʍ+Y M0*p>\Ұ!dɲtPQm*9Rᯊ\]'#KJ(6ݚmmY s @B);Z8o.p(b3b(BH{36cʠl1{{1^oݥ˱1Xa #Cc:f .TY ?fWEXCj*k3uz#i\Ç\Ç@"/zQ/ Wuy1IDDG^#\'.qt(,=)Yێ.'ѽo[*w#V \*L; ¾N;g<1Vűlc5FƚiTi\lƹ0X6rk{֎Ks͑11gͭ%RyKR]'HDZVeج9CGiw6N|sW35 Kh_N)ҖSG\ 3`E[Lk~Yj*6(6+ +C%㖄H[SJo>i1Knhqg%e!ASB\N êSD5[tIX݌C8 ,U*f,)/H( "X_mሓvDžuWKXϳ1nρxbkfH- Ɣ9.[1k 3y]yZsJNVϷ]y j髰cp7Su;pB#~:u`1xn:"C.on#H7%WU]OM;&ΔkCk>#_KRhvU{p<==#m[VG.}@Z 9>Ê::eN;Xk\&bHu^~>6+b62QYZV*Sifft ^Ҏŋ}rPK Ѣưf _pA_% 6OwY@P1&!_٪G@mk?)B?R캮j>|?R,7?/=w uݨ&a!!!!B)~t>#PCWkM7{cW*FE2hgEPX"D"D"D"D"D"D"D"D"D"D"D"D"D"D"D"D"D"D"D"D"D8RW+Kw]B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)B)v]7VY a@U#`W=89vaO͟w?7:+V4]kJ7{cW*FE2|8C@RRRRRRRRRRRRRRRRRRRRRRRRR$[~QޥMF(OAA_2_+61?th~O{?hC"E E E E E E E E EW (8H[EZ4d}f6Kb+2[m'EZ1l b#)Қz?IHsZcI֍$H ]H@)ҢԪQT筭ӧOÇg~3JRW|x޽ӝ;w۷SN-gsTqA?k_z~q$89>}ϟ/^uq‡d!x= ?ׯ?~xkN8qʕgϞvS_NqޞǼC -sJ^:}˗oߞ?~]6MqJ[:)A̙3Ν{huR]C \P&K.mKW^+P7{^tl],a.[͗5i=yMnkk-h),(6ɻ"ºOOW^5)x뼪c]VdO\h#yx)?grΕ+OE-]275of]Y^^uێ̳AAY4HtW޹6]WIyR}^\ox(6֏I\>8~PW{aדdX>?w%W4L0̼)J@-g˗=9枩I  [4se8{lXb 2,?O!04-&̟?fdȐL&fn r$[x?:qd6q.nxa(O'eGTJ.vyM;ç>pת]]SۂaR ~ ^񡟽ztM_*#{`u˅8qO{3{ŗO\e΂!0 e\Jq|*w]|)@;ꊰ{:BHڻ2Pbd]0BQE)u/<֙2wE3;f0uo-+ȿvcco><< }(OD/1H\ ֍7\ { @B ڶ}ԩyVk =A? BH[ qJ>u#;i9fBP;qdEg]s=(<(Eؾdϝ >|ꑇmޖ߅P(@; FAp ,8Рv(x?ntlTAweL9|X$rqCi$>IS(hci dzV"Q6z\ԀJ].op!_ՏBa/؞lІ@N>B?@F[vAWWp,qx`񆆺E^tΟ]r,(r ]WW{͂wA~+A¹s "HJWC5:2s`e?=;lt<HKsu6}>7MBM%~NrA6 ƣsh[:V`w`59Rc6ZZwc|f/J pIxKսp&pg]59t ?WܽA 6q¸cOhhAKkY9!:- φ)}-^v`iqHpCaƏp3bs C0MA<;wf,hτ2cПŮhyܩ ʏ_`S?ܙ(R܂0֏;<|%a\ɤ;(G}K_潐*#B} 5o}oc>>˯+ 2H%;·gϜXOwNOyf0C'${-02aobFM5y^;y.߾ U#s{53Ժvxp4l@s@%K 鞜>acmM_~_P<ic Ŀwm|@0FUx\-ܩPo8/}ۊڷlj}\u b `L ä( 7-#nPSOA[o'ݼ6| zC?ǐrhknf;N-t4wj]l(ҔUU9%!vI`t.%x,?z)۷zc}힡;76 Յ = u, `1&W1b\~~{^S=[ ??Ӽ߯hS_A ySHBWP_ ? ^oϔQss=1x7|`,G%[@h9Zlwh욇VkJD;вTߕE)2w)&w쎣SL%./2|N۬y~ Y^[Q̭K)%Ϭ a ?]iH+vRdJߖS q|#+[c~H%oҞ \+1d2$s0ˑӍ +sC0QLGY#دW4EI]cOJd#i(5 \m>&Q0uA3.`:g*n'/Q,D(\o}S.5b:x,Eӹc)崆P.z+B]^$5Ȑ<\!G^.$eѠ./,xEKb}HVdk$39jQy->yn4j!nrUtmH] _7&C5g+ ZG&o1r׳2̱ lrg(.E \ t<<%y%b9C.w厃qP;rA]̱Ná.wQ`K+ Q]jA]0IP]9L]nx$D!qˋI# \!Xb/S|,"S;Jm7oBNqb| i )厃qP;rA]8S(sB]~c&T: u*0|d$YqB] I +V6w9y$ c,y+b3BrCS?b$+ ،; ،\7x%c]dBB/6#<G¸\1.w厃qP;GsKʦOiQKZ!DrxRz"a4r[:W4h0p9y4L1ܩD0a[Wf-l1pcqZ˸<'ul! \aV>.'HaV>.bS.w厃q/-%quF\.GwH%4=J}\NIC YHf py>4}X"icdb>XJ@,DӘg!Zו)ʴ~"q9Bu.wXz>.?^w0Sl&Er aHM^m,rdH11=}r0coѺM|WBվ\:tYIR %9%W0DuiyBG5f0c.+n\-3$ٮcIjar(IP$ %_ZP9EuhS )U| Y7.r|s֕!9$+L+gc.+~s䍦c _K\rJ0)EqP;|vo6k٭+HOR r_F})HB<8kMXB$W$ؔ0Z.5-GFŦ/b? G{R%OhĤw:\E~B|gWmQHI(aܳk$=sx 07B o);Tcb*rZ]N6'?NY\5+_@xpđ|ɱ0W dkIN}Q |u>rrscnM?3`kzc£jS5ɱyc,GEϳXZ)I^rF-&^K/4f嘾Um-9X4FgS$Bu.7{r-Mc+Vx\Z{%) ȷc"rҺ!>.@"yc6q2{N>Ĵb%KN$W.Gy?i$W~MuNrC׍$d\Ж!/}T!Qn.Wp%wrfKxZK'٥ۺ\^|,D;og_I]N7&%<39ӱn!T*WMI1 f)zZ[( zE Yu$x=^ɖGq[@E3g.9=Ē MՊ-WjHDEM3&t|YrM7j\+bB#9y%G_jtEzST5Dx.ϳ2O"1c0Lr% >/|dKcX|%[H'oBwyE]kaDrV()f`W^"y~-ЎjW\N TrA%wTrA%w%r?B3ݞҞ \%Axu,Yғo*vP=#<жqPqPqPqPqPqPqPqPqPqPqP͑XIENDB`PKe5:Haa-Pictures/1000000000000500000003CC7F257254.pngPNG  IHDR|U IDATxwxTU[OzB(ґ"(E&ߺ+ꊻ&]Q@[ d2&d2LI|s={ʝ={jUQsv@ rrQs$ ci]sGTv!@ z0 p?8|11 ^]~P; [Uud`ko~~"@ BE/q吮B3PL8Ƣc>C:|ZνĂ[n)44|#o讁E+~&XazMWA,Aĩ@uVʙ>纭u{\@ :"QwOc͍uEr($0q-]ڿ/_:h1&dMPG@cI% 䔍,5&q! PGtnҟ[\{\Gӌl ;&+Z9sx5tҥ ?Z_q(~@ ⷁ&.oǤ:ɪG>d'*^Qg٥r8:+9bE߿_Lܿ d2ّ3ť-4NHEEv?-KGG/|}/EP89eyŲr OR}iMMw<_?S(vOω)sIN8OySG_G]1'6j@ ۆg e9+Hž2h@ guٮůNqaaa2 6o ,HNN(*1.rL!_$$ uM%'&S_tjdS'/k,> %\)28+AwFWVgah: <<4:%<~Hmܮ5Q4FȢ#tG4Q3.g(ZWYY da)!܍!*G7äe|\rtY\0IWF[X5v0\&S`,eXƦ$H{@SͥJ<(AI23URu`Ֆo0AJ!)1R**"ltf}ܼKAydU]i.‰(^ǽ333fMYsx T(ܹ`by?r,Ӎ]oG'-ftt!ezrÙ @ |ٻ%.g%Kk9ql$pOmÓ[2lFM- ī8#UEK GVQlT$ 5W6U[!3'\MeaA2 J- &U00*LZK[ֲ+E( T,ehbNT(km<_\][U9,Kve{ZHLzvfIUSjkW\RRWSP^r`BX֢$ k 8$¢ia"I17pHʮ}ݛB4(2PZ^X@D\aUT[gⅤY1*jljuZU<("@Z^j͖c=v4LOa˸>ZƍNU_ @I ^S(|%)vd!N)n辳-~v~qw9ݡ9%2Em}F@/Xĵ2E"r+vcr%4m6ɍ,:ʬ W9qZjdW;Gj5@rt(aThlmTj1@j|ѩnZƍNU_ @!H'UC[G@k!-gNCK=خxbQ;a'~_}?L⪺=4Ջ+͛7GFW:ic˗Kz+:!9̂` 0ʮc*FAKE);[^xbL&l ɢb ݋ 2$97-1)OJRblC&& pvK/s|g؎nj`A[ݭ'7@`(.%PkFHM_ `)}:3/$'gE++<Kkи{343k}U=ix @@aVlѕ5W'f89&_qv^U;=wG-#r̍NM_ @XJM[ bJ[1ŞYTaVrg;dr*ӥ]~4z.q鞴ܸq0qE@ e8QG>;h)hEBOu甡تGSgƲNN)NL1I`|i3}yJuZOzpF妖R OLȌq~2,e x\q`Jy(9oմ4a<:22ƒ5.K JOFmV"#S#{&֍f(=ұ>T͑@J/$%Iq"c@IK+ ˺AqR iT+ypmDPptVy8n>҃嗛K6^NF'rU ל綜tiKt'-#7n8'}q @q +s؜5W\Ұ|d|vZZ;s\ 9銾E=yWyq\|t?\o/<ߺ@ ĥs)>-+vztLKIԗUWD< ^庺r^~Ox8"hoOoյ@ 漰 @ @ M}q ? @ O8؃`Y,@ @ _5h-@ @ ~\A@ ȑ#fKKK?~}KAّk@ @ ~Ո5痫:BPyQ3{{߽f7?h"@ @ >R^^ c9g>w֊wxΝ0s^Kbui?:<F @ ?yO̟픳1oVQٳgϞ=MޫWհBF.Y2ji͎87d}d%Nq0 Y.3TI]h@nno|՞Xqf=L\Myُ/N?%-|l5l{ZcgsIg9a}߻+I^4ӄ[(Cv\V @ϝ@ ~cx+MvbzJR,TV7S\ ` ünFFƧ~駟fddo0VNT6\YϲPooj.S|Dž 9}yǫiT͗ϽGߜ]mᯯ^J۰u{AF`ݻ䲅2Lw8u咸݁7_eW.y\_]ÕJu߫N|ncХ WW츬]n@ _7 ?uUu,1OJRUTUu.qgbf…O>SNݲe… 7n(x2aHz練ܶ׃S&z}Ǹ77Cٷ+0 V>roLq5U&?D>{Wg^?Ύ"ydҒI/|dC= dUb/ơk8.UH"f$C.չF@  >/NOMSRe Ddzuww+Vx'׮]ظv'|rŊ֧'B ߾ƌ{3n{gNW]L_|Q^+\6xP.u0uy,=bk1cp;u%.suΎθM.UR_dZhlzLdt F] TKe岚@ _1ko\$&:weZL.)vmŁ.d2͟?ʕO<]766>+W?djkktۡm߬`SZxZSVZkၹ'ƾ:oͼ=f ?\EW#%^{jy ^_YOkK~|oivpߟq֢wx ke'3<yvƭ<%ڒ^I{>)F[vtkS>?UVqdyԾ(0y!Uu][#%Nx8Ͱ2 V3'1~_52V၂-˲W~ڳ,[&e?eKY7vTs^ #E: 'aɧKc];O^6Øy@}Ĺȫ.ݕ99/uB^n ~awY]žuy:pw}Y=@  2ܙJ 3= ::w"Oqiő.xϞ= ,ߘX`7Xٽvv/61 ;J)CpQ+}x.Op[Fg><7!WO~؁U6~?12=vp] ,Xn7yH  \&C]{aA!ԙ/9mZ @?D.p{,ټ^JlؤxHpq%feA Jvha,`m[^$!q!fݺ~OOV+"G?HR Pch2T&LU ?Cq<_G%O[X~޷ا?1 j뙇&,!`"jqGI h>.^sޏXe?mazڞ(uw]~uq\69uNb="ٯoz/{2jg1./+\B @\W{>1fv,{,ł)/NKK+((?W>;.((HKKJ!}~㟛YR\jӹGƿ(o1W0-(~zw XՎ.-)rs@ɿmC9 r|0ɜԝ#23G~b/{&y sz>n1 j7s(!?-,`_ֆaHS/m. tӞ_ Tn_ma)f5s`z&pYNJmNa2scGMN0{h5{9 @uyY}Q#@ %BJ漋EuO&pVB= i}ݩS:5u?pwg|¤rM.'?ݤpݝ"Ky䓧.>vې$֛#0ydxw<]6wV+=&$\K6zaY{<uK{7u!Km5 ?6hp3 Ǎd[<ǜ2 h\;>ǛSg?3O1!w^ S yyûG21>WuJ.ӆXXbo+_6{c&VKe?_ӮV*뜠W)q7ygNޚik˶,Wκ#:C~=tM"gufj)>_`S ) eu.j@ D?sȑ#cb?+Y0q޳bg0… |;e˖O>dƍilEowng5;_}/7B}_@ oQIz7+"00 b ɴ`A@AA͛jK/ 1VqS2U|X#ܸTS@ ?= `={6mڴiï@ @({~w̙3c@ @=A@ @  ~c$@ p @ ]0@ @ ~ @ @ AN>}m@ @ _&M~ @ _w; IDATb\S_@ _`@ @. N>}̙~*|Ĉ#G@ = `1,A\sN>}-tkHUw؆.E;jdɣݍ+Þn$qn8%%%88 uEgQJe~x-3~޻ ) @\o(G|5]A Dgį4VqnX|d0!uEO?]3W @\ox˓%L{~9k9ƏIQ-heclTEXIPĵ;.\ ryiԨo 4 =p`Ek\??kM~fUR%%%vwք424q` c2U__Z? Zˍ:g0HS+TQ቉ubȎWclqljf r,*|VzŲDZ/ӡe˖>Cs8c;vfW$$$.@xEr%L3OU+$ V+X,`"͗9=~p\껿+L!I}U|~~Y~~ ߄܌3p)/ ޮMXLyyуrrR,˳,o6qݱ@hb:yd{Vkvvvqld^l+V)8(>uRYZ,˱,qߖ/ŗ^z{Ŋe˖rϱ=ЪUܻd횵wuצM8y9@ @6 /ρ 79v`ܘ~Ԣ70;~jGM ji17hY# hR4ñ$XiV#0ð,ԵDžݳxJ:mh69' ` iie,G+˥qmp~~?=0۷߾HHT*ET(wy9Sjf@"/pr|̙3AAAJ2..=AcL*yCE}VX }t-/g4@ ~ohxx8 {d˟Lzx466g|>Z?{/YC:_6+jkkccc ;骪Zj7z>00011qg_d4g4vl-+XIqMh0Fsaa˲1119*4YUJnD <6&D906nPKh6= oa<&P=7h4 VKz/8^zҥWAۅnpHVT JVe5i#Cz#A\_֦ w!ő6$׿633 , 'oS#eozs-/?mŽī{u?'ᣖOy꾟yn嚣P(6l/X,(^.l!įZ.'U=h4٦;oy9`Xfaƒ%8ϟ iVnᝩLjJq!4p É)A̔iMxiN\"JINqś@؅ @зIK .fJQQ! %=e˖S^s-Ir<z\RYYyԩn((((%%oiԩS&==}ԨQCUUUeeeǏWޜ-&bLϯd2ޮMJ X 0 qlZ}9755eTeygꞀac?r_=t5 Ugl㓵ݯIjM#а0Ir|ޱOhQ[*郲$\.Ue [4RT*bKJM*,4iҍ7d7Դo -zM-gn^p%yO/ۺf,}sqq1t8A8AAA*Q*U_;@w/Y&SGsҥZʕ+ŋJߚC _;} 8 6**^4FN;?f\ՊΝ0mJ(M_lwJxM;}5K Ͱ8rc#B]` ,!fiWgM .S(g dㆵEZoM8}X,K/_n7.fKKfԩ#*+Z%~[wUߞLwk12X,E}ĉF 8r }RV?GFQVV?qRi{3f`09SaȑZ:?u a qLJ u[thyq*؎dLPSS qǰշ +–-[|(xD.|^m#uO_Fvg @Vh!Oz;NT}k(ˎ0(#ẦfXXrԡ @eYnڼ]+jlۆ嶶wHCN%3\ZlPIKK6K `@3@JJNg#o޼|:8 022ZTll DzF`&B6vx~B!.6lٳg5p{{}"##zF#Hpoddh7wDomW4atha&&&vby4k2[yA s?NV di^ele:~51mf0JvSZZWث-H 0 &M#G2!'H|s&QL i69I%baG'ǰǟx\_}Eڵk.]ڡ~ ҾNg +V V \޽{-ZTWW=CO?-!bBWM?FvDWQTZEN T >o2B׉ 7p|ǽZzԤD?Zw  YM#l  /=-ia8:sa9XgXeyif zlmm6ڇ` &U,˱,ǰth {py^Lk (H&.^, ;'dRwZ951=,tS $pR4ǹo5}FY- 8@Zl4M$8 1 ۺmw\nj9^O$Jx~̙3 ֭[,Y2uԪtY~r@ ~-'.X,b]@ `>GT$ADK>>-@͌R4a8)ʔ 'Lliih --IrrF\ts["]lG-//9r#GΝ;7;;۾t_V2dܹ6`0 'v~i=Jsv11;;iǎC7ls NdQCg\;x^8k|_w\ mӾmٲu۶m:gy/C@~6ǹ ?4MϘ1þCTΜ9(@(4Caca 2`rHhhc*hjj5kBxC 9zh{{ vP>۴ 13x@HS4Nuϰl<};HޥPYae+C,SUnnbZ rMi0hlKd~tYu]Pqy4 x =|[r$(f1 dT2o8ޟgzeB  H#I Xީ7Odd x8VyXh¹'t| _\W?zj +1 # 0}} xM O3f֭@Gzzߘ_}Xs+`qїQI$yx駱!JU+2j*ʶ_ M`'h՘Ş8j_֤qdH VZ` ౌhJB MUs2랻?+v(V.̜qɴo>1$IV1V㥯L*9ĄC5?P>bRxkYl(蠠 ǜx'a C=l2^ z-kNWttOa7Z#Al L5f88سŭ$#bf_Xr)5?([<^' twD |ע{p?pr^iʞmUeՅs"CĐOn$9.y}<;JK8u;wC1u!Y?kٳo|>@ ($ $)~wL! q9{wwt M Fjh5Bj6 Z]ǵRE0ZBf~ aa8`YjVaخ hn}8,c9,p6]Va&mQ`flX-V`Q~)رy 'XX,&Q9{jHHe)J%|ؙ2d tL{zU"!sUšD)%Ϙ1e4悂SN &>|8""B4ju`4V3|+?o75; [fSMgs G^j;N |,@4bmqCKAp Ñ$^6QSf3}( ) `Q[#}9WT*ł9wy(yg8?ڪ @|67cU`yE\lxWZj ðM6-ZðvΜ?a?+776b@XXرc?=e`1ot|{m۶ysA F '}$5 eg'/b<}}K"r^8uuBnBHRCDb`i@S+5mEg̺@ i$˳ɒRC3˰55&ð,1 00heIFS(abZZ 6,60_VqZ.'VMӼj'77cݺUE IDAT4MD78片jk&Nֈl6۰a^I>TBPۦ̯pT&]1t/ԍ2R)Nnܸ1'''##d2I &cQ$==>$M&f1c o$hCS)Cfi-oN2+z~ ,"<+ b(,ѡe2 ,1–wbXJW+f#y>|Dky%z`yqW^h4fFriW5VJ*B_XsK^+'wB IR"Q96G >5*~)7<x8ݻvpf訢~5#mΛU6PNbTw 4xZVV$&z#~ 6l F|޶mN8Xׅ'}~1q(85gb}AwrmTqV 7rԒݕ z+ %OϽ1C3-x`q &4hŷZ *p7#{Y0A"iHR I e0L`o6fid4x>XK,0^"ghLqL.y3 j ;-_5-8 ').޿NU(d^ `8NSW0죑ffI XV^-CA1RrXt>&lϋC(IirD |С`{fYf0&̫=(e ?5& F I56VӲ?fH\ aGC j[1}Wc_hs ^]56fÀUi:TG|9Q] ;#T ɻ͐Q.];D[n*!%DB 4;GI۲eC_ENoZ4~24\[>.]1"Cp :Qk)K]>d.?ŋ<޻d͚g$8a8coNvVVQqV0i1}ѐ#@s^e=x#3xTɁ_bugLܮ?a:^>Z,v_8{87D+$g#]TNh8d8kRC8|k,]tPАK8S*Ux+A\آQp_N~.:HVqn0zBNRwߜ"CnFbm[:`hC{ (fU?lU^=Вxկ322͛7f̘M6 >2i?W}җQ]a@6sʤ 3 7SAz)c{aqAM&P#51fI,g[@L[(bar3=ef <rbiq3M3 ;NZ)KHa9yd<$ Veicyp̙z֌"AjpW;5oܸĉ j0>>r^JIJ4m;qbzz( {ԩSJeM7F!00з98 7oޞ={4T*ubqfc&11qҤgÚ7=eʐFA8ZG[GkjmVnV:jVBY Cdy("@B'rɛs5[_]rRihhڷnJ`a7>oU`Ǟ=y[`&G~h^  pS-((eC+ӫW[%UTW[衄Hƾl1:1e߷o9L8`ow˾sK^XKN!f~c$##6V}G=WܳUyeWY`Hv{[ z^ӯVP8cW&mU04MS4R<`2\)ЊW!#%%df I) p<i9I9LM?xgg?~fLS^Qߗ (SS3>ZG_"33 [+_~dff޽{Wqo$ (233رc@@v~*,,~hh_M $([ww?ݻw"T+$[cqdͼQ*W&bhZNJZIt>_>N>|M3OJɼ$4Ѐ /J1X+mn 5{yM Ac[z9eeFFF֍~ **+-,TkٞD5`~X?nɇ4ʗe8#3WTT9SwޫlR[e7")"G>|ᱱLJ 24EQ͛7^dddxzxP4emm}ʕI&͛7ήKCwYBUaYRL|[=w-,p8OG8E1ula$s1UrK3E >?[RXr9VWIElZKX"IMeêzZ3ap$E<[J*56in<<֮];/\`;wn;8Xoٲ˫ΠA &fsP2":Q.9X&fW%r ੳ::bL&S1X?[ Z[6qL ߞNF*kѓ#_f ||(Xls.F0ϵw9RF'g###;{{.xfΞSxZn֣ں#QOL]#V9 a>Q]Fv`"uF^IEj>tW+O>V퍿] t= DŤR$Zh,H) bc@\\\pw>4MuMxUFFPkVmرcǶogZ !E@TYa/,tf 04MJerD*E"D*r9-YY7jk۷JeRD+Pt<-SDĢx˗O{y>޽qrȥiE4M?-A kZEcnk.=x_u릵0%k "5U`={vDUg$Iq8_Æ ms/Ƹ/SP{**[fogp3TWYC\$thuJWUU5~ ݆WR40@ `1 (ź#9U'b!HV3Ùܺ[b\)ikq鵲'/U~} Oݝ㰩슜~_WXZXЁ{F}{v 0 $AA]anly[_82L\zǮhriE/zn|ukb)(x G!IH"ryRRѺhFfj흽{~ɨs%]\*ZZrsssssuQ2폌܄?[ ٫@7`ll<ͷJD"X[X'55lL֝K~lmƴWqI*T +􃄋_;Gnŋ7I!),t'JUBƈ1Ke8z1ń%EĈvy㮵W5l|r駟zxu"IR,r.`;}|ܹn^w! 2ZihBҼUjpa0Bڅ$BISLauSBiOΨc!h3@#OU BpuzQppp{=qZ+gϞׯ]1\Gŝ>޳gO+ζ?n"2xUjWWƝ>{p"B!ڃ`QB!TSk,B!B{:EB!B!^=MqBbiiyʽnB!BGo!SdIIInB!B^{ 0zUp95厊 ׌Pd/bQb(F1Qb;߬ 0z%(ڷfQo CisS; (F1Qb(F1j^U6͌1bĈ#F3~ZFTYo-_ W+%t_7+25 JY /FhuEX(99X7gce5Z1`gvF!BXL9YSj?aGq-wĒxÁ-"13d#W'׫aҜ_^pv[T65̙*J`} I)|\2w+d=Ҕ?a!gM=w8zg{W g <*_{#Aȭb`Ńj333ŃiBryRJ}*aԇRJM@6%@WVV‹I&L}GNųg36ia*-35OO<@+6lS!a@JZd5)F |[6l`[j,3{ ml5 #o)_mz oA UR{#A񧷪n"U:\⁙Y"B!UAR&UdmwKC,N"^W\SueE=v,Bp^b`fޙAW `()ŨYBGMFS69Fd^?~:쏃Tfhi}V )+477Wut AF|kM s=(gyuq1m-@KgfHL\}=K\ "ӳk}:Z-)j6q`JfdW} h'+fTpުgN6?~VoO`'F2rxyRC%Y~}\͟"Z7:>iG;]fTN}͘0#5z>148sR9~]lNyK\'`('[e'ySz㑮E <1v?};T?*73oI_hdWOW}c|y9׋z|I4fEi_)vw3SQgu t3_OyoG:ZN\*0GbPʪF;5ءb'Y?wdϟ&Zp *9[3g?3aڎatU{~u3w$c{/y=wCzb1ĭ?{|V#0¹?3 7Bmbۏ'/§W|?Qs29olɛ*U ?`8eS䰙[\YO(;sV'~2g/'fٮ9#C\'y% 0V$o7F1Ѷ"7,ȥ[iF=dqgc# {l7|]\;u}(YyOx~G%ݔ}mҚjL`<ܷè_v)4b T%N[?oɭd9y}U}\VtT7S cYz"ώYYjn<^zt6C\'y| IDAT% 0|V$o7F1ѶKƵxz_+^V"۴cSz7),#ǭk?7hϑQU{@WMwnE|7.4ؼꔿպ,twIXr/0⻗o'r.&znROl͙)U[ݖHazv壇WK9"?e<<8[aYyGoWE_6Ӏ=5o7@&{ߕuN|f泸ZT 8f 7>s5EVkӳgRħԪ6&% 0|VI!&`^ C@*M#-8eo.>9U@Ss'n2@0Չ_N#`=nLRR5e> ~[Tl3ϮU;'r?4Iy+Vj^Z `yZZ!YreRT<#Lѫb`H?SVv~ĭg4m;[: {M`}E,v^bAP;3֦/>[сϯy}~/t){wnNDڲqںCmse~uy-Ks|07Lcl͉B芤}dn}eIgoܸqƍW|s"14) OP@_~T0CSMfVؕ$]G:Vkv7Kxw+"Wlep'} %{Ԯ-Lq} nj>Թ-W+h~.t:B٤ϥf;g[3|M vGc^vWz[abنo_$A)ܘk=C Yɵ8> &7R%>0P_ ~8"uAv5w*{|\]?z{" HVV~?lb𾝄a S B1fɡG\ Nl=tp݇7ZО[H\[(3.-_]VҌۏ$f]*`WSJ8A~ZY[{~zt#Ks 姅ʵ*yiڵ[C>ڸ] #-snwYsv}\i[aV!yfqE_++0BHC`C&\[~nFCߩ '}m`{V4ĵV4;u “L RB-vcm'&&ZZZ!B!&F!B!J!B!+WFX*aԇRJ}*aB)OI*R*gk3 Qer앗3h@0̃A(6FQI4MKҒ2[[[ooբf]֒*tB! fɞIÑ70$4؀ 75z~xb@$֦%\L5c iZ$egggjjWTTt^z5#*//7663WMxxٳg###;ݒCBB.]4x3ghd͛cǎ_5#'';==]%N_Fq1cg?e(Es+;zѓYΎ?Lc֛}m"/6r4՛UzbB.ELMM[BH#z-QQQZ)944p`ˇ~ zԥK[|}}Rj;e ;V/-AvC2rъb!#zX2al6rX.|[+~lu38puŇ-fN#,=>=UE~K2gFEEÆwUԀ@4 $ <>zR@`S3TQZZjddTQQ2L $p8%81QѦBmbDN%+ƁuQjQ֯Wwt#8.JVMwG(Ɓ 030F1vOŪ9C[Dur9DQi²JaL*VʪU"`/e"kryu[;d]@&:N)le{7h㶛ͮ5+R@F|ܼl[ݔ.Hhd@QT*DEEE׮]ky (Fϝ;ws]vMGuIaQޡ>|x~ >\+%2AC Jɪ-\A .lzuGw=iPVJVMwG4QLL/= bŨcʺquK˓.Sb9y R@:v03p9LNsP,'7KD{q8J#""*++do r r*z~?KbH"IZO$w j%}NE*^:^iV}Y<`h`HL;QͮUUU5hi:55X(4]]]]XXد_?Efj֥^i\1%u5cIII׽0/BjjOJq*-Kw%fk=R0s4!k;,oej\zx(,w <.GJZJXK kj1H ZL&Z 8^//T^f/_:~xϒe2G5z/U>#V#/tz㒮+:|m5հHSH$)[9*$r"#UVwX,% 0 !R Ì9Fݏ (:thk~xefxYw=b[=Q/ Ì7ƍ>zB5BU$35U%jͬj̘ELAXbDȢָ1)~XR)0lfU.tc #)|Qj1 A+?Qͫ(dNqz=:شEy VѣGVVV555l]Z$ /pK"(9ru~Ԓ(BZw 9O=baޥ&^LIbEՕbie,n=#+oWwTjbg^]o˥#Y,5;j/b=p800ϳ_vQ!C,g@4h巅E)&<"IR"~@"=.ꚑ!˫Xޑ{bUZ.x65eTNd9kvm$I*KKKmi/ŊW&eeetZ`K6cTjf}HnmG=]Ɇyl`ԏa5h}j\k`ٻ\ʌ'¯q0mٞkZ1 J*Β-ʪi"tēN-/tR<0cneƖ-+*ٌS xA?$I߅ V!uq>8&=*;|/wHT%Ybr嫿NJKwmq"Ĕӡɂ8 S*b!XBƷ04|MMM{xxԅ,嫚***JMMPɓ<OSU$;k3FՏfmWtWa{ ^Q (Fn>us_N6V|A نfb]P*zL8smx鏤lݵ`ø` @ ĕJIR %yM ָ9K6=ΨϪ$;pKA$YdSX 7vHk6Ƿj!A?'D db% $y>}(݇$nݺ>>sIIIV0jf};vid| d<6GGk=(F1j0FH'FRFE"QLL̮]<==[XΝ;Ǐ/J[*"aY_=O>أvd<6GGŨ!Gg\YY"6n{u֖~1Ϥ+Q c{BҜEBdӦM7oVV۷[oeee2ңχc{B- 0BnϞ=cǎUq#M >?7ol+JJJ=zwqqwPGFFAQTrrrbb: ~4z2px 0Bcǎn111;*i@9,A݆ҵk4'NϏ]jwXXƍRҫ}iii}={͛7b:O15CB0B4===$$D,0 8c)7ו&/n}A#e1he?+Hc.L0nz8Y>'{Iޙglm~ݻw,Xp1OO[qN/51+0';ϕ4$㓙9gΜifZҒ/tǏwD=сu5R^OvM_ٔ &~jF=2|l]yaŧw|[Պzi窸\ Fmj>:1C yE=_'aVzԌh=bDV|})~k/fbm4Z& NNNź(EIT1a Q&}\Stv0roܛ`(;6<~r{OjyT$ڵӳ.Jr9_~R,'pճw}Ӱ;w?^*fT3Yj/}nWu?3glXv0+VLX_ +#LRש3=Q{&JLo?N=o2^Gmٳgbb4V^rexC๡B[JM^\wVڗv+~rrҾB1Qh}#d?~$ƍ#""Pq#C={aiV߻rd9 /{ĪE{֭. 9hʬK=NK ųr@>&p)5fdž4'J/Fm'Nܽ{w%oY~J{<])>]э>hHwh6P 0B-((r\J$ ???w%%%6m|U޴>H߹lrXPGc.gjܥYm?}v.&άZj͚5AF/ZީX@8Q!^Î@cCRx2ǾFAC;v=a{ŋ߿_ͧGϻN_;t̚z K&R{_Ҡ&{jC0FȠY[[&$$ا{]~w2O9sLppq{;vl5%[[Dۆo0\A%\Im~Ot&/ >{'%/Ҋ̓[˱hu9x)Riy\U8DV{d|l]0Le|hu-[۪j/x};m#X|8::z[nUm۶͛7GEE=z4))iܹ &Y5UX£gۭt$L5|M(Qq/:99ѨԺ$߱=B!-6@ 8p`ĉ .S~"""N81gΜٳg>|6C;W2 0:W0)ֺ&`ZxcAN|g+'b- ...>>EE_/^THe0@ -!i={JUN_ٵa 6L(V&~Ht=J5+U9_瑬5 UZU\ټry^^H$f*a|gr1ZabP|%<_QzzE J~,ĚѬuJn+%׷c[~ 0ZK.++_uQK{:ʨ\3[G=㱁=R3zQbiv o222-,#.c˄$YunG o|'VିG S,dT/iT$߿_"̝;ԩSCըcǎ͛7̙3 Ì?֭[|>_Vv ըͭurry Qyގ>~ E]^~Ʌ .fFᮊ_;ͅ`o~?WM^J3O^Cx5֒-[=2 m=(F1j3֭[qqqkRQ׬Q&n3е 5th {sh;M:E.=':~y_g[33vM~aoD.S .\sq]/o,^qƈcǎ-\p̙ Ɲ3mڴ%K9sfȐ!{޺u?~&NÜd)U-&ÿlG8h}!g"e] j|B9 ɓ'D C̵"gzh.dܝwYy"Ф&/Ȃ?'O\a导Ή^w_3v,'ws<lq}_%%b}/TR̥ZdӦM?߾}߿o߾gώJ\' HYf 0W^nRVZf͚C }\.MLo❙'~D"{a+%*u4hԾ'|B69ɊK.2e޽{[XX̝;Gв4UL&cxDVy?OT7q滫QnSTqoY~gq_ ^qI>w?e03@,xpy?=hOss1eŵi]9`m>3}ɨN81YZl#++3xDGN&,a͖H³4x3+`Ϟ=cǎ1[xY۷~S(),,,((HMMݻwttڵk--_myZ3dmm^)? ~8H_3g7 0ȉ'ɫ!X? aVY⼽UgacQB59 paaaPP" ~lll  44TH:}4cgX/|6K`ii!4aW FN/9oau`ɇu;4aO_?Yj wS踑ⴴ*{H¤cڔ 9pͽ̟nmjY%e jd+Wlr޼y _}:;;5UfLL̆ Y ч*t́OSn9ﭘ!= YMyეgsb@E>x`tttíƝv.xٻﰦ6M {/e EET V QGݟYU,TuTPT![ IG Ɛ0B'=s1'geMںFϞ=rʡCΝ;WY$SkB59uiCՂ#AYxycvٱÌEb׸2A3tUe;o'P7'r5*nޓ;Oc6qWxN J[J8GOOo߾v'O.,,ج-3O>3<)̽D2uΝ;_uƒN wM[WKFPێ޺@jm(ƃvN5ne^Ջϖc?::OiI!j2833333S$j(0:]݋x_O/'ԍ{fp}3Hb,+ wv㺌ѐ I'ltkQ| K^=#4WRѼ e552u{myݺ3=9{ڮ<0Єq-~3ݹw#o Mlxηf{/9zd:jߑ]$/%1W2edd{j*55NRi/~{Eԍ{xt0ˏYE\vI~fR̿WOn[0UBV7n܈?KQ -93[Q d}eɓnݺuY4Ι3Hx0<<\|z0'ywڮ |[.p+Iv) ^íߍTjqǮ#F׎U/B! V| -_F+ӫݿ0G>0ϕ]&li?]_˩ ;4aaDdRA^ݬ5)@1KY//԰@ fE|U)V}UhҊ3>M:v2z8ITľzvT[9055UD͵`0Fܮ]:x␐uu/j۷__NA/"Jҥ੄ɥLuK:}v4TPHLrҮ.nM+Ww"k̹9]G|f.44J! `^&ѧhOl5@{fxLpXύ^-յg=ZN/F}">bѩ 9+N*s(ᙪmaWsbiWgU6|b{ESCUR5rرcÇOHH[111]t upph2$rQѿǎ#CM6666_ea94i 忏=l%3UUSsvuuUPDccc%O&˘vos~X~Gsms eP3{Ĝ:uJllH EӦ[ZZJ%k;p,vV:+#K+o0>42?toCE v!>ƴ#F4lLf߾}EҢw&) nS4-7S /PWAuΙd2wQh}\J|/?TWou~cSuk$@Tpž1WuPDkQb]ܜIA_Z,ssLE䜚*,f,+X@|vw_l#(ywG 6*9l_?Μ93%%E$ӦM[jUHH"ԥKW^>MRS nZ}~X6QKDmڴ~ݣxqB55 dRP)jfYB*|r)//ر +l?qZDK;bq"gM[sI HN:gٷof)//yY׫W/_mVAҚ1c`fieΓ$hN L%DkDh{>x}{"܌; cF% | ncX٤#B 7EH9dv<<<֯_?hРL~g DHHHϞ=%o\bȤb?]D1]ǎ^,xk{͈>;MJͨ"h4ڊ+f͚uO:C޼yӻwQFݻW__kΟ?k׮ ~e^t,^mÎJ4𲐱Rv&>~h? ^pyjCC! LZE ZS.6!R l888<{QAMٳgFrJ `aW6˗G%9͍lysTvhjt^c--EsN]QjL ,X`Aaa7oRSSӗ-[кuk'''F+O?4q{yxxTv8ݺq%4nw,e0 g'^̀tɧh =S߿k"By)h_Iql/sz.B5.b+ 7O%Q&$$(W. IDATipppׯkʿNu[vN e\"11|7YKaM8qСӦMkK+$F >wRqqq#FC.Qzo(֨y!ho/p77-{+OF!%244\lٖ-[N8!޴iӪU}뷉Ž2ՇQmI3ڵ3Ai, #fJsdTy؜-{4gooo2eʹs ! !/~{d|{-hqFddj\TFu alN]6,]Vf1[|SW\,΍gR*jq- o]@B-6j F@@ϻwD8vK xG]Ed<|9JL_gEYzu4Pcsyt/]޾,ڵay캟m?]M)0&L;2ey#jBԧAbZ''cǎ >\Vҥ˙3g%M18 *snn3g 2wT͜[k$[9n&iffW4,&0W?mB5/ &$$((5-Sv)+xl2ooo!r\ аZV{X>#R۱cG&$66T $9>Qٱs'ء#k$]v)! `Ak K=9k:ΗN~ 6u!E9#""j<ťgϞׯ_0BI$u0B!<s뷂])!{W钶Ptlߺ&Tde<~_̗r&]oؘ0۞:&NɫѶ]ZZ7?;'">;C4'v_-ɼeɦ&nqzxlخHEKVxo P.q)ÇePÁ#BiwU'gk5I_ާd|?e56~ %;&}ҖBn5uO'm^qI6K7icL|2nbiHvC MGSz,j<44e͌Me2kR)@4::֝~IXG@GCOZ/QᆵXtaڪO}ݦUU)mhbbU0ZEkT[u977̙3ȹ( M/gFJʦe(F1to r9|I2|𠁁An=zt$Ξ:d~'*gV'qWBژE(_Ȋ>©SN̶۩>!?x_Ş ^oFBB@H~) W"}ݦ%@V>Qd* uss۾}{ʹVfV}r^frVVj^kQbyDEImGDD^]vs&E=9;,,Cyyyaaa3'{_ z`,y$U|'ª~b~I$Ae0iP0YJ7;ms?sM1Sm;PY9YA sEz>e>S7iv5ͧ2HRˢ?]O9/W+z#-W؀"+>t9݁R V)>Qiڻ:::r8$[[ۦs5!jdK"O2kc7|`G =zt|1]&19ML"}x9&Aa6O ˠ $T`Lv|#w ɱs!{Ho?:yЋ< nfA'"*Thϧ}VWh8XBܐ^OEg9@ѵnݧUՏ:ljx_36U2"ҘLfxxx!B-BCCCaXtIT_Q!!BZ۵*yw%Nxww{MjiY;r>\)(r?\LLlMJ˹WQ(PQ^QAvE9|ֽ\[tDT+{H60(in[OGlц>c!17Q3pyjd7o,zD4%E66660[`ccSRtWbr.UӐjeS(P[X̪lrst#j^Q4mϬ\PSL6US4PeϢ$R I( HN2`R[֦ƒ̍>e+DM@=WR֜gPD$IVP3B!Z7n;U{n2 2('Vv};){~8f^Uh ]+U&,^yv􎋙$EM` MlVSl 8$ti,y"43-OMÄ< T0VhN %y`ce!vܪi eHv:7b3jXo1 !BMR]@ Zh%''  G>NNN5x]s-N [Qڍ1xYȡ(Z&䷬jb={Ar?b6yVOƨB"Wv)?©@T.=7Nd;SAW׬ѠQq rZGe@n1'ڬx{{)S]Hd]N\ 5iFmݦE0 DY{R\ {y/x`d$%.МM/-0,tx1"V;+\D|u0Ԯ>?/hxf2̈=f\}1sOg@nBC[+*Z5UHxy$ϑE>}fkkhfD@n؀})XY{N?F[8ʺ &Θ1CBx|; %m?zO6ɒ\6:u)eyy$J~D|v#HJq)_r__SMK--WbN%%e6n`Y&F HD> ZJ~x ĎL2ܹsu(GWHd]Vj`^ v>;}a'ڙ߹5O&9iW&c敫;iEч5\S.+oP.yoE!Hm_)o_n_9[t`0448Sju\VI⧒jIvaۚG%ESe__]]E>,%U?%&>EHj- 3-V)=2 RU/`2X#YQ ?aJ $)|*+VriҶ_27>R=g~n.JuEK(Y{b?wOiX xGd0gKv0`|}ʠQUA9E?~,3UrmTYamQQJg W:|8***??????**W;{N TϫG|ӂUx]R& ɓ'e2i$WY׭gE$&MLOKԘ?3=nԯp}4` Ѣ7>|$;zUxߋVFZZžǹ)FL&Y,uss96*jZZ0QrT[Asv:]Xy;/DMݱTSrr@^dKTptjAAA '~iSlFrݞGt9aڱزyalNP}lxc=Ḁ&3B!eVPk;tQїC\\\nsYZ&Gv3"Iri]H={ Ө_8ZlGNҹ/?b^mwr&4=l:K{E~Ɲ?7L[|'c K`\@MV!O/v޸qvq]6++KFTּD)I!MF+v4H>-P}ƹ)ߟF uޢg]7ǫWİ ,*7J' nح,@0|~5,Ԩ_9+N^d^"%ક3B!+:~뙶nW.L*C&}?頚DDD,ZBΓ;^iBj>u;t+&ڻM^[raNwYN9Sa)C_X@By)h_Iqd0 g'_idb:9FԑrF!6,gG}(;hڻM+2{C loWqǯl;ݚ&wd\`'沭k 5A8U:7bUm4i3BkZ mvW{XbX8o i{ 0jDx5 BH)!|cpqq0CSD+=cdoVJ/+pNCx,6}6<`([̪v87a6Ab{# Ç _us!X+ `ܸq.Kr1IkgX6=Gi#5{Vid\xߣQTdi쉙n]t 2]8ל̿7i'aϒ4,}aϪasj$6 k1""b$b>gef|),-)]rg?HL[qW& 1?G|{x`&M++ǾL>Ο5o.>Tz~ku;z:25>`D!wMܲc/?̿?mePmu3*{5> BCC֭[-KNO:Ə4[6/jL$;Nuosne^S ]%[} ;yRa>!,Gxq3)NK=O/,L`o9RE!԰mv3_9j m t4(:)g9/ s})G!FVOt7Kӥ2?`Cƕs~{{}+!99f'o|S Ou, \=_q8_>lX_@f5Ago5 GT߳ Vj`^M4F}v;KWkʹ4K=gsZW= hwZ3|S`& :n?/Y6>C]mrtA!TO,sW"yOO,&y%$P?.䖔h4 zZ @ MS~ z?S .JV#H;/_joI!ZPٹ3m71p}x? zt*._]Υh9=h`614AgZlc;Rr]I3AUFkh$^fMmBק$2;w񑱂 \cT6|jʦ9-%|*+VriҶ_27>"-z2Vb`}5W_WtRe'x6Q s4Nԏl?q}ub2-[-|שD0Q6ר(E7o,zD 6+c\x@#%.ARhjP e9cQ]xIj`]V[f؎m [Bu^w mJ뀑3@ڣf>-FoF.F1і97~M',GD$?;JBV *ki#7lLї0?ю-C,C5dP@b÷ M۲3A^<>B7rYʜ#MR[z5Z0@B< !%m`7`jii:X52&,<ZPpc}"n 5-wfq%t{ib˾hf:h]k֯[c0 =|8)h%o BH{ 9PVr(g $ P!->yk.^{ u+]Nm' ܬΣ, I[}?J/zS#a՛{Y\͑ˎCaNCRI]C&Ou-K)!ԨH//}g/ij\*raX.]K.Hjj iuYզ yʙl?|&D~N蹬??vjY,nW/ B!Q`p QV,6H>$AVRJӷe͹7 pֳ_^o]W-S \%M KH0d9f4ad8tNͻG$/wc=my;܍)@hjفnhO a.oUۇP~wmUرcUJ_ O͞\91 IDAT]-4".U$_,yaqwo [|%ŊQ%ލ\ƭ(|u_[g+ PcQ`#GH<.g o$`@>_Xy#KbZn;#׼K+qh-K軮'r]@)U;YL?^kO}'*2mܡGGS2i nGpW)lv=,5(@wXύ^-յǞz26\ò)?Ԣfj#.E%٫;t+&ڻMȞqە5S{O5m֛[J0f0Bϱ%6aak&9yG262 jH YӳE0Cmiy$_ByCFͨKvՎSl40hp|bRHMBL:*ݬY/PsPFFA#4isuśZ_g_]+JY=,1 d7N<3kqQB NQs멜 y}R:W ^]YLYctm QvAҿ4h "## **Jiv~m猚.9\!],|>K>x4GH5ϟ]"n>wޥKl#ԄTrF!ԘptNWGHWpqj`AAA֯@NNNHH;]LؑAvP"k35ED~e||$IFGGGEEu֭J j{Ud]U!PQ`33:_7+KRX2J zwfWx峻RMҀ[He4xъ]OQ7n(vDllbGGO*rlh$5*ˊo$ىk̚$ɽ{={z:WZTXi4uuuuJes1J!]BQH)s>>>2*sQT}jQbTTtrwh߾}n薄:o߾}_ڠ-~q̹ )OCm#_~EHpppo@ ;2pV\:\b˗b VXhsVVd2U0PcT6YF 5k4kʦ𥳐V#b= rG}(;h[޽?ZjMxI1ͥ?kM77)Ev~XKF'ffРAFFFJ !!!b@Wc֭SLL IA?כ>@U!B͓jSgg;v쭕>_9Es?mAfmgðټ{x8(: ${ 8044z׫$ <ݻuȡ9fի]FEEuEA!B Fz#""V^]][SZBP)T ARŚ}%}}=Z"y $Q|ƕ5MKw_H)8gρ=s-1j`7bs~It}6 Pa:-pv\ØMhC'Kܰ|՗Y`=?Ojڽd閽'o9ez-Tݫ:_wQo}ƹ&A[H}!Z>tBJPJRSOU= A<%*K5]ˠRj}KV5)Zk;}*;8ĚN~#,"~ĶF=fEP5W S7.5:]#|R._]Υh9=h`f} B!Bl*yf#bOeo]')qi|6BSl6H]JasETzi+. `6$ D /ٶ-jQ+se;og~y!(ge_ușk m@5??p*]V;Y?4dģ/~^R )Lr9e ;v;V!m*A$?eb,6QVNT  Wݪ&K[j*_.#BQ} ["6ʁUlS$*8ڃ~QT\H[}?6_VL_g:^geo.Z~,EՌz4N>| K^dq/#[!~M!ꖥ$&G͏vHU7co.]v*7gW}rkw3a#SJ$ܿ_٥hHQW!yƍSh9DIk˩GMaqOI@r(׫m{Y @հP{͊ \=2W~#ߗqv$to="ykP1p7|m~8P>Fy~3Ju{-#6! H-)>F@4Ak [de)W?LoVjoI굔2<ظ>u*տo̗j+Z⢊+WWW]Wq9UuF(FGTvqq9rr0J!"H<~aFj6c, )i+|\M?z1У)?OTunYL}xR߶ZO-COT2+ðRUӲdx 5Sܴs趹,1:i$#'On̙ U#77۷+"geEW#WL&YU0QT(FnTg_ P[gbɣPwިu4N0+jp Xp\M^+PN}-nլC j^J_G[fA`' s~Gc;wXplmm]ҽ½BIs멜 y}R:W ^]YLˈBi=*U>?|?.4B-*PUVRAUZ >QԄ,~tKyLm$ Ӟd'E$T& ™YXȪ'ywڮ |[.p+bgR{^X9|>Vk˼WB[} ;yRa>!,G[qT2s-5k R%Kyk!ZFHBBBd|X {qmdEkwMj&?;x?fV{umm~}Cp6QK([odՈinWG 5Q;wN#Fgk[\nO-+pҮ.j̕k](iiM<~޿[/X/}/X0k+øu?~"e3G_;~`Bb!+OT8zY8>ږY5 +m} Q_R ;;QV ѲL7VU37$Fk$$xھ}$5Ұj׿$Ts2-W@Ş:`Cɲ;v֮ ku\8)gx⼖w^yrҔ\M67oѠ$^!eS)GeS2cmQQ\G-#aOkd` /U#U\TYQ#$/qYGeS2K Gy JKMVMZUBYExҤIkDԘ?3=nT΅= fk_ ݽ7>|$;hn3qC>o:t=iAf;1F]r}#;ddEeS)rFeS2cmQQ4fTDP#:a^LܲO4 j㕭ndL֥Y ^y*8: jM`=|8)h%o4 =lvs´ce_}TQ35׭~ w^ÿ"G͝;JrΝ+dB-#|cU\RSIڪi=*U=}eو'A3v|mV`s}մYfN6 so3<)݀-$F:Nku7ogеa~kw"{v}~deu1g.϶PMO6Ot0s= \50:iQ{ +TQQq=zH\A???.[cCӀ FD?W_Ǯ>QԒIRAFLV);=`zlryeN0^(?]15$׈аZ{}n9]枉_,djԍv%( 4Kq]xb;#(w[x|ᒳj>M*^a%@yώ9,g6xjfHpbi2"~X*2eWgSMaiM0|Et)NVﮭ͜AmM̺(}d?hm}ž'_5ɒ'3`0 =[*;th'2Lp2JED4Sd?9']u:]FZ9,d%àZt-c~vf4;cNe)F^!jX2ō-KL]FIKyB_&W_|'07MrZW,lZ7ȡV6OI9hOw:*|w~Ks+O{O`QF+3vM_4R4h .`㣬uV*sr%Ņ%IYQ >fyzmG߳WGi+B?{nЗl~^‘[s&y;ڑ?=+ \Oē_ꍯnQt"^FӀOadӵC=s_Zaړ}}" Y-+.De_[j 3)71D!j`6^(.ьn+Y/];ҖA[{i ,cP:j;;jэ ٩׎}pܱqI؝*h >RMQHJԩSRRR纍q5(F1#wZ^iJIe;[\Jҍh0Lݏ=$ͥ>"i 5-M KqV" *{w(ʬgn]Lb9BK>~$)+*[v{?)^Q… ӧO`BQT-F(FU9* ~˦ۦj^Y_Fpa:qg=8 Y$J?}[NF/U#AzL_w3di$ESb'ݪRϮϬ~zI%\wސ,.}fc{ f&{H-ΰ_*#d镕_}#"ɍhWׅOTZQQQnnǏ"##Ãĉkj 观Zj*Z(\hV"JuWkU媖@ nAȼA!@r ks{nN=l۸qƍm۶w#G-- uuuCCC-x.]f0fl6XaAA ill ֶ}&J? !n-oUr%3WZt1Ϧ}[NQ-a?-74iQuneY>!o~>u~,4 ],BQɰgl=']rȑ#%DG֫,}a,cKKz>+7߸+ )Eܒ̤+W}SkY$IVνć\$/n_N/ujbz1$IN^OyUWl*ӮG_C%-)9]mKr\Y"Z7Iwc?a|!grx>YuKY I{dݺu/^ +aT.n~fnn޿soPZZZ[xEKKK333`׮]sׯ_vEWa@ИNqL'>;, UkffU[EEv36&8['IWuՈ>5B-ʽJZk5z訨( JrGQ$ E\LY{8sתz,Ԃ`tu׵qN{~.0K.-fٵZK} MV6Rg/mZ46v}ZVܙĔjd)+Gw\4+++6]QQQYYYYY l6[]]]0+;6fY,pŬ_P}o4zVێU W_|]3!xۙg76KH6nܨ,BQLʞ俒]ˢsUD7嗳*fZKzsx<ޭ[=zӫW@JJJx<1ciii1L`Xł.***u tdgg;88?͍FS~) 2͇0l>^UV~Mjt++##CKKB_"jpXEMV-v;OZF);#)e:ާO>}T=& x<^qqqyy9*((ttc^=djii13gmɬ9/5oݪ6:LFo5t^s{qB[i?E!MΝ;`Ϟ=~~~EL.JgPGxw|PPD!ԘpXzCHtѣGK(ȤSd 0nd-]Wt:3f̞=Y IHH4hQ1\٭lB),0BH$d&KI$޽[r{Qb>rK@#˞FR'9gjF%>}I3+HUPFYW_:"Gf̘Aȕ"ᨄ zJF͜[0QR9* G`ccA )dbBJԊJΙQ %HUP `e%cT2j,6f#wh Gk0:5G%fͭE(F#uKJNqQP3e<uuuUZ+!!A7Y {B5;8rjjj=A!۷f<`BbpH䔔cǎ545BNZBKᅳ 69zȑ#B! b ma@n!pqܹ#z냃k1fS!Z'glj!p0BHeI^ P(w h8!Pmp!B'#GB!:nܸÿ!j# [SAZrԌ*ZDWABUBAee%cT2jܬZIdJF͜[0QR9* WkeeOR^5"9S3*!%QUP֕HdYr488Yk$=jQbFp<<<[A)e"D!U`B!B#B!jp!B!P#!B!F&Pe7zXaS@!DQ8BM n4B!|0B!R3kF"PӀ#)DSeTrԌ* 5[$%%L Y58b-{@[QbQa8\7j()5*9gjF-RVV+Kͨd̹YCBAee%cT2jZQbQa8B!BY`B!B#$!őkzo?՛C->l^BM#H^Fr!BI#U8(.ed?!BG>|ܹs$k#<8~ѣGB!BF#U׮]kkk+͓mmm׭[B!B565)#III=zo߮RICeTm ڵ"$Xr!(f@jjB5/8\? re$YsfT,HYiQhi/[-{422d֬Y0c cc^zEEE)(F1*G'""bРAr .%9gjF-RVV5*"]-HQiQvviӸ\nDDr.\xpSSF h `Tiz &HB!PEСC/]dgg'VSSSz }j tݪNOO^!B&;;իWӧOй%" ˗?~l B͐@5J)}`Y+]!ȊcGI,νMfJ5 xFy7x68|ട2| -~?$o~w3dɃnS'to_bj-ܦLo"&?8yxwf JdY-Jx'''\'!M6mҥޯv1sSN5ZfG!!!]z8ONupz.[,s؞,V}`e5vN\R{'D _{WR6,7t-#|<,!y B>rj:% no:ɢ8uq8^z=6lQQQ\.WQE^'&55U:1!DYp8ӦM$% s;rHej~pp=$$$a}fj` Kw^UuAllz G): y}<4] I|Si5s߫G3A1n&>|3g/ Ǐ=zTQ """??ۂ7gϞ?rss먨(!4|2 diJHn;[@YSĞ~BߴiSu>0A6mڽ{wej~pXZZZZ2y{nSJ˅ko]5wl 7/~HֺLmnμfr<,=~ߴ75s| Ň1h2#ԙmGn]nn̪zm=)%S?}lL?wGFY x9ga#{ii?>ڟ :htk6@>cieaE_u҇70oց2ў-e7ܲv [67E mz__nܣmݺuኈWtt`>/a_%..NR]մ+PeǕ?>\Ylpt;I@DQbȲ=?@ţCU=ِ 0.B=b[tQ B$qۚK,|""Җi^]M{1jՠe^8٣S˨7kyOoТj} _lϻw.|}F٥$k9".#ҒWԴ3ݣpUQ.aS81"y74Co5o7fݵ]5cEӣ?< s=j ۮ]yfLFmK Tt'`!7sJ= ^)$eHؗ9ֵ8,-e\\Yʲ; M?ne4)vycN<)Ȼ+wտ*]ݿL4sS6?΍;un}ёPskMG˗Y'… SLc,[լH15J{TmE%ί~h^KRoWpcN~@YF9s?M H0@JKEji? i2풺E%V|k%825Giy׮-Z6pW R ɀmҬE˃b'3:<|AɋO!4䔔FL1alЭ{Y @2,CZjИ 4נ5 uB׎+7 VcwhAXz{.?t4q߿uU)RǪt:9z?i{OmԴ.X]üY^+:iYkghFۖ nպOன:R ~no_e_1_TW^.:_Dh,B[`>yGW;:WwsdZ/)ŏ<]z511Y"%zbccD*"*Gubt"͓mllΝ;sZ/~ρN/w Vz{o'P!zO?W*z~ќ˪1>(VvVE:B/~?][}¿ӬzH4ehیX図˕l7W{ u[żT]xi"3$55^IHRdm_2:88$''7 ڒA!a8,-Lil({VؼOvbFhs){XuNzUGkJi7զcÞVӽV:WwքքvnйD`@tS0rDЫa2PxG'KKKKK?z[&>zB ,5vwbA)0a?泪ܲ,5cf/(Y?ixhcȟ>y4HS^ ~Z"Gn~xQn|ZYF^VujH*aCxRKot*KikѸ\ ǥ?mŖvĵLooS5GzMo߾"eƍs玼͙Q >;~ ? Y7*\'βSUVp7,IׇUGIdtXp/ނbO"o'Hooj6{h[u6>RjAK%,9*Eal7f9B#'vРPΒ oYz7ll`۩Yq9K6EE VkvVM\MEdIRТf[k+YcօNII{t < A Uɔn$C&H^b)*LGs'iƞk:3)r⪠;Jf_uNw$޼Svt~уs y$hZ vkl.Y`_K c=`{kR}/ISz뗽,R#wm'o{rQՀ~4r$ KV:wu%﫾Fk7jL"\Wïӥ{g6\x W||島f/_lj ?KOOw#DE:1ҐNL3*GO/zxa;Њzsp2lK,Lv\:X-ǭomҰ yadQjp}[zk?.}Y(;Y,Vff$ < /KL!k`B <ЦswNccVY㨣-dT*r9w;e]zpZz=l>k>XkXv ˜aMhBg1-',[n>16Cs#>]DƗ&fmc?mWF['nšQau#z'\oW5;bŧqO/[tZ&ݩ~fS SLU%R\TFS'։Q9V1̭mI)p/%eFoI'v9|_PE}ţyGG4 iQh IDATe yT"kc1e^ۜKo)5-|AU#/<,`0:vPco>pjjj(1&˨QUyE$$$lܸQ^Ɔ;ǩߔЌ;h/KYbݤgEN |J)U%LHz=@al7LNIŶ^jtq䔗]zYhٹp>fG=%2u֒I@_`t\t?f|w|dv^;3`? )=f֣W7S:fy/7li wB4߰@Kt;W:4 .%T<<<'NQU0hPQmİ촴4eNNNꢓ)(&8)*1gH?qP\1ɢ{;v%% W-:z32*>Xz_woK.M]z$eΊCl@_ [ -V\WO/Jgrxw/,Zի.nm^ [h`+#u`!äkU*tNw~k0ݷ.V.h$M }@͠koR_ele[u~S>^\ƮW5{Z$OmD֠ (4Ɖ).*wNNN&&&fJMMMMM1cq^-nlD?zN^g㗱*B>Уx ?Pu/>hwP\aJnQ݅/<56M0S"Lt󻯭v˞v~yzj;*~#u2~x==]vA_qర0sss!(vv#GUF;/MO<^EһzÖg w?.SJ nݺRVn^Q?i[ŋaaa5=8|6E-5O`7MTZ ։6m˗O.a; .\0eʔ8ub~ayԂxwڃU/8~CIsF&|ͩ$!$O$I޾}랞wafoݺշoߔdR#b&#$JӀIS?s6DN@Ћ;I}wݺkj|=X* wɒ%]t666s知]'F4ehیX図\ !dfjjzSΟ?tŁǎñ_P:ܸqQHKxޚeB]>]󓴻۴q;;g^-HnBRHT׊t%e{t?7޼ڳ}J.[Vl{aE2FǍwͼgg{FFFݸqWy1Q60C~~rs@MQ㪞+I+f[۞)|nS+bs>&v>2uWQ x ?~xXXأGjFkMMM ?rݻ%\#/660wމ5מC"N<"WnQl[$ԩSgϞYaU0F*9 XUv^ՇK,Lv\:5%j rVl6}􉌌f#F}MOOr_ΊbȏsusB!Ն#_ܿ_'*.T? iV1̭mI)NGf v1ΒzҬ':1{f0:txt::}ҝ_&B!,pH䔔cǎ):+ԬOmhB㤨- Y}KN몌ǫQrP2uZ 888$''}~qʶˋ.[쬇_B5g8\wر"kElذA䠓ɓkـ0؈GxJl9k2@7uD։qvvNTJ.\}uݵi0oz5B! vJߨQn󪫫7nܸq"7lPTT~F!d݉'6jT=>+Fۑ2aLJ֘0hРƋZ988۷q:1vvv1XB=!B#GqpSٳgY˪ ̴QDVzolaOZj*p0BiMr&ر[055{ B!`EӀ7nHU\T-Z$u-ZB!T#=lll&MQ+g F###?*9FǏk.ˆ\Kqd+Kͨd[8I9cmQa>lG]]]+++j5' ƏB]9S3*EʷE{qqq޽{eSSSw-v$]g$%$N [DE°E(F1*dp~rs@6SSH۷nPl2bĈ?z7ঠ@T-:RZz*!4`R~ݾ}랞waQ6}֭}$''[R]E it6q~6[Yu:[@YSGLB!T#%>}:11qNNN~~~~~~/ <~xcմ+} +i=pΉ9N9X&pe}BB!e9!D-7or>LGdY_'>ro P8ukY,Q.bK^+)!B"_TFRJ_HJX P{EjR"555;;;;;0Ýv\ &ݲWg$?M.aZW9i8WCB! ,Ws@X؎;5]rb¤Cq6(%^w#y^LgHqܬFցܡ?!Z[,鳺i)27o"OҨPmllAىSuu`2ܬM*!5j7o%e(9hkIړ nGh=hP; H+{׭?ԃc/Y !Jw/6ReYiӐ!tXp/wBb۷oe%n!BZt]hDgf!yγ['PEF ! F!T#[BK>[vI{-|íCNj8o|ml\ٶohxOkut]ҧ:N'*[{m1I'o)n~>=_lg%p]n sХYǒ[Φ@k瑋E QRR\]]r`T%,2VB)q`eg!Oq`egp57ѮV_?TY8tnPS~D8(FtTő t5]M&++_|07k)T@rK >}S~{\cY~g )Oߔg^8%h E~X_Aŗy~5Hܲ_歈:W)C]%9nZ߳7V~RΛCfirG|>ur$.1DTʫ[<\5zYJ) EM xxx߆(ԕ3*ydWΝ+RܹsPuVWWWvR2is3 I?"~x66HbcTF@XK? ?;߂*%Fŕ%eӶרA-n$]᫳+4?YdWgU ^] OwТm**vALcV_ܟ14j. Z$mO )zuNw~e8q*B5$.\믿Ι3g˖-NGHd0\.WMM~HtvvNIIqttLJJRv:@i6lCöR m$yUJJxBH(:b #9+8Idy%T Q^It z^C 5̺%6>z^C <ؚTd|4 {Q3ڈ!tkQ>?wow_[->nLcM}֭Qߺi Y W2!ow5E!j(7~{\" G'j Wip!GLIF]q>xGň!x_B#n{fnv&LZ{{_4s۽,N[Rke9U'Rk=&/A w޽eѶ& m9'RGȲB!B&r# ܣ p'o@OI 9S3,l5_#b(F1QFpϞ6{$NtPsG>[$LͨPE|0Qb(FF:۲egwk 5N([D!PB!y5g듻wWe'4Oԝ;i,?wn;U!:9υ.\{=[u"B!H5jBPy/{VRġwqa&sWΨǥ R<W{[L7GMϤo/&s7o !B!suޘ/V{{䭕2^.]8NCnq$IA:u5p~Q1kuUi{^^Ä<#iT|VeE8/B!BHTj8999H^o!c^QYi҅D~{c^[oxv^G}nlѭ7?-snƄWgf[~bˤ-ͭ=fF:byk'whfʼE|ɲyzZjeirx.=iu3c3˾кU>UdYzT෶=,8,(uaˑ^6[wv?)~g^<4nxPZsrM=ͩ>3-",K?0ǻ{##3oz\FcDܡ׺ۧ >~lLڹNwT[ vn~Gd9C6pe$'m u[uv2!ɺB!BM#eY-&Aj4]M`WV9ao̫RjAjc҅3~~QjNJʂw`삧_u`iɓ"`{O-7Y2GOcGoݟY y+b{Uw]ąc68ōm<)xrh8 +c Mxqe˾/H\0zcWY蝶e)|vQi#3_KV=qmG\UK&7oѼ?69 Fmǽ7mȥɥ|'#=2ek/ojqiOZr# ƥM{W ~yeMKK1X:座/׻t\zUى4/\|i򼼼h4ڐ!CB!ʚ*"ý-RhQ\\YXxRа넳#l>üg-^_O|z|չnV\ o"PQKڗH.x< Ixgq i 5xS. $Oc̅1o)yZhE_p m 9EgןNAij t_D,e7Ӳ%08E9EO~K˸@SS' rmlSP,r.uЭU̜§*Bp*mTjA99EO7 "p.q۶^wwa- ~^Ĕ(+$$D!II[ IDAT˗/_zi(rdȐ!/^TJ2!jS+VG_In +ETJA@CB.N{x39),tg[h\=,1"TL;O(J0-UVZ$I0fܖp;( 4B}:յ15zn#\3mi3uvތWQRNhq\qWwtڏ:m-Ţ͐(-%* y =E=geYf͚5k*+; )*3(F149zņJJ $A<i%tow :O~+ܜ؝׹?e֣Mf?s5ס]L+ jF.C_< KS7x_mjFyIUc%vR3vՎ?di>֙H L^\N%)kzۏ~3 odiQ#[lȵZlj,r%줔O3b(F S`YNPɢUr˫\N-ձ@:0lܸIaZ(㤫-}ej&9_=u6`KP>j8'q(fq/b7uPD@ @>y 9ѫ&PkfkX`&UBҗR^:v3%ߥFѥ:ί~8ֺcSF-U8'6]LĖaLVl˵SK_a|ڤh)Ô^O?t'Dw_|rzwePՠklٲ5kxzz!hrʕ+WZ* HC^p΅(nGf5I)(=y0cq^ hSk' J.4bv;]ݲA[Gws$imi P4M3=abۧ^MӬ4IWfߴjOO[n);AޯΟ?O~B!RUeTɅb`lx< I 'y<:B!B!DM*5`=Z9/|B!BpgO=E~+o 5 .]W/޹s… q+yyy 4׸B!EG,۲eKE!DqmllWk֬Yv+7gWR/B)L!*~^|,$$D!I˗/WV2ME 2D) B\VPY@;+Ȱw$\ W;[8k֬Zs{N0\xs Tfr(F1Ѧ#/4Gz%Mh111 K"YlȵZlҳj,r%\iJYQbŨQavG%3K*,Bʼj ȪWA:X Ss+\ !R Yaf6X77leCi$I@hh(% $}||GOB5˿,B<==oݺD+WVdqB!8,!B!(G_5CIIIIII!B!$ ˿,j ҥKJ{y^1Fkժknn/^%#B#/[mÆ re QsP񌷷ӑ `]] |$srrp>Yy5khzE!Pc` Ǐ?z!+,,,,,Tv ::Zk"G5ܲeK#80!!!Iq`BpXeE[N0n3Wc"Wۻsk-ڵkHY0,MVRF -?֬YSiJsO1Qb ˿9^w {AbbbD.ZLLL0b[4w\͝;W.9ܲeK)2L,[LJ.[Ӛە^M+(F1Qb68," 666!!A^"!///##ꇭZRb> H|#HW~HBQ˿l5q'O9r$DDD~Zj"XTt$ /X@k$IBTIB!`&XWMM ǏO0Aqr"XTy-OOOe'"7[la[l{޽bʕ"BpXeUσJOOR(B!B`ڵkȊȵ fN2s#rtxu[yԮ"X!B!`+!!]uɩp׍o66(k/BM{c]]32K^;/<XK~ۅ|ƬGKm 6NۓR_ݟ3ȾV:Fo]CW~}`ϒGwGFY rS-aOr"X)::Zj5QSkB!D .dkm.tLw oSxwwzWEٷv0mOY$Ĉ{fr ѿ:Լݘ}GWw[tEO$lι\Ϋ#'ofvA1}?`.%,S b?;S~;Iƫ2>$eEūQb~T˿lMLrJJx #alЭ{Y @2,CZjИ 4נ5 uB׎+7 VcwhAXz{.?t4q߿uU)sӌܷ-^Wu]SuJZ$J9|K<=ll5eo%&&F(;)4BS^Tq^(F1QG֤ @0eϊ;ց{^̴1Mhs){XuNzUGk~Bi7զcÞVӽV: =t%ƽ̵uk0g ۹yxfƖC]į"XȨaVTE!B#kWzT Vcso[~^k0YUn[v|񓆇;kH19U//K^r]d1g*N$& RF`5waM]m ,Q E".d(ZgPֽOU[kں\8*Ke!BA B 7C{s=PɹݺuqFVVCwE!Bd355WudX TaƗHZm4b~' b7|SoG\T b.Wf螶4 /ܳ|tmwFn%l<}[ _>*A?g$Q{Z2nJ@ZYco6yYܗ&52hҔF)E" )p1|zq!F6[_.Js5fUko~tZT3[lBamwA#B!DZ\y$YLN4)C;$nB! 0Ȳ:zZۍ "B!Dr8L|<<iGHQ/-^ b(9V `)QQQ}*H>I5s1E׋Qb%T[ݻ8H)$aB!\L|n>XXX_"?_B!HgES~~>B!`sB!B`!B!gEnB! 0p8nB!BH\<X?OsQB!`s \b~Q)h'J\Tsy(F1QG 0񹨑\l,iĔbj 9{139{(F1J<&>5O B!B$3VڵkYY p88E!Bp W(>X̔\!B<9"B!"!&>5jRi_EEEBё5DB!gEn)T*R(;(E!"&>5CQۭ@dcךFDB!HgEnHnR1Z1~,quB!r`ss1QUɇHh35TDy(F1QG 0 :w*(FU+""B=̲Lq- X-=x.]PV߆fln k.f Լ^D5׋Qb%T[o߾ ˧O[l|EZ`!Rqqq))) #-|wnx/yP ˜9F1sخ$C`B!" 0rrrD充5< I\?, 7dY|xc#0yút{MoZ&B!`sQ`!WJr_{~m~.QҬGwecWK}HD# Bd3FNB@e -'.t=]R׼[&u5Y;G+ ҥ {!i 02o˻sN111)))oߖH$iiiϞ=.**RԨU !2`nK2nnJӌ0I)Wߛ=z4,,G# B38q͛W\9s|gddC<5  6mYu'ӌ8\6JGmk})޳g/Nx1@!DZ8L| BR}}Ar 2z+WTO/޽QM9is0"h͠7\O)4iQ},~%6D$,~̦5T7FaBBp R4&&Ç<߿ã099W?}ٹ,))P6z{GawBAqN#X(e> !!!3gΔ?Rڬ(F1QbJG[Ƀ<\]]bUii~~>#Fk׮ݕ+W|)S"## A->|`0֮]{cc㲲2gffv bAIKo?v1*)L{4[ v8Ќ/њ[2_ѣϟ??qDpbl'BPo!U Vh}vϕ%$$?99hc|;F8pIv^щ?d 02>LHHqƘ1cd~LѣG"##m۶xf+W駟͛+bGSSJiΩE޵y̯ۛ=3~Yŭn˒#=;z5ܛ&X4O&]ib_hʹ Bkϭ"==fV)xUE"QBBQ (' :Z}ÏqѲ.Gj^Ibn܈-~Yrv3KM|ʿ7B7L@!Dr8L|n\.W8//p\\`aі 4Co5dib އ2Su4>8a;A+CIiB&LI:8beI:L֝Fnx/QεUC=,XEHU>+~>wPH边ƺV^c~} uceD5W%1/.ffLz?!P=X`!r; 4,zBp\y 33L_%eXU322b5! Pz!K[/K%O{uf_NeEm{a-|cK;+3{`k۱^r͏sKydž&l\Hz`m~66kCA,&c 'G:rb~vB\ZlX"IK-HR%{8{_&+e˞Bus=BU}m> Yty!HgϕrssI*_xIVܻw{4|"L?pq]/۬0޳˰Е;=R eY6؎Ee o 9klĢtML aW.hGgZ;ynP'C]s6J*eU97o_|욪gktgCJEB_*;=W^~~ǏK$/_zxxTO{n=9 Ӭ5⏑v}[tp3Mѳ/~'öշYEEW7''[K@Y!A_k'ͻ9E-4 Lc53nAFAo&4ʅ!V[U;DbeeUǏ?~mRaaaJJ ?9t=yU>|uKX A~y@TΧd5?OK>i6oLT)]]~2>>ҋeQqqZQ,b)Ӕ)F ?OP)]JjwOO.+>2i2Ņj` .ִE]=d 4PwZA-`Q<^jĺN3Jj!0z(~mիB!Ԍ ܚ"T`T}|'Oڷo[իWvvvzzK5 \;6iNh|@ߪ%F#wr v7e ʺ{mՖɑJ@\Jڌր&Ŝ{/WD-oKgU%gl jϖTSRM)H c:˕L&/ҤF]MӨ8H$1N^ O/.F+^(P5 " ϴeRA9AS;;DW }<{ް.,}^ۼYZk?s/-\͛y`&'Bp R瞞Cw^p?}/?ϫSGN!7V鬯lT*}:y~m&~i:YOZ.0hAk޹3/ߝqװzv :lp[os\Vտ.tܾLwo=k)=z0{gL ?_пo7A/sWX->-ZyfѴEgd7 3N/lV !RTg+P5c o'MTS5GU+y~ 3FIKbfy =Y7_ H2 :2ha $YtٮOV~oH1}YκoLbhDk? :vX\(>zh…UE"ӧOgϞCsBS'{_SFyy;zcLz Qigފc0tGon>-%G)8:̤]6l*0+4nwCJ2tקˢ_>J:t0g~̻`OٞXڦ7Ң'ō?Յʷ[$F1Qb8Oowtc箽k̪ w>tZT3[lB:vS}M.hD~BBPEEE:::zzzEngL&Ȉ`rv4]'׷MHK zjˏpo N8(!gnjo1t+s/->s.}F~yRQQڝݓ&;\k{/D!| 0ݻ׳gO<^6mڰeɔA?h۹zTrk [@# nzEbbbbb"R}}}'{ .]ӫ b@+Vx'ꚙ̙3]\\}}}eՇIGsLCk0iX*~we핤}bwF[8_~Dn75+S{m-1(mkwWzi eWb#.TogT+B!d 0ܹ믿V/ɀ'&&nݺ :zZۍ "/}7oͭi= rњP( -..qppСCbb?tҥk.'6148vūvvvFQXNd|gW<+~U\i!_a+&X>5'4{ z/j::: l:|>" uttT߅#p?[;̋z},<&WFi3mCow91"hMX{稝<3նC@! 02񮮮r'a>|@P,,,9)"J]W !mB,GFFz*11XXX(Y,1ɔ4vXCCC*_.(( quy~X\PPPRRdkׯ2L&644d2ag߲dV ?;F5C&M _ B3f7BF311111R>f%Yݺud/|mT7B&>W\;H ??f1]Pӣ B!RuPf6(E74P(K.DTVi+Qb%IT'&XnBJ(dTsQB!]EnB! 024`T/R:::oRR 3QA&X8B!& 02-[^noo?p@}}* RHmB!BM+cmmU¢SNL&Jaǎ6F&X!B!]Enuk(ao "&>5CQۭ@!B)kEQ;`!B!4gEo0JQDI5c$APk׮JՉ*mE70Qb$V:r7/Lڷo_jz֭[ >zdAAΌ='NX~/&::̖y) E*6)%\P@IgmH OrS rS!4inkՁONvXb Q[Mw#tYƃijD#/75A9"~^0rљ a[u3os"ʉ|/EoT^b]}x+fᨳ4oBaTy\[= # !5ad CɶcuqBZ2lް'7/Bca ;} C~GRM:Y9\L|.jKɺ_BDf2Ӗ.tUM=m™gW5\#xCI Vտ'm0OWXid[UtpA~Mޔ? B 0#Pà|3,;+X,Y v0,il+/rAo[5Yegl "A{1~!xYzR~G;kšzLjC4"2noNzzJI)>=l+;^vk&>&o޼y󦟟Fk!"3MBX$p3'燇 Gd2=I|^@3*q=+x}F/>M`e i 6W[.%t0jFmPp%>Vqϰp=c pfgϭIutt]ֹsg##"Sg,B I/ieejjd2ԩS0rH{{{>o,>#i,۴bM5&Kx/8#ni+箯WU*#dW2Ps)>) ЧnI뷷VA@JZZq6aJoߞ޿1PF,({z%@|M VQއ[ξK\*PSbIE˿T!+g%Wsߤڶ2~8v\{Jv)|Yc'S 8?Q8f10!U`sI$B|ŒJB~8[B>웧vU|{Ci&ۈ,+znc}gql Oc* ~!T|4hތWL!|֛k NCI%qM;ׇŷ;J·i$''|9rdxxxrr208~[_ϪÿD%/쫩 ]"`[/. l C_ O C OTbJJt6F8ĊTZ,߆hU~bvԣ:u[91<$e$W?oA1cB)6+nTW[+U~95ǸY`{ <ʍ9O?\HJY_ep\7o < ;;ƍG}ǎ(T12S{{lnN%~3*WO;+{f1٩Ч'h] B(mTSU5%goh.9^nVru~F4:#!%w;eNh:!}MjZ+#UꋛiϮQy <ֽ¬S^.,K@Vr*tiyߒ][J_nbQd>~#7jUS\u^)]U=Q_l]~RJ'?JPo.E*^jkkv*l@uuNP嗳rs=" p 02 4i~ޅgMsӾ,{XG7UN1/ Y:^Yrv3ޯwvC 1цj 9{13iWCz`lwvÙLfYY0LK6fȩ%ulSe/;(_%]uiNLjBδ=ᓘR>u%T!Wۘ9:8˸iÎ<:Ƌj2qW**ͬG=*Nr*$RMB)ZEȋMGPyZk)Jک)O;A%vNy~]糝g_/-;ɾ8FgVVN)}Qy\yqqq۷'~6F[.\;ӇVCo^ڟ&}/#;Y0], Kώ߽ӺۛL>Tv(dɔ#}^ P:;ٌ4hi\[5Re;x[TDX%s`o5< R!.Xge^P_.X6ߟB}BzMeG!PF6o+'Mo+ѿ5p'֜yP,HL"Q>] A雄 %aRX J}TI_] aٓ;ʭ鰗G 9_?==·]zO!%mVN S $[!!!ښfXX_RaaaT8殗mV<ق-GDžSfO)fβv,* o F511S]_lN*ձvlA+-˺SC 3fRVsSM|z8hkteW! %:RUy @P p,Drj2Itu oߏ*<ZROW<}姫^( Bυ[SrJ~R[0TJ~L7"oDT:{ͽZ%mVN S ZQ˕"E"~-;_ES[.V~n݈-/ Ӭ5⏑v}[tp3}Bѳ/~'ö(XkE1틮nNN÷&BJ!xec .lY,+ N,TRbc9{2 ORC!BP(݌ErҼIW{OO[c:N2MAz[&.N+0@TZ,e2)a ?ހRMW-Hyr%EtVTª_?SM"G8pã!V4m7 o:AHu4 ~Ϊ< V[Ud2MLL,T,p8vIs-V-6q 'le]xS.x3T b.Wf螶4 /ܳ| NJV-GmxZ>V1 WlI-ڳ%r"ǔA)1?ss?}ADvoV/IASlϬn IDAT4^aHq.^(m7B#ٳg8^M@:TMh:phse\n-UP-}/?ϫSGN!7V鬯lT*}:y~m&~i:YOZ.0hAk޹3/ߝqװzv :lp[os\Vi.tܾLwo=k)=z0{z^݄/߷נkn+,A -Is z^ƶvvdRB`[Y~"VUy>h:>o5= "ׯ͚5kҥk֬i(m%uNB5׏B"PT0M;|Чޟ6m#nܵsYdۧRN=jz1ҭgK7 B((F5MNN h3gΔ?RsQm]/yRbmK\j@Ψ<\${J5 ɔ$ %n:(Fez:::_Ç&+j,QisB 9p 0d```nnN`aӣqhmV TE 4p!Bp\xꕻ;C,Dd`!M6p!Bp\,VѪYT/q,D*njh3KuNB9`sB *6p!Bp\ U !e!BU 0yM is0V}-셴8vhKΞ7m$]8im,nɗ~O{ =SoWB!T/8L|.jp,DNX,λzȰ3[hDS7xQ)(HPpz'+n# U; B! p\<&X X*8;'hagu5~9H>^}ff09<[0Xfn#~َ{6 my4\B ES0ц/mh9iI =>:+KIAG2TPcɗu^2D5[VV:u2dǏE.B5$|_ mT >>>z"5 o%UxF1ъź ("LbW΍X:ѱSߤEO_jnejTsHxR۷ZoE.B5$|_ mT lvi 5 &X ؐ{Unj[RMnKa?~aE&ps.t?w.Da޼y~2rB5O8L|.jp,DZ\LavJ~.Zc\cMz'[3HO*nڴ)(("jp\<&X4` iґ,4pc`VUq]x%[F//}b!~o{m!9&>!HEO`چrbDВ>];Q) B1~6G$(%"FRX,n!9&>5C7B< /<9Hf侸wQ \XH#Hz7F4cԹIYRf IwB57?rp8o꓍~ wM\8f~'; .X{\Ύy*1pF;](z>h'0)p7-3oE/;#f3g%Y6P'ﺑ%Y󞮺`ǶsI82EwuݚϪ5^Ih JIFZf;p覊z}c#D"op L8L|.XYYcǎ7n=zTBu##<5Tx~ێo<3͞r󷲗:κ.#e }y"! GU[v0Hi[h4ͨH~(/>3AEIۜU}wXSSg;/89^_f3[${|=`V:G ߧ1}Z&0gתM_뷯\Ę;Oϓbvu3dWo{ 'möBȷc_=yFuRT( dĉ0I 0`llk8}taalT5 % :Z}aEX4煏o b^̍F0f\_ h!!F~ ܹsΝ 3foΜ9C܆}06V@*zvzf\Y=þsG[=;zī'V\̫nh=r]'r^>-%nϞ;wvoKqt\̓6z\q|9PI?g钖ۙRONs3+5&z9YB)@+/..}֏0h˅kX}ЃjKed'+%ai|qqÖwZw{3Vɇ L8tpĀϋʒBg:u; _kzX Z{o*d}V|}su'AǖvhԠ^2B \S ̾|2q=L`![~V9MOw ƌs`UQt],PYV6-aZv 8U ,9y Jl;yFJ(BBB5&B1Ô.ξe{`rsܣS 9۱L!tX4B1LSk2~=o]֭dk3^TI*禚m {]SlWzo_$"cϣy).Ԃ| !Ԭˌ-`:z~mQ#ڵkW%*oUj ,44ŋNR"PAF p1pM@ www'Pz!D=}a_d9C_f,EO' 4|eleOx^&T*Ӕ..@pT\V$*?(X4eʟQTJҭGnӓL!LqaGߟZ*oUj j톄!d}Qy8\#*''dXYqIsBKV-61S~N)Q7EޣlukJ*q1+i3vtO[sYX 6ûS#7_HcL-/U ׳E=[R-GpLLJ 7X -,/w8&/ҤF]MӨ8H$1N^ O/.F+^7BQEB!)\.EUVYvjٹ56lMg}]}S jYՁ+&,Eحu̞nA}V|tʕ.woawa$iTZRid0uy̧&[jғv?\3kSz˕ͳ`p݄>ѲM;UW]t :x}= i >=!aӤ9b_EH/c[{Z2)JQ!\V,?ݪU^_ !B!`MׯD0w law} OO8v(aFعko5ݷO"{c [ϖn*"B!<\)IIIUj614ixbMB!Bd3d```nnN`aӣqnqd`5swP'JNY[!3ֈW^Wy8[B!Rg5B XU7V"B!Dr8F(hkS74m!X}Qy8d;`q8T 56*4i.JeauzəBM93U"lm,BNirB5_88~B!"9FB!Bd3ajjGl!B!B!u FՋBDfQQQ}B!B3Kx!"9&Xx4B!B3U!U*mE!BYggg+*yrMI!J {VLBv]GH*JE8X?g$LHmGmQjY+}9mRϧU'JU1+//ɓ'w}I^^CW=LE/ϩCƕ?'slΓ\A=BErF5 "Vswi[Փ$ݺ:@}FTqa̡Grfk}X{r`U1@zp.kǶ'?o%;n֋l,SQ"*M;\Tjp-QR$IKҫWfggmаԩS-[۷/Ū~4/yCC/n{Oah39ZC!D~|_ gTQFie \^v˽$ƽq%|waQem;3 HHkb`Ǫk؉v*JtMAJ`|s=;g=}Wݬuk2;"Y1//z _9S|~\ұGV<y0O?e?嚇i_8?.lAEdB+'ŏ,w=[Jk~*K'>[xq>g/B鴟EEnn/_IQ<<Ŵ'Sv2dց7g*7HwQjZy)iQ[k I} rmOpS!:xikqTs_y@(:tPBLTe'/ g`ښ%ci\In}48'M g8@eȤ~~:pdT*SEE&ތdޟGک@uGݗO" _;nMtO>C:hc&8kuΖgF/]<̍РŤReUTi[^ɰJ9Î)So3B!hsµ <>>ѱRr^g{ GM]5nۋum*Q! ( x, F+OM?.~5,J8Bx<ުUK|Yn+/5))'9\r u%2WiSr>%G>k0nd y{<6PkоϨ,~F8h/Bs8ʅeGgEdGfn帓ߊ,()VZ\ alRq|ID(U|iޟh[Wy_c6f"|p) uK*?uff2WƽۀɋzU\NBTRRPM:* 0=]ܚY7XG ymDDnIJqE Nqr Pc@aj0nyx&?YgYQ)!P#P gWXQXZo$?%ePZN%e$ @a |۹78 @e˰rIP SƢ1=F=9fg# J&u+P[~+/.9fNl05Jmk?v^2Ry^]B-/?[X9 Jʠ H Xf]ByіvŔȴZ|9p2|q_%)< \*MݵF 1$Yޫ95=NSw믞|tEu^.cTJ>NM!j2| i,A$pȢSEtͫgqSM}F¶%$Y{" I(ͬˑdRإ -LB$66\p>}dll\U=&/dѧ{7w{a,a^eT[gճWfhs{=3wt0c%!i3?KAY9 n61HQq_Q7i1{whUI ^4'[ߠkT0o-~r^K+vP`N3C|H˚]5)Uk5eߌz^jn,QRteZ0Ge۶y̺Z.=~ngZSA5l󴮽XBJQwCy))n3YGT2烻hqگ]!دL3w3fYε*>fM+{f ~QΜg j۸TUUuuu_|)\3>t1"%'ZO@7}@ạ1馳hɴX@!M-gM Ly;sACƒr(:6NtL5ڵ۽{ZJP@o /\=CDKB?ykA0 Th`0 Z臡M8bū@qr +gk-2ud%6"gΖZt@o!电\&*Z:<$<8:clI'>[q(Mw䓈Q4:tXq;lǠL#'sZϹv[+VBRR c!‚"4ױS*`s{h]FqAaerNVZ eKBmoKQ;{I]FU#??]T&o:uuЁJ'.1cƈkH5-\:[\J SǮuy_ZA-jgSS5qc+.ɥQ_ljFF`ٸ }Uq? ފVv@Ԇiױ䍝:W.QpR7EVS|tMN]+F+ljuZ NU@mٵkyEUCi Lѣ޽c333EE¸8CC1c0u|֨j8/B: Y+E2@y9X. $ $py$SXC ,m&B!ׯ_^^^|||II'jZ p8N >x𦡩JjN\\\m BfGEE~!$ gڶݶj-9,/jխkgdeeEFF&''gffӧmll%Z"3Zj#egg?~< 22^GGGKK nݺG;;=eBfET`` ?B]>>>~ժUiii?y͛ITBW3/j\\\$BH®]ܳgNZ?pΝ;{!Bg_|a,To,+((f%FUG-SΝۭ[uVcĆB!>n~ŧF-\zmٵիȑ#ڵԜ1cFpp0jhhoz6aTu 5k͛7!*AA][.-&{y A$,--ccc}}}š&^slBͅtV/Z EGkc ~,Tw"mٵ6==}СC`{7jԖ 4ѣ$IBo~>veږ?[RL$I޿ذa߿g0sCV9EB: Y+g_|a,T'A֭[U$h4GG{yy6tFU?۷oT*l,SpvOdp}e22ʻugϞƌ!u`5S Izzabb)S痐`llQIOTvر|2X)v|,ZWr2a8x|պիWoڴ)77"F!~a8,] `ڛrH*Pqa6=yd~\Y1*ik׮ |pCŃ\`` ?B5ڻwƍč뾏޸qc Ũ';;;22cǎCf(__m~V|eOvê*t%000??1bFM)77788?N:V~cNb_wn>|2  Gt|wOM*j$YknVZ y sϱd8CGwsD6r 9u#/Y0{{*yt{uRK֠8/9QWg?HЌSGHSi9>>pW\MCtQ:]( y)J3aAV ktuuSRRv MLdmzgΜ1667o^7w\###c`flj:1G;g \&Y+G7eOWTiECNiWYVI0i 3Oz:!3^%'\Xԯf+}N㷽a+SƬķزs{56v? -n~߿1cƟq!IPm;::D޽{Rr=vnmuL !K2NTRĥs7Qa(t80^Zi ӿ<,Es8rS^=4?VW:"0M>UGD 6w:;;{zzJ({ĴjxNԉ9;g ]&Z)ؘ>^tc$9[~eƿBE9f'-AWP#3c6qwu#W|s~WVVemm-\01_YW=ެS5*c9%ֶV3.,,EmQT:QT Ho^nIj*Oo 7* fh>WLkk?ĝbJI(x9?9F!IˋK"ipr{4FF\-޲/f{ϘuR J7v  ՚… _ \… gϞBm⵼E.J܇4 Ys߉*ᰋ|߉z ELfggW}!o=}߿⢬,mk؟˖.x缬N|$~ _'ccc)n!@}=\p3QG!isrnƕ1?ģqIGG;wdH9ѐa(9:{طg*-Ǯs?8MyJ<4줣. /=?ZrtyyRb E'IlR?۳gݻQ|a>J8*$_ ~:*Bb?W>|)f2_M_1c\z5556F||{F!Ҩ5M3~ǏO>p8? yeT۸zwq5kzzwTn* :{wi ~ڈoMaur/By5 ߯$^OwJY>Zzf2~_m}wr5ɡ??v:23+E*߽шN]xfκa':qGo>^MM ͝;w u•+W.ZHIITjVzKwFc2GرcG@@Gvܙ3f!Bׅ3 ߯B.]![x+Lņm՘JuLBI710 ̤ReUUi~{fjԲ{?[[1\IVus(JMQei/E9wlkXyRE͈]k)`0L$ׯ_?{K.o޼a*-cX/_ԩSPPлw,FU?~~~Ϟ={a)jyiD=--<} GMdoԨQZmm#GG!$Y2`K/gx(3q# *6!oPJ44fћS>)RP C-k:r) fxiV ;仺GKQY(2lkk;{eŨ<|>}ݻצMz'4422zI?GGGIGB_qWORˀMGp^|chu05鬬 NqJ9M_#~D2фA+#{9ٞN Cʨx~8__߸ZPݼ+8dNQb1Pg+ϭ!I3//=>߆2"Ó"5nh-zUڎ=ŋهrqq9p#G?.}ܿK. UcV9EB: Y+g_,&{\'=sW֣8Vٱ픘>۷uT! UNO&w}4k.> Cwgo50m]5)JnesVݏh;kwy$u N qKd/tmݣS{X+, s+ʢ.E.-R zqEWiaLٳ͛7̙3qĤ4;vE߿ߵkƎ!FWRLQ{_ +*8,aho_KvIceڵQwɓ*Z&P^Qtq#:{\Ne7f J(Sl`(GFﭪD!Y & TXx?۠dͷf 8tDД29v֭* SqedʊޙrfeZ]8 ~B`ccÇ;ws]t{TVVv+Wܾ}{ɒ%ӫD!Pxذa6~/666njkZy[ SLyܞTES׮_v5ƭkҲحRp3m=mkQ(&<$X!>:>I&>}z֭cƌpWWl޼?>C! 7VeǏop+asu:"AzTTTO>}𔔔4pwwӳSTTt!/g_2_|,EI$\\\$BH(++wAQ B@7^:ujDH0 jҙBwARmB0 tc+݀DI: B!PupnHR0B!B g_[[?j_X۲kxm~~5Ƕ!\H}A:k p#7_G`` ?w$Y 5mٵի-QFI]FwARmBet `IIG$Lt~pQ!q~ !~]t)"*ϟ?铤@377tp`5_ !~%B-_DD`!BG۷t |8n.p tY?U 'B!BI~QOBƍ-Z$X~033++HIǂZ>}/]$XX*tGJ$ BpXE͔ PQ(˗ŋTé@D\\DEEnqM|r*JOKKKKKxzҾdjCGyϥVB#j8,] ~Xnu<O۴iS߿64g@ѻ`-ԞWd^B<n~:wAQsX۲kҥKau=IXJ-&T9ɾBG۳c%$7Ac|*NuϤOv5)%a%ZU9my='^‘5!$J: Y+_m&AѣϟI?$Xy°Ն dÆ 8OòDR_AU9ɠA/' F3h`[<_0{qƮ2f;9(Le%TQQVL7 WiBg_La,x<ަM7mr%N$mllY5L$9tP k\#3c6qwu#<@7w{ +&Z0k !P6 ְa$2&E&B?oϗtUI:b7Y Sv[5)ܲRBNze-FGUGoεd֮Bz``uMBI@SwBL) @v J:!C'JfR|JgݼrPr,B t)~,j5k!B-+H_=3^ ~1ćRWO`KysEVqx\[ Ҭ/zzIAhBHDy;sACƒr(:6Nt`Щj[6yz  "ZU"g%$I!Z~Q3)BUԱSqtM[O:--*f K+3)B藂kݻ,p-[n߾"_B҈ F!I}L幹] KKK_$ $j!0 =QjF`I,NUJܯ|ƶ[[ R}<Е{2dn\'a_ !BHZUnk`5_$XuhI<.WVg:jTxjRRR>^Zߩ~62Yvͬg])Zj B!Tw8${ĉ*UiiiNzmBW׻_$AHN'^N9kC!(d5u\}</+?/+99lJCg| ɲ赃wwj~Ptye{|glеL0erm6oYka{s{6뜣E6 Bz࿩t |67==Jz{{3 ɓ'߿Cϟ?ߴiӱc)jf4[Hn1w;Ȥ(X|睧*90eM)^™Ȣ+сdE=z[EnПoDIlYȐzWGܯvH[?u%&b.Z&!ߔ#P!MOOONNVVVp8S=h455艹 _zUXX`V`` ?V-ŝj57mt˂"KUQfR4zC兛&h*,1w쳸<Μ-[hTIl<Upn߾}΃aieٱa_@딤^ϘIaz҃Rv]a+6mTj=`fSgV ^Kw]^B!g>L6cǎ.\ RBB½{fΜٿp~yffEbZQ~bGRr1i*S٬(6zSN"rSxYOB!BH@mn^3ddd :::T*UUUU__Fz\\(++6bvڅ?ѷ4W˽췶Ǘۏw7IyyỹUFn֖nCڕ>>$ $9 @C@? WXMo% 7*_7LY!SpktM1bOeI!0#i}ڪyMtBQ="B!Tuuu^z%\nkk}p#_c=ǃ_lᒵo<.hG9uWpC<(~TI- dםҶόRڲʓ;a><-mݺusqnZL*K<:g{Y?tcTUUUU4LWDurO &TY%vmѭc)1}oZZ&dyyS|aW{U!B6:uqq{^mƍ~~~Umll.\p}rucP|toߜy5 Mnw}2Vpj?Vy_Hղ1kn*N潵SSbw}M97<ثLY>&,jG+/=ٞ_, a1aÉ d-i3`|/!g9+(yHʨ\Di5A`P]x?۠dfE6 <1_Sa!]Zt,D4MT{rEu=ṠN &KTqMo\`8ϓ;kJ0?$CZjl\-B!Z>6:8Z[[''' sKnnqqIIIVVVZ eMGт3#G񻝘rmĔQOӑ7^,Ry Fɺ;umJcN:jxx踳^]a`+o/C 9'NceGG& ߴ+^deYx~E H?"`DȨYyth)˧""ɧ֏CDjP:`λ{WoU!B3 ܯ~dddt۷o7r?Ȩ֌dr xp[׼VjVn>L܀ =8Y {ؐJ߹mdc,O!e ԨeYe)7~Xwa\|FA5;P;oYDwqgkPގꮂW^ɔr( mF[[BAPF=z5>GZ)!jpe2U۷<ŋ.862JחGw&zMn*,zs`j/7[ssA[cJCJtq5҂jW ;K9_J@`!BqK2SSRRRR⃏_,8>%%%%%--Oē1@Z5剧6n߆2х?Be}۷ms[ګ|c)Zz˶۷o#rlmh%7pCqnǀ_4@~,0NC򒎎w>!Ȑs>sϏޱvEDT5q46]dg?/S̀Ͽrxhh줣. /'?Cu=_N*d[=>njlI ]W玝ўwL}v^λGwwl-VY+.`]Z8u4;⢩7  "RJ<.]U~>ߚs?·C5 k IDATfݷ6k.[yPS+">?n !?j7gܫ.0-2͵{bKjJ+X(ZzxZKE]9~СCnZ0nR˒5mAT)maS3L3gPcB!U$XgDXsWKKd&%%kNpC*822O>J\\\*y0kl@1;~7@q.ၡ)erv[1UL++:bZ] 5Qk$XE0%Gәe`Cj3*/|:EKg~?۸  nD@pDfHip?ψ[o G}.*4`t3G~}Aĵ,!`躃+K~yvxEieذls|J&]B!$Ye2eee?%RaaaMy<^zz~im%TNU0imRs{V[/omM]V|aՐ/JmĶ HˮcJE2jV>!VжԶEa XPR¿Ez3 +̓RjŚO/;_Dڿ,* L<]̉)22BcTL^KikGc׆:Θ=_Wt?!h̢7[.|SGAz;Hؙ]5qՉG\:7/ԅС<} [}?u ]PmBWk_33L݀(JzzwUrrr111?iC3lcXJ!@͇D~f~I&Sio`\_|BrwQtdJ +ܒvլB9ĴJ''[c?}E\KCdQUlIdM/ȴ)?<88877C9vo;#|߶}s Bज7uW4ɠ wG[PsV;7JL͎λH: E v~EB/0Mcf&, \b=NpSxxHaa(ZM<-mݺusqnZ' ]B{x9m-@.gV")Vӵj%3uٽ,,МcTUUUU4LWDurO NkJ[abH3gϛ7;w]SGstnf]f''¤a /̼>}鄤xVʆ^paQvf::.m p2Lcˊ#X[ر!F {{nݺU255}}qqq6dddjn0 B]ϥ|M7$қ4Ba!]ZUG F6$fF%*g^ͭD^ "sHH7_眲+V V[aoe{lĈ.\ۺukAARR, 46 N7˥(]=&Qs/xF1mh$qd]]r[' L^sB|"˕[!Ԭaڭm6nB}RRR ذaChooҾ}{%.볋8`D왷n̫\nQv@X]eʽ+ 4|j0Yظ[A9-mw6^\=ͨY69!Bވ](ma*f%/ ̜-K}TK  Iy,Kg;V+F(Iײuk[cN,Bi2mmmjm@QvYYYjGK@%*QL]zX7TYijh]1|،݀w @CiףMl f6_Jl%{=_fddNztv㎦Ժì e߬BATiaC'5E{Q ɽoq[[u[r5rI?=#}m>zʽl-'Hr,Ԫ؀vvƗQ P1CES/S4!x<^qq1EQBEkiSm'+qOOIJr)bp'|')$wԦEqֶ8C m癤r *yW!]5]v鯚ik7{~aߑSמE8hZ-dF_o#<=}}IQϒ_d儃E[Ù럼y[9aTNtf߶l@-ɂ:/%E=?nNOLSOd@N!i<o?xuuNS 1!FINN|l9A˗//^^qd\ܺݦ˲Z5n ^ӽ7lS=7zKvuli{fwu:ԷKe[ B\Y`F_gυI2O]sAJ1ȥ.x:-x%}qwЯ\>T$>5z/dSK8WͬbXAgsbCFT8l@LlvF3Hz2BHq ;~ʡ6:5 veWwʹ&Ԓs]΁]+VLqabB} %|[nE5g-ZP~!f5]|(%)-,(((I}|fŨ׬n[NZk+>,U*( ]Fl/ǫ]Fm*$.#i TL/zvZjjjjjZF5xyiDž$' zdJ:Ȫ K$[K Bݤ ? a+?o=սE!B`jgiMe.rvo3. ppe\{͙Y{lof]p{p?{˧7ϱ*Ҏ̛`S_g1 ވ}u%Lwoε`nN:c6E}ƶcKMiLZu떍]zԷuh9OfBw.0.B! .К.jjnUrT1-&}-Ka[W2ѽT#mEnt~Vhh跤1яup1q - 79\G1o|-쀐jgt=#K }Uk[Zc~~L.۞O`)o'{B!?kVnՀWm}VX#UиĵCk]˧h-mLBB!TkVSw/B!BuQt_6ݓ'Oi2%7B!B557V8#ܿ !B5mb6֬vQ3c>XU(dB!w f5]|I7Rw/B!B]]Drƍ~~)/q퍣_B!4fݒk׮M>~iQ |Ɂ`!B!0vI,--Ңh E"D" nռ ҨB`[TTtܚCTPk/ 2%hIHQ#bv V5B! dBi&]6cddaaaU  TPDo3`eIW{fذ e߂o6Zh~dH ΄?*h Mp4B驻 -??_]@aXer\ d顽l!ñUP$Yν@čc/^{"̿G*qkמKl^d] 4:ooo;;;u!FPw[s7Bx`BUe\ 4^~釬?l-KH~d{S>[oIa~7o=ȫGM7x\ym[pM=Fo~PH0H˥~}doę..ebp[#ggL@-M7B!BHaXNjD"JYڥ,Nݍ2e\۱3} رs.f[̡aIJ>o8,wl5umx+3_n%]ya҉[/YΏ "Zh![KKҔGga-|˜#g\ɓ_IŤ0'1>$$>t\o܇.*jWJ(F1QuEB󠙯`U󍍍fAPE(Qqϖ d_k2d[KN롫xdjŲߚCc[n9mˡӹzz|Atl}Kw{_:nX9^k-ϴ]Sl,kzE JDDP.i;967-M&XuO(F1Q+B|̨,Ν;߿_@ XɅe%SԛEl۶-S Vڥ"`֩, n]h6=im~F  ^n""S+:[hvUK A?3i;]Om:8.;iУtҴOCt$>髹'{Qtr1f`&8WU6qZÁu*}n;`y{{!B!URt2j GGׯPs^56^l>]eCO+>VG8ZF\ҹo.V6iդSC`,hBHqQQQQQQu4A}0vmllRRRT[YYq hBHYQQQs$F\'{}vUiG_yi\vMLLX,Vu ,,irvSRK !$ɴif̘Adӥ*n,}+D=7MDv 򊈈Pa!jvo!QbUciD2}#G:thbXzxᠠ i*XeDӂ.N , *?6ĺEe/LᙝlqhrE͓R#|̨,7JŪ-DKݟXc(FE?ۑ#G C&THXf#6[qp̿h̦#S_5v%0?oo9|s$>y2SCjk]@4!BCĞ={ ƾ} !!AZyj}{A7 IDAT˯.W+(o| P|NХXX붮YGz4Nh̀ua5'd'R*0 Zowu\ Y"BH[nuV544NAEAjaG Jޕy,Qa|vaҖA<$NrOGFf5]BH @LLLppkN#tΠ1 "Fl. 49߼i- irΉɴ*},dk5]BjJJJܹPX,6mڱcǤ;wnm`zY`; /ӻUE˯.gg۶e[oLR9@~xOOOKK ._DǓ>={MVU|cA[aawBpɍ%/_r׌}zmli{fwu:ԷKe[XB 7JZZZ-D!O:%[3|ݻwmݺLfHHP$xPep70yrJY ~/:29$!fѐEXN;Yz.S1ZrNF57Qe B!rj*/۷Cw1H󄅅Lwǎտʾ#jzusyA5]7֬vzRA5F1QbT]Q+**Q̧O;*`0Lϯ"H***uYOo:~4݌=wk]k6&X͌ f/?QbUWv:Ty= װa l˗˗M]qIݽ@qikfFeaXEjԲee˖hB^RwBiލi>>>Bjzxx(ؓ9s70BY"5T|"jF ٻU=f[_q.]dgg'''+[!4=y QTp[PP"jFuYEf :400f9Aaaa hjjڦM[h4Ň!,`p`BME[[ѣG|ѭ[BWW?#9,W@@3g臊gϞGEL֬va!PP‡s뭼]p5eQ% 0B,hjbOFRXy󍍍]\\TU"XgC}}WʇZ2U[/::g2P,945.Na_[֢QLKwtpf |>sF~TZ4amG}F %")(ӴƜxE_ 9իWj!4j(??͛7+su'McddTŪY Pb,˗+UnQQQQQQuFBeW&VvF ,Tm`*M.p %xUϋضm[H-Z1c Uf{} ekF,ho /*@u9kT+n헢(cڊO' /FH(Z L,1U6yTlꄙl;[ @=fbe驥8t4 ^lz5ka)]uKSKr ,tgEpp)Z:=_!Pý%ӏ9rСٳgbÇ:$,^̛:UE 3xkKr~1~_Gsp=;zJ>C{Xg-m=޹}zcն h-aօ%3 -|snDgXr!Gߪ׽ (F1)?9rDz`0>G?`{GHcjL_1{ú2֢1&|t]YɟxyG/m}\MGRuvZ݊GCUj]bqeO߱:xhqIE}>}5?qc2*x^.lqU|ʆ8Nk|8p^5u(F1Q+izصkW=9r͚5BRn!k,֭[+hmسgطo$$$H˃7oN ?*!IGyZjŲϊMnT$?bm?&x2z xz58:l:Ӣ6 Kj^˵)u5fjfTbA8::^~] йc/tm^62r֧m偕O+#F }jUCF~Tlŷf+gjVBe.!?m֭[oݺU5uuu U-FI$՟:Iߎ/ͧ0>0i ]jdE!x)# j &kU&%%E%:^1p 0B!ςzT5`E6?^t={G ǀw -,:1oz),]L#hr!u5gbbbm`gI}畳, 4B!u/-Mv1顫ΝM$F L .%(W+C m癤r *yW(:(|]*JbO)3\ph4V= """,--UU!J{&nfׯçOR A<Ox!!!;p` 6n,=Zs'sZy9N8]muw_n֐]\CemN!VZ@1-e,'h !Ԅp p-..Vm!jl!Jo6m>|[a?k׮ kǎO>rYqw ~koݺLfHHP$xP.9tZy?Tf՚ވ p`:zps*2 IBʹt#? My:Tڲ˥EL[?lZ8nr_XfBv/hwg;v쐾RggɊ pod.)qL];~\sU-2l۵W@i#T 3!迹{l:Qˆc]ޒ}?!B?3U 0B!5 Z$p^HKVv,Ob0`Ŋ/K_ .UR.u~QbUWTV-]]J bbp>WQYx`*>uY(F1Q+Fuz999VlŪYVDfjfTf~u8 ,D BHfA+[jt=΂_BH0(|||wBTF!gA#P prUtWU!jlF!v8 !f`BjBQ5gggc7BMSE!PUy !IӪ vU!9r͚5Bb)Ujt֭m!32$O~VimT"tO/eɌRrA Ys|Lr>IR辋uIa!&Y!x>5w=>xj#hLR_dyMfFj̕S}{̽+ ,)|rxZ_)Ю Ȣ2@EyEN]S3a!&Y!xd]z5"Qk7l^^^uTY|xڼ=<&laNv[~ŗ߅1>/TY&nw ]e5_ ɢ۷.,\o&驻!>O8 !e#""#;*Czfos ._4׭G*kdM#$Ti<<,9XѼ$AꙥC[Z9i{D! 3SG+fƦ6C_8+tujeediѠ^.&fNfLUl^v.) ЌN7>zkLwמHaNrBz9&E^d#7<,cV\QRxA oK\7+K T]\bŨ΂F}fjfT&pW_`EЙK(DQQEA1!vEriuo~Fk;̾ހ sgḼC=6=cdţQ sk= W@~l"")ӴFӻB;8:l:Ӣ6ilXwoB&?v['ωL z:UxJ _oog-%S;3 .L&z2գc(O ?gӊ!uj{_,Rҙwe!?Oa%")д[:W/HcEFF.!4΂FƠqk$իW˖T;CߕǾ)Pb H$@->h,xQ>Glvr $z7!0y{uyofp 8p{o\swGCv?blٿ\[d`dhވ b؉:ԓ' y4ӶN,rʝS`O?򇰝{/\ՏAn`='b#9^Y:/Ny=|Ay9vs=G3md"0蓞񑱙<NF5~ #(8 !:4_xQ^^4k=p \h\ծ6Ԯm\&$K0cڶ]ڳu偅gwȹsf듭v6UŽ kS(ɪ*d9vXQYfjt6vih'4fBi#G^|~{A :44(ert%77͛7fff>~;wHwtt<~xyyP(R7*ĐRI+b_}:""" t?/}V=?%|O3j`MW7!EQG#v`km2]\]`|̨,[\onnm/U/KFj~T(F1QuEF;w.|Bheoࢨ;/ڏn⣻F8q2?vۻ{UE*1~;t[s4V t5t#EQqk;˄ԪCu 55V34=v]!Y!jzE$9}to> A߿_h02$g\JvF >?GwKp`VZN>vqur~̆5nH8EJ5!PӓH$ӧO?rȡCfϞ- Ryn,vig-woebcΈ"i diѯ{15w=dg{ٙ[8wj[D! ʹ~t֦F&C%$*?6ĺEe >5E3fvjI8W'[A[N~%g. 0B!(?ܼy3!!Az`0T> ={Ɖ7]u(ޓ6“]駾as=篸}n>yzS-^Nht֌7֢1J3Ǭp٫ֻTYdj@eQڱ@PQU"{w^5 44T1N_+SűgnZ3yզ@͋ 0j2x`Bgo>o޼Yf"׮%?{0eVt xb螨<[i`ݭ $sNV<0ѣUVHHAd+4-]}:L0d2)^lɒ%AAA*w^#vO9 6@KfïGQ%%ŊYZ`JF!4ǻu[nU~]]]#V:Tƽ{Diiɓk3+9Wew5^9jaUy4F0%{歼*W[Th1t!]qOn6;j(w޺ׯ7A.Ttp=;-`MY  "E5 P%!jzAx<ٳg?x`ڴiUQ%1+WJ\]2ܹD~~m'2Zo`g,~9 ^ӽ7lS=7 kp~=Fp5I ض;to .˶4`h//sgNP;sKSj_gZw^S֥AR  f ps1Qb" uV`2!!!CHBCCWvW_k֔M8aEq,OVZt1oLsa)BO#*3kS '<{S3wqw4b@h9$!fP Ϟ6K NyyyyמEo=?u Tߺ6Hǭ,k2]@]`|̨,\P%ծ F1QbT]Qi0رCWߦkWAP'4Ϣ^DC=`tɫѵzXWXx9w4r~.cTΪ? Ν2l 5a ~~( %$:9XFRkkfFeaJ!jb9J\ g<`^;٪lεm* t˅C~xVCFG:yK'Dz!Эy5U5!PswwSPNGrrK}x珍6k]bU!%%;44׋gCCCP>LKjyQtf*22Rѯ4"BH>SQLLA^^SԌn-c< >TF)DE',pkF!|=rttlZܜbE{{F R9\dCE#Bi] .{)Ov 5 VNJJʽ{pY 0B!PеkWs5޽͛7eKp۷F!B@+Q(HphB!>oVZϞ=%U*Ovx )S}vȏJu6S5<^5j3Q1Qb"A3_c53* 3Jٳ[R7gzxL8Ĵpoun(5|<]AgjH SZm¨3WLȽV(ۗQm(F1QuEB󠙯`\JS^m Ʊ/[^kSbkמKl^>et~mu@q!J fרˀEC#banِ[O ν| ÖoFg>{Wůx:yJ*^`cG<( @suvZmHQZg?|՟{'[X^{`F7=GϮ׬#K?EN[FX1ѳ\kv,}+o˖?:G-.Kթ1Sk;6xd;vs¬{[_94,I@ ':M'sr^^<^w8 |wemD+/L:14qk7bQڡX}7+1Y!cWD -dkvڿsgf3]Ӊ~lGUC`mR  :nvI E6ìс§a)CϽ{U1%k5['e !O>fB!a>m0%*.r~-b-VLpki=tw?LXVs[shl^!-t9t:WO qoiג^BqqK +p }>eVI鼰%#:9О^]yWwюaգ/?&)(A0ijܴ>jVZ..lŦqm{ 6U?94 3!B}0\ `J ?,y t \wU)551kَk#~piKk+ncTĥ^ٽڮGߘ4|se'L g*7۟1EuGicOMIM;Id°JbۧW~:ZdW #B!y3smߕ"Y`ر^;?inxB | < ?{V@"""2UUgZkqu9Z'VqjmUZ8X2D {?1@ S{97`IW$~#0!DOMԌǦ bOϗ2yhgM2$0͓},TlU.l6Fĕ00EQ=F^~;uVWaA;SLdO.(].={̃Bi7gces{i3e( 0~ GRA]-|V<'m]Z׾fKw~Jݥwޟ=Z*|M 3"fM.dV=C 5׭Lw-k!u wY}/BRG%pf73w@~G}!}%ʧ\ _^ף_N>.y_QH @e2S.:.ôՉSx%"qESP@bT5d賓xyxxӧʪ6jqEUxg뗔Wˆ<(eyWiqҽ.>~*|P`إ---J hgO޹lޱK[<:&Y`ٺc{gVVU.Mzra[SUG=L4maǭ<{WczgΜ8qbl;s*]7 )RHC:jŅO]=mUm^@Zu$'Iu=Vg+>'<'B)Mm*mg5Ѽ[mx\8r͠{`/*[UeԾ򬊾(gzîAﵤiRT D)R |T0u4`hX ߰i0@\su4`h7Tklp` p`>A@\+Ϟ=^~ rss oQ$<<ͭGr>?PVD J&&&6B0:@9r}0諠 ,{ k䴻XH"ERﱺ*`9f)RH` t=V7SE. `9@ 0~C@` 0* @@P׽@s*ܯ_* k@ 0EQH"ETSﱺ*B@N`a"EA7cu3U 07T@ 0~C@` 0* i 7TPoj_`KKˆ2W׮]kQh_ݧMVn7n܈377#G6|66Ԙ=711Q(R9z,NR'Tt^N?郶 0謆R֝ڜD,H$JK$u;J 0/1Ww~?y~rm&=[ !D?Mac(S~ЙԦrhEM+¢K;޸t4oߕzWգi:7oGwȈό-84?*=ߞB-EN&u=^s f._Â.@tb~MӪi: ϔߖܚV!mSwĔZ6se'hH SOmR*L=pdɂ>S`&|߾5g=s](T*.JDY[exۚ|]__kx)=ˉ4 *BX3v߿ `Y ! CkdϦ[ucJ0yo:XO}ᴢ)g|q364?y{ϧ&0 0%cV'-<tB P٥foL;:ʼnO(ȧ !$/k݌8l3[ *Ny$Ou4#)Ӗq5sU'a4{0z&L(J[G݁ 0.kyak~X9*)~xbUƗ{;$Bjub羗 t*;~mʑ2 ! aQƙecV%߲7K!?+&?IzYƾl~VGq8l᛼\i?4qO]?T**y.G,޵]>I((J;8/difLDv* 0 lD`VXqy H2̟1L( 7u' p/'O\]]˪47x?!z[-)2cɃbD&'dIX̵nz>Vh+ιUbaKVcؒt%& !s+FnVsJ}ՊOQ,vCgyUknea{plBR4ggbUTrXƸ]<ϗm%>I9M)(IO/04Qvb)M˪Ԍ$ƊOgVƭ~D;b?-fm>P-BXׯ_ʡҤ{ֆN2eZ9j] bvo9&TJݹxHc*Yc5v+/@)R 4/z|cڊ1/3O?/M'uOg9=t^jm3KJM|ŵPM %9)iŅ_]ptd͗Sӧ(ʴϫs3}!LM⚚9wtjkefdO]iCQOaAʉ3nレYc[_>ϗ1t?#2t #9Ga:޶[GzYqM|e Cm',ڧk# XLݻ8W>anVyKFSAa/3fOpWVHlxeU".fsT17Kh:jh0J[VvЄ< IDAT)RH*xO)\GlB¸OVٷ&=Gb;GeM٦MyLӂ N53e1 CZLɫ5TN(^Ιd|&~ab('?5^?ei~4GcEYW"Gb`̔-+%[ҫtlH g xSޝ{w{k!Ռ]W{nԽ ȑ#d\~>ȰEq9:u!,kyWX$/ϐjuZU2 9Z;*NmbHH)1?a1?3c*I{t ?ж&e5i_{:q2oو,[w]AU!?5Y"ݕ@ʾ$!!ܻV<:np5#,:~Ȃ-mL|&"" b]2`[[$>! !"B҉Eù)h˶xulIaWW~.im8~؇;|TBk6B՝V:}Twa-e_QNG(q6,2nuοK?Y>k͛7o»τV[O oQ10VPT1H+CDޞP>,vM M2ܿe #5?}V-u{'-ܻe&AIzƹ3VHX,3vI_ wזwA6m廥/!G G,ہGb#C&{׌Ms10 1n5i<{DzmծEcC!c]St1+22R`k((wu4ޭzRul$P2mc'&4o|w3zy y)!D{L5v3cOϚ6nca@8tqqqqqi;a_wǰӆYk9ZVAuQ"DEoG!e3!fpeص'*jVf&y'E=pUJ,&m|;uҰ#OӴhs3y/S>};fXl #Bci5i5͛wɧe[:Eql[vԡ\A]@zX6OJ^~]Sױm%v+xNg_]x%F6ћ<ӄF];&ꤡ+.=ﳄof"ml ,lJ{?(BalJLIJN}|btĆϲ_;tߤaϫsR;h5>hG!}v@*?jp-8!< QZb<3k Ţ(VsWwtzeh@ ]G# 0y;O|ϓ'OHʰ{grrҜ% !^jq= ;/ H2ί"X !R~j*df<6]{~!C;nn!!nI}׾fҝc_5lTM 3Ϛhϡ!Vr̃F[Zu[gݗn/aVKZ)YsfϿ>aWp//pÅ~ײNY_W>FL~ەǼꢇY^`B*SٻDM=4fos6:pQxqESex~%5Osx}TڨZ-FGE,k^>'݋zQ`n Qփ l履Ew6;7;vicKG$ ,[wllªԪcӥQOY^=l9/>g%|8ai;?;nFnԨQbb3g&NX8Ĝnw `H"E~Q+.<}oj F=yyy =i/:tH>Ⴧ_=Iy|]qlyŇ?EzzpyǦM`6͚h^}{wp6<׀^ozGj={2vjIyVE_r3Saנ: "EiC)}?~J{n| p)z08])>'TðtS?6ez UݻwWou!էz-NkkEFF5h711 ӦM#|vUCDw.;;!1ˈꕛޠ\Y `YӦMvǂ0Qjܸq #@;Vsrrlmmv P?47x@3ȡ PC@ 0EQH"ETSﱺ*B@N`Տ5G)R |T*rX P` 0* `9T9A /Ĩ?MLLl!@M C (v P?4[ZZ6@3XC p5wO轔zА@k ݻ@S)RH"E)O 00H"E)RH"mT{833SEⓀiHgh=&w`=@ǔ&E=WlZeg\i~C& ttGzA{ph?kk _nGkS>3OeYketC+%H9qg@!҂Mհ9]sK.EGvaݺu?? -DqPl!᳋;hٲ#0Q)F_3B7gh7y_g󦓎I^Y %Tέ^xqaaa'2lfYͮ0%&|ݱF,ll+e$|D*,Ӳ8e] >>}~=kZ͜wIf-^ᛣѯ7j"yŧ?u;sw+te2Wie"ɺ~k E&cWjcs.VFͶ&\̈QOP:瓭ܿ+/˪vpRvܳ#"87yj MQ&ڗn 5iOHK^ƜbgƩ {g4qܲyِ;l< f#S_~W47Bԟ*}Y;;Slb¢BA~7ҽRKuEjKSo[Im̐"20氉e+9}eplȅ"l'qӬmŴ_3`~Yx8y~Vj.h7X–1(9C L R!U"`B؄aф-%Q:.gt%'.rBXM&-obݫ$-I/*᧖0+.U@!e؈ڰEQRAq)ebʖ Z}rrhᅫKZi%hv+Ex7RH"E)RH'U>AO"R" "R"1a! EH "PyC#N'd/4?l{PUg !tѽ=[Smuh$+_n9!)m3~_c̷qKRR:`"E)RH"EZ?"צXJ@D*2BD¶S suӟ2-8DZeSSVNjɋE\mqsOxPI~Orr =N$ldk=7[uVXW>anVyKFsEa/3fOpzI+ic3k:ٶj 0~CXˀIq9:쌾e y]͡58HAOvA+1Ӭ* `%t8k9ȷ8aӒ~l)M$W5diqCͭyքcdkt1!D񇡱|"<5np5#,:~Ȃ-mL|&""`;tmdl[LS642lc'|]* `np˳*l3v3{Z-I?4f/ο,ȸi7?2ܧv-`\V0+Y|ǁMypM[ũ ϷϾ}Dr '#/茰1cEM[)-WY}{hńТgq|0ܸdX3dWYwqέHIw 訬#^|Wͦs/&{gy~~t;E9n(H"E)RH6x`l0#.*rs+[5Y6ȼ|8, 8Y:ňu1ԉdFFl%π;pp7maNoOhn`7scwoâ˵R-,Rae>M+ ʹ͗Ӄ v qSF&Y9BBXo<s|jw19.{+56sYRxBi g!E)RH"E~RE+Wgˀ)#m7n=pՓBg#٥єi33<1!м|kO6(;~5祄Q"/W3ُǔ ^~֔e6 Zܝ`&!ϐ"Pe`eڱFñDC-|v8tqqqqqi;a_+V@yX6Onض[;ξ|?Jl879By *KLICW>]zg O͒E@Y"Jro*4.#7i`sf'%'|ۘ#0g{TbLRrc5;|=``?Ue,kǙ4'i C!WZc1|~>}yOŽ !HF63P CSS&G5 1vڙusӅ ! ?vi' [)oi3hq)Ab K6)!.ھpƲ;12&icD\ CScl w]PoByo+Z xĉ9[qZn%N}pɯ}͌;?8<;Ǿ0!k ]- ea8fl5CCf37+2Iߵ|밝 7/ޫ/ݖ_e"w*Ys]&|sCJc^{~uÌ7eO IDATqK|74c%hZpr/ɏ63|]={y.UsiҲ ,:}v/>}T_Y5զZٳgKJJTbDo}ZIJvܼiqҽ.>~*>e=&K[[Z}'AhΞNs3ټc6<$ytLu&JʍFq4Iv~v\uF! σ/[r/ EGf ХQOY^=l9h4NLL{݇5 j59Poȡ PC@ 0~C@` 0* `9VU?)RH"E)R*B@N`a"E)RH"E"T@(j}V---zTܯ_t* kph 0* `9T*r7TPoiLQRH"E)RHi4dNZ9HgÝ85iNpH}c[ N_sӧ7v-Qhd`i'M_km>>7l*ҲC~Ijra/3fOiֱ&E\԰wlxग़'2$~%3G,O=PyTH#\F|u?gpJF AXaaa=4s.upBY8?ٯHH b/_6LLV5&N9yT1!mȱE}ټbUumlʿJ/>7H{6#!Tgbb\N[v iI?&ߌx_|2EH4Ը!Kej<佉E){N8gx#ft61:OB$Yegjs}T!-JqL,ik1t5D"IX>f78tNfvo~dAfv>~M0w؈s{626sx㭂rSHΩ][Y1c~gt #vGj*ڰ?/:1=uLHOg%搜;]NOPphuikp˳).5v3{Z-I?4f/ο,ȸi7?2ܧv-`\V0+Y|ǁMypM[ũ ϷϾ}Dr '#/茰1cEM[)-WY}{hńТgq|0ܸdX3dWYwqέHIw 訬#^)ӹg \=購??X:pᝢr3[~vڨݳ§lta(}r+!9p;[ ۗ/kշ G)RH"EiphuEFF߿ևaEERNcOWod@Y# !ո/>hΣH9[> .&so]Xx,qȁQ MK/}lp,cΞGLaԍE r؄ le@64;ޡH"E)RH"mT*ꊌFZ;r/ /7n=pՓBg#هi33<1!м|kO6(;~5祄Q"/W3ُǔ ^~֔e6 Zܝ`&!ϐ"Pe`•eXwlj"!ؖd>/_&,:7-]\\\\\>FWZslz-=^~MZ/w3\ef _khgz^??BL]Ƕy |Hg_]x݉?89B(B&46O6,3yW' ]) =xd{P3^O%ml J+OB%6ַ]?mƠ l,L{/' &'%KB$/ 1'212`[!HKJ(SB[Ԅ%)0($elǧN5UT96hQfUs-?n}wPLΟS}Z|0˺q&''͉xZBչX O_ޓB$+͌>BTQAxl |)Cvft!CBÏ\{k_3cfO/}BWK*CA&NgMkАY+f 9J#Lw-:l-CoŋKzٰ]%f\ _5=P{מ_]0#i Xw3ZǴK }@W>$^^ l}bdde*|ò 8wINTA U&<@_QC>;yG>}}|988ܾ}[+@ň<(ey'{Q/ ]|-U|>!zpAM`<(1N3=zfy.mxlIdeMXZ㨇i.Mzra˩tݿ :wfmMb;hѢE왛{x'AAA3g4`'nnn8^OoܸѰ;vl!ܸqPC7nܨjLQq#E)RH"E~RE*O>|iQ\U`"E)RH"EZ?r7$8%d6quk}~'NWn0 McLƌw~++>sfPo0LkA9B(->cˡj{`~đ^:rE~rߕG5Kfަ#"qƙo3A}*0 ]ݗ8N-.g Y/i3)ɏ:~&C~U|Iron̈́W^`@ⅵH hH.[v˽9g/e{J2N,؜=GAʧ$|w#骆 W n%}皵I\E:iQeR{:dXrFW q0<:wQaڲѱ9j`[!S~黸I[ۛO,s #c[#!"˼[lNpUB>~?\;:\Xv jR'lwjwWC2"1MlOR^LCvAZ"L>h_ &mM>&Ҭߧ~ՅxhҤuϙBBÏ7K "T#L:[t+OJ1i߯!Ï:ly+9TԱ_01{i{n\>ط{Do[US(N)/}TBY~ܩϠeg25z%kFd:M3tJߏ%ȯL~i\3 MCaJSN9W;wWN}gS L;>oi)?bs~ZB3(g}ڽcqϧ #Ί<mڴW_v 4!0⼜guM2لW- )1>|}FuEZQ1wm 9F%'h1JqG/lɷv{~>Ca7v0Vy]7"S}rˋK>cJ\PMUx ̇m <]Z,Ѣ/Zbv˯k UWS=c^:ϗm&9I׍F:qEJ7JY %iZ"NOKiaCӴ$o#[,96IܻRv+WtppݸaNR|*_B3~7/=nջwove{J{,|iG߻sz6<*f.mZjժwFl!xߞ<ҩ%K- ! ɴ,nI@uk61+C*`@IGI~+ [6Ѝgd;-~l*Ruj`r`cCS6>KXtlE *[U:bdae523 XLKE mخWyງT )RH"E)R*|hUk/OwŚś#^ӄ4a }"șRf0&fFk}nN\a9[9ckaf˧ʒ^>25Mx=g/:3cUQ"HhaxЌKkPwkߡ abԢP@_o^ 5$q7}EħD#qR.&6FE<BXf!X,lY5Ţ(*Bn~̀a^dsyZjjQO )RH"E)R*x,W M/(8aDE9i^}e63& CBZFy{3! Myw1C!o?Mɕ HM"8!0(ӴfBi|^ Bo$p-ϽC>ݼ=c:]{665+u^YV~HY7_C!Hť 7qc )i4HRyQsWӠ')Jyϟ+gVnP;RŸo߱uێm;v,jSr@\!Me10[Z)ۨM" SQk^_>*_sy۔yw)CKqN@*(RzBB͟w\Ijܻv$=v>4.||aO$  ~ӱ !Lo{L{c硞 Ͽ”)_EC&ݳ4Ƽo:%P??waT#"-燴kn-JMǹo۰IwU$V )AF_ƈzkQwZ ?#Է1%)|ziuDZ*04n)dG5J\sK!RGM2#r%vZ U7 9݊Lu]?89F4_j^V`cje5֤6#IumN0l,#+qucc~?v/w^%ww￯>iqn{Jϕ3%VenhLxegں7 z㖯0wHt2&Xb7kVز&{s{o^0+W "*{G~mGqqrcJIv,ʕɲwgx'oIޜjj[Hv%aHU'Ccj6nW{_Uʌ_nHڤ:>ƒOo{ w+JRzDӜ5O.mßf_ {xFg.TbTstkXzAIAz7yk&_/:DDmƬb[FA$g×g6/~߱?crdߝaִJk&ܱ+p;g>iY1e2%[ eƅ{7:D?jit]?<<c5u$"૙x'ri=H4S%*8XSjZ@VRO q}|>_E"߬ DD|>s03(]t  0@(]AIDATt  0@(]t  0@(]t  0@(]t Ѕomv"`j=}Zy7n\yIP3O,YfM\^ɗ/_@@@4it Iۓ'ONr\\5$ߜ9s,Xx%J)SrNZ_~띭[nٲeǎ+67nLbTHrUTbŊbmH0I[n_~͢Db)d8Wmk_JJ*5k̜9A$N8zUVm߾=ԩS}||*TP^u[F $%?~xxӧ%qqqm? iF\=܏$EŽ=j,wԩ/lDZnݲevؽ{=Z*ҥK,$yG͟?'N0zڵ+$$PBlѢA I_hСΝSL2w9sj̙3N/Wk׮M|#3667ln޼)rʅ tѣڵ1bĨQ5kƊI}$$$$DDDːC^{bŊ.\8_|r%ֳڵk''O._|Y_G:Onٲ ƍ炋Hv=`͛7k)^ *.]ZH"2dsxѦm۶`i_fի@->\GuA͚5K^P!)JT|yqEŧ1c6|b}vѦ7x%Kڵ1c{?8\GT:dȐ7~شiӊ թSG\^yG\'6mk׮ݴiӃŅiӖ.]:vΝ;-HrKϞ=8.]͛N]V6G6lXhъ+/?[w>})S@IR:tIܲϯ^z-Z">r+M4 l߿f͚ ^.~ؽ{.]z9GQIRETTTN<ʟ?xo߾)o&}u׮]3gs>ƍ[rh%KtלpI2^llaþKdӨQ=zXٲeoڴ)44tٲex:vXٲe>|8%$͛9rĕ"]v۷?ֈw sΉk3f8SpQcǮ]vѢE(($0 gݻ+?}?Þ={Kn|b?L<"DGGN2m۶2H1޽+:G 4h|`]Q֬YE'_8ڵ׃}X}H$$Í7>usO>63ft`!:駟cĉ_s9sDEEn/Bl2qE xX[U^s`9sѣG?6m8qtϯ[y$I?[bȑùW\yQٳg2eJnz}vG..ׯ?j(똆#I:w^U}WHfpZ%n*;|իWzlBB!C:4k,~r5=PN:^z;6}njD[n]^:E_ZvmlٴHNJ٬Y 6nX$_XXxuG([vS!i`eʔiҤ%%Լy'nA짟~СC=*YerʥTQR{kK>D\jJٲeKMgNb߾}{ )SwYʓ'֭[t".%"z$.uXai:E$Yn]۶mѸq{6mZqo6L!bQܺuL2ըQC٬$ǎ;5j$є)SΚ5;I|h^zUV-}: qHRr,y/ &ϟ_y 3FfKŋ_0!I/sΩSĮHxO._|֭v۴i#.uʳCML2d9s&`3gΜEڽU@|||ݣ3HRf͚u!#]ܹ_8q̪yϞ=aaaP$) wdRJ4[nsv>^|VL̙30,+[l{M0 *ew}[.I׮]{XPPjԨa7I/^uĉ8OSn#PO:eIJ̯YI< LLE&I)R(PO,XP0q7kLa g$:t1zڴiux*cƌK?Lr,G=PB:L|A*T(eJK|Z_2e$iҤaae˖zEX+Iʕ>}_|y#s8uDKaQQQ$ Qa9!ֿ~i= /OWm/B3gI{F.+&Ird;w[u#I#Iݼys:u2zxs޹s)F|;vԻv'O6z Ց$)۶mXуmܸĉ=jHI&$⫯2z@d-_ȑ# 6zx{[)u/8dСSx&u_}Uvx )<Irޓ'Oze~΍ѣG||уx$m۶͘1k׮FL2eϞ=FOH>㠠N:)ɋ$޽{;v6zL\oFHo}]>}8qΝ;³$8p`͚5 (` 0̡C f$Glllf͢ҦMk,0ݻw #xNn ý{9s;F''R=N9X<]ծ][HnJ"I_v<}t&M֯_`0(X;_pAO0AL$ʐ!O?Tjո8o{:u*o3+֭ێ;d7o^t鴞H*V8fɛL6PB4+;w'N,UIrLm۶j*#Gn>i>aaag'X2'3f$Go?;Ν[Μ9s5С1c%g$9A$fҥʕ٪㐐M6n7;w6nɓ'2NZ*2dz*3!I 6mSԩe˖ j<u`7Ϟ=hѢd>$I۷?~eyfժU###+犎oߖ<~-ZpYySI[q̘1'O\|Gv효+RB[=u͚5!I駟*VxAoܸV*Vֳ$>*Y9ssHKҧOrʲe^|YxqWZ5k֔)SF۶mW^LLyYbE4i4HrνaV\ՋD/^\n]g-[֪UX_~_~%GIlAܠ`k׮^eAHHHhhhΝ N2eJ^DDěoTG\J.-Q?~,s|\\\.]СCyTаaF-TRK@6AAAaaa-Z^>|cf͚qq޽ۇ?gUTl( !IԴiSJj۶|-Z o޼gΜiР#G#;eMI^$I^[תU+qnZ&<.]rʮDFF6kL~2eJҨQ#~͛7Ujٲ;l[W>rȁEc#F_zdn0 "IhҤxʕ0G+H#$I[;vUӧz? YӧO h6+M֭ۥK}[onݺ Hܲ[E'w^xyҥĉ3f̨xVs>teʔYjU֬Y>"IzȖ-ܹ… }3ķ۶mˋq5k֧~z '.U^ԩ>SlJ"II6+6x`Gϼ?CSNx˂svիW/G3 ڊQ$9@rd24hP"EZjчGEE,YR\Ǎ1E5.]4lذٳg;L2mZ;^$-88XĥI&ǎs"ӧO7o^޽ N@;v/ '?~w0$$޽{w>}f͚?d"tҤI_~{ =z-7cOI2FtfΜYzݻ;m#W_}zʖ-ۇD~?y2df͚q0H"IFjժUɒ%7o~>­[F9a„N:}sԩSbY4g/ .ߤHh5)珊Y;v+R~bUfMliׯ ]j/L>ofV#$uK⚢k׮ Z~{?iPϹra*]tb%th]v]rE<sRH4Çz[>xʖ-;~+4V*V5\WlD/Ct*GYmd"̜9sԩS?Zb<|h#s67o&~dMORnjS~}G˨ݒl7nРҥKťX\e;yy3%J7lYæHI2e-7o!onDTQ͚5U~HGfoݺoY|[6 HX۷|Fg$5I^EqI5}iӦsb5̙{]t`,pI2\r}C YbSddCգy{{իWO,Y\6:J/!F.\8o޼=J,ٺu͛VCL(Gٜ8q",,lٲeG5z()RHÆ E|Mg$3+PHgϮN1}UVM޼y"Ik{nddfsy{{/^MӧOoDZQ??-:111;vmFGGZ= +WRJ˗wZIL2%nnݑR\܉uӁğǎp{|||UX۔(Q" :E^^/t3"liq D$̙zkV]<$%$%䅛5r BŊ{vNB,]tNRuȅ&Τ6_%K I@!$ 0e"$Yߚ$PIh$')uoI4H$ !IaIvKF!IBc4<&nG($PIUH5 0IkW$ !I.a$^$ BH`/B($PIz!vK#I;4"@!$ BH- IsX2H$ !IBnI8u$ BH$7`k.$ ^#IB($PIIy$ BH$ !InI$$PI@!$ p6% IݒnH$ !INؔ$$ %ב$ !IBWGčH$)A($z`$NlM\D($PI\KE($bk@!$ [C$ !InnI$ BH<^u;@!$ BH- h$X$ !IB܏ݒH$^I@!$ BHc- BH$ !I`k8)j$PI@!$alM$^pI@!$ BHV-ib0Q;$ BH$ !I&IsH3- h$PI8kvM$ [pI@!$ p?.؝F($9ݒH$,F$!$ BH0I\+X:~&;M$3}yLv›0Iakv$ BH EH$͙@S$ BHN]D($PIr %"I{A($PI%I$ px\G($PI*vKZ_bݐ$ !IBt$@I܃ IB($PIr&_\=$ !IB($ݒ&W]H$ !IB)Ig$=- I@!$ p܈$ݒ@H$ !I C$ BH۰[pI]E$ $ BH$ i~j@!$ɝؚ$PI~#IB nIEH$ rj@!$ BH[pI˦Z IB($ݒ@H,^0I@!$ BH[ xuB#$ BH$ð5 xI?4I@!$ BH&ؚdn.@!$ BH$#[R5p$ BH$ !IcHV- 8$PI* Ic$O$ BH$\ek$PI%G$ !IX*$IS$ BH$@: IB$!$ BH$$ !IJ`$$PII@!$Is$XOJ!IBT$$P Ic@!$ BH$=[RY|]Tc$j:,d' d/`Nx&spIyBO$ BH$ !I:ak($PI@!$I-T _$ !IB($ؔ&vKv$ !IB$uI@!$ BH"IBtnI y$ BH46%$ݒ,@!$ BH,=UF($鍭I@2H$ l0 I(vKšH$X /w*$PIdvK/BgZH$u5 D($BxUA}$ BH$ !I`xX$ BH$[VC`#$ !Ij"IB $bH$ !IB($PI@!$ BH1mFa{RH*T2@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($P "EtbބI2ӗd' s$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PI@!$ BH$ !IB($PHrIJ"ns8g&)!!A9`4pڙb/_IENDB`PKe5:g EE-Pictures/10000000000002DB0000017939601614.pngPNG  IHDRy.qESIDATx `ԙ'aǹOIp# M'B),eU\PPmhۅJ)6@ñ;搴O=Fxf$_S!KOOO齨a PѠ@DB+"Qc4e/{rHse/{^-^Om+J<,Uc~QwkFDZK%14CuBB"<Pyɠ[Xr]eovdZĭzRM?)+*=qET d<7+ G$꿬xþACj՚Zs Ԋ:yZ1jyĪIu:tuPeߨ@SSQ~sjiΞYLni"bG(Ek0?m(pD9!Z78b% J:5Q⥄HڡզxO}IHD_z6մг‡DbRs+,z?FGKV HmOƢJ,& #bUT5zbE-F{Rn44!ioMOz=YF+Ѩ1ݚ3wtjJP")iz*j{y*"bHa{.CaDEGWw׎LwZE9cTfzjjuf뺚VcfYIzdNuUO+J `HXߍV֡Gn= ] M_;/=-m$RK~[R#eb1~-f]ĩ5OfFsPc;w>SRd/)ƒ85CFnp3:zc0֖!IC:D8e/-gz43Gi>HQ: 0D*g C1_]R'E @cם<~tqCwO])]QEL:Sw+|dv% >\DsJɔPRC bDmD!=}d';шH;߇ˣTSkJTHwjVcwBLֵQ;$[#w忿e{n$tH%Zf İ:cI/ɮtWg۰7BMݭR0s%!]Őѓ߈&m΋YÐd"iTO/*{WZڍfdu A C4Q(IM$FGBlkqOެ M?":~2qE۱H&D2iX/[ RrH'.C-ۖ?㺅/&3I˻lb^~vrTdP#v5B/.ﶵ2DyE`D5#C CEDU"bƶ=v*u[aYDhL蚡[QaN#QvQM1}PN;wرȂK,oǑq$5c߇FkFљطAa)u}Y3d`K#;+ZȭFUF#i$F2i䟔G()sY[4M֢FZt 5^KG~'tRfˈ#{ﺺ=CP'(dZlo7"h2grbC딷h]I0V}7?oH5ͰުQ%U+޶]}_4Cȍ2(I'$7<Ͽvd%ٔG$H3ْDL,-gy)Sz衙/ҋ/|z/čG3I 6.d_WJ -J&ZclkTR*m"fW֤fEd8Sı I{Jbt#rɤH[#Y>'6naK'Kmk8Ϭ;}nï^ˬf3U</M$5S_q2 z.=S1/No'Y1٫Ըk-ym̰fיY+czhFΉ7:zgoy?Ζ g̗4 d *̾.zkr֞r] 3 #2wd 30WljO=\{=]XɛoX93`&H2a̎&.R'w5D:MU {hW3wj* vHCK|Y]Id+uZ{%, |m|M'tdggT6UOXÝ)[_qntqΚgꞻY[w3rNr,sv9k}:supU8 g7sZ>nXOU8Ϙ\KOL R*m{ڏc̬52dXpJ[?_Һ2b?GN3VϏtHt)0g ?gjIlN'"DJElw=ɨbq !vߑ+Rs=vY@̠D^Xʾfwߊ8)l ~sscf=X#rj)Sn'k(X8O\nWW*<>͏{ܚ-sXel{yƯFf%_ 3)M$69UøK1|Yߥ~` ECj%md~16{~NoCZcTQϟ2gN Ȩ6B1;ȥufD#ɸMĨ3"FTQ"?Y2]Y5vaut}3#юO_lw1c\ܺ۱eЅQ8oW[y}(0jZ9bk%^Y+=ڴ9c,)HCQ$B5N0\Ħ6żkf ar؍TH& 5bI"̑U']s9Ǹl׃0ՅU;G #a>6SjMf kV3$l4z[X7te=]7|w/2օ5U^|wwYc9]=&GzSC>+Te?*B< -j{of Y\(?HC%%ӆH~$b>4ha$;pU7~t%z7aDfEQ'M|Z|Ρ=:xnY+c̿t?Th֨KFI3E!~7.X 䗇rȕW^9 kX|;QJ fy퍻4ht|rg^j^?k.BuVػ@JZeo=)9ءFΖOIs{[إqr$9;G"S/a9'fsÌT'+)H˛wZ.IDsxfD1GXgqaqTMV MF)3*qskgF1MX/)U1gQ";z8zs 6,^ /}ͼ5fa$F*"bB~ܾ'ޅ(V[b߭b_<6GNUΒnnm xV2s!rt;{f\[nK޶eϖ]̧Ԝ)dաVhDJBpD{Ef_ۥYP U_.#GǍ.'֘ۿV}񓃏8n㹟-iˈ9͍>^S4LY3s*2IC$]dG$鴕Rf:-ш GA""Q/WLC{OahV]zv\h{3t}jY(Qw.}lGV&o3N*9Y[,[vK޶ ?S;f=ZYWv-@YRdTЙnԺw늙#0)H>V4+4HzIdf+Ϣ[à)G6.Ya l?1{"N^x~S$sIϗaQ[y?96b#Uw>+5Fۀsbn:ʭ2~{*?£@Wq4`bg+*(Lv&QTuM9WJI]IjVP4'&3(TRTJ$juH#2I*i$H*Ni3062ߧa2|aFKn}S2$;_UC(i~7Пmhꇵ6#)HT5_68S^#W$ek$%Ӣe;!cCV>(#qk4nvKCȚ y LithDŽ)JvIOxWDb4=ꂫ ="՜]lKBp:n}׌5߼#Qް^RQW|5s2E7T]4]"bSSF~YJZpۯ[6Ǣ hYMz$bF$&Э*zR3SRMޥw>1Z$1K:s+iS*3∡yzӲ{ 4/ŅnEYᱎ/Fa o~Jkn[5Rl*-kl>vQc=O2XcD5;5AQ$" {s@8+Cb ,! EȻ}Kb-^aں˧q#滻J1+Yv@C|0D^M.gt5m|%"b+~̹l4Hٿ$""=?ʮc M9D$M7Zvݑsf U5uk\3~V} Fc֌uZÞP3cЦ{d4e FNj@cay#Y˜9ԳU+:Z(l5DM"91:pGSRibذci0P|r#ݐ+N~ in7a+ڢBks֘9Y5H@)2/==0͐SI#Iu9` ~VZ/D[n]"WnN.vS{"[M鳆l.}OU- jmm}-Zlٲ5k?xɓ'ϙ3c9 t3MMؐNTExo_W\q;Vjll|7y]\r9x\ꈤ\+ڤ^/V\9%K\ve21bD}gܹw^KK˝wy>SvTE#P_㎛8q\2eGÇ;93N9c9'>}zڙcʕ2Yn_dbvڼy䁋- *SBD@?:+[Vmm9Sx@;z!y>H~(YӲЋ":FRv*=C/ng]2Xd .y,D;O.\r%jN},"J ?sfu?FWћIهY0LP jmm3k@;(GF.+7}oVU_gRis?n*{ǚ͛#6y dUg}vUZm `JpԹ=gKf?GedeqEnףnIl ɭb[T0!_N_gn7Gys<^|EaMUfw{-VEVUoXD~Pr8 EuscyQB %4coޗYr-]Fg1c G二9fΜ)~\9묳N8C6l }كe\{/JdUB"IwW:]G &`{u~uE5\߮On>KV/rܹs쓷w{^ Ȫ+ԗ"y{s.V@dX/x"p [<нi Khy{mp]wum#0L>}_g̘!xr?A|w}HCCɓW\9w\gήADVUG6oE$2@(O@p '|~h/\r%l^xq9s<{nNUp{YN }U-ӧO_veNؽ_ms̼yZZZ$q{-(뮻*pA>7f+d'x_/k=HޠD>zhe㪱#"?6l%\rמ~SLGl9Aիx J'z_ Joy#C$|pܹ"aÆvmv;gl!pD, "?9|;:LRիW?2C_D$+ӧO_he]6o޼#F-}[n;w~AD@#cG}o/~GyhO|oя+"17Cǁ'GGDGDGDGDTĘRĘEDGDGD0<59<"<"<"$lcVD$ xHҚh0w̉G!ʈ!J,()7!H\k,^IjtF$ S+/r䈪AWDbl%7"JtæNw̎A1!mїM:~Z&&_^h^)/;:^sܽpM<9ԉ=K5O@>nʑln1YctCO2ƍDԑr!ĶU-Znuv;jϏ#K:n:+FDF"f8!'~r⣆"a640I}yާ[&sKǍ{*f+؈\Z^7sϚk ODR{!H{ÏX,U6nmR]:&HiEcqaTz/џ\־t<So/vMƌJirc2}lzO}uujo۶CZ꺱~kVUesKzZ!n"#?',,ycuF]p;:EgJtd&/pO{EhS.^pG>Ư߬J"**IcKxyMM}hDޖ~殤. lnkSI5}ճ~*emJT#^[7RWxuM7 hޑ:yv$.w__Nt֚cfrmϮ\?'M;ѷCuETT("DJbzx; GĪS#H("ɑ$nGD-%~|紆ѱj~kMiGZwl6k]5Iq!]cD:HdRM$^N-qvd8PWd_ÚcvG%hVIUկܵf{ [UWmL|)(V7'WoI&5ꇶ339dȐﮭ=cTUD"hTu5URU#{/Fb/e팋Ō;9QF[|/OwūdaB\qLWUKe82&.@B4fmҘȅ~s 0:?O6zcS-#j8kjkO[(j޷ Oll}N՛׾'^El>ΙP̎ooݭd2%2pY+쮬13d8"{iݦMLP^"X4\cOj5{3.shu[Ǫ斮}'СUw8bޑEUahTWgW׻Ge{>-?;_8MX.ÑAw|S|H1oz(xwg#1s㦵)MKJɑ'=ʺvөO[#AQD"g7WVVnG͗{i}X2FLI!H)7O*u\9_.5Eukqo=|D厵fvQ7˺No^%LpE$ʔ㱃3k֮ J$DbQ1b:zRņ#pf׊=Oq' '2 )KN8E$ J"Ȩ %ŦF@i"Q^c 4D$ xD$ H L XD$ xD$ xՋHΥ%v:P~ԠjJX:s5*E$v8g#pUԱM[Y՗(Xrstow{wX"ȝrzu,}\uեKtӭJgkΑCV|#i~~#F/"',Iȑ(YSf"@# 4-&1[ß#q J$TH8#p'r$NIv$%;ΈdGCq r"! mjLD$ϑ1Df]5q{,negE$COVPֲ:$- ;Å%>y%TOQ{f6ФyU@-),I91ȋ*Gu5f2@i~-),IG lۮ%" 'vw+Aۼu:1 1s1[{{lθ9 Nw޾\uK [s$}sxOT]OIiR%@-,I~ߜD2eԷI: s@-,S$I}'?s+r$~1El~nE\I:n$Z#GW_ɑ0oN^>%r$~ !Gį#/"G9*_H0H5`H0H蘭ygy`  œ#%"N7ww@-,IHܦ͙k7o4qp S6͞f_ɑ8G2͵#gGUbp!%o#%أlH ?O90/H*K{K#7@ (90IJ'0/?r$~U]̺sFbÑcT1aojP2r$~U'G֍4gc_= LaΑ0f+Es$tV0HlaHȑP9aΑ#rȑUT?>g']H**!Ñ+s)ɥg^| @#ir$~P9H *GBn0#+p0#?H~@ȑ3r`;!RWs$}{־uނ/b#75AC7g`;MQr vNȗw?9/9[X"~#iGW9\n|鍲p>ob#+۲ rnȋJFį>яxdS@n~gakکmSX"s$%s+8`=۰ X//_qU,|M5" ģ9+r䭁YiZ2׭BK }E KD }]8#l TA7!cV3"G@̑ȑ oz/̷D$ϑ传[B D+!F$92eo@?~$D$ϑ8坰7+ىi~s(h(s]3+>,Is$9LƛQ-$rVT=[ +sfs,I8˔-a)%" 𝗒{@RX"> ~Yg+cx2aPts30 L_xj+H޾nOZZ(~vz*y }N KDB8&=%HlaHȑPia-7, FDS|+gϚcO}ʂ,lC#W^]7]'")<,~/K>+'|THK\*z.{ͼX 0߆^D1(soo3{ YxW<9 ֬^t ~V\˲_V[xv?AFQ_< x\%x=k᧫?fps{9x/9w4paΜՉ`IOQF"Om׏Pݰ븕d˖*Ñ`ɛnrGZ ^vӍ O}pD:ԯwF5"!dw߹ Nfܛ%{^\C'{nއ{74M H>ɽ -o2;Sx=8-"nHCGۺBϊH "%T5"u+QGzyYy K,Yd90'N0Q{fn24ii^UtQCg8"WXdɒ%EGuzuԘĮdҼ}l-93Gfwe:?fkϑHDf{)RfcΖ/= f;s$kSQs$فEFNgU0HH_CT􇈤IBgd, @h#9;ȬWe~$%R!"-s$E=s! ɚաwMHDσ%2yqk=kU^IDͣINęyCV@cHW ߢ:HRo֊'dr$n1s{;5ޅ̻6~TI #)ZP8bɒ%K,\2.qTג,Ydɒ^.U'" :97VӀȑ3^[!çdo[*9Ӟb)"ԦyQ{f4BEy%Z8'"`y4u;|XS"0c Go˿y?.D#~y3gbD$З[Q~>/ȗWDb0<{_іDR#뿿%,ޓ^_іOmE闟K^oW\~Q G1)*u+?zܴ-oG$Fzr=.Э5j[7x8Y2w;~z㦷Ȼg%HͮLG lJv(P&>{zۏ/-7rrerv1Mcy[ }d܄l9ZCd ؜zk;T] Em?4߉s/.2\f̮'ţ@Und%ϛe^sV +׳9e䊽%a_fKr\lEp8?(JG6G%:Dni}!@1%Q*%ѭdصe&fr4uodnryz2{{Y{}Q~gd̬̼ڄ%ҚWIvr$PFy|莟~BA;8 ь͎*2nsKg k_Wgbgh˥e4].rYc3.EU@w[O7m+3"g+TmePb=0㵜Yy|ɻE$xlr׬%KYVd,b_Eyo|DyKo]\LxE!Jpϻ̴s!rY`9[u2木`e=nOgڏ^lt>(xӤ(Tϴ&[碼dڊX""YGHͩ6Pvoɮ? ϑ7 DZ[d3.Ú-2s8O)m׽=>Y_+cV9I ̔+9絷Ky/?߁ynѸ}y"W1f+TA?Mo-Rz"rxr9Ef=S&^{D _^<ٻS.ӘzQἺqs;gݓJlTߒ%/+Q̺(Q\G~/oD$PfHr\~y+$"+m+#Џގ#N\~er$9o*kG>uܠR~}n:2ӧ?:'VEUÏɫ.3jW3:M[Օ!r0 O"w )?Wc?+wUZTU2ÔɓuJJ#rXrGHy#@v;w?&om{T>'D$ xD$ xD$ HADdx%"#"#"#"#"+7u?mFrh '5% b? D$v}KRmO'Ki+rOp\~^S3J,d%~%$si*?:J~2х,X="Er Fl      i${IENDB`PKe5:j=j=-Pictures/10000000000001FB000001768288310E.pngPNG  IHDRvǦ=1IDATx e929f2L&$` \rEDAD녻B^VTްx  r™@}Qfz:uwwuwuk(~깪W+iPDJ=EՂ ^^޲}^^-@ gZZXDbB[A4EcDMbcE*dGeAQZ9do?6c,).I"<_Jܨ6XJ߼@X2aZ]CXS3HkY=^Kzc.6\G7UFSd.)sΐ~eCMƗЈ?cV|{-R?M*Q_dqF?Y$%XҸzÊM6t>*I>"M}㓙fefs"qdEAj9*9&©ϲ`VDWF1„h$IhWD(]#W=ȡ)62@`I,Ę@_VÅQn̈́qEHib" eJbQɤK@VIgac zDVNyG۲}>:nVߤL֨Ү(Q9.vd;e 0)- KSW/P `@ M {ETMe+gH(<_Pdl|ҟH8:cy(f k oΠ&߇~MvNTN]R,d8\SwRmMt?](ݣd=Go"nRcEhIe^6}lf i5cXʔI+A:FI7J *hoOvTT.9mozld7/EL1!cL-͘gc?B=}}2^ n|M㒍5kGZF97|$ ]%9cv@:6%⚜RIފMxMkIYɸ1XM\db%a9~fIBi5ƻ;vdMj4]/Q~UbaQ08 rw2+\IuW!DRK1P̕/]>WzVu0o:2 hK&5}.)Jhrvdˏ'嗗$ t<=|ܪ5QnE\Iٍi._,G ("V30D#$t1>MȾHsEd$QZIl߁ Gq+0XD0)"DLU4UWyMC-r[#'ʈ}sb~,Jdb瀽_21Ɵ+1>>&#Qs=餓̹ vwwoݺ;[Wi)/py. 51mh`ߵlYp s':z i2@1EXy#CB$ǴĸHhd_{xvVsEQgL_Fy8Ǹ:˞>墫:9f:)oߒ[PF$e60I")G.9=:^x}O9¹?K ,X~}O?SO]{?Ϲ)ޞQ8o6g#8"dV̵?M2WK$y"uݟDJe߹(~yܓ#=}`jcdk$=ۭL&>۳pڹ?7c1Q,yzujXTiȽ?s6mڴx}[n_{tՉǹw K64Fۣ )JGl6|#`/t g~[RH֓)& \eEk!Q,fψv )~mLH)$鼤ʟlLNys7D?} SdC=g/'a=>xVqWj :8YV:D_}Ri4>&HS_[I7D$=JKBVus8I_ P|IQUOɤU̶\e?L.„V 7)S]W?wP{I}(o ;_eNqǟbF菎[ZZlK/)Me˖:?>aj^؆/XsҙyݦL#'n(g2J75ًm&2L~N0Nˡe>xSr T*c |>QギSthH;i SO|nsS[j|LJ&&hrvOvufѾ-{ci.{uj+gȃ <~nEw@#`mmHgR)|Z~&3GTO:3Iw§h|TDz7r2IwJmQ{NGݽ9qqZld(cU&/ SDT )E w 8 BCqs#>(|`sY}?ȥLX1wTL_e]8;2g6.B&cܥ'Feg}g-6>Fa{|S(;fPL)?"i0a3Q[]6_!qpDp6$*%@1#TJhɄ&J|J>b?)-7>cKxU&=abLKp4YV̧v"& 8kκƗ_~9M>/ꫯ~ͯheEᏧMA𤋉{-<ҦdgN3~?fU:rϱM-SoO+KtpXCmkX% |R|aT64k AYUӟjLQTz9>1_"~ m?>H;;n_=-N1]s>0RU#^ ˽[⪫ڼysZ qweIg}FџCkǘyIR1Ɵ.^83Ie҅7]$7]Rsyf~|*fHz23d2Ș"l ưL"^<߿N&[Ͽ{^R&2ʴm|5|E󻍖|tA@/>zM/Rfw}IT ^X #pqǙUX$2i$[!Fqy-%dr!aJ|pAa5AFFڵnJK1}܃N[M%%E2MS {ۂt#ScRcZJxYaDr/jbSL4)"]ʬ4o\O]+^9֐$h OT(2EUQK S f/🣌F~o{>9x`_,ዬތK*MG5hjO_`ob(~+ס(x$7>cm'gU+?vSd ſk5ҫ\qȍ+}S2Ӽ9kn۟0:jt͏(l<"×$ILMwS-s3נeo-$yo^\xYPو,)l\Ȩ^`#)|fƽ7kpRF9m(uD?5穁Q6& WthA}Z&SՀ8 (~O˜3"O\;]YJF`U5VjzfI* OM=4ْ>>53kCS0ˏQ ]5e dn2ecC\E)DrqC{os+ D4_X'5XX (>T P|P-@Zp]s^$5lH Bkn9&@ L,(>T P|4]zG@a1#m9g &'VA&Tf;h˷xd8 CuȡLVȭ O؎PA6y~mSS|o۲زm9sxK-ے.m[j9aۦm/s<ŔrBGٗf=F0ls\gWvwmbSNi$Nr?vEq~4s^Yv[sK@(]s"Z<{Qv6퀝$\Ni~A+wׯsC*f5 Ӛ18ujm-mpr;WMw^O'$Sg>]~'4lHVgGT2oK>ë$demuw[_iCG9}U^ߝӕO/ǟ[NcV_V<ߋUc>~Hs#[ 'ߋO¨Xٞ@l5؃eNO¨ *,!]s @ZZsr\s E`@j(>T Xs EH D.a ¬!*d0}ujאOaIlIata(T$%P}VzY"[fXvYp]Ty.u[??b^SD1`{_^|i}}}ضyQW>#@YSlԮGyfW16r2KFay{v{ekzܻe\yc9*+Ǭzuȣ[Oz샧nsGH/+l)1ҰzILQq٢9dG"h\-kS^{đ i&$rNpb]}K&}|ǻz(=Oϯ>~#@S$>6L9VgKr?2x{X^/ 'U_+9(o3~Hkxk{wx]{Zs QG`oXrNMD[Zā/Oœ8suj%iƺ#jc%`ݣ4H߈= /竣x<Sۘ d㬙K'ie]{s8:M{o >}nP~m"h}450"ZK4۝U }clp3"ZLCO1R34ѳH tRDL$vtTq#ʶH$rN/֐ѣ[Xl;;ߣQ`4y~PքeP<9Ř1۲oL|z״,~ȁ \YR}z>rMSmNBW[[GFGGGI.$e\f/f7R:=qOb2xy];>H[綤^kppȨE?i[[縷9Z7ԶLW;[ȢWH4JIY>S3*$_*J2vvv9qJV.\0vS#|`Q7x3Honn:bhwOT*L=;|o7}SS ǯؓo,}V@OO;@S$olgׇTE3oۛkWtDx_9P%3GU"Ok[E822ERDҧ5!$K,4 |RH$B383}Ɗ4 'O޾~{yp;&IEYI=u E~"۾fVUx/:]cҽԮ\$]VoC#ƙFtg z)!q$;O\ RG,ܓ\.ZdȘ65$\뻺s{?R)Ig̜iC['dG%WJ]X*nx}ꢹѺHstMc wHi%FauZdlTj:Ȓb1=%sxttX4ZS;E9d/YS=tdBo58x+S秣D"1>}";=Jut^8&"()GǗwD͎J"'Ayȼٱ$%yx|&bj% I|Gc?5gᑾA 'xG39$t70{vM0CLԏ=}墆4vĻ`QngrWW2wi>UɆGQAaϞ+VAV3&s֫Q˜f~Ɠ4qTG;әCrOf}O)")ҥ?k|Ǜ3fǬ4M;Л|mgN/W[W[?8{K,&njj$7\:gaOn:?4R˃CpU;4#3NHST4[?e @RRҗΌ zjύ47K"JONo0~Dk{ӧeRE&b#.M2$q$ѧH{fwHU7}d7584Ljfuk6ް7l8~xdm}aʠknӐT-lYvʏ6>́:-hV>J9j:aZ}}]zW_> Ygb2Mִ̭#R9$;2nI$PFeͭ]\wtD[|O| "Y BM4RW[Nڙ]UyÍ=9v3EP$$5͚FW74@ZP\&(2'*l|P-@Z([&Dkn"#O9E)!/JP @sܿ~%Ns{#st-b[7^m۞߾OE]zڵ\}0IkrO lۊwm$_uWKq-w_c>6>eߚ+l?md*Mϼ0|H)ȔCGʃ_N EQJ5zuor$ʜaj; gP|$V})-`ۅiH&Ưo[1v-)w9W~Nn^k*ЫOAwAW3a஠:*ٚ[W^c1ḓɏ-&zр`g6-N%HG%{ϭWǘGn065_J :0nlIW ku kVɏ6ۖϴM5u)'1sMV.x"T*>WMλwǷuGYN]fXG93P|zӏ_4 ImP綒¨Ӷƌ-ؖ|;gO}[[lŶ,]ͻρ !aU<>}u({nOmMxmVvzq7Mx>Y jB=&38E)J6l|V҇ݳ]׏gƴ.6ti)$gVMɇw3l1 kKMkk; l^SKPZJhweƐѴk> s2VN«ZpfhNaΊ._R?۸ؾpEI)m~ UHMSxKk\kf@chg6<<\ӁS~|\XkAiHN8qА)]*smnq7Mi [7$OnX!Yxg)qhΧ}]'fCWH>s +i?sMN񃊻Ttp~ځ~STa&q^gNuǭaB?*m2NooaPhڵ҅恽6' @5?~~s4m˸|Ӑ{;߱vZ.6(7OP-L񻻺 tnTݚ۠ȧL!-3ԚmI@9B{tWg)ON0W'~l MFִ ҉`Tn>l[4imD} Nm*m|?>$V ǶT %Ln\ @Z?7W~('Ll0 `ǚ 95e/)59,w*a֯LSak @efo:|Tr@fujճ5&ePǚۂG5eMql|?~@H?p` !6=}/X׬^uƦ _vg2]sc6#N`;;ɽ&f Ti)̙KK0^knIO̹{?̹wk3?96"&85pſSpaiKi<}'Xs눋W'&OY7\?#Nxfhmg]j:/IȬe*o im~ogmtr<˻+ ^Bl׵V9u] ^kns[¸XpknOnO u?~Aiي.lsFxSd?֥A4m&slk`nq7Iʁ_ ې  @ uIiT9񃯛sMSYgߊUm7`_7縛r'dfV6UKxm]s kn ^Bn> n>@^?~܁__ @>/x|߯5_OAҗ5t:txF(6r6~Cݴ&WpM?9m t3P( ^7LQ6nzbc^`  k3,m n'&P^`mk Zz.+ 9?~Ț9|tpA=s  IxSU6>X_`. !6=}/X׬^ Ʒ˿o|~6 gP0KVU: :⻄$3>Bzƶt/ V i lR~r-)w9W~umE=*glK?a) 5#g K? pư%(YT3͏vmK@ߞ5WGm=6K-Syk 9c*fmTH-@>_`.%_s Xs It ܆.!CMOxS6> lPev!3z]pk]LNA7U lbԵtǫ:}lum0D0!&"kkW[?Иxl H5Tm|s'&s )5Xs (=ㇺ.HxSF6>S lՅ l Pqd?DumflpՅ lPeHpZ]Ŝ#e UZT ֔`jtzQnf 4a_sCgNWL[T-Xs[y4 !&UL!m|KkPm׏8%`z̴ 6\jsuBT3v8 p6~@u] ?u @kW* Q] W]L>qF:Y:3mے]֏a9,l|[qgj{ǪڶKvY.)nP33qfX`n33*e4:D u]w xYv @8N8=ʫK4M.kIwv)!kUF?=ǚ[ u] u]C]6l|($۶=}M%׬^v1` 錅[T ܿp_,y` ĢrO\x'n6l?6~&.2]\:m#qArE)UװFmi^!ۖ8EPkl%& cldoq5dtd2dPv0sEdpWPcm H33Iv>k}kU&iUsS4̺-gA~UmSRS>]z.hUYk޶]~r 9W ]9!y9l|(*ҺV9UNU(>l|`UP'%6>ݻw񧰍x8X" @ղf*w:Tњ[? {;^ȮpN36w<#YږqT->%Y5KM.v0Q w,bgfk @uRٙ>4l|?3s]SY"%UE)\ m}b}U,*PHŨ mm9(xl @UaKeOC9yDR]F0 9F4Щ_@ Lȧt=U0dDYyy)m^E|#gO`@QA̐ /~ݷXzmUEI/W_~bgbq, O_c[1}9P(:{@άY >Y[.Z2I%h.8h9L٠K@v1LWsϒ$T] 0?cG}gۂj0wfۿz6}xgK%>s<*%~ޓuOrOե5;.tN`:>V2!7?ȲqY 'x?> ~|:tMmMY$xtSl_C@9HZν=;1>XLj[s.V/({v7C/ϛ#kΝ%b_֭g?555EO+n^|~sXHIӧwto.g~\,};{|Olkk"1ʗee <sŭG0V;8d?XMCks6W_}o``dٲM|g/0]:̐0:=Nvv77Ϝ={ z{;ln /'93[mw8#%.#mq~dO OQ_W#64{殭[w*B"! S;i&}}M2F¨Nxr>\χP|@%$j55< *"7)B{^2uAmʡ2ZN ZT@e˓ۚX4bƿS/?{֦~믿7wu&V[5cmvM{38){-nhlyxCCÇ?|ʕKo^^tY-g}M7wv͝EMXMt,8fMeiS½Qy7W` @V }(m->믿ӎ꩗GF넍RS;}$;6fI3\Gɂ>6>p[h>?s3fL瞭cc3f4P~=SIg7PD@PL_S_ `CMa#/@[OG`P|@yM1]K=!7.("jĶ bXI:)KhPt-wT P|P-8*>w-N|Gŧ xr e[xuZ@jՂg6v|_KN,H1*fVڕGdϻ=%cd"OoL>L﫩϶kȎ, -ż oH~Βf&gY ջK0MeYUwC^.X.&|Ⱦ'~O":z(WMZ2%YUn6:ب5na5{{uڅ؋؋3Z@j(>T P|P-`-b/bo0LmIENDB`PKe5:K-] ] -Pictures/1000000000000069000000D1FF61E593.pngPNG  IHDRi@y u $IDATx[HUǷ%K2(~EEA3A1#D )h !H%R C䥐^T(fٿs̾s93gk֬Y{貽-ɉ5TkZ.mkHZ2qËËËËËËËËËËËKavNN*^v$R]%.ź '1xqvxqvxqvx)n{~cnwxqvxqvx)|`v=iRΤm*E&';Bmi%wՉSNIOA}E,I>n+:h9Pܹsmmm>|8sNMDCzŠ^pؽyFdgD} ;8{Y5vOHHƆA ~*82mM]}*Kmv $lb}i 'A:LmwL JXCw6$/cg5tN?R|^hbNoFb7o,L3Ԕ} N26uOZ-H9N M,cjR]u󷝖m5!X;[gggggggڊj1yCv^ 5d'kfKrСC :~M)f줼Ku1VA R^FsZ6=1`:>>&˾ݻo>o@+nݺ500v4~;۷[[[˝n'/8߯ ݵ|ccc?bb 2Ć/ѾǏ_|IxIA&F Ծ`l}+:ի"/ibg B@LZJ*/p L*|||Z+)Ȏ'N öqqqл'y?3/8999):{on#^}=x`iinxI o >|?s1\ɓ'c!crNgggggggggggg{п77<00!)W˪> hiisrDD|rk@XZZU[[[__^WWf/٭?{ڵk4<==333wgdd744 Hv0$%% &''CoU-!!!++aGnk߿ݻ?Z[[-tUN0cͳG炂Fԗlv㠫ő78cKt0@ߏw)%#EEE08wFGI]XX๰0>>O4kqVJyc///8CVF"GO7&njjfUe: z=JiveuCvbb⮅,|cccp 1 E.22R0'[ZZjYGohhQQQ7&)'ZvЉXH[h8}(oLCgSSSʺuTdm%)]NNNEEEmmmff3 pGyxxJC`4W⸝𵶶~Vv '$$⛟~`` Y䱃VWW ==sظqbggGJ zkss3yJNs/w/8m3lvk>} ѿ8xA[&Cf/^\XX=]UqzфʲGxmm k+ QqU9(77ƸBȪRRR,`0qj]2w`_YYАccccbb`'&2?$0"K!pĆFUS1X3WSS ZZZ^E` N-f` kD&`hhhTT$!̚L.z//////////VL-~IENDB`PKe5:{&h-Pictures/1000000000000089000000C9F5F92521.pngPNG  IHDRIDATxAKj]?(5q͠A;r(oApA Y ~{;g Wպϫ|u&$UN&ySuUi\䆋p.rEn \[U.jM"7\䆋p.rEn ܪrnUk"7\䆋p.rŞL{@eo`]) giCns4m҅=7`M|?Ix^ CwSղlX :l6MxwU@PVqۡD'G״|>n[V.mn!N^OF v t7ײݔY72ml鍜Y2U I|~{7s#7#+7ΐόROur\C鍜GW|?h|;jRk*fMhW9\7}^pիu3{ -X$cMh#ǒF7JR*FΘ?}|=\`D1s|b}R?F777///?-;]M?j'''~Ƭ,,,ǣooۭV+ͺiCwOu!)˳ndp9ep1&ؑc uqȡjUz.9&] G%73n1&3n\x#ǘ3tUQKnth%7@JR*F翮zpjBUKkZh "7\䆋=7p.r0{"pM*3{%Ho܏=7 7\䆋p.rEn©©jM"7\䆋p.rEnfFzIENDB`PKe5:<44-Pictures/10000000000000ED000000D3131B1A64.pngPNG  IHDR_IDATx?K{߮C:;!t;WI/XJ[_ Y$o!YCɺr<~?rl[6g]č701VU1.SGR [er 1c8 p@@>ǭV; ϻK`]Qj1{:\$r 912s $djaO8Yp&B Q&a^\\?9}qǘ=Se_]XXv߳>!‰>ozz]]]MMM=dnhgqޒq_p"&0Zd9t:M7@$s\M(r#B/zČr7"vy'p›>bD~2E"ꋪJ^>"w{ gQ+RȌs]ddr>]dK"ÛL_(1Fds̈pQ |Rň\M>k ?E\Qϟ?ONN}ݻnЏ^sB&ǹ,a[[[L<33311}2 Ɨ/_>noNOO߾}d,٫WoO)[Ǐ{_noo_Ulcdr\kwww~~~rrrvv͛7'?}tqqqss2›LsٛϟfYv:ƚnq.??umm0}dyV3աWy߹*Ыsw# r $r 1c8 p@@~Gj2Q+9r 1c8 p>C}U*sc8 p@9r QuϣPer 1c8 p@<UyTp@9r 1c8`Gա>C1c8 p@9r :TQu2W9r 1c8 p V+Uaԣx{ݥCFD,ϫgUc< 9WeOx9tWW*Ogg/Y%/Og/ʗ9Og5)(`b?_~suUD{-,,tKV~suUD{+{Tӽ , {38:: ֤x=8=NFFDzq15p((Zz98դxh=8pV≢o8ODzVq>Yl+gqSUC1c8 p@?q犉IENDB`PKe5:L-Pictures/10000000000000A70000012745BB9002.pngPNG  IHDR'CxIDATx PUR4D%sLT Ci|(AL)V*eC&8(h 50|R͐"߿{j{,ogg>~wϞ9gׯ_d !!!!!!!!!!!!!!z6m\öL`ku iqlE%./_2e( ϖoʕ++W_4#$$;w馛3fÓӿV]+ ,;wnq`PCٸq#8s[o5>>>66vРA;vUٜ?PL|ǎ.\f7|~['NL|{bǩO|8T*^/8:R۷߰aTi W,q5ڵ[bETTW\%ΝAw|\65O&$Wo]i @ Id$^=`au?V5Ũ!nX_qqqeeel:,,p%x˻Tk:_HHHأz~Dx$^JɎttȅuu1(H\юt#jD"""pa C"7[k ###uuuݻwgӊn4|xCk!q.m!*godTVj{ۥ\ 8.cʔ)7n.1(={u)8@Ox^RRh1tל'ޛRmGMMM6m2XroĶk *qĀ)X]줤$s-evk^x.c߾}ǣ2djx5NEEÇuwm/Z\*au"5ڽst ^}Uݝַlr!CftH/˞={K=ցrN̖91eKK }WVVdG0tI|7ցy9G+ +t9ŝ pjj .̞={֭j=`CvJ3gdߊW̓78wide74"~ɒ%[‘u0`@VVVjjnJGGU>5IիWHII@l-ehl(}1}z.tnn?P]]-.~xZ庙۷oرb{TTԺu<cZ\c?ql||-[fXieeeƍklld!!!p`,Cjs'&&F1l'naÆ9s\vAn]p ?kĈΝ\ N:jZv9K|U~m1AL8D OZ ˗/XJOU8 K;瞃:[}zz|ž?1GPn O%K޳ONNMUe]:=b ɓ'!h^t)1|bz1Z}544|G'N.ҥ˻ ?2 &fzg}D\O?O<j9PSǮ]>Ӣ&Z@8:ЫW/7o <C;x`V@E ]z1cX|&vTѣGo-.mҭ[7(a^xb]]=a럡obI :x=Dׂ͵4G9 A>=r ƑLk+ #uuuupJ.uuuh]{D =C@( A9c1G|q$ p̉%>BC@ )$"bYuvgR=[U]]3]ӳqvw@. e㉒]2N(iޙ};1b $>$Ɩ4}&NP'L$PA[N?XfdX%f/f:kvB7|ނ '3@|,x6"ƜM&Rd?*Jݬvb\~g#>Qwқ Kot7V7כLunMz+o.Q@ \9av#x]m;L*!Uz… />/${9,&@@+f6G^=ӧ?\s5z[_?/ a&kp0֫%|ϜynG^}W^y̙3s37huӸcjR7|FsK b0 Lt{o\Ԛzowy;7&-D>}zu ~SQu^EpS_hco9{ Ӹձj,b3U'Rݢo}i1͊;SSªUinozCj[$nvHb,mғq1S[uN':hq`CPD2knޝbc0}$_8qGU#Gtyn0%R a? |or|)]4++{M=60 vyysW:;4 {a/Շ;Qo/O0-*Pϲf;Hvp3[OqE"q|7 qvYvC?#٣tgKOcp{BŻl{6ma60 %~Y*JWZ5ߜ)m`G ش>Tp!xM&p:+;Es2x7-` 3pCmO<Ϟ=+@_4W(a>Ƀw_ޘN|ۨ[}9f+Ġo(M^oJ^ДH>k$)negio<7gC(N.aUGj; w[GaI>ɏꦓ>2[,1U^ad  6Ę6fW5νdbOHO˿5e&];nB-mi*Pf =W喅CӒm 3,D;MGIX=e}Lٻxv7LJV{ro=ћ]ɔ-fZ;%Ztr0ЬV2e6!] /UPʘ=V:a-> v4D/̈́! m*yU[h˟:ț{.tۢD+# B`ZalI72}T4ur[ȬƇު7t̿Yiwh.HkZri3_zj2Yg=㰬0B'rL*mPᅵ;wAsVz/)e]oM:$ .@$@ież>aa{no;!Hwd22Ki+U% ,ueuq`4 U%t+& 7hLcgJXH+o*KmyEvEIew e=߃$0U+1< ܠ(pg)#VV14lM◿|Sg۩ -kJbcx!;, ;!f#V1GjX wT ka"LknHCuk} åBv҄-q.*7uY/Be5]Y@4 ,j;X{n[?Ne]MfpS19O_YۗQ8<[l`߳tTˠAfkK#9Lu ;cX&sΰ1>bᓶr AtYp"P"gZ V{$,   .@$\H @p"D   .@$*h2\H @p"D   .@$\H \(d@p"D  ~o2~~ዏď`a  $@$p"D   .@$\H @p"De_`i%jko`MiEp~p[A$RUG HpU`܂҅  U J`Nc|66<7n8})]g-$8=8%lA.j KgOpe"L0* O[7CEm`lIiJ8_n1YoK<+ӃZCp re42]^hYR ugmwUY'.,\u֡g~؆s5݇D`MikIAi] n·Cm—f@p"D   .@$Opm\9fle%8YE|yGyX;E+[ĖU:6!-V˝tӑ9GêNf?"f{ۑ9a=tsߌE3HHI+iI!7s|W^h*[Z)D[`b~=ck9Sʺ93xzY Y!Gu۞ iQ]cgGlW!be#_qe}<r,+ѹ=W쌫; k9c^v& VKj52;k Hݺ{q 5fO,<-s:0Bv[tEpͼ=9{Co b ƭT٠U*[4Wk= ]HH%ےcҬhKpyVݶ?6xj W㤯 |Fk?dQE.kCjLϻ!f12\so۲iOsJ'Nc[7d{vzh`ޮDz9q<4d4h[x́k!sP+d=@f5!iz=H|jQp ggӠ҉gEb ɜz#WIX5vA/3iCe vC!{J"wȔnpyYugr]Y= ,+/g?3F-5rD.@$\H @p"D   .@$L]X/p"D   .@$\H?ixIENDB`PKe5:P-Pictures/10000000000000B90000011D35C9039F.pngPNG  IHDR5QGIDATxX/BĆ&&b,h"F(l$VTA#F?D#j,QB,( &[a賠wImq3wf>?qsgIyy9AQ ///bddD.'WԤRD91QM$Q2O"Z"l"yxFV+*1/+_P+_P+_h*݉(:Z)W[ZP(5H#BShN.m_hjETЎ DJHHȕ+Wbccwj< JVŝ:u*===77FLoR+ȹL('`8t5ƍVf &x0JZYlى'4ZQG!Z߿)hbU3LnJz@.,.TT =!fֲwXLZdYii*0ZhYj)ZD*Q µ"YD ,ѩ'eqBWbY-sN-v.'Y8L*rC'P,OP.2AJ*H[C(9/NmBOB&DWE5 6mmY=B&Du , p  ^ZU0g0B^ ^Z0C諸e1i{Y:ZAbPZÀ55в= ,zE,zkeoAhY,KTTTdddsQ2O(^N<_,ɓA+sQ2O(׷ZPxapB\RR[M+)v2tG:ѣGΝrJ*((CԩS>}4h@-^Tf#w}nݺVGjׯܣGsՊ~Q .CyPYY٢E֮][N6gϞ:te}۷oܸzJIIٽ{]BBB˜_yEH^ٴiTm۶vU}B#5۷@FXUV3g5dݨt7,?|}dglllӦMgnn~Zq-Bm@@-[J֬pذ%"A>}iӦAK/UWFGG_pje˖ш&jugL*BV7o? =72%5?|)`r烼ϟojjZ+!53;K.]`ARRT:gΜrm߾}]ԫW-gt:o yC Q'7mH' 6BCϠufgqRyԝ;xzT>AA+eed }{2I]ؓI22T[\ ZYB(D]8Hҩ }DYRQ~yB,z8s}yxF 76YYD2G!@aDw9C|΋ȹL('`kh%!wN|IqD.誕^~!q'd(!{QVz$]˗9d/!oA*g6m"tA#N=j ֭ťrN !KwUx^NP3;8xU"̬EAKn޼YssՕܸAvzv9wcǏ/,,Ϗ"O7n\q*1 LMM}ݻW_>|I&fD$F|8::fddݺuɓVZz3"!u떕rzŞ)Kֶm[.&&&_YrСC+E$ޡ9G-^>d#$jyyŋay? &H jѢE p%%%'N˛?1 Ν sss?:uH R[\'!((2iҤ 6@v|Sn]& }UB&Db];r'v/\puS+İ Utzzo1vQF^YhhҤ >>ܹ3dȐŋ{{{ ?r _=z͛XDžQn]wwӧO TT˖-L9 ;,BCC̜9l -[.TCCoӭƍWXX}]vկ_u\L@Aid#G3i$l^ixzzMA%{-G+VSrr!`VСCuvҥ~[0Q+ϡUV'O9rdff&ׂ?`q1@:p)]>4k,%%e{7bqI ^ԯ_?666 ::ɓ'1eqI}q999'ԤSHQQQQ-ZX|yiiԩS{gS/mݺǟHKw"G ̞=,ZHRmذګ`*5R'j}xyyRBo.+ +՛oӍ7޻wjAIphRO8}')>>>F*((pwwgDJqq/$jxRbTZFFٳgǎ ~qXX%"B /&sTKK^z SP B}"@ɰCyk.؎>|IeKHHȥK`kՈu~q2`h?~oO+k֬~zrr2T4hCS+>3>`yԩSO<ٺuk???3M Ν;>|cƌaetJرc 7?mllh*k}ׯ?n81z|"D+eee J(#**֭[J@n:(3gNnnʕ+ā1b5s-%%%VRT[nՏ.L!+,,, d}-&Lcǎ}5hЀu\"Pg;wժ`¦S`oҠ_?!!wމf5O?fffŘQ׏_ 0PV4m+++N7pn޿Νu:.褕jQ_XVZu˖-d__߆ >|xlkC; 2D;NųsNx6l؞={( !}qGnn.!f0* ϠJ3f0 O(}qڵȹLJCڃqYl$cJZL)~`# :00ާK\6m2b/|5k%ׂ +Q~~>XE|Y QF=x ..Ƀ6i҄u\ ZtsseĉP$%%ɼ `^pa߾}saTMVX]s{ j1sa 255*6l븪]iӦJW_}羾 jE.V FII TPK_Vׂٲew}Ν;JUVɧ"/͛gmm=yd.k֬DGGˤ";`~۷oiذ!P+Օk믿`nn6*ԊL۷Sx_[GGm2 "_lmm/^?0 ))ΎU<YeQzzQN< m0uU)GњiӦsI>u_] &xʼnիm_teӦMc5HIpasU*UHHgP+J,444 6@.7n0XZZ}Ҵ`Vݑ#G>x 66H322r-Gҽ{w3''… jlmmś`ڵk9|g/ }i:ԊIˠA@="ݷxL¿ ;fc׮]E`_ttѱ^+S^0CP+JSRV=,.+OR/ƌEr7|c}5GϜs6>)jEl8~XmnۼOJ[+FFzurFu;fj!u Yg E5Ht_]-E)ŕCfy)N$QNߑkGS{N8kyuSNޫ6!AdkUCbbld!"MZQ*ƦAsUK歽G~9KK͈ZQ6w.IQBP+hkOI4WVV Jv݉P} f^юR>W9W#\Iv:Z)W?DHU*s"~"W4kHH|iAڡPAcNٯho\$Fc.D+999ݻwYU\(G͚5_鰋z̅:JT*ݻwMLL46m.%aN5k֬[N>]ɤk?N۹sߧOg=0GѝhĉTzj'*E hhRBAjV8A<\h5L9ԩS׮]رc ϔ:n:##DcY?Q ֬NC㖡M:׶R"0+T,T,#\+-,"!P+hYֲ|Ѳ0eвH[ˢVZiakYk- Z1Z&0,:,вEZZ ,No0Z&,^eaB&QMTղ(ޘU- 2oED&Ew- X ϲH,tB,09BA+hY e֢eaN@"=[jZ!hYEzBG+hY ev8,#eвHĖVZiزP GxuZ\BS Z&HiYh,ϵ,3\BS A"-RZ,Kbbbii12p6J8bkk+v4 s޽ɩVB0"FI6ѣ$9VGGG/<-Žu<Vdc.A#?/////4#7a O,z;܄2<#!m:X AǼ'9YgIENDB`PKe5:^ƞ<<-Pictures/10000000000002D10000016730C33AA9.pngPNG  IHDRgЂD˜u”/}pVQ=jEjPb.WXuB{*so̒Vgn8_6FjŬZV7i2aFkzy:g׌Wwu㝯f e1̱G̐` s>K Ô EJ۰:6&J;}Uz0[5=ؾ|muDb֝2ddf051V6GΑO]xǍ?{٪W_X:hq]k;_3c\jۨY9d jY.*;mWW>~㏆Sb,].8Xh!zy9pa6}.97|C\6{2cY'7xncm,5W5J0zԠdzMݯ[ioW3!gQVWPzDgLKj)N3W\}߿xwNꫯk>g`R哔b] p>lU&s_cfRj Ѳ⤷e\wubN*.d;Nw龧K?cd(̱ rAW>̪lQ)/rO<} Y^ذ:}me豿%}LJ>oxo˧*vqm_ҥK_zzDFB}Rúv^4ϗ^7kq+ǞԉG-ócnipnʜԊb;$ _t4I`Qaj͜5xyKVu-[^cjQPa[F ǦΜw̾UU>T +0w z=) {2[Ȅ!cG9- Xr%Q3k֝F}D"?%ʈ bcZ;9iLRerInݫq9Vo?ۊպui \W+j}_̃{K\2fJ0{/DWLxjL/R9-7N[j[#τy\g}\ PKu:rY׿bDfx6} wa˓t+ 죟LrE~E4f-^i@X{/aF̱i}Դ"i]ETg㭩_׋v֐'y[,v?՟`uGG1n>ˣjC/BTÕZwP~xzBzZGj-BUۧN&VbY_R2D˳E"E)u f-g9iUongC>+{V4nOI_{/.oKaO6Q1- Q β/:Rj[RM{r}a֩|gպYC]UQcY?&˫sl鵺__Ͼ ~(߻~N&"벋#][HvmEKW^ye| uE]$zuo, ě!^QgPREm!GN(g:Ӯu*/5xjsx6#lCΊ{^Clj[a{ſi?x}X^_=sw0p6?}x3 tJMVdV ~GnݿUV֬Fd YYDuYԫe뻯֠U'V~ ֵaX7yG_:=d()t+%(>Co{ۜF%uoo)cZ?=WpsoXsD>3U 9tغM0nGR,xi(c|by~j'εsܢ Rip_j@SUd(M 'ث _E^g{fe,5D9U~nF8p/h`ZÚօQT?Go0Ǭ +ڿ5?%򓷮XE{@Ro+W[ιiTLRzM7=3<dZV7ź֩ p-RgLwj#J&!p~ gWNw_-ʰ# 4^mClL[ӁsܫD/ukz_cH0Rjaa"v1w h"Z7;DMQg O{۰cfduZH.t;xu36Ϻ"c5/SƯѨ*Cd1t+p_~W8COw\tES?Uox5v7^Y¬U356f}_ _ý4tl*wO'ߑb.I+ k~qPa3}dbXUاspCe?T.[wXqVTfU(T?!2nOU+;ɰNˇ a׏;>k~SjnaVG\Wu}|{N{ 1춨bǪX/_SdtXyT Ea%qˉ C"dª ;,msWwsϗN$ws^lzE<z\\<?򦝥)QF/7bkp]F,kZ]EѬVϮw 1ͪ+W^)Y~V5E9̚ nW!5~og׈{5GjRѴ\=)vT8̚,L{#9PqN^Q7ݩZ쮑i򑢨lJk߾k觕0+΢w)u{RM){bQԝ{o[ٽ&yA_Do|G}GjgY7]M;Īҍ L\p[*u T+)Uﹰ22kBl"zOz+5֍M>(N|ˉ}3n<[}UgcgQ/s䣺º¾C}Wf6Ivi]~uN*K36Qp凌@nAXD^"~GLO &&FV܈ScΎm{9:i&'b|Uˌ t s->;-['s@2Ёt s@2!*s~ O04ݢP=Bs?5s!mܓfH MS0]Yy^p&EWXXiRϱjp5[$@[tl?'%83=mH$Uذi={4)ΎykdD{Tmފ/NwJLMiQ)֑;ȿ+87ǿ4xZ ׇS}>swHxz<' ׅ~`u*I#JFuWKt +dCѵTa6"R;$ǦmEгk3t &͡y5Icܝ4[IKk[j:%| +/Y¾QM<{|Jk|(`iΝk -N O% kH[>bDI䕈# y獿=XGy't^zillLM,X@2YkoGym&<9i{ԓ6b:bibi+ [%zfFl:]27&y{ :Î;UVWڸqhѢc9O>3f̘1vm;mr-\sivysΕ֭[CXK/=9 #יYlf:֯_?\p p{%K-[|f^{%\r}]uUGqDK[Zv)rˉŋG|S>v'{kα~z8^z/}Kс!}Xb\qժU s!vq]x_Nz9Įu-^{m&W;[to#FeȰMcI&6{ayx a4 -1]s裏K*SL>'gF,|G;S;͛d#v(#4=y "-ClCS$~t[NMnD=Aؠ yx7ˎ;璊ѱ8}E.+iX&SHH;C[4=yJ5fd+Fm<mj,Gwu+9ѱ8W\!:쳛ɔ9yFtw:g&*Tc 7};DXv22GG2iߚx6M¿2ll]1CI)4zŴ E5~:{+TmH&n#Qb+i8ꨣd2Uos_RNuY~{Al5y 0>n!,Y̑eGTYlɶ62v(hg^1C uH[vM (XG9ה7FJV(eя/~1:p8;vz˖-]%'FNzN>[X+'5H{~̘1㪫R7v\{ Ӄ,&\e7|s:9DeO& :mqG{ァrmvꩧߵaÆ[oUbM12G`GAd9pCugF+&oCؒ".:ȁW#U-LVRՙٍv$22275,"oL s@2Ёt s@2Ёt s@hQ~N~@[qm:@:$߽n0gŹ2geͿiu;@'Lq?!*sZ:)Lkls9d@:9d@:9dCt`s0;Pt s@2Ёt s@2Ёt okw+5{E ݊9L!: siwC"-3' G}iae `)Kgs/9Zt`ۖluD4 @:9djh{)UuvUɑeF:9`μM93fm2G{F+Qߥ#Σ{78Dxg +6{SΖqHÖ>$Bk_ƑyEtF6\5,RZ"2i#sL2M/)OCl1ifT"󊀇o'T9i>͜4 Ѐirxa6LmԢ2ץΕt!rs]ˑ9d@0.Ag8*EF:9d~V;dm'yGf\hap#s k֬owCrشS',];bGfL^%E|Dn^8zDe yV|c{J]Lf;FSRf4q*YKρN#?>g欹K=Y@2:Z=gAovz}Kz uH'?Fw3-Ǧ7:9i~ѷ߳TFj :dt s9@'2G̙t˦݊($! +M"9sN~o~J49@'2G.̙TMt8K坪u*X|L8ƔZ7m@vܙd[ӦMKR d\$ 15 #Ζ O*^8*$>Ě B052cjf)K3/eR=3A'C ~54+{ ߼yh왭nUn1)KY,eR=%YknH%w{ю'؜ -liqHYRg)A@<;TȽ@(2Ёt s ކ[n=kV]~?hF@ 8޴mnHT+'tb?AH=! 7yY_2A@ t%[Co{+ep~~$>dtO?e4yCR:KT2:V_w28VMw0)KY,eR=4k+/|8KҰ4 Xȵ@=#G[&TgWÙVeݏ 5_|LPԺi,M?\ЧX!qa:Eh'.F2_QyVP5'd(9sNdNJ\ؑ*$J 9Bpp/U_-ܱ}g#<҆jsg.qHYRg)AhO='|써d8W$i~Mc9.`RY8z9i߼yH][PxBUnH"=c䉙s3AdRCR:KT2Х,u2d@:9d@:9dK1)KY,eR=m0g- {;?V!e)KC@ȑ9 BQOKih/2G{C3ǝԴó(zu-2G{xH g&52ྼBLFds'#/y¹?_8pum{@2G{x+? 4I$@{9ڠ?q 2q*YKT2ǤD@;hGl,mR!Ճt sLSw|9d@:9dKvDHTR!Ճ́x6lV޺uYϚ=s񢅭kOvDHTR!Ճ́*piݐxÏ_VN:ĄcD@ 89nH[Ȫ؞r|k>C=4iuYslz3^oEe>1QsaǎWݷ7Z~tO?Ǽ#i>6 w:9i~ѷ߳TFj :d3oMϵ}meŀ9KmdȐsF{3{9^=x ! +dɪ3'W'oh]ϑ!YRKT2G{8 !\y3]CX:mHKǎ@baEֹs$%MO",տqH s;jS{g2@Ӻ'[a{+c+kZQ-Ad\KbcG؊͊ $I4pHY~B’[YEx9@'  ő|)_ |.4#sG®1qFlm2Mh[aL0>#Got'$78uܷcggCF=pF@gsЉE9k%$ɢh7v?ϱip{s5YJ?D@18]Nq?D@ e0녇-=& {?3Wç!YRKT2: c'!YRKT2b̚=rݐx}ی%|!wn@!s E GV!z}.;dē'f9dbd۰q`v"֭gJ^9@'2b%okwC ?vZ9dF@ 89nH[Ȫeڵϐ9@2:M8.:gf[nGd)K/eR=4[Qh/c+%,e)C@s^M띧]9iܿCFjo4#sLs-ݲCrZݪ{=4/fz[٘KuaET~txǨKxo>Y6ێeЙ>̺?2俅uGVhȴQ!{V9̡Oll|oU-)IENDB`PKe5:fE00-Pictures/10000000000000E70000007282585BA2.pngPNG  IHDRr'=Q IDATx \Tu i"b(h)>DA6P6))K7Gkj3W\5 W7S4|4+k{tXUD%s]A38\afW>{3w~sϽ3#~p:[  P-@Z<@yjT  P-@Z<@yjC|kY6? ȣs_4XqFipRßqZ+b_3Np@:̳{yiu1+dE"a~r PPh,Yk[\i񵴗 B WcB¦?\.+*m(>="gboMLFQlUljt՞]ﲪ"r/3=}uwx X6*ܫR.žN;RܘB_v/lY_.e*mMqnX|݆-V(%K)+%|eU}3"ck vZ?ʚ\t9X?{?~5g[#&𲉖K>,bmoZb-,f% K@n֚ocuxd$WI\^ u_ݑ߲!c( ݪ@M5P 9fَ-mljtL,,"^p!tKrJ}Ƭ م\lvS]t=zCo675=Ԭ59Oǒ@ @Oƥ\Y1X4S<>ohSL&ZXX8,^-RA;X~ 9tAhffK׮[bbD55Dhy]Yp4^^#/Kк>yȪ# QM2T69<[5g]WR^Q.1(%Ū TUHdC~6 읳-8qǽG h.YH$CPPCJqO#mӦJww];ai2U`b*jtK_p^5>_#V܌ kS9ZX9Ll@UH㹴/Vjjjjxx89y!XjbGL"F}.\0aBw~KI=YSS$ˡ釸.BGI?f!KjA=,Vf|AFF.N,1(Yd8ڨP7vN)))*3~ IbX&<X!詫#ˡ_'r7+jɪ{ 0%ЙY5Ux7^'#6P{7&&f~~~YYYN\3zʳk._< ,x9eڳDGM YGd J,Z\Ki3[Ee >lhh(^e .&H-Cpw1>Z8YQ׮tA(zlk>-FW[K <9u('6EFR2=3g?ΏDQԭa蟓3wYf޽Lsg8L݇oH0. /i] GnZZVi_Wg7GK [NK2̘3G)*EQ/O)W~p KJFZޒ/FDD,[9=iS={JC 2 t'_X.`k׭*@ F#'Də9SjVy2@ƒ[,Y4`Z,z (y 'ÆӧO'&&Λ7& t&-2Lw[qyw Z^?rҦKnlJ=WWՅ3uUq 4e%x[&3ag&;tҪH\\XT+Ox¢KV)Ʊ잌^^ DW&F~cSOv2P9gO;IK? $&Z@}#G8MhoLk60|@&}X#\vؾ{Y0L'SipI'Z:^2 o8v$bTjm/qo-wbYͳd/'C0.EoD/Md^7ϒLse P-@Z<@yj|?n `pMA3;"`JŚ32^ke V(A C5նsCc>!ndy̥=} BLܧT蒬ҵZ1RZUj״A0Țe)x8DZs*)uqhqL5jcT5u]jF֙Z$k9%^$_͉I Th , whkm2 Ue^v"BK Y'c H sXSW{xZ^Y%mWt ZfaȽLIu7؋856nS:x5jՒ%¿D- ,a$ka}) /8ՂdH`nX H4՘oL @m!825J*XZ*6rJll򄠍2oEk̾yf͡#3}Ǫ{zz=))twwG6@.!{̄G}cUU222RK%ޗ[ >RRZZ&H*𰺺Zu 7)3QgAAAn WWWnU W=;;;33*%''goQ7x 秿^<=j'$$x} r%uKgIƻUty1YtPo_e&a5?Wqg&$@z4"3GtA ʊfKfYYY@fRPP@Ny< I C̙|}}􌌌UTTdgg@" 8t{{ BooE#Bz!)sՊLf*=11Z: @\qqq4vI9|(3\qq1$33SI_)Q-C755A*yM9d)9f&2 ĭu:TommPp x0x͏=|Bfٱ5%GV"յ _萐4!00YSKh(̄qBC9gXtxW<:L\BD! DWC ݽF^ mmm!xɻ0|f\[[K 322K`x\%&&FpDrc-/pc?-Pp L| &7*LnTܨ0QarFɍ &7*LnT0IENDB`PKe5:'ww-Pictures/100000000000008F0000003DEFD92C43.pngPNG  IHDR=>IDATx]L[eiO{=&37,nq5M, .i65]Wz6c44 9Y0d&shl C!ҞRF-)oh}?C9&'2%pM`Z4iE\OlQ rUg{ ZlQ >oEM`Z4iEIZ #7oB$iY/h.ޔH=5?8Lk4(߷oiozn٭V^iZ( hɱݗf؊"+Ӛ[?Rn =t J@_ z˙Na("@Vb2pkYvbrjcA6辉@`6?J\ʴ =é5g5uZ?g28.Vn޺+]N\ʴ^q ba$K0Ye^d". Ed eZ:=X`3 tֲ CсD$Ib:2f\t~,3χaQF "Hb8PD2bXEo6g\QaX|G@]η7ҩ E(zpd,w>EI /upε3PD2zOM%gW>"SXLl64x=Ӱzcdi( ?Srrr67DfE(+OUGvogNc`ElَsJK+k.xy<*J.X˶=Of8eakw~PBǯE[* ށ3HU̔]f$,oE;/v3.RI:"eZ˳j$ԸsbRWR9h(oMDWr">!QjNSNt%̷-Ǟ7jo'Ֆ"(xO/R讴|K;+TԹ#"c/Q g<6_x2,Ju.RYVws_>y1W6=),.ŷ (YF*_{ґ@n^ h%ډR%UQhRlom!עY^OHM`Z4iEM{iO܋dz=D-\_@ǀlQ jiŮF[ɮbD4iEM`Z4iEM`Z4?].+6_IENDB`PKe5:y1919-Pictures/1000000000000246000002CC01D5F636.pngPNG  IHDRF8IDATx  jEкQADAꆀUqNO.?wŃ;[ZqnTTTDdQ[QA=*m?q$'37Oޯss3|ܛ}LT Ji7DDDDq#X,r$@FiKiKiKd6Ҋpd#u:A,xNEՀJF~VGT3jT)^1 +HfA& U:1U'fdx4xD8 $+HXHX@U~Yō4  `Xr!γH-~ A!'6i2C7S784DbT X*S E*z~=[&;^X}P >.uKF#/D:\'w05,,gjT`UD꨼;]@'5Yu8V]6 PF!d9j|f5N4a'qO59HCtjnbu7(YI}=YA!Ptĩ9Yv/_! QuD5cfAfd֙ m[c,fLI:1UGH3u Cg3ru0DjFZQ͘p3%S{?e>G;~iuD5#fLIY-LF5@ H5@Zdx 2 Ԍ X]Fi yq# \DD|޷r)H*ިYDV;N1iKiKiy 4DGg!|UrWW#YY Ba5%YZ Oue@5" y-s(W=d&9i@HCi0}y#aϗGii2j=' K)Cs_ P3\055zP@XDjdL֜2UEˉWF! Ґ}Ţ %DlP, dTiKiASeRX49jTQ͘ciDQuD5#fLI:1UGT3Xga+GTQH#SunKiKiKiKiKiKiȾbq[cP)! ҐwCʀ4sgt| LD+<-DrE+TXe1D2HCUZn@Dj9D+3 4`%( ,"I5 s4O8񫯾 ԙ>}?;I5 [J~iEՌ:1Ufx@Zkuy544Dѹ;mڴ:ig?}̪WGXLx&VGT3$LjTQ͘S>죾666Κ5k=<#UGEڔ)S.wupex]ZGT3$ !nk~7*"M'dɒyuرUq} |DDkhhѣdz>"mذa^RiٲeNe<Htj"_#Nkݺu׮]c6 )4H4YGA:i5N` " %p: 4d ҐNHCp: " 4:4dD!8&" 45iNHCfp: @0" 44d#Ґ: *?nSe觧j^>쒖_U$,tZ&X|8sѲwFiȒN3cY':?~+ýi9ؠfiNBYSB\g$,4dBQT=;jfLPQuD5cfLՉP96uiaO "y@"ԣ"TG<W_&9߭" &t 4dXB!ÄNK@nj G!v:<iȶN#Diʈ4d[t\`tڎ;ȐȨ#SuD5c"4鴘8iuD5#fLIR-HfLՌ:FvajJ: 6COAʑVGT3jT#2C΃=CL 5DDDDDDDDDDDDDDX4H DX,65tYTQ͘#SuL5##fՌ: 7S2CUGT3jT+ l刪#iuD5cNp` " 6(VASuHC55,T@J4"43uHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXT, |,:Қ žcSuD5#fLI)j9d1 U:1U'f8HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXT,UGT3H[(T+W U:1U'fJvji Ŗ `a]GT3$  cŢ@L Ҁ\1Yuec߭Yzb)]s TirЀD]+0:-;HtU>i攞yYPsJɪ'>E^ [i@]doJ^/*'uR3}ߖ|iӦ)6 ," lٲ<ر7خ]W^yeȐ!Ͽ袋n喴\SC_qvygCK,9#GJ+r>ptԩm/dMRi @Dr]v΃9s8I̞=[}mݺ믟Zg#Ґk=zz{x[nԩSJ;!@!J]wݵQځX~~>|xHCuy5lѢszпQFi&C!?W[o=5>` n @Dr믿kՃ~zi " h/V.^, >Wgd:/%CƓYoHC~UѺtv;6pH JwVS`hX3" 9%|~9[i)C4vѰޠLUGT3H[Lo)!Z+ǵ_VEu񼘢<+{ (oե*Rs6cN͔LEՌ)*[o&d3W|Fg $WEXR![`iungDU\96,⢿67HC=&Vu`D8"jHCHs|tI5ρ/D@!_#Ґ# F$HCdCi h)"P " y!Z@ihu#XHC.g&M7f0HIP]~w"#`?h seU@zF " c$Ì~w'`IГG}{ k.#[4،!+Dl&y8" b l׿lA{YVC~p֭['3k" 6nܸSN9sy-|cƌ)J>>7,vuM0avH` Dkʔ)jb 5>e]-Z4o޼;M6*Kg-ZkTN6ݻٳUK HCV]x*Ϻw3ϴnݺ.+nA%jXv%#<F,A,A,A,A,A,A,Ae[ XnGbQ;ͤ8 ߈4%4%4%ԸN9tsݫoU3H<6H:u*9_j !ʆQi >Icg{i54G9yi^gFUfCA*Ezjiҥ;9 Bi!*ND5" ` "-3D 84%4%4j^uCe]E*yibDo@H()=߾7ft&lrU+R*N%$i V94k:̈́ P/| iKigF,A,Q2u;%QuD5cLՏ-efՌ: 7S2 ,fLP)LՌ:1U'f8tS4@&EƂ/|ߥ\B JDZ\TиAgK |4#D(gVxt^v#WLN5jlEe 1Ce.DDZVq \4%4%4Yjף\ Jj~s~e) ^')jK"i?ƢuD5cN͔L#5ny8Dm)SD#XfLI<ϕ1:[oU Ը95'#XHXHXHXHXHXHXHXHXHrV `=t&0[۞:=N愺휨^G` 1њ \BNSuBkR-I|D࡮yV/|ƲghRM" X0+?~31y[,\pDBvCESr(J;2HVQJ;KW*y܏ ݀-QaSP[*:߭~2Iecn" yŁZY(O0:ѿu\ [-ahvʦdV;Icݖ1r$\|ţ\<[ʠ/Z-d+B a\̮PR&" 9"p_f$l{Qa.q~iKi^$sEHG%<HGy&{aA,A,A,A,A,A,A,A,A,A!EQ7op䓉L)盨:1EBR92ЈfՌ:1U'fJv٢ji %jK"Q[TQH#SunAODLy ADDDDDDDDDX\f!ol@Z4%4%4%4%4%4%4%4dٳoV>z;QKEccmV%K_rHC=zȐ!+VpyGhٲem̚5kz &LڵkyF!z38C=fmc N:ugu֘1cko?Ӈz믿ViڧORs-^3gΆnX?@iȪK.D}իדO>РtMg}mvo>6nVg3ƌ3vygEuYȑ#U% sD2q̙Aꨣ&N8m45vu]U>`odfՌ: 7ÁGdUW]էOɓ'ovݺuSkO?v%@yv饗vn?^{7447h!C$ Rc#*^y*Z{m=T|ɾ};O?3ͦnO4 1DxzX~td ٳ>w\5:cT$V!V[moy睓&MZl{}ꩧ 4AA(dr%СC2òJC4GV_ F_Z=D sK=z H8 hXDC4@2" z C4@2"  HCi+hpD$ Cih<iȌ92D2HC6gh@FiȀt!DDcYAA. y " B{!!D$g рl! NxcV]wU=ܹgwy 7P*;dȵ 8TtmҥK,x @xDrm7wZǎsU_[jնm:\{۷o8pԨQ[mK/tWo{ i7 " Bkر{5kVodg}&O~1maU_ U,z̺zRHQ#=o|5D$Z8" W`Uf4DP[* B-?S$pGMC9bjk0fDIi@jA]!o&E5T..ʱ}]eTD/3hcSdTT{,?جP Ҁ`9!G5_b&/¥oFni@h"so"|jZaȟ"VDy::]g=fV)aA@<;P4{,xvd*TmqbZyUOـ6r4y;! |t?t1^-7tiKioQG5" ` " 8" 566N:uƌo{gg/_޲e[o-С.ҳgނ뀁jO&L]y,fLI~G}{4i?P=w}{//ˣ>Nn6LS1f]GT3$LԎ@TQ͘B-]t#GTmYΝz7xnѢʼ/b…ϟ={=o#tA_|qn7CԖ*XcBջfLIB_Fxӧ}/T#iӦ?TAT:ob-j@i٢EN8ɓ'ǭZ~wgnV:mٲ~ͮ{L f͚O8o>餓8ވ4dҤIs̗_~\s&lNCCC:s?SN9^UL~Fa;SO]|W^1 1 Ⱦ}2dرƍ{|[HPHCa̘1~zн{Gyd62UyuQa٣GUƌm۶]dj>T"s|e˖gq'o[6> rW_=lժU~ҥԩSZkB}޳\N{{Gug iuYg-ZhuyGZn]t}3n喡C{75(i5eʔ[=9rdgSSg}{9?0H#0szгg?-SVgujv>O=o~8JDZ=fRqT3GfjvtA BM7ݤ{챇1S- ]t/{>x"rwߝ2ez0x"Z<+4qz뭿/DSy6m|SFH5 (i޽?޻wo]voF.] AZha>i(x/ap=k93w=g̘0{HJ={|W89s}w7߬p eÇ:t=cgp!m^6lѣ_=zpzjvmȗ_~6ی;6N:&" ?kժc=vȐ!*&5tMO>*]w]Xb޼y'O /'\s;Oe*r)" nݺu1cO<1bĈiӦ}'om[oo:먡۷~_,\w~_ 4sh[S IDՌ:I69ٳǍ㏿J8Qj&uD5cfՌ: 7S2x9uD5cN*L PL z{O?]t[lٶmvWҥnkԯՌ:VGT3$ ]35KE,A,A,A,A,A,A,A,A,A,A,A,A,A,A,5?K@IENDB`PKe5:gll-Pictures/1000000000000127000000CC1064F709.pngPNG  IHDR'3IDATx pV%}a!\^.Bɽ@vMjaJԤ6T6GUjlfHvlAN2;0L@ ` lmhuK!rd_OO'}}zj}#n PTn@uPTn@uPƐ~OygS^),Y@zN,RFR RR=H:`gtH^cH:8QB9xڪ\`r` p!$UX &h6%9Vd#=d)۱Ԙk3+miL'FĠL1c1&Y-䎦}? ,`4$\BD a@"L p܀0ʀabƨ R0!MLxF D Ą2 @F0pp܀7:L2 c1*@07ab.dDȇaV"A ?;]e i@>̬ ?;]e i· 7:LP c1L@nH09۷oV \ "̭[՝8qB\dG}TYYiI AVyKqfӦMջw.//$0"Le{1$3gÆ ۾};inn~>c s Hu۶m;}4*|'ƍC{キ駟^nݚ5k^6 V0f[nAhTRݨQB}}= 2q}h%GivXik.70Acs̙0aÇz_ıO>Qg%_yomVk aO?t޼y'O\|1|p@ D^|n?/|=rcn<0"~VX1{촪DKW&O4BSN"L!ᡎ^0Db%pwTvvHRT'Gi zY65zF 9|b3[8V$!Eu訤P{x'*(:lXUÑƉG鯂T&@(ܚkYO"TAGxs~_aqqNXZ^^<9:D2vc;pooǹf KjlVY\RXi3t/xݣZjUrk,?|W}ƓϜWvhݻqÆfBCZ 9¸k0ttm훞7Qnj=G·޻BVy(#kS,V`4&`GW_f0^Z1qc}5Bk7>[3hta s.:э ΧP[8~{gݺu~߬N(MÑX 'Lsp_nmTg ᘘ# ֜sƍO<*=z֬Y---۶mϟz>8'ѭ3]Iŗ?>֪J4#LHCya8]iN/ŋoذ2ܞy晵k׮ZʤN@ԮϏ_)(ȏUCG=ۦ:M4}iՀ`"a0Au===PWW'Jrg}I套^2C%W^QJm7$v5'љ̡؛#L|E؎ԦM(3%e6th#ϲ,>r l6hl`-U03كnnիW$ʾb(y)DyFY4v34s]"`;&բt a+[l3fٳvN{^$,; kjԢat}-H0*Eya웎9c555k֬YjUKbe^{-ˎ#џ˭;+wzTQ^yŔa:cS򺺺oܰaÒ%K.\h&8SL~X-039v7|STҥK+HnyM@`%7Wܱc! WDv W#vHnƼYH$p&8#LK0@pR D{^1h,sicyeWuBM멪\-9^_8Curvd*7S5n|֚E3şMq辗 h:{-F_Z1w/yb`8a6'W/,K$=Tsqf5bH7Ds yלC/|ü܅3NaXvs7bd0.t흴-&#{̟2G+!ֈ_sugiD8 ¬( N*96.0^OǏ|?mUPV,jT&[Mem*+*T3w*2L&p(L܅ʛKb3?r!tZ??o?o?: b͵Y&sHu%)PΤYU'xuwt88Qgȉdž)&n78͞;lM^J>?e7TVȩR%Mw!baTg):m(GQ莭revđ}`⢂]m%qE" SV~->X }ʷ{}ZԎT/[U^9ZPZg%^> ys( Rdu4^Ora  9/ /siK$O\frݖkO%5P ei4HXH|ɦrPpT@ f\\|HWGR\s lG}tA^֟[7s4>=|_c}ܛ"G_>M3 &f,0/V_ |6vMx%7vi΍]8 uTʹϛ±{>ι|K"2:蠭:br] rs,3.E ):۽z|r̫%yo׉j0̒$8)b_fim'B& H@uPTqDwe^o~~@qnhnj#F #M-n#Y¦M_$,VO23Tm# ߯o/:qRƿ|IE-#.?r`KMjl_ g9Ap.c;Cu|Y $iPbP2ij:kWYy`yXYVR#-]䕙]Yva;Cu`NU# ?ok6uMS!DO/0.􆍴#׆=+sQ\R^ꓴyǨQKTsal_юΎWWl %$ SBսxݗ.srrH8b:1\4)|NM@d06&?V{h>,Nrɢ314<,҆TPMՠ|T56i*FjjybI۱豁ajQ^VZXX ÇU1vpE9*yt$YK}(5GŲxS奲z-F\E>Ws(ENT'4R#oVrv ckTc:SKџX8q\Շ2:w:;nݠai6`F< S{8kp: p܀7: p8@u}}Gaݶ 8@u'O&mT/iϺMKMa~w=uLA'G~/2L$[;g 3%GA:*u0yT?RT9` sL&Z7볉H/G5|DQSDҦSl.Uh9m1j60XlYΨ9\rqNJRm*g^~Eiuz-Hs4mr6#)Rmެa=M& o&42.v,@':>m *Q/Z+cf [Y0/:Bőbu'`s$XaڛF?jg ґUeJ]-K1Яͩ6bLSi7RS]0KC=vS e@̗13U1BlVH˫k˫47TFR5̺M3hSHf>=|e͹4Azy#-dZKeMfuPs̞7 B-%_|CWǥhwd>Z2ZYp%6ll_L5NV(}Z!֮8P~(=qWRG,򨿥bzuҲ7m4A qNrq}f <\0'AvcO ON.6tuY1"qF0^k1$w|ٞ=5ƽpXz[B|ɚ;.]QǦٓ\Yӊ(b(}qCvvJ;uQ&v¥mnv{qFFvCr:::mvou9-[=G?ٹsF&KB8GdUtќ'kr~ީ[@hԳoT3tlݥǧ$\/>MS@X={M]5Z3*8pN]K'$-SgVש5$]oHMI6k:jeMyBIWrO믻X?sƴ0IyN'kwZ-A,ӜUc_y SQXJeq,.{W~[Fd5AF6ig,?8]ۜ6>'DK~Y,6ɂ'!:U]8W^C IbDρCAӵwD&)i=i\8;Y|\3+>+ӉaI=C&9=jئM0H©޽lsH:NhUIoIINI֮~)NFCO8O:zOCBJqDaJPʏ|r陦?Tm_8K5"kcUՐn36v`toLpj>iRC봼\!"Z$ovtAb T<ȜVq87ak!5nMq&ZT95D*ioYHi  ZmgEՄ8p0b:{V<R ݝGhojO-ZⴋaT-ak?wNsl%3ɏgEt``~-)):r;ƥ|}vQH%||tI8{^(UP' wq.+@|76u,!l\;a:yy9VHm7ڤݛӘ]ҭV> zY/q$L[8aF4`띚3-vU7QajZ ]9yx YxK?q 9!17?WY>' ڐqnV]R\R#,?Z=J 3 qHM >Obn37¨w>p˳K_%W OF!ދEsghBi N?xEBBr٧h0;,ɟ9Ǐ>Ryi!{bHXSoqc$DC& A̝|<h߼)J볨ck'HcGd4ix~1޷ȫR/|/OK RM/;St1YjI)D b A93'(?~*`@BVmv#gRX~a?m1A#Xrˊ ȓwsk%[$/rah="fӷo=۝pqmmR*R AT7wL A^87_0nîmߔ?Ao7\)?+DhƥA 0ʄzH⃯_DPb_~ ߰VV=a}Fw~w/ر-)Z=9Hg_Z@qlw߲iN s0+<XѪپ_ OaNطJtQՐc?adQy g~s0-/>?[Cϟ[O9%; s '<豲n}== ?v{G0KX<ǜӑ]|vH3Infs2N2vo{> W؇7܇ݮƕ,~!LM׾(}UTkǘ'K {J(ha)P0[Tڽs;wZvr-?IF:YlΗ~!8lg>Su!Jڊ GNE2 O_a?Xt1W^~WC+>ہ}|Av7uZ=q>H$XuUʪg!|2{IӅ˗~q,oUѪ_4%.gpV?Tzr{'Q808YyԹb~Ҋ†^, xQ с:sL@D[(;&'bɫ x.} A|#{w@GDHJ#x e>ԏP.HԏP.HԏP.HԏP.HԏP.HԏP.HԏP.HԏP.HԏP.ԋ:ձĿZ@|@B # R?B # R?B # R?B?{stIENDB`PKe5:-y`#`#-Pictures/100000000000010B0000016E3C9E9FF6.pngPNG  IHDR n#'IDATx}p}AƐ8.HBR:]uIL 4%k c;V'IH aȩ,ˉ& !=}e{ٻ|>wWv3>D{Ndyt^Vin+ ߰7yzϪO A*o٭2˯S:qkxm=nq˗R X\ @[/K}-^^ly/ɞyw|jr}! Py>ĐMߦNn[u!HcHmP!=qQ\zgy;5s -dX3M}{?+?{w݅:A9-éHH~ /]jL-Z'8:yk}Wmj 6OLO^k>}.{@+d-MDU-c5R_ CQԆ(C>soY~껵=V$!"QC1ΒQDY2W-$D "_n"E*â%'{KD/"jtQ*LtKbvvJu"W@jH"P eByY5Q%Té 8uPUb!@MC-[NFͦ-"c "T1K;G^ geCrc &HXAGChAo WؑLTl+HClK[xDBb9kZ69I ?!pاsF8 WK:(B!-ECdqiCC/:pkq,S7[?D(oApQn^!@)TPUb!@MT!*1PcPx pN^CҜ CH>yYnɐ?$ˋ0Y|0o%HMIj!-D/M}ܓ@YCa ̷~y^Wz . VK0M!b ɑ?ܺ!n!u2B1DC@~P !r0!ӌwN`B1!+I2{" 1NTZ?C$CX# !_,h:r~XC~!!aBbq"-@@nD>.Cr1ۉCBB1DCCl}*:xHP((~!~Iu^( Őb; ms~>C@p Y|y& Hbm p P[DC1+CfGgD `bV `CPcB[DC1+C1x|pptt~|xլrݬ0<]VV!7`L5z4{ښ5dD0a1o)H?F+**Ҽ 1扐ۆDHCLD"۷ookkd5fq%ٳ6?^﫴1޺CErȑcǎ߿?,q Vuuu9DrC͙3Ǘ H `L#uuulnOOOCCŞ4zPyUšLm۶Ld`p bIS0c؀1u\@`}*mAC@cM0 S`p bI0?xm:`LS5!$:6`LS0 S5!ッ+++#H&Nebbb߾}֭+))S~^5LC=zt֭6l8|ݻwp[[[UUUWWW]]YCcdժU\~eeeW<j1u/AA{3ypي}}}+hA;W,ze;455 ' SMi_1pOUCC &4oiiIrKMǘ;8ijkD"U666677aotNmSw`qq1rЋDZ^^^XX844Ė; :F0~EΫ3'½.8,ҡblpb(#݅zJKKGFFҼkw$Z׈_-0Ȼ1u&#C:INVw{,_g m@HwwWӧOypGFwNN:-9י_>u_noo׋fOZ[[3~iٹ<Sa1"9~x4z޿(;oHnM ,_o.&l t1$l߾՘&Dg>;ض`q4ïqs])S zWUU[z.#G;vlټoGc~QTTp.ʕ+:4gΜ\->a#}ihhؓF*'O3ɣ1u;h_\ځ4+= f ttt466ԔԸO4 =\3D=$---CCC###;w|WiT(5ST kR2Uȶmr}E0 S5!$zЧh S')W1ul:A  I~sYaS ?u%P`p bIB8~o-SL7+eUx\ 1WiS6p~qW(UY3u0>~?{@NgClhH&f*~"V~;Nŋ;wcP(Py|cwZ!?:[D ZAA^[`ҥKm-[F}tR+1x< vO<8#3u9(HQ$]u~?r\G.# ~?r\8b.p@\ dع`%lT)<l VΎ\l\R^^Q 8\G.#)΅xt@)B~?uԀ}@˅xݘz78.LJ4B1wѐ|,[ 5Js \,L8;cǎ'=/|mH&_3gTUU%_i) +n}(`'_SCC|p!]d\R^^Q >nݺ}%sR1΅\sʂLE8JJJl4Z pa?O9h!A/J>I M*rbF4ۖ\J!ͯ=K tiɅd\U S Y@&TRa \OQ.dbt;>hɅ[ BzA0,Zr!+-FwI @:RaԼ r_Sv;R[ Yf$n#FG)//( /$;vlj![on#FG)//():pvC:7Jp(S %\п(Z7J΅ۡ(hk`h1 hbdZ 8]# -@uC| Kz Kc.bdiC| ,iZ MMM[lb\R^^Q s/Ke&T9+ݾKKK޵kΝ;MaClcL%{6lPPPxKΛ7ozMŽϟvݺuFM!K ?¸q8aÆ7> {0~={گҥKϝ;wɎ6J~=Gɟ,--}yݻwٳǏOk򚚚;sYBIII:Y@`pOI|/j2aԨQ4B5sg/?lsSOܐ 3rOi_MkYlL4ʅ C$V -f,fXa@(گ¿_e''uW 79*&Qs9JyyF),~MC8p$nl5q{`aeG_d6?XyrRX㈋S-ԅ n JQ.̘Ӵt$9a5@)ʅy \_/bG?[(on6 g+}t{A)*2MMQ O~b{Lf@{eii1+eɓf6jU })/. u`oTaUU\𔗗'HD\3f Л nJ٥7z 8ӛ >?^9P__/]Qzsikk3fLQ:Jyy.G)//()گ;ayJB7R^Q 6Jayz# *B̅ p,zpLo._ PVVVXXKpLo.b1dx"1`6X/iCpNu.W^?~t!@΅ŋKD\]]]&L(((. չrfܹsMΨ΅[$չЀ5Y? \PM棔rRX7|6ùZ7R^Q 6JayGS R G.pR8r\P s-TB,.\ T2bĈ &HD\Xtt @hυ{Q]]-] s{wĕ+Wbt9@$hk׮uwwJD\H\S.pVpC,v/=NG[\d>Jyy.G)//(ޗŎz׽i-.2<lBs%3s[*T B gB@.h#ˆ#veaҤIҵQ=˗KDKrҥKW\1ct-@$ 92uSNIDBr;%aW ҅Q\hkkl8\NU^|L &Lb@.,d@~Mv԰nVM棔rRX0oRM棔rRX^#Ep#L-!n A.^ S.tvvVDDraĉGl\(..uy ȅs9sfȅr G.x$ؚp#ܚE ‘ B___AAt9@ G.$/L^ GB kȅ[$&O,[ B_~\R^Q 6Jay!د 'n}(`lG.5 R8r{@.#̙s!{41qDZ\녺:*G.ӧOۃ`r-40uT߿}vr<\(((‘ &q C{t!@ S.kM.x6  3!˅Br|\Hݲ)@.&Ro$ _.M2E c& |\R^^Q ~M&-n}(`NU\XxѣGnsɅ%HWDBhrڵkNƍ6mt9@> M.|555O>i&r|\`KhѣSr-4`C. γ 'L{#rD HR =}=mhqʘ)_0V n Е Wz?:5xϜn?O}l+~ol(:׳^P /?U~www>zȑ#VD\8t\:_MrnGd[%.Ѝz;j4r&/Q6{@.MC2?ƨrE0{1_ NU9hM;|p|lnX="n}(ſ[:x/SlTW( E5֟mu+5#Fo{KerǏw_(S|#_o_ˊ+_8||徖Yc rqՏx'v^3c]{cYQ:ʧ=5ybf4x9w^ʧ(oU}98ؖ\9W ~ˌz52EIENDB`PKe5:9 p-Pictures/100000000000007C0000015F31550D15.pngPNG  IHDR|_3?yIDATxPTLp)Ӌ3$L,jD& Llǚ,`Jg5C)%|3GmƚIB[nwݳ>g{{1DEE9@"F؞}]_PJ@T HgZ:M5|~Z:iWtMt63 M_SۡOqY_Cv57x%O/ 3 H-}` J߬Qi<@:v3s5K+ݥO,.].l+/wz+xO<ę3g.2?ƍG <]jkAvmϟ?rHzzx---}.Ek^{mss]wQ3f8P?ݒP"JHH3H"]q|z{{wI|y RIw\A5\t:oM PZOZ<#(#].HRI.HIRIW"$K(_ь7KRe@i}ܸqdS2++Ŋm)Iу'ZJ%5;v-(n/ll*rJ?ĩSIӺ\u u ӺH(] .pNrJ.0OrJW;,`Z׸J7֭Fw /I555.+66֔m)[˛?h|Ըm)mzQy$Hgt Hg@jx @:/PE$=Qo7!@)+3 @:3 @:UFPe` Hgt Hgt Hga(xE03 @:3 @:3G% ^/3[t }jl/9⃽t Hg@q 3`w͏=mlݺU'Zo`uUVV?~ӦM#G}'o&{KNN_[Kw:-mw_[K;|p^^^QQ̙3nj#ftuu}7|W:yEE;K]۴悏צ/0|vL/\ŎңwP抬5`sn0_x1c+v6 ɓ'F$Ys+(:Ŕ06>>Sot(t26cƌӧO2%ޖ/_?7gnkk1bD)b<55MԨ555VVVNZl믿>}tJ*=zb7_|EQQQJJJccczzZPdd֭ z~$338;;{Ν999VRBShq˥ӸW\on޼977ѣNӺAtUٷ .5je 4W3'q5fꏜ={vUUU喎jI!U(x^c3O?4Kl)|f>s޽,]t+WnV#B:9iD}q}R}衇vAU>9izk\04)ih Bzgg'}֜x0Nr-}}}]]]~O?~vwmDRRڧI` ~XW ǸNuܹ;Jy_/=wy z<ȯCoy顯:ΐ8tvY!EiӦѢܹsG'h۩n @={,^xwu=՘Eoٲet3_NڻwoSSu2@iiiZZZ[[ی3O.H_XKAѪcD;B~q_zA5xzs֩UWўKAmWJ5N}b!=h/k64 l52pj8"67,@7t+ƍm85һ}w{k9[e4d8{sore;^0)mQ)}5]:?ލhb#Ԣ\H0i/zyskp:{">5S w]oD~#Mxg,G^#7ORỸ0;@HI ;( :vaHre!M42B'_Z490r"~W\XE2 Ү) U$L*j XE2% ,L`dS ChjàҹwQ Ꟶۯ݇Є=H `FM<`˧R~-Ն1~ó۸Њxif[2/ϟ?5o~KLϧwVZ[$lgQ -PO=gX^ ![ + j$:ƒ:P`P|'SN"OaַxqV};B ]8=A)5@1eH4y(!ZVԘmHLB)uޛ-s4Sta*Μ!rҶd8莊ojJds(S8/3=$jл85܆Mc.P9ٹ_*g!TR4{S35 h[΋Z=S0)jp{=D./eY=? Q~*GPVLDC.1:׽lؿ0h^E=YkHGCfV򀾸%+/!p}ju{ hdBT_eqMoe@VK\4FX(ǎw.н"/4Hvn2 c6@o܃l[2z{m&¢?%A }Wu^eHݡv9[{p #!%w Bl!$ kA$tI(<6I /DTx h'zEDB\C,i^al-TU˦:~zkqw>P6DϖB'Hj),g]釉5ʱO[Z)PeO|Y%w=0흉dz2pτ w5O-ܔɎⱗ2wjNtI&>$LRH[ƠR>^ Rj>jW.L"Sl3"\ybza 䡪I솥*6&"S5e+^Kl1mNj݂"|WLʧ =3ՠ1>x; K}nq&Xj`b4nE%,"H&D2% ,L`dK$X"H&D2% ,L`dK$X"H&D2% ,L`dK$X"H&D2% ,L`dK$X"H&?IENDB`PKe5:[c-Pictures/1000000000000038000001372691C8D9.pngPNG  IHDR87p(VIDATx Xg A nc"R/T\,Re{mO=>={[mvQ6"Z[AD.n"" !"(HM>"A7_yI~e&a2Ս sR? ʊ-lRABrڴ [0C!}&I\UطB `dl -DFTx*t*j\\['П .&4$p8=pHN90FU)\.Qb(ea DR*Mך96<ӀoݕH"qjqݹsgRR ʭC飏YLuY)}?&-:yY_:yuXHb82Vg2^YIW2)V&ǒd5TOp:tj4p5^PsC5s$G}N%H FV# Dv|#KEwRX?MjV@tvvPKkA4xQ* 5qOHzaQeW#Z(>*CU2QlkWSiZ^w q%"W,kll_,ڲIz52Euvn 3Ȋ2&3܊R &}АsKbHICY#}P>j`{bbs7bCCq ;Դ7nx>1CKPP9{'u5$bW2@& J eP*(C'X,u(h"4{1魮d;4wh(PܡCCq ;AkݺՠjRX.GG#$؟0LkBT_.Tr8\ BP477T[n嗞;03<˵5 ιzoƌɓ'kuttL& WxV(Hf(fbbc'bXzyyI$}/jZK83B\߱cΜ͍ wrtzEY"PCC`) Xʪ)'P5+)Qu`uwwkNNNyyMMjAGR)vvvwå4 _(!ݻB1A=dn0`B+ ZGafupOsrZpb" @{{{yyX)L@]χf(TWÆ6,*Z$xy8S}aC9 FsDTJI@ȝ8sTBp0\qsJ% ,}'@x=:pWխRW\5[)u``8'bDyQqE͛eeʶ{ޓ\]$2777)(>#X%N斻w;:.M@0P(vD"{=y y[ Sxd/@i>JpA<CCq ;4wh(^O?\Ƚ\YUCl쌐PnneF}-ĀXVV}3?jڸddj}ܹ/J-[BwOx/u-IVsPKPb6c`+ w%8ի ".,mll> O&R 466D+Rl5(q=儒[:u \(UQQaXBc%,njCh{{;[dWQC0 5 MMMք±ݰQPi waa!ŘyNGn19eYܢg5ݽ}ȁa9&\õ73| ;4wh(PuХ^i ^JLX ,U7@^ ./OLsF?uFCÝϧZTT1-Ǐ񍌌}Q9yO?ӧsU^{;zw$+XpФ;v ɴ,hOoOTT/>;}\aςO,Ru"oիVUy{{\~]"q͸RZy$Shcc#oRx$RsaQ٦6ߟ{rm%JS,!o?S1 ;A!:(L}^qB)~mm]y\[;\({{?̓fhL >ORZ'hD4u_/;w.k]{ȈeRe֭_VWW#aG!p"@[[aF'n[hۡ_g'bHVP(~Cp^^];;Z^quJ%DKKK}mm90Y,r۝a>KJK~{]m t?N4rwg.HR>_wt*aLp'˺uRRV!P UWj|6C,~C/Arۍw̽"DLCaDD,6N;4a>{$@ap$UCCq ;4wh(v>;k7ZX _?~||||!!!)S a,8#wÖsеa㖴>e磧oΛ7L\l&3c='c١qz??۷oڛqA#gf%@˫˙3gp8ؠ0R)ãlٿ q8PܡCCq ;4wh( |?zrZ͟P\kd* t!oEZI oZ=ZyXo>O\'cVw-bTPPLPT:fQJ[o$˗>o' 擕}ذ116yKڻ}q_.X`|d2YێBJXw~®4 MM۴q_Nb\ܻw~t3Ǘ>ED.=sRicWm۷,###))g*qv S?tk>Gc܆mDNHH lG &ܟ(vÌhpSV+~ y=x?-`}<ۣ));wz2lXy =A?]/uKQ73sUB/_V:dI,0fȠШӔB /޽{W(Jy'Į4 M^vq\{3K?zSGϕ񿙽*]dXbW2&&pN4o~(5~0]TWח'ݩqljŁb|©gG=Mn{ISS>CQi E'%,96kQ~Z%Q[Ou{!-NdTQCCq ;4wF/YgQX3XFoE;C{|LQ3XFoE;4wh(Pܡc1t;1[QkbSQJړ IENDB`PKe5:oċBB-Pictures/10000000000002D10000016779559F7C.pngPNG  IHDRgЂBRIDATx >fzF@{81D5j4D$^c"kɫHk^1ꚘC׸Fݸ&jCg`@A})꫺g}_꧞駚N::ryHAh6>N1mU}X"}SC* ԜLvC7f1>=Ⱦ~k )ӭqizOm:A>t,$%d6ȡ$G#HRUjHkRr(OECF FP\ŧQYY1VpZftDtXfZiiOB\#I3W $iVPէZbZ7Y1E H辖Jz_'"dE'ڈ`8"aܠ*BYrEf*))UJǥqGmen$ quEBdUVd41 T\TV/lƳF5q#zDZEn[Dvr#-2@*-i)2} 1~$ ͜=Z06dY7> >_u7ӗP))QS)biЅ$*'cw_L=?>-_϶JOM&LZM^242FY%${.I<{GIl7{BrRR[M`ȪH@d0!K{6Fly(9e<}O٧(J BJ r*+%Sj<)펇{vϻiųwi\6k"ȓ+{vewTSI)zj9D fLJ %RniWWwo>n-DH؆sE 鉣>Mrhh!Cd g,bGĘ0dΗBKC]UpXhD;*rZ"n̡])#!5*{8ƘL.z99C/MQE{mB:Ht5EEPulnCJ:l Kua@fSv\t/\p'DŮ^{WտzH}'p8BF-sJW{R$ƓjRJW4۰U Z@Pc&al8^ۭ#5Wj2RjZ֎֮`zI6+z G%k: 8ǤcϽ3<,9rYpϼZ[ vԗn1{|54yss˨`wK\+{%FUĐjs[~ͨtFKI) /}2,;}2ɴn83s"6;! Ym>#'Cj2%(pc/YfD)4tjþxz7iݸ0/չ[UF8Ӿ/z?OS#vlٲosO"'ڱrxv}[ϻ72v<A C@uK] k劾WE'aqCn'ikˆ`JK!Y z/g2v=̊Y*3(yJɡ[=-¦~х_C9b/kA?CUҏipl%X>'H"v?fˢ'@N8"eլv&R/ #_b⽃4HLʕ*ܜ RvDQs5.I*R^_Gk"hgBm?/M hvlH.$~‡.7:*hS Yuu΋V$QW'VsTǍg|gҥbY<f]X*1'ǚk3/(qdi.Ga^Z,s}+#Ӿ-.mHu<+^o@k[`'dZծ7UHꗫH!#\H~iKoS5N^E%,v‡KߊUk }9jܮT ʾ[jb|ulQ7L iG)bbh׮]XX0 ᨔ..yR˳a"sj]X_q:?-grsua{!m UU-I;Qg}n6/ ޠ㍁ t.f[R/ IvqDy^.knzݑ]󿾜ɋEtV6 ~^MȤdBiSگzotWټMj?'֑vEJi}#'EGc<"v-[Laq׊{Wqn I3!6 {X;ƂGYh.[<\`dw^lu{[٥Z.Vx-Η5l+ɮnZcY([Jv݊YಯFEhߪӯiUV"2^bVt(J9Z}(dZOdHX当RH1Q;prϓ]|V ]E,?C_ga\M'TR [tܡ˯rc4sdQ",5jC~M|ͷr8 Gy׆O9/Fސ/Hi/:ڃ'^Zlkc]g9ou(o]!*{WȻu~IQf?@&l%wI$6+7:9 q(m'ʊ.8RW/i-H 9Y^|FdWV䰼ugy۱Ԥ`ͯ Iic EՌ~;wL5RRO댽4p_)v!>Q-W; mml]9kZU96 r47, /쬰 [\oجp\T30%Pmk)8AR3̷R9HrDCwu ~_+Ee_fi~!ծէ!^}cO/3& W]ߘ5uB{h`k,JREGj_ur3}/bF"pVeY$ I#UE>n~(,YWU?:{d45wE%P[ϻw[[+UrqFU$Bޑ ulRߵ#^Ok[_@~J \#[yySzVմ39lVUf[dTTuC\jZW&-eځTBt78hHݟܑ9nwci8jg X?KӠ7a#Q]蝅>*,UrS{UA= j~Kj ԈPsHQAT?TɊ!k7Џ5{2*ؑRhCJSJ?$eEfB)9#GJHg2l:KZкulyo+H~0IVT $e}#Y}fPyGiDo.IMIh8.njWMӪvHE?CfD͌<ƘDҤtp~g0E;B<ٰ)Fm$Vw1dߘyf:k꧳f%%,GH7cj.ꕲ MI>~!#zYV vAlV]!%*"Lyt7}IRS[n\kGuшv/Y&2#*z⩒ʪʄ-\W;&p$s#h^.>ijVu ~];5 =CoI-ٛ?FXR;j<9|N?3v='uK{uDR$\ן5؄ÒbX88nrr fP E{_>k2^>c,kXUզCN^cZ{/0yP3T@ZDz-B[m1)ޫ {R}2uczzz%icf4!OΗ VVrDDro+Ш|4"Hq#{UīTM!,OV{&yu A,bGbƕ;"!mG({8AamݭO=ZI:#Ҷjm⿾VR~L&ɓ'Wq$.C͖m亟yjۉѺzkg\kp`}ꩧ{/7n4vNzGtIgqƈ#9$=m}{w׿N:gmkk `dUV^}ށ$s9K, {f; nW^yeSS5\sb.(ozHT-[&?䓕>cHej|KΛP^{5J}}%\" ch"w})&J⊊sd0wz״1ԸABz{{N5c5pHA\tRXAP~ta-lu- SOuww/Y,aoՅ^XazcM;sʮI7tN䚆qlWw)"g\{wH&x-kK[=\'תUD=zqRիwe1bDoosϝr)|OAp=3VsZG2' Aoϟpt;ojjkl6;qG?_kٕ3v ?[n)/de7[Ӱg*R=?<*[gw-h VޭPkVXq Gu믿/|3ΐ Y:x I 7;\CҧLDWM=sx=u}gAM ڽ}lk[hW} _y_"N/`P{饗ϟ/XbD,?c\p[l޼Y|36we$o}[Et"9*.lk}c<^⫗CJm]+KZAc(Wz55+ Dž baQIA0vH%N󮟫ky{cL*;!c=\c+e$%?oGe?%rU?B?0P?~G-}|p͟\455wuu͞=۵q/廀Vt"2NA9l_\O y:ߧ1{멟Az9#[vmQٻsAU^ ZvWzQCVQӟg //&'O:uU.\yҨG*w`EM7tYg_޸(1~qXkܰk֬Y#x饗oںrvNka*GK3<][[ۦM "yN:%Kڵz\3Cy睷zE>ϵ?յrW^ywѣo.(C*&2CqO=s='ƍ_:uGq=qA F u{^zX\[E`(9XH d2K搃bDPs 9@ d2@A s 9@\2(ʶSa@`{'= 9~604\{e\m 9 l`,|!; J~6g@A s 9@ d299(y2@A s 9@ d̡rRP*{`Z7f[׸>Ѻf9 #ʒ l> _^d*۠C h ,L$9׆V\5YT%9kp[pV~&T8krgp6TV *W s0T 9qhլ%]V9 5{w[=Zp?0 d2@A s 9@{}CG3-#=A%s8#p\v%׋g>Hȋy"Wow(d2xtSdj+soK/o|ëN?59DXz17 !>c3YQO/{O$vLhtԨ XyZF *vxz[nǏ?ނ86@5ϑNgw3O>1Y̘.h5f0;ƌ}kI/s|eF5O9l^۶uy./E=z=\Ļ>tc媵Ӧϛ~,yzslXZgG"ѲPT?sOA< Q8Omܹu[W6Mcnj޵W³mo嫯qݽmuG}}8̙3-^XQԎg( UK33Ok)hߊ#ш8D#H# ٵ|ʶyVcᚫӕ.t$q-ƲsH7ErY"G"K7O_s5 ׮]{9LsgvnX+v(,@3119mqNoQfu*|ec5Ӛ8dcBk\g_۶6N+o>{-@l%֧b(777-je~ecgα}*QrYg;g VT?s57XsmA >;78b bm$\Kk$S#woSaDm:_"* !O|'[akQbV(KƘ誽ݶjݺu>֐)hgשg].rHaVp2'.bcAD-4ţkOMVfes3 7ʽGֵeh4fΜ{YW͞=['uuCR6lۻ|%@\1~ۻsL6+*8[MeMSD,۞?*s\!otOţmUY2ǨQ#Whii9 w>kas93 yi`~ =9gݕ:8$$Qʇm%jbYTXr㟉!Osr/V7P!Be ذƺ ?8֭5k _:>,k'JC#sXY3@+Y}d&q#EO\dm˒Ug_Aʢ >7b>9Jod?7Q~0T*2Gf̘/8 =@%={|V˯B%3D9oY(z"p;xs[!'>1@A s 9@ d2G:7nSQѣN(2Gq U{ {g^x$vE( ]/L_ud(W ol9'>c, Irx3G"gg*FFl9Jᕂ{׏rۡsp7NZcZt}}g<3n#Ȍ͑Ƞeox~ɚjċ>9Γ[7t}m>FTh<ǵto[]C:sriM?t,չslXZgG"ѲPh޸tMs¯ն-eDc$8Ky):9x_y 3m kd,V_"d8Kc9g`-oeWz\g'STtJDT8Sٖ7f<ݺy`+>Fḉlrff6Elߴ%ٳs츦\ɲadhM6:XR׾Z"'NnJekx[ėV%fdT:>֐)h0d(yPTg\f8PVTp2?ʛ70:g>D4W+ /rED2U?^W9#že8Gp8R h'![l}*c٨`|ŲY|4r?.4ux*K5j--mPȹVQ-1q2iAc_'[.i)WovԢ_7R BW:K8KM:e'\Zl墾hU%9W,!Xau+6; 5 HZV~*SfI)5sp6k`TPʝ/@"?m\7z̄XCc?ݽu8e77\Ahs+~UϬz_;OrRWr5ԔsHZ숶L$===䎆Xu~HD(qOl=Eg_Aʢ >7b>9Jod?7Q~0T*2G=3_"ܳgۻNEj:E?g^codO2|"s 9@ d2Q΍vtT{*>9dO8;,?>+{EH"p,\xTow(d2~W9"s_ "/F(0$eΞt:5!+oB(W ~_?+:m]|i8k Pjsә̸񓆏hL$kv6"3f4G"~=71lߺ.]}_hD`5z\K%?y3+W6}CgɲlΝ`V\:;兪epg# ?;oȎ:x_}u]wU/~[a)x8 >s4O>DgϞQA9>oQ(yPѾ_zZ6G_"1OOn}_->4[m[V beDc$8Ky):9x_y 3m kd,V_A9)\"x/<ǓO2蔈pq:;-o:xu*cVb}*qZ l~ZپiKgqMzey؉==='N(V2ǘ,q/D\0D`K!e>adhM6:XR׾Z"'NnJekx[ėV%fdT:>֐)V2Gq5/ۧM;N"c+syӆN קGk+[/Zp@u,/Khņ5mXq݊uÇb R2`a}nuq^bj=,/iV٢O}7m޲#ݐvG yhݸev==ZJf8S^9sڻ+ֈΚjv("Ȗ Wpwg헬s{qc&9r vÉz5#)Ia4Ɇ\ cUާڇrVzD淵wic&#7W][yJ-pͶ{eϭV=}Q2k?}Im_PS2!i#23H;by3!SMd;WzVE}n}8oLdi v a`HݟRTCC*U/jPU[c9d^>fjP~DrϞ>o;gh syIU{ >lox89'>a|@A s 9@TU+ s 9׹qӎjPeܟ'2Gq U{ {g^4pHx sI @L&/Xк|J2G^dRAD7~W1~W~9왣?ٳ3NGQF6bZJ_|zE{bйO8'|-Wyt:Ӿ?7~d|XdƌHdkb7Gtc媵Ӧϛ~,Y{kslXZgG"ѲPT?sƥKoZZds[,"]w#;::uƓxgV^i竛m9~x8 >s4O>DgϞQ*g#pƂ kV(67O|~񗞖їkxLӓ2z{W?jۖƂ s?s<@^gDD"ޗn65L>sD"՗Ū%sw5p m2IJQD!-1.Oc:G<џʤS"Yǝȶ<0ͫ[X6 Mgk777-je-Ξc5M1c'L8תsXG_ˑBa9}Xњ֩;mtV}kD,OܺÕSA[hkB4l|[+BY2G*nhytUkHBUṮ5cn 4v8K|\9BQ)q0fCYQ(o޴XuZk\̶r'7mf.;oKFɸGWx];^z۬\:Ov BxV꣍Tl ƲQeShopz]:ih[U1jU;ZZBs(]][9%ƎBu7k5\>Ewvo8Xtڗy[q˛6uʴO>>Z[E}cRsPgyY2GC,6nVlw>,k'JU@(%4x$ g5SBs٢O}7m޲#ݐvG yhݸev==Z F8S^9sڻ+ֈΚjv("Ȗ RiwsM ¼gJO.)o?zqjn1W3RHj98lh˵X0V}}( mo| Hd~[K{{6=fB1:bxpMK17\Ahs+~UϬz_;OrRWr5ԔsHZ숶L$===䎆Xu~HD(qOl=Eg_Aʢ >7b>9Jod?7Q~0T v Hnj]/HbP d"5O"音jP~Ç /S72G'>9@ d2@A sʐ{FA s 9@ d2@A s U[@A s 9@ d2@ CA s 9@ d2@ApPj}3w ̤Q r_104I9@ d2@A s dURPUi{kCeHʋc+ d!q¿Lz^CoPZPUm{i;mk2&0Mt0[xsH@ .Cdg!@( d2!";{LۯsO0PFf Tʳ+V(ʯm_bj7 `<;dSV;7*zsR~\sx jPy?G9"DOowR~W_9=jHn˗ *EU{sy]d[@(a+:( sH<TKg56|Wd!Ql~EGRe>( ]B7{ۚB+mG!'4Tjhl~YP8?v\sr<:sHF9VVK=o'5,D0ފ72'9{@0nJn[ꭐV%ӼGR7|碛rl*Ւo[ٞV0{w-񨐫%e&C}m$~i]>nko h7ʻDr+W`vStK2TJָBNh`!TՒ'486d/ܨq5#l~eR s@-_: o+2TD[ۼ{]gj=::nj̐}{::w70p(jD0C) dD{\c<oc&m{@s}&L|̤PAA s 9@ d2@ApGL555NF.iF[{H)RL*WFiUD_ŅZdZō !8 _ȏoj\O͏@jJ=HrZބKxr'i|k_~k~/[܆d*Nb_7W+Psqj_HMYKCv7*p`gUڸnͱuIENDB`PKe5:&kr-Pictures/10000000000000B600000150402183C2.pngPNG  IHDRPxmIDATxmPeǗJ#@)2ИቲՌ I|iĊ2I>fM0L9L1:j3L$Ms>O^gwp\ιs~^u $$£cbEnU51D\Ej`">0y$^?Q"D^xlpJ+㇘!D"ʸ-IEfghh襗^~s֒|m<ȩS._'L@]r,Q}/*rO6 ~o喳g϶)bdd_VDDx MBBW_;f^ 08/ T󤶶g#oiYĉFRw A"(`"ATE^𒸊@Ee<3񢌧ybEO3*NoWCT~_}&"@5P0@E P0@E P0cW}}F7D"(`"(`"_cG2UUkxo("(e2}  (b o #oq?þm;hױ@zG*_:CD"ƣ?Ҷ4nл~91CfTQ3rj\DO~U"TV"@?N4CV̓h~:] P0@El%w x \+8L4!`"Jo 65p*;j3L4"XјNXј!+z6nc؋_5//o…?|yy9R__c1!gϞݼy1c}QCL4?뮻ߟ` UXXxbڦ,dϞ=V،Ç͜9sܸqV،>?"6BHYY2VU!ĨhlC. !yQ ~} !ϸ`th,Bdpt>ufy_@s!dɒ% !9N\BNjҐ4h]*|wCBCCC&Q!$dž ^~ecե:CoVXXgϞɓ'oٲnhLGaٱcƍ=3Xĉuuu7o^wwІ P ~?9sS^{M9ZlY?ښgƁN2>cǎO4);wN9G___ccfhēO>o߾뮻SSS֭[Ú{/1 tP$@DEE\ҒEaaa:;ȠtW5k#V4|R5ka P+-hDc:B0ј?ф(@E P\+q^Uuj|j+IPռ__jfT5C\i:h~P"E P\L'sUhL+p0јNL4e`ܯq& t-ތȡ% E F(^ϻg/mNa2*8 Eb.?C~K͌pT`"(`pcSd(iޯh$G *"@ P0@E P0@E P0@O\85Wz53*]υz `"(b0Rs; 1hD+P0@E P0@`S (SSc.D `"(O+|@|E P0@ jM}(in2fz:w:q*"(DUdhθ|_Q"oisڴiz퍊zGh'SHOOOII1cFjjj[[[bb߽Xwtt̙35,,[pPHNNnjjmrerD1""ĉ^{mKKˬYWϟPrBeeeIIIǏٱc$DWso|\2--?סBh)--Ƞk̙:GhF3= 7Ѹ\.?h~(B~$$$׏BϟOwcZa$"~2Bя 1htCDE!V$@xE4#TV;BE"Z&(P("N&(|B BD7(1C$`Ͽ|F2!a &a))&Bdӧ_}~۷o3HS(O:tܹY/{W^zRe PdtiE+WOSe@JNNNOOw\}YEE# (2:yeeu^GdP'k׮%EDC"1Nj2?--/x h"(`"08!4E P0@E*\3IUw9^TzT-9^Tzf`"(`"(`"e??_ͯdddgeeڵ+;;A]A~C.{kjjfϞ}ePA?fpEutt;ִa S?A~h_9}ԩS+**֯_ohzEh}KhϨ=7O<&111X4Wַ^O?d/_f͚ܼ ŊtwwoڴiK CN];wBcX戈Q_ՒQu nhYD}1Z1XDxYqM7 vuuzfVL,Vgĉmܖ(A};H񧌧>Aѿ輱?t͛7z'# 1z_FL4ɤъŊdffݻwɒ%#_5PdsΕ6(,V$**j[lB~:%'Oܷo_ccyOΘ1$~iɆ &OkhzE.]ZTT_˫V5[ߖ>|&p?WLJJZro!gWhdIOOŋ/_cHE644dee曒?<&?MB"--m׮]gϾz{{Ǐ淾+sZ^~fRL}ȑE%$$ cƌ㔟R)((?F.⩧Zv-E+d\\e}}}GO?/%h.]^;v닋vY[[;88>::zܹ$iV׬2RLLwuuQN_EFFO4IiV^H"""AbwE@E_}We"IENDB`PKe5:%HQ]Q]-Pictures/100000000000020C000002B45B980304.pngPNG  IHDR }@]IDATx|W?}+w˲U{\88 酐%H. },u7P lH#=vWݒ,W333-˺WWNl ~sϜ9=ϩ̦7#Ad,: $1 ss$Mi΅E6[;lG0@t.T1DQdNC CiZ2FA 0, q 㸶𒥋5UNTPY{zgω u4Bg4,KPxsCn߾Kͳ$1EQ#ɩl.)#.1w(2AN.uNj߃YƜyyy@vnh3,F2,˲Woă?uk~#ߵ:G\tF%e],Pm91zcZ?b7gO3LUm[NJqmBȽԱizʾRmG:z{gn4tSӆ(@`&[éOQ)eiUNRK;H`iJم 7fh" Z\,kۦƲ/ Yzu kc^d$(yfԋQ0ȣ^ &uZk,%KJʛюCo_RQOPumh`Oj9utʲ:nm+sBK(֒$I18?lAiA@}jWHɴ+ ilJː$Ibhfd-Rmu,ڀUE,)D3RAH=MJ:E[O=]Q R[W$W bBWYI,,dž%M4]8n,qjifGwXOR  .x,P#h}i?|H=C @Biu6&KnIgS22XU=˺$ƢB9'=y-YRd*>=euCEdY0OwJ9&h4RYQZ\R)Id#/Ҷ̚\Sr 2N8nnm>"6p(A{wIrF>&F8QH%(ha$S.[RFj,A(Iih\x鼸ะ&-Zk:h/ԞBy8)p+I(6a. ߉6(7sAbDj%(wTe@RYXRL< M3u=N(J,Z (!~e@JG 4S 8pwg4 K;+fL/uO۶sAsvo9 XNNċJt&\pZ}l̒ YvmǮc1%?? )ڎ}}U|Ur,2Vh>>/Ooi\g[Zg_:19|$e=hy^gH-")R,$5i?9B1-fh=tb3T\s<;/xq¹F[#Gphng̤YR; ΩH"(YՉX 5OZQJO#\+EXe˞9M -w{VV!TR"^o(kiA gz5 =q׻-m^6wxB⅒bY@[߫vDR_7G1=d X Ɣ(}%%!_Z(𮧺׽h^Y:=vR#DͿڠ]{kJؠ.1ѯnؙˑ]3.oH\`͘aE"M& qðP4M;D-8q\qYήt:ztm|L-ǺIoNK u9˴3~A%ϣ)_7tr?5&u@~%' ^p Od|Cy4ח^LnRR ;Z~aRkѪRgeexn7 yt>!/@"h~Dy㭃ܴ V2EĖTtwwWB<3$wa/m薶U&J0ZCS/_џn|u8'O%)膲zOBfܺu.}oȻ*k c5oWdpj|^o$ ((ȯ ׹`Uf7nU憂H_,'+e|`yg .${tzW%e~R6tH4-//wRJtt TV$|łK:::9,$"$k?E>[5fnо3Քn(2fzς{׻ԕنW(F:ć~_u}C[$Ʀ55զMp "]榔(/X4 @[vW-C'Z APO( aHE8}L(-&zí{XD2 Q//KJ;;icUw BLFW8G%;yk*ߋU^WWa"̔,ڒ`eI>q[вiQ ӠٮzO">ײyfԖxnxQ?(2.7$a~q$!D| ,M|3{ۚ%tPEy~ZZ6 ZZ3_^獭M4Zz(ɠp'xUV[ ~XJ>-~X9P8\ZR0s;hr)v>t$.Y^+ЈzcU Cu{{kjl=-UT.` .RvhBH$dq $i\VS$zv{(ʌ3̂DY2bENeI2^:6TAt%\%{sO\ $DM;j5 4|oO[+׸`u}hZ!'O۵k%== Cerivٳo޼َp^uAfne9<4*'qVZZ8k TjZ 9[h a Zr n5p4J xn7t\DSv̞[aVjh4B8B^f.>zdh:L3,]zx+!k>yq,\(C$CCl?K0&ZDAQR/+L_ (yg˞ w90&LׁjBC o3K}$x*x"{ѣȢE ҢH}8si#m\|Y2Z4j/K. Xǎ>>FO$Nzgf߾5U3bKCST4^fDwo8q_Yhd:PHDDݫ=KJy\%4{$&9NuK}#`U" Y39@[j`.J2X<Oaq4.PTZzJJf3"Y*&v"v c$eM!cڑ~Ou\IwH~8i`́R?lc+8U @LHGBs*M?pqf-Ag޿ rW2Mug-[wM*-+ vgٵ{oII8yAy9a1D,qڀ]Μlb:)+{=p6QpCjp֊$x{wsG DZn %|̀Q iּX=?Neݴ[G, ,LQ-fDV烢B-uie).'IY D$h(HSTV"䶂Yk,%Z[}.!I~hwPfΝ[l뮻Z[[_x{șe@ }6/v~uP3 j`~ Ck ԓ,))'' .vܴ˄zxED2 #+uUL;JPLRFt6cɉR+E/Rƴ2wFp㔢 XSwc̈́ ZTUFbGfaɒAGJ NqF/ A" ct ySTHe,j׮}+W,9<1'}8x ӹ9naORݽ`(K].~p '͛UPGfOrj1]+e0NU\~vCp)p"34_ؓ"'C+_)/ߩ,'rQx<OtwwSя~_8q94ܜ+ݻ_1+ռ~/Iq3o]:38R$1QAD<I5eTe5L[ƻ{DٿU!9өcʡAc;@UViSkyS$v_ڊ\) 1D+AMs/eMF5Lc1]_GH :[P)To5&77$]nSД1"Cr"AcTU12sIHIF.]Id"ґCCc )ekztdtP}^wscŶ-_ ހj5@ix,jMFκ!=HXVVV{!ڹcKnAsF(ڸdQ/y11Bࠝnx|t:+?t!Xv Wuun?pK"c!1xꕗ7BHa, ba-T4FH~!n7 ϩйqW^y+{ De-7?^砸'WQ%FWǿ0y峓J\&T]- g7T]=9ֲ:xAЉP^Sxl$@$ҪX|sꚭ7jEEY,ӻ{z኎91qli4SG _ɚ`+A\S6MՑB+).FIg&;Z4+&w^3nޖd)KxT1CӶPm4\LAF:02{0,EkJ0@^zT-ld2fȉNձ}(B7o9IMK{N!jaZAHfu}3P+든[owd%X%]ĿF~ln\#+|֠^^R\y؊Ta(0jj*=ףPiYi*]0c'SݙdXLG*lx}%`@YKPe_~-YztP++)K!٭)X\$T1j-InپRZ1׎{ZS g9v|  O_}U{O$w 8sLbxbtCw 6>=`ɢ UC/ (ŏ1lVvPiX`2ͲQi ]b0, h&C8X 0V!Xk)UX76{`Fx/+8QH[{g ׯi W,Zp R9v'<8M[P&pcH%ߦ [ĶGf}h{eѪC6Ǽ@4ծ:I8Jtvi]j1e+*%̤Օd4Fg)+)}19 E`y*xeh, !BfPӢtxXST,,(v#{{w)=ogfXn5P.{Ʊ/':d mP% #t )=ƐI]"Ju3~ DgqW4ƚJQ3["xEF$M2cyV,ˬZ}oo<bw[HxͪeMQN]]V^Vr PffYLgI0]7\^&4#t5 /dim?6]o^*NdsTeUYf.y[^~XH"9s)}e{E3(xl#Ο]ϲ-:S5I LE%Ex UX+oxXǞ7_Ս_|䋡IXULhpт͓ZeWVϬ/{qs0Xk֬= "s&eW%}uI楯_z%/7vy8vUܿq`\ȹ4HP&QKY풤8cİn ;R 3pU{_HO ƶ2n }ٝ3'\?c` )evEF쁁IMx1I gА6iBڶz+ KTCٳ$zd7(DP VFQK}EC4ҭb7nt*-G Qʧ)D-_m|\i "t0&po'PO/ q)M.Q!)4$ 7:1p?J~-ycWV%){W\6fP:*ȃ"TjRՂسwERiyy^d_LVLNw~?RfZ{xۦ#]Ow{(R:4{Ior%3{dZTeꯘJ+?;W+7wU|1K]ўڼ"oGG>5uҧ WUJw>aj*ffFfDa֛: u"e]3 ˦7|.Z{lj۾ u2;s2^Dp:|뮻[iӦG}=؊KuJXMqɽs*h]şwsxawHjli9E}R$A w(ޑH@g>oaAj/,N]LAL''2oD uZ&0 +UUs6Ce]{_x;>tc/cH:ao?ZZQ~Kw\_wyZhbxߖն[~+M=7D̻]1 !L}l}?]G>ghY7gD48*+J~vQv+D*ER-G4e>zoXbj_+o'2F4ȃj}vß|~e. km& 7K _3=fFI8݆r"|+>`UUN`Ϟ}W-5ٟ&o$zWU/'ӟ}k: 1dP}]ฌWśgLtHBjǒ*(1iM"(kYe4AxYb]Ye}rs$WSulcځpOydfHk'm@K_;4 :Xw=]Lֈ:SW{sT?x5#f/v΁3*W, ͆ϭe?}[JPPttC;H|h|I~nu ΂4XQ&x̞yjzeKZL&}d .l DH@\XkM="=dN0b:ۓ <5au/pq2tU\첻گ]?d@JYN(ʈо}x,'Z".Gï<꺻oN|>ܰ 8waDŔ\M T7J4\~OܴOfÍQǙ}媘.6n };W/ħ~O?iݼe ҉,]>M_0C;ww9r>x+;l$I< ]tCAnvdϥkNxO_?w ;HkU% 57$IP%7Oa6L [v@0&r-NB`@Q*v/<mhyF&hX]Iuzܮe75kfM9]'Y?隡)ֺ ]Tz<ߴK7јnvچjuKps M,q ޿_yK2 'F9̔ ,N-Buñ[(DIǰs{EKF~N5qb==gPt= µָD5ڰEjdY:}1^zZ`Mғ'4eK:tH.~ M-:!b2:L?ނ:_?4:p!2&O83ѡ[;M{vg۱lR/-jim̒?.ɴ$`ܼ:ME7iOfĈ#HY`ƓYÈr 뒵w Ԭzl9TU _Fi"qr^@v\(Ed0w G f׳ /O1b:kF@=s8O\q/M=kei!.0y+qxBWx&+Mkn55krYYWE\Q254cJJ]uvg1epwSJ*jg]m-|yc.vd43;'rΎVj* |+Qnzd(&)4Lr]LwEQ2uv3KPD/\8w. $hNm>S2|b|A2-3m KfU%s]&.͉0|C>2ˌѼGGAf!ҦI}ٱ_îJq+9N?)x=sf5eϵ3]/G<&[QiXJ3ǐ)%)TVzT\^ua#XFu~2UYXK+/nR\{kmtߙ=SV\umIL9K&bAu,f& bN/*ʈc cW][{1cFU]3ۅ)ĄJWC63bڇt?w fQh&q2n9 vJ~m8aI69 %ioBkyLU>BJI(<`ȱgZJU#}9|`n?1p A~J2Rlz4 $?*z;-5iG8;ǃa@sYgߚTJbxk3\>N>[68QTsvb95an$YILe9ܿt:z!12WyryRSsImMZײu:;ț NLbܮ\,tO8F,KcjyX6I1B?p#<ϻ&caGXT)ҡN:5EZ\s:q9տx9;} X&,ۑ\ax.ҵO 5<8+?AAڜ'g®cGߔEAdNl ~zx=eU#]Dr=YЄyÜ ,8[uk]Z]U`> LVNM$&p5AVO譓XC:Ih\ QDQ-l/tvQh(ir!Ftrŵ;ݼ=L|^k㔜XrA8bfrdе>OP#a,ᄃy MM c`FC{tvĥ(C`Qqq,'oѴl ҂Mqq1EU DbIuF-upV*P_RެH1E.,7[ }]b>⅜C6MzNnnpOS wV7}zEyI:uH{_xٲń o"IpAdjp< b2g̘9~a*qЕ@[^"6魉4 LREi0uL^/nWa."v] biZgW!L $DQڰX,FQui8ZZΑ߂@KW} zQ ko4jrUU=1uVYbYÛ6mYfX S ٮ5K464N8ğyD4Myy0 2Q1 iEQ}>_*EuAd*1jv?gMөTwoʊ0Oi V'C p--;zzzዟ3%p<x 6 J@rZ[_yo6yͺf8>Xa 2Nb҃ᡟ/sPgo_~o:{` 28wA^LGQ 7 U^^ZWW~?Kj; 28m &0/Y<7H\s3Wچ?{Q[[rNO AdJm a^4 e_YY;08(r2 ?Nߖ㌭OcMtJĦRzەźnM S쳛N@Ӵ()f7Mn댝9P"A"ad%L$v>f q!$Ea$P/A ]YX὜*GSDZna!ثጊ{x=EQn`4MPmvU  EQ/uk;let4M(]p8 28wi.[h|ֳbE Adjpjve߳uAd*1bzAI3GA A$#( HFޫH8/YAA&g/a_K%B@Hhh޻ȌjI:u dfb"a&M[;By-;n @: 2U$  }D*NOB-/xZ 2I$ Jx\,عo.[!)8A)I6ٹeokdJw~uJ3N[Byn̙@p#ͤjMEj=ٹT wɲ9n!L{? $s LI՚2ڹkޓKM7 !t%$mٲeժU@$NQ;vlppp޼yi)P(TQQuIؚ 7VXX|Zͨp.PUu׮](#qCZ'qH 0 [ؑiy.[ ^/1w.w}!)y6 ɂSz 2.5!sPH=n^;*=FL uz !93ZSFc'21ݹt&PcF0#CL֔ށ5%AtAH  A@A2" dEA  A$#( HFP$AH  I$FnW{4kܱAd3H8G^pKӴsTijiڅ Ay&@.IR{~7z](" EY;sNI2 nx^մxItbCQT,;P̆  ;FIUW54To AyMNH,طo_09e9x$Act7 cE/_lmm]qqyM&@>tbyH0I L=2nAW,+/ܺ$ʉa(<~ڴ1 rȲw9M5Օǻ{b( |P^02!LUK&AִWd@8AɄ 2< gDeYxl~uTAM'ә#4A.&p|)j q dEA  A$#( HFP$A$iƩ#h ㋄a<ϻ\zt0??ΎD*[vٲu ۱ SE={֮x,K(4Lt]8vywoj0 | ( BBɷ$JLN"쳘tl4O@4}32 p;BT)AS$+_{SL {}S-0 ~,|]]mAAųZ;*Ę$i5e p{=nx7{:J FQ$r,m;#EH$~w}vQLyqСCz+8hx͛uIؚ ȥ,+ywq{Kˎիx<Ç= /;wT*ŋB9 e̙C#p" |'),d\&ak(DK׬Gw9?ݻ='oζe! IjPTFUVM!&Y|aqb)d\&akp5D=03Ma@]iia A]`Mu\x9s5s,q7 ȅ!X4gus L Yqmo35s!Ad0!k  -x'  A$#( HFP$AH  A@A2H, 9A.r M3Mky$4MR \ /=:8QU}Zme$=A. ^oG{g0["ʲJQ Sl"a>Ĵj?x˗}|ʎ}O?7AUU'A0lڌ9 Àj+\.s/lKx5LUAd2Dz5ٱ{U+%Siy6A ANgəy$, 29t$Am]M S av}^AYP*Tg݄ 2HX#$qM!2 Sϴ}5 28]`Q!A ?s4P u  9t IUUKJBGwo:L $M^GQeI/!ի E Ad1ztBQTC7K0UH,iI[N6n֪i21XP!A Ex6& ⷿywݺu\ryl֬x$tSAQhh # AMw=+W^gL/*.k%%_/G"ׯQ4#?=̱}s$=N S">J_X0oZZvi#"Uo5KT%ƒo ́k-??>ZVZyS7pw??(1,SQQDZ^yoVW* cHȲ\]Y60~ZW_i3׿Ս2 )5C 2=p $ˠ J ҥKmv n" `h?0(_特.ܻs?3KKr 93\ԧ<|_Տ?/~ݙٝͭv7ǼwS*o>jGx𭵷:'՝8-:3GJPq p  "  "  SE+ө2}.ɑ{{{:p1_x~jۭ?t;!u: FS_l^Ý{oąn?HBNhSEb}8,aѩ$'D]˝vk[NghQ/JpvfW pكj$k sH L`Pz};;7n8NDUUu >GRwb{{??reO8p8~5pf4j7v?$?XIC:gHv޻em+++ׯ_wx~\_o߾\2;x*nܸ4iFkn'sk׮ywʕ2Wv‘ShnK8???Q4H1:)O{,M1i3QI$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DbbjM{S4gfZUu`PqձLMVK#kuQʑiGW?^ddܹTjn5qSo-..65.Rnn4T ?,+@e}zU8l<u!޽[G@nQj>FCկ$,vwiਲ33"1MCS8R9Kͽ>/{U#⥗~L3>f2``ގ4c$1~@hu,S3b7,MڱvS_Wcիcl:H$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$&SU`0t; zr8,V5pf4j7M q,![3Qn27o\^^SߨTkw}.c㩸us=9ÉDb2nwaa)=OťKHTԅOD M"1٥ّa'OE}9ÉDbbn13GOrdhn5du0aRM"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$D"@$ v{ڣhjjM{ 3ˑi3QI$&rL9CDb2+++ׯ_wx~\_o߾;ϫ㩸qx=(fŋ]V8O2]reqq03իnpDb2O{M4;RNKSbnnnin "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  Íiqz\UUeYN{80n;;;;pf4j7dB\~}0ipZ;w.//3x^O͛75Ah M6d3D]B<2-nT[}Bpq8V5:xTڰ@83Dbb q,![3QI$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$DH$D󩪪~?t:jPӴG1ө=/Pu`XUêz|_ke|+ Xt:IKSSgLMf8>MX{x7 JϽF?|?{ej8nc$.{f_<}n=/G_Ʒ6׏|b{25V݉8>IENDB`PKe5:_* ''-Pictures/10000000000001F900000145CCA3D1BA.pngPNG  IHDRE`'}IDATxx7! HoFt.;DDQT: EzRK$$߼9e>yk?3!ɤ&((H1 "3 !OH CY`>d=CY`>d=CY`>d=CY`>d=CY`>d=CY`>d=CY`>d=CY`>d=CY`>d=%%ѹst]BWה?aa6C922g@W CtUtE׬I?XY4ɴo-ZD Һu ܞ=|ǃIO\Y"cc/i\h|-"_j҄ڷY`{GpONw 六#(YoQ|@zJHٳiv _5giS~ChxCFr2-_N|@~vShP>6޽V- tM$? []͈…|THSwBWu*w1Q=lDSԯnM.a"z"Ç!!7/gG63SxWqЍׄ^"i>Μ'ND*߽:tޢeK!,L}#;wZ ҥD ^L@^_\˨:ğX/3?jӆFu,S y3L)TJX#dIgF*s<ޟ/>={mwc|-^L+Vh~!c'LΆ Νy@ݯvz;6mE%CҪU/X^xKҌ`^Y~vD;ʕ zֿvd=@`88}?F֭#/zN.5jǥK_ʝ׮[򍊾}7­zlHO?͛C.&{;ׇLI9u_# uϤ$74u* zKH7ޠwue4ixsٳ$!LDLV<۵+/eG8|&M6ϘQ~LSP>i̖z{Y2g*P>>>%?ccyر>AÅ ӧ{ " wh>}8GrKŠ4f _3gvQfw""襗ȘѯeDѣyrﮜNsRѢ7D iՀfL93 B={| oKeYۜ;ީQrnȺu SLPp즿!r"Ox;כ͓"ZtUY2 衿 <&'z;wD; xG/t#"]OvY}y>fE/m]Y_~paHV&q"sg߶T%KtzOl[]9wh(˗isV^.i҄w!WHm6mtVzW;z?>խ!GtQ8E"۷!8qM`d=]|=(< k+(\Ѣ"q׮eYyO(;{!!WH/;p [9*Τz7p_*T\EwعRG!߉WOgMΝ.ڵfݑ#<ï\95+y*ٳJEuy[6/QBgMW+?Y: ]?k Y Ki-xŊ 4(]f+a};O5я!ַ/xx4H6J?_ڪOZ͝ww \Fz&MwUm-JsqNBXTGFXՌE^q]xqzaeiݺ-5i7ֹT Z4lt\§ʶm ݒQjB͚zKխ nԩ;hd=۰a< h~Ӳ%8A/x|ӧ Y.rktN?^hnE_?^J5*>ރUe{i.*(>USŒуSja, ٳڃ^8}[/ZFDЂ9B&M|RY~9y׶U4aһK<3JtE5w<\&9uS]ۋ:uQ>:w9d=(!Aެ@n p7oE3gf.B[ YFۻWu3qmaVH9ڵ2…d=YV @ukl&iHC/;AփD믕Z[ T׮-o9m کks)v7JWFU6o4_YRԇFŋu`(qҩЁ_5`ũU+yOBty>Ē`եWWvƩSy 1kV!DcիfmڠS(Q6s%._y@փq8륂xY/C/Laa @փqO8y3/+ZT5`2e&<`Kd=%9>@/j.L׻<qB"lڵKᇩJՀ} oF;vCYR]!,&)5ʂ)Գ'w&5y2}YtIi&\t4/lyxIpKjJ 2koA%եK`u` gxA{;w9+e /:ɳnz?8|֮7ZbbWQoO(]x `ٳapYLsP d=b,ypjB)2mP>t횤̙z>L7˛5nL3\&:?_l 8ԃ&͛˳>8z0J֧KG/\ICC8f!4c<@LxɄᅲ4[--6_ 8YH˗Sftd=8 F7W4jD>+v,Y\Ry*U̙W.=;?Tu蚈˗CփҩSfu/\GY(g>9zpK7!nK1|ExFe (PA)zU˗%֭='KNj{SjkM NtYKF y֟o^eJxy9x=qEEQL/ir ).Nz qI^4d=86 O4d=8ә36Y.fQ9Y΄S9ЯWy3d=w%%QpjD*E4&*Y/>>ޚN 诿EFj2fTj&Nfd=@^Uj6:.,L3d=8Cw:nBփ)=@ z?|;d=hdTZAփ)]\7OE#gbzp HWod=f ЯCW6 =J^ٟjO?œgzp ŵA mi-%@*Xx=!fEփlf zph:|XYr!$T$qq dE*zplm_]i'zpm(<\5;)OL *5;zbb4pN=)g*P@ّ#zqP<YΤ&Q^≇țBIJ4ۿߒjnۄR\KY= Fy{Ow[R~*'[,$qޛxqd}pmvOrEփJモ9t˲X|<?.o&N` !J]{lYmfz%oFփ)YH %Ͷl-)qIMK߯ Ei.I-o*\SR%y˔.%$ʕrd=8Y*4qOT%S7e/NBփ)a558fh 'MK^M}XRުU6rQ|K ,( J\I׮#Z%$К5fS/N]k!yD.֭㸗 ĩW7[ YR5ב d=8\t}fM8h%.TK'd=8\P>LlF:{d&p?ٽRt|`OLECK WZ@ifc/%zpu$}͝ && ծT y $͖,)"’eiryGW d=ysy'$sK[PвRR#Wy2v,d=h1{MP5m!0t)okL, \#./7^LѢ<hL͒58s(L?N̑/_#^-iaK@\3I۷˛խBփQ:wg0e pq:'g@! ͛S ܽMk`WBŋJY% 5j{AփAҧ6mhxI3g諯g, 6m?/o־=M{AփYĕ4?N#)>H :z0Krqlhv-UfIM`eh>ys2А`UKz{)5[sJ`6m:uJl|g*Q’8[JRsS~6ㄇ /Лo[7i0xR),Ls)J`矧aI3#UvIҧCz0QX#jY?q"<)iv:?pz5nmw}FXNzpQnZ޵kW5sK[(>c%d=Cǎ4f/@($pUYVD[k{zp4ixO<^˘,_NT6Ƚ}\|y^`VeӸ䋀=6z4?dO*UJs5>Aփ LsЉQzTv7Pj?jAփDEqY3y˄jْ6n%.\UƟ|B2h.Wzp&MQ#&v=yy/(5nՊ4\ e'oT?`2q"/"gNg Y#M|?OeRkرÃ/kV \qc^uVeM1M:ҝS~k.oV|@+Wґ#Pd / GD7114j YnENj2R?iǍ2d֍o m?VzpjhPE'LQ{<`e*I6MTjY˼…J{yؾ<ӧ~ yNw >Çe~v93=2}7JCփ=TQzH5ób.!u6sׯ+5S%*JsMZ gOڹt\[k5le)Sl= nؑ#9x/džcqΩ4K!6t(/2RS8W%5lAj-!3UU>}w_m{#߻Yp\Wj ծM~ρ#]KO>IUQӥY˛.޽h&~Lz ͕ͣmysEٲ?C·Cbx1թSnT\1ǏΝ5W>;7LJRmSx@gMAbE6lU$&R.<3p17ޠ!C }=(lY…96[=#GʠKޭ4cF=ŹϹs⋼*U']!<=;tL_N2bO_$%ckʳ ~&VSJ<;`C?ј1&=oMxqO/RQjMY %ޫm[O}F^KnJ9v2oϔkMMÆ͛J8'_P<$kV i6>\9ײYೢEifٓp2C:Bza^f*eӻ;Bf^{9~:d=?d@'>e88{oΞ%:ЇUO-[,AO۶<ߪo]흳gyQg襗x~kSIQл7ybbx^a, ܓ7z/sLK[7Z NBBCT!-,qcXċ@ڕ{fv@P!7?C5+CQ,<ا~ÇxӫyF{<-X,KGGw>5zmҦ~Ӧƍ뼢8y]=E^櫯xwGo#<)T)))CxB~^> 8xO pĜdWwq^MWs{ۻiXuzyqcU9vGdҥ|L}{ȟFy'ckX7;у?ƊrwJ,<е+d_>Ə?͉_"ߙ,U*8˗X>6m?qBjؐ,GY`W!-[ylqȕD ,ȇM럟k5>̝wakI'Ore^.Z5+~!V-ΝE~Ujq 9/Yk|W|#,+u'L&=ku!'wnzM^aNymu9|;'UUh(ow%ѻk޾꧟]N޲}qMco9y#lqGӧӼy{wk%y^MvYEbj8t-5¨vm^MW@8P8.\Uرo+ רG:Yd<%QB|<_ϡ/@DW³Vd0EL7'Ӎ=uD4ix@X1wq);jgD{CH$l|4kvvǏ6qq7B)[6^?G|G\7PB/fIa!4XwJNKx'eD7B;aaB,5|z!̇0|z!̇0|z!̇0|z!̇0|z!A'aOaP|l> ؑz325x1!̇0|z!̇0|z!̇0|z!̇0|z!=͓1IENDB`PKe5:%`kk-Pictures/10000000000000EB00000253050417A9.pngPNG  IHDRSfnv2IDATx tIL \T PD!` PT|ThE1 )R@!\- pTMk{x4dvMkͻوW&,,Log8A `F#; |ȵ([̍o!7`*VF-R/֒%(sF\CO&pEF1_=XJ5(س`/*u4b vO?tÆ gΜyg׮][li۶mBBBsǙƈ`lUk Yl[f)SDFFZB'O2dH}}S5 AeWMƮq*W^6???;;sΖ#o۶Ίͤqvұc5j|_90sCiӦ.uE)!-(]dУGM6I)))֭[DD˗e֯._]HO)xΝ.]ԩ7nt vǶ¡]ϭp  v¡݈(؍ ݈(؍ ](إ ](إ ݋?(ؽ ݋?(ؽ ]p( W]p( WE8:A̭pFFFѭpemnZt+cpDZ0ȝw)oϞ=եK@Ƒo~ʕp㔊EL:tT ` d-gͭpLL3 . v;s+qF)ERZjex{׎C7 n (Q0t`FЍC7 n (Q0t`Q * n (Q0t`FЍg;:]qm_UmeRrg8AD oۀNub8AEJٱ 3NP0t`FЍC7 n (Q0t`FЍC7 n (Q0t`"E>pt|e (Q0t`FЍC7 n (Q0t`FЍC7 n (Q0t`FЍE8:狰}8!"(Q0t`FЍC7 n (Q0t`FЍC7 n (Q0t`FЍg;:mfLgW nEڊgQ]5¾(Q0t`FЍC7 L<4CЍ=UsѽnYYGЍC7 n (Q0t`FЍC78:_}8_DU qB2_EQ0t`FЍ{?zhga ={|'xW=J`o_,]nVZ>c-JMMP"@}yL9??Ӎ7,`omyc+/oׯYEңG͛9r$))I7|sFFO?->|xddd'Xi-]pa޽e ۷-[Μ93=}5j7PĴ:u{jVPO:sYnݺ6h ؓٳ?$$$ 80ӱ{,Oӧ{.`){:` ؠ`ؠ`|E7E8:NQv/Tw& }6Qp ؠ A-`C[/0/,0/,*,*,$,$,O-O---.sر/;|r~xe/_ܽ{#FDEE['kP&K.}衇Ο?o{w<͋p~>y /nݺ֭[;}(Xm۶"wʕ kx7ԩ#8kޭ[7O_$U@ V|ƍk֬)L6mƌs3f l|gϞrG}ԩS?<--M&L÷~k.9xG|{)SHWkkǠA/^ygp8L̓"k׮5,-#7݊N<! 8_q,RVvsԙʱ9`^^ai<M7AV_/4|3al>;VV^,)tD+NFnM8ѱig͚bO>F~N/7dk^(Y`M?-w.\_jݺ,~x/B8pxC7 n (Q0t`FЍC7 n (Q0t`FЍC7 n (l{$m\/γEUX~C [5`FЍC7 n (Q0t`FЍC7 n (Q0t`FЍC7a&q\6\6P;_]q8.狀Q0t`FЍC7 n (=jNN=+\5g''CЍC7 n (Q0t`FЍ+G ÜL^E8:m)&a"'"Uae|r_ڮϜLy8 n (Q0t`FЍC7 VU"x<#xa`FЍC7 n (Q2W+W}_>22R̙裏S6mԙiFW{nM=qD%TIܙ8`̘1f4iիWe1v`Yg͚%7péSuf+4i2p l߾݁pGDZӮ80]x})|}x=`C7 n (Q0t`F0  (<8: (Q0t`FЍC7 n?۞Y (Q0t|6c| Q*Z!$9v|'O`FЍC7 n (Q0~ YYGЍC7 n (Q0t`FЍ"???##c8rȗ_~)T^nݺM4iժײeK^P#8_.\r%Kl޼ŋ%?=}v'/x[o83]8_D)s޺xblllFFF͚5yhŋbŊU`P'N>e˖v}xm۶-ZHRSS}q| /iӦƍ{KKO&M#G](jܷo-[;?(]6;;[-O!Yz{e^(xΜ9wޝ;w.|MO<cΝ={(G'&Xd'ZΧY|K۶m8?N: (3-DO%%%ZW_Q<+ ^n|###+JEgKyyy|B,9W*_ѢE&M8qB4l/x޽rPmRUqe5ҥK)xϞ= :$oU&K`XN5=x`xǎ7t5\S|SN]tɟM9A֮^,@MC7GW϶|ʼzeݽ{|?".6T5̃Fh|<_}l8LYl+}%/`Vƙ>}3-Pt SRm .XeY]+5^7|=yŋU6F|Q /8&&F:t}n{@">pmӦMxڵV޵kW .禛\"s0* *K=zزe˦M|OP|Y|ɢoJSLÇg?<>╂۴i9r%K2\‹'2sw_NNΣ>o˲<[ .\ /^lQ*,n?Pnf͝;wϞ==zR.|dZh`@~P)-(<=aÆM0Aj\n_~RaڵK+W:}֭QTdˏ/$Olҥ\׮];k֬SN-d>I|e뮻NsΙ ={71cL4@8JijXG>g`/]trL.PYגV6fd<;ij8NBB+ 9_T^^z?Occc;vXZ EDt!Y_=TC7 n (Q0t`FЍCx#uqIENDB`PKe5:h---Pictures/10000000000001640000019249064579.pngPNG  IHDRd[,s-SIDATxy` ODd!j(QRK5$ҒkRZ -ZEU+T^VVK{%qBE]DCE,gΜqyf93ygJ߹s(jcbc@W_bAQGpsC |+Jp=>+/-[VY >VHCL@,L@,L@,L@,L8&wܽ+Ad`b`b`G,>>f6D#wuMr(g"Jw_B?AAXaYza_,Mvԩ 6('u I&L~}gggs^P6rJp=>+~t#1ia9b%{zZ ce? !9sfZZ,&1ߊ}h׮?k5A FsZE@@I,f+֩Ųq-[K!*&e >0&e iP \ XhXQ0:[òQ!-n X8c` G[ kR e 2‘'k wAX8^PvACQ!-xMb&e RDNY3PkeBæCvu>Ho%{|VNY& +T,[ht_mķ=>+J]x-_DN,,މ] E([pxV5 b  UJaŷh4@ Q&jˇ^8. aY E#8 uwC]gϞÇ:u*''ի4[n 4hݺuxxxPP5ä)ylȑ#ߴiSaaɟRRRQQQ&Mj޼96˒LDZlHIIɔ)SJ*եKݻ?u֭VIoAAqY;w&''^zڴifͲ% ~dxbR ˗׮]|rFԩCPLA1rٳgרQ_e5( wDzX(O: *TD :ʕ+_ޮX8/;0Y22~sر{Yd %#,gJ[їMڝYSy'\4L6QFu֭^zlO?ڵkٲeǎkݺ̙3YqєSQj՝v׽{ .={@%66_+/-F48[oɓo߾sC>}モJDpppXXX6mz K.GN~F Ƴ;e˖<$ MH˕+?Aq!wb`S76rJp=>+B,g#l# GwOO+=}MC| WXP)ށNR x>`b`b`b`b`b`b`b`b`b`b`b`b`==wJpB,mwOO+=}XXXXXXXXXXXXXXX@,mwOO+=})K+JpwO+!& & & & & & & w__}K.M6SNvGhsh~GEExXX.H3f_M_젠 9ʔ)T'9]F+W/#ɨYɜbn Pd!}rJ~~X,Yd陙swumR@X~=Ek׮ر+X6mڔWAǎ 1-/Onذa˖-)P0yaÆl<@hhyppŋ.\xb3$!!!SX^,Z,HO?_,l\QmD/9s褢L ňm .1P'؞] P_L"˗/۞ڵkGL@(5 >5_C#zڈ3r͛7[Ol9ml/pQtij@Dk~C3l̐0fUt n7^%tܹo߾6 7.N:W\ʢMbHD 6Pԉ[oe[,B) 6knlGEB%63DuZAGU>},.o7JXj^]@_9 Z,zM`~[n߾}۷+= h1ݸq#88X%1xd#& <;w|t;|Ǜ4ig:A- nݺuH3[ 1࿻ѪUoM`R@޵kW?Qz:$2--EwFҔ *ڵK*ql/~+u)8` wL" k^$],@,L@,L@,L@,L@,L@,L8K,!@| uls4#6fӡVǍGouʲG}$ L`|'uh飿q?Ňp$L" DTTT&M*Ucaa @D-Bv`DZ/nzgG111Va_,HZn- x׮]UVmժF~\ Sm6%1bw^8]6,H :ׯK333!xb! }֭,4hРN:5k9rf\:A@DDDDFFghhs\bQRRB`"RAҐC xŝ;wz/ 2 R  __ٳgWR) S"::qq/^Ƞի+Vp1XhpTǏNWVM{LhoJ'B,,FR 0=HeѵkWR p1;eQ6_fggkAJpȟBCNY۶m]V)=w)(>DհaC?{XXXXXXXXXXXXX =خ  4GH|VǍGou-D=n<|S@,L@,L@,L@, W;`    B`q0uGxHʼn.b!9A"D)  A .q" DD/R bAٔF~bSŽnA0VwBQCIIrI"NiSiz~ŋ8Ph^0vʺs7Vgб?7*$$… iiiX(}HߕGXVNYnc%{xOj۶m@@rNu"HC޽;77 iV%DFFX+XЧl!> \@6mLXH\NPbB,- \ە- +[JbA,G=?V[yق/&4PDbA,&Z3ژi [Q^a 4i3<ZVzu:JJJL@dtmbQnݚ5kٳrtحYĉʲgj$_:--hHb,[qC"e@L-pC"e we 7EmH ge we 7lafXn3e 7e wDUB 9/rSŬany%NѯB, ([([)j^U,PpPpS8F[x㡍A"zڣlFlh;•ie e 7E@قw `ق{Oa79-9U#e >zVw=G)&%slƜ8UWpdOa79o)Kyقdbfk@GNJ|Ve g_VGB+V$-(C-8X!Iʼlm%WvV_~ӧOg]jԕ.-SNh=4i.XEuR8 m'z,&F[ {69]}lK] j(gq8e {  sBmWl$lxBmقrdpxͨ-[)sG,8wj{|NDφvh >84c{%/g@Xmcyh;{ʛ tВhynZrM 𐈻@ $M"@uR"-mV\\n(xO$>+ݣ#""֮]KI=>e:R M6Bu SYu2!<<s(m>AO'!N2 & & & & & & & & ,ng%{xO!F!t{+36'x[xO!F!z,X,}Ff Ͻ=e 0=JB,L@,tW{@H$HKKSN0X F@u%227pw \B6mڔ)S@,F222V^b׮]&&.D C%&&!Ta .`ڵ.EEE#F|7d,4bw6J=~ᇴДhO 6`OŋI#2225j*Yz?>!CD)((8|\外o7"9=sΝ;gwOKBR/Dbb" DXXrbVGǏ $%%I;_~qҺ)Dب?p̙ 4h@SFZICL"f͚I7Bw}zع=%88L2bA XkY #y@lEށ<3Æ cƍWbEyebq֭+$Xz.aԩɲ@G&&S.E%:t͛sd= ??'N .^PlY-dgg矲@D׮]RJxlC!}ر$TRM6) ٻwo*U0n8H7oP͂ /_Ξbعs•+WR`T߀5L"i}$ '\k40R(7$??ݺu =aIh9"'@,<0q1~BCi&\z[7c@H_hPH:.QQQ1cF\\Ab4V40pyooӧ˗/OǢ|L(#i֭[k׮ݯ_?dgg_z~ӧe,0iƍۨ.D B/@(MBCC]n^iHHHAAJD) ڵ<$[[ (W{LI^H#dp;`JCVXD`^^^tt4W1W6r *`>^nUyDݼ}K/aLhH!#Gܾ}&8P~kܶaÆMG#""pI EJQt-[JzA m˳̛b1 d/_k}lÆ &l[B !55uǎJ#yҿN^?g(D,'q?Ň(b`b`bX"? Ν^4r8rAd`b`b`b`b\r%--ǎ;{lNNNAA5k֪UQF[ C06mڔr-ibJjԨ|AoR:D:b o 2rHRW'PXXt?۾}<<+={^fhA+W8qb~~~K˖-k2Ҏ={kW^]~}||~H/O?4k/㏓po߾r$ |}} HhH)t[|9J%bbbJ.l2)vrm̰}vbA 2>io^ލW!IIIt b ~QAwϞ=)ҥ ||G%hР/_=åKXC{p;vH$--x* &҉-`vkܸ1=zT&{1& 7nX~7`ueffk׎4d̙rE[/JAUT7oްafϞ`m|}&) vMPPP߾}KҥK!xx"l޼sp腉RH<3sMHHC߽ϫ3gζm(ZTi'W\}QP*Dz1%͉'+*c.PG^rell{3nٲrHU!!!QQQqPd /Z>wfk <"99.8^XS AĬYbٳgϝ;7`ҥU?v͛7I~&M<5kp{$))) 񗕕Eן>}VbW/l+8'""bΝx (:\q (BwЍ6mJXdffgxxm]С뜴Lk W~O1N%00~['RZ۴iSQ)ձ0:uXkqqv#999UTڵO>i91h_[ԩSd# 2Zj$NoXRPxʕ_~yРA5jݴiS|||dddjj2GQQQ>}vݹsgZ7oܻw/)))¬YLLG]ژAm/c(=}T_YjgwfeerޥJ۷o7ǭX4kԨaDbCm.-oS>rY,Uā'qO,b޽{_{5zg|G]=n6+{I#(ܰ>l(&f%*qƙ3gZn%?;0XЕTKmQd })q$߿+"OڵkBB¦M,"ݸq#}v2˖-e˖9s昷ҡT(e.xԛnȐ!CN~zk{vb͚5*ԩCݻo߾-?OGEE*?}3WZ[&)Ÿqyӧ+t^xt$ܹs(RZmp;~̙t 6̼&]RzA|Dw~ɧzj…[BVZi7܃$rt]RUn}+7o߾t裏B?2 I:JK.rP)$|y/^ܾ}QFQ5>,%%C49JeŽz{$9772,pRRr`Nח_~>={3tXO?DLhh￯X@+W͛cǎ]bEƍ͛3ϰǰ8))i/^b g+ٳg֬Y͛7ׯSue}]FW4)Sf]t6lܹs'L0h =/׬YCW'OVZuݺuwdĭF6nضmۡCnݺyH#|[$줾C ѣŽ G&ለСC&Mȝl~襧N:>4VZ۷o q}%R}M4͗ܔJ*-X+WR԰ӈIM)1JX^-9B"SO{,u?~<**̙3SLywXrO=g%{X%m(k5yĉ~MdCQFF}Q'Ąሕ^ɓSSS?#ZWqqEH#JJJ(3f )>+J5Rn] J> jL8:bvEK8vX:u۶mv=pʕ[bEcbbf̘pѣG9 ׯ_߸qŋ:Ttii9vb<.[,..n~&vСE T4nܸ?RTc {74*'=f̘jʕ$GDaB)=%S6ȢeСÇ{** _W8p}ܹ*U7nGD(؁Xx ʕeՎb`b`b`b`b`b`b`b`b`b`~,۠+JpwO+NY@!W$Y >VHCL@,L@,L@,Lڤ[[$KIENDB`PKe5:Ԟ-Pictures/10000000000000F500000052D0FD7246.pngPNG  IHDRRdeIDATx \g'p& Z+ JT+]mak[c(-_Q ?(ZZVQTVZ%`&g24L&!&|}}>3?yt C @ 7œAF3Hsa }#o90g 7œAF3x^^@ <88}@ l> sƲ _T寧aP}cYc0K m~\bvZGOG:+9%ۤ0܃ "1-DbFƢ]"U"BLp0 mm{qS9*-^k+ix"&H A²3o©ٷ+/-IwEǬ5m(vqs&wJ~+^ prHDyճOvtm5䆔;"+~kK.Dj%ig >_;NvLHU k~qՊ_$lYO吤$Ёm̏>v뙑oHK|U/_]p77O5 ɱY_xߘ[r|S?켃KƻL?vNa)oiq[ oXmcaՎ V8=Goc#jm2߄XXO n77 bUrz\0g[l~!ͧ"r}._y/`#Sz%~H{$`ALKOtbR휖_o;V8YJ?|UAugoG\=uIrmjjz&dSk+Ve]]\tIsUg#66wm~PN$:Fb# bdK9Rh +i 9'O>MZƿ?44$`/E766d:9ZT̳g| iT5W{eB?LL0pĥ sYGt11AXUg6s*.5dw/udo=06%K@2D*tK鵎jҷXCv]kל_|1--M8X}^-]47fkE1dϽ7^Ճe~-,O$$JJ*9ߝʴթc]GW;ɧjvȚr)ґtI%BU쩯)yy Wzaaa0 oΦ('Ȍ6X%RH/IS\YS[[Zui kDcǎEEEʉYfO>-ahQ!Aj˗/3fkTTڔMcʱ ϖfcr<`79pq~\8guý$wk*̫~ )Kq[}RW|_P*ڻ'~KMwrr2+IOO0ܧ235KuHWDį;=3%%l}eؽ' RA4?;8 q!ϧg\|# (XrIUՔeHńs8(okaz"OȮ2Ɔx2Y__?^.ݑ:'PwЊ4֗DGGfffMo*~BG|T;|A #(0_K,sKϺP_%vQ0h+=NTU.{k6C ÌAEo.U{ 4(YϑϚ1;+22F {uqv3o7G_ט/b ^Kg?Ϲy~c}/tIغi_%z#E쉱ACς%|)SG‡x v]X"잓3cƌ;w9uO(43X{PPx+߲s+0C$촳$|~ΰ|$fSm|  )[Ey"$˝LlI YsN?{ZO1?ذB͏雍2)?^^wY֑ܺjS6-otS~H}ᄪ;!5l~p8{&,XlYT;az7v+{܅qGJBҊܢJLFx|Ң_>\v$'C c> ?eQ]m6`{xĻgȽ4hwg2iwϐ{YV|ai }kA֨2H tn8pBF3Hsۂ븾=+48-u?ϱhz,˫1n $k ^YO e4*`+(T(P˾1],|EjA12Yty,\Fg.R]>iͱ3,1mB([A: cT!3hW"}kV6)G;ʦWW<MYHB2j):ROO*pVESp,{ʫ[{T NQ[bWJWU, 9d[ǘka }sq7uHK˵Kϟ;|=A˵ߘa2cR^"7VtUXMGO&qŭs,Q2 .K7Ҥ<cafd}˟E"o xԅvIIENDB`PKe5:唫-Pictures/1000000000000140000001300CE74CC6.pngPNG  IHDR@0I?<IDATx[h\5I0j^PHVҊ#^^/T}`D&̓- " *E<ɪćVյ;r8H|ć'Yܪؑ@0#bPL$r咷đ (F0XW>PwI rU>O :˰!@{ZC)\ l5{Ќٳg~~5-mGO?tvv_~͞i.{;p{/U%><ɪćVxG٪xœ״*IV%><*;rOLL9r$ pam5nmpp74^!@ hx @Ϸn=ȥls mfl6gmE0~ n߈[)=?^`hs '̽@&H7̞@C68V--,@{iud07< ;r.|qswDcćVlGQ...Z*{ܠٟcćVxGQm#;w@nK*IV%><.@]{m;J<6قFN_-dD| #.U腅/b~~ɓgϞn߾}tttccc[n⋝f5jW/W^y g_X۽{M7wʹL31gP۽ϟw]wرcӦMW+l\Ϝ9￟8q†|fffzz{y\2x[_u^ݷz뮫?z$?/5\sN_po,H,+m\jU;vq>tȻ1΢XO=ܾ}t;=~77nt㼝Bۓ>v~Ƕo߾f͚?;|o7ߌMLLC3ͮ`K |e=zԶO?mɗ_~6;vl{̙m}y})D6Ҋ+^x{>9vǿڟUwʕ֭[jے@wbTWcx~mK.˼Go C^[yv.zsf 'oWZ6G>͙;;}d#TTͮ] ;r,,_uONLT%/`%[UÓJ|xnUvhQSRr1s*IV%><.ّ%pT='H׬Y k׆8,sx&a=7W MԔd39HFvȈ6cc wb}9q8PlmlzȬ\@ +p-m]'#bP`@1 (F0X9T%[UÓJ|xnU]#^pJ|xUϭKv `@1 (F0#b@p\1/IP`@8wbE[0aMBٲ\s-ٯ/<h;r4kGu V%><ڑǷ|xdžd[;rt3g@q3\CϊBRN;}>Еa kr t)4г0#bGf/N0#bP,9dUÓJ|xnU=t$Y$[ (F0#bP`@1 (F0#bP#hUÓJ|xnU@UO*U#`@1 (F0#bP`@1 (F0#bP9DdUsbGJ|xUϭ9t`@1 (F0#bP`@1 (F0#b!Z$[;rD8dUÓJ|xnUP`@1 (F0 rk+4R%xmh*A)4 ӧͥ.$n'+\v\K=HRgyVsc$'pħB:7sdG/7l$[tT$>( (F0H3#o|K5a#bP,`K9 oR7|5^ٜ/u9S' ^OLXs0g{Ue;h+̹GDm snD= ="(bMe^ayQ]Is.&ʵo^\\<~7ޘ#;?ȥnAVvܯgO.ܶ"֜{@ɓ'O:500=E"}'m*|'M]KqNX_uW矙NvMK`ν}W_}566ÁTW=Ж-[G\͹7NX]n;?MrEK`νBۿX˨A,ƍɳl9Ⱦ>G=nLu5ؽ{_vmg^zx^{ܜm6 }10<ࠝ4{V;oNc!-[4l\*`VC@}`Y(6gi N3fQK Nˣ "6 m,(i=68 `y3FmD`$m<(Rhˢ "6i B?`QK #G^};;6:P}ܳS!YUhmG6wvlu6gB/HJmmptGA,/zjy`yEwn, "LmmphGA,/npm GE68l m,("Lmmp\GA,/bva GE68x m,(baN*Ȓm0sݒmp9`(hj_^ _zlZ\"6XmpQ ;r?ܹsJ@6xݺuɎ0SU NMMMNN=P*ȎLOOo۶:HE؁]v˭*SU v8ÁU7HmݺU(ȋ!;0#bP`@1 (FD\*yvُCP`@1 (Fł,$+"iOzGt\ U+9ѕS!VUsɗ:Ѐb"ftys (F0#bP`@1 (F0#bBJ*U*{!j tIENDB`PKe5:َ$\\-Pictures/10000000000001B0000001E49AA8F1E6.pngPNG  IHDR3[IDATx|յoo]-YŽWb0`z/!B z#$シ$xR%$Hm0#Wr$[jeYV+# ˜Lj3w{ϽlOBݭv-Z8\u%O<Խ|/o`Y}>ĉ}^OK{6-3#m_wfF0]]UtJEU?y^99/Wcރ9Y=~?TU ?$W\cG;nZpN4=_7H$˲--w/^<_x?|omٲŮڽEST~ՕtU˗-~gE\~~'5+V,9snr:4E}`_!#r%|bܹ3nx/ښ5]ſ?=[~ WMRq^|{{G^^ m s"aY)tsiH_]xӗp(Dx7Cmk= _fwڛo׾vgM͎)SM r< tbP聟o/~tuQn ~]|ͣO?^xK./&N,} P*2fWA@P:!TT/s?{ wp8H,% gW_桇oZsrsJcP:Ͷ޻r{W p[o'u뎗_~㞵_ڷ_>iZ/5s!W]AD$p@%zgs _ȲDQs9ï^HK͚1o0(? ؕW^.!|aZp}[%K\q=A9DD" }k,[HJOG߄pk.qi7n.Θ>9 $;s9:;LyWZ.Hc?ɷ̙1}ڤKBKjv=nk/+W[Ѧw[B@KT,O {4B{Di+w~>++v{_ |ӧM+/3{3@AXdIpӖo|?7FI]|Qnm| IQE9Ћ/h'vutM#2ljI$aě ,˂ §x[p;:Ѥ<^񞝂 rAsavpc);ErOcYf(-v] ۡ&ѵ\v-ׂCEA!;]vTC3m1o{zx>f|)ͩz^{wIx^x?,$ cPHVO, LA>2 0vA >c͞O4HOU:r|o,+R-2jjmn'0ѿN?(qQvysdijdtKS-)S4d\<,˵0;j3RvZ>ir/aԅe/x3ÁFE%N)5APBP(h촶,(ȳx O%C=^;ͰY}`lbi.\Z-m{[8uqΈHcN)Pؠ_egѾ4f1O) ;jĴ4kӻ-!;yr$) ͽIP(S/3|Ν,/nYY72ALabPsR-]ʛ^Cq)K4pCUMT?Ms ǎ4Z:J1g~sfGcLhƒM_Q^ۉֽNLZ .B]Gy7.nPm)'zs2#a}',ѝDSj8_ZvٍyU(x`=@0n r$!=MIKSop^p/=">/+ r3+_l/Ƭn:R!-T"Wxz  'R\M<=sϘ/8V\%Lut\܎._Ie9S 9hl:#1EubsuԂ\[g`Qv8UNed864./{pP zf<.r *6't[n(MpdeܥD}H=Aאָ^PIQ3'gNݗi*<(2te]S=KD[,YYi F#qxZZYP߰o0slp ɯO3BḠy.ÉEU4Ԥ׮n8siߺ(V׼ߺ8Φf?dW;-mio3{Ќ,Ijii)۠rCڒ`CGA~>сLKghRAP.iɰj1 sdoh*,,m/TS?-;bфcm6NKkll5i,ôw k8Hi/.߿0S~T0$RtSAɋ wn\2. ަ4LO HI}NfSR]M1i1XTaWX<}V_}{VhCyC첺?oG9|YK/IjwW/I(Lr9XQ}Ώ_8ɖauptKq\,%x%Q2uySlFHh4ƂD!XqY@(f5ND}Cs ʠb R\o㒿pb$ vPJfڙ'hpeĔ~*īԒ\GUTdL38(ަ=&^^"[檁ev5Y~Ous촋mco ZPDckk>ܐzP=˲i>f۳gSL5rdޝ6DbZL!׃.fUNoX1?ݩgU;JBj&ӡ]Ni[@h:X,N3ԛHfͣU6[R L5) FCVp h4~\ПNE7r9)(Ck$C]l;K0--hςut9iȴƄni:'s;t]=(pa劖HJ'=ol.:gިk-QIⰷ_ܨJzAAީMq%96(UJ4޲,mfeO3V%LI(BS?|ȰAvuu׿N\ߩ-v5gN> 2"R0t׮]5557|s]]oqmeee)) "7|`7=b=vԙkS]3֞$v_fڵ o I5^?.=Dw6%lo$y}\w Vp4!2'҈&bj^T-wl'8Dw+T Y5!bH$rK`(&)MT!!{, )ʱtZbϬ2KGˡ:>]ΰ*b,O[u۵vTрv mq?2[W@tj. KķȄ}''w}-!b"KK#/S^^̰,i}8x8336&͊bͭ 9rvvA}dR߿SSYV~qJd1[; VٺA>ȅ#ED,zp .-+Z\;XIa8Xm̳PUmeEi jeoߺ=/7SUSUXQ pŰ.knn|$3IEr{ޖeFG p_x?1]uO0j"#2IE y{o&<ʯv徲Uv D[ݗ[~_. `~ۚ$I6L 1>ATNlպ^NlXI!'d睪 Au([B DWCs^@c_8iQZ4UXfU/̀`9 QEK;v2^^n5 /'ĈdW0w>Gb @4 rYh\!hTgIi#ʖF[9ѧyphogՒ.dyN, hЯU!V7USUtBucGoh$K}C'OT9 /"|wYj.((¬[1Aq]s/Z9&vq5U쏟~3=JTQ]CH61hV*wRing $>eUXuL3[Ch&7V- C;\Bɉs,,D\N9T BTM$AF$C 02n`Eq$VpyhYTA̴vP-ND<SUs:Pc Tݢєz.t]ֈ$+,)qI/(!/DANYla0{ǂͪT 5?eG=办O GtZb؞":v9?/[% D $ q Aг/rrcxGLe2فdlRdc'{g{Ջzuج o\YI*$fܸᄍa銅99%ɚ[BnAiӁ>֖9Aɭ8]ќE&sЁ7vmJMV-?r3fLvj ZccGYiiK݇2T%T0DB]Ccy#1}f8xWk%k"hrqU[?߶=:slCu[AJ~cכ_LqZԐRb6a YV ~W']I tm(̪ڪ Z;6j"><($}(qInj; 5ǫUyljReACBT D6$~"PA䗆'~Y"c7=۞Qvd)Aw=g^rc#CgAx.߾JOУ**; 7c4 Dnrb2k8Z2TGcrEA4K I^dJ,Sd~| K#&`nnMEl>%@jmjj5\ !ٞ$1ۨj`o{k` 2Hѐނym'v<ʭȽA!'tzA.fx޳:C`"S'ŻG佗>U>SX#A1 kj7PY cANV:A8_j]Â7(pVoC 5/zw7_nfhVJDdA5{fˇOu\ՍEkJ`1հ8nҥlGA_DStB)zqB_tqE@,.FSVMJiB( @&AjA!zz7`E5t`s;\)yi$aKd0&@DSqZΘRg7B}2e Klsz7wsXEMKP.{矿-LPÓ>o#5l9&f7L^<ԇF/jx"{o^dI=1yb6r65oV=R>??mOvfO^~x#u-WWvWH$2pâq,[1wbg{kG8\\٪ϿKn\'T 6;g["zBlZquCz-a- 5wUEp\b,kDzrrkiߣ6rz\6{o}d'T_P5" ʘr{NqL^4aEKץf<0;vKKJ6l/X$-͗zy$f;#67 .@ӱCMI+ X$U<=o 'W;oed Y$Y/ $ga"z:[U.$b)s{g_x[Gixϰ&R3їߴmc{].! hՒ54@3/1HD8k͵GVWx7G88n݌#k^0G;j_[E9Y|Uͣ Y GO=L><> c A<(F<CuwG#X4FSFɱ,:88 KIcC7G1&)Y2^>j׉NWy3Wv78ñ[M ݺ(Q&@RNZRzu_^Vs=sʼnKe(5duMdflB 'BSUZK MIJeկ6M[}Z?gJۢŠ[ߺ y&)n쾏+AjygeyDQvg> l9oY߮yG)n{%W9S݇O}]=a IL4<κ4:#Bܢ; *\7􅟻b&ϟnU^m';}* M g݇Mp L6Dc!~߿z,bϞmKizkࡳi.2ngΝZ!$fl!,K.S-YogZ.f 'hDX5#}cE6ahLMvKL&fl{w:vAN6fkfhn]:-=̄|צ{cˈz:#GHbc -,rS$㦕_]e}x~i|5k;wt%E epdP}Q&.M][zfuS0yIINy,!!^#̬+ (_v1|h3R\\$'f ZG84Enr c J$W4+mx-o~ڵoS&1YN(J Юq逬bbw̓<ʛkO?Y1 }'^SJ[:.cr]|Jjc=zuW꥚~?q%N7`3)%9|co.i¯~eόG:4#;A]&|wVEVeQ1U$Z#˝4E&?VUW,X8D1}rYP;[2s+)s7_d6ǖfAuRL70 =׿BnIQd;gOpYN̦>@yC4c=dy P}*w*ΰI1G}نf{5K;mԸ✁`h3y4Qь+HX$ifjhR4f6̞HakӚ;'M~t?N%IT ,鴑6$OA- n_=ͩ)o\gY'bl0O[%plӾ@Q :ݹ^3rJ?7޳EVO'¢n~_d& "[WE:V, 6/mO xg|,V0dm۹ SI&fc\vsJnS)p*KkdbΛRZZ<0`MfReBEKYLt2pKh~U=$j=ꔏ,&`991Dh8͖Xc9Ypj'kf0R;X:*y?b*;3'' GΜ1& ZThɄM <{7Iqm@CG$MYiίQ$`Š`)zA_;fܥו]9ꫮSgDIhLLJ  >-eb-i;Z]CJjJr*oYbxpOZFh- 39%j۸e+oĸ*6"E NQWgM+ ~ r^݆H6~ (2V;yT}N'sJ[dzlb+ &9u4U]P%#N#e8ys͚KW}#21W'CHeUyϺԽ H岲l?7'1EIنA,Ep)5p̼Adғs/dKKR2ŭ#2 cӒ1iZW_8mJE^~ a! cGADH3tKߵuiE AH6u9b| 2$v9og4ZgY??~(vJQ˜dvoQUݾs⢖oSNY3}TߴnADYl}'?ٕW^ʡi')j52A1L<ľm,KwZ8CZZ'Wnm:}v#>S{ ȘXf蛘MQ,+fT ;aBɃ>K/pI*Hw"7 29-O 'I9"fX҂7G?CYRR P $K1QUtjʲlQQ ZZ;:;[@G #CΘ'zs,#*,Vo=2̠f@h-atrM ^a*" c^yÔEː"2FAd,  " H7T=AQUUkY%IQ ʲth޻IJb?- CDUhZ ۹ku^d@"QӤ* kq‘X<_H,BsQ $96avҶ}ǁ+2}Z)EjǠ{ y@2A ع`4ƻ\o\Q sCD5D`@Arș*-?u8nyA< fUDskO #׊RU1!; dA> ؆ cD 0  b g ADAnPAAADf #2ZF˽8r)h-eܛs]y[2ZFh JT[[;U2ZF}8r]-ep "( 3Dh->}ɔSWOQ}/2Z>A~cv]sK4iH H8O$Dp vϋ-pXv932ҜN["!ZAAF&"ܽСx^X$YCX-Le+A<A5g#´233, MS(BaܲqXtndD "Iʼj<Ay Jdي Ҽ۷|ov# /}Q4;pY"UUe'/@A (>ؼuEKGDdW5U_rhS^^!0=j؃( Epw_b˲MaAK?!3E/ܬz sJ&*i&;`/> я lֶD"n bc2QFr<m@A1N_ACA0Wkor]<+=Nh@QT(:tTAd+\\WQQq{3fHOO3MWLطok/8eaAdwzBQ%g֦^{dBvvnX,i4ÇΛ;LD=DA:ݣiU3n?363 eq',?8#I2k MMZ5DsKgGW(a˙y 2 g!!xܠJj{ Gp)ceA2-aY^lG5D|"9^12 %CTuAs}MAQADAnPAAADf 9^-eGr +_i[-e{3 Z,BS4UT%Ya^ -e0B`t8Xvo4#HrNZ5t\<$֎DerD0D~f}'VY3'pݥH/,r֮]Kk2ZF}_MYeG.~pD/hU8yg#W|9y4QoT( ZFh-`ZYacc]w}fxAp8_wSO}5Ky>.e(X7g̽qˊ;::@ =1W6cxf͞~fv A1*z@n7laOO KQ%x+ " cJUլV+bǙx>'` $СPp2 BA I, cCvg͚),ٺu<ʅF Dj,Y2o,33 .c"yɴ9 Qŋf;\s5&5(DsxeEɒs!j" "x|ff㗿x3Ͻ/e2[#+(Cay vojvFbUpJ! ɒMTVA% >Q;  H3=Q5:s!&) HAe ,! 2: "t  " H7( ݠ "t  " H7 mz$Y,|Beq{ .Y-%hLUD|cARs ##gwJ-\0baEQRUud2BsIero "XlN޽9&M\n@?ASbfAh- ();ݺDA8z3-tN  wٺg񢙕8R~"555>-ZFh-A+ٳjZAMhLQcg̜ zӚ OXNCڑ22ZCD6}koD¢(B,Kx Ȳ vkZZCGJKKXD˵vZb\k2ZLN |$W((@.lu(ZFh- +>/yˮՃwϝ0#=|#,Y4 Ñ[mJ{ -edeHEQ?o$/E/ `E-ڼx\ivvV02*//aj@DM-C*b>g -SQ^6^bGO61#3$)DA/CSUUʊ2IǍ+~?j\YYfP 9?<DGx"hbaaWDKkII1˲PJAQ`pAcgA4_[@'N,7FAN2y( ˎT26 ȧYy&"r3f#t  " H7( ݠ "t  " H7.2&i0|AxMHqwO9=$dk'xIG kMQ ~~S"'q)2jjLPQ+ jw:ݰek.5yXdYNxU-wmY,uDc1)qnoعsGKK˒%KÇ^9sfM6}8 BᬬQ.7 Ȱ3 #b-]_v7͘1Xvۋ/<Í774̟3 |F٥AFWSf_~y)S*v{8F#4ߡHXVPDUS[Ad_U8/^u۾ŋ{6r6#fffX-u-2x^m̬ǎ%t5W] E-`/3 ,2{nGUD" rs^DZ@fz(F62ZF#m9 GTѦ/5oݺm ׽ԨD#T_h-e܇Gha?ҞHi8Fm kjjawÛꈖ2ZF}H" kŢ,>r8''r(sJHT[[;U2ZF}H"d${/D@-[>,q8ǎZ/Zv-15ZFh-AcYC$S&OEmBMUGgFQi2ZFh$fd,HbNnޓ}I03;UF(HZFh-I?[,$=u{ hz=rs3rAFf4ӾxY3 Hhlzˡc-7D ݨfZߙpA>i}ceAWowDD3  " H7( ݠ "t  " H7 9ΰ҃ r ʲbrj@4"  "x&e$I_Rq~A?D3L~M]ll8XV\q;A(DA/2,U,t,免G^zkZnZ%IB?AA&w$ybY5H:f.pi ކȱ(޵`(o玝{$ %K>`ٸ|'yZjQUA1͙*rZݑf|럏<EQ.a` HGYR\P DA ::ob*8?e֡EU *dk"G&. Db7ӠxaT i7&&$(\ޠ!*m6f&Ѡ1H;vv33ֺOsfev9svtwyСos Ӈ>r:E\]_{ .p:[R,UӃQfw]wNm  #_h׻*,gTX:k~s׶xl߾ zG6/|gv^}Y:@ݭ?21ʯ^|_\c'ͳ|ǎ%Syup zYB `nNo?Uiwqs7ꗿsS;nNM/ [Qu֟T'?t''5Q׆??ϟW;YI:?8!3@!ݻ=Y-uWW{p} ^;hR W؇9M .0 g W =QhxiRQo އ\1{MEh=K喙\KK2$|ɔ'$L^I8oqE2$l/ꅘiӱL2$SBl6VKYXZL2$SB4繍7$L2T I2$ΦMAxjޕٸM.gρ{i=<|棹ji?=7N0R6(DӀYc`9˼XطwuyzFɦChׯ?S,=m{,6UicTBm+4F+*VSAoT?^RZ2_2S W/^ߟͫnOq `l9ן7XR2LgP?oS|߯Bֆ@Um22@_`iϞ=;==ZApǮ]gf"w2{߿.{F=xz=g9}MoqGw9 Cᥗ^:sLzNP$7|cDz,2oᦦ{|hƘz')D`ij>bQ8:E^i6C9#" _ O)D` =4urEfhxAX{`!Y`_W6(@_/ 4|d6y)5J/Ӧ YBes=$09I&di$6ٞ3l; BA!@P (D" BA!@P (D" BA!@P jPEQO2$^=fA!$Ld{\BLnq&O7kW'{l=`wسrrr33, dYl}G67P+ޫXmϮ4"Aa}{"6*+M?+=0GoEw{ksύwD\0%OS"Gw]OT'ASjJRT_0j gn{?3Oi]fw`mg隲v%w"'tPFN ?V4-)h(vT'YQSK{\;P *ݤmq AvjE]dw={M}b97ȉl}w|=\y)Nŧ@5kʲr3\kΰ2́Õ k6).is`ފVZDm !?)>w#]bf\Q)Z9k,&㩇ϾG}f7ǧkH8Ϧլwߛ hz:-́f ջ2vba]kh3fOohzg P\R|]{C-ҐGiϾS,*K1>?k݆>uC?ʦ+# zu+0w\Y3/#8:X SOG⪫͛GF\s_DzV:Wp|C=&G8bɨkx:l6إcJݞ;[b ={ys?6l3m>7/]ζHbqwNc|,sGPѣ HN M|GT/O?L.IE㢜7s[қêj?kFW[DzQO Nxܡl>ddYz%y3{Gߟ1b`,9^̳% {}yf+Nz\$jQo7ߤÒ J]JxQW_M<G\S^v'G}zF61 p57 1FAxa=V-ğA vl߱jQ4;zƋrB_1e|>^xAz'v J9RO4"\+MSS?UQϊ7xԨQg}ܹsG &fg;//>+/gCx m۶㕗^--ppm~^P'D,Fyo5 E20B߿+iⓏ?K ~ZZ .\xmtIřW}d[ԵZImm _g3BQk]݉'93<{Chcoc@qqѦe>oN].5h(ԄUksZ35N ,y۷!ފqyhu?3˟yrrvn!CJJJ{={ eNEaidCJaC}ǵ nod[]Vx݇e !'f}WMP+ĸ8@ņ5G7iwΒSfK3YRPL?4Gﴵߊkn喉':>+h,q˖߯OM`X`m= % ,O윖99-x\rUQi8k  @xg~]|A[wk;yK#迍?3"(sE~饗|40з}u˖5*]M`X"xGI{\8qo-(Z_f!ʋ{C戚. :ttuB%F8ssrràeS3a%_ӞkƱ;s^ӹ?'ңpn;QQ?}z-Y䢋.:s_|+.=#:nG&0&uT6GazY3/^~E޻o >dIgC"ҐAeҐؐO⛗W.h9t9'7>-hN2;5?ͮxANz% Fә゙;.RNqK-wںտ5!a0Z-Z4znMcDn"ӹ .z + DXc/sA/o{VpQBRkkFFFH?BdZe#ΌM&rQ?aǻ,Ys"$UP|HE~R?xi4A40N 9[ކ}_~kbkJ 1fF\$Ц8$8ǑzN^~z̋ _TlHO|ְSwwȼ.,VaƷ?TWP<ϝ"2w۵OJD8Au)h =ɜp@?W${SakWC4WٌcCcC>S|1c,_4휢¢> K;KFqu.]S]o]'|=Nv9n[➿=f}U~n(!E5)16ۗd7mUi%}/Iy*| /7#(v;uM(R2D=IQhd:8`zi !QFM`vcFl Vޙl JJ%H&Ny*#Q7Xi^۫/qb/boZżفt`vl $H&]\OY`v $\5[U 3IxVi: bwSZӪCu0wtW?!Y b]d*%1 l4_\l6}Ab4[e;56VO H8$K4iiwq2%j&4©1H~ #ƹ&6OU& Zk C 1G:"RpRc~ƴ4lndcA.ƪ9ƱJ&#NsqV 1F0/%2I$EUf (@f:0;AفNsB/O:Y$ . A c !n[boSLgXJX~2V B,MUDD6 Maɶ }7-MsA,qHRM#' ]hR0 ij_otiuPYgptdg8-Nqo&='ɢ$S2*U` u<tWۄoXQL`495nVՓښfRS',* YW2%l-z܄JaG2XI=+kdo ٬G7YwSS+#*xi:2xSE0 zo9c)iY,}N Q=J]Xl6 XQm3j9SΡ4S ,R ދy`2D71>>@g%v]I#Yln쯳Ilq2̈m¯]wduM9$@:z]ROzs</vUϺ`UX +{&xnP'fR0ָ-%m:;'1"dGtʶ_1UE@3mR7<Z3z^W)(| 9c#Z!+VrkImvjJz+Hj$ ]גEwKR!ʖ;:ER ۢQ?.&o7Rh=AE3b~[1yžHaAe@EjeZmb(4F%V*QEo,u6Tw }=XXl{۶v;Tn ߒX*"2> vbq#/C%RQτ.8r^:|֭ߣ:`>7hCPA˔D0,B\^!`0pa#%ԸD}=C>ң=3jcQyok9To(-=ʃ\al6< #PGʢO9?9):*6.:5{,G+ݻgeemyhĦ~ v u~A /^T V wSJ1cϱb6^Ҿ5өr(GjNF- c,*p|]3.|;"4J!!z~?| Z cc _OB,oJKW܃?CǎO:$%K/^Ͽҵߵ !6CϩSI?A=73Q!Q<ɘK~%+*80zEd"B+$qROۥؾ]!F?EUOD"HsoEK+݂>o/OB'Mi=^ڥ3J}_|yץK)SMY 7tSϞ=|q@b9,4/uk62j;5= ! a-HÓElL;XQYN(eeyqp0'и$/J^/u ڢ'g̶~E{TO*7 #=EV4 S8I]6mlz'N|Gh~CW HXcc;[kT"hCrqSS^ {0Dam qxӦijs]~.2C&armsom[{YԆk aV˅ ]aEqySKQiXd#ם41d [%"KŻ]VGtD^`}F}S[ ^ғQ+;DZXa1遼ѥt86 jt %S,`Nm a>e~ѣ˛;)\w{ߦ1+e(;*9fң\# !,V14nuvJk[&p*43 sZ4:ׄ<6a4ɹ9i,ݹH迪~?ЖS 6> zT>&5$k!Z!3Nx')?Qx|?60 Au*(_ Yyq^`S88x89̥ ^<ԿA1(f^e230gEg* lwm7sڵk4lk_͓t,g! bԙaʠs?2֕b0M;P:Yij\_ts9荸θ#p@C*`ZWs:a+ CמH$ =wrB q:TACc"V0b'F(@bƧ<|@H(͌6N2?wp&yXb-`ۊ3Bq]_:Bt&PyfH(I(>O> 2d F}"?1HguHsՙzҮsfJV=lV=.*toŹYi8v.G,3XZ_U,DfAq/\*Wd*^+m^P/((Ʈ>^`^S)%DgE3m~%\>FZG_٫if<*x"Ŏ OE F;Α i\RZXo7RV#ڶv믿>.2r$,vJ=,'ɿІ0cJД.' )4ހ7\4`iѝoG56_g! qZ;rL_8_8 t}J>M-iHOy^IhPLUC~-:Ak'v~IC#3HF,@3r\HX_f8Ƴ$ϒܡ7Ml<̅wbYO">"7^;A|#Ϟ2 U=}_NąRo(YiNP$}YIJMyè*`@ÕIF+J\Bd6_gb2a._F>vF>fB|M\R8K ]&hvƿrlZ%V8&ψ`b Q`XV|( 4`b j7SJO%4|bPu*94rfv ii)6~=F3شi bڦu#K%v6=3VvGmd7Q ѓz.WBEOU ƒ b96$t~L kExƒ+λbaXCc//>wKBy9\Sמ&˻,yj:j8F`-<A/zR7Dz>GEKBi[iN5 ^6#y55f[@$e ;µͭ9T-Hc,qE 21V}F/>]ݱPvR B!:b"/OҚ8Z~Kj*z%J{P:(DIc:4:RO_7;:p&Lu"N! @'w,{)W (+#N)ԉ'Lc+'O8zÌCϽ+:6q4#Vc"NQs⎧MdKձ xѥ#YmVAr2Y;AgrHfJ@q Eh☚x2p 1OK(c 7wJDGQf.3KX2s]}!J*AZcYD,\AIݙ\BGlVGCk8V;_?8s\VB]KxDP!>}{$,48EF_m 4ŔjG1Ľu\Nht!㈥0VՓdɾG쮃GXİ҂Of:0;Aفt`v f{- II@/Aفt`v 줛<|`ch~TMԛ,KNLI.ᯂ5bH)D-rZ0wir5 QX〛fpz?_S{u :JQJjv+dZ/a tAEul#́Ӡ '=ƨO|ŊՉ4R*qD,U/j"r [EjL|4&J#z" ! o *飃[POSCYj68 $SC _@“pM%~=М(:_~ىi=@Yq @f:0;Aفt`= I @f:0;Aفt`v =I$ nwUeyNg-<)c(kpmڵr{\7e9m]vb&':HEpM:ܥ;Q^ܱu}/GQ!STѠk )z'( QTi ۷(-9_ c&D&cInWccNv{Όʨ8JZG90`>l$M*ZiKeRuIeeeII:_#y]D0* ڗ rpfz\u/03IAB蠧p'2IubyС>$q1&'i:td9v*kر}K3S;Hb#C3҃XOҭ[k6RK:vxXo[~5K3":fz֯omҪؙipUTmIEj5Ě?@ړd=zts=>ϑLᨁ!|.3C3O:*#06?I:0;AفtzHt`vd@Bc|v=??/LEdm;\lv-rMeYN[׮ml }=Cd 6ɯrgpW;wl]v}Km6{%|Ƞ9IHROPAH}x)3)v:vNv{NN$!ˮWkr%ɱxxB 'jݦ- b+%?ZBI uIz},gpfz\uwrqARPMsaRnw{\!tr8$C+#i:n=*o.VC}z'I!. mͱ$rܱU/ְc9N/TLլ`5+{uzFwE 'Hű|߶Z.|9. XCjiC2ufc۶*,vffy\r[dRZ $Ykl6{nOees$i?w70Ď!|.3#y&֓@BI$` @f' xQ Xt`vIfI@/Aف̎tp߷mۙl+0#]v>lHtP=h6nB? (AY80ن`Fuߥ2!D` =I$y/0=$֓Ȋi$Ŋ/JZ.N@$蠿rB_ TFAcH$ q2@Zc T v` TPv 5C@0)i2E 24ck֩%L#gw(XQ3/kr{RR,ĝXObz1) tkN7n֭s |w7l+`.IdsMt4@f:0;A''@f:0;Aفt`v =q=IN|v=??/lfGʬ'm;*#l7ܳuk׎6[lSwl╞ A*km.tYڽ]Vnyj)Zm659_7B03A Rr:ٹ}kN]1i|NwvfQ -sALt>\-b)Ϳ۶w jt8a_YNI/RS$M*mh8=gKXOm`ZѫIHz}E,kَ]4@noJPjRM@$Mv{ݷԹ-x[tgez8I\z$$Mvmouw0M>, . If:mZڇuc7_c;o 7}0s6 gvDPoFѴe "~n:l [T{☇?ͲV Zk ='FN?+/!@ Il6[ _Ǜ`qՊ Zc{=eWp!|.3Cٳg'nɲe~:d[@1;n׮]6p Q2gyرcU0 P9r~WGt`~N>ŋ;bĈDmR.> RݡQ3^YYժU_$DU2:xN81Pz| .,XdRe9sfݛH%ٳoaÆ+V}]w],"=C2:Hb Ei[BތKH t0^$\OPhA'W(jzI$th!-BcҀAHRLBZ:F i'4_~|eJl.@B yeiKy*z>@$§Vㅴiz'fB[ II4ZH<1ƍ1c9u+ӦM [2gnKuQ9gedэxGHERR6Oh,rw=ۜS^R%fHz'QcyBcϙ3gOEǎ+_sUt[-oH7twr?%S4iDh!m36eʔ ("XZZJsAnMUC=7Arjs,I!Uuh!m3r;aEҜW_}58J8٠vĈHU$ i<M7͚5K޽-[hBΑ\=OZTVu -2lŏ K BDw̘1/IY 򚙳XViPL8tP!q10)F i!4'MP1So=zz_/y  {wavX=]JZ)Q:c0LO Kצ 3:;.=sDBZ)i /z, R߿{ ^_E }-^==w{~%ÖȆLHR8.& i ^Rlyo|:3ʾBRAbz &Pp&Yw]tvz[?xw !zxB5)G 1^HB1-M:h1E: 1^H"Mth!-BcR4AH!DBZ$ Df7}th!-Bc֓(-Eh @r1z5F i-Eh @JV:h1)AZ 1^Hn:h10evcG*(_U~:рxn:h10v+:+c}s?gi@)L7$ i# `]Xg6E4x>=fz`s`1HoAy^Yкȡ͚LoEF_|qԳ@˔]N?V.[?'0!:q:uq/"I-D!ьI̝;7+++"x9Iʋ=՛?~az,r8~B ,jGISA]kތlwSi/4?بm;쥲o9>Cƍ1c9u+ӦMKiEС'9M`q+ ({ VdPNS?͛w1*M;{tp$XJTs̙ScFJZ L9!nޜ6}vgb2%ū/E o)S,X`ii)!͹>\BTKCToFԽz`q܍DŽ?:u3qBZOmm7)N0AA"y4W_C[-ekLRJF ְ̀?˖Z@SStMf͒7wesdPm,qFb1Icca[!qq3x#uاΨ+4(i]#((IҏE [FaC]+9{b30bGڿUΙ{|juuurװ_Ԡ$P`ߗl>qg ]dɣkxkAâ?oeuMwdr?^;eb7 D?ofΕ: | 0"\nJ48Iʶ/ĺ:@zuuԠU[g/BQ3h@` ䷂,u|}u$C5Ș2tI_Ԅ$ $Sk`җ bفt`v'XO0;1'>@j_t`v @f'Q:X*ŊKPFR^h(_C*AҏIr,@I@/tP -IA`v @f:0;A@zb$D) W @f:0;A@z$|k֬Oowvbevl{(^$"S&ې3yC3"xƙ7Q~43@AZAEGs&ېs7?Ku)߿V A"V'eӏ@ò:⤩/iGbAar(>0VUq 6A5AROCﮩv|=C-E9F_ٲe& ~CtC]}}vV O}>ZA? Ϊqd?PB*+Wd,ϑˍ e\|[okscF /UnWq9ZӧYT\h3':a(uxɢOwrXsnm0!AraQ6Fq`B/6tQG\U=or{n ,J^r JNt2pAn-U^ǯ!Z6k s:6ϡ*Ww&@%r HGa= 03Qns{w|Y~zQGw9ֶop̢Mp_Ž٦u,T2\L OC'U:2|3]B>۫?O>ֺgqFvNIvN, 9tOh@Z, IQȑ\RX]R]>ӏ H?9K*Zquj[x-]vgeה_vmw.߳6n!A'UQ$AJ=EoEmnϝ"T=/9!cumr~?޿d A"#JlS~jFG$``SV^tt L7>v BSSY/_+M@gFbA8 Cnvٽwq^Y}FPQS+OZI+ y/0I8?7/\{+vhZkٳv8#To׃CXHNyS0G}Me^pq1]t~g㣃Գ_9hʶ/W,Pr y3e]uX[zUCt[o:WswБ+ j4˛dk"[柯l+. Pާ-߱jҩ="L41ZVrkVgn{p@?9m=lHSn!*r^ѴqN\:@di_ks2Z1Ȼ (WQy(csVfma"'%E?3r[p]WX4!J'Ym6c^=' 2KHO/c; @\ ni#AO?: 1S=4XW^'_˒mHy{B)h|VcRsrp=UiZK*6$yZK*bQ{zPH^ Aفt`= `= :0;Aفt`vX 'U !x2cDE!R+҃렯?Գ^PGs0'Y9LB0 yxWXW T1gYѷC*}zֱW,wTه9.k8pp  )S'NN!B88pp  )S'NNyhLihL&g bkNN!B88pp  )SƜS )S'NN!B88pp>Msۙ.HDxH8I2OYs:/@O\Ӆ'@8@|Z\P Bo6B dB_'h6@&S-mS@8A{ly.'hPTW2.KpVuNݤ!A9UOu;vosg|7cǎ{GMԕOlkf'YnePPO?# ͙3g]8֙72v+MIxb䚧ILLKKӧ/D!ozĮ8Gcq׮]#rNgBk]x1///!!mNWh |Sp_^v*%@8/XvN|geYv&&&e$YnCZN<\#+Ʈ *VN`,-lc D P$N ѣG3ל\S^SNm;{^ҕQu,!9۶m - J/(n2}*Y-!XX,bի`1ЛmU@8R:NMMe[ oN`vI:'J8pKj9 ұc 44422m1A8>h j'Dъu!366600m1pjkk=wprrrpp'(A\p dŨ J;g݃'x}|d2y'xwڵl??? ӧ* 7}tT9Y'xVCCʕ+kjjxĉ| T*((7E'xIpgپ_JJ JT;gTTTXXb2LtkZW!AUUUtp +̻­ZwhLfpU\M"vΈ6m(\ E9Gczv汝l6ӱmGc 9~իW N NۻApUO 7!)bرcvF'xbÉ4'xĕ+WwY[[kZiN֭[:t>??YJ'x^^^2t`08<@8A~'{]t!P/iN_QQΝ;aVi N)& 䇽A@8A~blӦMǎ^'O윤m: ~ܹst;NrA8AfU+d&vΐ( 2}91i݄px87H3pn-y*FyF%r}Sry*Fy&LqF2hٲe׮]##[ '^֦FŨ )++;unNMyy=sQ2 ! nݺ}deu鐐 23 $ 4'N-'}IMM%ѣG0,ȑ#O<ZtiXXÒ$@8AV֭k׮p8p`С[ddd߿_][# N)0yd̄~;""b߾}fyVIpn  %im 'CܸWvN.;;wvN,''ۦpdlO|Nn½KmS@8A2sFGG+6!L:VV'mS@8AZ:VnNڦp4NONV!ONFݺukժ2_TWmS@8AɔADz_Ӟ>}?,((h۶ĉ $KYWWnݺ]v544y睓'O NpHru7k׮}kjj_y?˗/Vm{!RۛouV^ yhoз~KZl&=L{ټ> $$BIz&Mh߿?'O1"++5:V'SN=haaFIKrH~_|ŗ_~yѢEӦMSmYL+czwEEEK.} whn]Isڵ_:'Y=$dKRj3ɟgd ֧ō7n͚5;wdNUy*F<Vx-!c:زe mJA,F!}8V5pUM//nQJ.&888)),V\I頢B6%C׮]K֙jL2z\ւk֯_?cƌT9sx"&v0a֭[ 8ukjj~lsoɓ': =$\Z<Ԁpk._j޼y2<~ 9 裏+%\_#F(**"LF͛7o^Np7(""M6N>wܻի_WZ5i$Vcn'#.]*^U, .1⃜NJ\[7*L^xA Np Y]z¼!V'\P/A8bС× eXΉuK.1 @8YXp* gުl8 O=ERZ",s~lbXI&-;pSӝ R N !NpJ߾}qsEDD.GNp(+z)xyy.A/Nh^UUx(Gc2bo={իobrܟHR2"lq88qAi'4nܹk׮߿YG'4.--d2eggENhĵkpskU1vdfff:vi\ȅzpnjy$ ' WZ7;11m1pB#Ι϶B8^uuunn.b !`/;;d21n2p=ۻA !`O hLJJb[!`O g||<2pMjkksrr NNIvvvCC#l!p  7 d 7;gtttPPbtᄛ̟?СC8C8&XW!B8m۶ a]\p/&OL;w3fŋYw'АI'O駟X',??7'` n ٹsPŀskU1&i߾}t5-W ՃskU3WcwiIU=8 !p!;gdddXXbB8A0b8 ?N?^QQAǸ Xpr ᄛnⲖ'9;vخ];ŀ;"vN\r;駟I":x`/NNJu!`©w틌С``] 52vزӧϟ?uE SΞ=KIϟ7ͬˁ Ixp3Sٶm:- eXpA8©_XprGc2y1vꛒ WhLüq7%ј,sp7CN?©S8NP/!:%vVZu҅m1(SpnN=*++;}4c-Sw q #__V GNN!ziӦݻFֵ@N)//?~<+fb]4ԝ : a[ 8pR Sw-Ze[ 8p9/їW1i9px7HQp Ʃ" N??xŀc3))LJm1©#UUUtkZZf(_Lff: ꛒ WẒ|1qMɅzpn-4IDV=z`[ 4 sd-pEuuunn.n* ze2{T HOreKV b]4 ooDGyu-S.Ԭ]\.pBff?.XO]r~;׌P`2 >YWWɶp© سgOHx v@ŀNɡcl?PSH2TS *pj4 l!'vΘ ŀN#ͬ,:5 WWWG S/SlJIIaX 8sFGGlْm128ڪ'g2Gb233'_ߔ5O$7%C!RQj:nv7%tq[W\DcC!Z_~P/ RSˌFc7'\pp Ԭ 6 `N׿ ;{8p 5f{,K\\b@SĽAmڴa[ Hpjl;'©M'Nz*ku =-,vR69~yPS4N @8I:tg[ Hpjb;3SN>]^^NǸU/SSloVN ޾}{Ÿ*++wߥ7?W]ee{'ŋJB8nßl -[6k,Lz};vݺu A~M4iԩ'Nu޽{+S©5.\cu-8o u֧O3gݻwO>+W_=w뫪#Gz{{{i׮ Z޻A/sذa۶m!E=SgT rQMI$?{lrr2%KHzԚqAduGL6&x'fϞM.I U&m.X nd:u3fʕ+٣@%έe87oޔ)SȒ);;<)\Iĵ1t:m3))S\YsńRɓqG!KҠ<˖-#8h #;v߿srB9uY} #+9r׮]}%a8|0y#""(@lOIIy뭷ɕСCɕ6)\{_|fRk/$SSS۶m˺א~E1cƌ3V'N$!Q۶~m?_Џ! -[(P'©)֧'OFEE1-eӦM#W~nn.Q> 2ڶMΝ;XbΝ :uj֭(B85ED~{A^ʴJ[MER  bֶS;JKKX]jm2pj" mS@8zImN--[ڵ+bԂ۶) Z"vΔȶUm f:uqM$ۦpjz_aۦpjz mS@85C\pFGG-M 1^^^lmS@8ʕ+?#c,UMۻAXp6KmS@8w) wc[ 6S-Z/fddz{iT6S3Zju]ww*jd8W5WNd򏃣1#W1}3coPS6SWd@ZWe6Sls6JmS@8N w=VXt閥_|ۦpNL_g9993fgРAj©j-//]D~a  ʕ+k@8UM C88pҢEN:J|4Tu>| uv1GZfH>33I7ysk=; oH$??I8Iuw} έ = C8i))) +B8G]t a[ x©2&)##qMm׮]cSNAp Ʃʈ3**Ju jb6 NC8رcA渦R윤mƲ#<\Cf s3ZhLIIIii)c"NN$p tN@8U@육l * vNbl ;w\II c+'7HNVn!Zҥ b@I'ΙApr.!! NA8}v"ް@8U\=ɵaÆ:kNA8U^^sN2O|ISoN~a!=C8% a[ (9C89ucǎ11xtqxR1twno7 $xoժR~hLx7?>>m1)s&%%y{?:*++ pɣLq}[p)'qӣG+'p&&&-XA8S]]GAaprƍ#SNV!i߾ ҥKVtWN~.XB88p򥺺::::)))55<3/YYYEV۷oG8 䋸h4&''-B8"vθ['Gjkksrr״pr$;;=NOB89Sqi0p7N3:::88m1έe6$YYYt҂SoJ&x7K¹έe8$uuut҂oJ.\#ZxN ݸ° svڵul \hhh̤c< Ʌj:m \2e YvWb]pBll+Ix"s-Z.xpGEQ pvN jcrB8KKKrn#G"C?tANĽAQQQaaal~ f1~NƎ?^QQAظNp44dq['cb8;vخ];WN,N,8ҩS״`dn:'A8Ybu7r޽>~[L&hhhNbccI= |Vpn-y$ÇV.vƍ}Ν;c8m\|ĉ{oҥ33jt?#eĉI]~9sݻw8TţNfzY Ck䝜\N:d2@ZjذanNH$Qf͚rʵk?~|۶m B8ٓ˗Lwypfnٲ% #f<CN6#d +[tKݸM6@8ꫯg}ɛ4:tУ>* =u)SrdpFQ+NY,//ȴ))){ |7|}7| p2 ޠ-[9x[{,l40+6_z_hrA8i-":O>~tL#8Q'blٲe.]ܜ,8ɀ||6Lz9 ©(M)))F9?z{mOgI?lҤI}]O|!S!׮OwgoUW'Mh֭OLf?إ|:Lj${u+/2 ѣiݠ={R"O+{Oq2.%֭[NΞ=KNY WR"}?f^!T& Ԩfj2ۗȑ#W 7}m2p Bw?(̞-|ȟ~~~q)!T=>\> pzVV֛qZ%ӧ/_;v(Sr2 zIIII}}3 `p [yYŷH* n6g~y?]G8ӳ0疋ͣ66y &jr=Ԡ7 y{BkBB e֝QYY Y_h! ]#""$Wh3O򪭭2dNϊG_jfbG]\\\WW'D"Y7y zV 7ӛA矗8y=ȟ&)///99٥mtN>W qAAΝ/{xke\ ;@i6I {S uvaf**Vf~~1H2 7|W≘jެ|ӗ~2decBȏqG~}&ѣGp~嗕Ľ*qQWqFgxxx޽p*{ĉgϞ]]]~{,z?#2xq7H.o~رq-]GupNsӦMgΜ!SP:8pj9sH8322nJr{ͧl~W`ԨQ1Ԃ~9rǎ1bĭx;q>W^M~/K/$arh © .ܹsg~~ aS6 .-YW$ܜ 1|rev}:tC2&S6:v۶m|Avd B8,57l@-GE7 r?رce@!ҹs͛76C}\K%@@8;ܴiӈ#8"""===%%E bCN >|={ƍw̙~3gΔeNaa#|x޼y˖-;rȀ瞿ץ.Z\\{I.]$XOv_r;9'!Z֢E=ЬYHPwZ~9u֍~l۵k{n$i'*}©}}%-[,X`%%%ˬ)']vZlIiuuuYYYUUU Z6mٳqpn-y,|knڴJ,!ɕĉIϤu΃skU3bH %푴Ǐ;wd2EDDťq~~~+FoZpJ銬 &!B88pp  )S'߉e }IENDB`PKe5: \-Pictures/10000000000001330000008C2B7494ED.pngPNG  IHDR3IDATx yǻgfN',IbY2~@ ,d E"(+` pKĸl#x9UV"H  &p P@Ebb88 餻yu{wnnfvvvw78V=uOϬ!`A c@DLH#LH#LH#LH#LH#LH#EercnlVJ[xkQ h+mcYH#ƕkwb7=uźu 뼸!ێ6:.lisKE5?݂݀qB:[ ,3m:1550gIeDɍ5Lp{W|fg'ѮIN%&uW+>-閦tcRr YRƾCL߿O2:&' yrX-^`R,+[k%V.HCjKAh6s}3<ˆ=3Ej*1f012FA]۸TT1"f-l;Zl' ,}m{|ǵ ڰtq{9`DT BCc`<  *cS@+(纮fkR4T-]iU2\j-@^ rߥ5+]Xe%bdN~/T4s(p{lc3g1-#q;uxWh>2 [!F$<؄+F JD>7W&Q̶ D[GdT`V .\pe.NϪn:6Dsbə[zr_o㦼rPWFsV,i2s Yw8;& -2FR$ҤӪ-/4Ѿ8ikA{0/&la8kJۤ[ Pp/,,{ss%,K񆉐>a9y;?40;6@M›Dۈ1ԏҡ8+Iwӳ6ytDcWɏŁA pR=:,n:`\o{-Z"ހ\wM׾53YGΡ,0򦊔%˂Mؤslw.a]M`0q Toz8 e-U-d֝ h& K] np9KD2^t@2(:ʴo> Ja sx\# ?>ъi4#3LaZ8YkAX#wI'8$ۼySO=/=' CP`3-гZ8KCiJ ˇ~Z`;~*\48-qsh|O9s*NNxt}.D*=Z=Li%j;b$޳}%vqex(= )]|2`3 iy/Ø9%}!2pIVR~'?@!S'KC*.5XIpT,4e96_Ǟj&&:ck6aX 95Eh89}$,,k3$DŽNfWa4lGq vͲ6yӧhʕ+oVU@c)No+_72fLV.rxV^^ބU1vd8|ș$,.Lž獩5\xt\A{',Ӕ٥g/"|຺T$gjD+Ft 0W/ɿnVlZtqՀ0{NfuPJ747ޮ^$&3aօ{PM[s G+pz;{ţ‘ἹSªIXGC!rU.q G!L>jgdi ͛LtSq'#&dS_]•V s% )y&WB:{řJ{gx\ Ă5x2՚;wvuQ-o]21'$`(Nhzӿ3ESWH/[p= 3/LQɪ@%Ws%JKN7\GMN90z4m,V` A6,̀,k஁Kn'ol,3@mj.H?UckۻGI7 Fi2!mS^ s_^p7壜X5drB0)g."Nt#kTP]b#EF\9\Ij){WK;eHWȞ"2y8BWp4 ,eh0.4fWn((.2Z-'0 B&÷u*eKf77ǁ%Eʂ vwrf`YYq{+ܸq֭ޔ+M{?ja YMy;@ĿIC1Ƥ 犩b|Z/̉;]d#U!*3\doW_khdd{]`0A8hpM|!/pL<W[JycS)@˵ڸ/X<-I3=˺qb=*Y9@Y~ի=Y*EϹؑP@q+_aYiX!n̪H b;rg^N\bKTK6\u(Wvf2%_Q')fe3b R cߺ4q؉/*+l f4g*ygp]ނ?ś"\Vfɉ_*AWضm?XdIw7ݴiͽײ_ÜZFra |digfQaYs3W d2E# GNG믢\!*ALjS^^<v&@1U3q?cdʘ-ƬpF=Px#7͘r\Y!%$Oߜwd| &8(o+oĻ& nzn⒳w^ei}mR2Z:`?ůO؎T&>QfT |/W:C'wNc^O6HXuF_)ڟ7A"/g ȥRsEUD0cdEO c@1*H MBe܎_|˒?d6d2]Ԃf3=sb@6eQTfiݬm suEvW>%,̶c+k!AuE7!U7y]}7g`qXYz4[Ч= 0`G&LV.\KK1$%xUxA`$Pj7Ĕ9TU9|+Ra8O8Mᘎ v)Z@˲L7?s]KCb.lY6qM0m[eHC^>Vu=r"&̧ 7M}3v>jtrb"'ZޏI=nhx h8p׉p9ķ  (dpJa=+"| G /Fk[D5GroSL K ׹d7m-ɲq'Wm[5Uo>ddp:!'G9q:| ,m͝j=_MB~_^;{p,F.'*h0"ks/K:G ^iyLݱNϧ9}4;ڃcBE/d{|F6$8l:^{YȀa|3ڃM86 zvJ// BZLѺlSY|Ƨih*@ 6KWTL+%!fԦV$|4N^fxɲ9{8yLy툴'4%)?pI"hy;?ݩpS#{b>a΁Z/6'ٝ@[cJl^L{Q2&blzU$+#ˬ؀r͈y#.r UȘǨb" ?U9a$ǽz:]VpjSVԚ;dKSCPf*D*0IKjnaju -qLjߺryKn&?:P_5+2k>*3@p;%7 nQf;ĵ1Zsp+" )s"2+" )s"Œ2'O*.gm&\h5ZS_>o^L872z`_tHŗ13)z3z  z /4^9K_#T}z_0Ee}J99S4a-IU߮`% 241cN:fw(+5yYNiVfǙ0&fFwS)݁#e6LP WV p1W=%e̝;ގY兽4]?[&8)=w+^ g$49V+sDQ= i Zd7H2[ +" )s"Œ270#&vU~nz~5- ]WM:ĵQyss~SMKޱ31yejۓrN8n1䆆j8h%Ac̊6ӏZNOQIJm9טD^RD^[Uc[ʪgyjg[`=DbUe3cμCi oc4`/ dY\V8YE*6=c˶J~> P{$ 84dЯ[&U >idTqlPn1= :T2 "_[I Jn[$fD!eD!eD!eD!eDI"E$4B$4B$4bpYכ F`!xӀ $4BLH#LH#LH#_%@&fD&FfD!eDBWLIENDB`PKe5:Rd-Pictures/100000000000009C00000046B80C0EC2.pngPNG  IHDRFjSIDATx11 VVvvU6"(r(r~l? [[en6LW,eg?_'l?N>5JC?olwt]oǽH$["D-hTP7PFN@p*j9՜ֶ"<;i>֔u ޘA։&KBdLfjrjhDž0&:{H᷸Sg31'FSg,>aNPei©!ʩʀ:U TSg_SYGxZ3RxN QNkI`?: V]Ԋmw'!; ygɰXQNuM1'aBg\CN :OI%+p g&CdNRS``8!d@Zp<(i$ـ7ggtLS6}{2Y-Sv9Hvjtj~jSN&O߾oaWn_6\( ,WJ UH01vy7'9vœUDElĽ4i8& \ +w v*yӇvWZ‡8NQ(m&zp %2z-ePR'Dgf'dT05$CTM-G؉,GE*U *@TTQQr&KׂQp&헟uFIùuV DE*U *@TT#c!PIENDB`PKe5:BH?H?-Pictures/10000000000001CF0000012EC7A32E4A.pngPNG  IHDR.g[?IDATx Ž]]Tyxo}ϧ닉MM/^A{w9izzzz}ꪚWUt }5StEYVE ']]+tzo,_7eYhyH_Ʒ[OܕKON{}N2@CutGw z8ȴZpX۵{Sx+U̦yqBSi{&.h|F2V>lﰱ̺KKL +zzcmmb7o-\ӿs:]w{nzݳg ++wo?rRX?k<G+W9I4zLij/K<ѿ=B30hh<996p+hcæeO4ήiS'9r nOs{P d/^4fю֮pɂy:_MBwv:{\<.xD9ϋQ]wK?.pV to~Ɏ |&HMkqckzoo8#'jHx~A8Opx8EHׅ .XG"b1lxfc ۈ%x{!E7iබ54%̝_ubKKYYQU5Q?a DѬrZߑ8 rx$`C΢K`(බWV}^OWo1a|ȑ?RQ3WL;WKÅkpG |kh)qo $8Nf3 M{]qk$qo`+'=IGZ3̇gA~pn?SX0gZ}h .22;vOlܸyʔ)cV)*44۽{Wiiί~qMS3xrs3_R_?Y|ͽ<qÅÏH. XWgP-'rFv``0Vʡ&%bÖ lUMG̘1ӍM0n̘Q墢/ w挺(RZZpE[m+C*;vt@KmcRS{=Jc6\n0}N~.py[mxN|Sۓ&x=m ge j->=rਿ5j,nSхjG u?˝Ee˩S:;;,fٵ]wqV-#׭}lY_-Ѧ[?J1]:{b+x|6ou<#J{&MrDզcX~o5-MZz舛ՉbYx^ QPw8m/؉`Ax}cTWCeWEmXbbs *az-+qWyspsMGl_oS<څ*YY7ߴ4H3TS&O^3NG0J -UԊO8n\uVeE$Üq5[l(O>99E8#@rc3bW5t 6[啻>_=ưDZcG,*]ppMٶ:^}X 7η%d2)uӪAm3Kf 8|۷}uݵa>~ڶ/LKݞ3ŶcN#m&#P5koM"k.74=!Bt!mtբ(E˽luW[=v{Zd+G$  $kA3I&A$aۢU !{~i #QmYCAtj ,t W,_Ֆ.݉=s5'tt*@mKKyem[0½<(81'KL2~L zJ^CF:EcTF{wOy^E(if`ՐWXC-$2+ړCJsl ɘ.фk)S}J1D <$R%Eis$/Y2z Y_?lGO7=݉,GՌٶRu ʛ\aA}ɒ1'F\;JPq=% Cn, A}ɒ=Gr7viS\St:[t=` DC(@~{>E` I1zېVgcT4{Sm8e mfe_ќ P3(KmeF}ݳxK5wZɅ8%7IH:R*'P L˜"g?7I@cXb<"3(DQj5$6Q"pPrfdt%"ȰƘRkQE -$zj4)d`( )zPm$qP8 8$aF"-c4 IvPmDZ$ n߾+W`(h!$h"$T[ADj z1Z J?C;HԖHS<>qf!YL^c5;Y)dyN"k01s9cYٕ]?nz<1,.BfH4NZ~OO7{rIusDf)¯.\(+*=ENBcߦmG/5:=-w jdmDzMrV*$l6C|zئ֒w7~컃w^ϨI g;.[0߿m(Oպbi}A~Soxި f-Ӣt[w|<~TNF˘LTmV|]kkj_pcKm=ОuEW M  ,bZL+*,Lo~¼QމUz܆ϻK)>/s}ح_>//V]HǓu*BN:$#v\eK#E~sUPg뢳;=iחV`b͍ K4R]jgcK/yVitp>jJOz|O ƥ؂߭QSl&[{9OL/*DΛ:wvlf~nAg+:zM'r;:aڶǎ7ѧ#?=<++=n7h+fY]_C}_sbXᖆV}'OƤǸͳsv+^rWG݌=LΙm&߬Z مG= w?%s*}hF>2.v n~N`G7-gʉF(,@әNkL(L쬾`,(ھcW/j2ϛ7FbDIe9>%|O{Libشps,w:WMM=؜6ng09vw˵M%iXC x(7i8wd~CwOx7OXGbAr$Ik|uvud1"^j4(Ȫ &nQZDFs |VvnF#Etq;{ 0.N_db>vGFu}6-Q yKzAó\#n_<iGS?ӏ?3+ í/Q%3 Ih=qd~~~y|,$Nf@g;::333lVklBXBm~L!Yew}wK+^kf gVmf% A OHt < yw0&]G;m;Âʌ踯deѬA;u%/?a[TEή.rÍUUy[[;H-t:/-)FE 5 nk[n;=4m=aMK&t9EE_!=\{0q1\[G?i&:Hvq}#J\mxYg6oKmU~c?-1߼W>WK:ZӮɿ+K>g_Vuɨba[}m@Vq ?6kcWWiq{,x׸c•1.;+{M&g_>xPz^zȑcؒ37'J\pYi`tdKw4&-<@a2*#hx5."B b}릲-XGP[ጘaqT[ڧLW|>ЀWɀ>ffl`8xvpIvʔ #ʉ߈ !YLQ.9sLev(Ou_|hےx2W3Gj".OY^B\<9CfŚc~cO!]Hۧq:7dG`}r.ܴlO vh; :[Zu_5k.VwE=ڶ9[0{߬nI, wMQdn,4b jp8L׼\(u:ހfL=}3j,ډƍYAEIb˘C֜1>u [;Z]7\yA&;Q\avkqjEȉ^ѧ1͛|}ph #3mL} ȴ:B&Rb.ooۆ[ڲo2o K4}H󅵞M:FYGkBj6+Ú;} KEm OV: S WU6⿚Qz<,\7c^ǓA> ;Kxd H7 WM<@{R4Iuz*r {^4O/8TSBۭ[wΞ]Z6--r^7%;;@a{{֮7bGs _kZ[[zɲgZ).՘\rfIjG#.t~@p[[++GD]jXUdJy8*q㹥˻X_}c}ض!_Q弪b:-vⵏ|oo&HmjFeܸ[*vrȍՎ\,oׯXJ$İ/!zAF*ߗMfPMH<,c'U|vVfFFzVǫ?dV=f]LÚ"*W+ӎ ah՞_ӹ#taB&j$' \m?W &1&aUµ٬j͵SS.lV 2f3iVK=f69[_Ae(tt$V 5W_{#u[kBx,l.˄ǔ$B5ixa]`^$ZADj m'&{)-cHXC3gNj?8$] 7Dm[ADj PmA- H"@EI A$":Fۉ^j m'&{)- H"@EI A$ /=vDwWPz GQ ËaTjkjCWERC;ሂ$aTjG COqIGE0R[A"aS$4z6kT6mR,ƃ Fh;T x0بTڂ.\|F{6l Av" m6J$|^6MJq򴋢ܢ miAĘ~ᣏ> z*33pHO_\PUSPX΢"z{ o7ސsssSW12Z^[DSMF5WZ),,"H/X 2žƯdJQ,=UŪ! 9g ]VV!Ձ !NLP^jd"sh&ӆ9mkk+9w (AfWAKd_w6J+\=R1(xw6J"K.R+GہכLK.>E6& AC= CCoꁤHmih @vǒ" #%~!,-᥶DVO "׭4-Fu4@ED[y\-cH) +6JՌzYj m'RJʨ6ܖUf%ULAj Y6)!%U~kPAĊ z"p>& ݻH$LQpAmP V/o|;5hkk(dɒ`oƛSb^dSb^aǛ>ڠ6VjK֭[~=-ZTTTYS 躍6m{g\.ײeVX9_/ˌ~jF8XI FۉR wy… 5\QK5*R7w-y'?˯\ ڛn̲2m׬YEz 62M;v" at([V4VPkD\ ?O|-X ^xayywTXrF R#dtww"//&z{{i"77W^/''GAG2U,m۶}W_5kQAdM|d́r{^x* ӵkRT6K$ai)A :$;=F555&M*,'Av?755})9LL&ճUq0O)rș c"ZX"4gΜ*0W쮻믛W\|r $Py;ޏ2"Ւs= P:Fl[Ab|^;vڵ3oz<LJb]hs=G{W~TO75Y@B%CT|?;zDɍΨsOl8׬Y}nиU4fR׭C'Lj{+吀91UJi)_ %AmT+WՆ}b[\A[m9Ts% $%S$䚫Td%% Fۉ4sF+} z3Ϭ]vٲeSL!~_ի~#"hihKUl14.q@OW\IE$*$eF h+rU ZYI=04ґf[ԾYH 9 ¢Dd/Hʊ@rMKʫA35w1N$,MRo+0lɮ"-(lIIP@ݸzj"`|[QnVhOeJ-AvSd`|( ['!0--X&QXraEEpq0- )Q$`|[ARضA(- HjcA$1mmaHXA1N$,Mԉo[RR"( F2A$'!\oN1CZA" m# P͕Wl+HlǴGUlUI .^A-oK1B|[Hrӣ|¤Xgш gVCVrJn1AJ o+m#@5bEdb8mmcE@AFJŷՠC1KGiLЖJ"ĭVc.N!":mo60'О 6K&\y}S rdh;4K '"h;4K'"Ŷ6⊖呵>TW8mtv?`"ڶF\Я$8 s  QZmove(2[ ʴO_r46.cb1?dm="7a mc8ۖ&V=/JgbJ V=6Ԫ!7Z:ڶH1m]-T3YMgc3qq᰷vYLܶ 6,_.|ulk+)Nmc V [W+Sjl;cYӆ ~ Awz#KSU)ڶH1m^h#/<.o!o]ڔm[$mW\|~qg8{'s#ѶEi՘I̽"8M^:͹FvV̟{VĴ0.*bkia.߻Mxx׋ia GYm1rQl9Ǜ7ia.YL+ 1rUlmbZyd˾#Ug]~V <2ZO9O+ s |BcHXFwClE1N$,MRܗ,s7Fm/3{fd]#ٶ<-O~HmwMv7s<>_ VWLYc|C{{;&IdULjܼ FZZяl[Wc9Hl=&wO,,\Iv!A@g%g.1lyaٵe4YV-}ӷ푞+?Bfnn.-z O$49ΕLZp8OL[3mNNn[o ٶR|[w?,G8ɴL6 ihn[X#:mJ$:KUYy tHO*O+ KƬBv%OylWK +OP%~izS$mUr/"" miX[yԎzMM\N, '/HTj) .m+!w,ȍYHmQpb8VQR&n/ߖ#IX#:;bE0{V].3!J͕l[U$6,TW @&tD b86(>Y>rV` ⚋Au)@6zW&H\:+yo Dd/5mVg ˘ g۞ nKxs|__v)V>E&ϗU@]RZzG1K& $//&-0."`M vBCB$mKKK/ H~ :IuAi3W!Us$mE_HU "T'`j-G4Uy]2$mW݆/Ęm+PwjR m[uE$yAVnIjжU']HL0N$,MRmET4wy… uDd/E6(wAm[ϲO_z饺3gZ,V @, /SO=5jԨɓ'@ݻ?555={/.Q@$2ж=[o?a֭eee4'o~Kp  A ڶFٳy,eYM&SdAAVD/_pSL)**̻k޽'O\r# m-h߾s={A̙3!l6G6Am @zժUwqGM!Hm m'&{)ڶv"aimF/D$Vm жEIh"$mAڶ m[AD- H"@6(]vG}w?#QDd/E6(===,F>bp Km[AD- H"hAIENDB`PKe5: ( (-Pictures/10000000000001730000013FC02E9DB6.pngPNG  IHDRs?;B'IDATxy W/m_bl`{-!֣іBK'$I. A0m%<DNb4h~t_[ԩs랺j[uyO}=ozoOzl%K!͂r Sn`~B ( @t5~dh^>}.]zի7uiW{}UoqS|V*?կ_G['$g%C6lHʲsN/X_ e V=E)x䗧+XgCѤ, ^e|&<5!!Ay~SnYPOx6lXlYx]v=yDjRAiڴ Ν;WB-]'+ve)_|ҥcoH]2rʓ'OS-@BS,t6W7ªx5LPEjr CjrO9ѧZBkA S- jqj HZBZHZBZ,+7T[T5eA- "B2bMjqHLX;jq HL(FEq`b3)*6S-gJ@t,vR-zl"-1jٱj)T X bYYS-=5.|;K{ʗa`)FjkQDy{jvhg *O-Ozj"e ܁@xJmhVMXkʩѧZ8./wrJjዐ} _Bw }E4t0kʩKIK_ŎXfTeU ,j1vXIĹZ܂Zp #ЫZ x| !" Neq"6qK 2+ ) w )@V`5) =nZ /b~U#]2Zz > {Ū-e0ZPz5Bj) qc))'WBksZ=e%RSï,zpT [‰vju[cU<逡)U-,2S~bWY 1e޽;--᳒y^.]8… :]!C ib5j(,Y2>>>:+rDՋ^ (кukrSӦMիÚDx$22Rt#^5&ӦM#5]vDDDZBVeyQ.]jMp!($&&&''{D :TcO*KO<#GKɵkrʕ7o^{ָ|oUݻ r 0ڻwo"EطOJJ8p`wUfMm̘1c…3Ç7kK,޽{@l▕GEV߿~۷ɓ'7o\z5I ,w#G(ڶm,ŋ,@VʑѣiOYf-^Kr? y"P}_.k0ڵkwH8E;Ǐ'5^:MizߤI… ={瞣+؄DysӦMe˖С2;wTP!֯_O#9,5&&ǎ[n&j܁ 5&&.\ 5Q(Q" :4ERK/)͛}X\X۷o{&$K,t d;hy&6QYū&dԨQt5j(wAl!:˗ϫ&mC֭IPj|3f>67nDB fC-bߘ$iii *` B8nݺE3&???0<8}WMXb=P#RdEM̙3$ ߿?ˆ&9czSNއ3t޽G3Ҕڵk{Μ9mM*&Gʕ50.7Mf5ɖ-T%e/),={Vyk֭ׯ_w,XʢMMQԫW/G ,c^5zH`B׮]w.]R[P9sw1 Р\vFMȑ#7$l߾.nj5&ӦM:t(mxce@$'')R$66VWV?cՃT֔HHHHKKSt )UYz$͛9sM3ol(-+Z@j5&'i?NjN)M+XkюΝ[D Q3ɫYIҼaÆ 0@Lǽ]!J'OMfJoZM y8A`70ѤI3gx$nwv?Ae&?|4i޽ ,ȋWMvܹ{ћEׯ_( rw5RŊ||LLLPceʔQԄ^<:_̟?{ԩ`( AdeȑꙎ76QŽ@Yqqq\7a@Ј$حPx,@Y⁲eGMww)Ya)gS勡$o'SY|,B/Ň<]ZSN8W㳒y܄dWH+0 ( @|~Kn۶ѣGʛ *UT:D͚5ÇIt-ZDPB|||>}HntB@YB̛7o.]6jԨe˖QQQj*Xfc3gΐl߾}ӦMƍ8qbNF]R`4hpB(K_;/^,Z(${2ݻwzz:'ɫW8p (q 􀲸۷o,[瞛2eʠAci9sdÆ ={ƍWXK//y`p*KjjO+'w:=zyW_}U*UO6-##ɓ'V'PSlvdɒ!Cܼyf͚Gǎͫ? MVFqΝ5k̜9O>:ۻupB˖-IlBS:th;vw^ʕi:`ٳwꫯZn=c dB?;/_^D ~wԉE oٓM4"{Ac:)))GܿCiii7ndyѼwLv$Pib;w 64nx5jxW|)۷_ݻw8y~M949P.zZxqjj* S{ /}݄ ;~7&MD}=P}oʕ$=ׯ]6]hk8@OehE{ڵ$|(\0]Z{Yfϟ?==HhvIq Fl[jUbb"#{(_ܹs"Aa^y ܁@I"+DDD,Ɋ7]?.\Ƚ0f4 ٲeO)~uM6زe_e!-[b r_F,+ʲtR:$e5&o(ުU+UHU_=zĥbŊ,߸q|ׯ<8}[RsN(իW\D Re!" ܷʕ?6--jժtbhѢPB6nPN:5{ ;wڠB "ŭ^ 4`a;͛lE-+ZHiӦs„ 3f̰0L(c_hK2Dg5yi߾={zC2o<( VYU5kԩ}qȊBݧLDq5 Jwޖ&MyfC^P8s… fa4##qh7ʢ2d~݊%q1Of6.}[dСCm=nܸq#M!-+Vl׮]2(o߾vE>LRc *Krr2]:vh5Ν;'$$\/^-H###=aR;wTV[nKhƫJʲm6( 0aJW6mh+.\|մiӯBtGwNfԫW/""Bi &<,ר(sq++ 7&eõko}ڡ!É'eI@ɝ;w 1OhgEW^ݯ0 Ar8eG\rfddlʕ+Ei޼y۶m8@Xz3gȪN:?ԆӧO_v x`3/x2 Xją]V4?la˯JgSvwyIJJ\|yݺu޽{󎺼&&&~ᇃ &JCY (RW5jqbX@zy&{C:Udfnzw;w\TW_~̙۷o7O<|M6;vh֬{ܐ|7Nc}ֵ]6E44cRod|Pp(KժU5%%UV~-5 KCR W,|o^r^K*ehf+{?~Rn [gEݻwĈfvqٳg6lؐYB>=drw-|$ h߿ܹuInQF|xѢEi%aƟzQ0m4 48u֭[/]Đ 1K7lذ{nR"9rĊC}J"Yz߿/`6 tϞ=& 7Ҝ{Z\?~o\vmV(1B4w\rz3ݒwfbMJJ_|/ƫiDy R^騈w+*!~s:r)۷b rr5u2z%Qs+ iyRSSmʊvw̙ӨQz/Xlٶm(fϡ3gN~+k[nիWiDzkh,KW9tn ƌ{ J(G9p8]˗>`EUZuڴiݻwg֌K>ڵk4 h%в&L]hիWۯʈFrʵnݺwuӦM[]BҶm_3g` z|||-(NJJׯLӦM7n\Z^x[)55ĉt9ݵkÇ3tD N2elM5kIV7l0 ?mkI~Bf̘A2dGNB,ͫU֑#GH۵k{ܹ>`ĉʏZjⳒyNZY7L^z'O2NTRaÆ,J^(>|,X`гcedd̞=ɓ'|-S|V7I+k)VXĹ(ʗ/OB>r$1C ad7|C{8vXr咓ׯ/ LphA[hQǎƌ3k֬~ӧB {w޺u̙slٲQLJ[,!kFO?tԩS2Ho6nܸVZcj0?u;۶mۺu+ io1j(CX:̙sРAo?%K^=zTŋ,)""4%--M]JQ]vիߏ=jdϞ=6;wڵǏ._|Ōܹs)R$**jժuԉFe Y:`7#Px,_ "Px,px8( @km4lirD Ab]V;lk{nHhv<2~e84WkY #@}Gh1 ;=YI;5δ)~o]ڀÊq?&p*6W݃Ujgcx0[dw~{;{ aݤ?Y{eW՗!,m<ИrUf~AKn6 eM:< [h}}7G6Җ86m]MQ5jL$*(>)gN~[y m[dU}ŽͫbpB+OL1]SSpZΖB2'<'k@Kҁ&9OY+'l(>7m͓~b VˇClq+T1cw 7`ܧ9x" ( @P[Zsi+e}IJuJ.0CЄ?,rU|hJ:a-8 Pe )@*,2‘Bk@Hy@M9V7̏+`Q[[>V)稕qc:| PS}(>WesSsja2@Y⁲e ( @4 ҹs?~ɓ'L)Q pOKKr ((ܘDK! . ʄ TVBe_ A~)DR BBԂRW,,)+BTBԂŔBX Q X Q S  ,,)R,,(,,( (,"BA4FBOPccRMb1B}HžP1bP_9~5BM1bMPB{JHCcԥS?5wbMtЕB{3GRo+}Q$MǣAcRDae|+Rحx=%vF+v_ 1 Zۄg26xI c/ae|+R]dX7ؚN$L#Ris?c26tަ+)!8bR) bQ!5mT BLz{BԂBP0SEhd|A;%5 cĤ/pS^HAZԘOa4]\dž->6t|A0 O! (O#B ޔx;T/HZBzJ(Fp)0hf Xi욒 "S;!Q O "lWcEC[ )5 DB{JD+E)`e8hDbK!=&:ĖBsMԭd)+B(Pjj(ؑ*Z)ܼ Kᧂl; ?}ښ:QǏO<:?OVX7 ѩjQQQ:MS(+WDM6m֬DF"{oƨXÇnnnXXỶ'݅o111q޼y͛7ի!∋۱c ٳCINN 3m(vꂂ ȽO<ӊtT9quu]S999;w tЏ(Հ˗C_666mڴs玣[o%j/(AS+}ppC(//cF);Հ%W!Cj-Zj~رYձcǓǻwVUUyyyZD p$p :/^l0s8Os=<<*++5W vѤIb't2 #yaTC?Xl\hvrr2B¨>>tS uֈ#@> gΜY~ѣG=zԭ[7H9Νkoo7|3jԨ8H>#G, RSSqݻ===!=8q!pqq9s!߁7m4軐;88Hm5R]]=~L!uVG82C#GC''/ZgϞ4X"χ n yn3fعsgqq1tG ^}wk֬ [Ix4 1}R+DD>A۪U+U~ ͛7Hʇ!/[:޽{!BΝl7H`!1r:$/D>[[[cA> ;wA)+2H;;?» 8V8|0vڳgo",F$%%6@Az1Ä#Gl(((zZ'_}Յ @Dt"dsp=!nܸ1;;bcǎ iX+Hii===j'P?j&_mYY\Çwsst+N /8ɩn ~ lX+ʕ++**mƔNE-;}5kIfupN o_|5ƍnW@An݊ \AȨ^zM8g ёBXXXLLLbb" (n*;#պu:q% ĉZ)Ȟ  bDAhp+ ONNv+Ncff&~zxx_Dbٳg+HѣG{zhGDDĆ !qɆ-"! [l Z'pç3T:tK9#Em}HDV;> aPVYYY@C߾}.]dɒԙ3gWMM'|ұcǍ7T˗_~ Rn:Pv*xZ'TJl3EIds O?$y1y5bXj@OM&O V6gΜ)5k d:HE' Uu‘#G6I^Dy6ٽ{wl" RW^agv 6!M~} Ĺy&VZbIhPRu;qŋ6X."ǏA {]nTn9D:姟~ ۗv+رc@D_߽{wKN<HH= ܻw/? Ϣ rLhܹs|MfepaC5"*乂xxx͇ԩSkј@gRX ٹs'  nf9D RΘ1#U $W>u+;99ItL5f1{裏F\EtѢE[DIJۭ/( 66^ vv;w^z饠 ?z|PwH@&}9s$<(QM B7̄\z)[D  BXx1g˖-M6n-~W^Q퐿@ 3zR;Y*xk.VqA}9GI ^Q/(\[n-..6R> ܼy}];(+c׮]999Bs\1t#d Q.--WԤIT5|k֬Yb {!OdR \\\jkkΝ&/SRR-ZT^^ D+aǏ_jU^Əo}ݿR'A80;88ر#(((22r111ϟ4i"iiip,**jݺuzz3t D@6mzL2%++t3@8ƌ'>>ǀ peԡÇ9111<<$ ߿G/23]Pqq˗WWWO^$C s߾}9޽{ 'O\p!Mo0+HcC@!8m6!f6dZi^޽ϟ?>v؏?ZH H oܸdɒkג?e=EJ C,2(-Or?LH $9%CJ~ ),Z(77w_M6p<}B{B{͓1V#ҹsg2nݺ,X@LlO|/v)55uX*2,@$%))i„ +VHHH5k-{Ęy  *y7!7l3,ݻ7Č:UWB "o/[LD8::FDD{׿A.\@E6m (++cOMϔ)Sf̘AcA탵TUU:uҥK?ݻwo߾]__ӷo@ :A4\\\Fi1!U = "1V:G XPADJ%O6 Ѓ = Ѓ = Ѓ = f||ŝ,SoIjjj($$$X36J}^|]wQ8p`ٖMFx'h kn7E: @)x(>)2k,_) ~휂k,_`JNK)oTi,pLRѣIWevvvkk+bxZ \?SPR+[RQFY~qeeeS<`? 'MD~Cc)Xg듂UN !~%`Ga v_{`g v_ɖ)i~ `s!}(SB8݆=ZRpMM㉍5exZ:M]]٬Y6\ QAҦ> baX/q~i5_[u_~_, %iRA痤6I baX/baX/eP,-Ϥը l ~_, ~_, ~G{&-(sT\߱5 ~_,~~n#o((}j۶w_SUޒ|WPrx~ϯR $WίXr%;ZWMq}GU11?7f x)&  +VJ B`W$_S---=mlݺz^~5kܹs_|J؈۝`~Ο?qaÆ>䓦 ,5nfg̘o߾dvϟ?)޽wἼS9tuu}ᇷr,+ M ^;FΏ ^kJT ^k)+#_ 3`~"oWrZR$ZTA0ܔ0ahH7CxWoPI|ʩ){h/̯Jٵk׾+$wŊ/..޽{qlrwʏP ֭[WYYIGr].]xɓ'?scǎɟt~`|KKKe~~믿Z:|뭷.\xևԡs;Ǐ'Ǐ駟o… Cܞf܅:B O?޽{ǎKIIIW6͛۷/Lut'֖C]vOk+WD0_rz==AW+#b*f]J)ڶⅺ;ϯBKV%Wkuw(_!`X/bC`;baX/baX/baX/a;CX/baX/baX/;baXכ;CכbaX/wrW;:间ޢu@baX/2eF.N&9Я`X/GokkkisҤIF===tWG?Kr333ҦL>qDݽ-^tttL>]5"755IƍXW577VVVw{j*+E_+aX"oi~9?`aX/baX"ׯɿNk  ~_,[?4u3-5 l ~_, ~_, ~rWg>?JgK>?~/[;!<~+ X/baX7Њ Zف=G#)'IŽ~~_, ~_, 7eǎkmm<}?sW\ɓ'gggLqKg 555G8q1c>裼CUTT̙3,55AY[[?~ԩ^{-==_Ν۳gO]]]ZZڂ  h֭{}Q͈# /KJJRRR222,!_lٲ[666hyIVVV{{{iiiNNΝ;sssуKKr=F2W^yoyiӦ=zvFr.9rC=(W7o^GGaK:QΕ#t,_r &TUUY7T@4t;rH=SpK\*+hѢ+W/_7Z(BEs>x\iXر^BEg*+Wf4I-NZ\G\[o;Ł{1cƨQ%> rr0SεȕR0Μ9'C1sΆ7y<ȯeLZvC{WZhشr:;r4s;ydZ;wnĈ~yq{{;s7F7;;;&&fϞ=CsUڵ3?gΜ-[ r@{mnn  p}\VVv)S(- Uvqㆊ755u%%%_<2+>|0(?,U []]tM6SI_hQ^^t8~rrr|M)OI_O6@8χ222v9mڴz{ԨQZ^W_с쪫B=zt޼y/Rqqa5>q(ދ(r+Yv訪zgVZELM&%%ѡB >S-І.Emk֬)--߱cG]]]__w{Z"dvlA݅\1XHHHX>ꢃrhBwvdllprX 8-wmIENDB`PKe5:b/))-Pictures/100000000000013A00000163269200A6.pngPNG  IHDR:c"P4(IDATx E/3ِ$&1KI4A<葃QCArA QA@AAQ K "`.l6ܺ{k3۳;5i߮U= na߽MeM'DEM--b4i0Zd f&oR r5lkD3]dٚqpRl7\!L DWViyjwUg H zti 3af87.9[4g)ch"hgz\uTĠ'5*;oZ4ۍ׆--5#,Ι3XbyPFIZ,f3e~j}{OVnΐcm3`a B۶S*?]ȼ,1MIJh2qB9Kn3.-VEdYҿaˀ%5+υtrU6ci+´-kn`0[l$_*6 ͥs ;7VΏ`ܧ'qU#uyZNwb*xjR{ֵ_z,JI-mFrC"鶡qj1oIE1Hhc_fοo霭u-_>=Q~OX9T6ǴKX~ֱ==l r%*VFT*&Pf+oEZ.7$׿'?,yPNLdQLm]ΠzQ6i;v}]vjg<㹬Γ;}FuMÃS;.fܤugY51`SIoaeL qON{8Pc*Hjף jsEߙס8[=w b6GB#}rjgZ$7-kL2lom|+/[+nG9ڃx6òYaEQ-Z%[giN^th/=5_`>RǕ\$Y7IܫbMWepךwСC=wR|Ҵ`I3ߪ{S|OyN>!r9PnHim5䠬eAG>ܣ&Oxfg2kraL͉1brΨm ]Ԝǧ8dg\y駻1… ^D j z8uQh'1M{eE=չܓ<ŝ1`]>"ڃs':iq[?QF| fͽo q-t] O>7﬒GwٟGydG}Ϛ5kzo]=?n7[jd()oǹ*:\ Bbl)KbYfV?gr]uVEiǚ]+M ,ibf >@U&+<}_fs1#Uzꩧ| ,[hU*ӟE6o?эC OaM*-\I'2jgSRǝ[]6m-7 Vǜ 41][|Tg}-mv {HI)M}Q;%Ių;"sEXfVM,"-iB@sRU 5Y6k1jG$ls1?%;rWڟD#0j^:وVAW^ Ӱ XF"[ҋoR3w?86]32TH 4is73kY[/o">kdMX(ogjay&jۨd8agj֬Y2y^}!"ȩ6'uQU;oߘ+eL`R5ltph,/}ho%%tc 9jl+A*'$\;Ld;y;Dhͫm82%шqbǻ &+̈yEN3Wg7{_z!B1L~:ttd'%fxWnMy&MpSӌ?˖-sǖdXc3D vCKpp`.Ay3h|!G9J⇗|:ZSؾN!k>QdI@&'H5Z1|Ppܕ: XBermS@x.ó+I~.o=ٷGV=NJIR&o-+uNyF'睷Ẑ?(-pS/_UׯwǖwK/}q)Eޢ9k#cni}x7 ˇ/қ>lHBQ6>Q?h6M)eFN\!5m Oz3(ȵ\EUNMLWg3:S,8;MyTCxw}W)C*sW>^XLj0It*i?;փW-gTyq\+51Ż-|хÚl gŃ#=ǿoyrt^tSb ;{ux}IFKޭVgx#VwzMCx]gh4'vB/ [4gnWmӜyw=a\[r[DH-YH,|_dJ^a!E1裦JOrbܰq"3»#׵HSд_|%o$3e!lMx扆}6rPO>/>!jq^Ȝ|gmà;uv^d#ig{h gd;opRMbx:a f|u`ai&kxuŢ:Rt#$?+Gqdd"+ګT(;mb eB%ycHSmUf3byAx4A5FM-^r+k䑭n\.ku~wKy&f|VJN5\UP0#^R'uQ83)6M4ǷTIs9f?tmxx^H1MBN{ꞾJai堋*ҌZG]ۥc$As224QH:%D}MZr KVy9552';c.. hsqmVu1_n/$},wZVսdVtYި|g+ٶL3 5@L-K|5V>7fg7;$au߼~dd3!4apBlK0Av:֟nV4i)wG'0t2|j!C!p}-I 6%3sMz]&I̗8ȝ~Ԫ) n{ʌ[W7g.]|3>4Z64;`MnFrRw~0iuJǷl^o2qA[.x ÅF0o|I0L1E4VystDpAt]w ۶%EZp턘'lnj!%}Z<a/ X1d5iLȵ2qw(ԩF噱j;13Prnw^s(Y4Xk~׾_(F^qgY$m seב@ÃMBx+MexH_3I#t+KUwEСZ2i+ lk gOF/le<L + + + + *1Ma B@(L{^ O@4JS~bz^?ňrMP Iڀw 7AXoF rB6@K_ZG@.CrlVWg5 +w TC8Co TDre%J0IEe)+rm@l4')JB~|*k$0&9*@#gˠ_Ӵ-7o}6 )yP6k2Dןm۵0l#F=1Rarぺ\':@D ׉u"R[No [Wt Uw(J`/י YпSIMMVeF!nd|5@Dj'W@f]j1ܔ{P؛Ƶ.T.\cVSʻv>ԗ%}7uշe*-Y@Y }rqm :lXa_wN!1݇oU _]Qq^ WPDJr=]e%.41Vb rmZj+-_URsni+-*XzkxG㬦yG@Bl2XGl\7v# $cl@D ׉u"R?8am2jTS#FeKװOjqZ~0a wdgY@c>qDYͰ :*ײ{y60mZ@^{eye`UkԻ6pܛP\Qc Oks2չV s[8>]Դ4XF2޻ZP>#ŔJ5,1e5 ·X9bn'}VwTiE׽O$RʈQXBOԱ밮.MfNE<)׳NDկfc ҐV.b!0, 2@( 2@( 2@( @ݣ~r@b농vku1s7͋ZrZ=wh2.)WǾ-57F(͒%G[>6!.kNr;ö P f»P;UCr%f-Vv683s֢Lt.n 3]}(-1eI6"u<Ԅkޚپ5UJG(1ա&$Dc݇o}7]ߎ{qrw,6Nkķo4f4qDl^5 Ӓr]2@7 _24wDJM591]-Fs 5N#ÕƐ6|[{7P\Q e:f2MKh=o\@u2,+[]Qb6-6M59u-W>6st$oGŭ(1ҔXuM&&xWuۙ2t}U b|i(Pؾ3KxLRSMN]5G9qT ? PwKg{ o27\|hod,kk48h?_{VʀBy1k^jr+ ~\ad/1+5Ô74p_Θ9ֵό&JcG?".kqU~?M~?\Ƙ9|e0g:1L@]Pe(ȕ:'36je07m0j`W[8\HƆ': 2@( 2@( 2VjZPOj 2@(/D"~/>}'l 73U|u rwV~Dg$~.*Z+Vjē9^?~cl\5+H e_ }S\I,%G[rm48o̟2X&/U z*@ዷ,LE^wT4E-TH{v'sO3g{S'=l'M6֜քT+HNorΡcs׮[;wMیY4[ v2:ySwң-sƲC[h_4ۺZw<5LoѬWv.;:+ߤ_/^eK'~οL9nJ?[҂+\hŠZkw }y`hRWulvˊW~Um~䏟Aȵa˥6;g_7v;3ZL៼h3<}bfDK濬g3ZNK 1)Dao::k8ž-eig6,yx itY6ȵ1}޵rU:v3Ҡڀ,^|ׯ֙Htif̜sgOƓ;t;teOtF'gw=+,xcBt7*tMWzY7*+*tt!Wr@ Wr@ Wr@ Wr@ WaTSgO{N LɴW# ]eм΂bsCC>Ϧwf%cyolG,a=%WZR?L䍩TvL-/s^QJI 6+P7{VڋB+J^q}ơRKݒU|YVrU5=I٩5=C%Ҋ>6ĀSqDgPgĜƅb+N#fYwIENDB`PKe5:1e` -Pictures/100000000000007600000129303A12EF.pngPNG  IHDRv)jA YIDATxMHmG-z $j<VP.jjY}4aQ.tDHd&YHA+ D)EAd!L09ۙo!xn>?/s}3gQ,sE?T P1*Cpáb8T P1*CpPvVš&bUə?V5o{iŠCpáb8v(f7ڽaPCpɟ ;4c?|~,;!+vmvУ+a'贬S:22+7̭z<~x```ll{ez$R__?gi?;m(nkk'o`NmEqgr[1@,'|H'^`ZvZ5,18!1[{2<[èq)die>3 ,BAAqVxaZ1btl9g}tl? Y4ۮ>t'Sl^7QP<8NJQQ8jy {,,,e%S&_%r5[3a[H ޷8MfiW=g2YELV36Ԫ8:@љ|UDXYq5G$FNdXůQcKXʊoD}k(\B_r㸳z V) %q|Q<55@g~ RxN~x1 g-e*3su5+3:#߿>{lddd|||bbBv644иvɒ%%pm߲*~sn߾=99xۅ---7n4ӱ4 `YanbzzԩSgϞݵkמ={6mTUUUZZ*B\۷O>}V jmm=ssU|E+r]VQQĩH릦UV9rX?SpS9UP]]|)..Τ[VXqME ѣr|E& r%X~=F0/V)Ca͚5)_͛WzJFmmmX|А;&{-[&iPRRrOz-'?Jy}Uy C+9>}ɓݓ1˗/ݟJ]v˖-SPPɯ%?iP\w,[&RK.Ue h*nˈM3 8Gzp17f>H P8MHC s=C áb8T P1*Cpáb8T pފV 8T P1*Cpáb8T P1*CpW=páb8T P1*Cpáb8T P1N[qJފAP1*Cpáb8T P1*Cp튳Zخ8ظ1::g`` Ǖ+W\>|p\2֪GB>|؉kmllnݺ\fӊZ… ֐}X9ſ~ZzwoĉɭXŜŋʚOVT___II͛tѠ?p6 S ;UY [_*6oS<999::a[,_|YhHw /rJ>[޸qŋ555=>g{V悢^{& FWQb6`NqUUUyy߿8枪qnVSrGӊűQьc3ql" űicO2qPGQcNXAqXF-uވUt$qp# c8V茎5;)N=ıfD$;cMczD!k' q {++$3y9ͯTV8?k\`b'q%7{{{pj%Gwww]]ݜ8V+jkk ᆊP1*Cpáb8T ὛcPCpáb8{3O:~ZPjáb8T P1*CpP )rIENDB`PKe5:P-Pictures/100000000000011D0000007B0E67FFF1.pngPNG  IHDR{{IDATx tUoUwg盧t [D( (GvttƦ-uݸqEmf7ᧈmbQHN_d2eek&Hx<ܬ}z_7,[Rwޫb =u= Zon㿿`Μv\W/Z|A\66/ry8s|SۃM(s\~MqQQaveyyy'٣B+,|Bԓ'U04R݈~Pq*GuwtGnn߇ ===HZz [V71gcrօpiNϼ%Xp^.2c>K|qמ/=;nג i#*``Gá\%N~U y/sܷ8|/F_es,.]`q'~xB(T\.P),,ZpB`2??_Ml6-0E7^`a ,0''G0~P`{%mŽ,w) (&ahߵIٜ?^ashbW]Uʮ(J`g*")a9a! GDuVXQD9 4A|( OHZJETt2 qmPZhE (a;?3iAcua淯Ԯʫpu_B AW "+ @TIA{a=A!IKGs{V7|ܺp{k=g[on#]Jb"JiU³=_5/]p߾?V^z+_6'NWO2 S1~«Z-Wn& AQj1R)kwTUUo>0l_}+!Sڱtż_ XǁXҒc4- *KH%ZbBlR\TdJ+q In!)\WK\_ pcX/X)#9\  8^x%5[*b+JEDE $s"ϯ1JM*EIi4C* ꍢPe,Xd00^W j"(Fjٲe֭;sXRr,FM~j7p5R_qۭH9՟?7rhfKW@ `|a#8l:pJ(U;{lh.-)-Z 3:|R_ Xt0~QWXT7^Pj2ۛ[mR`P$W0 JX&MdJüP %Zzkĺ(e顆(pER`pOC?wt~_5d/-XSM>}GپOebXWRy4A9՝t4܆Q`? x6#Y qSIL.Z0W(r(BGie񌕲P[{ݗk;3f1^ J xR+6)t#("Q*E8T1!G4xv4^ j QF<^q2_T(6&*q93_z`# TW'{,^F{6xE&VD .ljJI6uLֺP{Wkgv̅9ZVMK˩Yȧr15(}}g6끢QĠt>xR7ԕ3QcrfҮGͮ2OcO unxɂ,]Y3K,ѕeR]JM JlOy4yvS[aOBl/>v|+eϔb{ւsoZߝoP2oV娆3NǑo1",,HsCXv lz X`CjM&S+2?4[?1Ou# DFz~;w}::OE7QaN:nuVFp{U l}g Mr'TMcǻPꠜ݉uY+gyJYc9Q] ͺ   mjxBv_Y՚/ć9>:v-mیZ]S?R4$ ԟo'25;@rH[gv/ei.*5ˆwNjϖt>2OBH!ʣ g&JEe]9YalwOĄ3hD9gԼ~h/0\Tm9T xhoϒ{>LC -NR7 UlZEvVml#3HRK(16S(T8L3ݭ@f.BVYSC||cœ#V$i#QghHag3Ljr;u_o\筺pYF:⤮o10B#t MG3Q0(Ho`O;Gcx@W`<+0 t"ӟ:%%E[t,"@0=pNJ D\`A1Y)us]wpg78px:=]jzLL:!tnY˯.1U~IAk >#L>c 8j^~;WTVfgg'FԽxeb]|L ~e㾼 ?{`ΞeAL(a#!+RH>閩/^~!_W)ͤI, 21%tE jwM]Y;:gelk -Bx&&)cj=|e֝_>k>kqP`&&)cc֛.yC-}衒=&"|Lq詷zD7zn])*٣Z%HhrLL"+RPt~k2p=6 ʲIĤ xmtrW(JG\{y Z}lQuÂpV$ "aF'NJI cj8_('>tcR t]``E 0|L@D3|L@]dr]!PÄ{7r9HAg>—bNFv!ATq!9c(:wpM"3ZdiopHs*! A-Ӣ^ʻ@3|yVO$J2)cYQ?7[#GksԤe:z1FT&mH.')cz@ m~5|0:yVDg\$\NJ@W%ۯvM5{.Њ<\6=8@.'oAjz+{Z뗩%gW>M?{ r9)psY$p :p׽=W;u=Xiɏ!A.'@\Tcŋ|~[3z;rō`J"Dr]B|Lpdxr҉+/cYnߺ2TtE q1aN=g Ƈewnñ 2   tJ>VG=`\;t|?C['RoA]]Q͢ h3!}#uE'mn@WG9-&ԯHy䤯`s83Xƙq;OKi"E([ɇtlR5>.pTt|x~*D<􊄑?~ؚzu㔟ŏ\|J&MW}"uEeMtRskJPhxƵ+d81\W-ŴmFdaر|Zj͸mRK(-bI؝JAJKĹ(~ 28XSg [\ATF&b*'/[J ik4߷kUAJK( ~ "0IKlK,b:i(er F>[kXrۡ Ä> .)FCYEʡ +/?5(.h]&O]Ouv$+ppB)ZMxSJ搨!s!]x91ha8[NO#wvTbKºEi>pHhOymжn}Xjw_S.9%B#b#p\ 0NV_!"RD(SP&8 zTVK{&2a{Jq IXJfS,I6ӣR|~^vh7d9KI bEѷIqc|ӛ.7FLt|u>HkZBkaYJZ+(k"DK+[3IR)YFji%X=x.}z)M2t%s.\F:ܩm~RrՓWu/1+IRH }IWQ6])ZJ33a()k&8ɯrr*RJŮқ363q[z[Hoz8' a(i kL)MJ=YkYGBUShVd 9BD0 E*gneRC4rJJYY%7@soMZj)Hؖ6qѰۻٶu@6}"I^a?3DކUR#Lm>PFQ2}L*iZcɄ"BNӘtuiɍ~a,njbۮwҔ*zkk+k;Q_8 '`1YԌִc&2 2!LXǧu___;.҆ˊjD~{NJ+녰 c[EqBԅDiO$hW3ht*6e{QGQڋ2 jr׶ J3I-43&ZSs~pi4-H*S$%-jCrw}2mdB/3XZs-9x/ɑTJ >Ӭ%V%#RW(?IѺDQ(յEI-=mdMͨL׮b/*5WbJm1! J.)I$S͗R\FI4aPRԘUrʄBZK&Ɛ|>ffd)%JKt)d5ҁG<=G͑lK*-k+H)}QT}auCV-u˄TL-#Gv6ojhO6@pw|dޥytK]$)1IP:*UEQS_5?O/LQk&_*ȩ>wW^:6x%- i٤ L`Û@D;|Tq2>ҪW>NR 6E k$i%B$`+٘JXcS޸ΦL} ㋘Z0WlҔXrJ0=]"{ *3UmB29>]CTikKw:6Yiz0==z >(GH+%-dfd y&0v~ce)"vȩ4{Ztnc S1h $uYe2ٲ{"Et 9MZֶ.0=}Huc`(@ךf&=Sqh_`{SXQWjy/u_XWǐF`*^wjNyržԡv9"k[)dS|f.5 fCLU)9lhZm[z3K>J!2fz(WP5C驩B6UO[ݽKkOxK䮵9$e~6If&ڵ1i飶u,%< RΖZٖ4"[ R&{BxbL uV{kg#SfZ}rW'-]<Mejm,$sd>cjMbhPsՌ-WTق!l4Wru!Za%S S՝st?l=R;QGw?"wcƾִT"z[fllvIw9]vYz$NgǟYjFQ)}zR*ELMsYփY7=5m#JOuNӾlj߽L 6`"Drt0Iӭ*ik!t!S'.9ԏS2io::e*YSѮNF3|wc䉃9=RUL(yM`^xҲ?NK0$%i>Q7),T-'%8>i!]vb}cHFZ߯<|N!\Ly6b*S濔7vފG80=gVC|,֖ԋN_.xNst)etDΜ椕,N҂cbj$6~=A'+!7+/~?F>Ŋbnfl]}RP 5o\u0PXC;Қ.KM.Y \.g?X9S0kN֬$Hwx%G':Tʶ'dRk)YlSEGMf/tl+r?Suͅsvt#3ջ~qsKKS&--K֞~U4ɿןzA}sЈ]Muߘ&O8mסǼڈ,m@{iG֝pvsÛۙd)*n*˟}UZ]b㟍ݩRsy >:= .аsMaN9?Cv0_qj|{ޫ(ʟX"*-iTPs\:: K)_M|TJ;eX+GӿPrEމbU=J֟z0Ʀ.:;ou-&L`4 F!AŬzŦ1jz=^CT4iA>$~bY9C g 7W{zS732/v\Tg v{8.q'ʱ\#5܋)e=2kMĿfJ ynXŝ<t˛ugWqI|9 _1;6w-[{l3|ЃFe`7ZeM+pF[}k /0mywj덪2aOV.,N@`Nlou 3 NzQ+ ~%=Ə ձ>Xw%dĠO߿pȾXcL0V&/VA+PIiN8 5Y(.'@}) L_R}cd47R9¼#ϑe֐lCX{U Ld&GX$!C݋eV_ZuNLw0'#_8OC։ )]FZެ$ }Xorv4LpqJ1MG]M吷#ܪGY6ۺZ{Bógi_2CHJM¶b5Dŗh $Ժv]C] OG΃>E>gcsy-.ȳj1LrM"9LОhP !!&-1(frE1D"c qx-2[r?ꢍd@&'H6LSΒ7}̑Q}w]`X+bp"a HQ~x+{#=] _]Oz+9 140D7؃1e1:()ˉ)SRzJUD妏MNkstg.<_,(KvAtezk.ڣ: ]ȅ (Yɓ /yEN$mʼPnԤMѥE%cb%KSU)ٖgCC Z(oSm[V -6Ғwm)Q2oʡc<*RiRLqr\vgCf'Ǝ=1:͵^u{fIR8#oޚK -by%NRE;Q"-+KE[=?> L}dEVxJ5ΐ6aŋˆNZbI.X]ts J[q[(jVq5Qsjλa-cKd/➍#3ڬk 7G͚HKPS&nkV 蘡ɜ"$Z! eKi5otc~|G)Wn7I)dC ilaU;h\sm4|ѷCbߺu\f\IWXE>7m:kWA_}Gg Ȝ-Sd,oVL=rsϥzXZU Jʂњֶ%Rc!R:k OZ5SvYTQ9'nQOfOC~j 같$#vg|\~R=v~ē׏=112:<]u^[LTG]@!P/#0GHylZ9+)`Ј$G`,e&9 V@`BͶJCLf[ j{Ĝf k1p\-4K-mX*ϪÙFXqeqʡK-G{-_ץ+Ǖ-cl:ܙqZα*n9Yx .d\Ū24nq8np55wH PjQZk8D3Isٌ\x+%ٲK~^LLѝf2Szob1-3=G]#D" Q)gV)rno8/loUUGdMczqW8]5ELƺXa{$r98-%ҷlcQ%(v~qW𐶛Jw %BcNjd}z^8bq, f_6^xѴ ]S$.QdGv5]C{%x][]HˈZPI\' i;ʁЊ@ H2O?c9G2cæ?z)3꺀ev٧ ѧ-Z7rTSy֓b}y܁Я^K7KK5@՘Oƭ?p50;..S~ oWqBu׿y\BAB(0dVc62d]2t:01 kV8AԁkëSҔcng4 -D{nӚkbyLFWR"c]Q4vaVjbl7QDsđK4vC(0u-\߷pH=f1 8`PW5b4ƈϞsH">$0Ɂ:I31y;2ޜSGr=N`F>9'2  q5*P1fs*~/_IȉYlb<'Euys.Dh< #aO݈c>n:F *ܮU.7 6!j$$>,+\xiB`$? WNb4u $G`&'=8騫Lr̍/ 4$L&*4QW!l#0bE??:TϦݶ,JZd#@C /͏ɇϾeÆ  읻P[w;4.[_~fo0 Uio{x$IµÞgff*anѼXmbҚH`L]G#c$Ur9E%RqKfeֱBws>ڙHv|}ݯ}kW^VH_uK\+oc)qacxT_K`L]69W*QT&,}Y&0ú(dr }[ٿ|>_(Һ~'y 8uM\Cx,%n r<*xǯ.W N`X߅ EPXW !%RJI'3fj+w-i:䣷cagHk 1z6f1wRvݲϏڋKZ2K QBQWF'0Usl^b=-b'g3{0mmmimK(snR,h'},GuDK<&HEp^X yojCj~s#VͫHQ ]N~+>D/J%"Q"Ř3Yodd2SڊRT'gf4#5 ؎a)LL4ƯSb P#$vCU R"]= OW,$㖉ZT\.LN:a\=\o@`V)bU}V0I.|qdLFǮ/~W\RMc'c\Pc%qYlzZ C>V+P<dK|`}3C>>ymn4[Rtfڎ{f5@c6^R9bo=&P^F}vfG`WdCl^~ƴg5w ' * Z/g?ᣇcD۸oo%O` U -TVPtiTř xYpES5(KZ%!)YU d˨)vܧ r b'04R쾨ԥP"%.3 X8XQwc+c!h1'q<%_y B)0p8L1@2;qd 1 h$ @$V`p %S/c1;p8#hUb9p8&p8`Tp 593`z] 8  c Gut**v@u XX|p8p8kv8A2\$S`jw8Ёñ0I$|:c:#܂yq@3cc@$S`p p,DKb@@`B B+0p8ђLֲ 89XXQ1593ps8FD&  58#NĢ]/@ñ0ñR1hñ ñXS1NA2\$S`p zca uIL% 59ǁҀccGG$S`Bp8]8hI|?͛C 4!jC?\rw0MEf>dE@$\`31?xOa$8)[3)vrg_5x^/kX/SR}'w<y7ðkL{ͼCE@xċ~y|^ +Uiu[F'C:(^? P_*^Z\z~/"Vm%FGYJե>9R1 r {z#ГXhRN>}$w<-Ak59=GCp8EKbr$]}b_Wɍ/IFh!'1ǂС_o Lmno`*^`12$\`+=CÅp|Ab\F~q<ɯ0:X9#> L]Teq Ԏ*rݯ0㷕vW$ ̶mۢ4/?P~;&I` K @$V`@$Y`p "$^#-c(.#ʑ1*ZP@E%*UR@ *=uu%ٜ"Wp8V͑mr.*DBUU`zQ̾,GWлñ |CULXk p8pX ffZ 뚰 ѪdZ3*)(P)U<zV/yzw8fVrCiC a8K p86*1EI dj2- yĻ1͎I${W % 8'u`$؃Q1RZez#Iߕp[q8+USq-BN]4ñHnqR8 p[KNOID88k< DLi!'1ǂŻ1~oZԑhFǢį1#W GcqiF(ñcu!p8_|]h[,`& % W|I)IDHb o4V$,a ђX1 1$ @$Y`Jp8S|93_wc_E&h8[8k8pp)vcCT@-T\8 mRFLdK%P">80NmlmRE|-X€ñSñ 8kh[ǢĻ1Z)NkCW@́ñHñjnjIZ &| '1ǂ coQ+ Zb1: 8 ̷G`F-p BEOcñR1G#1/i(F7cQ%v<!I8I j$%, Z+0x Ǜω ĒLyUL&z@La xgϞ[, ԙ TiS$ckλ !G]4u|K?/G[C8֭޴|h1nMp{H@ %8kT6m:b&3!Ď7osbB$%8K[^S$a1p s☵Sn B QI&}U"f6vmq 8cq(-ԋ' .Įw߹EwngM7FQ.[_6.6.;v {|A?!FnlmެVp&DklEK ^ànqR8}au>+i5^Vůwp @(V1ġwc[:00p+xWw'cB w p8Ș9@TmW[acqgVvq$S4U%;TO3{ũ8kTngh4m: R1gv pqnqܢk.[uI kǪui[TaHK6@SѨr-.r }X&98W]I&Z[18Ʈ[0jIn^\8ğ J Rjq},P.ZP#`>vL@2 @ @ @4<R r 01_RaoND&! AF/g(s\ 4/. A3  0 P@@` 8$`d &<ۯ+9oZ L:IDV*)Z˨1EJDfr2; L+Z!S1-d  0  0  0  01W >@`bD(C]S̽ddvb2.-1@@` @1-+B\@NiR02 kJ\tDR[U(IdUŦjkf8I @ @ @` 9@ @`@ @`@ @`;D]ůu@c ܇f +0VL{ Z>FU~ګvdQ%z0Nփ)(X( z0W`Ѓ&vBJ{0We0'vcЃ٭f QUfHjC곯q]|'pYNL$'"5z[Y{s`@Xg+V]g2*iJ}k/ htb-0 sglchz^cźթu-LZqK9>/Pcrh~ÝqK ? 8[(m4Cɫ Jn V{k &ֽH 0S @ @`@ N`)O"JTI&PRHiDdL@܉H-QWs7G]@`! @ @ @k+߃e,vEoo8I@ clU7w8>g`Iñ_nkC©#`ñ*p[q <-`ihcU^ v8*KULŅC\7.h@N`URR VѱQ5 #IjOU2z }u hb'0 #1*64L#!Z@`%1Lju K*cOh@B, pWю+ =MQh@UCu]UM}LHـ @LiK8?l @ 4JhiA_chLР@`ŗ17urt/f8߭JFu鍉s  L:IDV*)ZCEJDf 0 pqiausAlc/ȭ܊UXs3޿$hJWl.e+ 0X8(l^߼k/Wb _V9&o*vt<"F0@܀_c޻."#k?丮;44`pLǻk/F!~#{p< 4(0w1@`1@ ;yǕ7G|fL4ñzr'_`C\ 8-n똹- %_4`Iñg,7[GebU^ϰׄ6`b'0ڍR*}wL$%*Qint+#~u.X4\d;IIu8fK**VV'UX $L$/a뒭[Ahm @K1T;~`?<1L$[E-WO-N{ֽ>L41}VK8r9eD-Z1 LXq4jp8spLHـ @LਪgϞ{GQŋ*wl^pQOOO@O\ve6l&,Q3/OMGYjU ۷_wu<%dx}W<C`Zb.s!xWA35i@@`߼L]v:MQ$1l[WZ]cAn׍e=.xpI(P)״(}Y\>*SFXA80sc:h},'ξ}y",1ŐSwsKťrFnKB&$"IV**)zc[RZ܏Ir,xEI=tf|L̛7_wg^YO8aK_znő11@́ĪU @ @`@ @`&@sKU\QW4}hf 0}~#~w 0CQW:sh( 0 x  0Y̻~t<9U}@@`bo>ǼQ!j{NO얥=T# Ҕ| _Ygi &^@T@|1W;+{:| ҒNi]qM16ct1k}V7ƶo"!w$ _ͽOr}wva=u'wIٟ UE{و 0^[|{xi; E _YSX@hwemKۏ6=!?;\37f03iʡ.d #&^TރwM8UEBhLnB /_.3yRfru殽+Z>9g.n z*S_jfj$4Af,7nu?KId1 'w6^:yF~G0ˌm$N99Ğc\JoD0rz%w7#0N w_*"CA/\v[oyxa%#'u,Xֻ1{G 88A!i"Z &^g+bnŃf3 td*3{r}M}H}=%-󺖜ֱx4AHu-&[\bD2"{x)hr;?8I>0Nۡyۯ?RjjΖh)Ա7́6}HJWIIq;;y:k;dhj9;-pG7^W!`qQ<"PqaR[hL_^?qrqm_%g}sc;h- VH.c'z8o)^|ZLUcNYJHIW6IJj=}@Khiۅo0` wnw;Ԟ<~♧I)DwZIV9ݖjI͑0,y9Y%鎾T[,t[}nH+"gE] / 0r[D&@.~樫@=10@9vl$3Tad|,YKB3ǎ2CGs_rY[[[ԵԓcGtߚԅd(}>}OR)w@`uczsJrWK|yr6P y?R9˗h@}8ooN/Nat$j{fZʹ}]=E]pB.$IƶW",ټ=ߣ;Qm@q$ݵ|v%:WJHnͪ|%m^48d3B*zxt J[gkˆ>*?=@c2LϑwY${TQvExƽ`9x##BP"l*7Q EdiN%@f!ql7".rSy*{5 0>coA rY:<^̍|2u:K''8g\vpgs8ͬF\[>ET,T$0 O8vxgU:; X9:<2`;A'&<''G)D{{˼yN<ɒSWXv. = sZIjݏsxN&*]]]/pK.]pawwwgv}EV!$ ueZsNY6 D[6'iG1vc[`6wKH$rv+bD;v !Cg\$e .]cj Ƥs0Q5Z99.CdTCXT l. 4]H"1U8b0`E-[,oPnތ+qq8f.^:s'?9>_43Ga.d DӒ3Ss9G6=fi5$nMW1!LN߿qFcWebOp6nݸ5LH m~;cvPD~hܚ Ĉ:Η$i4sΦMnJȬ;v+g>=`잍.Gq9Ug/8#.#8˥ b>ȉDEʂHAV|=A~6 0gbp2"]zRT1vez|$, :'x۶ma>=]yVϖc^=z} @`u`fA*д@`!v@ @`;D] L\͕#8   0  0._nc Zե z>D61299Ie'~i9+*r 0 -vl8?n%:7SלuF*g2}}=̌[{ @`LJ8AHAH:pECOw:Y~چ犪:_php@`ruN<9Ff;׿MuvR--+:|E๤_Cq-BFWKÓR|7#G{,izE1.\hZ/ ȁ ~%۪c/Q[hgѪɞ^i|,5=rZ%]wy.\7K~ 0ClYqDoGдvt?wpLf_͙O^-HvMp  >ff 㱶V9+^ 2 0J[F{W*I&&ZZZ' Z%is{ҋ&  a]GۗƦrc?*:#O=K*  v/kn2xNf7! 겅mr3 ~> CG8xMvm%poZ.̍DQvA)0ٰ١toPUzGo]y=,m߻hM)#G^wI'ُx/;/1暛&Fx%͉S F4fgl~,uvx`ӦMsv +1^B =gINY1=EQ>얏8Ko@` /‡dW#ǘL˵o૬*+ 0:`rc 4> e8xDX8h?f̳۟q #g)乽5B ]f Ptf…xl,Kjr)oy;twSb R /~sU{լ̢o ؎BC>l9`&_[1g1渹x]]AQ_kQ1m1ЀDQaVD!@h է9n1C! B! B! B! =9F-FkQ1mܺvmQ5ǨŘ6ǻOg *BB@!B@!B@!B@ ?{:4]Ovi-f9M@p\@צ= xY]cbLcu brc^@\3t &7hFf !p6h`pCp&,9! B! B! B! k ~Bx]sZisl9sZ9F-Fc^@T! B! B! B! B |+7|n/]s,D |rW1!_|Wkp]k]st-4F}qAL1j1dİ/5B B@bA~~89"B@!@ɉ߉!9?&>b!.+r<-Bwv@PWD !T@(OU@(# pxFۿO|xBBBȟhذaYYY=z("L1u<5sZ9i۶zݼy?BvJL1sheʔ}8@ رcsrrv]^Xf9EV\BVZ_xQ) T@̧_… !&HLLl֬st0p@ s4.źi!\8MB p ,iH# "&4B;p i" "&(Bkp ri! "&Bp Bli! "&&k`kNCOt4_|Q4_p]k]sBO޲eK-™BnݺK.Ņ<皬iڴ~Bv@,x 4A5FqNXB_ yN˖-(u|Bo*ZMW_7ѻBy4AQ!(riiiiiilililili,i],i],i],iX E!8M!\>M`ŷ؍Z`ȑZN4h Vu cbt29Mnh9Mb|qu cbt2[nj;nLJMKKҥK8A֫Ss#˙>#:c%B B@!B@!B@bϧuuͱ!@B! t1j1Zit15Ǩþ8<9\7P]sC`? &X :,GB! B! B! B! \9F-Fck`]sZisW! B! B! B! B! u ,cbt1j1F 1mQ5ǨŘ6p!@B! B! B! B! BOgnkQeOm۶eeer-Q\<ŋ}QWĉWW_ "qlA !@,c;$Bv xv;xoRJ={LNN͛f͚/nݺO>Et* bs}gΞ=qԩO?i=zs۶mmK,[ =LZv{%hҤÇw+WN]SVZeee߿?%%e텯·꥗^RP;+V3f̤I v@8PyjӦz:Ziّ֬#GGA`qÆ ?cÇ"|v`͚5 8Pԩӭ[ٳgZʂD]sZ9!Qvڄ΍ŋKHہsEbso 50bisZ9!)[lÆ 37^g8uꔄy=eܹYYY@ԜbBál>%K4ite˖ח.]ٳ.?vO>Ǐ߿fT^@U@+WnȐ!-#d޽qҶp^پ}~׻PD#G̞=y@FFFժU\Ih,6bĈ_f͚8sԸ_W!c]v7o^ҥ]^Fvvvjjj}ݺu,YҬY37B[-[W7͛:t(333##cȐ!ӦMsmgΜy7Ο?ӪA;vϏ?޹s;wz뭮'45jzپ}K&$$ۓ&Mz|ȑ5jpgDU@PPظq}ݧxFLСCqԍnرcZr*TVK.3fXn + 5fQ5'!3·;s_;аaCjY50bisZ9!ILL7oynmV<b PG]^z;(*p^Sfͭ[N>}ժU/^lӦMo>BթSǝ-@aWo7tpy=#@]!Jzdbo; (!J$&Bv@X!!@bx; FloX1B+BB lxd; 55UU{0aBׯ_?bĈ={w熺_ATR%:+s!q /Ws{׮]Rp *Dme"6mԨQ}IOOY_~k7= ^K~cE!@! B! 0\~l_u cbt1j1Y1j15Em áv"B@!B@!B@!B@!B@-Ũw< n9Sb637bisZ9F-ƴ9<9W! B!@0 !AiFB! BXϖy!@5hQ <'_@ sI}q\ 5fQ8G RshjAB! B! B! B! B̍7رc޽}zM^^^ҥ˗/_Z:u4i$99v!<9X3Ŝ;wn…sYj~g_ڷoߺuu]?SO=u]p]#6Ŝ:ujʔ)'OV5jTV*U-[6..N~8tО={o߮b0?+h"#&p]Df#GɃ>wرF>P222>cez1qDu"B>|'\f}M7׿4hP͚5ҥK?X`„ -R ,_wQ ;0!Vի׉'}UV aNBBBϞ=&bÆ ;r3<_*.W =.SSw3go>́JN9whB]'O|ϟ?߸q̛oY=0}~ٽ{^`AzzA~xא!C>?WW 837n8u#FԮ][gAG]v֬Yɓނ"PƏrʿ9@0!"u:tܷo"oՂ+ !ԎCW^l/p>t!^xlu㭷޺{\vW_}xѤIv5of T/]~}6mJ:o׮]nr 4h`ǎӟ |er:w=ChA0p-555--mѢEn$ń!dRU !!w.Q {*N W&B-[lQ7z ?$w]ZÇBu[nݚn\45ۂV-Zl޼9 B޽[7}`PGڵDH rA;(UTI?-gǎpB0',9[~RJ}xS2Ǟ8qB !?v\t_W7:uQGe˖;v\|yZZZJJ(ā[0k, uW_ a8"xԄ VZgϞqƽ+ߤقǏ>\ݻC/BQ1bرcnjӡCT?H AA~+9=z::~6mtkNcK?~zO-wp ,PGvy૟ --k׮?G+iӦG}tΝ/‡~;B/p9P#F={5C#B+瞯:--mʔ)7oNJJz衇~ߪ={!'N+͘1#`!AMIENDB`PKe5:HGG-Pictures/10000000000000470000006D979EDAEE.pngPNG  IHDRGm|IDATx\9K,Km1Rq ąQ  8hi AQqAA@ ^b (ԻE魪z'ڪS_u߄_qqqEB +M8kIoJq:xzfk=r+QQ h0J $EIb`JtX_ +R.տ7jEKK67jg`YYw(*))X>Xf!p+X抳,1B^^^ xȊpk9,\K݌\(V@0j k)JK"FG:RVRRU^cBZV+C[k)3/yCp"UVcgXNE1]! vVUK%6Y;b6@\{akc" /+g B.V330=lkkkimܤ-(h)== H'&&Xeff{Ҁ{ } },S-cEWm59a>fg'\eŃrbނ6囼hSb`(:==՛Ȭ-hnnh\T`a"SSSŸԹWgQggggLH?a)1099N]Npdd$+++ \т0E~~vZ< Y}}}S"aoo8^҇eV ߊC4*5|do',~EH4"@ӌ?*DvO L09 C:3Fۉ+cx4,T&xB>^\\|{{NKKx~kiRR833C.FlccRbk-@<-Ayyy 899~||ΫaF (Q444Raaac`| aR4SLMMdb_"WUMMMccc5 cVxDp||ktt4[º N#gEEB[u{Ƭb]R+?hP]]nVz KIƗ`J[ҥ*&'''&&jc-0Pkkk:f߈Q[@BEI\Dbggg&*Y![ ߗU|||TVV4-`F  cgb J+((NIIifX %![tZb@I#fX%lalƃ R4(Qd;6P␭DDv`]BGă—t&^t`9o6X [K-Jy yUaZG1,OVneAIENDB`PKe5:dv3**-Pictures/100000000000013E0000013134911548.pngPNG  IHDR>1j YIDATxylTi !,HM4@ jl$.q(.% c£J ĀBԠJ #,QT`s幹L{3937MSSS4m0. D"HD"]@$ d2EEE `D5j 16%vx+ǻg *]kvx+ǻg *q Dt. D"H&tDY"]@$=Aڝ"7MtN$vF&-`ZK^i*@$SDd5sݹsʕ+ mY+E]%cƍuuuߙo}۪:BVwf+ǻU2ƌS;Yp;lxµJׯ_G7e@DQ{W93RDnYYJoJEjRh8 ']FNS>=M)wiijx (1LGCt5Yb%Rc ڢ#=5qu@z.=r2 эRf<:@KE7z\˪3S.B[tҝ̤\FK9i $BUƻ* RZ9޽pĬ??;u,w/8OYEAJ+ǻU2]ff4/̀n̨Y;ZŸC/.,0]L]]gF~I'.`3]4#..`Rnr0Lf.`TϑWԴC?Tݳk%Q_E7L3lxµ} 5ߪ*2]y%('3U*3ǏߺuΝ; 1 dj_!\+ǻg J*9BVwf+ǻU%a2*\0}JeyЏ3̀HD"]@$ Dt. D"HD"]@$ *y^V~Gr{6[9޽pp ]@$ Dt. D"HD"]@$ Dt. D"HDU2v7[9޽pX%#oxlr{ZJ\]@$ Dt. D"HD#Gs8[nISڶmk8}Rb 5^{mﹲwޔn۶{gϞm_0Ht.z۷o/++3V)u`|wy'TǜjjرaRVTTڵk7}s.Yį]ռ<>-}^ȥ3P9ܙxʭ]3ƾiӦ=D t>jQrܣWn*6?~<+Ugyu>jߦ \9:*{g桇Ҹ(N<ٻwg޽)kK'8t-[|NgHd"EDyGם&֮Y.d9eSv5jWfpB#:t|O7tS}z])_ *. WzWtSTTT̙3,hĉUD+eƍGw_х]=޽ÇoѣǾ}[=#?4fUI[رcРAK3:6N/!HD"]@$ Dt. R<;{ì s7Ӿ#[^8y9Cddxb/TTThߑlv/ LJݡU2<)xkuuf *..־_n0)뫯ŕFԩS}Mc2QmVEʏygd2nݺnݺj9pf͚|x`ٲe~:a„ *7oVe*7mt ow}GtpLE׋z1n8?Xz{ްaCϞ=Lbh@݌_~:zhU ?+++5(XQ{Ҕz jmm}+]655M8]Ut-`B薔,\a& >; 6Ccǎ[w ,zxǎ6V;tPSSïB3]?uݽ^s5^%XfgݢЬ(/RAs dvn`{j̋5/LJZs5ա` _! LJU2BDt. D2ݦ"ʰ1 s~92f]@$ DtGf7BE1OXu00onAc?M']I9VxÞ2 [ndI-&vcs#1E\n dcnM\F/nL0|4R#믿vڵs)Θuر{^ve1yGUhb  k4l05WNyteg̣03FEW}$?)_hPYii9fH}՘yޖ_o[>Oy5k ţG^z].,$_u?>}ٳ^~ HEW}GڰTy9'j!w̜^QeeeÇXB<^´r1]ȩrWCt)wcAkS宆QƂr>]=$}p]p]XPN'fܵϝrW Ikn,)wuF7Akn,)wEr79Rjn,(ws܍JFPz[8(ĵr`fr7E]%#(-UQz[CaUJKtܵυrWg(wcAk 湑qu7_Wwn,b9ܵ/rWs(wcAk_r>X[nr.X[.n,(w틷-XPokdVܵr71ܵr71FKoj󖻌v-w͍RƂr׾]Sg[v-ws`tvQ"rW*A^f͚d2YRR{CCڎrBRsŵFwJ*);X|QZ;ڎ&M4c ; BRnQJ+w;9_bV. D"HD"]@$ DtLFUSc=gD"HD"]@$Sdz[^8y9dM\^!t++ u"/Z+o-9`D2]n_,cά Dt. D"HD"]@$ Dt. D"HfQl;r *}ԞG-Vw/\X3 D"HD"]@$ Dty]QTIENDB`PKe5:u?-Pictures/10000000000000CA0000011AD28371A8.pngPNG  IHDRN_ddIDATxjQF[DJ>t2{tZ? 5o2#oˋme\p&/B"$/B˲:m\/B"}^/qfqfy!y^^s"$/B"eYQ]/B"$/B󲬲EH^u~~z!yGIF^eYe!׋N0/!y!/R+2}EH^gv;yYV'zҷyyYVy:~E(53׋Vȋɋ[yYV5z=N?"$/B"n^^EH^v˲:}^׋ɋfc,M`uIENDB`PKe5:ԯ." " -Pictures/10000000000000BB000000E7BDAF761F.pngPNG  IHDRɾ IDATx흿%E@#H1;`#L @qD#L3D s`ϷmWwMUOLu oMn~wu~a@cG_ D Ё:1@"@㟈?~c/teL/G_ ˈ/ާ/RwꂍctQuF"Ʊc\ѣMO '9ui;}13c(' y;/%t7T̖ǿcޝ9@RXw4mr|c[65`vD u1ӚQvXw>=b2qOvg\ /Zqaopgx75T8w hǀ݀c8c')wfS8 e 8&&i0#?1rJ1Y;FR =l~a1չL@c1*iT>ZFZN k {y8.Ǐc>8q 8c[{?@˯]~@[l9..-[|s#[9qqqQw"ɇ=VD"&Xṱo%߹[wjsI]>XtL->w| lET+iah-\;чw32,-%ruO겹ń6ca1 낍pi#:pL{rԞpLCal=Kc&덫̔ok28Hx(wmnmvYrώYx[JYҬSA1l!\bK&.K1HV@.uښaocfqB@X`w-p p p'4:KI%>W W5UJ^v_W<(%i}1sג$ 0c]zmxvn)bw=sP4hI<1hb^8c8c8cگ"EKڦ] GI6L?ZGK7zgyv?3!|0< N}Z.0g 뎑石OОQ>S7wJuT׍? 1&)|Ҁ?%1qNv::8iʼncF~3~C)MlvPί^sm1u J~apOb1kru_>S^ m}tCp"5?d8qvt65'1`7: ,CYĖc($L;gl{FZ!d2yݤbv"YnNh{8fu7#-g?+roFZqL_e͝.ԕ4$=#-ǐc03yKw gy;uw!ǀ.0p W~_;zƹҀI;..-[S8RzF7,c"&lpisj1޾~b-aRKVudzź̑!=f%{cv^;t)cZWsGɖ%kc8{R'?Ӓ5J畀3L;n3i \ 2cgǡ)88q ,&; 9"4]8qL] l.sP l~ :u\-L̩r>՚}z=}8f͚+,Xw=%;R;/]B8VNJ- w'p 41NCkruP񩉎bΉcs"K/P$rWqyr Zʹxa1 ddR焪 뎩쪪v]$~0*0혰%ci4!I;;I2I¹n5H97?WɎUKxsYeh.yk|:l+_Ĝ}7o쩛/r[[crz(b35'Ϟ6mU7Εاc&N0^qw6Rڼ@NcǔeݤdڍodZ6Hߥ'W:8i-x%{cx~1 P\b&\1SД8FKl $_݄KFLTڮ `߶JǏ4bxfǬa۱􃨪عMi1ci7.SnR2u0_K;f"t7Ld$䪄 /|1؎/b}6〈:1@"@̓kxŀ?ܕNA3 <t bD Ё:1@"@t bD Ё:1@" w ʀIENDB`PKe5:3U U -Pictures/100000000000013B000000FE9694E437.pngPNG  IHDR;5# IDATx Tŝǫ羇Q9B h4?j %Fsh4ts IVI>kb6XQl4^ф#-L_m;_w~ɳ^UUgNk3}>!E ^w }`9jɜ|"sl[Xr6{E[ޮS]&eGKxW荁%f^b{c/h̺kk;:.Va\zzz6lꫯҥK3Tr֬Y3<<|ׯXl۶;m,9Fp Oe߽]~ 8TVۮ:9~x:>3'Rt8;frPz\T_oVKGW*W*E#G[oVXz&NrƍקOE]]K DmmXNkjjĜ`0`bEQ2kzt2LGW*[nGarׯg#a ٫ԌʅJT, &Q[h 6(vÆ ޕ&2>J驨^ZV[rr*׮.}>u \, Сʕ,O5JFX:j @^8E~.[&5A4J={?o[T|߻ J:^E$ʅsR'0 *[ب˞DZzizV$*5~۶m?~<]ɩbZMm1†إK>C(>j"b~v/}Kӛlsfk-$lĞXշ?JڊR_qj>çVi_wrג|xfː+ NJk3XSqq/PN5|@HË kAЩ^ irb,sʕgYXdI^j˽_+IJ{PD'H"A;GѡDħKݡ)IGZX%tiq3>fhF 0;'j62oWH[{ԡ2џdIB ,|`V# ̰>VNeD$)2Ec$J# HJ 锘eph»'ƢGU` 62%JF"sc&W5N HʍźT%be̊A60fe_P:O=( epPW6ZfhepexX"'OlcRUŢ 50 ȧ<_}[uzo-kUۍuO@x$N$Gch4H$a$u4 u {RV^s}!5)m9Ν;%ݭꬌg pª&y#cpNX$/?7,n;XUI1؜= p?޳bdYaYb;;=1ƛX]%n-trPA?6]c%JhAp?%kQi='-crY=Y<-8aUX޳'Og3V<V5KeH52ę~ViSG+??֖ p&M8>`cp&Mh p'jk%c)̱ xkKNrئ3 7bˁhA?6]41(aL9 c<fX?yc'_яfOO5bqª&y# V5KM ?7XEMx++xXL<Meew,WԬOM'Qä(vU_wբ%URtJd80&]Yϵ>r}6xlyec񔪓1B DY۔?=p._s7ה0|oCMt+Y8B:ݳ2<1Y5Μy5RmYU{{, \Ѣ&(K?}ڤ>u9CTϊ58R>m6o'y4%ܓ:Γu~]t8 FCe6M DӶ=)?Q5w6y ~.Plb+kjI~X|GYF OS1G֗jr)Vޠ}M` Ȣc{#e | p*CeIґHMQdD"1 ͏D"),ԗ\"I#{w*&cV_'~Ψ/P^aئXQJciS$VY$TɁ@@oM>ol/`%eEKg\us&ʧ:{'M>=#l|[a5n{N6Ŧ j#lV\Szl>WHbןlW^4:K(:i|Os_"ij[:vO;A{ӫ[4;%*J(5h)єMyzYS1Q'C*I.02E"x."$[Mxߦ[{㆔i})4lJ;GҠ8(  cF +* ~p% qrHy%G}Ss_kK+@`ty?PNn)$Qu#/6\_O>q;QYtP{ٗ݅\z#I%npOr ɛO\جr yLz,k>.p PP!X5ɹȖѬkp+P,nM@gCksZZ_UU7-,+M5K%=0RKq:{Gjb'O+o ϖ4B⩡Bf 7J긹< .68nφiO9&O0l'Ql:_"PwKyv7նZ}Ŗ5/XO%㰦H_S򡚮1'o27|o֜'ׄ++)+/`x%wJ 8 y&f? wuտ]=}N񙵓WV#fy;ʙմގd`w>Pw0xຯ,{nֹ#{_}wGw?d[׹dN]U3X`Kqk?idwcp=--9C!緝zXj]%Kvvt?$ ?W:V5 v5*/XZ;Pw0H:4pf{O4b5{$Iy2̑r zX=v>|Є^EX23X`KqPqJehŽ\UrXpBk2Oȉdj~;bÒ X'  bpP,nM@'X@^&X@XqPw%"1 %Q{0b͓7K /dY#":A%#w*yJBGڱ+V6xF(;R|zS';._P!/_s:Pw0xݝYt~5 v]|]Ø(;R\ڷq74$|lOєk5tG0MZaL (;R<}OyCM3{wslWvg7b%}B}BP(F~_ɚO7N]KzeW|ߜ:Waba,H$z?}3^,Pԃ7j fAV\7ka,EY? v⧧e_ޫLR-`͓7A,BM@ (7&X5>Ɣ38DUx<"Ohm #(k.8)Kh Pt9{,vZ (|TV&GځPQ]͌CwݓZW橰 JJB W'Eha9IENDB`PKe5:..-Pictures/100000000000009E000001535AC813D8.pngPNG  IHDRSG"IDATxLU?*F3e AXkkJ~&ZDm8kYJW?8J)X9V}CQ[m"ߏu܇{ι~q=\9!!!"S(ieT+ P{e׏Nj}^;pPW'P {}}}QQQ~_W^yC^R+{c{'oî>[o5Beee4UZ YDzvBւ as>hz,6g ZmxW߆< YQk-慬eYj-D Y; >^gȮZԩSuuuZ`Aww9[H^O?7o^QQ}7CVw}Gq$5//od1L/6m42qĉ .hH}}}ʿ dyg8pM7qjjj\\ƍTXSSsܹ_~e2ԚNTT---YYYtŒ Z:^~hŠ69sT(e ԲjV opa@-[-Pe Բ +Iv=Z`KBu,|"Ϩ1 jl Dmp6M: D-: lZ@-[-Pe kW*Dz x bTlZ@-[-Pe ԲjlZH)flZ$H: ;J[QHV-Pe ԲjlZ`O= jl1#UbCĪ 8c -Pk?NKgPkv[A-[-Pe Բjق*Dz vAze ԲjlZ@-[-Pe ԲEcP6 ]Aph i3dT+ Pe ԲE>.ϲC>lZȥᆱ3f詪7**W qH̚5+55-111VZ!;::͛f`u"Z䦦&:&۶mS#8IcccDDDyyyQQѩSnƖ9sc}H/^Prw ʒNYݣZo].^QQauj /*++7nX__Zݣ>ܰauWQe z"=۞/d@-[8[lZ@-[vTZ@-[-Pe 2?fEG'l{lZ@-[-Pe ԲjlZ1=G/Ћm2[-Pus_MՎr~OM@-[-PeՎv czbc*ilmH/sǝo`8 #T DZ@-[-Pe ԲjlZv_7lkgΜ\h+߿k׮ɓ'999G)++ _hQqqqrr%[ZZxӧO\7HMM ^ܹsﯭMIIY|yeeellvȕ˭[K= 6eC|WIII iiiAS^-y]f͎;E~%##(++kϞ=fw҉X”nA*W]u[oUSS3wcǎ\.zP,VK+juuJ/^dIGGM#R-iDuLMWΞ=;}􊊊RS{8TK9]Wz0a]=34ĘagaZ~_ýXbuuuk׮52t:4 -~ݻwCp,So}UɴZe6iFoej;;;7 ˮWn;LmOOɓxj{%:cz҇b]xU[z]`JFr=cc"= eG_V(>z=tн+R~d?o9]fxj'=~Z]t89sfYYٹs碣}wڨ)S['b/[l_5ݻw]ebڨEm߾}ZuOO>p@ccyu"Vh,..NIIimm5kMvl2u\S{8T|oFzQ.{њ5~ȉʤիWL)'===K.]bENN=umhhzw1~ p 4WWWAch3w܇zwĉ"_eW_mv'jcǎ-Y$!!aƍɓ'iDQrJWx [%\.WGGGEEs=a`cz3..VX}}}Ǐ->3Zڌ!=`Ə_ZZZTTTWW{ځ壣ϟOׯ$uzضjw lvEk;222>>~ʔ)l{ުv2 $""yu=W- Բjl?71CHrIENDB`PKe5:=-Pictures/100000000000016A00000129B9155E04.pngPNG  IHDRj)5vvIDATx{lTU)Ң5ܵBP )7LH<0IBx4c@ Q^1(BmϢ~=^{ϳg?Ngu=k7k?{Ϛ1^\w@TB!@ D|">!OafDk?ِmHy+ Z)^,%]FQg9>Z* _?x'HZ 'A? 9GP zĤk W|>|x'8*vpر=cY*A-dJydw/VVlh3cƌ wvWRet+ Z)^|Xti}}}<>Yu@K.&>,uyJ%@N ?RN~Oܦ,Ȥ,~cBǒ XL)sKY \V ' 'ƇGF_J!@Yhb@؉+b!>~"?2|D+ŇGԱ^_pENvJ#>Iw) bmB+叔G1X!A=[mNyaqv/NWS6Z)^^m,/[nVLڐVʻ'k{v@E |((G ~ ~ JvK((P8@X@y%F($g1@yA(g?a?>(~|(d\GNvYFj(VZ)^wOJymrAQRR㏛hnn... eEy+ Z)^}fa#H,~~_V e$ 7>|S|_ `3/.\صkׁ>|ϛˇZQQ1nܸ]o6Oo}WlԔ;v.--^pm2dX >"b>Ҳx+Vt_ה)SF5p>}(..>w_uQ1۷o߰akjj-[K[܂2xt|>V\ioݿ;\f>fard̙˗/۷9sl?w 6="*pƏoݼysnݼ5?gϞ6mj7>;H2JO?]VZea7|0b/J#r9 kjjd֬YUUUN?S]]ڵkژŔR޽0[)*Ƃm1%+w/Vʻ'k{ (9U &:8] @K&?y3/B!@ D|">B!@o{aR=Y+ Jyl{Vʻh+^B!@ D|">B!@ D|b[)^wOJymjcR޽0[)ڊB!@ D|">ߞSNL81ݱ٩_~guwUEEE)o_33{>cǎu5ភ.]ܹsH_z}]ݻM/:w z|>Ξ={̙XjՋ/wwBrĄشilܸ{E㣩iĈ=#μrN'ܹyG&MTUUeȑ# z9XlyvPxGz-3xO2eŊ7疿d?cĉF2En6㣺ڝq[l1o֭ dI~۷ŋ0yѹssԬ]S'&#jkkN㣾ܞ|gs sH01Wa1gΜ_~ټK}DYUSH'N0|V%Ň9l|L@e;@#aVu7qs*h`m گ6)mR/_nݚ,u/a+z4\Pǎ4rAfK/eիgϞmksIw3W_M4PʡK. 0ٳٵK,"'<Cc->,Y9>"t'wcˮ$n@Iwg=bgw__7g Zʓt'wcˮJ9s4|Ae~ӦM31|RpcƌfOv&̪矲ec3flذ}Yrro1u8tn"YF.!3S˗/>}z;vpԔJ 9ѣG߿(k{5ɓ''2֯_?~_Ь9rd0Yf 4ҭ[: '_8ζe&)o7od2t/ @ D|">BćsC`@jc566ַihh!孔wO,/ ;%RZf3!孔wO,/ ;% g ՕmޡC 7xÉ mW|\|yРA/LMe̛7/\+>:udb"2z=zh?s~^mΗ.]z'֯_o~ONsr(>Ld۷~Ϟ=/^tn߻w/DZ D*fС عsg~fΜĦZ|e|&2&LPYYi-//99+>ZZZLR$D30aQ[[@ӦM;sL<2ܳ d|Gqq{Ł P>ya~ӧ]t;vS3f ;ra##W([`;2ܳɓ'LOZm|ǎ5PC|d6m۶:0QC|d66l0@D:!@ D|">B!@ D|">|6fudwO,/ ;%w1+%k{byP()(X!@ D|">B!@ X|B6RE6R>b!~&>h6R p֫, 7jT*r?w*؊o{byP()V@ D| ,>Z[r,F*ם'Ɖ!@r|8G 90{@f,3. OAK!#e9>Z7C1IJHٟ}&԰HHEڑ ŽJ)1RQs}ֳȀ =#+>oVE={[<8r:oO,F*?ٳ{uLp?~ԩS;vk>^V0V7su#Fp9t\}}(ڧzj͚5O>αpGc+_yw}WQQU"JCnHg5Rjx(>R_3R0RsArA&>̮#a'2#k{RΛ7Ϲ9l1#ψt#o|ڞ .cȐ!7pCCCCKKKBљ0a֭[9r-dgγ#3>د_]v]r%^Bd|?PȌ9>4w)Ɖw:'N~ \N,GGP 叜?GDO#B(DET ?GTDa'>b?GTDa!>(DD«GPH?L(D叨DZ||?t{'RYÔ-+%Oى?叔ɚ S;??#0 GK ćrF_|OY?$#+xt ژ[rVq4qnI3 aaDW*!)wvG*mUpJ.1Rjcn4)I|qEt5* mh* %?TBÄ7Ws?2?#MV3R^kZ|2]8ޅp͋D#*¿ b9>b!~gXh~O~+f|>*YbA%9XȥӘYb?-F Vd[s,?R b޺{%åR G?!(q^d[>Rdȶk)w&*} 2R GV1{W, ݫ?ؽCKO#? sS/|2,}:> dv_OBҧAGo~%*t~ܜǶmۚ7T'ƍ0_ q6?L页6aÆg EԘg[ Y64}燳-:32nܸ2h7xcB!@ D|">"VNdm}">B@VSC|d"m>u3JZ)^mٖBN6R[q@(KǢmC@ D|">B!@ D|">/e:IENDB`PKe5:l/-Pictures/10000000000000800000008DB87FAEF1.pngPNG  IHDRBIDATx]͏%zfޠe8,A"{ H ȗ%Vce\8=DnDJ..K H =r3ˮ.{ގqje\r^O󫟽**P*P*P*P*P*P*P*P*P*P*P*P*P*P*P*P*x;?>]ëWϿ[0 xrVo'O<ೕSʄkמ;yw^{۷oo<#: `PAy#wTq\?SR/?yvT`1ln޼ywrA] p|sZ(#@ǾR/M<'%\;we~({X S ڡuxө$\e@ZJRT8e~(\*uT ˃JI@-S$"G$Zˍ&90x֭[.y믿>t 0֏crppp&.A Y :W!QI*O~izcT:oxϑBe_lELvfh>8- :\=`4=i:T=(tN4p9pJYXa\a @a0[,LV續~F:|qX@yivt;oQ_S'G_#@az&8=>vz;&N'Hp Xxy^9ܟN2c }v l -tDC~xM͜]+«QyH4ʷ`J+pգFp@?y:+Jl 9ӻ^o}!1`[VI9(^|1[fmz_}񙧕w?PNGTya9{WH(-0rw9šq:bx Epe~bGE ~^`wנOP qÓwKft3M1(HICq` [ `I=FnDdw*qbɺUk2Ć#t46t7{wp=}l>6z MDؐP*o'Gv;>"8BʯzS, `90?P Sg!c%=3O^k ? 4<]G`nmӞAqޅ _qQ4p`@]Jc,;$ L:En)Dn+ *=-2qw%:= ɝDC{ۛ$-N j-~ 7";z6=lS.#>$:bH€Pxlwy0QYYWBG " ZYpvC\71fo ,gʓ !G8CbvB'p:4'@0U S0U S0U S0U S0U S0U S0mBO755 5z@aXS ZwP*PNxJ^wN۴mu*v_|<ݒ~:=U:;W[E$m[t:%]Le?]Ց/;[.>I}[V'3,Z qj@űHFKemj}V(B9F5V<ͻ'*=kEdTAzѪy:mVRŷ}pޤCj9I>x31yTO],vL:nCVcx䊦|HPtERNAVm [ u 1+v΂[zWVŵvˏq:k\:2BM=$j I`P0Ʃ~\BCa9foD5iLZ0.ʋЙ48wMnmzg- \ԋaU6r.ꧪh}`1ććZyL\[WcTӘC{8_sKէD =+4&eOXzǵ׃m5,6p7Vl1v{:N̕^J+&l]+-l{\&|%*uk'.b0*.Z ~َ{un7@u^jm&Aג0ϱEsЗ3RC(XPMH+WB~yqBB  *vQ|0TR|Fg6\LȜ[hOcH)]8bʙZ zSs'ǵm`ׂy}|f#JȩaY8!3I(]BHPU4Fz؃2VfCuna {H[LQDBzTPV8yř}/ΜY #j_[T74CQ_5F)$.+3"0r{I ^3dRuJЦ/gs k1lq*nN*bٝɰW+1.US&N|cNGۯw)=sbފJ)X|}&>B FƝPlI" iYf`~W9Gu"Na) &U"r9 ׶54 [Q!5 V3\DABh Iw)e * lsP &B0Y; m-yq-5-kI3RDJc 1Er*]k9lLMWtb( I\vU\,aA(bXHHbڔP 8[ N~+/{F&:O=$_-!T+Tu6_^Vl# gbsyjB˖mNm$$)jlѶM{2na>mfeHMLh!jg'JT Ytܻq?e Y]1-x=6UP\GSs:~\n3?;|fÂ'aS 4J  k@GGLS6Ѝ[֬kY,֑5PF$FAbH0駱h^N+{ƟrA Ka:8<O")W%p6SH$Y*&S J-؄qR ,ڇDN)NOKVE/n ETb%M;=&G!( Lk KR =PCx !T IENDB`PKe5: layout-cacheEmhe^v.kMmmNC3l&Z1(P A# 4l՗С !#b0CbĄgcs?YқQ$BLI3UҎ)R$oͯ+OW&M͢`\F6"ɗ q>,|Dp(˸.RoSlrD簙()BX.-Yhm$RG#I9*<4CD̥b*\a76I_H47DbO@U'ĉJ}+ih1zWJ\' CN_tGb]"OnDnet5ą\@IC ZLuI冎AO(w>,I7Zt{izP:@*&zQCBMH-y>c߀Z~3DwR_syZbC>"8wBE`mĦICKn XYLG =#P+^s13DٍV3̶ަ+ĵ7Mw)RZt516q:=2h:*i3ݡ:P3ɦ23e%0 9R k3ZOn.|(ؔh:X)} ߖvoq{P ڽc!"C+Yڕ2lecP3zK?㾞ágg"\ Q#QC/aQS-nC/ȝx.2^mhNp% [rr{3ԷCIF,k9.5ԎG-0ٯ@-aRO]t} Ch5.,҇9SL )ǤZi*~!Y&jI1A/om|n Եxz_$^C?m3d̿ .D:+0o1@PK=z*:PKe5: content.xml}rH}IBәmEuYcsi@BP*40?֗i͚an{k|ɺGII$D iU_a n{aҙN8۳>^̳߼og3qLC']A2r o7۳4 ބvo{oMt7oؕ8~6>IۇmYial @>> >YP_,[Ń?=KO>1IJszS[O[Mswe9yv&vaꐂtqFAc'vcUyksgGq6/2mʴN֬ynҏ7%.D¶5P9l=Mֺ|PApeIRJOč*͝w Р9#Ѵ@|D.ӵ]Ν#/;(!3\?GbZK7pl` 3@.T:`+=\]NŅvuݯv*. 7هĎ>|^܆>9`zLގ<{qba'Ϸ _\LNb Fpl?vN7xB>0zZI΂+fW/iH`&Q 8c ˄^`s4'L$^| z=5wec|uޘ ǐF  ~CwoeLE q֍h@V7܀C╃}OճѵGvedȁ~N?cc|ב0F=l?e㨄n@ۗڋ't9#$n@ؗƋ#n'ϼWЀZZ-K^'8xO[wF.v?(!!dT/F=rz_X_0@"^r ;{Ѓ-*n$AI NW!zm)9TvDgqC0t/>~ql;)e?$v0BčF8#eq5SzH1ykyxqh~.6TbAl"3F+hI=/o&o@x)"9Ϟg/LPoȠ8Tgиot/BoX۹;`d2axvvm8gOч0rhMQ9g1-1l%3VVo}zfGSAac Y7јR 3?%ݟx#`!8m ƙ6wSl4J[y-<~džqi0u# \v=C+7Ū"#%1m= i9q+ܗ}l-s8N$`}I`'ҧ5R+ֲlp']fQ戮lЫ <g{hpz9:0XӋ=^*wWG4Zanj4H"@:q"OҞ2(z )FW(,!&@!r+Y_ X.kkX1r)r_u[?>? 0IyAQ,x7X/yjujH) BJΒ/!]/ p06\O_Zj¥^ l !x^}~V,y JQf0X橝T;dtoS8Ι1UP=v(f`F} Oejv̛ȟcdV盍l,yGs::("1wq~cglTQUwq>Awq}GsVna@ mnͶpb 듖~{_6` 0_WU \pǮqATBJ=H *j͍R!՞=.SUK.2qAeTB リh :r~~OR?pt^88ӁCj~k9x9Vx6:4 Cs;A7:4 Cs;@G:4 Cs;@G:4 s;7 :r?~ At A,~ A |:xRi}2C*!ƐJcjH1RirSi4$bq?eJyvo r+Ϲ(Y:F#7=[Q~SdfFsϫYfz"XB ޞD͙yfB#7$P#UeXz"`ֆfMhe v%7,[΢vRqwT܉{01(\8A89iٝ7AOn/0`wX!rmҨ鐖tTdH}oǑB f6`T i JS%קkݰe<\n Ou0Tq$wO0n7HtX-:_g?q>fVfZ/E/?O]Ǐy٠^ϣ0MPM30r'S_>0Α㿡Cg[8  e#;b>t]M78.mp%`W ë'iumH^WB HɜDž-<=Ҏ={VC)f숍BΤ h^z5C6,O2;?S =Jeił*˅3 SZ8-'<h~zs3$iDӲoe<6e͐5U\dAV.ίwsfNK6tm'.Rf2q wqQw8-IU7N4p B{Ds 7lO+DOpn?bwsɇj (ߪ?&]ԫy؀t`2MV> mף 0p-…`A *0 pn^W]+7n }X!2H<_X^*A^pRβLSŅE,,RZzvӠy`_9D0w\qujf 0iK÷cOq@+>'\\u1#EfXs<^|8:(0 Bqӧ503MX ;#iw6C#RA7ov({6ҺCi7} +6) ,GXG<;6N\w, %xI wI|s~2I1?ybsYLI?M}HFlgoyB_eB}ۧ"M?ᫌz]ng[nd).NӇ%'Ӈ{J<2?2Obo$~-8< @Y 1qQy8m(?QsxLW#ǣdCFህ7x5kg<T4p WEX834vw[PE={w:b <0 NbG?=F8[8 *(OV1!sQcMNO ['{,e!V TYS1V j@* C/< )|.hvEQ'RR8wWW3&#  mo{ooAF&xk'=7?M ;&cK /q:i ٗ=AwadjyD*qr-_\IXӯ!qo70a[ 24hJiTQ"J)qT#Zׅ,}E׌+brHvgdHO0G%c \}lb-27{vV)x_#̥Ѳ c> 4WQ7*JfUQ-㈩.xMp)â.vH>m?0}0|n%n'"=6Ğ4I3xx MzĨP&]4, KԺ+!bT%Lu_e_W\" q~\)<^GI~R]o O}՝* >Qu<#"؋G # z&зطv@h}:h{ztpT UΔ\szԓi+-7TmG zd[;ᨱvfȎ:Uh`TaBt31"'Hfn:̍p.̚_,m"( fN4̼y1o??s vn ~r:VU}~TTfU=EЮ*E±4I'FgS`߆lʚ]^})@ 9],e 8][N$QU8F:bvbcK,}r /4hmЀ! b"WֈJj)r:^Kh>r XO]w|#({&m&g5Cp] k \' #C'G,ҙ|h_!i8#)}IhfI-X=l} Ś&1p58ep#ϵG Q2y="+q3F 2޻~\ po+gI=XQʬ{刱YKd9.3i+1=v#׿bi ͏is8?s8D-tI@{Gt迴mǍ^BZԪ"g=Yk3u))6E'zF_B7qٻI |m̎R)F#汉pS @wӾ4:j,%>y?p)Ã,Ja<ڒY:f,EozrTv>}+pO uHJ[d1:`E2Bo4N<^x' c3U}Aל8ٝV})*&'^ͪh)4U𵟧J,dj : J:24 ~I)yڎnT:R ut'Zu4Pn<2iͥŨ(v,\H˜05I2;?[-9 ̤Um{լDnh&G٤tV6z&Z\yr}*-0_4YY4)<=]|̐Bȕ-INt[b*f xD_;STKox(xO] S?S _l6V#àⲳ[z'M~me#MF^Q+[zk: 1`Lݡ69[1{}deim$8=yPٸ`HEHc94 [Ŝгxz\w f6,&KCy=$QE>~Y[)䛏pPKԤ&=6_-~e)_% $W@hh.cn"h]WuW! ȝJCg%#i1鴶jZW8}apaeT`QP^.r[óФa˱p-nh$w#{yW]HVMV/;$Npi<8_XU 8Y"I0Uє]T$r( jE?>n6f(՛^J_D45&V/!5PW(zVzR t4Ru$E( *֋KO-UnNlƮ]V|vA8?tAVl;WӮ%|mgvL* rՠc(K<{" 9OdWD'POcQ!c^ 9cY1{zj.Ă\04c=Hq7Q̣\7h>5L5]]@BWeúnVN)Z56]V/Z"hhI [ꎾ=p8*`,Q6uYjTh}_c"5bƨvTTK4䌾 8B[~l:q@);Ok6*7c{YS{W@mqD;U<4theɢ,sU;uM4}xF4<* ȋ72FsZwlq"!=dF;)UTzN<^ ²3d=۴gkjlCO۪6K$ZD[G P(g”?en{\#Wcf3L-oiT<(\ o7(} <0mCG,#pB)+ٻIF5pLoHl-f)3Q:7=-&L*PΓ-M~!L(! _L2OnR4I )v(e20_qn{YaSkvReT:'}\ONSܑfbXgCj5[g\M5z0l SgαP5QӔ+e Pk (|gP9e.v@0e}0*>(AO)>a>زH)s\W!M(:qBJ^b±#X3fx .yX=nY~,+FװKMĦJIfU˻?hz7SQ[~C1=^K4CWJ&e؋YXk1p:!f6&^]a7D'T5ȇXlxf+!URf4I4j0ԥY\nZpS^3; c 4hSZ*E*u^3W%!pU1&rITR{:&<t֥zʩS֛+h=\@4EDA:MivVE4ʦhru4jQ/TuIMQ.|Ȅs?6"WV/fDubim]fU21<4\[GLzBNjݶimtQe`46ymaPJܙ˿693"ZV4X7_.Aڔ kglT,Կ+kdM'B蠸TiSuBD:H 4w6Ȫ@Үu\7e^ C\] Pk;EZDM2+R-:ҦvD7oIT r;D'6D4%S4aO4Yx,7o l`K,Jǩ>@aYz2u|0q(yvs36&)HpmiL͔9/#wnGlE p!kR"PqzGpp~q}is;`@`ܜ%(6G,"Ӿ )?.ygzIJk up031 @/ *f"qlyyVRXh\-A&)~.{)Pmc dV-40Zyi5!U芬[$]<O)J5wQt^+V Ckvlcغ5-Xz:hJsH'Tn2M˫kC'a@iU>DIgHH#_$jJ#Wv{uVM4"=YľQ+(YY(hj|ͷw#D^qRapyV|kIA6e=ywƎ Bk5k=2sp[ ۭίKzP&%u8Xꪨ+TBfoilS{m;M~VuDve}/~v]vl6j۱\ͽkcJ&.W|+hJM48J>ژjcTI֟MECVtS,-ݥ1ry^Jݸ~:<th3DMI *Ϊ 5D454ftKyNU44ϡZHZ#.Huq)īht RD/X4Tgt~;,?Rk@O OOL?YK?T^OWad 9ҎOUz@ ' =-*b2b%ȇ ^c)+cPڶ{кOތS#hXj}>:'RUV9gY3UYy45a;ij8>5 o.5r7U讟Μ]D..k2_B`ʿi r\ #sՄ.-3 QWE Y0t:qi\,ݪr5[NliG ()QӴHK= eKULIz`s1u4dJ.2H=ѠBT'ڋXk\KE^铵Efdd #9.!j[2BDb5~j(L򚨨,Dxdf/uBdRLށ͢3W몺,Erܨ?ntXC&:ђz-Y3UWD-UZE68L.dS1Eovտ{ ø5E .a,;*@vhy /]>^L`&᧩'A.S}FSm|* x/]M"h >a3LV1VM6m ×הx/Qw_l9.uN?"=zPKQ4n3PKe5: styles.xml\ާ@ʖl﮽R{)>DI@Rk{?XyIQeI׻zAΜ?qv&fn$[ ~ޟ }7t$iT8>s3~weqo3b~+[ܷ+ݢ+f[Zp{h޳bc6’0ŗUxI9a6!ٗZv4l6dHjVG_^Dq'XvG0 jMʊt34HQ+xXu@s ż?}x'-"Տu,Ե/ɻUH)R@'2wӑlqoz7,=BIT!N6Ѐ/dr pQK E؏qotlU͞,1|}ܥ ɰ$ԁgiɉ`t#rJأ(Fcs-9:bKw\97wYOxB9}'E{>c|Bk6C5}yQMmia.#|} YVwAi&G~MY; 4ff V{i*Z 2] [b:0qNϏ xZ9le75}Sct}2~hZLx+oۻA8Tk ,i\A k~<8x,go%(+5 1&2QL7>xӯ/NtF509  4EPk#:2?H3CVX],aI k_Kp+rĐBG$ Ae0$T$_WaX0N(m)$ aX"b, 11F9mv.>`u&J] H%q\eiTCDL0?y"|(PfKlJRP2C!HVSK*8uH%.9S1'\h!T\]"KqVmveV-E csUk4i5"Jwap+ՃsDCP Dt'C\QqS:q緮Oݐ(*NnYPENG-f-VdXT f3/QzGYfs޾rT^ڨ)~wE`qۉ\mtgYDcU>L`ipt˳YS[&?`fN&$`MIUvz_ÿ'fNHJ hfUh>AN3S)]. GLK,YàUܤ헲LKYZ YXvu$ٱZ囵XN ࢡ?\4gpП.ECh^,a% !~=\UIuj{`xU^uGvNˠgBy6 Op8yUo&/ pmA[7wCrkCTR ߚ4EL[_ToLD!$;Z}Kf4(JL`8׎º|f:{\,;OWP9֔ 4 An|kZ(bb囥S߀v~gDdH-626e!+;|kyȧm4 KIG|0)h[ FX')UR`of ~[r' 8m,(щIzz_zKi=C V=7Skԇ=OCEufmIHtTR^.76n PKĈ GPKe5:{=^^meta.xml OpenOffice.org/2.4$Linux OpenOffice.org_project/680m17$Build-93102008-06-12T00:06:092009-01-21T13:44:412113-01-01T00:00:00fr-FR14PT4H19M24SPKe5:Thumbnails/thumbnail.pngc$_.am۶ms=رm=c۶vzlݸ7ގ讈Sy2y*yaq`?}/)!n'_w$k>(KgBy | ^t 0|CGTH:K,PXTrfK!*ø)sFg{>TLMsJڃ9PL^%+ BET@H((QĮK5j/uۛZ1}(^Ut +:ѨT(vTךl#/6yC>;63l//?ƒi)xbrser:PU=b!>iK. K\R \&Wj ÅxQ'7dDa%FA-)NE{O=>ނ9$7܏WC'#jBD>pm~. ,dZ`H)tפl{͛# .8}!ngKMkF[]޻2XA&i:9K}U-WsM3z?;^O'Ths8`|d.^hwx0OE%ʕe+12|y5B`.~zt>>8)1&x ƚ-7F-dp֜)KcD((8=*M5IQ7ǎ*Q{Q?`@i *O+e dfLMWJ[.1cJ1h{jQZS3g|;,>m7}ƒXM/qfSa㲡^ C`Mތ3~bgJg2 wa'7:J}8B[ QnbZB^0D~_CӋwx@{o06yqB,k8IRP` dwK%v؋hs%}*qWXä3x{#6q\zO@PhƳpVJm#l= Rh ö{m ڹU @J$mt{[F5u*r!9V+jpq#$IL}5EB3& -%K1&֌j'2Rq%K4R^!?iBQ:n8n˽`É拊xٵ ȯnm^neQ?/z͕rIQf'LUDG+V=x 7o^K=5Ye~Ďԉ7XrsfzOf rt>.Py/W989S,X-أ;LVSW`hbB~;61ҨfcJ ݬg 6a5܇Un}W-ܐP>4N]+ԙ(#=i2,$T@2[/<;N5_! $0#Z]`?|rOV#?0x3lӿ%g]> 埜tLLV/'Mwf[y~LO1[^=\?|/ushn.QBWt|YlWF`DN1qc03aVG qGDtEfՍ#;$)2Z!O(-lԸjGD8؛m۝ Q}u+''2/=Fֳ+*]ݦi´2nvv)?6"J4lfid~klj[ @|Y}@\=Ba8$i6kM3oBf5\盝-AzH`:ϵ8_GJD+n=0*(d-a v?8ggC9)*Z޾.MU>6dnn %+36~l] |ypl\1|F4gPW2 M2%N[ЯJO8We=WC7—;r"ͽ3ܕ>ڏ)e,ou9o[\KT>lBx9'&BUНNOV,6:[Nwh ):M?/ ӛ{\DVyWBs[Tŵ7&a~hZ*s9$ڗ=Y)+R#n[O ťi{'RO:z-S-leLz[,mtP302X~_`1//`el$[w EQ42̏tk d]*wY.:F&dgprǏzwK$o6`Y{="n2F89DqO9(jaߞV "bR4Z %y;wA{3|!ks{zk/.nU{g Îu36"%-?3HʔzZIHZ-!&e$e[ -hіՐFVBȍZ#ĸ\ y n$͸6Σf8qnO#&kgPc@ԽՆVG+ĥ%ܫBԒFՑބ*רߙHcᴩ{볍;㽽d\Ե~Kx4 9DG-BA̪Z:p[p[0ʔ0XLXjkjl#؄Sx\YqqhmWz[S?BL[bBk P2wӗ.(Y ! XaJ7h37&"턩H VkfXAT.\YOܯ,(ᅵr fx:&oa$#4D#4Fq?DWtk̷^떽lmQ|9AY_-?I::$xrOq(x8y]аX3D 9w2!i⡠/#Nt&鋒L(2BmkSW4xd)d60H>a}N9Txw:'u8o&[Yǿ~$/9o-ĢΩGTek86c r߮5>@Ӿ痿&[qbBox&cHyd8} *}u74rn6Rt6o4 -5c:DaYVv|9XߨN4*p+1 j \K{,B.k ׇ$h{ͭQ#R$ ( t|I:0y08dkspȌ@LvB؟mߙPت݉c~u0Yſb̠ZL̿~:J,v'>X<1`Q#X#-&JFm}Sқ:e:NoRG p:I 7Ȅ}daԩ:̘<7^@rۆ12y-0UMDF(RDN܅2 e w/>[>3{L>r}Et5>a0]A1rYv1 gaD٫\#B03b,'BeX5?A!%rY\eѴEcvuS~Xy&`FM߯l-jv;Rq'--ق%;/^w\:P Yo~y']>p J?YݚG_bڧ%紾?3 J0~5~ ׸3oD]@!/\(a=hu߼]+],؇yr)g^}M&s,``jF&+B9D=Am]ו$C)(9KlB5Z76I#K4'C9b#uoquYL*0khD hHG7|!)%Uj^;a-Kˊ? .Tεp+;&;b#Ioqg[(:Ut XΤ^J<pR.,[8|![g1zN} -_;_yB~l8v̤YH28"&ENVC dZӼGo5IA/j+$B75e'~KP!`oZsQHqB,xlJqAtD^*p'/S}퀣wQxhe+ds Vobs1)ԑC[K]RDqtK5RF_3/[XPV.6wdtva5>]Y&]#g#D5-gdM xE`="n?6PmOregz+ɛ0֎+PƞaEE \6_iBv Iyq7@ܺ܍3w :xOg@#v^3B jQ.ltX-PXL D@? Μn_{N֮-Z7έj CX7Rܺ$ZĐ=j2^욏kDk6m;wm6EyQA9=XAHCKSBkIɔfMkP>pf-Bk$Os7OE1{TZqc5OH?6Pl/^Ih͚JR{4 '<C~H/v5JʒƔxRun.UDh)2՞C<_h[lu&4}ƒno˾P+l^)t##O5d R͑ j!(*7c!yTcD>XMZlϓYW׆| ҹ[X-T!Es3&RHd ojQ+ËbhQv[x6ݐ}m~ :P657%!+$LJ<6q  ANݢM"8PfTjxxfg'M$P&=-cF){ԇhgAMd-@nxXbvk95 Љ(}mkU0|,ԻT jVTW%CB4ʀ٩ ߂>D~渶ښ[녲Dl+͒çiOپ mę[@ܽA.áKD@ Iu `_$؛ #YDP#ѭ坱!-j3pWuYZhS!nSFp.c6I.åTlTMo +ԃ6n|RߍIf7=x=~dsd6XEchLLc,O9]dͫV"Ӗ RF+x˳b(9 tG@"׻|U_4Pآ-a31\T?_=e)>E63בz3+P71V6OKgkߺH듙6I8*8?kFڦA)]^ t_;8SǾSO@0='Cl }269 ћnCZ^_)\ J JXH,Zxئׄq@BiLFh!#kF^易4kS]~?{_Sf ."]J gdTB3y%\;xT*jNzK$ёJĒfnAWBg8:e EWmpAdƍ Q/`NA)wk tX)O⯛^fDT"-^Ap -U,Ȅ~J*ӃH)%VE]M_e=g% YC}a}5D0@)|v'( %#T.gdv`bM4XG܄|{l4al q=d<)zq*3i]i̎u3s91TX"C F1qRy0'mDl79+O5b?E ;RGFw8o5_a`LrP&L[nx\8;cnju }6UHHl.oh5rD]sVD ]?w>қGH-B$(7;w7;|d4w Х@CՓ Rv?G3_>ΐ>"I \ZoQ:!=>Iw8Ҿb پ|` (! &O\ =$m1V4^7dFn&<'+|ނ4p}*86ЎAmvCag $QbH~[ wpb6Mk!~(Z'Ow`.l!j!YC}}A>Kq@16I }`HEpD,XiG %IYĉ^)Cw`Ï]>]h7RNJ *LI8 {J x1s3J /tpl-/|?̰nV~M6V P"g'#W|IƗ}ܴÓ3%1h*/Lڍ8_XpTBB#Sg#h"8.K+NO:`rm-+ t7m }6>l ~wjJ~f8󭜳{D =7!Zk=x c,w`pUʹ#~vK?J{_ `]*kDT{AF/pmS[˧jKp&'7n޶Wsk;e ۜ-#Q/C,}F#u,_ur5d[NrL'V7{K$k HyT2at;as-Fჷy]W↷1d4v,J|1^I)8!kA|fjN?lb{JPN^l?X> Ec8#ױ,>߷;uEG !CXt8䊫+s3 9ot/R:Y00xmJr_y̗foʋYլ sRA`$\NoYL_qxCJT x) \COlLg!gHpP*ɇBa7X@~J/4 n--}VyRq':wxuR>F.Ș!R(HF2+)=)%rZ>%p](N-×L>g?F aqN#x1^PuX\u~D:4H+\R쮋p3OD<ƚ [V09r a3y8n0Zc)ӳQ$'PB!?R)U$a$'j6 od0I;H :R2񋃑(e/*sĹWr*#ͩV^|俧04wLy)\ AN壤zdbvxTHLVzVx@L_/w'o@6i9#aGb¢*H0Իwib2yE;gBMeF(rsD#0q!(=ZOLh(=zR5XOj^|p{ƓXNØ;B_YF#mĆ `inw-ZdS AزU|czBM42aJNm&?01 `'ppF>֯DTD[E0o6##;.R)qB6猾8hQM6lqZ0>FƪRwg8:|ՉCSVs`_닚^#b@D5Y1̬'ħYȚr,%b1l@ކX#V)a;t;$ѿ3Gl3옋H443*Q3g>wuM\W;fbh;ZG\?.of{"RxTnQ23C9,DK덌NjqDܜf(j f tZg;/pMdBk(0=6 C,5ӯ=o[39V5ɩM6u]dJ=̴`@ ZlqLVRyH"u+hʻBge0&m*1Ty"Az4 .2!*Tn *b1pLt 8R% FT11Z\iWQi*4 kU"Gc5Ydފb,75} p÷XӐ8QLΛQ[̄(\vըUI]BY)nOb"IJ7IJ"ܐHu*B}UaS/(3Ce J7QT=q c$q6& Qy%eʛMAZJ1SZtXoA9YV5MT%&SauKVocwaiybiWsbi, jc > 9ueܲ |ƭsrGܵ,_yǴdS )U8Ɉa/dB d)H$8)Թ R15(&S~aRjXwKԣLs`Wһ2"_3CE]/M#懐F2%gm?r Na/gbSټ*exƳYQ0QtlxW\滯 > ZR%0e{;!ר9> ߳~8q`z?v472&†"^"?a^NdNlUHW%2Hbw3t3enU( jϲ=6Uv?Q3ޜU;7 6+j;<²B^fU+e}2ر\_x&fT53 .$yc2b6=Kлڪ}Korxe^lWqm`|u2o 7;ɺW 0DnTɱS^)cl\֋ȶRR,Ѓ[1Y7ѴgW6kAOÞ|E"^{Į9|Rx,,yNjج^5QcQmIzċe,[nK9͞:Ҧ^ȭʚ#Go(zx~PMJsB9PRZ% qok4;ҩFհm*LDbMpzNO#[Mz>4d:nJnX@9jt;}% Pb׻l|GӾ VW*齌)ŽY}_4qZY{t Q2@@2=!><܁88f;{ {fp,sWe\U6X=:%b+\c~h'U5M (j`\Nee[*<,A9RB91cAIJ1k {!PeRy-wauQᘪdsF&mkyиQX4nc^ -d24zT[>xTm*iDT!UQ$U@aմ`ꃟy遳J#T% <@p1 Dq'c^eMeaI7kJZzln^,S M`a"wz&7RD=eW> *,[FbaebJ!Y9nU" n@MFL4E%ÉԼ.ԓSP^rD,}eCaQJCUBReYT$GAʲ,Qpȕ7.R՜ppa:7?_=LM2%Қ8eҥ'GRTNJPK缦;<PKe5: settings.xmlZr9}߯p;b| e$P@ڼ)Ic﷥bO3R}Αr..^@i>(( C?FmN&\xt[f3>bfLNA8# `2@6T #8f}„>|a,!*ss?괌wj-JSlĨ1 -"/4fa{x%"ߓ% #9Z̏mTcE =%/7t6[t 02grN߄)#,7>_lۃ ߫wa$<ͪɩDmvhatOڢI mDgj! +&.G) ǂąg1(h&UxBtGo2!Pe. {=UWhHEQ==.jKF0uB%;Q%nD\ fD=mg PPw17FݐQS0)ZLpjS )8UZFt""bσV]@lyI-RD^# ;>m^gzyؓ-X'_xX{cG&mOdh70O >TCq5-ު !zR4TQ<hlQ[\CLT]>w4-Db_ݓ9PeG&7|߿N9=F-s!<5yR,I*UI'u߀gw!Ll [()w.뫭RgO6M~br1:'(F/[/_(_3/C[L <0D@9с3VϨ9Mᓕm MCX#L&tShy0G/]݊=gl %m@!2~SBo7PKr6!PKe5:META-INF/manifest.xmlZn8WI\sEQdHTCGt'3z&=qR`c-|UECnn7x6WЌݰ-^׻/7z9΋axYa7s7λc;7~^61jNuZziھ͏T54L^8EN텔r)\H4v\O[4ŔwzΕҡ>ż ӳ]m/[}tMZrFU`JBZuwR#%4©`d)8hJ "rf5/!dgu(&18##ӞDpSd$\Vm-2Pu RS-x(E1p$*=Q5"U:D.E9]QOȭ\ j1{b=] 9ݣY]Z)&g^Z15b8K)8.(#%yBTBV=w)Mϗҹhf++WO6 zRc"LF.0p(&<Vhoٿ Hﻡ㒮yj?qz':fkszT+ߞPw\2ulR7zURwPK&ET$PKe5:^2 ''mimetypePKe5:MConfigurations2/statusbar/PKe5:'Configurations2/accelerator/current.xmlPKe5:Configurations2/floater/PKe5:Configurations2/popupmenu/PKe5:JConfigurations2/progressbar/PKe5:Configurations2/menubar/PKe5:Configurations2/toolbar/PKe5:Configurations2/images/Bitmaps/PKe5:Hi--Pictures/1000000000000130000002279BC423C3.pngPKe5:RS-ePictures/100000000000019C000000F65C433A77.pngPKe5:I<<--Pictures/1000000000000126000000C8EA4748C8.pngPKe5:'))-@Pictures/10000000000001220000011C64E6F527.pngPKe5:Z-OjPictures/100000000000050000000400A2B3921E.pngPKe5:eO܉-dPictures/100000000000012E000001362D14C4C8.pngPKe5:AA-mPictures/10000000000000A600000108EFC9D2F7.pngPKe5:Haa- Pictures/1000000000000500000003CC7F257254.pngPKe5:zQh33-Pictures/1000000000000186000002B61129BB0A.pngPKe5:g EE-gPictures/10000000000002DB0000017939601614.pngPKe5:j=j=->bPictures/10000000000001FB000001768288310E.pngPKe5:K-] ] -Pictures/1000000000000069000000D1FF61E593.pngPKe5:{&h-Pictures/1000000000000089000000C9F5F92521.pngPKe5:<44-Pictures/10000000000000ED000000D3131B1A64.pngPKe5:L-2Pictures/10000000000000A70000012745BB9002.pngPKe5:a&-.Pictures/10000000000001D0000000AE557514FF.pngPKe5:P- Pictures/10000000000000B90000011D35C9039F.pngPKe5:^ƞ<<-Pictures/10000000000002D10000016730C33AA9.pngPKe5:fE00-8Pictures/10000000000000E70000007282585BA2.pngPKe5:)-sGPictures/100000000000007A0000006A2B07EE91.pngPKe5:'ww-VNPictures/100000000000008F0000003DEFD92C43.pngPKe5:y1919-TPictures/1000000000000246000002CC01D5F636.pngPKe5:gll-Pictures/1000000000000127000000CC1064F709.pngPKe5:}1-KPictures/10000000000000FF00000054884957DB.pngPKe5:-y`#`#-2Pictures/100000000000010B0000016E3C9E9FF6.pngPKe5:7؅-Pictures/100000000000015D00000124DA74BAD1.pngPKe5:9 p-Pictures/100000000000007C0000015F31550D15.pngPKe5:o  -Pictures/10000000000000980000008E3657D7AE.pngPKe5:[c- Pictures/1000000000000038000001372691C8D9.pngPKe5:oċBB-Pictures/10000000000002D10000016779559F7C.pngPKe5:&kr-aPictures/10000000000000B600000150402183C2.pngPKe5:%HQ]Q]-sPictures/100000000000020C000002B45B980304.pngPKe5:_* ''-7Pictures/10000000000001F900000145CCA3D1BA.pngPKe5:%`kk-8Pictures/10000000000000EB00000253050417A9.pngPKe5:h---Pictures/10000000000001640000019249064579.pngPKe5:Ԟ-DPictures/10000000000000F500000052D0FD7246.pngPKe5:唫-UPictures/1000000000000140000001300CE74CC6.pngPKe5:َ$\\-ePictures/10000000000001B0000001E49AA8F1E6.pngPKe5:;II-,Pictures/10000000000001AD000001C95F596ED2.pngPKe5:IU+6+6-) Pictures/1000000000000134000002C31B6E5478.pngPKe5: \-BPictures/10000000000001330000008C2B7494ED.pngPKe5:Rd-[Pictures/100000000000009C00000046B80C0EC2.pngPKe5:BH?H?-`Pictures/10000000000001CF0000012EC7A32E4A.pngPKe5: ( (-Pictures/10000000000001730000013FC02E9DB6.pngPKe5:Qs%C C -Pictures/100000000000016B000000CC3D3660B0.pngPKe5:jɞ-Pictures/10000000000000750000014A3B147B5F.pngPKe5:b/))-wPictures/100000000000013A00000163269200A6.pngPKe5:1e` -! Pictures/100000000000007600000129303A12EF.pngPKe5:P-, Pictures/100000000000011D0000007B0E67FFF1.pngPKe5:CWW-A Pictures/100000000000022000000222AD02C56D.pngPKe5:\c - Pictures/1000000000000158000002C10036AC4C.pngPKe5:HGG- Pictures/10000000000000470000006D979EDAEE.pngPKe5:dv3**-L Pictures/100000000000013E0000013134911548.pngPKe5:u?- Pictures/10000000000000CA0000011AD28371A8.pngPKe5:ԯ." " - Pictures/10000000000000BB000000E7BDAF761F.pngPKe5:3U U - Pictures/100000000000013B000000FE9694E437.pngPKe5:..- Pictures/100000000000009E000001535AC813D8.pngPKe5:=-/ Pictures/100000000000016A00000129B9155E04.pngPKe5:l/-`- Pictures/10000000000000800000008DB87FAEF1.pngPKe5:=z*: g= layout-cachePKe5:Q4n3 EA content.xmlPKe5:Ĉ G t styles.xmlPKe5:{=^^ meta.xmlPKe5:缦;<e Thumbnails/thumbnail.pngPKe5:r6! O settings.xmlPKe5:&ET$ META-INF/manifest.xmlPKKK!G qelectrotech-0.22+svn897/docs/pictures/0000755000175000017500000000000011347002063017661 5ustar laurentlaurentqelectrotech-0.22+svn897/docs/pictures/main.png0000644000175000017500000012561111303005445021320 0ustar laurentlaurentPNG  IHDREQ.sRGBgAMA a cHRMz&u0`:pQ<IDATx^c$FXQAcEE,bAD!5" Jwގv@sL6ζvk8绳3y?ߙ9d7*@T xTh *@T xT |NT P(@ P*@A""NT P!̨T P*< $Q*@ eҗyS?fߘȉZx.%ojNpeĘ)`SK$YcJmjMbfxJhc3ۗ xiŌ'5(_)KT' ;YZT@o+G1T)T#Z֗HA`$_SD v]p}qewgY'>8П$U˚귛ՃR*i!Ǔlό?:[.IO]Wz) X4vtQxFuJ$úPq? eoVZ_Ԙ_fQSYUtmY.luey^@5^.^ghI@pklX#Oh'Y`G4 SL4@A>n߶Դ nSL|7?ګ8sjl%M](r7.$"OT p㥰mS1>OhlqEqt>}$ (/,x,Ǥ4`Nm`4wUEVa Ȱ- dqN#%VQe1@Ha|S0lHa/Wֹpe2k~Ґ;J6%kU2Ģu76W)qduKZz:VD:H?Ri楰mu-Jnڪ2A w{o\fQCRjbhF@p%6߻Z3wf OC۟Ӧk꼧A)lKMk $b<⺖iDp`QY(=iɪƤU:SB1Z3]ju-5W)T >LufD2,9m^4T Ph)2|pk!I'DY 41eGrc)o.<[:Rp%R*@T>]dʩT HAT ;CT )T P*@ $FgT P*@G%72P*@T~/ P*@_ )T P*@ )|/c ( 8kb,\We2<A$ \I㤆ImlkO̞96SL֟HIbe `U{>T"qR35 Nj4F fǨX*x$ "|4R#2aRr'(Φc)"c 38(mFg-e5@j)sl^z@vl_tW /Z fW=OQ2y3rzd8L)/?yx/y7{|Xofܾ\VZ`#Ǎ0}ڨE &^1{Ƕe*Sپ%/oSF޻w#:i۶,FK+ZprҨppId(hq©G(D‚[m^`E5+.?hۦ%.NT9eW]v\CQi.•**H@ '\{)G7츻E嵫pk~(Z];WX]TJ&3K Ç=|{nLqMǎ;.*\g(LgW}Fc`Kxg+rݖ9|QcGK=vQcF0fli5~10)˥B2UuީUC>R5sF[cǏ?vu#5pɒK.CXlٱ7囶:ka;vگU嬳zB0!-ڌmaR^?s؁&?7Ϧk#͝7g ^|mm,ҫGA:OX\k Iܽws'"٣۷gMzs8i°+-f Cmmfm"`B`B޵];=+j~킞ݿ_m &LkKeɢ^"Irni;rҩ37x؁Y&fg/v,|{]ND B(8_Q<.S03>1a-[JȈ7>lݺm۶wQXh׮]wص\r7&5%r^g[M6?v9  qq; wjv޽k{ #qm*ewW|xр%?8SJ9CÁ-wVr)L}7_ӤQu[ aGў]{vݵ{=6=r#l?ԈBT>l5)̼ZaO>\^V{oOܸutRh7[0k CfNh7__H0~"`qpixΚ1KƎĔI.\.!_cGзu#R̛=n3._> JI*ނ Œ-<"łyF3 \ZtT O(ڦ$wuv-R+ H;ՙΟ0,G.mwu"{ܠ-;b4 =pZʡk^$^ "sfZkߺRhyUr߁[dӡtwڑs7g/,`-k?zqy+ܼGiiUm,Ⅼu<ܢNrR"²Aϴɫ\-Jw}߿ť[ F (~a|- RƺJ~C#?OG~޲sjWG}V=o TUΛoZH4bJc8p@{v#;ʗ.E}v}Cwj?w{ngۙz2a@~)P/ax;n` /9wT;! .7wTo;Yc{玭="Ū峐{#BmTʋF" ^ 2c(ٵ@B=h=nm=m;F[ET!x2۔Ht t*TZ;ivP+21'J ʀ8:N4L=:K7>@ lw[Ha Ta[紿Y1Y+zOrfe2sE:gz}sv  1k=.\@o4+O:~ AߵkM!" ,.*LQ~R񠼾K׾ = -U _ȲP`LOs !*`I:J&dgp9"KO UJcT[H!S'VcNJFnk_uYsэ㷄B8nRhyoN|zy-gw?FgR('z&L8ٚw\[}+7x/T7G~.Lȏ Np GٱPބg]u_K]tфOq_\_ڵC_m(/C~ؿkρسa賆x^;H <@LqӦΧ2wyw%NCX?+k'S^ KOo/ܻw?O?A!f>8 `f5R1ЀP4 l*D)jELKk tCn)ÈaD;[|A ) ,dۄΏ%[qpDDK:tD 4@/hE@awlC@RsAjI'@(PZzQ0F iJHBuΝKr/>oi" _5YmmyR0~d~H!JdƼٿ{e@-Xe/vǿ;Xo 5S{7>?!<ۂ&DGz"|n S8Nw;5o2,'$bkqdV;o *:>RWfnN[]B482ʧsΩrƽ{V޺݅ww y*3H rQFR:rcZ"0[2RJ`UEPBmA"F a |lMsw^iyGoM7m?T1bh/|RXw@A:EɆJ\/۵( (w)tB 1wl[~˭k]5o@XaS˿'+A%H!y◁ bXC順]L.qIĵ~aIկȯ%{tu93!I;Gn3Վ]y EE{Kv /[sOq!>Pk}+78ort- Ӽ+߭~\p7>ЫvН︾uԨ}~|h.p:'\٧y橧v @ /M|>^C "1Ck] mx.Y.{i@U}X;]ҟ=qǨ beĈDbX\N~ ŃCI!+hGcsUtAPEN⅓Oo=!:8B )Ha![nWIO#4-ܼ٠+wo|viq'İD.L I48n }H J}_ ݫa斗Y[P A?kսiB!oÎ[vª-@XhƝhOwt-ㅖ._o-w%o'57t ^.@W+^ڿu>Tw{5喛8:8fKAAAfz'4İ&_D֙ ߿ΛA{hѢSN o;m q :t萝 {5xPWRq &#JF*O@h~)X]ҿ=Ja^h6P߈/~/^ \e)߄&?=BGtZt:c)gp=Gx(vT&Gb>|LDDwOjQ|b_"qOlKT'1E4Q^UN->Bpi2_:"BRSsb k԰U=^T|_Vxզ9X"}돸䯣kK6.86LR[^:|'vIa?κM q `ttWx= 'ل{pٽ ٘oR)w/1wHspk_g MEkbDw'i){:iBcm qJaۯ~?y+TkѪUR F{Ǫ>xSKwm? Z?_q?.1N/t7}K/: `a_8 jnt֕# l.d$x֭[7a„cN8;m%ns}Ra<;7]0up:'kVDѣo`n6/^Ο3vE1(9vt?pTtezh#a`NfFp3U}7¶w3421\ʵB[[z"^B#Rt߉(dk"'SUlf@ H'<="$OkI ŷCϛ~:7>Ā$`*@`z:>d;= ~wVK0ٕ>WRܐULJf{y/JL-R֎l0=#:f|[[ovᠽ W$ }8x/l^Sjtz'suU|Ep͵и.w]]jy詏y΅?ǘ۪#C1\{͵s/ p֕# ?UB"f*1`h{N >f)b{_~嗎nA f)tG_L26Є'5f)^d*~'aV4$g6?g@D<?pdǯ[G) v]QTK#k5^ 4H%RmHpxa_~m[7C@C+q /Tq6K}i_/m>oѼHxD8~(5۪e#X6'M>DmM03н| t,Jl&tcKʎH'RXq>g?{_࿿=_6kEMxOnO5/*K/mƇ=ok5vp|zMn]MF7]r,l6 k8l/§{Tm*iKB_eTʯ`&q"N)J'lV,iR *nNһwcG`1gxZXݷ͛6KXx2Vpona/HZ. 3saK!&}<}ka:wL"[wRD0YMѠhh" b #I8RJk Ҝ7wl-5Dɉv >@"9TSpӇ,=ŋԌL-R1#!yT/I8Q[ⱞrCq&v/Hěq8}|~zRvƇ\>~[4ϟ9sGnOn/=F}?P?v߀#N<&{nX"6me."*w^s ͆L<'|זZ_qeW%./OTܥNi>fgWBW(gy(ysc[ S GՇ+8 &1V ǂbxsO]2|f5sֆc[ݺu+Tpѭ\7e䆏pk߿?{D AL,]4W><7_q].40q|&VBWq<3u9}e3Vn\kV/ӃTgBLm"w~·Vjϊua[6.zz0dYZ"X# 4]vA5m/Ԩ_QO!4C X 'f!x5t(MGB hq6n a*f W[T,(')DD? IZ(h1NT/&aiƇx, 0N7'\H 2tރDS|c8QSɾ2/M:)?#G$^xkfq| Gᾏq$xvL)~<^]`a:}4Kwu[s^~ ‘.3,i=f"׽qk%<ƛnn$x{Oڑ0~oC09L >_~`#[Do^pn&pZWrEStcCAPz `̙s_hQTW˗Zr뭚08 ǖ*}9!*0Ѫw\8 РbS[3W8\m0B`1h}ai4r۸Z6Lэj0s#Q!\ ["?6ex"u$"^{ƷR2Ry7*N4:8$5 j_lq&j/,uTTφ٣u,:|Cˉ(dS3hq֬ڹK.=*Un/ w?`G_kw:onʕ BW\~ ]6OXF y@@-HxC UW0:{Co0 zI+ 涖*&dʯ18E GUro|hoN_ݚǐDىw%L|)َҿǑf0v݉H;7>$Rh{R૬qSNAzLc=vplUrl˅/B9c- ܹ3Z_؈_~%᫯]KP_gln۴xHsGzw틀.$+H$ <|w_5淾 ;.+G)P@V?i"keaA#Fr@L Ǧ(]3 >}l/gfRbmT0auj~ - m|>]:y[73vhh1~>y3\.YkƤH`IRT{?U_l#O8W!GgmuiO?{|BF)|0Mh:_.$Ƈ5R@hb. sۘ#U8ʲJq4 ,'2׉g$ޚ9+Cl{>?6HQX cʝR- B q^q\??裆 buO>@wDp+/㕮, kzAz{}wy7s q]dcF \EsǪXƨz0 c$3Yӏ04~FuެUF7W߯[4lPߖ.%dZ[ U0kqrؙ3įע˗N1F'D$a h|aTĜ1mĜL 1^L)j)Q9^G<c ;CvO`8H!BQ(G:rnp,OT{>TyL㬥LgjI+N s̝5ov;/|?^\7o|x$OQ{Y Sû8~Š{)OۧRU^y#5)U@ H6#!.A S T )lHA%7>*.]4n38kWaj֮O ڴA Jh{@"5WT P*{֋{9P $9T ('RPD *@T7*@T xT Q#T P*@<*\=) %0y3gLaƙy$ HhNnڰ! *b\1+@A mIێ֎vd2~) LX X`"T*U p1"BT1#cc &R,"a^юDtF 6]W fȇnIðm#@""¬I%j7눭ڦhR{JT^NT}?9)4#;B >kl`yJ R)ԑ"5@_'֘Π u-n&uw籁WG  ]TT9K4{w1'A!=Et{yO9I3\"Ramt{[ulwޝh@t70)R&M(¤.3{S̮b}9Y2~嗶K҉Jgj#RC A=)^ZT}6 e^jQL5*FxW6sq H`)xZxLႰםmqh@ uH2 !hEqXb3;Ew\*kqjJ{*de h=Rxb+.n` bol]Gto?+:HAp TD -=(>]kw﯀ uH)G%EEc'6)Tj)R(ylyTBEUXJ+)Ÿ)>Y%^mo0͌gMYmDF2:&c0FK6f]6̤k_錱)"e-5.~C3Tyڻ uHD l>UPH0;QL8+-*ˑHAQh/8B/W΋y 0ru'E m{o['O"cMX&ƚcS /H)}}ǵ~Wbc(I-36"!/73]hi^XRк"JSXodsAxGH~]뽚mS%mu'%Nf4iugIP0#t`TUR-H)RS?7͓~g%m&mt 0R:)RVv!Qioͳ:P46*i=jTW! eR:Iy4O|%* ƈ–~R,)HrH:)yL1*"&V4VAi'vK1Ln?_B&iF6fGR$ux$5HA=ڀZ"E:#jZ/:2UqbƖI6g*~ϨDh:PԵFׂɩaa&VE_lD "/Rj"qW4&R9Rj*FؼaQn}{o`%RcRS|:HAHM)(H0"H6>!RӠBx EOD "Ex2I HD2CuQ"H[2!RӠvE"EJ$!R)b쬁 iHAG"E^T@*`' iHO‡{DHࡽ * 0VTLk6mXH R}N'ߦgB"E:y)txG rZ ?QDcT PH:]ZE+r"??S\D R )S*R|rHaXI6kڙjVر)I H'BU>1萆iMf0:Rp1띋SUD T|8DTq-"E5+`D 2;:IW3.mc؍*<2I 9CN"D)vl_tW /Z  fW={-/ _Q텭SFj]Ug"EV/Ja0I C 8mB,: &)$N~Gl 3غu޽\n;w/\A^՟xq~ʙAϴVK֬Q]xns*Wgg;+{sb/p#O9jDr ڼa7,\pr_mۯ;Yɪ6^Iƶ&O?v Ue>9'ӵ痱;R1E.̸!<٧,.[/-8* )f"Ee8V S]LA͛k}=Gx|=t?sǝ)??<|Ϭ~k~yٻRho)N*q Ӌ&M f,Ν7ӏyz7ˑ]fijO=]_SʗsFZOðcotՙY|1 Bpt'8$ )BR')>_SUE89?|YO}l˶m[jg=vjwG֪V[jϪgV?5RiUE}gß_L>qIĵ_w'g]HA˖NUX3ǂ*(}%+rt!!Ϟr~/:N4^M,T:&-2*X8\fئИ߸@Ͼ,pW$F$r7)xpNcZKQ]V 3{nٸ$L>tp߷Run}53ܥ /Oti+onmxºNX~eZT3JIIX ]o>i?us\ctb7ug &uh$R(މ4 )Tn&Z ^I$=WS)S,бciD ;fRH-PPO Rį/sɥu/-n#<Èjn߶7z :N|=';_įm W:nz[[w& z.]VDV"?qbI]^8}uYtvb0'dpHlX6}߁9X h WL9w^6YVgv킫/WN*.WHqYg~l- qίk| H#[1C v|Edb<*@Poei;/?SOy"G)@ <A"Ŭvl;3>v9{bҙ)ƳV"z#-K ~+9u|4镎[LGTﰹw;rw T 2 %x8N?vc/P"8-3H(~BF >կNs;va]kW1׌<b\j}Éo ~[4s6yz8FM&"qeFrDP,NfaS萔*:@ 0q( RxothEB"ZSK'.3)Y "+sMJ?6l\ c"EYT^HAM1!(jͫS*)n*)"+*@RuR*jꪦ%·nY XڔU@ Eڀ#"@A=GD "o X#zYZzw*uUh%bߞ 2H6>BϒH[Ŭ)[#RٵVEB]$R)|SHQ6E@i%bW*}7+"gIAU)fD2@T/jH+mB]$R)|S@絗Ƿsw_8}MɒƩQv^C[) . D _jBD#!R֠A1kaRGwش1xͯf2K(JK*A[7- D Db#R)|S H!>F-y+UrTyZx{ IS%bH-7D TşilZ|ȻQt|BM{eGT) *rNG(6"7|Ҡ;+lֆJ<btOR,6К-(; z+|IU8 "U)~x}ȶDLhP#"*)tΏT DH"GhbA5+x ?j֬w^ DU`ȑ#_v믿7[}wU-tk_7H )\.\g'R(*@b>6Hz圊+T\.={π ty/x_[^ģ>r_sUsg #R܍~ I?a I^ uH]C@""d Ū?+V{OE'\q*UU&|W^qi<  t0!"E@2Z*~/0)=_ݞx tyQQ|t+))ٸq??K/K.rʝޫe1K!Z z)6"w D\m+|xˣ`En:۷o…˗G{8N:fMK_( )tq:zCHb9B /!Ee}!~Tj=uH"o8PTTx'k]s˖-۷oGHΝN938wwZc#t^ zD R.#RxcTD )V,QWG.]tɒ%5^~?rם֭yc^uo`QIZgjIlt 8"LHXFK¯"e W^qy;o]냌kZֿzW~ PO>Zµ1^ۈ5d T )"Zp)N R` q=w?OA^C%r_lˆ"k d(>=tN'2g )|3RB ĨE:A  "RÂYD8zޕ"ƞD T Z )U^eZ"լ\ҧ,Dy]*DND ")/%GQqFHTj\N"=sAAM3 "ەSRHQVGD "o )u3T@]"Vq$R֠y)(a["Ez_#R)|SHmx@ RD™"o jʜ"79SE+@ab R)|SHGO,w&R֠y)~QQH*t"gv=GuUPB;)g)DcԶCϢYPA ]y:* (!JDfq= нm}1Ee RD*DN#E@ƀ9A-6 ` sAa31WH Hs$VZ̷ 01&妘3Oʥ)R3B£" Qē Y:'d"uC^'lGT  RYS())Gگ_K޴ 0"Rh0v:XtCX8#F#HP%p-©bQWHLMM@M xTWN՗b޿ln)Ά3Y:? H "HM6y)@BT^FNB"$"žd˶~{5=3[{)Hfr'3Ё#a{I‹z< DQ"EK-i6E6ks{U0q@HasxcN),z^R_rß+(6kVLA5 )\?0cuRۻÖ^NB4' aKjc0v\4$HXTBW( 4SQH6EhF=3w~3}XzEEBHԼDDȓk|T`cҐ'k"" x DH_)K / B X'8FV0"ׯ)!¯41+#R^Ky}`"=JH2!),@HüDT"ED .VB /^ s?XS,/')`D V<*P )ʼ"%HMNNS8\HRfV"냊JHi0^R\Ԟ>v b R\Hظ.hKВ Pk!* (!JDmֽĘ;؍B8{qXĠI\'QTB[m)P avW,V'*!! ^ ֠k82I REs/疉>(H?WAH )@eHЎF{3KqLIҏ:'x0֥GM L@GHXFKB"E)!E Ǵ.N$SlS-뤦n)R3B£" R0_ DV&U )R>YkBu/)$crlc"RFg^ G"Ex")QBy)HCŝj90)Z0HcFH@a6*D TM8"56M] 5UT n )V)Rh`!R+c"R.)#!WH I"5iUHگ*BEe="ZS;5Ys|(R$6aP@);]GӘ P**F )i|+4voE&.m|k3l̷bd;h2lDL©"T)!Ep^ -Qm o5wyT)a* )һ|ʝRu1c<:=c'գH }"":ɘ0*@`PQ@ )y)FG3Evm Rc} /6v|3* m@ RĹ5HF6饨 bƼ sm`*0B>vdJ)`,ThKhGVȡ8VA/:Ic*@<*@(`LNWB G^ ԼǶ[[#ŝ->JIMHRFj)p򍏘<0+@s'mJH(y ܷFV鷷f06"OH B~+{@0n_P<(BG گp/|+v&H¸/R@$£19] )z)=Fj6}yb3+" LHВq\G$LN B~0!v`!`BR#APd "ELLf J"E#QB GG͓Ar_ WݫV9%٘bZGBjBNN!")RhE@FQrzP+jUH[c%pꥐrK Մf 0_H{#^ Eq,RČJ"E#QB GGK:K5R~>?Oqxf;>";>x8U]S*`uCE%pp7/En6>MNKL9S;BFQ!UgjB;$S":*GTܴT/~)(!Epȱ+JT!Wb/t+hM5>8M]LJn"Epu1S*`THZR8R\UHȨ1ׯH X "zEc*@UHᯞRyD W"`K ȘD Ebn)RقK!nN"ER~ RŸ%Ά^JxpK1f-r1曜I]O?dg ,ڱBp_=tN',rn@ DB"E$^ 3m>ttβe˴`A(!D2*!*2LR8Rl޼c+_삣vN:[l`AHop4奣Q+ՠfuHQt.)-!o}РAFp;T)p5;苠`Gg& " a,Hs$f=@ 'UVݶmV,|A|_5Rh3}r,s@Lq*9W6AuʏX4{R0;1WH }SH::)0~Iڏ0 3/B8iwTn9P(*@b>ͦHQRRuDGl_b0̆ ]' `o!OhR`_#ZCBHw'}"7^ 5R:}L+R*UH)R$H!)/ RhT"v "-RTǤ6]GPWHU-M"M^ :>Խ]2/S]J"EufM"HLuCᙜ=@t RDRr%R/3 1~BG bv؄|CŽv|嵨@ RX^3S0UY{#iLJ(R@x(* [sjP vX7mSl%pGO-<^!.F/Eo]^ R"E*Վ:{\6L;\4 )@`PQ@ )z)$d`m.nώ]CZӆ P RgƦeÁڕu^+qbͤ[:MPi0 Rv|w0f*P )ʼ"%RXSz]2sfTA(%LjH*D L㨔"k3vqZ='R)B ܝ˜@*)tϊE &mx PB G^QǍ!ElARl\ %KdT $ g"$%o2%Q$۬gެ bƼ sm`*䚥 r1v%t>͎%W-c)D R8MhLw#B RD(V )y)P۰ܷF;/[Aǵlu>;X))8<3F ) '*@ A'YWA1ŭrJlC10N=RHׂ@WlZH)8< Bc*E|A όb;JR8RHO>B[{)dpÌCf06"G1ZS }PRz@,gdX#nf;>CP8!;T  xG όDA{LR8j^We6ո}IBGY!t|hS) RpxfJ]R‘ݼ4$69ŊH!_+Lrh9!w#Dwh;A!ڱھ4]Y^u}QHV"냊JH;9"{Eм#C*#J^"5H!;>t{о8H9<]YT Z xG όVKR8RҡG^^^FFFmV~|"޻IkrGYT B wT%pY\4o|\qxJ ޑ3#W.)RقM&[xLwOSȕ+!HH/E uc* tޤTYmD v-ΖJH/v{QH8?>()8<3E )By;E8qgEZ)B ˜@H)8<3$\2‘ݼ` @CfD gws2f*#g4KR8aow6^2"x"*MZ/fH*o|x"DV&U )5OΉHQժ:6 ƶrKdfs /TnBn|p&\rqsNҥOg:;hL"ẅd+!S/~ &GZMeh86 HaC/1BZ$!Bb薣1 gFY )ň'*@ A'|vc[؆fcaҋ vqsFh͐B/LGw@DѢwl%pbR}k/E̢Vvq6 ƊH&ߵºC;B3K~1 gFՓ5/khC}r 0k5nL/H!GN7>c)t/}v,R@m}_iBI mT"qEoY` R8jckh}&)V!ő3E߇LxR`ԕ쬁^"U[ˌST*)8<3UVRB'Rd(wdRwdt^͵c)$Rp^ ̓[ܜHܝŘ o06%pe\yyy5;&[fhb -y)DKۛI~))8<ӯsBGuwL"7`t RDRr%.ARDKeLbT_#g["M )R._v]s9* ׳g)P`Q_3Ӿj)!Ep*h@3vqZ='R)̞n^j#cTLHq]JHKn^ ]v3"EX 3N_3+ĬҊw$f={f3UȘk`cI7+Kcv:S1nˆy=S^)8ˡVUA52uHR8R>aow6^2"x"*M*N-8Orqs"\ϞxK(ͨ@p xG  tR8J.joH!jUu7pm Rh+j/l'N LzEPfT 8|A  BR8R`F65RT GX)9ZT}n0v|bL{H(ͨ@p xG  tR8J.j<)ȿڽ )nSb)qpHuc"uTCLG7@H1er6^XYX\oٸx\m?辶s-#*:0 (!S/žcB[{)dpÌCf0)C5mھخDeBnś^ EhFS@yD K>""DJH('yҸY#EˬmYqg:pb"3BQ(QNxbVB G^ wR>hfDj) ϔ(d bD(HB)\Ϟx)N_3+ĬU^Q24Х !׋&M8QQ=8<3ۄ1S2WgRy%pХ\yyy5;&[fhox&f1)T!W c=UW x=8@ X,+!xOJQ_gn=V@QT{LJYA/b+-3%Hfː8Nhe^{)8{fpwcQX ݳ^)QBx)˗sf z)𲸹b=X EhFS"yb(7"*Ø"i@3vqZ='R )8{fp7c!Q{R(MR8Rlhh6HA`T  RJ(*IԼ#63+5ȭ1B\3Ou% Ky)serttwИ DT_Rq5>"ZymXC[#ŝ->Jr 'p#Rp%RThF" x%PK9r)ZUzXq0qBn n]ݴrn*vn饐Jf'V}+>mQ=mBc*-|>+8<3Z@1JHK)ڀ#HQæ24Yl`cE@,؇[B #R#:AyD:'Rh?Oh8%L$E A/~$3o6Q* RhDV+!Р /BЉ+ݫV9%٘b*$[H'ؑ T!]*tYx)$RH.R jF9BVP*},p܋R8RB[{)dpÌCf0)tˆI B|# BّCj%>;ɦe,g:W3(C|A ,Lͥ"h@3vqZ='R)Myi]E9bR avs9DtY )y)K4n`FRptz0/T3Y(.=l=R܊*d̵ 0rL\MN]?L4GgfL:hRpxT xRp̈d+!#/jcHqg%#rG-0dixHᙎ7S*)8<3E(JH(FԼC6 ܷFV鷷f0VG [;viy\.&hŜ)AG7. T Ţwf%p())LhX#E>pa-ңZH!B.q% #URJGGuT wI2B%ps<9xT!R:{4S*64S c^ E6uH5aG:Gs"HᙎS*)8{fDQ©B@ ohYj3X)B'Խ3OB4z)LAiLG@D)8{fDK_=JH,QCFY{O?'GV)=͵H!͐BHK/g:;hL"ẅd+!#/y)Zgh4pIfmroj{( yP;$zx Ig C}QҲ#=Fc*Q|A όh'[ )ԣsj)Rd(wdRwdt^ 7 'me}tTOEe}!~^(ԊZi R8zjX )y)tRZ+"///##f{d_~~~>"$Hᙱ}v0R;Rpxf*R'W"왶ˋ6rP*/H*RGF )R0285>³gFg⩀ޑ3RCz)L£/H)ЀRRh/箹 RK 9-DESe@RSwQ >"GhRB G^ Լ6!KFZd`VR3,|D 1{CXLK_3*ƣRwHQժ:6 *H!BˆM7-nn鱐r*n1\C$r0q$]IєQTQ+&ՠf7ӺApX )z)JJJڀ#HQæ24Yl`cE I%I%OhI(BGrHK>;X))8<3F ) '*@ A'|vc[؆fca2BaZHX+RpxT Ţwf%pꥐKk)侵AfQ ;8d`cەHeNax)";>DCGv@1ޑ3R^ҩ.5R~>?/8@Bvy7RpxT Ţwf%pp7/En6>MNS0ϔGTg3c)D`܎7S*@h8JH\X%C ]+\"8"w)/A\_3˼NRz)K3q8P{O\a O RSJH/v{QA/Ex=3 0S;RpxfjR'K=c'գH }"E3A3 g4KR8Rlhh6RhgԮJvDJ2e]ʘ@+)8< 1 PB G@;l=R܊*d̵ 0res3[ nrn")8{T Ţwf%p@;|lr)ldDnEfU,UYT"XMN5Rhr=BW!;43o9T׊T #gT4V )5O=@ oU[oom`o! Ga9K!-ZtWhgF/W_ɏm K!C+R<\ Bc*E|A όb;JR8R`F65RT GغC(J_z&H#Z/#k#riH!z:&>J #R'L1RxRYPQ6T P#gZ@!\ )5O6u /BЉ+ݫV9%٘b[O-`B3PA i/ #HMRȐ. #U)Mu^Zђ /HNxUB ^ kH! 2ZM8a!3+"RH)}e7>s33%T 8iN1+! %}[)Zfm?PmZ)TAeP^ -U!RpxT xG όh;JR8RuF7d`&8LqB!:Rׅ̆gjGe}mυT!gIgjl!rtLOqg:hL"/H-}d+!ztN-X%C ]+ nqs_^"5s#:Օ(tWP׊T #gT4V )y)tٳ>W"E^^^FFFmV~|"ٜ)Rp,Eg& /HNxUB˕H9{my)V'ՠfӺA}R (!E F0[ÿG|:>8<*#gơ(!EpBKu/gww0f*|A  O%HB|=w]^h樠"m7Wm@ xG  BRVH{N:NYG2DP!g aT $  .JHKn^ ]v3""[1S*`THZRD$mP$۬gϬ bƼ sm`llXC[eA/sxxrKc*@ڥymXC[#ŝ->J R`IXvrT쬁‡qxL0T̴HJHH<)5RTmN 0"Rɰur\Cl^ ݜ#r6nNR83U$iL/;xQH>GhRB ^ LhX#E>sB!B:*숞#?ʾ҇\Ì'p*!Eprp%4X3A3ޑ3CR&C )R0285>³g dT $  .JHa}ykOC;udbAbGMΤ駟r\%ULPHeX|)RX{),cUؓvTqíxDA Ξەe/HeU|)RR|~_{7-!*"[z#)/+8ˡVLA5n.uHV9RB ^vߵ{Sf̚:s6[)ʑ9IqGqK bGL<0S;RpxfjR8R|W^ wIry w}-[z)QIc\KF ė}U!9=Ha:Y:y)8<3 I )y)ZJ'-[v ˖x7o|c1-#E  ` G^4C Lg3Hw8T$%PRuok+Wټu.۰͚5VmښN'tj:>]!CBz)tSkk"\\$ B&:AGᜐELJ#/>bAMa|y3`c/Hi_BKѹ[oU7nڼhWҰ`OMX *Խ9QH^ #^  ɝdP@)8<32 C#EoˌDi  TG a@ :RXt|Ka*ޑ3.0?R|I'* _/RzLm_pW#Q|K!M:D/ȥH"cGD$R&QPHR*4)ʾ ""E䊌  Rx0&)bR~fH᧚ DA"EJH(2\ +2& xTHQNIAM"j2.*Q(O# r) RDȘ`*Q"Gcr:"&g6~ɸ@ RD>D/ȥ@)Myi 4ϥfUuHu$HQ&G*H!gόv3WH*$BI&i R>P)@[/n>Hgc"8D ǒ"D)볈.~f> )bY3Mp,O RP)@[/n>Hgc"8D ǒ"D)볈.~f> )bY3Mp,OPA )/a,TJ{.g9fuuK RɯBE%*H4W/3oE"/2}$D/b3R f@#p¡`15'RĴdHE=K"4)RyH|2TD ԜHӂm"x.D(ZLH摿""E P ) Ss"EL K@ 1饰x.E uu{E &fg ,ڱBp_0F**h$/p7/E44b*@z)0er6@A1H^寚"R zK-@@ ̟?DHPA Kbwi"cxu Mz)VKp["RĺX*@/E,q% D *7襈[/n>K)Myi 4ϥfUu^X?3OPPA Z^fr. P_>"E$R)cV^pOXRGKID(DJ|Q^ _dLHi_gHῦ [z)]>aI",%t)"TXL*Ez)|1#!R}A"2F*nw%uDDAPa1TEƴHEk@")RJ"BŤR_>"ETA GS^Z'QTP+&ՠf7ӺA/OtHpTB/3`z97`%=RĥHMXMe3ӱV^XrRD *7襈[/n>Hgc,vǙ&R8')X@"n%.D w,"ERIJgHX2@`qS^)볈.~f> Kbwi"cxu Mz)VKp[RA GS^Z(*sj/sYUdݠ"})1TB0BTEƴHEk@")RJ"BŤR_>"E$R)cV^pOXRGKID(C"\oIiiYgHỤ;p g'R/%;"Ezo #R"+#!V^NFQaD%)DIR^ Lx]H Xz)B\8!J"D )/3(*rjP iݠ"*M'lUB1/C,I}h*>_1ED0JDy1yTw]ҴHlة@"|e)X*!O"QwI2B"EZk"R/cS^ISDc_1ED0JӤί 4ϥfUu^?C<"EH "JPA ]~̀(ʴR+@/E 'DI#R0"ETJ~)@/_Jw_1ED0JDy1yTw]ҴHlة@"|e)X*!O"QwI2B"EZk"R/cS^ISDc Kbwi"cxu Mz)VKp["RĺX*@/E,q% D *7襈[/n>HgcS&g7km붟T9L*Byi^AdH Yyma.FN۴Y)Myi 4ϥfUuC? ˜H eƈ,wOVA ̀\OT S@ Cm"εHww"Kx)o D 'R bܢ Rĭę_* xfmQwq-D8˼)\ Ө@dHob>"C‰>(q+q سk'Ď<"Ek "Υ2D 4*YR*\ Q|@l!p""- "EJ) "Ek "Υ2D 4*YRl]f-dNAĸEA[3T@ MKl"εHwwp4u:EYbR avs9)6_h.iq"-1PA ]̀ ëQU@ pA%pBv#R) )X)@%!Rĭz)b[3NpϤT@qes9W"f!j""- "EJW"g!Rij=HI>L"K'D tU,DX73K@i8"Hww"Kx)n-dNAĸEA[3T@ š⭶HBs;¥p< DV7#$]6L|@l!p""- p4奵r:'\xG8(=a k#"M")Hqv۠E[sX~Hr!M_̝P@ n'86')\zevu8TU0Ʉ'G0Bt? L7:('7^2zFDH[&Z)t-+SwPndQz)HIM-lѺ:"ZԪ#ž=dsokb_{XK@ w)Pv|D)B_DK:RٵVZ"(O48/۔˫K7/;%RI)X*!O:R*\%|fib_wO'Dz$RK􎳽=Jc9$#R u(,X *tHQc% K7/;N'7ŷKsYHQ%#Ee')tD~qR8㤽Ɣ_)".$)L^X)nZbH}1~B~HrA/Eܼ w=;>NeʉT;M/ ܶK !qRn0qD4y| "EcHeb"n^ w="Hῦi REXƊqL(5>bBq\6,>fHᣘqJ)yHYGKÕ@pweHG\C>-zF>t!dT !G;Mp_̰*@kɄ8]HLJ *@bx)B $iH` T@QT󲍿ph!P 0PE>#a.)jH3*C)kO8};T P*@0*@(y@T xTHAT P*@|PH჈S*@HD *@T>h,P*@HAT =bOT P*u0%'HAT xR<1"'L?T P  R'T P HK^GXөT DZ-Op,y P*@p'FH%OTF R)T Pg $ p&wc T P*@"Op, P*@PU'*bT P*]kRXD:;FIENDB`qelectrotech-0.22+svn897/docs/QuickStart_QET_fr.odt0000644000175000017500000011516111303005445022031 0ustar laurentlaurentPKx;^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKx;Configurations2/statusbar/PKx;'Configurations2/accelerator/current.xmlPKPKx;Configurations2/floater/PKx;Configurations2/popupmenu/PKx;Configurations2/progressbar/PKx;Configurations2/menubar/PKx;Configurations2/toolbar/PKx;Configurations2/images/Bitmaps/PKx;VersionList.xmlN >Rtv0fswCilo䞣/& 0*ޕi. %7x:9dJbLoFHI+DU<)%]ͿQlP}"2JNǓQ@Q^u;Mت*u~ɀ*+NJOAp1 |wڠH &9t#mBi]-e90 bq]{!vVuqAJ{cŶ=TpIG^Kڑ_9PKI1/PKx; layout-cachecd`d(```p ,$'C2acD20e ~ & P59@ PKIlPKx; content.xml=˒FrwE7vcd7@|6Whf֌vZ]_@, PxcN{r>[-G7?ї8HvkЌz櫲2 r=% #[i;7''q0pȈ 'c/~4[Ih9Ʊ3O{c1,vwXngl֗^ԟY4{!Qn3&P}1Aqq,vʼA8m[mQdIVfɢeZŴ.|VO,MWimn 3amu볷}4mɨ}⯳ӕ,sa5R9!_FSAڝN-k*_)L/9da6U^Qֆ3[ nwv=c5w;ݲh{캴q}!.hV|aH'Q'7? [Ez'(ٽJAޑ& ]P,pUՠU_Y_.ؼʥۉ-9-br?H9;doFM}M[t]v޻}totbP^C̷1*cǷ5z@P={D}嚤fU9~չ76PwtFuO%dAz(X% vZd>h|;UPT KX Y% r/m;q{'}]K,9uNcr}6y7)rV/`% BF_l A>Ƴȃ3yc#!U 6V{6Ycm8dG;*w;LώbziK!tn~NOJ'ȕ i˥WDGGM,3*b߽ݺkK5Q>YMwI`sӌɻāZ/ "d |oOzX!te'8c*"L&5->F3 du~{TwA ۣ+N^M3Tـ z:a!hX9}cӆ|n٦E ]ޔ%=DNHimxod~(fCdlɹ.PN9fnZyXV^27W'%4U%NN8 6GMN/m;Vepi-ctA_+SvYnohuo[`cs<äg]lSS`&bbIWĶE;yaC7!^0 B9!xȍ>/!}s2Mɻ'UA*Q  =0imHoCqbt-&o۔Fq w* eսIե0xtd ,c_A?pV v ! kA>In: h%OU6*UK0S*ƳxyJ.-1X.`?uAT4x|*Ҵ% (4ǭ_V<3D*G/ZqEasMآpx^p8]C-m4lYmiC[b\)P[ō˫wWǝ~Sf.ƭao?ܲ~T{UA *^uMkpe][=qkd5eqo ]Na0xtLKhUbmpKgA!{YoEduz2M/ uz酡B{PnԤ;i{Q;7?ygc#n<{(>OzIA|C)\|KrO!^'}wV|$3VrETJG+ VG7F01{#?SX"Om6HsnV6Z'SPpV_w)~EU\Mgy$6Β!1E5et0bC'TQ4!y%nHyh9yiF}y&?\(jb$:XJ[ DQ*(MА0$uH6a,oLO R .o4jtd+tM#ˆ|E1Y$_ޒ(H"Q`}Ai՘} -旌< 栴#ӿqv7[g5#'PG,j_mwNe5'an/iT'uu u_ȘE<^S[ qSQR_O$$`LO=HvRr|2GKSG×c栧!%_y goP.bĞ1#NޑH$*?qpqT Ҕ&?$0(`J@L'22&v$ `JbHB IH"eBy Sa6xQ \(EH2NdΣ:h C cIΨL֭ͼ`IL?ǵq3cy H(.rQ\:)Y&$q" $_HUTkU5Vм9% ϔh}SpdӖE߇M+hmA?#AjPɮ6oF+ I$LI'GyKs "pa '챚_GՌn^ۃ}ǔ{dAaa)k$0jE~jRH6ЄTF}XX:Kq ~l7XZae8q% `5X֣˦ZZboVCXcò wn ǝѸgk̃X_.'vK0A `_#yR"[D+X5Q9`c^H-SCiA̙ӛ{s^"9m l(1?NԄ5 UΖ0ᰝz`-A|g1h3PC]浡|M#Ү=a &RVw2`8[QXWQo- 0VW0=6@7D^{60UC>"MG}]F" orA-IO?:+Gް]R돩l~2E湘ADJŲ M2(i#~)KIpISkᒦ,]'%MYNKm44e9:i?\Ҕ$|w8I}myd7}ނ0+tX_uWt"_E73Yij8nݡ>i'"X uc+fK hg6-а]"QU..b z`_{ I(6Bi<μ9Xi(N&j~ӹsADXL"gG}6)y :O4ii,BT~v_\.CN@4'߃&QXYc)b8.=M2"`@T]C49s([c@kH$o@"߾ g]|z_V!mI{2.n1'*蜭>RF]Hb@.@A2< #noeő RLq߉y$3]TTAdazD 'N+%> 6M(-xfeWmހIO-AR c燧 DFH$;3D ł8yRn$U0]L#R8(b"q r'OD,hH^菚ISEL\@dO೔OӐWWWOֳP ϰ͎9^i4hPl%O1(SxfNID,]\1!'!I^N#h? ;!2Oy\"7!D,'/4^]#;~rȞQ'\)చ9dOI.'b!P'GY'"/( M8R 01ŲȊi@'\C5񳟵G܍” )=\ 5c7rج>.WkD,E8&MZG)Y @Ga p$ RQe`@%|pcQ-<޴݇kG=Cne2`"0 L+a/'Mد1%L$`iBR*$ Ls,乞LHCW"',e. O\pAsȗUvڝ{TUYs4=㒑G(S1 ]'>Xr`e4zW&*CSoT %3NHyĖJ =h(|KBU \,=ҳ_&a@B;G]b+ qe~ӭ[a=7@ =:`ȸA}/Dz[V{-%ezK?V/XZ[?v孟wgUzۛ+t1< JaR\z؉ ިU$5q-;fʮU,j7T2,"^ sA)" ́]1G][ão:~)ݺhtaoGud蕢aG a]-ê/Un#s8IUwaXѨZ'g:G Yu) eTCl|es`g-W[ѷXN`S !KG?谇]:h:"L@-;TH$_$]| QՕQá6ѱ;-Rh,"`,M1Z&(w84—`]w5w_AA;7yhmwQUZJP kntϮ;RfmʝD8 13ԑ__W(5>r g3*4Sᥔb[񈨈e3:IE,(R rcz}[,{9󏚡cc1]0$,N2~H4_ }\UɱvMDA1M3߮bSr9)iSjV"lk),ѴLÌXr/*I|ydC6_*=F64APK$[ȷPKx; styles.xml]8OaxcY{=Hsdw3DۚȢݞ7%Q%Kr;`Ĭ"YUHΛoljO›=#׻ۿ!k'#&לx3OCu^ҵ}ͺ%Z;iʔT̘^]+S^ЩZ}CV~HcC #)?r3ޥitmarNH5je2j.EY0.5qigiOlSqGyUlqgՠPM-~۠wζNN=LG >~(l!wT~y[OE2q˚}he?~cmewQ'{Ҁ6L%wL܌qD4d}8y/g2a-"Km`*ߌGbS&Wg|+g Yt\lx 7M}H}%?l$PxxF? >khT'C;G N9UYCV4cC`ON]4uСy#S&{uaꁜNEM=L2nkCހEvx?>#Gr߻4LjrI)=AY R:ٲihc+~Q ^:! h?p3&Sb Q׀$I\H?AtPVg|Op0'wmƪiS%qtgsD;B1bRI@YJh` gEAAgbc KR<Ul{pqd~ahrF )e$&QBY윝]M`PCHQe$ q!\$(ee B&f.4s|8㐉TFI4 "N(׎l\|x$э$4I?44S54pԒWuqq9vhCvIh@cL*`t( 4   8mҜ  i'gʆ> `] r)mv'HNYibţjgX!UANS% ^d`Հ}Mb` PPs>c#&JPRq/GFJ850uSr 7% TU1nl C/JHVe5:Ng{d*h9,kt]vb195t5f_M&][a*tTs k;̐qh@f7'@=d@b jr=wX䡁QX 7GrGy ,rj[tU:颋#Zѿ!w4R~]@lGFUSovԯw(e@H?e[l,1q]jm/&ժZ=;5r*Ҵ.t (jU%?XܹH$I28|O][E%tC`v+m6flFm WGKS_ޤ*C2,2U dYF |o69X$*v?x2#-R Y!$#y-I-QC휁<(ۺuGgRvýL5MH}-5ITNWdzQ⩝T lqtR{U|֫Ĥ'K>i:%*FPm-*ڏ` :A-?kˢ=QD㭘t<ثɓ]* (GsP4z,4!]=?QM*[۰b\_mrG_J:T]ڞljjr{ȸ:gPy`.CO(p\#%"sBU"g¥U>m2XGձCHS|* ճz^-(H91mXTkOTJ UI82I ռ޴jkJ4vTvu;ͻ14m+~ڗukj誷ڗ]IX?\{zujhb_KnKb[5t4*p1\_w:XV|XVWC鳳PdvH^81\nmGPF9|7wJ{d^ᅲb= =8!pw q5 4sq!K0eϩY;B \AC7fOu kx6}א]}]+GYhx8mZܷ0sLzބY&o> 벉r!|X, `e^ u6D#bokd\8BQuqE{b䱥״5ױAʽ~?k-?Z՛EGk\? {9ZSkqcЃ.5SȒ rtp k/ UN/Jz ѣxH7Ձ.&ֱqzp#,-*c SmFKqI؉WjhI[D'}P9&)'m;! <4! 53$X^;ڀIV^r@k #gtAykx"rJhM/K}YGN k#FAx]yͻ]eW,L}PoxL]yz5 "eX Cyril Frausti2009-11-05T09:38:39OpenOffice.org/3.1$Win32 OpenOffice.org_project/310m19$Build-942046PT08H04M48SQuickStart_QET_frGuide de démarrage du logiciel2009-11-24T17:16:30.50Cyril FraustiPKx;Versions/Version1zTv H{UzPBI##]zG: һt;ϲ?ݿg$wnGhDrop@ #ANH7P 7ZA@Ogk8 uG;n; ;oP{5ؑ["%O_wBq 0ܒ兕9"1GWKtg[ pf 9q%`8q6%{#VqW~ga?C=" btnL)#10tiw7̡#5.zn"s:OP f8kz3 /Jڌ˅"ʈO/c>.xٜ52+K^.Vx W83M!#2( -;\4oנ>^6trDɛ-'{=ib<;D]{#$Q׬a=W=a;S6jc$sȺ9A$Ey BHQ >!l'&oE@%#sNM)ݮn \n{!J1̄yռ5..f0.Hojh}Yͅi,Hn=AN{;Oq^U @Z غ 0ORDU:ñZ8<,5-6ͅM5Wp`vN"x-G2f@kvTFVk勅K*=/(>lkD5E\Cdz,;>%mƪ`e}Ҭ#Gee581BFOm'je8uBY՘-7ɑX9lk%(pHl-. R^4^2JǠ(}Vm¤֋٧4TE.ÞaY{,jX>6͑oIqzuM︿70:WjP`2{n}׾e$UY_YbXQ׈i.{aGHz1MlBD/ /ҶD#J~th=o9u+FP,أ_|~Vfj۾r:gg[}2|nTD(PyWZEܜel~ݝ[LvDXB&y~ vtcHlt Vbhm&xҜP&q$XRJe/m'/4HnT8/H-^"lFw6 bssR1Y+&#zަeDpXzR9p^U^l>dU7vMfmohk `~lړPMC)mAۈwRRwg8c^?w΋R2ٙr./>A`ziQ6%$567f:4{a{̹Nlk0k1SSK;/ΜV?mRxetmJuX }ZJ oB$sK^11bv0WY5+vD{H묮55Hj20fO$fe8<_73x_t^3+G<}2>!R:k~57`8>t(xs7D?y$f)!c*4f2:^'=9d͝2|84Dc) Fka?hqPt] _ hMmu H$4Ire5×XPn&Ar70g㰴j)1^ =RT?mQkx;Lk=奣"#)}+]n(RtvtIќY*KWI. n]k̘ ^,lb,X.R/D9JjK>so7*r:zḌZUPI!$][L4 Bd;}K$n[&C܈B3$yby,p#E7_P'SQk <7YuN؝VRZ]$*-[MYVu6jW]{ڸzii2y!LW&Jg7z8q?5ye*o8loŴ23%w/ ZkXA*(iM0̥^5"Ai+Ayk GrkVlV ?^U8.1XttNJ&og mݾfQtQrޫMugv2[ZԀ]\Mwm,'g4VEKFZ$>t Az۲76ӎ=LE}]{O?c w[Zn>sK,t@nh:7Ca\et`cqAXAf!#T>/JD1H98Q'; 2 ^3J"sÕ},W#{Z&R5{eg\_tJ{Z/c7G>v=};$Qo&L&enq}d\PA񄁾4`E8e\KYS6+)C. k@OǙE|N᷉As2sz;W-f_۸=ZA\\LcjVk]˻s Y  EFs-6O1:3$W/{':7 Ӻ#ۤ"t{eVfb*ڇ8a*n Sȱx"1-D#+t#$I\N_9,$b`?-*X}#@Z3S»U,>Ө|GwLp-5@xAVtBJ8) ~O}e0A|r;OCc| %zs rg汑L@l0ɈFuѨ̥ek x g$ԣWWBGwejOv./uK DE} a֌RZ 1=Roȴ%H`x_ "zj8IOTfI ç0쳄/ j{!Iݞ}m aYd"L3:ST|Dh83"3JyR’%;tUO_jj5̀$1iҢ 4[aP7۸$ = 5T׿r(V,IP~,BXszh]h.D/%tJMEJmshRq7EkN:P}g< ;ozP<6 ?}<%1PRq[r3Z?98UFZ!C(Eb"Ɍ#1!6 .[=l~50[ ̗I:0˚ $ɞ̠K"%+;vS\%o};3>qN0ۙpDAߏ&ȥk3 [/q|'v;U+&+7f88v+G 8DGWPŋ̌Jby6jZleHXlDIL@Z^̘Nz85vo{ŒU }.w_* Nl<8Ov -X&wg1gˉ~l\$yS4?yvJ%1\#L{mK3gljo _t$KPG뷢< UeE@Ȫ p,ܚVO謊hiP\Ն |,<'BlZٻK/==W=- lI lE t3"QzQÃPS!1@i-|?MQwZ;%4ӆbq7,q IGfq S8?8n;i\1EJ{]*U7|r$0Z+n17TJLkZӄ*zYAHp-x0?,(f/G▀=XJ.Q`) ŸppyxkmƯrݬ2:{Isji^k±CSwG*or4nl{T'%R7=899/oO-|U< *] sSDgyƹ4|]+[AK%A?!lg4|}&J%v$kACەbn[?{"m;feQ=8ԉ#YY̍RUmi0*9n6Z(5T:X`-ZpQ _;`ybnEnr_"řϓ%S$PU9X*E] slj9VTr R@Il|3'^ #}~u'd,V]0=,g(Jk"mU$0Ė[ˍ-SȎl"ʗ5Ջ%bzk),N;Lݬ shTO wҢ\sv'g?{VrθUMdD`\s#]Jyg\L2b* hy}yc#0.ۇL=i*ew@Gg}%snL_PZR6&'o}]^-}MšOb#sc᫭e_\Yn UzԷ&mXLa Ġ}Vn1XIJ klbwN(Ga'ޣ>f)7KuMaҏcG._4"6׮PX*ɭúkx]\(މBırHm'{ 3y#;mt#KUw.ܘGVp ιeȳ}+m V']!Nȣۏe?GF5"mt"~|Z-̔[ !>ntL\f@u7XDk)#$49}-M*IV%-׺YRLgϲDGGX뢫`L<&?C2Qs1v14:F㈁ ? 8Cl`'-Pllh+6mH.?ًou{.0DO~ akBDG59˅ݏѕH?Ej_fz~X^eJKUIwGcF*s#T*i'KTDWT@djRߝ JG'ZgqHᩪQ_LRKwժȺjm⳷MG).9>Xr[G:?DIųap!e?H7`oɿwMS[l쇝--/XOI r'xEzI*{Whhp2Μuٵaj tɻ _ȳfa>EPFXrl;5r^?,nN u:TAֈVCd**DSE=Z7{e3ݿF2H9DN 18{P#Gk3XqS:~%g) Mhh&Ƌf?i̵xP+]EQlbâU2=Lbǝv^cUWdgت" UaM~|6/-x"f-x|Q.5zmOV!=Xվ|u@bKdjTPqm21P]J5>?rV]{iZE8$ {ܟ;TC;fkI]{oۮMݿB6 g3$yx0S+'b9Bab?$靐0C1(\GY[컡W(f'IoB!ĸ]\\\Hkn^QQQZC8!ߵ,A`(Gn^.^?uy_Kp8/C8kz?i\oRߩ!0 roM)97$J:9 ܿ~K}5.##*/"/WXk0G1UJk u! P< N%V0kNLWU )#ǯϫ7_* 1Ki;A@v( P[ARoZ`GRrX}ڊH$W':(ߑ?m}yxx~_ׯ_!?G[5UD]Z@  %IGC![2!E)kH 毉?]H˿)|P`_&E蹥$wK{ji2I 7 X傌mο:{=Pɘw:?Uy;84fuXn'F Iu|y>uE"C?ĈyIq:غlI/Lf;hɫfjӅGŊ߄w,z~X^2-;W Hw2 m/.V]?'8 _Vs̉n@{Vת mѳW/\Sjs{^#oge͝|f=ULsOzz~/K8mynj)OJQ\n  Eue[!?88U0m\ZjAhL뜸ƽZ433M:65++1&ѣ6I-h4.Il|!~m,ųYA(r9TY刕bЫ{8*D"2WMwJ?pf"8:rwTgGq[ҋ9'c<}h5BJ _[䎟toQə$M85#y}pZ#NΒMC7skFLVg LS  FD} ez"ߎ[f\%.":Q?k)+6jF[?l#{; ^)wj9r%>JBA{VU2L|JSЊuDt/5c2No>u5!QRG a zR:4(o7\K[pR^yMJtAZ–eVJ+~7D#oz8G|b)51mxR~TT_K!0)Gw} UcE;kZrg"a});ռ\\^sl ;+ӊd^c&orkV꺘8^7[Ϟ' bѲʆc4f8wu.&md"͋xIGu5C|I {0~7A^0 -# 1sm{UqB u=~iږm4i&k0~iD{KT̈@};'UՏIA5wXQ1|1|OZVaT>7>D=Z|f+'*_>ñR#!;Kc|pzy+Y6]IC͡vԅdsϰJui|Y[8M!P2j'K*0Ay֒%œ !a= ]@5L(a|Zgy2 A 7We!iWP - hdgQ?PPMϭq?x~ oc'7<*oQB7k!{?P£;_k\a_cei /,a?w?BƉk#ߑ?WLA&YwχF_?Wߏ&߭3kt%?ZjX1PK|H*l$+PKx;Versions/Version2{X6[pw βⲸ'H݂Kp'@p nCsMw}?TVUQğsx&\@?/cM)gwIX79(ԅŗ7{nzX3*_JAiLҷu<"xkK p 1`dlH'"{vJkkkHn)In@vG7gyvfiioXSC;ewFQi,+~{VGS|h8QW$ư J7O:ĵMIFYޭ%KKPW'4*Ŝ6gn=  ةAiULY 6}wp F@vaMdQyv Qs KvkCEp6*k1].qOK7>oAa-f(U2۔W2 Z~.=Q#yw\]:Oyc%TZ'VI;&/p`PT>i3 5cS#[ly3#Iia[@*0?%).?5ːEg*ƥ_10ˬ*;:-t_*"BQJ\-ہrZ砵f]&C;ŊCikGn"w_[rE̻Č!֍GY*ʝGXw8Ś!e Q+ćU4y/H$ 9Ţ֯pIXJ.{[9[Ysz_iM6QyOwZM%$,(ȃtgOS)&Ɖ}XdﰅF6TV8%NSp4xFhLRE|=fp $,)|ϸ5 TgCF9fQN!BzY_`(:2yI+W3q6s-rbDp_ϋASw@@S oч#P :( EL rzqDAT_QGxATC 5޾= :pX)">jsM?H#gъ1&YU  F(~ EK/Jv%'PQszs&&t1iZ|pARX-S/S @ye]KԜb{-\o b~^?8Эpu6#P1omfgD]4qyU&ϊFd xKalYheo4q`]/Konyх RA|[v;~n,3UQYyO&|GFu⮼NkF)jrCYn953K̪ӗ{oڧ[_btš)yF>W8@g_/+'by\Z{kקY-G; T5RеM !}:!ؚ1ːQeV.p=a|F~KU XW=IqaK9^:@x@)%6N QpWTG{<2̐4XZ> ˥sX3cK3'JF ^Mcn+r{ɭt}1uS!>aۍ; Qm(35$+ -$XBJ25Y TuG_,N [Ύm :rUbpJ?BY`mAz$j5hӞPs",jRV*LS}8 :lGZ&>TTjdyWgw-t15b/Փ06t* \Z?O\:[z- 3pm1:L`63m|4x@'o7bE< G1%̂ O~8JY$Ơ4Y6u#Tb3|! QCt{iC&a)aEj g̝e{1.;S08z71GKAa8jEM"ݹ^! %@scʠm<=R!dEN%&Oι,OͺkcEtzs(§7eWk*Ҭ(16mmL ԐȻSdO>Jʄ` B\q\)<(uTBxwGz lTaW? Ċ\YASu:ɳs5ڐ7_<<Ƙ1'b0<q0Y:,ny> ~`"@+RC!p#W%[LEqz>70@]"T\/̀~XE/ }=Y{ ObĴAsGJZhMS1d#WEyG`I#P90qɡ@J4s@9{&`q̞EJlxF8FؙEb}e!)HEHJe`6+ͻgv=by!8#IS͇^xIbYP\s^z7~7 UY&ɾ݂?D=lP &~%%"~NDl3)qILuoD닑C5z[̡uIR#~f@W+)V .,+~r.'5EX2O$..J ņdoh&Թ/NR NvT^efSԉ6ly~3%<1W%,b,iFkx?*-GhM qYѰ@]E9mdƃmAF+)[[-NgI0yjmUTT& Bh2n11ijxy!]!>[qχ.!{;!z] Z:}6k &uJYofRSvJ,^ 4P59Nh p4"TYt&r i%T\&y$};Qș˼DlBQտuoʽ1ZjCJ# AS *5n=|, H(P.9V0[DV!Qd -*"E`^wjljXFS#FsfK+2~m:*cq<wV|*Qr5TElU]Xs,!kgC%pR/Pde+>dI{Nt!@Cp2]BX=N}f,=yh_jڷg \Ԕ5ɗkbXITṳhk/dB.a0'4j|u:u`d~)3bf9Qp/N};3pPRw.AiuGd<}uf3:@ǘ aA5C SR_;K>l8'LAb)o0`lxl}n8,#$&BcQj%C%Kq*ˤI'aђm*GaN}Nф"dŬ$"FZbav; T jymU&OZ{ Bܢ<טF_Y!4!1( } ϰF>P|EtpcUB5zJZ0latNsryĭ\_ (N vZvR: ^_S>ӜԃzMe|z\!c!ǵjE]fPԚ: <$N $?譈dB!UO{&/aly*Oy+XW_Su#sןjz)$x5vp育X/ǁbi)tP\!?!^d}GfZ4Udc4#{빉Fl#].g 6(>0h{PuTs˖ NA୘eo,u6g rm|gn)C[TFڀ_Ѕґ(^,k8a{X#2f|!Ev+Q ÇEl-N%:}@bK2 T)V?"Z~!./}.08bbhQ|7ÎD֛}t>czmk/\89TmKh4h%`1<i{|=`g_,ʞSjg2~fXyAiTq:e{W^];kJP/123yX$CVeİԲQۻJN%d'8$û^UzAT뺵?|(d5T R#~Ke")DQP'f^t.sewS1;ʳ*UEn]V~-==R!{ זZNŬlam)y9-vQa-c̳K\rv0xύ>[ -r F@81#`3Ui|3O^Jm<3_Uޖ%e-3#W`K;FQ]PCbd;) j5G(:ͪUԝH#1l,lkh<_ ܱU1=d QX"H[@' qL?2K+*mڏH70j'qJM16xK4%8RjS'-$^j-"f7)d%&DUyz4bVpZtS Yڅk9S!pcVF8hH:=#O>1Ie0IPt#13-IxKGUlB&9me-f!&@bN8 &dõ*){Kեc?~47P%ZpEtlү؟nv[`wfp@l,4`}@8RFezIK7E!*Ll$lq/ YWu_u bC@LjX\{G#TU?ۺi 22hPX][Jc ^}&tA4z,U Πmx·"V])Ҥj*O]㚽u LȃbX(d;>#^`gĸ KJfT2AH+FOe4а,~Ou?I1^=rC;=wY7A`t߬QGI=^U?daU;F(L6LXuZ#$LUS UszX՚wQg=9ܭ17?U L2Y1R`1(uGbr^v'%u>`s'O"l`_ԍ llxJn}FjTW.wxld>2^$fAd7! 31c:xHk핰Ch%%GkVŻθ<37Eotjhw0Pc/߄~-Ƴ,Q.Sse6Õ%v*F%v?zNcĀIh/WXy3Cn6F9W+S# CS@Zs=6{"ub'Yd}<0kŹK9v lQCC@ 6-#i tcdv[GR74{JHr}Nb)u07;o9gqwwiZZ޹Q}B2\3_f,́kd L;Z\iRGyZMtIhql-e\YjvrxQtpBnyh̢Q$ ub=_-?(8Je=6= Wg.b9YIxn\v)K< )۪_8 K{jvv;Ydcͨ(4f0m-en5t%)) ՟)$HtْG\$jlM{&+# I`7fw"IMk /Uvh3&ƹ{:o/>G:IlpO:dY^d7e«84dX6UѶya9 ~m`1bٓv~G/ީ̚oat [욅isҽF/a9oT<g"&{b߶M$]lsnOF^!.8r%AT n"ah Lj8wTg8LsLݪ3t 'uK- 'UҖ2zګre6|ϙ 26Od31nZ4ǡʵԪoghؖ914'}fK^ /` s "Ujnj3BMQsĪ[&DmFr/T%6˓1Cۆ ]t.*^yB" KUĂtt=KHLŸ;{ڸwΔ6>_Q2gx1icz;A`e'OoaW_z (Q?QԤh.мC(&9OO+g'A =p>S(.3!xZlr E]GTnY=C\BoԅsHs^G' 'd֏W߆61^^yDx;ehc BPuUЗ2E:RWQNJ/eE0gPi5<7l21P ]|7cxpG)Cp|&djc2Jqꏬa_Fgv_aA~\/!am/}yodU$ͦ1ah^0|9Vk8/]O%^]]{Zvjl 1 9erov^G;nVHB-wWX.t.l= _e;EDO!ٹ;⡥˂niX;BK'P=UY\koU-$ft ZT &:l!qvm c55eyge[nQfچ֫Wm78{4*#6F\J?~ek ̞+|״zc1znΰ$PVGk|kqLҊ)y}.iC#{Y:ָV3^Cex~m!ܬc7ҘⲘ|^6Lv8*R|]>c4o6LWͤHJ|AS'q x\˅޲ߏ>i0nzbBESRM擿W:<K2<34N^=81qL KTu;RDNa#c5V1pa*XwaSxwũ%5|4vs9IQȸ9tdWcE lP(-~lp :PdՕF/"VjF)|-%Vưcŵ!PQWG!kbpӋ1bإ#X\瘐^;!BvԸCH>_>;4[4 m,A~1U}9ዪ/l=GR#CI:53q- w73 l|jMV >.{AFWگ ]݁oHs䞒T/soD0ul ^$!' t_4ZY 3>AzOJg 1>Iw@+4ȟ+$CY[ò;H.µlJs%֡/$L?U:?XB@Y=SG X | s:(ؘY)Ȁs/0+;ޅ.! Wg{v@~0TX_Ca YXݙ9-YX~jO-s  3_?<_K2Ccged㜂`~>v Oj= 2e8 {:lɤM]] A;7)(8++?/?ߟZVc`fsa` Y8X^l͙8Yo?,Ϳlo]9we?iU4XyeX99y9 U]Au3XURY_}?́.gO+H㿧WW2[KU'e`g`ebC~?׭#]@S652\Bf%S`c2)uE_1::Z_B8V0.Nn.6 aA߮]{ c tT!'=,@6 D4H"[[P6ZB%IyO9_3Vlw&Ig>EɊ9 f64&|f &hUjU:*OS.eӜ#~qhwuSz{mEy|N`GX$#++7=S-0dXC;ChQniFfeurb᜽<;V$eR6Y~^P{9Rjž|θ4^I{>fYy*nCF; ,S c%j#6-yIEe񟫫"!J>#+tLJ.G'ƵlkqZ2Bo@ jffQs JҢۄm:ܤR@Aht=6AnZWqMз`hI*;yf%S:`ɴ7,3_'ܳؕPM'_Smp݊b#ؖb6Y3AyPygKB;H}DUDٙP9|,UB©ѡzSnN?!{z2}N/Qi,QRKL=\hthzc)lAmd!)X1v%]!? G%j' |%kw6p5 0wCr@U ZjD$O뱄,Mmrz 9C{5G.]]Sh Xp!Bq6?۷|řOZVnQȢ#B@d߱7EI 1&Y%);S{gF;12 ྕ%5rB0T(osobS4W=UDD1n Ϣg^M0Y/l_`]qcΑKY J4Z#C},q#; p~J؀:bWD8Śl}Pvza;ӣ7+UXWE32Zj2YVZ)Dż\IX^XPaK -(6`„LŴDQ1^Q1,7 to_38ּHdK7_~Rz>Eͥ)nC 8V:#vVUDVsoXhȃ5cbq,$ sCB@H(,\WQPڡ_˻*F7^9H?鿋1!{!Gx~+_ ,-bB?߯_P~#c_7CVAVw௫F߀D=)}0{wk>ǿ#uCp<,;\?PKjj:39PKx;Thumbnails/thumbnail.png{T˶-_K'(3MGK$g*,|Nc)H( S T_k;=9½w@>NY[A-ovf`>u3WJ%S]SY`.IEt>1E4)׶a=v H1g*Wل.P|vЍdV}۱dh͍37z ^FԯI\0NWyˣ\؀MNqfIVpaa2xB_VШ)Jch2=8 ṵKZM%RiX,fZ{7PH;10#]U0A6XqIRL *c9A-  Zw.SP$,sA*Ñ\˷nNfΌż Гݐ0F@1D"<'HǛdĥjŸYlB|]-,&o~a"@7wSE4"Өp^Pts-BT0>v:Ⱥ9V1_:u5ԬF^L6&ErcBvtH(4<bb].b'ޱ )E'+:ss3}[;k»ڣ.lBЉ:jtEV3!~"#m1$ˍ*ň, Dci _.8&%'[ T%fcT*ih,'}`>پeg+s# E_m|/ q]0ŪQ3Wc6-_HD rUL,'jbHfՍydzVҮL~!#Ónv lk5Kyd>A7/+AH:[hYͮ9 ;dڔ/MvILˡ4C pDWM݆b@Q7Ԕib<߽Ȕ-.b0Ic|aōiɶjAz򶢢#ᡡ w6 ;0͛ ,F)bgwç^y"KW1D)<3"~;tS"m#jT} @m]P֗,n"c&''Nc,/Z{ j|xEzyک6&"c{h4^Ժ5?n5!<=Acfʮd2s=XHcC$vblɐ앯H W91(6" 9P /\A>9PK(UPKx; settings.xmlY[SJ~?;"RVe+ ٷ!i tjf"gEyB_On.b~ RE(nw"0[i.]y_dP1Hc@kZNhPJQG"U,UAmVYd#rʹN|>?+ev4@1VWŏ0VY좜5UJAS47'hF0kߟ{~z_aeBo"FR})oK9\r&z|bPvɭ^_/DCWg8@H9SP ƈZphJ+xI0_YRD };* KZ*|i ?R))L& 0!2šV$_QgDTd:͹3u%:p'ټ7_ Y(Z Xm%ڳB#Xg_O[\0a=,:bDڻW1Oe߾jb;ͤu%nl 1Pi09S$T%Q%D]njx8ǹAogy>f"1 *MlsgL7%7=B 0¬:fʱ5?qS>+t6O=/f% yjΔ/JZݏLɂTM,:uwCs셬&v/4eh%.o}C. PKIS PKx;META-INF/manifest.xmlN0 {*6l'TCGn)Mؙ LM͉8VwoH;[eq#2ڶxy~ofC ,HSiC*YΣZ./G";m0>;a!c%{Sm]|hSi$dxW )ESmtÇ7ZIbH[i.HC37V8`LG?TFL Hnz ΙdpA$5w)ƅm_Ou0Kb}I5yV[y+P;Pbrtv<_׃ivl ˯#,PWRg=b I>yK ͱ׿fPKC*bp PKx;^2 ''mimetypePKx;MConfigurations2/statusbar/PKx;'Configurations2/accelerator/current.xmlPKx;Configurations2/floater/PKx;Configurations2/popupmenu/PKx;JConfigurations2/progressbar/PKx;Configurations2/menubar/PKx;Configurations2/toolbar/PKx;Configurations2/images/Bitmaps/PKx;I1/-VersionList.xmlPKx;Il layout-cachePKx;$[ȷ content.xmlPKx;|? Zg Ostyles.xmlPKx;?_ 33/,meta.xmlPKx;|H*l$+0Versions/Version1PKx;jj:393UVersions/Version2PKx;(UThumbnails/thumbnail.pngPKx;IS  settings.xmlPKx;C*bp œMETA-INF/manifest.xmlPKxqelectrotech-0.22+svn897/docs/QuickStart_QET_fr.pdf0000644000175000017500000027722611303005445022027 0ustar laurentlaurent%PDF-1.4 %äüöß 2 0 obj <> stream xRMO0 W.w*6A%_ vcݦ%q彨 "\e Z ދpPi[X/`R8_ogbhs֡B'^ 4"]P錵2\ZY=P$$}sUlbwo k`? RjV˺Vl]R[TL15SWIadI $zI҂@Z[0!CcP.QgTDPChl$+fhԠPLH+׹t5{0r/(#WNG;e_0p$iF|⡸츖q =iȡ4 3%FoOq5ep.Ygq!x-07Σ endstream endobj 3 0 obj 424 endobj 4 0 obj <> stream JFIFC     C   "  HG OEua ;wuWpt?=l983d\sX(>;֚ld6qqVk m[ChlWǼts6[)1<@?>67yvmV87`ݝRL0+!qd+Frdk:Xc3 .>;?^@ϗGHȘ20q\n qFuG|6Y?y{ã}V"N$ͧ' 9uerx?=p_Egټg@S7,֧Ys̽ vϲqRX8eb%R79d# (3"̛|,Xeq2gGzH`yׅrm'+eYRߟ$+fIʗ[ZY<9f0O+ut^O1Y(*_u903pI1%aHʗ׎VY,ʝ-=,w/;7 ,Ky}w@\73!eKS / ,^v nΓ;ԞZiHW*"LmĕcjIaqg`EN6`2ϗE-b6Wys;ãqI|FHRJ$$Օ/w9&ˆȹTF#b2c.\S~ K+j_t1T7Gmwaq͇?%7v{X̙2tP]!Dk5q< <&&/ ![/9טkٕbseYb,X,E"eYR,VT*DA8ۨju:?݆2G{BF&KQӧQt@|,rgKckHܪI(ǖ"sgFRBcdR8#TX*E*ʕeHqMRM~x؄H9bF 2ߟԋa홍'mNkD*NRY d$RN?~m?z}>}L0aRNoap]T{eӣ*UdCQKFu}X/û'͝ d{DӇ[wy{5Swt. uwwX{aE9Yiq¤Zjv\Yo6$wW~ұ(q"Gegc'ȼխۂ+- CXT2U#y&;6,,}N;;8+MD{ у)yS:~rԴL/^l5Ck:mocD/FLŜs28A;.&jʹYk|$%4}&FdҎ;*w9Ѝ%g{Mlhu,0<:dC!Ι4ٳ);+{BUK";Xa>}a3'`Ujhm4( qF}OYTHlgC`~qΣ_k2(+0e=xι-3{Uhuң0w1 Jp`\0?΍gFYѬ!"ˑeȃr&Gz)rh!6:1=0>A7Fk=iRy<~g hpYt^x[}6>~3Mfjf$Y,d2E"̑fHB,dD, "kD_$Ry cFԼ?8_cJx*~< |Yqeŗ\̹s2e9ǓV8F㊞"0P !2`?ܞmqQKk0)03|WKA'Q) "ߪMdsB)!.A䧲#=)GdF;"0ȌvD`##գ#գ#գhǫGf0ȊP7TDY#]93IG (MSB-&b ?P[Z/GgcccccccccccccccceO(OQ(I释yiSx e9'6Zye$ݧDljڈuBiW0TQ*JauA A> !~솴׶2h,/1uMRQFS8MS Zkzkt] ɾ(%Y`[j˜BzPҨ1`5"6 P*Aދ͂s^,rcD*%WUZA R' WDl~oXNJzl$B}2pIE@(T ihQSj td_J{;VP ?!.zЃ(bEnߔ"?WR=i ;.F~oXN?) "FR ,(Mts=1zz֥QpE=zݮv\DlڈFp(wxpfOtޠ%3 EY',RB k]el 3ZVA_Ʈ kOvsDN;j:P4pR3ʾꡑ1E 4!eJqT]c^?T)+4ڨM-qu"prԹj!:Pu8Q'H=OV^JeQY!t–Zfkr ,T2V4_y7?Ee>pƤS%"KDwN^ʎSE=r4FcT@֯^[p{iǠ*|v ӒkR7Jֻ*&72\M0?0cӹƎS#wR-q蛑6DV ҄{_<4uI-)⬳g3]+Zx T+JTEE*tHx$zݮE=:#dIkH ҆֞ʇ,G΢@hJ]W- I7Z{ClSdN_<&N_K>آKh>W?_IOvk4N˔荑'կ"{'J{q9)󄜄sa(IzϕҹOz*Yha`o\W/y&NU6|pĹ34RoU憗IU!;V۩k4N˔荑'կ"(cYƶBiȜ j!IHU*D>IBM7WwT,RI@CeP/I_( emDZ{Ú'etFȓ׵ ҆Mƪ!IҒ6G/*/=JՒl`w<ù/~(yD㇔&7x%Hqa!(Nx|[܅)=?c{?c{Ê:т˝BjW#]}8|rD9v\Dl5nmDJ=N3w&M\\m'ncԱ |D WRL>HRP)I٠?/+K~g?k+!1QAa q@0P`?!Ĭ3pM?WI`ݵ礨Ct:(⮚i+(o^s@^L%ST}Q;аU ꡽`:ג=t.SƓTso,k9NN ꝽP~?XGWԤZ\%]X-jhkV Q9?z%A͑gp .])RLMNfV:fl`&,P S .x NwF%Ń+(ZK NiC c|y\JeuxR9yc9?s3={~z.kOaSGv.SưiN|)fϟItswwz#u`UwQYQ&u<("1f`z&\~z"ݼV\ZS<҅O8) -Jоh @\Z+DmcO|ʢ^.V  wʱhMwWqǒpCSfV%I̶tukHzd^W:ZE W`_I~mƪ-:Cݥ©/IT _NhW5Oʷpz6XPAaqwEJA1VٗXzt*kGtCAa 8G)Ey G@kۿW:ɝ`{ PzE'<=LM;ϋEP۔&H, =k[uz.g#Ћ nۂ֯0G附Ź>?-X0є Z'Y9;;=!E꜇OF$l OKx>;gt 3&Wp:%7*e]fH9SAup80/G/c }c̩4}kX~g-u͊{9z xפCE{5Pjއ!K4 t~e˗/z!n\5kfyfKۭ XS*ֽKWN0rˎ|=Lvb>? -N hIM*dƱ,xoR Ö<\\r=L&HP,#C]F[]bwIQ]+s& ^QN:Pڥ)!aʐ0xA Kf\ܕ C i0(4h }HœK.\wicp]p([В~F*@ib. ܎Iȡd8wu 0(0e˗.9czc/}pUō($Q1Vbw <&L4muZE&Ip{ 2HՐ VAM\ Z<Mgczx4;}s9QHX̲/t%r˗)R˖$H}Kހ5UFun?qzE(=L ¢fOxEo+srbӷNVX_h;T#Uo? -JJ;> SkSek-o#nu禓<~)i;?+?3e,<~?Qg3~?E@;yGt 숸5L Xr|_[ <<<<<<<<<<4ӎThm /Ttt_aTU[6qw gLv<&hRZ@.dqwm =.gZAƜ Di/ %ԥ D!S -ɓ8B|Yf{aKO>=~&roEb"\\2 #LPuW_b]KY0${`uT&5G)U݃`#L#KI `֩ r>ÂӖ+*<ڜ8A ވ,q,}݆ "75(}upRZDG"xT+w2'to3,x/ZUp` ] E-hL@0U\o]F):f Q@*`3 vk$$ X;H' \ia\[NJ"G¢Ss+ê (?ku5 U_)DQDpٚ)xre˜% ȋHA]PeX4UH"Nfa\U7mB2,UG\~[İzVv%[mġ̗Uڳ/Wu.T/yV\q/@8 'dzcGX(&v2S5՚qTE9A LJ6`QnC`7@m E*-4Ჷ!0O2tQu1.WʸО$%c=N 8:vxT$AFrd%Ju,A+`.>91Wg%Ui!FTIVQnA,tk:?7ԡګO .Szvv0U%K:P Q ߛ\!ocnAQ70zêTRSV+e B-JҸ`0C<ΙI铯ez̸F(=.yI1W 20z 3I@JO~#8rK[5{jST;Jj-]`  cK:L8t<b{J#F/ ȹcɝPB a, [3@JnCJY,˂c$6kc -*(>OZyҖr$joCwcLno~ L H3;Юꃣm.ڬ@` 6NIB x0b9NqDvHݑ0BV kF` eU(m KV6l.D9C#f FlM=ÿ+%كJH5_@*k-%e$o0teh€)dTUaOjoԦYF:jB@-͏ukEM#$6Jg8^?)2TpHCA_iQ\K<rb ruZF2 2fY i2:"dA3 m̸` U4l@04ed#O_1S<`6r-4v!6r4gtĩ~ֹuΚǠЋ\ʫP4y a#72XA HZWQD*\1Ԋ\m QACu J*k-JcT%՗™zG~#-/.}>E}( 8H<ʐZh^( jq fQ/HpUq@YXL*m<'N:$qϺӆg@=۟oVJEt1aɖQfJNC7FzF*@ItXNZdz"ȭaMYI"{ahͱ l&n>%MHps[Fh5 W߅xT(dsr C!\"[(p̎k [^@ⴄ.?A*@>0w_=(g}0syxo) 9mclr^ Fyle ˪ 'Q endstream endobj 5 0 obj <> stream x]L[u?1:Иh R /&ޘD1L@g1ds&8_-/76K`*A=1"m>W?}B!SJ#"#( ~9?~/T^7գ( ~~Ubw.OTdk ]GbGrG9~^; O3Xߣz(2S=7sZ&~N q?XaK6Y?,:S?LΧl|`gl?sY5y̦ח_smiYzunV=M=̦vU=U؊v_P岝ՖKcglIs֜_Vup]t_^~~~~W=????~~~~Ugu?ßկL& ߯iLF-麤'㑐V=E}p4Ҳ`!? M wjg|aC}}]]rkM?/۾ŗ^~7zww.[}{?~:[QL82=u'l(83z<n{r~!GK?ό_iϔgX"`5MKɒFWL[MMgs[{GWޙP$K$+4 .-ΤŪ1W#{~ Ɓ*^3;v >?%T0ssΖ㽿ƒ7^-V'07:9t=Ϧzr:Njn=ʕJ~.bA;+P$^+oAD,5e;Hّ L?_qB!B!B! $ endstream endobj 6 0 obj 1335 endobj 8 0 obj <> stream xZK$7 ϯs;_UMALw Mr9!^GU0ʶO$٭0}zwRonug3-o} fo̳÷~ ?_N^vzxuug6-|igahFkX9ְgZ^y/BYjנ L-SW"DH-iECc( 4e0HC%PKK_I |6&M# s&s-(`.x%@Djb+)X}.g=jn&a#m,ۄ^#S3buX[LK3, &([Ph p!Py2?aO׸g{5B&rj֯OuO?vywY y&8/A[Pޓ@Q$Ljeu0VvAs"+vcŰKkR'Xq1`1Q)!T^8.V~!1L GT[7MI l^ Y˘@ѰO&r cŗ=nlH+ gY#^Rhz}{ l±8j]A~-ڋe걕KQSR9ʦ"g@COj-eu%Ư^[gX3?&ZR-[æqҮN@+U]aBtg,R^6Kzޡ(.c HHݓ\ ed\J#X]m: ÂWD\p%GAg]jK+9Oov#yC[ﱜRX8o]׾iȌrr]%旝Ag#ࢠ9df(]'DÖȗ3C)s/wGؗ#tNޙ0CV [jGI zTVjWL8PsLڜ\[}Iz6wI6B¤%ܡ3q]lz Cu5eցXoM ӖDg^(0/4atkxI[Hf-.ƮVj]&vY88r7@Ԛ]k_s`Kam> stream xK6<7E@]zKk"lҿ_d>^aY"š4g8hȿ%RV55|ϛF%Fp'OGF&رggwI1顗NBP+_Uh݃LOn͇",* c^zZEАӎA흚 +fΙ0LqL\奤&Xc61՟ZF F X G MbNB0Ҋ +xǡ'  %'ڟD)S8=7kFYyuY p4 ^˙1\= i+ z0>gҍ"5 VeMs*dK*+bfe,Ly#k3q&PCX ct|M)UW ʡ됎7BЌY6SV`|W͌웤m3P8΋ܘCT.ur( & zbfv\FNF9TvRu*b޳jfעEN3aEa=@\ a}2\79LN jWbmfXCwK;d)& R_my='e @>)\ǏJtb3!±V9u ݺrC)ؙO?PB]Yuv`rDtzfpR'o [4%ї endstream endobj 12 0 obj 1354 endobj 14 0 obj <> stream x[ˎ+ Wzv``,~DRJ| mWD!)~{&_:}٦_1_t-ϗuZn/Wi]_cp 6 nU}0Ǿ\ .p]J0/fZ lrA0 bo$4/ r0Ɋj^Ǯzx3>d|xpl肟=lh{Ӣ<4,L:* @>Qspì:ަ?ըj=wF0Qp> 4p83GLJ÷|h8XpTY,yR@[) \yFCy;2w2dgYiݴL&mm.\=!#ct ׄ:!M"uAcLF۩ zWt-Ș 6DоG1-h^X}񣝗@1#/.onmǭ/ۙs^s[!Ǩ&iE*D1Ј T;x7s3檡 رA*Ԍ4j'Bs(٩dv{%FSE|9zsqpΜPRt[gMp +ehjZXT/q6gS+p*g_j* mWm*Z]\gl۔*53ymz}5B&卶5*fUf#zXsv`//*w8˪? @4a"djg<)5gǀN/pK:Iر){ٽ+1OpX'S&T)IȒgT\8=U]Cg#kXwO,`V x$QA?MKN뫠D |\;ksѮMxrT!n9Sӆc+/sw"Q\q ֘`op3Fj01,IVzƓQfdӪ"M|wnkɆY3l@LT1 [iͨ-$"NkUCsZ(: /4][DP`ϛ0xYc:OZbZb?fLz(wͼ/Ux!<7Rōew]b'CD9F6 +(aFT?WX'yi5gY󕬴3DVtL1ei#}G]SS`%8 FgkfP86[ .F2YW%[߷i w2lt5pDJC[_Ru+>;lN}zl}T4jX?^4y@~Qm:#ᬧBʻǥ=`S!cGG mIfb29ײlҴmY'V,% ]m5Ds&Z0DN/wG;PDF{D ~!vNnfTɁ,N硇71>SLb""yfKH?@>~첄&*k$?1#Xvlyf4~0|`Watzmd /bâN= lfy&qq.xƷ ]blbH *,4DˬYCd#-,Dg:40LH{ wxn X 釀½ endstream endobj 15 0 obj 3128 endobj 17 0 obj <> stream xVɎ7Wl@2w6F)o !)ROm$$0ԯ߼)'L}Ot6"0v^m@gơ3dlg7opc'l%9U$28􋶄4Dh5CL$'(r#k<4둦|D'5OZ$`Z aw](,X6 =Wlχon{Y4J8+i/gW7k#ˆVՃAu['Ƃ٨FOez#C68'Xȵ:!G9񸏣rQ ߞ ow0LhL0%%Q> stream xtǣp#|ؐD(E@A"U"H/ !lzeI%l*gS6¼aggΖf=ߓ3;s;37̝;3wnAh46̪|4Fh4Fh4Fh4Fht30fFVm 4Fffi vX-v{-Vh4<)Ʉ?~MkhSHMDV4_RMs?1.Un*ba ,Fe}F۔8ÈDŵ QdS֢- F)-ryqq5ʀ .lj+&T =.VFhkbH5 QZ(N롤)T(~Dž2U9F Zh'@grOt}:Hvi͜&zWCh_j]GYU爔2ME_ 5Ftjh-TFBј6g4DAoqICu:mhLSQ%h[!yXhu#DЖ Ӧ!QchH=T( Z~jTFo h4lD0,d}DabЯRC6DkYVFX|ȿ&КLk5ѸtҘ/FDj­!u;GKw(iiQj+t\T(i'BeLn h4j+8Z&Xrh4 m95ѣ27}34$OKh -h4Fh4Fh4Fh4Fh4Fh4Zoh4F [eh4F$h4Fh4Fh4F[Cdv7!so991lj-c8fnȅ5'BL䖇 㶟e% 'Bۈ8dX>c h9OE6(ZctYfaś:kQdǘȭ({5vRm!Ê7 55HRX+,5ՊI{zv%ӹUjٷ m+M؏?}+aJR˙#"4UqVW) r3Ң.qiEI5JcJ"r<0 coװQrYt9${[J2.) *s)+"}hFG{(˳My}-Jm6ʐz,=V4QHpk^W]D}]V! uFhӯt)) &F|U3(8!#~2aCz?rPH@Ph`phPp88Dp߀`H ,[ez&4q``PV i ڕRtV(9s"7W!?rW3-srrspt̜=*.Իq3-*H@ȿ|N<$XaNY܄XjrJ!ԦDP¼$7Ls=dnp&`Dx\8w<+=Uey;{4)>Di8&ZA";f"yޛ;w0_j!Q!3·0̑ >,rCΞ9gu*P\ qF+Z&Q0I]tDJ{د(0.geW8o8w7)8!]haT8䛦;J S;Ɏk;]^H6|yv~F 8Bi o\n~!ޞ^{*nl;uMwܹwYs^=l,W_~y۶WVnQݨoohlqB4[6o?n""5TQ meǞ{.aWe/ڸ>o͚}bGvl۶,-Zj^ZT^׼_f*rbᬛҿ";$Hv<(J&rb ]t t]:D3Ϟ>,u4vFIBlF(ŀ%M`+@HK{6`8.pAz IPCG <栕`&,#h,QfFz;{˙fUDyTe%f'ւa4 GXCH3gμWɴZ`xyȚgKk ePJ,x,}΁\I;+hS(HPNh~η.y?|4gXyiߵj=^R6 ?ȹR.͛nݺ}vZw@w' zl͙[l}Ǿ{烇V>lq uf r!%ŐX'>LT7a+ ~_oF"(-Տ|&/ן]::gTyGO˲((/Ϋ0A!1\ΟtL0@;28¹Mpa^"l%!w>Ȑ(YTH[/ߨ7G{a4b gC| 8%D΃|8t< ) j'킽8{5i27'yE=둓)fP[*QqB*TY]z24tO.\c8\T՘*tvQKQءd^jѹC omFڡmWY'IuTq)AO%=ծ:K|G͙5:0ְ?ki :ԘuQϞ^x$,\/[&N??|E}{?hҤo&N~=TQ= `K/^z)ŧbOs ->+&O??hpR=~l/4!澹8Q&µ'\AT pM cB'`u\!haDa!L0 3אQ"( i5į' S!s}q| $8}rg=zC` O@vB4X+' 8AYBll2W T ;i`Z TTFϞ X("UP%XV0fGM6gA+dg"n)6^jXt&mA]B>`K$ַwnfq`^syURMϓ%իNpXP}vvH pf8Ye7zRTKw=s>DyXeOX"jĞ_ڶ=./R9pX؇ċ7I 'PN@'G&`E=$/3|8vd74`$V朞iHEA^?6ChidLw6HYp/鹶cBOIzeYΤ^}6- {r^bzjYѥ(&H=Dv?G{I5Yp|#յu8)`";gNXtxE;W a 6VA:KF|%lū'-ׯIH3QFA)6b;@q-jx"DyEŗ^lD dr]7BU@.Fs8͛WTT\Y`ea|H`8Q@<"'p#pF%5I7.Wa~hGUE"% :@H@$}"HI Ei)W _+J!&'̄Ez#Da1@ p쫿Tٗ؇ Ǐ쁣 X"9)p!P@؅CǏ֯"91 K21 =,S>z { ,812H?k<B,Q<hUX[QQoCɋNg~[s&;?z㰢ѫʵP &؛wt x3/c><-FaF< & ϔ^׳N/񀣇|bрӾiQJxUj7h_]p[YKYP1m:AF)H NJ9=~#?ǞyWg#ܹ  fOu`[ ͜Y?1TWTDN4w$ne"?7^s`jc7B]uֿ7e%w7ȑ#gΜ0aBJJBQpZiy9(\ a|Hp…sAzX VךNB #rbH0(Ҁ!)h)ң+1D8WO $̇"0L@F!e.eD'&'̬1 X1K&SA.xRB:d9YEsL;zhp -*2؀eq&ʊӇYp9Oط>=pR|ƒ-k<遁 EBB Bc1(TDGxgLjELCZA(tbY8Ë'9O:(~٧]|#^Og=KQƟa|Αnb3 P `eT*)^[W'>}~>S.uBj^y]e]xE!߁lxA^MIwԩӛo/w[yS|;yiWTD5ʼn!3M09L^kqeqtqq9tРAc⒀+ E>Pi!c||| =5[DSJ8N,ȮM #$#C=bui)&%]}}a٣꯼4^g`" UW!VggFRDAK} G!T!Dz d,0Op`C="!>ʼng`Tfx=BPg /]uNjYBzoT [(AEwVFʼnB$͗~ cZ菳rA=1Sc`t E<Ԡ4z7ʹ8A{w߉zby2=(z]b0wGy-=]9k[{rpb ߷wN+Jk*5\XY_P痫 g]:y x ˺<6h?nmܲ'ؐ 2i3~q7K ᶲᖲVUMI?D<.W'I(J5k"ڵ h{ }z_τN:qѯjÚ5t!͂a #"" =bq ųdPk~ydZI8y@\+0c쒣i83zSK~wY^30XDQVlsV9_,/ɀ0SjcаQw@DFPM䑇f$S3Ta QP P #1. hEͽzƐ KǛ(={R0pԲ͉1(XSuʼnBQ"P!~kR|c\KdvFr=hNQ.4%μZqU^L+T*Iӗ/(#!mNڥv=uڙu|OH-2!&!@A%׵Q))|4`_v{ELq&١~555Gz ygl^fgcOR/ff^ix A2vX]k"!#2ܓ6ww_'OّFZD5W+7 o8RsO UvVZ=hu^'M'i}3r^c魷6EFz{n_o`A?4M]T9]vN#LFJ/"7;?~XnB nb S=ܸq8***$$$::#$}PZ/v9 [ 37LV^%GldE^ & ׳G>!Anp~̩Ch0|zYDȉMl~Ý[pL{F| $>4e(< < kDq^@Q 8[  ?Rf]Gy]$h(}%2?rw.TY2IBDA`wBȖC*}CJ}2!>toC6EMKc!cmKKxyf̉WFo5փtnsqBz06xSlNJ_/6.>5=7xTK=ol4 ]jaU6Jen¸zo>6[PfשScV0_~ 8Št}b4㏤^Q5E>,4S)E$&&zѣGϚ5fW_}.d*lCF3ZõD9pt%!{[D|ΓY8B> Apy 'vZQdTfVeTMf(pB?h LsB Ku(Ё]`0 3BC]iMQ>ͤnS%wmr'vXzTb}ȫ'$ez }~צ1;?y~Ŀ_ÙVw~ zU;ßLL<ˌ;|uLwͅ:XըF67vhiA?G1ǩ|W[+/htﲆ[}onmon\-qj.=TKFw/N9'c>b~1Avv#+ ]TDЊOvC-DQ|(66Vެ ~ I+ZHO V R?[SHH\FQnN %Ň$WmÕӇ!s/Ht(rHTl !j@Ka(!O[Q[+QDyÊ[( \:wP/3@EDKBƗΟؾ PaV v@I4O@4WC%E"AQ~q?\p=(HҺ4'{LgFVC„j`ޓKpCCC̋97Cuu+zF80~D1DlNJM}omq@]Bn=77{ VT1븄7֝\\' BO{u֍$BQ{XsԞzo$3۶ B~[B~s,BYyo|\Pp8ZmOR>pƋpƕƆ9aO1D>"C_`z>,4/1#v8^z=Lv9{5,[a7>YvT'c:sz0hm8{`*s+6Jڹ˨|>r԰!Cbt$8rJ${h|0LTKb19rPz=} O|Q'$)Ǯ(X % .To|M=A28% wsʕu[(PV>7f)f%f73+̏~k! ճrfaz>,4\o5ͳWiiiei\\lB>Q6DZpd0վZS\:9t&΁0džU`ee}A!tࠁ t#""4&O4bvvr]>PF9o_v 6t{>2x Ȗ#(6aCAz߻OΝ)  Xa[QE{z5+11?4$$*2RwrbllR\\]B2HLւյf<|ɹ<8=E%EBˁ)W‹K@PV*pJ6 N{vo./QG];63,eFJv|O?"=![P1H)i% 8~.3;yXCCȃxGBM3 ~8} u\+zIpt_@8fHXQ}gYC qAEyI ~e/%GAˬ3:Fmٴl; tOa)ԯ^Ѱg= E p <rGx)QxN=&dg>]| =s $櫗N{fWaXY&^^B"8Go J,TzrÉZ^99Brataci@7g{sj>w].]?v )MKڨ󾹦I]>4^~_~˸j[,Ǯ{!b&? ޿/JGv>,?sHHHNMT*/*1L/\Ab5[QO(`ki ܇譬P3 dflqB禝?w,#H;g‚e@^gO8]!Dy;߆ od4;>Qϛ׋!]D>, %^p=%Bs"wA.G>us]0@ Lp[{"X۾͞tP~ w^ l1 "x֣0/Iĩ&4^OӰTd]+ =&oVaF̋b&<8rzsWSҙn9lJ}>4#"z RLj@ݗtɘڣՒ ,8]'}? a_ݺtmg2ŋΝ;}㨑#?߿[rWc Kڨ {SعׇxkΦ({h 8!>֡ǦmڸszWᗗ:ܷgf2]z-m5zW;;0/!¼ĜL}p̎Cp 4rJ6̓ev8M@ޏq`vqB !p9sl:egP57BmU i)2LAHfxxփ^yK~%Gp"&қ]m5sIS]COj|,Jbe2k ̖_9| $6 <9 (44e9\+PUXVy. vTVI8;c׭{_^m/]r ѣtpp(ܫ{N)B[(˳\'8/1QA% .'BJ9qÇwݧ]7;vvWk& D_~CW\X^^ p[݃0tfeyug1 F-]̴vl JM+ i烫V.ԻJ; FUeEv"^oP5_#ZJi+ر}ΝL<34?衉l{Ch6'XDrTn~U9NM ߹}=Fؙ6[h3(|C(% Oi` cJTHZ,Zʨu̗{d8fQ"3݋r߿ 45|C(nݺ%] zC ЂR]Y_I* ~Q*/:9wؽyV{ݛN5?г$9=%}@2'ۏ{paa >i[=3rklhC`[PuvFT8MۛyRQTpE$ӏoIɎf&Vo8Uf'Nqvnزi:+xEu+_l5TX9B6Kf1wL#uqM\WW5y YyqaR(s$`vd]NK V>'1>8=5|a^R4hwsiOf(TWNy`(T3Y<4NA2p,͸Mjz\+Lj@Ԩ0 B& mg=,uѭV2xpZ5Ѓ((mDZ `A-V2xpZ5(.J1(Zctn,h48dX>2s@cf?ph4F[!B!C xR Fhtk1 qFh4U Fh4@߹UFh4mIEE ru(OMh4ID{yif !hkt(gKT)f^  eY2{D Ţ:Lڀm/%HJ7ŗٛ%Z[2:ä 4,%fx {4k5oD ˔~ydID-Z3Kk,i}&vc 1L6&cΑJ^J_WR欼վJ+F@efi\[M0utXsh+#b>QLO~)h:2F@ٴdaxR u/ӎOKF~K0,4Gi]]QӚF4+Ccm V5F!KIDPt`bLů: JoF1h{㮵%lљRg[H(hZ??MzC~?-ZBb!Zu]BLk5i\'IfZ-(;-]3?wNC2Hl]'UhZpC6H"Z֔BKF@ekwO6_^çݔ:hd%ohƺ"?uiꈢZ3i}OϮta9~Za=kϞQ%,>P~DF@FGV<B%g [RMo~}3(31$W›#cG:]srutst42|;ކEfߙR]W?z/ ʄP2̑?\ݴ>w\SCәOʊly/!7ݒD!t2DsCjqDqI~EՁmye֘Kݗ?s$9#7zOV(ZڎEԖ-ymkLSQQbkE }k]]'~3^]v`Ԃ?lSZ"1.ߞE!H; Hh `xRB-@*{ao/z'Oi5Š-w[a>4_ ^Mh%qunv D1#tʫ?LW&W9wXz5(^;`J==~=ߗ-%ܙ3Fh}hRk%'ҼU(hN d$ tk4(KM?(h~-Z:l5kp5ksֆs~oׄyeB錆eT/v˾ZHpRێ^xH$rѲ{vh+kUIҶ/GyTf$(ΐrwK*Hh/hܱjՊM,*0dI+"އfqP&Th-~Mt^F45(Tم~bӅQh]EkA4 m*B{(G  x/xo{M~6gw콾,Y>jsKBꌆ*T^) ` RpX?݌PHzƁyUIp)O_NN =w!(%'Ļ(njǮM "ojf墅ӔV]i[6D2Ye"g6=DnnoB[(**2_|5td?̸ێ{maO=sÎ9}ݦ"!F@F#QXʼnbۊ9;|jS|7?9#.qzK!H4[ce_߿g_s$#Ì;aJ.gS۵, @pb˦?O( ߢO{{wm_z`hmi׻ݧ}_5pk"DAdךR\j m.n $ tk4! 3uI(ޛf5l~ns>viUeݢm>jҫ={ߧ'?oznZ[<ʼn`HS1ZSev;.1a< {nme{vu9!7 ֯D$%q>DYu4b@fbg70iա}mڮ]ȏ}4C>45E5|;vu A2:AzAHh$ k8Q8ee+:3gǵq.V*33n3Mm)O鶓ByDR9|VХNgڙ e84󴟺w}NgXOP'Cܣ"D,+-NKN ۶eu }@O? (ķh:}[T<[{hYCf1RTh%W_}uc=8d-@}4\*QWCi(ЭH*k?6rαUUY"DC+&=$qMg;UZJٞ@yxEe [6_yhLiW,ȥ}g:-%ݺDa }ïtw7>oeܱE0Lϡ^5s⹉DE2פg$V,-=\M TEN,%23·.-/V q//N,D[D@miF QXCȓc>B'^zvs^6{G$d,<[~0voX$*?./(ʡܖ⫩@_H3$%h U`RN"$ aϣіf!@VK ʪn&{/~9v[ :/~C"Ѱ"g͹+Z&R\I ㉽?+p‰,㻝WhN*q>H*IDaGCy{-'9JFv<,D\9ו 2Y2Q< Y@5YQ[>$DApaVKq).m]K\.صcNC2Hx (lMHіDavB)Y*(lSHі(P(k?tYq:$FM!QF[>D@U(߭i$ [VZDBYQmi$ [X! BfhU5טFe!Qeqл鄵֊^[+B7ofa;DaB@Hf֊^X+zDqF;DaB@Hf֊^X+zDQ_[z[,#Qز(2م֊^,Q*t–D6Eޙi DasQrc ϊ(X`,3+EmGJH,$ l}=mZqsxdb@0<fh#H<[(lYHhcb`iDaܬVFCa"DQ^H,$ lDa|,97+ѱ(;w=hDaB@HVEɿ-(; $ [XFc7+I9V2g?hDaB@Hfǒs3˩)rC@j!Qe$ db -'2}eZqƻ6+!hh ;ˆYu6ج,s_V(UmjUqzɍk uEZe^uBYSY(lY4DQ9AN_EmPaDa\a腵 E#(ZW0nݺ}֓V81"QVZ E)DQz-<@.,c|Y @0\Bc]$֊^X+z!Q(%NUY{7oiӧ͞3{YsΙ7…lݺ>ˇ $ ÅD֊^X+zYl(P4'⢔c3gδiӶ6kyK.]|ŋ=m۶&ؾUH&WX+zaeB@H'Q|E֮Zjʔ)SNݻw ׯ_?a„KQ*W"QX(Z kE/FDq0ycƌQ(Xbݻ޽{=1k֏ƍ~$hK*]w@4cYe QP+$ ĉjAG-jllU*`Ç0}ڵ ?~ƌCssT=30H-@lVH(EQ~1k׮/qƟ ,q} 81s=pbҤÆ ݻgrbTyE"I(  eB@H( xw{_~ݺusuuU|ܸ0ݣ{eB+>Qhs=h(B@lVH($^{Y'OqFSܹSVV߾]t;uԹs7xcͪ"yКRC(Da(P(FDQ7^gLT* Eqq1L߼y3##mڴi׮ݮăDADa:Y;3ų¥b)F:"7{ݾ}[RN|ݔKUVVVWW?|s=K/+'9(0((𮇉}( E#qWwܩ]'dggϝ7/?9+WTT {.: D Hud&E Y!Qh$NyݻlبGtZs^Ÿ?L۷PGp NH Y!Qh$N9qC =no~5cK.Z?N8iرcw9Вq(B@lVH(4];6~F%x7+FY8N QEH( E#_3~ uZJah ;v# eB@ш(GEElv`  $ ʊDQ(h eB@m,#QP*$ (r3R+]DX> ZDXF@UH(!Qe$ ZDXF@UH(!Qe$ ZDXF@UH(!Qe$ ZD|=5Z^DBY(P4@.Mi!@@UH(A#$BDĥԚ"QhDC2G `@jkD*GBj!Qhd> 0WR欼(cjy!QP&$ Eh 0_$к͹4$Ħ, DBٚ(P4JjQ kBQS?KӐ s`8PJS!ndv ekB@H(k8QQ,: 1?~[-I-S5!Qh$DwI(Vl5Rd+ sgk`~rYK&3ٿ9iB@lMH( ŝ;w֮^5'mOY25dVe~J{"IR>:Sv ekB@H(nk! 0)/ѡSs+f*~iHvܙ_~P8ƺBD! B:Dh]~(P([FBDqS(N+䮙J!$D3+" >謪5!Qh$D$N>u! 0$Bw+AIZ]: }VR-E@ȈHip Ta ekB@}2ҥwP(DA3G|> j1!Qhd9}Rs 5!QhdQ}r;`wfP&$ BΈ_ XN6;3uJRVRS,E@(tcQYEGBٚ(P4> ~ Bk~zBԙFBstDB@lMH(Y_BЊљ?G(l/WR ֪"/ ekB@Ѩ(TeeDHCC"D'֔Boк"(P(DUQhGFcBg8?A^:ZH( E#GOG֛(huBH( E#꣐*g-5VZBEChCkiG< 5!Qhd}83eDBٚ(P4> 4 P-#$ քDEQHlwfR\jkK(P4> TkQP&$ GQ-a NX* AXׅuCX)[-&a]B@lMH( ֳ^ZWDDa((B@r($.;E->2HH(%D(BdМDq,Z $ O_$ $  E#$ Gm6$O,N ٜ>}NC2H,D'A ' HRwtDh% DB%$ Gmc]'϶g7f6$#G+QhPq¼}H(ʌB@}l`ʼnb¾nko4$8vYh% v) Bi WD(QL,HhD@P-)$ LGA Xk#N7xФӐ S;S%ؿ\` Y`s4;"l$? @PfF`;M %;E]MXDU{C(jDF$ p).ťXD)(a@xfoվ (=@8(P(E#SQh(N{Cݽ~O!پ#3(QEPFF>ې`dӣO=Ff0Gf+L.Teq)B!$ ,䝙w|}r(x#D:mwfj!7\P(3 E#SC\,Q( {{-кurss(4puQ(QDQG uQ(QDQ Q Q 2(P42B \T`iT@tOX$ քD}B8P(:4Y0?(( ev!Qhd>e˖-X ""B,˗/D#xVRS,E@H+QN ' O 3N`|?(P(B@H+Q@{xM$ZlÄ J%7hD}1D{QayR7y@ jB@H(FDP(,Xc~`@2!`>JnЯLKZ;%(P((P4" H'Q @lDH( r׃SDDB%$ B3fIOH( E#O?Ɏ)B7E@@UH(-+s3S_pĥF"QhdzX[5z*(!Qhdo(X!QPZH(ۣ5s$B@Z(P42ӈFK#H( E#( Y ֳ^ZWDDa((B@r($.;E->2HCɉ`$ ʺe8Qh+(RF] "u҈Db( $ (-=&mٜ>}NC2H,Dbi% XKl(P"QPV, Y!QXGm}.`%8Q|=?)0S!9EG(P([@}l`ʼnb¾nko4$Zἵ[cBV) D"?K"(tμyq {EVL`DR\j;K(P42E)` a8Qv,}{k@NC2HlQp+ ɯ1/htP0>.e{$N4>12ݪGfP )(,N peby}wtzWp$ny`8" ɯ WV@82zLLGD vZbj_]x݆dX+NhȈD>9V< RzzTH+BDBP(rL@֭E( Gfhd!}VJ82L,@^8E#@0Qh`B<+\Kq)"Qhd9}/qOΫE|(-Gfhd9}눝Sqk$ " BYpd&F> B"u¢GfP )ޙPߙ9dsz?: QpCEI ͙HzD^8E#S|c]'϶g7f6$#G+QhP 2(P42Ez(iqp[[: 1=Nh}7;Ƌ<0O~ѣ]6mDlA82E#SQ@l ޷44$Ē:(DN 'lGfP )(,N peby}wtzWp$֣(vP2QL#3Q42E(i>ު}QwuAbJ`(f.G!~׃+[(P([@}Z8Q m<wb=dnR4(h(PD!=BB-&+\KqI"Qhd!8q{[]1 F6?=ʿɽ١ud&;pzpQ222pd&F̈;>>9V< R" lBFf"QPE82E# B_2[.77BH(TkDB(ۣ(𤵑 QPf@B((l(tBZLH(a!D#3Q([Dr(+_ZWD*GfPV/QH\#v[|Ne (,( sк(%#3Q4Q8QHFL(P42;3j;3lNg>Y!$" t#k%WHFyg&$eKq).5R$ L]vvZ(>۞ېlo;?RBV IMh䧪*JkhA20[!0Ԛ)864!"X*/); !ult,0,k>;>gvΝ_z4;x<{hb~DQL!z@1 {p|TPSfmW(.mߊDQbGVT*= M((J9 HGGK(b1"[*yrf&$ ң Qti`2ЀLHУ Q,1Q0 (Ԡ8= ~_tmDQDd&A[("QXqz&H8i3_$B% &3c9&}C3DAH̅$gf6Xʥ2f񄫶' HH}=4h}=ٲiNOH2VMLp(Q0 h9 &35ȣGzLpbMƣ3,lljSgףm?5+,}i#&9*~`2ЀC"y2Y/LzXs'eDt0~}-S .N]ԣ`Ѐ9 Hѣpn&Kk(l8q.Q5XfV`lnc7 @(ܓ#' _JoPt{ŀ6&o*ږz(J/{s4]( LU_.l;Q(G,Hzz_^Dd&A[(,n6(ܓ/;gT%X hc()gD4/e`2ЀLHѣ0oR&KeIOkonD=6Y(5%Gs=эI(ELfB"{C4]( LU_.lNQ$6+ѬGw*$=O=|%ԃ9 @( G"}3=Q>=͹##2l[O=2%X h \'O[*( Q( qv|vm{"*GMf;'3mp?ϔ2Q,e22qLfB gf]=^[8>*©lchә~$L3X6LfB jJdzޱ1EAE˓@:LHGG7Q6Is(HDAhDt(HKI-Of2Gt&3!QM_6AD-̄Dqz&H8i3_$$%y(y6QY](Cʚ(83(=( Ǚ I\mKe͉?i*(QD gq/O>;H"ژ(s Y%Q@"z?ezw(V=+e9'GQD ̄D= cNOk76|^fmf0Q"G6⓷]pKmC.BkhÃߥB$ ̄D= &e_DցO3l3?pqSmDy7fa5 ==D-_ߣpA]'& {aDzK̔ Qd&$Qw7%ܵM6G(zWg3on6Of,-(N% _J%PQ9؟ ՘D= &QŶ깹eDEE? Q( G"w$3ߜ;2 ̶ꙻ4z4Nfv6Q0 hd&$ rŞ;.mp]GAB2K6H8G!zD |0 ̄DA>{p|TPSE{4Qb{L@&3!QzjJDoo89 DAz{d"ژ(ҿ*Q(4Q0 hd&$Q((JLHG߯|kӗM((4`2Q q⤭oL>{p~( (J9 H< ( ,2#Q@"33rc+*2l3Ld&$#[6wbW_]fꝣqd&$Q(uzXSc2l3µ,l~p:Z| oe L@&3!G¼I,y&=Qu2O=\ED G z G sȣGLp6Qp]94k^ٜͬ>e{4֣h(|AALVYնJD= hNQl뿘]fټ<"qO=a2y(73ߜ;2 ̶ꙻ˜(bDd& (y{8;w>̶uᯎg ?쓎L%z0 d&$ rf㵅㣂-ͦ(юQE($G:(jZRlhwllDAlH(H{vi`2ЀLHGADd&PzLfBb=Tp hz|>d2ІLH,G(r`͓kη^ɫ&E|+$% (c(~'{jݺ .>D!Qpf&iDzi׾&N\iBş=yv$qUODm`2ЀLHѣ/u[_:v巯{U_BfH(t"Q T[̔LVYjP0DQУH6( A@( = H(DhC$ "QУH6( A@( = H(DhC$ "QУ83UVңQУH6( A@( = H(DhC$ "QУH6( A@( = H(DhC$ "QУ83UVңQУH6( A@( = H(DhC$ "QУH6( A@( = H(DhC$ "QУ83UVңQУH6( A@( = H(DhC$ j-Q,EGopQ@DP(mQ@DP$ @z Q І$HEG Bqf&j[G BѣG B(mQ@DP$ @z Q І$HEG B(mQ@DP$ @z Q І$HEG Bqf&j[G BѣG B(mQ@DP$ @z Q І$HEG B(mQ@DP$ @z Q І$HEG Bqf&j[G BѣG B(mQ@DP$ @z Q І$HEG B(mQ@DP$ @z Q І$HEG B̨AgfjWQ@DPQ(G B(mQ@DP$ @z Q TE s= H( = H(DhC$ "QУG Bqf& = H(]gf qf&v|$HEІ$HEG B(mQ@DP$ @z Q І$HEG B(mQ@DP$ @~Pο,DH66N|tfPAЉDP*VmdfDQD1?w;H(Dhc\Vf(4#Q &2?gL(4#Q &ws=?iDH66Qܙ~V{B3B(mla*JbL(4#Q &kEЌDP$ @(o2DH66Qܺy5H(33YeU۪M7};H(M&-HDH6&$B3B(m2w74'QD@(}n&~'PAЉDPDa_>~8YW8Ʋl;f2<'Ob~vfo{%/[pk)N ( A@(yh|(]ϻWrAz]G籵m$ H(J(bopw=T~wr)H%Ow?i}]EBck?q~$H%Ow߱ߤ=i}-u\Dk)zzD B WҔ䯋Sv.= =envI Q > stream xXK6WߔC@EOmSH.%d֦^I$3| wVBNuzwmSɇCP(aG}aoZ }kq_s4J0^MhҰw Q_`fC:;hY^y-a?dZp`FC.J⬮˖pmBɠkx`q̬JhLI%M y[}N4< KkHƢq[:)fa3 <ֹ.:QWr?UR" 3FSɏ|24"!pw]SS,z2k/v0̳,2CcuZX Pqcc{TX7 D??SDUcF!vw1tAft>~d#r>Cp7;4'Mp<ywF' 5׵ a.e5EVH &B42L[gup5 2j@z}ݽzbY[Rm՗%ر&}J-%འ] [T! u9Z|Ab07jQI))IOT6jӖzYʕ*91K.Ti e9;ٗ4SΧi,z3_P1MnuEj7Ƿ]T%.dHIl>2C[ ;3wY 0 ϫpwi'^_ۗ1 E|4G:=3p7W=-h՜ izDQN8䵟 Ø"j lZ3: TguDˑTvFK[}. mm&5;2Wsќ Y0=Sӈ4nogLuJw-;r=~6n?aU endstream endobj 23 0 obj 1520 endobj 24 0 obj <> stream xOAƟLzVNB,xfBO?< UbE@$m#~P4'mi_wvuk[fg{gޝ٣)ӌ6k.ZM.cu3䔷d,d8NL|N2JvwizҙL&MeR;}ccW#ȍ1d٦Xxb$t6w#qЕ~p}k҇!#.st-d_ sBw;nncF\ e8uxabHbRn6uAǵ*[SniVw00fL"s`[ZӊJOx%k| x,3W8rR(ecK859`yV̡WKsTVxכ.xY>D V:IJEylY`X>9|Yҏ:Rsk @yFg7i@ܿAo1j,܌D"p4t0v@GQ=F(lood2-h8M#{OȺhx;&pZz}kI:~ہ>ZO# endstream endobj 32 0 obj 651 endobj 33 0 obj <> stream xt~8X//g2`**U!Vnl꿰ʾBߟA!BM,'c)ʺ?(R1ow Ɂ~ endstream endobj 34 0 obj 118 endobj 36 0 obj <> stream xoG:NUSCr`4q(Q"Q F`Kvg7Ź$R/=CRZR\8%*7DU/WHBz=v"cyΛc t ae~!bH4,bKUZy2ǰoW?˯SU8ٻ &쑪Ii[24ߢKKs {tB'tþFYFQ%чtbVSȨE``ݠMNo(]~}Qj]e;7uc>9{s}Nf;+u|S 穹l`tlAW2ҋB Ϩ0yH~QUph4ztN==fs̱ ?՜_܁349 BӲfFhM3 mh6}\D_sCfNgfz曡5CϺ5sc} ʰ t'E͌XQ3a75sN`[5se?i6yacgS͌G3n>ـ?94k֘K F e/R-Y1dڞ\{qD{%Ł v Z ۑYu-!q(vPG2҉/X:N2lvhU%^űꪴ#ZCT1Jh{k"jSۢhHh1") oZ^7V%U\[ DBR*Mߗ}gPMH;9AӠ%IY < D\<]Aܢq\*>5DVth 28dbQ|%xa5!{8IۯrD{ / endstream endobj 37 0 obj 863 endobj 38 0 obj <> endobj 39 0 obj <> stream x]AO 96&f&=?´؁L)VM<@x7kQ13.qe0H|pPewMJ oKƹ16ү-78=8Y;{@ޯ~Mg j[8=O6=u.;"_mKd USU-4[? }Xd-ISSNc2K2{?'ŴSe}~my endstream endobj 40 0 obj <> endobj 41 0 obj <> stream x| \Te33g  " ^JcA0ah솖RF]սn[Yڻk y Jm[|y9w9F䬬s5W !m1j^T7̯[8 ! VEMK@߈P\vU G> GR8\S״Dh+_tvpokICpPzWm< q5xMѪ+- )8P0|"=/N&dw cb'$I:,yxJju#F3v7wfL7iiE7MG~p&@Gڃ]pV o+m>5Õ7Qv }%{x )Cqsda;҈< | 口Q?W^Aʅ]"or6.FCE$'&!9NOa7 Dˁ;n9WWx;~;W!sv|:V22߆#$ k@=5$Åseh!5q .@m}r3|qn~2ڤJTM0V:FKwYNgx̃ߤbAޡh3ijŏ|k}֍aP#J[(T WJ_ϧ7Gsxve>rWBb; `te^KYwoSsoyd5x$ەKMqD9')h-'t.vR̗9-^92:j,gE# pΩk*8kshy祓0j K BygN!h%< Ff:"ػ-v!Z%sF9˂,p"v.(s $QL$htrHB4#eW:NB;Np(p) c/%;V'#QSFB8n%ZcֽV}ڍQ38sAi֘ gkV>kSW]xXiK9aۭOvN:\[*)T~,Q} ?CĄu&F w:]_iQŤqLEI[HV~\6$bAE .v~{O::&<;ǵc+;۞@vS^-,|Q=N]S+U Lq GkW\nnf|аd?(h7:p&Ym\[t3|ځQmQbP/3`+;:<+۟y߽"]>]ٳG룫`KZz4K: #֡ES997ieqr>Å4gȆȶ_D^ƣx<71>\H֤jSuɒy8<9ј3)8)V- _\_ܪ\TIcMMٯ=bޡx4&(ܲvtʓXmK@-]Է?OJjuNbWڮ+n* -x Gdg8CzZ!@@ X4ۙ tH8 "e~8Zت5G ҆1 3uv3u .0myu ցn ;52&{^9ؼiw:xp|eϐ /㞛m{eg:n㏼D:by#kAVÁ ţh}΄C:C ( G=78v?noXaKvP&ŤŎOtF:N-,*.ccDZN^&Ķ QAQrELCTCt2jeJye̠9 ' (gz&{gWy>1g\S[*_?'SzZJIٓ74]ԃvdCwX#%,+quA;(z`F2%:?yS9&(%YҳtS])L7)lXO: 5Dlkú"B0I$J/|tQrzfD+ QD& z -6J`&HO>>١(\xwϺvwN~ӧ||BЗ_rl}x̼=Tn)D`aadPUUcmvȧ8d8,EXqpj1즩vpɃ{ 8|x;ӧBfLX.TNʇA2фa;;#b7nh)s$u4FDx]wg=,;1\ܳgb|ߘ-7L8v]o~!Rasb*g$6#"Ę^&`J d9=]< (gNW١z4MFP-ZD`< %ad$.E"c9xYǐ =QIDJr=sOJx7t%4iGa\A$(CvR(@==_NNf\r:9ڄUԦFEcvs0!꤀o&f3**d3)ҽs1}*u6`6jS1]9D8m,өvo(!8򸻶=({XbPW8G6ūU)`"C-wSV 뀆Ah0D(MzoC,oDDEcx<LTO;C_;~$HQњ=öm(滶 (sP ?0O`w7ٷelӪ<|Z ߰~ǎV~363tm9c/(O &턘Dq p?0m/Ña&14DztUgPƩS M4', 0a/Dрf={EiOK9|.'?az2Ne>8HDƵ,E?ii3l/bc!VAb0C*uQt玓Qᨨ/ k@,/aGi!'Y+x?v߭aAң82/[n)_Ō9L/fHD|QL ă6tAfWٳ3n|r\lѴh[t-R~bj1XZmmB9g}g})/Ͼs6K3,^v<8Hh3yZz頕?AlMB}Ɵd[-_zs%|em/aOl/ ŏN{rNk<36?6lL؆q_tAڗMtKBk^!M$*?tUDكs^h~-n'Y;S[ Xw(/vXIКȊkIz/Ltq/A.~9+T<;(`aŋreT/||:a [w؄oPt6: I_jI YZulDu:%5$\khC(8ub,ҾJbqDw^ɗDEHC d}an4V?֠sC!AT!QC䤘kFDI11 %a$DԤI$$L7-B n볙haߎ6`ܩ( p =87Vc3g{ )+sǘ>aہW23g88<Nj>G̺[B6iA}[a c^=}p\/q%qj7PC[ԭ4iNX &u B#ɖ'*T[ ޳ ,rȵWjȵ ꍢއEf-|eg"Y1'D$b+BbGЫ(P!Q(ڠM!* gi}_pLp˹n-iB:c0'K"IDx çiP'|0YtjQ9EfjTkI-?_+ͨ /'fa~V܌6-VE-<%kh?^7\< K|Ewyrk/R@A8 *@,a4㻜4ZNgEfɪ2fd6Z TdK9F΂:Ib2$H̛US۵Lziɹ¢ /w@(9$J#`)h13RTh--W0$Dޤ7`g-Bd a0s" QHe!I;D/ 6$e(V&Ƨ ,S9͚9w Nѩqjst$c)촖tR tMvn4]?04\l\Tk5WXk7;ukk LZgLϘۭ?~hbun3!Jǘ{XXPU^βזP?]Mu~mxxcD-Wq=rwҾ y7 A Amc1M~ >q㉤ D %أubMՂYNU WP--3f+UE]rU ϊ;UfNP~w^y{nW !ѝ/o\yӏ[w-n._g(pb1n3B`iC[La N;͚zmmם6_|:MP{"`3j[уPpM=vtgWw?\v=e,~`fNc8TD\ ; |-Oxײ^9˻rxCQ#W.tG;uRGG~䙷$P_7`P2[l}DŽ!*3Yv|ӏ:_=P$[sUf`CSTUtt%=+fV?ef@Ve wj'&D'9Q 3;6ug؃Vʝxѕ+W1ff&A#Dmici]z_)٩;Ы@ÑΤ9ɦ| =$;z:i:?C3Se"Mt70ߢ_Wڅy w()\rtjOyv#*6\'${G9%cGtM%Q;\^MYz={='aF=b!A9lpN @52̨x) # PBXP<& TALB資,jm_ia8\ ;R2iL x<_4&}ѳgge^Xkk;><{fjV߷}G̹ͪϛp8k; 6f:ƍ`w! deENgjڨCli4@6*7K?=\f8AMA;'c}GޣʇgʧʇfH.oVN+Cee1h3W#Ls%-=N'UtWV/4c)Fmhb`ǁDG9јf'98&HJ4&AL[Y*!XOp8$л45Kzn!aQ&ЄĐ8rWej}-O P0ܢ}'xס$-X d.G g+|>9Fx!(mH ŧ4C8 ]Kݶ|.RqPx%E>/ٳe6q$ՙ>@tO:gӞxvӣ&LA!aâۆ |47!mPzqoRs^,oOt-|{w# ? {Mc[4[Sg..L-_8IPk_0>sm!<|\.smH~|B Kܾ{-Ō{d3t5W<]+ST:V\Gp'˧)+MOg;;?|ūvV+?}m_ jfq_be޶y-WB"0qK@h q fȡ$S`Qŏx/LLU xVx\8RR`RjkzdFzNL4넗aEXk@yV:e]"VZam/E_4O-`olm!?ߔs}D3Vˁm7W$mw 49 6x[ioa=s͎hx-}Ԝcn[߹L߀'ukg7>`H4LJik-am{ekC5;B"aAQnX]!{Nha `Ƞt5<e6OB{ڒg&_ƒsߨ}֟On|f,.m'0u *|~;nF˟W.8!E"K<&tZP; ҾǷkA?b冗z Fry\9tfd(T,҇S$Nu_ͷ) h6afhI'JmI$: a\[POF\(eư)c ~Cmڬ VsZJԌv/rd,>DlĞu^ ШD5z&4#jS|״mn}phLYeoC >gV 9s"AӪ/d5OtBzXN56G&W@Bs+,JR>/IN&&aT,sBk -:a!A0wX6)p:"zAup08Ṗ p]07MD b&^, Yd$?ReH3qIs|މD4Z}9W(%bmLDU- n~@\׹ S3jKd BX&4-Zt˥Euzai ڂ GZgf. vggŧ5hw3{̿$t^5uroc{RV>=٧/d^n#J|V;E#/" ӝ_Z$nr `:*.mj{NL]c`E  4KW?niVkEIDfK4:"sr2wCM{2!ܥ.2KQsXfڎ8h3(tNoiuztFQ{N18=Vvt$Potw;A6^ʃ `EAꁏWÕaqꁏ{U\|?^m"_n~r/sFxdas`\U8'r9= 40^ Z, G`A ˸l20 5|R\)sKb6d+Wtˉҝ"Hw wsS҉P,ҜN6h4@sx z/[:8˸m:6k?Ʊ~]Q11be/_ϿdKT, :iE:MCIth qYcg8>Mr{>7\{C{o .b%ֲqzcLN=^\sVZe#(4uJdE]gRZ,@^ѻf?rI؄ޥEp߆rY5nm#Eh9B *nH"}u]q)~6tġQ0k0]k|*%J" f½}0f3`}=\֕?yh@oh=OI+k+S u?nYC`nݫU3^H4jN݅ʅzϧh;|_9O,Z:pq)\;F/sj[q:Xl5?L;FQ[]W"qRP-7`jjB(VhdvKK̻,5eV:zaj BAGcsCrtT9ts|\27=ȠA ,ⳌrH8VԒxPGja^yז6O2}m*@jVP_0񵍶GMhDv_ۂA򵭈=yQksHH \Oyh(ֱ֣1}mc' Ռ-(x_ۊciXX;IR$e9MަF.YίL.Kh/\RkC\x98ѽU,Wָ绽- VU:WmOޛp,w7zk=rzJu՞zX ijjZ5x=͍jO|wJ)u4P.zxny{gqR-(N'-\Pk P…Ըft >뮒|*1TI^BLmTI.y!+ []1zDM3~KA )Qs弢2(lFvI_*O̝(fyl<#lr2zd͒Y‰rRDΟV\ 'L_8I΁qEerA2 M[J'[2a2fJ aN DΖK'L/.a¼X%wZ.0M(*U?irY2 *RYIi%SeX.YsrN~YiYIn4ڗJgRaѴ\)hzB9'X)UiV&dOK'fO˞D/BC&d$˥Źi_;ك$  Ksodi\0 &0.rvI~)H^IKY,`:ȓ*G/vu@/:~}rTm[ ,3Y'ՃX%,ѭoæqzY놝H U4x% &ka {u-`" bk! ϡ$fX C76A0]pvonmSJ_pPot{`]^46ҽQR[X:_e?Thɫ$G$+I_o$~($ԏ\7АI2I?(d|II22IB&LRYv)E I}t$ё}Бё}5~ |>?|o>>>4MN8|c*uqA44U34yPZQ-jPTyCF9Ч yۈȅP2\G?Zh!|dT;1wŪ#{W-ZժޔV05CJbHYwB?{`uw5ld-k`t71}R 4謋|Ps?:n$ Ļ3v5KhHC~xX}<jeuLַ5hB9+fձT}|gӻ-u5T{Nfty+x`&P%-lbT\mOCuv Jjn毪XI,[Ŏ^FW%qTֱY|ICzi[Jدjt>+ k`J6OM㠉_Ԏ"_Cl*Fq1;|Թ`F }:E}6C&7xJc@8bK,65U^}z.'t_ǎ}袉Dtt8J'oKeԷSW3|icR*ӪZuŌL娊QJU Uu% u1Qm׿]TJ>,t)dq_ͥ^48bqo^oEsnƅŌ*6>v0GHpϿX3W/{hmN$FK}urwfi@Oa^fGF7(vW=P^IU \zY}$bF߈360~iLUIQy>iսr:E:EpVf,a 8D:%ݡc7΀6Mgsso:,B9= a.:6dkl@Yjs} pe:$DQ^!*cCQZTJzߪg+)g%0dl;GOf }t+aSљvFNc1+ef<2K.@ՄJ8ڴ$ITHU^*eE>-v,)>YtP\//+eL70^Lb3P%&錿l&"BGHYkq%ZEF)Vf)l:&1r XRc.「c>uOꜪݫ6Q Ga\Me3i Uپd֧Bv 拹W6ui1|zŀ>,ꥬ|~mb:Gai47̫Ʈ\*Y܁X(<_U5[R\' acQoPc*U E%=d1۷7j'~y]޵{Q\*t1@W ͯߡk2߫,f&25ˮʆku ?/!@72}7rZ&a'S|6"^'*Vw6]]U2@y]Sb_W~R=HWyAҀ _\U=? *UX[]I$R@]$a}u%il?$ XW_SW^+I+=u!J}ֿuW\Ei% . \To *lZ42IU&*S_2I$˪L?PeiU&ɀYF*lIU;ڑ?v$o[;G֯QHߡX!+>\}PQif~'4Hlz=޹Jer*R~mk7sf\V:\V%;[<*fWR!?/&ߛɅxŝ 9y3DtB>C吳 ,|zTt39ϔO>N>D>N%) 0N~V6K 5t r$ rbyW U8B~+g 9;%S(^:yW!o oE7IBP yM!GB^Q 9rJ*ŗx`Kŕ 8NdB^L)y+9"?1g" ē=64%[!O)dB yqD:yD"mХm3١ y@=*l"lDRȖFaB6I+ jL|$<8<`"_"pB4G%rJ~=¦9d'ܭwrW ؼ3lX6z=YU dX! rRJ(yG+V?RȊ*!,'T!KLd,HB.%xv4(ģz,!*d5GXPJjṘjRJSk Dܤ 5Sf]"3%2#8TN2VC[ANn$ܨb=)RH4PiRpgB[)A$?([d#$w3 pa%ɞJ  762nQb&cdB2z]}iFL0B2dD0BBӓTf$z2\'XpIN'Æ ê$04$ȐxaH6I' z!LdBk&1gU$HD#~P8 UȠ* QH0 %t) Zse1WB`6B$ )D ݴ ؉XExɃ8\% N \n<w?Yc endstream endobj 42 0 obj 15742 endobj 43 0 obj <> endobj 44 0 obj <> stream x]͎0=Or} HQ)>'Ejf/Htké440׮o>&pش9s$[ƞ9OuXr1Oe)ɾNm؟8 il6i6#F7#%E endstream endobj 45 0 obj <> endobj 46 0 obj <> stream x} \Te" PMS!fHMݶjԵ[f~]5+tM֦FEp?{vv?9=y</KJDӿ!t!R/G?hW^ۼNjf"ď96Ƀ<7 F(GA/dshO0Wvgsq~)C1ÅK@t6qp.¹1<ބ S.N/p:ª"v[ u2G&At >>C>5)np >@~aqdp hZs)M6>GNs9B+;a*78dϧ3Sx`GhU‰X7 ѡÍH3,dRQ֗l!/cz 1p[N 9z0џ? ~ܺϋnNmqh982HĽ4QY '̚5@6ىA=m=._q6_K[9s{|\ \ݯںu2n"OO4ŕ#}䖐# 1vNg7\d0`rt*_8GOq(&1^w)!gM+_3@ txvIeݏ[o+wfY8q .omT/]RpԆ F&Z[T!eltOlh+fk6g>ߧ5&PR.;y3ԅ`aEQoy!$=/{ʧ}ȝ:)QDZdrV0{Nӌ\ dy I AXi^&R$$hGZVmxIP득L%p@Q51=$@Jb 4p<6`5C!!,wOV럸iߕYMcpD-hrG۸A/I]O3׹\[tHG}5'qZ=hbVMCIE8z<("hCIG2b+@u_rvrN.{kϸV1rdk(ra6E=6~ssDG%K5柵L9geg;ӥ9bE bqxNB7~22iYz_orl6%444=H#GGи!HL%`9 ҿ;?Y n;ֽKؼNc’ S"2y3ˋ 2~y'kYN/"BqAbNCO\O0|uq'b^yyGǯp^H!ɽ!3I"yEZ_W+#tqX+@+ _K">qN]at%c/LM!su:R 5F?Zo[:NOuw7uM'u_C/ᗸ״/Bo7toөoI ]yKq)]xQl ur9tnEp+evAK#`Gr@uF{Wr}0!B2nܣ5A&-Y$a)zNk{\>-)ʒt[,N5rK3>744~n"MPSy|P%SJ2V%%ifO9jzd82H=JYX)'K;5a_tIK,O ay tᶀ?򤢧7ʓ0( WIy M͊XEp٬^ "8tNa"5E \JGgILASr!<7/;H^5Ӿ̒/2دPAlO]PhNR5|r #ف%⟣ՠ4QScq'`Ca VJ@\qk,x=um&QHυ[ lj֓NRw|kc'@2 e4]I"WvVkֶRqܡ_(]Q5n)C^~s1yy3v4~JA| ;2xk-!y8iYn1fe} K#OLlBũ" #ȈD""'B~D~^fz+W\BA߼G-؈Sn=c803 a;߸'brE wObbrMX.%(Ns!5 w׋Ovk'bw'mlH  C֨psHxHπS-QJ3v5?ZFA052P^9pnN-m~ﺵЂ&EϯGN'N=fQum*f/%?~K-~z,Gb<<Ss(;H"_hϷt[cQxut䏨?Ֆ-NUUO=p=UQ]6pm/ ALĄ191hc5:fvAv:5@«F'1u>;]xS}= =kȞRyl),X֪}5# d_\dUR8 ʨޔPWhPl޳_#bCyȪsΈ~IFkuZn4tA8HhQ;E-D: ^Gf/@dVRf<D{-fz΢]9vq7sB:nvXy^qVV+].F<;8EL՗B-Woݥ_(POix7Hfɻ.Ȼ{SG0>>,n1 2pHE0 o : je\F˃Vik)MF5DcO\S[o ZdǠNvބ> !Lf83N}HS} _^ILΩ;V H#ZOwh,[ tvshd'tņ`R씏Y8}$t_N{_ɫٝ j](kQM̚}"EZ`2Y a렁:jfg2!h&Ԯq"+sm$MNoM{}SܢK{+Sǩ?`sc ߏ[i]*.Hf';h$i(Xt,ȂȁQ:ְ<N; Á\@{ymܺZzۺڽ&qڴ!$".:5.x953up6Kv"Y:!/m.;Aُ& Fd;[1lxV(Bbm|1΀ 8чh58VB!蓆>0#'tiQZXb1^Z'׎a`0PmD,z+q%I&觐B})" zEF?ZK֒5[[vB:L9?O>:O$7Pa x(1ÔgrEh%SFR65tŇ5ssv0w?;,NМ֝?Bs|{_]ԌN)SdzYnK/./۸\yWkUp:uG(k\oZgݝ9vӨ" 'w`jECso@!P#w-;Iw>^|î݇7;ȟV9|sG/u^>?,ߞqY/\nL;rO^~c4aGZp5q?ۺg\cV_a :(D4[IAif/<h+wB#ÁOu#B-C>S(F 4_DH)j(.u /{5#HF{ _ C VQ8!X_|E~Z )Lx svS=)K9Zi;x,Eɔ.8݃V݃zs.<&u\GˡZoEvVӺH2UG;*KzIPbpaQgxȔhj6-3434͖Xڭm4Dr(|9b\Tb`G^9m}ݠ9&aC)-@ ڦ?mQۦUmѨԶB?P6ćv"z6FvImsHg רm Զ"m W:h߯ hMmr m3?]m[Qjۆt_mnk_X痆TH#6iroS4)A*|RiYIX:.-w/n\mZ(Mv]eag{vT]nZIT$5V5WK5Fw}S`N7P* >6Ii#1:4FQDAx*OwIJ5H65foS#նxba ž݁⁽TȂe1sJ6 U~X=-U"y|66t:_Ё˞&p/$1Hn[]oukS|j@HC(D@*S&-oMkZoA*b_m2Ft)9RR-2եJLH>f*mM͔~QahI( j[[`C[X|TZS=Zo(%TSOr.0 -b*Ab)T*}I:wCXQhmh-ɖm͞Z7l kk멢zF:j"ҍjH*yx@<-loKOJDw`@LfX)TD (O{{`^Phȴ! >iu}]#6ը*2 J>p`LlTHnzfw@aW͔VEOC-EjZ_\T._S'I%ų rrĜ2xOL+(V<\9Es|)h4(7UʛSRWV&J3K 򠯠hJ܂dXWT\.,(l W:eL.(,(*L@TʑJrJ *)Jf\[TP_ "ДⒹS¢rLKsrfHX1\*)i%fer ey93\ʝE3YE9E< %gra20`f33g*%' .WWS*M) cAiޔr6x(dN).*˻vtu@@0cNyqiy/*J9eT"ŀ.gq>ӀYO*"_*#wv,Z%07/Q4C7+jOj܊kdnTLk'*< WcM8ةxǩeN",QWmԙ,1K#ѫy*jElJw,ϠaRKHVmE=[cQ Q@ws -_3R= mi0e &U_ZȀx"Dti(;N_7~ Qo}q- 8Hu /pf ,w@$gJ"Y$*b%{ľXI/.xXI+op spW$%,oC&+}I^C&Q o2Lҷ C&雄LbyӋ)9ӾUt$Q]#1I%:#[EGё]# 7H :F#` b<Ҿrz 755nBT:GQ <3Q\#U3$4-ȃܨBojiA pIy5^3ů]aŰ"X)nXv̅"X7Œjf1y%04F`N[Yc o?6@ [AB]|W.OZiըvEznhsJ]Av|V;hjY# 3\(e% ^#g :6QZviR]c>2LMl}jk^Wu^7pZTaS5GP@g++a^b$2ѵ5cxUJȬ4AjՠZҐ^vU̬vf0 Lת`F=į!UjAQx@:~3/ -R05H:Z >Xz:R{LgDb{P`׫\/:9^3%_k52ݤR ڱI9fT3xʜjx5 zq:Uc RUy7uWbtZu37Ȁ\~zxT?aTvZ¨a8{|c61H)|b µU,8A73>7 rzGsGRꘇӧat5= |w ; ܃5W ڪO%,F G?f7}*1P(uˤާ}8tyU`a5"RjttO@_uI _=_WI?p=HZ|uN}̯WA"Ju%וJ}7JbWWJu>~$oZWYW곷uW.)IUDԿ4pu㇩._])U&ؕ_eLeU\2$`U&TYId< P3lnW;v$^Q;m#񪵣пv$~W֎'ʕ[T|4gGN+soW*>_Uw>*4+P_AdзtƗpaQS_4տH}3\][#D6 .xKBpOT<&Xb,a'h,{ {4bHv`pv0dvFv[-q {mM؈>3ÈFl!3,GG]G{ֳ:v"# 9X؝gc=ݑrr"ˤT[&_.|T]L. 2gg2oɧL>Od)NDL7p/229#e'| erZ&")WCލ$lީ!o"o9^w "3L}8yUx3oy@~3~E^;ɉ‰$raB߆c!( ##>+ɫT>K^]ɿSx_vұ*tXL sύ#~-$>h~M>kȳ³rH͞2yN !%2'(N8w=EŐؽ<*G_dLNR$;dvLv l%[xl"ƒd eM/%XoZ6UM.~L6vlid=,\DuH{g#{VI~.2[&?]2S&wNS&d'?*"+DrLdLv[HL,),❤#v u&4{So*i"](E2I]Q$ eRI<5IHj\|u(TIHܕvTbPi'7dL*d2d1<\oǐ2Elxw]-Y2)'ea(\ F(ل(Rd#3I0NfL 30F dZ&L0Er\ b&s.0s5"d20B1Lp2Dאq2#ce2&ΊF;I֨0!+dG&aTiF.>HFdF$g$FJwTSHGՐ5$E&C$9&$ǓqƓAIaI$"E,$Ka!x%9I%T"Oϸ1BrF 2p-ء$a5$FBdbwL5b Pb9̛ļ73H3J^4eV&A42D"x*Ne OVa;>ߍ/s~Q endstream endobj 47 0 obj 13084 endobj 48 0 obj <> endobj 49 0 obj <> stream x]ͮ0<+{)%EԴ@I@Y3R>xy`;Ò~ Sw c}zΛcbCW9IqLM~Kxm?$zj^~4x}z/bM/Χv|^}|<,׸_sFRz·vdeugE%K 1jc4 [G;r\0K+f7\ʕ\ܑ5W |P#o3fv`c_b_K -LΖL ݋֧>/4O\}`8?ZYg^3jfGMN_/]pF;;_3k=t蟣?%_Ggtwxn?u=Bé3Fw~i*=4 endstream endobj 50 0 obj <> endobj 51 0 obj <> endobj 52 0 obj <> /ProcSet[/PDF/Text/ImageC/ImageI/ImageB] >> endobj 1 0 obj <>/Contents 2 0 R>> endobj 7 0 obj <>/Contents 8 0 R>> endobj 10 0 obj <>/Contents 11 0 R>> endobj 13 0 obj <>/Contents 14 0 R>> endobj 16 0 obj <>/Contents 17 0 R>> endobj 21 0 obj <>/Contents 22 0 R>> endobj 53 0 obj <> endobj 54 0 obj < /Dest[13 0 R/XYZ 95.3 773.3 0]/Parent 53 0 R/Next 59 0 R>> endobj 55 0 obj < /Dest[13 0 R/XYZ 131 736.5 0]/Parent 54 0 R/Next 56 0 R>> endobj 56 0 obj < /Dest[13 0 R/XYZ 131 652.2 0]/Parent 54 0 R/Prev 55 0 R/Next 57 0 R>> endobj 57 0 obj < /Dest[13 0 R/XYZ 131 401.4 0]/Parent 54 0 R/Prev 56 0 R/Next 58 0 R>> endobj 58 0 obj < /Dest[13 0 R/XYZ 131 253.1 0]/Parent 54 0 R/Prev 57 0 R>> endobj 59 0 obj < /Dest[16 0 R/XYZ 95.3 760.5 0]/Parent 53 0 R/Prev 54 0 R/Next 60 0 R>> endobj 60 0 obj < /Dest[21 0 R/XYZ 95.3 760.5 0]/Parent 53 0 R/Prev 59 0 R/Next 66 0 R>> endobj 61 0 obj < /Dest[21 0 R/XYZ 131 723.7 0]/Parent 60 0 R/Next 62 0 R>> endobj 62 0 obj < /Dest[21 0 R/XYZ 131 632.9 0]/Parent 60 0 R/Prev 61 0 R/Next 63 0 R>> endobj 63 0 obj < /Dest[21 0 R/XYZ 131 523 0]/Parent 60 0 R/Prev 62 0 R/Next 64 0 R>> endobj 64 0 obj < /Dest[21 0 R/XYZ 131 489.8 0]/Parent 60 0 R/Prev 63 0 R/Next 65 0 R>> endobj 65 0 obj < /Dest[21 0 R/XYZ 131 456.7 0]/Parent 60 0 R/Prev 64 0 R>> endobj 66 0 obj < /Dest[21 0 R/XYZ 95.3 410.7 0]/Parent 53 0 R/Prev 60 0 R/Next 69 0 R>> endobj 67 0 obj < /Dest[21 0 R/XYZ 131 373.9 0]/Parent 66 0 R/Next 68 0 R>> endobj 68 0 obj < /Dest[21 0 R/XYZ 131 340.8 0]/Parent 66 0 R/Prev 67 0 R>> endobj 69 0 obj < /Dest[21 0 R/XYZ 95.3 294.8 0]/Parent 53 0 R/Prev 66 0 R/Next 70 0 R>> endobj 70 0 obj < /Dest[21 0 R/XYZ 95.3 245.2 0]/Parent 53 0 R/Prev 69 0 R>> endobj 35 0 obj <> endobj 25 0 obj <> >> endobj 26 0 obj <> >> endobj 27 0 obj <> >> endobj 28 0 obj <> >> endobj 29 0 obj <> >> endobj 30 0 obj <> >> endobj 31 0 obj <> >> endobj 71 0 obj <> /Outlines 53 0 R /Lang(fr-FR) >> endobj 72 0 obj < /Author /Creator /Producer /CreationDate(D:20091124171644+01'00')>> endobj xref 0 73 0000000000 65535 f 0000089834 00000 n 0000000019 00000 n 0000000514 00000 n 0000000534 00000 n 0000010939 00000 n 0000012455 00000 n 0000089978 00000 n 0000012476 00000 n 0000014592 00000 n 0000090161 00000 n 0000014613 00000 n 0000016040 00000 n 0000090307 00000 n 0000016062 00000 n 0000019263 00000 n 0000090485 00000 n 0000019285 00000 n 0000020555 00000 n 0000020577 00000 n 0000053753 00000 n 0000090631 00000 n 0000053776 00000 n 0000055369 00000 n 0000055391 00000 n 0000094672 00000 n 0000094846 00000 n 0000095002 00000 n 0000095161 00000 n 0000095321 00000 n 0000095462 00000 n 0000095613 00000 n 0000056220 00000 n 0000056241 00000 n 0000056540 00000 n 0000094538 00000 n 0000056561 00000 n 0000057510 00000 n 0000057531 00000 n 0000057721 00000 n 0000058012 00000 n 0000058173 00000 n 0000074002 00000 n 0000074025 00000 n 0000074218 00000 n 0000074852 00000 n 0000075327 00000 n 0000088498 00000 n 0000088521 00000 n 0000088719 00000 n 0000089266 00000 n 0000089658 00000 n 0000089711 00000 n 0000090777 00000 n 0000090834 00000 n 0000091023 00000 n 0000091261 00000 n 0000091491 00000 n 0000091753 00000 n 0000091967 00000 n 0000092254 00000 n 0000092523 00000 n 0000092725 00000 n 0000092939 00000 n 0000093143 00000 n 0000093393 00000 n 0000093595 00000 n 0000093828 00000 n 0000093990 00000 n 0000094184 00000 n 0000094383 00000 n 0000095784 00000 n 0000095944 00000 n trailer < <4963F9E8D5EDA70224BF8673F08CC056> ] /DocChecksum /D276208286561B8CE175A048AC30BC3F >> startxref 96278 %%EOF qelectrotech-0.22+svn897/sources/0000755000175000017500000000000011347002062016555 5ustar laurentlaurentqelectrotech-0.22+svn897/sources/elementdefinition.cpp0000644000175000017500000003274311320140732022772 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementdefinition.h" #include "elementscollection.h" #include "moveelementshandler.h" #include "moveelementsdescription.h" /** @return true si l'element est rattache a une collection d'elements Un element appartenant a une collection a forcement un chemin virtuel. */ bool ElementDefinition::hasParentCategory() { return(parent_category_); } /** @return la categorie a laquelle appartient cet element */ ElementsCategory *ElementDefinition::parentCategory() { return(parent_category_); } /** @return la liste des categories parentes de cet item. */ QList ElementDefinition::parentCategories() { QList cat_list; if (ElementsCategory *par_cat = parentCategory()) { cat_list << par_cat -> parentCategories() << par_cat; } return(cat_list); } /** @return true si l'element est rattache a une collection d'elements Un element appartenant a une collection a forcement un chemin virtuel. */ bool ElementDefinition::hasParentCollection() { return(parent_collection_); } /** @param other_item Autre item @return true si other_item est parent (direct ou indirect) de cet item, false sinon */ bool ElementDefinition::isChildOf(ElementsCollectionItem *other_item) { // soit l'autre item est le parent direct de cet element if (ElementsCategory *other_item_cat = other_item -> toCategory()) { if (other_item_cat == parentCategory()) { return(true); } } // soit il est un parent indirect, auquel cas, on peut demander a la categorie parente de repondre a la question if (ElementsCategory *parent_cat = parentCategory()) { return(parent_cat -> isChildOf(other_item)); } // arrive ici, l'autre item n'est pas parent de cet item return(false); } /** @return la collection d'element a laquelle appartient cet element */ ElementsCollection *ElementDefinition::parentCollection() { return(parent_collection_); } /** @return le projet auquel appartient cette categorie, si celle-ci appartient a une collection. */ QETProject *ElementDefinition::project() { if (hasParentCollection()) { return(parentCollection() -> project()); } return(0); } /** Ne fait rien ; le projet doit etre defini au niveau d'une collection */ void ElementDefinition::setProject(QETProject *) { } /** @return le protocole utilise par la collection a laquelle appartient cet element */ QString ElementDefinition::protocol() { // il n'est pas possible d'avoir un protocole sans appartenir a une collection if (!hasParentCollection()) return(QString()); return(parentCollection() -> protocol()); } /** Ne fait rien */ void ElementDefinition::setProtocol(const QString &) { } /** @return le chemin virtuel complet de cet element (protocole + chemin) */ QString ElementDefinition::fullVirtualPath() { // il n'est pas possible d'avoir un chemin virtuel sans appartenir a une collection if (!hasParentCollection()) return(QString()); return(protocol() + "://" + virtualPath()); } /** @return l'emplacement de l'element */ ElementsLocation ElementDefinition::location() { return(ElementsLocation(fullVirtualPath(), project())); } /** @return une liste vide - un element ne possede pas de categorie */ QList ElementDefinition::categories() { return(QList()); } /** @return toujours 0 - un element ne possede pas de categorie */ ElementsCategory *ElementDefinition::category(const QString &) { return(0); } /** @return toujours 0 - un element ne possede pas de categorie */ ElementsCategory *ElementDefinition::createCategory(const QString &) { return(0); } /** @return une liste contenant seulement cet element */ QList ElementDefinition::elements() { return(QList() << this); } /** @return cet element si path est vide, 0 sinon */ ElementDefinition *ElementDefinition::element(const QString &path) { if (path.isEmpty()) return(this); return(0); } /** @return toujours 0 - un element n'en cree pas d'autre */ ElementDefinition *ElementDefinition::createElement(const QString &) { return(0); } /** @return toujours 0 - un element n'est pas une collection */ ElementsCollection *ElementDefinition::toCollection() { return(0); } /** @return la categorie parente de cet element */ ElementsCategory *ElementDefinition::toCategory() { return(parentCategory()); } /** @return toujours 0 - un element n'est pas une categorie */ ElementsCategory *ElementDefinition::toPureCategory() { return(0); } /** @return un pointeur ElementDefinition * sur cet element */ ElementDefinition *ElementDefinition::toElement() { return(this); } /** @return true si cette definition d'element est egale (en termes de contenu) a la definition d'element other, false sinon. */ bool ElementDefinition::equals(ElementDefinition &other) { /* Pour le moment, cette methode compare simplement l'export au format texte des documents XML. Cela peut entrainer de faux positifs. Exemple : un espace de plus ou de moins dans le XML n'en change pas forcement la semantique. Mais cela changera l'export au format texte. */ QDomDocument this_xml_document; this_xml_document.appendChild(this_xml_document.importNode(xml(), true)); QString this_text = this_xml_document.toString(0); QDomDocument other_xml_document; other_xml_document.appendChild(other_xml_document.importNode(other.xml(), true)); QString other_text = other_xml_document.toString(0); return(other_text == this_text); } /** @param target_category Categorie cible pour la copie ; elle doit exister @param handler Gestionnaire d'erreurs a utiliser pour effectuer la copie @param deep_copy Argument ignore - une copie "recursive" n'a pas de sens pour un element @return La copie de l'element ou 0 si le processus a echoue */ ElementsCollectionItem *ElementDefinition::copy(ElementsCategory *target_category, MoveElementsHandler *handler, bool deep_copy) { Q_UNUSED(deep_copy); if (!target_category) return(0); // echec si le path name de cet element est vide QString elmt_name(pathName()); if (elmt_name.isEmpty()) return(0); // cree une description du mouvement a effectuer MoveElementsDescription mvt_desc; mvt_desc.setDestinationParentCategory(target_category); // on tente une copie avec le meme nom interne mvt_desc.setOriginalDestinationInternalName(pathName()); mvt_desc.setFinalDestinationInternalName(pathName()); mvt_desc.setHandler(handler); copy(&mvt_desc); return(mvt_desc.createdItem()); } /** Methode privee effectuant une copie de cet element a partir d'une description du mouvement. @param mvt_desc Description du mouvement */ void ElementDefinition::copy(MoveElementsDescription *mvt_desc) { // quelques pointeurs pour simplifier l'ecriture de la methode MoveElementsHandler *handler = mvt_desc -> handler(); ElementsCategory *target_category = mvt_desc -> destinationParentCategory(); ElementDefinition *element_copy = 0; // verifie que la categorie parente cible est accessible en lecture if (!target_category -> isReadable()) { if (!handler) { return; } else { do { QET::Action todo = handler -> categoryIsNotReadable(target_category); // on agit en fonction de la reponse du handler if (todo == QET::Abort) { mvt_desc -> abort(); return; } else if (todo == QET::Ignore || todo == QET::Managed) { return; } else if (todo == QET::Retry || todo == QET::Erase) { // reessayer = repasser dans la boucle } else if (todo == QET::Rename) { // cas non gere } } while (!target_category -> isReadable()); } } // verifie que la categorie parente cible est accessible en ecriture if (!target_category -> isWritable()) { if (!handler) { return; } else { do { QET::Action todo = handler -> categoryIsNotWritable(target_category); // on agit en fonction de la reponse du handler if (todo == QET::Abort) { mvt_desc -> abort(); return; } else if (todo == QET::Ignore || todo == QET::Managed) { return; } else if (todo == QET::Retry || todo == QET::Erase) { // reessayer = repasser dans la boucle } else if (todo == QET::Rename) { // cas non gere } } while (!target_category -> isWritable()); } } // verifie que la cible n'existe pas deja if ((element_copy = target_category -> element(mvt_desc -> finalDestinationInternalName()))) { if (!handler) { return; } else { do { // la cible existe deja : on demande au Handler ce qu'on doit faire QET::Action todo = handler -> elementAlreadyExists(this, element_copy); // on agit en fonction de la reponse du handler if (todo == QET::Abort) { mvt_desc -> abort(); return; } else if (todo == QET::Ignore || todo == QET::Managed) { return; } else if (todo == QET::Erase) { break; } else if (todo == QET::Rename) { mvt_desc -> setFinalDestinationInternalName(handler -> nameForRenamingOperation()); } } while ((element_copy = target_category -> element(mvt_desc -> finalDestinationInternalName()))); } } /* A ce stade, on peut creer l'element cible : soit il n'existe pas, soit on a l'autorisation de l'ecraser */ // si la cible existe deja, verifie qu'elle est accessible en ecriture element_copy = target_category -> element(mvt_desc -> finalDestinationInternalName()); if (element_copy && !element_copy -> isWritable()) { if (!handler) { return; } else { do { // la cible n'est pas accessible en ecriture : on demande au Handler ce qu'on doit faire QET::Action todo = handler -> elementIsNotWritable(element_copy); // on agit en fonction de la reponse du handler if (todo == QET::Abort) { mvt_desc -> abort(); return; } else if (todo == QET::Ignore || todo == QET::Managed) { return; } else if (todo == QET::Retry || todo == QET::Erase) { // reessayer = repasser dans la boucle } else if (todo == QET::Rename) { // cas non gere } } while (!element_copy -> isWritable()); } } // cree l'element cible element_copy = target_category -> createElement(mvt_desc -> finalDestinationInternalName()); if (!element_copy) { if (handler) { handler -> errorWithAnElement(this, tr("L'\351l\351ment cible n'a pu \352tre cr\351\351.")); } return; } // recopie la definition de l'element element_copy -> setXml(xml()); element_copy -> write(); mvt_desc -> setCreatedItem(element_copy); } /** @param target_category Categorie cible pour le deplacement ; elle doit exister @param handler Gestionnaire d'erreurs a utiliser pour effectuer le deplacement @return L'element apres deplacement ou 0 si le processus a echoue */ ElementsCollectionItem *ElementDefinition::move(ElementsCategory *target_category, MoveElementsHandler *handler) { if (!target_category) return(0); // echec si le path name de cet element est vide QString elmt_name(pathName()); if (elmt_name.isEmpty()) return(0); // cree une description du mouvement a effectuer MoveElementsDescription mvt_desc; mvt_desc.setDestinationParentCategory(target_category); // on tente un deplacement avec le meme nom interne mvt_desc.setOriginalDestinationInternalName(pathName()); mvt_desc.setFinalDestinationInternalName(pathName()); mvt_desc.setHandler(handler); move(&mvt_desc); return(mvt_desc.createdItem()); } /** Methode privee effectuant un delacement de cet element a partir d'une description du mouvement. Pour etre plus exact, cette methode effectue d'abord une copie de l'element, puis, si celle-ci a reussi, il supprime l'element d'origine. @param mvt_desc Description du mouvement */ void ElementDefinition::move(MoveElementsDescription *mvt_desc) { // effectue une copie de l'element copy(mvt_desc); ElementsCollectionItem *item_copy = mvt_desc -> createdItem(); if (!item_copy) return; ElementDefinition *element_copy = item_copy -> toElement(); if (!element_copy) return; // supprime cet element MoveElementsHandler *handler = mvt_desc -> handler(); // cet element doit etre accessible en ecriture pour etre supprime if (!isWritable()) { if (!handler) { return; } else { do { // on demande au Handler ce qu'on doit faire QET::Action todo = handler -> elementIsNotWritable(this); // on agit en fonction de la reponse du handler if (todo == QET::Abort) { mvt_desc -> abort(); return; } else if (todo == QET::Ignore || todo == QET::Managed) { return; } else if (todo == QET::Retry || todo == QET::Erase) { // reessayer = repasser dans la boucle } else if (todo == QET::Rename) { // cas non gere } } while (!isWritable()); } } // supprime cet element (sinon il ne s'agirait que d'une copie, pas d'un deplacement) bool element_deletion = remove(); mvt_desc -> setSourceItemDeleted(element_deletion); if (!element_deletion && handler) { handler -> errorWithAnElement(this, tr("La suppression de cet \351l\351ment a \351chou\351.")); } } /** Cette methode n'a aucun effet @return toujours true */ bool ElementDefinition::removeContent() { return(true); } qelectrotech-0.22+svn897/sources/conductorpropertieswidget.cpp0000644000175000017500000002562311342325666024627 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "conductorpropertieswidget.h" #include #include "conductor.h" #include "qeticons.h" /** Constructeur @param parent QWidget parent */ ConductorPropertiesWidget::ConductorPropertiesWidget(QWidget *parent) : QWidget(parent) { buildInterface(); } /** Constructeur @param parent QWidget parent @param cp Proprietes a editer */ ConductorPropertiesWidget::ConductorPropertiesWidget(const ConductorProperties &cp, QWidget *parent) : QWidget(parent) { buildInterface(); setConductorProperties(cp); } /// construit l'interface du widget void ConductorPropertiesWidget::buildInterface() { setMinimumSize(380, 350); QVBoxLayout *main_layout = new QVBoxLayout(this); main_layout -> setContentsMargins(0, 0, 0, 0); QGroupBox *groupbox = new QGroupBox(tr("Type de conducteur")); main_layout -> addWidget(groupbox); QVBoxLayout *groupbox_layout = new QVBoxLayout(); groupbox -> setLayout(groupbox_layout); simple = new QRadioButton(tr("Simple")); multiline = new QRadioButton(tr("Multifilaire")); QHBoxLayout *multiline_layout = new QHBoxLayout(); QLabel *text = new QLabel(tr("Texte :")); text_field = new QLineEdit(); multiline_layout -> addWidget(text); multiline_layout -> addWidget(text_field); singleline = new QRadioButton(tr("Unifilaire")); QHBoxLayout *singleline_layout3 = new QHBoxLayout(); phase_checkbox = new QCheckBox(tr("phase")); phase_checkbox -> setIcon(QET::Icons::Phase); phase_slider = new QSlider(Qt::Horizontal); phase_slider -> setRange(1, 3); phase_spinbox = new QSpinBox(); phase_spinbox -> setRange(1, 3); singleline_layout3 -> addWidget(phase_checkbox); singleline_layout3 -> addWidget(phase_slider); singleline_layout3 -> addWidget(phase_spinbox); QVBoxLayout *singleline_layout2 = new QVBoxLayout(); ground_checkbox = new QCheckBox(tr("terre")); ground_checkbox -> setIcon(QET::Icons::Ground); neutral_checkbox = new QCheckBox(tr("neutre")); neutral_checkbox -> setIcon(QET::Icons::Neutral); singleline_layout2 -> addWidget(ground_checkbox); singleline_layout2 -> addWidget(neutral_checkbox); singleline_layout2 -> addLayout(singleline_layout3); QHBoxLayout *singleline_layout1 = new QHBoxLayout(); preview = new QLabel(); preview -> setFixedSize(96, 96); singleline_layout1 -> addWidget(preview); singleline_layout1 -> addLayout(singleline_layout2); QGroupBox *groupbox2 = new QGroupBox(tr("Apparence du conducteur")); main_layout -> addWidget(groupbox2); QVBoxLayout *groupbox2_layout = new QVBoxLayout(); groupbox2 -> setLayout(groupbox2_layout); QHBoxLayout *color_layout = new QHBoxLayout(); QLabel *text1 = new QLabel(tr("Couleur :")); color_button = new QPushButton(""); dashed_checkbox = new QCheckBox(tr("Trait en pointill\351s")); color_layout -> addWidget(text1); color_layout -> addWidget(color_button); setColorButton(properties_.color); dashed_checkbox -> setChecked(properties_.style == Qt::DashLine); groupbox_layout -> addWidget(simple); groupbox_layout -> addWidget(multiline); groupbox_layout -> addLayout(multiline_layout); groupbox_layout -> addWidget(singleline); groupbox_layout -> addLayout(singleline_layout1); groupbox2_layout -> addLayout(color_layout); groupbox2_layout -> addWidget(dashed_checkbox); radio_buttons = new QButtonGroup(this); radio_buttons -> addButton(simple, ConductorProperties::Simple); radio_buttons -> addButton(multiline, ConductorProperties::Multi); radio_buttons -> addButton(singleline, ConductorProperties::Single); buildConnections(); setConductorType(ConductorProperties::Multi); } /// Met en place les connexions signaux/slots void ConductorPropertiesWidget::buildConnections() { connect(phase_slider, SIGNAL(valueChanged(int)), phase_spinbox, SLOT(setValue(int))); connect(phase_spinbox, SIGNAL(valueChanged(int)), phase_slider, SLOT(setValue(int))); connect(ground_checkbox, SIGNAL(toggled(bool)), this, SLOT(updateConfig())); connect(neutral_checkbox, SIGNAL(toggled(bool)), this, SLOT(updateConfig())); connect(phase_checkbox, SIGNAL(toggled(bool)), this, SLOT(updateConfig())); connect(phase_slider, SIGNAL(valueChanged(int)), this, SLOT(updateConfig())); connect(radio_buttons, SIGNAL(buttonClicked(int)), this, SLOT(updateConfig())); connect(text_field, SIGNAL(textChanged(const QString &)), this, SLOT(updateConfig())); connect(dashed_checkbox, SIGNAL(toggled(bool)), this, SLOT(updateConfig())); connect(color_button, SIGNAL(clicked()), this, SLOT(chooseColor())); } /** Demande a l'utilisateur de choisir une couleur via un dialogue approprie. */ void ConductorPropertiesWidget::chooseColor() { QColor user_chosen_color = QColorDialog::getColor(properties_.color); if (user_chosen_color.isValid()) { setColorButton(user_chosen_color); updateConfig(); } } /** @return la couleur actuelle du bouton permettant de choisir la couleur du conducteur */ QColor ConductorPropertiesWidget::colorButton() const { return(color_button -> palette().color(QPalette::Button)); } /** Change la couleur du bouton permettant de choisir la couleur du conducteur @param color Nouvelle couleur a afficher */ void ConductorPropertiesWidget::setColorButton(const QColor &color) { QPalette palette; palette.setColor(QPalette::Button, color); color_button -> setPalette(palette); } /// Enleve les connexions signaux/slots void ConductorPropertiesWidget::destroyConnections() { disconnect(phase_slider, SIGNAL(valueChanged(int)), phase_spinbox, SLOT(setValue(int))); disconnect(phase_spinbox, SIGNAL(valueChanged(int)), phase_slider, SLOT(setValue(int))); disconnect(ground_checkbox, SIGNAL(toggled(bool)), this, SLOT(updateConfig())); disconnect(neutral_checkbox, SIGNAL(toggled(bool)), this, SLOT(updateConfig())); disconnect(phase_checkbox, SIGNAL(toggled(bool)), this, SLOT(updateConfig())); disconnect(phase_slider, SIGNAL(valueChanged(int)), this, SLOT(updateConfig())); disconnect(radio_buttons, SIGNAL(buttonClicked(int)), this, SLOT(updateConfig())); disconnect(text_field, SIGNAL(textChanged(const QString &)), this, SLOT(updateConfig())); disconnect(color_button, SIGNAL(clicked()), this, SLOT(chooseColor())); disconnect(dashed_checkbox, SIGNAL(toggled(bool)), this, SLOT(updateConfig())); } /// Destructeur ConductorPropertiesWidget::~ConductorPropertiesWidget() { } /// Met a jour les proprietes void ConductorPropertiesWidget::updateConfig() { properties_.type = static_cast(radio_buttons -> checkedId()); properties_.color = colorButton(); properties_.style = dashed_checkbox -> isChecked() ? Qt::DashLine : Qt::SolidLine; properties_.text = text_field -> text(); properties_.singleLineProperties.hasGround = ground_checkbox -> isChecked(); properties_.singleLineProperties.hasNeutral = neutral_checkbox -> isChecked(); properties_.singleLineProperties.setPhasesCount(phase_checkbox -> isChecked() ? phase_spinbox -> value() : 0); updateDisplay(); } /// Met a jour l'affichage des proprietes void ConductorPropertiesWidget::updateDisplay() { destroyConnections(); setConductorType(properties_.type); setColorButton(properties_.color); dashed_checkbox -> setChecked(properties_.style == Qt::DashLine); text_field -> setText(properties_.text); ground_checkbox -> setChecked(properties_.singleLineProperties.hasGround); neutral_checkbox -> setChecked(properties_.singleLineProperties.hasNeutral); phase_spinbox -> setValue(properties_.singleLineProperties.phasesCount()); phase_slider -> setValue(properties_.singleLineProperties.phasesCount()); phase_checkbox -> setChecked(properties_.singleLineProperties.phasesCount()); buildConnections(); updatePreview(); } /// Met a jour la previsualisation des attributs unifilaires void ConductorPropertiesWidget::updatePreview() { const QRect pixmap_rect(0, 0, 96, 96); QPixmap pixmap(pixmap_rect.width(), pixmap_rect.height()); QPainter painter; painter.begin(&pixmap); painter.eraseRect(pixmap_rect); painter.drawRect(pixmap_rect.adjusted(0,0,-1,-1)); painter.drawLine(QLineF(0, pixmap_rect.height() / 2, pixmap_rect.width(), pixmap_rect.height() / 2)); properties_.singleLineProperties.draw(&painter, QET::Horizontal, pixmap_rect); painter.end(); preview -> setPixmap(pixmap); } /** Passe le widget en mode simple, unifilaire ou multifilaire @param t le type de conducteur */ void ConductorPropertiesWidget::setConductorType(ConductorProperties::ConductorType t) { // widgets lies au simple simple -> setChecked(t == ConductorProperties::Simple); // widgets lies au mode multifilaire multiline -> setChecked(t == ConductorProperties::Multi); text_field -> setEnabled(t == ConductorProperties::Multi); // widgets lies au mode unifilaire bool sl = (t == ConductorProperties::Single); singleline -> setChecked(sl); preview -> setEnabled(sl); phase_checkbox -> setEnabled(sl); phase_slider -> setEnabled(sl); phase_spinbox -> setEnabled(sl); ground_checkbox -> setEnabled(sl); neutral_checkbox -> setEnabled(sl); } /// @param p les nouvelles proprietes void ConductorPropertiesWidget::setConductorProperties(const ConductorProperties &p) { properties_ = p; updateDisplay(); } /// @return les proprietes editees ConductorProperties ConductorPropertiesWidget::conductorProperties() const { return(properties_); } /** @return true si ce widget est en lecture seule, false sinon */ bool ConductorPropertiesWidget::isReadOnly() const { return(text_field -> isReadOnly()); } /** @param ro true pour passer ce widget en lecture seule, false sinon */ void ConductorPropertiesWidget::setReadOnly(bool ro) { simple -> setDisabled(ro); multiline -> setDisabled(ro); singleline -> setDisabled(ro); text_field -> setReadOnly(ro); phase_checkbox -> setDisabled(ro); phase_spinbox -> setReadOnly(ro); ground_checkbox -> setDisabled(ro); neutral_checkbox -> setDisabled(ro); color_button -> setDisabled(ro); dashed_checkbox -> setDisabled(ro); } qelectrotech-0.22+svn897/sources/qgimanager.cpp0000644000175000017500000000602411320140732021374 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qgimanager.h" /** Constructeur @param sc QGraphicsScene a utiliser pour gerer au mieux les QGraphicsItem */ QGIManager::QGIManager(QGraphicsScene *sc) : scene(sc), destroy_qgi_on_delete(true) { } /** Destructeur Lors de sa destruction, le QGI Manager detruit les QGraphicsItem restants si ceux-ci n'appartiennent pas a la scene ; ce comportement peut etre change avec la methode setDestroyQGIOnDelete @see setDestroyQGIOnDelete */ QGIManager::~QGIManager(){ if (!destroy_qgi_on_delete) return; foreach(QGraphicsItem *qgi, qgi_manager.keys()) { if (!scene -> items().contains(qgi)) delete qgi; } } /** Demande au QGIManager de gerer un QGI @param qgi QGraphicsItem a gerer */ void QGIManager::manage(QGraphicsItem *qgi) { if (qgi_manager.contains(qgi)) ++ qgi_manager[qgi]; else qgi_manager.insert(qgi, 1); } /** Indique au QGIManager qu'une reference vers un QGI a ete detruite S'il n'y a plus de references vers ce QGI et que celui-ci n'est pas present sur la scene de ce QGIManager, alors il sera detruit. @param qgi QGraphicsItem a ne plus gerer */ void QGIManager::release(QGraphicsItem *qgi) { if (!qgi_manager.contains(qgi)) return; -- qgi_manager[qgi]; if (qgi_manager[qgi] <= 0 && !(scene -> items().contains(qgi))) { delete qgi; qgi_manager.remove(qgi); } } /** Demande au QGIManager de gerer plusieurs QGI @param qgis QGraphicsItems a gerer */ void QGIManager::manage(const QList &qgis) { foreach(QGraphicsItem *qgi, qgis) manage(qgi); } /** Indique au QGIManager que pour chaque QGI fourni, une reference vers celui-ci a ete detruite. S'il n'y a plus de references vers un QGI et que celui-ci n'est pas present sur la scene de ce QGIManager, alors il sera detruit. @param qgis QGraphicsItems a ne plus gerer */ void QGIManager::release(const QList &qgis) { foreach(QGraphicsItem *qgi, qgis) release(qgi); } /** Indique au QGIManager de detruire les QGraphicsItem restants lors de sa destruction si ceux-ci n'appartiennent pas a la scene */ void QGIManager::setDestroyQGIOnDelete(bool b) { destroy_qgi_on_delete = b; } /** Permet de savoir si ce QGIManager gere ou non un item donne @param qgi QGraphicsItem dont il faut verifier la presence @return true si l'item est gere, false sinon */ bool QGIManager::manages(QGraphicsItem *qgi) const { return(qgi_manager.contains(qgi)); } qelectrotech-0.22+svn897/sources/elementscategorydeleter.cpp0000644000175000017500000000704011320140732024177 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementscategorydeleter.h" #include "qetapp.h" #include "qetmessagebox.h" /** Constructeur @param category_path Chemin virtuel de la categorie a supprimer @param parent QWidget parent */ ElementsCategoryDeleter::ElementsCategoryDeleter(const ElementsLocation &category_path, QWidget *parent) : QWidget(parent), category(0) { // recupere la categorie a supprimer ElementsCollectionItem *category_item = QETApp::collectionItem(category_path); if (!category_item) return; // on exige une collection ou une categorie if (!category_item -> isCollection() && !category_item -> isCategory()) return; category = category_item; } /// Destructeur ElementsCategoryDeleter::~ElementsCategoryDeleter() { } /** Supprime la categorie et ses elements : verifie l'existence du dossier, demande deux fois confirmation a l'utilisateur et avertit ce dernier si la suppression a echoue. @return true si la suppression a ete effectuee, false sinon */ bool ElementsCategoryDeleter::exec() { // verifie l'existence de la categorie if (!category) return(false); // gere le cas ou la suppression d'une collection est demandee if (category -> isCollection()) { QMessageBox::StandardButton answer_0 = QET::MessageBox::question( this, tr("Vider la collection ?", "message box title"), tr("\312tes-vous s\373r de vouloir vider cette collection ?", "message box content"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel ); if (answer_0 != QMessageBox::Yes) return(false); } /** @todo Regression : rafficher le nom de la categorie supprimee */ // QString cat_name(category -> name().replace("<", "<").replace(">", ">")); // avertissement pour la suppression d'une collection // confirmation #1 QMessageBox::StandardButton answer_1 = QET::MessageBox::question( this, tr("Supprimer la cat\351gorie ?", "message box title"), tr( "\312tes-vous s\373r de vouloir supprimer la cat\351gorie ?\nTous " "les \351l\351ments et les cat\351gories contenus dans cette " "cat\351gorie seront supprim\351s.", "message box content" ), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel ); if (answer_1 != QMessageBox::Yes) return(false); // confirmation #2 QMessageBox::StandardButton answer_2 = QET::MessageBox::question( this, tr("Supprimer la cat\351gorie ?", "message box title"), tr( "\312tes-vous vraiment s\373r de vouloir supprimer cette " "cat\351gorie ?\nLes changements seront d\351finitifs.", "message box content" ), QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel ); if (answer_2 != QMessageBox::Yes) return(false); // supprime la categorie if (!category -> remove()) { QET::MessageBox::warning( this, tr("Suppression de la cat\351gorie", "message box title"), tr("La suppression de la cat\351gorie a \351chou\351.", "message box content") ); return(false); } return(true); } qelectrotech-0.22+svn897/sources/terminal.h0000644000175000017500000000765011320140732020547 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef BORNE_H #define BORNE_H #define TAILLE_BORNE 4 #include #include #include "qet.h" class Conductor; class Diagram; class Element; /** Classe modelisant la "borne" d'un appareil, c'est-a-dire un branchement possible pour un Conducteur. */ class Terminal : public QGraphicsItem { // constructeurs, destructeur public: Terminal(); Terminal(QPointF, QET::Orientation, Element * = 0, Diagram * = 0); Terminal(qreal, qreal, QET::Orientation, Element * = 0, Diagram * = 0); virtual ~Terminal(); private: Terminal(const Terminal &); // methodes public: /** permet de caster un QGraphicsItem en Terminal avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } // implementation des methodes virtuelles pures de QGraphicsItem void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); QRectF boundingRect() const; // methodes de manipulation des conducteurs lies a cette borne bool addConductor(Conductor *); void removeConductor(Conductor *); int nbConductors() const; Diagram *diagram() const; // methodes de lecture QList conductors() const; QET::Orientation orientation() const; QPointF amarrageConductor() const; void updateConductor(QPointF = QPointF()); // methodes relatives a l'import/export au format XML static bool valideXml(QDomElement &); bool fromXml (QDomElement &); QDomElement toXml (QDomDocument &) const; protected: // methodes de gestion des evenements void hoverEnterEvent (QGraphicsSceneHoverEvent *); void hoverMoveEvent (QGraphicsSceneHoverEvent *); void hoverLeaveEvent (QGraphicsSceneHoverEvent *); void mousePressEvent (QGraphicsSceneMouseEvent *); void mouseMoveEvent (QGraphicsSceneMouseEvent *); void mouseReleaseEvent(QGraphicsSceneMouseEvent *); // attributs public: enum { Type = UserType + 1002 }; /// Longueur d'une borne static const qreal terminalSize; // differentes couleurs statiques utilisables pour l'effet "hover" /// couleur par defaut static QColor couleur_neutre; /// couleur indiquant une action autorisee static QColor couleur_autorise; /// couleur indiquant une action autorisee mais pas forcement recommandee static QColor couleur_prudence; /// couleur indiquant une action interdite static QColor couleur_interdit; private: // coordonnees des points d'amarrage QPointF amarrage_conductor; QPointF amarrage_elmt; // orientation de la borne QET::Orientation sens; // liste des conductors lies a cette borne QList liste_conductors; // pointeur vers un rectangle correspondant au bounding rect ; permet de ne calculer le bounding rect qu'une seule fois ; le pointeur c'est parce que le compilo exige une methode const QRectF *br; Terminal *terminal_precedente; bool hovered; // methode initialisant les differents membres de la borne void initialise(QPointF, QET::Orientation); // couleur de l'effet hover de la patte QColor couleur_hovered; }; /** @return Le nombre de conducteurs associes a la borne */ inline int Terminal::nbConductors() const { return(liste_conductors.size()); } /** @return La position du point d'amarrage de la borne */ inline QPointF Terminal::amarrageConductor() const { return(mapToScene(amarrage_conductor)); } #endif qelectrotech-0.22+svn897/sources/ghostelement.cpp0000644000175000017500000001417211320140732021762 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "ghostelement.h" #include "qet.h" #include "terminal.h" #include "elementtextitem.h" /** Constructeur @param location Emplacement de la definition d'element a utiliser @param qgi Le QGraphicsItem parent de cet element @param d Le schema affichant cet element */ GhostElement::GhostElement( const ElementsLocation &location, QGraphicsItem *qgi, Diagram *d ) : CustomElement(location, qgi, d) { QString tooltip_string = QString( tr("\311l\351ment manquant\240: %1") ).arg(location_.toString()); setToolTip(tooltip_string); } /** Destructeur */ GhostElement::~GhostElement() { } /** @param e L'element XML a analyser. @param table_id_adr Reference vers la table de correspondance entre les IDs du fichier XML et les adresses en memoire. Si l'import reussit, il faut y ajouter les bons couples (id, adresse). @return true si l'import a reussi, false sinon */ bool GhostElement::fromXml(QDomElement &e, QHash &table_id_adr) { // instancie les bornes decrites dans l'element XML terminalsFromXml(e, table_id_adr); // instancie les champs de texte decrits dans l'element XML foreach(QDomElement qde, QET::findInDomElement(e, "inputs", "input")) { qde.setAttribute("size", 9); // arbitraire if (ElementTextItem *new_input = CustomElement::parseInput(qde)) { new_input -> fromXml(qde); } qde.removeAttribute("size"); } /* maintenant que l'element fantome connait toutes les bornes et tous les champs de texte, on peut determiner une taille appropriee */ QRect final_bounding_rect = minimalBoundingRect().united(childrenBoundingRect()).toAlignedRect(); setSize(final_bounding_rect.width(), final_bounding_rect.height()); setHotspot(QPoint() - final_bounding_rect.topLeft()); setInternalConnections(true); // on peut desormais confectionner le rendu de l'element generateDrawings(); // position, selection et orientation setPos(e.attribute("x").toDouble(), e.attribute("y").toDouble()); setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); bool conv_ok; int read_ori = e.attribute("orientation").toInt(&conv_ok); if (!conv_ok || read_ori < 0 || read_ori > 3) read_ori = ori.defaultOrientation(); setOrientation((QET::Orientation)read_ori); return(true); } /** @return le bounding rect minimum, utilise si l'element fantome n'a ni champ de texte ni borne. */ QRectF GhostElement::minimalBoundingRect() const { return( QRectF( QPointF(-10.0, -10.0), QSizeF(20.0, 20.0) ) ); } /** Gere l'import des bornes @param e L'element XML a analyser. @param table_id_adr Reference vers la table de correspondance entre les IDs du fichier XML et les adresses en memoire. Si l'import reussit, il faut y ajouter les bons couples (id, adresse). @return true si l'import a reussi, false sinon */ bool GhostElement::terminalsFromXml(QDomElement &e, QHash &table_id_adr) { // instancie les bornes decrites dans l'element XML foreach(QDomElement qde, QET::findInDomElement(e, "terminals", "terminal")) { if (!Terminal::valideXml(qde)) continue; // modifie certains attributs pour que l'analyse par la classe CustomElement reussisse int previous_x_value = qde.attribute("x").toInt(); int previous_y_value = qde.attribute("y").toInt(); int previous_ori_value = qde.attribute("orientation").toInt(); qreal x_add = 0.0, y_add = 0.0; if (previous_ori_value == QET::North) y_add = -Terminal::terminalSize; else if (previous_ori_value == QET::East) x_add = Terminal::terminalSize; else if (previous_ori_value == QET::South) y_add = Terminal::terminalSize; else if (previous_ori_value == QET::West) x_add = -Terminal::terminalSize; qde.setAttribute("x", previous_x_value + x_add); qde.setAttribute("y", previous_y_value + y_add); qde.setAttribute("orientation", QET::orientationToString(static_cast(previous_ori_value))); if (Terminal *new_terminal = CustomElement::parseTerminal(qde)) { table_id_adr.insert(qde.attribute("id").toInt(), new_terminal); } // restaure les attributs modifies qde.setAttribute("x", previous_x_value); qde.setAttribute("y", previous_y_value); qde.setAttribute("orientation", previous_ori_value); } return(true); } /** Genere les rendus de l'element fantome : il s'agit d'un rectangle representant grosso modo l'espace que devait prendre l'element initial. En son centre est dessine un point d'interrogation. Une petite croix indique le point de saisie de l'element. */ void GhostElement::generateDrawings() { // style de dessin QPen t(QBrush(Qt::black), 1.0); // rendu normal QPainter qp; qp.begin(&drawing); qp.setPen(t); qp.setRenderHint(QPainter::Antialiasing, false); generateDrawing(&qp); qp.end(); // rendu low_zoom QPainter low_zoom_qp; low_zoom_qp.begin(&low_zoom_drawing); t.setCosmetic(true); low_zoom_qp.setRenderHint(QPainter::Antialiasing, false); low_zoom_qp.setPen(t); generateDrawing(&low_zoom_qp); low_zoom_qp.end(); } /** Genere un rendu de l'element fantome @see generateDrawings */ void GhostElement::generateDrawing(QPainter *painter) { // une petite croix indique le point de saisie de l'element painter -> drawLine(QLineF(-1.0, 0.0, 1.0, 0.0)); painter -> drawLine(QLineF(0.0, -1.0, 0.0, 1.0)); // rectangle avec un point d'interrogation au centre QRectF drawn_rect = boundingRect().adjusted(4.0, 4.0, -4.0, -4.0); painter -> drawRect(drawn_rect); painter -> drawText(drawn_rect, Qt::AlignHCenter | Qt::AlignVCenter, "?"); } qelectrotech-0.22+svn897/sources/fixedelement.h0000644000175000017500000000241611320140732021400 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTFIXE_H #define ELEMENTFIXE_H #include "element.h" /** Cette classe represente un element avec un nombre fixe de bornes. */ class FixedElement : public Element { Q_OBJECT // constructeurs, destructeur public: FixedElement(QGraphicsItem * = 0, Diagram * = 0); virtual ~FixedElement(); // methodes public: int minTerminalsCount() const; int maxTerminalsCount() const; virtual int terminalsCount() const = 0; virtual void paint(QPainter *, const QStyleOptionGraphicsItem *) = 0; virtual QString typeId() const = 0; virtual QString name() const = 0; }; #endif qelectrotech-0.22+svn897/sources/elementtextitem.cpp0000644000175000017500000000717511320140732022506 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementtextitem.h" #include "diagram.h" #include "diagramcommands.h" /** Constructeur @param parent Le QGraphicsItem parent du champ de texte @param scene La scene a laquelle appartient le champ de texte */ ElementTextItem::ElementTextItem(QGraphicsItem *parent, QGraphicsScene *scene) : DiagramTextItem(parent, scene), follow_parent_rotations(false) { setFlags(QGraphicsItem::ItemIsSelectable); setTextInteractionFlags(Qt::TextEditorInteraction); } /** Constructeur @param parent Le QGraphicsItem parent du champ de texte @param scene La scene a laquelle appartient le champ de texte @param text Le texte affiche par le champ de texte */ ElementTextItem::ElementTextItem(const QString &text, QGraphicsItem *parent, QGraphicsScene *scene) : DiagramTextItem(text, parent, scene), follow_parent_rotations(false) { setFlags(QGraphicsItem::ItemIsSelectable); setTextInteractionFlags(Qt::TextEditorInteraction); } /// Destructeur ElementTextItem::~ElementTextItem() { } /** Modifie la position du champ de texte @param pos La nouvelle position du champ de texte */ void ElementTextItem::setPos(const QPointF &pos) { QPointF actual_pos = pos; actual_pos -= QPointF(0.0, boundingRect().height() / 2.0); DiagramTextItem::setPos(actual_pos); } /** Modifie la position du champ de texte @param x La nouvelle abscisse du champ de texte @param y La nouvelle ordonnee du champ de texte */ void ElementTextItem::setPos(qreal x, qreal y) { setPos(QPointF(x, y)); } /** @return La position (bidouillee) du champ de texte */ QPointF ElementTextItem::pos() const { QPointF actual_pos = DiagramTextItem::pos(); actual_pos += QPointF(0.0, boundingRect().height() / 2.0); return(actual_pos); } /** Permet de lire le texte a mettre dans le champ a partir d'un element XML. Cette methode se base sur la position du champ pour assigner ou non la valeur a ce champ. @param e L'element XML representant le champ de texte */ void ElementTextItem::fromXml(const QDomElement &e) { QPointF _pos = pos(); if (qFuzzyCompare(qreal(e.attribute("x").toDouble()), _pos.x()) && qFuzzyCompare(qreal(e.attribute("y").toDouble()), _pos.y())) { setPlainText(e.attribute("text")); previous_text = e.attribute("text"); } } /** @param document Le document XML a utiliser @return L'element XML representant ce champ de texte */ QDomElement ElementTextItem::toXml(QDomDocument &document) const { QDomElement result = document.createElement("input"); result.setAttribute("x", QString("%1").arg(originalPos().x())); result.setAttribute("y", QString("%1").arg(originalPos().y())); result.setAttribute("text", toPlainText()); return(result); } /** @param p Position originale / de reference pour ce champ Cette position est utilisee lors de l'export en XML */ void ElementTextItem::setOriginalPos(const QPointF &p) { original_position = p; } /** @return la position originale / de reference pour ce champ */ QPointF ElementTextItem::originalPos() const { return(original_position); } qelectrotech-0.22+svn897/sources/xmlelementscollection.h0000644000175000017500000000354211320140732023341 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef XML_ELEMENTS_COLLECTION #define XML_ELEMENTS_COLLECTION #include #include "elementscollection.h" class XmlElementsCategory; /** Cette classe represente une collection d'elements accessible via un document XML (exemple : un projet QET). Typiquement, il s'agit de la collection embarquee d'un projet QET. */ class XmlElementsCollection : public ElementsCollection { Q_OBJECT public: // constructeurs, destructeur XmlElementsCollection(ElementsCollectionItem * = 0); XmlElementsCollection(const QDomElement &, ElementsCollectionItem * = 0); virtual ~XmlElementsCollection(); private: XmlElementsCollection(const XmlElementsCollection &); // methodes public: virtual ElementsCategory *rootCategory(); virtual bool hasFilePath(); virtual QString filePath(); virtual void setFilePath(const QString &); virtual void reload(); virtual bool exists(); virtual bool isReadable(); virtual bool isWritable(); virtual bool write(); virtual QDomElement writeXml(QDomDocument &) const; public slots: void componentWritten(); signals: void written(); private: void deleteContent(); // attributs private: XmlElementsCategory *root; }; #endif qelectrotech-0.22+svn897/sources/elementscategory.cpp0000644000175000017500000005037211320140732022640 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementscategory.h" #include "elementscollection.h" #include "elementdefinition.h" #include "moveelementshandler.h" #include "moveelementsdescription.h" #include "qet.h" #include "qetproject.h" /** Constructeur */ ElementsCategory::ElementsCategory(ElementsCategory *parent, ElementsCollection *collection) : ElementsCollectionItem(parent), parent_collection_(collection), parent_category_(parent) { } /** Destructeur */ ElementsCategory::~ElementsCategory() { } /** @return le projet auquel appartient cette categorie, si celle-ci appartient a une collection. */ QETProject *ElementsCategory::project() { if (parent_collection_) { return(parent_collection_ -> project()); } return(0); } /** Ne fait rien ; le projet doit etre defini au niveau d'une collection */ void ElementsCategory::setProject(QETProject *) { } /** @return le protocole utilise pour designer la collection a laquelle appartient cette categorie */ QString ElementsCategory::protocol() { // il n'est pas possible d'avoir un protocole sans appartenir a une collection if (!hasParentCollection()) return(QString()); return(parentCollection() -> protocol()); } /** Ne fait rien */ void ElementsCategory::setProtocol(const QString &) { } /** @return la categorie parente de cette categorie, ou 0 si celle-ci n'en possede */ ElementsCategory *ElementsCategory::parentCategory() { return(parent_category_); } /** @return la liste des categories parentes de cet item. Cette liste peut etre vide s'il s'agit d'une categorie racine */ QList ElementsCategory::parentCategories() { QList cat_list; if (ElementsCategory *par_cat = parentCategory()) { cat_list << par_cat -> parentCategories() << par_cat; } return(cat_list); } /** @return true si cette categorie possede une categorie parente */ bool ElementsCategory::hasParentCategory() { return(parent_category_); } /** @return la collection a laquelle appartient la categorie */ ElementsCollection *ElementsCategory::parentCollection() { return(parent_collection_); } /** @return true si la categorie appartient a une collection */ bool ElementsCategory::hasParentCollection() { return(parent_collection_); } /** @param other_item Un autre item @return true si other_item est parent (direct ou indirect) de cet item, false sinon */ bool ElementsCategory::isChildOf(ElementsCollectionItem *other_item) { // verifie si l'autre item n'est pas la collection a laquelle cette categorie appartient if (ElementsCollection *other_item_coll = other_item -> toCollection()) { if (other_item_coll == parentCollection()) { return(true); } } // remonte les categories parentes pour voir si l'une d'entre elles correspond a cet autre item ElementsCategory *parent_cat = this; while ((parent_cat = parent_cat -> parentCategory())) { if (parent_cat == other_item) { return(true); } } // arrive ici, l'autre item n'est pas parent de cet item return(false); } /** @return le chemin virtuel de la categorie, avec le protocole */ QString ElementsCategory::fullVirtualPath() { // il n'est pas possible d'avoir un chemin virtuel sans appartenir a une collection if (!hasParentCollection()) return(QString()); return(protocol() + "://" + virtualPath()); } /** @return l'emplacement de la categorie */ ElementsLocation ElementsCategory::location() { return(ElementsLocation(fullVirtualPath(), project())); } /** @return true si cette categorie est la categorie racine de la collection a laquelle elle appartient, false sinon */ bool ElementsCategory::isRootCategory() const { // il faut appartenir a une collection pour etre categorie racine if (!parent_collection_) return(false); return(this == parent_collection_ -> rootCategory()); } /** @return toujours false */ bool ElementsCategory::isCollection() const { return(false); } /** @return toujours true */ bool ElementsCategory::isCategory() const { return(true); } /** @return toujours false */ bool ElementsCategory::isElement() const { return(false); } /** @return toujours 0 - une categorie n'est pas une collection */ ElementsCollection *ElementsCategory::toCollection() { return(0); } /** @return un pointeur ElementsCategory * sur cette categorie */ ElementsCategory *ElementsCategory::toCategory() { return(this); } /** @return un pointeur ElementsCategory * sur cette categorie */ ElementsCategory *ElementsCategory::toPureCategory() { return(this); } /** @return toujours 0 - une categorie n'est pas un element */ ElementDefinition *ElementsCategory::toElement() { return(0); } /** @param target_category Categorie cible pour la copie ; cette categorie sera copiee en tant que sous-categorie de la categorie cible @param handler Gestionnaire d'erreurs a utiliser pour effectuer la copie Si handler vaut 0, les erreurs, problemes et questions sont purement et simplement ignores. @param deep_copy true pour copier recursivement le contenu (elements et sous-categories) de cette categorie, false sinon @return La copie de la categorie, ou 0 si le processus a echoue. */ ElementsCollectionItem *ElementsCategory::copy(ElementsCategory *target_category, MoveElementsHandler *handler, bool deep_copy) { if (!target_category) return(0); // echec si le path name de cette categorie est vide QString cat_name(pathName()); if (cat_name.isEmpty()) return(0); // cree une description du mouvement a effectuer MoveElementsDescription mvt_desc; mvt_desc.setDestinationParentCategory(target_category); // on tente une copie avec le meme nom interne mvt_desc.setOriginalDestinationInternalName(cat_name); mvt_desc.setFinalDestinationInternalName(cat_name); mvt_desc.setHandler(handler); mvt_desc.setRecursive(deep_copy); // effectue le mouvement copy(&mvt_desc); return(mvt_desc.createdItem()); } /** Methode privee effectuant une copie de cette categorie a partir d'une description du mouvement */ void ElementsCategory::copy(MoveElementsDescription *mvt_desc) { // quelques pointeurs pour simplifier l'ecriture de la methode MoveElementsHandler *handler = mvt_desc -> handler(); ElementsCategory *target_category = mvt_desc -> destinationParentCategory(); // verifie que la categorie parente cible est accessible en lecture if (!target_category -> isReadable()) { if (!handler) { return; } else { do { QET::Action todo = handler -> categoryIsNotReadable(target_category); // on agit en fonction de la reponse du handler if (todo == QET::Abort) { mvt_desc -> abort(); return; } else if (todo == QET::Ignore || todo == QET::Managed) { return; } else if (todo == QET::Retry || todo == QET::Erase) { // reessayer = repasser dans la boucle } else if (todo == QET::Rename) { // cas non gere } } while (!target_category -> isReadable()); } } // verifie que la source et la destination ne sont pas identiques if (target_category == this || target_category -> isChildOf(this)) { if (handler) { handler -> errorWithACategory(this, tr("La copie d'une cat\351gorie vers elle-m\352me ou vers l'une de ses sous-cat\351gories n\'est pas g\351r\351e.")); } return; } // verifie que la categorie parente cible est accessible en ecriture if (!target_category -> isWritable()) { if (!handler) { return; } else { do { QET::Action todo = handler -> categoryIsNotWritable(target_category); // on agit en fonction de la reponse du handler if (todo == QET::Abort) { mvt_desc -> abort(); return; } else if (todo == QET::Ignore || todo == QET::Managed) { return; } else if (todo == QET::Retry || todo == QET::Erase) { // reessayer = repasser dans la boucle } else if (todo == QET::Rename) { // cas non gere } } while (!target_category -> isWritable()); } } ElementsCategory *category_copy = 0; // verifie que la cible n'existe pas deja if ((category_copy = target_category -> category(mvt_desc -> finalDestinationInternalName()))) { if (!handler) { return; } else { do { // la cible existe deja : on demande au Handler ce qu'on doit faire QET::Action todo = handler -> categoryAlreadyExists(this, category_copy); // on agit en fonction de la reponse du handler if (todo == QET::Abort) { mvt_desc -> abort(); return; } else if (todo == QET::Ignore || todo == QET::Managed) { return; } else if (todo == QET::Erase) { break; } else if (todo == QET::Rename) { mvt_desc -> setFinalDestinationInternalName(handler -> nameForRenamingOperation()); } } while ((category_copy = target_category -> category(mvt_desc -> finalDestinationInternalName()))); } } /* A ce stade, on peut creer la categorie cible : soit elle n'existe pas, soit on a l'autorisation de l'ecraser */ // si la cible existe deja, verifie qu'elle est accessible en ecriture category_copy = target_category -> category(mvt_desc -> finalDestinationInternalName()); if (category_copy && !category_copy -> isWritable()) { if (!handler) { return; } else { do { // la cible n'est pas accessible en ecriture : on demande au Handler ce qu'on doit faire QET::Action todo = handler -> categoryIsNotWritable(category_copy); // on agit en fonction de la reponse du handler if (todo == QET::Abort) { mvt_desc -> abort(); return; } else if (todo == QET::Ignore || todo == QET::Managed) { return; } else if (todo == QET::Retry || todo == QET::Erase) { // reessayer = repasser dans la boucle } else if (todo == QET::Rename) { // cas non gere } } while (!category_copy -> isWritable()); } } // memorise la liste des sous-categories et elements directs QList categories_list = categories(); QList elements_list = elements(); // cree la categorie cible category_copy = target_category -> createCategory(mvt_desc -> finalDestinationInternalName()); if (!category_copy) { /// @todo la creation a echoue : gerer ce cas return; } // recopie les noms de la categorie category_copy -> category_names = category_names; category_copy -> write(); mvt_desc -> setCreatedItem(category_copy); // copie recursive if (mvt_desc -> isRecursive()) { // copie les sous-categories foreach(ElementsCategory *sub_category, categories_list) { // cree une description du mouvement a effectuer MoveElementsDescription sub_category_mvt_desc; sub_category_mvt_desc.setDestinationParentCategory(category_copy); // on tente une copie avec le meme nom interne sub_category_mvt_desc.setOriginalDestinationInternalName(sub_category -> pathName()); sub_category_mvt_desc.setFinalDestinationInternalName(sub_category -> pathName()); sub_category_mvt_desc.setHandler(handler); sub_category_mvt_desc.setRecursive(true); // effectue la copie sub_category -> copy(&sub_category_mvt_desc); // abort si besoin if (sub_category_mvt_desc.mustAbort()) { mvt_desc -> abort(); return; } } // copie les elements foreach(ElementDefinition *element, elements_list) { // cree une description du mouvement a effectuer MoveElementsDescription element_mvt_desc; element_mvt_desc.setDestinationParentCategory(category_copy); // on tente une copie avec le meme nom interne element_mvt_desc.setOriginalDestinationInternalName(element -> pathName()); element_mvt_desc.setFinalDestinationInternalName(element -> pathName()); element_mvt_desc.setHandler(handler); element -> copy(&element_mvt_desc); // abort si besoin if (element_mvt_desc.mustAbort()) { mvt_desc -> abort(); return; } } } } /** Cette methode copie la categorie recursivement puis la supprime, ce qui equivaut a un deplacement. Elle cree donc un nouvel objet representant la categorie, qu'elle retourne ensuite. @param target_category Categorie cible pour le deplacement ; cette categorie sera deplacee de faon a devenir une sous-categorie de la categorie cible @param handler Gestionnaire d'erreurs a utiliser pour effectuer le deplacement. Si handler vaut 0, les erreurs, problemes et questions sont purement et simplement ignores. @return Un pointeur vers la categorie apres le deplacement, ou 0 si le processus a echoue. */ ElementsCollectionItem *ElementsCategory::move(ElementsCategory *target_category, MoveElementsHandler *handler) { if (!target_category) return(0); // echec si le path name de cette categorie est vide QString cat_name(pathName()); if (cat_name.isEmpty()) return(0); // cree une description du mouvement a effectuer MoveElementsDescription mvt_desc; mvt_desc.setDestinationParentCategory(target_category); // on tente une copie avec le meme nom interne mvt_desc.setOriginalDestinationInternalName(cat_name); mvt_desc.setFinalDestinationInternalName(cat_name); mvt_desc.setHandler(handler); mvt_desc.setRecursive(true); // un deplacement est forcement recursif // effectue le mouvement move(&mvt_desc); return(mvt_desc.createdItem()); } /** Methode privee effectuant le deplacement de cette categorie a partir d'une description du mouvement @param mvt_desc Description du mouvement */ void ElementsCategory::move(MoveElementsDescription *mvt_desc) { // quelques pointeurs pour simplifier l'ecriture de la methode MoveElementsHandler *handler = mvt_desc -> handler(); ElementsCategory *target_category = mvt_desc -> destinationParentCategory(); // empeche le deplacement s'il s'agit d'une categorie racine if (isRootCategory()) { if (handler) handler -> errorWithACategory(this, tr("Il n'est pas possible de d\351placer une collection.")); return; } // empeche le deplacement de la categorie dans une sous-categorie if (target_category == this || target_category -> isChildOf(this)) { if (handler) handler -> errorWithACategory(this, tr("Le d\351placement d'une cat\351gorie dans une de ses sous-cat\351gories n'est pas possible.")); return; } // effectue une copie non recursive de cette categorie ElementsCollectionItem *item_copy = copy(target_category, handler, false); if (!item_copy) return; ElementsCategory *category_copy = item_copy -> toCategory(); if (!category_copy) return; // memorise la liste des sous-categories et elements directs QList categories_list = categories(); QList elements_list = elements(); // booleen indiquant si on pourra tenter de supprimer la categorie apres la copie bool remove_category = true; // tente de deplacer les sous-categories foreach(ElementsCategory *sub_category, categories_list) { // cree une description du mouvement a effectuer MoveElementsDescription sub_category_mvt_desc; sub_category_mvt_desc.setDestinationParentCategory(category_copy); // on tente un deplacement avec le meme nom interne sub_category_mvt_desc.setOriginalDestinationInternalName(sub_category -> pathName()); sub_category_mvt_desc.setFinalDestinationInternalName(sub_category -> pathName()); sub_category_mvt_desc.setHandler(handler); sub_category_mvt_desc.setRecursive(true); // effectue le deplacement sub_category -> move(&sub_category_mvt_desc); // abort si besoin if (sub_category_mvt_desc.mustAbort()) { mvt_desc -> abort(); return; } // si la sous-categorie n'a pas ete supprimee, on ne supprimera pas cette categorie if (remove_category) remove_category = sub_category_mvt_desc.sourceItemWasDeleted(); // si la sous-categorie n'a pas ete supprimee, ... if (!sub_category_mvt_desc.sourceItemWasDeleted()) { // on ne supprimera pas cette categorie if (remove_category) remove_category = false; } } // tente de deplacer les elements foreach(ElementDefinition *element, elements_list) { // cree une description du mouvement a effectuer MoveElementsDescription element_mvt_desc; element_mvt_desc.setDestinationParentCategory(category_copy); // on tente une copie avec le meme nom interne element_mvt_desc.setOriginalDestinationInternalName(element -> pathName()); element_mvt_desc.setFinalDestinationInternalName(element -> pathName()); element_mvt_desc.setHandler(handler); element -> move(&element_mvt_desc); // abort si besoin if (element_mvt_desc.mustAbort()) { mvt_desc -> abort(); return; } // si l'element n'a pas ete supprime, ... if (!element_mvt_desc.sourceItemWasDeleted()) { // on ne supprimera pas cette categorie if (remove_category) remove_category = false; } } // supprime cette categorie (sinon il ne s'agirait que d'une copie, pas d'un deplacement) if (remove_category) { reload(); bool category_deletion = remove(); mvt_desc -> setSourceItemDeleted(category_deletion); if (!category_deletion && handler) { handler -> errorWithACategory(this, tr("La suppression de cette cat\351gorie a \351chou\351.")); } } } /** Cette methode supprime recursivement les elements inutilises dans le projet. Si cette categorie n'est pas rattachee a un projet, elle ne fait rien @param handler Gestionnaire d'erreurs a utiliser pour effectuer le nettoyage. Si handler vaut 0, les erreurs, problemes et questions sont purement et simplement ignores. */ void ElementsCategory::deleteUnusedElements(MoveElementsHandler *handler) { // si cette categorie n'est pas rattachee a un projet, elle ne fait rien QETProject *parent_project = project(); if (!parent_project) return; // supprime les elements inutilises dans les sous-categories foreach(ElementsCategory *sub_category, categories()) { sub_category -> deleteUnusedElements(handler); } // supprime les elements inutilises dans cette categorie foreach(ElementDefinition *element, elements()) { if (!parent_project -> usesElement(element -> location())) { bool element_deletion = element -> remove(); if (!element_deletion && handler) { handler -> errorWithAnElement(element, tr("Impossible de supprimer l'\351l\351ment")); } } } } /** Cette methode supprime toutes les sous-categories de cette categories qui ne contiennent pas d'elements ou de categories contenant des elements. @param handler Gestionnaire d'erreurs a utiliser pour effectuer le nettoyage. Si handler vaut 0, les erreurs, problemes et questions sont purement et simplement ignores. */ void ElementsCategory::deleteEmptyCategories(MoveElementsHandler *handler) { // supprime les sous-categories qui ne comportent pas d'elements foreach(ElementsCategory *sub_category, categories()) { sub_category -> deleteEmptyCategories(handler); sub_category -> reload(); if (!sub_category -> isEmpty()) { bool category_deletion = sub_category -> remove(); if (!category_deletion && handler) { handler -> errorWithACategory(sub_category, tr("Impossible de supprimer la cat\351gorie")); } } } } /** @return true si cette collection est vide (pas de sous-categorie, pas d'element), false sinon. */ bool ElementsCategory::isEmpty() { return(categories().count() || elements().count()); } /** Methode permettant d'obtenir le nom affichable de cette categorie. @return Le nom affichable de la categorie */ QString ElementsCategory::name() const { return(category_names.name(pathName())); } /** @return La liste des differents noms possibles pour la categorie */ NamesList ElementsCategory::categoryNames() const { return(category_names); } /** Vide la liste des noms de la categorie */ void ElementsCategory::clearNames() { category_names.clearNames(); } /** Ajoute un nom a la categorie. Si la langue existe deja, le nom pour cette langue est remplace. @param lang La langue pour laquelle le nom est utilisable @param value Le nom */ void ElementsCategory::addName(const QString &lang, const QString &value) { category_names.addName(lang, value); } /** Specifie les noms de la categorie. Tous les noms precedemment connus sont perdus */ void ElementsCategory::setNames(const NamesList &names_list) { category_names = names_list; } qelectrotech-0.22+svn897/sources/terminal.cpp0000644000175000017500000004066711346762304021124 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "terminal.h" #include "diagram.h" #include "element.h" #include "conductor.h" #include "diagramcommands.h" #include "qetapp.h" QColor Terminal::couleur_neutre = QColor(Qt::blue); QColor Terminal::couleur_autorise = QColor(Qt::darkGreen); QColor Terminal::couleur_prudence = QColor("#ff8000"); QColor Terminal::couleur_interdit = QColor(Qt::red); const qreal Terminal::terminalSize = 4.0; /** Fonction privee pour initialiser la borne. @param pf position du point d'amarrage pour un conducteur @param o orientation de la borne : Qt::Horizontal ou Qt::Vertical */ void Terminal::initialise(QPointF pf, QET::Orientation o) { // definition du pount d'amarrage pour un conducteur amarrage_conductor = pf; // definition de l'orientation de la terminal (par defaut : sud) if (o < QET::North || o > QET::West) sens = QET::South; else sens = o; // calcul de la position du point d'amarrage a l'element amarrage_elmt = amarrage_conductor; switch(sens) { case QET::North: amarrage_elmt += QPointF(0, Terminal::terminalSize); break; case QET::East : amarrage_elmt += QPointF(-Terminal::terminalSize, 0); break; case QET::West : amarrage_elmt += QPointF(Terminal::terminalSize, 0); break; case QET::South: default : amarrage_elmt += QPointF(0, -Terminal::terminalSize); } // par defaut : pas de conducteur // QRectF null br = new QRectF(); terminal_precedente = NULL; // divers setAcceptsHoverEvents(true); setAcceptedMouseButtons(Qt::LeftButton); hovered = false; setToolTip(QObject::tr("Borne", "tooltip")); } /** Constructeur par defaut */ Terminal::Terminal() : QGraphicsItem(0, 0), couleur_hovered(Terminal::couleur_neutre) { initialise(QPointF(0.0, 0.0), QET::South); } /** initialise une borne @param pf position du point d'amarrage pour un conducteur @param o orientation de la borne : Qt::Horizontal ou Qt::Vertical @param e Element auquel cette borne appartient @param s Scene sur laquelle figure cette borne */ Terminal::Terminal(QPointF pf, QET::Orientation o, Element *e, Diagram *s) : QGraphicsItem(e, s), couleur_hovered(Terminal::couleur_neutre) { initialise(pf, o); } /** initialise une borne @param pf_x Abscisse du point d'amarrage pour un conducteur @param pf_y Ordonnee du point d'amarrage pour un conducteur @param o orientation de la borne : Qt::Horizontal ou Qt::Vertical @param e Element auquel cette borne appartient @param s Scene sur laquelle figure cette borne */ Terminal::Terminal(qreal pf_x, qreal pf_y, QET::Orientation o, Element *e, Diagram *s) : QGraphicsItem(e, s), couleur_hovered(Terminal::couleur_neutre) { initialise(QPointF(pf_x, pf_y), o); } /** Destructeur La destruction de la borne entraine la destruction des conducteurs associes. */ Terminal::~Terminal() { //qDebug() << "Terminal::~Terminal" << (void *)this; foreach(Conductor *c, liste_conductors) delete c; delete br; } /** Permet de connaitre l'orientation de la borne. Si le parent de la borne est bien un Element, cette fonction renvoie l'orientation par rapport a la scene de la borne, en tenant compte du fait que l'element ait pu etre pivote. Sinon elle renvoie son sens normal. @return L'orientation actuelle de la Terminal. */ QET::Orientation Terminal::orientation() const { if (Element *elt = qgraphicsitem_cast(parentItem())) { // orientations actuelle et par defaut de l'element QET::Orientation ori_cur = elt -> orientation().current(); QET::Orientation ori_def = elt -> orientation().defaultOrientation(); if (ori_cur == ori_def) return(sens); else { // calcul l'angle de rotation implique par l'orientation de l'element parent // angle de rotation de la borne sur la scene, divise par 90 int angle = ori_cur - ori_def + sens; while (angle >= 4) angle -= 4; return((QET::Orientation)angle); } } else return(sens); } /** Attribue un conductor a la borne @param f Le conducteur a rattacher a cette borne */ bool Terminal::addConductor(Conductor *f) { // pointeur 0 refuse if (!f) return(false); // une seule des deux bornes du conducteur doit etre this Q_ASSERT_X(((f -> terminal1 == this) ^ (f -> terminal2 == this)), "Terminal::addConductor", "Le conductor devrait etre relie exactement une fois a la terminal en cours"); // determine l'autre borne a laquelle cette borne va etre relie grace au conducteur Terminal *autre_terminal = (f -> terminal1 == this) ? f -> terminal2 : f -> terminal1; // verifie que la borne n'est pas deja reliee avec l'autre borne bool deja_liees = false; foreach (Conductor* conductor, liste_conductors) { if (conductor -> terminal1 == autre_terminal || conductor -> terminal2 == autre_terminal) deja_liees = true; } // si les deux bornes sont deja reliees, on refuse d'ajouter le conducteur if (deja_liees) return(false); // sinon on ajoute le conducteur liste_conductors.append(f); return(true); } /** Enleve un conducteur donne a la borne @param f Conducteur a enlever */ void Terminal::removeConductor(Conductor *f) { //qDebug() << "Terminal::removeConductor" << (void *)this; int index = liste_conductors.indexOf(f); if (index == -1) return; liste_conductors.removeAt(index); } /** Fonction de dessin des bornes @param p Le QPainter a utiliser @param options Les options de dessin @param widget Le widget sur lequel on dessine */ void Terminal::paint(QPainter *p, const QStyleOptionGraphicsItem *options, QWidget *widget) { // en dessous d'un certain zoom, les bornes ne sont plus dessinees if (options && options -> levelOfDetail < 0.5) return; p -> save(); #ifndef Q_WS_WIN // corrige un bug de rendu ne se produisant que lors du rendu sur QGraphicsScene sous X11 au zoom par defaut static bool must_correct_rendering_bug = QETApp::settings().value("correct-rendering", false).toBool(); if (must_correct_rendering_bug) { Diagram *dia = diagram(); if (dia && options -> levelOfDetail == 1.0 && widget) { // calcule la rotation qu'a subi l'element qreal applied_rotation = 0.0; if (Element *elt = qgraphicsitem_cast(parentItem())) { // orientations actuelle et par defaut de l'element QET::Orientation ori_cur = elt -> orientation().current(); QET::Orientation ori_def = elt -> orientation().defaultOrientation(); applied_rotation = 90.0 * (ori_cur - ori_def); while (applied_rotation < 360.0) applied_rotation += 360.0; while (applied_rotation > 360.0) applied_rotation -= 360.0; } if (applied_rotation == 90.0) p -> translate(1.0, -1.0); else if (applied_rotation == 180.0) p -> translate(-1.0, -1.0); else if (applied_rotation == 270.0) p -> translate(-1.0, 1.0); } } #endif //annulation des renderhints p -> setRenderHint(QPainter::Antialiasing, false); p -> setRenderHint(QPainter::TextAntialiasing, false); p -> setRenderHint(QPainter::SmoothPixmapTransform, false); // on travaille avec les coordonnees de l'element parent QPointF f = mapFromParent(amarrage_conductor); QPointF e = mapFromParent(amarrage_elmt); QPen t; t.setWidthF(1.0); if (options && options -> levelOfDetail < 1.0) { t.setCosmetic(true); } // dessin de la borne en rouge t.setColor(Qt::red); p -> setPen(t); p -> drawLine(f, e); // dessin du point d'amarrage au conducteur en bleu t.setColor(couleur_hovered); p -> setPen(t); p -> setBrush(couleur_hovered); if (hovered) { p -> setRenderHint(QPainter::Antialiasing, true); p -> drawEllipse(QRectF(f.x() - 2.5, f.y() - 2.5, 5.0, 5.0)); } else p -> drawPoint(f); p -> restore(); } /** @return Le rectangle (en precision flottante) delimitant la borne et ses alentours. */ QRectF Terminal::boundingRect() const { if (br -> isNull()) { qreal afx = amarrage_conductor.x(); qreal afy = amarrage_conductor.y(); qreal aex = amarrage_elmt.x(); qreal aey = amarrage_elmt.y(); QPointF origine; origine = (afx <= aex && afy <= aey ? amarrage_conductor : amarrage_elmt); origine += QPointF(-3.0, -3.0); qreal w = qAbs((int)(afx - aex)) + 7; qreal h = qAbs((int)(afy - aey)) + 7; *br = QRectF(origine, QSizeF(w, h)); } return(*br); } /** Gere l'entree de la souris sur la zone de la Borne. */ void Terminal::hoverEnterEvent(QGraphicsSceneHoverEvent *) { hovered = true; update(); } /** Gere les mouvements de la souris sur la zone de la Borne. */ void Terminal::hoverMoveEvent(QGraphicsSceneHoverEvent *) { } /** Gere le fait que la souris sorte de la zone de la Borne. */ void Terminal::hoverLeaveEvent(QGraphicsSceneHoverEvent *) { hovered = false; update(); } /** Gere le fait qu'on enfonce un bouton de la souris sur la Borne. @param e L'evenement souris correspondant */ void Terminal::mousePressEvent(QGraphicsSceneMouseEvent *e) { if (Diagram *s = diagram()) { s -> setConductorStart(mapToScene(QPointF(amarrage_conductor))); s -> setConductorStop(e -> scenePos()); s -> setConductor(true); //setCursor(Qt::CrossCursor); } } /** Gere le fait qu'on bouge la souris sur la Borne. @param e L'evenement souris correspondant */ void Terminal::mouseMoveEvent(QGraphicsSceneMouseEvent *e) { // pendant la pose d'un conducteur, on adopte un autre curseur //setCursor(Qt::CrossCursor); // d'un mouvement a l'autre, il faut retirer l'effet hover de la borne precedente if (terminal_precedente != NULL) { if (terminal_precedente == this) hovered = true; else terminal_precedente -> hovered = false; terminal_precedente -> couleur_hovered = terminal_precedente -> couleur_neutre; terminal_precedente -> update(); } Diagram *s = diagram(); if (!s) return; // si la scene est un Diagram, on actualise le poseur de conducteur s -> setConductorStop(e -> scenePos()); // on recupere la liste des qgi sous le pointeur QList qgis = s -> items(e -> scenePos()); /* le qgi le plus haut = le poseur de conductor = le premier element de la liste = la liste ne peut etre vide = on prend le deuxieme element de la liste */ Q_ASSERT_X(!(qgis.isEmpty()), "Terminal::mouseMoveEvent", "La liste d'items ne devrait pas etre vide"); // s'il y a autre chose que le poseur de conducteur dans la liste if (qgis.size() > 1) { // on prend le deuxieme element de la liste QGraphicsItem *qgi = qgis.at(1); // si le qgi est une borne... if (Terminal *p = qgraphicsitem_cast(qgi)) { // ...on lui applique l'effet hover approprie if (p == this) { // effet si l'on hover sur la borne de depart couleur_hovered = couleur_interdit; } else if (p -> parentItem() == parentItem()) { // effet si l'on hover sur une borne du meme appareil if (((Element *)parentItem()) -> internalConnections()) p -> couleur_hovered = p -> couleur_autorise; else p -> couleur_hovered = p -> couleur_interdit; } else if (p -> nbConductors()) { // si la borne a deja un conducteur // verifie que cette borne n'est pas deja reliee a l'autre borne bool deja_reliee = false; foreach (Conductor *f, liste_conductors) { if (f -> terminal1 == p || f -> terminal2 == p) { deja_reliee = true; break; } } // interdit si les bornes sont deja reliees, prudence sinon p -> couleur_hovered = deja_reliee ? p -> couleur_interdit : p -> couleur_prudence; } else { // effet si on peut poser le conducteur p -> couleur_hovered = p -> couleur_autorise; } terminal_precedente = p; p -> hovered = true; p -> update(); } } } /** Gere le fait qu'on relache la souris sur la Borne. @param e L'evenement souris correspondant */ void Terminal::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) { //setCursor(Qt::ArrowCursor); terminal_precedente = NULL; couleur_hovered = couleur_neutre; // verifie que la scene est bien un Diagram if (Diagram *s = diagram()) { // on arrete de dessiner l'apercu du conducteur s -> setConductor(false); // on recupere l'element sous le pointeur lors du MouseReleaseEvent QGraphicsItem *qgi = s -> itemAt(e -> scenePos()); // s'il n'y a rien, on arrete la if (!qgi) return; // idem si l'element obtenu n'est pas une borne Terminal *p = qgraphicsitem_cast(qgi); if (!p) return; // on remet la couleur de hover a sa valeur par defaut p -> couleur_hovered = p -> couleur_neutre; // idem s'il s'agit de la borne actuelle if (p == this) return; // idem s'il s'agit d'une borne de l'element actuel et que l'element n'a pas le droit de relier ses propres bornes bool cia = ((Element *)parentItem()) -> internalConnections(); if (!cia) foreach(QGraphicsItem *item, parentItem() -> children()) if (item == p) return; // derniere verification : verifier que cette borne n'est pas deja reliee a l'autre borne foreach (Conductor *f, liste_conductors) if (f -> terminal1 == p || f -> terminal2 == p) return; // autrement, on pose un conducteur Conductor * new_conductor = new Conductor(this, p); new_conductor -> setProperties(s -> defaultConductorProperties); s -> undoStack().push(new AddConductorCommand(s, new_conductor)); } } /** Met a jour l'eventuel conducteur relie a la Terminal. @param newpos Position de l'element parent a prendre en compte */ void Terminal::updateConductor(QPointF newpos) { if (!scene() || !parentItem()) return; foreach (Conductor *conductor, liste_conductors) { if (conductor -> isDestroyed()) continue; if (newpos == QPointF()) conductor -> update(QRectF()); else { // determine la translation subie par l'element parent QPointF translation = newpos - parentItem() -> pos(); // rafraichit le conducteur en tenant compte de la translation conductor -> updateWithNewPos(QRectF(), this, amarrageConductor() + translation); } } } /** @return La liste des conducteurs lies a cette borne */ QList Terminal::conductors() const { return(liste_conductors); } /** Methode d'export en XML @param doc Le Document XML a utiliser pour creer l'element XML @return un QDomElement representant cette borne */ QDomElement Terminal::toXml(QDomDocument &doc) const { QDomElement qdo = doc.createElement("terminal"); qdo.setAttribute("x", QString("%1").arg(amarrage_elmt.x())); qdo.setAttribute("y", QString("%1").arg(amarrage_elmt.y())); qdo.setAttribute("orientation", sens); return(qdo); } /** Permet de savoir si un element XML represente une borne @param terminal Le QDomElement a analyser @return true si le QDomElement passe en parametre est une borne, false sinon */ bool Terminal::valideXml(QDomElement &terminal) { // verifie le nom du tag if (terminal.tagName() != "terminal") return(false); // verifie la presence des attributs minimaux if (!terminal.hasAttribute("x")) return(false); if (!terminal.hasAttribute("y")) return(false); if (!terminal.hasAttribute("orientation")) return(false); bool conv_ok; // parse l'abscisse terminal.attribute("x").toDouble(&conv_ok); if (!conv_ok) return(false); // parse l'ordonnee terminal.attribute("y").toDouble(&conv_ok); if (!conv_ok) return(false); // parse l'id terminal.attribute("id").toInt(&conv_ok); if (!conv_ok) return(false); // parse l'orientation int terminal_or = terminal.attribute("orientation").toInt(&conv_ok); if (!conv_ok) return(false); if (terminal_or != QET::North && terminal_or != QET::South && terminal_or != QET::East && terminal_or != QET::West) return(false); // a ce stade, la borne est syntaxiquement correcte return(true); } /** Permet de savoir si un element XML represente cette borne. Attention, l'element XML n'est pas verifie @param terminal Le QDomElement a analyser @return true si la borne "se reconnait" (memes coordonnes, meme orientation), false sinon */ bool Terminal::fromXml(QDomElement &terminal) { return ( qFuzzyCompare(terminal.attribute("x").toDouble(), amarrage_elmt.x()) && qFuzzyCompare(terminal.attribute("y").toDouble(), amarrage_elmt.y()) && terminal.attribute("orientation").toInt() == sens ); } /// @return le Diagram auquel cette borne appartient, ou 0 si cette borne est independant Diagram *Terminal::diagram() const { return(qobject_cast(scene())); } qelectrotech-0.22+svn897/sources/exportpropertieswidget.cpp0000644000175000017500000002032011320140732024116 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "exportpropertieswidget.h" /** Constructeur @param parent QWidget parent */ ExportPropertiesWidget::ExportPropertiesWidget(QWidget *parent) : QWidget(parent) { build(); setExportProperties(ExportProperties()); } /** Constructeur @param export_properties Parametres d'export a afficher / editer @param parent QWidget parent */ ExportPropertiesWidget::ExportPropertiesWidget(const ExportProperties &export_properties, QWidget *parent) : QWidget(parent) { build(); setExportProperties(export_properties); } /// Destructeur ExportPropertiesWidget::~ExportPropertiesWidget() { } /** @return les parametres d'export definis via le widget */ ExportProperties ExportPropertiesWidget::exportProperties() const { ExportProperties export_properties; export_properties.destination_directory = QDir(dirpath -> text()); export_properties.format = format -> itemData(format -> currentIndex()).toString(); export_properties.draw_grid = draw_grid -> isChecked(); export_properties.draw_border = draw_border -> isChecked(); export_properties.draw_inset = draw_inset -> isChecked(); export_properties.draw_terminals = draw_terminals -> isChecked(); export_properties.draw_colored_conductors = draw_colored_conductors -> isChecked(); export_properties.exported_area = export_border -> isChecked() ? QET::BorderArea : QET::ElementsArea; return(export_properties); } /** @param export_properties les parametres d'export a afficher / editer via le widget */ void ExportPropertiesWidget::setExportProperties(const ExportProperties &export_properties) { dirpath -> setText(QDir::toNativeSeparators(export_properties.destination_directory.absolutePath())); int index = format -> findData(export_properties.format); if (index == -1) index = 0; format -> setCurrentIndex(index); draw_grid -> setChecked(export_properties.draw_grid); draw_border -> setChecked(export_properties.draw_border); draw_inset -> setChecked(export_properties.draw_inset); draw_terminals -> setChecked(export_properties.draw_terminals); draw_colored_conductors -> setChecked(export_properties.draw_colored_conductors); if (export_properties.exported_area == QET::BorderArea) { export_border -> setChecked(true); } else { export_elements -> setChecked(true); } } /** Passe le widget en mode Impression ou en mode Export. Le mode Impression n'affiche pas autant d'options que le mode Export. @param mode true pour utiliser le widget en mode impression, false pour l'utiliser en mode export */ void ExportPropertiesWidget::setPrintingMode(bool mode) { dirpath_label -> setVisible(!mode); dirpath -> setVisible(!mode); button_browse -> setVisible(!mode); format_label -> setVisible(!mode); format -> setVisible(!mode); export_border -> setVisible(!mode); export_elements -> setVisible(!mode); } /** Slot demandant a l'utilisateur de choisir un dossier */ void ExportPropertiesWidget::slot_chooseADirectory() { QString user_dir = QFileDialog::getExistingDirectory( this, tr("Exporter dans le dossier", "dialog title"), dirpath -> text() ); if (!user_dir.isEmpty()) { dirpath -> setText(QDir::toNativeSeparators(user_dir)); } } /** Cette methode construit le widget en lui-meme */ void ExportPropertiesWidget::build() { // le dialogue est un empilement vertical d'elements QVBoxLayout *vboxLayout = new QVBoxLayout(); vboxLayout -> setContentsMargins(0, 0, 0, 0); /* le dialogue comprend une ligne permettant d'indiquer un chemin de dossier (hboxLayout) */ QHBoxLayout *hboxLayout = new QHBoxLayout(); dirpath_label = new QLabel(tr("Dossier cible :"), this); dirpath = new QLineEdit(this); QCompleter *completer = new QCompleter(this); completer -> setModel(new QDirModel(completer)); dirpath -> setCompleter(completer); button_browse = new QPushButton(tr("Parcourir"), this); hboxLayout -> addWidget(dirpath_label); hboxLayout -> addWidget(dirpath); hboxLayout -> addWidget(button_browse); hboxLayout -> addStretch(); vboxLayout -> addLayout(hboxLayout); /* une ligne permettant de choisir le format (hboxLayout1) */ QHBoxLayout *hboxLayout1 = new QHBoxLayout(); format_label = new QLabel(tr("Format :"), this); hboxLayout1 -> addWidget(format_label); hboxLayout1 -> addWidget(format = new QComboBox(this)); format -> addItem(tr("PNG (*.png)"), "PNG"); format -> addItem(tr("JPEG (*.jpg)"), "JPG"); format -> addItem(tr("Bitmap (*.bmp)"), "BMP"); format -> addItem(tr("SVG (*.svg)"), "SVG"); hboxLayout1 -> addStretch(); vboxLayout -> addLayout(hboxLayout1); /* un cadre permettant de specifier les options de l'image finale */ QGroupBox *groupbox_options = new QGroupBox(tr("Options de rendu", "groupbox title")); QGridLayout *optionshlayout = new QGridLayout(groupbox_options); // Choix de la zone du schema a exporter exported_content_choices = new QButtonGroup(groupbox_options); export_border = new QRadioButton(tr("Exporter le cadre"), groupbox_options); optionshlayout -> addWidget(export_border, 0, 0); exported_content_choices -> addButton(export_border); export_elements = new QRadioButton(tr("Exporter les \351l\351ments"), groupbox_options); optionshlayout -> addWidget(export_elements, 0, 1); exported_content_choices -> addButton(export_elements); // dessiner la grille draw_grid = new QCheckBox(tr("Dessiner la grille"), groupbox_options); optionshlayout -> addWidget(draw_grid, 1, 1); // dessiner le cadre draw_border = new QCheckBox(tr("Dessiner le cadre"), groupbox_options); optionshlayout -> addWidget(draw_border, 1, 0); // dessiner le cartouche draw_inset = new QCheckBox(tr("Dessiner le cartouche"), groupbox_options); optionshlayout -> addWidget(draw_inset, 2, 0); // dessiner les bornes draw_terminals = new QCheckBox(tr("Dessiner les bornes"), groupbox_options); optionshlayout -> addWidget(draw_terminals, 2, 1); // conserver les couleurs des conducteurs draw_colored_conductors = new QCheckBox(tr("Conserver les couleurs des conducteurs"), groupbox_options); optionshlayout -> addWidget(draw_colored_conductors, 3, 0); vboxLayout -> addWidget(groupbox_options); setLayout(vboxLayout); // ordre des input selectionnes avec la touche tab setTabOrder(dirpath, button_browse); setTabOrder(button_browse, format); setTabOrder(format, export_border); setTabOrder(export_border, draw_border); setTabOrder(draw_border, draw_grid); setTabOrder(draw_grid, draw_inset); setTabOrder(draw_inset, draw_terminals); setTabOrder(draw_terminals, draw_colored_conductors); // connexion du bouton permettant le choix du repertoire connect(button_browse, SIGNAL(released()), this, SLOT(slot_chooseADirectory())); // emission de signaux lors du changement de format et lors du changement de zone exportee connect(format, SIGNAL(currentIndexChanged(int)), this, SIGNAL(formatChanged())); connect(exported_content_choices, SIGNAL(buttonClicked(QAbstractButton *)), this, SIGNAL(exportedAreaChanged())); connect(draw_grid, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged())); connect(draw_border, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged())); connect(draw_inset, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged())); connect(draw_terminals, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged())); connect(draw_colored_conductors, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged())); } qelectrotech-0.22+svn897/sources/moveelementsdescription.h0000644000175000017500000000430011320140732023670 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef MOVE_ELEMENTS_DESCRIPTION_H #define MOVE_ELEMENTS_DESCRIPTION_H #include class ElementsCollectionItem; class ElementsCategory; class MoveElementsHandler; /** Cette classe represente la description d'un mouvement d'elements. Il peut s'agir d'un deplacement ou d'une copie. La source n'est pas mentionnee */ class MoveElementsDescription : public QObject { Q_OBJECT // constructeurs, destructeur public: MoveElementsDescription(QObject * = 0); virtual ~MoveElementsDescription(); private: MoveElementsDescription(const MoveElementsDescription &); // methodes public: bool isRecursive() const; void setRecursive(bool); MoveElementsHandler *handler() const; void setHandler(MoveElementsHandler *); ElementsCategory *destinationParentCategory() const; void setDestinationParentCategory(ElementsCategory *); QString originalDestinationInternalName() const; void setOriginalDestinationInternalName(const QString &); QString finalDestinationInternalName() const; void setFinalDestinationInternalName(const QString &); ElementsCollectionItem *createdItem() const; void setCreatedItem(ElementsCollectionItem *); bool sourceItemWasDeleted() const; void setSourceItemDeleted(bool); bool mustAbort() const; void abort(); // attributs private: bool recursive_; MoveElementsHandler *handler_; ElementsCategory *destination_; QString dest_internal_name_orig_; QString dest_internal_name_final_; ElementsCollectionItem *created_item_; bool src_deleted_; bool abort_; }; #endif qelectrotech-0.22+svn897/sources/qeticons.cpp0000644000175000017500000003460111342301024021105 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qeticons.h" // on redeclare ici les icones namespace QET { namespace Icons { QIcon AddColumn; QIcon AddRow; QIcon Allowed; QIcon ApplicationExit; QIcon ArrowLeft; QIcon ArrowLeftDouble; QIcon ArrowRight; QIcon ArrowRightDouble; QIcon BringForward; QIcon Cancel; QIcon Conductor; QIcon ConductorSettings; QIcon Configure; QIcon ConfigureToolbars; QIcon CopyFile; QIcon DefaultConductor; QIcon DiagramAdd; QIcon Diagram; QIcon DiagramDelete; QIcon DialogCancel; QIcon DialogInformation; QIcon DialogOk; QIcon DocumentClose; QIcon DocumentExport; QIcon DocumentImport; QIcon DocumentNew; QIcon DocumentOpen; QIcon DocumentOpenRecent; QIcon DocumentPrint; QIcon DocumentPrintFrame; QIcon DocumentSave; QIcon DocumentSaveAll; QIcon DocumentSaveAs; QIcon East; QIcon EditClear; QIcon EditClearLocationBar; QIcon EditCopy; QIcon EditCut; QIcon EditDelete; QIcon EditPaste; QIcon EditRedo; QIcon EditSelectAll; QIcon EditUndo; QIcon Element; QIcon ElementDelete; QIcon ElementEdit; QIcon ElementNew; QIcon EndLineCircle; QIcon EndLineDiamond; QIcon EndLineNone; QIcon EndLineSimple; QIcon EndLineTriangle; QIcon EPS; QIcon Folder; QIcon FolderDelete; QIcon FolderEdit; QIcon FolderNew; QIcon Forbidden; QIcon FullScreenEnter; QIcon FullScreenExit; QIcon GoDown; QIcon GoUp; QIcon Ground; QIcon Hide; QIcon Home; QIcon HotSpot; QIcon Lower; QIcon MoveFile; QIcon Names; QIcon Neutral; QIcon NewDiagram; QIcon North; QIcon ObjectLocked; QIcon ObjectRotateRight; QIcon ObjectUnlocked; QIcon Orientations; QIcon PartArc; QIcon PartCircle; QIcon PartEllipse; QIcon PartLine; QIcon PartPolygon; QIcon PartRectangle; QIcon PartSelect; QIcon PartText; QIcon PartTextField; QIcon PDF; QIcon Phase; QIcon PrintAllPages; QIcon Printer; QIcon PrintLandscape; QIcon PrintPortrait; QIcon PrintTwoPages; QIcon Project; QIcon ProjectFile; QIcon QETIcon; QIcon QETLogo; QIcon QETOxygenLogo; QIcon QtLogo; QIcon Raise; QIcon RemoveColumn; QIcon RemoveRow; QIcon Restore; QIcon SendBackward; QIcon Settings; QIcon SinglePage; QIcon South; QIcon Start; QIcon Terminal; QIcon UserInformations; QIcon ViewFitWidth; QIcon ViewFitWindow; QIcon ViewMove; QIcon ViewRefresh; QIcon West; QIcon WindowNew; QIcon XmlTextFile; QIcon ZoomFitBest; QIcon ZoomIn; QIcon ZoomOriginal; QIcon ZoomOut; } } /** Initialise les icones de l'application QElectroTech */ void QET::Icons::initIcons() { AddColumn .addFile(":/ico/16x16/add_col.png"); AddRow .addFile(":/ico/16x16/add_row.png"); Allowed .addFile(":/ico/16x16/user-online.png"); ApplicationExit .addFile(":/ico/16x16/application-exit.png"); ApplicationExit .addFile(":/ico/22x22/application-exit.png"); ArrowLeft .addFile(":/ico/16x16/arrow-left.png"); ArrowLeft .addFile(":/ico/22x22/arrow-left.png"); ArrowLeftDouble .addFile(":/ico/16x16/arrow-left-double.png"); ArrowLeftDouble .addFile(":/ico/22x22/arrow-left-double.png"); ArrowRight .addFile(":/ico/16x16/arrow-right.png"); ArrowRight .addFile(":/ico/22x22/arrow-right.png"); ArrowRightDouble .addFile(":/ico/16x16/arrow-right-double.png"); ArrowRightDouble .addFile(":/ico/22x22/arrow-right-double.png"); BringForward .addFile(":/ico/22x22/bring_forward.png"); Cancel .addFile(":/ico/16x16/item_cancel.png"); Conductor .addFile(":/ico/22x22/conductor.png"); ConductorSettings .addFile(":/ico/22x22/conductor2.png"); Configure .addFile(":/ico/16x16/configure.png"); Configure .addFile(":/ico/22x22/configure.png"); ConfigureToolbars .addFile(":/ico/16x16/configure-toolbars.png"); ConfigureToolbars .addFile(":/ico/22x22/configure-toolbars.png"); CopyFile .addFile(":/ico/16x16/item_copy.png"); DefaultConductor .addFile(":/ico/22x22/conductor3.png"); DiagramAdd .addFile(":/ico/22x22/diagram_add.png"); Diagram .addFile(":/ico/diagram.png"); DiagramDelete .addFile(":/ico/22x22/diagram_del.png"); DialogCancel .addFile(":/ico/16x16/dialog-cancel.png"); DialogCancel .addFile(":/ico/22x22/dialog-cancel.png"); DialogInformation .addFile(":/ico/22x22/dialog-information.png"); DialogOk .addFile(":/ico/16x16/dialog-ok.png"); DialogOk .addFile(":/ico/22x22/dialog-ok.png"); DocumentClose .addFile(":/ico/16x16/document-close.png"); DocumentClose .addFile(":/ico/22x22/document-close.png"); DocumentExport .addFile(":/ico/16x16/document-export.png"); DocumentExport .addFile(":/ico/22x22/document-export.png"); DocumentExport .addFile(":/ico/128x128/document-export.png"); DocumentImport .addFile(":/ico/16x16/document-import.png"); DocumentImport .addFile(":/ico/22x22/document-import.png"); DocumentNew .addFile(":/ico/16x16/document-new.png"); DocumentNew .addFile(":/ico/22x22/document-new.png"); DocumentOpen .addFile(":/ico/16x16/document-open.png"); DocumentOpen .addFile(":/ico/22x22/document-open.png"); DocumentOpenRecent .addFile(":/ico/16x16/document-open-recent.png"); DocumentOpenRecent .addFile(":/ico/22x22/document-open-recent.png"); DocumentPrint .addFile(":/ico/16x16/document-print.png"); DocumentPrint .addFile(":/ico/22x22/document-print.png"); DocumentPrintFrame .addFile(":/ico/16x16/document-print-frame.png"); DocumentPrintFrame .addFile(":/ico/22x22/document-print-frame.png"); DocumentSave .addFile(":/ico/16x16/document-save.png"); DocumentSave .addFile(":/ico/22x22/document-save.png"); DocumentSaveAll .addFile(":/ico/16x16/document-save-all.png"); DocumentSaveAll .addFile(":/ico/22x22/document-save-all.png"); DocumentSaveAs .addFile(":/ico/16x16/document-save-as.png"); DocumentSaveAs .addFile(":/ico/22x22/document-save-as.png"); East .addFile(":/ico/16x16/east.png"); EditClear .addFile(":/ico/16x16/edit-clear.png"); EditClear .addFile(":/ico/22x22/edit-clear.png"); EditClearLocationBar.addFile(":/ico/16x16/edit-clear-locationbar-ltr.png"); EditClearLocationBar.addFile(":/ico/22x22/edit-clear-locationbar-ltr.png"); EditCopy .addFile(":/ico/16x16/edit-copy.png"); EditCopy .addFile(":/ico/22x22/edit-copy.png"); EditCut .addFile(":/ico/16x16/edit-cut.png"); EditCut .addFile(":/ico/22x22/edit-cut.png"); EditDelete .addFile(":/ico/16x16/edit-delete.png"); EditDelete .addFile(":/ico/22x22/edit-delete.png"); EditPaste .addFile(":/ico/22x22/edit-paste.png"); EditPaste .addFile(":/ico/16x16/edit-paste.png"); EditRedo .addFile(":/ico/16x16/edit-redo.png"); EditRedo .addFile(":/ico/22x22/edit-redo.png"); EditSelectAll .addFile(":/ico/16x16/edit-select-all.png"); EditSelectAll .addFile(":/ico/22x22/edit-select-all.png"); EditUndo .addFile(":/ico/16x16/edit-undo.png"); EditUndo .addFile(":/ico/22x22/edit-undo.png"); Element .addFile(":/ico/oxygen-icons/16x16/mimetypes/application-x-qet-element.png"); Element .addFile(":/ico/oxygen-icons/22x22/mimetypes/application-x-qet-element.png"); Element .addFile(":/ico/oxygen-icons/32x32/mimetypes/application-x-qet-element.png"); ElementDelete .addFile(":/ico/22x22/element-delete.png"); ElementEdit .addFile(":/ico/22x22/element-edit.png"); ElementNew .addFile(":/ico/22x22/element-new.png"); EndLineCircle .addFile(":/ico/16x16/endline-circle.png"); EndLineDiamond .addFile(":/ico/16x16/endline-diamond.png"); EndLineNone .addFile(":/ico/16x16/endline-none.png"); EndLineSimple .addFile(":/ico/16x16/endline-simple.png"); EndLineTriangle .addFile(":/ico/16x16/endline-triangle.png"); EPS .addFile(":/ico/32x32/image-x-eps.png"); Folder .addFile(":/ico/16x16/folder.png"); FolderDelete .addFile(":/ico/22x22/folder-delete.png"); FolderEdit .addFile(":/ico/22x22/folder-edit.png"); FolderNew .addFile(":/ico/16x16/folder-new.png"); FolderNew .addFile(":/ico/22x22/folder-new.png"); Forbidden .addFile(":/ico/16x16/user-busy.png"); FullScreenEnter .addFile(":/ico/16x16/view-fullscreen.png"); FullScreenEnter .addFile(":/ico/22x22/view-fullscreen.png"); FullScreenExit .addFile(":/ico/16x16/view-restore.png"); FullScreenExit .addFile(":/ico/22x22/view-restore.png"); GoDown .addFile(":/ico/16x16/go-down.png"); GoDown .addFile(":/ico/22x22/go-down.png"); GoUp .addFile(":/ico/16x16/go-up.png"); GoUp .addFile(":/ico/22x22/go-up.png"); Ground .addFile(":/ico/16x16/ground.png"); Hide .addFile(":/ico/16x16/masquer.png"); Home .addFile(":/ico/16x16/go-home.png"); Home .addFile(":/ico/22x22/go-home.png"); HotSpot .addFile(":/ico/22x22/hotspot.png"); Lower .addFile(":/ico/22x22/lower.png"); MoveFile .addFile(":/ico/16x16/item_move.png"); Names .addFile(":/ico/22x22/names.png"); Neutral .addFile(":/ico/16x16/neutral.png"); NewDiagram .addFile(":/ico/128x128/diagram.png"); North .addFile(":/ico/16x16/north.png"); ObjectLocked .addFile(":/ico/22x22/object-locked.png"); ObjectRotateRight .addFile(":/ico/16x16/object-rotate-right.png"); ObjectRotateRight .addFile(":/ico/22x22/object-rotate-right.png"); ObjectUnlocked .addFile(":/ico/22x22/object-unlocked.png"); Orientations .addFile(":/ico/16x16/orientations.png"); PartArc .addFile(":/ico/22x22/arc.png"); PartCircle .addFile(":/ico/16x16/circle.png"); PartEllipse .addFile(":/ico/22x22/ellipse.png"); PartLine .addFile(":/ico/22x22/line.png"); PartPolygon .addFile(":/ico/22x22/polygon.png"); PartRectangle .addFile(":/ico/22x22/rectangle.png"); PartSelect .addFile(":/ico/22x22/select.png"); PartText .addFile(":/ico/22x22/text.png"); PartTextField .addFile(":/ico/22x22/textfield.png"); PDF .addFile(":/ico/32x32/application-pdf.png"); Phase .addFile(":/ico/16x16/phase.png"); PrintAllPages .addFile(":/ico/22x22/all_pages.png"); Printer .addFile(":/ico/32x32/printer.png"); Printer .addFile(":/ico/128x128/printer.png"); PrintLandscape .addFile(":/ico/22x22/landscape.png"); PrintPortrait .addFile(":/ico/22x22/portrait.png"); PrintTwoPages .addFile(":/ico/22x22/two_pages.png"); Project .addFile(":/ico/16x16/project.png"); ProjectFile .addFile(":/ico/oxygen-icons/16x16/mimetypes/application-x-qet-project.png"); ProjectFile .addFile(":/ico/oxygen-icons/22x22/mimetypes/application-x-qet-project.png"); ProjectFile .addFile(":/ico/oxygen-icons/32x32/mimetypes/application-x-qet-project.png"); QETIcon .addFile(":/ico/256x256/qelectrotech.png"); QETLogo .addFile(":/ico/16x16/qet.png"); QETLogo .addFile(":/ico/256x256/qet.png"); QETOxygenLogo .addFile(":/ico/oxygen-icons/128x128/apps/qelectrotech.png"); QETOxygenLogo .addFile(":/ico/oxygen-icons/16x16/apps/qelectrotech.png"); QETOxygenLogo .addFile(":/ico/oxygen-icons/22x22/apps/qelectrotech.png"); QETOxygenLogo .addFile(":/ico/oxygen-icons/256x256/apps/qelectrotech.png"); QETOxygenLogo .addFile(":/ico/oxygen-icons/32x32/apps/qelectrotech.png"); QETOxygenLogo .addFile(":/ico/oxygen-icons/48x48/apps/qelectrotech.png"); QETOxygenLogo .addFile(":/ico/oxygen-icons/64x64/apps/qelectrotech.png"); QtLogo .addFile(":/ico/32x32/qt.png"); Raise .addFile(":/ico/22x22/raise.png"); RemoveColumn .addFile(":/ico/16x16/remove_col.png"); RemoveRow .addFile(":/ico/16x16/remove_row.png"); Restore .addFile(":/ico/22x22/restaurer.png"); SendBackward .addFile(":/ico/22x22/send_backward.png"); Settings .addFile(":/ico/128x128/settings.png"); SinglePage .addFile(":/ico/22x22/single_page.png"); South .addFile(":/ico/16x16/south.png"); Start .addFile(":/ico/22x22/start.png"); Terminal .addFile(":/ico/22x22/terminal.png"); UserInformations .addFile(":/ico/16x16/preferences-desktop-user.png"); UserInformations .addFile(":/ico/22x22/preferences-desktop-user.png"); ViewFitWidth .addFile(":/ico/22x22/view_fit_width.png"); ViewFitWindow .addFile(":/ico/22x22/view_fit_window.png"); ViewMove .addFile(":/ico/22x22/move.png"); ViewRefresh .addFile(":/ico/16x16/view-refresh.png"); ViewRefresh .addFile(":/ico/22x22/view-refresh.png"); West .addFile(":/ico/16x16/west.png"); WindowNew .addFile(":/ico/16x16/window-new.png"); WindowNew .addFile(":/ico/22x22/window-new.png"); XmlTextFile .addFile(":/ico/16x16/text-xml.png"); XmlTextFile .addFile(":/ico/22x22/text-xml.png"); XmlTextFile .addFile(":/ico/32x32/text-xml.png"); ZoomFitBest .addFile(":/ico/16x16/zoom-fit-best.png"); ZoomFitBest .addFile(":/ico/22x22/zoom-fit-best.png"); ZoomIn .addFile(":/ico/16x16/zoom-in.png"); ZoomIn .addFile(":/ico/22x22/zoom-in.png"); ZoomOriginal .addFile(":/ico/16x16/zoom-original.png"); ZoomOriginal .addFile(":/ico/22x22/zoom-original.png"); ZoomOut .addFile(":/ico/16x16/zoom-out.png"); ZoomOut .addFile(":/ico/22x22/zoom-out.png"); } qelectrotech-0.22+svn897/sources/exportpropertieswidget.h0000644000175000017500000000363511320140732023575 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef EXPORT_PROPERTIES_WIDGET_H #define EXPORT_PROPERTIES_WIDGET_H #include #include "exportproperties.h" /** Ce widget permet d'editer les differentes options utilisees pour exporter un projet. */ class ExportPropertiesWidget : public QWidget { Q_OBJECT // constructeurs, destructeur public: ExportPropertiesWidget(QWidget * = 0); ExportPropertiesWidget(const ExportProperties &, QWidget * = 0); virtual ~ExportPropertiesWidget(); private: ExportPropertiesWidget(const ExportPropertiesWidget &); // methodes public: void setExportProperties(const ExportProperties &); ExportProperties exportProperties() const; void setPrintingMode(bool); public slots: void slot_chooseADirectory(); signals: void formatChanged(); void exportedAreaChanged(); void optionChanged(); // methodes privees private: void build(); // attributs private: QLabel *dirpath_label; QLineEdit *dirpath; QPushButton *button_browse; QLabel *format_label; QComboBox *format; QCheckBox *draw_grid; QCheckBox *draw_border; QCheckBox *draw_inset; QCheckBox *draw_terminals; QCheckBox *draw_colored_conductors; QRadioButton *export_border; QRadioButton *export_elements; QButtonGroup *exported_content_choices; }; #endif qelectrotech-0.22+svn897/sources/integrationmoveelementshandler.h0000644000175000017500000000527011320140732025235 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef INTEGRATION_MOVE_ELEMENTS_HANDLER_H #define INTEGRATION_MOVE_ELEMENTS_HANDLER_H #include "basicmoveelementshandler.h" #include /** Cette classe implemente la classe strategie MoveElementsHandler. Elle correspond a un BasiMoveElementsHandler configure pour repondre QET::Abort a toutes les questions. Elle redefinit seulement la methode elementAlreadyExists pour, dans le cadre de l'integration d'un element dans un projet demander a l'utilisateur s'il souahite : * ecraser l'element precedent, manifestement different * conserver l'element precedent, en renommant le nouveau * annuler l'integration de l'element dans le projet */ class IntegrationMoveElementsHandler : public BasicMoveElementsHandler { Q_OBJECT // constructeurs, destructeur public: IntegrationMoveElementsHandler(QWidget * = 0); virtual ~IntegrationMoveElementsHandler(); private: IntegrationMoveElementsHandler(const IntegrationMoveElementsHandler &); // methodes public: virtual QET::Action elementAlreadyExists(ElementDefinition *, ElementDefinition *); virtual QString nameForRenamingOperation(); private: QString dateString() const; QString newNameForElement(const ElementDefinition *); QET::Action askUser(ElementDefinition *, ElementDefinition *); void initDialog(); void radioButtonleftMargin(QRadioButton *); private slots: void correctRadioButtons(); // attributs private: QWidget *parent_widget_; ///< Widget a utiliser comme parent pour l'affichage des dialogues QString rename_; ///< Nom a utiliser lors d'une operation de renommage QDialog *integ_dialog_; ///< Dialogue en cas de conflit lors de l'integration d'un element QLabel *dialog_label_; QVBoxLayout *dialog_vlayout_; QGridLayout *dialog_glayout; QDialogButtonBox *buttons_; QRadioButton *use_existing_elmt_; QRadioButton *integrate_new_element_; QRadioButton *erase_element_; QRadioButton *integrate_both_; QButtonGroup *button_group1_; QButtonGroup *button_group2_; }; #endif qelectrotech-0.22+svn897/sources/qetarguments.h0000644000175000017500000000517211320140732021450 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_ARGUMENTS_H #define QET_ARGUMENTS_H #include /** Cette classe represente un ensemble d'arguments que l'application peut recevoir en parametres. Initialisee a partir d'une liste de chaine de caracteres, chaque instance de cette classe permet d'acceder aux differents types de fichiers et options passes en parametres. */ class QETArguments : public QObject { Q_OBJECT // constructeurs, destructeur public: QETArguments(QObject * = 0); QETArguments(const QList &, QObject * = 0); QETArguments(const QETArguments &); QETArguments &operator=(const QETArguments &); virtual ~QETArguments(); // methodes public: virtual void setArguments(const QList &); virtual QList arguments() const; virtual QList files() const; virtual QList projectFiles() const; virtual QList elementFiles() const; #ifdef QET_ALLOW_OVERRIDE_CED_OPTION virtual bool commonElementsDirSpecified() const; virtual QString commonElementsDir() const; #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION virtual bool configDirSpecified() const; virtual QString configDir() const; #endif virtual bool langDirSpecified() const; virtual QString langDir() const; virtual bool printHelpRequested() const; virtual bool printLicenseRequested() const; virtual bool printVersionRequested() const; virtual QList options() const; virtual QList unknownOptions() const; private: void clear(); void parseArguments(const QList &); void handleFileArgument(const QString &); void handleOptionArgument(const QString &); // attributs private: QList project_files_; QList element_files_; QList options_; QList unknown_options_; #ifdef QET_ALLOW_OVERRIDE_CED_OPTION QString common_elements_dir_; #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION QString config_dir_; #endif QString lang_dir_; bool print_help_; bool print_license_; bool print_version_; }; #endif qelectrotech-0.22+svn897/sources/basicmoveelementshandler.h0000644000175000017500000000446311320140732023776 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef BASIC_MOVE_ELEMENTS_HANDLER #define BASIC_MOVE_ELEMENTS_HANDLER #include "moveelementshandler.h" /** Cette classe implemente basiquement la classe strategie MoveElementsHandler Elle retourne toujours la meme action (parametrable) pour une methode donnee. */ class BasicMoveElementsHandler : public MoveElementsHandler { Q_OBJECT // constructeurs, destructeur public: BasicMoveElementsHandler(QObject * = 0); virtual ~BasicMoveElementsHandler(); private: BasicMoveElementsHandler(const BasicMoveElementsHandler &); // methodes public: virtual void setActionIfItemAlreadyExists(QET::Action); virtual void setActionIfItemIsNotReadable(QET::Action); virtual void setActionIfItemIsNotWritable(QET::Action); virtual void setActionIfItemTriggersAnError(QET::Action); virtual void setNameForRenamingOperation(const QString &); virtual QET::Action categoryAlreadyExists(ElementsCategory *src, ElementsCategory *dst); virtual QET::Action elementAlreadyExists(ElementDefinition *src, ElementDefinition *dst); virtual QET::Action categoryIsNotReadable(ElementsCategory *); virtual QET::Action elementIsNotReadable(ElementDefinition *); virtual QET::Action categoryIsNotWritable(ElementsCategory *); virtual QET::Action elementIsNotWritable(ElementDefinition *); virtual QET::Action errorWithACategory(ElementsCategory *, const QString &); virtual QET::Action errorWithAnElement(ElementDefinition *, const QString &); virtual QString nameForRenamingOperation(); // attributs private: QET::Action already_exists_; QET::Action not_readable_; QET::Action not_writable_; QET::Action error_; QString rename_; }; #endif qelectrotech-0.22+svn897/sources/fileelementdefinition.h0000644000175000017500000000335411320140732023273 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef FILE_ELEMENT_DEFINITION #define FILE_ELEMENT_DEFINITION #include #include "elementdefinition.h" class FileElementsCategory; class FileElementsCollection; /** Cette classe represente la definition d'un element stockee dans un fichier. */ class FileElementDefinition : public ElementDefinition { public: FileElementDefinition(const QString &, FileElementsCategory * = 0, FileElementsCollection * = 0); virtual ~FileElementDefinition(); private: FileElementDefinition(const FileElementDefinition &); // methodes public: virtual QDomElement xml(); virtual bool setXml(const QDomElement &); virtual bool write(); virtual bool isNull() const; virtual QString pathName() const; virtual QString virtualPath(); virtual void reload(); virtual bool exists(); virtual bool isReadable(); virtual bool isWritable(); virtual bool remove(); virtual bool hasFilePath(); virtual QString filePath(); virtual void setFilePath(const QString &); // attributs private: bool is_null; QString file_path; QDomDocument xml_element_; }; #endif qelectrotech-0.22+svn897/sources/elementspanelwidget.h0000644000175000017500000000650611342301024022770 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTS_PANEL_WIDGET_H #define ELEMENTS_PANEL_WIDGET_H #include #include "elementspanel.h" /** Cette classe est un widget qui contient le panel d'elements surplombe d'une barre d'outils avec differentes actions pour gerer les elements. */ class ElementsPanelWidget : public QWidget { Q_OBJECT // constructeurs, destructeur public: ElementsPanelWidget(QWidget * = 0); virtual ~ElementsPanelWidget(); private: ElementsPanelWidget(const ElementsPanelWidget &); // attributs private: ElementsPanel *elements_panel; QToolBar *toolbar, *filter_toolbar; QAction *reload; QAction *new_category, *edit_category, *delete_category; QAction *delete_collection; QAction *new_element, *import_element, *edit_element, *delete_element; QAction *prj_close, *prj_edit_prop, *prj_prop_diagram, *prj_add_diagram, *prj_del_diagram, *prj_move_diagram_up, *prj_move_diagram_down; QAction *copy_elements_, *move_elements_, *cancel_elements_; QMenu *context_menu; QAction *erase_textfield; QLineEdit *filter_textfield; ElementsCollectionItem *dnd_item_src_, *dnd_item_dst_; // methodes public: inline ElementsPanel &elementsPanel() const; signals: void requestForNewDiagram(QETProject *); void requestForProjectClosing(QETProject *); void requestForProjectPropertiesEdition(QETProject *); void requestForDiagramPropertiesEdition(Diagram *); void requestForDiagramDeletion(Diagram *); void requestForDiagramMoveUp(Diagram *); void requestForDiagramMoveDown(Diagram *); public slots: void clearFilterTextField(); void reloadAndFilter(); void closeProject(); void editProjectProperties(); void editDiagramProperties(); void newDiagram(); void deleteDiagram(); void moveDiagramUp(); void moveDiagramDown(); void newCategory(); void newElement(); void importElement(); void editCategory(); void editElement(); void deleteCategory(); void deleteElement(); void updateButtons(); int launchCategoriesManager(); void handleContextMenu(const QPoint &); void handleCollectionRequest(ElementsCollectionItem *); void handleMoveElementsRequest(ElementsCollectionItem *, ElementsCollectionItem *, const QPoint & = QPoint()); void moveElements(); void moveElements(ElementsCollectionItem *, ElementsCollectionItem *); void copyElements(); void copyElements(ElementsCollectionItem *, ElementsCollectionItem *); private: void launchElementEditor(const ElementsLocation &); void launchCategoryEditor(const ElementsLocation &); ElementsCategory *writableSelectedCategory(); }; /** @return Le panel d'elements imbrique dans ce widget */ inline ElementsPanel &ElementsPanelWidget::elementsPanel() const { return(*elements_panel); } #endif qelectrotech-0.22+svn897/sources/qetdiagrameditor.cpp0000644000175000017500000020452711344020127022617 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qetdiagrameditor.h" #include "qetapp.h" #include "diagramview.h" #include "diagram.h" #include "elementspanelwidget.h" #include "conductorpropertieswidget.h" #include "qetproject.h" #include "projectview.h" #include "recentfiles.h" #include "qeticons.h" #include "qetelementeditor.h" #include "qetmessagebox.h" /** constructeur @param files Liste de fichiers a ouvrir @param parent le widget parent de la fenetre principale */ QETDiagramEditor::QETDiagramEditor(const QStringList &files, QWidget *parent) : QMainWindow(parent), open_dialog_dir(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation)), can_update_actions(true) { // mise en place de l'interface MDI au centre de l'application setCentralWidget(&workspace); // nomme l'objet afin qu'il soit reperable par les feuilles de style workspace.setBackground(QBrush(Qt::NoBrush)); workspace.setObjectName("mdiarea"); // mise en place du signalmapper connect(&windowMapper, SIGNAL(mapped(QWidget *)), this, SLOT(activateWidget(QWidget *))); // titre de la fenetre setWindowTitle(tr("QElectroTech", "window title")); // icone de la fenetre setWindowIcon(QET::Icons::QETLogo); // barre de statut de la fenetre statusBar() -> showMessage(tr("QElectroTech", "status bar message")); // ajout du panel d'Elements en tant que QDockWidget qdw_pa = new QDockWidget(tr("Panel d'\351l\351ments", "dock title"), this); qdw_pa -> setObjectName("elements panel"); qdw_pa -> setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); qdw_pa -> setFeatures(QDockWidget::AllDockWidgetFeatures); qdw_pa -> setMinimumWidth(160); qdw_pa -> setWidget(pa = new ElementsPanelWidget(qdw_pa)); connect(&(pa -> elementsPanel()), SIGNAL(requestForDiagram(Diagram *)), this, SLOT(activateDiagram(Diagram *))); connect(&(pa -> elementsPanel()), SIGNAL(requestForProject(QETProject *)), this, SLOT(activateProject(QETProject *))); connect(pa, SIGNAL(requestForProjectClosing(QETProject *)), this, SLOT(closeProject(QETProject *))); connect(pa, SIGNAL(requestForProjectPropertiesEdition(QETProject *)), this, SLOT(editProjectProperties(QETProject *))); connect(pa, SIGNAL(requestForDiagramPropertiesEdition(Diagram *)), this, SLOT(editDiagramProperties(Diagram *))); connect(pa, SIGNAL(requestForNewDiagram(QETProject *)), this, SLOT(addDiagramToProject(QETProject *))); connect(pa, SIGNAL(requestForDiagramDeletion(Diagram *)), this, SLOT(removeDiagram(Diagram *))); connect(pa, SIGNAL(requestForDiagramMoveUp(Diagram *)), this, SLOT(moveDiagramUp(Diagram *))); connect(pa, SIGNAL(requestForDiagramMoveDown(Diagram *)), this, SLOT(moveDiagramDown(Diagram *))); qdw_undo = new QDockWidget(tr("Annulations", "dock title")); qdw_undo -> setObjectName("diagram_undo"); qdw_pa -> setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); qdw_undo -> setFeatures(QDockWidget::AllDockWidgetFeatures); qdw_undo -> setMinimumWidth(160); tabifyDockWidget(qdw_pa, qdw_undo); QUndoView *undo_view = new QUndoView(&undo_group, this); undo_view -> setEmptyLabel(tr("Aucune modification")); qdw_undo -> setWidget(undo_view); addDockWidget(Qt::LeftDockWidgetArea, qdw_undo); tabifyDockWidget(qdw_undo, qdw_pa); // mise en place des actions actions(); // mise en place de la barre d'outils toolbar(); // mise en place des menus menus(); // la fenetre est maximisee par defaut setMinimumSize(QSize(500, 350)); setWindowState(Qt::WindowMaximized); // connexions signaux / slots pour une interface sensee connect(&workspace, SIGNAL(subWindowActivated(QMdiSubWindow *)), this, SLOT(slot_updateWindowsMenu())); connect(&workspace, SIGNAL(subWindowActivated(QMdiSubWindow *)), this, SLOT(slot_updateActions())); connect(QApplication::clipboard(), SIGNAL(dataChanged()), this, SLOT(slot_updatePasteAction())); // lecture des parametres readSettings(); // affichage show(); // si des chemins de fichiers valides sont passes en arguments uint opened_projects = 0; if (files.count()) { // alors on ouvre ces fichiers foreach(QString file, files) { bool project_opening = openAndAddProject(file, false); if (project_opening) { ++ opened_projects; } } } // si aucun schema n'a ete ouvert jusqu'a maintenant, on ouvre un nouveau schema if (!opened_projects) newProject(); } /** Destructeur */ QETDiagramEditor::~QETDiagramEditor() { } /** Permet de quitter l'application lors de la fermeture de la fenetre principale @param qce Le QCloseEvent correspondant a l'evenement de fermeture */ void QETDiagramEditor::closeEvent(QCloseEvent *qce) { // quitte directement s'il n'y a aucun projet ouvert bool can_quit = true; if (openedProjects().count()) { // s'assure que la fenetre soit visible s'il y a des projets a fermer if (!isVisible() || isMinimized()) { if (isMaximized()) showMaximized(); else showNormal(); } // sinon demande la permission de fermer chaque projet foreach(ProjectView *project, openedProjects()) { if (!closeProject(project)) { can_quit = false; qce -> ignore(); break; } } } if (can_quit) { writeSettings(); setAttribute(Qt::WA_DeleteOnClose); qce -> accept(); } } /** Fait passer la fenetre du mode plein ecran au mode normal et vice-versa */ void QETDiagramEditor::toggleFullScreen() { setWindowState(windowState() ^ Qt::WindowFullScreen); } /** Mise en place des actions */ void QETDiagramEditor::actions() { // icones et labels new_file = new QAction(QET::Icons::DocumentNew, tr("&Nouveau"), this); open_file = new QAction(QET::Icons::DocumentOpen, tr("&Ouvrir"), this); close_file = new QAction(QET::Icons::DocumentClose, tr("&Fermer"), this); save_file = new QAction(QET::Icons::DocumentSave, tr("&Enregistrer"), this); save_file_sous = new QAction(QET::Icons::DocumentSaveAs, tr("Enregistrer sous"), this); save_all = new QAction(QET::Icons::DocumentSaveAll, tr("&Enregistrer tous les sch\351mas"), this); import_diagram = new QAction(QET::Icons::DocumentImport, tr("&Importer"), this); export_diagram = new QAction(QET::Icons::DocumentExport, tr("E&xporter"), this); print = new QAction(QET::Icons::DocumentPrint, tr("Imprimer"), this); quit_editor = new QAction(QET::Icons::ApplicationExit, tr("&Quitter"), this); undo = undo_group.createUndoAction(this, tr("Annuler")); undo -> setIcon(QET::Icons::EditUndo); redo = undo_group.createRedoAction(this, tr("Refaire")); redo -> setIcon(QET::Icons::EditRedo); cut = new QAction(QET::Icons::EditCut, tr("Co&uper"), this); copy = new QAction(QET::Icons::EditCopy, tr("Cop&ier"), this); paste = new QAction(QET::Icons::EditPaste, tr("C&oller"), this); select_all = new QAction(QET::Icons::EditSelectAll, tr("Tout s\351lectionner"), this); select_nothing = new QAction( tr("D\351s\351lectionner tout"), this); select_invert = new QAction( tr("Inverser la s\351lection"), this); delete_selection = new QAction(QET::Icons::EditDelete, tr("Supprimer"), this); rotate_selection = new QAction(QET::Icons::ObjectRotateRight, tr("Pivoter"), this); selection_prop = new QAction(QET::Icons::DialogInformation, tr("Propri\351t\351s de la s\351lection"), this); conductor_reset = new QAction(QET::Icons::ConductorSettings, tr("R\351initialiser les conducteurs"), this); conductor_default = new QAction(QET::Icons::DefaultConductor, tr("Conducteurs par d\351faut"), this); infos_diagram = new QAction(QET::Icons::DialogInformation, tr("Propri\351t\351s du sch\351ma"), this); add_text = new QAction(QET::Icons::PartTextField, tr("Ajouter un champ de texte"), this); add_column = new QAction(QET::Icons::AddColumn, tr("Ajouter une colonne"), this); remove_column = new QAction(QET::Icons::RemoveColumn, tr("Enlever une colonne"), this); add_row = new QAction(QET::Icons::AddRow, tr("Ajouter une ligne"), this); remove_row = new QAction(QET::Icons::RemoveRow, tr("Enlever une ligne"), this); prj_edit_prop = new QAction(QET::Icons::DialogInformation, tr("Propri\351t\351s du projet"), this); prj_add_diagram = new QAction(QET::Icons::DiagramAdd, tr("Ajouter un sch\351ma"), this); prj_del_diagram = new QAction(QET::Icons::DiagramDelete, tr("Supprimer le sch\351ma"), this); prj_clean = new QAction(QET::Icons::EditClear, tr("Nettoyer le projet"), this); zoom_in = new QAction(QET::Icons::ZoomIn, tr("Zoom avant"), this); zoom_out = new QAction(QET::Icons::ZoomOut, tr("Zoom arri\350re"), this); zoom_fit = new QAction(QET::Icons::ZoomFitBest, tr("Zoom adapt\351"), this); zoom_reset = new QAction(QET::Icons::ZoomOriginal, tr("Pas de zoom"), this); tabbed_view_mode = new QAction( tr("en utilisant des onglets"), this); windowed_view_mode= new QAction( tr("en utilisant des fen\352tres"), this); mode_selection = new QAction(QET::Icons::PartSelect, tr("Mode Selection"), this); mode_visualise = new QAction(QET::Icons::ViewMove, tr("Mode Visualisation"), this); fullscreen = new QAction(this); slot_updateFullScreenAction(); configure = new QAction(QET::Icons::Configure, tr("&Configurer QElectroTech"), this); tile_window = new QAction( tr("&Mosa\357que"), this); cascade_window = new QAction( tr("&Cascade"), this); next_window = new QAction( tr("Projet suivant"), this); prev_window = new QAction( tr("Projet pr\351c\351dent"), this); about_qet = new QAction(QET::Icons::QETLogo, tr("\300 &propos de QElectroTech"), this); about_qt = new QAction(QET::Icons::QtLogo, tr("\300 propos de &Qt"), this); // raccourcis clavier new_file -> setShortcut(QKeySequence::New); open_file -> setShortcut(QKeySequence::Open); close_file -> setShortcut(QKeySequence::Close); save_file -> setShortcut(QKeySequence::Save); import_diagram -> setShortcut(QKeySequence(tr("Ctrl+Shift+I"))); export_diagram -> setShortcut(QKeySequence(tr("Ctrl+Shift+X"))); print -> setShortcut(QKeySequence(QKeySequence::Print)); quit_editor -> setShortcut(QKeySequence(tr("Ctrl+Q"))); undo -> setShortcut(QKeySequence::Undo); redo -> setShortcut(QKeySequence::Redo); cut -> setShortcut(QKeySequence::Cut); copy -> setShortcut(QKeySequence::Copy); paste -> setShortcut(QKeySequence::Paste); select_all -> setShortcut(QKeySequence::SelectAll); select_nothing -> setShortcut(QKeySequence(tr("Ctrl+Shift+A"))); select_invert -> setShortcut(QKeySequence(tr("Ctrl+I"))); #ifndef Q_WS_MAC delete_selection -> setShortcut(QKeySequence(Qt::Key_Delete)); #else delete_selection -> setShortcut(QKeySequence(tr("Backspace"))); #endif rotate_selection -> setShortcut(QKeySequence(tr("Space"))); selection_prop -> setShortcut(QKeySequence(tr("Ctrl+J"))); conductor_reset -> setShortcut(QKeySequence(tr("Ctrl+K"))); infos_diagram -> setShortcut(QKeySequence(tr("Ctrl+L"))); conductor_default -> setShortcut(QKeySequence(tr("Ctrl+D"))); prj_add_diagram -> setShortcut(QKeySequence(tr("Ctrl+T"))); zoom_in -> setShortcut(QKeySequence::ZoomIn); zoom_out -> setShortcut(QKeySequence::ZoomOut); zoom_fit -> setShortcut(QKeySequence(tr("Ctrl+9"))); zoom_reset -> setShortcut(QKeySequence(tr("Ctrl+0"))); fullscreen -> setShortcut(QKeySequence(tr("Ctrl+Shift+F"))); next_window -> setShortcut(QKeySequence::NextChild); prev_window -> setShortcut(QKeySequence::PreviousChild); // affichage dans la barre de statut new_file -> setStatusTip(tr("Cr\351e un nouveau sch\351ma", "status bar tip")); open_file -> setStatusTip(tr("Ouvre un sch\351ma existant", "status bar tip")); close_file -> setStatusTip(tr("Ferme le sch\351ma courant", "status bar tip")); save_file -> setStatusTip(tr("Enregistre le sch\351ma courant", "status bar tip")); save_file_sous -> setStatusTip(tr("Enregistre le sch\351ma courant avec un autre nom de fichier", "status bar tip")); save_all -> setStatusTip(tr("Enregistre tous les sch\351mas du projet courant", "status bar tip")); import_diagram -> setStatusTip(tr("Importe un sch\351ma dans le sch\351ma courant", "status bar tip")); export_diagram -> setStatusTip(tr("Exporte le sch\351ma courant dans un autre format", "status bar tip")); print -> setStatusTip(tr("Imprime le sch\351ma courant", "status bar tip")); quit_editor -> setStatusTip(tr("Ferme l'application QElectroTech", "status bar tip")); undo -> setStatusTip(tr("Annule l'action pr\351c\351dente", "status bar tip")); redo -> setStatusTip(tr("Restaure l'action annul\351e", "status bar tip")); cut -> setStatusTip(tr("Transf\350re les \351l\351ments s\351lectionn\351s dans le presse-papier", "status bar tip")); copy -> setStatusTip(tr("Copie les \351l\351ments s\351lectionn\351s dans le presse-papier", "status bar tip")); paste -> setStatusTip(tr("Place les \351l\351ments du presse-papier sur le sch\351ma", "status bar tip")); select_all -> setStatusTip(tr("S\351lectionne tous les \351l\351ments du sch\351ma", "status bar tip")); select_nothing -> setStatusTip(tr("D\351s\351lectionne tous les \351l\351ments du sch\351ma", "status bar tip")); select_invert -> setStatusTip(tr("D\351s\351lectionne les \351l\351ments s\351lectionn\351s et s\351lectionne les \351l\351ments non s\351lectionn\351s", "status bar tip")); delete_selection -> setStatusTip(tr("Enl\350ve les \351l\351ments s\351lectionn\351s du sch\351ma", "status bar tip")); rotate_selection -> setStatusTip(tr("Pivote les \351l\351ments s\351lectionn\351s", "status bar tip")); selection_prop -> setStatusTip(tr("\311dite les propri\351t\351s des objets s\351lectionn\351", "status bar tip")); conductor_reset -> setStatusTip(tr("Recalcule les chemins des conducteurs sans tenir compte des modifications", "status bar tip")); conductor_default -> setStatusTip(tr("Sp\351cifie les propri\351t\351s par d\351faut des conducteurs", "status bar tip")); infos_diagram -> setStatusTip(tr("\311dite les informations affich\351es par le cartouche", "status bar tip")); add_column -> setStatusTip(tr("Ajoute une colonne au sch\351ma", "status bar tip")); remove_column -> setStatusTip(tr("Enl\350ve une colonne au sch\351ma", "status bar tip")); add_row -> setStatusTip(tr("Agrandit le sch\351ma en hauteur", "status bar tip")); remove_row -> setStatusTip(tr("R\351tr\351cit le sch\351ma en hauteur", "status bar tip")); zoom_in -> setStatusTip(tr("Agrandit le sch\351ma", "status bar tip")); zoom_out -> setStatusTip(tr("R\351tr\351cit le sch\351ma", "status bar tip")); zoom_fit -> setStatusTip(tr("Adapte la taille du sch\351ma afin qu'il soit enti\350rement visible", "status bar tip")); zoom_reset -> setStatusTip(tr("Restaure le zoom par d\351faut", "status bar tip")); windowed_view_mode -> setStatusTip(tr("Pr\351sente les diff\351rents projets ouverts dans des sous-fen\352tres", "status bar tip")); tabbed_view_mode -> setStatusTip(tr("Pr\351sente les diff\351rents projets ouverts des onglets", "status bar tip")); mode_selection -> setStatusTip(tr("Permet de s\351lectionner les \351l\351ments", "status bar tip")); mode_visualise -> setStatusTip(tr("Permet de visualiser le sch\351ma sans pouvoir le modifier", "status bar tip")); configure -> setStatusTip(tr("Permet de r\351gler diff\351rents param\350tres de QElectroTech", "status bar tip")); tile_window -> setStatusTip(tr("Dispose les fen\352tres en mosa\357que", "status bar tip")); cascade_window -> setStatusTip(tr("Dispose les fen\352tres en cascade", "status bar tip")); next_window -> setStatusTip(tr("Active le projet suivant", "status bar tip")); prev_window -> setStatusTip(tr("Active le projet pr\351c\351dent", "status bar tip")); about_qet -> setStatusTip(tr("Affiche des informations sur QElectroTech", "status bar tip")); about_qt -> setStatusTip(tr("Affiche des informations sur la biblioth\350que Qt", "status bar tip")); // traitements speciaux add_text -> setCheckable(true); windowed_view_mode -> setCheckable(true); tabbed_view_mode -> setCheckable(true); mode_selection -> setCheckable(true); mode_visualise -> setCheckable(true); mode_selection -> setChecked(true); grp_visu_sel = new QActionGroup(this); grp_visu_sel -> addAction(mode_selection); grp_visu_sel -> addAction(mode_visualise); grp_visu_sel -> setExclusive(true); grp_view_mode = new QActionGroup(this); grp_view_mode -> addAction(windowed_view_mode); grp_view_mode -> addAction(tabbed_view_mode); grp_view_mode -> setExclusive(true); QETApp *qet_app = QETApp::instance(); // connexion a des slots connect(quit_editor, SIGNAL(triggered()), this, SLOT(close()) ); connect(select_all, SIGNAL(triggered()), this, SLOT(slot_selectAll()) ); connect(select_nothing, SIGNAL(triggered()), this, SLOT(slot_selectNothing()) ); connect(select_invert, SIGNAL(triggered()), this, SLOT(slot_selectInvert()) ); connect(delete_selection, SIGNAL(triggered()), this, SLOT(slot_delete()) ); connect(rotate_selection, SIGNAL(triggered()), this, SLOT(slot_rotate()) ); connect(fullscreen, SIGNAL(triggered()), this, SLOT(toggleFullScreen()) ); connect(configure, SIGNAL(triggered()), qet_app, SLOT(configureQET()) ); connect(windowed_view_mode, SIGNAL(triggered()), this, SLOT(setWindowedMode()) ); connect(tabbed_view_mode, SIGNAL(triggered()), this, SLOT(setTabbedMode()) ); connect(mode_selection, SIGNAL(triggered()), this, SLOT(slot_setSelectionMode()) ); connect(mode_visualise, SIGNAL(triggered()), this, SLOT(slot_setVisualisationMode()) ); connect(about_qet, SIGNAL(triggered()), qet_app, SLOT(aboutQET()) ); connect(about_qt, SIGNAL(triggered()), qet_app, SLOT(aboutQt()) ); connect(prj_edit_prop, SIGNAL(triggered()), this, SLOT(editCurrentProjectProperties())); connect(prj_add_diagram, SIGNAL(triggered()), this, SLOT(addDiagramToProject()) ); connect(prj_del_diagram, SIGNAL(triggered()), this, SLOT(removeDiagramFromProject()) ); connect(prj_clean, SIGNAL(triggered()), this, SLOT(cleanCurrentProject()) ); connect(zoom_in, SIGNAL(triggered()), this, SLOT(slot_zoomIn()) ); connect(zoom_out, SIGNAL(triggered()), this, SLOT(slot_zoomOut()) ); connect(zoom_fit, SIGNAL(triggered()), this, SLOT(slot_zoomFit()) ); connect(zoom_reset, SIGNAL(triggered()), this, SLOT(slot_zoomReset()) ); connect(print, SIGNAL(triggered()), this, SLOT(printDialog()) ); connect(export_diagram, SIGNAL(triggered()), this, SLOT(exportDialog()) ); connect(save_file_sous, SIGNAL(triggered()), this, SLOT(saveAsDialog()) ); connect(save_file, SIGNAL(triggered()), this, SLOT(save()) ); connect(save_all, SIGNAL(triggered()), this, SLOT(saveAll()) ); connect(new_file, SIGNAL(triggered()), this, SLOT(newProject()) ); connect(open_file, SIGNAL(triggered()), this, SLOT(openProject()) ); connect(close_file, SIGNAL(triggered()), this, SLOT(closeCurrentProject()) ); connect(cut, SIGNAL(triggered()), this, SLOT(slot_cut()) ); connect(copy, SIGNAL(triggered()), this, SLOT(slot_copy()) ); connect(paste, SIGNAL(triggered()), this, SLOT(slot_paste()) ); connect(tile_window, SIGNAL(triggered()), &workspace, SLOT(tileSubWindows()) ); connect(cascade_window, SIGNAL(triggered()), &workspace, SLOT(cascadeSubWindows()) ); connect(next_window, SIGNAL(triggered()), &workspace, SLOT(activateNextSubWindow()) ); connect(prev_window, SIGNAL(triggered()), &workspace, SLOT(activatePreviousSubWindow()) ); connect(selection_prop, SIGNAL(triggered()), this, SLOT(editSelectionProperties()) ); connect(conductor_reset, SIGNAL(triggered()), this, SLOT(slot_resetConductors()) ); connect(conductor_default, SIGNAL(triggered()), this, SLOT(slot_editDefaultConductors())); connect(infos_diagram, SIGNAL(triggered()), this, SLOT(editCurrentDiagramProperties())); connect(add_text, SIGNAL(triggered()), this, SLOT(slot_addText()) ); connect(add_column, SIGNAL(triggered()), this, SLOT(slot_addColumn()) ); connect(remove_column, SIGNAL(triggered()), this, SLOT(slot_removeColumn()) ); connect(add_row, SIGNAL(triggered()), this, SLOT(slot_addRow()) ); connect(remove_row, SIGNAL(triggered()), this, SLOT(slot_removeRow()) ); } /** Gere les evenements du l'editeur de schema Reimplemente ici pour : * eviter un conflit sur le raccourci clavier "Ctrl+W" (QKeySequence::Close) * mettre a jour l'action permettant d'entrer en mode plein ecran ou d'en sortir @param e Evenement */ bool QETDiagramEditor::event(QEvent *e) { if (e -> type() == QEvent::ShortcutOverride) { QKeyEvent *shortcut_event = static_cast(e); if (shortcut_event && shortcut_event -> matches(QKeySequence::Close)) { close_file -> trigger(); e -> accept(); return(true); } } else if (e -> type() == QEvent::WindowStateChange) { slot_updateFullScreenAction(); } return(QMainWindow::event(e)); } /** Mise en place des menus */ void QETDiagramEditor::menus() { QMenu *menu_fichier = menuBar() -> addMenu(tr("&Fichier")); QMenu *menu_edition = menuBar() -> addMenu(tr("&\311dition")); QMenu *menu_project = menuBar() -> addMenu(tr("&Projet")); QMenu *menu_affichage = menuBar() -> addMenu(tr("Afficha&ge")); //QMenu *menu_outils = menuBar() -> addMenu(tr("O&utils")); QMenu *menu_config = menuBar() -> addMenu(tr("&Configuration")); windows_menu = menuBar() -> addMenu(tr("Fe&n\352tres")); QMenu *menu_aide = menuBar() -> addMenu(tr("&Aide")); // tear off feature rulezz... pas ^^ mais bon... menu_fichier -> setTearOffEnabled(true); menu_edition -> setTearOffEnabled(true); menu_project -> setTearOffEnabled(true); menu_affichage -> setTearOffEnabled(true); //menu_outils -> setTearOffEnabled(true); menu_config -> setTearOffEnabled(true); windows_menu -> setTearOffEnabled(true); menu_aide -> setTearOffEnabled(true); // menu Fichier menu_fichier -> addAction(new_file); menu_fichier -> addAction(open_file); menu_fichier -> addMenu(QETApp::projectsRecentFiles() -> menu()); connect(QETApp::projectsRecentFiles(), SIGNAL(fileOpeningRequested(const QString &)), this, SLOT(openRecentFile(const QString &))); menu_fichier -> addAction(save_file); menu_fichier -> addAction(save_file_sous); menu_fichier -> addAction(save_all); menu_fichier -> addAction(close_file); menu_fichier -> addSeparator(); //menu_fichier -> addAction(import_diagram); menu_fichier -> addAction(export_diagram); //menu_fichier -> addSeparator(); menu_fichier -> addAction(print); menu_fichier -> addSeparator(); menu_fichier -> addAction(quit_editor); // menu Edition menu_edition -> addAction(undo); menu_edition -> addAction(redo); menu_edition -> addSeparator(); menu_edition -> addAction(cut); menu_edition -> addAction(copy); menu_edition -> addAction(paste); menu_edition -> addSeparator(); menu_edition -> addAction(select_all); menu_edition -> addAction(select_nothing); menu_edition -> addAction(select_invert); menu_edition -> addSeparator(); menu_edition -> addAction(delete_selection); menu_edition -> addAction(rotate_selection); menu_edition -> addAction(selection_prop); menu_edition -> addSeparator(); menu_edition -> addAction(conductor_reset); menu_edition -> addAction(conductor_default); menu_edition -> addSeparator(); menu_edition -> addAction(infos_diagram); menu_edition -> addAction(add_column); menu_edition -> addAction(remove_column); menu_edition -> addAction(add_row); menu_edition -> addAction(remove_row); // menu Projet menu_project -> addAction(prj_edit_prop); menu_project -> addAction(prj_add_diagram); menu_project -> addAction(prj_del_diagram); menu_project -> addAction(prj_clean); // menu Configurer > Afficher QMenu *display_toolbars = createPopupMenu(); display_toolbars -> setTearOffEnabled(true); display_toolbars -> setTitle(tr("Afficher")); display_toolbars -> setIcon(QET::Icons::ConfigureToolbars); main_bar -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils principale")); view_bar -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils Affichage")); diagram_bar -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils Sch\351ma")); qdw_pa -> toggleViewAction() -> setStatusTip(tr("Affiche ou non le panel d'appareils")); qdw_undo -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la liste des modifications")); // menu Affichage QMenu *projects_view_mode = menu_affichage -> addMenu(tr("Afficher les projets")); projects_view_mode -> setTearOffEnabled(true); projects_view_mode -> addAction(windowed_view_mode); projects_view_mode -> addAction(tabbed_view_mode); menu_affichage -> addSeparator(); menu_affichage -> addAction(mode_selection); menu_affichage -> addAction(mode_visualise); menu_affichage -> addSeparator(); menu_affichage -> addAction(zoom_in); menu_affichage -> addAction(zoom_out); menu_affichage -> addAction(zoom_fit); menu_affichage -> addAction(zoom_reset); // menu Configuration menu_config -> addMenu(display_toolbars); menu_config -> addAction(fullscreen); menu_config -> addAction(configure); // menu Fenetres slot_updateWindowsMenu(); // menu Aide menu_aide -> addAction(about_qet); menu_aide -> addAction(about_qt); } /** Mise en place de la barre d'outils */ void QETDiagramEditor::toolbar() { main_bar = new QToolBar(tr("Outils"), this); main_bar -> setObjectName("toolbar"); view_bar = new QToolBar(tr("Affichage"), this); view_bar -> setObjectName("display"); diagram_bar = new QToolBar(tr("Sch\351ma"), this); diagram_bar -> setObjectName("diagram"); main_bar -> addAction(new_file); main_bar -> addAction(open_file); main_bar -> addAction(save_file); main_bar -> addAction(save_file_sous); main_bar -> addAction(save_all); main_bar -> addAction(close_file); main_bar -> addAction(print); main_bar -> addSeparator(); main_bar -> addAction(undo); main_bar -> addAction(redo); main_bar -> addSeparator(); main_bar -> addAction(cut); main_bar -> addAction(copy); main_bar -> addAction(paste); main_bar -> addSeparator(); main_bar -> addAction(delete_selection); main_bar -> addAction(rotate_selection); main_bar -> addAction(selection_prop); // Modes selection / visualisation et zoom view_bar -> addAction(mode_selection); view_bar -> addAction(mode_visualise); view_bar -> addSeparator(); view_bar -> addAction(zoom_in); view_bar -> addAction(zoom_out); view_bar -> addAction(zoom_fit); view_bar -> addAction(zoom_reset); diagram_bar -> addAction(infos_diagram); diagram_bar -> addAction(conductor_default); diagram_bar -> addAction(conductor_reset); diagram_bar -> addAction(add_text); // ajout de la barre d'outils a la fenetre principale addToolBar(Qt::TopToolBarArea, main_bar); addToolBar(Qt::TopToolBarArea, view_bar); addToolBar(Qt::TopToolBarArea, diagram_bar); } /** Imprime le schema courant */ void QETDiagramEditor::printDialog() { ProjectView *current_project = currentProject(); if (!current_project) return; current_project -> printProject(); } /** Gere l'export de schema sous forme d'image */ void QETDiagramEditor::exportDialog() { ProjectView *current_project = currentProject(); if (!current_project) return; current_project -> exportProject(); } /** Methode enregistrant le schema dans le dernier nom de fichier connu. @return true si l'enregistrement a reussi, false sinon */ bool QETDiagramEditor::save() { if (ProjectView *project_view = currentProject()) { bool save_file = project_view -> save(); if (save_file) { QETApp::projectsRecentFiles() -> fileWasOpened(project_view -> project() -> filePath()); } return(save_file); } return(false); } /** Cette methode demande un nom de fichier a l'utilisateur pour enregistrer le schema @return true si l'enregistrement a reussi, false sinon */ bool QETDiagramEditor::saveAsDialog() { if (ProjectView *project_view = currentProject()) { bool save_file = project_view -> saveAs(); if (save_file) { QETApp::projectsRecentFiles() -> fileWasOpened(project_view -> project() -> filePath()); } return(save_file); } return(false); } /** Methode enregistrant tous les schemas. @return true si l'enregistrement a reussi, false sinon */ bool QETDiagramEditor::saveAll() { if (ProjectView *project_view = currentProject()) { bool save_file = project_view -> saveAll(); if (save_file) { QETApp::projectsRecentFiles() -> fileWasOpened(project_view -> project() -> filePath()); } return(save_file); } return(false); } /** Cree un nouveau projet vide */ bool QETDiagramEditor::newProject() { // cree un nouveau projet sans schema QETProject *new_project = new QETProject(0); // transmet les proprietes par defaut des nouveaux schemas new_project -> setDefaultBorderProperties(defaultBorderProperties()); new_project -> setDefaultConductorProperties(defaultConductorProperties()); new_project -> setDefaultInsetProperties(defaultInsetProperties()); // ajoute un schema au projet new_project -> addNewDiagram(); return(addProject(new_project)); } /** Slot utilise pour ouvrir un fichier recent. Transfere filepath au slot openAndAddDiagram seulement si cet editeur est actif @param filepath Fichier a ouvrir @see openAndAddDiagram */ bool QETDiagramEditor::openRecentFile(const QString &filepath) { if (qApp -> activeWindow() != this) return(false); return(openAndAddProject(filepath)); } /** Cette fonction demande un nom de fichier a ouvrir a l'utilisateur @return true si l'ouverture a reussi, false sinon */ bool QETDiagramEditor::openProject() { // demande un chemin de fichier a ouvrir a l'utilisateur QString filepath = QFileDialog::getOpenFileName( this, tr("Ouvrir un fichier"), open_dialog_dir.absolutePath(), tr("Sch\351mas QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*)") ); if (filepath.isEmpty()) return(false); // retient le dossier contenant le dernier projet ouvert open_dialog_dir = QDir(filepath); // ouvre le fichier return(openAndAddProject(filepath)); } /** Ferme un projet @param project_view Projet a fermer @return true si la fermeture du projet a reussi, false sinon Note : cette methode renvoie true si project est nul */ bool QETDiagramEditor::closeProject(ProjectView *project_view) { if (project_view) { activateProject(project_view); if (QMdiSubWindow *sub_window = subWindowForWidget(project_view)) { return(sub_window -> close()); } } return(true); } /** Ferme un projet @param project projet a fermer @return true si la fermeture du fichier a reussi, false sinon Note : cette methode renvoie true si project est nul */ bool QETDiagramEditor::closeProject(QETProject *project) { if (ProjectView *project_view = findProject(project)) { return(closeProject(project_view)); } return(true); } /** Ferme le projet courant @return true si la fermeture du fichier a reussi, false sinon Note : cette methode renvoie true s'il n'y a pas de projet courant */ bool QETDiagramEditor::closeCurrentProject() { if (ProjectView *project_view = currentProject()) { return(closeProject(project_view)); } return(true); } /** Ouvre un projet depuis un fichier et l'ajoute a cet editeur @param filepath Chemin du projet a ouvrir @param interactive true pour afficher des messages a l'utilisateur, false sinon @return true si l'ouverture a reussi, false sinon */ bool QETDiagramEditor::openAndAddProject(const QString &filepath, bool interactive) { if (filepath.isEmpty()) return(false); QFileInfo filepath_info(filepath); // verifie que le projet n'est pas deja ouvert dans un editeur QString my_filepath = filepath_info.canonicalFilePath(); if (QETDiagramEditor *diagram_editor = QETApp::diagramEditorForFile(filepath)) { if (diagram_editor == this) { if (ProjectView *project_view = viewForFile(filepath)) { activateWidget(project_view); show(); activateWindow(); } return(false); } else { // demande a l'autre editeur d'afficher le fichier return(diagram_editor -> openAndAddProject(filepath)); } } // verifie que le fichier est accessible en lecture if (!filepath_info.isReadable()) { if (interactive) { QET::MessageBox::critical( this, tr("Impossible d'ouvrir le fichier"), tr("Il semblerait que le fichier que vous essayez d'ouvrir ne " "soit pas accessible en lecture. Il est donc impossible de " "l'ouvrir. Veuillez v\351rifier les permissions du fichier.") ); } return(false); } // gere le fait que le fichier puisse etre en lecture seule if (!filepath_info.isWritable()) { if (interactive) { QET::MessageBox::warning( this, tr("Ouverture du projet en lecture seule"), tr("Il semblerait que le projet que vous essayez d'ouvrir ne " "soit pas accessible en \351criture. Il sera donc ouvert en " "lecture seule.") ); } } // cree le projet a partir du fichier QETProject *project = new QETProject(filepath); if (project -> state() != QETProject::Ok) { if (interactive) { QET::MessageBox::warning( this, tr("\311chec de l'ouverture du projet", "message box title"), QString( tr( "Il semblerait que le fichier %1 ne soit pas un fichier" " projet QElectroTech. Il ne peut donc \352tre ouvert.", "message box content" ) ).arg(filepath) ); } return(false); } // a ce stade, l'ouverture du fichier a reussi // on l'ajoute a la liste des fichiers recents QETApp::projectsRecentFiles() -> fileWasOpened(filepath); // ... et on l'ajoute dans l'application return(addProject(project)); } /** Ajoute un projet @param project projet a ajouter */ bool QETDiagramEditor::addProject(QETProject *project) { // enregistre le projet QETApp::registerProject(project); // cree un ProjectView pour visualiser le projet ProjectView *project_view = new ProjectView(project); addProjectView(project_view); // met a jour le panel d'elements pa -> elementsPanel().projectWasOpened(project); return(true); } /** @return la liste des projets ouverts dans cette fenetre */ QList QETDiagramEditor::openedProjects() const { QList result; QList window_list(workspace.subWindowList()); foreach(QMdiSubWindow *window, window_list) { if (ProjectView *project_view = qobject_cast(window -> widget())) { result << project_view; } } return(result); } /** @return Le projet actuellement edite (= qui a le focus dans l'interface MDI) ou 0 s'il n'y en a pas */ ProjectView *QETDiagramEditor::currentProject() const { QMdiSubWindow *current_window = workspace.activeSubWindow(); if (!current_window) return(0); QWidget *current_widget = current_window -> widget(); if (!current_widget) return(0); if (ProjectView *project_view = qobject_cast(current_widget)) { return(project_view); } return(0); } /** @return Le schema actuellement edite (= l'onglet ouvert dans le projet courant) ou 0 s'il n'y en a pas */ DiagramView *QETDiagramEditor::currentDiagram() const { if (ProjectView *project_view = currentProject()) { return(project_view -> currentDiagram()); } return(0); } /** Cette methode permet de retrouver le projet contenant un schema donne. @param diagram_view Schema dont il faut retrouver @return la vue sur le projet contenant ce schema ou 0 s'il n'y en a pas */ ProjectView *QETDiagramEditor::findProject(DiagramView *diagram_view) const { foreach(ProjectView *project_view, openedProjects()) { if (project_view -> diagrams().contains(diagram_view)) { return(project_view); } } return(0); } /** Cette methode permet de retrouver le projet contenant un schema donne. @param diagram Schema dont il faut retrouver @return la vue sur le projet contenant ce schema ou 0 s'il n'y en a pas */ ProjectView *QETDiagramEditor::findProject(Diagram *diagram) const { foreach(ProjectView *project_view, openedProjects()) { foreach(DiagramView *diagram_view, project_view -> diagrams()) { if (diagram_view -> diagram() == diagram) { return(project_view); } } } return(0); } /** @param project Projet dont il faut trouver la vue @return la vue du projet passe en parametre */ ProjectView *QETDiagramEditor::findProject(QETProject *project) const { foreach(ProjectView *opened_project, openedProjects()) { if (opened_project -> project() == project) { return(opened_project); } } return(0); } /** @param filepath Chemin de fichier d'un projet @return le ProjectView correspondant au chemin passe en parametre, ou 0 si celui-ci n'a pas ete trouve */ ProjectView *QETDiagramEditor::findProject(const QString &filepath) const { foreach(ProjectView *opened_project, openedProjects()) { if (QETProject *project = opened_project -> project()) { if (project -> filePath() == filepath) { return(opened_project); } } } return(0); } /** @param widget Widget a rechercher dans la zone MDI @return La sous-fenetre accueillant le widget passe en parametre, ou 0 si celui-ci n'a pas ete trouve. */ QMdiSubWindow *QETDiagramEditor::subWindowForWidget(QWidget *widget) const { foreach(QMdiSubWindow *sub_window, workspace.subWindowList()) { if (sub_window -> widget() == widget) { return(sub_window); } } return(0); } /** @param widget Widget a activer */ void QETDiagramEditor::activateWidget(QWidget *widget) { QMdiSubWindow *sub_window = subWindowForWidget(widget); if (sub_window) { workspace.setActiveSubWindow(sub_window); } } /** @param project_view Projet concerne @param from Index de l'onglet avant le deplacement @param to Index de l'onglet apres le deplacement */ void QETDiagramEditor::diagramOrderChanged(ProjectView *project_view, int from, int to) { if (!project_view) return; QETProject *project = project_view -> project(); if (!project) return; pa -> elementsPanel().diagramOrderChanged(project, from, to); } /** Effectue l'action "couper" sur le schema en cours */ void QETDiagramEditor::slot_cut() { if(currentDiagram()) currentDiagram() -> cut(); } /** Effectue l'action "copier" sur le diagram en cours */ void QETDiagramEditor::slot_copy() { if(currentDiagram()) currentDiagram() -> copy(); } /** Effectue l'action "coller" sur le schema en cours */ void QETDiagramEditor::slot_paste() { if(currentDiagram()) currentDiagram() -> paste(); } /** Effectue l'action "zoom avant" sur le diagram en cours */ void QETDiagramEditor::slot_zoomIn() { if(currentDiagram()) currentDiagram() -> zoomIn(); } /** Effectue l'action "zoom arriere" sur le schema en cours */ void QETDiagramEditor::slot_zoomOut() { if(currentDiagram()) currentDiagram() -> zoomOut(); } /** Effectue l'action "zoom arriere" sur le diagram en cours */ void QETDiagramEditor::slot_zoomFit() { if(currentDiagram()) currentDiagram() -> zoomFit(); } /** Effectue l'action "zoom par defaut" sur le schema en cours */ void QETDiagramEditor::slot_zoomReset() { if(currentDiagram()) currentDiagram() -> zoomReset(); } /** Effectue l'action "selectionner tout" sur le schema en cours */ void QETDiagramEditor::slot_selectAll() { if(currentDiagram()) currentDiagram() -> selectAll(); } /** Effectue l'action "deselectionenr tout" sur le schema en cours */ void QETDiagramEditor::slot_selectNothing() { if(currentDiagram()) currentDiagram() -> selectNothing(); } /** Effectue l'action "inverser la selection" sur le schema en cours */ void QETDiagramEditor::slot_selectInvert() { if(currentDiagram()) currentDiagram() -> selectInvert(); } /** Effectue l'action "supprimer" sur le schema en cours */ void QETDiagramEditor::slot_delete() { if(currentDiagram()) currentDiagram() -> deleteSelection(); } /** Effectue l'action "pivoter" sur le schema en cours */ void QETDiagramEditor::slot_rotate() { if(currentDiagram()) currentDiagram() -> rotateSelection(); } /** Effectue l'action "mode selection" sur le schema en cours */ void QETDiagramEditor::slot_setSelectionMode() { if(currentDiagram()) currentDiagram() -> setSelectionMode(); } /** Effectue l'action "mode visualisation" sur le schema en cours */ void QETDiagramEditor::slot_setVisualisationMode() { if(currentDiagram()) currentDiagram() -> setVisualisationMode(); } /** gere les actions */ void QETDiagramEditor::slot_updateActions() { DiagramView *dv = currentDiagram(); ProjectView *pv = currentProject(); bool opened_project = pv; bool opened_diagram = dv; bool editable_project = (pv && !pv -> project() -> isReadOnly()); bool editable_diagram = (dv && !dv -> diagram() -> isReadOnly()); // actions ayant juste besoin d'un document ouvert close_file -> setEnabled(opened_project); save_file -> setEnabled(editable_project); save_file_sous -> setEnabled(opened_project); save_all -> setEnabled(editable_diagram); prj_edit_prop -> setEnabled(opened_project); prj_add_diagram -> setEnabled(editable_project); prj_del_diagram -> setEnabled(editable_project); prj_clean -> setEnabled(editable_project); import_diagram -> setEnabled(editable_project); export_diagram -> setEnabled(opened_diagram); print -> setEnabled(opened_diagram); select_all -> setEnabled(opened_diagram); select_nothing -> setEnabled(opened_diagram); select_invert -> setEnabled(opened_diagram); zoom_in -> setEnabled(opened_diagram); zoom_out -> setEnabled(opened_diagram); zoom_fit -> setEnabled(opened_diagram); zoom_reset -> setEnabled(opened_diagram); conductor_default -> setEnabled(opened_diagram); infos_diagram -> setEnabled(opened_diagram); add_text -> setEnabled(editable_diagram); add_column -> setEnabled(editable_diagram); remove_column -> setEnabled(editable_diagram); add_row -> setEnabled(editable_diagram); remove_row -> setEnabled(editable_diagram); // affiche les actions correspondant au diagram view en cours if (dv) { if (can_update_actions) { undo_group.setActiveStack(&(dv -> diagram() -> undoStack())); undo -> setEnabled(undo_group.canUndo()); redo -> setEnabled(undo_group.canRedo()); } } else { undo -> setEnabled(false); redo -> setEnabled(false); } slot_updateFullScreenAction(); slot_updateModeActions(); slot_updatePasteAction(); slot_updateComplexActions(); } /** gere les actions ayant des besoins precis pour etre active ou non Cette methode ne fait rien si aucun document n'est ouvert */ void QETDiagramEditor::slot_updateComplexActions() { DiagramView *dv = currentDiagram(); bool editable_diagram = (dv && !dv -> diagram() -> isReadOnly()); // nombre de conducteurs selectionnes int selected_conductors_count = dv ? dv -> diagram() -> selectedConductors().count() : 0; conductor_reset -> setEnabled(editable_diagram && selected_conductors_count); // actions ayant aussi besoin d'elements selectionnes bool selected_elements = dv ? (dv -> hasSelectedItems()) : false; cut -> setEnabled(editable_diagram && selected_elements); copy -> setEnabled(selected_elements); delete_selection -> setEnabled(editable_diagram && selected_elements); rotate_selection -> setEnabled(editable_diagram && selected_elements && dv -> diagram() -> canRotateSelection()); selection_prop -> setEnabled(editable_diagram && selected_elements); } /** Gere l'action permettant de passer en plein ecran ou d'en sortir */ void QETDiagramEditor::slot_updateFullScreenAction() { if (windowState() & Qt::WindowFullScreen) { fullscreen -> setText(tr("Sortir du &mode plein \351cran")); fullscreen -> setIcon(QET::Icons::FullScreenExit); fullscreen -> setStatusTip(tr("Affiche QElectroTech en mode fen\352tr\351", "status bar tip")); } else { fullscreen -> setText(tr("Passer en &mode plein \351cran")); fullscreen -> setIcon(QET::Icons::FullScreenEnter); fullscreen -> setStatusTip(tr("Affiche QElectroTech en mode plein \351cran", "status bar tip")); } } /** Gere les actions relatives au mode du schema */ void QETDiagramEditor::slot_updateModeActions() { DiagramView *dv = currentDiagram(); // actions ayant aussi besoin d'un document ouvert et de la connaissance de son mode if (!dv) { grp_visu_sel -> setEnabled(false); } else { switch((int)(dv -> dragMode())) { case QGraphicsView::NoDrag: grp_visu_sel -> setEnabled(false); break; case QGraphicsView::ScrollHandDrag: grp_visu_sel -> setEnabled(true); mode_visualise -> setChecked(true); break; case QGraphicsView::RubberBandDrag: grp_visu_sel -> setEnabled(true); mode_selection -> setChecked(true); break; } } } /** Gere les actions ayant besoin du presse-papier */ void QETDiagramEditor::slot_updatePasteAction() { DiagramView *dv = currentDiagram(); bool editable_diagram = (dv && !dv -> diagram() -> isReadOnly()); // pour coller, il faut un schema ouvert et un schema dans le presse-papier paste -> setEnabled(editable_diagram && Diagram::clipboardMayContainDiagram()); } /** Ajoute un projet dans l'espace de travail @param project_view Le projet a ajouter dans l'espace de travail */ void QETDiagramEditor::addProjectView(ProjectView *project_view) { if (!project_view) return; // on maximise la nouvelle fenetre si la fenetre en cours est inexistante ou bien maximisee QWidget *current_window = workspace.activeSubWindow(); bool maximise = ((!current_window) || (current_window -> windowState() & Qt::WindowMaximized)); // ajoute la fenetre QMdiSubWindow *sub_window = workspace.addSubWindow(project_view); sub_window -> setWindowIcon(project_view -> windowIcon()); // lie les schemas du projet a l'editeur : // quand on change de schemas a l'interieur d'un projet, on met a jour les menus connect(project_view, SIGNAL(diagramActivated(DiagramView *)), this, SLOT(slot_updateWindowsMenu())); connect(project_view, SIGNAL(diagramActivated(DiagramView *)), this, SLOT(slot_updateActions())); foreach(DiagramView *dv, project_view -> diagrams()) { diagramWasAdded(dv); } // gere la fermeture du projet connect(project_view, SIGNAL(projectClosed(ProjectView*)), this, SLOT(projectWasClosed(ProjectView *))); // gere l'ajout et le retrait de schema du projet connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(diagramWasAdded(DiagramView *))); connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(slot_updateActions())); connect(project_view, SIGNAL(diagramAboutToBeRemoved(DiagramView *)), this, SLOT(diagramIsAboutToBeRemoved(DiagramView *))); connect(project_view, SIGNAL(diagramRemoved(DiagramView *)), this, SLOT(diagramWasRemoved(DiagramView *))); connect(project_view, SIGNAL(diagramRemoved(DiagramView *)), this, SLOT(slot_updateActions())); if (QETProject *project = project_view -> project()) { connect(project, SIGNAL(diagramAdded (QETProject *, Diagram*)), &(pa -> elementsPanel()), SLOT(diagramWasAdded (QETProject *, Diagram*))); connect(project, SIGNAL(diagramRemoved(QETProject *, Diagram*)), &(pa -> elementsPanel()), SLOT(diagramWasRemoved(QETProject *, Diagram*))); // on met aussi les menus a jour quand un projet passe en lecture seule ou non connect(project, SIGNAL(readOnlyChanged(QETProject *, bool)), this, SLOT(slot_updateActions())); } // gere les changements de l'ordre des schemas dans le projet connect(project_view, SIGNAL(diagramOrderChanged(ProjectView *, int, int)), this, SLOT(diagramOrderChanged(ProjectView *, int, int))); // gere les demandes consistant a retrouver un element dans le panel connect(project_view, SIGNAL(findElementRequired(const ElementsLocation &)), this, SLOT(findElementInPanel(const ElementsLocation &))); // gere les demandes pour l'edition d'un element connect(project_view, SIGNAL(editElementRequired(const ElementsLocation &)), this, SLOT(editElementInEditor(const ElementsLocation &))); // affiche la fenetre if (maximise) project_view -> showMaximized(); else project_view -> show(); } /** @return la liste des fichiers edites par cet editeur de schemas */ QList QETDiagramEditor::editedFiles() const { QList edited_files_list; foreach (ProjectView *project_view, openedProjects()) { QString diagram_file(project_view -> project() -> filePath()); if (!diagram_file.isEmpty()) { edited_files_list << QFileInfo(diagram_file).canonicalFilePath(); } } return(edited_files_list); } /** @param filepath Un chemin de fichier Note : si filepath est une chaine vide, cette methode retourne 0. @return le ProjectView editant le fichier filepath, ou 0 si ce fichier n'est pas edite par cet editeur de schemas. */ ProjectView *QETDiagramEditor::viewForFile(const QString &filepath) const { if (filepath.isEmpty()) return(0); QString searched_can_file_path = QFileInfo(filepath).canonicalFilePath(); foreach (ProjectView *project_view, openedProjects()) { QString project_can_file_path = QFileInfo(project_view -> project() -> filePath()).canonicalFilePath(); if (project_can_file_path == searched_can_file_path) { return(project_view); } } return(0); } /** met a jour le menu "Fenetres" */ void QETDiagramEditor::slot_updateWindowsMenu() { // nettoyage du menu foreach(QAction *a, windows_menu -> actions()) windows_menu -> removeAction(a); // actions de fermeture windows_menu -> addAction(close_file); //windows_menu -> addAction(closeAllAct); // actions de reorganisation des fenetres windows_menu -> addSeparator(); windows_menu -> addAction(tile_window); windows_menu -> addAction(cascade_window); // actions de deplacement entre les fenetres windows_menu -> addSeparator(); windows_menu -> addAction(next_window); windows_menu -> addAction(prev_window); // liste des fenetres QList windows = openedProjects(); tile_window -> setEnabled(!windows.isEmpty() && workspace.viewMode() == QMdiArea::SubWindowView); cascade_window -> setEnabled(!windows.isEmpty() && workspace.viewMode() == QMdiArea::SubWindowView); next_window -> setEnabled(windows.count() > 1); prev_window -> setEnabled(windows.count() > 1); if (!windows.isEmpty()) windows_menu -> addSeparator(); QActionGroup *windows_actions = new QActionGroup(this); foreach(ProjectView *project_view, windows) { QString pv_title = project_view -> windowTitle(); QAction *action = windows_menu -> addAction(pv_title); windows_actions -> addAction(action); action -> setStatusTip(QString(tr("Active le projet \253\240%1\240\273")).arg(pv_title)); action -> setCheckable(true); action -> setChecked(project_view == currentProject()); connect(action, SIGNAL(triggered()), &windowMapper, SLOT(map())); windowMapper.setMapping(action, project_view); } } /** Edite les informations du schema en cours */ void QETDiagramEditor::editCurrentDiagramProperties() { if (ProjectView *project_view = currentProject()) { activateProject(project_view); project_view -> editCurrentDiagramProperties(); } } /** Edite les proprietes du schema diagram @param diagram_view schema dont il faut editer les proprietes */ void QETDiagramEditor::editDiagramProperties(DiagramView *diagram_view) { if (ProjectView *project_view = findProject(diagram_view)) { activateProject(project_view); project_view -> editDiagramProperties(diagram_view); } } /** Edite les proprietes du schema diagram @param diagram schema dont il faut editer les proprietes */ void QETDiagramEditor::editDiagramProperties(Diagram *diagram) { if (ProjectView *project_view = findProject(diagram)) { activateProject(project_view); project_view -> editDiagramProperties(diagram); } } /** Ajoute une colonne au schema en cours */ void QETDiagramEditor::slot_addColumn() { if (DiagramView *dv = currentDiagram()) { dv -> addColumn(); } } /** Enleve une colonne au schema en cours */ void QETDiagramEditor::slot_removeColumn() { if (DiagramView *dv = currentDiagram()) { dv -> removeColumn(); } } /** Allonge le schema en cours en hauteur */ void QETDiagramEditor::slot_addRow() { if (DiagramView *dv = currentDiagram()) { dv -> addRow(); } } /** Retrecit le schema en cours en hauteur */ void QETDiagramEditor::slot_removeRow() { if (DiagramView *dv = currentDiagram()) { dv -> removeRow(); } } /** Edite les proprietes des objets selectionnes */ void QETDiagramEditor::editSelectionProperties() { if (DiagramView *dv = currentDiagram()) { dv -> editSelectionProperties(); } } /** Edite les proprietes du conducteur selectionne */ void QETDiagramEditor::slot_editConductor() { if (DiagramView *dv = currentDiagram()) { dv -> editConductor(); } } /** Reinitialise les conducteurs selectionnes */ void QETDiagramEditor::slot_resetConductors() { if (DiagramView *dv = currentDiagram()) { dv -> resetConductors(); } } /** Edite les proprietes par defaut des conducteurs */ void QETDiagramEditor::slot_editDefaultConductors() { if (DiagramView *dv = currentDiagram()) { dv -> editDefaultConductorProperties(); } } /** Ajoute un texte au schema courant */ void QETDiagramEditor::slot_addText() { if (DiagramView *dv = currentDiagram()) { dv -> addText(); } } /** Affiche les projets dans des fenetres. */ void QETDiagramEditor::setWindowedMode() { workspace.setViewMode(QMdiArea::SubWindowView); windowed_view_mode -> setChecked(true); slot_updateWindowsMenu(); } /** Affiche les projets dans des onglets. */ void QETDiagramEditor::setTabbedMode() { workspace.setViewMode(QMdiArea::TabbedView); tabbed_view_mode -> setChecked(true); slot_updateWindowsMenu(); } /// Lit les parametres de l'editeur de schemas void QETDiagramEditor::readSettings() { QSettings &settings = QETApp::settings(); // dimensions et position de la fenetre QVariant geometry = settings.value("diagrameditor/geometry"); if (geometry.isValid()) restoreGeometry(geometry.toByteArray()); // etat de la fenetre (barres d'outils, docks...) QVariant state = settings.value("diagrameditor/state"); if (state.isValid()) restoreState(state.toByteArray()); // gestion des projets (onglets ou fenetres) bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed"; if (tabbed) { setTabbedMode(); } else { setWindowedMode(); } } /// Enregistre les parametres de l'editeur de schemas void QETDiagramEditor::writeSettings() { QSettings &settings = QETApp::settings(); settings.setValue("diagrameditor/geometry", saveGeometry()); settings.setValue("diagrameditor/state", saveState()); } /** Active le schema passe en parametre @param diagram Schema a activer */ void QETDiagramEditor::activateDiagram(Diagram *diagram) { if (QETProject *project = diagram -> project()) { if (ProjectView *project_view = findProject(project)) { activateWidget(project_view); project_view -> showDiagram(diagram); } } else { /// @todo gerer ce cas } } /** Active le projet passe en parametre @param project Projet a activer */ void QETDiagramEditor::activateProject(QETProject *project) { activateProject(findProject(project)); } /** Active le projet passe en parametre @param project_view Projet a activer */ void QETDiagramEditor::activateProject(ProjectView *project_view) { if (!project_view) return; activateWidget(project_view); } /** Gere la fermeture d'une ProjectView @param project_view ProjectView fermee */ void QETDiagramEditor::projectWasClosed(ProjectView *project_view) { QETProject *project = project_view -> project(); if (project) { pa -> elementsPanel().projectWasClosed(project); QETApp::unregisterProject(project); } project_view -> deleteLater(); project -> deleteLater(); } /** Edite les proprietes du projet courant. */ void QETDiagramEditor::editCurrentProjectProperties() { editProjectProperties(currentProject()); } /** Edite les proprietes du projet project_view. @param project_view Vue sur le projet dont il faut editer les proprietes */ void QETDiagramEditor::editProjectProperties(ProjectView *project_view) { if (!project_view) return; activateProject(project_view); project_view -> editProjectProperties(); } /** Edite les proprietes du projet project. @param project Projet dont il faut editer les proprietes */ void QETDiagramEditor::editProjectProperties(QETProject *project) { editProjectProperties(findProject(project)); } /** Ajoute un nouveau schema au projet courant */ void QETDiagramEditor::addDiagramToProject() { if (ProjectView *current_project = currentProject()) { current_project -> addNewDiagram(); } } /** Ajoute un nouveau schema a un projet @param project Projet auquel il faut ajouter un schema */ void QETDiagramEditor::addDiagramToProject(QETProject *project) { if (!project) return; // recupere le ProjectView visualisant ce projet if (ProjectView *project_view = findProject(project)) { // affiche le projet en question activateProject(project); // ajoute un schema au projet project_view -> addNewDiagram(); } } /** Supprime un schema de son projet @param diagram Schema a supprimer */ void QETDiagramEditor::removeDiagram(Diagram *diagram) { if (!diagram) return; // recupere le projet contenant le schema if (QETProject *diagram_project = diagram -> project()) { // recupere la vue sur ce projet if (ProjectView *project_view = findProject(diagram_project)) { // affiche le schema en question project_view -> showDiagram(diagram); // supprime le schema project_view -> removeDiagram(diagram); } } } /** Change l'ordre des schemas d'un projet, en decalant le schema vers le haut / la gauche @param diagram Schema a decaler vers le haut / la gauche */ void QETDiagramEditor::moveDiagramUp(Diagram *diagram) { if (!diagram) return; // recupere le projet contenant le schema if (QETProject *diagram_project = diagram -> project()) { if (diagram_project -> isReadOnly()) return; // recupere la vue sur ce projet if (ProjectView *project_view = findProject(diagram_project)) { project_view -> moveDiagramUp(diagram); } } } /** Change l'ordre des schemas d'un projet, en decalant le schema vers le bas / la droite @param diagram Schema a decaler vers le bas / la droite */ void QETDiagramEditor::moveDiagramDown(Diagram *diagram) { if (!diagram) return; // recupere le projet contenant le schema if (QETProject *diagram_project = diagram -> project()) { if (diagram_project -> isReadOnly()) return; // recupere la vue sur ce projet if (ProjectView *project_view = findProject(diagram_project)) { project_view -> moveDiagramDown(diagram); } } } /** Nettoie le projet courant */ void QETDiagramEditor::cleanCurrentProject() { if (ProjectView *current_project = currentProject()) { int clean_count = current_project -> cleanProject(); if (clean_count) pa -> reloadAndFilter(); } } /** Supprime le schema courant du projet courant */ void QETDiagramEditor::removeDiagramFromProject() { if (ProjectView *current_project = currentProject()) { if (DiagramView *current_diagram = current_project -> currentDiagram()) { can_update_actions = false; current_project -> removeDiagram(current_diagram); } } } /** Gere l'ajout d'un schema dans un projet @param dv DiagramView concerne */ void QETDiagramEditor::diagramWasAdded(DiagramView *dv) { // quand on change qqc a l'interieur d'un schema, on met a jour les menus undo_group.addStack(&(dv -> diagram() -> undoStack())); connect(dv, SIGNAL(selectionChanged()), this, SLOT(slot_updateComplexActions())); connect(dv, SIGNAL(modeChanged()), this, SLOT(slot_updateModeActions())); connect(dv, SIGNAL(textAdded(bool)), add_text, SLOT(setChecked(bool))); connect(dv, SIGNAL(titleChanged(DiagramView *, const QString &)), this, SLOT(diagramTitleChanged(DiagramView *))); } /** Gere le retrait d'un schema dans un projet avant que le retrait ne soit effectif @param dv DiagramView concerne */ void QETDiagramEditor::diagramIsAboutToBeRemoved(DiagramView *dv) { undo_group.removeStack(&(dv -> diagram() -> undoStack())); can_update_actions = false; } /** Gere le retrait d'un schema dans un projet apres que le retrait soit effectif @param dv DiagramView concerne */ void QETDiagramEditor::diagramWasRemoved(DiagramView *dv) { Q_UNUSED(dv); can_update_actions = true; } /** Gere le changement de titre d'un schema dans un projet @param dv DiagramView concerne */ void QETDiagramEditor::diagramTitleChanged(DiagramView *dv) { if (Diagram *diagram = dv -> diagram()) { if (QETProject *project = diagram -> project()) { pa -> elementsPanel().diagramTitleChanged(project, diagram); } } } /** @param location Emplacement de l'element a retrouver dans le panel d'elements. */ void QETDiagramEditor::findElementInPanel(const ElementsLocation &location) { bool element_found = pa -> elementsPanel().scrollToElement(location); if (!element_found) { // l'element n'a pas ete trouve ElementsCollectionItem *element = QETApp::collectionItem(location); if (element) { // mais il semble exister tout de meme // peut-etre vient-il d'un projet ouvert dans un autre editeur ? if (location.project() && !findProject(location.project())) { statusBar() -> showMessage( tr("Impossible de retrouver cet \351l\351ment dans le panel car il semble \351dit\351 dans une autre fen\352tre"), 10000 ); } else { // il devrait etre affiche : on tente de recharger le panel statusBar() -> showMessage( tr("Impossible de retrouver cet \351l\351ment dans le panel... rechargement du panel..."), 10000 ); pa -> reloadAndFilter(); statusBar() -> clearMessage(); element_found = pa -> elementsPanel().scrollToElement(location); } } } if (!element_found) { statusBar() -> showMessage( tr("Impossible de retrouver cet \351l\351ment dans le panel"), 10000 ); } } /** Lance l'editeur d'element pour l'element filename @param location Emplacement de l'element a editer */ void QETDiagramEditor::editElementInEditor(const ElementsLocation &location) { QETApp::instance() -> openElementLocations(QList() << location); } /** @return Les proprietes par defaut pour le cartouche d'un schema */ InsetProperties QETDiagramEditor::defaultInsetProperties() { // accede a la configuration de l'application QSettings &settings = QETApp::settings(); InsetProperties def; // lit le cartouche par defaut dans la configuration def.fromSettings(settings, "diagrameditor/default"); return(def); } /** @return Les dimensions par defaut d'un schema */ BorderProperties QETDiagramEditor::defaultBorderProperties() { // accede a la configuration de l'application QSettings &settings = QETApp::settings(); BorderProperties def; // lit les dimensions par defaut dans la configuration def.fromSettings(settings, "diagrameditor/default"); return(def); } /** @return Les proprietes par defaut d'un conducteur */ ConductorProperties QETDiagramEditor::defaultConductorProperties() { // accede a la configuration de l'application QSettings &settings = QETApp::settings(); ConductorProperties def; // lit les caracteristiques des conducteurs par defaut dans la configuration def.fromSettings(settings, "diagrameditor/defaultconductor"); return(def); } /** @return Les parametres d'export par defaut pour un schema */ ExportProperties QETDiagramEditor::defaultExportProperties() { // accede a la configuration de l'application QSettings &settings = QETApp::settings(); ExportProperties def; // lit les caracteristiques des conducteurs par defaut dans la configuration def.fromSettings(settings, "export/default"); return(def); } /** @return Les parametres d'impression par defaut pour un schema */ ExportProperties QETDiagramEditor::defaultPrintProperties() { // accede a la configuration de l'application QSettings &settings = QETApp::settings(); ExportProperties def; // lit les caracteristiques des conducteurs par defaut dans la configuration def.fromSettings(settings, "print/default"); return(def); } qelectrotech-0.22+svn897/sources/editor/0000755000175000017500000000000011347002062020043 5ustar laurentlaurentqelectrotech-0.22+svn897/sources/editor/editorcommands.h0000644000175000017500000002466011333571512023242 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef EDITOR_COMMANDS_H #define EDITOR_COMMANDS_H #include "customelementpart.h" #include "partpolygon.h" #include "elementview.h" #include "elementscene.h" #include "elementcontent.h" #include "qgimanager.h" #include /** Cette classe represente l'action de supprimer une ou plusieurs parties lors de l'edition d'un element */ class DeletePartsCommand : public QUndoCommand { // constructeurs, destructeur public: DeletePartsCommand(ElementScene *, const QList, QUndoCommand * = 0); virtual ~DeletePartsCommand(); private: DeletePartsCommand(const DeletePartsCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// Liste des parties supprimees QList deleted_parts; /// scene sur laquelle se produisent les actions ElementScene *editor_scene; }; /** Cette classe represente l'action de coller quelque chose dans un element */ class PastePartsCommand : public QUndoCommand { // constructeurs, destructeur public: PastePartsCommand(ElementView *, const ElementContent &, QUndoCommand * = 0); virtual ~PastePartsCommand(); private: PastePartsCommand(const PastePartsCommand &); // methodes public: virtual void undo(); virtual void redo(); virtual void setOffset(int, const QPointF &, int, const QPointF &); // attributs private: /// contenu ajoute ElementContent content_; /// schema sur lequel on colle les elements et conducteurs ElementView *editor_view_; ElementScene *editor_scene_; /// Informations pour annuler un c/c avec decalage int old_offset_paste_count_; QPointF old_start_top_left_corner_; int new_offset_paste_count_; QPointF new_start_top_left_corner_; bool uses_offset; /// booleen pour empecher le premier appel a redo bool first_redo; }; /** Cette classe represente l'action de supprimer des parties d'un element */ class CutPartsCommand : public DeletePartsCommand { // constructeurs, destructeur public: CutPartsCommand(ElementScene *, const QList, QUndoCommand * = 0); virtual ~CutPartsCommand(); private: CutPartsCommand(const CutPartsCommand &); }; /** Cette classe represente l'action de deplacer une ou plusieurs parties lors de l'edition d'un element */ class MovePartsCommand : public QUndoCommand { // constructeurs, destructeur public: MovePartsCommand(const QPointF &, ElementScene *, const QList, QUndoCommand * = 0); virtual ~MovePartsCommand(); private: MovePartsCommand(const MovePartsCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// Liste des parties supprimees QList moved_parts; /// scene sur laquelle se produisent les actions ElementScene *editor_scene; /// translation appliquee QPointF movement; /// booleen pour eviter d'appeler redo() lors de la construction de l'objet bool first_redo; }; /** Cette classe represente l'action d'ajouter une partie lors de l'edition d'un element */ class AddPartCommand : public QUndoCommand { // constructeurs, destructeur public: AddPartCommand(const QString &, ElementScene *, QGraphicsItem *, QUndoCommand * = 0); virtual ~AddPartCommand(); private: AddPartCommand(const AddPartCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// Liste des parties supprimees QGraphicsItem *part; /// scene sur laquelle se produisent les actions ElementScene *editor_scene; /// booleen pour eviter d'appeler redo() lors de la construction de l'objet bool first_redo; }; /** Cette classe represente l'action de modifier une propriete d'une partie lors de l'edition d'un element */ class ChangePartCommand : public QUndoCommand { // constructeurs, destructeur public: ChangePartCommand(const QString &, CustomElementPart *, const QString &, const QVariant &, const QVariant &, QUndoCommand * = 0); virtual ~ChangePartCommand(); private: ChangePartCommand(const ChangePartCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// Partie modifiee CustomElementPart *cep; /// Propriete modifiee QString property; /// ancienne valeur QVariant old_value; /// nouvelle valeur QVariant new_value; }; /** Cette classe represente l'action de modifier les points composants un polygone */ class ChangePolygonPointsCommand : public QUndoCommand { // constructeurs, destructeur public: ChangePolygonPointsCommand(PartPolygon *, const QVector &, const QVector &, QUndoCommand * = 0); virtual ~ChangePolygonPointsCommand(); private: ChangePolygonPointsCommand(const ChangePolygonPointsCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs /// Polygone modifie PartPolygon *polygon; /// anciens points QVector old_points; /// nouveaux points QVector new_points; }; /** Cette classe represente l'action de modifier les dimensions et le point de saisie d'un element */ class ChangeHotspotCommand : public QUndoCommand { // constructeurs, destructeur public: ChangeHotspotCommand(ElementScene *, const QSize &, const QSize &, const QPoint &, const QPoint &, const QPoint & = QPoint(), QUndoCommand * = 0); virtual ~ChangeHotspotCommand(); private: ChangeHotspotCommand(const ChangeHotspotCommand &); // methodes public: virtual void undo(); virtual void redo(); private: void applyOffset(const QPointF &); // attributs /// Element edite auquel il faut appliquer les modifications ElementScene *element; /// dimensions avant l'action QSize size_before; /// dimensions apres l'action QSize size_after; /// point de saisie avant l'action QPoint hotspot_before; /// point de saisie apres l'action QPoint hotspot_after; /// decalage a appliquer aux elements QPoint offset; }; /** Cette classe represente l'action de changer les noms d'un element */ class ChangeNamesCommand : public QUndoCommand { // constructeurs, destructeur public: ChangeNamesCommand(ElementScene *, const NamesList &, const NamesList &, QUndoCommand * = 0); virtual ~ChangeNamesCommand(); private: ChangeNamesCommand(const ChangeNamesCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// Liste des noms avant changement NamesList names_before; /// Liste des noms apres changement NamesList names_after; /// Element edite auquel il faut appliquer les modifications ElementScene *element; }; /** Cette classe represente l'action de changer les noms d'un element */ class ChangeOrientationsCommand : public QUndoCommand { // constructeurs, destructeur public: ChangeOrientationsCommand(ElementScene *, const OrientationSet &, const OrientationSet &, QUndoCommand * = 0); virtual ~ChangeOrientationsCommand(); private: ChangeOrientationsCommand(const ChangeOrientationsCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// Orientations avant changement OrientationSet ori_before; /// Orientations apres changement OrientationSet ori_after; /// Element edite auquel il faut appliquer les modifications ElementScene *element; }; /** Cette classe represente l'action de changer les noms d'un element */ class ChangeZValueCommand : public QUndoCommand { // constructeurs, destructeur public: /// Qualifie le type de changement de zValue enum Option { BringForward, ///< Amene la partie a l'avant-plan ; elle a alors la plus haute zValue Raise, ///< Amene la partie un plan au-dessus ; la zValue de la partie est incrementee Lower, ///< Envoie la partie un plan en-dessous ; la zValue de la partie est decrementee SendBackward ///< Envoie la partie a l'arriere-plan ; elle a alors la plus faible zValue }; ChangeZValueCommand(ElementScene *, Option, QUndoCommand * = 0); virtual ~ChangeZValueCommand(); private: ChangeZValueCommand(const ChangeZValueCommand &); // methodes public: virtual void undo(); virtual void redo(); private: void applyBringForward(const QList &); void applyRaise(const QList &); void applyLower(const QList &); void applySendBackward(const QList &); // attributs private: /// zValues avant changement QHash undo_hash; /// zValues apres changement QHash redo_hash; /// Element edite auquel il faut appliquer les modifications ElementScene *element; /// type de traitement Option option; }; /** Cette classe represente l'action d'autoriser ou non les connexions internes pour un element. */ class AllowInternalConnectionsCommand : public QUndoCommand { // constructeurs, destructeur public: AllowInternalConnectionsCommand(ElementScene *, bool, QUndoCommand * = 0); virtual ~AllowInternalConnectionsCommand(); private: AllowInternalConnectionsCommand(const AllowInternalConnectionsCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// Element edite auquel il faut appliquer les modifications ElementScene *element; /// autorisation des connexions internes apres modification bool ic; }; /** Cette classe represente l'action de changer les informations complementaires d'un element. */ class ChangeInformationsCommand : public QUndoCommand { // constructeurs, destructeur public: ChangeInformationsCommand(ElementScene *, const QString &, const QString &, QUndoCommand * = 0); virtual ~ChangeInformationsCommand(); private: ChangeInformationsCommand(const ChangeInformationsCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// Element edite auquel il faut appliquer les modifications ElementScene *element; /// Informations avant modification QString old_informations_; /// Informations apres modification QString new_informations_; }; #endif qelectrotech-0.22+svn897/sources/editor/lineeditor.cpp0000644000175000017500000002173511337103436022723 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "lineeditor.h" #include "styleeditor.h" #include "partline.h" #include "qet.h" #include "qeticons.h" /** Constructeur @param editor L'editeur d'element concerne @param line La ligne a editer @param parent le Widget parent */ LineEditor::LineEditor(QETElementEditor *editor, PartLine *line, QWidget *parent) : ElementItemEditor(editor, parent), part(line) { style_ = new StyleEditor(editor); x1 = new QLineEdit(); y1 = new QLineEdit(); x2 = new QLineEdit(); y2 = new QLineEdit(); x1 -> setValidator(new QDoubleValidator(x1)); y1 -> setValidator(new QDoubleValidator(y1)); x2 -> setValidator(new QDoubleValidator(x2)); y2 -> setValidator(new QDoubleValidator(y2)); end1_type = new QComboBox(); end1_type -> addItem(QET::Icons::EndLineNone, tr("Normale", "type of the 1st end of a line"), QET::None ); end1_type -> addItem(QET::Icons::EndLineSimple, tr("Fl\350che simple", "type of the 1st end of a line"), QET::Simple ); end1_type -> addItem(QET::Icons::EndLineTriangle, tr("Fl\350che triangulaire", "type of the 1st end of a line"), QET::Triangle); end1_type -> addItem(QET::Icons::EndLineCircle, tr("Cercle", "type of the 1st end of a line"), QET::Circle ); end1_type -> addItem(QET::Icons::EndLineDiamond, tr("Carr\351", "type of the 1st end of a line"), QET::Diamond ); end2_type = new QComboBox(); end2_type -> addItem(QET::Icons::EndLineNone, tr("Normale", "type of the 2nd end of a line"), QET::None ); end2_type -> addItem(QET::Icons::EndLineSimple, tr("Fl\350che simple", "type of the 2nd end of a line"), QET::Simple ); end2_type -> addItem(QET::Icons::EndLineTriangle, tr("Fl\350che triangulaire", "type of the 2nd end of a line"), QET::Triangle); end2_type -> addItem(QET::Icons::EndLineCircle, tr("Cercle", "type of the 2nd end of a line"), QET::Circle ); end2_type -> addItem(QET::Icons::EndLineDiamond, tr("Carr\351", "type of the 2nd end of a line"), QET::Diamond ); end1_length = new QLineEdit(); end2_length = new QLineEdit(); end1_length -> setValidator(new QDoubleValidator(end1_length)); end2_length -> setValidator(new QDoubleValidator(end2_length)); QGridLayout *grid = new QGridLayout(); grid -> addWidget(new QLabel("x1"), 0, 0); grid -> addWidget(x1, 0, 1); grid -> addWidget(new QLabel("y1"), 0, 2); grid -> addWidget(y1, 0, 3); grid -> addWidget(new QLabel("x2"), 1, 0); grid -> addWidget(x2, 1, 1); grid -> addWidget(new QLabel("y2"), 1, 2); grid -> addWidget(y2, 1, 3); QGridLayout *grid2 = new QGridLayout(); grid2 -> addWidget(new QLabel(tr("Fin 1")), 0, 0); grid2 -> addWidget(end1_type, 0, 1); grid2 -> addWidget(end1_length, 0, 2); grid2 -> addWidget(new QLabel(tr("Fin 2")), 1, 0); grid2 -> addWidget(end2_type, 1, 1); grid2 -> addWidget(end2_length, 1, 2); QVBoxLayout *v_layout = new QVBoxLayout(this); v_layout -> addWidget(style_); v_layout -> addLayout(grid); v_layout -> addLayout(grid2); updateForm(); } /// Destructeur LineEditor::~LineEditor() { } /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur de ligne acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe PartLine. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool LineEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; style_ -> setPart(0); return(true); } if (PartLine *part_line = dynamic_cast(new_part)) { part = part_line; style_ -> setPart(part); updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *LineEditor::currentPart() const { return(part); } /** Met a jour la ligne a partir des donnees du formulaire */ void LineEditor::updateLine() { if (!part) return; part -> setFirstEndType(static_cast(end1_type -> currentIndex())); part -> setFirstEndLength(end1_length -> text().toDouble()); part -> setSecondEndType(static_cast(end2_type -> currentIndex())); part -> setSecondEndLength(end2_length -> text().toDouble()); part -> setLine( QLineF( part -> mapFromScene( x1 -> text().toDouble(), y1 -> text().toDouble() ), part -> mapFromScene( x2 -> text().toDouble(), y2 -> text().toDouble() ) ) ); } /// Met a jour l'abscisse du premier point de la ligne et cree un objet d'annulation void LineEditor::updateLineX1() { addChangePartCommand(tr("abscisse point 1"), part, "x1", x1 -> text().toDouble()); } /// Met a jour l'ordonnee du premier point de la ligne et cree un objet d'annulation void LineEditor::updateLineY1() { addChangePartCommand(tr("ordonn\351e point 1"), part, "y1", y1 -> text().toDouble()); } /// Met a jour l'abscisse du second point de la ligne et cree un objet d'annulation void LineEditor::updateLineX2() { addChangePartCommand(tr("abscisse point 2"), part, "x2", x2 -> text().toDouble()); } /// Met a jour l'ordonnee du second point de la ligne et cree un objet d'annulation void LineEditor::updateLineY2() { addChangePartCommand(tr("ordonn\351e point 2"), part, "y2", y2 -> text().toDouble()); } /// Met a jour le type de la premiere extremite void LineEditor::updateLineEndType1() { addChangePartCommand(tr("type fin 1"), part, "end1", end1_type -> currentIndex()); } /// Met a jour la longueur de la premiere extremite void LineEditor::updateLineEndLength1() { addChangePartCommand(tr("longueur fin 1"), part, "length1", end1_length -> text()); } /// Met a jour le type de la seconde extremite void LineEditor::updateLineEndType2() { addChangePartCommand(tr("type fin 2"), part, "end2", end2_type -> currentIndex()); } /// Met a jour la longueur de la seconde extremite void LineEditor::updateLineEndLength2() { addChangePartCommand(tr("longueur fin 2"), part, "length2", end2_length -> text()); } /** Met a jour le formulaire d'edition */ void LineEditor::updateForm() { if (!part) return; activeConnections(false); QPointF p1(part -> sceneP1()); QPointF p2(part -> sceneP2()); x1 -> setText(QString("%1").arg(p1.x())); y1 -> setText(QString("%1").arg(p1.y())); x2 -> setText(QString("%1").arg(p2.x())); y2 -> setText(QString("%1").arg(p2.y())); end1_type -> setCurrentIndex(part -> firstEndType()); end1_length -> setText(QString("%1").arg(part -> firstEndLength())); end2_type -> setCurrentIndex(part -> secondEndType()); end2_length -> setText(QString("%1").arg(part -> secondEndLength())); activeConnections(true); } /** Active ou desactive les connexionx signaux/slots entre les widgets internes. @param active true pour activer les connexions, false pour les desactiver */ void LineEditor::activeConnections(bool active) { if (active) { connect(x1, SIGNAL(editingFinished()), this, SLOT(updateLineX1())); connect(y1, SIGNAL(editingFinished()), this, SLOT(updateLineY1())); connect(x2, SIGNAL(editingFinished()), this, SLOT(updateLineX2())); connect(y2, SIGNAL(editingFinished()), this, SLOT(updateLineY2())); connect(end1_type, SIGNAL(currentIndexChanged(int)), this, SLOT(updateLineEndType1())); connect(end1_length, SIGNAL(editingFinished()), this, SLOT(updateLineEndLength1())); connect(end2_type, SIGNAL(currentIndexChanged(int)), this, SLOT(updateLineEndType2())); connect(end2_length, SIGNAL(editingFinished()), this, SLOT(updateLineEndLength2())); } else { disconnect(x1, SIGNAL(editingFinished()), this, SLOT(updateLineX1())); disconnect(y1, SIGNAL(editingFinished()), this, SLOT(updateLineY1())); disconnect(x2, SIGNAL(editingFinished()), this, SLOT(updateLineX2())); disconnect(y2, SIGNAL(editingFinished()), this, SLOT(updateLineY2())); disconnect(end1_type, SIGNAL(currentIndexChanged(int)), this, SLOT(updateLineEndType1())); disconnect(end1_length, SIGNAL(editingFinished()), this, SLOT(updateLineEndLength1())); disconnect(end2_type, SIGNAL(currentIndexChanged(int)), this, SLOT(updateLineEndType2())); disconnect(end2_length, SIGNAL(editingFinished()), this, SLOT(updateLineEndLength2())); } } qelectrotech-0.22+svn897/sources/editor/ellipseeditor.h0000644000175000017500000000307611337103436023074 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELLIPSE_EDITOR_H #define ELLIPSE_EDITOR_H #include #include "elementitemeditor.h" class PartEllipse; class StyleEditor; /** Cette classe represente le widget d'edition d'une ellipse dans l'editeur d'element. */ class EllipseEditor : public ElementItemEditor { Q_OBJECT //constructeurs, destructeur public: EllipseEditor(QETElementEditor *, PartEllipse * = 0, QWidget * = 0); virtual ~EllipseEditor(); private: EllipseEditor(const EllipseEditor &); // attributs private: PartEllipse *part; StyleEditor *style_; QLineEdit *x, *y, *h, *v; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; public slots: void updateEllipse(); void updateEllipseX(); void updateEllipseY(); void updateEllipseH(); void updateEllipseV(); void updateForm(); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/texteditor.h0000644000175000017500000000314111337103436022414 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef TEXT_EDITOR_H #define TEXT_EDITOR_H #include #include "elementitemeditor.h" class PartText; /** Cette classe represente un editeur de champ de texte non editable Elle permet d'editer a travers une interface graphique les proprietes d'un champ de texte non editable. */ class TextEditor : public ElementItemEditor { Q_OBJECT // Constructeurs, destructeur public: TextEditor(QETElementEditor *, PartText * = 0, QWidget * = 0); virtual ~TextEditor(); private: TextEditor(const TextEditor &); // attributs private: PartText *part; QLineEdit *qle_x, *qle_y, *qle_text; QSpinBox *font_size; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; public slots: void updateText(); void updateTextX(); void updateTextY(); void updateTextT(); void updateTextS(); void updateForm(); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/polygoneditor.h0000644000175000017500000000322511337103436023122 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef POLYGON_EDITOR_H #define POLYGON_EDITOR_H #include "elementitemeditor.h" class PartPolygon; class StyleEditor; /** Cette classe represente le widget d'edition d'un polygone dans l'editeur d'element. */ class PolygonEditor : public ElementItemEditor { Q_OBJECT // constructeurs, destructeur public: PolygonEditor(QETElementEditor *, PartPolygon * = 0, QWidget * = 0); virtual ~PolygonEditor(); private: PolygonEditor(const PolygonEditor &); // attributs private: PartPolygon *part; StyleEditor *style_; QTreeWidget points_list; QCheckBox close_polygon; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; private: QVector getPointsFromTree(); public slots: void updatePolygon(); void updatePolygonPoints(); void updatePolygonClosedState(); void updateForm(); void validColumn(QTreeWidgetItem *qtwi, int column); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/editorcommands.cpp0000644000175000017500000004114711346777326023613 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "editorcommands.h" /*** DeletePartsCommand ***/ /** Constructeur @param scene ElementScene concernee @param parts Liste des parties supprimees @param parent QUndoCommand parent */ DeletePartsCommand::DeletePartsCommand( ElementScene *scene, const QList parts, QUndoCommand *parent ) : QUndoCommand(QObject::tr("suppression", "undo caption"), parent), deleted_parts(parts), editor_scene(scene) { foreach(QGraphicsItem *qgi, deleted_parts) { editor_scene -> qgiManager().manage(qgi); } } /// Destructeur : detruit egalement les parties supprimees DeletePartsCommand::~DeletePartsCommand() { foreach(QGraphicsItem *qgi, deleted_parts) { editor_scene -> qgiManager().release(qgi); } } /// Restaure les parties supprimees void DeletePartsCommand::undo() { editor_scene -> blockSignals(true); foreach(QGraphicsItem *qgi, deleted_parts) { editor_scene -> addItem(qgi); } editor_scene -> blockSignals(false); } /// Supprime les parties void DeletePartsCommand::redo() { editor_scene -> blockSignals(true); foreach(QGraphicsItem *qgi, deleted_parts) { editor_scene -> removeItem(qgi); } editor_scene -> blockSignals(false); } /*** CutPartsCommand ***/ /** Constructeur @param view ElementView concernee @param c Liste des parties collees @param parent QUndoCommand parent */ PastePartsCommand::PastePartsCommand( ElementView *view, const ElementContent &c, QUndoCommand *parent ) : QUndoCommand(parent), content_(c), editor_view_(view), editor_scene_(view -> scene()), uses_offset(false), first_redo(true) { setText(QObject::tr("coller")); editor_scene_ -> qgiManager().manage(content_); } /// Destructeur PastePartsCommand::~PastePartsCommand() { editor_scene_ -> qgiManager().release(content_); } /// annule le coller void PastePartsCommand::undo() { // enleve les parties editor_scene_ -> blockSignals(true); foreach(QGraphicsItem *part, content_) { editor_scene_ -> removeItem(part); } editor_scene_ -> blockSignals(false); if (uses_offset) { editor_view_ -> offset_paste_count_ = old_offset_paste_count_; editor_view_ -> start_top_left_corner_ = old_start_top_left_corner_; } editor_view_ -> adjustSceneRect(); } /// refait le coller void PastePartsCommand::redo() { if (first_redo) first_redo = false; else { // pose les parties editor_scene_ -> blockSignals(true); foreach(QGraphicsItem *part, content_) { editor_scene_ -> addItem(part); } editor_scene_ -> blockSignals(false); if (uses_offset) { editor_view_ -> offset_paste_count_ = new_offset_paste_count_; editor_view_ -> start_top_left_corner_ = new_start_top_left_corner_; } } editor_scene_ -> slot_select(content_); editor_view_ -> adjustSceneRect(); } /** Indique a cet objet d'annulation que le c/c a annuler ou refaire etait un c/c avec decalage ; il faut plus d'informations pour annuler ce type de collage. */ void PastePartsCommand::setOffset(int old_offset_pc, const QPointF &old_start_tlc, int new_offset_pc, const QPointF &new_start_tlc) { old_offset_paste_count_ = old_offset_pc; old_start_top_left_corner_ = old_start_tlc; new_offset_paste_count_ = new_offset_pc; new_start_top_left_corner_ = new_start_tlc; uses_offset = true; } /*** CutPartsCommand ***/ /** Constructeur @param scene ElementScene concernee @param parts Liste des parties coupees @param parent QUndoCommand parent */ CutPartsCommand::CutPartsCommand( ElementScene *scene, const QList parts, QUndoCommand *parent ) : DeletePartsCommand(scene, parts, parent) { setText(QString(QObject::tr("couper des parties", "undo caption"))); } /// Destructeur CutPartsCommand::~CutPartsCommand() { } /*** MovePartsCommand ***/ /** Constructeur @param m Mouvement sous forme de QPointF @param scene ElementScene concernee @param parts Liste des parties deplacees @param parent QUndoCommand parent */ MovePartsCommand::MovePartsCommand( const QPointF &m, ElementScene *scene, const QList parts, QUndoCommand *parent ) : QUndoCommand(QObject::tr("d\351placement", "undo caption"), parent), movement(m), first_redo(true) { moved_parts = parts; editor_scene = scene; } /// Destructeur MovePartsCommand::~MovePartsCommand() { } /// Annule le deplacement void MovePartsCommand::undo() { foreach(QGraphicsItem *qgi, moved_parts) qgi -> moveBy(-movement.x(), -movement.y()); } /// Refait le deplacement void MovePartsCommand::redo() { // le premier appel a redo, lors de la construction de l'objet, ne doit pas se faire if (first_redo) { first_redo = false; return; } foreach(QGraphicsItem *qgi, moved_parts) qgi -> moveBy(movement.x(), movement.y()); } /*** AddPartCommand ***/ /** Constructeur @param name Nom de la partie ajoutee @param scene ElementScene concernee @param p partie ajoutee @param parent QUndoCommand parent */ AddPartCommand::AddPartCommand( const QString &name, ElementScene *scene, QGraphicsItem *p, QUndoCommand *parent ) : QUndoCommand(QString(QObject::tr("ajout %1", "undo caption")).arg(name), parent), part(p), editor_scene(scene), first_redo(true) { editor_scene -> qgiManager().manage(part); } /// Destructeur AddPartCommand::~AddPartCommand() { editor_scene -> qgiManager().release(part); } /// Annule l'ajout void AddPartCommand::undo() { editor_scene -> removeItem(part); } /// Refait l'ajout void AddPartCommand::redo() { // le premier appel a redo, lors de la construction de l'objet, ne doit pas se faire if (first_redo) { editor_scene -> clearSelection(); part -> setSelected(true); first_redo = false; return; } editor_scene -> addItem(part); } /** Constructeur @param name nom de la propriete modifiee @param part partie modifiee @param prop propriete modifiee @param old_v ancienne valeur @param new_v nouvelle valeur @param parent qUndoCommand parent */ ChangePartCommand::ChangePartCommand( const QString &name, CustomElementPart *part, const QString &prop, const QVariant &old_v, const QVariant &new_v, QUndoCommand *parent ) : QUndoCommand(QString(QObject::tr("modification %1", "undo caption")).arg(name), parent), cep(part), property(prop), old_value(old_v), new_value(new_v) { } /// Destructeur ChangePartCommand::~ChangePartCommand() { } /// Annule le changement void ChangePartCommand::undo() { cep -> setProperty(property, old_value); } /// Refait le changement void ChangePartCommand::redo() { cep -> setProperty(property, new_value); } /** Constructeur @param p Polygone edite @param o_points points avant le changement @param n_points points apres le changement @param parent QUndoCommand parent */ ChangePolygonPointsCommand::ChangePolygonPointsCommand( PartPolygon *p, const QVector &o_points, const QVector &n_points, QUndoCommand *parent ) : QUndoCommand(QObject::tr("modification points polygone", "undo caption"), parent), polygon(p), old_points(o_points), new_points(n_points) { } /// Destructeur ChangePolygonPointsCommand::~ChangePolygonPointsCommand() { } /// Annule le changement void ChangePolygonPointsCommand::undo() { polygon -> setPolygon(old_points); } /// Refait le changement void ChangePolygonPointsCommand::redo() { polygon -> setPolygon(new_points); } /** Constructeur @param element_scene Element edite @param size_1 Dimensions de l'element avant le changement @param size_2 Dimensions de l'element apres le changement @param hotspot_1 Point de saisie de l'element avant le changement @param hotspot_2 Point de saisie de l'element apres le changement @param o Eventuel decalage a appliquer aux parties de l'element edite @param parent QUndoCommand parent */ ChangeHotspotCommand::ChangeHotspotCommand( ElementScene *element_scene, const QSize &size_1, const QSize &size_2, const QPoint &hotspot_1, const QPoint &hotspot_2, const QPoint &o, QUndoCommand *parent ) : QUndoCommand(QObject::tr("modification dimensions/hotspot", "undo caption"), parent), element(element_scene), size_before(size_1), size_after(size_2), hotspot_before(hotspot_1), hotspot_after(hotspot_2), offset(o) { } /// Destructeur ChangeHotspotCommand::~ChangeHotspotCommand() { } /// Annule le changement void ChangeHotspotCommand::undo() { QRectF sc(element -> sceneContent()); element -> setWidth(size_before.width()); element -> setHeight(size_before.height()); element -> setHotspot(hotspot_before); if (!offset.isNull()) applyOffset(-offset); element -> update(element -> sceneContent().unite(sc)); } /// Refait le changement void ChangeHotspotCommand::redo() { QRectF sc(element -> sceneContent()); element -> setWidth(size_after.width()); element -> setHeight(size_after.height()); element -> setHotspot(hotspot_after); if (!offset.isNull()) applyOffset(offset); element -> update(element -> sceneContent().unite(sc)); } /** Applique une translation aux parties de l'element edite @param o Translation a appliquer */ void ChangeHotspotCommand::applyOffset(const QPointF &o) { foreach(QGraphicsItem *qgi, element -> items()) { qgi -> translate(o.x(), o.y()); } } /** Constructeur @param element_scene Element edite @param before Listes des noms avant changement @param after Listes des noms apres changement @param parent QUndoCommand parent */ ChangeNamesCommand::ChangeNamesCommand( ElementScene *element_scene, const NamesList &before, const NamesList &after, QUndoCommand *parent ) : QUndoCommand(QObject::tr("modification noms", "undo caption"), parent), names_before(before), names_after(after), element(element_scene) { } /// Destructeur ChangeNamesCommand::~ChangeNamesCommand() { } /// Annule le changement void ChangeNamesCommand::undo() { element -> setNames(names_before); } /// Refait le changement void ChangeNamesCommand::redo() { element -> setNames(names_after); } /** Constructeur @param element_scene Element edite @param before Orientations avant changement @param after Orientations apres changement @param parent QUndoCommand parent */ ChangeOrientationsCommand::ChangeOrientationsCommand( ElementScene *element_scene, const OrientationSet &before, const OrientationSet &after, QUndoCommand *parent ) : QUndoCommand(QObject::tr("modification orientations", "undo caption"), parent), ori_before(before), ori_after(after), element(element_scene) { } /// Destructeur ChangeOrientationsCommand::~ChangeOrientationsCommand() { } /// Annule le changement void ChangeOrientationsCommand::undo() { element -> setOrientations(ori_before); } /// Refait le changement void ChangeOrientationsCommand::redo() { element -> setOrientations(ori_after); } /** Constructeur @param elmt ElementScene concernee @param o Option decrivant le type de traitement applique aux zValues des parties de l'element @param parent QUndoCommand parent */ ChangeZValueCommand::ChangeZValueCommand( ElementScene *elmt, ChangeZValueCommand::Option o, QUndoCommand *parent ) : QUndoCommand(parent), element(elmt), option(o) { // recupere les parties de l'elements, sauf les bornes QList items_list = element -> zItems(); // prend un snapshot des zValues foreach(QGraphicsItem *qgi, items_list) undo_hash.insert(qgi, qgi -> zValue()); // choisit le nom en fonction du traitement if (option == BringForward) { setText(QObject::tr("amener au premier plan", "undo caption")); applyBringForward(items_list); } else if (option == Raise) { setText(QObject::tr("rapprocher", "undo caption")); applyRaise(items_list); } else if (option == Lower) { setText(QObject::tr("\351loigner", "undo caption")); applyLower(items_list); } else if (option == SendBackward) { setText(QObject::tr("envoyer au fond", "undo caption")); applySendBackward(items_list); } } /// Destructeur ChangeZValueCommand::~ChangeZValueCommand() { } /// Annule les changements de zValue void ChangeZValueCommand::undo() { foreach(QGraphicsItem *qgi, undo_hash.keys()) qgi -> setZValue(undo_hash[qgi]); } /// Refait les changements de zValue void ChangeZValueCommand::redo() { foreach(QGraphicsItem *qgi, redo_hash.keys()) qgi -> setZValue(redo_hash[qgi]); } /** Amene les elements selectionnes au premier plan @param items_list Liste des elements (selectionnes et non selectionnes) */ void ChangeZValueCommand::applyBringForward(const QList &items_list) { QList non_selected_items = items_list; QList selected_items; foreach(QGraphicsItem *qgi, non_selected_items) { if (qgi -> isSelected()) { selected_items << qgi; non_selected_items.removeAt(non_selected_items.indexOf(qgi)); } } int z = 1; foreach(QGraphicsItem *qgi, non_selected_items) redo_hash.insert(qgi, z ++); foreach(QGraphicsItem *qgi, selected_items) redo_hash.insert(qgi, z ++); } /** Remonte les elements selectionnes d'un plan @param items_list Liste des elements (selectionnes et non selectionnes) */ void ChangeZValueCommand::applyRaise(const QList &items_list) { QList my_items_list = items_list; for (int i = my_items_list.count() - 2 ; i >= 0 ; -- i) { if (my_items_list[i] -> isSelected()) { if (!my_items_list[i +1] -> isSelected()) { my_items_list.swap(i, i + 1); } } } int z = 1; foreach(QGraphicsItem *qgi, my_items_list) redo_hash.insert(qgi, z ++); } /** Descend les elements selectionnes d'un plan @param items_list Liste des elements (selectionnes et non selectionnes) */ void ChangeZValueCommand::applyLower(const QList &items_list) { QList my_items_list = items_list; for (int i = 1 ; i < my_items_list.count() ; ++ i) { if (my_items_list[i] -> isSelected()) { if (!my_items_list[i - 1] -> isSelected()) { my_items_list.swap(i, i - 1); } } } int z = 1; foreach(QGraphicsItem *qgi, my_items_list) redo_hash.insert(qgi, z ++); } /** Envoie les elements selectionnes au fond @param items_list Liste des elements (selectionnes et non selectionnes) */ void ChangeZValueCommand::applySendBackward(const QList &items_list) { QList non_selected_items = items_list; QList selected_items; foreach(QGraphicsItem *qgi, non_selected_items) { if (qgi -> isSelected()) { selected_items << qgi; non_selected_items.removeAt(non_selected_items.indexOf(qgi)); } } int z = 1; foreach(QGraphicsItem *qgi, selected_items) redo_hash.insert(qgi, z ++); foreach(QGraphicsItem *qgi, non_selected_items) redo_hash.insert(qgi, z ++); } /** Constructeur @param elmt ElementScene concernee @param allow true pour que les connexions internes soient acceptees, false sinon @param parent QUndoCommand parent */ AllowInternalConnectionsCommand::AllowInternalConnectionsCommand(ElementScene *elmt, bool allow, QUndoCommand *parent) : QUndoCommand(QObject::tr("modification connexions internes", "undo caption"), parent), element(elmt), ic(allow) { } /// Destructeur AllowInternalConnectionsCommand::~AllowInternalConnectionsCommand() { } /// Annule le changement d'autorisation pour les connexions internes void AllowInternalConnectionsCommand::undo() { element -> setInternalConnections(!ic); } /// Refait le changement d'autorisation pour les connexions internes void AllowInternalConnectionsCommand::redo() { element -> setInternalConnections(ic); } /** Constructeur @param elmt ElementScene concernee @param old_infos Informations complementaires precedentes @param new_infos Nouvelles informations complementaires @param parent QUndoCommand parent */ ChangeInformationsCommand::ChangeInformationsCommand(ElementScene *elmt, const QString &old_infos, const QString &new_infos, QUndoCommand *parent) : QUndoCommand(QObject::tr("modification informations complementaires", "undo caption"), parent), element(elmt), old_informations_(old_infos), new_informations_(new_infos) { } /// Destructeur ChangeInformationsCommand::~ChangeInformationsCommand() { } /// Annule le changement d'autorisation pour les connexions internes void ChangeInformationsCommand::undo() { element -> setInformations(old_informations_); } /// Refait le changement d'autorisation pour les connexions internes void ChangeInformationsCommand::redo() { element -> setInformations(new_informations_); } qelectrotech-0.22+svn897/sources/editor/elementitemeditor.h0000644000175000017500000000370711337103436023750 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENT_ITEM_EDITOR_H #define ELEMENT_ITEM_EDITOR_H #include class QETElementEditor; class ElementScene; class CustomElementPart; /** Cette classe est la classe de base pour les editeurs de parties dans l'editeur d'element. Elle fournit des methodes pour acceder facilement a l'editeur, a la pile d'annulation, a la scene d'edition ou encore pour ajouter facilement une annulation de type ChangePartCommand. */ class ElementItemEditor : public QWidget { Q_OBJECT // constructeurs, destructeur public: ElementItemEditor(QETElementEditor *, QWidget * = 0); virtual ~ElementItemEditor() {}; private: ElementItemEditor(const ElementItemEditor &); // methodes public: virtual QETElementEditor *elementEditor() const; virtual ElementScene *elementScene() const; virtual QUndoStack &undoStack() const; virtual void addChangePartCommand(const QString &, CustomElementPart *, const QString &, const QVariant &); virtual QString elementTypeName() const; virtual void setElementTypeName(const QString &); virtual void detach(); virtual bool setPart(CustomElementPart *) = 0; virtual CustomElementPart *currentPart() const = 0; virtual void updateForm() = 0; // attributs private: QETElementEditor *element_editor; QString element_type_name; }; #endif qelectrotech-0.22+svn897/sources/editor/customelementpart.cpp0000644000175000017500000000275311337103436024337 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "customelementpart.h" #include "customelement.h" #include "qetelementeditor.h" /// @return le QETElementEditor auquel cet editeur appartient QETElementEditor *CustomElementPart::elementEditor() const { return(element_editor); } /** Appelle le slot updateCurrentPartEditor de l'editeur @see QETElementEditor::updateCurrentPartEditor() */ void CustomElementPart::updateCurrentPartEditor() const { if (element_editor) { element_editor -> updateCurrentPartEditor(); } } /// @return l'ElementScene contenant les parties editees par cet editeur ElementScene *CustomElementPart::elementScene() const { return(element_editor -> elementScene()); } /// @return la QUndoStack a utiliser pour les annulations QUndoStack &CustomElementPart::undoStack() const { return(elementScene() -> undoStack()); } qelectrotech-0.22+svn897/sources/editor/elementitemeditor.cpp0000644000175000017500000000534011337103436024276 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementitemeditor.h" #include "qetelementeditor.h" #include "editorcommands.h" /** Constructeur @param editor QETElementEditor auquel cet editeur appartient @param parent QWidget parent de cet editeur */ ElementItemEditor::ElementItemEditor(QETElementEditor *editor, QWidget *parent) : QWidget(parent), element_editor(editor) { } /// @return le QETElementEditor auquel cet editeur appartient QETElementEditor *ElementItemEditor::elementEditor() const { return(element_editor); } /// @return l'ElementScene contenant les parties editees par cet editeur ElementScene *ElementItemEditor::elementScene() const { return(element_editor -> elementScene()); } /// @return la QUndoStack a utiliser pour les annulations QUndoStack &ElementItemEditor::undoStack() const { return(elementScene() -> undoStack()); } /** Ajoute une ChangePartCommand a l'UndoStack. L'ancienne valeur sera automatiquement recuperee. A noter que cette methode ne fait rien si l'ancienne valeur et la nouvelle sont egales ou encore si part vaut 0 @param desc nom de la propriete modifiee @param part partie modifiee @param prop propriete modifiee @param new_v nouvelle valeur */ void ElementItemEditor::addChangePartCommand(const QString &desc, CustomElementPart *part, const QString &prop, const QVariant &new_v) { // ne fait rien si part vaut 0 if (!part) return; // recupere l'ancienne valeur QVariant old_v = part -> property(prop); // ne fait rien si l'ancienne valeur et la nouvelle sont egales if (old_v == new_v) return; undoStack().push( new ChangePartCommand( desc + " " + element_type_name, part, prop, old_v, new_v ) ); } /// @return Le nom du type d'element edite QString ElementItemEditor::elementTypeName() const { return(element_type_name); } /// @param name Nom du type d'element edite void ElementItemEditor::setElementTypeName(const QString &name) { element_type_name = name; } /** Detache l'editeur de la primitive qu'il edite. Equivaut a setPart(0) @see setPart */ void ElementItemEditor::detach() { setPart(0); } qelectrotech-0.22+svn897/sources/editor/partcircle.h0000644000175000017500000000403711337103436022356 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PART_CIRCLE_H #define PART_CIRCLE_H #include #include "customelementgraphicpart.h" /** Cette classe represente un cercle pouvant etre utilise pour composer le dessin d'un element dans l'editeur d'element. */ class PartCircle : public QGraphicsEllipseItem, public CustomElementGraphicPart { // constructeurs, destructeur public: PartCircle(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartCircle(); private: PartCircle(const PartCircle &); // methodes public: enum { Type = UserType + 1102 }; /** permet de caster un QGraphicsItem en PartCircle avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); virtual QString name() const { return(QObject::tr("cercle", "element part name")); } virtual QString xmlName() const { return(QString("circle")); } virtual const QDomElement toXml(QDomDocument &) const; virtual void fromXml(const QDomElement &); virtual QPointF sceneTopLeft() const; virtual QRectF boundingRect() const; QPointF sceneCenter() const; virtual void setProperty(const QString &, const QVariant &); virtual QVariant property(const QString &); virtual bool isUseless() const; protected: QVariant itemChange(GraphicsItemChange, const QVariant &); }; #endif qelectrotech-0.22+svn897/sources/editor/circleeditor.cpp0000644000175000017500000001107411337254100023223 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "circleeditor.h" #include "styleeditor.h" #include "partcircle.h" /** Constructeur @param editor L'editeur d'element concerne @param circle Le cercle a editer @param parent le Widget parent */ CircleEditor::CircleEditor(QETElementEditor *editor, PartCircle *circle, QWidget *parent) : ElementItemEditor(editor, parent), part(circle) { style_ = new StyleEditor(editor); x = new QLineEdit(); y = new QLineEdit(); r = new QLineEdit(); x -> setValidator(new QDoubleValidator(x)); y -> setValidator(new QDoubleValidator(y)); r -> setValidator(new QDoubleValidator(r)); QVBoxLayout *v_layout = new QVBoxLayout(this); QGridLayout *grid = new QGridLayout(); grid -> addWidget(new QLabel(tr("Centre : ")), 0, 0); grid -> addWidget(new QLabel("x"), 1, 0, Qt::AlignRight); grid -> addWidget(x, 1, 1); grid -> addWidget(new QLabel("y"), 1, 2); grid -> addWidget(y, 1, 3); grid -> addWidget(new QLabel(tr("Diam\350tre : ")), 2, 0); grid -> addWidget(r, 2, 1); v_layout -> addWidget(style_); v_layout -> addLayout(grid); activeConnections(true); updateForm(); } /// Destructeur CircleEditor::~CircleEditor() { } /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur de cercle acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe PartCircle. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool CircleEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; style_ -> setPart(0); return(true); } if (PartCircle *part_circle = dynamic_cast(new_part)) { part = part_circle; style_ -> setPart(part); updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *CircleEditor::currentPart() const { return(part); } /** met a jour le cercle a partir des donnees du formulaire */ void CircleEditor::updateCircle() { if (!part) return; part -> setProperty("x", x -> text().toDouble()); part -> setProperty("y", y -> text().toDouble()); part -> setProperty("diameter", r -> text().toDouble()); } /// Met a jour l'abscisse du cercle et cree un objet d'annulation void CircleEditor::updateCircleX() { addChangePartCommand(tr("abscisse"), part, "x", x -> text().toDouble()); } /// Met a jour l'ordonnee du cercle et cree un objet d'annulation void CircleEditor::updateCircleY() { addChangePartCommand(tr("ordonn\351e"), part, "y", y -> text().toDouble()); } /// Met a jour le diametre du cercle et cree un objet d'annulation void CircleEditor::updateCircleD() { addChangePartCommand(tr("diam\350tre"), part, "diameter", r -> text().toDouble()); } /** Met a jour le formulaire d'edition */ void CircleEditor::updateForm() { if (!part) return; activeConnections(false); x -> setText(part -> property("x").toString()); y -> setText(part -> property("y").toString()); r -> setText(part -> property("diameter").toString()); activeConnections(true); } /** Active ou desactive les connexionx signaux/slots entre les widgets internes. @param active true pour activer les connexions, false pour les desactiver */ void CircleEditor::activeConnections(bool active) { if (active) { connect(x, SIGNAL(editingFinished()), this, SLOT(updateCircleX())); connect(y, SIGNAL(editingFinished()), this, SLOT(updateCircleY())); connect(r, SIGNAL(editingFinished()), this, SLOT(updateCircleD())); } else { disconnect(x, SIGNAL(editingFinished()), this, SLOT(updateCircleX())); disconnect(y, SIGNAL(editingFinished()), this, SLOT(updateCircleY())); disconnect(r, SIGNAL(editingFinished()), this, SLOT(updateCircleD())); } } qelectrotech-0.22+svn897/sources/editor/qetelementeditor.h0000644000175000017500000001625611344770605023614 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CUSTOM_ELEMENT_EDITOR_H #define CUSTOM_ELEMENT_EDITOR_H #include #include "qet.h" #include "elementscene.h" #include "orientationset.h" #include "elementslocation.h" class ElementItemEditor; class ElementView; /** Cette classe represente un editeur d'element. Elle permet a l'utilisateur de dessiner, modifier et parametrer un element electrique. Le dessin se fait par ajout de parties (Part). */ class QETElementEditor : public QMainWindow { Q_OBJECT // constructeur, destructeur public: QETElementEditor(QWidget * = 0); virtual ~QETElementEditor(); private: QETElementEditor(const QETElementEditor &); // attributs private: /// booleen indiquant si l'editeur est en mode "lecture seule" ou non bool read_only; /// menus QMenu *file_menu, *edit_menu, *paste_from_menu, *display_menu, *tools_menu, *config_menu, *help_menu; /// vue sur la scene d'edition ElementView *ce_view; /// scene d'edition ElementScene *ce_scene; /// container pour les widgets d'edition des parties QDockWidget *tools_dock; /// Pile de widgets pour tools_dock QStackedWidget *tools_dock_stack_; /// label affiche lors de la selection de plusieurs elements QLabel *default_informations; /// Hash permettant d'acceder aux widgets d'editions disponibles QHash editors_; /// ScrollArea pour le DockWidget affichant des infos sur la partie selectionnee QScrollArea *tools_dock_scroll_area_; /// container pour la liste des annulations QDockWidget *undo_dock; /// Container pour la liste des parties QDockWidget *parts_dock; /// Liste des parties QListWidget *parts_list; /// actions du menu fichier QAction *new_element, *open, *open_file, *save, *save_as, *save_as_file, *reload, *quit; /// actions du menu edition QAction *selectall, *deselectall, *inv_select; QAction *cut, *copy, *paste, *paste_in_area, *paste_from_file, *paste_from_elmt; QAction *undo, *redo; QAction *edit_delete, *edit_size_hs, *edit_names, *edit_ori, *edit_author; QAction *edit_raise, *edit_lower, *edit_backward, *edit_forward; /// actions du menu affichage QAction *zoom_in, *zoom_out, *zoom_fit, *zoom_reset; /// actions du menu configurer QAction *fullscreen; ///< Passe en mode plein ecran ou en sort QAction *configure; ///< Lance le dialogue de configuration de QElectroTech /// actions du menu aide QAction *about_qet; ///< Lance le dialogue "A propos de QElectroTech" QAction *about_qt; ///< Lance le dialogue "A propos de Qt" /// barres d'outils QToolBar *parts_toolbar, *main_toolbar, *view_toolbar, *depth_toolbar, *element_toolbar; /// actions de la barre d'outils QActionGroup *parts; QAction *move, *add_line, *add_circle, *add_rectangle, *add_ellipse, *add_polygon, *add_text; QAction *add_arc, *add_terminal, *add_textfield; /// titre minimal QString min_title; /// Nom de fichier de l'element edite QString filename_; /// Emplacement de l'element edite ElementsLocation location_; /// booleen indiquant si l'element en cours d'edition provient d'un fichier ou d'un emplacement bool opened_from_file; // methodes public: void setSize(const QSize &); QSize size() const; void setHotspot(const QPoint &); QPoint hotspot() const; void setNames(const NamesList &); void setOrientations(const OrientationSet &orientation_set); OrientationSet orientations() const; void setLocation(const ElementsLocation &); ElementsLocation location() const; void setFileName(const QString &); QString fileName() const; void setReadOnly(bool); bool isReadOnly() const; void fromFile(const QString &); void fromLocation(const ElementsLocation &); bool toFile(const QString &); bool toLocation(const ElementsLocation &); bool isEditing(const ElementsLocation &); bool isEditing(const QString &); ElementScene *elementScene() const; void readSettings(); void writeSettings(); static QPointF pasteOffset(); static QET::OrientedMovement pasteMovement(); static QString getOpenElementFileName(QWidget * = 0, const QString & = QString()); protected: void closeEvent(QCloseEvent *); virtual bool event(QEvent *); private: void setupActions(); void setupMenus(); void setupInterface(); bool canClose(); QWidget *clearToolsDock(); void copyAndPasteXml(const QDomDocument &); public slots: void slot_new(); void slot_open(); void slot_openFile(); void openRecentFile(const QString &); void openElement(const QString &); void slot_reload(); bool slot_save(); bool slot_saveAs(); bool slot_saveAsFile(); void slot_setRubberBandToView(); void slot_setNoDragToView(); void slot_setNormalMode(); void slot_updateInformations(); void slot_updateMenus(); void slot_updateFullScreenAction(); void slot_updateTitle(); void slot_createPartsList(); void slot_updatePartsList(); void slot_updateSelectionFromPartsList(); void toggleFullScreen(); void xmlPreview(); bool checkElement(); void pasteFromFile(); void pasteFromElement(); void updateCurrentPartEditor(); }; /** @param siz La nouvelle taille de l'element edite */ inline void QETElementEditor::setSize(const QSize &siz) { ce_scene -> setWidth(siz.width()); ce_scene -> setHeight(siz.height()); } /** @return la taille de l'element edite */ inline QSize QETElementEditor::size() const { return( QSize( ce_scene -> width(), ce_scene -> height() ) ); } /** @param hs Le nouveau point de saisie de l'element edite */ inline void QETElementEditor::setHotspot(const QPoint &hs) { ce_scene -> setHotspot(hs); } /** @return le point de saisie de l'element edite */ inline QPoint QETElementEditor::hotspot() const { return(ce_scene -> hotspot()); } /** @param nameslist le nouvel ensemble de noms de l'element edite */ inline void QETElementEditor::setNames(const NamesList &nameslist) { ce_scene -> setNames(nameslist); } /** @param orientation_set le nouvel ensemble d'orientations de l'element edite */ inline void QETElementEditor::setOrientations(const OrientationSet &orientation_set) { ce_scene -> setOrientations(orientation_set); } /** @return le nouvel ensemble d'orientations de l'element edite */ inline OrientationSet QETElementEditor::orientations() const { return(ce_scene -> orientations()); } /** @return l'emplacement de l'element edite */ inline ElementsLocation QETElementEditor::location() const { return(location_); } /** @return le nom de fichier de l'element edite */ inline QString QETElementEditor::fileName() const { return(filename_); } /** @return la scene d'edition de l'element */ inline ElementScene *QETElementEditor::elementScene() const { return(ce_scene); } #endif qelectrotech-0.22+svn897/sources/editor/terminaleditor.cpp0000644000175000017500000001207711337103436023606 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "terminaleditor.h" #include "partterminal.h" #include "qeticons.h" /** Constructeur @param editor L'editeur d'element concerne @param term La borne a editer @param parent QWidget parent de ce widget */ TerminalEditor::TerminalEditor(QETElementEditor *editor, PartTerminal *term, QWidget *parent) : ElementItemEditor(editor, parent), part(term) { qle_x = new QLineEdit(); qle_y = new QLineEdit(); qle_x -> setValidator(new QDoubleValidator(qle_x)); qle_y -> setValidator(new QDoubleValidator(qle_y)); orientation = new QComboBox(); orientation -> addItem(QET::Icons::North, tr("Nord"), QET::North); orientation -> addItem(QET::Icons::East, tr("Est"), QET::East); orientation -> addItem(QET::Icons::South, tr("Sud"), QET::South); orientation -> addItem(QET::Icons::West, tr("Ouest"), QET::West); QVBoxLayout *main_layout = new QVBoxLayout(); main_layout -> addWidget(new QLabel(tr("Position : "))); QHBoxLayout *position = new QHBoxLayout(); position -> addWidget(new QLabel(tr("x : "))); position -> addWidget(qle_x ); position -> addWidget(new QLabel(tr("y : "))); position -> addWidget(qle_y ); main_layout -> addLayout(position); QHBoxLayout *ori = new QHBoxLayout(); ori -> addWidget(new QLabel(tr("Orientation : "))); ori -> addWidget(orientation ); main_layout -> addLayout(ori); main_layout -> addStretch(); setLayout(main_layout); activeConnections(true); updateForm(); } /// Destructeur TerminalEditor::~TerminalEditor() { }; /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur de borne acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe PartTerminal. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool TerminalEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; return(true); } if (PartTerminal *part_terminal = dynamic_cast(new_part)) { part = part_terminal; updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *TerminalEditor::currentPart() const { return(part); } /** Met a jour la borne a partir des donnees du formulaire */ void TerminalEditor::updateTerminal() { if (!part) return; part -> setPos(qle_x -> text().toDouble(), qle_y -> text().toDouble()); part -> setOrientation( static_cast( orientation -> itemData( orientation -> currentIndex() ).toInt() ) ); } /// Met a jour l'abscisse de la position de la borne et cree un objet d'annulation void TerminalEditor::updateTerminalX() { addChangePartCommand(tr("abscisse"), part, "x", qle_x -> text().toDouble()); updateForm(); } /// Met a jour l'ordonnee de la position de la borne et cree un objet d'annulation void TerminalEditor::updateTerminalY() { addChangePartCommand(tr("ordonn\351e"), part, "y", qle_y -> text().toDouble()); updateForm(); } /// Met a jour l'orientation de la borne et cree un objet d'annulation void TerminalEditor::updateTerminalO() { addChangePartCommand(tr("orientation"), part, "orientation", orientation -> itemData(orientation -> currentIndex()).toInt()); } /** Met a jour le formulaire d'edition */ void TerminalEditor::updateForm() { if (!part) return; activeConnections(false); qle_x -> setText(part -> property("x").toString()); qle_y -> setText(part -> property("y").toString()); orientation -> setCurrentIndex(static_cast(part -> orientation())); activeConnections(true); } /** Active ou desactive les connexionx signaux/slots entre les widgets internes. @param active true pour activer les connexions, false pour les desactiver */ void TerminalEditor::activeConnections(bool active) { if (active) { connect(qle_x, SIGNAL(editingFinished()), this, SLOT(updateTerminalX())); connect(qle_y, SIGNAL(editingFinished()), this, SLOT(updateTerminalY())); connect(orientation, SIGNAL(activated(int)), this, SLOT(updateTerminalO())); } else { disconnect(qle_x, SIGNAL(editingFinished()), this, SLOT(updateTerminalX())); disconnect(qle_y, SIGNAL(editingFinished()), this, SLOT(updateTerminalY())); disconnect(orientation, SIGNAL(activated(int)), this, SLOT(updateTerminalO())); } } qelectrotech-0.22+svn897/sources/editor/partterminal.h0000644000175000017500000000425111337103436022726 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PART_TERMINAL_H #define PART_TERMINAL_H #include "customelementpart.h" #include "qet.h" #include /** Cette classe represente une borne pouvant etre utilisee pour composer le dessin d'un element dans l'editeur d'element. */ class PartTerminal : public CustomElementPart, public QGraphicsItem { public: // constructeurs, destructeur PartTerminal(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartTerminal(); private: PartTerminal(const PartTerminal &); // attributs private: QET::Orientation _orientation; QPointF second_point; // methodes public: enum { Type = UserType + 1106 }; /** permet de caster un QGraphicsItem en PartTerminal avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } virtual QString name() const { return(QObject::tr("borne", "element part name")); } virtual QString xmlName() const { return(QString("terminal")); } virtual void fromXml(const QDomElement &); virtual const QDomElement toXml(QDomDocument &) const; virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); virtual QRectF boundingRect() const; QET::Orientation orientation() const; void setOrientation(QET::Orientation); virtual void setProperty(const QString &, const QVariant &); virtual QVariant property(const QString &); virtual bool isUseless() const; protected: QVariant itemChange(GraphicsItemChange, const QVariant &); private: void updateSecondPoint(); }; #endif qelectrotech-0.22+svn897/sources/editor/customelementgraphicpart.h0000644000175000017500000001074111337103436025336 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CUSTOM_ELEMENT_GRAPHIC_PART_H #define CUSTOM_ELEMENT_GRAPHIC_PART_H #include #include "customelementpart.h" #include "styleeditor.h" class QETElementEditor; typedef CustomElementGraphicPart CEGP; /** Cette classe represente une partie graphique d'element Elle encapsule des methodes afin de gerer les attributs de style communs a la plupart des parties d'elements */ class CustomElementGraphicPart : public CustomElementPart { public: /// Qualifie le style de ligne utilise pour dessiner la partie enum LineStyle { NormalStyle, ///< Ligne pleine DashedStyle ///< Ligne pointillee }; /// Qualifie l'epaisseur de ligne utilisee pour dessiner la partie enum LineWeight { NormalWeight, ///< Ligne normale ThinWeight, ///< Ligne fine NoneWeight ///< Ligne invisible }; /// Qualifie la couleur utilisee pour remplir la partie enum Filling { NoneFilling, ///< Remplissage transparent BlackFilling, ///< Remplissage en noir WhiteFilling ///< Remplissage en blanc }; /// Qualifie la couleur de ligne utilisee pour dessiner la partie enum Color { BlackColor, ///< Ligne noire WhiteColor ///< Ligne blanche }; // constructeurs, destructeur public: /** Constructeur @param editor Editeur d'element auquel cette partie est rattachee */ CustomElementGraphicPart(QETElementEditor *editor) : CustomElementPart(editor), _linestyle(NormalStyle), _lineweight(NormalWeight), _filling(NoneFilling), _color(BlackColor), _antialiased(false) { }; /// Destructeur virtual ~CustomElementGraphicPart() { }; // attributs private: LineStyle _linestyle; LineWeight _lineweight; Filling _filling ; Color _color; bool _antialiased; //methodes public: void setLineStyle(LineStyle); void setLineWeight(LineWeight); void setFilling(Filling); void setColor(Color); void setAntialiased(bool); LineStyle lineStyle() const; LineWeight lineWeight() const; Filling filling() const; Color color() const; bool antialiased() const; void setProperty(const QString &, const QVariant &); QVariant property(const QString &); protected: void stylesToXml(QDomElement &) const; void stylesFromXml(const QDomElement &); void resetStyles(); void applyStylesToQPainter(QPainter &) const; }; /** Change le style de trait @param ls Le nouveau style de trait */ inline void CustomElementGraphicPart::setLineStyle(LineStyle ls) { _linestyle = ls; } /** Change l'epaisseur de trait @param lw La nouvelle epaisseur de trait */ inline void CustomElementGraphicPart::setLineWeight(LineWeight lw) { _lineweight = lw; } /** Change la couleur de remplissage @param f La nouvelle couleur de remplissage */ inline void CustomElementGraphicPart::setFilling(Filling f) { _filling = f; } /** Change la couleur de trait @param c La nouvelle couleur de trait */ inline void CustomElementGraphicPart::setColor(Color c) { _color = c; } /** @return Le style de trait */ inline CustomElementGraphicPart::LineStyle CustomElementGraphicPart::lineStyle() const { return(_linestyle); } /** @return L'epaisseur de trait */ inline CustomElementGraphicPart::LineWeight CustomElementGraphicPart::lineWeight() const { return(_lineweight); } /** @return La couleur de remplissage */ inline CustomElementGraphicPart::Filling CustomElementGraphicPart::filling() const { return(_filling); } /** @return La couleur de trait */ inline CustomElementGraphicPart::Color CustomElementGraphicPart::color() const { return(_color); } /** Definit si la partie doit etre antialiasee ou non @param aa True pour activer l'antialiasing, false pour le desactiver */ inline void CustomElementGraphicPart::setAntialiased(bool aa) { _antialiased = aa; } /** @return true si la partie est antialiasee, false sinon */ inline bool CustomElementGraphicPart::antialiased() const { return(_antialiased); } #endif qelectrotech-0.22+svn897/sources/editor/elementcontent.h0000644000175000017500000000225011320140732023235 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENT_CONTENT_H #define ELEMENT_CONTENT_H #include class QGraphicsItem; /** Lors de son edition dans l'editeur d'element, un element est decompose en parties graphiques. La classe ElementContent represente un ensemble de parties graphiques constituant tout ou partie d'un element. Note : pour le moment, ElementContent est un typedef pour QList\ @see la documentation Qt de la classe QList */ typedef QList ElementContent; #endif qelectrotech-0.22+svn897/sources/editor/elementscene.cpp0000644000175000017500000012124211344766334023240 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementscene.h" #include "qetelementeditor.h" #include #include "partline.h" #include "partrectangle.h" #include "partellipse.h" #include "partcircle.h" #include "partpolygon.h" #include "partterminal.h" #include "parttext.h" #include "parttextfield.h" #include "partarc.h" #include "hotspoteditor.h" #include "editorcommands.h" #include "elementcontent.h" /** Constructeur @param editor L'editeur d'element concerne @param parent le Widget parent */ ElementScene::ElementScene(QETElementEditor *editor, QObject *parent) : QGraphicsScene(parent), _width(3), _height(7), _hotspot(15, 35), internal_connections(false), qgi_manager(this), element_editor(editor) { setItemIndexMethod(NoIndex); current_polygon = NULL; setGrid(1, 1); initPasteArea(); undo_stack.setClean(); } /// Destructeur ElementScene::~ElementScene() { } /** Passe la scene en mode "selection et deplacement de parties" */ void ElementScene::slot_move() { behavior = Normal; } /** Passe la scene en mode "ajout de ligne" */ void ElementScene::slot_addLine() { behavior = Line; } /** Passe la scene en mode "ajout de rectangle" */ void ElementScene::slot_addRectangle() { behavior = Rectangle; } /** Passe la scene en mode "ajout de cercle" */ void ElementScene::slot_addCircle() { behavior = Circle; } /** Passe la scene en mode "ajout d'ellipse" */ void ElementScene::slot_addEllipse() { behavior = Ellipse; } /** Passe la scene en mode "ajout de polygone" */ void ElementScene::slot_addPolygon() { behavior = Polygon; } /** Passe la scene en mode "ajout de texte statique" */ void ElementScene::slot_addText() { behavior = Text; } /** Passe la scene en mode "ajout de borne" */ void ElementScene::slot_addTerminal() { behavior = Terminal; } /** Passe la scene en mode "ajout d'arc de cercle" */ void ElementScene::slot_addArc() { behavior = Arc; } /** Passe la scene en mode "ajout de champ de texte" */ void ElementScene::slot_addTextField() { behavior = TextField; } /** Gere les mouvements de la souris @param e objet decrivant l'evenement */ void ElementScene::mouseMoveEvent(QGraphicsSceneMouseEvent *e) { QPointF event_pos = e -> scenePos(); if (mustSnapToGrid(e)) snapToGrid(event_pos); if (behavior != Polygon && current_polygon != NULL) current_polygon = NULL; if (behavior == PasteArea) { QRectF current_rect(paste_area_ -> rect()); current_rect.moveCenter(event_pos); paste_area_ -> setRect(current_rect); return; } QRectF temp_rect; qreal radius; QPointF temp_point; QPolygonF temp_polygon; if (e -> buttons() & Qt::LeftButton) { switch(behavior) { case Line: current_line -> setLine(QLineF(current_line -> line().p1(), event_pos)); break; case Rectangle: temp_rect = current_rectangle -> rect(); temp_rect.setBottomRight(event_pos); current_rectangle -> setRect(temp_rect); break; case Ellipse: temp_rect = current_ellipse -> rect(); temp_rect.setBottomRight(event_pos); current_ellipse -> setRect(temp_rect); break; case Arc: temp_rect = current_arc -> rect(); temp_rect.setBottomRight(event_pos); current_arc -> setRect(temp_rect); break; case Circle: temp_rect = current_circle -> rect(); temp_point = event_pos - current_circle -> mapToScene(temp_rect.center()); radius = sqrt(pow(temp_point.x(), 2) + pow(temp_point.y(), 2)); temp_rect = QRectF( temp_rect.center() - QPointF(radius, radius), QSizeF(2.0 * radius, 2.0 * radius) ); current_circle -> setRect(temp_rect); break; case Polygon: if (current_polygon == NULL) break; temp_polygon = current_polygon -> polygon(); temp_polygon.pop_back(); temp_polygon << event_pos; current_polygon -> setPolygon(temp_polygon); break; case Normal: default: QList selected_items = selectedItems(); if (!selected_items.isEmpty()) { // mouvement de souris realise depuis le dernier press event QPointF mouse_movement = e -> scenePos() - moving_press_pos; // application de ce mouvement a la fsi_pos enregistre dans le dernier press event QPointF new_fsi_pos = fsi_pos + mouse_movement; // snap eventuel de la nouvelle fsi_pos if (mustSnapToGrid(e)) snapToGrid(new_fsi_pos); // difference entre la fsi_pos finale et la fsi_pos courante = mouvement a appliquer QPointF current_fsi_pos = selected_items.first() -> scenePos(); QPointF final_movement = new_fsi_pos - current_fsi_pos; foreach(QGraphicsItem *qgi, selected_items) { qgi -> moveBy(final_movement.x(), final_movement.y()); } } } } else if (behavior == Polygon && current_polygon != NULL) { temp_polygon = current_polygon -> polygon(); temp_polygon.pop_back(); temp_polygon << event_pos; current_polygon -> setPolygon(temp_polygon); } else QGraphicsScene::mouseMoveEvent(e); } /** Gere les appuis sur les boutons de la souris @param e objet decrivant l'evenement */ void ElementScene::mousePressEvent(QGraphicsSceneMouseEvent *e) { QPointF event_pos = e -> scenePos(); if (mustSnapToGrid(e)) snapToGrid(event_pos); if (behavior != Polygon && current_polygon != NULL) current_polygon = NULL; QPolygonF temp_polygon; if (e -> button() & Qt::LeftButton) { switch(behavior) { case Line: current_line = new PartLine(element_editor, 0, this); current_line -> setLine(QLineF(event_pos, event_pos)); break; case Rectangle: current_rectangle = new PartRectangle(element_editor, 0, this); current_rectangle -> setRect(QRectF(event_pos, QSizeF(0.0, 0.0))); break; case Ellipse: current_ellipse = new PartEllipse(element_editor, 0, this); current_ellipse -> setRect(QRectF(event_pos, QSizeF(0.0, 0.0))); current_ellipse -> setProperty("antialias", true); break; case Arc: current_arc = new PartArc(element_editor, 0, this); current_arc -> setRect(QRectF(event_pos, QSizeF(0.0, 0.0))); current_arc -> setProperty("antialias", true); break; case Circle: current_circle = new PartCircle(element_editor, 0, this); current_circle -> setRect(QRectF(event_pos, QSizeF(0.0, 0.0))); current_circle -> setProperty("antialias", true); break; case Polygon: if (current_polygon == NULL) { current_polygon = new PartPolygon(element_editor, 0, this); temp_polygon = QPolygonF(0); } else temp_polygon = current_polygon -> polygon(); // au debut, on insere deux points if (!temp_polygon.count()) temp_polygon << event_pos; temp_polygon << event_pos; current_polygon -> setPolygon(temp_polygon); break; case Normal: default: QGraphicsScene::mousePressEvent(e); // gestion des deplacements de parties if (!selectedItems().isEmpty()) { fsi_pos = selectedItems().first() -> scenePos(); moving_press_pos = e -> scenePos(); moving_parts_ = true; } else { fsi_pos = QPoint(); moving_press_pos = QPoint(); moving_parts_ = false; } } } else QGraphicsScene::mousePressEvent(e); } /** Gere les relachements de boutons de la souris @param e objet decrivant l'evenement */ void ElementScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) { QPointF event_pos = e -> scenePos(); if (mustSnapToGrid(e)) snapToGrid(event_pos); PartTerminal *terminal; PartText *text; PartTextField *textfield; if (behavior != Polygon && current_polygon != NULL) current_polygon = NULL; if (behavior == PasteArea) { defined_paste_area_ = paste_area_ -> rect(); removeItem(paste_area_); emit(pasteAreaDefined(defined_paste_area_)); behavior = Normal; return; } if (e -> button() & Qt::LeftButton) { switch(behavior) { case Line: if (qgiManager().manages(current_line)) break; undo_stack.push(new AddPartCommand(tr("ligne"), this, current_line)); emit(partsAdded()); endCurrentBehavior(e); break; case Rectangle: if (qgiManager().manages(current_rectangle)) break; current_rectangle -> setRect(current_rectangle -> rect().normalized()); undo_stack.push(new AddPartCommand(tr("rectangle"), this, current_rectangle)); emit(partsAdded()); endCurrentBehavior(e); break; case Ellipse: if (qgiManager().manages(current_ellipse)) break; current_ellipse -> setRect(current_ellipse -> rect().normalized()); undo_stack.push(new AddPartCommand(tr("ellipse"), this, current_ellipse)); emit(partsAdded()); endCurrentBehavior(e); break; case Arc: if (qgiManager().manages(current_arc)) break; current_arc-> setRect(current_arc -> rect().normalized()); undo_stack.push(new AddPartCommand(tr("arc"), this, current_arc)); emit(partsAdded()); endCurrentBehavior(e); break; case Circle: if (qgiManager().manages(current_circle)) break; current_circle -> setRect(current_circle -> rect().normalized()); undo_stack.push(new AddPartCommand(tr("cercle"), this, current_circle)); emit(partsAdded()); endCurrentBehavior(e); break; case Terminal: terminal = new PartTerminal(element_editor, 0, this); terminal -> setPos(event_pos); undo_stack.push(new AddPartCommand(tr("borne"), this, terminal)); emit(partsAdded()); endCurrentBehavior(e); break; case Text: text = new PartText(element_editor, 0, this); text -> setPos(event_pos); undo_stack.push(new AddPartCommand(tr("texte"), this, text)); emit(partsAdded()); endCurrentBehavior(e); break; case TextField: textfield = new PartTextField(element_editor, 0, this); textfield -> setPos(event_pos); undo_stack.push(new AddPartCommand(tr("champ de texte"), this, textfield)); emit(partsAdded()); endCurrentBehavior(e); break; case Normal: default: // detecte les deplacements de parties if (!selectedItems().isEmpty() && moving_parts_) { QPointF movement = selectedItems().first() -> scenePos() - fsi_pos; if (!movement.isNull()) { undo_stack.push(new MovePartsCommand(movement, this, selectedItems())); } } QGraphicsScene::mouseReleaseEvent(e); moving_parts_ = false; } } else if (e -> button() & Qt::RightButton) { if (behavior == Polygon && current_polygon != NULL) { undo_stack.push(new AddPartCommand(tr("polygone"), this, current_polygon)); current_polygon = NULL; emit(partsAdded()); endCurrentBehavior(e); } else QGraphicsScene::mouseReleaseEvent(e); } else QGraphicsScene::mouseReleaseEvent(e); } /** Gere les enfoncements de touches du clavier @param e QKeyEvent decrivant l'evenement clavier */ void ElementScene::keyPressEvent(QKeyEvent *e) { bool is_read_only = element_editor && element_editor -> isReadOnly(); if (!is_read_only) { const qreal movement_length = 1.0; QPointF movement; switch(e -> key()) { case Qt::Key_Left: movement = QPointF(-movement_length, 0.0); break; case Qt::Key_Right: movement = QPointF(+movement_length, 0.0); break; case Qt::Key_Up: movement = QPointF(0.0, -movement_length); break; case Qt::Key_Down: movement = QPointF(0.0, +movement_length); break; } if (!movement.isNull() && !focusItem()) { if (!moving_parts_) { moving_parts_ = true; fsi_pos = movement; } else { fsi_pos += movement; } foreach(QGraphicsItem *qgi, selectedItems()) { qgi -> setPos(qgi -> pos() + movement); } } } QGraphicsScene::keyPressEvent(e); } /** Gere les relachements de touches du clavier @param e QKeyEvent decrivant l'evenement clavier */ void ElementScene::keyReleaseEvent(QKeyEvent *e) { bool is_read_only = element_editor && element_editor -> isReadOnly(); if (!is_read_only) { // detecte le relachement d'une touche de direction ( = deplacement de parties) if ( (e -> key() == Qt::Key_Left || e -> key() == Qt::Key_Right ||\ e -> key() == Qt::Key_Up || e -> key() == Qt::Key_Down) &&\ moving_parts_ && !e -> isAutoRepeat() ) { // cree un objet d'annulation pour le mouvement qui vient de se finir undo_stack.push(new MovePartsCommand(fsi_pos, this, selectedItems())); fsi_pos = QPointF(); moving_parts_ = false; } } QGraphicsScene::keyReleaseEvent(e); } /** Dessine l'arriere-plan de l'editeur, cad la grille. @param p Le QPainter a utiliser pour dessiner @param r Le rectangle de la zone a dessiner */ void ElementScene::drawBackground(QPainter *p, const QRectF &r) { p -> save(); // desactive tout antialiasing, sauf pour le texte p -> setRenderHint(QPainter::Antialiasing, false); p -> setRenderHint(QPainter::TextAntialiasing, true); p -> setRenderHint(QPainter::SmoothPixmapTransform, false); // dessine un fond blanc p -> setPen(Qt::NoPen); p -> setBrush(Qt::white); p -> drawRect(r); // encadre la zone dessinable de l'element QRectF drawable_area(-_hotspot.x(), -_hotspot.y(), width(), height()); p -> setPen(Qt::black); p -> setBrush(Qt::NoBrush); p -> drawRect(drawable_area); // on dessine un point de la grille sur 10 int drawn_x_grid = x_grid * 10; int drawn_y_grid = y_grid * 10; if (r.width() < 2500 && r.height() < 2500) { // dessine les points de la grille p -> setPen(Qt::black); p -> setBrush(Qt::NoBrush); qreal limite_x = r.x() + r.width(); qreal limite_y = r.y() + r.height(); int g_x = (int)ceil(r.x()); while (g_x % drawn_x_grid) ++ g_x; int g_y = (int)ceil(r.y()); while (g_y % drawn_y_grid) ++ g_y; for (int gx = g_x ; gx < limite_x ; gx += drawn_x_grid) { for (int gy = g_y ; gy < limite_y ; gy += drawn_y_grid) { p -> drawPoint(gx, gy); } } } p -> restore(); } /** Dessine l'arriere-plan de l'editeur, cad l'indicateur de hotspot. @param p Le QPainter a utiliser pour dessiner @param rect Le rectangle de la zone a dessiner */ void ElementScene::drawForeground(QPainter *p, const QRectF &rect) { Q_UNUSED(rect); p -> save(); // desactive tout antialiasing, sauf pour le texte p -> setRenderHint(QPainter::Antialiasing, false); p -> setRenderHint(QPainter::TextAntialiasing, true); p -> setRenderHint(QPainter::SmoothPixmapTransform, false); p -> setPen(Qt::red); p -> setBrush(Qt::NoBrush); p -> drawLine(QLineF(0.0, -_hotspot.y(), 0.0, height() - _hotspot.y())); p -> drawLine(QLineF(-_hotspot.x(), 0.0, width() - _hotspot.x(), 0.0)); p -> restore(); } /** A partir d'un evenement souris, cette methode regarde si la touche shift est enfoncee ou non. Si oui, elle laisse le comportement en cours (cercle, texte, polygone, ...). Si non, elle repasse en mode normal / selection. @param event objet decrivant l'evenement souris */ void ElementScene::endCurrentBehavior(const QGraphicsSceneMouseEvent *event) { if (!(event -> modifiers() & Qt::ShiftModifier)) { // la touche Shift n'est pas enfoncee : on demande le mode normal behavior = Normal; emit(needNormalMode()); } } /** @return la taille horizontale de la grille */ int ElementScene::xGrid() const { return(x_grid); } /** @return la taille verticale de la grille */ int ElementScene::yGrid() const { return(y_grid); } /** @param x_g Taille horizontale de la grille @param y_g Taille verticale de la grille */ void ElementScene::setGrid(int x_g, int y_g) { x_grid = x_g ? x_g : 1; y_grid = y_g ? y_g : 1; } /** Exporte l'element en XML @param all_parts Booleen (a vrai par defaut) indiquant si le XML genere doit representer tout l'element ou seulement les elements selectionnes @return un document XML decrivant l'element */ const QDomDocument ElementScene::toXml(bool all_parts) const { // document XML QDomDocument xml_document; // racine du document XML QDomElement root = xml_document.createElement("definition"); root.setAttribute("type", "element"); root.setAttribute("width", QString("%1").arg(_width * 10)); root.setAttribute("height", QString("%1").arg(_height * 10)); root.setAttribute("hotspot_x", QString("%1").arg(_hotspot.x())); root.setAttribute("hotspot_y", QString("%1").arg(_hotspot.y())); root.setAttribute("orientation", ori.toString()); root.setAttribute("version", QET::version); if (internal_connections) root.setAttribute("ic", "true"); // noms de l'element root.appendChild(_names.toXml(xml_document)); // informations complementaires de l'element QDomElement informations_element = xml_document.createElement("informations"); root.appendChild(informations_element); informations_element.appendChild(xml_document.createTextNode(informations())); QDomElement description = xml_document.createElement("description"); // description de l'element foreach(QGraphicsItem *qgi, zItems(true)) { // si l'export ne concerne que la selection, on ignore les parties non selectionnees if (!all_parts && !qgi -> isSelected()) continue; if (CustomElementPart *ce = dynamic_cast(qgi)) { if (ce -> isUseless()) continue; description.appendChild(ce -> toXml(xml_document)); } } root.appendChild(description); xml_document.appendChild(root); return(xml_document); } /** @param xml_document un document XML decrivant un element @return le boundingRect du contenu de l'element */ QRectF ElementScene::boundingRectFromXml(const QDomDocument &xml_document) { // charge les parties depuis le document XML ElementContent loaded_content = loadContent(xml_document); if (loaded_content.isEmpty()) return(QRectF()); // calcule le boundingRect QRectF bounding_rect = elementContentBoundingRect(loaded_content); // detruit les parties chargees qDeleteAll(loaded_content); return(bounding_rect); } /** Importe l'element decrit dans un document XML. Si une position est precisee, les elements importes sont positionnes de maniere a ce que le coin superieur gauche du plus petit rectangle pouvant les entourant tous (le bounding rect) soit a cette position. @param xml_document un document XML decrivant l'element @param position La position des parties importees @param consider_informations Si vrai, les informations complementaires (dimensions, hotspot, etc.) seront prises en compte @param content_ptr si ce pointeur vers un ElementContent est different de 0, il sera rempli avec le contenu ajoute a l'element par le fromXml @return true si l'import a reussi, false sinon */ void ElementScene::fromXml( const QDomDocument &xml_document, const QPointF &position, bool consider_informations, ElementContent *content_ptr ) { QString error_message; bool state = true; // prend en compte les informations de l'element if (consider_informations) { state = applyInformations(xml_document, &error_message); } // parcours des enfants de la definition : parties de l'element if (state) { ElementContent loaded_content = loadContent(xml_document, &error_message); if (position != QPointF()) { addContentAtPos(loaded_content, position, &error_message); } else { addContent(loaded_content, &error_message); } // renvoie le contenu ajoute a l'element if (content_ptr) { *content_ptr = loaded_content; } } } /** @return le rectangle representant les limites de l'element. Ce rectangle a pour dimensions la taille de l'element et pour coin superieur gauche les coordonnees opposees du hotspot. */ QRectF ElementScene::borderRect() const { return(QRectF(-_hotspot, QSizeF(width(), height()))); } /** @return un rectangle englobant toutes les parties ainsi que le "bounding rect" de l'element */ QRectF ElementScene::sceneContent() const { qreal adjustment = 5.0; return(itemsBoundingRect().unite(borderRect()).adjusted(-adjustment, -adjustment, adjustment, adjustment)); } /** @return true si toutes les parties graphiques composant l'element sont integralement contenues dans le rectangle representant les limites de l'element. */ bool ElementScene::borderContainsEveryParts() const { return(borderRect().contains(itemsBoundingRect())); } /** @return true si l'element comporte au moins une borne, false s'il n'en a aucune. */ bool ElementScene::containsTerminals() const { foreach(QGraphicsItem *qgi,items()) { if (qgraphicsitem_cast(qgi)) { return(true); } } return(false); } /** @return la pile d'annulations de cet editeur d'element */ QUndoStack &ElementScene::undoStack() { return(undo_stack); } /** @return le gestionnaire de QGraphicsItem de cet editeur d'element */ QGIManager &ElementScene::qgiManager() { return(qgi_manager); } /** @return true si le presse-papier semble contenir un element */ bool ElementScene::clipboardMayContainElement() { QString clipboard_text = QApplication::clipboard() -> text().trimmed(); bool may_be_element = clipboard_text.startsWith(""); return(may_be_element); } /** @param clipboard_content chaine de caractere, provenant vraisemblablement du presse-papier. @return true si clipboard_content a ete copie depuis cet element. */ bool ElementScene::wasCopiedFromThisElement(const QString &clipboard_content) { return(clipboard_content == last_copied_); } /** Gere le fait de couper la selection = l'exporter en XML dans le presse-papier puis la supprimer. */ void ElementScene::cut() { copy(); QList cut_content = selectedItems(); clearSelection(); undoStack().push(new CutPartsCommand(this, cut_content)); } /** Gere le fait de copier la selection = l'exporter en XML dans le presse-papier. */ void ElementScene::copy() { // accede au presse-papier QClipboard *clipboard = QApplication::clipboard(); // genere la description XML de la selection QString clipboard_content = toXml(false).toString(4); // met la description XML dans le presse-papier if (clipboard -> supportsSelection()) { clipboard -> setText(clipboard_content, QClipboard::Selection); } clipboard -> setText(clipboard_content); // retient le dernier contenu copie last_copied_ = clipboard_content; } /** Gere le fait de coller le contenu du presse-papier = l'importer dans le presse-papier a une position donnee. */ void ElementScene::paste() { } /** Selectionne une liste de parties @param content liste des parties a selectionner */ void ElementScene::slot_select(const ElementContent &content) { blockSignals(true); clearSelection(); foreach(QGraphicsItem *qgi, content) qgi -> setSelected(true); blockSignals(false); emit(selectionChanged()); } /** Selectionne tout */ void ElementScene::slot_selectAll() { slot_select(items()); } /** Deselectionne tout */ void ElementScene::slot_deselectAll() { slot_select(ElementContent()); } /** Inverse la selection */ void ElementScene::slot_invertSelection() { blockSignals(true); foreach(QGraphicsItem *qgi, items()) qgi -> setSelected(!qgi -> isSelected()); blockSignals(false); emit(selectionChanged()); } /** Supprime les elements selectionnes */ void ElementScene::slot_delete() { // verifie qu'il y a qqc de selectionne QList selected_items = selectedItems(); if (selected_items.isEmpty()) return; // efface tout ce qui est selectionne undo_stack.push(new DeletePartsCommand(this, selected_items)); emit(partsRemoved()); } /** Lance un dialogue pour editer les dimensions et le point de saisie (hotspot) de l'element. */ void ElementScene::slot_editSizeHotSpot() { bool is_read_only = element_editor && element_editor -> isReadOnly(); // cree un dialogue QDialog dialog_sh(element_editor); dialog_sh.setModal(true); #ifdef Q_WS_MAC dialog_sh.setWindowFlags(Qt::Sheet); #endif dialog_sh.setWindowTitle(tr("\311diter la taille et le point de saisie", "window title")); QVBoxLayout *dialog_layout = new QVBoxLayout(&dialog_sh); // ajoute un HotspotEditor au dialogue HotspotEditor *hotspot_editor = new HotspotEditor(); hotspot_editor -> setElementWidth(static_cast(width() / 10)); hotspot_editor -> setElementHeight(static_cast(height() / 10)); hotspot_editor -> setHotspot(hotspot()); hotspot_editor -> setOldHotspot(hotspot()); hotspot_editor -> setPartsRect(itemsBoundingRect()); hotspot_editor -> setPartsRectEnabled(true); hotspot_editor -> setReadOnly(is_read_only); dialog_layout -> addWidget(hotspot_editor); // ajoute deux boutons au dialogue QDialogButtonBox *dialog_buttons = new QDialogButtonBox(is_read_only ? QDialogButtonBox::Ok : QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dialog_layout -> addWidget(dialog_buttons); connect(dialog_buttons, SIGNAL(accepted()), &dialog_sh, SLOT(accept())); connect(dialog_buttons, SIGNAL(rejected()), &dialog_sh, SLOT(reject())); // lance le dialogue if (dialog_sh.exec() == QDialog::Accepted && !is_read_only) { QSize new_size(hotspot_editor -> elementSize()); QSize old_size(width(), height()); QPoint new_hotspot(hotspot_editor -> hotspot()); QPoint old_hotspot(_hotspot); if (new_size != old_size || new_hotspot != old_hotspot) { undo_stack.push(new ChangeHotspotCommand(this, old_size, new_size, old_hotspot, new_hotspot, hotspot_editor -> offsetParts())); } } } /** Lance un dialogue pour editer les noms de cete element */ void ElementScene::slot_editOrientations() { bool is_read_only = element_editor && element_editor -> isReadOnly(); // cree un dialogue QDialog dialog_ori(element_editor); dialog_ori.setModal(true); #ifdef Q_WS_MAC dialog_ori.setWindowFlags(Qt::Sheet); #endif dialog_ori.setMinimumSize(400, 260); dialog_ori.setWindowTitle(tr("\311diter les orientations", "window title")); QVBoxLayout *dialog_layout = new QVBoxLayout(&dialog_ori); // ajoute un champ explicatif au dialogue QLabel *information_label = new QLabel(tr("L'orientation par d\351faut est l'orientation dans laquelle s'effectue la cr\351ation de l'\351l\351ment.")); information_label -> setAlignment(Qt::AlignJustify | Qt::AlignVCenter); information_label -> setWordWrap(true); dialog_layout -> addWidget(information_label); // ajoute un OrientationSetWidget au dialogue OrientationSetWidget *ori_widget = new OrientationSetWidget(); ori_widget -> setOrientationSet(ori); ori_widget -> setReadOnly(is_read_only); dialog_layout -> addWidget(ori_widget); // ajoute une case a cocher pour les connexions internes QCheckBox *ic_checkbox = new QCheckBox(tr("Autoriser les connexions internes")); ic_checkbox -> setChecked(internal_connections); ic_checkbox -> setDisabled(is_read_only); dialog_layout -> addWidget(ic_checkbox); dialog_layout -> addStretch(); // ajoute deux boutons au dialogue QDialogButtonBox *dialog_buttons = new QDialogButtonBox(is_read_only ? QDialogButtonBox::Ok : QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dialog_layout -> addWidget(dialog_buttons); connect(dialog_buttons, SIGNAL(accepted()), &dialog_ori, SLOT(accept())); connect(dialog_buttons, SIGNAL(rejected()), &dialog_ori, SLOT(reject())); // lance le dialogue if (dialog_ori.exec() == QDialog::Accepted && !is_read_only) { OrientationSet new_ori = ori_widget -> orientationSet(); if (new_ori != ori) { undoStack().push(new ChangeOrientationsCommand(this, ori, new_ori)); } if (ic_checkbox -> isChecked() != internal_connections) { undoStack().push(new AllowInternalConnectionsCommand(this, ic_checkbox -> isChecked())); } } } /** Lance un dialogue pour editer les informations complementaires de cet element. Concretement, ce champ libre est destine a accueillir des informations sur l'auteur de l'element, sa licence, etc. */ void ElementScene::slot_editAuthorInformations() { bool is_read_only = element_editor && element_editor -> isReadOnly(); // cree un dialogue QDialog dialog_author(element_editor); dialog_author.setModal(true); #ifdef Q_WS_MAC dialog_author.setWindowFlags(Qt::Sheet); #endif dialog_author.setMinimumSize(400, 260); dialog_author.setWindowTitle(tr("\311diter les informations sur l'auteur", "window title")); QVBoxLayout *dialog_layout = new QVBoxLayout(&dialog_author); // ajoute un champ explicatif au dialogue QLabel *information_label = new QLabel(tr("Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'\351l\351ment, sa licence, ou tout autre renseignement que vous jugerez utile.")); information_label -> setAlignment(Qt::AlignJustify | Qt::AlignVCenter); information_label -> setWordWrap(true); dialog_layout -> addWidget(information_label); // ajoute un QTextEdit au dialogue QTextEdit *text_field = new QTextEdit(); text_field -> setAcceptRichText(false); text_field -> setPlainText(informations()); text_field -> setReadOnly(is_read_only); dialog_layout -> addWidget(text_field); // ajoute deux boutons au dialogue QDialogButtonBox *dialog_buttons = new QDialogButtonBox(is_read_only ? QDialogButtonBox::Ok : QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dialog_layout -> addWidget(dialog_buttons); connect(dialog_buttons, SIGNAL(accepted()), &dialog_author, SLOT(accept())); connect(dialog_buttons, SIGNAL(rejected()), &dialog_author, SLOT(reject())); // lance le dialogue if (dialog_author.exec() == QDialog::Accepted && !is_read_only) { QString new_infos = text_field -> toPlainText(); if (new_infos != informations()) { undoStack().push(new ChangeInformationsCommand(this, informations(), new_infos)); } } } /** Lance un dialogue pour editer les noms de cet element */ void ElementScene::slot_editNames() { bool is_read_only = element_editor && element_editor -> isReadOnly(); // cree un dialogue QDialog dialog(element_editor); #ifdef Q_WS_MAC dialog.setWindowFlags(Qt::Sheet); #endif dialog.setModal(true); dialog.setMinimumSize(400, 330); dialog.setWindowTitle(tr("\311diter les noms", "window title")); QVBoxLayout *dialog_layout = new QVBoxLayout(&dialog); // ajoute un champ explicatif au dialogue QLabel *information_label = new QLabel(tr("Vous pouvez sp\351cifier le nom de l'\351l\351ment dans plusieurs langues.")); information_label -> setAlignment(Qt::AlignJustify | Qt::AlignVCenter); information_label -> setWordWrap(true); dialog_layout -> addWidget(information_label); // ajoute un NamesListWidget au dialogue NamesListWidget *names_widget = new NamesListWidget(); names_widget -> setNames(_names); names_widget -> setReadOnly(is_read_only); dialog_layout -> addWidget(names_widget); // ajoute deux boutons au dialogue QDialogButtonBox *dialog_buttons = new QDialogButtonBox(is_read_only ? QDialogButtonBox::Ok : QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dialog_layout -> addWidget(dialog_buttons); connect(dialog_buttons, SIGNAL(accepted()), names_widget, SLOT(check())); connect(names_widget, SIGNAL(inputChecked()), &dialog, SLOT(accept())); connect(dialog_buttons, SIGNAL(rejected()), &dialog, SLOT(reject())); // lance le dialogue if (dialog.exec() == QDialog::Accepted && !is_read_only) { NamesList new_names(names_widget -> names()); if (new_names != _names) undoStack().push(new ChangeNamesCommand(this, _names, new_names)); } } /** Amene les elements selectionnes au premier plan */ void ElementScene::slot_bringForward() { undoStack().push(new ChangeZValueCommand(this, ChangeZValueCommand::BringForward)); emit(partsZValueChanged()); } /** Remonte les elements selectionnes d'un plan */ void ElementScene::slot_raise() { undoStack().push(new ChangeZValueCommand(this, ChangeZValueCommand::Raise)); emit(partsZValueChanged()); } /** Descend les elements selectionnes d'un plan */ void ElementScene::slot_lower() { undoStack().push(new ChangeZValueCommand(this, ChangeZValueCommand::Lower)); emit(partsZValueChanged()); } /** Envoie les elements selectionnes au fond */ void ElementScene::slot_sendBackward() { undoStack().push(new ChangeZValueCommand(this, ChangeZValueCommand::SendBackward)); emit(partsZValueChanged()); } /** @param include_terminals true pour inclure les bornes, false sinon @return les parties de l'element ordonnes par zValue croissante */ QList ElementScene::zItems(bool include_terminals) const { // recupere les elements QList all_items_list(items()); // enleve les bornes QList terminals; foreach(QGraphicsItem *qgi, all_items_list) { if (qgraphicsitem_cast(qgi)) { all_items_list.removeAt(all_items_list.indexOf(qgi)); terminals << qgi; } } // ordonne les parties par leur zValue QMultiMap mm; foreach(QGraphicsItem *qgi, all_items_list) mm.insert(qgi -> zValue(), qgi); all_items_list.clear(); QMapIterator i(mm); while (i.hasNext()) { i.next(); all_items_list << i.value(); } // rajoute eventuellement les bornes if (include_terminals) all_items_list += terminals; return(all_items_list); } /** @return les parties graphiques selectionnees */ ElementContent ElementScene::selectedContent() const { ElementContent content; foreach(QGraphicsItem *qgi, zItems(true)) { if (qgi -> isSelected()) content << qgi; } return(content); } /** @param to_paste Rectangle englobant les parties a coller @return le rectangle ou il faudra coller ces parties */ void ElementScene::getPasteArea(const QRectF &to_paste) { // on le dessine sur la scene paste_area_ -> setRect(to_paste); addItem(paste_area_); // on passe la scene en mode "recherche de zone pour copier/coller" behavior = PasteArea; } /** Supprime les parties de l'element et les objets d'annulations. Les autres caracteristiques sont conservees. */ void ElementScene::reset() { // supprime les objets d'annulation undoStack().clear(); // enleve les elements de la scene foreach (QGraphicsItem *qgi, items()) { removeItem(qgi); qgiManager().release(qgi); } } /** @param content Contenu ( = parties) d'un element @return le boundingRect de ces parties, exprime dans les coordonnes de la scene */ QRectF ElementScene::elementContentBoundingRect(const ElementContent &content) { QRectF bounding_rect; foreach(QGraphicsItem *qgi, content) { bounding_rect |= qgi -> sceneBoundingRect(); } return(bounding_rect); } /** Applique les informations (dimensions, hostpot, orientations, connexions internes, noms et informations complementaires) contenu dans un document XML. @param xml_document Document XML a analyser @param error_message pointeur vers une QString ; si error_message est different de 0, un message d'erreur sera stocke dedans si necessaire @return true si la lecture et l'application des informations s'est bien passee, false sinon. */ bool ElementScene::applyInformations(const QDomDocument &xml_document, QString *error_message) { // la racine est supposee etre une definition d'element QDomElement root = xml_document.documentElement(); if (root.tagName() != "definition" || root.attribute("type") != "element") { if (error_message) { *error_message = tr("Ce document XML n'est pas une d\351finition d'\351l\351ment.", "error message"); } return(false); } // dimensions et hotspot : ces attributs doivent etre presents et valides int w, h, hot_x, hot_y; if ( !QET::attributeIsAnInteger(root, QString("width"), &w) ||\ !QET::attributeIsAnInteger(root, QString("height"), &h) ||\ !QET::attributeIsAnInteger(root, QString("hotspot_x"), &hot_x) ||\ !QET::attributeIsAnInteger(root, QString("hotspot_y"), &hot_y) ) { if (error_message) { *error_message = tr("Les dimensions ou le point de saisie ne sont pas valides.", "error message"); } return(false); } // setWidth(w); setHeight(h); setHotspot(QPoint(hot_x, hot_y)); // orientations internal_connections = (root.attribute("ic") == "true"); // connexions internes if (!ori.fromString(root.attribute("orientation"))) { if (error_message) { *error_message = tr("Les orientations ne sont pas valides.", "error message"); } return(false); } // extrait les noms de la definition XML _names.fromXml(root); // extrait les informations complementaires setInformations(QString()); for (QDomNode node = root.firstChild() ; !node.isNull() ; node = node.nextSibling()) { QDomElement elmt = node.toElement(); if (elmt.isNull()) continue; if (elmt.tagName() == "informations") { setInformations(elmt.text()); break; } } return(true); } /** Par le document XML xml_document et retourne le contenu ( = liste de parties) correspondant. @param xml_document Document XML a analyser @param error_message pointeur vers une QString ; si error_message est different de 0, un message d'erreur sera stocke dedans si necessaire */ ElementContent ElementScene::loadContent(const QDomDocument &xml_document, QString *error_message) { ElementContent loaded_parts; // la racine est supposee etre une definition d'element QDomElement root = xml_document.documentElement(); if (root.tagName() != "definition" || root.attribute("type") != "element") { if (error_message) { *error_message = tr("Ce document XML n'est pas une d\351finition d'\351l\351ment.", "error message"); } return(loaded_parts); } // chargement de la description graphique de l'element for (QDomNode node = root.firstChild() ; !node.isNull() ; node = node.nextSibling()) { QDomElement elmts = node.toElement(); if (elmts.isNull()) continue; if (elmts.tagName() == "description") { // = parcours des differentes parties du dessin int z = 1; for (QDomNode n = node.firstChild() ; !n.isNull() ; n = n.nextSibling()) { QDomElement qde = n.toElement(); if (qde.isNull()) continue; CustomElementPart *cep; if (qde.tagName() == "line") cep = new PartLine (element_editor, 0, 0); else if (qde.tagName() == "rect") cep = new PartRectangle(element_editor, 0, 0); else if (qde.tagName() == "ellipse") cep = new PartEllipse (element_editor, 0, 0); else if (qde.tagName() == "circle") cep = new PartCircle (element_editor, 0, 0); else if (qde.tagName() == "polygon") cep = new PartPolygon (element_editor, 0, 0); else if (qde.tagName() == "terminal") cep = new PartTerminal (element_editor, 0, 0); else if (qde.tagName() == "text") cep = new PartText (element_editor, 0, 0); else if (qde.tagName() == "input") cep = new PartTextField(element_editor, 0, 0); else if (qde.tagName() == "arc") cep = new PartArc (element_editor, 0, 0); else continue; if (QGraphicsItem *qgi = dynamic_cast(cep)) { qgi -> setZValue(z++); loaded_parts << qgi; } cep -> fromXml(qde); } } } return(loaded_parts); } /** Ajoute le contenu content a cet element @param content contenu ( = liste de parties) a charger @param error_message pointeur vers une QString ; si error_message est different de 0, un message d'erreur sera stocke dedans si necessaire @return Le contenu ajoute */ ElementContent ElementScene::addContent(const ElementContent &content, QString *error_message) { Q_UNUSED(error_message); foreach(QGraphicsItem *part, content) { addItem(part); } return(content); } /** Ajoute le contenu content a cet element @param content contenu ( = liste de parties) a charger @param pos Position du coin superieur gauche du contenu apres avoir ete ajoute @param error_message pointeur vers une QString ; si error_message est different de 0, un message d'erreur sera stocke dedans si necessaire @return Le contenu ajoute */ ElementContent ElementScene::addContentAtPos(const ElementContent &content, const QPointF &pos, QString *error_message) { Q_UNUSED(error_message); // calcule le boundingRect du contenu a ajouter QRectF bounding_rect = elementContentBoundingRect(content); // en deduit le decalage a appliquer aux parties pour les poser au point demander QPointF offset = pos - bounding_rect.topLeft(); // ajoute les parties avec le decalage adequat foreach(QGraphicsItem *part, content) { part -> setPos(part -> pos() + offset); addItem(part); } return(content); } /** Initialise la zone de collage */ void ElementScene::initPasteArea() { paste_area_ = new QGraphicsRectItem(); paste_area_ -> setZValue(1000000); QPen paste_area_pen; paste_area_pen.setStyle(Qt::DashDotLine); paste_area_pen.setColor(QColor(30, 56, 86, 255)); QBrush paste_area_brush; paste_area_brush.setStyle(Qt::SolidPattern); paste_area_brush.setColor(QColor(90, 167, 255, 64)); paste_area_ -> setPen(paste_area_pen); paste_area_ -> setBrush(paste_area_brush); } /** Arrondit les coordonnees du point passees en parametre de facon a ce que ce point soit aligne sur la grille. @param point une reference vers un QPointF. Cet objet sera modifie. */ void ElementScene::snapToGrid(QPointF &point) { point.rx() = qRound(point.x() / x_grid) * x_grid; point.ry() = qRound(point.y() / y_grid) * y_grid; } /** @param e Evenement souris @return true s'il faut utiliser le snap-to-grid Typiquement, cette methode retourne true si l'evenement souris se produit sans la touche Ctrl enfoncee. */ bool ElementScene::mustSnapToGrid(QGraphicsSceneMouseEvent *e) { return(!(e -> modifiers() & Qt::ControlModifier)); } qelectrotech-0.22+svn897/sources/editor/arceditor.cpp0000644000175000017500000001531511337254100022531 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "arceditor.h" #include "styleeditor.h" #include "partarc.h" /** Constructeur @param editor L'editeur d'element concerne @param arc L'arc a editer @param parent le Widget parent */ ArcEditor::ArcEditor(QETElementEditor *editor, PartArc *arc, QWidget *parent) : ElementItemEditor(editor, parent), part(arc) { style_ = new StyleEditor(editor); x = new QLineEdit(); y = new QLineEdit(); h = new QLineEdit(); v = new QLineEdit(); start_angle = new QSpinBox(); angle = new QSpinBox(); start_angle -> setRange(-360, 360); angle -> setRange(-360, 360); x -> setValidator(new QDoubleValidator(x)); y -> setValidator(new QDoubleValidator(y)); h -> setValidator(new QDoubleValidator(h)); v -> setValidator(new QDoubleValidator(v)); QVBoxLayout *v_layout = new QVBoxLayout(this); QGridLayout *grid = new QGridLayout(); grid -> addWidget(new QLabel(tr("Centre : ")), 0, 0); grid -> addWidget(new QLabel("x"), 1, 0, Qt::AlignRight); grid -> addWidget(x, 1, 1); grid -> addWidget(new QLabel("y"), 1, 2); grid -> addWidget(y, 1, 3); grid -> addWidget(new QLabel(tr("Diam\350tres : ")), 2, 0); grid -> addWidget(new QLabel(tr("horizontal :")), 3, 0); grid -> addWidget(h, 3, 1); grid -> addWidget(new QLabel(tr("vertical :")), 4, 0); grid -> addWidget(v, 4, 1); grid -> addWidget(new QLabel(tr("Angle de d\351part :")), 5, 0); grid -> addWidget(start_angle, 5, 1); grid -> addWidget(new QLabel(tr("Angle :")), 6, 0); grid -> addWidget(angle, 6, 1); v_layout -> addWidget(style_); v_layout -> addLayout(grid); updateForm(); activeConnections(true); } /// Destructeur ArcEditor::~ArcEditor() { } /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur d'arc acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe PartArc. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool ArcEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; style_ -> setPart(0); return(true); } if (PartArc *part_arc = dynamic_cast(new_part)) { part = part_arc; style_ -> setPart(part); updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *ArcEditor::currentPart() const { return(part); } /** Met a jour l'arc a partir a partir des donnees du formulaire */ void ArcEditor::updateArc() { if (!part) return; part -> setProperty("x", x -> text().toDouble()); part -> setProperty("y", y -> text().toDouble()); part -> setProperty("diameter_h", h -> text().toDouble()); part -> setProperty("diameter_v", v -> text().toDouble()); part -> setProperty("start_angle", -start_angle -> value() + 90); part -> setProperty("angle", -angle -> value()); } /// Met a jour l'abscisse du centre de l'arc et cree un objet d'annulation void ArcEditor::updateArcX() { addChangePartCommand(tr("abscisse"), part, "x", x -> text().toDouble()); } /// Met a jour l'ordonnee du centre de l'arc et cree un objet d'annulation void ArcEditor::updateArcY() { addChangePartCommand(tr("ordonn\351e"), part, "y", y -> text().toDouble()); } /// Met a jour le diametre horizontal de l'arc et cree un objet d'annulation void ArcEditor::updateArcH() { addChangePartCommand(tr("diam\350tre horizontal"), part, "diameter_h", h -> text().toDouble()); } /// Met a jour le diametre vertical de l'arc et cree un objet d'annulation void ArcEditor::updateArcV() { addChangePartCommand(tr("diam\350tre vertical"), part, "diameter_v", v -> text().toDouble()); } /// Met a jour l'angle de depart de l'arc et cree un objet d'annulation void ArcEditor::updateArcS() { addChangePartCommand(tr("angle de d\351part"), part, "start_angle", -start_angle -> value() + 90); } /// Met a jour l'etendue de l'arc et cree un objet d'annulation void ArcEditor::updateArcA() { addChangePartCommand(tr("angle"), part, "angle", -angle -> value()); } /** Met a jour le formulaire d'edition */ void ArcEditor::updateForm() { if (!part) return; activeConnections(false); x -> setText(part -> property("x").toString()); y -> setText(part -> property("y").toString()); h -> setText(part -> property("diameter_h").toString()); v -> setText(part -> property("diameter_v").toString()); start_angle -> setValue(-part -> startAngle() + 90); angle -> setValue(-part -> angle()); activeConnections(true); } /** Active ou desactive les connexionx signaux/slots entre les widgets internes. @param active true pour activer les connexions, false pour les desactiver */ void ArcEditor::activeConnections(bool active) { if (active) { connect(x, SIGNAL(editingFinished()), this, SLOT(updateArcX())); connect(y, SIGNAL(editingFinished()), this, SLOT(updateArcY())); connect(h, SIGNAL(editingFinished()), this, SLOT(updateArcH())); connect(v, SIGNAL(editingFinished()), this, SLOT(updateArcV())); connect(start_angle, SIGNAL(editingFinished()), this, SLOT(updateArcS())); connect(angle, SIGNAL(editingFinished()), this, SLOT(updateArcA())); } else { disconnect(x, SIGNAL(editingFinished()), this, SLOT(updateArcX())); disconnect(y, SIGNAL(editingFinished()), this, SLOT(updateArcY())); disconnect(h, SIGNAL(editingFinished()), this, SLOT(updateArcH())); disconnect(v, SIGNAL(editingFinished()), this, SLOT(updateArcV())); disconnect(start_angle, SIGNAL(editingFinished()), this, SLOT(updateArcS())); disconnect(angle, SIGNAL(editingFinished()), this, SLOT(updateArcA())); } } qelectrotech-0.22+svn897/sources/editor/circleeditor.h0000644000175000017500000000314511337103436022675 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CIRCLE_EDITOR_H #define CIRCLE_EDITOR_H #include #include "elementitemeditor.h" class PartCircle; class StyleEditor; /** Cette classe represente un editeur de cercle. Elle permet d'editer a travers une interface graphique les proprietes d'une cercle composant le dessin d'un element. */ class CircleEditor : public ElementItemEditor { Q_OBJECT // Constructeurs, destructeur public: CircleEditor(QETElementEditor *, PartCircle * = 0, QWidget * = 0); virtual ~CircleEditor(); private: CircleEditor(const CircleEditor &); // attributs private: PartCircle *part; StyleEditor *style_; QLineEdit *x, *y, *r; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; public slots: void updateCircle(); void updateCircleX(); void updateCircleY(); void updateCircleD(); void updateForm(); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/parttextfield.cpp0000644000175000017500000001733411337103436023444 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "parttextfield.h" #include "textfieldeditor.h" #include "editorcommands.h" #include "qetapp.h" /** Constructeur @param editor L'editeur d'element concerne @param parent Le QGraphicsItem parent de ce champ de texte @param scene La scene sur laquelle figure ce champ de texte */ PartTextField::PartTextField(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsTextItem(parent, scene), CustomElementPart(editor), follow_parent_rotations(true) { setDefaultTextColor(Qt::black); setFont(QETApp::diagramTextsFont()); setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); #endif setPlainText(QObject::tr("_", "default text when adding a textfield in the element editor")); } /// Destructeur PartTextField::~PartTextField() { } /** Importe les proprietes d'un champ de texte depuis un element XML @param xml_element Element XML a lire */ void PartTextField::fromXml(const QDomElement &xml_element) { bool ok; int font_size = xml_element.attribute("size").toInt(&ok); if (!ok || font_size < 1) font_size = 20; setFont(QETApp::diagramTextsFont(font_size)); setPlainText(xml_element.attribute("text")); setPos( xml_element.attribute("x").toDouble(), xml_element.attribute("y").toDouble() ); follow_parent_rotations = (xml_element.attribute("rotate") == "true"); } /** Exporte le champ de texte en XML @param xml_document Document XML a utiliser pour creer l'element XML @return un element XML decrivant le champ de texte */ const QDomElement PartTextField::toXml(QDomDocument &xml_document) const { QDomElement xml_element = xml_document.createElement("input"); xml_element.setAttribute("x", QString("%1").arg((scenePos() + margin()).x())); xml_element.setAttribute("y", QString("%1").arg((scenePos() + margin()).y())); xml_element.setAttribute("text", toPlainText()); xml_element.setAttribute("size", font().pointSize()); if (follow_parent_rotations) xml_element.setAttribute("rotate", "true"); return(xml_element); } /** Retourne la position du texte, l'origine etant le point en bas a gauche du texte (et pas du cadre) @return la position du texte */ QPointF PartTextField::pos() const { return(QGraphicsTextItem::pos() + margin()); } /** Specifie la position du champ de texte @param left_corner_pos Nouvelle position */ void PartTextField::setPos(const QPointF &left_corner_pos) { QGraphicsTextItem::setPos(left_corner_pos - margin()); } /** Specifie la position du champ de texte @param x abscisse de la nouvelle position @param y ordonnee de la nouvelle position */ void PartTextField::setPos(qreal x, qreal y) { QGraphicsTextItem::setPos(QPointF(x, y) - margin()); } /** @return true si le champ de texte suit les rotation de l'element, false sinon */ bool PartTextField::followParentRotations() { return(follow_parent_rotations); } /** @param fpr true pour que le champ de texte suive les rotation de l'element, false sinon */ void PartTextField::setFollowParentRotations(bool fpr) { follow_parent_rotations = fpr; } /** @return Les coordonnees du point situe en bas a gauche du texte. */ QPointF PartTextField::margin() const { QFont used_font = font(); QFontMetrics qfm(used_font); QPointF margin( (boundingRect().width () - qfm.width(toPlainText())) / 2.0, ((boundingRect().height() - used_font.pointSizeF()) / 3.0) + used_font.pointSizeF() ); return(margin); } /** Permet a l'element texte de redevenir deplacable a la fin de l'edition de texte @param e Le QFocusEvent decrivant la perte de focus */ void PartTextField::focusOutEvent(QFocusEvent *e) { QGraphicsTextItem::focusOutEvent(e); if (previous_text != toPlainText()) { undoStack().push( new ChangePartCommand( TextFieldEditor::tr("contenu") + " " + name(), this, "text", previous_text, toPlainText() ) ); previous_text = toPlainText(); } // deselectionne le texte QTextCursor qtc = textCursor(); qtc.clearSelection(); setTextCursor(qtc); setTextInteractionFlags(Qt::NoTextInteraction); setFlag(QGraphicsItem::ItemIsFocusable, false); } /** Permet a l'element texte de devenir editable lorsqu'on double-clique dessus @param e Le QGraphicsSceneMouseEvent qui decrit le double-clic */ void PartTextField::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e) { setFlag(QGraphicsItem::ItemIsFocusable, true); setTextInteractionFlags(Qt::TextEditorInteraction); previous_text = toPlainText(); QGraphicsTextItem::mouseDoubleClickEvent(e); setFocus(Qt::MouseFocusReason); } /** Specifie la valeur d'une propriete donnee du champ de texte @param property propriete a modifier. Valeurs acceptees : * x : abscisse de la position * y : ordonnee de la position * size : taille du texte * text : texte * rotate : suivi de la rotation de l'element parent @param value Valeur a attribuer a la propriete */ void PartTextField::setProperty(const QString &property, const QVariant &value) { if (property == "x") { if (!value.canConvert(QVariant::Double)) return; setPos(value.toDouble(), pos().y()); } else if (property == "y") { if (!value.canConvert(QVariant::Double)) return; setPos(pos().x(), value.toDouble()); } else if (property == "size") { if (!value.canConvert(QVariant::Int)) return; setFont(QETApp::diagramTextsFont(value.toInt())); } else if (property == "text") { setPlainText(value.toString()); } else if (property == "rotate") { follow_parent_rotations = value.toBool(); } update(); } /** Permet d'acceder a la valeur d'une propriete donnee du champ de texte @param property propriete lue. Valeurs acceptees : * x : abscisse de la position * y : ordonnee de la position * size : taille du texte * text : texte * rotate : suivi de la rotation de l'element parent @return La valeur de la propriete property */ QVariant PartTextField::property(const QString &property) { if (property == "x") { return((scenePos() + margin()).x()); } else if (property == "y") { return((scenePos() + margin()).y()); } else if (property == "size") { return(font().pointSize()); } else if (property == "text") { return(toPlainText()); } else if (property == "rotate") { return(follow_parent_rotations); } return(QVariant()); } /** Gere les changements intervenant sur cette partie @param change Type de changement @param value Valeur numerique relative au changement */ QVariant PartTextField::itemChange(GraphicsItemChange change, const QVariant &value) { if (scene()) { if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemSelectedChange) { updateCurrentPartEditor(); } } return(QGraphicsTextItem::itemChange(change, value)); } /** @return le rectangle delimitant cette partie. */ QRectF PartTextField::boundingRect() const { QRectF r = QGraphicsTextItem::boundingRect(); r.adjust(0.0, -2.0, 0.0, 0.0); return(r); } /** @return true si cette partie n'est pas pertinente et ne merite pas d'etre conservee / enregistree. Un champ de texte est toujours pertinent ; cette fonction renvoie donc toujours false */ bool PartTextField::isUseless() const { return(false); } qelectrotech-0.22+svn897/sources/editor/partellipse.cpp0000644000175000017500000001533011337103436023103 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "partellipse.h" /** Constructeur @param editor L'editeur d'element concerne @param parent Le QGraphicsItem parent de cette ellipse @param scene La scene sur laquelle figure cette ellipse */ PartEllipse::PartEllipse(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsEllipseItem(parent, scene), CustomElementGraphicPart(editor) { setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); #endif setAcceptedMouseButtons(Qt::LeftButton); } /// Destructeur PartEllipse::~PartEllipse() { } /** Dessine l'ellipse @param painter QPainter a utiliser pour rendre le dessin @param options Options pour affiner le rendu @param widget Widget sur lequel le rendu est effectue */ void PartEllipse::paint(QPainter *painter, const QStyleOptionGraphicsItem *options, QWidget *widget) { Q_UNUSED(widget); applyStylesToQPainter(*painter); QPen t = painter -> pen(); t.setCosmetic(options && options -> levelOfDetail < 1.0); if (isSelected()) { t.setColor(Qt::red); } painter -> setPen(t); painter -> drawEllipse(rect()); if (isSelected()) { painter -> setRenderHint(QPainter::Antialiasing, false); painter -> setPen((painter -> brush().color() == QColor(Qt::black) && painter -> brush().isOpaque()) ? Qt::yellow : Qt::blue); QPointF center = rect().center(); painter -> drawLine(QLineF(center.x() - 2.0, center.y(), center.x() + 2.0, center.y())); painter -> drawLine(QLineF(center.x(), center.y() - 2.0, center.x(), center.y() + 2.0)); } } /** Exporte l'ellipse en XML @param xml_document Document XML a utiliser pour creer l'element XML @return un element XML decrivant l'ellipse */ const QDomElement PartEllipse::toXml(QDomDocument &xml_document) const { QDomElement xml_element = xml_document.createElement("ellipse"); QPointF top_left(sceneTopLeft()); xml_element.setAttribute("x", QString("%1").arg(top_left.x())); xml_element.setAttribute("y", QString("%1").arg(top_left.y())); xml_element.setAttribute("width", QString("%1").arg(rect().width())); xml_element.setAttribute("height", QString("%1").arg(rect().height())); stylesToXml(xml_element); return(xml_element); } /** Importe les proprietes d'une ellipse depuis un element XML @param qde Element XML a lire */ void PartEllipse::fromXml(const QDomElement &qde) { stylesFromXml(qde); setRect( QRectF( mapFromScene( qde.attribute("x", "0").toDouble(), qde.attribute("y", "0").toDouble() ), QSizeF( qde.attribute("width", "0").toDouble(), qde.attribute("height", "0").toDouble() ) ) ); } /** Specifie la valeur d'une propriete donnee de l'ellipse @param property propriete a modifier. Valeurs acceptees : * x : abscisse du centre de l'ellipse * y : ordonnee du centre de l'ellipse * diameter_h : diametre horizontal de l'ellipse * diameter_v : diametre vertical de l'ellipse @param value Valeur a attribuer a la propriete */ void PartEllipse::setProperty(const QString &property, const QVariant &value) { CustomElementGraphicPart::setProperty(property, value); if (!value.canConvert(QVariant::Double)) return; if (property == "x") { QRectF current_rect = rect(); QPointF current_pos = mapToScene(current_rect.center()); setRect(current_rect.translated(value.toDouble() - current_pos.x(), 0.0)); } else if (property == "y") { QRectF current_rect = rect(); QPointF current_pos = mapToScene(current_rect.center()); setRect(current_rect.translated(0.0, value.toDouble() - current_pos.y())); } else if (property == "diameter_h") { qreal new_width = qAbs(value.toDouble()); QRectF current_rect = rect(); current_rect.translate((new_width - current_rect.width()) / -2.0, 0.0); current_rect.setWidth(new_width); setRect(current_rect); } else if (property == "diameter_v") { qreal new_height = qAbs(value.toDouble()); QRectF current_rect = rect(); current_rect.translate(0.0, (new_height - current_rect.height()) / -2.0); current_rect.setHeight(new_height); setRect(current_rect); } update(); } /** Permet d'acceder a la valeur d'une propriete donnee de l'ellipse @param property propriete lue. Valeurs acceptees : * x : abscisse du centre de l'ellipse * y : ordonnee du centre de l'ellipse * diameter_h : diametre horizontal de l'ellipse * diameter_v : diametre vertical de l'ellipse @return La valeur de la propriete property */ QVariant PartEllipse::property(const QString &property) { // appelle la methode property de CustomElementGraphicpart pour les styles QVariant style_property = CustomElementGraphicPart::property(property); if (style_property != QVariant()) return(style_property); if (property == "x") { return(mapToScene(rect().center()).x()); } else if (property == "y") { return(mapToScene(rect().center()).y()); } else if (property == "diameter_h") { return(rect().width()); } else if (property == "diameter_v") { return(rect().height()); } return(QVariant()); } /** Gere les changements intervenant sur cette partie @param change Type de changement @param value Valeur numerique relative au changement */ QVariant PartEllipse::itemChange(GraphicsItemChange change, const QVariant &value) { if (scene()) { if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemPositionHasChanged) { updateCurrentPartEditor(); } } return(QGraphicsEllipseItem::itemChange(change, value)); } /** @return le coin superieur gauche du rectangle dans lequel s'inscrit l'ellipse, dans les coordonnees de la scene. */ QPointF PartEllipse::sceneTopLeft() const { return(mapToScene(rect().topLeft())); } /** @return true si cette partie n'est pas pertinente et ne merite pas d'etre conservee / enregistree. Une ellipse est pertinente des lors que ses dimensions ne sont pas nulles */ bool PartEllipse::isUseless() const { return(rect().isNull()); } /** @return le rectangle delimitant cette partie. */ QRectF PartEllipse::boundingRect() const { qreal adjust = 1.5; QRectF r(QGraphicsEllipseItem::boundingRect().normalized()); r.adjust(-adjust, -adjust, adjust, adjust); return(r); } qelectrotech-0.22+svn897/sources/editor/partarc.h0000644000175000017500000000422511337103436021661 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PART_ARC_H #define PART_ARC_H #include #include "customelementgraphicpart.h" /** Cette classe represente un arc pouvant etre utilise pour composer le dessin d'un element dans l'editeur d'element. */ class PartArc : public QGraphicsEllipseItem, public CustomElementGraphicPart { // constructeurs, destructeur public: PartArc(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartArc(); private: PartArc(const PartArc &); // attributs private: int _angle; int start_angle; // methodes public: enum { Type = UserType + 1101 }; /** permet de caster un QGraphicsItem en PartArc avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); virtual QString name() const { return(QObject::tr("arc", "element part name")); } virtual QString xmlName() const { return(QString("arc")); } virtual const QDomElement toXml(QDomDocument &) const; virtual void fromXml(const QDomElement &); virtual QPointF sceneTopLeft() const; virtual QRectF boundingRect() const; virtual void setAngle(int); virtual void setStartAngle(int); virtual int angle() const; virtual int startAngle() const; virtual void setProperty(const QString &, const QVariant &); virtual QVariant property(const QString &); virtual bool isUseless() const; protected: QVariant itemChange(GraphicsItemChange, const QVariant &); }; #endif qelectrotech-0.22+svn897/sources/editor/partterminal.cpp0000644000175000017500000001475111337103436023267 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "partterminal.h" #include "terminal.h" /** Constructeur @param editor L'editeur d'element concerne @param parent Le QGraphicsItem parent de cette borne @param scene La scene sur laquelle figure cette borne */ PartTerminal::PartTerminal(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) : CustomElementPart(editor), QGraphicsItem(parent, scene), _orientation(QET::North) { updateSecondPoint(); setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); #endif setZValue(100000); } /// Destructeur PartTerminal::~PartTerminal() { } /** Importe les proprietes d'une borne depuis un element XML @param xml_elmt Element XML a lire */ void PartTerminal::fromXml(const QDomElement &xml_elmt) { // lit la position de la borne qreal term_x = 0.0, term_y = 0.0; QET::attributeIsAReal(xml_elmt, "x", &term_x); QET::attributeIsAReal(xml_elmt, "y", &term_y); setPos(QPointF(term_x, term_y)); // lit l'orientation de la borne _orientation = QET::orientationFromString(xml_elmt.attribute("orientation")); updateSecondPoint(); } /** Exporte la borne en XML @param xml_document Document XML a utiliser pour creer l'element XML @return un element XML decrivant la borne */ const QDomElement PartTerminal::toXml(QDomDocument &xml_document) const { QDomElement xml_element = xml_document.createElement("terminal"); // ecrit la position de la borne xml_element.setAttribute("x", QString("%1").arg(scenePos().x())); xml_element.setAttribute("y", QString("%1").arg(scenePos().y())); // ecrit l'orientation de la borne xml_element.setAttribute("orientation", orientationToString(_orientation)); return(xml_element); } /** Dessine la borne @param p QPainter a utiliser pour rendre le dessin @param options Options pour affiner le rendu @param widget Widget sur lequel le rendu est effectue */ void PartTerminal::paint(QPainter *p, const QStyleOptionGraphicsItem *options, QWidget *widget) { Q_UNUSED(widget); p -> save(); // annulation des renderhints p -> setRenderHint(QPainter::Antialiasing, false); p -> setRenderHint(QPainter::TextAntialiasing, false); p -> setRenderHint(QPainter::SmoothPixmapTransform, false); QPen t; t.setWidthF(1.0); t.setCosmetic(options && options -> levelOfDetail < 1.0); // dessin de la borne en rouge t.setColor(isSelected() ? Terminal::couleur_neutre : Qt::red); p -> setPen(t); p -> drawLine(QPointF(0.0, 0.0), second_point); // dessin du point d'amarrage au conducteur en bleu t.setColor(isSelected() ? Qt::red : Terminal::couleur_neutre); p -> setPen(t); p -> setBrush(Terminal::couleur_neutre); p -> drawPoint(QPointF(0.0, 0.0)); p -> restore(); } /** @return le rectangle delimitant cette partie. */ QRectF PartTerminal::boundingRect() const { QPointF p1, p2; if (second_point.x() <= 0.0 && second_point.y() <= 0.0) { p1 = second_point; p2 = QPointF(0.0, 0.0); } else { p1 = QPointF(0.0, 0.0); p2 = second_point; } QRectF br; br.setTopLeft (p1 - QPointF(2.0, 2.0)); br.setBottomRight(p2 + QPointF(2.0, 2.0)); return(br); } /** @return L'orientation de la borne */ QET::Orientation PartTerminal::orientation() const { return(_orientation); } /** Definit l'orientation de la borne @param ori la nouvelle orientation de la borne */ void PartTerminal::setOrientation(QET::Orientation ori) { prepareGeometryChange(); _orientation = ori; updateSecondPoint(); } /** Specifie la valeur d'une propriete donnee de la borne @param property propriete a modifier. Valeurs acceptees : * x : abscisse de la borne * y : ordonnee de la borne * orientation : orientation de la borne @param value Valeur a attribuer a la propriete */ void PartTerminal::setProperty(const QString &property, const QVariant &value) { if (property == "x") { if (!value.canConvert(QVariant::Double)) return; setPos(value.toDouble(), pos().y()); } else if (property == "y") { if (!value.canConvert(QVariant::Double)) return; setPos(pos().x(), value.toDouble()); } else if (property == "orientation") { if (!value.canConvert(QVariant::Int)) return; setOrientation(static_cast(value.toInt())); } } /** Permet d'acceder a la valeur d'une propriete donnee de la borne @param property propriete lue. Valeurs acceptees : * x : abscisse de la borne * y : ordonnee de la borne * orientation : orientation de la borne @return La valeur de la propriete property */ QVariant PartTerminal::property(const QString &property) { if (property == "x") { return(scenePos().x()); } else if (property == "y") { return(scenePos().y()); } else if (property == "orientation") { return(_orientation); } return(QVariant()); } /** Gere les changements intervenant sur cette partie @param change Type de changement @param value Valeur numerique relative au changement */ QVariant PartTerminal::itemChange(GraphicsItemChange change, const QVariant &value) { if (scene()) { if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemPositionHasChanged) { updateCurrentPartEditor(); } } return(QGraphicsItem::itemChange(change, value)); } /** Met a jour la position du second point en fonction de la position et de l'orientation de la borne. */ void PartTerminal::updateSecondPoint() { qreal ts = 4.0; // terminal size switch(_orientation) { case QET::North: second_point = QPointF(0.0, ts); break; case QET::East : second_point = QPointF(-ts, 0.0); break; case QET::South: second_point = QPointF(0.0, -ts); break; case QET::West : second_point = QPointF(ts, 0.0); break; } } /** @return true si cette partie n'est pas pertinente et ne merite pas d'etre conservee / enregistree. Une borne est toujours pertinente ; cette fonction renvoie donc toujours false */ bool PartTerminal::isUseless() const { return(false); } qelectrotech-0.22+svn897/sources/editor/parttext.h0000644000175000017500000000413611337103436022101 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PART_TEXT_H #define PART_TEXT_H #include #include "customelementpart.h" class TextEditor; /** Cette classe represente un texte pouvant etre utilise pour composer le dessin d'un element dans l'editeur d'element. */ class PartText : public QGraphicsTextItem, public CustomElementPart { // constructeurs, destructeur public: PartText(QETElementEditor *, QGraphicsItem * = 0, ElementScene * = 0); virtual ~PartText(); private: PartText(const PartText &); // methodes public: enum { Type = UserType + 1107 }; /** permet de caster un QGraphicsItem en PartText avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } virtual QString name() const { return(QObject::tr("texte", "element part name")); } virtual QString xmlName() const { return(QString("text")); } void fromXml(const QDomElement &); const QDomElement toXml(QDomDocument &) const; QPointF pos() const; void setPos(const QPointF &); void setPos(qreal, qreal); virtual void setProperty(const QString &, const QVariant &); virtual QVariant property(const QString &); virtual bool isUseless() const; protected: virtual void focusOutEvent(QFocusEvent *); virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *); virtual QVariant itemChange(GraphicsItemChange, const QVariant &); QRectF boundingRect() const; private: QPointF margin() const; QString previous_text; }; #endif qelectrotech-0.22+svn897/sources/editor/partcircle.cpp0000644000175000017500000001456211337103436022715 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "partcircle.h" /** Constructeur @param editor L'editeur d'element concerne @param parent Le QGraphicsItem parent de ce cercle @param scene La scene sur laquelle figure ce cercle */ PartCircle::PartCircle(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsEllipseItem(parent, scene), CustomElementGraphicPart(editor) { setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); #endif setAcceptedMouseButtons(Qt::LeftButton); } /// Destructeur PartCircle::~PartCircle() { } /** Dessine le cercle @param painter QPainter a utiliser pour rendre le dessin @param options Options pour affiner le rendu @param widget Widget sur lequel le rendu est effectue */ void PartCircle::paint(QPainter *painter, const QStyleOptionGraphicsItem *options, QWidget *widget) { Q_UNUSED(widget); applyStylesToQPainter(*painter); QPen t = painter -> pen(); t.setCosmetic(options && options -> levelOfDetail < 1.0); if (isSelected()) { t.setColor(Qt::red); } painter -> setPen(t); painter -> drawEllipse(rect()); if (isSelected()) { painter -> setRenderHint(QPainter::Antialiasing, false); painter -> setPen((painter -> brush().color() == QColor(Qt::black) && painter -> brush().isOpaque()) ? Qt::yellow : Qt::blue); QPointF center = rect().center(); painter -> drawLine(QLineF(center.x() - 2.0, center.y(), center.x() + 2.0, center.y())); painter -> drawLine(QLineF(center.x(), center.y() - 2.0, center.x(), center.y() + 2.0)); } } /** Exporte le cercle en XML @param xml_document Document XML a utiliser pour creer l'element XML @return un element XML decrivant le cercle */ const QDomElement PartCircle::toXml(QDomDocument &xml_document) const { QDomElement xml_element = xml_document.createElement("circle"); QPointF top_left(sceneTopLeft()); xml_element.setAttribute("x", QString("%1").arg(top_left.x())); xml_element.setAttribute("y", QString("%1").arg(top_left.y())); xml_element.setAttribute("diameter", QString("%1").arg(rect().width())); stylesToXml(xml_element); return(xml_element); } /** Importe les proprietes d'un cercle depuis un element XML @param qde Element XML a lire */ void PartCircle::fromXml(const QDomElement &qde) { stylesFromXml(qde); qreal diameter = qde.attribute("diameter", "0").toDouble(); setRect( QRectF( mapFromScene( qde.attribute("x", "0").toDouble(), qde.attribute("y", "0").toDouble() ), QSizeF( diameter, diameter ) ) ); } /** Specifie la valeur d'une propriete donnee du cercle @param property propriete a modifier. Valeurs acceptees : * x : abscisse du centre du cercle * y : ordonnee du centre du cercle * diameter : diametre du cercle @param value Valeur a attribuer a la propriete */ void PartCircle::setProperty(const QString &property, const QVariant &value) { CustomElementGraphicPart::setProperty(property, value); if (!value.canConvert(QVariant::Double)) return; if (property == "x") { QRectF current_rect = rect(); QPointF current_pos = mapToScene(current_rect.center()); setRect(current_rect.translated(value.toDouble() - current_pos.x(), 0.0)); } else if (property == "y") { QRectF current_rect = rect(); QPointF current_pos = mapToScene(current_rect.center()); setRect(current_rect.translated(0.0, value.toDouble() - current_pos.y())); } else if (property == "diameter") { QRectF current_rect = rect(); qreal new_diameter = qAbs(value.toDouble()); current_rect.translate( (new_diameter - current_rect.width()) / -2.0, (new_diameter - current_rect.height()) / -2.0 ); current_rect.setSize(QSizeF(new_diameter, new_diameter)); setRect(current_rect); } update(); } /** Permet d'acceder a la valeur d'une propriete de style donnee. @param property propriete lue. Valeurs acceptees : * x : abscisse du centre du cercle * y : ordonnee du centre du cercle * diameter : diametre du cercle @return La valeur de la propriete property */ QVariant PartCircle::property(const QString &property) { // appelle la methode property de CustomElementGraphicpart pour les styles QVariant style_property = CustomElementGraphicPart::property(property); if (style_property != QVariant()) return(style_property); if (property == "x") { return(mapToScene(rect().center()).x()); } else if (property == "y") { return(mapToScene(rect().center()).y()); } else if (property == "diameter") { return(rect().width()); } return(QVariant()); } /** Gere les changements intervenant sur cette partie @param change Type de changement @param value Valeur numerique relative au changement */ QVariant PartCircle::itemChange(GraphicsItemChange change, const QVariant &value) { if (scene()) { if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemPositionHasChanged) { updateCurrentPartEditor(); } } return(QGraphicsEllipseItem::itemChange(change, value)); } /** @return le coin superieur gauche du rectangle dans lequel s'inscrit le cercle, dans les coordonnees de la scene. */ QPointF PartCircle::sceneTopLeft() const { return(mapToScene(rect().topLeft())); } /** @return le centre du cercle, dans les coordonnees de la scene. */ QPointF PartCircle::sceneCenter() const { return(mapToScene(rect().center())); } /** @return le rectangle delimitant cette partie. */ QRectF PartCircle::boundingRect() const { qreal adjust = 1.5; QRectF r(QGraphicsEllipseItem::boundingRect()); r.adjust(-adjust, -adjust, adjust, adjust); return(r); } /** @return true si cette partie n'est pas pertinente et ne merite pas d'etre conservee / enregistree. Un cercle est pertinent des lors que son rayon n'est pas nul */ bool PartCircle::isUseless() const { return(rect().isNull()); } qelectrotech-0.22+svn897/sources/editor/texteditor.cpp0000644000175000017500000001167211337103436022757 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "texteditor.h" #include "parttext.h" /** Constructeur @param editor L'editeur d'element concerne @param text Champ de texte a editer @param parent QWidget parent de ce widget */ TextEditor::TextEditor(QETElementEditor *editor, PartText *text, QWidget *parent) : ElementItemEditor(editor, parent), part(text) { qle_x = new QLineEdit(); qle_y = new QLineEdit(); qle_text = new QLineEdit(); font_size = new QSpinBox(); font_size -> setRange(0, 144); qle_x -> setValidator(new QDoubleValidator(qle_x)); qle_y -> setValidator(new QDoubleValidator(qle_y)); QVBoxLayout *main_layout = new QVBoxLayout(); main_layout -> addWidget(new QLabel(tr("Position : "))); QHBoxLayout *position = new QHBoxLayout(); position -> addWidget(new QLabel(tr("x : "))); position -> addWidget(qle_x ); position -> addWidget(new QLabel(tr("y : "))); position -> addWidget(qle_y ); main_layout -> addLayout(position); QHBoxLayout *fs = new QHBoxLayout(); fs -> addWidget(new QLabel(tr("Taille : "))); fs -> addWidget(font_size); main_layout -> addLayout(fs); QHBoxLayout *t = new QHBoxLayout(); t -> addWidget(new QLabel(tr("Texte : "))); t -> addWidget(qle_text); main_layout -> addLayout(t); main_layout -> addStretch(); setLayout(main_layout); updateForm(); } /** Destructeur */ TextEditor::~TextEditor() { } /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur de texte statique acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe PartText. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool TextEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; return(true); } if (PartText *part_text = dynamic_cast(new_part)) { part = part_text; updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *TextEditor::currentPart() const { return(part); } /** Met a jour le champ de texte a partir des donnees du formulaire */ void TextEditor::updateText() { if (!part) return; part -> setProperty("size", font_size -> value()); part -> setPlainText(qle_text -> text()); part -> setPos(qle_x -> text().toDouble(), qle_y -> text().toDouble()); } /// Met a jour l'abscisse de la position du texte et cree un objet d'annulation void TextEditor::updateTextX() { addChangePartCommand(tr("abscisse"), part, "x", qle_x -> text().toDouble()); updateForm(); } /// Met a jour l'ordonnee de la position du texte et cree un objet d'annulation void TextEditor::updateTextY() { addChangePartCommand(tr("ordonn\351e"), part, "y", qle_y -> text().toDouble()); updateForm(); } /// Met a jour le texte et cree un objet d'annulation void TextEditor::updateTextT() { addChangePartCommand(tr("contenu"), part, "text", qle_text -> text()); } /// Met a jour la taille du texte et cree un objet d'annulation void TextEditor::updateTextS() { addChangePartCommand(tr("taille"), part, "size", font_size -> value()); } /** Met a jour le formulaire a partir du champ de texte */ void TextEditor::updateForm() { if (!part) return; activeConnections(false); qle_x -> setText(part -> property("x").toString()); qle_y -> setText(part -> property("y").toString()); qle_text -> setText(part -> property("text").toString()); font_size -> setValue(part -> property("size").toInt()); activeConnections(true); } void TextEditor::activeConnections(bool active) { if (active) { connect(qle_x, SIGNAL(editingFinished()), this, SLOT(updateTextX())); connect(qle_y, SIGNAL(editingFinished()), this, SLOT(updateTextY())); connect(qle_text, SIGNAL(editingFinished()), this, SLOT(updateTextT())); connect(font_size, SIGNAL(editingFinished()), this, SLOT(updateTextS())); } else { disconnect(qle_x, SIGNAL(editingFinished()), this, SLOT(updateTextX())); disconnect(qle_y, SIGNAL(editingFinished()), this, SLOT(updateTextY())); disconnect(qle_text, SIGNAL(editingFinished()), this, SLOT(updateTextT())); disconnect(font_size, SIGNAL(editingFinished()), this, SLOT(updateTextS())); } } qelectrotech-0.22+svn897/sources/editor/parttextfield.h0000644000175000017500000000465411337103436023112 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PART_TEXTFIELD_H #define PART_TEXTFIELD_H #include #include "customelementpart.h" class TextFieldEditor; class QETElementEditor; /** Cette classe represente un champ de texte editable pouvant etre utilise pour composer le dessin d'un element dans l'editeur d'element. L'utilisateur peut specifier un valeur par defaut. Le champ sera editable lorsque l'element sera pose sur un schema. */ class PartTextField : public QGraphicsTextItem, public CustomElementPart { // constructeurs, destructeur public: PartTextField(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartTextField(); private: PartTextField(const PartTextField &); // attributs bool follow_parent_rotations; // methodes public: enum { Type = UserType + 1108 }; /** permet de caster un QGraphicsItem en PartTextField avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } virtual QString name() const { return(QObject::tr("champ de texte", "element part name")); } virtual QString xmlName() const { return(QString("input")); } void fromXml(const QDomElement &); const QDomElement toXml(QDomDocument &) const; QPointF pos() const; void setPos(const QPointF &); void setPos(qreal, qreal); bool followParentRotations(); void setFollowParentRotations(bool); virtual void setProperty(const QString &, const QVariant &); virtual QVariant property(const QString &); virtual bool isUseless() const; protected: virtual void focusOutEvent(QFocusEvent *); virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *); virtual QVariant itemChange(GraphicsItemChange, const QVariant &); QRectF boundingRect() const; private: QPointF margin() const; QString previous_text; }; #endif qelectrotech-0.22+svn897/sources/editor/lineeditor.h0000644000175000017500000000332511337103436022363 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef LINE_EDITOR_H #define LINE_EDITOR_H #include #include "elementitemeditor.h" class PartLine; class StyleEditor; /** Cette classe represente le widget d'edition d'une ligne dans l'editeur d'element. */ class LineEditor : public ElementItemEditor { Q_OBJECT //constructeurs, destructeur public: LineEditor(QETElementEditor *, PartLine * = 0, QWidget * = 0); virtual ~LineEditor(); private: LineEditor(const LineEditor &); // attributs private: PartLine *part; StyleEditor *style_; QLineEdit *x1, *y1, *x2, *y2; QComboBox *end1_type, *end2_type; QLineEdit *end1_length, *end2_length; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; public slots: void updateLine(); void updateLineX1(); void updateLineY1(); void updateLineX2(); void updateLineY2(); void updateLineEndType1(); void updateLineEndLength1(); void updateLineEndType2(); void updateLineEndLength2(); void updateForm(); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/partpolygon.cpp0000644000175000017500000001230711346743247023150 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "partpolygon.h" #include "qet.h" /** Constructeur @param editor L'editeur d'element concerne @param parent Le QGraphicsItem parent de ce polygone @param scene La scene sur laquelle figure ce polygone */ PartPolygon::PartPolygon(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsPolygonItem(parent, scene), CustomElementGraphicPart(editor), closed(false) { setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); #endif setAcceptedMouseButtons(Qt::LeftButton); } /// Destructeur PartPolygon::~PartPolygon() { } /** Importe les proprietes d'un polygone depuis un element XML @param qde Element XML a lire */ void PartPolygon::fromXml(const QDomElement &qde) { stylesFromXml(qde); int i = 1; while(true) { if ( QET::attributeIsAReal(qde, QString("x%1").arg(i)) &&\ QET::attributeIsAReal(qde, QString("y%1").arg(i)) ) ++ i; else break; } QPolygonF temp_polygon; for (int j = 1 ; j < i ; ++ j) { temp_polygon << QPointF( qde.attribute(QString("x%1").arg(j)).toDouble(), qde.attribute(QString("y%1").arg(j)).toDouble() ); } setPolygon(temp_polygon); closed = qde.attribute("closed") != "false"; } /** Exporte le polygone en XML @param xml_document Document XML a utiliser pour creer l'element XML @return un element XML decrivant le polygone */ const QDomElement PartPolygon::toXml(QDomDocument &xml_document) const { QDomElement xml_element = xml_document.createElement("polygon"); int i = 1; foreach(QPointF point, polygon()) { point = mapToScene(point); xml_element.setAttribute(QString("x%1").arg(i), QString("%1").arg(point.x())); xml_element.setAttribute(QString("y%1").arg(i), QString("%1").arg(point.y())); ++ i; } if (!closed) xml_element.setAttribute("closed", "false"); stylesToXml(xml_element); return(xml_element); } /** Dessine le polygone @param painter QPainter a utiliser pour rendre le dessin @param options Options pour affiner le rendu @param widget Widget sur lequel le rendu est effectue */ void PartPolygon::paint(QPainter *painter, const QStyleOptionGraphicsItem *options, QWidget *widget) { Q_UNUSED(widget); applyStylesToQPainter(*painter); QPen t = painter -> pen(); t.setCosmetic(options && options -> levelOfDetail < 1.0); if (isSelected()) t.setColor(Qt::red); painter -> setPen(t); if (closed) painter -> drawPolygon(polygon()); else painter -> drawPolyline(polygon()); } /** Specifie la valeur d'une propriete donnee du polygone @param property propriete a modifier. Valeurs acceptees : * closed : true pour fermer le polygone, false sinon @param value Valeur a attribuer a la propriete */ void PartPolygon::setProperty(const QString &property, const QVariant &value) { CustomElementGraphicPart::setProperty(property, value); if (property == "closed") closed = value.toBool(); update(); } /** Permet d'acceder a la valeur d'une propriete donnee de la ligne @param property propriete lue. Valeurs acceptees : * closed : true pour fermer le polygone, false sinon @return La valeur de la propriete property */ QVariant PartPolygon::property(const QString &property) { // appelle la methode property de CustomElementGraphicpart pour les styles QVariant style_property = CustomElementGraphicPart::property(property); if (style_property != QVariant()) return(style_property); if (property == "closed") return(closed); return(QVariant()); } /** Gere les changements intervenant sur cette partie @param change Type de changement @param value Valeur numerique relative au changement */ QVariant PartPolygon::itemChange(GraphicsItemChange change, const QVariant &value) { if (scene()) { if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemPositionHasChanged) { updateCurrentPartEditor(); } } return(QGraphicsPolygonItem::itemChange(change, value)); } /** @return true si cette partie n'est pas pertinente et ne merite pas d'etre conservee / enregistree. Un polygone est pertinent des lors qu'il possede deux points differents. */ bool PartPolygon::isUseless() const { QPolygonF poly(polygon()); if (polygon().count() < 2) return(true); QPointF previous_point; for (int i = 1 ; i < poly.count() ; ++ i) { if (poly[i] != poly[i-1]) return(false); } return(true); } /** @return le rectangle delimitant cette partie. */ QRectF PartPolygon::boundingRect() const { qreal adjust = 1.5; QRectF r(QGraphicsPolygonItem::boundingRect()); r.adjust(-adjust, -adjust, adjust, adjust); return(r); } qelectrotech-0.22+svn897/sources/editor/styleeditor.h0000644000175000017500000000401311337103436022567 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef STYLE_EDITOR_H #define STYLE_EDITOR_H #include #include "elementitemeditor.h" class CustomElementGraphicPart; /** Cette classe represente un widget d'edition des styles que peut comporter une partie d'elements (couleur, epaisseur et style du trait, remplissage, antialiasing). Elle peut accueillir un widget sous cette interface grace a la methode appendWidget. */ class StyleEditor : public ElementItemEditor { Q_OBJECT // constructeurs, destructeur public: StyleEditor(QETElementEditor *, CustomElementGraphicPart * = 0, QWidget * = 0); virtual ~StyleEditor(); private: StyleEditor(const StyleEditor &); // attributs private: CustomElementGraphicPart *part; QVBoxLayout *main_layout; QButtonGroup *color, *style, *weight, *filling; QRadioButton *black_color, *white_color, *normal_style, *dashed_style; QRadioButton *none_weight, *thin_weight, *normal_weight, *no_filling; QRadioButton *black_filling, *white_filling; QCheckBox *antialiasing; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; public slots: void updatePart(); void updateForm(); void updatePartAntialiasing(); void updatePartColor(); void updatePartLineStyle(); void updatePartLineWeight(); void updatePartFilling(); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/partellipse.h0000644000175000017500000000401611337103436022547 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PART_ELLIPSE_H #define PART_ELLIPSE_H #include #include "customelementgraphicpart.h" /** Cette classe represente une ellipse pouvant etre utilisee pour composer le dessin d'un element dans l'editeur d'element. */ class PartEllipse : public QGraphicsEllipseItem, public CustomElementGraphicPart { // constructeurs, destructeur public: PartEllipse(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartEllipse(); private: PartEllipse(const PartEllipse &); // methodes public: enum { Type = UserType + 1103 }; /** permet de caster un QGraphicsItem en PartEllipse avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); virtual QString name() const { return(QObject::tr("ellipse", "element part name")); } virtual QString xmlName() const { return(QString("ellipse")); } virtual const QDomElement toXml(QDomDocument &) const; virtual void fromXml(const QDomElement &); virtual QPointF sceneTopLeft() const; virtual QRectF boundingRect() const; virtual void setProperty(const QString &, const QVariant &); virtual QVariant property(const QString &); virtual bool isUseless() const; protected: QVariant itemChange(GraphicsItemChange, const QVariant &); }; #endif qelectrotech-0.22+svn897/sources/editor/arceditor.h0000644000175000017500000000310511337103436022175 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ARC_EDITOR_H #define ARC_EDITOR_H #include #include "elementitemeditor.h" class PartArc; class StyleEditor; /** Cette classe represente le widget d'edition d'un arc dans l'editeur d'element. */ class ArcEditor : public ElementItemEditor { Q_OBJECT //constructeurs, destructeur public: ArcEditor(QETElementEditor *, PartArc * = 0, QWidget * = 0); virtual ~ArcEditor(); private: ArcEditor(const ArcEditor &); // attributs private: PartArc *part; StyleEditor *style_; QLineEdit *x, *y, *h, *v; QSpinBox *angle, *start_angle; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; public slots: void updateArc(); void updateArcX(); void updateArcY(); void updateArcH(); void updateArcV(); void updateArcS(); void updateArcA(); void updateForm(); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/textfieldeditor.cpp0000644000175000017500000001402511337103436023756 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "textfieldeditor.h" #include "parttextfield.h" /** Constructeur @param editor L'editeur d'element concerne @param textfield Le champ de texte a editer @param parent QWidget parent */ TextFieldEditor::TextFieldEditor(QETElementEditor *editor, PartTextField *textfield, QWidget *parent) : ElementItemEditor(editor, parent), part(textfield) { qle_x = new QLineEdit(); qle_y = new QLineEdit(); qle_text = new QLineEdit(); font_size = new QSpinBox(); font_size -> setRange(0, 144); rotate = new QCheckBox(tr("Maintenir horizontal malgr\351\n les rotations de l'\351l\351ment")); rotate -> setChecked(true); qle_x -> setValidator(new QDoubleValidator(qle_x)); qle_y -> setValidator(new QDoubleValidator(qle_y)); QVBoxLayout *main_layout = new QVBoxLayout(); main_layout -> addWidget(new QLabel(tr("Position : "))); QHBoxLayout *position = new QHBoxLayout(); position -> addWidget(new QLabel(tr("x : "))); position -> addWidget(qle_x ); position -> addWidget(new QLabel(tr("y : "))); position -> addWidget(qle_y ); main_layout -> addLayout(position); QHBoxLayout *fs = new QHBoxLayout(); fs -> addWidget(new QLabel(tr("Taille : "))); fs -> addWidget(font_size); main_layout -> addLayout(fs); QHBoxLayout *t = new QHBoxLayout(); t -> addWidget(new QLabel(tr("Texte par d\351faut : "))); t -> addWidget(qle_text); main_layout -> addLayout(t); QHBoxLayout *r = new QHBoxLayout(); r -> addWidget(rotate); main_layout -> addLayout(r); main_layout -> addStretch(); setLayout(main_layout); updateForm(); } /// Destructeur TextFieldEditor::~TextFieldEditor() { } /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur de texte dynamique acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe PartTextField. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool TextFieldEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; return(true); } if (PartTextField *part_textfield = dynamic_cast(new_part)) { part = part_textfield; updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *TextFieldEditor::currentPart() const { return(part); } /** Met a jour le champ de texte a partir des donnees du formulaire */ void TextFieldEditor::updateTextField() { if (!part) return; part -> setProperty("size", font_size -> value()); part -> setPlainText(qle_text -> text()); part -> setPos(qle_x -> text().toDouble(), qle_y -> text().toDouble()); part -> setFollowParentRotations(!rotate -> isChecked()); } /// Met a jour l'abscisse de la position du champ de texte et cree un objet d'annulation void TextFieldEditor::updateTextFieldX() { addChangePartCommand(tr("abscisse"), part, "x", qle_x -> text().toDouble()); updateForm(); } /// Met a jour l'ordonnee de la position du champ de texte et cree un objet d'annulation void TextFieldEditor::updateTextFieldY() { addChangePartCommand(tr("ordonn\351e"), part, "y", qle_y -> text().toDouble()); updateForm(); } /// Met a jour le texte du champ de texte et cree un objet d'annulation void TextFieldEditor::updateTextFieldT() { addChangePartCommand(tr("contenu"), part, "text", qle_text -> text()); } /// Met a jour la taille du champ de texte et cree un objet d'annulation void TextFieldEditor::updateTextFieldS() { addChangePartCommand(tr("taille"), part, "size", font_size -> value()); } /// Met a jour la taille du champ de texte et cree un objet d'annulation void TextFieldEditor::updateTextFieldR() { addChangePartCommand(tr("propri\351t\351"), part, "rotate", !rotate -> isChecked()); } /** Met a jour le formulaire d'edition */ void TextFieldEditor::updateForm() { if (!part) return; activeConnections(false); qle_x -> setText(part -> property("x").toString()); qle_y -> setText(part -> property("y").toString()); qle_text -> setText(part -> property("text").toString()); font_size -> setValue(part -> property("size").toInt()); rotate -> setChecked(!part -> property("rotate").toBool()); activeConnections(true); } /** Active ou desactive les connexionx signaux/slots entre les widgets internes. @param active true pour activer les connexions, false pour les desactiver */ void TextFieldEditor::activeConnections(bool active) { if (active) { connect(qle_x, SIGNAL(editingFinished()), this, SLOT(updateTextFieldX())); connect(qle_y, SIGNAL(editingFinished()), this, SLOT(updateTextFieldY())); connect(qle_text, SIGNAL(editingFinished()), this, SLOT(updateTextFieldT())); connect(font_size, SIGNAL(editingFinished()), this, SLOT(updateTextFieldS())); connect(rotate, SIGNAL(stateChanged(int)), this, SLOT(updateTextFieldR())); } else { disconnect(qle_x, SIGNAL(editingFinished()), this, SLOT(updateTextFieldX())); disconnect(qle_y, SIGNAL(editingFinished()), this, SLOT(updateTextFieldY())); disconnect(qle_text, SIGNAL(editingFinished()), this, SLOT(updateTextFieldT())); disconnect(font_size, SIGNAL(editingFinished()), this, SLOT(updateTextFieldS())); disconnect(rotate, SIGNAL(stateChanged(int)), this, SLOT(updateTextFieldR())); } } qelectrotech-0.22+svn897/sources/editor/partarc.cpp0000644000175000017500000002105311337103436022212 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "partarc.h" /** Constructeur @param editor L'editeur d'element concerne @param parent Le QGraphicsItem parent de cet arc @param scene La scene sur laquelle figure cet arc */ PartArc::PartArc(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsEllipseItem(parent, scene), CustomElementGraphicPart(editor), _angle(-90), start_angle(0) { setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); #endif setAcceptedMouseButtons(Qt::LeftButton); } /// Destructeur PartArc::~PartArc() { } /** Dessine l'arc de cercle @param painter QPainter a utiliser pour rendre le dessin @param options Options pour affiner le rendu @param widget Widget sur lequel le rendu est effectue */ void PartArc::paint(QPainter *painter, const QStyleOptionGraphicsItem *options, QWidget *widget) { Q_UNUSED(widget); applyStylesToQPainter(*painter); // enleve systematiquement la couleur de fond painter -> setBrush(Qt::NoBrush); QPen t = painter -> pen(); t.setCosmetic(options && options -> levelOfDetail < 1.0); painter -> setPen(t); if (isSelected()) { // dessine l'ellipse en noir painter -> drawEllipse(rect()); // dessine l'arc en rouge t.setColor(Qt::red); painter -> setPen(t); } painter -> drawArc(rect(), start_angle * 16, _angle * 16); if (isSelected()) { // dessine la croix au centre de l'ellipse painter -> setRenderHint(QPainter::Antialiasing, false); painter -> setPen((painter -> brush().color() == QColor(Qt::black) && painter -> brush().isOpaque()) ? Qt::yellow : Qt::blue); QPointF center = rect().center(); painter -> drawLine(QLineF(center.x() - 2.0, center.y(), center.x() + 2.0, center.y())); painter -> drawLine(QLineF(center.x(), center.y() - 2.0, center.x(), center.y() + 2.0)); } } /** Exporte l'arc de cercle en XML @param xml_document Document XML a utiliser pour creer l'element XML @return un element XML decrivant l'arc de cercle */ const QDomElement PartArc::toXml(QDomDocument &xml_document) const { QDomElement xml_element = xml_document.createElement("arc"); QPointF top_left(sceneTopLeft()); xml_element.setAttribute("x", QString("%1").arg(top_left.x())); xml_element.setAttribute("y", QString("%1").arg(top_left.y())); xml_element.setAttribute("width", QString("%1").arg(rect().width())); xml_element.setAttribute("height", QString("%1").arg(rect().height())); xml_element.setAttribute("start", QString("%1").arg(start_angle)); xml_element.setAttribute("angle", QString("%1").arg(_angle)); stylesToXml(xml_element); return(xml_element); } /** Importe les proprietes d'un arc de cercle depuis un element XML @param qde Element XML a lire */ void PartArc::fromXml(const QDomElement &qde) { stylesFromXml(qde); setRect( QRectF( mapFromScene( qde.attribute("x", "0").toDouble(), qde.attribute("y", "0").toDouble() ), QSizeF( qde.attribute("width", "0").toDouble(), qde.attribute("height", "0").toDouble() ) ) ); setStartAngle(qde.attribute("start", "0").toInt()); setAngle(qde.attribute("angle", "-90").toInt()); } /** @return le coin superieur gauche du rectangle dans lequel s'inscrit l'ellipse dont fait partie cet arc, dans les coordonnees de la scene. */ QPointF PartArc::sceneTopLeft() const { return(mapToScene(rect().topLeft())); } /** Specifie la valeur d'une propriete donnee de l'arc @param property propriete a modifier. Valeurs acceptees : * x : abscisse du centre de l'ellipse dont fait partie l'arc * y : ordonnee du centre de l'ellipse dont fait partie l'arc * diameter_h : diametre horizontal de l'ellipse dont fait partie l'arc * diameter_v : diametre vertical de l'ellipse dont fait partie l'arc * start_angle : angle de depart * angle : taille de l'arc de cercle @param value Valeur a attribuer a la propriete */ void PartArc::setProperty(const QString &property, const QVariant &value) { CustomElementGraphicPart::setProperty(property, value); if (!value.canConvert(QVariant::Double)) return; if (property == "x") { QRectF current_rect = rect(); QPointF current_pos = mapToScene(current_rect.center()); setRect(current_rect.translated(value.toDouble() - current_pos.x(), 0.0)); } else if (property == "y") { QRectF current_rect = rect(); QPointF current_pos = mapToScene(current_rect.center()); setRect(current_rect.translated(0.0, value.toDouble() - current_pos.y())); } else if (property == "diameter_h") { qreal new_width = qAbs(value.toDouble()); QRectF current_rect = rect(); current_rect.translate((new_width - current_rect.width()) / -2.0, 0.0); current_rect.setWidth(new_width); setRect(current_rect); } else if (property == "diameter_v") { qreal new_height = qAbs(value.toDouble()); QRectF current_rect = rect(); current_rect.translate(0.0, (new_height - current_rect.height()) / -2.0); current_rect.setHeight(new_height); setRect(current_rect); } else if (property == "start_angle") { setStartAngle(value.toInt() ); } else if (property == "angle") { setAngle(value.toInt()); } update(); } /** Permet d'acceder a la valeur d'une propriete donnee de l'arc de cercle @param property propriete lue. Valeurs acceptees : * x : abscisse du centre de l'ellipse dont fait partie l'arc * y : ordonnee du centre de l'ellipse dont fait partie l'arc * diameter_h : diametre horizontal de l'ellipse dont fait partie l'arc * diameter_v : diametre vertical de l'ellipse dont fait partie l'arc * start_angle : angle de depart * angle : taille de l'arc de cercle @return La valeur de la propriete property */ QVariant PartArc::property(const QString &property) { // appelle la methode property de CustomElementGraphicpart pour les styles QVariant style_property = CustomElementGraphicPart::property(property); if (style_property != QVariant()) return(style_property); if (property == "x") { return(mapToScene(rect().center()).x()); } else if (property == "y") { return(mapToScene(rect().center()).y()); } else if (property == "diameter_h") { return(rect().width()); } else if (property == "diameter_v") { return(rect().height()); } else if (property == "start_angle") { return(start_angle); } else if (property == "angle") { return(_angle); } return(QVariant()); } /** Gere les changements intervenant sur cette partie @param change Type de changement @param value Valeur numerique relative au changement */ QVariant PartArc::itemChange(GraphicsItemChange change, const QVariant &value) { if (scene()) { if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemPositionHasChanged) { updateCurrentPartEditor(); } } return(QGraphicsEllipseItem::itemChange(change, value)); } /** Permet de modifier l'etendue de l'arc de cercle. Il s'agit d'un angle, exprime en degres. Si l'angle est positif, l'arc s'etendra dans le sens des aiguilles d'une montre. @param a la nouvelle taille de l'arc de cercle */ void PartArc::setAngle(int a) { _angle = a; } /** Permet de modifier la position de depart de l'arc de cercle. Il s'agit d'un angle, exprime en degres. l'angle "0 degre" est situe a "3 heures". @param a la nouvelle taille de l'arc de cercle */ void PartArc::setStartAngle(int a) { start_angle = a; } /** @return l'etendue de l'arc de cercle */ int PartArc::angle() const { return(_angle); } /** @return la position de depart de l'arc de cercle */ int PartArc::startAngle() const { return(start_angle); } /** @return true si cette partie n'est pas pertinente et ne merite pas d'etre conservee / enregistree. Un arc est pertinent des lors que ses dimensions et son etendue ne sont pas nulles. */ bool PartArc::isUseless() const { return(rect().isNull() || !angle()); } /** @return le rectangle delimitant cette partie. */ QRectF PartArc::boundingRect() const { qreal adjust = 1.5; QRectF r(QGraphicsEllipseItem::boundingRect().normalized()); r.adjust(-adjust, -adjust, adjust, adjust); return(r); } qelectrotech-0.22+svn897/sources/editor/partline.h0000644000175000017500000000646711337103436022055 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PART_LINE_H #define PART_LINE_H #include #include "customelementgraphicpart.h" #include "qet.h" /** Cette classe represente une ligne pouvant etre utilisee pour composer le dessin d'un element dans l'editeur d'element. Une ligne est composee de deux points. Elle peut comporter des extremites speciales definissables grace aux methodes setFirstEndType et setSecondEndType. La taille des extremites est definissable via les methodes setFirstEndLength et setSecondEndLength. A noter que les extremites ne sont pas dessinees si la longueur requise pour leur dessin n'est pas contenue dans la ligne. S'il n'y a de la place que pour une seule extremite, c'est la premiere qui est privilegiee. */ class PartLine : public QGraphicsLineItem, public CustomElementGraphicPart { // constructeurs, destructeur public: PartLine(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartLine(); private: PartLine(const PartLine &); // attributs private: QET::EndType first_end; qreal first_length; QET::EndType second_end; qreal second_length; // methodes public: enum { Type = UserType + 1104 }; /** permet de caster un QGraphicsItem en PartLine avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); virtual QString name() const { return(QObject::tr("ligne", "element part name")); } virtual QString xmlName() const { return(QString("line")); } virtual const QDomElement toXml(QDomDocument &) const; virtual void fromXml(const QDomElement &); virtual QPointF sceneP1() const; virtual QPointF sceneP2() const; virtual QPainterPath shape() const; virtual QRectF boundingRect() const; virtual void setProperty(const QString &, const QVariant &); virtual QVariant property(const QString &); virtual bool isUseless() const; virtual void setFirstEndType(const QET::EndType &); virtual QET::EndType firstEndType() const; virtual void setSecondEndType(const QET::EndType &); virtual QET::EndType secondEndType() const; virtual void setFirstEndLength(const qreal &); virtual qreal firstEndLength() const; virtual void setSecondEndLength(const qreal &); virtual qreal secondEndLength() const; static uint requiredLengthForEndType(const QET::EndType &); static QList fourEndPoints(const QPointF &, const QPointF &, const qreal &); protected: QVariant itemChange(GraphicsItemChange, const QVariant &); private: QList fourShapePoints() const; QRectF firstEndCircleRect() const; QRectF secondEndCircleRect() const; void debugPaint(QPainter *); }; #endif qelectrotech-0.22+svn897/sources/editor/polygoneditor.cpp0000644000175000017500000001332411337103436023456 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "polygoneditor.h" #include "partpolygon.h" #include "elementscene.h" #include "editorcommands.h" #include "qetmessagebox.h" /** Constructeur @param editor L'editeur d'element concerne @param p Le polygone a editer @param parent le Widget parent */ PolygonEditor::PolygonEditor(QETElementEditor *editor, PartPolygon *p, QWidget *parent) : ElementItemEditor(editor, parent), part(p), points_list(this), close_polygon(tr("Polygone ferm\351"), this) { style_ = new StyleEditor(editor); // prepare la liste de points points_list.setColumnCount(2); QStringList headers; headers << tr("x") << tr("y"); points_list.setHeaderLabels(headers); points_list.setRootIsDecorated(false); updateForm(); // layout QVBoxLayout *layout = new QVBoxLayout(this); layout -> addWidget(style_); layout -> addWidget(new QLabel(tr("Points du polygone :"))); layout -> addWidget(&points_list); layout -> addWidget(&close_polygon); updateForm(); } /// Destructeur PolygonEditor::~PolygonEditor() { } /** Met a jour le polygone a partir des donnees du formulaire : points et etat ferme ou non */ void PolygonEditor::updatePolygon() { updatePolygonPoints(); updatePolygonClosedState(); } /** Met a jour les points du polygone et cree un objet d'annulation */ void PolygonEditor::updatePolygonPoints() { if (!part) return; QVector points = getPointsFromTree(); if (points.count() < 2) { QET::MessageBox::warning( this, tr("Erreur", "message box title"), tr("Le polygone doit comporter au moins deux points.", "message box content") ); return; } undoStack().push(new ChangePolygonPointsCommand(part, part -> polygon(), points)); } /** Met a jour l'etat ferme ou non du polygone */ void PolygonEditor::updatePolygonClosedState() { if (!part) return; undoStack().push( new ChangePartCommand( tr("fermeture du polygone"), part, "closed", QVariant(!close_polygon.isChecked()), QVariant(close_polygon.isChecked()) ) ); } /** Met a jour le formulaire d'edition */ void PolygonEditor::updateForm() { if (!part) return; activeConnections(false); while(points_list.takeTopLevelItem(0)) {} foreach(QPointF point, part -> polygon()) { point = part -> mapToScene(point); QStringList qsl; qsl << QString("%1").arg(point.x()) << QString("%1").arg(point.y()); QTreeWidgetItem *qtwi = new QTreeWidgetItem(qsl); qtwi -> setFlags(Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsSelectable); points_list.addTopLevelItem(qtwi); } close_polygon.setChecked(part -> isClosed()); activeConnections(true); } /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur de polygone acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe PartPolygon. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool PolygonEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; style_ -> setPart(0); return(true); } if (PartPolygon *part_polygon = dynamic_cast(new_part)) { part = part_polygon; style_ -> setPart(part); updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *PolygonEditor::currentPart() const { return(part); } /** @return Un vecteur contenant les points composant le polygone a partir du formulaire d'edition */ QVector PolygonEditor::getPointsFromTree() { if (!part) return(QVector()); QVector points; for(int i = 0 ; i < points_list.topLevelItemCount() ; ++ i) { QTreeWidgetItem *qtwi = points_list.topLevelItem(i); bool x_convert_ok, y_convert_ok; qreal x = qtwi -> text(0).toDouble(&x_convert_ok); qreal y = qtwi -> text(1).toDouble(&y_convert_ok); if (!x_convert_ok || !y_convert_ok) continue; points << part -> mapFromScene(QPointF(x, y)); } return(points); } /** @param qtwi QTreeWidgetItem a valider @param column Colonne exacte du QTreeWidgetItem a valider */ void PolygonEditor::validColumn(QTreeWidgetItem *qtwi, int column) { bool convert_ok; qtwi -> text(column).toDouble(&convert_ok); if (convert_ok) { points_list.closePersistentEditor(qtwi, column); updatePolygonPoints(); } else points_list.openPersistentEditor(qtwi, column); } /** Active ou desactive les connexionx signaux/slots entre les widgets internes. @param active true pour activer les connexions, false pour les desactiver */ void PolygonEditor::activeConnections(bool active) { if (active) { connect(&close_polygon, SIGNAL(stateChanged(int)), this, SLOT(updatePolygonClosedState())); connect(&points_list, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(validColumn(QTreeWidgetItem *, int))); } else { disconnect(&close_polygon, SIGNAL(stateChanged(int)), this, SLOT(updatePolygonClosedState())); disconnect(&points_list, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(validColumn(QTreeWidgetItem *, int))); } } qelectrotech-0.22+svn897/sources/editor/styleeditor.cpp0000644000175000017500000002014011337103436023121 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "styleeditor.h" #include "customelementgraphicpart.h" /** Constructeur @param editor L'editeur d'element concerne @param p La partie a editer @param parent le Widget parent */ StyleEditor::StyleEditor(QETElementEditor *editor, CustomElementGraphicPart *p, QWidget *parent) : ElementItemEditor(editor, parent), part(p) { // couleur color = new QButtonGroup(this); color -> addButton(black_color = new QRadioButton(tr("Noir", "element part color")), CustomElementGraphicPart::BlackColor); color -> addButton(white_color = new QRadioButton(tr("Blanc", "element part color")), CustomElementGraphicPart::WhiteColor); // style style = new QButtonGroup(this); style -> addButton(normal_style = new QRadioButton(tr("Normal", "element part line style")), CustomElementGraphicPart::NormalStyle); style -> addButton(dashed_style = new QRadioButton(tr("Pointill\351", "element part line style")), CustomElementGraphicPart::DashedStyle); normal_style -> setChecked(true); // epaisseur weight = new QButtonGroup(this); weight -> addButton(none_weight = new QRadioButton(tr("Nulle", "element part weight")), CustomElementGraphicPart::NoneWeight); weight -> addButton(thin_weight = new QRadioButton(tr("Fine", "element part weight")), CustomElementGraphicPart::ThinWeight); weight -> addButton(normal_weight = new QRadioButton(tr("Normale", "element part weight")), CustomElementGraphicPart::NormalWeight); // remplissage filling = new QButtonGroup(this); filling -> addButton(no_filling = new QRadioButton(tr("Aucun", "element part filling")), CustomElementGraphicPart::NoneFilling ); filling -> addButton(black_filling = new QRadioButton(tr("Noir", "element part filling")), CustomElementGraphicPart::BlackFilling); filling -> addButton(white_filling = new QRadioButton(tr("Blanc", "element part filling")), CustomElementGraphicPart::WhiteFilling); // antialiasing antialiasing = new QCheckBox(tr("Antialiasing")); updateForm(); main_layout = new QVBoxLayout(); main_layout -> addWidget(antialiasing); main_layout -> addWidget(new QLabel("" + tr("Trait :") + " ")); QHBoxLayout *color_layout = new QHBoxLayout(); color_layout -> addWidget(new QLabel(tr("Couleur : "))); color_layout -> addWidget(black_color); color_layout -> addWidget(white_color); color_layout -> addStretch(); main_layout -> addItem(color_layout); QHBoxLayout *style_layout = new QHBoxLayout(); style_layout -> addWidget(new QLabel(tr("Style : "))); style_layout -> addWidget(normal_style); style_layout -> addWidget(dashed_style); style_layout -> addStretch(); main_layout -> addItem(style_layout); QHBoxLayout *weight_layout = new QHBoxLayout(); weight_layout -> addWidget(new QLabel(tr("\311paisseur : "))); weight_layout -> addWidget(none_weight); weight_layout -> addWidget(thin_weight); weight_layout -> addWidget(normal_weight); weight_layout -> addStretch(); main_layout -> addItem(weight_layout); main_layout -> addWidget(new QLabel("" + tr("Remplissage :") + " ")); QHBoxLayout *filling_layout = new QHBoxLayout(); filling_layout -> addWidget(no_filling); filling_layout -> addWidget(black_filling); filling_layout -> addWidget(white_filling); filling_layout -> addStretch(); main_layout -> addItem(filling_layout); main_layout -> addStretch(); setLayout(main_layout); } /// Destructeur StyleEditor::~StyleEditor() { } /** Met a jour le style de la partie a partir des donnees du formulaire */ void StyleEditor::updatePart() { if (!part) return; // applique l'antialiasing part -> setAntialiased(antialiasing -> isChecked()); // applique la couleur part -> setColor(static_cast(color -> checkedId())); // applique le style part -> setLineStyle(static_cast(style -> checkedId())); // applique l'epaisseur part -> setLineWeight(static_cast(weight -> checkedId())); // applique le remplissage part -> setFilling(static_cast(filling -> checkedId())); } /// Met a jour l'antialiasing et cree un objet d'annulation void StyleEditor::updatePartAntialiasing() { addChangePartCommand("style antialiasing", part, "antialias", antialiasing -> isChecked()); } /// Met a jour la couleur du trait et cree un objet d'annulation void StyleEditor::updatePartColor() { addChangePartCommand("style couleur", part, "color", color -> checkedId()); } /// Met a jour le style du trait et cree un objet d'annulation void StyleEditor::updatePartLineStyle() { addChangePartCommand("style ligne", part, "line-style", style -> checkedId()); } /// Met a jour l'epaisseur du trait et cree un objet d'annulation void StyleEditor::updatePartLineWeight() { addChangePartCommand("style epaisseur", part, "line-weight", weight -> checkedId()); } /// Met a jour la couleur de fond et cree un objet d'annulation void StyleEditor::updatePartFilling() { addChangePartCommand("style remplissage", part, "filling", filling -> checkedId()); } /** Met a jour le formulaire d'edition */ void StyleEditor::updateForm() { if (!part) return; activeConnections(false); // lit l'antialiasing antialiasing -> setChecked(part -> antialiased()); // lit la couleur color -> button(part -> color()) -> setChecked(true); // lit le style style -> button(part -> lineStyle()) -> setChecked(true); // lit l'epaisseur weight -> button(part -> lineWeight()) -> setChecked(true); // lit le remplissage filling -> button(part -> filling()) -> setChecked(true); activeConnections(true); } /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur de ligne acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe CustomElementGraphicPart. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool StyleEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; return(true); } if (CustomElementGraphicPart *part_graphic = dynamic_cast(new_part)) { part = part_graphic; updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *StyleEditor::currentPart() const { return(part); } /** Active ou desactive les connexionx signaux/slots entre les widgets internes. @param active true pour activer les connexions, false pour les desactiver */ void StyleEditor::activeConnections(bool active) { if (active) { connect(color, SIGNAL(buttonClicked(int)), this, SLOT(updatePartColor())); connect(style, SIGNAL(buttonClicked(int)), this, SLOT(updatePartLineStyle())); connect(weight, SIGNAL(buttonClicked(int)), this, SLOT(updatePartLineWeight())); connect(filling, SIGNAL(buttonClicked(int)), this, SLOT(updatePartFilling())); connect(antialiasing, SIGNAL(stateChanged(int)), this, SLOT(updatePartAntialiasing())); } else { disconnect(color, SIGNAL(buttonClicked(int)), this, SLOT(updatePartColor())); disconnect(style, SIGNAL(buttonClicked(int)), this, SLOT(updatePartLineStyle())); disconnect(weight, SIGNAL(buttonClicked(int)), this, SLOT(updatePartLineWeight())); disconnect(filling, SIGNAL(buttonClicked(int)), this, SLOT(updatePartFilling())); disconnect(antialiasing, SIGNAL(stateChanged(int)), this, SLOT(updatePartAntialiasing())); } } qelectrotech-0.22+svn897/sources/editor/customelementpart.h0000644000175000017500000000570711337103436024006 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CUSTOM_ELEMENT_PART_H #define CUSTOM_ELEMENT_PART_H #include #include #include class CustomElement; class QETElementEditor; class ElementScene; /** Cette classe abstraite represente une partie de la representation graphique d'un element de schema electrique. Les attributs et methodes qu'elle encapsule ne sont pas integres directement dans la classe CustomElement afin de ne pas alourdir celle-ci. Il est en effet inutile pour cette classe de retenir sa conception graphique autrement que sous la forme d'une QImage. */ class CustomElementPart { // constructeurs, destructeur public: /** Constructeur @param editor Editeur d'element auquel cette partie est rattachee */ CustomElementPart(QETElementEditor *editor) : element_editor(editor) {} /// Destructeur virtual ~CustomElementPart() {} private: CustomElementPart(const CustomElementPart &); // attributs private: QETElementEditor *element_editor; // methodes public: /** Charge la partie depuis un element XML sense le decrire */ virtual void fromXml(const QDomElement &) = 0; /** Enregistre la partie dans un document XML */ virtual const QDomElement toXml(QDomDocument &) const = 0; /** Permet de modifier une des proprietes de la partie */ virtual void setProperty(const QString &, const QVariant &) = 0; /** Permet de lire une des proprietes de la partie */ virtual QVariant property(const QString &) = 0; /** @return true si la partie n'est pas pertinente, false sinon Typiquement, une partie non pertinente n'est pas conservee lors de l'enregistrement de l'element. */ virtual bool isUseless() const = 0; /// @return un pointeur vers l'editeur d'element parent virtual QETElementEditor *elementEditor() const; /** Appelle le slot updateCurrentPartEditor de l'editeur @see QETElementEditor::updateCurrentPartEditor() */ virtual void updateCurrentPartEditor() const; /// @return un pointeur vers la scene d'edition parente virtual ElementScene *elementScene() const; /// @return la pile d'annulations a utiliser virtual QUndoStack &undoStack() const; /// @return le nom de la partie virtual QString name() const = 0; /// @return le nom qui sera utilise pour nommer l'element XML lors de l'export virtual QString xmlName() const = 0; }; #endif qelectrotech-0.22+svn897/sources/editor/terminaleditor.h0000644000175000017500000000313411337103436023245 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef TERMINAL_EDITOR_H #define TERMINAL_EDITOR_H #include #include "elementitemeditor.h" class PartTerminal; /** Cette classe represente un editeur de borne. Elle permet d'editer a travers une interface graphique les proprietes d'une borne d'element. */ class TerminalEditor : public ElementItemEditor { Q_OBJECT // Constructeurs, destructeur public: TerminalEditor(QETElementEditor *, PartTerminal * = 0, QWidget * = 0); virtual ~TerminalEditor(); private: TerminalEditor(const TerminalEditor &); // attributs private: PartTerminal *part; QLineEdit *qle_x, *qle_y; QComboBox *orientation; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; public slots: void updateTerminal(); void updateTerminalX(); void updateTerminalY(); void updateTerminalO(); void updateForm(); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/textfieldeditor.h0000644000175000017500000000336511337103436023430 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef TEXTFIELD_EDITOR_H #define TEXTFIELD_EDITOR_H #include #include "elementitemeditor.h" class PartTextField; /** Cette classe represente un editeur de champ de texte Elle permet d'editer a travers une interface graphique les proprietes d'un champ de texte : taille de la police, texte par defaut et position. */ class TextFieldEditor : public ElementItemEditor { Q_OBJECT // Constructeurs, destructeur public: TextFieldEditor(QETElementEditor *, PartTextField * = 0, QWidget * = 0); virtual ~TextFieldEditor(); private: TextFieldEditor(const TextFieldEditor &); // attributs private: PartTextField *part; QLineEdit *qle_x, *qle_y, *qle_text; QSpinBox *font_size; QCheckBox *rotate; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; public slots: void updateTextField(); void updateTextFieldX(); void updateTextFieldY(); void updateTextFieldT(); void updateTextFieldS(); void updateTextFieldR(); void updateForm(); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/rectangleeditor.cpp0000644000175000017500000001316111337254100023725 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "rectangleeditor.h" #include "partrectangle.h" /** Constructeur @param editor L'editeur d'element concerne @param rect Le rectangle a editer @param parent le Widget parent */ RectangleEditor::RectangleEditor(QETElementEditor *editor, PartRectangle *rect, QWidget *parent) : ElementItemEditor(editor, parent), part(rect) { style_ = new StyleEditor(editor); x = new QLineEdit(); y = new QLineEdit(); w = new QLineEdit(); h = new QLineEdit(); x -> setValidator(new QDoubleValidator(x)); y -> setValidator(new QDoubleValidator(y)); w -> setValidator(new QDoubleValidator(w)); h -> setValidator(new QDoubleValidator(h)); QVBoxLayout *v_layout = new QVBoxLayout(this); QGridLayout *grid = new QGridLayout(); grid -> addWidget(new QLabel(tr("Coin sup\351rieur gauche\240: ")), 0, 0, 1, 4); grid -> addWidget(new QLabel("x"), 1, 0, Qt::AlignRight); grid -> addWidget(x, 1, 1); grid -> addWidget(new QLabel("y"), 1, 2); grid -> addWidget(y, 1, 3); grid -> addWidget(new QLabel(tr("Dimensions\240: ")), 2, 0, 1, 4); grid -> addWidget(new QLabel(tr("Largeur\240:")), 3, 0); grid -> addWidget(w, 3, 1); grid -> addWidget(new QLabel(tr("Hauteur\240:")), 4, 0); grid -> addWidget(h, 4, 1); v_layout -> addWidget(style_); v_layout -> addLayout(grid); activeConnections(true); updateForm(); } /// Destructeur RectangleEditor::~RectangleEditor() { } /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur de rectangle acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe PartRectangle. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool RectangleEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; style_ -> setPart(0); return(true); } if (PartRectangle *part_rectangle = dynamic_cast(new_part)) { part = part_rectangle; style_ -> setPart(part); updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *RectangleEditor::currentPart() const { return(part); } /** Met a jour le rectangle a partir des donnees du formulaire */ void RectangleEditor::updateRectangle() { if (!part) return; part -> setProperty("x", x -> text().toDouble()); part -> setProperty("y", y -> text().toDouble()); part -> setProperty("width", w -> text().toDouble()); part -> setProperty("height", h -> text().toDouble()); } /// Met a jour l'abscisse du coin superieur gauche du rectangle et cree un objet d'annulation void RectangleEditor::updateRectangleX() { addChangePartCommand(tr("abscisse"), part, "x", x -> text().toDouble()); } /// Met a jour l'ordonnee du coin superieur gauche du rectangle et cree un objet d'annulation void RectangleEditor::updateRectangleY() { addChangePartCommand(tr("ordonn\351e"), part, "y", y -> text().toDouble()); } /// Met a jour la largeur du rectangle et cree un objet d'annulation void RectangleEditor::updateRectangleW() { addChangePartCommand(tr("largeur"), part, "width", w -> text().toDouble()); } /// Met a jour la hauteur du rectangle et cree un objet d'annulation void RectangleEditor::updateRectangleH() { addChangePartCommand(tr("hauteur"), part, "height", h -> text().toDouble()); } /** Met a jour le formulaire d'edition */ void RectangleEditor::updateForm() { if (!part) return; activeConnections(false); x -> setText(part -> property("x").toString()); y -> setText(part -> property("y").toString()); w -> setText(part -> property("width").toString()); h -> setText(part -> property("height").toString()); activeConnections(true); } /** Active ou desactive les connexionx signaux/slots entre les widgets internes. @param active true pour activer les connexions, false pour les desactiver */ void RectangleEditor::activeConnections(bool active) { if (active) { connect(x, SIGNAL(editingFinished()), this, SLOT(updateRectangleX())); connect(y, SIGNAL(editingFinished()), this, SLOT(updateRectangleY())); connect(w, SIGNAL(editingFinished()), this, SLOT(updateRectangleW())); connect(h, SIGNAL(editingFinished()), this, SLOT(updateRectangleH())); } else { disconnect(x, SIGNAL(editingFinished()), this, SLOT(updateRectangleX())); disconnect(y, SIGNAL(editingFinished()), this, SLOT(updateRectangleY())); disconnect(w, SIGNAL(editingFinished()), this, SLOT(updateRectangleW())); disconnect(h, SIGNAL(editingFinished()), this, SLOT(updateRectangleH())); } } qelectrotech-0.22+svn897/sources/editor/elementview.cpp0000644000175000017500000003342711340556412023112 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementview.h" #include "qetelementeditor.h" #include "editorcommands.h" /** Constructeur @param scene ElementScene visualisee par cette ElementView @param parent QWidget parent de cette ElementView */ ElementView::ElementView(ElementScene *scene, QWidget *parent) : QGraphicsView(scene, parent), scene_(scene), offset_paste_count_(0) { setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate); setInteractive(true); setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); setResizeAnchor(QGraphicsView::AnchorUnderMouse); setTransformationAnchor(QGraphicsView::AnchorUnderMouse); zoomReset(); connect(scene_, SIGNAL(pasteAreaDefined(const QRectF &)), this, SLOT(pasteAreaDefined(const QRectF &))); connect(scene_, SIGNAL(partsAdded()), this, SLOT(adjustSceneRect())); } /// Destructeur ElementView::~ElementView() { } /// @return l'ElementScene visualisee par cette ElementView ElementScene *ElementView::scene() const { return(scene_); } /** @return le rectangle de l'element visualise par cet ElementView */ QRectF ElementView::viewedSceneRect() const { // recupere la taille du widget viewport QSize viewport_size = viewport() -> size(); // recupere la transformation viewport -> scene QTransform view_to_scene = viewportTransform().inverted(); // mappe le coin superieur gauche et le coin inferieur droit de la viewport sur la scene QPointF scene_left_top = view_to_scene.map(QPointF(0.0, 0.0)); QPointF scene_right_bottom = view_to_scene.map(QPointF(viewport_size.width(), viewport_size.height())); // en deduit le rectangle visualise par la scene return(QRectF(scene_left_top, scene_right_bottom)); } /** Definit l'ElementScene visualisee par cette ElementView @param s l'ElementScene visualisee par cette ElementView */ void ElementView::setScene(ElementScene *s) { QGraphicsView::setScene(s); scene_ = s; } /** Gere les evenements envoyes a la vue. Methode reimplentee pour gerer le conflit de raccourcis avec Suppr (supprimer une partie ou supprimer le caractere suivant) @param e evenement a gerer */ bool ElementView::event(QEvent *e) { if (e -> type() == QEvent::ShortcutOverride && scene_ -> focusItem()) { e -> accept(); return(true); } return(QGraphicsView::event(e)); } /** Agrandit le schema (+33% = inverse des -25 % de zoomMoins()) */ void ElementView::zoomIn() { adjustSceneRect(); scale(4.0/3.0, 4.0/3.0); } /** Retrecit le schema (-25% = inverse des +33 % de zoomPlus()) */ void ElementView::zoomOut() { adjustSceneRect(); scale(0.75, 0.75); } /** Agrandit ou rectrecit le schema de facon a ce que tous les elements du schema soient visibles a l'ecran. S'il n'y a aucun element sur le schema, le zoom est reinitialise */ void ElementView::zoomFit() { adjustSceneRect(); fitInView(sceneRect(), Qt::KeepAspectRatio); } /** Reinitialise le zoom */ void ElementView::zoomReset() { adjustSceneRect(); resetMatrix(); scale(4.0, 4.0); } /** Ajuste le sceneRect (zone du schema visualisee par l'ElementView) afin que celui inclut a la fois les parties dans et en dehors du cadre et le cadre lui-meme. */ void ElementView::adjustSceneRect() { QRectF old_scene_rect = scene_ -> sceneRect(); QRectF new_scene_rect = scene_ -> sceneContent(); setSceneRect(new_scene_rect); // met a jour la scene scene_ -> update(old_scene_rect.united(new_scene_rect)); } /** Gere le fait de couper la selection = l'exporter en XML dans le presse-papier puis la supprimer. */ void ElementView::cut() { // delegue cette action a la scene scene_ -> cut(); } /** Gere le fait de copier la selection = l'exporter en XML dans le presse-papier. */ void ElementView::copy() { // delegue cette action a la scene scene_ -> copy(); offset_paste_count_ = 0; } /** Gere le fait de coller le contenu du presse-papier = l'importer dans l'element. Cette methode examine le contenu du presse-papier. Si celui-ci semble avoir ete copie depuis cet element, il est colle a cote de sa zone d'origine ; s'il est recolle, il sera colle un cran a cote de la zone deja recollee, etc. Sinon, cette methode demande a l'utilisateur de definir la zone ou le collage devra s'effectuer. @see pasteAreaDefined(const QRectF &) */ void ElementView::paste() { QString clipboard_text = QApplication::clipboard() -> text(); if (clipboard_text.isEmpty()) return; QDomDocument document_xml; if (!document_xml.setContent(clipboard_text)) return; if (scene_ -> wasCopiedFromThisElement(clipboard_text)) { // copier/coller avec decalage pasteWithOffset(document_xml); } else { // copier/coller par choix de la zone de collage QRectF pasted_content_bounding_rect = scene_ -> boundingRectFromXml(document_xml); if (pasted_content_bounding_rect.isEmpty()) return; to_paste_in_area_ = clipboard_text; getPasteArea(pasted_content_bounding_rect); } } /** Colle le contenu du presse-papier en demandant systematiquement a l'utilisateur de choisir une zone de collage */ void ElementView::pasteInArea() { QString clipboard_text = QApplication::clipboard() -> text(); if (clipboard_text.isEmpty()) return; QDomDocument document_xml; if (!document_xml.setContent(clipboard_text)) return; QRectF pasted_content_bounding_rect = scene_ -> boundingRectFromXml(document_xml); if (pasted_content_bounding_rect.isEmpty()) return; // copier/coller par choix de la zone de collage to_paste_in_area_ = clipboard_text; getPasteArea(pasted_content_bounding_rect); } /** Gere le fait de coller le contenu du presse-papier = l'importer dans l'element. Cette methode examine le contenu du presse-papier. Si celui-ci est exploitable, elle le colle a la position passee en parametre. @see pasteAreaDefined(const QRectF &) @param position Point de collage */ ElementContent ElementView::paste(const QPointF &position) { QString clipboard_text = QApplication::clipboard() -> text(); if (clipboard_text.isEmpty()) return(ElementContent()); QDomDocument document_xml; if (!document_xml.setContent(clipboard_text)) return(ElementContent()); // objet pour recuperer le contenu ajoute au schema par le coller return(paste(document_xml, position)); } /** @param to_paste Rectangle englobant les parties a coller */ void ElementView::getPasteArea(const QRectF &to_paste) { // on copie le rectangle fourni - on s'interesse a ses dimensions, pas a sa position QRectF used_rect(to_paste); // on lui attribue pour centre l'origine du repere if (underMouse()) { used_rect.moveCenter(mapToScene(mapFromGlobal(QCursor::pos()))); } else { used_rect.moveCenter(QPointF(0.0, 0.0)); } scene_ -> getPasteArea(used_rect); } /** Slot appele lorsque la scene annonce avoir defini une zone de collage @param target_rect Rectangle cible pour le collage */ ElementContent ElementView::pasteAreaDefined(const QRectF &target_rect) { if (to_paste_in_area_.isEmpty()) return(ElementContent()); QDomDocument xml_document; if (!xml_document.setContent(to_paste_in_area_)) { to_paste_in_area_.clear(); return(ElementContent()); } else { return(paste(xml_document, target_rect.topLeft())); } } /** Colle le document XML xml_document a la position pos @param xml_document Document XML a coller @param pos Coin superieur gauche du rectangle cible */ ElementContent ElementView::paste(const QDomDocument &xml_document, const QPointF &pos) { // objet pour recuperer le contenu ajoute au schema par le coller ElementContent content_pasted; scene_ -> fromXml(xml_document, pos, false, &content_pasted); // si quelque chose a effectivement ete ajoute au schema, on cree un objet d'annulation if (content_pasted.count()) { scene_ -> clearSelection(); PastePartsCommand *undo_object = new PastePartsCommand(this, content_pasted); scene_ -> undoStack().push(undo_object); } return(content_pasted); } /** Colle le document XML xml_document a la position pos @param xml_document Document XML a coller */ ElementContent ElementView::pasteWithOffset(const QDomDocument &xml_document) { // objet pour recuperer le contenu ajoute au schema par le coller ElementContent content_pasted; // rectangle source QRectF pasted_content_bounding_rect = scene_ -> boundingRectFromXml(xml_document); if (pasted_content_bounding_rect.isEmpty()) return(content_pasted); // copier/coller avec decalage ++ offset_paste_count_; if (offset_paste_count_ == 1) { start_top_left_corner_ = pasted_content_bounding_rect.topLeft(); } else { pasted_content_bounding_rect.moveTopLeft(start_top_left_corner_); } // on applique le decalage qui convient QRectF final_pasted_content_bounding_rect = applyMovement( pasted_content_bounding_rect, QETElementEditor::pasteMovement(), QETElementEditor::pasteOffset() ); QPointF old_start_top_left_corner_ = start_top_left_corner_; start_top_left_corner_ = final_pasted_content_bounding_rect.topLeft(); scene_ -> fromXml(xml_document, start_top_left_corner_, false, &content_pasted); // si quelque chose a effectivement ete ajoute au schema, on cree un objet d'annulation if (content_pasted.count()) { scene_ -> clearSelection(); PastePartsCommand *undo_object = new PastePartsCommand(this, content_pasted); undo_object -> setOffset(offset_paste_count_ - 1, old_start_top_left_corner_, offset_paste_count_, start_top_left_corner_); scene_ -> undoStack().push(undo_object); } return(content_pasted); } /** Gere les clics sur la vue - permet de coller lorsaue l'on enfonce le bouton du milieu de la souris. @param e QMouseEvent decrivant l'evenement souris */ void ElementView::mousePressEvent(QMouseEvent *e) { if (e -> buttons() & Qt::MidButton) { paste(mapToScene(e -> pos())); } QGraphicsView::mousePressEvent(e); } /** Gere les actions liees a la rollette de la souris @param e QWheelEvent decrivant l'evenement rollette */ void ElementView::wheelEvent(QWheelEvent *e) { // si la touche Ctrl est enfoncee, on zoome / dezoome if (e -> modifiers() & Qt::ControlModifier) { if (e -> delta() > 0) { zoomIn(); } else { zoomOut(); } } else { QAbstractScrollArea::wheelEvent(e); } } /** Dessine l'arriere-plan de l'editeur, cad la grille. @param p Le QPainter a utiliser pour dessiner @param r Le rectangle de la zone a dessiner */ void ElementView::drawBackground(QPainter *p, const QRectF &r) { p -> save(); // desactive tout antialiasing, sauf pour le texte p -> setRenderHint(QPainter::Antialiasing, false); p -> setRenderHint(QPainter::TextAntialiasing, true); p -> setRenderHint(QPainter::SmoothPixmapTransform, false); // dessine un fond blanc p -> setPen(Qt::NoPen); p -> setBrush(Qt::white); p -> drawRect(r); // encadre la zone dessinable de l'element QRectF drawable_area(-scene_ -> hotspot().x(), -scene_ -> hotspot().y(), scene_ -> width(), scene_ -> height()); p -> setPen(Qt::black); p -> setBrush(Qt::NoBrush); p -> drawRect(drawable_area); // determine le zoom en cours qreal zoom_factor = matrix().m11(); // choisit la granularite de la grille en fonction du zoom en cours int drawn_x_grid = scene_ -> xGrid(); int drawn_y_grid = scene_ -> yGrid(); bool draw_grid = true; bool draw_cross = false; if (zoom_factor < (4.0/3.0)) { // pas de grille du tout draw_grid = false; } else if (zoom_factor < 4.0) { // grille a 10 px drawn_x_grid *= 10; drawn_y_grid *= 10; } else if (zoom_factor < 6.0) { // grille a 2 px (avec croix) drawn_x_grid *= 2; drawn_y_grid *= 2; draw_cross = true; } else { // grille a 1 px (avec croix) draw_cross = true; } if (draw_grid) { // dessine les points de la grille p -> setPen(Qt::black); p -> setBrush(Qt::NoBrush); qreal limite_x = r.x() + r.width(); qreal limite_y = r.y() + r.height(); int g_x = (int)ceil(r.x()); while (g_x % drawn_x_grid) ++ g_x; int g_y = (int)ceil(r.y()); while (g_y % drawn_y_grid) ++ g_y; for (int gx = g_x ; gx < limite_x ; gx += drawn_x_grid) { for (int gy = g_y ; gy < limite_y ; gy += drawn_y_grid) { if (draw_cross) { if (!(gx % 10) && !(gy % 10)) { p -> drawLine(QLineF(gx - 0.25, gy, gx + 0.25, gy)); p -> drawLine(QLineF(gx, gy - 0.25, gx, gy + 0.25)); } else { p -> drawPoint(gx, gy); } } else { p -> drawPoint(gx, gy); } } } } p -> restore(); } /** Applique le decalage offset dans le sens movement au rectangle start @param start rectangle a decaler @param movement Orientation du decalage a appliquer @param offset Decalage a appliquer */ QRectF ElementView::applyMovement(const QRectF &start, const QET::OrientedMovement &movement, const QPointF &offset) { // calcule le decalage a appliquer a partir de l'offset indique et du mouvement QPointF final_offset; if (movement == QET::ToNorthEast || movement == QET::ToEast || movement == QET::ToSouthEast) { final_offset.rx() = start.width() + offset.x(); } else if (movement == QET::ToNorthWest || movement == QET::ToWest || movement == QET::ToSouthWest) { final_offset.rx() = -start.width() - offset.x(); } if (movement == QET::ToNorthWest || movement == QET::ToNorth || movement == QET::ToNorthEast) { final_offset.ry() = -start.height() - offset.y(); } else if (movement == QET::ToSouthWest || movement == QET::ToSouth || movement == QET::ToSouthEast) { final_offset.ry() = start.height() + offset.y(); } // applique le decalage ainsi calcule return(start.translated(final_offset)); } qelectrotech-0.22+svn897/sources/editor/partrectangle.h0000644000175000017500000000403211337103436023054 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PART_RECTANGLE_H #define PART_RECTANGLE_H #include #include "customelementgraphicpart.h" /** Cette classe represente un rectangle pouvant etre utilise pour composer le dessin d'un element dans l'editeur d'element. */ class PartRectangle : public QGraphicsRectItem, public CustomElementGraphicPart { // constructeurs, destructeur public: PartRectangle(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartRectangle(); private: PartRectangle(const PartRectangle &); // methodes public: enum { Type = UserType + 1109 }; /** permet de caster un QGraphicsItem en PartRectangle avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); virtual QString name() const { return(QObject::tr("rectangle", "element part name")); } virtual QString xmlName() const { return(QString("rect")); } virtual const QDomElement toXml(QDomDocument &) const; virtual void fromXml(const QDomElement &); virtual QPointF sceneTopLeft() const; virtual QRectF boundingRect() const; virtual void setProperty(const QString &, const QVariant &); virtual QVariant property(const QString &); virtual bool isUseless() const; protected: QVariant itemChange(GraphicsItemChange, const QVariant &); }; #endif qelectrotech-0.22+svn897/sources/editor/partline.cpp0000644000175000017500000004153311337103436022401 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "partline.h" #include /** Constructeur @param editor L'editeur d'element concerne @param parent Le QGraphicsItem parent de cette ligne @param scene La scene sur laquelle figure cette ligne */ PartLine::PartLine(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsLineItem(parent, scene), CustomElementGraphicPart(editor), first_end(QET::None), first_length(1.5), second_end(QET::None), second_length(1.5) { setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); #endif setAcceptedMouseButtons(Qt::LeftButton); } /// Destructeur PartLine::~PartLine() { } /** @param end_type Type d'extremite @return Le nombre de "longueurs" requises pour dessiner une extremite de type end_type */ uint PartLine::requiredLengthForEndType(const QET::EndType &end_type) { uint length_count_required = 0; if (end_type == QET::Circle || end_type == QET::Diamond) { length_count_required = 2; } else if (end_type == QET::Simple || end_type == QET::Triangle) { length_count_required = 1; } return(length_count_required); } /** Dessine la ligne @param painter QPainter a utiliser pour rendre le dessin @param options Options pour affiner le rendu @param widget Widget sur lequel le rendu est effectue */ void PartLine::paint(QPainter *painter, const QStyleOptionGraphicsItem *options, QWidget *widget) { Q_UNUSED(widget); // inutile de dessiner une ligne nulle if (line().p1() == line().p2()) return; applyStylesToQPainter(*painter); QPen t = painter -> pen(); t.setJoinStyle(Qt::MiterJoin); t.setCosmetic(options && options -> levelOfDetail < 1.0); if (isSelected()) { t.setColor(Qt::red); } painter -> setPen(t); QPointF point1(line().p1()); QPointF point2(line().p2()); qreal line_length(line().length()); qreal pen_width = painter -> pen().widthF(); qreal length1 = first_length; qreal length2 = second_length; //debugPaint(painter); // determine s'il faut dessiner les extremites bool draw_1st_end, draw_2nd_end; qreal reduced_line_length = line_length - (length1 * requiredLengthForEndType(first_end)); draw_1st_end = first_end && reduced_line_length >= 0; if (draw_1st_end) { reduced_line_length -= (length2 * requiredLengthForEndType(second_end)); } else { reduced_line_length = line_length - (length2 * requiredLengthForEndType(second_end)); } draw_2nd_end = second_end && reduced_line_length >= 0; // dessine la premiere extremite QPointF start_point, stop_point; if (draw_1st_end) { QList four_points1(fourEndPoints(point1, point2, length1)); if (first_end == QET::Circle) { painter -> drawEllipse(QRectF(four_points1[0] - QPointF(length1, length1), QSizeF(length1 * 2.0, length1 * 2.0))); start_point = four_points1[1]; } else if (first_end == QET::Diamond) { painter -> drawPolygon(QPolygonF() << four_points1[1] << four_points1[2] << point1 << four_points1[3]); start_point = four_points1[1]; } else if (first_end == QET::Simple) { painter -> drawPolyline(QPolygonF() << four_points1[3] << point1 << four_points1[2]); start_point = point1; } else if (first_end == QET::Triangle) { painter -> drawPolygon(QPolygonF() << four_points1[0] << four_points1[2] << point1 << four_points1[3]); start_point = four_points1[0]; } // ajuste le depart selon l'epaisseur du trait if (pen_width && (first_end == QET::Simple || first_end == QET::Circle)) { start_point = QLineF(start_point, point2).pointAt(pen_width / 2.0 / line_length); } } else { start_point = point1; } // dessine la seconde extremite if (draw_2nd_end) { QList four_points2(fourEndPoints(point2, point1, length2)); if (second_end == QET::Circle) { painter -> drawEllipse(QRectF(four_points2[0] - QPointF(length2, length2), QSizeF(length2 * 2.0, length2 * 2.0))); stop_point = four_points2[1]; } else if (second_end == QET::Diamond) { painter -> drawPolygon(QPolygonF() << four_points2[2] << point2 << four_points2[3] << four_points2[1]); stop_point = four_points2[1]; } else if (second_end == QET::Simple) { painter -> drawPolyline(QPolygonF() << four_points2[3] << point2 << four_points2[2]); stop_point = point2; } else if (second_end == QET::Triangle) { painter -> drawPolygon(QPolygonF() << four_points2[0] << four_points2[2] << point2 << four_points2[3] << four_points2[0]); stop_point = four_points2[0]; } // ajuste l'arrivee selon l'epaisseur du trait if (pen_width && (second_end == QET::Simple || second_end == QET::Circle)) { stop_point = QLineF(point1, stop_point).pointAt((line_length - (pen_width / 2.0)) / line_length); } } else { stop_point = point2; } painter -> drawLine(start_point, stop_point); } /** Exporte la ligne en XML @param xml_document Document XML a utiliser pour creer l'element XML @return un element XML decrivant la ligne */ const QDomElement PartLine::toXml(QDomDocument &xml_document) const { QPointF p1(sceneP1()); QPointF p2(sceneP2()); QDomElement xml_element = xml_document.createElement("line"); xml_element.setAttribute("x1", QString("%1").arg(p1.x())); xml_element.setAttribute("y1", QString("%1").arg(p1.y())); xml_element.setAttribute("x2", QString("%1").arg(p2.x())); xml_element.setAttribute("y2", QString("%1").arg(p2.y())); xml_element.setAttribute("end1", QET::endTypeToString(first_end)); xml_element.setAttribute("length1", QString("%1").arg(first_length)); xml_element.setAttribute("end2", QET::endTypeToString(second_end)); xml_element.setAttribute("length2", QString("%1").arg(second_length)); stylesToXml(xml_element); return(xml_element); } /** Importe les proprietes d'une ligne depuis un element XML @param qde Element XML a lire */ void PartLine::fromXml(const QDomElement &qde) { stylesFromXml(qde); setLine( QLineF( mapFromScene( qde.attribute("x1", "0").toDouble(), qde.attribute("y1", "0").toDouble() ), mapFromScene( qde.attribute("x2", "0").toDouble(), qde.attribute("y2", "0").toDouble() ) ) ); first_end = QET::endTypeFromString(qde.attribute("end1")); first_length = qde.attribute("length1", "1.5").toDouble(); second_end = QET::endTypeFromString(qde.attribute("end2")); second_length = qde.attribute("length2", "1.5").toDouble(); } /** Specifie la valeur d'une propriete donnee de la ligne @param property propriete a modifier. Valeurs acceptees : * x1 : abscisse du premier point * y1 : ordonnee du second point * x2 : abscisse du premier point * y2 : ordonnee du second point *end1 : type d'embout du premier point *end2 : type d'embout du second point @param value Valeur a attribuer a la propriete */ void PartLine::setProperty(const QString &property, const QVariant &value) { CustomElementGraphicPart::setProperty(property, value); if (!value.canConvert(QVariant::Double)) return; QPointF new_p1(sceneP1()), new_p2(sceneP2()); bool setline = true; if (property == "x1") { new_p1.setX(value.toDouble()); } else if (property == "y1") { new_p1.setY(value.toDouble()); } else if (property == "x2") { new_p2.setX(value.toDouble()); } else if (property == "y2") { new_p2.setY(value.toDouble()); } else { setline = false; if (property == "end1") { setFirstEndType(static_cast(value.toUInt())); } else if (property == "end2") { setSecondEndType(static_cast(value.toUInt())); } else if (property == "length1") { setFirstEndLength(value.toDouble()); } else if (property == "length2") { setSecondEndLength(value.toDouble()); } } if (setline) setLine(QLineF(mapFromScene(new_p1), mapFromScene(new_p2))); update(); } /** Permet d'acceder a la valeur d'une propriete donnee de la ligne @param property propriete lue. Valeurs acceptees : * x1 : abscisse du premier point * y1 : ordonnee du second point * x2 : abscisse du premier point * y2 : ordonnee du second point @return La valeur de la propriete property */ QVariant PartLine::property(const QString &property) { // appelle la methode property de CustomElementGraphicpart pour les styles QVariant style_property = CustomElementGraphicPart::property(property); if (style_property != QVariant()) return(style_property); if (property == "x1") { return(sceneP1().x()); } else if (property == "y1") { return(sceneP1().y()); } else if (property == "x2") { return(sceneP2().x()); } else if (property == "y2") { return(sceneP2().y()); } else if (property == "end1") { return(firstEndType()); } else if (property == "end2") { return(secondEndType()); } else if (property == "length1") { return(firstEndLength()); } else if (property == "length2") { return(secondEndLength()); } return(QVariant()); } /** Gere les changements intervenant sur cette partie @param change Type de changement @param value Valeur numerique relative au changement */ QVariant PartLine::itemChange(GraphicsItemChange change, const QVariant &value) { if (scene()) { if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemPositionHasChanged) { updateCurrentPartEditor(); } } return(QGraphicsLineItem::itemChange(change, value)); } /** @return le premier point, dans les coordonnees de la scene. */ QPointF PartLine::sceneP1() const { return(mapToScene(line().p1())); } /** @return le second point, dans les coordonnees de la scene. */ QPointF PartLine::sceneP2() const { return(mapToScene(line().p2())); } /** @return la forme selectionnable de la ligne */ QPainterPath PartLine::shape() const { QList points = fourShapePoints(); QPainterPath t; t.setFillRule(Qt::WindingFill); t.moveTo(points.at(0)); t.lineTo(points.at(1)); t.lineTo(points.at(2)); t.lineTo(points.at(3)); t.lineTo(points.at(0)); // n'en fait pas plus si la ligne se ramene a un point if (line().p1() == line().p2()) return(t); // ajoute un cercle pour l'extremite 1 si besoin if (first_end) { QPainterPath t2; t2.addEllipse(firstEndCircleRect()); t.addPath(t2.subtracted(t)); } // ajoute un cercle pour l'extremite 2 si besoin if (second_end) { QPainterPath t2; t2.addEllipse(secondEndCircleRect()); t.addPath(t2.subtracted(t)); } return(t); } /** @return une liste contenant les deux points de la droite + les 4 points entourant ces deux points */ QList PartLine::fourShapePoints() const { const qreal marge = 2.0; // on a donc A(xa , ya) et B(xb, yb) QPointF a = line().p1(); QPointF b = line().p2(); QList result; // cas particulier : la droite se ramene a un point if (a == b) { result << QPointF(a.x() - marge, a.y() - marge); result << QPointF(a.x() - marge, a.y() + marge); result << QPointF(a.x() + marge, a.y() + marge); result << QPointF(a.x() + marge, a.y() - marge); } else { // on calcule le vecteur AB : (xb-xa, yb-ya) QPointF v_ab = b - a; // et la distance AB : racine des coordonnees du vecteur au carre qreal ab = sqrt(pow(v_ab.x(), 2) + pow(v_ab.y(), 2)); // ensuite on definit le vecteur u(a, b) qui est egal au vecteur AB divise // par sa longueur et multiplie par la longueur de la marge que tu veux // laisser QPointF u = v_ab / ab * marge; // on definit le vecteur v(-b , a) qui est perpendiculaire a AB QPointF v(-u.y(), u.x()); QPointF m = -u + v; // on a le vecteur M = -u + v QPointF n = -u - v; // et le vecteur N=-u-v QPointF h = a + m; // H = A + M QPointF k = a + n; // K = A + N QPointF i = b - n; // I = B - N QPointF j = b - m; // J = B - M result << h << i << j << k; } return(result); } /** @return le rectangle encadrant l'integralite de la premiere extremite */ QRectF PartLine::firstEndCircleRect() const { QList interesting_points = fourEndPoints( line().p1(), line().p2(), first_length ); QRectF end_rect( interesting_points[0] - QPointF(first_length, first_length), QSizeF(2.0 * first_length, 2.0 * first_length) ); return(end_rect); } /** @return le rectangle encadrant l'integralite de la seconde extremite */ QRectF PartLine::secondEndCircleRect() const { QList interesting_points = fourEndPoints( line().p2(), line().p1(), second_length ); QRectF end_rect( interesting_points[0] - QPointF(second_length, second_length), QSizeF(2.0 * second_length, 2.0 * second_length) ); return(end_rect); } /** Affiche differentes composantes du dessin : - le boundingRect - les point speciaux a chaque extremite - la quadrature du cercle a chaque extremite, meme si celle-ci est d'un autre type */ void PartLine::debugPaint(QPainter *painter) { painter -> save(); painter -> setPen(Qt::gray); painter -> drawRect(boundingRect()); painter -> setPen(Qt::green); painter -> drawRect(firstEndCircleRect()); painter -> drawRect(secondEndCircleRect()); painter -> setPen(Qt::red); foreach(QPointF pointy, fourEndPoints(line().p1(), line().p2(), first_length)) { painter -> drawEllipse(pointy, 0.1, 0.1); } foreach(QPointF pointy, fourEndPoints(line().p2(), line().p1(), second_length)) { painter -> drawEllipse(pointy, 0.1, 0.1); } painter -> restore(); } /** @return le rectangle delimitant cette partie. */ QRectF PartLine::boundingRect() const { QRectF r(QGraphicsLineItem::boundingRect()); // le rectangle ainsi obtenu ne doit pas avoir une dimension nulle r.adjust(0.0, 0.0, 0.1, 0.1); // cas special : les embouts sortent largement du bounding rect originel if (first_end != QET::None) { r = r.united(firstEndCircleRect()); } if (second_end != QET::None) { r = r.united(secondEndCircleRect()); } // la taille du bounding rect est ajustee avec une certaine marge qreal adjust = 1.2; r.adjust(-adjust, -adjust, adjust, adjust); return(r); } /** @return true si cette partie n'est pas pertinente et ne merite pas d'etre conservee / enregistree. Une ligne est pertinente des lors que ses deux points sont differents */ bool PartLine::isUseless() const { return(sceneP1() == sceneP2()); } /** @param end_type nouveau type d'embout pour l'extremite 1 */ void PartLine::setFirstEndType(const QET::EndType &end_type) { first_end = end_type; } /** @return le type d'embout pour l'extremite 1 */ QET::EndType PartLine::firstEndType() const { return(first_end); } /** @param end_type Nouveau type d'embout pour l'extremite 2 */ void PartLine::setSecondEndType(const QET::EndType &end_type) { second_end = end_type; } /** @return le type d'embout pour l'extremite 2 */ QET::EndType PartLine::secondEndType() const { return(second_end); } /** @return Les quatre points interessants a l'extremite d'une droite Ces points sont, dans l'ordre : * O : point sur la ligne, a une distance length de l'extremite * A : point sur la ligne a une distance 2 x length de l'extremite * B : point a une distance length de O - O est le projete de B sur la droite * C : point a une distance length de O - O est le projete de C sur la droite B et C sont situes de part et d'autre de la ligne @param end_point Extremite concernee @param other_point Autre point permettant de definir une ligne @param length Longueur a utiliser entre l'extremite et le point O */ QList PartLine::fourEndPoints(const QPointF &end_point, const QPointF &other_point, const qreal &length) { // vecteur et longueur de la ligne QPointF line_vector = end_point - other_point; qreal line_length = sqrt(pow(line_vector.x(), 2) + pow(line_vector.y(), 2)); // vecteur unitaire et vecteur perpendiculaire QPointF u(line_vector / line_length * length); QPointF v(-u.y(), u.x()); // points O, A, B et C QPointF o(end_point - u); QPointF a(o - u); QPointF b(o + v); QPointF c(o - v); return(QList() << o << a << b << c); } /** @param length nouvelle longueur de la premiere extremite la longueur de l'extemite ne peut exceder celle de la ligne */ void PartLine::setFirstEndLength(const qreal &length) { first_length = qMin(qAbs(length), line().length()); } /** @return longueur de la premiere extremite */ qreal PartLine::firstEndLength() const { return(first_length); } /** @param length nouvelle longueur de la seconde extremite la longueur de l'extemite ne peut exceder celle de la ligne */ void PartLine::setSecondEndLength(const qreal &length) { second_length = qMin(qAbs(length), line().length()); } /** @return longueur de la seconde extremite */ qreal PartLine::secondEndLength() const { return(second_length); } qelectrotech-0.22+svn897/sources/editor/customelementgraphicpart.cpp0000644000175000017500000001537611337103436025702 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "customelementgraphicpart.h" /** Ecrit les attributs de style dans un element XML @param qde L'element XML a modifier */ void CustomElementGraphicPart::stylesToXml(QDomElement &qde) const { QString css_like_styles; css_like_styles += "line-style:"; if (_linestyle == DashedStyle) css_like_styles += "dashed"; else if (_linestyle == NormalStyle) css_like_styles += "normal"; css_like_styles += ";line-weight:"; if (_lineweight == NoneWeight) css_like_styles += "none"; else if (_lineweight == ThinWeight) css_like_styles += "thin"; else if (_lineweight == NormalWeight) css_like_styles += "normal"; css_like_styles += ";filling:"; if (_filling == NoneFilling) css_like_styles += "none"; else if (_filling == BlackFilling) css_like_styles += "black"; else if (_filling == WhiteFilling) css_like_styles += "white"; css_like_styles += ";color:"; if (_color == WhiteColor) css_like_styles += "white"; else if (_color == BlackColor) css_like_styles += "black"; qde.setAttribute("style", css_like_styles); qde.setAttribute("antialias", _antialiased ? "true" : "false"); } /** Lit les attributs de style depuis un element XML @param qde L'element XML a analyser */ void CustomElementGraphicPart::stylesFromXml(const QDomElement &qde) { resetStyles(); // recupere la liste des couples style / valeur QStringList styles = qde.attribute("style").split(";", QString::SkipEmptyParts); // analyse chaque couple QRegExp rx("^\\s*([a-z-]+)\\s*:\\s*([a-z-]+)\\s*$"); foreach (QString style, styles) { if (!rx.exactMatch(style)) continue; QString style_name = rx.cap(1); QString style_value = rx.cap(2); if (style_name == "line-style") { if (style_value == "dashed") _linestyle = DashedStyle; else if (style_value == "normal") _linestyle = NormalStyle; // il n'y a pas de else car les valeurs non conformes sont ignorees (idem par la suite) } else if (style_name == "line-weight") { if (style_value == "thin") _lineweight = ThinWeight; else if (style_value == "normal") _lineweight = NormalWeight; else if (style_value == "none") _lineweight = NoneWeight; } else if (style_name == "filling") { if (style_value == "white") _filling = WhiteFilling; else if (style_value == "black") _filling = BlackFilling; else if (style_value == "none") _filling = NoneFilling; } else if (style_name == "color") { if (style_value == "black") _color = BlackColor; else if (style_value == "white") _color = WhiteColor; } } // recupere l'antialiasing _antialiased = qde.attribute("antialias") == "true"; } /** Remet les styles par defaut */ void CustomElementGraphicPart::resetStyles() { _linestyle = NormalStyle; _lineweight = NormalWeight; _filling = NoneFilling; _color = BlackColor; _antialiased = false; } /** Applique les styles a un Qpainter @param painter QPainter a modifier */ void CustomElementGraphicPart::applyStylesToQPainter(QPainter &painter) const { // recupere le QPen et la QBrush du QPainter QPen pen = painter.pen(); QBrush brush = painter.brush(); // applique le style de trait if (_linestyle == DashedStyle) pen.setStyle(Qt::DashLine); else if (_linestyle == NormalStyle) pen.setStyle(Qt::SolidLine); // applique l'epaisseur de trait if (_lineweight == NoneWeight) pen.setColor(QColor(0, 0, 0, 0)); else if (_lineweight == ThinWeight) pen.setWidth(0); else if (_lineweight == NormalWeight) pen.setWidthF(1.0); // applique le remplissage if (_filling == NoneFilling) { brush.setStyle(Qt::NoBrush); } else if (_filling == BlackFilling) { brush.setStyle(Qt::SolidPattern); brush.setColor(Qt::black); } else if (_filling == WhiteFilling) { brush.setStyle(Qt::SolidPattern); brush.setColor(Qt::white); } // applique la couleur de trait if (_color == WhiteColor) pen.setColor(QColor(255, 255, 255, pen.color().alpha())); else if (_color == BlackColor) pen.setColor(QColor( 0, 0, 0, pen.color().alpha())); // applique l'antialiasing painter.setRenderHint(QPainter::Antialiasing, _antialiased); painter.setRenderHint(QPainter::TextAntialiasing, _antialiased); painter.setRenderHint(QPainter::SmoothPixmapTransform, _antialiased); painter.setPen(pen); painter.setBrush(brush); } /** Specifie la valeur d'une propriete de style donnee. @param property propriete a modifier. Valeurs acceptees : * line-style : type de trait (@see LineStyle) * line-weight : epaisseur du traut (@see LineWeight) * filling : couleur de remplissage (@see Color) * color : couleur du trait (@see Color) * antialias : utiliser l'antialiasing ou non (booleen) @param value Valeur a attribuer a la propriete */ void CustomElementGraphicPart::setProperty(const QString &property, const QVariant &value) { bool change_made = false; if (property == "line-style") { setLineStyle(static_cast(value.toInt())); change_made = true; } else if (property == "line-weight") { setLineWeight(static_cast(value.toInt())); change_made = true; } else if (property == "filling") { setFilling(static_cast(value.toInt())); change_made = true; } else if (property == "color") { setColor(static_cast(value.toInt())); change_made = true; } else if (property == "antialias") { setAntialiased(value.toBool()); change_made = true; } } /** Permet d'acceder a la valeur d'une propriete de style donnee. @param property propriete lue. Valeurs acceptees : * line-style : type de trait (@see LineStyle) * line-weight : epaisseur du traut (@see LineWeight) * filling : couleur de remplissage (@see Color) * color : couleur du trait (@see Color) * antialias : utiliser l'antialiasing ou non (booleen) @return La valeur de la propriete property */ QVariant CustomElementGraphicPart::property(const QString &property) { if (property == "line-style") { return(lineStyle()); } else if (property == "line-weight") { return(lineWeight()); } else if (property == "filling") { return(filling()); } else if (property == "color") { return(color()); } else if (property == "antialias") { return(antialiased()); } return(QVariant()); } qelectrotech-0.22+svn897/sources/editor/qetelementeditor.cpp0000644000175000017500000015401111346777326024150 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qetelementeditor.h" #include "qet.h" #include "qetapp.h" #include "elementscene.h" #include "elementview.h" #include "customelementpart.h" #include "newelementwizard.h" #include "elementitemeditor.h" #include "elementdefinition.h" #include "elementdialog.h" #include "recentfiles.h" #include "qeticons.h" #include "qetmessagebox.h" // editeurs de primitives #include "arceditor.h" #include "circleeditor.h" #include "ellipseeditor.h" #include "lineeditor.h" #include "polygoneditor.h" #include "rectangleeditor.h" #include "terminaleditor.h" #include "texteditor.h" #include "textfieldeditor.h" /* Nombre maximum de primitives affichees par la "liste des parties" Au-dela, un petit message est affiche, indiquant que ce nombre a ete depasse et que la liste ne sera donc pas mise a jour. */ #define QET_MAX_PARTS_IN_ELEMENT_EDITOR_LIST 200 /** Constructeur @param parent QWidget parent */ QETElementEditor::QETElementEditor(QWidget *parent) : QMainWindow(parent), read_only(false), min_title(tr("QElectroTech - \311diteur d'\351l\351ment", "window title")), opened_from_file(false) { setWindowTitle(min_title); setWindowIcon(QET::Icons::QETLogo); setupInterface(); setupActions(); setupMenus(); // la fenetre est maximisee par defaut setMinimumSize(QSize(500, 350)); setWindowState(Qt::WindowMaximized); // lecture des parametres readSettings(); slot_updateMenus(); // affichage show(); } /// Destructeur QETElementEditor::~QETElementEditor() { /* retire le widget d'edition de primitives affiche par le dock cela evite qu'il ne soit supprime par son widget parent */ clearToolsDock(); // supprime les editeurs de primitives qDeleteAll(editors_.begin(), editors_.end()); editors_.clear(); } /** @param el Le nouvel emplacement de l'element edite */ void QETElementEditor::setLocation(const ElementsLocation &el) { location_ = el; opened_from_file = false; // modifie le mode lecture seule si besoin ElementsCollectionItem *item = QETApp::collectionItem(location_); bool must_be_read_only = item && !item -> isWritable(); if (isReadOnly() != must_be_read_only) { setReadOnly(must_be_read_only); } slot_updateTitle(); } /** @param fn Le nouveau nom de fichier de l'element edite */ void QETElementEditor::setFileName(const QString &fn) { filename_ = fn; opened_from_file = true; // modifie le mode lecture seule si besoin bool must_be_read_only = !QFileInfo(filename_).isWritable(); if (isReadOnly() != must_be_read_only) { setReadOnly(must_be_read_only); } slot_updateTitle(); } /** Met en place les actions */ void QETElementEditor::setupActions() { new_element = new QAction(QET::Icons::DocumentNew, tr("&Nouveau"), this); open = new QAction(QET::Icons::DocumentOpen, tr("&Ouvrir"), this); open_file = new QAction(QET::Icons::DocumentOpen, tr("&Ouvrir depuis un fichier"), this); save = new QAction(QET::Icons::DocumentSave, tr("&Enregistrer"), this); save_as = new QAction(QET::Icons::DocumentSaveAs, tr("Enregistrer sous"), this); save_as_file = new QAction(QET::Icons::DocumentSaveAs, tr("Enregistrer dans un fichier"), this); reload = new QAction(QET::Icons::ViewRefresh, tr("Recharger"), this); quit = new QAction(QET::Icons::ApplicationExit, tr("&Quitter"), this); selectall = new QAction(QET::Icons::EditSelectAll, tr("Tout s\351lectionner"), this); deselectall = new QAction( tr("D\351s\351lectionner tout"), this); cut = new QAction(QET::Icons::EditCut, tr("Co&uper"), this); copy = new QAction(QET::Icons::EditCopy, tr("Cop&ier"), this); paste = new QAction(QET::Icons::EditPaste, tr("C&oller"), this); paste_in_area = new QAction(QET::Icons::EditPaste, tr("C&oller dans la zone..."), this); paste_from_file = new QAction(QET::Icons::XmlTextFile, tr("un fichier"), this); paste_from_elmt = new QAction(QET::Icons::Element, tr("un \351l\351ment"), this); inv_select = new QAction( tr("Inverser la s\351lection"), this); edit_delete = new QAction(QET::Icons::EditDelete, tr("&Supprimer"), this); zoom_in = new QAction(QET::Icons::ZoomIn, tr("Zoom avant"), this); zoom_out = new QAction(QET::Icons::ZoomOut, tr("Zoom arri\350re"), this); zoom_fit = new QAction(QET::Icons::ZoomFitBest, tr("Zoom adapt\351"), this); zoom_reset = new QAction(QET::Icons::ZoomOriginal, tr("Pas de zoom"), this); edit_size_hs = new QAction(QET::Icons::HotSpot, tr("\311diter la taille et le point de saisie"), this); edit_names = new QAction(QET::Icons::Names, tr("\311diter les noms"), this); edit_ori = new QAction(QET::Icons::Orientations, tr("\311diter les orientations"), this); edit_author = new QAction(QET::Icons::UserInformations, tr("\311diter les informations sur l'auteur"), this); edit_raise = new QAction(QET::Icons::Raise, tr("Rapprocher"), this); edit_lower = new QAction(QET::Icons::Lower, tr("\311loigner"), this); edit_backward = new QAction(QET::Icons::SendBackward, tr("Envoyer au fond"), this); edit_forward = new QAction(QET::Icons::BringForward, tr("Amener au premier plan"), this); move = new QAction(QET::Icons::PartSelect, tr("D\351placer un objet"), this); add_line = new QAction(QET::Icons::PartLine, tr("Ajouter une ligne"), this); add_rectangle = new QAction(QET::Icons::PartRectangle, tr("Ajouter un rectangle"), this); add_ellipse = new QAction(QET::Icons::PartEllipse, tr("Ajouter une ellipse"), this); add_circle = new QAction(QET::Icons::PartCircle, tr("Ajouter un cercle"), this); add_polygon = new QAction(QET::Icons::PartPolygon, tr("Ajouter un polygone"), this); add_text = new QAction(QET::Icons::PartText, tr("Ajouter du texte"), this); add_arc = new QAction(QET::Icons::PartArc, tr("Ajouter un arc de cercle"), this); add_terminal = new QAction(QET::Icons::Terminal, tr("Ajouter une borne"), this); add_textfield = new QAction(QET::Icons::PartTextField, tr("Ajouter un champ de texte"), this); fullscreen = new QAction(this); slot_updateFullScreenAction(); configure = new QAction(QET::Icons::Configure, tr("&Configurer QElectroTech"), this); about_qet = new QAction(QET::Icons::QETLogo, tr("\300 &propos de QElectroTech"), this); about_qt = new QAction(QET::Icons::QtLogo, tr("\300 propos de &Qt"), this); QString add_status_tip = tr("Maintenez la touche Shift enfonc\351e pour effectuer plusieurs ajouts d'affil\351e"); add_line -> setStatusTip(add_status_tip); add_rectangle -> setStatusTip(add_status_tip); add_ellipse -> setStatusTip(add_status_tip); add_circle -> setStatusTip(add_status_tip); add_text -> setStatusTip(add_status_tip); add_arc -> setStatusTip(add_status_tip); add_terminal -> setStatusTip(add_status_tip); add_textfield -> setStatusTip(add_status_tip); add_polygon -> setStatusTip(tr("Utilisez le bouton droit de la souris pour poser le dernier point du polygone")); configure -> setStatusTip(tr("Permet de r\351gler diff\351rents param\350tres de QElectroTech", "status bar tip")); about_qet -> setStatusTip(tr("Affiche des informations sur QElectroTech", "status bar tip")); about_qt -> setStatusTip(tr("Affiche des informations sur la biblioth\350que Qt", "status bar tip")); undo = ce_scene -> undoStack().createUndoAction(this, tr("Annuler")); redo = ce_scene -> undoStack().createRedoAction(this, tr("Refaire")); undo -> setIcon(QET::Icons::EditUndo); redo -> setIcon(QET::Icons::EditRedo); undo -> setShortcuts(QKeySequence::Undo); redo -> setShortcuts(QKeySequence::Redo); new_element -> setShortcut(QKeySequence::New); open -> setShortcut(QKeySequence::Open); open_file -> setShortcut(tr("Ctrl+Shift+O")); save -> setShortcut(QKeySequence::Save); save_as_file -> setShortcut(tr("Ctrl+Shift+S")); reload -> setShortcut(Qt::Key_F5); quit -> setShortcut(QKeySequence(tr("Ctrl+Q"))); selectall -> setShortcut(QKeySequence::SelectAll); deselectall -> setShortcut(QKeySequence(tr("Ctrl+Shift+A"))); inv_select -> setShortcut(QKeySequence(tr("Ctrl+I"))); cut -> setShortcut(QKeySequence::Cut); copy -> setShortcut(QKeySequence::Copy); paste -> setShortcut(QKeySequence::Paste); paste_in_area -> setShortcut(tr("Ctrl+Shift+V")); #ifndef Q_WS_MAC edit_delete -> setShortcut(QKeySequence(Qt::Key_Delete)); #else edit_delete -> setShortcut(QKeySequence(tr("Backspace"))); #endif zoom_in -> setShortcut(QKeySequence::ZoomIn); zoom_out -> setShortcut(QKeySequence::ZoomOut); zoom_fit -> setShortcut(QKeySequence(tr("Ctrl+9"))); zoom_reset -> setShortcut(QKeySequence(tr("Ctrl+0"))); fullscreen -> setShortcut(QKeySequence(tr("Ctrl+Shift+F"))); edit_names -> setShortcut(QKeySequence(tr("Ctrl+E"))); edit_size_hs -> setShortcut(QKeySequence(tr("Ctrl+R"))); edit_ori -> setShortcut(QKeySequence(tr("Ctrl+T"))); edit_author -> setShortcut(tr("Ctrl+Y")); edit_raise -> setShortcut(QKeySequence(tr("Ctrl+Shift+Up"))); edit_lower -> setShortcut(QKeySequence(tr("Ctrl+Shift+Down"))); edit_backward -> setShortcut(QKeySequence(tr("Ctrl+Shift+End"))); edit_forward -> setShortcut(QKeySequence(tr("Ctrl+Shift+Home"))); QETApp *qet_app = QETApp::instance(); connect(new_element, SIGNAL(triggered()), this, SLOT(slot_new())); connect(open, SIGNAL(triggered()), this, SLOT(slot_open())); connect(open_file, SIGNAL(triggered()), this, SLOT(slot_openFile())); connect(save, SIGNAL(triggered()), this, SLOT(slot_save())); connect(save_as, SIGNAL(triggered()), this, SLOT(slot_saveAs())); connect(save_as_file, SIGNAL(triggered()), this, SLOT(slot_saveAsFile())); connect(reload, SIGNAL(triggered()), this, SLOT(slot_reload())); connect(quit, SIGNAL(triggered()), this, SLOT(close())); connect(selectall, SIGNAL(triggered()), ce_scene, SLOT(slot_selectAll())); connect(deselectall, SIGNAL(triggered()), ce_scene, SLOT(slot_deselectAll())); connect(inv_select, SIGNAL(triggered()), ce_scene, SLOT(slot_invertSelection())); connect(cut, SIGNAL(triggered()), ce_view, SLOT(cut())); connect(copy, SIGNAL(triggered()), ce_view, SLOT(copy())); connect(paste, SIGNAL(triggered()), ce_view, SLOT(paste())); connect(paste_in_area, SIGNAL(triggered()), ce_view, SLOT(pasteInArea())); connect(paste_from_file, SIGNAL(triggered()), this, SLOT(pasteFromFile())); connect(paste_from_elmt, SIGNAL(triggered()), this, SLOT(pasteFromElement())); connect(zoom_in, SIGNAL(triggered()), ce_view, SLOT(zoomIn())); connect(zoom_out, SIGNAL(triggered()), ce_view, SLOT(zoomOut())); connect(zoom_fit, SIGNAL(triggered()), ce_view, SLOT(zoomFit())); connect(zoom_reset, SIGNAL(triggered()), ce_view, SLOT(zoomReset())); connect(edit_delete, SIGNAL(triggered()), ce_scene, SLOT(slot_delete())); connect(edit_size_hs, SIGNAL(triggered()), ce_scene, SLOT(slot_editSizeHotSpot())); connect(edit_names, SIGNAL(triggered()), ce_scene, SLOT(slot_editNames())); connect(fullscreen, SIGNAL(triggered()), this, SLOT(toggleFullScreen())); connect(configure, SIGNAL(triggered()), qet_app, SLOT(configureQET())); connect(edit_ori, SIGNAL(triggered()), ce_scene, SLOT(slot_editOrientations())); connect(edit_author, SIGNAL(triggered()), ce_scene, SLOT(slot_editAuthorInformations())); connect(edit_forward, SIGNAL(triggered()), ce_scene, SLOT(slot_bringForward())); connect(edit_raise, SIGNAL(triggered()), ce_scene, SLOT(slot_raise())); connect(edit_lower, SIGNAL(triggered()), ce_scene, SLOT(slot_lower())); connect(edit_backward, SIGNAL(triggered()), ce_scene, SLOT(slot_sendBackward())); connect(move, SIGNAL(triggered()), ce_scene, SLOT(slot_move())); connect(add_line, SIGNAL(triggered()), ce_scene, SLOT(slot_addLine())); connect(add_rectangle, SIGNAL(triggered()), ce_scene, SLOT(slot_addRectangle())); connect(add_ellipse, SIGNAL(triggered()), ce_scene, SLOT(slot_addEllipse())); connect(add_circle, SIGNAL(triggered()), ce_scene, SLOT(slot_addCircle())); connect(add_polygon, SIGNAL(triggered()), ce_scene, SLOT(slot_addPolygon())); connect(add_text, SIGNAL(triggered()), ce_scene, SLOT(slot_addText())); connect(add_arc, SIGNAL(triggered()), ce_scene, SLOT(slot_addArc())); connect(add_terminal, SIGNAL(triggered()), ce_scene, SLOT(slot_addTerminal())); connect(add_textfield, SIGNAL(triggered()), ce_scene, SLOT(slot_addTextField())); connect(move, SIGNAL(triggered()), this, SLOT(slot_setRubberBandToView())); connect(add_line, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView())); connect(add_rectangle, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView())); connect(add_ellipse, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView())); connect(add_circle, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView())); connect(add_polygon, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView())); connect(add_text, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView())); connect(add_arc, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView())); connect(add_terminal, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView())); connect(add_textfield, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView())); connect(about_qet, SIGNAL(triggered()), qet_app, SLOT(aboutQET())); connect(about_qt, SIGNAL(triggered()), qet_app, SLOT(aboutQt())); connect(ce_scene, SIGNAL(needNormalMode()), this, SLOT(slot_setNormalMode())); move -> setCheckable(true); add_line -> setCheckable(true); add_rectangle -> setCheckable(true); add_ellipse -> setCheckable(true); add_circle -> setCheckable(true); add_polygon -> setCheckable(true); add_text -> setCheckable(true); add_arc -> setCheckable(true); add_terminal -> setCheckable(true); add_textfield -> setCheckable(true); parts = new QActionGroup(this); parts -> addAction(move); parts -> addAction(add_line); parts -> addAction(add_rectangle); parts -> addAction(add_ellipse); parts -> addAction(add_circle); parts -> addAction(add_polygon); parts -> addAction(add_arc); parts -> addAction(add_text); parts -> addAction(add_textfield); parts -> addAction(add_terminal); parts -> setExclusive(true); parts_toolbar = new QToolBar(tr("Parties", "toolbar title"), this); parts_toolbar -> setObjectName("parts"); foreach (QAction *action, parts -> actions()) parts_toolbar -> addAction(action); move -> setChecked(true); parts_toolbar -> setAllowedAreas(Qt::AllToolBarAreas); /* QAction *xml_preview = new QAction(QET::Icons::DialogInformation, tr("XML"), this); connect(xml_preview, SIGNAL(triggered()), this, SLOT(xmlPreview())); parts_toolbar -> addAction(xml_preview); */ main_toolbar = new QToolBar(tr("Outils", "toolbar title"), this); main_toolbar -> setObjectName("main_toolbar"); view_toolbar = new QToolBar(tr("Affichage", "toolbar title"), this); view_toolbar -> setObjectName("display"); element_toolbar = new QToolBar(tr("\311l\351ment", "toolbar title"), this); element_toolbar -> setObjectName("element_toolbar"); depth_toolbar = new QToolBar(tr("Profondeur", "toolbar title"), this); depth_toolbar -> setObjectName("depth_toolbar"); main_toolbar -> addAction(new_element); main_toolbar -> addAction(open); main_toolbar -> addAction(save); main_toolbar -> addAction(save_as); main_toolbar -> addAction(reload); main_toolbar -> addSeparator(); main_toolbar -> addAction(undo); main_toolbar -> addAction(redo); main_toolbar -> addSeparator(); main_toolbar -> addAction(edit_delete); view_toolbar -> addAction(zoom_in); view_toolbar -> addAction(zoom_out); view_toolbar -> addAction(zoom_fit); view_toolbar -> addAction(zoom_reset); element_toolbar -> addAction(edit_size_hs); element_toolbar -> addAction(edit_names); element_toolbar -> addAction(edit_ori); depth_toolbar -> addAction(edit_forward); depth_toolbar -> addAction(edit_raise); depth_toolbar -> addAction(edit_lower); depth_toolbar -> addAction(edit_backward); addToolBar(Qt::TopToolBarArea, main_toolbar); addToolBar(Qt::TopToolBarArea, view_toolbar); addToolBar(Qt::TopToolBarArea, element_toolbar); addToolBar(Qt::TopToolBarArea, depth_toolbar); addToolBar(Qt::LeftToolBarArea, parts_toolbar); connect(ce_scene, SIGNAL(selectionChanged()), this, SLOT(slot_updateInformations())); connect(ce_scene, SIGNAL(selectionChanged()), this, SLOT(slot_updateMenus())); connect(QApplication::clipboard(), SIGNAL(dataChanged()), this, SLOT(slot_updateMenus())); connect(&(ce_scene -> undoStack()), SIGNAL(cleanChanged(bool)), this, SLOT(slot_updateMenus())); connect(&(ce_scene -> undoStack()), SIGNAL(cleanChanged(bool)), this, SLOT(slot_updateTitle())); // Annuler ou refaire une action met a jour la liste des primitives ; cela sert notamment pour les // ajouts et suppressions de primitives ainsi que pour les actions entrainant un change connect(&(ce_scene -> undoStack()), SIGNAL(indexChanged(int)), this, SLOT(slot_updatePartsList())); // Annuler ou refaire une action met a jour les informations affichees sur les primitives selectionnees, // celles-ci etant potentiellement impactees connect(&(ce_scene -> undoStack()), SIGNAL(indexChanged(int)), this, SLOT(slot_updateInformations())); } /** Met en place les menus. */ void QETElementEditor::setupMenus() { file_menu = new QMenu(tr("&Fichier"), this); edit_menu = new QMenu(tr("&\311dition"), this); display_menu = new QMenu(tr("Afficha&ge"), this); tools_menu = new QMenu(tr("O&utils"), this); config_menu = new QMenu(tr("&Configuration"), this); help_menu = new QMenu(tr("&Aide"), this); file_menu -> setTearOffEnabled(true); edit_menu -> setTearOffEnabled(true); display_menu -> setTearOffEnabled(true); tools_menu -> setTearOffEnabled(true); config_menu -> setTearOffEnabled(true); help_menu -> setTearOffEnabled(true); file_menu -> addAction(new_element); file_menu -> addAction(open); file_menu -> addAction(open_file); file_menu -> addMenu(QETApp::elementsRecentFiles() -> menu()); connect(QETApp::elementsRecentFiles(), SIGNAL(fileOpeningRequested(const QString &)), this, SLOT(openRecentFile(const QString &))); file_menu -> addAction(save); file_menu -> addAction(save_as); file_menu -> addAction(save_as_file); file_menu -> addSeparator(); file_menu -> addAction(reload); file_menu -> addSeparator(); file_menu -> addAction(quit); paste_from_menu = new QMenu(tr("Coller depuis...")); paste_from_menu -> setIcon(QET::Icons::EditPaste); paste_from_menu -> addAction(paste_from_file); paste_from_menu -> addAction(paste_from_elmt); edit_menu -> addAction(undo); edit_menu -> addAction(redo); edit_menu -> addSeparator(); edit_menu -> addAction(selectall); edit_menu -> addAction(deselectall); edit_menu -> addAction(inv_select); edit_menu -> addSeparator(); edit_menu -> addAction(cut); edit_menu -> addAction(copy); edit_menu -> addAction(paste); edit_menu -> addAction(paste_in_area); edit_menu -> addMenu(paste_from_menu); edit_menu -> addSeparator(); edit_menu -> addAction(edit_delete); edit_menu -> addSeparator(); edit_menu -> addAction(edit_names); edit_menu -> addAction(edit_size_hs); edit_menu -> addAction(edit_ori); edit_menu -> addAction(edit_author); edit_menu -> addSeparator(); edit_menu -> addAction(edit_forward); edit_menu -> addAction(edit_raise); edit_menu -> addAction(edit_lower); edit_menu -> addAction(edit_backward); display_menu -> addAction(zoom_in); display_menu -> addAction(zoom_out); display_menu -> addAction(zoom_fit); display_menu -> addAction(zoom_reset); // menu Configurer > Afficher QMenu *display_toolbars = createPopupMenu(); display_toolbars -> setTearOffEnabled(true); display_toolbars -> setTitle(tr("Afficher")); config_menu -> addMenu(display_toolbars); config_menu -> addAction(fullscreen); config_menu -> addAction(configure); help_menu -> addAction(about_qet); help_menu -> addAction(about_qt); menuBar() -> addMenu(file_menu); menuBar() -> addMenu(edit_menu); menuBar() -> addMenu(display_menu); //menuBar() -> addMenu(tools_menu); menuBar() -> addMenu(config_menu); menuBar() -> addMenu(help_menu); } /** Met a jour les menus */ void QETElementEditor::slot_updateMenus() { bool selected_items = !read_only && !ce_scene -> selectedItems().isEmpty(); bool clipboard_elmt = !read_only && ElementScene::clipboardMayContainElement(); // actions dependant seulement de l'etat "lecture seule" de l'editeur foreach (QAction *action, parts -> actions()) { action -> setEnabled(!read_only); } selectall -> setEnabled(!read_only); inv_select -> setEnabled(!read_only); paste_from_file -> setEnabled(!read_only); paste_from_elmt -> setEnabled(!read_only); parts_list -> setEnabled(!read_only); // actions dependant de la presence de parties selectionnees deselectall -> setEnabled(selected_items); cut -> setEnabled(selected_items); copy -> setEnabled(selected_items); edit_delete -> setEnabled(selected_items); edit_forward -> setEnabled(selected_items); edit_raise -> setEnabled(selected_items); edit_lower -> setEnabled(selected_items); edit_backward -> setEnabled(selected_items); // actions dependant du contenu du presse-papiers paste -> setEnabled(clipboard_elmt); paste_in_area -> setEnabled(clipboard_elmt); // actions dependant de l'etat de la pile d'annulation save -> setEnabled(!read_only && !ce_scene -> undoStack().isClean()); undo -> setEnabled(!read_only && ce_scene -> undoStack().canUndo()); redo -> setEnabled(!read_only && ce_scene -> undoStack().canRedo()); slot_updateFullScreenAction(); } /** Gere l'action permettant de passer en plein ecran ou d'en sortir */ void QETElementEditor::slot_updateFullScreenAction() { if (windowState() & Qt::WindowFullScreen) { fullscreen -> setText(tr("Sortir du &mode plein \351cran")); fullscreen -> setIcon(QET::Icons::FullScreenExit); fullscreen -> setStatusTip(tr("Affiche QElectroTech en mode fen\352tr\351", "status bar tip")); } else { fullscreen -> setText(tr("Passer en &mode plein \351cran")); fullscreen -> setIcon(QET::Icons::FullScreenEnter); fullscreen -> setStatusTip(tr("Affiche QElectroTech en mode plein \351cran", "status bar tip")); } } /** Met a jour le titre de la fenetre */ void QETElementEditor::slot_updateTitle() { QString title = min_title; title += " - " + ce_scene -> names().name() + " "; if (!filename_.isEmpty() || !location_.isNull()) { if (!ce_scene -> undoStack().isClean()) title += tr("[Modifi\351]", "window title tag"); } if (isReadOnly()) title += tr(" [lecture seule]", "window title tag"); setWindowTitle(title); } /** Met en place l'interface */ void QETElementEditor::setupInterface() { // editeur ce_scene = new ElementScene(this, this); ce_scene -> slot_move(); ce_view = new ElementView(ce_scene, this); slot_setRubberBandToView(); setCentralWidget(ce_view); // widget par defaut dans le QDockWidget default_informations = new QLabel(); // ScrollArea pour accueillir un widget d'edition (change a la volee) tools_dock_scroll_area_ = new QScrollArea(); tools_dock_scroll_area_ -> setFrameStyle(QFrame::NoFrame); tools_dock_scroll_area_ -> setAlignment(Qt::AlignHCenter|Qt::AlignTop); // Pile de widgets pour accueillir les deux widgets precedents tools_dock_stack_ = new QStackedWidget(); tools_dock_stack_ -> insertWidget(0, default_informations); tools_dock_stack_ -> insertWidget(1, tools_dock_scroll_area_); // widgets d'editions pour les parties editors_["arc"] = new ArcEditor(this); editors_["circle"] = new CircleEditor(this); editors_["ellipse"] = new EllipseEditor(this); editors_["line"] = new LineEditor(this); editors_["polygon"] = new PolygonEditor(this); editors_["rect"] = new RectangleEditor(this); editors_["terminal"] = new TerminalEditor(this); editors_["text"] = new TextEditor(this); editors_["input"] = new TextFieldEditor(this); // panel sur le cote pour editer les parties tools_dock = new QDockWidget(tr("Informations", "dock title"), this); tools_dock -> setObjectName("informations"); tools_dock -> setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); tools_dock -> setFeatures(QDockWidget::AllDockWidgetFeatures); tools_dock -> setMinimumWidth(380); addDockWidget(Qt::RightDockWidgetArea, tools_dock); tools_dock -> setWidget(tools_dock_stack_); // panel sur le cote pour les annulations undo_dock = new QDockWidget(tr("Annulations", "dock title"), this); undo_dock -> setObjectName("undo"); undo_dock -> setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); undo_dock -> setFeatures(QDockWidget::AllDockWidgetFeatures); undo_dock -> setMinimumWidth(290); addDockWidget(Qt::RightDockWidgetArea, undo_dock); QUndoView* undo_view = new QUndoView(&(ce_scene -> undoStack()), this); undo_view -> setEmptyLabel(tr("Aucune modification")); undo_dock -> setWidget(undo_view); // panel sur le cote pour la liste des parties parts_list = new QListWidget(this); parts_list -> setSelectionMode(QAbstractItemView::ExtendedSelection); connect(ce_scene, SIGNAL(partsAdded()), this, SLOT(slot_createPartsList())); connect(ce_scene, SIGNAL(partsRemoved()), this, SLOT(slot_createPartsList())); connect(ce_scene, SIGNAL(partsZValueChanged()), this, SLOT(slot_createPartsList())); connect(ce_scene, SIGNAL(selectionChanged()), this, SLOT(slot_updatePartsList())); connect(parts_list, SIGNAL(itemSelectionChanged()), this, SLOT(slot_updateSelectionFromPartsList())); parts_dock = new QDockWidget(tr("Parties", "dock title"), this); parts_dock -> setObjectName("parts_list"); parts_dock -> setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); parts_dock -> setFeatures(QDockWidget::AllDockWidgetFeatures); parts_dock -> setMinimumWidth(290); tabifyDockWidget(undo_dock, parts_dock); parts_dock -> setWidget(parts_list); slot_updateInformations(); slot_createPartsList(); // barre d'etat statusBar() -> showMessage(tr("\311diteur d'\351l\351ments", "status bar message")); } /** Passe l'editeur d'element en mode selection : le pointeur deplace les elements selectionnes et il est possible d'utiliser un rectangle de selection. */ void QETElementEditor::slot_setRubberBandToView() { ce_view -> setDragMode(QGraphicsView::RubberBandDrag); } /** Passe l'editeur d'element en mode immobile (utilise pour la lecture seule) */ void QETElementEditor::slot_setNoDragToView() { ce_view -> setDragMode(QGraphicsView::NoDrag); } /** Passe l'editeur en mode normal */ void QETElementEditor::slot_setNormalMode() { if (!move -> isChecked()) move -> setChecked(true); ce_view -> setDragMode(QGraphicsView::RubberBandDrag); ce_scene -> slot_move(); } /** Met a jour la zone d'information et d'edition des primitives. Si plusieurs primitives sont selectionnees, seule leur quantite est affichee. Sinon, un widget d'edition approprie est mis en place. */ void QETElementEditor::slot_updateInformations() { QList selected_qgis = ce_scene -> selectedItems(); clearToolsDock(); // s'il n'y a qu'une seule primitive selectionnee if (selected_qgis.size() == 1) { QGraphicsItem *qgi = selected_qgis.first(); if (CustomElementPart *selection = dynamic_cast(qgi)) { // on en ajoute le widget d'edition QString selection_xml_name = selection -> xmlName(); ElementItemEditor *selection_editor = editors_[selection_xml_name]; if (selection_editor) { if (selection_editor -> setPart(selection)) { tools_dock_scroll_area_ -> setWidget(selection_editor); tools_dock_stack_ -> setCurrentIndex(1); } else { qDebug() << "Editor refused part."; } } } } else { default_informations -> setText( tr( "%n partie(s) s\351lectionn\351e(s).", "", selected_qgis.size() ) ); default_informations -> setAlignment(Qt::AlignHCenter | Qt::AlignTop); tools_dock_stack_ -> setCurrentIndex(0); } } /** Affiche le code XML correspondant a l'element dans son etat actuel dans une boite de dialogue. */ void QETElementEditor::xmlPreview() { QET::MessageBox::information( this, "Export XML", ce_scene -> toXml().toString(4) ); } /** Effectue diverses verifications sur l'element et en informe l'utilisateur. @return true si la situation est ok, false sinon */ bool QETElementEditor::checkElement() { // liste les avertissements applicables typedef QPair QETWarning; QList warnings; /// Avertissement #1 : si les parties semblent deborder du cadre de l'element if (!ce_scene -> borderContainsEveryParts()) { warnings << qMakePair( tr("Dimensions de l'\351l\351ment", "warning title"), tr( "Certaines parties graphiques (textes, cercles, lignes...) " "semblent d\351border du cadre de l'\351l\351ment. Cela " "risque de g\351n\351rer des bugs graphiques lors de leur " "manipulation sur un sch\351ma. Vous pouvez corriger cela soit " "en d\351pla\347ant ces parties, soit en vous rendant dans " "\311dition > \311diter la taille et le point de saisie.", "warning description" ) ); } /// Avertissement #2 : si l'element ne comporte aucune borne if (!ce_scene -> containsTerminals()) { warnings << qMakePair( tr("Absence de borne", "warning title"), tr( "L'\351l\351ment ne comporte aucune borne. Un \351l\351ment " "doit comporter des bornes afin de pouvoir \351tre reli\351 " "\340 d'autres \351l\351ments par l'interm\351diaire de " "conducteurs.", "warning description" ) ); } if (!warnings.count()) return(true); // affiche les avertissements QString warning_message = tr( "La v\351rification de cet \351l\351ment a g\351n\351r\351 %n avertissement(s)\240:", "message box content", warnings.count() ); warning_message += "
    "; foreach(QETWarning warning, warnings) { warning_message += "
  1. "; warning_message += QString( tr("%1\240: %2", "warning title: warning description") ).arg(warning.first).arg(warning.second); warning_message += "
  2. "; } warning_message += "
"; QMessageBox warnings_message_box(this); warnings_message_box.setWindowModality(Qt::WindowModal); warnings_message_box.setWindowFlags(warnings_message_box.windowFlags() | Qt::Sheet); warnings_message_box.setTextFormat(Qt::RichText); warnings_message_box.setWindowTitle(tr("Avertissements", "messagebox title")); warnings_message_box.setText(warning_message); warnings_message_box.exec(); return(false); } /** Charge un fichier @param filepath Chemin du fichier a charger */ void QETElementEditor::fromFile(const QString &filepath) { bool state = true; QString error_message; // le fichier doit exister QFileInfo infos_file(filepath); if (!infos_file.exists() || !infos_file.isFile()) { state = false; error_message = QString(tr("Le fichier %1 n'existe pas.", "message box content")).arg(filepath); } // le fichier doit etre lisible QFile file(filepath); if (state) { if (!file.open(QIODevice::ReadOnly)) { state = false; error_message = QString(tr("Impossible d'ouvrir le fichier %1.", "message box content")).arg(filepath); } } // le fichier doit etre un document XML QDomDocument document_xml; if (state) { if (!document_xml.setContent(&file)) { state = false; error_message = tr("Ce fichier n'est pas un document XML valide", "message box content"); } file.close(); } if (!state) { QET::MessageBox::critical(this, tr("Erreur", "toolbar title"), error_message); return; } // chargement de l'element ce_scene -> fromXml(document_xml); slot_createPartsList(); // gestion de la lecture seule if (!infos_file.isWritable()) { QET::MessageBox::warning( this, tr("\311dition en lecture seule", "message box title"), tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content") ); setReadOnly(true); } else { setReadOnly(false); } // memorise le fichier setFileName(filepath); QETApp::elementsRecentFiles() -> fileWasOpened(filepath); slot_updateMenus(); } /** Enregistre l'element vers un fichier @param fn Chemin du fichier a enregistrer @return true en cas de reussite, false sinon */ bool QETElementEditor::toFile(const QString &fn) { QFile file(fn); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { QET::MessageBox::warning(this, tr("Erreur", "message box title"), tr("Impossible d'\351crire dans ce fichier", "message box content")); return(false); } QTextStream out(&file); out.setCodec("UTF-8"); out << ce_scene -> toXml().toString(4); file.close(); return(true); } /** Enregistre l'element vers un emplacement @param location Emplacement de l'element a enregistrer @return true en cas de reussite, false sinon */ bool QETElementEditor::toLocation(const ElementsLocation &location) { ElementsCollectionItem *item = QETApp::collectionItem(location); ElementDefinition *element; if (item) { // l'element existe deja element = qobject_cast(item); } else { // l'element n'existe pas encore, on demande sa creation element = QETApp::createElement(location); } if (!element) { QET::MessageBox::critical( this, tr("Erreur", "message box title"), tr("Impossible d'atteindre l'\351l\351ment", "message box content") ); return(false); } // enregistre l'element element -> setXml(ce_scene -> toXml().documentElement()); if (!element -> write()) { QET::MessageBox::critical( this, tr("Erreur", "message box title"), tr("Impossible d'enregistrer l'\351l\351ment", "message box content") ); return(false); } return(true); } /** @param provided_location Emplacement d'un element @return true si cet editeur est en train d'editer l'element dont l'emplacement est location, false sinon */ bool QETElementEditor::isEditing(const ElementsLocation &provided_location) { if (opened_from_file) { return( QET::compareCanonicalFilePaths( filename_, QETApp::realPath(provided_location.toString()) ) ); } else { return(provided_location == location_); } } /** @param provided_filepath Chemin d'un element sur un filesystem @return true si cet editeur est en train d'editer l'element dont le chemin est filepath, false sinon */ bool QETElementEditor::isEditing(const QString &provided_filepath) { // determine le chemin canonique de l'element actuelle edite, si applicable QString current_filepath; if (opened_from_file) { current_filepath = filename_; } else { current_filepath = QETApp::realPath(location_.toString()); } return( QET::compareCanonicalFilePaths( current_filepath, provided_filepath ) ); } /** specifie si l'editeur d'element doit etre en mode lecture seule @param ro true pour activer le mode lecture seule, false pour le desactiver */ void QETElementEditor::setReadOnly(bool ro) { read_only = ro; // active / desactive les interactions avec la scene ce_view -> setInteractive(!ro); slot_updateMenus(); } /** @return true si l'editeur d'element est en mode lecture seule */ bool QETElementEditor::isReadOnly() const { return(read_only); } /** Lance l'assistant de creation d'un nouvel element. */ void QETElementEditor::slot_new() { NewElementWizard new_element_wizard(this); new_element_wizard.exec(); } /** Ouvre un element */ void QETElementEditor::slot_open() { // demande le chemin virtuel de l'element a ouvrir a l'utilisateur ElementsLocation location = ElementDialog::getOpenElementLocation(this); if (location.isNull()) return; QETApp::instance() -> openElementLocations(QList() << location); } /** Ouvre un fichier Demande un fichier a l'utilisateur et ouvre ce fichier */ void QETElementEditor::slot_openFile() { // repertoire a afficher initialement dans le dialogue QString open_dir = filename_.isEmpty() ? QETApp::customElementsDir() : QDir(filename_).absolutePath(); // demande un nom de fichier a ouvrir a l'utilisateur QString user_filename = QETElementEditor::getOpenElementFileName(this, open_dir); // ouvre l'element openElement(user_filename); } /** Slot utilise pour ouvrir un fichier recent. Transfere filepath au slot openElement seulement si cet editeur est actif @param filepath Fichier a ouvrir @see openElement */ void QETElementEditor::openRecentFile(const QString &filepath) { if (qApp -> activeWindow() != this) return; openElement(filepath); } /** Ouvre un fichier element dans un nouvel editeur Cette methode ne controle pas si le fichier est deja ouvert @param filepath Fichier a ouvrir @see fromFile @see QETApp::openElementFiles */ void QETElementEditor::openElement(const QString &filepath) { if (filepath.isEmpty()) return; QETApp::instance() -> openElementFiles(QStringList() << filepath); } /** Recharge l'element edite */ void QETElementEditor::slot_reload() { // s'il ya des modifications, on demande a l'utilisateur s'il est certain // de vouloir recharger if (!ce_scene -> undoStack().isClean()) { QMessageBox::StandardButton answer = QET::MessageBox::question( this, tr("Recharger l'\351l\351ment", "dialog title"), tr("Vous avez efffectu\351 des modifications sur cet \351l\351ment. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'\351l\351ment ?", "dialog content"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::Cancel ); if (answer != QMessageBox::Yes) return; } // recharge l'element if (opened_from_file) { // l'element a ete ouvert a partir d'un chemin de fichier ce_scene -> reset(); fromFile(filename_); } else { // l'element a ete ouvert a partir d'un emplacement (ElementsLocation) // il peut s'agir aussi bien d'un fichier que d'un element XML if (ElementsCollectionItem *item = QETApp::collectionItem(location_)) { item -> reload(); ce_scene -> reset(); fromLocation(location_); } } } /** Enregistre l'element en cours d'edition. Si le nom du fichier en cours n'est pas connu, cette methode equivaut a l'action "Enregistrer sous" @see slot_saveAs() */ bool QETElementEditor::slot_save() { // verification avant d'enregistrer le fichier checkElement(); // si on ne connait pas le nom du fichier en cours, enregistrer revient a enregistrer sous if (opened_from_file) { if (filename_.isEmpty()) return(slot_saveAsFile()); // sinon on enregistre dans le nom de fichier connu bool result_save = toFile(filename_); if (result_save) ce_scene -> undoStack().setClean(); return(result_save); } else { if (location_.isNull()) return(slot_saveAs()); // sinon on enregistre a l'emplacement connu bool result_save = toLocation(location_); if (result_save) ce_scene -> undoStack().setClean(); return(result_save); } } /** Demande une localisation a l'utilisateur et enregistre l'element */ bool QETElementEditor::slot_saveAs() { // demande une localisation a l'utilisateur ElementsLocation location = ElementDialog::getSaveElementLocation(this); if (location.isNull()) return(false); // tente l'enregistrement bool result_save = toLocation(location); if (result_save) { setLocation(location); ce_scene -> undoStack().setClean(); } // retourne un booleen representatif de la reussite de l'enregistrement return(result_save); } /** Demande un nom de fichier a l'utilisateur et enregistre l'element */ bool QETElementEditor::slot_saveAsFile() { // demande un nom de fichier a l'utilisateur pour enregistrer l'element QString fn = QFileDialog::getSaveFileName( this, tr("Enregistrer sous", "dialog title"), filename_.isEmpty() ? QETApp::customElementsDir() : QDir(filename_).absolutePath(), tr( "\311l\351ments QElectroTech (*.elmt)", "filetypes allowed when saving an element file" ) ); // si aucun nom n'est entre, renvoie faux. if (fn.isEmpty()) return(false); // si le nom ne se termine pas par l'extension .elmt, celle-ci est ajoutee if (!fn.endsWith(".elmt", Qt::CaseInsensitive)) fn += ".elmt"; // tente d'enregistrer le fichier bool result_save = toFile(fn); // si l'enregistrement reussit, le nom du fichier est conserve if (result_save) { setFileName(fn); QETApp::elementsRecentFiles() -> fileWasOpened(fn); ce_scene -> undoStack().setClean(); } // retourne un booleen representatif de la reussite de l'enregistrement return(result_save); } /** @return true si l'element peut etre ferme. Un element peut etre ferme s'il ne comporte aucune modification. Si l'element comporte des modifications, la question est posee a l'utilisateur. */ bool QETElementEditor::canClose() { if (ce_scene -> undoStack().isClean()) return(true); // demande d'abord a l'utilisateur s'il veut enregistrer l'element en cours QMessageBox::StandardButton answer = QET::MessageBox::question( this, tr("Enregistrer l'\351l\351ment en cours ?", "dialog title"), QString( tr( "Voulez-vous enregistrer l'\351l\351ment %1 ?", "dialog content - %1 is an element name" ) ).arg(ce_scene -> names().name()), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::Cancel ); bool result; switch(answer) { case QMessageBox::Cancel: result = false; break; // l'utilisateur annule : echec de la fermeture case QMessageBox::Yes: result = slot_save(); break; // l'utilisateur dit oui : la reussite depend de l'enregistrement default: result = true; // l'utilisateur dit non ou ferme le dialogue: c'est reussi } return(result); } /** Enleve et cache le widget affiche par le dock permettant d'editer les parties. @return le widget enleve, ou 0 s'il n'y avait pas de widget a enlever */ QWidget *QETElementEditor::clearToolsDock() { if (QWidget *previous_widget = tools_dock_scroll_area_ -> takeWidget()) { previous_widget -> setParent(0); previous_widget -> hide(); return(previous_widget); } return(0); } /** Exporte le document XML xml_document vers le presse-papier puis declenche son collage dans l'editeur courant, avec selection de la zone de collage @param xml_document Document XML a copier/coller @see ElementView::pasteInArea */ void QETElementEditor::copyAndPasteXml(const QDomDocument &xml_document) { // accede au presse-papier QClipboard *clipboard = QApplication::clipboard(); // genere la description XML de la selection QString clipboard_content = xml_document.toString(4); // met la description XML dans le presse-papier if (clipboard -> supportsSelection()) { clipboard -> setText(clipboard_content, QClipboard::Selection); } clipboard -> setText(clipboard_content); ce_view -> pasteInArea(); } /** Permet de quitter l'editeur lors de la fermeture de la fenetre principale @param qce Le QCloseEvent correspondant a l'evenement de fermeture */ void QETElementEditor::closeEvent(QCloseEvent *qce) { if (canClose()) { writeSettings(); setAttribute(Qt::WA_DeleteOnClose); qce -> accept(); } else qce -> ignore(); } /** Gere les evenements du l'editeur d'element Reimplemente ici pour : * mettre a jour l'action permettant d'entrer en mode plein ecran ou d'en sortir @param e Evenement */ bool QETElementEditor::event(QEvent *e) { if (e -> type() == QEvent::WindowStateChange) { slot_updateFullScreenAction(); } return(QMainWindow::event(e)); } /** Remplit la liste des parties */ void QETElementEditor::slot_createPartsList() { parts_list -> blockSignals(true); parts_list -> clear(); QList qgis = ce_scene -> zItems(true); // on ne construit plus la liste a partir de 200 primitives // c'est ingerable : la maj de la liste prend trop de temps et le resultat // est inexploitable if (qgis.count() <= QET_MAX_PARTS_IN_ELEMENT_EDITOR_LIST) { for (int j = qgis.count() - 1 ; j >= 0 ; -- j) { QGraphicsItem *qgi = qgis[j]; if (CustomElementPart *cep = dynamic_cast(qgi)) { QString part_desc = cep -> name(); QListWidgetItem *qlwi = new QListWidgetItem(part_desc); QVariant v; v.setValue(qgi); qlwi -> setData(42, v); parts_list -> addItem(qlwi); qlwi -> setSelected(qgi -> isSelected()); } } } else { parts_list -> addItem(new QListWidgetItem(tr("Trop de primitives, liste non g\351n\351r\351e."))); } parts_list -> blockSignals(false); } /** Met a jour la selection dans la liste des parties */ void QETElementEditor::slot_updatePartsList() { int items_count = ce_scene -> items().count(); if (parts_list -> count() != items_count) { slot_createPartsList(); } else if (items_count <= QET_MAX_PARTS_IN_ELEMENT_EDITOR_LIST) { parts_list -> blockSignals(true); int i = 0; QList items = ce_scene -> zItems(true); for (int j = items.count() - 1 ; j >= 0 ; -- j) { QGraphicsItem *qgi = items[j]; QListWidgetItem *qlwi = parts_list -> item(i); if (qlwi) qlwi -> setSelected(qgi -> isSelected()); ++ i; } parts_list -> blockSignals(false); } } /** Met a jour la selection des parties de l'element a partir de la liste des parties */ void QETElementEditor::slot_updateSelectionFromPartsList() { ce_scene -> blockSignals(true); parts_list -> blockSignals(true); for (int i = 0 ; i < parts_list -> count() ; ++ i) { QListWidgetItem *qlwi = parts_list -> item(i); QGraphicsItem *qgi = qlwi -> data(42).value(); if (qgi) { qgi -> setSelected(qlwi -> isSelected()); } } parts_list -> blockSignals(false); ce_scene -> blockSignals(false); slot_updateInformations(); slot_updateMenus(); } /** Fait passer la fenetre du mode plein ecran au mode normal et vice-versa */ void QETElementEditor::toggleFullScreen() { setWindowState(windowState() ^ Qt::WindowFullScreen); } /// Lit les parametres de l'editeur d'element void QETElementEditor::readSettings() { QSettings &settings = QETApp::settings(); // dimensions et position de la fenetre QVariant geometry = settings.value("elementeditor/geometry"); if (geometry.isValid()) restoreGeometry(geometry.toByteArray()); // etat de la fenetre (barres d'outils, docks...) QVariant state = settings.value("elementeditor/state"); if (state.isValid()) restoreState(state.toByteArray()); // informations complementaires de l'element : valeur par defaut ce_scene -> setInformations(settings.value("elementeditor/default-informations", "").toString()); } /// Enregistre les parametres de l'editeur d'element void QETElementEditor::writeSettings() { QSettings &settings = QETApp::settings(); settings.setValue("elementeditor/geometry", saveGeometry()); settings.setValue("elementeditor/state", saveState()); } /** @return les decalages horizontaux et verticaux (sous la forme d'un point) a utiliser lors d'un copier/coller avec decalage. */ QPointF QETElementEditor::pasteOffset() { QPointF paste_offset(5.0, 0.0); return(paste_offset); } /** @return Le type de mouvement a effectuer lors d'un copier/coller avec decalage. */ QET::OrientedMovement QETElementEditor::pasteMovement() { return(QET::ToEast); } /** Demande a l'utilisateur d'ouvrir un fichier sense etre un element. @param parent QWidget parent du dialogue d'ouverture de fichier @param initial_dir Repertoire a afficher initialement - si une chaine vide est fournie, QETApp::customElementsDir() sera utilise. @return Le chemin du fichier choisi ou une chaine vide si l'utilisateur a clique sur le bouton "Annuler". @see QETApp::customElementsDir() */ QString QETElementEditor::getOpenElementFileName(QWidget *parent, const QString &initial_dir) { // demande un nom de fichier a ouvrir a l'utilisateur QString user_filename = QFileDialog::getOpenFileName( parent, tr("Ouvrir un fichier", "dialog title"), initial_dir.isEmpty() ? QETApp::customElementsDir() : initial_dir, tr( "\311l\351ments QElectroTech (*.elmt);;" "Fichiers XML (*.xml);;" "Tous les fichiers (*)", "filetypes allowed when opening an element file" ) ); return(user_filename); } /** @param location Emplacement de l'element a editer */ void QETElementEditor::fromLocation(const ElementsLocation &location) { // l'element doit exister ElementsCollectionItem *item = QETApp::collectionItem(location); ElementDefinition *element = 0; if (!item) { QET::MessageBox::critical( this, tr("\311l\351ment inexistant.", "message box title"), tr("L'\351l\351ment n'existe pas.", "message box content") ); return; } if (!item -> isElement() || !(element = qobject_cast(item)) || element -> isNull()) { QET::MessageBox::critical( this, tr("\311l\351ment inexistant.", "message box title"), tr("Le chemin virtuel choisi ne correspond pas \340 un \351l\351ment.", "message box content") ); return; } // le fichier doit etre un document XML QDomDocument document_xml; QDomNode node = document_xml.importNode(element -> xml(), true); document_xml.appendChild(node); // chargement de l'element ce_scene -> fromXml(document_xml); slot_createPartsList(); // gestion de la lecture seule if (!element -> isWritable()) { QET::MessageBox::warning( this, tr("\311dition en lecture seule", "message box title"), tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content") ); setReadOnly(true); } else { setReadOnly(false); } // memorise le fichier setLocation(location); slot_updateMenus(); } /** Demande un fichier a l'utilisateur, l'ouvre en tant que fichier element, met son contenu dans le presse-papiers, et appelle ElementView::PasteInArea */ void QETElementEditor::pasteFromFile() { // demande le chemin du fichier a ouvrir a l'utilisateur QString element_file_path = getOpenElementFileName(this); if (element_file_path.isEmpty()) return; QString error_message; QDomDocument xml_document; QFile element_file(element_file_path); // le fichier doit etre lisible if (!element_file.open(QIODevice::ReadOnly)) { error_message = QString(tr("Impossible d'ouvrir le fichier %1.", "message box content")).arg(element_file_path); } else { // le fichier doit etre un document XML if (!xml_document.setContent(&element_file)) { error_message = tr("Ce fichier n'est pas un document XML valide", "message box content"); } element_file.close(); } if (!error_message.isEmpty()) { QET::MessageBox::critical(this, tr("Erreur", "toolbar title"), error_message); } copyAndPasteXml(xml_document); } /** Denande un element a l'utilisateur, met son contenu dans le presse-papiers, et appelle ElementView::PasteInArea */ void QETElementEditor::pasteFromElement() { // demande le chemin virtuel de l'element a ouvrir a l'utilisateur ElementsLocation location = ElementDialog::getOpenElementLocation(this); if (location.isNull()) return; // verifie l'existence de l'element choisi ElementsCollectionItem *item = QETApp::collectionItem(location); ElementDefinition *element = 0; if (!item) { QET::MessageBox::critical( this, tr("\311l\351ment inexistant.", "message box title"), tr("L'\351l\351ment n'existe pas.", "message box content") ); return; } if (!item -> isElement() || !(element = qobject_cast(item)) || element -> isNull()) { QET::MessageBox::critical( this, tr("\311l\351ment inexistant.", "message box title"), tr("Le chemin virtuel choisi ne correspond pas \340 un \351l\351ment.", "message box content") ); return; } // creation d'un document XML a partir de la description XML de l'element QDomDocument document_xml; QDomNode node = document_xml.importNode(element -> xml(), true); document_xml.appendChild(node); copyAndPasteXml(document_xml); } /** Met a jour l'editeur de primitive actuellement visible. Si aucun editeur de primitive n'est visible, ce slot ne fait rien. */ void QETElementEditor::updateCurrentPartEditor() { // si aucun widget d'edition n'est affiche, on ne fait rien if (!tools_dock_stack_ -> currentIndex()) return; // s'il y a un widget d'edition affiche, on le met a jour if (ElementItemEditor *current_editor = dynamic_cast(tools_dock_scroll_area_ -> widget())) { current_editor -> updateForm(); } } qelectrotech-0.22+svn897/sources/editor/ellipseeditor.cpp0000644000175000017500000001264311337254100023422 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "ellipseeditor.h" #include "styleeditor.h" #include "partellipse.h" /** Constructeur @param editor L'editeur d'element concerne @param ellipse L'ellipse a editer @param parent le Widget parent */ EllipseEditor::EllipseEditor(QETElementEditor *editor, PartEllipse *ellipse, QWidget *parent) : ElementItemEditor(editor, parent), part(ellipse) { style_ = new StyleEditor(editor); x = new QLineEdit(); y = new QLineEdit(); h = new QLineEdit(); v = new QLineEdit(); x -> setValidator(new QDoubleValidator(x)); y -> setValidator(new QDoubleValidator(y)); h -> setValidator(new QDoubleValidator(h)); v -> setValidator(new QDoubleValidator(v)); QVBoxLayout *v_layout = new QVBoxLayout(this); QGridLayout *grid = new QGridLayout(); grid -> addWidget(new QLabel(tr("Centre : ")), 0, 0); grid -> addWidget(new QLabel("x"), 1, 0, Qt::AlignRight); grid -> addWidget(x, 1, 1); grid -> addWidget(new QLabel("y"), 1, 2); grid -> addWidget(y, 1, 3); grid -> addWidget(new QLabel(tr("Diam\350tres : ")), 2, 0); grid -> addWidget(new QLabel(tr("horizontal :")), 3, 0); grid -> addWidget(h, 3, 1); grid -> addWidget(new QLabel(tr("vertical :")), 4, 0); grid -> addWidget(v, 4, 1); v_layout -> addWidget(style_); v_layout -> addLayout(grid); activeConnections(true); updateForm(); } /// Destructeur EllipseEditor::~EllipseEditor() { } /** Permet de specifier a cet editeur quelle primitive il doit editer. A noter qu'un editeur peut accepter ou refuser d'editer une primitive. L'editeur d'ellipse acceptera d'editer la primitive new_part s'il s'agit d'un objet de la classe PartEllipse. @param new_part Nouvelle primitive a editer @return true si l'editeur a accepter d'editer la primitive, false sinon */ bool EllipseEditor::setPart(CustomElementPart *new_part) { if (!new_part) { part = 0; style_ -> setPart(0); return(true); } if (PartEllipse *part_ellipse = dynamic_cast(new_part)) { part = part_ellipse; style_ -> setPart(part); updateForm(); return(true); } else { return(false); } } /** @return la primitive actuellement editee, ou 0 si ce widget n'en edite pas */ CustomElementPart *EllipseEditor::currentPart() const { return(part); } /** Met a jour l'ellipse a partir des donnees du formulaire */ void EllipseEditor::updateEllipse() { if (!part) return; part -> setProperty("x", x -> text().toDouble()); part -> setProperty("y", y -> text().toDouble()); part -> setProperty("diameter_h", h -> text().toDouble()); part -> setProperty("diameter_v", v -> text().toDouble()); } /// Met a jour l'abscisse du centre de l'ellipse et cree un objet d'annulation void EllipseEditor::updateEllipseX() { addChangePartCommand(tr("abscisse"), part, "x", x -> text().toDouble()); } /// Met a jour l'ordonnee du centre de l'ellipse et cree un objet d'annulation void EllipseEditor::updateEllipseY() { addChangePartCommand(tr("ordonn\351e"), part, "y", y -> text().toDouble()); } /// Met a jour le diametre horizontal de l'ellipse et cree un objet d'annulation void EllipseEditor::updateEllipseH() { addChangePartCommand(tr("diam\350tre horizontal"), part, "diameter_h", h -> text().toDouble()); } /// Met a jour le diametre vertical de l'ellipse et cree un objet d'annulation void EllipseEditor::updateEllipseV() { addChangePartCommand(tr("diam\350tre vertical"), part, "diameter_v", v -> text().toDouble()); } /** Met a jour le formulaire d'edition */ void EllipseEditor::updateForm() { if (!part) return; activeConnections(false); x -> setText(part -> property("x").toString()); y -> setText(part -> property("y").toString()); h -> setText(part -> property("diameter_h").toString()); v -> setText(part -> property("diameter_v").toString()); activeConnections(true); } /** Active ou desactive les connexionx signaux/slots entre les widgets internes. @param active true pour activer les connexions, false pour les desactiver */ void EllipseEditor::activeConnections(bool active) { if (active) { connect(x, SIGNAL(editingFinished()), this, SLOT(updateEllipseX())); connect(y, SIGNAL(editingFinished()), this, SLOT(updateEllipseY())); connect(h, SIGNAL(editingFinished()), this, SLOT(updateEllipseH())); connect(v, SIGNAL(editingFinished()), this, SLOT(updateEllipseV())); } else { disconnect(x, SIGNAL(editingFinished()), this, SLOT(updateEllipseX())); disconnect(y, SIGNAL(editingFinished()), this, SLOT(updateEllipseY())); disconnect(h, SIGNAL(editingFinished()), this, SLOT(updateEllipseH())); disconnect(v, SIGNAL(editingFinished()), this, SLOT(updateEllipseV())); } } qelectrotech-0.22+svn897/sources/editor/partpolygon.h0000644000175000017500000000453211337103436022604 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PART_POLYGON_H #define PART_POLYGON_H #include #include "customelementgraphicpart.h" /** Cette classe represente un polygone pouvant etre utilise pour composer le dessin d'un element dans l'editeur d'element. */ class PartPolygon : public QGraphicsPolygonItem, public CustomElementGraphicPart { // constructeurs, destructeur public: PartPolygon(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartPolygon(); private: PartPolygon(const PartPolygon &); // attributs private: bool closed; // methodes public: enum { Type = UserType + 1105 }; /** permet de caster un QGraphicsItem en PartPolygon avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } virtual QString name() const { return(QObject::tr("polygone", "element part name")); } virtual QString xmlName() const { return(QString("polygon")); } void fromXml(const QDomElement &); const QDomElement toXml(QDomDocument &) const; virtual QRectF boundingRect() const; void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); void setClosed(bool c); bool isClosed() const; void setProperty(const QString &, const QVariant &); virtual QVariant property(const QString &); virtual bool isUseless() const; protected: QVariant itemChange(GraphicsItemChange, const QVariant &); }; /** Specifie si le polygone doit etre ferme @param c true pour un polygone ferme, false sinon */ inline void PartPolygon::setClosed(bool c) { closed = c; } /** Indique si le polygone est ferme @return true si le polygone est ferme, false sinon */ inline bool PartPolygon::isClosed() const { return(closed); } #endif qelectrotech-0.22+svn897/sources/editor/rectangleeditor.h0000644000175000017500000000313511337103436023377 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef RECTANGLE_EDITOR_H #define RECTANGLE_EDITOR_H #include #include "elementitemeditor.h" class PartRectangle; class StyleEditor; /** Cette classe represente le widget d'edition d'un rectangle dans l'editeur d'element. */ class RectangleEditor : public ElementItemEditor { Q_OBJECT //constructeurs, destructeur public: RectangleEditor(QETElementEditor *, PartRectangle * = 0, QWidget * = 0); virtual ~RectangleEditor(); private: RectangleEditor(const RectangleEditor &); // attributs private: PartRectangle *part; StyleEditor *style_; QLineEdit *x, *y, *w, *h; // methodes public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; public slots: void updateRectangle(); void updateRectangleX(); void updateRectangleY(); void updateRectangleW(); void updateRectangleH(); void updateForm(); private: void activeConnections(bool); }; #endif qelectrotech-0.22+svn897/sources/editor/partrectangle.cpp0000644000175000017500000001542711337103436023421 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "partrectangle.h" /** Constructeur @param editor L'editeur d'element concerne @param parent Le QGraphicsItem parent de ce rectangle @param scene La scene sur laquelle figure ce rectangle */ PartRectangle::PartRectangle(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsRectItem(parent, scene), CustomElementGraphicPart(editor) { setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); #endif setAcceptedMouseButtons(Qt::LeftButton); } /// Destructeur PartRectangle::~PartRectangle() { } /** Dessine le rectangle @param painter QPainter a utiliser pour rendre le dessin @param options Options pour affiner le rendu @param widget Widget sur lequel le rendu est effectue */ void PartRectangle::paint(QPainter *painter, const QStyleOptionGraphicsItem *options, QWidget *widget) { Q_UNUSED(widget); applyStylesToQPainter(*painter); QPen t = painter -> pen(); t.setCosmetic(options && options -> levelOfDetail < 1.0); if (isSelected()) { t.setColor(Qt::red); } // force le type de jointures pour les rectangles t.setJoinStyle(Qt::MiterJoin); // force le dessin avec un trait fin si l'une des dimensions du rectangle est nulle if (!rect().width() || !rect().height()) { t.setWidth(0); } painter -> setPen(t); painter -> drawRect(rect()); if (isSelected()) { painter -> setRenderHint(QPainter::Antialiasing, false); painter -> setPen((painter -> brush().color() == QColor(Qt::black) && painter -> brush().isOpaque()) ? Qt::yellow : Qt::blue); QPointF center = rect().center(); painter -> drawLine(QLineF(center.x() - 2.0, center.y(), center.x() + 2.0, center.y())); painter -> drawLine(QLineF(center.x(), center.y() - 2.0, center.x(), center.y() + 2.0)); } } /** Exporte le rectangle en XML @param xml_document Document XML a utiliser pour creer l'element XML @return un element XML decrivant le rectangle */ const QDomElement PartRectangle::toXml(QDomDocument &xml_document) const { QDomElement xml_element = xml_document.createElement("rect"); QPointF top_left(sceneTopLeft()); xml_element.setAttribute("x", QString("%1").arg(top_left.x())); xml_element.setAttribute("y", QString("%1").arg(top_left.y())); xml_element.setAttribute("width", QString("%1").arg(rect().width())); xml_element.setAttribute("height", QString("%1").arg(rect().height())); stylesToXml(xml_element); return(xml_element); } /** Importe les proprietes d'une rectangle depuis un element XML @param qde Element XML a lire */ void PartRectangle::fromXml(const QDomElement &qde) { stylesFromXml(qde); setRect( QRectF( mapFromScene( qde.attribute("x", "0").toDouble(), qde.attribute("y", "0").toDouble() ), QSizeF( qde.attribute("width", "0").toDouble(), qde.attribute("height", "0").toDouble() ) ) ); } /** Specifie la valeur d'une propriete donnee du rectangle @param property propriete a modifier. Valeurs acceptees : * x : abscisse du coin superieur gauche du rectangle * y : ordonnee du coin superieur gauche du rectangle * width : largeur du rectangle * height : hauteur du rectangle @param value Valeur a attribuer a la propriete */ void PartRectangle::setProperty(const QString &property, const QVariant &value) { CustomElementGraphicPart::setProperty(property, value); if (!value.canConvert(QVariant::Double)) return; if (property == "x") { QRectF current_rect = rect(); QPointF current_pos = mapToScene(current_rect.topLeft()); setRect(current_rect.translated(value.toDouble() - current_pos.x(), 0.0)); } else if (property == "y") { QRectF current_rect = rect(); QPointF current_pos = mapToScene(current_rect.topLeft()); setRect(current_rect.translated(0.0, value.toDouble() - current_pos.y())); } else if (property == "width") { qreal new_width = qAbs(value.toDouble()); QRectF current_rect = rect(); current_rect.setWidth(new_width); setRect(current_rect); } else if (property == "height") { qreal new_height = qAbs(value.toDouble()); QRectF current_rect = rect(); current_rect.setHeight(new_height); setRect(current_rect); } update(); } /** Permet d'acceder a la valeur d'une propriete donnee du rectangle @param property propriete lue. Valeurs acceptees : * x : abscisse du coin superieur gauche du rectangle * y : ordonnee du coin superieur gauche du rectangle * width : largeur du rectangle * height : hauteur du rectangle @return La valeur de la propriete property */ QVariant PartRectangle::property(const QString &property) { // appelle la methode property de CustomElementGraphicpart pour les styles QVariant style_property = CustomElementGraphicPart::property(property); if (style_property != QVariant()) return(style_property); if (property == "x") { return(mapToScene(rect().topLeft()).x()); } else if (property == "y") { return(mapToScene(rect().topLeft()).y()); } else if (property == "width") { return(rect().width()); } else if (property == "height") { return(rect().height()); } return(QVariant()); } /** Gere les changements intervenant sur cette partie @param change Type de changement @param value Valeur numerique relative au changement */ QVariant PartRectangle::itemChange(GraphicsItemChange change, const QVariant &value) { if (scene()) { if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemPositionHasChanged) { updateCurrentPartEditor(); } } return(QGraphicsRectItem::itemChange(change, value)); } /** @return le coin superieur gauche du rectangle, dans les coordonnees de la scene. */ QPointF PartRectangle::sceneTopLeft() const { return(mapToScene(rect().topLeft())); } /** @return true si cette partie n'est pas pertinente et ne merite pas d'etre conservee / enregistree. Un rectangle est pertinent des lors que ses dimensions ne sont pas nulles. */ bool PartRectangle::isUseless() const { return(rect().isNull()); } /** @return le rectangle delimitant cette partie. */ QRectF PartRectangle::boundingRect() const { qreal adjust = 1.5; QRectF r(QGraphicsRectItem::boundingRect().normalized()); r.adjust(-adjust, -adjust, adjust, adjust); return(r); } qelectrotech-0.22+svn897/sources/editor/parttext.cpp0000644000175000017500000001555011337103436022436 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "parttext.h" #include "texteditor.h" #include "editorcommands.h" #include "elementscene.h" #include "qetapp.h" /** Constructeur @param editor L'editeur d'element concerne @param parent Le QGraphicsItem parent de ce texte statique @param scene La scene sur laquelle figure ce texte statique */ PartText::PartText(QETElementEditor *editor, QGraphicsItem *parent, ElementScene *scene) : QGraphicsTextItem(parent, scene), CustomElementPart(editor) { setDefaultTextColor(Qt::black); setFont(QETApp::diagramTextsFont()); setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); #endif setPlainText(QObject::tr("T", "default text when adding a text in the element editor")); } /// Destructeur PartText::~PartText() { } /** Importe les proprietes d'un texte statique depuis un element XML @param xml_element Element XML a lire */ void PartText::fromXml(const QDomElement &xml_element) { bool ok; int font_size = xml_element.attribute("size").toInt(&ok); if (!ok || font_size < 1) font_size = 20; setFont(QETApp::diagramTextsFont(font_size)); setPlainText(xml_element.attribute("text")); setPos( xml_element.attribute("x").toDouble(), xml_element.attribute("y").toDouble() ); } /** Exporte le texte statique en XML @param xml_document Document XML a utiliser pour creer l'element XML @return un element XML decrivant le texte statique */ const QDomElement PartText::toXml(QDomDocument &xml_document) const { QDomElement xml_element = xml_document.createElement("text"); xml_element.setAttribute("x", QString("%1").arg((scenePos() + margin()).x())); xml_element.setAttribute("y", QString("%1").arg((scenePos() + margin()).y())); xml_element.setAttribute("text", toPlainText()); xml_element.setAttribute("size", font().pointSize()); return(xml_element); } /** Retourne la position du texte, l'origine etant le point en bas a gauche du texte (et pas du cadre) @return la position du texte */ QPointF PartText::pos() const { return(QGraphicsTextItem::pos() + margin()); } /** Specifie la position du texte statique @param left_corner_pos Nouvelle position */ void PartText::setPos(const QPointF &left_corner_pos) { QGraphicsTextItem::setPos(left_corner_pos - margin()); } /** Specifie la position du texte statique @param x abscisse de la nouvelle position @param y ordonnee de la nouvelle position */ void PartText::setPos(qreal x, qreal y) { QGraphicsTextItem::setPos(QPointF(x, y) - margin()); } /** @return Les coordonnees du point situe en bas a gauche du texte. */ QPointF PartText::margin() const { QFont used_font = font(); QFontMetrics qfm(used_font); QPointF margin( (boundingRect().width () - qfm.width(toPlainText())) / 2.0, ((boundingRect().height() - used_font.pointSizeF()) / 3.0) + used_font.pointSizeF() ); return(margin); } /** Permet a l'element texte de redevenir deplacable a la fin de l'edition de texte @param e Le QFocusEvent decrivant la perte de focus */ void PartText::focusOutEvent(QFocusEvent *e) { QGraphicsTextItem::focusOutEvent(e); if (previous_text != toPlainText()) { undoStack().push( new ChangePartCommand( TextEditor::tr("contenu") + " " + name(), this, "text", previous_text, toPlainText() ) ); previous_text = toPlainText(); } // deselectionne le texte QTextCursor qtc = textCursor(); qtc.clearSelection(); setTextCursor(qtc); setTextInteractionFlags(Qt::NoTextInteraction); setFlag(QGraphicsItem::ItemIsFocusable, false); } /** Permet a l'element texte de devenir editable lorsqu'on double-clique dessus @param e Le QGraphicsSceneMouseEvent qui decrit le double-clic */ void PartText::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e) { setFlag(QGraphicsItem::ItemIsFocusable, true); setTextInteractionFlags(Qt::TextEditorInteraction); previous_text = toPlainText(); QGraphicsTextItem::mouseDoubleClickEvent(e); setFocus(Qt::MouseFocusReason); } /** Specifie la valeur d'une propriete donnee du texte statique @param property propriete a modifier. Valeurs acceptees : * x : abscisse de la position * y : ordonnee de la position * size : taille du texte * text : texte @param value Valeur a attribuer a la propriete */ void PartText::setProperty(const QString &property, const QVariant &value) { if (property == "x") { if (!value.canConvert(QVariant::Double)) return; setPos(value.toDouble(), pos().y()); } else if (property == "y") { if (!value.canConvert(QVariant::Double)) return; setPos(pos().x(), value.toDouble()); } else if (property == "size") { if (!value.canConvert(QVariant::Int)) return; setFont(QETApp::diagramTextsFont(value.toInt())); } else if (property == "text") { setPlainText(value.toString()); } update(); } /** Permet d'acceder a la valeur d'une propriete donnee du texte statique @param property propriete lue. Valeurs acceptees : * x : abscisse de la position * y : ordonnee de la position * size : taille du texte * text : texte @return La valeur de la propriete property */ QVariant PartText::property(const QString &property) { if (property == "x") { return((scenePos() + margin()).x()); } else if (property == "y") { return((scenePos() + margin()).y()); } else if (property == "size") { return(font().pointSize()); } else if (property == "text") { return(toPlainText()); } return(QVariant()); } /** Gere les changements intervenant sur cette partie @param change Type de changement @param value Valeur numerique relative au changement */ QVariant PartText::itemChange(GraphicsItemChange change, const QVariant &value) { if (scene()) { if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemSelectedChange) { updateCurrentPartEditor(); } } return(QGraphicsTextItem::itemChange(change, value)); } /** @return le rectangle delimitant cette partie. */ QRectF PartText::boundingRect() const { QRectF r = QGraphicsTextItem::boundingRect(); r.adjust(0.0, -2.0, 0.0, 0.0); return(r); } /** @return true si cette partie n'est pas pertinente et ne merite pas d'etre conservee / enregistree. Un texte statique n'est pas pertinent lorsque son texte est vide. */ bool PartText::isUseless() const { return(toPlainText().isEmpty()); } qelectrotech-0.22+svn897/sources/editor/elementview.h0000644000175000017500000000415111320140732022537 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENT_VIEW_H #define ELEMENT_VIEW_H #include #include "elementscene.h" /** Cette classe represente un widget permettant de visualiser une ElementScene, c'est-a-dire la classe d'edition des elements. */ class ElementView : public QGraphicsView { Q_OBJECT friend class PastePartsCommand; // constructeurs, destructeur public: ElementView(ElementScene *, QWidget * = 0); virtual ~ElementView(); private: ElementView(const ElementView &); // methodes public: ElementScene *scene() const; void setScene(ElementScene *); QRectF viewedSceneRect() const; protected: bool event(QEvent *); void mousePressEvent(QMouseEvent *); void wheelEvent(QWheelEvent *); virtual void drawBackground(QPainter *, const QRectF &); private: QRectF applyMovement(const QRectF &, const QET::OrientedMovement &, const QPointF &); // slots public slots: void zoomIn(); void zoomOut(); void zoomFit(); void zoomReset(); void adjustSceneRect(); void cut(); void copy(); void paste(); void pasteInArea(); private slots: void getPasteArea(const QRectF &); ElementContent pasteAreaDefined(const QRectF &); ElementContent paste(const QPointF &); ElementContent paste(const QDomDocument &, const QPointF &); ElementContent pasteWithOffset(const QDomDocument &); //attributs private: ElementScene *scene_; QString to_paste_in_area_; int offset_paste_count_; QPointF start_top_left_corner_; }; #endif qelectrotech-0.22+svn897/sources/editor/elementscene.h0000644000175000017500000002064511333571512022700 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENT_SCENE_H #define ELEMENT_SCENE_H #include #include #include "nameslistwidget.h" #include "orientationsetwidget.h" #include "qgimanager.h" #include "elementcontent.h" class QETElementEditor; class PartLine; class PartRectangle; class PartEllipse; class PartCircle; class PartPolygon; class PartArc; /** Cette classe est le canevas permettant l'edition d'un element electrique. Elle regroupe les differentes parties composant le dessin de l'element mais egalement les informations complementaires : dimensions, orientations, noms. */ class ElementScene : public QGraphicsScene { Q_OBJECT // enum enum Behavior { Normal, Line, Rectangle, Circle, Ellipse, Polygon, Text, Terminal, Arc, TextField, PasteArea }; // constructeurs, destructeur public: ElementScene(QETElementEditor *, QObject * = 0); virtual ~ElementScene(); private: ElementScene(const ElementScene &); // attributs private: /// longueur de l'element en dizaines de pixels uint _width; /// hauteur de l'element en dizaines de pixels uint _height; /// position du point de saisie QPoint _hotspot; /// Liste des noms de l'element NamesList _names; /// Liste des orientations de l'element OrientationSet ori; /// booleen indiquant si les bornes de l'element peuvent etre reliees a des bornes de ce meme element bool internal_connections; /// Chaine contenant les informations complementaires de l'element QString informations_; /// Gestionnaire de QGraphicsItem QGIManager qgi_manager; /// Pile des actions annulables QUndoStack undo_stack; /** fsi_pos (first selected item pos) : Position du premier item selectionne : utilise pour annuler les deplacements a la souris ; egalement utilise pour gerer les deplacements avec les fleches du clavier. */ QPointF fsi_pos; QPointF moving_press_pos; bool moving_parts_; /// Variables relatives a la gestion du dessin des parties sur la scene Behavior behavior; PartLine *current_line; PartRectangle *current_rectangle; PartEllipse *current_ellipse; PartCircle *current_circle; PartPolygon *current_polygon; PartArc *current_arc; QETElementEditor *element_editor; /// Variables relatives a la gestion de la zone de collage sur la scene QGraphicsRectItem *paste_area_; QRectF defined_paste_area_; /// Variables relatives au copier-coller avec decalage QString last_copied_; ///< Taille horizontale de la grille int x_grid; ///< Taille verticale de la grille int y_grid; // methodes public: void setWidth(const uint &); uint width() const; void setHeight(const uint &); uint height() const; void setHotspot(const QPoint &); QPoint hotspot() const; void setNames(const NamesList &); NamesList names() const; OrientationSet orientations(); void setOrientations(const OrientationSet &); bool internalConnections(); void setInternalConnections(bool); QString informations() const; void setInformations(const QString &); virtual int xGrid() const; virtual int yGrid() const; virtual void setGrid(int, int); virtual const QDomDocument toXml(bool = true) const; virtual QRectF boundingRectFromXml(const QDomDocument &); virtual void fromXml(const QDomDocument &, const QPointF & = QPointF(), bool = true, ElementContent * = 0); virtual void reset(); virtual QList zItems(bool = false) const; virtual ElementContent selectedContent() const; virtual void getPasteArea(const QRectF &); QRectF borderRect() const; QRectF sceneContent() const; bool borderContainsEveryParts() const; bool containsTerminals() const; QUndoStack &undoStack(); QGIManager &qgiManager(); static bool clipboardMayContainElement(); bool wasCopiedFromThisElement(const QString &); void cut(); void copy(); void paste(); protected: virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *); virtual void mousePressEvent(QGraphicsSceneMouseEvent *); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *); virtual void keyPressEvent(QKeyEvent *); virtual void keyReleaseEvent(QKeyEvent *); virtual void drawBackground(QPainter *, const QRectF &); virtual void drawForeground(QPainter *, const QRectF &); virtual void endCurrentBehavior(const QGraphicsSceneMouseEvent *); private: QRectF elementContentBoundingRect(const ElementContent &); bool applyInformations(const QDomDocument &, QString * = 0); ElementContent loadContent(const QDomDocument &, QString * = 0); ElementContent addContent(const ElementContent &, QString * = 0); ElementContent addContentAtPos(const ElementContent &, const QPointF &, QString * = 0); void initPasteArea(); void snapToGrid(QPointF &); bool mustSnapToGrid(QGraphicsSceneMouseEvent *); public slots: void slot_move(); void slot_addLine(); void slot_addRectangle(); void slot_addCircle(); void slot_addEllipse(); void slot_addPolygon(); void slot_addText(); void slot_addArc(); void slot_addTerminal(); void slot_addTextField(); void slot_select(const ElementContent &); void slot_selectAll(); void slot_deselectAll(); void slot_invertSelection(); void slot_delete(); void slot_editSizeHotSpot(); void slot_editNames(); void slot_editOrientations(); void slot_editAuthorInformations(); void slot_bringForward(); void slot_raise(); void slot_lower(); void slot_sendBackward(); signals: /** Signal emis lorsque la scene exige que l'editeur d'element repasse en mode normal */ void needNormalMode(); /// Signal emis lorsqu'une ou plusieurs parties sont ajoutees void partsAdded(); /// Signal emis lorsqu'une ou plusieurs parties sont enlevees void partsRemoved(); /// Signal emis lorsque la zValue d'une ou plusieurs parties change void partsZValueChanged(); /// Signal emis lorsque l'utilisateur a fini de choisir une zone pour un copier/coller void pasteAreaDefined(const QRectF &); }; /** @param wid Nouvelle largeur de l'element edite */ inline void ElementScene::setWidth(const uint &wid) { _width = wid; while (_width % 10) ++ _width; _width /= 10; } /** @return la largeur de l'element edite */ inline uint ElementScene::width() const { return(_width * 10); } /** @param hei Nouvelle hauteur de l'element edite */ inline void ElementScene::setHeight(const uint &hei) { _height = hei; while (_height % 10) ++ _height; _height /= 10; } /** @return la largeur de l'element edite */ inline uint ElementScene::height() const { return(_height * 10); } /** @param hs Nouveau point de saisie de l'element edite */ inline void ElementScene::setHotspot(const QPoint &hs) { _hotspot = hs; } /** @return le point de saisie de l'element edite */ inline QPoint ElementScene::hotspot() const { return(_hotspot); } /** @param nameslist Nouvel ensemble de noms de l'element edite */ inline void ElementScene::setNames(const NamesList &nameslist) { _names = nameslist; } /** @return l'ensemble de noms de l'element edite */ inline NamesList ElementScene::names() const { return(_names); } /** @return l'ensemble d'orientations de l'element edite */ inline OrientationSet ElementScene::orientations() { return(ori); } /** @param orientation_set Nouvel ensemble d'orientations de l'element edite */ inline void ElementScene::setOrientations(const OrientationSet &orientation_set) { ori = orientation_set; } /** @return true si les connexions internes sont acceptees, false sinon */ inline bool ElementScene::internalConnections() { return(internal_connections); } /** @param ic true pour que les connexions internes soient acceptees, false sinon */ inline void ElementScene::setInternalConnections(bool ic) { internal_connections = ic; } /** @return les informations complementaires de cet element */ inline QString ElementScene::informations() const { return(informations_); } /** @param infos les nouvelles informations complementaires de cet element */ inline void ElementScene::setInformations(const QString &infos) { informations_ = infos; } #endif qelectrotech-0.22+svn897/sources/elementscategorieslist.cpp0000644000175000017500000001720411320140732024041 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementscategorieslist.h" #include "qetapp.h" #include "customelement.h" #include "elementscollection.h" #include "elementscategory.h" #include "elementdefinition.h" #include "qeticons.h" /** Constructeur @param display_elements true pour afficher les elements, false sinon @param selectables Types selectionnables @see QET::ItemType @param parent QWidget parent de ce widget */ ElementsCategoriesList::ElementsCategoriesList(bool display_elements, uint selectables, QWidget *parent) : QTreeWidget(parent), display_elements_(display_elements), selectables_(selectables), first_load(true) { // selection unique setSelectionMode(QAbstractItemView::SingleSelection); setColumnCount(1); header() -> hide(); // charge les categories reload(); connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(selectionChanged(QTreeWidgetItem *, QTreeWidgetItem *))); } /** Destructeur */ ElementsCategoriesList::~ElementsCategoriesList() { } /** Recharge l'arbre des categories */ void ElementsCategoriesList::reload() { // vide l'arbre clear(); foreach(ElementsCollection *collection, QETApp::availableCollections()) { if (collection == QETApp::commonElementsCollection()) continue; if (collection == QETApp::customElementsCollection()) continue; addCollection(invisibleRootItem(), collection, tr("Collection projet")); } // chargement des elements de la collection commune si droits d'ecriture if (QETApp::commonElementsCollection() -> isWritable()) { if (!first_load) QETApp::commonElementsCollection() -> reload(); addCollection(invisibleRootItem(), QETApp::commonElementsCollection(), tr("Collection QET"), QET::Icons::QETLogo); } // chargement des elements de la collection utilisateur if (!first_load) QETApp::customElementsCollection() -> reload(); addCollection(invisibleRootItem(), QETApp::customElementsCollection(), tr("Collection utilisateur"), QET::Icons::Home); if (first_load) first_load = false; } /** Methode privee permettant d'ajouter une collection d'elements @param qtwi_parent QTreeWidgetItem parent sous lequel sera insere la collection d'elements @param collection Collection a inserer dans le panel d'elements @param coll_name Nom a utiliser pour la collection @param icon Icone a utiliser pour l'affichage de la collection @return Le QTreeWidgetItem insere le plus haut */ QTreeWidgetItem *ElementsCategoriesList::addCollection(QTreeWidgetItem *qtwi_parent, ElementsCollection *collection, const QString &coll_name, const QIcon &icon) { QTreeWidgetItem *qtwi_coll = addCategory(qtwi_parent, collection -> rootCategory(), coll_name, icon); qtwi_coll -> setExpanded(true); Qt::ItemFlags flags_coll = Qt::ItemIsEnabled; if (selectables_ & QET::Collection) flags_coll |= Qt::ItemIsSelectable; qtwi_coll -> setFlags(flags_coll); return(qtwi_coll); } /** Methode privee permettant d'ajouter une categorie @param qtwi_parent QTreeWidgetItem parent sous lequel sera insere la categorie @param category Categorie d'elements a inserer @param cat_name Parametre facultatif permettant de forcer le nom affiche S'il n'est pas precise, la methode utilise le nom declare par la categorie. @param icon Icone a utiliser pour l'affichage de la categorie Si elle n'est pas precisee, une icone par defaut est utilisee @return Le QTreeWidgetItem insere le plus haut */ QTreeWidgetItem *ElementsCategoriesList::addCategory(QTreeWidgetItem *qtwi_parent, ElementsCategory *category, const QString &cat_name, const QIcon &icon) { // recupere le nom de la categorie QString final_name(cat_name.isEmpty() ? category -> name() : cat_name); QIcon final_icon(icon.isNull() ? QET::Icons::Folder : icon); // creation du QTreeWidgetItem representant le dossier QTreeWidgetItem *qtwi_category = new QTreeWidgetItem(qtwi_parent, QStringList(final_name)); qtwi_category -> setIcon(0, final_icon); locations_.insert(qtwi_category, category -> location()); Qt::ItemFlags flags_category = Qt::ItemIsEnabled; if (selectables_ & QET::Category) flags_category |= Qt::ItemIsSelectable; qtwi_category -> setFlags(flags_category); // ajout des sous-categories foreach(ElementsCategory *sub_cat, category -> categories()) addCategory(qtwi_category, sub_cat); if (display_elements_) { foreach(ElementDefinition *elmt, category -> elements()) addElement(qtwi_category, elmt); } return(qtwi_category); } /** Methode privee permettant d'ajouter un element @param qtwi_parent QTreeWidgetItem parent sous lequel sera insere l'element @param element Element a inserer @param elmt_name Parametre facultatif permettant de forcer le nom affiche S'il n'est pas precise, la methode utilise le nom declare par la categorie. @param icon Icone a utiliser pour l'affichage de l'element @return Le QTreeWidgetItem insere */ QTreeWidgetItem *ElementsCategoriesList::addElement(QTreeWidgetItem *qtwi_parent, ElementDefinition *element, const QString &elmt_name, const QIcon &icon) { int state; CustomElement custom_elmt(element -> xml(), 0, 0, &state); if (state) { qDebug() << "ElementsCategoriesList::addElement() : Le chargement du composant" << qPrintable(element -> location().toString()) << "a echoue avec le code d'erreur" << state; return(0); } QString final_name(elmt_name.isEmpty() ? custom_elmt.name() : elmt_name); QTreeWidgetItem *qtwi = new QTreeWidgetItem(qtwi_parent, QStringList(final_name)); qtwi -> setToolTip(0, custom_elmt.name()); Qt::ItemFlags flags_element = Qt::ItemIsEnabled; if (selectables_ & QET::Element) flags_element |= Qt::ItemIsSelectable; qtwi -> setFlags(flags_element); qtwi -> setIcon(0, icon); locations_.insert(qtwi, element -> location()); return(qtwi); } /** @return Le nom de la categorie selectionnee */ QString ElementsCategoriesList::selectedCategoryName() const { QTreeWidgetItem *qtwi = currentItem(); if (qtwi) return(qtwi -> data(0, Qt::DisplayRole).toString()); else return(QString()); } /** @return l'emplacement correspondant au QTreeWidgetItem selectionne */ ElementsLocation ElementsCategoriesList::selectedLocation() const { if (QTreeWidgetItem *current_qtwi = currentItem()) { return(locations_[current_qtwi]); } else { return(ElementsLocation()); } } /** Selectionne un element dans la liste a partir de son emplacement @see ElementsLocation @param location Emplacement a selectionner @return true si la selection a pu etre effectuee, false sinon */ bool ElementsCategoriesList::selectLocation(const ElementsLocation &location) { if (QTreeWidgetItem *qtwi = locations_.key(location)) { setCurrentItem(qtwi); return(true); } return(false); } /** Recupere le chemin virtuel de l'element selectionne et emet le signal virtualPathChanged. @param current QTreeWidgetItem selectionne @param previous QTreeWidgetItem precedemment selectionne */ void ElementsCategoriesList::selectionChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous) { Q_UNUSED(previous); ElementsLocation emited_location; if (current) { emited_location = locations_[current]; } emit(locationChanged(emited_location)); } qelectrotech-0.22+svn897/sources/qetproject.cpp0000644000175000017500000007610211320140732021445 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qetproject.h" #include "diagram.h" #include "elementdefinition.h" #include "xmlelementscollection.h" #include "elementscategory.h" #include "qetapp.h" #include "qetdiagrameditor.h" #include "integrationmoveelementshandler.h" #include "basicmoveelementshandler.h" #include "qetmessagebox.h" QString QETProject::integration_category_name = "import"; /** Constructeur par defaut - cree un schema contenant une collection d'elements vide et un schema vide. @param diagrams Nombre de nouveaux schemas a ajouter a ce nouveau projet @param parent QObject parent */ QETProject::QETProject(int diagrams, QObject *parent) : QObject(parent), read_only_(false) { // 0 a n schema(s) vide(s) int diagrams_count = qMax(0, diagrams); for (int i = 0 ; i < diagrams_count ; ++ i) { addNewDiagram(); } // une collection d'elements vide collection_ = new XmlElementsCollection(); collection_ -> setProtocol("embed"); collection_ -> setProject(this); connect(collection_, SIGNAL(written()), this, SLOT(componentWritten())); // une categorie dediee aux elements integres automatiquement ensureIntegrationCategoryExists(); } /** Construit un projet a partir du chemin d'un fichier. @param path Chemin du fichier @param parent QObject parent */ QETProject::QETProject(const QString &path, QObject *parent) : QObject(parent), read_only_(false) { // ouvre le fichier QFile project_file(path); if (!project_file.open(QIODevice::ReadOnly | QIODevice::Text)) { state_ = FileOpenFailed; return; } setFilePath(path); // en extrait le contenu XML bool xml_parsing = document_root_.setContent(&project_file); if (!xml_parsing) { state_ = XmlParsingFailed; return; } // et construit le projet readProjectXml(); // passe le projet en lecture seule si le fichier l'est QFileInfo project_file_info(path); if (!project_file_info.isWritable()) { setReadOnly(true); } } /** Construit un projet a partir d'un element XML representant le projet. L'element XML fourni est copie et conserve dans la classe. */ QETProject::QETProject(const QDomElement &xml_element, QObject *parent) : QObject(parent), read_only_(false) { // copie le contenu XML document_root_.appendChild(document_root_.importNode(xml_element, true)); // et construit le projet readProjectXml(); } /** Destructeur */ QETProject::~QETProject() { // supprime les schemas // qDebug() << "Suppression du projet" << ((void *)this); // supprime la collection // qDebug() << "Suppression de la collection du projet" << ((void *)this); delete collection_; // qDebug() << "Collection du projet" << ((void *)this) << "supprimee"; // qDebug() << diagrams_; foreach (Diagram *diagram, diagrams_) { diagrams_.removeAll(diagram); delete diagram; } // qDebug() << diagrams_; } /** Cette methode peut etre utilisee pour tester la bonne ouverture d'un projet @return l'etat du projet @see ProjectState */ QETProject::ProjectState QETProject::state() const { return(state_); } /** @return la liste des schemas de ce projet */ QList QETProject::diagrams() const { return(diagrams_); } /** @return la collection embarquee de ce projet */ ElementsCollection *QETProject::embeddedCollection() const { return(collection_); } /** @return le chemin du fichier dans lequel ce projet est enregistre */ QString QETProject::filePath() { return(file_path_); } /** Change le chemin du fichier dans lequel ce projet est enregistre @param filepath Nouveau chemin de fichier */ void QETProject::setFilePath(const QString &filepath) { file_path_ = filepath; // le chemin a change : on reevalue la necessite du mode lecture seule QFileInfo file_path_info(file_path_); if (file_path_info.isWritable()) { setReadOnly(false); } emit(projectFilePathChanged(this, file_path_)); emit(projectInformationsChanged(this)); } /** @return le dossier contenant le fichier projet si celui-ci a ete enregistre ; dans le cas contraire, cette methode retourne l'emplacement du bureau de l'utilisateur. */ QString QETProject::currentDir() const { QString current_directory; if (file_path_.isEmpty()) { current_directory = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation); } else { current_directory = QFileInfo(file_path_).absoluteDir().absolutePath(); } return(current_directory); } /** @return une chaine de caractere du type "Projet titre du projet". Si le projet n'a pas de titre, le nom du fichier est utilise. Si le projet n'est pas associe a un fichier, cette methode retourne "Projet sans titre". De plus, si le projet est en lecture seule, le tag "[lecture seule]" est ajoute. */ QString QETProject::pathNameTitle() const { QString final_title; if (!project_title_.isEmpty()) { final_title = QString( tr( "Projet \253\240%1\240\273", "displayed title for a ProjectView - %1 is the project title" ) ).arg(project_title_); } else if (!file_path_.isEmpty()) { final_title = QString( tr( "Projet %1", "displayed title for a title-less project - %1 is the file name" ) ).arg(QFileInfo(file_path_).completeBaseName()); } else { final_title = QString( tr( "Projet sans titre", "displayed title for a project-less, file-less project" ) ); } if (isReadOnly()) { final_title = QString( tr( "%1 [lecture seule]", "displayed title for a read-only project - %1 is a displayable title" ) ).arg(final_title); } return(final_title); } /** @return le titre du projet */ QString QETProject::title() const { return(project_title_); } /** @param title le nouveau titre du projet */ void QETProject::setTitle(const QString &title) { // ne fait rien si le projet est en lecture seule if (isReadOnly()) return; // ne fait rien si le titre du projet n'est pas change par l'appel de cette methode if (project_title_ == title) return; project_title_ = title; emit(projectTitleChanged(this, project_title_)); emit(projectInformationsChanged(this)); } /** @return les dimensions par defaut utilisees lors de la creation d'un nouveau schema dans ce projet. */ BorderProperties QETProject::defaultBorderProperties() const { return(default_border_properties_); } /** Permet de specifier les dimensions par defaut utilisees lors de la creation d'un nouveau schema dans ce projet. @param border dimensions d'un schema */ void QETProject::setDefaultBorderProperties(const BorderProperties &border) { default_border_properties_ = border; } /** @return le cartouche par defaut utilise lors de la creation d'un nouveau schema dans ce projet. */ InsetProperties QETProject::defaultInsetProperties() const { return(default_inset_properties_); } /** Permet de specifier le cartouche par defaut utilise lors de la creation d'un nouveau schema dans ce projet. @param inset Cartouche d'un schema */ void QETProject::setDefaultInsetProperties(const InsetProperties &inset) { default_inset_properties_ = inset; } /** @return le type de conducteur par defaut utilise lors de la creation d'un nouveau schema dans ce projet. */ ConductorProperties QETProject::defaultConductorProperties() const { return(default_conductor_properties_); } /** Permet de specifier e type de conducteur par defaut utilise lors de la creation d'un nouveau schema dans ce projet. */ void QETProject::setDefaultConductorProperties(const ConductorProperties &conductor) { default_conductor_properties_ = conductor; } /** @return un document XML representant le projet */ QDomDocument QETProject::toXml() { // racine du projet QDomDocument xml_doc; QDomElement project_root = xml_doc.createElement("project"); project_root.setAttribute("version", QET::version); project_root.setAttribute("title", project_title_); xml_doc.appendChild(project_root); // proprietes pour les nouveaux schemas QDomElement new_diagrams_properties = xml_doc.createElement("newdiagrams"); writeDefaultPropertiesXml(new_diagrams_properties); project_root.appendChild(new_diagrams_properties); // schemas // qDebug() << "Export XML de" << diagrams_.count() << "schemas"; int order_num = 1; foreach(Diagram *diagram, diagrams_) { qDebug() << qPrintable(QString("QETProject::toXml() : exporting diagram \"%1\" [%2]").arg(diagram -> title()).arg(QET::pointerString(diagram))); QDomNode appended_diagram = project_root.appendChild(diagram -> writeXml(xml_doc)); appended_diagram.toElement().setAttribute("order", order_num ++); } // collection project_root.appendChild(collection_ -> writeXml(xml_doc)); return(xml_doc); } /** Ferme le projet */ bool QETProject::close() { return(true); } /** Enregistre le projet vers un fichier. @see filePath() @see setFilePath() @return true si l'enregistrement a reussi, false sinon */ bool QETProject::write() { // le chemin du fichier doit etre connu if (file_path_.isEmpty()) { qDebug() << qPrintable(QString("QETProject::write() : called without a known filepath [%1]").arg(QET::pointerString(this))); return(false); } // si le projet a ete ouvert en mode lecture seule et que le fichier n'est pas accessible en ecriture, on n'effectue pas l'enregistrement if (isReadOnly() && !QFileInfo(file_path_).isWritable()) { qDebug() << qPrintable(QString("QETProject::write() : the file %1 was opened read-only and thus will not be written. [%2]").arg(file_path_).arg(QET::pointerString(this))); return(true); } // ouvre le fichier en ecriture QFile file(file_path_); bool file_opening = file.open(QIODevice::WriteOnly | QIODevice::Text); if (!file_opening) { qDebug() << qPrintable(QString("QETProject::write() : unable to open %1 with write access [%2]").arg(file_path_).arg(QET::pointerString(this))); return(false); } qDebug() << qPrintable(QString("QETProject::write() : writing to file %1 [%2]").arg(file_path_).arg(QET::pointerString(this))); // realise l'export en XML du projet dans le document XML interne document_root_.clear(); document_root_.appendChild(document_root_.importNode(toXml().documentElement(), true)); QTextStream out(&file); out.setCodec("UTF-8"); out << document_root_.toString(4); file.close(); return(true); } /** @return true si le projet est en mode readonly, false sinon */ bool QETProject::isReadOnly() const { return(read_only_ && read_only_file_path_ == file_path_); } /** @param read_only true pour passer le projet (schemas et collection) en mode Read Only, false sinon. */ void QETProject::setReadOnly(bool read_only) { if (read_only_ != read_only) { // memorise le fichier pour lequel ce projet est en lecture seule read_only_file_path_ = file_path_; // applique le nouveau mode aux schemas foreach(Diagram *diagram, diagrams()) { diagram -> setReadOnly(read_only); } read_only_ = read_only; emit(readOnlyChanged(this, read_only)); } } /** @return true si le projet peut etre considere comme vide, c'est-a-dire : - soit avec une collection embarquee vide - soit avec uniquement des schemas consideres comme vides - soit avec un titre de projet */ bool QETProject::isEmpty() const { // si le projet a un titre, on considere qu'il n'est pas vide if (!project_title_.isEmpty()) return(false); // si la collection du projet n'est pas vide, alors le projet n'est pas vide if (!collection_ -> isEmpty()) return(false); // compte le nombre de schemas non vides int pertinent_diagrams = 0; foreach(Diagram *diagram, diagrams_) { if (!diagram -> isEmpty()) ++ pertinent_diagrams; } return(pertinent_diagrams > 0); } /** Cree une categorie dediee aux elements integres automatiquement dans le projet si celle-ci n'existe pas deja. @return true si tout s'est bien passe, false sinon */ bool QETProject::ensureIntegrationCategoryExists() { ElementsCategory *root_cat = rootCategory(); if (!root_cat) return(false); if (root_cat -> category(integration_category_name)) return(true); ElementsCategory *integration_category = root_cat -> createCategory(integration_category_name); if (!integration_category) return(false); integration_category -> setNames(namesListForIntegrationCategory()); return(true); } /** @return la categorie dediee aux elements integres automatiquement dans le projet ou 0 si celle-ci n'a pu etre creee. @see ensureIntegrationCategoryExists() */ ElementsCategory *QETProject::integrationCategory() const { ElementsCategory *root_cat = rootCategory(); if (!root_cat) return(0); return(root_cat -> category(integration_category_name)); } /** Integre un element dans le projet. Cette methode delegue son travail a la methode integrateElement(const QString &, MoveElementsHandler *, QString &) en lui passant un MoveElementsHandler approprie. @param elmt_location Emplacement de l'element a integrer @param error_msg Reference vers une chaine de caractere qui contiendra eventuellement un message d'erreur @return L'emplacement de l'element apres integration, ou une chaine vide si l'integration a echoue. */ QString QETProject::integrateElement(const QString &elmt_location, QString &error_msg) { // handler dedie a l'integration d'element IntegrationMoveElementsHandler *integ_handler = new IntegrationMoveElementsHandler(0); QString integ_path = integrateElement(elmt_location, integ_handler, error_msg); delete integ_handler; return(integ_path); } /** Integre un element dans le projet. Cette methode prend en parametre l'emplacement d'un element a integrer. Chaque categorie mentionnee dans le chemin de cet element sera copiee de maniere non recursive sous la categorie dediee a l'integration si elle n'existe pas deja. L'element sera ensuite copiee dans cette copie de la hierarchie d'origine. En cas de probleme, error_message sera modifiee de facon a contenir un message decrivant l'erreur rencontree. @param elmt_path Emplacement de l'element a integrer @param handler Gestionnaire a utiliser pour gerer les copies d'elements et categories @param error_message Reference vers une chaine de caractere qui contiendra eventuellement un message d'erreur @return L'emplacement de l'element apres integration, ou une chaine vide si l'integration a echoue. */ QString QETProject::integrateElement(const QString &elmt_path, MoveElementsHandler *handler, QString &error_message) { // on s'assure que le projet a une categorie dediee aux elements importes automatiquement if (!ensureIntegrationCategoryExists()) { error_message = tr("Impossible de cr\351er la cat\351gorie pour l'int\351gration des \351l\351ments"); return(QString()); } // accede a a categorie d'integration ElementsCategory *integ_cat = integrationCategory(); // accede a l'element a integrer ElementsCollectionItem *integ_item = QETApp::collectionItem(ElementsLocation::locationFromString(elmt_path)); ElementDefinition *integ_elmt = integ_item ? integ_item -> toElement() : 0; if (!integ_item || !integ_elmt) { error_message = tr("Impossible d'acc\351der \340 l'\351l\351ment a int\351grer"); return(QString()); } // recopie l'arborescence de l'element de facon non recursive QList integ_par_cat = integ_elmt -> parentCategories(); ElementsCategory *target_cat = integ_cat; foreach(ElementsCategory *par_cat, integ_par_cat) { if (par_cat -> isRootCategory()) continue; if (ElementsCategory *existing_cat = target_cat -> category(par_cat -> pathName())) { // la categorie cible existe deja : on continue la progression target_cat = existing_cat; } else { // la categorie cible n'existe pas : on la cree par recopie ElementsCollectionItem *result_cat = par_cat -> copy(target_cat, handler, false); if (!result_cat || !result_cat -> isCategory()) { error_message = QString(tr("Un probl\350me s'est produit pendant la copie de la cat\351gorie %1")).arg(par_cat -> location().toString()); return(QString()); } target_cat = result_cat -> toCategory(); } } // recopie l'element if (ElementDefinition *existing_elmt = target_cat -> element(integ_item -> pathName())) { // l'element existe deja - on demande au handler ce que l'on doit faire QET::Action todo = handler -> elementAlreadyExists(integ_elmt, existing_elmt); if (todo == QET::Ignore) { // il faut conserver et utiliser l'element deja integre return(existing_elmt -> location().toString()); } else if (todo == QET::Erase) { // il faut ecraser l'element deja integre BasicMoveElementsHandler *erase_handler = new BasicMoveElementsHandler(); ElementsLocation result_loc = copyElementWithHandler(integ_elmt, target_cat, erase_handler, error_message); delete erase_handler; return(result_loc.toString()); } else if (todo == QET::Rename) { // il faut faire cohabiter les deux elements en renommant le nouveau QString integ_element_name = handler -> nameForRenamingOperation(); BasicMoveElementsHandler *rename_handler = new BasicMoveElementsHandler(); rename_handler -> setActionIfItemAlreadyExists(QET::Rename); rename_handler -> setNameForRenamingOperation(integ_element_name); ElementsLocation result_loc = copyElementWithHandler(integ_elmt, target_cat, rename_handler, error_message); delete rename_handler; return(result_loc.toString()); } else { // il faut annuler la pose de l'element return(QString()); } } else { // integre l'element normalement ElementsLocation result_loc = copyElementWithHandler(integ_elmt, target_cat, handler, error_message); return(result_loc.toString()); } } /** Permet de savoir si un element est utilise dans un projet @param location Emplacement d'un element @return true si l'element location est utilise sur au moins un des schemas de ce projet, false sinon */ bool QETProject::usesElement(const ElementsLocation &location) { foreach(Diagram *diagram, diagrams()) { if (diagram -> usesElement(location)) { return(true); } } return(false); } /** Supprime tous les elements inutilises dans le projet @param handler Gestionnaire d'erreur */ void QETProject::cleanUnusedElements(MoveElementsHandler *handler) { ElementsCategory *root_cat = rootCategory(); if (!root_cat) return; root_cat -> deleteUnusedElements(handler); } /** Supprime tous les categories vides (= ne contenant aucun element ou que des categories vides) dans le projet @param handler Gestionnaire d'erreur */ void QETProject::cleanEmptyCategories(MoveElementsHandler *handler) { ElementsCategory *root_cat = rootCategory(); if (!root_cat) return; root_cat -> deleteEmptyCategories(handler); } /** Gere la reecriture du projet */ void QETProject::componentWritten() { // reecrit tout le projet write(); } /** Ajoute un nouveau schema au projet et emet le signal diagramAdded */ Diagram *QETProject::addNewDiagram() { // ne fait rien si le projet est en lecture seule if (isReadOnly()) return(0); // cree un nouveau schema Diagram *diagram = new Diagram(); // lui transmet les parametres par defaut diagram -> border_and_inset.importBorder(defaultBorderProperties()); diagram -> border_and_inset.importInset(defaultInsetProperties()); diagram -> defaultConductorProperties = defaultConductorProperties(); addDiagram(diagram); emit(diagramAdded(this, diagram)); return(diagram); } /** Enleve un schema du projet et emet le signal diagramRemoved @param diagram le schema a enlever */ void QETProject::removeDiagram(Diagram *diagram) { // ne fait rien si le projet est en lecture seule if (isReadOnly()) return; if (!diagram || !diagrams_.contains(diagram)) return; if (diagrams_.removeAll(diagram)) { emit(diagramRemoved(this, diagram)); delete diagram; } updateDiagramsFolioData(); } /** Gere le fait que l'ordre des schemas ait change @param old_index ancien indice du schema deplace @param new_index nouvel indice du schema deplace Si l'ancien ou le nouvel index est negatif ou superieur au nombre de schemas dans le projet, cette methode ne fait rien. Les index vont de 0 a "nombre de schemas - 1" */ void QETProject::diagramOrderChanged(int old_index, int new_index) { if (old_index < 0 || new_index < 0) return; int diagram_max_index = diagrams_.size() - 1; if (old_index > diagram_max_index || new_index > diagram_max_index) return; diagrams_.move(old_index, new_index); updateDiagramsFolioData(); } /** @return un pointeur vers la categorie racine de la collection embarquee, ou 0 si celle-ci n'est pas accessible. */ ElementsCategory *QETProject::rootCategory() const { if (!collection_) return(0); ElementsCategory *root_cat = collection_ -> rootCategory(); return(root_cat); } /** (Re)lit le projet depuis sa description XML */ void QETProject::readProjectXml() { QDomElement root_elmt = document_root_.documentElement(); // la racine du document XML est sensee etre un element "project" if (root_elmt.tagName() == "project") { // mode d'ouverture normal if (root_elmt.hasAttribute("version")) { bool conv_ok; qreal diagram_version = root_elmt.attribute("version").toDouble(&conv_ok); if (conv_ok && QET::version.toDouble() < diagram_version) { QET::MessageBox::warning( 0, tr("Avertissement", "message box title"), tr( "Ce document semble avoir \351t\351 enregistr\351 avec " "une version ult\351rieure de QElectroTech. Il est " "possible que l'ouverture de tout ou partie de ce " "document \351choue.", "message box content" ) ); } } setTitle(root_elmt.attribute("title")); } else if (root_elmt.tagName() == "diagram") { /// @todo gerer l'ouverture de fichiers dont la racine est un element \ } else { state_ = ProjectParsingFailed; } // charge les proprietes par defaut pour les nouveaux schemas readDefaultPropertiesXml(); // charge la collection embarquee readElementsCollectionXml(); // charge les schemas readDiagramsXml(); state_ = Ok; } /** Charge les schemas depuis la description XML du projet. A noter qu'un projet peut parfaitement ne pas avoir de schema. */ void QETProject::readDiagramsXml() { // map destinee a accueillir les schemas QMultiMap loaded_diagrams; // recherche les schemas dans le projet QDomNodeList diagram_nodes = document_root_.elementsByTagName("diagram"); for (uint i = 0 ; i < diagram_nodes.length() ; ++ i) { if (diagram_nodes.at(i).isElement()) { QDomElement diagram_xml_element = diagram_nodes.at(i).toElement(); Diagram *diagram = new Diagram(); diagram -> setProject(this); bool diagram_loading = diagram -> initFromXml(diagram_xml_element); if (diagram_loading) { // recupere l'attribut order du schema int diagram_order = -1; if (!QET::attributeIsAnInteger(diagram_xml_element, "order", &diagram_order)) diagram_order = 500000; loaded_diagrams.insert(diagram_order, diagram); } else { delete diagram; } } } // ajoute les schemas dans l'ordre indique par les attributs order foreach(Diagram *diagram, loaded_diagrams.values()) { addDiagram(diagram); } } /** Charge les schemas depuis la description XML du projet */ void QETProject::readElementsCollectionXml() { // recupere la collection d'elements integreee au projet QDomNodeList collection_roots = document_root_.elementsByTagName("collection"); QDomElement collection_root; if (!collection_roots.isEmpty()) { // seule la premiere collection trouvee est prise en compte collection_root = collection_roots.at(0).toElement(); } if (collection_root.isNull()) { // s'il n'y en a pas, cree une collection vide collection_ = new XmlElementsCollection(); } else { // sinon lit cette collection collection_ = new XmlElementsCollection(collection_root); } collection_ -> setProtocol("embed"); collection_ -> setProject(this); connect(collection_, SIGNAL(written()), this, SLOT(componentWritten())); } /** Charge les proprietes par defaut des nouveaux schemas depuis la description XML du projet : * dimensions * contenu du cartouche * conducteurs par defaut */ void QETProject::readDefaultPropertiesXml() { // repere l'element XML decrivant les proprietes des nouveaux schemas QDomNodeList newdiagrams_nodes = document_root_.elementsByTagName("newdiagrams"); if (newdiagrams_nodes.isEmpty()) return; QDomElement newdiagrams_elmt = newdiagrams_nodes.at(0).toElement(); // par defaut, les valeurs sont celles de la configuration QElectroTech default_border_properties_ = QETDiagramEditor::defaultBorderProperties(); default_inset_properties_ = QETDiagramEditor::defaultInsetProperties(); default_conductor_properties_ = QETDiagramEditor::defaultConductorProperties(); // lecture des valeurs indiquees dans le projet QDomElement border_elmt, inset_elmt, conductors_elmt; // recherche des elements XML concernant les dimensions, le cartouche et les conducteurs for (QDomNode child = newdiagrams_elmt.firstChild() ; !child.isNull() ; child = child.nextSibling()) { QDomElement child_elmt = child.toElement(); if (child_elmt.isNull()) continue; if (child_elmt.tagName() == "border") { border_elmt = child_elmt; } else if (child_elmt.tagName() == "inset") { inset_elmt = child_elmt; } else if (child_elmt.tagName() == "conductors") { conductors_elmt = child_elmt; } } // dimensions, cartouche, et conducteurs if (!border_elmt.isNull()) default_border_properties_.fromXml(border_elmt); if (!inset_elmt.isNull()) default_inset_properties_.fromXml(inset_elmt); if (!conductors_elmt.isNull()) default_conductor_properties_.fromXml(conductors_elmt); } /** Exporte les proprietes par defaut des nouveaux schemas dans l'element XML : * dimensions * contenu du cartouche * conducteurs par defaut @param xml_element Element XML sous lequel seront exportes les proprietes par defaut des nouveaux schemas */ void QETProject::writeDefaultPropertiesXml(QDomElement &xml_element) { QDomDocument xml_document = xml_element.ownerDocument(); // exporte les dimensions QDomElement border_elmt = xml_document.createElement("border"); default_border_properties_.toXml(border_elmt); xml_element.appendChild(border_elmt); // exporte le contenu du cartouche QDomElement inset_elmt = xml_document.createElement("inset"); default_inset_properties_.toXml(inset_elmt); xml_element.appendChild(inset_elmt); // exporte le type de conducteur par defaut QDomElement conductor_elmt = xml_document.createElement("conductors"); default_conductor_properties_.toXml(conductor_elmt); xml_element.appendChild(conductor_elmt); } /** Cette methode ajoute un schema donne au projet @param diagram Schema a ajouter */ void QETProject::addDiagram(Diagram *diagram) { if (!diagram) return; // s'assure que le schema connaisse son projet parent diagram -> setProject(this); // si le schema est ecrit, alors il faut reecrire le fichier projet connect(diagram, SIGNAL(written()), this, SLOT(componentWritten())); connect( &(diagram -> border_and_inset), SIGNAL(needFolioData()), this, SLOT(updateDiagramsFolioData()) ); // ajoute le schema au projet diagrams_ << diagram; updateDiagramsFolioData(); } /** @return La liste des noms a utiliser pour la categorie dediee aux elements integres automatiquement dans le projet. */ NamesList QETProject::namesListForIntegrationCategory() { NamesList names; const QChar russian_data[24] = { 0x0418, 0x043C, 0x043F, 0x043E, 0x0440, 0x0442, 0x0438, 0x0440, 0x043E, 0x0432, 0x0430, 0x043D, 0x043D, 0x044B, 0x0435, 0x0020, 0x044D, 0x043B, 0x0435, 0x043C, 0x0435, 0x043D, 0x0442, 0x044B }; names.addName("fr", "\311l\351ments import\351s"); names.addName("en", "Imported elements"); names.addName("es", "Elementos importados"); names.addName("ru", QString(russian_data, 24)); names.addName("cs", "Zaveden\351 prvky"); return(names); } /** Cette methode sert a reperer un projet vide, c-a-d un projet identique a ce que l'on obtient en faisant Fichier > Nouveau. @return true si la collection d'elements embarquee a ete modifiee. Concretement, cette methode retourne true si la collection embarquee contient 0 element et 1 categorie vide qui s'avere etre la categorie dediee aux elements integres automatiquement dans le projet. */ bool QETProject::embeddedCollectionWasModified() { ElementsCategory *root_cat = rootCategory(); if (!root_cat) return(false); // la categorie racine doit comporter 0 element et 1 categorie if (root_cat -> categories().count() != 1) return(true); if (root_cat -> elements().count() != 0) return(true); // la categorie d'integration doit exister ElementsCategory *integ_cat = integrationCategory(); if (!integ_cat) return(true); // la categorie d'integration doit avoir les noms par defaut if (integ_cat -> categoryNames() != namesListForIntegrationCategory()) { return(true); } return(false); } /** Cette methode sert a reperer un projet vide, c-a-d un projet identique a ce que l'on obtient en faisant Fichier > Nouveau. @return true si les schemas de ce projet ont ete modifies Concretement, il doit y avoir exactement un schema, dont la pile d'annulation est "clean". */ bool QETProject::diagramsWereModified() { // il doit y avoir exactement un schema if (diagrams_.count() != 1) return(true); // dont la pile d'annulation est "clean" return(!(diagrams_[0] -> undoStack().isClean())); } /** Cette methode sert a reperer un projet vide, c-a-d un projet identique a ce que l'on obtient en faisant Fichier > Nouveau. @return true si les schemas, la collection embarquee ou les proprietes de ce projet ont ete modifies. Concretement, le projet doit avoir un titre vide et ni ses schemas ni sa collection embarquee ne doivent avoir ete modifies. @see diagramsWereModified(), embeddedCollectionWasModified() */ bool QETProject::projectWasModified() { // il doit avoir un titre vide if (!title().isEmpty()) return(true); // ni ses schemas ni sa collection embarquee ne doivent avoir ete modifies if (diagramsWereModified()) return(true); if (embeddedCollectionWasModified()) return(true); return(false); } /** Indique a chaque schema du projet quel est son numero de folio et combien de folio le projet contient. */ void QETProject::updateDiagramsFolioData() { int total_folio = diagrams_.count(); for (int i = 0 ; i < total_folio ; ++ i) { diagrams_[i] -> border_and_inset.setFolioData(i + 1, total_folio); } } /** Copie l'element integ_elmt dans la categorie target_cat en utilisant le gestionnaire handler ; en cas d'erreur, error_message est rempli. @return l'emplacement de l'element cree */ ElementsLocation QETProject::copyElementWithHandler( ElementDefinition *integ_elmt, ElementsCategory *target_cat, MoveElementsHandler *handler, QString &error_message ) { ElementsCollectionItem *result_item = integ_elmt -> copy(target_cat, handler); ElementDefinition *result_elmt = result_item ? result_item -> toElement() : 0; if (!result_item || !result_elmt) { error_message = QString(tr("Un probl\350me s'est produit pendant la copie de l'\351l\351ment %1")).arg(integ_elmt -> location().toString()); return(ElementsLocation()); } return(result_elmt -> location()); } qelectrotech-0.22+svn897/sources/conductorsegment.cpp0000644000175000017500000003576311320140732022660 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "conductorsegment.h" #include /** Constructeur @param p1 Le point @param p2 @param cs1 Le segment precedent @param cs2 Le segment suivant */ ConductorSegment::ConductorSegment( const QPointF &p1, const QPointF &p2, ConductorSegment *cs1, ConductorSegment *cs2 ) : point1(p1), point2(p2) { setPreviousSegment(cs1); setNextSegment(cs2); } /** Destructeur - Relie le segment precedent au suivant */ ConductorSegment::~ConductorSegment() { if (hasPreviousSegment()) previousSegment() -> setNextSegment(nextSegment()); if (hasNextSegment()) nextSegment() -> setPreviousSegment(previousSegment()); } /** Permet de savoir s'il est possible de deplacer le premier point du segment sans creer d'incoherence. La valeur du mouvement maximum qu'il est possible de faire sans incoherence est stockee dans le second parametre. @param asked_dx La valeur du mouvement demande @param possible_dx La valeur du mouvement possible (au maximum) @return true si le mouvement est possible ; false s'il doit etre limite */ bool ConductorSegment::canMove1stPointX(const qreal &asked_dx, qreal &possible_dx) const { Q_ASSERT_X(isVertical(), "ConductorSegment::canMove1stPointX", "segment non vertical"); /// On ne bouge jamais le premier point d'un segment statique. if (isStatic()) { possible_dx = 0.0; return(false); } // a ce stade, on a forcement un segment precedent /// Si le segment precedent n'est pas statique, le mouvement est possible. if (previous_segment -> hasPreviousSegment()) { possible_dx = asked_dx; return(true); } // a ce stade, le segment precedent est forcement statique /// Si le segment precedent est vertical, le mouvement est possible : /// il induira la creation d'un segment horizontal supplementaire. if (previous_segment -> isVertical()) { possible_dx = asked_dx; return(true); } // a ce stade, le segment precedent est forcement horizontal // recupere quelques donnees qreal prev_segment_first_x = previous_segment -> point1.x(); qreal first_x = point1.x(); /// Il se peut que le mouvement doive etre limite de facon a ce /// que le segment statique conserve une taille minimale. if (previous_segment -> length() > 0.0) { if (first_x + asked_dx < prev_segment_first_x + 12.0) { possible_dx = -first_x + prev_segment_first_x + 12.0; return(false); } else { possible_dx = asked_dx; return(true); } } else { if (first_x + asked_dx >= prev_segment_first_x - 12.0) { possible_dx = prev_segment_first_x - 12.0 - first_x; return(false); } else { possible_dx = asked_dx; return(true); } } } /** Permet de savoir s'il est possible de deplacer le second point du segment sans creer d'incoherence. La valeur du mouvement maximum qu'il est possible de faire sans incoherence est stockee dans le second parametre. @param asked_dx La valeur du mouvement demande @param possible_dx La valeur du mouvement possible (au maximum) @return true si le mouvement est possible ; false s'il doit etre limite */ bool ConductorSegment::canMove2ndPointX(const qreal &asked_dx, qreal &possible_dx) const { Q_ASSERT_X(isVertical(), "ConductorSegment::canMove2ndPointX", "segment non vertical"); /// On ne modifie jamais l'abscisse du second point d'un segment statique. if (isStatic()) { possible_dx = 0.0; return(false); } // a ce stade, on a forcement un segment suivant /// Si le segment suivant n'est pas statique, le mouvement est possible. if (next_segment -> hasNextSegment()) { possible_dx = asked_dx; return(true); } // a ce stade, le segment suivant est forcement statique /// Si le segment suivant est vertical, le mouvement est possible : /// il induira la creation d'un segment horizontal supplementaire. if (next_segment -> isVertical()) { possible_dx = asked_dx; return(true); } // a ce stade, le segment suivant est forcement horizontal // recupere quelques donnees qreal next_segment_second_x = next_segment -> point2.x(); qreal second_x = point2.x(); /// Il se peut que le mouvement doive etre limite de facon a ce /// que le segment statique conserve une taille minimale. if (next_segment -> length() < 0.0) { if (second_x + asked_dx < next_segment_second_x + 12.0) { possible_dx = -second_x + next_segment_second_x + 12.0; return(false); } else { possible_dx = asked_dx; return(true); } } else { if (second_x + asked_dx >= next_segment_second_x - 12.0) { possible_dx = next_segment_second_x - 12.0 - second_x; return(false); } else { possible_dx = asked_dx; return(true); } } } /** Permet de savoir s'il est possible de deplacer le premier point du segment sans creer d'incoherence. La valeur du mouvement maximum qu'il est possible de faire sans incoherence est stockee dans le second parametre. @param asked_dy La valeur du mouvement demande @param possible_dy La valeur du mouvement possible (au maximum) @return true si le mouvement est possible ; false s'il doit etre limite */ bool ConductorSegment::canMove1stPointY(const qreal &asked_dy, qreal &possible_dy) const { Q_ASSERT_X(isHorizontal(), "ConductorSegment::canMove1stPointY", "segment non horizontal"); /// On ne bouge jamais le premier point d'un segment statique. if (isStatic()) { possible_dy = 0.0; return(false); } // a ce stade, on a forcement un segment precedent /// Si le segment precedent n'est pas statique, le mouvement est possible. if (previous_segment -> hasPreviousSegment()) { possible_dy = asked_dy; return(true); } // a ce stade, le segment precedent est forcement statique /// Si le segment precedent est horizontal, le mouvement est possible : /// il induira la creation d'un segment vertical supplementaire. if (previous_segment -> isHorizontal()) { possible_dy = asked_dy; return(true); } // a ce stade, le segment precedent est forcement vertical // recupere quelques donnees qreal prev_segment_first_y = previous_segment -> point1.y(); qreal first_y = point1.y(); /// Il se peut que le mouvement doive etre limite de facon a ce /// que le segment statique conserve une taille minimale. if (previous_segment -> length() > 0.0) { if (first_y + asked_dy < prev_segment_first_y + 12.0) { possible_dy = -first_y + prev_segment_first_y + 12.0; return(false); } else { possible_dy = asked_dy; return(true); } } else { if (first_y + asked_dy >= prev_segment_first_y - 12.0) { possible_dy = prev_segment_first_y - 12.0 - first_y; return(false); } else { possible_dy = asked_dy; return(true); } } } /** Permet de savoir s'il est possible de deplacer le second point du segment sans creer d'incoherence. La valeur du mouvement maximum qu'il est possible de faire sans incoherence est stockee dans le second parametre. @param asked_dy La valeur du mouvement demande @param possible_dy La valeur du mouvement possible (au maximum) @return true si le mouvement est possible ; false s'il doit etre limite */ bool ConductorSegment::canMove2ndPointY(const qreal &asked_dy, qreal &possible_dy) const { Q_ASSERT_X(isHorizontal(), "ConductorSegment::canMove2ndPointY", "segment non horizontal"); /// On ne modifie jamais l'abscisse du second point d'un segment statique. if (isStatic()) { possible_dy = 0.0; return(false); } // a ce stade, on a forcement un segment suivant /// Si le segment suivant n'est pas statique, le mouvement est possible. if (next_segment -> hasNextSegment()) { possible_dy = asked_dy; return(true); } // a ce stade, le segment suivant est forcement statique /// Si le segment suivant est horizontal, le mouvement est possible : /// il induira la creation d'un segment vertical supplementaire. if (next_segment -> isHorizontal()) { possible_dy = asked_dy; return(true); } // a ce stade, le segment suivant est forcement vertical // recupere quelques donnees qreal next_segment_second_y = next_segment -> point2.y(); qreal second_y = point2.y(); /// Il se peut que le mouvement doive etre limite de facon a ce /// que le segment statique conserve une taille minimale. if (next_segment -> length() < 0.0) { if (second_y + asked_dy < next_segment_second_y + 12.0) { possible_dy = -second_y + next_segment_second_y + 12.0; return(false); } else { possible_dy = asked_dy; return(true); } } else { if (second_y + asked_dy >= next_segment_second_y - 12.0) { possible_dy = next_segment_second_y - 12.0 - second_y; return(false); } else { possible_dy = asked_dy; return(true); } } } /** Gere les mouvements sur l'axe horizontal @param dx taille du deplacement en pixels */ void ConductorSegment::moveX(const qreal &dx) { if (isHorizontal()) return; Q_ASSERT_X(isVertical(), "ConductorSegment::moveX", "segment non vertical"); bool has_prev_segment = hasPreviousSegment(); bool has_next_segment = hasNextSegment(); if (isStatic()) return; // determine si le mouvement demande doit etre limite et, le cas echeant, a quelle valeur il faut le limiter qreal real_dx_for_1st_point = 0.0; qreal real_dx_for_2nd_point = 0.0; canMove1stPointX(dx, real_dx_for_1st_point); canMove2ndPointX(dx, real_dx_for_2nd_point); qreal final_movement = (dx <= 0.0) ? qMax(real_dx_for_1st_point, real_dx_for_2nd_point) : qMin(real_dx_for_1st_point, real_dx_for_2nd_point); // applique le mouvement au premier point if (has_prev_segment) { point1.rx() += final_movement; if (previous_segment -> isFirstSegment()) { new ConductorSegment( previous_segment -> point2, point1, previous_segment, this ); } else previous_segment -> setSecondPoint(point1); } // applique le mouvement au second point if (has_next_segment) { point2.rx() += final_movement; if (next_segment -> isLastSegment()) { new ConductorSegment( point2, next_segment -> point1, this, next_segment ); } else next_segment -> setFirstPoint(point2); } } /** Gere les mouvements sur l'axe vertical @param dy taille du deplacement en pixels */ void ConductorSegment::moveY(const qreal &dy) { if (isVertical()) return; Q_ASSERT_X(isHorizontal(), "ConductorSegment::moveY", "segment non horizontal"); bool has_prev_segment = hasPreviousSegment(); bool has_next_segment = hasNextSegment(); if (isStatic()) return; // determine si le mouvement demande doit etre limite et, le cas echeant, a quelle valeur il faut le limiter qreal real_dy_for_1st_point = 0.0; qreal real_dy_for_2nd_point = 0.0; canMove1stPointY(dy, real_dy_for_1st_point); canMove2ndPointY(dy, real_dy_for_2nd_point); qreal final_movement = (dy <= 0.0) ? qMax(real_dy_for_1st_point, real_dy_for_2nd_point) : qMin(real_dy_for_1st_point, real_dy_for_2nd_point); // applique le mouvement au premier point if (has_prev_segment) { point1.ry() += final_movement; if (previous_segment -> isFirstSegment()) { new ConductorSegment( previous_segment -> point2, point1, previous_segment, this ); } else previous_segment -> setSecondPoint(point1); } // applique le mouvement au second point if (has_next_segment) { point2.ry() += final_movement; if (next_segment -> isLastSegment()) { new ConductorSegment( point2, next_segment -> point1, this, next_segment ); } else next_segment -> setFirstPoint(point2); } } /** Change le segment precedent @param ps Le nouveau segment precedent */ void ConductorSegment::setPreviousSegment(ConductorSegment *ps) { previous_segment = ps; if (hasPreviousSegment()) { if (previousSegment() -> nextSegment() != this) previousSegment() -> setNextSegment(this); } } /** Change le segment suivant @param ns Le nouveau segment suivant */ void ConductorSegment::setNextSegment(ConductorSegment *ns) { next_segment = ns; if (hasNextSegment()) { if (nextSegment() -> previousSegment() != this) nextSegment() -> setPreviousSegment(this); } } /// @return true si ce segment est un segment statique, cad un segment relie a une borne bool ConductorSegment::isStatic() const { return(isFirstSegment() || isLastSegment()); } /// @return true si ce segment est le premier du conducteur bool ConductorSegment::isFirstSegment() const { return(!hasPreviousSegment()); } /// @return true si ce segment est le dernier du conducteur bool ConductorSegment::isLastSegment() const { return(!hasNextSegment()); } /** @return Le segment precedent */ ConductorSegment *ConductorSegment::previousSegment() const { return(previous_segment); } /** @return Le segment suivant */ ConductorSegment *ConductorSegment::nextSegment() const { return(next_segment); } /** @return true si le segment est vertical, false sinon */ bool ConductorSegment::isVertical() const { return(point1.x() == point2.x()); } /** @return true si le segment est horizontal, false sinon */ bool ConductorSegment::isHorizontal() const { return(point1.y() == point2.y()); } /** @return le premier point du segment */ QPointF ConductorSegment::firstPoint() const { return(point1); } /** @return le second point du segment */ QPointF ConductorSegment::secondPoint() const { return(point2); } /** Permet de changer la position du premier point du segment @param p La nouvelle position du premier point */ void ConductorSegment::setFirstPoint(const QPointF &p) { point1 = p; } /** Permet de changer la position du second point du segment @param p La nouvelle position du second point */ void ConductorSegment::setSecondPoint(const QPointF &p) { point2 = p; } /** @return true si le segment a un segment precedent, false sinon */ bool ConductorSegment::hasPreviousSegment() const { return(previous_segment != NULL); } /** @return true si le segment a un segment suivant, false sinon */ bool ConductorSegment::hasNextSegment() const { return(next_segment != NULL); } /** @return Le centre du rectangle delimitant le conducteur */ QPointF ConductorSegment::middle() const { return( QPointF( (point1.x() + point2.x()) / 2.0, (point1.y() + point2.y()) / 2.0 ) ); } /** @return La longueur du conducteur */ qreal ConductorSegment::length() const { if (isHorizontal()) { return(secondPoint().x() - firstPoint().x()); } else { return(secondPoint().y() - firstPoint().y()); } } /// @return QET::Horizontal si le segment est horizontal, QET::Vertical sinon QET::ConductorSegmentType ConductorSegment::type() const { return(isHorizontal() ? QET::Horizontal : QET::Vertical); } /// @return true si les deux points constituant le segment sont egaux bool ConductorSegment::isPoint() const { return(point1 == point2); } qelectrotech-0.22+svn897/sources/basicmoveelementshandler.cpp0000644000175000017500000000754711320140732024337 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "basicmoveelementshandler.h" /** Constructeur @param parent QObject parent */ BasicMoveElementsHandler::BasicMoveElementsHandler(QObject *parent) : MoveElementsHandler(parent), already_exists_(QET::Erase), not_readable_(QET::Ignore), not_writable_(QET::Ignore), error_(QET::Ignore), rename_("renamed") { } /** Destructeur */ BasicMoveElementsHandler::~BasicMoveElementsHandler() { } /** @param action Action a renvoyer si un item existe deja */ void BasicMoveElementsHandler::setActionIfItemAlreadyExists(QET::Action action) { already_exists_ = action; } /** @param action Action a renvoyer si un item n'est pas lisible */ void BasicMoveElementsHandler::setActionIfItemIsNotReadable(QET::Action action) { not_readable_ = action; } /** @param action Action a renvoyer si un item n'est pas accessible en ecriture */ void BasicMoveElementsHandler::setActionIfItemIsNotWritable(QET::Action action) { not_writable_ = action; } /** @param action Action a renvoyer si un item provoque une erreur */ void BasicMoveElementsHandler::setActionIfItemTriggersAnError(QET::Action action) { error_ = action; } /** @param name Nom a renvoyer pour une eventuelle operation de renommage Il est toutefois deconseille de proceder a un renommage systematique, vu que cette propriete est invariable. */ void BasicMoveElementsHandler::setNameForRenamingOperation(const QString &name) { rename_ = name; } /** @return l'action a effectuer si la categorie cible existe deja */ QET::Action BasicMoveElementsHandler::categoryAlreadyExists(ElementsCategory *, ElementsCategory *) { return(already_exists_); } /** @return l'action a effectuer si l'element cible existe deja */ QET::Action BasicMoveElementsHandler::elementAlreadyExists(ElementDefinition *, ElementDefinition *) { return(already_exists_); } /** @return l'action a effectuer si la categorie existe deja */ QET::Action BasicMoveElementsHandler::categoryIsNotReadable(ElementsCategory *) { return(not_readable_); } /** @return l'action a effectuer si l'element existe deja */ QET::Action BasicMoveElementsHandler::elementIsNotReadable(ElementDefinition *) { return(not_readable_); } /** @return l'action a effectuer si la categorie cible n'est pas accessible en ecriture */ QET::Action BasicMoveElementsHandler::categoryIsNotWritable(ElementsCategory *) { return(not_writable_); } /** @return l'action a effectuer si l'element cible n'est pas accessible en ecriture */ QET::Action BasicMoveElementsHandler::elementIsNotWritable(ElementDefinition *) { return(not_writable_); } /** @return l'action a effectuer lorsque l'erreur decrite dans la QString s'est produite avec la categorie indiquee */ QET::Action BasicMoveElementsHandler::errorWithACategory(ElementsCategory *, const QString &) { return(error_); } /** @return l'action a effectuer lorsque l'erreur decrite dans la QString s'est produite avec l'element indique */ QET::Action BasicMoveElementsHandler::errorWithAnElement(ElementDefinition *, const QString &) { return(error_); } /** @return le nom a utiliser pour le renommage si une methode de cet objet a precedemment renvoye QET::Rename. */ QString BasicMoveElementsHandler::nameForRenamingOperation() { return(rename_); } qelectrotech-0.22+svn897/sources/borderinset.cpp0000644000175000017500000003252211322432130021601 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include #include "borderinset.h" #include "diagramposition.h" #include "qetapp.h" #include "math.h" /** Constructeur simple : construit une bordure en recuperant les dimensions dans la configuration de l'application. @param parent QObject parent de ce BorderInset */ BorderInset::BorderInset(QObject *parent) : QObject(parent) { // dimensions par defaut du schema importBorder(BorderProperties()); // contenu par defaut du cartouche importInset(InsetProperties()); // hauteur du cartouche inset_height = 50.0; display_inset = true; display_border = true; setFolioData(1, 1); updateRectangles(); } /** Destructeur - ne fait rien */ BorderInset::~BorderInset() { } /** @return Le nombre minimum de colonnes qu'un schema doit comporter */ int BorderInset::minNbColumns() { return(3); } /** @return la largeur minimale d'une colonne de schema */ qreal BorderInset::minColumnsWidth() { return(5.0); } /** @return Le nombre minimum de lignes qu'un schema doit comporter */ int BorderInset::minNbRows() { return(2); } /** @return la hauteur minimale d'une ligne de schema */ qreal BorderInset::minRowsHeight() { return(5.0); } /** @return les proprietes du cartouches */ InsetProperties BorderInset::exportInset() { InsetProperties ip; ip.author = bi_author; ip.date = bi_date; ip.title = bi_title; ip.folio = bi_folio; ip.filename = bi_filename; return(ip); } /** @param ip les nouvelles proprietes du cartouche */ void BorderInset::importInset(const InsetProperties &ip) { bi_author = ip.author; bi_date = ip.date; setTitle(ip.title); bi_folio = ip.folio; bi_filename = ip.filename; emit(needFolioData()); } /** @return les proprietes de la bordure */ BorderProperties BorderInset::exportBorder() { BorderProperties bp; bp.columns_count = nbColumns(); bp.columns_width = columnsWidth(); bp.columns_header_height = columnsHeaderHeight(); bp.display_columns = columnsAreDisplayed(); bp.rows_count = nbRows(); bp.rows_height = rowsHeight(); bp.rows_header_width = rowsHeaderWidth(); bp.display_rows = rowsAreDisplayed(); return(bp); } /** @param bp les nouvelles proprietes de la bordure */ void BorderInset::importBorder(const BorderProperties &bp) { setColumnsHeaderHeight(bp.columns_header_height); setNbColumns(bp.columns_count); setColumnsWidth(bp.columns_width); displayColumns(bp.display_columns); setRowsHeaderWidth(bp.rows_header_width); setNbRows(bp.rows_count); setRowsHeight(bp.rows_height); displayRows(bp.display_rows); } /** @param di true pour afficher le cartouche, false sinon */ void BorderInset::displayInset(bool di) { bool change = (di != display_inset); display_inset = di; if (change) emit(displayChanged()); } /** @param dc true pour afficher les entetes des colonnes, false sinon */ void BorderInset::displayColumns(bool dc) { bool change = (dc != display_columns); display_columns = dc; if (change) emit(displayChanged()); } /** @param dr true pour afficher les entetes des lignes, false sinon */ void BorderInset::displayRows(bool dr) { bool change = (dr != display_rows); display_rows = dr; if (change) emit(displayChanged()); } /** @param db true pour afficher la bordure du schema, false sinon Note : si l'affichage de la bordure est ainsi desactivee, les lignes et colonnes ne seront pas dessinees. */ void BorderInset::displayBorder(bool db) { bool change = (db != display_border); display_border = db; if (change) emit(displayChanged()); } /** Methode recalculant les rectangles composant le cadre et le cartouche en fonction des attributs de taille */ void BorderInset::updateRectangles() { // rectangle delimitant le schema QRectF previous_diagram = diagram; diagram = QRectF(0, 0, diagramWidth(), diagramHeight()); if (diagram != previous_diagram) emit(borderChanged(previous_diagram, diagram)); // rectangles relatifs au cartouche inset = QRectF(diagram.bottomLeft().x(), diagram.bottomLeft().y(), inset_width, inset_height); inset_author = QRectF(inset.topLeft(), QSizeF(2.0 * inset_width / 9.0, 0.5 * inset_height)); inset_date = QRectF(inset_author.bottomLeft(), inset_author.size()); inset_title = QRectF(inset_author.topRight(), QSizeF(5.0 * inset_width / 9.0, inset_height)); inset_file = QRectF(inset_title.topRight(), inset_author.size()); inset_folio = QRectF(inset_file.bottomLeft(), inset_author.size()); } /** Dessine le cadre et le cartouche @param qp QPainter a utiliser pour dessiner le cadre et le cartouche @param x Abscisse du cadre @param y Ordonnee du cadre */ void BorderInset::draw(QPainter *qp, qreal x, qreal y) { // translate tous les rectangles diagram .translate(x, y); inset .translate(x, y); inset_author.translate(x, y); inset_date .translate(x, y); inset_title .translate(x, y); inset_file .translate(x, y); inset_folio .translate(x, y); // prepare le QPainter qp -> save(); qp -> setPen(Qt::black); qp -> setBrush(Qt::NoBrush); // dessine le cadre if (display_border) qp -> drawRect(diagram); qp -> setFont(QETApp::diagramTextsFont()); // dessine la case vide qui apparait des qu'il y a un entete if (display_border && (display_columns || display_rows)) { qp -> setBrush(Qt::white); QRectF first_rectangle( diagram.topLeft().x(), diagram.topLeft().y(), rows_header_width, columns_header_height ); qp -> drawRect(first_rectangle); } // dessine la numerotation des colonnes if (display_border && display_columns) { for (int i = 1 ; i <= nb_columns ; ++ i) { QRectF numbered_rectangle = QRectF( diagram.topLeft().x() + (rows_header_width + ((i - 1) * columns_width)), diagram.topLeft().y(), columns_width, columns_header_height ); qp -> drawRect(numbered_rectangle); qp -> drawText(numbered_rectangle, Qt::AlignVCenter | Qt::AlignCenter, QString("%1").arg(i)); } } // dessine la numerotation des lignes if (display_border && display_rows) { QString row_string("A"); for (int i = 1 ; i <= nb_rows ; ++ i) { QRectF lettered_rectangle = QRectF( diagram.topLeft().x(), diagram.topLeft().y() + (columns_header_height + ((i - 1) * rows_height)), rows_header_width, rows_height ); qp -> drawRect(lettered_rectangle); qp -> drawText(lettered_rectangle, Qt::AlignVCenter | Qt::AlignCenter, row_string); row_string = incrementLetters(row_string); } } // dessine le cartouche if (display_inset) { qp -> setBrush(Qt::white); qp -> drawRect(inset); qp -> drawRect(inset_author); qp -> drawText(inset_author, Qt::AlignVCenter | Qt::AlignLeft, QString(tr(" Auteur : %1", "inset content")).arg(bi_author)); qp -> drawRect(inset_date); qp -> drawText(inset_date, Qt::AlignVCenter | Qt::AlignLeft, QString(tr(" Date : %1", "inset content")).arg(bi_date.toString("dd/MM/yyyy"))); qp -> drawRect(inset_title); qp -> drawText(inset_title, Qt::AlignVCenter | Qt::AlignCenter, QString("%1").arg(bi_title)); qp -> drawRect(inset_file); qp -> drawText(inset_file, Qt::AlignVCenter | Qt::AlignLeft, QString(tr(" Fichier : %1", "inset content")).arg(bi_filename)); qp -> drawRect(inset_folio); qp -> drawText(inset_folio, Qt::AlignVCenter | Qt::AlignLeft, QString(tr(" Folio : %1", "inset content")).arg(bi_final_folio)); } qp -> restore(); // annule la translation des rectangles diagram .translate(-x, -y); inset .translate(-x, -y); inset_author.translate(-x, -y); inset_date .translate(-x, -y); inset_title .translate(-x, -y); inset_file .translate(-x, -y); inset_folio .translate(-x, -y); } /** Ajoute une colonne. */ void BorderInset::addColumn() { setNbColumns(nbColumns() + 1); } /** Enleve une colonne sans passer sous le minimum requis. @see minNbColumns() */ void BorderInset::removeColumn() { setNbColumns(nbColumns() - 1); } /** Ajoute une ligne. */ void BorderInset::addRow() { setNbRows(nbRows() + 1); } /** Enleve une ligne sans passer sous le minimum requis. @see minNbRows() */ void BorderInset::removeRow() { setNbRows(nbRows() - 1); } /** Permet de changer le nombre de colonnes. Si ce nombre de colonnes est inferieur au minimum requis, c'est ce minimum qui est utilise. @param nb_c nouveau nombre de colonnes @see minNbColumns() */ void BorderInset::setNbColumns(int nb_c) { if (nb_c == nbColumns()) return; nb_columns = qMax(minNbColumns(), nb_c); setInsetWidth(diagramWidth()); } /** Change la largeur des colonnes. Si la largeur indiquee est inferieure au minimum requis, c'est ce minimum qui est utilise. @param new_cw nouvelle largeur des colonnes @see minColumnsWidth() */ void BorderInset::setColumnsWidth(const qreal &new_cw) { if (new_cw == columnsWidth()) return; columns_width = qMax(minColumnsWidth(), new_cw); setInsetWidth(diagramWidth()); } /** Change la hauteur des en-tetes contenant les numeros de colonnes. Celle-ci doit rester comprise entre 5 et 50 px. @param new_chh nouvelle hauteur des en-tetes de colonnes */ void BorderInset::setColumnsHeaderHeight(const qreal &new_chh) { columns_header_height = qBound(qreal(5.0), new_chh, qreal(50.0)); updateRectangles(); } /** Permet de changer le nombre de lignes. Si ce nombre de lignes est inferieur au minimum requis, cette fonction ne fait rien @param nb_r nouveau nombre de lignes @see minNbRows() */ void BorderInset::setNbRows(int nb_r) { if (nb_r == nbRows()) return; nb_rows = qMax(minNbRows(), nb_r); setInsetWidth(diagramWidth()); updateRectangles(); } /** Change la hauteur des lignes. Si la hauteur indiquee est inferieure au minimum requis, c'est ce minimum qui est utilise. @param new_rh nouvelle hauteur des lignes @see minRowsHeight() */ void BorderInset::setRowsHeight(const qreal &new_rh) { if (new_rh == rowsHeight()) return; rows_height = qMax(minRowsHeight(), new_rh); updateRectangles(); } /** Change la largeur des en-tetes contenant les numeros de lignes. Celle-ci doit rester comprise entre 5 et 50 px. @param new_rhw nouvelle largeur des en-tetes des lignes */ void BorderInset::setRowsHeaderWidth(const qreal &new_rhw) { rows_header_width = qBound(qreal(5.0), new_rhw, qreal(50.0)); updateRectangles(); } /** Cette methode essaye de se rapprocher le plus possible de la hauteur donnee en parametre en modifiant le nombre de lignes en cours. */ void BorderInset::setDiagramHeight(const qreal &height) { // taille des lignes a utiliser = rows_height setNbRows(qRound(ceil(height / rows_height))); } /** Change la largeur du cartouche. Cette largeur sera restreinte a celle du schema. */ void BorderInset::setInsetWidth(const qreal &new_iw) { inset_width = qMin(diagramWidth(), new_iw); updateRectangles(); } /** Change la hauteur du cartouche. Cette hauteur doit rester comprise entre 20px et la hauteur du schema. */ void BorderInset::setInsetHeight(const qreal &new_ih) { inset_height = qMax(qreal(20.0), qMin(diagramHeight(), new_ih)); updateRectangles(); } /** Ajuste la largeur du cartouche de facon a ce que celui-ci soit aussi large que le schema */ void BorderInset::adjustInsetToColumns() { setInsetWidth(diagramWidth()); } /** @param pos Position cartesienne (ex : 10.3, 45.2) a transformer en position dans la grille (ex : B2) @return la position dans la grille correspondant a pos */ DiagramPosition BorderInset::convertPosition(const QPointF &pos) { // recupere le rectangle quadrille par les en-tetes QRectF grid_rect( rowsHeaderWidth(), columnsHeaderHeight(), diagramWidth(), diagramHeight() ); if (!grid_rect.contains(pos)) { return(DiagramPosition("", 0)); } QPointF relative_pos = pos - grid_rect.topLeft(); int row_number = int(ceil(relative_pos.x() / columnsWidth())); int column_number = int(ceil(relative_pos.y() / rowsHeight())); QString letter = "A"; for (int i = 1 ; i < column_number ; ++ i) { letter = incrementLetters(letter); } return(DiagramPosition(letter, row_number)); } QString BorderInset::incrementLetters(const QString &string) { if (string.isEmpty()) { return("A"); } else { // separe les digits precedents du dernier digit QString first_digits(string.left(string.count() - 1)); QChar last_digit(string.at(string.count() - 1)); if (last_digit != 'Z') { // incremente le dernier digit last_digit = last_digit.toAscii() + 1; return(first_digits + QString(last_digit)); } else { return(incrementLetters(first_digits) + "A"); } } } /** @param index numero du schema (de 1 a total) @param total nombre total de schemas dans le projet */ void BorderInset::setFolioData(int index, int total) { if (index < 1 || total < 1 || index > total) return; // memorise les informations folio_index_ = index; folio_total_ = total; // regenere le contenu du champ folio bi_final_folio = bi_folio; bi_final_folio.replace("%id", QString::number(folio_index_)); bi_final_folio.replace("%total", QString::number(folio_total_)); } qelectrotech-0.22+svn897/sources/fileelementscategory.cpp0000644000175000017500000003434211320140732023477 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "fileelementscategory.h" #include "fileelementscollection.h" #include "fileelementdefinition.h" /** Constructeur @param path Chemin du dossier de la categorie @param parent Categorie parente @param coll Collection parente */ FileElementsCategory::FileElementsCategory(const QString &path, FileElementsCategory *parent, FileElementsCollection *coll) : ElementsCategory(parent, coll), file_parent_collection_(coll), file_parent_category_(parent), cat_dir(path) { reload(); } /** Destructeur */ FileElementsCategory::~FileElementsCategory() { deleteContent(); } /** @return le nom de la categorie utilisable dans un chemin (virtuel ou reel) */ QString FileElementsCategory::pathName() const { return(cat_dir.dirName()); } /** @return le chemin virtuel de la categorie, sans le protocole */ QString FileElementsCategory::virtualPath() { // il n'est pas possible d'avoir un chemin virtuel sans appartenir a une collection if (!hasParentCollection()) return(QString()); // recupere le chemin absolu de la racine de la collection QString root_abs_path(parentCollection() -> filePath()); if (!filePath().startsWith(root_abs_path)) return(QString()); QString virtual_path(filePath()); virtual_path.remove(root_abs_path); virtual_path.remove(QRegExp("^/")); return(virtual_path); } /** @return true si la categorie possede un chemin sur un systeme de fichiers */ bool FileElementsCategory::hasFilePath() { return(!filePath().isEmpty()); } /** @return le chemin sur le systeme de fichiers de la categorie */ QString FileElementsCategory::filePath() { return(cat_dir.path()); } /** Definit le chemin du dossier representant la categorie @param p nouveau chemin du dossier representant la categorie */ void FileElementsCategory::setFilePath(const QString &p) { cat_dir.setPath(p); } /** @return la liste des sous-categories de la categorie */ QList FileElementsCategory::categories() { QList result; QList keys(categories_.keys()); qSort(keys.begin(), keys.end()); foreach(QString key, keys) result << categories_[key]; return(result); } /** @return la categorie correspondant au chemin virtuel cat_path, ou 0 en cas d'echec @param cat_path Chemin virtuel de la categorie voulue */ ElementsCategory *FileElementsCategory::category(const QString &cat_path) { // recupere les differentes parties du chemin QString cat_path_(cat_path); QStringList path_parts = cat_path_.split(QChar('/'), QString::SkipEmptyParts, Qt::CaseInsensitive); if (!path_parts.count()) { return(this); } else { // a-t-on la premiere sous-categorie ? if (!categories_.contains(path_parts.first())) { return(0); } // on a la premiere sous-categorie ElementsCategory *first_sub_cat = categories_.value(path_parts.first()); if (path_parts.count() == 1) return(first_sub_cat); // on demande a la premiere sous-categorie de fournir la categorie finale path_parts.removeFirst(); return(first_sub_cat -> category(path_parts.join("/"))); } } /** Cree une categorie. La categorie parente doit exister. @param path chemin d'une categorie a creer sous la forme d'une adresse virtuelle comme common://cat1/cat2/cat3 @return la nouvelle categorie demandee, ou 0 en cas d'echec */ ElementsCategory *FileElementsCategory::createCategory(const QString &path) { // on ne doit pas etre en lecture seule if (!isWritable()) return(0); // recupere les differentes parties du chemin QString cat_path_(path); QStringList path_parts = cat_path_.split(QChar('/'), QString::SkipEmptyParts, Qt::CaseInsensitive); if (!path_parts.count()) { // le chemin est vide, on renvoie 0 return(0); } else if (path_parts.count() == 1) { // il n'y a plus qu'une categorie dans le chemin : il faut la creer ici // on verifie si la categorie n'existe pas deja if (categories_.contains(path_parts[0])) { return(categories_.value(path_parts[0])); } // on cree un objet FileElementsCategory *new_category = new FileElementsCategory( cat_dir.absolutePath() + "/" + path_parts[0], this, file_parent_collection_ ); // on l'integre dans la liste des sous-categories connues categories_.insert(path_parts[0], new_category); // on le renvoie return(new_category); } else { // il y a plusieurs categories dans le chemin : // on delegue le travail a la premiere sous-categorie // a-t-on la premiere sous-categorie ? if (!categories_.contains(path_parts.first())) { return(0); } // on a la premiere sous-categorie ElementsCategory *first_sub_cat = categories_.value(path_parts.first()); // on demande a la premiere sous-categorie de fournir la categorie finale path_parts.removeFirst(); return(first_sub_cat -> category(path_parts.join("/"))); } } /** @return la liste des elements de la categorie */ QList FileElementsCategory::elements() { QList result; QList keys(elements_.keys()); qSort(keys.begin(), keys.end()); foreach(QString key, keys) result << elements_[key]; return(result); } /** @return l'element correspondant au chemin virtuel elmt_path, ou 0 en cas d'echec @param elmt_path Chemin virtuel de l'element voulu */ ElementDefinition *FileElementsCategory::element(const QString &elmt_path) { // recupere les differentes parties du chemin QString elmt_path_(elmt_path); QStringList path_parts = elmt_path_.split(QChar('/'), QString::SkipEmptyParts, Qt::CaseInsensitive); if (!path_parts.count()) { // chemin vide return(0); } else if (path_parts.count() == 1) { // seulement le nom de fichier QString element_filename = path_parts.takeLast(); if (!elements_.contains(element_filename)) { return(0); } else { return(elements_.value(element_filename)); } } else { // separe le nom de fichier du chemin de la categorie et recupere celle-ci QString element_filename = path_parts.takeLast(); ElementsCategory *elmt_cat = category(path_parts.join("/")); if (!elmt_cat) { return(0); } else { return(elmt_cat -> element(element_filename)); } } } /** Cree un element. La categorie parente doit exister. @param path chemin d'un element a creer sous la forme d'une adresse virtuelle comme common://cat1/cat2/cat3/dog.elmt @return le nouvel element demande, ou 0 en cas d'echec */ ElementDefinition *FileElementsCategory::createElement(const QString &path) { // on ne doit pas etre en lecture seule if (!isWritable()) return(0); // recupere les differentes parties du chemin QString cat_path_(path); QStringList path_parts = cat_path_.split(QChar('/'), QString::SkipEmptyParts, Qt::CaseInsensitive); if (!path_parts.count()) { // le chemin est vide, on renvoie 0 return(0); } else if (path_parts.count() == 1) { // il n'y a plus que l'element dans le chemin : il faut le creer ici // on verifie si l'element n'existe pas deja if (elements_.contains(path_parts[0])) { return(elements_.value(path_parts[0])); } // on cree un objet FileElementDefinition *new_element = new FileElementDefinition( cat_dir.absolutePath() + "/" + path_parts[0], this, file_parent_collection_ ); // on l'integre dans la liste des elements connus elements_.insert(path_parts[0], new_element); // on le renvoie return(new_element); } else { // il y a plusieurs categories dans le chemin : // on delegue le travail a la premiere sous-categorie // a-t-on la premiere sous-categorie ? if (!categories_.contains(path_parts.first())) { return(0); } // on a la premiere sous-categorie ElementsCategory *first_sub_cat = categories_.value(path_parts.first()); // on demande a la premiere sous-categorie de fournir la categorie finale path_parts.removeFirst(); return(first_sub_cat -> createElement(path_parts.join("/"))); } } /** @return true si le dossier representant la categorie existe */ bool FileElementsCategory::exists() { return(cat_dir.exists()); } /** @return true si la categorie est accessible en lecture Cett methode retourne true a partir du moment ou le dossier representant cette categorie est accessible en lecture. Il se peut que les elements ou le fichier qet_directory a l'interieur ne soient pas accessibles en ecriture. */ bool FileElementsCategory::isReadable() { return(QFileInfo(cat_dir.absolutePath()).isReadable()); } /** @return true s'il est possible d'ecrire le fichier qet_directory dans la categorie */ bool FileElementsCategory::isWritable() { // informations sur le dossier de la categorie QFileInfo category(cat_dir.absolutePath()); QFileInfo qet_directory(cat_dir.absolutePath() + "/qet_directory"); /* soit qet_directory n'existe pas et le dossier est accessible en ecriture, soit qet_directory existe et est accessible en ecriture */ return( category.isWritable() && // le dossier lui-meme est accessible en ecriture ( !qet_directory.exists() || (qet_directory.exists() && qet_directory.isWritable()) ) // le fichier qet_directory est accessible en ecriture ); } /** Recharge le contenu et les noms de la categorie */ void FileElementsCategory::reload() { // supprime l'ancien contenu deleteContent(); category_names.clearNames(); // la categorie doit exister if (!cat_dir.exists()) return; // charge les noms de la categorie loadNames(); // charge les sous-categories QStringList dirs = cat_dir.entryList(QStringList(), QDir::AllDirs | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDir::Name); foreach(QString dir, dirs) { categories_.insert(dir, new FileElementsCategory(cat_dir.absoluteFilePath(dir), this, file_parent_collection_)); } // charge les elements QStringList elmts = cat_dir.entryList(QStringList("*.elmt"), QDir::Files, QDir::Name); foreach(QString elmt, elmts) { elements_.insert(elmt, new FileElementDefinition(cat_dir.absoluteFilePath(elmt), this, file_parent_collection_)); } } /** Supprime le contenu de la categorie puis la categorie elle-meme @return true si l'operation s'est bien passee, false sinon */ bool FileElementsCategory::remove() { // suppression du contenu de la categorie if (!removeContent()) return(false); // une categorie racine ne se supprime pas elle-meme if (isRootCategory()) return(true); // suppression du fichier de description de la categorie if (cat_dir.exists("qet_directory")) { if (!cat_dir.remove("qet_directory")) return(false); } // suppression de la categorie elle-meme return(cat_dir.rmdir(cat_dir.absolutePath())); } /** Supprime le contenu de la categorie sans supprimer la categorie elle-meme. @return true si l'operation s'est bien passee, false sinon */ bool FileElementsCategory::removeContent() { // suppression des sous-categories foreach(QString cat_name, categories_.keys()) { ElementsCategory *cat = categories_.value(cat_name); if (cat -> remove()) { categories_.take(cat_name); delete cat; } else { return(false); } } // suppression des elements foreach(QString elmt_name, elements_.keys()) { ElementDefinition *elmt = elements_.value(elmt_name); if (elmt -> remove()) { elements_.take(elmt_name); delete elmt; } else { return(false); } } return(true); } /** Cree la categorie @return true si la creation a reussi, false sinon */ bool FileElementsCategory::write() { // cree le dossier de la categorie if (!cat_dir.mkpath(cat_dir.path())) return(false); // prepare la structure XML QDomDocument document; QDomElement root = document.createElement("qet-directory"); document.appendChild(root); root.appendChild(category_names.toXml(document)); // repere le chemin du fichier de configuration de la categorie QFile directory_conf(cat_dir.absolutePath() + "/qet_directory"); // ouvre le fichier if (!directory_conf.open(QIODevice::Text | QIODevice::WriteOnly)) return(false); // ecrit le fichier QTextStream out(&directory_conf); out.setCodec("UTF-8"); out << document.toString(4); // ferme le fichier directory_conf.close(); return(true); } /** Supprime un repertoire recursivement. @return true si la suppression a reussie, false sinon */ bool FileElementsCategory::rmdir(const QString &path) const { QDir directory(path); // supprime les dossiers, recursivement foreach (QString file, directory.entryList(QDir::AllDirs | QDir::NoDotAndDotDot)) { if (!rmdir(directory.absolutePath() + "/" + file)) return(false); } // supprime les fichiers foreach (QString file, directory.entryList(QDir::Files | QDir::NoDotAndDotDot)) { if (!directory.remove(file)) return(false); } // supprime le dossier lui-meme return(directory.rmdir(path)); } /** Charge la liste des noms possibles pour la categorie */ void FileElementsCategory::loadNames() { // repere le chemin du fichier de configuration de la categorie QFile directory_conf(cat_dir.absolutePath() + "/qet_directory"); // verifie l'existence du fichier if (!directory_conf.exists()) return; // ouvre le fichier if (!directory_conf.open(QIODevice::ReadOnly | QIODevice::Text)) return; // lit le contenu du fichier dans un QDomDocument XML QDomDocument document; if (!document.setContent(&directory_conf)) return; // verifie la racine QDomElement root = document.documentElement(); if (root.tagName() != "qet-directory") return; category_names.fromXml(root); // ferme le fichier directory_conf.close(); } /** Supprime le contenu de la categorie en memoire */ void FileElementsCategory::deleteContent() { // suppression des elements foreach(QString elmt_name, elements_.keys()) { FileElementDefinition *elmt = elements_.take(elmt_name); delete elmt; } // suppression des categories foreach(QString cat_name, categories_.keys()) { FileElementsCategory *cat = categories_.take(cat_name); delete cat; } } qelectrotech-0.22+svn897/sources/diagramprintdialog.cpp0000644000175000017500000003716611322234070023136 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "diagramprintdialog.h" #include "qetprintpreviewdialog.h" #include #include "diagramschooser.h" #include "exportproperties.h" #include "qeticons.h" #include "qetmessagebox.h" /** Constructeur @param project Schema a imprimer @param parent Widget parent du dialogue */ DiagramPrintDialog::DiagramPrintDialog(QETProject *project, QWidget *parent) : QWidget(parent), project_(project), dialog_(0) { // initialise l'imprimante printer_ = new QPrinter(); // orientation paysage par defaut printer_ -> setOrientation(QPrinter::Landscape); } /** Destructeur */ DiagramPrintDialog::~DiagramPrintDialog() { delete dialog_; delete printer_; } /** Definit le nom du PDF si l'utilisateur choisit une sortie vers un PDF */ void DiagramPrintDialog::setFileName(const QString &name) { file_name_ = name; } /** @return le nom du PDF */ QString DiagramPrintDialog::fileName() const { return(file_name_); } /** Definit le nom du document */ void DiagramPrintDialog::setDocName(const QString &name) { doc_name_ = name; } /** @return le nom du document */ QString DiagramPrintDialog::docName() const { return(doc_name_); } /** @param diagram Un schema @return le rectangle a imprimer pour ce schema */ QRect DiagramPrintDialog::diagramRect(Diagram *diagram) const { if (!diagram) return(QRect()); // ajuste la bordure du schema d'un pixel (epaisseur du trait) QRect diagram_rect = diagram -> border().adjusted(0.0, 0.0, 1.0, 1.0).toAlignedRect(); return(diagram_rect); } /** Execute le dialogue d'impression */ void DiagramPrintDialog::exec() { // prise en compte du nom du document if (!doc_name_.isEmpty()) printer_ -> setDocName(doc_name_); // affichage d'un premier dialogue demandant a l'utilisateur le type // d'impression qu'il souhaite effectuer buildPrintTypeDialog(); if (dialog_ -> exec() == QDialog::Rejected) return; // parametrage de l'imprimante en fonction du type d'impression choisi if (printer_choice_ -> isChecked()) { // affichage du dialogue d'impression standard pour parametrer l'imprimante QPrintDialog print_dialog(printer_, parentWidget()); #ifdef Q_WS_MAC print_dialog.setWindowFlags(Qt::Sheet); #endif print_dialog.setWindowTitle(tr("Options d'impression", "window title")); print_dialog.setEnabledOptions(QAbstractPrintDialog::PrintShowPageSize); if (print_dialog.exec() == QDialog::Rejected) return; } else if (pdf_choice_ -> isChecked()) { printer_ -> setOutputFormat(QPrinter::PdfFormat); printer_ -> setOutputFileName(filepath_field_ -> text()); } else { printer_ -> setOutputFormat(QPrinter::PostScriptFormat); printer_ -> setOutputFileName(filepath_field_ -> text()); } // Apercu avant impression #if defined Q_WS_X11 // suite a quelques soucis avec xfwm, on se contente d'une fenetre sous X11 QETPrintPreviewDialog preview_dialog(project_, printer_, parentWidget(), Qt::Window); #else QETPrintPreviewDialog preview_dialog(project_, printer_, parentWidget()); #endif connect( &preview_dialog, SIGNAL(paintRequested(const QList &, bool, const ExportProperties, QPrinter *)), this, SLOT(print(const QList &, bool, const ExportProperties)) ); DiagramsChooser *dc = preview_dialog.diagramsChooser(); dc -> setSelectedAllDiagrams(); if (preview_dialog.exec() == QDialog::Rejected) return; // effectue l'impression en elle-meme print( dc -> selectedDiagrams(), preview_dialog.fitDiagramsToPages(), preview_dialog.exportProperties() ); } /** @param diagram Schema a imprimer @param fullpage true pour utiliser toute la feuille dans le calcul @return Le nombre de pages necessaires pour imprimer le schema avec l'orientation et le format papier utilise dans l'imprimante en cours. */ int DiagramPrintDialog::pagesCount(Diagram *diagram, bool fullpage) const { return(horizontalPagesCount(diagram, fullpage) * verticalPagesCount(diagram, fullpage)); } /** @param diagram Schema a imprimer @param fullpage true pour utiliser toute la feuille dans le calcul @return La largeur du "poster" en nombre de pages pour imprimer le schema avec l'orientation et le format papier utilise dans l'imprimante en cours. */ int DiagramPrintDialog::horizontalPagesCount(Diagram *diagram, bool fullpage) const { // note : pageRect et Paper Rect tiennent compte de l'orientation du papier QRect printable_area = fullpage ? printer_ -> paperRect() : printer_ -> pageRect(); QRect diagram_rect = diagramRect(diagram); int h_pages_count = int(ceil(qreal(diagram_rect.width()) / qreal(printable_area.width()))); return(h_pages_count); } /** @param diagram Schema a imprimer @param fullpage true pour utiliser toute la feuille dans le calcul @return La largeur du "poster" en nombre de pages pour imprimer le schema avec l'orientation et le format papier utilise dans l'imprimante en cours. */ int DiagramPrintDialog::verticalPagesCount(Diagram *diagram, bool fullpage) const { // note : pageRect et Paper Rect tiennent compte de l'orientation du papier QRect printable_area = fullpage ? printer_ -> paperRect() : printer_ -> pageRect(); QRect diagram_rect = diagramRect(diagram); int v_pages_count = int(ceil(qreal(diagram_rect.height()) / qreal(printable_area.height()))); return(v_pages_count); } /** Construit un dialogue non standard pour demander a l'utilisateur quelle type d'impression il souhaite effectuer : PDF, PS ou imprimante physique */ void DiagramPrintDialog::buildPrintTypeDialog() { // initialisation des widgets dialog_ = new QDialog(parentWidget()); #ifdef Q_WS_MAC dialog_ -> setWindowFlags(Qt::Sheet); #endif printtype_label_ = new QLabel(tr("Quel type d'impression d\351sirez-vous effectuer ?")); printer_icon_ = new QLabel(); pdf_icon_ = new QLabel(); ps_icon_ = new QLabel(); printtype_choice_ = new QButtonGroup(); printer_choice_ = new QRadioButton(tr("Impression sur une imprimante physique", "Print type choice")); pdf_choice_ = new QRadioButton(tr("Impression vers un fichier au format PDF", "Print type choice")); ps_choice_ = new QRadioButton(tr("Impression vers un fichier au format PostScript (PS)", "Print type choice")); filepath_field_ = new QLineEdit(); browse_button_ = new QPushButton("..."); buttons_ = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dialog_ -> setWindowTitle(tr("Choix du type d'impression")); printer_icon_ -> setPixmap(QET::Icons::Printer.pixmap(32, 32)); pdf_icon_ -> setPixmap(QET::Icons::PDF.pixmap(32, 32)); ps_icon_ -> setPixmap(QET::Icons::EPS.pixmap(32, 32)); printtype_choice_ -> addButton(printer_choice_); printtype_choice_ -> addButton(pdf_choice_); printtype_choice_ -> addButton(ps_choice_); printer_choice_ -> setChecked(true); if (!file_name_.isEmpty()) filepath_field_ -> setText(file_name_ + ".pdf"); // connexions signaux / slots connect(printer_choice_, SIGNAL(toggled(bool)), this, SLOT(updatePrintTypeDialog())); connect(pdf_choice_, SIGNAL(toggled(bool)), this, SLOT(updatePrintTypeDialog())); connect(ps_choice_, SIGNAL(toggled(bool)), this, SLOT(updatePrintTypeDialog())); connect(browse_button_, SIGNAL(clicked(bool)), this, SLOT(browseFilePrintTypeDialog())); connect(buttons_, SIGNAL(accepted()), this, SLOT(acceptPrintTypeDialog())); connect(buttons_, SIGNAL(rejected()), dialog_, SLOT(reject())); // organisation graphique glayout0_ = new QGridLayout(); hlayout0_ = new QHBoxLayout(); vlayout0_ = new QVBoxLayout(); hlayout0_ -> addWidget(filepath_field_); hlayout0_ -> addWidget(browse_button_); glayout0_ -> addWidget(printer_icon_, 0, 0); glayout0_ -> addWidget(printer_choice_, 0, 1); glayout0_ -> addWidget(pdf_icon_, 1, 0); glayout0_ -> addWidget(pdf_choice_, 1, 1); glayout0_ -> addWidget(ps_icon_, 2, 0); glayout0_ -> addWidget(ps_choice_, 2, 1); glayout0_ -> addLayout(hlayout0_, 3, 1); vlayout0_ -> addWidget(printtype_label_); vlayout0_ -> addLayout(glayout0_); vlayout0_ -> addWidget(buttons_); dialog_ -> setLayout(vlayout0_); updatePrintTypeDialog(); } /** Assure la coherence du dialogue permettant le choix du type d'impression */ void DiagramPrintDialog::updatePrintTypeDialog() { // imprime-t-on vers un fichier ? bool file_print = !(printer_choice_ -> isChecked()); // on n'active le champ fichier que pour les impressions vers un fichier filepath_field_ -> setEnabled(file_print); browse_button_ -> setEnabled(file_print); // on corrige eventuellement l'extension du fichier deja selectionne if (file_print) { QString filepath = filepath_field_ -> text(); if (!filepath.isEmpty()) { if (pdf_choice_ -> isChecked() && filepath.endsWith(".ps")) { QRegExp re("\\.ps$", Qt::CaseInsensitive); filepath.replace(re, ".pdf"); filepath_field_ -> setText(filepath); } else if (ps_choice_ -> isChecked() && filepath.endsWith(".pdf")) { QRegExp re("\\.pdf$", Qt::CaseInsensitive); filepath.replace(re, ".ps"); filepath_field_ -> setText(filepath); } } } } /** Verifie l'etat du dialogue permettant le choix du type d'impression lorsque l'utilisateur le valide. */ void DiagramPrintDialog::acceptPrintTypeDialog() { bool file_print = !(printer_choice_ -> isChecked()); if (file_print) { // un fichier doit avoir ete entre if (filepath_field_ -> text().isEmpty()) { QET::MessageBox::information( parentWidget(), tr("Fichier manquant", "message box title"), tr("Vous devez indiquer le chemin du fichier PDF/PS \340 cr\351er.", "message box content") ); } else dialog_ -> accept(); } else { // une imprimante doit avoir ete selectionnee /// @todo dialog_ -> accept(); } } /** Permet a l'utilisateur de choisir un fichier */ void DiagramPrintDialog::browseFilePrintTypeDialog() { QString extension; QString filter; if (printer_choice_ -> isChecked()) return; else if (pdf_choice_ -> isChecked()) { extension = ".pdf"; filter = tr("Fichiers PDF (*.pdf)", "file filter"); } else if (ps_choice_ -> isChecked()) { extension = ".ps"; filter = tr("Fichiers PostScript (*.ps)", "file filter"); } QString filepath = QFileDialog::getSaveFileName( parentWidget(), QString(), filepath_field_ -> text(), filter ); if (!filepath.isEmpty()) { if (!filepath.endsWith(extension)) filepath += extension; filepath = QDir::toNativeSeparators(QDir::cleanPath(filepath)); filepath_field_ -> setText(filepath); } } /** Effectue l'impression elle-meme @param diagrams Schemas a imprimer @param fit_page Booleen indiquant s'il faut adapter les schemas aux pages ou non @param options Options de rendu */ void DiagramPrintDialog::print(const QList &diagrams, bool fit_page, const ExportProperties options) { //qDebug() << "Demande d'impression de " << diagrams.count() << "schemas."; // QPainter utiliser pour effectuer le rendu QPainter qp(printer_); // cas special : il n'y a aucun schema a imprimer if (!diagrams.count()) { qp.end(); return; } // imprime les schemas for (int i = 0 ; i < diagrams.count() ; ++ i) { printDiagram(diagrams[i], fit_page, options, &qp, printer_); if (i != diagrams.count() - 1) { printer_ -> newPage(); } } } /** Imprime un schema @param diagram Schema a imprimer @param fit_page True pour adapter les schemas aux pages, false sinon @param options Options de rendu a appliquer pour l'impression @param qp QPainter a utiliser (deja initialise sur printer) @param printer Imprimante a utiliser */ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const ExportProperties options, QPainter *qp, QPrinter *printer) { //qDebug() << printer -> paperSize() << printer -> paperRect() << diagram -> title(); // l'imprimante utilise-t-elle toute la feuille ? bool full_page = printer -> fullPage (); // impression physique (!= fichier PDF) if (printer -> outputFileName().isEmpty()) { // utiliser cette condition pour agir differemment en cas d'impression physique } saveReloadDiagramParameters(diagram, options, true); // deselectionne tous les elements QList selected_elmts = diagram -> selectedItems(); foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(false); if (fit_page) { // impression adaptee sur une seule page diagram -> render(qp, QRectF(), diagramRect(diagram), Qt::KeepAspectRatio); } else { // impression sur une ou plusieurs pages QRect diagram_rect = diagramRect(diagram); QRect printed_area = full_page ? printer -> paperRect() : printer -> pageRect(); //qDebug() << "impression sur une ou plusieurs pages"; //qDebug() << " schema :" << diagram_rect; //qDebug() << " page :" << printed_area; int used_width = printed_area.width(); int used_height = printed_area.height(); int h_pages_count = horizontalPagesCount(diagram, full_page); int v_pages_count = verticalPagesCount(diagram, full_page); QVector< QVector< QRect > > pages_grid; // le schema est imprime sur une matrice de feuilles // parcourt les lignes de la matrice int y_offset = 0; for (int i = 0 ; i < v_pages_count ; ++ i) { pages_grid << QVector< QRect >(); // parcourt les feuilles de la ligne int x_offset = 0; for (int j = 0 ; j < h_pages_count ; ++ j) { pages_grid.last() << QRect( QPoint(x_offset, y_offset), QSize( qMin(used_width, diagram_rect.width() - x_offset), qMin(used_height, diagram_rect.height() - y_offset) ) ); x_offset += used_width; } y_offset += used_height; } // ne retient que les pages a imprimer QVector pages_to_print; for (int i = 0 ; i < v_pages_count ; ++ i) { for (int j = 0 ; j < h_pages_count ; ++ j) { pages_to_print << pages_grid.at(i).at(j); } } //qDebug() << " " << pages_to_print.count() << " pages a imprimer :"; // parcourt les pages pour impression for (int i = 0 ; i < pages_to_print.count() ; ++ i) { QRect current_rect(pages_to_print.at(i)); //qDebug() << " " << current_rect; diagram -> render( qp, QRect(QPoint(0,0), current_rect.size()), current_rect.translated(diagram_rect.topLeft()), Qt::KeepAspectRatio ); if (i != pages_to_print.count() - 1) { printer -> newPage(); } } } // restaure les elements selectionnes foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(true); saveReloadDiagramParameters(diagram, options, false); } /** Sauve ou restaure les parametres du schema @param diagram Schema dont on sauve ou restaure les parametres @param options Parametres a appliquer @param save true pour memoriser les parametres du schema et appliquer ceux definis dans options, false pour restaurer les parametres */ void DiagramPrintDialog::saveReloadDiagramParameters(Diagram *diagram, const ExportProperties options, bool save) { static ExportProperties state_exportProperties; if (save) { // memorise les parametres relatifs au schema tout en appliquant les nouveaux state_exportProperties = diagram -> applyProperties(options); } else { // restaure les parametres relatifs au schema diagram -> applyProperties(state_exportProperties); } } qelectrotech-0.22+svn897/sources/fileelementscollection.h0000644000175000017500000000331311320140732023454 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef FILE_ELEMENTS_COLLECTION_H #define FILE_ELEMENTS_COLLECTION_H #include #include "elementscollection.h" class FileElementsCategory; /** Cette classe represente une collection d'elements accessible via un systeme de fichier. Typiquement, il s'agit de la collection QET ou de la collection utilisateur. */ class FileElementsCollection : public ElementsCollection { Q_OBJECT // constructeurs, destructeur public: FileElementsCollection(const QString &, ElementsCollectionItem *parent = 0); virtual ~FileElementsCollection(); private: FileElementsCollection(const FileElementsCollection &); // methodes public: virtual void reload(); virtual ElementsCategory *rootCategory(); virtual bool hasFilePath(); virtual QString filePath(); virtual void setFilePath(const QString &); virtual bool exists(); virtual bool isReadable(); virtual bool isWritable(); virtual bool write(); private: void deleteContent(); // attributs private: QString coll_path; FileElementsCategory *root; }; #endif qelectrotech-0.22+svn897/sources/qetarguments.cpp0000644000175000017500000002015711320140732022003 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qetarguments.h" /** Constructeur par defaut Cree un objet sans argument. */ QETArguments::QETArguments(QObject *parent) : QObject(parent), print_help_(false), print_license_(false), print_version_(false) { } /** Constructeur @param args Arguments a analyser et memoriser @param parent QObject parent */ QETArguments::QETArguments(const QList &args, QObject *parent) : QObject(parent), print_help_(false), print_license_(false), print_version_(false) { parseArguments(args); } /** Constructeur de copie - la copie reprend le parent de l'original @param qet_arguments Objet a copier */ QETArguments::QETArguments(const QETArguments &qet_arguments) : QObject(qet_arguments.parent()), project_files_(qet_arguments.project_files_), element_files_(qet_arguments.element_files_), options_(qet_arguments.options_), unknown_options_(qet_arguments.unknown_options_), #ifdef QET_ALLOW_OVERRIDE_CED_OPTION common_elements_dir_(qet_arguments.common_elements_dir_), #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION config_dir_(qet_arguments.config_dir_), #endif lang_dir_(qet_arguments.lang_dir_), print_help_(qet_arguments.print_help_), print_license_(qet_arguments.print_license_), print_version_(qet_arguments.print_version_) { } /** Operateur d'affectation - la copie ne reprend pas le parent de l'original @param qet_arguments Objet a copier */ QETArguments &QETArguments::operator=(const QETArguments &qet_arguments) { project_files_ = qet_arguments.project_files_; element_files_ = qet_arguments.element_files_; options_ = qet_arguments.options_; unknown_options_ = qet_arguments.unknown_options_; #ifdef QET_ALLOW_OVERRIDE_CED_OPTION common_elements_dir_ = qet_arguments.common_elements_dir_; #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION config_dir_ = qet_arguments.config_dir_; #endif lang_dir_ = qet_arguments.lang_dir_; print_help_ = qet_arguments.print_help_; print_license_ = qet_arguments.print_license_; print_version_ = qet_arguments.print_version_; return(*this); } /** Destructeur */ QETArguments::~QETArguments() { } /** Definit les arguments de cet objet. Si cet objet contenait deja des arguments, ceux-ci sont oublies. @param args Arguments a analyser et memoriser */ void QETArguments::setArguments(const QList &args) { parseArguments(args); } /** @return tous les arguments (projets et elements) passes en parametres dans l'ordre suivant : options connues puis inconnues, fichiers de types projet puis element. */ QList QETArguments::arguments() const { return(options_ + unknown_options_ + project_files_ + element_files_); } /** @return tous les fichiers (projets et elements) passes en parametres. Les fichiers de type projet viennent avant les fichiers de type element. */ QList QETArguments::files() const { return(project_files_ + element_files_); } /** @return les fichiers de type projet */ QList QETArguments::projectFiles() const { return(project_files_); } /** @return les fichiers de type element */ QList QETArguments::elementFiles() const { return(element_files_); } /** @return les options reconnues */ QList QETArguments::options() const { return(options_); } /** @return les options non reconnues */ QList QETArguments::unknownOptions() const { return(unknown_options_); } /** Oublie tous les arguments de cet objet */ void QETArguments::clear() { project_files_.clear(); element_files_.clear(); options_.clear(); unknown_options_.clear(); #ifdef QET_ALLOW_OVERRIDE_CED_OPTION common_elements_dir_.clear(); #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION config_dir_.clear(); #endif } /** Analyse des arguments et les retient dans cet objet. Si cet objet contenait deja des arguments, ceux-ci sont oublies. @param arguments Arguments a analyser */ void QETArguments::parseArguments(const QList &arguments) { // oublie les eventuels arguments precedents clear(); // separe les fichiers des options foreach(QString argument, arguments) { QFileInfo argument_info(argument); if (argument_info.exists()) { // on exprime les chemins des fichiers en absolu QString can_argument = argument_info.canonicalFilePath(); handleFileArgument(can_argument); } else { handleOptionArgument(argument); } } } /** Gere les arguments correspondant a un fichier existant. */ void QETArguments::handleFileArgument(const QString &file) { if (file.endsWith(".elmt")) { if (!element_files_.contains(file)) { element_files_ << file; } } else { if (!project_files_.contains(file)) { project_files_ << file; } } } /** Gere les arguments correspondant potentiellement a une option. Les options reconnues sont : * --common-elements-dir= * --config-dir= * --lang-dir= * --help * --version * -v * --license */ void QETArguments::handleOptionArgument(const QString &option) { if (option == QString("--help")) { print_help_ = true; options_ << option; return; } else if (option == QString("--version") || option == QString("-v")) { print_version_ = true; options_ << option; return; } else if (option == QString("--license")) { print_license_ = true; options_ << option; return; } #ifdef QET_ALLOW_OVERRIDE_CED_OPTION QString ced_arg("--common-elements-dir="); if (option.startsWith(ced_arg)) { common_elements_dir_ = option.mid(ced_arg.length()); return; } #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION QString cd_arg("--config-dir="); if (option.startsWith(cd_arg)) { config_dir_ = option.mid(cd_arg.length()); return; } #endif QString ld_arg("--lang-dir="); if (option.startsWith(ld_arg)) { lang_dir_ = option.mid(ld_arg.length()); return; } // a ce stade, l'option est inconnue unknown_options_ << option; } #ifdef QET_ALLOW_OVERRIDE_CED_OPTION /** @return true si l'utilisateur a specifie un dossier pour la collection commune. */ bool QETArguments::commonElementsDirSpecified() const { return(!common_elements_dir_.isEmpty()); } /** @return le dossier de la collection commune specifie par l'utilisateur. Si l'utilisateur n'en a pas specifie, une chaine vide est retournee. */ QString QETArguments::commonElementsDir() const { return(common_elements_dir_); } #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION /** @return true si l'utilisateur a specifie un dossier pour la configuration. */ bool QETArguments::configDirSpecified() const { return(!config_dir_.isEmpty()); } /** @return le dossier de configuration specifie par l'utilisateur. Si l'utilisateur n'en a pas specifie, une chaine vide est retournee. */ QString QETArguments::configDir() const { return(config_dir_); } #endif /** @return true si l'utilisateur a specifie un dossier pour les fichiers de langue */ bool QETArguments::langDirSpecified() const { return(!lang_dir_.isEmpty()); } /** @return le dossier de langue specifie par l'utilisateur. Si l'utilisateur n'en a pas specifie, une chaine vide est retournee. */ QString QETArguments::langDir() const { return(lang_dir_); } /** @return true si les arguments comportent une demande d'affichage de l'aide, false sinon */ bool QETArguments::printHelpRequested() const { return(print_help_); } /** @return true si les arguments comportent une demande d'affichage de la licence, false sinon */ bool QETArguments::printLicenseRequested() const { return(print_license_); } /** @return true si les arguments comportent une demande d'affichage de la version, false sinon */ bool QETArguments::printVersionRequested() const { return(print_version_); } qelectrotech-0.22+svn897/sources/newelementwizard.h0000644000175000017500000000441411320140732022313 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef NEW_ELEMENT_WIZARD_H #define NEW_ELEMENT_WIZARD_H #include class ElementsCategoriesWidget; class ElementsCategory; class NamesListWidget; class OrientationSetWidget; class HotspotEditor; class QFileNameEdit; /** Cette classe represente un dialogue qui permet a l'utilisateur de specifier les premiers parametres de l'element qu'il va construire. Ces parametres sont : - la categorie dans laquelle il faut enregistrer l'element - le nom du fichier dans lequel il faut enregistrer l'element - les noms de cet element - les dimensions - la position du hotspot - les orientations possibles */ class NewElementWizard : public QWizard { Q_OBJECT // constructeurs, destructeur public: NewElementWizard(QWidget * = 0, Qt::WindowFlags = 0); virtual ~NewElementWizard(); private: NewElementWizard(const NewElementWizard &); // methodes public: ElementsCategory *selectedCategory() const; bool preselectCategory(ElementsCategory *); // attributs private: enum WizardState { Category, Filename, Names, Dimensions, Orientations }; ElementsCategoriesWidget *categories_list; QFileNameEdit *qle_filename; NamesListWidget *element_names; OrientationSetWidget *orientation_set; HotspotEditor *hotspot_editor; WizardState current_state; QString chosen_file; ElementsCategory *chosen_category; // methodes private: QWizardPage *buildStep1(); QWizardPage *buildStep2(); QWizardPage *buildStep3(); QWizardPage *buildStep4(); QWizardPage *buildStep5(); bool validStep1(); bool validStep2(); bool validateCurrentPage(); void createNewElement(); }; #endif qelectrotech-0.22+svn897/sources/elementspanelwidget.cpp0000644000175000017500000005366611344020127023340 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementspanelwidget.h" #include "newelementwizard.h" #include "elementscategorieswidget.h" #include "elementscollectionitem.h" #include "qetelementeditor.h" #include "elementdeleter.h" #include "elementscategoryeditor.h" #include "elementscategorydeleter.h" #include "qetapp.h" #include "interactivemoveelementshandler.h" #include "qetproject.h" #include "diagram.h" #include "qeticons.h" /* Lorsque le flag ENABLE_PANEL_WIDGET_DND_CHECKS est defini, le panel effectue des verifications lors des drag'n drop d'elements et categories. Par exemple, il verifie qu'une categorie cible est accessible en ecriture avant d'y autoriser le drop d'un element. Supprimer ce flag permet de tester le comportement des fonctions de gestion des items (copy, move, etc.). */ #define ENABLE_PANEL_WIDGET_DND_CHECKS /** Constructeur @param parent Le QWidget parent de ce widget */ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) { // initalise le panel d'elements elements_panel = new ElementsPanel(this); // initialise les actions reload = new QAction(QET::Icons::ViewRefresh, tr("Recharger les collections"), this); new_category = new QAction(QET::Icons::FolderNew, tr("Nouvelle cat\351gorie"), this); edit_category = new QAction(QET::Icons::FolderEdit, tr("\311diter la cat\351gorie"), this); delete_category = new QAction(QET::Icons::FolderDelete, tr("Supprimer la cat\351gorie"), this); delete_collection = new QAction(QET::Icons::FolderDelete, tr("Vider la collection"), this); new_element = new QAction(QET::Icons::ElementNew, tr("Nouvel \351l\351ment"), this); import_element = new QAction(QET::Icons::DocumentImport, tr("Importer un \351l\351ment"), this); edit_element = new QAction(QET::Icons::ElementEdit, tr("\311diter l'\351l\351ment"), this); delete_element = new QAction(QET::Icons::ElementDelete, tr("Supprimer l'\351l\351ment"), this); prj_close = new QAction(QET::Icons::DocumentClose, tr("Fermer ce projet"), this); prj_edit_prop = new QAction(QET::Icons::DialogInformation, tr("Propri\351t\351s du projet"), this); prj_prop_diagram = new QAction(QET::Icons::DialogInformation, tr("Propri\351t\351s du sch\351ma"), this); prj_add_diagram = new QAction(QET::Icons::DiagramAdd, tr("Ajouter un sch\351ma"), this); prj_del_diagram = new QAction(QET::Icons::DiagramDelete, tr("Supprimer ce sch\351ma"), this); prj_move_diagram_up = new QAction(QET::Icons::GoUp, tr("Remonter ce sch\351ma"), this); prj_move_diagram_down = new QAction(QET::Icons::GoDown, tr("Abaisser ce sch\351ma"), this); move_elements_ = new QAction(QET::Icons::MoveFile, tr("D\351placer dans cette cat\351gorie"), this); copy_elements_ = new QAction(QET::Icons::CopyFile, tr("Copier dans cette cat\351gorie"), this); cancel_elements_ = new QAction(QET::Icons::Cancel, tr("Annuler"), this); erase_textfield = new QAction(QET::Icons::EditClearLocationBar, tr("Effacer le filtre"), this); // initialise le champ de texte pour filtrer avec une disposition horizontale QLabel *filter_label = new QLabel(tr("Filtrer : "), this); filter_textfield = new QLineEdit(this); filter_toolbar = new QToolBar("filter"); filter_toolbar -> addAction(erase_textfield); filter_toolbar -> addWidget(filter_label); filter_toolbar -> addWidget(filter_textfield); // ajoute une petite marge a la droite du champ pour filtrer lorsque le style CleanLooks est utilise if (qobject_cast(QApplication::style())) { int l, t, r, b; filter_toolbar -> getContentsMargins(&l, &t, &r, &b); filter_toolbar -> setContentsMargins (l, t, r + 4, b); } context_menu = new QMenu(this); connect(reload, SIGNAL(triggered()), this, SLOT(reloadAndFilter())); connect(new_category, SIGNAL(triggered()), this, SLOT(newCategory())); connect(edit_category, SIGNAL(triggered()), this, SLOT(editCategory())); connect(delete_category, SIGNAL(triggered()), this, SLOT(deleteCategory())); connect(delete_collection, SIGNAL(triggered()), this, SLOT(deleteCategory())); connect(new_element, SIGNAL(triggered()), this, SLOT(newElement())); connect(import_element, SIGNAL(triggered()), this, SLOT(importElement())); connect(edit_element, SIGNAL(triggered()), this, SLOT(editElement())); connect(delete_element, SIGNAL(triggered()), this, SLOT(deleteElement())); connect(prj_close, SIGNAL(triggered()), this, SLOT(closeProject())); connect(prj_edit_prop, SIGNAL(triggered()), this, SLOT(editProjectProperties())); connect(prj_prop_diagram, SIGNAL(triggered()), this, SLOT(editDiagramProperties())); connect(prj_add_diagram, SIGNAL(triggered()), this, SLOT(newDiagram())); connect(prj_del_diagram, SIGNAL(triggered()), this, SLOT(deleteDiagram())); connect(prj_move_diagram_up, SIGNAL(triggered()), this, SLOT(moveDiagramUp())); connect(prj_move_diagram_down, SIGNAL(triggered()), this, SLOT(moveDiagramDown())); connect(move_elements_, SIGNAL(triggered()), this, SLOT(moveElements())); connect(copy_elements_, SIGNAL(triggered()), this, SLOT(copyElements())); connect(erase_textfield, SIGNAL(triggered()), this, SLOT(clearFilterTextField())); connect(filter_textfield, SIGNAL(textEdited(const QString &)), elements_panel, SLOT(filter(const QString &))); connect(elements_panel, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(updateButtons())); connect(elements_panel, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(handleContextMenu(const QPoint &))); connect(elements_panel, SIGNAL(requestForCollectionItem(ElementsCollectionItem *)), this, SLOT(handleCollectionRequest(ElementsCollectionItem *))); connect( elements_panel, SIGNAL(requestForMoveElements(ElementsCollectionItem *, ElementsCollectionItem *, QPoint)), this, SLOT(handleMoveElementsRequest(ElementsCollectionItem *, ElementsCollectionItem *, const QPoint &)), Qt::QueuedConnection ); // initialise la barre d'outils toolbar = new QToolBar(this); toolbar -> setMovable(false); toolbar -> addAction(reload); toolbar -> addSeparator(); toolbar -> addAction(new_category); toolbar -> addAction(edit_category); toolbar -> addAction(delete_category); toolbar -> addSeparator(); toolbar -> addAction(new_element); toolbar -> addAction(import_element); toolbar -> addAction(edit_element); toolbar -> addAction(delete_element); // disposition verticale QVBoxLayout *vlayout = new QVBoxLayout(this); vlayout -> setMargin(0); vlayout -> setSpacing(0); vlayout -> addWidget(toolbar); vlayout -> addWidget(filter_toolbar); vlayout -> addWidget(elements_panel); vlayout -> setStretchFactor(elements_panel, 75000); setLayout(vlayout); } /** Destructeur */ ElementsPanelWidget::~ElementsPanelWidget() { } /** Vide le champ de texte permettant a l'utilisateur de filtrer, donne le focus a ce champ et annule le filtrage. */ void ElementsPanelWidget::clearFilterTextField() { filter_textfield -> clear(); filter_textfield -> setFocus(); elements_panel -> filter(QString()); } /** Recharge le panel d'elements */ void ElementsPanelWidget::reloadAndFilter() { // recharge tous les elements elements_panel -> reload(); // reapplique le filtre elements_panel -> filter(filter_textfield -> text()); } /** Emet le signal requestForProjectClosing avec le projet selectionne */ void ElementsPanelWidget::closeProject() { if (QETProject *selected_project = elements_panel -> selectedProject()) { emit(requestForProjectClosing(selected_project)); } } /** Emet le signal requestForProjectPropertiesEdition avec le projet selectionne */ void ElementsPanelWidget::editProjectProperties() { if (QETProject *selected_project = elements_panel -> selectedProject()) { emit(requestForProjectPropertiesEdition(selected_project)); } } /** Emet le signal requestForDiagramPropertiesEdition avec le schema selectionne */ void ElementsPanelWidget::editDiagramProperties() { if (Diagram *selected_diagram = elements_panel -> selectedDiagram()) { emit(requestForDiagramPropertiesEdition(selected_diagram)); } } /** Emet le signal requestForNewDiagram avec le projet selectionne */ void ElementsPanelWidget::newDiagram() { if (QETProject *selected_project = elements_panel -> selectedProject()) { emit(requestForNewDiagram(selected_project)); } } /** Emet le signal requestForDiagramDeletion avec le schema selectionne */ void ElementsPanelWidget::deleteDiagram() { if (Diagram *selected_diagram = elements_panel -> selectedDiagram()) { emit(requestForDiagramDeletion(selected_diagram)); } } /** Emet le signal requestForDiagramMoveUp avec le schema selectionne */ void ElementsPanelWidget::moveDiagramUp() { if (Diagram *selected_diagram = elements_panel -> selectedDiagram()) { emit(requestForDiagramMoveUp(selected_diagram)); } } /** Emet le signal requestForDiagramMoveDown avec le schema selectionne */ void ElementsPanelWidget::moveDiagramDown() { if (Diagram *selected_diagram = elements_panel -> selectedDiagram()) { emit(requestForDiagramMoveDown(selected_diagram)); } } /** Appelle l'assistant de creation de nouvel element */ void ElementsPanelWidget::newElement() { ElementsCategory *selected_category = writableSelectedCategory(); NewElementWizard new_element_wizard(this); if (selected_category) { new_element_wizard.preselectCategory(selected_category); } new_element_wizard.exec(); } /** Import d'element en passant par l'editeur */ void ElementsPanelWidget::importElement() { QString fileName = QETElementEditor::getOpenElementFileName(this); // Ouverture de l'element dans l'editeur pour pouvoir ensuite l'enregistrer dans la categorie voulue if (!fileName.isEmpty()) { QETApp::instance() -> openElementFiles(QStringList() << fileName); } } /** Si une categorie accessible en ecriture est selectionnee, cette methode affiche directement un formulaire de creation de categorie en utilisant la selection comme categorie parente. Sinon, elle affiche un gestionnaire de categories, permettant ainsi a l'utilisateur de choisir une categorie parente. */ void ElementsPanelWidget::newCategory() { ElementsCategory *selected_category = writableSelectedCategory(); if (selected_category) { ElementsCategoryEditor new_category_dialog(selected_category -> location(), false, this); if (new_category_dialog.exec() == QDialog::Accepted) { elements_panel -> reload(); } } else { launchCategoriesManager(); elements_panel -> reload(); } } /** Met a jour les boutons afin d'assurer la coherence de l'interface */ void ElementsPanelWidget::updateButtons() { bool collection_selected = elements_panel -> selectedItemIsACollection(); bool category_selected = collection_selected || elements_panel -> selectedItemIsACategory(); bool element_selected = elements_panel -> selectedItemIsAnElement(); if (collection_selected || category_selected || element_selected) { bool element_writable = elements_panel -> selectedItemIsWritable(); delete_collection -> setEnabled(collection_selected && element_writable); new_category -> setEnabled(category_selected && element_writable); edit_category -> setEnabled(category_selected && !collection_selected); delete_category -> setEnabled(category_selected && element_writable); new_element -> setEnabled(category_selected && element_writable); edit_element -> setEnabled(element_selected); delete_element -> setEnabled(element_selected && element_writable); } else if (elements_panel -> selectedItemIsAProject()) { bool is_writable = !(elements_panel -> selectedProject() -> isReadOnly()); prj_add_diagram -> setEnabled(is_writable); } else if (elements_panel -> selectedItemIsADiagram()) { Diagram *selected_diagram = elements_panel -> selectedDiagram(); QETProject *selected_diagram_project = selected_diagram -> project(); bool is_writable = !(selected_diagram_project -> isReadOnly()); int project_diagrams_count = selected_diagram_project -> diagrams().count(); int diagram_position = selected_diagram_project -> diagrams().indexOf(selected_diagram); prj_del_diagram -> setEnabled(is_writable); prj_move_diagram_up -> setEnabled(is_writable && diagram_position > 0); prj_move_diagram_down -> setEnabled(is_writable && diagram_position < project_diagrams_count - 1); } } /** Lance le gestionnaire de categories. Il s'agit d'un petit dialogue listant les categories accessibles en ecriture et permettant de les editer, de les supprimer et d'en creer de nouvelles. */ int ElementsPanelWidget::launchCategoriesManager() { QDialog new_category_dialog(this); new_category_dialog.setMinimumSize(480, 280); new_category_dialog.setWindowTitle(tr("Gestionnaire de cat\351gories", "window title")); QVBoxLayout *layout = new QVBoxLayout(&new_category_dialog); QLabel *explication = new QLabel(tr("Vous pouvez utiliser ce gestionnaire pour ajouter, supprimer ou modifier les cat\351gories.")); explication -> setAlignment(Qt::AlignJustify | Qt::AlignVCenter); explication -> setWordWrap(true); layout -> addWidget(explication); layout -> addWidget(new ElementsCategoriesWidget()); QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Close); connect(buttons, SIGNAL(rejected()), &new_category_dialog, SLOT(accept())); layout -> addWidget(buttons); return(new_category_dialog.exec()); } /** Gere le menu contextuel du panel d'elements @param pos Position ou le menu contextuel a ete demande */ void ElementsPanelWidget::handleContextMenu(const QPoint &pos) { // recupere l'item concerne par l'evenement ainsi que son chemin QTreeWidgetItem *item = elements_panel -> itemAt(pos); if (!item) return; updateButtons(); context_menu -> clear(); if (elements_panel -> itemHasLocation(item)) { // recupere l'emplacement associe a l'item ElementsCollectionItem *selected_item = elements_panel -> collectionItemForItem(item); if (selected_item) { if (selected_item -> isCategory()) { context_menu -> addAction(new_category); context_menu -> addAction(edit_category); context_menu -> addAction(delete_category); context_menu -> addAction(new_element); } else if (selected_item -> isElement()) { context_menu -> addAction(edit_element); context_menu -> addAction(delete_element); } else if (selected_item -> isCollection()) { // categorie racine / collection context_menu -> addAction(new_category); context_menu -> addAction(delete_collection); context_menu -> addAction(new_element); } } } else { if (elements_panel -> itemIsAProject(item)) { context_menu -> addAction(prj_edit_prop); context_menu -> addAction(prj_add_diagram); context_menu -> addAction(prj_close); } else if (elements_panel -> itemIsADiagram(item)) { context_menu -> addAction(prj_prop_diagram); context_menu -> addAction(prj_del_diagram); context_menu -> addAction(prj_move_diagram_up); context_menu -> addAction(prj_move_diagram_down); } } // affiche le menu if (!context_menu -> isEmpty()) { context_menu -> popup(mapToGlobal(elements_panel -> mapTo(this, pos + QPoint(2, 2)))); } } /** Gere les demandes d'edition de categories ou d'elements @param item Item de la collection a editer */ void ElementsPanelWidget::handleCollectionRequest(ElementsCollectionItem *item) { if (!item) return; if (item -> isElement()) { // il s'agit d'un element launchElementEditor(item -> location()); } else if (item -> isCategory()) { // il s'agit d'une categorie launchCategoryEditor(item -> location()); } } /** Gere le drop d'un collectionItem sur un autre. Elle memorise dans les attributs de cette classe l'item source et l'item destination du drag'n drop. Un menu est ensuite affiche pour demander a l'utilisateur ce qu'il souhaite faire (deplacer, copier ou annuler). @param src Item source @param dst Item cible @param pos Position ou le menu contextuel a ete demande */ void ElementsPanelWidget::handleMoveElementsRequest(ElementsCollectionItem *src, ElementsCollectionItem *dst, const QPoint &pos) { if (!src || !dst || !dst -> isCategory()) return; // memorise les items source et cible du drag'n drop dnd_item_src_ = src; dnd_item_dst_ = dst; #ifdef ENABLE_PANEL_WIDGET_DND_CHECKS // active ou desactive les actions selon la source et la cible copy_elements_ -> setEnabled(src -> isReadable() && dst -> isWritable()); move_elements_ -> setEnabled(!src -> isRootCategory() && src -> isWritable() && dst -> isWritable()); #endif // affiche un menu contextuel pour que l'utilisateur indique s'il souhaite // effectuer un deplacement ou une copie context_menu -> clear(); context_menu -> addAction(copy_elements_); context_menu -> addAction(move_elements_); context_menu -> addSeparator(); context_menu -> addAction(cancel_elements_); context_menu -> popup(mapToGlobal(elements_panel -> mapTo(this, pos + QPoint(2, 2)))); } /** Cette classe memorise l'item source et l'item destination du dernier drag'n drop. Cette methode effectue le deplacement de l'item source memorise dans l'item destination memorise. @see handleMoveElementsRequest */ void ElementsPanelWidget::moveElements() { moveElements(dnd_item_src_, dnd_item_dst_); } /** Deplace l'item src dans l'item dst */ void ElementsPanelWidget::moveElements(ElementsCollectionItem *src, ElementsCollectionItem *dst) { InteractiveMoveElementsHandler *interactive_handler = new InteractiveMoveElementsHandler(); src -> move(dst -> toCategory(), interactive_handler); delete interactive_handler; } /** Cette classe memorise l'item source et l'item destination du dernier drag'n drop. Cette methode effectue la copie de l'item source memorise dans l'item destination memorise. @see handleMoveElementsRequest */ void ElementsPanelWidget::copyElements() { copyElements(dnd_item_src_, dnd_item_dst_); } /** Copie l'item src dans l'item dst */ void ElementsPanelWidget::copyElements(ElementsCollectionItem *src, ElementsCollectionItem *dst) { InteractiveMoveElementsHandler *interactive_handler = new InteractiveMoveElementsHandler(); src -> copy(dst -> toCategory(), interactive_handler, true); delete interactive_handler; } /** Edite la categorie selectionnee */ void ElementsPanelWidget::editCategory() { if (ElementsCollectionItem *selected_item = elements_panel -> selectedItem()) { if (selected_item -> isCategory()) { launchCategoryEditor(selected_item -> location()); } } } /** Edite l'element selectionne */ void ElementsPanelWidget::editElement() { if (ElementsCollectionItem *selected_item = elements_panel -> selectedItem()) { if (selected_item -> isElement()) { launchElementEditor(selected_item -> location()); } } } /** Supprime la categorie selectionnee */ void ElementsPanelWidget::deleteCategory() { if (ElementsCollectionItem *selected_item = elements_panel -> selectedItem()) { if (selected_item -> isCategory() || selected_item -> isCollection()) { ElementsCategoryDeleter cat_deleter(selected_item -> location(), this); if (cat_deleter.exec()) elements_panel -> reload(); } } } /** Supprime l'element selectionne */ void ElementsPanelWidget::deleteElement() { if (ElementsCollectionItem *selected_item = elements_panel -> selectedItem()) { if (selected_item -> isElement()) { ElementDeleter elmt_deleter(selected_item -> location(), this); if (elmt_deleter.exec()) elements_panel -> reload(); } } } /** Lance l'editeur d'element pour l'element filename @param location Emplacement de l'element a editer */ void ElementsPanelWidget::launchElementEditor(const ElementsLocation &location) { QETApp::instance() -> openElementLocations(QList() << location); } /** Lance l'editeur de categorie pour la categorie path @param location Emplacement de la categorie a editer */ void ElementsPanelWidget::launchCategoryEditor(const ElementsLocation &location) { ElementsCategoryEditor ece(location, true); if (ece.exec() == QDialog::Accepted) { elements_panel -> reload(); } } /** @return la categorie selectionnee s'il y en a une et que celle-ci est accessible en ecriture ; sinon retourne 0 @see ElementsPanel::categoryForItem(QTreeWidgetItem *) */ ElementsCategory *ElementsPanelWidget::writableSelectedCategory() { // recupere l'element selectionne QTreeWidgetItem *selected_qtwi = elements_panel -> currentItem(); if (!selected_qtwi) return(0); // l'element selectionne doit pouvoir correspondre a une categorie ElementsCategory *selected_category = elements_panel -> categoryForItem(selected_qtwi); if (!selected_category) return(0); // la categorie doit etre accessible en ecriture if (!selected_category -> isWritable()) return(0); return(selected_category); } qelectrotech-0.22+svn897/sources/qettabwidget.h0000644000175000017500000000276111342306445021427 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_TAB_WIDGET_H #define QET_TAB_WIDGET_H #include class QETTabBar; /** Cette classe se comporte comme un QTabWidget a ceci pres qu'elle utilise un QETTAbBar pour gerer ses onglets. Elle transmet aussi ses signaux lastTabRemoved() et firstTabInserted(). @see QETTabBar */ class QETTabWidget : public QTabWidget { Q_OBJECT // constructeurs, destructeur public: QETTabWidget(QWidget * = 0); virtual~QETTabWidget(); private: QETTabWidget(const QETTabWidget &); // methodes public: void setMovable(bool); bool isMovable() const; QETTabBar *tabBar() const; protected: void wheelEvent(QWheelEvent *); signals: void lastTabRemoved(); void firstTabInserted(); void tabMoved(int, int); void tabDoubleClicked(int); // attributs private: QETTabBar *tab_bar_; }; #endif qelectrotech-0.22+svn897/sources/borderpropertieswidget.cpp0000644000175000017500000001106211342325666024074 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "borderpropertieswidget.h" #include #include "qetapp.h" #include "borderinset.h" /** Constructeur Construit un widget editant les proprietes d'une bordure @param bp proprietes a editer @param parent QWidget parent */ BorderPropertiesWidget::BorderPropertiesWidget(const BorderProperties &bp, QWidget *parent) : QWidget(parent) { build(); setEditedBorder(bp); } /** Destructeur */ BorderPropertiesWidget::~BorderPropertiesWidget() { } /** @return Les proprietes editees par ce widget */ const BorderProperties &BorderPropertiesWidget::borderProperties() { border_.columns_count = columns_count -> value(); border_.columns_width = columns_width -> value(); border_.display_columns = display_columns -> isChecked(); border_.rows_count = rows_count -> value(); border_.rows_height = rows_height -> value(); border_.display_rows = display_rows -> isChecked(); return(border_); } /** @return true si ce widget est en lecture seule, false sinon */ bool BorderPropertiesWidget::isReadOnly() const { return(columns_count -> isReadOnly()); } /** @param ro true pour passer ce widget en lecture seule, false sinon */ void BorderPropertiesWidget::setReadOnly(bool ro) { columns_count -> setReadOnly(ro); columns_width -> setReadOnly(ro); display_columns -> setDisabled(ro); rows_count -> setReadOnly(ro); rows_height -> setReadOnly(ro); display_rows -> setDisabled(ro); } /** Definit les proprietes a editer @param bp Nouvelles proprietes */ void BorderPropertiesWidget::setEditedBorder(const BorderProperties &bp) { border_ = bp; columns_count -> setValue(border_.columns_count); columns_width -> setValue(qRound(border_.columns_width)); display_columns -> setChecked(border_.display_columns); rows_count -> setValue(border_.rows_count); rows_height -> setValue(qRound(border_.rows_height)); display_rows -> setChecked(border_.display_rows); } /** Construit le widget */ void BorderPropertiesWidget::build() { QVBoxLayout *widget_layout = new QVBoxLayout(); widget_layout -> setContentsMargins(0, 0, 0, 0); QGroupBox *diagram_size_box = new QGroupBox(tr("Dimensions du sch\351ma")); QGridLayout *diagram_size_box_layout = new QGridLayout(diagram_size_box); // colonnes : nombre et largeur QLabel *ds1 = new QLabel(tr("Colonnes :")); columns_count = new QSpinBox(diagram_size_box); columns_count -> setMinimum(BorderInset::minNbColumns()); columns_width = new QSpinBox(diagram_size_box); columns_width -> setMinimum(qRound(BorderInset::minColumnsWidth())); columns_width -> setSingleStep(10); columns_width -> setPrefix(tr("\327", "multiplication symbol")); columns_width -> setSuffix(tr("px", "unit for cols width")); display_columns = new QCheckBox(tr("Afficher les en-t\352tes"), diagram_size_box); // lignes : nombre et largeur QLabel *ds2 = new QLabel(tr("Lignes :")); rows_count = new QSpinBox(diagram_size_box); rows_count -> setMinimum(BorderInset::minNbRows()); rows_height = new QSpinBox(diagram_size_box); rows_height -> setMinimum(qRound(BorderInset::minRowsHeight())); rows_height -> setSingleStep(10); rows_height -> setPrefix(tr("\327", "multiplication symbol")); rows_height -> setSuffix(tr("px", "unit for rows height")); display_rows = new QCheckBox(tr("Afficher les en-t\352tes"), diagram_size_box); // layout diagram_size_box_layout -> addWidget(ds1, 0, 0); diagram_size_box_layout -> addWidget(columns_count, 0, 1); diagram_size_box_layout -> addWidget(columns_width, 0, 2); diagram_size_box_layout -> addWidget(display_columns,0, 3); diagram_size_box_layout -> addWidget(ds2, 1, 0); diagram_size_box_layout -> addWidget(rows_count, 1, 1); diagram_size_box_layout -> addWidget(rows_height, 1, 2); diagram_size_box_layout -> addWidget(display_rows, 1, 3); widget_layout -> addWidget(diagram_size_box); setLayout(widget_layout); } qelectrotech-0.22+svn897/sources/diagramview.cpp0000644000175000017500000007525611346031640021602 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "diagramview.h" #include "diagram.h" #include "customelement.h" #include "ghostelement.h" #include "conductor.h" #include "diagramcommands.h" #include "diagramposition.h" #include "conductorpropertieswidget.h" #include "insetpropertieswidget.h" #include "qetapp.h" #include "qetproject.h" #include "borderpropertieswidget.h" #include "integrationmoveelementshandler.h" #include "qetdiagrameditor.h" #include "qeticons.h" #include "qetmessagebox.h" /** Constructeur @param diagram Schema a afficher ; si diagram vaut 0, un nouveau Diagram est utilise @param parent Le QWidget parent de cette vue de schema */ DiagramView::DiagramView(Diagram *diagram, QWidget *parent) : QGraphicsView(parent), is_adding_text(false) { setAttribute(Qt::WA_DeleteOnClose, true); setInteractive(true); // active l'antialiasing setRenderHint(QPainter::Antialiasing, true); setRenderHint(QPainter::TextAntialiasing, true); setRenderHint(QPainter::SmoothPixmapTransform, true); scene = diagram ? diagram : new Diagram(this); setScene(scene); scene -> undoStack().setClean(); setWindowIcon(QET::Icons::QETLogo); setTransformationAnchor(QGraphicsView::AnchorUnderMouse); setResizeAnchor(QGraphicsView::AnchorUnderMouse); setAlignment(Qt::AlignLeft | Qt::AlignTop); setSelectionMode(); adjustSceneRect(); updateWindowTitle(); context_menu = new QMenu(this); paste_here = new QAction(QET::Icons::EditPaste, tr("Coller ici", "context menu action"), this); connect(paste_here, SIGNAL(triggered()), this, SLOT(pasteHere())); connect(scene, SIGNAL(selectionChanged()), this, SIGNAL(selectionChanged())); connect(scene, SIGNAL(readOnlyChanged(bool)), this, SLOT(applyReadOnly())); connect(&(scene -> border_and_inset), SIGNAL(borderChanged(QRectF, QRectF)), this, SLOT(adjustSceneRect())); connect(&(scene -> border_and_inset), SIGNAL(displayChanged()), this, SLOT(adjustSceneRect())); connect(&(scene -> border_and_inset), SIGNAL(diagramTitleChanged(const QString &)), this, SLOT(updateWindowTitle())); connect(&(scene -> undoStack()), SIGNAL(cleanChanged(bool)), this, SLOT(updateWindowTitle())); connect(this, SIGNAL(aboutToAddElement()), this, SLOT(addDroppedElement()), Qt::QueuedConnection); } /** Destructeur */ DiagramView::~DiagramView() { } /** Selectionne tous les objets du schema */ void DiagramView::selectAll() { scene -> selectAll(); } /** Deslectionne tous les objets selectionnes */ void DiagramView::selectNothing() { scene -> deselectAll(); } /** Inverse l'etat de selection de tous les objets du schema */ void DiagramView::selectInvert() { scene -> invertSelection(); } /** Supprime les composants selectionnes */ void DiagramView::deleteSelection() { if (scene -> isReadOnly()) return; DiagramContent removed_content = scene -> selectedContent(); scene -> clearSelection(); scene -> undoStack().push(new DeleteElementsCommand(scene, removed_content)); adjustSceneRect(); } /** Pivote les composants selectionnes */ void DiagramView::rotateSelection() { if (scene -> isReadOnly()) return; QHash elements_to_rotate; foreach (QGraphicsItem *item, scene -> selectedItems()) { if (Element *e = qgraphicsitem_cast(item)) { elements_to_rotate.insert(e, e -> orientation().current()); } } if (elements_to_rotate.isEmpty()) return; scene -> undoStack().push(new RotateElementsCommand(elements_to_rotate)); } /** Accepte ou refuse le drag'n drop en fonction du type de donnees entrant @param e le QDragEnterEvent correspondant au drag'n drop tente */ void DiagramView::dragEnterEvent(QDragEnterEvent *e) { if (e -> mimeData() -> hasFormat("application/x-qet-element-uri")) { e -> acceptProposedAction(); } else { e -> ignore(); } } /** Gere les dragleaveevent @param e le QDragEnterEvent correspondant au drag'n drop sortant */ void DiagramView::dragLeaveEvent(QDragLeaveEvent *e) { Q_UNUSED(e); } /** Accepte ou refuse le drag'n drop en fonction du type de donnees entrant @param e le QDragMoveEvent correspondant au drag'n drop tente */ void DiagramView::dragMoveEvent(QDragMoveEvent *e) { if (e -> mimeData() -> hasFormat("text/plain")) e -> acceptProposedAction(); else e-> ignore(); } /** Gere les depots (drop) acceptes sur le schema. Cette methode emet le signal aboutToAddElement si l'element depose est accessible. @param e le QDropEvent correspondant au drag'n drop effectue */ void DiagramView::dropEvent(QDropEvent *e) { // recupere l'emplacement de l'element depuis le drag'n drop QString elmt_path = e -> mimeData() -> text(); ElementsLocation location(ElementsLocation::locationFromString(elmt_path)); // verifie qu'il existe un element correspondant a cet emplacement ElementsCollectionItem *dropped_item = QETApp::collectionItem(location); if (!dropped_item) return; next_location_ = location; next_position_ = e-> pos(); emit(aboutToAddElement()); } /** Passe le Diagram en mode visualisation */ void DiagramView::setVisualisationMode() { setDragMode(ScrollHandDrag); applyReadOnly(); setInteractive(false); emit(modeChanged()); } /** Passe le Diagram en mode Selection */ void DiagramView::setSelectionMode() { setDragMode(RubberBandDrag); setInteractive(true); applyReadOnly(); emit(modeChanged()); } /** Agrandit le schema (+33% = inverse des -25 % de zoomMoins()) */ void DiagramView::zoomIn() { scale(4.0/3.0, 4.0/3.0); adjustGridToZoom(); } /** Retrecit le schema (-25% = inverse des +33 % de zoomPlus()) */ void DiagramView::zoomOut() { scale(0.75, 0.75); adjustGridToZoom(); } /** Agrandit ou rectrecit le schema de facon a ce que tous les elements du schema soient visibles a l'ecran. S'il n'y a aucun element sur le schema, le zoom est reinitialise */ void DiagramView::zoomFit() { adjustSceneRect(); fitInView(sceneRect(), Qt::KeepAspectRatio); adjustGridToZoom(); } /** Reinitialise le zoom */ void DiagramView::zoomReset() { resetMatrix(); adjustGridToZoom(); } /** Copie les elements selectionnes du schema dans le presse-papier puis les supprime */ void DiagramView::cut() { copy(); DiagramContent cut_content = scene -> selectedContent(); scene -> clearSelection(); scene -> undoStack().push(new CutDiagramCommand(scene, cut_content)); } /** Copie les elements selectionnes du schema dans le presse-papier */ void DiagramView::copy() { QClipboard *presse_papier = QApplication::clipboard(); QString contenu_presse_papier = scene -> toXml(false).toString(4); if (presse_papier -> supportsSelection()) presse_papier -> setText(contenu_presse_papier, QClipboard::Selection); presse_papier -> setText(contenu_presse_papier); } /** Importe les elements contenus dans le presse-papier dans le schema @param pos coin superieur gauche (en coordonnees de la scene) du rectangle englobant le contenu colle @param clipboard_mode Type de presse-papier a prendre en compte */ void DiagramView::paste(const QPointF &pos, QClipboard::Mode clipboard_mode) { if (scene -> isReadOnly()) return; QString texte_presse_papier = QApplication::clipboard() -> text(clipboard_mode); if ((texte_presse_papier).isEmpty()) return; QDomDocument document_xml; if (!document_xml.setContent(texte_presse_papier)) return; // objet pour recuperer le contenu ajoute au schema par le coller DiagramContent content_pasted; scene -> fromXml(document_xml, pos, false, &content_pasted); // si quelque chose a effectivement ete ajoute au schema, on cree un objet d'annulation if (content_pasted.count()) { scene -> clearSelection(); scene -> undoStack().push(new PasteDiagramCommand(scene, content_pasted)); adjustSceneRect(); } } /** Colle le contenu du presse-papier sur le schema a la position de la souris */ void DiagramView::pasteHere() { paste(mapToScene(paste_here_pos)); } /** Gere les clics et plus particulierement : * le clic du milieu (= coller pour X11) * le clic pour ajouter un champ de texte independant */ void DiagramView::mousePressEvent(QMouseEvent *e) { if (e -> buttons() == Qt::MidButton) { paste(mapToScene(e -> pos()), QClipboard::Selection); } else { if (!scene -> isReadOnly() && is_adding_text && e -> buttons() == Qt::LeftButton) { addDiagramTextAtPos(mapToScene(e -> pos())); is_adding_text = false; } QGraphicsView::mousePressEvent(e); } } /** Gere les actions liees a la rollette de la souris @param e QWheelEvent decrivant l'evenement rollette */ void DiagramView::wheelEvent(QWheelEvent *e) { // si la touche Ctrl est enfoncee, on zoome / dezoome if (e -> modifiers() & Qt::ControlModifier) { if (e -> delta() > 0) { zoomIn(); } else { zoomOut(); } } else { QAbstractScrollArea::wheelEvent(e); } } /** @return le titre de cette vue ; cela correspond au titre du schema visualise precede de la mention "Schema". Si le titre du schema est vide, la mention "Schema sans titre" est utilisee @see Diagram::title() */ QString DiagramView::title() const { QString view_title; QString diagram_title(scene -> title()); if (diagram_title.isEmpty()) { view_title = tr("Sch\351ma sans titre"); } else { view_title = QString(tr("Sch\351ma %1", "%1 is a diagram title")).arg(diagram_title); } return(view_title); } /** Edite les informations du schema. */ void DiagramView::editDiagramProperties() { bool diagram_is_read_only = scene -> isReadOnly(); // recupere le cartouche et les dimensions du schema InsetProperties inset = scene -> border_and_inset.exportInset(); BorderProperties border = scene -> border_and_inset.exportBorder(); // construit le dialogue QDialog popup(diagramEditor()); #ifdef Q_WS_MAC popup.setWindowFlags(Qt::Sheet); #endif popup.setMinimumWidth(400); popup.setWindowTitle(tr("Propri\351t\351s du sch\351ma", "window title")); BorderPropertiesWidget *border_infos = new BorderPropertiesWidget(border, &popup); border_infos -> setReadOnly(diagram_is_read_only); InsetPropertiesWidget *inset_infos = new InsetPropertiesWidget(inset, false, &popup); inset_infos -> setReadOnly(diagram_is_read_only); // boutons QDialogButtonBox boutons(diagram_is_read_only ? QDialogButtonBox::Ok : QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(&boutons, SIGNAL(accepted()), &popup, SLOT(accept())); connect(&boutons, SIGNAL(rejected()), &popup, SLOT(reject())); // ajout dans une disposition verticale QVBoxLayout layout_v(&popup); layout_v.addWidget(border_infos); layout_v.addWidget(inset_infos); layout_v.addStretch(); layout_v.addWidget(&boutons); // si le dialogue est accepte if (popup.exec() == QDialog::Accepted && !diagram_is_read_only) { InsetProperties new_inset = inset_infos -> insetProperties(); BorderProperties new_border = border_infos -> borderProperties(); // s'il y a des modifications au cartouche if (new_inset != inset) { scene -> undoStack().push(new ChangeInsetCommand(scene, inset, new_inset)); } // s'il y a des modifications aux dimensions du schema if (new_border != border) { scene -> undoStack().push(new ChangeBorderCommand(scene, border, new_border)); } } } /** @return true s'il y a des elements selectionnes sur le schema, false sinon */ bool DiagramView::hasSelectedItems() { return(scene -> selectedItems().size() > 0); } /** Ajoute une colonne au schema. */ void DiagramView::addColumn() { if (scene -> isReadOnly()) return; BorderProperties old_bp = scene -> border_and_inset.exportBorder(); BorderProperties new_bp = scene -> border_and_inset.exportBorder(); new_bp.columns_count += 1; scene -> undoStack().push(new ChangeBorderCommand(scene, old_bp, new_bp)); } /** Enleve une colonne au schema. */ void DiagramView::removeColumn() { if (scene -> isReadOnly()) return; BorderProperties old_bp = scene -> border_and_inset.exportBorder(); BorderProperties new_bp = scene -> border_and_inset.exportBorder(); new_bp.columns_count -= 1; scene -> undoStack().push(new ChangeBorderCommand(scene, old_bp, new_bp)); } /** Agrandit le schema en hauteur */ void DiagramView::addRow() { if (scene -> isReadOnly()) return; BorderProperties old_bp = scene -> border_and_inset.exportBorder(); BorderProperties new_bp = scene -> border_and_inset.exportBorder(); new_bp.rows_count += 1; scene -> undoStack().push(new ChangeBorderCommand(scene, old_bp, new_bp)); } /** Retrecit le schema en hauteur */ void DiagramView::removeRow() { if (scene -> isReadOnly()) return; BorderProperties old_bp = scene -> border_and_inset.exportBorder(); BorderProperties new_bp = scene -> border_and_inset.exportBorder(); new_bp.rows_count -= 1; scene -> undoStack().push(new ChangeBorderCommand(scene, old_bp, new_bp)); } /** Ajuste le sceneRect (zone du schema visualisee par le DiagramView) afin que celui inclut a la fois les elements dans et en dehors du cadre et le cadre lui-meme. */ void DiagramView::adjustSceneRect() { QRectF old_scene_rect = sceneRect(); // rectangle delimitant l'ensemble des elements QRectF elements_bounding_rect = scene -> itemsBoundingRect(); // rectangle contenant le cadre = colonnes + cartouche QRectF border_bounding_rect = scene -> border().adjusted(-Diagram::margin, -Diagram::margin, Diagram::margin, Diagram::margin); // ajuste la sceneRect QRectF new_scene_rect = elements_bounding_rect.united(border_bounding_rect); setSceneRect(new_scene_rect); // met a jour la scene scene -> update(old_scene_rect.united(new_scene_rect)); } /** Met a jour le titre du widget */ void DiagramView::updateWindowTitle() { QString view_title(title()); // verifie si le document a ete modifie bool modified_diagram = !(scene -> undoStack().isClean()); // specifie le titre du widget setWindowTitle(view_title + " [*]"); setWindowModified(modified_diagram); // emet le signal titleChanged en ajoutant manuellement [*] si le schema a ete modifie QString emitted_title = view_title; if (modified_diagram) emitted_title += " [*]"; emit(titleChanged(this, emitted_title)); } /** Active ou desactive le dessin de grille selon la quantite de pixels affichee */ void DiagramView::adjustGridToZoom() { QRectF viewed_scene = viewedSceneRect(); scene -> setDisplayGrid(viewed_scene.width() < 2000 || viewed_scene.height() < 2000); } /** @return le rectangle du schema (classe Diagram) visualise par ce DiagramView */ QRectF DiagramView::viewedSceneRect() const { // recupere la taille du widget viewport QSize viewport_size = viewport() -> size(); // recupere la transformation viewport -> scene QTransform view_to_scene = viewportTransform().inverted(); // mappe le coin superieur gauche et le coin inferieur droit de la viewport sur la scene QPointF scene_left_top = view_to_scene.map(QPointF(0.0, 0.0)); QPointF scene_right_bottom = view_to_scene.map(QPointF(viewport_size.width(), viewport_size.height())); // en deduit le rectangle visualise par la scene return(QRectF(scene_left_top, scene_right_bottom)); } /** Cette methode permet de determiner s'il faut ou non integrer au projet un element dont on connait l'emplacement. L'element droppe est integre a la collection du projet : * s'il appartient a un autre projet, quelque soit la specification de l'utilisateur a ce propos ; * s'il appartient a la collection commune ou a la collection personnelle ET que l'utilisateur a autorise l'integration automatique des elements dans les projets. @param location Emplacement de l'element @return true si l'element doit etre integre, false sinon */ bool DiagramView::mustIntegrateElement(const ElementsLocation &location) const { // l'utilisateur a-t-il autorise l'integration automatique des elements dans les projets ? bool auto_integration_enabled = QETApp::settings().value("diagrameditor/integrate-elements", true).toBool(); // l'element appartient-il a un projet et si oui, est-ce un autre projet ? bool elmt_from_project = location.project(); bool elmt_from_another_project = elmt_from_project && location.project() != scene -> project(); // faut-il integrer l'element ? bool must_integrate_element = (elmt_from_another_project || (auto_integration_enabled && !elmt_from_project)); return(must_integrate_element); } /** @param location Emplacement de l'element a ajouter sur le schema @param pos Position (dans les coordonnees de la vue) a laquelle l'element sera ajoute */ bool DiagramView::addElementAtPos(const ElementsLocation &location, const QPoint &pos) { // construit une instance de l'element correspondant a l'emplacement int state; Element *el = new CustomElement(location, 0, 0, &state); if (state) { delete el; return(false); } // pose de l'element sur le schema diagram() -> undoStack().push(new AddElementCommand(diagram(), el, mapToScene(pos))); return(true); } /** Fait en sorte que le schema ne soit editable que s'il n'est pas en lecture seule */ void DiagramView::applyReadOnly() { if (!scene) return; bool is_writable = !scene -> isReadOnly(); setInteractive(is_writable); setAcceptDrops(is_writable); } /** Edite les proprietes des objets selectionnes */ void DiagramView::editSelectionProperties() { // recupere la selection DiagramContent selection = scene -> selectedContent(); // s'il n'y a rien de selectionne, cette methode ne fait rien int selected_items_count = selection.count(DiagramContent::All | DiagramContent::SelectedOnly); if (!selected_items_count) return; // si la selection ne comprend qu'un seul objet, on l'edite via un dialogue approprie if (selected_items_count == 1) { // cas d'un conducteur selectionne QList selected_conductors = selection.conductors(DiagramContent::AnyConductor | DiagramContent::SelectedOnly); if (selected_conductors.count() == 1) { editConductor(selected_conductors.at(0)); return; } // cas d'un element selectionne if (selection.elements.count() == 1) { editElement(selection.elements.at(0)); return; } // cas d'un champ de texte selectionne : pour le moment, on traite comme une selection multiple } // sinon on affiche un simple listing des elements selectionnes QET::MessageBox::information( this, tr("Propri\351t\351s de la s\351lection"), QString( tr( "La s\351lection contient %1.", "%1 is a sentence listing the selected objects" ) ).arg(selection.sentence(DiagramContent::All | DiagramContent::SelectedOnly)) ); } /** Affiche des informations sur un element @param element Element a afficher */ void DiagramView::editElement(Element *element) { if (!element) return; CustomElement *custom_element = qobject_cast(element); GhostElement *ghost_element = qobject_cast(element); // type de l'element QString description_string; if (ghost_element) { description_string += tr("\311l\351ment manquant"); } else { description_string += tr("\311l\351ment"); } description_string += "\n"; // nom, nombre de bornes, dimensions description_string += QString(tr("Nom\240: %1\n")).arg(element -> name()); description_string += QString(tr("Position\240: %1\n")).arg(scene -> convertPosition(element -> scenePos()).toString()); description_string += QString(tr("Dimensions\240: %1\327%2\n")).arg(element -> size().width()).arg(element -> size().height()); description_string += QString(tr("Bornes\240: %1\n")).arg(element -> terminals().count()); description_string += QString(tr("Connexions internes\240: %1\n")).arg(element -> internalConnections() ? tr("Autoris\351es") : tr("Interdites")); description_string += QString(tr("Champs de texte\240: %1\n")).arg(element -> texts().count()); if (custom_element) { description_string += QString(tr("Emplacement\240: %1\n")).arg(custom_element -> location().toString()); } // titre et boutons du dialogue QString description_title = tr("Propri\351t\351s de l'\351l\351ment s\351lectionn\351"); QPushButton *find_in_panel = new QPushButton(tr("Retrouver dans le panel")); QPushButton *edit_element = new QPushButton(tr("\311diter l'\351l\351ment")); edit_element->setIcon(QET::Icons::ElementEdit); // dialogue en lui-meme QMessageBox edit_element_dialog(diagramEditor()); #ifdef Q_WS_MAC edit_element_dialog.setWindowFlags(Qt::Sheet); #endif edit_element_dialog.setIcon(QMessageBox::Information); edit_element_dialog.setWindowTitle(description_title); edit_element_dialog.setText(description_title); edit_element_dialog.setInformativeText(description_string); edit_element_dialog.addButton(find_in_panel, QMessageBox::ApplyRole); edit_element_dialog.addButton(edit_element, QMessageBox::ApplyRole); edit_element_dialog.addButton(QMessageBox::Ok); edit_element_dialog.setDefaultButton(QMessageBox::Ok); edit_element_dialog.setEscapeButton(QMessageBox::Ok); edit_element_dialog.exec(); // Permet de trouver l'element dans la collection if (edit_element_dialog.clickedButton() == find_in_panel) { emit(findElementRequired(custom_element -> location())); } // Trouve l'element dans la collection et l'edite if (edit_element_dialog.clickedButton() == edit_element) { emit(findElementRequired(custom_element -> location())); emit(editElementRequired(custom_element -> location())); } } /** Affiche un dialogue permettant d'editer le conducteur selectionne. Ne fait rien s'il y a 0 ou plusieurs conducteurs selectionnes. */ void DiagramView::editConductor() { QList selected_conductors(scene -> selectedConductors().toList()); // on ne peut editer qu'un conducteur a la fois if (selected_conductors.count() != 1) return; Conductor *edited_conductor = selected_conductors.first(); editConductor(edited_conductor); } /** Edite le conducteur passe en parametre @param edited_conductor Conducteur a editer */ void DiagramView::editConductor(Conductor *edited_conductor) { if (scene -> isReadOnly()) return; if (!edited_conductor) return; // initialise l'editeur de proprietes pour le conducteur ConductorProperties old_properties = edited_conductor -> properties(); ConductorPropertiesWidget *cpw = new ConductorPropertiesWidget(old_properties); // l'insere dans un dialogue QDialog conductor_dialog(diagramEditor()); #ifdef Q_WS_MAC conductor_dialog.setWindowFlags(Qt::Sheet); #endif conductor_dialog.setWindowTitle(tr("\311diter les propri\351t\351s d'un conducteur", "window title")); QVBoxLayout *dialog_layout = new QVBoxLayout(&conductor_dialog); dialog_layout -> addWidget(cpw); dialog_layout -> addStretch(); QDialogButtonBox *dbb = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dialog_layout -> addWidget(dbb); connect(dbb, SIGNAL(accepted()), &conductor_dialog, SLOT(accept())); connect(dbb, SIGNAL(rejected()), &conductor_dialog, SLOT(reject())); // execute le dialogue et met a jour le conducteur if (conductor_dialog.exec() == QDialog::Accepted) { // recupere les nouvelles proprietes ConductorProperties new_properties = cpw -> conductorProperties(); if (new_properties != old_properties) { // initialise l'objet UndoCommand correspondant ChangeConductorPropertiesCommand *ccpc = new ChangeConductorPropertiesCommand(edited_conductor); ccpc -> setOldSettings(old_properties); ccpc -> setNewSettings(new_properties); diagram() -> undoStack().push(ccpc); } } } /** Reinitialise le profil des conducteurs selectionnes */ void DiagramView::resetConductors() { if (scene -> isReadOnly()) return; // recupere les conducteurs selectionnes QSet selected_conductors = scene -> selectedConductors(); // repere les conducteurs modifies (= profil non nul) QHash conductors_and_profiles; foreach(Conductor *conductor, selected_conductors) { ConductorProfilesGroup profile = conductor -> profiles(); if ( !profile[Qt::TopLeftCorner].isNull() ||\ !profile[Qt::TopRightCorner].isNull() ||\ !profile[Qt::BottomLeftCorner].isNull() ||\ !profile[Qt::BottomRightCorner].isNull() ) { conductors_and_profiles.insert(conductor, profile); } } if (conductors_and_profiles.isEmpty()) return; scene -> undoStack().push(new ResetConductorCommand(conductors_and_profiles)); } /** Lance un dialogue permettant de modifier les proprietes par defaut des futurs nouveaux conducteurs */ void DiagramView::editDefaultConductorProperties() { bool diagram_is_read_only = scene -> isReadOnly(); // initialise l'editeur de proprietes pour le conducteur ConductorPropertiesWidget *cpw = new ConductorPropertiesWidget(scene -> defaultConductorProperties); cpw -> setReadOnly(diagram_is_read_only); // l'insere dans un dialogue QDialog conductor_dialog(diagramEditor()); #ifdef Q_WS_MAC conductor_dialog.setWindowFlags(Qt::Sheet); #endif conductor_dialog.setWindowTitle(tr("\311diter les propri\351t\351s par d\351faut des conducteurs", "window title")); QVBoxLayout *dialog_layout = new QVBoxLayout(&conductor_dialog); dialog_layout -> addWidget(cpw); QDialogButtonBox *dbb = new QDialogButtonBox(diagram_is_read_only ? QDialogButtonBox::Ok : QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dialog_layout -> addWidget(dbb); connect(dbb, SIGNAL(accepted()), &conductor_dialog, SLOT(accept())); connect(dbb, SIGNAL(rejected()), &conductor_dialog, SLOT(reject())); // execute le dialogue et met a jour le conducteur if (conductor_dialog.exec() == QDialog::Accepted && !diagram_is_read_only) { scene -> defaultConductorProperties = cpw -> conductorProperties(); } } /** Gere les evenements de la DiagramView @param e Evenement */ bool DiagramView::event(QEvent *e) { // fait en sorte que les raccourcis clavier arrivent prioritairement sur la // vue plutot que de remonter vers les QMenu / QAction if ( e -> type() == QEvent::ShortcutOverride && scene -> hasFocus() && scene -> focusItem() && scene -> focusItem() -> isSelected() ) { e -> accept(); return(true); } return(QGraphicsView::event(e)); } /** Passe le DiagramView en mode "ajout de texte". Un clic cree alors un nouveau champ de texte. */ void DiagramView::addText() { if (scene -> isReadOnly()) return; is_adding_text = true; } /** Cree un nouveau champ de texte et le place a la position pos en gerant l'annulation ; enfin, le signal textAdded est emis. @param pos Position du champ de texte ajoute @return le champ de texte ajoute */ DiagramTextItem *DiagramView::addDiagramTextAtPos(const QPointF &pos) { // cree un nouveau champ de texte DiagramTextItem *dti = new DiagramTextItem(); dti -> setPlainText("_"); dti -> previous_text = "_"; // le place a la position pos en gerant l'annulation scene -> undoStack().push(new AddTextCommand(scene, dti, pos)); adjustSceneRect(); // emet le signal textAdded emit(textAdded(false)); return(dti); } /** Gere le menu contextuel @param e Evenement decrivant la demande de menu contextuel */ void DiagramView::contextMenuEvent(QContextMenuEvent *e) { if (QGraphicsItem *qgi = scene -> itemAt(mapToScene(e -> pos()))) { if (!qgi -> isSelected()) scene -> clearSelection(); qgi -> setSelected(true); } if (QETDiagramEditor *qde = diagramEditor()) { context_menu -> clear(); if (scene -> selectedItems().isEmpty()) { paste_here_pos = e -> pos(); paste_here -> setEnabled(Diagram::clipboardMayContainDiagram()); context_menu -> addAction(paste_here); context_menu -> addSeparator(); context_menu -> addAction(qde -> infos_diagram); context_menu -> addAction(qde -> add_column); context_menu -> addAction(qde -> remove_column); context_menu -> addAction(qde -> add_row); context_menu -> addAction(qde -> remove_row); } else { context_menu -> addAction(qde -> cut); context_menu -> addAction(qde -> copy); context_menu -> addSeparator(); context_menu -> addAction(qde -> conductor_reset); context_menu -> addSeparator(); context_menu -> addAction(qde -> delete_selection); context_menu -> addAction(qde -> rotate_selection); context_menu -> addAction(qde -> selection_prop); } // affiche le menu contextuel context_menu -> popup(e -> globalPos()); } e -> accept(); } /** @return l'editeur de schemas parent ou 0 */ QETDiagramEditor *DiagramView::diagramEditor() const { // remonte la hierarchie des widgets QWidget *w = const_cast(this); while (w -> parentWidget() && !w -> isWindow()) { w = w -> parentWidget(); } // la fenetre est supposee etre un QETDiagramEditor return(qobject_cast(w)); } /** Gere les double-clics sur le schema */ void DiagramView::mouseDoubleClickEvent(QMouseEvent *e) { BorderInset &bi = scene -> border_and_inset; // recupere le rectangle corespondant au cartouche QRectF inset_rect( Diagram::margin, Diagram::margin + bi.diagramHeight(), bi.insetWidth(), bi.insetHeight() ); // recupere le rectangle correspondant aux en-tetes des colonnes QRectF columns_rect( Diagram::margin, Diagram::margin, bi.borderWidth(), bi.columnsHeaderHeight() ); // recupere le rectangle correspondant aux en-tetes des lignes QRectF rows_rect( Diagram::margin, Diagram::margin, bi.rowsHeaderWidth(), bi.diagramHeight() ); // coordonnees du clic par rapport au schema QPointF click_pos = viewportTransform().inverted().map(e -> pos()); // detecte le double-clic sur le cartouche ou les colonnes if (QGraphicsItem *qgi = itemAt(e -> pos())) { if (Conductor *c = qgraphicsitem_cast(qgi)) { editConductor(c); } else if (Element *element = qgraphicsitem_cast(qgi)) { editElement(element); } else { QGraphicsView::mouseDoubleClickEvent(e); } } else if (inset_rect.contains(click_pos) || columns_rect.contains(click_pos) || rows_rect.contains(click_pos)) { // edite les proprietes du schema editDiagramProperties(); } else { QGraphicsView::mouseDoubleClickEvent(e); } } /** Cette methode ajoute l'element deisgne par l'emplacement location a la position pos. Si necessaire, elle demande l'integration de l'element au projet. @see mustIntegrateElement */ void DiagramView::addDroppedElement() { ElementsLocation location = next_location_; QPoint pos = next_position_; if (!mustIntegrateElement(location)) { addElementAtPos(location, pos); } else { QString error_msg; IntegrationMoveElementsHandler *integ_handler = new IntegrationMoveElementsHandler(this); QString integ_path = scene -> project() -> integrateElement(location.toString(), integ_handler, error_msg); delete integ_handler; if (integ_path.isEmpty()) { qDebug() << "DiagramView::addDroppedElement : Impossible d'ajouter l'element. Motif : " << qPrintable(error_msg); return; } addElementAtPos(ElementsLocation::locationFromString(integ_path), pos); } adjustSceneRect(); } qelectrotech-0.22+svn897/sources/conductorsegmentprofile.h0000644000175000017500000000313611320140732023673 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CONDUCTOR_SEGMENT_PROFILE_H #define CONDUCTOR_SEGMENT_PROFILE_H #include #include "conductorsegment.h" /** Cette classe contient le profil (= les caracteristiques essentielles) d'un segment de conducteur. */ class ConductorSegmentProfile { // constructeurs, destructeur public: /** Constructeur @param l longueur du segment @param ori true si le segment est horizontal, false s'il est vertical */ ConductorSegmentProfile(qreal l, bool ori = true) : length(l), isHorizontal(ori) { } /** Constructeur @param segment ConductorSegment dont il faut extraire le profil */ ConductorSegmentProfile(ConductorSegment *segment) : length(segment -> length()), isHorizontal(segment -> isHorizontal()) { } /// Destructeur virtual ~ConductorSegmentProfile() { } // attributs public: /// longueur du segment qreal length; /// orientation du segment bool isHorizontal; }; #endif qelectrotech-0.22+svn897/sources/diagramcontent.h0000644000175000017500000000445011320140732021726 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef DIAGRAM_CONTENT_H #define DIAGRAM_CONTENT_H #include class Conductor; class Element; class Terminal; class DiagramTextItem; /** Cette classe est un conteneur pour passer facilement le contenu d'un schema a une fonction. Il permet d'acceder rapidement aux differents types de composants que l'on peut trouver sur un schema, comme les elements, les champs de texte, les conducteurs (a deplacer ou a mettre a jour, en cas de deplacements), etc. A noter que ce container ne contient pas systematiquement l'integralite d'un schema. Il peut n'en contenir qu'une partie, typiquement les composants selectionnes. */ class DiagramContent { public: DiagramContent(); DiagramContent(const DiagramContent &); ~DiagramContent(); /// Permet de filtrer facilement les differentes parties d'un schema enum Filter { Elements = 1, TextFields = 2, ConductorsToMove = 4, ConductorsToUpdate = 8, OtherConductors = 16, AnyConductor = 28, All = 31, SelectedOnly = 32 }; /// Elements de texte du schema QList elements; /// Champs de texte du schema QList textFields; /// Conducteurs a mettre a jour du schema QHash conductorsToUpdate; /// Conducteurs a deplacer du schema QList conductorsToMove; /// Conducteurs isoles (ni a deplacer, ni a mettre a jour) QList otherConductors; QList conductors(int = AnyConductor) const; QList items(int = All) const; QString sentence(int = All) const; int count(int = All) const; void clear(); }; QDebug &operator<<(QDebug, DiagramContent &); #endif qelectrotech-0.22+svn897/sources/qet.cpp0000644000175000017500000003474111344020127020062 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qet.h" #include /** Permet de convertir une chaine de caracteres ("n", "s", "e" ou "w") en orientation. Si la chaine fait plusieurs caracteres, seul le premier est pris en compte. En cas d'incoherence, QET::North est retourne. @param s Chaine de caractere cense representer une orientation @return l'orientation designee par la chaine de caractere */ QET::Orientation QET::orientationFromString(const QString &s) { QChar c = s[0]; if (c == 'e') return(QET::East); else if (c == 's') return(QET::South); else if (c == 'w') return (QET::West); else return(QET::North); } /** @param o une orientation @return une chaine de caractere representant l'orientation */ QString QET::orientationToString(QET::Orientation o) { QString ret; switch(o) { case QET::North: ret = "n"; break; case QET::East : ret = "e"; break; case QET::South: ret = "s"; break; case QET::West : ret = "w"; break; } return(ret); } /** Indique si deux orientations de Borne sont sur le meme axe (Vertical / Horizontal). @param a La premiere orientation de Borne @param b La seconde orientation de Borne @return Un booleen a true si les deux orientations de bornes sont sur le meme axe */ bool QET::surLeMemeAxe(QET::Orientation a, QET::Orientation b) { if ((a == QET::North || a == QET::South) && (b == QET::North || b == QET::South)) return(true); else if ((a == QET::East || a == QET::West) && (b == QET::East || b == QET::West)) return(true); else return(false); } /** Indique si une orientation de borne est horizontale (Est / Ouest). @param a L'orientation de borne @return True si l'orientation de borne est horizontale, false sinon */ bool QET::estHorizontale(QET::Orientation a) { return(a == QET::East || a == QET::West); } /** Indique si une orientation de borne est verticale (Nord / Sud). @param a L'orientation de borne @return True si l'orientation de borne est verticale, false sinon */ bool QET::estVerticale(QET::Orientation a) { return(a == QET::North || a == QET::South); } /** Permet de connaitre l'orientation suivante apres celle donnee en parametre. Les orientations sont generalement presentees dans l'ordre suivant : Nord, Est, Sud, Ouest. @param o une orientation @return l'orientation suivante */ QET::Orientation QET::nextOrientation(QET::Orientation o) { if (o < 0 || o > 2) return(QET::North); return((QET::Orientation)(o + 1)); } /** Permet de connaitre l'orientation precedant celle donnee en parametre. Les orientations sont generalement presentees dans l'ordre suivant : Nord, Est, Sud, Ouest. @param o une orientation @return l'orientation precedente */ QET::Orientation QET::previousOrientation(QET::Orientation o) { if (o < 0 || o > 3) return(QET::North); if (o == QET::North) return(QET::West); return((QET::Orientation)(o - 1)); } /** Permet de savoir si l'attribut nom_attribut d'un element XML e est bien un entier. Si oui, sa valeur est copiee dans entier. @param e Element XML @param nom_attribut Nom de l'attribut a analyser @param entier Pointeur facultatif vers un entier @return true si l'attribut est bien un entier, false sinon */ bool QET::attributeIsAnInteger(const QDomElement &e, QString nom_attribut, int *entier) { // verifie la presence de l'attribut if (!e.hasAttribute(nom_attribut)) return(false); // verifie la validite de l'attribut bool ok; int tmp = e.attribute(nom_attribut).toInt(&ok); if (!ok) return(false); if (entier != NULL) *entier = tmp; return(true); } /** Permet de savoir si l'attribut nom_attribut d'un element XML e est bien un reel. Si oui, sa valeur est copiee dans reel. @param e Element XML @param nom_attribut Nom de l'attribut a analyser @param reel Pointeur facultatif vers un double @return true si l'attribut est bien un reel, false sinon */ bool QET::attributeIsAReal(const QDomElement &e, QString nom_attribut, qreal *reel) { // verifie la presence de l'attribut if (!e.hasAttribute(nom_attribut)) return(false); // verifie la validite de l'attribut bool ok; qreal tmp = e.attribute(nom_attribut).toDouble(&ok); if (!ok) return(false); if (reel != NULL) *reel = tmp; return(true); } /** Permet de composer rapidement la proposition "x elements et y conducteurs" ou encore "x elements, y conducteurs et z champs de texte". @param elements_count nombre d'elements @param conductors_count nombre de conducteurs @param texts_count nombre de champs de texte @return la proposition decrivant le nombre d'elements, de conducteurs et de textes */ QString QET::ElementsAndConductorsSentence(int elements_count, int conductors_count, int texts_count) { QString text; if (elements_count) { text += QObject::tr( "%n \351l\351ment(s)", "part of a sentence listing the content of a diagram", elements_count ); if (conductors_count && texts_count) { text += QObject::tr( ", ", "separator between elements and conductors in a sentence " "listing the content of a diagram" ); } else if (conductors_count || texts_count) { text += QObject::tr( " et ", "separator between elements and conductors (or texts) in a " "sentence listing the content of a diagram" ); } } if (conductors_count) { text += QObject::tr( "%n conducteur(s)", "part of a sentence listing the content of a diagram", conductors_count ); if (texts_count) { text += QObject::tr( " et ", "separator between conductors and texts in a sentence listing " "the content of a diagram" ); } } if (texts_count) { text += QObject::tr( "%n champ(s) de texte", "part of a sentence listing the content of a diagram", texts_count ); } return(text); } /** Etant donne un element XML e, renvoie la liste de tous les elements children imbriques dans les elements parent, eux-memes enfants de l'elememt e @param e Element XML a explorer @param parent tag XML intermediaire @param children tag XML a rechercher @return La liste des elements XML children */ QList QET::findInDomElement(const QDomElement &e, const QString &parent, const QString &children) { QList return_list; // parcours des elements parents for (QDomNode enfant = e.firstChild() ; !enfant.isNull() ; enfant = enfant.nextSibling()) { // on s'interesse a l'element XML "parent" QDomElement parents = enfant.toElement(); if (parents.isNull() || parents.tagName() != parent) continue; // parcours des enfants de l'element XML "parent" for (QDomNode node_children = parents.firstChild() ; !node_children.isNull() ; node_children = node_children.nextSibling()) { // on s'interesse a l'element XML "children" QDomElement n_children = node_children.toElement(); if (!n_children.isNull() && n_children.tagName() == children) return_list.append(n_children); } } return(return_list); } /// @return le texte de la licence de QElectroTech (GNU/GPL) QString QET::license() { // Recuperation du texte de la GNU/GPL dans un fichier integre a l'application QFile *file_license = new QFile(":/LICENSE"); QString txt_license; // verifie que le fichier existe if (!file_license -> exists()) { txt_license = QString(QObject::tr("Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute fa\347on, vous la connaissez par coeur non ?")); } else { // ouvre le fichier en mode texte et en lecture seule if (!file_license -> open(QIODevice::ReadOnly | QIODevice::Text)) { txt_license = QString(QObject::tr("Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu \352tre ouvert - bon bah de toute fa\347on, vous la connaissez par coeur non ?")); } else { // charge le contenu du fichier dans une QString QTextStream in(file_license); txt_license = QString(""); while (!in.atEnd()) txt_license += in.readLine()+"\n"; // ferme le fichier file_license -> close(); } } return(txt_license); }; /** @return la liste des caracteres interdits dans les noms de fichiers sous Windows */ QList QET::forbiddenCharacters() { return(QList() << '\\' << '/' << ':' << '*' << '?' << '"' << '<' << '>' << '|'); } /** @return une chaine listant les caracteres interdits dans les noms de fichiers sous Windows @param escape true pour remplacer les caracteres < et > par leurs entites HTML */ QString QET::forbiddenCharactersString(bool escape) { QString result; foreach(QChar c, QET::forbiddenCharacters()) { if (escape) { if (c == '<') result += "<"; else if (c == '>') result += ">"; else result += QString(c); } else { result += QString(c); } result += " "; } return(result); } /** @param string une chaine de caracteres @return true si string contient un caractere interdit dans les noms de fichiers sous Windows */ bool QET::containsForbiddenCharacters(const QString &string) { foreach(QChar c, QET::forbiddenCharacters()) { if (string.contains(c)) return(true); } return(false); } /** Cette fonction transforme une chaine de caracteres (typiquement : un nom de schema, de projet, d'element) en un nom de fichier potable. Par nom de fichier potable, on entend un nom : * ne comprenant pas de caracteres interdits sous Windows * ne comprenant pas d'espace @param name Chaine de caractere a transformer en nom de fichier potable @todo virer les caracteres accentues ? */ QString QET::stringToFileName(const QString &name) { QString file_name(name.toLower()); // remplace les caracteres interdits par des tirets foreach(QChar c, QET::forbiddenCharacters()) { file_name.replace(c, '-'); } // remplace les espaces par des underscores file_name.replace(' ', '_'); return(file_name); } /** @param string une chaine de caracteres @return la meme chaine de caracteres, mais avec les espaces et backslashes echappes */ QString QET::escapeSpaces(const QString &string) { return(QString(string).replace('\\', "\\\\").replace(' ', "\\ ")); } /** @param string une chaine de caracteres @return la meme chaine de caracteres, mais avec les espaces et backslashes non echappes */ QString QET::unescapeSpaces(const QString &string) { return(QString(string).replace("\\\\", "\\").replace("\\ ", " ")); } /** Assemble une liste de chaines en une seule. Un espace separe chaque chaine. Les espaces et backslashes des chaines sont echappes. @param string_list une liste de chaine @return l'assemblage des chaines */ QString QET::joinWithSpaces(const QStringList &string_list) { QString returned_string; for (int i = 0 ; i < string_list.count() ; ++ i) { returned_string += QET::escapeSpaces(string_list.at(i)); if (i != string_list.count() - 1) returned_string += " "; } return(returned_string); } /** @param string Une chaine de caracteres contenant des sous-chaines a extraire separees par des espaces non echappes. Les espaces des sous-chaines sont echappes. @return La liste des sous-chaines, sans echappement. */ QStringList QET::splitWithSpaces(const QString &string) { // les chaines sont separees par des espaces non echappes = avec un nombre nul ou pair de backslashes devant QStringList escaped_strings = string.split(QRegExp("[^\\]?(?:\\\\)* "), QString::SkipEmptyParts); QStringList returned_list; foreach(QString escaped_string, escaped_strings) { returned_list << QET::unescapeSpaces(escaped_string); } return(returned_list); } /** @param end_type un type d'extremite @return une chaine representant le type d'extremite */ QString QET::endTypeToString(const QET::EndType &end_type) { switch(end_type) { case QET::Simple: return("simple"); case QET::Triangle: return("triangle"); case QET::Circle: return("circle"); case QET::Diamond: return("diamond"); case QET::None: default: return("none"); } } /** @param string une chaine representant un type d'extremite @return le type d'extremite correspondant ; si la chaine est invalide, QET::None est retourne. */ QET::EndType QET::endTypeFromString(const QString &string) { if (string == "simple") return(QET::Simple); else if (string == "triangle") return(QET::Triangle); else if (string == "circle") return(QET::Circle); else if (string == "diamond") return(QET::Diamond); else return(QET::None); } /** @param diagram_area un type de zone de schema @return une chaine representant le type de zone de schema */ QString QET::diagramAreaToString(const QET::DiagramArea &diagram_area) { if (diagram_area == ElementsArea) return("elements"); else return("border"); } /** @param string une chaine representant un type de zone de schema @return le type de zone de schema correspondant ; si la chaine est invalide, QET::ElementsArea est retourne. */ QET::DiagramArea QET::diagramAreaFromString(const QString &string) { if (!string.compare("border", Qt::CaseInsensitive)) return(QET::BorderArea); else return(QET::ElementsArea); } /** @param ptr pointeur quelconque @return une representation hexadecimale de l'adresse du pointeur */ QString QET::pointerString(void *ptr) { static int hexa_digits = -1; if (hexa_digits == -1) { // determine le nombre de bits dans un unsigned long int hexa_digits = std::numeric_limits::digits / 4; } return( QString("0x%1").arg( reinterpret_cast(ptr), hexa_digits, 16, QChar('0') ) ); } /** @param first Un premier chemin vers un fichier @param second Un second chemin vers un fichier @return true si les deux chemins existent existent et sont identiques lorsqu'ils sont exprimes sous forme canonique */ bool QET::compareCanonicalFilePaths(const QString &first, const QString &second) { QString first_canonical_path = QFileInfo(first).canonicalFilePath(); if (first_canonical_path.isEmpty()) return(false); QString second_canonical_path = QFileInfo(second).canonicalFilePath(); if (second_canonical_path.isEmpty()) return(false); #ifdef Q_WS_WIN // sous Windows, on ramene les chemins en minuscules first_canonical_path = first_canonical_path.toLower(); second_canonical_path = second_canonical_path.toLower(); #endif return(first_canonical_path == second_canonical_path); } qelectrotech-0.22+svn897/sources/customelement.cpp0000644000175000017500000006371711320140732022161 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "customelement.h" #include "elementtextitem.h" #include "diagram.h" #include "qetapp.h" #include "partline.h" #include "elementdefinition.h" #include /** Constructeur de la classe CustomElement. Permet d'instancier un element utilisable comme un element fixe a la difference que l'element perso est construit a partir d'une description au format XML. Celle-ci est recuperee a l'emplacement indique. @param location Emplacement de la definition d'element a utiliser @param qgi Le QGraphicsItem parent de cet element @param s Le Schema affichant cet element @param state Un pointeur facultatif vers un entier. La valeur de cet entier sera changee de maniere a refleter le deroulement de l'instanciation : - 0 : L'instanciation a reussi - 1 : l'emplacement n'a pas permis d'acceder a une definition d'element - 2 : la definition n'etait pas lisible - 3 : la definition n'etait pas valide / exploitable / utilisable - 4 : Le document XML n'est pas un element "definition" - 5 : Les attributs de la definition ne sont pas presents et / ou valides - 6 : La definition est vide - 7 : L'analyse d'un element XML decrivant une partie du dessin de l'element a echoue - 8 : Aucune partie du dessin n'a pu etre chargee */ CustomElement::CustomElement(const ElementsLocation &location, QGraphicsItem *qgi, Diagram *s, int *state) : FixedElement(qgi, s), elmt_state(-1), location_(location), forbid_antialiasing(false) { // recupere la definition de l'element ElementsCollectionItem *element_item = QETApp::collectionItem(location); ElementDefinition *element_definition; if ( !element_item ||\ !element_item -> isElement() ||\ !(element_definition = qobject_cast(element_item)) ) { if (state) *state = 1; elmt_state = 1; return; } if (!element_definition -> isReadable()) { if (state) *state = 2; elmt_state = 2; return; } if (element_definition -> isNull()) { if (state) *state = 3; elmt_state = 3; return; } buildFromXml(element_definition -> xml(), &elmt_state); if (state) *state = elmt_state; if (elmt_state) return; if (state) *state = 0; elmt_state = 0; } CustomElement::CustomElement(const QDomElement &xml_def_elmt, QGraphicsItem *qgi, Diagram *s, int *state) : FixedElement(qgi, s) { int elmt_state = -1; buildFromXml(xml_def_elmt, &elmt_state); if (state) *state = elmt_state; } /** Construit l'element personnalise a partir d'un element XML representant sa definition. @param xml_def_elmt @param state Un pointeur facultatif vers un entier. La valeur de cet entier sera changee de maniere a refleter le deroulement de l'instanciation : - 0 : La construction s'est bien passee - 4 : Le document XML n'est pas un element "definition" - 5 : Les attributs de la definition ne sont pas presents et / ou valides - 6 : La definition est vide - 7 : L'analyse d'un element XML decrivant une partie du dessin de l'element a echoue - 8 : Aucune partie du dessin n'a pu etre chargee @return true si le chargement a reussi, false sinon */ bool CustomElement::buildFromXml(const QDomElement &xml_def_elmt, int *state) { if (xml_def_elmt.tagName() != "definition" || xml_def_elmt.attribute("type") != "element") { if (state) *state = 4; return(false); } // verifie basiquement que la version actuelle est capable de lire ce fichier if (xml_def_elmt.hasAttribute("version")) { bool conv_ok; qreal element_version = xml_def_elmt.attribute("version").toDouble(&conv_ok); if (conv_ok && QET::version.toDouble() < element_version) { std::cerr << qPrintable( QObject::tr("Avertissement : l'\351l\351ment " " a \351t\351 enregistr\351 avec une version" " ult\351rieure de QElectroTech.") ) << std::endl; } } // ces attributs doivent etre presents et valides int w, h, hot_x, hot_y; if ( !QET::attributeIsAnInteger(xml_def_elmt, QString("width"), &w) ||\ !QET::attributeIsAnInteger(xml_def_elmt, QString("height"), &h) ||\ !QET::attributeIsAnInteger(xml_def_elmt, QString("hotspot_x"), &hot_x) ||\ !QET::attributeIsAnInteger(xml_def_elmt, QString("hotspot_y"), &hot_y) ||\ !validOrientationAttribute(xml_def_elmt) ) { if (state) *state = 5; return(false); } // on peut d'ores et deja specifier la taille et le hotspot setSize(w, h); setHotspot(QPoint(hot_x, hot_y)); setInternalConnections(xml_def_elmt.attribute("ic") == "true"); // la definition est supposee avoir des enfants if (xml_def_elmt.firstChild().isNull()) { if (state) *state = 6; return(false); } // initialisation du QPainter (pour dessiner l'element) QPainter qp; qp.begin(&drawing); QPainter low_zoom_qp; low_zoom_qp.begin(&low_zoom_drawing); QPen tmp; tmp.setWidthF(1.0); // ligne vaudou pour prise en compte du setCosmetic - ne pas enlever tmp.setCosmetic(true); low_zoom_qp.setPen(tmp); // extrait les noms de la definition XML names.fromXml(xml_def_elmt); setToolTip(name()); // parcours des enfants de la definition : parties du dessin int parsed_elements_count = 0; for (QDomNode node = xml_def_elmt.firstChild() ; !node.isNull() ; node = node.nextSibling()) { QDomElement elmts = node.toElement(); if (elmts.isNull()) continue; if (elmts.tagName() == "description") { // gestion de la description graphique de l'element // = parcours des differentes parties du dessin for (QDomNode n = node.firstChild() ; !n.isNull() ; n = n.nextSibling()) { QDomElement qde = n.toElement(); if (qde.isNull()) continue; if (parseElement(qde, qp)) { ++ parsed_elements_count; QString current_tag = qde.tagName(); if (current_tag != "terminal" && current_tag != "input") { forbid_antialiasing = true; parseElement(qde, low_zoom_qp); forbid_antialiasing = false; } } else { if (state) *state = 7; return(false); } } } } // fin du dessin qp.end(); low_zoom_qp.end(); // il doit y avoir au moins un element charge if (!parsed_elements_count) { if (state) *state = 8; return(false); } else { if (state) *state = 0; return(true); } } /** Destructeur */ CustomElement::~CustomElement() { } /// @return la liste des bornes de cet element QList CustomElement::terminals() const { return(list_terminals); } /// @return la liste des conducteurs rattaches a cet element QList CustomElement::conductors() const { QList conductors; foreach(Terminal *t, list_terminals) conductors << t -> conductors(); return(conductors); } /// @return la liste des textes de cet element QList CustomElement::texts() const { return(list_texts_); } /** @return Le nombre de bornes que l'element possede */ int CustomElement::terminalsCount() const { return(list_terminals.size()); } /** Dessine le composant sur le Diagram @param qp Le QPainter a utiliser pour dessiner l'element @param options Les options graphiques */ void CustomElement::paint(QPainter *qp, const QStyleOptionGraphicsItem *options) { if (options && options -> levelOfDetail < 1.0) { low_zoom_drawing.play(qp); } else { drawing.play(qp); } } /** Analyse et prend en compte un element XML decrivant une partie du dessin de l'element perso. Si l'analyse reussit, la partie est ajoutee au dessin. Cette partie peut etre une borne, une ligne, une ellipse, un cercle, un arc de cercle ou un polygone. Cette methode renvoie false si l'analyse d'une de ces formes echoue. Si l'analyse reussit ou dans le cas d'une forme inconnue, cette methode renvoie true. A l'exception des bornes, toutes les formes peuvent avoir un attribut style. @see setPainterStyle @param e L'element XML a analyser @param qp Le QPainter a utiliser pour dessiner l'element perso @return true si l'analyse reussit, false sinon */ bool CustomElement::parseElement(QDomElement &e, QPainter &qp) { if (e.tagName() == "terminal") return(parseTerminal(e)); else if (e.tagName() == "line") return(parseLine(e, qp)); else if (e.tagName() == "rect") return(parseRect(e, qp)); else if (e.tagName() == "ellipse") return(parseEllipse(e, qp)); else if (e.tagName() == "circle") return(parseCircle(e, qp)); else if (e.tagName() == "arc") return(parseArc(e, qp)); else if (e.tagName() == "polygon") return(parsePolygon(e, qp)); else if (e.tagName() == "text") return(parseText(e, qp)); else if (e.tagName() == "input") return(parseInput(e)); else return(true); // on n'est pas chiant, on ignore l'element inconnu } /** Analyse un element XML suppose representer une ligne. Si l'analyse reussit, la ligne est ajoutee au dessin. La ligne est definie par les attributs suivants : - x1, y1 : reels, coordonnees d'une extremite de la ligne - x2, y2 : reels, coordonnees de l'autre extremite de la ligne @param e L'element XML a analyser @param qp Le QPainter a utiliser pour dessiner l'element perso @return true si l'analyse reussit, false sinon */ bool CustomElement::parseLine(QDomElement &e, QPainter &qp) { // verifie la presence et la validite des attributs obligatoires qreal x1, y1, x2, y2; if (!QET::attributeIsAReal(e, QString("x1"), &x1)) return(false); if (!QET::attributeIsAReal(e, QString("y1"), &y1)) return(false); if (!QET::attributeIsAReal(e, QString("x2"), &x2)) return(false); if (!QET::attributeIsAReal(e, QString("y2"), &y2)) return(false); QET::EndType first_end = QET::endTypeFromString(e.attribute("end1")); QET::EndType second_end = QET::endTypeFromString(e.attribute("end2")); qreal length1, length2; if (!QET::attributeIsAReal(e, QString("length1"), &length1)) length1 = 1.5; if (!QET::attributeIsAReal(e, QString("length2"), &length2)) length2 = 1.5; qp.save(); setPainterStyle(e, qp); QPen t = qp.pen(); t.setJoinStyle(Qt::MiterJoin); qp.setPen(t); QLineF line(x1, y1, x2, y2); QPointF point1(line.p1()); QPointF point2(line.p2()); qreal line_length(line.length()); qreal pen_width = qp.pen().widthF(); // determine s'il faut dessiner les extremites bool draw_1st_end, draw_2nd_end; qreal reduced_line_length = line_length - (length1 * PartLine::requiredLengthForEndType(first_end)); draw_1st_end = first_end && reduced_line_length >= 0; if (draw_1st_end) { reduced_line_length -= (length2 * PartLine::requiredLengthForEndType(second_end)); } else { reduced_line_length = line_length - (length2 * PartLine::requiredLengthForEndType(second_end)); } draw_2nd_end = second_end && reduced_line_length >= 0; // dessine la premiere extremite QPointF start_point, stop_point; if (draw_1st_end) { QList four_points1(PartLine::fourEndPoints(point1, point2, length1)); if (first_end == QET::Circle) { qp.drawEllipse(QRectF(four_points1[0] - QPointF(length1, length1), QSizeF(length1 * 2.0, length1 * 2.0))); start_point = four_points1[1]; } else if (first_end == QET::Diamond) { qp.drawPolygon(QPolygonF() << four_points1[1] << four_points1[2] << point1 << four_points1[3]); start_point = four_points1[1]; } else if (first_end == QET::Simple) { qp.drawPolyline(QPolygonF() << four_points1[3] << point1 << four_points1[2]); start_point = point1; } else if (first_end == QET::Triangle) { qp.drawPolygon(QPolygonF() << four_points1[0] << four_points1[2] << point1 << four_points1[3]); start_point = four_points1[0]; } // ajuste le depart selon l'epaisseur du trait if (pen_width && (first_end == QET::Simple || first_end == QET::Circle)) { start_point = QLineF(start_point, point2).pointAt(pen_width / 2.0 / line_length); } } else { start_point = point1; } // dessine la seconde extremite if (draw_2nd_end) { QList four_points2(PartLine::fourEndPoints(point2, point1, length2)); if (second_end == QET::Circle) { qp.drawEllipse(QRectF(four_points2[0] - QPointF(length2, length2), QSizeF(length2 * 2.0, length2 * 2.0))); stop_point = four_points2[1]; } else if (second_end == QET::Diamond) { qp.drawPolygon(QPolygonF() << four_points2[2] << point2 << four_points2[3] << four_points2[1]); stop_point = four_points2[1]; } else if (second_end == QET::Simple) { qp.drawPolyline(QPolygonF() << four_points2[3] << point2 << four_points2[2]); stop_point = point2; } else if (second_end == QET::Triangle) { qp.drawPolygon(QPolygonF() << four_points2[0] << four_points2[2] << point2 << four_points2[3] << four_points2[0]); stop_point = four_points2[0]; } // ajuste l'arrivee selon l'epaisseur du trait if (pen_width && (second_end == QET::Simple || second_end == QET::Circle)) { stop_point = QLineF(point1, stop_point).pointAt((line_length - (pen_width / 2.0)) / line_length); } } else { stop_point = point2; } qp.drawLine(start_point, stop_point); qp.restore(); return(true); } /** Analyse un element XML suppose representer un rectangle. Si l'analyse reussit, le rectangle est ajoute au dessin. Le rectangle est defini par les attributs suivants : - x : abscisse du coin superieur gauche du rectangle - y : ordonnee du coin superieur gauche du rectangle - width : largeur du rectangle - height : hauteur du rectangle @param e L'element XML a analyser @param qp Le QPainter a utiliser pour dessiner l'element perso @return true si l'analyse reussit, false sinon */ bool CustomElement::parseRect(QDomElement &e, QPainter &qp) { // verifie la presence des attributs obligatoires qreal rect_x, rect_y, rect_w, rect_h; if (!QET::attributeIsAReal(e, QString("x"), &rect_x)) return(false); if (!QET::attributeIsAReal(e, QString("y"), &rect_y)) return(false); if (!QET::attributeIsAReal(e, QString("width"), &rect_w)) return(false); if (!QET::attributeIsAReal(e, QString("height"), &rect_h)) return(false); qp.save(); setPainterStyle(e, qp); // force le type de jointures pour les rectangles QPen p = qp.pen(); p.setJoinStyle(Qt::MiterJoin); qp.setPen(p); qp.drawRect(QRectF(rect_x, rect_y, rect_w, rect_h)); qp.restore(); return(true); } /** Analyse un element XML suppose representer un cercle. Si l'analyse reussit, le cercle est ajoute au dessin. Le cercle est defini par les attributs suivants : - x : abscisse du coin superieur gauche de la quadrature du cercle - y : ordonnee du coin superieur gauche de la quadrature du cercle - diameter : diametre du cercle @param e L'element XML a analyser @param qp Le QPainter a utiliser pour dessiner l'element perso @return true si l'analyse reussit, false sinon */ bool CustomElement::parseCircle(QDomElement &e, QPainter &qp) { // verifie la presence des attributs obligatoires qreal cercle_x, cercle_y, cercle_r; if (!QET::attributeIsAReal(e, QString("x"), &cercle_x)) return(false); if (!QET::attributeIsAReal(e, QString("y"), &cercle_y)) return(false); if (!QET::attributeIsAReal(e, QString("diameter"), &cercle_r)) return(false); qp.save(); setPainterStyle(e, qp); qp.drawEllipse(QRectF(cercle_x, cercle_y, cercle_r, cercle_r)); qp.restore(); return(true); } /** Analyse un element XML suppose representer une ellipse. Si l'analyse reussit, l'ellipse est ajoutee au dessin. L'ellipse est definie par les attributs suivants : - x : abscisse du coin superieur gauche du rectangle dans lequel s'inscrit l'ellipse - y : ordonnee du coin superieur gauche du rectangle dans lequel s'inscrit l'ellipse - width : dimension de la diagonale horizontale de l'ellipse - height : dimension de la diagonale verticale de l'ellipse @param e L'element XML a analyser @param qp Le QPainter a utiliser pour dessiner l'element perso @return true si l'analyse reussit, false sinon */ bool CustomElement::parseEllipse(QDomElement &e, QPainter &qp) { // verifie la presence des attributs obligatoires qreal ellipse_x, ellipse_y, ellipse_l, ellipse_h; if (!QET::attributeIsAReal(e, QString("x"), &ellipse_x)) return(false); if (!QET::attributeIsAReal(e, QString("y"), &ellipse_y)) return(false); if (!QET::attributeIsAReal(e, QString("width"), &ellipse_l)) return(false); if (!QET::attributeIsAReal(e, QString("height"), &ellipse_h)) return(false); qp.save(); setPainterStyle(e, qp); qp.drawEllipse(QRectF(ellipse_x, ellipse_y, ellipse_l, ellipse_h)); qp.restore(); return(true); } /** Analyse un element XML suppose representer un arc de cercle. Si l'analyse reussit, l'arc de cercle est ajoute au dessin. L'arc de cercle est defini par les quatres parametres d'une ellipse (en fait l'ellipse dans laquelle s'inscrit l'arc de cercle) auxquels s'ajoutent les attributs suivants : - start : angle de depart : l'angle "0 degre" est a trois heures - angle : etendue (en degres) de l'arc de cercle ; une valeur positive va dans le sens contraire des aiguilles d'une montre @param e L'element XML a analyser @param qp Le QPainter a utiliser pour dessiner l'element perso @return true si l'analyse reussit, false sinon */ bool CustomElement::parseArc(QDomElement &e, QPainter &qp) { // verifie la presence des attributs obligatoires qreal arc_x, arc_y, arc_l, arc_h, arc_s, arc_a; if (!QET::attributeIsAReal(e, QString("x"), &arc_x)) return(false); if (!QET::attributeIsAReal(e, QString("y"), &arc_y)) return(false); if (!QET::attributeIsAReal(e, QString("width"), &arc_l)) return(false); if (!QET::attributeIsAReal(e, QString("height"), &arc_h)) return(false); if (!QET::attributeIsAReal(e, QString("start"), &arc_s)) return(false); if (!QET::attributeIsAReal(e, QString("angle"), &arc_a)) return(false); qp.save(); setPainterStyle(e, qp); qp.drawArc(QRectF(arc_x, arc_y, arc_l, arc_h), (int)(arc_s * 16), (int)(arc_a * 16)); qp.restore(); return(true); } /** Analyse un element XML suppose representer un polygone. Si l'analyse reussit, le polygone est ajoute au dessin. Le polygone est defini par une serie d'attributs x1, x2, ..., xn et autant d'attributs y1, y2, ..., yn representant les coordonnees des differents points du polygone. Il est possible d'obtenir un polygone non ferme en utilisant closed="false" @param e L'element XML a analyser @param qp Le QPainter a utiliser pour dessiner l'element perso @return true si l'analyse reussit, false sinon */ bool CustomElement::parsePolygon(QDomElement &e, QPainter &qp) { int i = 1; while(true) { if (QET::attributeIsAReal(e, QString("x%1").arg(i)) && QET::attributeIsAReal(e, QString("y%1").arg(i))) ++ i; else break; } if (i < 3) return(false); QPointF points[i-1]; for (int j = 1 ; j < i ; ++ j) { points[j-1] = QPointF( e.attribute(QString("x%1").arg(j)).toDouble(), e.attribute(QString("y%1").arg(j)).toDouble() ); } qp.save(); setPainterStyle(e, qp); if (e.attribute("closed") == "false") qp.drawPolyline(points, i-1); else qp.drawPolygon(points, i-1); qp.restore(); return(true); } /** Analyse un element XML suppose representer un texte. Si l'analyse reussit, le texte est ajoute au dessin. Le texte est defini par une position, une chaine de caracteres et une taille. @param e L'element XML a analyser @param qp Le QPainter a utiliser pour dessiner l'element perso @return true si l'analyse reussit, false sinon */ bool CustomElement::parseText(QDomElement &e, QPainter &qp) { qreal pos_x, pos_y; int size; if ( !QET::attributeIsAReal(e, "x", &pos_x) ||\ !QET::attributeIsAReal(e, "y", &pos_y) ||\ !QET::attributeIsAnInteger(e, "size", &size) ||\ !e.hasAttribute("text") ) return(false); qp.save(); setPainterStyle(e, qp); qp.setFont(QETApp::diagramTextsFont(size)); qp.drawText(QPointF(pos_x, pos_y), e.attribute("text")); qp.restore(); return(true); } /** Analyse un element XML suppose representer un champ de texte editable par l'utilisateur. Si l'analyse reussit, le champ est ajoute au dessin. Le texte est defini par : - une position - une chaine de caracteres facultative utilisee comme valeur par defaut - une taille - le fait de subir les rotations de l'element ou non @param e L'element XML a analyser @return Un pointeur vers l'objet ElementTextItem ainsi cree si l'analyse reussit, 0 sinon */ ElementTextItem *CustomElement::parseInput(QDomElement &e) { qreal pos_x, pos_y; int size; if ( !QET::attributeIsAReal(e, "x", &pos_x) ||\ !QET::attributeIsAReal(e, "y", &pos_y) ||\ !QET::attributeIsAnInteger(e, "size", &size) ) return(0); ElementTextItem *eti = new ElementTextItem(e.attribute("text"), this); eti -> setFont(QETApp::diagramTextsFont(size)); eti -> setPos(pos_x, pos_y); eti -> setOriginalPos(QPointF(pos_x, pos_y)); if (e.attribute("rotate") == "true") eti -> setFollowParentRotations(true); list_texts_ << eti; return(eti); } /** Analyse un element XML suppose representer une borne. Si l'analyse reussit, la borne est ajoutee a l'element. Une borne est definie par les attributs suivants : - x, y : coordonnees de la borne - orientation : orientation de la borne = Nord (n), Sud (s), Est (e) ou Ouest (w) @param e L'element XML a analyser @return Un pointeur vers l'objet Terminal ainsi cree, 0 sinon */ Terminal *CustomElement::parseTerminal(QDomElement &e) { // verifie la presence et la validite des attributs obligatoires qreal terminalx, terminaly; QET::Orientation terminalo; if (!QET::attributeIsAReal(e, QString("x"), &terminalx)) return(0); if (!QET::attributeIsAReal(e, QString("y"), &terminaly)) return(0); if (!e.hasAttribute("orientation")) return(0); if (e.attribute("orientation") == "n") terminalo = QET::North; else if (e.attribute("orientation") == "s") terminalo = QET::South; else if (e.attribute("orientation") == "e") terminalo = QET::East; else if (e.attribute("orientation") == "w") terminalo = QET::West; else return(0); Terminal *new_terminal = new Terminal(terminalx, terminaly, terminalo, this, qobject_cast(scene())); new_terminal -> setZValue(420); // valeur arbitraire pour maintenir les bornes au-dessus des champs de texte list_terminals << new_terminal; return(new_terminal); } /** Active / desactive l'antialiasing sur un QPainter @param qp Le QPainter a modifier @param aa Booleen a true pour activer l'antialiasing, a false pour le desactiver */ void CustomElement::setQPainterAntiAliasing(QPainter &qp, bool aa) { if (forbid_antialiasing) aa = false; qp.setRenderHint(QPainter::Antialiasing, aa); qp.setRenderHint(QPainter::TextAntialiasing, aa); qp.setRenderHint(QPainter::SmoothPixmapTransform, aa); } /** Verifie si l'attribut "orientation" de l'element XML e correspond bien a la syntaxe decrivant les orientations possibles pour un element. Cette syntaxe comprend exactement 4 lettres : - une pour le Nord - une pour l'Est - une pour le Sud - une pour l'Ouest Pour chaque orientation, on indique si elle est : - l'orientation par defaut : d - une orientation autorisee : y - une orientation interdire : n Exemple : "dnny" represente un element par defaut oriente vers le nord et qui peut etre oriente vers l'ouest mais pas vers le sud ou vers l'est. @param e Element XML @return true si l'attribut "orientation" est valide, false sinon */ bool CustomElement::validOrientationAttribute(const QDomElement &e) { return(ori.fromString(e.attribute("orientation"))); } /** Applique les parametres de style definis dans l'attribut "style" de l'element XML e au QPainter qp Les styles possibles sont : - line-style : style du trait - dashed : trait en pointilles - normal : trait plein [par defaut] - line-weight : epaiseur du trait - thin : trait fin - normal : trait d'epaisseur 1 [par defaut] - filling : remplissage de la forme - white : remplissage blanc - black : remplissage noir - none : pas de remplissage [par defaut] - color : couleur du trait et du texte - white : trait noir [par defaut] - black : trait blanc Les autres valeurs ne sont pas prises en compte. @param e L'element XML a parser @param qp Le QPainter a modifier en fonction des styles */ void CustomElement::setPainterStyle(QDomElement &e, QPainter &qp) { // recupere le QPen et la QBrush du QPainter QPen pen = qp.pen(); QBrush brush = qp.brush(); // attributs par defaut pen.setJoinStyle(Qt::BevelJoin); pen.setCapStyle(Qt::SquareCap); pen.setColor(Qt::black); pen.setStyle(Qt::SolidLine); pen.setWidthF(1.0); brush.setStyle(Qt::NoBrush); // recupere la liste des couples style / valeur QStringList styles = e.attribute("style").split(";", QString::SkipEmptyParts); // agit sur le QPen et la QBrush en fonction des valeurs rencontrees QRegExp rx("^\\s*([a-z-]+)\\s*:\\s*([a-z-]+)\\s*$"); foreach (QString style, styles) { if (rx.exactMatch(style)) { QString style_name = rx.cap(1); QString style_value = rx.cap(2); if (style_name == "line-style") { if (style_value == "dashed") pen.setStyle(Qt::DashLine); else if (style_value == "normal") pen.setStyle(Qt::SolidLine); } else if (style_name == "line-weight") { if (style_value == "thin") pen.setWidth(0); else if (style_value == "normal") pen.setWidthF(1.0); else if (style_value == "none") pen.setColor(QColor(0, 0, 0, 0)); } else if (style_name == "filling") { if (style_value == "white") { brush.setStyle(Qt::SolidPattern); brush.setColor(Qt::white); } else if (style_value == "black") { brush.setStyle(Qt::SolidPattern); brush.setColor(Qt::black); } else if (style_value == "none") { brush.setStyle(Qt::NoBrush); } } else if (style_name == "color") { if (style_value == "black") { pen.setColor(QColor(0, 0, 0, pen.color().alpha())); } else if (style_value == "white") { pen.setColor(QColor(255, 255, 255, pen.color().alpha())); } } } } // affectation du QPen et de la QBrush modifies au QPainter qp.setPen(pen); qp.setBrush(brush); // mise en place (ou non) de l'antialiasing setQPainterAntiAliasing(qp, e.attribute("antialias") == "true"); } qelectrotech-0.22+svn897/sources/insetpropertieswidget.cpp0000644000175000017500000001423211342325666023743 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "insetpropertieswidget.h" #include "qetapp.h" /** Constructeur @param inset InsetProperties a afficher @param current true pour afficher l'option "Date courante" @param parent QWidget parent */ InsetPropertiesWidget::InsetPropertiesWidget(const InsetProperties &inset, bool current, QWidget *parent) : QWidget(parent), display_current_date(false) { QVBoxLayout *this_layout = new QVBoxLayout(this); this_layout -> setContentsMargins(0, 0, 0, 0); QGroupBox *inset_infos = new QGroupBox(tr("Informations du cartouche"), this); inset_infos -> setMinimumSize(300, 370); this_layout -> addWidget(inset_infos); inset_title = new QLineEdit(this); inset_author = new QLineEdit(this); QButtonGroup *date_policy_group = new QButtonGroup(this); inset_no_date = new QRadioButton(tr("Pas de date"), this); inset_current_date = new QRadioButton(tr("Date courante"), this); inset_fixed_date = new QRadioButton(tr("Date fixe : "), this); date_policy_group -> addButton(inset_no_date); date_policy_group -> addButton(inset_current_date); date_policy_group -> addButton(inset_fixed_date); inset_date = new QDateEdit(QDate::currentDate(), this); inset_date -> setEnabled(inset_fixed_date -> isChecked()); inset_current_date -> setVisible(display_current_date); connect(inset_fixed_date, SIGNAL(toggled(bool)), inset_date, SLOT(setEnabled(bool))); inset_date -> setCalendarPopup(true); QGridLayout *layout_date = new QGridLayout(); layout_date -> addWidget(inset_no_date, 0, 0); layout_date -> addWidget(inset_current_date, 1, 0); layout_date -> addWidget(inset_fixed_date, 2, 0); layout_date -> addWidget(inset_date, 2, 1); layout_date -> setColumnStretch(0, 1); layout_date -> setColumnStretch(1, 500); inset_filename = new QLineEdit(this); inset_folio = new QLineEdit(this); QLabel *folio_tip = new QLabel( tr( "Les variables suivantes sont utilisables dans le champ Folio :\n" " - %id : num\351ro du sch\351ma courant dans le projet\n" " - %total : nombre total de sch\351mas dans le projet" ) ); folio_tip -> setWordWrap(true); QGridLayout *layout_champs = new QGridLayout(inset_infos); layout_champs -> addWidget(new QLabel(tr("Titre : ")), 0, 0); layout_champs -> addWidget(inset_title, 0, 1); layout_champs -> addWidget(new QLabel(tr("Auteur : ")), 1, 0); layout_champs -> addWidget(inset_author, 1, 1); layout_champs -> addWidget(new QLabel(tr("Date : ")), 2, 0); layout_champs -> addLayout(layout_date, 3, 1); layout_champs -> addWidget(new QLabel(tr("Fichier : ")), 4, 0); layout_champs -> addWidget(inset_filename, 4, 1); layout_champs -> addWidget(new QLabel(tr("Folio : ")), 5, 0); layout_champs -> addWidget(inset_folio, 5, 1); layout_champs -> addWidget(folio_tip, 6, 1); inset_current_date -> setVisible(display_current_date = current); setInsetProperties(inset); setLayout(this_layout); } /// Destructeur InsetPropertiesWidget::~InsetPropertiesWidget() { } /** @return Les proprietes affichees par le widget */ InsetProperties InsetPropertiesWidget::insetProperties() const { InsetProperties prop; prop.title = inset_title -> text(); prop.author = inset_author -> text(); prop.filename = inset_filename -> text(); prop.folio = inset_folio -> text(); if (inset_no_date -> isChecked()) { prop.useDate = InsetProperties::UseDateValue; prop.date = QDate(); } else if (inset_fixed_date -> isChecked()) { prop.useDate = InsetProperties::UseDateValue; prop.date = inset_date -> date(); } else if (display_current_date && inset_current_date -> isChecked()) { prop.useDate = InsetProperties::CurrentDate; prop.date = QDate::currentDate(); } return(prop); } /** Specifie les proprietes que le widget doit afficher @param inset nouvelles proprietes affichees par le widget */ void InsetPropertiesWidget::setInsetProperties(const InsetProperties &inset) { inset_title -> setText(inset.title); inset_author -> setText(inset.author); inset_filename -> setText(inset.filename); inset_folio -> setText(inset.folio); if (display_current_date) { if (inset.useDate == InsetProperties::CurrentDate) { inset_current_date -> setChecked(true); } else { if (inset.date.isNull()) { inset_no_date -> setChecked(true); } else { inset_fixed_date -> setChecked(true); inset_date -> setDate(inset.date); } } } else { if (inset.useDate == InsetProperties::CurrentDate) { inset_fixed_date -> setChecked(true); inset_date -> setDate(QDate::currentDate()); } else { if (inset.date.isNull()) { inset_no_date -> setChecked(true); } else { inset_fixed_date -> setChecked(true); inset_date -> setDate(inset.date); } } } } /** @return true si le widget affiche la proposition "Date courante", false sinon */ bool InsetPropertiesWidget::displayCurrentDate() const { return(display_current_date); } /** @return true si ce widget est en lecture seule, false sinon */ bool InsetPropertiesWidget::isReadOnly() const { return(inset_title -> isReadOnly()); } /** @param ro true pour passer ce widget en lecture seule, false sinon */ void InsetPropertiesWidget::setReadOnly(bool ro) { inset_title -> setReadOnly(ro); inset_author -> setReadOnly(ro); inset_date -> setReadOnly(ro); inset_filename -> setReadOnly(ro); inset_folio -> setReadOnly(ro); inset_no_date -> setDisabled(ro); inset_current_date -> setDisabled(ro); inset_fixed_date -> setDisabled(ro); } qelectrotech-0.22+svn897/sources/main.cpp0000644000175000017500000000166711320140732020215 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qetapp.h" /** Fonction principale du programme QElectroTech @param argc nombre de parametres @param argv parametres */ int main(int argc, char **argv) { // Creation et execution de l'application return(QETApp(argc, argv).exec()); } qelectrotech-0.22+svn897/sources/moveelementshandler.h0000644000175000017500000000723411320140732022773 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef MOVE_ELEMENTS_HANDLER_H #define MOVE_ELEMENTS_HANDLER_H #include #include "qet.h" class ElementDefinition; class ElementsCategory; /** Cette classe definit l'interface minimale pour implementer un objet capable de prendre en main une operation de deplacement ou de copie d'elements. Ce type d'objet est typiquement utilise dans les methodes move et copy des classes ElementDefinition et ElementsCategory. Ces methodes font appel a cet objet pour qu'il leur indique comment gerer les eventuels problemes rencontres lors du deplacement / de la copie. Exemple : lors de la recopie d'un element dans une categorie, il se peut que cet element existe deja. Il est alors possible d'ecraser l'element cible ou d'abandonner l'operation. Cette decision est a la charge d'une classe fille de MoveElementsHandler. Cet objet peut etre effectuer des interactions avec l'utilisateur ou non. Cet aspect, ainsi que la politique de gestion des elements, est laisse aux bons soins de l'implementation. Il s'agit d'un pattern Strategie qui encapsule non pas l'algorithme de deplacement / copie des categories / elements mais la gestion des erreurs durant l'execution de cet algorithme. @see ElementsCategory @see ElementDefinition */ class MoveElementsHandler : public QObject { Q_OBJECT // constructeurs, destructeur public: MoveElementsHandler(QObject * = 0) {}; virtual ~MoveElementsHandler() {}; private: MoveElementsHandler(const MoveElementsHandler &); // methodes public: /** @return l'action a effectuer si la categorie cible existe deja */ virtual QET::Action categoryAlreadyExists(ElementsCategory *src, ElementsCategory *dst) = 0; /** @return l'action a effectuer si l'element cible existe deja */ virtual QET::Action elementAlreadyExists(ElementDefinition *src, ElementDefinition *dst) = 0; /** @return l'action a effectuer si la categorie existe deja */ virtual QET::Action categoryIsNotReadable(ElementsCategory *) = 0; /** @return l'action a effectuer si l'element existe deja */ virtual QET::Action elementIsNotReadable(ElementDefinition *) = 0; /** @return l'action a effectuer si la categorie cible n'est pas accessible en ecriture */ virtual QET::Action categoryIsNotWritable(ElementsCategory *) = 0; /** @return l'action a effectuer si l'element cible n'est pas accessible en ecriture */ virtual QET::Action elementIsNotWritable(ElementDefinition *) = 0; /** @return l'action a effectuer lorsque l'erreur decrite dans la QString s'est produite avec la categorie indiquee */ virtual QET::Action errorWithACategory(ElementsCategory *, const QString &) = 0; /** @return l'action a effectuer lorsque l'erreur decrite dans la QString s'est produite avec l'element indique */ virtual QET::Action errorWithAnElement(ElementDefinition *, const QString &) = 0; /** @return le nom a utiliser pour le renommage si une methode de cet objet a precedemment renvoye QET::Rename. */ virtual QString nameForRenamingOperation() = 0; }; #endif qelectrotech-0.22+svn897/sources/elementscategoryeditor.h0000644000175000017500000000304611320140732023510 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTS_CATEGORY_EDITOR_H #define ELEMENTS_CATEGORY_EDITOR_H #include #include "elementslocation.h" class ElementsCategory; class NamesListWidget; class QFileNameEdit; /** Cette classe permet d'editer une categorie existante ou de creer une categorie. */ class ElementsCategoryEditor : public QDialog { Q_OBJECT // constructeurs, destructeur public: ElementsCategoryEditor(const ElementsLocation &, bool = true, QWidget * = 0); virtual ~ElementsCategoryEditor(); private: ElementsCategoryEditor(const ElementsCategoryEditor &); // attributs private: ElementsCategory *category; QDialogButtonBox *buttons; NamesListWidget *names_list; QLabel *internal_name_label_; QFileNameEdit *internal_name_; bool mode_edit; // methodes private: void buildDialog(); public slots: void acceptCreation(); void acceptUpdate(); }; #endif qelectrotech-0.22+svn897/sources/diagramview.h0000644000175000017500000000722211320140732021226 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef DIAGRAMVIEW_H #define DIAGRAMVIEW_H #include #include "elementslocation.h" class Conductor; class Diagram; class DiagramTextItem; class Element; class QETDiagramEditor; /** Classe representant graphiquement un schema electrique */ class DiagramView : public QGraphicsView { Q_OBJECT // constructeurs, destructeur public: DiagramView(Diagram * = 0, QWidget * = 0); virtual ~DiagramView(); private: DiagramView(const DiagramView &); // attributs private: Diagram *scene; QMenu *context_menu; QAction *paste_here; QAction *find_element_; QPoint paste_here_pos; bool is_adding_text; ElementsLocation next_location_; QPoint next_position_; // methodes public: QString title() const; void editDiagramProperties(); void addColumn(); void removeColumn(); void addRow(); void removeRow(); /// @return Le schema visualise par ce DiagramView Diagram *diagram() { return(scene); } QETDiagramEditor *diagramEditor() const; bool hasSelectedItems(); void addText(); DiagramTextItem *addDiagramTextAtPos(const QPointF &); protected: virtual void mouseDoubleClickEvent(QMouseEvent *); virtual void contextMenuEvent(QContextMenuEvent *); virtual void wheelEvent(QWheelEvent *); virtual bool event(QEvent *); private: void mousePressEvent(QMouseEvent *); void dragEnterEvent(QDragEnterEvent *); void dragLeaveEvent(QDragLeaveEvent *); void dragMoveEvent(QDragMoveEvent *); void dropEvent(QDropEvent *); QRectF viewedSceneRect() const; bool mustIntegrateElement(const ElementsLocation &) const; bool addElementAtPos(const ElementsLocation &, const QPoint &); signals: /// Signal emis lorsque la selection change void selectionChanged(); /// Signal emis lorsque le mode de selection change void modeChanged(); /// Signal emis lorsqu'un texte a ete pose void textAdded(bool); /// Signal emis lorsque le titre du schema change void titleChanged(DiagramView *, const QString &); /// Signal emis avant l'integration d'un element void aboutToAddElement(); /// Signal emis lorsque l'utilisateur souhaite retrouver un element du schema dans les collections void findElementRequired(const ElementsLocation &); /// Signal emis lorsque l'utilisateur souhaite editer un element du schema void editElementRequired(const ElementsLocation &); public slots: void selectNothing(); void selectAll(); void selectInvert(); void deleteSelection(); void rotateSelection(); void setVisualisationMode(); void setSelectionMode(); void zoomIn(); void zoomOut(); void zoomFit(); void zoomReset(); void cut(); void copy(); void paste(const QPointF & = QPointF(), QClipboard::Mode = QClipboard::Clipboard); void pasteHere(); void adjustSceneRect(); void updateWindowTitle(); void editSelectionProperties(); void editElement(Element *); void editConductor(); void editConductor(Conductor *); void resetConductors(); void editDefaultConductorProperties(); private slots: void addDroppedElement(); void adjustGridToZoom(); void applyReadOnly(); }; #endif qelectrotech-0.22+svn897/sources/qetdiagrameditor.h0000644000175000017500000002125311342301024022251 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_DIAGRAM_EDITOR_H #define QET_DIAGRAM_EDITOR_H #include #include "borderproperties.h" #include "conductorproperties.h" #include "insetproperties.h" #include "exportproperties.h" class QETProject; class ProjectView; class Diagram; class DiagramView; class ElementsPanelWidget; class ElementsLocation; class RecentFiles; /** Cette classe represente la fenetre principale de QElectroTech et, ipso facto, la plus grande partie de l'interface graphique de QElectroTech. Il s'agit d'un objet QMainWindow avec un QWorkSpace contenant des objets "DiagramView" en guise de widget central et un "Panel d'Elements" en guise de widget "Dock". */ class QETDiagramEditor : public QMainWindow { Q_OBJECT // constructeurs, destructeur public: QETDiagramEditor(const QStringList & = QStringList(), QWidget * = 0); virtual ~QETDiagramEditor(); private: QETDiagramEditor(const QETDiagramEditor &); // methodes public: void closeEvent(QCloseEvent *); QList openedProjects() const; void addProjectView(ProjectView *); bool openAndAddProject(const QString &, bool interactive = true); QList projectViews() const; QList editedFiles() const; ProjectView *viewForFile(const QString &) const; static InsetProperties defaultInsetProperties(); static BorderProperties defaultBorderProperties(); static ConductorProperties defaultConductorProperties(); static ExportProperties defaultExportProperties(); static ExportProperties defaultPrintProperties(); protected: void actions(); virtual bool event(QEvent *); private: bool addProject(QETProject *); ProjectView *currentProject() const; DiagramView *currentDiagram() const; ProjectView *findProject(DiagramView *) const; ProjectView *findProject(Diagram *) const; ProjectView *findProject(QETProject *) const; ProjectView *findProject(const QString &) const; QMdiSubWindow *subWindowForWidget(QWidget *) const; void menus(); void toolbar(); public slots: void toggleFullScreen(); void printDialog(); void exportDialog(); bool saveAsDialog(); bool save(); bool saveAll(); bool newProject(); bool openProject(); bool openRecentFile(const QString &); bool closeProject(ProjectView *); bool closeProject(QETProject *); bool closeCurrentProject(); void slot_cut(); void slot_copy(); void slot_paste(); void slot_zoomIn(); void slot_zoomOut(); void slot_zoomFit(); void slot_zoomReset(); void slot_selectAll(); void slot_selectNothing(); void slot_selectInvert(); void slot_delete(); void slot_rotate(); void slot_setSelectionMode(); void slot_setVisualisationMode(); void slot_updateActions(); void slot_updateFullScreenAction(); void slot_updateModeActions(); void slot_updateComplexActions(); void slot_updatePasteAction(); void slot_updateWindowsMenu(); void slot_addColumn(); void slot_removeColumn(); void slot_addRow(); void slot_removeRow(); void editSelectionProperties(); void slot_editConductor(); void slot_resetConductors(); void slot_editDefaultConductors(); void slot_addText(); void setWindowedMode(); void setTabbedMode(); void readSettings(); void writeSettings(); void activateDiagram(Diagram *); void activateProject(QETProject *); void activateProject(ProjectView *); void activateWidget(QWidget *); void diagramOrderChanged(ProjectView *, int, int); void projectWasClosed(ProjectView *); void editCurrentProjectProperties(); void editProjectProperties(ProjectView *); void editProjectProperties(QETProject *); void editCurrentDiagramProperties(); void editDiagramProperties(DiagramView *); void editDiagramProperties(Diagram *); void addDiagramToProject(); void addDiagramToProject(QETProject *); void removeDiagram(Diagram *); void removeDiagramFromProject(); void moveDiagramUp(Diagram *); void moveDiagramDown(Diagram *); void cleanCurrentProject(); void diagramWasAdded(DiagramView *); void diagramIsAboutToBeRemoved(DiagramView *); void diagramWasRemoved(DiagramView *); void diagramTitleChanged(DiagramView *); void findElementInPanel(const ElementsLocation &); void editElementInEditor(const ElementsLocation &); // attributs public: // Actions faisables au travers de menus dans l'application QElectroTech QActionGroup *grp_visu_sel; ///< Groupe d'actions pour les modes (edition et visualisation) QActionGroup *grp_view_mode; ///< Groupe d'actions pour l'affichage des projets (onglets ou fenetres) QAction *tabbed_view_mode; ///< Passe les projets en mode onglets QAction *windowed_view_mode; ///< Passe les projets en mode fenetre QAction *mode_selection; ///< Passe en mode edition QAction *mode_visualise; ///< Passe en mode visualisation QAction *new_file; ///< Cree un nouveau schema QAction *open_file; ///< OUvre un fichier QAction *close_file; ///< Ferme le fichier QAction *save_file; ///< Enregistre le fichier QAction *save_file_sous; ///< Enregistrer le fichier sous un nom donne QAction *save_all; ///< Enregistre tous les schemas QAction *import_diagram; ///< Importe un schema existant (non implemente) QAction *export_diagram; ///< Exporte le schema sous forme d'image QAction *print; ///< Imprime le schema QAction *quit_editor; ///< Quitte l'editeur de schema QAction *undo; ///< Annule la derniere action QAction *redo; ///< Refait une action annulee QAction *cut; ///< Coupe la selection dans le presse-papier QAction *copy; ///< Copie la selection dans le presse-papier QAction *paste; ///< Colle le contenu du presse-papier sur le schema QAction *select_all; ///< Selectionne tout QAction *select_nothing; ///< Deselectionne tout QAction *select_invert; ///< Inverse la selection QAction *delete_selection; ///< Supprime la selection QAction *rotate_selection; ///< Pivote les elements selectionnes QAction *selection_prop; ///< Lance le dialogue de description ou d'edition de la selection QAction *conductor_reset; ///< Reinitialise les conducteurs selectionnes QAction *conductor_default; ///< Lance le dialogue d'edition des conducteurs par defaut QAction *infos_diagram; ///< Lance le dialogue d'edition des proprietes du schema QAction *add_text; ///< Passe en mode "Ajout de texte" QAction *add_column; ///< Ajoute une colonne au schema QAction *remove_column; ///< Enleve une colonne du schema QAction *add_row; ///< Augmente la hauteur du schema QAction *remove_row; ///< Reduit la hauteur du schema QAction *prj_edit_prop; ///< Edite les proprietes du projet QAction *prj_add_diagram; ///< Ajoute un schema au projet QAction *prj_del_diagram; ///< Supprime un schema du projet QAction *prj_clean; ///< Nettoie un projet QAction *zoom_in; ///< Zoome avant QAction *zoom_out; ///< Zoome arriere QAction *zoom_fit; ///< Ajuste le zoom de facon a voir l'integralite des elements QAction *zoom_reset; ///< Remet le zoom 1:1 QAction *about_qet; ///< Lance le dialogue "A propos de QElectroTech" QAction *about_qt; ///< Lance le dialogue "A propos de Qt" QAction *configure; ///< Lance le dialogue de configuration de QElectroTech QAction *fullscreen; ///< Passe en mode plein ecran ou en sort QAction *tile_window; ///< Affiche les fenetre MDI en mosaique QAction *cascade_window; ///< Affiche les fenetres MDI en cascade QAction *prev_window; ///< Affiche la fenetre MDI precedente QAction *next_window; ///< Affiche la fenetre MDI suivante private: QMdiArea workspace; QSignalMapper windowMapper; /// Dossier a utiliser pour Fichier > ouvrir QDir open_dialog_dir; /// Dock pour le Panel d'Elements QDockWidget *qdw_pa; /// Dock pour la liste des annulations QDockWidget *qdw_undo; /// Panel d'Elements ElementsPanelWidget *pa; QMenu *windows_menu; QToolBar *main_bar; QToolBar *view_bar; QToolBar *diagram_bar; QUndoGroup undo_group; bool can_update_actions; }; #endif qelectrotech-0.22+svn897/sources/exportdialog.h0000644000175000017500000000546311320140732021435 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef EXPORTDIALOG_H #define EXPORTDIALOG_H #include #include "diagram.h" #include "qetproject.h" class QSvgGenerator; class ExportPropertiesWidget; /** Cette classe represente le dialogue permettant d'exporter un schema sous forme d'image selon les desirs de l'utilisateur */ class ExportDialog : public QDialog { Q_OBJECT // constructeurs, destructeur public: ExportDialog(QETProject *, QWidget * = 0); virtual ~ExportDialog(); private: ExportDialog(const ExportDialog &); // methodes public: int diagramsToExportCount() const; // classes privees private: class ExportDiagramLine { public: ExportDiagramLine(Diagram *, QSize); virtual ~ExportDiagramLine(); QBoxLayout *sizeLayout(); Diagram *diagram; QCheckBox *must_export; QLabel *title_label; QLineEdit *file_name; QSpinBox *width; QLabel *x_label; QSpinBox *height; QPushButton *keep_ratio; QPushButton *reset_size; QPushButton *preview; QPushButton *clipboard; }; // attributs private: QHash diagram_lines_; // elements graphiques QGridLayout *diagrams_list_layout_; ExportPropertiesWidget *epw; QDialogButtonBox *buttons; // mappers QSignalMapper *preview_mapper_; QSignalMapper *width_mapper_; QSignalMapper *height_mapper_; QSignalMapper *ratio_mapper_; QSignalMapper *reset_mapper_; QSignalMapper *clipboard_mapper_; // elements relatifs au traitement effectue par le dialogue QETProject *project_; // methodes private: QWidget *initDiagramsListPart(); void saveReloadDiagramParameters(Diagram *, bool = true); void generateSvg(Diagram *, int, int, bool, QIODevice &); QImage generateImage(Diagram *, int, int, bool); void exportDiagram(ExportDiagramLine *); qreal diagramRatio(Diagram *); QSize diagramSize(Diagram *); public slots: void slot_correctWidth(int); void slot_correctHeight(int); void slot_keepRatioChanged(int); void slot_resetSize(int); void slot_export(); void slot_changeUseBorder(); void slot_checkDiagramsCount(); void slot_changeFilesExtension(bool = false); void slot_previewDiagram(int); void slot_exportToClipBoard(int); }; #endif qelectrotech-0.22+svn897/sources/nameslist.h0000644000175000017500000000347211320140732020731 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef NAMES_LIST_H #define NAMES_LIST_H #include /** Cette classe represente une liste de noms, utilisee par les elements et categories pour embarquer un meme nom en plusieurs langues. Les langues sont representees par deux lettres (typiquement : les deux premieres de la locale du systeme) ; exemples : en pour l'anglais, fr pour le francais. */ class NamesList { // constructeurs, destructeur public: NamesList(); NamesList(const NamesList &); virtual ~NamesList(); // attributs private: QHash hash_names; // methodes public: // methodes relatives a la gestion de la liste void addName(const QString &, const QString &); void removeName(const QString &); void clearNames(); QList langs() const; bool isEmpty() const; int count() const; QString &operator[](const QString &); const QString operator[](const QString &) const; bool operator!=(const NamesList &) const; bool operator==(const NamesList &) const; QString name(const QString & = QString()) const; // methodes relatives a XML void fromXml(const QDomElement &); QDomElement toXml(QDomDocument &) const; }; #endif qelectrotech-0.22+svn897/sources/elementscategorydeleter.h0000644000175000017500000000300311320140732023637 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTS_CATEGORY_DELETER_H #define ELEMENTS_CATEGORY_DELETER_H #include "fileelementscategory.h" #include "elementslocation.h" #include /** Cette classe represente une couche d'abstraction pour supprimer une categorie d'elements et les elements qu'elle contient. Si la categorie racine d'une collection est fournie, elle sera videe apres un avertissement. Cette classe demande toujours confirmation a l'utilisateur par deux fois. */ class ElementsCategoryDeleter : public QWidget { Q_OBJECT // constructeurs, destructeur public: ElementsCategoryDeleter(const ElementsLocation &, QWidget * = 0); virtual ~ElementsCategoryDeleter(); private: ElementsCategoryDeleter(const ElementsCategory &); // methodes public slots: bool exec(); // attributs private: ElementsCollectionItem *category; }; #endif qelectrotech-0.22+svn897/sources/fileelementdefinition.cpp0000644000175000017500000001176111345236340023637 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "fileelementdefinition.h" #include "fileelementscategory.h" #include "fileelementscollection.h" #include "qetapp.h" /** Constructeur @param uri Chemin du fichier contenant la definition de l'element @param category Categorie parente @param collection collection parente */ FileElementDefinition::FileElementDefinition(const QString &uri, FileElementsCategory *category, FileElementsCollection *collection) : ElementDefinition(category, collection), is_null(true), file_path(uri) { reload(); } /** Destructeur */ FileElementDefinition::~FileElementDefinition() { } /** @return la definition XML de l'element */ QDomElement FileElementDefinition::xml() { return(xml_element_.documentElement()); } /** Change la definition XML de l'element @param xml_element Nouvelle definition XML de l'element @return true si l'operation s'est bien passee, false sinon */ bool FileElementDefinition::setXml(const QDomElement &xml_element) { xml_element_.clear(); xml_element_.appendChild(xml_element_.importNode(xml_element, true)); is_null = false; return(true); } /** Enregistre la definition de l'element. @return true si l'operation a reussi, false sinon */ bool FileElementDefinition::write() { QFile file(file_path); // le fichier doit etre accessible en ecriture if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) return(false); QTextStream out(&file); out.setCodec("UTF-8"); out << xml_element_.toString(4); file.close(); return(true); } /** @return true si la definition n'est pas disponible */ bool FileElementDefinition::isNull() const { return(is_null); } /** @return Le nom de cet element dans l'arborescence */ QString FileElementDefinition::pathName() const { return(QFileInfo(file_path).fileName()); } /** @return le chemin virtuel de cet element */ QString FileElementDefinition::virtualPath() { // il n'est pas possible d'avoir un chemin virtuel sans appartenir a une collection if (!hasParentCollection()) return(QString()); // recupere le chemin absolu de la racine de la collection QString root_abs_path(parentCollection() -> filePath()); if (!file_path.startsWith(root_abs_path)) return(QString()); QString virtual_path(file_path); virtual_path.remove(root_abs_path); virtual_path.remove(QRegExp("^/")); return(virtual_path); } /** Recharge l'element */ void FileElementDefinition::reload() { if (file_path.isEmpty()) { is_null = true; return; } // recupere le chemin du fichier *.elmt correspondant QFileInfo file_info(file_path); if (!file_info.exists() || !file_info.isReadable()) { is_null = true; return; } file_path = file_info.canonicalFilePath(); // ouvre le fichier QFile file(file_path); // charge le contenu du fichier en s'attendant a du XML bool read_xml = xml_element_.setContent(&file); if (!read_xml) { is_null = true; return; } // l'ouverture de la definition a reussi is_null = false; } /** @return true si le fichier existe, false sinon */ bool FileElementDefinition::exists() { if (isNull()) return(false); return(QFileInfo(file_path).exists()); } /** @return true si le fichier representant l'element est accessible en lecture. */ bool FileElementDefinition::isReadable() { if (isNull()) return(false); return(QFileInfo(file_path).isReadable()); } /** @return true si le fichier representant l'element est accessible en ecriture. */ bool FileElementDefinition::isWritable() { if (isNull()) return(false); return(QFileInfo(file_path).isWritable()); } /** Supprime le fichier representant l'element @return true si l'operation s'est bien passee, false sinon */ bool FileElementDefinition::remove() { QFile elmt_file(file_path); if (!elmt_file.exists()) return(true); return(elmt_file.remove()); } /** @return true si cet element est represente quelque part sur le systeme de fichiers */ bool FileElementDefinition::hasFilePath() { return(!file_path.isEmpty()); } /** @return le fichier representant cet element sur le systeme de fichiers */ QString FileElementDefinition::filePath() { return(file_path); } /** Definit le nouveau chemin de cet element dans le systeme de fichiers */ void FileElementDefinition::setFilePath(const QString &path) { // recupere le chemin du fichier *.elmt correspondant QFileInfo file_info(path); if (!file_info.exists() || !file_info.isReadable()) { return; } file_path = file_info.canonicalFilePath(); } qelectrotech-0.22+svn897/sources/newelementwizard.cpp0000644000175000017500000002237011320140732022647 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "newelementwizard.h" #include "elementscategory.h" #include "elementscategorieswidget.h" #include "elementscategorieslist.h" #include "nameslistwidget.h" #include "orientationsetwidget.h" #include "hotspoteditor.h" #include "element.h" #include "qetelementeditor.h" #include "qet.h" #include "qetapp.h" #include "elementscollectionitem.h" #include "qfilenameedit.h" #include "qetmessagebox.h" /** Constructeur @param parent QWidget parent de ce dialogue @param f flags pour le dialogue */ NewElementWizard::NewElementWizard(QWidget *parent, Qt::WindowFlags f) : QWizard(parent, f), chosen_category(0) { setOptions(options() & ~QWizard::NoCancelButton); #ifdef Q_WS_MAC setWindowFlags(Qt::Sheet); #endif setPixmap(LogoPixmap, QPixmap(":/ico/256x256/qelectrotech.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation)); setWindowTitle(tr("Cr\351er un nouvel \351l\351ment : Assistant", "window title")); setButtonText(QWizard::NextButton, tr("&Suivant >")); addPage(buildStep1()); addPage(buildStep2()); addPage(buildStep3()); addPage(buildStep4()); addPage(buildStep5()); setFixedSize(705, 325); } /** Destructeur */ NewElementWizard::~NewElementWizard() { } /** @return la categorie parente selectionnee, ou 0 si celle-ci n'a pas encore ete choisie. */ ElementsCategory *NewElementWizard::selectedCategory() const { return(chosen_category); } /** @param category Categorie d'elements dans laquelle le nouvel element sera place @return true si ce choix est possible et a ete pris en compte, false sinon */ bool NewElementWizard::preselectCategory(ElementsCategory *category) { // verifie si la categorie est utilisable if (!category || !category -> exists() || !category -> isWritable()) { return(false); } // selectionne la categorie ainsi demandee dans la liste if (categories_list -> elementsCategoriesList().selectLocation(category -> location())) { chosen_category = category; return(true); } return(false); } /** Met en place l'etape 1 : Categorie */ QWizardPage *NewElementWizard::buildStep1() { QWizardPage *page = new QWizardPage(); page -> setProperty("WizardState", Category); page -> setTitle(tr("\311tape 1/5 : Cat\351gorie parente", "wizard page title")); page -> setSubTitle(tr("S\351lectionnez une cat\351gorie dans laquelle enregistrer le nouvel \351l\351ment.", "wizard page subtitle")); QVBoxLayout *layout = new QVBoxLayout(); categories_list = new ElementsCategoriesWidget(); layout -> addWidget(categories_list); page -> setLayout(layout); return(page); } /** Met en place l'etape 2 : Nom du fichier */ QWizardPage *NewElementWizard::buildStep2() { QWizardPage *page = new QWizardPage(); page -> setProperty("WizardState", Filename); page -> setTitle(tr("\311tape 2/5 : Nom du fichier", "wizard page title")); page -> setSubTitle(tr("Indiquez le nom du fichier dans lequel enregistrer le nouvel \351l\351ment.", "wizard page subtitle")); QVBoxLayout *layout = new QVBoxLayout(); qle_filename = new QFileNameEdit(tr("nouvel_element")); qle_filename -> selectAll(); QLabel *explication2 = new QLabel(tr("Vous n'\352tes pas oblig\351 de pr\351ciser l'extension *.elmt. Elle sera ajout\351e automatiquement.")); explication2 -> setAlignment(Qt::AlignJustify | Qt::AlignVCenter); explication2 -> setWordWrap(true); layout -> addWidget(qle_filename); layout -> addWidget(explication2); layout -> addSpacing(100); page -> setLayout(layout); return(page); } /** Met en place l'etape 3 : Noms de l'element */ QWizardPage *NewElementWizard::buildStep3() { QWizardPage *page = new QWizardPage(); page -> setProperty("WizardState", Names); page -> setTitle(tr("\311tape 3/5 : Noms de l'\351l\351ment", "wizard page title")); page -> setSubTitle(tr("Indiquez le ou les noms de l'\351l\351ment.", "wizard page subtitle")); QVBoxLayout *layout = new QVBoxLayout(); element_names = new NamesListWidget(); NamesList hash_name; hash_name.addName(QLocale::system().name().left(2), tr("Nom du nouvel \351l\351ment", "default name when creating a new element")); element_names -> setNames(hash_name); layout -> addWidget(element_names); page -> setLayout(layout); return(page); } /** Met en place l'etape 4 : Dimensions et Hotspot */ QWizardPage *NewElementWizard::buildStep4() { QWizardPage *page = new QWizardPage(); page -> setProperty("WizardState", Dimensions); page -> setTitle(tr("\311tape 4/5 : Dimensions et point de saisie", "wizard page title")); page -> setSubTitle(tr("Saisissez les dimensions du nouvel \351l\351ment ainsi que la position du hotspot (point de saisie de l'\351l\351ment \340 la souris) en consid\351rant que l'\351l\351ment est dans son orientation par d\351faut.", "wizard page subtitle")); QVBoxLayout *layout = new QVBoxLayout(); hotspot_editor = new HotspotEditor(); layout -> addWidget(hotspot_editor, 0); layout -> setSpacing(0); page -> setLayout(layout); return(page); } /** Met en place l'etape 5 : orientations possibles pour le nouvel element */ QWizardPage *NewElementWizard::buildStep5() { QWizardPage *page = new QWizardPage(); page -> setProperty("WizardState", Orientations); page -> setTitle(tr("\311tape 5/5 : Orientations", "wizard page title")); page -> setSubTitle(tr("Indiquez les orientations possibles pour le nouvel \351l\351ment.", "wizard page subtitle")); QVBoxLayout *layout = new QVBoxLayout(); orientation_set = new OrientationSetWidget(); layout -> addWidget(orientation_set); layout -> addSpacing(25); page -> setLayout(layout); return(page); } /// @return true si l'etape en cours est validee, false sinon bool NewElementWizard::validateCurrentPage() { WizardState wizard_state = static_cast(currentPage() -> property("WizardState").toInt()); if (wizard_state == Category) return(validStep1()); else if (wizard_state == Filename) return(validStep2()); else if (wizard_state == Names) return(element_names -> checkOneName()); // il doit y avoir au moins un nom else if (wizard_state == Orientations) { createNewElement(); return(true); } else return(true); } /** Valide l'etape 1 @return true si l'etape est validee, false sinon */ bool NewElementWizard::validStep1() { // il doit y avoir une categorie selectionnee bool step1_ok = false; ElementsLocation selected_location = categories_list -> elementsCategoriesList().selectedLocation(); if (ElementsCollectionItem *collection_item = QETApp::collectionItem(selected_location, false)) { if (collection_item -> isCategory()) { chosen_category = qobject_cast(collection_item); step1_ok = chosen_category; } } if (!step1_ok) { QET::MessageBox::critical( parentWidget(), tr("Erreur", "message box title"), tr("Vous devez s\351lectionner une cat\351gorie.", "message box content") ); } return(step1_ok); } /** Valide l'etape 2 @return true si l'etape est validee, false sinon */ bool NewElementWizard::validStep2() { // il doit y avoir une categorie selectionnee if (!chosen_category) return(false); QString file_name = qle_filename -> text(); // un nom doit avoir ete entre if (file_name.isEmpty()) { QET::MessageBox::critical( this, tr("Erreur", "message box title"), tr("Vous devez entrer un nom de fichier", "message box content") ); return(false); } if (!file_name.endsWith(".elmt")) file_name += ".elmt"; // le nom de fichier contient peut etre des caracteres interdits if (QET::containsForbiddenCharacters(file_name)) { QET::MessageBox::critical( this, tr("Erreur", "message box title"), tr("Merci de ne pas utiliser les caract\350res suivants : \\ / : * ? \" < > |", "message box content") ); return(false); } // le fichier existe peut etre deja if (chosen_category -> element(file_name)) { QMessageBox::StandardButton answer = QET::MessageBox::question( this, "\311craser le fichier ?", "Le fichier existe d\351j\340. Souhaitez-vous l'\351craser ?", QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::No ); return(answer == QMessageBox::Yes); } chosen_file = file_name; return(true); } /** Cree le nouvel element */ void NewElementWizard::createNewElement() { QETElementEditor *edit_new_element = new QETElementEditor(parentWidget()); edit_new_element -> setSize(hotspot_editor -> elementSize()); edit_new_element -> setHotspot(hotspot_editor -> hotspot()); edit_new_element -> setNames(element_names -> names()); edit_new_element -> setOrientations(orientation_set -> orientationSet()); ElementsLocation new_element_location = chosen_category -> location(); new_element_location.addToPath(chosen_file); edit_new_element -> setLocation(new_element_location); edit_new_element -> show(); } qelectrotech-0.22+svn897/sources/diagramtextitem.h0000644000175000017500000000425111320140732022116 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef DIAGRAM_TEXT_ITEM_H #define DIAGRAM_TEXT_ITEM_H #include #include "diagram.h" /** Cette classe represente un champ de texte editable sur le schema. */ class DiagramTextItem : public QGraphicsTextItem { Q_OBJECT // constructeurs, destructeur public: DiagramTextItem(QGraphicsItem * = 0, QGraphicsScene * = 0); DiagramTextItem(const QString &, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~DiagramTextItem(); // attributs public: enum { Type = UserType + 1004 }; /// Texte precedent QString previous_text; // methodes public: /** Cette methode permet d'utiliser qgraphicsitem_cast sur cet objet @return le type de QGraphicsItem */ virtual int type() const { return Type; } Diagram *diagram() const; virtual void fromXml(const QDomElement &); virtual QDomElement toXml(QDomDocument &) const; virtual void setPos(const QPointF &); virtual void setPos(qreal, qreal); protected: virtual void focusOutEvent(QFocusEvent *); virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *); virtual void mousePressEvent(QGraphicsSceneMouseEvent *); virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *); // signaux signals: /// signal emis lorsque le champ de texte perd le focus void lostFocus(); /// signal emis lorsque le champ de texte a ete modifie void diagramTextChanged(DiagramTextItem *, const QString &, const QString &); // slots public slots: void setNonFocusable(); }; #endif qelectrotech-0.22+svn897/sources/elementscategory.h0000644000175000017500000000602111320140732022275 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTS_CATEGORY_H #define ELEMENTS_CATEGORY_H #include "elementscollectionitem.h" #include "nameslist.h" #include "elementslocation.h" class ElementDefinition; class ElementsCollection; class MoveElementsHandler; class MoveElementsDescription; /** Cette classe abstraite represente une categorie d'elements. */ class ElementsCategory : public ElementsCollectionItem { Q_OBJECT // constructeurs, destructeur public: ElementsCategory(ElementsCategory * = 0, ElementsCollection * = 0); virtual ~ElementsCategory(); private: ElementsCategory(const ElementsCategory &); // Implementations de methodes virtuelles pures des classes parentes public: virtual QETProject *project(); virtual void setProject(QETProject *); virtual QString protocol(); virtual void setProtocol(const QString &); virtual ElementsCategory *parentCategory(); virtual QList parentCategories(); virtual bool hasParentCategory(); virtual ElementsCollection *parentCollection(); virtual bool hasParentCollection(); virtual bool isChildOf(ElementsCollectionItem *); virtual QString fullVirtualPath(); virtual ElementsLocation location(); virtual bool isRootCategory() const; virtual bool isCollection() const; virtual bool isCategory() const; virtual bool isElement() const; virtual ElementsCollection *toCollection(); virtual ElementsCategory *toCategory(); virtual ElementsCategory *toPureCategory(); virtual ElementDefinition *toElement(); virtual ElementsCollectionItem *copy(ElementsCategory *, MoveElementsHandler *, bool = true); virtual ElementsCollectionItem *move(ElementsCategory *, MoveElementsHandler *); virtual void deleteUnusedElements(MoveElementsHandler *handler); virtual void deleteEmptyCategories(MoveElementsHandler *handler); virtual bool isEmpty(); // Methodes propres a la classe ElementsCategory public: virtual QString name() const; virtual NamesList categoryNames() const; virtual void clearNames(); virtual void addName(const QString &, const QString &); virtual void setNames(const NamesList &); void copy(MoveElementsDescription *); void move(MoveElementsDescription *); // attributs protected: /// Collection parente ElementsCollection *parent_collection_; /// Categorie parente ElementsCategory *parent_category_; /// Liste des noms de la categorie NamesList category_names; }; #endif qelectrotech-0.22+svn897/sources/interactivemoveelementshandler.h0000644000175000017500000000723611320140732025233 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef INTERACTIVE_MOVE_ELEMENTS_HANDLER_H #define INTERACTIVE_MOVE_ELEMENTS_HANDLER_H #include "basicmoveelementshandler.h" class QDialog; class QDialogButtonBox; class QAbstractButton; class QPushButton; class QFileNameEdit; class QHBoxLayout; class QVBoxLayout; class QLabel; /** Cette classe implemente la classe strategie MoveElementsHandler. Via une interface graphique, elle demande a l'utilisateur comment il faut traiter tel ou tel probleme puis transmet la reponse via l'API de la classe MoveElementsHandler. */ class InteractiveMoveElementsHandler : public BasicMoveElementsHandler { Q_OBJECT // constructeurs, destructeur public: InteractiveMoveElementsHandler(QWidget * = 0); virtual ~InteractiveMoveElementsHandler(); private: InteractiveMoveElementsHandler(const InteractiveMoveElementsHandler &); // methodes public: virtual QET::Action categoryAlreadyExists(ElementsCategory *, ElementsCategory *); virtual QET::Action elementAlreadyExists(ElementDefinition *, ElementDefinition *); virtual QET::Action categoryIsNotReadable(ElementsCategory *); virtual QET::Action elementIsNotReadable(ElementDefinition *); virtual QET::Action categoryIsNotWritable(ElementsCategory *); virtual QET::Action elementIsNotWritable(ElementDefinition *); virtual QET::Action errorWithACategory(ElementsCategory *, const QString &); virtual QET::Action errorWithAnElement(ElementDefinition *, const QString &); virtual QString nameForRenamingOperation(); private slots: void conflictDialogFileNameFieldChanged(); void conflictDialogButtonClicked(QAbstractButton *); private: void initConflictDialog(); void setConflictDialogTitle(const QString &); QString conflictDialogTitle() const; void setConflictDialogMainWidget(QWidget *); QWidget *conflictDialogMainWidget() const; QET::Action retryErrorMessage(const QString &) const; void simpleErrorMessage(const QString &) const; // attributs private: QWidget *parent_widget_; ///< Widget a utiliser comme parent pour l'affichage des dialogues QString rename_; ///< Nom a utiliser lors d'une operation de renommage bool always_erase_; ///< Booleen indiquant qu'il faut toujours ecraser les cibles en conflit sans poser de question bool always_skip_; ///< Booleen indiquant qu'il faut toujours ignorer les cibles en conflit sans poser de question bool aborted_; /// Booleen indiquant que le mouvement a ete annule // attributs relatifs au dialogue affiche pour les elements et categories deja existants (= dialogue de conflit) QET::Action conflict_result_; QDialog *conflict_dialog_; QVBoxLayout *conflict_layout0_; QHBoxLayout *conflict_layout1_; QLabel *rename_label_; QFileNameEdit *rename_textfield_; /// Boutons pour le dialogue de conflit QDialogButtonBox *conflict_buttons_; QPushButton *rename_button_; QPushButton *erase_button_; QPushButton *erase_all_button_; QPushButton *ignore_button_; QPushButton *ignore_all_button_; QPushButton *abort_button_; }; #endif qelectrotech-0.22+svn897/sources/interactivemoveelementshandler.cpp0000644000175000017500000003101411320140732025555 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "interactivemoveelementshandler.h" #include #include "elementscategory.h" #include "elementdefinition.h" #include "qfilenameedit.h" #include "qetmessagebox.h" /** Constructeur @param parent QWidget parent a utiliser pour l'affichage des dialogues lors des interactions avec l'utilisateur */ InteractiveMoveElementsHandler::InteractiveMoveElementsHandler(QWidget *parent) : BasicMoveElementsHandler(parent), parent_widget_(parent), rename_(""), always_erase_(false), always_skip_(false), aborted_(false), conflict_dialog_(0) { } /** Destructeur */ InteractiveMoveElementsHandler::~InteractiveMoveElementsHandler() { } /** @param src Categorie source @param dst Categorie cible / destination @return l'action a effectuer si la categorie cible existe deja */ QET::Action InteractiveMoveElementsHandler::categoryAlreadyExists(ElementsCategory *src, ElementsCategory *dst) { // verifie si la reponse n'est pas systematique if (aborted_) return(QET::Abort); if (always_erase_) return(QET::Erase); if (always_skip_) return(QET::Ignore); // a ce stade, l'action a effectuer pour gerer le conflit doit etre // demandee a l'utilisateur via un dialogue initConflictDialog(); QString src_location(src -> location().toString()); QString dst_location(dst -> location().toString()); // prepare le dialogue QString dialog_title(QString(tr("Copie de %1 vers %2", "dialog title")).arg(src_location).arg(dst_location)); QLabel *question_label = new QLabel( QString( tr( "La cat\351gorie \253\240%1\240\273 (%2) existe d\351j\340. " "Que souhaitez-vous faire ?", "dialog content" ) ) .arg(dst -> name()) .arg(dst_location) ); question_label -> setWordWrap(true); setConflictDialogTitle(dialog_title); setConflictDialogMainWidget(question_label); // execute le dialogue conflict_dialog_ -> exec(); // enleve et detruit le widget principal setConflictDialogMainWidget(0); delete question_label; // renvoie la reponse obtenue via le dialogue return(conflict_result_); } /** @param src Element source @param dst Element cible / destination @return l'action a effectuer si l'element cible existe deja */ QET::Action InteractiveMoveElementsHandler::elementAlreadyExists(ElementDefinition *src, ElementDefinition *dst) { // verifie si la reponse n'est pas systematique if (aborted_) return(QET::Abort); if (always_erase_) return(QET::Erase); if (always_skip_) return(QET::Ignore); // a ce stade, l'action a effectuer pour gerer le conflit doit etre // demandee a l'utilisateur via un dialogue initConflictDialog(); QString src_location(src -> location().toString()); QString dst_location(dst -> location().toString()); // prepare le dialogue QString dialog_title(QString(tr("Copie de %1 vers %2", "dialog title")).arg(src_location).arg(dst_location)); QLabel *question_label = new QLabel( QString( tr( "L'\351l\351ment \253\240%1\240\273 existe d\351j\340. " "Que souhaitez-vous faire ?", "dialog content" ) ) .arg(dst_location) ); question_label -> setWordWrap(true); setConflictDialogTitle(dialog_title); setConflictDialogMainWidget(question_label); // execute le dialogue conflict_dialog_ -> exec(); // enleve et detruit le widget principal setConflictDialogMainWidget(0); delete question_label; if (conflict_result_ == QET::Rename) { if (!rename_.endsWith(".elmt")) rename_ += ".elmt"; } // renvoie la reponse obtenue via le dialogue return(conflict_result_); } /** Cette methode permet de savoir comment agir lorsqu'une categorie n'est pas lisible @param category La categorie qui n'est pas lisible @return QET::Retry, QET::Ignore ou QET::Abort */ QET::Action InteractiveMoveElementsHandler::categoryIsNotReadable(ElementsCategory *category) { QString message = QString(tr("La cat\351gorie %1 n'est pas accessible en lecture.", "message box content")).arg(category -> location().toString()); return(retryErrorMessage(message)); } /** Cette methode permet de savoir comment agir lorsqu'un element n'est pas lisible @param element L'element qui n'est pas lisible @return QET::Retry, QET::Ignore ou QET::Abort */ QET::Action InteractiveMoveElementsHandler::elementIsNotReadable(ElementDefinition *element) { QString message = QString(tr("L'\351l\351ment %1 n'est pas accessible en lecture.", "message box content")).arg(element -> location().toString()); return(retryErrorMessage(message)); } /** Cette methode permet de savoir comment agir lorsqu'une categorie n'est pas accessible en ecriture @param category La categorie qui n'est pas lisible @return QET::Retry, QET::Ignore ou QET::Abort */ QET::Action InteractiveMoveElementsHandler::categoryIsNotWritable(ElementsCategory *category) { QString message = QString(tr("La cat\351gorie %1 n'est pas accessible en \351criture.", "message box content")).arg(category -> location().toString()); return(retryErrorMessage(message)); } /** Cette methode permet de savoir comment agir lorsqu'un element n'est pas accessible en ecriture @param element L'element qui n'est pas lisible @return QET::Retry, QET::Ignore ou QET::Abort */ QET::Action InteractiveMoveElementsHandler::elementIsNotWritable(ElementDefinition *element) { QString message = QString(tr("L'\351l\351ment %1 n'est pas accessible en \351criture.", "message box content")).arg(element -> location().toString()); return(retryErrorMessage(message)); } /** Affiche un message d'erreur relatif a une categorie @param category La categorie concernee par l'erreur @param message Le message d'erreur a afficher @return toujours QET::Ignore */ QET::Action InteractiveMoveElementsHandler::errorWithACategory(ElementsCategory *category, const QString &message) { QString category_location = category -> location().toString(); QString error_message = QString("Une erreur s'est produite avec la cat\351gorie %1\240: %2").arg(category_location).arg(message); simpleErrorMessage(error_message); return(QET::Ignore); } /** Affiche un message d'erreur relatif a un element @param element L'element concerne par l'erreur @param message Le message d'erreur a afficher @return toujours QET::Ignore */ QET::Action InteractiveMoveElementsHandler::errorWithAnElement(ElementDefinition *element, const QString &message) { QString element_location = element -> location().toString(); QString error_message = QString("Une erreur s'est produite avec l'\351l\351ment %1\240: %2").arg(element_location).arg(message); simpleErrorMessage(error_message); return(QET::Ignore); } /** @return le nom a utiliser pour le renommage si une methode de cet objet a precedemment renvoye QET::Rename. */ QString InteractiveMoveElementsHandler::nameForRenamingOperation() { return(rename_); } /** Initialise le dialogue qui sera utilise pour les conflits elements / categories. */ void InteractiveMoveElementsHandler::initConflictDialog() { // n'agit qu'une seule fois if (conflict_dialog_) return; conflict_dialog_ = new QDialog(parent_widget_); conflict_dialog_ -> setMaximumSize(600, 200); // initialisation du champ de texte rename_label_ = new QLabel("Nouveau nom :"); rename_textfield_ = new QFileNameEdit(); connect( rename_textfield_, SIGNAL(textEdited(const QString &)), this, SLOT(conflictDialogFileNameFieldChanged()) ); // initialisation des boutons rename_button_ = new QPushButton(tr("Renommer")); erase_button_ = new QPushButton(tr("\311craser")); erase_all_button_ = new QPushButton(tr("\311craser tout")); ignore_button_ = new QPushButton(tr("Ignorer")); ignore_all_button_ = new QPushButton(tr("Ignorer tout")); abort_button_ = new QPushButton(tr("Annuler")); conflict_buttons_ = new QDialogButtonBox(); conflict_buttons_ -> addButton(rename_button_, QDialogButtonBox::ActionRole); conflict_buttons_ -> addButton(erase_button_, QDialogButtonBox::AcceptRole); conflict_buttons_ -> addButton(erase_all_button_, QDialogButtonBox::AcceptRole); conflict_buttons_ -> addButton(ignore_button_, QDialogButtonBox::AcceptRole); conflict_buttons_ -> addButton(ignore_all_button_, QDialogButtonBox::AcceptRole); conflict_buttons_ -> addButton(abort_button_, QDialogButtonBox::AcceptRole); rename_button_ -> setEnabled(false); connect( conflict_buttons_, SIGNAL(clicked(QAbstractButton *)), this, SLOT(conflictDialogButtonClicked(QAbstractButton *)) ); // layout conflict_layout1_ = new QHBoxLayout(); conflict_layout1_ -> addWidget(rename_label_); conflict_layout1_ -> addWidget(rename_textfield_); conflict_layout0_ = new QVBoxLayout(conflict_dialog_); conflict_layout0_ -> insertLayout(1, conflict_layout1_); conflict_layout0_ -> insertWidget(2, conflict_buttons_); } /** Slot appele lorsque l'utilisateur modifie le contenu du champ */ void InteractiveMoveElementsHandler::conflictDialogFileNameFieldChanged() { if (rename_textfield_ -> isValid()) { /// @todo verifier que le nom n'est pas deja pris rename_button_ -> setEnabled(true); } else { rename_button_ -> setEnabled(false); } } /** Slot appele lorsque l'utilisateur presse un des boutons du dialogue de conflit. @param button Bouton presse par l'utilisateur */ void InteractiveMoveElementsHandler::conflictDialogButtonClicked(QAbstractButton *button) { conflict_dialog_ -> accept(); // change la valeur de l'attribut if (button == rename_button_) { rename_ = rename_textfield_ -> text(); conflict_result_= QET::Rename; } else if (button == erase_button_) { conflict_result_= QET::Erase; } else if (button == erase_all_button_) { always_erase_ = true; conflict_result_= QET::Erase; } else if (button == ignore_button_) { conflict_result_= QET::Ignore; } else if (button == ignore_all_button_) { always_skip_ = true; conflict_result_= QET::Ignore; } else if (button == abort_button_) { aborted_ = true; conflict_result_= QET::Abort; } } /** Change le titre du dialogue de conflit @param new_title Nouveau titre pour le dialogue de conflit */ void InteractiveMoveElementsHandler::setConflictDialogTitle(const QString &new_title) { conflict_dialog_ -> setWindowTitle(new_title); } /** @return le titre du dialogue de conflit */ QString InteractiveMoveElementsHandler::conflictDialogTitle() const { return(conflict_dialog_ -> windowTitle()); } /** Change le widget affiche au centre du dialogue de conflit @param widget Widget a inserer dans le dialogue de conflit Si widget vaut 0, le widget central est retire. */ void InteractiveMoveElementsHandler::setConflictDialogMainWidget(QWidget *widget) { // gere l'enlevement du widget principal if (!widget) { if (conflict_layout0_ -> count() != 3) return; conflict_layout0_ -> removeItem(conflict_layout0_ -> itemAt(0)); } else { conflict_layout0_ -> insertWidget(0, widget); } } /** @return le widget insere dans le dialogue de conflit, ou 0 s'il n'y en a aucun. */ QWidget *InteractiveMoveElementsHandler::conflictDialogMainWidget() const { if (conflict_layout0_ -> count() != 3) return(0); return(conflict_layout0_ -> itemAt(0) -> widget()); } /** Affiche un message d'erreur en donnant la possibilite d'ignorer l'item en cours, d'annuler tout le mouvement ou de le reessayer. @param message Message d'erreur a afficher @return L'action choisie par l'utilisateur */ QET::Action InteractiveMoveElementsHandler::retryErrorMessage(const QString &message) const { int todo = QET::MessageBox::critical( parent_widget_, tr("Erreur", "message box title"), message, QMessageBox::Abort | QMessageBox::Retry | QMessageBox::Ignore, QMessageBox::Ignore ); if (todo == QMessageBox::Abort) { return(QET::Abort); } else if (todo == QMessageBox::Retry) { return(QET::Retry); } else { return(QET::Ignore); } } /** Affiche un simple message d'erreur @param message Message d'erreur a afficher */ void InteractiveMoveElementsHandler::simpleErrorMessage(const QString &message) const { QET::MessageBox::critical( parent_widget_, tr("Erreur", "message box title"), message, QMessageBox::Ok, QMessageBox::Ok ); } qelectrotech-0.22+svn897/sources/borderpropertieswidget.h0000644000175000017500000000405211342325666023542 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef BORDER_PROPERTIES_WIDGET_H #define BORDER_PROPERTIES_WIDGET_H #include #include "borderproperties.h" class QCheckBox; class QSpinBox; /** Cette classe represente un widget permettant d'editer les dimensions et les options d'affichage d'un schema, cartouche non inclus. @see InsetPropertiesWidget */ class BorderPropertiesWidget : public QWidget { Q_OBJECT // constructeurs, destructeur public: BorderPropertiesWidget(const BorderProperties &, QWidget * = 0); virtual ~BorderPropertiesWidget(); private: BorderPropertiesWidget(const BorderPropertiesWidget &); // methodes public: const BorderProperties &borderProperties(); bool isReadOnly() const; void setReadOnly(bool); private: void setEditedBorder(const BorderProperties &); void build(); // attributs private: BorderProperties border_; ///< Proprietes editees QSpinBox *columns_count; ///< Widget d'edition du nombre de colonnes QSpinBox *columns_width; ///< Widget d'edition de la largeur des colonnes QCheckBox *display_columns; ///< Case a cocher pour afficher ou non les entetes des colonnes QSpinBox *rows_count; ///< Widget d'edition du nombre de lignes QSpinBox *rows_height; ///< Widget d'edition de la hauteur des lignes QCheckBox *display_rows; ///< Case a cocher pour afficher ou non les entetes des lignes }; #endif qelectrotech-0.22+svn897/sources/integrationmoveelementshandler.cpp0000644000175000017500000001464411320140732025575 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "integrationmoveelementshandler.h" #include #include "elementscategory.h" #include "elementdefinition.h" #include "qfilenameedit.h" /** Constructeur @param parent QWidget parent a utiliser pour l'affichage des dialogues lors des interactions avec l'utilisateur */ IntegrationMoveElementsHandler::IntegrationMoveElementsHandler(QWidget *parent) : BasicMoveElementsHandler(parent), parent_widget_(parent), integ_dialog_(0) { // actions par defaut : abort setActionIfItemAlreadyExists(QET::Abort); setActionIfItemIsNotReadable(QET::Abort); setActionIfItemIsNotWritable(QET::Abort); setActionIfItemTriggersAnError(QET::Abort); } /** Destructeur */ IntegrationMoveElementsHandler::~IntegrationMoveElementsHandler() { } /** @param src Element source @param dst Element cible / destination @return l'action a effectuer si l'element cible existe deja */ QET::Action IntegrationMoveElementsHandler::elementAlreadyExists(ElementDefinition *src, ElementDefinition *dst) { // premiere etape : on verifie si src et dst ne sont pas identiques if (src -> equals(*dst)) { // les deux elements sont identiques - il est inutile d'ecraser l'ancien return(QET::Ignore); } // les deux elements sont differents - on demande a l'utilisateur ce qu'il // prefere : ecrasement ou cohabitation return(askUser(src, dst)); } /** @return le nom a utiliser pour le renommage si une methode de cet objet a precedemment renvoye QET::Rename. */ QString IntegrationMoveElementsHandler::nameForRenamingOperation() { return(rename_); } /** @return la date courante au format yyyyMMddhhmmss */ QString IntegrationMoveElementsHandler::dateString() const { return(QDateTime::currentDateTime().toString("yyyyMMddhhmmss")); } /** @param element Une definition d'element @return un nom pour dupliquer l'element passe en parametre. Ce nom est base sur la date courante. */ QString IntegrationMoveElementsHandler::newNameForElement(const ElementDefinition *element) { QString orig_name = element -> pathName(); if (orig_name.endsWith(".elmt")) orig_name.chop(5); return(orig_name + "-" + dateString() + ".elmt"); } /** Demande a l'utilisateur s'il souhaite ecraser l'elemen deja existant, renommer le nouveau ou bien annuler @param src Element source @param dst Element cible @return la reponse de l'utilisateur */ QET::Action IntegrationMoveElementsHandler::askUser(ElementDefinition *src, ElementDefinition *dst) { Q_UNUSED(src); initDialog(); int result = integ_dialog_ -> exec(); if (result == QDialog::Accepted) { if (use_existing_elmt_ -> isChecked()) { return(QET::Ignore); } else if (erase_element_ -> isChecked()) { return(QET::Erase); } else { rename_ = newNameForElement(dst); return(QET::Rename); } } else { return(QET::Abort); } } /** Initialise le dialogue */ void IntegrationMoveElementsHandler::initDialog() { if (integ_dialog_) return; integ_dialog_ = new QDialog(parent_widget_); integ_dialog_ -> setWindowTitle(tr("Int\351gration d'un \351l\351ment")); dialog_label_ = new QLabel( QString( tr( "L'\351l\351ment a d\351j\340 \351t\351 " "int\351gr\351 dans le projet. Toutefois, la version que vous " "tentez de poser semble diff\351rente. Que souhaitez-vous " "faire ?", "dialog content - %1 is an element's path name" ) ) ); use_existing_elmt_ = new QRadioButton( QString( tr( "Utiliser l'\351l\351ment d\351j\340 int\351gr\351", "dialog content" ) ) ); integrate_new_element_ = new QRadioButton( QString( tr( "Int\351grer l'\351l\351ment d\351pos\351", "dialog content" ) ) ); radioButtonleftMargin(integrate_new_element_); erase_element_ = new QRadioButton( QString( tr( "\311craser l'\351l\351ment d\351j\340 int\351gr\351", "dialog content" ) ) ); radioButtonleftMargin(erase_element_); integrate_both_ = new QRadioButton( QString( tr( "Faire cohabiter les deux \351l\351ments", "dialog content" ) ) ); button_group1_ = new QButtonGroup(this); button_group1_ -> addButton(use_existing_elmt_); button_group1_ -> addButton(integrate_new_element_); button_group2_ = new QButtonGroup(this); button_group2_ -> addButton(erase_element_); button_group2_ -> addButton(integrate_both_); integrate_new_element_ -> setChecked(true); integrate_both_ -> setChecked(true); buttons_ = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dialog_glayout = new QGridLayout(); dialog_glayout -> setColumnMinimumWidth(0, 20); dialog_glayout -> addWidget(erase_element_, 0, 1); dialog_glayout -> addWidget(integrate_both_, 1, 1); dialog_vlayout_ = new QVBoxLayout(integ_dialog_); dialog_vlayout_ -> addWidget(dialog_label_); dialog_vlayout_ -> addWidget(use_existing_elmt_); dialog_vlayout_ -> addWidget(integrate_new_element_); dialog_vlayout_ -> addLayout(dialog_glayout); dialog_vlayout_ -> addWidget(buttons_); connect(use_existing_elmt_, SIGNAL(toggled(bool)), this, SLOT(correctRadioButtons())); connect(integrate_new_element_, SIGNAL(toggled(bool)), this, SLOT(correctRadioButtons())); connect(buttons_, SIGNAL(accepted()), integ_dialog_, SLOT(accept())); connect(buttons_, SIGNAL(rejected()), integ_dialog_, SLOT(reject())); } /** S'asure que le dialogue reste coherent */ void IntegrationMoveElementsHandler::correctRadioButtons() { erase_element_ -> setEnabled(integrate_new_element_ -> isChecked()); integrate_both_ -> setEnabled(integrate_new_element_ -> isChecked()); } /** @param button bouton radio Augmente la marge gauche d'un bouton radio */ void IntegrationMoveElementsHandler::radioButtonleftMargin(QRadioButton *button) { int a, b, c, d; button -> getContentsMargins(&a, &b, &c, &d); button -> setContentsMargins(a + 15, b, c, d); } qelectrotech-0.22+svn897/sources/conductorproperties.cpp0000644000175000017500000003052111320140732023375 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "conductorproperties.h" /** Constructeur par defaut */ SingleLineProperties::SingleLineProperties() : hasGround(true), hasNeutral(true), phases(1) { } /// Destructeur SingleLineProperties::~SingleLineProperties() { } /** Definit le nombre de phases (0, 1, 2, ou 3) @param n Nombre de phases */ void SingleLineProperties::setPhasesCount(int n) { phases = qBound(0, n, 3); } /// @return le nombre de phases (0, 1, 2, ou 3) unsigned short int SingleLineProperties::phasesCount() { return(phases); } /** Dessine les symboles propres a un conducteur unifilaire @param painter QPainter a utiliser pour dessiner les symboles @param direction direction du segment sur lequel les symboles apparaitront @param rect rectangle englobant le dessin ; utilise pour specifier a la fois la position et la taille du dessin */ void SingleLineProperties::draw(QPainter *painter, QET::ConductorSegmentType direction, const QRectF &rect) { // s'il n'y a rien a dessiner, on retourne immediatement if (!hasNeutral && !hasGround && !phases) return; // prepare le QPainter painter -> save(); QPen pen(painter -> pen()); pen.setCapStyle(Qt::FlatCap); pen.setJoinStyle(Qt::MiterJoin); painter -> setPen(pen); painter -> setRenderHint(QPainter::Antialiasing, true); uint symbols_count = (hasNeutral ? 1 : 0) + (hasGround ? 1 : 0) + phases; qreal interleave; qreal symbol_width; if (direction == QET::Horizontal) { interleave = rect.width() / (symbols_count + 1); symbol_width = rect.width() / 12; for (uint i = 1 ; i <= symbols_count ; ++ i) { // dessine le tronc du symbole QPointF symbol_p1(rect.x() + (i * interleave) + symbol_width, rect.y() + rect.height() * 0.75); QPointF symbol_p2(rect.x() + (i * interleave) - symbol_width, rect.y() + rect.height() * 0.25); painter -> drawLine(QLineF(symbol_p1, symbol_p2)); // dessine le reste des symboles terre et neutre if (hasGround && i == 1) { drawGround(painter, direction, symbol_p2, symbol_width * 2.0); } else if (hasNeutral && ((i == 1 && !hasGround) || (i == 2 && hasGround))) { drawNeutral(painter, direction, symbol_p2, symbol_width * 1.35); } } } else { interleave = rect.height() / (symbols_count + 1); symbol_width = rect.height() / 12; for (uint i = 1 ; i <= symbols_count ; ++ i) { // dessine le tronc du symbole QPointF symbol_p2(rect.x() + rect.width() * 0.75, rect.y() + (i * interleave) - symbol_width); QPointF symbol_p1(rect.x() + rect.width() * 0.25, rect.y() + (i * interleave) + symbol_width); painter -> drawLine(QLineF(symbol_p1, symbol_p2)); // dessine le reste des symboles terre et neutre if (hasGround && i == 1) { drawGround(painter, direction, symbol_p2, symbol_width * 2.0); } else if (hasNeutral && ((i == 1 && !hasGround) || (i == 2 && hasGround))) { drawNeutral(painter, direction, symbol_p2, symbol_width * 1.5); } } } painter -> restore(); } /** Dessine le segment correspondant au symbole de la terre sur un conducteur unifilaire @param painter QPainter a utiliser pour dessiner le segment @param direction direction du segment sur lequel le symbole apparaitra @param center centre du segment @param size taille du segment */ void SingleLineProperties::drawGround(QPainter *painter, QET::ConductorSegmentType direction, QPointF center, qreal size) { painter -> save(); // prepare le QPainter painter -> setRenderHint(QPainter::Antialiasing, false); QPen pen2(painter -> pen()); pen2.setCapStyle(Qt::SquareCap); painter -> setPen(pen2); // dessine le segment representant la terre qreal half_size = size / 2.0; QPointF offset_point( (direction == QET::Horizontal) ? half_size : 0.0, (direction == QET::Horizontal) ? 0.0 : half_size ); painter -> drawLine( QLineF( center + offset_point, center - offset_point ) ); painter -> restore(); } /** Dessine le cercle correspondant au symbole du neutre sur un conducteur unifilaire @param painter QPainter a utiliser pour dessiner le segment @param direction direction du segment sur lequel le symbole apparaitra @param center centre du cercle @param size diametre du cercle */ void SingleLineProperties::drawNeutral(QPainter *painter, QET::ConductorSegmentType direction, QPointF center, qreal size) { Q_UNUSED(direction); painter -> save(); // prepare le QPainter if (painter -> brush() == Qt::NoBrush) painter -> setBrush(Qt::black); painter -> setPen(Qt::NoPen); // desine le cercle representant le neutre painter -> drawEllipse( QRectF( center - QPointF(size / 2.0, size / 2.0), QSizeF(size, size) ) ); painter -> restore(); } /** Exporte les parametres du conducteur unifilaire sous formes d'attributs XML ajoutes a l'element e. @param e Element XML auquel seront ajoutes des attributs */ void SingleLineProperties::toXml(QDomElement &e) const { e.setAttribute("ground", hasGround ? "true" : "false"); e.setAttribute("neutral", hasNeutral ? "true" : "false"); e.setAttribute("phase", phases); } /** Importe les parametres du conducteur unifilaire a partir des attributs XML de l'element e @param e Element XML dont les attributs seront lus */ void SingleLineProperties::fromXml(QDomElement &e) { hasGround = e.attribute("ground") == "true"; hasNeutral = e.attribute("neutral") == "true"; setPhasesCount(e.attribute("phase").toInt()); } /** Constructeur : par defaut, les proprietes font un conducteur multifilaire noir dont le texte est "_" */ ConductorProperties::ConductorProperties() : type(Multi), color(Qt::black), text("_"), style(Qt::SolidLine) { } /** Destructeur */ ConductorProperties::~ConductorProperties() { } /** Exporte les parametres du conducteur sous formes d'attributs XML ajoutes a l'element e. @param e Element XML auquel seront ajoutes des attributs */ void ConductorProperties::toXml(QDomElement &e) const { e.setAttribute("type", typeToString(type)); if (color != QColor(Qt::black)) { e.setAttribute("color", color.name()); } if (type == Single) { singleLineProperties.toXml(e); } else if (type == Multi) { e.setAttribute("num", text); } QString conductor_style = writeStyle(); if (!conductor_style.isEmpty()) { e.setAttribute("style", conductor_style); } } /** Importe les parametres du conducteur unifilaire a partir des attributs XML de l'element e @param e Element XML dont les attributs seront lus */ void ConductorProperties::fromXml(QDomElement &e) { // recupere la couleur du conducteur QColor xml_color= QColor(e.attribute("color")); if (xml_color.isValid()) { color = xml_color; } else { color = QColor(Qt::black); } // lit le style du conducteur readStyle(e.attribute("style")); if (e.attribute("type") == typeToString(Single)) { // recupere les parametres specifiques a un conducteur unifilaire singleLineProperties.fromXml(e); type = Single; } else if (e.attribute("type") == typeToString(Simple)) { type = Simple; } else { // recupere le champ de texte text = e.attribute("num"); type = Multi; } } /** @param settings Parametres a ecrire @param prefix prefixe a ajouter devant les noms des parametres */ void ConductorProperties::toSettings(QSettings &settings, const QString &prefix) const { settings.setValue(prefix + "color", color.name()); settings.setValue(prefix + "style", writeStyle()); settings.setValue(prefix + "type", typeToString(type)); settings.setValue(prefix + "text", text); singleLineProperties.toSettings(settings, prefix); } /** @param settings Parametres a lire @param prefix prefixe a ajouter devant les noms des parametres */ void ConductorProperties::fromSettings(QSettings &settings, const QString &prefix) { // recupere la couleur dans les parametres QColor settings_color = QColor(settings.value(prefix + "color").toString()); if (settings_color.isValid()) { color = settings_color; } else { color = QColor(Qt::black); } QString setting_type = settings.value(prefix + "type", typeToString(Multi)).toString(); if (setting_type == typeToString(Single)) { type = Single; } else if (setting_type == typeToString(Simple)) { type = Simple; } else { type = Multi; } singleLineProperties.fromSettings(settings, prefix); text = settings.value(prefix + "text", "_").toString(); // lit le style du conducteur readStyle(settings.value(prefix + "style").toString()); } /** @param t type du conducteur */ QString ConductorProperties::typeToString(ConductorType t) { switch(t) { case Simple: return("simple"); case Single: return("single"); case Multi: return("multi"); default: return(QString()); } } /** @param other l'autre ensemble de proprietes avec lequel il faut effectuer la comparaison @return true si les deux ensembles de proprietes sont identiques, false sinon */ int ConductorProperties::operator==(const ConductorProperties &other) { return( other.type == type &&\ other.color == color &&\ other.color == style &&\ other.text == text &&\ other.singleLineProperties == singleLineProperties ); } /** @param other l'autre ensemble de proprietes avec lequel il faut effectuer la comparaison @return true si les deux ensembles de proprietes sont differents, false sinon */ int ConductorProperties::operator!=(const ConductorProperties &other) { return( other.type != type ||\ other.color != color ||\ other.color != style ||\ other.text != text ||\ other.singleLineProperties != singleLineProperties ); } /** Applique les styles passes en parametre dans cet objet @param style_string Chaine decrivant le style du conducteur */ void ConductorProperties::readStyle(const QString &style_string) { style = Qt::SolidLine; // style par defaut if (style_string.isEmpty()) return; // recupere la liste des couples style / valeur QStringList styles = style_string.split(";", QString::SkipEmptyParts); QRegExp rx("^\\s*([a-z-]+)\\s*:\\s*([a-z-]+)\\s*$"); foreach (QString style_str, styles) { if (rx.exactMatch(style_str)) { QString style_name = rx.cap(1); QString style_value = rx.cap(2); if (style_name == "line-style") { if (style_value == "dashed") style = Qt::DashLine; else if (style_value == "normal") style = Qt::SolidLine; } } } } /** Exporte le style du conducteur sous forme d'une chaine de caracteres @return une chaine de caracteres decrivant le style du conducteur */ QString ConductorProperties::writeStyle() const { if (style == Qt::DashLine) { return("line-style: dashed;"); } else { return(QString()); } } /** @param other l'autre ensemble de proprietes avec lequel il faut effectuer la comparaison @return true si les deux ensembles de proprietes sont identiques, false sinon */ int SingleLineProperties::operator==(const SingleLineProperties &other) const { return( other.hasGround == hasGround &&\ other.hasNeutral == hasNeutral &&\ other.phases == phases ); } /** @param other l'autre ensemble de proprietes avec lequel il faut effectuer la comparaison @return true si les deux ensembles de proprietes sont differents, false sinon */ int SingleLineProperties::operator!=(const SingleLineProperties &other) const { return(!(other == (*this))); } /** @param settings Parametres a ecrire @param prefix prefix a ajouter devant les noms des parametres */ void SingleLineProperties::toSettings(QSettings &settings, const QString &prefix) const { settings.setValue(prefix + "hasGround", hasGround); settings.setValue(prefix + "hasNeutral", hasNeutral); settings.setValue(prefix + "phases", phases); } /** @param settings Parametres a lire @param prefix prefix a ajouter devant les noms des parametres */ void SingleLineProperties::fromSettings(QSettings &settings, const QString &prefix) { hasGround = settings.value(prefix + "hasGround", true).toBool(); hasNeutral = settings.value(prefix + "hasNeutral", true).toBool(); phases = settings.value(prefix + "phases", 1).toInt(); } qelectrotech-0.22+svn897/sources/conductorprofile.h0000644000175000017500000000346311320140732022313 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CONDUCTOR_PROFILE_H #define CONDUCTOR_PROFILE_H #include #include "qet.h" class Conductor; class ConductorSegmentProfile; /** Cette classe contient le profil (= les caracteristiques essentielles) d'un conducteur. */ class ConductorProfile { public: // constructeurs, destructeur ConductorProfile(); ConductorProfile(Conductor *conductor); ConductorProfile(const ConductorProfile &); ConductorProfile &operator=(const ConductorProfile &); virtual ~ConductorProfile(); // attributs public: /// Segment composant le profil du conducteur QList segments; /// Orientation de la borne de depart du profil QET::Orientation beginOrientation; /// Orientation de la borne d'arrivee du profil QET::Orientation endOrientation; // methodes public: bool isNull() const; void setNull(); qreal width() const; qreal height() const; uint nbSegments(QET::ConductorSegmentType) const; QList horizontalSegments(); QList verticalSegments(); void fromConductor(Conductor *); }; QDebug &operator<<(QDebug d, ConductorProfile &); #endif qelectrotech-0.22+svn897/sources/diagramcontent.cpp0000644000175000017500000001156711320140732022270 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "diagramcontent.h" #include #include "element.h" #include "diagramtextitem.h" #include "conductor.h" /** Constructeur par defaut. Ne contient rien. */ DiagramContent::DiagramContent() { } /** Constructeur de copie. */ DiagramContent::DiagramContent(const DiagramContent &other) : elements(other.elements), textFields(other.textFields), conductorsToUpdate(other.conductorsToUpdate), conductorsToMove(other.conductorsToMove), otherConductors(other.otherConductors) { } /** Constructeur */ DiagramContent::~DiagramContent() { } /** @param filter Types de conducteurs desires @return tous les conducteurs */ QList DiagramContent::conductors(int filter) const { QList result; if (filter & ConductorsToMove) result += conductorsToMove; if (filter & ConductorsToUpdate) result += conductorsToUpdate.keys(); if (filter & OtherConductors) result += otherConductors; if (filter & SelectedOnly) { foreach(Conductor *conductor, result) { if (!conductor -> isSelected()) result.removeOne(conductor); } } return(result); } /** Vide le conteneur */ void DiagramContent::clear() { elements.clear(); textFields.clear(); conductorsToUpdate.clear(); conductorsToMove.clear(); otherConductors.clear(); } /** @param filter Types desires @return la liste des items formant le contenu du schema */ QList DiagramContent::items(int filter) const { QList items_list; foreach(QGraphicsItem *qgi, conductors(filter)) items_list << qgi; if (filter & Elements) foreach(QGraphicsItem *qgi, elements) items_list << qgi; if (filter & TextFields) foreach(QGraphicsItem *qgi, textFields) items_list << qgi; if (filter & SelectedOnly) { foreach(QGraphicsItem *qgi, items_list) { if (!qgi -> isSelected()) items_list.removeOne(qgi); } } return(items_list); } /** @param filter Types desires @return le nombre d'items formant le contenu du schema */ int DiagramContent::count(int filter) const { int count = 0; if (filter & SelectedOnly) { if (filter & Elements) foreach(Element *element, elements) { if (element -> isSelected()) ++ count; } if (filter & TextFields) foreach(DiagramTextItem *dti, textFields) { if (dti -> isSelected()) ++ count; } if (filter & ConductorsToMove) foreach(Conductor *conductor, conductorsToMove) { if (conductor -> isSelected()) ++ count; } if (filter & ConductorsToUpdate) foreach(Conductor *conductor, conductorsToUpdate.keys()) { if (conductor -> isSelected()) ++ count; } if (filter & OtherConductors) foreach(Conductor *conductor, otherConductors) { if (conductor -> isSelected()) ++ count; } } else { if (filter & Elements) count += elements.count(); if (filter & TextFields) count += textFields.count(); if (filter & ConductorsToMove) count += conductorsToMove.count(); if (filter & ConductorsToUpdate) count += conductorsToUpdate.count(); if (filter & OtherConductors) count += otherConductors.count(); } return(count); } /** Permet de composer rapidement la proposition "x elements, y conducteurs et z champs de texte". @param filter Types desires @return la proposition decrivant le contenu. */ QString DiagramContent::sentence(int filter) const { int elements_count = (filter & Elements) ? elements.count() : 0; int conductors_count = conductors(filter).count(); int textfields_count = (filter & TextFields) ? textFields.count() : 0; return( QET::ElementsAndConductorsSentence( elements_count, conductors_count, textfields_count ) ); } /** Permet de debugger un contenu de schema @param d Object QDebug a utiliser pour l'affichage des informations de debug @param content Contenu de schema a debugger */ QDebug &operator<<(QDebug d, DiagramContent &content) { Q_UNUSED(content); d << "DiagramContent {" << "\n"; /* FIXME Le double-heritage QObject / QGraphicsItem a casse cet operateur d << " elements :" << c.elements << "\n"; d << " conductorsToUpdate :" << c.conductorsToUpdate.keys() << "\n"; d << " conductorsToMove :" << c.conductorsToMove << "\n"; d << " otherConductors :" << c.otherConductors << "\n"; */ d << "}"; return(d.space()); } qelectrotech-0.22+svn897/sources/elementscategorieslist.h0000644000175000017500000000422511320140732023505 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTS_CATEGORIES_LIST_H #define ELEMENTS_CATEGORIES_LIST_H #include #include "qet.h" #include "elementslocation.h" class ElementsCollection; class ElementsCategory; class ElementDefinition; /** Cette classe fournit une liste graphique des categories d'elements de l'utilisateur. */ class ElementsCategoriesList : public QTreeWidget { Q_OBJECT // Constructeurs, destructeur public: ElementsCategoriesList(bool = false, uint = QET::All, QWidget * = 0); virtual ~ElementsCategoriesList(); private: ElementsCategoriesList(const ElementsCategoriesList &); // methodes public: QString selectedCategoryName() const; ElementsLocation selectedLocation() const; bool selectLocation(const ElementsLocation &); private: QTreeWidgetItem *addCollection(QTreeWidgetItem *, ElementsCollection *, const QString & = QString(), const QIcon & = QIcon()); QTreeWidgetItem *addCategory (QTreeWidgetItem *, ElementsCategory *, const QString & = QString(), const QIcon & = QIcon()); QTreeWidgetItem *addElement (QTreeWidgetItem *, ElementDefinition *, const QString & = QString(), const QIcon & = QIcon()); QString categoryName(QDir &); public slots: void reload(); private slots: void selectionChanged(QTreeWidgetItem *, QTreeWidgetItem *); signals: void locationChanged(const ElementsLocation &); // attributs private: bool display_elements_; int selectables_; bool first_load; QHash locations_; }; #endif qelectrotech-0.22+svn897/sources/configdialog.cpp0000644000175000017500000000620111320140732021703 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "configdialog.h" #include "qetapp.h" /** Constructeur @param parent QWidget parent */ ConfigDialog::ConfigDialog(QWidget *parent) : QDialog(parent) { setWindowTitle(tr("Configurer QElectroTech", "window title")); // liste des pages pages_list = new QListWidget(); pages_list -> setViewMode(QListView::IconMode); pages_list -> setIconSize(QSize(110, 110)); pages_list -> setMovement(QListView::Static); pages_list -> setMinimumWidth(150); pages_list -> setMaximumWidth(150); pages_list -> setSpacing(4); // pages pages_widget = new QStackedWidget(); addPage(new GeneralConfigurationPage()); addPage(new NewDiagramPage()); addPage(new ExportConfigPage()); addPage(new PrintConfigPage()); buildPagesList(); // boutons buttons = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel); // layouts QHBoxLayout *hlayout1 = new QHBoxLayout(); hlayout1 -> addWidget(pages_list); hlayout1 -> addWidget(pages_widget); QVBoxLayout *vlayout1 = new QVBoxLayout(); vlayout1 -> addLayout(hlayout1); vlayout1 -> addWidget(buttons); setLayout(vlayout1); // connexion signaux / slots connect(buttons, SIGNAL(accepted()), this, SLOT(applyConf())); connect(buttons, SIGNAL(rejected()), this, SLOT(reject())); connect(pages_list, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*))); } /// Destructeur ConfigDialog::~ConfigDialog() { } /** Gere les changements de page dans le dialogue de configuration */ void ConfigDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous) { if (!current) current = previous; pages_widget -> setCurrentIndex(pages_list -> row(current)); } /** Construit la liste des pages sur la gauche */ void ConfigDialog::buildPagesList() { pages_list -> clear(); foreach(ConfigPage *page, pages) { QListWidgetItem *new_button = new QListWidgetItem(pages_list); new_button -> setIcon(page -> icon()); new_button -> setText(page -> title()); new_button -> setTextAlignment(Qt::AlignHCenter); new_button -> setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); } } /** Applique la configuration de toutes les pages */ void ConfigDialog::applyConf() { foreach(ConfigPage *page, pages) { page -> applyConf(); } accept(); } /** Ajoute une page au dialogue de configuration */ void ConfigDialog::addPage(ConfigPage *page) { if (!page || pages.contains(page)) return; pages << page; pages_widget -> addWidget(page); } qelectrotech-0.22+svn897/sources/diagramtextitem.cpp0000644000175000017500000001622311320140732022453 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "diagramtextitem.h" #include "diagramcommands.h" #include "qetapp.h" /** Constructeur @param parent Le QGraphicsItem parent du champ de texte @param scene La scene a laquelle appartient le champ de texte */ DiagramTextItem::DiagramTextItem(QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsTextItem(parent, scene) { setDefaultTextColor(Qt::black); setFont(QETApp::diagramTextsFont()); setFlags(QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemIsMovable); connect(this, SIGNAL(lostFocus()), this, SLOT(setNonFocusable())); } /** Constructeur @param parent Le QGraphicsItem parent du champ de texte @param scene La scene a laquelle appartient le champ de texte @param text Le texte affiche par le champ de texte */ DiagramTextItem::DiagramTextItem(const QString &text, QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsTextItem(text, parent, scene), previous_text(text) { setDefaultTextColor(Qt::black); setFont(QETApp::diagramTextsFont()); setFlags(QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemIsMovable); connect(this, SIGNAL(lostFocus()), this, SLOT(setNonFocusable())); } /// Destructeur DiagramTextItem::~DiagramTextItem() { } /// @return le Diagram auquel ce texte appartient, ou 0 si ce texte est independant Diagram *DiagramTextItem::diagram() const { return(qobject_cast(scene())); } /** gere la perte de focus du champ de texte */ void DiagramTextItem::focusOutEvent(QFocusEvent *e) { QGraphicsTextItem::focusOutEvent(e); // signale la modification du texte si besoin if (toPlainText() != previous_text) { emit(diagramTextChanged(this, previous_text, toPlainText())); previous_text = toPlainText(); } // deselectionne le texte QTextCursor cursor = textCursor(); cursor.clearSelection(); setTextCursor(cursor); if (flags() & QGraphicsItem::ItemIsMovable) { // hack a la con pour etre re-entrant setTextInteractionFlags(Qt::NoTextInteraction); QTimer::singleShot(0, this, SIGNAL(lostFocus())); } } /** Permet de lire le texte a mettre dans le champ a partir d'un element XML. Cette methode se base sur la position du champ pour assigner ou non la valeur a ce champ. @param e L'element XML representant le champ de texte */ void DiagramTextItem::fromXml(const QDomElement &e) { setPos(e.attribute("x").toDouble(), e.attribute("y").toDouble()); setPlainText(e.attribute("text")); previous_text = e.attribute("text"); } /** @param document Le document XML a utiliser @return L'element XML representant ce champ de texte */ QDomElement DiagramTextItem::toXml(QDomDocument &document) const { QDomElement result = document.createElement("input"); result.setAttribute("x", QString("%1").arg(pos().x())); result.setAttribute("y", QString("%1").arg(pos().y())); result.setAttribute("text", toPlainText()); return(result); } /** Gere les double-clics sur ce champ de texte. @param event un QGraphicsSceneMouseEvent decrivant le double-clic */ void DiagramTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) { if (flags() & QGraphicsItem::ItemIsMovable && !(textInteractionFlags() & Qt::TextEditable)) { // rend le champ de texte editable setTextInteractionFlags(Qt::TextEditorInteraction); // simule un clic simple, ce qui edite le champ de texte QGraphicsSceneMouseEvent *mouseEvent = new QGraphicsSceneMouseEvent(QEvent::GraphicsSceneMousePress); mouseEvent -> setAccepted(true); mouseEvent -> setPos(event -> pos()); mouseEvent -> setScenePos(event -> scenePos()); mouseEvent -> setScreenPos(event -> screenPos()); mouseEvent -> setButtonDownPos(Qt::LeftButton, event -> buttonDownPos(Qt::LeftButton)); mouseEvent -> setButtonDownScreenPos(Qt::LeftButton, event -> buttonDownScreenPos(Qt::LeftButton)); mouseEvent -> setButtonDownScenePos(Qt::LeftButton, event -> buttonDownScenePos(Qt::LeftButton)); mouseEvent -> setWidget(event -> widget()); QGraphicsTextItem::mousePressEvent(mouseEvent); delete mouseEvent; } else { QGraphicsTextItem::mouseDoubleClickEvent(event); } } /** Gere le clic sur le champ de texte */ void DiagramTextItem::mousePressEvent(QGraphicsSceneMouseEvent *e) { if (e -> modifiers() & Qt::ControlModifier) { setSelected(!isSelected()); } QGraphicsTextItem::mousePressEvent(e); } /** Gere les mouvements de souris lies au champ de texte */ void DiagramTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *e) { if (textInteractionFlags() & Qt::TextEditable) { QGraphicsTextItem::mouseMoveEvent(e); } else if ((flags() & QGraphicsItem::ItemIsMovable) && (e -> buttons() & Qt::LeftButton)) { QPointF oldPos = pos(); setPos(mapToParent(e -> pos()) - matrix().map(e -> buttonDownPos(Qt::LeftButton))); if (Diagram *diagram_ptr = diagram()) { diagram_ptr -> moveElements(pos() - oldPos, this); } } else e -> ignore(); } /** Gere le relachement de souris Cette methode a ete reimplementee pour tenir a jour la liste des elements et conducteurs a deplacer au niveau du schema. */ void DiagramTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) { if (Diagram *diagram_ptr = diagram()) { if ((flags() & QGraphicsItem::ItemIsMovable) && (!diagram_ptr -> current_movement.isNull())) { diagram_ptr -> undoStack().push( new MoveElementsCommand( diagram_ptr, diagram_ptr -> selectedContent(), diagram_ptr -> current_movement ) ); diagram_ptr -> current_movement = QPointF(); } diagram_ptr -> invalidateMovedElements(); } if (!(e -> modifiers() & Qt::ControlModifier)) { QGraphicsTextItem::mouseReleaseEvent(e); } } /** Change la position du champ de texte en veillant a ce qu'il reste sur la grille du schema auquel il appartient. @param p Nouvelles coordonnees de l'element */ void DiagramTextItem::setPos(const QPointF &p) { if (p == pos()) return; // pas la peine de positionner sur la grille si l'element n'est pas sur un Diagram if (scene()) { // arrondit l'abscisse a 10 px pres int p_x = qRound(p.x() / (Diagram::xGrid * 1.0)) * Diagram::xGrid; // arrondit l'ordonnee a 10 px pres int p_y = qRound(p.y() / (Diagram::yGrid * 1.0)) * Diagram::yGrid; QGraphicsTextItem::setPos(p_x, p_y); } else QGraphicsTextItem::setPos(p); } /** Change la position du champ de texte en veillant a ce que l'il reste sur la grille du schema auquel il appartient. @param x Nouvelle abscisse de l'element @param y Nouvelle ordonnee de l'element */ void DiagramTextItem::setPos(qreal x, qreal y) { setPos(QPointF(x, y)); } /// Rend le champ de texte non focusable void DiagramTextItem::setNonFocusable() { setFlag(QGraphicsTextItem::ItemIsFocusable, false); } qelectrotech-0.22+svn897/sources/qfilenameedit.h0000644000175000017500000000330511320140732021534 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef Q_FILENAME_EDIT_H #define Q_FILENAME_EDIT_H #include #include #include class QETRegExpValidator; /** Cette classe represente un champ de texte dedie a la saisie d'un nom de fichier. Il permet de saisir un nom correspondant a l'expression reguliere ^[0-9a-z_-\.]+$. Cela permet d'eviter les problemes avec des caracteres accentues, en majuscules, sortant de la table ASCII ou non-imprimables, ce qui devrait ameliorer la portabilite des elements crees par l'utilisateur. */ class QFileNameEdit : public QLineEdit { Q_OBJECT // constructeurs, destructeur public: QFileNameEdit(QWidget * = 0); QFileNameEdit(const QString &, QWidget * = 0); virtual ~QFileNameEdit(); private: QFileNameEdit(const QFileNameEdit &); // methodes public: bool isEmpty(); bool isValid(); private: void init(); void displayToolTip(); private slots: void validationFailed(); // attributs private: QRegExp regexp_; QETRegExpValidator *validator_; QString tooltip_text_; }; #endif qelectrotech-0.22+svn897/sources/configdialog.h0000644000175000017500000000310611320140732021351 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CONFIG_DIALOG_H #define CONFIG_DIALOG_H #include #include "configpages.h" class QListWidget; class QListWidgetItem; class QStackedWidget; class QDialogButtonBox; /** Cette classe represente le dialogue de configuration de QElectroTech. Il s'agit d'un dialogue affichant des "pages de configuration". Chaque page de configuration doit fournir une icone et un titre. */ class ConfigDialog : public QDialog { Q_OBJECT // constructeurs, destructeur public: ConfigDialog(QWidget * = 0); virtual ~ConfigDialog(); private: ConfigDialog(const ConfigDialog &); // methodes public slots: void changePage(QListWidgetItem *, QListWidgetItem *); void applyConf(); void addPage(ConfigPage *); private: void buildPagesList(); // attributs private: QListWidget *pages_list; QStackedWidget *pages_widget; QDialogButtonBox *buttons; QList pages; }; #endif qelectrotech-0.22+svn897/sources/elementtextitem.h0000644000175000017500000000472211320140732022146 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENT_TEXT_ITEM_H #define ELEMENT_TEXT_ITEM_H #include "diagramtextitem.h" #include class Diagram; /** Cette classe represente un element de texte editable. Il est possible pour ce champ de texte de rester dans le sens de la lecture malgre les rotations de son element parent. */ class ElementTextItem : public DiagramTextItem { Q_OBJECT // constructeurs, destructeur public: ElementTextItem(QGraphicsItem * = 0, QGraphicsScene * = 0); ElementTextItem(const QString &, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~ElementTextItem(); // attributs public: enum { Type = UserType + 1003 }; private: bool follow_parent_rotations; QPointF original_position; // methodes public: virtual int type() const { return Type; } /// @return le rectangle delimitant le champ de texte virtual QRectF boundingRect() const { return(QGraphicsTextItem::boundingRect().adjusted(0.0, -1.1, 0.0, 0.0)); } bool followParentRotations() const; void setFollowParentRotations(bool); void fromXml(const QDomElement &); QDomElement toXml(QDomDocument &) const; void setPos(const QPointF &); void setPos(qreal, qreal); QPointF pos() const; void setOriginalPos(const QPointF &); QPointF originalPos() const; }; /** Permet de savoir si le champ de texte suit les rotations de son parent. @return true si le champ de texte suit les rotations de son parent, false sinon */ inline bool ElementTextItem::followParentRotations() const { return(follow_parent_rotations); } /** Permet de specifier si le champ de texte suit les rotations de son parent. @param frp true si le champ de texte doit suivre les rotations de son parent, false pour qu'ils ne les suivent pas */ inline void ElementTextItem::setFollowParentRotations(bool frp) { follow_parent_rotations = frp; } #endif qelectrotech-0.22+svn897/sources/xmlelementdefinition.cpp0000644000175000017500000001407611320140732023512 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "xmlelementdefinition.h" #include "xmlelementscategory.h" #include "xmlelementscollection.h" #include "qet.h" #include "qetproject.h" /** Construit une definition d'element vide */ XmlElementDefinition::XmlElementDefinition(const QString &name, XmlElementsCategory *category, XmlElementsCollection *collection) : ElementDefinition(category, collection), parent_category_(category) { name_ = name; QDomElement new_elmt = xml_element_.createElement("element"); new_elmt.setAttribute("name", name_); xml_element_.appendChild(new_elmt); element_definition_ = xml_element_.createElement("definition"); new_elmt.appendChild(element_definition_); } /** Construit une definition d'element a partir de sa representation XML */ XmlElementDefinition::XmlElementDefinition(const QDomElement &xml_element, XmlElementsCategory *category, XmlElementsCollection *collection) : ElementDefinition(category, collection), parent_category_(category) { xml_element_.appendChild(xml_element_.importNode(xml_element, true)); reload(); } /** Destructeur */ XmlElementDefinition::~XmlElementDefinition() { } /** @return la definition XML de l'element */ QDomElement XmlElementDefinition::xml() { return(element_definition_); } /** Change la definition XML de l'element @param xml_element Nouvelle definition XML de l'element @return true si l'operation s'est bien passee, false sinon */ bool XmlElementDefinition::setXml(const QDomElement &xml_element) { // oublie toute la structure XML xml_element_.clear(); // cree la structure XML contenant le nom de l'element QDomElement new_elmt = xml_element_.createElement("element"); new_elmt.setAttribute("name", name_); xml_element_.appendChild(new_elmt); // importe la nouvelle definition XML de l'element element_definition_ = xml_element_.importNode(xml_element, true).toElement(); new_elmt.appendChild(element_definition_); is_null_ = false; return(true); } bool XmlElementDefinition::write() { /* Contrairement a un schema, cet objet ne contient pas deux versions de l'element (element avant edition et element edite) Cette methode ne fait donc rien d'autre qu'emettre le signal written(), le travail ayant deja ete fait par la methode setXml(). */ emit(written()); return(true); } /** @return true si l'element n'est pas exploitable (definition ou nom non trouve) */ bool XmlElementDefinition::isNull() const { return(name_.isEmpty() || is_null_); } /** @return Le nom de cet element dans l'arborescence */ QString XmlElementDefinition::pathName() const { return(name_); } /** @return le chemin virtuel de cet element */ QString XmlElementDefinition::virtualPath() { // il n'est pas possible d'avoir un chemin virtuel sans appartenir a une collection if (!hasParentCollection() || name_.isEmpty()) return(QString()); if (parent_category_) { QString tmp(parent_category_ -> virtualPath()); if (!tmp.isEmpty()) tmp += "/"; return(tmp + name_); } else { return(name_); } } /** Recharge le contenu de l'element */ void XmlElementDefinition::reload() { is_null_ = true; // on recupere le nom de l'element QDomElement doc_elmt = xml_element_.documentElement(); name_ = doc_elmt.attribute("name"); if (name_.isEmpty()) return; // on recupere la definition de l'element for (QDomNode node = doc_elmt.firstChild() ; !node.isNull() ; node = node.nextSibling()) { if (!node.isElement()) continue; QDomElement current_element = node.toElement(); if (current_element.tagName() == "definition" && current_element.attribute("type") == "element") { element_definition_ = current_element; break; } } // l'element est nul si aucune definition n'a ete trouvee is_null_ = (element_definition_.isNull()); } /** @return true si l'element existe, false sinon */ bool XmlElementDefinition::exists() { // la seule raison qu'un element aurait de ne pas exister est l'absence // de nom return(!name_.isEmpty()); } /** @return true si la categorie est accessible en lecture, false sinon */ bool XmlElementDefinition::isReadable() { // une categorie XML n'a aucune raison de ne pas etre accessible en lecture return(true); } /** @return true si la categorie est accessible en ecriture, false sinon */ bool XmlElementDefinition::isWritable() { // une categorie XML peut etre en lecture seule si le projet auquel elle // appartient l'est if (QETProject *parent_project = project()) { return(!parent_project -> isReadOnly()); } else { return(true); } } /** Supprime l'element @return true si l'operation s'est bien passee, false sinon */ bool XmlElementDefinition::remove() { removeContent(); emit(removed(name_)); return(true); } /** @return toujours false, car un element XML n'a pas de chemin de type fichier */ bool XmlElementDefinition::hasFilePath() { // une categorie XML n'a pas de chemin de type fichier return(false); } /** @return une chaine vide, car un element XML n'a pas de chemin de type fichier */ QString XmlElementDefinition::filePath() { // une categorie XML n'a pas de chemin de type fichier return(QString()); } /** Ne fait rien, car un element XML n'a pas de chemin de type fichier */ void XmlElementDefinition::setFilePath(const QString &) { // une categorie XML n'a pas de chemin de type fichier } QDomElement XmlElementDefinition::writeXml(QDomDocument &xml_doc) const { QDomElement element_elmt = xml_element_.documentElement(); QDomNode new_node = xml_doc.importNode(element_elmt, true); return(new_node.toElement()); } qelectrotech-0.22+svn897/sources/orientationset.cpp0000644000175000017500000002051111320140732022325 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "orientationset.h" /** Constructeur Par defaut, toutes les orientations sont autorisees. L'orientation courante vaut l'orientation par defaut, c'est-a-dire Nord. */ OrientationSet::OrientationSet() : north_ori(true), east_ori(true), south_ori(true), west_ori(true), default_ori(QET::North), current_ori(QET::North) {} /** @param ori true pour autoriser l'orientation vers le Nord, false pour l'interdire @return true si le changement d'autorisation a reussi, false sinon */ bool OrientationSet::setNorth (bool ori) { // pour desactiver une orientation, il doit y avoir au moins une autre orientation possible bool can_set_ori = ori ? true : east_ori || south_ori || west_ori; if (can_set_ori) { north_ori = ori; // en cas de desactivation d'une orientation, il faut verifier voire corriger les orientations courante et par defaut if (!ori) { if (default_ori == QET::North) default_ori = next(); if (current_ori == QET::North) current_ori = next(); } } return(can_set_ori); } /** @param ori true pour autoriser l'orientation vers l'Est, false pour l'interdire @return true si le changement d'autorisation a reussi, false sinon */ bool OrientationSet::setEast (bool ori) { // pour desactiver une orientation, il doit y avoir au moins une autre orientation possible bool can_set_ori = ori ? true : south_ori || west_ori || north_ori; if (can_set_ori) { east_ori = ori; // en cas de desactivation d'une orientation, il faut verifier voire corriger les orientations courante et par defaut if (!ori) { if (default_ori == QET::East) default_ori = next(); if (current_ori == QET::East) current_ori = next(); } } return(can_set_ori); } /** @param ori true pour autoriser l'orientation vers le Sud, false pour l'interdire @return true si le changement d'autorisation a reussi, false sinon */ bool OrientationSet::setSouth (bool ori) { // pour desactiver une orientation, il doit y avoir au moins une autre orientation possible bool can_set_ori = ori ? true : west_ori || north_ori || east_ori; if (can_set_ori) { south_ori = ori; // en cas de desactivation d'une orientation, il faut verifier voire corriger les orientations courante et par defaut if (!ori) { if (default_ori == QET::South) default_ori = next(); if (current_ori == QET::South) current_ori = next(); } } return(can_set_ori); } /** @param ori true pour autoriser l'orientation vers l'Ouest, false pour l'interdire @return true si le changement d'autorisation a reussi, false sinon */ bool OrientationSet::setWest (bool ori) { // pour desactiver une orientation, il doit y avoir au moins une autre orientation possible bool can_set_ori = ori ? true : north_ori || east_ori || south_ori; if (can_set_ori) { west_ori = ori; // en cas de desactivation d'une orientation, il faut verifier voire corriger les orientations courante et par defaut if (!ori) { if (default_ori == QET::West) default_ori = next(); if (current_ori == QET::West) current_ori = next(); } } return(can_set_ori); } /** Definit l'orientation courante @param ori nouvelle orientation courante @return true si le changement d'orientation a reussi, false sinon */ bool OrientationSet::setCurrent(QET::Orientation ori) { bool can_set_ori = accept(ori); if (can_set_ori) current_ori = ori; return(can_set_ori); } /** @return l'orientation suivant l'orientation courante */ QET::Orientation OrientationSet::next() const { QET::Orientation result = current_ori; do result = QET::nextOrientation(result); while (!accept(result)); return(result); } /** @return l'orientation precedant l'orientation courante */ QET::Orientation OrientationSet::previous() const { QET::Orientation result = current_ori; do result = QET::previousOrientation(result); while (!accept(result)); return(result); } /** Equivaut a setNext() @return l'OrientationSet precedent */ const OrientationSet OrientationSet::operator++(int) { OrientationSet before(*this); setNext(); return(before); } /** Equivaut a setPrevious() @return l'OrientationSet precedent */ const OrientationSet OrientationSet::operator--(int) { OrientationSet before(*this); setPrevious(); return(before); } /** Permet de savoir si une orientation donnee peut etre utilisee. @param ori L'orientation en question @return true si l'orientation est utilisable, false sinon */ bool OrientationSet::accept(QET::Orientation ori) const { bool accepted_ori = false; switch(ori) { case QET::North: accepted_ori = north_ori; break; case QET::East : accepted_ori = east_ori; break; case QET::South: accepted_ori = south_ori; break; case QET::West : accepted_ori = west_ori; break; } return(accepted_ori); } /** Definit l'orientation suivante comme etant l'orientation courante @return la nouvelle orientation courante */ QET::Orientation OrientationSet::setNext() { setCurrent(next()); return(current_ori); } /** Definit l'orientation precedente comme etant l'orientation courante @return la nouvelle orientation courante */ QET::Orientation OrientationSet::setPrevious() { setCurrent(previous()); return(current_ori); } /** Equivaut a setNext() @return l'OrientationSet courant */ const OrientationSet OrientationSet::operator++() { setNext(); return(*this); } /** Equivaut a setPrevious() @return l'OrientationSet courant */ const OrientationSet OrientationSet::operator--() { setPrevious(); return(*this); } /** @param os autre OrientationSet @return true si os et cet OrientationSet sont identiques, false sinon */ bool OrientationSet::operator==(const OrientationSet &os) const { if (north_ori != os.north_ori) return(false); if (east_ori != os.east_ori) return(false); if (south_ori != os.south_ori) return(false); if (west_ori != os.west_ori) return(false); if (default_ori != os.default_ori) return(false); if (current_ori != os.current_ori) return(false); return(true); } /** @param os autre OrientationSet @return false si os et cet OrientationSet sont identiques, true sinon */ bool OrientationSet::operator!=(const OrientationSet &os) const { return(!(this -> operator==(os))); } /** Charge l'orientationSet depuis une chaine de caractere. Cette chaine doit faire 4 caracteres, representant respectivement le Nord, l'Est, le Sud et l'Ouest. Le caractere y indique que l'orientation est autorisee, le caractere n indique que l'orientation est interdite et le caractere d designe l'orientation par defaut. L'orientation courante est celle par defaut. @param str Chaine de caracteres a analyser et charger @return true si l'analyse a reussie, false sinon */ bool OrientationSet::fromString(const QString &str) { QRegExp osv("^([dyn])([dyn])([dyn])([dyn])$"); // osv : Orientation String Validator if (osv.indexIn(str) == -1) return(false); QStringList matches = osv.capturedTexts(); // il doit y avoir exactement UN d dans les 4 lettres capturees if (matches.count("d") != 1) return(false); bool *ori_pointers[4] = { &north_ori, &east_ori, &south_ori, &west_ori }; QET::Orientation ori_ints[4] = { QET::North, QET::East, QET::South, QET::West }; for(int i = 0 ; i < 4 ; ++ i) { QString current = matches.at(i + 1); if (current == "d") { current_ori = default_ori = ori_ints[i]; current = "y"; } *(ori_pointers[i]) = (current == "y"); } return(true); } /** @return Une chaine de caracteres representant cet OrientationSet. @see fromString */ QString OrientationSet::toString() const { bool ori_pointers[4] = { north_ori, east_ori, south_ori, west_ori }; QET::Orientation ori_ints[4] = { QET::North, QET::East, QET::South, QET::West }; QString result(""); for(int i = 0 ; i < 4 ; ++ i) { if (default_ori == ori_ints[i]) result += "d"; else result += (ori_pointers[i] ? "y" : "n"); } return(result); } qelectrotech-0.22+svn897/sources/recentfiles.cpp0000644000175000017500000001105011320140732021557 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "recentfiles.h" #include "qetapp.h" #include "qeticons.h" /** Constructeur @param identifier prefixe a utiliser pour recuperer les fichiers recents dans la configuration de l'application @param size Nombre de fichiers recents a retenir @param parent QObject parent */ RecentFiles::RecentFiles(const QString &identifier, int size, QObject *parent) : QObject(parent), identifier_(identifier.isEmpty() ? "unnamed" : identifier), size_(size > 0 ? size : 10), menu_(0) { mapper_ = new QSignalMapper(this); connect(mapper_, SIGNAL(mapped(const QString &)), this, SLOT(handleMenuRequest(const QString &))); extractFilesFromSettings(); buildMenu(); } /** Destructeur @todo determiner s'il faut detruire ou non le menu */ RecentFiles::~RecentFiles() { delete menu_; } /** @return le nombre de fichiers a retenir */ int RecentFiles::size() const { return(size_); } /** @return un menu listant les derniers fichiers ouverts */ QMenu *RecentFiles::menu() const { return(menu_); } /** @return l'icone affichee a cote de chaque fichier, ou une QIcon nulle si aucune icone n'est utilisee. */ QIcon RecentFiles::iconForFiles() const { return(files_icon_); } /** Definit l'icone a afficher a cote de chaque fichier. Si une QIcon nulle est fournie, aucune icone n'est utilisee. @param icon Icone a afficher a cote de chaque fichier */ void RecentFiles::setIconForFiles(const QIcon &icon) { files_icon_ = icon; buildMenu(); } /** Oublie les fichiers recents */ void RecentFiles::clear() { list_.clear(); buildMenu(); } /** Sauvegarde les fichiers recents dans la configuration */ void RecentFiles::save() { saveFilesToSettings(); } /** Gere les actions sur le menu */ void RecentFiles::handleMenuRequest(const QString &filepath) { emit(fileOpeningRequested(filepath)); } /** Gere le fait qu'un fichier ait ete ouvert @param filepath Chemin du fichier ouvert */ void RecentFiles::fileWasOpened(const QString &filepath) { insertFile(filepath); buildMenu(); } /** Lit la liste des fichiers recents dans la configuration */ void RecentFiles::extractFilesFromSettings() { // oublie la liste des fichiers recents list_.clear(); // recupere les derniers fichiers ouverts dans la configuration for (int i = size_ ; i >= 1 ; -- i) { QString key(identifier_ + "-recentfiles/file" + QString::number(i)); QString value(QETApp::settings().value(key, QString()).toString()); insertFile(value); } } /** Insere un fichier dans la liste des fichiers recents */ void RecentFiles::insertFile(const QString &filepath) { // s'assure que le chemin soit exprime avec des separateurs conformes au systeme QString filepath_ns = QDir::toNativeSeparators(filepath); // evite d'inserer un chemin de fichier vide ou en double if (filepath_ns.isEmpty()) return; list_.removeAll(filepath_ns); // insere le chemin de fichier list_.push_front(filepath_ns); // s'assure que l'on ne retient pas plus de fichiers que necessaire while (list_.count() > size_) list_.removeLast(); } /** Ecrit la liste des fichiers recents dans la configuration */ void RecentFiles::saveFilesToSettings() { for (int i = 0 ; i < size_ && i < list_.count() ; ++ i) { QString key(identifier_ + "-recentfiles/file" + QString::number(i + 1)); QETApp::settings().setValue(key, list_[i]); } } /** Construit le menu */ void RecentFiles::buildMenu() { // reinitialise le menu if (!menu_) { menu_ = new QMenu(tr("&R\351cemment ouvert(s)")); menu_ -> setIcon(QET::Icons::DocumentOpenRecent); } else { menu_ -> clear(); } // remplit le menu foreach (QString filepath, list_) { // creee une nouvelle action pour le fichier QAction *action = new QAction(filepath, 0); if (!files_icon_.isNull()) { action -> setIcon(files_icon_); } menu_ -> addAction(action); // lie l'action et le mapper mapper_ -> setMapping(action, filepath); connect(action, SIGNAL(triggered()), mapper_, SLOT(map())); } } qelectrotech-0.22+svn897/sources/projectview.h0000644000175000017500000000570111342310704021272 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PROJECT_VIEW_H #define PROJECT_VIEW_H #include class QETProject; class DiagramView; class Diagram; class ElementsLocation; class QETTabWidget; /** Cette classe affiche les schemas d'un projet dans des onglets. */ class ProjectView : public QWidget { Q_OBJECT // constructeurs, destructeur public: ProjectView(QETProject *, QWidget * = 0); virtual ~ProjectView(); private: ProjectView(const ProjectView &); // methodes public: QETProject *project(); void setProject(QETProject *); QList diagrams() const; DiagramView *currentDiagram() const; void closeEvent(QCloseEvent *); public slots: void addNewDiagram(); void addDiagram(DiagramView *); void removeDiagram(DiagramView *); void removeDiagram(Diagram *); void showDiagram(DiagramView *); void showDiagram(Diagram *); void editProjectProperties(); void editCurrentDiagramProperties(); void editDiagramProperties(DiagramView *); void editDiagramProperties(Diagram *); void moveDiagramUp(DiagramView *); void moveDiagramUp(Diagram *); void moveDiagramDown(DiagramView *); void moveDiagramDown(Diagram *); void printProject(); void exportProject(); bool save(); bool saveAs(); bool saveAll(); int cleanProject(); void updateWindowTitle(); void updateTabTitle(DiagramView *, const QString &); void tabMoved(int, int); signals: void diagramAdded(DiagramView *); void diagramAboutToBeRemoved(DiagramView *); void diagramRemoved(DiagramView *); void diagramActivated(DiagramView *); void diagramOrderChanged(ProjectView *, int, int); void projectClosed(ProjectView *); // Pour relayer les signaux void findElementRequired(const ElementsLocation &); void editElementRequired(const ElementsLocation &); private: void loadDiagrams(); DiagramView *findDiagram(Diagram *); void rebuildDiagramsMap(); bool tryClosing(); bool tryClosingElementEditors(); bool tryClosingDiagrams(); private slots: void tabChanged(int); void tabDoubleClicked(int); void firstTabInserted(); void lastTabRemoved(); void setDisplayFallbackWidget(bool); void adjustReadOnlyState(); // attributs private: QETProject *project_; QVBoxLayout *layout_; QWidget *fallback_widget_; QETTabWidget *tabs_; QMap diagram_ids_; QList diagrams_; }; #endif qelectrotech-0.22+svn897/sources/elementspanel.h0000644000175000017500000001140411320140732021560 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef PANELAPPAREILS_H #define PANELAPPAREILS_H #include #include "elementslocation.h" class QETProject; class Diagram; class ElementsCollection; class ElementsCollectionItem; class ElementsCategory; class ElementDefinition; /** Cette classe represente le panel d'appareils (en tant qu'element graphique) dans lequel l'utilisateur choisit les composants de son choix et les depose sur le schema par drag'n drop. */ class ElementsPanel : public QTreeWidget { Q_OBJECT // constructeurs, destructeur public: ElementsPanel(QWidget * = 0); virtual ~ElementsPanel(); private: ElementsPanel(const ElementsPanel &); // methodes public: // methodes pour determiner ce que represente un item donne bool itemIsACollection(QTreeWidgetItem *) const; bool itemIsACategory(QTreeWidgetItem *) const; bool itemIsAnElement(QTreeWidgetItem *) const; bool itemIsAProject(QTreeWidgetItem *) const; bool itemIsADiagram(QTreeWidgetItem *) const; bool itemHasLocation(QTreeWidgetItem *) const; bool itemIsWritable(QTreeWidgetItem *) const; // methodes pour obtenir ce que represente un item donne ElementsCollectionItem *collectionItemForItem(QTreeWidgetItem *) const; QETProject *projectForItem(QTreeWidgetItem *) const; Diagram *diagramForItem(QTreeWidgetItem *) const; ElementsLocation locationForItem(QTreeWidgetItem *) const; ElementsCategory *categoryForItem(QTreeWidgetItem *); ElementsCategory *categoryForPos(const QPoint &); // methodes pour determiner ce que represente l'item selectionne bool selectedItemIsACollection() const; bool selectedItemIsACategory() const; bool selectedItemIsAnElement() const; bool selectedItemIsAProject() const; bool selectedItemIsADiagram() const; bool selectedItemHasLocation() const; bool selectedItemIsWritable() const; // methodes pour obtenir ce que represente l'item selectionne ElementsCollectionItem *selectedItem() const; QETProject *selectedProject() const; Diagram *selectedDiagram() const; ElementsLocation selectedLocation() const; signals: void requestForProject(QETProject *); void requestForDiagram(Diagram *); void requestForCollectionItem(ElementsCollectionItem *); void requestForMoveElements(ElementsCollectionItem *, ElementsCollectionItem *, QPoint); public slots: void slot_doubleClick(QTreeWidgetItem *, int); void reload(bool = true); void filter(const QString &); void projectWasOpened(QETProject *); void projectWasClosed(QETProject *); void projectInformationsChanged(QETProject *); void diagramWasAdded(QETProject *, Diagram *); void diagramWasRemoved(QETProject *, Diagram *); void diagramTitleChanged(QETProject *, Diagram *); void diagramOrderChanged(QETProject *, int, int); bool scrollToElement(const ElementsLocation &); protected: void dragEnterEvent(QDragEnterEvent *); void dragMoveEvent(QDragMoveEvent *); void dropEvent(QDropEvent *); void startDrag(Qt::DropActions); private: QTreeWidgetItem *addProject (QTreeWidgetItem *, QETProject *); QTreeWidgetItem *addDiagram (QTreeWidgetItem *, Diagram *); QTreeWidgetItem *addCollection(QTreeWidgetItem *, ElementsCollection *, const QString & = QString(), const QIcon & = QIcon()); QTreeWidgetItem *addCategory (QTreeWidgetItem *, ElementsCategory *, const QString & = QString(), const QIcon & = QIcon()); QTreeWidgetItem *addElement (QTreeWidgetItem *, ElementDefinition *, const QString & = QString()); void saveExpandedCategories(); QTreeWidgetItem *findLocation(const ElementsLocation &) const; QTreeWidgetItem *findLocation(const QString &) const; void deleteItem(QTreeWidgetItem *); void updateProjectItemInformations(QETProject *); QString diagramTitleToDisplay(Diagram *) const; void ensureHierarchyIsVisible(QList); // attributs private: QStringList expanded_directories; QString last_selected_item; QHash locations_; QSet projects_to_display_; QHash projects_; QHash diagrams_; QTreeWidgetItem *common_collection_item_; QTreeWidgetItem *custom_collection_item_; }; #endif qelectrotech-0.22+svn897/sources/qettabbar.cpp0000644000175000017500000002213611342306445021241 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qettabbar.h" #include /** Constructeur @param parent QWidget parent */ QETTabBar::QETTabBar(QWidget *parent) : QTabBar(parent), no_more_tabs_(true), movable_tabs_(false), moved_tab_(-1) { } /** Destructeur */ QETTabBar::~QETTabBar() { } /** Active l'onglet suivant si possible */ void QETTabBar::activateNextTab() { int count_ = count(); if (count_ < 2) return; int current_index = currentIndex(); if (current_index == count_ - 1) { setCurrentIndex(0); } else { setCurrentIndex(current_index + 1); } } /** Active l'onglet precedent si possible */ void QETTabBar::activatePreviousTab() { int count_ = count(); if (count_ < 2) return; int current_index = currentIndex(); if (!current_index) { setCurrentIndex(count_ - 1); } else { setCurrentIndex(current_index - 1); } } /** @param movable true pour que les onglets soient deplacables, false sinon */ void QETTabBar::setMovable(bool movable) { #if QT_VERSION < 0x040500 movable_tabs_ = movable; #else QTabBar::setMovable(movable); #endif } /** @return true si les onglets sont deplacables, false sinon */ bool QETTabBar::isMovable() const { #if QT_VERSION < 0x040500 return(movable_tabs_); #else return(QTabBar::isMovable()); #endif } /** @return true si les onglets sont dessines de maniere verticale */ bool QETTabBar::isVertical() const { int current_shape = shape(); return( current_shape == QTabBar::RoundedEast || current_shape == QTabBar::RoundedWest || current_shape == QTabBar::TriangularEast || current_shape == QTabBar::TriangularWest ); } /** @return true si les onglets sont dessines de maniere horizontale */ bool QETTabBar::isHorizontal() const { int current_shape = shape(); return( current_shape == QTabBar::RoundedNorth || current_shape == QTabBar::RoundedSouth || current_shape == QTabBar::TriangularNorth || current_shape == QTabBar::TriangularSouth ); } /** Gere l'insertion d'un onglet @param index indice de l'onglet insere */ void QETTabBar::tabInserted(int index) { QTabBar::tabInserted(index); if (no_more_tabs_) { emit(firstTabInserted()); } no_more_tabs_ = false; } /** Gere le retrait d'un onglet @param index indice de l'onglet enleve */ void QETTabBar::tabRemoved(int index) { QTabBar::tabRemoved(index); if (!count()) { emit(lastTabRemoved()); no_more_tabs_ = true; } } /** Gere les evenements rollette sur cette barre d'onglets @param event Evenement rollette */ void QETTabBar::wheelEvent(QWheelEvent *event) { int num_degrees = event -> delta() / 8; int num_steps = qAbs(num_degrees / 15); if (num_degrees <= 0) { // passe a l'onglet suivant for (int i = 0 ; i < num_steps ; ++ i) activateNextTab(); } else { // passe a l'onglet precedent for (int i = 0 ; i < num_steps ; ++ i) activatePreviousTab(); } event -> accept(); } /** @param event Objet decrivant l'evenement souris */ void QETTabBar::mousePressEvent(QMouseEvent *event) { QTabBar::mousePressEvent(event); if (movable_tabs_) { if (event -> button() == Qt::LeftButton) { // retient l'onglet deplace et la position a laquelle le mouvement debute moved_tab_ = tabForPressedPosition(event -> pos()); press_point_ = event -> pos(); } } } /** @param event Objet decrivant l'evenement souris */ void QETTabBar::mouseMoveEvent(QMouseEvent *event) { QTabBar::mouseMoveEvent(event); // gere le deplacement d'onglets si celui-ci est active if (movable_tabs_ && moved_tab_ != -1) { // repere l'onglet de "destination" int dest_tab = tabForMovedPosition(event -> pos()); // verifie s'il faut deplacer l'onglet puis le deplace if (mustMoveTab(moved_tab_, dest_tab, event -> pos())) { moveTab(moved_tab_, dest_tab); moved_tab_ = dest_tab; event -> accept(); } } } /** @param event Objet decrivant l'evenement souris */ void QETTabBar::mouseReleaseEvent(QMouseEvent *event) { QTabBar::mouseReleaseEvent(event); moved_tab_ = -1; } /** @param event Objet decrivant l'evenement souris */ void QETTabBar::mouseDoubleClickEvent(QMouseEvent *event) { QTabBar::mouseDoubleClickEvent(event); int clicked_tab = tabForPressedPosition(event -> pos()); emit(tabDoubleClicked(clicked_tab)); } /** @param src_tab Index de l'onglet de depart @param dst_tab Index de l'onglet de destination @param pos Position de la souris dans le cadre du deplacement de l'onglet @return true s'il faut deplacer l'onglet src_tab a la place de l'onglet dst_tab. Cette methode */ bool QETTabBar::mustMoveTab(int src_tab, int dst_tab, const QPoint &pos) const { // les onglets sources et cibles doivent etre valides et differents if (src_tab == -1 || dst_tab == -1) return(false); if (src_tab == dst_tab) return(false); /* A ce stade, le deplacement est possible mais selon la position du pointeur de la souris, on peut assister a des deplacements prematures d'onglets, rendant l'interface plus difficilement utilisable. On s'assure donc que le curseur est assez "loin" pour eviter ces problemes. */ // recupere les rectangles representant les onglets QRect source_rect = tabRect(src_tab); QRect target_rect = tabRect(dst_tab); if (isHorizontal()) { if (layoutDirection() == Qt::LeftToRight && source_rect.x() < target_rect.x()) { source_rect.moveRight(target_rect.right()); } else { source_rect.moveLeft(target_rect.left()); } } else { if (source_rect.y() < target_rect.y()) { source_rect.moveBottom(target_rect.bottom()); } else { source_rect.moveTop(target_rect.top()); } } return(posMatchesTabRect(source_rect, pos)); } /** Deplace un onglet. @param src_tab Index de l'onglet de depart @param dst_tab Index de l'onglet de destination */ void QETTabBar::moveTab(int src_tab, int dst_tab) { #if QT_VERSION < 0x040500 // sauvegarde les caracteristiques de l'onglet deplace QIcon old_tab_icon = tabIcon(src_tab); QVariant old_tab_data = tabData(src_tab); QString old_tab_text = tabText(src_tab); QColor old_tab_textcolor = tabTextColor(src_tab); QString old_tab_tooltip = tabToolTip(src_tab); QString old_tab_whatsthis = tabWhatsThis(src_tab); // si la QETTabBar est utilise dans un QTabWidget (ou une classe en // derivant), elle lui delegue le deplacement de l'onglet if (QTabWidget *qtabwidget = qobject_cast(parent())) { QWidget *old_tab_widget = qtabwidget -> widget(src_tab); qtabwidget -> removeTab(src_tab); qtabwidget -> insertTab(dst_tab, old_tab_widget, old_tab_text); qtabwidget -> setCurrentIndex(dst_tab); } else { removeTab(src_tab); insertTab(dst_tab, old_tab_text); setCurrentIndex(dst_tab); } // remet en place les caracteristiques de l'onglet deplace setTabIcon (dst_tab, old_tab_icon ); setTabData (dst_tab, old_tab_data ); setTabTextColor(dst_tab, old_tab_textcolor); setTabToolTip (dst_tab, old_tab_tooltip ); setTabWhatsThis(dst_tab, old_tab_whatsthis); // signale le deplacement de l'onglet emit(tabMoved(src_tab, dst_tab)); #else QTabBar::moveTab(src_tab, dst_tab); #endif } /** @param pos Position @return l'index de l'onglet correspondant a la position pos, ou -1 si aucun onglet ne correspond. */ int QETTabBar::tabForPressedPosition(const QPoint &pos) { for (int tab_index = 0 ; tab_index < count() ; ++ tab_index) { if (tabRect(tab_index).contains(pos)) return(tab_index); } return(-1); } /** @param pos Position @return l'index de l'onglet correspondant a la position pos lors d'un deplacement d'onglet, ou -1 si aucun onglet ne correspond. Cette methode ne prend en compte que l'abscisse ou que l'ordonnee de la position en fonction de l'orientation des onglets. */ int QETTabBar::tabForMovedPosition(const QPoint &pos) { for (int tab_index = 0 ; tab_index < count() ; ++ tab_index) { if (posMatchesTabRect(tabRect(tab_index), pos)) return(tab_index); } return(-1); } /** @param rect Un rectangle cense representer un onglet @param pos Une position @return true si la position pos correspond a ce rectangle. Cette methode ne prend en compte que l'abscisse ou que l'ordonnee de la position en fonction de l'orientation des onglets. */ bool QETTabBar::posMatchesTabRect(const QRect &rect, const QPoint &pos) const { if (isVertical()) { // les onglets sont disposes de maniere verticale : on prend en compte l'ordonnee if (pos.y() >= rect.y() && pos.y() < rect.y() + rect.height()) return(true); } else { // les onglets sont disposes de maniere horizontale : on prend en compte l'abscisse if (pos.x() >= rect.x() && pos.x() < rect.x() + rect.width()) return(true); } return(false); } qelectrotech-0.22+svn897/sources/qfilenameedit.cpp0000644000175000017500000000467111320140732022076 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qfilenameedit.h" #include "qetregexpvalidator.h" #include #include #include /** Constructeur @param parent QWidget parent de ce champ de texte */ QFileNameEdit::QFileNameEdit(QWidget *parent) : QLineEdit(parent) { init(); } /** Constructeur @param contents Contenu initial du champ @param parent QWidget parent de ce champ de texte */ QFileNameEdit::QFileNameEdit(const QString &contents, QWidget *parent) : QLineEdit(parent) { init(); if (!contents.isEmpty() && regexp_.exactMatch(contents)) { setText(contents); } } /** Destructeur */ QFileNameEdit::~QFileNameEdit() { } /** @return true si le champ de texte est vide, false sinon */ bool QFileNameEdit::isEmpty() { return(text().isEmpty()); } /** @return true si le champ de texte n'est pas vide et est valide */ bool QFileNameEdit::isValid() { return(regexp_.exactMatch(text())); } /** Construit l'objet */ void QFileNameEdit::init() { regexp_ = QRegExp("^[0-9a-z_\\-\\.]+$", Qt::CaseSensitive); validator_ = new QETRegExpValidator(regexp_, this); setValidator(validator_); tooltip_text_ = QString( tr( "Les caract\350res autoris\351s sont : \n" " - les chiffres [0-9]\n" " - les minuscules [a-z]\n" " - le tiret [-], l'underscore [_] et le point [.]\n", "tooltip content when editing a filename" ) ); connect(validator_, SIGNAL(validationFailed()), this, SLOT(validationFailed())); } /** Affiche l'info-bulle informant l'utilisateur des caracteres autorises. */ void QFileNameEdit::displayToolTip() { QToolTip::showText( mapToGlobal(QPoint(x() + width(), 0)), tooltip_text_, this, QRect() ); } /** Gere le fait que la validation du champ de texte ait echoue. */ void QFileNameEdit::validationFailed() { displayToolTip(); } qelectrotech-0.22+svn897/sources/element.cpp0000644000175000017500000003526011320140732020716 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "element.h" #include "qetapp.h" #include "diagram.h" #include "conductor.h" #include "elementtextitem.h" #include "diagramcommands.h" #include /** Constructeur pour un element sans scene ni parent */ Element::Element(QGraphicsItem *parent, Diagram *scene) : QObject(), QGraphicsItem(parent, scene), internal_connections(false) { setZValue(10); } /** Destructeur */ Element::~Element() { } /** Methode principale de dessin de l'element @param painter Le QPainter utilise pour dessiner l'elment @param options Les options de style a prendre en compte @param widget Le widget sur lequel on dessine */ void Element::paint(QPainter *painter, const QStyleOptionGraphicsItem *options, QWidget *widget) { #ifndef Q_WS_WIN // corrige un bug de rendu ne se produisant que lors du rendu sur QGraphicsScene sous X11 au zoom par defaut static bool must_correct_rendering_bug = QETApp::settings().value("correct-rendering", false).toBool(); if (must_correct_rendering_bug) { Diagram *dia = diagram(); if (dia && options -> levelOfDetail == 1.0 && widget) { // calcule la rotation qu'a subi l'element qreal applied_rotation = 90.0 * (ori.current() - ori.defaultOrientation()); while (applied_rotation < 360.0) applied_rotation += 360.0; while (applied_rotation > 360.0) applied_rotation -= 360.0; if (applied_rotation == 90.0) painter -> translate(1.0, -1.0); else if (applied_rotation == 180.0) painter -> translate(-1.0, -1.0); else if (applied_rotation == 270.0) painter -> translate(-1.0, 1.0); } } #endif // Dessin de l'element lui-meme paint(painter, options); // Dessin du cadre de selection si necessaire if (isSelected()) drawSelection(painter, options); } /** @return Le rectangle delimitant le contour de l'element */ QRectF Element::boundingRect() const { return(QRectF(QPointF(-hotspot_coord.x(), -hotspot_coord.y()), dimensions)); } /** Definit la taille de l'element sur le schema. Les tailles doivent etre des multiples de 10 ; si ce n'est pas le cas, les dimensions indiquees seront arrrondies aux dizaines superieures. @param wid Largeur de l'element @param hei Hauteur de l'element @return La taille finale de l'element */ QSize Element::setSize(int wid, int hei) { prepareGeometryChange(); // chaque dimension indiquee est arrondie a la dizaine superieure while (wid % 10) ++ wid; while (hei % 10) ++ hei; // les dimensions finales sont conservees et retournees return(dimensions = QSize(wid, hei)); } /** @return la taille de l'element sur le schema */ QSize Element::size() const { return(dimensions); } /** Definit le hotspot de l'element par rapport au coin superieur gauche de son rectangle delimitant. Necessite que la taille ait deja ete definie @param hs Coordonnees du hotspot */ QPoint Element::setHotspot(QPoint hs) { // la taille doit avoir ete definie prepareGeometryChange(); if (dimensions.isNull()) hotspot_coord = QPoint(0, 0); else { // les coordonnees indiquees ne doivent pas depasser les dimensions de l'element int hsx = qMin(hs.x(), dimensions.width()); int hsy = qMin(hs.y(), dimensions.height()); hotspot_coord = QPoint(hsx, hsy); } return(hotspot_coord); } /** @return Le hotspot courant de l'element */ QPoint Element::hotspot() const { return(hotspot_coord); } /** Selectionne l'element */ void Element::select() { setSelected(true); } /** Deselectionne l'element */ void Element::deselect() { setSelected(false); } /** @return La pixmap de l'element */ QPixmap Element::pixmap() { if (preview.isNull()) updatePixmap(); // on genere la pixmap si ce n'est deja fait return(preview); } /** Permet de specifier l'orientation de l'element @param o la nouvelle orientation de l'objet @return true si l'orientation a pu etre appliquee, false sinon */ bool Element::setOrientation(QET::Orientation o) { // verifie que l'orientation demandee est acceptee if (!ori.accept(o)) return(false); prepareGeometryChange(); // rotation en consequence et rafraichissement de l'element graphique qreal rotation_value = 90.0 * (o - ori.current()); rotate(rotation_value); ori.setCurrent(o); update(); foreach(QGraphicsItem *qgi, childItems()) { if (Terminal *p = qgraphicsitem_cast(qgi)) p -> updateConductor(); else if (ElementTextItem *eti = qgraphicsitem_cast(qgi)) { // applique une rotation contraire si besoin if (!eti -> followParentRotations()) { QMatrix new_matrix = eti -> matrix(); qreal dx = eti -> boundingRect().width() / 2.0; qreal dy = eti -> boundingRect().height() / 2.0; new_matrix.translate(dx, dy); new_matrix.rotate(-rotation_value); new_matrix.translate(-dx, -dy); eti -> setMatrix(new_matrix); } } } return(true); } /*** Methodes protegees ***/ /** Dessine un petit repere (axes x et y) relatif a l'element @param painter Le QPainter a utiliser pour dessiner les axes @param options Les options de style a prendre en compte */ void Element::drawAxes(QPainter *painter, const QStyleOptionGraphicsItem *options) { Q_UNUSED(options); painter -> setPen(Qt::blue); painter -> drawLine(0, 0, 10, 0); painter -> drawLine(7,-3, 10, 0); painter -> drawLine(7, 3, 10, 0); painter -> setPen(Qt::red); painter -> drawLine(0, 0, 0, 10); painter -> drawLine(0, 10,-3, 7); painter -> drawLine(0, 10, 3, 7); } /*** Methodes privees ***/ /** Dessine le cadre de selection de l'element de maniere systematiquement non antialiasee. @param painter Le QPainter a utiliser pour dessiner les bornes. @param options Les options de style a prendre en compte */ void Element::drawSelection(QPainter *painter, const QStyleOptionGraphicsItem *options) { Q_UNUSED(options); painter -> save(); // Annulation des renderhints painter -> setRenderHint(QPainter::Antialiasing, false); painter -> setRenderHint(QPainter::TextAntialiasing, false); painter -> setRenderHint(QPainter::SmoothPixmapTransform, false); // Dessin du cadre de selection en gris QPen t; t.setColor(Qt::gray); t.setStyle(Qt::DashDotLine); painter -> setPen(t); // Le dessin se fait a partir du rectangle delimitant painter -> drawRoundRect(boundingRect().adjusted(1, 1, -1, -1), 10, 10); painter -> restore(); } /** Fonction initialisant et dessinant la pixmap de l'element. */ void Element::updatePixmap() { // Pixmap transparente faisant la taille de base de l'element preview = QPixmap(dimensions); preview.fill(QColor(255, 255, 255, 0)); // QPainter sur la pixmap, avec antialiasing QPainter p(&preview); p.setRenderHint(QPainter::Antialiasing, true); p.setRenderHint(QPainter::SmoothPixmapTransform, true); // Translation de l'origine du repere de la pixmap p.translate(hotspot_coord); // L'element se dessine sur la pixmap paint(&p, 0); } /** Change la position de l'element en veillant a ce que l'element reste sur la grille du Diagram auquel il appartient. @param p Nouvelles coordonnees de l'element */ void Element::setPos(const QPointF &p) { if (p == pos()) return; // pas la peine de positionner sur la grille si l'element n'est pas sur un Diagram if (scene()) { // arrondit l'abscisse a 10 px pres int p_x = qRound(p.x() / (Diagram::xGrid * 1.0)) * Diagram::xGrid; // arrondit l'ordonnee a 10 px pres int p_y = qRound(p.y() / (Diagram::yGrid * 1.0)) * Diagram::yGrid; QGraphicsItem::setPos(p_x, p_y); } else QGraphicsItem::setPos(p); } /** Change la position de l'element en veillant a ce que l'element reste sur la grille du Diagram auquel il appartient. @param x Nouvelle abscisse de l'element @param y Nouvelle ordonnee de l'element */ void Element::setPos(qreal x, qreal y) { setPos(QPointF(x, y)); } /** Gere l'enfoncement d'un bouton de la souris */ void Element::mousePressEvent(QGraphicsSceneMouseEvent *e) { if (e -> modifiers() & Qt::ControlModifier) { setSelected(!isSelected()); } QGraphicsItem::mousePressEvent(e); } /** Gere les mouvements de souris lies a l'element */ void Element::mouseMoveEvent(QGraphicsSceneMouseEvent *e) { if (isSelected() && e -> buttons() & Qt::LeftButton) { QPointF oldPos = pos(); setPos(mapToParent(e -> pos()) - matrix().map(e -> buttonDownPos(Qt::LeftButton))); if (Diagram *diagram_ptr = diagram()) { diagram_ptr -> moveElements(pos() - oldPos, this); } } else e -> ignore(); } /** Gere le relachement de souris Cette methode a ete reimplementee pour tenir a jour la liste des elements et conducteurs a deplacer au niveau du schema. */ void Element::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) { Diagram *diagram_ptr = diagram(); if (diagram_ptr) { if (!diagram_ptr -> current_movement.isNull()) { diagram_ptr -> undoStack().push( new MoveElementsCommand( diagram_ptr, diagram_ptr -> selectedContent(), diagram_ptr -> current_movement ) ); diagram_ptr -> current_movement = QPointF(); } diagram_ptr -> invalidateMovedElements(); } if (!(e -> modifiers() & Qt::ControlModifier)) { QGraphicsItem::mouseReleaseEvent(e); } } /** Permet de savoir si un element XML (QDomElement) represente bien un element @param e Le QDomElement a valide @return true si l'element XML est un Element, false sinon */ bool Element::valideXml(QDomElement &e) { // verifie le nom du tag if (e.tagName() != "element") return(false); // verifie la presence des attributs minimaux if (!e.hasAttribute("type")) return(false); if (!e.hasAttribute("x")) return(false); if (!e.hasAttribute("y")) return(false); bool conv_ok; // parse l'abscisse e.attribute("x").toDouble(&conv_ok); if (!conv_ok) return(false); // parse l'ordonnee e.attribute("y").toDouble(&conv_ok); if (!conv_ok) return(false); return(true); } /** Methode d'import XML. Cette methode est appelee lors de l'import de contenu XML (coller, import, ouverture de fichier...) afin que l'element puisse gerer lui-meme l'importation de ses bornes. Ici, comme cette classe est caracterisee par un nombre fixe de bornes, l'implementation exige de retrouver exactement ses bornes dans le fichier XML. @param e L'element XML a analyser. @param table_id_adr Reference vers la table de correspondance entre les IDs du fichier XML et les adresses en memoire. Si l'import reussit, il faut y ajouter les bons couples (id, adresse). @return true si l'import a reussi, false sinon */ bool Element::fromXml(QDomElement &e, QHash &table_id_adr) { /* les bornes vont maintenant etre recensees pour associer leurs id a leur adresse reelle ce recensement servira lors de la mise en place des fils */ QList liste_terminals; foreach(QDomElement qde, QET::findInDomElement(e, "terminals", "terminal")) { if (Terminal::valideXml(qde)) liste_terminals << qde; } QHash priv_id_adr; int terminals_non_trouvees = 0; foreach(QGraphicsItem *qgi, childItems()) { if (Terminal *p = qgraphicsitem_cast(qgi)) { bool terminal_trouvee = false; foreach(QDomElement qde, liste_terminals) { if (p -> fromXml(qde)) { priv_id_adr.insert(qde.attribute("id").toInt(), p); terminal_trouvee = true; break; } } if (!terminal_trouvee) ++ terminals_non_trouvees; } } if (terminals_non_trouvees > 0) { return(false); } else { // verifie que les associations id / adr n'entrent pas en conflit avec table_id_adr foreach(int id_trouve, priv_id_adr.keys()) { if (table_id_adr.contains(id_trouve)) { // cet element possede un id qui est deja reference (= conflit) return(false); } } // copie des associations id / adr foreach(int id_trouve, priv_id_adr.keys()) { table_id_adr.insert(id_trouve, priv_id_adr.value(id_trouve)); } } // importe les valeurs des champs de texte QList inputs = QET::findInDomElement(e, "inputs", "input"); foreach(QGraphicsItem *qgi, childItems()) { if (ElementTextItem *eti = qgraphicsitem_cast(qgi)) { foreach(QDomElement input, inputs) eti -> fromXml(input); } } // position, selection et orientation setPos(e.attribute("x").toDouble(), e.attribute("y").toDouble()); setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); bool conv_ok; int read_ori = e.attribute("orientation").toInt(&conv_ok); if (!conv_ok || read_ori < 0 || read_ori > 3) read_ori = ori.defaultOrientation(); setOrientation((QET::Orientation)read_ori); return(true); } /** Permet d'exporter l'element en XML @param document Document XML a utiliser @param table_adr_id Table de correspondance entre les adresses des bornes et leur id dans la representation XML ; cette table completee par cette methode @return L'element XML representant cet element electrique */ QDomElement Element::toXml(QDomDocument &document, QHash &table_adr_id) const { QDomElement element = document.createElement("element"); // type element.setAttribute("type", typeId()); // position, selection et orientation element.setAttribute("x", QString("%1").arg(pos().x())); element.setAttribute("y", QString("%1").arg(pos().y())); element.setAttribute("orientation", QString("%1").arg(ori.current())); /* recupere le premier id a utiliser pour les bornes de cet element */ int id_terminal = 0; if (!table_adr_id.isEmpty()) { // trouve le plus grand id int max_id_t = -1; foreach (int id_t, table_adr_id.values()) { if (id_t > max_id_t) max_id_t = id_t; } id_terminal = max_id_t + 1; } // enregistrement des bornes de l'appareil QDomElement xml_terminals = document.createElement("terminals"); // pour chaque enfant de l'element foreach(Terminal *t, terminals()) { // alors on enregistre la borne QDomElement terminal = t -> toXml(document); terminal.setAttribute("id", id_terminal); table_adr_id.insert(t, id_terminal ++); xml_terminals.appendChild(terminal); } element.appendChild(xml_terminals); // enregistrement des champ de texte de l'appareil QDomElement inputs = document.createElement("inputs"); foreach(ElementTextItem *eti, texts()) { inputs.appendChild(eti -> toXml(document)); } element.appendChild(inputs); return(element); } /// @return le Diagram auquel cet element appartient, ou 0 si cet element est independant Diagram *Element::diagram() const { return(qobject_cast(scene())); } qelectrotech-0.22+svn897/sources/orientationsetwidget.h0000644000175000017500000000327111342355132023210 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ORIENTATION_SET_WIDGET_H #define ORIENTATION_SET_WIDGET_H #include #include "orientationset.h" /** Widget permettant d'editer un OrientationSet */ class OrientationSetWidget : public QWidget { Q_OBJECT // constructeurs, destructeur public: OrientationSetWidget(QWidget * = 0); virtual ~OrientationSetWidget() {}; private: OrientationSetWidget(const OrientationSetWidget &); // attributs private: OrientationSet ori; QComboBox *north_orientation; QComboBox *east_orientation; QComboBox *south_orientation; QComboBox *west_orientation; QRadioButton *north_default; QRadioButton *east_default; QRadioButton *south_default; QRadioButton *west_default; QButtonGroup *default_radios; // methodes public: OrientationSet orientationSet() const; void setOrientationSet(const OrientationSet &); bool isReadOnly() const; void setReadOnly(bool); private: void updateForm(); public slots: void slot_defaultChanged(QAbstractButton *); void updateOrientationSet(); }; #endif qelectrotech-0.22+svn897/sources/aboutqet.h0000644000175000017500000000245711320140732020560 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ABOUTQET_H #define ABOUTQET_H #include class QLabel; /** Cette classe represente la boite de dialogue "A propos de QElectroTech". */ class AboutQET : public QDialog { Q_OBJECT // constructeurs, destructeur public: AboutQET(QWidget * = 0); virtual ~AboutQET(); private: AboutQET(AboutQET &); // methodes private: QWidget *title() const; QWidget *aboutTab() const; QWidget *authorsTab() const; QWidget *translatorsTab() const; QWidget *contributorsTab() const; QWidget *licenseTab() const; void addAuthor(QLabel *, const QString &, const QString &, const QString &) const; }; #endif qelectrotech-0.22+svn897/sources/moveelementsdescription.cpp0000644000175000017500000001206411320140732024231 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "moveelementsdescription.h" /** Constructeur - construit une description ne comprenant aucun nom internem, aucune destination, aucun handler. Par defaut, la recursivite est activee. @param parent QObject parent */ MoveElementsDescription::MoveElementsDescription(QObject *parent) : QObject(parent), recursive_(true), handler_(0), destination_(0), dest_internal_name_orig_(""), dest_internal_name_final_(""), created_item_(0), src_deleted_(false), abort_(false) { } /** Destructeur */ MoveElementsDescription::~MoveElementsDescription() { } /** @return true si le mouvement decrit est recursif (c'est-a-dire que la copie d'une categorie entrainera la copie de ses sous-categories et de ses elements) */ bool MoveElementsDescription::isRecursive() const { return(recursive_); } /** @param r true pour activer la recursivite, false sinon @see isRecursive() */ void MoveElementsDescription::setRecursive(bool r) { recursive_ = r; } /** @return le MoveElementsHandler utilise pour gerer les erreurs lors de la realisation de ce mouvement. Si aucun handler n'est specifie, cette methode retourne 0. @see MoveElementsHandler */ MoveElementsHandler *MoveElementsDescription::handler() const { return(handler_); } /** @param handler Le MoveElementHandler a utiliser pour gerer les erreurs lors de la realisation de ce mouvement. Indiquer 0 pour enlever le MoveElementsHandler. */ void MoveElementsDescription::setHandler(MoveElementsHandler *handler) { handler_ = handler; } /** @return la categorie de destination qui accueillera l'element cree par le mouvement. */ ElementsCategory *MoveElementsDescription::destinationParentCategory() const { return(destination_); } /** @param destination la categorie de destination qui accueillera l'element cree par le mouvement */ void MoveElementsDescription::setDestinationParentCategory(ElementsCategory *destination) { destination_ = destination; } /** @return Le nom interne souhaite pour l'item a creer. Typiquement, il s'agit du meme nom que l'item d'origine. Il faut toutefois le specifier explicitement. */ QString MoveElementsDescription::originalDestinationInternalName() const { return(dest_internal_name_orig_); } /** @param name Le nom interne souhaite pour l'item a creer. Typiquement, il s'agit du meme nom que l'item d'origine. Il faut toutefois le specifier explicitement. */ void MoveElementsDescription::setOriginalDestinationInternalName(const QString &name) { dest_internal_name_orig_ = name; } /** @return Le nom interne finalement retenu pour creer l'item. Si le nom interne est deja pris dans la categorie de destination, il est courant de changer le nom interne de destination (cette decision revient typiquement au MoveElementsHandler). */ QString MoveElementsDescription::finalDestinationInternalName() const { return(dest_internal_name_final_); } /** @param name Le nom interne finalement retenu pour creer l'item. Si le nom interne est deja pris dans la categorie de destination, il est courant de changer le nom interne de destination (cette decision revient typiquement au MoveElementsHandler). */ void MoveElementsDescription::setFinalDestinationInternalName(const QString &name) { dest_internal_name_final_ = name; } /** @return l'item cree par le mouvement, ou 0 si celui-ci n'as pas encore ete cree ou ne sera pas cree. */ ElementsCollectionItem *MoveElementsDescription::createdItem() const { return(created_item_); } /** @param item l'item cree par le mouvement. Indiquer 0 si celui-ci n'as pas encore ete cree ou ne sera pas cree. */ void MoveElementsDescription::setCreatedItem(ElementsCollectionItem *item) { created_item_ = item; } /** @return true si, dans le cadre normal du mouvement, l'item source a ete supprime (exemple : deplacement) avec succes. */ bool MoveElementsDescription::sourceItemWasDeleted() const { return(src_deleted_); } /** @param deleted Definit si oui ou non l'item source a ete supprime avec succes, et ce dans le cadre normal du mouvement (exemple : deplacement). */ void MoveElementsDescription::setSourceItemDeleted(bool deleted) { src_deleted_ = deleted; } /** @return true si le mouvement, ainsi que les mouvements qui suivent, doivent etre annules. */ bool MoveElementsDescription::mustAbort() const { return(abort_); } /** Definit ce mouvement ainsi que les mouvements qui suivent comme etant a annuler. */ void MoveElementsDescription::abort() { abort_ = true; } qelectrotech-0.22+svn897/sources/conductor.h0000644000175000017500000001276311320140732020735 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CONDUCTOR_H #define CONDUCTOR_H #include #include "terminal.h" #include "conductorprofile.h" #include "conductorproperties.h" class ConductorSegment; class DiagramTextItem; class Element; typedef QPair ConductorBend; typedef QHash ConductorProfilesGroup; /** Cette classe represente un conducteur. Un conducteur relie deux bornes d'element. */ class Conductor : public QObject, public QGraphicsPathItem { Q_OBJECT // constructeurs, destructeur public: Conductor(Terminal *, Terminal *, Element * = 0, QGraphicsScene * = 0); virtual ~Conductor(); private: Conductor(const Conductor &); // attributs public: enum { Type = UserType + 1001 }; /// premiere borne a laquelle le fil est rattache Terminal *terminal1; /// deuxieme borne a laquelle le fil est rattache Terminal *terminal2; // methodes public: /** permet de caster un QGraphicsItem en Conductor avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } void destroy(); /// @return true si ce conducteur est detruit bool isDestroyed() const { return(destroyed); } Diagram *diagram() const; void updateWithNewPos(const QRectF &, const Terminal *, const QPointF &); void update(const QRectF & = QRectF()); void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); QRectF boundingRect() const; virtual QPainterPath shape() const; qreal length(); ConductorSegment *middleSegment(); bool containsPoint(const QPointF &) const; QString text() const; void setText(const QString &); static bool valideXml(QDomElement &); bool fromXml(QDomElement &); QDomElement toXml(QDomDocument &, QHash &) const; const QList segmentsList() const; void setProperties(const ConductorProperties &); ConductorProperties properties() const; void setProfile(const ConductorProfile &, Qt::Corner); ConductorProfile profile(Qt::Corner) const; void setProfiles(const ConductorProfilesGroup &); ConductorProfilesGroup profiles() const; void readProperties(); public slots: void displayedTextChanged(); protected: virtual void mousePressEvent(QGraphicsSceneMouseEvent *); virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *); virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *); virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *); virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *); virtual QVariant itemChange(GraphicsItemChange, const QVariant &); private: /// caracteristiques du conducteur ConductorProperties properties_; /// booleen indiquant si le fil est encore valide bool destroyed; /// champ de texte editable pour les conducteurs non unifilaires DiagramTextItem *text_item; /// segments composant le conducteur ConductorSegment *segments; /// attributs lies aux manipulations a la souris QPointF press_point; bool moving_point; bool moving_segment; int moved_point; qreal previous_z_value; ConductorSegment *moved_segment; /// booleen indiquant si le conducteur a ete modifie manuellement par l'utilisateur bool modified_path; /// booleen indiquant s'il faut sauver le profil courant au plus tot bool has_to_save_profile; /// profil du conducteur : "photo" de ce a quoi le conducteur doit ressembler - il y a un profil par type de trajet ConductorProfilesGroup conductor_profiles; /// QPen et QBrush utilises pour dessiner les conducteurs static QPen conductor_pen; static QBrush conductor_brush; static QBrush square_brush; static bool pen_and_brush_initialized; /// facteur de taille du carre de saisie du segment qreal segments_squares_scale_; private: void segmentsToPath(); void saveProfile(bool = true); void priv_calculeConductor(const QPointF &, QET::Orientation, const QPointF &, QET::Orientation); void priv_modifieConductor(const QPointF &, QET::Orientation, const QPointF &, QET::Orientation); uint nbSegments(QET::ConductorSegmentType = QET::Both) const; QList segmentsToPoints() const; QSet relatedConductors() const; QList bends() const; QList junctions() const; void pointsToSegments(QList); bool hasClickedOn(QPointF, QPointF) const; void calculateTextItemPosition(); Qt::Corner currentPathType() const; void deleteSegments(); static int getCoeff(const qreal &, const qreal &); static int getSign(const qreal &); QHash shareOffsetBetweenSegments(const qreal &offset, const QList &, const qreal & = 0.01) const; static QPointF extendTerminal(const QPointF &, QET::Orientation, qreal = 9.0); static qreal conductor_bound(qreal, qreal, qreal, qreal = 0.0); static qreal conductor_bound(qreal, qreal, bool); static Qt::Corner movementType(const QPointF &, const QPointF &); }; #endif qelectrotech-0.22+svn897/sources/hotspoteditor.h0000644000175000017500000000416311342355132021645 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef HOTSPOT_EDITOR_H #define HOTSPOT_EDITOR_H #include #include "diagram.h" /** Ce widget permet a l'utilisateur d'editer les dimensions ainsi que le point de saisie d'un element. */ class HotspotEditor : public QWidget { Q_OBJECT // constructeurs, destructeur public: HotspotEditor(QWidget * = 0); virtual ~HotspotEditor() {}; private: HotspotEditor(const HotspotEditor &); // attributs private: QLabel *informations_label_; QSpinBox *sb_width; QSpinBox *sb_height; QSpinBox *sb_hotspot_x; QSpinBox *sb_hotspot_y; QCheckBox *hotspot_sync; Diagram *diagram_scene; QGraphicsView *diagram_view; QRectF parts_rect; QPoint old_hotspot; bool parts_rect_enabled; QVBoxLayout *vlayout; // methodes public: void setElementWidth(uint); void setElementHeight(uint); uint elementWidth10px() const; uint elementWidth() const; uint elementHeight10px() const; uint elementHeight() const; void setElementSize(const QSize &); QSize elementSize10px() const; QSize elementSize() const; void setHotspot(const QPoint &); QPoint hotspot() const; void setOldHotspot(const QPoint &); QPoint oldHotspot() const; void setPartsRect(const QRectF &); QRectF partsRect() const; void setPartsRectEnabled(bool); bool partsRectEnabled(); bool mustTranslateParts() const; QPoint offsetParts() const; bool isReadOnly() const; void setReadOnly(bool); public slots: void updateScene(); void updateHotspotLimits(); }; #endif qelectrotech-0.22+svn897/sources/elementdialog.h0000644000175000017500000000462711320140732021546 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENT_DIALOG_H #define ELEMENT_DIALOG_H #include #include "elementslocation.h" class QDialog; class QDialogButtonBox; class ElementsCategoriesList; class QFileNameEdit; /** Cette classe permet d'acceder a plusieurs types de dialogues lies a la selection d'element ou de categorie. */ class ElementDialog : public QObject { Q_OBJECT // enumerations /** Cette enum represente les configurations possible pour ce dialogue */ enum { OpenElement = 0, ///< Le dialogue sera en mode ouverture SaveElement = 1, ///< Le dialogue sera en mode enregistrement OpenCategory = 2, ///< Le dialogue concernera une categorie SaveCategory = 3 ///< Le dialogue concernera un element }; // constructeurs, destructeur public: ElementDialog(uint = ElementDialog::OpenElement, QWidget * = 0, QObject * = 0); virtual ~ElementDialog(); private: ElementDialog(const ElementDialog &); // methodes public: int exec(); ElementsLocation location() const; static ElementsLocation getExistingCategoryLocation(QWidget * = 0); static ElementsLocation getNewCategoryLocation(QWidget * = 0); static ElementsLocation getOpenElementLocation(QWidget * = 0); static ElementsLocation getSaveElementLocation(QWidget * = 0); private: static ElementsLocation execConfiguredDialog(int, QWidget * = 0); private slots: void locationChanged(const ElementsLocation &); void textFieldChanged(const QString &); void dialogAccepted(); void dialogRejected(); void checkDialog(); private: void makeInterface(); // attributs private: uint mode_; ElementsLocation location_; QString title_; QString label_; QDialog *dialog_; QDialogButtonBox *buttons_; ElementsCategoriesList *list_; QFileNameEdit *textfield_; }; #endif qelectrotech-0.22+svn897/sources/elementdeleter.h0000644000175000017500000000247711320140732021734 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENT_DELETER_H #define ELEMENT_DELETER_H #include "elementscategory.h" #include "elementslocation.h" #include /** Cette classe represente une couche d'abstraction pour supprimer un element de la collection d'elements. Elle demande notamment confirmation a l'utilisateur. */ class ElementDeleter : public QWidget { Q_OBJECT // constructeurs, destructeur public: ElementDeleter(const ElementsLocation &, QWidget * = 0); virtual ~ElementDeleter(); private: ElementDeleter(const ElementsCategory &); // methodes public slots: bool exec(); // attributs private: ElementsCollectionItem *element; }; #endif qelectrotech-0.22+svn897/sources/conductorsegment.h0000644000175000017500000000417511320140732022316 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CONDUCTOR_SEGMENT_H #define CONDUCTOR_SEGMENT_H #include #include "qet.h" /** Cette classe represente un segment de conducteur. */ class ConductorSegment { // constructeurs, destructeur public: ConductorSegment(const QPointF &, const QPointF &, ConductorSegment * = NULL, ConductorSegment * = NULL); virtual ~ConductorSegment(); private: ConductorSegment(const ConductorSegment &); // attributs private: ConductorSegment *previous_segment; ConductorSegment *next_segment; QPointF point1; QPointF point2; // methodes public: void moveX(const qreal &); void moveY(const qreal &); ConductorSegment *previousSegment() const; ConductorSegment *nextSegment() const; bool hasPreviousSegment() const; bool hasNextSegment() const; void setPreviousSegment(ConductorSegment *); void setNextSegment(ConductorSegment *); bool isStatic() const; bool isFirstSegment() const; bool isLastSegment() const; QPointF firstPoint() const; QPointF secondPoint() const; void setFirstPoint(const QPointF &); void setSecondPoint(const QPointF &); QPointF middle() const; bool isHorizontal() const; bool isVertical() const; QET::ConductorSegmentType type() const; qreal length() const; bool isPoint() const; bool canMove1stPointX(const qreal &, qreal &) const; bool canMove2ndPointX(const qreal &, qreal &) const; bool canMove1stPointY(const qreal &, qreal &) const; bool canMove2ndPointY(const qreal &, qreal &) const; }; #endif qelectrotech-0.22+svn897/sources/diagramposition.h0000644000175000017500000000264511320140732022124 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef DIAGRAM_POSITION_H #define DIAGRAM_POSITION_H #include #include #include /** Cette classe represente la position d'un element sur le schema. Il ne s'agit pas de ses coordonnees (bien que celles-ci puissent etre embarquees par commodite), mais du secteur du schema dans lequel il se situe, par exemple B2 ou C4. */ class DiagramPosition { // constructeurs, destructeur public: DiagramPosition(const QString & = "", unsigned int = 0); virtual ~DiagramPosition(); // methodes public: QPointF position() const; void setPosition(const QPointF &); QString toString(); bool isOutOfBounds() const; // attributs private: QString letter_; unsigned int number_; QPointF position_; }; #endif qelectrotech-0.22+svn897/sources/customelement.h0000644000175000017500000001022011320140732021603 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CUSTOM_ELEMENT_H #define CUSTOM_ELEMENT_H #include "fixedelement.h" #include #include "nameslist.h" #include "elementslocation.h" class ElementTextItem; class Terminal; /** Cette classe represente un element electrique. Elle est utilisable comme un element fixe. La difference est que l'element perso lit sa description (noms, dessin, comportement) dans un fichier XML a fournir en parametre. */ class CustomElement : public FixedElement { Q_OBJECT // constructeurs, destructeur public: CustomElement(const ElementsLocation &, QGraphicsItem * = 0, Diagram * = 0, int * = 0); CustomElement(const QDomElement &, QGraphicsItem * = 0, Diagram * = 0, int * = 0); virtual ~CustomElement(); private: CustomElement(const CustomElement &); // attributs protected: int elmt_state; // contient le code d'erreur si l'instanciation a echoue ou 0 si l'instanciation s'est bien passe NamesList names; ElementsLocation location_; QPicture drawing; QPicture low_zoom_drawing; QList list_terminals; QList list_texts_; bool forbid_antialiasing; // methodes public: virtual QList terminals() const; virtual QList conductors() const; virtual QList texts() const; virtual int terminalsCount() const; virtual void paint(QPainter *, const QStyleOptionGraphicsItem *); QString typeId() const; ElementsLocation location() const; bool isNull() const; int state() const; QString name() const; protected: virtual bool buildFromXml(const QDomElement &, int * = 0); virtual bool parseElement(QDomElement &, QPainter &); virtual bool parseLine(QDomElement &, QPainter &); virtual bool parseRect(QDomElement &, QPainter &); virtual bool parseEllipse(QDomElement &, QPainter &); virtual bool parseCircle(QDomElement &, QPainter &); virtual bool parseArc(QDomElement &, QPainter &); virtual bool parsePolygon(QDomElement &, QPainter &); virtual bool parseText(QDomElement &, QPainter &); virtual ElementTextItem *parseInput(QDomElement &); virtual Terminal *parseTerminal(QDomElement &); virtual void setQPainterAntiAliasing(QPainter &, bool); virtual bool validOrientationAttribute(const QDomElement &); virtual void setPainterStyle(QDomElement &, QPainter &); }; /** @return L'ID du type de l'element ; pour un CustomElement, cela revient au nom du fichier @see location() */ inline QString CustomElement::typeId() const { return(location_.path()); } /** @return L'adresse du fichier contenant la description XML de cet element */ inline ElementsLocation CustomElement::location() const { return(location_); } /** @return true si cet element est nul, c'est-a-dire si le chargement de sa description XML a echoue */ inline bool CustomElement::isNull() const { return(elmt_state); } /** @return Un entier representant l'etat de l'element : - 0 : L'instanciation a reussi - 1 : Le fichier n'existe pas - 2 : Le fichier n'a pu etre ouvert - 3 : Le fichier n'est pas un document XML - 4 : Le document XML n'a pas une "definition" comme racine - 5 : Les attributs de la definition ne sont pas presents et / ou valides - 6 : La definition est vide - 7 : L'analyse d'un element XML decrivant une partie du dessin de l'element a echoue - 8 : Aucune partie du dessin n'a pu etre chargee */ inline int CustomElement::state() const { return(elmt_state); } /** @return Le nom de l'element */ inline QString CustomElement::name() const { return(names.name(location_.baseName())); } #endif qelectrotech-0.22+svn897/sources/qeticons.h0000644000175000017500000001037411342301024020553 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_ICONS_H #define QET_ICONS_H #include /** Ce namespace est reserve a la declaration des icones de l'application QElectroTech. */ namespace QET { namespace Icons { void initIcons(); // l'utilisation du mot-cle extern permet l'acces aux objets statiques // depuis l'exterieur du namespace extern QIcon AddColumn; extern QIcon AddRow; extern QIcon Allowed; extern QIcon ApplicationExit; extern QIcon ArrowLeft; extern QIcon ArrowLeftDouble; extern QIcon ArrowRight; extern QIcon ArrowRightDouble; extern QIcon BringForward; extern QIcon Cancel; extern QIcon Conductor; extern QIcon ConductorSettings; extern QIcon Configure; extern QIcon ConfigureToolbars; extern QIcon CopyFile; extern QIcon DefaultConductor; extern QIcon DiagramAdd; extern QIcon Diagram; extern QIcon DiagramDelete; extern QIcon DialogCancel; extern QIcon DialogInformation; extern QIcon DialogOk; extern QIcon DocumentClose; extern QIcon DocumentExport; extern QIcon DocumentImport; extern QIcon DocumentNew; extern QIcon DocumentOpen; extern QIcon DocumentOpenRecent; extern QIcon DocumentPrint; extern QIcon DocumentPrintFrame; extern QIcon DocumentSave; extern QIcon DocumentSaveAll; extern QIcon DocumentSaveAs; extern QIcon East; extern QIcon EditClear; extern QIcon EditClearLocationBar; extern QIcon EditCopy; extern QIcon EditCut; extern QIcon EditDelete; extern QIcon EditPaste; extern QIcon EditRedo; extern QIcon EditSelectAll; extern QIcon EditUndo; extern QIcon Element; extern QIcon ElementDelete; extern QIcon ElementEdit; extern QIcon ElementNew; extern QIcon EndLineCircle; extern QIcon EndLineDiamond; extern QIcon EndLineNone; extern QIcon EndLineSimple; extern QIcon EndLineTriangle; extern QIcon EPS; extern QIcon Folder; extern QIcon FolderDelete; extern QIcon FolderEdit; extern QIcon FolderNew; extern QIcon Forbidden; extern QIcon FullScreenEnter; extern QIcon FullScreenExit; extern QIcon GoDown; extern QIcon GoUp; extern QIcon Ground; extern QIcon Hide; extern QIcon Home; extern QIcon HotSpot; extern QIcon Lower; extern QIcon MoveFile; extern QIcon Names; extern QIcon Neutral; extern QIcon NewDiagram; extern QIcon NewDiagram; extern QIcon NewDiagram; extern QIcon North; extern QIcon ObjectLocked; extern QIcon ObjectRotateRight; extern QIcon ObjectUnlocked; extern QIcon Orientations; extern QIcon PartArc; extern QIcon PartCircle; extern QIcon PartEllipse; extern QIcon PartLine; extern QIcon PartPolygon; extern QIcon PartRectangle; extern QIcon PartSelect; extern QIcon PartText; extern QIcon PartTextField; extern QIcon PDF; extern QIcon Phase; extern QIcon PrintAllPages; extern QIcon Printer; extern QIcon PrintLandscape; extern QIcon PrintPortrait; extern QIcon PrintTwoPages; extern QIcon Project; extern QIcon ProjectFile; extern QIcon QETIcon; extern QIcon QETLogo; extern QIcon QETOxygenLogo; extern QIcon QtLogo; extern QIcon Raise; extern QIcon RemoveColumn; extern QIcon RemoveRow; extern QIcon Restore; extern QIcon SendBackward; extern QIcon Settings; extern QIcon SinglePage; extern QIcon South; extern QIcon Start; extern QIcon Terminal; extern QIcon UserInformations; extern QIcon ViewFitWidth; extern QIcon ViewFitWindow; extern QIcon ViewMove; extern QIcon ViewRefresh; extern QIcon West; extern QIcon WindowNew; extern QIcon XmlTextFile; extern QIcon ZoomFitBest; extern QIcon ZoomIn; extern QIcon ZoomOriginal; extern QIcon ZoomOut; } } #endif qelectrotech-0.22+svn897/sources/ghostelement.h0000644000175000017500000000346611320140732021433 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef GHOST_ELEMENT_H #define GHOST_ELEMENT_H #include "customelement.h" class Diagram; class QGraphicsItem; class ElementsLocation; class Terminal; /** La classe GhostElement herite de la classe CustomElement. Un GhostElement est destine a remplacer visuellement un CustomElement dont la definition n'a pu etre trouvee. Ainsi, au lieu de ne pas charger un element, et donc de perdre potentiellement : * sa position, son orientation, ses textes, * les conducteurs qui y sont lies, on peut lui substituer un GhostElement. Celui-ci extrapolera depuis le schema la position des bornes et des champs de texte. Visuellement, il sera represente par un rectangle. */ class GhostElement : public CustomElement { Q_OBJECT // constructeur, destructeur public: GhostElement(const ElementsLocation &, QGraphicsItem * = 0, Diagram * = 0); virtual ~GhostElement(); // methodes public: bool fromXml(QDomElement &, QHash &); protected: QRectF minimalBoundingRect() const; bool terminalsFromXml(QDomElement &, QHash &); void generateDrawings(); void generateDrawing(QPainter *); }; #endif qelectrotech-0.22+svn897/sources/insetpropertieswidget.h0000644000175000017500000000332711342325666023413 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef INSET_PROPERTIES_WIDGET_H #define INSET_PROPERTIES_WIDGET_H #include #include "insetproperties.h" /** Ce widget permet d'editer un objet InsetProperties, c'est-a-dire les valeurs affichees par le cartouche d'un schema. */ class InsetPropertiesWidget : public QWidget { Q_OBJECT // constructeurs, destructeur public: InsetPropertiesWidget(const InsetProperties &inset = InsetProperties(), bool = false, QWidget * = 0); virtual ~InsetPropertiesWidget(); private: InsetPropertiesWidget(const InsetPropertiesWidget &); // methodes public: InsetProperties insetProperties() const; void setInsetProperties(const InsetProperties &); bool displayCurrentDate() const; bool isReadOnly() const; void setReadOnly(bool); // attributs private: QLineEdit *inset_title; QLineEdit *inset_author; QDateEdit *inset_date; QLineEdit *inset_filename; QLineEdit *inset_folio; QRadioButton *inset_no_date; QRadioButton *inset_current_date; QRadioButton *inset_fixed_date; bool display_current_date; }; #endif qelectrotech-0.22+svn897/sources/xmlelementscategory.cpp0000644000175000017500000003426511320140732023364 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "xmlelementscategory.h" #include "xmlelementscollection.h" #include "xmlelementdefinition.h" #include "qetproject.h" /** Cree une categorie XML vide @param parent Categorie parente @param collection Collection a laquelle cette categorie appartient */ XmlElementsCategory::XmlElementsCategory(XmlElementsCategory *parent, XmlElementsCollection *collection) : ElementsCategory(parent, collection), xml_parent_collection_(collection), xml_parent_category_(parent) { } /** Cree une categorie XML a partir d'un element XML @param xml_element Element XML a analyser @param parent Categorie parente @param collection Collection a laquelle cette categorie appartient */ XmlElementsCategory::XmlElementsCategory(const QDomElement &xml_element, XmlElementsCategory *parent, XmlElementsCollection *collection) : ElementsCategory(parent, collection), xml_parent_collection_(collection), xml_parent_category_(parent) { loadContent(xml_element); } /** Destructeur */ XmlElementsCategory::~XmlElementsCategory() { deleteContent(); } /** @return le nom de la categorie utilisable dans un chemin (virtuel ou reel) */ QString XmlElementsCategory::pathName() const { return(name_); } /** @return le chemin virtuel de la categorie, sans le protocole */ QString XmlElementsCategory::virtualPath() { // il n'est pas possible d'avoir un chemin virtuel sans appartenir a une collection if (!hasParentCollection() || name_.isEmpty()) return(QString()); if (parent_category_) { QString tmp(parent_category_ -> virtualPath()); if (!tmp.isEmpty()) tmp += "/"; return(tmp + name_); } else { return(name_); } } /** @return toujours false, car une categorie XML n'a pas de chemin de type fichier */ bool XmlElementsCategory::hasFilePath() { // une categorie XML n'a pas de chemin de type fichier return(false); } /** @return une chaine vide, car une categorie XML n'a pas de chemin de type fichier */ QString XmlElementsCategory::filePath() { // une categorie XML n'a pas de chemin de type fichier return(QString()); } /** Ne fait rien, car une categorie XML n'a pas de chemin de type fichier */ void XmlElementsCategory::setFilePath(const QString &) { // une categorie XML n'a pas de chemin de type fichier } /** @return la liste des sous-categories de la categorie */ QList XmlElementsCategory::categories() { QList cat_list; QList keys(categories_.keys()); qSort(keys.begin(), keys.end()); foreach(QString key, keys) cat_list << categories_[key]; return(cat_list); } /** @return la categorie correspondant au chemin virtuel cat_path, ou 0 en cas d'echec @param cat_path Chemin virtuel de la categorie voulue */ ElementsCategory *XmlElementsCategory::category(const QString &cat_path) { // recupere les differentes parties du chemin QString cat_path_(cat_path); QStringList path_parts = cat_path_.split(QChar('/'), QString::SkipEmptyParts, Qt::CaseInsensitive); if (!path_parts.count()) { return(this); } else { // a-t-on la premiere sous-categorie ? if (!categories_.contains(path_parts.first())) { return(0); } // on a la premiere sous-categorie ElementsCategory *first_sub_cat = categories_.value(path_parts.first()); if (path_parts.count() == 1) return(first_sub_cat); // on demande a la premiere sous-categorie de fournir la categorie finale path_parts.removeFirst(); return(first_sub_cat -> category(path_parts.join("/"))); } } /** Cree une categorie. La categorie parente doit exister. @param path chemin d'une categorie a creer sous la forme d'une adresse virtuelle comme common://cat1/cat2/cat3 @return la nouvelle categorie demandee, ou 0 en cas d'echec */ ElementsCategory *XmlElementsCategory::createCategory(const QString &path) { // on ne doit pas etre en lecture seule if (!isWritable()) return(0); // recupere les differentes parties du chemin QString cat_path_(path); QStringList path_parts = cat_path_.split(QChar('/'), QString::SkipEmptyParts, Qt::CaseInsensitive); if (!path_parts.count()) { // le chemin est vide, on renvoie 0 return(0); } else if (path_parts.count() == 1) { // il n'y a plus qu'une categorie dans le chemin : il faut la creer ici // on verifie si la categorie n'existe pas deja if (categories_.contains(path_parts[0])) { return(categories_.value(path_parts[0])); } // on cree un objet XmlElementsCategory *new_category = new XmlElementsCategory( this, xml_parent_collection_ ); new_category -> name_ = path_parts[0]; // on l'integre dans la liste des sous-categories connues categories_.insert(path_parts[0], new_category); connect(new_category, SIGNAL(written()), this, SLOT(componentWritten())); connect(new_category, SIGNAL(removed(const QString &)), this, SLOT(componentRemoved(const QString &))); // on le renvoie return(new_category); } else { // il y a plusieurs categories dans le chemin : // on delegue le travail a la premiere sous-categorie // a-t-on la premiere sous-categorie ? if (!categories_.contains(path_parts.first())) { return(0); } // on a la premiere sous-categorie ElementsCategory *first_sub_cat = categories_.value(path_parts.first()); // on demande a la premiere sous-categorie de fournir la categorie finale path_parts.removeFirst(); return(first_sub_cat -> category(path_parts.join("/"))); } } /** @return la liste des elements de la categorie */ QList XmlElementsCategory::elements() { QList elmt_list; QList keys(elements_.keys()); qSort(keys.begin(), keys.end()); foreach(QString key, keys) elmt_list << elements_[key]; return(elmt_list); } /** @return l'element correspondant au chemin virtuel elmt_path, ou 0 en cas d'echec @param elmt_path Chemin virtuel de l'element voulu */ ElementDefinition *XmlElementsCategory::element(const QString &elmt_path) { // recupere les differentes parties du chemin QString elmt_path_(elmt_path); QStringList path_parts = elmt_path_.split(QChar('/'), QString::SkipEmptyParts, Qt::CaseInsensitive); if (!path_parts.count()) { // chemin vide return(0); } else if (path_parts.count() == 1) { // seulement le nom de fichier QString element_filename = path_parts.takeLast(); if (!elements_.contains(element_filename)) { return(0); } else { return(elements_.value(element_filename)); } } else { // separe le nom de fichier du chemin de la categorie et recupere celle-ci QString element_filename = path_parts.takeLast(); ElementsCategory *elmt_cat = category(path_parts.join("/")); if (!elmt_cat) { return(0); } else { return(elmt_cat -> element(element_filename)); } } } /** Cree un element. La categorie parente doit exister. @param path chemin d'un element a creer sous la forme d'une adresse virtuelle comme common://cat1/cat2/cat3/dog.elmt @return le nouvel element demande, ou 0 en cas d'echec */ ElementDefinition *XmlElementsCategory::createElement(const QString &path) { // on ne doit pas etre en lecture seule if (!isWritable()) return(0); // recupere les differentes parties du chemin QString cat_path_(path); QStringList path_parts = cat_path_.split(QChar('/'), QString::SkipEmptyParts, Qt::CaseInsensitive); if (!path_parts.count()) { // le chemin est vide, on renvoie 0 return(0); } else if (path_parts.count() == 1) { // il n'y a plus que l'element dans le chemin : il faut le creer ici // on verifie si l'element n'existe pas deja if (elements_.contains(path_parts[0])) { return(elements_.value(path_parts[0])); } // on cree un objet XmlElementDefinition *new_element = new XmlElementDefinition( path_parts[0], this, xml_parent_collection_ ); // on l'integre dans la liste des elements connus elements_.insert(path_parts[0], new_element); connect(new_element, SIGNAL(written()), this, SLOT(componentWritten())); connect(new_element, SIGNAL(removed(const QString &)), this, SLOT(componentRemoved(const QString &))); // on le renvoie return(new_element); } else { // il y a plusieurs categories dans le chemin : // on delegue le travail a la premiere sous-categorie // a-t-on la premiere sous-categorie ? if (!categories_.contains(path_parts.first())) { return(0); } // on a la premiere sous-categorie ElementsCategory *first_sub_cat = categories_.value(path_parts.first()); // on demande a la premiere sous-categorie de fournir la categorie finale path_parts.removeFirst(); return(first_sub_cat -> createElement(path_parts.join("/"))); } } /** @return true si la categorie existe, false sinon */ bool XmlElementsCategory::exists() { // la seule raison qu'une categorie aurait de ne pas exister est l'absence // de nom return(!name_.isEmpty()); } /** @return true si la categorie est accessible en lecture, false sinon */ bool XmlElementsCategory::isReadable() { // une categorie XML n'a aucune raison de ne pas etre accessible en lecture return(true); } /** @return true si la categorie est accessible en ecriture, false sinon */ bool XmlElementsCategory::isWritable() { // une categorie XML peut etre en lecture seule si le projet auquel elle // appartient l'est if (QETProject *parent_project = project()) { return(!parent_project -> isReadOnly()); } else { return(true); } } /** Cette methode ne fait rien. Recharger une categorie XML n'a pas vraiment de sens. */ void XmlElementsCategory::reload() { } /** Supprime la categorie et son contenu */ bool XmlElementsCategory::remove() { removeContent(); emit(removed(name_)); write(); return(true); } /** Supprime le contenu de la categorie sans supprimer la categorie elle-meme. */ bool XmlElementsCategory::removeContent() { // suppression des sous-categories foreach(QString cat_name, categories_.keys()) { ElementsCategory *cat = categories_.value(cat_name); if (cat -> remove()) { categories_.take(cat_name); delete cat; } else { return(false); } } // suppression des elements foreach(QString elmt_name, elements_.keys()) { ElementDefinition *elmt = elements_.value(elmt_name); if (elmt -> remove()) { elements_.take(elmt_name); delete elmt; } else { return(false); } } write(); return(true); } /** Ecrit la categorie. Comme il s'agit d'une categorie embarquee, cette methode emet simplement le signal written pour indiquer qu'il faut enregistrer la collection / le projet. */ bool XmlElementsCategory::write() { // indique que la categorie a ete changee emit(written()); return(true); } /** @return un Element XML decrivant la categorie et son contenu @param xml_doc Document XML a utiliser pour creer l'element XML */ QDomElement XmlElementsCategory::writeXml(QDomDocument &xml_doc) const { QDomElement category_elmt = xml_doc.createElement("category"); if (!isRootCategory()) { category_elmt.setAttribute("name", name_); category_elmt.appendChild(category_names.toXml(xml_doc)); } foreach(XmlElementsCategory *subcat, categories_) { category_elmt.appendChild(subcat -> writeXml(xml_doc)); } foreach(XmlElementDefinition *elmt, elements_) { category_elmt.appendChild(elmt -> writeXml(xml_doc)); } return(category_elmt); } /** Gere le fait qu'une sous-categorie ou un element ait ete enregistre */ void XmlElementsCategory::componentWritten() { write(); } /** Gere le fait qu'une sous-categorie ou un element ait ete supprime @param path Chemin de l'element ou de la categorie supprime(e) */ void XmlElementsCategory::componentRemoved(const QString &path) { if (elements_.contains(path)) { elements_.remove(path); write(); } else if (categories_.contains(path)) { categories_.remove(path); write(); } } /** Supprime le contenu de la categorie en memoire */ void XmlElementsCategory::deleteContent() { // suppression des elements foreach(QString elmt_name, elements_.keys()) { XmlElementDefinition *elmt = elements_.take(elmt_name); delete elmt; } // suppression des categories foreach(QString cat_name, categories_.keys()) { XmlElementsCategory *cat = categories_.take(cat_name); delete cat; } } /** Charge dans cet objet le contenu de la categorie a partir d'un element XML. @param xml_element element XML a analyser */ void XmlElementsCategory::loadContent(const QDomElement &xml_element) { deleteContent(); name_.clear(); category_names.clearNames(); // charge le nom de la categorie pour son chemin virtuel name_ = xml_element.attribute("name"); // charge les noms affiches de la categorie category_names.fromXml(xml_element); // charge les categories et elements QDomElement current_element; for (QDomNode node = xml_element.firstChild() ; !node.isNull() ; node = node.nextSibling()) { if (!node.isElement()) continue; current_element = node.toElement(); // les sous-categories et elements sans nom sont ignores if (!current_element.hasAttribute("name")) continue; if (current_element.tagName() == "category") { XmlElementsCategory *new_category = new XmlElementsCategory(current_element, this, xml_parent_collection_); categories_.insert(current_element.attribute("name"), new_category); connect(new_category, SIGNAL(written()), this, SLOT(componentWritten())); connect(new_category, SIGNAL(removed(const QString &)), this, SLOT(componentRemoved(const QString &))); } else if (current_element.tagName() == "element") { XmlElementDefinition *new_element = new XmlElementDefinition(current_element, this, xml_parent_collection_); elements_.insert(current_element.attribute("name"), new_element); connect(new_element, SIGNAL(written()), this, SLOT(componentWritten())); connect(new_element, SIGNAL(removed(const QString &)), this, SLOT(componentRemoved(const QString &))); } } } qelectrotech-0.22+svn897/sources/exportproperties.cpp0000644000175000017500000000654511320140732022727 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "exportproperties.h" #include /** Constructeur par defaut : * le repertoire de destination est le Bureau de l'utilisateur * le format d'export est PNG * la grille et les bornes ne doivent pas etre dessinees * la bordure et le cartouche doivent etre dessines * la zone exportee est le schema avec son cadre et son cartouche */ ExportProperties::ExportProperties() : destination_directory(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation)), format("PNG"), draw_grid(false), draw_border(true), draw_inset(true), draw_terminals(false), draw_colored_conductors(true), exported_area(QET::BorderArea) { } /** Destructeur */ ExportProperties::~ExportProperties() { } /** Exporte les options dans une configuration. @param settings Parametres a ecrire @param prefix prefixe a ajouter devant les noms des parametres */ void ExportProperties::toSettings(QSettings &settings, const QString &prefix) const { settings.setValue(prefix + "path", QDir::toNativeSeparators(destination_directory.absolutePath())); settings.setValue(prefix + "format", format); settings.setValue(prefix + "drawgrid", draw_grid); settings.setValue(prefix + "drawborder", draw_border); settings.setValue(prefix + "drawinset", draw_inset); settings.setValue(prefix + "drawterminals", draw_terminals); settings.setValue(prefix + "drawcoloredconductors", draw_colored_conductors); settings.setValue(prefix + "area", QET::diagramAreaToString(exported_area)); } /** Lit les options depuis une configuration. @param settings Parametres a lire @param prefix prefixe a ajouter devant les noms des parametres */ void ExportProperties::fromSettings(QSettings &settings, const QString &prefix) { QString desktop_path = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation); destination_directory.setPath(settings.value(prefix + "path", desktop_path).toString()); if (!destination_directory.exists()) destination_directory.setPath(desktop_path); format = settings.value(prefix + "format").toString(); draw_grid = settings.value(prefix + "drawgrid", false).toBool(); draw_border = settings.value(prefix + "drawborder", true ).toBool(); draw_inset = settings.value(prefix + "drawinset", true ).toBool(); draw_terminals = settings.value(prefix + "drawterminals", false).toBool(); draw_colored_conductors = settings.value(prefix + "drawcoloredconductors", true ).toBool(); exported_area = QET::diagramAreaFromString(settings.value(prefix + "area", "border").toString()); } qelectrotech-0.22+svn897/sources/qetprintpreviewdialog.h0000644000175000017500000000604511322366432023372 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_PRINT_PREVIEW_DIALOG #define QET_PRINT_PREVIEW_DIALOG #include #include "exportproperties.h" class Diagram; class DiagramsChooser; class ExportPropertiesWidget; class QETProject; /** Cette classe represente un dialogue permettant d'affiner les options d'impression d'un projet a l'aide d'un apercu du resultat sur papier. */ class QETPrintPreviewDialog : public QDialog { Q_OBJECT // constructeurs, destructeur public: QETPrintPreviewDialog(QETProject *, QPrinter *, QWidget * = 0, Qt::WindowFlags = 0); virtual ~QETPrintPreviewDialog(); private: QETPrintPreviewDialog(const QETPrintPreviewDialog &); // methodes public: DiagramsChooser *diagramsChooser(); bool fitDiagramsToPages() const; ExportProperties exportProperties() const; // signaux signals: void paintRequested(const QList &, bool, const ExportProperties, QPrinter *); public slots: void firstPage(); void previousPage(); void nextPage(); void lastPage(); void pageSetup(); void useFullPage(bool); void fitDiagramToPage(bool); void zoomIn(); void zoomOut(); void selectAllDiagrams(); void selectNoDiagram(); // attributs private: QETProject *project_; QPrinter *printer_; QHBoxLayout *hlayout0_; QVBoxLayout *vlayout0_; QVBoxLayout *vlayout1_; QVBoxLayout *vlayout2_; QToolBar *toolbar_; QPrintPreviewWidget *preview_; QLabel *diagrams_label_; DiagramsChooser *diagrams_list_; QPushButton *diagrams_select_all_; QPushButton *diagrams_select_none_; QAction *toggle_diagrams_list_; QAction *toggle_print_options_; QAction *adjust_width_; QAction *adjust_page_; QAction *zoom_in_; QComboBox *zoom_box_; QAction *zoom_out_; QAction *landscape_; QAction *portrait_; QAction *first_page_; QAction *previous_page_; QAction *next_page_; QAction *last_page_; QAction *all_pages_view_; QAction *facing_pages_view_; QAction *single_page_view_; QAction *page_setup_; QDialogButtonBox *buttons_; QGroupBox *print_options_box_; QCheckBox *use_full_page_; QLabel *use_full_page_label_; QCheckBox *fit_diagram_to_page_; QLabel *fit_diagram_to_page_label_; ExportPropertiesWidget *render_properties_; // methodes private: void build(); private slots: void requestPaint(QPrinter *); void checkDiagramsCount(); void setDiagramsListVisible(bool); void setPrintOptionsVisible(bool); void updateZoomList(); void updatePreviewZoom(); }; #endif qelectrotech-0.22+svn897/sources/diagramcommands.cpp0000644000175000017500000003733711320140732022422 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "diagramcommands.h" #include "element.h" #include "conductor.h" #include "diagram.h" #include "qgimanager.h" /** Constructeur @param d Schema auquel on ajoute un element @param elmt Element ajoute @param p Position a laquelle l'element est ajoute @param parent QUndoCommand parent */ AddElementCommand::AddElementCommand( Diagram *d, Element *elmt, const QPointF &p, QUndoCommand *parent ) : QUndoCommand(QString(QObject::tr("ajouter 1 %1", "undo caption - %1 is an element name")).arg(elmt -> name()), parent), element(elmt), diagram(d), position(p) { diagram -> qgiManager().manage(element); } /// Destructeur AddElementCommand::~AddElementCommand() { diagram -> qgiManager().release(element); } /// Annule l'ajout void AddElementCommand::undo() { diagram -> removeElement(element); } /// Refait l'ajout void AddElementCommand::redo() { diagram -> addElement(element); element -> setPos(position); element -> setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); } /** Constructeur @param dia Schema auquel on ajoute du texte @param text Texte ajoute @param pos Position a laquelle le texte est ajoute @param parent QUndoCommand parent */ AddTextCommand::AddTextCommand(Diagram *dia, DiagramTextItem *text, const QPointF &pos, QUndoCommand *parent) : QUndoCommand(QObject::tr("Ajouter un champ de texte", "undo caption"), parent), textitem(text), diagram(dia), position(pos) { diagram -> qgiManager().manage(textitem); } /// Destructeur AddTextCommand::~AddTextCommand() { diagram -> qgiManager().release(textitem); } /// Annule l'ajout void AddTextCommand::undo() { diagram -> removeDiagramTextItem(textitem); } /// Refait l'ajour void AddTextCommand::redo() { diagram -> addDiagramTextItem(textitem); textitem -> setPos(position); } /** Constructeur @param d Schema auquel on ajoute un conducteur @param c Conducteur ajoute @param parent QUndoCommand parent */ AddConductorCommand::AddConductorCommand( Diagram *d, Conductor *c, QUndoCommand *parent ) : QUndoCommand(QObject::tr("ajouter un conducteur", "undo caption"), parent), conductor(c), diagram(d) { diagram -> qgiManager().manage(conductor); } /// Destructeur AddConductorCommand::~AddConductorCommand() { diagram -> qgiManager().release(conductor); } /// Annule l'ajout void AddConductorCommand::undo() { diagram -> removeConductor(conductor); } /// Refait l'ajout void AddConductorCommand::redo() { diagram -> addConductor(conductor); } /** Constructeur @param dia Schema dont on supprime des elements et conducteurs @param content Contenu supprime @param parent QUndoCommand parent */ DeleteElementsCommand::DeleteElementsCommand( Diagram *dia, const DiagramContent &content, QUndoCommand *parent ) : QUndoCommand(parent), removed_content(content), diagram(dia) { setText( QString( QObject::tr( "supprimer %1", "undo caption - %1 is a sentence listing the removed content" ) ).arg(removed_content.sentence(DiagramContent::All)) ); diagram -> qgiManager().manage(removed_content.items(DiagramContent::All)); } /// Destructeur DeleteElementsCommand::~DeleteElementsCommand() { diagram -> qgiManager().release(removed_content.items(DiagramContent::All)); } /// annule les suppressions void DeleteElementsCommand::undo() { // remet les elements foreach(Element *e, removed_content.elements) { diagram -> addElement(e); } // remet les conducteurs foreach(Conductor *c, removed_content.conductors(DiagramContent::AnyConductor)) { diagram -> addConductor(c); } // remet les textes foreach(DiagramTextItem *t, removed_content.textFields) { diagram -> addDiagramTextItem(t); } } /// refait les suppressions void DeleteElementsCommand::redo() { // enleve les conducteurs foreach(Conductor *c, removed_content.conductors(DiagramContent::AnyConductor)) { diagram -> removeConductor(c); } // enleve les elements foreach(Element *e, removed_content.elements) { diagram -> removeElement(e); } // enleve les textes foreach(DiagramTextItem *t, removed_content.textFields) { diagram -> removeDiagramTextItem(t); } } /** Constructeur @param dia Schema sur lequel on colle les elements et conducteurs @param c Contenu a coller sur le schema @param parent QUndoCommand parent */ PasteDiagramCommand::PasteDiagramCommand( Diagram *dia, const DiagramContent &c, QUndoCommand *parent ) : QUndoCommand(parent), content(c), diagram(dia), filter(DiagramContent::Elements|DiagramContent::TextFields|DiagramContent::ConductorsToMove), first_redo(true) { setText( QString( QObject::tr( "coller %1", "undo caption - %1 is a sentence listing the content to paste" ).arg(content.sentence(filter)) ) ); diagram -> qgiManager().manage(content.items(filter)); } /// Destructeur PasteDiagramCommand::~PasteDiagramCommand() { diagram -> qgiManager().release(content.items(filter)); } /// annule le coller void PasteDiagramCommand::undo() { // enleve les conducteurs foreach(Conductor *c, content.conductorsToMove) diagram -> removeConductor(c); // enleve les elements foreach(Element *e, content.elements) diagram -> removeElement(e); // enleve les textes foreach(DiagramTextItem *t, content.textFields) diagram -> removeDiagramTextItem(t); } /// refait le coller void PasteDiagramCommand::redo() { if (first_redo) first_redo = false; else { // pose les elements foreach(Element *e, content.elements) diagram -> addElement(e); // pose les conducteurs foreach(Conductor *c, content.conductorsToMove) diagram -> addConductor(c); // pose les textes foreach(DiagramTextItem *t, content.textFields) diagram -> addDiagramTextItem(t); } foreach(Element *e, content.elements) e -> setSelected(true); foreach(Conductor *c, content.conductorsToMove) c -> setSelected(true); foreach(DiagramTextItem *t, content.textFields) t -> setSelected(true); } /** Constructeur @param dia Schema dont on coupe des elements et conducteurs @param content Contenu coupe @param parent QUndoCommand parent */ CutDiagramCommand::CutDiagramCommand( Diagram *dia, const DiagramContent &content, QUndoCommand *parent ) : DeleteElementsCommand(dia, content, parent) { setText( QString( QObject::tr( "couper %1", "undo caption - %1 is a sentence listing the content to cut" ).arg(content.sentence(DiagramContent::All)) ) ); } /// Destructeur CutDiagramCommand::~CutDiagramCommand() { } /** Constructeur @param dia Schema sur lequel on deplace des elements @param diagram_content Contenu a deplacer @param m translation subie par les elements @param parent QUndoCommand parent */ MoveElementsCommand::MoveElementsCommand( Diagram *dia, const DiagramContent &diagram_content, const QPointF &m, QUndoCommand *parent ) : QUndoCommand(parent), diagram(dia), content_to_move(diagram_content), movement(m), first_redo(true) { QString moved_content_sentence = content_to_move.sentence( DiagramContent::Elements | DiagramContent::TextFields | DiagramContent::ConductorsToUpdate | DiagramContent::ConductorsToMove ); setText( QString( QObject::tr( "d\351placer %1", "undo caption - %1 is a sentence listing the moved content" ).arg(moved_content_sentence) ) ); } /// Destructeur MoveElementsCommand::~MoveElementsCommand() { } /// annule le deplacement void MoveElementsCommand::undo() { move(-movement); } /// refait le deplacement void MoveElementsCommand::redo() { if (first_redo) first_redo = false; else move(movement); } /** deplace les elements et conducteurs @param actual_movement translation a effectuer sur les elements et conducteurs */ void MoveElementsCommand::move(const QPointF &actual_movement) { // deplace les elements foreach(Element *element, content_to_move.elements) { element -> setPos(element -> pos() + actual_movement); } // deplace certains conducteurs foreach(Conductor *conductor, content_to_move.conductorsToMove) { conductor -> setPos(conductor -> pos() + actual_movement); } // recalcule les autres conducteurs foreach(Conductor *conductor, content_to_move.conductorsToUpdate.keys()) { conductor -> updateWithNewPos( QRectF(), content_to_move.conductorsToUpdate[conductor], content_to_move.conductorsToUpdate[conductor] -> amarrageConductor() ); } // deplace les textes foreach(DiagramTextItem *text, content_to_move.textFields) { text -> setPos(text -> pos() + actual_movement); } } /** Constructeur @param dti Champ de texte modifie @param before texte avant @param after texte apres @param parent QUndoCommand parent */ ChangeDiagramTextCommand::ChangeDiagramTextCommand( DiagramTextItem *dti, const QString &before, const QString &after, QUndoCommand *parent ) : QUndoCommand(QObject::tr("modifier le texte", "undo caption"), parent), text_item(dti), text_before(before), text_after(after), first_redo(true) { } /// destructeur ChangeDiagramTextCommand::~ChangeDiagramTextCommand() { } /// annule la modification de texte void ChangeDiagramTextCommand::undo() { text_item -> setPlainText(text_before); text_item -> previous_text = text_before; } /// refait la modification de texte void ChangeDiagramTextCommand::redo() { if (first_redo) first_redo = false; else { text_item -> setPlainText(text_after); text_item -> previous_text = text_after; } } /** Constructeur @param elements Elements a pivoter associes a leur orientation d'origine @param parent QUndoCommand parent */ RotateElementsCommand::RotateElementsCommand(const QHash &elements, QUndoCommand *parent) : QUndoCommand(parent), elements_to_rotate(elements) { setText( QString( QObject::tr( "pivoter %1", "undo caption - %1 is a sentence listing the rotated content" ) ).arg(QET::ElementsAndConductorsSentence(elements.count(), 0)) ); } /// Destructeur RotateElementsCommand::~RotateElementsCommand() { } /// defait le pivotement void RotateElementsCommand::undo() { foreach(Element *e, elements_to_rotate.keys()) { e -> setOrientation(elements_to_rotate[e]); } } /// refait le pivotement void RotateElementsCommand::redo() { foreach(Element *e, elements_to_rotate.keys()) { e -> setOrientation(e -> orientation().next()); e -> update(); } } /** Constructeur @param c Conducteur modifie @param old_p ancien profil du conducteur @param new_p nouveau profil du conducteur @param path_t Trajectoire du trajet modifie @param parent QUndoCommand parent */ ChangeConductorCommand::ChangeConductorCommand( Conductor *c, const ConductorProfile &old_p, const ConductorProfile &new_p, Qt::Corner path_t, QUndoCommand *parent ) : QUndoCommand(QObject::tr("modifier un conducteur", "undo caption"), parent), conductor(c), old_profile(old_p), new_profile(new_p), path_type(path_t), first_redo(true) { } /// Destructeur ChangeConductorCommand::~ChangeConductorCommand() { } /// Annule la modification du conducteur void ChangeConductorCommand::undo() { conductor -> setProfile(old_profile, path_type); } /// Refait la modification du conducteur void ChangeConductorCommand::redo() { if (first_redo) first_redo = false; else conductor -> setProfile(new_profile, path_type); } /** Constructeur @param cp Conducteurs reinitialises, associes a leur ancien profil @param parent QUndoCommand parent */ ResetConductorCommand::ResetConductorCommand( const QHash &cp, QUndoCommand *parent ) : QUndoCommand(parent), conductors_profiles(cp) { setText( QObject::tr( "R\351initialiser %1", "undo caption - %1 is a sentence listing the reset content" ).arg(QET::ElementsAndConductorsSentence(0, cp.count())) ); } /// Destructeur ResetConductorCommand::~ResetConductorCommand() { } /// Annule la reinitialisation des conducteurs void ResetConductorCommand::undo() { foreach(Conductor *c, conductors_profiles.keys()) { c -> setProfiles(conductors_profiles[c]); } } /// Refait la reinitialisation des conducteurs void ResetConductorCommand::redo() { foreach(Conductor *c, conductors_profiles.keys()) { c -> setProfiles(ConductorProfilesGroup()); } } /** Constructeur @param d Schema dont on modifie le cartouche @param old_ip Anciennes proprietes du cartouche @param new_ip Nouvelles proprietes du cartouche @param parent QUndoCommand parent */ ChangeInsetCommand::ChangeInsetCommand( Diagram *d, const InsetProperties &old_ip, const InsetProperties &new_ip, QUndoCommand *parent ) : QUndoCommand(QObject::tr("modifier le cartouche", "undo caption"), parent), diagram(d), old_inset(old_ip), new_inset(new_ip) { } /// Destructeur ChangeInsetCommand::~ChangeInsetCommand() { } /// Annule la modification de cartouche void ChangeInsetCommand::undo() { diagram -> border_and_inset.importInset(old_inset); diagram -> invalidate(diagram -> border()); } /// Refait la modification de cartouche void ChangeInsetCommand::redo() { diagram -> border_and_inset.importInset(new_inset); diagram -> invalidate(diagram -> border()); } /** Constructeur @param dia Schema modifie @param old_bp Anciennes proprietes du cadre du schema @param new_bp Nouvelles proprietes du cadre du schema @param parent QUndoCommand parent */ ChangeBorderCommand::ChangeBorderCommand(Diagram *dia, const BorderProperties &old_bp, const BorderProperties &new_bp, QUndoCommand *parent) : QUndoCommand(QObject::tr("modifier les dimensions du sch\351ma", "undo caption"), parent), diagram(dia), old_properties(old_bp), new_properties(new_bp) { } /// Destructeur ChangeBorderCommand::~ChangeBorderCommand() { } /// Annule les changements apportes au schema void ChangeBorderCommand::undo() { diagram -> border_and_inset.importBorder(old_properties); } /// Refait les changements apportes au schema void ChangeBorderCommand::redo() { diagram -> border_and_inset.importBorder(new_properties); } /** Constructeur @param c Le conducteur dont on modifie les proprietes @param parent QUndoCommand parent */ ChangeConductorPropertiesCommand::ChangeConductorPropertiesCommand(Conductor *c, QUndoCommand *parent) : QUndoCommand(QObject::tr("modifier les propri\351t\351s d'un conducteur", "undo caption"), parent), conductor(c), old_settings_set(false), new_settings_set(false) { } /// Destructeur ChangeConductorPropertiesCommand::~ChangeConductorPropertiesCommand() { } /// definit l'ancienne configuration void ChangeConductorPropertiesCommand::setOldSettings(const ConductorProperties &properties) { old_properties = properties; old_settings_set = true; } /// definit la nouvelle configuration void ChangeConductorPropertiesCommand::setNewSettings(const ConductorProperties &properties) { new_properties = properties; new_settings_set = true; } /** Annule les changements - Attention : les anciens et nouveaux parametres doivent avoir ete definis a l'aide de setNewSettings et setOldSettings */ void ChangeConductorPropertiesCommand::undo() { if (old_settings_set && new_settings_set) { conductor -> setProperties(old_properties); conductor -> update(); } } /** Refait les changements - Attention : les anciens et nouveaux parametres doivent avoir ete definis a l'aide de setNewSettings et setOldSettings */ void ChangeConductorPropertiesCommand::redo() { if (old_settings_set && new_settings_set) { conductor -> setProperties(new_properties); conductor -> update(); } } qelectrotech-0.22+svn897/sources/exportproperties.h0000644000175000017500000000346211320140732022367 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef EXPORT_PROPERTIES_H #define EXPORT_PROPERTIES_H #include #include "qet.h" /** Cette classe represente les differentes options utilisees pour exporter un schema sous forme d'image, ou encore pour l'imprimer. */ class ExportProperties { // constructeur, destructeur public: ExportProperties(); virtual ~ExportProperties(); // methodes public: void toSettings (QSettings &, const QString & = QString()) const; void fromSettings(QSettings &, const QString & = QString()); // attributs public: QDir destination_directory; ///< Quel est le repertoire de destination du ou des fichiers generes ? QString format; ///< Quel format d'image faut-il utiliser ? bool draw_grid; ///< Faut-il dessiner la grille ? bool draw_border; ///< Faut-il dessiner le cadre ? bool draw_inset; ///< Faut-il dessiner le cartouche ? bool draw_terminals; ///< Faut-il dessiner les bornes ? bool draw_colored_conductors; ///< Faut-il respecter les couleurs des conducteurs ? QET::DiagramArea exported_area; ///< Zone du schema a exporter }; #endif qelectrotech-0.22+svn897/sources/elementscollection.cpp0000644000175000017500000002611611320140732023155 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementscollection.h" #include "elementscategory.h" #include "elementdefinition.h" #include "moveelementshandler.h" /** Constructeur @param parent Item parent */ ElementsCollection::ElementsCollection(ElementsCollectionItem *parent) : ElementsCollectionItem(parent) { } /** Destructeur */ ElementsCollection::~ElementsCollection() { } /** @return toujours true */ bool ElementsCollection::isCollection() const { return(true ); } /** @return toujours false */ bool ElementsCollection::isRootCategory() const { return(false); } /** @return toujours false */ bool ElementsCollection::isCategory() const { return(false); } /** @return toujours false */ bool ElementsCollection::isElement() const { return(false); } /** @return un pointeur ElementsCollection * sur cette collection */ ElementsCollection *ElementsCollection::toCollection() { return(this); } /** @return un pointeur vers la categorie racine de cette collection */ ElementsCategory *ElementsCollection::toCategory() { return(rootCategory()); } /** @return toujours 0 - une collection n'est pas a proprement parler une categorie */ ElementsCategory *ElementsCollection::toPureCategory() { return(0); } /** @return toujours 0 - une collection n'est pas un element */ ElementDefinition *ElementsCollection::toElement() { return(0); } /** @param target_category Categorie cible pour la copie ; la categorie racine de cette collection sera copiee en tant que sous-categorie de la categorie cible @param handler Gestionnaire d'erreurs a utiliser pour effectuer la copie @param deep_copy true pour copier recursivement le contenu (elements et sous-categories) de la categorie racine, false sinon @return La copie de la categorie, ou 0 si le processus a echoue. */ ElementsCollectionItem *ElementsCollection::copy(ElementsCategory *target_category, MoveElementsHandler *handler, bool deep_copy) { if (ElementsCategory *root = rootCategory()) { return(root -> copy(target_category, handler, deep_copy)); } return(0); } /** Il n'est pas possible de deplacer une collection. Cette methode demande simplement au gestionnaire d'erreur handler d'afficher un message. */ ElementsCollectionItem *ElementsCollection::move(ElementsCategory *, MoveElementsHandler *handler) { if (ElementsCategory *root = rootCategory()) { if (handler) { handler -> errorWithACategory(root, tr("Il n'est pas possible de d\351placer une collection.")); } } return(0); } /** Vide la collection de son contenu sans la supprimer @return true si l'operation a reussi, false sinon */ bool ElementsCollection::removeContent() { if (!rootCategory()) return(true); // demande a la categorie racine de supprimer son contenu return(rootCategory() -> removeContent()); } /** Vide la collection de son contenu sans la supprimer @return true si l'operation a reussi, false sinon */ bool ElementsCollection::remove() { return(removeContent()); } /** @return le projet auquel est rattachee cette collection ou 0 si celle-ci n'est pas liee a un projet. */ QETProject *ElementsCollection::project() { return(project_); } /** @param project le nouveau projet auquel est rattachee cette collection Indiquer 0 pour que cette collection ne soit plus liee a un projet. */ void ElementsCollection::setProject(QETProject *project) { project_ = project; } /** @return le protocole utilise par cette collection ; exemples : "common" pour la collection commune qui utilise des URLs en common:// "custom" pour la collection perso qui utilise des URLs en custom:// "embed" pour une collection embarquee qui utilise des URLs en embed:// */ QString ElementsCollection::protocol() { return(protocol_); } /** Definit le protocole de cette collection @param p Nouveau protocole de cette collection */ void ElementsCollection::setProtocol(const QString &p) { if (!p.isEmpty()) protocol_ = p; } /** @return toujours 0 - une collection n'a pas de categorie parente. En revanche, elle peut posseder un projet parent. @see project() */ ElementsCategory *ElementsCollection::parentCategory() { return(0); } /** @return toujours une liste vide - une collection n'a pas de categorie parente. En revanche, elle peut posseder un projet parent. @see project() */ QList ElementsCollection::parentCategories() { return(QList()); } /** @return toujours false0 - une collection n'a pas de categorie parente. En revanche, elle peut posseder un projet parent. @see project() */ bool ElementsCollection::hasParentCategory() { return(false); } /** @return toujours 0 - une collection n'a pas de collection parente. En revanche, elle peut posseder un projet parent. @see project() */ ElementsCollection *ElementsCollection::parentCollection() { return(0); } /** @return toujours false - une collection n'a pas de collection parente. En revanche, elle peut posseder un projet parent. @see project() */ bool ElementsCollection::hasParentCollection() { return(false); } /** @return toujours false - une collection ne peut etre l'enfant de quoi que ce soit. */ bool ElementsCollection::isChildOf(ElementsCollectionItem *) { return(false); } /** @return toujours une chaine vide */ QString ElementsCollection::pathName() const { return(QString()); } /** @return toujours une chaine vide */ QString ElementsCollection::virtualPath() { return(QString()); } /** @return le protocole suivi de :// ou une chaine vide si cette collection n'a pas de protocole defini. */ QString ElementsCollection::fullVirtualPath() { if (protocol().isEmpty()) return(QString()); return(protocol() + "://"); } /** @return l'emplacement de cette collection */ ElementsLocation ElementsCollection::location() { return(ElementsLocation(fullVirtualPath(), project())); } /** @return une liste ne contenant que la categorie racine de la collection */ QList ElementsCollection::categories() { QList result; if (ElementsCategory *root = rootCategory()) { result << root; } return(result); } /** @param cat_path chemin d'une categorie sous la forme d'une adresse virtuelle comme common://cat1/cat2/cat3 @return la categorie demandee, ou 0 si celle-ci n'a pas ete trouvee */ ElementsCategory *ElementsCollection::category(const QString &cat_path) { ElementsCategory *root = rootCategory(); // on doit avoir une categorie racine if (!root) return(0); // le protocole de l'adresse virtuelle doit correspondre if (!cat_path.startsWith(protocol_ + "://", Qt::CaseInsensitive)) return(0); // on enleve le protocole QString cat_path_(cat_path); cat_path_.remove(QRegExp("^" + protocol_ + ":\\/\\/", Qt::CaseInsensitive)); // on fait appel a la categorie racine pour le reste du traitement return(root -> category(cat_path_)); } /** Cree une categorie. La categorie parente doit exister. @param path chemin d'une categorie a creer sous la forme d'une adresse virtuelle comme common://cat1/cat2/cat3 @return la nouvelle categorie demandee, ou 0 en cas d'echec */ ElementsCategory *ElementsCollection::createCategory(const QString &path) { ElementsCategory *root = rootCategory(); // on doit avoir une categorie racine if (!root) return(0); // on ne doit pas etre en lecture seule if (!isWritable()) return(0); // le protocole de l'adresse virtuelle doit correspondre if (!path.startsWith(protocol_ + "://", Qt::CaseInsensitive)) return(0); // on enleve le protocole QString path_(path); path_.remove(QRegExp("^" + protocol_ + ":\\/\\/", Qt::CaseInsensitive)); // on fait appel a la categorie racine pour le reste du traitement return(root -> createCategory(path_)); } /** @return une liste vide */ QList ElementsCollection::elements() { return(QList()); } /** @param elmt_path chemin d'un element sous la forme d'une adresse virtuelle comme common://cat1/cat2/cat3/dog.elmt @return l'element demande, ou 0 si celui-ci n'a pas ete trouve */ ElementDefinition *ElementsCollection::element(const QString &elmt_path) { ElementsCategory *root = rootCategory(); // on doit avoir une categorie racine if (!root) return(0); // le protocole de l'adresse virtuelle doit correspondre if (!elmt_path.startsWith(protocol_ + "://", Qt::CaseInsensitive)) return(0); // on enleve le protocole QString elmt_path_(elmt_path); elmt_path_.remove(QRegExp("^" + protocol_ + ":\\/\\/", Qt::CaseInsensitive)); // on fait appel a la categorie racine pour le reste du traitement return(root -> element(elmt_path_)); } /** Cree un element. La categorie parente doit exister. @param path chemin d'un element a creer sous la forme d'une adresse virtuelle comme common://cat1/cat2/cat3/dog.elmt @return le nouvel element demande, ou 0 en cas d'echec */ ElementDefinition *ElementsCollection::createElement(const QString &path) { ElementsCategory *root = rootCategory(); // on doit avoir une categorie racine if (!rootCategory()) return(0); // on ne doit pas etre en lecture seule if (!isWritable()) return(0); // le protocole de l'adresse virtuelle doit correspondre if (!path.startsWith(protocol_ + "://", Qt::CaseInsensitive)) return(0); // on enleve le protocole QString path_(path); path_.remove(QRegExp("^" + protocol_ + ":\\/\\/", Qt::CaseInsensitive)); // on fait appel a la categorie racine pour le reste du traitement return(root -> createElement(path_)); } /** @return true si cette collection est vide (pas de sous-categorie, pas d'element), false sinon. */ bool ElementsCollection::isEmpty() { ElementsCategory *root_category = rootCategory(); if (!root_category) return(true); return(root_category -> isEmpty()); } /** @param item_path chemin d'un item sous la forme d'une adresse virtuelle comme common://cat1/cat2/cat3 @param prefer_collections true pour renvoyer la collection lorsque le chemin correspond aussi bien a une collection qu'a sa categorie racine @return l'item demande, ou 0 si celui-ci n'a pas ete trouve */ ElementsCollectionItem *ElementsCollection::item(const QString &item_path, bool prefer_collections) { ElementsCollectionItem *result = 0; // essaye de trouver l'item en tant que categorie result = category(item_path); // si la categorie est trouvee, ... if (result) { // ... qu'il s'agit d'une categorie racine et que l'utilisateur prefere les collections if (prefer_collections && result -> isRootCategory()) { // ... alors on renvoie la collection et non la categorie result = this; } } // sinon essaye de trouver l'item en tant qu'element if (!result) result = element(item_path); return(result); } qelectrotech-0.22+svn897/sources/qetmessagebox.cpp0000644000175000017500000000625111320140732022132 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qetmessagebox.h" /** @see Documentation Qt pour QMessageBox::critical */ QMessageBox::StandardButton QET::MessageBox::critical (QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { #ifdef Q_WS_MAC QMessageBox message_box(QMessageBox::Critical, title, text, buttons, parent, Qt::Sheet); message_box.setWindowModality(Qt::WindowModal); #else QMessageBox message_box(QMessageBox::Critical, title, text, buttons, parent); #endif message_box.setDefaultButton(defaultButton); return(static_cast(message_box.exec())); } /** @see Documentation Qt pour QMessageBox::information */ QMessageBox::StandardButton QET::MessageBox::information(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { #ifdef Q_WS_MAC QMessageBox message_box(QMessageBox::Information, title, text, buttons, parent, Qt::Sheet); message_box.setWindowModality(Qt::WindowModal); #else QMessageBox message_box(QMessageBox::Information, title, text, buttons, parent); #endif message_box.setDefaultButton(defaultButton); return(static_cast(message_box.exec())); } /** @see Documentation Qt pour QMessageBox::question */ QMessageBox::StandardButton QET::MessageBox::question (QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { #ifdef Q_WS_MAC QMessageBox message_box(QMessageBox::Question, title, text, buttons, parent, Qt::Sheet); message_box.setWindowModality(Qt::WindowModal); #else QMessageBox message_box(QMessageBox::Question, title, text, buttons, parent); #endif message_box.setDefaultButton(defaultButton); return(static_cast(message_box.exec())); } /** @see Documentation Qt pour QMessageBox::warning */ QMessageBox::StandardButton QET::MessageBox::warning (QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { #ifdef Q_WS_MAC QMessageBox message_box(QMessageBox::Warning, title, text, buttons, parent, Qt::Sheet); message_box.setWindowModality(Qt::WindowModal); #else QMessageBox message_box(QMessageBox::Warning, title, text, buttons, parent); #endif message_box.setDefaultButton(defaultButton); return(static_cast(message_box.exec())); } qelectrotech-0.22+svn897/sources/diagramschooser.cpp0000644000175000017500000001221611322242730022436 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "diagramschooser.h" #include "qetproject.h" #include "diagram.h" /** Constructeur @param project Projet dont il faut afficher les schemas @param parent QWidget parent de ce widget */ DiagramsChooser::DiagramsChooser(QETProject *project, QWidget *parent) : QScrollArea(parent), project_(project), widget0_(0), vlayout0_(0) { setFrameShadow(QFrame::Sunken); setFrameShape(QFrame::StyledPanel); setLineWidth(3); setMidLineWidth(3); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding)); updateList(); setWidget(widget0_); } /** Destructeur */ DiagramsChooser::~DiagramsChooser() { } /** @return le projet dont ce widget affiche les schemas */ QETProject *DiagramsChooser::project() const { return(project_); } /** @return la liste des schemas selectionnes */ QList DiagramsChooser::selectedDiagrams() const { QList selected_diagrams; foreach(Diagram *diagram, project_ -> diagrams()) { QCheckBox *check_box = diagrams_[diagram]; if (check_box && check_box -> isChecked()) { selected_diagrams << diagram; } } return(selected_diagrams); } /** @return la liste des schemas qui ne sont pas selectionnes */ QList DiagramsChooser::nonSelectedDiagrams() const { QList selected_diagrams; foreach(Diagram *diagram, diagrams_.keys()) { if (!(diagrams_[diagram] -> isChecked())) { selected_diagrams << diagram; } } return(selected_diagrams); } /** @param diagram Un schema cense etre present dans ce widget */ bool DiagramsChooser::diagramIsSelected(Diagram *const diagram) const { QCheckBox *checkbox = diagrams_.value(diagram); if (!checkbox) return(false); return(checkbox -> isChecked()); } /** Selectionne les schemas contenus dans la liste diagrams_list @param diagrams_list Liste de schemas a selectionner @param select true pour selectionne les schemas de la liste, false pour les deselectionner @param reset true pour deselectionner tous les schemas avant de selectionner ceux de la liste */ void DiagramsChooser::setSelectedDiagrams(const QList &diagrams_list, bool select, bool reset) { // evite d'emettre une rafale de signaux pour cette operation blockSignals(true); // deselectionne tous les schemas si demande if (reset) { foreach(QCheckBox *check_box, diagrams_.values()) { check_box -> setChecked(false); } } int changes = 0; QCheckBox *check_box; foreach(Diagram *diagram, diagrams_list) { if ((check_box = diagrams_[diagram])) { if (check_box -> isChecked() != select) { check_box -> setChecked(select); ++ changes; } } } blockSignals(false); if (reset || changes) { emit(selectionChanged()); } } /** Selectionne ou deselectionne tous les schemas @param select true pour selectionne les schemas de la liste, false pour les deselectionner */ void DiagramsChooser::setSelectedAllDiagrams(bool select) { blockSignals(true); foreach(QCheckBox *check_box, diagrams_.values()) { check_box -> setChecked(select); } blockSignals(false); emit(selectionChanged()); } /** Met a jour la liste des schemas du projet */ void DiagramsChooser::updateList() { if (!project_) return; // retient la liste des schemas deja selectionnes QList selected_diagrams = selectedDiagrams(); // detruit les checkbox existantes QList checkboxes = diagrams_.values(); qDeleteAll(checkboxes.begin(), checkboxes.end()); buildLayout(); // recree les checkbox necessaires foreach(Diagram *diagram, project_ -> diagrams()) { // titre du schema QString diagram_title = diagram -> title(); if (diagram_title.isEmpty()) diagram_title = tr("Sch\351ma sans titre"); QCheckBox *checkbox = new QCheckBox(diagram_title); checkbox -> setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum)); checkbox -> setChecked(selected_diagrams.contains(diagram)); connect(checkbox, SIGNAL(toggled(bool)), this, SIGNAL(selectionChanged())); diagrams_.insert(diagram, checkbox); vlayout0_ -> addWidget(checkbox, 0, Qt::AlignLeft | Qt::AlignTop); } } /** Met en place la disposition du widget */ void DiagramsChooser::buildLayout() { if (vlayout0_) return; vlayout0_ = new QVBoxLayout(); widget0_ = new QWidget(); widget0_ -> setLayout(vlayout0_); widget0_ -> setMinimumSize(170, 0); widget0_ -> setMaximumSize(470, 10000); widget0_ -> setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum)); } qelectrotech-0.22+svn897/sources/qetapp.h0000644000175000017500000001461111344020127020222 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_APP_H #define QET_APP_H #include "qetsingleapplication.h" #include #include #include "elementslocation.h" #include "qetarguments.h" class AboutQET; class QETDiagramEditor; class QETElementEditor; class ElementsCollection; class ElementsCollectionItem; class FileElementsCollection; class ElementsCategory; class ElementDefinition; class QETProject; class RecentFiles; /** Cette classe represente l'application QElectroTech. */ class QETApp : public QETSingleApplication { Q_OBJECT // constructeurs, destructeur public: QETApp(int &, char **); virtual ~QETApp(); private: QETApp(const QETApp &); // methodes public: static QETApp *instance(); void setLanguage(const QString &); static void printHelp(); static void printVersion(); static void printLicense(); static ElementsCollectionItem *collectionItem(const ElementsLocation &, bool = true); static ElementsCategory *createCategory(const ElementsLocation &); static ElementDefinition *createElement(const ElementsLocation &); static ElementsCollection *commonElementsCollection(); static ElementsCollection *customElementsCollection(); static QList availableCollections(); static QString userName(); static QString commonElementsDir(); static QString customElementsDir(); static bool registerProject(QETProject *); static bool unregisterProject(QETProject *); static QMap registeredProjects(); static QETProject *project(const uint &); static int projectId(const QETProject *); static QString configDir(); static QSettings &settings(); static QString languagesPath(); static QString realPath(const QString &); static QString symbolicPath(const QString &); static RecentFiles *projectsRecentFiles(); static RecentFiles *elementsRecentFiles(); #ifdef QET_ALLOW_OVERRIDE_CED_OPTION public: static void overrideCommonElementsDir(const QString &); private: static QString common_elements_dir; ///< Dossier contenant la collection d'elements commune #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION public: static void overrideConfigDir(const QString &); private: static QString config_dir; ///< Dossier contenant la configuration et la collection d'elements de l'utilisateur #endif public: static void overrideLangDir(const QString &); static QString lang_dir; ///< Dossier contenant les fichiers de langue static QFont diagramTextsFont(int = -1); static QETDiagramEditor *diagramEditorForFile(const QString &); static QList diagramEditors(); static QList elementEditors(); static QList elementEditors(QETProject *); protected: #ifdef Q_OS_DARWIN bool event(QEvent *); #endif // attributs private: QTranslator qtTranslator; QTranslator qetTranslator; QSystemTrayIcon *qsti; QSplashScreen *splash_screen_; QMenu *menu_systray; QAction *quitter_qet; QAction *reduce_appli; QAction *restore_appli; QAction *reduce_diagrams; QAction *restore_diagrams; QAction *reduce_elements; QAction *restore_elements; QAction *new_diagram; QAction *new_element; QHash window_geometries; QHash window_states; bool every_editor_reduced; bool every_diagram_reduced; bool every_diagram_visible; bool every_element_reduced; bool every_element_visible; QSignalMapper signal_map; QSettings *qet_settings; QETArguments qet_arguments_; ///< Analyseur d'arguments bool non_interactive_execution_; ///< booleen indiquant si l'application va se terminer immediatement apres un court traitement QPalette initial_palette_; ///< Palette des couleurs systeme static FileElementsCollection *common_collection; static FileElementsCollection *custom_collection; static QMap registered_projects_; static uint next_project_id; static RecentFiles *projects_recent_files_; static RecentFiles *elements_recent_files_; static AboutQET *about_dialog_; public slots: void systray(QSystemTrayIcon::ActivationReason); void reduceEveryEditor(); void restoreEveryEditor(); void reduceDiagramEditors(); void restoreDiagramEditors(); void reduceElementEditors(); void restoreElementEditors(); void newDiagramEditor(); void newElementEditor(); bool closeEveryEditor(); void setMainWindowVisible(QMainWindow *, bool); void invertMainWindowVisibility(QWidget *); void useSystemPalette(bool); void quitQET(); void checkRemainingWindows(); void messageReceived(const QString &); void openFiles(const QETArguments &); void openProjectFiles(const QStringList &); void openElementFiles(const QStringList &); void openElementLocations(const QList &); void configureQET(); void aboutQET(); // methodes privees private slots: void cleanup(); private: QList detectDiagramEditors() const; QList detectElementEditors() const; QList floatingToolbarsAndDocksForMainWindow(QMainWindow *) const; void parseArguments(); void initSplashScreen(); void setSplashScreenStep(const QString & = QString()); void initLanguage(); void initStyle(); void initConfiguration(); void initSystemTray(); void buildSystemTrayMenu(); void fetchWindowStats(const QList &diagrams, const QList &elements); }; /** Cette classe represente le style de QElectroTech Il s'agit de modifications simples appliquees aux styles communs de Qt */ class QETStyle : public QPlastiqueStyle { Q_OBJECT public: QETStyle(); virtual ~QETStyle(); virtual int styleHint(StyleHint hint, const QStyleOption * = 0, const QWidget * = 0, QStyleHintReturn * = 0) const; protected slots: virtual QIcon standardIconImplementation(StandardPixmap, const QStyleOption * = 0, const QWidget * = 0) const; }; #endif qelectrotech-0.22+svn897/sources/borderproperties.h0000644000175000017500000000355311320140732022324 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef BORDER_PROPERTIES_H #define BORDER_PROPERTIES_H #include #include /** Cette classe est un conteneur pour les dimensions et proprietes d'affichage d'un schema : affichage, nombre et dimensions des colonnes et lignes, ... */ class BorderProperties { public: // constructeur, destructeur, operateurs BorderProperties(); virtual ~BorderProperties(); bool operator==(const BorderProperties &); bool operator!=(const BorderProperties &); void toXml(QDomElement &) const; void fromXml(QDomElement &); void toSettings(QSettings &, const QString & = QString()) const; void fromSettings(QSettings &, const QString & = QString()); // attributs int columns_count; ///< Nombre de colonnes qreal columns_width; ///< Largeur des colonnes qreal columns_header_height; ///< Hauteur des entetes des colonnes bool display_columns; ///< Afficher ou non les entetes des colonnes int rows_count; ///< Nombre de lignes qreal rows_height; ///< Hauteur des lignes qreal rows_header_width; ///< Largeur des entetes des lignes bool display_rows; ///< Afficher ou non les entetes des lignes }; #endif qelectrotech-0.22+svn897/sources/diagramposition.cpp0000644000175000017500000000360011320140732022447 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "diagramposition.h" /** Constructeur @param letter Lettre(s) composant la position @param number Numero composant la position Si une chaine entierement invalide ou vide, ou bien un 0 est passe en parametre, il en resulte un objet DiagramPosition invalide, dont la methode isOutOfBounds renverra true. */ DiagramPosition::DiagramPosition(const QString &letter, unsigned int number) { // purifie les lettres letter_ = letter.toUpper(); letter_.remove(QRegExp("[^A-Z]")); number_ = number; } /** Destructeur */ DiagramPosition::~DiagramPosition() { } /** @return les coordonnees stockees dans cet objet, ou un QPointF nul sinon. */ QPointF DiagramPosition::position() const { return(position_); } /** @param position Position a stocker dans cet objet */ void DiagramPosition::setPosition(const QPointF &position) { position_ = position; } /** @return une representation textuelle de la position */ QString DiagramPosition::toString() { if (isOutOfBounds()) { return("-"); } return(QString("%1%2").arg(letter_).arg(number_)); } /** @return true si l'element est en dehors des bords du schema */ bool DiagramPosition::isOutOfBounds() const { return(letter_.isEmpty() || !number_); } qelectrotech-0.22+svn897/sources/elementslocation.cpp0000644000175000017500000001230111320140732022621 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementslocation.h" #include "qetapp.h" /** Constructeur par defaut */ ElementsLocation::ElementsLocation() : project_(0) { } /** Constructeur @param p Chemin de l'emplacement de l'element @param pr Projet de l'emplacement de l'element */ ElementsLocation::ElementsLocation(const QString &p, QETProject *pr) : project_(pr) { setPath(p); } /** Destructeur */ ElementsLocation::~ElementsLocation() { } /** Constructeur de copie @param other Autre emplacement d'element a copier */ ElementsLocation::ElementsLocation(const ElementsLocation &other) : path_(other.path_), project_(other.project_) { } /** Operateur d'affectation @param other Autre emplacement d'element a affecter */ ElementsLocation &ElementsLocation::operator=(const ElementsLocation &other) { path_ = other.path_; project_ = other.project_; return(*this); } /** Operateur de comparaison @param other Autre emplacement d'element a comparer @return true si other et cet ElementsLocation sont identiques, false sinon */ bool ElementsLocation::operator==(const ElementsLocation &other) const { return( path_ == other.path_ &&\ project_ == other.project_ ); } /** Operateur de comparaison @param other Autre emplacement d'element a comparer @return true si other et cet ElementsLocation sont differents, false sinon */ bool ElementsLocation::operator!=(const ElementsLocation &other) const { return( path_ != other.path_ ||\ project_ != other.project_ ); } /** @return le nom de base de l'element */ QString ElementsLocation::baseName() const { QRegExp regexp("^.*([^/]+)\\.elmt$"); if (regexp.exactMatch(path_)) { return(regexp.capturedTexts().at(1)); } return(QString()); } /** @return Le chemin virtuel de cet emplacement */ QString ElementsLocation::path() const { return(path_); } /** Change le chemin virtuel de cet emplacement @param p Nouveau chemin virtuel */ void ElementsLocation::setPath(const QString &p) { #ifdef Q_OS_WIN32 // sous Windows : on convertit les backslashs en slashs path_ = QDir::fromNativeSeparators(p); #else // ailleurs : si on detecte des backslashs, on tente d'etre "compatible" path_ = p; path_.replace("\\", "/"); #endif } /** Ajoute une chaine au chemin @param string Chaine a ajouter @return true si l'operation a reussi, false si l'operation n'a pas de sens. Par exemple, il n'y a pas de sens a vouloir ajouter quelque chose apres le chemin d'un element. */ bool ElementsLocation::addToPath(const QString &string) { if (path_.endsWith(".elmt", Qt::CaseInsensitive)) return(false); if (!path_.endsWith("/") && !string.startsWith("/")) path_ += "/"; path_ += string; return(true); } /** @return le projet de cet emplacement ou 0 si celui-ci n'est pas lie a un projet. */ QETProject *ElementsLocation::project() const { return(project_); } /** @param project le nouveau projet pointe par cet emplacement Indiquer 0 pour que cet emplacement ne soit plus lie a un projet. */ void ElementsLocation::setProject(QETProject *project) { project_ = project; } /** @return true si l'emplacement semble utilisable (chemin virtuel non vide). */ bool ElementsLocation::isNull() const { return(path_.isEmpty()); } /** @return Une chaine de caracteres representant l'emplacement */ QString ElementsLocation::toString() const { QString result; if (project_) { int project_id = QETApp::projectId(project_); if (project_id != -1) { result += "project" + QString().setNum(project_id) + "+"; } } result += path_; return(result); } /** Charge l'emplacemant a partir d'une chaine de caractere du type project42+embed://foo/bar/thing.elmt @param string Une chaine de caracteres representant l'emplacement */ void ElementsLocation::fromString(const QString &string) { QRegExp embedded("^project([0-9]+)\\+(embed:\\/\\/.*)$", Qt::CaseInsensitive); if (embedded.exactMatch(string)) { bool conv_ok = false; uint project_id = embedded.capturedTexts().at(1).toUInt(&conv_ok); if (conv_ok) { QETProject *the_project = QETApp::project(project_id); if (the_project) { path_ = embedded.capturedTexts().at(2); project_ = the_project; return; } } } // fallback : le chemin devient la chaine complete et aucun projet n'est utilise path_ = string; project_ = 0; } /** @param string Une chaine de caracteres representant l'emplacement @return un emplacemant a partir d'une chaine de caractere du type project42+embed://foo/bar/thing.elmt */ ElementsLocation ElementsLocation::locationFromString(const QString &string) { ElementsLocation location; location.fromString(string); return(location); } qelectrotech-0.22+svn897/sources/borderinset.h0000644000175000017500000001745111320140732021254 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef BORDERINSET_H #define BORDERINSET_H #include "insetproperties.h" #include "borderproperties.h" #include #include #include class QPainter; class DiagramPosition; /** Cette classe represente l'ensemble bordure + cartouche qui encadre le schema electrique. */ class BorderInset : public QObject { Q_OBJECT // constructeurs, destructeur public: BorderInset(QObject * = 0); virtual ~BorderInset(); private: BorderInset(const BorderInset &); // methodes public: static int minNbColumns(); static qreal minColumnsWidth(); static int minNbRows(); static qreal minRowsHeight(); void draw(QPainter *, qreal = 0.0, qreal = 0.0); // methodes d'acces en lecture aux dimensions // colonnes /// @return le nombre de colonnes du schema int nbColumns() const { return(nb_columns); } /// @return la largeur des colonnes en pixels qreal columnsWidth() const { return(columns_width); } /// @return la taille de l'ensemble des colonnes, en-tete des lignes non inclus qreal columnsTotalWidth() const { return(nb_columns * columns_width); } /// @return la hauteur, en pixels, des en-tetes des colonnes qreal columnsHeaderHeight() const { return(columns_header_height); } // lignes /// @return le nombre de lignes du schema int nbRows() const { return(nb_rows); } /// @return la hauteur des lignes en pixels qreal rowsHeight() const { return(rows_height); } /// @return la taille de l'ensemble des lignes, en-tete des colonnes non inclus qreal rowsTotalHeight() const { return(nb_rows * rows_height); } /// @return la largeur, en pixels, des en-tetes des lignes qreal rowsHeaderWidth() const { return(rows_header_width); } // cadre sans le cartouche = schema /// @return la largeur du schema, c'est-a-dire du cadre sans le cartouche qreal diagramWidth() const { return(columnsTotalWidth() + rowsHeaderWidth()); } /// @return la hauteurdu schema, c'est-a-dire du cadre sans le cartouche qreal diagramHeight() const { return(rowsTotalHeight() + columnsHeaderHeight()); } // cartouche /// @return la largeur du cartouche qreal insetWidth() const { return(inset_width); } /// @return la hauteur du cartouche qreal insetHeight() const { return(inset_height); } // cadre avec le cartouche /// @return la hauteur de la bordure qreal borderWidth() const { return(diagramWidth()); } /// @return la hauteur de la bordure qreal borderHeight() const { return(diagramHeight() + insetHeight()); } // methodes d'acces en lecture aux informations du cartouche /// @return le champ "Auteur" du cartouche QString author() const { return(bi_author); } /// @return le champ "Date" du cartouche QDate date() const { return(bi_date); } /// @return le champ "Titre" du cartouche QString title() const { return(bi_title); } /// @return le champ "Folio" du cartouche QString folio() const { return(bi_folio); } /// @return le champ "Fichier" du cartouche QString fileName() const { return(bi_filename); } // methodes d'acces en lecture aux options /// @return true si le cartouche est affiche, false sinon bool insetIsDisplayed() const { return(display_inset); } /// @return true si les entetes des colonnes sont affiches, false sinon bool columnsAreDisplayed() const { return(display_columns); } /// @return true si les entetes des lignes sont affiches, false sinon bool rowsAreDisplayed() const { return(display_rows); } /// @return true si la bordure est affichee, false sinon bool borderIsDisplayed() const { return(display_border); } // methodes d'acces en ecriture aux dimensions void addColumn (); void addRow (); void removeColumn (); void removeRow (); void setNbColumns (int); void setNbRows (int); void setColumnsWidth (const qreal &); void setRowsHeight (const qreal &); void setColumnsHeaderHeight(const qreal &); void setRowsHeaderWidth (const qreal &); void setDiagramHeight (const qreal &); void setInsetWidth (const qreal &); void setInsetHeight (const qreal &); void adjustInsetToColumns (); DiagramPosition convertPosition(const QPointF &); // methodes d'acces en ecriture aux informations du cartouche /// @param author le nouveau contenu du champ "Auteur" void setAuthor (const QString &author) { bi_author = author; } /// @param date le nouveau contenu du champ "Date" void setDate (const QDate &date) { bi_date = date; } /// @param title le nouveau contenu du champ "Titre" void setTitle (const QString &title) { if (bi_title != title) { bi_title = title; emit(diagramTitleChanged(title)); } } /// @param folio le nouveau contenu du champ "Folio" void setFolio (const QString &folio) { bi_folio = folio; } void setFolioData(int, int); /// @param filename le nouveau contenu du champ "Fichier" void setFileName (const QString &filename) { bi_filename = filename; } InsetProperties exportInset(); void importInset(const InsetProperties &); BorderProperties exportBorder(); void importBorder(const BorderProperties &); // methodes d'acces en ecriture aux options void displayInset(bool); void displayColumns(bool); void displayRows(bool); void displayBorder(bool); private: void updateRectangles(); QString incrementLetters(const QString &); // signaux signals: /** Signal emis lorsque la bordure change @param old_border Ancienne bordure @param new_border Nouvelle bordure */ void borderChanged(QRectF old_border, QRectF new_border); /** Signal emise lorsque des options d'affichage change */ void displayChanged(); /** Signal emis lorsque le titre du schema change */ void diagramTitleChanged(const QString &); /** Signal emis lorsque le cartouche requiert une mise a jour des donnees utilisees pour generer le folio. */ void needFolioData(); // attributs private: // informations du cartouche QString bi_author; QDate bi_date; QString bi_title; QString bi_folio; QString bi_final_folio; int folio_index_; int folio_total_; QString bi_filename; // dimensions du cadre (lignes et colonnes) // colonnes : nombres et dimensions int nb_columns; qreal columns_width; qreal columns_header_height; // lignes : nombres et dimensions int nb_rows; qreal rows_height; qreal rows_header_width; // dimensions du cartouche qreal inset_width; qreal inset_height; // rectangles utilises pour le dessin QRectF diagram; QRectF inset; QRectF inset_author; QRectF inset_date; QRectF inset_title; QRectF inset_file; QRectF inset_folio; // booleens pour les options de dessin bool display_inset; bool display_columns; bool display_rows; bool display_border; }; #endif qelectrotech-0.22+svn897/sources/conductorproperties.h0000644000175000017500000000601011320140732023036 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CONDUCTOR_PROPERTIES_H #define CONDUCTOR_PROPERTIES_H #include "qet.h" #include #include /** Cette classe represente les proprietes specifiques a un conducteur unifilaire */ class SingleLineProperties { public: SingleLineProperties(); virtual ~SingleLineProperties(); void setPhasesCount(int); unsigned short int phasesCount(); void draw(QPainter *, QET::ConductorSegmentType, const QRectF &); void toXml(QDomElement &) const; void fromXml(QDomElement &); void toSettings(QSettings &, const QString & = QString()) const; void fromSettings(QSettings &, const QString & = QString()); /// indique si le conducteur unifilaire doit afficher le symbole terre bool hasGround; /// indique si le conducteur unifilaire doit afficher le symbole neutre bool hasNeutral; int operator==(const SingleLineProperties &) const; int operator!=(const SingleLineProperties &) const; private: unsigned short int phases; void drawGround (QPainter *, QET::ConductorSegmentType, QPointF, qreal); void drawNeutral(QPainter *, QET::ConductorSegmentType, QPointF, qreal); }; /** Cette classe represente les proprietes specifiques a un conducteur, en dehors de ses bornes et de son trajet. */ class ConductorProperties { // constructeurs, destructeur public: ConductorProperties(); virtual ~ConductorProperties(); /** Represente le type d'un conducteur : * Simple : ni symbole ni champ de texte * Single : symboles unifilaires, pas de champ de texte * Multi : champ de texte, pas de symbole */ enum ConductorType { Simple, Single, Multi }; // attributs /// type du conducteur ConductorType type; /// couleur du conducteur QColor color; /// texte affiche si le conducteur est multifilaire QString text; /// style du conducteur (Qt::SolidLine ou Qt::DashLine) Qt::PenStyle style; /// proprietes si le conducteur est unifilaire SingleLineProperties singleLineProperties; // methodes void toXml(QDomElement &) const; void fromXml(QDomElement &); void toSettings(QSettings &, const QString & = QString()) const; void fromSettings(QSettings &, const QString & = QString()); static QString typeToString(ConductorType); // operateurs int operator==(const ConductorProperties &); int operator!=(const ConductorProperties &); private: void readStyle(const QString &); QString writeStyle() const; }; #endif qelectrotech-0.22+svn897/sources/elementslocation.h0000644000175000017500000000341611320140732022275 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTS_LOCATION_H #define ELEMENTS_LOCATION_H #include class QETProject; /** Cette classe represente la localisation, l'emplacement d'un element ou d'une categorie, voire d'une collection... dans une collection. Elle encapsule un chemin virtuel. */ class ElementsLocation { // constructeurs, destructeur et operateur d'affectation public: ElementsLocation(); explicit ElementsLocation(const QString &, QETProject * = 0); ElementsLocation(const ElementsLocation &); virtual ~ElementsLocation(); ElementsLocation &operator=(const ElementsLocation &); bool operator==(const ElementsLocation &) const; bool operator!=(const ElementsLocation &) const; // methodes public: QString baseName() const; QString path() const; void setPath(const QString &); bool addToPath(const QString &); QETProject *project() const; void setProject(QETProject *); bool isNull() const; QString toString() const; void fromString(const QString &); static ElementsLocation locationFromString(const QString &); // attributs private: QString path_; QETProject *project_; }; #endif qelectrotech-0.22+svn897/sources/elementspanel.cpp0000644000175000017500000007732311342301024022124 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementspanel.h" #include "qetapp.h" #include "qetproject.h" #include "diagram.h" #include "elementscategory.h" #include "customelement.h" #include "fileelementscollection.h" #include "fileelementdefinition.h" #include "qeticons.h" /* Lorsque le flag ENABLE_PANEL_DND_CHECKS est defini, le panel d'elements effectue des verifications lors des drag'n drop d'elements et categories. Par exemple, il verifie qu'une categorie cible est accessible en ecriture avant d'y autoriser le drop d'un element. Supprimer ce flag permet de tester le comportement des fonctions de gestion des items (copy, move, etc.). */ #define ENABLE_PANEL_DND_CHECKS /* Largeur maximale, en pixels, de la pixmap accrochee au pointeur de la souris */ #define QET_MAX_DND_PIXMAP_WIDTH 500 /* Hauteur maximale, en pixels, de la pixmap accrochee au pointeur de la souris */ #define QET_MAX_DND_PIXMAP_HEIGHT 375 /** Constructeur @param parent Le QWidget parent du panel d'appareils */ ElementsPanel::ElementsPanel(QWidget *parent) : QTreeWidget(parent), common_collection_item_(0), custom_collection_item_(0) { // selection unique setSelectionMode(QAbstractItemView::SingleSelection); setColumnCount(1); setExpandsOnDoubleClick(false); header() -> hide(); // drag'n drop autorise setDragEnabled(true); setAcceptDrops(true); setDropIndicatorShown(true); // taille des elements setIconSize(QSize(50, 50)); // charge les collections reload(); // la premiere fois, etend le premier niveau des collections if (common_collection_item_) common_collection_item_ -> setExpanded(true); if (custom_collection_item_) custom_collection_item_ -> setExpanded(true); // force du noir sur une alternance de blanc (comme le schema) et de gris // clair, avec du blanc sur bleu pas trop fonce pour la selection QPalette qp = palette(); qp.setColor(QPalette::Text, Qt::black); qp.setColor(QPalette::Base, Qt::white); qp.setColor(QPalette::AlternateBase, QColor("#e8e8e8")); qp.setColor(QPalette::Highlight, QColor("#678db2")); qp.setColor(QPalette::HighlightedText, Qt::white); setPalette(qp); // double-cliquer sur un element permet de l'editer connect(this, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(slot_doubleClick(QTreeWidgetItem *, int))); // emet un signal au lieu de gerer son menu contextuel setContextMenuPolicy(Qt::CustomContextMenu); } /** Destructeur */ ElementsPanel::~ElementsPanel() { } /** @param qtwi Un QTreeWidgetItem @return true si qtwi represente une collection, false sinon */ bool ElementsPanel::itemIsACollection(QTreeWidgetItem *qtwi) const { if (ElementsCollectionItem *qtwi_item = collectionItemForItem(qtwi)) { return(qtwi_item -> isCollection()); } return(false); } /** @param qtwi Un QTreeWidgetItem @return true si qtwi represente une categorie, false sinon */ bool ElementsPanel::itemIsACategory(QTreeWidgetItem *qtwi) const { if (ElementsCollectionItem *qtwi_item = collectionItemForItem(qtwi)) { return(qtwi_item -> isCategory()); } return(false); } /** @param qtwi Un QTreeWidgetItem @return true si qtwi represente un element, false sinon */ bool ElementsPanel::itemIsAnElement(QTreeWidgetItem *qtwi) const { if (ElementsCollectionItem *qtwi_item = collectionItemForItem(qtwi)) { return(qtwi_item -> isElement()); } return(false); } /** @param qtwi Un QTreeWidgetItem @return true si qtwi represente un projet, false sinon */ bool ElementsPanel::itemIsAProject(QTreeWidgetItem *qtwi) const { return(projects_.contains(qtwi)); } /** @param qtwi Un QTreeWidgetItem @return true si ce que represente qtwi est accessible en ecriture */ bool ElementsPanel::itemIsADiagram(QTreeWidgetItem *qtwi) const { return(diagrams_.contains(qtwi)); } /** @param qtwi Un QTreeWidgetItem @return true si le qtwi est associe a une ElementsLocation */ bool ElementsPanel::itemHasLocation(QTreeWidgetItem *qtwi) const { return(locations_.contains(qtwi)); } /** @param qtwi Un QTreeWidgetItem @return true si qtwi represente un element, false sinon */ bool ElementsPanel::itemIsWritable(QTreeWidgetItem *qtwi) const { if (ElementsCollectionItem *qtwi_item = collectionItemForItem(qtwi)) { return(qtwi_item -> isWritable()); } return(false); } /** @param qtwi Un QTreeWidgetItem @return L'ElementsCollectionItem represente par qtwi, ou 0 si qtwi ne represente pas un ElementsCollectionItem */ ElementsCollectionItem *ElementsPanel::collectionItemForItem(QTreeWidgetItem *qtwi) const { if (locations_.contains(qtwi)) { return(QETApp::collectionItem(locations_[qtwi])); } return(0); } /** @param qtwi Un QTreeWidgetItem @return Le projet represente par qtwi, ou 0 si qtwi ne represente pas un projet */ QETProject *ElementsPanel::projectForItem(QTreeWidgetItem *qtwi) const { if (projects_.contains(qtwi)) { return(projects_[qtwi]); } return(0); } /** @param qtwi Un QTreeWidgetItem @return Le schema represente par qtwi, ou 0 si qtwi ne represente pas un schema */ Diagram *ElementsPanel::diagramForItem(QTreeWidgetItem *qtwi) const { if (diagrams_.contains(qtwi)) { return(diagrams_[qtwi]); } return(0); } /** @param qtwi QTreeWidgetItem dont on veut connaitre l'emplacement @return L'emplacement associe a qtwi, ou un emplacement nul s'il n'y a pas d'emplacement associe a qtwi */ ElementsLocation ElementsPanel::locationForItem(QTreeWidgetItem *qtwi) const { if (locations_.contains(qtwi)) { return(locations_[qtwi]); } return(ElementsLocation()); } /** @return true si une collection est selectionnee, false sinon */ bool ElementsPanel::selectedItemIsACollection() const { if (ElementsCollectionItem *selected_item = selectedItem()) { return(selected_item -> isCollection()); } return(false); } /** @return true si une categorie est selectionnee, false sinon */ bool ElementsPanel::selectedItemIsACategory() const { if (ElementsCollectionItem *selected_item = selectedItem()) { return(selected_item -> isCategory()); } return(false); } /** @return true si un element est selectionne, false sinon */ bool ElementsPanel::selectedItemIsAnElement() const { if (ElementsCollectionItem *selected_item = selectedItem()) { return(selected_item -> isElement()); } return(false); } /** @return true si un projet est selectionne, false sinon */ bool ElementsPanel::selectedItemIsAProject() const { return(projects_.contains(currentItem())); } /** @return true si un schema est selectionne, false sinon */ bool ElementsPanel::selectedItemIsADiagram() const { return(diagrams_.contains(currentItem())); } /** @return true si l'element selectionne est associe a une ElementsLocation */ bool ElementsPanel::selectedItemHasLocation() const { return(locations_.contains(currentItem())); } /** @return true si l'item selectionne est accessible en ecriture, false sinon */ bool ElementsPanel::selectedItemIsWritable() const { if (ElementsCollectionItem *selected_item = selectedItem()) { return(selected_item -> isWritable()); } return(false); } /** @return la collection, la categorie ou l'element selectionne(e) */ ElementsCollectionItem *ElementsPanel::selectedItem() const { ElementsLocation selected_location(selectedLocation()); if (!selected_location.isNull()) { return(QETApp::collectionItem(selected_location)); } return(0); } /** @return Le projet selectionne, ou 0 s'il n'y en a pas */ QETProject *ElementsPanel::selectedProject() const { return(projectForItem(currentItem())); } /** @return Le schema selectionne, ou 0 s'il n'y en a pas */ Diagram *ElementsPanel::selectedDiagram() const { return(diagramForItem(currentItem())); } /** @return L'emplacement selectionne, ou un emplacement nul s'il n'y en a pas */ ElementsLocation ElementsPanel::selectedLocation() const { return(locationForItem(currentItem())); } /** Gere l'entree d'un drag'n drop. L'evenement est accepte si les donnees fournies contiennent un type MIME representant une categorie ou un element QET. @param e QDragEnterEvent decrivant l'entree du drag'n drop */ void ElementsPanel::dragEnterEvent(QDragEnterEvent *e) { if (e -> mimeData() -> hasFormat("application/x-qet-category-uri")) { e -> acceptProposedAction(); } else if (e -> mimeData() -> hasFormat("application/x-qet-element-uri")) { e -> acceptProposedAction(); } } /** Gere le mouvement lors d'un drag'n drop */ void ElementsPanel::dragMoveEvent(QDragMoveEvent *e) { // scrolle lorsque le curseur est pres des bords int limit = 40; QScrollBar *scroll_bar = verticalScrollBar(); if (e -> pos().y() < limit) { scroll_bar -> setValue(scroll_bar -> value() - 1); } else if (e -> pos().y() > height() - limit) { scroll_bar -> setValue(scroll_bar -> value() + 1); } // recupere la categorie cible pour le deplacement / la copie ElementsCategory *target_category = categoryForPos(e -> pos()); if (!target_category) { e -> ignore(); return; } // recupere la source (categorie ou element) pour le deplacement / la copie ElementsLocation dropped_location = ElementsLocation::locationFromString(e -> mimeData() -> text()); ElementsCollectionItem *source_item = QETApp::collectionItem(dropped_location, false); if (!source_item) { e -> ignore(); return; } #ifdef ENABLE_PANEL_DND_CHECKS // ne prend pas en consideration le drop d'un item sur lui-meme ou une categorie imbriquee if ( source_item -> location() == target_category -> location() ||\ target_category -> isChildOf(source_item) ) { e -> ignore(); return; } // s'assure que la categorie cible est accessible en ecriture if (!target_category -> isWritable()) { e -> ignore(); return; } #endif e -> accept(); /// @todo mettre en valeur le lieu de depot } /** Gere le depot lors d'un drag'n drop @param e QDropEvent decrivant le depot */ void ElementsPanel::dropEvent(QDropEvent *e) { // recupere la categorie cible pour le deplacement / la copie ElementsCategory *target_category = categoryForPos(e -> pos()); if (!target_category) { e -> ignore(); return; } // recupere la source (categorie ou element) pour le deplacement / la copie ElementsLocation dropped_location = ElementsLocation::locationFromString(e -> mimeData() -> text()); ElementsCollectionItem *source_item = QETApp::collectionItem(dropped_location, false); if (!source_item) { e -> ignore(); return; } #ifdef ENABLE_PANEL_DND_CHECKS // ne prend pas en consideration le drop d'un item sur lui-meme ou une categorie imbriquee if ( source_item -> location() == target_category -> location() ||\ target_category -> isChildOf(source_item) ) { e -> ignore(); return; } // s'assure que la categorie cible est accessible en ecriture if (!target_category -> isWritable()) { e -> ignore(); return; } #endif e -> accept(); emit(requestForMoveElements(source_item, target_category, e -> pos())); } /** Gere le debut des drag'n drop @param supportedActions Les actions supportees */ void ElementsPanel::startDrag(Qt::DropActions supportedActions) { Q_UNUSED(supportedActions); // recupere l'emplacement selectionne ElementsLocation location = selectedLocation(); if (location.isNull()) return; // recupere la selection ElementsCollectionItem *selected_item = QETApp::collectionItem(location); if (!selected_item) return; // objet QDrag pour realiser le drag'n drop QDrag *drag = new QDrag(this); // donnees qui seront transmises par le drag'n drop QString location_string(location.toString()); QMimeData *mimeData = new QMimeData(); mimeData -> setText(location_string); if (selected_item -> isCategory() || selected_item -> isCollection()) { mimeData -> setData("application/x-qet-category-uri", location_string.toAscii()); drag -> setPixmap(QET::Icons::Folder.pixmap(22, 22)); } else if (selected_item -> isElement()) { mimeData -> setData("application/x-qet-element-uri", location_string.toAscii()); // element temporaire pour fournir un apercu int elmt_creation_state; Element *temp_elmt = new CustomElement(location, 0, 0, &elmt_creation_state); if (elmt_creation_state) { delete temp_elmt; return; } // accrochage d'une pixmap representant l'appareil au pointeur QPixmap elmt_pixmap(temp_elmt -> pixmap()); QPoint elmt_hotspot(temp_elmt -> hotspot()); // ajuste la pixmap si celle-ci est trop grande QPoint elmt_pixmap_size(elmt_pixmap.width(), elmt_pixmap.height()); if (elmt_pixmap.width() > QET_MAX_DND_PIXMAP_WIDTH || elmt_pixmap.height() > QET_MAX_DND_PIXMAP_HEIGHT) { elmt_pixmap = elmt_pixmap.scaled(QET_MAX_DND_PIXMAP_WIDTH, QET_MAX_DND_PIXMAP_HEIGHT, Qt::KeepAspectRatio); elmt_hotspot = QPoint( elmt_hotspot.x() * elmt_pixmap.width() / elmt_pixmap_size.x(), elmt_hotspot.y() * elmt_pixmap.height() / elmt_pixmap_size.y() ); } drag -> setPixmap(elmt_pixmap); drag -> setHotSpot(elmt_hotspot); // suppression de l'appareil temporaire delete temp_elmt; } // realisation du drag'n drop drag -> setMimeData(mimeData); drag -> start(Qt::MoveAction | Qt::CopyAction); } /** Methode permettant d'ajouter un projet au panel d'elements. @param qtwi_parent QTreeWidgetItem parent sous lequel sera insere le projet @param project Projet a inserer dans le panel d'elements @return Le QTreeWidgetItem insere le plus haut */ QTreeWidgetItem *ElementsPanel::addProject(QTreeWidgetItem *qtwi_parent, QETProject *project) { // le projet sera insere juste avant la collection commune QTreeWidgetItem *last_project = 0; if (int common_collection_item_idx = indexOfTopLevelItem(common_collection_item_)) { last_project = topLevelItem(common_collection_item_idx - 1); } // creation du QTreeWidgetItem representant le projet QTreeWidgetItem *qtwi_project = new QTreeWidgetItem(qtwi_parent, last_project); qtwi_project -> setExpanded(true); projects_.insert(qtwi_project, project); updateProjectItemInformations(project); connect( project, SIGNAL(projectInformationsChanged(QETProject *)), this, SLOT (projectInformationsChanged(QETProject *)) ); // ajoute les schemas du projet foreach (Diagram *diagram, project -> diagrams()) { addDiagram(qtwi_project, diagram); } // ajoute la collection du projet addCollection(qtwi_project, project -> embeddedCollection(), tr("Collection projet")); return(qtwi_project); } /** Methode permettant d'ajouter un schema au panel d'elements. @param qtwi_parent QTreeWidgetItem parent sous lequel sera insere le schema @param diagram Schema a inserer dans le panel d'elements @return Le QTreeWidgetItem insere le plus haut */ QTreeWidgetItem *ElementsPanel::addDiagram(QTreeWidgetItem *qtwi_parent, Diagram *diagram) { // determine le nom du schema QString final_name = diagramTitleToDisplay(diagram); // repere le dernier element correspondant a un schema, s'il existe QTreeWidgetItem *last_diagram = 0; bool collection_item_exists = false; if (QETProject *project = diagram -> project()) { if (ElementsCollection *project_collection = project -> embeddedCollection()) { if (QTreeWidgetItem *collection_item = locations_.key(project_collection -> location())) { collection_item_exists = true; // repere le dernier schema int common_collection_item_idx = qtwi_parent -> indexOfChild(collection_item); if (common_collection_item_idx != -1) { last_diagram = qtwi_parent -> child(common_collection_item_idx - 1); } } } } // creation du QTreeWidgetItem representant le schema QTreeWidgetItem *qtwi_diagram; if (collection_item_exists) { qtwi_diagram = new QTreeWidgetItem(qtwi_parent, last_diagram); } else { qtwi_diagram = new QTreeWidgetItem(qtwi_parent); } qtwi_diagram -> setText(0, final_name); qtwi_diagram -> setIcon(0, QET::Icons::Diagram); diagrams_.insert(qtwi_diagram, diagram); return(qtwi_diagram); } /** Methode privee permettant d'ajouter une collection d'elements au panel d'elements @param qtwi_parent QTreeWidgetItem parent sous lequel sera insere la collection d'elements @param collection Collection a inserer dans le panel d'elements - si collection vaut 0, cette methode retourne 0. @param coll_name Nom a utiliser pour la collection @param icon Icone a utiliser pour l'affichage de la collection @return Le QTreeWidgetItem insere le plus haut */ QTreeWidgetItem *ElementsPanel::addCollection(QTreeWidgetItem *qtwi_parent, ElementsCollection *collection, const QString &coll_name, const QIcon &icon) { if (!collection) return(0); QTreeWidgetItem *qtwi_coll = addCategory(qtwi_parent, collection -> rootCategory(), coll_name, icon); return(qtwi_coll); } /** Methode privee permettant d'ajouter une categorie au panel d'elements @param qtwi_parent QTreeWidgetItem parent sous lequel sera insere la categorie @param category Categorie d'elements a inserer - si category vaut 0, cette methode retourne 0. @param cat_name Parametre facultatif permettant de forcer le nom affiche S'il n'est pas precise, la methode utilise le nom declare par la categorie. @param icon Icone a utiliser pour l'affichage de la categorie Si elle n'est pas precisee, une icone par defaut est utilisee @return Le QTreeWidgetItem insere le plus haut */ QTreeWidgetItem *ElementsPanel::addCategory(QTreeWidgetItem *qtwi_parent, ElementsCategory *category, const QString &cat_name, const QIcon &icon) { if (!category) return(0); // recupere le nom de la categorie QString final_name(cat_name.isEmpty() ? category -> name() : cat_name); QIcon final_icon(icon.isNull() ? QET::Icons::Folder : icon); // creation du QTreeWidgetItem representant le dossier QTreeWidgetItem *qtwi_category = new QTreeWidgetItem(qtwi_parent, QStringList(final_name)); qtwi_category -> setToolTip(0, category -> location().toString()); qtwi_category -> setIcon(0, final_icon); QLinearGradient t(0, 0, 200, 0); t.setColorAt(0, QColor("#e8e8e8")); t.setColorAt(1, QColor("#ffffff")); qtwi_category -> setBackground(0, QBrush(t)); locations_.insert(qtwi_category, category -> location()); // reduit le dossier si besoin qtwi_category -> setExpanded(expanded_directories.contains(category -> location().toString())); // ajout des sous-categories foreach(ElementsCategory *sub_cat, category -> categories()) addCategory(qtwi_category, sub_cat); // ajout des elements foreach(ElementDefinition *elmt, category -> elements()) addElement(qtwi_category, elmt); return(qtwi_category); } /** Methode privee permettant d'ajouter un element au panel d'elements @param qtwi_parent QTreeWidgetItem parent sous lequel sera insere l'element @param element Element a inserer @param elmt_name Parametre facultatif permettant de forcer le nom affiche S'il n'est pas precise, la methode utilise le nom declare par l'element. Une icone sera generee a partir de l'element. @return Le QTreeWidgetItem insere */ QTreeWidgetItem *ElementsPanel::addElement(QTreeWidgetItem *qtwi_parent, ElementDefinition *element, const QString &elmt_name) { if (!element) return(0); QString whats_this = tr("Ceci est un \351l\351ment que vous pouvez ins\351rer dans votre sch\351ma par cliquer-d\351placer"); QString tool_tip = tr("Cliquer-d\351posez cet \351l\351ment sur le sch\351ma pour ins\351rer un \351l\351ment "); int state; CustomElement custom_elmt(element -> location(), 0, 0, &state); if (state) { qDebug() << "ElementsCategoriesList::addElement() : Le chargement du composant" << qPrintable(element -> location().toString()) << "a echoue avec le code d'erreur" << state; return(0); } QString final_name(elmt_name.isEmpty() ? custom_elmt.name() : elmt_name); QTreeWidgetItem *qtwi = new QTreeWidgetItem(qtwi_parent, QStringList(final_name)); qtwi -> setStatusTip(0, tool_tip + "\253 " + custom_elmt.name() + " \273"); qtwi -> setToolTip(0, element -> location().toString()); qtwi -> setWhatsThis(0, whats_this); qtwi -> setFlags(Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled); qtwi -> setIcon(0, QIcon(custom_elmt.pixmap())); // actions speciales pour les elements appartenant a un projet if (QETProject *element_project = element -> location().project()) { // affiche en rouge les elements inutilises dans un projet if (!element_project -> usesElement(element -> location())) { QLinearGradient t(0, 0, 200, 0); t.setColorAt(0, QColor("#ffc0c0")); t.setColorAt(1, QColor("#ffffff")); qtwi -> setBackground(0, QBrush(t)); qtwi -> setToolTip(0, QString(tr("%1 [non utilis\351 dans le projet]")).arg(qtwi -> toolTip(0))); } } locations_.insert(qtwi, element -> location()); return(qtwi); } /** Recharge l'arbre des elements @param reload_collections true pour relire les collections depuis leurs sources (fichiers, projets...) */ void ElementsPanel::reload(bool reload_collections) { // sauvegarde la liste des repertoires reduits saveExpandedCategories(); if (reload_collections) { foreach(ElementsCollection *collection, QETApp::availableCollections()) { collection -> reload(); } } // vide l'arbre et le hash clear(); locations_.clear(); projects_.clear(); diagrams_.clear(); common_collection_item_ = 0; custom_collection_item_ = 0; // chargement des elements de la collection QET common_collection_item_ = addCollection(invisibleRootItem(), QETApp::commonElementsCollection(), tr("Collection QET"), QIcon(":/ico/16x16/qet.png")); // chargement des elements de la collection utilisateur custom_collection_item_ = addCollection(invisibleRootItem(), QETApp::customElementsCollection(), tr("Collection utilisateur"), QIcon(":/ico/16x16/go-home.png")); // chargement des projets foreach(QETProject *project, projects_to_display_.values()) { addProject(invisibleRootItem(), project); } // reselectionne le dernier element selectionne if (!last_selected_item.isNull()) { QTreeWidgetItem *qtwi = findLocation(last_selected_item); if (qtwi) setCurrentItem(qtwi); } } /** Gere le double-clic sur un element. Si un double-clic sur un projet est effectue, le signal requestForProject est emis. Si un double-clic sur un schema est effectue, le signal requestForDiagram est emis. Si un double-clic sur une collection, une categorie ou un element est effectue, le signal requestForCollectionItem est emis. @param qtwi */ void ElementsPanel::slot_doubleClick(QTreeWidgetItem *qtwi, int) { if (QETProject *project = projectForItem(qtwi)) { emit(requestForProject(project)); } else if (Diagram *diagram = diagramForItem(qtwi)) { emit(requestForDiagram(diagram)); } else if (ElementsCollectionItem *item = collectionItemForItem(qtwi)) { emit(requestForCollectionItem(item)); } } /** Enregistre la liste des categories repliees ainsi que le dernier element selectionne */ void ElementsPanel::saveExpandedCategories() { expanded_directories.clear(); QList items = findItems("*", Qt::MatchRecursive|Qt::MatchWildcard); foreach(QTreeWidgetItem *item, items) { QString file = locations_[item].toString(); if (!file.endsWith(".elmt") && item -> isExpanded()) { expanded_directories << file; } } // sauvegarde egalement le dernier element selectionne QTreeWidgetItem *current_item = currentItem(); if (current_item) last_selected_item = locations_[current_item].toString(); } /** @param location emplacement a retrouver dans l'arborescence @return le QTreeWidgetItem correspondant a l'emplacaement location ou 0 si celui-ci n'est pas trouve */ QTreeWidgetItem *ElementsPanel::findLocation(const ElementsLocation &location) const { if (location.isNull()) return(0); return(locations_.key(location, 0)); } /** @param location emplacement a retrouver dans l'arborescence @return le QTreeWidgetItem correspondant a l'emplacaement location ou 0 si celui-ci n'est pas trouve */ QTreeWidgetItem *ElementsPanel::findLocation(const QString &location) const { return(findLocation(ElementsLocation(location))); } /** Enleve et supprime un item du panel en nettoyant les structures le referencant. Note : Ce nettoyage est recursif @param removed_item Item a enlever et supprimer */ void ElementsPanel::deleteItem(QTreeWidgetItem *removed_item) { if (!removed_item) return; // supprime les eventuels enfants de l'item foreach(QTreeWidgetItem *child_item, removed_item -> takeChildren()) { deleteItem(child_item); } if (locations_.contains(removed_item)) { locations_.remove(removed_item); } else if (diagrams_.contains(removed_item)) { diagrams_.remove(removed_item); } else if (projects_.contains(removed_item)) { projects_.remove(removed_item); } delete removed_item; } /** @param pos Position dans l'arborescence @return La categorie situee sous la position pos, ou 0 s'il n'y a aucune categorie correspondante. @see categoryForItem */ ElementsCategory *ElementsPanel::categoryForPos(const QPoint &pos) { // Accede a l'item sous la position QTreeWidgetItem *pos_qtwi = itemAt(pos); if (!pos_qtwi) { return(0); } return(categoryForItem(pos_qtwi)); } /** Cette methode permet d'acceder a la categorie correspondant a un item donne. Si cet item represente une collection, c'est sa categorie racine qui est renvoyee. Si cet item represente une categorie, c'est cette categorie qui est renvoyee. Si cet item represente un element, c'est sa categorie parente qui est renvoyee. @param qtwi un QTreeWidgetItem @return la categorie correspondant au QTreeWidgetItem qtwi, ou 0 s'il n'y a aucune categorie correspondante. */ ElementsCategory *ElementsPanel::categoryForItem(QTreeWidgetItem *qtwi) { if (!qtwi) return(0); // Recupere le CollectionItem associe a cet item ElementsCollectionItem *collection_item = collectionItemForItem(qtwi); if (!collection_item) return(0); // recupere la categorie cible pour le deplacement return(collection_item -> toCategory()); } /** N'affiche que les elements contenant une chaine donnee @param m Chaine a filtrer */ void ElementsPanel::filter(const QString &m) { QList items = findItems("*", Qt::MatchRecursive | Qt::MatchWildcard); if (m.isEmpty()) { // la chaine est vide : affiche tout foreach(QTreeWidgetItem *item, items) item -> setHidden(false); } else { // repere les items correspondant au filtre QList matching_items; foreach(QTreeWidgetItem *item, items) { bool item_matches = item -> text(0).contains(m, Qt::CaseInsensitive); if (item_matches) matching_items << item; item -> setHidden(!item_matches); } ensureHierarchyIsVisible(matching_items); } } /** Rajoute un projet au panel d'elements @param project Projet ouvert a rajouter au panel */ void ElementsPanel::projectWasOpened(QETProject *project) { projects_to_display_ << project; addProject(invisibleRootItem(), project); } /** Enleve un projet du panel d'elements @param project Projet a enlever du panel */ void ElementsPanel::projectWasClosed(QETProject *project) { if (QTreeWidgetItem *item_to_remove = projects_.key(project, 0)) { deleteItem(item_to_remove); projects_to_display_.remove(project); } } /** Gere le fait que les proprietes d'un projet change (exemple : fichier, titre, ...). @param project Projet modifie */ void ElementsPanel::projectInformationsChanged(QETProject *project) { updateProjectItemInformations(project); } /** Gere l'ajout d'un schema dans un projet @param project Projet auquel a ete ajouter le schema @param diagram Schema ajoute */ void ElementsPanel::diagramWasAdded(QETProject *project, Diagram *diagram) { // repere le QTWI du projet if (QTreeWidgetItem *qtwi_project = projects_.key(project)) { addDiagram(qtwi_project, diagram); } } /** Gere la suppression d'un schema dans un projet @param project Projet duquel a ete supprime le schema @param diagram Schema supprime */ void ElementsPanel::diagramWasRemoved(QETProject *project, Diagram *diagram) { // on verifie que le projet apparait dans le panel if (projects_.key(project, 0)) { // on verifie que le schema apparait dans le panel if (QTreeWidgetItem *item_to_remove = diagrams_.key(diagram, 0)) { deleteItem(item_to_remove); } } } /** @param project Projet auquel appartient le schema concerne @param diagram schema dont le titre a change */ void ElementsPanel::diagramTitleChanged(QETProject *project, Diagram *diagram) { // on verifie que le projet apparait dans le panel if (projects_.key(project, 0)) { // on verifie que le schema apparait dans le panel if (QTreeWidgetItem *qtwi_diagram = diagrams_.key(diagram)) { qtwi_diagram -> setText(0, diagramTitleToDisplay(diagram)); } } } /** @param project Projet auquel appartiennent les schemas concernes @param from Index de l'onglet avant le deplacement @param to Index de l'onglet apres le deplacement */ void ElementsPanel::diagramOrderChanged(QETProject *project, int from, int to) { // repere le QTWI correspondant au projet QTreeWidgetItem *qtwi_project = projects_.key(project); if (!qtwi_project) return; // repere le QTWI representant le schema deplace QTreeWidgetItem *moved_qtwi_diagram = qtwi_project -> child(from); if (!moved_qtwi_diagram) return; // enleve le QTWI et le reinsere au bon endroit bool was_selected = moved_qtwi_diagram -> isSelected(); qtwi_project -> removeChild(moved_qtwi_diagram); qtwi_project -> insertChild(to, moved_qtwi_diagram); if (was_selected) { setCurrentItem(moved_qtwi_diagram); } } /** Affiche un element etant donne son emplacement @param location Emplacement de l'element a afficher */ bool ElementsPanel::scrollToElement(const ElementsLocation &location) { // recherche l'element dans le panel QTreeWidgetItem *item = findLocation(location); if (!item) return(false); // s'assure que l'item ne soit pas filtre item -> setHidden(false); setCurrentItem(item); ensureHierarchyIsVisible(QList() << item); scrollToItem(item); return(true); } /** Met a jour le nom, l'info-bulle et l'icone de l'item representant un projet. @param project le projet dont il faut mettre a jour l'affichage */ void ElementsPanel::updateProjectItemInformations(QETProject *project) { // determine le QTWI correspondant au projet QTreeWidgetItem *qtwi_project = projects_.key(project); if (!qtwi_project) return; // determine le nom et l'icone du projet QString final_name(project -> pathNameTitle()); QString final_tooltip = project -> filePath(); if (final_tooltip.isEmpty()) { final_tooltip = tr( "Pas de fichier", "tooltip for a file-less project in the element panel" ); } qtwi_project -> setText(0, final_name); qtwi_project -> setToolTip(0, final_tooltip); qtwi_project -> setIcon(0, QET::Icons::Project); } /** @param diagram Schema dont on souhaite affiche le titre @return Un titre affichable, tenant compte du fait que le titre du schema peut etre vide. */ QString ElementsPanel::diagramTitleToDisplay(Diagram *diagram) const { return(diagram -> title().isEmpty() ? tr("Sch\351ma sans titre") : diagram -> title()); } /** @param items une liste de QTreeWidgetItem pour lesquels il faut s'assurer que eux et leurs parents sont visibles */ void ElementsPanel::ensureHierarchyIsVisible(QList items) { // remonte l'arborescence pour lister les categories contenant les elements filtres QSet parent_items; foreach(QTreeWidgetItem *item, items) { for (QTreeWidgetItem *parent_qtwi = item -> parent() ; parent_qtwi ; parent_qtwi = parent_qtwi -> parent()) { parent_items << parent_qtwi; } } // etend les parents foreach(QTreeWidgetItem *parent_qtwi, parent_items) { if (!parent_qtwi -> isExpanded()) parent_qtwi -> setExpanded(true); } // affiche les parents foreach(QTreeWidgetItem *parent_qtwi, parent_items) { if (parent_qtwi -> isHidden()) parent_qtwi -> setHidden(false); } } qelectrotech-0.22+svn897/sources/hotspoteditor.cpp0000644000175000017500000002517211342355132022203 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "hotspoteditor.h" /** Constructeur @param parent QWidget parent de cet editeur de hotspot */ HotspotEditor::HotspotEditor(QWidget *parent) : QWidget(parent), parts_rect_enabled(false) { informations_label_ = new QLabel( tr( "L'\351l\351ment doit \352tre assez grand pour contenir tout sa " "repr\351sentation graphique." ) ); sb_width = new QSpinBox(); sb_width -> setMinimum(1); sb_width -> setMaximum(1000); sb_width -> setValue(3); sb_width -> setSuffix(tr(" \32710 px")); sb_height = new QSpinBox(); sb_height -> setMinimum(1); sb_height -> setMaximum(1000); sb_height -> setValue(7); sb_height -> setSuffix(tr(" \32710 px")); sb_hotspot_x = new QSpinBox(); sb_hotspot_x -> setValue(15); sb_hotspot_x -> setSuffix(tr(" px")); sb_hotspot_x -> setSingleStep(10); sb_hotspot_y = new QSpinBox(); sb_hotspot_y -> setValue(35); sb_hotspot_y -> setSuffix(tr(" px")); sb_hotspot_y -> setSingleStep(10); diagram_scene = new Diagram(); diagram_scene -> border_and_inset.setColumnsWidth(50.0); diagram_scene -> border_and_inset.setNbColumns(3); diagram_scene -> border_and_inset.setRowsHeight(60.0); diagram_scene -> border_and_inset.setNbRows(2); diagram_scene -> border_and_inset.displayRows(false); diagram_scene -> border_and_inset.displayInset(false); diagram_view = new QGraphicsView(diagram_scene); diagram_view -> setMinimumSize( qRound(diagram_scene -> border_and_inset.diagramWidth() + (3 * Diagram::margin)), qRound(diagram_scene -> border_and_inset.diagramHeight() + (3 * Diagram::margin)) ); diagram_view -> setTransformationAnchor(QGraphicsView::AnchorUnderMouse); diagram_view -> setResizeAnchor(QGraphicsView::AnchorUnderMouse); diagram_view -> setAlignment(Qt::AlignLeft | Qt::AlignTop); hotspot_sync = new QCheckBox(tr("D\351placer l'\351l\351ment avec le hotspot")); hotspot_sync -> setChecked(true); connect(sb_width, SIGNAL(valueChanged(int)), this, SLOT(updateHotspotLimits())); connect(sb_height, SIGNAL(valueChanged(int)), this, SLOT(updateHotspotLimits())); connect(sb_width, SIGNAL(valueChanged(int)), this, SLOT(updateScene())); connect(sb_height, SIGNAL(valueChanged(int)), this, SLOT(updateScene())); connect(sb_hotspot_x, SIGNAL(valueChanged(int)), this, SLOT(updateScene())); connect(sb_hotspot_y, SIGNAL(valueChanged(int)), this, SLOT(updateScene())); connect(hotspot_sync, SIGNAL(stateChanged(int)), this, SLOT(updateScene())); QGridLayout *grid_layout = new QGridLayout(); grid_layout -> addWidget(new QLabel(tr("Dimensions")), 0, 0); grid_layout -> addWidget(new QLabel(tr("Largeur :")), 1, 0); grid_layout -> addWidget(sb_width, 1, 1); grid_layout -> addWidget(new QLabel(tr("Hauteur :")), 2, 0); grid_layout -> addWidget(sb_height, 2, 1); grid_layout -> addWidget(new QLabel(tr("Hotspot")), 3, 0); grid_layout -> addWidget(new QLabel(tr("Abscisse :")), 4, 0); grid_layout -> addWidget(sb_hotspot_x, 4, 1); grid_layout -> addWidget(new QLabel(tr("Ordonn\351e :")), 5, 0); grid_layout -> addWidget(sb_hotspot_y, 5, 1); grid_layout -> setRowStretch(6, 500); grid_layout -> setSpacing(3); QHBoxLayout *hlayout = new QHBoxLayout(); hlayout -> addLayout(grid_layout, 1); hlayout -> addWidget(diagram_view, 500); vlayout = new QVBoxLayout(this); vlayout -> setSpacing(0); vlayout -> addWidget(informations_label_); vlayout -> addLayout(hlayout, 1); updateScene(); updateHotspotLimits(); } /// @param w Nouvelle largeur de l'element, en dizaines de pixels void HotspotEditor::setElementWidth(uint w) { sb_width -> setValue(w); } /// @param h Nouvelle hauteur de l'element, en dizaines de pixels void HotspotEditor::setElementHeight(uint h) { sb_height -> setValue(h); } /// @return la Largeur de l'element en dizaines de pixels uint HotspotEditor::elementWidth10px() const { return(sb_width -> value()); } /// @return la hauteur de l'element en dizaines de pixels uint HotspotEditor::elementHeight10px() const { return(sb_height -> value()); } /// @return la Largeur de l'element en pixels uint HotspotEditor::elementWidth() const { return(sb_width -> value() * 10); } /// @return la hauteur de l'element en pixels uint HotspotEditor::elementHeight() const { return(sb_height -> value() * 10); } /// @param size La nouvelle taille de l'element, en dizaines de pixels void HotspotEditor::setElementSize(const QSize &size) { setElementWidth(size.width()); setElementWidth(size.height()); } /// @return la taille de l'element, en dizaines de pixels QSize HotspotEditor::elementSize10px() const { return(QSize(elementWidth10px(), elementHeight10px())); } /// @return la taille de l'element, en pixels QSize HotspotEditor::elementSize() const { return(QSize(elementWidth(), elementHeight())); } /// @param hs Nouvelle position du hotspot void HotspotEditor::setHotspot(const QPoint &hs) { sb_hotspot_x -> setValue(hs.x()); sb_hotspot_y -> setValue(hs.y()); } /// @return les coordonnees du hotspot de l'element QPoint HotspotEditor::hotspot() const { return(QPoint(sb_hotspot_x -> value(), sb_hotspot_y -> value())); } /// @param o_h l'ancien hotspot en cas d'edition du hotspot void HotspotEditor::setOldHotspot(const QPoint &o_h) { old_hotspot = o_h; } /// @return l'ancien hotspot en cas d'edition du hotspot QPoint HotspotEditor::oldHotspot() const { return(old_hotspot); } /** Specifie le rectangle delimitant les parties de l'element @param rect rectangle delimitant les parties de l'element */ void HotspotEditor::setPartsRect(const QRectF &rect) { parts_rect = rect; } /// @return le rectangle delimitant les parties de l'element QRectF HotspotEditor::partsRect() const { return(parts_rect); } /** @param a true pour activer l'affichage du rectangle representant l'element, false pour le desactiver */ void HotspotEditor::setPartsRectEnabled(bool a) { if (a != parts_rect_enabled) { if (a) vlayout -> addWidget(hotspot_sync); else vlayout -> removeWidget(hotspot_sync); } parts_rect_enabled = a; updateScene(); } /** @return true si l'affichage du rectangle representant l'element est active, false sinon */ bool HotspotEditor::partsRectEnabled() { return(parts_rect_enabled); } /// @return true s'il sera necessaire d'appliquer une translation aux parties de l'elements bool HotspotEditor::mustTranslateParts() const { // il sera necessaire d'appliquer une translation aux parties de l'elements // si le hotspot a ete change et si l'element ne suit pas le hotspot bool hotspot_change = !old_hotspot.isNull() && old_hotspot != hotspot(); return(hotspot_change && !hotspot_sync -> isChecked()); } /// @return La translation a faire subir aux parties de l'element apres l'edition du hotspot QPoint HotspotEditor::offsetParts() const { // si le hotspot n'a pas ete change ou si l'element doit suivre le hotspot, // il n'est pas necessaire d'appliquer une translation aux parties de // l'elements if (!mustTranslateParts()) return(QPoint(0,0)); else return(old_hotspot - hotspot()); } /** @return true si ce widget est en lecture seule, false sinon */ bool HotspotEditor::isReadOnly() const { return(sb_width -> isReadOnly()); } /** @param ro true pour passer ce widget en lecture seule, false sinon */ void HotspotEditor::setReadOnly(bool ro) { sb_width -> setReadOnly(ro); sb_height -> setReadOnly(ro); sb_hotspot_x -> setReadOnly(ro); sb_hotspot_y -> setReadOnly(ro); hotspot_sync -> setDisabled(ro); } /** Met a jour le schema */ void HotspotEditor::updateScene() { // nettoie la scene foreach (QGraphicsItem *qgi, diagram_scene -> items()) { diagram_scene -> removeItem(qgi); delete qgi; } int elmt_width = sb_width -> value() * 10; int elmt_height = sb_height -> value() * 10; int hotspot_x = sb_hotspot_x -> value(); int hotspot_y = sb_hotspot_y -> value(); int margin_x = 10; int margin_y = 30; // dessin du cadre representant les dimensions de l'element diagram_scene -> addRect(QRectF(margin_x, margin_y, elmt_width, elmt_height)); // dessin des deux segments representant le point de saisie de l'element QPen hotspot_pen(Qt::red); QGraphicsLineItem *line_hotspot_x = diagram_scene -> addLine( QLine( margin_x, margin_y + hotspot_y, margin_x + elmt_width, margin_y + hotspot_y ), hotspot_pen ); QGraphicsLineItem *line_hotspot_y = diagram_scene -> addLine( QLine( margin_x + hotspot_x, margin_y, margin_x + hotspot_x, margin_y + elmt_height ), hotspot_pen ); line_hotspot_x -> setZValue(10); line_hotspot_y -> setZValue(10); // dessin eventuel du rectangle representant l'element if (parts_rect_enabled) { QPen element_pen(Qt::blue); QBrush element_brush(QColor(0, 0, 255, 100)); QRectF parts_rect_to_draw; if (!hotspot_sync -> isChecked() && !old_hotspot.isNull()) { // coordonnees de l'ancien hotspot sur le schema QPointF current_old_hotspotf(margin_x + old_hotspot.x(), margin_y + old_hotspot.y()); QPoint current_old_hotspot(current_old_hotspotf.toPoint()); // laisse l'element en place par rapport au coin superieur gauche parts_rect_to_draw = parts_rect.translated(current_old_hotspot); } else { // coordonnees du nouveau hotspot sur le schema QPointF current_hotspotf(line_hotspot_y -> line().x1(), line_hotspot_x -> line().y1()); QPoint current_hotspot(current_hotspotf.toPoint()); // deplace l'element en meme temps que le hotspot parts_rect_to_draw = parts_rect.translated(current_hotspot); } QGraphicsRectItem *rect_element = diagram_scene -> addRect(parts_rect_to_draw, element_pen, element_brush); rect_element -> setZValue(5); } diagram_scene -> setSceneRect(QRect(0, 0, elmt_width + (2 * margin_x) + 15, elmt_height + (2 * margin_y))); diagram_scene -> update(); } /** Met a jour les limites des QSpinBox */ void HotspotEditor::updateHotspotLimits() { sb_hotspot_x -> setMaximum(sb_width -> value() * 10); sb_hotspot_y -> setMaximum(sb_height -> value() * 10); } qelectrotech-0.22+svn897/sources/qettabwidget.cpp0000644000175000017500000000452611342306445021763 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qettabwidget.h" #include #include #include "qettabbar.h" /** Constructeur @param parent QWidget parent */ QETTabWidget::QETTabWidget(QWidget *parent) : QTabWidget(parent) { tab_bar_ = new QETTabBar(this); setTabBar(tab_bar_); // re-emet les signaux emis par la barre d'onglets connect(tab_bar_, SIGNAL(lastTabRemoved()), this, SIGNAL(lastTabRemoved())); connect(tab_bar_, SIGNAL(firstTabInserted()), this, SIGNAL(firstTabInserted())); connect(tab_bar_, SIGNAL(tabMoved(int, int)), this, SIGNAL(tabMoved(int, int))); connect(tab_bar_, SIGNAL(tabDoubleClicked(int)), this, SIGNAL(tabDoubleClicked(int))); } /** Destructeur */ QETTabWidget::~QETTabWidget() { } /** @param movable true pour que les onglets soient deplacables, false sinon */ void QETTabWidget::setMovable(bool movable) { #if QT_VERSION < 0x040500 tab_bar_ -> setMovable(movable); #else QTabWidget::setMovable(movable); #endif } /** @return true si les onglets sont deplacables, false sinon */ bool QETTabWidget::isMovable() const { #if QT_VERSION < 0x040500 return(tab_bar_ -> isMovable()); #else return(QTabWidget::isMovable()); #endif } QETTabBar *QETTabWidget::tabBar() const { return(tab_bar_); } /** Gere les evenements rollette sur cette barre d'onglets @param event Evenement rollette */ void QETTabWidget::wheelEvent(QWheelEvent *event) { QTabBar *tab_bar = tabBar(); // rectangle occupe par la barre d'onglets QRect tab_bar_region(QPoint(0, 0), QSize(size().width(), tab_bar -> size().height())); if (tab_bar_region.contains(event -> pos())) { QCoreApplication::sendEvent(tab_bar, event); } else { event -> ignore(); } } qelectrotech-0.22+svn897/sources/xmlelementscollection.cpp0000644000175000017500000000656711320140732023706 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "xmlelementscollection.h" #include "xmlelementscategory.h" #include "qetproject.h" /** Construit une collection vide @param parent Item parent */ XmlElementsCollection::XmlElementsCollection(ElementsCollectionItem *parent) : ElementsCollection(parent) { protocol_ = "unknown"; project_ = 0; // cree une categorie racine vide root = new XmlElementsCategory(0, this); connect(root, SIGNAL(written()), this, SLOT(componentWritten())); } /** Construit une collection a partir d'un element XML suppose la decrire @param xml_element Element XML decrivant la collection @param parent Item parent */ XmlElementsCollection::XmlElementsCollection(const QDomElement &xml_element, ElementsCollectionItem *parent) : ElementsCollection(parent) { protocol_ = "unknown"; project_ = 0; // cree sa categorie racine a partir de l'element XML root = new XmlElementsCategory(xml_element, 0, this); connect(root, SIGNAL(written()), this, SLOT(componentWritten())); } /** Destructeur */ XmlElementsCollection::~XmlElementsCollection() { deleteContent(); } ElementsCategory *XmlElementsCollection::rootCategory() { return(root); } /** @return toujours false ; une collection XML n'est representee nul part sur le systeme de fichiers. */ bool XmlElementsCollection::hasFilePath() { return(false); } /** @return le chemin du repertoire representant cette collection */ QString XmlElementsCollection::filePath() { return(QString()); } /** Ne fait rien - une collection XML n'est representee nul part sur le systeme de fichiers. */ void XmlElementsCollection::setFilePath(const QString &) { } void XmlElementsCollection::reload() { if (root) root -> reload(); } /** @return toujours true */ bool XmlElementsCollection::exists() { return(true); } /** @return true si la collection est accessible en lecture */ bool XmlElementsCollection::isReadable() { // une collection XML n'a aucune raison de ne pas etre accessible en lecture return(true); } bool XmlElementsCollection::isWritable() { // une collection XML peut etre en lecture seule si le projet auquel elle // appartient l'est if (QETProject *parent_project = project()) { return(!parent_project -> isReadOnly()); } else { return(true); } } bool XmlElementsCollection::write() { emit(written()); return(true); } QDomElement XmlElementsCollection::writeXml(QDomDocument &xml_doc) const { QDomElement collection_elmt = root -> writeXml(xml_doc); collection_elmt.setTagName("collection"); xml_doc.appendChild(collection_elmt); return(collection_elmt); } void XmlElementsCollection::componentWritten() { write(); } /** Supprime le contenu en memoire de cette collection */ void XmlElementsCollection::deleteContent() { delete root; root = 0; } qelectrotech-0.22+svn897/sources/qetproject.h0000644000175000017500000001262311320140732021110 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_PROJECT_H #define QET_PROJECT_H #include #include #include "nameslist.h" #include "elementslocation.h" #include "borderproperties.h" #include "conductorproperties.h" #include "insetproperties.h" class Diagram; class ElementsCollection; class ElementsCategory; class ElementDefinition; class ElementsLocation; class XmlElementsCollection; class MoveElementsHandler; /** Cette classe represente un projet QET. Typiquement enregistre dans un fichier, il s'agit d'un document XML integrant des schemas ainsi qu'une collection d'elements embarques. Ce dernier attribut permet d'exporter des schema sur d'autres machines sans se soucier de la presence des elements sur celle-ci. La classe QETProject gere l'enregistrement partiel. Ainsi, enregistrer les modifications apportees a un element reenregistrera le fichier mais en mettant a jour seulement les parties du document XML concerne. */ class QETProject : public QObject { Q_OBJECT // constructeurs, destructeur public: QETProject(int = 1, QObject * = 0); QETProject(const QString &, QObject * = 0); QETProject(const QDomElement &, QObject * = 0); virtual ~QETProject(); private: QETProject(const QETProject &); // enums public: /** Represente l'etat du projet */ enum ProjectState { Ok = 0, /// Le projet n'est pas en erreur FileOpenFailed = 1, /// l'ouverture d'un fichier a echoue XmlParsingFailed = 2, /// l'analyse XML a echoue ProjectParsingFailed = 3 /// la lecture en tant que projet a echoue }; // methodes public: ProjectState state() const; QList diagrams() const; ElementsCollection *embeddedCollection() const; QString filePath(); void setFilePath(const QString &); QString currentDir() const; QString pathNameTitle() const; QString title() const; void setTitle(const QString &); BorderProperties defaultBorderProperties() const; void setDefaultBorderProperties(const BorderProperties &); InsetProperties defaultInsetProperties() const; void setDefaultInsetProperties(const InsetProperties &); ConductorProperties defaultConductorProperties() const; void setDefaultConductorProperties(const ConductorProperties &); QDomDocument toXml(); bool close(); bool write(); bool isReadOnly() const; void setReadOnly(bool); bool isEmpty() const; bool ensureIntegrationCategoryExists(); ElementsCategory *integrationCategory() const; QString integrateElement(const QString &, QString &); QString integrateElement(const QString &, MoveElementsHandler *, QString &); bool usesElement(const ElementsLocation &); void cleanUnusedElements(MoveElementsHandler *); void cleanEmptyCategories(MoveElementsHandler *); bool projectWasModified(); bool embeddedCollectionWasModified(); bool diagramsWereModified(); public slots: void componentWritten(); Diagram *addNewDiagram(); void removeDiagram(Diagram *); void diagramOrderChanged(int, int); signals: void projectFilePathChanged(QETProject *, const QString &); void projectTitleChanged(QETProject *, const QString &); void projectInformationsChanged(QETProject *); void diagramAdded(QETProject *, Diagram *); void diagramRemoved(QETProject *, Diagram *); void readOnlyChanged(QETProject *, bool); private slots: void updateDiagramsFolioData(); private: ElementsCategory *rootCategory() const; void readProjectXml(); void readDiagramsXml(); void readElementsCollectionXml(); void readDefaultPropertiesXml(); void writeDefaultPropertiesXml(QDomElement &); void addDiagram(Diagram *); NamesList namesListForIntegrationCategory(); ElementsLocation copyElementWithHandler(ElementDefinition *, ElementsCategory *, MoveElementsHandler *, QString &); // attributs private: /// Chemin du fichier dans lequel ce projet est enregistre QString file_path_; /// Etat du projet ProjectState state_; /// Element XML representant le projet QDomDocument document_root_; /// Schemas contenus dans le projet QList diagrams_; /// Collection d'elements embarquee XmlElementsCollection *collection_; /// Titre du projet QString project_title_; /// booleen indiquant si le projet est en ReadOnly ou non bool read_only_; /// Chemin du fichier pour lequel ce projet est considere comme etant en lecture seule QString read_only_file_path_; /// Nom de la categorie a utiliser pour l'integration automatique des elements static QString integration_category_name; /// Dimensions par defaut pour les nouveaux schemas dans ce projet BorderProperties default_border_properties_; /// Proprietes par defaut des conducteurs pour les nouveaux schemas dans ce projet ConductorProperties default_conductor_properties_; /// Proprietes par defaut du cartouche pour les nouveaux schemas dans ce projet InsetProperties default_inset_properties_; }; #endif qelectrotech-0.22+svn897/sources/xmlelementscategory.h0000644000175000017500000000550611320140732023025 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef XML_ELEMENTS_CATEGORY #define XML_ELEMENTS_CATEGORY #include #include "elementscategory.h" class XmlElementsCollection; class XmlElementDefinition; /** Cette classe represente une categorie d'elements issue d'un document XML (typiquement : un projet QET). */ class XmlElementsCategory : public ElementsCategory { Q_OBJECT // constructeurs, destructeur public: XmlElementsCategory(XmlElementsCategory * = 0, XmlElementsCollection * = 0); XmlElementsCategory(const QDomElement &, XmlElementsCategory * = 0, XmlElementsCollection * = 0); virtual ~XmlElementsCategory(); private: XmlElementsCategory(const XmlElementsCategory &); // methodes public: virtual QString pathName() const; virtual QString virtualPath(); virtual QString filePath(); virtual bool hasFilePath(); virtual void setFilePath(const QString &); virtual QList categories(); virtual ElementsCategory *category(const QString &); virtual ElementsCategory *createCategory(const QString &); virtual QList elements(); virtual ElementDefinition *element(const QString &); virtual ElementDefinition *createElement(const QString &); virtual bool exists(); virtual bool isReadable(); virtual bool isWritable(); virtual void reload(); virtual bool remove(); virtual bool removeContent(); virtual bool write(); virtual QDomElement writeXml(QDomDocument &) const; public slots: void componentWritten(); void componentRemoved(const QString &path); signals: void written(); void removed(const QString &); private: void deleteContent(); void loadContent(const QDomElement &); // attributs protected: /// Collection parente, de type XML XmlElementsCollection *xml_parent_collection_; /// Categorie parente, de type XML XmlElementsCategory *xml_parent_category_; /// Sous-categories contenues dans cette categorie QHash categories_; /// Elements contenus dans cette categorie QHash elements_; /// Nom de cette categorie dans l'arborescence QString name_; /// Description XML de cette categorie QDomDocument xml_element_; }; #endif qelectrotech-0.22+svn897/sources/elementdialog.cpp0000644000175000017500000002777511320140732022112 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementdialog.h" #include #include "qetapp.h" #include "elementscategorieslist.h" #include "elementscollectionitem.h" #include "qfilenameedit.h" #include "qetmessagebox.h" /** Constructeur par defaut. Construit un dialogue permettant d'ouvrir un element @param mode Mode du dialogue @see ElementDialog::Mode @param parentWidget QWidget parent @param parent QObject parent */ ElementDialog::ElementDialog(uint mode, QWidget *parentWidget, QObject *parent) : QObject(parent), mode_(mode), buttons_(0), list_(0), textfield_(0) { dialog_ = new QDialog(parentWidget); dialog_ -> setWindowModality(Qt::WindowModal); #ifdef Q_WS_MAC dialog_ -> setWindowFlags(Qt::Sheet); #endif buttons_ = new QDialogButtonBox(); // types selectionnables dans la liste bool display_elements = (mode_ == OpenElement || mode_ == SaveElement); int selectables = 0; switch(mode_) { case OpenElement: selectables = QET::Element; break; case SaveElement: selectables = QET::All; break; case OpenCategory: selectables = QET::Category | QET::Collection; break; case SaveCategory: selectables = QET::Category | QET::Collection; break; } list_ = new ElementsCategoriesList(display_elements, selectables); connect(list_, SIGNAL(locationChanged(const ElementsLocation &)), this, SLOT(locationChanged(const ElementsLocation &))); // titre et label if (!mode) { title_ = tr("Ouvrir un \351l\351ment", "dialog title"); label_ = tr("Choisissez l'\351l\351ment que vous souhaitez ouvrir.", "dialog content"); } else if (mode == 1) { title_ = tr("Enregistrer un \351l\351ment", "dialog title"); label_ = tr("Choisissez l'\351l\351ment dans lequel vous souhaitez enregistrer votre d\351finition.", "dialog content"); } else if (mode == 2) { title_ = tr("Ouvrir une cat\351gorie", "dialog title"); label_ = tr("Choisissez une cat\351gorie.", "dialog content"); } else { title_ = tr("Enregistrer une cat\351gorie", "dialog title"); label_ = tr("Choisissez une cat\351gorie.", "dialog content"); } // mode ouverture / enregistrement if (mode_ == SaveCategory || mode_ == SaveElement) { buttons_ -> setStandardButtons(QDialogButtonBox::Save | QDialogButtonBox::Cancel); textfield_ = new QFileNameEdit(); connect(textfield_, SIGNAL(textChanged(const QString &)), this, SLOT(textFieldChanged(const QString &))); } else { buttons_ -> setStandardButtons(QDialogButtonBox::Open | QDialogButtonBox::Cancel); } // connexions boutons -> dialogue connect(buttons_, SIGNAL(accepted()), this, SLOT(checkDialog())); connect(buttons_, SIGNAL(rejected()), dialog_, SLOT(reject())); // connexions dialogue -> classe connect(dialog_, SIGNAL(accepted()), this, SLOT(dialogAccepted())); connect(dialog_, SIGNAL(rejected()), this, SLOT(dialogRejected())); makeInterface(); } /** Destructeur */ ElementDialog::~ElementDialog() { dialog_ -> setParent(0); delete dialog_; } /** Affiche un dialogue permettant a l'utilisateur de selectionner une categorie existant deja @param parentWidget QWidget parent @return le chemin virtuel de cette categorie */ ElementsLocation ElementDialog::getExistingCategoryLocation(QWidget *parentWidget) { return(ElementDialog::execConfiguredDialog(ElementDialog::OpenCategory, parentWidget)); } /** Affiche un dialogue permettant a l'utilisateur de selectionner une nouvelle categorie @param parentWidget QWidget parent @return le chemin virtuel de cette categorie */ ElementsLocation ElementDialog::getNewCategoryLocation(QWidget *parentWidget) { return(ElementDialog::execConfiguredDialog(ElementDialog::SaveCategory, parentWidget)); } /** Affiche un dialogue permettant a l'utilisateur de selectionner un element a ouvrir @param parentWidget QWidget parent @return le chemin virtuel de cet element */ ElementsLocation ElementDialog::getOpenElementLocation(QWidget *parentWidget) { return(ElementDialog::execConfiguredDialog(ElementDialog::OpenElement, parentWidget)); } /** Affiche un dialogue permettant a l'utilisateur de selectionner un element (existant ou non) qu'il souhaite enregistrer @param parentWidget QWidget parent @return le chemin virtuel de cet element */ ElementsLocation ElementDialog::getSaveElementLocation(QWidget *parentWidget) { return(ElementDialog::execConfiguredDialog(ElementDialog::SaveElement, parentWidget)); } /** Lance un dialogue selon la configuration mode @param mode Mode du dialogue @param parentWidget QWidget parent */ ElementsLocation ElementDialog::execConfiguredDialog(int mode, QWidget *parentWidget) { ElementDialog element_dialog(mode, parentWidget); element_dialog.exec(); return(element_dialog.location()); } /** Assemble les widgets pour obtenir le dialogue final */ void ElementDialog::makeInterface() { dialog_ -> setWindowTitle(title_); // disposition verticale QVBoxLayout *layout = new QVBoxLayout(dialog_); layout -> addWidget(new QLabel(label_)); layout -> addWidget(list_); if (textfield_) { QHBoxLayout *filename_layout = new QHBoxLayout(); filename_layout -> addWidget(new QLabel(tr("Nom :"))); filename_layout -> addWidget(textfield_); layout -> addLayout(filename_layout); } layout -> addWidget(buttons_); } /** Execute le dialogue @return QDialog::Accepted si le dialogue a ete accepte, false sinon @see DialogCode */ int ElementDialog::exec() { return(dialog_ -> exec()); } /** @return le chemin virtuel choisi via le dialogue Si l'utilisateur n'a pas pu faire son choix, une chaine vide est retournee. */ ElementsLocation ElementDialog::location() const { return(location_); } /** gere le changement de chemin virtuel par l'utilisateur @param new_loc le nouveau chemin virtuel choisi par l'utilisateur */ void ElementDialog::locationChanged(const ElementsLocation &new_loc) { ElementsCollectionItem *item = QETApp::collectionItem(new_loc); if (!item) return; if (mode_ == OpenElement) { buttons_ -> button(QDialogButtonBox::Open) -> setEnabled(item -> isElement()); } else if (mode_ == SaveElement) { // si l'utilisateur choisit un element existant, on desactive le champ textfield_ -> setEnabled(!item -> isElement()); // il faut soit un element selectionne soit une categorie et un nom buttons_ -> button(QDialogButtonBox::Save) -> setEnabled( ((item -> isCategory() || item -> isCollection()) && !textfield_ -> text().isEmpty()) ||\ item -> isElement() ); } else if (mode_ == OpenCategory) { /// @todo } else if (mode_ == SaveCategory) { /// @todo } location_ = new_loc; } /** Gere le changement de contenu dans le champ de texte @param text Contenu du champ de texte */ void ElementDialog::textFieldChanged(const QString &text) { ElementsCollectionItem *item = QETApp::collectionItem(list_ -> selectedLocation()); if (!item) return; if (mode_ == SaveElement) { // il faut soit un element selectionne soit une categorie et un nom buttons_ -> button(QDialogButtonBox::Save) -> setEnabled( ((item -> isCategory() || item -> isCollection()) && !text.isEmpty()) ||\ item -> isElement() ); } else if (mode_ == SaveCategory) { // il faut forcement un nom pour la nouvelle categorie buttons_ -> button(QDialogButtonBox::Save) -> setEnabled(!text.isEmpty()); } } /** Verifie l'etat du dialogue au moment ou l'utilisateur le valide. */ void ElementDialog::checkDialog() { // verifie si ce qui a ete selectionne par l'utilisateur correspond au mode du widget if (mode_ == OpenElement) { // l'utilisateur doit avoir choisi un element existant // on verifie d'abord que l'utilisateur a choisi quelque chose ElementsLocation location = list_ -> selectedLocation(); if (location.isNull()) { QET::MessageBox::critical( dialog_, tr("Pas de s\351lection", "message box title"), tr("Vous devez s\351lectionner un \351l\351ment.", "message box content") ); return; } // on verifie donc que la selection existe ElementsCollectionItem *item = QETApp::collectionItem(location); if (!item) { QET::MessageBox::critical( dialog_, tr("S\351lection inexistante", "message box title"), tr("La s\351lection n'existe pas.", "message box content") ); return; } // puis on verifie qu'il s'agit bien d'un element if (!item -> isElement()) { QET::MessageBox::critical( dialog_, tr("S\351lection incorrecte", "message box title"), tr("La s\351lection n'est pas un \351l\351ment.", "message box content") ); return; } location_ = location; } else if (mode_ == SaveElement) { /* l'utilisateur doit avoir choisi soit : -une categorie et un nom d'element -un element existant */ ElementsLocation location = list_ -> selectedLocation(); if (location.isNull()) { QET::MessageBox::critical( dialog_, tr("Pas de s\351lection", "message box title"), tr("Vous devez s\351lectionner une cat\351gorie ou un \351l\351ment.", "message box content") ); return; } // on verifie donc que la selection existe ElementsCollectionItem *item = QETApp::collectionItem(location); if (!item) { QET::MessageBox::critical( dialog_, tr("S\351lection inexistante", "message box title"), tr("La s\351lection n'existe pas.", "message box content") ); return; } ElementsLocation final_location(location); if (!item -> isElement()) { QString element_name(textfield_ -> text()); // si on a une categorie (ou une collection), il nous faut un nom d'element if (element_name.isEmpty()) { QET::MessageBox::critical( dialog_, tr("Nom manquant", "message box title"), tr("Vous devez entrer un nom pour l'\351l\351ment", "message box content") ); return; } // ce nom d'element doit etre valide if (QET::containsForbiddenCharacters(element_name)) { QET::MessageBox::critical( dialog_, tr("Nom invalide", "message box title"), QString( tr( "Vous ne pouvez pas utiliser les caract\350res " "suivants dans le nom de l'\351l\351ment : %1" ) ).arg(QET::forbiddenCharactersString(true)) ); return; } // ajoute .elmt a la fin du nom si necessaire if (!element_name.endsWith(".elmt", Qt::CaseInsensitive)) { element_name += ".elmt"; } final_location.addToPath(element_name); } // determine si l'element n'existe pas deja bool element_already_exists = ( item -> isElement() ||\ QETApp::collectionItem(final_location) ); // si l'element existe, on demande confirmation pour son ecrasement if (element_already_exists) { QMessageBox::StandardButton answer = QET::MessageBox::question( dialog_, tr("\311craser l'\351l\351ment ?", "message box title"), tr("L'\351l\351ment existe d\351j\340. Voulez-vous l'\351craser ?", "message box content"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::No ); if (answer != QMessageBox::Yes) return; } location_ = final_location; } else if (mode_ == OpenCategory) { // l'utilisateur doit avoir choisi une categorie ou une collection existante /// @todo effectuer les verifications necessaires } else if (mode_ == SaveCategory) { // l'utilisateur doit avoir choisi une categorie inexistante /// @todo effectuer les verifications necessaires } // le dialogue est verifie, il peut etre accepte dialog_ -> accept(); } /** Slot execute apres la validation du dialogue par l'utilisateur */ void ElementDialog::dialogAccepted() { } /** Gere le rejet du dialogue par l'utilisateur. */ void ElementDialog::dialogRejected() { location_ = ElementsLocation(); } qelectrotech-0.22+svn897/sources/elementscollection.h0000644000175000017500000000636411320140732022625 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTS_COLLECTION_H #define ELEMENTS_COLLECTION_H #include #include "elementscollectionitem.h" class QETProject; class ElementsCategory; class ElementDefinition; class MoveElementsHandler; /** Cette classe abstraite represente une collection d'elements. Il peut s'agir de la collection QET, de la collection utilisateur ou encore de la collection fournie par un fichier projet. */ class ElementsCollection : public ElementsCollectionItem { Q_OBJECT public: // constructeurs, destructeur ElementsCollection(ElementsCollectionItem * = 0); virtual ~ElementsCollection(); private: ElementsCollection(const ElementsCollection &); // Implementations de methodes virtuelles pures des classes parentes public: virtual bool isCollection() const; virtual bool isRootCategory() const; virtual bool isCategory() const; virtual bool isElement() const; virtual ElementsCollection *toCollection(); virtual ElementsCategory *toCategory(); virtual ElementsCategory *toPureCategory(); virtual ElementDefinition *toElement(); virtual ElementsCollectionItem *copy(ElementsCategory *, MoveElementsHandler *, bool = true); virtual ElementsCollectionItem *move(ElementsCategory *, MoveElementsHandler *); virtual bool removeContent(); virtual bool remove(); virtual QETProject *project(); virtual void setProject(QETProject *); virtual QString protocol(); virtual void setProtocol(const QString &); virtual ElementsCategory *parentCategory(); virtual QList parentCategories(); virtual bool hasParentCategory(); virtual ElementsCollection *parentCollection(); virtual bool hasParentCollection(); virtual bool isChildOf(ElementsCollectionItem *); virtual QString pathName() const; virtual QString virtualPath(); virtual QString fullVirtualPath(); virtual ElementsLocation location(); virtual QList categories(); virtual ElementsCategory *category(const QString &); virtual ElementsCategory *createCategory(const QString &); virtual QList elements(); virtual ElementDefinition *element(const QString &); virtual ElementDefinition *createElement(const QString &); virtual bool isEmpty(); // Methodes propres a la classe ElementsCollection public: /** @return la categorie racine de cette collection */ virtual ElementsCategory *rootCategory() = 0; virtual ElementsCollectionItem *item(const QString &, bool = true); // attributs protected: /// Protocole utilise pour acceder a cette collection QString protocol_; /// Projet auquel appartient cette collection QETProject *project_; }; #endif qelectrotech-0.22+svn897/sources/diagram.h0000644000175000017500000002234211320140732020333 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef SCHEMA_H #define SCHEMA_H #include #include #include "borderinset.h" #include "qgimanager.h" #include "conductorproperties.h" #include "exportproperties.h" class Element; class CustomElement; class Terminal; class Conductor; class DiagramTextItem; class DiagramContent; class DiagramPosition; class QETProject; class ElementsLocation; /** Cette classe represente un schema electrique. Elle gere les differents elements et conducteurs qui le composent et en effectue le rendu graphique. */ class Diagram : public QGraphicsScene { Q_OBJECT // constructeurs, destructeur public: Diagram(QObject * = 0); virtual ~Diagram(); private: Diagram(const Diagram &diagram); // attributs public: /** Represente les options possibles pour l'affichage du schema : * EmptyBorder : N'afficher que la bordure * Inset : Afficher le cartouche * Columns : Afficher les colonnes */ enum BorderOptions { EmptyBorder, Inset, Columns }; /// Proprietes par defaut des nouveaux conducteurs ConductorProperties defaultConductorProperties; /// Dimensions et cartouches du schema BorderInset border_and_inset; /// Mouvement en cours lors d'un deplacement d'elements et conducteurs QPointF current_movement; /// taille de la grille en abscisse static const int xGrid; /// taille de la grille en ordonnee static const int yGrid; /// marge autour du schema static const qreal margin; private: QGraphicsLineItem *conductor_setter; bool draw_grid; bool use_border; bool moved_elements_fetched; QSet elements_to_move; QSet conductors_to_move; QHash conductors_to_update; QSet texts_to_move; QGIManager *qgi_manager; QUndoStack *undo_stack; bool draw_terminals; bool draw_colored_conductors_; QDomDocument xml_document; QETProject *project_; bool read_only_; // methodes protected: virtual void drawBackground(QPainter *, const QRectF &); virtual void keyPressEvent(QKeyEvent *); virtual void keyReleaseEvent(QKeyEvent *); public: static bool clipboardMayContainDiagram(); // fonctions relatives au projet parent QETProject *project() const; void setProject(QETProject *); // fonctions relatives a la lecture seule bool isReadOnly() const; void setReadOnly(bool); // fonctions relatives a la pose de conducteurs void setConductor(bool); void setConductorStart (QPointF); void setConductorStop(QPointF); // fonctions relatives a l'import / export XML QDomDocument toXml(bool = true); bool initFromXml(QDomElement &, QPointF = QPointF(), bool = true, DiagramContent * = 0); bool fromXml(QDomDocument &, QPointF = QPointF(), bool = true, DiagramContent * = 0); bool fromXml(QDomElement &, QPointF = QPointF(), bool = true, DiagramContent * = 0); void write(); void write(const QDomElement &); bool wasWritten() const; QDomElement writeXml(QDomDocument &) const; // fonctions relative a l'ajout et a l'enlevement d'elements graphiques sur le schema void addElement(Element *); void addConductor(Conductor *); void addDiagramTextItem(DiagramTextItem *); void removeElement(Element *); void removeConductor(Conductor *); void removeDiagramTextItem(DiagramTextItem *); // fonctions relatives aux options graphiques ExportProperties applyProperties(const ExportProperties &); void setDisplayGrid(bool); bool displayGrid(); void setUseBorder(bool); bool useBorder(); void setBorderOptions(BorderOptions); BorderOptions borderOptions(); DiagramPosition convertPosition(const QPointF &); bool drawTerminals() const; void setDrawTerminals(bool); bool drawColoredConductors() const; void setDrawColoredConductors(bool); QRectF border() const; QString title() const; bool toPaintDevice(QPaintDevice &, int = -1, int = -1, Qt::AspectRatioMode = Qt::KeepAspectRatio); QSize imageSize() const; bool isEmpty() const; QList customElements() const; void invalidateMovedElements(); void fetchMovedElements(); const QSet &elementsToMove(); const QSet &conductorsToMove(); const QHash &conductorsToUpdate(); const QSet &textsToMove(); QSet selectedConductors() const; DiagramContent content() const; DiagramContent selectedContent(); bool canRotateSelection() const; void moveElements(const QPointF &, QGraphicsItem * = 0); bool usesElement(const ElementsLocation &); QUndoStack &undoStack(); QGIManager &qgiManager(); public slots: void diagramTextChanged(DiagramTextItem *, const QString &, const QString &); // fonctions relative a la selection sur le schema void selectAll(); void deselectAll(); void invertSelection(); signals: void written(); void readOnlyChanged(bool); }; /** Permet d'ajouter ou enlever le "poseur de conducteur", c'est-a-dire la droite en pointilles qui apparait lorsqu'on pose un conducteur entre deux bornes. @param pf true pour ajouter le poseur de conducteur, false pour l'enlever */ inline void Diagram::setConductor(bool pf) { if (pf) { if (!conductor_setter -> scene()) addItem(conductor_setter); } else { if (conductor_setter -> scene()) removeItem(conductor_setter); } } /** Specifie les coordonnees du point de depart du poseur de conducteur @param d Le nouveau point de depart du poseur de conducteur */ inline void Diagram::setConductorStart(QPointF d) { conductor_setter -> setLine(QLineF(d, conductor_setter -> line().p2())); } /** Specifie les coordonnees du point d'arrivee du poseur de conducteur @param a Le nouveau point d'arrivee du poseur de conducteur */ inline void Diagram::setConductorStop(QPointF a) { conductor_setter -> setLine(QLineF(conductor_setter -> line().p1(), a)); } /** Permet de specifier si la grille du schema doit etre dessinee ou non @param dg true pour afficher la grille, false pour ne pas l'afficher */ inline void Diagram::setDisplayGrid(bool dg) { draw_grid = dg; } /** Permet de savoir si la grille du schema est dessinee ou non @return true si la grille est affichee , false sinon */ inline bool Diagram::displayGrid() { return(draw_grid); } /** Permet de specifier si le cadre du schema doit etre pris en compte pour determiner le contour du schema. @param ub true pour prendre le schema en compte, false sinon */ inline void Diagram::setUseBorder(bool ub) { use_border = ub; } /** Permet de savoir si le cadre du schema est pris en compte pour determiner le contour du schema. */ inline bool Diagram::useBorder() { return(use_border); } /** Permet de definir les options du cadre, des colonnes et du cartouche. @param bo Un OU binaire entre les options possibles @see BorderOptions */ inline void Diagram::setBorderOptions(Diagram::BorderOptions bo) { border_and_inset.displayBorder(!(bo & EmptyBorder)); border_and_inset.displayColumns(bo & Columns); border_and_inset.displayInset(bo & Inset); } /** Permet de savoir les options du cadre, des colonnes et du cartouche. @return Un OU binaire entre les options possibles @see BorderOptions */ inline Diagram::BorderOptions Diagram::borderOptions() { BorderOptions retour = EmptyBorder; if (border_and_inset.insetIsDisplayed()) retour = (BorderOptions)(retour|Inset); if (border_and_inset.columnsAreDisplayed()) retour = (BorderOptions)(retour|Columns); return(retour); } /// @return la liste des elements a deplacer inline const QSet &Diagram::elementsToMove() { if (!moved_elements_fetched) fetchMovedElements(); return(elements_to_move); } /// @return la liste des conducteurs a deplacer inline const QSet &Diagram::conductorsToMove() { if (!moved_elements_fetched) fetchMovedElements(); return(conductors_to_move); } /// @return la liste des conducteurs a modifier (typiquement les conducteurs dont seul un element est deplace) inline const QHash &Diagram::conductorsToUpdate() { if (!moved_elements_fetched) fetchMovedElements(); return(conductors_to_update); } /// @return la liste des textes a deplacer inline const QSet &Diagram::textsToMove() { if (!moved_elements_fetched) fetchMovedElements(); return(texts_to_move); } /// @return la pile d'annulations de ce schema inline QUndoStack &Diagram::undoStack() { return(*undo_stack); } /// @return le egstionnaire de QGraphicsItem de ce schema inline QGIManager &Diagram::qgiManager() { return(*qgi_manager); } /// @return true si les bornes sont affichees, false sinon inline bool Diagram::drawTerminals() const { return(draw_terminals); } /// @return true si les couleurs des conducteurs sont respectees, false sinon inline bool Diagram::drawColoredConductors() const { return(draw_colored_conductors_); } #endif qelectrotech-0.22+svn897/sources/exportdialog.cpp0000644000175000017500000005731111320140732021767 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "exportdialog.h" #include #include #include "qeticons.h" #include "qetmessagebox.h" #include "exportpropertieswidget.h" #include "qetdiagrameditor.h" /** Constructeur @param project Le projet a exporter @param parent Le Widget parent de ce dialogue */ ExportDialog::ExportDialog(QETProject *project, QWidget *parent) : QDialog(parent) { if (!project) return; // recupere le projet a exporter project_ = project; // recupere les parametres d'export definis dans la configuration de l'application ExportProperties default_export_properties = QETDiagramEditor::defaultExportProperties(); // on utilise le repertoire du projet a exporter si possible if (!project_ -> filePath().isEmpty()) { default_export_properties.destination_directory = project_ -> currentDir(); } // la taille minimale du dialogue est fixee setMinimumSize(800, 390); resize(minimumSize()); setWindowTitle(tr("Exporter les sch\351mas du projet", "window title")); // options d'export, dans le widget epw epw = new ExportPropertiesWidget(default_export_properties); // le dialogue comporte deux boutons buttons = new QDialogButtonBox(this); buttons -> setOrientation(Qt::Horizontal); buttons -> setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Save); QPushButton *export_button = buttons -> button(QDialogButtonBox::Save); export_button -> setText(tr("Exporter")); // disposition des elements QVBoxLayout *layout = new QVBoxLayout(this); layout -> addWidget(new QLabel(tr("Choisissez les sch\351mas que vous d\351sirez exporter ainsi que leurs dimensions :"))); layout -> addWidget(initDiagramsListPart(), 1); layout -> addWidget(epw); layout -> addWidget(buttons); // connexions signaux/slots connect(epw, SIGNAL(formatChanged()), this, SLOT(slot_changeFilesExtension())); connect(epw, SIGNAL(exportedAreaChanged()), this, SLOT(slot_changeUseBorder())); connect(buttons, SIGNAL(accepted()), this, SLOT(slot_export())); connect(buttons, SIGNAL(rejected()), this, SLOT(reject())); // ajustement des extensions des fichiers slot_changeFilesExtension(true); } /** Destructeur - ne fait rien */ ExportDialog::~ExportDialog() { } /** @return le nombre de schemas coches (donc a exporter) */ int ExportDialog::diagramsToExportCount() const { int checked_diagrams_count = 0; foreach(ExportDiagramLine *diagram_line, diagram_lines_.values()) { if (diagram_line -> must_export -> isChecked()) ++ checked_diagrams_count; } return(checked_diagrams_count); } /** Met en place la liste des schemas @return Le widget representant la liste des schemas */ QWidget *ExportDialog::initDiagramsListPart() { preview_mapper_ = new QSignalMapper(this); width_mapper_ = new QSignalMapper(this); height_mapper_ = new QSignalMapper(this); ratio_mapper_ = new QSignalMapper(this); reset_mapper_ = new QSignalMapper(this); clipboard_mapper_ = new QSignalMapper(this); connect(preview_mapper_, SIGNAL(mapped(int)), this, SLOT(slot_previewDiagram(int))); connect(width_mapper_, SIGNAL(mapped(int)), this, SLOT(slot_correctHeight(int))); connect(height_mapper_, SIGNAL(mapped(int)), this, SLOT(slot_correctWidth(int))); connect(ratio_mapper_, SIGNAL(mapped(int)), this, SLOT(slot_keepRatioChanged(int))); connect(reset_mapper_, SIGNAL(mapped(int)), this, SLOT(slot_resetSize(int))); connect(clipboard_mapper_, SIGNAL(mapped(int)), this, SLOT(slot_exportToClipBoard(int))); diagrams_list_layout_ = new QGridLayout(); int line_count = 0; diagrams_list_layout_ -> addWidget(new QLabel(tr("Sch\351ma")), line_count, 1, Qt::AlignHCenter | Qt::AlignVCenter); diagrams_list_layout_ -> addWidget(new QLabel(tr("Nom de fichier")), line_count, 2, Qt::AlignHCenter | Qt::AlignVCenter); diagrams_list_layout_ -> addWidget(new QLabel(tr("Dimensions")), line_count, 3, Qt::AlignHCenter | Qt::AlignVCenter); // remplit la liste foreach (Diagram *diagram, project_ -> diagrams()) { ++ line_count; ExportDiagramLine *diagram_line = new ExportDiagramLine(diagram, diagramSize(diagram)); diagram_lines_.insert(line_count, diagram_line); diagrams_list_layout_ -> addWidget(diagram_line -> must_export, line_count, 0); diagrams_list_layout_ -> addWidget(diagram_line -> title_label, line_count, 1); diagrams_list_layout_ -> addWidget(diagram_line -> file_name, line_count, 2); diagrams_list_layout_ -> addLayout(diagram_line -> sizeLayout(), line_count, 3); // si on decoche tous les schemas, on desactive le bouton "Exporter" connect(diagram_line -> must_export, SIGNAL(toggled(bool)), this, SLOT(slot_checkDiagramsCount())); // mappings et signaux pour la gestion des dimensions du schema width_mapper_ -> setMapping(diagram_line -> width, line_count); height_mapper_ -> setMapping(diagram_line -> height, line_count); ratio_mapper_ -> setMapping(diagram_line -> keep_ratio, line_count); reset_mapper_ -> setMapping(diagram_line -> reset_size, line_count); connect(diagram_line -> width, SIGNAL(valueChanged(int)), width_mapper_, SLOT(map())); connect(diagram_line -> height, SIGNAL(valueChanged(int)), height_mapper_, SLOT(map())); connect(diagram_line -> keep_ratio, SIGNAL(toggled(bool)), ratio_mapper_, SLOT(map())); connect(diagram_line -> reset_size, SIGNAL(clicked(bool)), reset_mapper_, SLOT(map())); // mappings et signaux pour l'apercu du schema preview_mapper_ -> setMapping(diagram_line -> preview, line_count); connect(diagram_line -> preview, SIGNAL(clicked(bool)), preview_mapper_, SLOT(map())); // mappings et signaux pour l'export du schema vers le presse-papier clipboard_mapper_ -> setMapping(diagram_line -> clipboard, line_count); connect(diagram_line -> clipboard, SIGNAL(clicked(bool)), clipboard_mapper_, SLOT(map())); } QWidget *widget_diagrams_list = new QWidget(); widget_diagrams_list -> setLayout(diagrams_list_layout_); QScrollArea *scroll_diagrams_list = new QScrollArea(); scroll_diagrams_list -> setWidget(widget_diagrams_list); return(scroll_diagrams_list); } /** @param diagram Un schema @return le rapport largeur / hauteur du schema */ qreal ExportDialog::diagramRatio(Diagram *diagram) { QSize diagram_size = diagramSize(diagram); qreal diagram_ratio = (qreal)diagram_size.width() / (qreal)diagram_size.height(); return(diagram_ratio); } /** @param diagram Un schema @return les dimensions du schema, en tenant compte du type d'export : cadre ou elements */ QSize ExportDialog::diagramSize(Diagram *diagram) { // sauvegarde le parametre useBorder du schema bool state_useBorder = diagram -> useBorder(); // applique le useBorder adequat et calcule le ratio diagram -> setUseBorder(epw -> exportProperties().exported_area == QET::BorderArea); QSize diagram_size = diagram -> imageSize(); // restaure le parametre useBorder du schema diagram -> setUseBorder(state_useBorder); return(diagram_size); } /** Cette methode ajuste la largeur d'un des schemas a exporter en fonction de sa hauteur si et seulement si l'option "Conserver les proportions" est activee pour ce schema. @param diagram_id numero du schema concerne */ void ExportDialog::slot_correctWidth(int diagram_id) { // recupere l'ExportDiagramLine concernee ExportDialog::ExportDiagramLine *current_diagram = diagram_lines_[diagram_id]; if (!current_diagram) return; // ne fait rien si l'option "Conserver les proportions" n'est pas activee if (!(current_diagram -> keep_ratio -> isChecked())) return; // recupere les proportions du schema qreal diagram_ratio = diagramRatio(current_diagram -> diagram); // ajuste la largeur current_diagram -> width -> blockSignals(true); current_diagram -> width -> setValue(qRound(current_diagram -> height -> value() * diagram_ratio)); current_diagram -> width -> blockSignals(false); } /** Cette methode ajuste la hauteur d'un des schemas a exporter en fonction de sa largeur si et seulement si l'option "Conserver les proportions" est activee pour ce schema. @param diagram_id numero du schema concerne */ void ExportDialog::slot_correctHeight(int diagram_id) { // recupere l'ExportDiagramLine concernee ExportDialog::ExportDiagramLine *current_diagram = diagram_lines_[diagram_id]; if (!current_diagram) return; // ne fait rien si l'option "Conserver les proportions" n'est pas activee if (!(current_diagram -> keep_ratio -> isChecked())) return; // recupere les proportions du schema qreal diagram_ratio = diagramRatio(current_diagram -> diagram); // ajuste la hauteur current_diagram -> height -> blockSignals(true); current_diagram -> height -> setValue(qRound(current_diagram -> width -> value() / diagram_ratio)); current_diagram -> height -> blockSignals(false); } /** Prend en compte le fait qu'il faut desormais conserver ou non les proportions d'un des schemas @param diagram_id numero du schema concerne */ void ExportDialog::slot_keepRatioChanged(int diagram_id) { // recupere l'ExportDiagramLine concernee ExportDialog::ExportDiagramLine *current_diagram = diagram_lines_[diagram_id]; if (!current_diagram) return; // gere l'icone du bouton "Conserver les proportions" if (current_diagram -> keep_ratio -> isChecked()) { current_diagram -> keep_ratio -> setIcon(QET::Icons::ObjectLocked); } else { current_diagram -> keep_ratio -> setIcon(QET::Icons::ObjectUnlocked); } // ne fait rien si l'option "Conserver les proportions" n'est pas activee if (!(current_diagram -> keep_ratio -> isChecked())) return; // au contraire, si elle est activee, ajuste la hauteur en fonction de la largeur slot_correctHeight(diagram_id); } /** Reinitialise les dimensions d'un des schemas @param diagram_id numero du schema concerne */ void ExportDialog::slot_resetSize(int diagram_id) { // recupere l'ExportDiagramLine concernee ExportDialog::ExportDiagramLine *current_diagram = diagram_lines_[diagram_id]; if (!current_diagram) return; // recupere la taille du schema QSize diagram_size = diagramSize(current_diagram -> diagram); // reinitialise les champs largeur et hauteur current_diagram -> width -> blockSignals(true); current_diagram -> height -> blockSignals(true); current_diagram -> width -> setValue(diagram_size.width()); current_diagram -> height -> setValue(diagram_size.height()); current_diagram -> width -> blockSignals(false); current_diagram -> height -> blockSignals(false); } /** Genere l'image a exporter @param diagram Schema a exporter en SVG @param width Largeur de l'export @param height Hauteur de l'export @param keep_aspect_ratio True pour conserver le ratio, false sinon @return l'image a exporter */ QImage ExportDialog::generateImage(Diagram *diagram, int width, int height, bool keep_aspect_ratio) { saveReloadDiagramParameters(diagram, true); QImage image(width, height, QImage::Format_RGB32); diagram -> toPaintDevice( image, width, height, keep_aspect_ratio ? Qt::KeepAspectRatio : Qt::IgnoreAspectRatio ); saveReloadDiagramParameters(diagram, false); return(image); } /** Sauve ou restaure les parametres du schema @param diagram Schema dont on sauve ou restaure les parametres @param save true pour memoriser les parametres du schema et appliquer ceux definis par le formulaire, false pour restaurer les parametres */ void ExportDialog::saveReloadDiagramParameters(Diagram *diagram, bool save) { static ExportProperties state_exportProperties; if (save) { // memorise les parametres relatifs au schema tout en appliquant les nouveaux state_exportProperties = diagram -> applyProperties(epw -> exportProperties()); } else { // restaure les parametres relatifs au schema diagram -> applyProperties(state_exportProperties); } } /** Exporte le schema en SVG @param diagram Schema a exporter en SVG @param width Largeur de l'export SVG @param height Hauteur de l'export SVG @param keep_aspect_ratio True pour conserver le ratio, false sinon @param io_device Peripherique de sortie pour le code SVG (souvent : un fichier) */ void ExportDialog::generateSvg(Diagram *diagram, int width, int height, bool keep_aspect_ratio, QIODevice &io_device) { saveReloadDiagramParameters(diagram, true); // genere une QPicture a partir du schema QPicture picture; diagram -> toPaintDevice( picture, width, height, keep_aspect_ratio ? Qt::KeepAspectRatio : Qt::IgnoreAspectRatio ); // "joue" la QPicture sur un QSvgGenerator QSvgGenerator svg_engine; svg_engine.setSize(QSize(width, height)); svg_engine.setOutputDevice(&io_device); QPainter svg_painter(&svg_engine); picture.play(&svg_painter); saveReloadDiagramParameters(diagram, false); } /** Slot effectuant les exports apres la validation du dialogue. */ void ExportDialog::slot_export() { // recupere la liste des schemas a exporter QList diagrams_to_export; foreach(ExportDiagramLine *diagram_line, diagram_lines_.values()) { if (diagram_line -> must_export -> isChecked()) { diagrams_to_export << diagram_line; } } // verification #1 : chaque schema coche doit avoir un nom de fichier distinct QSet filenames; foreach(ExportDiagramLine *diagram_line, diagrams_to_export) { QString diagram_file = diagram_line -> file_name -> text(); if (!diagram_file.isEmpty()) { filenames << diagram_file; } } if (filenames.count() != diagrams_to_export.count()) { QET::MessageBox::warning( this, tr("Noms des fichiers cibles", "message box title"), tr( "Vous devez entrer un nom de fichier non vide et unique pour chaque " "sch\351ma \340 exporter.", "message box content" ) ); return; } // verification #2 : un chemin vers un dossier doit avoir ete specifie QDir target_dir_path(epw -> exportProperties().destination_directory); if (!target_dir_path.exists()) { QET::MessageBox::warning( this, tr("Dossier non sp\351cifi\351", "message box title"), tr("Vous devez sp\351cifier le chemin du dossier dans lequel seront enregistr\351s les fichiers images.", "message box content"), QMessageBox::Ok ); return; } // exporte chaque schema a exporter foreach(ExportDiagramLine *diagram_line, diagrams_to_export) { exportDiagram(diagram_line); } // fermeture du dialogue accept(); } /** Exporte un schema @param diagram_line La ligne decrivant le schema a exporter et la maniere de l'exporter */ void ExportDialog::exportDiagram(ExportDiagramLine *diagram_line) { ExportProperties export_properties(epw -> exportProperties()); // recupere le format a utiliser (acronyme et extension) QString format_acronym = export_properties.format; QString format_extension = "." + format_acronym.toLower(); // determine le nom de fichier a utiliser QString diagram_path = diagram_line -> file_name -> text(); // determine le chemin du fichier QDir target_dir_path(export_properties.destination_directory); diagram_path = target_dir_path.absoluteFilePath(diagram_path); // recupere des informations sur le fichier specifie QFileInfo file_infos(diagram_path); // verifie qu'il est possible d'ecrire dans le fichier en question if (file_infos.exists() && !file_infos.isWritable()) { QET::MessageBox::critical( this, tr("Impossible d'\351crire dans ce fichier", "message box title"), QString( tr( "Il semblerait que vous n'ayez pas les permissions " "n\351cessaires pour \351crire dans le fichier %1.", "message box content" ) ).arg(diagram_path), QMessageBox::Ok ); return; } // ouvre le fichier QFile target_file(diagram_path); // enregistre l'image dans le fichier if (format_acronym == "SVG") { generateSvg( diagram_line -> diagram, diagram_line -> width -> value(), diagram_line -> height -> value(), diagram_line -> keep_ratio -> isChecked(), target_file ); } else { QImage image = generateImage( diagram_line -> diagram, diagram_line -> width -> value(), diagram_line -> height -> value(), diagram_line -> keep_ratio -> isChecked() ); image.save(&target_file, format_acronym.toUtf8().data()); } target_file.close(); } /** Slot appele lorsque l'utilisateur change la zone du schema qui doit etre exportee. Il faut alors ajuster les dimensions des schemas. */ void ExportDialog::slot_changeUseBorder() { // parcourt les schemas a exporter foreach(int diagram_id, diagram_lines_.keys()) { ExportDiagramLine *diagram_line = diagram_lines_[diagram_id]; // corrige les dimensions des schemas dont il faut preserver le ratio if (diagram_line -> keep_ratio -> isChecked()) { slot_correctHeight(diagram_id); } } } /** Ce slot est appele quand un schema a ete coche ou decoche. Il active ou desactive le bouton "Exporter" en fonction du nombre de schemas coches, et il garde au plus un schema coche si on exporte vers le presse-papier. */ void ExportDialog::slot_checkDiagramsCount() { QPushButton *export_button = buttons -> button(QDialogButtonBox::Save); export_button -> setEnabled(diagramsToExportCount()); } /** Modifie les extensions des fichiers en fonction du format selectionne @param force_extension true pour ajouter l'extension si elle n'est pas presente, false pour se contenter de la modifier si elle est incorrecte. */ void ExportDialog::slot_changeFilesExtension(bool force_extension) { // recupere le format a utiliser (acronyme et extension) QString format_acronym = epw -> exportProperties().format; QString format_extension = "." + format_acronym.toLower(); // parcourt les schemas a exporter foreach(ExportDiagramLine *diagram_line, diagram_lines_.values()) { QString diagram_filename = diagram_line -> file_name -> text(); // cas 1 : l'extension est presente et correcte : on ne fait rien if (diagram_filename.endsWith(format_extension, Qt::CaseInsensitive)) { continue; } QFileInfo diagram_filename_info(diagram_filename); // cas 2 : l'extension est absente if (diagram_filename_info.suffix().isEmpty()) { if (force_extension) { diagram_filename = diagram_filename_info.completeBaseName() + format_extension; } } else { // cas 3 : l'extension est presente mais erronee diagram_filename = diagram_filename_info.completeBaseName() + format_extension; } diagram_line -> file_name -> setText(diagram_filename); } } /** Cette methode fait apparaitre un dialogue permettant de previsualiser un des schemas a exporter @param diagram_id numero du schema a previsualiser */ void ExportDialog::slot_previewDiagram(int diagram_id) { // recupere l'ExportDiagramLine concernee ExportDialog::ExportDiagramLine *current_diagram = diagram_lines_[diagram_id]; if (!current_diagram) return; // initialise un dialogue QDialog preview_dialog; preview_dialog.setWindowTitle(tr("Aper\347u")); preview_dialog.setWindowState(preview_dialog.windowState() | Qt::WindowMaximized); QGraphicsScene *preview_scene = new QGraphicsScene(); preview_scene -> setBackgroundBrush(Qt::lightGray); QGraphicsView *preview_view = new QGraphicsView(preview_scene); preview_view -> setDragMode(QGraphicsView::ScrollHandDrag); QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok); connect(buttons, SIGNAL(accepted()), &preview_dialog, SLOT(accept())); QVBoxLayout *vboxlayout1 = new QVBoxLayout(); vboxlayout1 -> addWidget(preview_view); vboxlayout1 -> addWidget(buttons); preview_dialog.setLayout(vboxlayout1); // genere le nouvel apercu QImage preview_image = generateImage( current_diagram -> diagram, current_diagram -> width -> value(), current_diagram -> height -> value(), current_diagram -> keep_ratio -> isChecked() ); // nettoie l'apercu foreach (QGraphicsItem *qgi, preview_scene -> items()) { preview_scene -> removeItem(qgi); delete qgi; } // ajoute le nouvel apercu QGraphicsPixmapItem *qgpi = new QGraphicsPixmapItem(QPixmap::fromImage(preview_image)); preview_scene -> addItem(qgpi); preview_scene -> setSceneRect(QRectF(0.0, 0.0, preview_image.width(), preview_image.height())); // montre l'apercu preview_dialog.exec(); } /** Cette methode exporte un schema vers le presse-papier @param diagram_id numero du schema a previsualiser */ void ExportDialog::slot_exportToClipBoard(int diagram_id) { // recupere l'ExportDiagramLine concernee ExportDialog::ExportDiagramLine *diagram_line = diagram_lines_[diagram_id]; if (!diagram_line) return; // recupere le format a utiliser (acronyme et extension) QString format_acronym = epw -> exportProperties().format; QClipboard *clipboard = QApplication::clipboard(); // enregistre l'image dans le fichier if (format_acronym == "SVG") { QByteArray ba; QBuffer buffer(&ba); buffer.open(QIODevice::WriteOnly); generateSvg( diagram_line -> diagram, diagram_line -> width -> value(), diagram_line -> height -> value(), diagram_line -> keep_ratio -> isChecked(), buffer ); buffer.close(); clipboard -> setText(ba); } else { QImage image = generateImage( diagram_line -> diagram, diagram_line -> width -> value(), diagram_line -> height -> value(), diagram_line -> keep_ratio -> isChecked() ); clipboard -> setImage(image); } } /** Constructeur @param dia Schema concerne, @param diagram_size taille du schema tenant compte des parametres d'export */ ExportDialog::ExportDiagramLine::ExportDiagramLine(Diagram *dia, QSize diagram_size) { diagram = dia; must_export = new QCheckBox(); must_export -> setChecked(true); // titre et nom de fichier du schema QString diagram_title = diagram -> title(); if (diagram_title.isEmpty()) diagram_title = QObject::tr("Sch\351ma sans titre"); QString diagram_filename = diagram -> title(); if (diagram_filename.isEmpty()) diagram_filename = QObject::tr("schema"); diagram_filename = QET::stringToFileName(diagram_filename); title_label = new QLabel(diagram_title); file_name = new QLineEdit(); file_name -> setText(diagram_filename); file_name -> setMinimumWidth(180); width = new QSpinBox(); width -> setRange(1, 10000); width -> setSuffix(tr("px")); width -> setValue(diagram_size.width()); height = new QSpinBox(); height -> setRange(1, 10000); height -> setSuffix(tr("px")); height -> setValue(diagram_size.height()); x_label = new QLabel("\327"); keep_ratio = new QPushButton(); keep_ratio -> setCheckable(true); keep_ratio -> setChecked(true); keep_ratio -> setIcon(QET::Icons::ObjectLocked); keep_ratio -> setToolTip(QObject::tr("Conserver les proportions")); reset_size = new QPushButton(); reset_size -> setIcon(QET::Icons::Start); reset_size -> setToolTip(QObject::tr("R\351initialiser les dimensions")); preview = new QPushButton(); preview -> setIcon(QET::Icons::ZoomOriginal); preview -> setToolTip(QObject::tr("Aper\347u")); clipboard = new QPushButton(); clipboard -> setIcon(QET::Icons::CopyFile); clipboard -> setToolTip(QObject::tr("Exporter vers le presse-papier")); } /** Destructeur */ ExportDialog::ExportDiagramLine::~ExportDiagramLine() { } /** @return un layout contenant les widgets necessaires a la gestion de la taille d'un schema avant son export. */ QBoxLayout *ExportDialog::ExportDiagramLine::sizeLayout() { QHBoxLayout *layout = new QHBoxLayout(); layout -> addWidget(width); layout -> addWidget(x_label); layout -> addWidget(height); layout -> addWidget(keep_ratio); layout -> addWidget(reset_size); layout -> addWidget(preview); layout -> addWidget(clipboard); return(layout); } qelectrotech-0.22+svn897/sources/aboutqet.cpp0000644000175000017500000001505111320140732021105 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include #include "qettabwidget.h" #include "aboutqet.h" #include "qet.h" #include "qeticons.h" /** Constructeur @param parent Le QWidget parent de la boite de dialogue */ AboutQET::AboutQET(QWidget *parent) : QDialog(parent) { // Titre, taille, comportement... setWindowTitle(tr("\300 propos de QElectrotech", "window title")); setMinimumWidth(680); setMinimumHeight(350); setModal(true); // Trois onglets QETTabWidget *tabs = new QETTabWidget(this); tabs -> addTab(aboutTab(), tr("\300 &propos", "tab title")); tabs -> addTab(authorsTab(), tr("A&uteurs", "tab title")); tabs -> addTab(translatorsTab(), tr("&Traducteurs", "tab title")); tabs -> addTab(contributorsTab(), tr("&Contributeurs", "tab title")); tabs -> addTab(licenseTab(), tr("&Accord de licence", "tab title")); // Un bouton pour fermer la boite de dialogue QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Close); connect(buttons, SIGNAL(accepted()), this, SLOT(accept())); connect(buttons, SIGNAL(rejected()), this, SLOT(accept())); // Le tout dans une disposition verticale QVBoxLayout *vlayout = new QVBoxLayout(); vlayout -> addWidget(title()); vlayout -> addWidget(tabs); vlayout -> addWidget(buttons); setLayout(vlayout); } /** Destructeur */ AboutQET::~AboutQET() { } /** @return Le titre QElectroTech avec son icone */ QWidget *AboutQET::title() const { QWidget *icon_and_title = new QWidget(); // icone QLabel *icon = new QLabel(); icon -> setPixmap(QET::Icons::QETOxygenLogo.pixmap(48, 48)); // label "QElectroTech" QLabel *title = new QLabel("QElectroTech v" + QET::displayedVersion + ""); title -> setTextFormat(Qt::RichText); // le tout dans une grille QGridLayout *grid_layout = new QGridLayout(); grid_layout -> addWidget(icon, 0, 0); grid_layout -> addWidget(title, 0, 1); grid_layout -> setColumnStretch(0, 1); grid_layout -> setColumnStretch(1, 100); icon_and_title -> setLayout(grid_layout); return(icon_and_title); } /** @return Le widget contenu par l'onglet "A propos" */ QWidget *AboutQET::aboutTab() const { QLabel *about = new QLabel( tr("QElectroTech, une application de r\351alisation de sch\351mas \351lectriques.") + "

" + tr("\251 2006-2010 Les d\351veloppeurs de QElectroTech") + "

" "
" "http://qelectrotech.org/" ); about -> setAlignment(Qt::AlignCenter); about -> setOpenExternalLinks(true); about -> setTextFormat(Qt::RichText); return(about); } /** @return Le widget contenu par l'onglet "Auteurs" */ QWidget *AboutQET::authorsTab() const { QLabel *authors = new QLabel(); addAuthor(authors, "Beno\356t Ansieau", "benoit@qelectrotech.org", tr("Id\351e originale")); addAuthor(authors, "Xavier Guerrin", "xavier@qelectrotech.org", tr("Programmation")); authors -> setAlignment(Qt::AlignCenter); authors -> setOpenExternalLinks(true); authors -> setTextFormat(Qt::RichText); return(authors); } /** @return Le widget contenu par l'onglet "Traducteurs" */ QWidget *AboutQET::translatorsTab() const { QLabel *translators = new QLabel(); addAuthor(translators, "Youssef Oualmakran", "youssefsan@qelectrotech.org", tr("Traduction en espagnol")); addAuthor(translators, "Yuriy Litkevich", "yuriy@qelectrotech.org", tr("Traduction en russe")); addAuthor(translators, "Jos\351 Carlos Martins", "jose@qelectrotech.org", tr("Traduction en portugais")); addAuthor(translators, "Pavel Fric", "pavelfric@seznam.cz", tr("Traduction en tch\350que")); /* addAuthor(translators, "Luca Pedrazzi", "pedro@iworks.it", tr("Traduction en italien")); */ translators -> setAlignment(Qt::AlignCenter); translators -> setOpenExternalLinks(true); translators -> setTextFormat(Qt::RichText); return(translators); } /** @return Le widget contenu par l'onglet "Contributeurs" */ QWidget *AboutQET::contributorsTab() const { QLabel *contributors = new QLabel(); addAuthor(contributors, "Remi Collet", "fedora@famillecollet.com", tr("Paquets Fedora")); addAuthor(contributors, "Trem", "trem@mandriva.org", tr("Paquets Mandriva")); addAuthor(contributors, "Laurent Trinques", "scorpio@qelectrotech.org", tr("Paquets Debian")); addAuthor(contributors, "Nuno Pinheiro", "nuno@nuno-icons.com", tr("Ic\364nes")); contributors -> setAlignment(Qt::AlignCenter); contributors -> setOpenExternalLinks(true); contributors -> setTextFormat(Qt::RichText); return(contributors); } /** @return Le widget contenu par l'onglet "Accord de Licence" */ QWidget *AboutQET::licenseTab() const { QWidget *license = new QWidget(); // label QLabel *title_license = new QLabel(tr("Ce programme est sous licence GNU/GPL.")); // texte de la GNU/GPL dans une zone de texte scrollable non editable QTextEdit *text_license = new QTextEdit(); text_license -> setPlainText(QET::license()); text_license -> setReadOnly(true); // le tout dans une disposition verticale QVBoxLayout *license_layout = new QVBoxLayout(); license_layout -> addWidget(title_license); license_layout -> addWidget(text_license); license -> setLayout(license_layout); return(license); } /** Ajoute une personne a la liste des auteurs @param label QLabel auquel sera ajoute la personne @param name Nom de la personne @param email Adresse e-mail de la personne @param work Fonction / travail effectue par la personne */ void AboutQET::addAuthor(QLabel *label, const QString &name, const QString &email, const QString &work) const { QString new_text = label -> text(); QString author_template = "%1 : %2 <%3>

"; // ajoute la fonction de la personne new_text += author_template.arg(work).arg(name).arg(email); label -> setText(new_text); } qelectrotech-0.22+svn897/sources/insetproperties.h0000644000175000017500000000375711320140732022177 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef INSET_PROPERTIES_H #define INSET_PROPERTIES_H #include #include /** Cette classe est un conteneur pour les proprietes d'un cartouche de schema : titre, auteur, date, nom de fichier et folio */ class InsetProperties { public: InsetProperties(); virtual ~InsetProperties(); /// Specifie comment gerer la date enum DateManagement { UseDateValue, ///< utilise l'attribut date CurrentDate ///< utilise la date courante }; bool operator==(const InsetProperties &); bool operator!=(const InsetProperties &); void toXml(QDomElement &) const; void fromXml(QDomElement &); void toSettings(QSettings &, const QString & = QString()) const; void fromSettings(QSettings &, const QString & = QString()); QDate finalDate() const ; // attributs QString title; ///< Titre affiche par le cartouche QString author; ///< Auteur affiche par le cartouche QDate date; ///< Date affichee par le cartouche ; si la date est nulle, le champ reste vide QString filename; ///< Nom de fichier affiche par le cartouche QString folio; ///< Folio affiche par le cartouche DateManagement useDate; ///< Indique s'il faut utiliser ou non l'attribut date private: QString exportDate() const; void setDateFromString(const QString &); }; #endif qelectrotech-0.22+svn897/sources/nameslistwidget.cpp0000644000175000017500000001023611320140732022464 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "nameslistwidget.h" #include "qetmessagebox.h" /** Constructeur @param parent QWidget parent de la liste de noms */ NamesListWidget::NamesListWidget(QWidget *parent) : QWidget(parent), read_only(false) { QVBoxLayout *names_list_layout = new QVBoxLayout(); setLayout(names_list_layout); tree_names = new QTreeWidget(); tree_names -> setColumnCount(2); QStringList headers; headers << tr("Langue") << tr("Nom"); tree_names -> setHeaderLabels(headers); button_add_line = new QPushButton(tr("Ajouter une ligne")); connect(button_add_line, SIGNAL(released()), this, SLOT(addLine())); names_list_layout -> addWidget(tree_names); names_list_layout -> addWidget(button_add_line); } /** Destructeur */ NamesListWidget::~NamesListWidget() { } /** Ajoute une ligne a l'editeur */ void NamesListWidget::addLine() { clean(); if (read_only) return; QTreeWidgetItem *qtwi = new QTreeWidgetItem(); qtwi -> setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); tree_names -> addTopLevelItem(qtwi); } /** Verifie qu'il y a au moins un nom */ bool NamesListWidget::checkOneName() { updateHash(); if (!hash_names.count()) { QET::MessageBox::critical( this, tr("Il doit y avoir au moins un nom.", "message box title"), tr("Vous devez entrer au moins un nom.", "message box content") ); return(false); } return(true); } /** Lit les noms valides dans hash_names */ void NamesListWidget::updateHash() { hash_names.clearNames(); int names_count = tree_names -> topLevelItemCount(); for (int i = 0 ; i < names_count ; ++ i) { QString lang = tree_names -> topLevelItem(i) -> text(0); QString value = tree_names -> topLevelItem(i) -> text(1); if (lang != "" && value != "") hash_names.addName(lang, value); } } /** Nettoie la liste des noms en enlevant les lignes vides */ void NamesListWidget::clean() { int names_count = tree_names -> topLevelItemCount() - 1; for (int i = names_count ; i >= 0 ; -- i) { if ( tree_names -> topLevelItem(i) -> text(0).isEmpty() &&\ tree_names -> topLevelItem(i) -> text(1).isEmpty() ) { tree_names -> takeTopLevelItem(i); } } } /** @return Les noms entres dans la Names List */ NamesList NamesListWidget::names() { updateHash(); return(hash_names); } /** Definit les noms que le widget doit afficher */ void NamesListWidget::setNames(const NamesList &provided_names) { foreach(QString lang, provided_names.langs()) { QString value = provided_names[lang]; QStringList values; values << lang << value; QTreeWidgetItem *qtwi = new QTreeWidgetItem(values); if (!read_only) qtwi -> setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); tree_names -> addTopLevelItem(qtwi); } } /** Verifie qu'il y a au moins un nom de saisi - si c'est le cas, le signal imputChecked() est emis. */ void NamesListWidget::check() { if (checkOneName()) emit(inputChecked()); } /** Definit le mode d'edition du widget @param ro true pour que la liste de noms soit en lecture seule, false sinon */ void NamesListWidget::setReadOnly(bool ro) { read_only = ro; int names_count = tree_names -> topLevelItemCount() - 1; for (int i = names_count ; i >= 0 ; -- i) { Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable; if (!read_only) flags |= Qt::ItemIsEditable; tree_names -> topLevelItem(i) -> setFlags(flags); } button_add_line -> setEnabled(!read_only); } /// @return true si la liste de noms est en lecture seule, false sinon bool NamesListWidget::isReadOnly() const { return(read_only); } qelectrotech-0.22+svn897/sources/borderproperties.cpp0000644000175000017500000001077111320140732022657 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "borderproperties.h" /** Constructeur. Initialise un objet BorderProperties avec les proprietes par defaut suivantes : * 17 colonnes affichees de 60.0 px de large pour 20.0px de haut * 8 lignes affichees de 80.0 px de haut pour 20.0px de large */ BorderProperties::BorderProperties() : columns_count(17), columns_width(60.0), columns_header_height(20.0), display_columns(true), rows_count(8), rows_height(80.0), rows_header_width(20.0), display_rows(true) { } /** Destructeur */ BorderProperties::~BorderProperties() { } /** @param bp autre conteneur BorderProperties @return true si ip et ce conteneur sont identiques, false sinon */ bool BorderProperties::operator==(const BorderProperties &bp) { return( bp.columns_count == columns_count &&\ bp.columns_width == columns_width &&\ bp.columns_header_height == columns_header_height &&\ bp.display_columns == display_columns &&\ bp.rows_count == rows_count &&\ bp.rows_height == rows_height &&\ bp.rows_header_width == rows_header_width &&\ bp.display_rows == display_rows ); } /** @param bp autre conteneur BorderProperties @return false si bp et ce conteneur sont identiques, true sinon */ bool BorderProperties::operator!=(const BorderProperties &bp) { return(!(*this == bp)); } /** Exporte les dimensions sous formes d'attributs XML ajoutes a l'element e. @param e Element XML auquel seront ajoutes des attributs */ void BorderProperties::toXml(QDomElement &e) const { e.setAttribute("cols", columns_count); e.setAttribute("colsize", QString("%1").arg(columns_width)); e.setAttribute("rows", rows_count); e.setAttribute("rowsize", QString("%1").arg(rows_height)); e.setAttribute("displaycols", display_columns ? "true" : "false"); e.setAttribute("displayrows", display_rows ? "true" : "false"); } /** Importe les dimensions a partir des attributs XML de l'element e @param e Element XML dont les attributs seront lus */ void BorderProperties::fromXml(QDomElement &e) { if (e.hasAttribute("cols")) columns_count = e.attribute("cols").toInt(); if (e.hasAttribute("colsize")) columns_width = e.attribute("colsize").toInt(); if (e.hasAttribute("rows")) rows_count = e.attribute("rows").toInt(); if (e.hasAttribute("rowsize")) rows_height = e.attribute("rowsize").toInt(); if (e.hasAttribute("displaycols")) display_columns = e.attribute("displaycols") == "true"; if (e.hasAttribute("displayrows")) display_rows = e.attribute("displayrows") == "true"; } /** Exporte les dimensions dans une configuration. @param settings Parametres a ecrire @param prefix prefixe a ajouter devant les noms des parametres */ void BorderProperties::toSettings(QSettings &settings, const QString &prefix) const { settings.setValue(prefix + "cols", columns_count); settings.setValue(prefix + "colsize", columns_width); settings.setValue(prefix + "displaycols", display_columns); settings.setValue(prefix + "rows", rows_count); settings.setValue(prefix + "rowsize", rows_height); settings.setValue(prefix + "displayrows", display_rows); } /** Importe les dimensions depuis une configuration. @param settings Parametres a lire @param prefix prefixe a ajouter devant les noms des parametres */ void BorderProperties::fromSettings(QSettings &settings, const QString &prefix) { columns_count = settings.value(prefix + "cols", columns_count).toInt(); columns_width = qRound(settings.value(prefix + "colsize", columns_width).toDouble()); display_columns = settings.value(prefix + "displaycols", display_columns).toBool(); rows_count = settings.value(prefix + "rows", rows_count).toInt(); rows_height = qRound(settings.value(prefix + "rowsize", rows_height).toDouble()); display_rows = settings.value(prefix + "displayrows", display_rows).toBool(); } qelectrotech-0.22+svn897/sources/fixedelement.cpp0000644000175000017500000000224711320140732021735 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "fixedelement.h" /** Constructeur */ FixedElement::FixedElement(QGraphicsItem *parent, Diagram *scene) : Element(parent, scene) { } /** Destructeur */ FixedElement::~FixedElement() { } /** @return Le nombre minimal de bornes que l'element peut avoir */ int FixedElement::minTerminalsCount() const { return(terminalsCount()); } /** @return Le nombre maximal de bornes que l'element peut avoir */ int FixedElement::maxTerminalsCount() const { return(terminalsCount()); } qelectrotech-0.22+svn897/sources/elementdefinition.h0000644000175000017500000001003611320140732022426 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENT_DEFINITION_H #define ELEMENT_DEFINITION_H #include #include "elementscategory.h" class ElementsCollection; class MoveElementsHandler; /** Cette classe abstraite represente une definition XML d'element, c'est-a-dire qu'elle definit l'interface a implementer pour acceder a la definition XML d'un element, que celle-ci proviennt d'un fichier *.elmt ou d'un fichier projet QET. */ class ElementDefinition : public ElementsCollectionItem { Q_OBJECT public: /** Constructeur */ ElementDefinition(ElementsCategory *category = 0, ElementsCollection *collection = 0) : ElementsCollectionItem(category), parent_category_(category), parent_collection_(collection) {}; /** Destructeur */ virtual ~ElementDefinition() {}; /** @return la definition XML de l'element */ virtual QDomElement xml() = 0; /** Change la definition XML de l'element @param xml_element Nouvelle definition XML de l'element @return true si l'operation s'est bien passee, false sinon */ virtual bool setXml(const QDomElement &xml_element) = 0; /** @return true si la definition n'est pas disponible */ virtual bool isNull() const = 0; virtual ElementsCategory *parentCategory(); virtual QList parentCategories(); virtual bool hasParentCategory(); /** @return true si l'element est rattache a une collection d'elements Un element appartenant a une collection a forcement un chemin virtuel. */ virtual bool hasParentCollection(); virtual bool isChildOf(ElementsCollectionItem *); /** @return la collection d'element a laquelle appartient cet element */ virtual ElementsCollection *parentCollection(); virtual QETProject *project(); virtual void setProject(QETProject *); /** @return le protocole utilise par la collection a laquelle appartient cet element */ virtual QString protocol(); /** Ne fait rien. */ virtual void setProtocol(const QString &); /** @return le chemin virtuel complet de cet element (protocole + chemin) */ virtual QString fullVirtualPath(); /** @return l'emplacement de cet element */ virtual ElementsLocation location(); virtual QList categories(); virtual ElementsCategory *category(const QString &); virtual ElementsCategory *createCategory(const QString &); virtual QList elements(); virtual ElementDefinition *element(const QString &); virtual ElementDefinition *createElement(const QString &); virtual ElementsCollectionItem *copy(ElementsCategory *, MoveElementsHandler *, bool = true); virtual ElementsCollectionItem *move(ElementsCategory *, MoveElementsHandler *); virtual bool isCollection() const { return(false); } ///< @return toujours false virtual bool isRootCategory() const { return(false); } ///< @return toujours false virtual bool isCategory() const { return(false); } ///< @return toujours false virtual bool isElement() const { return(true ); } ///< @return toujours true virtual ElementsCollection *toCollection(); virtual ElementsCategory *toCategory(); virtual ElementsCategory *toPureCategory(); virtual ElementDefinition *toElement(); virtual bool equals(ElementDefinition &); virtual bool removeContent(); void copy(MoveElementsDescription *); void move(MoveElementsDescription *); // attributs private: ElementsCategory *parent_category_; ElementsCollection *parent_collection_; }; #endif qelectrotech-0.22+svn897/sources/elementscategorieswidget.cpp0000644000175000017500000001106411320140732024347 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementscategorieswidget.h" #include "elementscategorieslist.h" #include "elementscategoryeditor.h" #include "elementscategorydeleter.h" #include "elementscategory.h" #include "qeticons.h" /** Constructeur @param parent Le QWidget parent */ ElementsCategoriesWidget::ElementsCategoriesWidget(QWidget *parent) : QWidget(parent) { // initialise la liste des categories elementscategorieslist = new ElementsCategoriesList(false, QET::All, this); // actions action_reload = new QAction(QET::Icons::ViewRefresh, tr("Recharger les cat\351gories"), this); action_new = new QAction(QET::Icons::FolderNew, tr("Nouvelle cat\351gorie"), this); action_open = new QAction(QET::Icons::FolderEdit, tr("\311diter la cat\351gorie"), this); action_delete = new QAction(QET::Icons::FolderDelete, tr("Supprimer la cat\351gorie"), this); // initialise la barre d'outils toolbar = new QToolBar(this); toolbar -> setMovable(false); toolbar -> addAction(action_reload); toolbar -> addAction(action_new); toolbar -> addAction(action_open); toolbar -> addAction(action_delete); connect(action_reload, SIGNAL(triggered()), elementscategorieslist, SLOT(reload()) ); connect(action_new, SIGNAL(triggered()), this, SLOT(newCategory()) ); connect(action_open, SIGNAL(triggered()), this, SLOT(editCategory()) ); connect(action_delete, SIGNAL(triggered()), this, SLOT(removeCategory())); connect(elementscategorieslist, SIGNAL(itemSelectionChanged()), this, SLOT(updateButtons()) ); updateButtons(); // disposition verticale QVBoxLayout *vlayout = new QVBoxLayout(this); vlayout -> setMargin(0); vlayout -> setSpacing(0); vlayout -> addWidget(toolbar); vlayout -> addWidget(elementscategorieslist); vlayout -> setStretchFactor(elementscategorieslist, 75000); setLayout(vlayout); } /** Destructeur */ ElementsCategoriesWidget::~ElementsCategoriesWidget() { } /** Lance un editeur de categorie en mode "creation de categorie" */ void ElementsCategoriesWidget::newCategory() { // recupere le chemin virtuel de la categorie selectionnee ElementsLocation s_c_path = elementscategorieslist -> selectedLocation(); if (s_c_path.isNull()) return; // lance un editeur de categorie ElementsCategoryEditor *editor = new ElementsCategoryEditor(s_c_path, false, this); int result = editor -> exec(); // recharge la collection si besoin if (result == QDialog::Accepted) { elementscategorieslist -> reload(); } } /** Lance un editeur de categorie en mode "edition de categorie" */ void ElementsCategoriesWidget::editCategory() { ElementsLocation s_c_path = elementscategorieslist -> selectedLocation(); if (s_c_path.isNull()) return; (new ElementsCategoryEditor(s_c_path, true, this)) -> exec(); elementscategorieslist -> reload(); } /** Supprime la categorie selectionnee */ void ElementsCategoriesWidget::removeCategory() { // recupere le chemin de la categorie ElementsLocation s_c_path = elementscategorieslist -> selectedLocation(); if (s_c_path.isNull()) return; // supprime la categorie ElementsCategoryDeleter cat_deleter(s_c_path, this); cat_deleter.exec(); // recharge la liste des categories elementscategorieslist -> reload(); } /** Met a jour l'etat (active / desactive) des boutons en fonction de ce qui est selectionne. */ void ElementsCategoriesWidget::updateButtons() { QList sel_items = elementscategorieslist -> selectedItems(); bool sel_items_empty = !sel_items.isEmpty(); bool is_top_lvl_item = sel_items_empty && (elementscategorieslist -> indexOfTopLevelItem(sel_items.at(0)) != -1); action_new -> setEnabled(sel_items_empty); action_open -> setEnabled(sel_items_empty && !is_top_lvl_item); action_delete -> setEnabled(sel_items_empty && !is_top_lvl_item); } qelectrotech-0.22+svn897/sources/conductorpropertieswidget.h0000644000175000017500000000453711342325666024275 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CONDUCTOR_PROPERTIES_WIDGET_H #define CONDUCTOR_PROPERTIES_WIDGET_H #include "conductorproperties.h" #include /** Ce widget permet a l utilisateur d'editer les proprietes d'un conducteur. Par proprietes, on entend non pas le trajet effectue par le conducteur mais les options supplementaires : symboles unifilaires, presence ou non d'un champ de texte, contenu de ce champ de texte, etc. */ class ConductorPropertiesWidget : public QWidget { Q_OBJECT // constructeurs, destructeur public: ConductorPropertiesWidget(QWidget * = 0); ConductorPropertiesWidget(const ConductorProperties &, QWidget * = 0); virtual ~ConductorPropertiesWidget(); private: ConductorPropertiesWidget(const ConductorPropertiesWidget &); // methodes public: void setConductorProperties(const ConductorProperties &); ConductorProperties conductorProperties() const; bool isReadOnly() const; void setReadOnly(bool); private: void setConductorType(ConductorProperties::ConductorType); void setColorButton(const QColor &); QColor colorButton() const; public slots: void updatePreview(); void updateConfig(); void updateDisplay(); void chooseColor(); // attributs prives private: QButtonGroup *radio_buttons; QRadioButton *simple; QRadioButton *multiline; QLineEdit *text_field; QRadioButton *singleline; QCheckBox *phase_checkbox; QSlider *phase_slider; QSpinBox *phase_spinbox; QCheckBox *ground_checkbox; QCheckBox *neutral_checkbox; QLabel *preview; QPushButton *color_button; QCheckBox *dashed_checkbox; ConductorProperties properties_; // methodes privees void buildInterface(); void buildConnections(); void destroyConnections(); }; #endif qelectrotech-0.22+svn897/sources/qetapp.cpp0000644000175000017500000012425611344020127020564 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qetapp.h" #include "aboutqet.h" #include "configdialog.h" #include "qetdiagrameditor.h" #include "qetelementeditor.h" #include "elementscollectionitem.h" #include "fileelementscollection.h" #include "qetproject.h" #include "recentfiles.h" #include "qeticons.h" #include #include #define QUOTE(x) STRINGIFY(x) #define STRINGIFY(x) #x #ifdef QET_ALLOW_OVERRIDE_CED_OPTION QString QETApp::common_elements_dir = QString(); #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION QString QETApp::config_dir = QString(); #endif QString QETApp::lang_dir = QString(); FileElementsCollection *QETApp::common_collection = 0; FileElementsCollection *QETApp::custom_collection = 0; QMap QETApp::registered_projects_ = QMap(); uint QETApp::next_project_id = 0; RecentFiles *QETApp::projects_recent_files_ = 0; RecentFiles *QETApp::elements_recent_files_ = 0; AboutQET *QETApp::about_dialog_ = 0; /** Constructeur @param argc Nombre d'arguments passes a l'application @param argv Arguments passes a l'application */ QETApp::QETApp(int &argc, char **argv) : QETSingleApplication(argc, argv, QString("qelectrotech-" + QETApp::userName())), splash_screen_(0), non_interactive_execution_(false) { parseArguments(); initLanguage(); QET::Icons::initIcons(); initConfiguration(); initStyle(); if (!non_interactive_execution_ && isRunning()) { // envoie les arguments a l'instance deja existante non_interactive_execution_ = sendMessage( "launched-with-args: " + QET::joinWithSpaces(QStringList(qet_arguments_.arguments())) ); } if (non_interactive_execution_) { std::exit(EXIT_SUCCESS); } initSplashScreen(); initSystemTray(); // prise en compte des messages des autres instances connect(this, SIGNAL(messageAvailable(QString)), this, SLOT(messageReceived(const QString&))); // nettoyage avant de quitter l'application connect(this, SIGNAL(aboutToQuit()), this, SLOT(cleanup())); // connexion pour le signalmapper connect(&signal_map, SIGNAL(mapped(QWidget *)), this, SLOT(invertMainWindowVisibility(QWidget *))); setQuitOnLastWindowClosed(false); connect(this, SIGNAL(lastWindowClosed()), this, SLOT(checkRemainingWindows())); // on ouvre soit les fichiers passes en parametre soit un nouvel editeur de projet if (qet_arguments_.files().isEmpty()) { setSplashScreenStep(tr("Chargement... \311diteur de sch\351mas", "splash screen caption")); new QETDiagramEditor(); } else { setSplashScreenStep(tr("Chargement... Ouverture des fichiers", "splash screen caption")); openFiles(qet_arguments_); } buildSystemTrayMenu(); splash_screen_ -> hide(); } /// Destructeur QETApp::~QETApp() { elements_recent_files_ -> save(); projects_recent_files_ -> save(); delete elements_recent_files_; delete projects_recent_files_; if (about_dialog_) { delete about_dialog_; } delete qsti; delete custom_collection; delete common_collection; } /** @return l'instance de la QETApp */ QETApp *QETApp::instance() { return(static_cast(qApp)); } /** Change le langage utilise par l'application. @param desired_language langage voulu */ void QETApp::setLanguage(const QString &desired_language) { QString languages_path = languagesPath(); // charge les eventuelles traductions pour la lib Qt qtTranslator.load("qt_" + desired_language, languages_path); installTranslator(&qtTranslator); // charge les traductions pour l'application QET if (!qetTranslator.load("qet_" + desired_language, languages_path)) { // en cas d'echec, on retombe sur les chaines natives pour le francais if (desired_language != "fr") { // utilisation de la version anglaise par defaut qetTranslator.load("qet_en", languages_path); } } installTranslator(&qetTranslator); } /** Gere les evenements relatifs au QSystemTrayIcon @param reason un entier representant l'evenement survenu sur le systray */ void QETApp::systray(QSystemTrayIcon::ActivationReason reason) { if (!QSystemTrayIcon::isSystemTrayAvailable()) return; switch(reason) { case QSystemTrayIcon::Context: // affichage du menu buildSystemTrayMenu(); qsti -> contextMenu() -> show(); break; case QSystemTrayIcon::DoubleClick: case QSystemTrayIcon::Trigger: // reduction ou restauration de l'application fetchWindowStats(diagramEditors(), elementEditors()); if (every_editor_reduced) restoreEveryEditor(); else reduceEveryEditor(); break; case QSystemTrayIcon::Unknown: default: // ne rien faire break; } } /// Reduit toutes les fenetres de l'application dans le systray void QETApp::reduceEveryEditor() { reduceDiagramEditors(); reduceElementEditors(); every_editor_reduced = true; } /// Restaure toutes les fenetres de l'application dans le systray void QETApp::restoreEveryEditor() { restoreDiagramEditors(); restoreElementEditors(); every_editor_reduced = false; } /// Reduit tous les editeurs de schemas dans le systray void QETApp::reduceDiagramEditors() { foreach(QETDiagramEditor *e, diagramEditors()) setMainWindowVisible(e, false); } /// Restaure tous les editeurs de schemas dans le systray void QETApp::restoreDiagramEditors() { foreach(QETDiagramEditor *e, diagramEditors()) setMainWindowVisible(e, true); } /// Reduit tous les editeurs d'element dans le systray void QETApp::reduceElementEditors() { foreach(QETElementEditor *e, elementEditors()) setMainWindowVisible(e, false); } /// Restaure tous les editeurs d'element dans le systray void QETApp::restoreElementEditors() { foreach(QETElementEditor *e, elementEditors()) setMainWindowVisible(e, true); } /// lance un nouvel editeur de schemas void QETApp::newDiagramEditor() { new QETDiagramEditor(); } /// lance un nouvel editeur d'element void QETApp::newElementEditor() { new QETElementEditor(); } /** @return la collection commune */ ElementsCollection *QETApp::commonElementsCollection() { if (!common_collection) { common_collection = new FileElementsCollection(QETApp::commonElementsDir()); common_collection -> setProtocol("common"); } return(common_collection); } /** @return la collection utilisateur */ ElementsCollection *QETApp::customElementsCollection() { if (!custom_collection) { custom_collection = new FileElementsCollection(QETApp::customElementsDir()); custom_collection -> setProtocol("custom"); } return(custom_collection); } /** @return la liste des collections disponibles Cela inclut typiquement la collection commune, la collection perso ainsi que les collections embarquees dans les projets. */ QList QETApp::availableCollections() { QList coll_list; // collection commune coll_list << commonElementsCollection(); // collection perso coll_list << customElementsCollection(); // collections embarquees foreach(QETProject *opened_project, registered_projects_.values()) { coll_list << opened_project -> embeddedCollection(); } return(coll_list); } /** @return le nom de l'utilisateur courant */ QString QETApp::userName() { #ifndef Q_OS_WIN32 return(QString(getenv("USER"))); #else return(QString(getenv("USERNAME"))); #endif } /** Renvoie le dossier des elements communs, c-a-d le chemin du dossier dans lequel QET doit chercher les definitions XML des elements de la collection QET. @return Le chemin du dossier des elements communs */ QString QETApp::commonElementsDir() { #ifdef QET_ALLOW_OVERRIDE_CED_OPTION if (common_elements_dir != QString()) return(common_elements_dir); #endif #ifndef QET_COMMON_COLLECTION_PATH // en l'absence d'option de compilation, on utilise le dossier elements, situe a cote du binaire executable return(QCoreApplication::applicationDirPath() + "/elements/"); #else #ifndef QET_COMMON_COLLECTION_PATH_RELATIVE_TO_BINARY_PATH // l'option de compilation represente un chemin absolu ou relatif classique return(QUOTE(QET_COMMON_COLLECTION_PATH)); #else // l'option de compilation represente un chemin relatif au dossier contenant le binaire executable return(QCoreApplication::applicationDirPath() + "/" + QUOTE(QET_COMMON_COLLECTION_PATH)); #endif #endif } /** Renvoie le dossier des elements de l'utilisateur, c-a-d le chemin du dossier dans lequel QET chercher les definitions XML des elements propres a l'utilisateur. @return Le chemin du dossier des elements persos */ QString QETApp::customElementsDir() { return(configDir() + "elements/"); } /** Renvoie le dossier de configuration de QET, c-a-d le chemin du dossier dans lequel QET lira les informations de configuration et de personnalisation propres a l'utilisateur courant. Ce dossier est generalement C:\\Documents And Settings\\utilisateur\\Application Data\\qet sous Windows et ~/.qet sous les systemes type UNIX. @return Le chemin du dossier de configuration de QElectroTech */ QString QETApp::configDir() { #ifdef QET_ALLOW_OVERRIDE_CD_OPTION if (config_dir != QString()) return(config_dir); #endif #ifdef Q_OS_WIN32 // recupere l'emplacement du dossier Application Data char *app_data_env = getenv("APPDATA"); QString app_data_str(app_data_env); delete app_data_env; if (app_data_str.isEmpty()) { app_data_str = QDir::homePath() + "/Application Data"; } return(app_data_str + "/qet/"); #else return(QDir::homePath() + "/.qet/"); #endif } /** Permet de connaitre le chemin absolu du fichier *.elmt correspondant a un chemin symbolique (du type custom://outils_pervers/sado_maso/contact_bizarre) @param sym_path Chaine de caracteres representant le chemin absolu du fichier @return Une chaine de caracteres vide en cas d'erreur ou le chemin absolu du fichier *.elmt. */ QString QETApp::realPath(const QString &sym_path) { QString directory; if (sym_path.startsWith("common://")) { directory = commonElementsDir(); } else if (sym_path.startsWith("custom://")) { directory = customElementsDir(); } else return(QString()); return(directory + QDir::toNativeSeparators(sym_path.right(sym_path.length() - 9))); } /** Construit le chemin symbolique (du type custom://outils_pervers/sado_maso/ contact_bizarre) correspondant a un fichier. @param real_path Chaine de caracteres representant le chemin symbolique du fichier @return Une chaine de caracteres vide en cas d'erreur ou le chemin symbolique designant l'element. */ QString QETApp::symbolicPath(const QString &real_path) { // recupere les dossier common et custom QString commond = commonElementsDir(); QString customd = customElementsDir(); QString chemin; // analyse le chemin de fichier passe en parametre if (real_path.startsWith(commond)) { chemin = "common://" + real_path.right(real_path.length() - commond.length()); } else if (real_path.startsWith(customd)) { chemin = "custom://" + real_path.right(real_path.length() - customd.length()); } else chemin = QString(); return(chemin); } /** @param filepath Un chemin de fichier Note : si filepath est une chaine vide, cette methode retourne 0. @return le QETDiagramEditor editant le fichier filepath, ou 0 si ce fichier n'est pas edite par l'application. */ QETDiagramEditor *QETApp::diagramEditorForFile(const QString &filepath) { if (filepath.isEmpty()) return(0); QETApp *qet_app(QETApp::instance()); foreach (QETDiagramEditor *diagram_editor, qet_app -> diagramEditors()) { if (diagram_editor -> viewForFile(filepath)) { return(diagram_editor); } } return(0); } #ifdef QET_ALLOW_OVERRIDE_CED_OPTION /** Redefinit le chemin du dossier des elements communs @param new_ced Nouveau chemin du dossier des elements communs */ void QETApp::overrideCommonElementsDir(const QString &new_ced) { QFileInfo new_ced_info(new_ced); if (new_ced_info.isDir()) { common_elements_dir = new_ced_info.absoluteFilePath(); if (!common_elements_dir.endsWith("/")) common_elements_dir += "/"; } } #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION /** Redefinit le chemin du dossier de configuration @param new_cd Nouveau chemin du dossier de configuration */ void QETApp::overrideConfigDir(const QString &new_cd) { QFileInfo new_cd_info(new_cd); if (new_cd_info.isDir()) { config_dir = new_cd_info.absoluteFilePath(); if (!config_dir.endsWith("/")) config_dir += "/"; } } #endif /** Redefinit le chemin du dossier contenant les fichiers de langue @param new_ld Nouveau chemin du dossier contenant les fichiers de langue */ void QETApp::overrideLangDir(const QString &new_ld) { QFileInfo new_ld_info(new_ld); if (new_ld_info.isDir()) { lang_dir = new_ld_info.absoluteFilePath(); if (!lang_dir.endsWith("/")) lang_dir += "/"; } } /** @return Le chemin du dossier contenant les fichiers de langue */ QString QETApp::languagesPath() { if (!lang_dir.isEmpty()) { return(lang_dir); } else { #ifndef QET_LANG_PATH // en l'absence d'option de compilation, on utilise le dossier lang, situe a cote du binaire executable return(QCoreApplication::applicationDirPath() + "/lang/"); #else #ifndef QET_LANG_PATH_RELATIVE_TO_BINARY_PATH // l'option de compilation represente un chemin absolu ou relatif classique return(QUOTE(QET_LANG_PATH)); #else // l'option de compilation represente un chemin relatif au dossier contenant le binaire executable return(QCoreApplication::applicationDirPath() + "/" + QUOTE(QET_LANG_PATH)); #endif #endif } } /** Ferme tous les editeurs @return true si l'utilisateur a accepte toutes les fermetures, false sinon */ bool QETApp::closeEveryEditor() { // s'assure que toutes les fenetres soient visibles avant de quitter restoreEveryEditor(); foreach(QETProject *project, registered_projects_) { project -> close(); } bool every_window_closed = true; foreach(QETDiagramEditor *e, diagramEditors()) { every_window_closed = every_window_closed && e -> close(); } foreach(QETElementEditor *e, elementEditors()) { every_window_closed = every_window_closed && e -> close(); } return(every_window_closed); } /** @param size taille voulue - si aucune taille n'est specifiee, la valeur specifiee dans la configuration (diagramsize) est utilisee. La valeur par defaut est 9. @return la police a utiliser pour rendre les textes sur les schemas La famille "Sans Serif" est utilisee par defaut mais peut etre surchargee dans la configuration (diagramfont). */ QFont QETApp::diagramTextsFont(int size) { // acces a la configuration de l'application QSettings &qet_settings = QETApp::settings(); // police a utiliser pour le rendu de texte QString diagram_texts_family = qet_settings.value("diagramfont", "Sans Serif").toString(); int diagram_texts_size = qet_settings.value("diagramsize", 9).toInt(); if (size != -1) { diagram_texts_size = size; } QFont diagram_texts_font = QFont(diagram_texts_family, diagram_texts_size); if (diagram_texts_size <= 4) { diagram_texts_font.setWeight(QFont::Light); } return(diagram_texts_font); } /** @return les editeurs de schemas */ QList QETApp::diagramEditors() { return(static_cast(qApp) -> detectDiagramEditors()); } /** @return les editeurs d'elements */ QList QETApp::elementEditors() { return(static_cast(qApp) -> detectElementEditors()); } /** @param project un projet @return les editeurs d'elements editant un element appartenant au projet project */ QList QETApp::elementEditors(QETProject *project) { QList editors; if (!project) return(editors); // pour chaque editeur d'element... foreach(QETElementEditor *elmt_editor, elementEditors()) { // on recupere l'emplacement de l'element qu'il edite ElementsLocation elmt_editor_loc(elmt_editor -> location()); // il se peut que l'editeur edite un element non enregistre ou un fichier if (elmt_editor_loc.isNull()) continue; if (elmt_editor_loc.project() == project) { editors << elmt_editor; } } return(editors); } /** Nettoie certaines choses avant que l'application ne quitte */ void QETApp::cleanup() { qsti -> hide(); } /// @return les editeurs de schemas ouverts QList QETApp::detectDiagramEditors() const { QList diagram_editors; foreach(QWidget *qw, topLevelWidgets()) { if (!qw -> isWindow()) continue; if (QETDiagramEditor *de = qobject_cast(qw)) { diagram_editors << de; } } return(diagram_editors); } /// @return les editeurs d'elements ouverts QList QETApp::detectElementEditors() const { QList element_editors; foreach(QWidget *qw, topLevelWidgets()) { if (!qw -> isWindow()) continue; if (QETElementEditor *ee = qobject_cast(qw)) { element_editors << ee; } } return(element_editors); } /** @return La liste des fichiers recents pour les projets */ RecentFiles *QETApp::projectsRecentFiles() { return(projects_recent_files_); } /** @return La liste des fichiers recents pour les elements */ RecentFiles *QETApp::elementsRecentFiles() { return(elements_recent_files_); } /** Affiche ou cache une fenetre (editeurs de schemas / editeurs d'elements) @param window fenetre a afficher / cacher @param visible true pour affiche la fenetre, false sinon */ void QETApp::setMainWindowVisible(QMainWindow *window, bool visible) { if (window -> isVisible() == visible) return; if (!visible) { window_geometries.insert(window, window -> saveGeometry()); window_states.insert(window, window -> saveState()); window -> hide(); // cache aussi les toolbars et les docks foreach (QWidget *qw, floatingToolbarsAndDocksForMainWindow(window)) { qw -> hide(); } } else { window -> show(); #ifndef Q_OS_WIN32 window -> restoreGeometry(window_geometries[window]); #endif window -> restoreState(window_states[window]); } } /** Affiche une fenetre (editeurs de schemas / editeurs d'elements) si celle-ci est cachee ou la cache si elle est affichee. @param window fenetre a afficher / cacher */ void QETApp::invertMainWindowVisibility(QWidget *window) { if (QMainWindow *w = qobject_cast(window)) setMainWindowVisible(w, !w -> isVisible()); } /** Change la palette de l'application @param use true pour utiliser les couleurs du systeme, false pour utiliser celles du theme en cours */ void QETApp::useSystemPalette(bool use) { if (use) { setPalette(initial_palette_); } else { setPalette(style() -> standardPalette()); } // reapplique les feuilles de style setStyleSheet( "QAbstractScrollArea#mdiarea {" " background-color:white;" " background-image: url(':/ico/mdiarea_bg.png');" " background-repeat: no-repeat;" " background-position: center middle;" "}" ); } /** Demande la fermeture de toutes les fenetres ; si l'utilisateur les accepte, l'application quitte */ void QETApp::quitQET() { if (closeEveryEditor()) { quit(); } } /** Verifie s'il reste des fenetres (cachees ou non) et quitte s'il n'en reste plus. */ void QETApp::checkRemainingWindows() { /* petite bidouille : le slot se rappelle apres 500 ms d'attente afin de compenser le fait que certaines fenetres peuvent encore paraitre vivantes alors qu'elles viennent d'etre fermees */ static bool sleep = true; if (sleep) { QTimer::singleShot(500, this, SLOT(checkRemainingWindows())); } else { if (!diagramEditors().count() && !elementEditors().count()) { quit(); } } sleep = !sleep; } /** Gere les messages recus @param message Message recu */ void QETApp::messageReceived(const QString &message) { if (message.startsWith("launched-with-args: ")) { QString my_message(message.mid(20)); // les arguments sont separes par des espaces non echappes QStringList args_list = QET::splitWithSpaces(my_message); openFiles(QETArguments(args_list)); } } /** Ouvre les fichiers passes en arguments @param args Objet contenant des arguments ; les fichiers @see openProjectFiles openElementFiles */ void QETApp::openFiles(const QETArguments &args) { openProjectFiles(args.projectFiles()); openElementFiles(args.elementFiles()); } /** Ouvre une liste de fichiers. Les fichiers sont ouverts dans le premier editeur de schemas visible venu. Sinon, le premier editeur de schemas existant venu devient visible et est utilise. S'il n'y a aucun editeur de schemas ouvert, un nouveau est cree et utilise. @param files_list Fichiers a ouvrir */ void QETApp::openProjectFiles(const QStringList &files_list) { if (files_list.isEmpty()) return; // liste des editeurs de schema ouverts QList diagrams_editors = diagramEditors(); // s'il y a des editeur de schemas ouvert, on cherche ceux qui sont visibles if (diagrams_editors.count()) { QList visible_diagrams_editors; foreach(QETDiagramEditor *de, diagrams_editors) { if (de -> isVisible()) visible_diagrams_editors << de; } // on choisit soit le premier visible soit le premier tout court QETDiagramEditor *de_open; if (visible_diagrams_editors.count()) { de_open = visible_diagrams_editors.first(); } else { de_open = diagrams_editors.first(); de_open -> setVisible(true); } // ouvre les fichiers dans l'editeur ainsi choisi foreach(QString file, files_list) { de_open -> openAndAddProject(file); } } else { // cree un nouvel editeur qui ouvrira les fichiers new QETDiagramEditor(files_list); } } /** Ouvre les fichiers elements passes en parametre. Si un element est deja ouvert, la fentre qui l'edite est activee. @param files_list Fichiers a ouvrir */ void QETApp::openElementFiles(const QStringList &files_list) { if (files_list.isEmpty()) return; // evite autant que possible les doublons dans la liste fournie QSet files_set; foreach(QString file, files_list) { QString canonical_filepath = QFileInfo(file).canonicalFilePath(); if (!canonical_filepath.isEmpty()) files_set << canonical_filepath; } // a ce stade, tous les fichiers dans le Set existent et sont a priori differents if (files_set.isEmpty()) return; // liste des editeurs d'element ouverts QList element_editors = elementEditors(); // on traite les fichiers a la queue leu leu... foreach(QString element_file, files_set) { bool already_opened_in_existing_element_editor = false; foreach(QETElementEditor *element_editor, element_editors) { if (element_editor -> isEditing(element_file)) { // ce fichier est deja ouvert dans un editeur already_opened_in_existing_element_editor = true; element_editor -> setVisible(true); element_editor -> raise(); element_editor -> activateWindow(); break; } } if (!already_opened_in_existing_element_editor) { // ce fichier n'est ouvert dans aucun editeur QETElementEditor *element_editor = new QETElementEditor(); element_editor -> fromFile(element_file); } } } /** Ouvre les elements dont l'emplacement est passe en parametre. Si un element est deja ouvert, la fentre qui l'edite est activee. @param locations_list Emplacements a ouvrir */ void QETApp::openElementLocations(const QList &locations_list) { if (locations_list.isEmpty()) return; // liste des editeurs d'element ouverts QList element_editors = elementEditors(); // on traite les emplacements a la queue leu leu... foreach(ElementsLocation element_location, locations_list) { bool already_opened_in_existing_element_editor = false; foreach(QETElementEditor *element_editor, element_editors) { if (element_editor -> isEditing(element_location)) { // cet emplacement est deja ouvert dans un editeur already_opened_in_existing_element_editor = true; element_editor -> setVisible(true); element_editor -> raise(); element_editor -> activateWindow(); break; } } if (!already_opened_in_existing_element_editor) { // cet emplacement n'est ouvert dans aucun editeur QETElementEditor *element_editor = new QETElementEditor(); element_editor -> fromLocation(element_location); } } } /** Permet a l'utilisateur de configurer QET en lancant un dialogue approprie. @see ConfigDialog */ void QETApp::configureQET() { // determine le widget parent a utiliser pour le dialogue QWidget *parent_widget = activeWindow(); // cree le dialogue ConfigDialog cd; // associe le dialogue a un eventuel widget parent if (parent_widget) { #ifdef Q_WS_MAC cd.setWindowFlags(Qt::Sheet); #endif cd.setParent(parent_widget, cd.windowFlags()); } // affiche le dialogue puis evite de le lier a un quelconque widget parent cd.exec(); cd.setParent(0, cd.windowFlags()); } /** Dialogue "A propos de QElectroTech" Le dialogue en question est cree lors du premier appel de cette fonction. En consequence, sa premiere apparition n'est pas immediate. Par la suite, le dialogue n'a pas a etre recree et il apparait instantanement. Il est detruit en meme temps que l'application. */ void QETApp::aboutQET() { // determine le widget parent a utiliser pour le dialogue QWidget *parent_widget = activeWindow(); // cree le dialogue si cela n'a pas deja ete fait if (!about_dialog_) { about_dialog_ = new AboutQET(); } // associe le dialogue a un eventuel widget parent if (parent_widget) { #ifdef Q_WS_MAC about_dialog_ -> setWindowFlags(Qt::Sheet); #endif about_dialog_ -> setParent(parent_widget, about_dialog_ -> windowFlags()); } // affiche le dialogue puis evite de le lier a un quelconque widget parent about_dialog_ -> exec(); about_dialog_ -> setParent(0, about_dialog_ -> windowFlags()); } /** @param window fenetre dont il faut trouver les barres d'outils et dock flottants @return les barres d'outils et dock flottants de la fenetre */ QList QETApp::floatingToolbarsAndDocksForMainWindow(QMainWindow *window) const { QList widgets; foreach(QWidget *qw, topLevelWidgets()) { if (!qw -> isWindow()) continue; if (qobject_cast(qw) || qobject_cast(qw)) { if (qw -> parent() == window) widgets << qw; } } return(widgets); } /** Parse les arguments suivants : * --common-elements-dir= * --config-dir * --help * --version * -v * --license Les autres arguments sont normalement des chemins de fichiers. S'ils existent, ils sont juste memorises dans l'attribut arguments_files_. Sinon, ils sont memorises dans l'attribut arguments_options_. */ void QETApp::parseArguments() { // recupere les arguments QList arguments_list(arguments()); // enleve le premier argument : il s'agit du fichier binaire arguments_list.takeFirst(); // analyse les arguments qet_arguments_ = QETArguments(arguments_list); #ifdef QET_ALLOW_OVERRIDE_CED_OPTION if (qet_arguments_.commonElementsDirSpecified()) { overrideCommonElementsDir(qet_arguments_.commonElementsDir()); } #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION if (qet_arguments_.configDirSpecified()) { overrideConfigDir(qet_arguments_.configDir()); } #endif if (qet_arguments_.langDirSpecified()) { overrideLangDir(qet_arguments_.langDir()); } if (qet_arguments_.printLicenseRequested()) { printLicense(); non_interactive_execution_ = true; } if (qet_arguments_.printHelpRequested()) { printHelp(); non_interactive_execution_ = true; } if (qet_arguments_.printVersionRequested()) { printVersion(); non_interactive_execution_ = true; } } /** Initialise le splash screen si et seulement si l'execution est interactive. Autrement, l'attribut splash_screen_ vaut 0. */ void QETApp::initSplashScreen() { if (non_interactive_execution_) return; splash_screen_ = new QSplashScreen(QPixmap(":/ico/splash.png")); splash_screen_ -> show(); setSplashScreenStep(tr("Chargement...", "splash screen caption")); } /** Change le texte du splash screen et prend en compte les evenements. Si l'application s'execute de facon non interactive, cette methode ne fait rien. */ void QETApp::setSplashScreenStep(const QString &message) { if (!splash_screen_) return; if (!message.isEmpty()) { splash_screen_ -> showMessage(message, Qt::AlignBottom | Qt::AlignLeft); } processEvents(); } /** Determine et applique le langage a utiliser pour l'application */ void QETApp::initLanguage() { // selectionne le langage du systeme QString system_language = QLocale::system().name().left(2); setLanguage(system_language); } /** Met en place tout ce qui concerne le style graphique de l'application */ void QETApp::initStyle() { initial_palette_ = palette(); // lorsque le style Plastique est active, on le remplace par une version amelioree if (qobject_cast(style())) { setStyle(new QETStyle()); } // applique ou non les couleurs de l'environnement useSystemPalette(settings().value("usesystemcolors", true).toBool()); } /** Lit et prend en compte la configuration de l'application. Cette methode creera, si necessaire : * le dossier de configuration * le dossier de la collection perso */ void QETApp::initConfiguration() { // cree les dossiers de configuration si necessaire QDir config_dir(QETApp::configDir()); if (!config_dir.exists()) config_dir.mkpath(QETApp::configDir()); QDir custom_elements_dir(QETApp::customElementsDir()); if (!custom_elements_dir.exists()) custom_elements_dir.mkpath(QETApp::customElementsDir()); // lit le fichier de configuration qet_settings = new QSettings(configDir() + "qelectrotech.conf", QSettings::IniFormat, this); // fichiers recents // note : les icones doivent etre initialisees avant ces instructions (qui creent des menus en interne) projects_recent_files_ = new RecentFiles("projects"); projects_recent_files_ -> setIconForFiles(QET::Icons::ProjectFile); elements_recent_files_ = new RecentFiles("elements"); elements_recent_files_ -> setIconForFiles(QET::Icons::Element); } /** Construit l'icone dans le systray et son menu */ void QETApp::initSystemTray() { setSplashScreenStep(tr("Chargement... ic\364ne du systray", "splash screen caption")); // initialisation des menus de l'icone dans le systray menu_systray = new QMenu(tr("QElectroTech", "systray menu title")); quitter_qet = new QAction(QET::Icons::ApplicationExit, tr("&Quitter"), this); reduce_appli = new QAction(QET::Icons::Hide, tr("&Masquer"), this); restore_appli = new QAction(QET::Icons::Restore, tr("&Restaurer"), this); reduce_diagrams = new QAction(QET::Icons::Hide, tr("&Masquer tous les \351diteurs de sch\351ma"), this); restore_diagrams = new QAction(QET::Icons::Restore, tr("&Restaurer tous les \351diteurs de sch\351ma"), this); reduce_elements = new QAction(QET::Icons::Hide, tr("&Masquer tous les \351diteurs d'\351l\351ment"), this); restore_elements = new QAction(QET::Icons::Restore, tr("&Restaurer tous les \351diteurs d'\351l\351ment"), this); new_diagram = new QAction(QET::Icons::WindowNew, tr("&Nouvel \351diteur de sch\351ma"), this); new_element = new QAction(QET::Icons::WindowNew, tr("&Nouvel \351diteur d'\351l\351ment"), this); quitter_qet -> setStatusTip(tr("Ferme l'application QElectroTech")); reduce_appli -> setToolTip(tr("R\351duire QElectroTech dans le systray")); restore_appli -> setToolTip(tr("Restaurer QElectroTech")); connect(quitter_qet, SIGNAL(triggered()), this, SLOT(quitQET())); connect(reduce_appli, SIGNAL(triggered()), this, SLOT(reduceEveryEditor())); connect(restore_appli, SIGNAL(triggered()), this, SLOT(restoreEveryEditor())); connect(reduce_diagrams, SIGNAL(triggered()), this, SLOT(reduceDiagramEditors())); connect(restore_diagrams, SIGNAL(triggered()), this, SLOT(restoreDiagramEditors())); connect(reduce_elements, SIGNAL(triggered()), this, SLOT(reduceElementEditors())); connect(restore_elements, SIGNAL(triggered()), this, SLOT(restoreElementEditors())); connect(new_diagram, SIGNAL(triggered()), this, SLOT(newDiagramEditor())); connect(new_element, SIGNAL(triggered()), this, SLOT(newElementEditor())); // initialisation de l'icone du systray qsti = new QSystemTrayIcon(QET::Icons::QETLogo, this); qsti -> setToolTip(tr("QElectroTech", "systray icon tooltip")); connect(qsti, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(systray(QSystemTrayIcon::ActivationReason))); qsti -> setContextMenu(menu_systray); qsti -> show(); } /// construit le menu de l'icone dans le systray void QETApp::buildSystemTrayMenu() { menu_systray -> clear(); // recupere les editeurs QList diagrams = diagramEditors(); QList elements = elementEditors(); fetchWindowStats(diagrams, elements); // ajoute le bouton reduire / restaurer au menu menu_systray -> addAction(every_editor_reduced ? restore_appli : reduce_appli); // ajoute les editeurs de schemas dans un sous-menu QMenu *diagrams_submenu = menu_systray -> addMenu(tr("\311diteurs de sch\351mas")); diagrams_submenu -> addAction(reduce_diagrams); diagrams_submenu -> addAction(restore_diagrams); diagrams_submenu -> addAction(new_diagram); reduce_diagrams -> setEnabled(!diagrams.isEmpty() && !every_diagram_reduced); restore_diagrams -> setEnabled(!diagrams.isEmpty() && !every_diagram_visible); diagrams_submenu -> addSeparator(); foreach(QETDiagramEditor *diagram, diagrams) { QAction *current_diagram_menu = diagrams_submenu -> addAction(diagram -> windowTitle()); current_diagram_menu -> setCheckable(true); current_diagram_menu -> setChecked(diagram -> isVisible()); connect(current_diagram_menu, SIGNAL(triggered()), &signal_map, SLOT(map())); signal_map.setMapping(current_diagram_menu, diagram); } // ajoute les editeurs d'elements au menu QMenu *elements_submenu = menu_systray -> addMenu(tr("\311diteurs d'\351l\351ment")); elements_submenu -> addAction(reduce_elements); elements_submenu -> addAction(restore_elements); elements_submenu -> addAction(new_element); reduce_elements -> setEnabled(!elements.isEmpty() && !every_element_reduced); restore_elements -> setEnabled(!elements.isEmpty() && !every_element_visible); elements_submenu -> addSeparator(); foreach(QETElementEditor *element, elements) { QAction *current_element_menu = elements_submenu -> addAction(element -> windowTitle()); current_element_menu -> setCheckable(true); current_element_menu -> setChecked(element -> isVisible()); connect(current_element_menu, SIGNAL(triggered()), &signal_map, SLOT(map())); signal_map.setMapping(current_element_menu, element); } // ajoute le bouton quitter au menu menu_systray -> addSeparator(); menu_systray -> addAction(quitter_qet); } /// Met a jour les booleens concernant l'etat des fenetres void QETApp::fetchWindowStats(const QList &diagrams, const QList &elements) { // compte le nombre de schemas visibles int visible_diagrams = 0; foreach(QMainWindow *w, diagrams) if (w -> isVisible()) ++ visible_diagrams; every_diagram_reduced = !visible_diagrams; every_diagram_visible = visible_diagrams == diagrams.count(); // compte le nombre de schemas visibles int visible_elements = 0; foreach(QMainWindow *w, elements) if (w -> isVisible()) ++ visible_elements; every_element_reduced = !visible_elements; every_element_visible = visible_elements == elements.count(); // determine si tous les elements sont reduits every_editor_reduced = every_element_reduced && every_diagram_reduced; } #ifdef Q_OS_DARWIN /** Gere les evenements, en particulier l'evenement FileOpen sous MacOs. @param e Evenement a gerer */ bool QETApp::event(QEvent *e) { // gere l'ouverture de fichiers (sous MacOs) if (e -> type() == QEvent::FileOpen) { // nom du fichier a ouvrir QString filename = static_cast(e) -> file(); openFiles(QStringList() << filename); return(true); } else { return(QApplication::event(e)); } } #endif /** Affiche l'aide et l'usage sur la sortie standard */ void QETApp::printHelp() { QString help( tr("Usage : ") + QFileInfo(applicationFilePath()).fileName() + tr(" [options] [fichier]...\n\n") + tr("QElectroTech, une application de r\351alisation de sch\351mas \351lectriques.\n\n" "Options disponibles : \n" " --help Afficher l'aide sur les options\n" " -v, --version Afficher la version\n" " --license Afficher la licence\n") #ifdef QET_ALLOW_OVERRIDE_CED_OPTION + tr(" --common-elements-dir=DIR Definir le dossier de la collection d'elements\n") #endif #ifdef QET_ALLOW_OVERRIDE_CD_OPTION + tr(" --config-dir=DIR Definir le dossier de configuration\n") #endif + tr(" --lang-dir=DIR Definir le dossier contenant les fichiers de langue\n") ); std::cout << qPrintable(help) << std::endl; } /** Affiche la version sur la sortie standard */ void QETApp::printVersion() { std::cout << qPrintable(QET::displayedVersion) << std::endl; } /** Affiche la licence sur la sortie standard */ void QETApp::printLicense() { std::cout << qPrintable(QET::license()) << std::endl; } /// Constructeur QETStyle::QETStyle() : QPlastiqueStyle() { } /// Destructeur QETStyle::~QETStyle() { } /// Gere les parametres de style int QETStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returndata) const { if (hint == QStyle::SH_DialogButtonBox_ButtonsHaveIcons) { return(int(true)); } else { return(QPlastiqueStyle::styleHint(hint, option, widget, returndata)); } } /// Gere les icones standard QIcon QETStyle::standardIconImplementation(StandardPixmap standardIcon, const QStyleOption *option, const QWidget* widget) const { switch(standardIcon) { case QStyle::SP_DialogSaveButton: return(QET::Icons::DocumentSave); case QStyle::SP_DialogOpenButton: return(QET::Icons::DocumentOpen); case QStyle::SP_DialogCancelButton: return(QET::Icons::DialogCancel); case QStyle::SP_DialogOkButton: case QStyle::SP_DialogApplyButton: return(QET::Icons::DialogOk); case QStyle::SP_DialogCloseButton: return(QET::Icons::DocumentClose); case QStyle::SP_DialogYesButton: return(QET::Icons::Allowed); case QStyle::SP_DialogNoButton: return(QET::Icons::Forbidden); case QStyle::SP_DialogResetButton: return(QET::Icons::EditUndo); case QStyle::SP_DialogHelpButton: case QStyle::SP_DialogDiscardButton: return(QIcon()); default: return(QPlastiqueStyle::standardIconImplementation(standardIcon, option, widget)); } } /// @return une reference vers les parametres de QElectroTEch QSettings &QETApp::settings() { return(*(instance() -> qet_settings)); } /** @param location adresse virtuelle d'un item (collection, categorie, element, ...) @param prefer_collections true pour renvoyer la collection lorsque le chemin correspond aussi bien a une collection qu'a sa categorie racine @return l'item correspondant a l'adresse virtuelle path, ou 0 si celui-ci n'a pas ete trouve */ ElementsCollectionItem *QETApp::collectionItem(const ElementsLocation &location, bool prefer_collections) { if (QETProject *target_project = location.project()) { return(target_project -> embeddedCollection() -> item(location.path(), prefer_collections)); } else { QString path(location.path()); if (path.startsWith("common://")) { return(common_collection -> item(path, prefer_collections)); } else if (path.startsWith("custom://")) { return(custom_collection -> item(path, prefer_collections)); } } return(0); } /** @param location adresse virtuelle de la categorie a creer @return la categorie creee, ou 0 en cas d'echec */ ElementsCategory *QETApp::createCategory(const ElementsLocation &location) { if (QETProject *target_project = location.project()) { return(target_project -> embeddedCollection() -> createCategory(location.path())); } else { QString path(location.path()); if (path.startsWith("common://")) { return(common_collection -> createCategory(path)); } else if (path.startsWith("custom://")) { return(custom_collection -> createCategory(path)); } } return(0); } /** @param location adresse virtuelle de l'element a creer @return l'element cree, ou 0 en cas d'echec */ ElementDefinition *QETApp::createElement(const ElementsLocation &location) { if (QETProject *target_project = location.project()) { return(target_project -> embeddedCollection() -> createElement(location.path())); } else { QString path(location.path()); if (path.startsWith("common://")) { return(common_collection -> createElement(path)); } else if (path.startsWith("custom://")) { return(custom_collection -> createElement(path)); } } return(0); } /** @return la liste des projets avec leurs ids associes */ QMap QETApp::registeredProjects() { return(registered_projects_); } /** @param project Projet a enregistrer aupres de l'application @return true si le projet a pu etre enregistre, false sinon L'echec de l'enregistrement d'un projet signifie generalement qu'il est deja enregistre. */ bool QETApp::registerProject(QETProject *project) { // le projet doit sembler valide if (!project) return(false); // si le projet est deja enregistre, renvoie false if (projectId(project) != -1) return(false); // enregistre le projet registered_projects_.insert(next_project_id ++, project); return(true); } /** Annule l'enregistrement du projet project @param project Projet dont il faut annuler l'enregistrement @return true si l'annulation a reussi, false sinon L'echec de cette methode signifie generalement que le projet n'etait pas enregistre. */ bool QETApp::unregisterProject(QETProject *project) { int project_id = projectId(project); // si le projet n'est pas enregistre, renvoie false if (project_id == -1) return(false); // annule l'enregistrement du projet return(registered_projects_.remove(project_id) == 1); } /** @param id Id du projet voulu @return le projet correspond a l'id passe en parametre */ QETProject *QETApp::project(const uint &id) { if (registered_projects_.contains(id)) { return(registered_projects_[id]); } else { return(0); } } /** @param project Projet dont on souhaite recuperer l'id @return l'id du projet en parametre si celui-ci est enregistre, -1 sinon */ int QETApp::projectId(const QETProject *project) { foreach(int id, registered_projects_.keys()) { if (registered_projects_[id] == project) { return(id); } } return(-1); } qelectrotech-0.22+svn897/sources/insetproperties.cpp0000644000175000017500000001116011320140732022515 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "insetproperties.h" /** Constructeur. Initialise un objet InsetProperties avec tous les champs vides (date vide + useDate a UseDateValue). */ InsetProperties::InsetProperties() : date(), useDate(UseDateValue) { } /** Destructeur */ InsetProperties::~InsetProperties() { } /** @param ip autre conteneur InsetProperties @return true si ip et ce conteneur sont identiques, false sinon */ bool InsetProperties::operator==(const InsetProperties &ip) { return( ip.title == title &&\ ip.author == author &&\ ip.date == date &&\ ip.filename == filename &&\ ip.folio == folio ); } /** @param ip autre conteneur InsetProperties @return false si ip et ce conteneur sont identiques, true sinon */ bool InsetProperties::operator!=(const InsetProperties &ip) { return(!(*this == ip)); } /** Exporte le cartouche sous formes d'attributs XML ajoutes a l'element e. @param e Element XML auquel seront ajoutes des attributs */ void InsetProperties::toXml(QDomElement &e) const { e.setAttribute("author", author); e.setAttribute("title", title); e.setAttribute("filename", filename); e.setAttribute("folio", folio); e.setAttribute("date", exportDate()); } /** Importe le cartouche a partir des attributs XML de l'element e @param e Element XML dont les attributs seront lus */ void InsetProperties::fromXml(QDomElement &e) { if (e.hasAttribute("author")) author = e.attribute("author"); if (e.hasAttribute("title")) title = e.attribute("title"); if (e.hasAttribute("filename")) filename = e.attribute("filename"); if (e.hasAttribute("folio")) folio = e.attribute("folio"); if (e.hasAttribute("date")) setDateFromString(e.attribute("date")); } /** Exporte le cartouche dans une configuration. @param settings Parametres a ecrire @param prefix prefixe a ajouter devant les noms des parametres */ void InsetProperties::toSettings(QSettings &settings, const QString &prefix) const { settings.setValue(prefix + "title", title); settings.setValue(prefix + "author", author); settings.setValue(prefix + "filename", filename); settings.setValue(prefix + "folio", folio); settings.setValue(prefix + "date", exportDate()); } /** Importe le cartouche depuis une configuration. @param settings Parametres a lire @param prefix prefixe a ajouter devant les noms des parametres */ void InsetProperties::fromSettings(QSettings &settings, const QString &prefix) { title = settings.value(prefix + "title").toString(); author = settings.value(prefix + "author").toString(); filename = settings.value(prefix + "filename").toString(); folio = settings.value(prefix + "folio", "%id/%total").toString(); setDateFromString(settings.value(prefix + "date").toString()); } /** @return La date a utiliser */ QDate InsetProperties::finalDate() const { if (useDate == UseDateValue) { return(date); } else { return(QDate::currentDate()); } } /** @return une chaine de caracteres decrivant comment gerer la date dans le cartouche : la chaine peut valoir : * null pour ne pas afficher de date * now pour afficher la date courante (a la creation du schema) * une date au format yyyyMMdd pour utiliser une date fixe */ QString InsetProperties::exportDate() const { QString date_setting_value; if (useDate == UseDateValue) { if (date.isNull()) date_setting_value = "null"; else date_setting_value = date.toString("yyyyMMdd"); } else { date_setting_value = "now"; } return(date_setting_value); } /** Charge les attributs date et useDate a partir d'une chaine de caracteres. @param date_string Chaine de caracteres a analyser @see exportDate */ void InsetProperties::setDateFromString(const QString &date_string) { if (date_string == "now") { date = QDate::currentDate(); useDate = CurrentDate; } else if (date_string.isEmpty() || date_string == "null") { date = QDate(); useDate = UseDateValue; } else { date = QDate::fromString(date_string, "yyyyMMdd"); useDate = UseDateValue; } } qelectrotech-0.22+svn897/sources/qetregexpvalidator.cpp0000644000175000017500000000274711320140732023203 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qetregexpvalidator.h" /** Constructeur @param parent QObject parent */ QETRegExpValidator::QETRegExpValidator(QObject *parent) : QRegExpValidator(parent) { } /** Constructeur @param regexp Expression reguliere a valider @param parent QObject parent */ QETRegExpValidator::QETRegExpValidator(const QRegExp ®exp, QObject *parent) : QRegExpValidator(regexp, parent) { } /** Destructeur */ QETRegExpValidator::~QETRegExpValidator() { } /** @see QRegExpValidator::validate @see validationFailed() Emet le signal validationFailed si la validation echoue */ QValidator::State QETRegExpValidator::validate(QString &input, int &pos) const { QValidator::State result = QRegExpValidator::validate(input, pos); if (result == QValidator::Invalid) emit(validationFailed()); return(result); } qelectrotech-0.22+svn897/sources/diagramcommands.h0000644000175000017500000002325511320140732022061 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef DIAGRAM_COMMANDS_H #define DIAGRAM_COMMANDS_H #include "qet.h" #include "diagram.h" #include "diagramcontent.h" #include "diagramtextitem.h" #include "conductor.h" #include "borderproperties.h" #include "conductorproperties.h" #include "insetproperties.h" #include /** Cette classe represente l'action d'ajouter un element au schema */ class AddElementCommand : public QUndoCommand { // constructeurs, destructeur public: AddElementCommand(Diagram *, Element *, const QPointF &, QUndoCommand * = 0); virtual ~AddElementCommand(); private: AddElementCommand(const AddElementCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// element ajoute Element *element; /// schema sur lequel on ajoute l'element Diagram *diagram; /// position de l'element sur le schema QPointF position; }; /** Cette classe represente l'action d'ajouter du texte au schema */ class AddTextCommand : public QUndoCommand { // constructeurs, destructeur public: AddTextCommand(Diagram *, DiagramTextItem *, const QPointF &, QUndoCommand * = 0); virtual ~AddTextCommand(); private: AddTextCommand(const AddTextCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// texte ajoute DiagramTextItem *textitem; /// schema sur lequel on ajoute le texte Diagram *diagram; /// position du texte sur le schema QPointF position; }; /** Cette classe represente l'action d'ajouter un conducteur au schema */ class AddConductorCommand : public QUndoCommand { // constructeurs, destructeur public: AddConductorCommand(Diagram *, Conductor *, QUndoCommand * = 0); virtual ~AddConductorCommand(); private: AddConductorCommand(const AddConductorCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// conducteur ajoute Conductor *conductor; /// schema auquel on ajoute le conducteur Diagram *diagram; }; /** Cette classe represente l'action de supprimer des elements et / ou conducteurs d'un schema */ class DeleteElementsCommand : public QUndoCommand { // constructeurs, destructeur public: DeleteElementsCommand(Diagram *, const DiagramContent &, QUndoCommand * = 0); virtual ~DeleteElementsCommand(); private: DeleteElementsCommand(const DeleteElementsCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// contenu enleve DiagramContent removed_content; /// schema dont on supprime des elements et conducteurs Diagram *diagram; }; /** Cette classe represente l'action de coller quelque chose sur un schema */ class PasteDiagramCommand : public QUndoCommand { // constructeurs, destructeur public: PasteDiagramCommand(Diagram *, const DiagramContent &, QUndoCommand * = 0); virtual ~PasteDiagramCommand(); private: PasteDiagramCommand(const PasteDiagramCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// contenu ajoute DiagramContent content; /// schema sur lequel on colle les elements et conducteurs Diagram *diagram; /// entien pour filtrer le contenu du schema int filter; /// booleen pour empecher le premier appel a redo bool first_redo; }; /** Cette classe represente l'action de supprimer des elements et / ou conducteurs d'un schema */ class CutDiagramCommand : public DeleteElementsCommand { // constructeurs, destructeur public: CutDiagramCommand(Diagram *, const DiagramContent &, QUndoCommand * = 0); virtual ~CutDiagramCommand(); private: CutDiagramCommand(const CutDiagramCommand &); }; /** Cette classe represente l'action de deplacer des elements et des conducteurs sur un schema */ class MoveElementsCommand : public QUndoCommand { // constructeurs, destructeur public: MoveElementsCommand(Diagram *, const DiagramContent &, const QPointF &m, QUndoCommand * = 0); virtual ~MoveElementsCommand(); private: MoveElementsCommand(const MoveElementsCommand &); // methodes public: virtual void undo(); virtual void redo(); virtual void move(const QPointF &); // attributs private: /// schema sur lequel on deplace les elements Diagram *diagram; /// contenu a deplacer DiagramContent content_to_move; /// mouvement effectue QPointF movement; /// booleen pour ne pas executer le premier redo() bool first_redo; }; /** Cette classe represente la modification d'un champ de texte */ class ChangeDiagramTextCommand : public QUndoCommand { // constructeurs, destructeur public: ChangeDiagramTextCommand(DiagramTextItem *, const QString &before, const QString &after, QUndoCommand * = 0); virtual ~ChangeDiagramTextCommand(); private: ChangeDiagramTextCommand(const ChangeDiagramTextCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// DiagramTextItem modifie DiagramTextItem *text_item; /// texte avant changement QString text_before; /// texte apres changement QString text_after; /// booleen pour ne pas executer le premier redo() bool first_redo; }; /** Cette classe represente l'action de pivoter plusieurs elements */ class RotateElementsCommand : public QUndoCommand { // constructeurs, destructeur public: RotateElementsCommand(const QHash &elements, QUndoCommand * = 0); virtual ~RotateElementsCommand(); private: RotateElementsCommand(const RotateElementsCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// elements pivotes associes a leur ancienne orientation QHash elements_to_rotate; }; /** Cette classe represente l'action de modifier un conducteur */ class ChangeConductorCommand : public QUndoCommand { // constructeurs, destructeur public: ChangeConductorCommand(Conductor *, const ConductorProfile &, const ConductorProfile &, Qt::Corner, QUndoCommand * = 0); virtual ~ChangeConductorCommand(); private: ChangeConductorCommand(const ChangeConductorCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// conducteur modifie Conductor *conductor; /// profil avant changement ConductorProfile old_profile; /// profil apres changement ConductorProfile new_profile; /// Type de trajet Qt::Corner path_type; /// booleen pour ne pas executer le premier redo() bool first_redo; }; /** Cette classe represente l'action de reinitialiser des conducteurs */ class ResetConductorCommand : public QUndoCommand { // constructeurs, destructeur public: ResetConductorCommand(const QHash &, QUndoCommand * = 0); virtual ~ResetConductorCommand(); private: ResetConductorCommand(const ResetConductorCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// conducteurs reinitialises associes a leur ancien profil QHash conductors_profiles; }; /** Cette classe represente l'action de modifier les informations du cartouche d'un schema */ class ChangeInsetCommand : public QUndoCommand { // constructeurs, destructeur public: ChangeInsetCommand(Diagram *, const InsetProperties &, const InsetProperties &, QUndoCommand * = 0); virtual ~ChangeInsetCommand(); private: ChangeInsetCommand(const ChangeInsetCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// schema modifie Diagram *diagram; /// proprietes avant changement InsetProperties old_inset; /// proprietes apres changement InsetProperties new_inset; }; /** Cette classe represente l'action de modifier les dimensions d'un schema */ class ChangeBorderCommand : public QUndoCommand { // constructeurs, destructeur public: ChangeBorderCommand(Diagram *, const BorderProperties &, const BorderProperties &, QUndoCommand * = 0); virtual ~ChangeBorderCommand(); private: ChangeBorderCommand(const ChangeBorderCommand &); // methodes public: virtual void undo(); virtual void redo(); // attributs private: /// schema modifie Diagram *diagram; public: /// anciennes dimensions du schema BorderProperties old_properties; /// nouvelles dimensions du schema BorderProperties new_properties; }; /** Cette classe represente l'action de modifier les proprietes d'un conducteur */ class ChangeConductorPropertiesCommand : public QUndoCommand { // constructeurs, destructeur public: ChangeConductorPropertiesCommand(Conductor *, QUndoCommand * = 0); virtual ~ChangeConductorPropertiesCommand(); private: ChangeConductorPropertiesCommand(const ChangeConductorPropertiesCommand &); // methodes public: virtual void undo(); virtual void redo(); virtual void setOldSettings(const ConductorProperties &); virtual void setNewSettings(const ConductorProperties &); // attributs private: /// conducteur modifie Conductor *conductor; /// anciennes proprietes ConductorProperties old_properties; /// nouvelles proprietes ConductorProperties new_properties; /// booleens indiquant si les proprietes ont ete definies ou non bool old_settings_set; bool new_settings_set; }; #endif qelectrotech-0.22+svn897/sources/configpages.cpp0000644000175000017500000002336411333603373021565 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "configpages.h" #include "borderpropertieswidget.h" #include "conductorpropertieswidget.h" #include "insetpropertieswidget.h" #include "qetapp.h" #include "qetdiagrameditor.h" #include "borderinset.h" #include "qeticons.h" #include "exportpropertieswidget.h" /** Constructeur @param parent QWidget parent */ NewDiagramPage::NewDiagramPage(QWidget *parent) : ConfigPage(parent) { // dimensions par defaut d'un schema bpw = new BorderPropertiesWidget(QETDiagramEditor::defaultBorderProperties()); // proprietes par defaut d'un cartouche ipw = new InsetPropertiesWidget(QETDiagramEditor::defaultInsetProperties(), true); // proprietes par defaut des conducteurs cpw = new ConductorPropertiesWidget(QETDiagramEditor::defaultConductorProperties()); cpw -> setContentsMargins(0, 0, 0, 0); QVBoxLayout *vlayout1 = new QVBoxLayout(); QLabel *title = new QLabel(this -> title()); vlayout1 -> addWidget(title); QFrame *horiz_line = new QFrame(); horiz_line -> setFrameShape(QFrame::HLine); vlayout1 -> addWidget(horiz_line); QHBoxLayout *hlayout1 = new QHBoxLayout(); QVBoxLayout *vlayout2 = new QVBoxLayout(); vlayout2 -> addWidget(bpw); vlayout2 -> addWidget(ipw); vlayout2 -> setSpacing(5); hlayout1 -> addLayout(vlayout2); hlayout1 -> addWidget(cpw); vlayout1 -> addLayout(hlayout1); vlayout1 -> addStretch(1); hlayout1 -> setAlignment(cpw, Qt::AlignTop); setLayout(vlayout1); } /// Destructeur NewDiagramPage::~NewDiagramPage() { } /** Applique la configuration de cette page */ void NewDiagramPage::applyConf() { QSettings &settings = QETApp::settings(); // dimensions des nouveaux schemas bpw -> borderProperties().toSettings(settings, "diagrameditor/default"); // proprietes du cartouche ipw-> insetProperties().toSettings(settings, "diagrameditor/default"); // proprietes par defaut des conducteurs cpw -> conductorProperties().toSettings(settings, "diagrameditor/defaultconductor"); } /// @return l'icone de cette page QIcon NewDiagramPage::icon() const { return(QET::Icons::NewDiagram); } /// @return le titre de cette page QString NewDiagramPage::title() const { return(tr("Nouveau sch\351ma", "configuration page title")); } /** Constructeur @param parent QWidget parent */ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage(parent) { // acces a la configuration de QElectroTech QSettings &settings = QETApp::settings(); bool use_system_colors = settings.value("usesystemcolors", "true").toBool(); bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed"; bool integrate_elements = settings.value("diagrameditor/integrate-elements", true).toBool(); QString default_element_informations = settings.value("elementeditor/default-informations", "").toString(); appearance_ = new QGroupBox(tr("Apparence"), this); use_system_colors_ = new QCheckBox(tr("Utiliser les couleurs du syst\350me"), appearance_); projects_view_mode_ = new QGroupBox(tr("Projets"), this); windowed_mode_ = new QRadioButton(tr("Utiliser des fen\352tres"), projects_view_mode_); tabbed_mode_ = new QRadioButton(tr("Utiliser des onglets"), projects_view_mode_); warning_view_mode_ = new QLabel(tr("Ces param\350tres s'appliqueront d\350s la prochaine ouverture d'un \351diteur de sch\351mas.")); elements_management_ = new QGroupBox(tr("Gestion des \351l\351ments"), this); integrate_elements_ = new QCheckBox(tr("Int\351grer automatiquement les \351l\351ments dans les projets (recommand\351)"), elements_management_); default_element_infos_label_ = new QLabel( tr( "Chaque \351l\351ment embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. " "Vous pouvez sp\351cifier ici la valeur par d\351faut de ce champ pour les \351l\351ments que vous cr\351erez :" ) ); default_element_infos_label_ -> setWordWrap(true); default_element_infos_textfield_ = new QTextEdit(); default_element_infos_textfield_ -> setAcceptRichText(false); use_system_colors_ -> setChecked(use_system_colors); if (tabbed) { tabbed_mode_ -> setChecked(true); } else { windowed_mode_ -> setChecked(true); } integrate_elements_ -> setChecked(integrate_elements); default_element_infos_textfield_ -> setPlainText(default_element_informations); QVBoxLayout *appearance_layout = new QVBoxLayout(); appearance_layout -> addWidget(use_system_colors_); appearance_ -> setLayout(appearance_layout); QVBoxLayout *projects_view_mode_layout = new QVBoxLayout(); projects_view_mode_layout -> addWidget(windowed_mode_); projects_view_mode_layout -> addWidget(tabbed_mode_); projects_view_mode_layout -> addWidget(warning_view_mode_); projects_view_mode_ -> setLayout(projects_view_mode_layout); QVBoxLayout *elements_management_layout = new QVBoxLayout(); elements_management_layout -> addWidget(integrate_elements_); elements_management_layout -> addWidget(default_element_infos_label_); elements_management_layout -> addWidget(default_element_infos_textfield_); elements_management_ -> setLayout(elements_management_layout); QVBoxLayout *vlayout1 = new QVBoxLayout(); QLabel *title_label_ = new QLabel(title()); vlayout1 -> addWidget(title_label_); QFrame *horiz_line_ = new QFrame(); horiz_line_ -> setFrameShape(QFrame::HLine); vlayout1 -> addWidget(horiz_line_); vlayout1 -> addWidget(appearance_); vlayout1 -> addWidget(projects_view_mode_); vlayout1 -> addWidget(elements_management_); vlayout1 -> addStretch(); setLayout(vlayout1); } /// Destructeur GeneralConfigurationPage::~GeneralConfigurationPage() { } /** Applique la configuration de cette page */ void GeneralConfigurationPage::applyConf() { QSettings &settings = QETApp::settings(); bool was_using_system_colors = settings.value("usesystemcolors", "true").toBool(); bool must_use_system_colors = use_system_colors_ -> isChecked(); settings.setValue("usesystemcolors", must_use_system_colors); if (was_using_system_colors != must_use_system_colors) { QETApp::instance() -> useSystemPalette(must_use_system_colors); } QString view_mode = tabbed_mode_ -> isChecked() ? "tabbed" : "windowed"; settings.setValue("diagrameditor/viewmode", view_mode) ; settings.setValue("diagrameditor/integrate-elements", integrate_elements_ -> isChecked()); settings.setValue("elementeditor/default-informations", default_element_infos_textfield_ -> toPlainText()); } /// @return l'icone de cette page QIcon GeneralConfigurationPage::icon() const { return(QET::Icons::Settings); } /// @return le titre de cette page QString GeneralConfigurationPage::title() const { return(tr("G\351n\351ral", "configuration page title")); } /** Constructeur @param parent QWidget parent */ ExportConfigPage::ExportConfigPage(QWidget *parent) : ConfigPage(parent) { // epw contient les options d'export epw = new ExportPropertiesWidget(QETDiagramEditor::defaultExportProperties()); // layout vertical contenant le titre, une ligne horizontale et epw QVBoxLayout *vlayout1 = new QVBoxLayout(); QLabel *title = new QLabel(this -> title()); vlayout1 -> addWidget(title); QFrame *horiz_line = new QFrame(); horiz_line -> setFrameShape(QFrame::HLine); vlayout1 -> addWidget(horiz_line); vlayout1 -> addWidget(epw); vlayout1 -> addStretch(); // activation du layout setLayout(vlayout1); } /// Destructeur ExportConfigPage::~ExportConfigPage() { } /** Applique la configuration de cette page */ void ExportConfigPage::applyConf() { QSettings &settings = QETApp::settings(); epw -> exportProperties().toSettings(settings, "export/default"); } /// @return l'icone de cette page QIcon ExportConfigPage::icon() const { return(QET::Icons::DocumentExport); } /// @return le titre de cette page QString ExportConfigPage::title() const { return(tr("Export", "configuration page title")); } /** Constructeur @param parent QWidget parent */ PrintConfigPage::PrintConfigPage(QWidget *parent) : ConfigPage(parent) { // epw contient les options d'export epw = new ExportPropertiesWidget(QETDiagramEditor::defaultPrintProperties()); epw -> setPrintingMode(true); // layout vertical contenant le titre, une ligne horizontale et epw QVBoxLayout *vlayout1 = new QVBoxLayout(); QLabel *title = new QLabel(this -> title()); vlayout1 -> addWidget(title); QFrame *horiz_line = new QFrame(); horiz_line -> setFrameShape(QFrame::HLine); vlayout1 -> addWidget(horiz_line); vlayout1 -> addWidget(epw); vlayout1 -> addStretch(); // activation du layout setLayout(vlayout1); } /// Destructeur PrintConfigPage::~PrintConfigPage() { } /** Applique la configuration de cette page */ void PrintConfigPage::applyConf() { QString prefix = "print/default"; QSettings &settings = QETApp::settings(); epw -> exportProperties().toSettings(settings, prefix); // annule l'enregistrement de certaines proprietes non pertinentes settings.remove(prefix + "path"); settings.remove(prefix + "format"); settings.remove(prefix + "area"); } /// @return l'icone de cette page QIcon PrintConfigPage::icon() const { return(QET::Icons::Printer); } /// @return le titre de cette page QString PrintConfigPage::title() const { return(tr("Impression", "configuration page title")); } qelectrotech-0.22+svn897/sources/qetprintpreviewdialog.cpp0000644000175000017500000003704211322366432023726 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "qetprintpreviewdialog.h" #include "diagramschooser.h" #include "exportproperties.h" #include "exportpropertieswidget.h" #include "qetdiagrameditor.h" #include "qeticons.h" /** Constructeur @param project Projet a imprimer @param printer Imprimante a utiliser pour @param widget Widget parent @param f Flags passes au constructeur de QDialog puis QWidget */ QETPrintPreviewDialog::QETPrintPreviewDialog(QETProject *project, QPrinter *printer, QWidget *widget, Qt::WindowFlags f) : QDialog(widget, f), project_(project), printer_(printer) { setWindowTitle(tr("QElectroTech : Aper\347u avant impression")); build(); connect(preview_, SIGNAL(paintRequested(QPrinter *)), this, SLOT(requestPaint(QPrinter *))); connect(diagrams_list_, SIGNAL(selectionChanged()), preview_, SLOT(updatePreview())); connect(diagrams_list_, SIGNAL(selectionChanged()), this, SLOT(checkDiagramsCount())); setWindowState(windowState() | Qt::WindowMaximized); } /** Destructeur */ QETPrintPreviewDialog::~QETPrintPreviewDialog() { } /** @return le widget permettant de choisir les schemas a imprimer. */ DiagramsChooser *QETPrintPreviewDialog::diagramsChooser() { return(diagrams_list_); } /** @return true si l'option "Adapter le schema a la page" est activee */ bool QETPrintPreviewDialog::fitDiagramsToPages() const { return(fit_diagram_to_page_ -> isChecked()); } /** @return les options de rendu definies par l'utilisateur */ ExportProperties QETPrintPreviewDialog::exportProperties() const { return(render_properties_ -> exportProperties()); } /** Passe a la premiere page */ void QETPrintPreviewDialog::firstPage() { preview_ -> setCurrentPage(1); } /** Passe a la page precedente */ void QETPrintPreviewDialog::previousPage() { int preview_previous_page = preview_ -> currentPage() - 1; preview_ -> setCurrentPage(qMax(preview_previous_page, 0)); } /** Passe a la page suivante */ void QETPrintPreviewDialog::nextPage() { int preview_next_page = preview_ -> currentPage() + 1; preview_ -> setCurrentPage(qMin(preview_next_page, preview_ -> numPages())); } /** Passe a la derniere page */ void QETPrintPreviewDialog::lastPage() { preview_ -> setCurrentPage(preview_ -> numPages()); } /** Copnfigure la mise en page */ void QETPrintPreviewDialog::pageSetup() { QPageSetupDialog page_setup_dialog(printer_, this); if (page_setup_dialog.exec() == QDialog::Accepted) { preview_ -> updatePreview(); updateZoomList(); } } /** Utilise ou non toute la page sans teni compte des marges @param full_page true pour utiliser toute la page, false sinon */ void QETPrintPreviewDialog::useFullPage(bool full_page) { printer_ -> setFullPage(full_page); preview_ -> updatePreview(); updateZoomList(); } /** Fait tenir ou non chaque schema sur une page @param fit_diagram true pour adapter chaque schema sur une page, false sinon */ void QETPrintPreviewDialog::fitDiagramToPage(bool fit_diagram) { Q_UNUSED(fit_diagram); preview_ -> updatePreview(); updateZoomList(); } /** Effectue l'action "zoom avant" sur l'apercu avant impression */ void QETPrintPreviewDialog::zoomIn() { preview_ -> zoomIn(4.0/3.0); updateZoomList(); } /** Effectue l'action "zoom arriere" sur l'apercu avant impression */ void QETPrintPreviewDialog::zoomOut() { preview_ -> zoomOut(4.0/3.0); updateZoomList(); } /** Selectionne tous les schemas */ void QETPrintPreviewDialog::selectAllDiagrams() { diagrams_list_ -> setSelectedAllDiagrams(true); } /** Deselectionne tous les schemas */ void QETPrintPreviewDialog::selectNoDiagram() { diagrams_list_ -> setSelectedAllDiagrams(false); } /** Met en place le dialogue */ void QETPrintPreviewDialog::build() { preview_ = new QPrintPreviewWidget(printer_); diagrams_label_ = new QLabel(tr("Sch\351mas \340 imprimer\240:")); diagrams_list_ = new DiagramsChooser(project_); diagrams_select_all_ = new QPushButton(tr("Tout cocher")); diagrams_select_none_ = new QPushButton(tr("Tout d\351cocher")); toggle_diagrams_list_ = new QAction(QET::Icons::Diagram, tr("Cacher la liste des sch\351mas"), this); toggle_print_options_ = new QAction(QET::Icons::Configure, tr("Cacher les options d'impression"), this); adjust_width_ = new QAction(QET::Icons::ViewFitWidth, tr("Ajuster la largeur"), this); adjust_page_ = new QAction(QET::Icons::ViewFitWindow, tr("Ajuster la page"), this); zoom_out_ = new QAction(QET::Icons::ZoomOut, tr("Zoom arri\350re"), this); zoom_box_ = new QComboBox(this); zoom_in_ = new QAction(QET::Icons::ZoomIn, tr("Zoom avant"), this); landscape_ = new QAction(QET::Icons::PrintLandscape, tr("Paysage"), this); portrait_ = new QAction(QET::Icons::PrintPortrait, tr("Portrait"), this); first_page_ = new QAction(QET::Icons::ArrowLeftDouble, tr("Premi\350re page"), this); previous_page_ = new QAction(QET::Icons::ArrowLeft, tr("Page pr\351c\351dente"), this); next_page_ = new QAction(QET::Icons::ArrowRight, tr("Page suivante"), this); last_page_ = new QAction(QET::Icons::ArrowRightDouble, tr("Derni\350re page"), this); single_page_view_ = new QAction(QET::Icons::SinglePage, tr("Afficher une seule page"), this); facing_pages_view_ = new QAction(QET::Icons::PrintTwoPages, tr("Afficher deux pages"), this); all_pages_view_ = new QAction(QET::Icons::PrintAllPages, tr("Afficher un aper\347u de toutes les pages"), this); page_setup_ = new QAction(QET::Icons::DocumentPrintFrame, tr("Mise en page"), this); toggle_diagrams_list_ -> setCheckable(true); toggle_diagrams_list_ -> setChecked(true); toggle_print_options_ -> setCheckable(true); toggle_print_options_ -> setChecked(true); #ifdef Q_OS_WIN32 /* Sous Windows, le QPageSetupDialog utilise le dialogue natif ; ce dernier ne peut gerer que les imprimantes physiques ("native printers" ). cf avertissement : QAbstractPageSetupDialog::QAbstractPageSetupDialog: Page setup dialog cannot be used on non-native printers */ if (!(printer_ -> outputFileName().isEmpty())) { page_setup_ -> setEnabled(false); page_setup_ -> setText(tr("Mise en page (non disponible sous Windows pour l'impression PDF/PS)")); } #endif toolbar_ = new QToolBar(); toolbar_ -> addAction(toggle_diagrams_list_); toolbar_ -> addAction(toggle_print_options_); toolbar_ -> addSeparator(); toolbar_ -> addAction(adjust_width_); toolbar_ -> addAction(adjust_page_); toolbar_ -> addAction(zoom_out_); toolbar_ -> addWidget(zoom_box_); toolbar_ -> addAction(zoom_in_); toolbar_ -> addSeparator(); toolbar_ -> addAction(landscape_); toolbar_ -> addAction(portrait_); toolbar_ -> addSeparator(); toolbar_ -> addAction(first_page_); toolbar_ -> addAction(previous_page_); toolbar_ -> addAction(next_page_); toolbar_ -> addAction(last_page_); toolbar_ -> addSeparator(); toolbar_ -> addAction(single_page_view_); toolbar_ -> addAction(facing_pages_view_); toolbar_ -> addAction(all_pages_view_); toolbar_ -> addSeparator(); toolbar_ -> addAction(page_setup_); print_options_box_= new QGroupBox(tr("Options d'impression")); use_full_page_ = new QCheckBox(tr("Utiliser toute la feuille")); use_full_page_label_ = new QLabel(tr( "Si cette option est coch\351e, les marges de la feuille seront " "ignor\351es et toute sa surface sera utilis\351e pour l'impression. " "Cela peut ne pas \352tre support\351 par votre imprimante." )); use_full_page_label_ -> setWordWrap(true); use_full_page_label_ -> setContentsMargins(20, 0, 0, 0); fit_diagram_to_page_ = new QCheckBox(tr("Adapter le sch\351ma \340 la page")); fit_diagram_to_page_label_ = new QLabel(tr( "Si cette option est coch\351e, le sch\351ma sera agrandi ou " "r\351tr\351ci de fa\347on \340 remplir toute la surface imprimable " "d'une et une seule page." )); fit_diagram_to_page_label_ -> setWordWrap(true); fit_diagram_to_page_label_ -> setContentsMargins(20, 0, 0, 0); fit_diagram_to_page_ -> setChecked(true); // recupere les parametres d'export definis dans la configuration de l'application ExportProperties default_print_properties = QETDiagramEditor::defaultPrintProperties(); render_properties_ = new ExportPropertiesWidget(default_print_properties); render_properties_ -> setPrintingMode(true); buttons_ = new QDialogButtonBox(); buttons_ -> addButton(new QPushButton(QET::Icons::DocumentPrint, tr("Imprimer")), QDialogButtonBox::AcceptRole); buttons_ -> addButton(QDialogButtonBox::Cancel); connect(diagrams_select_all_, SIGNAL(released()), this, SLOT(selectAllDiagrams())); connect(diagrams_select_none_, SIGNAL(released()), this, SLOT(selectNoDiagram())); connect(toggle_diagrams_list_, SIGNAL(toggled(bool)), this, SLOT(setDiagramsListVisible(bool))); connect(toggle_print_options_, SIGNAL(toggled(bool)), this, SLOT(setPrintOptionsVisible(bool))); connect(adjust_width_, SIGNAL(triggered()), preview_, SLOT(fitToWidth())); connect(adjust_page_, SIGNAL(triggered()), preview_, SLOT(fitInView())); connect(zoom_out_, SIGNAL(triggered()), this, SLOT(zoomOut())); connect(zoom_in_, SIGNAL(triggered()), this, SLOT(zoomIn())); connect(landscape_, SIGNAL(triggered()), preview_, SLOT(setLandscapeOrientation())); connect(portrait_, SIGNAL(triggered()), preview_, SLOT(setPortraitOrientation())); connect(first_page_, SIGNAL(triggered()), this, SLOT(firstPage())); connect(previous_page_, SIGNAL(triggered()), this, SLOT(previousPage())); connect(next_page_, SIGNAL(triggered()), this, SLOT(nextPage())); connect(last_page_, SIGNAL(triggered()), this, SLOT(lastPage())); connect(single_page_view_, SIGNAL(triggered()), preview_, SLOT(setSinglePageViewMode())); connect(facing_pages_view_, SIGNAL(triggered()), preview_, SLOT(setFacingPagesViewMode())); connect(all_pages_view_, SIGNAL(triggered()), preview_, SLOT(setAllPagesViewMode())); connect(page_setup_, SIGNAL(triggered()), this, SLOT(pageSetup())); connect(use_full_page_, SIGNAL(toggled(bool)), this, SLOT(useFullPage(bool))); connect(fit_diagram_to_page_, SIGNAL(toggled(bool)), this, SLOT(fitDiagramToPage(bool))); connect(render_properties_, SIGNAL(optionChanged()), preview_, SLOT(updatePreview())); connect(preview_, SIGNAL(previewChanged()), this, SLOT(updateZoomList())); connect(zoom_box_, SIGNAL(currentIndexChanged(int)), this, SLOT(updatePreviewZoom())); connect(buttons_, SIGNAL(accepted()), this, SLOT(accept())); connect(buttons_, SIGNAL(rejected()), this, SLOT(reject())); hlayout0_ = new QHBoxLayout(); vlayout0_ = new QVBoxLayout(); vlayout1_ = new QVBoxLayout(); vlayout2_ = new QVBoxLayout(); vlayout1_ -> addWidget(use_full_page_); vlayout1_ -> addWidget(use_full_page_label_); vlayout1_ -> addWidget(fit_diagram_to_page_); vlayout1_ -> addWidget(fit_diagram_to_page_label_); print_options_box_ -> setLayout(vlayout1_); vlayout2_ -> addWidget(diagrams_label_); vlayout2_ -> addWidget(diagrams_list_); vlayout2_ -> addWidget(diagrams_select_all_); vlayout2_ -> addWidget(diagrams_select_none_); hlayout0_ -> addLayout(vlayout2_); hlayout0_ -> addWidget(preview_); vlayout0_ -> addWidget(toolbar_); vlayout0_ -> addLayout(hlayout0_); vlayout0_ -> addWidget(render_properties_); vlayout0_ -> addWidget(print_options_box_); vlayout0_ -> addWidget(buttons_); setLayout(vlayout0_); updateZoomList(); } /** Ce slot prive emet le signal paintRequested avec : * la liste des schemas a imprimer / selectionnes * un booleen indiquant s'il faut adapter les schemas aux pages ou non * l'imprimante a utiliser */ void QETPrintPreviewDialog::requestPaint(QPrinter *printer) { emit( paintRequested( diagrams_list_ -> selectedDiagrams(), fit_diagram_to_page_ -> isChecked(), render_properties_ -> exportProperties(), printer ) ); } /** Ce slot prive verifie que le nombre de schemas a imprimer est bien superieur a 0 et active ou desactive le bouton "Imprimer" en consequence. */ void QETPrintPreviewDialog::checkDiagramsCount() { int diagrams_count = diagrams_list_ -> selectedDiagrams().count(); // desactive le premier bouton de la liste (= le bouton "Imprimer") QList buttons = buttons_ -> buttons(); if (buttons.count()) buttons[0] -> setEnabled(diagrams_count); } /** Ce slot prive affiche ou cache la liste des schemas @param display true pour affiche la liste des schemas, false pour la cacher */ void QETPrintPreviewDialog::setDiagramsListVisible(bool display) { diagrams_label_ -> setVisible(display); diagrams_list_ -> setVisible(display); if (display) { toggle_diagrams_list_ -> setText(tr("Cacher la liste des sch\351mas")); } else { toggle_diagrams_list_ -> setText(tr("Afficher la liste des sch\351mas")); } } /** Ce slot prive affiche ou cache les options d'impression @param display true pour affiche les options d'impression, false pour les cacher */ void QETPrintPreviewDialog::setPrintOptionsVisible(bool display) { print_options_box_ -> setVisible(display); render_properties_ -> setVisible(display); if (display) { toggle_print_options_ -> setText(tr("Cacher les options d'impression")); } else { toggle_print_options_ -> setText(tr("Afficher les options d'impression")); } } /** Met a jour la liste des zooms disponibles */ void QETPrintPreviewDialog::updateZoomList() { // recupere le zooom courant qreal current_zoom = preview_ -> zoomFactor(); bool current_zoom_is_not_null = bool(int(current_zoom * 100.0)); // liste des zooms par defaut QList zooms_real; zooms_real << 0.25 << 0.5 << 0.75 << 1.0 << 1.5 << 2.0 << 4.0 << 8.0; // ajout du zoom en cours if (current_zoom_is_not_null && (!zooms_real.contains(current_zoom))) { zooms_real << current_zoom; qSort(zooms_real.begin(), zooms_real.end()); } // remplissage de la liste deroulante int current_zoom_index = -1; zoom_box_ -> blockSignals(true); zoom_box_ -> clear(); foreach (qreal z, zooms_real) { zoom_box_ -> addItem(QString(tr("%1 %")).arg(z * 100.0, 0, 'f', 2), z); if (z == current_zoom) current_zoom_index = zoom_box_ -> count() - 1; } zoom_box_ -> setCurrentIndex(current_zoom_index); zoom_box_ -> blockSignals(false); } /** Change le zoom de l'apercu en fonctiopn du contenu du zoom selectionne */ void QETPrintPreviewDialog::updatePreviewZoom() { preview_ -> setZoomFactor( zoom_box_ -> itemData(zoom_box_ -> currentIndex()).toDouble() ); updateZoomList(); } qelectrotech-0.22+svn897/sources/conductor.cpp0000644000175000017500000013067111346732444021306 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include #include "conductor.h" #include "conductorsegment.h" #include "conductorsegmentprofile.h" #include "diagramtextitem.h" #include "element.h" #include "diagram.h" #include "diagramcommands.h" #define PR(x) qDebug() << #x " = " << x; bool Conductor::pen_and_brush_initialized = false; QPen Conductor::conductor_pen = QPen(); QBrush Conductor::conductor_brush = QBrush(); QBrush Conductor::square_brush = QBrush(Qt::darkGreen); /** Constructeur @param p1 Premiere Borne a laquelle le conducteur est lie @param p2 Seconde Borne a laquelle le conducteur est lie @param parent Element parent du conducteur (0 par defaut) @param scene QGraphicsScene a laquelle appartient le conducteur */ Conductor::Conductor(Terminal *p1, Terminal* p2, Element *parent, QGraphicsScene *scene) : QObject(), QGraphicsPathItem(parent, scene), terminal1(p1), terminal2(p2), destroyed(false), text_item(0), segments(NULL), moving_point(false), moving_segment(false), previous_z_value(zValue()), modified_path(false), has_to_save_profile(false), segments_squares_scale_(1.0) { // ajout du conducteur a la liste de conducteurs de chacune des deux bornes bool ajout_p1 = terminal1 -> addConductor(this); bool ajout_p2 = terminal2 -> addConductor(this); // en cas d'echec de l'ajout (conducteur deja existant notamment) if (!ajout_p1 || !ajout_p2) return; // attributs de dessin par defaut (communs a tous les conducteurs) if (!pen_and_brush_initialized) { conductor_pen.setJoinStyle(Qt::MiterJoin); conductor_pen.setCapStyle(Qt::SquareCap); conductor_pen.setColor(Qt::black); conductor_pen.setStyle(Qt::SolidLine); conductor_pen.setWidthF(1.0); conductor_brush.setColor(Qt::white); conductor_brush.setStyle(Qt::NoBrush); pen_and_brush_initialized = true; } // par defaut, les 4 profils sont des profils nuls = il faut utiliser priv_calculeConductor conductor_profiles.insert(Qt::TopLeftCorner, ConductorProfile()); conductor_profiles.insert(Qt::TopRightCorner, ConductorProfile()); conductor_profiles.insert(Qt::BottomLeftCorner, ConductorProfile()); conductor_profiles.insert(Qt::BottomRightCorner, ConductorProfile()); // calcul du rendu du conducteur priv_calculeConductor(terminal1 -> amarrageConductor(), terminal1 -> orientation(), terminal2 -> amarrageConductor(), terminal2 -> orientation()); setFlags(QGraphicsItem::ItemIsSelectable); setAcceptsHoverEvents(true); // ajout du champ de texte editable text_item = new DiagramTextItem(); text_item -> setFlag(QGraphicsItem::ItemIsMovable, false); text_item -> setTextInteractionFlags(Qt::TextEditorInteraction); text_item -> setPlainText(properties_.text); text_item -> previous_text = properties_.text; calculateTextItemPosition(); text_item -> setParentItem(this); connect( text_item, SIGNAL(diagramTextChanged(DiagramTextItem *, const QString &, const QString &)), this, SLOT(displayedTextChanged()) ); } /** Destructeur Detruit le conducteur ainsi que ses segments. Il ne detruit pas les bornes mais s'en detache */ Conductor::~Conductor() { // se detache des bornes if (!isDestroyed()) destroy(); // supprime les segments deleteSegments(); } /** Met a jour la representation graphique du conducteur. @param rect Rectangle a mettre a jour */ void Conductor::update(const QRectF &rect) { // appelle la bonne fonction pour calculer l'aspect du conducteur if (nbSegments() && !conductor_profiles[currentPathType()].isNull()) { priv_modifieConductor( terminal1 -> amarrageConductor(), terminal1 -> orientation(), terminal2 -> amarrageConductor(), terminal2 -> orientation() ); } else { priv_calculeConductor( terminal1 -> amarrageConductor(), terminal1 -> orientation(), terminal2 -> amarrageConductor(), terminal2 -> orientation() ); } calculateTextItemPosition(); QGraphicsPathItem::update(rect); } /** Met a jour la representation graphique du conducteur en considerant que la borne b a pour position pos. Cette fonction est appelee lorsqu'une seule des bornes du conducteur a change de position. @param rect Rectangle a mettre a jour @param b Borne @param newpos position de la borne b */ void Conductor::updateWithNewPos(const QRectF &rect, const Terminal *b, const QPointF &newpos) { QPointF p1, p2; if (b == terminal1) { p1 = newpos; p2 = terminal2 -> amarrageConductor(); } else if (b == terminal2) { p1 = terminal1 -> amarrageConductor(); p2 = newpos; } else { p1 = terminal1 -> amarrageConductor(); p2 = terminal2 -> amarrageConductor(); } if (nbSegments() && !conductor_profiles[currentPathType()].isNull()) priv_modifieConductor(p1, terminal1 -> orientation(), p2, terminal2 -> orientation()); else priv_calculeConductor(p1, terminal1 -> orientation(), p2, terminal2 -> orientation()); calculateTextItemPosition(); QGraphicsPathItem::update(rect); } /** Genere le QPainterPath a partir de la liste des points */ void Conductor::segmentsToPath() { // chemin qui sera dessine QPainterPath path; // s'il n'y a pa des segments, on arrete la if (segments == NULL) setPath(path); // demarre le chemin path.moveTo(segments -> firstPoint()); // parcourt les segments pour dessiner le chemin ConductorSegment *segment = segments; while(segment -> hasNextSegment()) { path.lineTo(segment -> secondPoint()); segment = segment -> nextSegment(); } // termine le chemin path.lineTo(segment -> secondPoint()); // affecte le chemin au conducteur setPath(path); } /** Gere les updates @param p1 Coordonnees du point d'amarrage de la borne 1 @param o1 Orientation de la borne 1 @param p2 Coordonnees du point d'amarrage de la borne 2 @param o2 Orientation de la borne 2 */ void Conductor::priv_modifieConductor(const QPointF &p1, QET::Orientation o1, const QPointF &p2, QET::Orientation o2) { Q_UNUSED(o1); Q_UNUSED(o2); ConductorProfile &conductor_profile = conductor_profiles[currentPathType()]; Q_ASSERT_X(conductor_profile.nbSegments(QET::Both) > 1, "Conductor::priv_modifieConductor", "pas de points a modifier"); Q_ASSERT_X(!conductor_profile.isNull(), "Conductor::priv_modifieConductor", "pas de profil utilisable"); // recupere les coordonnees fournies des bornes QPointF new_p1 = mapFromScene(p1); QPointF new_p2 = mapFromScene(p2); QRectF new_rect = QRectF(new_p1, new_p2); // recupere la largeur et la hauteur du profil qreal profile_width = conductor_profile.width(); qreal profile_height = conductor_profile.height(); // calcule les differences verticales et horizontales a appliquer qreal h_diff = (qAbs(new_rect.width()) - qAbs(profile_width) ) * getSign(profile_width); qreal v_diff = (qAbs(new_rect.height()) - qAbs(profile_height)) * getSign(profile_height); // applique les differences aux segments QHash segments_lengths; segments_lengths.unite(shareOffsetBetweenSegments(h_diff, conductor_profile.horizontalSegments())); segments_lengths.unite(shareOffsetBetweenSegments(v_diff, conductor_profile.verticalSegments())); // en deduit egalement les coefficients d'inversion (-1 pour une inversion, +1 pour conserver le meme sens) int horiz_coeff = getCoeff(new_rect.width(), profile_width); int verti_coeff = getCoeff(new_rect.height(), profile_height); // genere les nouveaux points QList points; points << new_p1; int limit = conductor_profile.segments.count() - 1; for (int i = 0 ; i < limit ; ++ i) { // dernier point QPointF previous_point = points.last(); // profil de segment de conducteur en cours ConductorSegmentProfile *csp = conductor_profile.segments.at(i); // coefficient et offset a utiliser pour ce point qreal coeff = csp -> isHorizontal ? horiz_coeff : verti_coeff; qreal offset_applied = segments_lengths[csp]; // applique l'offset et le coeff au point if (csp -> isHorizontal) { points << QPointF ( previous_point.x() + (coeff * offset_applied), previous_point.y() ); } else { points << QPointF ( previous_point.x(), previous_point.y() + (coeff * offset_applied) ); } } points << new_p2; pointsToSegments(points); segmentsToPath(); } /** @param offset Longueur a repartir entre les segments @param segments_list Segments sur lesquels il faut repartir la longueur @param precision seuil en-deca duquel on considere qu'il ne reste rien a repartir */ QHash Conductor::shareOffsetBetweenSegments( const qreal &offset, const QList &segments_list, const qreal &precision ) const { // construit le QHash qui sera retourne QHash segments_hash; foreach(ConductorSegmentProfile *csp, segments_list) { segments_hash.insert(csp, csp -> length); } // memorise le signe de la longueur de chaque segement QHash segments_signs; foreach(ConductorSegmentProfile *csp, segments_hash.keys()) { segments_signs.insert(csp, getSign(csp -> length)); } //qDebug() << "repartition d'un offset de" << offset << "px sur" << segments_list.count() << "segments"; // repartit l'offset sur les segments qreal remaining_offset = offset; while (remaining_offset > precision || remaining_offset < -precision) { // recupere le nombre de segments differents ayant une longueur non nulle uint segments_count = 0; foreach(ConductorSegmentProfile *csp, segments_hash.keys()) if (segments_hash[csp]) ++ segments_count; //qDebug() << " remaining_offset =" << remaining_offset; qreal local_offset = remaining_offset / segments_count; //qDebug() << " repartition d'un offset local de" << local_offset << "px sur" << segments_count << "segments"; remaining_offset = 0.0; foreach(ConductorSegmentProfile *csp, segments_hash.keys()) { // ignore les segments de longueur nulle if (!segments_hash[csp]) continue; // applique l'offset au segment //qreal segment_old_length = segments_hash[csp]; segments_hash[csp] += local_offset; // (la longueur du segment change de signe) <=> (le segment n'a pu absorbe tout l'offset) if (segments_signs[csp] != getSign(segments_hash[csp])) { // on remet le trop-plein dans la reserve d'offset remaining_offset += qAbs(segments_hash[csp]) * getSign(local_offset); //qDebug() << " trop-plein de" << qAbs(segments_hash[csp]) * getSign(local_offset) << "remaining_offset =" << remaining_offset; segments_hash[csp] = 0.0; } else { //qDebug() << " offset local de" << local_offset << "accepte"; } } } return(segments_hash); } /** Calcule un trajet "par defaut" pour le conducteur @param p1 Coordonnees du point d'amarrage de la borne 1 @param o1 Orientation de la borne 1 @param p2 Coordonnees du point d'amarrage de la borne 2 @param o2 Orientation de la borne 2 */ void Conductor::priv_calculeConductor(const QPointF &p1, QET::Orientation o1, const QPointF &p2, QET::Orientation o2) { QPointF sp1, sp2, depart, newp1, newp2, arrivee, depart0, arrivee0; QET::Orientation ori_depart, ori_arrivee; // s'assure qu'il n'y a ni points QList points; // mappe les points par rapport a la scene sp1 = mapFromScene(p1); sp2 = mapFromScene(p2); // prolonge les bornes newp1 = extendTerminal(sp1, o1); newp2 = extendTerminal(sp2, o2); // distingue le depart de l'arrivee : le trajet se fait toujours de gauche a droite (apres prolongation) if (newp1.x() <= newp2.x()) { depart = newp1; arrivee = newp2; depart0 = sp1; arrivee0 = sp2; ori_depart = o1; ori_arrivee = o2; } else { depart = newp2; arrivee = newp1; depart0 = sp2; arrivee0 = sp1; ori_depart = o2; ori_arrivee = o1; } // debut du trajet points << depart0; // prolongement de la borne de depart points << depart; // commence le vrai trajet if (depart.y() < arrivee.y()) { // trajet descendant if ((ori_depart == QET::North && (ori_arrivee == QET::South || ori_arrivee == QET::West)) || (ori_depart == QET::East && ori_arrivee == QET::West)) { // cas "3" int ligne_inter_x = qRound(depart.x() + arrivee.x()) / 2; while (ligne_inter_x % Diagram::xGrid) -- ligne_inter_x; points << QPointF(ligne_inter_x, depart.y()); points << QPointF(ligne_inter_x, arrivee.y()); } else if ((ori_depart == QET::South && (ori_arrivee == QET::North || ori_arrivee == QET::East)) || (ori_depart == QET::West && ori_arrivee == QET::East)) { // cas "4" int ligne_inter_y = qRound(depart.y() + arrivee.y()) / 2; while (ligne_inter_y % Diagram::yGrid) -- ligne_inter_y; points << QPointF(depart.x(), ligne_inter_y); points << QPointF(arrivee.x(), ligne_inter_y); } else if ((ori_depart == QET::North || ori_depart == QET::East) && (ori_arrivee == QET::North || ori_arrivee == QET::East)) { points << QPointF(arrivee.x(), depart.y()); // cas "2" } else { points << QPointF(depart.x(), arrivee.y()); // cas "1" } } else { // trajet montant if ((ori_depart == QET::West && (ori_arrivee == QET::East || ori_arrivee == QET::South)) || (ori_depart == QET::North && ori_arrivee == QET::South)) { // cas "3" int ligne_inter_y = qRound(depart.y() + arrivee.y()) / 2; while (ligne_inter_y % Diagram::yGrid) -- ligne_inter_y; points << QPointF(depart.x(), ligne_inter_y); points << QPointF(arrivee.x(), ligne_inter_y); } else if ((ori_depart == QET::East && (ori_arrivee == QET::West || ori_arrivee == QET::North)) || (ori_depart == QET::South && ori_arrivee == QET::North)) { // cas "4" int ligne_inter_x = qRound(depart.x() + arrivee.x()) / 2; while (ligne_inter_x % Diagram::xGrid) -- ligne_inter_x; points << QPointF(ligne_inter_x, depart.y()); points << QPointF(ligne_inter_x, arrivee.y()); } else if ((ori_depart == QET::West || ori_depart == QET::North) && (ori_arrivee == QET::West || ori_arrivee == QET::North)) { points << QPointF(depart.x(), arrivee.y()); // cas "2" } else { points << QPointF(arrivee.x(), depart.y()); // cas "1" } } // fin du vrai trajet points << arrivee; // prolongement de la borne d'arrivee points << arrivee0; // inverse eventuellement l'ordre des points afin que le trajet soit exprime de la borne 1 vers la borne 2 if (newp1.x() > newp2.x()) { QList points2; for (int i = points.size() - 1 ; i >= 0 ; -- i) points2 << points.at(i); points = points2; } pointsToSegments(points); segmentsToPath(); } /** Prolonge une borne. @param terminal Le point correspondant a la borne @param terminal_orientation L'orientation de la borne @param ext_size la taille de la prolongation @return le point correspondant a la borne apres prolongation */ QPointF Conductor::extendTerminal(const QPointF &terminal, QET::Orientation terminal_orientation, qreal ext_size) { QPointF extended_terminal; switch(terminal_orientation) { case QET::North: extended_terminal = QPointF(terminal.x(), terminal.y() - ext_size); break; case QET::East: extended_terminal = QPointF(terminal.x() + ext_size, terminal.y()); break; case QET::South: extended_terminal = QPointF(terminal.x(), terminal.y() + ext_size); break; case QET::West: extended_terminal = QPointF(terminal.x() - ext_size, terminal.y()); break; default: extended_terminal = terminal; } return(extended_terminal); } /** Dessine le conducteur sans antialiasing. @param qp Le QPainter a utiliser pour dessiner le conducteur @param options Les options de style pour le conducteur @param qw Le QWidget sur lequel on dessine */ void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem *options, QWidget *qw) { Q_UNUSED(qw); qp -> save(); qp -> setRenderHint(QPainter::Antialiasing, false); // determine la couleur du conducteur QColor final_conductor_color(properties_.color); if (isSelected()) { final_conductor_color = Qt::red; } else { if (Diagram *parent_diagram = diagram()) { if (!parent_diagram -> drawColoredConductors()) { final_conductor_color = Qt::black; } } } // affectation du QPen et de la QBrush modifies au QPainter qp -> setBrush(conductor_brush); QPen final_conductor_pen = conductor_pen; // modification du QPen generique pour lui affecter la couleur et le style adequats final_conductor_pen.setColor(final_conductor_color); final_conductor_pen.setStyle(properties_.style); final_conductor_pen.setJoinStyle(Qt::SvgMiterJoin); // meilleur rendu des pointilles // utilisation d'un trait "cosmetique" en-dessous d'un certain zoom if (options && options -> levelOfDetail < 1.0) { final_conductor_pen.setCosmetic(true); } qp -> setPen(final_conductor_pen); // dessin du conducteur qp -> drawPath(path()); if (properties_.type == ConductorProperties::Single) { qp -> setBrush(final_conductor_color); properties_.singleLineProperties.draw( qp, middleSegment() -> isHorizontal() ? QET::Horizontal : QET::Vertical, QRectF(middleSegment() -> middle() - QPointF(10.0, 7.5), QSizeF(20.0, 15.0)) ); if (isSelected()) qp -> setBrush(Qt::NoBrush); } // decalage ideal pour le rendu centre d'un carre / cercle de 2.0 px de cote / diametre qreal pretty_offset = (options -> levelOfDetail == 1 ? 1.0 : 1.0); // dessin des points d'accroche du conducteur si celui-ci est selectionne if (isSelected()) { QList points = segmentsToPoints(); QPointF previous_point; for (int i = 1 ; i < (points.size() -1) ; ++ i) { QPointF point = points.at(i); // dessine le carre de saisie du segment if (i > 1) { qp -> fillRect( QRectF( ((previous_point.x() + point.x()) / 2.0 ) - pretty_offset * segments_squares_scale_, ((previous_point.y() + point.y()) / 2.0 ) - pretty_offset * segments_squares_scale_, 2.0 * segments_squares_scale_, 2.0 * segments_squares_scale_ ), square_brush ); } previous_point = point; } } // dessine les eventuelles jonctions QList junctions_list = junctions(); if (!junctions_list.isEmpty()) { final_conductor_pen.setStyle(Qt::SolidLine); QBrush junction_brush(final_conductor_color, Qt::SolidPattern); qp -> setPen(final_conductor_pen); qp -> setBrush(junction_brush); qp -> setRenderHint(QPainter::Antialiasing, true); foreach(QPointF point, junctions_list) { qp -> drawEllipse(QRectF(point.x() - pretty_offset, point.y() - pretty_offset, 2.0, 2.0)); } } qp -> restore(); } /** Methode de preparation a la destruction du conducteur ; le conducteur se detache de ses deux bornes */ void Conductor::destroy() { destroyed = true; terminal1 -> removeConductor(this); terminal2 -> removeConductor(this); } /// @return le Diagram auquel ce conducteur appartient, ou 0 si ce conducteur est independant Diagram *Conductor::diagram() const { return(qobject_cast(scene())); } /** Methode de validation d'element XML @param e Un element XML sense represente un Conducteur @return true si l'element XML represente bien un Conducteur ; false sinon */ bool Conductor::valideXml(QDomElement &e){ // verifie le nom du tag if (e.tagName() != "conductor") return(false); // verifie la presence des attributs minimaux if (!e.hasAttribute("terminal1")) return(false); if (!e.hasAttribute("terminal2")) return(false); bool conv_ok; // parse l'abscisse e.attribute("terminal1").toInt(&conv_ok); if (!conv_ok) return(false); // parse l'ordonnee e.attribute("terminal2").toInt(&conv_ok); if (!conv_ok) return(false); return(true); } /** Gere les clics sur le conducteur. @param e L'evenement decrivant le clic. */ void Conductor::mousePressEvent(QGraphicsSceneMouseEvent *e) { // clic gauche if (e -> buttons() & Qt::LeftButton) { // recupere les coordonnees du clic press_point = e -> pos(); /* parcourt les segments pour determiner si le clic a eu lieu - sur l'extremite d'un segment - sur le milieu d'un segment - ailleurs */ ConductorSegment *segment = segments; while (segment -> hasNextSegment()) { if (hasClickedOn(press_point, segment -> secondPoint())) { moving_point = true; moving_segment = false; moved_segment = segment; break; } else if (hasClickedOn(press_point, segment -> middle())) { moving_point = false; moving_segment = true; moved_segment = segment; break; } segment = segment -> nextSegment(); } } QGraphicsPathItem::mousePressEvent(e); if (e -> modifiers() & Qt::ControlModifier) { setSelected(!isSelected()); } } /** Gere les deplacements de souris sur le conducteur. @param e L'evenement decrivant le deplacement de souris. */ void Conductor::mouseMoveEvent(QGraphicsSceneMouseEvent *e) { // clic gauche if (e -> buttons() & Qt::LeftButton) { // position pointee par la souris qreal mouse_x = e -> pos().x(); qreal mouse_y = e -> pos().y(); bool snap_conductors_to_grid = e -> modifiers() ^ Qt::ShiftModifier; if (snap_conductors_to_grid) { mouse_x = qRound(mouse_x / (Diagram::xGrid * 1.0)) * Diagram::xGrid; mouse_y = qRound(mouse_y / (Diagram::yGrid * 1.0)) * Diagram::yGrid; } if (moving_point) { // la modification par points revient bientot /* // position precedente du point QPointF p = moved_segment -> secondPoint(); qreal p_x = p.x(); qreal p_y = p.y(); // calcul du deplacement moved_segment -> moveX(mouse_x - p_x()); moved_segment -> moveY(mouse_y - p_y()); // application du deplacement modified_path = true; updatePoints(); segmentsToPath(); */ } else if (moving_segment) { // position precedente du point QPointF p = moved_segment -> middle(); // calcul du deplacement moved_segment -> moveX(mouse_x - p.x()); moved_segment -> moveY(mouse_y - p.y()); // application du deplacement modified_path = true; has_to_save_profile = true; segmentsToPath(); calculateTextItemPosition(); } } QGraphicsPathItem::mouseMoveEvent(e); } /** Gere les relachements de boutons de souris sur le conducteur @param e L'evenement decrivant le lacher de bouton. */ void Conductor::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) { // clic gauche moving_point = false; moving_segment = false; if (has_to_save_profile) { saveProfile(); has_to_save_profile = false; } if (!(e -> modifiers() & Qt::ControlModifier)) { QGraphicsPathItem::mouseReleaseEvent(e); } calculateTextItemPosition(); } /** Gere l'entree de la souris dans la zone du conducteur @param e Le QGraphicsSceneHoverEvent decrivant l'evenement */ void Conductor::hoverEnterEvent(QGraphicsSceneHoverEvent *e) { Q_UNUSED(e); segments_squares_scale_ = 2.0; if (isSelected()) { update(); } } /** Gere la sortie de la souris de la zone du conducteur @param e Le QGraphicsSceneHoverEvent decrivant l'evenement */ void Conductor::hoverLeaveEvent(QGraphicsSceneHoverEvent *e) { Q_UNUSED(e); segments_squares_scale_ = 1.0; if (isSelected()) { update(); } } /** Gere les mouvements de souris au dessus du conducteur @param e Le QGraphicsSceneHoverEvent decrivant l'evenement */ void Conductor::hoverMoveEvent(QGraphicsSceneHoverEvent *e) { /* if (isSelected()) { QPointF hover_point = mapFromScene(e -> pos()); ConductorSegment *segment = segments; bool cursor_set = false; while (segment -> hasNextSegment()) { if (hasClickedOn(hover_point, segment -> secondPoint())) { setCursor(Qt::CrossCursor); cursor_set = true; } else if (hasClickedOn(hover_point, segment -> middle())) { setCursor(segment -> isVertical() ? Qt::SplitHCursor : Qt::SplitVCursor); cursor_set = true; } segment = segment -> nextSegment(); } if (!cursor_set) setCursor(Qt::ArrowCursor); } */ QGraphicsPathItem::hoverMoveEvent(e); } /** Gere les changements relatifs au conducteur Reimplemente ici pour : * positionner le conducteur en avant-plan lorsqu'il est selectionne @param change @param value */ QVariant Conductor::itemChange(GraphicsItemChange change, const QVariant &value) { if (change == QGraphicsItem::ItemSelectedChange) { if (value.toBool()) { // le conducteur vient de se faire selectionner previous_z_value = zValue(); setZValue(qAbs(previous_z_value) + 10000); } else { // le conducteur vient de se faire deselectionner setZValue(previous_z_value); } } else if (change == QGraphicsItem::ItemSceneHasChanged || change == QGraphicsItem::ItemVisibleHasChanged) { // permet de positionner correctement le texte du conducteur lors de son ajout a un schema calculateTextItemPosition(); } return(QGraphicsPathItem::itemChange(change, value)); } /** @return Le rectangle delimitant l'espace de dessin du conducteur */ QRectF Conductor::boundingRect() const { QRectF retour = QGraphicsPathItem::boundingRect(); retour.adjust(-5.0, -5.0, 5.0, 5.0); return(retour); } /** @return La forme / zone "cliquable" du conducteur */ QPainterPath Conductor::shape() const { QList points = segmentsToPoints(); QPainterPath area; QPointF previous_point; QPointF *point1, *point2; foreach(QPointF point, points) { if (!previous_point.isNull()) { if (point.x() == previous_point.x()) { if (point.y() <= previous_point.y()) { point1 = &point; point2 = &previous_point; } else { point1 = &previous_point; point2 = &point; } } else { if (point.x() <= previous_point.x()) { point1 = &point; point2 = &previous_point; } else { point1 = &previous_point; point2 = &point; } } qreal p1_x = point1 -> x(); qreal p1_y = point1 -> y(); qreal p2_x = point2 -> x(); qreal p2_y = point2 -> y(); area.setFillRule(Qt::OddEvenFill); area.addRect(p1_x - 5.0, p1_y - 5.0, 10.0 + p2_x - p1_x, 10.0 + p2_y - p1_y); } previous_point = point; area.setFillRule(Qt::WindingFill); area.addRect(point.x() - 5.0, point.y() - 5.0, 10.0, 10.0); } return(area); } /** Renvoie une valeur donnee apres l'avoir bornee entre deux autres valeurs, en y ajoutant une marge interne. @param tobound valeur a borner @param bound1 borne 1 @param bound2 borne 2 @param space marge interne ajoutee @return La valeur bornee */ qreal Conductor::conductor_bound(qreal tobound, qreal bound1, qreal bound2, qreal space) { qDebug() << "will bound" << tobound << "between" << bound1 << "and" << bound2 ; if (bound1 < bound2) { return(qBound(bound1 + space, tobound, bound2 - space)); } else { return(qBound(bound2 + space, tobound, bound1 - space)); } } /** Renvoie une valeur donnee apres l'avoir bornee avant ou apres une valeur. @param tobound valeur a borner @param bound borne @param positive true pour borner la valeur avant la borne, false sinon @return La valeur bornee */ qreal Conductor::conductor_bound(qreal tobound, qreal bound, bool positive) { qreal space = 5.0; return(positive ? qMax(tobound, bound + space) : qMin(tobound, bound - space)); } /** @param type Type de Segments @return Le nombre de segments composant le conducteur. */ uint Conductor::nbSegments(QET::ConductorSegmentType type) const { QList segments_list = segmentsList(); if (type == QET::Both) return(segments_list.count()); uint nb_seg = 0; foreach(ConductorSegment *conductor_segment, segments_list) { if (conductor_segment -> type() == type) ++ nb_seg; } return(nb_seg); } /** Genere une liste de points a partir des segments de ce conducteur @return La liste de points representant ce conducteur */ QList Conductor::segmentsToPoints() const { // liste qui sera retournee QList points_list; // on retourne la liste tout de suite s'il n'y a pas de segments if (segments == NULL) return(points_list); // recupere le premier point points_list << segments -> firstPoint(); // parcourt les segments pour recuperer les autres points ConductorSegment *segment = segments; while(segment -> hasNextSegment()) { points_list << segment -> secondPoint(); segment = segment -> nextSegment(); } // recupere le dernier point points_list << segment -> secondPoint(); //retourne la liste return(points_list); } /** Regenere les segments de ce conducteur a partir de la liste de points passee en parametre @param points_list Liste de points a utiliser pour generer les segments */ void Conductor::pointsToSegments(QList points_list) { // supprime les segments actuels deleteSegments(); // cree les segments a partir de la liste de points ConductorSegment *last_segment = NULL; for (int i = 0 ; i < points_list.size() - 1 ; ++ i) { last_segment = new ConductorSegment(points_list.at(i), points_list.at(i + 1), last_segment); if (!i) segments = last_segment; } } /** Permet de savoir si un point est tres proche d'un autre. Cela sert surtout pour determiner si un clic a ete effectue pres d'un point donne. @param press_point Point effectivement clique @param point point cliquable @return true si l'on peut considerer que le point a ete clique, false sinon */ bool Conductor::hasClickedOn(QPointF press_point, QPointF point) const { return ( press_point.x() >= point.x() - 5.0 &&\ press_point.x() < point.x() + 5.0 &&\ press_point.y() >= point.y() - 5.0 &&\ press_point.y() < point.y() + 5.0 ); } /** Charge les caracteristiques du conducteur depuis un element XML. @param e Un element XML @return true si le chargement a reussi, false sinon */ bool Conductor::fromXml(QDomElement &e) { // recupere la "configuration" du conducteur properties_.fromXml(e); readProperties(); // parcourt les elements XML "segment" et en extrait deux listes de longueurs // les segments non valides sont ignores QList segments_x, segments_y; for (QDomNode node = e.firstChild() ; !node.isNull() ; node = node.nextSibling()) { // on s'interesse aux elements XML "segment" QDomElement current_segment = node.toElement(); if (current_segment.isNull() || current_segment.tagName() != "segment") continue; // le segment doit avoir une longueur if (!current_segment.hasAttribute("length")) continue; // cette longueur doit etre un reel bool ok; qreal segment_length = current_segment.attribute("length").toDouble(&ok); if (!ok) continue; if (current_segment.attribute("orientation") == "horizontal") { segments_x << segment_length; segments_y << 0.0; } else { segments_x << 0.0; segments_y << segment_length; } } // s'il n'y a pas de segments, on renvoie true if (!segments_x.size()) return(true); // les longueurs recueillies doivent etre coherentes avec les positions des bornes qreal width = 0.0, height = 0.0; foreach (qreal t, segments_x) width += t; foreach (qreal t, segments_y) height += t; QPointF t1 = terminal1 -> amarrageConductor(); QPointF t2 = terminal2 -> amarrageConductor(); qreal expected_width = t2.x() - t1.x(); qreal expected_height = t2.y() - t1.y(); // on considere que le trajet est incoherent a partir d'une unite de difference avec l'espacement entre les bornes if ( qAbs(expected_width - width) > 1.0 || qAbs(expected_height - height) > 1.0 ) { qDebug() << "Conductor::fromXml : les segments du conducteur ne semblent pas coherents - utilisation d'un trajet automatique"; return(false); } /* on recree les segments a partir des donnes XML */ // cree la liste de points QList points_list; points_list << t1; for (int i = 0 ; i < segments_x.size() ; ++ i) { points_list << QPointF( points_list.last().x() + segments_x.at(i), points_list.last().y() + segments_y.at(i) ); } pointsToSegments(points_list); // initialise divers parametres lies a la modification des conducteurs modified_path = true; saveProfile(false); segmentsToPath(); return(true); } /** Exporte les caracteristiques du conducteur sous forme d'une element XML. @param d Le document XML a utiliser pour creer l'element XML @param table_adr_id Hash stockant les correspondances entre les ids des bornes dans le document XML et leur adresse en memoire @return Un element XML representant le conducteur */ QDomElement Conductor::toXml(QDomDocument &d, QHash &table_adr_id) const { QDomElement e = d.createElement("conductor"); e.setAttribute("terminal1", table_adr_id.value(terminal1)); e.setAttribute("terminal2", table_adr_id.value(terminal2)); // on n'exporte les segments du conducteur que si ceux-ci ont // ete modifies par l'utilisateur if (modified_path) { // parcours et export des segments QDomElement current_segment; foreach(ConductorSegment *segment, segmentsList()) { current_segment = d.createElement("segment"); current_segment.setAttribute("orientation", segment -> isHorizontal() ? "horizontal" : "vertical"); current_segment.setAttribute("length", QString("%1").arg(segment -> length())); e.appendChild(current_segment); } } // exporte la "configuration" du conducteur properties_.toXml(e); return(e); } /// @return les segments de ce conducteur const QList Conductor::segmentsList() const { if (segments == NULL) return(QList()); QList segments_vector; ConductorSegment *segment = segments; while (segment -> hasNextSegment()) { segments_vector << segment; segment = segment -> nextSegment(); } segments_vector << segment; return(segments_vector); } /** @return La longueur totale du conducteur */ qreal Conductor::length() { qreal length = 0.0; ConductorSegment *s = segments; while (s -> hasNextSegment()) { length += qAbs(s -> length()); s = s -> nextSegment(); } return(length); } /** @return Le segment qui contient le point au milieu du conducteur */ ConductorSegment *Conductor::middleSegment() { if (segments == NULL) return(NULL); qreal half_length = length() / 2.0; ConductorSegment *s = segments; qreal l = 0; while (s -> hasNextSegment()) { l += qAbs(s -> length()); if (l >= half_length) break; s = s -> nextSegment(); } // s est le segment qui contient le point au milieu du conducteur return(s); } /** Positionne le texte du conducteur au milieu du segment qui contient le point au milieu du conducteur @see middleSegment() */ void Conductor::calculateTextItemPosition() { if (properties_.type != ConductorProperties::Multi) return; if (!text_item) return; text_item -> setPos(middleSegment() -> middle()); } /** Sauvegarde le profil courant du conducteur pour l'utiliser ulterieurement dans priv_modifieConductor. */ void Conductor::saveProfile(bool undo) { Qt::Corner current_path_type = currentPathType(); ConductorProfile old_profile(conductor_profiles[current_path_type]); conductor_profiles[current_path_type].fromConductor(this); Diagram *dia = diagram(); if (undo && dia) { dia -> undoStack().push(new ChangeConductorCommand(this, old_profile, conductor_profiles[current_path_type], current_path_type)); } } /** @param value1 Premiere valeur @param value2 Deuxieme valeur @return 1 si les deux valeurs sont de meme signe, -1 sinon */ int Conductor::getCoeff(const qreal &value1, const qreal &value2) { return(getSign(value1) * getSign(value2)); } /** @param value valeur @return 1 si valeur est negatif, 1 s'il est positif ou nul */ int Conductor::getSign(const qreal &value) { return(value < 0 ? -1 : 1); } /** Applique un nouveau profil a ce conducteur @param cp Profil a appliquer a ce conducteur @param path_type Type de trajet pour lequel ce profil convient */ void Conductor::setProfile(const ConductorProfile &cp, Qt::Corner path_type) { conductor_profiles[path_type] = cp; // si le type de trajet correspond a l'actuel if (currentPathType() == path_type) { if (conductor_profiles[path_type].isNull()) { priv_calculeConductor(terminal1 -> amarrageConductor(), terminal1 -> orientation(), terminal2 -> amarrageConductor(), terminal2 -> orientation()); modified_path = false; } else { priv_modifieConductor(terminal1 -> amarrageConductor(), terminal1 -> orientation(), terminal2 -> amarrageConductor(), terminal2 -> orientation()); modified_path = true; } if (type() == ConductorProperties::Multi) { calculateTextItemPosition(); } } } /// @return le profil de ce conducteur ConductorProfile Conductor::profile(Qt::Corner path_type) const { return(conductor_profiles[path_type]); } /// @return le texte du conducteur QString Conductor::text() const { return(text_item -> toPlainText()); } /** @param t Nouveau texte du conducteur */ void Conductor::setText(const QString &t) { text_item -> setPlainText(t); text_item -> previous_text = t; } /// @param p les proprietes de ce conducteur void Conductor::setProperties(const ConductorProperties &p) { properties_ = p; readProperties(); } /// @return les proprietes de ce conducteur ConductorProperties Conductor::properties() const { return(properties_); } /** Relit les proprietes et les applique */ void Conductor::readProperties() { // la couleur n'est vraiment applicable que lors du rendu du conducteur setText(properties_.text); text_item -> setVisible(properties_.type == ConductorProperties::Multi); } /** Met a jour les proprietes du conducteur apres modification du champ de texte affiche */ void Conductor::displayedTextChanged() { // verifie que le texte a reellement change if (text_item -> toPlainText() == properties_.text) return; // initialise l'objet UndoCommand correspondant if (Diagram *my_diagram = diagram()) { ConductorProperties new_properties(properties_); new_properties.text = text_item -> toPlainText(); ChangeConductorPropertiesCommand *ccpc = new ChangeConductorPropertiesCommand(this); ccpc -> setOldSettings(properties_); ccpc -> setNewSettings(new_properties); my_diagram -> undoStack().push(ccpc); } } /** @return les conducteurs avec lesquels ce conducteur partage des bornes communes */ QSet Conductor::relatedConductors() const { QList other_conductors_list = terminal1 -> conductors(); other_conductors_list += terminal2 -> conductors(); QSet other_conductors = other_conductors_list.toSet(); other_conductors.remove(const_cast(this)); return(other_conductors); } /** @param a reel @param b reel @param c reel @return true si a est entre b et c ou est egal a l'un des deux */ bool isBetween(qreal a, qreal b, qreal c) { if (b <= c) { return(a >= b && a <= c); } else { return(a <= b && a >= c); } } /** @param a point @param b point @param c point @return true si le point a est contenu dans le rectangle delimite par les points b et c */ bool isContained(const QPointF &a, const QPointF &b, const QPointF &c) { return( isBetween(a.x(), b.x(), c.x()) && isBetween(a.y(), b.y(), c.y()) ); } /** @return la liste des positions des jonctions avec d'autres conducteurs */ QList Conductor::junctions() const { QList junctions_list; // pour qu'il y ait des jonctions, il doit y avoir d'autres conducteurs et des bifurcations QSet other_conductors = relatedConductors(); QList bends_list = bends(); if (other_conductors.isEmpty() || bends_list.isEmpty()) { return(junctions_list); } QList points = segmentsToPoints(); for (int i = 1 ; i < (points.size() -1) ; ++ i) { QPointF point = points.at(i); // determine si le point est une bifurcation ou non bool is_bend = false; Qt::Corner current_bend_type = Qt::TopLeftCorner; foreach(ConductorBend cb, bends_list) { if (cb.first == point) { is_bend = true; current_bend_type = cb.second; break; } } // si le point n'est pas une bifurcation, il ne peut etre une jonction (enfin pas au niveau de ce conducteur) if (!is_bend) continue; bool is_junction = false; QPointF scene_point = mapToScene(point); foreach(Conductor *c, other_conductors) { // exprime le point dans les coordonnees de l'autre conducteur QPointF conductor_point = c -> mapFromScene(scene_point); // recupere les segments de l'autre conducteur QList c_segments = c -> segmentsList(); if (c_segments.isEmpty()) continue; // parcoure les segments a la recherche d'un point commun for (int j = 0 ; j < c_segments.count() ; ++ j) { ConductorSegment *segment = c_segments[j]; // un point commun a ete trouve sur ce segment if (isContained(conductor_point, segment -> firstPoint(), segment -> secondPoint())) { is_junction = true; // ce point commun ne doit pas etre une bifurcation identique a celle-ci QList other_conductor_bends = c -> bends(); foreach(ConductorBend cb, other_conductor_bends) { if (cb.first == conductor_point && cb.second == current_bend_type) { is_junction = false; } } } if (is_junction) junctions_list << point; } } } return(junctions_list); } /** @return la liste des bifurcations de ce conducteur ; ConductorBend est un typedef pour une QPair\. Le point indique la position (en coordonnees locales) de la bifurcation tandis que le Corner indique le type de bifurcation. */ QList Conductor::bends() const { QList points; if (!segments) return(points); // recupere la liste des segments de taille non nulle QList visible_segments; ConductorSegment *segment = segments; while (segment -> hasNextSegment()) { if (!segment -> isPoint()) visible_segments << segment; segment = segment -> nextSegment(); } if (!segment -> isPoint()) visible_segments << segment; ConductorSegment *next_segment; for (int i = 0 ; i < visible_segments.count() -1 ; ++ i) { segment = visible_segments[i]; next_segment = visible_segments[i + 1]; if (!segment -> isPoint() && !next_segment -> isPoint()) { // si les deux segments ne sont pas dans le meme sens, on a une bifurcation if (next_segment -> type() != segment -> type()) { Qt::Corner bend_type; qreal sl = segment -> length(); qreal nsl = next_segment -> length(); if (segment -> isHorizontal()) { if (sl < 0 && nsl < 0) { bend_type = Qt::BottomLeftCorner; } else if (sl < 0 && nsl > 0) { bend_type = Qt::TopLeftCorner; } else if (sl > 0 && nsl < 0) { bend_type = Qt::BottomRightCorner; } else { bend_type = Qt::TopRightCorner; } } else { if (sl < 0 && nsl < 0) { bend_type = Qt::TopRightCorner; } else if (sl < 0 && nsl > 0) { bend_type = Qt::TopLeftCorner; } else if (sl > 0 && nsl < 0) { bend_type = Qt::BottomRightCorner; } else { bend_type = Qt::BottomLeftCorner; } } points << qMakePair(segment -> secondPoint(), bend_type); } } } return(points); } /** @param p Point, en coordonnees locales @return true si le point p appartient au trajet du conducteur */ bool Conductor::containsPoint(const QPointF &p) const { if (!segments) return(false); ConductorSegment *segment = segments; while (segment -> hasNextSegment()) { QRectF rect(segment -> firstPoint(), segment -> secondPoint()); if (rect.contains(p)) return(true); segment = segment -> nextSegment(); } return(false); } /** @param start Point de depart @param end Point d'arrivee @return le coin vers lequel se dirige le trajet de start vers end */ Qt::Corner Conductor::movementType(const QPointF &start, const QPointF &end) { Qt::Corner result = Qt::BottomRightCorner; if (start.x() <= end.x()) { result = start.y() <= end.y() ? Qt::BottomRightCorner : Qt::TopRightCorner; } else { result = start.y() <= end.y() ? Qt::BottomLeftCorner : Qt::TopLeftCorner; } return(result); } /// @return le type de trajet actuel de ce conducteur Qt::Corner Conductor::currentPathType() const { return(movementType(terminal1 -> amarrageConductor(), terminal2 -> amarrageConductor())); } /// @return les profils de ce conducteur ConductorProfilesGroup Conductor::profiles() const { return(conductor_profiles); } /** @param cpg Les nouveaux profils de ce conducteur */ void Conductor::setProfiles(const ConductorProfilesGroup &cpg) { conductor_profiles = cpg; if (conductor_profiles[currentPathType()].isNull()) { priv_calculeConductor(terminal1 -> amarrageConductor(), terminal1 -> orientation(), terminal2 -> amarrageConductor(), terminal2 -> orientation()); modified_path = false; } else { priv_modifieConductor(terminal1 -> amarrageConductor(), terminal1 -> orientation(), terminal2 -> amarrageConductor(), terminal2 -> orientation()); modified_path = true; } if (type() == ConductorProperties::Multi) { calculateTextItemPosition(); } } /// Supprime les segments void Conductor::deleteSegments() { if (segments != NULL) { while (segments -> hasNextSegment()) delete segments -> nextSegment(); delete segments; segments = NULL; } } qelectrotech-0.22+svn897/sources/qetmessagebox.h0000644000175000017500000000401211320140732021570 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_MESSAGE_BOX_H #define QET_MESSAGE_BOX_H #include namespace QET { /** Ce namespace definit certaines methodes statiques visant a recreer le comportement de certaines methodes statiques de la classe Qt QMessageBox. Le comportement est sense etre le meme sur les plateformes X11 et Windows. En revanche, sous MacOS, si un widget parent est fourni, ces methodes s'assurent que la boite de dialogue sera "window modal" mais aussi qu'elle sera dotee du flag "Qt:Sheet", qui permet une meilleure integration sous MacOS. */ namespace MessageBox { QMessageBox::StandardButton critical (QWidget *, const QString &, const QString &, QMessageBox::StandardButtons = QMessageBox::Ok, QMessageBox::StandardButton = QMessageBox::NoButton); QMessageBox::StandardButton information(QWidget *, const QString &, const QString &, QMessageBox::StandardButtons = QMessageBox::Ok, QMessageBox::StandardButton = QMessageBox::NoButton); QMessageBox::StandardButton question (QWidget *, const QString &, const QString &, QMessageBox::StandardButtons = QMessageBox::Ok, QMessageBox::StandardButton = QMessageBox::NoButton); QMessageBox::StandardButton warning (QWidget *, const QString &, const QString &, QMessageBox::StandardButtons = QMessageBox::Ok, QMessageBox::StandardButton = QMessageBox::NoButton); }; }; #endif qelectrotech-0.22+svn897/sources/element.h0000644000175000017500000001104011320140732020351 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENT_H #define ELEMENT_H #include #include "terminal.h" #include "orientationset.h" class Diagram; class ElementTextItem; /** Cette classe abstraite represente un element electrique. */ class Element : public QObject, public QGraphicsItem { Q_OBJECT // constructeurs, destructeur public: Element(QGraphicsItem * = 0, Diagram * = 0); virtual ~Element(); private: Element(const Element &); // attributs public: enum { Type = UserType + 1000 }; protected: /** orientations de l'element : * autorisations * orientation en cours * orientation par defaut @see OrientationSet */ OrientationSet ori; private: QSize dimensions; QPoint hotspot_coord; QPixmap preview; // methodes public: /** permet de caster un QGraphicsItem en Element avec qgraphicsitem_cast @return le type de QGraphicsItem */ virtual int type() const { return Type; } // methodes virtuelles pures a definir dans les classes enfants /// @return la liste des bornes de cet element virtual QList terminals() const = 0; /// @return la liste des conducteurs relies a cet element virtual QList conductors() const = 0; /// @return la liste des champs de textes de cet element virtual QList texts() const = 0; /// @return le nombre de bornes actuel de cet element virtual int terminalsCount() const = 0; /// @return le nombre de bornes minimum de cet element virtual int minTerminalsCount() const = 0; /// @return le nombre de bornes maximum de cet element virtual int maxTerminalsCount() const = 0; /** Dessine l'element */ virtual void paint(QPainter *, const QStyleOptionGraphicsItem *) = 0; /// @return L'ID du type de l'element virtual QString typeId() const = 0; /// @return Le nom de l'element virtual QString name() const = 0; Diagram *diagram() const; void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); QRectF boundingRect() const; QSize setSize(int, int); QSize size() const; QPixmap pixmap(); // methodes relatives au point de saisie QPoint setHotspot(QPoint); QPoint hotspot() const; // methodes relatives a la selection void select(); void deselect(); // methodes relatives a la position void setPos(const QPointF &); void setPos(qreal, qreal); // methodes relatives aux connexions internes bool internalConnections(); void setInternalConnections(bool); // methodes relatives aux fichiers XML static bool valideXml(QDomElement &); virtual bool fromXml(QDomElement &, QHash &); virtual QDomElement toXml(QDomDocument &, QHash &) const; // methodes d'acces aux possibilites d'orientation bool setOrientation(QET::Orientation o); const OrientationSet &orientation() const; protected: void drawAxes(QPainter *, const QStyleOptionGraphicsItem *); void mousePressEvent(QGraphicsSceneMouseEvent *); void mouseMoveEvent(QGraphicsSceneMouseEvent *); void mouseReleaseEvent(QGraphicsSceneMouseEvent *); private: bool internal_connections; void drawSelection(QPainter *, const QStyleOptionGraphicsItem *); void updatePixmap(); }; /** Permet de savoir si l'element accepte les connexions internes, c'est-a-dire que ses bornes peuvent etre reliees entre elles @return true si l'element accepte les connexions internes, false sinon */ inline bool Element::internalConnections() { return(internal_connections); } /** Permet de specifier si l'element accepte les connexions internes, c'est-a-dire que ses bornes peuvent etre reliees entre elles @param ic true pour que l'element accepte les connexions internes, false pour qu'il les interdise */ inline void Element::setInternalConnections(bool ic) { internal_connections = ic; } /** Permet de connaitre l'orientation actuelle de l'element @return L'orientation actuelle de l'element */ inline const OrientationSet & Element::orientation() const { return(ori); } #endif qelectrotech-0.22+svn897/sources/qet.h0000644000175000017500000001027311346746071017540 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef _QET_H #define _QET_H #include /** Ce fichier contient des fonctions utiles pouvant etre appelees depuis n'importe ou. Il contient egalement des enums utilises dans plusieurs classes de l'application */ namespace QET { /// version de QElectroTech (utilisee pour estampiller les projets et elements) const QString version = "0.22"; /// version affichee de QElectroTech const QString displayedVersion = "0.22"; QString license(); /// Orientation (utilise pour les bornes mais aussi pour les elements) enum Orientation {North, East, South, West}; /// Mouvements orientes enum OrientedMovement { ToNorth, ToNorthEast, ToEast, ToSouthEast, ToSouth, ToSouthWest, ToWest, ToNorthWest }; /// Types de segment de conducteurs enum ConductorSegmentType { Horizontal = 1, ///< Segment horizontal Vertical = 2, ///< Segment vertical Both = 3 ///< Segment en biais / invalide }; /** Cet enum represente les differents embouts possibles pour les extremites d'une ligne. */ enum EndType { None, ///< Ligne normale Simple, ///< Triangle sans base Triangle, ///< Triangle Circle, ///< Cercle Diamond ///< Losange }; /** Cet enum represente les differents items manipulables dans une collection d'elements. */ enum ItemType { Element = 1, ///< Element Category = 2, ///< Categorie Collection = 4, ///< Collection All = 7 ///< Tous }; /** Cet enum represente les differentes facons de gerer un probleme lors de la recopie ou du deplacement d'un element ou d'une categorie. @see MoveElementsHandler */ enum Action { Retry, ///< il faut reessayer l'operation Ignore, ///< il faut passer a la suite Erase, ///< il faut ecraser le contenu cible Abort, ///< il faut arreter : ignorer l'item en cours et ne pas continuer Managed, ///< le cas a ete gere par l'objet delegue : ne pas le traiter et passer a la suite Rename ///< il faut renommer la cible }; /** Cet enum represente la zone d'un schema a exporter / imprimer */ enum DiagramArea { BorderArea, ///< Exporte le schema avec son cadre et son cartouche ElementsArea ///< Exporte le contenu du schema sans le cadre et le cartouche }; QET::Orientation nextOrientation(QET::Orientation); QET::Orientation previousOrientation(QET::Orientation); QET::Orientation orientationFromString(const QString &); QString orientationToString(QET::Orientation); bool surLeMemeAxe(QET::Orientation, QET::Orientation); bool estHorizontale(QET::Orientation); bool estVerticale(QET::Orientation); bool attributeIsAnInteger(const QDomElement &, QString , int * = NULL); bool attributeIsAReal(const QDomElement &, QString , qreal * = NULL); QString ElementsAndConductorsSentence(int, int, int = 0); QList findInDomElement(const QDomElement &, const QString &, const QString &); QList forbiddenCharacters(); QString forbiddenCharactersString(bool = false); bool containsForbiddenCharacters(const QString &); QString stringToFileName(const QString &); QString escapeSpaces(const QString &); QString unescapeSpaces(const QString &); QString joinWithSpaces(const QStringList &); QStringList splitWithSpaces(const QString &); QString endTypeToString(const QET::EndType &); QET::EndType endTypeFromString(const QString &); QString diagramAreaToString(const QET::DiagramArea &); QET::DiagramArea diagramAreaFromString(const QString &); QString pointerString(void *); bool compareCanonicalFilePaths(const QString &, const QString &); } #endif qelectrotech-0.22+svn897/sources/diagramschooser.h0000644000175000017500000000325211322242730022103 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef DIAGRAMS_CHOOSER_H #define DIAGRAMS_CHOOSER_H #include class QETProject; class Diagram; /** Cette classe represente un widget permettant de choisir 0 a n schemas parmi ceux d'un projet. */ class DiagramsChooser : public QScrollArea { Q_OBJECT // constructeurs, destructeur public: DiagramsChooser(QETProject *, QWidget * = 0); virtual ~DiagramsChooser(); private: DiagramsChooser(const DiagramsChooser &); // methodes public: QETProject *project() const; QList selectedDiagrams() const; QList nonSelectedDiagrams() const; bool diagramIsSelected(Diagram * const) const; void setSelectedDiagrams(const QList &, bool = true, bool = true); void setSelectedAllDiagrams(bool = true); public slots: void updateList(); signals: void selectionChanged(); private: void buildLayout(); // attributs private: QETProject *project_; QWidget *widget0_; QVBoxLayout *vlayout0_; QHash diagrams_; }; #endif qelectrotech-0.22+svn897/sources/orientationset.h0000644000175000017500000000646611320140732022007 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ORIENTATION_SET_H #define ORIENTATION_SET_H #include "qet.h" /** Cette classe represente un containeur d'orientations, c'est-a-dire une structure de donnees stockant une orientation par defaut, une orientation courante et l'autorisation ou non d'utiliser les quatre autres orientations : nord, est, sud, ouest. Elle possede des methodes pour definir les autorisations. Le changement d'autorisation peut echouer car il faut au moins une orientation autorisee. Le changement d'autorisation peut eventuellement modifier les orientations par defaut et courante. */ class OrientationSet { // constructeurs, destructeur public: OrientationSet(); virtual ~OrientationSet() {}; // attributs private: bool north_ori; bool east_ori; bool south_ori; bool west_ori; QET::Orientation default_ori; QET::Orientation current_ori; // methodes public: bool north() const; bool east() const; bool south() const; bool west() const; bool setNorth(bool); bool setEast(bool); bool setSouth(bool); bool setWest(bool); QET::Orientation defaultOrientation() const; void setDefaultOrientation(const QET::Orientation &); QET::Orientation current() const; bool setCurrent(QET::Orientation); QET::Orientation next() const; QET::Orientation previous() const; QET::Orientation setNext(); QET::Orientation setPrevious(); bool accept(QET::Orientation) const; const OrientationSet operator++(int); const OrientationSet operator--(int); const OrientationSet operator++(); const OrientationSet operator--(); bool operator==(const OrientationSet &) const; bool operator!=(const OrientationSet &) const; bool fromString(const QString &); QString toString() const; }; /** @return true si l'orientation "Nord" est autorisee, false sinon */ inline bool OrientationSet::north() const { return(north_ori); } /** @return true si l'orientation "Est" est autorisee, false sinon */ inline bool OrientationSet::east() const { return(east_ori); } /** @return true si l'orientation "Sud" est autorisee, false sinon */ inline bool OrientationSet::south() const { return(south_ori); } /** @return true si l'orientation "Ouest" est autorisee, false sinon */ inline bool OrientationSet::west() const { return(west_ori); } /** @param theValue La nouvelle orientation par defaut */ inline void OrientationSet::setDefaultOrientation(const QET::Orientation& theValue) { default_ori = theValue; } /** @return L'orientation par defaut */ inline QET::Orientation OrientationSet::defaultOrientation() const { return(default_ori); } /** @return L'orientation actuelle */ inline QET::Orientation OrientationSet::current() const { return(current_ori); } #endif qelectrotech-0.22+svn897/sources/nameslist.cpp0000644000175000017500000001230411320140732021256 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "nameslist.h" /** Constructeur */ NamesList::NamesList() { } /** Constructeur de copie @param other La NamesList a copier */ NamesList::NamesList(const NamesList &other) : hash_names(other.hash_names) { } /** Destructeur */ NamesList::~NamesList() { } /** Ajoute un nom a la liste @param lang Sigle de deux lettres representant une langue. Si cela n'est pas respecte, l'insertion n'est pas effectuee. @param name Nom lui-meme. Ce ne doit pas etre une chaine de caractere vide. Si cela n'est pas respecte, l'insertion n'est pas effectuee. */ void NamesList::addName(const QString &lang, const QString &name) { if (lang.length() != 2) return; hash_names.insert(lang, name); } /** Enleve le nom dont une langue donnee @param lang la langue pour laquelle il faut supprimer le nom */ void NamesList::removeName(const QString &lang) { hash_names.remove(lang); } /** Supprime tous les noms */ void NamesList::clearNames() { hash_names.clear(); } /** @return La liste de toutes les langues disponibles */ QList NamesList::langs() const { return(hash_names.keys()); } /** @return true si la liste de noms est vide, false sinon */ bool NamesList::isEmpty() const { return(hash_names.isEmpty()); } /** @return Le nombre de noms dans la liste */ int NamesList::count() const { return(hash_names.count()); } /** @param lang une langue @return Le nom dans la langue donnee ou QString() si ce nom n'est pas defini */ QString &NamesList::operator[](const QString &lang) { return(hash_names[lang]); } /** @param lang une langue @return Le nom dans la langue donnee ou QString() si ce nom n'est pas defini */ const QString NamesList::operator[](const QString &lang) const { return(hash_names.value(lang)); } /** Charge la liste de noms depuis un element XML. Cet element est sense etre le parent d'un element "names", qui contient lui meme les "name". Les noms precedemment contenus dans la liste ne sont pas effaces mais peuvent etre ecrases. @param xml_element L'element XML a analyser */ void NamesList::fromXml(const QDomElement &xml_element) { // parcourt les enfants "names" de l'element XML for (QDomNode node = xml_element.firstChild() ; !node.isNull() ; node = node.nextSibling()) { QDomElement names = node.toElement(); if (names.isNull() || names.tagName() != "names") continue; // parcourt les petits-enfants "name" for (QDomNode n = names.firstChild() ; !n.isNull() ; n = n.nextSibling()) { QDomElement name = n.toElement(); if (name.isNull() || name.tagName() != "name") continue; addName(name.attribute("lang"), name.text()); } } } /** Exporte la liste des noms vers un element XML. Veillez a verifier que la liste de noms n'est pas vide avant de l'exporter. @param xml_document Le document XML dans lequel l'element XML sera insere @return L'element XML correspondant a la section "names" @see count() */ QDomElement NamesList::toXml(QDomDocument &xml_document) const { QDomElement names_elmt = xml_document.createElement("names"); QHashIterator names_iterator(hash_names); while (names_iterator.hasNext()) { names_iterator.next(); QDomElement name_elmt = xml_document.createElement("name"); name_elmt.setAttribute("lang", names_iterator.key()); name_elmt.appendChild(xml_document.createTextNode(names_iterator.value())); names_elmt.appendChild(name_elmt); } return(names_elmt); } /** @param nl une autre liste de noms @return true si les listes de noms sont differentes, false sinon */ bool NamesList::operator!=(const NamesList &nl) const { return(hash_names != nl.hash_names); } /** @param nl une autre liste de noms @return true si les listes de noms sont identiques, false sinon */ bool NamesList::operator==(const NamesList &nl) const { return(hash_names == nl.hash_names); } /** Retourne le nom approprie en fonction de la langue du systeme Par ordre de preference, on prendra : - le nom dans la langue du systeme - le nom en anglais - le nom du dossier @param fallback_name Le nom a retourner si aucun nom approprie n'est trouve @return Le nom approprie en fonction de la langue du systeme */ QString NamesList::name(const QString &fallback_name) const { // recupere les deux premiers caracteres de la locale en cours du systeme QString system_language = QLocale::system().name().left(2); QString returned_name; if (!hash_names[system_language].isEmpty()) { returned_name = hash_names[system_language]; } else if (!hash_names["en"].isEmpty()) { returned_name = hash_names["en"]; } else { returned_name = fallback_name; } return(returned_name); } qelectrotech-0.22+svn897/sources/qetsingleapplication.cpp0000644000175000017500000000770311320140732023505 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTAvBILITY 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 QElectroTech. If not, see . */ #include "qetsingleapplication.h" #include const int QETSingleApplication::timeout_ = 10000; /** Constructeur @param argc Nombre d'arguments passes au programme par le systeme @param argv Tableau des arguments passes au programme par le systeme @param unique_key Cle unique */ QETSingleApplication::QETSingleApplication(int &argc, char **argv, const QString unique_key) : QApplication(argc, argv), unique_key_(unique_key) { // verifie s'il y a un segment de memoire partage correspondant a la cle unique shared_memory_.setKey(unique_key_); if (shared_memory_.attach()) { // oui : l'application est deja en cours d'execution is_running_ = true; } else { // non : il s'agit du premier demarrage de l'application pour cette cle unique is_running_ = false; // initialisation du segment de memoire partage if (!shared_memory_.create(1)) { qDebug() << "QETSingleApplication::QETSingleApplication() : Impossible de cr\351er l'instance unique" << qPrintable(unique_key_); return; } // initialisation d'un serveur local pour recevoir les messages des autres instances local_server_ = new QLocalServer(this); connect(local_server_, SIGNAL(newConnection()), this, SLOT(receiveMessage())); // la cle unique est egalement utilise pour le serveur local_server_ -> listen(unique_key_); } } /** Destructeur */ QETSingleApplication::~QETSingleApplication() { } /** Slot gerant la reception des messages. Lorsque l'application recoit un message, ce slot emet le signal messageAvailable avec le message recu. */ void QETSingleApplication::receiveMessage() { QLocalSocket *local_socket = local_server_ -> nextPendingConnection(); if (!local_socket -> waitForReadyRead(timeout_)) { qDebug() << "QETSingleApplication::receiveMessage() :" << qPrintable(local_socket -> errorString()) << "(" << qPrintable(unique_key_) << ")"; return; } QByteArray byteArray = local_socket -> readAll(); QString message = QString::fromUtf8(byteArray.constData()); emit(messageAvailable(message)); local_socket -> disconnectFromServer(); } /** @return true si l'application est deja en cours d'execution */ bool QETSingleApplication::isRunning() { return(is_running_); } /** Envoie un message a l'application. Si celle-ci n'est pas en cours d'execution, cette methode ne fait rien. @param message Message a transmettre a l'application @return true si le message a ete tranmis, false sinon */ bool QETSingleApplication::sendMessage(const QString &message) { // l'application doit etre en cours d'execution if (!is_running_) { return(false); } // se connecte a l'application, avec gestion du timeout QLocalSocket local_socket(this); local_socket.connectToServer(unique_key_, QIODevice::WriteOnly); if (!local_socket.waitForConnected(timeout_)) { qDebug() << "QETSingleApplication::sendMessage() :" << qPrintable(local_socket.errorString()) << "(" << qPrintable(unique_key_) << ")"; return(false); } // envoi du message, avec gestion du timeout local_socket.write(message.toUtf8()); if (!local_socket.waitForBytesWritten(timeout_)) { qDebug() << "QETSingleApplication::sendMessage() :" << qPrintable(local_socket.errorString()) << "(" << qPrintable(unique_key_) << ")"; return(false); } // deconnexion local_socket.disconnectFromServer(); return(true); } qelectrotech-0.22+svn897/sources/qgimanager.h0000644000175000017500000000302111320140732021033 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QGI_MANAGER_H #define QGI_MANAGER_H #include #include #include /** Cette classe represente un gestionnaire de QGraphicsItem. Elle permet de supprimer des QGraphicsItem lorsqu'il n'y a plus aucune reference vers eux et qu'ils ne sont plus sur la scene. */ class QGIManager { // constructeurs, destructeurs public: QGIManager(QGraphicsScene *); virtual ~QGIManager(); private: QGIManager(const QGIManager &); // attributs private: QGraphicsScene *scene; QHash qgi_manager; bool destroy_qgi_on_delete; //methodes public: void manage(QGraphicsItem *); void release(QGraphicsItem *); void manage(const QList &); void release(const QList &); void setDestroyQGIOnDelete(bool); bool manages(QGraphicsItem *) const; }; #endif qelectrotech-0.22+svn897/sources/nameslistwidget.h0000644000175000017500000000312711320140732022132 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef NAMES_LIST_WIDGET_H #define NAMES_LIST_WIDGET_H #include #include "nameslist.h" /** Cette classe represente une interface permettant de saisir les noms des categories et elements. */ class NamesListWidget : public QWidget { Q_OBJECT // constructeurs, destructeur public: NamesListWidget(QWidget * = 0); virtual ~NamesListWidget(); private: NamesListWidget(const NamesListWidget &); // attributs private: QTreeWidget *tree_names; QPushButton *button_add_line; NamesList hash_names; bool read_only; // methodes public: bool checkOneName(); NamesList names(); void setNames(const NamesList &); void setReadOnly(bool); bool isReadOnly() const; private: void clean(); void updateHash(); public slots: void addLine(); void check(); signals: /** Signal emis lors de la verification de la saisie s'il y a au moins un nom saisi */ void inputChecked(); }; #endif qelectrotech-0.22+svn897/sources/elementdeleter.cpp0000644000175000017500000000437111320140732022262 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementdeleter.h" #include "qetapp.h" #include "qetmessagebox.h" /** Constructeur @param elmt_path Chemin virtuel du fichier representant l'element a supprimer @param parent QWidget parent */ ElementDeleter::ElementDeleter(const ElementsLocation &elmt_path, QWidget *parent) : QWidget(parent), element(0) { // recupere l'element a supprimer ElementsCollectionItem *element_item = QETApp::collectionItem(elmt_path); if (!element_item) return; // on exige un element if (!element_item -> isElement()) return; element = element_item; } /// Destructeur ElementDeleter::~ElementDeleter() { } /** Supprime l'element : verifie l'existence du fichier, demande confirmation a l'utilisateur et avertit ce dernier si la suppression a echoue. */ bool ElementDeleter::exec() { // verifie l'existence de l'element if (!element || !element -> isElement()) return(false); // confirmation #1 QMessageBox::StandardButton answer_1 = QET::MessageBox::question( this, tr("Supprimer l'\351l\351ment ?", "message box title"), tr("\312tes-vous s\373r de vouloir supprimer cet \351l\351ment ?\n", "message box content"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel ); if (answer_1 != QMessageBox::Yes) return(false); /** @todo Regression : rafficher le chemin de l'element */ // supprime l'element if (!element -> remove()) { QET::MessageBox::warning( this, tr("Suppression de l'\351l\351ment", "message box title"), tr("La suppression de l'\351l\351ment a \351chou\351.", "message box content") ); return(false); } return(true); } qelectrotech-0.22+svn897/sources/elementscategoryeditor.cpp0000644000175000017500000001406011320140732024041 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "elementscategoryeditor.h" #include "elementscollection.h" #include "elementscategory.h" #include "nameslistwidget.h" #include "qet.h" #include "qetapp.h" #include "qfilenameedit.h" #include "qetmessagebox.h" /** Constructeur fournissant un dialogue d'edition de categorie. @param category_path Chemin de la categorie a editer ou de la categorie parente en cas de creation @param edit booleen a true pour le mode edition, a false pour le mode creation @param parent QWidget parent du dialogue */ ElementsCategoryEditor::ElementsCategoryEditor(const ElementsLocation &category_path, bool edit, QWidget *parent) : QDialog(parent), mode_edit(edit) { // dialogue basique buildDialog(); // recupere la categorie a editer ElementsCollectionItem *category_item = QETApp::collectionItem(category_path); if (category_item) category_item = category_item -> toCategory(); if (!category_item || !category_item -> isCategory()) { QET::MessageBox::warning( this, tr("Cat\351gorie inexistante", "message box title"), tr("La cat\351gorie demand\351e n'existe pas. Abandon.", "message box content") ); return; } else { category = category_item -> toPureCategory(); } if (mode_edit) { setWindowTitle(tr("\311diter une cat\351gorie", "window title")); connect(buttons, SIGNAL(accepted()), this, SLOT(acceptUpdate())); // edition de categorie = affichage des noms deja existants names_list -> setNames(category -> categoryNames()); internal_name_ -> setText(category -> pathName()); internal_name_ -> setReadOnly(true); } else { setWindowTitle(tr("Cr\351er une nouvelle cat\351gorie", "window title")); connect(buttons, SIGNAL(accepted()), this, SLOT(acceptCreation())); // nouvelle categorie = une ligne pre-machee NamesList cat_names; cat_names.addName(QLocale::system().name().left(2), tr("Nom de la nouvelle cat\351gorie", "default name when creating a new category")); names_list -> setNames(cat_names); } // gestion de la lecture seule if (!category -> isWritable()) { QET::MessageBox::warning( this, tr("\311dition en lecture seule", "message box title"), tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cette cat\351gorie. Elle sera donc ouverte en lecture seule.", "message box content") ); names_list -> setReadOnly(true); internal_name_ -> setReadOnly(true); } } /** Destructeur */ ElementsCategoryEditor::~ElementsCategoryEditor() { } /** Bases du dialogue de creation / edition */ void ElementsCategoryEditor::buildDialog() { QVBoxLayout *editor_layout = new QVBoxLayout(); setLayout(editor_layout); names_list = new NamesListWidget(); internal_name_label_ = new QLabel(tr("Nom interne : ")); internal_name_ = new QFileNameEdit(); buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttons, SIGNAL(rejected()), this, SLOT(reject())); QHBoxLayout *internal_name_layout = new QHBoxLayout(); internal_name_layout -> addWidget(internal_name_label_); internal_name_layout -> addWidget(internal_name_); editor_layout -> addLayout(internal_name_layout); editor_layout -> addWidget(new QLabel(tr("Vous pouvez sp\351cifier un nom par langue pour la cat\351gorie."))); editor_layout -> addWidget(names_list); editor_layout -> addWidget(buttons); } /** Valide les donnees entrees par l'utilisateur lors d'une creation de categorie */ void ElementsCategoryEditor::acceptCreation() { if (!category -> isWritable()) QDialog::accept(); // il doit y avoir au moins un nom if (!names_list -> checkOneName()) return; // exige un nom de dossier de la part de l'utilisateur if (!internal_name_ -> isValid()) { QET::MessageBox::critical( this, tr("Nom interne manquant", "message box title"), tr("Vous devez sp\351cifier un nom interne.", "message box content") ); return; } QString dirname = internal_name_ -> text(); // verifie que le nom interne n'est pas deja pris if (category -> category(dirname)) { QET::MessageBox::critical( this, tr("Nom interne d\351j\340 utilis\351", "message box title"), tr( "Le nom interne que vous avez choisi est d\351j\340 utilis\351 " "par une cat\351gorie existante. Veuillez en choisir un autre.", "message box content" ) ); return; } // cree la nouvelle categorie ElementsCategory *new_category = category -> createCategory(dirname); if (!new_category) { QET::MessageBox::critical( this, tr("Erreur", "message box title"), tr("Impossible de cr\351er la cat\351gorie", "message box content") ); return; } // chargement des noms NamesList names = names_list -> names(); foreach(QString lang, names.langs()) { new_category -> addName(lang, names[lang]); } // ecriture de la if (!new_category -> write()) { QET::MessageBox::critical( this, tr("Erreur", "message box title"), tr("Impossible d'enregistrer la cat\351gorie", "message box content") ); return; } QDialog::accept(); } /** Valide les donnees entrees par l'utilisateur lors d'une modification de categorie */ void ElementsCategoryEditor::acceptUpdate() { if (!category -> isWritable()) QDialog::accept(); // il doit y avoir au moins un nom if (!names_list -> checkOneName()) return; // chargement des noms category -> clearNames(); NamesList names = names_list -> names(); foreach(QString lang, names.langs()) { category -> addName(lang, names[lang]); } category -> write(); QDialog::accept(); } qelectrotech-0.22+svn897/sources/orientationsetwidget.cpp0000644000175000017500000001446111342355132023546 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "orientationsetwidget.h" #include "qeticons.h" /** Constructeur @param parent QWidget parent */ OrientationSetWidget::OrientationSetWidget(QWidget *parent) : QWidget(parent) { default_radios = new QButtonGroup(this); #define MK_COMBO_BOX(a) a##_orientation = new QComboBox();\ a##_orientation -> addItem(QET::Icons::Allowed, tr("Possible"), "y");\ a##_orientation -> addItem(QET::Icons::Forbidden,tr("Impossible"), "n");\ connect(a##_orientation, SIGNAL(activated(int)), this, SLOT(updateOrientationSet()));\ a##_default = new QRadioButton(); // 4 combo box, 4 boutons radios MK_COMBO_BOX(north) MK_COMBO_BOX(east) MK_COMBO_BOX(south) MK_COMBO_BOX(west) #undef MK_COMBO_BOX default_radios -> addButton(north_default, QET::North); default_radios -> addButton(east_default, QET::East); default_radios -> addButton(south_default, QET::South); default_radios -> addButton(west_default, QET::West); connect(default_radios, SIGNAL(buttonClicked(QAbstractButton *)), this, SLOT(slot_defaultChanged(QAbstractButton *))); // petites icones symbolisant les orientations QLabel *north_pixmap = new QLabel(tr("Nord :")); north_pixmap -> setPixmap(QET::Icons::North.pixmap(16, 16)); QLabel *east_pixmap = new QLabel(tr("Est :")); east_pixmap -> setPixmap(QET::Icons::East.pixmap(16, 16)); QLabel *south_pixmap = new QLabel(tr("Sud :")); south_pixmap -> setPixmap(QET::Icons::South.pixmap(16, 16)); QLabel *west_pixmap = new QLabel(tr("Ouest :")); west_pixmap -> setPixmap(QET::Icons::West.pixmap(16, 16)); QGridLayout *qgl = new QGridLayout(this); qgl -> addWidget(new QLabel(tr("Par d\351faut")), 0, 3); qgl -> addWidget(north_pixmap, 1, 0); qgl -> addWidget(new QLabel(tr("Nord :")), 1, 1); qgl -> addWidget(north_orientation, 1, 2); qgl -> addWidget(north_default, 1, 3, Qt::AlignHCenter); qgl -> addWidget(east_pixmap, 2, 0); qgl -> addWidget(new QLabel(tr("Est :")), 2, 1); qgl -> addWidget(east_orientation, 2, 2); qgl -> addWidget(east_default, 2, 3, Qt::AlignHCenter); qgl -> addWidget(south_pixmap, 3, 0); qgl -> addWidget(new QLabel(tr("Sud :")), 3, 1); qgl -> addWidget(south_orientation, 3, 2); qgl -> addWidget(south_default, 3, 3, Qt::AlignHCenter); qgl -> addWidget(west_pixmap, 4, 0); qgl -> addWidget(new QLabel(tr("Ouest :")), 4, 1); qgl -> addWidget(west_orientation, 4, 2); qgl -> addWidget(west_default, 4, 3, Qt::AlignHCenter); // les combobox s'etendent autant que possible qgl -> setColumnStretch(2, 1); // l'orientation par defaut par defaut est le Nord north_default -> setChecked(true); slot_defaultChanged(north_default); } /** @return l'OrientationSet */ OrientationSet OrientationSetWidget::orientationSet() const { return(ori); } /** @param os l'OrientationSet a editer */ void OrientationSetWidget::setOrientationSet(const OrientationSet &os) { ori = os; updateForm(); } /** @return true si ce widget est en lecture seule, false sinon */ bool OrientationSetWidget::isReadOnly() const { return(!north_orientation -> isEnabled()); } /** @param ro true pour passer ce widget en lecture seule, false sinon */ void OrientationSetWidget::setReadOnly(bool ro) { north_orientation -> setDisabled(ro); east_orientation -> setDisabled(ro); south_orientation -> setDisabled(ro); west_orientation -> setDisabled(ro); north_default -> setDisabled(ro); east_default -> setDisabled(ro); south_default -> setDisabled(ro); west_default -> setDisabled(ro); } /** Slot gerant le changement d'orientation par defaut. L'orientation concernee affiche alors "Possible" et ce statut devient impossible a modifier. */ void OrientationSetWidget::slot_defaultChanged(QAbstractButton *button) { if (button == north_default) north_orientation -> setCurrentIndex(0); else if (button == east_default) east_orientation -> setCurrentIndex(0); else if (button == south_default) south_orientation -> setCurrentIndex(0); else if (button == west_default) west_orientation -> setCurrentIndex(0); north_orientation -> setEnabled(button != north_default); east_orientation -> setEnabled(button != east_default); south_orientation -> setEnabled(button != south_default); west_orientation -> setEnabled(button != west_default); updateOrientationSet(); } /** Met a jour les donnees de la classe a partir du dialogue */ void OrientationSetWidget::updateOrientationSet() { ori.setNorth(!north_orientation -> currentIndex()); ori.setEast (!east_orientation -> currentIndex()); ori.setSouth(!south_orientation -> currentIndex()); ori.setWest (!west_orientation -> currentIndex()); ori.setDefaultOrientation(static_cast(default_radios -> checkedId())); } /** Met a jour le dialogue a partir des donnees de la classe */ void OrientationSetWidget::updateForm() { north_orientation -> setCurrentIndex(ori.north() ? 0 : 1); east_orientation -> setCurrentIndex(ori.east() ? 0 : 1); south_orientation -> setCurrentIndex(ori.south() ? 0 : 1); west_orientation -> setCurrentIndex(ori.west() ? 0 : 1); QRadioButton *default_button = NULL; switch(ori.defaultOrientation()) { case QET::North: default_button = north_default; break; case QET::East : default_button = east_default ; break; case QET::South: default_button = south_default; break; case QET::West : default_button = west_default ; break; } if (default_button != NULL) { default_button -> setChecked(true); slot_defaultChanged(default_button); } } qelectrotech-0.22+svn897/sources/recentfiles.h0000644000175000017500000000322711320140732021233 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef RECENT_FILES_H #define RECENT_FILES_H #include #include class QMenu; /** Cette classe permet de gerer des fichiers recents. */ class RecentFiles : public QObject { Q_OBJECT // constructeurs, destructeur public: RecentFiles(const QString &, int = 10, QObject * = 0); virtual ~RecentFiles(); private: RecentFiles(const RecentFiles &); // methodes public: int size() const; QMenu *menu() const; QIcon iconForFiles() const; void setIconForFiles(const QIcon &); public slots: void clear(); void save(); void fileWasOpened(const QString &); signals: void fileOpeningRequested(const QString &); private: void extractFilesFromSettings(); void insertFile(const QString &); void saveFilesToSettings(); void buildMenu(); private slots: void handleMenuRequest(const QString &); // attributs private: QString identifier_; int size_; QList list_; QMenu *menu_; QSignalMapper *mapper_; QIcon files_icon_; }; #endif qelectrotech-0.22+svn897/sources/qetregexpvalidator.h0000644000175000017500000000247011320140732022641 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_REGEXP_VALIDATOR_H #define QET_REGEXP_VALIDATOR_H #include /** Cette classe agit comme un QRegExpValidator a ceci pres qu'elle emet un signal lorsqu'elle ne valide pas une saisie. */ class QETRegExpValidator : public QRegExpValidator { Q_OBJECT // constructeurs, destructeur public: QETRegExpValidator(QObject *); QETRegExpValidator(const QRegExp &, QObject *); virtual ~QETRegExpValidator(); private: QETRegExpValidator(const QETRegExpValidator &); // methodes public: virtual QValidator::State validate(QString &, int &) const; signals: void validationFailed() const; }; #endif qelectrotech-0.22+svn897/sources/xmlelementdefinition.h0000644000175000017500000000405111320140732023147 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef XML_ELEMENT_DEFINITION #define XML_ELEMENT_DEFINITION #include #include "elementdefinition.h" class XmlElementsCategory; class XmlElementsCollection; /** Cette classe represente la definition d'un element extraite d'un document XML (typiquement : un projet QET). */ class XmlElementDefinition : public ElementDefinition { Q_OBJECT public: XmlElementDefinition(const QString &, XmlElementsCategory * = 0, XmlElementsCollection * = 0); XmlElementDefinition(const QDomElement &, XmlElementsCategory * = 0, XmlElementsCollection * = 0); virtual ~XmlElementDefinition(); private: XmlElementDefinition(const XmlElementDefinition &); // methodes public: virtual QDomElement xml(); virtual bool setXml(const QDomElement &); virtual bool write(); virtual bool isNull() const; virtual QString pathName() const; virtual QString virtualPath(); virtual void reload(); virtual bool exists(); virtual bool isReadable(); virtual bool isWritable(); virtual bool remove(); virtual bool hasFilePath(); virtual QString filePath(); virtual void setFilePath(const QString &); virtual QDomElement writeXml(QDomDocument &) const; signals: void written(); void removed(const QString &); // attributs private: bool is_null_; QString name_; XmlElementsCategory *parent_category_; QDomDocument xml_element_; QDomElement element_definition_; }; #endif qelectrotech-0.22+svn897/sources/configpages.h0000644000175000017500000000744011333603373021227 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef CONFIG_PAGES_H #define CONFIG_PAGES_H #include class BorderPropertiesWidget; class ConductorPropertiesWidget; class InsetPropertiesWidget; class ExportPropertiesWidget; /** Cette classe abstraite contient les methodes que toutes les pages de configuration doivent implementer. */ class ConfigPage : public QWidget { Q_OBJECT public: /** Constructeur @param parent QWidget parent */ ConfigPage(QWidget *parent) : QWidget(parent) {}; /// Destructeur virtual ~ConfigPage() {}; /// Applique la configuration saisie par l'utilisateur dans la page de configuration virtual void applyConf() = 0; /// @return le titre de la page de configuration virtual QString title() const = 0; /// @return l'icone de la page de configuration virtual QIcon icon() const = 0; }; /** Cette classe represente la page de configuration des nouveaux schemas. */ class NewDiagramPage : public ConfigPage { Q_OBJECT // constructeurs, destructeur public: NewDiagramPage(QWidget * = 0); virtual ~NewDiagramPage(); private: NewDiagramPage(const NewDiagramPage &); // methodes public: void applyConf(); QString title() const; QIcon icon() const; // attributs public: BorderPropertiesWidget *bpw; ///< Widget d'edition des dimensions du schema InsetPropertiesWidget *ipw; ///< Widget d'edition des proprietes par defaut du cartouche ConductorPropertiesWidget *cpw; ///< Widget d'edition des proprietes par defaut des conducteurs }; /** Cette classe represente la page de configuration generale. */ class GeneralConfigurationPage : public ConfigPage { Q_OBJECT // constructeurs, destructeur public: GeneralConfigurationPage(QWidget * = 0); virtual ~GeneralConfigurationPage(); private: GeneralConfigurationPage(const GeneralConfigurationPage &); // methodes public: void applyConf(); QString title() const; QIcon icon() const; // attributs public: QLabel *title_label_; QFrame *horiz_line_; QGroupBox *appearance_; QCheckBox *use_system_colors_; QGroupBox *projects_view_mode_; QRadioButton *windowed_mode_; QRadioButton *tabbed_mode_; QLabel *warning_view_mode_; QGroupBox *elements_management_; QCheckBox *integrate_elements_; QLabel *default_element_infos_label_; QTextEdit *default_element_infos_textfield_; }; /** Cette classe represente la page de configuration du dialogue d'exportation */ class ExportConfigPage : public ConfigPage { Q_OBJECT // constructeurs, destructeur public: ExportConfigPage(QWidget * = 0); virtual ~ExportConfigPage(); private: ExportConfigPage(const ExportConfigPage &); // methodes public: void applyConf(); QString title() const; QIcon icon() const; // attributs public: ExportPropertiesWidget *epw; }; /** Cette classe represente la page de configuration du dialogue d'impression */ class PrintConfigPage : public ConfigPage { Q_OBJECT // constructeurs, destructeur public: PrintConfigPage(QWidget * = 0); virtual ~PrintConfigPage(); private: PrintConfigPage(const PrintConfigPage &); // methodes public: void applyConf(); QString title() const; QIcon icon() const; // attributs public: ExportPropertiesWidget *epw; }; #endif qelectrotech-0.22+svn897/sources/fileelementscategory.h0000644000175000017500000000504111320140732023136 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef FILE_ELEMENTS_CATEGORY_H #define FILE_ELEMENTS_CATEGORY_H #include #include "elementscategory.h" class FileElementsCollection; class FileElementDefinition; /** Cette classe represente une categorie d'elements accessible via un systeme de fichiers. */ class FileElementsCategory : public ElementsCategory { Q_OBJECT // constructeurs, destructeur public: FileElementsCategory(const QString & = QString(), FileElementsCategory * = 0, FileElementsCollection * = 0); virtual ~FileElementsCategory(); private: FileElementsCategory(const FileElementsCategory &); // methodes public: virtual QString pathName() const; virtual QString virtualPath(); virtual QString filePath(); virtual bool hasFilePath(); virtual void setFilePath(const QString &); virtual QList categories(); virtual ElementsCategory *category(const QString &); virtual ElementsCategory *createCategory(const QString &); virtual QList elements(); virtual ElementDefinition *element(const QString &); virtual ElementDefinition *createElement(const QString &); virtual bool exists(); virtual bool isReadable(); virtual bool isWritable(); virtual void reload(); virtual bool remove(); virtual bool removeContent(); virtual bool write(); private: bool rmdir(const QString &) const; void loadNames(); void deleteContent(); // attributs protected: /// Collection parente, de type fichier FileElementsCollection *file_parent_collection_; /// Categorie parente, de type fichier FileElementsCategory *file_parent_category_; /// Sous-categories contenues dans cette categorie QHash categories_; /// Elements contenus dans cette categorie QHash elements_; /// Dossier representant cette categorie sur le systeme de fichiers QDir cat_dir; }; #endif qelectrotech-0.22+svn897/sources/elementscategorieswidget.h0000644000175000017500000000345611320140732024022 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTS_CATEGORIES_WIDGET_H #define ELEMENTS_CATEGORIES_WIDGET_H #include class ElementsCategoriesList; /** Cette classe represente un widget integrant la liste des categories de l'utilisteur surplombee de boutons permettant d'ajouter, de modifier ou de supprimer des categories */ class ElementsCategoriesWidget : public QWidget { Q_OBJECT // Constructeurs, destructeur public: ElementsCategoriesWidget(QWidget * = 0); virtual ~ElementsCategoriesWidget(); private: ElementsCategoriesWidget(const ElementsCategoriesWidget &); // attributs private: ElementsCategoriesList *elementscategorieslist; QToolBar *toolbar; QAction *action_reload; QAction *action_new; QAction *action_open; QAction *action_delete; // methodes public: ElementsCategoriesList &elementsCategoriesList() const; public slots: void newCategory(); void editCategory(); void removeCategory(); void updateButtons(); }; /** @return La liste des categories d'elements du widget */ inline ElementsCategoriesList &ElementsCategoriesWidget::elementsCategoriesList() const { return(*elementscategorieslist); } #endif qelectrotech-0.22+svn897/sources/qettabbar.h0000644000175000017500000000431411342301024020670 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_TAB_BAR_H #define QET_TAB_BAR_H #include #include /** Cette classe represente une barre d'onglets. Elle se distingue d'une QTabBar sur les points suivants : *elle emet un signal lorsque le dernier onglet est ferme *elle emet un signal lorsque le premier onglet est insere *elle permet de passer d'un onglet a l'autre avec la rollette */ class QETTabBar : public QTabBar { Q_OBJECT // constructeurs, destructeur public: QETTabBar(QWidget * = 0); virtual~QETTabBar(); private: QETTabBar(const QETTabBar &); // methodes public: void activateNextTab(); void activatePreviousTab(); void setMovable(bool); bool isMovable() const; bool isVertical() const; bool isHorizontal() const; void moveTab(int, int); protected: virtual void tabInserted(int); virtual void tabRemoved(int); virtual void wheelEvent(QWheelEvent *); virtual void mousePressEvent(QMouseEvent *); virtual void mouseMoveEvent(QMouseEvent *); virtual void mouseReleaseEvent(QMouseEvent *); virtual void mouseDoubleClickEvent(QMouseEvent *); signals: void lastTabRemoved(); void firstTabInserted(); #if QT_VERSION < 0x040500 void tabMoved(int, int); #endif void tabDoubleClicked(int); private: bool mustMoveTab(int, int, const QPoint &) const; int tabForPressedPosition(const QPoint &); int tabForMovedPosition(const QPoint &); bool posMatchesTabRect(const QRect &, const QPoint &) const; // attributs private: bool no_more_tabs_; bool movable_tabs_; int moved_tab_; QPoint press_point_; }; #endif qelectrotech-0.22+svn897/sources/qetsingleapplication.h0000644000175000017500000000304011320140732023140 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef QET_SINGLE_APPLICATION_H #define QET_SINGLE_APPLICATION_H #include #include #include /** Cette classe represente une application Qt ne s'executant qu'en un seul exemplaire en fonction d'une cle unique (de type QString). */ class QETSingleApplication : public QApplication { Q_OBJECT // constructeurs, destructeur public: QETSingleApplication(int &, char **, const QString); virtual ~QETSingleApplication(); private: QETSingleApplication(const QETSingleApplication &); // methodes public: bool isRunning(); bool sendMessage(const QString &); public slots: void receiveMessage(); signals: void messageAvailable(QString); // attributs private: bool is_running_; QString unique_key_; QSharedMemory shared_memory_; QLocalServer *local_server_; static const int timeout_; }; #endif qelectrotech-0.22+svn897/sources/diagram.cpp0000644000175000017500000010550511322423144020674 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include #include "qetapp.h" #include "conductor.h" #include "customelement.h" #include "diagram.h" #include "elementtextitem.h" #include "exportdialog.h" #include "ghostelement.h" #include "diagramcommands.h" #include "diagramcontent.h" #include "diagramposition.h" const int Diagram::xGrid = 10; const int Diagram::yGrid = 10; const qreal Diagram::margin = 5.0; /** Constructeur @param parent Le QObject parent du schema */ Diagram::Diagram(QObject *parent) : QGraphicsScene(parent), draw_grid(true), use_border(true), moved_elements_fetched(false), draw_terminals(true), draw_colored_conductors_(true), project_(0), read_only_(false) { undo_stack = new QUndoStack(); qgi_manager = new QGIManager(this); setBackgroundBrush(Qt::white); conductor_setter = new QGraphicsLineItem(0, 0); conductor_setter -> setZValue(1000000); QPen t; t.setColor(Qt::black); t.setWidthF(1.5); t.setStyle(Qt::DashLine); conductor_setter -> setPen(t); conductor_setter -> setLine(QLineF(QPointF(0.0, 0.0), QPointF(0.0, 0.0))); } /** Destructeur */ Diagram::~Diagram() { // suppression de la liste des annulations - l'undo stack fait appel au qgimanager pour supprimer certains elements delete undo_stack; // suppression du QGIManager - tous les elements qu'il connait sont supprimes delete qgi_manager; // recense les items supprimables QList deletable_items; foreach(QGraphicsItem *qgi, items()) { if (qgi -> parentItem()) continue; if (qgraphicsitem_cast(qgi)) continue; deletable_items << qgi; } // suppression des items supprimables foreach(QGraphicsItem *qgi_d, deletable_items) { delete qgi_d; } } /** Dessine l'arriere-plan du schema, cad la grille. @param p Le QPainter a utiliser pour dessiner @param r Le rectangle de la zone a dessiner */ void Diagram::drawBackground(QPainter *p, const QRectF &r) { p -> save(); // desactive tout antialiasing, sauf pour le texte p -> setRenderHint(QPainter::Antialiasing, false); p -> setRenderHint(QPainter::TextAntialiasing, true); p -> setRenderHint(QPainter::SmoothPixmapTransform, false); // dessine un fond blanc p -> setPen(Qt::NoPen); p -> setBrush(Qt::white); p -> drawRect(r); if (draw_grid) { // dessine les points de la grille p -> setPen(Qt::black); p -> setBrush(Qt::NoBrush); qreal limite_x = r.x() + r.width(); qreal limite_y = r.y() + r.height(); int g_x = (int)ceil(r.x()); while (g_x % xGrid) ++ g_x; int g_y = (int)ceil(r.y()); while (g_y % yGrid) ++ g_y; QPolygon points; for (int gx = g_x ; gx < limite_x ; gx += xGrid) { for (int gy = g_y ; gy < limite_y ; gy += yGrid) { points << QPoint(gx, gy); } } p -> drawPoints(points); } if (use_border) border_and_inset.draw(p, margin, margin); p -> restore(); } /** Gere les enfoncements de touches du clavier @param e QKeyEvent decrivant l'evenement clavier */ void Diagram::keyPressEvent(QKeyEvent *e) { if (!isReadOnly()) { QPointF movement; switch(e -> key()) { case Qt::Key_Left: movement = QPointF(-xGrid, 0.0); break; case Qt::Key_Right: movement = QPointF(+xGrid, 0.0); break; case Qt::Key_Up: movement = QPointF(0.0, -yGrid); break; case Qt::Key_Down: movement = QPointF(0.0, +yGrid); break; } if (!movement.isNull() && !focusItem()) { moveElements(movement); } } QGraphicsScene::keyPressEvent(e); } /** Gere les relachements de touches du clavier @param e QKeyEvent decrivant l'evenement clavier */ void Diagram::keyReleaseEvent(QKeyEvent *e) { if (!isReadOnly()) { // detecte le relachement d'une touche de direction ( = deplacement d'elements) if ( (e -> key() == Qt::Key_Left || e -> key() == Qt::Key_Right ||\ e -> key() == Qt::Key_Up || e -> key() == Qt::Key_Down) &&\ !current_movement.isNull() && !e -> isAutoRepeat() ) { // cree un objet d'annulation pour le mouvement qui vient de se finir undoStack().push(new MoveElementsCommand(this, selectedContent(), current_movement)); invalidateMovedElements(); current_movement = QPointF(); } } QGraphicsScene::keyReleaseEvent(e); } /** Exporte le schema vers une image @return Une QImage representant le schema */ bool Diagram::toPaintDevice(QPaintDevice &pix, int width, int height, Qt::AspectRatioMode aspectRatioMode) { // determine la zone source = contenu du schema + marges QRectF source_area; if (!use_border) { source_area = itemsBoundingRect(); source_area.translate(-margin, -margin); source_area.setWidth (source_area.width () + 2.0 * margin); source_area.setHeight(source_area.height() + 2.0 * margin); } else { source_area = QRectF( 0.0, 0.0, border_and_inset.borderWidth () + 2.0 * margin, border_and_inset.borderHeight() + 2.0 * margin ); } // si les dimensions ne sont pas precisees, l'image est exportee a l'echelle 1:1 QSize image_size = (width == -1 && height == -1) ? source_area.size().toSize() : QSize(width, height); // prepare le rendu QPainter p; if (!p.begin(&pix)) return(false); // rendu antialiase p.setRenderHint(QPainter::Antialiasing, true); p.setRenderHint(QPainter::TextAntialiasing, true); p.setRenderHint(QPainter::SmoothPixmapTransform, true); // deselectionne tous les elements QList selected_elmts = selectedItems(); foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(false); // effectue le rendu lui-meme render(&p, QRect(QPoint(0, 0), image_size), source_area, aspectRatioMode); p.end(); // restaure les elements selectionnes foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(true); return(true); } /** Permet de connaitre les dimensions qu'aura l'image generee par la methode toImage() @return La taille de l'image generee par toImage() */ QSize Diagram::imageSize() const { // determine la zone source = contenu du schema + marges qreal image_width, image_height; if (!use_border) { QRectF items_rect = itemsBoundingRect(); image_width = items_rect.width(); image_height = items_rect.height(); } else { image_width = border_and_inset.borderWidth(); image_height = border_and_inset.borderHeight(); } image_width += 2.0 * margin; image_height += 2.0 * margin; // renvoie la taille de la zone source return(QSizeF(image_width, image_height).toSize()); } /** @return true si le schema est considere comme vide, false sinon. Un schema vide ne contient ni element, ni conducteur, ni champ de texte */ bool Diagram::isEmpty() const { return(!items().count()); } /** Exporte tout ou partie du schema @param diagram Booleen (a vrai par defaut) indiquant si le XML genere doit representer tout le schema ou seulement les elements selectionnes @return Un Document XML (QDomDocument) */ QDomDocument Diagram::toXml(bool diagram) { // document QDomDocument document; // racine de l'arbre XML QDomElement racine = document.createElement("diagram"); // proprietes du schema if (diagram) { if (!border_and_inset.author().isNull()) racine.setAttribute("author", border_and_inset.author()); if (!border_and_inset.date().isNull()) racine.setAttribute("date", border_and_inset.date().toString("yyyyMMdd")); if (!border_and_inset.title().isNull()) racine.setAttribute("title", border_and_inset.title()); if (!border_and_inset.fileName().isNull()) racine.setAttribute("filename", border_and_inset.fileName()); if (!border_and_inset.folio().isNull()) racine.setAttribute("folio", border_and_inset.folio()); racine.setAttribute("cols", border_and_inset.nbColumns()); racine.setAttribute("colsize", QString("%1").arg(border_and_inset.columnsWidth())); racine.setAttribute("rows", border_and_inset.nbRows()); racine.setAttribute("rowsize", QString("%1").arg(border_and_inset.rowsHeight())); // attribut datant de la version 0.1 - laisse pour retrocompatibilite racine.setAttribute("height", QString("%1").arg(border_and_inset.diagramHeight())); racine.setAttribute("displaycols", border_and_inset.columnsAreDisplayed() ? "true" : "false"); racine.setAttribute("displayrows", border_and_inset.rowsAreDisplayed() ? "true" : "false"); // type de conducteur par defaut QDomElement default_conductor = document.createElement("defaultconductor"); defaultConductorProperties.toXml(default_conductor); racine.appendChild(default_conductor); } document.appendChild(racine); // si le schema ne contient pas d'element (et donc pas de conducteurs), on retourne de suite le document XML if (items().isEmpty()) return(document); // creation de trois listes : une qui contient les elements, une qui contient les conducteurs, une qui contient les champs de texte QList list_elements; QList list_conductors; QList list_texts; // Determine les elements a "XMLiser" foreach(QGraphicsItem *qgi, items()) { if (Element *elmt = qgraphicsitem_cast(qgi)) { if (diagram) list_elements << elmt; else if (elmt -> isSelected()) list_elements << elmt; } else if (Conductor *f = qgraphicsitem_cast(qgi)) { if (diagram) list_conductors << f; // lorsqu'on n'exporte pas tout le diagram, il faut retirer les conducteurs non selectionnes // et pour l'instant, les conducteurs non selectionnes sont les conducteurs dont un des elements n'est pas relie else if (f -> terminal1 -> parentItem() -> isSelected() && f -> terminal2 -> parentItem() -> isSelected()) list_conductors << f; } else if (DiagramTextItem *dti = qgraphicsitem_cast(qgi)) { if (!dti -> parentItem()) { if (diagram) list_texts << dti; else if (dti -> isSelected()) list_texts << dti; } } } // table de correspondance entre les adresses des bornes et leurs ids QHash table_adr_id; // enregistrement des elements if (!list_elements.isEmpty()) { QDomElement elements = document.createElement("elements"); foreach(Element *elmt, list_elements) { elements.appendChild(elmt -> toXml(document, table_adr_id)); } racine.appendChild(elements); } // enregistrement des conducteurs if (!list_conductors.isEmpty()) { QDomElement conductors = document.createElement("conductors"); foreach(Conductor *cond, list_conductors) { conductors.appendChild(cond -> toXml(document, table_adr_id)); } racine.appendChild(conductors); } // enregistrement des champs de texte if (!list_texts.isEmpty()) { QDomElement inputs = document.createElement("inputs"); foreach(DiagramTextItem *dti, list_texts) { inputs.appendChild(dti -> toXml(document)); } racine.appendChild(inputs); } // on retourne le document XML ainsi genere return(document); } /** Importe le schema decrit dans un document XML. Si une position est precisee, les elements importes sont positionnes de maniere a ce que le coin superieur gauche du plus petit rectangle pouvant les entourant tous (le bounding rect) soit a cette position. @param document Le document XML a analyser @param position La position du schema importe @param consider_informations Si vrai, les informations complementaires (auteur, titre, ...) seront prises en compte @param content_ptr si ce pointeur vers un DiagramContent est different de 0, il sera rempli avec le contenu ajoute au schema par le fromXml @return true si l'import a reussi, false sinon */ bool Diagram::fromXml(QDomDocument &document, QPointF position, bool consider_informations, DiagramContent *content_ptr) { QDomElement root = document.documentElement(); return(fromXml(root, position, consider_informations, content_ptr)); } /** Importe le schema decrit dans un element XML. Cette methode delegue son travail a Diagram::fromXml Si l'import reussit, cette methode initialise egalement le document XML interne permettant de bien gerer l'enregistrement de ce schema dans le projet auquel il appartient. @see Diagram::fromXml @param document Le document XML a analyser @param position La position du schema importe @param consider_informations Si vrai, les informations complementaires (auteur, titre, ...) seront prises en compte @param content_ptr si ce pointeur vers un DiagramContent est different de 0, il sera rempli avec le contenu ajoute au schema par le fromXml @return true si l'import a reussi, false sinon */ bool Diagram::initFromXml(QDomElement &document, QPointF position, bool consider_informations, DiagramContent *content_ptr) { // import le contenu et les proprietes du schema depuis l'element XML fourni en parametre bool from_xml = fromXml(document, position, consider_informations, content_ptr); // initialise le document XML interne a partir de l'element XML fourni en parametre if (from_xml) { xml_document.clear(); xml_document.appendChild(xml_document.importNode(document, true)); // a ce stade, le document XML interne contient le code XML qui a ete importe, et non pas une version re-exporte par la methode toXml() } return(from_xml); } /** Importe le schema decrit dans un element XML. Si une position est precisee, les elements importes sont positionnes de maniere a ce que le coin superieur gauche du plus petit rectangle pouvant les entourant tous (le bounding rect) soit a cette position. @param document Le document XML a analyser @param position La position du schema importe @param consider_informations Si vrai, les informations complementaires (auteur, titre, ...) seront prises en compte @param content_ptr si ce pointeur vers un DiagramContent est different de 0, il sera rempli avec le contenu ajoute au schema par le fromXml @return true si l'import a reussi, false sinon */ bool Diagram::fromXml(QDomElement &document, QPointF position, bool consider_informations, DiagramContent *content_ptr) { QDomElement root = document; // le premier element doit etre un schema if (root.tagName() != "diagram") return(false); // lecture des attributs de ce schema if (consider_informations) { border_and_inset.setAuthor(root.attribute("author")); border_and_inset.setTitle(root.attribute("title")); border_and_inset.setDate(QDate::fromString(root.attribute("date"), "yyyyMMdd")); border_and_inset.setFileName(root.attribute("filename")); border_and_inset.setFolio(root.attribute("folio")); bool ok; // nombre de colonnes int nb_cols = root.attribute("cols").toInt(&ok); if (ok) border_and_inset.setNbColumns(nb_cols); // taille des colonnes double col_size = root.attribute("colsize").toDouble(&ok); if (ok) border_and_inset.setColumnsWidth(col_size); // retrocompatibilite : les schemas enregistres avec la 0.1 ont un attribut "height" if (root.hasAttribute("rows") && root.hasAttribute("rowsize")) { // nombre de lignes int nb_rows = root.attribute("rows").toInt(&ok); if (ok) border_and_inset.setNbRows(nb_rows); // taille des lignes double row_size = root.attribute("rowsize").toDouble(&ok); if (ok) border_and_inset.setRowsHeight(row_size); } else { // hauteur du schema double height = root.attribute("height").toDouble(&ok); if (ok) border_and_inset.setDiagramHeight(height); } // affichage des lignes et colonnes border_and_inset.displayColumns(root.attribute("displaycols") != "false"); border_and_inset.displayRows(root.attribute("displayrows") != "false"); border_and_inset.adjustInsetToColumns(); // repere le permier element "defaultconductor" for (QDomNode node = root.firstChild() ; !node.isNull() ; node = node.nextSibling()) { QDomElement elmts = node.toElement(); if(elmts.isNull() || elmts.tagName() != "defaultconductor") continue; defaultConductorProperties.fromXml(elmts); break; } } // si la racine n'a pas d'enfant : le chargement est fini (schema vide) if (root.firstChild().isNull()) { write(document); return(true); } // chargement de tous les elements du fichier XML QList added_elements; QHash table_adr_id; foreach (QDomElement e, QET::findInDomElement(root, "elements", "element")) { if (!Element::valideXml(e)) continue; // cree un element dont le type correspond a l'id type QString type_id = e.attribute("type"); ElementsLocation element_location = ElementsLocation(type_id); if (type_id.startsWith("embed://")) element_location.setProject(project_); CustomElement *nvel_elmt = new CustomElement(element_location); if (nvel_elmt -> isNull()) { QString debug_message = QString("Diagram::fromXml() : Le chargement de la description de l'element %1 a echoue avec le code d'erreur %2").arg(element_location.path()).arg(nvel_elmt -> state()); qDebug() << qPrintable(debug_message); delete nvel_elmt; qDebug() << "Diagram::fromXml() : Utilisation d'un GhostElement en lieu et place de cet element."; nvel_elmt = new GhostElement(element_location); } // charge les caracteristiques de l'element if (nvel_elmt -> fromXml(e, table_adr_id)) { // ajout de l'element au schema et a la liste des elements ajoutes addElement(nvel_elmt); added_elements << nvel_elmt; } else { delete nvel_elmt; qDebug() << "Diagram::fromXml() : Le chargement des parametres d'un element a echoue"; } } // chargement de tous les textes du fichiers XML QList added_texts; foreach (QDomElement f, QET::findInDomElement(root, "inputs", "input")) { DiagramTextItem *dti = new DiagramTextItem(0, this); dti -> fromXml(f); addDiagramTextItem(dti); added_texts << dti; } // gere la translation des nouveaux elements et texte si celle-ci est demandee if (position != QPointF()) { // determine quel est le coin superieur gauche du rectangle entourant les elements ajoutes qreal minimum_x = 0, minimum_y = 0; bool init = false; QList added_items; foreach (Element *added_element, added_elements) added_items << added_element; foreach (DiagramTextItem *added_text, added_texts) added_items << added_text; foreach (QGraphicsItem *item, added_items) { QPointF csg = item -> mapToScene(item -> boundingRect()).boundingRect().topLeft(); qreal px = csg.x(); qreal py = csg.y(); if (!init) { minimum_x = px; minimum_y = py; init = true; } else { if (px < minimum_x) minimum_x = px; if (py < minimum_y) minimum_y = py; } } qreal diff_x = position.x() - minimum_x; qreal diff_y = position.y() - minimum_y; foreach (Element *added_element, added_elements) { added_element -> setPos(added_element -> pos().x() + diff_x, added_element -> pos().y() + diff_y); } foreach (DiagramTextItem *added_text, added_texts) { added_text -> setPos(added_text -> pos().x() + diff_x, added_text -> pos().y() + diff_y); } } // chargement de tous les Conducteurs du fichier XML QList added_conductors; foreach (QDomElement f, QET::findInDomElement(root, "conductors", "conductor")) { if (!Conductor::valideXml(f)) continue; // verifie que les bornes que le conducteur relie sont connues int id_p1 = f.attribute("terminal1").toInt(); int id_p2 = f.attribute("terminal2").toInt(); if (table_adr_id.contains(id_p1) && table_adr_id.contains(id_p2)) { // pose le conducteur... si c'est possible Terminal *p1 = table_adr_id.value(id_p1); Terminal *p2 = table_adr_id.value(id_p2); if (p1 != p2) { bool can_add_conductor = true; bool cia = ((Element *)p2 -> parentItem()) -> internalConnections(); if (!cia) { foreach(QGraphicsItem *item, p2 -> parentItem() -> children()) { if (item == p1) can_add_conductor = false; } } if (can_add_conductor) { Conductor *c = new Conductor(table_adr_id.value(id_p1), table_adr_id.value(id_p2), 0, this); c -> fromXml(f); added_conductors << c; } } } else qDebug() << "Diagram::fromXml() : Le chargement du conducteur" << id_p1 << id_p2 << "a echoue"; } // remplissage des listes facultatives if (content_ptr) { content_ptr -> elements = added_elements; content_ptr -> conductorsToMove = added_conductors; content_ptr -> textFields = added_texts; } return(true); } /** Enregistre le schema XML dans son document XML interne et emet le signal written(). */ void Diagram::write() { qDebug() << qPrintable(QString("Diagram::write() : saving changes from diagram \"%1\" [%2]").arg(title()).arg(QET::pointerString(this))); write(toXml().documentElement()); undoStack().setClean(); } /** Enregistre un element XML dans son document XML interne et emet le signal written(). @param element xml a enregistrer */ void Diagram::write(const QDomElement &element) { xml_document.clear(); xml_document.appendChild(xml_document.importNode(element, true)); emit(written()); } /** @return true si la fonction write a deja ete appele (pour etre plus exact : si le document XML utilise en interne n'est pas vide), false sinon */ bool Diagram::wasWritten() const { return(!xml_document.isNull()); } /** @return le schema en XML tel qu'il doit etre enregistre dans le fichier projet @param xml_doc document XML a utiliser pour creer l'element */ QDomElement Diagram::writeXml(QDomDocument &xml_doc) const { // si le schema n'a pas ete enregistre explicitement, on n'ecrit rien if (!wasWritten()) return(QDomElement()); QDomElement diagram_elmt = xml_document.documentElement(); QDomNode new_node = xml_doc.importNode(diagram_elmt, true); return(new_node.toElement()); } /** Ajoute un element sur le schema @param element Element a ajouter */ void Diagram::addElement(Element *element) { if (!element || isReadOnly()) return; // ajoute l'element au schema if (element -> scene() != this) { addItem(element); } // surveille les modifications de ses champs de texte foreach(ElementTextItem *eti, element -> texts()) { connect( eti, SIGNAL(diagramTextChanged(DiagramTextItem *, const QString &, const QString &)), this, SLOT(diagramTextChanged(DiagramTextItem *, const QString &, const QString &)) ); } } /** Ajoute un conducteur sur le schema @param conductor Conducteur a ajouter */ void Diagram::addConductor(Conductor *conductor) { if (!conductor || isReadOnly()) return; // ajoute le conducteur au schema if (conductor -> scene() != this) { addItem(conductor); conductor -> terminal1 -> addConductor(conductor); conductor -> terminal2 -> addConductor(conductor); } } /** Aoute un champ de texte independant sur le schema @param dti Champ de texte a ajouter */ void Diagram::addDiagramTextItem(DiagramTextItem *dti) { if (!dti || isReadOnly()) return; // ajoute le champ de texte au schema if (dti -> scene() != this) { addItem(dti); } // surveille les modifications apportees au champ de texte connect( dti, SIGNAL(diagramTextChanged(DiagramTextItem *, const QString &, const QString &)), this, SLOT(diagramTextChanged(DiagramTextItem *, const QString &, const QString &)) ); } /** Enleve un element du schema @param element Element a enlever */ void Diagram::removeElement(Element *element) { if (!element || isReadOnly()) return; // enleve l'element au schema removeItem(element); // arrete la surveillance des modifications de ses champs de texte foreach(ElementTextItem *eti, element -> texts()) { disconnect( eti, SIGNAL(diagramTextChanged(DiagramTextItem *, const QString &, const QString &)), this, SLOT(diagramTextChanged(DiagramTextItem *, const QString &, const QString &)) ); } } /** Enleve un conducteur du schema @param conductor Conducteur a enlever */ void Diagram::removeConductor(Conductor *conductor) { if (!conductor || isReadOnly()) return; // detache le conducteur sans le detruire conductor -> terminal1 -> removeConductor(conductor); conductor -> terminal2 -> removeConductor(conductor); // enleve le conducteur du schema removeItem(conductor); } /** Enleve un champ de texte independant du schema @param dti Champ de texte a enlever */ void Diagram::removeDiagramTextItem(DiagramTextItem *dti) { if (!dti || isReadOnly()) return; // enleve le champ de texte au schema removeItem(dti); // arrete la surveillance des modifications apportees au champ de texte disconnect( dti, SIGNAL(diagramTextChanged(DiagramTextItem *, const QString &, const QString &)), this, SLOT(diagramTextChanged(DiagramTextItem *, const QString &, const QString &)) ); } /** Gere le fait qu'un texte du schema ait ete modifie @param text_item Texte modifie @param old_text Ancien texte @param new_text Nouveau texte */ void Diagram::diagramTextChanged(DiagramTextItem *text_item, const QString &old_text, const QString &new_text) { if (!text_item) return; undo_stack -> push(new ChangeDiagramTextCommand(text_item, old_text, new_text)); } /** Selectionne tous les objets du schema */ void Diagram::selectAll() { if (items().isEmpty()) return; blockSignals(true); foreach(QGraphicsItem *qgi, items()) qgi -> setSelected(true); blockSignals(false); emit(selectionChanged()); } /** Deslectionne tous les objets selectionnes */ void Diagram::deselectAll() { if (items().isEmpty()) return; clearSelection(); } /** Inverse l'etat de selection de tous les objets du schema */ void Diagram::invertSelection() { if (items().isEmpty()) return; blockSignals(true); foreach (QGraphicsItem *item, items()) item -> setSelected(!item -> isSelected()); blockSignals(false); emit(selectionChanged()); } /** @return Le rectangle (coordonnees par rapport a la scene) delimitant le bord du schema */ QRectF Diagram::border() const { return( QRectF( margin, margin, border_and_inset.borderWidth(), border_and_inset.borderHeight() ) ); } /** @return le titre du cartouche */ QString Diagram::title() const { return(border_and_inset.title()); } /** @return la liste des elements de ce schema */ QList Diagram::customElements() const { QList elements_list; foreach(QGraphicsItem *qgi, items()) { if (CustomElement *elmt = qgraphicsitem_cast(qgi)) { elements_list << elmt; } } return(elements_list); } /** Oublie la liste des elements et conducteurs en mouvement */ void Diagram::invalidateMovedElements() { if (!moved_elements_fetched) return; moved_elements_fetched = false; elements_to_move.clear(); conductors_to_move.clear(); conductors_to_update.clear(); texts_to_move.clear(); } /** Reconstruit la liste des elements et conducteurs en mouvement */ void Diagram::fetchMovedElements() { // recupere les elements deplaces foreach (QGraphicsItem *item, selectedItems()) { if (Element *elmt = qgraphicsitem_cast(item)) { elements_to_move << elmt; } else if (DiagramTextItem *t = qgraphicsitem_cast(item)) { if (!t -> parentItem()) texts_to_move << t; } } // pour chaque element deplace, determine les conducteurs qui seront modifies foreach(Element *elmt, elements_to_move) { foreach(Terminal *terminal, elmt -> terminals()) { foreach(Conductor *conductor, terminal -> conductors()) { Terminal *other_terminal; if (conductor -> terminal1 == terminal) { other_terminal = conductor -> terminal2; } else { other_terminal = conductor -> terminal1; } // si les deux elements du conducteur sont deplaces if (elements_to_move.contains(static_cast(other_terminal -> parentItem()))) { conductors_to_move << conductor; } else { conductors_to_update.insert(conductor, terminal); } } } } moved_elements_fetched = true; } /** Deplace les elements, conducteurs et textes selectionnes en gerant au mieux les conducteurs (seuls les conducteurs dont un seul des elements est deplace sont recalcules, les autres sont deplaces). @param diff Translation a effectuer @param dontmove QGraphicsItem (optionnel) a ne pas deplacer ; note : ce parametre ne concerne que les elements et les champs de texte. */ void Diagram::moveElements(const QPointF &diff, QGraphicsItem *dontmove) { // inutile de deplacer les autres elements s'il n'y a pas eu de mouvement concret if (diff.isNull()) return; current_movement += diff; // deplace les elements selectionnes foreach(Element *element, elementsToMove()) { if (dontmove && element == dontmove) continue; element -> setPos(element -> pos() + diff); } // deplace certains conducteurs foreach(Conductor *conductor, conductorsToMove()) { conductor -> setPos(conductor -> pos() + diff); } // recalcule les autres conducteurs const QHash &conductors_modify = conductorsToUpdate(); foreach(Conductor *conductor, conductors_modify.keys()) { conductor -> updateWithNewPos(QRectF(), conductors_modify[conductor], conductors_modify[conductor] -> amarrageConductor()); } // deplace les champs de texte foreach(DiagramTextItem *dti, textsToMove()) { if (dontmove && dti == dontmove) continue; dti -> setPos(dti -> pos() + diff); } } /** Permet de savoir si un element est utilise sur un schema @param location Emplacement d'un element @return true si l'element location est utilise sur ce schema, false sinon */ bool Diagram::usesElement(const ElementsLocation &location) { foreach(CustomElement *element, customElements()) { if (element -> location() == location) { return(true); } } return(false); } /** Cette methode permet d'appliquer de nouvelles options de rendu tout en accedant aux proprietes de rendu en cours. @param new_properties Nouvelles options de rendu a appliquer @return les options de rendu avant l'application de new_properties */ ExportProperties Diagram::applyProperties(const ExportProperties &new_properties) { // exporte les options de rendu en cours ExportProperties old_properties; old_properties.draw_grid = displayGrid(); old_properties.draw_border = border_and_inset.borderIsDisplayed(); old_properties.draw_inset = border_and_inset.insetIsDisplayed(); old_properties.draw_terminals = drawTerminals(); old_properties.draw_colored_conductors = drawColoredConductors(); old_properties.exported_area = useBorder() ? QET::BorderArea : QET::ElementsArea; // applique les nouvelles options de rendu setUseBorder (new_properties.exported_area == QET::BorderArea); setDrawTerminals (new_properties.draw_terminals); setDrawColoredConductors (new_properties.draw_colored_conductors); setDisplayGrid (new_properties.draw_grid); border_and_inset.displayBorder(new_properties.draw_border); border_and_inset.displayInset (new_properties.draw_inset); // retourne les anciennes options de rendu return(old_properties); } /** @param pos Position cartesienne (ex : 10.3, 45.2) a transformer en position dans la grille (ex : B2) @return la position dans la grille correspondant a pos */ DiagramPosition Diagram::convertPosition(const QPointF &pos) { // decale la position pour prendre en compte les marges en haut a gauche du schema QPointF final_pos = pos - QPointF(margin, margin); // delegue le calcul au BorderInset DiagramPosition diagram_position = border_and_inset.convertPosition(final_pos); // embarque la position cartesienne diagram_position.setPosition(pos); return(diagram_position); } /** Definit s'il faut afficher ou non les bornes @param dt true pour afficher les bornes, false sinon */ void Diagram::setDrawTerminals(bool dt) { foreach(QGraphicsItem *qgi, items()) { if (Terminal *t = qgraphicsitem_cast(qgi)) { t -> setVisible(dt); } } } /** Definit s'il faut respecter ou non les couleurs des conducteurs. Si non, les conducteurs sont tous dessines en noir. @param dcc true pour respecter les couleurs, false sinon */ void Diagram::setDrawColoredConductors(bool dcc) { draw_colored_conductors_ = dcc; } /** @return la liste des conducteurs selectionnes sur le schema */ QSet Diagram::selectedConductors() const { QSet conductors_set; foreach(QGraphicsItem *qgi, selectedItems()) { if (Conductor *c = qgraphicsitem_cast(qgi)) { conductors_set << c; } } return(conductors_set); } /// @return true si le presse-papier semble contenir un schema bool Diagram::clipboardMayContainDiagram() { QString clipboard_text = QApplication::clipboard() -> text().trimmed(); bool may_be_diagram = clipboard_text.startsWith(""); return(may_be_diagram); } /** @return le projet auquel ce schema appartient ou 0 s'il s'agit d'un schema independant. */ QETProject *Diagram::project() const { return(project_); } /** @param project le nouveau projet auquel ce schema appartient ou 0 s'il s'agit d'un schema independant. Indiquer 0 pour rendre ce schema independant. */ void Diagram::setProject(QETProject *project) { project_ = project; } /** @return true si le schema est en lecture seule */ bool Diagram::isReadOnly() const { return(read_only_); } /** @param read_only true pour passer le schema en lecture seule, false sinon */ void Diagram::setReadOnly(bool read_only) { if (read_only_ != read_only) { read_only_ = read_only; emit(readOnlyChanged(read_only_)); } } /** @return Le contenu du schema. Les conducteurs sont tous places dans conductorsToMove. */ DiagramContent Diagram::content() const { DiagramContent dc; foreach(QGraphicsItem *qgi, items()) { if (Element *e = qgraphicsitem_cast(qgi)) { dc.elements << e; } else if (DiagramTextItem *dti = qgraphicsitem_cast(qgi)) { dc.textFields << dti; } else if (Conductor *c = qgraphicsitem_cast(qgi)) { dc.conductorsToMove << c; } } return(dc); } /** @return le contenu selectionne du schema. */ DiagramContent Diagram::selectedContent() { invalidateMovedElements(); DiagramContent dc; dc.elements = elementsToMove().toList(); dc.textFields = textsToMove().toList(); dc.conductorsToMove = conductorsToMove().toList(); dc.conductorsToUpdate = conductorsToUpdate(); // recupere les conducteurs selectionnes isoles (= non deplacables mais supprimables) foreach(QGraphicsItem *qgi, items()) { if (Conductor *c = qgraphicsitem_cast(qgi)) { if ( c -> isSelected() &&\ !c -> terminal1 -> parentItem() -> isSelected() &&\ !c -> terminal2 -> parentItem() -> isSelected() ) { dc.otherConductors << c; } } } invalidateMovedElements(); return(dc); } /** @return true s'il est possible de tourner les elements selectionnes. Concretement, cette methode retourne true s'il y a des elements selectionnes et qu'au moins l'un d'entre eux peut etre pivote. */ bool Diagram::canRotateSelection() const { foreach(QGraphicsItem * qgi, selectedItems()) { if (Element *e = qgraphicsitem_cast(qgi)) { // l'element est-il pivotable ? if (e -> orientation().current() != e -> orientation().next()) { return(true); } } } return(false); } qelectrotech-0.22+svn897/sources/fileelementscollection.cpp0000644000175000017500000000575211320140732024020 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "fileelementscollection.h" #include "fileelementscategory.h" /** Constructeur @param path Chemin du dossier racine de la collection @param parent QObject parent de la collection */ FileElementsCollection::FileElementsCollection(const QString &path, ElementsCollectionItem *parent) : ElementsCollection(parent), coll_path(path) { protocol_ = "unknown"; project_ = 0; root = 0; reload(); } /** Destructeur */ FileElementsCollection::~FileElementsCollection() { deleteContent(); } /** @return la categorie racine de la collection */ ElementsCategory *FileElementsCollection::rootCategory() { return(root); } /** Recharge l'arborescence des categories et elements. */ void FileElementsCollection::reload() { // oublie l'arborescence precedente deleteContent(); // le dossier doit exister et etre lisible QDir coll_dir(coll_path); if (!coll_dir.exists() || !coll_dir.isReadable()) return; coll_path = coll_dir.canonicalPath(); root = new FileElementsCategory(coll_path, 0, this); } /** @return true si cette collection est representee quelque part sur le systeme de fichiers. */ bool FileElementsCollection::hasFilePath() { return(!coll_path.isEmpty()); } /** @return le chemin du repertoire representant cette collection */ QString FileElementsCollection::filePath() { return(coll_path); } /** @param path Nouveau chemin de la collection Cette methode ne recharge pas la collection */ void FileElementsCollection::setFilePath(const QString &path) { coll_path = path; } /** Supprime le contenu en memoire de cette collection */ void FileElementsCollection::deleteContent() { delete root; root = 0; } /** @return ttrue si la categorie racine de la collection existe */ bool FileElementsCollection::exists() { return(root && root -> exists()); } /** @return true si la collection est accessible en lecture */ bool FileElementsCollection::isReadable() { // une collection est accessible en lecture si sa categorie racine l'est return(root && root -> isReadable()); } /** @return true si la collection est accessible en ecriture */ bool FileElementsCollection::isWritable() { // une collection est accessible en ecriture si sa categorie racine l'est return(root && root -> isWritable()); } /** Ne fait rien @return toujours true */ bool FileElementsCollection::write() { return(true); } qelectrotech-0.22+svn897/sources/elementscollectionitem.h0000644000175000017500000001502011320140732023471 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef ELEMENTS_COLLECTION_ITEM_H #define ELEMENTS_COLLECTION_ITEM_H #include #include "elementslocation.h" class ElementsCollection; class ElementsCategory; class ElementDefinition; class MoveElementsHandler; /** Cette interface est la classe mere pour toutes les classes modelisant une partie d'une collection d'elements. */ class ElementsCollectionItem : public QObject { Q_OBJECT // constructeurs, destructeur public: ElementsCollectionItem(ElementsCollectionItem *parent = 0) : QObject(parent) {}; virtual ~ElementsCollectionItem() {}; private: ElementsCollectionItem(const ElementsCollectionItem &); // methodes public: /// @return true si l'item est une collection d'elements virtual bool isCollection() const = 0; /// @return true si l'item est une categorie d'elements virtual bool isCategory() const = 0; /// @return true si l'item est la categorie racine de sa collection virtual bool isRootCategory() const = 0; /// @return true si l'item est un element virtual bool isElement() const = 0; /** @return un pointeur sur cet item en tant que collection, ou 0 si cet item n'est pas une collection */ virtual ElementsCollection *toCollection() = 0; /** @return un pointeur sur cet item en tant que categorie. Si cet objet est une collection, un pointeur valide vers sa categorie racine sera renvoye. Si cet objet est une categorie, un pointeur valide sera renvoye. Si cet objet est un element, un pointeur valide vers sa categorie parente sera renvoye. */ virtual ElementsCategory *toCategory() = 0; /** @return un pointeur sur cet item en tant que categorie si et seulement si cet objet est une categorie non racine. Si cet objet est une collection, 0 sera retourne Si cet objet est une categorie, un pointeur valide sera renvoye. Si cet objet est un element, 0 sera retourne. */ virtual ElementsCategory *toPureCategory() = 0; /** @return un pointeur sur cet item en tant qu'element */ virtual ElementDefinition *toElement() = 0; /** Copie l'item vers la destination indiquee en parametre ; le booleen doit etre a true pour une copie recursive, a false sinon. */ virtual ElementsCollectionItem *copy(ElementsCategory *, MoveElementsHandler *, bool = true) = 0; /** Deplace l'item vers la destination indiquee en parametre. */ virtual ElementsCollectionItem *move(ElementsCategory *, MoveElementsHandler *) = 0; /// Recharge l'item virtual void reload() = 0; /// @return true si l'item existe virtual bool exists() = 0; /// @return true si l'item est lisible virtual bool isReadable() = 0; /// @return true si l'item est accessible en ecriture virtual bool isWritable() = 0; /** supprime le contenu de l'item (categories et elements) sans supprimer l'item lui-meme @return true si l'operation a reussi, false sinon */ virtual bool removeContent() = 0; /** supprime le contenu de l'item (categories et elements) puis l'item lui-meme @return true si l'operation a reussi, false sinon */ virtual bool remove() = 0; /** Enregistre l'item @return true si l'operation a reussi, false sinon */ virtual bool write() = 0; /** @return le projet auquel appartient cet item */ virtual QETProject *project() = 0; /** Definit le projet auquel appartient cet item */ virtual void setProject(QETProject *) = 0; /** @return le protocole utilise pour acceder a la collection de cet item */ virtual QString protocol() = 0; /** Definit le protocole a utiliser pour acceder a la collection de cet item */ virtual void setProtocol(const QString &) = 0; /** @return la categorie parente de cet item, ou 0 si celui-ci n'en possede pas */ virtual ElementsCategory *parentCategory() = 0; /** @return la liste des categories parentes de cet item */ virtual QList parentCategories() = 0; /** @return true si cet item possede une categorie parente, false sinon */ virtual bool hasParentCategory() = 0; /** @return la collection parente de cet item, ou 0 si celui-ci n'en possede pas */ virtual ElementsCollection *parentCollection() = 0; /** @return true si cet item possede une collection parente, false sinon */ virtual bool hasParentCollection() = 0; /** @param other_item Autre item @return true si other_item est parent (direct ou indirect) de other_item, false sinon */ virtual bool isChildOf(ElementsCollectionItem *other_item) = 0; /** @return le nom de cet item dans l'arborescence */ virtual QString pathName() const = 0; /** @return le chemin virtuel vers cet item dans l'arborescence, sans le protocole */ virtual QString virtualPath() = 0; /** @return le chemin virtuel vers cet item dans l'arborescence, avec le protocole */ virtual QString fullVirtualPath() = 0; /** @return l'emplacement de cet item */ virtual ElementsLocation location() = 0; /** @return true si cet item est represente quelque part sur le systeme de fichiers */ virtual bool hasFilePath() = 0; /** @return le chemin de cet item sur le systeme de fichiers */ virtual QString filePath() = 0; /** Definit le chemin de cet item sur le systeme de fichiers */ virtual void setFilePath(const QString &) = 0; /** @return la liste des categories d'elements contenues dans cet item */ virtual QList categories() = 0; /** @return une categorie a partir de son chemin virtuel */ virtual ElementsCategory *category(const QString &) = 0; /** @return une nouvelle categorie creee a partir d'un chemin virtuel */ virtual ElementsCategory *createCategory(const QString &) = 0; /** @return la liste des elements contenus dans cet item */ virtual QList elements() = 0; /** @return un element a partir de son chemin virtuel */ virtual ElementDefinition *element(const QString &) = 0; /** @return un nouvel element cree a partir d'un chemin virtuel */ virtual ElementDefinition *createElement(const QString &) = 0; }; #endif qelectrotech-0.22+svn897/sources/diagramprintdialog.h0000644000175000017500000000502011320140732022562 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #ifndef DIAGRAM_PRINT_DIALOG_H #define DIAGRAM_PRINT_DIALOG_H #include #include "qetproject.h" #include "diagram.h" #include "exportproperties.h" /** Cette classe represente le dialogue de configuration de l'impression d'un schema electrique. Elle se charge egalement de l'impression elle-meme */ class DiagramPrintDialog : public QWidget { Q_OBJECT // Constructeurs, destructeur public: DiagramPrintDialog(QETProject *, QWidget * = 0); virtual ~DiagramPrintDialog(); private: DiagramPrintDialog(const DiagramPrintDialog &); // methodes public: void setFileName(const QString &); QString fileName() const; void setDocName(const QString &); QString docName() const; QRect diagramRect(Diagram *) const; int pagesCount(Diagram *, bool = false) const; int horizontalPagesCount(Diagram *, bool = false) const; int verticalPagesCount(Diagram *, bool = false) const; void exec(); private: void buildPrintTypeDialog(); void buildDialog(); void saveReloadDiagramParameters(Diagram *, const ExportProperties, bool); private slots: void print(const QList &, bool, const ExportProperties); void printDiagram(Diagram *, bool, const ExportProperties, QPainter *, QPrinter * = 0); void updatePrintTypeDialog(); void acceptPrintTypeDialog(); void browseFilePrintTypeDialog(); // attributs private: QETProject *project_; QPrinter *printer_; QString doc_name_; QString file_name_; /// Attributs relatifs au 1er dialogue QDialog *dialog_; QLabel *printtype_label_; QGridLayout *glayout0_; QVBoxLayout *vlayout0_; QHBoxLayout *hlayout0_; QLabel *printer_icon_; QLabel *pdf_icon_; QLabel *ps_icon_; QButtonGroup *printtype_choice_; QRadioButton *printer_choice_; QRadioButton *pdf_choice_; QRadioButton *ps_choice_; QLineEdit *filepath_field_; QPushButton *browse_button_; QDialogButtonBox *buttons_; }; #endif qelectrotech-0.22+svn897/sources/projectview.cpp0000644000175000017500000006273711342325666021656 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "projectview.h" #include "qetproject.h" #include "diagramview.h" #include "diagram.h" #include "diagramprintdialog.h" #include "exportdialog.h" #include "qetapp.h" #include "qettabwidget.h" #include "qetelementeditor.h" #include "interactivemoveelementshandler.h" #include "borderpropertieswidget.h" #include "insetpropertieswidget.h" #include "conductorpropertieswidget.h" #include "qeticons.h" #include "qetmessagebox.h" #include "qettabbar.h" /** Constructeur @param project projet a visualiser @param parent Widget parent */ ProjectView::ProjectView(QETProject *project, QWidget *parent) : QWidget(parent), project_(0) { setObjectName("ProjectView"); setWindowIcon(QET::Icons::Project); // construit le widget "fallback" fallback_widget_ = new QWidget(); QVBoxLayout *fallback_widget_layout_ = new QVBoxLayout(fallback_widget_); QLabel *label_widget = new QLabel(tr("Ce projet ne contient aucun sch\351ma")); label_widget -> setAlignment(Qt::AlignVCenter | Qt::AlignHCenter); fallback_widget_layout_ -> addWidget(label_widget); tabs_ = new QETTabWidget(); tabs_ -> setMovable(true); connect(tabs_, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int))); connect(tabs_, SIGNAL(tabDoubleClicked(int)), this, SLOT(tabDoubleClicked(int))); connect(tabs_, SIGNAL(firstTabInserted()), this, SLOT(firstTabInserted())); connect(tabs_, SIGNAL(lastTabRemoved()), this, SLOT(lastTabRemoved())); connect(tabs_, SIGNAL(tabMoved(int, int)), this, SLOT(tabMoved(int, int))); layout_ = new QVBoxLayout(this); #ifdef Q_WS_MAC layout_ -> setContentsMargins(0, 8, 0, 0); #else layout_ -> setContentsMargins(0, 0, 0, 0); #endif layout_ -> setSpacing(0); layout_ -> addWidget(fallback_widget_); layout_ -> addWidget(tabs_); fallback_widget_ -> setVisible(false); tabs_ -> setVisible(false); setProject(project); } /** Destructeur Supprime les DiagramView embarquees */ ProjectView::~ProjectView() { // qDebug() << "Suppression du ProjectView" << ((void *)this); foreach(int id, diagram_ids_.keys()) { DiagramView *diagram_view = diagram_ids_.take(id); delete diagram_view; } } /** @return le projet actuellement visualise par le ProjectView */ QETProject *ProjectView::project() { return(project_); } /** Definit le projet visualise par le ProjectView. Ne fait rien si le projet a deja ete defini. @param project projet a visualiser */ void ProjectView::setProject(QETProject *project) { if (!project_) { project_ = project; connect(project_, SIGNAL(projectTitleChanged(QETProject *, const QString &)), this, SLOT(updateWindowTitle())); connect(project_, SIGNAL(readOnlyChanged (QETProject *, bool)), this, SLOT(adjustReadOnlyState())); adjustReadOnlyState(); loadDiagrams(); } } /** @return la liste des schemas ouverts dans le projet */ QList ProjectView::diagrams() const { return(diagrams_); } /** @return le schema actuellement active */ DiagramView *ProjectView::currentDiagram() const { int current_tab_index = tabs_ -> currentIndex(); return(diagram_ids_[current_tab_index]); } /** Gere la fermeture du schema. @param qce Le QCloseEvent decrivant l'evenement */ void ProjectView::closeEvent(QCloseEvent *qce) { // si la vue n'est pas liee a un projet, on ferme directement if (!project_) { qce -> accept(); emit(projectClosed(this)); return; } // si le projet est comme neuf et n'est pas enregistre, on ferme directement if (!project_ -> projectWasModified() && project_ -> filePath().isEmpty()) { qce -> accept(); emit(projectClosed(this)); return; } bool can_close_project = true; if (!tryClosing()) { // l'utilisateur a refuse la fermeture du projet - on arrete la can_close_project = false; } else { // a ce stade, l'utilisateur a accepte la fermeture de tout le contenu du projet if (!project_ -> filePath().isEmpty()) { // si le projet a un chemin specifie, on l'enregistre et on le ferme can_close_project = project_ -> write(); } else { // l'utilisateur n'enregistre pas son projet can_close_project = true; } } if (can_close_project) { qce -> accept(); emit(projectClosed(this)); } else { qce -> ignore(); } } /** Cette methode essaye de fermer successivement les editeurs d'element puis les schemas du projet. L'utilisateur peut refuser de fermer un schema ou un editeur. @return true si tout a pu etre ferme, false sinon @see tryClosingElementEditors() @see tryClosingDiagrams() */ bool ProjectView::tryClosing() { if (!tryClosingElementEditors()) { return(false); } if (!tryClosingDiagrams()) { return(false); } // a ce stade, l'utilisateur a accepte de fermer tous les editeurs // d'elements et tous les schemas // on regarde s'il reste du contenu dans le projet if (project_ -> projectWasModified() && project_ -> filePath().isEmpty()) { // si oui, on propose a l'utilisateur d'enregistrer le projet QMessageBox::StandardButton answer = QET::MessageBox::question( this, tr("Enregistrer le projet en cours ?", "message box title"), QString(tr("Voulez-vous enregistrer le projet ?", "message box content")), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::Cancel ); if (answer == QMessageBox::Cancel) { return(false); } else if (answer == QMessageBox::Yes) { return(save()); } } return(true); } /** Un projet comporte des elements integres. Cette methode ferme les editeurs d'elements associes a ce projet. L'utilisateur peut refuser la fermeture d'un editeur d'element. @return true si tous les editeurs d'element ont pu etre fermes, false sinon */ bool ProjectView::tryClosingElementEditors() { if (!project_) return(true); /* La QETApp permet d'acceder rapidement aux editeurs d'element editant un element du projet. */ QList editors = QETApp::elementEditors(project_); foreach(QETElementEditor *editor, editors) { if (!editor -> close()) return(false); } return(true); } /** Un projet comporte 0 a n schemas. Cette methode parcourt les schemas et demande a l'utilisateur s'il veut enregistrer les schemas modifies afin de les fermer. L'utilisateur peut refuser la fermeture d'un schema. Si un schema a ete ajoute sans jamais etre modifie, cette methode demande a l'utilisateur s'il souhaite l'enlever. @return true si tous les schemas peuvent etre fermes, false sinon */ bool ProjectView::tryClosingDiagrams() { if (!project_) return(true); foreach(DiagramView *diagram_view, diagrams()) { if (!diagram_view -> diagram() -> undoStack().isClean()) { // ce schema a ete modifie - on demande a l'utilisateur s'il veut l'enregistrer showDiagram(diagram_view -> diagram()); QMessageBox::StandardButton answer = QET::MessageBox::question( this, tr("Enregistrer le sch\351ma en cours ?", "message box title"), QString(tr("Voulez-vous enregistrer le sch\351ma %1 ?", "message box content - %1 is a diagram title")).arg(diagram_view -> windowTitle()), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::Cancel ); if (answer == QMessageBox::Cancel) { return(false); } else if (answer == QMessageBox::Yes) { if (!save()) { return(false); } } } else if (!diagram_view -> diagram() -> wasWritten()) { // ce schema a ete ajoute mais pas modifie - on demande a l'utilisateur s'il veut le conserver showDiagram(diagram_view -> diagram()); QMessageBox::StandardButton answer = QET::MessageBox::question( this, tr("Enregistrer le nouveau sch\351ma ?", "message box title"), tr("Ce sch\351ma a \351t\351 ajout\351 mais n'a \351t\351 ni modifi\351 ni enregistr\351. Voulez-vous le conserver ?", "message box content"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::Cancel ); if (answer == QMessageBox::Cancel) { return(false); } else if (answer == QMessageBox::Yes) { if (!save()) { return(false); } } else if (answer == QMessageBox::No) { removeDiagram(diagram_view); } } } return(true); } /** Ajoute un nouveau schema au ProjectView */ void ProjectView::addNewDiagram() { if (project_ -> isReadOnly()) return; Diagram *new_diagram = project_ -> addNewDiagram(); DiagramView *new_diagram_view = new DiagramView(new_diagram); addDiagram(new_diagram_view); showDiagram(new_diagram_view); } /** Ajoute un schema au ProjectView @param diagram Schema a ajouter */ void ProjectView::addDiagram(DiagramView *diagram) { if (!diagram) return; // verifie que le schema n'est pas deja present dans le projet if (diagram_ids_.values().contains(diagram)) return; // ajoute un nouvel onglet pour le nouveau schema tabs_ -> addTab(diagram, QET::Icons::Diagram, diagram -> title()); diagrams_ << diagram; rebuildDiagramsMap(); connect(diagram, SIGNAL(titleChanged(DiagramView *, const QString &)), this, SLOT(updateTabTitle(DiagramView *, const QString &))); connect(diagram, SIGNAL(findElementRequired(const ElementsLocation &)), this, SIGNAL(findElementRequired(const ElementsLocation &))); connect(diagram, SIGNAL(editElementRequired(const ElementsLocation &)), this, SIGNAL(editElementRequired(const ElementsLocation &))); // signale l'ajout du schema emit(diagramAdded(diagram)); } /** Enleve un schema du ProjectView @param diagram_view Schema a enlever */ void ProjectView::removeDiagram(DiagramView *diagram_view) { if (!diagram_view) return; if (project_ -> isReadOnly()) return; // verifie que le schema est bien present dans le projet if (!diagram_ids_.values().contains(diagram_view)) return; // demande confirmation a l'utilisateur if ( diagram_view -> diagram() -> wasWritten() ||\ !diagram_view -> diagram() -> undoStack().isClean() ) { int answer = QET::MessageBox::question( this, tr("Supprimer le sch\351ma ?", "message box title"), tr("\312tes-vous s\373r de vouloir supprimer ce sch\351ma du projet ? Ce changement est irr\351versible.", "message box content"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::No ); if (answer != QMessageBox::Yes) { return; } } // notifie le reste du monde que le DiagramView va disparaitre emit(diagramAboutToBeRemoved(diagram_view)); // enleve le DiagramView des onglets int diagram_tab_id = diagram_ids_.key(diagram_view); tabs_ -> removeTab(diagram_tab_id); diagrams_.removeAll(diagram_view); rebuildDiagramsMap(); // supprime le DiagramView, puis le Diagram project_ -> removeDiagram(diagram_view -> diagram()); delete diagram_view; // signale le retrait du schema emit(diagramRemoved(diagram_view)); // rend definitif le retrait du schema project_ -> write(); } /** Enleve un schema du ProjectView @param diagram Schema a enlever */ void ProjectView::removeDiagram(Diagram *diagram) { if (!diagram) return; if (DiagramView *diagram_view = findDiagram(diagram)) { removeDiagram(diagram_view); } } /** Active l'onglet adequat pour afficher le schema passe en parametre @param diagram Schema a afficher */ void ProjectView::showDiagram(DiagramView *diagram) { if (!diagram) return; tabs_ -> setCurrentWidget(diagram); } /** Active l'onglet adequat pour afficher le schema passe en parametre @param diagram Schema a afficher */ void ProjectView::showDiagram(Diagram *diagram) { if (!diagram) return; if (DiagramView *diagram_view = findDiagram(diagram)) { tabs_ -> setCurrentWidget(diagram_view); } } /** Affiche un dialogue permettant a l'utilisateur d'editer les proprietes du projet. */ void ProjectView::editProjectProperties() { if (!project_) return; bool project_is_read_only = project_ -> isReadOnly(); // dialogue d'edition des proprietes du projet QDialog properties_dialog(parentWidget()); #ifdef Q_WS_MAC properties_dialog.setWindowFlags(Qt::Sheet); #endif properties_dialog.setMinimumWidth(786); properties_dialog.setMinimumHeight(585); properties_dialog.setWindowTitle(tr("Propri\351t\351s du projet", "window title")); // titre du projet QLabel *title_label = new QLabel(tr("Titre du projet :")); QLineEdit *title_field = new QLineEdit(project_ -> title()); title_field -> setReadOnly(project_is_read_only); // proprietes des nouveaux schemas QLabel *new_diagrams_prop = new QLabel(tr("Propri\351t\351s \340 utiliser lors de l'ajout d'un nouveau sch\351ma au projet :")); // dimensions par defaut d'un schema BorderPropertiesWidget *bpw = new BorderPropertiesWidget(project_ -> defaultBorderProperties()); bpw -> setReadOnly(project_is_read_only); // proprietes par defaut d'un cartouche InsetPropertiesWidget *ipw = new InsetPropertiesWidget(project_ -> defaultInsetProperties(), true); ipw -> setReadOnly(project_is_read_only); // proprietes par defaut des conducteurs ConductorPropertiesWidget *cpw = new ConductorPropertiesWidget(project_ -> defaultConductorProperties()); cpw -> setContentsMargins(0, 0, 0, 0); cpw -> setReadOnly(project_is_read_only); // boutons pour valider le dialogue QDialogButtonBox *buttons = new QDialogButtonBox(project_is_read_only ? QDialogButtonBox::Ok : QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttons, SIGNAL(accepted()), &properties_dialog, SLOT(accept())); connect(buttons, SIGNAL(rejected()), &properties_dialog, SLOT(reject())); // agencement avec deux layouts : un vertical, un horizontal QHBoxLayout *horiz_layout = new QHBoxLayout(); horiz_layout -> addWidget(title_label); horiz_layout -> addWidget(title_field); QVBoxLayout *vlayout1 = new QVBoxLayout(); vlayout1 -> addWidget(new_diagrams_prop); QHBoxLayout *hlayout1 = new QHBoxLayout(); QVBoxLayout *vlayout2 = new QVBoxLayout(); vlayout2 -> addWidget(bpw); vlayout2 -> addWidget(ipw); vlayout2 -> setSpacing(5); hlayout1 -> addLayout(vlayout2); hlayout1 -> addWidget(cpw); vlayout1 -> addLayout(hlayout1); vlayout1 -> addStretch(1); hlayout1 -> setAlignment(cpw, Qt::AlignTop); QVBoxLayout *vert_layout = new QVBoxLayout(&properties_dialog); vert_layout -> addLayout(horiz_layout); vert_layout -> addLayout(vlayout1); vert_layout -> addStretch(); vert_layout -> addWidget(buttons); // si le dialogue est accepte if (properties_dialog.exec() == QDialog::Accepted && !project_is_read_only) { project_ -> setTitle(title_field -> text()); project_ -> setDefaultBorderProperties(bpw -> borderProperties()); project_ -> setDefaultInsetProperties(ipw -> insetProperties()); project_ -> setDefaultConductorProperties(cpw -> conductorProperties()); } } /** Edite les proprietes du schema courant */ void ProjectView::editCurrentDiagramProperties() { editDiagramProperties(currentDiagram()); } /** Edite les proprietes du schema diagram_view */ void ProjectView::editDiagramProperties(DiagramView *diagram_view) { if (!diagram_view) return; showDiagram(diagram_view); diagram_view -> editDiagramProperties(); } /** Edite les proprietes du schema diagram */ void ProjectView::editDiagramProperties(Diagram *diagram) { editDiagramProperties(findDiagram(diagram)); } /** Deplace le schema diagram_view vers le haut / la gauche */ void ProjectView::moveDiagramUp(DiagramView *diagram_view) { if (!diagram_view) return; int diagram_view_position = diagram_ids_.key(diagram_view); if (!diagram_view_position) { // le schema est le premier du projet return; } tabs_ -> tabBar() -> moveTab(diagram_view_position, diagram_view_position - 1); } /** Deplace le schema diagram vers le haut / la gauche */ void ProjectView::moveDiagramUp(Diagram *diagram) { moveDiagramUp(findDiagram(diagram)); } /** Deplace le schema diagram_view vers le bas / la droite */ void ProjectView::moveDiagramDown(DiagramView *diagram_view) { if (!diagram_view) return; int diagram_view_position = diagram_ids_.key(diagram_view); if (diagram_view_position + 1 == diagram_ids_.count()) { // le schema est le dernier du projet return; } tabs_ -> tabBar() -> moveTab(diagram_view_position, diagram_view_position + 1); } /** Deplace le schema diagram vers le bas / la droite */ void ProjectView::moveDiagramDown(Diagram *diagram) { moveDiagramDown(findDiagram(diagram)); } /** Ce slot demarre un dialogue permettant a l'utilisateur de parametrer et de lancer l'impression de toute ou partie du projet. */ void ProjectView::printProject() { if (!project_) return; // transforme le titre du projet en nom utilisable pour le document QString doc_name; if (!(project_ -> title().isEmpty())) { doc_name = project_ -> title(); } else if (!project_ -> filePath().isEmpty()) { doc_name = QFileInfo(project_ -> filePath()).baseName(); } doc_name = QET::stringToFileName(doc_name); if (doc_name.isEmpty()) { doc_name = tr("projet", "string used to generate a filename"); } // recupere le dossier contenant le fichier courant QString dir_path = project_ -> currentDir(); // determine un chemin pour le pdf / ps QString file_name = QDir::toNativeSeparators(QDir::cleanPath(dir_path + "/" + doc_name)); DiagramPrintDialog print_dialog(project_, this); print_dialog.setDocName(doc_name); print_dialog.setFileName(file_name); print_dialog.exec(); } /** Exporte le schema. */ void ProjectView::exportProject() { if (!project_) return; ExportDialog ed(project_, parentWidget()); #ifdef Q_WS_MAC ed.setWindowFlags(Qt::Sheet); #endif ed.exec(); } /** Enregistre le projet dans un fichier. @see filePath() @see setFilePath() @return true si l'enregistrement a reussi, false sinon */ bool ProjectView::save() { if (project_) { if (project_ -> filePath().isEmpty()) { // le projet n'est pas encore enregistre dans un fichier // save() equivaut alors a saveAs() return(saveAs()); } // on enregistre le schema en cours if (DiagramView *current_view = currentDiagram()) { if (Diagram *diagram = current_view -> diagram()) { diagram -> write(); updateWindowTitle(); return(true); } } else { // s'il n'y a pas de schema, on appelle directement la methode write() project_ -> write(); } return(true); } return(false); } /** Enregistre tous les schemas du projet. @see filePath() @see setFilePath() @return true si l'enregistrement a reussi, false sinon */ bool ProjectView::saveAll() { if (project_) { // on fait deja un appel a save if (!save()) { return(false); } else { // a ce stade, on suppose que l'on a un fichier, et que l'ecriture du schema en cours a reussi // on enregistre les schemas foreach(Diagram *diagram, project_ -> diagrams()) { diagram -> write(); } updateWindowTitle(); return(true); } } return(false); } /** Propose a l'utilisateur de nettoyer le projet ; cela inclut la possibilite : * de supprimer les elements inutilises dans le projet * de supprimer les categories vides @return le nombre de traitements effectues (0 si rien n'a ete fait, 1 ou 2 sinon) */ int ProjectView::cleanProject() { if (!project_) return(0); // s'assure que le schema n'est pas en lecture seule if (project_ -> isReadOnly()) { QET::MessageBox::critical( this, tr("Projet en lecture seule", "message box title"), tr("Ce projet est en lecture seule. Il n'est donc pas possible de le nettoyer.", "message box content") ); return(0); } // construit un petit dialogue pour parametrer le nettoyage QCheckBox *clean_elements = new QCheckBox(tr("Supprimer les \351l\351ments inutilis\351s dans le projet")); QCheckBox *clean_categories = new QCheckBox(tr("Supprimer les cat\351gories vides")); QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); clean_elements -> setChecked(true); clean_categories -> setChecked(true); QDialog clean_dialog(parentWidget()); #ifdef Q_WS_MAC clean_dialog.setWindowFlags(Qt::Sheet); #endif clean_dialog.setWindowTitle(tr("Nettoyer le projet", "window title")); QVBoxLayout *clean_dialog_layout = new QVBoxLayout(); clean_dialog_layout -> addWidget(clean_elements); clean_dialog_layout -> addWidget(clean_categories); clean_dialog_layout -> addWidget(buttons); clean_dialog.setLayout(clean_dialog_layout); connect(buttons, SIGNAL(accepted()), &clean_dialog, SLOT(accept())); connect(buttons, SIGNAL(rejected()), &clean_dialog, SLOT(reject())); int clean_count = 0; if (clean_dialog.exec() == QDialog::Accepted) { if (clean_elements -> isChecked()) { InteractiveMoveElementsHandler *handler = new InteractiveMoveElementsHandler(this); project_ -> cleanUnusedElements(handler); delete handler; ++ clean_count; } if (clean_categories -> isChecked()) { InteractiveMoveElementsHandler *handler = new InteractiveMoveElementsHandler(this); project_ -> cleanEmptyCategories(handler); delete handler; ++ clean_count; } } return(clean_count); } /** Demande un nom de fichier a l'utilisateur pour enregistrer le projet Si aucun nom n'est entre, elle renvoie faux. Si le nom ne se termine pas par l'extension .qet, celle-ci est ajoutee. Si l'enregistrement reussit, le nom du fichier est conserve et la fonction renvoie true. Sinon, faux est renvoye. @return true si l'enregistrement a reussi, false sinon */ bool ProjectView::saveAs() { // demande un nom de fichier a l'utilisateur pour enregistrer le projet QString filepath = QFileDialog::getSaveFileName( this, tr("Enregistrer sous", "dialog title"), project_ -> currentDir(), tr("Sch\351ma QElectroTech (*.qet)", "filetypes allowed when saving a diagram file") ); // si aucun nom n'est entre, renvoie faux. if (filepath.isEmpty()) return(false); // si le nom ne se termine pas par l'extension .qet, celle-ci est ajoutee if (!filepath.endsWith(".qet", Qt::CaseInsensitive)) filepath += ".qet"; // le fichier est assigne au projet project_ -> setFilePath(filepath); return(save()); } /** Charge les schemas du projet */ void ProjectView::loadDiagrams() { if (!project_) return; setDisplayFallbackWidget(project_ -> diagrams().isEmpty()); foreach(Diagram *diagram, project_ -> diagrams()) { DiagramView *sv = new DiagramView(diagram); addDiagram(sv); } } /** Met a jour le titre du ProjectView */ void ProjectView::updateWindowTitle() { QString title; if (project_) { title = project_ -> pathNameTitle(); } else { title = tr("Projet", "window title for a project-less ProjectView"); } setWindowTitle(title); } /** Effectue les actions necessaires lorsque le projet visualise entre ou sort du mode lecture seule. */ void ProjectView::adjustReadOnlyState() { // on empeche l'utilisateur de deplacer les onglets tabs_ -> setMovable(!(project_ -> isReadOnly())); // on met a jour le titre du widget, qui reflete l'etat de lecture seule updateWindowTitle(); } /** Met a jour le titre d'un onglet @param diagram Schema @param diagram_title Titre du schema */ void ProjectView::updateTabTitle(DiagramView *diagram, const QString &diagram_title) { int diagram_tab_id = diagram_ids_.key(diagram, -1); if (diagram_tab_id != -1) { tabs_ -> setTabText(diagram_tab_id, diagram_title); } } /** @param from Index de l'onglet avant le deplacement @param to Index de l'onglet apres le deplacement */ void ProjectView::tabMoved(int from, int to) { if (!project_) return; // signale au QETProject le changement d'ordre des schemas project_ -> diagramOrderChanged(from, to); // reconstruit la liste associant les index des onglets aux schemas rebuildDiagramsMap(); // emet un signal pour informer le reste du monde que l'ordre des schemas a change emit(diagramOrderChanged(this, from, to)); } /** @param diagram Schema a trouver @return le DiagramView correspondant au schema passe en parametre, ou 0 si le schema n'est pas trouve */ DiagramView *ProjectView::findDiagram(Diagram *diagram) { foreach(DiagramView *diagram_view, diagrams()) { if (diagram_view -> diagram() == diagram) { return(diagram_view); } } return(0); } /** Reconstruit la map associant les index des onglets avec les DiagramView */ void ProjectView::rebuildDiagramsMap() { // vide la map diagram_ids_.clear(); foreach(DiagramView *diagram_view, diagrams_) { int dv_idx = tabs_ -> indexOf(diagram_view); if (dv_idx == -1) continue; diagram_ids_.insert(dv_idx, diagram_view); } } /** Gere les changements d'onglets @param tab_id Index de l'onglet actif */ void ProjectView::tabChanged(int tab_id) { emit(diagramActivated(diagram_ids_[tab_id])); } /** Gere le double-clic sur un onglet : edite les proprietes du schema @param tab_id Index de l'onglet concerne */ void ProjectView::tabDoubleClicked(int tab_id) { // repere le schema concerne DiagramView *diagram_view = diagram_ids_[tab_id]; if (!diagram_view) return; diagram_view -> editDiagramProperties(); } /** Gere le fait que le premier schema d'un projet soit insere */ void ProjectView::firstTabInserted() { setDisplayFallbackWidget(false); } /** Gere le fait que le dernier schema d'un projet soit enleve */ void ProjectView::lastTabRemoved() { setDisplayFallbackWidget(true); } /** @param fallback true pour afficher le widget de fallback, false pour afficher les onglets. Le widget de Fallback est le widget affiche lorsque le projet ne comporte aucun schema. */ void ProjectView::setDisplayFallbackWidget(bool fallback) { fallback_widget_ -> setVisible(fallback); tabs_ -> setVisible(!fallback); } qelectrotech-0.22+svn897/sources/conductorprofile.cpp0000644000175000017500000001067311320140732022647 0ustar laurentlaurent/* Copyright 2006-2010 Xavier Guerrin This file is part of QElectroTech. QElectroTech 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 of the License, or (at your option) any later version. QElectroTech 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 QElectroTech. If not, see . */ #include "conductorprofile.h" #include "conductor.h" #include "conductorsegmentprofile.h" /// Constructeur ConductorProfile::ConductorProfile() { } /** Constructeur @param conductor conducteur dont il faut extraire le profil */ ConductorProfile::ConductorProfile(Conductor *conductor) { fromConductor(conductor); } /** Constructeur de copie @param c autre conducteur */ ConductorProfile::ConductorProfile(const ConductorProfile &c) { beginOrientation = c.beginOrientation; endOrientation = c.endOrientation; foreach(ConductorSegmentProfile *csp, c.segments) { segments << new ConductorSegmentProfile(*csp); } } /** Operateur = @param c autre conducteur */ ConductorProfile &ConductorProfile::operator=(const ConductorProfile &c) { if (&c == this) return(*this); // supprime ses informations setNull(); // copie les informations de l'autre profil de conducteur beginOrientation = c.beginOrientation; endOrientation = c.endOrientation; foreach(ConductorSegmentProfile *csp, c.segments) { segments << new ConductorSegmentProfile(*csp); } return(*this); } /// destructeur ConductorProfile::~ConductorProfile() { setNull(); } /// @return true si le profil est nul bool ConductorProfile::isNull() const { return(segments.isEmpty()); } /// supprime les segments du profil de conducteur void ConductorProfile::setNull() { foreach(ConductorSegmentProfile *csp, segments) delete csp; segments.clear(); } /// @return la largeur occupee par le conducteur qreal ConductorProfile::width() const { qreal width = 0.0; foreach(ConductorSegmentProfile *csp, segments) { if (csp -> isHorizontal) width += csp -> length; } return(width); } /// @return la hauteur occupee par le conducteur qreal ConductorProfile::height() const{ qreal height = 0.0; foreach(ConductorSegmentProfile *csp, segments) { if (!csp -> isHorizontal) height += csp -> length; } return(height); } /** @param type Type de Segments @return Le nombre de segments composant le conducteur. */ uint ConductorProfile::nbSegments(QET::ConductorSegmentType type) const { if (type == QET::Both) return(segments.count()); uint nb_seg = 0; foreach(ConductorSegmentProfile *csp, segments) { if (type == QET::Horizontal && csp -> isHorizontal) ++ nb_seg; else if (type == QET::Vertical && !csp -> isHorizontal) ++ nb_seg; } return(nb_seg); } /// @return les segments horizontaux de ce profil QList ConductorProfile::horizontalSegments() { QList segments_list; foreach(ConductorSegmentProfile *csp, segments) { if (csp -> isHorizontal) segments_list << csp; } return(segments_list); } /// @return les segments verticaux de ce profil QList ConductorProfile::verticalSegments() { QList segments_list; foreach(ConductorSegmentProfile *csp, segments) { if (!csp -> isHorizontal) segments_list << csp; } return(segments_list); } /** Reconstruit le profil a partir d'un conducteur existant */ void ConductorProfile::fromConductor(Conductor *conductor) { // supprime les segments precedents setNull(); foreach(ConductorSegment *conductor_segment, conductor -> segmentsList()) { segments << new ConductorSegmentProfile(conductor_segment); } beginOrientation = conductor -> terminal1 -> orientation(); endOrientation = conductor -> terminal2 -> orientation(); } /** Permet de debugger un profil de conducteur @param d Object QDebug a utiliser pour l'affichage des informations de debug @param t Profil de conducteur a debugger */ QDebug &operator<<(QDebug d, ConductorProfile &t) { d << "ConductorProfile {"; foreach(ConductorSegmentProfile *csp, t.segments) { d << "CSP" << (csp -> isHorizontal ? "horizontal" : "vertical") << ":" << csp -> length << ","; } d << "}"; return(d.space()); } qelectrotech-0.22+svn897/qelectrotech.qrc0000644000175000017500000001673311342301024020270 0ustar laurentlaurent ico/128x128/diagram.png ico/128x128/settings.png ico/128x128/document-export.png ico/128x128/printer.png ico/16x16/add_col.png ico/16x16/add_row.png ico/16x16/application-exit.png ico/16x16/arrow-left-double.png ico/16x16/arrow-left.png ico/16x16/arrow-right-double.png ico/16x16/arrow-right.png ico/16x16/circle.png ico/16x16/configure.png ico/16x16/configure-toolbars.png ico/16x16/dialog-cancel.png ico/16x16/dialog-ok.png ico/16x16/document-close.png ico/16x16/document-export.png ico/16x16/document-import.png ico/16x16/document-new.png ico/16x16/document-open.png ico/16x16/document-open-recent.png ico/16x16/document-print-frame.png ico/16x16/document-print.png ico/16x16/document-save-all.png ico/16x16/document-save-as.png ico/16x16/document-save.png ico/16x16/east.png ico/16x16/edit-clear-locationbar-ltr.png ico/16x16/edit-clear.png ico/16x16/edit-copy.png ico/16x16/edit-cut.png ico/16x16/edit-delete.png ico/16x16/edit-paste.png ico/16x16/edit-redo.png ico/16x16/edit-select-all.png ico/16x16/edit-undo.png ico/16x16/endline-circle.png ico/16x16/endline-diamond.png ico/16x16/endline-none.png ico/16x16/endline-simple.png ico/16x16/endline-triangle.png ico/16x16/folder-new.png ico/16x16/folder.png ico/16x16/go-down.png ico/16x16/go-home.png ico/16x16/go-up.png ico/16x16/ground.png ico/16x16/item_cancel.png ico/16x16/item_copy.png ico/16x16/item_move.png ico/16x16/masquer.png ico/16x16/neutral.png ico/16x16/north.png ico/16x16/object-rotate-right.png ico/16x16/orientations.png ico/16x16/phase.png ico/16x16/preferences-desktop-user.png ico/16x16/project.png ico/16x16/qet.png ico/16x16/remove_col.png ico/16x16/remove_row.png ico/16x16/south.png ico/16x16/text-xml.png ico/16x16/user-busy.png ico/16x16/user-online.png ico/16x16/view-fullscreen.png ico/16x16/view-refresh.png ico/16x16/view-restore.png ico/16x16/west.png ico/16x16/window-new.png ico/16x16/zoom-fit-best.png ico/16x16/zoom-in.png ico/16x16/zoom-original.png ico/16x16/zoom-out.png ico/22x22/all_pages.png ico/22x22/application-exit.png ico/22x22/arc.png ico/22x22/arrow-left-double.png ico/22x22/arrow-left.png ico/22x22/arrow-right-double.png ico/22x22/arrow-right.png ico/22x22/bring_forward.png ico/22x22/conductor2.png ico/22x22/conductor3.png ico/22x22/conductor.png ico/22x22/configure.png ico/22x22/configure-toolbars.png ico/22x22/diagram_add.png ico/22x22/diagram_del.png ico/22x22/dialog-cancel.png ico/22x22/dialog-information.png ico/22x22/dialog-ok.png ico/22x22/document-close.png ico/22x22/document-export.png ico/22x22/document-import.png ico/22x22/document-new.png ico/22x22/document-open.png ico/22x22/document-open-recent.png ico/22x22/document-print-frame.png ico/22x22/document-print.png ico/22x22/document-save-all.png ico/22x22/document-save-as.png ico/22x22/document-save.png ico/22x22/edit-clear-locationbar-ltr.png ico/22x22/edit-clear.png ico/22x22/edit-copy.png ico/22x22/edit-cut.png ico/22x22/edit-delete.png ico/22x22/edit-paste.png ico/22x22/edit-redo.png ico/22x22/edit-select-all.png ico/22x22/edit-undo.png ico/22x22/element-delete.png ico/22x22/element-edit.png ico/22x22/element-new.png ico/22x22/ellipse.png ico/22x22/folder-delete.png ico/22x22/folder-edit.png ico/22x22/folder-new.png ico/22x22/go-down.png ico/22x22/go-home.png ico/22x22/go-up.png ico/22x22/hotspot.png ico/22x22/landscape.png ico/22x22/line.png ico/22x22/lower.png ico/22x22/move.png ico/22x22/names.png ico/22x22/object-locked.png ico/22x22/object-rotate-right.png ico/22x22/object-unlocked.png ico/22x22/polygon.png ico/22x22/portrait.png ico/22x22/preferences-desktop-user.png ico/22x22/raise.png ico/22x22/rectangle.png ico/22x22/restaurer.png ico/22x22/select.png ico/22x22/send_backward.png ico/22x22/single_page.png ico/22x22/start.png ico/22x22/terminal.png ico/22x22/textfield.png ico/22x22/text.png ico/22x22/text-xml.png ico/22x22/two_pages.png ico/22x22/view_fit_width.png ico/22x22/view_fit_window.png ico/22x22/view-fullscreen.png ico/22x22/view-refresh.png ico/22x22/view-restore.png ico/22x22/window-new.png ico/22x22/zoom-fit-best.png ico/22x22/zoom-in.png ico/22x22/zoom-original.png ico/22x22/zoom-out.png ico/256x256/qelectrotech.png ico/256x256/qet.png ico/32x32/application-pdf.png ico/32x32/image-x-eps.png ico/32x32/printer.png ico/32x32/text-xml.png ico/32x32/qt.png ico/diagram.png ico/mdiarea_bg.png ico/oxygen-icons/128x128/apps/qelectrotech.png ico/oxygen-icons/16x16/apps/qelectrotech.png ico/oxygen-icons/16x16/mimetypes/application-x-qet-element.png ico/oxygen-icons/16x16/mimetypes/application-x-qet-project.png ico/oxygen-icons/22x22/apps/qelectrotech.png ico/oxygen-icons/22x22/mimetypes/application-x-qet-element.png ico/oxygen-icons/22x22/mimetypes/application-x-qet-project.png ico/oxygen-icons/256x256/apps/qelectrotech.png ico/oxygen-icons/32x32/apps/qelectrotech.png ico/oxygen-icons/32x32/mimetypes/application-x-qet-element.png ico/oxygen-icons/32x32/mimetypes/application-x-qet-project.png ico/oxygen-icons/48x48/apps/qelectrotech.png ico/oxygen-icons/64x64/apps/qelectrotech.png ico/splash.png LICENSE qelectrotech-0.22+svn897/qelectrotech.pro0000644000175000017500000001304011270624732020305 0ustar laurentlaurent###################################################################### # Fichier projet de QElectroTech # ###################################################################### # Chemins utilises pour la compilation et l'installation de QET unix { # Chemins UNIX COMPIL_PREFIX = '/usr/local/' INSTALL_PREFIX = '/usr/local/' QET_BINARY_PATH = 'bin/' QET_COMMON_COLLECTION_PATH = 'share/qelectrotech/elements/' QET_LANG_PATH = 'share/qelectrotech/lang/' QET_EXAMPLES_PATH = 'share/qelectrotech/examples/' QET_LICENSE_PATH = 'doc/qelectrotech/' QET_MIME_XML_PATH = '../share/mime/application/' QET_MIME_DESKTOP_PATH = '../share/mimelnk/application/' QET_MIME_PACKAGE_PATH = '../share/mime/packages/' QET_DESKTOP_PATH = 'share/applications/' QET_ICONS_PATH = 'share/icons/hicolor/' QET_MAN_PATH = 'man/' } win32 { # Chemins Windows COMPIL_PREFIX = './' INSTALL_PREFIX = './' QET_BINARY_PATH = './' QET_COMMON_COLLECTION_PATH = 'elements/' QET_LANG_PATH = 'lang/' QET_LICENSE_PATH = './' } macx { # Chemins MacOS X COMPIL_PREFIX = './' INSTALL_PREFIX = '/usr/local/' QET_BINARY_PATH = 'bin/' QET_COMMON_COLLECTION_PATH = '../Resources/elements/' QET_LANG_PATH = '../Resources/lang/' QET_EXAMPLES_PATH = 'share/qelectrotech/examples/' QET_LICENSE_PATH = 'doc/qelectrotech/' QET_MIME_XML_PATH = '../share/mime/application/' QET_MIME_DESKTOP_PATH = '../share/mimelnk/application/' QET_DESKTOP_PATH = 'share/applications/' QET_ICONS_PATH = 'share/icons/hicolor/' QET_MAN_PATH = 'man/' } # Commenter la ligne ci-dessous pour desactiver l'option --common-elements-dir DEFINES += QET_ALLOW_OVERRIDE_CED_OPTION # Commenter la ligne ci-dessous pour desactiver l'option --config-dir DEFINES += QET_ALLOW_OVERRIDE_CD_OPTION ###################################################################### TEMPLATE = app DEPENDPATH += . INCLUDEPATH += sources sources/editor # Fichiers sources HEADERS += sources/*.h sources/editor/*.h SOURCES += sources/*.cpp sources/editor/*.cpp # Liste des fichiers qui seront incorpores au binaire en tant que ressources Qt RESOURCES += qelectrotech.qrc # Liste des ressources Windows RC_FILE = ico/windows_icon/qelectrotech.rc # Fichiers de traduction qui seront installes TRANSLATIONS += lang/qet_en.ts lang/qet_es.ts lang/qet_fr.ts lang/qet_ru.ts lang/qet_pt.ts lang/qet_cs.ts TRANSLATIONS += lang/qt_es.ts lang/qt_fr.ts lang/qt_ru.ts lang/qt_pt.ts lang/qt_cs.ts # Modules Qt utilises par l'application QT += xml svg network # Configuration de la compilation CONFIG += debug_and_release warn_on # Nom du binaire genere par la compilation TARGET = qelectrotech # Ajustement des bibliotheques utilisees lors de l'edition des liens unix:QMAKE_LIBS_THREAD -= -lpthread # Description de l'installation target.path = $$join(INSTALL_PREFIX,,,$${QET_BINARY_PATH}) elements.path = $$join(INSTALL_PREFIX,,,$${QET_COMMON_COLLECTION_PATH}) elements.files = elements/* lang.path = $$join(INSTALL_PREFIX,,,$${QET_LANG_PATH}) lang.files = $$replace(TRANSLATIONS, '.ts', '.qm') examples.path = $$join(INSTALL_PREFIX,,,$${QET_EXAMPLES_PATH}) examples.files = examples/* copyright.path = $$join(INSTALL_PREFIX,,,$${QET_LICENSE_PATH}) copyright.files = LICENSE ELEMENTS.LICENSE CREDIT README ChangeLog mime_xml.path = $$join(INSTALL_PREFIX,,,$${QET_MIME_XML_PATH}) mime_xml.files = misc/x-qet-*.xml mime_desktop.path = $$join(INSTALL_PREFIX,,,$${QET_MIME_DESKTOP_PATH}) mime_desktop.files = misc/x-qet-*.desktop mime_package.path = $$join(INSTALL_PREFIX,,,$${QET_MIME_PACKAGE_PATH}) mime_package.files = misc/qelectrotech.xml desktop.path = $$join(INSTALL_PREFIX,,,$${QET_DESKTOP_PATH}) desktop.files = misc/qelectrotech.desktop icons.path = $$join(INSTALL_PREFIX,,,$${QET_ICONS_PATH}) icons.files = ico/oxygen-icons/16x16 \ ico/oxygen-icons/22x22 \ ico/oxygen-icons/32x32 \ ico/oxygen-icons/48x48 \ ico/oxygen-icons/64x64 \ ico/oxygen-icons/128x128 \ ico/oxygen-icons/256x256 man.path = $$join(INSTALL_PREFIX,,,$${QET_MAN_PATH}) man.files = man/files/* man.extra = sh man/compress_man_pages.sh # L'installation comprend la copie du binaire, des elements, des fichiers de langue et du fichier LICENSE INSTALLS += target elements lang copyright # Sous Unix, on installe egalement l'icone, un fichier .desktop, des fichiers mime et les pages de manuel unix { INSTALLS += desktop mime_xml mime_desktop mime_package icons man examples } # Options de compilation communes a Unix et MacOS X unix { # Chemin des fichiers de traduction ; par defaut : lang/ dans le repertoire d'execution DEFINES += QET_LANG_PATH=$$join(COMPIL_PREFIX,,,$${QET_LANG_PATH}) # Chemin de la collection commune ; par defaut : elements/ dans le repertoire d'execution DEFINES += QET_COMMON_COLLECTION_PATH=$$join(COMPIL_PREFIX,,,$${QET_COMMON_COLLECTION_PATH}) } # Options de compilation specifiques a MacOS X macx { # les chemins definis precedemment sont relatifs au dossier contenant le binaire executable DEFINES += QET_LANG_PATH_RELATIVE_TO_BINARY_PATH DEFINES += QET_COMMON_COLLECTION_PATH_RELATIVE_TO_BINARY_PATH } qelectrotech-0.22+svn897/ChangeLog0000644000175000017500000001563311221370245016656 0ustar laurentlaurent====== Changelog 0.11 -> 0.2 ====== À partir de la version 0.2, QElectroTech est disponible en français, anglais, mais aussi : * en espagnol, grâce aux traductions de Youssef ; * en russe, grâce aux traductions de Yuriy ; * en portugais, grâce aux traductions de José. L'application utilise désormais le thème d'icônes Oxygen, réalisé par Nuno Pinheiro pour le projet KDE. ===== Notion de fichier projet ===== Un fichier .qet peut désormais contenir zéro, un ou plusieurs schémas électriques. Les éléments composant ces schémas sont embarqués dans le fichier projet au moment où ils sont posés sur un schéma. Le panel d'éléments affiche donc désormais : * les projets ouverts, avec, sous chaque projet : * les schémas de ce projet, * la collection embarquée du projet (catégories et éléments utilisés dans les schémas) * la collection commune fournie par QET, * et la collection personnelle de l'utilisateur. ===== Éditeur de schémas ===== * Il est désormais possible de déplacer et copier les catégories et éléments par simple glisser-déposer (drag'n drop) dans le panel d'éléments. * La collection embarquée est manipulable au même titre que la collection utilisateur. Les éléments inutilisés dans le projet apparaissent sur fond rouge et un dialogue permet de les purger rapidement. * Chaque projet embarque également (au niveau de ses propriétés) les paramétrages par défaut pour les nouveaux schémas, cartouches et conducteurs. * Il est possible de changer l'ordre des schémas dans le projet en déplaçant les onglets qui les représente. Dans le champ "Folio" des cartouches, on peut se référer à la position du schéma courant ou au nombre total de schémas dans le projet en écrivant respectivement %id et %total. * Lors du chargement d'un fichier .qet, si des éléments ne sont pas trouvés, ils sont remplacés par un élément "fantôme", ce qui évite de perdre certaines informations lors de l'enregistrement du fichier. * Le rendu avec un zoom réduit a été amélioré. * Enfin, le logiciel gère l'ouverture en lecture seule d'un fichier projet. ==== Impression et export ==== À partir de la version 0.2, QElectroTech : * propose d'utiliser une imprimante réelle ou bien de générer un document PDF ou PostScript, et ce sous Windows comme sous X11. * génère un aperçu avant l'impression d'un projet. Cet aperçu permet de choisir les options d'impression mais également les schémas à imprimer ou non. À noter toutefois une limitation pour les impressions PDF/PS sous Windows : le dialogue de mise en page, permettant de spécifier le format du papier ainsi que ses marges, n'est pas disponible. Le dialogue "Exporter" (pour générer un fichier image d'un schéma) a également été refait dans l'optique d'un export simultané de tous les schémas du projet. ===== Éditeur d'éléments ===== * Lorsque l'on dessine une ligne dans l'éditeur d'éléments, il est possible de choisir un embout différent pour chaque extrémité, comme par exemple une flèche, un cercle, un carré ou, tout simplement, un bout de ligne normal. * La forme "Rectangle" a été ajoutée. * On peut enregistrer un élément en désignant un fichier (= comportement en 0.11) ou bien en choisissant un élément cible dans une liste reprenant l'arborescence du panel d'éléments. * Si l'on maintient la touche Shift lorsque l'on ajoute une partie (droite, cercle, texte, ...), l'outil en cours est conservé après le dessin. Sinon l'éditeur repasse sur l'outil de sélection. * La grille a été améliorée : sa densité varie en fonction du zoom ; les points correspondant à ceux de la grille de l'éditeur de schémas sont mis en valeur. * L'accrochage à la grille (aka "snap to grid", également connu sous le nom de grille magnétique ou encore grille aimantée) a été ajouté. Le dessin s'y accroche désormais avec une précision de 1px. On peut travailler en coordonnées libres en maintenant la touche Ctrl enfoncée durant le dessin. * Le copier-coller a été implémenté : il est possible de coller : * avec le bouton du milieu de la souris * en choisissant une "zone de collage" sur l'élément (Ctrl+Shift+V) * directement (Ctrl+V) : les parties collées sont placées à côté des parties copiées ; si on recolle les parties, elles sont collées encore un cran à côté, et ce de manière incrémentale. * Des contrôles sont désormais effectués à l'enregistrement : présence de bornes, respect du cadre, etc. * Uniformisation des menus par rapport à l'éditeur de schémas ====== Changelog 0.1 -> 0.11 ====== ===== Fonctionnalités et interface ===== * L'application est désormais capable d'ouvrir un fichier élément passe en paramètre * L'application se lance désormais une seule fois par utilisateur * Lors de l'ouverture d'un fichier en dehors de l'application alors que QET est déjà démarré celui-ci essaye de s'afficher ou d'attirer l'attention de l'utilisateur. * L'application vérifie que ce fichier n'est pas déjà ouvert dans tous les éditeurs de schémas / éléments. * Ajout de fichiers permettant d'automatiser les associations de fichiers sous Windows (.bat et .reg) et X11 (.desktop et .xml) * Ajout de menus "Récemment ouverts" pour accéder aux fichiers récents dans les éditeurs de schémas et éléments. * Ajout d'un splash screen * La hauteur du schéma est désormais gérée via un système de lignes, dont le nombre et la hauteur sont ajustables. * Il est également possible d'afficher ou non les en-têtes des lignes et/ou des colonnes. * Ajout d'une option --lang-dir * Ajout d'une description dans le dialogue des options d'impression * Ajout de pages de manuel Unix (`man') en anglais et en français ===== Corrections de bugs ===== * Bug #12 : QET provoquait une erreur de segmentation dès son démarrage dans un environnement sans systray * Bug #14 : il manquait un / dans le chemin proposé lors de l'impression vers un PDF * Bug #15 : Mauvais positionnement des champs de texte sur le schéma * Bug #16 : Mauvaise gestion des modifications du texte d'un conducteur * La classe DiagramView écrivait sur la sortie d'erreur sans fin de ligne * L'option --config-dir était mal prise en compte * Après fermeture d'un schema, le menu Fenêtres n'était pas correctement mis à jour * Les textes des éléments, des conducteurs, du cartouche ainsi que les textes indépendants utilisent désormais tous la même police. * Remise à niveau de l'impression suite au passage à Qt 4.4 ===== Code et détails techniques ===== * Corrections pour que QET compile avec gcc-4.3 * Les classes Conductor et Element héritent désormais de QObject (dépendance sur Qt 4.4) * Affinage du constructeur de la classe QETApp * Moins d'avertissements à la compilation (testé avec gcc 4.3) * Moins d'inclusions non pertinentes * Nettoyage du trunk : déplacement des sources dans un sous-répertoire qelectrotech-0.22+svn897/ico/0000755000175000017500000000000011347002076015651 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/mdiarea_bg.png0000644000175000017500000002252211165461721020440 0ustar laurentlaurentPNG  IHDR IDATxw`UٖdRH@$ E@DAQCA" B9"`( PLB$[?rBޛ72{M}#Hтa-тa-тa-тa-тa-тa-тa-тa-тa-тa-тa-H$Ev]L]f|e3.ܺRzРPzT*J&22***2:&ĄNm5$:*[ڱ72sUHTR2iXz1)F4{N' U?dK{ j7݆{ixV  qЩn+ 93/_}J$dɲ '[r(  :5Sm!=@üt݂o}g8D:d_.Ṕ+`h 'rNlMb/8Wӿۊ9.xɮGa^|:5SUC4)`c*٠ܼyFN֙O^Y=Qo؛׎~Ghw=  DЩB阼 vq,pm5k'R8{6mtCվ20̋4Bf ac2o?_h=k^ԏ]G7G*i;m-Ei Gpن*V@"I~fn*QLX͏f]fGf-&}^bm7*V@"IxCܜ:sW?#~M|(Ja+q "v6ߠ=4ւ\/*?9Sƀ"ZT9"a&{yؕG9&+h qp@M$v62 7R5㼎EtyjHlVë/5u9>4hC7Bj};͚ [v{ AJEѺIkKsϞ;v)3/ Ny^7 VJoףoRRb8%ߓ/ӱWg^pkEEE%յz`0<Ս||GDtȣ=8F' u9'Oqײo߫ӛyX.f^N={칫7ntz^ojJ 9>199ў go1M:#Xw̆g]v-NMMm]*PTAm#""b>>0K%CGI889B"Q|WTK$#twwzb {gv% P|>3-߿S0ƚ 8sS7x p/{bT4ūja]bb,}tA,ʷYN[엥 foj#,uvvv;tLtfy8̣g^R)rlEa5D>{F [!lfׂ!s}9,C׈֢L9[Q>sG'pH <ڵvomUs;("Q,5?_ܻ7Uwކ{| :&m||l.H$}#kiEQ8:Hy\kOFgQ,)+>;wT5*Tθ{bd6&wz}-0vG{wkkEn\H;|0e߱ i,?@d1iPrJt'%Z5wr-;qSvg_w̎쭦{~sq+;&bRoo ͗F 5'FS$|}:&imPu;vWϮM0%ZJEN_ڼ.,{K!L.җdr**pG6=Q<ۥܡ{Ga0*-}գM\䔗~D|ϛLjų#wRNakrSbcia|}:&q(J"aF&iz*b+Ž1&Tdg?M*pG0gUolQQQp a>>H wvŇO!,~ Jy (*=C>UD"5Namokȅ6&VaKF|cW  ,:k1Zfk>]~M꧸3wCŹDl4G"/*FH\Y藘cJy yp?yf]'36 bO؊Pz,.v@Eo3|yFZy; GO=XkšM5-%"EQ^3͊S9yi,*D"?%[U"!8m||p]yB.O?F[]*T="|# R_,2`#%hn&":tLPsAIzcGr20VI#?+Nc, [~^ξ|$_% V0Mw4M>sH‰(;RY<`עnPeA&x POS03T!M;#蘀a~ koq)[)a>q@SUf?PH5:aW/B[4ˑuS1-N4`0fd7‰[,rY@8 пa=e/@sWc$R6d&%+@}eaŜb0g͂|? hqDd0ۭo8f6wPz)¹uUf 0g #UuN~}y3M})y2\tL@87'ՙ"k6 ."tL&)'TY¢ ^7":tL@0 >kisko/OGo4Ryw AΑ|yu]@V/?>b^krsx#gq_1-ü\0ܤ?r_40D𰶃/Om-0Gvxs׀v7ĽZi rDt :&EY,yyPsz)g*|`ɈC{AL~\?ԢC@@PǧI+M9GS?iN"0w 1ܣ0r6C .$u,󍚃Zdؒb3nRn7X#%cQ|NR佀qșstL@0/hq,09sW}~G|˟nypRO nqn{%,JCŵdiWZKUY֠cZd^ /xvyB=ro[>v>T^ظ0{s}-d&E$`"4X|3L(9 $_bcD9yH|4>y'X.LMG*gw1E/)j WbUFRUie!7oQ<ԽV@6&7HB*tL֚|" wm@"U~ZN*\lO( ҙX)xD.g;}=' Ȅ$}szC͸A{ 3%#Ť"(4 U>* 蘼5D2pSP% Sבܔ%pR+Bs)mR>"dL‹=ts77(f,9wЄ6KP-j:$VycA;tmک:s`FcFq/PZl/C_U39dR_嗘7;;G(\ϤWQ͸tLđ_dqq~nؘq0 T@`w jnlPc/S% +uvO]ї=J#@Dօdsو{! OaMZ#w{SQu}<ތm #2_J9]sNI*_tLkMn)HOVv|ћB"@!UG^>Ol&] MWXo!noqWz"ǯ"  rzo`=od͘tWcw~}c'Xk][|#ߘ!~:@NԨ> | sm䉢(ߘo5c5`vi߿EQmf琹fg؁o$` ӚjM@GQT@7;ŤgtL46S;/ͪ[:: zSmz {o΢ZGb,?cy'^@GΙ_"jn$U| [섎s¢Co lY;XMUC?>&WF?чIЪ-GO~UX?o^alvh.S;_Rx#=EQ#_{K.-3XlV+Rv7{L x"6:m^,2@èdKJ5fl463%NbDIc MxD`Ͷ4ࣣB&x-P͵Fl[qi[ f$ ? O-+Xt3bꗎbpx @$!k@Bl|yG yass}wETˑO'@$KVSْow:1CE;Gka͜Ś.ԅȚdz+.>+1CT@m|?Tɝ2窭g߼&8i̽ã[l 2g4uhb߀2z%gNʱQx)F*遜U^='ے$RͷkȜTLx  h>jSOظ?stR1«ȿzKYywuzh46Xj|#b:v9666:,T~ wo+^\bsa(eSۢ7s2͟K pYn6S1Bچ6}2igK pM7ScFok_V޿pK pAn9S:pA޷=/o^XY.m^kѵ|[+zd/E {qaϧ$2fWN0<n]/?0 l5s ?oGuurupd=P`D y@`D y@`D y@`D y@`D y@`D y@`D y@`D y@`D y@`D y@`D y@`D y@`Di2HIENDB`qelectrotech-0.22+svn897/ico/256x256/0000755000175000017500000000000011347002064016607 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/256x256/qet.png0000644000175000017500000002075211176614511020122 0ustar laurentlaurentPNG  IHDR\rfbKGD pHYs/tIME w>r IDATx}LTW?wF N"M7`f!VqJv ; Tk } JJlPk°6mZiAIEd7NM0Ag9?vrf{|Arey99Wp\ "hƳ"A A @ A$ HA A @ A$ HA A @ 1@n\x98NcbbqVV Z F%K 99˖-e@^W^e˗qeb``TA@bb"RRRtR,])))HIIŋ$bLOO믿f6 ---8w\B>9cݺu0 ϟO@. hiiٳgqmI\֭ڵk!DGG&:::`pGW`?lz  bǏjŅ ",/_lڴ $<ɓ'jEss3<T*裏O>֐NYd 4 fgޔJ% tޙxNi4l߾;v8w=Gl8rB?YxK.ߏ+$ƍt!Ft8p! * < v܉Dzz@|A+R^3nՈeLNN̙3QQQxQZZEHvmD_`0ܙ=j%Y^hjeee())*ϙ3gbAOOOϭP(`0uV>l6^oGZZzjj H端nZ~JKKldBRRRDk__QWWp ݻ Ix{_;N͛QXXz Q[[?;Vom۶ J GWW{gFyyyزe hfzqQ|hhhy|A- zd{L@ׯk+% x75o<ڵ /2M-&|_(iR*Gii)-[F;.^ 8q" srrp1 ?mmml6cpppN牎l+d]p`߾}\… QWW5kD| B^h4) _>L8|0FFF/B F#***X0ER @ (,,l9GƪU(!oAqq1tQNwW$cDXzz¯hPUU Xj:::PUUFyl6ӵmmm=z=cv}ɄK.b/R łK.d2-v{1=zdLee%{~ė ՊJHHHHjfCjj_瘙s=ʈ@Dx^ܹgIΝ;4DߏW^y`1_@p\xgG}:uuuͥtISNl6=xƍ8ra kLNN"??;';;HLLDIL&u|NNN8!uFFF:sss B@YY(&11MMM(++MMMe###}}}l͚5xXVPdDSS z6$%%nHv-NWwQeHNN;deesCh[$֯_p8|>6//6MoVfC^^:_>}rr F\.Yg...C)91118~8}>LNfYx^/##vG1dffc7n܈cǎb,Z;w9{{;vj qǎ~>#ܹSF{,$ uuSSS#iÒ=z=s b;@ w-[@immeF1wmW 444 ;;[ +V $ /$$$SHn 0h1 P+$'{2_W PZgl6HAtLqq1v;, I>O*//s\;.\poyyy0zbtfXe4Եx<,//ϧ.\;+I|[n!''ǧ nwP*!vYffOan"j۳gO >>  ,,>>ާٳv&w+ B/4662B}NAng$9lHOOb ,eee>;==MOOݪ|*l633#CH?1633ò}UUU稿V.hNE]~VS l6ohhTE"Y|0͌f|+--t"wJKK}lݼyiii܅\.l*!krXjj*NKKc7o]D7p+jjj-8@ӆe:7BMM zzzPSS#!&9NmU$ !kb2?Gll,s:m۶05  G׵dl۶sە+WXLLOW#Qs |î\H?|zާ ?$ 0azާFɤJnSEv;J%Ax p)}n݊UVӁeժUغu+׾SSS8p@:=p0<<| Jtt4s:tW;(thA"psk6qRKƽ ̵8͵_ZZt:\[tut:IuZZZrGn#u7+Ξ=˵u E~~xٳgH$`۷s?Rk"R(vZ(۰L6}jIHU~j͌$;)Kn@.׋' z@~p8}FEE7o""~N͛7YTTW9&y\%''CR!kKARq/oϛQwxDJJ qJXx,pe.]J5C޺ΛI (B K ]Pׯ_g8Fi?\~~yhP[}pwӭA-qqq\?ѥp8(fHp:$H/NfH=Ո0JzxO*--j٘&J\.fV(O5khh~f&֜VZu:zZh&HJ. <_} D' r gffXvvO9c4}*2 ?I (ײ̧siv kllzM} v;{D/˅={tA$k;00}:ߞ={% ܺu 999>]y$5v,33ӧu? `… }yyyPI~]k|:~…\.[݊)$yqqO)JĤ)wv1hoo|" 6U3wFii*z?l ?I  !K|G`xxƊ+CCC~"HHH@ggNKjetw%~1Fy][[ )_lw hP)$_; ;;[F!勺e!P˄SIR^^-[HHr /a555~"dc%%%_* # x^>c322`)(Loܸǎ܈wB#G999>ގ^x^R!x^ ~?''GEeerrcPWWJ}6f3>c]bN:%$_fdd3;;;p|lVVCRRd(?믿d{VȩLd'ck֬A__jŸ!^PPPk׮|lRRڐ$"/vRR~n e}5Fڵ=xx<صkF__b1m@~~>kjjl#11$A`29998qℬ%66}qFomm^ǩS(MԩS~ƍd~ q1į㇇㭷c%rcx뭷cxxدsرcBttK]RYYrjj*jjjMI!())?O (///1"JpQVRR+ɟg[HHHԉ!͛'pL&_³h4JR<~ma||ǣk֬)oj纲^oUVQ"C7|btuu<R=\QDjtw}ݻtBVV^z%| 㥗^BVV֜¯T*{n|B?[?f <0xWLi C]]Zg.\l~΢t' R,[ w\x8qD@ffرcO^lϞ=~?%Q ֯_^{ LKd:;;o?ya׮]xeS^@b>,ۀh4"//[lU_ѣG!`}BӪ/$><{=ctt4`tؼy3 CQA8 09sY,WV% n݊z rr'߇f 2liiiիO,n555 4 [k׮ E8}4ZZZ`TjDJ|nwPR^Ǻu`0zj'8s l6ZZZEUO-> t ȑ# Brr2RRRt;ߏ ̈́7nҥK|򝭷#BERgΝ;H':thN?J+qqqwdh4;[llVm?{||NNد_h}vرHbll쾃:!#qqqX,x`SD4:ĪqU*9xbX,l߾]?> @:x^|WjO? ړVO<M%H)soooHnnz8;h4r+8 !.\ Ξ=F477 oi4!44Xx1$I._,N>աk\_K.E\\Z-ϟ4`Du(--Eqqbs~"EFF"##iiix ѣGEii)aX`HKKڵkM`X0L()){`N$b֬Y1cM<30LFww7ݻ;wBBBB}vK܉ ^={͛6?OOO,_K,y쌯b`@SS^3gΠ6??rrr~zӓ;@8yxmOJJBLL WWqy_fz555E~dz_tttl;vlu鐑_bmSRRb֬Y =.//On$$$`֭xطo?>zxm6:;;lܸۡӒ$aʕعs'444`ݨ bRR[Dzz:]_FQQ"""Tٮ\N/ٳQRRhIaajFAaa!Ο??h4봷CբP4rssEff&fo&Z[[5$Aӡo:fe f36o,9zjذa:;;ā:I իʼn'AYYz;!55z^+Vp_Aݺuw_Ǻu?q222`#b͛EeecYYYGm"??_1ɓ'L>6mrlӶnV^M6ɖ;v 'OdW]ۋ(Fk׮o ƙ_gg'Ν+Qpp0.\p Bi4_^^ML- 2???ɖd2!<<\\~jҥKQ[[;.@ll,ꬖ hll}YKCj2+ۖׯ_GII [ 1ػwlʕ+>U[w%<<+W-߻w/x0n***R!ܹ[-!0Q]mj0PQQV> dlnG<^Ńs-(k 66V勇qqqV\]][0JKKee˖k9ZK^l2وJٌR~!Xlv/zXZjsX,;wX_+2;g ꫯZ-1cn޼)MDŽhʕ+bŊbԩUPsuuSN իb/Ĕ)S}hDxxcuYz:ӧO&ICssP|!iL&1}t{#>h{> .Duu5zzzi6Ӄ'N ::γgʖiZWw/JrssVi0ҖoZ߿y_5a4 łt:dSLMn;1%FuFC@`C`$+Z- o)o7o>hZܷO[lAkk+߿x!֯_s_|qQiYYzzz]ŋغugCuu5?3gδwsslB@-#+ms}COj~mڴ wp$ ?$^wyGoC__G$''Ѧ29ݠ!Oww+!M:hjj- s!Ҿ y Rܹsg_سgϐG[]\\'4[Wouuuɦrwwǜ9sϊPD$s1 ]vYrw}'سgj7VKK勨P,D>Q@WWUk׮M^JII*/P'3:{5<ҶWG4ڵkG:UJsO>ap!jjU;ҶWG4A^td2)b8?O <|.]YٌxBB$/~ 0m4C|xmy|9LDzxy!N'PxwlB@?ضWG4.Eb4ݭB֭[c&pүh4hTump\]]m.lg@4/ŏ?2_\duWwww ۯmn:lx2L`ÆI-2 ͛7E@@^^^})S(~m,tTߓFs#U1H"twwG[[ۈ_j0M>t51܋PeU5<@QQш_O>@h4"**Jr{*? OӧU{CRmEDDUᖖƍ6ioo0LKJJRm3mƌe}*+m{}DرcUfL2YYYXJSڊCd2զ}D Di̙F`֭bV̙Eṽ}Rj h4eU$I±cǰdɒI4L& pIG!..n`łZe\~j/M !p̙]/K/I Jkjjr9žYh<9 N)9rDxhiiAZZݻ'?6mDWWCM5֔G/~5u#L+WΟ?rMW^yVvlp$cXFZ/V2>~SůS }CCՍAEyy9>Sܺu ? lꫯ0o޼!E<w߉''#dFd_cxc;`>s~?$gs;陔QUUelرcS'ܹjYbb";SŪU>h` !:;;l2,-..NS#v> ذa)Sx4x;d ҉({;J ۴OeDFF"22/"׿)fl "## !P\\H!P\\,ldd$1/ؾ}ղ@|6Dp{!dWݻ dBp).~{N:%+~WWW X=/[?٩ߞ!mG5Y-1eˎ?.~{@CC?n> HJJ pN_J4$$IIIg؇+<OuzݮkC۷ovH: gdBxx~Kvg|xBƢj /Fn$l򺺺 PsWKXV ?[QQQjFk׬?sΕM .H`8pl۷3,[999729pX /Ȗ>|哦*qa?C̟?_v????^v{ug-mmmX`-GJ^|- 5k,I|ugg'RSSnd:4-шTYmӦMRRRl^NT?ti&?s… moo=IS#$&&СCfϞsPl2غ}m %8u.zDGGK,tꔚ* 7Qd*;gWnn9㉉t%88xȻ)eff"77cg6&hu!??eN{ł 6O>Q||ʕ(--xibĉĠL6Xٴ!55UTX.sDUUՠ^  9lX˱`A?33UUU,~sruu=0ىd[wWr===x뭷8xtl 0970͊k4!##c\JضmU}կx0444t(/lW\Nŋ]g())y~v&hܹsAJx""##jժ1mxC VBddşs yyyvpBBn݊^{͡_~})N8{ضm @8vذB!##n QTT$c|ᇼ@C9yxm@3)) 111CLL̸Mm6QSS^ _HHϙ|d^={͛6?OOO,_K,y2X,0 hjjիWqTWWGNN֯_s  ɄwQ\C$b֬Y1cMݍ{Ν;@ss6ܶ ۑy48z(--Euu5,C?,_iiiXvֱ rxn(..ƥK^"##4ޥ@ӨA]]|}}tRAb,z9J7… ٳhllDss3;F0"<</FTT R>zq}twwѣZ'11k׮#q99ɰꫯJw 7O$kD "1@D "bD "1@D "bD "1@D "bD "1@D "bD "1D "bD "1@D "bD "1@D "bD "1@D "bD "1@D "bDzCIENDB`qelectrotech-0.22+svn897/ico/scalable/0000755000175000017500000000000011347002076017417 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/scalable/diagram.svgz0000644000175000017500000105105111201403267021735 0ustar laurentlaurentXv|> FN#\ȁ8Q!ȑW랞`#ŷXE+>_ѵ7'' !zyO}C~99^ Im-C2 0njۙ_`OX֯_Z4ns0PBywy. _so]7˯;9+z_vE0B(o:( =ت?o:קn7>2ls>_!<3Kf%͹f˗1N}7?>ocoȯ#'[{J?ep'!<nE;Y>Iہy/N)a|i%m/_Oʆ%S9~wa[mX71ʘNŧ; .On Yϟh 9bf/L#{g%$IކT. c 6 _w. ES(qBRe i q $ !؏y<<+=RHTЕ y Wh5HBʲ]РȤȉWm#]c.2:,Peh hϬ9"鲬ݝv+wzDh^jkka i=ummSv %Ca,p.]>dL WϡPd* G.^7hf!Vps5d~(`4pr  tأR?Z!|5i;cWIL|C*m6920=4f $]2Q -j>Vg-XdܞϲS,e0+537D@eT[6%[!)> b&quOȫi0.SUNq"kէO:.k΁+A@u65QV|N:-5~YG\zSW5v`K+]ׁ6YD˨=v֧98 uY#弰콨<./*]8Wx+Fp7ˡH3`B֧0 6!Ү NAL_2*tȶvqX.@%(y(̙;<`r\vPFC@o|Yqt\dŒ5a^S=|ET)h6i g m/62ٕ- &y_'sGt{vԵߝRDHOLf&  U85M4Gaq1P/SU_ x>o\$\%wy>Y؏عVy"HBEʠk#pW#r\q T(:÷MC-L 5ШB>6c [#W9!+#ѰQ:<i̽/g#9l?^ ; _=kq\m]9iBS@єo~>W.IiO;Χ-~ToH~4*i-_ùUQK܎vƘ2lk%SW:o8qg7זJ6ߪ>@C?3_p] O# -:♰_dP4)(fDw8Ȳ Ak":>UX N=:VvIzs*2fУO$Pr. w{z&OOlf-Ww¸0+M@)ڑ8eYS ?0-A{}9LWaWVHa]zYL6!wr̝"j'm< BeY?ƘxGv1{9lǔ E= \G`~fOG\w9h4G~+Ȁr抾 B2O S>xS|ZL\Cˠ}e㖠[ ك$^vX"S.O_"̇\ei讒`s9lAs"|Oؕf>HG}+娈D k}Һ|AwlT쬰snj^iG>iO@\d/orћvl_Xvui#~~Qr*+Ac CõB]X^ l?ј?#ow6,s(kNtIMv7ީ/@]eMa %RmPflHV| R\=s9o{OK ڂj:+Yhڡ+ᙼWLvva y-о/q~72#X͖DG- "]='2儀i @}? Һ[)x |vرHc(:US甭`9HHP1_U(Tsց{W%UE@L DO2ɷ@YbWMxPq_]clW~6aa! {ҷ2` }3n 4"v};}GbAy7(y$BQ@ŗU橈(≧UAlB{fOڂz|,w]ɸc}@ɼ30g3F~z &~fAmcU<ɯnO_~C;]Jc~YMSnzT8:ֈd_r\mLeJsĀ*Ps! &az:${itVIC7ҿxN"m yZY7О op^}?:P;PюyAI-CHx];NH s)(0hN(*ٽtG~um @rðcUYiWU5S4އ)lM: ҫ%*柟~DZ "E֣ƌe u3YGYy݉i l:ՉtI꾞WHiSMY8EwY}o&$CibL\gL%Fg<2(_jJ t1W17n?DZxGθ]4E{SaΗI\\2gI@)H1϶:*`7gw@{ՍdL72PMA[(ڢCu0n=ǹ{K-4|`ߌ/^zȲ,.vA&Ro~5h 9ZՁ;]u47ʟ)Kd4yf[DЖCOňЂ I axGHcg;]}sNp5LJRRP53Q MMB KۗhiY O2gX k} tDn9!%$Y/]c IQAC0.fso.,#1g\q/Wwr!U4ct Pg*wm)rZ=0ёJ䐺MRfdGs\*>2hfh-PS'&0%(ڤݮo}i+XDghoھÀ eb`xFŒ|f,Ʃ|$ڼr.$_S]jG&[A`e49ʉ x3~-z7> 6kݮ06]ߠ˷(@`:3d<'e<.?Gp賨pSUR[]psn HVgciLJN 0}(cts ߊD }3hluSvA/k!@ohLjlMǶ>r5ĪrwADӖzHʭj6:lX2Ox7x r? jޥw}gjbŨFȐ¸gy+,w{!\k>}/dbN\sDaHED!6#\;H#|ln.I@|ʿ6XOl׫; xBL@?|a h`3]§"^[U keԾQwD-X /T:x)]V>P' [* JNISeMHvhB-m޼NMED W2Ӡ5O#F745 z?p`i8$6JVL|7i(}NNټ:ofozr(>X+)B'pw^}&ިLY"+hvzxs6H]u6U{G~)#e}Ѫ+Y"Wt=}:B),!?\G/7-bSA(qMRD#\&Ry FM[7Z|5f)v8)h `a>a聊`؉]O@F Nzh*o#O٥ X&Rk:cX Sx _r%Ls,17R˸)3^&*ƒ!7}q,d/5ݦ/~X}+\(VϵRCɶ9Z V;km} ^hyYQ0P!pC2$4!j 9\j)Jkqՠta&3z~ͮh:Lyx(i8ax>#9- bCة'.6*̊:-\[. Ѣ)XB~@Z/hzZXA;yJe"fCXSۥvo- fԾh.pȸzY:Ǭ%=科ޖ#z]#q^<FZr➏e0<#C40:!l n"dj<|TU dx/Cmg@~wN#~crr'E)Jj wBҸ|d` OAB@a\ZM(Gʋ _1l7GJ&}&Cx(fYPaɤE&yC;R"C]wY&gH< 4{EAK4wP ˠmdb>Hґ!0 5MHxu=vYowf }ZXB)uL)h.#$DZuC~> q2-(2p+4x\ӨZ%~x7MUM9RQ``anNM]rѫpT=-p_n{]7]tȜ3yY‚-3nsYXJrngϱT2dtbGO?l<r=<s{(m;C؃vhoaP=7." RwGPmcїܑtțJA&aR":q{Bȋ KA;~7HϬϑXB:`[bQFF O5<+)P!4R0^˰/\M%l&! FWiN(Qum{OC#Hjµ}!zb SW#,A K5=&vT.22B gD e~nVHtd;kΦ}Z*clB'[8yiLK9BG­OtD7P?,y7<&5>wU/dW[6qQh[`w ݂Y4fFvȴhqMEdSuSh m!dxZ;z[`#|fvy\\7ʉH,h'maL`Vdqb1(ZZz|AavA 婗qpj| 4>KeKŴ^6R>|~ka1PT.y Pp@)EXo,9 M| 砢d껶g _i[K~th|G:I -&rE͠ISi`swdΪnY^'jPO1UN]_a>Eksp!5#TfGSNYT, i!M<5i3S9lȝFB!--aj54>Gj$Iq[d>vPRZ 5Edޏdak:VH`c#rh *A@q.6 5Qkʊ]ۂ}Bpy P\)}C| R2ڨ{&ѨaGQcߕa>CUDIsי pH3gH8QۛF@?T7Dh_cm,hY ճ?~RP:|Yx̶dsᅂQ(a{۶%$|aH7uF h/E9 ^+Ha)HTO}͐OP \@$U?"(yI+Gx֕"v0V TtBGN8mҋ/ @d dsrr .ixթ$]!WX^Mt{­3~qx~IW8c¥;LQxH(5JTeWR0;n[bR`aCN2$$zhD&PH, mI(VV<9<&R'G9G!\1zәc4np9;9u7{Gq~5p,(MYaht,7v;6Kϐ6R.lR5{W{ 3u>H3ZmD5J>apHo]2}qpM-$5W>5վ;kooBmٓej{OڰqJXԀK^$ ۥX^|+x##־ '7ݥyӆ0UTueAHܜ7O2![v"& /ܲbw ~|N۪#[&2.1 uZk<ƙĮo(1n`Ծ S"/K:+P&n3\R#Mt%4U텃]qܛf4qFZr=+Hz,%8CZ =n {0 imZ}X8aJyK ӻm՘2.벊^-$oMMr3LD45N1{qs:Fo=)\^Ȕ&l!{Wvx\=9j4)VuH!݋$qC˂W2m[26־䉜9ڶDkZii+`]YԅtS6w)dHdzK&2B. *r6|sUnTqO )vHhvHģ R.EEey(0=Ng?XdpZ>]wfn6Qgg&/P  (8aG 6D-GoDj"&}`~gr*fy_GbQ\ R|, S\73!X3yCXV1/9"フ-*l>*< E4\wF8N}2\,"aURq6@wP%Kw[ @ળvQWQ!g9U;vr="G𬞃FIWbP @lg7nZty! I@sȚ,2a(9 ,IKM,F#f(hbfJ!i݉l<"*{u F=M;>A YA ; ^jؕ?24q`;Wfs8x_wEoC,K Cj;y]5/Q}-uOi B\0vqD:]f&Jecɬ51oy0{"hHṶͥ,MÝ6$s-s؛/~L'b˶Wg dPDoc폧7*E?ޔGKp%H s33D o&K0wV̵4@?aޘc7r4n]Ve=fJHe{qbbs\RYV _Ӥoi>o~w8JIJlyc5Qh%qK%Z- :y#r4tߊ@M747MY!VX+Ӂ ?ft*6HVZyG]5non,s iqfV3t^=YH1l2jx]\+ʞ6*nX 0#>;ߓCbH;{v0 g"c'YOl2'Wy+6B5%Wތ!lFǴsE@JAȭ Os\0p$ƈ##ↄ0H5۾JtQv +:@=)n~W/xOMw\8|?Lio$gvW:Xrt>Ͻ-8)Y< &^+IxWHY->~ޥyN}1o,tNs[8kW7toj)"a-A=ݭkW(G,݄8^@  g\Uxm* O_bFۛU#> h]ޘWtj7 B-k2W5]^oߥ0/fCao H hQƣcfb?NGi?N磌_'FJF׀@s<) vF`ޖM>-q br?%k[OAB#^>,O+mia.6{Zr#bw2nKqCG3-jSr3ie@9=Zc8a7ZEUH""7EqbW:c2oHi\,(\+:ϼBC K*=O0Mz./#Ή[dvͯF=:TyªHü{uGЭ|7LkH34řQ ӣAoBQ!W:$CGM MKVi\ə+z$Ս KuaE%>S"T;q]P 4㛉F)8@.<.ɀG R!Ȩ.LBSy&Uط~Gl$)u+ jP+xKhG*+ڊ>đ7:|9 0D'\,n];'ɉ,zXYT \YIh8-ﱮEAZ 3嵧Ę*$Y 'y]O]s ΍~ҩ_ eFm5?zL(G@|«F_$ uq[y)nH,YC<$B_)?w8aZ 9oNY-%dC% 3NzNP4H'2c!sDc `kOd|?3HC 3>%A1GE6p )KL9FSK-m;!477}7. 塼G9[-2^va,9{ܲCcn2>4NNts}X uXOnZЌTW\C{ W:zEhynDM[ψmzbiNN@R{,5>׮ڬ~y`f[AL”/='fcpBMPHsC4=ʂBTe U:`t ,?hF-Do72t?HF+&&ID[D1c6i'R.X_ v.¡Cnc G0Q҂3;5^Xң鮍4<#g<>[m{^[P!d,̺(V*H &;)V3" e`sRz2>6gsCv*m&&Ty}^Q:13< i+tq~dAQNAGgLD|EhGNW޽Zi]t* sl_8g\m ?Jy[_^o܎J]v@vN);?ɡ+ QW,ҥ|u0od,/;}69 Cq/~-K0_whjF`ExbxFozA:M6ٶrht7 QӐcJ؟oαk,uCy>v{2_4^Z+bGs,0|8Dtr|pEF9@Q2vK7{Ym V#}G}ϭ=xSkEǶ*B >pNL%c^/?5[Wg2J ߁z왲EY`4J#썱W2k᜚xxU!v[^:Rppq0=H/7ޫZĴ'IlVdP ywTx>(e +,qC}86_#-vaݝݪ\A0<#6CLԭސo48M,!hpre1T[Vͥ+:F`^sf(4Q#\ I6GX#;H; gK:ykI_fHs_`f i 1tMk\] .H("=jR!v}?._ Urt&mkeĐl"pJ9z+}"a3h)4jêtf`:yzrbE2n"ʿC [QJC|9<4I4_jX(ҵJ[",ѡ}~ ᆛ#u֦d̐wȳKso%Um0K>?~_TwdUz7"4rWuKByL r[1uۃ\im{-_Sy-AID0tk~TWҘf5}XQD|ޠZCzIT~q ivW%8V J)Žx須q0i02kEJ4ȧ< _9g]/^Bya !l+j" k!t>%:),Ƀ"xafl+$R~ZjL0<.W$S*yx['OB{Z,V4F},} 0y%[~)vfzn >-U"8W1*r]i"xʌX wMShk {'4meE%;[̖b;/)xZ1^-8&SL| Ĕ~`(!E,mvR~TԎZPx˾&o~ϤԿDī1Ccޑ_i}[0( ){#=*ʉ#*͞dx2)AH!tBkݼDCuLs4T'[Tt;aŇhK dQN.^c t .kU:/".Z~*e{'Kn? m/h霐u?Ii(k!&ITxkVs/b]$ <ͥfґtCY!u5y ZsG0p2ᾶe[I6{IoM~šeS`޵|U-\oocaIo X,xqHcKaPZH?4#eSZ+g 1n!ؐP ,*ɥsܸnc W,Nց8C7&JNr p ||%Z@X?"]s&g/"!a,OngmA\*T#G[rk&@ߤq-AEhx]!'Yc4wr \nL)Js4iwyؚI%'\ SK mǿcU&One'gťs4ûB Rq W~PR{U@eo̒S{MY^(k8hTH_ݭ}:"/u`5"@ lѦ0CDl *n5~bb@@Zw7h23W!/clT $f/"%6醽CLeᴔ|m|tw-Co0Y㢠#z^ t`I$ͯ-Q"j[EsVKqS8H\l?Na0 S 4ٿ>s*pe,3Q #J$o B)#Xm=~ |4}&#t^΄}qX_DTRUkR:LSGTzQx)ܹJV)붠v1`򃴇+jLT *Eޘ|Jaߺ;_==z74hELTb\D u8e[k[܈C# `] ˣ?0es&5Fpj:1ɢlec6SԌRlrGvi1iY -d%&E1r=yg\o,m'M҈hrIww @uk>+a=x=y%Oeo~!\t 'MyJH8ۧX!̻ȟ**& r~vE-k4.kO{˦v~S#le?\x릶[#"̐eGacP}< a'8T'7&O0=xͽ0m1!i+uz>-Baݷ _H/ 4ucDQP  s2{{_ Wܵ3KPHX/w80wx:,4HK, 6%ԓ׌2Q+ !݊NHy,uO苙m~4=qH:OJڮb'Χ୤5ZƧM[ٓd%G݊z"9LYG;zd/z̕\&)3;7[ BXfp0fjUfPk6S4|?ǞCkp7.s$M}hEtX2bp8+P(m!"%~p82SU$݃~R[jT/7eBA.^TRG d*WX% ~ql>񏃡nIFދ>;īlq2>>&,-i|oȘ1 ?# slFTki:&,aڤ.7in}kprv? ܐ4k'Ǔ[;5pUȼԷ"7xqW`!ah7OOO#C 2Kp}ǯv0;T5a`"Mؐ$"2Qc挲vv 3_*}P\ΦP]Z}_ [!3f0&9b~s,ƽXsz7P;AbnZXT=kj*^!B~ ׁTzFQ3YbXRJ3bd \6ބV曦8;Vd BR"\LE62)L'z䁡fG6ΠN*ˎCiy38o~ (f"vtǒd6>hVc^̉UOn-MA̮EnRKu \|L᛻5%h{F1OT뷵'BG.;yJҴUFl #ïȐٖU*Y$j^1Sta!3m%V"ߜyA\''K|=߈>knVgF1(4oko4MgXaU/pA'8A7 i2no=8 G$kh_&Β[ik|D*/Z=T{MQH5E@5tѽYꃈYk,33>-1'OY P@r0|b֠)oq!O;oS \=,< 4#/G1Uks$ ^s?(0%]X{Xc"L̠_Ƙspt:ƍN!a٧r !AC.|r% _AMު_MR<73U ťbNE=^v~/GA6o/{sp;ɄrBl0an!I8jd#y(δ^E˰ҷǐ5[OEfHZy- [N١PLkI7_1ytwN۵q.l;β1x_[jnYүh4ƊaҔ5E 7kLޗ'$?|=v^-q5cff Ȏ$Prq ГW Y$ :Ww^Kl8?hTz>X6i("syyV3;lY%*;<:r5`ߠU B4&I08H9E\(Z&CEY)u%He(:dޥ=k"˔&YWOqSj]":LhV>Ύ8f{8඄@PaӰ O{CQAZV1N Gs*ӪJbe-,89 ?> ԣV9Ѓ!`w%B{slHA;kѓ\zCa#f?:dfI w|2)&§M/=:&߂|J8oZs^L|[eQ *㑼] _%dMwgwΛzJ6[ b"B1~֭.62_#g֎$ɂ|(Мw2./NI9 =7b1tAgr"^|e䰳n3HK}^k,ڗ'X"S+RFlZwi!M:zTak%agnRQ qy 㭺(G0QC$aB^$wR}C6X{__7,:W6gJ;KIJpjؗ⵩]]ңzGialZ8M5 U²s_=]mB;>FE K>5z 'MoCmü怜skpߊmBѽ0nmg3 I}KC #Ijߚy>E:PR ӠAGkYoTIjpՆ3pJ `k>s@$S(mؙE@KzryR=W+l\URMĘѣm !2rK~ѣ ;68tHc|22W !ldҮaۢbڍ1U$B^SaZtĩʿzĩրܔomRsW4RVHfܢJ[/!?4e* `XphZ?sKDȰ 6e>Iee[آU:RGKWj!1`T 3Ds-LD22€EqVF]:2񼯥8ߠso 5&}B L$3'/Ѕ}"6YCV^WCSǭOs7"Ma .bJ /!ěM=9ٓ0AnL> z,1b?ِ~/™WÙMƐ> `V_3?/Q_aA~TڢO䢗0'-gު8*t10ٵU ! 40ŜuNg͚̀b'2]=Un/ /v `kuI5 f0/R/DGBd3C!2 c;z՗Fo ) $Sr`"U_9D AM<+nHGfmq]8X, I75S܅ jK[J AI uz{ 5xl|F!40&zrPR:7?-QB!R.ņvʸ]F6Ŀz3#M㬫Cb}=GY&y#wl[pEDvywbi 2\e .ޡkD9us9X"opkb0 r6bRФd$WRj8 8:.[8 OR8B>ސN67J˧]ȱX}\>}U1m\Դi+Z͆f.*{!cEC %/r_> M<Ḑq EBFeki%A)Ofռ9ff^CY c3j(y_E$]VHYܶz6%ލ"d[yzGq.@l mjr) ¯k 7^зJ%s:JݞN!r;%}a!PIqk[mPǥH&z쵫u-d!W#;^4_z9,bB*NBhH@.2<$_b9l; @ h׾4<-)1E]ʥLt3gZͅGG qf_`bv͒_v`(* 9W~IUꒄR\uÀh1Ik !ہpDl*Sk I -kc9\(\g|4pL5J\zwmI >ԋ[pqij/l|Ұb!DiFtOdb5Q1`Dz2GR}PbVtZTc߈97pD|uPH:$Xm\*l[=Ϟ;U%"~>,1r|KnO|,5 G![dzz: EJjsU@AԖjrf|W7K :C@(VoU/Q]#QD?3j 'c-[A.DWM9oWN"k$ |,JyL2:'O|H mϞ/迆Ys`)!6aFA՘M_=C\ƖF r([(1I@yѝ*jk2Z[:ZU ̤͢h $tJHzcbYyT{]R;8\*]rnζ{fP)ngT-`̰A5H)"|1A(O,z<o+edtV?K5Ыw.:^$bHK{hqII\DBxXbNj՝@]?#O0 ?_9Nq>s{) Q l A6:owA&gm!)\f\M`+Č6HB,SlXw\_P9#d5"WpfIRLOwTn w@-श}Z YI5#y_:w\2[!] 4<`D}ZCOY>K= H' ntK,LSJO*9(dO۶fDrn]&qƖRKX"-T{ (G8!:3_ tɹ+R6{adQ-eʓo޾ߚn=caBKm߲`5Kb$e}΂3#&{(9)Tْ:%ƓX7)Cڌ&^@&Q d?#{wv0YF׽$ &qڷQZ~ޣԐ0#j#dEݗv?VCԫ|/m*&idG)61- {L2&,hJUj>Bj sd AZ1iAnj8تzp.et3Iq N6&sN=S4}Zib J؋v"V0iא-̄#t=izl,4+TYk N{(w};EX^^ޗ | O|O)w/*~R0M~bxϺ'dsѦg9j~uZ~Rp!!?lUbl B!=hFk.{}D:g?Xͱ1Ʋ#~EقrTp0-Ǩɝkh&J<9腃8R9k?K;pVM 4MNK a=SWݕU4@-y7Z`ik{SWH$*[⢏{R0tIYKs %\.k9JuUkKއlcuv01zZD>?r޼_fȓY-QF;31PG~^{INW`<مc۳vQ퉝2 Zu+27Yzoyp0mʲb4YG%վ1T]?;p6U7 IPO_өp* Dyl^Vh:*2&1;D R<-w_Q& 68JO-d8=X.2߆\(We[A4|?Wm's.⇫ `?F_jv,2YE!Ń9"a-|2"Z4(8A18O0ik tSRQn[έATq Ceϒ3 8Lnw钃`JU7׉|UC9mw49VeUqY)S܏ |njb WJZY#`| w~FuA+nH<~[:u#q u3Q="Fx,*,f.Շ9EwPupC{ v݆vPQ'",, wx`@yDV46֜z"-:9+X{6n^C;;XuWYO[1__"=_A;2Nnz#ƌ@zsci:ܷr.`ΘrO.˜!8һ% $U:za~4eGb$7<Yr&<{oˬk,+UEHd;Xɽ6zy`^Wgb|WL l7=|2 o]kE. OcE!Yc@ Ȗ2!]!bgxK^^qMZ1z )1'L@x5 G>{LQ}=C!(2 u~/S,"rx`+V+ct K],jS8Hb=+Orrx(TM:?IbaHr>Єra୹gdܯ'6fRY3ؿcP4rK>0-l'hQ?ra(.PHS}VYSN njTv:NrrkA]ƦIsony=Nޘj.ևHYN__:!(\wmd~^#fIɱZbuȤkapBEK:_^ymj+U_銼y - }E!^9.:Mڔ6^YS/#zhY<}DPB۔)fJ>s1vEe;E^Ns?9ͫkĶ9iv'$ X٘ᘇt?tf}DKuoB^WA@Ha cv9}μyQx>'2=9D"I&aw?Q[锪g-WEgoײ);IG ɩAu̯sq{j[!M&+4e-rz*סkG{Փ*%\y" K^=ݲK OB;DIUkr pmrq*/\xAt1~H DO]jKFCmri!r"Elupf,F]TGD&d1rQ##DM`^7Т3AW-߂꒪hECӲ+ۍͧ Yb _]M{&Z]@Z65ohXs|89jla6 ')8nxE[(#(&߂~ +DJ5N5֟rvCL<'zȢԏ=%$f:пF Chd RGXJKݐ+!sJ{Ee>P<)!z'_Y}C՝* {% ׌2H/9ԯlj J# i^o!"_4hOsuW;uJ'8:X(ιg~ev&vEpc_~)usf.*4GYw#` ƍqv qrNQd.6sg 凄HiuWD~ɿV^p#ׅ@(,?kcr>"ơaS *05"W|JOu{*5p?t(Hy%'t_B&2 lt?D7)KgO(&u+!gXg8bQfs5P,"Y2@yxUQD|C^Y!_rK0`*s"pN!,+d֤-ʏ3DcZ)"审r,GP|Jiz9k2Eb NkxڶT3B([7S&ۺHr& Q@]!kLjuV,A| Ju{%b=|\DsU9pvw/Fڄ5m$.SE>biv-U'{!)@+ʚaU;I{Fgt[ˎ"!z-m$tA*!So.GIsF¦7gԓw)hPBtnDzeg$yV@1ehn?IL;5 J==Q#tI94g~OXi޿ɶ>W~3\GV  w1?qkuPI=76OO. >awYίWwOeppg}Ŭ$TXa]PiI =C1hǘK:v*XBK엎47r ,ls| 6cOc!t0:>Yy߃)PXbly}$.g I1Hbii~*2c]lYJ!% 9n3i2ILy[1Ѱ2nx k_XZCPJݔcnAeM/gJU/d"o:S/Q5P zIJu#x$x;֊p}\(|t|# eߢ⬞]u^vc7j#a0H;0@lYd5 X+EqvIP~IM_NL)=d$aZ; (vL R5,QduRwhGO|1+n LE+o3GLPv yMsx+m̨Yc~!>qp:|f^[f*fZ)۲D$?~8U10ƿXW2ojP}ISV):Ν`^tz1]7vIEx;![[,yv,TGF\'6){.)F^Fg ߟ+<]f|;""AWh='1A3t_^e$^0"׉e rX/AجrB+֧ OA@m5,d|K,3 NhH#@Q+;N%Z.|J5Sp?G!u/8,ldSof•G"ScZhS:fF. R= MBs@ZŞ#gϋ\n~'VHB%lOؚq=<{lE.2Jj^Ԧq\6LMkVcݿz>*T4`Fikxj/N_Q{I;doqtb[Ђ *{9=w}0뉈=S uy}:>k'če3tk<,4wǒ .wZA64xt1-$ӽh \t:AdR|Z{s漛7$E _,p ?>۱~ iAp)f#lEo-~[ XÎɶKWЦ9'Jrwmdq΢&JGk;d\c=cRUQ_,Sش ȀԠfr]0!8U=ܖngNBjsBͣr%ADwSix}Ii CvxPcc4/B}EZRzy(7}о;LxCJƩq2L&dDli4x4nx~CwkяfUc !V?4&,]XfeQd8U X8Xp_>>!qքըé $nyJ6l{(/(Fq&𤶝 c'%̊M8̸,ַ,z*̐|4@o>#a!pZzѧ̊ sik=ʉ'䍨ge_\']}?0 ƌT|> a[@mH)yg+ζ&i@ϯqzEMMz.yFK*9H7 ,,pBMƼ̜ $] 0w*on(Bn ' a,˙OT@6Wr#; vi{\MEL\hp:76Tk=c=$\kpi*=Mȕ'g'd1躪DNnaXN_@jm1FmuǿF6sF׉]N4nXQda^ē҈HH¬~x\~Vsyyidf}lcOs=,x*EFt-l=~ zސ"|љF\}du]LPDO0FUnhRƙ :ˉc6@6qH{i" ijLtc76Q̞u]D:w%*"=U3kKĚ }OIk[XK?e' 7>g~}#Ѳ[ a&3$$' ߆':g/7*-e*4ꟻ~u3Ԙ)*A%JhcNiCX~ckE2)^_ҁ՚oN/2<%NJ['32w~@ kkj+!ÊEb0,V:&R$5Cc w|,TxvE Anb|T337w63k23u" }zhzzERa~P@t ل'Ol=e dӓ$O۵u]ifMѿ'M)瓥gb1_G:|!Cvœ#r /7QmҼ FPnsAX[c:DbtD O C#z$P8fM#ޗiqkqBZ"FΓ&4P Y<4eD|7XӶC]=WdaM@𑒐VIKkjJO'u5Hě#%FT\t| Λ/f[zK *>S +?m At!+%Ll >roe}b*%b 7b") &tIw&Bi [LBFd-\E_$ֱB`Ft {l̀29adZxtqfpp :E"㣐וwqs>p,@M9"m؁ ӃTe)\*7dc-5%Gr lB@K?+W(rGngz:BĔ7j>E;2[{=Fs.։uݬ '[+}iXMP/'ƥJZ](7߯g_5# b̾0]>H=DW )hHz w3FgF\Mб!s% 7X^?Q;Ḫ{#^HZzΫ_"G0 (@ NmTJH`M?>V2ڹSwI: r6:}|WALC&蓝m'P̻LgIkoL}[1 |ź~GXUi#[+O7Q@rAVӏc!(+jhҼ"22K+5CdF4n>]~NMWGcg>oH )!&a6G>gfkOD?u Y ѕkӸnvŴBE^zM<Y9<3yG[*Nmp΍na>&ב!{辳)}= 4I=)3p HaRlaK3Ai-heHBF1exOTKĆ$/16cXL֓-霓{,[vlcџ|lflx;[N'N::IL#hapxicm| V@6L!\124R~"-$ lo*E{z}a5ݷp5ʔ.xaod%*}o{mleM@E"Za诃l sd^Z%~',[b{q˜(޷suJ)0JJ߀CNPǭVJ`]Ѡ<8meЦVV!ڀXq`\IEZ/LJ>}-)$:TN*f)T M?!ɿ -]ٙn~tto520 69%)A.(N -<)e:M):Z- קQ<M^!RJ&02.Ij]rb̗B&ן9| ~t\bkuV̼G'4h߀$V hD8o{Ķ}=@cZ.,B^:SsANbER*ŶUj!% x@@(doY0ICc㍙-M9;ِ׏ͥ.[qAԋ-BrƐRH]GFbx+q{}*exxOǣ, |&4-"8) ɳޥrdK.3K 2X7(D2Z$yj:<{[$NW !n)Ҁs [aZA1{[xF} N;kTV.@2IR@L&"+g1|vu52#̜6oX/Q7Ss-ti6Jt6w y<(j̍=[<9nO -iiǃuρљ)%Gʚ61!Ѿ+I#=pWÉ/neE4ropTё}/9򸈞vx[zY֋vbb"6:컜eoB/j`;XTV;u 5r0TG=8m-b/%6̏'(w/F/?2f4c>QyEtOy) + sw/ /V*p\_|$B #jrK%2@L4阨ؕ3ߜAz16ӶMaNIñMᣑ[.Q`9fؒ .Oe"%=A C^ o`_ޓٌ"^C>2̟ԹN0|:H4 teb|YZ[cD5wt-WC!:nz|@8֋LJnDޚ<Z^qxFYj/hF}p1+V>ɑwzn@eefԪ ĝaٹ̋=`UI#\^h̼JݙZIu^8L;Ls԰0h"sё]0^uqPnO`OAWWqX]v1VI>u{kS*ڲ 3}-Q?ʱhC<vxWrg6񭿥,إ7hf;( Z${/\ÚpŲ6ڿNZKzj s[ Ag>mf1`B`OUӞq_kN}zȎMoK(* Cϥ7x-n훲"t p4[{+qp%WS Aywzb+6!~%Y8&M.'e!Gc@oU%'_M #GObgBԐ#dB̿륔i ?fSb-Db|ޫaJVl6!XEd >^hlH;=Nnimdt#=HsH+K?2çK9z)JӍ~ȮZ}VshرoӅ$нf<67dA3.s+k@G)Oß}"Wz`ifl:t2Ve&a$ƶ-#^; c"j=.u ALe֩N7vzN[7'u5$?7"M lpcRf`塚LJCI0 f[Ո$e'd7'7, ;~(2G-khϡv߀Y}jBZ<$Jhα๾Dӡ%JÛՓ'o?'bfwٿDHEQpÐ57x! Sm8zH=Ol_ju'9=o^UP u^zRH<ʦ#a Kp?1׷7?WsKhx%E+Ql:#KG܀w7_uu}z^U!h;L3-As\TKspz%eoWn1o*s游"J>s|HwW:(zHh__' o _ L59ʄzD}D@)±Ky1}z-DuɜJazx@~Ɨ'KHF,1zn5K3xPt~hJG.m&}B=$fQ8 RS\}si+uyp-)),&&R"e S(ݠׂ~*63RAډ|dpb΅(-LuY7񘃱u}XaFB+ 6 1^ґ&[qVԕio_7ࣷ}?ww' pUYw"P]on~㏓$kh~WE }MIyzL py$9 Q*Y#V{CO,&tAUeeE쿺Ĝ"t 00շU 4+P6_: 83՝Nܝ朰oWg݃KJ{kҐQ,w? :52$x'e);gύ cÏZl|Vvن@ѥ]||C(=,A ̡} nJsI/$n߿²\+㱦0]L왹#)A6.7߀8 aYd?-yYW=E "^{Fcd锏puO38f=[uT#1ʫUR>?-΋CMיe7u#W1%S 8JܺXE)cz Њ,+.O2’)D(IEԜ?ucx]RxTv]0:\ZL9_z8GYNۼЮCW'uu̜\59/\!f=rCXkfGe;0Y!]ExXLT}fɚt~`W,9vvhX^*[#U|""}X&h %ϥd21\+W 꼣IW,a)f~5@_ Z}؜?ddU]Id+b=2of$?{+mOoĸ7>&H Y`d (+#~Uq/MLt}^4O7)bxG=28dUIs]esyM \Z ?-R<8G:O$ύZ^oe'j{pneH+bMJaZ[KhrMєI7Q-]cqX]" J!e.5I,.ήӟ2R}jTֶ @1bs+tƜ`gϴ&{JV@1 dzJd'T\[aF8 L0Dm U}G*TU݋7:c3~|.>5ѿe3*53p>aWDvQdҵPUTc-/!)pQE>~5$bb|kG2yS52 aK@t9x?2b/OhoVՓVY[+v[9Jw:K#Kwbq4p (ǥlߡ#ƚ=ˮf1ek)G#:@qZМzy0ټ"Q8xs"[%, S!N yV U3Sl)C2>@*&w=v&&G (˪|6Pm`@e{_0O@{űMtdhabvuNwnb e6kR+ǁQȀKn9Kݼqr 3iK4cܤTmM-;T?̩?4lvڛYR]dtv:v줨Ud8 XU b-Vk?OKB˺ko$jaAxK&"na_a6/pҔz{-l*U5OQTzf^I=7Z*ɽIaփ OZ'y=H{uS2, =jTgcՍ"c1,/m֕D>/iYuZ\ zel-7`WpF6>qqiq!xB*K0~%o_@+*)! Nt) JӲ$,n[5|m e*A>"pr;%kt;.>y8DZ~~Iۢ`h'y?@II$fэ>J4%VҚj/zcF-Vlt/r *H,Pw]A_?/N=D52n[7cQ1cScDa}0 vGt9ɏY*?xƳ^U RrA ¿>дyv8ă2T}*U1P)j*%>֧+B%AG0& N:]ޡQ?j؞RA{f Nbܪhu1)&UIDJ?#0!]x{9=5(XogEQp@m{k_0#.فU҄/jd%J'F? jTRG9F+.es5ٗda))mR_-NtɆ=ruN~?8;1+P`g! @ * Rg4%1:z1,w_W׶U>w:֫z_B%IR6?V_VyC|=1⤬5_wvśtk,lbBQgHQ׋ꐸj'1*Y-)6vRv& @\{z[D7}ftzQ@d5e1FK𲺯 F%mUU7`=C?U-JSbk |3Ì-TEIŚ,2hAis& gNZ #/s|$6w|E/7+̽<5P-ε9Pw)EFڎILdY~ 5ǣ7X^:ӟ֝Z.;nm n8AP:B|4JV`geG{`%Z? &`%n W3ȔKEj~XL #|Ih:ZakDdcD5kȿs0t]>on-(0+tI8SiFNF_:s\g{p3 ?"%'!6e_Ikox},20 RD%+73P}nbхmgkX(Q) v_Fx,d1hyʾP}e JwԤ}{O`&KJ_d?GY>ܲj!yj$\f(ѤJ ß+KQn]'kR`0a8<˼eVvA~anu*BExcPMj6XRԻdhZޣs17@Wd B.~n;zglΟ$2ԅBPJ}#/Hv *huGܱ}\GwYCp\8.[}` 峬 ,[ -,zI6~~g.|Ϣ5N״AzK@UwWM%!rCbʊB%[h&&E[7VK|(E*U͵"4 |kTJG)Yc3`%>h"IiF%ƴÔF jփ,%%uZuH#X4qB-k佫ؾ `6(SؖH+;[},%"%L|zIs&Xگ7 Z(j qVeXLهGp ,:Jrߔ; m 똇/pc7x$?@[%˵uu}A `P9@]@$E.+-eC›cfkY?Z8DҧXFZñ_}?IiP:&OVH_a^< +!u`2(wY>lWY.tl9k/3z8ֈ=@؉\/P&`]/1[~Lc)=T PdT4$͏f+9rE'/`=t)0)ꙉ))uK Fߧg%}CN_( HepF,;gtԭ__ \OχGDeyj]C"cМĭЙ(C,$bO3@V`߱|GjsGW'^è>Y<xR*ʲ?öOcyt=Lkk~'cBT7`})(˿t]W+i%%GrFsj>(E^ZCbInj?ZZٔĩK*?+^JbZ.\y%ocGu:X=[K!c`H⑟_^h2mƍn0nن.S\xH pztpJe#d۾!""A-i楰#1Gl5{˝BBRx j=Zz _bֳk%`riw(Ǔ6&lg)5> Μgntk-cX.k ^vj¾Yuځ˼VU~,LDd ]wȣzZUK+1f8D) bO&^E9!27}}ԋ9IF1gNZؼM7|4bง NkU7(LV01/ 'p)ۦO:ddx(AfC#+}U כIjRhh\PsbF2[g๚ u% k۽9\ԯD$5}Ӿ!`$/9] Y1B">% d (_>8>g\'B^{<͔Jim&꺿Z7&%AyF=ݢCB І]J>=+Nd7HN+ ,5 lnm )4Td/WZ2Voy/?2**з5ۤY?j}GElnR&lٱ@! se1Yܽڭ?&_zSDLbQl/ ;P@2`YF\8 #O_L<vQab3sYv"[ɎrcTefI\fQ{VJ2"~f`>5gD3dѼ7+uX[!s^ϑIzy6ݨ6ӑ㲣n)>{Vus~+ʙ0+9FZG:ELCemD|{M0_]l G $+Mp5Ň[}/d[,HqEЫGy-d!z=%__̗ G[8 Wz [,_B,#?\fÕEW{),^Kh|j7MJ6G$k\51R}aFS@yvpe *b{!-|[JӦTY߉)y[)`86Y|gCDڭq?*D8I"?ܐ9'H">FzNfKWLnIX[+Ղ*uCvBD&ײQ8sWH6Mku}7>_m/N^dX@ݵZ%'5jnh(?C)26&G.ULj.)}a nBvռx[eXRd/FHr(5kX3ӰEw,yu/$gc-мPR,c@L%'#.)wWm[5S>F2{>r\ !*kk*N3Z|o{N◝t]EW <ШqM%+8DZkS0yW,z$>Xs!߰oܽ\o7>cQʴe+6lUυ_U}Og)٩~Z_a?ZmӣP&TА2SrIY_є*0 x9yv>ۡRY,„&-]2-ej&+C݂0>[}A*$B`e{# tp>>:ϿDY!p/?'fl&bS7Vg5yQ-ijlmI1YRzS#d]GLz-Q}h6%AeRެTV ]+S"Q/lEJwvoLu顡;Pǚ--:tx`%L3U*qEw-2V͒P#7hE'8z 肶VUub ߤ(F"#ZU#:|2ȭEljh`?jzgݍ_`6,H>5SDr͈ؿoqfGA#.7"el}"#Zc kdye ݋tOLޣӗ FQput ^j"Fv!/qæVvCz֏'ݯr9z61KU^z_FH3>>Ka'9H H}? |GZp%T$FEdNul= !ܲC,-\`>y ]q?GmEP,piHbCZm>u\{4hFXg +s8_p}fݺ*6uF^*쩾4h~.l=C=O' P?p7ߍ鵸O‰S$-8z87Fk)~-uX> ;ٹUVkt؝;R kCY!WfGӔm :#5[µ"؎ e#@,YBiUǨ`ʊ)5J^vF&sMI9 ٣GhyF Un MJJ}4 ݔc}h[H&k POӏV~(E*Y =<7GrK1`cչiǝ3ζEuuC%%p(A4yŰv}T~qXQЬȐ3L! !b6Ns1҉4V { jӼ'K:@mk\2 GXhzBr&w<Ý,ݤ@0: !_WW43g;l}'N8=@LU1|qah4d<>O8_8y<=HumK'wɷ 1SF JT Z<$U^9`~.*gT-U5RI`jJce&CO+o%wlwmӲ~SEao.]ݦ!;̳E띫: |A#י0_K+%d\Z Dh b5 )[AJjB zyy<`E0Oe^mE}ˤ>LoYjd# D讏M oa} ^b k ƯugߖĻ툚0CFxS_3A=NJ;섄$ F>]SWRM#4h/bdԦ\ig5N-=ZRmvM벯#9}h_/L ; B_[2i,I59\WZuK`8/JLrd`o9#4x̲sQ`2Q%܁U+4BbepUKP}_ׄaRTnE[!OCwnKhLJrb ko:oiR Y)p!gu<fH qI9cD/&F'{ smyfE67ֆtN B 1~gdE whk͛gs)OJޔT|&  ёMuUއqG+x '#j)~,E lB].OZvU FHlf8k/U[qW}8ﲖ+2wsm~Bobya!D9u:ϧZ`mx 2w'!_0 [a_{EY֞OlWd5Yřᗟ< ^#[ySAaZ2Xx @~DC=OE;$9t1Fxq̜[i2P}3ȵDd?EQ7t Ɋ$_UFs.c]7G O6tx+a'kQ )Ѿе4*dI0;מm]y[[V<\s."/-#œ2ޢquܭ]äΡ%p>SHkOwUH(-Bᠴ6VVѣ0jZ97f/ qhQ ;UgE>h T>w" e&Gn8u/9?{Dͪe nS0Pq5ӐL@vؕ>imüz+҅yi1 S]{'RKk,Y{tʅuv۫fRH-#FkA.&Π.ZsZnHDkz0q8:`1p1-eExMrf?4?E^d_9Kn&.V \MED>WG;@6:E e45zeu?vR*g"@RLw什lGN֣2in-]-~(o6aVv݈'5gLzF騐ŽХxo~'ɾ*kN*/Ogk=T)fUn%LD&O~刔=Ű ߰RRL9{lpmaM+h6/_\SXIQm3iGu3+Uz:(r@,wW}>MGN=m,=Dȯ=j8<ܿ챶Ǔ*'C. nb@H=oB5܌/MH ֮_Wod#\لD${!XYMM#?W` mUo[rBTgoHbTkX`ЄyPo2=-:-ey2$G00_ rYpӤ}eõCS7GTVد#S6u D Z AzR:S=}J{"uZbVu%ѕyXzCKщRDl}Df15` /iJmjR *,8jpvWCF`]7rcyL.3`r >2̹XM,ȈB.',=*agLk b`r  eqAÃ}>ReȰX.֗h9+Z"uY;2BۍQQ2$K𲃷g[wf1gѰ1&ry^ |:t̅&ܢxOx&hpJį"Zڙ, 0ADbEhziKPO0$8f7/PhE;c12:sf#v qqnO:R /F 3_^O27Kƴ@_.-V)?f4V^凃2~`Lgs>¬}p/@(EnT~)D3%IeRTg%}>bI ӑؕvKe:kid5y~]#Ⳏ5%mΐPY쨞iV3[}4_(n5iMtgG)ag<ٶ3͖YbC]_ $BR:ty>K:\la"V)$ GQ\f[q_Q[`\_y]~H:b.Cǃ6ac!.xQ9p|rמ4]Ϭ+w1ߴ^ۊ.qm•&|p*h5ڒgˆ/iWu~wSJ}R-Icknd5[i/ C%XnR5O],ި3X!3nXK7ba̺XȊC E(9,K._͍v~#ODP*sFцQ:`RL7O5cr~>^;FjFc snU(Ar[m8{Tkji2ȘmFְ{V!HK4ȱѪIű ׻"ɥ A1j.Յ#LYTv1j81"G 6fjvٓ@P cea<%M$o^Ɔ%@M`6e* 9~0|uZ-O0$F5?f鷔`=ܼjHpg31$$Фlzv>a8qĽ vأJ|!OY|ka,k%<iKxJ⽷(4S.9,L)TO(4w&%A(W;DjDj>Qyx.]hrTM{VU`[tT"jkl" < ~v0o4g o鶫ۺ*'/*' e5m_Vcݤgj!aچ||tV: Fx<}AۓƘ2$S͗"B%^O8E= #F%0 ~J UI~AdDTI ]̻%H%_~y%H4[8ܲmN8MȞ0 &j'p>fT%[ iK|6hJ?Usew",B%;ˁ'2i`nC ^}j`w/y~@rFSC,VE FUnO0g͂X7+,isagK9NŶ<ZC󀖗A+ qټB2t*y!"w~MU]&Q̘__ƧFg59[689۟eLs0lXt{vo9H!+_Q\7 מ*JٳxR%G.(byk ߣ Lts()7՜r+̑BzphR{TYJve#B]{].e:(%ݓ}$%B*\7כylXCׂ]Ѳ9ĨxR\YY?!Y̬a!Ău#:H`q췶xafDm.h_;vQgőQ^E0co}w~"j~N}fFK+yn~ 7zG/ܗ}sK-CBٜw@) kV9:=.!GB2my_=Q@sr͏f{|tA sG!Q(=zJ|%:al87"L"s@$B;G7$8JɓݓlvS\F&3環/\.M4sŤXY'Gq[ zda"/a"S™b$e3~'0"NdV 8Cxvѿ/iVo9͚ 3^(F{x %`ӭC`DEO*o1r)B\k6xͬ|]sc23.eΝ@\9nqtD^ʕ,}Lpi`uf GbMi'y{IwOxQR 7z5CƦ8<>9g+3%JLw(?ىh;Z=JN1U ٍ y> Z)"]||]A}26rmI:dEmL!FTy1/Ƈk}}.8eYr {61'[ͼ<)gʞb2~UщA6VT,uNaggw7,j;>LhME9 DfDȣ@Sw#&`;a`/ze?pׁ= :xl)/mRk+c6t֑'%v 4X.'7UrvP$&BJ&$2[ugr)+0ʂ2`WA$CF\g6m38?nrus&p@?hQ <2%r}AkXgx \:.Ȋ,Q5Ǩ &TVooV4~<8"4j4YpΣ(ge+xI`5!cB䉮FCSW5x[$->.WC!3cX|K:Sf ِѵnDqdnK0FST? mGEN-xdV)D VX@|uk-]+WAwOP,+OƯ ?XgY'JXeOyBnF:xОsXu baH 4!_@ta(։Ts -Pc0!˧( ΃'CTN#!'n޴A9Es?2b.rQ\ᚶsͶLA2_%yQlVGuR*)bY9v!1U.SnSm69oېi7vt߆ceJ%Wo 0DsjDg`b*w4TvK/"]TQiNjʐ* ۣ91@3;qK#]FC_}K&љJQ ];246O)CBAP+(?H&L6}OKEkwN}$!$gxsL|쳂k\`"m:I7]]aG*16EӼ_%J%f>yO5S?CoQ5wGߚg0ef$17U`|Ob=ָ=DH/IlIX{xOnG"! s eWG9q@RA W<[/L[’kMj'R1jMm*|N=Z3knj9&O>eqFܵ?h:޼;/MOZRT8;ҽT x6Q?huX;4lnJ {I g_Xp`PQ<]DƥMwwZOT՟0ɫ ESNb%|&.B^lu$kH`[mKFf4Ec#Ҷu5p^K#<@2Ēph3Xuy* s߯lJKrum ~v毁Q3]L A/ePcwhz_3"8g.JY#cO\k[ԼW44 JUtQSFި#ײ&ݾjaZ"© nMp  /'uǗ3 ee ɓ ayljz}6>̋ʊ4D'h.}zzc\cK3[7z"_C/QG_/x-K郼Xnm^jpi\BfLTttxk4T WZ_I\^vm-08QS/ťR~MaIe]9oafyʛ)cKnk1"\s9E?^p19nz>jg!T ݱOږS}oNfѴ? !zVeԴ] =ba1gE!׾vKuK xPu>IBD>ޥ7M .|`m.{zH!Øw $@AN\G[D/f#"}I,Wr~"فazKzƚM~Pԁ *P0WV#~Hh$9  kAɼj{P*PHtv(af{_Q++%VrYV 0Y(K}[Aqd.p-빿h~cێT:o\y:'Cwh6c ׭:a84rEc#~1߿@'u:="[B2EF|4G<0# 0-)֧nNjһ'3n:'\amUKjͥ&Wu*m|^|CSR&M&rMl*ߑΣxSF ^,YomS#Z܈<( iwGM-FDd2Mw*]A4*tʼn}I6oU{ލA[氐Am%Zc(o˂Ys qrx8ha7߮f,ijo,nw@!n_r:^jvǤzOxn'ucO`ڿ>oD-6\F~R* Z,M}A}z D@3@F@/'Rl: z@Y_agak̿V [Ͼڹ7:7İbȐ^GyޥK- BFL adb>Rem@Dc =Lbf*= ^d \*s_?|8-Zȶ}Tx_-S0]|RĴ^? g_"AǦ(#쏠pB˃ܯ_@ +l7u]`a|Пvؖal, mVm[>bώAG5Cx.JUܯLS`(牄Jp+kʳIÙR77{ɄTx0}pj1~?bxG_U%qC%oªv&8󷁸ry|םwHsR;{g]=ݔYΣ6m= >S _% =ĦkispZD9WuLmOvY;:(hRҀD'Ԏ`LJ#x~L8gz5Ƈu- aFуBgX7 7Qe'6|AڼH"X)W,@mP&ls&_I FY(YbF2T™GBr\I}s7uaNkEp>2|'/fu.rǠ_b __WАE/F+d392 {ыu0ַ#7>i; `֫thƽL2f%ˮ,߀g")(i~R4(eh8.|~4&^3T,͔%NjJ^$ msOPDkd %R|#X$xe`JhIv9C$B](Xb~j Hn_Q'÷[Z->K>i)xQqik7^Q_6, ďA58pm_(;LX IgSv,~PA{@)s1;lS#?s: Cxd.:L4!X 6=QCI]H|B#3KWdvP3? yk9,QU B=#ag{fS*~X/gHFj^}5!J 4V֠E291??XBg 9~}ˠ?u^bӴKOKLʙS0 f%k:x@5H2FaSԇ {C[$˫6{K8~ )׃M^ADljZT_W~v*sß CX*}`e_ڸ=r\>x5J>KOs:HZCbuC}SvǢ#:a9`GM"̓U7&砛~?_!UCƂ)yv`9_>H.~8{.2} uu x_)ׯC-B؇BfJ;D)}ySu9M& {K] ੿ɡeP_vsvU)k} 5Q>BA+QEf*ח*a*CJ1$v 'GLn>QNgi{ԋ'u,'4Z!F5Xq}64hS`Kh϶|FȔڹ/P{KS% yLE-ٵ ?(m-!Y|!|7c߷Qm1urd~Qp'qN]Cor$!k񉪭DminX)jVdCk*^ejPahcU Mvm%qu_Q0Na y;KDex|Y}혫m*kUhw~\~l):{ūJk_oB)4}԰{/TGp惠U%ArXy43Ś==i̅#mSB8ZA.y|qDRz>x( _Fn?eӖhߌ8dZxG?n~M]_v %:?N`b*qJR̜7 m.NMv,ߨ 2 1eB:N Z< *Kʩ.Eluz[.vu_o%k7 3|\ ra?6@v}:N96C al!2He ђk}VR2TӑcyC#/{)Ҕ )Rha5ڞ-Y%(V`QohRё=o$%9)D<^~~PߑUŏE>uYD[ͣ2uL,λi=#C^K7wק^>v2Wk"Fތp ueFD8HEI{.B'] QzY((] J<̾`[q5&cd&sx4@LZ7[Pٵ&zp Px jVdàꇭtaw`Ŵ[3oOa!Fh2bצ>7%Е:2&40q[8{%lNIqܯvDb_/$(QcEyݟ:b˟<\a|+!kGojtf c:m*l4~BB[5[DMėř;㍽o-,N.#'A`1W([۫z驷r%6]/ہ+)zu''4M <b45TQLoq(E Ո{x{G/(hͼs" ӗQ ,Κtf_"Z%xtp]x,!yH/#^ea1zIUȵ}icQ,-!Ѵh|.ߊd~*k]XY5 6(h-;cOxcy{KgsZwhpEްJ ~Hv@| iVcY sH^>[xzZqs ĕ{T:ہ7Iڮ0{M^Fzͪ+|-k=ȪBs%r$^+IXt5TAoݘe;DBTOsv)tn[90"[:Ls䖢IA9?ij! 28I޽6w d[7MYj7j^@?a^:Vԛn%|r=\?q#W\ch<Ƒ, :xjP6ؓvwюTn fm+M'ʊz~-$Gq>SYf?5훉q@ko@]rڟ]D1)<󺺅pXR0:i.|gA!9oI.Oni :!!v-a ./2BM 7f')$oZ6]G ߛ .gI c|Gxv?F."g]I5=OD$w}A!=~!rSS)-e7[nW^+swdW;Z ;_F3E0m$Ma%٬n'fY(巍$绀a0wM"M&!(̲bhz M8 lu'FI/b%d ;/96 `D+u^M2b(ƗYw?%t#1'}ҟ)Cx"ƫ7NFΓÌTI~`FpLY#a,beDp! t1BW9u,J=`cP7_{_q@8K.]x𝰓S,AbenfڟIMf|vWBp:c/vv횱(I1>5eNt:0|ѧxi1„4e}kEp9d~8vuo-Jr%pTjGo@ʈطr)ߧh^mWy>i^rҷȦ*ruNJg"v ugE.')}fg=~Ϗ}q':J޶(zQX0)nN׳8&[W P*!f_6 M)-DSΉHnw iAEfNIlۼ~~^uYrz˱ZM9"_&q|toؿɞ;kd>r1.`\(˝Cd 1Ʋ 'ָ@' je_AK"}swT4w?aۯzos<QSĘU^ nv{[Wv=E97 }|A>;Z*{|I/Cya@?XQn #lP3(XWCNބ}Nk~<}uCZ&#PQΚ+ ‘!Vgk~@eZyBeR4 f!C[tlG1bt`K~/gJhz| n"*襴xJ?U!F7s);a<]6YP $\vՕW7|ostۑ6P~8X^f.L䚮>U,>=cQk?FhIw|vhLO.P,XTF1y[ <3;/bNTKF^$Mѵ5o}lG B.S ys֭~fn}WHc~\L3N1re:B\$UTKVxPi7`ѝVtyg 16Cw X 4!pvMᆒ-UqJv=o ҢY2R'tOpN+NշGy&b^{3SI8ڂh& vSQL/dD_(tɹCǐ HĬ-I>$J3)D`okX`RQxѷAVJ rVEaxjAfЇx*pϓu6Ss\6v݅y|V>_8N)-S z#ґ7z\;cyHC!ꡜZCQi7aK/Bu7;suAȇלeZ븪$#}:?']~S}w]S" v3G6Pvn;Ci(I}R["Em=ߕ Ltf8 A8z99Qx=Z%>>'j@?a~yZ-yS#޶sN-RKceIe|ߡyQR= DI( /=&w~q}77]*^vR߉㣎ub(y D9A$K"bKn^|goo!~1 +ސ~rڃDB~*5[H)k9f4(spv@A lT76_na=Ƀo=v܃L+:W#~/OQ6x ]Px7{)sC<;4秿R穈rnv`FT\BNc͞z62,eąf#`?#L{њ&b/I]w_YS@J~ _s<5V0EROrx`Hsd#8^ZrpGKfhBF^(ꍙps`:]BPy2TO:&gb7_GEh45g<"62SM9< @9(7V.#['裯秧^rrα;ę0d o{RP1E7ɐ! uՋA`|"`rHh@i1#Eyؕ"l@Tu+F9}+a!{c[H28EQG59/ g_` ܦ9 G5#qƾHCΪ$`De%07 (l墂D%n(")oLn`/bܩA6f M7?/uڲِQ鋧Uͅ]%iK;"@(Zr%TyIoIg}@)(¶-܁lmt9ilXT)h:x-fOzvfg?ٻKn\,@\>'O>F/I#{>=P-XS/~|mPP!LbIjޠI0Bg}ј_( L _Ǘ.pSz)2;%k߫[H:{^q<&Yq0~0!9L?1dr߈O7eʎƋcر8k!/^|4G|nKY$0:x~XKK #kC 8'FEM(: %Eyו,g#; b@3߄w@]|럘[e-{|cǭ^aSx7ǡx3|dydVSPzk!E|9T1]ͥwhoC^RYR6? H.:-/;lG~Z>O[T:{;^vЁM:;N;k:Sqf>./}O(({ BŠ%5 2շ7BiJhi5/vJf~V.+?Q2eD,l47|s?P]Xb{ 7U~k;v*fobp]?{HvL a$6y C׼zFź-_ 5?~fּ׽KV]ΕXwrG:$/uc e?/n2հGAqXӞIFd5h ИMo;0x=6˜lC >` Xx$6Gx+KWb;9Qx]',)@ܕ%,$mzO/8daZn'_y v)G(i,pŌl248bP10,f$g둪=Hf"k[Pr)V3x ~^OiS+G9 (_k2֑\h)2xl[g)/c!C(<\vI0uI>is&"S)~Vs-.ʵe֕Eh)`hփ$2+Q[nTC= ̌?|CWoMN2quy^le{_p !t2TFDS߆997f}T,@M>", MEYV_4#C;MpI$铿v^C=;z[/̠4K߂ݝ_ǔ ޣywc6iߴ ڻgHd>tlK#:lpt@+m%?Ld8|aJ$<1l~mx5NJ c`oj;G{ǝdyKhs0ƃdB?qkecLd,҆C–U3,Åg q\AΡLRI_}~uoR-k Ϩ_ ĀVl&nD)ݳV "rˁ;&Sj 뀟Zr"ڑe*8|G͝3x/jؖ\ ?Ttc<"cjX~#װؑ5Ҕ*̱i\jbt8xkj X; 3yMd~2v{p34GM -%sqoX2 `߽};TGlx؋jNM -^oI৘UDs7PX"DN:㬓w#-9|ao_߿St:L r#Nym<:˓r2-@7A\BPU^>_șf~X'M?f\AEA 9T a *9ěj=ıp]su$z~1ŝ+i wÞ kU2!}؎Rw@`sR2.9dF5,v  )5vyOV8௲>;AQe<%ۙPs F_rUb};.IN4_ɧ6$of+uP^JQ*LIIӠOձof=`1'f0k}c@)]Pϵ9A!AO1z,{=%rCf RFo*7*Ny_Rە<t0_ ĞzK@TX=i%u`:7NGkP$eGši~,yuSkUJ4x26^ z.Y%&h ya9RTͯ_FPk譍W@¾90;}C{hS>Y:~ /`0 Ir`V56[ho/oڜrJӝV2:˯|u^8b/Ʀ!x@7M(Ӕa=a2Ҥ$s O -;'>M6j=.Z}+>>x|9:90wʼn>4љi&F/\Wt Y<]I|Z͗v'Vd%?"܄#Y̖ ,m'Mj.Ў`2sAG#8h4_W ݅~fIg^OHsZd@Մ[3_tDm>ť|}}qͤLb|^`*aJ(F@T}\WCrY}Zh*uXTX) _Sn7:T %لLIv͓ܒσ~kGwchhP97<@\FlIKRi #Ozv jOF)0GP_+uĖݲ\Dr 秅j;^G iλ.CF4<m9{o[@!#'}\Yc=3l5 ?h8}Rv_XK+6€g Wn91{{2}9_ѥ^E T\s=5~@0O@жΆ懈y=|[%.Zű[>r;ꚃ2/ ~G |m";i+:Uhogt1O{g6oKiFK+u<ֹW,RDy7*ڶq<ou×z|_y!=jOy0Jo#Gs?l&ޞieJm-fo){qWϣR_L%)]O?T0 ^%>W!~g0#n~e0Y&~d.'ZhoTnJ3iwehoB HEQ)3/,`e5ssmg231e?nǡvu hbcӵDv z(F18pV&O^mմ `낥k:T m>h!ίr0-(ׇouB20I2Sy VW~-l9lЅ[5ldLȶpd"{JS.jo~⑎b,; d ë77G` ]w?!|uͲ0.8:3Chc9[Z޵>.qxp ժEMX {UAqK|DS'5 3ru++{/Ugf3,In5#}}w4LBq";{RɄ"1p3d ޖIJg=V q:!,@ J 8$s*٫=$`K<-4> n@ʱ0ƅ1C=/IX{E j vrBN!Ur7TYϵm.}2[rH\IӇS\ *z'!G#;9{*L@ 2 nɌXHfO}N9V Yi97y},XY9|C>g3稯/stgi^N=]f$'O fniK,{JݜiŸOTDH:˨4Juu{|/ZJoH@][47E5&\3$Skk'.^#z%2B EFl6@- f4@_}T;۳Es)ފN)䛦\4BfLn<;3𳏻AB"|å5*uad{ι-߈E ZiQYEL$8fug^ K/jޖ 2umHyNYdKI{o֧c=qW_`)/QR04 %Y0%(["Y|9(򥝑$gw4 G@]\E˸fo2GEQs= Xܷ͏|]ѥ֖8Ng!0Do뤨Svkx4͉=U*~s8*rW=#59ǽWZC8ƂYX82&p=op6i(J˗;lБ ZyNgpJ.'Pn]f#;tW/`襅[B.?`CF KD6^ u#ݹѲֿHj=fq5ƔLK)PR`%\IP4[h7Ŧm9cMZEϑɫ:[D (yu뽣j;~!Ul~n⌫D\6`i[E\< [˱w˳R I+C mi$ bJ>[ "uwj#92u>ig Rʿ]jq =|`VfrgEJshچsMn++d8mEQ9LN|lemeNS/-}9rY\תSR.T:W C{m 0K`,.z??3;e iD 1zvE}5eL,Ὺ||+pE_ůJ הIg"C&my $cǏ/0Ag<`c|Pߺ_Z4[k>`ʼNc.v⺠X_9@xY{sVnΌnPxf|~nl歘`E@XܼQƿ™O.lU{/nY.PmaͶ0,{?..UKrY"e 1b:.5S%'表Y9bo[ ^ \gf26c^Dk]r59T'b, ;tx3 o{ǿȀ0.R~ϲn"}DL›<`=WS[]9קּP(Ո߿!k>wH$n^v< ^\ã|C#.q:$1 ;m7[ܯ֪5]6ʆNҙ "a;D 5'U<7蒭:FT@V$RttHsY>N7<{\|Sa }P?şi|6­رjuO2)Y"lTmR0X}T|]=zn \`M2J6R_yi'cDxUZU@s5W{![GY@Br@5ASwCFBXPjSQ;bW)~݈&M?m(.{/&]j&Cϼ9zEP6QEum|M&d@U^uqŏIe],AN( 2D׈>ɭ֦}}E;aSs@o}KϻM_*8,FМqVZ:@Wn3(w_W Al1HY5(S# Aۜk^-&NW[V VHg0eMj (׋YBxdI75WgBMHg7 1DgQEEi4 8( T'ѫp;cսKn窬21ǚ]UvH\LD!J‰J/Uwև9Fq4%(_!{nu-V[޷wޙq>E67[(H΅E|P-cIt @1wڸ|F&} WиIc EO.R4m3Ɗ( BQF;53֏Kuy2#-1f?OIJ7wBQ(sS#)i(1KA w]mC^:&y7!n>7?澗KLkS.nS H hXJ,I]A᧑R6Ekz˰D0IЉ8pT/k_ɹWVuC2iO]ڼ9H4N4l#Ȳ}9 &߰f \7ߦ7}te`~~%f uyZZ\;yh ؞G8m^xo)UR_ t)yAB`/a%J.k[03Q[2)tLX}$c1{ ڷQs 5X:!aqr^ۜ}ɞKYNײPxe\ƂzLPeH|؜mLd🰎IA]O$=fW벿Y34?* 8J^;8;8S5| GήO uZ ~If\(?6H}\򽶬9? f Pԫ]8o""kSr4 2K~6SH_#Q/L<iÿ*c֔hiW\D>pqaHYR s2)[Uu1)'v-xw= q{{k F̶zAq'\?~uj=k_t:i>:.3STKqHKl!UmEc̘̓Ko_ dK&>dъ!@{p0'љ?[J!&6REZqyc<4]L,h۲ba J-&f|wzKH3&l>P>ٖ-rqحi,Q]XoKwDϜ꽾VzFee[Ȯd$..&)dʇv*R)1Ў@A1[le9N=_ eiXKo$}FGO>3:ww43gr>KˮB-I=͙0!<\!LyeX K<\֯^P`|53Jo|ږlX.D`/3{\:x"vğP*!JJsYG>;V+D-]c˓ < ITYN m6";-}]z>NN)r2y /nYXBdΘcu3;QX`9 ^m۲q3+ZN^_uhW(ZbDVh>9M R~9.@KXJRr)|3XE'W*Jт6Q fjtlBVYaIW/3NqʿQ_ ?]dt/E Uk<[omr&>F6{ w|O߄&e؋hm -/DHLsIyߴtq؍_w!C#ewQ^N Qx{lB,</_]_nfDKWnylLb?ˑ+~QbŬr|+hmgCD_ \IRy=ZgB8/ ;l3-@OZ$-(ְ28]cɣ%#@RSɇHu1#`f-2XP#:c#?{)[k˖^5Ï oTK;Y251\E=p5>0㵴8{1IIm)zFO2.mmk=53`skVr³LKF+T闘2!9yhsN%LJnZCjgdG\@DV.x1q.#G*(b[@~wfcuށ1BUEG=͑;D2~1=.f%@Djep'e;"dQcNY1楏.S $%ig(w^,4zWy!~&j9'R Sn_ rWOj8ǮTۊTy_<}8yNVoJSiB SJ|xZg*]JC`ELlK| ;,5gyrG7^b,=vqnc5[# n3)a ?)+vF7{,]5*zp401UD+G`LAQ]YGAz珔^KV#>wϪ=g" vnm U rf]x˪akԙ&'G-\я֑b3(/6EΎ[d:#zTe*:л=67n2$;&l.Xɚ9۟6H`ػ` BNDЙZ@ J4*Ц}%Z6N AuL 2ö٪︽DR,쀁0O |كZ{?ѫ5}F.x})-U*"5ZyY%qCư.o2Q.e`&w%=U9#4˶Po4j%C%iLuI:ũԾ޾Il*v_^ta+7cHZrCrC!7 vb]TAa{Ss0( ?HA5}z{j:۶ۻq$$&eTWHzp&u!g؛, Z#Я¹*ֶ\nEލxF> J=,Sb#c,$:ir6r|ӓи[k,oݫHcGX( [N jb|jzyX<ߡ 9SVyq$.FȨuc'ޥ8f3 5^&ʿһHņݱPy|4N>ޮ!iI+ Ed%\6i:qyXn{4b>KL9 v!C sXZ/S>L*˜@QJ+{ 8:U ~ԈЪZǷߌ!({VX!= +4 .z7M=dTY՗Sk.MKuDF/K ]vR I,zCL {"Ւg#gZ93YQ{pPN"¸#Ym6~;04W-OoW2- 3";0) ҆ r Aqڕo}EIfmlwy`||SfuCօt IшgQ yEF/a _t8+"YEXX+[.9J/xr`^ 9Q#}EꕒhD+51z[.`Kz4 $nSώ>|K\.wWS01 Zb%e ChۆBTr:7$sؾpJdfN3@x 2(V׼3 6Iꠚ_X>EC,d=K_"z*膎7h/va[& I Wl|LoSϫSB?{ͶWSf\DW (ɊG{2W ۴i6Y&$XX3t`}4M~.xul'bYuX@^`~䦋?][LsTsy~<>BsE#o'0ҽ1cw!;+*f+/nM i>?y^]ahF9SkBIߨCF{]@.~%*Lf7 lPR #^-XK|n;^S -9DIՂ b&hTi5/EX#}g5!NuE-/9zJR~'Ŋ[倍%5mJ5oUr?0,]@vCͭ f-nh2u s ^O\0>(\p^_m?cK$2)V蕼"^w/O0Fd)f)}(yl%$OEF53J#6-#aUĨgc`E5$SǬC9:̞(7A:b˦%?YqƬq#x:%A¸13-6Is0ռiեOB#>òtWn 5QFn8Z&9*1md3Q7GۡvBdz|\xRqw m!̩޽jN]\,wwJc$H6feaMS ʂ-}{v"x= 8ކ2|F\,bY;޼^T8y/~ab֨ |%ULE}(ww=,qLt#p1h Nsw"tG# *t##:>l 67q#gqQmقN=nk&;Os|9Xh2)c8II>w_0e͉M@-B̟h-WyYe:EmAY%{ :|2 "eͲZ:zt>m\_q=R [/ෳ֢QtY. k,wAj3c dYSP2̇&-֢6IqtrCz#@zvOg_N4[]Z\m3oZ9!"s~)ȟSF*7.M4c_m2' R2T>~@ wi݊t8d9V: )1Bџo"K]nw{m#wMwmV)Q)xyY(eQ=JZ(,a]rG U״t @~z L2P&:rΙ-31,XyMP`XXȅ'w̦ӁJv6}c;*|d~.vNP#[Ҵ$^f&1I 0XE8H"hg*b;yY+K· _WrA2C"i,eu*/ "I⧖N|(t;L lHlήQdͭY78^E=oDOڼQaD?MwE90dcn.qqCV^].D.Ϗ/3$#0Df\Ь_gۜ35B_yvt/A>NYEPu<~%q>Q$aq%Ru~RCL 8 vP<8鵱<調Bu4ir䖒7Ct*Ȉ$, D6<6 f]]"sb)YqtdO INj<{+<,o3 'RZOs5.wo:i^/y"zDj訟iʜUޝe)F:oH v w\نմkdF1]˔E` @N+Gt=swqHq*3ץ/ .EE꼿#a0Ckg ؃m_sADƸc ˗G=hi|#.?x>0'cjxzY2,^ tK+ |;44U2m!ԃ mj=&7jElUʷѫ 7*r,Pc#Rw qtBպ?ޭz{Mvau9j%.pQ0ȼay&`.<uە_v'cM7eF1G+N!_K1M2!N|-ωhC/UWݭwO:-A[SR,kaWlpMFaZjX lqўrwWѿ#S9/5w":,j_GDW@A,vF(#[}:ƞa$8]"~\Pܼx-%aqӇ2mxYZzIh|1 JY%%{-Ifm#!냒CwғFPܘ6Pxd> g֓ݎٺJl},5@_ݾgb0Gƨ6JMeV'0°b΀3S Ymmg`$qC3 {lel5&<3*%i7 &?QG9 ]exT9VC7l!umNb4 -4/ ]Ddx0 6max~l0iO WQ|%  >=+ؙ aqX{-kh/ DK~^v9N:繯e4F5Ntf[y+M;9BC_/" }>K 2Y{P٤4Δ=G{#T6ْS D~nupnfݼ1eC1Jbz !ףdd,)ǢJRPS;_S+*I#ʞf;|5ѐZCg|й/4w10A""{V)t["<#84  eࢦǹcJ‚j2@=C{A'1myCM,)L6=zEqOP_+=T(HK#Rh[$s9\$뉺57.6P޹@:U<WPjԨYPVUTSqė!1%^3ɡJN8qmH h :~D+ G0Hr9 4E4pW<_rI_ofLwZv/rT`w i{Z$Y30O#IdUYQ #ŅJtG;Ic $޼qGC9< n8bi|v(e[(Yyڈmiha9<밢-_jz `KKB pCjz,߯I3s*"[siwfA6vLqbJ~<FoCWb3r]B ^XAz7+$\]b~@[lǢ-ΐW2'R.X^ vM⾳pY knX7RҌ3;1^GmhDyx19Fx|vs5tw2#w&Bm*י$K w/U7`1ntP{1 ;\Ѕ?v\Z_Ԯx4;}6F5CQ'~5 0_)whcj1g)`T%i\t N픐G ƻʬ(^[tsu^m{ʛ K݅X 7@ _!3>szfїվk @w%' <~^,a,BY).L3[Dri s/-~ȹﰷ况/S'/T:EmCكʗZU1t^N-ZrɔK{ ֚]5&G5?2VOӼ!(U4:O˫蜉oTO VH/N3Vn& xc(R*#W/<49&!P'1E>ᑓ8Khr1)JLw PW ,lʑ4Xw@Bl&.KEŚehMMoKe,|uh̺L#$=h\cTKg__O$<2]s70b |EsoǒY@GCŸWfwKbo=RMY'*' ṿjSq2CJÝiZò!߉9MtYu?c=擥K7CLg@&SD| Ĕq`( E,urBvMIPu^]hGd1=aj~/w<#P  J1%WaEz!}`#$X~RF:2),Tڔ,Tpϧu% 4bV]Wq u&5JU`1H/ O: yv JЖd>m&.^a tf .kUz ofJ->^ڥc7B}Zуr NmSpFB_Mx^ ṗ ̒j9dR~3 _Լ 3܄ y|L eL݇]m>`N܇㛆AS_'eGQW~Jw-_U?MdnXPM=];0qRx/TR,PYfi`o[a٧E@ՙt+zE1:'1|H=熸\;IxV8nB c'{:rx0{}im~%e͇eaPҘy'wsu3n/'/ǡe_woZQzLwYT8G@?) 2o/e=p_pgrS\,9A˿腌RۼsFdEJ"}<ʧnΓ-YVC 5cp(:7C4{IuYƾ/F{ΐns W]l\Ax&%npOB 'xIdϕ˃`$՟*wĴ$5_E\hv9'*ݰw0ϜbwaAJw0d&n|=.TM3;I,#ޛn%+E>gj k.8D]g ጃ{Gh3?16pAC3%ZfI<.>ҐE|Fp8!4_AHA(aո 5-K9M>ca_d!T=]YJ]/ oW=؞;"!} خsYg? }Z"/ȶ 3?ĿoaߔtoU uvkDLD`\DU8eϭ5܈#`]›?0e3&%v#{|8HaN'2E(yN!5a34rQ_grhY -+g $&!LbJN{BǸ(ߘIVEѥyfʡqx(G K_ӱ]g{=z%O~z!\x, uTyJH8ۧ 6;ϞJ*F1r~y LKη+O:˦6#;.w*mZ,3t)Q0(<5 aG8T'W&Ϡ0=xͽ0m0"I)ڵ2 eSqlsI /ǀ#4ueDQ}a(޸a½\䧋/LM|Q35o&+d]N #s+I0Ҝz=\w^=*w6`pBH~Hc*wՆ(|}:1WiNbH!Xq[Di{zbq|PlDS^s׼J~GfDK ƃ4P?|jr&O1qh1e}鬏H!sJ #6'\ə{ԃ[ԩl&hˬH˰N3K?2 臍L*폦ݗ;C, mA4ɉO|P[άrd$JI4OX^=B'#S5 P@=ū F<, /1gpB UfWI 3╟2W>^X%r~vl>C>5y>G[l~2>5A}Ls#~MX9![^2Łc~HG ٌ P!LY¦5qg?"X^C^?X?xđ[v?dq(L|CR/go퐿W"\J2 'C &F},@>CS>lPUUxE؊4b}H M:3LE?+',TF?@Sz!/MW:6JւC4f/sqԀM@+#x{[fє 0b%uҸMc,P|?xVS F6ܧ6쎊Ic NѶB@^5p>spbSo~xr[V<7ҽD[*ì&W,#%=60OOk1dV)PA}x=eMgzoO`s"qY"9|6Q&8 C 4=a`ᨲXq7񯐳ny4ۣ88$#A;f_~:1#2T>5gEZ81TJ ղGs1vX u;0o '&ל_=rq(}B^F?'_c3!@(IVNz#E&[W)ei|{ELiT+L[|sAS3oP>RA }pO~u.r|3".QW F`Hʄq;aQ8:!YG34q\ F_mBGd?COw/ I@&ـPP|1!x[v}HKJ:7N+O (Ǣ{!3^/dgZd# $w,aKL~VD>$`(}0m<|# 1h>CrCܞy~HbN똻Eຽu,K*7OHn#~KCGaD򛛧r$6 ^s;_aaK:вHAi#0wwqtGdj-'k%k8Jٰp,L̒$[Pu1SW ~ՀE_iZ@^ +ZzK^GE`.O0f]rbǦZd07mDi?ܟﯔU \4&I0srLP4Gc/L(rSjK8Fk(:dޅeK"&Y` FǨ.A }4DS.yΎj8j{<඄@P`Ӱ ڮ_׾!Ty-ޒkpBp IY&?dy489 k?> ԣ9Yу!`wS-M,;IC6H{o_^7j(*SV' _8u|\ԮQڎ±0_ $d* AiҺvʞo|X!ۜHMc~#ZnK>5x 'oCużs{k[qߊlBѽ06nlg5 Q[mMCbj #DqhߊY\6Z:P ӠAGiigTq *՚3p, `¹i>q@()+MةyQcN.v&SS ?Ss4쥹EiY"H >&X"b/;7CC9W)c6i'扷RP$7b"Ç|OneMöEŴkc,7Q$8SՀSι*_m5\ǎ09^HQ." rVN?\CrwwhOT& No0Z<{O=]eJ͂2rXED/!`O'Oު8*tSTxr^w[O``A wԘǍqk.欚p5?ohָ; dEv;IVlnU]˹NLj,MgCn5aQ"\t,D6=/c߯M\uid~&sCO¶@wpYlL(40AKS!Z1HN|5B.se!&Z;v@mNr @ #>i^;la6:ɐNJC3&xerO_P:7?. B!R̝zʸM]ZVĿz3M㬫7b}=GY&y#7l{[pDywli 0\e ߁$KD9quʷ9X,ρ' ao#a m,?%IH<VL~l+pN]pbċ?q{Cz8nd7|n` !}!#r #c#$0sjUŤ!3Qʺ)i 6k;VolOaTP/V|4\Z2K Ce.ILdY̛hFkr8%0ˍ ? ԫ,:Bk,Nt̂.v'3~xe Kv F0 .V]@'ҿo: t1--Bw u>> L&(zD[K8{o'M4Mu'K[l;ZB6*^#;^Ԇ_z9,b\*kʅVBh5K@.2<$_~|iDS1^@HP*:'3ENiQ6?=M!<#q>n8gȔ P@҅ga_"{DB!ˠ AX-e%R=Lt~ }ԫL/x"O%K3I1 k|kX %nȹB&_K*$̆j}|DY_*q4_FbUX`Ndha^G; .1@ Ad:3-\,d·жVgл i ^|Y S@Lz q&T<z#O}"43ƢUSt48sd>Ӣd0Fϸ#ӮK!<'re,RaC_9@i~+sF.kdNW̍OB~$}KD78)韈Tja2TگfIO.Y-ߣ/-nj&XUDbt'!d[n].SA}N"+N6Qg%ߌ2:O'|HjmΎg:4S}Z9PW*CqUsk1B8yssco$E-gSpiX*Mheƥ D[ >U[NJal0 j/{`~?|~o%mSߚA<ߑPE_e0FoW/%l Bxb L [c^[>LzHe#Dk5h68L]t ]@%Đ洙JG .43}1;NK#*HSy]aO38Ib|;OQN1Kntux=${cP|ODϜ cҸ:I^uuniJ![~w73 x>ua{B V[tT'5H$o6[/;@hYk.9r_^'w-- LVvTyԶ۶[Mcl=Lh[fRI_J Uָp8RōyP6!(=IgyA x;Blf*^"O|ϵO5oվͨJ3'ID?\'a#~5}Es񃻫 L?]Y˒6!C~I{Ց{ߪ5Ї ʵRkX@!C*G^ß 5+:fD< p-s5?cQ%ž^Vxvx'=ozVsΨdEĕ2svhùR ״!| Zp2H!)Мq"ےp;.BڛW\"~.o?s!Up{>m˦z3Roĵ6!Rm#/Wj-'#;|u5?C҂ ת?Xz.eu3(8z'T=Jğ%?>`cAuc)qC"ڎTU\rn :?hr0_AYc@S:SᇀA2|ngHN/ČӺĤ5ý;W$)X7ΉiCɨ8T`XgͲ\`8L&Rn8^ai-t7cRv!oyUmVsbWdk Ӵu<1'{"Y:zWoR֏TL.$vöWϻARʃ`yNNzvOC,Y>WFP9W*؜)-j8A0Hr&U 6qZ5siRj\UfQ_?wq IyixE_D/1ܧfaf)͕  (5W-i돳HEac~z~E,?~F!RdHlƂDDFCCK sy&8]OyDgbڃc_ȼ@%80Y/ al&zӐ i)H6֗;do>5,}0 cnr}pm~&ϫ#|r)ςUQ07D޲L GMn^1ЊDk࿆E/O8^'p5c:)I)ύn[YέAVqByΒV` 6bos w~)M3% #YF1W _X ;z.Wq}hI! 1fӁ]E1aWA~%~╋V|݅Qrts.'S0/ Yߨ$:BDpYͿo0lRߘʒ(046Ym8|eyy@fg?ď_S3꼛]{ǚ}?8+)ow};9xuW{ *s'<ӽ?xPBxnz@zSjfۏr¹sc|qQD$(r)9Wv2Ybcx#3NI;Ƭ7?%-(e<܀dca IC/;2'$bGC<j u ڻ$[ i}}S9.ByCdz+">U{l%3!ybq ";sd9 Dm|e!<^?:wa-w! U^=tVӖ@ȣ?[.ptۤK09w=4R{Kdc%@x7̽)!͢lf/p5뇊&#BۊT-U]3y Yj%99 :͇{ygʸQ;F ~xP@ EʻN7;4'iZĈ]^\8WpW':Te(׌u^(~CU >QD2PLTLLxm}FVȫm{=UΠp59tjZAs#dY zw WO,M3$bP+%)jF֜9ý%pjƖ{f4#m.r2\vyڢb< OrMH(-` G6k"m mڡf/j-Z mΧBdXҀbZvҦd<T ]\H^u^1Y[G^qp.9T:&Fq`P2$o"\9]DIN(l"Ƹ B-A~JBKP_o']NE5Z0ƿ*57vO5D;~f+FMELs=fO9'?cF+Zz,@r L&5<}- Ӯxp!2 Ӟ"q7sϟ\3 ਲmRڪwXT9(iN1S]S< }_H.\M.(N~7fnaE< Z&Vf? f{%֌t.. !y\ʌR0Z{ |f)%Eo=NR}+嗉@;!I3,:w>axB[Zlo] @Ds>( qF1yUvhT`w92NZtfs=mv 3(}URW6_ͥUkW#꿽#pNl?Q_G67bq ٳ0b˶ 1%tRvl問m<dbuۭDx܌x%*={EhPb3#`Ѫ01;ivQaEP v׬-n?9{];cpONILR6߄KuR̟GBί6<,mǿ 5hx*)}M Yy8X^| fd5q!*3庾MQC[X2!+PM\(6@6*>M@?AD㦉#oBG巒ܾ$)NJ3s[_^{T ]_zWaݜG 2ya _C~ܴ\CO<`w9 3gCBڻؑZ8jR-XAi wXQ9@7ޙξ:٘"7ս "A8#hn> ΋'WU{>&p?t%%'jc24ꚔTF%bX PV!N2zB|"O̘!VWF6 Y[ILaGEnÛY\䙈 F,oBU&f>P8>jff[*2^o<08&\WH ]vuX8w~i11< ä8Fw_C+鍹1&]N;DI` *S@Zw'B)'MچeVs ^9latZU÷kT I8_Vѕ;Z/lR[իX<Jx+8?VjJ@`ߟygwL3fK|coߥXOc@Nr̻ bNQKS1y$#:WVKª~"VG~ Z}F v6jlܩOD^2Orb╍oWvNg$0ƶ*]TʠPs7>xÇb1|bzY.oO'Co$bTWwR UF|X}g 7$YŊa8Kt 2"W\-X#\_r͋X L+ʄ#ޮ>:ߛ\r:wuHa|K*#NMlYv !>K*>aWV7\!ss]L?|)$SfDv '[."jGZq7mSaOpfHWT`*Hyg]G.8_t(0dj]0=Ћy_"{Jo&[G"iG-׿7ҥ`7J  fE4UlNX!DU7.={M񖟙r1wҥqo4?Gb4M uA$.>PȅWC [\A>,0)CQ#P_Er Px(l5xd&,>S {@u 翠E΃p`>+qE5d_^I(ץ9͙B kN8K1pMA~RkX6U*K{" LX$CQŒ;WwDVpF`NP!J̯RQݚ C5vl*BC+5H+:>p\2uI"Ɲ=V͚n ;r! _(3DU < 1u:VMqo- %CJwfG"QCe]Zd&f:N- hb5) RLs@F%Чϋ \f^ΑS +$soM ^ tdSݰMƍ#,:~Չ׬V=֏ 9Xߘ]k/'?%]YD+ &Q;eAhczAIBu𢡄pƼpOgRW QD5kd~P'L]K_x0eKYS=W/0 NØ WR46?#IB XH\=7.y]4 ^Z{^~s n#bzyo#- Ax ֔h|(%K4YP%MyKanUGHDyH4&c<:hGO(CYC[-Ѭv(_Э_>Q]`W?t*QQ\Xꐜ}_o($pKq_ T 6¹4ƅ K3}KcM:dX Tȭ4GF̯:p&f9fPJ[P٠prYqۢ:iQ%cARΑxp8bn# (HՔW#$ly6l닚ӂ-H,r40P?Jng2#qxΛS[]o=<aO8@Vz呰C)v0^t l*gJe `c uF]^Q@#χ1DOǩx_ (X= 1+]#)`~6(ɶSoaKv~s/Rb# KY8m7'\󚁒*ՑAH, A=IBY2bVGj'/p_\p+:JMls&*]_Op{Bh'4TݗS3u* p`-X :rS0ѿ6/AHvf+wxPZ3In>̗,ʧ&-?暌W|& 5?"3d7عܧI\SY <JF6PʨAy51˂0X )a S({'fKL<&?TyA)H'otNrH9n% 7EZM :sji|ȧ[s#1C•z|޲z>&dٺ ?kt@N5RaƼ<JԶ¶Fomj`կHp8ћԿmdb#FeǛkSlD~}?z2n=9R&-`KfrRF[SV|S ~+!+uT#Q?UZGlS7H/ʐBt\'V|)saXff^(YF_w8aLgT9`+ju-z2DEFӸ ,py1e̵?]9-1H5B7զe[t"։w>7b.#Ϻ5QkR] jm8qDQ/&We^L#l)޹ i7r *P$?yx`61/|-)8YsKKx"K~ "KHcH} 0b!}<$sY\4wr+ =H@1+::8;\|Yޢ2 7r&x7_ŹC2t=c$^=hlr/N?98ɔrd?)XӶC-xa5>q#%cKk+ZKd; uT- #!GPd\4b —~.Q7@"L'"sVCmcb  5!U7Bx"'i%Yӳ^imO ʰ хItdm1#]Ǫ8 } 4lp&W52©ÁHN4ծO\ZW'ɢAz<7m nn4lMfb-_v"w?7Tv /5i1f5D2YfƗѷ Mf S mVXeVkƱo!Fk^|Φkz~^44op:}"'/>pYtVoÁ^Ƭl^KSٱ2I^Y{(F,ͅe Hc#lؽ.Ne }M}0v p1mߛM>v -aqŊFLEIʚ4g4ɗA;k(g&o+J"fb쨰;`6~$L]\D0^Cp-T^"~bQ؇(کS In(E~#ۯDD&:7d̩1Pr P-MAxգRf9^050& nj }? ]ur\哲VR&3M`Vx[=o&T|X  ý%gx .uJJǭV1F8GF3Ɵ<)b#`7W3}7Sd=G3Wn/e)jWVN1',`d8E69F$P  14۸+sbBGV<'X|เ/H<9٭={aEkqn9H2_*;IWˉs\lZ8JM]FgE^p$+RZjjJ~DJ;0≦|^5曫5B"H!fs\gCHed ׏Y`4rbe׃(tl=s)+gbr~0C[$hhvbfaS%+)]bz4!sTV'm¤"үwm5?A'lA<ΖS2P qkmUlu[1 |E~GXUnC+4OrAVYcJc§%.)dK^oK81G>zL=UA4N K'N_uz b[xTA:BiA4WgFkMF*[;|i&o95I˺HcO0bV|ݴ^TrPqp%g~TZ=3YN+_w1lla-d;OOicDyucQTc:U&BYSE^)mٸoߡj氶baeGvpw)*oϿO<,PXɸ&RS@6q~0^hBWqs~4E!IY[%:)87 6%Pwxbx!wO!6y2V?\0\I;z@zx}H@R +T&hǘec}=d_변?VDUgj hpoQNA'ؼVsнi%6hLWV}'s,<0"Xhdbv'R'PRxm h(.!~&TT)j%tQ2,{)a:_C!j%rʮjZN"i*MY4E57;^tfc/)]s-ꏉJPQR l&7 /W,dC=&LmAO㘶 i. ?<(GfgKNqG*QǑqGito}-0SC磍M)!C_=Ė%h-"xPzFIR_ҤGcVd?|c",ecm+=dh6b[=k҆po;Ɇm.Qȉ>sG*/<85.LH BDP(wBBSS}_Jǫ#M{v#Z]47MQċtչzC[~b5"i|73%?$xD~^Q} Fb[UI}FYב?O>3GcZݘ-\* ȁb3ї=Wq7oq:ةwILCQCńܱrO"%2M0I#G_c] Ɠg"8$ny|@x!9z}p(GVK{ !1Df_yǿJq_%+eVx9yh\9R؋{%Ȑ~}?P[#ċF>brxB'{7f5R'e%_;qEQ`;F`ɅzYƺY$CJPy@B@^9[-k!c.WWCP4I{#Vs=1WUzL`RדbyTMơg` RbOy~MIDB 8Mnap^ՈCč[.$J7K?L/WbI}ⴓ<0/[Qn3i}VF qQr 1rR5r kBB|ZTc\@,׳ȏ+[Ie۪f ,6`89?<ŒL#@4$Q\5^OrVcYތ(|u}SCF@ImXJznK6ݾ)'AD~){Og+pI]*݅ꭊآr/x>B㘲>Gx4JN:pkY=sn~,j[fFr TC%O"㧿Ƃ%^Zʖ !:/Oۭ!FP+#^LST *VY|MGu}*s;F1+(v;-{'+S7Pd"͸{$ag!y9=R0퉵5Ht:a&ߡfYUc)s-:Xv 6qlZ@VbJ2LplV*$[NaWVQFRiM$ "w5D>u w@J1Nw!l?'jqIщebMOo눦6ou h+`o`lCIn-jF'dM&z0,8Pd|a05b{ q>ԯ;Դȃxp+08s^8=fB{OK/N hV#M {WGB-K0ayt;3 b`Ũ|X[+ .tz'5`1sYv*CIZFTǸTq%.,U?[!~-8R6|{AMQJ43,Fi) 07?\ݠ0ODž*<̶n4,'$t!X* ,[|yu7`ykTYZ)*'1އ K]q_^~5G0cM4iLwAhi-u6+uQΞLR$N2Fז@~,"мJ ݵbTT!My}0k &_Q!%-CSRe(bN߃|܇Jazx}z.bP7 #/!_׹,9pFWMf.f7nE_3ӵ<퇴j(4s>es8T62:xgtw|6f0}, &_Gh $%d2!\ [괡g{ PԏzdGTg#Bdl&VU]9BD !.o_JP{7wCs`r i!T*;[|Se.iEϼ*JI]+};1Ќ*IPK,/!ɑ7{TY)Iw6{}jU#: Ki%3\%a&>%N#+V_ ]H󗎕l YKaBt=R%坠֕3c̕܏9uOS4y=@5,edO"8Ʊ1ͽwZj>q]룇˓̊ϫŲIByKu8kYVNG,wG]ESpNʙϩ#Ģo"nB/ g@a&7L̅]Xty:tퟘx#bun @djB4sD$2>e\:E ocQUpa]9-YL@tD%Ν57 0)1{A6ϑFptU _+qJ /P6 S iJ9IKѥJ/.Gl(Q[^/T©}yT{rd}}@lX껹ꊣbF9+Mr]ޢ]2QӮ<9_)ixV`_jzo=n*o+o:;;Qم!}SGy+ѭ7&ׯ%3Јj-o/[0m]999B!Q ){\مT!coA&F8aGn}8^₋@1br;tگ5L${,*iOs '=TyJvż } Ӡt:u|g?aZʿU[VԚÕYFrʧЫ(dqS6̊Aɝp "%JF(6K/:1r U;h[-ɾP|ӪL~M@tYЈ#Z˓"a7opA($S4Fhb۴ɻmѸJ1Kz$^Z.Bf =w-}S.|(o|'[\<aq~>@"񤐃Qft>ە^Ϳh;~HVdR|b8RlF(dI ܱk*.AҺE< py솾s%GT3̢iw;{v~4 )pz юaX$].lޘY<&=? H,@֥Q`pDeVUΧ ]NJJO(2!zPϨ <Ȥdrb>V*HZs5楖d~.IR_ NTCɊ=d')2;p\<Ii`ȏk795BmPk+r| 2~9w W|z$bP_ W4U  rU)dRYy(pFH?+t0DϷ~AZ!c.UAgXQ6-ݟ9*@6ɣF0򶢢}f0;LaiF9'3?Js,G; t5@Zo FێHM5Aek'%7xR:om?yNؚAx3Xf3ɡA%eF1Z ;lm@c@QYjnlp#_DA_*>.yu&_IjRܞ_&UM8L>Q/'ݪm2(*"y^2Zƴ5?eg(C8)]8>T[뷠"0(%-Sem Δ$Sfzb^nX9mdHVyvf<(͞B⯳Ȅdi1F}5#Z3Jn۟@ԦZ+ʮSQ3Sx)Jbk]!|♦O2["bIf {T69k "S^1wHsHIѮD%D+ql!A]"C<&W^>L'֮7-臶5*x"{yj8J&Wܹ`fj'~a"]Ξo?%=ѭpZ1oܱa5onx5mGm"<(|G^BS+vbHZ#`%n 1×5#EE.͹hgW}/vi/ȂR ^ӷ K} G:j #g-켚4k Y e]*u!NYH%xnV]n 12tH2,0WL/>2ZM֛_ If@3eӽ];ž"{-`^G'bblh.JS 7 㗯TKRQ+!{y4Ʊ `+NQTݢƢ\j)>YR`v5rd_0n0MyӜ4WZ៘1@ZuTxyQs~ISx>RgNYu֕2%Ħ38q%NZνZ\V{(R{)滍nQVI-l<,Iϟ+֚AW~;O\hMb4{PF[u&uBM'JK7+mo01g^01?" DڶY~#pY?Yahn"E5z#GwX}A)L@=0z=d +6!Zx`ֈƿTӤ{ܹ~@~{yw`um'-g_$|󭸏93{?7ETf.c{,[ 'U0FJ̡I{N ^ ~J@CA­v*JlI9u#II#-y$GpSO@~K*P6P87dx~=sz$-YĒE/Nқ^[I.Dm+]Yjb،9?.%_NEwrjY\;r8+{%)8dkT])ݶ o/ /°,=2y }{[U쳵Mׂ`rNBLhe9~c)_ɾAn~p}݄qWB mb=Ř\ϲ) ~{l!? c#lg%J83H8_]ϲ@$yWwI؂UE0WeD>-|4[ `"V3̟!^ 0.(Oレn]Y(Y|hf/D"EdW=5Nl|uPJrKÒ=D~'Ƭ{M:T nzPNe%s*u0ˋ׭k}8NV/nceΤgkw;`\Q{l|O:u̞n$[TJoTFבc JEX7~=bBw8Df$omҖx/G([Z[@]{dr-g/ܑzE)4p*R=׋eo|boH>i<^|c,y]Xid3y<@uR#Г nHJFаҶ qd^ӊf]f{EA>yFMb  {ͼPWDI{Kۥя"\5D~-BN[h3'!3hyYHVY8 x~~첿=u֫>h4,똃/`c79|xO%6uu]A ouP g7KEq4q%n^:Á!mm%e V!RCmeP$ WP#r.VaF*׼ػ>m*wٲ%bCIHEfEAH)"!N(}`Zfu} ~3‰, 蘔R9hml9F„6|fLP*=*ibB6!M<;gu'׍ __ʩ]Ãv%QٞZ[@w2IJ/7W84Yx\)K+X`R;ie sl1^gYEǫ@;!@s2`=jl̰tѕȴE!?pGsqVL,~.xN6@-PP> MRrmKf>VFk%ˎ0WSub+Ѭ7ɔQJ=BQ-K-Xqm Bi j9;rͶ2BiOSiƋބ!U+O)`WHGAϵmT02? =C5(!ϗbz+# O rI١BTw6d?"jLԎŰC7Z%ű?>çkxR| n`(DF%<Ԫ:^A]0Nt^`q3MhXyYFʣHiLw{¶BnN7{l$yoE_[o'p0U(K2Ht& Ԁb¢f&>vihK-ezR* 0TEJDE(IF&ؗ+p"j=!Y~SkG^JG(*GAټou,usDbppnP9QC}>'@rK/Q ]q߫u[*,]KeK^)<άu*RöoHBCP"=E -MVԺf <|Vw&j]#^F S~cmDsgc4mhC&vypT<*o4 xm;AҦ1Kt-TK$,s3#mqc!GPjԔwΌL{5d&z9W/$t5l!oj#ALiEqq{Q[22qi'XEMo*~ |o+zq0Sv&o5N8lάJ0%x;:"G(VJg{) peVMR)UFH )fo΍`h|-L;|pŤ 4ז _pp},|td 95z _?ԇऩ[MxÓ=h KJ X#x0lAk{ Y: ;p2Q'Pl0o%GH@ցj{3V.'yM" _Ïfy#dEOY0&Оnؐ"~d|nl/v~} Ղgtc5v.,0< Dw$\{ߨ&JOSg}^{I6?V4 !yWcW$S_/- y.b#2f1#^3 Q/>-ֽQ|DυYm wf(#ˠPX5* uDbW>%,߯d^.a/(aLv烇g1꒜m%*mazSTe[ )t_: )+_Z:?S 66-ط'*ݤ;Lff -;v9 7 }_.Na'sMj>u Jۇ!4b2k ߉UŎ*-NEGrB0G.X+CzQ⒫8%)U||[ l]{P';[Ay+P=$,]JW'4.}~Z= RŸ#:~4gX&S0  52u'rSe+ιzH)yp @Q{ #h鷘T.%$RϩH(ڡ=@=Pp⫂ xk \$_A66Toǹͧ]R,ꢒ sA>[N&H{oe/j,a[NF)u6♉OfDLo{O{Vx:$мn,3Ei *nwi%`rPwڍ%Y+XQXV 0gGYIIcF^lEfɵIqn(V!3T 3dc=X^SuYҾ7Xj[VJ>Jϋe|K5%4z!=# ۽dMYF}rm-7On0 ҇{9x[QF,}K>`6o4L5҉"#[#:@e͚u,Woua+ AF]íR¬4Bv(*x2s;>wϼ"_d#dg\~vF$s[~uY4G-,+z؝ ۏ[fm[߈` ` 'ӕ^ 0a.K/dyD m,Ӻ:1͖ W滸P#cLq z]>\ro.-tRz9S6pQp'Ji硪Y̤GcC#֩ḹݾ {V^9̿ڐe)FHzas Ԕ,:ozXT}|ЁTZ1kC-$ۮɿ?}/V3}%8u7J.OA!'>ٗ|ϣa#h6}b T^6x O$r8CGRK4=q#!Wx'9:(XƼ=G h9ɡ(3{{ i:j G1gW/HclP_wRkY A &0hMHB?ȫӭc>D2s>r >*kj*NYvajw3JK>g'UWzpMn&v4+c8!D\jU0yO,:Վsé$gt:k޿߰_b%_[vx##TU,pNq`K-FUOp.U/pZ W3/zS'8dze^{SH.vF=XRFg#''Q }8T:EpFJsLM Tկ{ex[KB1C6:d7NMM?FCv6xO2O #3+D-;QF,.۳Heٲ&vGoV+/Be1Sx)XXn,in7°U5搅=+낷ZR+ K7Dڥ'w@ 1 DV!'Zg^_{k3o=x@|uq&6[?ߺ/Zj֞ ߧaKȫW5;E$A=+- hSh¥>&NUd Bu`l qI\KÄ#d xAn&"NhV̘u\il~DQc(BE 9j߇ş~;@3tt~F0IiO4RR 11qA+7Kt) (]|zkhz0se`qvBK9+bi1EQMAfh < ьfHDQ)V<apr'M"c7FPNE\^d&L6leDZ*φDhp'2xE1o#{Eei,l!VXiHtCTޫ}v`uj(`L ;66u-cv;X0 5N`|}~ WKq Z +.k'm`!XIC T, 8/$ &XEVy-2\')J$ !eM[hJi}`|b|v VNc3,1'CP91WFqOP.ba(N>F_3_j'g9m0V$v9wS 9-O<<|YE<2<2C6TҎ\~a7,dCt`@3Z>Ռ.vf}@^q\cbߏE ZEP((͔>g}xyhjZFZx#4j8O7 LDQȘMW6RSQ& N5MrEru_ TYtn4 rUus-UTE`T cHT =py'{-J[B {UtBR ^>zB^B#^2}w߂؋r#=WoHS { )0Qr[[6bU`wuONVJ( '\-:ñ&ۨ s>-*{MXP/pc5=xD48 00,[*.q1 xc莽-ОPοLr s J4#0l)Î*-Y7Q}tKnđkI柄<\Go+̵W oL^{d P\>hǾl8ƍ t-1r$Q׈+֪޷ 6 IMwmӝ]p1އ7]5J"n^ϯ@,q+*ŸWnxuN¸]C; ~6M1Ʊ_{C9ΙO \Ty'>W>A>?^ " z=osˡlerXP/@ fRęQ?arkRnid?˛T@i6u(iXOQm7tC>3^c̟|Pe^?-xҶi0e(@OX le-Jh~l%8ž925RLa<,o81F8PCb-^b*&!*$5J|N^`FYxyi"(zO5](. 8nX HG&ebcRϴd~5pQn-o;/rS{ =n7 E?m)qLiFH! '+gAزƀp+ʃy0(TW]rȸ:Z;zBXz|σA⚍l<\+ˈ1zXd3h(䥫=<Qw,! |( E?pBޙz<rjzߘ 2~G6=:K>p(˂Wڇb  e3.by=.dD#.C<ҤL~H~qZKȡ ~DY׋z߭%;kޔئy/d-XtDcGxto~ɑA%ص9^[. Ddf|T-auar-\T!@R>-(JLHb؅/XhdSkeHث'EݾЂ=`E NTG$g}55 &ßS(3"kf,obyB2Q&̐.^vn2Vp=:O]b  r _%Hm+mG:g^i> A}qk;9 9z}7o{dO=\Q⠎[hNhzqO(ݘ?*vp+4W #2B[5p;ڋ[?` T+1\;ƵtW)GyO fp>OǢ魌vN[z\)i3$1A(kyj1hB"lP7Y߶rԖђEC5)&bQ?14f"Z \IJ@g|\~oc8(k( Z'y'VgZSom|E+ʙ>3O"u#+n%5yD> Dgҏ RÜz|Y1CSl8K$Tqey=8,"w ~CF`ӴJkE¬1n|>7an !6\M*BۮvV Ap wAFkAyRB"۹͛RSe*6TΚh5+z*y( 8YFQ*G 𲃷 :v1h w|>>Şsw2oK\T,ܧ܇h̶^9{hĪY' iNnmCf#}4@Q3 OuW<iϯI2RChݰn t[QFͪgB"{/esIDŽ'qHm 1A0  Qiz'\T:&W+*oT*_Z{6݃+Ck߇>GPG0B6F^ר8] `YVOj['Bp_;—3*N #dmHFvF降\k|lw%!^+f%ZEV8 LVkNB+ǀc#$s#4D7{Q|YR_KPHRScj6~E2ZZXQĞիJB\; Ɋy]Qε7˞nBxTxefzdZ>,[ \X`׫P"6/ lz}/2%$G٪})SmKؠOr%K'L}:<ɐj]>|{el8Ůt[Zԥ@g$" %%hOIwzh`rGt4-ȵj 5qp< LQZ ZSəY^ndYkF8qܙo, &bw)մNw_cOM`;=/s<sj)ۨX03+kKһc+(w=2Cf)x|7a08E? ',g|_WRzuuZ4\}׽vFgle&̸R&uzw' i,Rj,xXNDމ:a Qh y-RwkEݡuC u + Fl]YѓRM跠choڥ{1o\Zc;(N;V4Ulipڻ~93 x15#M~ P%V\Z1 ŸԱSI%mooh`WRvNp<%C}07Įm]"74M/uS4c\J[xR$씣E /#183BQ*^۝J\ ;:LFYic|<,#z"p+W 0$"y0Og=8R4D|e1 p4s!.ˎ3ά~M5F[)!؃]+TM*M83ݵ;7]ןn澫 [6V " D8yFU\J[4]m|}w"}PИוJ+|Ϝ߶'Q9x1cW\/;n6ܲ >ܷQ5$ȯ|K(.慽G6Y?cNCt'L}ѤÊ7˜TѢut j$"kSgM)ɠ|qxI{{Wl +mʵ'wЬsn󲬵Z.I J$N稢s}_X?N2ra^~V{T~X^ ~<2v@yi0/LPmZfﱪVR D%E\֒5%xxeʴ4(Q9|}!0p-`*H TslB{i%zpf,պ})WzfNתQsJ *X'%XyD vd{ƨ@_>z`+5}X^W@(m#zE~9j&6)Ֆ%2 Ul(tEʹ Qsw~"γCF&/t&{_0 {&hz@@N8en)~ rH檜Mwd3"ef,?A/vi@C:r;\b&|fo[mS ksaZoͬ_0Tn= ݺDlc]!k2k gސ*N\Ow<$!{ V& }2OßOj@M-1Ԁz}9ڝJ GPr FI 56 mH>90kVNOb/D+k@ =ج/A`4qH^AQ\tK,}s6oyV!'%_Y7ahtD>h9WͿl$GGNE=dSf3.o*!ǦjF¬ k|rt_˙WeXʺ`kWGQ޲OXܹ }3{fɁ](-bR3gZ Q(ʭUXc:Ӟ'*UO / yׁIޱQ <-ʌHk)8{~C_ pP&~ٿeBD w\;R q$K@W'oWC'‡' l=D7.8he)b=Y @\}̊uLwRVPf}N76 ۸Pёrw ~7c 1:d I)7͊ Ў}4 5ߒ姪oA]gP\ ^yDѦy=;3{ ?峲'2n}-tNXqY w7 Oٿ?HMelBe73}dkP9l[yyv+Q U.6avq~zAmۏe t;Vb(:+ Ξ[{F_w<^ev+B[%׷fɣcmBIWp EgcbPA"x"1aLHu)ih:O,d>?M$D.~H18$_>˺N1Hd1E[fh16|{\+7:&΂Us&H_Ie;RY_,ǽv[& b/MwÆnQ4*wX^3[ڬng >=e8 `'HohdԴ*H-kTUz_ .ܺEoՐ͸1ub@b?qIR4~,OM'z5OG#"1yt;fN6PGr‬6d2$pƖ#cicO "-T"]O- e&%~~b'lI֚4 RPeF?h:ނ4 O>OZ2Ԡ&ndx>ѥ0MT+R,jCB0aoc•ξak<:-y=G4qxIe=uw{5| f>J'YTv@KXxZ3JQ0I+q-O1;}LjC,> M:4zw9+2opLJO7Fa&=sE#߫{oקk" "փ|1HaDezЋ'C⽻ޗ`& ݾwZ5H( BjkKUԺDdosNzl"kҀ͞U<jȵ)td# ׫tkw0hXcS<% 5&3sހzi(R%s0X@݊Reyg(lYf5e>ۿYG'km'!@bx730]Q2)6/m{Q8h`I6M_3xt-¢̹ATy\Rg2)v2kJ.v0ag]B;<5Eq+y9Cad:x Egn_i ͚Eo~5|SQ åT0rVet A"f_CL5sLMQ|֡ʓi#GCy7KEis jWWM?ZsO>56@9:rP@,[r@-g24M,cTC_/;x8i%e>Wl!|cu49o.-og3eGޒFb60+ڿź1 :ڡmHE͏2~e "m;NiC7pAƣ;PkT%71rK#.Xz%;)U_⻯eg}қҚkG "^ ~eJz%?PX'0IkWM}?U ۍ:bV ON۸o} .l٘6[B^b"wH[,5F@},T. C _7?MWv)""Z ۡ)܆dQ[~uг"yX?)ߡ[(󼪁Df94;kiA:@@^TG&mfK|qA(yTzT/z) "33ًˇŸQI_} V)u8Hf^c[d/@u}|Ă$ۿO980Mm1͙woі^(ͤO1RL5ц=$%:\tZ寪&𼀁[G}tof=t'JJ;=>u'x``טGf!q@3-T@B?Cк?cU^¯œ3&Șh O޵zh{5Rծo t8tR\#w!d5ϲT 1C>(r8@:@q^\s=5d Fa>EK T{L@4K4zO%y9bYc3 &>[#%۸չ!3D*269]jk;Ul8}}xd[ 6H0#زHL$S BG 5|s+GɳX}}4>. L%c%_S1iW0}5AG)']Y/[vͼ)a5y 0UKյ*HZ4OHSe:|,! ,4d5JO9օQ Oֿ~ 0xX#!~>5ǘ+Lt`5/w9Ť+N2b5f4nSAœz^Vwd]EG3Tdnuz/*86j1#qrҤ+uCmb-WHi8)5%{ooS'g#7ѱǑQ/xi&$˔X`֣Jh4C?t2*/dejZbWn?[wD. >V8GwU4~ʿ(~H"8$)*ls޾gS*$RSobhNSB?iAaUI;[c@\kw@ENޚbiO8p^Q>˖|XӛyigJ~!aMUO/ : >mh^1o0殄9~gw܇ەS@rڜ4S9>$-LGX}!ђ qJ@RÌ/NC,0ߝfx*;)~81r1o.Fi ?6h6R-s "W-puVd %Ш|K%1#pb5#]X,mLvھwL$|[HW&h[>]x 1'I'HUEh" #X-lWQjMd;4J21MBM[534-H*qpD,djx-eO QRv$\+Ո3Tg)f;Y{~>@voK$-z 5L 8LFؕaߋ^GJh[ߪ;_; `g֩#E0+;q/c?n1>~2H$|z à~RSx% mǧ܅6P`ڏ 3am@)a}4'?d(~59C)]ʁ!bgvG$;xe: ap0!x4^wqxN=SHNma "]ӭVY JyL)>9who@q3my':9*.= Ƌ(,K>!&5#uPM0Xff*);AݣK〘^L|ܬ`п2^$.s>d0CYGnT>wE9`\7vR*՟z() g̏ڛOc>]#. ITKy*j- 8H*SCk}xZFe+#w: '_D'b֐X]|tPԇlh vHEvblXd,hz*bSHs`iQո=&&ϭFqв ' g٫GX$K!g;v_9]ʐ"Rqu ]n[%i$ tYIe0Q }i' X?`Zn$L;3uku)7* lSQKvmp3^VJ[lrLض{T`[|z zD\5H!I\)dЫ;/\c:I=i(f׃>3j|j -+%PA z\ uq@qR.̠֫R;_ * ,hQ~}Ad#ZXVWعӃ8-NJu|eua|@VY^BӯLcK+^UZrzH1o3mIT:R3, 2̣)|!T$yE^TN h_a#rJ(|u<uK?W3uh M5u}6a `:1z>u#+%CGH3SngHo0C~O5.mXߨ 2 1e궷3 "},0/y*BDBmanR7$J+RތV\ӗHR}s'ʍ}'na!2ԀƦ"$;_-I/J]Zj:pWr,Aphc ra;EMWFXۓՀ5v6$X £"5<mYʰ Z|C"}CQ:E+o>+RٰN7:v1Cvhy)1 ǭek@~[_;@+~]ݽ5#doaƄ2J#zh"ܤ=@7] Qz((]JO`kq%&c`&sx4@LZV[Pٵ|=8PA(t^O5vkaPÏta`W̌[30b#xYN@z4J^KS(| 0&40qk3;{oJV'Y8pW;"H@Rd 4rEnOo.0]mnX Gɚћw8٬7r<alZ'_6?!!5?05%J!|};p&I Trr h[Yuy{Y3WhNDī“p! =Zn*P-+37yh?rVq >-Jnn:E5hޜ,}9D^u򇢺QA8?i}((epy#m8 7MYj7j~Y X/L0eq`/*@>yT9u.蟸i<Ƒ, Zxhl'm-91/L45++]<4$%}>SYf5훉q@Kg@]|;ۈbRyu3b=AmX `㈦OtCroI.OAWNrK4zÐOa ./2BM #76MG ߛ.&I c|Gxv?."g]J5=D$w]A !=~!rSڗS~ɭ FNaz^+s;2 מ-w,GD6LcVLFlO,f[]0ػa& ?`&m;f^~}@[P4> ]6HR 1Dlp' `D+u^M2/b(ƗY{?%t#1G}约ҟ)Cߎx"ƫwFi'8CU:zDG5!4$bvK8d U!ƫ[ 0 1(ۙ--RJ ^9@gZY.=y;9D/V_VfF*>ct]eƧ~v%O,} 9gs,9nd1H{ O}D gb46Y*:ϳ3?2 xY $0DJ&{}\^/-F  ?@~~8=@0 ůWzټ~n~[}8f\Iљ(49<)21o\ʷ1pUަ#OD7Kt-_Cn,0 P +b[P{]U omD+~%p j|`f'\xu bhꆠy=cқNlf~VTͰ6( `:o!qhjFHͮ!uND=tpӽI Z-2s>~KSgcVh8b7AޥrTkJ)_57/_ȸesW=<@66c) X`{;z]P FbY&^He.to5Q;:R`],[ƍ[܏C >Gj"òI|ۤxjbB>䤃c'E{iA4s_[]}譅SW+Ef\_N~k" w,՝7/HdgW= a)軔_񹚧JsUM?=>IqHagN{|o:(ϹҷM^=363}i_?{=)[/ h~7/4~:8<샏ei\` tAsg_`_2Zcن k͎nL5 ?/L]9QϹ6Q۪;W)(oqbL*/Lr;3ؾ p)| H A){7 }|A>[Z*{|⿅!IC>\~pF; }\r e%A.?*;, IAY ư봰6y<g7Tt'н>Ĩf)eG,{F"˔R[+_0@йr\P^*f0o1mgK6I:L\{"9X3fev1G#YFc?C$cQkhon-򐁏%#*eq"u7K5NT>wDo]ԛ~i%lHEƼ0.~ rO"BI V3GǪ Jm=jBosHܝiWꭆ.fnTlU4n.š\Wvq%Oh~9gP-u/Nkz4FԿm - ;Lu0,k%![zͺ:F ܀,bp71 񨨽ⲟ}GMдƒRMKnͻ`"DCT3Y81 4]rj1|:Hm)1V"kVG0Tj}5gl.HeO+w|%ރUQ?N/3C<nѧpۮiߓu6S)N Z<>+pͯFV'ݚz)֊[{+Ky1ve`T$^ءUPNR̡4u·7`KȝR2ݛs :UkJ2-uu\UӋFBx>']~c}7]S" v3G6Pv Ch! r4uǤY>vxdY*&| i .n7m*̡=H$Y)%{)GeΠ24V)(UJ$^ef֓Q=C&Cjx0ԑ/{/FЀR#cPG*+CE؀ͩWra(3n!켯mR#Mp} sG\$~ uh2pP2("a9ޓQX0ZHwAasP',|W jk/~=CР#u j_Uw0hY}K|5 Zex:PEќY^"=g#ԏb^oPWdpmjfK-)vyGȫ2?|%7˻{ T#(ힷLm"":adrO#+\kx|t,ۤBx)xlR>vȆ^Ch#b[WNF1kOsP{CVa?-܁v~ b4v~wv|4Vfb3 tY3}?Nd. . 7GY񗤊zlz Ŏ.<7*0Zn[ %f@ORM!m:CmGc~(0-|۴ŸߞYg{*_XDn"):\Aa!Ǎe 8[3m_ɼ+-vO  T2C=ydoo:}\w:6\q5?&Yq0|0!)L?1aEb9oħm}e}uEJ1wh^5[G{x~qg_ՋݪKsp'O9dXWQ4^o[: _qadpH]Qբ ][(o9.\v[ɲkܞD~o+|Į6鵸:7B^6FIy&#um!^mW5zqXj;x9q_LӮ$P3}ezsO1F p| %G^Y(N[K5#EJgʤuqoS?-@ J[ج ]sP Jy4g,(Enҝ +Tߣ6h')e}CmfK".,|RjB% L?e /E㰿ͮ w~zg|7{ 8ʆtv{Vg䶞926ꪴ\+*ޯY>09hc8i+K]!2 HݡW!.+zV۩xloQ/-⠰4[4A/NÈ`?f3c `fMC}mzK4ZUqݡ>i:1QvֹgǎF}3 q$ =RߚyHpR2h:pMd u8تe kp|u{b>v"kl5f3xMQY zOCjlP|u5R ^s ,n:KgJ$T8/ĝ=\t[_ɬܿADwp1)/ [OUGCOPR!w?{^DO>`+0~ܧ3f)?%] "Ciփ=i-wֆu ei!|6<[c_ L#S?P.lW=֫j8cY-GSo[3qyYdeG)-5ryPH^wb/| |w!I*{Ÿ dZj,O֘gLu |s\ՠ0rs:òsE:BbSi!ct"7%!M3eޯO>8P$r%B%r>ɷ%nޤyWnG/c|h@*TV\K3g[#OTD̄& l:, ü>Š%5 2v4%LD_?/vJf~ZΧ+?Q2eDί? -h=|uS_(.,1u牁Āxνﻸ{qgFE!M:/^;Ɏ|!L |)sqѮgT{RPPU0UM¬86vĂwq |ȾQkI1l;u0w ,ܜe2ac-`m@1{;0x=6lgN!}zF,q>Tocvpz̾K5}1٪Ios3vPSBچd엟mGkB YXnpK񺘱nK tߝ 0e6_I,|VNXrYo& c󔿄ks}Hb7eF+pU@ >0yJ&t#zk%U/Mk;ˬ-;S6I:eFI@z@GM*>^#ߚjeJ/zP 6qBdD S4srj:Yڛ|DXh ؓ9.<=iFNE+"d/lk7' Ky~x St ?_krHk&ɢΐ>b>{?҇z/cg0No6֣֌#) “Jq|>vPrȪTzғ` jh>^2\ CV"[6GuVx]>|u|Ε%3Q@}o 4:w9޼ZSmT$k7$&Tnafֲ},&{TV^Q.= (0D9M g?J.KNh&~f3If8>ց۬3cA`ꑆbFg1*󯯕;!w*-U1C4E$p%.̄hNoV"c'H#m΁5)~uL6?v~`M~t^|AkzBDCG<Ζ߶oҤZGIW@J묄͉*ŷ1tP}6h x~H .wGxt t>߷Ъ2i%I)U]t$6dQ2?#-G<21̉O%?LdX8|aJ$:WJZ^:MN-7S^mc13W$56:z$1 E+V}a[.I"M> _!X88 #g kJb5ſUT^KDthc^I&LnՉ||+peB;lS27 BTOE~>|fZBPK<5Yǻ_ hIT3G5-@V4K[2Ϲ{F~Wez|x8N0a_ @zҋ= H?mwQanR*;8 bRѐbdqghɂʅ ڽ k9[/>`fn;7 fO!NH1le.@W̽ة;^1r3!(쁗mh$w4I U$łX3 T*x̚ _p/ޘe¢&7Befy< Mc6po7ѻQ M|?ٚ~w *n!\}R' s- E嘗vM:?DJW%-Tp.Vwͬ=ҖܬW%50 mQ#V 6Ǝp#Ty`MRO`(Fؿ_+8N@a^"uϘ'.5{/.}Ƒ)e$|.n] KF!㗟wo :Si@aC5ūM=!1uhnF>J_$ՑIyuv?rR}wJBgAn䗓еYI7-q^앣 RB$Pĭ7ub4ݐ=rU5RG6#>V(s7z 7cB:"%Y3̻$z~1ŝ+i Þ KU2ۗ!}؎Rw@`sR2.9dF5$vv  )5yOV8/>[AQe<%ۙPsF_rUb-V}sK|z#نCdL~JK)C\)I3Gu􉕩:66p4,LU"u/{TZjuO=yIq0x##t}`GȲH'bHìBAJuHM@)/q'EAI<)){b-QaatOp}ˠ{:ְHʆه5QӊX0jǏUEv 0ZsaȲ@>,1 G;'H CL]SK4w#&vFPkܛu\Y+Aڈ[R}':3]"4$nNRL]]XzXe2tFX{9!&zd\:Bir.QާفxXԧ8e7W;_WD9btd`ʞS%mqD< ߺ& TX fx IP5m`J@P21E|yf~|4Cv}g+\>z0Q7vOsy #,/I LPՍ@s'匕FuJ(L0 2>CW( %eKqos/jA3[`$`lOףd z]RLzI]xY0)O6jU"~\)j:gپuCsf=E3m*n^XS򰓬)?>9vy~T;bK`\Fe$$ %y.pt$6CVx,A<@AܢA%@pUtoһX$[dH=Xje+v|Q=g->c$9K+x}PڢOL, NcWE @ IuM!9 ZsVWPzUed.`@[Nμ',.ќ ds5mma!pZAeG4ǿStNm6>pJU ?a@ZB~:RJ ?rxDx|&w.EekLn65~C$%ӛEo <NԱڪdzdRL5~#B֠V*u+8yO*sB1rAR@\7e @-O]Z9: @^pyh#%Is{N.z2QyjNG$`cص/o{6(llfߟG7o^^|Ȱ^9ލu5t2pN#Os}zw { 8G1sJjǻԻV,ZPYq }ȍ=x0Q6GCQKqv6q9& uGV":,wsIO%*YSN>'wJ99 _7zDnRvL2S0jσq~:x4|5= S^6:}'aS67#N0:6"aS{Z6Aj$؈UG5{/d&v sf /4N _1vALE {ΧMX7ܟ1=ug:O+q@,+nm-(^<} BY USIՏ{wkߊ]|yXw.XhS6q%/ i?,H榫njK:%},^^Jx}nh^QJƨjc XizV֨W8H~g%_fyt %͂TL;ޭ l2p Oū,Jm:#Z] seM2F瀞M֫&b?v1/o0Cgbf~4X>gf4YN~‹j$S1-]^ o1]T6VA m3fLMY8/:|N~ֽI-Y۔Z?5龺N{eȢ3ݼ5+jGn|GM#1wm_`j}at)zh>;kFb{Q{\Kǻߑ6PG~srǝvF79x*9nn 6=Q[8S Msvmwuq 5f{ҩ-2 =x ^E{'@]jY| D|W޵gDwr`G/dדV!2DS>RK*χ,[NW:N7< a‘\3pP~0lS1=U&8@ IcKh4ϲ3ǞKnF >Цtİ#⟃:2(`j0*|{5nϏSGܼMwON3Ԛ6!ڳkJS76JJxvNbbŌ#(g1p umtֽ6Ud`~R{,*O=&xqe›㠭#ǥX=S |Kd:V/7X@tt;Zx  <2%&/]mos ۊRIl+^[,p؛v 9vF u ȽBc$]\CݜjWHl] |vc^a؋P|(a8 MPf̻2ǧ:uޠ`A/yC'J. #v8#𱶳F"|>Kv`dsnL%8i|jϕnIyOBlDZ<UKopVsW4yʕ"}D/]` zIp9V}IIígVϙɰf rߩ741,kdc\ywl|$u."! OFgmURʹ V78-r)mm},>rO¥;Fj|Ӽ[ܐdNk .hD(5'uSm}x"_ 4}40sen5ClwoLaL I#|C]3pnV`u l))![؎r˸s8^ ckJk^~{#^-3n4|BR!w udÝ󎡆Xٌ~wXLVOyTd b9da)-xjޱ:SȲyC %X.Q`ʹ-ZAȦy)^Ny5Vܕl};fԅ|A̷xw鉩\k@.F ΀WÝG ,£ûE1PKFht/2>y|<5wq6*Al<ңۻWsQe)W@25ЙnRl6Z!+XD)/KZ !*6=R{R^@D [Lo9"Xy E.U;US}QxrD$\vFkVa[e:U3SX)!T<đ=_Szs_q54A]DD׵`AՖCs\9e]8H .X˃ȃFUn3>fwܙ8U R߃k\-ا~ eWjQ}׭xRܩc ͽnh?F} v3SP+kpW#yo\&>V:fdkQjm$uрA| QqdAᾣ7Xp-FOm==$RKYR pEkHM?0Enn gbEܻm' (iUͶǦAq{a zD7~߀?>?^ME8eV 9s^KCz˒MxUe}7_ex-Of<ϻ8/GߦC;LˡJr_~I*>_Y Ao_Y75FPј[Ɣόc؏D{Ki,(M Bo~yD~=?ik PP_wON5^yњſϿCR9?= (3'#gcp nc /|%G ir:w/Q-N?H ǂ?Bpr? Ok_"4oG)|?w0L }^/)F0~C A-Ja4_i~_]>ëz__D7#{}r8/_#_l_Mv_z HMN 抭Y c?X?τ l_.Q0L&y_g ?ؿ>WL d^38wύS)NR'0gq9Z#K?WgĿ{8)oIďO9|e%NH'r7?q# ?2s'>eK8w5S(7?e W({5CQ2On(uO'ῷj՟1 ~Sof 57/Ne;s?O8kþ,㏦utae}ueo9˱ѻs7㿾#R(~#;iW?-`gqf ,پSS?eٿw?Vit wSK5>ux˻PΊN9#ƲH~ X#mL0l,0?{"clدygƲ8Ɩ)7 Q#~ك-R~e@!]gJ!:_-fsIYf+<`ْ=% e.}my<9_eԽ2o'quBvMO2IeHe'ZxJ`QkõZ˼\B9?:%eB1lװҞ G1r܉~zS:հ% rGJt ~@ ڜ$F`[AeLN:3*ŁY[^\ͬz}{qc/3:E4|qykM!oGxĶe7ݑ5(v|wZƛ\ 6m+UqC+PHͰ'^P;W1&&"ɌutK\l': N/n@[Tndۭ۫>o.5L.8OZ0ov&'3>BycD5Xrx 2(\0 ѤS 9(Es[ 1>;~#c$& D[HI%pD ٲBہ Mn8M8ưM=BѸU|HW˽A [od̙ h`e¦2i{"IK{-3/Pسy#q -EV| 7BDrPYЃëy19).Sr`$1j%Xtݙ޼kLUM]eRL ث%"&N8-ͥ~{2K\r2|C?6]`0$Ovz%cZH+Gi ?$Z߫jCKSG3D"A OY>B_];GJGIM@qxgCV'l+ cf?pn.uFq072 ^s85Ԩ5,Bùfz"w/cYQ6Ƨ ^1z}ϪjVT=7~>nH6UklsM,\.ebXV"8doe=yOJG"R4\A1D`LРLszeX e Ťqy=~K,݋d:AyJҍ'=5,Mj|HYg^M7f)(ɬ4aڷ|<4)!.-C8mkY(ncJؾWT$3|kc7LN¦^783=}aGCI#ڼ2n/^"a}#Q*A{Szj\tNΧ!m2Oc(B}29pDkfεE2iW?XcȐIZhB.-MSS n0Zb;3q>/nq͸p-|#caP*TLלʢxU3fdVW_g@pmB_63bq2ėk2qRxO80/^ְ#HE tHW_uiE}t!{=W-/Eg"qXܸ>fqrN]йt䱜ppc2~.5*b/C\l $=tJ6xԉzmf~4!Es=]![c";F*w{qַ@>^=/7^@B<'i$m_ۘ}ܦ(1uG@cʕ̚4g|ytZ%9id.J#}-CzG|6^SaOV u.A'Wc޻T{哋kIό"PpBۀg[OZ) 9$e?9_:wJ/~<&ॶ?;/KOҸtV3/1B^M, E6v[^@HD<ISޞ}8A8%Oo\@ s V׫.5MP7Ҭe51EMN5hL1!FZ ›PC-^\ ;qww ?T*tjs#/g`۰ERL6g-(Tn&x.3P ^i;5ؗnL^l=I ""3y<{4.#BP< |k N?E€ʇ-۠ҋ(KP^֭ lh+_ <6^BdvΙ'sF8忊 GaU~Jc @۴D# (Ic!!o/DC_E,R{#\aƽ-,M#lp` ـs$ƎIŊaWG}qxp).rj]\Slट/0, $6z,rdN}rOl0\il ;H|r|=}sS Aٙ$:^u}`"R!*ѭEQm,L{l}& @%D*Yb77l6>x4F;U^$!o3Rd"|/]>_/D#Z}9TQwpg8v ~q4d*?-{ȦG&ErDqG6⍣:)">eMƗaj&V^KVNiTb'[G-uoFwR>Ow"t-;~q7Cjyq"|<@Ĉ$"=$+jd,rG8&9kAGnXL=hjdP@ |_Pخd7*7qEHA[2NwckTƂa>LPL|KyG0LYbw: Vy2fxϐU.hx"o/{ջ+#N@;=sxG+7|02ZcC9\-=OA.0r$2k/2Zx <. )[NSdF'/^:jgw]8p/$w#5Z4~LK{p"GogLЋ+g _"O;f]*kȒ>0`10 b#MDyzvgω<;כ做Ջpx2őr`L}tlSR @9RylL ]rXJN*K`Rb^ΥQzGf"?z2TjɜThfÏ]mOQdV\H3cX.DjjQUjkKz;ZK֩.J$B['$Cˆqq 7ELKP{ınTOW2CpBDI&PeZ^ktƄB+yhˋ\{84 J]y5J`(.u b1AmC]XJRc1`gЗ -̥`[ja<âF2ކ*"/ڻTOzw.h*ǰ7HeL_)M^XGwž~$b%PMmM֔7)Fh4C!VE V uC;h^  ċyqHibJ\Jx\, FjXL05ӛ }RstOOֽXM]A.Oyl5ݘae{a-Zg0 UC ]Nz}>إ{Pk-z7kq#V'9tuo:i}0t@QskP?&~_f̨zIh<4l`KxGNX7)r𵄗1y T=/2fF8ƍ87aQLݐ~AW%c`Sg@۸ ܕq xROы$ AWUl>џs)EG8uxP Hr 8aWZC[M`P :8 +xdbz^SgIЗ!}eb6E\d,hB8|:82)=^Efzt<hG Ai]6[+o]);~1'm8|B$A,%\]UAnᅭzd?mgYt ts([ܯX^ ΐh.v/^bߝlAv.H/ɝ푂ͤ?y!DBP0f:^xCБ#;G_=²50A|6-@ĥkdm퓜}$ϪCSˆcl ST;k"a^儖bn߭%yϝy~(ZDžMn\IH5O@bUPIțLfH`>ir=jʷ+m96}{u5i(Jo S)KKNFÁKBJ@wfD9ؘ`y7>3MR財{ Ib)̔OVN0Waǟ{%Z{^GMD"Cw#GOwE:'B6AFk) =Ð C /tn-E&0Zb^D9.,gޯWW(gb6EN4cWc_W]a"+1S|Z% n0)`)r3rƆ^g%]38O򙖁JB00h Hr o4_>%%L:ς9{٭z#f>+7׺"9sm?tӬAJ Ԟt')i\ Bm,dOLqGkE l!Q^2 zmd-Vq\p` ŭgb=13L'!'DֻapOw PA:ժ9e45,w$3rg ;oQ BgX٫?q@Nl,Pj"5j'UI%*43SzYԷIk"%ࠟJ2r4% {tئ9/M#dSVZd`$itQ"ߕ|5ZԮ=8v'1ӷkx,д =}s~fd:(crۑYl r/Թ(އW ={ W&RP,O9\-9,%-K ^;`R5e$S^8>4 QIMkލ J\榘v EڬzI}< ilB槦!2–fa"w)Pj)_jhN汸5ꖤsY$M;5 1m9\,ѢoHWL7(+ %9h0:rΙ_f-fgt9F wDfPܝ"n3E5۝tsP);15"n+_]_ }c80~T!EY ^Z2o]HХCgX`lN=Vy<86k>N 3RNI@ӟ 2JQuϛz16CP |\m΍kIN.ʕc#b~ru1KsK&K2bˬ߽pEIy'nBtKguŅ:~vY ]17}L-lX-tY(ZGP\װsv 9K1ؤ*~! >TJ.:jJs}$]^osٯT]R?~W@}0dUq:c.n洘3-P+{*ԗr {)WL"hxg.=[ Guh2r]'g.ݏŹco> ULH~S ²nl"ںbL!L9bLp9kqK78li劶,e`ꌿX=.x9}b`55s 3" H*am4(sf#ڒ'o[>h!.l>8Q0zc8r6T\]W1/Xe6k|]`HmpSy[CTZ5+CAWT^b &Q_y$`":כ0̂%(M[/Ir%El4uG~s~rV_].]b=͝FxlBE5_Jr?nFJ%(>ʌ6.į 1o-Kp|\ ;6!my7D4:by\) sY}myD";E]a)}O*BK""R酼]_{a#eA۞R}RQXy`H .akg{%bҚ؉`~cQ![*wrR"ܱ"`B!ibΣ#_ꭒޫߖX/N8K9=3!ؐ{B_^B8v4HW9f}_& cw?X,þC$MR΍ԅ`~(C{ 9[C؁I&ݨ C펅g>$ƻpϧrGRYusmm\,ja$_:$eaMo ΂t")SENHɩ^.@'d õ/1`jՇeNLY$ˊl~.LJw~Dըlۓz>֊Wxm<;3H|RFS߭Ĩېv:l`߉\QK/~\g^lVF㸑1iTS4O>KH7P4MD@5EXtџ()쨜a FYSdlˡ gl)G ZyIj AMv_UEy $wmlVg=}m$N4|r<ʌ-rzo,5h>ݮػ,*Ǝ h7Ȳ:/Šltau( Z -yeT4ѓ9"ғ{!Yj%3RIYӖ 3}C]U dGcg~Jl&L/t #wοqybvUD5|;I^炡:i^!u:9Ө7%Sq-RWP}J G>OTRC?n.k߽4 "b&j"͎Nj\-1i1H!~Hn>Q&tߺi`otQuvdFcc!2lT̝-y!`ivTIH'h+rnhȑoz/+SkXwY, Bxe ^ pRi3i'#(uuhsLzO a%V4gЎ+I9@yC7ۚme){G7_ ') a_{~^Xn=ߐH5@\^Uh5 ʍ4BH}؍|ouPDxy {p$Lt}&L7$']Ȑ(+Fk"b$)NX~V;:G'Ok.y)6k:lzU.\|~0τB HH:}jP htry =bG:ƀlX~fO2Ϯ (ܩ*d'ߙGkDzC}׎7e{屃ȿ(Ep+4W*O~)3xX#+PEF' `QǜCp2_T~tm"@@2Q6j)$^jZr!BwPd |W >BZlд^ {amOxURsgE kz5jdpEg"VR'c=1!޾nM{| ㈟ X2Rb||]oڸ3L]Dٯ WDG2,.rPG O`ޖe|ڀj}hSQ>輝lEvk>b r(5B|x/=%Ft m [[0\Ns c~f=ٝ[Ć݇m,B]K{&TWϢNUv̛pf));"--^U9q^3`xfXᬀr\Ά"`&wl-{<=[ zht_exTS/!J87^1.Lt0 XAg$. :-{^&%~B;q^ J!ݩRN;[ڴ8@H5Ԟ_93S Dq*<ةO:L٣K,QMTx"|AI״v4ht@UeHcI'`Շ@ꍴw4Տ;V\EwV+pՑ?,ImLb`$, ߀j>D0}e^ނ6AycPǦ(~HgUalhO"JmU'&ҡcq}v<5POE\ROc\)fPb!i2OHaƛUcx}EJW"Քb` &ɗg(]2P.Ï֭|iyU+,ZqI}>y4yCqq|n߻#sA$1l$_j|$}p%nc,{$,ӚXow㭭===T;\bƒ.loAFit#l)LPʽ,ʷ1>*V>r>T`PqvJ7jZO|!č lV+W "A1윯2BizP4~=rX+0k"9%ayZ[6Z_Ê`DtBRO&NL$Gl6%B>Eƿ ͯ.o}O jufħgh x ٨: TJ29GlLr v%|[Di kgZV@7(~&>>;_eڹk2c͙\?y^V[z1!)fNC oѰ;D8̰iGƔ'hRQ 3ިI|mI]tgZg.htt;.ڔFA@~rȷg_-4V2.tnK̕(F4H$cϣ*n`rcKdJxF1^Q>jz.kL/S* d/(+;ܡg,h# N$?-n4]blCq; I':6]= [dyKCv>81T$KIjk@4^sʬ/bGQc_멺kb l|l>A{tx&rԬQ齠GpzI+`!/K cpUY "T+3ɡNΐ8>(_ h CC"̕ G0HryS"^Jx#CzGyd.m"d23^Ӌ.M4g3 {ZbӢ8+g#ED8QRư +"͇jv2G1ؐ;I #W ~P^!S^n8bi|v(m9a@C>6as6rF#9#ѧM: lkGب8Ҍ'Pq'.Lnx܋=EbȧC@6&sj}q:]i+gl3.jyNzk`,R" RT)@Oy2 .C:JSv]CrHdeUkZOG-`y;a{*?إmqOt!ֽ0h P5WȎO&֜Jn_bz| ûR?M/0~+uW® tB)z /eld~wG)qzdZF!VIؽPo(?BnzݬݩNƪL~B7R?g.^?ybzb!i2\: 6pFOd>RόMig0L<tmeFK%acLYWg+Y@r!KOѧ3ԢYGf<:\fv \\iH 1j`YJYҩ,Gd֩&xlNFo) 2H O?Qϵ[ #]ׯ&kPWE'QA˶Ֆ1i_/i1ſbaJ45u~Io.-Ue6.X!SEb6Hh>l.%|?WSk&T O M*>:5^NU''XD=?e"W+wN5K2M& 9(XH%x3ȗm)3Co\>٪I߱zJm1GxN'Ȋ&C" f_.?mߟY'[h׮ Ks Ȟ` eGyX}w23XP&!eu] ط`a Y-|T@mҥe +%dNgĜYû^"{;+Ό= >e`]<.oy 3qggp~o ~Wߛ7PB,X{^_vpeV$}4e  g˽.,ݻy& ?PVNp }Dv4Kbuco&C~E]9*aȔQ Mm:EsXvc,I΅8M9?B!N p2͋pwK ||dZB=X;_K@//WpIsW"1ڜi=O$Irvóg^F4d:?aj+Ok+i mԨCRD /@Z^Kܼ'㖟;,o43xoCڎXj{JR/#e߻Ϣ=M%q_Tx{sḍR;Y{oOr7f+ JվFϪ@/dt2*peR|&<.ڒea->@k\᪲$C9ɼYK k qFޣL ctEgY“V'Nd9p~2K~_2{Fr^kΐn=kND\)P-^E6uX zP6,x[h7-%W N1?[H5&[D 4uV⚋n&۝6!Hxbu!vVe1^)Qζr@I屺HC_᪇x0q!-Q*B +DWzd/}4y?H L,*pYٕ%JOvSߪ}2^]+c/,=TK䥒 9va$AO`.W{TڹnXW$FR?O E&]վ^~QydWkeIJL}YDF0nf \AFpr鴍29doU5}Ƙ$O#QtԳ1W 1a⟊1ǗB~Q .?1T5믟PoqE@,q-ka 0R/KQ~>|4=QZ?5eØO$I^2IVwu>Yⲭϯdy x?RVVdid;l%aRܤ=_<ӸBrz\t}Wsk'ŨNR0V߼7ӏ[9k/Í'IÇU؄+@_C%S 4PU*Qt$uR:ۜ8$'yZ唑_]Z0kmSіtIqɿުJ+FCr%-E';d.z_*5H<iʣzY䓪?|j񪮠OбqAelo(`9e .=4M4.eU˰NKÿ~蛋,.=M/w\Uтh,+Rޟg ԏb=`LMqgcȥ04Mp-+Ly2~8_"\j2H("FEV8z懩_?#?=u`O Ms!{koc7*.&U>%d&~bv]o)WPT6}#ՕP40[ѰާJ؆2D'F聁pG:L3 =\MQ\;&߾s`b0fCn{rbWhQُX'ed;LH W!v3V[NH{~7]^ kMjC^8mL>KcS}mc^Lq!B(0vΘz3E&GG-y|L󵈻"64^oF&ƎXy날ٿ7(n'ItPK>iqFoj{ E?]|Oaeu.r|3".PoSL G贆̈́}9j-xROȖų~Ћ+T^oO H"\{!!x|շd搗r郇o#}]W;ΧE1&PE$CLg_Mm(~GHYܹ Y–%r}(`?~돰ۂldd gli{!K3c-bE8׍0< m wM/'W] on!X$a9b)&q.cZI 3i}~$݇*Faro0SV AC>x͖1 ^:Duh],B:W+4 9߃1]~+;KH/3$2^6fe892cyR.PY Vw\ty9șT/9TL{+|gvCxZ$Q "IJrVM.jQ|C}"&`!O.='6hKXyQ ?2F%gVcK>Z3'댆 WoE ӆA !y,UrѼqX 5oۂIsR}|{l]l3ɤ|u'*C9AOj1^8e>T"LZ 񨮘&ZB +*}: M9Isi9D2*j?#SrBt~4n;_T 3`0߷a7^ vOi3IQ9P5m{Eh_^<흷37ar=;IslXt2I oWM<ذ*~-mUG8j997QČXq ĭҿjƄk\ՃWG Wq#((V%; zcgJ[.!;tD`*LdHtZ'B2-)}\264ml`a ]4mK!M7y8!8KLN]HB`wI5*Kǚ#d&y c/M7=~n) l h-ps`뚋=!j`=ߺ=͍TD`|;YQln5e^又?[Q% ¯BNb>{wOnUp?4sLN]jQ+<#r&`=AFEqtmOZv@}.^rK@ Scxh^ =/h2~cnMX =ʏs9:U,DLQ-B]@Ce=eBЧ,NH$>jF?!8hyFv(T|9,/~! =yG[W L %]J Q ; @ ]n:zy'2o]q6 a@Z[x ZF^rʓ-m)+xzPjܛғzFw뉯5#S%/D!"5s<99>~HܚP>T.zմ#Vð-*[!cE)Tfk}%yd i o". TTҬlI;d H%}SX71޳#KhUgąí5 QUD1ek!5NLV5Z))j+fh+ε薘1G0>}NA~ />Kt1-mR7KmHWI|IKPǧh&{KW\76zB>*^#;Qr4/.-C1+)~ [ɴAV؍>D~l]# >;&Sts>n0Be'ׯKB5 !vsV\[Ï=/%sj$ҾۓX2wV:D#WwN wһ\;'"eoiYdR}i9f&u,jkd=1gF-0rDejI1*+UJ;I@o6Jy6%5})q>IHkϞ/g{oTh]3wUrM~քg&K܈!6΋4Q_uShiDj&N+޼6m% >o7'\Q xaBTMyԁy{[7i03  MvH$KI> 'QOIw}JM}G"O҅? +7/%OI$Ԕ欝N -="/ 2ŻY.v;Bv3Oapp@MD`8 מeO;NȒh|h 6+!AI7ُ Ho7/nsC bV K1]ٟ1SU83`TNdSʌi+$pdn)fƻ?C*bXWlQmUb%J?&?2s|I :gqm]W}p][V8TwO~r@[Au]jB%'jUP q-f_Ƥe[Wr7= ?YZc.5reY'p-l\vɣ޶ݺa=Å^?e,O o  `ԨЍ&uNH,B$0?)K@A6 v*&@ z`W$ Ϲ.qQ̿~SC$T3kGJ~0P=߅e}@ȌO{2< %, V#ΟWY7iqG*%g^"a[smo4ryNdNzOX}ԯ诠\ݡ<.sU9SD Eq`2L®U?*7qz5*skrj^UVO{/䟻+ &ϋM~7z`rikh+rS%**L|r, 0!j-oq:;TU>~pQϟmh9 _nʣW 6hcAs""%i9Nbߧ<لc"ڳv1NGvI=CGN6*Mبhv_ڶfuYx7K~ŴSu X4%Aq?վfR5@,2/p)0:"&!$oB 4yZJ8x-lu[(q|bM;6L\߽2\++d[5bj;;'#=,|U35h;M psZehG=_" ^P&/8,ȱTg|ska^~zP$U'D„؛}>`|2Д9S08Bk*e.sPN,{Eכ*dxsU5@3G6! *j^(ie)]( %oil]pRtr`L}2vo eΨNHI>XTgod  ?J 2˄*vن$d7ٛsB^?21f )9؜nQ/ 'cT_CvhkHMhxtE9J,?prx1'V1 RGGm*wћGB S,{K/] }Fm|VLjwGL#ߏ0πI  :B=}-]ZTv例P^4}j+./D;}lefbhtyaq"$9Luxm[ v"EfWG[˝wBFpΒoe'D g,&]~wXo_M.^}XY4-+׃һ$qH'9Te}Pʼno`Q6~@ LG>t@1^,4LLxUz_ѯr1ށv '[̠?Ƿ R_qRYZZoMI0ńUzSwXsS.A)ܑ%ԙ-zT(DU "enFFiKUM,c%ÒTҳx]75_KAu~1˯+?+Fj6#cx{+k=%>0@cXD ~|~( *^LS AQ ϓ()iuCwrĘWWmr3OI$+;ʳ5u>;lEl]Cb@=yU>n߫s{QOmS_VCpbSƣ;yLQ"FujrQGev}1+w _`}R~^=#K˛vq^;ׯ2T%VnTDȬ!ţ$xq$UзCp_Ljubhd1ȿ &vjc;>v) mS ͅH'`㯛C1e5v肥 oTdC'5<L8ɠCwh길~_DْhAP]%ùnzj0viynbieӴ9C.4L3*=6%7/\j~~s.O%ʟ\ȦzcuWSCW& $G%-iSLSJV?{SP~iԈa:Q_tC縿eЋ䚮H1SZ솉 I&4H">K5`8 ]n,&x*׽ >AWZK[XD2g-voO# jm%{|"YFd:@ʵLRn}y~1x'^PΌrO_LʘE͗xsO/LڑpNl?QG67bi ٳ0bvdKz9zǶKo ya 2LcnP[XWL"<x-&?4P11,ؠvË gF~胥Նaabw⊨$(دY_jEDwqUK~r HGeyHN$YmnL%<2Lsa¿ #6e!8ώNr3vV0 0 QY)5lPJ~RBŒA1E%Nwe\[G|x0ڸ@6eY972/am+FG(+Τ 2X|y #FZ+\Tn'zayLFZvF\gE\b C WaS3i0X&0SxL*Dwyd` aW罣)a6-}GA`hMM< kPsf߉ XR yH|]M'{#&W]!@0Z:s=/hX VÎ ֔R3O.tWJ?CuiAgc.pBۨd"{7Yu胈M+G|9BG?R{W;U '(Hx|8*H{vw{EzQ&%c]^R)sj.* i# `ƍvrqr^QM}o ,xg {gCBiuؑ[8joR-XA wWX쀿Q`\fsN6Mi BtHi׎?ۓ諪A :sn@ɼؒǍ^[VuMd*c@D}}e@CYQ” $b, wKE2cX*?l 5v.mdS  ήP$$'gqD^>dy "~_X`kv3mi_,P]BoXd)@& [GF<τ~ K.{uX8w~1c P$,/} ;|Qb7ƘvQ8Y%%⫘V^< LeZ9{ک5@dʰ24Q<#Mdh!#RTǃoW)> MH6im+_5JKt #?fꏽjOIJNv xt1GVyQv7 #dAK[+-cxum)oX+9vNg$ kc[ yf*Rs7~olr[{I'**ck"|Nrz)×7M8mEd q+YDHߎ:< _K &k|o.XL`t9Xtӡ/ P> ?zUB@Bֿ³]BB-_:^G#d,^= ^X!nz4x@7?8g_קݸ({AF 2E-P?:NEWRGhWÇKbn㻌S(iΏAI#,e T(F]z'N0PLf^5pWPMwsݦs 6bU/kԨ(ky_"{joЭq#봣p_DaUB-A'UMs76"٪[&y x+g\C7XtS,s$&K=p"qNߦJ.$-ƘRdZR%: id9O)!9ʵxĴ"[N\t=^Zm}U)%|ۚN!c挆75.v!xb8vU}k|nlɫ505 BݙIaCWx~?ӡ'H+ȺbPu܊bnKK?SRGK\P4^popG^#G0@ʓ{0D{bx2ф=Yb{PwYોEE#-0E %]+V^I*_آdzEZ 4/׮ y.3IԑC."٩sNxdm%lY 9פֿi:mBS\xFg8uԐ9%+LQ}Y&?-2tY(ZŮ&v!{RDzVC\'^!(f T$isN81pOA~_l:RU\D0bAP3$CQW wHDVpv^#2/j\jrn.cTzT.GyM*,Jk@bkM$i뽎%F_>·B}RDqoO5Y >|{bjṿScL\†R/P6lR=H$jjC ÖLl5gԲ.U3GnR{2*L!}.*Mx9OO5Jۮ5Փz&-tIW|Ls67h ^|[ [?*T `FkՄuOr]ҕ ajοd2mvTZ$T oynk_ z,B&{[r^cO uaڻ?ڵ59H_{-s`Y4zSZRJs1'|sD~P6R+`d+q^@$!FWF8!aoKã/_E1\3͓~bB,/W1bL۞PƠMsF-*̦Q΢&JWk;dc=b"UQ iLTl WTf8_0ee=nnK7fODrΧG功nwDwⷒ_ŅM<1ٷA!Ҏ3ZWL9Z\ܼ^JK(tk/)|$zH6Tӎ7h烊6!S6\^o+ۙ87bKcÔ߾0 ,3pA$J=vV7^5Ľz ʦV]"ijlx7>̝UU:28>&û/gΖif([l(~^:!c"2[ e&5$ڤS݆NBlNyOnrU4ZhQU+46Ꝼ^3T)*&|+1jO&{ 0慯%VvWvB4{w"#BRuXy>u"$Y[S[uad;OX}>(_.I໶+T՜640z/"¹vI4lC.Ɠȫ3O'!*'Irbզ+*=sFxde:C|Ӭlja)xDb4riȣ[-avA*[i5ZNo䔃2DYD[_T*dƍb{Ȟ]_#34 ,\ER~*>rd)XӶC=Sxj/dz5.5tW(hs(4I< he犆xێ#~ys>QYaC$ tz" o7dgh[HXQUBuM!FtMxìF$9O#,ZҝXHCl+|Qm.kA'BQŊAswqw$.P} 4lWm52mkÁHN4ծO\^W޿OEك[}`*o+2/fnj)|}wQ_yLeR듆w^iU(B<1 =% d_ۣ6՛qc/ Fo^8>5w iǝ-z~^CB78 >vGyu6 - 0n*947xX&}w 5QjLxo!!tw͐H&R{/22֣׏Y`4r"be? Qcf3 )KQ ˑ?Jj%GC@2{*YI̿ǣy a{zl tlՕk5t̉~'|Z1Mp:z4ҽ p7y-%yAF_e?בw׋-<=5囸ߦF @Hw`p/-os& `Y_i, IFLjoXK5)URDUIK萀'7s9.g$2;|=)g>Nv,~xitK?8EƦpZgz>&B7~AW߲q9 P3tsدbpb e[8:-G( sx!.Af8ݾ5KS{s6 ] t !_GZJZn|+_/t%K ^ Zϖ(d7 12TpR=d04_T&ijK>=NZ/G<zrݝ9(ogucJ771ܡo14[-eA0)(C;/aL0!C08Z:?HVLI!E߆{u "(8)xlt=N$fةtՇL/1cߚA.D#7>:7IEDHG%oJU?UǗ@Ζ(()!'&T\j\5%tQ2,{)a:_C)9Z%rק U:C亮H 7Md:IBOwqˉ3aEl?9~HýZ&*AGjo',lv /W,dCG#,i@O㘶R kEYKg+~~0O<+U&[ґ4 &~@8# ( rRӛGU_xqj1ѯm=0|ؐDzܟE%ÄYtҗ%@\%ۖժwȏ*/;BSGlֲ(a:H53%AV?Bμi._^=#UL< wk:gK3| 0Su?+Y ~$~>D%6Ĩ)ho0gŜn}Q Qnb9g,& ZQă]!MV\j2u5 F9/la~dlu˷X)"(?ABw'j#M{u#z]7IQjsG֫Y.(##(F9VgE桺3-{.o-O;6Ҁ<,%@A`|]ϣO{"n_6iwILZCQKc9G K"e`FxŰP&.LJyᣆ NQlԏ`'8sdU-?N&[ttٱ*櫉 J%t 8'qBAe~<4턟N]W\<0:;|"M\#zm+ yd+$~/GcY1& k?/%kAxKɦB3yK?K{N{~h hzhszFL^Ͻ9]f&xuHE Aԯx*o*Qx #.90?AP5^e^_|ܨ(ʑ}Dp鞲Bb QY-sWɒ0NүuwUc0^mCМ 4%gD# !2>iSEQby˗2df|4c!o۪Fl*]c |h$ĭ̏"ʽ#2mʿLquhX' u}% EIN+M;wcsY癩k {W6N3 :z8 ,AJ^|(&;dH$_2wwdVC0E~ՈCčۅ.1In!x.yYN_Ē>$ x`^:߼0}.R')CAu~+/\{ ߄%FJG?ȒEf,~cWy3 0H`q6n82^t?aS{"v6 @/͋f5t?tS>(?^1bzֿ5Ix8Va rԲKt%`3,W"UթNdgSP:"_]'kV5)ͪtU?<s*! jl2"Slm,D1Qeb{;R"7s> kE%^W4hlu|t-a:2C}p<no>$]8ƣxNPnYaa ) D[73ss5/,Eo~߂ *;[V`!/3=fSEVZ6!TF {/մtB zUb|$?os7PŶϑqzTgON~$imdE:Lf{1O%}霎X^!Dڣu1VV|'9?v?ϷBK^=]8>~5R? "MHYJZ a9@ƾ8/`a\)8Ḻ$Vi&zA(ET4]'xE,'Vɭe*QLF;byW߹`<96׮Ǝj[o܌ O0;^G8-!]7S&Fy.Ӝl=c˥ZWK4KviV#-Ko9ѽ1o.ABs@yҚI{_]y >13?##&Hxox1󳉶ؙMy;bs$|LDпCȚkV:۩LQ$蒱`dWwUy'x;-"@7fHH02%#qA4uMXp?x70̫sGX5A+~AQJvFG/`Q 2+"y[0-ܿ3IM_t,L  \0Ƭ˴e]qqEpϡ E]RWpHo[V=l;';߫O~Ʃ-Oj= d0^|Y)YhD~A%wL&RR4g/Tنi7 ^I64L > 14؅ ,܊\zw>X*HF/gxMü3έ=; YrƗ8#F:~gce#S|w6Sea_4gQ<.?67PD΍B^'Bظ|Hr"(/#]a?&QI$, *oz~-x%m#'aO!ʉ+כ^s99Mؿʜ#ODG;2=s0+HPlar:Sv &4\喹xUiZ K]<s_jP8ﺾ"RVggrV](%Iͳ/[^VѴI~oOg$ $1(h%]n$E딈-p9 ;hgX a+,9' 0b"_AmucS'9wE^ܫ:GeNxj`suLȇ3 }4y=)XϮ\ʘ^b S]gBnpHZ5s>d2˾C_K[dˠmx6m, &__Gh$!x*S1\ w괡,) z#5̃ؿsX0q~ -6d|LzZ7aW 1RV(9{wx`4f}dez.j$Â9]Ҋv3M_Fj?dkcT&RY&ɖ7wDY)I7.2 %D$ .'\‘ΥGGJ:g]e,åz^ŎxC@5]*68[^Uj~;,1<{_6i7y=@5,d&耋M"8F1ͽzgJq]I{› By&KygkΦIƇ=FaƝӵrmsų臈4@4b,Ɍ>ph.+s!5Y\"^FtY]5ih5R{2L6sB}-Js_2GHM,!8]FˡL孍 P ூkҜ/nȊNf?l&,Of}06I }Eu~9ZZwGYEy;N#~? e08U[)z>?ɿzi:T>h-52c+[O8?gU >l\^_4j!zmP^Ql,T(gSñ" IBqBޖ-%ȓ ѕk#=C#^oVskCKS&ctF]"Se+t=+\3INM&HU! _&|% RzN*YJ+AXHEˉ~4"f;s(J_g5mX6ǜxZ z$~_ݮa{.U*$F-5^83QX_Bya9Z]IhrZ1N}o|nŽr}y#Gb7:nR30J..Ջ8n?No9dy:Ve uȭz I1^( Lfn3G:ɾ"#؅`E_eɓ4͢>_ێMa^gR֡+w϶LYk򋣡D8wuh~0|=6ر wݿ&a} q9ו24cƃx(~M6Ф7i>/# T-f{cgW;m>eYUǀ~aC~=$ *볍M{ >u#>=W栊Mğ4G;WVrE~ui# bRhh۝rcGh<_~1!$uH&jKbQ_ܱOF{Oo[:<9d_E!Uy*;}L;va*^0W}C9V~:1Ff%UqP"Y}f .= 7羴5l"\lzaA NI{L#?TI%ċ]PA5syyY}$/q&|G!F"_acNlGMV!הPr]O!SJm98BO#{˾+k%܆N`ֽO[zw_q2=+P 뗉T' K.bXn0ۤ+ ';tbIZuRﶁY}Z7pNzƦ6#Lx+Ρ^!?qQ@/P%Y̳s߄(QE֫kMPj-赊};d)"cJ"};×DmwJp FZ%!Zkt/u_!ײjZ8LRU4TJ*<,*l7O_;IK2-wO?V"g䶞E}e#RY( 0E8]+u瓘k/;W)%Jd'F=Wjd\0Gч)%E%ܙoRI2?J6LcPxjY k'mg#70)5 yQu3^JxEYIN:Af}o7߷-F]g,DK:tp5u}iJ`iYܡp,WBK8%m{fz2 .5+.,_E+2(WH_W*Ɉ w3&Yr|$KG5D!h^E6V'Y7ߙA1+3%[V93-g獤g mϴ$Č{u w2%ӡ xR:,/y}؜Ax3f",5 b˙ Ed|mL↼4G#@QY*j3-pB_X|Q_*>&d$O5P)Mܞ?"Q ( >VdP'TjyIWjT|-A9H7)[LA2'ar D̙gh-E̳ՅZGݧOdt*EtX$HC0껬A!A[(w 7eJZRVݜȡA1&/L>Ru\4~Rr)K<ˌGX%¯hߟX}w?gUgLgA&A㲑<;7Y[S-Wt!FOdJ]:S \g}F]>'brTc ƜKZxIGu8?ñh+s8pl' `'G"}CZ$-k]?}bkpG$o~HJe[= uAat,+}W R `Hq}z0}2>Ϋq-l{ D0K.DSx-&8[2)x|pT\}G9r 0npH}a?Z^7^~w~f3,y%>"^2$gjZ 'Wt^2Uy%o\YvLBőkTCMٳGDRk ;3p':$'& LR\Pm^doVN/0K^s"!$@̅tY~V][E/D Yf~a*`c֕cóB͆^*bd02cOr 2kE>|-zN$ڿ* Hxr⑹x/_q^w!V!&GWXz9h:R^W;q},~) (y+ Z8ĴyyG ^!9g̓m!B W1{} ~k vDNvV0oEQ~b,AxOӒ1" DZQ^-si7i>`DžLzduC[h1-Bnzd+QvVseW/'LWd[A!ćT}K w<ԥ[P%H0q_K9isj~"nXm\0- 8VAm20&?2_$(x1z Yifzr+/yԍ7 W4[ M+R9HS,_ *QLA,pn4ve ȻPq<jj5wd)n'7S5m,-ve"daS:$cV"@UAܲ1f1rЉ蔸𢬕qFJkS*йt(0 òlw$*U]W v)9 ~8U.=iH?l w8;c_p'flP}}a[oE1Ɓ`?7lv^}t-aL`:Țy Mp#93~@Y2~+d- V_V,%0̴9*#N際$oHE*T4A=ttk5B Zc3co!b>("QqbӟJO:[ Ss(WJZqڨJ4@'uh7\w2/ˊ?. =v ?Qmc`pŭV^"EMI7KEjwƸ9|r#y`K] j@zT{:na!|ǻ(e!e+P.Ha KozĄ΄qHa’hϯ od# CoLE)9 w$;!hH oJuCkӀ,Gp,*L C UMfeUJPVݔFyTa+DN@5P{[[?ڣM.1[\Ė~I=ھPhĿbJH0kjh Cu^AZ7痿PJw\3ݺ nmt@ lÅt^4ym KdI lwNC֣J,6)K]t+pURl3|h'G 5MOQC5eXZˏ9.ITgor~-9V?z@液)nm8[fq\!qWl$7f˾k=ur2IRzl? jЄyCYtva;4Kͅ[b*V)H쭇2LMP&D牀Bdd}y ˣ"ѳLժ~: QxR?D<6*jyۅ~'?gfˡHNykz u8A@rK'Q ]v>s[MYmG坩 Kn!<άy*RZYoH!1(;WԼ',xV'j #z S^cska4-:]Bq:SV>cɌ Y헻ܿqTz8G-Kxm3A!¢0t-iK$,s3!eqc"/8(VCjCD!+ߔߜ>$qdy ^ā?ެfsyU bI;\ʿ.(qBq|H׋3ŘQS?0@mpbƁte/v7GR&?$2K)KLj{Z5HyƧW?L\ !^?W9P67sYHV-*Ih k˚a8WBza:2GUxqf-!I"aVѝ*n$C`dI&+t!hb~A3Pnc?]ut]42jg%0 5SW-qeE0{,oĂ)˹ ~ǕlBNwO\ɇ%X ?]DN]\?^@#?"|x|8"ذ! j5O};rqdf:"'Ug{Qg~-Yܘa,/]_L l6(Gvbe9Ռ@4g`Qp٠|\|Ws7p9 BE*ZPKzNΡY)խ _编^~?4B//~Lvg2ݻ|`3:Κq|iۯ5C'ǖ0?Ʋaky S/=iiJdk$ D5>Ti7.jX26J&+4(o[E0߀ ΆL@܊`Ke|Z}[Y0 t|ڰA)z;,< =t&YX |9Aa<b|4f\]{ .uo㢀rfcW?`A O ϝejJwGAHV"܈F}80[j;P6y=3ĆiN4J˪2XCԬ!'?u6e^wnx-VG7f=Bw(s]s]ҏ߅A_|QobRUŖ*L@VE9!#b̕c`>J0vU)x6~̉6/q嫽 Јł&@@*oP,ab oMǔmSkWhx(^]!Y "@z^Pr2AČPWh1iXlCf|C1z ]4Qը`su!vSͨHlmiD16oC9ᾝî)ֻ4{=U# 'uC:qZl_+>H Rtzh6,u0BAL/['xDܛɝ*JN#pu mWFStp -9W*W#U"E;V( e؉QgߖE]Ǝʴtnz$j'w7( Do-Kk0xTޱQ8z…ta2(HtW;\|>z?w<й7K`a*тLOnl}-orkR8 F (zL&%&$Ȍ ȌB8٘'p`;k}~=|Iᧈh#'?G+6te I20#8u71)Ro#8|z9,A\t/_(Q/F XkR\HQ"o6U$+P^._)E1X¿ %m2Ͳ0"ޣվ(?` S zp-/i|dh[ ?lg} šX:oxbp[BgZKGnL|>ņxԀd cO5V-a֧M4B~Q5, ȗy%QGe.D.w%6Re K0lψngI\ذظuvH 2s_lz z/F%TeшmR<^ oop >ޣJi]QEfӭ.TĈ!Sܣ6_j!\o^L.?Z:{mR^ej3I r|q:57A7d ^#5!e@D+NΏX;݁*CAB$.2Tr>s_Ik||Xy7dz_̮)l?:V3oC3%@!n j֗K !_Ik_I_yG3ɹ= ɻ2~ ~BvDx nlos2Kd-c90JCa^umZ7:iƠqp̙&5Rpl͓P GJyH!`X<'(88IHf;=c"3CR~עw6iN\ˮX/Ov&i-$~IM\CSysQMޞ/*>H#{ۢ"eľL`~MT5X5=r0{7wT)XD'i&%8%~WMW>R3mj{ɇԪ5/@}8:#U~}I![|;{hI VXL F0O:4FіHE8ؤL_i_ןG0XU_eXZK857 _3Y+q%w RP44GS*L3yE@[_v6pm-WoVU# 'I *)k"RETup?ZjQCw3U 횘cY̔4^J%$k743kӫ!+{QzoiiOh(0Н!h]1 f' PA!!Ե- Pw~gxU-:Z6Sv.5{}$oݛ}mH\Vo/D4O6nG|Z/$t":[,]>~7fw ="KBu |"=z'D"w{sxX?ӣlpBBD om["ε}?Ϡ&q4 4b#RX˴'Wdb5BulaUOZk5HC/{e|Noӗ Eq Z"2%~m,qæ6ΛlEûLǽH! %zgĪRz_3:-}9aAk~H HW|Bq7?M J Ib)TZPD(XGc$]v(} -C/{ONGd$pOQ_Kb6^ؐ7ՎwE: a\rV|ţ`w*68[kjQy٩DP~ύMטn)wHWiWTp.;Oc }7A4ѓ҄ vT0;0uT*{MQkwf67iGlZkgIw]o_jP͙WE,V MDܡ1WͲ=UVL-ytiHPUr:T u[jdrB˰ J0}MfҴB'_O%:iR@6[_>TFۉT!qѠ<=[JkM?tNt *)K+%mkΉP ZogbUE1~jiP"ֲcRR, (JG#DXoOYR*CX/cƨr=ڠ>ٝpA' Ja MCIasPFhz@,,ǹ1y)(|h2=+H,SڗN%|p`%SK ͉ 56(tzZyv%Ub&/I:y} ܒbezn&|K龋s,[#4Sk~S֞JЂOZIvgۣx#L/WQUb'X򔌋W\q;<5ocyC KBgb8~W@@ȏ2'ϱm@#X 7ߧ,>K'ƥ NoF}O ]srNx~1 weCRas5ޥRcUb*XdoYtvI|,t]T>'j?nK6XKƁ!߲¾Fn?mSp%ڻ__ҭ Tέmoۖ̿0C&xSg\3'̆?YHpuzHZnGdR~)H#l<2e6IURF УTXVj|͔Z&rmDzPO{`sKM*|I]*{X:P" ghN 2F|ˁ8_%}*g[ O@/_g5N-=ZRmvM벯#9}l_/L ; Bד-S4G T2T:wOMWbݒ8~ćbJ%9el% s$ 1}\LN=*a X@+`#1\xpR?s5bX&UଭAEEH[\ Iԏ,ДZ3:M3 $ۊ휇1}H/FG{ iGW&غ*KJsaփyfR?"t6zU!.7 J-;ϪX#$q63IH*ܭ+9ﲖɕU]{t n@߾ЛX^fXQE%IQXv|p>nQG[;zMzqp@'yo-<©Vܰh-[~,Ƞ,}/6[5Qg4~mY*T).&?dIuta4,|Yi+1E. k2Ipsjw媂Ŋ×򌿞ٌ"P],GT_ߝ}oQiI"d|LL5Kt4I {Vb,x͸qi G"PZjHDOmWflί]3.)?T T_яfA_*!|ًt~)ӆ9OSp{o 40y w*l;O@͛JY3>?2|9ʷ8 HfHk`(n1 I:UW~2fO]>yvFwܲm&?e"!ǯE%L)%'6BZ &0\{ivlB[v#lY}󨮊Rs1q-76~ii}Kni ;?6, A D\{xEjDi ?JKiljZ m=ƫ*{C0jFqC u}Xͭ?-_ٗ_1vmSA9ZUalk ?9S: œ_e9"%xA1B7?ccv1}jǺfCOWGsϬT |@d匁ӓ,~~ٷdwz%.Y,^{ȑ_E {x+pxO챶#eQC.  nb@W}ݞ\oBn&kׯ/F]֫7{lBZwZ}${!XY0⿰GE ivS-zl!37$1@5IFKsu~!Q^_S7GTVدS6u| t2,J{=EX uZbV#jK+bm =h,'>L J!g#F&2مh3mxISmPDE/;py4|퀯䇌n^#\.3`r >2̹XM,ȈmtV ewԿ3&T10S9VƄX}LJ3|"ːam\ŭ/5;rV:9D검wd!HeMp1< ^eo=϶~bOа1&ry^ |=RH9gInCy? ; (6=G:MrYIcpzPUcҖ{H8QEoπO6~ ae_cѢd!/ 87 p1t~rG+O5ehXZTr]WTRW,_BE@L?ɐ:V0~o"/Pъޓ;c12:sf#v qqn:P /F 3_^O27Kƴ@`~PԔTWR~?4V^嗃2~`Lgs>¬}p/@ #EnT~1D3%Ie/RTg%}>bI ӑ&JVkA5z42L_cMA~r3$A=c;'kڤ15vAU?x4_(n5qMtg)ag<ٶ30eR,./v!FpT mDty>! r^6c"V)$ A\f#}Em͒E~sMd?-~Zu!G_S Iۘqz)EF@=i2YWkikNO]ڄ+Mp,l5ڒgˆ4moƵRT FX`[ĚODBF^_|R5O]^VVy@oo70f],dEOR~ס߄"qIs#<:ʜ{a-:S 5wӳfL/+tUhLXpέJE0=Hn cBÞj-WSR}ѣ5,ߞⷳr!%%6̓>rlj%rqB)CBP~}ͼKuSx] ~`֨se@2owg[2! 0ifbNOeڇB9XGy ,¼Qr99 dGѳ]n*FЂ BRpܒ$55 9˖|yFHR Hy|H<}f(O%D>"]?6iO|pa8qĽ G;2`lBeۯ>s'yYJxSۥx{Vl7wuuXFN0EGey;գI3W(2¢󸷃l*Cgb2Ґ=ʪ[|::&LqΥ JV뙦VYwMDÜ{XrS 3;69P ^wuWO[1êR8$_fPُ(CMb:'"5QԂGű2xd"0mɊjvex#$X/6DޯpG'fmYď~~L̷M tm]ˢIB隶Yz+!6_2=it5 'aچ||tV: Fx<}A#cLp {@I`GL-fPd דNFz5 4bDcfN4PDFDP)u̼[TrWzHS[o #FuM=Ϸ1Uw/BڙQM]1}rپ/ND@drg9=&U& m~H ɩf vš_Tn;Rx z(^E[|ߪ(6$x¨<YPfe7w8Vl 8ǩؖg\^k2h}ޘͻ,$CN6=dShzGTY\ڈe%}95<5:Æɴ?o闢j[wlǖe3͏W/anc-i|>d2KFSE){O%e2\!|{n2ƚ@n9RhqT ]j*;8kTɎw{҈dkr;8 ksy^/snDQoc2& ܳHG2b_X&VVCM<vj,Ӈ 7.x0h2e1 Wb>Y@\~p؆9KQ/ 'GϋH;TysJ*)8(% 1YQ:=b5FAkηhx-BP5*☲R(:]`w)7H_jl.Rb͹yx0'~|4Й6 (—Gg;Q-vLY%8M~Q^yp Z40-ToMܶ2ϨQ, .={:wPanV[!<ՕVY[5.y3z]C^,~ΕcBZ@*| wEdRU`'teA_{:s>ĩ塘!DOwx!@9h&:۬=rI]y{ظ" pSֈuO舔A]e#~T" 5#5~u/ҥc*S~Y5TB`vKXٵ4,"Vm@[ZhGDL MܧF]$hƙ\řߟ2cԦp~zufuHd~MJ[M~iW kvl? RPo n 쮜G>َpI7?,mSuk&%nP܉P t~)&O’ ׆T˔}WF I2\t&AKGHJ p\o-b~z슖M!Fœ e7(bf !ABO3cX 3#jv1E3Zg8%FEG⫽ a,2f?|E ~N}ftyؼD\tz?U|ۿMnbRP=U(h>} }=GQUfxCE_ϟFМ\#^_?]PABQH~,ߒQLyDl%gHrnsp{=`%M֮5D:( R)%`WF 7u9>F8.+d]!#sB}R{ S)0n,:pUYsSzY^cZnۈVmβdJrWƇHOSsm0W5C> [񥧩K\Ҫ|l'9 V_a "D¹uPɂRe3X7 jʚi[b,cUA-93j9x`Q7zln˟h&9 F8;ḶAbTeǫy@m.7;PɅj.4# .'%+ +Y(R [{k8[HmD3uD0KQ~2b1au}"K3 0xeߐ*2'O~wOڳeHsI$g]ȶ XK&R,1\:f% hgŤXY' 2#Urƿኌ gj?pB€^8A[5|ƒ `Զΐ}I;ݴz#-odqr@E+080j|Mm=e0T8ˌi5'KIlT qP7>u5w}a(F&:wry)W";6y6[&nbMi'y{IwOxQ'i)zb<$DЃ1N@#1dYsDɛ.9 ;MSzGǒSLCv#HV H)_cWw5Ft| \%g@$YGxW7N7Y CK`SH^`.-̛}=w3+tYQJ}j(} ;d9*8뺜&; 0>X9߻2K_0ppRna&"u+b3QGRL}1v)cX7Pd3oEIRGv.C c%֢5UǽڇS-Z|QN_CѮ+ ݈IGN,;gx2Oox|R_zDF^DjKƘ u F (mC% MCvUIP-  V(T{ϊ}3` ؕcɐGوKæmomt@an -/ZTpB51L\_#ĵ|\? \:.Ȋ,Q5Ǡ FTVoo)|`ˬ|pΣ(ge+xI`5OƄGJ O]8rg UH< [`}\>-C"ggNK:cf 'k÷Qh,X9`Qm 8 :@aT;щ=oP=R~~ D5[ԋV*r2X+lvY ?.'!*q6{C'@ta(։Ts -Pc0! O;A)O_g$FBN '(ieE˔bEqޚ5mmd6'%yQlVGuR*)bY9vO45U\&·.lmlrjk{CXnV gA$H;2"Iur*iwLw)݆t=1tJ*O^:iNyP,67Qy ^k3M8^TD,.OŒ)72ڄ EX2xSTϥݵ*CK=>8U.-~TR"C0z7g1:wE\Rb_"F%>bQ5!|c,nZ)M;׺㑭91o =YO;_^#vQ|O;@oA13kݰ9.5SA[@!>Leul狉H w1R0m@Y\$ic]3ZOԋҊ;;۰irX^B \׾1w]:%u~_^z LEW%k35 l ̓*gӋlqGLQWۄ0 Y[QYOлdq(Qe8KÂPc5Vh IT\A:Ƥ?"lRypdLM a> J.YFIvX: kaɷtoFBPK8ItoR,ˇiSt,}1- ݢd Oͷ՗FcLS)s HC5zwUUCTE?88|Sxޱ 韗Q }n%^jZe EMuޑ )kC82׽E/Yx5X7w5 Bc5^As]ˁ2;#N#eىF0i]UpF}9PI`n/j}pY6xGEXKm&x>5WSk㛞ԯ+g}yo* ':ܿE]9f&yʛ\ c,Knk"\ȢC6I'ѿ7xcVJkHGqimޭ4i^CTi+ ՟{+b O\>mi.2T#r>JLD ֦YƜ+"/!lAP9yőkFhg҄k"Īb ]< NAn,5iy% Yb$"^uҗwy%'[N{}t1Ő 8%?t-LҲdl`~Nw^Kfc5;Ri3mLualh| @mFaᠹ]KO3(ڿ|IJ QD("|s=C;ÿyh7} n\(=l|7o{[.C7?*%rgb+AV,[NA AїDZzDD>4`zj@؇}X4 X͑h -h儊 dUq^(+̒ۯro;wTV2׫0Rpt^x/{z0RWQ] JD't 3r-JTN2B,}4aP/':;mr$֡PzdlF TCW.ǩX 5M[c0s8or Y6tW1@QѯV8G7U4vʿ(vO$T[.: &J:[4®sߙ7cbh}y %>RRoªv8󷁸|oy|߮;mhͥ*rͷH{݄ˆYk9Gu{@|t  =u[Rd`6r4 c+iNX;<]%!z%7[9fiNGX!ќ 9g|U%g aFށB!Xoo'cx7Wbcfj 2"iyYgIư] JȷUsɾFbnc.Uggz&Y~e惿eO<_XP|c4|4_uP6/iڐ|1Re Rk'\O!oz_ڪlNE*Pጃ#b!S;n>.ä@aD]]F#Z'FF8L1 by~.P, x%05l3m&c=lVw!n{w@ISGy~eV) |t` 23~sZ CxdG.:L4!P = g:R}qKtBصTHz() gNgK' ^N΍xe$*MiDAi||$8t #;~}mן:PqV'iԥR&|S0 f%s :x@'$k=NZS&쐲 m,,QCk}avZP Gt@Oܿe Oc$!:蠮Ycg^퐊vblXd,hz*bSHs`iVŸ;&&ϵgFqв Ɠm BkkF7Gȝvku)W*6%6~猥#GqW?u9^8&D^:RJv5Vc8bv9xxGTU¥`=v[K.(UzBAf 6ʟ/떬D/%q=8Sy,xATǧ-Q_V/+*d5*4z;?Lh?zūJkӟoB)4uа{N#TGpAK 8hf5[`v G*yI|K/*_qv\/ⰑBY9|P:`:~ܥmSq:wnTۆ?^'FO02bdd)c7 m.ߕqV,ipsgoomu܅Dqlu N >byTr,Aphc gra;EMF}Հ5v6$X £"%<mYʰ Z|H!]MR("@k_ zc6,vӍκ]̐'><*s^7|񛘉y2mgd^>~WO?;@+ޚaƄ2J#zh"ܤ=@/ ] Qz((]J}_sL* fMzh,4/B'!ky%zp PxM/ཞjRdàsn 'f`[Ga#xYN@z4J^sSm*M A~t~HJ8쥙=J'Y8pn })I2JԘ;rEO_0]nX GȚћ78٬Wr<alZ'^6&4jX3H6jN.X-1ߟ<ƱcCX#'iri?o)KWB8bc"B2D4Ln]o0g˨2=~ǡE~󠥰~ >NQHцIVRplŊVU}bɑٌe ?Ahΰ6h1Ӽ%nMC$:pt NJ *(^<J"w^r4Q7.V0뼚䋣><_Jf]kJF+bÏMuM)C xqUVP{F'QZaF*$q@yU3Q{\/S+nb`0 x}mFclC"@.F*ǖE p vfvsos2!'g ЉV" r6ǃmNNы՗Ϛk:$n)_y^ ?쬎%gMB~5IrᩏPL*Ku?NP"!4=!1HIdookEZ"Ҕ!`v!ȯEYǷ:s~ןfo[1JԎD)1Io7= ERQ[6}Ҽ&阣+oM*ryYgM҅ڳWx#Bt^FGJ1>fσm'c4s %^V'L%+izǤW I#!Rp- ZS7 $5!aZ|գ;#b4hx*?9 M$M4h`i^gcVh8b7Aޥr6W/~Skj7_{ȸeSW=K+1YDb|,0}ph,XJhc#,Ϥ2:R:R`],[ʍ[N!fbYYa^qmRaU1m !_aWr1"=4 j9׮ϿĮ?V~L+"3Tn#?`5H]WRGHq;~~bdg5ɕ{7XJ$.sk C]=>U{d9ȢIqHa{P'-bj*Sn9+ɋgFvfg+'ek|OS/Tgy硂}LvBCvivxe ^Δ$pW苨ҖS`},+%t U)eYHr(X0ސ]=fL` FcPѝ|xBޏ9);b|'l)L)ۡ@H5 .l_ +' Nկ2n o# ~Z@{`Kw6D vz`2\YFE\Z-1ez]X籨 b7MAyfjyǒTu8on:9Z'yd *r IO7MR{Z)[g46@av1-58B&\ӦH2nn\e‚dVoYez:7 Kc(ڧb >t<*j;~gQd`;4TnR[h.ԉ$bm$;X 4"pMᆒ%TzEdD%N WLoϜ_'O%]D4h.7DNEMR=Hm.1Z"lKVG0Tj%gl2;oAΪ( !Sm״\T7N Z<>+j#+FnIZk=t䅥~'͟+1Ԁva|xZ~;)uWo x TDdeBnlfYf\/.pd/ґ5"6]z1ca$~Vo_MK+RKcfIe|ߡyQR= DQ(/MF2nn|T<7GP J[[A$Km ?6cKn磮^|goo!nѕMopQwuU9LeA"!?HȚ%H)s9f4(spROA ,T7}`{捛XO xě'9## 0%xK'zKT򧨃 t{M%=k&T%^M` ugx޹MȾSNs~,y(f7,i$1O5%4f[g30*_6yJ\hk6vY?2T0;Ij ʜz ݠUwSć$X<I=A#ߑ Hxkɱ+27AL"%~фג} Zex:PEќI^,=e#N17q(+Q2MekSN xK L3Öw;jGȫ2?W_n,n=$ڪAF##Q=ڲED&uadrO#+\kx|tξYׯ I!l~j‡@ۺ:(p 6Y} ΔRQ 9[?pt9iXY1mT)hmr߈O7eʊ‹cв8kxx~qc_ӋͪKsp'Oɰ4 NiV4޴7w>k<Ț$`D wF#W&kvoꢼJ7snmL'.Qs[vP Z!`:xJ;%Cۃ? z9`>LmG_C>jXv0sHg~]$P3m}ezsO1F p| %G^Y(N[Ǘj G ϔJqUa_$@~[e>//H!$higL q\Ȝ]Ŵ·q 3U1ޞg/| L|8Z޻O[{@-=Vl9ْzщѲX:y{gmXP>gó5eϠT=>oep^UCǩxzb!8ǚAk5?$+];mNii[B,^;m~!t PpTn?5b zJ$r F)ku >ۻ͵1Ϙ3)+?AIaxveN uBTEnJ`eCf>˼_1|pHJ|?jn%s|uKݼIރWnG/c|h@Y+TV߃\K3g[#OTD̄stYa/iV}Kkdaӗ7BiJhiz|^Wj*ٛNWػ!o $+vMxxj;V*KKCS1t^.Ɏt!L oEs74mz9/MϨXW򥠠8X0U/U¬5;6vĂ7q |~QKJ1l;u07 ,ܜe2ac5`i@11'[þc@# ȠxM>D^ƊUb:9gu =O#sU"ȿ]y9Eys96n[w{KA/ɋaݘv=d᫇PA$k7ƐIQ[aOAE z_|3|"l% 3< ,Մg@klgr$i~qx-[zG] jd{~*j. Q[j&a.OJ.lƢρЍ3۫)_D-X}e{$ak}< EM )` KXȬoa>6:1OG6I(P:$vh>hs'&"S)n֖VMW| rmGpe#|g چb>{Ż RC=dm7QkƑmJq|>vPrȪ{_(}~en* ;x `l#;g3++{wn:IGgyΑtغ%ǃhSn,ÀbZN=Ut9(h\kK3ahj`WHMEa4Z;d9rAî;i";\Wi[eU7dyVccMiofMνj8z0D*?Zp٪mt HVkZIfW<7[vۅmd$;Nj<0klǞUpQJ4wD*mvc쭝jwuz8NٖjL>M'4g54G=k$rWr3NƇ֊J,<7{]\-jՉfbd*/͉Xzal(r o N8n z Fx弬tyN#3Vy[+Ru7 }&bs﮳9˪KE^dKEYk6jfSv\,p0hzʚ(J[NR7Q,W=Z-]dxg25a>nzV?fhBƲT6\]6⼎kBf6No ^+dfnS]. eB S, V-4EF3̸m;fREF6:͘}3ݨw8ΣZBkI8}}#hQC9=-!ltf;;&UAqv+Wq5]E_i=mI̮ Mf1cyjc,urhʫܯ)kwwTCU4j5CFVƢWU)[L5AoVWh3zjfjo*n~%_U?s[Fuf.lf5XE nN6і*cD =\&[[ +H@~e\?-zre֤w!>}S FIZ&Ph1ƄwJ[fk9@7Ymr;.UzbT΋` ]FACΘ󌽙&N^<@h,NÎlϷv\VS7jmإZW5I I-p(:dS/ 52$ym~b zUP0&Vi"cf/GqyK۴Jlf~Pi$V*j_(kpӴ2j_tĢ=: u8X2RYr*Fh}c ˣi-cgCpKEXᦺ4'5d+/7kYW*#LO31(曎|*0ܫh[!a\MUgpN$ Q,V֠i1.C8HX<OHXxg+N-&jZoۓ$0i}CT.(M#Z[6b vor4Xm54ݠf-:vjdDhBS!? sxC\؋FV #! UjU}9ZwbeT<,bvwQG7"LzٟxT?ϷE΂Zmȗz}իD,} U:FۭCo9&SLVa ,͐SmcٓΆUNś<7)b8ϰf0WNaw rgO2ѷ#tg=s^ &a(b4OC< ) 'uv,r,_ְ[Y`ۚP̬ڊMUBt Z(4tk޼l}>?/b:5ʆ@t&RH qg'1xJcn9Ql1fO@ʘWgC`Wa]616i|yvN4SacPtYcY+-AՕ,8-~!`uU٤R7rEX AFUaJI<S]6p`7éõy'Ȥrc/\mW,-g#aYO4cZ 2+Zm\h%c6Χi pE'4kY՝o ~tKYigْ:qQhS4ʚE?TWѲG_Fl,ڃDS ;Q cpY9r4*ȴui .U2ZONce SM۝烴\uN9MLQz3eZCgkԙ5T-OPYǚyjNW"syN\Jݮԗ\OkݾZd \sD0b扜&.jrdkl"J9P"w*˴mR`;L?3>2ܱ<; ![2O\ s`;UM8$}\x_56gq7IDN-hjRcn2r88]zE?eq}6 EOQlE{ \W@)WBuXzs\2:fG\ ؙrzKe}tFGp{XMx7k'ڶp&}Ϧ!nXRȶS#F jq%ƭosjF@J6+M=o0DܨUWUhjZ{g0u|#edWڧӶ(Π )oٻtsIh-[Xuփz:$88dS< Zeg4$NWzs-;9SNp$y ,rֵW5m4m0ɐ|n Βh,MI\hOW:ˆ$*ʺ' 㡹}Pv{X ^}LÞ[hC]U3l9P W3lqѮ f7{;Xl [knct?)W4_nO~1tc>)KP ' q ^2!u=2ZI*唲jQv#ԭ*F]6^d*T9' f7>_I UJ()n'JrqpGg#jH.}fv5'<_,qMwAn|?|,v mpԱo|+sN(h06b/Iݝǖ:{Mq6h[q^,FL-^cp0B O7[~`y8YQz1^~ǵd(.YrWߌ޲4+fsNRœcěn_tm 5wjmZ:8'ZN/ 1L8>es9p%^}5ݠ+nrޤ85z qeݶ0'YtH֦. P:dêINWXo}ey딷6RXJK,-̓ YĒgD!QaYj59уl<.σ˅JًsR,OEu8рvɧjH$oR[aN=>$Ry^ȕm1VZwx$*.X]a7h3zOٺwhnUΝ~4,jV&f,/("WjQ}s7Uɼ1p#swYꎙiґ swXrt(GШkaS$ӹ6ުqkӍӺÀɨ/Nc͑MkQk|1jbbFgK19+#u禝63en纗caDwYbN\>0k5uak A>|25Bxa17a.M}~x~qeVrzlZm$>K >f !yqxh{" "ptzZ>Q+ f+`~n ;m+v8x][];k1}/:cELg}i13ȓ_)jhպǥZ-}۱bԉv C8r"@U3uc;9frұ[詻SHǚ#Ou{ IEMfeTL.k\޴78NQ#,zu(YY EZhCզT>0rk-ڈkި5~=hSR(; m)sb쵚z6 ; yYK# ,7V Ak[p,M0X5fZ0\kN֥nswޭMF3yI@S2wK.2c\ kˬlLՙg,\jjqm{I]4Z3VȚ1${=`g|-z 7-[沜7'nnJ`àCLs(V8pp_Zdx9&CG,Eۜ |k2Uƍ#(Վcp0+3&5.rx.=m"ZV%;"k"me :ΰQ~tQQ8iA}rw}6њzz7prɜ-% p{.d~p6c~'`0iOVz5lGa}(8.e73&xXD8ʩU;0yP#}J;1 GSau)8̳lXU[|9LF۳]tumYn?m$ٹ߸ӞrN#Q|@^NiEQu ;lnM$_8rZ1_9V|1+/zY+e D% F$W/a&'_DHez+ D "B"K2$]E (feY̋ q{ C= tφ;I8Db c#,J"LptC!! txUh0x^8 /_/p,!>%Ox(ʔ ,$R$Cp@Izf{X$1 Mh}HOGw2+ ⵷NVH;MS_ x񳕀(J.7JTbr)( -Nl!5@M+X᧍f.]U$GXD(`8`/xKX%?[Bcܳ#A{Z=p#H+V⥛AQՄA\ͨ@AYշ;`XCB?$^F£]W$PҼEF@L( odˍ8R7H 2o*Qs|Q\~ _!4;4yfrJݐCo `Z ` @yDv \灇?Bn( qKA+BTܷrP! A;DyQ%rOq md ߐzywL>(Lsp_4 }DXE AH4Kpŗ"XHۦJ'"VS d@܈)1,]⍬]  `Mz'^E ?W :*#,c,""/ yud=,~I[0Wz^&J qcYT7H^~x/RS_bԾQT 79PwIU[:%ыY l %1\ s, B`]NtRpLtq?b``j(|n3Ё  1|,^^4:m똦cl{ xs̋# =cC ^ezOo=tpU.#r 32/r_*p"~n(ot/ޅߠ ݪ)j Q-p EYpJyD$|JWn3.[t 4بW*Sl)ȾJKH=mW/f _"KaI+.elj́7X,KNǘ-)|w8ĜD ? *K&XF/RS'A'naQJt Ü{l[E- ӛ{Yg0+‚> jDLD%&fMnbN1Q"в$"/y&㟦SD^99 Ґۭ3m=Jacjtݔ>JN@x i~&c c[ϟnL o=wRs4_x ?M#yNDf<&W@Q?S'Vl=ğ#2`R.|'~P1Y/Ɇ?nypDF992X}1 +KTn%q }ǒDglcg|W|i$[^Eë ܇̣b.dtdEG]<ݎbg i&C鉚'ݷ,▟5_4%,X4Wg Nt(z]H{e,bd~qp8$x٩ '=b@%> H"zϣm`+eG?,ݷO`,4uy."ߌݜ)&E~%coDB85?<I8۪;$yB}$^ %eWKՑ kM_lpzJ2"bFw?̐AX%n3+ge$ȗ2xAze#I%v +tc8(2ALF]ߥ ]N2`A n %hB Gt8]WsoiL0hQx.  MKD"PG Wɵa(@t<^:6BCke+X\xmYnAKPoNEj@/e24-2-m*>cx ;/$Hg,cvf FLvS AK@~z,^Ϸq"J.5b00!: wi,H%Ŕ("chl+)~D,THx(s 0 } R$lSG~("Ø.'2 @ S]\\{MD(RgP/60Ӄ"5_}ӠJAA =3"fu:fj/r tg*Z_ .Vc QڋTMtf0 (s6}uIе *`%F# `'/L(ѐTor2\ڕ O.\ *V+J `_ iVR `Fo.rq4u\c/wU$#n 0gD eA)ݩ@w_ˮ,?e@1=_2Wӭ.8Rr2A.<7ҵޕG;~ZcQ$C.E}q).^VE+n;F#~ . Y%:p = .|7 5nVX{;>2 K\r hwco-n,>.8ۉE`h9Vx/A{\#{|.~<ߝv򿫿{f֬7w mw5Q#+$6xvߏӲ%vͧux ӳ |Wߤ*\Y@>M7,a}4?R O? Vb'ie7z/wx]Ct|i)\P|?{_06'ѫ4ܳLwڐ1/'^"] {%3G8ޖXxgD8ޑ7!wyVk~~dwwtZ2άwT,r_2ߖԓ轼eN3P2k7dncWJ/onH˺o 9}_oz='|\Pߕ6Mp t}M/oMGωװ"#Ye˿е׷'ݱ, ^ ߋoil"ÝdYo#Ͻ~=U@H3; "$@m"=_ֿw:P +މ*<;b;!&V7? ~Noe7ztWL]yiT ~>,8"qhCɁ&E߇|0+oi` |4po?1Jzj// qhVb=sc},w v[z=2w&X?9K4h~{|w}҈$!sMֈWusxN'gHwt;9/tSU~5N$k̯D'pi?%O-+qxT 4?y r뇃Rt~0&DeyxIQ1QW_Qf=AmRzBB=}[ǽS'B?}{{;ɱnV/*dQDmoM=_u֫Z۹klҙ&JF7t&s2yE<>q=/G$o'Ht=gOW.G ivDC(%˷D,#NF:Apq{d FkIpTTyJ@E sl1CA#r̐E/' /FC/)QR鋋dVzŁ@{PށWtRrcn!\r\2"l0Io:ŴCf6 a/ > ̗?(gYkvɢ@Ms(Gz&[³pnZѫz/1&{/W#, &"2ݙ}%4_5V .y}b;^72TSwiS$ %A(@I/cy4gߛqAh=,/f0䒨zRB4åoj6844]M鹳>_ݩ\i§ƯG<=nX|rG^޵yL/[^eXBZ>1I,&,W=_?FMϞwr S̽b\**R}8-Ѓ ^[~~KoF>M7}.?kG Fo7%ĕT%H.J^x=s?E|9d"z'=z<o?Ng܆|bb> y*H&<4{wp:iK,)}ArU)++i*epWyW`]̳k|+,=Xc)z{曺7FO4^Cvw^6?f'ᛗr4oy!ʋS?-ސ'ys0r_a~Kj-slÿQcZ17?(,ET;"*O>Z^DɿŧR4M,c"*'XD7zyws'dSpL+8Y;s ܫQ!+uh_Y4NDKs8p*M‰4Q?\*k%ȝ{ E7c}  \]t甴": M.WV4_[8{ >^99C{qeѓsAKngw5m(!)\Vܖ9c2K=GYPD|/o_'؀GY#"1I}Yǫ? e(x'W睮hNY9 GKR}*=H<c3_yLk(|$UP"0__>=Jw疾}u&7/59$}-5 ͮJ>};}\QTړJo>(xgOy~, q55^3>n% `ck\)TI412 *8WԞQļO *4OZځ5{{s"'p[v 2Vfzi6I(|:~{+7ۦo~ t}.ܯ֝/-?3טZ{]Mxj5>cHޭ;뭽ӕ|rZtmMdLy+p95ߒzlo}NVjjt!IJ,!CXsOQ'jLӣh٭e]}Fմ8fԔ: jFi;^nZ˰m0=1u{Ę*Ӹ4k QMV̴ +͎lcM1ʝc7A38eCoV {?tz"l ހ]Ɖ_RY{[GpQg>Ƹq[v^C6nljN*qܜZEt8L;w)AR7Ԡw̚mJLd&Xe,ktT>>7hᒑ*FGpd]cIXn +㖲U@ȁy ?cET+Yџ/ʉkPOs4evma{c}SFT^ GsagɱKg$GY (4C6nC;BtQ/_黣vlj\6b9?$̺ZVMz_>;.xY626ܡY1ܸ:5C3\*t&Gf;ձm.fY]YM +H^8^(TkTܚ0 {i1o ѡp bZg<2$ǃzN5ڝj|Oo=aUe? =j4ϩ J8;NQW5lb-9=gY ˇq]Kٺ"?v{`{<1Ulm%\&=sFr9ߏ{ UfN KL?"뮏TYRЬ85y[nt<٨oqovZbc\_{J+4yQ&${Z)sns+)vT}_1i*lmOr[X?)eO([- "^r5Y#VS,Ι-+nhOuNr&Kĸs2< ٤:Ζ@5jzu^hfQݯ[ng2>rZ|DnjS(:JnJ4 WxqvSWz;[ZQL*٠fR Q67 k8D)-:]lݛwD.|_9Tb2Ò(5i0%]lf#eCCWr '!ɏFGJf=#-l55ǭE}V(7%r4?=hT4F`Trn ԇ8w|_!⥝_\͙ ^ÕFo6,R=`^M'3(]?MI'n7._:ٖ^=t ZF~RhoOT+j'wZ+&7-F ?/Vz ʡ\xu @4{BG.߇"WB`N%V.^b`iM]r Oƙf?.sA,$`Sgzu-$WrTX#'~]Ԁ,XL+h jʧ%<+תL(7Tzz&1g%㘵l xY09z<K,?:NA+ qq9X"Q30E#HGl{+S +AԆ75VK܆RoIνN|c6YE9DDazw2Jv,jNB{M!iDf5Mh -6$ii.7 \>;GQѧ!0"n-YV!ݖ%Ԝ8%H.+#C@AW!wigwtη;~9HjJ]L+6l3VGʫO 9"i@2GYL-cr<K5c)%LJDkw8菰RetT0] ݒ頣L*^ZH5em(uAńh5><-\TX#Nc=r輪 !YQxcAqU;=󓙎 2_Y>WMD\py؝X}h̓dJ"owvn?s>4G 7Pl4(.ݙl GTB<.:!:5q~xyQO7ɗ$sQM5 $ ߿эKerfE08wǘ+m qqjDIY=i+&ܳ^L i͞0=^]+U晛rY¾7(->O 'Z`JXҸI$bq)ԏ)Jvjڇh5,dE|19YQ;#`;^ ʥבaɹ9P4Cu^. m]@܏k"J°NΨ=r`nj">#1K=!\ɺGg%~Ul l@c" )M_~9Hk0acO+'\ wR07IJ1xapFc;*oGPeR wT:#z2eNu<نvl6:XdYߣ%w*lU w@=%)oNvn.Q =wn"p'kzZGm[kCp!, a..cXV!}!^H\j8( RqG"4v=^Hz&y?ZvW^|vL~;cKu?S O\)[UTMbS{{#2X-=' i]1fllG5/S 3]WtqO񎤽Q!qtqGiVvCPsrgt6V*mD]A Tas*TP>sɠƚ[~`GNweDIh9`dqe~]Tֽ;M4m_L%{`y>,mS b!=6d$c(s R)kypUt0QslRPL>y{^jU_TBѨHu*^_3 V3ȫqʗ4bؑO[-*|Egk L۵EL)lh ,|J؟aÛ#\r׃r['>cl/Ys ~:O*36PA3JN#xB)p[S;J_y4HRFd6^s %,񳝃ܽ> 7 g;Boq<< nSƝ3Mj0 |! rO57oi-/fQ>qCMo.DNZL8w# k_W+,t. ::!"+&ielGR`)y^z{]/i#=,KwxbJS^:`Z=M_,p%]GSd`*WvhkcDI,8fį2}p.SmUݠ+jkdqIt(R ;f2 T(4l|?D.R)JDRS8*1kmJ+@΋,/ݦ̿N#U}I_5>l~#pi>'WP_z6LIP3#]L{,8Dd(kozH؜$`{ƄYg5xFzlYn<~]@V<˓jTJ;GU¯=5j `I;tBWx d;/C8ϟW[Y?BЃم{? eIR2dHw3Jl2K:\t4ck:BP@@?Unč ),p i4;;nH MÀ WPA@ ݐozgT6̱e“|_q}{u*_ ʤP9;mUȢ-`kꡰG2gF?Sڟ9 eF=\z V +#rGf:#l1DjS#P5' 襼[HIQ*p= 2oqQ23c=ww GCϖN=\\\9M;~t.7 R_] F텹DjiZLJ.{B޷.ۏ&፦"`$uM9,6{];64 7 &&1ƚ+uPJqL}o8YcU R54p{X 7"o5G'@҄<.Q!) DnR@ ͶϙktZ?ó;>2x?$Z(ó MKR HۣK>j'*8"MF(fTæˣ Ҍ #bRJL-s\YP>{{98"4NͥӌM6&4U9'Rp_ocx粩ƺ`VQmuzɆɹ~ӨCZ܄`xޖ{f{H{7ee4"S]j ,,;HҕqeLϿ. HrK.nFO jYLfTtX)oo.i; ȝ9Uᔒ0`=;âϐu[wwye-逛 4dZXV1[ҷJd\Јfj\(;ډ)Oȟr|w mh;/nJ5c$d)9Ez?!]-r{3u x p'Cצ aJk {Ùf;UU͝ MF9#[Э6AG:0A񴙊p6J~ Ob}ָ=6鳃>| 4*nRZ{Fdf a1+Ri:[>&OAuI҈t㛢/7Nf:صGGo5AZ=Geޒ ȑB9a`HŐkMٞ&IHPML,/*gAP r PS|DU>}=hEHHV}I|/*xЀT~hV{@uUFc٢dQ1BMc7y[K  GN>H$KC Cxۉg+Vg1&8If&ł-k,Ú9j)T(\:,Ƚa.I sS@ڸltרʆ*B6ݺ>5b&ƺq7#30i:]y/= 1n<>?|7.ǹ+էz6(s} /Y}z>k"} @MxA}5ђ]/>}PakۮF=A9tWǠM&iZnD"=ب|R^g|*EɓBj?iҀ_[M!.i+UޏjճL2v2F}u)嚴w~B$\PٮJ4@Ň4gu"4ѐIcgUO~$k!xjӇIg/(   ] @ ?%wBzO!15s2A28Y呞gsn] Bߓ8 ie] M?/5\n$QfZW#CY}WRK'C$a.Fn繍%dR-]+dTؖ!wK=28nl(n<<ݡ3'ZOǕ؊iM[ {Ƅ"aUd/2OR ŪR`_5\>1Q^O`!w>P:Z&yzY~o 5h=EPq_fy]9QR}BFmFiT2vd_}B8'%j't_zܫqTϧ }nj1߸fptIƞ=PrTdb&Q{dQ<rI8khRߌ.<.RE~rnD략qChOvOD[vtseu# }mZgNS }.'EL9Ү{J 1Bcbή b&}ͻ52:q԰G7(y:}VXT$Io~󫰡0Ư^ 72QwRNqî"z-FY_W3v!UܜhqKbD~K/E$?ģ~;=GXſoI=btiʩD q0BxngC]EfmfMAtP_ͥĿm޸h\qĐW3O@^w]CO50UE)z[V}-&iJ ~a\6 "hZSLϘCn OW%i>G$ ,v-7BIOkB?( if$E1R)[[xpL{_6EDf[$CXYB~!0~C)òxo[4L *͢\:xx.VͶ`--,wEhs'4*200i3aAOZ޿eT~*E߸WQW7r)l\y6(NsR+S?;!c'y@鵯 UvO{u_I\ Ng]0!Z|(jQcvMK$߶3k}//- Iy:{jwݺYe߽b/n 2<&cjm~/VP{z ^ԷQ*7yS4_*Y]X?|[0gʼKtBS|ܦ>sE+ELnoFkeߗ5܋)gE\?a(Qk?hDYF\zRnY/ ir"db4WTy=\)%Xs2L=ǓZl)UHV.mУ6_JĚy<;~r!je|2fly KUh[LT\.,Loߪ8G(cG-_-D][[TV,嚏>X]5's>~DI.[X\bwN)#u?\aY6ޗjfwK.C:'w ֲ.ZҏoЀXuB|~V;\GWis rz:ױ!" ?@j<7{YO\=ׅBT,hպ]MV{˿B|fOoPhK/P]˩Ҁa_a$ϷsMiBx:OrGM(hO/oLRbwtNY6KeX,Iq/ 4O;^QTTn3kR+xjmlD;@\d jtQ3e[TT }ξħ1ӏ|[n0R%Vdf}<c8]If%+k!V>`$I\##,[BvO~Y^q C 6#뢠~_Ϩ+=_q,mF%~R} nؔPѓl]?og%z4([Ψeo!ؽɵ0'k.L!_~I<%D[ cN<_}]^\oxrT$Bj#eW.o8>86ݏGX)rUr)S뭲}vbfdyw+*}:ڑo\gƢ{Kp %Rns|~?]BS< & 4w~2vUhnvPP PhZ^<[OfG=*Ps@>S"b>K9IǴFdUe~mz`MUC0DuJk~-ZM/Sʡx^ycۆsI:=B_HWV 2Om>`6(ЕS1`Pw:E7EBٷW sxxa}@{qWCކ6;ڽW DTzZxH/dbf軣6Lg!> 첈?oRxgHŋq.|w'1q0#z}S=:;~d )y2ްL7XxP=wPn˘ain- QkܖV,D,-/¡5P#\sѦh=FQM,Ѓ:mvq']MD!#j|.O!׫ohnZB";Ch0Oq{_0,˯mKvn/&G=QF&oۮy(jҘ@hb `د}[ 2<-܏^nz6C]c<-&q/LE]!@ t>7UV D9*^u -AM\|6υ{z7Zjuh?y- w[`I\*xrUeluvMtތl.~מa<(أ%wfR91ZϊGPP:~gJ+ǔGir?Œ)s-~sHndfZsWMѼn ^g횎^k='p/ 9{FksCA! 0~Q8 |KZj>WdsozTc:-uI^|%&@dت=-tul~#XF 'QyS!4#ͻd=͟.7-UmpG[Uf;|~%XVb2 GT=EƗ~b>.C2Od'f> 0'YМ' ڟȳqgc>ywQ$ ƅj(7noF圣2ZZL o~`[&$/Crc;~xkBHW1Gt pW>AƃrF~PJGQ|: O*<;0)n.2K9D#[}6@NQp ˺3smU׳Boh&QȼxF$FΗdܻwNa+atJ cӍD6˺dTl >;[o ^>S ս'`Sh@;XCV]m3`LA$#))%3bL ϏJ$,7gdП>??)w#v;R Sp! wd/&@=hx5_MhE Ew^7@C1`D:Q9kƱnz>:eM'K1B1(LiX8]dU8}iW%TOFUSj`w3CBhR1gj6 1&aUKxژHBFrD{,4+v3p,5}obE )vH@׹%= CgTs6ni'~jԋJ uwDPglfpIt5ˆe%hO⯿6O;uR2] :mR9)DqBZ^~D3{&݋z=SڙiÔ@ jm#MFcҿ#Nb%6Bx2{l/2fqmSR=tЧDlݿI;Dzj؆ x~;Bf5]֞pY`#3ai}5j$%>#yf3<=q.+bͯbEo?p_ D6-ltF{+`16ï~8b$~if}FB9+E/:!P?[c}FWIKMe\eIf s =w3ʿIvg]JË`[eڛ `5`G!x 2C s4Gk~"_q̄X*z)(%+mɇA{3ܡ";m|R0˪;QA>/X6]%Ճ;.e|Vfߚ=z~8Nq| &j2cʱWv( "`Yjb&jt|1c{tSe@ HlJugmiOvbu;L+h LwO:#~,\{m-dT(KfrEGiR&%}bULΌZ3`KEʯ)a}GMߛq3[r?O~-jɉ$_CXBwy2PA# 0?ImjbE [R5@Q\]"486Y۽&l "Pj/ -0@3[Q[uB{T>/"Z͜WNFRnZϮ&Ir)s͎&JG5K]񸇏e]v\pՏo %zX^ԯAK>0IgVnӌJPՄJ'Z j_@9SD#Wio,\a|E>,\9,#1=##^bOȤ5D4$~e-d Po&~leg֍o3;teMRv | 8!+ڇF6=?,ϲ 4mĘWcfJÔDj@v@9|XwpFv$"w~N*hNĩR.XhdZS2Y Op6Hnp?;㫕R-&c++?&?0w X}7.'<-0b!{~t34E[γ8e$mb/bqv A m0PiP!閱.cT/hhu@*\<&[*f9JbAQ4w4}P|lI{HSqe/:sIiV k%Jp,}ʙ|/r%A&#uL)@1*+Yw69#iF U` f#佥 R2D_ R^fnLw l"͓ >۶ՅN{*xy6nBmS{7g/+wPY|w:dHJ#XIXv ys^ ^kvmMSf Vzе{r9gdjn\#?DCp)k咒g֢jXdvsm跨/Vu}veTU1yjeRC/v;:*.~.dʅK^KvJ+N4wǚnS۾`0k^=~;$[ߑ|.ʇo6J*6?'w2Fl;η Y2\V`"`p vr&D_`R'^,Ll˸Zִ-WtL6u<.HfgO9`t9r6VV9kb'Zhj綍;oo%nlR6d7T3%%AS |LֻZeΞa{hb֑4نM;oHnٳWv:g%}4j,:bsvZ3oR}~ iXXߝۗZO>$іh +:M4q-j*j:T}.o-'u;رQ>7&> ^5+5v)4dbrDG=+)n{Sw6k\\<> d Gkj72X79"02N)Sl uu>+QsoV8Z>^Xu*:jl[ޥ5hos2y]%Ze8]9<;Cݣki۴ ԾHZ+F5k\Vevg,K~ǫ@o>F%[3~n{X(3d䅰QqMw[( :קNMUr[zft R놷mrW?)BInwk|4-&2٤?˵)4k}Sy8nyw< [~ߍREgOFkϣν'l}gj8߅we5\пv\浻ֺ܅!mvںLLE-.+vTa,@l(e qvƅGP3ƶP$3 |&hފ*붷n9^NRZ]X(} MPxP`ې8 ו:@aRh9;M?yb{/;V'mewLOO¨tf{:ش;*kUðs{1/VD][X핼yE̼(ק{K& . t& qXFyä,_ :SG; ,1aEBLuW ;Jϝm&}D u ܡ?Xome`ݮyȦY_7 AHS '{E\)eivoxD:%›oG@q^"`Ӛբ凩B^\pM׷fW܊V~n]72KnP-e$;zٮM^l1#oKQvM\v1$ {;äu-'Nst}wyw|lJP3 ;,2yɁ jW}޶YAT* Yf)pue|%(ϗ|^O/S{:嬲:QJghuIׇsna]bSVjP^lO.*dz_MElW]K]pk7\+w;Ђ$*GۭPv972UG:Ό4oBSI۪7xTRi.S[ɨׇl"?*{pU)&Xnܒ3dCez; {r؀T$* %]bӕ ٝ7B  Vb9lx YyuuѦw9 V:=UJvpKU mGtVzσ6{$<2hӫ.fEʖ-gv),V܈iʭj^{{c y}uYtg{y,d#6a{drvLtkO{CzsYC~jkjvpm{-%fz$byQ.NxΦ`NmO?oSd<"ךgmt#Aι6^U\TAn4;⹹'nΠs׻}w\kծ"FkdʼkWsF}Y`t;rKl6fTsed*rlVKY%-VonumfHgg%|z9vnQbK/'4bjN߿Uɍ,:mٵMY75t7'͞L}ڮڶ4f6?7D7ьr$~0Yi%FeNS0?aw.2N`٨: :n2ORK(εM4)g&{r+! 5nfu<(>\ݸ4~]Ngmn=T B% %N2xbs@i©͋{ʏEm'zdOV~CV.1Ի+V%xH|sw~)&۪{fU}DFbYQL 9u#Y{~P!n*#x,*Uv:b/3-rXwp=4]&]M[DA"^b4^ꋭVcG㰹^KVX[ ܴ|;e&[^n ۹s 8 h"rkIk!܄ˀt)KVq:,;Q0.8t~PN;Zr ZNS.QZ][8mp?2Zm8M2+Sl>qmz+lXb%J~~ vvgrr8x'tׁ?wNUvZrwke+oi,eڢD72?Ek!fs{\U<xeХMhS;z)]&Y{^ֽ ma>D)NR4N˔6q'\go$Xk-*e79!m?c8rRtdKD*6l~;rchWWjsܜA8AZ}doyPsA*?g8v:iWn^!'b=g52E+Ή,:t cepWlǁӷ*QV`_rƮ>NvST:8MAsv5qǫsۊ%}WYmq/[("G>tC`%w7>BfYh]N#zm7^҆,5@F}21#6nݭq6gҳdqu֙*'arΏa9ѹEx0,)d[fnߓd]YـwGWau]*9GX}wYV>_wWt^yfRz%?٦,͗Q?i&<;J 3ʥjOya.Ul&*ra[c} =|MkP&VsٱZ<Qg.˼mb-oUn[8omvk(uJtb<86p 5ͰzVKʎQ3u3eN}&u$aOI~3]%/5ɂ8GzKRtyu-9G%ORGP4QY# gBoi*;&mŕ[τg7x+kGQYz6AQQAÏ^=ky|Ԕ?U_8w \_w/oܵkn%++L +tGU_Z1.KqV&uvr(뱩\ėcR+.<ÌKD뛯r.?6;K_/&*eX?a$?cH|&󂥾!)Vgo&m_}.90I s״ǜ8]u|5qLʼD1TLؘ`} @Fz? eK Qȡ:A-Uelȥ etos .4G‘d18z8:+LjBBfU X]%k ŏkhXz!")uGLJ6-q:;,x_j,rk}Tl.Na`ÅfLU&x?+_wk7TOF@~i˔>zG/%&o}`"&*aYnq>To}HՖ)`wi%6D3$*M(aZۂ  RJm)s2@bIe\W@a-`qfJV*CZm7 f9CbU@+#،@0qT(UWj苼|E3HuT/ j`bTv"Z٩#HNKlf;0)1S%K5@vbTG&7Ëo) Q6Ϗe_yO͸XlSaP-<#L-M ( iB0q-A@ qP$ 8 a?aȃq:ٵ|K-oy`I~nzۊG,͑JGZjӔQN4aT} +yuO݅o9_ e1v&MAW0)C0 8F%a F;>F Oi@()0f@W+d)R)lcRlic0GQT:*)Ku|v ҖnC8au}Po:8Ҽ 8&R+dajul#ۂgX&Bhbs,c@W0-`6*e%DLY^0 k+Z&2aAAiЬ퀊S2"\5F;wה~Jp%iB0ibN a*~i|* 1ғhh~@$"8b6fuK3gg.3`KIQ)s ڀϘᴘ+.ã  jЃǨy n;_yLpc.Iۚ8չ\d҉L:0G4f2cqCp?OٔM F[Rj;FeI3 ^+G*n~2__u2ۨSWegҬ \3i o9_D%NcL|Bީʽ)Kq/08bZ>N:_t10_ 廞?݁(?"g9zK)0!_i2.Xû/,v T_#֋{>0p/E(=.ov떱ເsCAR&0G4-7~ҹd7n⽶IbqE 6ze}IUTv6Y0uō>639w;?Ptt̊;f:gm)U;&PI>1xh~>]4PcPr{ӋkBh&g!TL)t SUL@;H05RE #py)1Qay@pt8] W"p֭\vYڻGkt3K+LC3:D㱾j_CP_{~@п">UŠݮTjبv/*8~ӉcF3{pc_1~֜s3kn⮼Ųh=`:3ǒ7($lOESc`9j}?CRncU5A!A3aոϨLbLhĐ?1a/OQRެ(7RX@J J0"nBpJl&TF?WrR{-"i͗"ұ+糱dJ]+E8PN/;?̢-dc߮ڎML+W,5# )j3iCd8 7Dux^c*J#՚ tH( La.-eUȸE[ ) M0!0ƺ̴.=(-0pKbdʔuip* TDkqhoOI`QGk *yLlG3[K8) $O|P$Gr~$ji=o(:ɷ'@+޹bF$߹q6m`@5|{ϬgFߟ"dy$>2SN teʣН" z? l _vMq[rT2 L5n)ExI/j b}`MvJ ~?ѯY} h` cJX5ء)#ɖH &Gzcs3=xT6fԴɈڦ`Ь]%pFŬo5ޕiN];Zt;M;zONG-鹁Zq1ZzN| Q[6:ùx OF3h%ʘ5abkmґrLoѿUTݢ5fqR&Y㡼t@SS qT #fɐz_RPXNոQu2O~n9zN#P[U=7(,Ub*@NTFRcGJ sh97;$̊Қ=,3T!o["'('T6ˢq{mPp-^EGPKu)cr؋s0a Gl-y8$T#1y*igձ ,ƪa(0ibDɣPhجP)yBf?.AIYBTq0ۤ 4g/Hg6pм5Kh\a!jfD1P{u`AFpR.b^g~Yj' h:B0c;'+YVAUp02:, z{|Vi>Ȭy{S~*٧R5cT/_=C<?Dmplah^:bbVhlЇ` 6C؁I[i1Ehذ,AT'c/c6өkǗkw|b`tư$jebZyEO2ݕz2л{j}<Db:ˏ R(YORK0RԶyzY6 f!H*-혞+TFưoFwu'FmŐsZᬌv+C-UF> 7'PШJ/ţ> <n3OYHj*]yW BڶK<3Q;9Xr@FuKH&ҋ3^gri َF'(BZboZN@6qoBj-=5q03&ٛKc}>#/&c Sa`1uhVgCTR'J3;H2}U$ĜxGOQ|M_;{_'N\8#K?zG<~)l3r}y/Zg3l g+~Z?7"9e_?C'#>lW!AkcgZ%aH<5&1sRͫ5raUMUg-lF 6{luTAl4QImb@f98HKlMi30Fz߅ f8:IRm*ITЧOTYTr3SPIFw0f%^ 8>b/lC hb+P4zY ]JM8iw?3EĬ'P;H#"3) xZz/BSцAM&^z"Bq^i™:buGozH* ZlW(o3LDJM o)$8fX80BNB60T63X#22cǟa<:FJBU d`@BliGAbDH:jg!Zfx7r3d*ϟdZX(cY&ītԷ)4gQ$w9HfmK n|)`©3y2TanE֣9Fy)=C,1bYLU*(ˮAR}4$yI3,BF 1l候j&jp\PsjKחC4L_cbΎ3F5[>\GG"OFU)uC2ZR*:vՐY1EƫFwhc}fΦD(Hd_9{|3}Hxm=y-=W{/=}.@v?=y"Fz@( _!E1:}nCnqelectrotech-0.22+svn897/ico/scalable/qet.svg0000644000175000017500000000070611176605035020740 0ustar laurentlaurent qelectrotech-0.22+svn897/ico/scalable/element-delete.svgz0000644000175000017500000131015711201077327023233 0ustar laurentlaurentԼWȚ.|~_̢+g9 @ nfpF_2*=HR(7T=isS7 JꨉuߎAeS'n~?jObh<9E 8O6CzݳA[wۇuM~_6!#At J:q4J{'nEy WMDn.w70gs|^Lڴ\&DJ)%^x1D}I#38u)sbI0ׇw4ĠCp(nF0_5!(xq>4lsBkvpO>v߭~9A#SW 67l?J0 `&M0RoH"cD\lGu\#Y=:~7J$.q%A"B^ֿ:8&?$Q,p,"X=v?O87~]DJSK {ãp'h_O,_Oo%x"ވY5(-(`$ye׷xo; E~MQ4uiP8S#hjz8&7w&# a4HpQ3?YiOW (P_1ߊT/5jzo}K2-z w ~^"=P,?uyOGe1z?-wK9Šz5qWGc33|gT>3=m?ΗBqݙw& S ~ ?J#3/=WзH& ͿJ~6z*ߴ+TϛkN<妏_?J+[$lu@S?ğp|6} YzC6?0OM$D껢G4](|Y'^Y0}lq?į?݌}]W`>4GQ8rׅt"fq]T|e6+c#C\3$8rxL oښ!jU I_7}+ Ƥ,Z"be-_UWDM/}lEur_dO$pc&V묄}ODV]Kf{[皴5ǟ38)@''&W[?mχ!ksvv$@mgcouQf^K?nIþ(4pL@OO`ߵDZbR&,C|"훕P,(v8I_lʍ8ťW!+4fJV9eW8x?'Io:BA8lwF7n˿@؛)(ُ>3&?=QK}4~LȆߴxRJP~M7,|Şiu~u[(ü%5_&uQƑ/΂Jy7m!|WbѷIj$3e }>i?O_:b=,:DċUC{{qݟciY~O%B9fֈ ~Ǿ1fhӕƗpчOQyZA`>|~_-}ͯۼ@bw}|x5l2#'u MQ7uwMvȫ@SC?viﯫ0zbY!Q} ĞPH!@Q82chw#8G~gp=BO($/ޯhs@ށǑ;h}}cMK׽-.3,}r<;Q٩[zsQ(}2~ؗI0>_($_ } gfk '( 0$Ƽ8}y` +`U^i}~ 5ձwWRg̕xc?M~Ł7TGϫלg(zCy߯;Ϙ-l7#2G;)Ϫ{pB=8b N^Ncc1_7bdtUyO HQ?i?8gH)/L>,'x8cp˽'q_d ccc}K>}[x?1_!Ys-PslbO~/||Kz~/òO CW\3 1=dq`F bf/|a*dYm|MqC؂NlpR8H:uū~*kȏ&(`Џ& 9038C=ߩϭ7u{%?7j#3k_w{gߗD≠G2($ىRzfx[,.oo:8(~z9V8b>ǟe'OcǪ) P 8I|F82KqO8E>pKç>U =w[>w;|x2}gW>n޾}|y -{!}x{"-xS̗g~mԻ2$-y& _8xTٙ:#_8n(yXp'G~J8H8sOoS"qs(' 7(9c(s#e] wX e!w|z<7CHb; $>q8 >h|l&C( @|^P@{WJiEO3 3@E_Da@/6q#>>?ơS8)w 2:O~h6sP8Cr$58}!/;[?GI%@n+[! =brnG8WA|T>d]B#!yzok6|DoֆG߭xIm[9byy>%dBKhKGpMZe~4G?f񧵭Wk}YZ$b{q܍,c&wXU^<+39lȜ4 x@20Ǎ&J;Mf.(]9dȓ#ιD{5g-$L_IEoyENo;+_ҵh Pf+<'Qi]t`taH4) #&cExx@ n5:pn]@ ͘m~$+;x YZr6#dn-%.ЌjOf4.jD!s' f{yҐ@yMYXEJq@gcg4.jVFQD& "^sǶ'o/吉RBλ;@㱶hE^[5|CG6J0T+kq%)5A2Q}WjMrh' tRܖ]#`38v s-+Ϯ. Ծ&䭄 !gfkp*4km;tHGj,d*j*T5!mϏޅkBFG]DL?aV23JՎrRr,I~EBp/[~U8/ȱv2-f 䢈|ҫۓbZoK_Y+֍U;XL: /7.]h(D&ma3v[S]O)oW$8 8lT$k3lE`y8#CWx\иiX!YfӚgKIݮwyl<?V#@DXܬS'jIu^.g1M`N nE )ƌEZVsvv+>CVh: Z;stXuU*HktٲkZ~s7y*.˛#XΩܦnJ|Xmrgٛu"یzTQ8E\~w]oFažf1Ty0}$S{atӈxWǜ6mxt=k*KCt9j:b\G($&`z*Zɇ`Qp†iKj d6*m,6W7(Sz6rۍФ^ A:AzWٹ'-a5FvTR.;!1>BIzF%a5H-K>@ӱS=1l,uk_Y[,,^s4)顽p(2BnYB5>m{lwyӚ UH1$cI< Ҹ4B4LKfEpYp oߴ9qr"YcuXoЋiD- 1t=л8}Aq6ġ oU=_HPW2V'mĿA$֌@ni%һER؀,AeVbsx 6b9[$[jeS.L@FE-]#XJ~̊>7BHjz<;+/E+nw.Zp$iJ\" =ݤ/Oe]c+,RCA "/} "H I} ~-Ơԋ5N*qi6NȂl}M /mHH<2:Jq'M0_@%eBq0c߽-Ba#fm^Pav Ȥ׾Fl{m6JZRYu]йyC-t#rX;Ob dʜxK ghsIQѫj(Đ*9pST0}5wȹ;0UfoCs0ae˅5nF*yЩ^6dʽ7׵WvQ7|/07P._6* 0k0߬Lg8aԇٱrhgxX .@(Y费*Mr/ʪ0Ls֝&zu>xU+QƝq Z3Lyn"Խ|.?MFP6kO x =ƅ2H尐+%gekK%EN[Ow􈗩.y-ID %^9GNB1`WCrްm8&aQm@u$G70SkԹ`D C} D.gg=:#p'8o7+ ]vDGp03ܠg:ۯm[sxˀ9@+t/ZY"w6==Hgqfʼn]JV#/C׋օc #&i,Ӹ8IJ?8Y; [tG4s oF&_Rw9c ~}ʛNwzF&@=q>9"!Xu E8tURr]sjBKD8`V55FS.7۽ok.)(B:)#nI6\PӇWˠ<۠_kO qWQx'aJI9;T7_YkÄ]@\YK 56{!Rl*wX,-M_VFD +:FQd'#~5zxRuv1,Ⱕ se;2smI֛C%lΐfx&uCc'~0l_4rq JECO3.ɠ 3" k;U Eػ;g1޽?+A+9&S3̽QbQ~bEPRQDCN2H,W@Yw{GM6 F4i뀲NET@mٝfsq7@ ~0~}m'^sc}$W;9= ԥnjlӥ3aQfBs,tKF}&7ph]{!ې7kϞ5Cf/҅CޔC*\ڦ[_N{̯ RpS2v]2,qa-VUdHS#K3)ca~CQ ]0[W%ҵ=IbOM_8TP@rvsY,Nڎ1s.KsT?6[{}WjN,L1њѻbG^GrwuF<{kꇕˍ뽓*ӊsOfǗ87Pьք..X5"w4Aj\@Ӱ"h?|ٖ%( 6 2=&,..ӱlmh{$0kB-PVN-ԛyVfVx@g91ngmnE RGSf̆ famYوNtCE3qYW"Wk9L QGS\O,]S^2d "#U慦7Q9c2aUiW).I6ZmfQCgD]Ԣ+sRn&R -@B9 ,tΘ=]"YidzqW9~q@ ̂Q](j=RpR&9 i ;k#<c D+_ MX!rivc4 C㖕osjtI)aiĸgPȶ+<軛b*0Us[*!Xڴaܞ+ #AK9vN=r#uȄ-S!3ֶxO2t= ".'uxA s')R?Nέ!rtJx,L3"EM³C%8*y,g.K5<5!6TX$wǜTqyZќ n`J*u JZ0v{_nRQE7n}8F=jH~ѭzra^= ;Qwe=9!ǃ^됽^ (YE@]a{_%tǧn tRIhi5f.Xw~-+\tم2Df$a}O3&mSO}&_EJmTQ]~VS`sB wTcJg/mD]5r:s`i,ͬ>T4_ET`4Ȋ^ 72R:&mu!•8J'RPPzv ?5QsC@hX=.2+T̟puʥ q>J1F¾_3q/k8:ݭNub "ȫ{N6 ̮pw3/[o3T7ueKF~E pfkUR;GLff+2YTEolWgIxfR'L-_$+>)7+&UX@WܩEtվ ]*02z43a$ ͑x93jT!NX[dR!ϛ>7.\)Vm ahV4p,ʄ۾Nk$7p_ $3PLɃ|[nS(snC:<`Leےеbk&x%ڪZ3vKOGc^HZp!IFal=ĭzvE0lmA1xnM!JX q"hiRH%ۤgaAU qnh6"z9XF νڸ辿ַ|,k 5OaE(O Լoē9:m1S,K(;6{[Ϭ0iulZ6t/9xˆGK@;fn8$~cޟ@ c.CJZ%%&wā+sbvq[DVHА|)fߣ.] .jpΥ#xfHC|JY#Yrf.Fk9ӥnxQW?a`Vzgo@*^9KP+Fb&v ZbL>$Jt=lYߔ|'f5 "+׋D1#M>d3 Q46; fB?CIۺV.R5B^,_pDaH۱M<[X M C⁌`65e>p){0ȆuGkfl~a {Oj9*tw]NՅytwN]͕"cbp6-TiuOmSլ}*r)k+*{54EIޟD_Jw߂yj`YRN;`f [y}fѐ_rq[,K&UY{d=,tyosfj<-{UD;4SU #&+1:nn#{ϙnE9+ɾ/`Ì=3buim=~EޕG3ԮӴݹO| qM+4 <NJypy>v;^b5oJE gx'}y%!9sįL!z:u CT^Mp^k]wػ8JzXkEr8Z}ikPƛ(j7edJ@ pZ;a7y]o]^2r;*kf9}g~܎6Hn MӔYa J}Jpհm[)籾!IF/4a(Ǻ>hWG_}!f9{OiNIXJvݦRuWD(l4ɼIö>Ș2%YGCQ:Osz -*/=*mvWϚ*ȫR3J2Sb|545+ wcOةU@)V<9q~nuLuY19Ŝsjr P d"wL2 bpbCdtwW$9@7U S6ߑID׃r컦TM1dkkgӀJ! 705VB[`J;w6@9̫Q4:uGxsE9=,yd!n0xH)<؝o%ܝwn+B/Bb#\κ K%SX=\36,F7JΞ,X$VH]>fhFЁ53寇GpmXf&6e(I0ipKn;W qCf̯1 tZ豬$0ҝgM-,=T^vTٹVӳj&"[XC҄7DE'{=: *O܃&waѮ;kb7ͶuW֘9Syh>y& u6 +B΀ɶ{GטSuI 7pY畽|8z"Q5q{u3Í,S1LU.%n4DekV1sf;R&6:N,R cfU2PTWđ̍'kQnMHD_O~\~2^6bɔ&ScLH!G:=!s-b;h@ܝo IU)ǔ׈T'd6qE:ⅺ+?/heն;đRW}{= 9;,Pt6*IMbJz4@7S xzB<:{L}_XmUm;hv6!7*JhKר1NϾ֡)Zó I/Hg:y-ڴlmb+'SUDSNiRn%,bn%} @NH}\{ҕL1L}Cp/ BfrtA wY4us0 Al<6I1n~C4:,Xh0L">=Ѱ^UON+_w%W<ϦdFr:[rJ[cmV]ԣB$r 1DKZ#L)<].OT~;Ylu-S*4N-Nxεv4Xd獅e8jf61 zF 7:!gBzP0²k5\MrUlLZ[uEIr,(rwv9' ee$YSF"asVlv0{N*ZHO'7ϗjؐO,LARLQr,0Z'ZU e (i[Rs}m白+Z@q-Ww&"ּMTÎ5P%;|TaZ١0="o-ljA9glgGp)5v 7Z(m1RƢ/i`eYlӀVe2g> X-59Iaiq^s3{Gx2I@r. Jy{KZq]{FbY|iCƺ> =!<۸KFc%}!ZʸDZ@jǑ;lNXV\s]b!M!>`NN6QvC7Su'sYH:M#$rЏ:gws`{dG2lg=KUHEW4|u͟ , iF|l^^A\[r}A;_+7 9#FҶ6㓰 򳤾R.HMBDw<8ev6U-;+ށLY!wNTr;XvwI}EHY$>:GƕPY8FDRc&P@51ҷV0-6(uo0\/ rF4dq-E4 \j[@+6|׬yqdcYU-{jTlyZ-{:𶉋Xgq2fY5M=,SyLPIZPXd844tEr̫-wd=+cFڨhVr!Mh2"/(xDAĦyabʼn~:{^w?gxJeK,κ].-j@7ԲqX7Wx6JuѴm!p{4X6E~Žb0vX l†&ٵ[!<@e+ #c8ezD9OㄋmrٍO\rϺ@V}!ŔE9Wq<a";&YpKѝ?(7HS<7a;͙fKꌋTA]D39 ]|o7? d^D^og;his3 *^aȫlݶ7~gJAb| h5Ű# ;Kb Ad1q 條̋{! a?l:mD;^ wÓJ*~JšfJ9 vH"$uC,@ z׃/=:}]n \L|Au+a| 7@iq9D9.x̘`74\\Fe^"xc\1%˓b`c ;.Ibf&X-w?t6{ HGdBJ_Awқ}l>U1+;*r,Rcɲ&P^ד脺sޭz{vaM9WH8 ](` LRzFS^;|ىg`OO4 `/%A5=!Oc̎;6(6Cȗcd@Z-ѬLJ^ƫn2\uCWeS3>^g"kQ_lxͯVaZj lso8G9>k4߉PÊm4' b?lh%ry>>n}ei:L)cY~%-7R!9}(E' KuG)-~/Fv!ZQ6D'yہd~>b1r>(9F|oihtĝ:J7Cz >laYvgj0G&6JCWe6'4Ұ΀sS yc MKiRWӔ Ff ˆ`iLt rϤ؃(dMF8S{IP PlKL )󗇯ꬒa6 \BՀ/-OT1dC渖p EMUGV@7f#+4<Ј`ш7"h @xE'S̠ݟ_tZECmm›Mi ˘>tWyǾ F V_>D^nU3K{7;*`#- { yauGS+qn3cJl 9wy2pT$N[9R}ZM.~xuV'ez q!NfyDuYG &~)vD3gc̪z4 o8ැX,c܂o7AM (28fh7$1SɈpPUNpeÿE0oN3 JEB'u atqHbv0鷍/Ff}Q(5{] =6o mC̀kBDFQh:SCV26 a?Õy5rKnug:Xق~E][TE&) y:;$fWU[[qTE'AH32$VR7mJ\Cd3 4/L+TW,dܧ,a 5hA&WI 0_L\iwh]ڬaD\||Z9o;߾6M$ s)Ӻ [w[:>i TڗghmFx hl T"8P>.sI]ɼ!^qMXrJ>b4,/?Ī?X.6Fypzrv :'oQ5asPs "mAzBXL7nߘ2!gF1L G\L 74/YqGs5O'g豪xtT76ԏ/9NR;uA5lo&q{\Jx.'5HE#0~ }O%dVaB^T\88ԭ,B-/Cd.Iȫܣgdh+v{BG<";+ =q vy@쀞$'mceQM2pǦw8d%٣ᴄǺiSZ*ϔמcrГd!'u=Uwb%3487Hg"5 *~VCj1ip}vx,ug~ z:IF:eדL (őocc/lC#d}<i2 缵;eL֖BJq,P8;Y\@,"]^kSPw}7i-[ Z;\CyY(rZd<4aYr(e[8eމ}ihe9<밢 ݴX'"0t(+%܈'~҂.BXk|]Y.<̶Vσ)_zNȏ6䏅 ӿhz8x)q?*7u"X~(x]aZnd~hVtM oM:c \Ul'n/_O%Ny]@ߏ]dEC+Ǹag) `gwjG]'hLyx9;Fx|~s2#1&BVKo}$-tcF5fQkyV>㪛$Ӄ\ C7Θ[V3%f {/SOӺTڥ#wx7<7áq9~,5 Tި%A%R+rw~CW@XK|a>]Y^wl,r69^[`"2Ѐ'"b9`L%$t1"mm?%n )"65!ו?ߜciX0f}FRdxֿ0hWL&+nYeu/a+pQ54%%ɋ:r,e*Vo0:A:G[{:Σ׊mU<|0W=J -__j= %3 ˯TK϶e/c3e/JQiF7^ɬsj>DU|flmz\kӞ4O'Z}ZC1&QE8C68ۨ~T1OuwvƇs%)f d'X‚K3q.w)|438XRژtz1QzCm"Ҁℯ~h49f$VʕPmY51czUt1INД\Ds 2&9a`"'-䭕3G#$unlu ͑~M*6b5r=tM4"IqTad*n&|ThIәC=+OGٮ1nl냣}XӴ} Wqi"a,ɰcSl(+p FnEqW( _$Kx|a{H:(mg{odL@FB#4'n B^7Y1C2"] φ.ͽTk>ߧ/8N|Qqߑ'{Tݨ*Ti^_٣I*. i絓2%ml|mr'|MeCi%ЭQ]Kc[Di`E=3mzh%QiF-]alv[%T*xd"! äh)Oӄ"(H~dtͿx JLwP7 j4Xw@"l&.KņŚexKKkm1|td,L.$h\S\K__O4:am> dBU7rXcn1+;L7css^i|w -?ߎQa {U*NcSfr@e mB__k\W#$;i.˰.Bg,b`ܩ~Iƻd׊ihW69JG،gK F i.buomoӔu^ڥvO?jA9sC.rc86H5<>Rb-O 5zG~9o$X~ZFz2--TڕG,Tr=dSBo1C鸅ֺyKk##4Uh1H5/$Oyv +Жd>ɢ&C]\֢5$'3t^E"\(TzOjʏ~iG^38!J$'o3PBLv^.3:ĺH~xK<1#3膲B\kJS.0/r*ɵ3ŏ`>7d}m!˶(''}8i4M kZ~My~UƶXrݾ6^&ݾ1`ؗ 3! -Bk"ЌM?haV6X/WbCB1z6h&qQ@%\8!X~$ܘT+yG8aJ'-񕰿Wh `iwzrx0{{<ŻݞRq<*R-NtKmɭ)C}ƍS;F|6ew퇜daQҘE'PsWdu3/(qUk`kv'7Lp-(0OP}< KY"-\:OB9K}tW} 1KNQ5yf z46ܣQ#JϷw[rO}Ո.sG q3DHыs$iݠʰO;#N$)pz4*\<5R.Uf>kȊ^4Tؤ1RPLEMTvݵ zd_y|Gҁ%y4h:Dt4mZmVN.QǙw>L9 rm4}?:/tL&~d̩|:YrOGZG9F+(T]2`5i=F  0 ֤tiSGTzQx)ܹJV)붠v1`򃴇+jLT *Eޘ|Jaߺ;_==z74hELTb\D u8e[k[܈C# `] ˣ?0es&5Fpj:1ɢlec6SԌRlrGvi1iY -d%&E1r=yg\o,m'M҈hrIww @uk>+a=x=y%Oeo~!\t 'MyJH8ۧX!̻ȟ**& r~vE-k4.kO{˦v~S#le?\x릶[#"̐eGacP}< a'8T'7&Ϡ0=xͽ0m1!i+uz>-Baݷ _H/ 4ucDQP  s2{{_ Wܵ3KPHX/w80wx:,4HK, 6%ԓ׌2Q+ !݊NHy,uO苙m~4=qH:OJڮb'Χ୤5ZƧM[ٓd%G݊z"9LYG;zd/z̕\&)3;7[ BXfp0fjUfPk6S4|?ǞCkp7.s$M}hEtX2Y Jo[&lHM^gsFYw;z/V>(z .guή ~y [!3f0&9b~s,ƽXsz7P;AbnZXT=kj*^!B~ ׁTzFQ3YbXRJ^1k.gCoBl+MOZOnp+Ny2T3!VTFUC7zhtT%b~C u"Z_jCHڊ4ICF`-'Vnx v*B%Rh\S!).d"y&=P#gP tC'GeJ⡴Ev?^ XH3?:cI2?HXk1LX/D*'\JG f"7:VX}.Ǝ[in} pьz=pX#ȋ}X'mm*ZZl#<%i*h#6`dlKI*,MO|5f)X:Kz[+oμ h %eroD7+3q#@xڷJ7ܦ 3 k tpJFW[}4/_Igɭolhz5J>"[Az~P*޽($ߚd"B&~%hϏy1&gݪCZ3ҡqt8 Q:l^,~Am`,~OH}pY–اRsH(Ph?tGa>1hk|36?ѧp .m YTroOZ\Gؗ҇Ək*5X9xSԍl}ezn WIr㒮t,=1&fPN/Hc9UL8:Kn0SV9`p!>͒F/&YO\o &TZ)ΪR1o}fYeE?̗#̓ 󷗋D9I_8fdϝrBO7 ޏ0$]p5~<δ^E˰ҷǐ5[OEfHZy- [N١PLkI7_1ytwN۵q.l;β1x_[jnYүh4ƊaҔ5E 7kLޗ'Olg;o8ñ33k|DldGEk(^SL_vI,;b[ yI64i=,y4O WVUӦ}oA>y%b9/`R&T2(lnH.ET&⻳;M=%{u~}U1!{?}VLxie̯n3kGwdA>h;s^Y'$ͿۜQZޠ[L9/ a^FrYy+Ғo%Kv !z{]ZHNlpFZ At٤Ty@\^e x.J)LD*XPqr5It0TM/;/˦Εdiig)W NMS2W6뼿KzT/h^ :M 9JBXCv.૲ߢ-Vw''XHUuIǠFOrHmsom`(74P l&>3iotBB՝a5ֽ8)R[;OܧH|Uj@7a><H6tv-뭃j" בtX =zΝU 7sgs"c ;3(~hƒ^\mdA5}@yU 'gUT1ffhbs̆_hŽ _e(̼9 >{MX5;l[TL1uCXk*L8QX8p㜛rVMvqqFjI[pSi%>$wl@aL xCKT>uni2!x?8'cl [RJGPaiV ͗y7Uʮ~ 4E7 qtTX3P[iᐾzA\餛p-+J)r~`nB8B~ H6Q{Q}Rag^J-D"jatbpۣ֤O\H#AEɲtS3eam]Ȁyz;QYz/%_mğZ7[7g4IIc8`hZh c¡Gq|! %~* [l Hl |iiO{>34κz:;$f׳ pDXeR7rz% 7Z$@d筏z'`!Å_"zkA$ {Z Mn:z{%<&{; gh#f!M,MJF"/9p!fc߀s  R/$# ޻ks-p~k | ;^9۠O}'T*-V5mEkLڅR%Q}/dC|hy2C嵶@'6<_H(¨lM;d H5쳚7ь3pkhV;kaL[m@%O񫈤<>J["2KVo٦Ļ1Rdl+O(3֘M`W \.ſAub" VdNgB"Dn}Ǹ_/9jy= nsk@ I~DTqvvSő,RCwdKpXkS27ǟ%YLQHU@Љ`CͼIEDKUq@, wGT7>ڷB2"0ܷkU9)nL6!..#y$G|!H3;)}T/Yqfu/')? ` 2R]nj)dBwG~guNY(xS)%~*YS ĝHV,YX]3]+$JJ(qC10_R$ax0 ZzZCyv \=TİG6BwR$C Z>qxqj  "&Eb:e16 vW->&i[傀6\\Z Ŭl04lXH%vQ7إ1=tM$@)őT_241,$7"C v]*RIF?Vc -!rϳ{U0r6_k7%Kj $Һߠ27w>+K "t~?Nusһ\;g&#oid%57 h=z,8j";"[KT/F׈g{bOGdv+eI14mIdMљ]TEIJLP^t|v֖Nd`fՂ|F(34a% q}8R آ9dV8^>@WEzJׁl۲m`=[3(73 郖 f MI '?^IBطוꇏ22El}ڥ ;wS/V{ 1%k=8퉤.B!CK ,^'KNbݧdwpM8 W^<~NȔ(|6 ; A 3ُ COo3.&osCbF B!M)]_PSMX;`./\Uʌy+8pWo)C*?;׋fUpR>-,wj$ɚgglIIˋZmF@QzBn/ E (XAB=q;,#^i`Z܆L8]Nt-pQjHL5ϑu2Q^z?9^k;y(+k9`i\}Lz NQaM%R#L9܇8d$T$E1;3%T ;6o\ipȟ};YH}׼=2.rZ2!H\0"mY f>i"~ X?s!Up{x6mGKۆ=&~]~C 4%*_Vs!㈅92 zz}-̘q [5wlU=G82XMqB鏤8'U9JĞ=^4fNsnc|%[;UTuFJŴkfB21oZR.ZǀT6bABn N/،Ӻ5ןW Ii);|(=J[zy=YKtp⇉ĕ|=;̾ҁg{"G _l I}G/kK>'_>zjJ{; X]}^WL?DgݓPҹh35ʺY-[?R) |*]dvtO1zJ45ý[w" tҳ,lclAPC8LcTNi5W4W%)IGyl;CAW3 L&3#'_I\,jcS?*7q;z=*skrf^VxD@{,䟻+7 &ϋBM~zhrYgѠh1&fKcUޯ5U詠]*k `$B9 [ކ쒀 >M~1}ᄟ;!rbܔG9-G6hcAs"b%i9Ob8ا"݄c"0NWH=#GN6Mبh~ 0ڶfuYxXHsڭ"X4%A>}d!jY/d^R`tEd/+JC$HNJ4%DEVIGx UEv,sS5l,e`q 'OFl+ ZzǬ^J<<:G;o+.kKi s&g0 FU2O}d;+n?b1{*0=6cKFEA1Jc<z{s~$⡬*S7&Q&)Rס433mJѷ `1;;ˀ^r2 wx̉u/Ua;AcX.ћGJ)S.K/] }zFo:E'f nN޻GEgg|$DVH`"GAOps7kNrhkW;C(?~HZy}@c;JGa`g@7̀ N.FƷH4,Cf@=C@)Kn+Vօ/x_, | λck#vNGgɅt} ŷ2pq"q3 .pV)ɥؗ\b/+RN>&`o )n j(!Ad1-zH52mYU\)8Wֺt/QKGAFۉzXyP[0Y|6ctB!G%ύ|t>MkV @Ӳz3(Gފ|%- Eq 6eSon$;D~CSqKsyȄ_;N0]ꥲ:f7cP -` ->ʁOAy5 cOn!TJgei5V.(me׫#4"'7g\R #Oߩ3[/6ikQ҉V'ԑenVFiKNz%)|ȋ4*H!ߘ|v\Hy{cT|Ntksa"Yc&|yz]0tZճcꎯae1ܵ|N{ӇĀLw|m=Wsq7OU]\CpbSƣELQ"FzPWev}x +w;/0UYԾum ?Ԟ~٥MA;ĸWS+*"VQWIl_q/ӆ%%bt(yLVQq k[\(u8 EYq&q!k"1:qoʤJx,t#?SG[gZײ36:#-W'$t Ʀ@I̴8`>ZOy38YxaXUIWR V ] Zv|*5m!L>8!נ̾SA[{6)XQwuhMc&H` )2HP@@ iF1}dX-mR6q[cz;<_.=cK#'B7YydDxƙ-5 O9_f )@X>D@$ 绲5$;Uzsc/df^3o%/K '&?~S;w'+f!w}x{Ye/ShJX8WuQWp~S{_f7>Uob_W:F+uR?g~J<Po8?m'WL'-ae=;+w* x%Ǻ6~TG84L.7WyASfv_#C4` ۱O$n0[%T)|21"?q2.uӐ2I3Q_L(+/O2SfBnIHf̴+Aԣ~ǒr|AЖFe y) %یiBQOrj}G,O.L A#KV7r?&f7H<ޖVnw :%xÊ&K!2l:(y&Z݅WD_PtիNבb }'$X4&Y2@v<]*("?|Eo̍1pֳ$JJ&!#W9ʜw(pSk c5eh gmH6ioՁjƵ VA| {S]]7@$ta#d}0WZO++OP!V21|ژ5Qk Q§O3&2k3oBȅVkH8\'$M槢1 Օ;[bV|4§IOUT LD'46S_@㔷=xÏWƭd-1byG[TS*|r̗/e|r1yK` țyڗ(_s3_S *0-q (vL Day%۪[8zPkO^ d%Zy w9b_lS _(p']%t1 f];if۠B}AK5pH*1X,?q|OflDU#<^ZVdv sw4\Hݮ#~cZ¯'ǡo-_O`ԋt +LqPof|;ARRz@W aOWl]fdI^M1S핥+U%SգZaMEdlg$\ yKzHyrs1gZ>#lmHO@ƶe&F4}8*%^[1 3i-B9P|#nwDd9?TA[29Џf6OnhyQ'ɋ(·eŏCZd[Pq޻VhKN|"`jŀ=1S; eRoϋZTai_ߞw'fT=~'.?lW{tck`2@?/L7houX;l5Wbk7J=;mJ^0y)E?8}{e_"#A8uuY w8}2(XJV}$2X$m΍f9a :5S1P~MSGNҟ,qMd1*TSKίߊLtIȋ\د Q0}gɶ !4R:4Iqzy{WQO5ɷwnCϿ-(X_ OTC̣dc&!L†J/H6lR=H$jj@ VL$l gԲ.3GnR{2*L!{.*MO6O5J۞z&Aq+yQOPquj/]ƻ{m* W#ǵc"Si|Wtm2}2bG#Yzo U 5#@b[י>Gy=^D׬ؓnBxXf0öv-~s },{!^B>Xe9^:ԸV^ \tvoJj왿h_={]z&oCJ֩q7$UҨz»ՄPaͪ\#UN?46,]\fvgXT/Y'=Nա"2ή轥i<$w'&#$.ڐ­4] cĭ>O Vm}}PkZp8EY\ѣ=.u43MiۙH8{R"w"xe~WzGGy$,nPKw )\zh􎨧ge\. ?qF=Q@#χR1Dޜטǩ|_8\=1+}#)ϙ:3@bFp>}?^f2J;E+H09+g8d(M%M]MHm6iZglTbxR@p vcFDR^+;.V@5y_U;!E )d5%l#}@EUʮhHW"$>PJ< k ̂Sz/JfVIbl c݋}eW+w\J_W#&P9?!4RZXT-!~O=K\7Y6| Tb)wK򤾊Ϻ9#8(>aw[@oH)yg+ή&i@ׯ fLNv.`yT-NR s Ѣ_Tp !m%yC=c9H|Wv-8ީ)؂7U(k~?/g>Y^ɍ`6)X 28#|æHY D'c.4]83ߗ=c=$\kpiǛSAE{+g/Rdo+5cuU6' KcޔFdXR+ fדq q?(sy[]!,]ϼD0:s~uL}mj!C(ӹ.&ـ@x(ubgxFUnhܚƙ 6ˋc6àod<4WjQ W@n':+r]/A7DnxRb͌SOK֤9c߈yl=Bj3F 6yĹE3ޗB6:y5 ._d *5nm ʿ ǓJh^iC9ykE+]_5 _ {H,{)!n4Vcܽ1:J/">%K[L7D@)cóǥ'm(34ZQK~Khބ1YSP0S'G!xEKGM=M`IOh,.2(7vՔK%cГ> |ue6FD474O}xru $9G4 7D)*cBY`n%4&;h~x^X)ѣ&X.k[y#L.'HebkAkٍvM@TrP"bWC *r*E̤QLS }؃G*i5(dij(ҔSEޒ#ꟶ2'+=V:<>R?ָt-Tq/X'QӋd/M=Rr 番B+n.XvK{_ 8Z Up}Qx%f1 FJU%_gb[ʆT7jaMS04B/M,XJɷ2 ie¸Vd-\E_$ֱn GqW"I>aMbaMۂC2#F 3_xm{8ɉIQۻ$Y=H1 ;tpL4XI F2U}(*K.OcB \by9U✊l+ҒK[6r)mVPVounޫ_!"߭op}jѮ7[" [ _ hhl2dD=I_BEG颫qÁ~%b~RK[;2itY.~H^8P3ʛ$%[LtoWx}#MU},{2q q?y9mߛO W4K5)IYR,탘w$5PLRTQeu.d6ʤLK}RƟ(_Cp/\]cTOʾ!ճQSP #;DL :dX=ܭ)QGzr[B)GZ DpF3&,]u@*zɅNl4ѝb#M-2wK3fx9 uij!U$^3f4;GF+<)a#`.6BЂ3P2@·Vm/ujW^A1',`le>f$PH. { !d 4۸t+ur"WQ}v&X&|+/L}*xZ٭;{a9ĔeDI:nV֊p_;iˉRnV8mx`%A98 tCu$=Lwx!!曨̈I&V9dnN,`Q9Y?,09*ߛY쪉|l'9ᅌgrA8πR^IJWRi"^_:O8*egIm?AlC&ζ5PVLn&ɳ̉^k>-F{˜QTb]׻X?#,êt~+ϴQ@rAe95BP~MctJ"䔑x[2~_Ɛ[еڇ<q}sjdU=N~p d_#' OP fMnQچghN=f)d|L)fՕ60+צk2'iń6zsd瀇q;4x8W r8 ,L5E^li)N2>)I"-B [奂{|i'0x5MIH(fNò_L Pu*K8 1[39d{ _${:䞻D]'7 8%')FXَ//n8'Q.`噞b_H}f8Bt4_[>' im. )0Q˼$ ~.UT t2#9ZFZ(nWPK=8^JV#޾ﵵϖe(d7 1pb;dpcR%Ғ.p;i}}<ȿ'̉F}k(y_i7FBz㗓+[x͓V+ clg]O`ZPv5\חØZiXC`x/Xv hl^cEZ0}f&B؋-):TN*$f+t z~/B:'-#]ٙn}lth(&ea mrJ)S\P@9[@0EN7W>Ps1QRQ?г Gɨ2*q|M }80 Hj*PO7xŋzCI 6M`e:IBԺ]rb{M~!m|H} оL\tN̼G',SxShp"F<>ۓ=i;k ul9ÉIM9<8;wCqQ_[D .l+35ޯd“oL0sbayxШ'|w}(gFKN8ּz{_YȤ@w>D17½/.]˭!;՗4N_Q#DI/J{]5)i`'3"9_S77fpNY? KW\1hMv6D`7Y9s˶˄-̓R"ȌT3s^ ؼ7dl}KfD~bLP(B? ^FtH7c@2mofKisHPz11K՛kL ȡ73 K~#pNPBVrWJ|N̪2 #|,Fzu sr')|&ăR31񇧤=Wi6o6kiBZܧjJ)㟴 JK*UbF=xbX(*AVt[t&lq(]~lO`G9]HfSwxpG;C%|=YM9/=DMHbNho'ْ>vv"Hy[+v&N!(90\涉kbh]olj0}ldk$QFcDVI#ǚ.50: O떞| .)Y Z{sMJE (uT^ߒ7ց0ʟd:9j* #.9o~7<>kȸюq\ Dk=':/*qoU^xh:|jr4H%2@JH>4-SEQBuGƗdn|( Udk(TpU<ѱN17pFոEwb7sYgδ-p=E,AEdz0#voQ>z &9dj, Rkq;Dd2+5(MQ8Dܸ]r] MuSO$ɍsrj%,.O'M)ߓ"mc8o$N %י#/#*t%TFF Ƈd"Y|RLq!or~g5 R<q"}8ljagi^YQ>4鸨ؕ3_ cfmmPÞ$c1"G+']!rFr%Rhq]DFOJz~!"n o_¯ImVC_3=2>'+sBQ<c;t-0^Ζa޶el9YkӤ߱\ `uH}%ӡyqD+`hG}1'Rրa| ޻U& Q*og3/EW%`pu{ap*ugjU6v8X[TpzZW `$=\L Z,2e[Za$YX*k~"@UO}ts|czwCS!O}^;ec7K;v%m !G=vtFS7B,e7v;h! V8$k/\ÚFe]7O0}5҅=+ 3mfyb=0La@ULӝM&%^ g w֤%=82C;PU\\{887Z2SN#OBY*'3ܪJVO1œM #1@#bgAP#d1!.X)%@MاNW"e{^!(Y}sلJcQv+?#Q Waa7ƒp;< N?Db"ZMAV&ݡ_LsHbȸb':ilZ8Y]bi݃r}HA_zVoV{1h C5d5Kf=6=`)F o|~Y1Ʀ L%z ?־8/?`if\+OS%ucI8,*MHm?i`wAv,]䮆çna6(Sb2:Iؿ.cg_;nlr}t.FdS##rѴMѺvA(m\Ts]uz]/}()DL?]HV,Yz̉)<(0;zV??G-k'PL{5l9H5qwA̻xHX0cs^8=fBkOKDO hVu {WFʄ-K0a~‚8]1vW2Y]F]h$"5o`1sYv,] IZFTGTq%.,U?ҧ3>Vӳʳn|eyTd:jĊVў,9cg#F:~fce#W{6S>e$gQ< R죶7PyD΍BV^'\ ߸ݒ7%3D2^]QĺALp1 _[ T1_ZOf'FN<"ȓS;Q7Xrrs! 'sϛ?Ghx̟Hɵ4VM$`{DƇ1Q L#pR3nGow++lC͏j0'.~R\~?>d ݯ] fJw $}~M  atScA.O563s ԶG*Z۹+y/PL71z1䯣eJs2;ڂH1J1Y!Mpu*KL\9K49Ïc EG4bZ%uꃹ;g1@%6IKTeciCXBSL5@Q?&{sbZ΅`XL!YfU]BD ..ȹoÌD(1tV(AxcCs rAt|ʎE- '],XV8̛i$TܵR۷![Ͱ+a*1i"E(xۤ:OO4{SYL=/r~UI;4 0xE+ iұy_!1) +aPO׃-)8?VWe$~!Mggo D^3f.3hS)GE<nD.c@^Lne\/"#4i.v[әāJ5tcz1{N6ϖFptUt]t #Pz+'w^;XMZDpgCЅ(NR Σ 6eٗ0(wsG&Bp6;V}eH}N*UvJI3mfˁQc1w+r!7)SЌ 2Ů_X)تW:x{⦧W&x8ժau&8x+XJIjAoG 'sju؎'^#S̡Ⱦ㘋J_e5mX6לdZ 'X?>EQH)t*/ D j~. ie\?mXDԒk<\K4fWoqQ|_\ԽU􃉌@`ϾV'@L9` 0.6q |4OdTFi>=I1+;}CZ}*1J5jc!UqIHƲݽ}vxo,}隗 ktн?k!ğׇس7mukES*a;,~9!hl+gs!T@ ke5DdP`(mڏB獴jrQ}cNmGMWД4Wn)i&Sq |ԪRp.B8B0RVAk޺biQ=U$ 0 b CAÌ~XuH=߃ KEl֕DZ:b{iP:NbHt%d#C3jqD09d+0Hӆ'"? .0{Q@?G4L,Hg=IBfy_T,,3>n  &`bÜAD}csd~{NؙBk)&y&obZ#1aN>_"DZviqG?ހg7AfŹTR53pT1ty{ʂ׶)fp-ֆWkk~ƼqdžVѺqi ?>llA>U%…VELǏ] q1 ѹwU˾_*r,b8mt,JjtG³>EfcPY?iW58;oepy~l|aJ5);>8 Hj:ZYAA,k9[gY螈҇1?" DZQ~#pY? n"ER_x"[x1-렃R Gfs˓- +LWl[C"}ŇT{K 63<_gW=5Nl|J|KŴÔ='ƨJ4D& N-Wrʼ,+,؟뎮≪]fv_"(+-66/]Lzy&V E˻φ+_wbPӍ$dJ8}@k=Me4 J ^4XdKKX(xiƮOLN(Nֆ+-zDVim_ur&բ;R4>AWzLQ{uDy>7$]4xG/> c7My.O4҃< ^x:jƃ,%%tJtHҶ qd{SbN3.=" ;ϛ4YĦ\Q|f^(g)n$,a<$YciWPcl R&GzhF%VG_~r_s@\I6tSxfmau̽.`c79$Ba:dd y7P,AYxk|Zt XZFVj坤gp6t)V,8]!-X!KbM}n C1WR8EaRR/z0n >A?( He0ZgMbK$DOuc@@D9\k!|xP.X+SZ,T&Lk|"vxN:2~ n`(Xiz)$~UuAM5q>@Of80y?]űrYFC4ada!7'IiCb>I^b-f[ 1*X%IO}yvj@Z 1a ϯ].RSаJajo %_okO"xv $#,j[CM< g1$o_o¢x-!QPk }ctbyu~#̈́Cd%08x/vx+^;G1tE:u[*L]mK K*R$ynYTp=:Xm`ǠDZ4YR[͞5BsG^%Er͝_hą[Xw| ǒwMPXR`?;RW+w"ҢPKt-TiK$,s3e8K1GPj|+! ta,Rm18^XMoְi8>ŝQG!n_$M;G+jrܪ%m]řb¨N٩>ca6YvaKvtI(c)ѳ{ []2@)K,EŅa )fo H|- +|tA 4~ 4mI@swNHIGcGF!#fU!.V+bRjm5ݛ O;6A@hFF"PhFju,LGO~xb MʈWh|6\8@r @+8&G Z2bwDOYM7#=<pĚ/~ /Q*T ^xҍT۹ 'aHQ E{LeyVF[5[Xۿc$x&[C&wa12iТ0Wx\|wb3YODa2u[>fUݙt/Cb}S['s^K\ͯY_,\\/_PØZ}ǨKr^ WގH[}Fn:&/[¤KȆ]"ա'/LQ3+acX:ľ5>T7<:dt`&"mP ҧW.$y.^#6s_ @W{NeP} +CN.1`lzf%қ Gu(1WW{-G>G۸( 2zXի->XS``{EzͽjJgAHVWgBY~nD+a.'E]?j;T6 y=5~PH:޵ױSz/(;5_S~8}4=ry݅bX|? 00Vz+UݛVc2 :6{1]4S(2j5I K&/g&H>wu}1 &bPL P|"ٍ?-Uk)a 3v,&#L4\ L݉T{RII;3chS{J]B"PBHAr-˹|n ɣ$V|,OLjO*9L`GB<5.h/ I_".^)qIDnP@$R[eL+0pTYa'M)bu㙉OfxLoX=uX+D}f<h9e?LzHF1ѣSϫ"`Vq/Vߦ :(*X ug՘yB)eŰ J\ro.MSzy'rm`m& ~_OҒCm2}D9[v*YI"s!FS2D} Ԕ,:7=R|ihYV`>~>@*xTkr-J5!3dӿT~V5zm|#zƺÑb6nFes_5qW$Q>g4/yt#tM_xWlo.b/቙T[}`+8 rN- 1h-҃]B~4l][5odAICpG X)'q5ם,ai` ]\|a4&$.t̜O }S+ ~Ve6;UV߳9u墉i#pel'=uVK l?^!q^p*YޚOeV_oX/wXזXx1He\ŲqeEd.Kf}UK>G4tj˄ LWD&~?൷9'N/ߵ*0M?99b=^G}C+4{X|NVin;)+SU51vq CU%$?n!CT:کIG8ac}x0C8ϿDY!N~GOXYMr&WoΪwL >"gOoՀ728YoC*-8폣J遍_I%:kF1&/+?seoٵ2%hBA$ugh- .ʔ+} +8?gmi";l2Md J5K\1phW ?N0mw!( "u1R .L(ET(UοF,.[HeٲbvϺ_V4 BeQCzR,$K.݈^Wo,Yi].x-kCrEyR)Rvȝ)4-jo$֙_~#l~歇\Q# ԑWs7b2}Yb}2[kƃIq O&Lc11&G/dŶhNPRdɝLDa/_']"WRH31w^g2Nq}4~cٲFE_S3E;`=tM; "hclњOVddBke_QfGKK}+ W:dџlys] V}kQF@u\`%x~ct sSh'%GÆ &{ CGX`h(ggr\C;4x{˨ C~),U;lSuKK!Ҍ2xFG;;O#\(5$sW@5 cgܘ2ZFg87E;/oMƂsq1Խac !)3Xi$ F(s7ߧ,>K'ƥ NoF}b=#ʝ`%ʆ AUg"PkFKi4YGǪ łgU6d CG7/Bl+I>G1ڌӠ|QqW%b"|JoڌAesPI穊x5+Dkڙ GQ$SC=[.Yk kAw NwܗeApi\D{c]%݊ίo`ग़tnm{ܶd$J5v51 ̑(f6<}^eׄQ4ŻvD&QM4"@]FSQ`$]%eT=ٱ`005V>է^Ľgg3儖8E8ɼ*Sc M =WJXT@vas3hmqRH?`ƒ"7DQGf+m1(ږ.(~}YiO~nIe*z2ɑ-Vk2J0˾޷E4G%pV8 b =bÅGW.U@3}=,_KiRz ĺZm]t> ݑ%.7̯]輥=NJP/~d}Plil 8Fѫ w?!XPjyV1!MDzWn]!XpZBأSt n\{_?^B*jik߮'k܅;Pڃ|-ÀlO~eY{B?_dgZ_~ȃx}Z>oYNjEk!`1'Ç_?*2%i <W,T9v760SiKdoITP㣪c_+%w5y9$m'1zv|Z 8/Um ]a0w.Hwx?Y,;sꃏG*p9+(+mǚߩ|'g`cU:^yUςI5rj`ng.eCvYXs޹EZ6KUi\xoy~9]ΔTC,}8E䃁 Brn3u\SJ1tvL׆աMŞa_Z.ib*%< # _c3m5&%5!zW&ѳ\Ɯ=l`c?ih3soqɯ7@͐ zPQGc,@'+|t~=V~e̞|yvFwܲm&?e"!ǯE%~?TDBZ &0\{ivlB[v#lY}󨮊Csι8s~4>{ %qw ;N LO]" =uaϬT |@>ſOtR8](7 o:K\X#VpZFײO*҆t*u˿#ɳ }p37!-X~|6R^ٓdDpeԺUL J!U #Bcj2l6)նESYKE/;pi_uȍ1Fݻ̀A$}t'0b6 # mX<(X]L1j%ʁr0&begHER!b[_kvtrjem7FBGbx.{mkŸEƘD8y-HU IKxw=l(lg>rhxX{Aʾ g';OEb{R3`;:tT.7LJ-sڛɮ<ՔAaj) +aA_b%1~t@IjRw@sz<'A44HcHd1IJ)ٶ ;k$sК3|"PԿ Z lSOzۺCu3fMTt*^ ýudO_ lP ϔ&q?|J]Req&¾S&OGbWZ- ꐎs!AuQP:֔I|'';CB3fzMjGcZ~@Ϡo!z |DyV45i+;r5#gL7[bg va~11R;bXlK%,~fpŦrYX,TZL;GqxDo}Em͒E~s} ZZu!G_S Iۘqzӏ)EF@I_{dt=|zo+ĵ W|7u..éxhK #꾤`\խn݉OfZ+Ik$U毹!l^x* 2bbHavF>"ϫW`? BD-a2zݿtS1o*}.4%" ,['r 󌐈,)P0D+ã/&DyVPJ|D>yѳ>A[G}7ӦqF.ma=صB夢#>SmhNIkiJh9 _8caybO/' -T4Vմ*XN{Y&HWҵ˳A[ܶpT^jشӞxĈ20eOA |0k²_Ն`4UxFt7/#tQ'iH<URyhtsE"ÕĠC~!t1&&awd*>eǷ_}N@󲬕.۳) ҨÎN氤2ߧP=ArA\~L岓:T`X\5H^4wG9i0+w P7YU'nBR 8rZ-A5aV!0[z2Ԅ l*V~SLK&ZPȲ8s]/o0b_ߑ!2?ΝP=a_0{z OV<۶E8MYM$^`|`ˌM%շuCgޅ,>~W$vOAr_b&T=Z)ۗމHL,oʤ- 2{a->ttrݽ=pS OA%֫h[EƃoPU='5 J`ݬ|]݊m$/8 k Z^}4e7f. Pѩ汇l{*Q5UW96"wDI_0c~}a״?o闢j[wlǖe3+cs7aٽ ԇ|]Fq (B_{(eIZ9摯1X~20yZTsȭ0G -٢KQ{g-s*aOQԝz`MBugau.3?2JT6v .c@sneӏ2b_X&VVc?}Å!?UްFeC>*ܸtQTyʌS!k$^ɋf~pKrcDt|OmXs$ D8CfjǑ "<U+a {{z~!1YQ<=b5FAkηhx)BP5*☲RehaήG0Mͻ55R`})\<lWe\渺9\+@Oa ձ}$[6e|Lg49!at弰XS/X0L-j+>2*?u aތeP#Ase!ԮO'0xWI[LL-UvRHW&K{z.=g o N .$' !z?뗗IR ff}üMxƕaX flHQY 2 h,^"t|ԏA$@ػqxR 5_At*RE`/搪V. x +@e[j1p su+X+߆x&^qSDJn"y7<瀭ihns@=F,_T^4 +wǟgrk0352cطM֧%zufuDOd~} n"ӮbJ&"n:AॠވH]9O|Mg;&IO ~Xڊ%kLJܠ*lP>0%3: c1mQ)qu vedBYo-"a&ff/8Cjt{xeS`-iv$ҩFaʎN.28T_= 7:qY r\ ᬐ뗢PΞJw[giPUeeY~Ӄ*,5p&L ms )v'*#=mJ#Ya]0(PTLӸf+ jɱS;΀ H7Ǔ &uGs]fL3ZBFSy>黶@}'Vӌ ht9)UP_ \8g_B7R0jEfo!߫a6Eu`{P~2b1au}"KupnDD<H2vroHq~'?'n2˹$3.Ld[g,%a_R,1\:f$ hI O 2*DH9__pE35ĈH8g!fN|aDL/ɠp 3_k7Hs5gPh{~" 5>JK[6 > U:2cZIRql(Y>0eg ]s;pr 舼+؝YLz6[& ƫʅN8+pAbq3#t0o!jMqy'}'sW:gK~Q~4wzbA|R8EHtGu7)3|em8.9t&~}K{~ꙛ tzS/_ڤ6W4l<#O0J@?l*i\Oo'HL/ළn L8HeXDPS>Wa3dH?:lffq~:FMF(YMh~ТydJru:]YdkQ/;*M2ߔixqLEh6i2.>2GQ86V.$G 1j,FGCƄ=]%Nj3,UH< [`}\>-C"gg|tԧpK->!k÷Qh,X9`Qm 8 :@#ZV=oP=R D5[ԋV*r2X+V`ٍ_~(ϲNPB0܌\u= >!*i6{CPm[`B O;Q)Og$FBN '(ie"s~eJ\z墸xo}5mmd6K5lꤠURŲrׇCMyl{3۝IHE<'MC~,/ܯ(Jn,F/}c8\&§.lmlrjk{C^I!@o 3ʡK`;4qIcnėzqzd^/^Tْ>"9]>УEBT TFˌr․x^ M%ך1&7, 7Ob> T55դ1Ux{292gB;&sRMH!|&!ҹktyw0^p?&@q v{K\l ~~?4w(i{.8 #R$o5gDp]F} ȹ೷)y /ii8~uf=hz0Z3?;QGeMh}Ղ@ôE`߅SeA՛:@)_1N!J=&/g:$-Yʖ'I;c=8Ah%?ؔ9#lz}h=N]T4,PgB4oEB_i*&y_L_;<[=y>ڼ<*ҸdxbH6-rEZlv-3A̔MVuō/g "C*YF:[)L ^ջ沝 ) h6!a;r,#_$`nqgLiPz/J|Ko\7Vv1$]JB13tHC ^9* ^\?C5FëEJX(E5T4`G^ґIIs>?^9;ރyڡTΡ'Pflտ&9VVJ(| UA`P~\t/j˃S ]Zl !LsYǶϩtBnuNhL'I|mN)'S - p"i$pFH:. cOP?u{Cg-<7ufOQ5$4rԚKMD=䟯T>vhbBܾut.0I0N1.䁁< 7}ZnmT$dxLX6O0n4Uk.^Y)!?@wE_n$BSg"~#(΋ F (}؇hYH3z!jf})޳сEI_N08wu@V/% ¬ϸ I`}s'o@una!/g!KGZp`A>G}0= I3@zŖTzJTjUB,48pH[X5m'3!>^hY[0,`j(䛉igW $$ ANIyޕg+>mU;3jcNI#B˶l?5TG%MQ(FA=f *?_ V6$oV 3U'?R-YylaC0|elATEWT\~tI^FF̚o~1HT9Z,2yꎬ`^c43OU_MVqX?LjT`0'mt[J~ 1iFDLx>C۫vOHxDw!91a[_!@הxn5_ MI,uDdžGbGm{.S҃G"ͭGΙi_1dT _RԴ0nvS˷ld \@}P8GwU4~ʿ(~H"8$)*ls޾gS*$RSobhNSB?iªv8󷁸ry+ޮ;htR9cH{݄ˆYkǚޜΣ6M=F}tۄ_ 2`@Z QUyycJxiwO:|WIq}]94`+ѬI3C2tB>-/ۀ猯 $5;R4digkcï-l)WbA ߕBhKlj$c.QF%x[(ɾFbnc/Uggz&"FR2ABlK<_XPE:(B4mu)jye Rkx.D+7= 7m\PFz"zpaRP>2xFƮ.#HّpW#T#SUYdvy.U(`u INw2?ٚiC!f._go3# s2N08<;y8<]y)$Ұ̄BbVϬDrJj~il;7 vIPzf[INCKc_C" 蒥OȰ Ǧ{lA7>Vm)+a;,wʎo((ƒt(e8 fmC(s0_;7%@= I~bÄKEУpnсGAQW']?2 )xJ `3¥~ӧK#}^}%!J 4V֠4OE2=1d,]3T~6O84SR)rd2;Y `~l^yMl L&ѣ_锭5Rv-U%?M^AHjZT_WX?A`TZ4"n jr]rv{ },C|5$Vo'5a7[,«RQ# !|T0(\=XZTy5n|IV d#׸hlhP3#,ɥֳbs.PWנX%l2U!3%@پ<~驺&j >Ds͡ePǾllݫSZz<&`rj-}@9Vn,5J_;Ut]i}Uy1$v'GLn9.QOgi{Ћ'e(G4Z F5X!.O)ړ;HR#wgRoTnQhޖf(m=E8DVbUfP VZ4(o{o-,q+`Eac v:>m|0W > I/WSaGRtW֦#Ri ۠ayGR/TLAK 8hf5{*q?qȅ#SB <|qHRz>x( _`:~ҥSq:~ Rm0Jtb0z=YTCJR̔7 m.FK;376_h|:BLb8 H< *Kʩ.Elu|[.uM;7~73|-t\ r>}/ cmm<*s^7|qJqk32PknP_WwoMٛ0pa1҈7iE?{F`Hgj$ʇ%^z-Ĥr bdRI*taTv.Ex| r@pSL"dzG)ZF2=:/PКi3D#ƝQ ,uf_w"Z%xtp]x(!y;#^ea1zIUȵ}L0Ǣ=R-YCv q% :&Ƶy_%)߹*k3ky@lPXo{=҇wb`,ٞ%jݡ=;r*߿AA| iVDz; %%|o+﷊ߙT:ہ7Iڮ0;M^Fzͪ |K˪Bs%ru$^ IXt5TALo]y;DBTݍSiSrsi?.ÄHg;!?Սr AL+C@)i)@fi"̺TQbz3*1SG Сl[. CspY#0d1gg*(Ek '@ e=)o_o9H%yA`BO YYQ⡙$w .Q;|y2oL|Ռ]:B#Fr?̃ [ Jnە%<_sG4}{Nryr[rx~ Wp|\unA4yo:lmDp6I"ni;³q5v?RUi$@&" 5 jǑҾ2D43Ln]o0teZSqha_"Ra4db2UdS}rd1:w`ЃwM~"M&! w̼bh| M8 lu'Q/b%d ;.9OQ7.ۉV0뼚dQG^P/}#.-JF+bÏuM?/SI|;Zfa2mt2uf MWwS4veN(ӀoړVn4ډ,=$B+TbrlYz 2( Ǡlg6n$K+x}vie)" hqi^|,ҷȦ~f lC3ĮmBvW+!@:x#EJ1>fσm_'c4s 5^V'L% Io8K#!Rp- ZS7 $5#䋿a^|գ#b4hx*_9 MKhj$Ӽ~_~>B*.uc_SDUN2i߰y~B-#ԝݼK5Hd('۹ 능j612B*s#- ѕH,f*6n4Z~4bh9*@P[M&V{Ӧq%'Ls\>(ҍӭMC߭0 s@p&J;eEo-rLLU^Q(q}r; Et]>H#DZX; o_<ή{R"w)2s5O8 :{|"| Bpފu8SQs!o {fjmfx~{R7^n^h>G*ZIuq*xdӈ52` 0(Zξ>d 1Ʋ 'Ǭq7;u3O.30uD F=Doh(~_^ Ɖ1Yw08c/8Q5 %r&ѧ݀69}csʵU%^<<`a_ݾGXBQn #lP3(XWC#ք}Vk~!ILocLPG4N]ǝ5W#IXoc2wj?Jm|*5.Seo} ݆^-햻)I233I苨ҖS`},+%t U9eYHr(X0ސ]=#/-H>;E!F9lx.a,SJmvMx [[A sAyA[t9VPV?x,QLt'l3&rWוֹ`OϘfqGjƔ*wQbIcQkhon-򐁏%#*eq"u7K5NT>6g!>7IJN: yUa,]J5嚟6Eԕtv4$"fU=F4{՞ 携;Ӯ[ i']]ܨ#تi\%5 |Kz}sj8Z2_&!icZw`X־/,țKBnvuKwu<ֹYbp71 񨨽ⲟ}GMдƒRMKnͻ%ǁD)~&!;ڲ @,w_}䩿 Rӊ_ gUǏ 8Sm״\TT|}†֟0gȊ$[So;Zqc<"ye7ϕs>`WFKE YU˩U9FԢL{ S*]ƺ{sA?WQgMiZsbz1H/ݧS>Wo}JDza}l2p0 Š@1i:yY1r tRFPq| `r7H}8_/7'x`j@ZfnTHmgidlwfHG G32ҙ,?ḦOS*yU>Hut =i\ɍ?o~UISw.yx̀^ z껈bP/2p ")WlNU:2FĦ C>"SNLao89~ӭF{Ir;`9dZoZ" M)x0%ӐA8ˊ.b^Sjn2JOwsߡm'h9`7t(lxCoa*sh%TYO#lvM2gP gj+*A%w lòs3IQ=C&Cjxl#/^,r_e %"GǠRUaW/SaHθ"o J4)m4i]spzKC4A1xD7 {Y5 ҠqZF ;'dr_p6P E$]|zwkPM꽃v@@w.l2j}-fx@Esfgz dP?yC_i*{;]rR [OeI/Q; !DI߀n,n_H_WP$GF{2eLHf#{X//Y_#ôg!&2čKcC6Ŝj6"uu ->Ql69?G1o]hgkw iHcʊygǧJA!ok(6yڿZA5c8g.sDb a=|x0I-=c<P-v tᩗQB?v*gH/6z7h !hj;3Eiܦ=]:kVZ"tkIQgᢘm  9ON>4-SlʹU~'붘=5,R%@ i~`}-&rDpZdaȳ`aB Sz~cHr߈O7eʆʋcв=xqlﱇ;^V]C>A|JI$0:x~,&|y%5!ItM`D wF#W&kvoꢼJpnm'ˮQs{vP  `^:xJ%Cr}$ڎ׵= |{-^a`u}1M"'@μU]&^r?uz2}'x9z=@ PǗj G ϔI%Y8&/@S?%-]l Dž9W<3PA[C"vs 7N{*~EvC>w 6% }S>RjB% L?e /E㰿ͮ w~zg|7{Xp :9.m=rdlUi\+*ޯY>09h}ƴ.i{wH$+C_+t<{qP_{-AaDe|?Xu9edjbU\wOZcj`unٱ#m H"yn&r.L0ڥN0\-Yuq7F].&#jHŚfd%=7@]|힘.Z!~|cí^aSx7ǡx3|dydSP:j!E|-=9T1_]ͥwwB>NRYR6? K$qg/:-/dB]ߠGfp"d;ʘׄέק*1GCOPR!w?_W6 3۹ y/5|C"RG-&=`v( aX9dP wWa[&5+ڠ@c#7w`z0lgN!}zF,q>Tocvpz̾K5}slU$7QI9rewh)ZmCbYLH6#UE͵_!jy[B,,E v7yCɥx]Xt7``%~Jk$rKQs+h,9Rd,@Mc_ Bf} Qԉy_µOھGJq$2l*nm^#ߚjeJ/zP 6qBdD S4srj:Yڛ|DXh ؓ9.<=iFNE+"d/lk7' Ky~x St ?_krHk&ɢΐ>|^#*Hi xeo8XZ30l O*AWECU"JSYJOzdփ1:ࣽX({rv˘ws1 uXtn۸ZMfmFOtTٶb4\gmqdaW!]q6C 8 /ף}]oLác)0@8!߁kØ30d493(1wC1GƀPUoz9Brהb ab:_M+Ty>^Q.= (0D9M gi4'~.=n]XJMDgBq|nYgǂ# b?U9xo__++v.UC,U[/ +c8h" I4K\ -߆2'DgPO: FZ+ckSRm !64=-z[{ 8[RxJk-;t%]91Y YeIU_|oc8ʯ&8FlzRX#-ܡ R]$|f BV@O7- N' DׇLʷ蒖Or_ڐE> |֫[@|0'>"2 aMs )ғ<7ߕkǰE>R? ċ9Tlfvxss0֧Eq9*q'Yq q/OA4=u37K6!?_ؼhFe!.(}u(tRN-7S^mσu+Q~~=ނč};[.I"M> _!X88 #g kJb5ſUT^KDthc^I&LnՉ|882!E6)r!'"?DnY9DOtMnGW^z -Ij1bcۺhJfr00zK9w視,C/OIU&LWOVzԶ-2* VJcgW7aPL2R, 1 ͸7Y<_p!\7{?]a-'vl  Aqfy᱙|q>pz]3 )_,Յh ;u+8XSNr %=_.]&߾X~&A@__qx]V+,nPP o*G{Dwᐘ ~IźL47 J_$ՑIy:[i9N) [s>j;AA 7IZ礛זPu8VT`/O]qU@)Wy|!g(֛ٺyOOnF5RG6#>V(s7z 7cB:"%Y3̻$z~1ŝ+i Þ KU2ۗ!}؎Rw@`sR2.9dF5$vv  )5yOV8/>[AQe<%ۙPsF_rUb-V}sK|z#نCdL~JK) Sf4+Sul_mhv+-YX̉DLZ_'aN۟z`%G>G5$( F_eu yv3! )A#7DÛĝn@N'>.ʿD'p]1\*td!wMB3j>&;~bLO~Q3m`+M8lYBr}vşjh ݿM vn37GH/dp 45A.A?k?IƌP_JDId8pg<=SSy>ff0M~$B/+ \8PɵRgiWVѬkQY`SǨ.02w{Ik ) wnA(2;@Dyg܅UpNߟMUmP[.Pn_j2*Z%Ors6vZ=;T/l%BD8LIC62e2:Yp?6|yhq 9ۊ,w~V[ƣ(ݑd!Wb}D:# ao bXvogf)QYX#U70]!ă* w8n߼ť*mѼ(~^gM!P}J7B_GЪy kzK7 M?5P"`5O2d0' c4Y<>jyplY E<5yw2xR, n. HkXq+gi&EnDO0~ PG!ٶM:xY>wOx`BFODLt&vs4GE)PO+Zg2XѫEWTG^-C2QLg!9e|x ~_s鹵D[(i" qd.4 *+c\>) e7 f37W7-1)1j >mR:y~L֞>;;[c BǙ>j-f ]f4Y{j՟ Y}r<¬kV<<>.aWqgƢ UT=I|=<&{HX8՟vbA?EIVʛ:{pj\Ye2^o|]jͻ9)@ݣci9J "s:K0{D(y[a)Ҿdtr[3*S{Q{(ǩik㌆{Ht gݞ2A!ʭLxG=yQocY﩯z}uեG,&!u\ <_$cߒ8!C~X/>O$@w( ~}AMBb{=vXu+ yw9V6 ݻzff\a8]BXN)Yh 26kli ~)Ieh^fqM%W@*֎A͠挦J `u&c]@ ,6"Vbq-~g2J7zN4W+o,Fhs.k-h7$_Pb9Dst[,^qz^I_ZT3!zR)HluE 8ʍAC"[PouB20I2Sy VW~-l9lЅ[5ldLȶ/w}8_q2=%)}5ҷ ~⑎b,~= ƩڕBC z|. fԸ.Hp_>e g'X?0р0`$Ɔ :&\^fǹȡl~RV]" QNYWCYn<X:,r ^0s_w:&#qw]\K6uֿFK ̉q*fmZ(V+ *2ֿ4U=d`qSwm, A'DheVDf y^z#-xFl=;g3穯/stgk^* Tz$O>*xY"9iŸOTD g$ei:=>-7f-›"ixaEP҇)Nⵁ5B=Lm! fd q6q f4@_}T;۳Es)ފN)䛦|4BfLnyvfgw>E8sKkT>s[*pѿ*Xk=:E},b$}Ĺ>X5;+ ^p^zTቕ[{ǣ ?ExUE]IkVV3ð3&y~S֕֕bαg=78`'k3pY23j]ZhTZ/v`(q7d~tS45+ECB˿C_IK3C8k.Tnx$M=kꥱCx<1+l)jq:\{ N_ٖB7߃aJMY:G=+~N9`8rzRb q\؜QŬ7)c*{{YU;%G ƾ90arCV#ן_ ^EP`lNfg1 vuu"q1ZAu:5E~ao%mfA)v`| ǛrlFEء9 A췵|s.raͬ4>uM$ wk;_6gFg/khow]䀯G_zm = F~{:D\;Aj)5s. J sJ],L-kDٺX>"|%)nJ5 cmmk_.| V9bSGnZBkkW1[3iL/tZ*+u>FZQfp$ognFzsbd&[Hf;5}t>ȍwP y>w͓k{Exв&qs$cՀ\W>hLmgf?-_8Qn}D+#ԉ랼kIA۱ 5|FM6NշSwо|/83<q񵙤  G?t}Ҧ zQ%{}&HZOn~P9xCI8K wK0ފ;ܶ(]X&߀/~ْ'[ˁ~V9RVޠN/==Ւo%f+M֜n alOɰ-34 C ~}[p6820f!fjG/9oiY)?gٛ{,0[Y&c [\4Ȯ)|,7)[@8vm"U9ԟᰅo%9-mhͻ۷gwB/]P΢jM6ܱIeA i3? O1 rqİ|%G QBS(Z4ҘJ{ ݱ'ƃ_F#)z`9SKNjIa2Iԗoth^ }˥3DWO1`WB/Jw+[]2xTPU$YBR@T^" Vׅ2 SJǒMt@羿);89L@iȓ#p䑁LkoϷi.ǡo\ A|[nbr fKe!{2D  rP0 F8w{X9"Ul/ڠ0)umR79agچi3+g]_M:-#e`DV9+fqA)UKe, i`k|=ɌcM2B.A流^icqTyqp>=.n(z,pU,dl-]/{ӭ"Z捥 c.YBT)sPkv* ~ |5Q# q~~兀*SϓbXH׏@֊JMVKEM}8\5ϗX }4 D~wԒ,~rZ {٭D,vk>z<Hx*6<."[A2f{j4t]Du>׳ m~.Mq=l$y'~6^'E=[TinNp9W&2i] ";XͰ\~ظ;k  fa+g̋ς"yWJ(-_AGR_d7h8)ML;p\YorGv)& 銏_~eK \~JILlFe2={t73\ƔLK)3PR`%\I|y`hnMN1lƓs(#IuWCu&QRΫy4wCl}qQl~n⌫D|6`i[E\7(Zl-훕IRLl_Bf/ O#1gSZl)D"_ݩM~|8I8~[IK=SV=vX,LB̷ =NoeFG!p_4m84r>_!#n+ү ϡ` p⛆d+k+sB8oٓA3V򡂧E)އs1Hqxq[~ޥy0JIΝ_24"~TOS2B@sD&A\K _U~>E@WM%nC5LtȄ};GoCܙWv 2uA@Y1>^ߺ_Z4[k>`ʼNc.v⺠X_9@3 Ձ{/Q[93?Ak.͊w `E@XQ~;_T5{q .tنh{\l ò31ե6ſ*P: P] $FlUǥFsJ0Dd=uq?7ZlmA+!ݘ/̌W~ދCW.&GU_Ra/@!w ӑ/enuc Jv.3 oڶ \_M1Ɯr[P(Ո߿B_А5ZK~OH$n^vo3G(G]tHbvh o-(_[U)Fjm #o,Kg*(U7[V-^qR3Q,T vm+'u_} I(W@[ZSD7_b1&/h ?ce#g_:|I5H4Lx٠/Bh^@ =Wc-pl'8aN~f9Te|D;o5bEHAqyA~$b.ds WVjr2Rտn9 ۺMR!{(oBՔU.*coDdoÊD4ܐy?^t Vǩ/1?[t B?qlx8Z[cլXdSE!8D0P&azP5`dlHDƙO3ǰ5 4"w rx$$? Լ Z?%z7d+=%n/v׍hIF z iJխf; ǣ֣,uz)@mx*r~{h[/m29$",3%,~EL,b rzGY)%j /.5Q:j,q%~(]:+o ɂˌT}CO>m^ y OOاAJSQb,uŷ v79ϻy Yw%1t^Wf265a܍zJ5A1 ?ZGot"ֵ̎DRJhRotي~^;9[@[I Ì߫Ӂ-MқMo?8)4o_b(Ca#>v#: 2`EbV(_PL@&uIWOcO#}2;Ekz˰D0IЉxpT/k_ɹWVw'.Nn9Hi{U'VtdYfi ƾwm+0?7wMOƒ lϯd=4/@KKQ<\wG;]XW.yψsgFBP'bI$TO%?DKy0?q f&j:$JB71۷N2fG.[6Vp.'G͉܇Hdu- DZL[?XP Y}V6g!mOXGPIou,?* 8J^;8;8S5| GήO uZ ~If\(?6H}\򽶬9? f Pԫ]8o""kSr4 2ҥL^)/葷Q/ÁI&鎴_11kJ~iW\D\qaHYR s2)[Uu5ΘĔ~mq{{k F̶zAqr~/W`u{׾LEt|t\gp'ȧ0R٤CFǘ1'@ȖL|Zɢ39>Cz8ea4N3iG(B=$LTm*ݥ' 4)8ciЙY<1ѶeLfwa{+ w-яj#L=0|&&-[[y7~@Y '\d\DO꽾ZE|/:]~ sI.]]&)dffcDK)\ FPS&b]D!-t^&2e@V]IM em#(J˕QjF7h#=n0/Ȇmۤgkq2YxlXSޥƜ@ -H %*܈GH&i /WEq_ZrSv~c졨p$صT8)tj3xy_OzCn+`M' oHb_066d_Hٟ4:ӝ_PT|/jI` b_ {K]$0^QowA]QDFdz ИArRL,ch"ѝ!yH~*,RE f1sC^׌JA?\ٿ$'P;aZxNJ DԿghMWoGdcJk_*ӭTD8o7nj.|yn/3h=WKzT'GqlcvZiX%ՈSn7 ?`ލr6f^_iH)Ņlؿ6טRg~ˁS׏B #~lJ nʷUCtk*Zτt<]ؤ~gIŹi`՘pP^6De|)V3?Fޛ@TaM! #s[ $8 ˍuMNj8&mDg898Л_\5c"œU( B~h8- 2Y(-XTޜm/iZ2Og4,%Ɗ*I6<(, }Fg" uNig}ҿ]ՅZz43a<|!LyeNN+r2y /nYXBdΘgu3;QX`CZ^m۲3+ZN^_uhW(ZbDT; }sPb?ETs\"ۅ$RfO.0T͗ṃUZi’^f3:B9bg2UgCvJzgyTf/.t/ b_ĺl{ < C0Bhzn"8y7]|?vםAHiH|+K>֩1 o~C% }D*P+B~,h-RPg9Rto=_ 5T5CA>oe-;m(˔k2)UJ[֙<^ˁG\R{mН"I+7v$^oX(rAh~!Ad̬EF~DuldGxW2ekumKqf[^ K&`k q*&bځdt}WG>!ueɉqLxn1"g}r9g$wx6wiRfy<('XVdP xkz?b<,Po(1bde+|l*b6B6 )enF wTE^7?'luNZOzza ]B b,ջEl %@)3ouNkpQ]XFa6$ s!],<;2W\{XȚ g1?nS{}d*<)\NW*SXD deC`UxhwJ\%͠jJ?BlӲ1x#t: _Z_tTێ}.JΕ~VM]bjMC!0Nh/=\gs |Nv}Ƒڹ__-wzGma>At_ͣPf]SPEzD+ g4_ ]ՈjMӠ-}`:V'%YrE4)?ulEd @JZG^g%W.2/1eeB89K,gT 4=ip@DV.x1q.#G*(b'Vt;c7o nxmt!j1bQD仿>V}Rv#RxI6{ <+&ݼ1…}j$ ߴş 0^cUz V}~&j9'Rxܾܟ@] إ 8-'_1*(ߔnMiB SJ|xZg*]JC`ELWAC\ȉ:Sv ;@m[eTQp*ylj$bfa T(,<"ߛm ^3⭯"J~S1[f>R+#+cХ1˛LTj,chIOAm{?M3QPvVdh$t7IU8գW#M7GƘ/uܐ}xrH }kh%2V4}%X !')Fv[o/[Mg"`MBRk!~\Juddok]g{%(&Kápg{ nk[Q n"RτH}]5[< 򅉜)+e<ظ d q(2ذIw)9B۫W?A߯c80>R*!&y~:2ok' lشhEd%\6i:qyXwn{4b>r4A@)j^ xS/}H*˜@QJ+{ 8:U\?jDhU-cD:1 n.=^VX!VhLn]Tnzɨ/=R5I: ûOkG5){ԀLM:~J,ǚ$({fV'$ 26>j-BWK2B8v柍0iGdE_kC9֋GcKΎ,g 1|5NgtT_=?]t֐nTفO&N`Ė6V:Ӯ7x(J2{On[\o-q;俋䎁8wc ٬.Øzj]H'@Y49 |@H.zՠ@WdhzV K^E+"+U]cBW*w ~>4ԱV;jxdSHYRr`)(JV%ŒqTX!!Mvyч-έ{)W(ϯ`b~7 ,KZC`Ѷ unI}:fN3@x 2(V׼3 67Iꠚ_X>E2|a/Pcnb=@J$#%;܆.&(k7!i䊑9'1fB^ `ֶ9nͶWSf|DW (-Yգef/-i[lPw+`aAvЁ!4Hձ4eZ}cyك->.wm-2SՖx %[ BuDHo\!wWU.~-V^ݚ^g? 7G* D_d(DБs|c_it\f068J }h!c*-ux!Z ܫh}puqJy/1IɆO(<FlMaywBLf(݂z9NŒ"6JW :Dƣp9?ILqT.j.UX#g6!^[fs/%xJba#_ eJSZ WyYۘ%܏8>dW+NMsHۻe "MX^`Ģ87c幌6<"d˝ӮFUВTz!@mW=~E}~tY+gT|$ƻpϧrGRYusmm\,ja$_:$eaMo ΂t")SENHɩ^.@Gd õ/1`jՇeNLY$ˊl~.LJw~Dըlۣz>֊Wxm<;3H|RFS߭Ĩېv:l`_Ш_%?3 6q+G]qȘ4) '@%pg&|\ "R:kvTΈ0Wr) hP 3u-ټ|BǨu`zW}>hD&]:Yzpk??_CeƖ?~ 74hpnWK]dq }cGyջz!K1(]Xd} y~CK^$,t2~$`oenZ TRby%L?pP@ SK))fuUAa`${ [' xL pTNޤ$OęHn^QB oϠ"(I}X:K~n+b*!mF-(z8;"/'-0 ]rǡ e ݷn,8]T]bXȇ;"sg@^e'6sZc;*$~ L9 t7ۉZHշt=헕)VLԵ@C,'H;y&^ ƀNrj/AVU Dүm7Ua\LQֲq=u KYK&LeơJ9Qoy6e.7z)HYdͭ]78^G׏7L@g(x{0 bf|Ey0n,qCV^]_ԕ\_ *gI*Wf*;ǘ% ljs3D?:ۋ%GecmRL1;uQ!ҋ FaLvƕ,`: я❗%,z-tI}Q̤T[ԕ1M w-x" 6N;("oi?v\H|ĵ&#eǽl.KI;>Bjyeu يTU՘X?VcJΠMp*ĉWfZ 찊g GDWl_!>wҔ$f~|@9m_5Z;%Hv ĢӴy8xB@♗bs6æ(^ɧ7 LHWX( IO]bνX;T_?GH-V}zk }Q5W;U4V@dr;{ +:)o cQ^8 `/_Wh./UR fbFT@S~FU+>;N v19>ز,[( rFO׃/##Sr>+l_W[FL G`?܎,./Gzuv;4IqE:)/yZNt$"gu4mT̒0қ`TPpj8~[nGl!BPS不=mrk +|dQϬ'suذY(k}i`Q}5YI^ ӎy,E eSd֞%ݫ*1k  x+pX @kSΰߑ2UЛh^F;0//ã@zy Q~@pU_ԵŹ1L70<$~wacCڐZtFஃr\>=Gl3=BZ_ؤyytEG1H#T:E EZj%ӄ }Gq]Ʉ))V$QEڰ& J?i8WvZ8w;jqs&#O{޹yLh>Ӑ&s[4.3lpQ1 'nÌ7zT+!<, IKܕL˒ z,,-5 6eo-\m.7W Uq>aL: y(s%фG  !-6Q9BkC.~T% =˔JxKl w: H%> i{-n4]#blCq; I':6]= [dyKCv2 pb*I#րhY_Ďr%ƾI]uD |zF?tL^AY{AT-RO&s5&WB_6ƳDWz=$:m;CG,>ƻ|AN']Z4k&a; 5]BNmxi(9 Y;xH=͓xntzN/ZJT7ќ2;okMgN"{SX[LU_7GI:,x4lcCp&AWW!7yGCT% wqm*Yd[ ="FfT=X;a5tar^ ()" sgG>=>t$l]k2p~f2&/<¨f)Z fx+e<yor G!#8c4un=z05$dMVVuF$Y|wmjFǡ]Db e_3|hjt%l̮2+%]` Rgy*J@'ta "^0[6@&)?{} 2%OL[h" |1 W>J G\;u鑂XWX膙ZJG\<|'Rl^S,$MbP^YġWUi9 f7iØ}ar\}lh`$L<GVbuwf-\ȻÒS ?h~Y0ϦY#89cnFoRA:*NOE'mc=\ihjuQrW`aՊ|zHH z*fZG2S Cyѿtx%wnPE50׬G% K ,T` T Ik2@~ksq)A>>88GE_ /j+^MנNk,!/Nm/-cӾ+4_0:7N*2ie,l)"1$q{pi4DAc}BeEC4RIy},$Jӧ̯5*m#4$jMi{QZ5" w2k'S.o~B\ [ZZEwt _Xy z% Io(b1-N,!sX^MdN~Τ{FC~tvZ3eWƫDj揌^ W%Nyd}vLZB4GNA̫F,kڣ9(s `6@[m)G@f A]JNy0<,#6gEU56q-E$xӡ9 5tyQI_&FB's6^>ן)5P*'&K^gyp^A/{\H M+nf'%VcGզ Fmwf,Klc{gsM"%~zH'[5I;V/9[ n)'f@(YD~HĒq`, S9~ u5AyiNٳ =!K/GN !, Y{fjYdTR+ y;r@gHG%ʛzDAQ@|ZVD(.[l[V*Dv6Ҳ ]LL2_#+|x_w3]>uoGxЙW'bL̴VKu}ǵiޤ/(ߕ$%tA^ }/;2~x>6e  ^]`FȔQ Mm:EsXvc,I΅8M9?B!N p2͋pwK ||dZB=X;_K@//WpIsW"1ڜi=O$Qrvóg^F4d:?aj+Ok+i mԨCRD /@Z^Kܼ'㖟;,o43xoCڎXj+Կ>Q~LW,*ܣ~TEE:۸*,UsC9 cp c_l%AۿY腬Z;FEJ"=پ'%R[l=h ;P1?m2olB\(!)5|tyY`d?Y1̒W \Z3$%[Z/C9WCyTd2_dS%mR[ՏvRr5͐OeTzoE@#\ xj*f2}i7 N5ĎѪ,f]clt{JPly\]C}/pC<ĸ(;šPŠ6ո5-KyM}r(&ҹx,.S&G%.\l{jve #*uth]Էxߩ9m_劁cv>i=yB]X!&0|R+ǽ}Rj}\Xt_#q`'rCe"j___nz`(<2xOOVbYx ,"c#Xm7LJ \AFpr鴍29doU5}Ƙ$O"QtԳqFٯ@b ?+_:bp9iQ "tJ4%T;;x?]!.~k:ѐ:آ0e9XZgi‡Ǣ=p\l G,ɋw|Ef`yX6ܛlpdZn"2믟PoqE@,q-ka 0RRԣacPyrAlAdaaa'ESk/e|$T+ֻ:-q+Y00>xޏԵ$A"YfyrI.Tl+7E94Ac+^!] j1*"L7/f(M㭜[yـÁ*yl? !ݒ)ȉ Qt$uR:ۜ8$'yZ唑_]Z0kmіtIqɿުJ+FCr%-E';d.z_*5H<iʣzY䓪?|j񪮠OбqAexuQ!sX2#6;\ɝ{4Sii\&˪/ande(Y7KwY?Yd;M/w\Uтh,+Rޟg ԏb=`LMqgcȥ04Mp-+Ly2~8coU[Eڅۤ#DZį>ôYn}²Kcu 4a w*Ц~ŵ \/5`~},ƿ 5Ys j;vVԢ; A)ò4.;~Y=e!O0SC#oM`vz/gb؆SgyE+:8o92}I)-a;;6Rvgx(=vD0O@5STV drzC ed_dž Q I|LC` 41#Uh~~ߺ l{>P40[ѰާJ؆2D'F聁pG:L3 =\MQ\;&߾s`b0fCn{tbWhQُX'ed;LH W!v3V[NH{z.L/]zdwc!/r~&KT֥1׾6L/G_!b;g_"#磖<>N󵈻"64^oF&ƎXy날ٿ7(n'ItPK>iqFoj{ E?]|Oaeu.r|3".PoSL G贆̈́}9j-] -g=qW޽$($ߞdCFE"BPuۺlV߲C^RʥqtU^g_%Q:N4zukQ* ߹s<-;K8 Q@nacaȢCGgZ[ĸpaxdr-7~3#_N?> #t_H EГ \&MբfELB]z(Omxz"ʓ&4]ig~DeK-ϬD9|Zg0NL CY!ydoQ=Y{:M\u|X8}m~ G'6YC؉]RF *٣Hs_;-r}G-~ Wd- /NcdIz!Z9qcSZ7mysdi??5NqX_h߯hbl EX3B,k- Iy/Z%ov-UH[Xcg2Y2uaEL3OK؏ OVx'.UO$=;2uڧ@q-6}"ݸD% `JoE ӆA !y,UrѼqX 5oۂQsR{|bt4[#L2?ںHe(G6I-@"fV ̕GߟHܞS`@6Z!4$~\Kh@!~<7R/`TG)520v>ࡲ^ hPTE-g6{zBnU./zj!bLF<66&Ջ"Qؽn3mt?)* yˋcVwfzf5,@.og2i͖K\f|8i-7򪉇V9[߯zmclVUa΍\Ûb ͯ"pf6hL$:vP丂kꃢN_hOP,/҉cwDE]e ,iw.Wu]5o?sr/vp_ u'7bP4}_rC7?y[ٜmnd9HdXŷI#HW{n!UirqWIuD>1:4 k_n1{_3k"9AZ&}е2jc, F\l6_G9iN-9k|ÓӰ+e#9VhR}H슽য়wh 5u̧'A8U>sZu/{$o:#Sc|Ḧ%@,KnLvU=|up78~Ar(j[7v扴CGF1´HDw8u"$sؑҧ5)cIaCSd\]{W|LRuJb7XTɆ¼FjLWW7t0Mip]R9=P_ 6.HW >{M~o+Jhj"^vy7)<) *o[ PK}cNP´l̔1m Io EӶt3 I(dzwY&|N8_.i{Xq)a.m\7&7 !>a0w(72wPL]ddqaJA N_畽z,DZ6H!ɟ>lClV:jtFqLZzR$z~G T)ߑ!/?sg,31̦pgS;x`}z-zLvvg.Ip@~}Xs$$/`w'ϺpU'ߏvmY?%1{`n.c]sg4[G|[ǵJ𯑨LQo'+*ͭƵrӫ19>P&^*+8#Z{QF.*_6XQ=pcD1x_]:k.vӔ/j[.&*qw)R @4ѯ Sd}.k 8H6V}Ǽ`]Ps,mDS>ⷾ#>^;l0d'-A?ˉY <ʏ2/h0!KC҈sgs." .E}V9E4#فapk49^+ H1mP5[m]>,D29xKAƞ6HRnIx \x2]0 6 f@F]YXZ^|CJaǶG'KXh7:Fv^ ֐R\?"w <13,>9r@KwMJ*tafhqroJƖ+$ XN7Rz*}%̗7Ȑ9u<. TߤY钴zƿ_.@źya&g^8"Z r(uZO )Ȣ_cIwde45puC*Քã(f]"C_>qTXxRF=%4,@ndI^!*׭m3d 0$K_}Z>AOx^t2v(TlT< Wq\M?L-{Y\*60kEx d|29ݒO}h ĀN{ !&iBiM) ^ax˦>8~F[)CC}$G}%)+YJ"![7H@JKKpɁ}Ë)&χ,7aj_~)+9dR6C_uf"]/L{1)~i]R,ğ|4+X^] j(yC0^r|)jhڇaA68W@j$W-~ p%HR$ˈߒ:Qp 3: fkiyQ!}mk5*P{[Lŗz 7lqX@zYX!7'*аKg;iq c,|5AG#H:oG( 9 1[_m"4͜I9CIMsiAΎBr~#2kץB!^thje,RaC_9Dia F*ᣍ95V oi퉯P'+K "t]gdo/S\vx*>WyN Hmio&'Z>ö-G_\ BM`lVԋ5"mO"QK?nB\5)\A}N$kTpp3_γx^0#k NWI`~sOd&'FB۳ /Ƭp`ְF~P_7AJ/Wsqs!ijB8yss䃷Pb;UЖFd2ZZ:ZU3EI9+HEl?-Bf'E0!&U`u +?mض~n0 J5yÍjE,66x1e@/% aҝoRU>QFFt_6 Z;fzN tq=✵ZiHR.B!CK ,'Znu'1PWnd)? .tg3  P%&qz,# e09o Q~:1rh;8\ fA b4ܕe;Xu,AD P98fw1Kcz;R__/ZVImUZ I5#y_:w6_(k!3\ =70)̇2+s>9% EE)y3!;AI?772~%O[ׅ&DtX .8RKX$-T{BPpƧY;K-%_KEavٿUmtu[jY?Q\,8:bL5ʚ9.20j)2 zz}O/iAn k5wU=E82Xčq|Hq NSM({z/X7r3P+b/^ۑZ0+]Bn0`ijb,u):92:6sMvzfԞ%&pdž{2,HS\)1;nΝv>1"|F*z[ۧͲ\?L&Rn8ax@:ۛf)b]db7x^1=2tOC"JBUUMjqIټWlbl|*U!=}޺Lp`a7/,+ :q 6'wJ p p$L9kBcͥ8z[FnMJK a=h{/swyhɠywJF 6mWxo 4 $By\罿!5 C=7Ki<Ke-EjmIpm<"06/3Q,)# Иh(h $?$i+0)O6]T{ӑ']B +fZhu?װH ÊrL<;)eDu;, .neaDMv<F hʜ.9i Tu2j(Rؑu"CL0q;~m<0w^ͼ[ nzXw5'fFa-%J }kh'j_ނ OX)vtWYW:I?W+03o?} rO0&,)GzWVHȹC^\NSz?2A>ǃ5KCȴg/ẑK!H›_rE\i'z++׊؀SϯKB {T:RG+s&ܥ S"r(sk/#v֕D6 Y @d;ٛs\yK{Ȍlzwg5^t J~j@|21F0dd ˀ7xW>#c?.R/+g3B{[S^/v}MN8zH("84?W;o&i\4r!0 ʜxo!tqxn)$r#]Ӗ=(/^^:zdQI/΄PXE,*Ư";sx9 x9n8/m<;o-w! U2ViK |џ0*6gTfEv]M.^t$p15vF ] %CY %4\ѤEW(7p[}J겶L^¹E.y n;O΂"OaAAn`٠2fREѺ_. b$g5?\]'sR= @F4UP2PMi .+܉Y 85sp>$`PհOHԊeqmڈ y Gi54xrK:05q-'Los2 Jìa}|B'H5wSj95USG Bܛ[@`,qFoLs/փzEN&ˮZ>OX[Ԃ[[ 4 r_o3ѹ6)XSh45{;R)/MT61K P Sˮ4Yڔ- BZWo/mҴw~nWleDǯ# 8*9D:&rFqP6$o\9}DIN2"ڸ B,i~JBg%YyK١3a+R~z V>!>*ԙ57z O5D;~g+hZMMs=fu kn|(EKZzAoN `eS@w:DۓS8n?/¨>8l7Gx=hMO_Z]nl>-0ύ}SUL|U$fȅIz]gFKMZ/o\ Pnzj*`XAH2|;U^$T1ǁ"=Cel|#_lUyNԗ? =PXo"k5b h$o;Ӯn!n|.d /4˭uxG暷a>Jm$z5 @8#}d6Q{|Wo(: j I0y>j;^DRs$j5;'+i垶 ;>I*+/U F" kG~b pb2:ڴK.SyXsuI/jT^vX3.M@ qD_#o j'*_ _?)NJ3s[.nHo`=ڄ>d +V0~N0o ס^1no.L #' L~@zH4?;|X\ ɚ*T Vxd%Ǻ6;o?*!B;A].roZݫ!R |`Ƕoy$joG]b9Pb1x2і?qн#U]A3Q߶#/i'/  "O!Z)e0].mF4OYSILaO"b~K G,G4Njk#C7Bs!|h*?:f>7P8>jff[dUxͽްyaqt: ?tW#?ɼr7E./BEyͻaė+Q:] AAHUL+x+$Ѫf&Ef W׶Q %2g1d[U)%;m<#zp+^Qv27gASȕOA jXwאOiay86NON_SZO 3 8ˬļ@s7RȳSo N8ߨVRvmTe?tw{]< |-me$'~Ym 3q?o/[IcF}¢7{)Y16[=$7ͼ _)Bxij>&턣eyBYj[U'a%z'|AEtۡlͦua٣xwe_p;YWvNg$ hscZ~ꮦ+姐s7~lrhK!E\J ]Ƈ&,(8], PNuُ¿ muBG/{#i즯o{Z&/]oyyTJpd!EK -peJX1D noa=cr]1 cΧ7ZUvc4|+}\ܡP>~_"{JL[#iG-׿7RCQ׍RB{)#%C?›*f7ު&Xqwg\Cti+HtF35s;{\v~ XlZ60%K5 hc^R8Ctk鱈nE hZ}\7_'6VGm3eč3LnlJ=yTԭfKC> qdJޭn!Lt vGDYM&t^W.FjqEe&V$} 8^\i^=Z'ߗ~u Ȧ~UFܺ?*9zQ2$?R5SH,kZz[ʽ95^ٵ:1,/z TM쩍?Lz1>{$Ɛ]k-4'ٗ)Y={9?S 몈nw]B=ަX8dgџM](e񦼤'&ÓGRۃp}R],jil.LVp.jjr&V }Wz%C>=#>olPySZlzΙjb1]x9"2ȄEVLߠQ#ޱr ׼N5XNg$ 6$^:?-"tx3.s]#M톃2%xN\.?(,g 7 bpb:w_6]Y:Bv;aoTe$F.`Ā2)#IT:|%󷫯(`FNPِQz_nM`~A7vL*3LA+ 5+:>g~p\2yI"ƽ?VfMh7p! _(ҙtp"*ulя:CtU/8z7XZA!?wfG"Ce\Zh:fY#Q4Y!ʹ `YsDT @ ǜ[S=gBl.;L죪ɸq8yG3:暵*@3BEN֪gwL_]k/'>%UY/: U۹w~t#vH! /=G`AI@uN𢡄pƼpOgRW ^D=kd~'Lѭ]K_xeKYpW=W/oA&h8--~6G.쿝 xRsf' nL"p!4p^ZX̉HVnv|yVOqW&ؕz(.,4yHξo qwׂEZ2¸{.>7/1f9ڗVTG}oM:Dla8*^4wox~ׁ3ZRBemɴ &y93,%P)kPG zwڈ'= 6R^_M ~d}:OFW"`$s@ia!~Rdfx V4xӭ 3#*HXf0OQҕՂڏ]* Qm>#"G8e%Bai?>S"QC{ c +}a#!Ϟ$:7OB–><^DByшӜٌ,g4w&Z6g0&˺VumMԱjoP|8Bu/@Kw Nwo'cX^ɬ=*F@9q_%YP( }·#yu)d*>KYe7'\󞁒,ՑANė'$Q>!B~,2 zA.7)D)$tP&z2ż+畽m.D+ l /Ur}WW قE##<kaԏ4)|lnb ~Y5oDSk|ɢ|nmxgPyN!dr2*s}Ne݂tH@)#ͫ 9, Э@6op43gTC;6cbz7!saL g#J +l:%@^v;(I{aS8">ƟF>K 1~ QMdzuH{[tF:b f'S̿~)}MCS߯'=JԶAöFomjLHp8KF5uwpjtUssۨL0/$$dߏ5[ayߵIK}%Ufi >IqKU"CJ{_]jSuDL/v%X-TOU&`fϪ*Q5^\ӗ3kT#1íOQm_KE/jx1]A~si|歉0妏h"e}aASΓ\[~23ͦx. fn2H r^iCX~ckI2ɚ^•]T{H(z1oW#ONPWK!^`QɥtD$Hb Cz?BzGBgO0[f@8ԗ}p{9"#!`LU0B1 WX/j$q&kc_"$:a2%+O>Vw]/AvzASı]]ו+lN  \$R6Z%ud '"%Irb"+7+9s9deSep&Wmh=©ÁHLٮO\ZW'"Ax<7e nnb-v"?K=A^jdy0cf9edH'j_G݂7Ytk{tYf&nvch ֋!ߧ!帳)4mayCᐂNDpɛO>Gyw -40n94 Dp9u;ge(՟/GDr|2unȆSC_Sn;54/-.bLۭG&fӰpO</qŊFLEIʚ45ΗA;k('o)J"fb̨0Лn 7Sb7 w$K+HL?1. {f!vda<B~Y`dDHc?9!f@BpDoSI0CT#Y+& nj 0 }ur\VR&=Vx+7hD(K  hý%3pvT%hkkq Vh#}쿍#cOQp0Ϋ|7Sd=G3Wk2vZU `:NMQ<)IxC\]`m\XБ%|_rߨxsb}5Z=2[{F3.б(sǭeTf̓Ư.pvOi3"/D+ .5E4%g>LX >tw:R>$v_/$3"~׏Y|e?5Qbz3 ISV~ ˑ?Jj%GC@3 }*Y ף8 _z;Jny"IV T*B/ZzOOnyq*a҇t Fẃ{JCj0f3oƭvTJV1Ilq82xi֞aV Xy }x ;o*1*5[=YiluS^+ )rJԺtCQ(y$GSDkai[[/A=QLp^ULZgz&MpUZ젖u|ElmaB4T|}"I/6V/kSiН5?#4/\iLta斊Ky/sYo0PHNApl'.);E=*-ǖf9\[Ь4$ #:iUMݥpO̔C SH["l0Kwp@E4\griN+_Ov1Ro6S3˧_N'ԴqO<zHL:d_Pyf8 |4hWpʶq[69+ nc)0&C8]?h.EeAjtDjJ(Q&f\'^ ?J#|d17"W!fD:h)87! &%PwxbXwO0.6yV?\avB63/#W7'"J[ϼŸ*|hsl/6B7 P+/j͇'G3ZC9=C]-A,R wc;p[*D,&9 !2&!IFnj|*IXX[ݫVz,QLĴ{פ .<e$POY;Ɇm.Qȉ>sG./,85.L<_/Ŏe1{L 1e(IbeQG%&_)UU9UYG2EG BM<\ sj 'YD;FFO`ѝZe}Mg05Cx%ofZ LjʳUcej˘_K"EQ_4-˿.= +xjD‚O+ﳔl%&_9 5wEbr&LRAem;w4s} eo#VUpb ,>hJE[m+͝WpW1hHWe=+w{L%ݗy܈>[ ^St>j)R3 ;ô1ރbv[pjv'h%Xi)T$`WC&At[t׺EGg&EWa0f8ӗ~\䜽Ed9%L<Ŵ[/Y7[-|<(O O'Aߗ֋nfQC_ l}"?Rjbb+vkL ȡ7f+F>VwEqug1 [ ]ݺ&OF;ʄ<,<|,E?.uڵ5y %U>%@Ad1=Wy7/ yFwcBgkI4!_SG%܉m}Vr1,b+ÍsR~Sd?6r/ .&3AS?n8-h~l_snJzbCyGI =Dߐ?';22k$Ѣ%̘TAVI#מKŚ`R鹐"8/oltI2E} ȉW9gLܤ_^DcprJJ00ʟ0S (hiGN0FG;|r٣?o71 dh<<CTbI'%u9V뛏F`C]YH¯$cj,{)QLwCfG|;>w\Ëm#uRQv#,.1+>2FRVGg崘b} . ߺUj3HeŬQx-wJ] `H(e×!{x.yPĒ)x`~eܼ0}|')MA +/FaQ;Cb*E:n-S]~7` )q-f*+pҟmBϊqKF̮S))?^1ffֿ5Ixvc)r4rpK|%$`T0,W!NdPҳ׼z"oY'W5)êt6y/>' dun-Bh jn2"SlhXQb帶0].[T)7zQWbi2-([_ lAd/K͡z|[<mhlo>$]8ƧxPa%ac qƿgnn>ŝU , n]Pl]-? IuaNM˥ԴqNdQȏ>/ǾC( 'gIWqؓSco;8G6$/0M"4&NXv: ZzX;uHB~9~8?=-(]tH*!^uwX=LmTL{_T==h*>zaj {WAg T(ŀ]M{.a~Y',oFw>t񺾩!Ίl6,%=%qnߔSD_Pe}']Iӕ8\uǤ.BVvlsq_CJq< !qLYZ SNϿ#OFU;ܚFVb97?-3@#b9gAO'_U cA/X-e@΋쳊Pm#g^)Y}sلcQv,DE_:ݾF@B9GP?;Ɩݕ)(2f=03Wy¼)K tC}:E0[]{*ߖ,Eb{}v 6qlZ@ϣĮd>alVW*$[NaWVQFRiM "w5D>u w@J1Nw!l?;8qs5ʤ""?M lHV`t7ejו9҇"a9AS[Ռdϒ7ƒ~ f$C"g 9ރ 83~ݡEhㄍ[K1{Zb$fo{1v D}vorٻ>R"nQ\ d +۩,H(FÔłs ]Ziu;y;"@VHH22=ƥ+qa ,ؘc~hoaW: jWa4JfOiHQw_ |\z^S__͙fz儤ї2=K%e/ϸn1o*똹@Wk\_1ێ po1_D{{kRgӾRe$O$c)|m wϺAB+ͫH]+Xx HErPq0P_gf$x9 k05*vd%@bhuJ9UX s83A:LV/g򨤆ffƊcVў,9g#F:~fse#W{6S>ec4g*y\AGmo쉜ɭ>Nq%o KV'`ȉleԣ E?T%bnAJ7b-ƵJNFy0E'N\rrs! 9GM%GX0>Rr0M#6 ^2z\l*B+^Y)]7cؿ+O2r3=~ot_Cp:f^8qiHH զVR;S͏np')~R\jP?lJd _90q%MU( -| ( æ?5i캘1`dϓK=R]G[^Cٿ, omKEhG-5\ vS)o6<]Έ㘌@6l1P5ɍUNSgPLl?/(MFƄq-aW@{`*rpb)ڧD4޵!<}4aup[9AfPҥ6i|7lԚOd赼M42ҽWu֎Ge ^x똂π|ĠoF`_C<>sY(szf=/\nN1vkfky"i*Ph{}/"1@%>IKTe\ [괡,)؎&{sbF΅`L+$r҅ 0hC\s3B#DMЇ1nBÇx}c4CUv-jz˂]ҊNy3MUVjv8d{cUR&RY_C#o|Rlcf(Gt@l Ӹ7 K)gJM|JKp GV/+ٜ{e;b#zbK;A;Ώ+Ug֧ǘ+ɳsٟi_K?>ƒ΃?:7)^kPun>.O2+>4˒'Q.y\t㐯e8[;m3f.wM9]+g6?*_S<+B- ,!Ɔ|C ^ yh%uD[E?1 GjOǯF <<@ԮRWi*(6Ie|$9r)u`Ƣ#º4 sZә$J;ko aR}c XQl-'K#Vt #^lҔr ѥJ/.Gl(Q[^/T©}yT{rd}}@lX껹ꊣbF9+_83Ed]yr+RyDۧr zhxǎ\tzmMy4cH+Vdʴ7zNg%+|p枸idpbkD]~g3 oH"S[xU,$`8#95:lGE/ w)Pd3f kMK2Ȅ F,AGQS>2$Fm5Y[/]˸xPR>`<۴]]n%|4~-јI݇FToy{~q]hkʱцΑ RHcE.t͠Bf{s~B6y5y C=r~ 0\_ ۙ|~чfr % cWU$M(o̟x[O=y̫P-ctӑ<9S= T6됻hI9\əun$|*B7Ayɬў x *"\rq~{1_UcyP'RN?wS8aּU ߒ싉 _@? Dǘ 9˜<)He5ͨ vە`,i[G!=IwbUK򏸮C (R__qmZϲLY򃣑D8uﺷ~l"#3yzL8`;smxM9P088s'UAJ>BN$n69TJ;*PZEH-%Ѓ3k0ܮeuπq@~ *볌mw>}?;@VcިsX?Ul6y=7BY5f)C+\EȌgn3O%;RVo]̧}LDb#y[/M1juHW `Zxz.žRU}['@;v*^2W}CV}:16F5!UqIHŲݽ}vDo,}B5:{yޟ5ÂO9y홆}[nI{N+_TNH$=BZ̿J}Klw(yhV},w+՛|̩c]+*[JnRdEv>G jU {Giy`жR^Akn_(u^-AGs*a0Ft1{CLK`t %ֿd燎A(G^. O+Ɩ ܒUrPf D09t+0Hׇ'"?dn#+O9iG]IhE&G).iDrJĀ⒫$\$h?@#n?>Wz>zqA5,ݱߋ׵ iPuNż3/$f}v ʘ%J5uq5dcp?̚/_&Wp5Y@*fnFy':[2 7,›J=D4C w}?D@XeO֍;*/\9/Fg~٩J5AP{E(:`|wNȁ2dކѨاWI"k2$.6+ߐ3|%A$KO:]MXe4b:BOyQ}Np"7S"K^5LSKe)BʿDD7YdG6/W^8 H%<bJ5O@=ud]j;F?gHTv`U|p儠Ti"¨GC-LJ((cԹ;Wm^jITiف)zjp NVq K=aMQl߁lMJC~\cɩLDj^U^SCNQp"z\ڦX%lTH8ҮH!"DI1B^נ4V!z%x U] kuiupx4>]Nz4dhd`< >k{/o+*ZWk)$o#y2d;2{CLY U֐l ڄQO᎑]&&{$p8#8_OJ- I[3o㶙,Xyr2x|594?[<>c)] d //pqhέHFUW?|  Ab,+5}W R)`HqsF0*ΫI#lI!P֥R"9)<˗gv'OTx G\ }?1݉XѹwUj.,boYhԒ!0 Y{ʒIbt9`|waJ5R<4w|p_ H6# j:Q^YEm{9=^O$ҶRin^*.Csu/1-I}Ջ9ŲJ9`葱G֖'[Pȯ0])l}׊ƋvF4֝&-8GK}$ͻkː>@l9CU"o}|-դϙ) 6s8{`"!.?q61:UUf]~dNKpPb@]Shf (},-שIOWn=H=#9Lw$g|7S^T jh&;%5σGރʋ(9aߵ׫%i",zqL5JJww j[J@Wf<1q9H(jv*@g߽S{UkbߑY+Iy'^TuJUx{axyeI S;ߪBemSsb-UG-q>cOJߏ vpw_mB. 58Gg &^cxsy<˦k'puG=0YbR*]HϜ! w??kdK1 ^_N*%(*#9nZX[$aIE*UuA}xt5WBE)䃙]N8zA%+-υ% {H(OJ;'ЍY6PN bZs4MB9e^`\zxj%,/^IJ:J[DK8^HqsDW?ԁct# ݢR*'o>ަ2T W&@Ul, -,E !2s @~kÕ{q=DV뒟cnrF^RO8+{^&aj=q'ga%/ྲྀk7`='|2W#Njz2 II6Rq|VڶA>>,_/T|yZ lO(HG#/h)WLaU{Yj7x0v^EviW  wK6l Z&GFhN%^G_~/e9x]Z3 Kz:K%(;n*X؍}N*_!SvɰM]2:`W[G(T ]^;@$ED|Z _Ywn坤 m"R,{4_w@r4j.5)\&LG> Xo01|hJHPt/Cmm%e V!RCmeP$ WP#r]ŒTݯyձw}:Tز%bCIHEfEAH)"!N(}`Zfu} ~kX#Yf/E}=1)n +svr m.:Tz@<^zƋ ل(6dNB씟;ynL(8UNz<Զ /Ժ6 ¿cќĵЉq>#POĎh& ϰtG6jSG[2',^wè1Yv|aR*̲;Kc~tJrtck?x!>`֝+]a dPAcZ |D!ee ^! o$=ǯ4`qSiSGK+X`R;ie sl1^gYEǫ@;!@s2`=jl̰LJqDJdsԢ\܄5S*_+3 Pq q3TrjEA$}+s[ұњfh*퀮Fɲ#LT Da4 n2qRh~\˒s k\DzP`B/@}aZΎ\y-̭{o(l唭ubq(ystrLs÷%4RL2x%q#B}uv_C+SsgRv%(hُ*8ޢ0e1cZGVɯ^{=G?G۸( :F66X>@q!|vdu}/B(ύhZx9 ?x0֏0'C`ց80m ]yB~vt7g[pXOV'f;"6p[ P8.v$Zi:?Ĕ\Lf =C|a;QЩXNHk!{S/J\r$ž okbyK\z~~bq `UkU7(tV01oKJdv5L+rJ^<L]GᐼWA@ "@^wy/rT(ڹܢbxbfҫ|NsuMm>ƒ0vzf(Ujz^sƱMR Hj{mEHs 0-CD42XK,iQ ^r~^|o҂:6gO+y) t٫jH K&/In|Z"u}1xM0RŠd+LP Ki(>Fދcl}Aߤr|[Mm=I]c7q?tTND?xp-a-(ۚ`@+oF@(eJV; frs]~ eHqFpvMq@SpxO*fg NMmAZ ͥfT`ƥOKU %٢wA~Ə;D@2b|:BDn|} ⤤s?ch0RgJ]B#PHAr-&˹|n ɣ$v|lO,nO*9\`GF5Z4ɗcP`ï qxbi$jGonP@$R[e,k0pTYa'WUq: D'["7=ux+D}x:$мn,3Ei *nwi%m`rPwڍ%Y+XQXV 0gGYIIcF^lEfɵIqn(V!3T 3dc=m ݩr7O1'" 'BУl HzVũ*gǨf_XcjM~BkĦӥK{duXr 9D_6{(QFXfK8,i ,|-+J%^E2ۥe)ψ&v/٨iSo!uX[lˍ>qr^΁5^..uqlQmfGmߒ,yvu[5M9zyMtHֈN>kY&"~.U[]6ŊpЀd|ױp+0#M]6 _܎3;>H:/+bbu]` *Fp-K⊞7vgcYs7"}?X8edtz/冏E0%шuT<"^oop6܃Ji]QEpf+]\}1=.7C:^ h)y~_K8ydq/v7Jq8rCs5D!~$¯56Bc,_?ž͑ lE@peq_cIa@I_ #q _dGėƻ6Xɒ6 2J"?CIT8t/l`]J6heu,?|< =TFQv y{˙,ǀ4X$I+J,.;}b "@A~VSCR 9AߡwYA\ˮ/ Nv:[Dʓ={ә|EI*!)3{jT>&L`7KMT5\u#r1Fg?[LHԠ&5mF[ua[f%6F}'K~oӺK9'WE $49z4Ƈ´d)B ^Mlmv-` Q\4퀡P{ܡ5URV_2`"r፳ cj#/hy5aE2)!m:T&zT:5YÿS:˹̜!_!jXVcvn6R[0g;yR-g~;;WS!cnirqߗ]2ŵ7TzWDMk:p N]6IM5uS G ݑZ',3ܕ8Ƕk Fm+=>k]Zf7jg 81jQ-J:§ju-\>?y]O!fMI&Erix~t6DV&Z "ۄ8̒uAd"h72EEeWۏK΢;ֳ6JUa Y?eB/z8cklH]A RFk[& j;tV\.2>{BܺG]D\,D<7nGrʧ ;?" "&ƹ[ lU=zVZ41 3QGF /?Ds u8wIHoO0 X'%/ qg縦兕H6"UƄӰ%U+pҝ"̠q)4Rp Xv'*2u :uA6ePZ8d.%oaP|2<} 7c'\D}t4+f:.pܴ}Q]x?_x1wOLQZ"OSX5Ctx@?ьg~ |:B?l#$g4'I~Ph)~S\ۘ𸌠%”eFE.>5u4l =BBeG8g;j D!NA4ኘƢ(&ݠ\4hF3X$d R+8_s&ӱ~z#(N {a./\ 2Xu_^"}~gpk8N<٘24FeGOVR*k3l~~)2Lj8{vr۲5`w)Hnn9/ʉ&r(5WlПkj2nV,CDUңdj 3PggЪ82yw(PSr{4u_;zͳ䬕7B+˸-J-v˵GtbǠI8Rg@e%uiɸw_J•fWo9#ljwy79m[,pmF%v5j/YoB[>0N>5gaIƜmW%(, kLcN!h'S~/{[8E^&Ri{uc5 ǨP:+ h qRǨ_Q$=5ڢxA7)̅~+q ?5CC>٧7梬{15X楚腣Xxn+sl3>yݪ8Õ(K6f6 " .6BJ;7Qsr~*AwU`@ִ@;1oj2IҌB3CO2 [~V`,G=~,*wߵ'Xo/ ӹN M]:EK!E:E.(?|M70__=U'Ò'e\ D9y'Xv0n"V"H(>3K%΋-(I(V` Up + ?I}JBH~h;ڤR ] >+3H K P0TvFNUl*Xφ׌Y>pNa3 ]rTy~N%_VQ1 ̐ ?W|*: Y'ЌVO5]Y_)PW|{#bAQ-VnT(=J3eOYw:Z%byƩy͆Z;NoӍ2sz.E$Q2fgտEG|TT 5ȰSMjkg\)A\m~ "dmIPۯc2;98s_f<p-lٕהv~!уo˸jf֠6ûX(a}VamM+O .gI ײVyZe#7Hliq#Tg+xGb;QkGGOcXhu tYꥨIP bww!T5 룺`I*ކ1z2KےRZ53TZ kf#[Q 7'a3Sy O i5[-:D!#V&zY*ڬzcɥQm>`fr |O=Ľ`3K8M! d+vUOǦKԏO6s+#lzH ^As3bmRJ`? sd ֡b.JJ,jayrC3dVi Y|a8 .XVT*мxaGYO@hkUhK[x^{q]ugIbbpo:!: CnkFj@@ PY)5[zx!E$G|? Wp6*;B(ŀGGCm9F8"!)\uM=4 ""' ˖ʢKs8u38coK=B?>'={0E\0C: :@ JKET#:݇zqeRi'aO<}Qk[ sm)i 2B.OAMqlYp;/^4??I&к:E,Yg uU`nk*?Ps&S;5mIx@xOHk^rh#&[q<T*GYT*QDɧ_OY_eQyCG苫5qxsTq=5‹!!1N?CzTWQc0NM0S5 4b\1iÚc<+mv_jAﷴ-4/p*ʓpe硘z0E9(\m%j%eh{TtWC\9,_[eXCcTi i?jւb6Be%~̥h9oǖ7+{ _J7f3@g qB~vw_ 3Oה'0:q&yywR栢i>(7^T84*Ĝee~ꭲ"< aiɄIC "drC?fo}Bƈt|;TNm }ZhaELa7o&k'KV0|t5)42MSR*4FSPF4c,Aꧨ~ !U1O^>Gy(Nw{cP0ú0JM )P%dE1BV@2冀2;ލ9#]ͧ=g3(pA>Hث'EݾЂ=`E NTG$g}55 &ßS(3"kf,obyB2Q&̐.^vn2Vp=:O]b  r _%Hm+mG:g^i> A}qk;9 9z}7o{dO=\Q⠎[hNhzqO(ݘ?*vp+4W #2B[5p;ڋ[?` T+1\;ƵtW)GyO fp>OǢ魌vN[z\)i3$1A(kyj1hB"lP7Y߶rԖђEC5)&bQ?14f"Z \IJ@g|\~oc8(k( Z'y'VgZSom|E+ʙ>3O"u#+n%5yD> Dgҏ RÜz|Y1CSl8K$Tqey=8,"w ~CF`ӴJkE¬1n|>7an !6\M*BۮvV Ap wAFkAyRB"۹͛RSe*6TΚh5+z*y( 8YFQ*G 𲃷 :v1h w|>>Şsw2oK\T,ܧ܇h̶^9{hĪY' iNnmCf#}4@Q3 OuW<iϯI2RChݰn t[QFͪgB"{/esIDŽ'qHm 1A0  Qiz'\T:&W+*oT*_Z{6݃+Ck߇>GPG0B6F^ר8] `YVOj['Bp_;—3*N #dmHFvF降\k|lw%!^+f%ZEV8 LVkNB+ǀc#$s#4D7{Q|YR_KPHRScj6~E2ZZXQĞիJB\; Ɋy]Qε7˞nBxTxefzdZ>,[ \X`׫P"6/ lz}/2%$G٪})SmKؠOr%K'L}:<ɐj]>|{el8Ůt[Zԥ@g$" %%hOIwzh`rGt4-ȵj 5qp< LQZ ZSəY^ndYkF8qܙo, &bw)մNw_cOM`;=gy,RQyaT/5hgA?W<=8䷻חjwǒWQzd R oØap~7OX>:>֋d[%i,֕{1MLqL~NA:\Y@i Yp͝1u'P 3Ѯ;(mZ.֊~ICx"NV*쁃ɍ.6'<@oA1 .޴KWb(ѹƞwtQvhʫ> wsfl6ckF.4JWc5qGcM1jJh9fxDKD |qm`o]l=#Eoh^:B%hƸ>VQϕH*<)GK@x?_+8GbpTg6:NU;G=.wtƍJByX_GDV@#aHDFa`zpiY-6 c8hn!iBx~ \wpTUD>B@:c$h~rzL< ( ߄$@ðo FH(׿>3.vhf,;8>7?r[h~ nohcvP5i4toL.y=;TDvC8f9azGKW2E+Jn c^SAG֡;-OyM@7&CT;p cđOH%mXw=_ kT'Ү}(מAY!˲jnT'5k+fz;ҟa|b8qQziYT^Qaz5+LNdAGƒF0Aib>ǪZUHE+ELgRq53[K dvGUE7+vNď^TrGQoM"|R͕[  {MBtÙT j^e;_bxD ATNzK^4J덍Q@=?T7}j_34/V kj4d#99*Q^K0FsԂMl*WaS-KdP*4sS /0(E͝gX=M^M`BMD"q$88ESAU9!ȀglE=N{'7X~^) Ӏt]wM޾!3UdDy^I6BLM@r- Ad8%?'yZf*7/A е'Z3;4m׶uU]O~n:;֬2"t?ϻo~)74[Û[ ʔ imOc[Cjj-ڔE'fOi_`KUAA'w7 #ZF% ~*KMMaAD(Y6<*%doXa!S$2".~$܊cMULj'qfX4C[K|66ԀhZb?hse';-@klZۢ0}soa׬n'D+k@ =ج/A`4qH^AQ\tK,}s6oyV!'%_Y7ahtD>h9WͿl$GGNE=dSf3.o*!ǦjF¬ k|rt_˙WeXʺ`kWGQ޲OXܹ }3{fɁ](-bR3gZ Q(ʭUXc:Ӟ'*UO / yׁIޱQ <-ʌHk)8{~C_ pP&~ٿeBD w\;R q$K@W'oWC'‡' l=D7.8he)b=Y @\}̊uLwRVPf}N76 ۸Pёrw ~7c 1:d I)7͊Uh0:8k% OU4jqyp$Fw=zt(詍{̈ @o9&._of>%15d[J9Kx%1j0 QG3\'rߓNgR1C{DA s#^5dWZn^פPn-{PkЩ> _5z2t2[Ӏ2BSʙH>\eΈSGG1͔kC ʁf|m> (`n(J(M{vf, ~geOd,:B/[ pP1n@\!PC/>LjnxnTi(7Aƪ)PőF ]BJ''nķ%ȱ[^Md6YGS|;ߡ>|xڭAW^1>X*ç.z֡7`{9 qF֢%{csv0ƴD\)s~%?CCaÜ:G5D i{%, 㩶cR_# HGG*yo6;1.iDDRZnf+MzQzi!q! EE΄a!# -mlpŌQϙ!V/Ẅ́7ʎ|Yςmu S`ׂ])jx|]?!UcāM+yHh%q췾9cVLoꖸ2_;nIPՕQ]E8c6/c?ot ׀'푳UѢGAf_zD8&@  /r/~i(W.h=! ׎@uW)Dd:}d3ۂR]"oO+hAő:MӃդ|=wR eDpK6kJͿ5 -Ňx64S $Ap}v27.,'E] ?..yOpusnwWId"lZ_"vTyhBGWn:@4Y#2(x44jT;F5[o넍6黄ٳfuR\yfѶM-`<[jX۝}|)ͤx[ *:+1 _S0(}M;ѫڙ.?͖Q{Ei+u0qt4 mJ}mo.Y>3}dkP9l[yyv+Q U.6avq~zAmۏe t;Vb(:+ Ξ[{F_w<^ev+B[%׷fɣcmBIWp EgcbPA"x"1aLHu)ih:O,d>?M$D.~H18$_>˺N1Hd1E[fh16|{\+7:&΂Us&H_Ie;RY_,ǽv[& b/MwÆnQ4*wX^3[ڬng >=e8 `'HohdԴ*H-kTUz_ .ܺEoՐ͸1ub@b?qIR4~,OM'z5OG#"1yt;fN #9q@@ 2mi8cˑ4F1⧆pAL*Fq2GbGJXNVVz$K kMT(P ~Hj 4oA\L'\'l-E|jPz72dJWCcCڎ!s~&WXCp7B& |z%맛Q09ӌݑPս7gP vfA`E02=œ!CK0^zn;PP$|bP!5W5%*j]"uq27'd@y6N|5ifD* Z֔q:zOKTU;4XWZؒeyǙbo@ D ?)9w,nE)S[^ @ cڿY߬# cg 1[^T(K\엶 ́rHr4$Pצko<:e aQ\t x<.x)3^hG`\`5%_TN{BU3.s2duiPuߩ `R*a vbp2:E ތiq3ʯ؃EM&Y9kP>@ɴ#y,9PUس XsƤM0/׭ewKGR4 dYҗMfղC,tzXss~՗Fc̺S)s HC5zc j!rs ~a)DcҠιm@rYf|Ρw{pӈ@Yv*8hz*:TEDF5|jZ$>hJap壢^KMAABnwu2ߙh2DŽz;$ U I#'\96Baw9ġvrZ= [BmY #[>j;#y4 `.LloutѢiF$gYLO}kn[#yU .Ű6ͪ%5R}yVuJ}^@?'o8q(L0|M䲛T B+G)ۍf7d!Kc\kNrC.o$w+yOZ"!a9c[ ɀQ2C*]A$-Kv`sX(0}`o!ߑj?oЖ/jPhɆVqY`=df۵w$ 4Gߠ5/9A{z\M4;"R='=:dG<00G~ A֚K>.-"!=?ǝMCmsá/M +AV,[NA /7c! ՙ}yqԐ- hfS_7@PcbD") ~_ʤѿtpyQ*6 p]U=y1C0k3n5B_Ra+X[OOPbX1Cd^,sHAoѥz὆H^&'' JLj"jt 3r-JTN2B,}4?}B ߜʑl,7>㵇߂a99SE-TLZL_&GI>63$wyWd]|ˮwgXM^LURu+F+Ml?5TG$?CVz9+C֟`(_C83OU_MV_LjP`3''M_P8(Ѳ 7 'ԼscbmJdp~Mtlq$/6qT FI?G2%=T,zTiz휙fH? &K*3Yƭء|j֝- C*pVwʿ(vO$T[.: fJ:4®go3C)cbhNSBe)q})7iªv8󷁸r,$W2]wy 1k?ȉkkM'M8/(eKvCs%6`zUTy^ cY<`fx*XC;xe {[؞S (-j+2 "i/yYgIư] JȷUsɾFbnc/Uc=LE~e9yɡ>idim^$Ӵ!b vz֔?$\.W!ozoڪlIE*Pጃ#b!S;n9.ä&}eǮ.#HّpW#T#SUYby.U(`u Ix¬pxhƽ0f ,>g"œ)( IL Oz0y'|~0&ZST,̄%6R^;i2Ovd(~5rG!f._go3# s2N08<;y8<]y-$Ұ̄"]ӭVY JyL)il;7 vIPzf[INCKc_C" 蒥OȰ Ǧ{lA7>Vm)+a?RYK PPGQ\q@N/ԇP`&i?7%@= I~bÄK2G,7tѻ0rɛOv2 )xuW%)pġ_z=HW_wIH=!J橨@F C *C.Ej`="x=֢ 9(UMk*<K\'@:XS2-[A\Kю_}|tfE_xC*jZa9aGM"ՃEW&~n5@6rvφ 9Q8^=r̿| \ a=+_,qnytKT! QF}^{Z\~2SB $J1K˳엞i6_n@4OM=(bܗ?eg[^-ҿcv!7&ђW(cv]Oazp +m;>ʐ"R:ĮD7-璴^:J,mz F_ Ĩ>DeI6VC{G-7Gȝr{m[*jɮ 9ckfiQ\ :3j|j ZVJ܃hZ]WA)wTZYh`(ĭ06'*)lB!` w8y$RHt $@3fX?p'+ǶuJhb/)SJ/E[O_~_T-iݯ նD'VcF-FVJ2f@=ϐ`ȇns16jğaI{?|Ff1 _])[L>V_;) G,ς r*K$D[v].uzDI}Ej?ъuIjo.DqRϿ6@vP6v'C Cd}%)%[IK|SMʗW6`BS.lHH=YP Xcgh K2Q"<!^і k%o$%9)D<^PHݢ7fâj: zSͣ2uL,λi=#Cvjo=e<ػ{k"Fބcp ue FD0HEI{.o3@(]JO`kq%&c`&sx4@LZV8ky%zp PxM/ཞjZdàsn'f`0Bf;*ez.M{VoJ+/t8D|TPa`Q쿇8T:*eǁs{ ž^KI>&Di?#(Nw{-pjs;şp'F0MpcQSSɓ1;Y]k#8C5ש:&(,['춾n; /D_y=p%E̲|c&ia@;AS4{onx_gHw Z 7V8~KaL8v s0\d;M"m"Yy X!PlRDGȷ >5T(RL70|j-C-ѣL Z3mH6pc@T,FlND+N_ ѵ"/Nljp#x˴,,4F/ wײowɝ?}fsϱGg!ݴ>KgsZwhpAΰJ vA|P;y 4bcY SH^>[pzZqsĕ[T:ہ7Iڮ0;M^Fzͪ |K˪Bs%ru$^ IXt5TALo]y;DYb))]נuxsfDtbs򇢺QA8?i}((epy#m8~ d[7MYj7j^;w`^:Tԛo%|yN|1'.`bqAZ(Iy_;; 8 a?&أfeE=@C3I~ .Q~a"w_#߾tGN(&ṽ [ Jnە%<_sG4$H7$G?9?Е5ܒ;^0$CX $psS&7D Iwֆ&Iq;H'UE֥THLD @rj"C#ߝҾ2Khg(ܺ`$g˨2=~ǡU~󠥰~ >NQHцIVRplՊVM}bɑŌu ?6ヌ-3"M&! w̼}@[P4> ]6HR 1Dlp' wTv:&pgQ1KȬKq] cE `s߹t2e{ķh*{dxhyr34IP^U~S4veN(ӀoړVn4Ə=X!{H|W1^ز(dQAlnmI:W:RDvAoNNы՗ϚkX]No<ޮ䉅cq6ǒ3^l&!?K$Gp(Jc:|wf'A(cѐG O_1HIdookCZ"Ҕ!`v!g_.5-o&!meJ?޾շkˋcf+ɕ+QASPcʓ+#cnzʥ|>x!^m:yMtDWH"^4sMed*!~ؖ.Ԟmx7=RWp5{l2>줙 OQ:aR,XN׳8&YvO oQ*f!Y'_܇yWfd|[D$C7ݻ{,iAEfOڿ4쟭>B*.uc_SDUN2i߰y~!n^{.mlRd  vn)b)AIJL\_j~Jq$w~Dl7n-s;}eEeIկiS &9.֏VQ9 v@~o%veEo-rLLU^Q(q}r?&@*|:Gc߱Tw}=HdgW= R"w)_񹚧JsUM?=>IqHa{P'_|o:TgrH[asό@Lw_ϯ?4QVRm 24bgX.0frC A qg_`_2Zcن cָݺ@' jd_Bs"}smwT4gwao^)(oqbL*/yǙ]vlG8]΄ ٽ>A4q:~lV{d߃!,V/V{go[CL9 ֨Gkhޚo wmW7/}>-z TTé븳ʂp$xSc?H PĨC3甲# {F"˔R[+_0@йr\P^*f0o1mg<(m&t +וֹ`OϘ:*↏f)?E]%1Eugyb3SC>|[חa|s8n.8#kP#$z$uFc# f^X/j"5?m+ &gАL9=}걠4ڦ٣ 'CLRo5 Mtv1s"`ZwsY|ຂ[B טS{ƁՒQg4WIctMomhWeaY o. ٺmML/1RXdi:©} c(YQQ{/e?RE%ۡivjEwxN Ssf`]V΂Ј&K#47J@Jh:$Vys͒:Y ~s^q2.?K"NJZ|gFi2;7LN"FKN-8O-E"ft@J?Bܐڲ @,w_}䩿i`Ŀ gUǏ 8Sm״\TT|'W ?waȊ$[So;Zqc<"ye7ϕs>`WFKE YU˩U9FԢL{ T軌u\cvWQgMiZsbz1H/ݧ++{eFQ9o0D>6qm|8ANbP4KXZ<,KEۄg:)~|(8 {>6'x`j@߳0ܨ)Bl`Hfez3YAEܣU|(zC hχ7ͩy[<"SNLao89F{Ir;`wS2Z" Mw(x0%ӐA8ˊ.b^Sjn2JOwsߥm'h9Ĝ-QY`x f9U)18MOME!ﮱr0Gْ Ե@ _qadpH]Qբ ][(o9.\v[ɲk/;JV(]cm0kq/un^%Z!`>LmG_C>~kXv0sHg㾘]$P3*._ /:yc =K X(N[K5#EJgʤuq>;As q~!U) "T\M@Sx]i7D;IY/NsV-ώ,mf@InOu{5pd.unɲ1rq6U@*< 4#+y%k|7v}C5f3xMnV,`ۧtPPuCZz6sJcK)^s ,n:KgJ*?ĝ=|m$V>r=27!UƤg&tn>Ug= JwCI|x1 "oJ0Իx_ sIZ"5C(eE,XgQؓd|8oA9,M菐QS`2K:Inwʴ`υхEL[0|{!ދ*fs=:qϗoOgS~ym%]Sjqiփ_wt{,.VNY0%jDlx2 c4?G~ lWU5x)wVdeG)-5ryPH^wb[g BGfs^F?!I*{Ÿ dZj,Obsk3>k9qc}{jPR^na9cgB!1M 젬uHg|+\P-8yOn~7i{e)FvJt?"XyNгxd|֑'*ZAfB6w~]u a^TaŒ;x4%LD_?/vJff-]ELľk2Cz _(.,1u{37Sj;6*KKCS1t^.?*ӣB @fSEK74mz%/Qʗ`N>_W6 3۹ _kHEZ^MzPa`,A-] {5nԬDvk.Xܸj܁s10 4` Ƕɇ>X_ھ|>V 6 ~7'*|V^@{KJ84r97%r|z$ϻS7;kj3&nVo`us)eᙼ֍iǨ `1ޣJz%dJ)&1lL } *BX7^A8N/Y@ٷY`&?<anʑ&JZ8 6:1OK6I(P:$vSf W mrK7[K+OW߹j }wڎ2k"F40 $2m Q[nTC= ̌;EH&ZLe\o][&nn!IFʈh0]ScG#²`}DkPĞdUqI3r*Z1';hgX .=I$]Ϋ~G>90A&f,j q_5bxWA*}\Oc,{iuzԚq$a[xRi7w]D!0:\e 4Gf=X;>kej!gg.+-{W|ޣ^:p]l|͈G {kY:>JY(L:w9޼ZSmT$k7C*03k>zE*+%i8ӸV7r M)m$1\[M' ,s$F[GHȿC֣ěmgM`lBTr00ӳzWLygS%` ч*6V!X̳-7,3Rj3<fh4b!'pAztKUi8t,%'Dcmsf&:>v&%:n(jU/GH4BحloDG}dJueTKHk۽s`e,} 6wS O=w;dӆ&Ka^/ ߭kzBDx-տc)<|IC:鏒hJ묄͉*ŷ17g(M/Zjk?};AC_:cЪ2iMK5~a?S--$tc/H fmȢZe~ZmG[XU-xd dc>JwLdX8|aJ$<ߛ͵c"7R? ċ9Tlfvxs{0֧Eq9*q'Yq q/Ю n|mls ܙ%vMp+ȏ6/e.82!"M9@@u" Y9DOtMnGW^z -Ij1bcۺhJfr00zK1fK+Gz轟G- Ԉ@Ad64m4%SaPN8n@.Wߏ ޑ1Z嫉 -: 5+I,҉XwĺB!ۨ ПPm* [LCV 'H$FLJ*q 2$XtB0ुb +c;:P^ hk`X7Pa"ak\QSƏw8'HأlC;`0 8l^4a52L6t\>&+]Ey5 :Vz$#JaO`ĉ 5w_ 2@66ROFҏ.!'_BIEDVQsa&7w CJ²翷+C-΋]^of5 `;x3[;^*5,$o#j3v=eA UU4d& xNUs! "y|gAgnL"ހHm0yaeOg]DzO,zĜKe}QyHq,q 0*#~%/RP}bdTTooB:vLVX}6svsz ".>ۼm"{b3N] `[j+v|Q=g- >c$8M*h=P* f}j43|. :YQ3rPF 19ûɁߚ2݁%\UZ,OV koT0L6fq Bf< (wZ3Ux$ uS)뫔AP3lOQL}l<G@Hɢi}!ķ7]5QpKa5'% ~+K_b(_ "Yѱ ߓ\CE 5tsY'ތa1壅g~.ӏ;ѥ|Kr_Y[R+_+N9[nlvLoLB4b췜p xO8sOe,1lj &<.e 멊l8 Oy(|/DEney?"6]hFV3.׵= ]9^6Wv #mSoF_} dox6B3'tmbkGyFusӕG<*Ԟm2qZEUxv3ft%4-7'MX7NψP3ǧǗ/-(nm< ?CaeUI{Vڷc_^9ǂUm&1/[ 7`SSzb|}U'1qNIe#-e-ud65} e {Ho Zaq x$Bկq0Á ^IӨ) QHS3_u/AKV/Rҹ l͘t:iW8;W6-*QV+ו,MTo Pv^g3-ֹ|*YI%UӼ+6ַ?DY!Wy2[՗zzG؍)~4swaު_SsY$E tH#ۘ}v*;Ei ޡA/fYM=_n>ns?-LDi/ٜju!mzζCfN۰,88f{R-< =Йxo "p^A?D |,n'nTIؾUVۆhQ>ZdCQWX3-ybvxS;5jKidl-~men(y'.]õ|xeWu=&j'!9k?iG'+.l"f̸Idlq͸G둫2~@F'ø{(xe1>w~㟃34(`j(bpC7jϏ]ܼMwxON3eBg׆hn}6<v 휌xӯv ]ã2йZTu7C󓤜cUyXI5Ē/e.>5%9O:ger=YpJI xG@#kw~a?K$kcԿ_l[[T 7,J9tK2{Sw!+10Z|825knny`vpUr}+w-F$g_U& *M42xUvL&ͺ-AL^}iǶW{ۮV)1R\O+>ƛ$ֿ ([7'Zdc+qۮ}>;1/_tk1t06r$?gޕ96A{goqj*&4`!e5k;kwI'8z h/S NZA-҂=)QI^Q.Oa6flR9;ܕ?Mr>+rK؃l= ܫO5)3a8̨99>ibA;?$]elcTۿ>TCE($~)Htym:^6AżJ$m6CGԺ,\z"PBLn"ܛm{^cCI|2U"?JcIUys[w6F| :|27ۚo: ;`wpo NjðOQƆ$I|q ?u!;nV } ^RB~=XUQcڐ׈ v;vE (oMGq3J)h(K;NnACzN<[yGCoLF=GFӶUy'yHJ )*u}"{쪎{xņ,b^Hf!l MFnq3kK:钒T:SqWmw /Lc+zǻKNT2LSb6zҥA?9Ϸw,e[Y4 SVY? $ J}\c?>-mѿMv~_z_ W i?8?Pwwc]쟍"~|f۳?5ۄ>n5'E<[W;wFJaH T#]"c/B[ZU?2v͜D׹,GoF`ypc~RGҠKCfWX`OZ ~G`#y5W's1V~~B,c1ɏ+A"p@ N(YOqv0Y~8L:fOQ?7]L @OzI[S0Bow lߗ'qVlC7fŸRJ^@?qqtǜb8ϟT0UE7C_'WrʟwɘOG~M_& ww~%_?,Wy\?b;3U)I3B+k'YE\DYs]BY?kK:[Ġ#(f~ތ߲ukܗ?uGzKr?V"7K)Ad2,_q'z).Y?.S\ݚc~wF~0Y]V ?"AXLL/X5\?'((.NPߥw=  !?[翦5 {]JZPGjU_N_-~3g!˯SS`ScH~y??-ʢX}Y xOçJ_|]2to?Z%Y?g)

.*!XK (k9,;ؿKՀaK-{@و#1,e(o3)%CgщSBoAMMMc7/={w_8H!w_)2N}vu<az;T3\7Q7\9}D4&8X}{K"`v/.\CRuNdI/j쇜[Tz#Im&D^E09iEбqt36u";oķ2`n'kWm2M/=r@m:[I~&P:æA>;I&^<lj\NJ:4) bscDmyww=?g Fot T]<&pU9OJX1  :)_j,W pGu2UZry^USy!Y]kq?C%z5d7:;ܤ]oYhkdž}SWj5ބ ?K,)Bf I6m+UqWPcׯmƥ}r8ڄ@$qҰSZwI7 c)"(Sm;jyV7`ߚDܪOlQ-ɰ[1* P)73oȡKr7[ oŨ @&t♮`_Rě8<@(!˨7q閶<8ِ [iY`O"Shs)!T^c^J$}gM<&{ǰd~<`mŮmPሴAPYM/npRg :0-x|B}b%.(wR+,8XJu8'n25G tɼWrLk{rc(wjcva~h<;F Q31:f9}o=? ~~{j(+o=]Zm)r_jl|\ \YYeHhde-x $ H _nwiɩm?/Q“|3= ?q_\{A̟*FUۃ{!$a GrV˸ɝ頻6z d܏ٗ QDXBԄ\qbn3_o?_{cc(M'_O4<93Mşg5@2%^NZG [;3~itT.[6_³ "$~R?e]ǥvSIDhC̫!u-U2Ϝ]k7mjAaǖ1 &ݙO^F҅H[OXT*CPK9i7 YVG)moX^qCIBrCyH|]ui$c62U'u0=7Mcƈ.!T?y0#^Qn1hotp{ez QRƊw1f4Mw jcư"2=a /!7?3$z /ÓMq&,KsQ^4"J m։6r*$,"TY;|-8%lmEul<˳44߷7[p׌&֦s80b/icyGė+!QB0$DA5`qK_* ꦞ6xK#2a'O cs9I?巎" _Ƥ ZP08?(^՚U 9ۅSv05Pw]`'ۂg݅{Io͑ qZcYP)1P>ChѶya٫(/GU?1Q+w\''t>溂\eI @EZYP 6"U%n!W!$l.޺UX-C#Gβ(~­hGS{ȽBxgҳB %|0Pыӛ=О+`[ ȃ5}a͇u{q{_6j+o⧁|R6wvغNbk˟ׇx@r Uz>yFț49pX"h_K3"#R6Fl1dpͪk;f{KT; {,/[!>9V pymYѸkq-h.W!:j:fVF" 6FͬY]}?Ȅ_lw,Yི鞱wy8n|ya&w~`-)ĺxh;ZtPŮ=ۉ#^ҊCv ħbqc:uyŤf'ow%45 XހKrQkboCwlɉAg ^fGc3Q$z<+Xi # 0_A;=tٷvs p+Io NT~?fz (4+bZY3,;\X?'EEbq; tCOJ`{@=$uT*O.l( w:?36@6o!愶ֳޟ\Kj|xI$˒s5urYJ.~<& U[śrՔ.I(~ғ0: ;#(܉aS!/&BT;m=E[ %SŸ'R ڞ}Zz1?ƝGm\_qu`?R4K&+iޝ0kƑP5NM7OӠaoźEe(Д-4iuk-Σԕ)϶ 塩Tָ^-`%sv܃K|/VGD>F%Qpo%a,xqhE0-5$e{2p^ s N綰XRw ֆ/zL$V892تt-NaAm8Tip=D2zY46|,rhQvn^r9f ħ7il {rH͞sS Vٙ$ڛ^u8}p_-'DCU"[)R+6%4#_>&:0LYi*_W!R 举bbؾ;N}D8doLŘEnriC(gHEWK16YTF5Rma~?8ڙ{[s\CͦxNnJWl;B{mIUszגߥf!Q˻fvb:6|GA/ޮ0b^ iBϋ m7E$×J)~hY_x;ǂyqĆ&ԃV; $ \Jyy'}? ~sSDx.siwYӧP @ u_Dv[="-Emb0cmV"<*E|E~t Zǫ.;vG02l~X`ACKm82.B!hF9">]s2vDļvDo|\UﵖA[!T(bλu{SA-zW/a E` bOwUXnm1"Jʍa Lc+-p}l}I[\!tExz#9,0}F!QS_iNyoDk4^F"8=k|Y3OɌ+#ֳ] 4bRXhjkIn &ݦ;@}u/G\⺡4jvؼ8m~JblJ\J鳸zB_,>FrT05b ӛ ysbdNO0ԽXM]A.Ny^j2=n̝۞Рc#.:m<~>U+l ']ݹorӢF s;uN6eA`!֘~M *FQ "ׂ /BЁƮ{=w2ǒL%Mc^.JLhԛӍt};yqnEG >J@O< ܕq hRO ֋$nߍh Uo>џs)[ea`x]-PqrHr-ѯ>ܷ@#^#Zf]Kz$I:8)LB*gA YXPuA.TqďNC)پټs{(w /S>e"8z̯]unЪNfxNܘ Q 4{zZMPG $u k!zvpݳd2 ؙ.LS̝q, WMYbKe{e`!exZQfCC.͆%6ElP[>ǀ12e눟U!9G&(SX;c/wss\KPEwQ0S3~ kC:.hrJ"xJ ex'EGMx`~%r^"Ҝ7j&wIєVpS`2`L|2M1㱥1 ᩼: ʋS>imk =Sbaskks&ˆW#Jd㕾9k!׻pai'.I>ɇ@bXߗzCB}^V]FKxF^kOڧS$Sn_ rWgS< `Ut@_'ruzYUaAy|sdIO;UWa݀O3Y P}촰tO:ҎaA`MY={'т=/V AϸaM˰z 7]xW5[ģRO nb+rI`oWȎ7Kp%|@ B*!QPz `&‡߉XJf-wE'8zh.Y=nm4`>KcU gpa0/:RFIgJ(ߊ`1.5aiӓ1;-EDts';;6_K7y BWpdOby|0+rNr1'BLli?9W^ 7ҩ^]UmٰrM" f@gw| ?al-l;bA A_$JKԸCJcH|T+C+cARƠD Q.׊Y0EМo9/hd˶7YNxFAi4ӉӇ_e>=}5ԔN[k3W7d:74rqCZ>Zɽ̼D%W=0OۅMtIU׷}SKD #2~~'mk!r &!k!Gu]%əTu:X,bo4j9_ nb0ິVѭQDkQH;dz/u?LJ(O@l]2V߾ilh޿b;Be6x}<. ; Y}]&y[":՜iS qvvPNl"v-(i "$m6nu `(PRgiEw 蚎?Ї1Ť ҆! t @qڅoT}%Yaumwy<1AP+OcuDԃ@Zb2* *)i=H4"YT i"XR]ڟPXR"XUXˇ9+{/x%`=LHKe=6+!{bhxg.B=[Y)Guh2rݤg!]±7pj &Ak)aYBTG/%/.SH2W5D&\@8!O|[(Eg–,?]$ªjzaEjxU0X({>CE"∆p+NG/÷I$z+6`mjTyTipY%]_60FZ-#T'+Aس>3VD'^Mߤ\'ئmMA2V!‚육}CI#h.8mA/DefV|97]wm)R-4DK(e=1~r6T\]W97[Y2k5ήG08+ }%CZV5+CAWͫ$%>mdAu`":כ0J܂%(~^t >r%ElS~43AJS]Tz;cلx}15|)P)Ul$3V֚Һ*ּbx~!T 4_ L[P!HJ"s{=Rd|$(țhs.bB);* {ڟb{YqQJ/~@O;. zm4 czܗkL Tx _;C+$Nl+ ٤ %Fr ؒUӔNRsp)Wo^;zM"P3 i9']uK/S `Iq:LK$a WU AmO=5$L$X]&@q&'3Fo `n${v_jw,T}ې?<C>}wosOMsY[,̹-^9YN[;ep, [99֟ױ B fEڗ|k0fqòeD|?,e>߂n&ͻ@/@*<ċ+_<;gR%`C*W鰡Lg}/Ҿqye[9FdQRmقN>,!݀#=|Ld7Sra1?QRQ9c.\+&ٖ#1J[b/3:Aӛ4ƿA'm4M2ٮzЃM8IJa?(3)_֢aoeMHoȔ6}^,RFyDBQܠR& ,Ǥ"%| \MU.vFkc1|Tܝ-y!bivIH N tۉZHt=M엕+VBԵ@C,V|H;y!^ƐNr/EVUJDʯm70xljvO?RU|ҁ%4yzٱq$DcNfGaM+p ky{ksb N} ,/߾Ә Q6-0IXa1nϲ?եkE],b`P|>('ɪ]y` H݋N0_+<vˉ:%'ecm3L1;oںQ!K Fa5LwƕZ,d:Џ❗%,z#tI}Q̥U[Kҕ1M i%aD1JiϠW $_p=q?lk}WvLb--zXt(} ^$n=ߐH @\^Uh ʍ,RH}؍|ouPDxu& {r$Lt}%&Nk t_sT1U\5[1S S`agA, ?M+wގ#g[1.ԙ[x-ϧ.̧DFu/<#fCTrUOêMr>A&B$sMHGv US~FW|v`-jbPs)}UX*)rFO׃/#:mޯq~rm% tzŕz\f.i &;$CB=D/ / 1jOzz08$CM$S6I{8Iʬ4"orCwe|?Gߛ/QD?؇H&N;AT0tj TxӚ1W _ǝhz#Uf-\ji`s`KˮHRH&H%ݡҿ ok|ѤéB *z;,̥gb!yIBZl WYnU6k1>5uBF)~Ίu5ȅj*D^9ŻNƊ#G{b {gK516=/#~+"6c}+˴Kwk(K~wgN .i~^}Sɱ,C_t,?fI͇|0R?_0h$>o'nGl!FH不=$G-@O1-f?N5?†݇m,#]CL-Շ0E -47RRv>e[f9)Zҽ'Mja͐Y~:*Hn*M~yȼ6ߜ2cz!Ut'lRvQ 0Ӕߦ! LʢК (mzw^-hTxl։RȈi\# <tCV ۾D6S6t,..ǰ ɻ ~ CikC0 J,$Mb@z 7R32x3sQ#|̈C0oNgҕJAv <$ R e`O?%Pk.-8ћ&8/x5c6;ΛՍ{wd:?7 dKdBN6'%?ie <[xkkvϋǓu+VnWt>إAvZdDjPG`RU־/uYDS(CF{iǨě}3Ѫfė?&̸~X&krXf^{ȰY9=Xf|IӃMQ,a=Һ D˖H_mi9/D߲~j+ iN>MhI$ s9t)*1"nSFo2Ƞ֔,oF|}lPI)yh0.@VaV@Si ȈUsɹwؕN"!neפ // Yi{Z1٠TPJObinN L`rrE)[f;7MY4s` + +|mMy80#&ʇlaۥh Jwix&KǏ 6尪o-@7_P ᫅FSq>e\: y[(s%ф' R !.,R6U9BLk#.~Tג =˔*xKl w9 J> 폴=:B@O.۩l;q=zR M7IO[ҐdO32N u-RcOמ2kQT$?zX1OPgz .k(3Tz/(فӤuė%1ld]PHgΐ8?(_ -?4Jy0W'0-4]BSNmdi)9 Y;xH=gA\D2Utf:q-%.C]Jhg|C?{ZbӢ8+g#ED8'((cXo#v2[G1ؒ;\ŧM$ }͛cW |~(/Uf0@L!8X`nhA4O -S#\oN>' V4>ְQ審+ ]"< JoDg :X ''ҩ3˯Zn&J0շ$6aK玗2qM8C!*~52<’Mǿ T-'<)M*^WXCv6b+~HD $wMHC \Տ]w/ӟ엔b$;7+.Ww G{~W|FZq R5+OKzrY0ki/'YOo>ιSCa%f:eT 0. %q(>j,*b8DNI˜hllChЖmibBEwѧ 8'6pA 9!\^+τNםnC$-rjn7v]lO Dnho_Q|ϥYl ag8'7+TӲ/&7ͽ{.LO(w&}G6U, EQ``K3@],4yq/Z]~[k:/N>+> eLw_ҁ EEqR8%H4Z䡾A*@odG!#A`0)m)#gpwِU߯Qx,>zwmFǡ]ږDa e_3|EdjuK?V |̮2k%M]pE)J@'tQ 2^0mLZ} ߏ/=eJ'^+>VD59b0v*z8[ʏ{^7+{w#%*?߯-39Tj@\<|g)6m?\)&1(`^YġWUm9 f7i}a@m?V`]?6$z}zY D-b }:C/82 2}䷴!zLa?ýۃԾx3yJ,a9xW~.|488J^٫ f 1ɰzE>mҀ ⤯49&dUC_3^ݧ!bfQ 5QIR%s > &@ N`2-;G#&u\wV ݕ& KFtbNfLD#Iq4VDXNuR]dy$~[ #]ׯ'^mנNk,/NoSa-(KSz97I%qP{ȯuQƢb-AF# 4'oB_'>D.MZpQȳBikޟtAmCf,A*4  pXFqt*MO^HeK_]K!'k,2WO׽%i ߒUwkLs MĜ&Vٹ53_2VLY+̒I\UCR'Fq^xګ'<2>LY;@&v-H}vNzʣ YyV5#Bw Vj29PpD"}訒b̃&.ˈŦYmxM:ؖb]<ב9 5tyqE_&FJht)_ϻ)+4Pj'&K_gup^ɚa/gS\2MF&u=?ʦ Uy5ƎTm| ˵mL}b+}'GC=ԪMڽª^9+ ~=LPcSF1z6&as`qBr.TIo(!pi^[#c tzLM^ zEtKӽag1σTf7:{eDJkI@ߨu2MAE[hxM8(eND ^n-Jkqyi=U{B]Z!I~>>u%|\DltҠ8S9d2{)x׍o/o :oq39 Ӄj?Y<S_1 ,ѶB+P1*4š\eC6mcL-r|+[i2z^=f%P&Cp|/tpJ=qGI2螕jJv<wR]!.~k:+a=%|,ҀW?M>:naky?yeO_3,r,[(@ŊQd煟JGAJ&-gvMc)WIJ.ނa #,1]z4>nG jeO ' # ӗ c>_{5/$Fd˶>/ɂRVVdid;l+$aRڤ=_<FjzE\|}W k'Qfa"ܧڙ꽜ꎚ_%=+]y{ϱqMJme zJۡǁV"NLQY^BJ1lJaV,/hәGC(Ǝ4I?&!mFkE4?ik<7zg=bt-h\Sh .dE2D'F䁡pG6Ln(}i{x d(f#n{rbWhQُX'd;\JW!v3V7]^B kMswc!/r~&+T֥5׾%L/G_!b`_!#'V<>&Z]1[pL,a#c'vܼuAT'7K$Nh$soVgF9(tOkSXjG˰®^Ktp4T 0`U~;aQ<:8GsEpZKĦn>^Uy'KB2Pݓlc$Ҩ^ n=z{6k:9%\'X_@WiQ Tc=I)ů. ݦ_wTMv.$4CFI6񻍇U]D#&#H!>csH3]Zio~!nQm%O мzh ď}9}h8rX}:`R~#別LOzbxn4]<~8{Xc$-̤_wwqtibdC%{izE(J%%YѨfu=IBtXo6d\&nlu^+f?~jY~`o )T&Ɔb!YE1 n1nhP@vaɿ2ߪgDЎ)ǖ,&+cTVצ?w bi~iIp|މ/yKx<@P`˴MHA}7.KCts0[o)E ӆA!yx^$K|,N^mAEIW`):>Xbt뱍}&ԟsHA'kѓZzE̼c+eO?ȹ=dV mdTWLZDXw^Fq- JQҜ$Pع >E#e@xJZm7.[ zj!bL1F<6_2me{g~RTA=hM^ٗVzT`BVgx=OnUp?1s&Q]QؚBΠM). e\F|nV"s*szjs!{MIaTk AݤظTd~@"QPqQgWt !p(G;VTr\5_AR{'m+<$ӍQ+vEQWzD=Sڞ .F]WvwN&_= Ҫ^Q7HhZEӧI*bl#}4k)_+52'f늹[qϊ~`@=l.$@cFmm#05َG5Z؎<ѾͿm Sur 4AÅd{:`*щkY\`"iq@()M*R;|OAD9iNM1kTxӰ+e#1fhB}̊wn˻W5k_yȧtG %䐂im쑸iv~ljc,'Q$8]w ՀS_jώَ^hQ. | VN?\“-PaSF=:cp_GkRƂĄ.Iz .:+"N2 [ \ F_uFIE ݠLc6v% qҊ7[VP`nB\9BgݮƹZh/;CSsF0Coab( Y+l^Gѡm)3~'V'.$!TE;mBwYAq)af/n\6:5s>B|}f$^ :wPL]yDd$znG I[礽3{"MDZ bl_E-u1r&]j>dIߖG\^fYrk@̆ø3^!uݎʐO`}2 /Z3E;lv}ٯ\?#2M'0%ɓgު8k10޴ݖ5Kl4΁pc뚋9!j`=bG2=$KN'J2ͭʶ`9iUxҤ*KjGw$ tCYEL`}YdFsG=2L}g5&4WlvecS$0H'֟|…96*W~L]+(oI{=Pȅw`YH2'a{hr۠6QZz': }S?OZ;,`-a3 !豗Z`bDByƥ!r%SsgƣkE~wAU=󘁦qћŶ1y^- fX&>FFoK[Hf$?p5PO}%WM+릤5Ĭi&Z~9R%^K{| DLy޳J[ Ni\\'e .Be.ILq$2U :l;d rc- hd_i>~tEZo Y|i BYM.eF: ƒh׮w ^зJs햌!pouه)dj>z\BeVj+r g0V:ێrnK6aG=YpX26 <Sy DPmho&'Z>9d8>-GO\_luV ?WCQK=n_Q8/8jOJ_8PNE 7Ag9v]FG[TP⯒<8$LN`jΎ/g:iϫhp]5O;@]Us*C R76Br(xBI2L-d4t,`c42RQV-p)06{h `{B6EJW䯤yc}[3(73r  ńM|Q+^OIvykm U)VO҅jG  '"jsL[`%QFp 2fvܿj9G@U"ާ0L;D#&"Wv9\r'x'd}q̺v; ^3&ُCOn3.&ouC#F jv_=WIHb[X,~i /9H9fD|g1 #z'R__/VImU VI#y_:w6_(w#k3\ =0ƈz ̇:+s>9%{ EE)~ӿ!@ZAI/t73 >}𒫭p*a *­ hPue7߭hOPt$UPZ(Kw0 qs&A:'Ij@\cR~ \ kFy\μXsʗ`.j!' >QPWdJh9v`g!lwVCK|}۔]XĴg8o|hJȪ{}O~qDou]O7q7~kٟuwe580Xȍr| Cq]`ϔܟ[*acFu)a Tk3e#Ur4KMfB.v1Z~9jPZ -Aci|+&_r!f؜%ƍeH{w2"HS\!1;ϝbQ?*6|F"?fk&zWzyL ZC< M[! ums_< |?Qq*bfߗIٚ4u/{=E W=}i;qG">g^c T B0XSu;A;9&w!,J׋jQ9S.,jHA0HrA(_>CHv?e5)1.Uzf8A+G{-ğˋW4@K͋}UԚoIc)J%$[BEL>=:H^ s!E\**)LtQ+Kl"Uz!(u }ϟo) ;!fHZO6hc@cCŗ(>rO.ۧ,c›r^ڃ<"U#7YoiPhq0~ehm!(lFұh|\)]E'!fQod^a E`.3Gc7&\c=)HdI!2Ɠ;dn>%5,} E;xΕbjQ"Zb&U?A_gA؎nS͖TnAeR8>R;Tí߼b\ 9^0,?O0i!۴SBn΍Aqy΂F` b&dn95v $.2 1RՕ?>H^Q)iw8Ž%i\,e)CsDٴaGQ~(_ɀH("'E N>q\N(8]N}9}eۥ%#B@o/D;? S)7RAI \N!RtkF](Isony=Nޘbp.CƅjE'KJ>OXПz\w]J ~.ȑDڤeMI:tM0LS1Q;xCis:~S=J!V*`S\f*>g};V[i% Wۤ5kY^;G" )AyY}AXY4uuYJS>fEF-fg)=T䠶Bp"FdPrlؚnCB;D￝W+ §fQ^Z丷q Y/m*>H'4\^l~H Vp߲"+c.*fmSrP m j`㮛E6byT vhT`|Hm;U<|(Nؿ%~e2CxhNPS:;ʴvciYfO!S2iW!'fsOՍn !o橄\3rP{eԐ疘<6dq p$u}*rP3xFvŠxh, zñj14ѐ/W fY#m?Y!n|,d`ezX,tfֺ~t+_.Gfa>RcAzkHJzl]ydDͿmCh] T?DM/t,-磶&$s'+7Yn?}BryjЙ!sU؁ IZTI]l6;4+KX˹W4Ԁspb"ڴ9KȞ!S4=yX0l)imI1[<]VpL mo> Ma CZlw!?nFBGz EQ3%P`ިA30>;ivPaEPr-!cZ8{];c0ыOIB6 3=j H2K2~pO@ԟǓ/Depgz+z;Pӟ8/̈́ 69(RDE;j|IUF'¨$v'HQ`~f!^Q'y&kbv٤+VUYoopz%a* !+x1xeqPDZ&|nxG<̆㥤G /rx#Hг5payO4@S^;o,1@8- F73/mc;' zOP>$ܼyėH[|K~Ww5^p`=ũIz|Ft{v͓Xv,7˼+r< vA97H[kCuo -wuh&n9{Z[×"OY[ErT8y !ۏʹ:_wPFՍH)>BsY7h{}Y67轤]"W"2іh#{NѲHDu虨 dʈ8 pPM-$ArP>`]_OWϫK:k#ܣ4{av8"#X5="6(ִH2JRW=xFC #Ò UF%,W|P5+/3?|۞B{)Yd NݯpMSzPcz6S&\$H)ށoy٢4ӓqݑ|ꗘ3[3/B(+7ɐ'E0W<@XIN_Zk?5 $\_ 'TPSʚo0:|2'% m_h_vvw1XE=VJr^ *LV?2}&獞SgҘ_%zEoxhb؛߻I{4(Qqfy7~$ JIb>&턣e}BYj[e+az|NWjM7ۏ~Չ.,Sx*oȊZ4s2; !OӨSw]*BZYtiK\e9L+9>K H$sg}($-*믭.{/$Zň0hǘ4PE0+ߙY4m|͋[ L)J#'1WUͤbH:~6C8yr5r@Q#=ԪN9zJ5C !%t6"_ ?t>8ӡuZ瑦o.}I즧{o^Z&!> \\vFo}caVή8oeaĈ;0= 3AѬmY`O ^]~ J/kSb!#AJAQBb߲ *;JV5iA>xu%oLk'Dڪ+$;Is2ݺ3<&d(cfW(:0]Tt祥p4lzWrAAydf *F\[ DD{gU1P8lhŖn[@:͋ϣP 8f $h4D ОmAȒܻzFoeclΦ,0pJ&Wʾx2Lqya L]CBiG-׿7RM¶sBG 2bo ʛ&XqwgL6X4Ms$:MȘ񹙐=Lww"QI>B,R͋60˻! 4 pI}c^R8Ck鰐n"敞 hZG]\-7_'&RG TR]uxBf&k mbĞql] *qVzݡF ZwAb:3Aa۔jRA[t~oWh^F`2QNIҷpS텩E!աZ @[·\@pmو[n2do#z!=XȆ/,Q#I2.>~=]iˢ񬷥n = *Br>/%e2j5"^Le1`Wa`=eޚ8e˴=_ը!]WE4pmg@暼6l`2| :6 *{PʴuqI1O'_O ' %Ϸ૑Hp=\M:Y"ʉX1&y!S \] FAblm;Ξhb1]xڤ"2w脅Vi|n^o~QCPߑrs +QxHlj <,xebI؃] ;_"A7ueIM gkF>uu{N<@a9S(AEkљt1Qݹ eS, '"!JX*Ё>ʷX0cOs֭\ Uʬe~-L(nbܮ3gjV ZIP|oA0]e~>˃wrAɳN5ɷz;kB!wߖp 8W(\I֤UQ~d,ȇ㜫[h9H +D8LAtY:F. hb9$!&ʹw `ZqDT /G[]>gBW4{Nq\Buj+fGUO1 9)WnF| `: U۹wvtY­;6 mW!Liy+?YវOd/k{ָדfB_f0ymZ @ă.XςK|_i s-]bj\}'lDP &TJ`cQC.W.>TK;V1 !##ƌzbBL7wBPwtGDEasJh n[ $a΂*irWs;$Umk>CcEV [Ow+jp]6?8E=nn7aN@bGnDwj¯SŸ@d[f,q-h`BJ>7/1VTGca&`"0Cw?;72+ߞ뫚ŘR}ɤs&mʼnI c/ j)#I\8C&I gZV))GIqق5SJ5=@a4A^RxFۣah GV0xݮ R<7x(3}̬?ƻd!>T}Y8vYC%Cs.~(CY1r/D~V)_ 0X=1hN߰z^:(͓ର%O? }1R, piN~,7Z6˧?ƫ˺┕FUMu]Wjo+Wl8Bu.@K Ivw'cFHNȴ9ʱZ@q_S/E%M=Bnfqէ ~h0nN =YЫ-ق."/1N>I'$iҦ #/wޤD_pK~11qc_;n^;LT,ў;G^B>U!_{2iõ?ё w쾯w[P?Ҥb3ql̗,ʧ-;wt[ez;^rK2.ʺi2RJ$3]ć_[ڼ!̜$~ P eXڌzɑmއl15(dFwF,#mH] D'}T?76(zTc|.1x$|HT6TU+烊:kB*?;@zcMW5Bж _⁕o=w$_`iLHF+g!%^@kc+%ò/Ed0RW:$b46zc wx,vA AnJn}IO}Im4gdc &DPFCp@Bceb/@3@YY'Ode ]KEcТ:qlWu%zm5x0W8 N|Ery CrR)i\Y3oAX[c:h8*.GHG Ե4:l<1Zd! ( V>H_WAˋ YЗ*wߋ98dO s Bzx"M~?512,iۡζsRӰƿ>GJ|"XJJ_c$ZGL NԹi@'coQ_i3Y5'F|-Wbă"">&#WfG`Fp=)ѣxgLzkv'ʐrA(p׋^&Ӗ i^2g 0E6}&lp&mh=٭©Á(Y$2TOus!bz+kxbsQ!qCyMlpw^iCM/ \DN huTۿ۶bDj3!ߧe;)ἕϋ߾ N&]N٣Pt߭EeM}.# < 15Q.uDICպu1 icC&Lg*ov@D= D$H;2"~dUuQ{/O$0d K2+)c' w,K+WDӭ .${f4B!rda< !ɠoacr!A~2s>\CHGm {jO^z4id10byf$Pr$z} tChqiWr"OQ}vׁ"Q3)ߑڣ7CtYnDkfU ?n1c6A*jv|>k FĘ}ea•}ܑ.~]-G?S-0\y 97?f2;',^/"s~֣׏Y|"A|$ fOMc=ɑ /x$-E=S5,G# (+<ZTJH`U`+zܫU$]WP̱`9R0tH}ٶ* UɼdO3YWz{#=2J_[yx j:jlV_QWE`8]2n_!"Сm48}95Q^U=N:}F2ES!TCL277(m34'G㜳'"Am:IŬ=ʵi\:D.VTkSi0cΑźt&>^sKũNùw3Ӛjr);{@Spf.I",\ Vy^=4њ؂}]f$iia.{bT=GlJc3C]&loC*>snV`قd#vbX~8itK!88E&1^{ќbpxiicm| V@6L!<524Ra"-$?A>W)냮ԯeƇsP, NㅕzpGﵱ?Ζed37ׯ!fD :h987!K&%=Pw}},ȿ'̉B}>(᯴Td= x -HەHs{CYI-9DL rAqdma o|4fcP#%\& !ʨǑRf=ᚢK/ һ@}9 1]/r,5MMi#SN_,7|o*drˊCCJqb{꬘}qgƓXS(pE#Z<>I_9i;k]䅼tĊ&]*ǼöUj!% xb@@(doY0I3קּ'3[% *A9;ِ׏ͣ.%!6)AԋMK K}zI9cH )$®˹t脑^h슄ťjܿݽm2L <'MQNuI1Mcm #N p}l?R rJ2%?63K eر,7(D2Z$yj:>x|RȹR}|~QGWd1$S^u?"s#dAW3xI9$K)W^r{nd[,y p>al1&z.(̴lZҍBҼ!Bs@fN<,n " 7im%tYlirT|_Ժ_5< _DB>aUyFm[/wRz^)>rǣ>!;y eF"41_FYhɩڧ++Wr4C$a:NvrT_J~4{o-ii95Fy0-r-KOA5aydQԘ{xJXx:ꮈ>Tw-3խҤN}߉YUDU^<{cvaN^:eH(t1*<"v8R}a6 Gk㮏v_l.I&}W;2I\lYe)?iуP.B4iEWܜ=n`$ُ4#6V I@~PEhE7nvɏ}-tȄ'&6+}[ȓ"YoғϲA%E \뜞?rΖ )󜀐KvrJyׁ0b˟d:9hkW|1$n~|@x5CȘьq\Di ='(0`WC0]U^xyHF &hJveL"\Q}=Mn'm3s^g4 p=E,AE35K;5#I.Q1 Z\F.|+ oۿE=b~cvi2u>(RBZ7K␼X8,wV|ɂ_)x~":?}|#H!!0Qr1rr=r A[BedzEX5Kn`+[׮! ,7wVsqŃ٢*J_&2GгʹOYQ>4阨ڕ;_ pczmmPÜk1G#']rFͰ%\hq]DDOJz&5w[| f;fQGs:׉US1Ciy.r U?f)MT Gr5Rx^dPt$92[3P=\L6l7YxI3TXV[XaF@ܫqǼس ]Tn_ ԝ!Vޘ` ogR`Դ܋'ir15,Ll"-Yd.:˶.."- fel`E8.jVI>{kv*ڲ 3C-QYK4C> 쟞, l:D[K Y/^vP Z${/<ÚG7h*:j,}r꫑.GlTa/Hn3S!$ T5e k& 4ّס Mu WxEaHn/^t-˫sst%vWpdʻ [[I^\ +r\$X1iH}t9=Gx04H:p*Q=TvD ic= =RC&qߩڄ`-\/L65N`YlHAU,Ø{6 A&Dl[g>+ICE}ݾG@Dd>G?;Icڄt#$9#x}_[Y!DʧRt5Ukj͂{Vޟmz_8gz߆ cIHJZq~9@:~O־X+?`iflOS9ueʉ?,*MHm?) ;.RWCRzT6i ]_~Kֳrl\7z9>:Q]L\LhZ`h] M2\.:TK}()L?]HR~LYj͉)<(0;zf??G-khϡk؀sY}jAZ<$Jhα๿Dӡ%J7 'O~Oh{asg:G+b#iEC0a?N a@h;ę@+E ?׀ͭQ9 gHiXL|@y]0KZBYQ6] Kmg~sC{sE{7ߞWRD˦۬7zRA|4 ؏#ʮ'c"<ܜi%h*ui.C/3l-݀1^e=j'/2)pz=/eŬ~ix=BيwmG8%Gw7Q~0a.ԯ%G{2#D Ӆ.XYIoy*:Rw>&!\$4E ۀ3 _ L59ʄzD9" ڥ\E̫8gBTb9N>Qӳ3o|yy\RE25bٌshO\B38q# {?=hIs3BW)Q<}siS>{1[Rd4;tV«K9X8(N.j t*ޢ_ VxDKiSyRj'1ڋu.';0)w2 (pt?BB'cOi$or&3fK:2>l UpU(ueZ'*k<|z*onĐY>\gr]i3W=v Y.@Di_q5i$ =`@+HU3V+lCɏj0#.~b\P?l7I44A`;vRRSwC)NUI5-|efM枌5i캨>`d%P`m.G]C;0E H_G--g'dv5_cc8SR^b2e#̡^I~.:1*URw>sƓ:k3XebyA;K5mfkQ+TΖy5.ZuOYO]B'VӌV1yzNTi$EAl5'5'N{j&e~ޫ2㲋}nmiKuK=0SP @ϧϛrB u}. iLoLGUQeIC/9um`wm4O~! `oOe_աKWT87xz*o+%c g",^[$k C0zz#PME2U)zeڐ+) `GTg1-B-:gYfU]BH.,ȹoÌPopAIɃ(s7wbCs r84y-xRw`K\3oȊcq׊mdm44ÖBЯĉmdK=x*ٛ^ZLHe¯4 }I%hJ?)L+Z_ UlaF2t=Ҏ̎qcLuՙQJl~Tvz*Wy=@5$f hqO8Ʊ;wZl>q]Id]ʠYyR'Fg<Zk8ixPOKb18x *sV֠,nN&9F!qBML!zѹ)$j/qbQ%}hx2닲~Bb R䞎_й^ LdK5Pw۠BVDV++p%g}* k' "ˈOfF N`qWqۛJBytķu@K9pM_ U'\~/$o6,~5?L[c,T|g.c/=iSU+GX.mU50{;-=j67>POJY}F5<ӮQymD൏`$ס9uo7`"-y~ FNlg^ ͹:'_P08'UAjrh %P$@ċAcIzއ>;K6t˄5:{yޟ5̀O3:5ܢIW249*yZx2"22(zomq6Ry#R%(Vo1y&+_hrs4);Dw.GtrU {iy;|0[YINoTBo_(u 0 b MBô~XqH=߃ KElD\*y"{qP:N`Sz&=g2pKVF0k}xga;#ME~A\Wu#]ax$ev%/ڎ\ 8η]Q$ VM%[=H~B?]%.;>Wz>~A6,(dAu/ޱ ׵ i5JA3o8e릑~v J%jr,5y5dp?F+YNѯHj#񳀐BNd6{y2vXxLa<D4Cv~ K {[7#jwT_\o=2vyv\9+G *++a`46&ߝ2kYAkJ8Yo+C5"d4W SNuHkDtk)=Nӿ{7 U]Zv,`~MB](V' q_)z;%Hvxj +AgCl>DAK]3ɲ%(>R[(/HfZUΥ ]vjJLO(2 |\O <rb.+H˚s%%n. )\ODȆz%+PȐ2;p\In^hoJ8хXxWTP)dfs}ߡ=\u8c bD_W4+8UrUDRyacFp?S+*tJ0DdϷnAZ!}.(ҫ}p]lJ.%G`>@zh(d`< >k^VD02W mzIM57Z#y#%+G2{ء9c*vT8}o+b#6cxɞ). 5l$FK7ƕu$η9 ^ 6m:F3)T WM6 a(۩Uސ;aۨ3"RukWiaݽ*$2uV4SĨ{PG&Kj|\Qc[M%~"Rlj:_ְ?x.00;O2{*ƾ-(K W$JdL@%ANJO_I ˗;瞞#Ľ,<;]hўuE;C8ѓ_,2"/JBeE R"}QExJSiU*XOJeB1@ʵ>󙢆N"["bIfqk69 "ΰS,Ș|$DoWw"#XK1^?s6aSY)DŽ9Q|$ҰRRG%gƽso2OɴwRs ;,QmoTST_.O }o4sn6:\[3;6z֍WMYgc0G.񨯜;\(reXt#R.7 ~"5$00n€%"vzrj`.?7{ڿ⽙P+xI0it< { JFGч~%`Jt~NSvs+=}x>i b1"mY=|LY<"_ (_p_šڷzW]\-72s{_y^F$mĿs 4 $KX4 4i^ yLIJ|y&e\jaLEgѨ ? .ܺOl"rm#;Y e4ҺqqDB3UbW$/7/$XSjO5_%7RwId퓤EGx1CԎKϷYC [r&tʟslKo.9xnf^cn tҋ﯐^?t$|2}57DJg {r=0?wyERaZ8>LOD=cy@И2.r i]2;c喯XK,i6V-!kf~ؿ_xY#Id໱`?( "eHOE+ؾg&1}e.Z kkIc(4tFzS4'U0`,$hIhaOJNw#=9^(u$)d,oTu|VݵytI==(.LǏ]q1 QwU˨BO.pH66[[95%#Z"31~,Iϟ+AW~]~lOLbb64sPD#CsKuh:\LN'[K7˨"em0g,K{ȁ)eH%lOstzV=وnU^dK/eTPJZ^pTlny~HLwkDa_!TqMw3嗚wG qYצ.~rE| ^I3#,):`,{6`Z!&=:W^m,*uCfUhPS'4O[U@>HKUꆓF;['mbH"O;?5:M^&-׃=pnIv5ps#A兗dߵ׫)$xqt5rފww /[J@WKd8qYHBq(V* 'Oe߽S{UkAտ#7yee/'睄y \YԱӕ|Qm+sBs*,40':=O&w:Lfmsc-[-Ȳ>cOJߏv01{ &-ۄXdrκ56tMH88Ic{д X|Rm*]HϜ}qw??kxKL^w' Z\ZF]M l-Lf{1n Y*5^|wj5嚫f!d,≙:H\%3A Ȏ:fN7-*7{e44*5[_48dc.-~)}1!;,,6liIm%µRk*_>U2bH=o"{ 8^E2nE'T}RyL4EvyB̠qODnpJġIPCMF04d.ɦ AB(Nmϴ#\ 7[O+4jT)}TfrEewΚyv#g a'j:o*K]%-LL*S[H:+1!HyYHTYX~ae~)s2w}P ~7k cu)8iEMkϊ;z*iCB 9¼_#)GIQ%zE=%#cy]ku,el-p#+zNsF6t)Xo{@rb. 5)l\&LE*> WX0 \`Hp=_T/_J%1e{MY]{!p`칺XYػcKT)=a˲4'y g w' 3c4:)^i]w)`=tNDQDńZ!ƖEoCէ7p3 FiQl`ɜ)=Wwr~Ppmkw9lk!xP.+SZTl pCr2C&@c.:<'@ hifc,|M5|mI?=:xBEbL*CYugti~̏OMlX:-dH6/ uklr%g~W wwX;>8'Ԑ7W8Ƀ40qY{S ㏗V6!2 N|G;) B6a=ɑaQ@~> *ͬRIh1]pU*4R|*:Ю+bR,mf>쯠`)N9)3TkԙNfǕX l SZVF('ioj9rhV h!bJ/hU {\(+O.Ӹ<b~৫XFj= :I~t6(,3d$ip# G~bWv{饿}$MU=]g5nt8Mɢ7u~^W Ǯ3c2G#WV>@ `HKBM1/>\#4w n ABf__ XY IEg0/,loRhcŝQG!l_$M;G+rrܪ%m],ŚBB+ǒP_= svd /sjFEy}/N$,?Oum2{.26@&))UWAH +8F04}>R]kw>yŤ 4 k/a/p C,Btb85|FЍrx-!8Y&aн*$a4Ȓ ]25^/3Cv\~EEp~WBb=V:E2.9JE$TXԅTK>F/NXň=e=wÌR@{Cx`G6yd˝ZFL4ohU.?q `)v!><x&>\! #MM[gϫR|IPIϕ|@scjby{k/*po՚W$S_/[ ^Jhzf  3|#~1-sEnD;pn b ׁ(7\90- edxPFED_պ&юx@FQ%S:>/kًpMI{ i:f[lHєʦS*oa>'L1vf_;'r%MB{z"5}cMb`.YСcWPg uJ;MkU[9.c @;{b|?OCO.hj~lJR,V*PO&ue:GN)^zO* :F766Y!@҇I C~} $ oY~'M2a`[ਦjoeX!0@6DnIr̂Ku۞˺aVlƐ {&d l䭷(1p觏|k[:J!t~H(͹zgfyxKU` WEGrB0GO6~IǩGnfGɵf[غčo~1|ub  `֪oPab.#vO)7#(ۡwةxP7q8tC^*wK{ռIcr3cB$8C=70y[N&X{c__` XL_k`-=RzO.l$ AnwDB僚g=ِ~֥G,XgGs^3=Ͳ)nw|2 P~` *ԝwvkI V5Â/L7R5yd'/ibʍIqn(yՠo7))7!fAf9<YvypK?E$F`΋xɆL8!iB-=J*N jay*mY[[ۯ#8|:>,A\d/_(Q-F5XkR\HQv"o6e+Pz^._)y[¿ %M<Ͳ0"dk}QbѧNא>9åo9 eo),f[k~+kr҉m1k6&Ư.u1nL|.Ś)H =ǞëJ¬okB~Q2V2K72WL_u있}{ST.o׈Eu)ƕk,a<bǒaqpq˟;X9e羖_^*1a)KۤyļL}mi]QEfk-/TĈ>Sܣ6TC:^/ j+E94$u0xΏU|V589F>w:57FWyl<I/lsR rSdGF-Um v]2]qˍ+%b6ܕCvmϽ~#{ƾ'bvV)ds564Uz"̾+}@}-fKxb&9W:TZ\MȎMsmPFyI ,@H'.*A0y#z[ō{27t< 9XzA y8J  KE;+J,3Lf]JR᎐_oWbe|rXJ>jo:Ɉsڥ=ڵogNB◟TS4Y풔4RQKrmPVALl4`Q,̫6SI`:k>WwD)HX'i:!8%Q𿺎mԦ{k6yr՚堾A |KAAttO^- }fA+'NN jCyIPkK'"Lo}qFdM T7a7Q$/ 2ltZI857 _cX[$n|V,?kJlmHWBSVW1.?=jmLYC}lK1F$>.ߙc\ܤT"(L/y)z&)޼"z/;ckJGX]ͦ+Eq`FL5~R" {<_:s>^ uU% m7Dz)iH,In,iwB$WCt7Ғ2 BQ`6}{J]tqǔ(X;f=C;P׶2".pBݽE%W6,4׷{2}ڄeuBD}xvYBB'RX--Pb?ţrqmI )䏛-T?'_ݡg@(a~3HDZ+qosOWw>wzqj_Yh_h!b1V|%"L[π+ jInGC.>; U5Ls"cZC*}Z^;+SpF:}sf`p'c7EŽ~m,q·lELǽQ{Ð=yĪR7=БnşnhG3t⹸~FR=SBAs!8tNa#eoh2CX ;[Kz?%`q;tD&NAf z#_n:eݧ0~(DѪ C嘭x\ɦvp=h^Fv*$3cƢMN's-+*7 !@/`HqzͲMS%K8=!P`L~^J]I]rz`:am>vT!툭{, 1: s >c5[2J (-@̫tG$b_%hlK\{1T<9UCO>sCi>K٧PoLoR4=*1tavSΡ{ Nt1נ/E=f"bH\bv4(K*ĆU\:mxvDmJJ蒼aqӘ>~s%cnlM,)FO- WZV{L AymEW8NE!8V}ma2o7VQ sղ'K;@m#҇UqR|a5n *'=\5Iwv0txЉp`_4=i3m|chM87D;/3qgeNXxw V" .9w@oo=i(BsXC Jax2NV}IU}q[BHUTF{0Xa^QOP|p?9m뭑Ea_ةA)kGhH hD&ȕ:s9i~<)W':OXD,!ett>\#>P0*40naر$G>#X 71] gy_Aa'?7q>d '.@O92'=nX*uͨw)k~wX$X0tr&ٛ@;j2#Ã&%hCEhUj&lݢB&ޅ EU`/O e N|jђh/nǞ]}ӭx#za`pklJ!$=RTx:]yyrr$+>Ɵ畂D#]dK2J`}}nݩC%pZ($.!Xq ]Tx ,I8ko Mעhk#i-v )w~Bg qR2}4#s4n2F^Ci`[5)jt_kÓ~OmGwW w4=,ÀlK_ſes`gk$CNj~#kl.rkeG8yk] >>4DRY @.Ӛ&ɁĞ&?E{\xRg]L1.= Q޹By8bMsU8(L jjRWHܴR_xr7@+fوBն>% sYRLѼŲ_u;nWx}mqT$b~r[[pCy1F;zTaqc0F5?% Tb\6aÚ#6?-Ҳ_lbGS~߯ 4oЉ>ULAI8ZuhsPD>Ƞ,s[5Ag4~MY-*S\>L~ɒpI#P6a4,|YiJ6E.kRIsjsN+w*×򌿞"P5.T_6~樒4$B2&G1[:1o}Fit '@r+Mo,xøE7T|;kݮr+O،_zX~@6Y?ӉTK17F*>|ًtSi`m>Au"LV3ȝ;l-[ ys߫{%|D֌O>[irz}R}3ȕ^Gd?E^7tsɊģNUGUF0Y(ᮛ[vM'm:]P;6fZ|>!<,ͧNԽdDͪd na3*!-}aھF® `@)Vȗpӆ,isʅ&\o$"|\wE=pXLzf5'9}0SWgCs^D E&8hfo۔:4,"|;n"^-ɫP,mpb1VKW6T1GƁ/I3:ߖ)ƏQִIkwolRvlƸfIwgZ*#toj[Ed_~kU\&I x `KɩVL/刔 =Ű >RPpy[ɬ<5mzڇ<0s4 c(lX]x_\Z@ O ڕ9+'/P ~'xj7Fs'`gJ$ ݌?B,}0}K_3.\vX$D)`|̱߱ Wz.Vz#u3-T:<(񚬌1P|z_ݖ4ξݶIodx>$"G~Q>ZFװO(+Ҿ?ʯvЖp-Ŀ#iҿ|%pݿ!-X` wYZ2" ?*݉Jh+G+udl6D~D㯒aj mTor\TgoHbTkXQcЀ4YPo0=-:-aʣ~eoA>0e#a0b_ bbXpӤ}õ UID^y]yVQ Va^"DrK,HbUXs$a5T&)+YqSׯ-#3DaQ(([u02YuM n0ۆׅ4q kLTrK>DŽп f*rP)-f׾>ReȰX.h+Z,i;2B۵?*R1. 璝a+mv^1I\GI2,)M(dߎʦM]C4F\Zb9Tb՘ΰ@e6z%#}}GQnOԯ r|7(>>%j>ޡv熿fRnٜOnIv婺 UK7̽;ϻ{%?D8h>AMjϷI  , [äbEt[UҾ'>kĽseh9|t=QLe̡uXAdbrv$ap+MԞI{|VYyB|9*|t ~KJxOfغwVc.Չ.πLDX2~%jNhei~1~щ]x3-AyM(*Yʿx78ClXt&YzM=B+L993[E]Sv{P՞R x1`\W:aN]M4ae1ONI{%5;F ئp*FJCꣂU3fMDt_ Ýd _屺ؠbćsϔ&qG>.4ww٠&~&OG+^햊uH$!Bd(G(ŧ-kJZ>!3Q=^:1yV"Ze1GBgiP@k,^);FjFdgܪQAr[e8{\Tkhh47%%=ZXլ保C)(0^. uce,cHEL_!k4r.ԅ#LYTa;M5QeJE78ϥB@a7R Ŝ6˴хr$|=X8"鏄y!f0 ssǃ5ODOf_B 7p vH %pIIABs  󌐈,IP0s|HyuVPJ|D>q}pP)Gu77$qF9W[]ma=صBŠ=>SMsog4X%4ϝ± e#E -T%4Vմ2XNo,X+n[eW/[&k~|(n/slXӞxĈda4S/`p[EF~mZƃ]@VUۻ{( ̆Lx!0ÏW< R6>-I2D"ÕgޠC~6:Yw|qb{wOd*>eoZs̜eYK?H]@N$QՅ-raAZN|D布0,n墕ZT`X\H^4wC9a0+s Pj3XU`DG55gtB~Stc#XÌ_bS 1CO__3jc뚡.vb_[ӇU˥zr2Hz9LK1fK?Q ʯu)NDb,C>WE&#5yi(P O/}Pa=х'˿j ;KmN7Ig?X$EJʦ[ﺡa}ҳ]ޅGK;ا qu1~Ah1O{dZ .7ɚsWXF I"nB,nc]&k!{Vm V4W4-S7Br,b3J^|x`?i>E*l.p}^ށl>xiT:qO(_?Yf;Um&}˝^^㷭o16KnROC)=a naȡ6)Ciܬ'`rE@^{=m BFK`饹M 2"ZHcf$-Eb$CʬPw8޲mU&d&jx8m3c 뭅3QuU1TXvk9t_z"R T0_$- R{a7#j6`/~~@rFSCժ,VI 7(aHϚ%nVXasn϶; * -/+ qټBRThC6y2oM*PL$/1'_'GX?W-ݒM]ز̷0lX\}ٽ yYٺQ 9DQ2>2 Eٵ"_ce`DH$[aՃACڣ6d;=nDR=R U-oƹ|WK+|P-xz~%B@o\ b/,V+>yc8GS0$ρQk ^BX<r4K|2pKy1,_N3iz g.F c=\>0ayd '鱼t"]!/𐫘qd ,C 9C:o?] cE>0 :XsE(o A(?w8})+Q y>4RC-9wke#9GGi󪰈"|xt؊Bhf5M̚/h7Uٯ{~'a ձ'[6۔49!a,sE&h~]h廵{]߹0oF{ ߋϙ|o] HvѝOa)#X L1h.=c K^IN"_Bt׉IRrfѷ\3 yd ,{WLan*ءc1-0 h7,^"t|ԏA$@ػqxB 5^wDdE`/␲R,6 x +揦@e[*1p 3uY+쨚&^}|;)"!OWdSO]96v'Vŧs%,3n,5苬YOfoɬQXwѱ`So}Xogl;]`[U)G q/2*mR?-V^ xd{S2.qC]V,1[[5Xbȭ88P`K;AH1!}|4K頿6BĴE]md_.3$pY)p{ɖ.n,=Rẹ[fs}<^7rv:|--Aϕ^ =nu(bf !jAB}~kfF&_bf +=ѕq4upQix_͕^T 3`aї!y.NtvRk63j/)q%ZڥE 4=>?crJDٌw@I +MV:<;|r>DE#\" m\=jQ@3r͎f{|tAy2B#莗qo j6ήs!8NuՐ:}ɀ߬'\[D„7MM>I_q.t{xiC`-iUog0HiV)/R2?T_=7ZqY m3\ ,ꪗPQPgOpڭ4BeiYLAY. Ӳ41pL ms~M%UrNF*%=mH㝱xl}re>u_:*ؕ1(~M;*Zi.Bb+W$*==%Y* ;'i<9|̀:PQ5I1oT)9yr=iOw+k>_%aa,Z6`aMrYb6HPϊIoeAzDY2 #V&B+2Ĝ!stz¡ ڪ]|tKaix&ʦw^d{i tK*A,xnG8 o/bVjTuT&k> :2cZI\+aƬ)Yu5sm`F:w|eDz W ;R3ƥUMM2oy30nFNJ8΢,c.F9fGDKy'`Jb9x06F1hdo8qL.$sXqSp& SF] à FGWo{wC:: \9c@N%IGxcWVj*kA;5X +әg7\@>!j]J@5V۸M~6a𫢶,COVBD8~T/g(#L %$ki81K¬mؔS({\fy+FYG#RYȜZm26XXlZM[wY3|hdr;4w<t7.W#UC㐈r  ߜ YgCx8=f"\8 27VL!y*W*_$;ک%U*7P.`j_BEefm #sei =tYs,+!3CWh)(:r OHrh 0DHzV#0&˧ n1΃'Cd['cۮ޴^)A3?Rd.=_bV\~ᚶs:A2+D?%Y뚑GyR")bi1vwA{f1U]')CLAP+0;G%%1л?3sQ>%)._I46jpLt}αm0<gmwJ λ0#qZB ݓwVtTܻ;oV5Gߚg0E01e`|Gl=ԸDXK/mIX:xoo`} #s{ ˌr․^d34m ϯ4 cLnXoHlriHc V1+;d2havD81樚By/I]cM;׺㑭91o =YO_^#vQ|O@oA13kݰ9.5<.P.vhvBGV[֓9O\gGILX7:@ *cj*% a)&%GdC3ޖ4cl#mkr4oFxdʼnAߤ&8WnM{W~^* 95&9"~:ͽjP3YL ^Q"o>5gHpB!>&~VAK ?*W{}@iߍy/FTk"fg:䚗W%ԏs'wJ50Cxc+1939D݇ۡn|1i.ƿW (kK$mة5x׌VOM1@_zRZ}vG#bxV>=~0M.!K%Tusy/cQҡ^ǟK?rt,OYnl^*pi\&I-ZDe53)̓Hpueq\Bt[@Iz>ň۠=Tt~wKTneL+ZtON[o&L^S8|BymKkTwؐ'5Tf%|M]z}/~{uҥi%RN6l(P 8'UEk7Tìn\;<+5RG;90؏XH Zps_yԏڎ@OOQްuZ%r$ppŲN)G&:>GN}k5׭:f8hH9I"ϱR 3Ș;Mj'kǓ>d^h~A&oˆƖpH}D0gAc7XmhV[4#}3s٬] #<7fGU$4rԘsE=?[)}ymNsq$Q8ڙ4ae7%G)ۍ&7d!Kc\kNrC.$w+iOZ"!a9c[ 9ǣdnU24IZ׃ ΋b{Lq־@G=mߠ-IՠN6 6`zZp( :984kVI@iE7XV׿A!j^r2^hvEz\O10 a@-5|] EB=?ǝMOmoPpGSDLl%je˩"HA3C>Vq,ġ^:8.ع20a֬ͬm=&Vsd |5zKf%y9bYc3 $>k#%۸չ!3D*269]jK;UqT׽adZ @Dk Ìlf"=R2UL2/ }͆?O6X9Ml9^{8/-3]|RKŤ^;IjSP䮛weB{%ͯi~|5TeUת"iIJ@htp'G*HQ N/tgih&ܠW x=*kF%8vZ?W23HXbd 1n@kys ¦gb]Ad6 :o3lG0xrF+k$^13tk&?g'[Ql蕽q*/#VCobMSV?$-[nuCM0U P!u'/&p/LjP`3''M_nCrlchYBMIm-5o⹱0.%qxA8b[+~ɋMf.QLI4UڷF;gF6ĤQ1|Ie&+ߦq+vh|#ZvgK ko胚!<ɯaU,+TF{"܂uqI0QT"v =HOCO(Vחr+ igK#0kf'u c@ENX56Ҟ8pt70|-ڱoNz#N>S _ cb]V57ا ͫ9Z>4KTQ +%1at81.,6&Xeiq~vg}}HW&hkm>[t qMU7I'HUEh" #X,oOX[)L!َ2? Mt6 A|ӓV egs*R g qq& 'ZϨ}2 ?y5Lu02UřeF֞Oh7˴^r_b __WАE/gÝ)h30 Y}Df3 qۃGֿ&NzV:s/WfBhGfvC3y쇀15]]p]f<)1b0誟7 ?<_^6SnO(I0c%ELXms(%u &sdGN紦uZ(3$-vfwD"sWog! &N3i"g o[iXf[xHWatg֌R"j~D^5_46p|(=tF-Y'Zť篡xEt'd؄c~d ƁA@L唕|c) (=J=7ej &P'E9X08lC@3(ttJ3zwPU.y aNR!ꡤvP1;.78K/># IT'DXZ-j-,$8t #;~}mןsu䣃>fEyC*jZa9aGM"ŃY&~5>C6rvO pٽz@"zV?,qn\it+KT7! QF}^{Z\~2SB $J1I˓엞i6_n@4OM=(bܗ?e~g[^-1}Rh 'ʱp?e-0=G]ڨJێO>{?2ȫ!?U߮\_}.e[J7恊ZkwXzZ(m.>Y|!|5c]Qm1uj2H!I\)dЋ;\c:I=4;O=Lf(m=.E8DVbUfP W @ l?_-Yb_ K\ j3;7Q7zpXO[2<._VUO*kUh$w~~zūJkӟoB)4uа:|ZK#U8߃U%ArXy43Ś-q;qȅ#֥SB <|qHRz>x( _`:~ܥmSq:wnTۆ?^'FO02PGh1R2t1  |6JI+976_h:BLb8nH< *Kʩ.Elu|[.u}7o%oF gK%~@rI}>]RLCxحrȟ 5cS A@/kǗl%.-M5+_9G 84?G3M"匦 V#>ׂj;EKXbu, 6,eXk-yw$.~&)yPmN ʀ/G}zWf1UFg.fnM}9Mqk32P/kj{WwoMb0\cB]Q= 4RnҞ~ .(=MH;JzW__0810Y^< Ka&͋oy[Pٵ=8PA(t^O5vkaPÏta`W̄[30bw1#xYN@z4J^sSm*M A~t~HJ8쥙=J'Y8pn })Id1#w]]qYx0شO<*l0v!!5?0M5ylLΗ,5jaȀ4Pusq V4P7m̮˫zX鱳r&OtuWRP_$7V[Oh"V?uz'hyFvM i݁`?QÚA Pwro))Ulp12 W>yu?YN3H[/f+,ta,(6v)"#[Wxd)&w>Jx5!Iv|WH6pĸ1 aY w'QG'/CyD2- KBݵ ם>}f+{bŠŜs܌>.o:.ƒ\ѳ3,.j4=7^lx,k!qPR:\V\=qZSPA>J!|};p&I Trr h[Yui{Y3WhNDī“p& =Zn*P[vfnwrR|Ztڏ.K:91"Y:9D^uwCQ( Ĵ}> 28I^6r2Ma֥ڍh]Qy4_8bpfpI z*{x 9tG<ϓabGΠUP. O{Rފ_o9H%yAJQ⡉$h?( >l2kr\~%4}Q\e ]Dn]H5 H@ͻB${xqՓS涔~ɭ F~|VԿ80^{sϼ'@T>"Ra4db2UdU}lF}O2w+`ЃwMv`&m;fDحi(]6HR 1D㝬p' wTz:&b(ƗY{NJ#S]Se8_GKфU<ȸ*+(=M(0#gh8 Ш=)F1s0DiE̶r16N` ![J#xcˢԓFa8e;q9w_ 3D+sE6b'XˊHg͵?IEf|WWBpl1;c/v9cAcx#j83SRAy; hH#zO'qƯm@LA%RR~t<0|Z'yi1„4e]עo,ۃ spz9So-Jr% pTjGg@ʈطr)_Ǩ^-Wy>Ǽ&阣+oM*ryYgM҅ڳWx#Bt^FGJ1>fσm'c4s %^V'L%+izǤW I#!Rp- ZS7 $5!aZ|գ#b4hx*?9 MKhb$ӼMgϺǬpn KXm7"_"q|ԴoؿGj üJtۤx{jbB>䤃c'E{iA4s ][]}-@+"3Tn#?`x$8Ku1ɳʽ,%}=52dqUCc _8G~0[Ak G?Y)R{3#P;n3ݏ峕5'wB)JP>X&;F쬑Lnha?HDw9%U1m8@?fّܵ2AA A1O ShJosUTj?u٫{!ʛ`li^nqbg۷u:)a3a? he 8H_?6w\Ye=Aҋw{ 95S5ht&W] sbjO~c:uYseA8t<Ձ)_3E$,T+!TjFnsָܮyޤe8ۥ[-w}w%x9SBs|ȇhB_D= `Yt.lFKfOmN)BGEPCE1,g:- v~t6#gS7 g݇~he2ny 4纰E%t08Wʸ4̿[@7xk%/I:| +؂ErŧgLpmG#ZFc?C$揱 b7MAyfjyǒTu8on:9Z'yd *rwDoɝ՛Shl"cZkKqRMdMue&ݤx DcQ6}'h?R7wgڕza Wn3W*ez7uIa+H8^^4Ĝ3:%zHki}|lE Be‚dVoYez:7 KPL1NSx1re:B?\(UTJVxPi7`ѭVyg 1`;gke,.m27BSb$ d,8Jv=o ҢY2R'tOp+NշEgNsU3“I8c(M&pME1==QaCʿE"ft@YK?B\ T{{iY s J» ߀TFb0{W-Y2>G"n5~2ס.?~UaCO_-Y9|%WYq6RtKꭧZ nuG#/,2vyHC!q9J1p9ވZi/!7J~Xwo5VhwuB7M˴qU}JL/F tvseqxҧDgl-+&Σ0 P f K_O#R>F6N3?;^ etJt[L {+>RY"E-=_Ih]A:_8 A2pt0(s#3hIh*$::c4PqE>tjUh]k3^&"{,ve3SDU0#}q { _ˏW7ս$9zro]_Z"3Mw)x0%ӐA8ˊ.bZ|dϟ<.Ƨm'h9{|} q||Wt(lxCͯa*sh%TYO=#lvM2gP gj+"A%W0ozO#|>3BZ9r S2kܯXX?{H%:@7gTޓ/vmBUՔ ƠqYyā;4ǿR 穈rnvio̒Fd\BNc{zz62,eąf#`7#LhM+WP}$>$io' HI4ـD1;Νh^"sz},RME%\oΗFظW2OjIT$ ,sR‚rD[DgKc|#k)T}\ ƘshzB7]+a sd-@] ti'k\uKm2A=gdHY uً^K0~0/atD$4y *u=HQ|ve~9U]Q<+[a!;g[H28FAkr._B eh2pP2("a9ޓQX0ZH79 =!EߔD%n(")oLg/bܱA6f5CڿȺZ!Uˣl1O(;K%ӶLwD)>8~%JlwyIoIgCVa?-܁61}NE;?VVL;>Y y-^DL헞 tY3}?Nd. . /GIqORo n ņ.bX+RsCWV$yv{0gA/'~lއI=q]`'_^k^wӴ+bwQpmLo5ɓ7s7qwᑣ T<iR͡HRUI?β8oa߿zW?ՐGs*yrR?n.& )рyx]i7D;IY.~Pj5[y~h/wTJMX$YBI7|ryk8kӝMoC4 !_U==GF])+F?X7a|%&Dz>o8X۵`F}Vb/ NE"4й 6g=X6{|W[mXUUI˿`lI-@<;v7S$4O=ZDE/v ,:.'[ b@3W+^.tȮ`GgY 0dݎ1uq tx+l 8vG֚GMf+}U2AZC )k̡*j.XFt(= 2ϊ%T8?";{|o~qG$T>r=27!UƤg$tn>Ug= JwCI|xyqt%[]/9$Z,5]rg u<"NQo,ƨA2y8_A9,M菐QS`2K:Invʴ`υхYL[0|=Y9|`rϗoOgS~ym%]Sjqiʖ-i-wֆu ei!Cf>1O/X}O((ۅ{zU !}̋h ]kr=./x8Ym{_8~˙-;΍}_2!QZMPvd˖\eX] @"/@">N+[a Ď%m)o\aK꒶&]]*>-zuv CTv2ŏm7**< B| Vk5*ٹAYW亲lLL[`V[xEnͽ$)6xR hlb3[7Au$k]]?xIp Gc)Ok†{;bv#c|Dv ivřM֬ W$_bti ۘH?6#]~}1ؖ%*xbjpXlR ʶ*Ql1:ˉF8)&hZ͊K*̞'ȶlKY]t\gȪu/`?ZGͲ`e]-;F7m { ? z k2kk/MzaYXí&882jA4@vN﬎%<5ݶY"wL'DkM737HЛޏڹV& X`_ƦbՇ]N׫B;QSX5㙾*8Io^-LuUᕽ,*^ǎ93jvT'bөv⡊y]ԃئj$c?5ݵW:N "R$e*vf&2UDfN!_)/xXh;ʌ~%SV$\A+Uն*L-GܣBdMc=A7l渲VQFޖErœu?UVd(^MJsﺥ\H'#*yFgKorntQV< +a6+B[qՍ%DzbCA҂%ŤaMb^02w1XV.&]Eϧ[(6iEw`DjA ݄E&5]w@7nrnjqƎW)H739^ 'C3o S7k<slS<cHvG;F $YoӨ>x\r\#lYTnv9YnK@C4*aesȉllU_[hZOsT [V8Ė|7A& cdU#3G8H4+S|{e%{~ m2)#1hwnit$GvÝ\YXnuZ+؍F$-D7\Ws;EHw*j[Dqh✕Y#/6tL~2 fSTgmg, N!d67w4TGbJ5daԤnPi1xFbqn$69=b@R?N(~qV^w}h \ڛf}qu &SuF5^* YYز!Wxj;遳V0Fs.qr)"V>HmVbt .2OٱbL{t/L}ַJ%oFas{IdGJ+Pif'j#Q ǚIR<.7,q v!7L(lmq SG~I;Bwd+ `JyCCZXs&wlz=l0k-#^&z "0#b J>W h%օ NuDgÔ,Oe~PgڗևMr{^)1lS,pj'Uq9`Ȧi#:d*jjC2OTy:rU*?Q;%P؍ucʪRrd59(dnn,dVjbSss03ͥq8Fi*\߻\ Lu^6J7K\`ڂ$;7V*MDJ{0:^.7@xpƬ0/qm]cW,Yg6:+zϛEJx[h-5*vlOH xnr(wʚE\nnq^!2y5˶uAҬ⦋MSYӮ2tWyV,Vz<:4n98FwF\bɳެ0p71fq|S 2MyxTT'Jmw:1I,G@e߬w ZXڭ2M$7k;D-viG6*5MSu$-V\H`]r0VG'5Kw1;ZMhR?&K{> 7˃WL]ddq-<^ 'ڻnWL~lGSnw@IYpHpsnxatVy2gNdؤ$b͆=D l\g%m1G60KQs;/t F_bf8nMJðmM/blM+chS:Vd)ƏxǭOJh2V}}eWb46/` m9TbC]geXcu:ڴ&漿t3`C{{W,%FSoMVu`K\4A&u .(Ȏki:% z]yښ5{EkTvd~yoVjW͒i. _Y4,Jlh*v]^ޛ:Xss2elMz[KWia/0Y˼W>ni.=Ӭ͚MYϼwDVQ2֦:cTs-V)6Fpq?%_OA3߈Guv)rb‹Y*=_G5oֶ,*86j 1|4ƌ|7 e3;]3>Q~Qk7VVvھ>GH=|]Eمfm/ӵ9L4,:,f5 jnHn0$$f`rpl52d'7ZWthꕚZ a#L8Glnfr, .Ԯ1/bhh\=uʇں|­9YϭMrHxbx;|m2EG 1JAN' h8ŀ d$awBL`2x se. U؍>kf?i75Hv5SmY,1o-[:Rz"5.ҐVcA'x<ŠY#xrb%܆˵hX^mj@t N11[V q7#ѺŗRp.5<)$"˝k^^Nx^+B3(tH΢t޴K/qw~mtU96՞nո;Mp2Ow#Ƥfd69kDleetLZ~rqkH2 n#:Z%뱺1Wٵ(GHp\qY1#͢Xl9vtpq4:n*nӹo%tۏ6! W(CDD52wrªgB& `3+Ls$6 .gƁ 3tuk!{'1hb)*EƋn֝"̀n$3XVcwn]>`Fp?2jöANmގSR/jdv(1{ ^&pj-k8W`j3B<4X&1f阌,[2kFY*zltc<,D10egMi Aڙò54ᰘG9,K o6gD^;A-BǺK|;q'}@znƆF*r)Nc`d|W't|,YjVRfZNva0еlG46a"Xׄ[v"Q2Isc $36A7趬AWبfG2;MKj xV }la?4KdN85I6Q@ZVe3Ial$5M\l۹q%LӚ%f%.5VxW\S hL({|mOM;μIA<;DЫ/NfaKE溰tCt0Ƈc7h3q)GHpLz'>Y&c\otDi%c8:y 6+qb%Irć$ݴf"SkT*s";pP/L63xKZ>ͮCUaJQnŷQ5JqS['ȉDuTVҶ+ঔI%[$xLXF ?៿g__6v:+8oW {T?sV鬒No̼s_#Z.;TٞO 3_4#:o}ؕ7y\I$7oW{ GЕwG(yrIgg6^۝;{xgzƿV<~2R~=ol(EhRtuu) l3_φmΪ $qyW|5oӎI=_ 愑g@3BߩlORh2`qo:F`2Fj"}j>v~g3A32xH1'C\ fx&!H=gJ Y, <{!J L *5BcɞPfLҀb=#"|#g"oWbC'#<m!ѷ`Z =%gTx!'cL%c0oM:2h+OeUh`0F ? $|z!BG` #=P"%q4 L!JD@!B3Dkx0I*0 oox!4 ?J3881=W#pGpEzml}>^)N9DqՅYT^(@Ņx@PL/43!5 ݩ:CL:|`_6A[7E9DPp8bRD\aFCD/9L>u />2&FD%/$+B55QC0"ϥGƋsC]J=%|Tzˠ.cj%"! %g`9g2 pf%S!B2Ma`  o+M.eUuyDŽP WW뮠(7yW4+8,V($ +Oǹ1  CB(/%:m`7h2bW0>$Jq]$W \I;Oz`P:a`ؼfwFi+XH1{*8%L1` 8Rߋ&d`/Bt#0 ~ +ې^> R7 (VY!_0ˌ5ݱg=8 zZ@[1G@6%CZAXƒL3P TS]hp1TL:Cz+&K0*.!7!KvYᯪ/ϐO(7# z߿ r¯(|0hmߍ|q0gc<"g!ie,ss3'_ů Թ P3Rw]}a&Ҹ0k 3NӣFN8vkvbE؇C#`kP4 CПBJꂂqf}GkD| >w\*]}5R|8FpEg+EJ>=3{d0/r[^{/G~~[4R/2=bAyu|o&bҪKrIWL5/HX/|mn(EOl#=/`2%Q#ޮU/qW<Iȇx3^q͗!&Oz 1 (`+u5598޳ B-b-gpAzsLhs (LER͌X@1v_@ccY{hLJcn87F+`8/D ?aCRe gHYD&`EUkI 4zE-pOTm@H0zx-=,'!f'DBjS< $Pj 7@ PB `$" Ԑ!]t<OOF0{~_WЮ4"_ˊ{L9V:ʭLFă?&jN{ }S``EtT0}s3NN[Jy30OU?##W3jt^!pv M8X@}F|KOpr:@6AKJJ!%|뼈b ~ oaLqa|i F"$%("=MVr N;=AIр8 D! z ^JFb%>Z̯PX@-2?xO+ֆ+huj" b2yB:jPo='`SgiÇ9#NC0RebgRH(~0mMM nЭ/Z"$^eHQl'lp Ɂe zլgozYB7>3Ϩ1M0TM? [RjA8 k2L8ЊSU/wl-VɦȓQ1[D3^D4)"1F@m q ?eA/8tJaʑ^mIPO)!H@3,V[A œp!3iq5}w6z7ȵCB403r@/zׂ4Y !4f֥z h .0W>O=Pf},)%b>KRϯSq _hT2oS4a>B}z||d0} kI }_4 XB{=@;gI6P8eE+1hror P=h2 qvɉ}{ ht|pP&}cՁFzl0 $[TóNiI *X@_Y1$?:qlj(QzECj\qkp_mah)i=7>~| v(EQ_\AQy2}FϻP`ܧTfH=cD]i|(Y!1QP Sr]CI? Ci賷}HT,(tbRM :~/jĔ yi?\˹,tTi$\k};) B(Ms&<jkNͬ?UzLo2ISN?'룠&/e`D_FW9g=qzdW=@q_̶ _o?WN#BΛ|Ġ0󷷝|'꜀M~\2ǕCsFS 31 ^64>[ES\\. (Ld rWN/2ryFG~tH%=X4~pċ󋿔t5@͇^sϳ!-z9!H7ļ}~!_}FRtXP?N>(t;Lқgv_??|ű_ɇTQq9`^'ʈI5N(#z;I[Ak|A:;KCT2>_㺾_*\7:)Cwg3?8y?qf<鉦*XΓ W>!D.?6}ħ'#.i#)}5b&:!@곖A~V# t +}{9dPHJ+&>M|; E->p Ƴw)\9>m+pΎ{:v~_0-JXTQȿd$0}$}ItOq }bk?$G:VA_($Ot~:.0 =.r PIԿN'/s˼T^ڡe~@y~itxK뷛,sG Oc}RL`";}KOmݯ̀ΊMצ'Ac[8 ,ոH2.XN>^c FŠcy@" ) =?($<ƿ2K _|GLb#%jA&Ə_GX|P> }(߈+y$UЕ[A?<=% !Tw%b|%e1}XG,A . ¡3 uu?#,J΄bୂyT}iJtW<%!jcy66 ĩ1 3`(I@)y].]19lЫc U%9O;!?zWQCiߑoT#wl+NZK0oҵ]_odT|ա*ec1yzPzwUĨUJV1V Fca+^l&ɤ< ph ZhF![^ &ivY'F}ba3GR}ڄ lKtr" țCuvsEހut:=+ ޸+%R:2{l_: N*]}J.:>Lu[u4 ~~b"bͰ Vޙ]q{Bb̏0Ʉu{(׿M'L)j:O!aj }+Waj:ݨ0'$'L >b{a 0OnrK8%ggN8%N*t~oժsaR_CebbA}UkҗJ`)8Jxz q䳓 <%(P_K~0 ևy~$b ce%H )aHzNnw=}ORrjb蛤_W+]3qS%Sٛ;%:yZ+Lݍ罻]¿P C\&A;.0n슮ޕЍ|:I濔F3J떁%D[F֏Gm.z|w]le$,JTcܠE+Rj~Ԗ7$@FedWw4p 3bFf7%ʢ5@]8n䖶JA ,ɭNbsNߓLݘ7"Ī7ku|=Ho%r|R6e8νeuNݟ[ZF2=_I60}o-!M ¸*sZnj%>h@brZ7ٔƮ6x:u3Q[:n Sz ;_quB{u ޲TQ ڞ*+ |7-P|}M&{,k̶d?au?~ඣw])Q٠gx9kn˙{ssOLLpôk+5nP;k6釰Vn^[ |V_ϗ lVO=3􊖼+L8^P5a㯿] 9zyc?#C:۰ʼnQWjkB5[5E)~z{UBrtnomr ٭_5>q}-#WvLAXoC:m" L!snM'SI! 5oկU蔣KL#t{ؤ0 DbP`-AFoCKj`n?cR_m37S2껎D+OFCG쎻~޶rK,s뎸Vic6[w .~g*Gшͥ_>׻ooBZtO&;_a-\`zn|/,aټh_~txqzjՍhd OHb?)%$d`D9}|^W6#OtEHxgNZMI7w|R%*h`Iũ8wUӳn"[`t>C]x|Cte~Ic=CŧYY@ "P P_s9v\ù⭫"u3.?I[rc-^^!~4 3`=W}㭭( 3. \gaO` 1I2.Wu])s06ǯ5ť4> }Bx5f68(PjАu)@WjJE _Pc/BOD] i+U gDT)"dpҺ~TRdž9t|Ӂ €^yˆC aL`3x3a[X ׀+Ù_F0 } Y&C_y.\T0H\42.HN>7ִc8~  }:i)F sB=#JH7SE^Ƅͩ ^>o6;Ԑۚ`P7֗V_.$S /O.  2̘9U~)!`S!u*`._L:ϴW1# _ Sk50 ~]I{SJiUx LKPC)$y~)zlR!B@zF {a| N+CbTyDi! o/Cya1uyFAgΌ7![P0gu} \t%u-_NB?ܵ{mܽAl/ ʙM0枫ܻ1|:nKӿR@-:>dX j/<`%諐W!L!i+_i/np`A6,sȷg볠7% l(0ڤ`. ,7 }8yXJ]{q|)eDcL,ߞhA75dOߗ"guB@zL̀n/%y(u!t.}qhp[]-z LhKzPƴyn7 :/TJVI|i IgJ˨g\QF|45 ^4w N}L % d1N1FpH? eTIZ'C:WyT:8}d/* ]2C(._B~.UOΉ4 YΈT;ymxgb4|"(h*ޭ9H+ NDw 2ɱ8xh-K:;3d@5 ukUD D/Z~C^&[=ΉvH igX|7FD.G0by6ϔ74(6q#`\ɍpR7*,ÖQ>X_;--Cq3x +%s|]Ƙ :h.gI?5_Sx5YKZvmޔxœ@Gۦfyz$m^gm  StjP U5z y,5Q\v$P¢bRej>T,XjrRkң4f^Xh*W̼fۺ#QCwxq/*O:sN.>^X595XrfH9Ҥ}}lFPث?꺋3)YamP i!Z,?U^u#Kk_ϾnVk7?Iv_RhVgȔꨲDʂeXm^KUb0ݛ !NW-qt\RxKF0gp3AJ{noi@~r5agHPSX܁DVдm ]'7'%tI/_a%@begNy*@č2Rz1NA^wWf}5~$4[2rDee_$Uz'E9yM[eSETlV7|D.i5B;1zAav+v1g_֮n0uRh||A(Y)<}HAh(b>`f-ZN̪G#8OjM'R1DZ3qc ?B1C3GDsB(堍51ҏqb PFX*K\i1!ihnjY|Gs4yLǼ ĔHSgZmT2#zB-p{8û@gx~ 0բy0DLG68 yʵLCZ?~&c:qb4Rsܼ22)0ctL@wd%"ǰm~ -rGbx ;cVqX ʊoQ5L2bq7m4>1K]ď߀AL;'%-?`$n Fb:m:{Р9ف0c6(?W(n)>6i4?gFl|X3u>#aNWG\ g]ThxVl>Z k!ĺHd.ĸ?Z a,&QH˺ 6BTYcNB0YSig?-,:ӌXC< CX7ᯱ?@%Vy Ykq.#*t+F*{!# 0$_> ! 'zsP(kRpf< \"ҨKm-q(NO7Q%h ,@A̚4!`l 1WR`{xAybc2x 3g}rx%""V.Pt6/ښXk&5dX5eqeSKǀl_ѱcbj`y>@DsJp |#d_g%*o>ƑǙı0x x iG`Ł AbVK,ȷ9)$Ndj<ɄvsM mazB<<ǩ^eP@L3Mcf" 6&FY-t~(I[aǚL,#=%!}BɉYKњy>U3CƢ;&^,<4ؕDabΨ 61?&m$L5wwFtlj 9=lC2Y`:.$qO-4tf-W8Vwñ&ժpot,LyP $~5(B*X%[jJvZPcusVlSҤ{\Jn_jJ~V_ JcɌ7m]:)Y:QJZV$4!W)DzG;/;K:xNņ~^rϪS=1 `@PxBn*K65Y X"Xu*"h ǹD`ժ:+5N:5^&H+!ayV#YU!xWV*e3/H#Y`+`E*7ۣPV_9XURSF*16ޠ>>]OS}w/ J{ Ӌ`0P}gNP2,ˎUQ-JsNϺ/Ei^$Hwɰ׾ $B&m@#Żn{Ƅ%$ۋ!ryB64ISP2͸qz6Z@LajvL&ྌ{˨  [#LO=cD±fsO5haAC 0kRN"\ ;s7 A)?'ߛrs_\>->k~ ) ,. ^%?M:oi>{+=.4~ی*HU@b]LV+6ۺ=;1L 9׉Ե^r\iR|!?ҳtBh@DFIB[]ZcEƒ;U0_%fQ܄Am.U Wu~ᘽap6i/N58eS2)cڅIύ}Ӿ3*)jMF86ew+i2ʡ.;K^vJVR/dE*Q/[/ M]ÉT4ʆK)F;zfw^;45Jօ.%Y'%DE$[Ç$R9lC/o pu9G'QJ{ӈ t'}/D*/fU"- dEki-;EleۇX@)J@NQf%8`5K]υUVxRX07 Z !Iq?`$t;Q+?;qW(I0=-SK fܢN ׹_jeE*~k9|OpV#aN~Vrh5#>] #‴Ng!ªY:>#|_\>{( 3QFPP/b:Py̋y˖QFPv$a{煲Lf .eL$^z1LŧcynR9ynLкҝR8pQX*Eq.k2ؾ\+7FSR !ap۬RTJ{<*nҁR)a/Obch)i策!ʻMJ4HdyXChX}`t,L+"]^z>mrz\ }iTրp5ԆX  ]e@^$&ۭ(ˡ|.LcՆe\3HQz*ŗX /EW꠩lᙧUZّ-cmY[wLFO$a Lk3KX,|s}gyah |wp)".Ix'|f Bm0iZ[ŘDj.$R $Vl]$;S..Kqi.%ْ|).yi@ΩRHFL:Y$.I@$ 1? &Kͭ;9JgsKQq8ir\J%|\jp6:'K3:уy%WKcFaQw9,BȌ,؆}JjELzf {$F$Jt˰,=7F%57$Q2R]] QOg^ s̥u6sI>$ X}&i:a禱Kkl} );Pp!ni"G N,{nb.)fAa* >ji&rCwb/-bK)DHb%g"lT';Do#ѥNeHfף~چI%yހ4t,ctm“Iv6gse=muA6yb-JNuQĨsJ?>JF d-^ά*m>ޙaN@,j.Ge_A)=l;Y; 7tcK/]CdV,Ԫq߫E_~B"o%Ȟ(ZW$D& ^ugz2LYQeir˄rmYYe9` \mb*Ie"ɺ|>(]4 TF_|SDa(M$V"3c]6;4IξLdF}er\ LU b{բHlLDofVkūzz5\hDBp֩"z|^QbAV\~_O,gJAl3 %($k4Ju}'? {XRY5.΍-A@`+lgCibLTأ{4zgeWaND Y6KnҬd&I0SVsOsOFt,8dBp^IBV#b*C:1%hb5BCJ6ڞ`yrxoki[IL&CPZ\887 e}ygn z)Аz3;ic-Ά4Y`OK `}q}qtno$$DMAȧGa8NKwqZx[ֆkT,JucQA >q }C|Yq]>/Ebr$H{oCȉJ!bm/s̰$|ύ $CfAA>0Wn )6\5B9>>"i1d¢VCcXfgz0Vg% /3$q-[ 0i$kNC\mY׷a[zltN@ 'QNȺ:v`Xaq.!̂RԈL0('6CQf& z̰ nh.>:%FyGf[c#h{.KHd~(o<!V[ŌĜEiSٰScYSHz4JUBϊtt Oͨ/:ǥ\3;x}$u[_߁O$/9BP ȿ6Ux}fii3L³A9*A 0批gKO% jE2HwB

L7tazg>Ϥ_|ޯ&u4;S} M^0Rv`g ?)_\5Α:|R[ɩ* F8cSQ*`oY)! hpwjRUYBJR1W̒\*N(]ArF+=. A'!e8 8=ĺUi=Eq=׊IJnsro!$oTHʝqZRrXMkS1RDI4˦6 =䶣YM^gm!hk JCߐ8L2z ͻOr1#>&zݿ}A~/- .\ QOa?񿠮~˟_i.vc ĬI۷;*y'6hm):7>5S 4BL#.@)ciͤGQgJdpj<1$j='w_ 4n;%jqy$RT6>@ sMA'DoʭWu50x5.(zt,4Do@K&^7?fY–-E1"+I7?Kzb9MNc-'YsJ {SXLƒSo]]LoAž o-@C׽6qR@-\W/NrЫyXz.Z]y2|_dj`ZJ%? ,z@pfbcc55;<44I )Yh"Lvpw|\I C^4ن *5NN*FJK`NY4 à+=lM;ŋ#_RF6`)i4zY* )_Ld*{=w :6n~/MqusM?%[(}/oh8xŬ3`zk×Wz=tL<"zKuIr\}x1މT/zo"cбapn>\1 7Ybjx'ܼf ;D7bn^hN)|^xUcs1T@eN?枼Rj|?gfIQR)J+)H).zjT껾Ik2Yߓ'G?x75BA2Ye>e\t}ƒ~eT%&{c-V6~_٤'k= W26+eÝk,OgDSΫ<7LҔ` 44JR }" zRw,\CHQGxYG"(M]:ŗ*)e|yۯ.Wp3 79]3/yA?O~)5K|y?}߿\~xs|OyOL>xْ$ͼ}$8d"ݘ'GCVU?~nb{LjdHN BNu>RM\*A9VRi0`Dtvy\uj~J$Ro:enA3"-oSsv(\W1չ%mƖIOXgg^BFtU3m^ {5&\ W~'jyRab753txsJ^>_cŁǀzJIVà{Ր,ԥnVKyi7gݓ mF7Q0M!HJrD*%驡[Kk;)b*$^]$LF.}^Mwi*$Ub΍B7dUb;'P{"|ߩL;٠1"BݫɅ6$dfB<̜&7F⻺2@c=<0NMXz@=hFR tae&R'ӪTLxSS!g@`fpr7Q'w\H?<< R'8;}8ˢ!y)3/lͣ4[HMdaZD"MqMyr]iw=Iϲv2tp!i#JL|{l]ĚI3ۏyt/$|hGi+2{<ӗc#w>a81̵vҵ!hoG}n6ݻ_ -"j:ai]xR1 HE[ZTTj\ J⅗ . PTQPg/:Pi; ;}};p(|s筍JdipeTiK015Ә-oҬ̔t g,9eB=Ji-47|plQ k@2" DVS~w; '2NqM7gㄛ&MlP_N1tLI^)! y]hQgԱ^8g|J솫,8*5)n ug- NOޙy ӖƳ")Nhώ#}{nAt<7s3u$t:'98ޯs  Ssajj4iZo(_ dR(LG&4`g83(9pA`D^e=TP_důkWZUB`)X>TXh4L/E|wLy$D==*FCpM`}Ě /EqsvUz2#Tf\?./Q"քٯR \sGb aֺxk/"-ae4ca&̈́f=!=b,F~^_v C-Md⭧i% J=h|<2P {}grq[ʛC\՞*8`dMdfH ,{k*Rud+6w0ƾTÙKg+52rN`@I"r%C&`ڲJsVPhHY)$N*my[{:~mt=e">/oUb6,B KXanDZ$z/}U-Ib=<`[jTr5֋TĒH8ꕈEsz \b)ot l;dpշ@Vt;)eZ 8؍K1&sE1$f38#̭+4,(U)˽uCJ d[2#+3N7ŹC HLV,dd06Z1*4>҇͒4Sײ,4Ԡ+ef!}, \ '.֛H_7 Y7 QR1[o#Æ$ȤyL>>z1[S3BvXszy=o7Kl7~zz@%Y {1uf!WKz¿%YW`,䗳,<)B4Z2즕kc$du磰 {J|7_oć|@D=K>14L3E5qQ/ KZDz3i|! t HxƱG8 |=s |驓8K#q\}<㇀g$ 4ER](ZX`9JҖu2*e^ߺR}J5MEw2|]#kv2b?Œxd)?ϸKx>=].˨:[k-Wlepo@k/յJ9=6p^Yƛ-H  nЩؼҖP/쥼c1˴N u\Y> /5Ĥ3_'Kaķ{[P&*ex#I`b@)1Kg߆ 4+<&o~ӻv 4봆5n4``ظOK68nϧ>dVgq0~9}&J}kf]8m y=Ǣt(>Z4R<0a:cyQ1 auT9=t;E#A80hyoc}WzwwaK;sr,5HO{?J'1 ǩ*1wwu`b+4߷|LMk`껫c8W]%J;'m<[zb{ltE艭zJgS?+U/0=%~\{tNh^v鉭~~\ZѳWgV}NHTQ xNWQELe\ ٟkw$e֧ѕj3g!Η@>v+V [U@ҩ`hܵ}=3Zz-Sm#8F*IGMTgĔǎG[fh~m[jjf5d;1O{h3 ŧ&b FLJY+jv4Fw{ !Pg(nx4$'b퇚\so몿Y:%i絴L5/1ـC''^JLb|sqиgKpxMo T'ϟD%[e*K<%je9FH!Frﳕҙr(RfF<-ZnPgLkN7K3ۂn8+YkJ%+ko#I;VpgD 'ke%$ekm:=6\[k{'ŹŹK`^XP^!>z£8@#}EK VN|@CMB.ؤx}q}qCT%;K+1׶Z{_/ ͰfrW!DJi F@:hC2 LnVr`$E߀td%Վl}qnԓIIs9i'8޼GMWA&y KD\uAGV{285xU? 77u& .jwUK:HC#,8ȍYϮs{S){ß35ׯ>7$_/[ &rX .FZp<ߘ<l$WvUNWP#SB6 >lweB蛳E-vOA[lG68'S:}lmVi649t?*0*O(F@3SޞȞ{J,,߽ߟ>w?珯Û?|˻w?pi)S5%FեL'~26!^HG.ǿooO7f#i/P6bfzAl$mwY6v8Gؙ,oCZ ww$e \Z$4m@y۟C^?FkGMvн΅R(A5$*O/sHF_:2hNKҥ+cjfw}q}qD2blH/0l+p&JOHi&UuǯsYV6C%!Jmgk~v+e/N}.:V,6GnbfMF?Y< 8l`8=Ċ*x܅F[p AIb3uL.dbZܧ 6v-5I‰cȏj(Qj@8ʳŹJ\rW$,q%Q*L:.N_,:Uzk_(!E+Q:a6XP ,9& sds),nyje,N#mUb iS]jd'`u(HNDuK&MA-uYckxٗ?<7D@c6zMjDErZf7il^5l!ͮ#_`z'q{Tcd7G2PJIӠd̄a*KƧܥztuLRRf A@Z"4Ng0RBmKe獥t007;+heSMBJf_`pnigu'S OPM{{?W#\랔dT[.4JMÍ2mr:K{0`0aݸ,Zy-1&H@fZBO1&_h;W,i/}-VCڿ6zV1Vs+~_T1+/ѕ FԊSzGG`V镺q7nz暦$rQ̵]ӹPYaʗjLۃ``سz'RRc 2W Ju+%}RQ$PE}ŬBNrݩ B躟Aug򖱆4XC뚜c([Qz,.eLfٴsdjw*kd^kk+ ~e`kBԹt 3Y8CI\Ӎn>%zԚʀL@RY{'X9M;ݚ80P;Vpd"^u) eHSactk`AʽkMtNa;&P3ʥp2~H3Ԧ\V,E,ٟPD4t0*@Wlչrp%ӕۊR^߾ĸ xD{JO^㻟gW@]E'mɦp\5[A{F&ol g WnaF -~QWpH](Ϭ߆RB׶fW,iP}`$mg"թ  `LfG愁eyFT3J3u&W:L8eBmE<)XiKWyyXiūؔY4r^.,XEHi^g-91Z.b罴2/mgO^u+}`ITO+Wzj/EI~gC* gÂ-%Aͅ7JU-ۍ> ,[<&{ޱX:HO5-,;"@*A"9N= uhK,粷LVI W6~ŦP󏨦ug(*5kL&YLM#w^dиeus܂YVrQ]]+[O ''T`/q=]EH*~c@ Sf 2{Cqy)VL+gvVf-m;T5Ѕc2*!A:K./^*J321V3em6~1XIL Rv.UO;?-'_A)HK{QG>V) ['_l$C /m|䵊m߅Qq;LŝVPq焦3kT6aQѾeQֆ(+\],fi)33H(|4 %@O AFY} xV(ipIbY.V}eQ0 $_wy,{S,0b̹9ss6nSr\^r3w_;q> Z=ձFЌC`)Ź.$Ms+M!X>.VFk&_L, i  >OiY`K6Ic;yΘN,$7(p8z#+-PSΏצǛO/Ke#5YFY>eYLͻO[y!ȞNZ3xmvw$R|wxw]S9Lë?M?N޽^qO׿fhe__p˖S_:?a%?R~ >A&Qy^u~nOToKxUqZPH߉ 8ؠB9ݥ6JRhbP-L.1Nq:$ cgW*S+ 3)3@t!AbrA9hyxLPt9~lυȲ훦$k$./u%32. w¹/\# H'9FCtפbPa,4m. >r YO#%!y<'yGvQ<+ 9e1NL,2LJ>A>FLW?U]Pz׎'Fk1'IdHsXoWE.Ƒ-nH⭇@k_UА #UHA sFhmsI)!ک512JbVޞsRu#]NH(1'ŽEddsM$YM$W'>%ۛWnگ61tr ɁHGWT&ThԀDe"]aٯvBXۛ*;C.`T=N1ȝf&?>?;oiJN,WE7"\8Ȟ?ë7&U7,-ZHAnvnn+bkTnnԑj#&[!.ޚ;=J[F'Mڨ^l()^ Ftqq5z(7^jyDX}bZDiZ\40#nY 殙"T-g]Rk֋L KZk$ZTKjeZDgepIZZdSR28oY-ɩ TLSͽZ&g5 s^`kֿk2(y5X=uSKאB =ɵ痢QiiѮ M k8 M]p4Tm{HMKkM/O[.qVz%GbKjo8x]=q`Yؖ}FyJ%OnP'(8/ވ\S$TS&.&=yh7y&`X',m*Ji:ѷќNb`< 5FXm< l1/*\P7ϧiK+vk2ͱ&7fnGg؍sSJunFa ;mhZ)nۍ?%)(fDS1p/d L$+X]e v9#&~Chw3TsbCi,l>mk3yu$v6/S[ܼa;-Dp_,3PW=S'(/ Vk_,HzB:\}hLYC1{%սXPB"ڔ6F\*# >l.I-ueqmf 2"YGeXKր;'l`2+6-u:"\#w6et9PaiB8h$]yP|hVݰӛEhѓVR؝qľGa]*z#0a߫dwzZj, Ϩqcz͕Q x*kum]Ä!ШA!::yЅXNi#%$]-I$)ceg ˺(Jwu͗kRvYd`( ,Y"}YFܦz>8r% i-M@||ð^IÇ ٶv");$נ9(Ħ[9]G9Ң9sGYyjҒ?cR\qu&^B;U6R(t㤵Irgsos̵( <# &^%mTzJb1b9+@[!v@,=w9$ieDZme*~hᨶh\^4+"EJ;"lSJgwv7!~~5R|t8*_BqŊIVbVxL Y}uMV3b1t. Tg=#xՊejw8}n,2Q"0b'g~Z@yP-u4mVj2-N-/ޣJ{26 hrmM($ j<4\ 1̙r{ajU\c س0!dCyAxrH8B @uT>0.WYF6&$dNn˰bMU_͊EMS_$iRz z U"ݗjX<52|hsJLhI𯳼뾙a3Nn(XYssafœ,Oiyaa$39w_2ґW^sľUthX<Iƺ :ݽ*I\R?ҭϟ Zu[') XCm|w6D%gr=?~n}o, Uy?UXkM"hےIc GF2â5gh;ݝUjw^ _ď6h/C R+%Cik%CZ)~ SdUޭ,3/<(Sz-`uEϛb]ߢV}?«;~gPq/17YKgUoQ54d[h(GՊߢY}Q:-~(zOT(z=z5^/=h ut[ qoQGx1/1Sb%PnBA.jmnԴ 4+uk[LwC΋iR;o.IwwRͿO޲TXQ(ߜ̲6M*߿pJ, 6Zpa÷Ћoݨt_Ǚ1'"wRysG4I֎TWuH[vČ#N8B DF<(~ٝX#{%Xp:#/NՏW"a25z~O"!]tXL^TV#Q>aH9L~:aIx6Hrj.*QY=)4K4^u{!ԓB3P4BD.sAMdpwEY^库 lgX٩3-5zݩ*oipTx*U.Ͻ/M"O8ΐtXfY @?OH:t_h6KcU\„5Y hV \} C1וRY4 :-WAiVXОB{'OL[XՁ1?+J# 1Hy;zC kaJ1gɆ)?60Z 騌y/#9'_f~vlbe.#n77 ļlu-yJ!ZH^v#hNN/JsT1 J4џ!?&c'QeMJʧ,\ 3mZS[MTߢ8MT?jV07Mp&SzjjjwNM`xHhR ~"t0̺Ĥ]E8:gP8ko&􃓤~.@|_*KAyc}; A  ~]@E};RXns'Nm+zaIwiU]\3̭鶠nzjT=ڽx">젗OI>r,JSfKR&c Y߹ zGg \ԣ0M`(V/0PP`, X0fK 4A+ &>՘!l J 驉$!iplKüξI݉&&"M2v$Z0w$a{p{M}h=y= JM  ),BV*E=X,V<$1A=N7A=y4tA=RS${7~њ4Iڏi\ZBosnma|Ca}jn(ͤ:ohf`E'8?Qڊ{};Wػ|g|@T-ϬR`㨸)J]h  ~[v[oc&5%Zb5wYkg"t% ^74W[?z9k$*u2Jv@އAii1w =~e- b5$uMaG ]8}܅oā9@.bI! YDs|"lHOIªO%z19VI 1 ;@6-`ņ}܂R4WBeQ1-So4l6o󄻞r"_1J]6Ƈ/mcJtL^kH$Уr\.=H>,7s"33,dHLJgR1wha1Zs@pXV1ŃH$xyQІxvit6Q^Dj/'*Sj%:0#;h́K<9)a+_DrddP*y;id[M#F^ogјT@A 1f/X;,߇u To0%wOU&ԊcV-UP1i;bܣK)y׀IVRȐ}K)}Nd71h~Z8Yz`g s14ɟln(8 ]H/GF}"?Qy<(R r2SBPZzgԍ?eM"9`e1dC.dV ŸH) RH h/aSԈNΓz a4=%&Ș`m1 .0gD6,w)_M БX8(V= ךּ,$ .1D>oMIn e,(Bi= j= p\)Fxc5%lX&#{H ̦0s3ӒwY>U v ʛ 'ֲy'| 2 Fa2wGMl:]'@kQO$Bs4Av %ǼAKl(dVU@"9>[ E2Ej o#$7ST^m soOlv=]n9D姏Ϸ`CNjM# %ICIkhH UJM!_c&*eƷ|S8d-Z0A@SiPtp,4VRI9y4o7:Ճ^i5$r+qr4%N4_/).FS~{D{ TJ[3jA/嘲ZҐ.E,4ZT(}'GS&5^DӄwZ[U6(HA9/+Jd4 WXÚDc$㴎(3lүr)F|~q;CA-b PȨr9Z/x2{'i ѧ*>Wx j-`5cM2[*39LX 34!WH΄(UŋR]Wd|f!jnұ4y\{l)8 jV)XNk4b≠e7d[u8x0m47`Qq&< V.D8 *!B48z+(˙ Ps,lZlD&Vu'Q4gB'KSþoXPqDJx:;(pj ʖ5TNq`ÑlYAepP2{jZ⧬[:+^ VMi1/u Xmc0&>OpSZy癇`%m'EPal ֘R0Z4r`A;"51<: W6 =:Ѷ{*t h1|S ۯ'IAp@O-# z +~F?kD4T7ekST~ ljs:~r4l絯E|,, MKEJw-/LHHܞJ q = k޽bTkj<oƭ9 4u8sMWW g霋pXG#@˜ YGy.tc$ J}6<2Ch 4j#'!qPkHWR`!e[:OK@c(5?JWx.Jzk@CޠlPl;~X?k䫨=^lu3 jkKZ@1}\4xCHt{•Jy&eujR6v1fL&+ šYUkf+-M;M4CVtĘ*6q`:>ӆ ^ p5|XpT 9jכ`^Hlt%T=7,lO9ȕ0Ya+*Z}˕冨 x1 2rэghxiU jqϭcEXԔHF$I f-]-A'[paͻG tNBgpI(.i8 F3te71Θ䗡u`(lyU9$ Ti0KwRx^Kl_7 b 1Uy7ĄI5L.&1IP:L :xHP{Ad%mbFTi4K͍¥Lt2ktyӅ8Cä5¢HܨqEV4'zZٞY{)mzUj523DjmDrӚLEUseۙT.vjEk 9x+iVp x՛圱.]ek]*1Ud.?.@* H$Mpj`JZJ~{j7T>ֆ&נ$vm2#=7/iևnUd,qXʐei fY :QܧܳQSm 38%B`4,b7y*4["9!v$"!<ƣYGb<(!eu0,DyS=fxdfssS 2>pKpaKkn\CHGH<]Q83[H;fQQ9:g\.v. OչqC/^ Ǩ;Xm*"3^DI|tH5:d^_yH. `mEhلPVW%Gv]r(ʐ!.4r>)?yS+q(> B<'9u5 (PEh3MWh.ɥdx$Ru7!.pwvKZbҪܧܾŗ %Dg.bptkE"!Ĕ59!4[d1fY7inAkE0Su#1 ^&^LeHFd ,ޖZ۱?A-/b]0'rAZ&c |b7ew@XEh4lg;F8XipF;K83x.#W]%>JBo1T+]VP^q/_l7B6zE?_ Kض5OչOչ⢃<0V\l J n{! T Y~Z"nՇ u!o,]QM噺ĀB]]zPډvD_8 ffۂajI~aU*Nn?O9-bsROWa :C"4l0h40³F3g$8p{b866+J~  Q?fwh{"=tKeoK}_K8Op/TLJRr[)Gl+~y s1ΈиtH+3dONg9rB_ [IQAd@g,*E38hoC695_k΃_ үo?K oփ*//^{$yuҝ b}/I>`636:uZb6-8ABR!uj6Q BS)+]\/ ٻXxzRnSRteXNyW|c%VvՄ )6ʮh8!՛ʷEBǓq`*jYւ*jjg0 -X BesMZ& &a L.rLaraFcXwg_˃2Lbor2&[ܜ}+0Yz} ȖHVyF-sudہomI|ދRhc|*(E2׵%Bq>iR1t+;d̥t!F]G{BЉatp.^Q@_+R˺/Uˣǎ/o{-Hώ@-6 6P5RD5p:&Ӫ@nu=r5y&ޡ6 9 $ Oow/<& e09 Δ5{֋%O?}O?!Dj_߁9wŎ(O~A 4 7i!D+StDŹ106Lֽ Vz~O_N?%^^kĢI//GUsȟټo*l|B 0j|Sr(1oí)c* , L &/٫*Eϻ' "MjUtP-(f{-j%wOO~u-\WrBb7ZIOO~=QbOjY{H,>~H,+-`ZTb]DŽ9?\\9:KiQJ5lah<ҫ m,&J7uh+KX9/!U>:KL _V&3T1KO5~+D# ..C"Y7P=]ςh7J]3}8ppz_L&5`x0mq;R&:HRTu(d_`FWF%[O{MyG Xٚy^>@!Zc^uKIVۑ//%o6i)QvxIP}.ژ:|~MW ,zrh0PB۾-Yzݸ#l\[5*!^snxF'Wr/kEЖ'w%RAAxQ3"vwh`ȧЁxCӸ(؇[o ^\kuЛXV9L9ZJi18kr`Od&d(pHPDhb\Փ5;KzFzpA!>չU(D]2MoDh Qxn|u}"1eueiWU#Ǎ쥐lŠm̿fcb\HxLBT˾#)imYJ'0N[!W^!€kQ$l8156E!˥s|2M)X=i#zkx{%hn[l5b؎}ɷ=ohG b6ԿsnmrBj;66lyU0] Ư"_Ck$8ޚ_ok1#'s1%L@(fk>]2#`[ ּe ^b.>5oY",1 Ě7,KcϱǗbH ~!*\43JJ!P+TONjP''m$O3{B[ r k^g ۻiqxv?"Át)qqWกle3\→&10{ﱩvI8Nupg::=L bjȾ#nv)DKR|f}k+/^ij*Jt5ȇnF࿎N*9sByxnijU!=Eb׸TK𐅀< y*A"O/ N65Ap yy Z5ZXkyKeiϯLo;O uոRLw8Gh|{F(.<n̟W Si3BՕ&^oyjĢ2^_cQD6Ń[Y.9z[BЛl_݉6tAР:Cxp7098R60bC\/=YazXitf!m[/݆CZE#T!xdԊdУ?X]n-;>ޒ}5Ҿ`N_?+ClM\fN G>xݬd5<4)tzM`E#ZB[$l8l!UoR[U% &ku-_6@-WZ8v8)bU X!dՆM_]w)vޕtnӯdH+n&6e8}އ9o$p7u97"vV6*yϭ|Rd2yaTS L:y2:Ie5zYx}un_j!9.mk09Q%/ Te)&5l։"WS 'N%"w!xqҚ "\Cd4ABԦ^6ŗ&)e|yo"_\ ?~?OsfYeV>>c>,/oYvϿuw|x_'~ O*lY{|: $҃L(v7FԂRkP/=Z~nj=M,2TL$v+nz*Trۙ:Nug7X[(L6 iKR' ?`ۢ~E`ureKv 6rnNٸ^_=t7t;[g~cKܐ>JV=ۭQB<"]h:pu}1]oW˦݇}ktp,]nkL =6atq6-qCom~.xD,~&F"6dWeeɒYdݟԊfl#y,Ss A@kʌ; 3:;7^5Ux  .wa1c}ڭY(K<$\_Rr e /4z7`^ TK*9^Ĕ0B:{zUR#i,>-}_^-%{P,}L-a20@-]dUj'?fPPcz&_8?O".%^\xsĘhtxB%"͍ 4sZo8:|`J[7mJxꩺQϫ^M%cA7CXG=ҿpJWd_LR`J%C:߸ՌfJE5UmשMht> lj}#DRZp^}/#u11e3ѕy Gz5vfsw5ģ>\sԓvӂN9fAe4 4sd,r4Xٳ^lOۿ?o53_۟1 }ՇȮ~/.G?Q~+J]`ֲ N\JHA6 BmK}h>UG\CB~JP2e/V sC(V~l7*0E !d dPֻ.EɃs} (SOP se;qw^Th2Š6X!oyc߁H(D HS}O I/Ǔp>l_>a6q}` 0!Zkagc4g*&N[y+?*&|PaQl]lV Np"eL.h~xdT?eW_ᯉ_BǯBv]]5!ʓVeZE828f%_oV]zTܪ2RW—F;4+݆] f*#Kc[O`cd+0+_A5T8ΰKV2;KqDх4At\n.gUM~Mj rXժ%K="H=_2D0x]j]8T]XjJFkhm"ZlX]V];R՗GYH5i=Zi]|R=nTotH3`õOM&M6  Mg\[?}}S5}N.~w%xښ8jmm Tfi,,Nqc<ʸ!z š.vB;ܙ7B}6Dz!h4I@!Ak§sQK&}/IQ}2jC9xy8狱T6 \z;/>yHL/{A-HVpP8+Ytnq?L:#7?H~8¿2ɗ 윋QL!M0p VWX}ktۼyµg`T61S^psyHYxoaz[ݘA*h x?`rmDU͂SO1\%ad8((FM6(z\z&$c[x Yio*;Kkq/悼]?`G;` C487E`<"K O#I: sX@~(~՘]Q(l ONEMM^iO_IUB 7^)%_[ӂWӢ}-* l=šօ~wm5 gV֜||C w*OS&Rg-Ev[?{yPe}pѭ x8 8+p>^R]@}+HMH5Tq0+-Wmöi8J&nƵme Yh \j͹qv!˳Zhk|ѯ|3 kYvՖ-+Յ_Wq rs]qQ|!ZR`0[Rm7c4Eq;ll ܢ"hNKVccX`]H+A,sT;a24lCۉ==Om ߸J>41zrc"F"8Bˆ 3)aa#bV }u}ue*QH4iQ#;xTBn "_4#@[PZlCp,uàbenjB5UhrFMd# AEՊ) , D4!c5F2hn^#ios`" h-UܾmuDtQs4EWn"$V%T 5V #ض]k`T*IL F"%l.9;6*v "q5@Ql -bZ 8 [}͊Dz".BY F,4NK ND-rMD%y{ێ)FZpWaԊssƩ.d(BK0iS94 ]h9dݶyl$EHDPք"NHɻX!v=EyJpx}UTcU+R(*{'ѷѣ9ڮ@ V\Vnf\s'@l/,DE~xmJۨ-g9_;8U wn[n{1hv,qX"m׎Etڱĩ:cnJ,X@ߎ%WhnO6/w:ǵcU;koێ%.u];8U4EcUڱą=jm*/];vl"9UX_\EUtڱ>~XdNsXdڱQj"/(:]@BY;ylX雵c &3ڱh[n֎Ev,[cc ޶,pv, X΀mivU;YXd[c%n؎%y[s!TT&#1mpGXP4ʦ^3)swߗ/Z\[8Nk{n0toG BL][SD -mE38G] hDŎEGa |S#\60zZT.sa x.,^v٩1mFT\[<<)_6ڈj"KnD%W|d6X$G>%H(MEpoyVk7%K~מݼxݼdo +֪rl>qe3\ڐE4qP-Z5wL,?k`F"xؠ2L0 lT0j|@:9ZYYL!Ł1j 2qh6[Am(M qwlfi 4[]~63"sm>YmEm۴;]޻^si'?} 7n'˾=p~ogӺOeYXiu_JH>U<m'բwlw0颳=[^hWwI``|p{w[/U>D99\<}դ:Z(:2'-pp"{yQ ֠ܬZ=MkjWFvBA#{ 7Q}jY$cA+MPewr#1 oQ"$dc8#K:}fHdZ{`"Ql*&N+ix@AXڱMX@dΒ4v%i%Ȁ|ʠ+YR&ݷUKGx+?9f!uh; ]) DcVJhS:gJ5%( |P!+Ũ= ʾ*=o *d.c|E")j 8^+6'rSD 쩫pM$K1veaIc-Z;QlkKIa<>yJ"aTIWAE뭦3(VV9Gpn(nTE='GT;0l+-!"q׀TH2-L7+͂BK(ٖA@BX20oTBj ^vDUaFxÎ E;8H1}چ (Fli#Il:#$T"E"zyoI5MҶx4@ Sr=E|ԭ}xXA5bҐD h FT, Y[F. Y[ fմ jҌgBEZ8;< [ݥ9fA6V3Eg%J*Mxݱ"TիlVӫBfƽ*qo!*Bj1%5bm2OQ usz /x[E.ޢVWjˬ/x@5e}kl$-ܴ!uy5%ϻ ׶_ QV0Mžhpo.NZ1Ez~jONA*61YYۼ'>+L%B#DA GZ) r, y oZ)l$/i%rUjbyRX(@%A?/u?- Fƪ[֐pJ$\觬p~W @IsɃF!VCjc! 8щ6&*Nl_TTx tTmmࡏD0~hBkK AQ.;PM#?_./`Fri c1#Y+,Cj/r.̺b]_v(څPlef}6S]x5zg9˵]3 \=*.i1y(PT7POé^sFnoJHlF#wl8 ?aaJ+Rז9+<=Gb]+_X|Hgf{SUln5e‡a\nJ_[mZ~ =8$EPa- ֪09 r}UvN 6PM=e\ieI~|3- ۡ ^Q6C 0{oX!4˘ dmg蝶@fM0R3"SS3&=yA΢Kߣ|jlD|5y=qtϯ"){M3!ߍ N[7߀U{ l&-fJ@=Z̤_?osLq~aϙQ˙e>kVxxF9_K,3hztҪKauUȇjsCMx :F{X:-u*H~5@YdFh+չOչ #3Lc_w y,hVSc"}chP2Ա4Q[\*\>h\+XC9D`Yă }h̋Z"(*핟zliߍVr`a}FY+=G2f; /kM>t~w.it6c(lEY_c>c"~Y&C:215,^GvNyVmr@+~gVk2Hhf' 08*QqR5niz?C~MŲzMP*gz v_shHv-H%8ĻZkeR66z~x s/9u7,:UXOVdEaHC e&0﵁.lg\hޫePJ-oBg$CeH:t.}Ѣ1b3ʄq 7$h-3-*L8Fp@~L=v 疹A~5 BB rFE%gњ}J#./9& ϣUq'l3>W oL JpM4%F5GGѳ?AAbJ'8[d+.:]m?n TڭPm3 2L_̠r 8e=Ҙh>l`.RV-bU1NuҪ }+xn .Ƌu-+t?j2E VuF"6%!B^BU7!vh|C@CɒMbؗwLNyHKƾ{25LoftweYƬ*@]G9}:]H~yg'<?d$wylwwNA;w2BA4b`j,uMTȞE޼Gޱx1ᅪ?S %ײU[_bw"mLBUP;?Ʌ 8w~g Wޠ rX.a%;6#ɓF/!]$+roxKd{1$ s\AŎyR+&%McV0mς0S?(#-gK{e y~iE:Y7w[*pL Uh'6v 1TՃ9E^v: !(G[Qd=GX1ؘ욌9ǻ'xZ/dl*~ugb"AVLr=2ŭh]^[$j,i#8uZϼcvZ[TMjc7r E_䟴@\VUPfHۤܛm6.ĕr V]#~KqP.Jz# WN8YzLi^t{Ӡ<tA?&i,?}rla9ՠ #{O ZƲF[>:A2z9ij3Ճ!L?[\Ɠw7~ D(|LaJ"Q[|$L(br95KP˧1Ddoql #l<)4;v=%:Aղsޥgn H,5ǰ,ΪuBB+mLҘ>o }HV eLFYVZmϦk9R7AΝ'G;]2gu5V`6NDf U*$'1ŲqBpƀ&&ʞxrrPy-#ЗyAEa޹DHhs{BԈlV' 2gvy 1CzY[>*4Nxuf.)Q̹S@"9>[g&U^IKѴ1 9_?a͖a6Bm9HQ~ӧlh҆ྩqDv"iwhB+LűhH UJg;ȗ5fʊPfRؼ2q]CT0-*v(YVWII)ɂc(ȷd!zXڬQC+i4r~IѠv6{&lJ.dyW]s~;Zh)s4OZ)!(bNSRE@0NFEwƲ֮NE3S ("!漬$*UrH~p(J|7ވ|M-/c(Z sZGh{Y6W 9M$]Hv ;XBFx̑&:~}<ɫ'n+!) M?щ! 75=mISʘ!y-d‹rc)+\t0?5|?}/"y-RHh󪭩Fȓ5Awt ? 4VDXDѪɞ]YrHmBjʅ24lE5CJ ZȰE!AC4B-A ؿ".cjjeE9@GΨ=%Ԉb tL&(QiL~F0=d"y^F'cM a8H8h8 "XĨRI!)Bx9ĕDs͎FQ m|2Eg7@<Ee'6;.Or(jwȡ .WߥYq'kxC'?5NFC>e̩K)D)?Yt?_Ij}:ԯ!e$<4WiЪ̫cjn}CH[~׋4OMWi7CBq)UݹٻAR H0` N ;6($Ʀ' X0ZE牮 iKǞ.q~RqHAլR`iIf ==n5iÂ2-=ظbjh{b[ն=eZ4CXRu:ͬHը*tU`Dq+0Z0VۮtzzR9VPW3Ɗѕ\XJ%jqsygrI02ݢg?`d%dg(#g+(Y6&J۴LCghͶP s~^˕6'k>|c.ht3V[m+ᐫgϵxf8y#h΢nvy=ڰo k,r~cSjZpj ӖC38HM>>t ZEתW`it~ojfbit2Q~XQtKzuhʄyЄ9q%js6NHc]V~n:,8cJXǼ5XRk:Kc㨥EXꢆ۸Cpd)hms)qxo_Dt#.j- c߆|XzJuYB7|-TȪ7>Cu [:2A 8 d3bod#22Ţ@bB :>Sh.4jjS#kJ.5YYBF&%+eOuʗ^~yu"S{u0t  X+D^7f Z;c2c+[h|z*,BX?kXUÌv:ÜھJSXbARZ JսS`cayI|tAnιeW*yu4BžhME Vwujuo;9 EAzfQd:huA턝qhظ9vƕ72A\ ձ14"'̧sߦO9Ni3>ȩ+BN{9<ȉaҩR L;uuعNZ!F식|eq_$cwwNw4v jvv#N;5(Œ3-`o[)WaU)ro])QB#) qv {sv]qv:v_6g쌝* j;}^;؈&rS7ؽ;#_$貫R4Iܫ<)vFt{nC ;qs.uc|Jc^c;oq1wWZ}6oS o])p v[;_θ.J*PfuȚc0-n"uQ]aoc ; \c'c vr]=b yng4ס鞪Ų>|ID; GiPf:Z̘,z ؿhxz^x|3;Gc]_тbr<É1s<~?m u`&s<[y+sP)Ég on_SL=^ԓH C]a8!kƣx'#6ֽc4癘gmXC. H=suT5o}s& 106|Q»kV[JRš/D4BN) ,[d4jB+]({9b}ъ+vۡ6 '_'̚3$>`lĩj/'C}ajl6{8s^Nil 4ԮkP‹a(Pe2sԡ+%*Pp1쥨^{^Gl *BnskN3BVGDiU:ax̶]tTF;Gˎ'n`6OA麻0TBZ`39n_V;^ij@ JKq|J&B 8]O_63-۝z٭(yc/8e$!"24.{}0um;F\ GR?{ WP (?J\tU:eG v5R6U%Y QG$r$R*QJ~s~Vo(wlp`ԿY"~ʞWYgރO4[QD3QS\&fOչOE2x<8hV^. ECڀhM%9!v($E::8A HaD;[OM Ȋ?U>U禒ad| !ւw!#tB. VpcH;fQQ:g\^6S!b"앟ss'C79#/upԊ`;*`Cq xhJ|tHAȼ Б\l* ɹlB(@u4!ydgrO-%Q) l9 EAphܷD{4:Wt!u%I֢х>S ΗZQ"" 1o^ݎ)QQaxNc rAL.| )6Q 5iM=tpx[jvZlpu(ƞȅh@"*c |bqSzԉhLUIv6c?hgF[c^oi*r@^29B7:olZ !*.dH;K<:W\\eo cGq*j,?k+7WV i:7guᅺ4.NPC~1L;.#z"0=0LUJ1>~ sFt>FժmHN8]%Fc #g#q6|EwhQ UjT%GduuH2&C&#*&ѩW<*>*0~4"JJ&Rdu{MlpRld S+CіUex':V +paj0d4w}b )YT%oirZ\,Ӵ7J'_{8D)s(H9M1110_FR|I/Ģ]>F&9:8qzGQsۑV u[#:%3βАqp*-[oKIs1x*LNEz'&yqEd1ZMFbpgG||t:.N`~ݽp9LUコx};<7'wݍ{|tEI[pE5dYI[-1C?x:viA"zyCOL׏?\-DQ'rO1 TsME_epSY$M$q HΪi"X  [I@;:>z0Ԋ*iG(.8u Y'cŮd-iN\()gHniQ"͍YY&א$Kp1f WK$<tPHtA$qbVR,bVғP G%> ) e;BrJz+葋_4b#fD?BJ+"!ǚkr|. aو9 a5/b>v:ս. #B]2hTQo;c'lY*D<"AMjrjB ԺYӶvLڶ,!@8?|\PS)QJ'"ߴK|=%zz4t؟cUAѫعwU6/;zZzI{hm컝E.dꗹۓR!E]RMU' @ :/1o3ۺP5_ *25DiiF&ǺcG+ȒYM>.GS":ʞdۑWʹ唫MLrB[q*lihg dz' 3hIuًZLP:n^:SLuhd+^y7+)5SݛuY{>C7;Y_9Df t$NĨF8MD+hEgo$uމ+r4B&Itꃅc,SjxU"1RNb}%j"r Y#-)Ysu-YOKqnӏY r\cX"I\9fD3WX ! .v_Yk:gl6$tl.;sT8YI(\&aWS_ 8{j)rOk+-Ze2/2ˑb~6\r`ᄬ|68q[.:m]frjhIgI?Z$z+i4,x8`kdL/=2SGQ$a,)$"\} 0娗\m{8S ݃CdRzD/Axk^3b. 'ų\!ܜCa˰IvQ'~ݏTL5Lg<ΰ劒V4M*R8wTiM&T.NjF$q谸|A#unӬ#Q@VȊBΟɈ9IJ" Niۥ>8C16{qeTa&hd1YgVYF+[ϰاt]$׭ݸ˱hfի3 gkiB_kS5ZzF[X,rByzfT)rB';G|hݸgs[03|so®!MA8bd$ìh'4 tDfSuF|*rb ƺIƚ-3 .Pz+|d(l-C`]W҅;4,tX[r $lRu^o$PbBR:ŠY&7ҘFI!1گY,QU4h4bU`޷hkFmHF A#QtȯXdUVW_a o!f@s_ ^7Qu4a ٛn?{{J>`I`ɘQ"\E Ŵg"r)Bw]4vfP[LDO;VllgH}Z OYlhבkaH1Ԗԝ{U1uU{ƸH d<,LM* 7CNYEWesJxܠ]BveJ)Źȸު%OObҭ'Ы4K҄_^\fmچכ1wI۷ Ŀ<\Oo4w^}7/?ݧ$%ľ=X3>|_7!Dx_o+YN#8MTԲӝz"hwY6^j#&^&;]kJov N^w"R?apUI gkkMk1"k7Ei`Rl Z<]X쨘mz~ S~e'y69?[BTRӻ~}wx]~,h&3~v\/OcG -CEgV )&o.O}( ծD0>|lz4^YTP)|3!]wz2MK.n*6WHѨ tr"Vcĝa8j@I6Kvf nM'moUkjs"Ҩy+Dr y%-G@=ΨvOW*i|ct䳨l?lPQc8]Vh]3=E}RxJƗO6HJ˧ɤ^Us оϹ\|n*GOI bv9 hMD *~^I<K䘚~Qh}^>Q)$q?2"Ǖn qCj\nqYz`XIr$ixqJ7A)FҀV3B-LR(ĎN)OTs#fB'r#  |u\H?,gc,sh <na0:)&>Qiky*oÛ-BjC̤Bw:fiX^xUB ĭN9ݒ`#=Yi֐6Wbws6`@fCBeqt!z>F{s{w?oçQp߮_y^_իO}z뇻[z>:g->;:D2sS#UBV6:]t^YFq m)/ GV%6sonY8dn̢N&Q+* /WVSAL,9. _!T<Õ=_u&v\e:Fjoҳ ( e{xqN-q<:ڕ~=]fTaFFP<&89Sd᫷bYN)m G^4xBR,-O,lIR09ZYxC52kYi{aXH.+S*{ KTkjƬEv^eD#o8gq'I.MF򪭶Mn}3oWrGx$۫+W":.<]|_(U#݁t_Dԍ;KuBBI B*ǖoRZGkaIOBTo,钚b{| `զ YӪs: JS SWwYʝsty]vd83^OXiRoY?CvDF~ĈQ\_K ڙ!18xN$ddY4EqP䍈RRw*g[gCi*Vu\N[t/uL>͏ #roOFhC!3R\Zcp8&XN33^;P%TiQ*ʌd $h#Ḿ!`ǔsn/^_i;RPe.$H Vw6pyD9V~X*U_}MWF*Zg=$O:E|x J7!=DrۍD4ˇI*Ŋk2>cҭdUltvQ#:ǚo5w1;F+ N子bL'][f^he<:NDT@RlZ1O?E1}Cf@Heyßf\}m,!~|+k&9tYQl+"#: 6Uq_f$58`HU*vgT|-bwbSy펼ʪXHۊZ_6t|{4qV6. '0*g\T KKFIyJw@v'X(ДM651-"0UuE.y&НV5sz|%eepKZU@@Ҧb/qZwTNI{y+K+9Iykf9sl @oE-r:,n80y,dBx(;gC P9נ ʨ$:C>M*{Ux'k.#g\y$RI+٢FjgWVV5^:53R(L5ߐx&'qJeUy 2(, <,B9sMH\_&ӘFߗP[2L"_7ݕ= af"IsJR::f5v@`Ehh3(IS0H :T+2SPOv,}cQn;/" H Nm,IH}kmZ86ˆeU&3ۅ턼)Wq9=1+!hϞW wX{ǫFnh<"92v=J? )4W@n Xյ'Bx]#Di Xa^=N_p*'2V߸"ú[beO R>BBuRa!Beq+\p/ auA.~B`̚2:.2HϹB2$TEFJa#ft &V57Kx -9 Hy Du Β&m<KX ] ̹ZnA[(H*YEJ[%R)m,sZI$'*''IzJMYŪ#ȖOq0$㈏D]#SVq' sb@J7I"uWDڕLW{ǤgiX$Vf%#%5)imQ!XIEgJ "x$t'K0) KҤ"b$ݙ˓DT(-ܢMЊqO.'&ȫc@!( "C 5 LS㓴S&7>!S[*# ƮTn,r$ٚ%Ya؋Fk׋;Ohd'5K9hFY'5Kl&|I͒hIT:*fjfIFzgm:{$܈1yT@E[T%13պ͒4sI͒4=WPSz,1OiDÎnD8\fI4\fI4ZC!I͒h*Ew1RfI89_$f*Oy?B8YBjDK2I<._{&t78ޙMA.C#OBUI4\& 2:)AݔruaX%U"T: Q*'U!,Dhg%bw:RsOU݉Nh·n%+xUz,Y!*ǒדZDz2쓳wL#M2).XbBxt58MqUUiG~N?>|Fp. GT;n6I3F*/|eO{ŝOLkJKpddJѡwcSb|J"_]Q p[$O-R+58zH<ƈ,Օ#ީU9.UeMRrGq˩bkw|%RﳻMawE$q/rN[DZ/7ۛL-eڢ/PkVVvڢkע&];lѧ|-W#gu w>xqe DgKf'q$9h?(2^w-aSܵ)".wTV@.'(q|c*"HaI77fߊ/irgΆJuT5h!K&kTb bqdGDwRpI.H'_Gkx}Ѹq3#](cbښZF@4[}utfҶ mklL,h׼'~GڎI['i8,c.x#b}^ƌIljC5),"4?.œɳ^?t^ܟLJ°df=.%3@!N(!dw\.Ҟ럤q% EeouR(Nq:w)zÕF >S-p9Ue&FQZ&JHsI:sDChOgYZ^"/X<눓v3NZ63^vDL{b0HiOL3ӌI2j \݂w d؍A>C-`,(;jQ/TOۜ>'-BLJ^M-q/! !!M #v&R1pܩRf#鸵h::i_)xuwlƛ}=Um/ 鞦1S5A'6${˗B?GA͓ Ӑव%P z"!By׹3-pW UjiО|i.&nX]ENi u8WzHUP KV Œ:g/^RGI9%_Fu{tZL Vx6֦M$Jɵ%&GK3 vZ d O䎙6Ar7HTnafo'^ސț+-Yezս dIw 9c3K -G W SgA^.=o /[n.H[qe}mc m2Bng`#NEf^\"0=_uJO>2'O3e0һiR?rqi6+]0Ql'\0ItuSB夅wҎޡ$ٝԹUHIi1&%c-TѤRxM^X~|qJoh(AGcH?t4! :uyfaP*Q𩊁xz>%%nPCl%":)MMhWaS2gS%16=f61=ͤaE1xf8ƭ@ ;{9ɴX ,w.$-NI ƔsNIS̻s]]RB"]+TPK@SCIbIR`Ҙ!oxMއ - l_.?uHzQ.o>=>^* dDcqcY ` -i!|a=5rD&aͬ` E[dhUaِ EF{J6axk]41ZK8ޓ&"FH.Ҩ\)/ TLn6PS!\0}r-u< ;K#)35(dK?]Afhx":B, ''J >bp@5tqODb ] z<^/E.--pr9Qظ X!ȧ" 4Ђ^" !AڎOkbiChK$ yXh38b wx3'-1_ct A6ڳB5rx~U*ԮhE}X'#[Ix乐:ܪ=|bhGE履urHLG)Z'I;??A@tHF%EbTAk*B^7PRC~pM^Ԑ+kx4d 5Њd 5s@ aut3>MRRa,·9af<)tdfڬcƓP kǻc D3k/Ar gi*& q"N|T  %lw:"uˤ qjƑ,y qƙ&$y"$v 0(hzu &'|s|ל_/^Őbӌb,NxMރiv 0TȘy+-1.^)d+;ڵy}ƣVѼxrְsè``Y˪ 2MiK>P#"$=EiDF*ܙktMe x@V9!څkfC[lא 58X򡥼Ғ[9C9(w8=A+L3HAƹe'a~ 񀄰mD6xoN7 ΐ`EpEx\ˁĤ09 yLӾaG,>TJ_5"^Kt!dCCz X"4ZewhO] wþl'ʣ`ѐǷi^7D}^ {aF 8х9Z0p][r7HƹG~"MS@kI".!ZkN q}mZ@Qal\ׅ4sG^Uf,&.;\"Fqa֊|>ـ dZ;Vc‹ӢrOae%P6ӿ(Sq#H}D3Yfv܄,v+II q? +'Ŋf^x:ZYNov$=_|ַeN^Կasdp@!t Z)/ NZAV Y& >tDʞyX&8 U$#Dy 2Dio·Iq!JmgGSC#&I,MCwLLCnC&yC5L22.Ȣ0:RpЌwc%)TKK4mcfB|pk%MF\ٗuGl2 :*eLfEMG J%hiZ //p T<3$SܓdAj{ge%#^xZäS}ZJH>$1 ԒtBZk@8L}o%~ <^w -dx4Rdfc^(E3e|s@slphpq1Sc}ńbMx wd&! JL W '4Yg$hԜ|&֢ē7D܉s*N!DBH',RLpil8A&/9{z2b-薣=&*,")(8VFVE$:wLM+$ `r 0f+_$C}X 0FR 3zayf%gcw0_Lp{k;{" פ>2MJK@ @WOT܃ˢP^9?aZ릧(Mbi,%>P(Qnv$+jҘB6Qno,獚PIa~srnGBV$(C.SA ;A}6d. Y*"r IiAX$[YG /-dFGpp;Ǯd Faq$WdƑǣ0.:d_J;h'1?y,[Of#JGqN2_8Zh#=xpD32dxi>Y`?8Pbb$E$a:0-vidH1K$Hu Q( rlž 4K2m$)|)Y>86F -]3GEm䂴BS]Yk=| AHrrZLr/I BKQ|M$,(7$9yY4- b2#ޛe7^4 >NQ>>=R5YBH- ڵt8=]3ܡ9qJU6 AC m,v\B)HW(%fM6U>8gqT#^Ѥz/8gXCYA&:ѹtUh$'G [.5usm?d`ͱ1hQbXc+ҙh$Qȿ46Y D]U їB?9іf망(6d(l Sȿ!]Ban*:vc^HYsxFFlAqZ"5 hxlӮy6K"(.5vAoRrZКf#/]T3tY0$)-d;6Cn]Z4K7)?eNB GʒP-ћq1-g5u)ckPcXF[hR dbDJyI=[V,-,% @4- cIoEyF3$Q8\J"mc) b*.j&N ݒn[Q8!e.ڗYC ;N!+W(c8ԟ8kRz-w\EI[K2ehZy oCG-bV3-hYIR=wWŁbbb=I"֒]. `PC $xrZIUCf>_F&b*#ޢQ$GC}g2:(Q"j$/$vYǻ\';$`[doHۣt}|B:b%!#3(.E9$ה!cGR%qO\G^BcH)F§IEؿ:{cz+o=z/CIi7oRMH:DRfQCTFioEpeY"ВPkBHv`dij&rkGLn hs2o肳.]ˆG# 'v/[.Ί41Jd&2nrְtZ{ôl0u^5 FfcD QK\E"9RoG(+~-O C }\HquBI$l86 Ii>4$PG^IeKiLiRr%B鸔\vyD\JE5ŅyPܔigo䁷'MADi>WV(14BAXpPEƁ b>O[k ~a,UMH/LW_kM. e"_d>{[!Ⱦ 2O*\CG:Bz2L xZlqUZLّV"s=tPfxSzrOu*5)5ޥ?Zuœb8;NEe"=jȼq #g-$C^ YDH-rɞ;dhrO;S3r>\ּ]^$A'|hkq8SWY&2<){SɝEV諾HV4T;jmDdW(Xܹ6 X5a"xMd&^㍍ kHtJ-Ba.QAsO1աҋH.%a*Vޢ'd8@sKNhl]gUqB6Pd&[`HK$vМ\ Fz5 97DuӰ`eJr2:MZ,K՞`Ggh  ̻-5]CSd(_t|GX}㊆6,IQm4.1IsVi;jV A5>R2ɡB NleDʹfgj~b[D$dgPJrrai^P"dOEsNN"֦E4kXmlc!   V>WjGN# Ƒri~3k*^@i̦Q+h$_dUj*-ŧTĬkuY/4, d}|/Y8z-=?߅KSh on>^,[W|:FKGchn9d:q2–%I‿reKgAPi^?\\=!{l%!8,〻3[:V5!?} ܪKxFϿn??ɭ (B[r$ѯ瑼HhQ_4 dZ!Ÿ|!\N&,=xEa<ⵥj 7ԳP5]C3MTXr]r{[S+(cLb1>%n׌dS&kF̻^#-T͉Sl/0)VbxgAD}H d`B1%WMQA𓵎ZdO2dO- *y <&wEsQ!&vq BLčhѦ0[dlwSe-iin0I.YRp0_/Ź9;dD'30 41yQynt[B4zlJbHD=\FӞn5cj#)E?8= : dBnZt6}gT%ŸqwKS~dM"ȹ*2,i-"enkt⚁]fK"ӽE8,¢fN[!:݆%wtVtq@ 4s.|AP'XdTZ3DC!Q~H}i׊P;8a4o z)eQ3>MI.NjAWOYe0Hu205HEd%<|s.)Xq%LE ꄕ0J= F12`)G}ҳq͐rV]{zlzl Tg $5JdYfWKTD%# E"ޭFai8nnn~ 2CyޙgkGڙUՂ8=abaI}t>H!B7NͫFX6lN!Xol|"4"W#h#Wl;w֝7җvgN*2[]UZՁ6m0 jdNy4YXqVujBąc" 6@1U@@Ё6z;;{ TPj0Y+RUYՁ63 j):t L!:g:_^q mKy6.aX v,.P¦΀ܯm:%RDS 3F69V<'HG8(jP03 `:]dl?VVpRU[o-Ee8>-*Pz' -oW\̖-#;˴$ό#c-a"Xel˼ >őqљ24kjW-o3[gj3IS#{ pfM`> }f;)8ltsμ5Km)oWjrUɆSKc&>M2#+?)2z,!tVnkf2}ʒ[p Jg ⚱ WnmC@tP羓EŊ9-N;#vfG "r;tP,4ռsd+9GLCؙ% iTN . q;-̊1 gmK.W&/ad YRYOU< !Ux2zŮW< s%dv2(RcLg⤻ 6+;_Z~_l:#3i#@̷-pk&9_[~_A¬F%Z LU5XKkYCسEMp(%ƧC2a:V[Vu=kB.TF7cJ&#ezƞ76!4a;'If5 k^{;bwL$"H3{y^5 ٙct4t\ +rN5btfМY&% P뭁\E"0%k6LKC&ɽJV:^5tf3NqYHkZ2v`fL".jU.K\dC2pHWsZ#:fύ#o$*I5iD ^!EqL]KC0jU0 eo8UK3&v2,)W5̺m*%2G1#j83 (K;fMaT0h+%2we6=D&em4h +mqkƋ[Yv-eY TnEqLgLfZCfBoПql N8XB{ ?;BިېAN[uu};gYĕ)\[ɲEgdؚ2=L[-ae@Bm%XDRFq5epȰe0˩WAwy9j'l(@75AE>cŅ2H8̙a>?qJS[_ǷI.Iˀje&}fdHl7+𢩭0:̭{)j5xSZFfvBe#E;Kn~w29ٰto;>}4g\M:;r V;73<\+N:ۙD{LY.y:!I)1^Z0qu;60s3ـ xP:gǑQR߾ iv_b$Ĥbcm9bxi(>ݢ]ޝ&˸5"^%Bx#y'b~98{YӃ7{,eNQ^g;Ўw2^G:NK- ?JhHcJ,^: $^ℎ._aO?To^_.?VEQF^ Qw d!+D] vslbK-bi2}7E>1%a)"Jpi 6rQzrV$YZ-B4 ͛~-~6afM)3w a)v| 㓧vsrsjsldO^oz~{~= ëo}|{溻?oCaBwJxG/.Q Lr q7u}sP ^#%< ˅laQQ|97L5܄%/ӆl1~IF$˱"0%I 3'$+dtbl ST|QUeVe0}gpQ3>2BILw3|KnuJ NNY 99:>R=X>q%LM,˒E 7{o>  È7V޺ 6_oE.ɴbc)ސ+c'tg9,nsJo$ʞ}t<I_}tnMOJ>!-F:V-*~ArEE\/m9zvJ(fSH"h1nlԄ{hXvSv$19v\qpJZ <;^r62~i@Rlep8 0JFxUvqZ4X'a"?)D|a7[3F%<%t9kƱ$;sힼhW{Z{ ĈFaFƸ].7 3"3KO sx%i" #xUޑ)t!q8D ;9ZI[P6j2FYS5 gҊ&<)jt擄1J7Ef$NOq(g9Y뵅eNky| Dc$щE.6_+sU C/YY' sndQy,HL [$N)KY]Ze=\;r9m4tf^8~/Y tssFs nI jr)[csFZ(~XZx݄?>|Gd۸l~4,ߪaº"˳1l"i;b"DiغN8 J/7 N#I-5^"s14讲]Hm#﬜FbpƙGFqT6A2 "~rMDWjƏ`Gq؆xaD]!US\!qԶ7 @X/0g4Z6FM!v3i rďDOj#+(L9b3̍8RV0ճ4O/eV c=uqNf+p83 8s6Rĉ!TקK)Sߧ6[}hyM"b@'M?@0"p<'AE~Q>F&{e6!JkLt %!z$r 2p 0v@31.!ocxUBaU*I7STl=1_zb& $FAW{/-&A3.,q+٘u[;4t2ʍ#F3q`dI*0)EC3ҼQ%EOƀ@H2Ӄ5dfBw\ZD# 9C6@3E95 2&ޫcw$yyiVq7m`&>`Kөa ͇y #/;BVܫ iafYEhZןֻdZ,x7[z{N|$=:M5AGh&,H`a4@FGƠӅ.~E2 3g*(;H2ee / huH&KOomnJuUƹZ+0cϹK͋hY,1.HP1NߓP|r$Жf+DrͲjjIi8`Gp(+`eP :CgvVMAy!zs@*'.5%MpSZi*{wVP, 4$w?<4" F4HNJ ČH..X^cr-ݼqV/ОTR%zvn4'8DlmqmJ7)dbkW݊ei}+"hN܆^}DGMg&x:{[ fD[n6/ڀTz)mllEpL{64]yѕC휗?[s|/ ,7i>bu=4?1miHN+C "KC+olZWb$Hﭖ>p) /:a5%7)zh^4sLaq7`q;dQЉUmh.묋'Lo&*nTu̫F $4_OOlK#xdӅ_Al&T PǫNR:91yV2d,֒Ѿq.4F%H%>K֑C&X] =xr)Xu!0z!?|rmilU}=;y%kF.$M ⶫ/\|ZdI@dۼXrijrU Ʉ@>yU[-'$F#3dd$ϫYL?klZ]z2@6YjӀ%$3n4ʎz9TiImu|r#<,խ3ڃj-(C W)G #M͡'9ф4 0"O".6Հ5 Q{3ĬzLL]B iͧÛF7U'F-81w?s_*~#2+͍uv7+~)M]\E}vPnU JBclF;Ċybi03~09:vuw?/yyTt ]>\]_CHcEdb V~@*D{sswHߏoo?MW9|rX'*On\r's QF3ڥ|cM~ tP#y-6FvBk,0DY8Ə]K #*c57ՐvZ>VFch©4wgY:p98dgm>?Aʜ3VaNxtOtʂW%4yqz h17c៌lm5d^r>:/?) /M: [M NL]k#mN򊜐JjVtOE-9u:JƊH|l06c/.ƢFf$]ԏsF˨d?)>'2گO>ߎry|#NHBwlIX:) fc]Gb:EsR,C;zw!){S)uF95U6U6Fנydj}|)Ӓ p7ڐ 躘il˽97ƶ0rۢ/p _añ=J$Gο|D疐kp tn@ϗјG RX,:^2CqJ,7RD't%C֪-B%lwde3BCc}MI U`)B.ŘRiP E[J!=E%-HNeVuF8)!- Y:rI+}j#:o;3=z| {r_+դOfE3ؓ̕Q]˫Kldtg%cIs'6 $/A~T Fe#BQӗ7*i,5M%[IO5rIi7ھ5'9^\\^ULtҏ&Sg?:^2 p|I2vB/X >6#7}&2C)c=@ץO? K%=d4\L@P*$=*{09ۡu342 "VpG1ƪTTqn2UtRv 1 |q b([&x @8< ci8tNP*qT/߾~/~_˿ܿLJ˟)7o>2ON85COʟ|wW O'<#ac>|{Z~M>6pwfy?޾}|b޻۟=>u>>~}·>ݾx{lo}Otq@O+㷃ɗyë\}[!zܲM]?χk/=^}O??#LqLJ}.|_w/|1onN70{_'zÍrx럮7W qpމ^|_h/??rGgAr3V?=\,=>~x>=u?CKۻ c?ߢcyo'pxwo?<]{?/yssx! n|__}Zn|s}ڻO~O:m"v%{{=_ OQ4>^?dX^ ṡ_ B{i|wp"4UzZVdX^w"3ޙYjt @.Bx ~$Aƙؒ5.(qP?%2؏ǫ Jndei2fL+"^q$$Y;z쾽SX~%wa#eJC!HG }zZ:0F M݅$TJ7[䴳ka|gu(w$Q]qA嘜sԭRαv" M$3ݒMđL0PśO)qAs]aC*A g'MȲWlF{V~%u`ʂ"Z(R>^Iz&"} |)zO\RB:f߾/zkw_>^LLWo>}Mx_7ÚLW\_nal!_=lë+RK /zsoM"33;s͖5kEonU5@#NN4h%ZSזo2t fZLPj@ b ˤs/CUe%KyS|!0 1/1 ~aԗw`_GV}-zU!6)M_ 8gAoph9,Gȳ[LU΅!2;or_/_w/{"ob*<2o}S 0/{?`ՏaF=CbOp/7?ZY+w1ֿ!?K!:~]O#|޿C/_Mw#3O\C!~#DFwSvf?[{\&}Wq^o'x!>vtCcRSD{;I.r*)mDar\id)vwum(_iV[u]X x&B#?E5^y 2Q0Z7wؖ)B6>°ILw*@ '0 uk^3{egcshF1\̕ls:|ZQMQDO(V{+/N)P<+ܹ 6'ͥAH܎NHIE19zh,B*CG߷qk| ҊGpGrn$ki0VÞב2嗓LeҰUmN.JT"XY\@Y֦㵷 >ҙEVX!zG%kNYβgyѐw>,tvqY%]HNyndzV Ej&c<t+=>4_TlqQqť6W}ɮq+HC*xk#8ִIטj7`IBYԍ9!xX^WYqGE׺AYnvR^-[.QG*2ԪAT̋۷2wz&WjRi-&ue|Z綎вz[ČȐ 'I!ni,6:*C&G%*/3~598}4pn){Xx$B>+`p}:%Ǜ.,=g\B{\l ǹ/aT q=e!Jٱ7·L9N#w8z f(Փխ ^|F'H0؂,znE͝^33FА:#zi'bc{yUgљhq1$1(\llan!+ :z!.j-۝j./߯NOX/\Q"oYZR8F[9Y_{@D$v)MVVWҨ>xqV)ݙN[e_< 1?-[%.'ʬz=bXkZ[8%TAR>FH$:w=YY<[[t GEրbT^̶L٠QLć{=Mrq7 dUN5 Cq4L"k@BKR X8fJ"jlY>eԂ~kbk>Y)%j_*z"lQ.{nCDEjPiM#Ԍ%(Ubxcz̅+.^h3IMv]e!W'ar[;c,6KW>F/C (,ؽSgsb1RVD1cvq(JaGGsyQz<#2Xk>-E\9R+Xj;zE]I+HJ|e@l3% یZOעLKJԯ0iEoLFU w++SZ&x6$ŎހO\2Rz^tc@¯NPMBkyLq7|#Gk: $dt!fH^$˙< R4/z\IbD͢hgfY| El4#m#bȥ%=}2OgXb BFՍXsFǿq,T$S궬U>1YԣybUw,\y؃$̝zs P Vvh]y/i;[`پ ˠOrf;˯=ޥ55_='[r|>\._ث+/E0) 1=oǶ: Uo}51ϱ; d6gz\1LV:NsԽ~J<JtO3p4f7 Jp1!\bUQ,jٴ)oQo ŴZh/aOё3'Ϭ[ )V7{(~2coՕ2UØzb 6ﶱ1td:LOd%5bE|sF*c wHcNgr"kcݟ&.W[J:R&UZ\())L@>T,tHyħh?/I|rAw$b +JYcROZ\è]r* 1+wMx Wwr\*:j֛,#k}kB$=hvrX$Sz%1yJ}mf,eP&IirHķͣ1+T頣29be1BW#W3Jd/ɥ5cwnJȤR^@;h l٫^ծ@*Ϟ%Ӕu\xUEXxv Ky^뛰Ijq%Z-Q30E@bT{n#WrE6OUtFRBL^]IZŴ_0Ձt,'495:L9ҁv.43n.|X+.7y? ෬:)Ka_Э*$_ًƴ5KS7#yQ)!9z,gH_4tי(ܸ=LN葢n%^a"NDU)ubyZ¬]4\j5-zwne&"P6at²n Ü{j )\ 9W$jȤD|"6*(RRE$P4h P`"O2 4E8` oOh[˧!S"P8j%̾03'z/!O["y"R)gXw)9e[7z:!?S7O9ur{?Ł^ĆVcBj-ǐ2{8vNZx(#9k ߲A/rAhb!D9Y,_".T+ީ V? hZ}qBzxM7_m0, Y z0mnt@C+,-,|r eПhMs(g1J+%Jr yR[5uftu XDF9r^7Tf$N丗U45J GVG2aڨFN|QP2Jzz=Lv./!PO"ĕ']HʆH3rPF4 W$'87DyœwΉ`8sݹoUW)N,4Ր<|l #T3{΢msϫ)nL e݃uNa&u -(ѓ'źV4|ISx:!QP@Uk9RE@^{mi(_lR=l=0.HoLOb೟cFs,C7L%XȺ>_z1--E+2ǒfUvXrÖ7\sfu-@`_92p[9s]"s1nL=v|R&QnɢdKS۷oJAE;ҕ)L # @qRo ӥK>@OMJ@$9QH@. ŚAn6b3N7I8#"vfMs^Dxr Ykˁ`P(U|s #ePι lK}k:}P{M⯵J*f+U)kJf(OX 2 Ɓҗsz1@)47sէwmPnS-wu$ర vOm]a[ܞ3NTe07d[K^9a|/ PnP&(0Hr^՝e(Xs x iCzWޥe|!"RDc\6B$׆?O%yڼ>M|@zŤz?G: ,rϒ\ԁ7cħ@,&+.k}o i3wW<Ifr 2G>KxA+ ~>ZGcqsɵ,\)r {=ɱ^WpzRyD(!iGeKJqip8^5BȧZ/СWR6(+OȰA~㖔ҚC_n+d #yN6(hLY-ȫ]$wC;հz dŁcsЛųmHY7@Q^ S~ڑpeZh QjeBپ{s+?`>sQ;$rp wlfkč~P-v@A\"q<X.:S;i\jO3\׵Hh"1V%-C'I r`yS!ГkNzP=/u9j 8o{*y "LԦO{4}JhFnN}<@ZȖX'{Z(cY<旵ƭ&ߖd{~f_QF1wBX X-_B ,68&(|C-=flIt`7a ZtRՎvIpW?rfPbS-yO]>&S`2|mcQ ,#e;”G/ݺ S;E8A8oW_-GQtd^Z (oUFe~|QSy6,tƠ4Pđ ]S P8 2oAߍ-9*ُET#faWVAX;G!|;h{/R|l! nPXf 襲!96"$Еde:@gnv.Յ9nO^~G:xqh "i條_L aJyyx̤R.Px@a4>Ia \Lgژ[ϖn /Iݾ cuJ^ > fp[T/b,`4"U@fFd(P΂DGX EɂjmՓ {|Q1$bQʮB}WӞ[(  qLӈN^i{i^7Rs buUrm5()-#gCx[NIM٦9L9zf~PMҳ l=NJǫt,60]>u\+Dbku̥tJѿ$ydn%)%QUcbFI@;rp2Km7u<)r [X |<ᜒ0d#+{ӡXJ(Ӑ)D[T 4:^b͟A 'Xi]b3Yi AMIj ߲ **b37Y wʇ?rO҈{4gz lJF;Uy=K9Œvo$r~pו=+g /*L=TiC4M~-,fr18-yB1 `, kSKozQONtto>)6rTG~@>z6J>RQG6^s޸r k<knrZ6,X qf|spyN"qt'4m]곾[O~ڂ>ebMNg=} I$%dYNj јE!3kL?HgY؋_VȂ26! RszD5$]ݝ}iAHLCE|$~IAhVb V=ڌ X#*E`.(/6o6< ͤv!â3Xә#4-UT.EֲQ\ۗfJ3}'s[x CS զF]6k#،fFp08ꓔI^1ҶUABL{oej~p]6KcnnhUK$.\2oMf_|~?EeۆK[6եz.G3H&_ԊPR&VǍ2* Plwh+ʉPȵw y߂+>u5HVng=5L692K4{k#Iڥu*!{Sh bLJU b^WM~S-M񕒮/waib O\~O/ǕBȉ! ᜟ[w_=f\8[)hհ t *2hTd 1xgH#jP#}F2B*=} b5s!sdOczD6cnY(<>_Af"vﮅ%w.AN.dn a1)yĬKY˹ s灯Β²ӱ;imz ?>xJiz>VWWЇ[Q*n0ϙ͚zP߭'7Vv9hɱ=\$s_e}5SxǸ@f\1ΏӦB8'W jjW_${兿7Yif3P]=!0>cg//躹xD|{j_w%2dm,2pXI9$ȴyhUQY_ȹN~^rDuqcȆGػ#xSu?"+ۿ؞M[4ݿƭ pAB9)Bc/-GW*|.s$InF:dq?TGFe0)ʾh4Bj2p %Q>Nq>9^aG^&!~VkK6/!!j|Fy05NKS e'.9AH9aՐБ1!o)925" #Dܨ5~>&zv. ]1+H~- *[T}ZBmp'G_O@p5&eޥU @ZK s|k3$ RL'#/Vt_\㳒Cj/rmʴD2_?{QL늁<"M ixrSNدJAsꐿ)` q$65oؼud4̙AX|:3〶WrgRx7dm)~r1z_w߮b d_-TZ/,LIϠڭ/?5_Iu~M3_qЧLݹ+[xZ\!j;'R^F, ?:X}`7NՏ9qs/V'dXGr\+~MtZ_ޚ+wcOrZկjsa(>b j~4 ?@jޡ۝[Wî׾\|5yh}C-x*F,|75TK<Ui.14i*m '9I~. bd5lOBncl̕UCU)XzeMC\[`=:$48G>dRIs-GQ4h׺kŘ8hyO 9te`y[ADoG*xJq5ŇxVVϒkYVY;>ow[ '7,b?/{X"YI[K$/df x710 @|$8Լ^/B7^}O\yQqӥՔ]Q37mVV&uN!m7F?|71&} Ր]?|! O=P cu2J&hB5r)' %*ƏGܽq6}y>N͉Lm#eSv=7pDo|Oc[Ey{S#MdY@VחӰ!l/lHPDnZTnTŏH6WK,4>kq,* aOgp o¾xEӚjyIob1ks"Rl ,1k7zhyxrFjsK4*5loDF7kjY.oi}pK!sx1tBlD8HDy5)}/Zy8?0]O9ƀRm \ZC:u<bc{Q.>Zjԑr9IxZH%o=: 'V*<} űם<-O sMue*ݎn4C&BbEt׀ ߸Gch_;+PW}EИ˻MxfD^ѧ\9[" [%ʎ H=uoxIiwX!6 a(h O8]u/ߍ&&ª_GPjqptvsv1wLz$]:P4:mbE@98*ܖ:f[|ab97G  ' {rUsG!w1qt. ?vB2|{x< 02Vu3<oeE!ERoOagZ.c]qme3"9P)ǝVpa_l4?kqZ+j7`-Խn y9<?*.e+}Csyv8)сEvP@mTQ/ [2Wj<2)i`mRM=̙1ȇXRI 2_m=ʉOu0V:6{T^ N uSO~auNRs[kyu9h/ߤ@841T9 m"-T0@i<,EZMN@-`SơRoF:ә/6>}[)Zb |$s۳ fYC^Z9QPs.}7qvvGA9rZ*նX-kV~vsn*N/eR\odlD\G;*J)^leM@Vs2o3Ik׽_BI~څνȣN ŴGk>46[(x;gjd&}R%8tCY>,z0n|tJlSP}'#*keq;AߓPıxfXҳb.KxN~$e}u)e\hUm}kUtKN5նsfnG'`ۯfsG{AfSe?|,(3/[U ?fNK jeYaltm*&9ʊwB!5j inYyi9xZs}`+kw7k,,:Z=Z'pu8!pL'NI <lp>IA3(Dܛye/cIsH_=& jgB)nZGr}_%ڃ4?QyG|y8X;G,DwcEp6[*>f;q'K+~鈥Ye/bt XXcxjz\*R3W-yTIay|yrV_ E󱽹5yfДԏ11ʢ]յ9$L\ƻ&T)Z8 nr(h[p˹jʨ%܎mKr\m`Kkc@ xˤG˧a dű=A$kwtXE9xAœv.4ߑnjw?>>9b2I?s2ܱ_c9UiWeP뜯wgk$`/|@n  y7nhYt"PLlEB,M:2'T; av/b<yP4 3=mQ`1lWIJ{+&UZ2~bvTWc< |Z8Dl-"7(S.]DD]<+ʏ9fUaJ{@HX/q] Piv|OG?H =ptΪvCp׻JK-^^*dH\U!ՙ])2V<^3ߚ[ ˙w ;alG5`#~'wyr9焧>g0*xT$!k;q^(a/9nl*'X53W]!P{*d\KS8z!ܥEs.;2-5 ̶,Hړ 2am3SV-m&^\PO#ƑA%+d}Һ9KS/8diT(>SL+Ioe2K}/udxĐ|Orzqmn_IF GŮ9Y-=/UT-;޲.kNW[kfS%D>,yr%^o"h1zQX^A/Wӫ$i&/ 5Cr`J~V9\q`%Ov}|"`v4;1[bTb{+=A+ AT% z9TLM iJ"Z bHsNZ_IˡJV :팣&G<33f:.^S%Zy!iҠnasnUښb VxUyrX#؀wpY;,C9q߱~"9)_D~^% 6{٬ĝKb#KNc{0v ;7Esj(! PoyЌ}8]qXJ{E԰щ#-jBM~5;1cV̌K,?mf F9V$^3HU[٪c'%}~k]u֢{x';a'1ۓH XMX$Du%M>GB4Ŧz}e|ʅq=/YEzyqΌI1çm,7U~N}|vY}^Dh!d:%۵y}x9 xVqXKmV;Ra:LD.>2o zb'W8K0Փ|XZ1B?x D|6Нh:S [{!4u[6߆HO x,5*쇳HZN8QN`Pf|Nh5D+.L=:4o|K &#O ʡ(>T 1wY{b'13HdFv =b*e;t:Z'{R 'b +NJl~3Z?贆qH`:4!>ۯFiV([tf;;?0{i]i0j,a_7Ѕ!=It^/34kV\~Xr8A8NO%uH3mI\/^ƒ #k(gL [_H)F-7ϻMQ9RZF-˜ xW Qh?B-؆|ZLsƞMJpa8X>I:g뱡¤5-ŌLnj^y }fjx}Kk7(3(F}3b5e׫Y?m=^:c3"KcrԢy z%J #O+0VsK qTʐ΃ DĘKn|&%4C++/A^Ĥ-TVo)Yj7 d?L)6 \ +l%-=y>!u#fq8m2r䠉يފ*B<{r&>HA[@Y$ׯXmdcFv$Aq0ʝW&Y)~.a>^)dنē@W1d*#b9ԻՅDD|͢7p*vlKGvyņRAߝ=Bb\5qPq}/LLΤQجZxz9.n7ㄨ}SBׯN v)2~МNZ7˛KkX 3+R+L%N,{bH`jk:8 MYTW.uX '<_`6&aFu[31t93;O!(G,{Թ"O X۞Tzh $̓&XdJnPF6+&;rmL5i=JUkF⒨R _jg#f6A#cdM4WJ0[1NZ[ ODͻ&+!?fѵVBLc~"fc%ǓЋFA{fk]݊#y`W+4Us6Cˋ-p_ck T*U‚:.P4}oi3NRGIT0;Fe,u&&%c`kQULc(Jk'x|1VnsW qvýȕKa G5kid,Ԋr07i7RUG$$9#2XO}D>|pM[֢1 ['A69ĝfr )Vw@x} K <]ڍqv%ۭ>=`Fۼ:Zx >Tr#oE],k w9ktϫQ์O6Zsa)Z+J\-vgtڡvH9[(.1sҹ[NL^y_Ѣ+0^Wi=m9>KEgB^ }hzɱwl0 N\%"*͞ۯ 2qxAٴ1P/ Q.sCǛC֮ȴ^ꔊj8ۑZIГ1E1&7֠q"ɳ1}UITL+,IA%{@BVo[1Ő7BGg`Qǥsd%Һ6V3Уb~8pţ\J5`1u'錖u ;]oЄHW%ܝ4m8xRh*)6K'9uo1XF]rr_/ $Dҙ9wu:9^'^јbqCߥ x>;tiod;F3&d ".l׎2n!Ucu&O .ؖRҺ8 11 -uv_{VN'3VR]fDV$=эfre&CoŌwf.op*V\:V~yWU5pRfd\ƄD'}҆:yҭC,Y )kJ&>dH G $7;BPx:n$}lʙH`>遰Sd?ܟГ%)Ce@ f~9'z1lWyZ}^𸒍n'i|]|TDݓQ lt(8d B>qfؑߞ,;pZ+2\3kgnګ 즈N(\"?>TX_A3'N\ -ݖ\[AD[h8dȘ>OxKo6&XL?#W+j1;nr]>15'znē܄E_eblxiyOݣ 5{AIk5vrWuՂ|fqj6G0(wnIpS/-r8#ljo1iy}IFa/%F~zplr3s4CӯӶ!q4$,x}f{2.ȬwC֜ bY 61mvtNBI0lřYp[e'Y Kcii銳:u:ňMgi?+fgR=(;M]*ut}J[j;4 /ٴ&K!sGuJ^U(&fOĕީiX(sd;sc*pr3 KƒEc%`p`.ʢ/}ݬDZh~˚#3DĴg~X۬>T͵}E9E`ƕ]sBvss2[[Xx fؤ5f@&M52X~^Sk5/ WT\n2QaRlgΤ)d3hd, `?5ra3k͆j9+x^ˑ&l8Zdb:"ehr鋭?Z^Wwڌ|tYV)7Yy]}t\c|~%0Rɳn.]c)#$߄5*rk#=%ܚzwN x ;&vBv+_uw6 {Y^2nv ~/(<)JLn[V,xȒEuMxr(f0v31ru+N4tռC/X6L9N|yO'y |5s7bV )OLu%7'XS}tVWM]wct סޘDZ4Muچ$IhacyD4fs^DWAbw'3ׁu D("Nn-yaTVHV'(QNkIeX*vi'41(k{M=%ct:X9Ǚb' _,uj6۱L:_e:,;jX^WϨmrlOxV2!igVvէQ兽mƹrg,'l'5 T#V؞֪us950oIa2Y6x_ҺZ(T]6w󦼏wto8 G568&cVRa5@J"f8`f*&5MW("N#bܑN,q;I /S';~,, poMǾYR]e7VʌFx^b'C&~WtH-b cm<ٱ*e3W=pK ʚ.)Ighf=ŒϹD 3!#}HVx#S/rPkTDK4gm->%o~,*agP6~r$SBۄ\j{s ZzpLNa) u 7%u*?'㿔{Iaϩtt\>Qq$xkG 9, ,f>I[39,)cG,߈1B@pl͍QKjX^m,<ńvK'*8kZrA9LG k勡 n;R5ݰ;K.t8o%kcGΓ6ol:%K eQD8oOH5];dDaLadbGAJۍO0QFBQH)9UFjN'It8غhYLn| S\ǜ7~fEP5+pO q>z3w;j[vmv]#G2#ٙѬ#'eIvPg+/ף+4;;tn%&`d@Mt MF~w:oK?}wskg~JUG+":Zң陣8/3/^ a8ښgf)ѯ?N8IP4 ?}o՟׻$Qӷ_%?}{ Sx}}BշV=J3{!Nߎ}8y)Siݿv4`I`EhAh=u-#mmC)[hZemdn]"qD_Dz)34NFeaE_O=u0߼k'>"gAoh+uW K?SIO4,:Sꆸ[d Яۜ (J}1?.q{>U]^g|D}Q -|+zb7ZD@#ķ@YZ⿏X?IXC5|ǰEcg(J|bgA)]RXYxzA#( E .8[c,L,)1OdA݉<-HN*Cua@z#y0þ-$b% O bIâyq,_{ߛ2_7K4. *G#ZKٿŸR7@w # nH @ K}ϣkrQA5E2iw I  @C(2 "Eqh@'05 $GxB?(y( xDBhBi0xEгo??4OT[uT~sKGEzQCT"eBCCsʿ|t;JJ`5C~(dI#7G8J,rko_X`zs ~a)J0L*+B?yelEV|3fyU܆izYbzCCO[Vu ?0raWq ׏Zz~ZKc/m:ԂS73ua rcNw^ P߽ߖ]q{CBZ=C4oC?1ɏW*k gN`H 71*G՟Ou9ZYxQ$דUU1+}(D?e[ݲdEUi[y@,򐄢ITjK3 E/^yF 7Ҍ"(z[ I+@CgR3:B(PUBlдD"M^(GbHHbxck _ދ-׋p{1|3"!g}g$A|#m1*%yT&%df,020>AM=ē*p帇ޠb5CZ]?x Uby~,5<)Ys/B%-S1P2 -T~]|]PϔKm}(yD8h$12cԨg +JDjRQBuG 6D a9% 8 E@.t~@_+E?NޔM0e [M)ǡ"E(|^! xG < ~zlU\!WɯݾB;J!({Q8C~g ^0GҚcssJ\u-̀h\D^`0aH8 $IG}G}.;^JU<7>ZxR،QQwN]RuI0$I <:}AȿQb{3Id^='tsKZ臠wh E=Q?6OȲ$?Nj)G%%/R(=1"ShmB [O)`CB#ߖOxy ϓoDˎ~-qN2'l 0_;zȀ¯;vmz~V/S`߯(Z'mQd7%_޾,GFh5#d_{b?ئɂ?^h.F3+_/ d c*Z9#ye ySh~5O^M B _Q=ݸ^YeԇF2²}>#O_xXr.nyx]ZX2_4>_H;Es2i?_˗vDnI 32ll+<|y!8}u'^ˁ>oY | +v2/w1||{~}zҁX~ueIE]_Ty>JěW4Wͷ GO7&3sH,2As/ ł#E Ũ>@tOͦ)Bd`Fwv6b‘%q01M"[H <<S9@qBoф=C xܾwP+36 :#hf!F{yP JD@_Gct6Nq"?8/6[ onHr@ր^&g-(X> aҲa=04hiлР^ c77 FXam\ŏt݋%a,i x8|[]QYšCG/TN tp.8&ht#]#OhH1OK*y-AGߖ4/w c<Hף=B+mp6=vSc1RzS*%zD ND3abbssZIM E @I vWƇ[b̀%eqgGx$`#ezUc&6 @޲|r'CVY *'P?NKD//32,"VhϲQO̯ByYI($ O) f+Ō~bNhcyT'쬩!3̂sOfH'aKte3"( <@ S  q "8j OL'{8iIf8= NA[gY;FJhX) ڙv^I!B<f2=$)b'U߭*"jGT BJT"e @v4d%4bb$9R Ox'~Id $:j84 @j#`RI @KBm"E9:oqf6 E%Bn:c 13R֡=[Zޢ~n+ŹTxj0 V[_:&h`NOoBeG] '<<o.247'!oȸ@, e8S$#rSj\Ⱦ83~6_36=w]3d NRs~W*cRAz $ eԦך)@Pw>6lJ'1NFY%uzzh|HbdzDVbaˇza:̽sb'=Y:4>Qm6 i P%Im5JJSEmH(<,% %H+et3(j6/@3ON9EXV^AvX;!IO+ 1P%?|+P( -% }!U&9,ې n_}maDD(|XWa<.LCEGFfxX {AV/1E H%a# ǒ ;31ʇVS)audV %1 ah3i(DKԓ:B<h5! opީЗ $W}*oB+͒z0ґt 99#שVDI  iuPWH/F6nEc  ` &tǫ J&ڦ,#H ޙEю zpo-4kh$M3P.Wfw$9kJb6܏)޸PcmWW.a C3v #Y$r\ ""|ZYz& @$&m!Hg$Z h H&XĐ ʲ'ݳD7dwhؑ` `a+ƒtDɣs\#C?vi}?YR%3EHKgS;g~n!BnVVak$AH@gAoyxBKDl z2b?zLh>L:ќI1JkfOEpOtGW)gF2mUhvohSFXR*K&¦ 6E\!0^;QAOsbd=x=d.yN6IHٴdiP"6hl: [>[ȧ砭S=lm㓮c$!AYdchN@tܦcĤcŶ:K] LJ6M#aIP|Lgj#k$H 4) Z %E}[bt=$Ed&MtׂQoI5d6$ZdH"i rzųo.{=i(!'9e˷ ҈mRqn@ F9~i7I0SNgxZQH `DLAW[L6M iI3OH.DX#lMՀݰJ+ô=Z%<6$3a{vTH)Pu*y~^DA\hHP61`V܅Z+YFBP&#x #-R̤sIϟ79ok@V&e. m7kƄ ڡT&~y(Ԁ8s2죴4GnfĀ g-_Fפ]Py7M;QI"(4 \;gW2 08W2$h;@EA2ɀ~BܱԋT/e{?C%~8==ArX*av hrn] ?%"k]ؚ=]f953)5Ҍ|I'mYj&.$f0keQ&S4=T(in!£MKJ^O>vVmv rlIbDF1aX8mp,-Ses*uQ_/ج32A1weW#V0,:Ő UP614Cj1ίC炐l֚bV|m+OUN6˄6Dj3Qץl+Sc\pFVJ*u]i~l Z]lY"*, q!PJB@+4M;")SRn z6>%+4H6VΊq 7!w~{a5.X|YfOx)9m\i-Lӣn܈+(n7>JUclۧ<1fuîO64v- WJ!@d- Sİw/tҢEb[.nޤD/*h󜏋&U༩[ Xet%͍c$ Fb:Wҧ6C/7+k|x{y1aCd ,GdIJ IҮPa5$APM}Ę4a=0fSfeoQh úҭ@}pZb7Fbd,h2:tsFCGq>nV}ĉ'"NyƦ%4i{> ;Z iqȫfX)~(%7$ AhILSE0| QHk:v$OK;maАdU(ve0( 9DHbs!$h",ӯD-^t SkF*&.F2l@vNQ oHmqRB}S+-.iuh\nFIClܽR)Dg mIb ,kH } qf;F[lpkl4` i2b=6Nu*;*.m/ߜgIO`!-o$o9W4G123@i/8>;[v[{?!#H[Ξ\T1Hkf1mMED[UH 6® .$äYiI`gBϦ&:TY'+Nm,r [w kׂWU7o5+-ELtvS Mn@zVJDk3kCS'MnG㍥T* v&$Ezn|l*KwmӢtZ,LY%9c,LxD( No J݅{4lPrGq$Lg~(Lk俹dLrQȢy1JCV7NDUP.g\MhgKMfKR,9S{#:%$o_I ID qܠI1±NL 7S6-W[!e~%A[BhRHրdgV^Œ^iRe6 8!~ Ґ8&XUeVmO=xI?v#Rs-_*' V娌5ʼrjeF9bOQC`ՂWS0X~`ke`}xw_T7 2K޳bs@Jߔ '4J\ ;Dm(*g.s0Tzu3I9Es־(ʂƹm@ g- C!IHzd;ʦD?k_C:2n닝ffh‰ӴOy$Zی8-e Qz+Oɾ ":ڟ pv 0ڕ!WKbuJJX䌁KˆvANy#L8kp =a!,78tRt x(h+o0O"erl͓^e^u&oݙ|C["_yN (}^Ɋ b&[ }1h6u:KJ#=ɏьfI +x9e\& aS MaE⼃YQ}F%KvYT0b%5J}&pjxZp:QNy4~Ns&p(tN jgjx|އ]K{FpbXlJgJ>n9YQ\v m.4aGwÎXȊ>8+8 Y's֍焦,Dj]dzfg9NTc Lvκ9/c%pT LS‡XswV}l]JIqɆ=!sզ lez)-u^fJ\hM0@iVe+2hK/= t oR\#\7*r\@c)>ZĚѩ(Lў|WXR$y'9 ʒ.9BBkU)|>DMRDpIoQJ+lq6_L|D%ߔ\snWf|bB9t% -ZNfRJg *^-4›8dNP&, lPriF^L60NGY|^(KdVkYdFY4Tv(m^*;%휁R)ʟ*KY(FRl?]+FS>&psm)i{! K!US@.@jTn&B]h΁q᭚!ٓIhR%صܦX}idȉfDp_Fj%'_uMꀎ;4,Ċm9a*jDj-4lq6d'ѻQ) z.[v6܋^P5*T3~&6ʼ'틷7j&YqW. U8[ \3k=d +aȆa Z4ДOLê+qdK}Xv!]iۯqUfե[]5> qԀo.3Eᒫ3.CcX%o{0ɗ:] Uu>GaOIT+)71sAwզJ\RT;.)a΍K8\ɏ%u:XhE*Z`V&Au.LufLq{$&$6W-YUj?-.8x\OK$jtOC36rX$scGâ8D|XX5ii2mYLzf {g$uFM'0$"MHsyxpN4 Kg3ܔ:ϩ'l(ҔTHՔ54H?7M[g̓l[XĹ36IE[!jdfέsjl)lo*$,Nx*f&fsb} 1V b i+fnhvbsݹElwN=Hjx+"h!QKOK%pq\[Ӓ8 q t[WAmV4In;q*o`3N(9/,-"ZL3PȅPҢGLp&.gIwnjz D֠$r ]VvrVg:{v~sBzܧ>79gﻘzqMBFC=1$r%o*8DvxH9#$2O U~FSף^9%*H:P(+N`*RQ/+1LUd 'ݱJAdr 9(cI(qr R1%3ҍcD73Տ79-W >kuZأ;4x/'EWVaD3Q&mpl\`&ЕRC߃Q>׳; ѰrqB{8OLŎp4x'a+H!G-IZjYY,.:JW̤2`uT&(C8&wI(a\ts mz=6ܦBt.R.R\e$0Wy .\T +f%Rζry]i]^2ĵ46پl{.^K'96[ ݇z J2$ᵫ!3/l%!Q~Z@= 芔A*E%V T$V6ErWq!D./L5?,k[j!0e 4E\}h̐`cQpyAlEڴm i)Fΰ(mVMo]KD#FgM#4 \n"Q~A8"FF . $O [jVF4;5|8gն2(*UbIgJjjyTв.>R&08-p@r͔'J8Bm&T6'1pSdH:B"YU^ U = %U3,g.qNeUNz:HyHblo"F7%KSg&1èlAH<*(ҀJbi`&j ғ' ^Br^=I; rƸc=g-vbEVM,|6OX "lytf Ȕ`5]%"XzHj0 8Ǘ\KQ+ӆR>Y-7?Y>"uz!G! RHrqޠH&YՕW:.yrE[tD!MIMvݹZRyP5# %: 押8u7o/4@ْ00 ϰLLLꝟ?LW4a;gO_?t/&e4:;祱}O MЧRSoew? 1?@%,jP2E8hT2qv-({ LVY4, JQ{CJCC]*ʜצeP猏b|pFR9t]Ȋ2-<:'tDAkEQͧ(X)T\*gғe gS [mͥdE@[ + %&lNe%(t-:mCN=&$d%5]4`A'dV7m<ܮƃ]@wѻͫ7nbol<Mo /'8%,mGO??_p;I]q m62|VR?^qiQA"<] ĤH;߫ۻwkj_d܁{#Wlz7j܃;$J% G )cți4,@ڌw"ʲ2E [1eYPD]^!b Q ?fc&rd+ap՛ƯCi\8+CifjLލ\ ,\ J:n3Q;dru $Vk{ܗ&K `)ma?!˞<FB!5WC0>ב уQ2N?pWV"(΅bz{{ >C7tzŌ:Yl VRY=Bk:/5J岝= :mKiF"̱Oh[:`:)@ %H;xu6lƺN'ԧ}ˌ*qʟj,@m?f5YG7R']3ݞ<~NX\zާ=19yoJm PRu^FDoia+:'x4(:Q5,ԕP>?-yܐe fOd?']$?_i>krnYG^A!6 A.42̹Y0u'ޏ!9,OMΕgsn Ow읎6~p7% w!z7K0C4=%C nͧgQA=f7sG\ITc++uc=6kGRQ H>d4#ڭH')!N1Ύ9Gw 1Oi[jziY֡~1ϟ;`W`aHhW~a#.!r6˾h}WyT^Lܸ@ߕYѲ1I>1Pz": C? G'C?[xuU JqzvdFȦ1&^vNc8IRE~ -WN5X6X@x1&x*J.<ϋe[P+/}*ch,RU^o)?5*. 0ҘBq&_8BUEE =>?Ǣ"3]<8eђ//*<@2dO~[qX8 ^e 8o 8dE><q[Nt` \M4`z5 ~Bl ªQX#A5%B*_R xnӃ98|ק4qx=hh}MO˜-7wN<KV9Qx:ʝz+$)\smx]$>+$#6ɪ$(6Z`0xH>$+%Y\VWǧǦW>#"gtbdozf^5Н?æv>+ś"*?ߢ\>,6vh3 nIoMg"NͩTV+&P{ Jhkqa+Cj֔u"uu8$ 4 @T*7ǍjI6feL8?7\LVaEr%E\:m)QʁF{.eOf3O^W1D ˴ziD JnEpze@̷LitiiRn"#ZI'ږ K%=~e:vUm1CKsk9(|J~\9qRf75u) #tEۀG;oOtÏY ե nf ysq5g4Is6hϊA0M @HrD* }Yhe k4 [քI6[P%<-AtҤ), ڏ;' j.oriuE_aL5^i"2I5S"jCq:KfYpvGm̗>)ǩrks((ؑωHat1iar*&ZČ>} 9>]87UXiU|A dwFfߓxt>Oc <ԝhcne蠶LdO\ k@Ee"*肂T"4ZrB, N`d{)m R8bI)kZhP[u坁!*qO`-٣mW9vY&u\'.I~0Αv$kH 6A* #{##Mo?2}ʐ D%%hx#hv {}RD!!uxtSG~{w3~Ná銃Ӈ5)l#<\ZvNJ6( +TaqT>l"ЭyVyAHrmVۗtH R7\%-v T<}?N(~qOW42yggr&;QwkUtߴ_?=!OqۚC$YWq|e_$|}vU㰔M[D8"VbډY!LL,W|sT Fr q`,3Fe/;*aoXPi5jM9\M~LnѬ#c3u4Qɔ2g dc-- |W:Zs,jMw|3iP[ avX וCIɰLeTZ)G>O TO,@yX*ʜRyVw, jRA'= iWc6'«+l6I %QYύA[\Vco+6H=#c*g\KhN5 QR+Aakb n&\^Yzd139$t-+T~pXjㄙ'x8a kuZf\) h$CBWL,:xX'3=r h:XJ-+kݰy6 So,q7ZuXLcihKHi\WhZd} +þs/; y|M}23{}:'|}8O<Ïu[ fVMJW, ԥ.2\sLJν&/†pEҡ,aS?.`D Wy 赥 !I>bCǿ7k0c×toFqw8^xޝ".9L8څFc)@]|a9~!Pм1޴?pJmÁюiagTpk9R^3UR*our~v+ 1豛cޠF{= '3 ]zNRG_ .|kE S&vg3fۥh3͉ö^]UɧJnWfmn §u&|:p?9]%NƉ׬_G~ Gf-u`]ɲ9U|mDY0_Wq| :0M`WEF 5,`3b<(K*wGxxAmKgG*ɱ KvΗIX df5;0R L5,<9[,%iF+N S\5/]jTbTo$>1XhySi]#_sc4OPE\@S[x͢`JXikQ%͢2F>,2n\0U*5'>Dxw7ǂ*k@PI0rDGU;0 EHHʀ/| ;Z/+K w}S>'?!S`kO=gY>Ӯxڍ> 9WU*ʟ-7ɜҎJE̼VZǛJE LRiQFJeD؁$pHjQhqMt9Wi/-DLb1Z 4豢#u칳zeQuz80Nܼ?:~ZFru.kz]\O 8|:~53MGx(M.Z0qnŹyҤdCJ{zrи7 X#=_dbt@C=hi7ԫD4Gߋi+Y˦1)hΘDk"TߗN H:z:ӬQŻB;.4&OIrzd͊y;R'O F084Ż#ki>i u㨵'uh~ڎrmGRзnJoGI|ߤTR:U8;83|' so#(TjBZEEF\.㤨՛h'(Rj|„&th?Ut@>D>6sX^IAG0 g#l\Oq)I  nM9 gH.|ķ\zljCmuQLdnI&\7JOxsJ$iॉ>dAp*6 *B)= yQ#N4/~fռ0 %`0# >)e&k23ZtX I ٓLY儴Das"['SQȬ̓kjP%*g`{sBvIwߖWJGY)D{T w*I!)U ӇJ43)xԍ GJ=c̐[:X9(YTq?g/JT,#635)Jk$'E|le8D{ V &D&W0=HLoA+ikf+oEi! =]v/U,h-&RIu2)&KԽPYC(DD uz3=C^@qSԸ>VBxx/ &=bo 0g1|= )s!qBOLr}/E!qh!&;ł*' F@|-d/1Ĩ8A0sB4t$whS25\$z3m]HD9!g2ISmM#8F_Iš4fs=SU.8^>뎹Gwwg׿wGMrw/ҮE Uˇ/3u}2T矬ah;׷qG}1A?dW羿=#a|xw8 N[:޷8}}one9i88Qӧ]\zfj7*ˇ:25zcA:7w‰o." ֝/_aXƎ=2WQ|[6c̾K1.ƻdޤg&}?ABٟ >Ilݱُ3+ $ c)@4q8Tq6ȉL[ 7QRsW$zehgzC8Ok+FJ }C.랯(9NStf:4B}О#$&|AN19z+quIR ,F`2 Cߓ{HnE"4&3Nf R]]iv_, A5*vpB:[6 &$}OQ5:L1/\р}ǎ^rL' |pPgK8pռ\@4Ԣ7G ݩ"N?3˸R(R s\ڴ1RxE0F2Y0uP!7>N qP!PBOΚ\)U*3fǕ{_j pN3w9JU[qF[azI 'Npd7XNnxۈjնRo}7پc?^}4G~nW zCKgOT .T^*SS_.JD$> @ygq T[<|E~QD83UIPWmhy҂QUjPe5v'Qz~3P~l$.4=)'FBe#-qhS P޼q.46NnRPsLTMr j̀#@R{&P:zMWՍ+bOdB(װ#ypa4DiTr}hJ 'v.^ݲNJ*adt) Ifl,hdźт GK[ 4 Hђe噹[ߝJ0m=ce9c+]# N;FnxP dpJ0,oŀjH^Ǵљ$i9mVC6K"$ }+%:&;Vj6&cVƥ4(*M8v<Bsm'=+,WA@sj^k ]$9. JJ|N9J+'`zI/& HMA _@=pس箬6H\T %[JsɐˠEJYð$G(z)@K}|>ֱY"\g@rO9B=* {DgI]O҆+kI'hAgEj^ ie^)[:6j.I פCTZd`= L5;lf,J b~jRzyIΌ \1 E]1r$5$;P}3fSEeqWl=JUb=dN< W+ B.2a0_rqzbZ!A=T#1_$l.݈n:i.+-bb$*q>S/ 5x-UqȲ*ԬzAUFOǓqC%,㜗ӲVD^P#م!dhm+4Ȓ@P!F\+K ͒Mة2*FSq+DTZ bHwަ$G/,Y!Jd:F9*W拙}:-jTsRQW tĜ;#& XJp/> ?58@ZW%JNzҞ(-&wFa>VUO230(1x՗Md0ʮwM}ө渚6B&Hv.ˤNFC|0cađ6HpBvbp2\eDW~7Y*tG>@W( j)?X ]rWoJ 6#瓖9%1)Q)â N4_`St20tҕLTقpйNGϚKYgRV"pUے@#b)+aI%yG>}aȆhHPoD6+(Cilaٝ[Iy4T˥@4r5%]kb6;-4<#`q12LN8/;| v!%XbOgĻ?~Yˆin͂F &ux}s l^s̻l@3Dc5e꣮)iXѣQ(:.)vicv4nxֻ6FH^jAk'VK X% xxzyLëWqo߮i%7+k|x{y1[k.Jq5wl^+/?lh| 1 ~m׆_  (/K> "ŒݫBèBlg/B0JocB2 <͐&@#V\-.a5Z8oDpC4~C4X$o_yqFz'cG|=#1/B*1p= .u.qBi_Վ ) 0XiJrbY`\t"YWnf8g%-K5ɡ'%6?ǻtXe *h-ʈLj/ʨؤ“jGB.]k/t9_LwswxELw[6Dleh;p}ژQvӾɪ2Ui6g%~qGdUDddVuu*28~F`w`#4!޼1'qQGc$xC>ʢꊄ2ucoxS>%4!_Sp)ƐP7E.Kz<,[軰 `!#ݕ; 4A1I b-k)!xh a!WΘB&ٲTƑ!e'$Ԙ#aGE hgEvz!UI(c+r \ Bs 2yY0 d  <5 SHdW\ 7X?C!M]!t6r;qmT`q%33SyӄGhSR.pzі{x q|{m) zr6 MR res4NLVae5hx)4EM ;Ep+# FyP~)̎f#4ZFLjkU&ZYI--.4=c6i&S $}`ٚ25w7gBA#^Z7,0)T)@(N@r scZbײa?Rk2s6x%GR,;.'珳=dmC [&,4 J4w չGxl)q2,4Y-G0j#nٝ nr^?Mmƶ]׺k2vupIkDxImLL.\烩tԮ`erѷmԇw^+F+l[i^+`|0ѭ-2ۖ`:[=[-A_\s:Zhqd4>Z4*/~yvkƂBFBD7_` .6=;iC1.j 8&CIj @mw$"B\ <':I{ֵ'=SZ-9JzzyQ$`rFa޳| KQ*oXϝځQD4P֪V:#\ `mb:|X j1LB'MY53``XѵXGE/Tj_lE3g-Jwg)^sАGa:u F>fH¶-.CkP;LrrdUcqpGEy_.8jҚ?r<:-"'D (glڤDgΙkQg&]Z^\%mTvib$ҩr^\C,X {\r ZI`ʈ6T$;NᨾX܆4+U;"lSJ36FoBPk(qv>4 ZDk7ਂ rA+]+"Ub%z\gU}m  %g%cYatȜ j pjUQ \-?U !zޡHBH LřU1>qցv`;AN 'o(FOk =iB&TPl5Y:'^F9L=ى3Sqr&"mc ؋0dG.yQxFRnƸ8%H40{g`AjhBZh&۔ҚɣnSyl"iXof~Eʢ&)$rv'6Yb=둛fX<5<5r/>̮7q2Q6%~h8ė('x11>Pb##[Fݾx/ja"]ܨeuh0WM/2]@s]&|0w-\V5Q9{^8449<>qj۬ 6:eΓv( ަ}==)Fޞ+RVW,U98K#͛d㎄qe,)0$(]=#ݩ80qγHt"$=MGA+nTPlD^%[ >O#!9aG e[|7&%+T~/a (*Ab_{ɘD__Ae0Qv?.EN h}4^M?>N #@i|? ><=5lN{WEY5Y;0Q͏ۮSUTH7; UfcU`RU-N*SO)gf@uzByϹ . t`@Nh߉Ա&lc!gi,Zp _7J彉"k^ ,fA 6h<A+핟z܋:uAVgNè3ktBF_ޥ1gن)?>0ZG/#1뗅/p1MTe"~ٺQalkPSM!FVR۟A|D6;(]Q 7(;Ӵǣ?C~MMjʯDV9Cng /ӚoVAPhZܴHpxLکv5 rjeRd]xI5! 0aSV&#hK eԡsa~C i'36U ҆:*45. M؁&G%a?mI BcYLngES50Z颦'( i׽%fF*gNn2-Yb佲?iAf,E0 B(z(@B 6!ّk gȝb̓8݈ :%sרx⚞ݰu;덳-݋RC!N䣇y]IAƃL9f!`ѿ$ /"1c(]H`Рvd`֢eCmvԣxA_Hi`1_CX]%h3f8Pm -es mIbdȃc{v͂4 غ4$1h۷"̫Ͷʛb^& E\؄;`P D8 s`a1/zHZZ5e|ڏJZPmn_]o1o(Ltom Es1DщL'[qoog ;ӕz=n5߹;gY|Q |U7hːҷ5k6d20!9US%;kXozs}.?}W JzF* I7j@}^QViTZ29aeej:z(VMğϤ94u]eO` N/+(+ap9Eqq9#jrp|c];9IWTHVk"퓴" 8B!D}+PNIêz1;VM 1;@>æ-`ʘ|܊)ec+!Lf|_هC Jk4l6ӄz"_5Jt"bdI_8]ZO)W1eerY:&#~4xIt&f(gᅸ1j<̑hHP#s9ZZbρ˄cD4ȘHpŃD4dLx3Ї$f-c$og Qkz WJ4ZG,Z82kZ;0t>.ɘQG XYxb: B́%u^὜ Do_|a,g$BA\}D'_ӿ!q"gNH *# 1'H8PD(?!Fi%{=NaMˎt`: $+NQ06STUͩ":PgthgojS%fk!ͽL"b`q>ČTzƜe639p#V,VpR0Sj'K[&h$O]ԿDx:Yi_f[{qV|+zZv*GJӆXBNxiffq.u ?iN54( ΚjkN3 6O!τ1"r~ZAQP2d_SJF$.| ߦo9"NcY4F~{pAye?蜃~b8E/[M, S¶AvHQ>c}T$7ʋ y|EL%nl\\2>Wd4oŐ =SɎ׋q_R Ƒ^4G.ǝ'i 1zKM1 Lc!U]`vOhe96}m9R 7#!pQ0{)n,$ .1D>oMIn e,(Bi= j= p\)Fxc5%lX&#{H ̦0s3ӒwY>U v ʛ 'ֲy'| 2 Fa D>٘u.;yOעH<5rӧi.As=D7y'X<0^cLQԍVU@"9>[w E2Ej o#$7ST^m soOlv=]"5=*Ф}U.\@@ݡ$5qz4$*Pk1Sn2[ )@jvC֠N[҉BhrFzzJOB8OYѤ.ŎdǐoPKؤ2*ǻ`֋0 뾒4S`frF+MYmDqv}ZimISb!yrN"2,P S)MA`7?^y-ϾX/"6|&':"g"ݢͫ`j:D )QC~5FDXDѪ]Y#~ImBAE{!d"~i\jTH$hԾ !ק 5F#5/E155D2sjmLktj$1D1Wf]Ivi,jܧ7,Rqǩ>ҁ(Ƅ|?YY$Ͷ+ĨتI!)Bx9ĕDs͎FQ u5xxMÙ.#!/J2vTU+.\5w:D}# qjQc7i4DƜ R.I$ӗEc˨$ %89K3AС~f}1ZQ,#a(_ A2f}~Pmz]m.2?LbJ_? Cj \]  )4hp 2ؠW6" p]kA׃FcOC4RqHAŬR`hh≠ø|2:ax||? m47xoQq&^$dhN/ 9삚&De*h 2Shذ'[Vfaļxі`-ٽV?e`YLjJ{ymjV @ y՚;<+i;): Nfj`--elϞN#7' VN-";XCÃàqe=jm?ܯ NW(W Y= 6s{Dzj In,k@] ߿3Y%*2)v^&;l0xO;g+)gN#v^.X2pߴT9XtRPrτI B?`ǿaݛ*Fe 6c7nYFҜ Y6M^]s.} _ cV8"Hf繴ӍEnס'w#@{Ǩ!D&7DwM4#w,SsoސjY1c0Y(ͪjE_3mqlj.o3c,`%b:SJ/D ؈$v;VȜ<Ʌe x-Fj2UwZW?;uȿW(vi+N-z&Z$VQreܢl!curQ˝/*KyuZyjK a$%0LO{ȯЧGT/iYg#Y6>fի<kZeyeG* -Aq0klAٙˣlx](+daYdFٰePxU*;`Ӥ5\lR?]#\U<` qGh2~Vb۱G! 8N6)i& <*hneԦӍSV,`y!Z-y'۞!&EK%>4CVǘ*65V.`:>ӆ ل h>p^*Gp)tF1,Ƌ *&gsLpeLPE9ʹnYL.x\57ݽ٬u-F%l0؁ɲt5#q>XŢ&bӵElM/!b'Ch$9aW`>WC"zm5][vהݬ|wx>y_}w7-eow?uvrk _yW5vc\r;F.F,Y>z.KeGK/.YN0[oe om֑*F X7C)C*)nR +  |Ȟ٣h_jZ6v6!R`)pj4@ B*jl65/\B"~VȸDƷȸ!/fj@?4o/U&|՝f7NHo]'TF;Ge^ZH$@DFoHI_JW/h|]|O<|JKgqfېxӚ}LEU/seۙTF;wH組E~vdw'嘢q! Rع(L >X}V =uSb%=y1*vV{ dH􌡇8}qgQRl;ǴF e,-*c6¡DPC[@%Q2Ž@λB:wPg<=" 8xd\@ b֓5 (PEh3MWh.ɥdx$Ru7!.pw"DĤUI'>V[|ix~I@ [2 y~5(х|/ZH1eMwwYE`1EAQ :# /iHa@.Ƞ˷,cֈ,{l]m /K-NS؟C. A-srԱ >Or1ϛ?;ND'"HO]hr8%Rj [c^/I*.QZ(c븗/D|LN܀Ѝ!V"/KZN[lRg팍y곏g{Ey%`>َ-U7BA3E0^Y-{C^? Pt=G]6G3uvi@]j'C~0̚m %EazWab:Q}4́KE@>H ^Jކ4аXO)>&&6__|fe\oD!KeoK}K8OpϓTLJRr[)Gd+~yz#S1ΈиtH+3`ONg9rB_}6'Y< ɀXT8dgӊ߆lrpEk>#֜7xp]% Ͻx ;0M4ovSɷ瑘ܮHj@@%Tfւv-3]2_ZQJ: a_b^ (8۟9UO^[X6lvtg6uX%8KLi=zW}tZb6-O8ABR!uj6Q BS)+]\ۿ]m,<=T۔y9]:ӯaU#X Yb5H"y*NA e(Jub6(}p;`gJ笽ZgZtYc""#jKe;ag\ӭ΀Il f>{@Y>(0>?4Lh\ ۲e, C-n>v,=u ȖHVyF-sudˁomA|ދRhc|UH5Qff ekSK6(}ҟb)Vv>KBF S@':y!ֽH)ہVu_{!_,Zʑ|4[;Y*/ yY5l3l$&j.8ktL,nt4{kM2d;Cmv:rIG wۏ?=DL3l{|׿}xC &~gk5P0x&vDQ~ Y,ÃQp>Xߦ#r,=gg`L߶:כC?yviO!~-^KĢI~˃*9l^^Rt7n ~2>[5)9i\Ҕ1Purx|m&UY ݂QOMjUtP-(f{-j%~u-\WrBix$xJjzw<(Z&fe T9Y$|x{v-YVZػź֥F矫_;|o:~*?p]>2Nյst&Ңjت1PylW#m,-ojsq2ZWԡLa_D88WILO1|Y7sSϴS#_ޞk(tC),.]*,\D"%Nw z4EW킝 `00 [ iÈh2 + %JUBaj$QӞ&sS^`kfް&ih;D֘RҺhguۗy {HeM;Ѥ\Cvy‚Cm^mx AF94n(` Ōm_,n\ҋ nv_n~ID/yJzF'rϚkEЖ'w%RAAxQ3"v7^Z4x0Sq RG!f uoi\Mtn%7/.յ:OЛXXX p+9L9\Ji18kr`Od&d(pwHPDhb\Փ5;KzFzpA!>UB-$i~& DcXs'v[S,0Xf(֥,KCn8\(AT^ f-,mcE4׋y8V+&e(k1 @P-͞;q ӺXg+p8mKP?\ QG~O\"aRXcPEV^ ",7eNI;gM-[6Ŧ_-6tm74F b6 9`69|&xTzL<*F &[COCkʑM!y8&3}3~5I-\|k2OOq.>5o"L1 Ě7LKcƏO/hHNWEɵd@;FzFV4 5FXzrR.R=9i3 h?lٵÝH[ r k^g ۻiqxv~D ٥!W҇MB,SR d.]?5 vyM=Kq8=y>/O\ 9roO۞Wg.ŗhIqѬ`~%٫w7V^%]_N 7C?tbNh0<-PM<8*H:-Raye! ii.pKqMM2\=Bm^!z`X̵%iLYMjvWj\)~_&;bH'h|{F(.<n7F4lx{BL/Pu¢2_cQ#"% ,Z=-CqPUzBD?#CxhpÌly!٩827td` ,tF j2)թgָX Euo#\I'-}I*+bQfi*r5%ڠݠ}\"rM'!5DA.(A3&|$l/qm]$7 p+wȟ9?Ȕm(? |x~{~|w?$;_ӟ~Cw??߿W?'aKOGi׿x H3ݜmDm Clԏ=Z~nj{LgYdHVHkT>q 3]u6R0Ϣr1o, PlAҖ |9v-N~lE-*]ʗ--Xݜ~q{,n.T<,5M&#GicvSz^0 MBN*9T}{bJD!=(Lpx4Lb>LfM}_^-%ơY,[d`[4eUj'gPPcz&_|??",%^\xSĘhtxB%"ͅ 4sZo8:|`J[7mJ飇F]{>?_3?&uxU_"ϿtTLJ?_?E ZGwqEs`Q]ݼ!9.~(XdP1E02e(j7@p9}#_\U~lA3ۖv}ӫM9,Aɔ %y %v9ݨ342;/AԲZB$_ %`6pM` 0!\sagcV3}naw@V;@%d^*1L`'jf'|cuE˟ ^JoWF1~ɮ_)twJ?|/Bzw]Ś^]Iղc a_GgW+`W=[[rD`JnUyRW—F;4+݆fN3󹂱'0΀d/W*}xg%+T%iDH :M.7WkӏFSDy"|lՒfG 63PUkmJۅ0ڽZ,(MjWfsP0Z7Dkc!buEZuPKJ)W ۑj*z{6Һ 6+zyMU#Rݹ΅Woٯ'PE#Lܫ/9* iښ! \Ee:ڬCތvxC۴#܎ }t 'M6b;J²^ \]nN?/.jz/,TvNFVp7)*ZXR['8a[q. .S皁B%~mAwSyny?$p%V )cucM5k7,$.LΎП]*J;4lӱk7#HμRvc5yNpbs%:$Q^pG\f]ئ Y&iTo` k+͛ooS4 sڇwᆱOq>5^kknCSC"n_vG .P"8Ǎ38k*n9 kJ  !͛ܙ7B}6Dz?h4I@!Nk§sQK&}#IQ}8Mb IՊ.G%9 #n?|Wq]G}oQGwYs1ꙩ4$vapԪU o6kpn*&n,kSj&f*} N`6) Q12um}=,|^}3(~@ZB"Ov?xx ">~DioLm&ĆWI! 9ʅ`QM%^I6l@kKΒZD\K~c' ]0d"G(öGdC\a$I[!0z_ H٤řbUӯ+ SQSD|7rߤy%p|z.M\r4-Xq;-粁K`ڸN?,i]O=󮭰ul3o"ߞ剣;ZꬥȮpgo X[*WЀ'> l%5 g?^QE lB !Ŭ Os5pw~n%8|w{q= P5q[6m-f0Kp͐|)4%_K|?V賙d,jˊۖ]B/ 8Th`W8[ή(]r)) [Ru7c4Yq;ll ܢ"hNKVccX`]H+A,sT;a24lCۉ===(q"6 ċӄȭ!C,@DO\&&P{v^.57uyçO`Zk^\S(f%`8j tWZQ%&xu=ՠeOGDK^Dhn޹p.O%wd{E&I_բ7#Fk&kyp C<k0Abf>{W}v< D.@K)j ]^ *kMc"]㵃o"ZNȳފ Cs)% .NW IqS(98p_#,@0Hwv D%5 O.*Xq8D|دuvW(!9Z4&6%!M= cb0A@HBZ5{?:2#Ґ O:B };P#4v6`K#gbdwA6 -O<㪇\IἓD؍%Eq&΅q(G ,Es1P fsц]q*QH4i^#;TBn "_4#@[PZlCp=Y0Aʳ; `W152zlmV+T2afP4'N.g& 6:DsZI3Ymmy~ElVZm?VODH5AcX|H:&!B`UJYiy6VcqlJE"X䰄m%X–}&8[NY# JaEP,B 7gaϯYHPoYTSHc6K ai]a׉(cE.>8m'}a vroۑB9~H@+* ÖZwgƩ.dn/BK0iS94 ]h9dݶyjQU$"(kB `'w]vg|֢|бGCv ;ZX?L/k ^\$1>sѕ,FdZXtG8>Eka `'sBOYC+y<)\ ]srԈJvߘY#`-TNޔ_Q}iD5@97>FT Q ől$E- mq$& ^˕yVK7KK7kvuMF6pn^V`E-Ԇ.hѪWqe5 Tu\EՔ6rHai/ajQ+ Z^OrgҌ!.Q$}@Q Ci Nw+0LMyg<+<׶VDy^Mi43[w5|kzݯu,]**\uLp`45niݧrix}yk+mWҺO(kk[l+-LlwJj5[iX(X4]KŸkD(8Քtz5ֲۋLI^pԂ5>7kVChSY\u /ᬝPPȞeFa*;O-:di!cS)v@NC7o1A;% ;ZAB6f>gD[9}d0n6qn4PD[ܡ ,ئqm ]XgI:v%i%Ȁw;&p c"Ťiwk#$ճ y7( {H*Donţ0)SJڇ5/w^#& M`mYIŲ𠟵En4bQy lVx2 2F*xG- qYPz.-1 ,Q oq̃<|#׽e-N?mUjf"?{-?;ҠuLz_[!]L?iAfTs*S`g؀Ma6 lx^OͷTMZM@:H(wq9j&^ۼ 2Aj+xr8h&x6; )jDI~Hv|WpUT"j.x)ToEPf}T)CnxdȨc uX>gxM"(v8PC\jt/QC\b qme h ɬS;/yM$\jlrvЌ /4ES pv٦LCfxp ڰVQ=YY׼g.Ɉ& h88RJ ;;fa ("Hal_%yI+:UzEu* qxiIĴMiee7D6V" g"B?ejG't8~VQJ|9lES>~- i)(=OF:@7y\rf$wۚ032(7"¬+v;(Ejj]_ V.mg!97\ F3h.Ogvn<*T# {1-gc֜xs'G֪5kO!O{fLw[^itur\ -B׾;oXr7Lj.Co*dv0zF#5t=0:D:]o'NE\ug'8dvp Cm\vD^wCk 3,QpT[w3pJJjޛהZ4dhjp+2Hm`tk-#k(!)jT ]U[äf ηlVF\kUszMmi^zNBmVmraW1==idUf_WF{m۴킉]ڨ$9|A!^\L`#k;@7I{65ID0N8lՕ@;!EGᩇZ1وJ1k=qvKH-EwcBZa˺ Xۅ0jd'@hةtrI?|rzO-w:}=osOjsv u]frA5&{JK \hzHͼVU@9?uiem޼ bBG6h+Py= (Oc`L 6M곚T$O Y _xwBP6eCnsy|۟yۇ sKVq矔q`P%Z̠52KZIE5f!,L. vf3IZ[T2^pZX'؁ZY+-!z`4@YHo1PzV(dw0**+LjӨRPtAxa4gMw|ev;aʴXԲ^ٟ y4(5ӠVj@)EHT)8n _,tT922ۥPS6e*He&ޙAGrq^I{y6d|iMZ-ɖ[УkT;Ր6۽|&X2W`"Vף#z]+IZ#Y~Ue̋HVӶDlJCm-=&&nB$%Ǜ^Ű a V35FyHK>uU?[&CL>e-QP,˘UHi=BV O#kv1$#PzvixH*;@.O#*[Ig8>E ٻțus.TƄ\O6{¿(dpӟ`KO΁H /RbX &?Q KTRgؔ4֩eR;SRxdc_ʚTU|rfЅnU߯eQKtvLkmA Rx{ z'~Skwȟ=-1WivlCXsB߾ˌ%Y{Y~MI7ML:'jsuF7QwӁRTӘzW;˔Y7< +Ac"×-&B[ Eqn45D>:Az9j(en w.vUQtXF S*/jdϣH%B@ |EN42Fi Q|2&"iL xfVGQ4y 7#!p LN2ōUV31ݥ}$k6LwA.˘h mt۞M-rN;5vdc_l 3 {=șUIce5Z&&~rrPy-ЗyA;Ea޹CHh87yEYadfmdkO{a9X%-䟯io?|W& GJW ޗ4B$M4 7T/`'>eVp,4Vlp3Kuy%F^+43&r#qL38*t9ףhavyo!e_dTt}L!h,kO4X?sN;8?M"rǜDJCZiX]w@%Qe EkaN2m/&X@/bGc7(I>2*ǻ`4+FOu_G3zμo",Q|?щ! W5'mIS@!yX%d‹5N(62s޻-q#i¯BYeFgE7%6f۵ڻ6X GR<"@ YE􈅊L?Q7^_O/rzq_u!K$śh'w ZCJτo^Fs&$ϊ ?5\ gc u"B 24C Z0jբēHK!Oܿ#\jdE@=U0Q`E`L6qqҘd? |ei,i~2FhA>!TϖubSioX}=xtc[5 6v!RG@]sЫЉ~ŊOM !5 E"&5C<>h{{]4tQ&B_Eh$rG+M! =<)k ĽvbfL;@[ZtHekz+SX;O3/-BP ;-h&N[QTzik`Ss +6a|6qUqqDV5 㺵f[ȏ)zڂr!mxfe\q* v]S0J[܌SOȚmZ8}>/k1?mFشlICxS>FT6'{3[!.DfƋ,v'wlc#Ft:/~j`ƀkBa2r#xvK:MCDž,E;&\Ѻ iY˥NDͮ@Ҩ۔\ mYU<'sJ.EUs6NLmy~쑇4:.8sK\ǼZR:gʼRye͜WrHAqyb݄@A^\+z.ss9w#\lQ>c.54h+pvMp 鶞KRwY&`߸ڈWl\-""9LiFs(ӒK=Y C5qQo1xy\ۯ߼O?@0뚒=.ox5-jW/\ţaB)]s ]hjF&̌XmUʴ'-nu"ĉlvDn,'2)Q*z48v8spM99o_˴#Y5,GOӕqad 5CFO$NTE^ʋy1(3mf< ||3m7f$kQ4 M܆9H<TjuA(ۥ5:=WVČ4~ht<Kmo[?:e"S{uPB'/H,2IwWֽwc [;c4eV6 􅫸&ƌEشfuiOSPnȡ %58X΂d"b(,o4*빳vH}qkٕN^MyQq[6 GfS1Bu~N F5! Lj59Oв7X6vθ2x ;IL$x8s.>2sR6̉W1CZȜzžx~dap sc4*ܘ;1:\!sYaFܖ;ƿHn1w-ƹӬfWp 3.N$hc<ٽSWqSd_SD^fpk͎qMgNVJekԍ3Ωms3SE? z)vӭ+ vS4UiY/L1q'vNn̝/)bwA:F`PnΕ S.[Omʝ;E͔km0;KӍys]+QgtHcPspunLŒ3!X}~qwH4b"h;$e9{N KZ&ur=ɵ.uŧvWtT \z)y^yuǘ8J[S̸OJr}~> yZoΧombu|zK.~ڨĈdr;)dc5}%\R(yB}wW(u&,dLL-YCs'?NCI)\C4y(ifYźz'ydb,ZӦ\k©>yaI ͸H`kǤ>#{ o=qYZ6$ d<:tAۆ|.#ܣ{묉>Z+5Z./~0cA)M)ro:#]<[y+ўs]3!{Pۅz>G'SU-&+k]a<|.c!sxpMhfֺY_oKj.(=f'Y洛){q |;if4eeZϘEV+eKJZ}!d&Ӑ=G o&sW-Pd Eb #pGn;b8M`Ceg󷅠(j՞ĠtO^.  fWLU5g Ɖ2xT͹a]!Us k-bZa+-Jj*2y+%Tp|K<$NWjL*5Gi\`geSfufIkJԑc춦[%w27Zq.r XVЛBhlG5zΑO$w>4MaFžuCtvs8HB.IƵ9 7} ~Wmga3Aq;f|Pgٕ\Hu;EXB|ס xBJZw.ZEG`v$BYL%1W!ps^Qu41yV7m{\2B5sIGPQ[;ɝI>E?bҔF,2 cVux&eh5.i;j9&:k}ȈKY=g X mVڃgTlE/?k;[*ɖxz£Z0gue~EI+=늡3{Z'vJSb/!,p9J\Z_N>E9b`MP0KES}b;'DX8$.S9l:o/S\L3ow1{W:g}i>vj\XZxۉL #~g/F+17ޅHTٺ.z'ӓtuL%],׋!?n0'c );Չ0'LFmL@@JNC2t6ѣG)[r38fsg ;OOGgYeş!m\½Sp %:)*&b H b^Ycc4kiRQ_"kD&ĚiY:;(2tvwv6 n.!0ciemYuV:_Op[ SC%u.P>1x։C&d\ENY?M{'NyEG[r_"x>6t2#?u ֗Y$]R)KQubN\E@Q49ۑ?VuWGǝa\y4djmkGVƛhƢw+* ԥHUBk1:萌ѝv2TX$o_{tc2Q 48=k]Ow{omVʫ+R_%%G~ AO??࢖#0"b)m}7yN֘uG?yvסB_!X}xW߷|x{_w#?yh{)ɗwSٯ_pcY$tIrCx5C>1Zټ@U$ěA=!< 5U҉P"]p60d_]$[ \ǭP4Rn*'n-fvaYC«:d_xJ8{Gm^C' D"Oo~ZJfJ߭f%; p~_+JpЊGqijvYkeFT#ٿ"hXs+|~9߲j،ۓ)n3j*ylA)M;֤s~_J`i?ǖi+ohט'S9&uG']ϸhWi4y9,M~+5R]Rn8%d:6/t-|袎:K>NN>օPE QZ6#SP]m`픉YEdq6+kG/DQf♳%Jv;={rHN0oYŊSŜY*uyRRBus?u^eHjCGN蕠3fGF~M!:{<ާЛݬVy" BfdVƏ+D+hs 7'C,9W[\GP*g7BFe1_MvH9RqC־Iܸ~^fqkؒ4Eϓ[,9բN}ѧxܑLÌ:/f : FffGf`h0~Ano|}tn~ 0^娷^l{q9\&U)t*|qb:]51[3~5_0>v95.}BEt[Ls ۮ(٪a4>STj'ړ *6#_8:o.|mr䜝;ʷYQSH_T3b}11XU|!)o9,:iOc7?|O3kltgoY,Ug D:y;B3f8:mU 6Ս ܽ5[zUf[Y,rxIƩkov.75bb;uZڂ!`͍/ 7 P!Kyy(!eOiS/ ͬV~*zb z(Z 0vk|0~"Rn1aiMnM0's8jElxBR͠lUWxyA3Ug[mD5TTdz`O%Կ5C3c"oBrgGɘn0!0a_Wa" p} \  |^6BqW֘Ud+di>Ͱޮ lVTUoA.*QN6r96KLN% . KSڮp5'?𺭦VvUIh-V6Z}ܬiB<4j;yڐ؈BܠK(߻كΈ FڢlI,7**ZQ_cpn[I@g-TMaڰC_|]ƽJ`EbɹQE yf"r-Bw"?YvfP&zNDO;s>|Pe6tD50 4u e!:;*ݩwg[C?1I XB>Stj< 9卌*e+6=yfv]^rhI]?ժ3(TAb\SjӅ@E[,j=z&_.̲R6Yfm.F?7u>g 㲫e"V~9 Kw~O/?}?ߺ7o?t}?ȟO>IԒٚy{gáD;xfQʩU;B:ElM*F],N$c*OBQ6r8ﲊb_`p!hDp^KZ̟[vnDm]DRVN#cQ3q^=-Ȕ_U^/oݧWӌf2wǍ2p߾p! aFg7+3JMf?3˳~z+ͩSSSmW"JX6 *?lTPq3!=d^ly$1"lYWd9]hDz5Vc]aA4ВZWՈ17*72{%:hDdtsbҬCgUm{q0m[㼳kMmvդWUnQ V]~7\g,(?֩ט)$ρ {ӛ19 ,^oLxg1y8: jҘ.(܊yoT;^"9Q%MB~dӤ odi2WRs+T,ߚQhR&x>/nDÙ2ABGW/9fNr?7rߖOL'HσLqd7gW|D ʫ:+[7IGO(e J)1ri[^ZRz$LJdJB's"fA's#  |u\H?csgx.yAdj}Jx4;˛}(09iX2ёm,m5) )іe G`qG]ÍB;>ov( ALbm[C_e"6` PPYf+71diݽz|1mD`Bf}x6o͂ÿ}/SշG|ۏ|>w?'<}},[qv !ɿ:gIg { Z!CA&VFQƐBBѦcW`:rFerTPM(,g$M+GT9|qYĔ %:%r9`" 2;'aؿבA1+X=QIH+jؑX|qą6D;y[ly {tgDBĐ {O4{GH??= ƞvgX,㑇^+N4ޕy#ۦ+۠|.tڤ7 ŴF>Q@ó_i%K|B :ۧAUbEpNo4 /j/2t8N_as>wWч85*wDJ"~@]YGUWJul[[lR@U_WT/]zֺteIڪ,/3Lw %fsR P2^8ze+2li"U¹XxPUZ9&FjK7 tX]_ٚ>\Fq m+/T .6+^/~xfUYscٚ8bmE%|}fl*\#,J*la2s7xىkL Uz3%mvR|bb&6j%AGg]oˈo[-ro3#(GUQdn\%dỷل׬:Y7b'-Hr6T#{!c& E)נȓ#Q3kː92k`D2neq\tB[cuڭpݲ:uB˻cu{MO役K;<|˧|c'a\e)gD);x-IVQ6Q_#:iE<3Xo~hYbYY8_{l5z#1;y%N"dtZ4xf7I G`LH3k9?[6%HOu\ /d:p&w׍Y'Ӫ)G7O&_ smjʋcUulQGvxÝ1b`ObꐢY( / 0L[}iEj^Kp-, )&ܮ4e>:Dg9|! :G"+!iĶ\1F#/X5rXVԅh꫇[H_>Ji=Tn+ +_%QdBXA\ʁ&l1QC6z-+r 8Y*ONgV~y뤈o% .%\_)(2 ^@d ~O`>HNOCbjqt>ZbM~DBfJ;M?"V Np*O!}^ίMX,!e o& ˙Zr[,?ڹh_ Qk>3;^~r //o^11۵&1|Z|"so.̝f-Q7sZ}b/9a,@lk+ȴ#l9۰Z+U|Z~}(,2L+3+n+յ@ 8*?*kUj?VkWȏ+8JF:g5Bɸ7mpd܎yf24cq&noM2;[6xeonwńrMά ɢ,h㒣h}^􏞈LM &Xֳ ~'춦 5 4&vXa#uWYhcnG9kz|,-i5#z 7/NܞJ3mL]ZSZğ&;6o39]7[vjAk<0m,^YsBx~/>$^qQ!;'d5k>{969QrMD"F!7\~fe"_㥓*bZAijQ -Yq(!1v#J?7@R\ z*n{b:@j{5k>{T26߸?"ú#rrq ~p ypm!iԚa!Res6H ovȱ;uUv̩2(ʠX?A2N$TMd2Uuss:F6[% ΋m"%H}@c'@0 mkh`YU0, H\_ֻΫ`ڂ;dџy5D%qt  i6ډ,܄M€D6b˗pAfiyqG\FWĔQ<.59S%yQ{(_E+* C^ٻc ,,v+LG12\dEI[I9*v!JwdVY%-%8IQ @o"$D.iW.8`ȑOw֑S$u^,n!iE( q>408})38ĿdE`F*Ofʸ> ~%ыP =6v-"g9[ݬ]uvIrk]״KRN/u풔QiU풬Z`U$m~.6:g!6l$꽟]_dқ (TP%)bgmd-PWKgt]A)N ?vIeMWi$E^.Ifrnp۴KIv]̶]78vI2)[$ܮ]f*ĸB]Bj$[2I<.M̢_& 3Z-̃ {{W!' !g4bxmgئIIc2ݔjuLZ=>$ԙJ`:+vV v$쮶[/vVw++aIuKNkky ;eFC!G LY0F>c3|j^8> gEzVZy>x6φEěWrxVܪ\43k6.gb+v]n<.g"E}d37.w9H$EΖXX":}3`nڛF-L E_ڢkk'~j6-L vͰhKꍔdb&ZÇ_6Q@tbf~#1_Qx%"x^ )?J{Yh%K\H.54YNJOf{ cd8xhYq֠1\}NBtŐD5yUwgG O4@IcxX# "G"ctԞ M!3Dt#9فJjk[&HEV)N\B lmt)풘!IdH> EcXL 4B[Rt PnL>)2z$2W:"ю`f-H<ݸ#b:z*EC=IN{d2̌>4v,3&b[&/u %v 11 C>B-,,;jn_.PI>p^- jfx<!v/=^{ep(=(4rBͻ 3PXm v<@TF=F%#vs qUJ.)5Oz(b9E9Hdj t-?T">^ŠSy kbɭ*(t^>|~xubq G1[ND,ʮJ(I jf \6qUӲC~T!pMPC_k˔&xDrM% ( $Dlb{Ya,*Z$BhbbNb3:x̩@*") Ou^ɒE*.PlJ!M]'TTa)6S<`Sh9[sN)Uy ~VYTϊDk!g& Uut2Ȑ']AJH{3q.-me<ֶ8"2q _CAWL525k-,[ҹ 6z9?Ӕ Y&Ŝn%q3OldgT9 3{o6"ѭS.s /=L\sj10MH=bwV7Ĕnk5N6퐂#'9:pHiu--Xu^h0 Wa' 6 {}ze6Ľ|< /4)bǧ|mQ4d;ryCNѪ&Os3[wom:xBff;{0Be,z ݋p[V sҽ̶s4D~;JCx{ޭ3 ޮ33q$Sם٢YpE4eWi*^ك/#q(D ʧQ!OY(< Kμދ%uлϠ̵ޛ{]k,0A"K/a?i3-e{*m6HG36Hm1X=(OBk >yP``r܍ -0[@{gohTtMǸC3-Emz{DɒAA [v|ЂP:m "xQ ͤy}{T|=;#&E1u 7,(jL;`+:DokKx̉i=Pxԝ1tS+*.>_g=vckacl6@쪵8"Oˍ?=U?Cys#(wD4pm |ž7<,OGnهV)xt] :Fw$??+io/]3 w?\d?ӚWAiLI DE~O`+x~ءٕ/y0]~w޽/r]@/z(!6XBm6BSMy ܁I˥Cه泰xVJPȏuΉ~Hh:p(oe@oGTuɁxz>%3P̻ClJZZg6% ʑA8/4٦Ǟh*h=ʹAC R\؁f)|c fY]hDJ325 $!"4+Z $(qOPR} ʜ6zEyeA-=y R`OT[be A4ڳBW@rmi4xE:>(ya~tJl%w}mzFt!A^3rx:O?boYq}:}ڤJG)I;&zU D׎$kR$L`SgHy@-* gS#~cţه%п]66"˩2AXGqք#/70:$|IjN~m+CŤ33^n3^NX;1\vv'̜i^;[^5Ֆ" :EDE`31*&BwI5?[lD坎D*A X XDٺ&$EV}~rN†[1FݰD.ۋveܫ1P|~T{z<4}h>{V1;o]'/ACe9a͞gDK\K)C{l[9ȩ+"ֽ[{XZ؋6wJi*G214?ig;dG/'C$cv$_t#\I8"Bwɛ昸"!Їˉ¤(9uLӾa'Bt*lLhatג=<)P^Bw.C} _(>TDՏOʽHz!1FyoH&`ĉo`0FBdpCͭŻ$z$biëf%[.!ZkApݶlwbI47FuaTVīJĉ1viHl1%Udf'PY2{"^K/."u>J?@:w, B 4py0Wiq0zu(w |O?r\2xX>-jbu{j%s|gzGΤux-+0>n˔9ure!C <B$ZdtS<yDtaC(6{+!hMp˫yG(h,<\ov"\|o\|34"!@!GtNZ_/hОJ$A`A٫$d|TbW 4f5F>-Dx跓$֟hO  =(yNC\@xC-L21.ĢpQpЌ(T/KlSbd3 ~Řxbh(*Wp4jL6J˔-͊4f 3FpQ N(HƠyg(L ;on%{wm#O^-$xόc}ڐJ^H~;)b[ -5鄲׀q5pJpZO {¾0z=4_kW)N :7D={x藬T.î jbp 9Sc}ńb/xA wd& *. WWլX>&g$XԜR|MŨ'D؉m͈;hߞR墒"QOYΧdB+ ?ԓIԗ!ڠ-=zt_ʸ9J==i_>LJ]qKiM|!FOc ob0DZLuEL"'mѣK&ҹO3<)}%D~3P^ݤU G rQmߛ*]K@FFq Wu ʛ .Wb贘#G&zR!vLrǹz[u"p/ғVӛ'7}jyKU^ysk:nGpޏza%iaȫ``9Wr̋ fQ eh)@>,[) bjxJc^4~Qki4F'{"d`*zդ1d-@bLE Z(!gp]*Z"} ǎ90M- M*C0 =GET5icb6­Z4&MTf'[yg&TfQ lE)yp"(BJ*w#%|"0|b4Q|"Fd@AȺ6E[H/l9"@^zس&Bd!sǑ;q'1#EFE#͏0P@ QZJr:Iʗm̗:8g#UxOqG*od0S&[+T]O# -jFO$PGUĸ]}R "R,aE$Jb$BŖ!a0(:+9F:z[—=[/;H:bu(phľ\)yU`!lDjkO$؈( A&L\켪dZ1]|C6ɷ7^E~]|iDZRUBCH # {UU|}U%Cp)U .\(52H \%3W iڗʇH56r^QqBZ+^r4\CY!\>й2ə厹f(P>[#7uk4pDrmD* :b-u VEۅ,1r 𣽲/P j)la,Q&o'8T8ϧSs6 W8.Kk+NUv+eK1PX͂EfTєD$ʩC-nY]'X h!z%UWմj|@:c箢|Z"E fʿ1KUqfg%^#,)mބBu#ԥ/ђkPSF-.k(}]r9sSlEI9<{2.ѭ,#,@OiG@΋Ӄ wEpF#m)S8!)U8 Z&O =nG4,[HkvyJNŬ' pee YY}]o3|H"% se:na9hDW S#bV6*m#1ZDrEvTQ8P잲XX@/҇Hb"q8,_qN!>ba8-r`mD P((_p">جӈѥ_dyG#Zd s,YY,%AhNL~P؀T~8O`;'P*z]dh۳tyg|xoyBؒ׈Yd7kJcR5qOd8S#oe1$TD#eR/7@t9oG5m(9ɓ- IU^sn%K8EeNs=MW6=vZ]j-__6_ q aqC,M^ ۝5#b-[>;L|4|(9r+̑ED]-7gGb\ALze9DKP[T9TƳiYivѺ FfLj. Q+\M\pOe m儀r|Dԯ<BtfL"y>`YlHjDBCdT<2JL^J.KTzK` Rr݅}༔nU?1\ťyPy3YDrq䁷ɗ !uFjۘł A,,8ഏ8PZYʛ@ 9YH I@  `y (,B O/@|3 MF)$<#IEE0SC򶱌x疇~<ެ 1` F8 \(k^qֹ[Akا'a>lƕQ5>zSy߸iF6GCɘ-+uPm(+F-Oʖvr*0{d'{Qa0Z|\&Q# 7 ZE_[4p̋ʑ֞+(N&{)Bp &I~nZrQ6::qб ` #S?qe0+[|\/f4JSZA#S1KUi(-72fݫz)oTY O~ͷ,]=`(4to2ΦTk:Zv-oY.{e|Z8]!]QcMe<1X`Z#aG+ܝ޶63 o.oӗwi~hQg|ҟ/V X!T!8Eu$o086}$i2h0Ѡ(nv vh60]u*{R)eci!&!PO9܋Mz]6P iC6P) 8G!Q%GtlU!i넛k_ҟk޴l^"&B!Ruv*8uO|`e1 $m݄+&jtdtwOYBh 06\a7` 2n(|pB&J׎0#vp6Xp RVۀb 2Q;S]$Z_ WD۠PZ"nM!aY]nF ꊝpv˝Xzbd>$S"wV!J+Ӄ-%P(U]QokU(W>^ư&\ ݄&Y%e EzgQouhgwU af_ k`k A ! 'С܃UWlBnB\4&ĺi6UlU4̉> M< qWY4v*YPUqauOJ"/FiG6E݆ hI6tj8Ӭ} ƻFuȷ#\] \ 7al=k#a(Ө= >Ezώ7⺙>':LSz#D0 Nb$ǻώ7ݪZ~k!6oN^U̵r@UG;􆾳k|gEc4;qubѦp ͮ3:άq&ly͓RĎ۰ ̆.k\hNQf߱$OPLj-:n@;ʁ ~{PTPj0Y+Ю@;3j:t ,7!:Wq b\´Sw*/7P g`Fjetth#{e,/ JbCgj"ܹd:BКw= a_9n7*EHLGtp@Oh[ q_9n3{gF(O@/iTGǶ ]/Ն.Wk\q== (VםGg|f z<3{gg>Z>*U@k-$]fiC/J8] B [ſA~Nϻ:̞7t*DXOkqďV]'~<h̞H0{Xϕuw hr{ߦb l26&x`fWudB%((5ͮ7:~1F)x%C>bwKUqv_lwgv~pٌfda hKZ\ea. ]fָ:vCW86RUWs:m0/˕iS@g,VaPz~KٯaX*~ WYsa_w9l.X> Q½ "w& ȴoz:aKg9qc[+7M?9w JqKw9s٪XgZjԊ[U/Ah94 Vyˌ&X, źݑ4:m@UBR8vM&=W[cK]]@aq7 ⵪!њj tWv4%KK&kh;CICڕAo(?6V7V0Z+ }o q5@2Ɉ\'V~#2bPYB$lŽ7{s̆qX |ѦJnmlZW`w+۾xFrPY羋EŎ9-GEQvf64ԅ{N[\э#nC85 eugr?vFq(BĶvI?zehYy .zCUlݞ-Ḫ Kzc:'ݥ]@ư?}Ⱕ_Ůc[_΢m`} d8P~q/kb ;b;Sh*(1U` nqTQjKG]m 2>ږBbuQGc}(fuR5yPuWDbRDf~;@zƑ66)4ỠEUjL U=]ȻzǑ7#񎅄\!>sD5W{@v 0G`C952"Fj͙6mo.rQrIѠ(ي'd90N}=UIfC'9o`$Pc: mƴlhvuEvDƋj5p)TGޞI,y]aC'96"I#R@ς`/r\``^Q{Qn \2cԍDU$XR6j}]e׸ʄrc#jND00Wk|e WDeh [ {ƋbY[:arLm:#J*ȣBi@;8;0ׯuhbǧiY 3)u^sTza_~-Y[K)ϸC :;q+N!DB2-NfpY,3ZewvW<{[rRsvWf\É pe UsAc~ue(z9 |սlIG1iX[YSTԚ[t75"^b|R)FbsgGӏ$&Y뼊Cهg?eNP.ٓMx~xtݧ[ ?NXHcs除Y6q3o}]ㄎn_iﯳ?Tߠ?~Zq̪acE3G50. N["Ft+[+ŮqR*"%gK n%ׄN+a mzUzrU$A|]?-~\aeMt a)q$7Oۭ)Li-]Sf=yoϟMw~O/2ϟ>oݛ~>ǟMO> 8D:Ǎ9_!ĈwxF33ǻ}E[Rk<ݝ\,USMXU*4?73Ͳ6U&I3rfV]4TfBxaTUO<3zb:ʚYB*W5њ%kY,;uuaY x[}2٦:Lza)L|B{Npǥ{ϩ#*3==h??6n-Ojv"BZ?F\u93Ru->JK;}փPUȀOmXX| ce'k>8dw:";qpJX3x(bdTxO{ ͽ.N%2nڭ2MgL| *LLzn\ڨb|3krZd{Sx\E/l2vnmj0KQ#`A2 Bfŗ453ӊy^hYo!f:ee&`lm .3- ìɸ!ƻ"gڥ xgI]0XäZb<7,T8=O{)BC,<WB 6מ u+Xd/lrl@(BiPצq=YU{>cl{& !6%nݗyhZoњyawy;k[Ij8aM3jQ(XTE_5`>1{.|׺ԭ QP%y/7gW_ "")M:SŠܝi=niB+鿓( qڪc2٨M8l(Y^`mǾc6kgcI!EP;x:q;D*p ԂL?`{ِ4^٣a##wc:P!rdm2/:L_Yt^5,٘Ƌ 081Xqr0wVĽ8 جts^7yka[٣jU,;<2;7U_0? k'3 t-giX̃3EB5~}L_3Ӻ}w۸u-ɢsLCOG9` 꾃qFУ=Aɦs2M`*k97 ?+GU:jE* NBL$rV60 M~n{Ym[Ġ)*WxPRޕVVva,VK 3t2iZEz6:1r$dZq8mJ xl`G2CMOlZ%)N Z@ ]g' ^9݀ s@lm&m/m!>@Y1N%59e!a3ybSH[*Fa>GT*9_dިhh,lg0 8v̪2ON z=Q1 ;hU^CjB|#4^?a;az:X :Z0- [WE#P稘&0i)?Z`^:GGۏEx֜Z܎ik 1DȜEK…*!cqk4)P4P ̀Ei AyQh͉B=6 ;LH~Ɵ- weY9T(zhRUyk#D of`ݸI`Inkoݍq$W jB+"$ ?IdCS#eI7,;r=L1nBSsێze>"J44AG^=T5kvN-N9@u08>h}$R~ȶaP(XȮK^)6vjg,Mlv$wgZw=){3 3Vi:uqtd sXOѴV=42st9bEe7PjO*׹'V: RYessuyF vLt/lzG IY+i8fܪz\XR5R;lމ'E>FuAw{#_JzcIjK; ]fֿWY)O4rKd22z9fPqA*x}b4ty AW^/٠K,-YߣuƅLԻ*F#6|򪨝O\ŒSw8A0F+,>݉#ntiw+.ƽ'AE֪8tY O,_S;kzuު.LI*g5kihk?NaGO݇(m税uZE6gf6JzQ.bq?-Ӫr4+ywUw;H;0<-KR|zDz(1ۍu˅yjGJǔQ{nқړd q{ 7{[4Z&]ƫc$*7}#0jr5-Q԰OIDWmQCs0,/YVڮ'tyciax[,RMo#Fw RK^#ݿt˟OW]4|#-~5=٬ ԒN۫:L[ks+fKWRY5uQֺڜvr C, O򆤝8ۖWIu#bi f} L-@S=N'+ #jYNi>%;mX/ ysOޣ1&M- a;+p `ܦNwH{5>;'tXN5I0Y6zƕBfRn "=%օ*CΝ"_f~?{mj[_1{D5EږG;r.Ck2WӚ5 Br{"(iۃy?>j"  OZuX&O2C#[clelyu,Q0Ȼ_=}+!-!Ag =x/{zeK ԢhJfu^rb#V ]*!voU?هIs('5u Ksʖj`|}mhȅA >Dڞ]D4dtmCے(U+>D㷂4t[și8%"=o`)*5Wa;G ;p6OY=+[SΏ< Eh 'ΌGDg9sxGэ`7 h Oju8|J4j hFe6#eƨ$5A!} \,$QB^r'9ί//.Lvt}&ׇyD6H%D.5WǿBL^OLᗇe1=v{}P6c,al[{$1 tA!(]{e!(0mv]p*E[)h<r<|ł .1k~~z|¬܎7A\oMaQS&Y|zk[/Glc3ok)Ɩ")!ws0<[6ۏ*E4[beۏ7kU/_5Uށ2 ~"}F ZBWtyI~2x$f7&/Ek0xذ \UyquosFcfwkm._SP_<է_nˇ;1` LJׯ^=|^5?zۻd'j9ЕWo7x7ˋ0'[ yj.9xC-5Sxɛ5SEE'>41:TwRNgZS}{; ^PKRS  P`ȇ>DETʓ^MX f'kIlJjAc)t;7B,qnJ7b*0S&BMǘ]`ߊݒK$z"U_7l&A\n:3V7uUl ǯ?2wqymZ r^3f{wvuyX\|{peҰ'=x,DĄ:-BI% qlY?:f0+KYKcm ] dPH i2!xҫEx kK&B@êϠoH 6gtLaSZ"ErE X-)iYtSJGb6o;hK3X-Yh6rVH>`@ 9~OX>m٪ bkm:JMۮ7|XQ+AJJ).Sš~99]l݋,+fbX| 6rA)5[\ ʔO FϠo&503h,D(dUC4B0(Yʤ[禁Y &ra\F9G? -~so' vg7ËqXAAx2  v AⱥGzᣆrOXS*+R r$:4id@~K`[7E`(f3J}WH\$\d,kw RP*Z.s>!4|4DN4Ab;a#{Z10Nuз10ł!,'Zig3[T #6 RC_)` >NecSBۘcm#n)ŖT_a e"46mAPHxF|x+ `*"By ޶JsM@ chTD,(gxcjc"CH0q.;3 $@64Ht`V$jj>Z糞1`v{[ i^'^AbZƳH#zPKQ >@:q fW~`%]"X)ޥoWAWk=ܴpWⲯfz"%lKIt}V7PAoP HJ7>gwإᮊhHGXI1VF \Lеv+ u- 4k>r(`1D ?9`cmz 5TG\Zê$$֓mkzEQҬ}Z՝e\^l@JvvG;%G9,LZ5MU#),lZ{X>DŽZ>_6W˟/Kw+:Qcm->_cWmK0>?>nK"ݴ]&/[Z%їԴ@gY`K/GU8ߨNZX_+}2/wȌo6Pbz3=`JMSy#vn[mu[Gt]{X0E9[۵jc&j%M>ɉh!8 Nohx=GTiBHEi: vlVh"6@MO-eK5F:zr6zWCpҠ 8vh4 WЂ 6Bu| vйw63ܧ1ʧ"kQC =TW9_}e6OgXhh&P.aܿ ^T-#tQUAa_IwlCRB8RK:f|±}$}C&u$[nD(/y⅑rkI#N?0b, ˧B)uɡ]+1ڤa[k]P<}$Yyz xGM&i8 0M U= yZy%XVz4D-0RcE{4MZ51e{3tcmm DItS*D/}e8+Ț{Ybx*J/?^jےgSJ\.tz>I0^/W,|zXtWĬYGA+.)BO=]XDL$R{#}LcGTjM6i R/ɗ6BUWTuEv>pS/!56zCAM;&GEOT{́C3MWP)ЪP8Hdp1eGW=;;~~u3A]s&.]En3I*!_ꌊj`JMPVSD̸h77}9@lv ʸguܔ?l3"y j/ޜ2J&y6V!=,iXP_akp]n yYkϴD ȄM.j9:U?&6L %u&Ni$k:F8ɲnG"m6> JU͈r(s(S[k[ w` 1 QrGZjj½1, רJ(8 R A8I7WSH qelectrotech-0.22+svn897/ico/scalable/element-edit.svgz0000644000175000017500000106372611201077327022725 0ustar laurentlaurentԽiȓ/~ ϛ#d{@!x3J,TmW˵-nWA/"ߡȑKX7Ǫ~}@үca>uͫ2CY} ֡ۆY㻧mOhwǿ.Uu|AHlpWs @o?}Xφ6,okPC?|{<>Laa6(~?lk~Z;lA:ͥ'ǡ@[|jƲuOS|Qa }kV 9ds!ux'\k>ޕa[O]v>Z-a~~| `Lc>~4Fe|B[nʿ08wqUמ/83}ݣ} NU~y TE詮2 uՆ~ Jh2~!8)8qm2~ߤi(86bB! ?7_A5&W\ [?ph=Wm*~p_ IB-0k$(ގ+-Ԏ Mrׄߵn@q.Pm}Hp#v,C$wH'@Q2|@rws pG3$1׫ѳmg7dICd1;YLa4A|0#h~Dw,M9 մKۯ t HUo_ ˎ=SEQ…\v H:·P5Yj8ib~;h0"ytx0 -"N,.I?/K Pڳ2 PPc^g1/S K |,6A8!0%1 n"b49??pPTSߤhW) I|:ؖ徉RN8Ľl#mwF׋=?_Im" ]1=Bp#8"; 8 "dmh:m@BHQ4XFIXdcq&1⑐;@s﷋5ې﷋svRo)=?_ű;g4pE'AĈ$m%c#;y$q8ܱC{RDZǘ;8?z_qWR/p?0zDxK}P 8#q'fp@-M =+y2wGZCDoADؖ]m=BD(1o!>_}(ݮin)]XJ#Xlbx9 N€&4~Cz.yΜ.H eRV/ZfD(3-҇N>PX>bΰ0Dxom76Nm bR}ԞK`@>@7J8&ਛa,m^cCr$.tq X>pGݭ1 AL(UM2{p3]M%xd ~:g' c W '0F?g C20-dDZ/Q؃Ds /0 a~ -X{$z~J.߳4Ac!!yE&`0OeJ/C FqoEH{ƾ(3 !Mr77~A6c?RP@4 KC1K*XX얠cco :N'rC7c[* /;O:{`hPO}7pŽb_KZEݱ$)Eܱ#<# #³3 IOhwhwCj\!72} {v>v;{x 99O,Dp 8旆|coO,I q!Rewp2G F϶@ܑ[;ӌIM N=Llq;{?KGOlqEPg{oܡQm '148 !4'[q ${'Ej Զ3 H8/Dg![b6%zmh0"{!(|<ci G/ 0HҟU<$Q:<]ke[o;R?IxTWL8 IHǙ;+@n z_ ىc_'CW Tf}z̀@'xEndߧO?Ha﮺!H0s^Pc#ᠩspiT DGO2 ){: ƾO?ϟXË^X^ 9ˁÜԸLUh{*-$+PCJҍ/7K{n7iY{^ט#Lg `&VW |H0ʓuf$N |Ll7q&~F߄{<2oVoԈwק~6**o_jSM9gOdϫ9j5wٞgTSBww٥gT?oި?gU8 {^fy;}X!œE~'yIJz '71D1K8pG3 ӇnBBO,f/m]osl/# ]w`xE_qA9%eo[()7VlRm=VG;BsIH$H/d=r|Of4IiKqˬ28߿fV.Y}ӏp{8lzL[+ٷ$X}=W1q{3 ?(mGq*,a U52x|9us iL_zzO; zܔ|=?B--n/g\)z𩪏}[y ƃɱ?q0I?xϙ[5$sJ E'- S.1)6 粒ļ,B!~Zg*+K/< <7L >?ɦ¬bmr/{}~핲yS% zT`;5 O5ga+8#)@02((/'~-޴ix8R8F"P7$R $2}Mpu׈<'obE௔p N#_] kAkoD3|fjי:|~{=б/I߃js.=i4Ǽ?-n//Lcãdm_Z2 6?=BWo{ոU@RWYGY__?ͮBNumZZ?#ߗρ8z aGET>/_,r}?}aV'#؆Ӿ;!q9w /2EVi_,}DZ żյYk${ QPbd'Fؓ-$8'hK mbͮ/6~3c-Z!R?s|zmc3;ȯ>w=׋'O~fu2īd~<}IP^O7$NymM~?% O?,UzT;o,AΫ/(E?wl{"{CPD wzH_+$z˿0"nZh30 oC]?O~@4oߠC c#};!Y>blAR}'A|;6c0IOGP1 3DEܗ@a#G,¿J菷Q 1ף&e|`~6jޚU);^ߣw;JJLZo2(F헪no!91h?!/+:ڸewl Ga|x~zxGw&tK1X4vg/DG]g:6~o-% w&ƃ)6ٜAhpOb .)ín#9gl6y:Kl3s)A4L3lGIާ~OVIXuy3S["`eV될' +BKs$6)Hd\D h=M0ۚ2-䓮Ny7U!`L|ol9h c#F|_xl6-.o& Q|T{Ii4*|FdZ{ofPKTDHU|-* Ȥ 3\u*BcYV[`5Mx¹fʙi&B3Oɘ *3]Vu\(/ZS2B lVfa\b)b>PCzqɹ JQ5$iITu52V"Py՟VYd3ږJ{nR|~DJ˵1e@zO^;a\A&]z+DD.W1940te;LK#/Xv5[ LILz(PfAE<<^<[-b4Vg:բ5|?4q9bȖ$T/4qRI]|륷[QZ1lUZ_vCan, +Zֽ@,-aXn@vk@1+|Ldޜl%&_5=2('mxМKy% a#kʢ\ 6+gbTqՂJ!'[1+:0@eJǠ­9E=xB]3s Vg,'$G"88&H^2pJ Siɐ*ew<̴b zn? 6 j丱^Krub_`QlD.h3Qf3A#za>`|4r!>$畫sdWmUs8/bec0•h |Vo8kvs&P[Mf˳$КY%Yn'DdWbPR*1OU s3kvӻS=NM&F3'yX5M;XIE]/4@qQkj^ldJ %Baʽ,5]h5C*dB<BheFX{d5\ 3kY*RGR'u&8Ǫ*JJ@{>Q8X^c*4t,|  EMLDV&Αnq6UQP($4M> bak-QdYIȰIjB0>NpkϙLS)4lΓok:M+I_Q~ @!^im X(xgb,MVg$`[u %?v KMY4s極qBO$վEvvNZ4YSʹK5kB~<ƚ'(ž+* JPBk:[h}[g6gj",<+S3|VKTHm׋ӊ$&Dfl =鴩ܵ; 0㒭Z:gf졖KIU.a b4P9:֕ǖZ"iN|TCgxR-1|6|U8ZUC47aHǛ)~t3o\x FT]nMku[k_@:s19.vٮtx:xLit!,ϣ ;v8;  Э5hq_w-<5pjkk #*y\1;\ewxqd!җj+$ĭ*].Ԕ͛8|KƝ]"#"m+3tn)b =LY0,!{JH1Z$+t؄tsYH@Q)6][И]'N34nj3oMTHՙXɮ͕yT! ܏L EPa.% VztDPۍHYAl)bjb[6?̍ :Э**Vm31 wa Eڌ[l:2 k)8oڢD< I i;Rfϑ=-|m6$kl29bv74T )}մ\ID9&2O:(K@jG0Zm]k3hV~*]CPA=HK^ Ž0_3:,8XW@EJY;RׅCNN8>3@znuݐOmuZ-1m`W'ysrZAhyw 4Ѷz4֑#]";f 4jv}4 GWNI7Xٓjl7jfu6w{3,dBFhk362#c8*f5h%6@/wXL:k*1lqXL.+vGMlf+â C0s^⭣dհhK֌\視%/D5uq1\b,/Br%U|c1Lc!3[sRdCK$I0Vt)u ;N&. ]ו=$홚nf(7˲w̞r-9tBIͬGKe4/G(2N40U7rMd:4[LxSemy/ufAX4-GW5:H=㙱K_˩ Qc5d.3]vmJQҀ\[B |Ԭ#*ѕ6Gk Ɩ b0K3.JsEAlhhE|=q7#Y*@G1{DEZ/H疵! ,^L { lh뼬v)mr}bFOp]PW裋짥^&_gy=Le:ﱱR49NԼ #4Bv9ٮ|k)TKsyjڮ|aa[6[uhۉk^XG! ŸU{;syҧ=7Gf衇<ʪ6QУI캠3J( b E#"Mq^z Yb9\ LVBt .idMT킙ς84U<9]6fv$GfK pF-ARHѯ'`+KIvd!eĤP 詵t͠2Iq7v>[W^3[!wc,SWҾC9 M;!/-gpj'B*aݱM E$>NU8#FB6jV=Ht %G_pdxgÆ2ׁFiq&Fy0Y&;=47P/ð1q~AS)x G=>5y|vKq ":>S@I0;pb]árL7q{6t*z@`om7SLu㥁U+]{lcQ&BB$.B^،M5͒6\& vXs%eF'=PzIoBT TIYATPOD۪T=mBo'#߯h;@#W}EQJ0h!B;'6"ۜW,<ܶYGm RSZ0 ڽv˪8$ Ulo/4<53f&0$;Ye7'T)?:iUḌ3p-t2 qZqYiINfav+I8cYR$f1ܲ2)4\e IɊEh~h}48bd8XוI#%H#].$+vlEg8k q6$)13å%kbof4$,"8MwmS5io.&nU.X4 PĸJ /uD܅A{ˋ_zK!nWQGy â+݋hkAhris a(apb_caaڳp;$Ew}giZEwb fIsąf["uHWVsM]JNEfAZ2•/☛N`\pN`TI۳L2;.ݎHSd,!A&_4#3RH tSբ․Kt]\jna$5"ٞ v]zdZ&Fh{9 [rvZ{ÒVȲ+L|\E' s #5γy-&.hX 9 K ʔu-ˋiZj$y]u9huDWtmZf& X8g~&/ʅ^ۥ96Aԟ[ȢGЮu~ZeΦH;MxHO%`6IqS*02J2j6}oi#pq(<9CmV HWU C}ʱ {b ]XM2Vpmsͭ1;cUdZKUGk:Uz`,c'gxg9qB҉9FkLϥIm_DGl-?exɫT(.r+.D/pYBi`Ea)Y5% d7LPmb\m1|ɕ:jVO2`A+qEHA eXivZ]ؓ3rjכ =%Z|2Tal[57ܮΔFŤR0-1MpHR=PM)o`2j $5ޱf`!e mE*5JknN,QKL󧞾vVnr@9(Y7K= 0fŎ-)=@,y]qa^CiR%Ib^KȖegEQlO{|kH +jz[)7"/:3`q_$P20_Z'Y|eTUwyhC/.!hRvBڗN Eo5(g Q3 Y/} `w6 xCɰ-1bgCtӕm!+iΛJ7^h+I^SX!E˚wXQhSL>pib /< lMְ{1҅v\!9^#6i],иN?2/N?lÒA4P%Uwծd4ewr@m86GXHuQd:$ FИ7a<[ZZs"8:ZJlzJ 1%+RUc/V8,kCңڟᐑFeϥ)à}q*Դ Wћg,x+AE5-"Pۖ$;Zk }GOa|\tnX&5m#h%g՞e#9+%>ڨhj[׀Q%*vVfRt6/ %P*UԟNneۤp RqUXcb 96~|`{ȉnШ1l^ qvW0q*9X=&g9Q }͙Idfs Ͻl;:+$qWK%fzuo)M۽4~@{hR,D甚,+V'ʧvKZmuCjg( ]F,f{U Ґ񤵬+h=b&uD$<uσCd[3^9ɵ6LJ.A@KP0bQ`捔̓O /)׹\xN~ ɊD]qd/й+=\MT.9?~ƶkV3Yȉ-Qx#tmn7o3FDWh!2+jN0*6ygjf:g{Oipq9$F{pazYN#V$2ą:F(qss9L{Eq5h/wA. k5eWiAf-,X"ef=κK9^xli1μqM<[b[j5&پiM!R󁕀}3h3jKZoe\rN@iĨ#'( +?>-`/r]nBƼel NnHt.qAJ=1{7 /zdRV9nECBh|Djtc-)Y 3^[7alG&'[3K1P2[샖ES1zX݌x~H2bm壆An\٦g~P&HqDd;U} AltA#^ri=yk|VlZaHtٝZ)%0zYY7.5zÆFl׫VO0v͒4N}^(.=хLL+UIY&2Cam%l9svK+N;,i-O#xyUNaYM6v -T-R'qȑ:rp:¾Ɠ<NVG<gפTə  fD"DF[gEPM$r7CA8{i۱*Y8\`ZXE'w,ӃIv}G;j|h{Sf:ov?;RRN/-iZX/3̈́kDs"OygB4Kq5M!27^l䕈Z*A<^K AsC")YU[^03D&O/;vHP-wBŐB('! \\[]pbDϲy[Wa3D?ʦ^ 2c?}1>JuDNjQL@Ev$23 4/jt?\;x|(zJA9Qvr$Ka&dv@=?X3Nس%wXWb;{rUnz@9^5H0|+$XXtW޻'#ʷ3aVϸd qkqE 李vU+߲ۤo>7~gJAgP ERV mbXwp% 8fs^ls̈|Iѽ0hYfV@K|XI`JuRq蠙ssN#-Hl4I'Ez]"ÃjP&uZFjr~"@,}$"nxw|Tm*@H,һv"swc)ٶǎ$J{o󧐌i'5?\heַԙ{rtƒϧ;DbsQsKu{~Koa׿BiG ,g30ZN<{z$܂9z80"<1;JؠpR "_iy8Z>'YWdp=9ЇFm+f|.HE֢_ôԸ=\2+_)YpDOLr|o^]iӡdQ/9iOtbJ吱}|b$3tS9lK[6oTCr,) P&N`#KuG)-~/Fv!ZQ6D'yہd~>b1r>(9F|oihtĝ:J7Cz >laYvgj0G&6JCWe6'4Ұ΀sS yc MKiRWӔ Ff ˆ`iLt HZuqq@hu_4:ɆtAK7~Q/-Qx7abfh0ͳ*o JA(|=+ęKXZkmMA~G& &!×>^/v9N:Thjܶ&$Vywv~ ᎙~"0,hLReOUk>rϤ؃(dMF8S{IP PlKL )󗇯ꬒa6 \BՀ/-OT1dC渖p  EMUGV@7f#+4<Ј`ш7"h @xE'S̠ݟ_tZECmm›Mi ˘>tWyǾ F V_>D^nU3K{7;*`#- { yauGS+qn3cJl 9wy2pT$N[9R}ZM.~xuV'ez q!NfyDuYG &~)vD3gc̪z4 o8ැX,Ƹn,.Pd qWКoHc1#89$+ R1(xwepo!K6~}Q72Bٴ`6ŭ cEyѧ)NFm s$ӚjZ*VL'k6[p_ܯ|#KCs;cȄ8q!W]gG `\j} "[8(icF:ĿҊQ3TꦣMɚ+=d0nJv^p0cX BS2ԼB~B} nPȩv\Hhrd`@ u|t-@lxd L۷Oyw!u jMwϧCkߴM0B =KPo}p͡C#|@)9Y޴T[s 1oa\m"SP$Tǂ}8i+17C4 ^^BYig!١T%XUӞ?&Q=NONA-R2W#w~yaUa#VWf>Q5(Ѡ7+!ѓ&%4wix*GGucCRsXQH ջN\Tfw Υ4z!K_*ilr2`ITD+<2 SGT"yI&pl-$A0C"r '0L 9)erWx۽drI_ofBZ$ r\`,wh쓸L~migItodVSY;(H}ƕn"Sz)#hj\ŷMc' $ষCܱyzA<"g E똻.L%g[ZuhM\GVɉn++ M jXu*kh/ CG-8R{X~ئ+,p*2_sw a~$LsbF~< ',T 40Ds,(LHY\UF!C +8VoBv#CDkkhmDES:f>q~Ud\BE ĮYEVT8t-|=,}L N"?-eut S^Ύ3\b-¶}}@̈| I2af]@+Cm\AF29)~={ObuFc}ݳ!NFlSKd*⼏UR[_/I(hipqZ&Ofj?D2('vBiЍ3&V{_sqjƱ,_7:+TӴ.:v鈆Dݹ6 /hph3A}\m ?Jy[_^o܎J]v@vN);?Е?+nlR:_d,/;}69 Cq/~-K0_wh#C}X"<;'=޼웩qкN"8fS$M~>Z8 $EDCf}&4|s, FPެh] >~d\í5% _sxN>F?#ݵ&>@izIFGndf(oʥ̽tNo羣^y2鵢c[o@8'LUECK1r{/ןoHI-+ҳmkXaL٢ 0RTE썱W2k᜚xxU!v[^:Rppq0=H/7ޫZĴ$6SCXkWc(QӁ;h#6CLԭސo48M,!hpre1T[Vͥ?|#0F|L9F3iry.W$#LْNZ93x4BRgWYo$YBiZh.f ]+C״An/)JH|{H]Of˗.HU;IZ/1$3H G=QvO$q{f#_#⟦]{XNڌLW'OWQcq_HӍ^ޘ\dCw_S0bt+Bi4&\›K pCAi!pSpd}ڔ~y6ti_su>uɧO?Չ/*;`d*_Uyj9 +{t: [ťs!vr|RZԘA4{-_Sy-AID0tk~TW֘f5}XQD|ޠZCzIT~q ivW%8V J)Žx須q0i02kEJ4ȧ< _9g]/^By0CcfVm5 εH:b~e ذX3oiv]}m5&Ee{k+w)Fg-U"8W1*r]i"xʌX wMShk {'4meE%;[̖b;/)xZ1^-8&SL| Ĕq`(!E,mvR~TԎYZPx˾M I1Wcz#}`Q,?KFz2--TڕG,Tr=dSBo1C鸅ֺyKk##4Uh1H5/$Oyv +Жd>ɢ&C]\֢5$'3t^E"\(TzKn? m/hu?Ii(k!&ITxkVs/b]$ <ͥf  :WԼ ܄ yp L=D}c>v$؇㛆ASߤG~*w-_U?ml%XXnme};0sz/ԟV,Hٔfi`o[jx%6$j3jr7Xu:NbzIwDq"_ V8ƏHo\KA.wcwSY,Ey"D@Hіܚ ?d=7i8Entg3>omPQ&z~I%]Eo9hzE[g!:rM]Efy>{#kh ߆Rc[GX D2쳸t~xWd_y8n я} ,ѹw\1P\,9Eۿ5EؼsOFdUJ*}<ڧCn)=]V# tm C08T@t"j\㷾/F/Α ~w+>1. <S8q"))^ҨXsh"0H@bV"+.2{\Ran;d\NKY@1 w6Q'AJw2d&n~=. :RIJڢ%ثU>gj [!8D]g0匃$ʵC3?ZM8Sud-4_GZG9F+(T8dJz nCkn鳸O r&2$zZgWB(E<׋»?O(UJY#0uV=\QkeVi(BHWJ֕ԻaA+6`*ߧrC%"R_/l.ZF~f몝VX)/31 3V&p*S$ټO=2S3JI-! PӧvH`hyQHBBb*N{|g\o,m'M҈hrIww @uk>+a=x=y%Oeo~!\t 'MyJH8ۧX!̻ȟ**& r~vE-k4.kO{˦v~S#le?\x릶[#"̐eGacʣ(>= a'8T'7&Ϡ0=xͽ0m1!i+uz>,Baݷ%0Կx^@hƈD@ "ze /4lvE-kg4y35__pRa uYXi ,XV#~mKǭ׌2I+ !݊NHy,uɏQ6boӞ8$'}%jmW\DVҚc-mSѦ-IJnnd=Ptو ,磝p=2 Jeߙ͛-!,38C~SO(_)J>cXǡWUt9qE>u{G)6'lOVHVUW\ЎY.cfhEeML.=M&[ȧ6)T%g d҆*;>bp8+P(m!"%~p82SU$݃~,-^5d QEʛd! O/He~*)#b^Q ހi@ew6G􏃡nIFދ>;īlq2>=A}&,mi|oȘ1 ?# slFTki:&,aڤ.7hn}kpr8~&! iN[;5pUȼԷ"7xqW`!ah7HOC 2Kp}ǯv0;T5a`"Mؐ$"2Qc挲vv 3_*}P\ΦP]Z}C4f/ aMr&X {ݵ?^g24eo?wFIݴ,zn=% O1Ud4C)&# ^S ^FGdghWcI)A^5p?Kxb[o~tvj=;q ![Az~P*޽($ߞd"B&~%hǼlnK!P8 : owO I:l^,~Am`,~OH}pY–اRsH(Ph?tGa>1hk|36?ѧp .m YTroOZ\Gؗ҇Ək*5Xڧs$ ^s?(0%]X{Xc"L̠_Ƙspt:ƍN!a٧r !AC.|͒F/&YO\o &TZ)ΪR1^v~/GA6o/{sp;Ʉ+'B`&x?Bpv'(8P: :Ӫ{a$/K?Czl=5I"i4n9BfC1I%|q;Lɥ ~: Vn~Es86]"l 3ɻemKj+zKS:vֈz1KU2z_mz1Wx+֚&eJ/BVYD*!kr-;s4 SrWZ8קXr`ӿo o3,S=!xfN,ȇy}+#䘤{~3* XKw@tV`)'!7PH;+A^=s0mvɒ]}ybZ5BP5bsz/K i҉-C_+Q0;tb8O˫ ToE >:)2B%+*=Z g'+էyȦkkƝԗeS2,ig)W NMS2W6뼿KzT/h^ :M 9JBXCv.૲ߢ-Vw''XHUuIǠFOrHmsom`(74P l&>3iotBB՝a5ֽ8)R[;OܧH|Uj@7a><H6tv-뭃j" בtX =zΝU 7sgs"c ;3(~hƒ^\mdA5}@yU 'gUT1ffdbs̆_hŽ _e(̼gqz+2|4.YkvضvcLU81Tqj/q597x㛭F*)hK|H iـJ$*4-|*e&2,H{+Z06&Lp|"a8+D.txRo97oBX>Fy `V_3?/Q_aA~TڢO䢗0'-gݪ8*ti*`kUdvFeZR)Ȅ0L꾣z5 TQ𢏧RJT";#kuXj/0bf/fV0IfP↜+b`U*uIl)aAZCyv \=TİG6BwR$C Z>qxqj  "&Eb:e16 vW->&i[傀6\\Z Ŭl06Y,y;(͈yإ1=tM F̔WYXH/JjNJvl!^. VCK }s*DD^¯5ߝ%5VoioP;D:dk T^VH]T| ȝ3~id%57 h=z,8j";"[KT/F׈g{bϊZCqv+eI14mIdMљ]TEIz %& (/SEmm>BFkK'TV0js>YTmt}8R آ9dV8^>@WEzJׁl۲m\`=j pAKX3l~ Rʦ_LJ˟^/¤?}kJG"lhҿFĻf+=ҒZiDR}!ޥhf/懓Znu'1PWSy]"'+p?Bg-y?'dJCyDz>~N[aiB[Hُ COo3.&osCbF B!M)]_PSMX;`./\Uʌy+8pWo)C*?;׋fUpR>-,wj$ɚӶmeB6­d:RuKe7[|ߝjg=D {Y[k.9ze_fw=, \7vTy[Mgl=Lh[fRXYp&td/%'j>[Rx"eVPidhKS1h^Qidpgxex݋< LK ېi$ǖJD= %Nx?zQ#Ȋ+UeڷeA{ SC$ Ty\'Q+|5{sw88t?]VM(W[K;`i蟸avZi-Qa%Z= L9‡8t'Ij@^vfRܡy \ٵ>.Jq._Zv,dF%Xfhǯ @sh_nKBio"^Is%r|u!έJW)/b<R^ak':nWYe@x"ܓ`(Zd\Xv_eI-[?R1 >J R]=JU(^^;g:>ySl d_6/_C9\1`sr+ "؃#)fʙV* \A_gk(ϥIqV!F!|K!]^ĽfF2n^$ҧ㝶[ ~VNaBʾD.R_sO[4WF$T\?6""O"4Je"mdA  -DswtwF>ўiv:_KjԭJrRT齤SoBGoӖIq\TN&JƠ!r?_j&A(~! ^2dDn'qњQOC2X`Hꊃ#!D:X@X_'ִiDj.q+ղBA r?ڎdI? Wv F}Üj޴?y2%7Et7[#y,C+.6iPp@Px',?7mg9Y ;K[e $L؈_ϱ/X# 4eΔD2 Ъg\5v|Ec)yx^QJ&Y<24GĘMvPnjb_ يW.rZY#b`|wvFuA([~r`Lql,d e5fTR  , K7c~xv`(K:ی?fwVD\ U>Gx?~m<0wNͼ[d n_wkN:"]R⨯=q\?[-ݞL\Ac =+;yVN1ϫa2o?} rORIEY+M R\١Cgvghd=RJЏ`f gd[ͳQd}BH!h͐\*4N֓{}63yi\]pLw,7-|2 o]jY(ȔH |h@u%:eBlC2PjqP`8&wG|lL prԓy1!h64$ YԿ[9J,njGoA-p'h]xԦO8:Hh2a84V^BP4~Z.@`nPyn윯ʜxh^!Lq(1hxn)IMGEI˯Hg,W!^^:vT`΄P届Y@W_?7Ph ~ϑd*sku`O._$z19|,Tym毮Yt ߷ZM[#\o}n.pCd+fKUk,M\Ώ)NW0 xH790Oå׬*H} n+/RT]vV *[dR#,do,4V  +Fa]$ R)FBqV3 *:2Ҝi#v}hZVN{sI\=]Pi0^3>:yl U;8D@>t@1V,R3y2UUZ!W9}Cҁk9zύ|-fPf 7( R_q?4Μ` C4vXswR Gé1[vuzTDsU jZpg؁>? b6I1j?e^lohUU02t NчȀL{rtm=VcpҾ(ꃣʶ/Ki>bQƣ9yL:tM(}#ݺp50;9ܘ",jݚX @X3-|(hwr*3Jh}Y pGT58Iܗ_&5:X',ZwyH  ok.v)S H7G,7]ICH%WizۡP ep:RgI}UOZ1h1r?$ʖD o@uÄ́OQQeO s/x ^ILӾ P?@Ǵ4{nLKn^Ԕ~>P+wR!ʍ 7'V09R,).hğ*\0>|P*8Vdp ^ŧQ%D]9h؁~m^DpFb5e{ڵ`V>'"0+t#=čo…ó ~"lc8Z׏|M4 qTy|Kכ_D2gMv#vY5 c=1^@& qޟ0r--WmLJ )5pG6'QWy {Br jљ!U؁̠IZTI]|7xW\d j8D~m% WdnÈ-۞:,vĔ_IڱW>]Vxl 6 ۷asWԅRnb yhs3mXd l=&1 Q og9rg"bJ+NYQ C/W0:@"·B r~Joe˪$D{ˆpuo_!5 _:t)vבb <g<ّ֡yF U}d#b(T <|ǃoW(UM/M*6iu_VbD/F~tMǕjOIJJv xt1GVQv7gA=[OHjX$#-2\%pim6ޝx 4AfNk HRYU1{ngӡjU Qӿ0&|aZIGFWv\hCKo^Wc0{+gTZ9m*}煞e3e̘cOZf/C~M}b=i%:MT36E8EI/M䁿p O(\Y- cx&˔?>ՋW6E_-9]~W۪Sw5S)BYY lrKH XΞRQ]IY0TQ_[aܔ8^~fm+>zЎ/i)ʈ`^r5`Hp%~5/Nb-0p( oebwֺG 4m!ʿ|zt28NvrM]xd~or!ʕj}}PBP";Ҧ-t8k4y!f-@C|,]Ya p |Iu]o3hrvy}0 eA VD f`[ؗFhÇKdn2rJ!BAJԜ `E䐣,m T(FY::O}J(&1/bmՕbӝb8\;~.i(X7f #՜#ebZF I|-486ߍ66+SXO1RVޒUX&2 }f[~\e-8pPNv{h!$?J{ 4ZʔI߱ d)@cE n/a=c+w(\;o&^XU!a_єm8ussBdY~ٓZ+!oC>Rr4T[9}s\`͇I>V<5Q·[~fNC{<Kƽe0Ҩ2r6zbn'dk߫C!_c 12ntr4ZקZ:h?4 /6F6كK|dH~r# O|GłFjao*$5X9q|B[{ }Wz4%K==#>/lPP)_LGI5|NJ{tΟ2wGV¦i|n^›TGBk.hByE'א9%+LQ6>Eԁ,:z ]bHok{RDzf C\'\˟t7g 7Iz;,L‘6]Y:JvnïaTeF/`Ă2a[GuGKT_Q"Y>68A}*2HGuk{7 ^$YNB (z. R6?_b|?ˇwranZ'uwV[7kB!@7H8ʅ'T~dUQ' 3X5q93!· & )ܙ VD u}haؒIx~8,`b7H1Uν@>/*pEx9GO5rY.5Փz&F>{5tI}Lu67hU'^\[w [?*T `zcj‡vSte}s2|G픕BY;_& 9;B™sW~ =I^5D׬qؓvB_f0Ŷv-~s pu,g!NM\uX֦G+8 c*\MJp.Fo\'A%`j#r>NܸDBt'D{i}xoyEk$qҏ\LJP4KmO(XSbТ9RtƖp,f(ZgA49V-Vk>b"EV="ј [ 'Wjp8_?ee=nn7aODrͣ|B~Dwj]IЩDuDqaO `Cr--qǙ-h`R* S.~.^b/9%r/=69.&>k븓a&dS"0CW?A72Z쫚RcCY_*mCeaefaynEҗDJzoh#I=8G6IȻ&`p WSS^ϓU)"7/jN g ik0zóȁhLC(?ɌcM:oNnuYJK4>0CY_GpOxUl{}3' +i5Ԃڏ]*}Fuy}FE,p>Ji??})D"c0ׯLVt6=٠$:37OBJ-}y̽H$8`8qYYo@Mkm`LVQuŭj_ !6MSgOB9 HսM/&$ݽ:IbiBH6;5'f'To$}TAc$ȞH{͓O!8,fߜrkJdVGr]D~"$$N Qf/CXYdt}QsM‹O­Lc^\+n^7ewXu5b|> IR%*w_N!_{* 5~`1E;Ou_,bGZؼ#M+۹؂cCk$Qf0_(|lk2^6`V̐dcr2&s}Ne݂t(@). V`_7S3O ׂH[/1=Ps#K +l:#A`D $$< k5Ϲ}#n%Ę Wj|?܆y}ɏg.'Po+3"q 7;bKwkv7\(Q" ۊſ}=4VN"YDor6_Sn ͯrtnI&oJB2MYNXɸ]K-鮚5O{ToIqk\oOYu9OirN&dd߯D@RDTi9<Oh O*CJ q#5rX4΅Q` {Mcg}1aPMث 2deֵ Pɠʆ7~ﳪJrM.A1׶tl"ypSToщZ'g`߈d>DrGIu6~ĹESΓ\[y2ͦx. nn2HCuuhSy7Ƽjd..?Wx/N=7/4,!N[#3Rg/@$kk+Edq(ɥLD&hb" @JXp fyʀ ȵ|璞R#ao gTT D%#`z V] 89h,R'Sl}Etj8Nu]zSia@w ε+N!e_rџ\GE^m~萞?g$`ˉ2ܬ0CC+懧=i}M#nͶE{)Olh%9}+-6ؕiP>C&"(E,F(٭vlc!{v4X]̜3zsiJI(6pGn^'BӑŌ^swpww(7 #'!,Ұ^=whwHbnd nb#9T>)2:ri]9k$T޴-0=H7)|ىܹސz^#Sa> seTȐ'f_G߂7YL1=Za]YǾk/\pLD>zp}Ҏ;i;Ay ~мK{gy[}/#< z5zq.Me"G$~zf] HV{_s7vDHT.' a.vw815ZÐ_IN(2bƴz4~ob6 }3i+R3%)kҜx$_1P( jti+p3-vq}{IBRy^fcG=`kN/$㻡 l՛ܐilvg22:ČHCɁ@6WJ5{¯&3&,tmqOZJLld4YᝢoYGG Ra5\l0` $Bf/ԥ*A+_[WZ+g򤈑'^\Nr\_񧈫_YZ:Ŝ, ,œJ@+:4B؂XlҮ Y۞` .0#h*jzd(zeSơcQ< ![}'_-'%r%j_(5u߯Ky!ziHiw .))1oH2Z'Y.{Cטo;d"Czq}9!97^?f^"fұg2R ˑƃ%n!ى=NX_wbΝRZe(ʶKޑ'<8C Dc;[fO}@jf3oƭvTtJVInq82xi֞aW o<ӄ> <[bLJd9/'+Ncx |#sJܾ.{m/y>J@I1Tф;-,mk8}y%ȾF*poPŦuag`L_5>fYɧ\DFX0צr1'zӊ%um5sH#wتQb)/`n4XJ|SWz%*ۉKD4 1l@n$,"E>IˆIZUuzRU'vAar q#RRiH@G4\g;gD2;|==Sb|"X>p>iq ERW(V5gc^GKkOyle㞿E|zq@O25gݥLпa?>>@[b=$HMI% x ]R|}ߛϽ6,&!Fd nQRhF ` *ؤxvȇCIi=!teL4[ ̱oÈ cVj7I؅xHCoJe?e%Py]@m/dˋ]\J$˵ p<HEt~PsEł%eFg }+CF6 _zoG\\^A&E'mX]\GVY3MaJ_Oj{quSAGpPW7%H ?<6Y& _z6ʺ5 s{W#7n\bH(eԓ/Ct"\02\%}"NlE5JϤ:HS[9NFSޗG5'I-B aR;wkQqYb\"?Pn%mzțh؀,TMF#4ݖ2a Q0lS @/͋fU 4?m:bp@6p$d0F$/ôi t>?5LPÞ$k1"G#']!JFr%[Rq]DFKz~ͫ!"uBο|_;*IQj{ҰpNvP"yv 0 2^ζiݎei%Yk ߱\Mam܌}H}%&Ӣ5yyDGWsцcNمa|  ]6 Yko{c]Y?` gap*mgjy]6v8XL8=+soS.KMwv'GG~x9GBM>?aV&V_]aONُW[_JfoXې4iӘ8זchbh"Aff?8`t%o gpf![K [xi-bC2QR3Y5R\,k ܪx 3V3]Ï<_V?G)js)xM<ɭXey3M uVd%a)n/At"(=J;&uTv*c˽V8HcPrz}6~|(9íid#9tuo9'/F?<{ zR QlhAU 8{2MQ&Tj[%f! *~715892Ŭɯ4MLq@4r̓}HXz'hV{")ٚ|=d5KV=<`)#N؅0_ai="<[]+!,|2iu.NXZ_i.pl9 ]YE~I5 |ߓ.莧-e*U,Ơ;ibWc܅`q1Z/'_G'bkIE6=UE~D#"ؐ)Z)( :n˾R+s%Es N7ƒ~f$COCCyԳiPP"bQFpL%{ =-17D;|mv>@[X;79] ) ( .T熕P$qB abGjnn4̺Ίּvy_g^[UT d A~ $iSRŕVxlLg|xo1?0W̫wK5E+̰lzK$XD;BsWw!RQ4Em ìW/$|-FlH MN)?K;2WHO };s*Uč,Jjhf`fX1vn5IȨȒ3|_12/m$g6W&=r%@m3S6As~=A*O̹OjS8D>w[Rdu? V&K=PX$(IU)k t*b\ ^t;iSyr$ʥQ1:}.'7)יsd}_(o~_ׇ@Ji$or&3vK&2?\Ux]ueދ +k<|uU_jT8>"Rgcr](i/;^VѬMyo w`$¤|])ezH?#Q61Sn?_bڙNOJ_ʹTm+F_9#0ѡNRNFrGa;VvH]1N̫Q1?! ɰ7 S*C҂bcb!GGm&>;S͏np')~R\jP?lJd _90Q%MU( -|( æ?k u1cɞK=R]G[^Cٿ, omKEhG-5\ vS)o6<]Έ㘌@6l1P5ɍUNSgPLl?/(MFƄq-aW@{`*rpb)ڧD4޵!<}i`;s̠K3Qm&o>5=\?tݣ6)K^Y;]+p{}-GX[ S1#빈A9,"Px~}^P ]5k{_ݸb Wd[U]wI `5І羁f|s+MGBЇb܅́'K*7Ʀi̇Pɫn[N}  >f( (>&wp@3b$'=B.MoT'Gވ"Re$GVQ,qOo,Sp8X}%t!_:V9k3d/. =*wFHŖwbw[WbάO1Wgs?Fס?M?K?>ƒ΃?:7)^kPun>.O2+>4˒' Q.y\t㐯e8[;m3f.wM9]+g6?*_S<+B- ,!Ɔ|22vbQKЉꋶb ZԞ_xxԹ] Pgt{*vDMV|YAO@yhxǎ\t6䦼te 1AgؕK+2e[ B'߳8sOl2GXQLn1=ce^K)I-/dDkN͠QK|`9EFzbFլ;ZӒL+2K@{EQǾϻ * QDMj gz2.*Mb0mڮDԒk>\h̤C#=SL_mXwXhC UjF) r"fNfPf39?RsU㼆U@?\{ ./ĈL>kC39Wlx諪xY7O<-䧞S}J(^DCXOjHMUj*nT9nF&ZrRkWrfݧ)J@My g^F~2+E'w}63H4x^+]}*x,/\Gn 'lTj<5oB$bbkCO251fB#vh2gb.O|hnF5FyM3?;rn%wk(9NnIUwxyeW\DۣVv5)kC~p42<}]vqӏLdd&^QYx}G7Cs I:g bSg*(]Gx^C>;Ipp/kǾ>DQj9xHU\ $blDswC%QKs_q^=pͰ S^{a[%aRɱrd4^>_.o "RiG7@i#<i7ڪU]"|+sX8J f7Y}QZUjzZ^o!-W7Z:W<-#p?Hܫ" #c8PЃc@%&V(.9n)!CIo8#F+Ѻ %iwW79[J_،`{3S;{FdE銰ǓBFA|lWx!7!ZIAj|KyQ%1`pǮjI> ObkƏϕަG}P0=}WEZ{4(X̺Nb{Pru3¾F;aeLt%VҚjzcf͗vt诒r+ H, P7^xŌMm{wM; C,DzƈFo~Nvzo#3y?Txv (ATVva6&ߝ:r 5٬awb4*UȚL(7d _ISN{S'kS^;*Di\8THW Rw $*o1Qa?rz ّMծNB<9| ,z#wͤ(.`O/8=YھGNXU;&\w9!*)UZ$?Ȅ0A='P 9!X u.kdZ$UZv`JJ}58R '+xVqbp|[&!?p& A *ȩR'{a3\uꑈCI=.\m\zXVm6*w$UiWIe}!LTkiR+ P<]j>WIFd}pp~yWj-fdzjlw}`Rn߂Là@HwLadƖ 18SLNybr3ry&"ZQB(=;6{ ":lb)YV$hͰ+-n*KRj(oNEzpO1(->Ru_z0D:Z޴֨WMP橙 \*q^q炙e$ty:{ʂRxFV~t-֦Wkk}Ƽqdž֨Ѻq״Mz?t>U{ M!yWKh;Y70xxLa/C*R|m187 M% 'X"r,łunsKAr+^orN3 &2^{.H)9_'gbzkr3QcG!xIG}8?I =`虜uNcr-| QĮk _2SI]84N$e,_vC .#;GECPe J1xM&,uT 24R\2Jj[-@Ff1uԅH;gm|dՈيD**\pp:?GGg7Zq ÒWJ^Q(+Cl^Hr>Պf~ dTo45Ms\ F@BJjAގbVFǼ}kݳSEݯ%QDN!yHe]7;m+g][Wʔ#Z HzĕC:;k::jqYKE 6E0[Z%dS³>EV`$=Xk]y;0C@mo);>8b$z 5(a/ݬ`Ĝ{Y^kXPif)Z^e47Ogd\9CȺդ EbA0  Gfk˓-_WkEgY#RNyrz>Qu|tֵeH` *~`ͷ>j dQ[Dt=l )/uXBلoC5{h4jg"J}8ՒfK8Ioz%o%ɻDvebea3$c|5;SީOʽZf1rM앤㼓qA*{S:~w{t*0 òl$)oU6}_ N)9 1ᖪa8\~%GQm_?w_mB. 58Gg &^cxsy<˦k'puG=0XbR*]HϜ! w??kdK ^џ_w'a VK|z\KLl-,v-X0vC"x*亠>Ejufdm򡙉]N8zA%+-KQvO6PN bZs4MB9e^`\zxj%,/^IJ:J[DK8^HqsDW?Q @v1{nQ)ޓPOS]GRw+@W*M6]" `s  9| ^J[n㽸MP|+oimuOO[pGyJ]/ yګ#rO!Xzݛ/O+6Ztih"6) *҂t5B9K_FOa'u_t,mF?pr 9ilm9̆Πer!kd!Yf$XuaReZ5Ӱ7kcT#覂5=e !sv+}Be_aDR~IQOɧ8o[uGȎVIzVh IbY G+Q;dvIMt_,g\2iVH7П,abĕ{" J_؇?+4ZJ ʖ 2C0_AٳX]ػ_cKtܥ?dv2i'y g<!w 2c :9^i]W)ϰ '(^zcRJW춱 P 2]tAl@mcE,mxPkxeQ·DwdTD=}3>%zDW"Ӟ}]MXY3b>û9%@0C%ǯVXTM2`7JMNȱ2u,Z9o n,;”+_OՉqJF&SG)G, ~?`E7 ./vȕ7  ?VNZq/3{NTV貛? \A#eR#*=N!?PXȄh7zaz֠f>_A$nDH.3t<%9p&e _R߉ 0qS;h$ '!I#7~j KPxq~tj8}xp6a#~cmd ^'+" 1 ' 9IO$o%_g\g}|mu@>`AT@.I }˛$PZ~o n=pڥ-I 6Pe(Iz P~s"Hn &`_1~xI2dzM=A#{)E<4Z1f9N1cpy ъfáJAFg 8x/~Wr/G1ts}׍n|vu/U!,\xH:֩FtJed۾!"!vA-4YQR[ݙ5wx!J*Lz͝_ją[X8:%3˛AYR?;P+ൡE CJVV.1SmP#/Yp2hwжeYJhpAQQSC#D!;32oRoq8^XMnְe1ŝQG!n՟Ac5ݪ%m]Yb¨N٩B816m:*œP($2o[)͞K,½vZ5IyƧW_L\!5F(I:723_U.f_[ޖ/uɾRё7tԬ}2|wP+kRfo5[ O;l,)c89d=/gf48V?5~+&XnVFBFrP"IY=X 77| ?X=e97 @{Ex`C7󰒓-6V贔iL~M,RcrT{92>pĺi U*T ^IxҍT۹ '7ޑp}(=A{Ley"s{&Z,^,x__LlSط&!ݎ@ʘǴghSp{h+xDcXOD2u[>fU1ܙ /Cbըԭ^6_|.>YzQ*1E^}ǨKrZf"Җtp0uNMQ͗na2`Ld)|0dB|iNdts˷c t?t3I+(p0߀ :$Ŗk4}\sB"&0 &\ggW`Rz3xT/Z=rJ~9tk=w1_Ԃ?n"p"l]u7b*$LwGdB6xrk~ŮD+mJ燘Ҝɬg/~'V7;c: )`#vqEK┤WmM,7u+_CXl8`n偮 &bAb w)j So=CѬo8$UBOй]^J.v.#\}_&kSG$' @{qlBf!>מq[0眪B|eFw|0%2 = K/˖8< g]G!,i/O3%.{Ք>#yݿR)AyDAɇ5(]~ W#U JRLnžfMZ3Pz%<9}K-LՎȆ_0+"b-@Pz$ /0g^ڪY~' ?H:ǜq$^ }yVCq|I1e1 Kc 6! ) ZO0a.G8%?;gم+?މ(-ĞT]EU4[.8Zm4Q rQVALg?W; ,E}(.c{z~pw|m ttRWb=:Ł-9WU?m¹dWyjI3P_ΠLMAꕉxmN!ɻ z2`IF0QPKJ,a*m32%65PU]nA~/ e萅J857 =y<'ll x"G+Eμ4; Y}iGΧꀆ56묷C*-J遏_I}uDէfcR+L_WE?selٵ3%iA$l[@S)W2o~|+EhcYC}bK#dn"K<-EfRUu@^q7.Nي.R.opKb`(`FD=oH~n"eˮ7GQSku7ÿY5XЦ 9LIXbIb)[!݈ ^WC vhqKoh(0.uߜ!hoܙK3#Ǭ&yXxLBky~8ǖP@= rZs$|г9}l[Uս^U5x:+A.@JB{Ky{wY=)o݋#.".{p"'#9gӄHj-}6_(՟c LQ?~QC>=CB]@۱cL;Iwaobܙ)9iya堯C"Hէ14l yʽ&t3gDm M܄4ֱ :Іx: 2({GyD?}2r70d(>w~.">~:3r8nZ뾨.[t/r~<Ԙ'&(`p')ANa:e)>fPׇzd+4Y$=~,*wߵ'Xo/ ӹN M]:EK!E:'D.(?|M70__=U'Òd\ D9y'Xv0n"V"H(>3K%΋-(I(V` Ut + ?I}JBH~h;ڤR ] >+3H K P0TvFNUl*Xφ׌Y>pNa3 ]rTy~'Kb ̐ ?W|*: Y'ЌVO5]Y_)PW|,fGbAQ-VnT(=J3eOYw:Z%byƩy͆Z;NoӍ2sz.EQ2fgտEG|TT 5ȰSMjkg\)A\m~ "dm)Pۯc2;'88s_f<p-lٕהv~!уoϟq>̤ͭAmwP*CCWBQ؎%48^fL[Qjٖ t ŭSEzD=>_`ݢ4׵[*hLidr$A5 R@.uTL' a}c/dk78%n7f;Pi)7IPflEz4@;nNf\F>h+je[tP)G=1CFLlš#|UYC#dǒK|\ԟz"{YgZ/=pp!VɨWc M)l)WF@ Q(%;f2Dń⥔FS e'~܃ɾ4)Z[y`(c@)vu'[e?:dUƹeہ.B|U|C]\hK(*rXt7DX3R?Bf^/Mq|*]VT*мxaGYO@hkUhK[x^{q]ugIbbpo:!: CnkFj@@ PY)5[zx!բd#_Eg8d!b#`#_wǡŶw@eޜVI.{̺z]gFTeKe%9Fĺzo}ݱɽ[c|^\Pa.TfĂUPm |Q%"C~FFTo)e_p\[;x. G˓uPS[C΋OR nΥ:+(jK2H;*G075VJKǵط 'ܸ;!XZv1!smkp.F b4S 5nE|w_Y"Z o{óI@`4wv3ڦ 9Ɛ8Kw(9)k6$x< GCy+6ڈV\&= hV/cdQWSWoYޓ{ /GYڔg$/u 5& }Lg="G4tcKrp5](k)%[cHrSR JYe?lC[x +ĹmTKDbchlnspΟ7|^\*8(7"X/1{q *cGi(T9˒ mv[eExڷӒ B)/E䆌Ͷl? Ѕ ,vlY &>Aĵ0ӑ F+-ܙNoފM>wZ7/Y+#g|~֤P_47M97KmLCQD @n1|3^˘?uPe^?-xʶi0e(@OX le-J~4?STRDbS)&ð^{eFn#E{ Isim/1Yi }K{}\R'^@0#,{E<_u4qՎ'ͮ |fG]jT׆Q7UD#L2U;bcRϴd~5pQn-o;/rS{ =n7 E?m)qLiFH! '+gAزƀp+ʃy0(TW]rȸ:,ywf5p?yVӗc fPKW=zBlXBQ~03qy&01+eemz?4t^?$}z- /Dg?P7 ;ԡ@!.ˤg\ # {'ES]0]ɼG.C<ҤL~H~q|CAHY׋z߭%;kޔئy/d-XtDcGxȠڜw/-Ugz23u>_3ú0JM )P%dE1BV@2冀2;ލ9٣y?IϳXr|C ` Փl"KInhBq0}Q_ PZORxR'f#paO)x s5 3vXLI3d!춋׆'\{S؆@TX'qH]oS١DԸ؍.S,58? p0 JOq@UEhԬz&$lXfl<}0nqpL]z'Оަ2RwEխcrvJe*oUȯg=mhJ#lauazaJ eat+ϭ񭶾x{z!g.#|93t0KNOe؆ddgȵvW5bv_QkӠoh*r ?1Bœ?1>21HCtA˗,]9:y!5jlW)?IÂ?e_vh< `}o!m!\ªKax~ч 2նD] >!w[t”ڱGK3ӡ WWƆ_JW{E] tfN,rHZ.a 1J yYitg)*wH׬Ls܂\6 r])e(5iM ]F)g͈;;3͗9bC[_B.6ѩ}t>3bSNÜ,ŜZ6*/"埣 <"t㾒!ݽT?-;r#<4hhbx #\o# p샯 y_Jc{N_K]Ƃk]T>茭̄_0WDdA;ÕVJ % ܉;^|*! 26E"`藴;w~(z{a8a܈b#+zR4`rMt~u/p!Kk{Giފ0 .^P{?=׌-4rpHӅ&T:q ßt1(u칩1FmR -g="Y);D8Qa!_\>bA6[b.HP 1Us-CӸvVittZ_(}0ʕxD$=/` gZ*ݢ߿l0o&.痬e_}'MaYu@#2#1G3XS`VV@I&$H}g5BB!tрGsw7eqƙma4I=صBդ#>]shM5(({醹hPkc)@t' mTeʥuN:\N{Ww+Q߷y])i}M{3vS1l-{\}UC1o^{(4 ځO#|b|@/ioú{qMX:v%Ct x^Stۥ{^>A_[ D7CةUt'HT_;KϊRr ի]ُg"t"sX_(:ނ-8`0Xh/m{DoΌZ\ Y*gAR9 Iq ~ޫ=#QF=^x1*hjOk&~6؊mMVc$"G%k)fۈ^qZM*uJ%}B303 ]ErnBDyy(ЈO䅎$y a/ pZOto7Sdw{;gb3R*'um4Giw1O 5aАܸ׺ !_VÔ=i=\֛l3kW2 *xf1B$hX'gZLZrG7$`溊,ӝ(+7|5FȞ H%!q 32Oqrr^ ][51C3vm[Wq#lͺ,#Jg .K,r?}CM!H5 )_ѠLِ16=֢MYtbV Tt x59 4aDV}Oeyi7,He6+цZE K5,dDFЅD[qo9F|\(0v9(#ͧ 5 ڦcjO=>}IN%Ab w9#56 mH>90kVNOb/DO(k@ =ج/A`4qH^AQ\tK,}s6oyV!'%_Y7ahtD>h9WͿl$GG"G)hhvGTYZވcS5#a5>5:Ưi+2,eu5+ď(BoYo'\˅Uۙ[ @.eЋc13UO(d*ZŊ{Ti*㧆A~yJpfEp:)+(3TNg}N76 ۸Pёrw ~7c 1:d I)͊Uh0:8k% OU4jqyp$Fz 3QS/%wk#@o9&._of>%15d[J9Kx%1j0 QG3\'rߓNgR1C{DA s#^5TWZI)Λ9Z,*b s.oҡS '}je%ge;eP3}(8b)׆A$+(i%Ͱm> (`n(J(M{vf, ,ʞXt^ 1:ae"2b݀B<_d }6* Hݨ]PpoU}GSP+#aDON|oKc2)Ȩm³,#ZwC}.9[V.uϽc};(UއO]Cods wla/EKb[Oǂq 2`iރ͹RpJb.†915tko2KXSmSڤ\GέA'*xɏTW$Dlvb\j 1*Gba݆ͨW4B B*@->41; qqɋ k8:B,G2Z>3Crɭ,_į* oſ#:Z7ϟꮗ/TeS 7Jq-p~C Y"V 0RJo}sNǬޔ=L-qeL#3vݒ.!+Gq,l^2?$"~O#gЏ{Eg58(|p?M"Aʃ^^(PQ\zJC@FNߝ^.f*"E^_ϟVтZ#uXYɟ!I !{(< eDpK6kJͿ1 -Ňx64S I$Ap}v2'6.,'E] ?..yOpusnwȠ;[Ej'zDʩ6'5ud/pi6ųFdP"b9hhH(Q} k mw ׵g*/w L/ڣm0-Zy\-9ޱ;(89S&IrUtV1 $cz ]`PM;ѫڙ.?͖Q{Ei+ma"!h@"PM_[]|fZ{DM֠rB'2E,*욕WΫN]*ldyL:'~Gϑr=n'L ŏFK*#dųNeDP d ZoZ^7#?fDz^R^;bsL{sG`hcn@KQQd*ْ|T0|'YS;ėy:9JLfAMc $(&hYh=v-c&%SiQ8z1`|.ReKҳ$c@[?WLN }wGVY6FE+2#f@9y>w#b4L&c7Qǩ{S9%~3ڍt8E~8ߘqv,\Ƀq{ࣼ\h ;[a-yZ*bc4Y- 3 L`˹sQj'-WQ{3_?R\?X+9ؐq$;%=x8H 2M@ 7ʳ?Fζ^[ɾH'Q+alJR,B8qL!Ca9X{U< stPf4['ӊ'G&4?%IΈ at[ \Ve|oi5IVT&wa}):i¯T}qs7RD#Z[J@-5Aw a C3CT߯!Hy|1!\>_{N:˺PQpZmѠ;"+YIr9תȓR,c)hs\PT;/UI(GN!v֣aMufR{[ƮW!^P-DY ala20>u7f vRJ. oV  $,/Է6&r˧$_иIkܨyZG`ՐٵtbhO9OEIE2m)LHXD9Իcz'hf[yMex2q}8(9U·e t;Vb(:+ Ξ[{FPyBVJo͒ǓcmBIWp EgcbPA"x"1aLHu)ih:O,d>K&If{\+UcpHB,: mբgNr5x`"ޜ8 7V eܫ[*!@ȺQnDSkr/9y])!1|?o;*R9:Q͍ɕJ'ua2}4} ܓ6yދ:_,ǽv[& b/MwÆnQ4*wX^3[ڬng >=e8I`'HohdԴ*H-kTUz_ .6`𥦤;őf%^<91ٰ,zMe'" ))E0#Yfi^J+ ';ယSip8#Ѿ=>ܺEoՐ͸1ub@b?ָDq$)HZ?GGߧߣzHw&Y繓s QN5ЦÂLfdq~rd,upA$\P"Qȇؤѯ/V->9 BZfA* #^6?Im_-H %O JoFf 'F*s}EEmHF<ߨ&Lpeƅo'eK^ *0|0n,^RĩpOd廽3EÓ,ex*Pj;EMȥE,JCcCڎ!s~&WXCp7B& |z%맛Q09ӌݑPս7g;k" "փ|1HaDezЋ'C⽻ޗ`& ݾwZ5HbP!5W5%*j]"uq27'd@y6N|5ifD* Z֔q:zOKTU;4XWZؒeyǙbo@ D ?)9w,nE)S[^ @ MY1B_ZI3P脘-ML/LW*~R&&ms`/5 ,TkbA!,ʜ $O/e{ -"h ,ioW^j}F%(n~"/g( Y]Z@'T(6H&f_ TTnm0p)̰;\U"sFoƴP&x| SDӵrT(uhdj8PjQda\fC鷚xՕaӏkn @ݧ55gC\NpHeKΙ=Tej|_![|*~skK˛"rj:-C##~hw&q[Hƛ~}sWX-4fϭکV_D^Q(ȗ.pit]Nj 36OEZ/ 0y[u+IU5ӭ Mr.s*yU,\\U@jO~.%5^Aoc6I9G+vzj$0(}-;SޔX uu=B, GOz?9sh./V ..Gl!Z;1IZj-Y]+l7ZG|눑Z5<5mֿB/Xxpecl yYŋ!5oMT_P/G у|_F{O7"\E{ۥhmއGJYyugHaJ4g|48Ci0m]2ԺAE+]|O/\D7-z7Ao̓ 9,=YyF#aUc6 Fʔ(i%|NkZ Zmg7HE6k)K6Eo{uڛySv GF_^?m :{G/Zy:CwfhWcJ-׭:eyQ rRExc#a^@_'sz;![Bٲ[ 3:G9Z#yZM%u6d^7$j򫛐䅞9Iѧwo%?@Q $z49 YKC?_v섥:2i+h,0]⋛4 B#Gū7LgP9,m,23Y;}|()ώoe=𘰒O-Dd2"#|A,k&'c:\evgA6$'1iGD̹jk薾Шf"25;TimL:u{k|~'ՁF3 0ORț|IJ acqX0$xs=C+{yh7}? jnҜ+ف|\l7wZW.M?*%tfb+@VsMKNA hm/'"! tՉivqՀ0g-ifU__GPm0C/e-mhe=dUqn(){ӭxp~''v 1"2l.4Ićjp|&s=;5jOsw?^YF 2QoZIYgim=kŻݴ3[~7E 4|F9JκW,d'm\67fƯJ}.FI#B󺅣4TƖʣl28`pK CF}Sm`[IawZW|B127o T>.B賰FioX[! F1 pc Oىh9+@5y?4|bKXPK\ 2>;CV:9-[ݐeS+L%+}:L*,vUsA*,d#FN+ C,b-mSHi8Α5Ʈo(ųX_ll$vG2%=(X(q5>SM6 ƭK*RYȦ[|jڞ წ M~8 b]. dbNW' ܬw9&B,^?< 0&CoH|uaߤG "HZ:I̿._^B N;UbRvahѳ@vN#mX;S~xVbPJ=&`$H]M K˧t2,k'$e4B'l&l ,,hM<_GZ~r7eI2SF]ڎǿC >Q!Ak~h JFyͩ˜#s :'_kX7a65֐H]~|P[WUh3HIUUX1,2G=CzHS4tϵgBaI>'G gݫXĒC!kbv[)ߝ?.~OsvQ-W7ɕG!3@Z<^o9: y9o'ꃧ&N1KR)O5hL=z@prX2j.ܡ }mT޶eE'w)ge?!;U<"r ͗$txw2ŀ_3Ĩ:>M- ,kiBCmE2Loc**ɪt9}s9biA\ *8u]~GI'GUl|T `/N7PJzy68f&p< Er'Um&cVS K(F2)TW @ ?Ox[䦸դ0vnmto3vn 9ySDxtmU֠+C|?уRttWT7.R^g: PVfqcvxC G"qtK'*_qV\_arBsCQxdTCs|ٟLEk<:ڽ몺rRmj td0wY:C1Q%w`S_ b}ƕzqV,npgok,u܅D-uݚ NbqT#YmU>Z(˺!SoBqܴ2.]~ċzZ\IC}͓,Xe>a>lX)靠A!ŭΝh?_ iՂ`?>fA^0WO|G)(UaKc:4$CΩFP^  yOE2c)&}N/|5Eѣ q Z=Ksİ1 aəloODN_ ҕdwSe}įpJ>{xhTY|34IPV~c 4jV%:? ogXYfZӛ!H|!aQ!dQA֨vu*W ɞ|t9qSLAt#eFN'ڟ.M7x׭G1gJЎ@Ω1I g EeRa[6lyҼ"+oM* ryYgMi.&Zt6#U11\Ş[C?Og:I` %/K(,O DV n%Y^Mpd[~6E$ңBn DAHsB~Zlգ1]48x9OuiIkb$[MwΪ}(`Ŷñ\1$_"q|T7ػ\Oqu&Eׯj]-lǜ55 z)ղ` AIJL4ʔHmjHLfWn0Jv04%[ ʂ* m˭hC:DTF{Qӌ'f@~u%rcEwɭLQ.2R6 Ə]ӁyUTa4|y:c}~&;9rbKD߅W dçr/\ ΡG78*ldNzc?o٢{͗(U2&_uO3h[[;)Kk7{4Maf\ŭ G24bX&0F|CEZ? ۸˱i/-1-ݎkD7E/L])|Q׾VQ+_wX벗e:!j;i^nabgy[)f3f{LpeAԇ~Z~FLy>Aҋv:U. t>55h d:W5]YоX>eG**ضYqENؒt<Ն)^3EĐ,T)!jFNsZ;ܮvYqtCM: 6[nn/Sp3' <ȃKNoFÜ KN`(e2\6=}K9OmN BGPAy΂,*ɭw~t:#kׂy 1sLK&OSnrAiϵA orSn*0o1cη #Josچr EOJmczqj5ڐ{;C1%cQkpwujL򐁯)-*Ter_"uF7sv>2'!j'gVoړRN*r iQ~(Jա&A||+33h@ZNmGGz(6I5A _qHU߭a[X#زiS_%; mtK{qj2j?& iLu0,kg% mvV#Is)}t[[©} c(YAQkϵe/ RIū[aV hy!v Qm~UQ*o-MOp+vUކw{gI+o(#(M&jpˆQc0.eAjs m80aKWdZV7wIFd߀TFp7:SXkw2>GƮ $ ;,Ss(* A[vcrT7U}vGQ'{IR$plG}OFH-!t|I}Wީ-(;mˊ!#C嘩)IҘ=<;HD x"׃Bw/g翋zi >6է,3V*x552EP;]Rz ؿ+҃V\ipd`P$[fD{_y|WW|c8"_tj1*w8Sf) 䝣MDH&zt%P+~Fq kn<~#[E+}ߛ\a[e~K˷BcfN_|ϦyQw0;JӼM!8~-_2o|T<c3P Js,m :?%| a$P .WEv~E7Ң;2H"!;HHH!Ys1F[(sp6RGA1/T7`k獛XWr syĝ'9Cʕ#W7$/y½e$Y>@*C` C:WʱUVC*9d{n:K-`%"9&>K `ƙw|Cu5`7l&Z}"O ,Bv0rњb+IMw_@)Cx8V0ERO{ĠH{$pq[K޹#2~L"^^6gH7Ճ hhhEII:G[eyʊ{‹aN߰A| \Q$B׹:^B^X #+Cu@c 9;BE (Ӭ*? %Uyq{Oo#8JN]4$+vB@/=WشzhW%ɽ[= `> m^9C>X&*HԦI{~]!$P=m}ErsO#CO8>#C,P ^-C"SeTIVǿ8oԏwP |WB]TMR釨CV} 7ϘE E;Jr_gB}h@xt>(0QI2ݕcpyk8صFN?WGt hGl@adqў!C.Jg Sξ5oݔ^[k?oyAPD‡/Y 7,Z0w3CࡹȍSn^FTx`_:WO[-wO?$3X_%#MV^&5B0ʊ*3A Җg$NR?'#xKe@aZRd>)YJ'Q_'惿}nO*J9[]Թ{s!kţ3%n2BZA )kԦJLJpg#Dkү) ڧnPz2Β%T8/ĝ>航|VYJ r]23!e$;Kyq|}˼K{0ꗒrL1 BwR61ԽxOqJZ,Up5u܃"NQ&/DN2O>k /oW?(L)Sy~ f$7yCL;s@,&-wϬqmwK0k~ܧ1 㼶kY=Qo5(|A7h,{Vy eI!"<68}^z L!(({uu@=r)/O#MXZ0.0b42B7ܿ]sQm{F?e50{|\G))XV713zIT 2 lI&x+/\F)fb*bG.efb:EQ$A7 ^F#WՎ&Χ;7&'b+s'ʶt!LD: 1 ùkwm9+R[݊bcNҏ|ԯuZ% ^NhgMxG$æEYcX&j1sXS^1a*܆asbϡ/=ly1Ci0G$ݳޡRï5Oz<ܡdRF$:+3 7ic' &BU)vֆV9wh1{Uo "m YRϡL [9ɜ_nKJx Z;ZH@o'$TfbFڰ]$*T?[Kpqj=BPI۝Z O+-&BbqI2șDP#e@SW5iJ0lk Q'z6Ƃz*k?XK/[ziPa$4rL#~_h0;ܼL<'V?l&$oJQ1gmV<(٩Pu5Un4()%р7>pa"{> d|Qwܚ6/Ҵ X3F)U[ϯ鍻qOݒ׋I|OExWO5[*٦(҆fy\:K!--c$/tM'[kj_ÆΕҌ- &݆-&'(e4dh=zӔ{b_A~}|b [Ҳt$eQ-S/) ߅xj ;8T=Ώ6͚).e8sz] )2՛4y xSa|n>D|~;$P/eY QKh $EX3DJ5̚_p/~E)^ۦ¢u)" ~R#Ǥ 0Nn:YȯP؇6K3?8YG!_BF#t *b +H6.G T>~XJ!MKUpIg3जS4:L/MarG*yu[ITǀU Ct{fB=X ) Q1&Qཾ[o:_x%Z1HP2k Ei4Xƪ#?B`ыZ9lۏlGR cxZFM$4h#tڿScB88y;<:˕b0GAPU\˩av,A59|Tڱʂ3ۆ;ı`3 MwvVˈg \yXcV~h7 Tf1[o]TBX\),N%;-~zCnMքˊY>g#4j:lduY.jq35A.5s^­VGrٌ?7$VKio>@1x)y?+1%N>2 u^n]xwN[dNP%gG7 lCyY)9@.A)OW1z,}ɓqMBMޟ+a|Vs rIOowfn]XUZ ie(p | TwRktoy:Ǧ| >J87oZ#ܤ [}ӑluzl }XU~<؏$vltl笽 Y~ T B>R5UDs7b|g+ ڥcyj"oͣCUflGb3x7?$?_z@I`D=+@kWOyYM{Gj9%ӯN#S@Ɗ]>qNzlq~24$/SΉ}X&#zI2xI ѲscbS>YGw2Yeϴ-'n$_#L/!480#W zdtXop]@БO_eg|n&;~lLO&(6W$+(ٲ| @qfΈ7y;:Z1i~+qv{C?35;7JYv)^d@Yk3 :^DMƅ|]uP8yBOդLb<^`JaQF@_T܏o {x-mno"D)Fqlg]Ͷ =[Cof}0vN?Z+mQ#;_bq8g1.){eK3&͊!>Cr-}ZhBeͺz$* LjP͛[&?!v"rT'?_sh-|hgԾ iB 7>- HXsY"7";y?#^/$|[x!]j'ϩR[A咔y(CHv- XwE2/Ss}?[ڳx nюZzgMd O:5%_(F ^0+XF@qjwNme8wi \jR ~]vmM{1iekr xxL~!1#FyKN8e}qHCty;tnU2Α9r=8DAҾ̃>ޣ@N^=**wO;=ڎֽ̀Cmm5Cn'u.ou~Ko_ z!68qޫ:&2He8ZdrE(Eζh:l }~3nS'DU%h_΂Ra,.ɜlj`Í)8\氨VƵEzUxgf' ,JpqHKma}Zmm[+.fG a@Hlj9^:|ٽp+D*'ǵe"颈+0l׮1#68AvJMQsO4zҀ2hF+O&^~Vǹإ|~ridM^kɥEa PLPbm֗q*f_Qq9WHul_kP ˛kuuYL/z Lyyϱ.2J<\7q?UsHMN@@{||RQK@ {s:~c8@Ⱥܽ(Ѯsψ}i١aAoeGg2> +~7s9"Q@na50ܖ\OL ^kcwфYEJ4 47ng] .*?zZݶ(>RVRGB2L,]$_ͯYveu^ 0cI}_4}}EZs[;\SnKJ<~ȴǮ z?^ p&:(jҏ9e}w1_kңt4Fꐑ.0WڑΟ[ԛ=h%Ѭ߁7c6x>1+(i>EMfeKBvsҢFۤJ d Ns/zQì|DnA ބ7௫/sH3ٌ5ԉUavr.J7S FW@la OqT> G$fY2ڢωTXp3di?UL*E9VҐQE߮ "R8L(^&Lh|`#4zT5]7-&{ӿ6LQpeE :{)*I_^/p^cAt)X,WboEpצ|6hd|*'>{nl5)%RS=qHn\]@A+c̹j΅_= r]Ep3qQچ}d~To˷.,Aǥp>긶; N7|{nDsP/{*4owSjU.զݦe{]}HK$`d ?^T:j>o| HX/ŧѶa< ?uEN*[pru,֎$/ ۪,Ey/sסwa Dws?^|͐VNY^MUokg}!.o7ݶbm[[Myw47?5ې~cSchY/cSl>F-˿n}V۾w~ͧ ?i_?֛_|)ҭ0+zi}koognz)'P-+Kׂn!aKwŰ0 C #<슌#wü9FWa~8FKV)~a\fe~ʳ,eYdA×X&g ĊTGy\<*|" u DN<{ß:>H_#$Gxawꬾ2#0(2wZ,#^Hڞ5/~90\by"< K[ZS~+hYG2pcQKQ};_Q{?(ũ=@@O VI<֤ǵZd'j6]@N?r_fnz*zit|]+n玕O!0D%W&9<0z[_O*5RVkQ曙N+?ӛâw636WΔE/%}4яHo'MXAI^>ီ~ԫ#t{s=S =j~MpUa6qg,f+>FMEkF/=r2(\1 bRONҪp8K{QWN]vvUh٪uq>bXTQnoAV^8({' & ӘGo@GRʓ+VT9wT+-!Fd[k\|Ҁ/{r#J>j Q$j}_,oJOX?ܡ/ CcspY$D/rN~xx(Ә^);?DY@kR\QoǽK59[Z+}'r@535nU9廦-3 !{{Y: |&Tu6rc5+6g~]ȲqKcC }&ϑ\O,9[WVD&1!2JY" |5 R(Yc5z]zn \b J:}lI$ƙw3Ǹ55uE"/%|b}RԼ : zd %m/vOүߴjһSuf[evGGY  h[:U)<+kX ( ̑* 12 |%,eAI۴0ƒb>܄^KYmw318;N6cq1!ZwS,B&O~T}à[˿wV 9b*c k"ȣaiб䷯X+Kzkǿ'DƁ5 ):!6XCdž|Fy |ŕ(׋DY"xt 8J^_o QZ0!n1ɘ)($m2\}.uIUhAqAݩ˯]dHJT3 :WuUruǎ ݜ|ɽd5u2yT K>.%Zt.3P@(d:=|끞3"W󘶙51D˧_`em9dk%|cG]EQKvh{R *Q{}eivBRx%}Uw2/y TF{Odݘ[tQxǁ20;Ԇ}$so'GgOc }2;&èŁ z)˸0N/ePBֹs2i_=95H{'v֣}6\O`S~o\&nX *tȠy{к=AMqÛ"IwM΃^p?"ǁ Űw >T.HnKxOI2`0po\ AV5p!S''͍H&|^JGX?\P KY{V7w!E0'| ǷyoVM~FڮN-'%n@(B;s=cz8Q<}%dCHH )(ϧ f,І/nUط]BAls÷y$9&fJ>]_1n?5:`}YvlUnʣLNiO.ٙ-M>c };Ew S~LkI/C=&)dffs$*9{\tө"FP_b]$1+ ^*c@}mUcU#(*Uqf'b#i1FOԩkj8jkqHW1|O%,>6B9P K+49򈚴6ylEA կ$a6x\0W67[yrM 5HR-DRZ$XnUt|#еŏ0f_n1Db0)aSZ+(qg"}tt^vW|Z/,kdϿVe<qƏ ܃-w͠{.)"';2B=_]Fų`ƌy9e4>B5YFe{Q0/kFyE (k eA^p*3k!x"[єǣv#6孫tu2*X[? Z r{b j/ԮD }oL@-z׬7ĩto^tBus0zM&;f7Glؿ62$˅3/H"#~bEjnSKk&τ <[FĢ~`E幡0eAy֋zpIaHNhh񚱰m;kqD ^FIA 'B\3Fl.ljj\.@W֟5J JA`^B#3""ġ"OMsY$b\WɐSIET]X–b\u0<'lnOzq7}x⠉R"СB\VƙwK/wtNS2O`#+XIwѩ8Fn 2{}d׺H̚<BIWYɪP9XVL4 dNUC=`xJ=5pbbӲ)[x #r{ 1ǿ?,"}p\\,:+{7Y'ԚbJ`.IuyZ}JaPFyy x#s;ҌzVđl"r=PMȗVHhirZ*'~G}QC5|A:=I#l+kPx4uЮГY":pk>{aBXj}6_(̰$+c{.S|+9R!1zdaFd΅Yd D"Thv9̣@|'z-3$_}gQ4vGJA?fR:~R*R\jGv$c~S;I7ppLԏov>[./ccV UUb7q%SUP "Ό!jhH[xx55ԣs)f?7dU:!a쟺 6 )4|Ǎ tf>K= p)D陚xlTe6[*.lEV, eS_X%ZSc3As{lzՌgh+Y(Ic7M6x(O@ݫǦn@wFjs0fK77ryC^zŽD%רFhXf*Kݛcؠ[r0d"5[1Ѳqظփ'h# 3C%3xc $X=dezq=Ο`Pkv5("GLoǓv.WXan[2#9kWV)i)*EH@~ͷ͡3v&m/tl9)<׳=CB~@3eA,PG\fD!^2EͯZv8?0[=gըr{ꓺjQ:4߀ #7RZԐ/gn/6]{y<ĝ|faDĦ^>_!i<^MWbĵa9`` α mC,6)?O@ӟd[u>CC )ss\_:yeC'=GGz|چc'mߕO9.wF]< _(;#eӺFԃ@Zb2* *){1шgQ*yEJϱJEtfhB!c}(bUq:cn笜s-P( @aGH_*4<^ 3@Rѻ lf1աV%t|zzt_N~+7WS0 ZM1 }hbX25$sX3Nd2}h  s6BɧL/J>5Cg!)uVT +RçyBأ/Lj,DWtG4[q=q[&I!W m9x5Ԩ\1qK78&li劷Re`Lg/x5yINMۚfe B9Cև@xw#h.8mA/DefV|97]1R'o[>hG#.l158Q2zc48 m>nrnofʬm:kqSi!gj-+ty!Z ܫTW^a6Uou`":כ0J܂%(~^t >85K**YQ!7G.)'f˕Z}}Qtw ? c.j6'|)P)Ul$3V֚Һ*ּbx~!f^@voC/-n(k u$o%ŹSd|$(e}P91!Xᔝv d4W,Hʸ(Z Jy'_6n{K 0K=+@c5&*mﯝ!HHkb'lREFlêiIHx'Y lg98)W^~z=w&^J(zӳ i9']wK/S `Iq:LK$a WӪK Am_=5$L$X]k=MNKf ԅ6H:aƿvݱP5Bl߇xLnCV 9 `ݽ;?51odmRȲ0禷xgA:nm© $l_~.@GdEk_c9"%M|LY$|~.LJwDժlۣz>/,DGBH#Ж^6z׶ '`2i9Rʌ- zo,h[-wYj%R~;զoԏ0eu^J@2H(Z$'U5ғ"ғ{!YIfx祖B+n-Af;Ȏ9|$\oFFN.a7.4c_[4f 6N׹d|~@wMNM*nEDi%R:1 *)B,ok~{i#wM W'1dmܪee0[ggZ""K8s]E*vQE|ļQ!rwHvRŘQ3'! ext*7n'j#^z/+WkDwY IVCec1p 8~ng(K{$hlm)Tw}Q[<<^b]tg\K ϫs(yY¢7Bg\X*+]yӤ0_qwrrbQL(Fh$@O@y#7ۚmU%{GӳW') a_{.cl[7d+RWe>cjUZ+r%Tʹ aD?aߙ[¿ wC:}ܥ)UEr{hVLDB+XtOJbGߣ 3~-y)6U6]GI?e׼OgJB)HH:T hur޼S]}1~:ƀlZqbvY?33 GgCocTZu^_^2e,[?DzҼߧ4I{9/_$#_"+zڷ\]^B?ax\#,es~YBeܦ,_s'Q&u}1Dim cpBXO8Uo">|Zy|J.zxi !7[2M 6~ VmFwƗf/G2}dߒP5g(,_7kY4PccH<ꡒ+gt=2swqH.p'V= үXH OX\ev=0!ur_%{&(A$gK+PF?i|Jb>D2oCJJ#- tWgs Kb ފd1KCWA7ӛ{`\>D;yկ0{mVCNk~[Zv-@B2}D*u=NWj\vMF g ,0oX KCwXpNRÌ4(cbM1|8f(1Оx ~p5U o뽓U٠Le _wVA.WV0-=Wt&b,x/ޅ7+) 5/zL('G`k0܎,./&G~Mv;,Mqe :)/y FNu$ǒ`u4~ ۲?f1KHo>|QzF,|7%y;_يb|Qj0 ^z#Ft%9*lp:}9n1twa6lcYIn_~gj0O%>xj|uW7ҴބsKHycohI'4qLC7CJgBlt f)gU2UПx^F;0qCokN:o t:/Gd`Z^@(ృmH?tFnr\>d=<5O"/TYyG镂P8rb4W;PZj"*mZ Y_xvu=}lǐ׉=)s$x7d*͂ g@i/٤B.H?J9MI̚/O:lU3s,l/b@#03%@\NJ^ΊtXz(ST=º$ u)2`z駍B_ԍ]Q5sMH|nMOgu#1.ca$;'Y𵐓.h8vɲ@Z>z5JomxRp:`0t4[2GW@r0Auց/uYDS(CF{iǨě}3Ѫfė=d1~L6qbMR2Bza7^f (`]uCC$M 4FзG1 |lT@ \DZڧ}fyjV,%%0 }Ir 9bR>TbDҧ޸2Ƞ֔7#>>o6sAEGޅRrX7W7߷W |th:QJ BډSQ]Xb702%l2Cr,vG\=]K-kL/S d/(ȯ3r'OZxG6wNe68.w@)ѓ%N8ulIz.$cdPג(/1ƨD)EJyI]ugb)l|b>A{t|6rlP齠GpfRO& 5&W"_6dzDWv=ΤB:u40AywEMo߀7s|i rj[&KK!OdCZ9(oEpM$M3鍛8h)qRm9S)bwwkfN"/F{U[LUoѷGE:,x4?"8r Ɩ->mo'! ; FK4o].CyYJ6_xroqIJ|PsF €8]ymPhxzs<h/ofa?K5*Rϣ0"zzFЯ#zpr*:C/f0[[};Jbtq|x)>ׄc07]C!#,t+|-ˉ\4a#+!FQ1ڕ 7-т. {?aIɑPwH[eSWH.\^ vMҾsjpy{kn8;YyJң_'hLx9fB~󉽵vet  +1w.b>XYuQ\P.ICgT{fYU˯C 64 q>N& m& Xy}/Gㄱ\11cjoQAdCQN-ˣiЍ=_ rij±Dt ʻ0ժIM>>1as7 F#9ѧM: lkOت8Ҍ'PKp'.MnxO=Eb(LJ.Db-5/pڕ A2&/"碸a)~@I{LW5 xL-P W;%4<CF_%pHilN9{{pHȆ~Ӑgp0ݼk0Jpvi[]u/ .x~ɪ5gW6sٿuA3讕4ywOK%JJu+EY.|S/^aeA=1˔?V2lks$`^Up(ٷT#rnVGJrcU~&=OX薙Z*K\<|'Rl^`S,%MbP^YġWUm9 f7i}aq\jhp%LÛɃtT` Ni> kwqQ^5`0[I]+i!! NڛA#Jhb@H&9XU:ϋݟ}"!f\4 -+Sy.Rߏ.6S?Lctʝ:W~M{`Ve :[1tK^]3&H," |jR 88ي_>0Sgc2y]*%T{fكGfӏsBF -sOΑbWK63"~(?o,c*kW4=4&<K G~2uDk =41>!|p?!ZwiJ $"< _ S,0CW7jVm5R& 5HUrR̃yeش9+iR~R;ZL<_PIwW1'0R:ίF\ LqXP3<6X:~HJ{9S`#BZj~ 5? ׬}ڮ7 g0h+x2,=, Ju<,b6틔dY!K6l$Yo_r/b{_X']`B屃K.Osdž do( _Mi#7i _k8[$ wk%klǦp4 (:(W hڻ۪k|fRW/N<46>{U B+RW{UrV^b{TƦb DmfQ/M.=p\ޔQCR-'ӼwG.ԃ~=LM~ EtKӽag1χTf7:{eDJkI@ߨu2Mߊ0~qQʜ"(:۽@/2> [`Dut'?px(0}^ۑ2TmU[?'ڏ)3zť{4ÛJ⁨RqWvq(gi ` _nVR}UGqѨЕHI8WLEZ_"ZD}!r{GX* M͒^QpS5/E29m޷˰K̋?H'Nr4/eV e06r͐Un=kNT\)SP-|mB|ZJ­~ۏG% N1_[I5ih~hW" NZŵ\;mBA өؑ?~*Yן[]3<\10%JP@(eE܁Cf|Or1k\<)գTՒ.=_y 4J_/[u|oE~v00`e򃴇*zLR!.~>Ic~v["6f:鷕89d2{)xMoV߷~;8hq39 Ӄ󴟬UX/hB+P1*4š\gC6mcL-r|+[m3&()Sp'd0zQ-0ϊ1WP > ԓ?y$Aį[Dj|oK@+z\ӱ]#g}`'|,Ҁ M>:aky?ze9H_0,r {[('@ŊQd煟JGAJ&-gvMz+bَNo\KA܅`kL>} SSnG jeO,' # ӗ c>_{5/$Fh˶>ɂ𿤮$L/, 2?̓ظ_Ht b[I/z=<FjzE\|y+˅èN30V8ЏrnA7_sOrg F Wdt+&h _<+&!p`!<+j]wk= OD[q'ɮ&zA&6^17ɗ(h)J>8 !c}1dWYh@a<2իTVWu*8Cop =1$bC-挱dGlwT;hӧ4Ӹ\ԏUScndGe})Y7KwY?Ud{?>,n_(76Xݟ'IFm21R&p+Pi}"eI?wt3ʴ,D5')`DHW xET^c']d|@OVa:B}{M &`Zޗǧ+㮿|ܧڙ꿜ꎚ_%=༽8&yJa@#bGE*2dcؔ&ì>Y_.%%=6NbHHc2ݖh$1֘*ZDsw&*fIF>UbL_ :My8`D>wd_8 ŵ/m^oν0J&i6G'qp()v Fv>uRNs{oʬtb7c/j[|kχqZZۅ%$+>P?Rq~dRx 621vb'[Mu=Ap> @NF 8e6nكBI_vP8]vgD|]^[LV)uÈxtZKqNeNͿ)xRVųAЋx-U^RL H"\{)mC ^kd搗r郇oc}]W7oPe(CLgoMm(AGHYܹ Y–Хrs(``0zxXGma>hk2B6=ѥֱ .u# l[.yB`ݼG3/7 (aS9Kԋ#2= /܎tIQ8{Xc$-̤_ƘU8:*ȧ^0 V9 AC>||-IS0td9q.?XtV8i:JsbnE? &V{vϬo6焟Kdl̼ppse\ Vwg\ ly=tLW\{!gKz^a佩ZR^>{?,ѥwq\7gJ;%jc.Xm|v5!Z5:q`:h&{c[5iRoz;9ke 8>N41~=4aA)&|?n; h!dߟgRk I֟o4#meu_|]|֟ תz׊żO#+;wx0ʯqJz|+E$c*/CY,Qz1~?E; 7յ=/b„m|_%AR:<;q=i L w4D7RK/RX6, -ɻt8U~H$Re8hxЏߟ;ZtE_ٺgIןȏTFr :Y+b}p]){D$Ji'$b"š&2k -($gVu(\&}(x!/T USKٸ_5eKqŢZSO xe*b7UPZ_F1;3=~ `3fKIKGW].39ҍzaƆUyk%sv6*h0".mbM)IpNFsVya?7.*>b ͯ2pf6hL$:wTkޝt1ԞX~rWMk(\Rne-xmy^Tؿ@FsY5(NS]osRŰl,yvG@)~`~_msb1ZL ZIa}K&=*/#b~s@V״J$Lϐqu} ]] 0IQי+j9Z[`yR٧Z/ [qk0^S]U4uJ@}Eۺ#]o(xޤ C3HJBVI{~^|L{թIVR&-p2ay;D_2t-4ݠ{= 75&}B.+݄/ % q{>εSl[!AkدJcӫahgyeﬞ)Kqli hg@ۇbaQSV~b!wUb J`WyV|ΙPfS_^Ùw`}z-zLvw `.Ip@~yt9R@撟R0;-'o5z.:}STd ]jƀEkKX^Y-kq,qlnR3R)urӸXwz]w/($WF+yZ=Vc]B5,4"x=oKz7U.zR߃Wrd#^5."`P 1V7Atʔe]8X7=fE. smtWW4u#zI /Ö/sM|,=Ч8w?k6 ¸d!*H9w6">]gqU^\y s.KFv+pl* flRBB #~wb*|a!)_ҥ2ݷA:}AzlJs+],QV“)RIQ0>`6RТ$WRj88~n_xbOIVzT᭄_m"4͜qR{ޔ{7[O|m7-)}#r 1S_wE֬ZĴrQ׫o!T 7 c/7HҰ7{^+ ȫ C>p\Hox)wefeK%A-źya&gYB8cFn9:ǯ")x] 鯉&vd74rMItHT[yF0G[q@\>I\5xtwbF}iY3mh"_\m3p@:BOH*_P}:>E41 ]ັHQ0as1|Ѳ7>K~٢F PgI@PE Ƈ“_6Yʓ@>'^AH1t&/eMe_><#B,_<#>Ȓn:gV?P;?J4g"-''Y] 2\~j) Ȥ0mlgu2AM,LTJIJT gd/.s6/kbkDi #oȹ"ԥH CK H[K _H Uvqx  "&Ebm4 uW-=;\ҶK,kqiYLa{hN"&n'*Kg{i!@1%Ԙ34qXm4G*-C<~]ҭńfV. 1C&`~>~)Ssh ݞ !dI@eujO皀I=i-7Ms%'|7`K1 6A@Uޮ`QXC'Q<3j - -DWK)Wt_UܙLBxyV fttu-)OID$X{?ݘݛo^~:e7D7Y :~kr˵&|_<3A\F Qv^<-XLҨBEK$Tv0qZ}Vi+t$Iq}xVA$=b]@+H68p l5`' fߺIkt>QP\mF"&l \HD=܍z~"L K^^Wj;ʨ~.EUTo_^IYxa.}bO"4gvgwh }a)ޥ`v'si[I }*4Kh"rnY%/{qB4GD+C_ ph8_ OZ)<~^pFz y9 ukZ .dzؠ qXiqb9ADkr"kF~PVf<L\!X%sK13]R误B--gj󤨚<N+]H/T55.7d^H9[ h"0<ܐ| {[? } xU*9Qmh9ί52&-(ۢn:/՟!&yt+:{oad-·˾dMm /.) Ne),~L`Fn5sBb"xHY' \H@OS1bcdgxZexL&'Q~utyh?J׾g3&Gȟu2Ѳ^{P?]L/k; ctx_1o^.jbxGJo w {,PXtg>ģ~5+,|.>K5/qp^nsx6i-{cB"m+e~CR5 D[ 4ae1c..BڛzP\"~.ܚ|F[RGq̣X/Ɍ:Fb)UWb|^w w0XRRb46_wS9OSѰ"^(Pxd?b)gJϭ[*Y 1ĔqC?ڎT*UR[mx=MNVc4k;Ko1`)i!`uL0[bEi_RZ~t\ ,?2˾y)m qy ga5}ƺ, ݥ&8Bow,fNo@䳽{#E )c.kKT;z~Yc Ro{P=ýp" tҳl|Ų~Eqasլɝ&jh.J<gvQ$]իQ![SdBF%|K!]YfF6~^dhK[E_D/T)}&ўv:$\Kꁇԭ@Pt'<ݶ3[{ܟ%ǭ:&&lT7k;ݏ̙HZVx/#urڎh,=_e+ʼ޴U)$SֈQ ? QPQ{WEI+t$ O!BN,yCNc3xucFUD].wFpEL8>/q'Ol+ zǬ^J6<<~fgD'kwKi sl3\aSY<ﹸvr -LϽ/頬BF7{e@FePs&޷.Ĝ_3>(k!JweuIIJ8u( mbDjmzXs l{e@TX/]9xm%W'ݑz0|^+zB. 5UEuĽ>VMKEAF*q($KV8dWb\&T6$!UY-ޜ* z}'ؤHψ1kOtj~Y7 O=zC_CҐmB +tQbqo_ׇ38ꅽA0lp'h>@`~Py|vWeMI4/wŎP&ytpxn9$r#]򢇤 3wP_L_wx!BS G=`+.7Cc X~Ph!aϑd*sku`Cny/2::wZC>6b焫G1H ˥SPkD{cOgLs JXiYy%swE:ɡ*(N|| 7T5\Ed`"?)b89gba0>@e씚zkJ)&LP֛Ү֯ӈ3Gr J1_@,qlls/جGփzEI&ϮZOXЯ(\wS72JXr?䩿fsmrqئ=:ZvʹtnRmb+4]늼YZ Ç!^~H_^1U۴[Yqp.y:&j7Fq`P2eO("|9}DINc(2#Ƽ BmA~J%YэQ}Ka3+Zr׉HV/}qÿG̚;Ч{^A "3YSuφn|iUOZŤgrײ)b;JO2ɫAu3^͟K¨>xlն7G4e3f*_1ҭ W:*ÍY9["SEE[CJ]ZC۹~*ar{"Bf)%M{'ePE %AO`0AT9qKaoo\Xh.D"p<`(K $C,Ux"pe:QgICW'r?$ʖD .wSÇQeWOssM.}ra2iWg홶1-yRSvsA}*8W,B6㮻 7'V0&9R,)-hN/bИ*8Vbݛ/OF<Ӊc:-^$tFbuM֢UUDg7LD`UO$6 F*tU$~aX*fr{]` 5$SmxҚXRgš Q>k$~{bWQo(9'kI7"!.R'`|v̐rsTq׼;ȞЯ^>Ztf{*@fR$/lěKxW|dh֎tԄ pb28KKȞ.`[u0%]˩ֳW>]vx ld6 ;oasWԇR6nb*ygl(5yw񀊉aQ^l F83C, 6 s׼#fWD%@a~R/¿l' 4{m\S@R=*TCw%l{vc*ua -m] -)}M Yyv8)?߫ɨJ8AA{g?ũVivFBN{K+Xv6+C:LSwQax/L[%ku7nh'~yg;K;3OsŎ6!US[Ej! LcXƒ`G=T2}%t1EnMkx2;x?DJpFܼv)x/ޞD_U WAsKj,O7Ɩ?nkR&S <z&+rJL$c[(S- P9p$elAЖsAl#gqv$&'9 >ۏ#'e&"B%e9rB_sv(oKVfZÊ&K2^o:0y&\WH_:t٫#?¹xK1O"P fl}Akt2Ð%17Ƅiϒ() _ŴI`*s֢N"+TUڇfGi"@KT ѷ\)B宠bk,G0=?|;Ji9mREb Noxum[UXc-7WMUU{HRrƣ9Q! *\rx^ij{' h*هH{"݉kIdִ$uUF[y6:=jiv-oCd)5qi]}pGoZ﻽^Ea_  JVzW)sƾ&lߥ|ho)PBunXSzL ( UNNO!C:/6"!_i1/;(6lKyĪT//^IVs: )wWXjSw5S?{S0fÀO}:A T/aDaCb?C-fu'ePE]mmu#8)'i.Vz ág_QWAzZl:0Jt5/Nb/0( "lbs.ekãY Ϳ߱|zt2 8Nvr-C\cz#\Bp}Vhߖ6gJLj7FW~lYq !K*=aWQ7]!ss]Lm)o+"{q[."ZlDzv4֩౧TB7/\_0Y|sDb НYQxыV-}쒼n):f%cQ qGJyIY=>ƭ/Ft66)B,n1qz-¾8B>]s3e0 E9=LKw~J-`y-kXF6%3_=qz'b2;Hb]lS +p6͝ fU}YLuFDYざjgV8666;SYO5RQU\&2 ޳@Dϭ0܄jV8/| 7ܢ*1n] -DE$`Zht@%LB4'X_3vlx]%8fppL>B)p^k3'ٓmVCxnCDZqEeVsK,8^ZR2e]=V'XZDvL:pb~3Fކc?:G9{R܃G\O玭 s67olޘب ?uPپ_E/٩e4!b|( >H!?ڣ[6iNӖL{;?S nt]b=K_8$gO]huډ'&Ó&DGRۃpR _],*Zi\q.BUH.Z&N }Wz4%K==#>/jPP)~ v=L[Mu|NJtN{t#k+a2@?/L7houH;l1Wl+7J=[ĩ;tϙ,Yلg"PD=2/hX̺@E*v4نA˔"rֳUD: Ay7o>r%V&IsY܅#}z(_eԑ'" ꄥ&Qf-߮bD"}6xQBVsuYңu=Xo, Ua!V ^B[k&)NWL[u|/1rt>|l:$z{ͺn%C+PSD5Dfu:&`8z6Dz)?wfG"QSc]Zd&f9Uu9 &vR{Qg sQly~a$ Pbv3_.7hNcɸuPG3⛵*x`Q"g{52\;&|{*lXSw_&7eAh녞g":gULxs[s(O`c29ݫߒu{2?N ׮%ܯyD:%~/kk7 ^ǘ גR2Q?ᛣ߿ xZ{fo' n\" 14 {^Zx=/4y n#by`Ҏ֠g$u5m3(%gl Va6u5YWbm}tX!) 8 _Lcb3_M@h:m4yr %p(+sqs[7{%7p><*WLt'ʼG,z(.l uξ/ ܖvׂ&5p3`eRX"Aكn3~Rr|w[~I[iZ!7 _uLhV9fد*mCcaefayEuuңDJ"cARΑxpxb2n# nTTV$nyJ6lZӂ-:@ia~ oJdFx@X֖>Dӭ",3#+HXvŅ0_RO}+Es>vyhPy.Gy`T<|(+ACyG2̥PnX Iym~~j3s  'ncE\l$7#% /("h^F*Ukqr@[R4u~*# ?2qB۩$g>r*kOz |n6z2A fbWI4F(D߉?Klۋ[~5L/t^E0+f*F7}sO˹ާnAx:lQC `l+R)Ι@kQN헔yO濩AYK9H'otNrHyog5 6EZM :s@ȧ[}I#1C•v9E;T4 x"'}_Ό@QM4ܾ FX=l ҙ B~XV|(MFҪ>Ro8#g3蚺;gZtULsdۨN2ް0xSqmI$Jǚ^O5<ZlIwͪY|#@Nw\,u<C&"RQ$3nDӔ6o؃G*i5g(da(ҔSy֐#N2+=V~y>x$ {qi+DFCN^Ds$(-T>W4{v#—: s( Qp}Qx!;xGB{-xl 1gCl*f0"}dIvBj,d[42lxta\ b<Z/VX#q$݀tOCX0aؽzoӶ o^Frv}Rdt}, Py_1lߍ~1;tSsL4X(Rk|d*@T]^4ǘ@8rNE2Vŗѷ(Mf S(č{/X|7zÿbq(kH;l/\4oՃtмd{-=Ϋ鼭nhed@tcVG/2I^.~HV8PRʛ ;$[JMvG.XJqaIN(0RF4~oR6 ڿ30~n K,UDN*^H2gC)75Xܐil{23:LHGm &kj$7uQ_Cl`Z@p̘8 Ǐ[)W>U+Z21fwr|6AZ|1[M1R@m-_ycoh'%|$LFFJ 4b({tRNV; 9YdY#)1'%Grh؅! ƥ] E;6E\yafTKnQ (o2yZKcQ-JGk|w]6+ biHiw.97g$ajx,7 k7_k|E2JC渾~!9~1+Iώ60{>\HYz&_xXF0PV+>ZTJJ%`u?#VܫիU牢_"ҏm$Z6}H!bqgW Tj&j6di[^*:-G}˜QT"]X?#,ê~+4OrAE1&5\P~WE-)#+j!"my>J@1Dɂ{=,86J}T3/>@d ֙I9}4s;`D;m_e[ؠcè\ƗcN38ӊ %um5 ӹseq;l5xn(՗ r07,iM5E畾^l鉯)%6e|7RDZ[奄{|i&oy5IHcIH0bV}ò_]N9:̏p%gTN*=^BttIy`|/26z^=NZoO_lx$ !?/sQf/WNQPSV!fE~EDPpR`luGLËo"$ͰW Ы6_dFSPL.$@-xTT3A""9.xsţ %U-s =p KGJ9Z%r*zސ#i*äMXt$u=&l6PE,$"uˮFfltRpzGJPPڻV l&ۨ?W,dCG_ԶqLY)u΢,ԥ?? '|*l -HX\|[R_?J_ EFPDG9)MF}o=t ?v>""AxqtA?6۪ڔtU0;p[)d<񘅡x )2'R! ϥ+OY.)DZm+=dVh6b[=k҆ hT46W(eKpyϣ*Ԁ/~&{/[\'|[v.5}5v=KDW~IToCZ2<~x{P1 hdK7D0gX`#3Er-SqIϦ_aNykRzU%ЫWn0<0,WNQi eTa^>zcj dW˜" V 4~>=fSEVZ!TF {/մtB fUb|$?IsPŶϑqTgON~$imduE:Luf{1O%}非X[Y!Dڣu5֐V|/9??ϷBK^=]8>R? "MHYJZ a9@)O#}q_|LWO%qcI8KMPl/hgAwZ01]x؀s8}ߡ 1!aV8fp&pD{֞Y^ >l-v@[㎘;79 )0/P憕v( t^z0e+5\zW5Ѝ*׼VGy_w^[UTs`tA~$$nSőV&Ogtx?0̫wl{AMPFP4ҦSK$XÂ@;늯:rH.}=V__͙Ze/az &V_~ ce1s游ʢpu E]RW!^p[7?#M4~?Eaη޵G{ 14؅ ,܉g\z$_??|RRU6^p+ϾQ7)f[{v2*/񗏌KI$^`ILm<¾hã*y\~'Wmot쉜)Nqo V#Cgȉle#tE?D%|nAJ6d-๗HN?+'v\o?F{\6a*s&GXx̟U}XAb+&gmb0e`B(XnIYZT5nn#猦EM. _ℎ^aCTIbP%'J,8XI)bX.>Էa5p[f9A_ЅxobNOdYI{s>]wzmM[X[r1#΀|DloF`O_1ݵ<j(4}ej}.862zӕIdˠmx6fm, &__Gh$!x*S1\ 괡,) `GXkz#`,&ZfYU]BD ..oÌ@bnPs1ń'Iĭ@o]I<s>ug*) ȿup@3b$=B%6.M?oT'[ވ|Rfo{}be! KIh3\A!)N#+V]1KsMGJ:g}e,QRPc/bG_@5]*:[^Uj~{,1<_kN4kxqWH2uty&H^3Ek%5_.Ɇ$=bi!<ph.+s!5Y\"^FY]jdM6sB}-JP2GHM,!8]FˡL孭 P6_֤9_ݒ$7~LXП.]`Ѐm @pYdh# 2c+;J-ڙG,A F#D P+  lwH mP}NJU쒉vJH5mfQw_+tй!7ť)ߌ1:#D_X)زW:h.{$&y$ժuA~_&|% RNmUWnʏ@*:_N418GC\Tj4:[Ǫ9oNDz9ӊLhGG.^jZ&]iJoKnr;+=Q녳 =CZ*7 є֚JrGtx[>.ͧ_/޶W/wHpC TjFɥzgөm1}8/Tc UU@\{/˃ĐɬT>mks+2q]vYUmU  :F,#Z˕BZ\XyGq_YT?k`r?k!ԛ27V:PNI{N#5*Ǥ ml.\_^@DV{K,g ߵ(qh}$w+ ՝Z>6/pԔjrMI|o-%7d*PZUjzZ^[])^+:s[:[V<÷nAܭ\1d(Q{1V/NJaq7l7!#%EhKdiwW7[J6~^،`s3QF;{ jDDyPMfEu{?}xZxߑ׋W iP05N;G/$fz;AOr}I)IE]\YX9\1 yt/rJ 䈽'#W7s^GxŔC%m.{wTMxY;W C$GFzoU=AK;=K)|uvx+C *Je2&ϙ 9PlVgڠ:^*RdEƔExE2v/%d ~)]}(iLGh =Jӿ墇4\*8TPri ~'bTHߐZ_;IK2-O?V"g䮙E}e#RY( 0E8]+u瓘.;W)%Jd'F=Wjd\0G1)%E%ܙoRI2?J6LcPxjY k'mg+ϷoR N f"P (J!uT:~No;+X>=6ͥE*fBp±\ 2.MO#ʼ7t0׳|~Aʠ\!}-_$#2܃8?75r7 -,\8XC$ ۊf*t=ɺΌXGHn(ʰHvA8s0>o$=[ n+|#6fS#dI-.5\`47ǓYd޳ 9asxhd/63 EdmL↼{@#@QY*j3-pB_X|Q_*>&vW2H n-uTCF-[ߛ |Pm(5pR;~_6^'[뵠"0(%-W(L٢6g > 3~/7@\Μz62[D(P+<+W]h1uyhDFOBWYd@E5FbQeE Bܿ}QtIjS%eͩ(XM)<ɧb>@굮 >O2]"|gkD{sV!]),$Ӹl$M%hWgBDKpAv8s6g5. sI˃8zMk?z>ov+s'(uT{j~.TN8b8s2VvD8=a7BP}f`.pߛ]r;_NХ#gt?I?+uD"O)p99-1 ~_tT3㏖>MeNj;ɬ8!H|ШI!eK/l?L{&Su n==сmIi4Z=QdA])ۀNJ@F# {\;v^a ! e^*u!lly6eU|DՐْI㣄**.8y;U^'!6U#,6yxqd̰䕯R0xj6X^?҉{TQGpeC+2 !GoݬrP-56ezslKbnHn.͔3bddX`ZL.:='{*^xd.^K\3y :kir}e33)MŹ7W΂ҀZ៘1@?ݳQ׋_ÐdzAe]7+i+g]WCZKu{đc:;s::srqKEROޢ- 2]lmh!B  W1{} ~vDNnV0oEQab,AxOג1" DZQ^#si?i!`BER_duC[h1-Bnzd+QV{eW/+2!Zh`֐k!҂=Ϙ\}^x$WzwcUe-c_$𭸏95 pg.mc{LK?'fUG2L>̡ɏWqz{ NoPS43@KS@>HuF曄+[ m+R9HS,_ *QLA,=pn4ve 5ȻPq<wjJbS(Nnz%k%ɽX[JE@Wæ<1u8H(V"@ީOܲ5[f1rЉ蕸𢬓qAJkS*tлt*0 òl$*TqϏPwk圄p ~a8\^){Gam_?wb_mL. 5Gg &^csq<&k'puG>B~Ƅlg$ G?3H0k5,gZ`l {%y`;I؂0GeD>b=4]s`B?!R `2MPD">}9ݚzePa[XHjTkh=Q%00<)JI'1& *Iu~dSbnzPNesʟu 0ˋ̮61Bqnaظtik3fXݎ47OTn$|)ѳA H*bO'-,7{JYm*iHYhp9h T&Ƣ RX’>}_13a"3 6\amʷ_=uSrH\wtCАz8x^)27S{yΉ7$]4xG/>c7My]X9I3$fr}#)CqK"{K>G l/xXٚVNRsp6w X/q >ZfĊNK^c?Ӻk Ik7KEq4v$j^( :Ł­綃y`]"RA1eP$_!r]ŒTޯywUn*wiٲ%"4KM~.Hz)FIAH\SD}^S'Gk0 *ݾ95‰s¾舔9hml9F„6x{:Dz Qi|B6! <;NޫϿĿzSu0χ| \to>ݑhFZ߿(}bGdg4PAgXkC 5BΣ-[',nwè>i= T(iwMd{ ӍVEFaUcQu+&\JjP 'w)ԛ#G_B˶CHr4`QQmq81㏖6)*>cݴ2`q̿ѹ Jb6r3M$U)oCs<`=j lD̰tєаE!wGs~fL,gp<'d&X;jA$d)s[EұoT]΍ire+-;1T p` (%?Pނ [`yS-f[.ْWV=1 [EkWM8mRZn&p9iAT<=N.?PXȀl7z`z+PB@#/p!Wb'$$C^g5t0}eh?#;Vn{>מg5k' fj*M]XB8w ufS!` H}CDCj xEKaςGl5{>9?⹨*p0=Vz8wv JsݢƵ+Do9e5gmmm톡aPTS-L䏱l/ZrKOZ:/ 669GB?gOU?4RJ&+(o[p0߀ ~ڹ+4sB,i]}XxzrcM峲+P)rxx4Kb|Ǵf\]{ .uo㢀rfcW?`A O- ϽejJwGAHV"܈V}8SF Slڪa@@d<:d+-O>_]ĄfBp"l]u67b2LwGh@xr}%{5*]X/&5!jX'V7;0}:`]0Wq(q!WqVl l^W{@# :ZAyK)PX=,]BOjtxj[!D[٧m(J[}6&א9RKi2@N~G|oFwʇD~Yi,"Q,J}G|惘[pȔ{{-g%6e6G00nόoi(\5y;ظuwH,< e|WG*3RL\jsU:RAnop f>ݓF535=.W_c#oU4K.,Rt}8Dmv6PYPԸ z:nm#'$7dtΧ/$=@+}oU |5pƈ(H;CA桖]S}}qr/u+ W+ytjBH_klX~}A#؊,F7Q"*8%>Ia@I_ #q _dGėƻ6Xɒ6 2J"?CIT8t/l`]J6heu,?|<=TFQv y{˙,ǀ4X$I+J,.;}b "@A~VSCR 9AߡwYA\ˮ/ Nv:[Dʓ={ә|EI*!)3{jT>&L`7KMT5\u#r1Fg?[LXԠ&5mF[ua[f%6F}'K~oӺK9ܧVE $49z4Ƈ´d)B ^Mlmv-` Q\4퀡P{ҡ5URV_2`"r፳ mj#/hy5aE2)!m:T&zT85YÿS:˹̜!F*pb|ը,[P%tt O0|<88MCLiM οO79$Yr.Y7GGM[߬h6,Ho0K99X8_]m?.U;:>x;X4xG+Ud QԏQb#uvw$Km$.z{;!kYIrT[ۻpu/\Yx l܎䜕Ov~DD>#Msx ܫzB)M/|hc@f$_$ pXގ`AN¿K^s}7LqM +}lD> ߧaKȫW5;E$A=+- hSh¥>&Nk6ٔA@k= 铹ߗ G CL Dӏp81qZEu٢|I=1QDk<"9j߇ş~;@0tt~F0IiO4RR 11qA+7Kt) (]|zkhz0seaqvBK9+bi1EQMAfh < ьfHDQ)V<apr'M"c7FPNE\^d&L6leDZ*φDhp'2xE1o#{Eeie=kRڑr\_sMfQk0٠Ԡ3⋽eܨˁ8XGbɦ1g8Wϊ=UQ-qleQh:9wgY+oVq`X{[kqO@q5|+luױ΀ /KzSq[}ヤ*7,+^ّͮrFG԰Dncs۶X>Ȼ=@PY,l!VXiHtCTޫ}v`uj(`L ;66u-cv;X0 5N`|}~ WKq Z +.kܧm`!XIC T, 8/$ &XEVyVxd%2YѦwI4>e 0A>1>@|Vf +'1̡`eӫpٸU(0]' C/|6 gw'Kbv!C*iGr?0UtV !:O0o jF~yRf8. fĂZ"PM{fZYw:Z%byƩy͆Z;NoӍ2sz.EQ2fgտEG|TT 5ȰSMjkg\)A\m~ "dm)Pۯc2;'98s_f<p-lٕהv~!уo˸jf֠6ûX(a}VamM+O SlGϒXe3(lF:nVGV"{R=vPe`/nFEڭ R4&4KQ9J!T5 `I*ކ1z2KےRZfۛ$(xGI=6@;nNf\F>h+je[tP)G=1CFLlš#|UYC#cɥQm>`fr |O=Ľ`3K8M! d+vUOǦKON6}+#lzH ^As3bmRJ`? sd ֡b.JJ,jayrC3dVi Y|a8 .XVT*мxaGYO@hkUhK[x^{q]ugʓIbbpo:!: CnkFj@@ PY)5[zx!EQ#_Eg8d!b#`#_wǡŶw@eޜVI.{̺z]gFTeKe%9Fĺzo}ݱɽ[c|^\Pa.TfĂUPm |Q%"C~|i=э8r24S0Ge_p\[;x. G˓uPS[C΋OR nΥ:+(jK2H;*G075VJKǵط 'ܸ;!XZv1!smkp.F b4S 5nE|w_Y"Z o{óI@`4wv3ڦ 9Ɛ8Kw(9)k6$x< NQ:%p:32kϼWUwHA[h}ܭJgFqvA}mq*_@ZE4<4)X,6&L{k~I_CغVzނ):38(7u):Wiٳ(vPvϔ.orr-{{a "Q<B{5W*ǁ>˒wG^h+_yp88H]]\ kE:}1FKpl %tգ'6J%d]/_H;SgBS]M9aXoQߦgCCsIѧעRA}%ppYCJZP Z"BٽLz2P,pR1ӵ̛heGCT"/ɠ;:Nߑrh6S"wklNZ7`kCy;).k^{&ƋY bf佳=ywp5irrdPG vmλƖ3Q=:U鯙a]\g?%W&Uj S2v V+Z ZGlF챮y?IϳXr|C ` #p6|$e?`O8DsQ)B3Uv8j_ {° '!Gv^;mS*;D8;y<ڿ^uܱv#e'@. nP dsd^[hFnGR{u'3/je3kP1ܸX}2#R;iY NXT NiV0[+%mF$5p}-U-MHWʹ &kV2>ZHq&WaTpSxBO֚o0+8uq g~阄J[9,G8EOylViH5ƍ& "qM;!Ħ5I%s_hەaa8`N9wƄnп &fr:ZPHv.xf} /{ 'Zʤ} 0Nk$|TJ?)."Qi+m;6] .d].Oi"Eg,)]Wa!)!-4>el `ڠӳGېYX P ,dSaƕ#!wGC15q#]Xjhq~0`ûMVn0ШYLHbظy޽`.)y20'Оަ2RwEխcrvJe*oUȯg=mhJ3<F'þ+Ôl?0J~W[[m}$C(^]kGrf]2aDʰ 5k-$ksDX A#jUhc9~.b|dbf/]/9Y ~]QKSstp * $CjJ3y`>SDHFK?F+~}K99szC\_WwgҴV YQ4+ʹ&b @UhJ̃},BSS~rYˇbT Z x@zUC楁MeC&U} B([4emT})Bҷd)cї\[gC1Rˇr ӕؕvU̜Ya]bdm)RP UYѹVmx#;.R)J"QyAk*9<+ R5qϚwwf/KsĆ:wH X9]J5mS5t>3bSNϟ9Y9mT^,D?Gi x|5OZhݱDACs0fG+z})b:}-VtI uo^| GSd;32f)_uWPZ)5Hh<,\s'"Dw{?T(Lwsۼ_:C腺 {utr#6ƮI)|:[Pq7սa7 @t.g]{+64xA]?[ iOgNMoړo 7an@P ۨi>%O`~ޣGy n֬1'LsZ!:hcvZhaEߍak*h:tgu55)O dP|jn>a8i +6aRڕړ;h9 7dyYZ|K|J꿶(,nS)9\)O w;|AWDDPtx..*x{;οulB} Sj>ނ-8`0Xh/m{DoΌZ\ Y*gA<@Dk?zNlt 4C5xӧ5C\o?lKC1 HmDHݏ8G-Ħr:ڒDf HS97U! "cQyy(ЈO䅎$y a/ pZOto7Sdw{;gb3R*'um4Giw1O 5aАܸ׺ !_VÔ=i=\֛l3kW2 *xf1B$hX'gZLZrG7$`溊,ӝ(+7|5FȞ H%!q 32O,[~?HDkb{}fڶ+|MGB}ٚuYFd~7=\ޗ4?GYy ;~Br}kxRz+A!͡16=֢MYtbV TtIx0un[B৲ԴDA$Qhs_L2E"#bNϭ8ӂ BMd>. fz~ӆmSK15urNv T~ҿ ֶ?$a[~5E'ѓ?p'Ъ@C%6K5MlPׅ3'R=jhߜ|[.?xHIɗ$sM/Z~},•7v/QS#`ٔL44k,JHoDᱩ0k}cr?:v|QVw.B_nfޭYrd2JK1LVuz2rk-Xāb=*Ĵ kS <%v8jgFulwjT/;=iD r2#ځ5=@ 7z^g|6Wh9ie6\%߾woQn?!WnTBU=fd-lUЉQT}{:ͼP1-2v< _=6ZY'1ky!șY=\>iA Ɔ#aU2:R4`f,<2{79F}!)Y<j FCgͷdxFP-.Γ3(:]aw97zj.3b-}x07y|4[$盙仆zIl R&tήkbL8:Lq}-<6j`Hܷb^W[{i qWҙ?fhOh;(0urīB,߭뚔⼙-ޡŢr/0vޑ~- :pGF\^nqVfkSFHy U9)`Ǚ#7qh(&rm1DYB9v\ m,8׭C0Eb^)Eui`^ΌO쉌A[_e 2A\."* +#5"鳩TVGF%p{d?ZQ k7 *|rK|[EIDFmud1׺_wΉzu{UA>|rgz#+ '`g }a4o-Zrz.> H8omLKlΕ2W34t6̉s_C~KX¢0jj&:pn:ATQK~'!fRfOdAT9-k6lFBܤRlPو9QK^L8^b9WKne"~ULxȗ|ON,=Ѻy,Vw|0z}|-/R@׿Q|n s"P:AشgVr~닟s:f\an+euqQ];5\ݕ_t83`a2)'I׾k| ~9[~-Z?qdFGi `z P/ForS-(0 tz^wzBJֻ6#-(U9(zZê4=H QM sG!PFt dZ̿ {pR|aC3!P닄C &6>p$d9)gDJowq{Ý;pcd]־D٪,R;֫%bWN/}t>f8# }K)52 {pACCFLk4NXCNhK=ovPyQ'5[`zgmۄiֿmjGlj)_2L kϨP"9X 0e`O=4i9l*_^wQ&"$½ T ե @}v_.eҽd7>JG/f%c_Jl)Zzvd hgD]1UjƿDъL)o鈙MI E'iC4s(W>gKբ~Qa,cv~,9 䴢0hgpɑ vCn)f3"C61]j햂)&[LXg|s{CTT]tkѨT;*O{݊VYFm\=Fs>جzHr 'ss6R21utS; Od!,b/ p帪t I(wte]~]ј-ZRV_^LěSgAƪ{oKe;RY0ڃ5e5 RU|aޗk˭:dK[g!k6sz37z/6b D7 c/S֜Y'9Zߺ mTb.ڛ1.t]I}gjh뮨 enH _0r$pTv:廔w?j,ípᐱ{tCf|g(4J&C0E0R1U0RSZHBS3B|/M{"q%uL6, ifac C}b!rJQ;d֡fWskDkGd'PWT>_aϽ3kl5dy3.)}m]0P؏k܁8pje$- ##SS^=Hw&Y繓jXN5ЦÂLfdq~rd,upA$\P"QeKCWaςl`I&I;r&_j-}wK*tN=Z;}+$lcT H!?</ᇤVJAxiķŞ؁̧/UpF(\__cN#PG?}P*:F\p~f6>CyDt1Z0 m=I? 7q~;cJbUk%|"Bde\EO`]uIF~Li ([۵-F{5g@pD>C>i.FW&5(kI$m*O2c^_#qå0 DGD6(=zl,P&B;WwEfBeq*{5ӖV{|Kk>i][<(0dNxƢO:5rY\flr53nɫrfA>a)?>M @,6ţ# grhxD 3(M%gC+ lDz,V vG:KTLѠtJ8Jҩ?^ K~h4&o"If(%Mx6ISb"LC;_DU \}l1O"EQո/a2i.Øy*YhS/5=Dln@rحvJR2-`KwHXڝǑy-Xt/ fڼ)܋Gm^Vj>׵H.41_}h_84"P f~8+NpS><~ :*ޢ+<ɭ?m]< |ԋup)ݲhωS1_s7,Qҿ9_u2FkzáWQ>LjGW`I[*Edn)ornj8!@IZ6yňe;>+u{P5~:wKL=W߈j=5meBs8w3YLnI iږzb.O5JkX{둉΄Ct|u^Zu/~gu}ҡij$70(H腋"qphٵnTr7_5oB;0؏/gJ Zps_qČċʊ0)JAWKPڰ5L[r $ppuNi%+uk$0ٓmfRq7BwuhDGH4_cTp}uUG I#'i_+!u0݁67-O5|^=\kK>*;#yk}bYnG$l3u|٬])n[#a-UK$rO <^lj~ΏX\S G;&t-rM*ߕ#ƜhM Y\ L_z1Nrr.$wӧi["qr2FӓǣdZC*]@8) :et熑T=Q`&`(R+s_C՚6oЖϤShwҕqY0a-d?F6Yw $G,+?/9F{zߖzOz'ucex``w1#A@-7.͹"!۞:&zsyuuqtB\Bg&d߮iɉ"HA3M>(r(@G]PPfW Qs~'>ͬq|}o=&s#| 64JłN~ 87bf=ZHK 8l~k;jվ!SDܔ2HS6>lM>K=U樮1weuj﯎t 3r%JTSBLsaS/#:+b$,A&C}9^{0/-覝1]|RKĸ5_$wH ;\Y7J _kRˮUyEzyi-Gق%MJ]j}5z%PeV/J']{)P;A=f ʿ 9?,l2QZ-'F#Ãs|g%'ѼzL%>5U'Dt`mO1NWSGjNa(%.Vz9-[ݐeS>~'*,3|3pA *j#qr\'!GF1;SHi8Α]'rߡ$NFlcŏ#~?֓T%? )G "-G3}FĸQ1xIE*+ߺq3i|ֻwvgK oc5Cx_9NêoWVOJp WYDQ@un;S&B,^?u` -7@Ⳮ($/dO&M?( iK#0cf'P8ӆf9@vb85' <-6Njd')ůHxb1*a@QUΟYq>u<k'|8?>X4`)Q/I3A2=0{5Ήm/K靳W_r oL:R$`4UT ÷M}k_f #L ~lLoZd@D>9+[>0 TQ Jb#hsb#]X$mDvfly陜qDn=^^l߲'Cm',zT>#u·(Bmu*b{̲] Jex.|@g'7= /iLL@F>Z:'"pF;n>.ݠ@nyD)]]#A#Δ#SendzلvL1_??U (`uuIE3 3o~#X#|l2p $c:]aT/.ow8؄{$. *FmY㋁B^'Sۋwd(z5bG!&.Ogo3# q2~;ap0&x4^w~v=[H~t%[>5gMhWBdeMuo3xǥha4kgQ!Ak6h JFyͩ˜#s :'_XK0h̃H.N>:êHW;l #!v= D)X\XUyocHsk!'Q<79tq^rJζ>Z]RYL YbZ君ա)H! Γ;NƓ,%qwj2pW62, ߃`Ө ~4V3,XXY_s,-`If;1GG#DTKp f)\h#At7H D*sW }>K;R7kQFtC֞h ~4Ud{76bdk@4~WM?G>o#dcp Uԛaqv_;@4Q#Q<.V앨zQ-TA̴Y Ri^NCn~iUJ@@v^{-yKU5 4ҡeƂ^] 2NFmaBF>*Zu=7%ѥ0[>h*f㰖z1s)C*^xEb_/8i(P}F1ba>uĒY0t:bz&#+GojL\"Iq X#ƍ7f9j`{w"<!]hȳ&~H[7}Af*kt-qBuOZ& HD`vuADž@hf}wV$?*~Xfbeyy@SXޘw<Mipq10fnڥm??vA<}@| iŖc ߀<7o4+גߘD:ۆӈ7H*1;_؛Ug檗U-ut H]  f0#%6* X~dga&qk''~d6,~kĈHgj}y冢Q@^9Ϗhj>s9I^ݑb2CA%nL?PD_29b%apI e0r68F<ϓaldGNUP /3@;u/}Ja-XLj&@60De&7oψ=Ո|;BlCIsj'f{䃒vaI:\Gc8}p>_,ܩ! a ./2DcߖI >#۫6UC C} .Z[~E (v4Cu7/U]Ȅķf]N >~!r))s[BS?AdC@a53_=.2wZdg=Z ZO3I8I`%Ÿ oY'fЧi_]0ػajHAJ{;f@ȩh(~S.IAc@ "YDtKIh 8(ѥdޅFN"09TUT>$h)7^9it2&UF M7aǵ"aVgC3YfZL]$D~ TjbblYz 2( ǠlgN7:s+xm'heC+'pqFSH}V"3++~b?qpsjrʋUd3>Hs O}Du{"WYʩwgvRuxY A{qT~kCaP'Lv6V)^aSD".@h"["8>qal2Xgw+Y~~D=8f2L3PsusLqRpGcYurQc/ᖫ [v4n: [dk #d`@֡bSĶplh%F p*=`kX';Ixe  bt[IzǠWI#"{- zңBn,_O܇i Wbd[DO?Cݧ{4~CIvIlSM{VgUmh0b7~ޅp{.7$_"q|Tػ\Oqu&Eׯj]@V6]c uEoL0yph,XBha#,ͤ2Rښc],ʍSNQYYa^q-Ram_b#`1@NNhiaoc ]Gm.SW)E\_F6`5HMSh$(lSuȽ,}95RdqUƦǿ'sR#pM?g5_ܟ 6)=|lGl郎7_S@~hYya|$O#VZ˼ec74^0 aƝ}5d 0ƴt;ָY@' do^@S,}}wT4&ga^~o aVcmG.lsv'v۱S bv>cAojO+>e^RP&Nx뻿/ )irIZj_[.ѿTò}a~V_4ڴ2t7a m=. )C92Zk|?\(TJfpPa`wf])),HDct>[Ïw*JEcAhD4l5%y/3=gKq)Hfɐ ,<9N黺.̚9*_'O%|3sF2Q]n*m֥{9Ŵ)H>$LR)@@M_ a0"xSxӖ@;h3VEaxl^fЇx&wڮnuSo_%6݅y|V>pɮՆfžݒ)悛{f!i K}x1vE`<$^ءePNR̡4uvav0Fo9 펢N(|Y&I؎MFH-!t4W>Vg>%"gG-eemY1D=8> LM1(PuL,~]ó 4MDۀ':.fn ?w:CؽRm+o}lO-߳ X|.RZ#])Ͱ:H !GO"2#͟r@"3_Jss7Ў3,Xχ7~Wégu.xxL/-GMDH&zt%]Ì NE:RBĺ >"}Z//^Q|[\W 7`oueD|+ޱxlߡta0:<4 J%hQ]2 vQ;?~.+ãUb(y%-m z?%4fqtf<"<ԱC-DQ݀ίQ]Z4tu֛_WTx?H$di5#ltu2_ gj+"Awa޸u%0G|3D\9r}C2++YX?gH%{:XC7Pޕ/r,BUՐGpYǹā'$ǿR erNzIқ0ƙ|Kokn LR7EXo Ѩ`E0;Ij ʜ .5O I㩱q(zz<#0גcǹ;wȜn_90Ջ{y0a [62~ 2>Ĝ-&љ+ >)As.)>f54=HM/ tɰٲȖps4?@t^Vc%6?3P o2 p(Cmyv#_K^ 5(;aJ]OZVaʹDaZSpblG1don6)YJ+Q_'惿}gcȺ?}"(pwWPq(ﺇ }Jk7gS*OS3)OS`ߟ@)q|.IEGT}RzXtO_^)ZәjʼO=rJv\do>e:/׏!Ӭ$6oig:1=0I~ f3bz}\f/|xL|8Y=QovR}{[}y[#Gˢ|㞕nCrҪz83 Vf'SCA=zU s̋hk-*.xt:f/wj "Cz팏Ё`R@Q{S,qi-Y1o2JVS` o.28#觬FwuTʌet;L%)̐J[4l2q">np R֪%?q+—>>P4 l4B<{ҼY<34䉊0p wlM5 aUał;xشPo%0ߩZ4/+եRL#(D0"Wko?)M1񊕹ռ)ov ; |[!uݔ N gFm44]# 5B[VgΊpR*ԭx)(*6V$̼~U{ik03x6:|+6wb\G:$uTc e; s'cjX??qMz!XjhLwx}pdžmVİC_.P{ly1CW%tHuQ;ٗ K'Љ_gn`ys Sy{{URC(X?U&Z>dFmPQQP,MG da&Ϝ'jFOy FV(Gd(S16zPo+ZCbt6BUE_j@$yP2)Zf#xn^OELSG&99/^ιר96$@_#=bcqM~FA Զ%z+p@3>Y0J7w#ozogK߫(WVi[TK7':):@=TjS*xdv(S)כYB]_QJ=T޾`[좌Fu,@M>", ω5X_Y=m;I3b OvиfX/=I]Ϋ%f[\[CZRG՛}0/y+UJ ]?_ިG[R*D~4t!PpȪRZ_-4D?~Xм_6 n8+O1뺋ڬDڷ\Yqkwu-:!n^>ִ:xu|%㳖C}o4*s9mZݎJЄw98ZH|{7lSiVO,Ril-I WjpN/?Y췐`y 1ZR4BIW l5JVJhdWNPf>o.,VGO]cV.ǻ#{*VK$%h>Pٶ6#{,qdAW.]qC! 98 /ǥy]گL͡c!0c ѻ.Ę+Ɯ$ $BX5)Be<k&xgl,XsordW/v%b#G 1 ݒ{KO{9AdUVʵ0TY b#-TUiy idbo~4q|Ki]Ww[xmDݹk N [ZšvqM/yJc&kbc| PaAMQ&: {xaJ}&{V)߾ /*4P &6H8t?蘽~o2)YMå+@⛆kQxl>BUPt7H>By9(_ kY(bf6UCwoa7G G/z ]lydT3Um<w9k8# C3QT5[3^kWƛ x"fXHGs8g ($ hʭ``-*T @Z0CݑSFt045h0 ܂o;yGW]˯(tu_FwZ&9c,L.],?,4*""avH|8& ;<^ ^hCF۴k]p@+N{\4YnKwSbOKU'U;{P`u "aYm) }C9 ނ_M^bM{ eH +ą"qʆĕ{DvYIb] Mm0g6~s˭&ԡuljxކJ]dgcs+q 3$DtBpुb +c;:6u/B4#5i w1ox~f:Uev'ޚ}U :B8G X ^˜-є .2FA]jVci+Ч<:d^~gĩZx,|qԏSPgC{+JK \ɒ%aGl 3^Ia ׳k$֓?}":;dy}r"#{AR 3Y֥Yu~ۧk-;5DK+ Ň.2'Im_Y'~d@J[";l.c1af\#² n=EEJwA JvsU/NC~ZH"k\QSƏw}OFS/c|3$w`*ap2҆5*{踔}>̻vɆ ڪ78X;y4OQz>{g<O6N|L08/n~%ﱑr|5~uy>Aw$N,Z'õ 3ڽ[R.wQ),{N\2}g^lf^S,.S?7c[fH*i^tc{% 1 F\@_ݽޫѮ|{p&w t( WŮ/js6mcV DrO n>ix{ѾS5ZE Hiz^$ђyIrϯJ[iE3a hpg^.zB w1yp^ XnH([9X"Zl[ d6`;AȆ^97Pťt?K5Il99oϒ20Efy% -MNUQk O#2z?UQZ-?lws>VꤋG$51>gWVyI}e)x9?!ТdR6K7Z"Y2M×/;%tӕ 1&gX2g$TI{@-ѾwePX fp IP5l`JM%MQA#\.ӏsfVRcKU{HQ^BKY.ObSUPNk2,GdhjYgc;P7 r#|f*7],b) $guK-sN>笅!gl#ޚ$I/ꗢ`חF9G9zc>i.7%Nkp39+-rU<X%9Paǭ31>,hN2q^DDӚyݶHT<&hY_R B9>E1xœ[`%g釤dtaDs%]/rg9Q]QaߐG2CW"nŒuIO4`~Osu 5eaD3"O4_Ɩ.]اp~l܉-]ꗫHz%Uꕿ$ ͎-0 IL;\cadiYKn=u0l Oy*|/D2Ene =]Xg:f\^yњ/;ޝj7$sj*81THLq U,P-%D)wN7g|wi!@m\\& &t?1HaR4,-|`ouܮ%o祾2x6Lʾ9pUh@ z)_ϯRN$(.Al,$e-}9q.3Sj2st .X(iyF~w(2d<ݷ>115 QmPd&WYtԹGp ś%-*e$4:q{6Y0BBnD/N|O=y34d: /nHX #cc[K.*Nir7m3Ř p^uYݍ85XZQ~fkƥINsUТ3흼5+lb[z]u$:H5e7u6Sbw[Re9k-lj}gTqq:k9d]4OԻ=0eB1%Fb.,;bt(ۘ}v*;Eip.9,, ~ze5:|C=nĴ3H0fdso:۞§o;msÏ/j'^"cF_\p5>N ;7!7"۷Ծh|6̈$>u<=R'Kl7S#9v$ۨAFawnOɃi!LA~# 'k˥ @FL" u3n؍nB~47^dE2{*<@}vMjNczb!k}kψnfw۫tǷ2R7 ټ~!ZZTx>ͲOi{UyS5 E6SatR6Qa3Ivr(oR7[B3n,7 #z䪬(10.l23/LG z@ Ŭ6TS!L YEx/͇c!7`ޓ &}ٵa%ZԩX͵҆{9@1noub]ᗳr0`uxDT:6:Ywf`~Rs,*O =ɽ&xqe›㠭%ǥX]S=Kd:V)ςZ$Or ::_x \2!&7]fIqNɲj#L$3Y7prKqR!ct{{Ǭ{|#[k4'yXY#K|>K:09׾L%8ii@>J 2ȧ:1}Mw]E=1/[2*Wt>jusՎ]Qq%Q\Z7Z>oR!w!=S'pc7V6F0ӶU A<,,%>Q=vUǁ`jYֽhT;F%|Rzt{:6V//6 1R&::S^~MœË JU],„%Y2]RzRNU C–ǀ6i RP$R5]5ZN> N*Ij/,ND¥imFl0|U[59;R*yʣHU=k+nÆF*y["D׵`AՖC\x9e]8HD .X˃FUbf}43Qtţ8 !Ǒ% *SZR]OdGjQ}׭x<|OXT\^7{8=F} f,@o0ѣrx5Ć2,Zo #[jptGkCF\u$ s z! [ciY=I/ZH,eYҥb7 `xKvZ8c똌/_WS?i^cӠ=t{÷u7П}c7UNԟm/(?!|Je?ѲdSmg$LQZe__~Ry^_63CퟗoK\˦᪣rA9;p_7g{?>2$t}zc؏{K*)0C4E#??cᑿC}y/eW/o]I~͒xn1o$&I-1ZG֠Yl ^"_᥿I?%!! _Ķ?Xy i& $?B_Na$ !@ 1ҟHO~}9e~_cv&5|͞~·ohAaD!'>R$`?#4R[a4n;yHx_>]7ßRJ]?5&s^P8jo*e? }3s0g|X(At`*~d$e`Egߑ8 ?[U~L \\_?pY!FשaUo 5RTށ_^? c?kguY#aQG|w qoԟnοWԑį)r_Bԉ$~]IEl_J"˗_W)SdՓJqBqjY5^ AFQK8ӡC/]e6G}j_  W F:w)6J#gxu0i^W#VhƏڴR:}:g~fΜOAM_A`'}+6g`e2= *R >~ʲ~˯*9=LYUm73p5sub+Y4>iD[ΊGsF`t0֫ g%1 ݐqm?gwd,|cy<☗Ly}?e1w=B?{E߯~L2ۃyHמҵɹ=בyf{H9$,._0lIO2>e<2R "z\ЮnB;w'2}[Ւ-{Xre9Fd1 *:-a &6 Vx ͘cG76[_(7@@#rU,''XhÃi}I S9۔S} \wWl)E8 PS~8}W_ wbl@B$NiKgXr+[1SI=ULB<V(z޿q"V;"4ӈgcw C^֍C$.=bcf 7SF;d(4f ,3{)U,R8k)$ f&Lnyí0b OGrx6H ;Kٻ<یFbnYt!n2V0[PS oK!eU\_ZMu3Ƿs|,ep(ۡe"'v1@D%!*[:Q+{qsRoWRʋ>\mttʗSt~@qd> sқH# H6g4n]%%Me]ZoH|m2C/=r@Dl;[}H:8a`wŝb/6Ex|js.)P%nX؅Y}震Ÿ6[Aݼx4$ w7sNr.GU'w \qeDxBF1/ nނ "QLl8j3]4zJo{-15P}6Ra%lQx0Q4[Vh;$ ikQ4jd:+roŏAt*u/_P=sgH[T&mc]W7)qIew<4{6Vr$1L0a3@7" n \80EsŎIq)3w0/+V+(d&E ڂ3U5_RLI1%2Z-Y6LoGoﴊB7V9_JM8VPc;cPgalETcc떣4 >>UUVВ H%„1SǥSe \?4 lw|'_oK{$V4KF4~x(:Â3|$w^YCws 䏏8l:r\.J8$AXL ˞W&bM/M ߕo ZA8e)6XpU ! -eyyeg'D ni,Q>x ֝N$&bIA&>M5f) (4Aҷ|<$)o\/[]$>2sʯDY|c*=b*iT$l3z{;w)K yAd1X5/!G X׍,9B]|h?VVʳoޱ3S"/knS,'"}c.xs'0!zP rAz2lKrMsRc9b_vx>ne+ߑUvtFV^B@@iYa v_\xRb ^:<㋋_us7Yp98SBŨP{{H/8D!8DI+jjttLp2(P&gvlRT}CN7=Nr@$yt(HS:3ti PxY,uUxYO;` vQ޲M(.9 HuDl1w5/eíCdST9M],oDɀ¦) @ǖ1I%ݙO^F( 2H[OXT*CPKz/wo@ wE OWCcvvե}dHz薗 AO`*{nY]B ~VQn4holpj(悶 ;\Rwqf5Mw jcְѾ"2=`.7? AýFSޑF;%ΡGy시*Y&"7,b۷E7F'hY:EHZ}B|-8%bmEul"˳ 4߷,u[eLlMpT^ ~/WBݣj'3h =>k.㖾%TM='mqGV eO>U碳s> hyoCA48汣 .8-`p~0 ՚U 5ۅSv#MZT,QYZGspLiOv62k;f{KT}~,/[a>9V׌἟!{mYѸks-h.W:f:fVF" 6Fw??Ȅ_l A^tXBVĢ6d1_^įs`0^?ְx#HE$XbҊCv PZ^ DW q}bR$S7{䲜&>qc0^.>5*ZݫxrEP'g| z>Vjq,|HWwO>m{}{ܭG0%y+3xF64E٦3 qVfa?˸#0*&I sQXiZ >Cz|6RF+.Aǝ[cܻD{ kό"PsBۀgYOZ! 9$e?9W:w*/~<& U[śvՔ))8~ғ4.K 0BĩqsA}v!.=X $S"$ ڞ}Zz@8 oΣ./:)z֥fSUѴj"Zq8ƶ>i<щn!Жi>FBVaxM[.3mݙ 0a9`ȋ6lӋ]EE*rqp\K("v>K3ilnNxV9fؓn$S\dfԗCP8g~fe71OPeb]2%( ,Al{ۺ51dgۆY*k\/Ju֒9x;{G֥^Za>W PP[hѷ48A"K( Yv/F{s[X,4/p`ـs$ŽIŊaG9<<95. )6~ӠT#?3 SE-ڮn[i x Msw.C\Βӗ>7EbLU'܇RDB6X%(bS^2mcrLѕ!<u ~X 5DƋMcc8Јrry}pg'Iݚ3Rd#PЊ.E/K16U\F5/0(g NVsQtw9"縆#MNn;Ov05Z~%+'4*KBړ磖wͺ7ۉI(ul>1q^]itgs%,fH9/>n'I/H\SNY02 ЦƑ4SZg44-%D~7.)h\{dM*X0у}=6Ri)f8 7ǶẉYWgH*_Ld|tuCEʈ]+m4^j+D‚cDU}Tkb( <"QwH"~eƇQSyNnkt%ڗy\@R=7퐙pNs O^l+:uTu0mq^.#~޿3HMǤDY'y֋qfp .dj!T:c5Fzj,S 3|@nLԟ{^ud5:ox#nA^s 18tR}#wᆵ'qj9V3* 7(VsVZnma1P=!myxSA+-zW/D` bOwUXnm1*Jʍa lR++p}l}X\!T"<^Z>+ϰ) ak ^^dp*'9I Ytcg FjXL05VpS`2`t&g~ؙ}oՕRPg>Rto==X[ʚ^ϡm :I"fw9ľ '4*AУe"d;+tBjaN~B U;J҂bz/u8<\P6>Z+5]9$2S@(cEB=䐺 v%cTך́=?Kx_Zθdy`jdAzpH@|cHFw5xŘXyRW6?DŽg<,ۘ!H'W!s!}JjmK#2˫5!Fe7Di~RX;yYRV(P!bde|l"R4b6*2JK:]?R^*R*׻pai')I>C)@bXߗzC=>3DvzUWޟZ m{6FԤ4<ɔWܕYBp.XH&/%Wᴜr|S9z~*ī0ng }Ra Ԋ?vZXz'aiǰ{z n=˓?/=烞I˰z 7]Wɯ5[ģRO nj{ @A$t+dǛKFEW\GQc h)(Zk0#DtW-wE8zh.YՎ=n7߶pD01*N30 E VY)]δ3y%oEn^۰IƘ`~v"Tts'{mno'&Xɚ9۟6H`W0߱*bNDЙ8- 57Ц9W^ 7ҙ^]e>UmaDR,쀁0 |قZ{ ?ҋ5~.}(-U*"5QΏRJ_ú*D^+fCsz<.۶d9iegB&JҘNN~uMFSSAx~@zr1f;BKn>u>|{y+J ^ a'~` ګ,uo죧5 <>*!T#GtoeXN'"`LB~DC. ^J2Փ36xtwl$X>di8r~=Ο`Pui%[?v6WPAf2#kf!I)Q{?=|uetyilh޿|lHI^Aw .dCgzHZ4N=Vy<86,k>N 3RNI@ӟ 2JQuRz9C~ιͭkEN.Uc#bB|9M1K ңe- ip LSO=UtKϸ} GR4@ }/tiͿC~yD?0U4WҮ@25 3"`cI# )"B@ ިJ3wrsyb||;Q+Pp7Ɛ2tT TQS{hDvѳzҼ"DR]/ڟPXQ^Ǭ*]g,-{/x`=LHKeG=6+%{hxg."=[YGuh2r>dg!]±7rj &Ak)aYBTLjX F%/.S|H2W שLf5pJ|[(EgVp,?_IJUŠ)`P( /}pE&( gVh/o;@oDl=Fȕ"sNf?^65~*W4ìmsܒ )a#\%L'+Aس>Se&/- i[lPLUH ;gh.xul'RY-}cyٽ->ʜ.ۖp%[L BuD@w?_BzOo۫-Z2k5ήG0ZyuA@tșZ:pJ%<{Utuq+y0IɇO)߰:2AlMquwBLn '|85K**ߢθCdo<]O +MvRi1f\lNRt+6RE XfokJRC:/t[֊ LJNP),3o~'0kqCADS#+(H}cAy.#o͹HY 촫8l ؒLUz!H;B}>?i,t3XjYq_J+ )P%l{ aDJZ:ͯ4b2wput,/0fKVNSNJD;UZX8dhHᗾ#+al籠ǜl=!r/[zDbO$9f}_& cV]t(V/0:,K}֐0Isu!z(̐ %<ml>M~vݱP5BL߇xF]),:9w6_\,,Hu œޒDS ʂ;v"x=!8^2| !VX,oZc"y^-vaRּBT³nOPOu̳{ A[J{@r'17b?AYwZǯnȈď+MhWw7rwՖ-DS 8s-Dvh>S. MV;c~5J ;*g嘫Q֔4r,Y:[IVlwfB90Nc?LHfAl֖vuփ6AOWZP @O_/%Z<%.Km}cGuGc dYRP6&-6IY*ۅ$D`oen~yŊiK>}jsr S~))D n\iƾX*h&l>Н$xsPp ;9Ӫ7Sq-R+J>%u# *)1Bџ @7ok~ὴ &SmҪ7?2e/> ,Ǥ"%| \輦m`tQuP;rw>*DΖہNsZ5s@!meSAv;QKzH׳~YbM] 4b!~z$ @+_CISgȪ~h^5&x^MY4_:0dO/;6XbloDپٔi =[np`O7M@g(x=u1h`&Ÿ?v\WWY(2|qOU2P'7F-bV4x'LŇtKOv~U@2ԽuǣCz Fa5ߗ+ 3Xt0<3yu.?/KXF耓LK;^e+;Fc&ӖK< 'bʇT7ҴA;$Iz~&#Uǽl*I;>bb--zXt(} .clR[7d+RWe>cfUZ+rM'R_-v#ߛi,=ѳ*^~¾3 b_ DC6}ܥ)UE*њ)dV)A, ?M+#g[|Rl.U6]G>e׼OgFagP%F-B6Z{7T_#D-@9'fǚkƁ$~ĀB6NU'PuvLq!B?dfO>W Sg:Nn㵈>j^2 <,XD-3&W< 6;_#kG>ߐP5gd(,pg־ C] jE>lUpGJF ˈik1!\[i0H.c!㳞/{'oFS3^-|)%Y^Xô>\љղ+瓽xd8b|'9>kl_ׯMHaO~`][Y]*q_L\\w,z |뤼59ӑK˂9'0oRc|~ NGYoxKvBJ|Qj0 ^z#Ft9*lp:}9i1lwRa6lc<5B_ݾ`JQ}Ԇ,$ndYi ")޾֞%ݫ~1-݌x+pX꧳ P$햩$2(?G!OB~[u1$}~>4+0#Y2ƴ!,VRq1WG+I< !x8J Aˉ^Y0TKCkmw_c7E\?ڴ8@H)dvuS=}lǐ׉=)s$x7|UX AġJ~9ΦZvXQʹLڍ=(H |ga+| jak;ʂ 1s8:y f MU1oH|d/D8O.eM*_$HW2x/eIx^ZXGYxUiCWX"4DXT8:QpƒEΑ|)vX띃-PaicikK!w>C/乊V&s.#F9yt5"XZ%MpaZe^ނ6AEkP~;U q!VkVyu=UG U|6OWf|3}.₟B搲x~~}dq0L9 IX-P|"@ /m铞>3Ǜ3Ytei]C)O7I|Cv]8@ >XliuDWje9|bz$AfcqyY݈wGL D~c I64I*|-d~⪺#]VFOk:hcR[[{{~{r>|Ƞd/xSo&^o3壇,Ə33V"IZ\&tmdo 9=Xf|KӃMQ,a=Һ KEa eKuaۮ}ZзlwvXb!X.U.DӄM(#| >eƽW'Fgy3SfJvN3FIxf*BJSPE<"KŮlq+&mX|qyv|~K eRć T4]`pL;w#v\5\f(J5{L h>Ӑ6sh\!fXlk4&߀Q 3h"I!O>d CO,.EcpWs-Ϫ3X4Y:~oh]()U|nrªg_-4淟ҡ]3>F+Q&,5Q޽@:]>lP齠GpfRO& 5&Wb_6dzDz̤" i`S:΋ ;R!o!#eƂKwƩm.-%GVj'Ep-Z| MN Bѷ(-Ѽ;qu@?* +ː{&#Me0m hHUǩi7'UkX g/"רH=$2ҋ9_G3zpz*9C/ɹf軶vĦlҗz\P t E doXHZS=hJSa#b凊VݨJExAаISɑPwȀNZeWH.\^ vMҾsjpy{k4n8#iyY׬<-emx̯MR4}\3g}!Zk;2N[Q1b,¬(V.( ǡ3^e9%}|s:.s Ct;O_B[gu:Iş*h0Kֿc rL{愸Zx <z:;[w:lPSu#d{V tElA.b[M8 ;Ñ<^yw~eZ}1Gܧ0lsfBh09gwmFP .`u.mK{Aoݯbv|2Yպ\%n>hfߵ.Aizi[iv] 2KW?6@&>EļGĽsO{x2JfU2b >pݫ% _ޝzHInϤ 2c[Kwh.~?bzb)i2\: m᜞|xUv2 rpq=1'٪Z42SDobgiQ˅;>!Tvlpu>[ځ q=j^Cj?>HG,asֱ>]$(ye0-$î!zHH*fH*VU5{tgO7C,$̢k6ő8K:"~Lv`d39_*wFL/r[mtWޛ*T,-mJk\:z1%b i3UNiVDfXNR9/){=8|d@~6R0o_~D?j<`yuZ{_d}qeLŷ/6+pF߂Xa}]"2 6ȿ/G|?OmO JۆX>:&TDi:m/JbAcZTțV{˖ 6p]ȗKtOߎX|٦} ?c=|Ӎ+&[5I뗜Kn& f@O=D>t6<t&V2gX(2KHurRv]Pu^SGCm(g2 "E ڛ ̉Gn"x?^k8[$ wk%klǦ}e Mz~My4&Tmʵm|f%RW/N<46G>{U "+VW{UrV^{\_AML@گMǽH7|+DKRs:NrxSFiPwS<L"VPNfw05 .iNJD2&Ӟ\?3 xR왗;c+%YC}cܹʴw§ +BojT!A)s"Nl-YHܢ+'ѝ0O;0 L=}{ymG^ZtP=m5a>Q~,)ݣyTDE:>۸*,us1k1ݘd(kcVmA'"Wv*%~l^0?Y}Ԗ-[k1~*K8T@LM͒^QpS5/E29ۼ˨K͋?H'N e9p~2+~_2{ &r^fHVn=kNL\)3P-"&t=(,[h% N1-6{[4?D 4uVZn.۝6!xrit%vb'cG սSp mcuqHK_᪇x0qE1-Q*B+DzN4{BH(LtYgJO4U*]o kW+d/=TK%r*I\R>+h纥bSo9~![ ًn?|z6$|2zO~Vay| ,"gXm7ÅVb u8ShCi;d'l v[ߪ}ΘdO#Qt1<,0O+^|c=O)$'O%c1}+ӔXx<-D dB\z5ەrCA~쌾cR0S>`Ҁ M>>Ӧaky?ye9^0,r,[(@ŊNQd煟JGH@J&-gvM蓠z+b.ނa #,1i,7L}ۧ!>Ɵ4NF/|Hu~ռ/ze|$.J^$34HC$l0Oa~! %m& h5U`e+[^. Fva΋{)V~p b|ܘ{;[0~8P%Mb;2jҭbAʂEWLB['%CyWN&ג]{6oN]MzWmbDo:/Q"R|pRCb^5ߣ!? ¾&ˣzUj0|j񪮠r@бqAG=n:[.J"60b2 jrghԚ&wjr-/}st0EֿyK a8ZU\Jwр -#w6Bc฿ beZ)TY}R'/O}ojNR<DHW xE\^7);HKOFXtTL /I1OW]{bO8X `>Y䊓7E #ͭ`EA >/[8f|Ta *Fb-Mu[6'k( v(O4W8x+.5"8o? ސ4O[?5DpW4׷ *'$Ф+0gB0 XgѾi98>cٛ[Mڥۤ#֧Ц9orEhU#Dw:&?^_ŵ Bp_wmFoNsu %7 aꠔa7:~Y=eԡ 0SC)F3 SL_JuG~SKK{W Ї"ٱ @#bE&2dcؔ&ì>Y_.3 Q Y}LC`4ך0#Uŋh~Bik<7zg=70[ѸާJ\dT4O#0jhp5Eq4K۟Wn^%E4sۓ88#F;v_~:)'sTM޹=r7tb7c/j[|h/ㆵ^ KDwW|<~>y4m~<("ig He]ZJk[rYc&f?/29r|J$@K+a K-|ة*7o]4)w쒿r]'4R9-I#wHKVZXaW/pFܥ:84 Y^g?8Gh.\PQkԟԍ"kzB*/ ^|ăT{PHgMxEKAխGϷu ئ{C^K<|$ q>-1j,'b:E?ɫ cnjC{עU"9fus<-;8 Q`񰊱돸ۢ|dd)gli{!3c)"\F>ٶ\ͻy˭~@$ƏO.%ۧs,;,G,ev^ѹWtiQ8{Xc$-̤_%U8:*ȧ^0 SV9`xP!=fa |bi N2I.'nG+Պ&M#i.A̭7vXnV gAqI9J9#rz[UF}|bIeޣ3 v<<ɯl<'\$c%c#ˣrBO6X ~($f#y/Y{ɗio޵ZOEaHZz^c䃩XRn>jcUC}Z!~Hg.qΛl/ jc|_<ՄhFv֨v69sL*Nl$Ol:vK\7H}BtPvb }%ڣ@s.ʝbBq SG 94 :p^Ol8WT3F>:({yy7U7:YOʑFS2|OPɚ &ƆB!ZE1N"W׫x%^[P  dԅև<״JDLqu<]1QV֙+j)Z#( P7Dla^+l &\}]1LS9J)N4TDC: `( ҉}2z V"}V!t^SuOQM/܏v]"ƀEk7سn[ҩ #YPqlnR5RɊpi\ǸV^(ChףVxG B7ZMzXÔQߗVܹR=.!e5,4"虀ҩApM=@OS¶ bp.& ָ;~ @4ѯ S$ k⅃EqtmZv@}.^rK@ Sch^ =g4IKp^fMX =ʏs9:UxKKKQ-B]@Ce=e\Ч,NH?jF?9h!Br}#GDysl*ٰ͜ CB #ǯywb |a!)[ҥ2 кs*,W$p|bQlRТe4Wlql+ptN__ĂKԤpR{ޔ{7[}m7b-)ϸP̱ "1kVChbRUVX ˷V ^o2AaoW}WA|ฐS2IE%*˖K6 $Z7u={M =Vq6ƌ:Zr/괞zQLq-&I)v*ԶF5%"E~SmmŹ6s Lϥxn ?^PBϒ=a nKG om)zFRA+)v0twjF#YGޫpd1Jt8G,fB*NB%A!7$r>pwd(1Dox-!iLPS ӵ\̖I7M >]FH KRVy[@!>* X+pGh?gv/HsW ´=}G8 7 t0Q3)%~*YSQ,ğhV̵X^] $JH/+b aJ]Zo0 |-f?螿(_䪱9- udaYm rnrY$6n6ۈK 2ۯQ9-rF6|\ZzbV6S8,i=,_7'*԰Kg{i!@1Ԙ9iic#*ٱh0*-C<~]ҭńfV. 1C&`~>ޔ̩9r|JnO|YYI2C_}ezf:5LEKj'sM@爛@fmKn>l0"1r8 E*voW](bZBav ~*ՒbWKTM*L&!<+3:޺Ƃڔ|'8Iv"qkW{? 7_Qu,W?5Z/z~.ucs#xV(o;ONjzJ, P`D}iMeYE;8x>۴TrcT}xVA$=b]@+/tlpHHؔkLJq7fߺIkt>QP\mF"&l \HD=܍z~,L -sו2*El Q۹0*"7/ſI$Ԕ欝N -="dw%2qj\Vwufv0 <\9΄q=e;NȒh|h365N鐠śB[HSُ Ho3/nsC bV^Wi:XŊs> ,AD֌^JVCY1rb-xwgHvW^ S@2-͓jV,4?}`D>_2k k3],37o0Ȉ)̇":s>5x5 E%ahy3!@:QME?'~ dO_ׅH&TrX5r_KkeLZ,QE\!:/!&yt+:{oad-·˾dMm /&) Ne),~L`E ݨkR"xk ctO((J4dh!lb2o|AO!{p?*#`41=sCC{iGET=xbH#xԊG˞xg]CStv0ϻ*86Bq~xS{Dߪk `:A+ETecTc Ex¢>S!$T$Y1ofIsXB6!Dj!ٷ>U]ظ{)h[ 'o/c rZ +sqބ׃j1qpvsk!Up=oRGq̣X/Ɍ:FR>^<`0A N%-hmwS9OSѰ"^(Pxd?b)'%gsV_l,v`|ʿB?ڎT*URYmx=MNVhv^.AEcS:C `l!O1$M/ĊӾpUADY~/e%y)mp qy ga5}ƺYKLp⇅TYj =fNo@䳽{#E )c{]^ޗ 'wx;%~J绰y]](qbxO'ds^O⸍#Iy ^[qs7UJyS9 qކlp`c7/m++(׋P9W*؜)m8A0HJz&aתޛ8H_&*+D\`Tܧ+ &ϋ&=0n4 $z)KH|J؉yH4-GORZA#rYQjV6gHUe7 'z~E,~F)rd[_63ؠ ̆@y;-q#d o}v:$\Kꁇԭ|}ͤ!jY2/p)0:"&ıo 4 󴔈8x-lu[(q|lM;6Lz1n?{eVVȶVi sv$wN2Gz골UlϬo׬5@SJ`|2Д9S0Bk*e.j#a,{Eכ*dxsU5@b;OG6! *j^(ieSHP4Kސ @ݥn(%*,&>5o<ƽ DP pE_Co3+bY q݆6PQT"܁z-n1޻au.֝zD(WtR橏r\C;9XuWT~OޗtPƽBF7{e@FePs&޷.؜_3>(k!JweuIIJ8u( mbDjmzXs l{e@TX/]p9xm%W'2#da^9ɽV 8 o`]:_gj=8{wK!}J7.wVCDZ,1Za ag`_AfsP.ېLTf4{s0L,E|lzwgƘ5'`sE5,@{Q}= ١ٯ!i6o:?01s_~Ekprx1c'V1 8RGEm*wћGB S,{K>\#ry+ NNGEgg$*kH!u$0ΣPϠ+|sa'94"=$7&A1}nN|n8b2L~314<^q"$9Luxm[ v"ϱEf s;SBUbwNCgɁ|nu} ķ2pq"Q1L.p;o_M.^}XYUM,c%ÒTҳx]75_KAu~1˯:[XM15y=K5|`ưN& =Q/ Lf AN'QR5 1BPfƹ08cIVtcwgj}v0-9KDҨ!K'0~c_>~sx10jm,b)&Uw<l/1L~8tcNzz,@ ]*ʧiW:xiO^򸭛j\gFSeԗ\T9"(N1SxH.\M.N7fn/? ڷ.U?X3/)h۹~*ar{"Bf)%M{'eP ʢ%AO`^hW!=sNji(6E\Dx|69$ 3Q\Aqn.XFE61tQ#@ĉ +0tFOZ1h_/[- d87MO F]nl>m0}S5,|U"gȅz]埵gƴKM/o\ TwUĐU>1ɑbIiD uxTǁ3Cl$6aBR$ MX6R#";Ri /a.mPMx*׽ >AWZK[XD2g-vo# jm%{$v,@y#2b?@ʵLRn}y~1xc Eg?d&eLK߁yUzH&oOGM'(ÏO^Fe;P ΁X%j=[ySKo db=w__*aygl(5ywaQ^l F83C, 6 s׼#fWD%@a&f}a_GŽW_v6&) B*!;daGuTRY#{)b._w!<9kh[c*SJL Yyv-em5֟e3w?B|,DqO E;~Ig0!4’XXH/5WR E|TyJ>C$ 维53ez}'XS^H<'讔~B҂DA mYdԡ"o7Mth0 mJ _dT% =T4;#!'={K% ,GUwyJϩq0x5a:7OQzEz4}q`% Q\#ͷpHVZp#Ӆ@/^YkxJƒ`G=T2%t1EnMkx2;x?DJpFܼv)x/G_U /y8X X ϫo-9{L hUפLx0$*9e%cE S&p XO- Ɍ P9p$elAЖsF6 Y! [ILaOrj}G,O.ʌG N#K7!r媿 L }/P<ޖ5%k%&Md­ްuaL: DH_:t٫#?¹x4/O"P fl}Akt2Ð%1 oӞ%QR2?)iUϓTEZDVUQ3jZ9g -Q5Dr}X C6Qxjf&U$vW׶Q%%:{30T[U$%'; m4_sS߻q{ (InuA,)Jzij=E ( UNNOC:/ôWۗy;(6M}|U* "9vNg$ kc[ yf*Rs7~olr[2tDZn9ٙzzl2,~B)p^k̓~6Z!Y@!DhӎZ'mE~K)TyE]7j O)yYT1'~ycs\`!pk̜<~vnʥ5nG mBb+ݾSL[\A!,0 C:$Gv]d˾S]㇖dƪjA2*\·2?fh8P. ;}]G"o+caPӷ-FudNְ'ug&ɆY]vGĘUГ:ro+|""2CCq+%*^ZR2e]=իN>u KWf| tAH)".za玭 (moZ&lޘب ?ucPپ_EETM2i?Lz1q>@0ʂ1VY{4u&"=Irri`~4~|vC KV,bρܳ!AU<>[PqۅVoKNp|,`bzlx2Ѹ=dzi,E=׻,@}bQѢH -"T䒮+/ix`wNlQs}=CV*,MiKygBjKSȡGԹG',, „vi:@6)!14VQ"N)5Xd&,6S`"AF =z21E5dn8}/S YϊW}2 X}š$m g9fr:kTvMSGkF,+ 4^ƨR+;J$<+8;ji5.d59 խQ0z}g6 !4RD ]lI8]1m_|t>|l:$z{ͺn%C+PSD5Dfu:&`8z6Dz)?wfG"QSc]Zd&f9Uu9 wR{Q'g6^_=wIW6,Ӈ;O;MY9d%z"H}֜>cX)LNοϏD2kkk<" \t57 ^1%d:-~6G);A7%`AZ{fo' nL"q14p><۱$v*9z$`"UQ 门W&DTf]08ee=ܖn͞hf O??nwDwE|t[¯P[NpPcc̿40lS.=K 3cKgMmH~ˑ8&dS"ҴCU7:p&?]hV9f¯_Y?TЎLG:x%74͓ǂ#CNdFZܨHߩ[1IܪimنZӂ-:Ir40Q?J7mg2#qpb݄#jukRZSzQGy$,nP w b\DŶ=4bzA_@ճtehߧ\ QEucFU*p>J~!}w!h=,Aěіr7 Tɬ숆t$88N Qfi!d,ƬԎO2 :^%(&ZVb\,^I?܍os*]_K]cB!J4#_{&w_fБv?-v !joyR|ln_+z#b(J?AOoH)g϶&$BMU8L\Sy\S] <JA6PΨDj$)eAR)Ι@kPNmBJ<'T{A̿zd s7 Z'`Hxog5 q6EZM :s@ȧ[}I#1C•v9E;T4o2نˋ?vֿh})FX=l _3 B~Q[w~hU׋}p|;Gf5uw/QdaaMIHƵ%50+ɾkz=װpr&/`KkVb$rR㚗(fѭh6)MɄ u%/ITxy3 2O ],*>Ô߾0 ,3pA$J=vV^o883 j<{AƕMsE <nl;$Gu dxq2ワ9[~@n}JZS²])zI;֓ʖ1ԐhOw8Q _s{rF2Dlw/zyϠRa֦R<,}ƨ=U`6{1[m;KKt`!!މ "KHbIcM0bdmMm?QXչH,&\Dd&!|Hch πRk Gu./95a{ߍ͊쇂:tzH4]qDP?cQ%ž Xw_yszzUDEYI=I/A-Gg2g0Y]dP" <;%N1If8kp͒iHb<4O}xr_4]xjUX5ʜrÜ 22JD!&Zh~x^.#i6kyL^]e7u<6Y EA\"UQe*E̤TS 2U5<mArkQ(Q)3gyC ?m;seNVj (:>R?ָЕVSz8PdE&)18JU^] >qCQoRg*;a3K>D"ؿR"*>Ϧ#V6$R/Fp#(1`Htg,~n"dƐJA4/mAL&"UŊiA o/aJl$I7`̨Y^?wh[vHHa m#1Qd>)2> y]9{w$0Tݔ#҆x/aj,]68kvRQ_MOUE'1a6 Qo^iտ8'#8Qۊ}%_ۣe( 7I:kկ] Fo8_/rF͖~~^# W62u힤o!W lhZvia8ЯQO pij'8':?7UE83Gy^I1d K2:^FS@Ki;74qB-EbNm&Ӱp@@=_4RM#vf,MVpK I_'%A+u@fT pN_锛)OxNKVZY=3!_;u|0 !ɠoacr!A~2s>\CHGm {j$//`uQ{?4QqfOn3BV.tg3pԎ afm5xi!mz1> nBG^r8j~I״ƾrJ'OJ(H8ņ ZpƯ+ h.(*vq5b$}20Ʀ[kOJ(R/B>,&`v;+W(rGngz:BĔ7j>E;2[{Fs.։uݬ ǭ4f,&RR.p3`$AW+\颇j>"%  {ZoT7cy|sߨ̈ :V9dvNY_DDG@)DC|$ fWMc=ɑ /x$-E=S5,G# (@ ^mqt% 0K`+zܫU$GPc=>+`sP)=`萀 m ߫U4y7|,i-sWObKQ0fT(_yaUH?M\߼U,XoqiNi^o VS%!F4n>]~NMWGcg>oH S!TCL277(m34}v֞~`2.&jKt+צq{ nvŴBE^zMv,PәV{-8AF0T쐽NQt͔w(3p HaRwK걥~442K$!MN[M ~w&3?bT1,b29d{ R=sr]e Z".֓`zÌ o I[>Wy\/6z~ݓk6/3 z엜mܖ{JF)d8FFq@1Lм$Ja?^tuؠ~M-3>sMe2eafu҅/ԃ㍬D%= },C ~!6#BV A 6A Y2 --`1G=eNBYsE  %og_N,n 4OZ$uE?Mġhk/6Ұ $1$Adat脑^h슄ťj^}߶ʇgbb&kp( 'F:I1Mcm #N p}lw~a\%Eߒn˥2X7(D2Z$yj:<d)JWKNxݍ~Ew:o=53Dw%eMK1YhQ7D(v"c.()üЭ9 xoVBU̖&G5e,LQuQXEd,_Eg8ը ,*hrW,gj`“;U 9(|1}xШ|w#ђS35++WrG5iHCͫ|+pٕ;=dR2ӀWY nĿ>{[$^W !n)Ҁs aZA1-KOA5aydQԘ{xJXx~Y} !Zf[SI>}'fUבzO>r%F =:ZÜ܄"J I" qT Hpx+y EHiUZ +@9]{\>Md w"eܓ:AiIRTȣ\4h%hҊG9[I?zpHR9/hGlzީ^7o$?/[!Pڬqo9\G 7$sO15I7ORJW?L!(90R\涉ibh]<: 5`E>62`p5[F̡DVN#ǚK` Ohg'ehK>(.ph,/rhsszO9[f&~lsB/CW~ϓ&['3A[  v'q ʏOvpQ?S^q va8]1 q%yيZkD}a`BMdYHޟj,{(P]⑆ ׎g,xxrpp[HWT~H˲DwddƾY8GX5"$XF1$D Hqޗ'UI +Rt:io .4阨ؕ3_ pczmmPÜc1G#']rFͰ%\hq]DDOJz65w[xzOro3(z=E?/>Gs:׉US1Ciy.r U/Kk˱R\&j(RMzWBi-[_0n_Cp 396ڰQ>\̊5;Or䝁PaY%n2Gcqj}fvndGx0YO$@lgUbm*XPD ic= =RC&qߩڄ`-\/L65N`]lHAU,Ø{6 A&Dl[g>+~1=""9΀,ɭ46ML1LG0A|ϘCZYy>]ח՛B|*ElL7Z]z,gyM:@B/ 0Ƙt៥D>JdlK3c^;ʩC',SNaUfQiFbliM{+΂XH] ǥNa6(l:Iؿ.xcɱٿv5vzkDt2q1'uDӂ7Eiry(S-_PR$ 0'~jwK0ٲƛ5SxpQ`v=~(206Z(C!װ >;TȅhxHXcs?=CkOK@oVO (Yh{asg&G#b#iEC0a?N a@h;ę@+E yb5wusnԅ_Wl,bE8{-njWA)̒y鱐yV{MeGdh[s͗>~\މ/y÷D5²i6덞T/g s+$J=,(+ݿ7gi J]gCK, ,[|uK7`yWYGʋb +y_C⥬C/ 'C~0[G0pbMLwAi-7+vQLb'tK V{tR[h13!+2uჄ}ay}aAI&"GPh4E8v)=*A3Hl!?198yTg׫g򸤊d:jIJVў 1c78q# {XcͤOZL=<AyJ{ˣrn#-SyN8%o KF#Ch%u;T!bnAJ7-`LFy0E+v"_*Xrs!J 2'sϛ?GHhd̟ ѱ4VM$`{IG[nUIZRWq5nGo__E6N >=zE]Eoh-4n2d1HcA&{V.Hk;wyT͚* }?2nYh 8;!g_5Q-މ=F ſ=\v)aꥻ1l#{+R%u胹xRgm b"LL?/M9zƸ q- aU@{`r3A+BN< cCh w*&O 2*D|xzpIr^ۤL#/{Ufx\v鵍3m~n)>_x8Ktffy:{BQstDaTr/fcwvjz6'BR'M/^楫U>7xz*o+%c g",^[$k C0zo=Z&u" {2mH5KjHG>D~Cȹ,i |GYuDv* r0;[n:\Pex.y ]t¾A>4y-R?0`gL)gq׊mdm44ÖBЯĉmdK=x*ٛ^ZLHe¯4 }I%hJ{)L+Z_ UlaF2t=Ҏ̎qcLuՙ(}%y6ctm*;P]kXy ޷'YH,?>bxqAv< sa}x<ޅϫ %.ylt㐯e8'm iIl3tO5(SIFA>xe!ܦ\&FmxqbQ%}hx2닲~Bb R䞎_й^ Ll6\cy`^CI/d㱂9FP( y&N<6E>梐zGQ;ӒL+Tbo{#B?G2Gn3r!f.HW}6 U>$!:ֈ [[yk/EEx ѹIg}'p\z *(ً'nمI;ŧ߭]nҟ$*̸*TSJGng?>LdK5Pw۠CVDV++p%gyHLTZ5ne5Ȃ5936AUx:aҵʊ<:p[:N~8礯ZV.T?/$o6,~5??﵊A 1C*x T1}bGsӊ4̩^#,*B{;-=j6.,o| (kT y]MD൏`$ס}*nDZ@`ϼO34s~A`ll̺V=>FLmɔ" LywpUڑZVM'Awbʲy8"Æu?_BNq gm~~z6 ^?s?Eh6='B^b5f)M;\˅n2X?'RVwԧ|LŽ>M3 E[R~!e$_uڿ+Jct&.K.wmu I)XIq*@D[(ԨG(’/?% %{,5/谯{c4B?/g*muk8E"*a;$|)!dhm+gs!TrA Ͽke DddP;H`9m~!FZcKQ}cNmGMW4ݒRL!/s9Bn;LMJrZ}szEq׭}=H]nZqR lcy^쾮_'MŬiT ܃"UF71 +}ɱ֐VU5jA*)G"IB6 e;=Wa?d 3- pa4CPxXrVؗߺQb>N͕ࣇXҟG"oEh { L;wBF^qM43hmXi'덂zB0$Q )>^q*"2bp-icBF=Pێ?F_A6y/|BȄ[ 8/Wo ޤZzaE%{G5(hk&YVA=ex]j;x0dvU\eTn"BC)HJ((b;Wm^jQP(~DHlW5 Ț,Iپ qmq3]XWyEL2Afyp'zڦXѬ,?RH&D3ZWV!z' p hU] ku\E ^=胃bSv)9˗FKG kQ {i[\5N靳'I7 u͕)Y9ZkVGѷy"6;lZI|:;w PF2Jatc\y!ߏ4'˜fgf"3Bg/؊9ΩY)DŽ}HQIaM k?  \%ށRK%V?΁\гGQ*O{OP}mhJ[Bmu736z֍WMYp3 _#xW .H,_/T%ͺ?H{ {tH}G}xb4n2 ̏V?ad T=f X5x0 aW,xof}ʑC<$4{t< { JFGGX?`0n~%:eOSvr+=}x>i b1"mY=|LY<"_ (_p^šڷzW]\-'2s{_y^F$mĿs 4 $K}o4 4i^ ylIJ|y6e\jaLEgQ .LE]8uMq{E';Y e4ҺqqDB3UbW$/77$XSjW5_%7R{Id퓤EGx1CԎKt۬|-9J:zslKo.9xn.f^cN tҋ﯐^?t$|2}57DJg {r=0?wyERaZ8>LOD]ȳblh2.r i]2;c喯XK,i6V-!kf~ؿ_Y#IdgSowbz( "eHOE+ؾk&1}eZ kk1 k:Ԭ;Is y؂ 0 -, YNpjwrN_/ n~/"b 9fݬ=/Uwm^)]oO,(-#aGD>OuܽaD'  8$6[[95%#Z"31~,Iϟ+AWz~lOLblh!R,wEdr:ZYFA,k>ϲ=^K@(H,FbL7a~Y2Ne#ET-EwuPA)tjzlz=d 7+6!Zx׈¾C*`ݩa=G\ޟx,ܟ'%hEg]4Yq?\+{&mΌޏ⦰&mLڀi dl^y}I8C|4"E8d=xJ,jAZS74^ Wn!=&=#1Ӌj5嚫f!d,≙:H)'9B 5иc('N*> 8۶iG`}o |Vh42/Rĥ"4K>kRۍ-}֩~S]*(!n)dbRBrY FCFB(K/10An/ެ-ץA7q>+I +N yF{S,PK{K>GdYJ;AVZxҥhciֿ h) ]jқ)l\&LE*> Xo0 \`Hp=_T//mm%fZ\Cm1e{MY]!p`칺XYؽcKT)=a˲4VK.HEFEBpIFS'kQ>0:ۼ[CwXDыQ_OTLSXhmlYZD6T}z P*> `VX1Isu'׍__˩`] K\u@ŶXa8$'3a\dmoJs9 Āvhf?BTісO,r ɤ2T8eYwM:潨Riv'C\TQ;_e/93ȅBet#i%1Ɨm9ɧ$ƑO@e ¯bN'?^Zل(8},cE Ez#֎v;$M]N) ՝ 8xk`4_|&G5G-$87fJ% |wfƣB_GHQd@;\bynX<61QJu>4E(VWB^ q,#rF`]Z.KʅC-K_MG6t@U\FOmrgKZ[|}(Q.[Mtoi G&D_aς,`I9 vd"_oU3H;T&p%iOIxJ\7߆܍ a7zyi@ bӇ ^IyA.3;%5(hzOUb5r"5oA[t^L d<<1rw`(D2u#GMՒa sWwkTƉFپS\9Vn]#I8Rdi[onI'}c^ǙO,bo H 1L,  R$M1e{'[[.3Kiؤw qno=fj=r 4Ru}cАEY 0=AGc{)G<Uk-yLJ}',mhD3-PYyKAF {(9&.lrG(_x-V\m25KI:ˆVb"AJgheZ D_b;3XѫTX[Tv.[iA\޹C7ey\?XQ gIe@B_o]~IC׎z33 lZ9;^ڞ }ͣd܂m[9Jb,D iE&M9i ٹkS]!w(M5}{f-[;ZDsD@YEU^u@$J+XMͮWcMvq1eB786}>: ^B~IKY$%Jel]"e!emVMRƧWL\!5F(KTy[HvU.o3Я}}edb ĩy݇5nԔWk?ef [ O?1F>,)%SN8=dm|W4XX: ;YpMAq%Dj+mɨS(|>7\Q$Ar HI]MEc"ĊUSs7( ;vdsJNYeDVk 7GK' 0+4抔 Lnl˜8c|^BuDO5J~,0<"X ׯoU'CPgOd[l~x?/WC| H2meQa]K M/L!v7c>ӝob/Feȍڽn-VAL2:>fU5 /CrӨ+Z֤1ڱ]?<<¨1avW'ge5={#`7{.i#iOU:9-CgRTa[ )Rt_> 䕩7ס~΀tlk$VIhO*Y:$- ;v5 7 }Pؿ\Uk=曐 t|:I)sx0Rˏ=v$b dR_z_h0ԽO3kYo~c`C+O /}j0ߧBg!:^q¨x$)jZVvЋe;āichN4F/- ޏ ,8t{[َ.of : R`GlB6xFzk~ȷծT 9[CX̬"/~AXNH 1{!8M (x1| [;N6|aZ ]5Lo5ef%2w;T;/J&nyrHѫ Qsi/򳾚9)\~BP}bf[g{&2GXS *ͻY5sl6Bn!=^i0jR,#wr0Kd{H\\8lEf~C1zm4Q`sU.v]ΨSK%lmi(Xb16oC9fᾝî魷Ik:+<~vٚa@/.#R 1q_ f\-AY9&%08Έ.Ѯ6 ^Zt RN?. 'uC:qJl_}YѴ_c7a0^N!3o&w>>lUqV2w:Wa[Och42gNƠ(%=#hy\M _ҧROVH-o%}@;B%;6M?2W:Q:?}!6}bQdPM%oD8HcY=Q%` 0q[v4J=G󗻰,LL j+wBZgCZq` ')3IKx6˦ZK`0@%Pw٭%Y+TXSX 0gHY䑝Ŋ+7&Q`JV ܤ߄@h dlgmxڭ=/i#zĜ+Q ]pB(|[z V COT:^U {)T_Gpfkwud}XrL_6߿QZj֥ҽ)*vex7GkĢJl5Re K0oψncI\ыڰظuvRH W2s_lz z/FŘΥшmR܃JV6´("xNBU*bD)QO{ÿ_*!L^TΕ?:h<6ΏU|V589F>w:57F7xN ^5g!@D+NɎX[FnA>d @R!FWJl8uݹ+%3}{QG:}_)NzRs564Uz"̾+}@}-fKx4À*-L.{&dG96w(Xμ_O [z,Fɠ ^`߼NSF=IԛFH:ǜI,^ F< \P|A ̢%&3.% pGȯӫ?S12s>D9,%b5 zhdy٥=ڵogNB◟TS4Y풔4RQKrmPVALl4`Q,̫6SI`:k>1/^Rl;&]w[N l췛C&NRvGR_Mٵ6 S<ˏamY_v+M "iC^ ANYe\Ÿ;Tʷ~K0Itg%-=:t<`L|gR㊏q-sRP0 e8z聎쌭)bu5J cZ q1*)*,E|&x~4օoVM/bR"$V[!x _\ukYڋyxHK:0|xG E)v)?S`eFz "B] uw\٠>^ "_bb&fd 셈xuKD>9W@Ԓp":\l}v@kFh] Ik-{wzO#_t ==^maF\Z;I oK0F%bCX <1OUz#)?:-}9ӋaAk~HHO ͅ1;MJ Ib)TZPDll ,ɣbr1.;<ŖЋ8 sW7E/~ԖvE: a\rcQ0w;s%;krQy٩XP~όC7];SXlϑftp.;N!^ƍ7J7O,Mpd$&Co3}z)L_:M"yu^k;wb6'iGlXkgIOUm_jPyt,V MDoEb^U+>WO&Ae{*Ape[ӎ|jMY>_~`X}̖iqO@e luӰLt)6})꩸7HCⲏAYrP!6T72>9n[ij#m[P7TRBMW  %g/H54+tckbeI1~jI"ֲcRRsh(*RGu",%,exe<ıcm k^Ad\*W?8]j+mm)> qcP9QONN| c<h!IalsPFKhz@-ǹ!y)(h=+H,SuȔ'>CSdgYp FωTx|LC7jlPJÓ9tLEK `.:Bz5%= 0ޏ{.C/wϱl_o/NMY;*Fs>Fo'Em&0Gց,+ISŎ)<~vyj&b9 )ۧ!2p􁂁V!eNc> H`Q7\OY|NK.|hr 1b=%ʜ1 weCas5ޥ4Rv]ae`YdofVЏ D գ=W<u x'SGV]Z?1P2Wtw3cbAAɈZnnI|ۋ3i-T|bc]Pu^? Ժr.YAzf~[<X;*WҊUy%oIPw >DGЭyݳ3<ݰ 8ܴkc.,&5P~"ҒD 59%hURAxhh_a)ngQϲV9\e# 7Haq#{8[b;QsɼE{#盷`99VqX\< Ebwsic/>h.XnįίOtnm:ܶd 5Z7 ̑(ͬyI_׀QԪŻvD&Q4"@mFS$Q`$]eP=꘳qL&*X"e=;=)-#T)y {^aYeoaCh哓_ Jb@"~$ (`[ܘT)_O3/ڒ"7DPCf+MoP~k[:QT풎J-_yRb ?6֠l,Bf,n*cq9灑6[ #יķSo]Be x+2 h^Q&SSJ.~YDQH,]C.ܻuꟙa0,Y qAEFH[1R.ϿڛeiGhB-(dbLm1".I3gaypKˁA枂?z.y-mSfZpA$׿?{h49Di-(g8| yLq.ɛ~V ޙϤCU!:2 *Ii-}ת"|o8DgH:k,q z Rֳ+o$Φ]w`ѿ;]T? a!Nh:J s!ʸ~>5)jt_kÓ~OmGwW w4=,ÀlK_ſes`gk$CNj~ckl.rkeG8yk] >>4DRY @.Ӛ&Ɂhp؟zP=TY<v60SiKAoqwPὪc Z>ԷU/7דC ЊaF|6P-8OerS@"u4~llj`Οە#C@[U*dܭV%ܐ/xxBWEE\LCd U<7 i'Ͻuslє+tOl8SDP~t2( EqM)t=5_nV 6hj$\҈:Ty@F# _fMh fCT'\ڜ=l`c%mxL~0ݼg;hWjyָe\ <7o{uDȚIAŞ&'ח/E7C*\uDCQDuCG>ɟXN@0=q$yaC(* UUhyt/8 (yU@wĖoYca-_*sB|jN݋qO&AԬJ=f?c Ƹ[NJɂ ~9mIn S+{+}W .xL PƂ &+5hhN:$˷&jF'j_- =dE˨ž2NYI̊B~EmueS %R~D٪bvoj0t6.ԦASXc[qy~-؃29_MɈmtV ewԿ3&T10S9VƄwNo1e_𑒤.CrqWDXbMޑڮrcǀO6~ ~e_CޠdlzΖ8tIiesNsS?%ٕ"C4V-7ɭY^`=45R{& 8[eI LTӡ-)=a=3wXPV'׻&>F35"`YCU;UA\Ѷ9>JD'v\MO35ėd)* !ίcәg&N"533F0Bblqv!.NAU{J2q]aH9Tv7"D?߆ *>5'U}Դ[5\X`}֫9(Evk V-δ=7!27 wYZ7~VV`B=SOTi®x[*j!_w@ )9hOwZc|GxM0QcZB(8:MZcYZXx<+֌m;3S,j@ H)a 6+': e`=X;Da^z$Ő y]`p ^mnYNF|xOL\4:=LɹvZ-y&H]fډOzX+I5+$y_s# ߷f:SaVϿ n.N/Ah,  ́P0f],dEOR~foB FR礹ί hJe=0USLp|Y3&sbchMXpƭJE0<$UGaMK|SR}ѣ,ߞr!%.rl%rqB)K6BP~fV΅p) [#l罩 c1X1LQ>۝rT;< FYa>Py^9 G 0/D Fa`xp&áQto%,`Ti[ :-d8g0@_0X")?Z}7!ě'^]o e HGGφDwM=&I3JڪnM̘,*jꝝ{sV?#*(|e](x,z?Yh /rze"]q/KzyW6\Cq{c$#F-e' ]xT:,7k0r`%@M`6eJ 9.~8F: 'TPҴxiI %fW%ID?ɺcƈ#hKl{|"VɆ])됯}՚g4q}>h|j𪍭k~V؊mMV-UFH 0--=~D)j6+)8*o$8,\ ?Ds@%?m`*A PD,vYr׷mpЇI:ٝ"ٗ-RW6͖Wz #[~.`>-_>iȍ;NwD=wXL~J߃&qI֔2?_8Ltkbub4]ːl{lS鸚i`yQ" #g31N,Wac~?H7u9Hdm]K҉{Bɚ4ۙj>6]2Ǝ$mp}ٟ^:uxZ-|N.N1&= ڤ I#s(YySl0o]m&p,L/U%nQ%-bDJw3k n)#TfmsiBQkn6<.ZH;1n+>QWHCesHew,,B9ˁmW$0E!A {/|Sf,>\w<Pb*URmM!7e%ʷQt;45R܇Fj%b͸yx0h5m^Q/3Nw[Q-մY%8YfJ04uhP{e#XMi:A3XF]r{::wPaoV[!<ՕVY[ ft( X)ڵT`ID=R ɚNda/F{.[3ĩ塘$!DGqx!@9)h&:[=2IYy;ϲqDᦂi9>sI v~%*BG(D+Gjj#&C(S~YB`ٴ)KX64,"Vm@[Z`GDL5CޙO xҼ&~dI= ->M{G/y`wcA_dx4{Lf}/E}2c$@~;uf@dzM9JGM~iW kql? RPs'k>َpbڪú7Enš@ [ G YJa,"-2%n#pوPמ!)gWˢŌKtI``ߐ f2!kh bTx9E>_ϟZЌ\#^_.(QXBPH~Jx(I7ƠfӞ@J%feT9eibn`S*9z'_F*%=mL#X<\>L \`ho]玦6ve i#ZQ+?_,VJ0 nWD s늡? kK=,ZA3%(PDLӸ&))c|Wc?v @_QD`p&) F8[ᨲAbDe@l.3[PșΡo5#?4#-TWLW@ ,̷ h$8GHleAbO衼q-]F,&( S̀&tݣkbR sw-ݬ9Drlk$G*%sˬu)32$`=n 3B2L7%d9SC1 $߱/ c7UN]|tK`ix&Ae7ofYa}4dmPSއR[fL8 b8,ט53߾f LwR܂XN (>eIb :61'f]ռ~}K{zꙫ )x_ڨV64Ƭ4.O0ʛwlj*LOnzUbrP$"D%k ).:wٗ[ϊ}S`| !wYM,o^@OAK8@ Q%$~F\Y9BAPiDMd_Kc,BQq~, |±I2BxEB8XO@{y˘U#72П^UD}*vjhQta;A51kLx_?GuL]gAƊ#$[JeqtaT;{ ޜ{X&߷Tl^Z M}bXA}d~.آ,M[AU. }Νa%df誽9E~_WP. PbD"U5@o^jƄܿ`#-ydH,w$1rrl۵›V+"0%hgX̥kŮw1\v.^Q:HfG; a]3U(O Z$Q,-._c3wl6&cBњg+KF[pF#/^-b9 bq_my ݅x)݆t=1tJ*O^:iNyP,67Qy ^k3M8^TD,.OŒ)72ڄ EX2xSTϥǾ*CK=>>E]qH)9z%\f[D<@0z7gc&t>ڧ$ťb_"F_t}"9 gOMnB]6yعF~$cSt5N1XTX(ov{Pߊ!{wgﰦ[` 蒴:,H|7HkE5~w- Ko‘c >m`,²OA՝ayn/ 'H*hQM֋;CӖ8J0Ɗyp@D*ǚ4b#[r/[`O&NZ`GCc )'~Jܵ=tys0^q;ٚ;Нd .x:R9?hUP'$߯6|ψ[#.O8? RQ^ r:h'f7*pd%j=I/qVxtu8 Y.?O&K:^2jR_rD64mIcH9F߮m1qڶ.&LviH[XM k.{V tw\|EūҐ?\chA#"W{k; 0Ϥ@ iAŽŌ.rq?\#z笿=PP)*or*kGjԼ/ii8z&WaD&"kvPCyiyU@8|rt?[9d7ŕ3 ?C} b{`0fIXZwh?Д9Tz}-whw$:"Fa^B \׾1w]:%u~y/G/},LEW%k35 l ̓*gӋlqGLQWۄ0 Y[QYOлdq(Qe8KÂPc5Vj IT\A:Ƥ?"lRypdLM a> J.YFIvX: kaɷtoFBPK8ItoR,Ӧr3jYb[E=d Oͷ՗FcLS)s HC5zwUUCTE?88|Sx^Q?/ïvJԴʛ@#=R8<{<_ jٽn6sKQkƤ?5^As]ˁ2ҝCD#i]UpF}9PI`n/j}pY6xGEXKm&x5WSk㛞ԯ+g}yo*x|TߢJ\_3s~7.j݊S{ \m !Ls4wm2*郏P,4]~qoc$1dN8nɿXݪcvt.+!u0ٻġv{/~~.D\3 G;& _&VP௤(8u >ԤAV:dpxInH_|n;IKD=$,cl3>~!=='xLЭJW@?P&3I˒z9yQ,O>X0He3)چ_ՆAw\,XOA'v-/ h<`hˊ7(DKNО^kT9I2#Q$lhKsHȶ޼mjS`hȝYͳl9UC)>v@sNJ884kW'";SCb>Ú4U}}Aj D@S@Fo@Ӭ$/'Tl8 zb@Y_ag~mԿxع:7İbȐ^Y搂&K { {}5wpw<,S+#:} cmLGUJw_F|e 5r+GɳXm}4>kſrr[+4Ar'iXr ʓu,]pO]3mOZW$X-HSe:|,4d1JOReB֨N{RRocU$lqoq,$W}y c6ȉkF&Fϲ%_;*9I 3: Ʋx|s3lUv?)vװ=/ -F\bȧ=U g&v*4*#ߒ$>}?'Q=҅"d7],{c=L/rIm ˞9yɡ>idim^$Ӵ!b vz+֔?$\O!oz_ڪlNE*Pጃ#b!S;n>.ä@aD]]F#Z'FF8L1 by~.U(`u I&~0&ZRT,̄%6R^;i2Ovd(~NkZ9CL)]ʁ!bgvG$;xev`Bh;v!{e&tOX}f(%FWJUMuHcܡKʇCg4OurU\{ύQXD,}BM86KGf`o;TNY Hg*;Aݣs〘^L|\`2^$.s6d0CYNGT>wE9`\7vdj)RJ `SR{Czӹ>ߜD{B45(MߢςA2KW?>»חoxf^zgu_zJ]*eR7 !@hVX:>۠ad^y2IR&ѣ_蔭5Rv-U%?$M^AH,jZT_WX?A`OTZ4FX-ݼGAuY"0XIkH.N>:knXW;# !|T0(\DsЃ2(}c_VwUIk-= '5Q~BA+ S~L Ӄ{UPo*䃾*CJ]#&jJzIb( ˳=EǓ<#a ~,i' Xm;0֦o$L;RTnl%6~猥#GqW?u9^8&D^:RJv5VOC1<#sDminX)rjRdCk*v^e_}50ЬF}ݒ(ĵ06sq [ /ۙ%*e\%4&=__Or燉KѯW6V!ROc0^ 3ΧuIT';R=ZXd řG3S\8RɓMc]zQ:%4 r1~)֭']aږq0C ohxfo*Hm(/+ubd}#Su#+%CGH3@=ϐ`ȇns18bI{c> ~k3.Ĕ-& cNpJ(˳¼䩜  QVǷb^KwC&QR_ fzƟtY $7>Qnԧ>!p,4?*Pz<6$DhI}|VR2TӁcy C#/{)<Ӕ )Rh`5cm-Y%(V`Q/hRђ{G7n F" ^}WwnaQ hntb|=)WL,λi=#C^zx^wuD/= 5&ԕ1P@#&Y|O"DDPw+q^15ţfҼvǹ]+_*.uM60 ~=76=p2~kuQ?&b/0 HP)+vnYſ)!ȏiAS C4GP$#z/%i5fA 6vGl3LW!/n?fpͧ+N6`W .$fI&%ܵ{[-LNu.!/A`^݊fMuyUR+=v^Τ󉮿nrJkdj MdN "O:6}!;L'^>4jX3H6jN.X-1ߟ<ƱcCX#'iri?7R p:.Ex| r@pSL"dzG)ZF\3[=:.PКj~I7D5̲8kD"J]x(!y#^ea1zIUȵ}_ӧO['HEdv Aw5ƅ@}W|+JR5 qU"gbeyoy@lPXz=҇wMX>KԺC3zvTA퀦&@Ћe v8$.JJCaBӊ'_+~c ?gR8䖯ob$ jPN|6yam55u/z ՑxUx>$aGBKmP}LM!NN Su7~O˟Nqe Z7'FD:K'8ȫ.(VчbR'ɫ7҆S@fi"̺TQbz3*ߙ SG Сl[. CSwRs<\?q#gӜy2#Y  c! ">B`O[-91/|Si=jVV_<4$@),3ɿi<~ffPj961v"\l6G>(m|u|4S ݐms7Е%ܒ;^0$CX $psS&7"͇ͻ~QfmCnS_ׯ$vO#<;ʝHݭKU#2yWPCd=\~vzR|ܖOPv3uH>/w؟/ʜkσxw$GD6Lc,VLF(i_.`E zwآ:.ld rLޗ5 Es`ԁ_wRjPA"PHp ֽq^OY$_Y|Y W2kR\c|WB7X~ok*ݽLY'h)7^eeit2uf MWվ7u`2e(fӀ7Vn4ډ,=$B~ TbrlYz2( Ǡlg6n7:'s+x}rhe." hqy tD|~f.p<RDыBID4euCv;m^j_7id3D nEA_|*&X@@&d>LːOz45#w@f O:'"A:cI Z,2s>~)`Y7|N pPwF_$/㚚 2nUOf+{E  L|:"Z/ 9H,3LFGr`7KVr2x:AmVdWin/XmULBWǕt0qqH7vO~4 }0fN+o11UyE\dmL\3uU uǾcw!F yV\0|DR2S5}wPz@,:8*q|/˜/ƾw+u{-'?E"ZIuq*xdӈ52` 0L(Zξ>d 1Ʋ 'Ǭq7;vY&(!(f)~aMzεU МQ.{^q/DycVy~08N c8Q5 %|&ѿݻDsnk>s=Hz¶}>{:GؠfQF=7^C#ڄVk~!NLɯcLPG4~;k,GDZ:0e?[; 7c27j?Jmӈz>t`>CٛtlG!b`Kn/gJh|pW苨ҖS`},+%t U)eYHr(X0ސ]=fL` FcPѝ|xB͜ߔlx>]6YP_ $\ՕW7|osp?w-@=qD_;Igoa"x[^HNV=I~@hQW|VhL'suy(1AV)=L"XA8n]_-Rg|9Gk$AXcp~ vxdY*&Y$$*}`{捛XO xěpFqU+GA`J&^|K˗g#~OOR xJ{׮MJ=v9!8s8}4Yj<Qn6YHclKixϷT#vSf`=TllF~d)`"v6ʜz ݠUwSć$X<I=1F2#(גcǹ?- WdNoEJ yZ3w AYP? jdAebN]XPn(`|ilxD0}m<3csnMO}B]c2,al?%k.ڈaϴDSQprb*;~ iHcʊic'KA!k(6ҳ$5.k]މz!s7a4I-=c{??\@bذ2Ѕ'_~lU((ϐ^kFQ1O $5o$Bf364'M{A|JίHapuM񦽹3XMK #kC%qN\-PuNJ+eGx1,DYmIWB1Gk^{s#t*b$n/o0I'k{| b[ыb P!avE.@δMU]&^r?yzN3N.1dK%,!a)ڮ{'^s^hTwUKtKu󛣕WWіu{u \̖ڙ!Vm3d3>!yL<ײLSYlLB(̏ UVëAͫ4DtRmX8M'"AX.wR++سpHZ;ړ H*cxv s͹ec4S-O`l䊪lZbe"k?_A/\nB2 3 zeq`NV9P]mmm%ylZCz8h{P3Jq`ۇktliKc48-zS^)xfn{nC['٠<\BrވFcR$6ۏ0ґ9mT7dk}oKf׊XBY Al1Eu"ǩ{Q'(-Q\]µՑ#a7ʆt#duBAm֘.[X3Nf}fx9͘fzI$ 6N&Չbw-UfT/~b l(ptթ潂ɝشs3p¨9p]R--ͰZHcju(ڢU;3:FmE+NB̯Sj01DŊV=a{hE#Ě4Mά&ri1z\Eԯ$JBZɋ=KDǫaB`}f̊^8g Zk lu.bdR̦G[ovIY[\GUE*Gǡ8:i(}Tڹ 4+t֪'B˞Z&qQ?l蒞]+qU'4=ts^jAm?cɲ*8k{a9E*fa-x骘x~lVW1\"KzB>7젞VA-v ) [yVK*}P>aLXws]ܳ^iHkqѫF)?4ק}bYwc}/$j}.GLHFq9n֢~gSuu)%FRcnjoΪXaTW !+,&Z.rk(2dɠ=$cgT(|@kez/juaN ^e?' 'byNYkhNx>)XѤi; wqN\ۋjf=?u2Wj3RB)M6?jzd(>lysvĪ=0K=f>t5q|.O iPCu=U(Tc$ofLV.2(ZY nPklf/ frXW& CtX)^0<ڌ@VU(k$ъX6P1f_K@_K}Ύ<YjnvMsnmJmuҟ =oʐviZrZ\ Zrxj{9I|m0iNJ]:E?tv{{Ū;qi)huۦiQcmc /8rY%jZ:EU|簴zꍗ[eUn:+$y`I9~I,]fV).`Lf4IƻU{C*H?d{1Ɠ[׏B0OnuʺsG,үj5Ik7ߎclnztohPDur4T[N3zQtrcIJ]K6Fqg$v݊&w&<׮$B_"R7ƴ?PfF&VW%՚P7'T)?ǢzD]հq|3J>j,Pb2L&Y_AЋ>4د+Þ\4Щrbpд[*VU4?K;i^s {c8IOs/1v+{ⵓ&jJuOh;KY.}0h~zZ-1J= SۍvM\ΧM)L%iW+a20'5=-v ߰ UexzO+!ZU7rqf#1e^k&>Ѷs^o Na)Bh дHvoKѤծ4&ZzIl‚ ^i+=9ev9]ZT c~\@0wӱLen5jv'v7-+f tlc%ԫ^Bw,ln#IPsvd뉻z.9fP4MS8Qּ_\%[cu"9ֆKO,m42P}юUw{#9kmGYӆ^xZ .F4ZԨ=M6h<srbtj 46"=ɲ%Fq14der-*ԄrQ%]ғ"䢹,.tvZԷvX[4+K%4LwĮ: 5 >.bi @lBNRk [JR?,#]LGaIi6ms4jY3Jڪ(O'%yG:Ǹɬ=oJMIcr]29jjE=҉@l'xֆ9ׇdn<7,ǫy!ܶj[iPͩ`nJճ IYQH6qT'\}v:5HHa.N%cmMPWe h%#-]p]B`UBٚsgY'ai*jݲNKmxri9 g{쥒tg w>s鰡;U ٸ9閌ј njlD՞ V|Bozjzy;< ki](XMk*U M܉Z$`XdK*!j+:a+ w> ˏґ;@gj!;M F>/##֍_GuVx%pXI)/t$vU2V}}WL6APl4u˅w{2ҌE/Ղ)D,M"3 PrCw3)6{vZ9ŋk6FtʆҤc9n[a^ zKrg3Y5|2]n;vަֵݐIUw0 BSdembU {!"dwh6ZishȡċI'nn)]˜QYQ*'NSqG|è.!Ө3v e)>k*x'cb=01nCš>W]qjʫM-r\ʥVϭޖ׍djnz @5ZJ;֨U Po[/F^쉵U5oVk%Ci5_*Ic#zV Phfswi-C9ӜC6#vWTja{7NܺLu\T7tg+IRViۛz(ZpO:*wgٜxk|kvjV )±3+ƺ ,_VbxnBI9g56rdHvLJBSwՆhfҢ<ӂ,C Qu Ljeܟgve>X ZiCDkǃM[H:':U96dw+V&=ȴ%y9(%]7쫨k|:,EѲ fPۓVtՎ OLRS{R!?MꠈONm$\E}ެTE).L{;g9u (*֛zOupQ}sOBdJlcZMouWq&JMI&TgQ 6-Oa[8&8c &S\%Q赖xRmiGKŚdkLmyrgmoj1G6]Y-$xZPh|lg]<ԯI1vオ!ZhI1nQ3r[`uhY [N7hCHuK&jqT-(Zj3':wFl1ڠ{1-:[IE;qWF--DV[L>-v1kncԴrJښ<*Z\W@)[ꆌuX,8%8ҁjF>t bu?)ԭv|?cQ >/:q5,W Ng}5mjfYWquP[UWsNi-.%-#꧕ k#}lzkxVتк&f\P1_=Wiz]fF,M`WXt^Z;i*EmvyxǶwf|ļ.7"k^d͑5ըPj큭9}a^iIV<[9GeoWݾY+=F%h*Nj+NO EWi2UECIFƎA[a67|GvAkk}ݐn{~ gG*jHoGZ50 1=⡾bPI\61%GvVuڶSTgK+Ty^i3Q:i\:ۑB'z.k\S\/cv xUʫb '&yT zoT6%ݬA"*Z^y@ֱ" f5vN72![k ++FsXLˎa;,6tvB;a{dCFӐ5{=[%utNǹP8d15OR^:5bT$qřhK̓\;"8w0vTQ5zqglIB_OI)݄H{ˍΣƮ'պW˄G~_Ƈ9m//FEpsmW!]i }W%mms]#JhqեŒJK*ǤzH6RV< 1<ǕߜOi,jsNsBr\V.2X-+PX&*L| -:m:km]nΝusc1ulC=wP:wtj31 N|5h;}howOS-蝼sf(kFfOs:g>lB=⥩;e [NjZv}uvnEUGҞ7Э2mNz;tv4܄c٢xV/$ѰiQ}Kk<3:~~!ðB*9pۋ\Vmϒ],kIXqܯ݄\nNf:M1=w+jLUORe2 :θ#m$G7lF>ZGVyWU]>N2m{ }otw[6E+k-5p:94i2쎂ΪeCJY鉥al|{c<;*ٶD-X!8%I{,=9WSdf8pucovۢ*z;--"ftHD&^TS>G[j e]Î˕ؠmVu66U`P7Oj}Væ`k +jU}{mz0/3#VqMp-(Xڡc+ U8ţT&&(X#39(r* |P{չ:ݸ8E"[ˊt[Vfd? R05U{RƊ "Tmo Ao 릸7J>.6fvFgví4HA iZg٤ݪqP< [)< =:VfܙKGs^GWYo^OyZZ0_Z&rت\/oOۅ?;݆36 4bƶE)&+J?Zۯ~U)60/dԖ+UN3d`})5=M>,}.Qgj52tǂod(f(vQGd.aguHZf/zᩬ[:hb PGQi08t&nVZr ',vPP~ܗ O?~s\lwUw soa7c;?ܸ=|~_m\#)>Q{K|z8_w>ӍT 6A=dEQ7NG_/ϭ<" n^y`7n6z{_/mZ^dwۂdF_{pW㷿ݘ7ouBM@R(EDDx7RQsc#ߍvp$u/j ù9AoyQI_QT$@КDO"}$ oT6;W_p2}I%o}/+< D8f!>K {V| Q3AB?2(gG H$G(2Y,J=GQB0(HO%DPD© `IYu\ H2$)J_TH Ӎc3ZRQ&.$JWT 2p|E" )Lj_Q?pLG$pD~#z)`V +od`Pmrk"ǂW$SerEuRB7Q h+z]h;N(*]+kqϛt elJjdI1yTDYFϥFϤQ?I%GH凉 "$Qzve1?Si 5eB,‡Q|e/B(2~uɌ}#3I%||SJ办7*?ѓQgʟJO:pG $^ 4I.e} v>O(X$> ">ۊH/MGdAvMgQw,JEi $)ͺͺ!(1_hF%zT%dx[yH8w_ $r 3,8`(ˊ /%UMV) v:15BR`}`Uӧ %r >!t5H;%Xp:$ڢ +OU3+# Cs\BOemVAH9_~1(CL3,k SMR i=b/# {h,Ldzޤ1|oȷQDD"SL9? \/X "(E撔GCe]Nz~W> Ib"7D@(~"*h^ZJRR.~a=ɇ %rA|襇{s C,a"A$G(}}DY(z Di^0L<+DF 'g̸~( "Ĭ 5].Lb d) -? 0˂"syp!.؇.tv x>35$/yeL@O't)Dp]fL2w f?]V6]g+D w\g w?|#d|^-2RP/8;Lp8? ?eŧSS DxfaC 4$R>u^E1ez- +ίaL¯˜ aO%X?E =M+/Zrεs?%.)(XR2dQa? {a~cY@/M0͔,;ʗH(X Zde.;O+ U 24P4/~B!RJ$: 3(Seğz LHC"h~ZA dOKK H8f| h . O=P&d?Hֈe$cd,)l~.>?SKڔD1` *x&3hOBb"@;g|8P&rB=ɲuf%|s=1e"A@ =aa9+[[xc>>o=>tC?/d_M&{3U.K&1+D~oeTe~k9Niw uWQ,sOl[O-J bۭcT@H` r?c`ϰnqK'u|dFsݗYL5sx{Mv~g?`#] FlI=حJ_?_wuvy~Ѽmo6܃B.=]Y`XSdkt=;tԺ43w[--G҅_?ERG^oUa妵yGH*Em滭V/"=T*6o;@jB@b'ILtweꔄ4&"eIWT5ʹtxW\4xTۜ5 wY۪mss ~^g]blk#_ oZΏYZcP}ދ&-|&}?5d1x{DŇ&ٯ0yDAX0 ޴U{z|g Rz - qD~U|k@~S>_ - ݿK+&`}ϗ^`%i|+H.m~ BF_ ;lTz#T~gk|J`\ ( a7w`[B*$߹c8B[w,HmaƏJM,~;}%DB$f%A,Hr>)HJpE7㤐{o&#=F.0ځKv( >^\<t}-{Ngv̏0: 4nF::~k&=L9Qn%u{\EpȳcSIDfx?`# -ۢ%xKxeP. _'2gdL.r8/97O/2r}FGe~T(E1NM+ oI:KIJWЫny#ٖ@\žϏ'=Bn[n8@=/Wiy]Q$}B|ӷLrMo}Xësq9`, #ʄ!!y"KE""+.$% -r~A8+=RSF|)͎fJʜ~ ~?"Wq>yu>Ϥ083tSgyO~,+oe"mz5IF,OB\CiĞ!I_$&< g-K#& t1L,Ou/7?Y1( J+&6VfhɀO6NOgٱipVO7P/N\Og/˄ˢ2,ʿ_R%0}$}I~U]]WO_&Ƹ~Ig$y"H_.|?X6-hǬTou~- S~ DO'sHy=$Ƴ\*:׎$\W/' +vo)]#1{v ?)A]'0a ɗOyc\R5?AWr<|%NS3yK5.#t ,&WZ_bD1'.-АHC$$χ?ē_]4rʎ%K_|GLb_IT~(tjcuk@W)zF*2#bcTfy$RZLЍ;V_}/Y9j>jVD'e1~G,A .o Ml@7[7Z7EJ~(oGE~ʾFfyGį 3s0Q!j_M6fjKWdf89  Jve݌]ޱȃ2#^c*(\U"(QI +"ޱl< ~k?KvnvYuoJ}Y1yzPf6*QdB|@^(,LB϶ɤ|@~EB<߯f=F/iv]'F}b1g:#h NOrg C橭]FR,+S ?ڞ_E[Za]Wy ʮw$2<|1ٰݙ]A# :3$1dˆ<=׿M'L&?"L Ծ+t0\;wo04{3Q߷&SP\0_*D%N@X'H*tyo֭ͪ |4 Ki疉9 $EϜA$P~%tHA{oT@F]U{ ҭߥ>)La^I1W$"{[M.)ԍS[*9%OZ9IE7IooWݺfNϙʞ)} wh˵7n@%C]"P;yM] @x'w)̼+?]wM$4Q߻eDr@w~|t̆QRgWvWU \T_i6՘;P* z0Tv3?fH++ɮph/ԢZR_iޓ-%RWRۈEfZ^( ˈ|G")m P$N7򞶓u;ͭdI작wщ_7"{2)L7}AtWSn%V}'S =@w[~>|R ^ڔGҋ~ZC֩x'+mH^ڋI6aG_}f$;LnJ*ܭ_-WȎ~Ry;*~M%fGMTw>Lq P?qsB{-fsǑg S!t>>п?-P5E`y2<]Yr$>V(;D^dgiEy۲|E9]WA5;-[zD!!f쇮 0h J ejzZRblAU˕Y|mZVލgA[ Aw\ue`>9iw%0GRf< Kt7./}hNlЗK3<[-½9yo{LEroF?L]neʟ12wmM!m+^i'3B|a+|.QW؍%_ardY+ҍ yM/ۿ.f@y ynwW` mA;]M)}-|Rq_gKaz]q<2˯_}|\3fͮ"i_ʬb"$&b/mvtb8u۬Ec#q8Y7:O|{ c'mN_g&|MQMџYxYҟZ$ =8viL_Er4.O5MݯS/ :5qɞhTt Y4c:OC(:/q6~|[ 'q͆?M}l8hS>ǟ'IRb@_ygrUlʆB1F?mynWC#XC/%7"_PaH/5_@QYέ_k/)yߣx8'q_Q ~)6y5N0+]8Smt1qo[ kÉv_Gi{Uβh4)x@3gWTdsX q1I4.wѸOG_!١@RBg帋Mخunc88Gٞ\<*DӸp'Yy=9BfyX/ ߉3 yG?]Mql|x҄A4b, rE8F0z~|w@ .vg1Dn})Ku.=O/7򍴲2qٛD ~˕s'mϮ+ 9;x2 gF{kwl@3=' ؛=9/tq]fQr rhHPJ,Bٙps0G~_ Uk:Epg.eb`QfɊNmmk:C9{5Q)}9YXRB1΄"'#f*'EhؓuMS >yEҕ?q>ÔZD#ԡҨ}kt-I_mjht_ r3jl^֬4k<{%z|\,ߡaj,4ہW|sPw, Ocjo$:>:r R"4}GAj>Q-wn[z{|Mm|^?0YDgŞ~\ڈ6yPUe)Ӕ.8kOd!8P3/ z5h !j]1$3}Vq1մ-}[ 8|0{N\fXys[/yDгp$/jMFZN-IQz)NmqŽ܋ ΩS걹"fcYdg-=:i渊nbHu7(~,OO+/8ģ8k^ `ILY3n:UڰӧzDYƮ]JQw*($-ԖI咔oZ̈IyFVIޟ{{+0=EvIOeG &* Hi3N~h rEszu vk #-,g$Tޥ|b\~hL ^"⽍mɬã;r>B;>7]&N,gd|yᑏ}:QėDK}1 |ɋŀ;gm>q`cǀQjGVM$*w10;42߲OZv$|kbQ>q%dr0#gr)N4Fcԉ1 Httr,ckD=5dVܷ;{Rz'/iMruEFq_dÙQ"Ij(rqY>%ajE32m1uH'IG]|HDɚ/ھ4 dזsL[NOiKM{;f[mifNVRK_WzJw\ 6te4+[2hD<6-ꞟ %zwt@fl(c'I6L %P: 3%=8B\[{zuOR]p%= P@`czqIrnjWg5w.&+TI<[Zw!UI+vDc֯ euFꏅfRw:\r`au r4 ='-oBj9!\UZwtFpۢ]6 VMagbr[C,4r[z'A3ϖоQ{u*b2"RT#5?A}=@u//P ޥlE-i>aԵ@_4eaHE0v>3kIf&A/jDk+b!HmFP;*2؃ /C._~Żü w2 U0z^"Kj;!V '6WRqʀ_ /Ûy1Ґæ;<ڰ*O@}M6=zs|iq_t?>ꎄYBqAW: t#@Pg+-iBg=d5y m[cG O+]]Noo3E-8JE@K [REeoKka8\"6BM,;VOw_]|n* 椽J W@) @ui=u͑ͶX9sJt֫T0 o(ˌ|k5TScV}F+I.|)Tvb2͒(5q0! 볚vz%y]ĴCWr '!ɷFGJf#,l15EY|R(VTXr4ߩ-Uh|)`Tr_qi'oܐ G.fQA 4^Õ3Dͳ)gDk4ձqNkYm8R 7 3XVyR*'i]E XrkHzv@ۿŕIt0V`$sI1(OF2o YY h%wTi(N:k;g~2lQ=4C.nZhNQ\N%+Aݳ5e eMg&Ltڡc^=[5](H8%椚jA4h ކPHso O0n  ?ҷMS8xP>5 ` >t> ΋[ys,HYZ}ONěXikWzV[yNϥUnn0&z*:iCncfq;YVx'm5ymJI9k!l야wd ?]iO^SCY tVMb)\Rɋ;nzͽ:j6Iyػ L3{1 qHo=iFbL mڮFbO'\,: F1~cbk'H#|\e)ppx4%Bb؀Ni6H8I"<*K);W@:NXXOȤeh'cMx_qvA#^ӥr&Xi`J l]o aFRh)%L}@}Uơ(E`K"4^P'Dwa30Bt,CHrGۥMK s70jR/`ѪyE+,(.vF6k+;KTfzE./=7#p'kZEۜkcnCN", a~M1HOm1kx#9}TpaD [B xY3#9#7yT,kUi:mB߱fV1e:լSϭ| jU**;۪Q9ObίjOpsOѸ. &́ya& %('*~]CVeQfQx{Z&AkGU)T@^ki{(Wcͯ5m0.HKbd粟cq(eBW0M_<6*Νz2$ՓI 2ŢjXYXr.-V! j#N&%Xc%`@~|۱=I6`39R|@H-bp.pQ.@i&AꮸdMS߯.\op5aڵ}R2E,rXɩCrP7<&=Wm}o "|,L1Fܑ;Ώ4mL%nDoyϴm>S b1="6[g$c(sP)kyp0QqlP'(w??D+uF[f.>AHXsfg㔏ipǰ=)tX""RNΪy3+6R7POX4O'81Tp:n3`k.8Sdr8cy@,%46 `^ Aϋ[POKYFoh;Dp6b õ2m(jqmguJ082482Q{05H/NP>~xn3J(7}X0@kt2_ō&q=4Dt(/徺Äc{c<w{!}o\esiձ u9 1INC ] wS3m\CFx"/\ʧuuDƍ$/R.@ zeCpZ]SyJQB JQai-YO#/PWRTW+ .O^sJ.d=yNI(ݚ/".5`-mnvƧd|^T.r65g](2/ʆ.p#B}1V~T~VDi7Jvc˄K#K y㙲FRι@OKA q}F27H\IW{僪Ic jU!/e1ȕ$yꔥ~pr,c?UwlL#х9B'ef8yk1N//oہ{m@hXԕA#xL2BY#t$c軯pɶ9j,I,gy: oF@!ud $əMXoK8d y)n[?ɫm|_K> zMnJ-CƘS"ij施i:@He?FoIV-fL^qZjZo d-=ݩO%Y|PE(݊0 >@-tP? sX]Cઽ}J+;pf')K"5 !܌@BW`DI[@z֫JTHEEat//g_3zJK< \.~)2>*h!sL5mM&<ɇ[ag\G /^4;=e YtLugbW=c̙wuϪ}tCE5h5ZB?ʈ;Ah0đ,Nw 4"b11p~yM#R^c^ m Ry!$,l\z u_81cIO.[Fl{:Q'?%p6|Z^ tl f dЈ&j ه9{$^#m@A6%,Ÿ+iggb1 *mi W7"K˭#2QgZܢh\25c$d)6ϛ?9Ez!5?:IܫΡK]c7 iċH3S*&hZ}R=홛x񴚊x6Jލ,{/q+iW3 :ltq{ q@RJiܗJvj?c-S~zuFRlQ(whk٫<;&mC#ґO>n\:e`i Nc5~ UNJO(#{>@> tC4 g[VX$!}41^QU I3TPM##r onnFs2DB #~Q½$Yތ[gkm-@DzYBɢbJՓ^j$qe|H,<~|Ik͖B$a31wFZzY>"lqfS2;ɥ2i`kneuΔ񪚮 U$   r٠zhsQ DV_jTiCaAQ|f?wF5q~s?ɡxDydYm"FM-s!Fb_LWsYR_94bmWCVZJC  @ux"Au1O>ѩV̹inlt }51_Iy&h5#,(DQq{ER~J}Rz գ %O >~I eg6\}⒦dQYku/q|z_ݔIc/:rEڛ0!M ZT-6M?_P!| p|4drv@_])$%xjIkE|SQH gkmgKn)?m"Ֆ%Cd>>5zȸs̑)hQ 4 #=Ïܫ e!gH+kMC}5~u#ycu2{g4!U)X>:-"7Cp1pt;m7!r~6bOZNM] j;C&'gЍ{@v:?d ;tB,)x\Ƽya7^P;LhEg.sqGEovF{D.ϻ6w+0@}}PI;o][(m<|9]]cjwB}OProfym1R+{8OFiX0ve}@8'uj,poz˥IF cM!0>}eO/xDx}J 7)%=+B%Rwuf#ۭ02G_$іݦSm'm&r=\]ʱU:]-~k=UvoQKTle{KS26=i}"q6ާ| wJ\ۋ.}֬- ir"dEouW2*S9h{>S:J߀SKod3 "w;Tou$ЍEύoZ+oίө@IsA_ ˕3ЃC7xS(|V]u6|baglEw iNRj_^lJs:goOh`t]9Eƈ.K@~$ò'矧jfs.C8'wڰ.Zҗ{#`GX1>/y 2ܺhoU9nR!9H=e _ջǍWZaX% r ]Xk9zt1M| ޏchea}KFn^ K;/GT_VkXgs3U Z: +2L4j̳ 1r9 )! 3<:^>sA`AݥP?/|o_{MZ{^*$x¾^5(.=_54=$wc75ce+-<֊# k Ǿmb̫>۝r~O˩>/TcOfK85IY5cՉlf/kkN c}P 57]F=u}V鼤<41\= մ=)Zz[so[K oQwes*Jc¸#IìtV ȃ wj٥^ Α jM :}An)?@>y];>ۃO# }.m-ٸ#fUdS27 П~cljm'ClqL wi%m"d,1SۍV>6/lVwI9z%bj-eg.#%6/8,:N~?ڨ2j{o-eY͊@LQ/uC_5#CQS=hCS 7/izoRϭrx™waϻBh[HA 'hǮv;BA~[(׽dkԡ"5DoJұwT }A12"0ez`M}GyB]ùHw^/cʡx^zc݆cI8\-B_LV+ 2WmZIڷ4 PƶVLzYXNDu yq5,~U6+ Kf賥&LǢt(D&Eʄ(}GP}<#sUU@t3:ocOG_zd]_DNمoHOz<,|BJ'./g7_|}}1:oSVCy7[bw=ԏ'_PvǴL+%?L k\Z_Hc?^`nqûA6dDWp2@j++=ַ=6#m\y|`Jtͻ9Z/qV/EMjSqhLFk g{o7mvIք VcٴQL;-UB,B_t2dɬ[soLfYbwq һnҤ7KZkU؃KMR|{qBg5O;z8[x#lj6(.4NEvug9v|%50!)RG.Lf^gK~DܽJpݱrׯ8,ȊMLpvѓ9W1,W]H2 լLw|}(l`8~:j^ذvd_6SJ/ i9gyħP-o%6U2fS˽p;kz,d!f0u:cK-V :~sz-s908 ,nrhY3GK R[JE=5.}M؁zv"v(|gN Am.bx9ӣ=Y/Zf,iy)b\!6QO=Üdl}< vEZ: '9dyNJ/ Vf'㒹A.“,J香D]J_=΍-{x΋1[P~C!NC8m"ӓ&dZ\ ubv,8O}V.˰s0mFgZ}eנqi ,q'prݜ;ESE3Czu-ͱ~;wN:'k#_L,x܋it$S}I}Ŵ0k$N #YǼֳ:+e}!8/dYzMJ\EU|oO-KTV]5U*m4pÚrjʛH_lBn#廳WT+љ%%VCn y$|qgp3hHLǑw}%V͈^΅Yz ,ڤV8]+GŪ3N2 7l4Gol!+5d_,x##rYqۅ26cBGwk)~Z@Q99ŬZݼ$fœv7ݡ[yr2}Aޝ^B=3&@.a@{Iwq'xhs=>&PX}̳z#L͠9{Z7G,3?N|>"gn*_sMU b(wɁHQhVKy:m;Mܕ宆t:zԊvړ͝(E0vv\߬8j9p}tH$T]5,j*klqfƹ-_ udH\U1]Һ\c> 'Y]㍇D]-0x^]NJhitfxq}G\MShtJ')ZIʧy³u1oP Q>Ϝe;֤R i:`>mƶhPHb ޾TrYA \\ż}-KlpkyԸQ?&Xe Aш{ڵXJ]VpIh1PN6 uWM,I<^guԳo4%팯˟cKNig1{oD*^B_PΞ"T)xMwd:Vh.;ZFOp#q>5“) yfpW8qBb#e+Lu xWAX ˴Eᰣk*PJb rysi Wə~=k DN=޸ՅiʽT#j>Nf+k=` (ӡr޻oie<ř\J}.1dڥkMiq%D쯄;]t$.k:65gڙqU1>r{VV.n!S-i`8V C44';6,=gX@f  P/N`4Sڬ d6D+/Lwi)fiuCzבJmfE@,{ꤺS+''ٸzŧCn\3#?9جh'mh~C뷇J Xj&{3ڊI3E13#l=_/'MH+fO\m W^Q khLqncSI@Bؓ S,oԩ/8-]BJkQIkȌXLp | #/k/h7:`6I%y^ݹ¸]ěGd-$ U...&1!~&m5\xR+cq1n%X)E7@WWk;pȺLiaժJv=0|;B?Hb 2GUv$'(P=*|}AvՈSMW.G9MPFZG?ڷΪO(F݃n㥳v ]Ph!KG&HAL+@<R`%+Mnx)䋬B#AcAϏ5}kr7Jw$<Wfl+Mj+/c(8; CN.yvK+k,V>=[X`8Vʫi(]ח0t2dէIkoXy[n>3s)Ë;lnkcQ֒-ȭzCa}Ҧ\!=o~b{rb@AYo*B`O𣭏LeV /ýhr^8͐ls[c&ƹtZcP:^҈I&ZXP#9+帵`XBdjdǃߐr/A{K͜ə둡8]YD!['V)nOZ4[FFt|7d؊OBV~!WкPz *F[Ѳ|֧i9EXIXLR*.k)BphC.-QIr+D Njiik;2"m0I[N{C_^ʌ6б^gh8`&̒v\<튖6{')A%og9=ynJJMN^Jg8c1nȣ O:zrf.Y\@4V& vz-Sh˾Ӱ"?VtxћX\pd4uzkr_]uVBnc'X*28A@3W7g͍8Y?(7|g Ӫ̣Z`\N*[^ߞjm[޲N[oF3ui3`׬E8e29-u砸f]Ke0(KqQR5)c<3ЀjXM{lq\Ĉ52xڔozz/A.M$Z=q`i ,buG8 ͇ǤUWlw{>x.$] Qvʑ~yìk=ÛI5otZ.d]^y9QjaU-vs"3[rV"8ѐȪ;2uא[ƹc~3n#1ɞz[eP{X[VlBg;s7QtIZַ"=h`KH&WFʁWx D[8BoCL9Aqd@)W^ۆ>2&DBٿEfo{|.p=W+r9G0~7q-O@fSØxeisG3Iiu0G Fj`k]ΘމnGOJ^Te,c_ym{5o#͔s=imfr}4Ec)EWڷ-KUjk-uTUh(Em&x% 47U -2SlŸW+쩗; \㨚`M՛}ϵ\'\qx{u}dZ.QgMz+R};{ ; PO}j쪾dkeBzʥeTһ:岹^MHQZu\~µt[U=6V%5r2)YXq'I3gT?w;1F$3:O,:H5x&6>'Mz3.2,|;MC{t[z|zzYըdMܔƓҗej:fL=nܕkilCVi/}nbF۸W3v lA7qU]Xj4Y˵vTwT ~^~틦zb8#3Ģ_HmZ3%$䬔Z)4$=C34;m=붕.q.\x g 8Ok$ꉭn|cqZ[ܯ752,w<ujLvAm%KJrFnX2. 4G8/%[Ke"Մă/?6yHR['N;cM֩|Fb)`<-`-xdPzVt>wqNqYuEuʧU"[3͂K tv ^e5#[~)yemӻã<7q3R_v\e󍑪R=Af rQ2˷.=iSN5/}']E=jexU)M$o)x*(uoVA6I-mcouCۚFkմ&=,)5R>S[^R{ y}ڑvxWtS"^uidV[†i纞/CmʥozGYB`J>RT{썥v[=|a}2Y/‹zttp)c9=P,ˆٲƔsw#yh! ƃdGrDJ9޿˾ (ٲ&)>.0آ"`j3oiG &1ya5ƛr1Rmfsm Jv̅=%/|fOlPJ} Np ˷[‡}kˆ_~tHU0ZAuWA?'42ώÀpmm+pdvyňeO4þP>||9}K-|9[NTd˭ 4>uo?[*_N9?}n`ow;JeϷlw`䣍8IEA=?GgV7~П?-݅ʯ,z]a?+َ[b^'үY{X.v2?w5?/ε0|8aط}r+-!0«Eu[׆,onaww6/XX7vk~6|O[?(kɽhv֯yJa` # _;{ E%%|< r8jDqx/,* 1aᅓ^1/,"`ELo# -0E/VDeaA$w`h*WcVQ%cI$6$/{EH?K}'# Ģ͈0\KgcӻTBѯՈ_c1 ݂> ,π^1`6,2t_9 pQ`%) k h0LG2 Amrmhh# Dih#"} *i% Hľp"< !p[0#BFc'בӟ? _Kx JJ/BXht~ψDZ4@^5b1C C300G :GK0VI\ #x(M@ƉW5,{ї+!:C{"͑A$@C/042('¯ÈWZwMNJ4CaP /p@<׍9̈"I BL1O(2`$*+$0(nx7JwZ(D7ojߚδ  =J_6_])\?ŗYGfXX9t3 @#Y@Q`lǦxM &8#tH:a[m!^80}+N/v~oHO<<* ^/0Lt]*"τS M}˗(P3%g%☄|H0[}ԕ~r _r}CW /&DS#"T庘K~i-BP,%AI<qXiD@`/<* c.C8gIeTJ,GR!rAʱ*1iF"R9FI,#D}?><oPˇ.<σߊnwx%uR80XUǣ\(  !L&9 -  ͧDyI4O0&p2U:!Y/ K/pquRcR M RD,#b7"@j4¯yԎip_DtvC0^Rpx0,Ty /",h< I{^Ey2"lsR0pƝ> TyH \'I! B'!μI;)'r"uvmYrNs4KC4G={̿rA?@.1!$dрUf9DcC*SyJ%p4|<iC*S*#_O|0MB^UF'HN2VOic^2Hx B|0# [u< V"& B@ԉD i@'T9\pFiQ DCd$b|4hܾVY:-ipO``?AD4L#F @OAb}L'@,%T0h²Ϙg HLX ;X1TgJ%@E2[6si`HcL"/ʊ$~Nj9gR  ]>I9H r8`1!RAxw bAS@$ cӦ?3"Yc!ܫt=84 Ygሦy)%eM $c~!@IѴ6`e^fbƧ!yRߌݟ^+zXGjIs8 I!݁ dNƐ V%@5,7€m @5Eaiܴ*6~6n ~qӐY(jWB\Ӹx)EL`;Y?w~ЏKAb-&}T0B9 QO$0 Y8-J5  6O$em`1y'a|P)Œ㟕(3<]~X䤏k͔YgKdI:28|iP2|ET1)’,o3- ^D⃐Xy/! + ApcUd0Y0Eg"~'x0λK~#zwbUb^T 3 ̻5k]j~<7y$ .Y(t!C XHߒ'~cO1I¶ya,%+Fɢ&,%<df ;$'RhyHED<<KȰ1YN1D W+QuBkD`Of$%G,q3n)a48MwRg/n??wBZ>ChQbK]{2 ka@uhGdrhm }0+)'7͝,e?dx.P.\s.#rKԹ/KVd-+ĠNēřDĒosǐ< y X,uG DPx[#L|D浀?>|ۥ?GCAL PL(S3Y[ ]Eϑ2M H2 ӠIYM9/I0O~DZ"D:FCS&ahR" ~IH( ԉ䟛Ӥ{lh'0yZƂY AbdIYO{er" dUzOV>Ru_%gߞ}'n?~moǒ! s%o4G&!Ɠpa|8?~<D"" ?^ 8'?ro,\VJ}$|Yۇ ֗oY7~Z t X zL_ $Y~^}repMOE; *O)<٣oDc~?J.?qxJ܋2 sD_i2LOoZv^OcwׂN¸u|fzB Ϳ~ |7 B.kݱs|"a$8x QET qelectrotech-0.22+svn897/ico/scalable/folder-edit.svgz0000644000175000017500000021247011176605035022542 0ustar laurentlaurent[s7 Q9V':331SU4%)[su2Ȭ"%ۜ(T"qpp?x{WPWWo_|t׷wo_ݿoz~ڬ~yp>?n7o~f7X?rI|quuE=ncuV?OOOo@Tͫ֫?~z _ln7?n@q_ -=-߼{C4a=M,$޿qI3=]^_徊B7qf٬o />WSH;|a?P=zXmMuyzåO1CKMN~<|Ӈo_9ϛhwOT멻)>J05y~zpqtyh_zOyh*ۛM?nެYϿ͏7?n~@v,7/ǻHGXǿpxѫESz}Y_t2|FOP{HF=wt*9LvJ)K=+Ocvoᆎ1C__t7οz=-M׿<&ϪڃO7wtx\ Ol~!Co}KM뿩_fхÿ<\o~bw|/t<x!Zo=]_ފon77xsmr|ԫ7띲;NET0#P6ĕ9uvywDߙ>nZŏ߾z_o R/ڄ_|}|O < o+/m?.{xpb%,b)} P_'K- -QV O{?-+!GB}4 4Gbn6-]{Gk߰Z =>l#RDXFX :K'M%c\{)Mg nXt%N(|}:߲V ⬶y⾋yno>Ӈ_LK^!xYx_&`;8iYl%1]W@Dz@ D>v\ē nhTk ALon0Y]I}ۼg5lMYO TX!!ťOzш^;mIXla]/㑉.QnI׫>?aQyy5"H˽tqWUNU)Θ7_lK@r^_%ݼEYE0V`F bt{)u$3g?6_a]] c֣s44FbY+*÷Tk܍S4Fi!ОʣD\J`,FjYJEDoĉ pX8^ҜVnj1A#!؞P:# ]|[_>YF:wqd( Ab 6R}4iPGP EJ(۱DáX48l\ycWٹ>V^{P;"ɓE/*KBbiz:=wb!`~ՂnlAz3G*g:; XoqnW+k$5Y6vj[j.{SiK@|O-A m(6-QcldB؞.+I- {%)vAȅ\(‰IbKtrJ=(SK^Yc<4=w _T@r`,iȍ@T <$֕C@_f߉.~2ܐAO8-Ϙ5" nh9Q$b|f'5Lul &H]H64 pd$@?-bPlv^3 BZģ\rr"N@2dxVD +ccm n$퓚9dI"JMM0e JY'ֱ,EM`8S'TV8-mFy{UWHy-H&! : 8<h"?$LQ oE1SW$ ,Et1eE6f\دkhPē`^xYw2M][c9NWqKjdyع —w8N!%2eg9JIw mY $Y Ļ"fYm3&@ӳ* EJXwFG դ;*T@Imq #.5W<4I}P: UszZ1?3f?=< J?=!=tyüi󰽽O77o7t'yYZJoK~2:GS(wvv~&$~&is,o!||~xz{wC؟ WO!ȉWo;XĎ3:2)wd'6)3RR ;%Oɜ|HL=|Bu𶧞zj̊Lɥ]sTg{E*wzHvU9#no.\2ZiQ8"MEH@tQIB;4/Kl>Jf~ܼ7N\㫅sUa+qQ) V qB6jZ5 Z,䔼餘2=:zl݌JyK &6h)F]I4',V5.v 9dje.H^;ڠ1rR]]i+\, A5rsw>k%ԥZ= r&Zm"3;iop#/qLd*' |pPK.??FJVOQ-j9pu?Ι"q 1JM#cVZZ{Mߍ`CC8SFU+,>P yk*+/6KJx*qRiտtLD6[xDU[9FKwYs'M8)hYA8Ov MosiT>*|i7CmOx$ O zÑ57R-G\^*HFkt[ Tr/Q㩤ĶNy yJx/MG_PU( CEYWSX2ʳ'@ ,;oˑ oV3|+ `©+Ԏ mm ;I"ҘJٹQ5!l92#%b*  "qUߚZ)\~5 @s˟F^Gdh֫JZlBen F 7{onޜZVNF,ܰy.[ r1)\% ib\q^6|WNJ8O^mvCP%3I+ѝ涹rlZ rN?J"0M!pʊ0_C: ,E-ch iF8^YEQ^RCM]PݑyQ eŪlִ+=?̆Ejubh+loL0Is#guMrxiMg~lEI)b}]K}UnbHh 7:s@_2m 8[-,즳ѓr(Jj3פ.O^06|+|:*KLrU dR`txQ0`lA)[dNȥǜNW~u iVk"3%NBN<  -V椛Rq[F+x!h]hU;6PK>9j7VPjffVmL3/LBjmW(TI;eD]5ȼڡuD_>gag&7VK:XrY(;\I6>'J(mx]u6!Vh\bC:l~nm8A㉏\بf }J5+2IaΞ(C5.bOdB(װ#ypa4DiT 45w åӄZ؊ܛ6F*Li|^v hQ.Q 䀓Cإԝ|RbRÒEN&zz e04E(MNjf\dr+$;9>E=1֡H"EbO7wt]uf_l~~cL2NX&+Hc~V> :n$ >ybhA_PgahŲ\.%t|m_{rwFL4v"R V3l 3uJuj8%::V爊Y8<7h.oDmZEz %ju+l혜VQJwBkβŽ* kž~/Oh]f ~N9nsڨiNsEwkHVw25fZ!LzT@1s\OQ$t )s%Xa'  Ih;cEV(m#J zu}|L˳׫tl~ fw Qm삶AظMdYAjE*#qɸ%,㜗˲VD^P#؅!ehm+4Ȓ@\!F^+K }ɶJ2*F'Sq+DTZ bHwަ$G/lY!Jd>F9*W}:jTsQh9!H7U #G %7#6Mn^$}+U~kn sq ˯K\a<=QYmg!3FsV9֜mf`uQ.əcr/{ɳ((ߑ/7ΠSvڈN;d Z7#YO8/S?}X0- l'kcW.$n' #ViCEqؑz⪲'딦#Ŧe4pB(ćI(+t.z<vЌ1/68StGeҤ+{}AٽmJVWi=G=atʯ_}J#EUے@#b)+aI%yG'Ⱦ}aרhHPodx6+,zckla}J8!f!I56in͂F {ѺF9vG9W{S}uqx6]^,(]C4]m41;HbW7C1FH^zQk'VCϿ=XGHpۻea>[ǃ}sxC;ު/* ,N$P;b Ҕcs&9ңĆ/q|AȥjHQ՞baqޠE\H5QxR/i8_9-  Q%B?4B$wM**igi"uOK:H>b(ޡD߯$V WT Mq%dgJRcxԒKQgQ5zx»dtʼn ;9͑b{jE8r[ϒ8#{9?*HHwNj !A S@b/S緇H+zwfKJ Cp/MKN64)Bsz$hIDF=D۳"f%ֱ|~eUeX.0 _pD$N@SPS"I :i(1DvcʅxmmP`t1تt\ LSD-jq)uOR = KNVDdˬTF5O&Id?|JoQ.K0e%zNsh, OW_! U:U+cpe%jt^͔R$7 Ѥ:K[晠Jy?ˡ!;t@$x9DDs\7C btLj[06vM; (M_{Ղ95(qmK~إqUj*{珫=d\lC {- 5N Jͺ ^,Hu(lmzE˕FLh;C\ʬF/FxSFҨZl )^ Fr7$l0b2QnCQljq< OQ1/S#55=C$២fcK5Zw |upIZkDxIZmLL .Zx.&'yrѷBϖTw^*FY js^)3N9'`RפdPjsd^OًS.]Xu>M> F14ѮдRWoz4Uv+RSkMS@.̎:`o`/Pփc<oKK*@앶QsAp9 (^+c;#, ;g߁@R3"j`c3PLD xOހ\S$W:'K=yCQ#9aY/];Qkr'5ʗ~}N>j8 tHPs1RǫEһzsTzvʊ~e!)ƶy7gAwnsoג >_;.+$iuK3w^(k*PzUzv8njo=#epIBO&yh4l՛'" icg%s$WM`_#10N<1FXlҗKB6_KtLX]*(Jڟ҂nlMFM3dE"*۩ʑ؍6)E%unBa;hZh.nی?U\ժ4כ @ܦb+^H{UQo`eՖ!LkB׬cNPi~. 5Hcfq[͋6/ ty 5Q%h҇2dюP9E2F`5Œt/$.(Kw$7(W%Kf _TED[ōOQAq-ʲMf 36_D4`eJXVMMk.`2 6̄-$6:"޸TS*g rs{m(B{ೳMPq;̮,,$~Cnat7 Ь'2S;$]GӋ}a+z0a߳drZO Ψ,c:Qx.JyilE!(*AQu HuD) 3.21]ō|NSբ8eU4̴aIb%u93Rn+7fy"VG F(i<5m_8s"箲s)גsP()º n!ۖH!E~Vz ʥ1q^`Q$uVoQMC'1rZ55iΟ1vqe]"GD7ϭMQNrkZsWٹCZwp$'I-*N6,*tJal-@#sBWh2Rme*~n+pTST$QZ4+Y;"l*N6_FBߐ*אe}hq  J@4upXRrZ"Vb {t%5I}4e  g$EcZaSThmۃ.LzdBղ!J87v$QRaEP8:; 2b@iG}#4 WB]/" %%q8Rh4}]UiRZs]&%,8Jv]L@CXh7dY[{77"9 R:yw-s<(7N*掼BIc=@jI1n5‘kڨs|tyiswWi梂%fsOOO¯kn2KQTϷuzv1I#r?Ej?>|%Y~H E%-*!bdD#k>2ϰq=vP׻kUjw _ȏ6h_(.oTqߚ(a猴»5e  wP=2ekߣVEWw=@U(ze_z=hE_M]Hb=R1( }V_a=mE?cS3|}Q.ylvN{g'ߣ'CEWS*[dmxT˨!ZF~q47jEm :zӥsLg@Cq8_y.]uoIY-s%i,{`Ӥ̫ .gKfL5m` σpF #w[3?-~fHz;T_o*5=rG^ !i_(bw n,sE(=A/`˱:% Vq88WAO)NW,a4B%:ޏ#!mtI^DF"Ļ.nK)L~j߰(BLIK%n?TG"ݠL;8@<q >6 {<6nTwr|N5H͊Hdks(}LYʾv |jyRd]! j5cì(EG,ӨF݂8¨ fvnZ*4G Riy4as\#f}U4Q&I0!w*%]sN:Jx@h%>O9=頉uFv[`~?jF挶"[b蹴? }}h*g,y0 Bq(kvP xl;86A-Է#v67Zn_uKVQ9=Cقj۞녫݋GR]:!NÇy]vIA€Vs"BI?Ġ 1ܙz(GkJ8!Z9)FI$i 1\BX]%h1fh1R- .esm$ [ck w4 di6IecIW frsrVyQsY19fR^IBT@zړX,\8Qcz$iYK2#jnZqvM?c%%o(t6llVua<C}j#n(I *=oUIŭ3(%vz9n6iW;3)0n _fn)B0{@0YM l縮[c].i펔TU$ؠ yxC}*ٽilQiyð=>4r5iiL1$H6]pC&P|#Ә.l0zc&zwr\t %\X8Rg).ݑUȾJ]fL oJᡴfr7|ڵA)SyiӂTKf|aS4N|܌֨`Da0,>J%|H[~(Mg˰y_:|٤B+ /c|Hܒ~HɼIk#N1A9bk:ٴ{813Dȇ!fad{FILb7}v5?8'\ c#sD P(NG#a>No[K4:|ƔwD/x*Qj:0襉#[ẃ K4&9x.n+^If3HY_K"ט{Iq^=0;`iYNĉ)ax EՎҘ CmIvoH O@rŴak~$Q:X^ۣU; k[df!b3t{Ncfhz)3ީ0FSXx$T`+QiPe-B`Dh0sR)̤)KJ܈Dôy#@U;oc7 cR:U=X- c;7@GփZk$ݘWfeiF O]xA8DLyVrw B/vѠ &xvJJl Np:Cf@m @+֯Wb(udǭVy нZ~N1G"{>Dh[y!tX&!zsI[h6 U|{JrlF~6)0n@®F!,-q%JB@+vaL;!Jݷ7di1Bq ju҆buDp0iYffZ2:XBX92uqzɝ|B&&pzl^&e,>r9yL72 3mđp'eo> ZFιym spȢ/[cF %X6Qy$2ubCL)K E2ϥIj" o(#Qy{\ϵ=Lw}-}!s V׏IPڂ~]@@]$5|I YQӯ C@MIʌ))!&ɚb \+nIG էʡiT}Lb}0,MșNTv  ]=k酙K-%NQƼĩK1Hh4[k%]VHPܚ Ȥ!!Bu@ 1 _D$jb!H+ͪW?,$ZGӴH C4 8;15_7%^4ΆuHe~4k_)1!6)1:V\O{_H5B! #9%^(MQmXI qu>{4)id1<:',2m2/^QmIM9`7P?^q-ϺX-"DNtd1IE@Igm5SA8yPB+ꊨ634aYGɪQr'&Y!BFr ՊHF@p LW*QKp\OpcSC+ hbvcT: ~qcwl$1Z[I cYV1rODzIˀ;.}spH 8p7g]$p] ͚D-'iCَ|4*!6ZsAM|@x3`: ۴jr&쑸F]5gu0BI5%Tfbf1-,߉/lܝ"9TI-s/r%a5=U!U>Z"-4*$&ИfaWKEFMˤYiI@HpҪ.(DhI w/,pkDw; fZ,Ɨ]8hҷ&BA[ޝ8!"@!d:ZjzH0tJhu sv{cc/&%gJ!xINw7nz c."5j-4˯7ݮ^>m+eUH ]~"h .R= Jf(DӾ#iT%ӝ %3OlP/Br6\2IP\ ȯiaP$(P9%5޻W#Q}j0d_欐:XS7WHأ 1$! ywRa4AL-Sk?BAieA T]r5.ցF%O+{2`x,&NpcJQmmUq;)fr`--ylƪ"j4_0XUphե1<: 6 ]":^kJjAcb VI` as={7[AO@%D=n s@_ %2Qi~S6'LwH']/;33`;},b|PWe)o\$pBP0tψWIQ6Mx YG3ƍ{}Ũ$D&o4M! @G4CYW'ࠍ9G2K`˯/ }T8,Hh4oNgFӨ:܇k!p+.3iP#x$:ZZ$6r Iø XnMV6}3}R͏ eăԕa/AғdZ47(!WiOЄsq@ЖW{H,ڦ.'+8@rMnOAzLh6"AۖHOgc4#=- +9e\-! qsip5]ÊmdˋuUpPV.nLj8}S5c caσIōwTH$`T*5pɜn~\%;yO%+7o bmvZ3sy^LҘ4uO$σIhmR%f-YUjRqK'KnK9p *#mQgT3k9/EKa/)qgKNc$i?Zn,&,;Kb-x9{C&{kfhc/Kڦm\NρG6~iH*jJHDRxs}Oѫ =7槛맛P~9' +H}+/mrCk:ƹ!uqˀEU:ٹG)_B.@l;Z׷)+H¾r/lċpqMBFK-1$r%g2HdG`|)3JznN D Z%itT)淭'F_L;xe^JH$@Dz#'^|fyѣrdfV@wӜ柩LDUse˙T:[wHeDS~(SI(qz? R9(LF?qijhrJ$Asvb(nz*0wiЇp=)auvN,eq FY +Rmv8h~0]/xyB\ D+E357EhOGW(K hu!IJoݴupV- mJKLJ$ܚέ{|qKz^@ s2 8̰}٠v-|Vi:ƹ"bu!hQ6Zm1B< x5w>\;Du%Bh5ȅ(e70-*-# ׈L۞[C;R +|PQ PZUeu!|Y Uh',B!+1Z>L/0ZK;~߃ׁ5R0Gs-`d&ʫԶ/H|Vi.rD7*#lZ%)?O"ji*.RUc[ʿwfnskE{ q9`ޯ-.Y7'&6DĵU"=ܢ߹4p!eq~/Cϻ,]QY呺xp..jP H?; 3gfarI{`Ag&,nL/bqX$V%#]CDhUaHnx$F5 􁢃*ͬ*Afh`8&< hwu uz"7 ljqXU闏ov‘A݋^,Z|0o;OX;FeR͚Hi[妮S%nӲ E$5Xcg*oS4 Ĵ4T6E_oǫZXxBnTiXN?qWxc)V9uلP$N6ju啎=BZA“R툘5 '@ T6f vdq pܫLԫ%>L2*pgIPhlV '_=L^ d*0~t4Lho\F&Şb#r>2ԓz[K0Yt\5(" @e4ZZe"< 8aS;={CJqES*ʜצePzҟb)Vt>Kt!SFGHi ֵSI}[MZ. V 3ͲK9*ƷJ[*. y^ll%:%dcb2-rЬSɋ6(YIc4rKW)́sdl`Y|r1Z(npYK?61 4EH+ WJy/o/p1KX|Ņ%Oq#t,Z@;X ߖֻKx:vmQ/Az<c ĤI#z r/J=+XS6ME`,ab&s:BsSP@U9hXD\e%dw 6eYPD]دd] Q -8 _ofr-'rBx$֯Ci\mTW`XbRL,+'#Iq-\ME%.5-Me~m0n@WH7UMI)U!!3XJ:[X._@% Ⱦ6G/IR/CdKC$Z=yvh uDqRwf^}qTaiH$b\2+v TOnyף p_* v'-0a<fm)qt)R*$2l`3F^.FN?mTotlʫ5?؀47lI؇p"DiLسnz,i 4|c˼=$M5;wѤ6 #U^>oΝWt5|_^DPWBmn6-j 6o͚vn~IDϹy=IzJ[z{aLhScn0xq Bb9#]a|v0S)1'A OL( /"C:p!Nq p4z͘J*zF|p+5B|sWٹY(D*uzK?A?yl0L=s5Db֦u0/c5Z3%Ȯ3̱Ѡ-̿Ȃr1 jė  荅hP5ڋ6 ++)q&R'Vz{jې+BԇűS#_mcFT)q(zY"+ϐu]׶S0!{Zӕ bNd7]F=sE7oҌ1R#P|Ry,3e0` "Bs$؟n+o1#W3q@@w+fk>]SEFpFyVx#ּd ?D3\k^?ƚO o_"i"{,*{GFI Tlv(+FAgC{#LR>9J(C)4fڹRG[ x Mkg p%dž\8'䁘Rgr(YpYS ,q=_Ҥ8y53i }D@{r*Ⱦ"nn=Ϯ6_RcR|bzk+^])Z-Dt}&: C= F'bl҉!6HO՝Ԍ. 4\7 [fw p?dB>X p?@\%S zR m3v ekeQU툼a *ɤd%B*_ _x%7tK92$i(rąinԨd}'ۍKZíIB $u dgpqU&Ar UF 9Z>mHW"3r__e>Y8+ӅŐ/BVtgpQ ;|Q7aET~M?#!8O8LYe民@ _5QKzl̗.t0+Ņ OYSr։4Ud` $T j4S7j!ٸڛyk1a%I Tf2)hTX1N\mP>W.! 7:NJQ)^ [hR9I#"M=^e׋/ER,_Er? 9p>L>%@[7/ X?6fOǛ;o߼{77v{bKQylCIhJ-p[PjJ}Wݣ .tQXnɍXMR`;U`& ,:ޡM  S 6%}*H8omQڢԦECiKTr6U7ެgp: U:MS[A KӦ$nHY+譧(};9|uG岩AzJȃ-|mO"z11H-QHߗ A1;U*L$KdIuoي&N y,CsF@hʌTT, {Lsj?5{1rd*`hzv(AɌ 3n>'uF] %꒒oa`6H]h-ϊq4 iUrD0D:0a2Va2Whwij,Y4'D& A_'b;2#ɄF?xt/cJsJ'(LqPq,WS4Qn>SwxB*3ҽiT-P 2P4+UO:083P'lH?:.X/t$Z:&C]yGzxDiJX:[Xrc6N^'eYpQ$?b͑OZ :E:xR2 *ciG"Iز4Ќ]?}ޏђQn0Y?qww&Ю>[ǃ}sxyުCm ~KJ~?}ʐ D2ȍ#m'AoJ.@4v{=~''^xď_a68.q&a0cGK!Zka%*pΔt+nۼ+^*UC :*p Ozcna0_'\ xR<ҳhg׫39HN뛏?R/7DWWߴvkzFv' LbW5&w;qǠ틕|'Lh:"A)̅Nyab]ٍӌ=<'e|`, ;Xf2 2_v:A9TXPiv j#:Qsr); J͗]3"@Fc{Ga?mIrI~ٛYp46fjjڲ0I[*v`D@"H`FU* O})ȩ=n<wH.iŎ(pNcu%;$v^pG)ЈRvM&M:ЌvU\[~o|[M> ?Cy˵R֞ﵱ:gj] 5ֺxʳDfC'S\e4BܐK =\Mދ".yT0DjQk>}496D=)MƂԄW5\Uշ|$)JW5Y~*clv-|No[~&$/˞HPI܊24$'l㊘ LG>fow^py+;cB5kbpA{˯5ui¥g+sҐĻV!q^pLsiYxӯrvH6P)t>v4ͥهk[6 F}҉ĪrĊyC8QM%V$Mp.cЩԚVyPY_Ba8 rb6tly% Cv0$_2^I9l qDkX}ĦR28#V5)]v('h"…Ӊ.;Ғe]i־T \D{UZL8|3u}gxm5 gF4< |>$)PR5gckzz(BgC3-'y*xWģ~aOIt9?(2V1b6NSxdž07+`nwFӍ`n-yXW0{0TP m\[g |ޔwι Ik|||ѯ+_9L2UWuYqmՕP]]\h8^ǫWTh`V[\UP|r{-)Єۖ-2۹Fd1}dlȍ/B٢"ƨ#N X i@Fl㭕@V2l̋Jxd+r dȸ4=$`B.v<&Pw^&5l[,nkMȵC13-&vEꮠն^ee _mj;-y&*ђNޘNԞ3ב&=`V>Ob&AU _%LV[ л EZ޳ᩂ G'_wEMmC eGk 0vBDl=v< @ƻUXTP Eƭ(lZÎ3=^m }u)5.7M`CWHatIxcs0coa {v?H7v D &5Sd G`%K< Ya'8dؒ|ܯP¶ ;m .Z+T$6) !I=b޷`Pf@,Z%{?|$wX 6ƶpTvt)(팼2#Bdl9c&n̫<2kxբ$$Wzn,I4<+XM`BxO+15EJV/{©ddMuV2ʁōB$D pֶX`,uA½;p ksVz"2N,*VdUd|A60N]NTM@Uu0b#f>d;)H5y[{(L" e-۷~N&H`{4M|(AE凌;tXO mTJ%b%'z%f^KaN[g;5dwUIFҖearV5+cMl8s f378#̣+tl('$/,γ[wPN_-+R?XйW4x4`_[Y dsɀa%m1*t>Vz<[W)/~6NRDyM(u8O]g ;Ac$8*+#+u[e,vXT%BV7b*vXT!Xk>fXTXiW?<^K0C۱XTapiE;ý 'pΏgX:VS~@Yʭx {6VY5ۺi^Ɗk[4FZQArmm>^߰uYZvc(n"L+r߿3M3wץRKꁮzz5*m[&Zv{ ,Ia*` ʙVVgCBԱx =ouʈ8%\(C%gY4hc˨N#)mvRyH)pT6; # c 1Q,$Crp#K:mbZz95P+{Nuӱk;rjaI69 ~H҈UVeKYJRk$69'0Ye&dxo)m6 2rR݈ iFb?_T(eo[hQr#6N^$*#2IBIa[L:":8Hr (`Ry.,gRҊ0IaR|mֱh&72 ҡjc6J]f#XK^1>y4!`7Z:[8NH;ԮB ժ^C)jFh;kVȒkq>p( rKb=e_Eי2g8sӄ5V Bfy$/ ;] ^mbUbBI`љsRq=r-囧^Vtāh)[VK:aamաu6ZLL.FSaFör҂ٸfSc(A_F [´YmǼk_BV:({L\Y%NR]"hɠf(\#ţfQ=NUJ*WDMm/޲*lԛFEȭRLI*B"%sDvvsN[ 7ՙx-@E5y|חPCܣy<5y5_4$FNA|]2Ykkɯ V*WH@-nxӔL}  phKǴ.f,~j4hZdъ >+kx\ge]󞉸-I' BT.)H,dCϤH7o’'WbIEܼ Kݣ6zG6J~?fZ9; 爐"U3Z@KLB&\xNY ,k)_,;&R{ewJA!KV -LPz{8n~QX> 4zTim`o"(MU%7~Iu|2fwd? y75se mj`,%eceQoxZG*ͫza"kU:֬φARsI7XYGBTbatagyISrzNb=Jf!2vE&Vַ[L$#;7 Y0l AA~]n$E'vÝ:g,M̹ Z<ۙjd .GPE2ZCKEhz2Zc7$#ړpK2mGFc_] hl;s,p;_O.=a_-K5QWp hݐjB|{g=e:m%.2J]M$jj"V@!|UkhEFJ- YYCEH{S@I7DosYaX[ ?<>]+D# % RG#Q>a8idSFz=[dMu=߇{ӨsOlsqt]r=U!WLrH+/ p-TPWVX|)L|՝M ƓCHM)ijuC<1QTRæxS^I*;YϻvC~r9|cט/(r_hX6۝9T()x-t z䥭x0h*N;IhCG  ^ }A*-'O,+mA@U#xF>~GB6 X;*4;di" 7&^^LX!Qr? Um/>MG,s\6LPaFFxfH\?HްUpV'+ 0X*vqbQsi|?C~*M}Ƽ;}P*'y(; ze Z)uqB+7&Im,»cjyOc.OwcEz<|_>`U5Tf#Hͣd+vxEhPx_0isv?6nm63@b(6wl4Yj.'Q4Ƴ|;B'$r^6ZR]2&(x5HaBƅZd'kn׳Տ&,|||{{6^;DF\`]rJ;:gPTX o&Mł =[\1^Jh=P b":[,+6:]?4:GGVjԦ);Ϥ5Hy7NK0z6-&{>N8,cy-Rd99DO5$+?k4 TF)w;>M}EYv.5Yǫ!_lzֺ-6 ~[KK Q+wlGE1cUbwYz-TFt[KJ?y#92d%TfB>y%N;JZСB;9A&gq.NKT@=#`=!&?\] &.bw THEV=G?&!{k &'{szHV_o0$% u bli0YVB{k\%BcnրRFuϝRtxxb_;c^̼ u9 +?@K-!wOT@`ܬn#==hKs8I]=wD3E~w\:cF*, ")]e`蒧,u%j?i>TSl3rY c*ZƤʢS RB&I"_p,F yd|T\@a| Pa e$_cm/^{ykmFCAyjJ~i۬ \*_uxGsP?|xה¦?LEZkW.SKX3e=kw/y<В y ?%SeavT=uQF#'mt#%yG)&8ăCRN^xCm'XB&#*kT`'".\o--Sq2~ тk1d Za^X5p)F"m\|G6jxs/޿1х6qRܫ0!1,I]Ѓq4KNVY-;|^8''Mq?PnuFOY0pjܡԟM<`=s6:5kNn+;݂$N+狖5ϊsaUDހ֍Ax+?5 Kܬg1=ȏA4 >@W̐_ Sui3YS[Z 3Ỻ(v̭3?dUN%FY6c}bѤv*nOx%7<3Cv_/?5̈́H1.e3e@HLnkRT?}J,uN-0SΆ?Ï¢P2{X!v&rJE0:ա1PXپOQwjg+XmL"^RA0({ݞO^,X%رa㣽S95 Z5|{*L ь±OpznkBWC&H*qN-E̾#"#8#vy{ ~e @,Tg  7: 6TRKѵc7/*,1Sj3Uj 8&E+9,-LE: $.)/״ԟu8ko/#诱w]d` mUh||oR X?iGD a$n.)`fgD9x&?dPJWbJN b?1š*Qz7#=6`H9>R!pLEF 5:$ȋe5D&d1l5~ט|d;glFcMD;w#o@G,`Sx7ZbBH"[IWOi/hi}CyLIv\Fά%ӶNmָ؊{p .urXgCL{R}މə׉&qkB0 ԺUJ yy{-qah{,3Cޞ+fk܃E/kwiEYƒ(8+L%g2I_@X πcZvjǢÕ#ld1Ŏ$lEh ueaѨ >6!A B;dƗƟx0r \C?>㵇;0ߔ4 @@Z;T>9!eh( ŸB&; 1fjpfbZؼ3#1ҚT5+ȍ4;#mo=I1…̣)xx4".;k5C&uū]SZ.9 l*6(_d*.61Ÿl ?猴p>l:Ϸ#K/Iw3$hTrN|7-א8۲ѿ^H ɗO/nBG&vbXe82v%ckj`y^@&3{pPp($$k<6ى/J[ ,Ng0H^<>;Jt>bU[,ȷ9x'J`dBJqQ;ɺ&KZB:]Cy<<5_SI/>S<8橳Nm{޶)?}suxl`upARwBܤyLj̤2c"(*?9<>-ȓWP㸖o};3)%jf|Kğ* t %@OfإiAla̾c_D/ j=<ӰG`2^+pQ+%zQ.Il]ָ*8 $[>ҿd=8ifKDܙRT^^fp@ѥ~ |طDj܁ZxICRܲKge8+t0bQ)X.2 ل2scIZq@7sxFtA?x:;v tOv\ɽUElM/!%s4sx9d\jiї\EFM[Q4Z1깆Jiە{CPOOf?і\u0p0tE9;JcfӅJѶܳ|I2:Esdt8,pϺ g$#O+*Y5&J{LSȚTsd kN1Μ҉`f4Z-)pUT3}s5a56y^o̞{nqy`?Z9[ ."~szD`4% ;/[0uЁxh$c}+\)5Y˥DŶ@qiP{mr.ڠAN0` rB.44DyG&?V@=Kg4Nc.uI^KqU\Ug2p)uNo~! t#ӄ$4v/3yu` 鶞Kݬ\JxKϘK F=v4u3\B9'u;Wk{e,rtM7KY\/xHԆ7Aǻ<~WAy>> )=6o_qȩyQ[88/ϝGN\USV덙ӮK bv)Bxy}zujK'AX_O-;FAK/a ,"Nz.NCg`GpWpz4~`7?S0o>q su<_<`p?g}^*=LJ0g)/eyU_`#XcK _~ Zrg\*zE0U%-uʹþ<:ȎHO=H+q:z g@QlH*AߙXؖ}ގ}y lCcА}XV!X MHeb22 X֏O~|}B1eb!܃λ?]03?{7?z4W_ ՗UOrI?} Xs8Kpv8pf`yDZߙp-и##nh-9BȳZ ujj.5=S531 ˤAh%G7Cۇb'} 垰,Hp) w$#wZN;=7mv!lg(.kThAt]<湱pneqjZ+P\*P,TwR4T7ҞJv<YKPQ [M%,HA3D _+2ꧢiq=~"V# `:BTto?|NI@p^IV^#E+im5%&_t a:dPR @wΓÝ|_GLꉄgt^<$ )Txo,FzIn==ܶC>&'c@qdft[ s3ȻQ`:LZ6S(nBg䕟>eYRtU4vD򥹮SRQt-j!24)N[vS҆R>֝ FɃ4鲐wěJdri9i] !*@$wPQw'oa[7.$I?l`#dAPrV!Seh5-a;boj@g"A- OvX~C,kO 3=g` mZTWtBgm,;$YEGL <# baC;5*50MvJb`N 0R Ryqa[V D)$5sXSJ E;ǬeYSJ8 .bS9H3^).f?'{|GG/24[ϝMhl&i*GzpVV|,} EMKlY 6##UFgޫqlG bi㢉IҾsGTw\L`g]3 S{͙- q :]ZRHH՝i! ~ezF+I KKb;z;ϯHaq SꉸgiLAa.VT3&`I,+Q%4*KG =1?;I%73N͝qgwwkPE4[/\J .ɹspɐmm#3BIR 1VqgD*1|Y*+\7!iϼdX"Tηl;ϷBIFi:e `'OrηfOpmKY9?%iџ(9MTp~ :(I!'o#cyŅuPiwN m}oV`–f:xEe~#4ki"x " &@pW^i2<& J&R~E{Gӌ&nPf M=NC& bk( 3 @g= '5ցch2Uɛ&dIN]?O{^)"[Kg_"Jnh%V~l/Hx|H3]>EіQu "]D p#@o??CnN&WxYyJIa_yo~oB1&ȴ?%c$DN%>cY$ xJ#$ĴjIHXy򁽙UZXl%m 8UҁP,]`70d=Ǝ]$[ 7Ve`6#eDZvk֞(V4}zkiu$B֬Kt1v{R ղ:&܃T-CkVDK[DwwV-Aլdfk)9 'b NRT^uj:(Jr4/ ܡYX+A_$Twi6FO͟NM\aI!&J'򌛭υy !P]]3hC b*ho}."bVS`SRohO[:c2yj7d2eU Z,d <#?JIR%(ži{i96૭D]^P_.4`JkHعwi0;ZzIjmf~)藢osgaԅr4nu9:t&tZ8t>\L*;ԾXUdjXNQH@W%6IX9:}&]z#/d'e/QH+|ʫM~#929Wb c<^X>ӨӘu%ZE6&q,+MlwSEK!$8N-Nȳ<}̧nv&r8e[MDl Bs2A^7#ӥX7L'I} -v6 !|d\yBѐ*9N# S)5xouX  i~%j"ms(y4u< p-ݦHx?+*qQJyʰSXL4i6ΰ6C$\ۡ~eȘrl]XplН\8YiX(JNWaWSoY{?P@m\(" X*"R -拰kzL 'd哴щz7Së)NNzKEN}ѻx"ƈ!.azLn=2SGQ$a"%$EѹzZ^0%7g?#{?aggynz\|5" 1Cإ|`|j]ʍLF|[8i-gJjRIC5R99liqaE3ynVιrK*j1#b "b2}pH+cŭ?S`Fk* Yk嬬X=L`=b_ a.'ykOn*9:Y MP;%BG[5Z){G["rB8kf\%rғ3nFL~Z=As"ĮqśOP.< yʆdic3YO-YTB&$ғAf+An[u%/>da a`1Rj0PfH8#)Nc1uYgڅVE1\QVHG=/Z*V[QUx>f!⹲kCrPV&BWɲxC0.rfv*9o W~F_ W~:<LH 3:8DbWUdC"T.YOF]Qa]G [Qi(kO]Pg-eHZ4ۜ4.v sUjy}d8'Ɠl<ߖ TZվ HsAM\}6ݤi,}=iv|7f>4H|!wGU~U겳拉5;Ͷ L&FHAސO**Ja__cgn[Iϰ`7Su԰MwͿxۄ{M%ފIpIod@6WB7n6Z.:&s]n\+ 'x9>vԎq?eÝ,OgSΫ;ֿiR:%y&:Z@⽥ۨ&65(&tXOa!\@n9刯*V*1Wmrvv ]NXiJ=耪UGAl\Cp4yY_,(zL/_&rӯrśM?#Wh1&G?X{?2||?=_oO=?g?|w?~'VKO'kz|:%En4S ҥNܩgbOY~Nj9M6S[H02ۑg=K\j'Lڀu ôͪe %B )LFx׮5Ewa)jcS."y_[\68I1u{(}ARf/z]v[BsO+rPMf0V0cQEXSH|떡5Qef9p,Y~xo$ЇPrSɛeӳPP~FgC3!]xzW;炀$&m2 әOW9N5I% %(ITM|\L$(t^K$"/Or,n\0k54Sj[i޹jRmrUWUsa؋cЄPuyfwl8dE,U?Mf*-7}_r_R5$sM|\;lc}2M$ zȶJ؟#ԀЕ{[>OBOLW4'x7:AG Vu%OƷ+P/LSX(\v68M~\hpJH0Jdr B:3r'!|u\H3Y"W^ rw`gW3ӛû=BOڱiQ舦 B[JCua0y^qtI )p}Z={6ݳ6m 풆=#64{%HBeu<֜+7;p}K'ϻO?i-ysÿoM>Mÿ_#[S³^?%?=~~NwN?%t1و35X|9t)|Q; f[.}?W?|JLZV F 0 ك;.43᷅& o8o@w"ɵgJLSyO}HM˓pZ󊟾|iym>㈠q6ń hmJN)H Z LaW7d5e(Gany~W͓e-jE:o|Mμ~靾Miu =T|Iߢ(k%7?KO%} ԕj>V] ղe-IV{Uq*WU*Y׸|Wh^"AP* 1m.KexZ1PbdIMOx.J0Bx+J+2Mn T08q&F6sS|&ʿ ej˓#K(.m[…XbJt +%ƨBln,XhMVT€gWbOcMTL,f@~VRGkV$TB9k;ؿ_Ć.LzY"sKje/o5j;r|6'o5˗j9Z3C7I\"YuX+t\.woK$g2_R YM8ڤ̥ >˧tau|֛D :t (dGFT٥ewTw2(Y_ڣ;r߇"uq,OoSV?K&8C"̵Wd˵?]ygv9LyE^w,fpFvmm<;$vIpG)ЈRvҪM2I;0=u Iu4@Ƿ%ڛFք7: JY[VF1nwñ%Omr =`~\ J$)NxCTckwzz|0!y_D+DCD3'7:`CǏwWD@`JT6;He 8hGvƄ k&6(؁EႴ (F_m,5M'2ocnW>$. :DG9t"s:`W"")uˏL_IKfJn.;HJi`=/B)7JȘaP7Lڎ i|jVN\EE*ǻ3i|%|Sv@m蜗]!(Õhmϗ`]X@J~LfD?ˎdcWMx}~>?IfsGo:"Yj[ڲ`N5v}J? /9z p}g_Ty13ڥb͖Qsœ#ịUuZSp&;?)ڇP*eFOq; `ږ /[#bE{?G|rSIK03`b&V]+3-+9|ht+^ީ;[p֨oCr6"`WQܹ&PgT,P=NT"Sb90[aT.]!Qn-BE 1gǣ5$cU92޳l`?,kk-yGT5k\*@^S_S_S?۔cEaLx2*nV]Z Uq*W+ ru tFů\qkՏ X %kDƪ_(qcy#c;nJ0E485V$cݦnAFAӘ;qhxc/s:ZѶ ۻy׏brmG#qiJ{"4!B`7SZcJN˄F4#h l[n{m-)Ɇ܎\3b2W ZmknZV6ZlCjt|u% %* W QiSmX~tʥT 4`y&'k M1iǜɹ4n6wm%@ /Qnh{I%Z7-L^*9Vl!Mo*ʳb2#{N5$JHYO `${\ef"_IlDa6aٞn۶J$+*G 3HolXz+U19qjrI iCSoXE#եs^ٰ;)h9Q6P8i[0XHAB]u( $;n_YI6gAb*%9Am@O|ocl %5"&YUr]<+3b)z: EOΘ <^(܎c+cc7HgL*KX7&0!O']nRj9/{©ddMRq/[>H@>" rom!iZjmwLz;pQ J@d lѨQVA'T%Ǭʝ /2@  UPDhHY)u&e/lmLix`ͭs&-ŏ2=Cx]EM6!M9%"iXQ>Kc˗wZ2 #6\GF3!{78P±:h?:g@ѳ05TnQN/1 K> K @C81$J 25v:)Npjn| #NFO=&S3~RnҬIj]B[^MȿrRԗ]_ްy`K[":no&&be)M{3mԢBmY}Zhe5m7k} IߢئE_ &[&mQCDc fiZ77QRٱe w\lJʎS}0h6QL#:"uz=AoIF )!aIlPoEpanBLbu j:Ii*ux C hr~JH>TPIןH*ȯ܏]'v631 Aƙ#o\|Ϧ)E[Qί/ښRjUH[Sv]3߳]~<ڊqA5N p|r/= \iLGr3ˍ3פ0&`^  Ǻ?2m['c{IUr" ;6U.HKT!Cc ~{z7|]X,K+t7Q(mli$Nj8).v"fd#EAPX%Z8Kk h)lb1DQ-{'qYX5%AƎ٤@đHw~]PnLg0,2xg{ȩm;M LW+ŴrqbcxLmûKiŴ"[y)'Đ~L#iQj@[ڶ;z$ eQ:֎i- :ݸb:8H @Ӟ( S.,'|1GLJW|mֱ)߷[@^౔$pҡjd$IRRAWpLhY3M*4yo9pv(JJsn$'TQT IS,e:- o,9@FI,/AJw[$@Zlg0'8+@A8JʖK^aF[b*ۀBMnB8 {un/o/× UL Wjv:np#Gx#Mllg%#^/H&i󷝜Ҋk;r-L],{!РnUǪk|񂽮d vzy4Zno"J/ nRxMw*ہst:mj4xuw Ii-*}Q{`5g f^y ^J,ܖe\TG[% J1'ςF D;ozdsg3N^q$=קGN&)^ ̝Ai{Phvӻw,OVw8tVTJ4cFLeވs?\<{~[ZYuiz 3t^PB{O?|zB>5>݉$ (?P)+xY N8I>=?~/}+^YLׇݧQ^U@ڦ~WیJU#ߧM}lG(="Tˣ}'1vO?Z0t;zM?S+x7l{(rl|!D[;O`|\gp#>)}s`hs'45Ookr|_yIٞmm8yySPd7J6)[ԯ%3 @I&-;Q<_b@W>l4PW{[4Em#P Cf04 w0@ >E\lg@"".A-NXRlcv♚-֖ H) [rOZWY#67:Ll@|8~9D cE3#3M>T/b pPiR3 X sGhnQi0u !4Y,W0įyK&P#N$xHh; =`8iE n oMZ62xbXs|p& α;'%P3m;$l*v.Z pr\v^9^H޵͇'R>@}`RQz1k٥k {~89 ,NIL槔Ӯv18o +ǁܞG QvWݎVPfVޑ*upyt]r&2˦4z2uN56+En+1L1LBLf%H:9c!TȞBĀĚu#2tf{SydɊS_49>z]|i|=8T砑hhcdR_9/ƪh@3-]Az(Uf 2>kUtO*&}!9~B)oCiȿO|h@ ==:}X4Un. WeӰ ߄5_S%r"^Fƻ5~)5OeaoG~khu4_(1\6&)_7Y-6hA3*Yy<E;Re;C:xe= l# le}1=Z$M i|Z)JHmT>嵄3M55[qRgO(ץSVN2 N/CqU~aJ/uΨ: )[=u(>VLv̌- |Hf"-pP¶NV#_!vwopyhnO@lcFg9㗰=g]ƟRgN V͛w&0wzTT 9Ȃ 1Ga%@ (Va'3 N\jЭxdr<| ʄlk3e0Ŵwl%BgNF{k9/ż>a)0 ߮rԕ>9q]Mrg\ ߅фvV` ܱ9Wt8*|oCa#^U1N0QqؼIT\~4^4cظcTֹ;6u^~lVҜiJ ol7xK*wC]F 'Aq ntwNذ |Njs qq@wBnj"ka%Ct<([0])R P5kj516YMU WW.ՔbiC`D*kV y&[@&oy%͡48@$9j_fO+ujӦ"7;l@rYD,Â3Y.2%ޞ-,P:[4"K/BNjUL 04^,$i!;/uDÖA/gݺʋ-&^lME {# Fkz scFhz wS ~ߥ'_*8tFCeȅ[Q:p)_dzy٦rT.<zL8 UDcJl%jj(I`ғ#'t2'a:jaZ@JէAR JLvtdC\ + lP s W^< ]>`l6Tǹةjv SZsl73.2'{e?w b u0zK aI-c~!+J`g)X 8DRt)5kC-qfu,%$ AtJbx&'ی&w*%V܏ذh+},^ ߜhJ hlH]Hlh %UTYPr*GGmv%; YڟF`rytw62E`s+B0) Er]_x\my ){R:hNqȝer f I8&:6Y]7xk5@ךbѐT[2^U3OSMY &O%SZ ͜, .&5Ms_HLY2g&`FԥRQAZB eG..yI¸iٞ=+kV,55gT] P[EpP1P% e,6vYF/vy6eRXl4\s.]8/Z]& c9gPd "exͬ߱^kau֮H^3b.>2w)Ty}8'e]ֆ#kUvRxZzg]*}xU e)2nO!^scFA9rBx_&Z;,Pge2xB\Gf=g$cG&s}gM2:7 "xM'd ]˲: O&P*E[eiX:ۋtI| 2$5P2*Rlؑbː"s:h)Αw8A=$rx*qIuRϯ4keZrF_8 ww ɭĄ.t |sCF)N^&ibN;DFV~"y%p *ʖߧws>X\I~}s@ ; ADZsqeGkb(ll]t\Wˣ ΑWDTL3wsNL d"Y"Ml$J~\3rݘ |A:|}>OT,BdX _L<P܋Kat`bY*S^-4 A!r foRPL!(8FrO0fBڠ̦ UU]`D8CM8 fy` ڻ\ c5c 7Έ!~=Xs-mH33ko\oF@#-?goh;um܏žuo\ |[A,N.Y qsN=YS\j|WM a9P4>5./,)^lޕS{{TT@ek]DHk.3\C@:]W9GFReΈ;WYbK!)xђT*h,:##`˳tձozU5,H/lVu:8; q'y]w[}i/u1D-tL-&sBwMLm@#h}g]3 fk25y]tȩޛdY6, *'frJΈͰ0>t}d,4==q<>|OJs6@:ϢgQOcVaձ 7leu#놨T6>*%l\<ٲoҭ~; pm\b 59Lj&&j'a$VtaH(ua`m r3:C],Dl!fFa0 7okkbA'p?k,ChAs㺊7]ڈ]d"HcǓpݨ5([|' wgvrN%}<6.lK1zl˖jUEˑ4Q&5!s'5Dr85-btrlBM, `b!ulv6 шN߅'4^TVHԓ_luRQkTFKO+S.5e37‘%r聋kW<6m^G yxxwW}=mV}e> Fo,[Jq2\ 0e++Oi_Ћ邃Vf16 ttQPFQ{c=˙t/7?|j{%}GRƅ!y]\L ƛ.ph6$; 6 =yV :']9C}7w#F_9vHɩ@YաTf`nD rnssI݌L%[qzi4}CtazO)MyTbs pQQzz I-Set1mIC8$\5im`~l]2Pfd+r>p;N!ݠ"*0CF%:L\0F@|yׂh; ^ψME  $\ڙҸ֓E-?M~ n!z'AЇ-P[ĺYa0eU;vŶQ7`"91qi`3+VxȪ`%c^1J-xo LkȪF %E 8+$K"vgI$\!A./9Cywe޶bA U\T,Ȅ H(fߎk™5)`Bp(;J7 !3&ćh>UhtUIġlK 6j,_qd]YHc a(I4h7Fxne ,iccCin@-C$\g;;-G9 T9_'vYZh=fFWdvmNňZDD}p",;6/M fQ9pU-5큀NˈjʘV8DvYTF쌶s~Hit4$ѕ;vh@w0s__Z!<5YX hB ͠t6q0NF.܊I-tWiRMF\d^N/*ât3%^ YBm 5s[$8ֽ } 3 X+ܦ*8lD[mX3鴨T˚qNY1$ƟegcM!fQV4C))Rp,g|ABbilMGA5YnNsWҥL~z[`@L%n[).͜ff+\@.4X(GǾAgEqJHjF9kLf Ԅ;e̐ tz.)^fzF9kl浇 IV6ػ5$ KJf7^DZcJsdp).fQ9 xUGX0`G&~64;},F@؄oXb6%6ө cqǖC Rd-9(=NM,a%f4̛>5-pt  M_*?U,} k.},ȱł9-hK"fˢZ=8dz=He=g/قݍ$,jK"pEɃl#5vpn!mMX'!qY{8iǫ-5Ѻ RiKetbIaIaeNN̮dAf [X!Iw  EeN8]c6dYgcY2HҲvq.NŚ l@*(QEQiԌqRW Ab6(T2.TԢqR3Ʃ3b*%86ŘJEU'f,eqx nvMA,DHmy5ip@g4Njgo4 Y:NfF8kc4AF9Y^KXѥzrAuV.Vsl|lcp`5DN*Y%{XbHjp`kٔ .0ԠX+A`ZNXC-0bNY f>{ٔi IEhĎJm8G -i/(&4ZYԤERۜi^ڒ3n<,E.nꖑ0qCXʞX%ַ\?6ʌ+ݻr*ۊk̇r ɔP 9J2UO7ojwa DRJnџr hTeC! 3P.(\Ϟo_lǩlҩSc9&=Ju{Gtgocm9R?bO OJS'?vIC F]Tjx8z} z3oӭOP=>x~USZ);lLQrf Y:8`oZ5x[xE `f٢>kHNV%6xr W'7EZҒ'ih)k-ΡW[mʅKQHLU!N.##L/#OIR]Be>yƻ.?z՛޿՗_nxͷ7ׯ|/هKo^ %S\Cˇ yopy!D~\ΡQr_rh۟35Z.ƽ!kb$%{&旣Ep&s ucWl:[t -8+`Sa6N_iMr>]5&!2s>͜ƣ#ݹV α4~WOI1Ut=Շ(k> i\0$ZjβTEwk曂N[ ѻef>Yk3%Ѭ""M+"EM}t#s˜ޛkXgdo>:>֑֮RDGHa"NtW}Fytƫ>7t^뫴w=I9 M mZ&L~:-烩A&:%&(²&N){q!mET8%-3ۼhQeWMBk˗>Tu >F:0QK\yUuCv :՚MSBKݐʥ'!$oYv7quC\SܪB&} 88k-MZ?^{)5=O p u1x*]zu_zהlٙVJP'y w}޽D Nϙ>9`2axgŀSuE08PRl)yj@R{ fEЦ Hr 1r{ -OR2Zm->{Ԥ|C:ķCM~9yrFNz>'(&(ӞlO`';NC9(aٟj8t.=;;6`ؿ Zi%nOQtM@ k6= ̦<5xt;8^mX@!{)` {)Y@;pEn[,d{d ?N7g6CŏF `rgar#AnQ0񪦓9t\+\uDOjYr%suLspx2ưxpY2+a2/nqi:}Σ~ѷ$U8!Ybl@]A|nD>h9ޛml);Yl*56?@U:YE*..B!4zW^$Hzcͦ}޽SԤJ5J|Ձ 2&ړj1[{}޽8$4m"8l6~MnD] ҳJȵApI5D60cO "=M l")'l6gۋ~GB "{uTK;sϵ V%}޽ׅ3=m~?QO̔ol_+F.`?MC\ǟtړi)%VlM!M>cP8=Bj("&^r?5=wIP-6<]ȫ5nysLTI Mh(CLV Uif0 A1~]0t+N HQp44yd,pZ6(!rwRHI[t7`T,.Щ8 ߁qN0QBKxB- #jS|-Jk!4T0!3P(+ʩLYUe4B6ZR`L[9w4-y}>ygo. PWl%ixFuAy``faZ{8k,zc$ rC_ 9}>ySD+&`/"Ydˡ+ώ 4OzX3LŞ }n@߫:"xׅn>^s_> 7>,!3?7eoM>f갪~YTa29Y)kGnqpl/qQO,x2Kt>3s qidũF-y?M]kßcE-tz?1Z 2V"1d9۔l"twS}ɳ#Ҝa>}+4k'iL(&D&ȬQULN.2ߜrqrIG_)ү*U\#s/r&ؔ kr%u&g/߻ϟv\l6GKvY%+?M_%wLxIo>&L)gw'Z00:1Qhci3]Ps=J˒ˡS BhuT %,Mf% ir &Y48z%d'PWO{{ofW0\\<˲ e^암NJk{bũt 9ÐoƊ9Zj}SsJl93hm ϩAuC/WJ/#Jx=*H♮nx` G<,rûhm\`}͸4u0p-ahK?%ԪVzΊ1\i9&'y}K VujNڜY8Gn&C75KCmV9Ӊ9$|0irNhZc`TRpxѵ9IfbĬ}]_ }OhKۇj* a!6 IJ|r^3٨ְA^1vR33і]t N|։f$ݧ8%,vvFׯߕڮEj-=}6oW[9K) lҰc 7~||/fC wo^z: }7_iɇK[0ՌjSR确/u{ՙMlrJ.ъkӷ?*F1!x v0އ2ZL ċr/ ܂䧏)M(}lƟIsUˇ]ig uȘGR0M&1~Ec*[m3~d'i!4@w6TƋ9}:C^&!oq5e40.r?6$–=;T:I0 TTOy11=%]uNo8^:hv;x VrMbjc~~ù5݂\7|A"vyҶ+[xHҌ:&Ps2uH4(M,~fŶO(C3g `JCoM RU0&jE鳗0t=G; :8Ý o;>a'F_;D]M^I5p\%CIkBw>(1{b6y^[ڴuCjerM>]p{zC.)9TܴT19LZ]⁔Jf`2l)Hܔ\<Oݝc׿ųgvbDo~Z_7}"X.x]h׽x۳{Pϗkpm߽o˷?>W,ۮx?~ڭx6CN vV# Gz4Qfxn4˵`AY+u}pU3Q\9Sܑ` r1pM!OP/iy>GK`3$FgBG*@fP,'l[pX-JYITx1Df&^kW[x|Z$$2젞|qxREm*'Ed ?*6m|A sʵ hln}KQg%1<~18ǎѷVʛ@|Ër񿡢ԫ{4ս5گX/81N'w`Rm*1A.VrͱP o5F%y* s~|?Kҭ># A;QlbɝcG`P=9PCbmFOk0{'n9+=x2V1W$ϞHm#F4U4׼I/݋ncn?cl~$//f@)‚*g(߼x/֙-@6 y7i^5#Žl#t%v:vWDvWۭgRxZ!$Wo\o2m*Zf]Y0`NhKГU@c͉a1hA0e0 du`򋸚׶ F388.Lc0G6PA-IK(W$ih.*vcl}ˮwf iصj5%/XML^BOo#oeW H %HMfW# Fj묛|渪NhdCZ҉e!͠^_[{ /2~dYw̄*гwu4Îyyayз_]{9A%t猃Wh;!PQ'evӞ7;t*`<ۗhN :T+U(~&Zݬn=vEYhl~.] +ذ(iU!>9i@w^ J3P(96gl0ǞokX*Lf'j/ʈaIJu2=8?dPi&tVբ2&p\B+0;p.m01R%7D!6KcZ+OJݸ}b!T/{Z0S8>r@y~ ,nUXͅH1漁I5y門㍳`vV2(f@ x N`?a9?dˍŘdkׅ  ;vqR>KSb2MbKw9QT-wNqPJ a'q:cP&0m(WzT<8|}pwVLZB=jЃmvFRy2Gw)3G7绿}!TY2=d+PƵ l+W W]tQ@ XG2F#tJύwAb64+V$ZI032Pܸq?o9=M:e^\bE!lRg:O Bt-rTW 9CސKt({F,8(p8w8AdJAxh9< bm=Zb+l5%y V*#6k*>JU%Q%hm1+^pUG .3;k|!ET^Hӡk>g`X` .Ц@v`4n 3oOF`;fctbWR3҇y`)(^*Pi th3\Q9LA!ačb"973H3Sb jUǜqy| $V>3=[e(L">`Wh2;CJ--pdڔٯ8s9D1iɀ#'TƼ1d)w nXV6 a5v0ΫULZ[bb! qiRhQ ^#z|f`PsՖ<:##<=(>6C]d:F1@a)"E/Sha !ga5d":\rƮqu*f Dfrqkx)hOP263Fɫьa2"i\nV4TUHF %*\bX.4j<TfCb q$1#%=.̯K|;ޖX) ()4fT"dA4&ڥU)}6)F^rC݌<5g7nGݜ4m$WdYe>5< l RANGWc(Wclk(3uGKxC2څ$s!:J=yt*Y* NΞLE/ϧOL}`O vu غ~H xZV htY?姘pͧCf3R3\#% yMY.Mu^3%L[ /bi8C_ra[ ak@{ 5#Fw!$&]+b ߦ! :'lr%#oP0kOݯ7Tܱ[}jP~ڏXӤ| sCJ)˞$%*]lﶣIj>(UlWV[3%hTc USe?Ä4t+l]<3ȒOD,2֣_ [r91PX]CrWwQ-u`K-w&rO}?.W֪lguV"PKŪQ^CiSd B#֓M x#A'ݬSz'AweMP*[Q1߯`aj ,Bdl\eEn3ՃuE*˵l?>`#Jx̟0e|@=J`2CDӻ 6\RQSՈ ٱ3҉6İ/{D^1dlFG/PPEL`˩/Rݡ5:h{]8JRui 6ٓйFDM(+p)8k !1el6+gbؘ?_t7[vsAŘzvd5PYj*A/`aubP~_6!#At J:q4J{'nEy WMDnN' pye3ס/o`N&=$ӵiwLM Sp?'-rmK\|#(GQg] 蓧k*`f2ԫMϛt\1Z3& 8IG?Ml|hJg0?AP xPߪoӿO8A ;xM<1('Aib㷿F\&p c'#?^ơO,Mb4k܃?|Ӭ]wDŽ_N仾+Gͻ) =>I.-#&4?Qc91K(y_ݏߩ+΍_W6Tx( F<ˬd[ +B07AVuwM??~ 1*|q^q-d_vo& {]/T#NԈ%f15NaI=`>Ac/g5|"hLOV/Uc) WLUf~ddۤqߒgL2C"]B}7+~]уaoyR^M` žAdLD0Y?0ObO~[wPiw&~ĝ ÿ_71Gƹ.o҈oO3t*+!-|z?C7)*=3ys4g=R2~>[]zuge7g,zE=iH^#'yI)hM~"Gw>1 !_V&WL{81[O:5O7~0r@_iAW؆&O"o \u/Ho-AD%G_&`MȐ") E^1$HfĪǧZ"gei-WM~*1)ȟXYDKėp@U,U-/iKi[k>6t ܘp?I>!U:+a?i%+?aoW7qֹ&mwM٧zL??lJw~>s I?-00/ja Pżhgl[]/bm[+J( \-S-1wm$⻴ Hf%1/v8JNW*irc(~qijz īU@aYU!φ=IN8AP/N.=9-&| /z#@}}~ Oly}lqOR#!7!|%4Ʋo8z_ _k)cgZ{}݆_],!0o yzWI]q苳RD>M[_XF-a.̳zCOӗNz{>m?,bo^\\g7WKeq볾6/X]meۡLHI1H+mS$M|{].<*ϯ]sGukހwtDpA`2e_󕠿Ts?G&?~pWqijX'!19O ?+_{"@r?=|Yci7'&1~A>PN'pr8NQcc{ʰ4=pK={ܳ=w(q$G{he_jDS$;>oux__a"A<`#G<;~Nxvj\pL8e OJa,)rbmCY0Z 'BL1/N_,`v?3X>? 'a'~ձ_jB|Mu,Us%ޘ>#Op_q : Q5ʣP>ή3fK1Mƿÿ~ N jPO,=@=.{XM /]bpr@@tONyu) ~bk$r/-Io6>BX:%z">!zߒ=;ov&ޏ)ye +~H}` <[ӥ =<%*۔}$JI/BFDJN 2z\}Y+1`?BY&4D0EBIONھ#(;~B93/С-^|ZQ?ao 1_ /E4`PmpMc戳q(Ô8iOѿ?D%FٟgM@9,(ḵRܥԸܤ~?KFz8ߟ22ChN rLBsC(:mǫV[w+)ov֊ucŸjq;Ӽ1ˍKJ+I[e{̮ El3BFU++;+6 -[a`U)(4eVHauҾf]O.U<;H!Х.7f40gԉ1<@E4ckCy v:ة=[%Ch1c]} FO1"1ZtN!ED隯 y9]Ά <֠n!X\iv8l +j ʔv#4WCcBN^UvIKXѸ*ոԆNdFP|vs{QIX *,3vŃXVgQ o0 >m{ WCM`eL#&UbjYNDrHqLJPu?k樞/I^SoNڨI2:5ds";t$iQkWnf{e41z4sgIXM $p&"!\m[QSO97\`q )%wuj8%Z&NQlnَu)Y~-tTOEgf}9Ktڗ}x3~=\8Mu_zh/2[}xϡF[Ǟx;[b]^Cn/Ҹ5D XOã4.<,n) Ӓ#o\gw7[7mNHjpbQDDk ,0]fa$u3p1z߸{P 5qzFUp4~džUI[ekﱶ}- 5#[Znѷ86 KP}լ{/^kV)#ɅZb8E &Q9¥tKg$Rc^,lcKъ䆸۝沽& v4t:sHBO7)%A6{J!˱l$zK򂰀H$7/CAEbB_;v1((t ?+ğ b\oî {niSF6E[4 ,Rp܉y~ePIiPc{9z=Ldqwob؈iۮ4q*2&tRTi]Wg>!tnP=].b5֎:X~2g5RYt$)/ieTn*Z2;1Jz \8ϧc8mnSxQ] .Qxc]WFDOTHr߉27Ħ PB·8 yw+7qt<`JerUsǍZ9D+[S*Kme}Wu{d lVsځğ&-77 s|1ikqf BeP&.137_)+w.w 7MB0>it_ԪEFaˮ٩ƒu+\(-{u_ ʮG+ta5ŏ}N9Mu&>w3@K["!wXE%?n~ 켒՛S"d{2o\  c|n+-م!:#T ?]Dem|JH,NQ@9ILto$ְCU# >ϊPd.3[Q 0~=voyMqLF-r쎬x\x/LXeraCȨZM`>SxnknlΦI*^5Y$iAYmIΘz`sۭ{8ew غ\"D/m9lF+M_w\Um @f`WKk#u *G-pm^xA=˸&%.7Vj*]PNXyy 37i$ʝ2](oOX}6WxaՊU;s`6-6c CMզ2td }%k3BFSQxOG:m1n܀ˠ*j1 Ӝu/+r]y^7 bqtrB S(uh3KkOSiMat'1c)H'vq F9,JYRIm=e˪C*GguK0G&Bx|$laoP Ր7l 3,!{Xu@cPI9Lu.g"n4Q?'8uïP{jѶKYI&$z͊tBwWo -7+bۖ7޺2`J]_VȝMO5zYqFoWUFcȋhu!XI!ExZ*4.NO iGNQq9;M[뢑ɗ]A¨ax&睞I}z.P@*d3vuH7!nTJWLA٭C> p6]FT\לhڮP9$@hMxє"vZnFK JNʈ[":a2(6Z.SoCUz= xn#lsη2>Unں0aWfCMbiȭT,2('KaKf>Q>'ȊzQY ȸ_0{݅] ˷8l)\G)\q9`b 3#-i)؉ p1\:%vuDb)RӌE 5|@a2(Ch-9ƚFNBn YwowJ5FbnnJ}noGIq?㔲A$=%*sxybu@F*{abbTsУ :P޶đwS%; h'lM:mUP[v Y\Mk""vò6 __y`ۉ"X_36NopuH9us1#taLi"g;FrxTٹP,?ݒQM)i"c `|v@fiב\D](E^t򚫲arcFzʴS%7 T452e,q4l8Z">qe ?e/ 8/Ct` 9tl;[x.21>nd3IE(,ڽgE%U6S fUYDU.Й@oh"q[Qq@Bg!aaX3fn~V6.]PLki֕ZESC= yxsT fg3CxyMqTXxLrXǰpڕnK V|GQi8.(ʜTg'?m{ P{No3fOHwZ5c U_q1vaWf69~k4x@έgŽk80XjsrS1V|Z]l0w) Cиe~hvRn{y1.*J17 Ll g:V6zJÈp4;#`Nc}ϳF52auL/iӮ iIo^P6BIԏsk;F|)$HQSP 8b mgę%wRM5OM.1gUy\B4炻Ƈ䠯J)ݼ9DoƗoTTdu [QϻҴE_t^\XGi:=iEBNtYO*nN},ƿ :dWJVF+GWu^y~| cT#yZ{x:._ =]vb ɨhkخudSeI"4b({:%IWѸRac0w}<ŘK2QW\1y`(Fx3MWQ(;خd& WtMtu5@ o7i b[݅5~ȶype% /T&B/cAOM\$!V k "4\r:@dy=põLN}wafmSj|k}Xj97j#mŞ :C6֛F 3M]G'_CE9!52٫ZԎ)SJLCm~%UQn=5Y޸Sy˗,pezMNJFֹ2wj}B): LXf+ #gs$)޺{`vNFaS>eqύ#W yU#e~zb$; +2  +S ֪%vĐc:Sٶ$tI^zViLjẝCt6ŵ\)n9mHfQ+nO4q냞|Q0h<6l[P[SHnmq,};lkoA0R6YXP(eUdeC'ڭ|Ȳuo!VeQs176n*/-wBB 7xSXӬ!5)dwy[ y7ν3$;L56yxqs*K|'5x`u1޲!R,(N;8؄'P˜ːV%szɝ+q +笸ح݆{!64Eq={JzhKK1s)Y1߮lzH܁##Kڽwt@O6ٛ&enwʮرɮCӻ ]j5F}E[7eG#IYM~"QHLm$nz0 NYOP.'Tw.)W.*ѭhvl;%BSk¸x #o|MO7vʞ1 )@9F]>Q$oޓZGj :<,ejABܐ x]Sur$ݝ!;GWsX/FA,izZӨnT5EmJڊ ^:_gQ'׳ݷwZ;'Xd>g)YfC$&|+{2Zb(^wf4)+fpƅN(yryE(U9`V/; -{k\fA6+B. m]gf g+y˔4vws{ȶJ )!+N{[;۠as[g won10/X0iόX]Au}OaGQw%DL=4pw.il<r\J~6Mo;F=)FD"Fyb$t찺WgX"5A#$IA_j^IH+vȺN1|to<eZo7G(/Oji^MZ a boY!&s&Dl1nY. ̄ l6WZV_F&Mn~k%qӜpC JݕÀ7ԌҀ̔_} My͊]v;fv,qsPp6ON/eS]VLn}1j\``Y5S?X3w49Y'bt?] ;I+Pc$y k”Mw$,mR0)D.Uw|S̃0E4R8M2L&vՇ>'؆R ݫ=D3;ЇmEc]Ĝ.4Y齹1=#!C1q_uKŅ4d0Հ GgN '.҃]5E3-ܝ1S@+ Z:;)jhV5r#.ŗs Ɗsi>{g<:27;"ej[)Qd& Aٻ#sܑ*S;I5&rB{ VKt.gzm/O8pqNK9"߬|~e, fjyGx/(FIMY;;d G\NUC+tv)4z,++t'Yo| bOtAvlIV4'Q .ƞjNn,r|XlMxm݃5&nlTkA$B J3(aa5fTxR wEye/hTm >{ܞ)TAz"} 4# Hlk⊦] U?68oBx~=wl Fc 7{Lsv V9؈\lՍ-TASz 6ײ |~%σiQ#1 jDtVC6c^8G׵TL7rXɓoR鞊/zf]5OQdϲR]sP6mk:}x^d`ڪ0hfG2˃<ն'0>@{u gT<[2 !W$/`|\qf֠U5]L9I > 9j k뫮ECRDꁘҼ^#16Ѝ䔯qC=bNSr[U]hMȍ4j%5jotuhtʳ,GC@ awި|˃6%i؊Tg.єdDcuZ@Ԫ[ zIy z@jte/vqw hccPe"\|e7]@]ͬ:E\"rGC[(&.MRvLP2˦<+56lŢ}2DO4nSt1;whW]x~"ų:Y<\-V;\Җ`۫Uh'/6CL#y @Wߎa0u݆u˔ S sMdz.3(yc!d2ڵ;Mޥ~pN-39~3:8nș.Z?A Wm~S~*dfe8Ŗ`]ѩq ܝxIum6 ԀѳD{Ü. ypr4"S>Fɾe Z:6 S8.T uTft? ɅhUhC}٤D\_[yfʼ,Py՝ƽg5oGt?\X}ye8M]77Ѝ.T]-eD+-{=pPBDwIY$Ny)I_OdhUUBt'Iֺ6˾4!jPb:Zj\H=6L|Nv;" ]: KGD<;6HJn;J7RcFWP.W\vPBH- $,,/ li"ҥg@>х$Nq$t*bz˦Ίw ӤsuS#U5V0tp_b Iϼđq.zx{e PM mƳ p ʀG -?h xii5_M.5kF^|@@uE`gwU@˞'[G!v/g!m"(YYCMeSeO:Ksbx>i(0<:^ɳ%C^ӚmKMoF':T(>:$?Yw@;D+ xQ9+47nK*YX#6j%;wHLw !t9G3B^=fvq"_N{n2ϙ%RYE$fnwxbbM`(lVM޼}B]4mkt[s"*,)MQ#7'VcB*ۀ xvhno(t)IL &a&*#qPTk/5S蟌b*PJٺ^.!)Q}8b[\vcܳ.t9m_kH1dQdOmHNxI4ftJeƄ9X1]wO&MuYn+qj #HpjHwx 9Vru8!ޕYe瘳fNǦ/Oy+:DAW N@7 OfC}o)`i(]6ߙpX(ߢF)eB6Z}1~~@XhYLsA9/hgfD(^H|4Ə,[?+pt%q>QF$gNJuRq蠙ssN#-Hl4I'Ez]"ÃjP&uZFjr~"@,}$"nxw|TT8XwA D8S&mO:&(͟B2҂jx6yrݣYSgNYӵ >f\ E5/<=ĆfC"TtϼKUďag| 9~8~DZGv Y.?=EaU ^/6f c]4jL _*78B9}o Ky_~ø;6`z]Jw;_x PZ\f;Q 3&A| W?Qy;rL 5~ppG-'د$BN p V!Gk@!E`'%¾QǾ!0/rǾҗ*1zPF]mf_-8(Owyկm 6 䘀(D ;$:܀wk^CXz~NC8(X`d1>Ѻ_v'M-KsPM#B 'Ő/%&'g@{VD4j >'gU٨mԌp)Z ^Ub|+z1[|\+>;_)7@_ëk4wb:,j%ǰb?MnXZI2v^Olc_;{FY|}>m_pIq㍔jH%eAʤw ,{RkJ.|狑]HvVa*$I|v 1ߪX|J_>@o"qg$Gu͐-f=m:Ɵ[XGݙ̑ U M43ܔyBeX{frB0{Ӓo4%ECѡ!a6ò!Xua4sJ`Dbg2FlMY0|?li$R G\tS%`q[X{J DK'qmet4 tn[y+ͼ;;?pLUYDl{(e#ThSiG)ϳ3i7"/ Y4T5^x#Ը6ےsĥ~:eoة͇6t5KS,U ِ9e2xAQS7Ѝو*';&i!40X4}c?w^?z 3m?ºjWo/-B"~@EC#Ek[k~fScZb2f]-{08oޱoGeck49HK<^CdD~ƲwJfeza`1&'1 Sn@Tw~Ƹnӭ˺^Ic^hBBwYQ@f>j33%>h*[' -$) CA $j@Z wT2"9#sU#\y3bÛLBRЉ!eGX7A<]fvR?@t?XLm苺w_Jͦ9~#jWExAfqP3~,QQ-nm+ΫԐ>MqB4Bld Gpek:hcR[.N2lj_A4F`wn q B?"ΎxUVE/e pP6ƌ u2"gMG53W>)9zÌy`1Mm2S ? )2K@!Fsحs #q~PU9'Wk b3Ż%S4fھ},݅G2Z׽6+}X6,=V3:|6I\ m$&l.B9Feݖ6gZզ䤧ie@9=Zc8a7ZEUH""7EqbW:c2oHi\,(\+:ϼBC K*=O0Mz./#Ή[dvͯF=:TyªHü{uGЭ|7LkH34řQ ӣAoBQ!W:$CGM MKVi\ə+z$Ս KuaE%>S"T;q]P 4㛉F)8@.<.ɀG R!Ȩ.LBSy&Uط~Gl$)u+ jP+xKhG*+ڊ>đ7:|9 0D'\,n];'ɉ,zXYT \YIh8-ﱮEAZ 3嵧Ę*$Y 'y]O]s ΍~ҩ_ eFm5?zL(G@|«F_$ uq[y)nH,YC<$B_)?O8aZ 9oNY-%dC% 3NzNP4H'2c!sDc `kOd|?_L$![ Meڣ"qWFN%%~p6E㏝l޾qǎP^#-`cn0MXJ`nYh֡1N7qwbeZY''>t:h'H7-hF|aIH+ "< J 7&g6_` ''P=kWmVK0 E&aJǗ3M8c!j(9!{eA!@`*GJ2M0 ^WXAz$Z]~@[l$-ΘW1Wq S^E/fcYQ! v1n{Y#(iE~,eut S^Ύ3\b-¶}}@̈| I2af]@+Cm\AF29)~={ObuFc}ݳ!NFlSKd*⼏UR[_/I(hipqZ&Ofj?D2('vBiЍ3&V{""Ռc Y{nt+TӴ.:v鈆Dݹ6 /hph3A}m%Kw/U7` nG|P.;{ ;\Е?+nlR:_xW2Cy!q뀸?%;4 C}X"<1vNzy#7S=u Ep̦HnlO 9|pH~Mbgi1u%7XZ5ǡY=}/ /x~-1ӣɊd[k}YK |T~G"k9M>}czIFGndf(oʥ̽tNo羣Ωh㵢c[o@8'LUECK1r{/ןoHI-+ҳmkXaL٢ 0RTE퍱W2k᜚xxU!v[^:Rppq0=H/7ޫZĴ'IlVdP ywTx>(e +,qC}86_#-vaݝݪ\A0<#6CLԭސo48M,!hpre1T[Vͥ+:F`^sf(4Q#\ I6GX#;H; gK:ykI_fHs_`f i 1tMk\] .H("=jR!v}?._ Urt&mkeĐl"pJ9z+}"a3h)4jêtf`:yzrbE2n"ʿC [QJC|9<4I4_jX(ҵJ[",ѡ}~ ᆛ#u֦d̐wȳKso%Um0K>?~_TwdUz7"4rWuKByL r[1uۃ\im{-_Sy-AID0tk~TWҘf5}XQD|ޠZCzIT~q ivW%8V J)Žx須q0i02kEJ4ȧ< _9g]/^Bya !l+j" k!t>%:),Ƀ"xafl+$R~ZjL0<.W$S*yx['OB{&YPAi!X:aLJ)SX#ܜ|Z2]EqBwϷcTXeջEPB9N<,hڤ2%1Kv- w_R.bZpjM36)=@QBXg[츥z4%EyvZPx˾&o~ϤԿDī1Ccޑ_i}[0( LK v \lfO2<n[jP:nnR:AU9G RK*-oF^ %YziIP1:s*zɉ oJ-?^ڥcB}Zуq N$Iq[45|o]+ṗˌ.iRq3O  :WԼ ܄ yr9L# p_{Ʋ- }I6{IoM~šeS`޵|U-\oocaIo X,xqHcKaPZH?4#eSZ+g 1n!ؐP ,*ɥsܸnc W,Nց8C7&JNr p ||%Z@X?"]s&g/"!a,OngmA\*T#G[rk&@ߤq-AEhx]!'Yc4wr \nL)Js4iwyؚI%'\ SK mǿcU&One'gťs4ûB Rq W~PR{U@eo̒S{MY^(k8hTH_ݭ}:"/u`5"@ lѦ0CDl *n5~bb@@Zw7h23W!/clT $f/"%6醽CLeᴔ|m|tw-Co0Y㢠#z^ t`I$ͯ-Q"j[EsVKqS8H\l?Na0 S 4ٿ>s*pe,3Q #J$o B)#Xm=~ |4}dH@/g¾8,/C"G5)lZ5B)&^m9xG=wUʺ-!} د= }Zc/ȶJ8D:70oFR2xطWmO ; ZS>C*1w2~fsڠ73_<=XW$Lya`?9o*~aN 2E({٘#35cT0rQrE9}CZC˫'A$$ Q~\iO^꛰r=KqI(4"g)=G~&/E]J?p9x^dOm ?S>icYÛÆ>`hI05|?/i9VHz-.@I`?D]Q%g#ZĠ%u=޲bqb?V⬴3tQXkOC<ɍ3h$=0p^s/L[wfHve^5G˸PX$/ MQ2HACܸa^!ŗ.w̒5V;o+bN*# +͠0ҒjD¯ d+{<5E{ ~Tl@8vHyHF*wE(b}{17iOX i"x+iͱ㶀hӖ{$YQzmgbs~HlDSNꋆ^s%ײI͖̎YơZU'گMF%ϱg+ܪ bdE>u{G)6GlOVHVUW\ЎY.cfhEeMLGS;C-MmaްQeodLXpv5RW 򚬁Ybƛ|g֓ S LxQD$"Uf4rဈWĐMүƐجD#k鉬U0۴5=%=f5THJ)F&e $p@<0lT]? Qeٱx(-o_g_tLNXO=j ֋9Jɭ%|)ґ5Mj!VVہ5|sw_\4^>m~="y y[[J[e5BI ڈa|52R}J%Kӓ$=_+f Β>,dJ3/{}CzIg3LH3&m=&i +.ZD']1ܶ>#R'Ֆdm|Yr+^xV1pPw) I@&ـHP_+cc j%֌tocm7;Ǣh 3_}sX?zߓ%cf?vFև%0)+J0>O>f1{O 4#!,–>[6"`A4cgilZ%Ө%''k%8ξp,̚4;Qњu1WW;nz!dAkVB^ jZK&E`.O0]jfޖb07븹De~GQn 9lT꺂1P$i)ȕ E 4܄bh 0.4齌c~EZ_ߙ̻t3|;Yd8 j)n*PkC{_D _'~Rz''~2!zT*z0$N1Ҵ¾Dhϳv-=RI1hg-z+PoW9,wYg,?O&eUUUg_[O^ GXk o+վ " [e< d㫄ɵyӀ@O^5fkD_bULDȁ9ޏߺ%fZY2k{D$YWF1I6gfT,@6`7SNKCovVA^=s0mvɒ]}y(2j/j^8xҤ[:AV8a/v6)p1W.8ު|t S e8JV*Tz\\AR{'+V6|OsgUr .\ٜ"ȘBi3L(_;/W7)EzM=sYU!D=&"a/维=cC9W(c1G,3o}iNopE9f%/v nj'&1 Ӣ#NmT%#N8o|h`s\ZE0;<Tz!<-PiSł36EcR!O[Z%Dgȴ9.I(+:vXqCeb^+ &rիM C!4TaZp8^:&ˊR/:6ǡM8wp_;TX'WR Z!oa7'),ZB4AG}-(5H8ڟpBFjXRKs(^"Ӷd t%'b\I#|{f$^;d鵱ddI [zU;^ M>#ɿ4F'px y(%ܿX$o6dO”rq3XDjcydoK`c;qV\PfCp g_ gVsN7C>0Z"fD~eRj>^J>8HUqU:c*`kUKYk3<#r&`<,_^ݗfܹR=Qc[Ce,w>S//da9)RطH>DBJs9~ś: x*DkWX4 )>EPEw`Q,$LCXs>2`^-bTKn (`hWp;'-֍/ ͆tR`v˜p~;_1>CID! 8Hj*)6_wuE^.ό4ޮV4gT䍜ޱ%ozÍ =yމ)Xpᗁxޚ%{|t }`CΩ`9&N4ڈYH;|jKAK\yH)7蜂lĂK>I{Cz8ng>\ +ZB,BGF%Dz6S_wE` iK梦UM[l64v!T wT c/ZLP/o~ym"i Dže.ʇ0,[N+$hMy2A45;=Z@ӟVE|*"2<#@̒[)n'Ӄ?<ʌsu5f{iUEKo~X?U,Pt_1.׭ t1E^O*[m:.EƟ44s`]hq$ Կ١u13gmSR(P!t"B3E`r!QRU9fU<4bFO-iL):ZU.uNfʤ9Ӣl.<=M qɑ8dL7Q`3b_(~JK*Bwن}݋ )g χ,.èT[Z 9~YwtS&vrjV: ^TJJT$qgd.Kc&Vl, ` &ҬJܐsE LT.I-5^0 :hWOĦ21l >h9v^cȅȺugXNYL# 'Ȅo]U #fJD,,chq$՗ %f5}LE%;6 aHsGg] TCxAҡяX†uK^\""MךMɒC+ɷ7͝R~$Ogdo/S\vx*>WNHmio&'YovI͇}uZ|O 3ȎbVՋ5"ٞEQk?o "vY jRMrYt&keQ druM9~'0?eCLh{?Eݘ<|m(n>\ڄ3T/ϥnliJ ,Q́Oݩ6]!YE+Y9,L*AX@}\/:N;0(h:NA=E0!%U`u ?l[?7yO J5Íj%,v6x)e@R/&%Oaҟо5uᣌnt_6Av_fzNE tqDB iy4`{")運PRKl4R-+gd<]"G+p?BէϿ2<"Ja=MA?F4HP| -$qc[ˡ\Pcp%i[Rx"eVPФ r5!bмcdO.f3HyDA=!=NW"*]/{ԟfy$SspGup;q00E6_N%m^7 9F<|'aXZ&@@:F*?STXS ExȀD?S!l!I-kQtLx.>%d[$z=gNV+7s_5oeϠ́f\e+: o4ao&r[.f"O"(߷ܪ|z^8޿M~$,(%&ŶaI`vMɺW\H8baNL7^_ 33&-hm{V rr[UΥ qnFP#鼠8Fd)%ϭ/1A1Yۘ"_ {1Nd*UR1r {=E۟Vc9Ko1/)`ut0Ʒh 6.)iM?;6,?2üqR@r "# pg>m^m8a"7qe7*kmiot ޴"CR●ڢ!EůB*ri2b O,Y$0,t.4 =GͯnV֏TJ.$'-JSAR?hp֝Hg3 96X|į([P.%U;SZx Dv'pp'B>tێP `rak5X::۩ߛǸH593/Mj+B<`T" ݕE`dEV_&[=4h jv3%*e*M|rT. 0!Wgi-oqvI&?TU>~pQm9wPz1nʣۖ#f94AE1n`Sn1x`Lu{HӉ#'uMUK^x&lT4mqd,[W,$͹_ ~r|Ox Ծa25@Ĭ2/p)0"!$p'%̃ԈRC"W_< Jπ-8>wr{aO^]9U55bj7 #=,|]35 ASJfsI ^]`[P={_AYȍ^v"oڠj%1L[oo=9gPBd)ʛj(xOqP6ňGNe@TX/]9xmW̧#Kda^9ɻVfR.o 5UNEu$eP>VMzK_K;X{QHq3 JomDB&8y#\* z}'fJψ1kOtjqY O=z濖!ۄxKW Bc@ǽ=y]N΄;f<ĺ*q^1q_#ɔ)ץ> =#r3ZFe'q #"3{jkH}y+vD$0ΣPϠ'8O5'9E!?$>o KAm~ }%#03fV\I'#[$!]A !B^ ߥZ+qR ҅kj]P;'\ࣳBA`w[ 8{Ica_ +RKUug.C\)IW E xH7_staEˠ_T N^o*+k](֣ #i=<-,>G1L!ˣSPDPh{kOg +X iYy#s oEKՖ8I|||)X7T\dh"?rॹgg]֣/j~?G.P̛ORXɨմ/^WM{QPS>b iq!]h"Vcf(1Ee7Ѡ3W*m@na) 3tE7vGy.9'=ђNE uzoLW}ϼ}Qx>':590jc,b1jEl=Cb@;yU>n߫ʹ8m.[!bdsEAQ"grm(y#yp=y2;>*,jߺTtbuWjHb)UkrDHmjܿq*/\uxt1ȿ &vz>n) mSK -X\',Z`㯛C5Se)4v肥 oTdC]#7526h)k8T/!ʛ|jl,Z<[N"<@i؜xH/3WR֋D|Ty," ]Y}@B՝* 9VÎ ׌2H/~եYA);C>h,{ė)uES}j%,ɨ+8EAg?ũY~BA=KM/Xv7/+#˕:L3wQax?[%ku7nShN&~ywP~HߝΕ;r|GTCmYkW[rk ^кiH$` 虨/G&~ ?'L)Hb3!r$P$3fZrz ?cIv9N>L hK@l#2`qm4!'9 >ۏ#'e&bR%e9B_v$oKs +Cɻw aEko6m}<B+~/\U'Op>w P,,] } ;|.Qb7ƘP8Y%%⫝̸V^} Le; 8{ک5Ddʱ2QТ(;ٖU_,_l@R^!cml!O5LTvM1ØO.>a1P,em`(n] ӧYhtg 5WlrBT+5qC$.ԿRb PҦLSQ-1+^ >{ɤ'**cg"|Nrnf)/o CqۊɞA+Vj޼]u*y)M9KLD2\>U@ɼ lMz~>RvF?YORqVϾ:Oq Q0]b@l[d }9@+A]y //)e~rv8D;&Z"[ְqttoA;v+UWʹR{e{L5 gqY `NWunB5\cpWc*1n] - DE$`kuAQ@fG|16,%hN$]qɿ%g 𒿥~/1c5&~OE\7߸w$VO`?9̟z  te)=i+'+.3$R][bǩO𕪒)&"2fׁ3c p t%=r <3-_6ٿ P c v{c ovǍ>MPAP e/٭ۘe`4!b( >H?l"2Ӝ-wvG3@g74 ~ӨE@[!axu2 |-8BN%D@>0?bN4!?2=G|]Ub%&둕Z}1C)$]+W^IvQ)_زbzEZ- 4e/oϻV3]?fhb]D=:ᱵUeo&C:Z6+ M^sI5 6_/<]ٔg">P=2/hZ̺@C:,݆;WEo%>uun@xK?QC6F0t)( ~˦#U' zODc 8M&2[ؿ]}pǩD%oE^$EXM.e}lʎEnbMd[VZ)Pz ]nI8] m=+wQ('uHv[;b!@wߖpx_Rԯń'WDlQginsnfaCOL$rf6\x$55 a+&emφ3pjYXUꙣ`b7I)SϽ=&'VHB%mOI= otA\tҕӼKǍ'l:a5߮V=6 ث1} xީ4~A+a>LMWqLN, = 7*\ W1-yre{y,[/ycj\K+t/F[oR:;A7`bn޸%Db|}'$Yswǫ1e?Lq/}h` {&۞R&MsN*fq΢&JGk;d\c=bbRUQ iLTlԠf8_0U=nnK7fOBjsBϣr%DDwS¯׈&P[⠈miǙ-h`Rk ?\-)={n^f/%ʍ%v=.=!TL *iT_hjBwfUcPY.C.3 3,PgW4O p ;]wkm~VENeߊ1OVHk+6ܾ>5-8Ӣ?|QITf:ęLg$=)NL;rZڲTևhK h<7x;]qa.Wv=rzGSABճdhc}8`(JCY)r"okT>/Gh Pl.E}>ASm[1#8qVs/3bc"x$^VQrD;RF3U2C&В〮&m43UG1A`1;%joyR_g}^ p|ge0-7KЁR$唼g^J4tbb|';T0ټ}FK)9whQ/@*8tYƶKڼ!1 $+PeT~IQl*\t?3lrFwEvv>TӈaSQ$1.΍ݙK~ մ)Mȕdz `~1躪FNj;,y@j]1E]ǿߺ^cEv9mNj ~I[&oJ#2i,YIXɸ^ȹڃ-ٮY O{ Ԑ`Ig^pwOEshrN&bbB@e: j:bst@zא!UE\dl@k<:3b<:_vœr?^nڔyVg, QtopR4?<]/,ŔQC,`#{~4D[ܚsz4 5xiʌ"oɑ}g`Omv\~el^) hk\:k^z8PdE&)9JU^]G~,;}襽/yK -*>ى(ݒ_|B{#%l 1oeCb*f0b)tIw&Bi,[42l x|a\ b2Y/V^xX7+q$݀|؇`F&o{ߦmA!^#S܆/=DS(uy, Puӎvſ@m8l ,JF>A'1!. 1<ӪqNE ybiɥ-JFw9ȔG+l( I:kկ] Vo^8>5ohכ-~~^/D44op62}"ݞ/!} ptwed@VG?)D b4F٬Y?$J(řL̓] c -e&l:+ol>*>ҽv\o 8F<ԜۈyMʧa၀Ywuϫ`iG$Y۬`u)A;`&o)J*V쨲:2_}eR~>)O!8YN.1*[Ajeߐه(کS Il(E怑V" [2K|Ofև z(#P=-Qx R~8jc L# aq.: BK'f6sPN1|o&TX ӻ%3ٜtw45kkq *N3}坿#O0p0{!hÁW(^Q|[+:~Ui+Q۠EA 062\|R@ (}$=[m\xB>z;,~`>Bĕf>M\ތ倽bʲs$rc7BdqkE/ T)T iٓ BFR3ua9 g@W$hhRncS+)U]b4Xlts֯N'r2m$FS6{H!qgW Ti&j7Y[e5[D=ąg*_yaUH?g( GVӏc!(WѦ1:ywGr -dcȇȭ?lZCҸ P>L95Q^*'X?}FEӧC b&7(m34nΞy`2>JtmՕk5| nvqŴbBE]zM~=9Xs޸u3!^:g/yu-4S6u c(eZ^v?o*E`kooc-#-i 7+]/t%+}og2ٛEjCIQ2uoFN1 bMiIf|8޾HBHm^D̾5σ?_Td= xI-3V!fE~PxR`tWLO*'Ws@3CM?!ߖ@ƮDc7>G:w40 69%)A.(N -Ro}ě+M(GلdT8Ru&>St$Zz(ק U<E]!R$I&2$!Ij.n9=&l6[V>|>h_&@q@zv:'f#Lv))4b#hI a]zǴ\Y䅺tċ[UJ!)K@oAJGG ѽdPN`z';[$P$C9;K_KlEmJ U0;p[.%ee83)i]!qKW\O*/<$)\:aDzܟE!Y2T@#ۖҏ+ۇ+:ou&٬UI>D*E'TTS oI9J)W7¦>8lg!}X>c\tg]1.ٴg؅yCb'1͜y-y 2g " @6ii:Զb4y XZ3ףFAe<|'1"Eg8ը-" p6KBm7cQc[3xpo?1&(?BS[G}_j/h#M{1 z}7IQifژMAb5&yQxJxD~YQ{ !Ff[SI>}'fUבO>r =:v9 E>D@AdTVS﫴 yFw}BgsI4!_SK%܉Oc%*K1I#625Ko#1Ex"+ƤcMK`Ys|'E uKO>N{~,SX zhszNL9[f&\:_*/oIz@kbq|2S tVÄ`7?AP5^eP~dh8.}D pR QX[^K8A7V*p\_|4BAЂ 59gDc %r_ ԖY)QHwţ K|7>۪GlD ,Kl(ȨJlI[ErSc*B2mC*L*tX'uyJj\EWڻ ϛr3gzII[CGx Ԣw2=K;(G[JC5c)ֵ"2[G"n.Mv.&Qʺ'_¹`e9CKD~I_{u 7 kWl_P\ U*#vCb,E|j8v7`t)8 GV征M6G4/(t\ԃdvʙOOz1ӶuaOMñK_.Q9a )Oe"'%=E 7N/_$6ï`晇~ԹNv|: r/g0o[?IJt,ŵiRZB :nz|@$֋JJD<Z`øu"c~Yj 0n\᣾})k@0>Swz݀ * yxܨU{U73sswVʏZ00yAu\*^;,L?8=+soY.mDK񲭋H-r0|ʬ ȿu5e?^]}? *ѧk9DZF=!y>q HDz1;ö_go[ l:DR!^B`2ċtvg򵍗BWaR[#UOŲ.EgN'^~huƙ63=RЗ՛B}:ElL7Zm YYc)M:XD'A0_ai="Ksc >ʢN<EQʼn9{ pCMy.n}% X_x%QkSn?'bg=s#ޕ2aq e!knXn~` NWlL|Ɵk@~Q9 oHiX̜~@]E0KFGB8Q.U\ KmՏgC{ s_@o/)"^˦Qڬ7z}8huGxU]POaDŽoUEYym9LKyzvLUAӯ[c[:f.OYS93pz=ē.uŬ~ix=Uyaޗ1ƈn{).ubR{{.9ޓI I0S%=k:% 4D:pb1+*{ay}aAM&F|-nH Mv)?C}u" 2WHslz_Y|#b@'.#"KxꇆXȕc͔OY~xT%+H T>s2է }7bMaj$ 9WzpP`$\-@BU ׽ESى(NMh/ֹ\H¦ɜ#&ODq2?gl>Rr0M#6 ^2zL,*㤬B+[ hP8>"\gr]i3ī;^VMyo괯HAtzPݶIjkSl>l .udn==7b,;Q?ddaԡ6=”ʐ`k|=)#MXz-zc.PcIoOpEz'::Hl&b+'5}z>]%_xFa6XcƮS M\푊v| 1M^ g(e%܄ξk> {sL@H1\ vS)a=M@6t~*VIݩ`OYEL, _F^1nC\KbX8اJqъSo޵!4=yi`;jmAIFZM^|Rsz $GۤL#/{Ub_ko_R`L9_|8G⹈N,¾PX~}sY(c"05GWMF.nN1z9ϯkfky"i,h{}.=pEld4/]ɾ$0CoWa}XIM3AdY@a"z#PME2U-zuڐ+{ Pԏz#3܇ؿs!X2sAHDYuDvP*Q r0#J̭4. x<~e.|¾Dr1B%#EoQKI} >f( (>wp@3l$JzJmLHeQ 6NߓSe$b(5@,~qOoK.A_U)Mq$ ^JBtdsF_L k9,wzbK;N;Ə+UgG+ɳskٟ{%+d\RKfx$ck1SR|X.O2+>D o͒'Q.y\t㐯e8׏,s)8k Tkgb,D4b}BW)5]\‰CY_KztluP*Cņ7 'ty"Gn:$*/M@햬t&q fvrtuA&^ou+ͳz`d8%ÈJ9I:?VG*\ #4P,,/t!++T!rd%>i4B, _ubP#Mn__8ӻEd]y3RR̠yDۧr jhXNJ\djmMyi4cp+Vdʰ6zNg%+lpƞid0bjX]d3 lx$-*RZ_[DÉA"扗;s(8RWzbF}wv=5%VxBr = OEkQb:A{i*kKo:+;녱 =CZTany)ѭ5&tzx[/[Зڻr,s!s*5CR\쾒t*|[! `lW#j/om8bV&_s+6qI<QUCBv8 >Va{C5]t$&i*~TOt *nśLI1\əun$|*B7q_2=(56AUxvɁ`^Zn㱼D(XԉQE<~5o$bbkCOj451fe\܌'2^#,*XRwZG=Iwbq]5w (ǥ">ˮfPemDⵏ`ס9uo7`"#3yE<$6سՉo=t/( q9ϓת4g`ƇxƨAM6Ҥׁi>/# v{'cgbbݮg@A?Ȱn?@ׁTRYF;uWC&Uum&N:Ѹ.\/v]c2Z.B=w-}S.|,oE}'[\˘T{81T%(Qi#=KgDYJuQշOiGOPێ ¯I* ^:)Bʿ@D7| MծN=9| ,|#wͤ(.`Om/A9-^ںGNx!%*;ЪZw>MCP#*)UZ8?ȀPQ='P 9!X u.kdZ$UZ_x=j0 C K=aMQl߁lMJF{S.%ƫ"ʇ H 3>3RpՃcI=&\m\ZhVm"w$UH!DH1^CKCD$x hU] kuιJ2,z3ŦYrr$/ 8*@6ΣF/lmEDKp;fvޞd|熃Q_c$7Of~lhYf; t9@ZFۊHM5AekgKbC )(1t~-?GyN9xhd/k'.g-ɦA%eZ1Z {@b@QYjn3-p#_DQ yQQKKɠO>󒎭צ5/Z< @9̎gԀIYfA7Z~~^BɌ-hc0$Iżrs9#ZӅYGQ$3ċ=":,!(YVh+-j*KRj(oNEzpOQ(M>Ru0eu`ߘbgA&#y^&x%vZ y yEoyLWE'ֻ]oZ\7༩YqDMP橙Fjq.TM8bs2vL"]D)~J{ vDt+ С-9MmNj;\ͭ8!H|ЈKeK,l?L>1×5#EEUo~pFUW?X@\Fvv|H{AԕbwRAHB_tsWF$a&CJ]d?,_EnY5H%xn͌3bd_1~H`ejj5Yo~-$9Ov{`~KERaZx!LOD=cy@И.J i] 7c Wed%^Wf4"TCKȚa8ze8^,e(*l[XKmT2' " oI| οLЅ@aMc#k,m5ɨ^ojΛ椹 >Ԃ 0-YC$8wwJN_- ~~/"r yvݬ=ϟUwm^)S2OO,h-#aWBt zw:tt]DǗ 8Nݢ- 2]olh!R6G;1{9urENnVPEabY0'bȁ%eȬ%\OsC|:==i׿^Ȗ;^L:蠔&y@=2z=d j ~Hlw0kDc_!҂a=Ϙ\;3䗚Ho㣳M] UXI3#,qSX%mslـiTٜX})8aM~dNCp#ŀ8d=Z*jAZR744Wn=H=#9Ӌ:`INS^T1p_jH&/k៉Gރ /9PkWSz Iz3+y+I% nWV*Z61A2Cm"r t;uIWfX\;rWVJRqɘ@;])ݶ o- /°,ۿzex*TڦknPE9'!R߿e9~c)_ɾAn~0a}܄EME\CqCa1ċb a.og%v>z0+x`:ȆoyKMt#=seL d4,`ZuG; ]ЪߔX(BuUFs41G0ehľug5xH*r}WL SWӭ\5  kLOAUt}mDR|10|.Ii'1& *IuAlS2/J0. =xj%&,$J:JKDK68^prsxW?Ԁct# ٢R*'PZOSMR+@W*M6Y" ^羱2sJKn㽸&(GZW~܃_h9#}F/ lP^d-_^{b I' ыMS^#k7`=}2pW#Njz2 tII6R1|Bqm}Y_(Tlq>ؼ lOH&/Mo)WT_"-p笙YJ?K;Is֩&Xڮ7!n)rzs2;ɑd=`Q\aA ^{Y[XsK)+n*X؍}N*)dئ+H^#*KF#)Gb(%zE=%#]B::kZy'1']fK%pW$GK#VXSпh0dZw-zhY@z s÷$m NgPz>>lXyWP8fl)k/3:jXΞzHMk/٦r-^B.f+X?o灤PdT'ߝb*2(1urFӺD)`=tNdQDǤ^!Ɩc$Th÷l"JgRa+&x9 S~Fw~Pp%5QNZ<Զ /Ժց7*#9k!cZ1h  ϰtGb>doȞ8xBEaO@Yugti~̏N>/?x!p>(`ԝ+] dMWAcB˶Cpz_i@ȧ@g bNnj?ZZ٤Ī8}-cE $f#׎:ӤL=^) ;ݑ64'S V#i NaM kZqpt17nf͔@ d,5L@uZPɀq\cenX:6Q: M(V*WBXA(f PJ\;ݺ@e!gso J0hJF0qv_A3RscRvjNfGXX l샊SZVF'i=| O5r V!h!j/ kUDG{S{\('/Ӹ&LOWq8z@u)nmYXfIx萘fAXKqYx~  rIRn_ ЄyCLXdvakT'4R(3AIۚhSEr48KW/$tǛ5l!ojZ#OEqq{Q[Wea INъ*~ |o+zq0Svm5@XzMgV]bseJ"XJil^"eV 6=ЪA_6>% |Qqj|C/zʁ}(<_ .3=]EPm1Mly[뀓%RymȩYdH@'ʃԇ`Z[MxÓ=`4c%%x3CC~A>3 Sn1<_1tS2b0 5(4N2:P-qe'ΫID,oSsӍ yHO0l0+9bc#2rS^R19Aty}yrK"xF>};"~d|f˰_lK Ղg#t5v.8a,0@Ѿ^sǹa{tYP @؇ ?}xDQF׏& t`^OG_>'wu NԬ_Nx8M϶e^waX#?OtwDd l.;@|oxXUKˇ!d3~'V7;4}:^)`#vqEK┤W1'盗y+_C _WܽpNkU7(tV/|*-VO/ ߯.S"sMa:Ddx(~d}y?{&B9*\|\n1{2}*&Į?y4Hv# @RS[OfjMDĶGelw-(( ÈLj'GnrwOaõv9N.~_K?@QaO*ff N#6GjۥfD`ׇ{5ͥOKUAJسE$_uAA2|$, W&Sw"7>^TqRRg?G*ԞGн?Rf~ArB({q *(ړ e**7~M 108WE\DA5"=胿dC܂vWܛK&Tf^މ)y[I`8P}̤EcC#֨ḹݺ {Vv_nHє #$j5>&@` M_-Հ*ضϴ2 ՚\˼RFyLm!/նvMi}|7_H+p侘M[QrzWMIq=KmA%Kxb&9m:mpǯv7X N¬S 2f !)6@ˡ {g>-xa<: [tV8awAsƑx9VIz\ u';!`X4dmf Kj=;C$3(Fnʹ>.UNGii*Bpnh(oGk\ 'teR#OĢcv\7J|SGq(c+Vet4RWb=:~os~Y ;k_Ѫ%@m82!+>!xmNS|=wz0 @FNNXQP ! @,_ӳUcdJ@UM +C7PU A[Ȑo?vjo0경đy*NX/xVȫ3VVyi]<ӂHY[55:6qŐJ,NRz`WRlLjɟ$1\Y5pcvL,ZuIq 2JLJn_)B 05{Y[Zttx<`%wY*qEo)2RW#78U yEtA]+e+JH] /)}E#JU#: K,RY쪁}5F׫_}icYԐ޼K,/n, n7"°U5& kVZo qKڐ\Q^@}sJt0rg ,@l@q}2 u_8[yaW$1u$-Ml󄌿u_Xj֚H"+ƫLypqCIPU7b9ԒYLs5Jyl Wس ,9gvd$)I?9UuvW>&e4?,ta[C4lR [_z*nT!qѠ<=[JjfU\:mx ]JJ蒼aIۚ>qs9pABL(FO- WZVw|B1*τ:iS2O6|X߯ V2iX5F1oTV}j'mm)1 kpcR9 mPNs~Ja >MC6%7栌YbaBR=P0*40na؉OqZ aIo,M,)҉q<A8A2_.@ψ9r'DZ.GН~3<%nYnڵ1ނ]YEJk"{GTܜ 4Tcd2ڤ$8k;v4,*¾^6}z*˶l <-Nybo9g˒] a'j>YtvI|,t]T>x{ ~m,L#Ce}dO/5hX,j~I3x&[6-; 9+aRM 𸿝qt7s+ʟ䣙 BpldY"m5a顾"jnI|TPGĔi|'IWI4BOv,$LLUjOq/Li9e"Nc2/yeg5N-=ZRmvM벯#9}h_/L ; B_[2i,I59\WZuK`8/JLrd`o9#4x̲sQ`2Q%܁U+4BbepUKP}_ׄaRTnE[!OCwnKhLJrb ko:oiR Y)p!gu<fH qI9cD/&F'{ smyfE67ֆtN B 1~gdE whk͛gs)OJޔT|&  ёMuUއqG+x '#j)~,E lB].OZvU FHlf8k/U[qW}8ﲖ+2wsm~Bobya!D9u:ϧZ`mx 2w'!_0 [a_{EY֞OlWd5Yřᗟ< ^#[ySAaZ2Xx @~DC=OE;$9t1Fxq̜[i2P}3ȵDd?EQ7t Ɋ$_UFs.c]7G O6tx+a'kQ )Ѿе4*dI0;מm]y[[V<\s."/-#œ2ޢquܭ]äΡ%p>SHkOwUH(-Bᠴ6VVѣ0jZ97f/ qhQ ;UgE>h T>w" e&Gn8u/9?{Dͪe nS0Pq5ӐL@vؕ>imüz+҅yi1 S]{'RKk,Y{tʅuv۫fRH-#FkA.&Π.ZsZnHDkz0q8:`1p1-eExMrf?4?E^d_9Kn&.V \MED>WG;@6:E e45zeu?vR*g"@RLw什lGN֣2in-]-~(o6aVv݈'5gLzF騐ŽХxo~'ɾ*kN*/Ogk=T)fUn%LD&O~刔=Ű ߰RRL9{lpmaM+h6/_\SXIQm3iGu3+Uz:(r@,wW}>MGN=m,=Dȯ=j8<ܿ챶Ǔ*'C. nb@H=oB5܌/MH ֮_Wod#\لD${!XYMM#?W` mUo[rBTgoHbTkX`ЄyPo2=-:-ey2$G00_ rYpӤ}eõCS7GTVد#S6u D Z AzR:S=}J{"uZbVu%ѕyXzCKщRDl}Df15` /iJmjR *,8jpvWCF`]7rcyL.3`r >2̹XM,ȈB.',=*agLk b`r  eqAÃ}>ReȰX.֗h9+Z"uY;2BۍQQ2$K𲃷g[wf1gѰ1&ry^ |:t̅&ܢxOx&hpJį"Zڙ, 0ADbEhziKPO0$8f7/PhE;c12:sf#v qqnO:R /F 3_^O27Kƴ@_.-V)?f4V^凃2~`Lgs>¬}p/@(EnT~)D3%IeRTg%}>bI ӑؕvKe:kid5y~]#Ⳏ5%mΐPY쨞iV3[}4_(n5iMtgG)ag<ٶ3͖YbC]_ $BR:ty>K:\la"V)$ GQ\f[q_Q[`\_y]~H:b.Cǃ6ac!.xQ9p|rמ4]Ϭ+w1ߴ^ۊ.qm•&|p*h5ڒgˆ/iWu~wSJ}R-Icknd5[i/ C%XnR5O],ި3X!3nXK7ba̺XȊC E(9,K._͍v~#ODP*sFцQ:`RL7O5cr~>^;FjFc snU(Ar[m8{Tkji2ȘmFְ{V!HK4ȱѪIű ׻"ɥ A1j.Յ#LYTv1j81"G 6fjvٓ@P cea<%M$o^Ɔ%@M`6e* 9~0|uZ-O0$F5?f鷔`=ܼjHpg31$$Фlzv>a8qĽ vأJ|!OY|ka,k%<iKxJ⽷(4S.9,L)TO(4w&%A(W;DjDj>Qyx.]hrTM{VU`[tT"jkl" < ~v0o4g o鶫ۺ*'/*' e5m_Vcݤgj!aچ||tV: Fx<}AۓƘ2$S͗"B%^O8E= #F%0 ~J UI~AdDTI ]̻%H%_~y%H4[8ܲmN8MȞ0 &j'p>fT%[ iK|6hJ?Usew",B%;ˁ'2i`nC ^}j`w/y~@rFSC,VE FUnO0g͂X7+,isagK9NŶ<ZC󀖗A+ qټB2t*y!"w~MU]&Q̘__ƧFg59[689۟eLs0lXt{vo9H!+_Q\7 מ*JٳxR%G.(byk ߣ Lts()7՜r+̑BzphR{TYJve#B]{].e:(%ݓ}$%B*\7כylXCׂ]Ѳ9ĨxR\YY?!Y̬a!Ău#:H`q췶xafDm.h_;vQgőQ^E0co}w~"j~N}fFK+yn~ 7zG/ܗ}sK-CBٜw@) kV9:=wz|Wɣgr!V6?(9Gb3u~Ń̹(ߒQħK0ΐ#^<^7X;{FK]k;tQSK,hohs|N5p\VFȺgC8+Gz9/`!6#R8aYau2pUYs +9'Ǵ [񥧩K\GljpމNiJw{yl@/'9(V_a "D¹uPȯեRƮ>Qk _lmK΀$I2OM\uغ;i Xg. .YաޑνR\>[7zfVg9Dm*Izُ6& ~Sos#xRuICʋ|>2,i|}JIfԭfƋFAb3eOK x+rL?:rs};n XVւjZ "3 ]WQN0 Y0wx2Oox|R_zDF^D 61:OPO;ۆJ,Bɇn9;( mD[w֭:Q39T{de + !Of#.YN_?Ѻ9 Bxc8Zjc> ĵ|\a.fvNdEk(ٚcKNJfn*7e|}o?|hMˬ c8Q3ͲC Q<$Ep ѐ1bDW өG d%)RAKylHvT7`"8 27V%#E)[*΂"jU:Q͵⿮ܠ'('mvׅ,ʳT,'Ƨ"ŵ;žDMmK 9&>xY}.m0A?6M$~ uś..0#i^J 'A^\ПÚ;oMS3Oz\ꘛb0'ek܁"Ypj׋$$=GN'|׿O#hUCQ繿2+8 E+sSF-aIaM5UM ms5i&ƶv^b'L Ў cƜTRȀ' ~Hjt4o^&\'m-I|*Pz*RW<aߏ:,|6o7%ƁF=a$DŽ3/uT0[~(QvxqR&V;;'} \ӄ)'@iuT>!/z:m5$a6%Gd#3K"1vz]iۺĚ\8/ lybI8ɺ^GkeDvOb4x>=1M.1K%ԙ-M=sEﯡŨcqڣʯIN<wA^dO6/z54.x!Y3RG`\`]dL{r|3eS3,Es=l%AqY1CAP<:xV 'kl@10Wl'tJh!MHE؎) AS<}}OrtNʒtVJa!qG$M7C)yôκZUo5ȭJݢ\r-O4՗c̺$^)X{s=೎Sዪjp-~avx"6gl!l"u>o/5flq5euoǒK}a^0kʻxڕk1돆n ViQܶj$b0]zxD<"G^~ZB0W-ݠߋԁ8Cs[B_V4?ms*·Pۼm~!Z;{R4_STq H1V0H9I"R Ș_:ԏlOh-~] #Z[>#y\M[cSEoNHF fЙC~K7MٓyT .Ű6ͪ%R}y+:6>/)Z~)Tr G{& _&6PHQr SIY#/A76橑rxKnD_ Ng;ҎLXΦf|#z~"x2;o濠 fU` Dj>Q`f`$QEpǪ=ߠ-sXHՠN6 17e98 {9<oWE@3Ye7X7;/9Ez]K5;cR='<:d'y``w0M7Df[.}#?i) Łwq1ӻ֡á/MU W y-g t ǏAї$Dzԙ₽1 ca-Z̦n>`b" ~_GltyQҗ)6 p]U=y C0k3B_Ra+XƭggPbX1GdARjDog-VMd[>*h/ZV )Z.Jn)fbYlrIffSRnwJFOoշ|? kXSyE҈uвO4UƑG _0|aȳ*SMWc(E *{)S>bZpy ͳt cSqGPʏA/ f6ɛպL.00>OTl0x6rF,kįfاf>4L$_gg[nPl4]q7y |q4˭ r^#뮾7k(W6SWUEO{U-ب&?cU^¯œ3&Șh O޵zh{5Rծ Ԥ+uCmb-WHi8)5%{ooS'g#7ѱǑQ/xi&$˔ QHsQ}isf!d@L:×Tf25-[C+;["Y~G]~8 b_>7'*ȯ.: fJ:4®s Ta[8ZdӔP,%/On~*1m ܻeJ;>@ENX56Ҟ8pt70|-ڱ7h v`dg)6WA{*9I 3: Ʋx|sw&GXk~ s@%`Bmw7Z}AD>%Z>4KTQ ;JbF8jGXۘKc}ٙI4"ԯLж}!46=Vc49T=O쓆OvE2Mr/FJZ/aٮBoԚ2d;4J21MBM[534-H*qpD,djx-eO QRv$\+Ո3Tg)f;Y{~>@vo~Cs%X}]ACϿ wtd0E/#%jo4o՝Gf/xd}B0wqֳzԑptߘM G"XOz͸ ?wvuLxc>=łaU?)) ?<_^6SW(I0c5ELXms(%u &s OuZP8gY"W90[DSg! &N3iW"g ɩ4,3=P~3kA)4BR")ŷG8 ]R>:ٖ}ҬPP~n"d2l±i^c?2[en~|! afrJNj> c) (=J4e8j &P+E9X08C@3(|tF3zwPU.y a׏L-B ^Bq(pġ_z=HW_wIH_B45(SQk~g@̇ KW?>?ǯ/ͼ=S*$6M;Tʤ) !@hVX>ۡad^2$)_oW:ekM}!3Uy3ƹO!3>te[Z=rx5H.Ko~/ i GuM}6jTԯkk!ƆE``="6 4WU^x;߃nbR~5.=Z6D3{1Dr)pX+;'56nɯC2~-jq>qL y'(,u/ϲ_z.ڤ~龫tAQ ҆% c߿S(|>n{;) G,ς r*K$D[v].uzӎM"@h?}:_$57Hn|8Oߋ}BXki ;~(vUxl!2He ђޥew+HFG^0Rx)S\tj=YP Xcgh K2Q"<!^і k% ;߸IJ r7TSx2 xVB-uޘ ]@tn3kOi7ʜ _3p:Z ۩[1B& {kL+c4"F*2MsEpGIW~^-15ţfҲ vǹ]+'уBkzTc׺&U?HvF}85; (?&b/0 HP)+viſ[B/]yñ&䃦:{mf}b-P$jG)h_J1%j,H;A 6vSGl LW!/_fpݧ+N6`W OHGLMI&OLd w^ GqjSuMPXgEL q.춾n; /D_y=p%E̲|c&ia@?hdnLh &m /5$ ~'np˜Rk3w1!pc,749obf+c!@K!!ߺ$S=H1޸ðQƫ DN2 f)lqg@T,FםVD {lD7p;m'mNiYXh^Rrme$4;xmTDKnt݂h\ qmWoEI 2}}wJ̬,uV|,۞cn!ݴ>KgrZwhpAΰJob?A|P;o=Hz㱬CII)$/-t[=zw}&Cnv,M@+ gѶ^_RgМn\W'Bz$f UA:[vWfnP1Uw|Ztڏk:93"Y:sEu\q~ 1P,P$yFp-lo.n@^;L3t7VKr<\?q#Ӝy2#Y  c! ">B`OE;[sRc^1Si=jVVxh&I<K}(,k7_5b΀PiwŤjg{䃒veI>\M3uyhߞ\i:!!\_d&#W"7A=fG)$o>l2[r75\MA>(\e ]DϺTujz H@ͻB${xqc/) e7[,|VԿwZe=Z [_3Y0m$Ma%Yn'fY($]0EuHaI63/Dحi(qS$IAsԋ@ "YDtNKN?Tv:&pgQ1KȬKqNJ#澿s]S˔qߎx"ƫwFi'8CU:zDG5!4$bvK8d U!ƫ[ 0 1(ۙ--RJ ^9@gZY.=y;9D/V_VfF*>cauuH:ݮ2S\{'>9bk7 Y2$=>@1U, |ٙ BD<Ҭ`h~WoTT"%Ng. }#LhHSمA~~8=@0 ůWzټ~n~[}8f\Iљ(49<)21o\ʷ1pUަ#OD7Kt-_Cn,0 P +b[P{]U omD+~%p j|`f'\xu bhꆠy=cқNlf~VTͰ6( `:o!qhjFHͮ!uND=tpӽǒ&Zd|04ߗgϺǬpn KXm/~Skn7_quE7zy.mlRd  vn)b)AIJL\_jvut8 Y"M}eEeI^Ŵ)|}\IOtctGw+ i\ |~Y[ SW+Ef\_N~5H]WRGHq;Nb$h+ﰔH]J u\td9Ȫ_8G~0P'=bTgrH[&/q4ޯ?4QVRm 24bgX.0frC A ߹//BlÉ1k͎nL5 ?/L]9QϹ6Q۪;W)(oqbL*/Lr;3ؾ p)| H A){7 }8h }|uܭr-g=|⿅!CٛulG!b`Kn/gJh|| v"*蹴XyJ<{}Qf)eG,{F"˔R[+_0@йr\P^*f0o1mgK6I:L\{"9X3fevYGE,1ez]XXTZ1xƛ <3[t<*jo3=gQd`;4TnR[h.ԉ$b6Cw X 4"pMᆒ5Eq1zEdD%NWLoϒ_'O%]D4h֛bz& 'zx@%aCʧԖ"OI:q QlI!naz9KFW_syTFb0{W=Y2>G"n5{2ס._~䪰g,Y9k~m68 lNV3HG^Yseؕ!RzaBVrjbEs>h^B }ޜklU"_Si^4Kϕ=FQ9n6> 'LC1(PwL%,NaG"|m3gi?>awCGؽ Rf =P+>RY"E=ߑ Lt&8 A2p|0(s#3hS{J^E1||COZ>WrcpE>ϛ_`rRhݼk3^."X&f %HaAp { S+Nt뻇^cyr)[쥖}m~=n; F'}DI4d=βKGWUm)x5W,u/F!,Rɟ6 2m*q\6*fJcP8lý;4ǿR+穈rnvio,FT\BNc{zz&2,eąf#`7#L{њ&b'Imw_YR@Jn_s<5V0ERO̠$q+27A*%~фg}@)Q 9[_p2s/bRx[%&dozfeN?K;X|XO04:}f=_*~K@-;,v+]xoT`Џݶ K(*i C,tڎLQ`Z:>i|'?=#UV-ZER3t(q[@CΓe 8[3m_ɼ+-vO  T2C=ydoo:}\w:6\q5?&YgnÔ^҇"7ӶrM}پᾺ";c^5[G{!ξUOߟ7sɰ4 Ni64޴t> _qadpH]Qբ ][(o9.\v[ɲkܞD~o+|Į6鵸:7B^6FIy&#um!^mW5zqXj;x9q_LӮ$P3}ezsO1F p| %G^,P~CC"3eRI?κ87;As q~!U) "T\M@Sx{tѦ$e;ݳB}l @xrŔPIB+)|jyk8ok󝽟Mޢh@g?eC:zr[ſuU?0W k*-94sVL`u1mxK9]A; ?d}0`E׊y;59>^p&EiQsl {mxwN?$ٷڦDoX+ج#e'j[xvodi7Hbmp{#'%v tKm@܍QɈZRgYI' /P_'ÿ`G-`ȶ_c&8>"0j@)yV|OBI㋎~;}#P7葹2&<5s>{ QPS?TT;2/.Vd C1ǝU+1-X;*%'xPG/(e:n/9@҄;>e>//H!$h\s!s~ta;=x/{Qz{'_N ?L|8wI~8zeAΞNt;k:U!3 Xal>'SC࿋(ە{zU !},h mkr=./x8Ym#tJKcE -$\v5'e!3drs^FAω$b\nch2e-oB'}bsk3>c9qc}{jPR^na9cgB!1M 젬uHg|+\P-8yOn~7i޿S4 l~*+~E\K3g[#OTD̄& l:, ü>Š%5 2v4%LD_?/vJf~ZΧ+?Q2eDί? -h=|uS_(.,1u牁Āxνﻸ{qgFE!M:/^;Ɏ|!L |)sqѮgT{RPPUÃ1UM¬86vĂwq |ȾQkI:;n2հGAqXIJd6h Иō ۙua߇^ dPD^ƊUb99PN[R˹)KS#yhNQ\;݄͠$R3y5ӎQ8b_*~!l)ɧr1) z+ )y`xA BOzO^0o-RMhF_yb;[#IMp8xbn1JVېlHUQsmWZP3 K}MPr)^3 x n:9!+# R/5@δ<6 3DS~Y!|lubpmQ0uIh>hsg&"S)nV]W\| 廉rmGpe#|g چyNQҶ-k7*fQEH&ZC˸޺N&&Z"$j OOSъ?A_?MpI$钿v^}4TOҚ_5§3".}1׈ Rz/cg0No6֣֌#) “Jq|>vPrȪTzғ` jh>^2\ CV"[6GuVx]>|u|Ε%3Q@}o 4:w9޼ZSmT$k7$&Tnafֲ},&{TV߷Ъ2iMK5~a?S--$t$6dQ2?#-G<21̉O%?LdX8|aJ$GyoP/؛6dkޅ2.yC>pMf%JT~'̵V0_c^N6WC\:\)]і8.SG;$[i6RK[“r^JcږN"7|g^=XD}X 2K/x;2BR1sl8|C1Z} 5wݎ6_aűvTg ad~_șfnS,“G1A 9Ta H⍵MXЮu9G:.Ɇ5?dD sxqgkJǹ갧z w|eHP-؜ Kz7zCa mF9!%,Vir,pv=~Wg\fG{?s\D߾pH>n&쟴{4_3R?”ſ: Tywp8{Ksb*Ӻ֗=Ie*-EydӺ8wAI<r x>0#dcH'bHìBAJuHM@)/q'E6my8S@S [Mk//-H:ZÆ")>fD_,O+aԎc휵a8$ !/ }#G3]vvM/܍-B6^R cF<D>D͂ ķgnm?NTߡF̷yB36kisnD)~Nw>2 Ѫ.^iq4щiFF/\W Y4ݻlLϟɎXӓ_LXsd#3["PN\h#GpqHkS A h켜kf'ڥ9ɀ #/͇3_tD}hKb~A =IT(PQxo x-m^o"-SuD1mCAoo=[L8 6" /pe; yZkm1#;_cq83EԔ}޲YDigP!>Cr}ZU4"AT1 c=|?~Wv1"έ"Ef<ۛ" b!C xk؍_mB&ZEInNڼ~M;c[ѱ)ifTW揓@68 ֦/OzUV=!g["jx+x;,Jl?^gw$A .m, % ;kUPP]cf+DxPe훷_m!|ߏ{"묢:$:OF(k@Z5r|MoI|JV a̚& a"G-4<9kFy SW%ٍ\.=hÙMk}H{8ZlջC3 <o'L툿rq|UvΕ5WN@UZ=[bY yVL7>D̳ gZ k+9q_Wl}?9߸@Smс PP:_P*dZ3M$c=`UJ6a_[uys?$NDwj 5s^ʫu彿t.H|ei 4v, ~ոލI9Əֲs9=ްI/GIO UHhѤX6y(eiuTBKLf!z*+x_&B?5l{\R@"v៕Qk.=`q e>^"^d!le]qe'eY^Z<¬`Ƽ%7b"e?FߔM[9ϏgbǗ?7~_R dB83g^Ű \ˌ&K{O sa~ ONG5s \ʗ0%7X#~> ]=0Qc$[=vI5NL#p1JyUG{>S"^]Q+⍯Ky@:G~:HB{tz,4mb 1\ B׽7SdTGv)sWE8o>,Wڗq2pSnyT}@Bej2qoS850-yͿ`pnu ßS&h;D O(7';z#=U}טTyل4d_+d['d}CŇpzo_5IHlnkU:~@!o.{WL֌+WWK+4% -Af | "-64@`?%ɼ ,8<ժEϗ#,= yQ>" }GߝׅI:Kvz'l࿙Ku?(*f͈ob_j-Vp `/G/4Q%ځ!GpS!?iMS;A[7 7[vw,Z(amP( 6kH@Մoba| &F0SaYgqބK 8W9TmO꼋^$ 3)j(9KVUVKBn|x^d<kɦnڨ]|aP91CŌMVJ4b}DRE?L,nMҔe!Sq"hSg9O<Ƕh{(Vߒ@J>L>WVh=Q9=݉6S p̈ŏddcu9m@jH̹6V{dψM?×Y:|'Sq<eο~Npx->K3_SO~Ger[`/3KĞR7srU6Yc5]hጤ/M4]Y]GT վECxSY#m/5CJ0%YI6Pfz5R ]_"-\lT!f?,<@w}U˴J3xg{h.B[)|ӔFȌiۍ9 nЧ'>ppiw y]އsnK.7"ߢVkGǴYEL$8fug^ K/jޖ .f]#R@Z?_f@A2/ R6<!xY}Y퐐ը; '2(6ؚcE=~0S9u]Sݘ縮vx-u}'&|:lHz|:@{7Bm"_Ko'wAOpcx_k'H-xNE]6caBze Re"[G` Wa쾰=2y˅/*Gl2íZ[;x-M7"t#z+ubT&Nq^e^4Hk?,WBumHyNYdKI{o֧ ${ yRymoZc$aVcu$ySʳǸE ''wMM'ݚuF57.؆a5w:mse~D:qݓw{:)x;IvNڗe=G{yw1#.6ԃA|ANy/Y#Ao}13d3[ݶ)Xkɍ/{4ps{c1wTz g~)5n)f[tǙŕ KCoxg}R8AReye?⿮}߭ASm2Cfɔ뺍Yw4'[L?),VE7o|q__'O._W`m_r`Z_Ϳ@D%s_lϭ:ˇ5W [d9ۏ <^tq[٩ۻ'ZM_?Lyɚ 1)eF>ax9Xaϲ/?"cKv0yGfz8,DٌZÖ=2-75g,{sϞxsx"d,sP2b"F?eؾǮ}o_~?3y$?ZӒ m?}y7zN Y~yX;6,(a9m{)fA.(?Jh EW@ioR;xHy4E{ [=g}i)Y-)UWh"}#{}^2CAkl5Ҷ uBEa-ՃΰQ[2l${a)ߛs7e4+¸j>!@ސ}G<<1qLIF(څ;Hۼ6\ߋ6M~, 3/nt|}G~GR9^3MEϓ"A2=MesoXUռ}z!/?B7?>wjͮ4B/2O&j$!n@ڞ/~a\by"\ K4ZQ^Ɋy2Kq}hZ_Qkb/5(.}G"_ OrVQ8ƠǵWd+6^UlOWv7r_fz"͏|]ѥ֖8Ng!0Do뤨Svkx4͉=2*UF9MVpzAdK3Wqg!{A,+/,V5ڍii1mxrEVs$=njQ5J^QJy5~/!-uMq՘Hl8m(EPKٻ}R I+C 丹i$ bJ˝-Hk;?ou>ig Rʿnz+Iك;( f9V.+dxmEQ9LN|lemeNS/{}9rY|תSR>T(0tb.>/nKϻ4B2w3ӹY^ƐF/iWWcYFh$ȒkiϧhWUJmht~#/9?xm;3Pʎ?|@.:+Cw?K[WKozMLՁ`̅U޺ߎZ\tKK4G}Fz!:#v9v+7gF\7'hm@1%^6Y;0zX(P끟 ޯp~q6=qx/nY.Pm šmaX~f"WTQg >ĈԈvN ƗhLآ.gXm1Sx%E3d@a|:Ͳn"}De&MVk)ƘAW{ueנWp_ F{) DK y(szKIL-a rV0k렵*(}@MWreL_~ ʿkgAa'n{ Gp+vuS b(AH|?wۄ> 5V6_Wl ԗh8sy/?UZU@s5$C>P'_kD`ģvŮR8[Mu:)#~(AQ\^U/W5MZ/LbxzEP6 QEum|M&d@U^uqŏIe],AN( 2D׈>ɭ֦}Fİ9 Ehl9yK?JKhj< y.6գBC,5F uo3 @d ȣfi6'lW%5vIӕI#"@| CM~@u 6Ypʘo3PѧM^b뛻}!}4\I`ʵ4JRC[:&y7!n>7?澗KLצ7RO&"1&aG+|N$ѺTjR 4Q.[5ޫ{R1g t")a{uy:IzMR''TtKl2B{9`Dyd4XGaAFpR  jiܤ.j tli/Wx_f\à;wcP¾cY/yf? :Q6Te+9*n| $)߭6i8mODC6r,,-|wq%f05]0nə_xЕM̛'0߁hi5j`hq+`{ʅ7w.>|q8ۼlR2@,R@Bw(q)Fg׻=nD Rd2_T&ƙ؟bIcEzkF%7tCȳ9ɞߗ쳼e8 pqg 1A!!5lcR $ 1߼B}"mVq.1CgS%Gikb'g*Ou)p\ /)l \v &ɺ2kTזU8v,R“z հm^TWduJAATk3=6 #e803ݑ6+0fMo:ꚋ3}V>n#i?K dN&+J@CܺΣbׂwӯ 7no`z\hٶ^O=:NNzjnOڗ(8NC R R*tHUxѨ}3& 2ْOk Ybt;gP^/g,It8(@j|MD4}1&xV@<Gy1@4M:=G#f2ڶ,`10covQ4p3>;%Qmҙ F|De˴\v+F(KTaě 3PQYYE'3ٯa.ɥ >4$Lll~)v<*xcD(kW ت ;)!zE}2Jfݱm F}u2MUt~ct2|_l̓"=3[q1 kʻTؘ(ܡeiDE<6$":WH?.K \~J׮_T/p =.j=n]M~/ ]zȭ#teLDM:cUI ޔئ݆; _0>ݗՖVg3 /XU- ,!A+woF0.#q:Ȗ BW^3XNu]1CJe MdZ 3D ut:OEJڼta8ynQ^8k8wj@(aPR֝܍[c^pnMEЖΓڃu4 87'Ջ |01d W%lkܙ˯1H `7 _\rPgA1 xHvߘM  n CC"A+B (xU4|G~N*sutC짨_~ Pd6D ~3 VQ RyT*~[+UVX wWc\/T:CpLF{,x(.VSl=ʙ|B:eS>A,~+^Xmc/gdhF2r"1QM$U"}n6)-/pEy:54F}dw/@e |Zûكҏe-]a~B2Qu*,GMGfsh;G̢em?b_\erM&Ji|:90(x+tBj_=iƎumKE.(zO>D2S@(cYB=Ï萺 Jl-[{ɺ:n ?SxދAq߃ cs075<QDL;o1'l29" /M#FyX$ COC2B2[l6O.@W,ן5ˊ JA`\G,g*m4f߼2Xap-ZE]FFW!̭( _{焭V[#U/l1+WUAEz(m(%rFΩy-.? ;k`~7̆d#a.Řg@R{kO #YS!l :m~σZQ'; %ɵʵ7r>^e*R` mU._ɁTĴXM[GM~Z6FUo>yyCg":a+@k 3s۱EIӹO QL v( Zէg`|ɮ8R;k.U-'y̶k "UHt כ&x"XQMiEYLGZjq$K_F#'V ^ȵչܫ R䱑 Ef%LHw^v?g\ῗ "퐱Q<NbHCT*/0u0_EQP^ ԼvD wg6w>#pQvq̵P@uMS#͑?D2~1=S0J|GOʎwD o#&x:AgŤ>ZO-q@bؠ]u P]W;ڪyD[-WDjRϔWܕS(+b!UכO<U=F͑ճ@;UWaJ݀O0X LR촰tO:v1oa,O+DϤa]u\yt䫤kM{b>6H)LJXOJ7=Ċm$tŞ7Kp5c h)(ڢk4#/9<(_ǭwH Nq]s=y< bP pa:QFior$ݲh .6l31?Z)E;?8"GU¨;߃lp{!1a+tJQFø)*h(t 9Agnd紀@hT4MxKl*ҙ^]e>mUqDR,쀁0O |كZ{?ѫ5}7\UTIgʦ KݛjCؠG20d"[>nelZl\£IHjM4:WL 6xtl$X>di8z~=Ο`oRmm56QD m3ԃ2%F<2*BC{o>b]g}^E;ڸwEirRP}<Ƨf:A03e~LPwLbX9"n0EF?.ű0[=gVp{8ՠt`,}FGJ>6$ _\B_歿3tvMtRĀr&M ! mCLSN?1(E-֋oԶ>CEb1 s[Zie]G]Gz|cY'mݥG~˂4qp MSO=UVtpg\j޾#)ZG ߕaxi_@!=z _OX䟿XpKd}708m^huFO`fS Q. [" $HX0> <럏4VwX"͛<3E*ΤKǯl=QQB;AwyG$}!^&GeWYj_F3( a={8{('z_h{lّ,pw6fO`PZ2- 3";0) ҆ r Aqڕo}EIfmmweLLe A_k#ڶaM!\>/\=r4 )y^9oSf%w[|&)uVT +2çyBc/Lj,MWD7tdG0p_|90zM&$Ͷc\1!$LoSϫSb6ǭUpJٌhJ/e:Y=3zL|66mk jne,,:>&? :6U ºo, /{0G^rᮭE~ҹ7~UOmٍvݱP9BL߇xTnHW 8 `ݽͱVM2kY[,̹-Z9YN;ep [99 LaE4C\,bY"9ir8dY7ۅII?Џu{T_ԇZ `g'} A[{q_r껕=~RN ,`+d@u&nh+;]@5E:賄tL1O\SUJߘyŽqj^`5E6ͶpΖrԠ%7|~oULo-bc^$kPg:Asm q+q(@'ׯ~Z jR,.Ҿo(zWQ/@y)e C!oRxh+BNݏ- R+J \,ϺR ;;#Pb3a )c;E߸<Ҍ}n*h"l>Н$xsPp :iԛTܒu8+J>!uc>OTRC?31K]>;YG{i#wE1WŠ1MԨEE3[ggZ"!K82M3{T 3 ygBdl $cNklGŜ4y)'v;Q'2Ŋ)huCIp'/@@+_AIS%Ȫ^h^&*,bIIVCecԽ6`8~nf(Gg{>hlM)fTu<<^z(L:}θR2E 8CWr!QE84jkUC9Ia~|=O a%V4gЎ+I9@yC7ۚme){G7_]-:OR¾rz![jJj ^iN8jL`VHM p7$']Ȑ(+Fk"b$)NX~V;:GO4]RCBUwHPXBjpgީ.5tq[Ye+%!VΈze5㐜R+WV= үXH Y\GEvaC<$d*؃m_YMP~I Pm.o'{ԋG|xކ8i'IcFd5<=Zl~,{?(!+|;4? ]m! mZ=&7jrٸXoUJ쵅 9llhٵI x);P8:j?[9H=ߤmp=qAA^3scHޮ6rb8>/i WY8n25o!Ίvj*D^;NƊ#G{dCν}gKjk]݈ dl?P۱eڥ"Uﻎεqg&I?N׻_'4?>^ˉdX\̡F-cYFz>jN GYoxv~aۭ-Dz ajԗ`g563Tnmp:}9j0dwbnv4 %w W/XS1_f>:ɫXVa1o™|3R{OW8ỳᡛcqX:mx`;[ zht_exTS/!J87^1.L`HRkH\u[0r?Y UVQz%  *> cN,4T v5t񗇅ҦE*eL?f\7繯m F5NL&H';J~T5^Dt}PAt6.Ѣ2ԏBt_gnAEAg08[V [ɮ#PɑEb *SI_Y/gN}:,=ש`u^z`j* AO#&J @;* DELarh(!4Va~Cҧ“wRpa]WT:/Ph6fIx^JXG^|YԖ"D[TQ;:sƒΑ|R}Jh\"Tʿh }CrdW7~ܱz *Z̅dfIo}`rs&aQhhLPqw& i<;/ R<6FemC-?ӬfC{* Ul붯: 7|쳋1}.₟\"}d~0L1 IX P^@ Ԕ 6 D\ȯ>r)]DdWSAGX$_pv]8@ ?>Xli'UDj%99|Bz$AzcqyaưAl~,{Zf⪺"]VFOj:hc-ލl|{>o6$?Cxl8k.@FaV蟦T!ρ=*dgs(n+0E0C܊$H_^@_;<ĽbA38M?'*]nG ;ndBz;7 MY4sd`x%a NC`>6>sAEۡwЦ V5 F=uj!*' Iv!s_eD1A"!{V%v["S#84*GrmwȅPՏQϵv@]gz~R o {@A^=CgAIp'1m!ō}DlsT6|?npĝ‸=)^[Ҧ'|,piȎSAN U%RcMל2kQT?zX1OPgz .+(5kTz/(ށE*Id Xƒ\xֲUJǙP@mgHExq^/K zC"̕s#$ƂKw©M/ %G VKVWX"lPG pԳ0+!!=m=CNבxEp|*8C-ѹjw3QY%1[8>wRorQa;ri~\4~a#J,!FQ1 o$\]b~@lǒ#WٲeyWr.\^ vMҾsjpY INqwH3DbfII.kf&шbr͌c{k::Vbn]Fŀ}<9\ϨzŲ"?(ٟ1v3m7}& M TGY~Gㄱ\11c5'~3u˛Ie˃ŒZ AGۓg-g{,g,6c3ʻ IM>>6as6rF#9#'M: lkGب8Ҍ'Pq'.Lnx܋=EbȧLJ.m>{Mt,W$x%ؐg\,X D /Xz_р" RTS5`Tȃ1d3\t N픑[ƻ䐬ʪ(6<^[tw^m8TYKB{aplkMV9=n3ݾc @w$ <~^,aV,B]i.L3SD_ҫ_v$'aSc^}4ɵckMX #&c*ÇCɾuw;=R3 0c[KxYM`I s+,T=J=36:2 rp~=CnO M,鏛gJL:#N_Ҭ ywX2x>/82 2}䷴!zLa߭h^Aj??HG ͜tb+mssM.BWL2ZOC AOq 1U@B2Y^bYfPa>/Ӎ $a`)?%2}Lv`ja2iǜ-;G-U \wM{cVe5:[tK^]3&_n}ɡXy{LY'AadK~ln0>QgcRy]J%TsكGfӏsm.n#c:Hh!EmūIyiUE?ITвeeLyEr]P+@/^S_҂\^!m㢌E12Z$f$n.#ḥO4:,O6}]ꂵ2 "/}dBiA_ޟ'dɧAmCz9&Di:m/JKBFcXFq-dMO^˽a _k]讚 #O5?2WO׽!iU5ʼn:dN˫܉Oݙtψv/N+W~ xubh@-Qܫ:̼S֎1] Rh݀)yuh%tM{4Ge^!̻h PS6H(L"! tTI1AeD"ȶW&q&N2rdx~:4gC41*)dH$<2]s50ajBrؤc,oc!+^;TurS I)B{ }$\j,h4hRΌep}aY`Ta0#_i_$Xiqd&~%g+-%[ S!q::#+X3,}*go]&:/)#{V6=a~^)!%=!b=KbL-jC~%>oђ~GȰ,騤QySO9#3:OJeRV]Wq} 5J&]Z`\; B^stdEn˧0:3W*Z;D rB"֊wvx;͛T`Q}<#?{[ԟ%޼Āן.Uk!e\foO29dž d_Sҽ ̈Gnx?q6I2S!îFD0*Vg<-dhԯX׳+?_%,|-_MHn;XPM=I]Ở8s`Dzst훆7pxm(0=^ۑ2T eUW=\'ڏ)3jE{ÛJ⾨RqW wq(ga ` ?ݘ$(W=UkGqѨHI;۷򙀟DjK!r9{X!M͒^Rp]_s_5e2$۾/.6/ =  8q'!YrʕC0Zwt_E|hu5'*߰wH0ϼpjWlmX*| n>ZJɝb~j\M^h"O\5L;mBA5өؑ?ZŬt.~0TzOr6pJ- 4TzW8JX&wл%s~)ɳOD:ed(UąmRͮ,P|DV;"\1} خ{g? ὧ^"/Tȱ +?沟OJ}OUJuNk$,D`^dU+8[o~7G }VJ, oԗEdlKfp+(BNP!C&z9gWy I0zV>(HLAgK^B~Q .?1T5<3o:[.J"60|N`@}fyK9|F0}*M;DxY2-O%bc. `'}~Ka8Ze_JuwQq[)l  qrbeZ)4OXY=R'ݔR- P@{0 "LF<,I/1g njQ2> Vū0e"f-KR宿|oťFP0 H"p<C\Cg|Lsu |~Y tPTwTlpr,tE=Gơ7)5E0cgSjUǎtfRaSLNzdY| pؐ:!C!I`vSZ#fp[73mfK4T)Z1AFuH$q=0H Tq)kQ_$Bw{nL lmNPP< ֛}1뤌P5zg>^i*:nR]*7t|iϗqZXۅ% +>P/4yV:Edʺ4?׆1k"R c7Sdr8|RIzqWK |ر+7o]4U1MS9j7-Q-wHz) #ޥXn/pF:8m02a0(P㣙pOY8GS}"K7^#eq' ջd ۓlc(ҨW^n=|[M<[v2sKJ7N⑾ +skc=J)FrSw~-QaV;wnBe{g`?t '\2J1m<|# Y1!CrCڞy~HbLsu# l[.xB`]Cof ~CGaD's,57tXX4'v\Ä/5㱇5FLZI}wGcX\[>b5U ;(zАf˿/d:^Nh .z!LҜ偘[On|IS%x$N~iey/32AŜ\<*d+ƻg .w}yQ|wL߬EL&ͱRbSˌ'-C^50cê\@iBXK~BE5G U37ڬzY׈[I|*Ɵ) P*'KA%]gVmE MM.&'evAR2]%sKj^|L{٩J6&-p|2ay;@6 hږBn=qBpXΕ<:%q~MksRZX|"Vur!'FFN7,1W)辱U343⼲wVOҔ%8v43؇RxM0YG( P+?QO 1ސDO;*0;X;gl%q&=ٔnlWpjg㱲XEϳN ׃%/k䓙%NY ~\$0Ѯ-k01 Xͥqk.t5?o|67R 5)dE岹ոXwz?FVc]1b,4"x=oKze7.zRWbdC^5."_ 17Atʔe!ᝣ87=Ѧ޹, smtԟhGw['K^`-?3L!1Yz`91kGQ~ |m&qi\BUqbl.E$PSE}֪:'fd>;0 }fq]" '7 p%X]cI03föM>yˣޱXH&'oI;s=}}`CW- wXY OK&F țHӿ+ K@VЋ\}H)Vhݜ~ 1pZn=Z_3+R*BG'fV@'ӿF{햌6)3DmLғ$q K=P'HaIϋV׎j*.c+rǡeo^8 ~[p}b!$8mRh1?m)+loٴa #eh`ȼ$e7 \Id3d (`Ox)zI;9ox3"D#e ,B/e%Z=Lv~ sL /x"O5K3/sc6k|kX%oȽB^K./EZ ^0 :Tꞿ_䪱%ٯ.5$Udq^[]' .5AQuFg۸Al--5/*omFej#v%4("IW!'@8!Fx+<#{˿vZ33G#>g(1ic:-ٱZHoD\8">{T(Z W\*lk7=M;lUH%"|1Zc}R2JA-=*ssdeAA?ھK@euO*I=0-7MsDK'|71 :A@ ު^z1F QD?3j - bU&Ŕ+h‰dM t&ky fdtuM)*O}IDHh{?EݘNlQu(>S?Uj~.z~.ucs#xVZg9ob|JL_t (LFKK'X V0j|F(34aE q}8 E1@S,dT{&8Dwp ,U`%' fߚA&w>QPM_e0Fo l2xDa%~4r,x_}撗=8!S#d/C6:NowA&gm!ʏ\gߎV+Ws_5eϠ́Kf$_e+u~$h M$\EHy^J+CS}y g;*^{gߦ|mH~`ib۰I`|hd]}Uk?yΧ`1?ADO%-hm{S>ORQ7#/鼠8~Sbϔܟ[㏂V/ceFSnc|Ek;U+WuFrŴKMfB1ZR.Zǀ>T6BA|n N/،ӺĤ5pUIzʁ+%y͹sb@r2"'FdHE]~kzy=YKtp⇉ĕݟT^j =;̾Hg{,E _^^+'OܮjJ{;2)[]}^W@X"ܓ`(ZD\hz4ʺI-[?R1 >J Ro{P*5ý[w" tҳ,lŒ#~Eټ|Tp?ιbTNi5W4WDz)gvUh쳹']ok(ϭIqZ!>u勵./^-47/ThM_!D2o1ޞjv:_Kh׭J|d齥SoB̷)ˊB$8B.)Ɂ1h~\+}M!Qox^_谋\fs7&Z=(H }qpD0@0= 27Ěv>mHͅn?{eZVVIsv$ONW|YPgS͎TՁ0+ˤp|nk؇[#y,C+.6iPp@鐧x',?ݶ3[{ܟ%ŭ2 8Lnw!M%4YFQW X ;r.Wq}( ! 6fy (cFJDBEu╋V(|݅Qrts ]얎I/c7*֡`\VTcEUaq6q>|a,W eIW56cYam8leyy@f`g>xǯԫwaM뮱L(!lѡđ_Ia=ٸy `\kw[!=\A2nz#Yb@ 2!]!lg8{s+{iqMZ˘nA/_ ȑO=ƨdo:?1s_~Eec"Vz~/ct qŮ^2 Go E$t&5Aꁷc筐2: 3"F!]O]#!5z\~-]ZTz ^~4}ڲ a\GO|v8]1Eؙ]hT3ZDq{/']:6Q-_vvr"лr9c{wCfс|j5m <pQѦ ,pVι%ߗ2߫X".NW0 H76sx$ˠY"H n+oBT]vVkU8ڥT#/mGYXi><( 6WƌQH Z%SD{c|NHs J_iY9%spw;!+@a'f|tG6q""0IZV3y2UU1Z!W9QyI&$ 67}NAi5 "o>Ph);4ޜ`qC4v XsS6AH{s%)zTDqU bZp0@cXD~|~(*ކD1S yA ϓ()iuyCuRDWUeq|0OI謾$+1;15u>;tf=pSʒuoB!J'ć0~c_p:FFxleM+I0)|LVyz_a0ЍohUU/mҩ쵬t NQHt{rtm=V}QGmS_VCbGIs򌞊7ţT뾪Eމƌ~) ֭O(sf{% ..!y\ʌT0ZٽR`>3 "ǽ[P@ }2u̢eE''CZ(/XU}AUZڥЋMQ*L$#tX_$0onNCH%W)zۡ 2s8x xT3q$ ݡѪbVZd~eK w@uA4f§K+ӲۍͧQ/x ^OӾ 0@O3LؼpIͺ>P+wR!ʍ]UO ^+hIob ׋^}P*8VaoM?Ӊ -^DpFd4m{ڵ`V> #9čo…ò ~%b4=t0o\6,U=Y7&gϘ& v# bmEǾ{bwPM@b? ZZ&GmNjhBjٜDֶ_m}'A~7"3퟿Va2'iQ%ue%\Ӽ^ZH$oOCWNL?Q_G67bq ޳0bv rؔ.T+.+y&tHŎ;CuaH w_Q<6K,JUzAo1>, V DgF|Uf^5EV@)cgma6 &tT9 &؝gh )Xyxŕy#SL& MIWʛ0&L\1Wy4)<8_]E%{W]@j:5ohs=ط8jU- l~F]pD(w /:\N=<fw׉hkV8/%J!xjlLJZb$8-_W+A@{g=ũTivF|N={K% ,GVwyJϩ~ Ӝx5:7Mͅɑ{Yz$q`H bk_!Y[Ej LX`Gp5Eyl;kե\݈i8+A]`1 VDcEIzmdFh.\2Aܧ& TmLSb|+JbO1>8Wg?Uu'WbcHeEh>y5t2r%7JҞ!B4?)iaE`\X H]_3bj9g 4 -Q5Dv>R,]AX!g~aiP,iekhO'X8sbTW 믭.{g 7$Yňc̿K "W\'4]r͋XˋR8G7y292Q:`_[uzT2NvrM]`]}z⫎%\ɶBpsV߀)ߖ6gߒLLjӹFlYv !>K*>aWVh7\&ss]L|i)o3"zv'[.jGZqT2שЧTB3+\_PIDb땃E0;).QAy.x[(<%zo$-uu?|\K!qѣ¶+7M'o0>ry}ۍ]ߨ0#nxt"CEc0cZxVcPvMw\SBr20L ( VDray%(8[OZPO^qA%-YwB]L4(p6͝.FUٌaS#|~@S]TikA;ẃS{$k5fa?rsˏc;!q.N0#jcg7/~?B N,/3[ht A%L 4(^Q-gX B?Fa^F ;boy;'s˞WdOZ _ tkbp: <_6QFtA4꺱PJh/%y|pgVxSŬ`sB8[u20D:k>9씋y.ce0Ҩ2r&|n'xk=p\|ҏ T҆fud :F|-Y`S x|-=AM㆖dƊb~W(3R-UbL1sF݁r횿By^ _Toᒜ= o_/&0sc=e$9e:˴g/|U~ ~w] KV(7g V, ӱ ܃ ¼ L;ޔ>D~}bx2Q=HSYb{POY ໋Y#-ԔPօ EM-VNĊ_dȇzM */qJ_]9QRM,?#]Sʗi:C`:j;pUsAa7R9[ة;4,Yfĵy@ C翠E΃|fb.Tk6p^$3׉+ץ8L5AXRL+ҦV?K@[Gn6-dȥ=T&4eu$PP}odv%"tq *2[Z խ Q/&΂itXe)h%A=TatŔY#/Η s[&:Cָ'ݬ A[.< %U:NDEN-QgӱjE\ R+P2L=H$bC ͔tBl5c0&V3K T9C\T2 rjX!䘳\~k'L e5tI}Tu67'`hU\[h~TiZ Sq^rħ*%Qj;/wN)%z"4 i}֘X)LJgC̏D2)wk ksc? .jE6!PԤ OȅDP6R*`dq^@.DWF.Kã+ߘE1\#zbM/wBRt۞/MAK[ܱF: ɱ>_I<VuHdNLYv~]DlѶ#?L0ޝ\sdav99%؇9o??4_Ņ?1&ٷB!YZмU^fp@~/Q%L_"Aꙃj3b3v9;- T4GF :p&]~U3Y _诬/ڡ2A23/yEquҢDJmQgP>^(,mq*B$x(2zCa a6l$ٳd[gI@HqVҿէ܋HB(;#9q7 D\f duYWܪոnYpi:>~BUm}ʑOGHz0ypK3B٫9'5Yֈ7= #1$ %]"{"Zb$Oҷ>̷WŁg7 L椐k3P%:#"܉d8*2DO]3:\;>A/xم&%([$@ϽQƹwz%7eXu5}>M^B!JT_{*4:[hd䢝'/v#-lނ&坏\VlC1˵f |j3y /YOM[~5Lj:5dl\SF%rϩ[)(eAy51geh .f S`s'f[L<&?d yA􌿔zD s7 R'`Hc ng% q5l ߵ@d\Ӿ@ȧZs#1C•!z|XY=T xr7}_Έ@Q $dw/ pajB~1hV\(M_#iBɒ'b]m rtnIE<ޔD\b#דquq?,2iyj 6PAQ'9q a:`sR"Zh~xZ.#i6mitk . yb*F* wC@X|ҠWA1ȋJYT[ 2U5<} K,ocly9Y iD-3TK[&k3.~m֗.ˌčcߎ\pLX>z1?8T5w6-l4oՃt(RмIn8yɇ2:΢Zeҍ8cqn?gng],0vs37刐\.O@15^=^p*ck{Ǵ&Pq7Eihlg%NX҈(IY=dL#)1'% Wt l|CK+:!=xX.`5"sNFGfkb@hEa:eߗʌyrb\"[RS׮>mtF䅈}A¥uܡ&#Rbߑ݇K43\?ć1\rAG >ۇq}dF|1 @@]'?;J,@q\p#iʙدa9r?C[hhbfS%+!]bzKo^ޭ2O$i JE_K m5=A%LA<Ζ9ViT lҸԎ^*:-G}˜^T"MX#,*v+O7OrAZE1&_%Ɯ'+Ncx `9]Rn_Z]68qb }{hz-,mk8}by%ȼG2iN aIL¤ *=0Zk"|ԲO-,б^&_ʕO;8ӊ%ym5 ӹ{e~0;lRQb)o`n4J|);}_6e|\H|[|Lrz?k` U"$aD'iTrPqa xKSuTZxٙ^β9-i0F=v`Ƃc 6y\/Iz^ݓk6* G֞- N6n=gEdCal=E8 Y&ddzݥL~>@[b<8HM % _XYR|}ߛϽ6,& Zd"ЌZ7\-1d$ijC<=NO[,88 Ŧ?/cz/?WN^(Pc߆A*@"'cw40 ?:ޔ~˶/%y"q-MTIjɟk!DX%8Ru':lC$J|][׷]ѴM^.EbT3i.JUkfڑ5zSim$ }mP;:*Aa@jZR l&ڨa+2hH 0Zg=MmAO㘶 EZKc*n~0N,+bY&S‘0849ض-$'v08A [@uaEm"ԽЁhcf@ky='|cs%;EAwnln{K%$$DA҃"db4X% K{}J%xxO',)k'0ͥ< 9DZsȳu߅eR&63 ر,7fo|0a0| %I~ P,p+erj 9[Jc6kYHx~Dȱg+dNS Q>$ 1VhA],Y p6졯l&8&z(ϴdB !|q@yjL4L zC7q[2c(#08뗾0zGaOCHX#Xx}Rm6+HLDirW> `aFzmU]3 pvM)1HussÓ} .*I>Plqvv{TqU=:gW| dkG-EpF !Fa[}'VUבOP^RѪ3yP.BuyEw@w1~Vʏ5\p2Fn?c$`F?~bwjbx ?͏-|S _Ol(ov(R9ހ@dG6ii'w 꺒ngFڞܱpT_ mK̾GF!|$Z2*>Ȋ1ibX #^J>=P-=| .)Y ؿϵ91*lq(uT7^]I@ Ú\fM5- CzB.{f3q'RTOR`ʂ]uX?^|U, !}İ.Gժ|}u/l+ >+ )#_|LmeO8%^5.V|(HoG3"UdU=4P''K^ YBXKdz0#voP>DG[]JC-b)ֵ]"|Q8 o߿E=qNiu iznV7pu*w:>?5Lס=I6c,EFN~0$yC J62>ՉJz5WCD->p &wXU~3>a E DT0@`AdʽmӺ :J˅ck*%ڸ@_/*J,MEekkM6e9Tq ǜD Ov*l$lL`>‡.^75dY Ԇ֛=nrtH ꗢ+ pvԥBP]ު؎-z..kHX) !:)K@CawI(JAr"0q[Y0ǢֽehD\,@1 5T2~ja,^ly}VmU>4E5o.Py"nwt_H8ȸjb'ز7q2qE&Ҍ{1O#cݞX[YqOfkk|/Y??򠃥Hlq.߆ cMHyصrL 'R[-2_PR$,0'[~tKpY&X=SxQݏ {YPd|a05b{ q>ԯ;Դȃxp+08s^8=fB{OK/N hV#M {WGB-K0ay|;3 b`Ũ|X[+ .tz'5`1sYv*C IZFTǸTq%.,U?[!~-8R6|{AMQJ43,Fi) 07?⫻Aa# _k0+9LO4=#;\`d2lU-߀9Qe3j, _pz2<ԓ.u~ix= G5~+f1`}-hVV?box0[lW꒣ = d0-TY7(YhEyAike C "6,ìW/$|-FlH MN)?*C w"dw>(U_YXbj Q%g|bd^H"CYlLzJ~1fʧlL?~T%+H T=s2էp։}"6bMa$ 9LTzHP$R-6@BU 7ŸSv؉(IKct\Nn.$yaS2 QH_Շ@Ji$or&3vK&2?\Ux]ueދ +k<|u*/|qb*]1q9kWӴWOy/;^VѬMy7;k0aR.2=?dH AT[/1kgL'L/JOfZIX M T_/bsPu'pIFra;VvH]1N̫Q1?# ɰ7 S*C҂bc깰[y`gc1 $U:OK sP_ As$>b+'5}F>J>!atS ]3Lyr ԶG*۹+>hk(7B71v1mIHp:5_8cc4SVYb*"MÆqH-1ʩURw1X'mje/u#רטp!%1 hS%[nn\"E&pػ?v3o<=' J4&oFZ?IF_\o9_RzS0>ϼ, uu. eN/UY>ٍ)îws3|mtm4Oq!Z `OY\աï楫57f*o/_%뼀 g2mA_d{ C0;Z's" ka^64%9^dY~Cȹ,ɹ |EUuDNP&Qm zxW(1t) ]h|"~ol|ʎE-_wY`KZ3ocRqJmlo 4#J2p#TD* 0vHur/"UVJҝM~^lȒm!pr : WIؿOi.ȊWBc%6CRXcrG_lD@=]UlIy'(vu%s%y6ct:;< kxyGXRuty'X^;k-5.͇IfUbY!<ӥ:Ox,rg+xm}Fߌ#S)8kLTkgb7wYe3 0>ph!+s!o-5]Dah'f!H(ǝڵP*Cņ7 $ty"Gn:lBXx\XbaNKt:0QIst A1L ow+jͳz`d׊ny@a$ TCR|q_:U1h# 2c˫;z㥽W8;*roY.̾h B}7W]qXl"(PcEZkGuFWbLԴ+O`WJ4h4[_yؑ_ )/]fL)v%vŠLVB s7=6 #qPv l&7ፘI2po  V~2p5fPy%N>2֢RzbFլ;dsiI}% =Ԣ(JqcA{TPިuvv&5k녳 =Cz}Sy+ѭ7䚏&ׯ%3Јj-o/[0m]999B!Q ){\مT!coA/&F8aGn}8^₋@1br;tگ5L${,*iOs '=TyJvż } Ӡt:u|g?aZʿUrB#Z95+9ӍO%WQ^<45/#?у"ړ;>o]E$Kx47I̼_;rn%wk(9NjIUwxyeP+.Q+PYv5)kC~p42<}]vqӏMdd&^QYx}G7Cs I:g bSg*(]x^C7U@#}u4mժ.yEzS9u u^BW_wKM3YʛA*w=- ږV+{-m+8_Xܫ" #c8PУc@%&V(.9{i{I7쐎$7#EhKׅdiwW79[J_،`{3S;{FD "}tE ! >|+ vȤ h5pѥ<(QNɒ0cT\rكu'yD5r }J\oG#>fEuv;{v~4 )pz юaX$].lޘY<ˤ&=? H,ˊvrEp@ԦZ+ʮSQ3Sx)Jbk]!|3M T.dEJŒ2`Cmr:&X=yDt?7cO<{/]݉;K=WL'֮7-臶5*xV+&(Ljq.TM8bs2ND<=eA W)~J{kӫõ>c޸cykh8k&t=ExP:WD*Y…VŐҶ_zy,5Kics p].Rfu\9?LL^ RyʀlWəޚLpX0}H^Q,p`C?Z{7;p7؇`'"}=Cz,E#k0>1×5#EE.͹h4b!!(_2^uo:A* )t.qFX[y5i- #ʺTB$Y;g,rۮ䉪[FU*T83uu~7 ?92oh׍> %b>QďWؼ,}T=xbyH%SOQl;$\3>f jQ) >6$TZoeU1#C$sR0)jZH29(s)IkB?0= fCcUUWvQԏH'bVo^|XFXulHwzX 3x0 G1k[uJv7}7R$TL9Bȗz۷$F/ο,Ѕ@]c#,|AtɨhjΛ椹 >Ԃ -Ĭ䍎y%bg%?wD9lcyv=Ϫ)'6Gđ+:;k::jqY1å"Rwݢ- Z2]9FY"+0py\Y?iW5wp56<Lb4{PF[u&uBM'JK7+mo01g^01?" DڶY~#pY?Yahn"E5z#GwX}A)L@=2z=d +6!Zx`ֈƿTӤ{ܹ~H~{yw`um'-g_$|󭸏93{?7ETf.c{,[ 'U0FJ̡ˏI{ N ^ ~J@ RV;x%Pe:u#II#-y$GpSO@~K*P6P87dy{Py%> z$-YĒE/Nқ^[I.Dm+]Yjb،9?.%_NEwrjY\;r8+{%)8dkT])ݶ o/ /°,=2y }{[U쳵Mׂ`rNBLhe9~c)_ɾAn~pn8ME\Cqöaċba.og{nǶ1A6|C̳Qꒃ_k?$/.g`l {i-|4[ `"V3̟!^ 0.(Oレn]Y(Y|03""'6^>:}0|)Ii'1&*IuASb7I(˲B9wtOTV> AIW^i}g3ѵi0n.
X}6\Jg:u̞n$[TJoTFבc JEX7~=bBw8Df$omҖx/([Z[@]{lr-Zq_#ы@SiTzz~Xzݛ/O+6Ztih"6) *҂t5B9K_F&NTX.~!n)rFs18 ٝACBI(`1˴^Aka 0`^o6^|eGMkI+{.CF Wxʾ_Ôk(4ޒOq! ^߶:T3C$]e/?fKHF%>S7a|+iHðG+ oQM\ ۼ*pe}lX*DVj Vlյ jDΞ@5?:Og][\V~H#>I?Ȭ(I;T3dEL¬ζO/ ;|p"쥨':&-azpn[0 5 EJH^x1!&Isv'׍ __ʩ]Ãv%QٞZ[@w=$፤,| ? t| sJ=0hi @1}7m X/batnÃ\;,6xh0v>$#hN"GӘ7N]L{Z!8fJe `|wsJ6n:.`J_WH1doBcenX:6r0Zs M(Yv)WBXA(fM=R 1ڏkY~nrhCo L0\^/Tّ+o啹b/@MN0^gL& \e7JGʤT<%znCn a7zaz֠f>_A$nDH.k`xJsL  Q%Q`┧v-*)I>MEO4_Cg@BTH*>ndZ2,a΃V ոDžqpp6ac~cmd ^'+# 1 ' 9IO$o%_g\g}|mu@>`AT@.I }˛$PZ~o n=pڥ- 6Pe(Iz P~#Hn &`_E<$CzVCz= 㱽l#P*ǵAټou,usDbppnP9QC}>'@rK/Q ]q߫u[*,]KeK^)<άu*RC7D?!HOBK.>՝Z#,ѫ_X-*v.ϩA\޹ |_.ΒʀGުHC׆1 *mZ9[LABedI27=BAۖg)1}qEFM9n qȴ)K!WsH&mǝȋzbIB7yجa yU b H(;ۣBܪ.(IvBUv◠˷vg{; ~:e aVČ/ȶ̪ s^B~,軫m4{w/ ^h$/b_% |1qj rl&&e!efڹ磫(&]?@-_뀓}c1#oȩYd.V/=>'M%jTdw1F#<,)c89d=/gf48V?5~+&XnVFBFrP"IY=d\ND F,XɈ_a L=""~d|nl/v~} Ղg#tc5v.,0< Dw$\{ߨ&J"=2<+s{&Z,^,x__L lSط&!ݎ@ʘǴghSp{h+xDbXOD2u[>fU1ܙ /Cbըԭ^6_|.>YzQ*1E^}ǨKrZf"Җtp0uNMQ͗na2`Ld)|0dB|iNdtk$o }Ǿ=>T&Xg26?0,VhQޱ`ru ;I-hV9n/[D=ӁMJ1a#`%M>tk=w1_Ԃ?n"p"l]u7b*$LwGdB6xrk~ŮD+mR燘Ҝɬg/~'V7;c: )`#vqEK┤WmM,7u+_CXl8`j偮 &bAb w)@~ENɋⷞ[h7*S7@\ڋ.E %_;[T ǑTz{/ͣXN JͽYku8Ij!IMc۸sN}!C}eFw|0%2 = K/˖8#yݿR)AyDA<-[kP@/ Fl>y\]TR<) '{q /Po'w &N^Չ%e%v[ y͈Lij'[nrwO v18.Ѯ 6su NRٌ $鯩?H둺Ԍ ^иi ?[t.hu0BF/['p@ԝȍO/[aU=v֣u mFLɣKhRS)@3@NŤr9Ԁ-!y~vUDB I2 _HبƳ_K&r ̟tu~</@l>bQdPM Jp2D*{+=Q%`10q*?K5jһ*^瞽a#dvKf_ohO7͜%زyH=4#-5㻞WE_9ť:-7t`[;Ϯn~뾀)gB/)N5z-kDįe ƶXQp4:nefuuɿFQKA#Q}'bV%;xEl?3"QB,a}!6蹈-b7^1{{(g8=0FDDJjX72?׽S G>s_9NF7Z)^Zoh(ďDFh9rbt5.k^3= 2sCa$x+YRDFIGr?i` ҙE \nt޳EGgJ(ю@C54/to92?iEeUS\y(ho_jJ|rZj!Z ;6+osٵqZW^u_y]2tQ^|:tCӗo( \%7d9e|OMWڡXDŽ ,>Rfỉ0?jnDQ_.}R~ ޕ6p#ݤx.lKլ_ѿdimZw)䪵(Acx&ZP,W^ܫ nLA;*f0j;JKWfLYn2qVoL v;P&(4RF1%MD [& V_Sqw{@g9#3+D #xͦA^\j lG9ϢR 6o}'p]!3ըqgKP,'W:rUA_IZ@T[+'뉃4̔5}R!DHtY?Bݿ=/?ڏކhJvD+aYD}Y.șQQ迿8jQwYyz6Ц;Z* $k7L@~lk30(Iྴ"(&\Xڤkh,a^J՟bpvk.w$b:zQ`TQa/EAk´nVKٯB:l8ANv gP})Q?6wQ^(ۺɊYJE"7V{r&Z=o:]&IgN~[ڽ.i-E91d@j s =S-[ƍ؁je=Qz^ lC Py}sux#WZՂV&jj_nsGyFheE VnHN,4 gZ÷V0|[ ȿ.С7M?KrRP-gtM N4=6:gm ȣc3ҮF{B %MrˇƉçY?,,ɘ%c~m uc,֩5dmxc>seo $V*mnAU'}!u0NT59Zܜ4^GF[43`1&Яb%'ohHg;\s/>F &ܼTSp4K/p֍cem' @[gEx̙&!A$F3PiG֗:jnPS%" lUȚ`'MP^3PQhu}I`a LE¯X^SE5`:W^ةᰩ@h)HhsłeuXKZ\q_;>9o 5@JB gfiy%?P0 * na:OIV"Q/mzGTJS geɰra18 _.ȉ9 7:?{Zr C|uٰ=4QR;9i1:̰p&|KΡj@=iy**a2v*SEga ֪ft7+j2}o~D,(*- EtGi>CG7],o8P2#Pk~QqNPϥd"Bl(﶑ 5AvI |lԐ+%(#DWB< juS`z8gtKq 8݌`.-P"/$zMyWL4fx "*m>4qEI!4v,>Z6cz*R˶l]<-nuDl(_,c'jUilmt]49{p UAcrN#K# A8dbua}T,At0ROvc ?~[vSjVfJK!𸿽yL7{d+*#3[$ly*o5a飁"f ^ErP_p1dVY:B/WE54BOt,4ʾUnO'|s Q2$\azŮ =ؔb):onreM)`ߋ 5ҽ_sn&CTL-^Ji4_v'Xa=Aƍ8jWx*e _|]C6P%k[fѹ,:W:U̅TR"EwSM4,5#S].yh*m! ߖ/W =ڊJW/lxo> M^"{ x]a| /c/˹ ^yQ IL5X M'4_GsmmوU ҃D>=99Z=2+p0zK/$wh?ȗj5FwGHqhP#7hG2z9^&YUaRYtsn[#}@wmGLJrgr3T fU`uQh wB}~`aE[Q)/`Vvso?=mLCiB1d7q΄~J`ڠ"3?!ZI@x y[md+.ǂ~Qzh4+ܗJ12(T\+)뫷,O=]#Ccڔg/u 5& }Lg="G4tcKrp5](k)%[cHrSR-JYe?lC[x +ĹmTKDbc渷ẝ?o?}q5&UpRyʰ2NFx!$d0ق`>&ghU2**b~ &өfU[]+1oCT4̀W&XҋǠ2vBs,oWUVg\!};-0)t(RDLnlà]"oǖ`dO\ 3^m"lѲȝ);y]<=.&FiʹYJhc*\"hz%HvӏA7*<39(ʼnᮛ_vc,'mSpZ֢ȏVrCY;{#SS`*dk򶬾:_HqCmh/54^{."%/bš2ޡqI}ܝ]twK ufdמy(Q;.[ٕ^Aό Z킪8Uhx$iRJ,6&L{k~I_CغVzނ):38(7u):Wiٳ(vPvϔ.orr-{{a "Q<B{5W*ǁ>eɻW/4w<8.Ȇõ"%X@6L^ `}P̏_/흩Ǐ3!)ȮYɜ0 ,({o3$kQ| >Y,ءx}(r-p^&]=Yo(8)ZLM?B2ͣ!M*DᗉdЋ'廄 GuGm1[SVM9Pގm˚^b@ւylOG4vD}|G61@wQ]LTOffGrfX&OUI$ڂĔ4(]ՊH=Vc ۻQ8'{k=ttl&.(7{8RZPL_TS^ԉ*;dt쿯facp Ʒ\$zMÌZHq&WaTpSxBO֚o0+8uq g~阄J[9,G8EOylViH5ƍ& "qM;!Ħ5I%s_hەaa8`N9cB7H9`-(OJZH~;uy3@jL=CچYF`eSO>WA5>\4^v6^. `2.wǧ43x.R r0؋2GwpXu6a0mٍ⁣m,zo(|NBʑC15q#]Xjhq~[0`ûMVn0ШYLHbظy޽`.)y205?N=iM!2d08*M[jE|[U_kϦ{0ehJ3<F'þ+Ôl?0J~W[[m}$C(^]kGrf]2aD̰ 5k-$ksDX A#jUhc9~.b|dbf/]/9Y ~]QKSstp * 8CjJ3y`>SFHFK?B+~}K99szC\_WwgҴV YQ4+ʹ&b @UhJ̃},BғS~rYˇbT Z x@zUC楁MeC&U} B([4emT})Bҷd)cї\[gC1Rˇr ӕؕvU̜Ya]bdm)RP UYѹVmx#;.R)J"QyAk*9<+ R5w͈;;3͗9bC[_B.6ѩ}L:i\lϜ,ŜZ6*/"埣 GJvR-@X "] РY9w0v3 pяÿB@ _t=^z1zl+$׺r7u/>|[ 3 `|ݯ^݉:ȂvZ+ ($K4w;ƽN{d*Cd&u;m^EZ/iwhP!BJ=pp::cFVh>-(F8ڛv^ B :3.νMya\~zΌ-4rpHӅ&T:q ßt1(u칩1FmR -g[="լS"h0/m u-cb` M|KTG*IG;hixH ̦PGԩv稒g>CӸvVittZ_(}0ʕx$ Hz^(_δT4 +>=߻E٦a --$!M\/Yr_N 2ݳ؁(G` Zg`UNOzR'ZY%ᛐ$"r" zgfEbîzlegGn Mm& &`ڝGkAAO7UFsUҭ\+HE<^h*S.sr˶EҾ_E(hJ>OgNMoۓo 7an@P ۨi>%O`~ޣGy n֬1'LsZ!:hcvZhaEߍak*h:tgu55) dP|jn>a8i +6aRڕړ;h9 7dyYZ|O-mym%PY QOcRsTѹ>S'Q~90J/m?+vJ=*r?,Twe?PӉ`}?<]]x&6-3XXU xWiLj"ffkHRjc~beΉkJa>>8a Y$Ox `aIn83jݿD+b=l'kU ς(yR9 Iq ~ޫ=#QF=^x1*hjOk&~6؊cMVc$"G%k)fۈ^qZM*uJ%}B303 ]ErnBD£lP럾 IL^ ഞ"P_5Sdw{;gb3R*'um4Giw1O 5aАܸ׺ !_VÔ'=i=\֛l3kW2 *xf1B$hX'gZLZrG7$`溊,ӝ(+7|5FȞ H%!q 32O,[~?HDkb{}fڶ+|MGB}ٚuYFd~7=\ޗ4?GYy ;~Br}kxRz+A!͡ clx{HMEl)Kl*2(NF59 4aDV}Oeyi7,He6+цZE K5,dDFЅD[q鯊ӂ BMd>. fz~ӆmSK15urNv T~ҿBk[Ob-?L|ӓXqvhUU]%&nAK6(™a)ߞE5oN\-oʟiA Ɔ#aU2:R4`f,<2{79F}!)Y<j FCgͷdxFP-.Γ3(:0Cϻ=Rb}|>'p7hZ~/]|,p.`.ۘ=؜+eׯ$gh"l3QC((!m/ñEa<6oLu$ܚtH;}5OBf'ƥ6ޟrT[*^+m،zI/J/M#B=.TCsșp6#r$CÑ 193$EFّ/>X{ ;uYzaJ Z+^6X O>D ru,8i% #:?t̊MTW4"8c- w8j +pge,SO-}=r 7Z~V#ȌK$(@}eo+מQ^EgEs@2aUz iy'zV;s^߰U"5jﲣ(&"$½ T եw3/Ep<\OqZ(JW8~ eDb @> t Sg=vYl6,ez;Bz@@!Vƻ* wc6`'eYd+ʺ~}e==DNu~D >i5:O(O?N[B)i^5(P0 H- IW(z{Vω}ra gT'ۇ8.Oo8"x\!|Q8Znc >[LXg|s{CTT]tkѨT'˽LnEh,ytqLM6 p qlV =HA$999[:eut: M穝gdr\i:$kgY)f|l4hˬ>w:׆oyTYj)^+~@ ?] Gp#z^ ;Q;J yQ 7jnLlV: 9+Vُ_~^QI>~Q܈{9G}+Ri"LCA̦Y[dtel)IX9FiOq}R'}R:N U 3 ,Wk2ʭ뚞帗n$AlI.br>꓆VYn˫po&` ^lǼǒ,!'_?l-#̲Ve*>ְJ5TTVG2åu߳|9i`XAtA7 c/S֜Y'9Zߺ mTb.ڛ1.t]I}gjh뮨 enH ߔ0r$pTv:廔u?j,ípᐱ{tCf|g(4J&A0E0R1U0RSZiqDm׻$gC nsI BZ<ɷ{Xv'P_rR<2uh՜F,{ޫQ* g/[׵hM>涮YL(|YG5Q82I ϑuᩩDhY$;Bn,Iy\a5x$'haA&M8? gl92f~:Zp .(I(2PHlRW+v Yp !aI ^6?Im_-H %O JoFf W_^i] #D"EȢ6$h)47j 6=&\qaFIْCyD L='TF+tdrֻ*ss>~ 76\]Y2"Dg9EC~~19nroZ=Tt~צ{KTneL{z R-m7PHWo& )>s!~kkTwؐ;d*y ]X.Gndp}_ ҥ5Kr?@AN\A nYݸuxp5HWj e_60vv`?w>BH=X:--aQÚu2kJ^?(3( nZ0= hJ#94-U4?%o-mߋ~=qdg.p-{׻жcuG(m^8Z;?Wp2U{'!_"i$p?FH:, c~@?ǔ8NN[S>d^hM 7+aD[cG 8g$&̅iИM1.q.Z>͈D~6k)o?sckv$0= ֦Y\*"/qيN飵ϋ G"nI\vA(w(8u >ԬA66dpxInH_|n;IKD=$,cl3>~!=?pVq,ġ^:8/.ع20a֢lzL@4K44/JrBņN~9/ffM|FHK 9lq;sC +f yUe)mr8Ԁ[/=Sw)߫ؤqT׽ad[@Dm2aFne3W)*IZY藅?O6X9MfGspY[0,'g*(Ik;IfSPn?ҕ Ko5N kXUyE҈uТxF*HQ /\&ﳴbT n+ <rJ Y;<~ 0xX#!aC]3<;rb?P^ٻb'~z3kJ aphqJ/gVS?Lw+{~g*"^T3pI *lbcFI+0ZZ_!@הxn5_ CI,uد ?&j}H3i(\ E[*[O3 G6ĤQ1|Ie&+S¸;4rO-ߺ%5p胚!<_NêXTSwJp+Y'LQ@gFu{f9B"~l%Z>4KTQ Jb#pb5#]X,mLvھٙI4"ԯLжw!46=Vc49T=' "W͋d6:_b=aٮBoԚ2d;4J21MBM[534-H*qpD,djx-eO QUe);~ję`d3Y{~>@v{7A9!_^B SΆ;Sf2vehыHַ#3<>wt?qֳzԑptߘM G"XOz͸ ?wvuLxc>=łaU?)) ?<_^6S6P`DkDp1PJ`Ax'MɎ OuZ(3,-vfwD"sWƩGCu'+ܳV/P~3kA)4BR")ŷ# s.)Jl>iyVqik(?7^Da] 64~27?hqj03S9e%Gj> ݲc) (=J4e8f"֏\,tpiC~C@3(|tF3zwPU.y aNR!ꡤvP1;.78K/>]#. IT'DXZ<||v?XBgTmן:PqV'iԥR&L) |eR7wDҥ:x@5-H2F~SvHمHWmvpSZ4Az7#i2S]?ci+>SCk}xZFe+#w: '_D'b֐X]|tPԇlh vHEu];X 16,2GC4=H`PzjtϭFqв ' gݫGX$K!g?%힛s8߻xB]]nc):$;ʨkoQqݏCfJ;D)f}ySu9M& }K] ੿ɡePǾllݫSZxL.FD= Zr8 r0WYk)253LQWA~Tum'WRU?Tǐ՟&1Q\K@Gi?]A/:TSk`чHlSWnP-|rK`@E-ٵ;g`u, > \m:X\5}$$ɔRw՝rxg^ROTm!ڿ_Ks3J {P"C]"P\T*3(TW @+ -l__з_žf0vDу8-NJu|eua|@VY^BӯL*MG=A6^*S™VaqkT`!T$yE^TN Cv\_a#rJ(|u<6u)K~د8C֡7x4Mu7u}6a `z=YTCJR̔7 m.F6,iߨ 2 1ekg8%DYPa^TNp(btݮ˥No~(Hx3Zq=O_"IM(7Nb8fȎnCd=b |YC$>d+wio]ʱ<Q=^hʅ)4]i' kl-aIf;ձ@G#7Dkx ramAޑC"}CQ:E+׾w[lXTZu!_[O|Jy4Un┘y2mgd^?N{WwoMٛ0pa1҈7iE?{F`Hgj$ʇ%^z-Ĥr bdRI*taTvާ&ER0^e zt=@Ak͜I jeq֨6݉hE d#6PCi8nsx%U!ZNB3O[gHEdv^ Aw-ƕ@/}wV kWUXY_}Aabο9>߾7cl.Q .SI.j4=7^lx,k!qPRx ˇy .VO+n~SPA>J!|};p&I Trr h[Yuy{Y3WhNDī“p! =Zn*P-+37yh;9+TL8?%77oΌtN1pW]PT751@ N7o o`0RF ]˟Qy4LY18 @zmu$={IϽpY#0d1gg*(Ek '@ e=)ov|篷xǼ pc0!{Ԭhxh&I<%>9Q@$]0Eu]$ذ$D䎙/(vk'`ԁ_wRjPA"PHp ֽqNY$,> "b|w)n1+y ?b;5^lvX{24::O3Rq&ʫj~`FqLI#aoM{1ʍvK8d U!ƫ[ 0 1(ۙ--RJ ^9@gZY._q<) zb73RYsCvە<8s,XrƋ$gXc$TilTP'u$e,2HI\7  ))w: m>{ymSaBKD2.D kEp9d-~_g۷amyql%|8*3Q h usLyRpecMrQoc/֫MGv4n> [dwf lC3O҅ڳWxo#Bt^FGJ1>fσm_'c4s 5^V'L%izǤ7 ؎I#!Rp- ZS7 $5#0C>Ԍ 1]C4>m8E^W,%Ts1XR k[Mԏ@])0.obFӭenCQuڢȰl86)ްU1m !_aWr1"=4 j9n/Į譅@+"3TG~5H]WRGHq;N1ɳʽ?XJ$.sk C]=>W4Aษǡ'—9)_9}VXڟ [)}=lbKߓ5wB9WJP>X&;F쬑Lnha^>HD? s:KFc,pb~w#q[7(2AA A1 SWhNosMTj?mݫ:ŽM06NZ]4/8 ؎:G׀˙D2w"؇#0WǏ*rVcϗ,{!d݃=jrka)Gh4@{ |:[C[a%1V'E1AYҀ x8uw\Y$cu`~voB dPGTV*M#nKָܮyެe8 ۥ[-w}w%x9SB>eggQAϥ-0XV2K?#ӥ3'~)BGEPCE1,g:- vt gs7 ݇~hRvIJzOtSdRj_C}t<*jo=gQd`;4TnR[h.ԉ$b6Cw JY]8dipCIHM"8Jv=oҢY2R'tOp+NշEgIsU3SI8c(M&p‰^(tɩEǐ HS|H2[gR^[ְ=R9c<7 <䬊qzA#V} y?P`お/䪰g.Y9|5WYq6RtkmZ+nuG#,2vyHC!q9J1p9ވZi/! }ޜkl*W)M˴qU}NL/F tvseOc}7]S" v3G6Pv&.0 P f K'x~e#wL'eYڏEv/wԇYFtL {>RY"E=ߕ Lt&8 A2p|0(s#3hS{J^E1||COZ>Wrc8":X;9u7o x= wePDU MIJGֈta~p^d߉)c'>hcs/I1}ln޺sJ5RKcaIeO7Cz2gYѥP+^_zWMF2nn|T7GP J[s*/He ;Xr;uk>{|} q||7Q]4 u6TK$Y)%{)GeΠ24V)(UJ&lf֓ךMT O_<hV/aL۞3jכ8(kSN xK L3Öw;j<#US>q ^uDHv[l ie&~P:Lo{mR!Cx}<6);dC]Iiqh#b[WNF1kOsP?!x@?]1}NE;?VV?v|4Vfb37=[ @R3f }?Nd. . 7GYqORo ~ +]x>*0Z϶ K(*i C,tu|nOڽ=#UV=gpQ''qf*yWu[<5,R%@ i~~#MӉካ6g%=;uÄ20ǐ>Po Օ)%ܡe{:쫚z SpN"Ui7͆ƛ`6#.1Ik2#J3Z5\~+T_W2߅ˎpkc>Yve'_ k Fz-΍С׫DQ<=lއI=q]`'Wo^k^wlӴ+bwQp|_ek%S'o'7qwᑣ Ti9}|xHLT5n2"zxaǷ50(ynb^8.t@5$*ќA z޲K HwJ4`SP36h')e}o 6% }S>RjB% L?e /E㰿î w~zg|7Eр~,8ʆtv{Vg䶞uU?0W k*-94dL`u1mxK9 $lw~``E~t<{qP_{-AaDe|?Xu=edjbU\wOZcj`unٱ#m H"yn&r.L0ڥN0\-Yuq7F].&#jHŚfd%=7@]|힘/`;Lq1xV)P< j5w1nH_KfUiWWs)!k}|NE`M'S`)Z)]B'qwdB]ߠGfp"d;ʘׄέק*1GC~(T?d^\8]zKc;IVbZ~``YCe SL1j{r̓Z<-(瓥 w }T}^^,CfyI7Im\๐9?iq Ɲ/x/{Qz{'=X' ?L|8Z޻O[{@-=;^zЁKZNt;k:U!3 Xal>'SCA=xcS>Bp459jv:_.o KB#z̷9A@0׈gs"$Ie1LYKP0O]lnyTםWg>0.yoU J +7׭3,;g,_tZ#$0xd7ƐIQ[aOAE z_|3|"% 32 ,Մg -U94DI ',f`햡yWBچdl6#UE͵_!jy[B,,E ~npK񺘱nK t;~Jk 6_=0Y`/Erϭ^ L;H#`:M4|) 2FQ') >i*QǑnʌV᪸6|a"_C-azn\\fmYĈ&ߙa=vSfm!jK tJ{wt7TTw)C5pb+-5ɈRM4srj:Yڛ|DXh ؓ9.<=iFNE+"d/lk7' Ky'"~2LE>!}qQ?F*Hi xeo8XZ30l O*A(F DVҳȬ }QctG{,PB-ha|>W\P:>kY@Wn|2ԛבz[ U{MԳ bvpoHbBff-"[oW}zVZj)aZ,wR>PeƊ=Kpy&^e] \mvtǁ F,.(`\uj1 $_b cΘ,\ΤBX BUͿ}ɟ[l"ؠ_Iu鑧M@)'ƿmjT8ÏM~9tqT{g&:pxdshظ:C}>i(_`t~ 0ZYsrgbxiX%Xq3ASaH ^rLȏԾ֟QC=,&GimwNcJݶnldi1L$wMO|w,Ǜ4ihֲC'Qҕ-P~U9TeXZ6]WEKm cr~4wHKw@g6SZUV׶|2 iIp?o >g@UE`D|z؜~,I YTOpkj lsSIp k/L䐞{]v [F[>x1 c^`o(~>a_8$=\B!%čMSm!;}ε Nu}E3,Åg q\@oCx奓u oR-k }Ϩ_ Āl&nhaB ܮ}~Ib7O a;Y#b jjah 7=!0J}D,o!3p̓p:.e.]aEy5 :Vz$GÞDO#ƓLk8˃!_ 2{lk}]CPI&lys~15pLnv柋sT ˞ުS" @ߝ?}{7. OnXEqlFEڬW>q0'^{{j-bCouwoj+!5=%ɝB>;%+;fܬhͺfqۘ˧S[>OZ!^a^oyzV$AZ^rd^%}-yڴ43V/=!e<8/C i,7$qYrUՃW-W@ROntQOD dCM(R]u?K5Il99oϒ20Ef% -MNUQk O#2z?UQZ-?lws>VꤋG$51>gWVyI}E)x9?!ТdR6o:D/e)/_<,vꓫ8e'W;OWD9btd`ʞS%mqD< ߾&y0k/7!_P26ELf~r=h>"v!nm)YEwW,4yH޼/x5/ V +cLL60~U7}L<ئ8[XIHY܃R#(p4Rz/u 9meyc-_bIkfɧQ?^y~``X bb=]xY0t,Ŕ'I*S|~\)j:gپu߀̋EHm0yaeOg]DyOwP9򜙕X|*QY`TFJ_(E/s!,'੪`'ބL0 f1ZZcq-5lMru YpRK}\C9ka,&ynRKUQKTwi14C 5Z8M֜ @CXpəen4'8/x"iͼn[$tZVP@wuOoR B9>E1xœ[`%g釤dtaDsU^,VwsQaߐG2!'"_E\.*=р=y1 ^԰_C7~͈<|[>Zdx深O= [ʗ/WnKp+%H >[`Mc/v1Dz-'<Ӹ{j &8 U_d̋:{TuZ͸5$^vD;ՈoIUGqbNJҙ0 +'>LHXO[JbOGSoCڂ(L@6qM-E oĀ# Iezs0ҰM'q:RPh2)L?!V}5Ur~M+8yO"}B6rARA K?3e6oA-3Mg"ii-F˓EV΢}PwW$\ZpII)=`n0sޫ8Edy~0n1]ޥ =OfdkA-s34ۻWsO'4ԜQ1w(Ky0*8׀3.>6L~[>pK+bњWBef7#7.D٬E-YuDDLǛئVd^KY IVܚT2OZȒGp99t(gH.oWuȮGD? :K}K1YN82;u6h g4_ךh+Lz\o;2OqoQvڈlgN۲ R#FԎd.8M*5v+}T=TpKSYLpf.JXZ;h6aL󭝹?#'{BtW"Xo_[P)x yg1#{?WeO$U?qܵ};vcy<_u&/aRyH65 )gA2:y/]6ڲxy(YfyF+1bM$jXYhs=KEȪXs\C=I?k>yF~w(2d<ݷ>115 QmPd&WYtԹGp ś%-*e$4:q{6Y0BBnD/N|O=y34d*u:7^ܴNGdI o1]T6VAn?g817d0갳qj+%$de48 j֌Kv EgL;y;jVjcŶItjmn l:ׁT%>+ r~[gTqq:k9d]4OԻ=0eB1%Fb.,;bt(ۘ}v*;Eip%.9,, ~ze5:|C=nĴ3H0fdso:۞§o;msÏ/j'^"cF_\p5>N ;7!7"۷Ծ*Њ~Sc0#GK|?Pԕ?LKigd.NoeY=[g ߹=%0=+-6TlQ$2nOt2$`piZc7^s: #nR*rhd{͂aH챪lUoz7F|ų껍zWdK8?E!c4{&{ W=>oeny'.]C |xeWu=&j!9k8m'F*.lfPޤn2fYo#FUY?Q`Ica\É=ebg( ^T,t;AYmmLC.̳<^8D ǮCn^;'jM\2! ۳kJS7k rbB;'c1bŌ/g1` tmtֽ6UhXDU&20.z{M,=$K7A[KbuMD. YY\Oy~"h_O 16w-@ܭH*uMU{a%׊iÕXD8Sg5[;;f85C\]8W Hb,IS8,:rU^&safݖ ^}iǶW{ۮV@ O@UK'EDM@QQp- ɕ͸mW >lP" 䵘(a:8}n9ş3 ׽7{fb! SH\0܌U5[\\mD#s{TCPKo`{OcGoWSY5۽TW|֧z#x{s^O9P&e& YU?g8'^ 1}C1UoIlY:Fԑs>cU1MgK5&Xлa'Q>. W=Gީ(70P{BQCkL}8֗OvJD#G}w=)He7q|ac$ȇPɇ9+svdf? elHw`Sw꘾nm ۗ%;%dQeV;-Z3F۱+j8"DyX:2CFC-\*q&:`=_; Ku֢9ڐ&WIܸ^q惾}G!Xp-BOm=9$KYt~|M?0E:&cEŋ$9k5?1ՔEOڇj4(./,F7~_y g/|YMEE8gˬ*A?UR p;Zl,)J_˟wP ??KG1I|Ζ^6&C;LWyr=/+V{os;pP}QL@(Cߞ-}&s9ҿJlK5?P*(Mxa8m<~&G mi}Ui|@q7s_n[t̿I_ h Ac~R#iA3J$+W0'D?#$CB<+Pg+~P?y?!1X#8M_D}G?~A0 1${Viݯ4/,o>L`_:ĿS0uM-S7w0L(}KbPFP~!3ʾi~_V_CZ/_E K)vp&9@q?ao~!#/?5N?1c?W L0;'!wϯ_AK~ʲ`wjdH,Vn73p9UTC'囬u?_4Z~g9# cՄ`Xƒicjnr K>''ygƲ8%1S^oFYgSHgH5oiXs{0)]~g0#L2[˖A/N s!8h^z ámaO8-.E rJRB> Z2 }5`AKO8T?jy8V˗iU< IoܷE,)1vM?,p3!ǝ觧:e(sY z(Y;R+6o{!js=F˘ru fT 7zMoJYI|'#?R5m:A4|F\b=6fAEt ltbA o6!s{FbvkW&(zD%D+mx?/"ap*@q7|.J^v=G\!=jj=0ow[q'v</DR锚&tf%;f*ɻ*)twS^a݊E U7.c4T*w3Puc"x,4w_{Hkں1}ĥV`̌a4}*Rhw lef/EJy!$,W$~I-a&P,6psrHFdg){GyHL-y9,]ךCBGpD& &B#M5q)v|w9zUVMZtG>B,鹿ߦm%*;^` yAҸO cLM D' y;:u}T\^Hs[N"8f/QȶW{$2V}Ղ}K3D>:f6=TI pd1P:` `IP; 9U(Es[ 2;z#c( B[HI%ErDlY?&7&scئ ߯=DѨU|HG˽A?ѩֽAd Nfe#maS=zvF\ߤ%=xFpw3/6}~~{zCĝA| q-m0xp%!6ӺiDlS#?1[ܧ,ep%&Hϐ#y e˿MB/3a۩ y :{7X.O@E":;fzdN'hz!u:SБߘi!{|+wA^!D`)qN6ӍezpP Wrh{"zc(wjcq~h<;F 13%鶱:ur)7w0:7z  P,W(z@p-̶(T9g/56c>.{.Oei ^{M6nr$G/HKSv7.ځIKP&ܛuf,г&X+I(a^vfO>e%< BQ\r*):.5.O%پcj^E7snARyǶ7u=\iS_$ ,["^^F<$'tg>y," n;l4i4~S@{;ye"r"-f }[yct2 cQY8)++(WނS"f_Tws)&Dbha((y#ڼ2n ^BsFXw){d[=)P]5ax|.:;瓀61D~`;ʚ aR 8ҫZJxyʎreGL7MK2ˍvՄU#־Zp , JMnd0@mtyDU: N*Q>A#c~xRߟwK.S܎o ^қp:Hܻ{\`|ohrn h͖[ en,ʾpky8Q|)ro2Yl;HD.J=v{f3wUSA"2p`yc/l[מEl.~('N[F-,pm0~Ẇ4S}S&KTki\;\$vD)𓝍0 ',ޒ$1UtmxNA~U5n8g^[xfG4.\ ƅUكѪf(;Ϭyd/ gkOօ ylg,!+bQ2Ǎ//LdRx90/mRkX j %vHغ>:]{r{i-/Eg"qXܸ>bqrN]^}1)ݩ=RHrYNS ظ u/ kx!*6&=tJ6xԉzmf~46!As=_B/v _0RݓOG^ߞ}k9wLIz /M1{@:MQcB"F+5i2G̵s4\.G!萇!͟Q"4Z=sc̃{h|ra`@^P 31YjԴyԻbNhl=i<[˵V!7d,g=]Z.^"ߏjxѮ2%]zUyA{g<C:1q*EIJ`P]oc+dJijё$1:_۳ߋ$nMq)2(ghEWK16U\F5Rma~?Q8ڙ{ķ[s\CͦqT'7WЧl;xmIUszגDإfQ˻fݛ$:6zGA8/ޮ0߽[3Ɯ  m7E$×J)~Eǿv hS K^ wH ە|? ysWDx.siw=Oa,dJo)DoQvGc[;OQ,+G3$oo/K2Z>^uuCEʈ]+m4^j+D‚cDU}Tkb( <"QwH"~EƇQSyNnkt%ڗy\@R=7퐙pNs O^l+:uTu2mq^.#~޿3HMǤDY'y֋qfp .dr!T:c5Fzj,S 3|@nLԟ{^ud:ox#nA^s 18tRQx0 o{BBZ0pڷX`Ws_>آM|5RmQSLA霦=mʂECϭ1cCH@zU~0E( ^a_zDd.%<$Mc^.JL|7CbuqnEޏD0uC}]yOC>u$o.pW1I=iD/6}7f`2~z)TK)* Sj@.$+1!Js} Ju<1=eصGI␤Y؋E"e.4r4!k>li^/O!ZBu?M4v +o]);~1'm|B(AY&J=^;kW Z95 @ic!XaSPܯb[^ ΐh.vz- :d[_h31E,ٹB$wG 6csg\8KT(xӇo-`Rgm6 l9 *ڌ|h5 [y˟4gXDT:Ff}cjxД dΚ~K]ܜvn" fL c)eTbE;-,ab=]c==F7X|SVϞ~F9n`ϋC|3n~2,MW:^dUkM:>6oS&%'½_Ċmw:p%\+.y} )1|EJF^5Iw"ҫs˝?*a KVC!wϪm[0M"Olo'\j̋QgҙʷE7XGKMmX${cNK0_?;j-sZ6Uh ٧ ͇\ǷVr/3o%Q3@իDova]R{m}ԠGR04jdkdZ\ƒIheDWIzr&u g؛, ZׯL7.mUtkxنKO-Sf#e,d:n8%x7Jg7[շoEڸ/Ұ6{&:B8e^9LPzwTfHܝp7"z ۝t{P;1 5bn^]_f }cp`#C ҽؿK(˼u!EF>]b'/ԟuw70aUq:d=LrKd9P-|˱mR}0&wv {*88V\?6"o-#kj^dXu_^6nɷ,HCVhL]TfzUPuA/~)ላs.wȏ/OတZݗꑱ ^Ƿ &;X(>438Fд5h=w:2뒸&.ϰIcXoi*lY1-˛ywֲt5/##gmT+-dF+B\ݟ[nȭo56G(J;Iͧ[d?$ &Yv]C&caa~L1iCa5AD]BֺJ!:jJy>.zUBڷH9ezQ.y:@6Ij^XE =|aPcnl=@$8,܊m#mR;"I#J9'3bw}^?+faֶ9nIWDŽM LVx(JP2щW7) i[lPLUH ;ghh. ~["yٽeM][Tsm;h8<Œ-!:BFYO`;c\!'7WUdf i-}jo~ C}4~ɐ3:pJ<{U|tuq*y0IɇO*YP)ؠ&{&` ʲ$݂wpfIe[%+9Dh?MLqT/j.UX!#g6!^E5_Jr?n%FJ(>Ɍ.5įJ5o+p| ;6!my7D5:y^' 6>(ڜEpN2^ DD$e\m yo}#<Ď˂^M=^¶J$51JB6)CqywQGǢ\#aU4D$ECGG [%W?b;cH|/%=8`CZ qy %"~ a\1S-6Is0վiեGbC>òtSn 4IA87V P`)x 9[#؁I'>n U#t}Hw6l |sS#F!, snzWNpNm)e}iĨ#ؐv:lhkqK/~\g^lVF㸑3YԅT[O>KH7H5MT@*4EXl kvTΘ1W ) hHuآm$N|er[-wYj%R~;;2Mߨa 꼔Ee7P7h)<IR!L'.'! D'| ,Ct~K-.VN[w^u-T+s$\ t #w οqybߪ0k @w%Cu-BF&lrjUoRq+ŧL[WH}J G>OTR#?n.k~&6n2ˏL˳B-1iH!$r7CA8oӶCUr |bXG;"wg@^d'sZ5s@mSA}q=-v;R!]Oe劕P4u-А.!N^f)W1$KUk|M.->(D1%e-STi"xe pRisi'c֒tuGh{L|=~wrrbQL(F3h$@O@y#7ۚmU%{GXK') a_{-16ɷ[7d+RWe>cjUZ+r7K'R_-v#ߛi,>ѳ*^~ž3 b_ C:}ܥ)UEr{hVLDB+XtOJbGݣ㄀f?ϼ ޮzU פk'3%X( IO]bνX;T_#X-Vs=N̎5gfF$^ȀB4NUPu<y,#N¿J}?̗7e{D&ȿ(8 `/_-(5WO~3xX#+HEF,,yc%D0ܗ_\>rLTʢ?y0qŮcT"SHfZ0T~Onx ± a=uVi=^i .);sKe8O)=\=mrUӰj03O \>RCBՠjG~XzAEJ?lU!pJJ ˈik1!\[0H.c!㳞/+v85es- d+ƶ[[F!:4{/0BϠk$m/Qg +|dqϬpaaHr}u;S y*A6gQ'yuC*M;M8O7Y{NtzIǤh0:t3ytVa9.F"`&w@1{<=[ zhvF_xS!.N87Y1).Jt0 gH\MX0r?ZLJS,*+w(R /'FCxS ;, u 믥}Qh"2kiTnbl0U:/=OT5Scʰ' %]7d* 4Dϛ<ƙH0#h~CxE'[LOe<{ח86t^?"]!ᑿQ${]jafbFbeJ[!bE4Mщ34t2o7X=^s [T]TG s4e>09jE(4&Jzôyy A)ub2C-?׬vC{0U|붯:)7͔ |ⳋ1}.₟B搲x|~}dq0L9 IX-P|B@ Ԍ 7 E\ȯ>3ǛYti]C)O7Iz5z7ڳ"b `$vhn{GP1>#Q 9T{Uoc| r]?Q.EQA%^1*FLY3壇,Ə33V,IZ\&YWh^62lcpebNV_:4D@k =rX+4k"Q%aۮ}Z ѷlAÊ`DtBZO6I\$Gl_ʇJH[4L=125%/?˛j7TsJu<65 7Uu:T*29G|\r'-v|[5iˋBkGgVV@L6(~&>>ㄻXeڹ2-\?EQ֯kc"@S9͜9,wE 0%0e[S1|F1̈z '![w~v)ҝkyZ=ǢCCBM9jtK$FT=ujTO BAֿ4\r4aITBH;<* K0TMFphUf2 @ہzF΂OB#m>! v*=qqNy@\/qCeMғpŖw4d'ٓጌC]KTZ"vU( O꺞&b'&jԻ7Hg" Jnv!4ip]cr,ecIa z<YA:ec&ٯ3{Oc8/l~CC"̕ G0L yS2YZJy#CzYУy26_@m2NoEKP&3"{'l( -YH?x._5 =*aa[Hc?hiS4~; )GߢjD&= :DU "eȿ&#%g26Z4*Fn@ 4כ@ÀU}ỳ5,ETk/ CרH=8R#hqB+g, t eVlm<(M㥌z{\P t d,(,{=!hJSa#b凊VݨJ7-т. {?al$#WcW*'%hry5I͊K]çq;ў_?g|Ӓ\ֆ78Ac5sOEs.TPXuC"̪hrIp?5˪XSdz?c2g(00Dǹo85(e۟zXP'c] cd= ccBkN 3u竛d˃Z A'g-g{_sij±Dt ʻ0ժIM>>1as7 F#9cѧM: lkGت8Ҍ'PKp'.MnxK=Eb(C@_1AOJB?ݗt`CsQܰc? x &+c6 xyo .PGc>cH .C6FJdv@rD6dmk~6<ޯ][Ɔq:`%=EX 7@ _;>Zsv|kf.տ74ZIwz 4$\4yQG . ]§+̿c V#KDsO{xRJU<b >pݫ%c^ޝHIn+,tLm-߁xYM`I WYsz:$Uzflu:e(`{'#nOU- m.3Il^dbgiQ˅;/WrFz`YTsfT(@gI\.6S?L#gs:zKNшI+]&HwI0BҲƥS/H,"=jR ?Q|0>Sgc2y]*%T{fكGf '_!n#c9Hx%EW5"~(/o,c*ԯi1 Ҕh5M}Io.-,Tk]=&BXl}y #ɧѺKSV(\&AP>0穣C=A~PiېGgЄh4 CEii6`,Q\+> yjoFb.{o@u/mIZ&Gu+{1DvD LgD?L+?S duhPQk:̼S֎1] Rj݀ӄ((yuhtM{<Dža2G!ol+jLk&t%:䤘Ƀ2"zisVl[+^$N2vdxudΆB#$=h^c\Q?it2]n` Ԅ IY@C*Ww˙kOS^i)*·z%|$\,h4hRΌep}aY`ToÂa,FlӾHIdVMKW%CTl3 q::c+X3,%:Rv]MQu^SGCm(g<~˽[$ɩWcF!}{hIQ2noRRIW5[ K.]#/I8u a:wtESv 9+zt{@r"!LkRky].N&gT=hx+aO]Y7o .X% z-,?\.nL7TT૽)-ݻy& ?TVNp }Du4%Q:׷LQIa]Ϗ~Uu|M{#o[5rm/oXJĉF|~jS~hEvoW+{C{>ؔQ l:EsX .X ?qÛ2 ~H#1@d@%…z4w2ݯ^S^]tD+c9YE >'EٍΞy3Z?d?70FL+d>mPƯ}S"1JQpEghyEg!r,z"[Gws֗HmQg\Ѫ$Cd,7U5XQ&G21|vyY`d,GNORfPsXnk#ҭUI֜|!%;ԪU\ ez&)oY.NĎSY̺cluÖ{JnP|y. Pi+>3<\10%JP@(eE܁C 2Ggq1/0ʉt. ˔IjIJ۞_y 4J_/{[uT%֠v1`j@A{O^&cVqHt沟OF}O]I?_;-z34h%,Tb^d u+8[o[܌C#O*,nԗEl Kfx5Tan Mq(yِM!=a\|4=QZ?5eØOi^2IQw}>YƇⲭK`h|"Ե$A"Yfy I.Tl6E9,i@c+^_ aTaD+Y0/f$m'VZy-pc~Rl@<6HyHb* Ec]1 #lζ' ~^V;U}7ڳyT(wRjrp[3HD EKQI닁^&{%׼~fGCpee&a^=Z+S9t}z{ku f|#>n:[.J"60b`@}fyGK5|F8}jM;ExY5r-/}st0Eֿ|yK a8ZU_JuwQ -Cw6B"฿ beZ)HDY=R'݌2- QA{0UC&ޠFUWޘ%3|R|iQ2> V%0U&f-KR宿xF,}l RO^m/䊓6E #ͭ`EA -C>xa@#J&-nzt5;'[+bC'InF'cܭB8+d[MIEh\3gqzo i,3CSVh4?rʱv&mQDBFzhٜQ.n\>a:0zՈ;Lj?^_ZYx!NE d 6C'{ld:vV; A⠔aXT鬋 律QZ!A#oO`vz/gfĆ3WcI)wAAWtpslpR[Y<:;v?qxI<U!x|ZcXvOa=t~f "nj{עU"9fus<-;K9 Q@nacQȢ9RCGgZ[&_paxdr4-}sc_N?>b`n!XԦa9b)qMD)_k?I 3i}~1݇*Faro0 SV9`pP!>fA|"iN2q,'nG+ 'MCi.@̭7v>xsפ ~w<<ɯl<'\"cec]#wf,Oʅ*Y?Jn삫-OPq=2*iocHZO%aH^= [IeT-oo> XȓK 7: VCE:s{De+lC@(\"jByGkt$th&{c[5iRY;G2W g|PXgya'vɀO?PEb~)&|?n; h!dkRk yI֟o4#meuO<]<֛ תz׊žُ7GVwx0ȯqJz}XHaQ C[ [ꅢxynA1T4]X/>$c*/CY,Q~3c|ı?: 7յ]/b„m|_%~Rz:<wKRD:3##P}j72m'RPߍK~ߖ*[ }aio)GHޥ!4*."KaAm[C?)~hQ=X V݁fzlcI&\G~2cZ^3XJٓO%rn$U2 H?!4ݦ}\KhA!y%HMc~Z n%A ̉šٺbn}@EVܳ!POA7t?{5 Q[mmMCcQj #8OoE,qpCT߄ip!%޴v8XF qtt8w)(Hgf yrʿ&PbCCW)c6i'c}Š39e 9{u/{$n  pb">{/ ?:jWF]B5Tc }ןb#s4Z@f+߂O-$;4CKT&oNoWhQ皔 1a): xt&H:y%xʆbQz.2w_*Qrƺ,F SDo./dno+ fb0!ߨpa SxWh ʛ ~:ER^m!r᝿p0/Xoj IX}cn6͹lމN>oh/w-&0aF 'C<)qzc1%(m(}AGAޟqi\xjYlh tŮeqrPUdS?KQ@Dl!m㨬21{~oDRgv?b%E[fd 0Dգ \{;?ii8ζcEg\ےMk@m,Qϣensj1y. |+M4"/UF>1C-Q@ byIpZ $Q/d*:'1ENiQ?.8|=DL9dҌ' lg3dJe>_(҅KZI=Ow߈z,U[J 8z2OӡYwxSpO 0}صq,׋"nȾB! ! m `CKzrH*SRK_H Qpqj yl:e1/jk9*P}n1H,f|R/ME{ E=аbODatǟ@.k1`XjJ"G}N_Ĥ& jBQq3RjtI:0\ Tv{\ʜ Thc{S2'FH~-9*2sEAA?}MD78-ܫ韊Tj2TګfɉO9Y-O c&*[U‚z1F~fxc-[@W S}N$+TppSMPY]ןy1UT$0?e9'I2X- /Ƭpj.>\WfPW՜b{~J吩u8zԍ͵iae99^䃷Pl ӭ*hKl2. Kb%XĪ̸͢li $tJ?f-'4E0!ƺ#oҕ/+?mئzn0u J5yō*E,71dz1a_/ ŮWaovBU>aJՓtZ3w|f:=6XI"'\ .43'ZNyPn)? Sȣȕtg{3  b_!%Ǡ-5= EqctГnj˦lP#p!тW dc97VVdo/9 _ڡ9#KN+(-R;Y*Ŷň2׋fqR[gqdv,B͗h C1"^B-ǾʜO@xqtNI^uuoEhJoH:VP>Axj뺰=!\儊vX ?p8=4j]F"iw&23>Dg ?^k9r_^'w-- oX VQVwnM7b|C"g5K|Ea=gLL /rZY*EHfmBAA|I Ky XAx=Fw 0Yi`Z\T8ی gރ?Ih-}'Ix_[Mz{Ejt}0匿2kYэ\I^IՑ{ ߪk Ik ҝ1̭BG+Ga {?IZ",/5ETD,>g9Wcoj3o%9֯i-:d%Xf`ǫ Ash6IEl;U$D>EY;ݾU?=s6#idG)61-!N2F*^zx,_o?%A&|nW3 hMZ|rݟkYM!% rn_xiPpGoj2Ga3%裼J4`h|~B"3ڌde\2pnELV(Ʋ_彻ZE>'TBA|f \6uqczҲޝWH sĤƁdT@Oʬ=kr{y=YC⇉ĕޟD^*=;H>Hgs,_lH}{]n++OvܮjJ%|eR;7y]m~bpO+h}UO_yeNj~ټl-7B T>ou?}Nήɝ"c$CZq7; F 6p=8bq6W6O+GnMJK^ { Q^x " ВAs")o_>lXpo 4-8| P{}b>o9:ҫ\yhJ ]sʒ8coxH( cCߟsGgDJN()#E ИШ)h%/$iK0)7欜`-Ou;H!'yM[Z8-T0ZLeYa`1j[Dw#.nt,o"/;/zJW *Yddmv Q/ƍ X{ YR.?8LOIa|bM3K&zN79sZȶ-I#sf$OFW|YP2c0Te)[aeN!b5p{7E`5W_` = .8i Tu2r@Jb"/{Iׇ2K`lxc6mQT@3l{W2 +)nIiO;4 NSt`_viI}; pOA#+M$ B&Cff)d=Tя`Ґ=2Qd}XfyzUG𽲢sr޼4J/P08:uΖ@X7,f*M>DZv/Zb bo]Ns.ۀ T8s+0^}Gj`T->#F>7?%-(e<\dc aM ˀ7xWz>ɜ2ח3b Y@ -p).e,l8b|]]M|kw辻!ekfr>  0\7B(B?>4'뷳x:8hwߓxn)h$#tÇ$֯W!|鑥GտVL_*zE+J}d@-C=C.hfVƆ9gH4n69x,TyoW׻,ڐY-Go.V.,1taRneKec,양ɧ?D `n H1nspH> ^ZT4i{ N#:oB D]fVN]dRʑY^[i>+ 6Wƌ_TC.C 9Yc{m|NH2AӲrZ˝CΊMaѹ9eb0oto IZV3~2חMh oFhkzq6,;\9|a.y_bh劻T;s) lP*ןSG1Jܛ[@`4vS7.&q)sҫV''j--]WR+ r_o3Ѿ6)tYSh45};; ?)|Oig>M}%8M6%!*[\@φ4흝[棁E1}5~=SCcP%D^t^ȏ b𞍢Bva7j k6\+QھY}Wtcvcj}u1L)Dބ^ANGa cP}δ_T#|Ot{R$>c&YHEظf$X^2'o*-RCF<=c;S*k<.?iI_y̐y^4TTAN*|쿴2-|Z`8|STL|U$fȁI:YSubs"vu@y*!?W̥\2^wY>5%f0O b$B\*\0Ig>|@J8F0 ^7ŦQşi]1h-^DpZd4KdUYxgOo "s_ #* a4ݷ0 ˑnTXg c2(:|WQo(ڿ{"Q{ $K &Idʍv֬kOЯ\ts\mv 5H}URW&[!<rF"kG 5j6mNpE+AMO bJZwRvLm<kHrw+۝n})@ewļPt|2EjԪ9hL/u07j _hTXm=kKCV)}N-LG-,⅐Cw%Ls~)̟G_4>?sS'2'd˦=Drn|gbd4qK3ẾMQC(_R!<:Ovhkm/&Iz@^Vg_>Š!! 4oOZM {-c5-><جxw<ӪG8ho</a¯ɓ~#_,L:jLOciщ0j"݉f~YWT ^(*ɚ4n6UysrD1\^tļʿ₫qE|D+-*c 1^Yy%>&3;Q֯ "Qjl x)ux ߁C05F<=EeZu_O,gPm!|j₄̋F m‚^S>Ԣ"'57oe1mR]ͤ >5XOq*e!%hcv%M2|%CD?]i VG<fd˝`| @^𥇄Hhl#5p@VV\p#'@/N^kcr.*nμTyfxu%ң;x?DJ\~V97ڞD_ z/i/(cHH̫m%Ȁ=n|x*B"aw¤(T/ {g1 VD6Dp"xH㤖k62Dq4 v_2} kv c?LMS`|#{XV%G&ܫ GGP^¦NIߥZ~< Ä8F{_ė+_tp;(t AAHHO+< x5#LUQPȰ#b % ̏߶D~^JDm¶j+\mӔb%/^xMǔɦ,+W Rw ht^"d\w_6%&LV,B$̋抄rM2jI">U0CӽcwׄOim"-91l U&7t;T=* :?/̉m Cۨ3Z$]ݫw dQq` y~#ՏA`ߟygwԙ4ׯao)X1&.z JTfލpn;hDP9ZVيu1v1g/ 1% ;TiwF1 x_bS "&j]GajAy)/d[(<{Kth+[#|Cwȅ+]o?y{DuX+l~Y(s61LϿF 4LP4?c[VؓFhÇKoڔbz@05{`AP24GayEZlwPO^q}I[0o? Jz1NҜvL;zn q 7Fʇ7Lk4yi)>?M:ۿktPDZqn4Y¸rd2,^yyB+%7h(uQAx@mTa*m\)@á,Xk6HAg?<3}r)c .ce0N42&z|n&d*ӝ݃H T 14n3$\RߘקmZ:,}y'&QW-W ɶ:.Qf-UbT1G݆2횿BXnE!j6d5\$W}BH&jjr&Vz =W#>o¬QP))[ێ'$X<~L'^6=lg:ai:C`_uP=,6wdJ7R9ĮZ44^fĵ`d~gf] h9Fo}EB*qr]:/=PXoP,Et6]zi tlwnîaTe$˨B/`Ȁ2VG tॏ-߮XӜyuk.&9AeF2}_ $59c̙ZǁUf V=B[c!LWDu|/>ݰ\dl5d~P;L^[sw_`9:R&{:W$G9Ea_ l9>  3ةcr &!&RouCHLj1z㝴P5Ѷ$)hQ؜x!cۖ3IJIaU[PXfgB$%Syt%h1GaO(AiA[}-д~Qg[m6]+%~T<('!Y(1K1_ P6¸4FK%1gc~>xX D0GF΍ʷ'mf1~_2iCeܦef`~EquX p 9|}nBjp+yCߨr]P {P\ 3 (bqPV ߧq4Ly(4ja ~Ӽ7l$~J3}$ $8+lcyB_L(/B9q#)"V:z*겮8eQհ@Sb]U~ʕ# P;maB8f.dS32mNjrl1o&|2AFlWAԋ@Qv } Yu)d%%,2~@AjKH+KOx%?I)BDBHe{˝7)D)$Ҵ_L tNWƷFNpWи)~)c/;g3u̹`pOht'+|kaԏ4)lln?';#(bL~6Gm&%):wΦ&-qz}N׹ܧ˾>n~pڤlfČEז6oH'43TC;6cbrd>7y!3eLg% +*E4v=+qp)(|rI3UߍʆK 1.~ Uʏg'~im@O%5u7t(V C4%66nP fRЅ Əlm]7|ן u[Fx1:$a57UX,~d\z2TZ`dW͊=J7r$91.?]SVmlh~+h!m t!YJ3vՍ⫾" oc#%=]!/ʿÔ߾0,R3w@b8L\f_ۜ0&3  {Aڑ c̪R]Tnl=˲ F4s xYKL T :Eo~.AȫU}ʴF̡%&>D)~Oѷ8Q ^s¹R)PzJOpAMi(\,.}}TMt 0Oʾ7$SnٯKK⣏x`"[c~yR'F`Hw-"}#,sL4r6ԕ@8$~  &>,kfCiRcb_S_Rb%؀2TzP0aP{xA  {4r!q )YYE|>?}Wytj(Nu]id^@{ !̕#N!%_bџ\Gne~萜8?`eGEWf/lC1J懧˅!=Q8&u-N44E8!OLVh)}JR@וjP>C"(BE#]b+kyFꂦ䣐)ޣHSOgiM'v48Vƥ16bX: E{nC+2uhue>f[,a@,cL%'"sVMF _  ծ!Q7\y$&o(%ӵޚI2nGP J35cbkIsem1CYDz8 l Dd}b€ ~y~$tvFppk$&l'EG&+g'ɢA<7hpꊥ|-޿XoT)wH\|A^*ty #a#sd@254Q&|k{º,3Zﶭ26鮵 q:k@l -l8o/$yIi(~;wkQYSm߰HÁnDlnK]"qi>gng] HZP 8:F( {$`IvdD9}92g)o'Az}b|:>*Ki;74^zB!ݔCK16q^{iX8 מ}4RM#vf,MVpK I_'o+J*V̨2:қ)7SRxNKVZY=3!_9u|0ΆdP7 ̰19XYb ?WR.!#GDS=ԏJ5'/`uQ{?4QqfOn3BV.tg3pԎ afm5xi!m~nIc$}܅yij!W]$^f4ʹGF+<)#`.hOd@s)FpotnouTi+ A@ 062<|R@ (9G>!d 4۸+yXB>rKt^ SިYpjlQ!,[7J"5v*@VҘH^NKrK Qnߏw]5# b̾0]>H?#RRHПKu.< ǜo3jU|v}/9Qp?,P >Uj& H<L~~@ ^mqt% 0KOqvݪDB\F~FOOn Td):$a>l[h*df2N%en\j^3IlI4J'U,+u=ՑaV㯭t霚(Y^*'X>oH )!&a6q젶}BŤbVmiBt4z}"e[L+*T䵩4^xbρc:wjV';iM5ELi)ne83$.|`T[ ZhMSlA.D4wi=1S#6L%Â!f.ZO!O97x_lAKD~zRO;N1v,|Oxu"m\Gw=h_H}V8B4_rq[>+ im )0CZ̟ l]kAW t29ZFX(Sf\']J=8JT#g2hWb3"Dkp`cĐ%Ғp;aspKM^D!}?_WNQPb>[S'M`]ЌzvH3l9mh L$r9=ҡPt,$@"SH@0En7[>P1RݒgQeTH)3GhpMѥj] ׾vPDo 9&PT4X'pIRaCo72e!kw%@kuV>8Nht3I)-h$/nm zǴ\l.B^:SsApbERVgc^yGa*Q<1`pX ,Šы$C㍙- lQ[ kܦs˥>$1$Ada\htH /4vER5^}߶ʇgbb&kp( 'FƺΤ\'8Vs>yw~a\%Eߒn˥2XI_"Jm-CE<JM>#+vGh2Z?)_/:JbJ+ p+^/v72F8H[0lY|MfZ6-hfEi؉d||W3@^B^|[Ķb49 /caj]ό _/"c!İ*<6׭F}m`YwWA痻b)=S/QE<o#vupHA,y`ԌcSo Ot+QM!P|v']Cf/%S?u=C7ɴUC[4Y{dHm.NPZR՟4C(@!Z "@wQnVҏ7\0Dn {cޅ$G?~wj{ 7;>:dJ>N-!$pN)7`S?ɖɴӴA:y]IjgFʚ61_ mGF5z_܈9TȊiZ_b #^r>=I,og 钢EmuNw9gˌ߄_ԏyN@cp;X9t%<@kb|2S a`^o~7 ?>{tdh8.} RV !^.V*p<_|$B\ #jr4H%2@v&4-SMBu1ˇ4`v|_ߢ114^)!|%qH^, J\;T+dAtzOro3(z=E?#9YAD *ۡ4@Ӽ@{9[y*r&Ik )q{@[/2J( EykkyƭRcxa&F6ŬHZL$Gw*,-Th,0VU U 8gfc^YJ*7/BcUxop03v0jZWŊIzV&6Y,2e[ZnL26H"UdxE@$Z=5Q T?U@jmY!(֎r,%i_!OOrWrg6񭿥,e/hf;(iag 򽍗BUaR#UOϛem~ >9BH#@0$)\25^OtVcތЄ+0zsm}SVN~Aչ{Og+pN]2݅ꭊؤr/d9.\4y>d#OBYO$@lwUbm*XP;GŴ !GȸT mB0RJ '0,Z]B*ȧzdf"UD6ۭ3ݡ_>fn# "m#^򟋝ꤱimduea:Ow{ҏnެ@"S)bc\5d5׋f=+6=`HF3 oC~Y1Ƥ %z8 ?Q'gk_ȕ436󧩜t2Ve&a$ƶY~x?]K!|p[X Jd*Nw|.F %Y96WƎ~mQ&.&d܈\G4-x}S]&Jy.||e^W>  kҮF$)? |,D \Ex`=ͣ54PH{5l9U5 Z-v}%4FX_x%PkߛՓ'o?'bf=#4aa y!knn'`0 NUL "M|Ɵk@VKݨ ͿWl,b>p Z<ծR%c!IKB(ʮȆ%ж3_tƇ?؏߽_@o+)"\jem=^ >G_U|eIԓzX1yU~QVF{n44E4OXX nV d5œVc8≗bVE4 lGTn;̶~#ػ(FUW?boP0[joW쒣 =N"W@~ķмׁskf ԃ"mY׆qN &ԋeB[ipRz.U" 3Hl!?1O\'s(Uj7<."l@'.!CHxꇆXcͤOZɹzxT!+H( T>ʹqLn)uyp-)~SX2:MLD+եE A s rPAuoѯ+Tmf4ʃ)<)R: QZ;sd}_Q8!1w'D 4Z7k3%B8N*2-5q>z s|]|qbȬ]q9kWӴWO;NRMyo괯NA40?~F L lu+SGhg*=_d&Pn[Q$C5Sl>l *.udno{zxo /RY!yXvhFN{kF?@PfRuj) qzbFB16|[y'#]`5di?1.UOpϛ$ _)C׻!@*$ L>@2M3&sO4v]Tj0mgmTs.jbYS#e2;zdmN1J1Y[)`G)[ /1P/Ӥ ?ID`CXa*;E9ID21 tםn63ĵ(W큃}*gͼ:E'ȓN+iFo<='J4"o 6yns'=z5o2ttUqž6δr)(p Mtffy:>47*Pè^$jz6'BR'M/^楫UN<=vַFz3c-5!BT=Z&s" {2mHKS{ |#3܇s!XA,.t!T$J7aw(ҷt$\AP9P}q9At|ʎE)N X0%p`7SdE@1ȸkŶoC6aK!WdjcDȋ P e o4EY?! GrOǯDkx\PTVq*H& }8)r)_&׿AW}i\onJg;l:*)'KWЍSVGA":bHß BwqwR`?կ; ,Ad4A&8ZL&k߱+GuzW1ה+M6`WJ4iS_ 9X_ )/MfL.v9vdE" kc^V{k쉛_L8(V}^N6Ga,«bH9yLp?`Ωa;BxIMч,c. 9'z\ռl9-ɴO0RE){#'ұMX^ge'b^P3qDoJaZSxr^1OOxܧ~q]kJц̑* \ك RgtΦjч:VcQ~A=|k+ς~/pE6h":2LWd_KA/AU >[|v!>VD.7i{ f<K#Q7IUy&{mPW!w+T"Q[c3>HLTZ5ne'3#jkr'gm0DuøM}k!ʊ/#ԾTQ;T˪ ę=nWCYV GdP@)NL`\۝ <@z_燡gO:SimhR y%V]ט45p->Ӈ溁ˀb?)|>z>g-.eLDxi*=ǘI(ڒZ$w\[S|iz+uҙ̻,źշO3OhGO8lLJڸcPV DJX}EX EǠsDswC%^sCs_e-$U7Z*}XZG`:׃WsAZB1&aX_?tQ$^R%"_6ar"ѼPTԽ8x](B_Vn')=|w3%h#Fg5> `ȰW`ĝ "? .0s<r2 `g m.H VCۉ.(XrRl&㒭$\Dh? cl+qMK?X aM}:WZ{4X̚F{P7uFz;aO59ӚjrF͕V,to'W$p5Y@Flzy'2< ;,C0rm` "{ wMZ;w}?X%Oa};*/IvjbK;Ï<;E.ޜ#UO00Ig YPz5Ѭau7 !HH{2vD`p~)^:$ZB"õʎ ת.Bn;w0 &!l_z+BȄ[ ߸O}$;I{a_3 !6VdYyr u{kY]$u҄.;w%r 'J>JDRG9D1e߹lR7BI'R_ F"dC}dGdeO8V.k$7/ȏk7X%B,Pj+b| 23~9P:z1"mKͪBc*d"LO1#}: ]l%wR[ VUXVwU`Ճ>8?.6%j#0 h|Yhtq2 Fp5za{/m+"w6s$馚[Gge";Bg/y؊9Ω,ДF|cœ(}>_TijzSڏ~h3޹7Ad;Psj9zٝ zਸ਼7*Pi)m§7P^ ׫,\p3 _#xxW .H,_BxKu?H{ {bcmixdV?ad T=f X5x0 eW؟Y =_NsʕC<$4{J^:JS\gsƿVʄVLǂƎCX?`0n~%:e?Ink>SXZI֛[ QA3yӽ];ż"{-^c'blh eu~mN4.frWed%^Wf4z+5MJ?q_/[$Y2[XKi2' "l3Y2A5M1 t:#{Yo*0bb rV4$'d%w;G Z_E2*s̺Yi{^_>ڼRXQZGî8OuܻeD'  8$N-񭜚U-soG?TOm+?j 6O'&1k1f9T㡹ュκ@\m\A&e_IJ6iu%Z0G 2Jo$6맹y:=uBͿlD*oW/Ӳ*(N^-@}/8jl6<قM| ~{HV$^|;5 Xw`XѦ;K}DջkS?o9MV"@k}|/դ͙QV[Dm=0- +6ig:II{N*^4)~C遧­v*Jl*uII#-䓶dy$Fpz' Ꟁp~JK&/_S87 $|jg๑K}2b`S8Ioz9oEѻԭ`wy%c%f2ci,$8|U+)O̽5[ŠߑҏN¼MJ9k9ia ؞'_;E&6}_v91adY'_~%GQm_=smB,29Gg  &\$mXsyä{1}G=B|h|,[p >z6v~gp־i5̥@UwWME.r-|B \&[H&LU7~V,x @/ >;}5ݚrUQ 2_Dx$]L81zpFD+-Sv_+mҠ_68j7p8IqY?]ţ]9'yEPiWZ%pml]ϿP[6ދaZ)pĵ}ȯK~dLEK1 {7zh=\`r/W"k^7"||o>)<^x&n" {*qizM2Rdq;gͼPw35g7ۥR_?@B&&-$hiL(MXǛ1"&5gb=i4!!svɜ}BaޯÔ#{(TqO둱.Y:2kZi'B YOV,qB 9Z BzLEcx.Mu"EK+KhE0$qEnp*À/mm%fZ\Cmٲ8 wPR\]Ldyձw|*ҞeKLe<3仓t1B}OQD.;lW '(^zbBLEBmc"ʷdRT~XzƊ (6dNB;9n (865л ۵~^<(m_)u* !9 k!mZ1h 4G3tGb> oX~!"`1_O&RƉ,˺3h4?ǧ&ϋj,Yow2$E5]693\Xi+TL ȻR,VSHi|v|jHN+hA|踬=U)K+Rߔ`y̿y!sHo^g)@;s!gCs2o=b LtȰE ?pGsqfL$|.8VALPxTW*)>  hq)綎c3CQ*Tס)2퀮`GѴ"TT2"Ga4k fХ層\h?Բ$ܼކ` P詔-UlI+}^/b5OߴOƟ6TQe7JقF *BɃm[( db7z_A|dÃtNN5~]W '*x5L'n3@J 6A)O[t+tUm475Q\  4 +X|4MC1OwGS=.'i g&*1?U,#5e{$?D@c[Fs46:鳙o%_{\g|lmu?ÁȂA\Aۗ3hǡ4u0{pڥa-5鑆U S{^Pe&(z[~"Hj "h gފ&;OE<ArVM0Z=B$ǃdaO*Z hۮ_7 զdћ:D+cי1Oף++P { q{JHɊLxjD;7b !//{h,bݢƳko)c41dHf,7AK1<>?;BW*!E4KVC.1Rm7_Y#-Yp2HwP;,Eڄ8 ! ta,쐕e)6jMt}yQ_,I&O6kB8ŴFB(BAߣ99nUd.bM}oG籤*Waς,$眄A2HxܪQt|Q'xFg^gwK/~|)$2S][̞K, 3ЪIʿj|}U,ĕjR`ʁ4Nǹ MTiڝO^E164ڋzAkw +#KxG'N>$߯tx:^@ksNI7to?0!gO`A/^A4W`HeBHt?`#/$'yҭ6Ts% gAᡠ0X~}(=F:8x,sޚdKgx wxo Wº^Cn2};6_F\{ߎ=b[eu }̪hkx C>^x:QW/6~yIcc~>>yvyQ)cTÔ!N˨kzZGn"\tӾGҞ~t0sZΆ٥ַ0R4[}+SioCi鰳I\ uО|gGX2#K+t(p0߀.B@N`kc4sV}oB*&aГK-?bx+۽_;ƓI]?,ꑫS~^S> άQga>( <FVH{Pv0aR)*o~<[Fx9 :AL 8i[A/d:9lh\.d{?('1goݶg;tX1$$H yE(J #VRCH+Js.&!>YE=^RUQ̑bcCqꑛ8Qbr.qw oXm8kūk7͈Jdv흩+v*^)AEĿ湒{,֢|^6rP 0m*C.gԩ?y6J q /PNhYo'gzmyLGձx}Eqֺ?[" eeD 22n++4UP:H#+Gde:5ƱK qN٣=Q2^'%nh=W'4.{T)ᏋNM?ֿ|C)\ȉe2fr3VXg%ssF:K#sKh RSد?2դ Ո/,!}2xUDޢV( z.|]a~,1(0#lIb7(PIT]nP@4Vߘ5Xa*XegOSq: dлvY}x'īyx6_u7 `~2ќLOnl]-y%9*^+NHo @*"a豊SëZXJ}ao9e֖jNb:lK@23;J~TKQ VںRw{HdMyY)1 jJhs0CwFϻz,r_o`S5zp_-/nl`h[ 7 ~} š)tc7xlp[LZr]߫Kl=h@J2Cϱj0ĚϬcu7Щy~Y9dҺ=*e>}$41]KܜOi0ųUKm7ڹ۴za ;{UUOC|DwVPCIvw&+:27)ժ: K@{^I7xؚ.VWo p~iR8F@,f E*:'OkwJw ֊xoA0|eW"ZXߧn'V3/g ?ZCQЀHa ӜkE}ֲNxyJ>Ez Aq ;zqfDu\`!dvq/oT"0$@A &)Mt9=q?}EP,~YHWNmj) < Q3H%a9f+s8WCa.7u X>/}ӵS1iKmJ BP1m诞|t{$GOFHb26ߧld~ro)pΫrXOݹ#9y~H;b^;KBNj\X.p;c`h'l-z/*]Qz}}5 j,#W Zeń+ےמvU%.e@P瓏PkR)"ߠdT}$M#dJ} ,kT`s螆-e}L5KQOƭHE} ʒ# boս)iw"oۺ$obX4f️_(A8h~ EX[+KSKBb@GQ::aF~.a)+'k[X b%ۍUaAhIP[i>mHaUܿ%_Xwh|zwҟ //t#\(5@5 yO cgߘ2ZFcbn< K1DG> gY1FbF<9";ȂK6zNۿ[`ʭМ)PcR~Ag*'/r_RU_(m>wy1>R3U',!VXW~mt$z)O{ezk~@uvjumQ11x}C?.ls4o 8r%lg\yN*v%OʸxΓ67i`H>D/!>u8/7? |  ![X$ 9v;ɑ0e~MwxĸYWPɏ hC! Sb pW-P6d`(|9J]3]J#%iڵV /8ݭI&+ZpcfIt PQ=sɬ1_wy>Ekyd;K%sEq~7>"@$)ʗ8DyEXʖBl+q>G1ZW^qW%+d"|Boڌ|گ`˘ԡ rS%WPZ*V3o"@tZ_y?s{v羼vmŃńCdWZxHu?o(mSF]ul!6)*HFb;vPa,><Ce[6~j8BLeM/l5w[8y .*Pc^7_,CϐYa_Y!f|7_lpڧ__Ѝ)έMgۖԿo3CxSk\3F9O5BSw8 6460P_]Zx7َȤB>ʁF#y`$ l':l&S5J50c9{YNOgJ-qp%ž3,޽V0L9lб||$_ aQ]L1ضH"7ߏdAl*E+ }wwV[CFtLy)} omK_'\փ]ґ9[bR+R Wԑ2T,EsbUM1Be,.z<0Frk|a:o+SmE<+gڗr_Zz$.0hge_G|t+?ȿ^3v@*&[Rȩ-I('dNCuj+Ū!q0/y`=HiRc}o9=4xe_djwP%/; |=bÅ{W.U@3}=,^%KaR98uӵ(i}#w]B;F_{YC{8L_0MMPlm oYNrE+e}F(<*2;ԇz;?yIr>bxOQ=z~W,v60SiKAoqwPὪc\ Z>ԷU/7C ЊaF|6P-8OerS@"u4~dlj`Οە#C@[U*dܭV%ܐ/xxLUEE\LCd U<7 iǰϽuslє+tOl8SDP~t2( EqM)t=5_nV 6hj$\҈:Ty@F# _֣fMh fCT\ڜ=l`c%IQ#{[Q@ d{'܊C E0D( _ Zfhk 36׶d*MV1t"URLàx_"0|>'_7p$ay-v@ r'ۭq9Fx-n^45&5{^_i rE =$b9SQx{1}>CC0zh4IۆN?~%u$}KA|Gc )F.FiPe1 y M-`z7aGuU֗꜋=hoaFи7p\hw#Mkwm~|%*B 46VVѽkZ:|6b W whV [Ug}DcăOԎ͆ٷli>" &G8u/>=Q*Ÿ[v)iH& ;l {Aشz+2|ż4e*}b)%\-KrI$Oy8؉M\l*'u׊4cb ?񪅏?Ⱥ;|9_0wQFvGY wIN0 ,-Qig |) 6"[p6$ 9&8ߎWK;@*7K[E e45zU?Bҕͥ Ȗq @ ;lG5Gi]{'w5۫d1.绲F<c3ݙ )]GV@w>ٗ_oo+5w'r35_323~rU,'Ge9"%xA1BCm&vodV2k'tM7z˜*y[?VW`/g+!:5vepʉ <1CAl~I)?aZh R?}*0 ?C7cimK/:LDW&̶ ׆ր/ Q1X)w,slCqUxa5mn]L /> dn&+c d1Ǘ{8*7 odz./^sȑ_F5{Tx#pxO56J']@2%\K5:6\/CH ֬/F]֫3;.mBJw}${![i k?%Gأ"AZB.\d6 $JS*gUd_D ?:ߒޓ33zU muyo3l4Q( _y7ZSZYąma̿DtbE~KD{9s^Ӯ;J|J/^"M?:V0~o"/^SЊ>;cod#tN VaGlT(^ l}dAm|.MmXY BS~RGIMi(_-)'`mRi`Lks.,}p'@m/uWynoe6!D3%IaܑOK*]6bI ӑ&WkF5z~I?<.aJi˚ֱxgH:wTפN c5vAUx)VFY QYn/?0ҊƺƳ=Yɰ[\flۙ齟ewPnf!FJqT mXY>&qWlh8/y屈UrBD^WG h_Q[`\YD߆y]~H:`.WCǃ6a^w}!.xQW?a9=MF3msӌ懶˻2RF&"8i0v" vui'J?a'\r0͍|ߚODB[n?&0k;+:-4>3>X.3nXCo˜u=IC E(9,K.F;'xq(9#h(n[VOy0 g͘ ^ϡW7c*exV=Z/ MIFVV5+ogCJ$ ץC]hY'K؅1mES|)lhͬ uSF{S Ax???GbdcTңv};E; swxԳB12}t, #rxA@#a^tMC2ӽYl*FЂ BRB8nI2\RdEtD>B@}<#$b)n|xLhex߄(oxuݾ3%"O\r~ngƄ`avP18}TSܛôi?M7V M=Gsp,,BYeB U|-U5 ӛ.~Y 26Kߴ'A>81"Gnl-;lT >aѽ_V`4{.o!,S2^G,?q1i4=+OKo(<4{̼*Hp7$ФN;0F@{_^eݣJ6|.OY|ۯ>3'yYRxO5lil9ITuaKa{sXPS('Qhn9 /u? @h(W;DjDb>~Pyx.\2TLz=VU+|,n/40G'Qd3{/Ϛ9/X["w\w#x0z;xN:tMm'\iy|yq@ZuozMw& Y;R%-L]&Di(0cm罘ek w~غfh]`ar^e ^R OG&l`C|birFbA#U }M=Cd4wl. TBA bupXOtΒm[>Mɾliֻnhiߢlw!o )HCnqk]߀p'Zb4`,6MD>\w<Pb*URm#fPf)a8ۣdfĘfEq:hGA:*֜o|,ʛBP5NoJow=ijޥ_/PGK='ĚqHa@kڼ*,_g$*>Z*8٫iM9S)Kp9F1xahk(oBul`?c6|r`qHw9y4kAɳ#ZmŇdWZgn^w.̛ѡj$bs,_jR]t'm|JH%#j&k&;+=x lKXb׆Aue҆夜|m> `&fix<aX t6F$v~%yK$ A/0mLe(_ԏcU?z=s=^k_ϟZЌ\#^_?]P̹H(=,ǒJE= %{N›ċՄZ!UeݼUffEk`@EOY{Jo1b.U@\cxͬ6D0egMJs b;`2 +؝XLyŪ&]& ż7W#' wgQ1_qAb~3#d0%wofB <47t8vAOo~~9Xd G)8VDAr)#ȮaJi#+zw=ʻ~! [@ۆC.͜1 Ĩ$#N+[浠Uڝ~auՆp |׳i.?.%Gbm&? 0UQCˍ!Jc}WUz+!"c?*˗PV&Is54pvaV6^l HO=F.e 3ʼ,udNngGg-6V,fr;z>HpIY9  o;tE21Ð9sglvW Mk,_g.3LdOJ~~iZٸ^Ӹ <(o ߵ2A?!4]>dWuA_1L8HԦXDMd_nS<+M1ʂ.H=F\g6m38n{?: BxC8_4/ᘪcb/D|,a.frVdE0^c CuS7["~/N>qZGMeG!0L &ʠ ?I `5>e.cFCSW5xBzU MXؑqHD}qloN} ĬB^3!V||3vqu+k .u!} pAo@Ɗ ctй(jN}$ZK |8&:x>6w?6U %vC]`zHM8-bR `مIC~+T*ݝ7ÚZoMS3Kjcd0#yj܀"Yp׋$, G7T݂zH>Uw繽eW9q@RAzgh^ ΍ʼnW1&7V, 7O$b6T9ִU1ڕ{ق{20w;"sTMH!<ōVJ͋҈k֜ķŞ؁'//TpӑFX>'A~Fķq~Fqynz}GT(OA;a4Q#-UIocU|'.rǣ$pPOYr1xj5Yr0ؔQ#doKC16zvmӶu5`K#<@2oRXuy+e𦃽+b?/^E?M_^C5 (ؙ,y&bL X/e(ft7{3$8gJQ!}|S?^O?R%ןO~qMcOѫ>4Fʗ#5Y3EZrKLͫ|9;![kaXP7v耴`x+ӆ5%O6zkF+gHh)荾C#1j +?&Thȼ@|б(PeC9zcawO76/z4x.YPGN`\`T9^dÌ[p;b&VzJƏ|- C*Y:W)L _ҍ r)h6& a;2ȃ#%`jzq'L iPtJ4J˕Y0^ K|4Zw1NҤ{3eI_>6IWrݲ-a%oxn%,6c5JqC K`G90澨`/F*)7O>5?*ݼy~հV⥦U\T ^ >nwGa[R_Wu[z:Xp-4&( Z$nz8e'̏OJ3;TOFjHȸOMpQֈˊD[>*ź_n48d*X/.Ŧ~]9{ӥWQ>+tdrwU"|Iorm$ 8.!dEps ~$=bDrmZP*X{G:?KSm?{2 z R-'7PHWgo& )>s!_DXlēd*y3]X.Gndp^ֺRuy'@b6(HK"qpar7\ ҕBY)#Ǐd,g]g@-PAR<yusKbfymA@XTpe(noXsNf-VIk988E 3ܳQfZZ 4K2PI{uwQVgHvlKaym;VQI|bYϏe~#|e 'Swq H5V3C$sX [d&ߵI F/] 7 aDkcG 8w$"3Ӡ1ۛbc]6]4+-}>虹l. ߿}kn[# \amUKj̹"->Z6'o8q(L0|M䲛XU BΣƂPF ޛYZ ^%F1.5Z'!}y{W}'-G-Q2C*]@$-KtET=Q`&`8Vkk_C#՞6oЖϤjPhɆVqY`=df۵w$ 4G,+ߠ5/9A{z\M4;"R=x'ucx``WG~ A K>.ͅ"!۞&'zuM}y8tR\"w&d5ϲT ͏!+r8@]HPf\O QkҀfVqն92MRMPap‬?΋e}YqRB[mz{b?Ê"C^zfC z.5 %|OTF*8}} N~ 5aFne3W)*IZY藅f'ˉN&b}P= əJ.Jn)bZlrɝc5S)(Orͻt!=Wvʹo>j`2kU^4bY h:8#MqZAC _ﳴbT n+ <rJ Y;sXW+|B127o T<D{aӉz Uu}YK#˖|X7hv`d')ůHxb1`@ꚛ QUyy1u%<7k'8>\4`+,I3C2=0{}<7S^;猯_ $5;R4d4óUT#p,c_ b \~0hVP-s~ "W-puVd %Ш|KH0:GMHpti8?;3`$+56-{:b|&]"yLӆ\狑R,',U@譔ZS&ls&:?I FIib2ֳ9C3L -g>vUwAʎkq:2l#k'eZ/Ow9CЯzh@믯+hHעPԀΔn]_>RFZd#_Ns'=N 9ԗn+J?X4H[K Y:ٖ}ҬPP~n"d2l±i^b?2[en~ afrJFj> Uٱ ExpM}ef j"֏\,tpiC zu::pH;(*鄰k'SKWwPR;@(ΘڛOЃ^N΍xe$*MiDAi||v?XBgT~6O84SR)r) dRWwDҹ ΓH5Bl'쐲 m,,: ү,9:HZCbuuA]SvƢϼ!u`-ذY #UĦAҬʋqowMLʏ?!Y'CˆR8^=r̿| \ a=+8{N4 uu x(?E-Bu?)!IKO4QT/wu7 &A1KRwOZk]ȍ>z@p Xaݟ2Sdjfܣz }mTum'WRU?Tǐ՟*1QTK@Gi?]A/:TSk`чHl \:X\5}$$ɔRwŝfrx'SOTm&ڿ_Ks3J {P"C]"P\T*3(TAf 6ʟ/떬D/%q=8Sy,xATǧ-Q_V/+*d5*4z;?Lh?X~UϷz:h_q>H?ّ*A* 9,tAwAܤKY/4~w!l1Q|[]vSBAX%OTH":-L\7~73|͒t\ r>}. cmum3|,j#ђi6a -~cb\_(IA׸/UXY^}Aabο9nK_}7cl.Q SI RlDIC/z<5ᐸ`() ˇy .VO+n~)(kI[8y$ C9i׬:4׽+4["WGUI`~`8 -AYCDPz- 3 7yh;9)TL >-Jnn:E%hޜ,c"nkWbZ>FJ$HN0RF .Ϩ~g/LY18 @zmu$=O{IϽpY(w."u.U]D$w]A !=<8rI)s[JDS?A#@afz^+swZdg=Z [_9gɓ` *)0IJ X1*O>gd6}H揻a0a& HaI63{_"P4ρqS.$IAsԋ@ "YDtNKN󓆻?*X{= fW|qgQg1K_ɬKq] cE `s߿t2e}įh*{dxhyr34IP^U~ hԁ˔JtĿ[9"Lvߴ"f[k'{C-PbʱeQI0ٸuətܢ`S,AbenfVW"3>++yb!8q6瘝ձ[IϜ I1<5XeN<ߝIXd4$f'Cz6  ))w: m>{y蓼aBKD2.D kEp9d~=_g۷am~qd%8*3Q h usLyRpecMrQc/ᖫMGvc^tҷȦvf<C3ĦmBvO+!@:x##K~  W6NNXKE/ & Ay=cҫ~َߤ)}򩈛`mQ0-C>Ԍ ݑ1]B4<x뜈{{w%M4h`i^gcVh8b7Aޥr6W/~Skj7_{ȸeSW=K+1YDb|,0}ph,XJhc#,Ϥ2:R:R`],[ʍ[N!fbYYa^qmRaU1m !_aWr1"=4 j9׮ϿĮ?V~ TrW*0ypRDUQ<|߁߇كYMvr KPWOAสǡǿ/sR#pޭ wXڟ [)=lbGIx@yh%Yya|,O#v|c&74^0 hi;*6XH\M?gA 4%R79*W5@srG{ƽM06NZ]4/83؎:~G׀DfvDGaUǞY C =jrKa)Gh4@{ |:kC[a91V'F1AYр x: I:lt/؏"PGTV*M#U9k\nWeo} ]^-햻)9>egg_/J[Nad:s\6#ӥ3'6Vee#"(ˡ`3V{CvG ?:3)}|CEw ݳCz?4s~SvIJzOtSdRj_C}\Tò}aA\u۬2t|WHc~( )C2k|.o**Y%M+<(մV+ڼ@ubzН5dRtFD6)~1PR2Csj|Lb%7i,QIe:C'8'3'b*|ɤuwVah& 妢‰^(to0!߃"OI:q QʬI!az9KFO_ryo@*#xZ1+䬊qzA#V} y?P`お}䪰'|>_뫍8N)%Sj:#ґz\;ve`%#}:c}W]^S" v3G6PvږCcƇCi(Iկ'x~e#wD'eۏEv/wԇYmq:= Õ , "Ζ @z4. /g8z:9Qo{J^E1|BO?Wrc8":X*w4uS5 D/P}= e)g "Ҫ{rIHGֈta~p^d/S+N{뛇^c [e~97.J-&z<`wOi zeEB1-xyohn2JOws_QN4uC1+m] o)n[^/˶L یG,vx5i8n>`+aDW6 !EU09 AD,'@Jɞ6A3 3 z Jde7nb=Ƀ'o>U)x5W,u,_=CX ?Il3m*q\6*jJcP8s>.ˏSc̹k4=H. yw˰9ȖKhޓ@5t^.:vQ`%6 3TLэn2$pȬdž:r/%0\"Pw<xR>2T ?ٜ.x(}Eryۭ0䐝-WjInߠ\t~59/ gǿ2AMs(jGt}UCa I( Jao$P_墂o}@r77&rw3 1Xנc\{3F! d]s-אQ鋧U͉%̒iS;"@zSr%Tv<@h$P0^:lIyv_p*eCazj$?2Ӛ-[DdBZW֏G-;k/;•GJ۞|@x!<^>Wiqh#b[W=NF1kO™rP?!x@[[΃>"++,IbLK >{wɟ{x'2? FǣݤѸ'PMGsb@| V5kwٵAOZ&!ُGِnês#c.J _U~}KK? oA0k?GoyAPD"Y 7Z0ogc{ziܢ ~tFx\W3,u=>^SIi,h*Vu 06ˤFىZh| ;Ỳ)X'ܞH-~k""IF {Km@܍QɈZRgYI+/P_'ÿ}nϘ:8: <6ws#kͣ&3OCj5lPt5R^s ,n:KgJ*ĝ=|VY* u*cR@3^\:^ Bdo>[DO>{|KW`7Ч3j)?༶ky.?Qo8zeAΖNt;k:U!3 ֘a>'SCA=xcS>Bp459jv/knG}BLȖsFP|(RN-ԯ ɖmJ=g.  ˗ NFiv`݈Ư{H"If3H(oZjQ2--t6]UEsc;]/Yed Af[KroxgP[ec5Ŷ #ݠJmKc8Xu8v$<1S;H58^?=ڲ!VRb-~7U#3a!jƚ[335ؖ9jxrTx\J(򪶪Qb6Q(V4+x^ϋvj^Ngȶ;lKY_WjmmopnzbVЦvO^Oly1G顑;$XƃeeTۥQIh3kF HfDָۮ6qs^LFyN]/Yp J^fVR|{~׬&B1;ejg9כ&$S,Qo'B'åm\{^tNnqkW!kMyilZBS?.Qdw-݁JXgfs|QZUѠ8[']*ZWa%hix 2F[ 1bJ|ܛ4bj:5]d?\6t]1X^IUo7Q֮;펛m-sŇ +OA3~6ܮꙋt۰a9pvrvhF]){l:~|V8^ֻ~-)َ ʺŎ͍9l$OMXJÃ;$%IW5+?¨f\Z3 fb9کH ؎=Z>EiYSKv6M?(lCzϬ`g GVx }c υePh6Cu7ceLDiTmmVY3619U붬x緧 0YHyuz)t`]!}I%2)'Y7zxQ0B|}hF..QqO`]ZB$ŽE%]DesGdpNgUoȩ?ߕf8ՍTys0<6<6:wf W%塔!&NRN0kbQ[Gdᔊz]I-N˥'VnZLÁVL;h2̆Uתq?y(N:cD]R _){̧d NVV5_YgQ{BzZ5clXTNn~ 9Yo~O@C jqכTeٞD>ixK-4o's(icp1δ(/F5?PMBحQ͆1N-v!e^lcY^jhHƌn9^C_Y3Ÿ=AS ˭OXGq >6[ 3Uxigh:Zkx([m\r xVC2L|ơm4Y)S_pG'P[W*$]Η3Z.SLb[]r(N'xm]p+pK`J'Ovh >ÌU`v>ÕcZ=I~,<94JsXyФazVXnknB/[p:;PgJҵʹ-KrE8Mִ 8k%7ګlCU/4Ol W+ļH~{s_jvDДE-N50qcw^tݐ*lV ;wjlnrGcΊ923M7ܚo~W%9GlÝ[GS+(\xa| )oku?u=vRɐߴ֟]`iN%9qlSe^f æ!7QxfSl{S4[,'cl:.yɤI2pT_㒗Ll 'ux4nF9+l~k],)az VŬjXցxXp聈Ђ4-2$rB39Z:(Uⵎؖj8U2^3:IF]X*4WhJjgYQA.z&]eՑӶ' %3(LJ4~:LLzrS)?I7#9PMSƪw2~5YrM0o]A3 Mp)9ZٰO ⦸j~hU2Z. TxY{Ge-̲)sdD+iЊⰳ8j] EG~mq>ZZoU;yYᷣad,բRgIiZaJ*scErGNLn-7K3L3dtxQ׬ږZֶ%YJH.6M9(^Yl*)AYD H薻gS?Tf~\ }d$͚PY]94UqQ|y,Zy:*x.pW\vv2C=:1IƬPn>JF\9lF:Ow1k?FyO&.RJm,/^ .j,ί9Eg8 Ry~L-ȫC.|*p0 6]&D|m/gn{J&-Zpbt,fh1vElWz޾4y1"CR񢦲 4aYI\3l#䎣 fft2TGJ14czJT}xtT%iܢ2vV6QhvLbK0h{3Z,^ W[w9hD6kLO ηnؚdmUc'ƾ8sNtf$csK&2H.߈HȳI 衅hk2k9uR Zi9"pWV|k 0%qˑ_X`Ҋv-<NjxQؕM>Ƣ'=yⴽkCaBӮGfkWC JFN|;[ h"´ g&^Z=E;4-n1UXW9Zn"1ɤtyI}OSvڱgR?׮/G!=pOTeLC)/cciG-ufrl7a>H(1>z$ⵇ[[Mzmؚmf5WmoAok+r센`B:ѥYNlo?TE{^qqLwB"ZpZnݬ&r5Σ(8.;/uYDPeO|7[U嘳EӝUkV\6FvZ̪z|'ViL ieڜ֏ l]~u' ,9Mrv;f*شZ7n5q&m3+ߚ7k.:] f':11VԜEWLv;!0\9kܷ}UUrP=*دւ5|s4K:&e3;09RQqZI0o46VƱ9X3^bCM٥p]/Hҭ9Nם">. -nLHa4&epm 5rhb31d wFttlꕚF?l.~Z"?_ةž+k3<Tx*PVO3Z4gۥ5@IԁƌwgV#7jR1l6lhWʪ8mL3I*Fx*C7\ F!s0B>*iښړd6u&^*NӘY8P~zБxIO{hch6=D[k1vr1tR)v׽jHn(W!d*O|jM8%NO1W;U}~-UJz]_i;-NV g,kF𩘞7AW$ӅQ{;.vM>άۛt뵼Zz=>p*( 1ouNT lemrJ[azIkʂ2i,Kn+>٤1ޏ7(7'Xti]3cͲ8X9^T|_g+fyNeVXPF!6]%~tc/;SYrݎ+Fu-óc8Čq:L$7퇣~9ͦ/"Y4|7PjԳL;Fpe/Xos^,Zqo;ne gQ;BtJʙT)jyclΏ֨QӠV]u\.ʻj8ʮtol\k4!bP1m70E®F-X(Pw3Ź\[ 6xf*ՄylB)Ė d7*j]D+BaBZxǍ%6 URxUz6H3__ij蔦N&NL8s'شL )8Xh]458Էֽ&`[vOhje=fD)+Kɶg٦@(p*53CKrsPٴYZ2-bc3B9L]5;jS4@\3;#j2˜ ]r6|Tr nS%:dzޮ5Z>]ʵGgfQltQ۫\U-ީFYj15n8^SYjg޴ k!,K}414doo鞬#1ʍbLCh٦Jռ In$I=I7IS˫[5gȉul;Ԍʾ/Wˤ;,+tJXN+?C__ǃ6(9o_V=\FW=s6/_gۤ7Yx碍Po[{Kh}[ǻgι-7gh Fto}؍7 xI$7o7{ GЍwG(yrMgg1ڽ;{xovo=8sGoucߙf)O7#\|g6J#;f]]J#/5cov[gS8Es뼪[wyیmD$SJIʞ s3 KhrLxT!TgU獾=dZSŻM5"1f6//amSr\04>=#G38~8¥` ١g1ԓz@OB3'D 80RQ#B1 E`$ @.ٓ@ _9"BWI0&R1v a(6~"n0CB}@S"{6N ×i_  =M$bFHx[~iuv⃨;&T]@M` `ެެBJ_iƩd)@%!xo~~=`^>qD%DmMCj8`X)" "TA5cIPJ' Lt{~ R`E ɐ"bO^ա]4^W )@LUA_{, j"F/L $Ezut_xJ6zW+ς#T @?htG4 ! Do2` BwYc PVi`MɈ}: ČBxTW4&yR B:Cz+&K^+`kU]Ct/B"f¿?C?q4  M]ז~EWAkjÏ?C?#?_򑡁41s}`X@5+wY{f"6:)4=Zzo@c&Peǂ6^.8>"!C0t !|cZ]P0΅;xx~pڵ=7"-uWlF7\QYG,Oz'L! ^Vzo_)8@+jX Aޜ=USyHCJkAiՉ%$]{诫 /-HX/|nnn(Ewb-=`2%Q#^U/qW<œ&Q fD /BLr1bQ`3- 7jjrpg[BO[%!4jE8Pcw-ަc؋BDz$fИ_kypDo' MWq5ſY2 K!Bd?/0Uk|&CdCu/jxhBֻ_ChI%Ub6Bz]* z݌k H="F"!DCBBf ЎyIb3+CEʳpD$g_3Rw1 HPCMvsʋ'1:@@m{C8d]Jh:[A!$Kbn' ___Y&yۯM<НZRkYQp#z)JG5 (x$]͉z!y` XoyKxY?oƟ悑Gϸ<̎s1 B^'"G=|({dq8;&,P>sL89yAH U3r%%_!%|뼊b ~ oaLqabi F""%("=OVr CO;=AI8 D z  ^JFb%>Zep,PX@Y-2-8xO+ֆ+huj" b2yB:jPl='`SgiÇ9#N#0ReagRH(~0mMM nЭ/[""vˈؐOP!$ 4MuV7YKEeu ̸>tW`64s5$oMI AK@~=,(0@+N{W X'#O:bF1(hgfB%1MN Q4ʖ0mcH3W1:?Pȗ#A)L9ҫ`")%h- CGV~F0''>z tf\*(@̀^ >>2>ʵڤ> _< XB{=@;gI6P8 dE7x+1hror P=2 qȂvə}{ ht|pP&cՁFzb0 $ZTóNyI *X@Y1$?:qljI(QzCCj\q ᐠ+12 'R(z2o|*xA $(Q( 4NMK=Hw\'qiQGJKTѬz72f3:$y CY|Ps!ո!x<7Mf*KƓMcVhIIrS` ߵ}RE~By`Oe,c/3ݦ7Jo V1x*+HgⷆlE}l< x҉DR\ݘ>fIlVП񞕽&Mv??`#]#c@%aO8%s_烹;ffryPl*`t=;tԺ4?z?"՟"}i)M*Q7qw[-^.r{D]J~sO 5cJ~P D Q1zw喤m3%X xPALUE(NEos4VBU*mH%"Q~ԐlsT[nI!zxmI{o&K+g]4;xQ.}w2x^nB' 8oxfտN?o7? \[ebYnuI&@k?. J!9#̩a x`\H-ۢ)t`P. _'2gf9Wܛ6gWf>#qyq:LsĞ HJ,ujg8gxL_JM^C/׹yY@ b~|~!_톽FR|XP_/y]|Pw'7} 5^ }~QcɿΩޢr N+# &֐:h}&/)oq.pSɂ|)p}H __|3WCL Ǚˤ'8{c9On'\yįq͜''wg< qF =҈!ѯFR}Dg2(^}986b :6byu/7C_iĻibw(}%N:5x 8<Ǻ_ A?Un^qg/ eQ?  c~9c~\~TjpPub$It3~ +hHPZ̿S O:(r>9x{^RgVU:5GדL;[_}2wdݐttS` ^ DQ_M7+k@7X!q3 tR_q+[<'tds&O U%&]:1*01xRjU+:QXx_l&٤<  ph ZhF![^ &iv]'F}ba3GR}ڄ lktr" ȋCuvsE^ut:=+ ޸+%uwe)L3_==cw]G_E[Zߕa22SY۴ #/elc})!Jʂ LHYg qm@7?awv|'L05P S[;w 0;4{7 Sè[뇩a|*Lҗ qJ.>q`k@UޜU[U?̅|K}ii9p^TkI_*x "+V2A{N* #|@UC<* ~,]s4X2םW"3`!E:q ůRS?I*o_quN/^)|fY,_qZ_^/yޫ% %>q?mλot2ܑ}їu ߄N1FOG薁%Dr? Y??a\UtUzaב+/k'\_A))o' q|#ٕ |p3 {r%$?7=S>}XjVbk|>~SrI ^ڔሺKAp(^:5p>d}#K{d?DaHaKaܔTpc[Z7}zjȦ4qǥݾ㣾!*Sd+nNo7}Ona./ !"J x#gf/o _SV'/SE͂#V(D%e/Y=sweb[o(ǸJa]c{iGfX*{! uj>/^1{J/EreV? uZ ߻#!xk_7"9伥?@d`-#-x6qw./}]WW{T6%[-r|;^}&8Agfkar-S@5>*vlao[_|ޞ/ ]Iأsƙ^ђ7~"#J7L}uGi`Y]?/#xMq)>z'|1h&ak/J^xȈ.6,iqbT$+55!G5O "%RY7E9ź$g'Cq[Nk6[Fn옸Ht^E@șBwmzKq: 'GA%ۼ$Tz~{蜄z rAR>2'D_b0P 2u\9F(&S HzY'GtJ6L#?:>G|ÿ:rGx̡JQ7a,$כ*/CB_Du0A':Sq{ uRZ3{;0 prG+BգT "[%AB 8,5Tw)m6eJKk pХߥs* [x :fRWut[1"TA TX\+"Y+.QQKԆn}g0``8= H{9 WjA"1HL]oU5]#Q$xcXgsXp,y1^F 蓟\kFbJ~UW?K{acxYoC5еH1!Z i)I} yqJP׋p?pإqf#,9~>Og;: ΰ 1CJ&,!889v}u]fݷ5׳^ՙ-B>ZI#8 ;L& SZ PN 2 (s#ї4gwBRorLArkS"DZA" Y׾YIZ 3S?6^}zj#ߌTGs-H{i߁#&_Z"T6D_r@ ABoXT~Q!1YF/aE@Ew1^>I5f{]'nG! N)xp9/SŐEչޕ`?XQ*0&X)W05B/gˌ:Tz#Ǟ׻3i\b {W!).0BPJ:}Ġ?U3 ũzH0كzU?s~SB_KI P3R |veBD" kP1_]ǓoN-z_?H3 PB^/@!@^s-מSp$^G "ĵ[ȋ׃Äu4 OUk +qkD7yTYd侫%>,5$#o%)$\˸ߧ\K02=<ڦϙR(|.wT= ΙBH2o̠u UJ=Q@\(~Uȹ~BJ56$ 'S]eR08Q \'>ETB麀148ҥ\`PvtjPv3җbԓ7M+.8(IR{< CY&hĄPe`܄8?@5C/'T Dt $@[ *u3c7OR9QɳDk7J 7 KAƤ K\&YPYlKxR% ߣIfbp-D_ : >^:p-yo\y给7^>R sol䌇#>b*L> fS\j Ǡm@ڡ{< ڥ{v[fK^ ^| `p7^.CL0̯ҿ|hw[FD%med;.>Jژyk˨v4NI=;_ AU*EU&A/(p)/J2,EI|Լ) ngG QE6es7/Q __D ڸE/G (h^>$S_ǀFDѿULEX3ͷQ/Q+FG9EWf׻qo2Q6%~h8ė(#ژE]b%#[Fݾxσja[#]ܨyuh0UM]|Cwrx!.yZPVg+o\ %z1Jݵ 2OU՗nBbv,%G8 g7oè|_'S"Ņ|?KYo:4khb:d (?X vSa|O#wyӆ\헢|vDuN.i=;x.8"-ƐM֧pi jmg e/nLLK8lYW )\-^w7, s%c}z=IX"F#͓_L }Cs" )b3=cCS7rkcVa7E5Ȋ~gY{:L'TAUu!D)'B"AI4zs,(yП>vu.dxE:0 F/9D\HTq 6#!gi TFv^bܯ; 0:Wl? im^)"NkYIX?ʸs c0* G5ztԱN_1A8i:VR`_9ձ2:"˾sBswb9tnTةy'۠ZBu~'9z(h`1 *EDAٙ5D@<i/C m x5(]T~;'ʉuZ~aPp*8.ZG*Yy'6lX߭ٚm?. r2B/ RM``Q+f8ʊ$z^p}ܩkG .bg(!*Ơ??mHf`^ G E0񄤯mn-駔̍tLkqNkpp1tYt&f(j<̉hHP#9 ZZbϑ˄cZ#F025B Q(MG a>рo Nߖ13j5=&oURk.wh)cC4? Bd(s`-+ OcXWD9PX]Q'1_|,6 樂@Ga$~r'P<#85궇Q?5D=uv!ĉF8#abzF4PƼlo˓r Bczlp; D:Mr6-܁!ܲ ,;mF"?x21mFƈ~,ptiLXzO4V4*@0M&2Cr". LwߴIz:qCtSn9WU6*"x!꿔/>rL|VRvyD=۷FN_1`)|ca@R0Fa9 9LAS㷍7,|NtQ7Nt|G򿩛ގHD+Thy ;{a$ث5j̦ɃRC{& kXq t 3`?+eg" 2Z# ԆJAiZ3&9B^;ogјT@A YCqc*7~i ݧ*jEfJ*jQ63?@pE {t)E:P2JJ3ξ>H|2L7\8j~Z(Y]@ޒKc`n4(ЏY1veKwE9&l1-Gz0Fd}_#}T%7ʋ y|EL%x;u]}2>Wd4]C&0JBvou н^'b!5ĀI>Fd촖Gc_?1G6#tAaP1˳8md9\v)E=yj䚛w AH /YVo0  O-y`ƲQԝVUD,tg"54@@'e^K$o#$7ST^msoOlv=]\rY|~;=Ǐ/ШU>nB CI Eux=h7$*ܸJM$!c&"e&|Sxd-Z0A@SkP .>! !.4VRI9ynP켒F#WZzI%L)X8]hBE+X$v4M.,ZU5a_ֈ_6͢24.Vs5bV$4j_eqfBlZFz%2 3sr:&oT`SgZ tT#..JT\ $X;߈H@A$d"h 9좚&De*j 2Sh<ظw 2xxњ`-ٽV?e`dlx%X59/uXmc0MB` > 괝;^^fj`̖w֖6@^#7' V7h'ZD&`e ƗB,vV_%X DY-` ,W /Oz⟞m> I׀ `DKTJlimxLy"w?N𨟵)ik`eC_ir]KA&=B(6wZ%Q =iə޽bT\!<צy.V-) 4e8HSUW e霳pp_G=M !god}J;] GB(p xjrhˎq}c4[Y< M ' ZK&7;H%BvzؔGhDAs)W׺%0}l-h[Fb3}\40G~K#u2Ji;5 UI& xhVU+2o{& `ua:s+ݞ`VmMa(%$v=V̜<Ʌe -FlSj*HH;-i_jSI |=-SK(yZ3nZ{:sΗh%:g<5g%x!%OHYoЧGT/iIڅgsyլynY<Ś,-DY@ [֙Ai8Kl@ىۣl|[(+dcYd⥯FٸePYޔNu:X5fnFO^ozaB#}K'BZ!QC?\*a˱5X/WnU$\+{=+ x1 4rMohxiU jq<vycVSZ?dL8 UnLJa[d=| g6Ѽ32aUgOp)vF1,Ƌ *&]guL 1&y{&:$ ['@DtCL ΝS5\ W[xc\y{.}\|(udΩ&=YäJb֘4uäIHT 䙬MU:{K͍¥8Ot<5p `ib^O{qäs5,j6mE¼co)qHܨqEV4/zZٞI{)*&-;-1I&N^ETi#:r6}*~dB[eH~[De;W"oKҖm+i˄IT4XϰHWlML jdmIdp[)[&N&:=qʹnYL,K."h4|FMwB#avhd_C,ᨫ>ȎJ*5m-b-El"v"1n$g" ljHޖ5[5ΚME:^}h8`E{o}1[ uӏ>ׇ?sc-~I׹[{\ڗqJ1bY6\wv\*pRpzλexhmlunBbf(TMџtwWmPX\d=CZ0ER;1ȶC}~(VqA oO-.7VV\Z-ͦƉZBC9$g1y$B`|+IB|qNe`F S5Ua7o sh շ횶]'XJ;fk/ P'DҷՋ/jbql*Cinql`"Vd"piM~R&"W׹L 0x*;wH~LJ Mp?/J휝2'dv("Y~f{N,ٓQcfpHh4njy͛F{ļMQ p\}6Up&o n; =ܚ:Sn:k.F;]Nٝ\rL;o|;tgSxI@%mpdjCV,0w1; %϶ 5:f^_y\ۊђ:"#J$g5 P!Ci +W|ypY;Mq a=ɑZ3L EmI ur'! TS̀ =gh/)}/q ^IHHxώc\+ !vYӝBEB;@hY-U7B=9PQÉNH֒q>d,USy ~cz/Oԅ# uv܀xN h'za53 SK 0EwW)tv4́sE@:H AJƁ5аX GIo+؜ڬ+h4 x.B޸[4.ŸB Nyq[)VJC`+%;J_@TL"4m* LQFw'؊t'³B_ [IQAdDo,*E3iolrp5kʃ_Jp\(I>`62CqA۴q IMVՙۜ0mh MY_~oOwRnSrsu,d_F6d\j?8*6JchSB$(+H(Q٠8p*jYܖ*jjg0 +;ܑC5j pL0k$&\se  6Ǻ;Xar),gɥh͉GӜ/Pؖનaia*/Өe|;05U4-:HќIQ -I>ZTehP65G(nG-Y*fbe'죙TQ.hshK:<b+n=Eq=ʩe=>`P, Zхh0>yvU^j4Pg@ILH]q);X9M [/x={S _V&3X1Ko5WFx.]*,TD"%y̪ z4EW킝 `Z10 k+iň3h2 ./ %JUBbx nnTr=etpӹ)`6hfް&`l;D֘W\Һhvsۼ=M7;ѤT\}Ŏ-N 6v_p{rh4PB۾-{ݨgf &غj}=&;E$uE"ߌN/ L59MH-Od:SMKgD-ricAj>14[F{cLhkcnn1xq|^%r8F .5.l `MYLRbMN HOB* H#,t֡`l8 .eZug;&B|Ο}>[r[Hs'07&*o;>O$f`=L_X,*]q{)0kla6h/.}X*0^RlJ#˃TU֕8X򸕞nA-r%m>,Q>&zE–ЁwxNaCkr)L})rUzxꞴ3rkx{&hnkl5b\}η74G bVԿsnmrLj=66yU0] Ư"_Ck$oMε1#wb Kı3g1X.3b[)-SpAy07fk,`9&WQat2JZB#l=ddj֍J(zrj@‹4ewHZ󁴬zwÃT1 8H6 4NyJWr8pYIL !lq^Ҥ:8g::{ Į!nKunNlwVՇff:]_NO ?A?tbJh1<ύPM<8*NkSu^ B@< dR' dezh.ؼC:빘k~bW T0m?&UJy2C<ЮPv{:4 n7F4l {LJPuƢ2^_cQD6- ̗Z=-CqPMzB֯VtFؠ :CxpW0 zC8O <@l`%ӛDžKo߶ү1T> y &tVIJuܥ x_-7|-&2$yh֊ąym4W}_ͺKZg Av`Es"k$lxl!UoR[U% &k-_6@;[j_~}pqT8ŐOBV;t7 pS ;)[&*ަ_ѐV\'MmpsHoSnDsݚ[٨dLϭ|Sd2waUSM;y2:Ie5)թgָ9#\I'-$PNQCfn*r5%ڠ]}\"rA:NZ9^  t1Bшj^6ŗ&)e|yo"_\ ??9LyƏ2ca1{O>||z,;OO/?OOM|%4_}z> $ҋDQnʍvAm JYCTh942P1ۭ:P}x 3^uVRwg7X5zA+miKRG ?`ۢ lևQ.5ȥ9fy{ ,~*T:w*NimO .!}Rez_T;iDt cx1>M5??p-ktpL^n%YDo&sCb=OF%n̴ 8L%O91LHĊl P5XW"Y2KZьe^cZ|̃y3)t]. &{qܹib権묀٠rOlR!S \%vɔYaٻ^l~}7دE/Ͽty„_%?ˇǟ>?_o?EDZǓ; _y0HɐGc?2(1D0b@ PL2}tp9}#_\Ual `!u}hUG C^,Qɔ%rX²~l7*0}g s2(ZV]]"VA DGP s%x]ڙbPGj d{wsB!8f^ u Lu ^'tˉ|mq]A` O0!\sagK+͙tN>AVފû;@V;@%$'_?TcA}EY qG N+}ӯ .Z_dR[U|k]vH/<~U/T$oHER U$];*q|at1)zzv㰵-G$8Vg!y%|i2Auإi2b>W0 0L#ї"J d*dлDV "N98ޱ8a O၇s@Zk@` f<< xR+\ѱzۑʏ4p j^=ޓ6r#QL9k=W:Ø}vYI:;33E:;x4O(mwhȦc[wy}ㆱc)NF&Ei˨uA^J1[5dPY;_FkzWf* #8𠐣\5Tq4d$3Z,o*;IkqsA.0}Nh4ȐD.L4ZZ{)q$mV_DBeo?hgUMj̮(6?$"/ߗK&q…#p6qWִ`nl4j_nikl:tuax8{<][qI‰ٮ5gD3aA|>=&Rgc[?[~KUTB~a²{p N@NxO4l}h+P*R`R` )&45x:8qA۽lv05q6[x%$n2Ƶme §Yh ^j]\p͘|)4%_K|?V苙d$jˊ[]ѕB1q|at*4ܜgWdɮp𑾔Xۖx[`fc<"66|`\C((|1 1ڀƴUuW"Ҋpej'D垎6\mMZxq4dSE=18` .Q&P{v^l[5X֚eWv Ķ Qm7Xm5lZA/VT=mڎψ*hm7}g(:g읱c&I_Xm-dmP= ^!bh((a Ϟń:oʦ>δ>$Z 1{ F.~g Frj g^Q<3Chxc `|#-JD@i Bku{=AXDk yr[Ѷ\a p ˛0@{2Ӑ(O@B >x34v:`K#o<@]qͣ>fFx^p5@DAԤp|rcw"fDĹg"a{@pO 1jV>m>T _T0 vff=YȍAt H"\}AbqwljB5Wh|FMd= AEՊ) }Xpãa41c5ֲWI44CJo7ʹm<[oKlFj:}"Bz#"酛DDDj&ֻElXɮ5*$R&FbQNdRLqY F$4NK ND-rMD9y{-S0oW+4"0l?P}vmJBV "d K1Em=-<61/Y:J[E"eM(!厔l׃Zg GWE{Rhrj^z@n/8v&P f`rp3P<V# >Kȏψ\iբY#g4kcpWvEer۳kchWonv,#n֎ގzOskzv,`۷c Xxj|i>ڱ0-Im;Uv,8ύ-*#?9yWSҶjReApZ<`E X ֠ܬ Z={:Dj,W g$ȅ"4F+to2;3ȵZFN9P mF'dEc'?PT@mmkDGe7d¨C'ʈ2 $Yjo \giͺU*gi) "L{ƫJ Վfwhcw5^KKgA6ŔԈ!ki7!.-l$-ܴ!y5%ϻa ׶_ V+WhMvk&aOc4Kn'aNuz~ȤU=?d?jl 'Y kEK,mqIe{Fo!DA GZ)a'r,;y 7-ҍ.$i%rUjbyR\(@%A?/u?1-9;Jƪk֐pJ$駬fp~W =&^'&|$FZ ]CdFC',+8щ6ͼmU/aCLMֈ&?t@Z>SEO\=H5-a,5f$syQo_mEIWzPkE;V,]f[φGgBG7ެrM*2Dc,z?wegVqINCIzNb=R^?32uU$6!w<'`LMUGr鼃d`x&)ħ3cWZL,] 9qugza {1-gcCNZF,?e`?y 0"+qB{i2"t{|OM~ƈFqfNTs =1x74v`~pE>ȣ<|b;Pw.TZu"7΀瓿!ֵBц>DlX-,^[w3pJ@-٭ƺ̸CߟmfFT_Y!`Oc`U1E8ݟZf>?=>- pQ WU`LM༰jZ]8.ۜJv(]O;>ide_Wc/pް!A4!Ș)v ;mL=ag"E g(l\}cENyf4c d}OKHw.[&hĴÖu/a2ցM$SөLiYǿ={`3{μ￟I]fVl'm#p*om)(C^vefMNZi)غo_~A*P#YhK%@ ! _ P,2Z}pV#-J곚 #O Y ySV#.˭at`@^hsـ B@q 9KcR QZ!%[Psw6YHFyD+핟N-z~H:Y+=ƝCAdvd+_֚:tXs,;} ƴ :f1,CG寜X Y=/ ?d}P1 FrmlݨOm{BX>Ai!.AlvrQ:QqL"  6վ[˶5A"^r7۩}[c̉?ˣ!Q'==od/,'ǧN@h ʮlm.Ooo~ SKV}/?E'4k1@/imJ&Oqᷳ8ӆY]n^+r&xƅ*X_f ծ+tL";-C tԣQ1hQ&$AkiQtTDxei"L"C܁z0+-F!z`4^YLo YQNX`TTyWy9QY<4Rèd6|%򨬊:aʴk=K}CZo<iPKjbpbJ8[Bg .~npck'wl2BT*07V 7MJc:Ht:L,n+pϾ QCX'lYnـ8r {;:M׽Q}QUPƂъn5HĦ:0o[E,4iLC#,9*}.+5Z-,PP爴d ^pXe(h3 c炬e5˒YUr.th8IKd^x@>d$:J ]P"; z^w!|Bg Qj05)'~Ne\]eLxgmCw ,* nv 98'9hiy1;VḉOc)UT 6% kuT\N .)<1/eM*W9\H]7êf[?6㲨9T:>2_-7cUgATz}>9AY=慂;maSkwȏϞ|`4eFKSEU6fu{UD~%)k {%ABSZ&OjʚuAS^AxQ;B*9 EpKq"dAk((ʀfc8@$2MUƈQyy0] j'ȘpmowD9"28BAE#F_,Z'+%ɢȠɡ$cFُh[^i ꀈ6 ^J: eQ;, Fڏ5Zfx .Ipek*7GYgpKb`yQT#pLo9 ubȃI9xXGO?!NC=GQ"aMfs*@ՊC(AȘh̺#11a͞c*`! ddOi")Z|IiZ"!xLӂᐭ E2U[bw"mL*|Mۙ/:qم+o9,BMcT@qPM~/eƻ\ۋL/?-Hh=) A+![MVL v, H~i`v~ki!1ow+[WHw 3Aw+Cu9CډD iugv{}ާBH/ث5ezK54lػg+];c' Y0Q+~egb"AVLrŭh]A[$j,F(q$\_;(Ry9;x--&]1Ώ85'-2))yC)3R?6]MZ6Jc^#~KqP>Jz; @4|ʩ1k-4^t{ӠC?&aLD×-&v"\ B`.wYt}DP^ #!@PZTwׇ0Ԏ, >'#@n0 VF`F}QPko+bkt=6@Hu$`B!m ^rX!! {ۏ'eLE^aӘALE"D+!i>=wn@![0{ wVC,$Ɣ1y퐜(򶵇o }HV(dLFYVZ@k)R7Aν僣.)+0b'rGo'9 1 `l}1'T^%nG Caʱ0"N4s囧{άBԈlVG 2ezy 1[-L 'n:M(dJsԀ+#:<B $ťjhZs?d&m׻kX{+beXCsO䟯q?~{FmGjwJ!v&fT[ 7#u5 Neb 6(@v-U|+AJc, AjV(|;zedA\h4?54$gHq64:F#W/w j'HB3aUt!S.l3;ߎFV"e>b!^%Nhհ;bHI"&E8%pƒ֮NE3S qR<$*Urv(J|wՖD1(# ^MU N|ZɎ!ߠ|'KPȨsy 2x2{i4Oꉛ=J}HBiO?󞽨"|5Ϭ~MP`o!ΟO^n /ZU5a_ր6h5B_1x-dXXȲ83u`#5@IpSSCc9@Gި=uA)Nj$1ۅEJc_[k4?mz4+=`LX* 7b~;K&qP Is+as͎FQ u5xx:k R_ Ee'6w]yL_m`mzᬨ@'sNȳ%^I񼪆\} 8͊3!Y3!j|$=_FCѐO*캔sD),¯$@[pw}~>P gF+xbFJ< Zyu PͭuHiƵa *Ɨ~-@ 1RݝO 4^1A!DMqggC 1ni VAץcOCiy~\< jV)OiIf =?n4w~~zxQft_uG fA\8/FVm.ߣhPvEC9_il^VeԒ.n69F\ kW:=Y=@N:`T1V":¾0zxZl[Y}SZSVt8e{B%;Fd4Crq(YJq|Q6\is>(CͶpEP >s%@35Eq B;Y.G Mܡ般]c1 15Vֺ[0mi=t=.'<[t:NKOz,R2QvXf/MZ=z4ea4۸R]\>צy.V4LMeO빸x݅9.F#`f⾎{(7 h7CFd 2 TGFQ=Ї؂ϴTz ;ڔ`O縨KMC0؈qp<֗_ֱ aSqjoRc,VFiz@0 "Ѻ$YV֎~痉Hχ.B dDU{\LK#?L9*ma4% uD4H* Qˀ;!"_z2 ;("?ޛ2;!r.Th m4!0#sԩս]L(*S5[1VhFCͱZ>BB sBxu ܷq$3l6sn:"iH3N(!Z);cθ ;b(_Ygؽ_67SՎWbĶ[SRdVtE9UFz]윪()JQl`<5E1Ύqkή3.MWN4ڠ1Sg\WwS>GlNTz1`% lMe!>r}U;or1ƞ7N\h휊a];ߺRaN-Z\FoUTeL[;[W0chWac\nz3ߺBd>7#OQ]qkcθ;ySh*bD܂3@{J@sHMuehjDSn$@4(3_Gg"LKV&azB9.7OOO3.S2[*I4xi:0rU\ݞƭؾۚꌋTh*4gxM-OOuexDpI[)ĉt;-*mň $vY?; 5IOXaB3A3fZ,b-=f/<fN ߃~G/N.ƕ\ 2{Wba(q;Wm`vy5-@,PިL(Si,ASD]WouL9]5]Y՝ $]꺛$(6;QZ`s*uKIηip,}`[ppiIro 7?]/X[{hueع{a竛< ɻ@^뼯t0̍ PpeQ..d ;`tZx}\"?}pY 'ďl]մ N{BGVcgѳ\’h{V$hO{. g\KQcT ž|Y%pvP)b]Ɇ:UP:TDB_hWA'k}#}p@[T5'8jX^bgT 0`9Z%ҊwPFg?1 -:Î7DU9ϑmVZR+[YdȮ؞u,!ҀԵ"`eSZYs- fWHƔ ?xwB.}G*+C~QJ6*T2׊T2$՛{|m%%]'ͼ:nnM 4L%.z5/i16tESi4I zbG(q /ICއY3=y&!]yO2l &؀j"& t ^C$ ђxd5eAyzK?(j3=Q`3*Oh2P7Bia{[ErO!DX0hwd2'bt[ffM*0)l&(n`4+?T}npjw%9 q8Q $YR 2_*k?R\{om8A` %~`$ AaIL%2psvpNthdH3m{$BIB% VTT.A[V{M?lFA$$cqe{`eh1/tv|%9 jYx[F[|B\cQS~sMWB{rC^ AsO%Y!Ow84Y3%'76/<# b0iN#U0QbzB^#O)J(+0Jr ZRŅ忒)b`MP0sNXS}SҢcֲq4Sl{ ҃3^S\,3uUg6liAy?u6ac6JkHcHH^/U&裔~oR:j@)Fgʒd1Xbcj[yF"M($s\M`V&1*Y РЕYr=<)GftܒݝqG耧ߟ ֐Kdn?Cp)\B)dmm# ~XFXi-O *>P zZYፇߨOH[x}І%sE!e)ߊ P:e'HsKFݑ J|F i<?͙g%hcWcǘ)MeoJGAsYGspaިtĘ-f߼ +.42?k`3jj}f~m0VU$+{2b]_k/<|.`)Y$  ɳI^v]ybRȉ'1=d-[K.&ANa;/l{t.fY&?~^/ MrWB6$ANjO 1x։S&dj7]ȴ,Iu~f2-;*.oQ^0'|d{Sk6*}lh%F~/Gp)~H/$S>G-#2b8t89H2+Ⱥ]ˣA6?Y2 URg+} ԰h̅ Թw(RŬB4ٜg}zL^tHFAYkc ;d7d޿_|1}5~P2 tq{䳞"y޿^Wo]*JCxU]8R t| xOcIZ北 zw;~wW˃D~~?3-%QGr/1\K禒_bI@M1IR:Cx3Cd>1i-\F&;~1J tH: v%2I X=:}!]zW#ϧdO(~$zƝwjm;n يS՜I8*T#%%z!Ba R?z2BRh{ -+Bg*+mw-~-!#Z]|cުgk>}ʧY9DV[ vdPyݍLJbIK0z,Zl Őw>x:(9bpA BRAimRlAE޻U*c\+>JD:gV[]cIZJ Y˰̻KKwg,*z\cة"+ܹVFwẊ*! nqhYgmLlnp,rlsP.٬4 l^+S_ x=/9KE;Hi*aJ+r}¦V1ӎ6I V2dL$]t,kIۤgE?Zt$g}/4x)b:6<\(N0%2Di#@ͨ0~A]vo|}t|ZZ^+@/jk[n.8VKݓsRYērּnrּaexQkf\k`|b]ω %3n3lW3 Fks.ToNj]ۓ*՛.v7Wn|mR䜝'UQKH_T+by11X} )I٫Gᆳ3h$&n3Xvfݯb?f_I3t9X^߷5G'OֽjyQn]#MOu66B?!\~Ray9΅fھEL~^#րwYcS :$% cP։tRqDf6RVQJXg=dZ4+56dhJUqq2v۶Cd]W?;B(,:B(̓9 _-IJҴ )jPAlv \ZڕFU!ZP FDE=Y*6QU5iay'ZˁߖҡX*LH,K{>@8,D~A_~8>.B@ y@x[5BRWUd#!R-NF] .Q 0?-܊J 3`d~&BF)3-V6Z}diD4k[[KfСEKO1weg{a5Ŷf,0AA>S_ĪEj~W>y女[] t~xL#V3lxo*6,@}ĒE tg!rU.~/ߩ+eȉ(iǸ0 է3"ߴf@oyވNݩw{kCvPM}k)B>a`sUri*X Ucd Y~dE+'AҸr^<``Xr<4/xeZƠ`siB+;2y2bQjd*/Nty* ]13:-ȕˮFG]ddFGq%-vofߧGmy v6  [F!( ,@.z|WBhqSkGlg;m<%*ZAKL3wXPJlP*T6c%MI,q`wo>>2i!bB$}x׿}xO͵?Ip׏~Xu«Ͽ6?)>x~ͯ?٩yLyudHAP7̫| Ɛ~`| FnE$6-W߿:z='#ʇPh&Cv R;GPlE m'OS)> ƒS/g|FLA=Q/2e/ߩ lVUOzs } .E3ᷕ!{6߀^j,!O\{OhT)i{'72?>q2yuXAlN <\9TیJ6(} *H>Rwp@ӳ?)%4C:i>Zt:}ӧksEwҪ#L{J}Ur!0J_,{w%G)PWiH_uTW붵&Eq|QHűhb- jar7yP\[Um.Kcx^1Pb6'5\`Ҵ/d\AF{qNdzٛE8PEY9JiK2;pi:,o=_Fq m.5Sڎ.6}Z H ^~xVU㬳JiUu6zQ]Ao=m?k14#Jn⥊|wDm͠+-;qHP7PnG/'oS<īzUӮ.7ke7nPJ&JaE`#'׽zvTY-M'kX9‹מq25Qo6!+i7$rSbOd7rNʒ.-k 'i#J <*M_[TZz\PUv0ia7\9dweuSyV[&wFtfbfx&ۻPv":. :S|KQo-^!t 5>rᨌcu.Dc],{ԑ3*saF$Aad´xq@©W{em3{#N>]ޛ;/MZv.ÇnL{YzW(Fc'"m0ШRR~qkEf'/j<wPU4c'恷_w5 bpai:vG4Hn>fFoZgJ2#}XȨhr#KEuDiF $3- !ҼE*lݠ~\FX۪ IC0am]1Ƹ19FĮjj06Ȃl0^T0y0;C٪3 o)zQ6Xgp{^")2 wplrI{6d@!i&%yʏW*ҫFw(*mC=1f"43>w??&$/˞IPv8 !2knR@|b y\bE[`auTnl`L3X@:Rȃ4P.`Z'\~p˶4jIp-(ocnJ&p>޲*D'TBdl$;II%ZŘ>b Ia)CNᏫ/nrc|5SPh'\qX1BptBǎ( RUU0&ǧ3i^(kmLKm/Wh}$)> 3Zr[?کvU{KCvX|AWu^m?`W:vm "&;~*tM9A)-x}$kx}l/YfD'"g KgrէοrNi` u( Z%wm( Xm|#7+: (ך%}`7QRJ̆᧋T+.P͝{;sZ65^c<#JnyU xfOH&І%2n*|f7n;x9,I€teG-Wi/0 _tsdc, ʄ/0 J7M+y_A}Q_GW  Zew JGC02Y 26Lh:igJ~ܘ]Ñ7Rc1EXUFV%cۡAFMZdț8-t9s{`/kz/֧ u\|K[>N IvNUeyz0NC0. I7|iw{cM@ގ\ b2LKUwZܽ=kYƒq hղWJ5VUC $*o \jOЙҺX{!8%|Z-܈˙]{ˌnkWzWl<("\i{?qɽŋd9G ECyMl2Z/{ ʤ H4X^Oπb$ l]޻꽗$;OuT5:J_7x2_rdIlULa63=Qm5fY7v}>&$]&gH)6#w$ϥQ '*N1q.qM!{j{"Ҵ[ V9ca%K<^p@q- e e+4ŀnECp4 ɕo1ޚmgNѨ #232Z[ĝ/΋[ Z*Sޘ&͊^kWV*UAa`X!)F&KFVYc͡ԛ,ϜL6sL')(09 K!S$S:H)Ut$/S8E]NMX ȫs@!Q{FR%pHadn|6ږ^sgH/ $ؕ-ZE:sքٰ$>f\5 &9_z*[ Kb*UTjX?*%aIET8+IÒj:,ɰuaINsc&EnaIBL$#uհ$#a Zqj KegX?֭zUÒi#'gX?t,+%͂b ϚRrW#S%1OtSy:5uÒ հ$ޒE"սwC23)n~8< y6OwEi|;ou&zmzx{ CiJVw*1u]1W4芹J1:*vq{%[;kl%Lt++i;aw?b&|`gյnUeJg}*΢A}nВ:8fBdo.gD)Iw忽[IhVگIk'gIJ#p$xi2E(;G/mL[[ ZGJ?HTd*0:9i#Ukky#s~B>ԡ.N멧3~xƯ"^[:]ەsrA7$u.CjN;L2]n.>rƾ./l% =[Zů;PcMg3hDL_FEj1jn/#鈾@}FDpD_[lID[ToR!hA!ܝb͗M#YfOq9'e=Bzk{%˭ y~P,eŇụBQBR{^6 jk zWG4ޛ wi-h_mm/o %|Z ^&kae)[V0Xl&?qo4%vE1jEL7w\×<&EmԍF^DXa86 4IK9^ 8 .+ =FMN6 u;LLmz_FA>!y+-#!(f|lHSp`]tie,4hGiojkkU쀽ZAMp+ $$Y:՛(-@SK큄s:e48xqtwj[}=?0ۚ ٟ=/ctm]7UHVl|A $"AmpYk+e |y G=C:eO_τosgzTD&`< Gg8bOХVxz hCUD^ك/pT D%*%  G8?;Xf?jP}lL Œ&]3g5*a_[%']dɗQ:lqGA)Cqm Lf+4[~A%ߡS>`,`rP܍ - {[@{?Vo(t MőJ:^QuBPfp%{o/C Bȧ hg +V$P˟G'Hݣtw'QoS`vskie5N& AY ƟKB媍͟ީ<<9YTblp81S8Q NOCy|`zCH+K;t] NW?=+io/me3 w?Xe>5?/P>ݙE1=Xۏ0q&II>77?oO/0]~s_||Oe) Zٴd\n6ؤUj`1I3MLG !-6{C勧.qceш,& ထaJz}T@<#iۙMY(!F6JHJ!lK##.lG&x>lUĦW̕g[zM>D3eE@ikY2hCF@2do'}qN =sIE!YZ-&tAtnOM& X)ks{?`VQTk_|B.00.v2"_O?}T͢]_^N᷏'/⌋ING2b5*XGA)Tr5"ڰνr`ZE?w*anUmZ;k_cĘu{7q }/bIx*!H'Q:)֯4#_쫸ώ򣵎Ce4kƕZR_fhDLȱD[OʹhB |RՉWdk#?I2_=\C_E:_V>?T2ͱ.'0A H>f䏄&~EE4B|-@!?SMR)FE-y )zu51{ ,׌z WE/25ƋOl+ <'e&`'"y{K"?&:"L1&+:W8{J vT$ɠ̚"y)E?CjQnO}ދsUa|lDbwY7ZħJ{aYc>`Կ@6wIw0>$e&zIjN~i CĤ30v3.X;_vv'Ĝ^[ry)& AH"d! *Fb?[mDX Ƭ,fޅ,LC\p o'kDb}_v񒚤өZ0C #˧ݭN/GKQ8tCއg93J[~ 9QU L*#DKlKeZqmeϧ,/xԙӜ #Z6aG[T>Wdp%z^o`m&Eyp^$}pB59d/XI\eoIp8"L4NW+‹`0}8~9҂ gdwXi:0I*ƴl:kInL\a/+a9&"BK;Q{ JAOӫ{ X C4,ZVk^T8$H0d qh\LyÐ íٻ淔u(yEǞn5^:l9֊?;O gK5y#KDg*.\{5 f5qۘmW'[p>;˜x'^Jׁcg_=vI9,+'\^sƭӲ͡< ~@8oe0\!8Z:ƪԂl"JJaR[GkAk, ѳ/%rLeE!u\}|DX!^WbL s? Wm]bUFքb3Ϭc?__M9H$ P:XE/4VU–It郲I`hU!<)6!6@Wzlko_~;Y@l4I5x͖!¡{w 4zo7_$c- ޭg xNBu$k>m5竸^/64*lt`2Pl-&o +R:,P1h%n *@S TΐM~b 8' $FLE*TC>zh4[ ybKZ AR}`9`>Pm$S hL\1e3{3vj'/^΋sۋ8ƧPOI.hI %(*/V\eF^T3lq|sH09G}.bPēmB܉UHkN1BקEhbbe] =[U3X} p֫(ǤX1rh}06"dtXքlԹx 8a x-X 5wbʶɫt wf^Y{JJw@xP^]UF 8*&|ǿfK@" WuX.*WlĨ#:Cvݻ0)$r;Ftl>4Vb`4fZX)ewzs q͑|\H`ѭd[=ѿq:KyD I[Zحׯ ylVn!kfE.d€$O`EHY+6T`q !&VWaHo65לbcSk\5FhxHD֛ qSYxMy^i Pyarb gtń3- {>cGxM-ML,iL(`&!cQ,7˴F;mHjc̆UeQQ$Ee}JzAefUwW˅ _YFoNdEETlZn$,`QBO!OQ؈ SYW:"s EyQK{vQ@R"#KbߟםFpK.je~2 #m iU逑xpy?oe%¬L$ Yy0(r8#1yM9%oU@[TmON# 5FOzDvƌLBןƆpLKXgA: "^Db 0m`/Bϊ lfKl|0 l5۷ ҟ)߯ @=1aJ3H9N I&bm!DSWL  O}['yŰ1^9;ۃ<.L'X*fZi׫l#w# *p"̵:W,'%Z]*v|F+DW Te )+)0DTcK$E(+WދΙ.ՐlV{oeIV\Jɉ¦&(P_e#2}/6o֨2ӥ[VD FuZ`J[(.T))lqٙ®0PMa3/Vi?8y}>;oQؘ&̨

)e#Cy6LeHp0IS/n 5/]QH=GP\Tu⧟Wc@ku5jהTفWmꙇ&`G嬖DI ួXߗ!&#–g姝29^(Y"r EJhK9^$4AŚA`쑬1iveȦU%/ğn Ѹ<Ǵ U aqhez*>VR'od eOY- /JEcaۤEG֭|T ]ʅr6kXa|9VM*cwVd߱7>JH)uR4|DͱeBz{\ftY1Fy >)>"feP:)>JȚ mV:|{z/z`-#Y%R?^eP80lf5G7&-"Zw8W=lVe`/:# 2:#;sA91$G>S}xl R?UjNj\Lw@TVM|ǣlOʉ[8W%{K ٖD̬zF7%sX/%'Bt.+eKlfi8S#eaH1$bz*`*ŜP[y{|J.˧yjBAQ&SEQ*YлcG%uee774BJ$ήkɢٙdw>ߢˎ)̙E#"Y]˞#1m R!&[ٲ,"9-[융"_V޸Z3hVwaCI]ՒTZq!2n ?adHN8FJItC&Q2OU$6.3 -٠T7 RZ6N0Ki+SJM7"5bH=y)pF9 *$WjʙĂ$FI( )<ӓH4}<ǁbD1H@i(*`xXKc@`% cT˓£z$7-0d5䕆*)K?#SmCql- 8C4s@?H(+^fqڹAKg$a1l,;ɷQGUu5_vE*R4ʨMr(HVi&W.DdQ9 @@q(|1-l&Ѿ9H#!DI0U|@pA0EAui꩖*}_R]l|T]MSBЎM;~?uL( O|s_g3*Ԗ'xΛ ꑅ{tP? T85ی2K7%yC6əgD"{#}:5+=?e5PE#p-Ez7@y&9i)6b0˻H3%H#e䖺zў+;Tvѯ͝9_T.ٯ. $G=ZxV (u1;KY1E[v7wF seX'{T';Pa0YZ|X&Qc4>6ܷh)aE^#M\dy)]kYDfe06&Za2`#r4CMԞVOOK˞'#OmhB!PɽQ0t9C"'NHtگ.mm*;Z|[|!s*j ]W|9~OV|;E0((Y+<# &!adA6~޾߿|Mn9`Z F+6O DR4Ow^Gszd-F.{{zYvO7h*lN*s\Nf|pTel-O`'MIȖ'} 5|[)kyB?5}c}]}Œ]cp|/H٠靳.ѢO*h?]BA簻l yћI! fL|^4IpB.SF v^2cXa5R<1T[a\~rTeDzL O2hOG)X6b@75Kz.fXwR]W I(zԬxz[BG*>('_ %SHB1O_ԓ S>תٿWbi3VEM`Dtu70 WM4~H4;nF$IvHk"i0tY 6@_aO7` @vv*"/wQ~X}׎;b ,P9@s (6m;~%^605pE| vnD6 DZ,D!эHЎ;aQW5=wbmN<u}`a $˫y@u -pWD'[\הh]WbJ(ZɃ&\ ݄&}_/MAAz(REg$:wАb FƖN2qLa-((]fhvM^-C6,΂lR ľՂE݆~3Sm6H?xmPLr&hgKբBX=6ےbIM7a1,A D3`2/iύ{{;P\˚q(7OɉP5diWRGnBQF<l4#wڌ *^Ү:ڪ]}g:Vm Ӏyi~PZVJZ@[сz D+U9 "J)<L1vz VwtBK,#8(51`fj y)7A{w܂}g{^etH[W 80< îZ::kYE<#}S,q)ybiWQԡanif6&*6!$bSarRQ͡߼ H!U)van܎CGى->3By,u'zOqnM0G5Zo]f'G53; d(ҝ~ē+|f zgvhX D̍`1t|{j'w3puacWpĿAnd]fGf rIڟEB0 S]f::Nmqee()`H%`)@ &2;ev͈\&8RBLK  j0ӻ:NwtjTSSP L3쫒ͮ>3}fg䐠td3'<v]f̖aWݮ`;nqU.3'qlQ}->`w=3 ~0T ގ;@zɞ:zɞ6yC3+B*2i!-wWc%zL]&LJdkP^uW؅Hځ"FѾ0\7O莮_}Q(nA6_O6@ iSl=c{+N W%}c; Ù 0[<Ҁرś]=bo:znYDin&-JS#yq K#zv HI :U#à<,$ `v=a_%%w/[eN"6 T vOe}Ox5橲+(1mЬKXEwqP1lwL{_{a_l2e, ӷc@~ς"CO8l%HXL cLK?vA'[Du vuilJy|:Z$[&0ډm1c*s( Dff4iTj(M"6Te@e~; wՃch ^ ]3#bLEZ=]@zǁ:zǁxLB*AF3J`R{ 0gYs`M^ՈN4ɓ)mRv5]]:Amr% ISaOL$LG{Owu$IWd@13l'b̘ғM`V1\.r0]`Ȗe<+R!.aIƑgK0:ttCe.BKly`xE{<SwslGG9-2p4SUH*lIydu]OWmq%ڍD1U XT@D9>1{ @O_opy5b Mq0./ ~_gt&g> Kit`maYCgAW0qn8كx?M`:B9۲,EMuuC?gU2`{_n;Nb~*[-i@R!lO)#~2g+56lAr']0AEFY&LsLim`mPp #BĎD/YnY m@P(3rUq0NGxt:̽g)xkFFvB E)n~ṏw 84oIz,[s)*tH\Yy>VyW:mtq2M\dj͋]MF"ZI%9^NZ^q'6vR Ձ dRP;T/.#Lǟㅟyu>u*6kQLj17Q(Y{\с޼N шxWΈLFJ)=3#~lcΉd>=Η(sƃr͞txxo|2ENG}/A iL=H`7vއ)ț-N:IegЪsV5{}6[BLE Bv0[ ⎗nEDKLm%ʅ%n C/-AVK{,pv O!yB=߽c~1S Lr _?EF{w~> +IΨ8>;D:-snBݖiC`[r5ntpoÌ%n Y~u]Xi%144p9|Y  Ipo~oI2,30aӘ$rC`~1GGr+_UbHm] -W1LMt)ƚ +C04,K晿ڮm2D34jpqzS 2זmjzi۹~՛WdPBGm @Ֆ61jҺb IZdPKv$V)\;8,-^lm/DJQOJ_z n~FfGgLiuWu6M+؆:D;Q 6@@'w8}T+W"I DZL#y1w{Ιi N0-1V QƸT.7!l"LK s|iEH" u0z]ޙkMa4s(=( HNN5! 3jiggPr5TY%DEMr̔"} J g9SV-nKsY?ޫ7oh@"LH>pHMc>yGꣷ=Y;OVxd>yӃYYyl'IB+].9x'˦jO[l? !0f$ $L.^^qbmaF\ŭ5=.B=HBo§똯5ΘM_?4|+X9_ey1͙U%LVZݿW; GkŠ R/W[Wqb#)Cႚšt9JrW.ЬRuw)-XRH٨.ܴb&X fAbѯxYiuYQ}lq0AIf*=x|";:)mБpd * C4`dc;=G)aOLj4o2ZL  %$11'C 0L| HDL ?z=K^m|e}R%GS%fR`k[9䆑YѪ!JNe٪ڽA0ΐbY)?}~Əl*fuW~mVrkszM^9?߃A}ZǠDƑ-DyZƈύdl zSW%#0LzɿNE"xۦHu1^i7:5FG RhUIĸl J;<=@kxCS]!kNdVsPJCp(N?Oi¡LBi*ޞ(b} 7BV7UN]jK"à6O{NP,2B $Igo2 ûEYҶ)%a q# N 13Ezz]9&7$ {RR0`8abˎ[MJH#R^ĮK^$`&s{WKn"M:=tK3,̘vmR؀/K9jH#>S4eb9/(;J/,4t4( -12M}!#;F+ދLZ41!ҹ5D1m- Fȥ,&9'MƦ{$n%w)i4o }Ff t>p$i: OIfɿ: YׇͺdeCsGG(Ro*5F@UڹY'T`5W/mh J&4W/ww&ЫnRuͻ✟&7 v+or^ i5-j{@u{j* S7%@z287vν]z*Itŧuv;nkn&mbնyK)]Վ=[n^OѶ+b%EDWvKʵS̪]"lP$ ]l\@^GngFȞWh.nd!rX޽x!p~ec_߽/)z㻟B@UZ5p9pS>G )ǎ}{8U?/BDS$?X޺`&"aL3cٚO~b@KЫcD!!8ezxԔ .*ҏ1yh7&~xx0.`~NJ8eRv>ƌ4Sr^W7Ln*%aUy=`ٙn-?Na)0v/)u?^ӂ}{x?-5?Ē>!$hSK?EQ$zoSiHޛ7+lOA/`Ք6="* @ENӿLSkZu\f^R99*}S_~|?9Ip˼#\Y~ Ų?)sܟie)Fg2Q/Kv?gT3][pBx1|%GM;8) o!o,`y5o|浌?x}?q}wtr-Ο*/To-+}W4pD'_(!>DZ6(?g &HN4,3I϶@$c[Ķ$q-H$:IC{olsw5$[C׾)t|<^8.kH`R<\~eRhRB-ځx]kGI fz? D!><:/,ʿh%D_m♐5HwX=zZ:q*MQ8#BJMC 죎C:93OI/-\77(þ{s^g_CJoֱ:k?s!w_,B8;g_&#xΟ##e~_JWa߀4W~  78PB3pu#ͼQۑQ(Ϙi/"Ÿ9}4w1?pA"ĝF\XF~?11PUMv-²* mx?EwJ|8>1_A m{owu&qkʞlݳ=KC};+J_P@`do~U`ocȟcg !'1 $?VL|SkyJAz0C{<2xcbR[Xq[HxmX˟&<|gTz0Q5T0e_*1O[ #Hr,BÎ>E$>Zkq$Z }w]w %߮)\P▴<#-)y!OڒԃD|ɼ< Z~/<}jBO ?bEXފ>;(ETW"Q+y7cҦRtk GǼ-'mءļ<TTA3(^Xboۤh-LQqЇ= 74GŪE's!z}Aq$h):T%(+E=ћA,$Xw2f^m?} cQqP|S \/ggʢնѫm!e<}W)X .0PA b!i(@i=hU:?WD SoFEYPw%8M?`74XY4>e@ߐ2>T`X7zmj[YAԻ 0V7_};Zh zJy<5$xk$d8o/9 >vVmŜo|er9i6?gdI'!Nr"t,o9uQ'~NojXbW h7NȕOK*ҐaX wxԫm?@Ͼ+ϱĝ*-eu$[=ݧ"#H,RrﺘW7\!#1/K1SOrʳksD=<.rC&xRxH]Am{ƂyKceE~=sB@frf>P( *C @򏶂H ACϓ|6z-B3rx]X`~RPJ:䂜Gv#Yhx^xZog8]Th. s7 E#DŐ{@;='\=ĝ"ͷmWۖJH{WY1iJ4A`oc;`nط571_<\Vqw,";*4 *' t(UWoAE?]m}ڤ |(=9z_ھ'_4}Z cy7p+w! gu0BK<<NE} - >rђsC|;+cGynP"L+"GY9BboOKoK`شdr;!^]Y]iͦ7|8.0Q6/B;(TЃ<%dV~X,!^7bf؀Cݗ bmy 23#FG" Oo |ז}Ls"*\D@Bb(q4|C <P_YBgyi:(ZaGO9x 3OGyo G½ܧX3Tb ī+cxCCOA 4R8i,}CC~Lշ^'+19BU٩x*Aep@0 Pt4'}O 7BI0i&fMk@~>ϫBY9`h0EWڢp:R nZwFZ!ڪ7A &e>lp^$XTh{?H_+W$% LZ<%I)` GhE;Sp: ԾEWj-jv՚eA,y7^(a'`ɢ@$lQFhQQ=)yoT_q.hAg"0 co@$H=p'CED ?XhAx\b-䓈/4|s#@mzOk_INc$Ouِ~ i>)5j)-7XМ@?" IEYE#_+-<:VO,ѱ@+ )NN gcIi{s# OPܻIB*5*7} IwOo {np0`Ð,:Fxe _E}#!4>D*0ķ|rmO[ - oF89M>i"h2!NS@S?vCX}5L7=PV,VO_)`}yW(`JVھ /$} 2r{ pܳhe%wެJLi  σ{+UtELL8l/Do3N7\6]ibzãfm&Ul3Qoq_izRL󿷙^!fz#RL,?6[^fzJLoq_eO0gfzCRLoq`?JBN W HB@➑?Bޠtwz'*Z["?XaT>})P{Yqx s}r[a&H%>؝ ,?[j7~e.S'^_tf:e_)NI%ڠbP}08MCq7?o5H.gaA}@oCx:.ѷ.·w nj wއt}%!?|7s%}nqEҾO7DʽC~>&"˽iyʴ2$`uڵC?rc]8\|=^O{4Py[+> /aaV;֧]gzWY6*v7m9+YX{W{_ |(A>~)ۧ2Fhaowj |)?HyAkB Cc4s_eX҇>/C>u`4qO]4IyI^ o?dSn-yU|vw$9}?IK2n4=})7x'-Ƞ}Pun4֧{_qU92qI'^D_m #o$JHpBA` <+<}N1UXy!DB̃#x$~8!1~!f) XnA9T_  # p]m*6o_(-MrJ14DK-W&bؾLmx-Ne2 o;>}AIǙTq&g,HE2l4u>t8y|:t GY('+)F3$hSAuxCsn˫Eù^ק.~ 8??#O@DPHDTCaܭ8t&h{~jdx2wG5^|_!y [+D1wIC;Dza~%g D>G>^FM`O?^i2B~ߝʰ}x~l:9^~'Yۥ*i}YNU߾2r2 a؉S:>TCz wM]_;BL;4UaꝞD#,NWt#>|)P~žWǧk3li#a}kwK E>n=!rPB=75_*ع4DL&8T]?Ͽ/O.OCh}\vq}^5mj ?C?mZFQpzg"럊??и~nE^9GPqk7zA$f!{x~h'>[4R=__r@XC7`~7CU$?Űk?+Ϝ}A}9ùʀ,'{ɠG,>f%'v4L }s ,J)8%mfްɃKm מ&#ɮyũ>6dB.ɼtXT_ ܤT`d6(n7F9Sri43_&ҧ(ȹ3ͫ0rn;dn> 4hthh1vɦ!g9*tvxOQ'cHl dSXŝQcmi2l-e>h!1Z O,iL>>~*w3=MxfC׹AKD* 8 )яō_(iY|+G:bpf֝$7 wi{m_rkvgE_3f ylH V01SM 6"b]OFMs=RނV7kij 6sbp^'bP4/A. _O`?RM,E6u58PqZ_Ğ,쭏 <.e֡~.?'H[^th_rv´fqh NF.~wB;]-uc8.f{Rβ=*LRELE;Oi P#8Ǐ%SʚfdQn֗Vꑗ rb+Op#lh3JɈȊ3ꄑmіF I &|ĂAOTy"R1]hZИ&.h%#<ɵ(T ]r 5[ZaRQ.}ߵ]:dhkf滥1үS=#[Ǧ4)s7'r(N ^ jym$ư]8ȳvHt{|;(fmg؂b82b+TH]o5qAoI+Fy %A0j"q.ɡi1kFv qyZ|.,k.PkySn& )&ԊA8C[E;aGv>P[9q8N:iﵾmΧZYl& V4ˎ"kD.}s)޹WܫhrD%6hEn'٩ht0G)~:żt qp'x;zݖBhy yOWզ0,e\ʞg:P \a-aj}``T7춯QI (i$V6['tQ:^y(0rjJ3|%jpܘfYBJA(h7?ʵЪ<릿8 .;eYgg3|JT# S̉/HTu\Nrxof*C> fPt^TY.ڢbŘ FMvG kBj-5v@ܫ;|;e7+y_aE,~#ɒw:[u;&p{#hik(ex8.M1 YKk e.6$X"ULy k|Ra2-=\,ggr^uꨅXKɐH8֕5XNTUvTG^(rn:#|e!bBу.G5ZwUv\2Y 6LfqZ.媑!ug'C[X> S;nyW' YcBEMjƋkt(hly|ȏ/QC1kq#ؘ͐Y$B1s>"pƋa'9WLHJ/am2?Nj.ೀ* PB`EYes z >yyphG'/kL9A<1Idv/Π͌MәoC6i^FjU \rͼ5RUO9bٴAcWޞ=?KX\C<⹋p8W/jSu5bq^Ihw0euR!/,J11'Z~D%h. q{F`ŔxdzڟvW߹gO7yUղQV8-eJ>z։T M S*z`` &py*47 v-zϭA0~9 naX_ SeSMtcEyr>4fP--T8Qm33̍+Hy!e A5Rp|^]ӌj\ݧPSYpz-a}3i㭘b9=^>/'g@0\7TjD+%rA1 p|]{i͢?k5fκn tąE(sY9ف΋¤y!҂V4&u)U\< !)IS0-ڕ{QnKliyUz\k38&!c{Y'6 b#k;^AGV8v= 0cLJ6t:%˯(.~ `4O buVG {ZJeQS fG+ Je+F-Unx] >g;q <~,adJe13֑D8^jYӐ*wq41Ebks6i>6y8i@59IMng[xoUR8f,񃅶Bl c~$r MF\±s'/<&! mp2nM#R$Q5/lQQT2d®+k1;.U8r_U5<5bҤaYxqg .aufRL"S9j"8A Y4y[awBwۓ:0iќm*w4pe}.5cڢtNn*1A$ɢ/2q4im6N# ON?&1E1L*ݙ O"za۪5? 1+ˮfj|Y0 W0*bYP1z$D/vٙi`@iɁ BOa4jn9D fxJpgC^CWknܠmq21v833$WtcSZI 5VvL#OC/2/GE/v^o;up+tX^:^!:\ڢ/k?/vK;-.Av1IJY,p K =\DS܋ªr`4Fh*fKj$*KQݮ^⁞\Y52uꁨCէ loU> :C@ Y鹴1dkXzKU ٔgmA~=ZM!L-}S^>v@TT*wDz)Iq,M,[CQ۱8eѣU8c+jQtn8CMDG3ali4gI3-}QgQp[LUff~,%Ɲ"ήquS{ٕxY,2T&Cs\'"|2ϛL{_  S+w-TzkR2EUƀ񇔴 ! "XG^O}M0ԙk T5ЎXea)Ur[+ݮ  KAWSPx Utu>R&\\'+%2&_j^P}96ȎuXm9qh,n@g0_څjԵ<qV'&d.~b˛ .w2: #D;@ <.yi(8tPyaxSp}G6FgEo5 {BNF`B^Yhj?wl,B<:6SjO$V<ϱxqISYQvtcpAl\m;R$02q݉<ޞ 2;mJ kM|%~ meII 9e-B;[F6&/p8 .1\A8W -)%8قթ364 T@ $z1UN< 89 ]h gnu^LfS@y9ͪԼ>]Bo -Dq/4" :-*\h'dE+nl$͍DuvX5Nh CDC8t|qdk~! ̚<%k[8x3+˝!+n{q򥐴.MB#̉ FEҬל,Vxť1ukܪIiذvVlEXW=Ziɏ%b6򂉋M awܔZsgf}fVDK:y`2 F 0*Id豁CR0u]."[nAtYBQKN2t(ez28FAz5"sa};\¥B+t*~QJnJ^@6SsWa U1ne*D<%5Q2L\\Eov&+.mx 쁖7e=< „ vt?(n$9z\h荜#w|7Fn_8z,\>ь6C2h)XQ_ꭂ$>Nܜ sȑ x5PfvN7-e2Ĥ$ސ1M^t.G6Un]X{:w;>Bk򥺚8'Rh!de-* (`3VI`Gkt{hП,6X"n;~H,_%e\5 19Bm yByk/+sҐ6sQ'pFW]c*|nHTRh{hA72iZ>)DW 9c6b5O9ԣЅB܅i)+u(uC0 Z)B '. T~Q :Oja"]v_n=K &΀j3=t+|.Oa7yPnBDԮՠl6n =be6Bb :tS5ޱ] XwpsiN b*\pr9_U,K[lh> v {iWIٕ k]î&wAx.PH/W鄪6+ދ_cp9\^ F{uDwu@QaY]~kR[ mHHYn[YA{wLʖ%uG>8E'kĤjvK˙:UYBLui^Ivx\{ ݵ~Yp}efADž Mc瘝 2~qqiRhTsU\ mAZegz,zvuF~kI\C%WwCV1d,@|bSgF$T\WꔭK챈J#~^BRx uV 26O06.GQQ:W)3#MW;]#AXѮjs䄍eܕ[f5B bZL/HOH:lFKLkgԟ5{3ʹD5QW GEpAn3e&@ϫ|ڽ92id!8ַGlZdH6.srS ^Gc;(|(7nS@PJvP;4VǷ<4ZAv=uxDM.8uyJK{q ##FPN[+cNpU<5hMj$`z @i'Ҕp$?e4 "c#dYx2Ml  DPSCFd> /~:ayFkODQR( NF9siӅAΙlctixbsVbZnNBGdUchכ+4>]P $uN3=@Ug8^^[/,:Ӌ0m@ct@[o7"p036جE1u#k̩&˶qdڹ9;iDLRcZtp3SPh8vpNJ۰K%J2 ~ey0q&6>+#lC1'Ϋ]a.N5r)'urO5FDiQ.T2ӏ;[I=J-g캔o*jxrPel[n#4YؖHjT IJf7!AQȗz?h#*W,O1٩UQq_Tx<|*MIO^'1Rf4jU>ܷjI:蠶Ԧ:/s[,mG3!QHng?':{3)Tutq5hN>ubYTt8fI\Ą^hfD8;LT^675ϕ&c-1_8h87ECzxdw'u/ϓ舕&ItrwF޴Q$K+X]foU3fZ ŗ6V Q=m*gys<UXV^ V?ie01xim2IR/F|ow/'S(Gg?+2=\bt/ \]9WFd tGo*%urN3!-\Y{^ӝ'^ ̨T[3o(|Tz{OY4 Ka8 U}u#..;9)QxkRo'go B8zDMrũ"T>A^p1mes\nkd)[bSP/qnV&I oeY?.f" +r;OXX_5=Ad6!CDsdyv^p݉a6E#YjXu=+LϜxEQ4snT*}kOsp[<+,QM AK7r^"W}/S=-kۍ~jh$@aވ%ss&NI*5e?G`k(\/Uu.ݰg-ڛ@W ?oʫ&ohG'|Mw\0 J:VMڅ\)'=ztFaIgW~^'%Z@Hp#gt8+sf EqsZ?v,N382n%Ǝeh ;El04e;;M2J%6=ܤ4Kca]܎[q-?Zm./)D{:a䷾v;c֭NjbuHv]Q+b'Ϭ,F_;ͻh`ͥ˞ً!L@! xljk1IY|nz#լXFӷpہ 9e%| a(a"cOC!+cUۇdI>yp!.pلkj]V9k힆K\k~U)(!7;?ڠekCd9~aQB٤1G>o_I?fڤhO ΞewMtS8L3˝Cϼ!Y{voΔߎ2Wįw.ub:oBnmqU?Ol9l$vL}".G&sezRUoTZS%#F(E! GBe4%8hp:+(6&6K08ϞJd`5\e`+~W48ڝ :RPȚ˒mɠ`xw^S`*S ;8e\4e CϚa鷬+eТz%jVBǮ%np]&-)"$af39Th$M(,}:K wβ $]0uuF$S[1*iΰWjw4@ EM E2ۛѷuSG'֏ F&Wv7箅0ͤ ܌At7e2,֓_@ F69μ"|..փ\ O}:2V)t+393ɢ`Gl7DdFP|Z?P҈MaG<{0= P :VëSK͛4!6F?CCͅu28M㱎K*47*c9D?糭Jd \|?r^sf*UӻI%7kH"ShLy>[== 4dV_.*8v 4d@&辮l[)у<,?YFܡ l`(*L$yV;˽FZ\ŻʿL%"7((-}}}\m(5H Wvmy͞HCa3t c ɇRgKI`7ճ[o5L>li} =ܪ"p4Jk gyCqe^2% 'H e7(@k hb@Nw?*Gg$tzB2 Td-AklS*5&oPo^\5bTBd15sxsE,ښ>szoSG |KrτyJ,*oH=oo)&%-[mϥ|*յA>G>>{fٻ/ p)V9DE†wA3Mn dmAs8c5<|`I_V>OW{8`0vì, Z06+휫 S^({g ž +W6W񊱣-`H#N Ζ6$.Mx]1 ^`C9 v>d`;N,sg_/`,ȹy;n^ߴsy "Rr̆0nU m>-):sTWIqf#IުnlڠO;7%}'G<5'ӕ~QӨDVAZJRxh5"\z= eu]=S~gqnzTeCW5.ߛ2OA1ϥTK fk:'.4e=*%=2 z\#]72h(AL.vƓx<男S21H%S=fx:>Z6T*m 0O0SnjS.JO( -9M~y|h3Аe&9"K(C7MEXf# JaF1m22_X e5nge w5)lI!}T{@ X҇]s"0*sB 0e@xua[B_:Gp){E=Y߹jVXdt Zcs3Y[X7]UZm<{oc7ENۦN.SO+c\rr q#o&M*<:H-u] f J M2WSFLyUZmŴ ?'n|P*=)EzG45%Va& 0NjEAs(әynqv.#՛H.&G#|,Cm_CK= $eh$;#m]7pI L}{]aR ?tU& # NwCvR$aP $\ |]elime?TAU8-$JmY(<d>*ugAf)B͇G0э9q_V&è$T dQ^ B:BP;uR<_LofHTsQdEDs_ZWЉ h, 2^ͼwEC&oCIHo% 蝅iF?H@r{vThaGr7ya'|$a3iuҊ/?/@L!%)Agf.1;~RV' 2 5S"G!dTP(;R,>39A6uS^q/\G=|0zvKxkPf;x"@^FvSPImDx6d8i_;q,yp^:=/5( WH{i`9;"XȕRR!^*%At4?pl7pHx>k$NX9wp`Ke;9Ž &Zwnԗx0U9Fظk`3[gyjOXa=m{v~TQ↻x.m2\{"=m&m9Eb☽nˌi 4j ChMs#!X*BX!v#&e.+<!@O歘J߻ ~խۏ7I &>a:~X%㴈\j6(U \#{i4j0/d ^- o)'vu^S7 WSXA^s5?PR?u:lS=޷A\ꁧK 2->0rINs.#}Jo3ߞ;m䃆Rxb\a>ݥ uŧ6f\)C~P3'$u sKG؏˻Gvt7㽝ʳ :Bd4y*b„GxWn{pWsJhx847s :B.ƶ;cΛXQTr20qdgx µhz@%sX#L\G?+8-0r@}{K[ NSIlԕ-9Fh(1Hp sO ![zۇӰcB,2cfX_dMI@9aƲeT?DV^E\Ur*QG]'8հ qn7gѮίAσzjZeZ/,SŜn?NnXWU i|L;Fs43 S.4* Ysj dW[;Tw߿otQ('+ZM$B`$D%ckBRjeV}F,G7Q#w@`n==b 1k9*.F\ke>W_XyKqTu^ayݵhe!l\ 50 d>hٝ2VBoYZUxC-cfJ|VLQ+)mw/I#YI\-4ݔi(^V(!bc_8~1^*Z 2Jl- TA-(w :m-R51R? c9%wQ ]%oRtL4mVqgB!їKBeZHV`Ɯ.L9zQ3&HVHN`H~?LkmvWtkkl%OVRXv47ٛ!YS횅&`wї=MvCnLGbP` ytwUڞ ٷn)&A:>Zx|ݣ^a6n8 zU-{<ܵs3FMZH9iIR -w~Ιp >?d"]`F) >5=EguC"PKqx)V$PRuT##J͸vp^ XneB7rvYgv’H+ w1@@Y _3"nLƶmv)H-`N ÅQЋ3fsDk[w2l1rG \5qI! "`d 8DWO=pVtx/(xmsvodJgv%E/`luR(P2u4 \x 3~yU*V̞`iytlBNO_x7nn(<1C?"DzXZ&5%v]C1ӝ Sv7a']!=LU)|Pgt8e[)S~AFf]{ʕ( 5::ٱyդϗw.QM^5\ D%};5m(N2oH 󴻛JP9Tij6w#n6=_u[V5l dQݏwvq)}D'TDV@T`kj]A3SDdC,)mzH׵K.e zw)[e"=ؓ:׭X2z%+ό# w<6bVE٧0{?Pp9_GZlX \VwaYBCP̢6(DQQٵfhd76ܐ 'ֆCt= iъOu%tSfB:͐lK[t%ڶ%Z_:{iC;b73wݘm5"HXM8uʧ⸼XsķkTf,b#QRZjIf J:F'=wb#fCmBjTwh})3[Nv݌$X@;9h!3ZAYF' 2p1cp\6^I'7!DPȌR5bL~lݫ{B㉧cA fxUCUi7e74Ź5@X\M6(55i=+/J 99y,F35՘LeMbG>Ȝڣt\pg246p5Zo)=Q](%ih\EbTE֩3wpFz$U^D_oGGb2`F!cci 22ϴeRѰ/oB[}AC2.py;ϯQzٱ=I-Iv}Ifz 3%lycγWb\Q@:H QE v|I震-uJ6 ia< ƄA20THoPgNŦ8pv/R}g几tҜ+VnW+2FkEEz dguni:&:k>ޢ@+d=6g~4hH Б>:]gPuwհܩ?v\څSQ+OvΎȄ˲u9Qbk6=5tMOHJǬB[E98M4(I\2aB#j8d@[Ne0KRcDV6M*-/zc fSeِԝDL?g-3I 歉2S0=+%zo*1k?xI)ܐ)'Dɪvrўg@-)ocu @T+hpۭ&itvKr\1w-g:F| u$y׶xٮbɌ*܇wSfD\OCy5y2(P ?:>@~'- >dE8pԦHg25<">Lؾټ;Ps9y&S?ֻ:oO wsk g~YOϻ˱+=ýPb?Toy-x8Ïϣ)z!qr9%͟|cB(A@1xd?}io?_e9>}Cߚ^T1K_z-<}W¯=}f~o=qo>'Ͼ?o~q*u6o9hoQ?:GTIEA=??gW}o_w o獪&6U_7I^o<&埯_>bDB/4_>8{i,jS=?7/ :GnpK~#HP/˰{GwsRͫ6Q)aic~<.}9j]Seqi #p[;j~=%0j 慠IOX?QcH~n!CP@$BapġW? K4~+csFG'`(s xf0V@bC A8@,Bq ӟ8to2'|AQƉo%ZǑ(Q@?a8,p7`sg(I}gI%h.'`zC1p C2DKHMNจH}"Ap˽AGXA`$_@o1Π &(%3tHI#>̢ K.Y(hhH}gAQp 뇥~z[z!1"O,(>1`3o[6yQŗp T ]h 〬P#-Ű%4,rQZ J{p߯c`o ]€S F.?-@`nIO@d> t],€ޢa/Jxi0bbX J|x r4 .#b -R ȏcpzQ"9zW/,N|8pa}AS売.=i"gD@^HP(aeAQ$c\{9:?K5M4ZK.Z!ȓҋy 2(K[p(N,(tj@GH/{M/k&Qa(aL0 FQKUxd "\`Xbp5vYYkAhpG8[ ,4 ^`vV}/yM!K-hK̤uBs{'r{':X _/CNws?}$g8GZox::o}I!uC,%\:r%QH#`I-y޳+2/XH׉fAz %s1̎pr/ˬ06%d_W@fU5?vdR@$0%j( Ē.g)A2R ~9lgޯ-þoo1 _*i Ƿi%?Nis7{;O~~G-XnW~ky/> b7`_Oak4S]&00uǯ2- O$T7BTy|g/CsȚ(v'wpe_u ?/~N-|-/y;,ڛ4_ְ c9-(?tb#ÙO$$PlYq!_h$0M)8$C,0[ a'| ȯIbO2Ѿ̔/4pF| -k=K19O-زe|C|Gc?8Пl̷skb@]A?~$ȿ_FCH9RPߟo *)ߗ~䓿>_luY0ϰoJA#˲ǽr/ R gk4Geewn`9Rcoa^: o?5iƺj@Qh[UDH(i*!hjQ+@GtIUכO:HԟԞ~C<,g16e6'˟nUyíRB8^8.eH]oQL29(CzO{/?fUKimKuۤR?Hx ($^(enܲKuHUPWUvgXn  YX!>ako]l;{ js ނƓ RE/U25Z[P l$-Xf J,هa?n8'e~7࿿9,{IrR(¯U(li?~"Cp$e; . Áүu(mkO XH]l m쉴 @I}ך5A/і^s? /dev/null)" ]; then echo "Error: png2ico not found." exit 1 fi function generateIcon { echo "Generating icon from files ${1}.png in ${PNG_DIR}." png2ico "${1}.ico" $(find "${PNG_DIR}" -name "${1}.png" | grep -v 2[25]) } generateIcon qelectrotech generateIcon application-x-qet-element generateIcon application-x-qet-project qelectrotech-0.22+svn897/ico/windows_icon/qelectrotech.ico0000644000175000017500000007753611201106626023546 0ustar laurentlaurent V00h(L@@(6i( @w5LMM5 th!'+T9$fffa(O$:::a)nJxNrrr[[[000q8DDDTTT!"":+++555V>*#O4''''@@@nnnnG6*02v8PPPGLOs7agh59;WWWccc$$$t5 ...333777RRRhhhoH5 ,,,///111888;;;QQQSSSUUUVVVeee!&*t82X ܯDFG///W8*y ||)))))))))|WQh`*74EhЃgʥMg*bc%%KKr_I*7TEgϨM<<~~~*hfZmMMJ*څpg9שȤl#*֏M~<~")ǔ*\hw_환"𖕕Lɣn 13jM>>HHHRRRI6*]&|||,***BAAuuuҁ<y:BFGy7 $$$888<<<FFFLLL=ABQPPЄf_+9?C!!!###%%%&&&(((+++,,,...+ 555777;;;@@@BBBCCCEEEGGGOOO{{{^++ 0L)  b~+ijX??????hhhhhhh^ =rbᛛ:ᛑᛑᛄ>=%񕕕>`ee<<<<ꉉ<_x=e<<___͐4x=v?eeTxugflj_Εbᑑ^x<<5eƮ:ᐐdbf_x!g>V<ʔ_Ɉᐠ^^dʞb>xWgCŒ^ǐȉX_ƞd;܈X bx`S|5㓑ו^rԔb>ӝGp^V^ɓ_^ V>ӝs`<__X Ʉd cdb>ox=u__^VÉܚdboxuqee_ʋ ^CXdb>ӝuEӝuF_`__ᡇ dd^^`Eӝ__ dd X͐5$6ᄓVVVIyrPh -,9Sᑑ >?%5wzJYtb>1k#*<_5t^^ddd>K&O]@_!^^ d;f^ddK&O]@Z__^^^ da^K&O]@Z^^^ dddp K&O]@R\^ dd;x^ D([QjXXX/' ^ 8AN"2^ dddplmW_a^܇ܞ;^^!yl37Sb.֜nvb?????b???Bx{???( @zzz@@??E(=== ;;;&)///0///&9?$)*65 TQ13PH84L.:@/ G+FLLJ/;AA(8OO4<20 C 7H$4# '>K@KK-56!/%.)/P+?D,0B"I8NN //M'A>%)@@)?RS@K(Hy8KRVrzP,)))9X;!ⷪ|mfQ¤rQNj7iL<5>Blll˴Dмs`h(E^^^łir*Z)g>FFGy>y[Ewvv? 333`D1ūO"Ԅ>l>["W9.guG=e.s5R\bƫY.WWWeee $)o;`9@@@MMMS%999˳i.|8x~܈AF$$$...qqqT5v!RRRn4OW]΁=U'E{{{vd*a-Z_c"&* >F"M2bbLS"0 8BGlH; X[u!)Amkvo_)Amkvo_ ]]]  X[u!?{{S'f4]]]]]]ţţ444444444444444]4ZZZZZ8BG^4xZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ WM`ȢiP'P4KKKKKKKKKyyyyyyyyyyyyyWWWWWWWWWWWWWWWWWWWWKKKWM`"ƒP5 KKKKKKKKKKyyyyyyyyyyyWWWWWWWWWWWWWۖKKWM*`"d^^5WWWWWWꙙ\\\\\\\\\\\\\\\\\\KKW*`"iP(QQ(~'PPPPPPPPPPP^{^{~KKWP**`"dy^5f yyyyyyyyyyWWWWWWWWWԮxږ4KKWP*`"y4h^5hfKKKyyyyyyyyyyWWWWWWږ\ڲ&ꮲKKWPڂ`"yh^^5hhhfKyyyyyyyyWWWWWWWWWWxKKWL`"bh5hhhKKyyyyyyWWWWWWWܖ\{^ڲ7U>ꮲKKW`"bM퇩hhhyyyyyyyyyWWWWWWWWWW\^\\\\\\\\\ZxKW"`"bM ((f]yWWWxTp^xKWOM"`b'{QQQQ-SSSSSSSSؐؐ'ڲx^\/3C.^xKKWM"`bM5Pff {ږ겐\x^ͥ\\\\3KKWM"`bMWfShyyyyyyyyWWWWWWWWWS\ۖ\~^^^^^^^^^KKW2ư"`bM]ffyyyyyyyWWWWWWWWWWS\ڲ\xxxxxxxxx͞͞͞Z5KKWư"`bMWfhfyyyyyyyyWWWWWWWWS\ꙙꙙ\^KKWPcư"`bM"WХSyyyWWWWWWW\W\ꙙ\\\^KKi"`b"ܪyy WyyWWWWWWW\\K'ꙙ\\\\\^Z\4KKW i"`bMߤ]yWՕWWWWWWWڙز\\\ܓꙙ\\\\\\\\\ZٙKKW "`bMܪf{]yKWWWWWWWڙh'y݉\\\\\\\\\\\\\\\\KKW噢"`bME QŰ^KKܖ WWWWWWWWWزڲx\'\ܲPꙙ\\\\\\\\\\\xZ\\KKWb"`bE f'5WhWWWWWWۖ\xx\']͞Z\\\\\\\\\\\\\\xZ\KKWE"`Fb fh4]QW]5WWWWWWۖWؐS'''\\\\\\\\\\\xZKKW1E"`Fµ fff(4f(yWܩ4WWW\'Z\\\\\\'y xxxZ\\\\\\\\\\\x貲fKKWE"`Fbi 4ffff(f܇f{WWWW\x\\'͐\\x'Z\\\\\\\\xx5貲KKW"`Fbi f( KyWWږ\x݇ԙh\\\'Z\\\\𲲲xxxͥxxKKW\"`Fݣf4hKy܉5WWx\x\fx\\Z\\xxxxxxx5xxKKW\"`FMݣ44 WWWۖږ\ꙙ\؉Sx\\\\\Z\xxxxxxxx5xKKWP\"`FMݣ4]]زWWW\xxW\\\'貲xxxxxxxxxxxx5xKKW\"`F]4ţ]WWWWۖ\\\\\\\\\貲xxxxxxxxxxxKKW岿""`F]444WWW겐\\\\\\\\\\'xxxxxxxxx5KKW`"`F*]444]W͙ۖ\\\\\xxxxxxxxx͞ZKKW"`F1*ԅ]ţ]ܖ꙲\\\\x\Zxxxxxxxxx͞͞ZKKW0"`1\ţ]P'\\xhP^鲲טxxxxxxx͞͞ͼZKKW岌"`1*ţ]]Ky''\\WKZ]xxxZxxxxxͼ͞ZZZhKKW"`F1\]Sy^ꙙx'\\hx~xxZxxx͞͞ZZZZZKKWs"`FLK]]]~]Ky\ꙙx'Z\\xP\]5xxxZxx͞ZZZZZZKWPxF"`F*L]]] {ڮڬꙙxZ]ZxW'͞ZZZZZhZZKKWxF"`F*K ]]]Kfꙙ''xͪ^^Zx凓͞ZZZZZZZZZKKWxF"`Fb*K ꙙ'5xxKZxxKZZZZZZZZZZZZKKWPx"`Fb* K(KKWꙙ\'Z\\\Z'x 5Zhyx͘ZZZZZZZZZZZ5xxKKWPx"`Fb*OxK hWyؙ\\x'Z\xZxͪ͞ZZZZZZZZZZx5xfKKW"`Fb*xK K{PyWQԙ\'Z\x^xxx {xZZZZZZZZxxx5貲KKW"`Fb*2xK ݅K{ Pꙙꙙ\\\\'Z\ZSK͞ZZZZZZZZxxxxxZ\\fKKP"`Fb*2xK ݅KK~Kꙙ\\\\\\Z\xxZ͞͞ZZZZZZZZxxx\fKWP"`Fb*2K ݅KKW'\ꙙ\\\Zx͞Z輞͞PZZZZZZxx\\\^fKKP"`Fb*x KKKې\ꙙ\\\\\\Zxxxxxxx͞͞8PZZZZZxx\\\\\\^fKKP"`Fb*c݅KKKW\ꙙԙ\\\\'貲xxxx͞͞PZZZZZxx\\ԙ\KKP"`Fb*Z݅KKy'ꙙ\\\\\\\'xxxxx͞͞PZZZxxxx\\\\\ꙮfKKPZd"`Fb*ÞyKW4PQP\\\\\\xxxx͘ݞZPZZxx\\fKKWPd"`F*cxyKK\f{\\\\xxxZfݣPZZPZ>xxx\\\\WfPZ"`F*c\yKKy~^WyKꙙ\\\\\\xxxZZڹZZZZPxxx\\\fKKPZ"`F*yKKKy]5\\\\\\\'xx]PZyZxxx\\\yfKP"`yKKKKW5K'\ꥅ\\\\\\טxxxZ'P\\ZZZPxx\\\KPx-"`*2KKKKPyh\h\\\\\Z'^8ډ\ZZK]xx\ږWyKfKP-"`F2KKWWWK\ꙙ\\\\\PPZZx\\WWWP-"`FWKyW\h󙬣\\\\\\\WZZZZZ͇ZZPxx\\WyPW\yP\"`F yyWWShٙꙙ\\\\\xxxx'ײZZZx\\ yKKWP"`F OyyyWי\'f\\\\\xxxxKhZ^Zx\\\"QS^55hP"` OyyyyWWK\\ꇩ\ꙙ\\\\\\\xxxxZZSZZ艘\\\Z ܲyPq"` WyyyWWۇ''ԙ\\\\xxxx͞Z'ZZZ\y\ZxxxPWq"` WyyWZ\ꙙ\\\\\\xxxxx͞Z\yZZZ\\W\xxxxxxx͘'PWq" WyWWײ\\\\\\𲲲xxxxx͞ZZZZZZZ\\ڞxxxxxxZPy" ]WWW\'ꙙ\\\\xxxxxxx͞ZZZZZxZ\\\Z\xxxxxxxfPKYj|wz'yxZ\\\\\ZZZZZZZ蘘ZZ\\ܘԲxxxxxxKڇ#JII+D$RSSSSSؐ''~\\\\S׉׉剉PPPPPPP剉(Z\ۘ\xxxxxxyKPtNVm%n\S\\\xxx͞x\\\fx蘘\ZԲxxxxxPtNVm%}\5'\\xxxxx͞ZZZZxxx\\\xxx\KPtNVm%}ꙙ\ꉥx\\xxxxx͞ZZZZZZZxxx\\\xxx(PtNVm%}ܖ\xxxxxxx͞ZZZZZx\\xxx(yPWtNVm%}ꙙ\\\xxxx͞ZZZZxx\\\Zxx\WKۇtNVm%}ږꙙ\\\\xxxxͼZZZZZxx\\ܘ ڇtNVm%\\\\xxxxx͞ZZZZZZZZZx\\ڙZyy(NVm%g^^^^^^^^^^쥥5555555hhh55^^^WKyytNVm%\\\\\\\xx͞͞͞ZZZZZZ蘘Zx\yyPyWtNVm%}ۖܖꙙ\\\\򲲲xxxxx͞ZZZZZxxx\\ݐKKKKytNVm%WWWWW\\\xxxxx͞͞ZZZZZxx\\yfֶ<:mA@9r 5P=,e 64s*Q0FMؓ` E"cq{a2F"sOESsM*O'FďP0cb0Lid`M" MǪȅȅQP?????(@̀=PPPD+L$¤rm\Z+iiiķ048~ZNd>Ѯ\4n1kFAAAĨQ3"uuu~T6#(+bKV)̵hD+p5l5c5G-...:::{{{onoN,V$rbcefl4`/ ϶222666Ǭj.`Jyrq7;?]M===ƺrrr~~~lllU'o5?68:\0z~~-01p_l6,,,444wwwyyyeC*G/%'*pppeffźø---///555777999;;;<<<>>>@@@hhhkkkmmmqqqssstttn]vvvzzz|||}}}T G M)-,L*+gggg9" }Nˬ&&&&&&&&&&&&&&ssssssssssl&RwIDosPRRRRR1jńǸwxDsń88ăPPP‚111111>gł1 oWf_.xmoW1ʸ.x<ӓg8PP‚11111ɼ;(K~W>fSS7xol1‚111RɀjjakH2fS13Օx{33XכvvvקoomRfɬggggggːffS[̸m1RRjfS1Yll?f1v1111Ro>2fSĜT4l?ˎ1v1111RRo>>>>fS13T?sS8111RRRo>j>>>%%fS13Ts?s&2foRRRRos>>jjjfS1T`&g11pRR>j>pg>jjjiVif5yTJ`&lSm>g1m%v%<%jVfSzTJg&łm>Ӗjl枠%%==fS]zTJpp>jjvi%%%ifS6TfgWpm>Dӟˠl%%iifSTffܨlm>8li%%͞iiifSTJ^f¾vjm>%%͞i=ifS\\TJƎƄ¿omji=ihfSTwJ5Ƅjj%%%ii?i%VfS1P{TwJބS8g>mjj1iiiiijfSSPzTwJ8S8S>>o8l?%j>>>f13TwJ]8ł18>>%ji϶iɝlj>WfS1P]wۃŃ?D<>後f13YݹwJPăɎP3R>>>%?D>>g?1fS13|wJƒ1ӡס>>jiim%18f1317޹wJ{1m׼j>j%ml=&j%ӀR1PfS15wJ،1o>j%%%Œ&ij><ט?fS1BCO!q1Rj>>j%==><%1mSj1?131 cdu'AD8>>j>>j%ii==iRj1?@EbQooo<>>i?jS81@Eb R>%%iiij>Rjj1U@Ebр>j%i==񶝞j>>v1XnF:W嗗2VVVW1jRp81ښre>>j%iii==ij>18ăX/R>jj%%i=j>8fyh=8ɏS/T&SSSSSSSƍƏ73[Z?qelectrotech-0.22+svn897/ico/windows_icon/application-x-qet-project.ico0000644000175000017500000007753611201106626026067 0ustar laurentlaurent V00h(L@@(6i( @X FFTT..- Im3Q.---X0)DF6. FF9 gM,k AF6.FFFT7 ;k>_m*5Ri 6 TX6 THfL'mL`LW6 FXYP...--(I0N_X6TX.8Mk0T...X6=8$ #$tF40. ?';HnF mFTF40. T..P4 Uk TF4*4F..=]kW fSX TgM.8;_$$6%$XF0k_4&T@;NZ_XX&NXTF4&T><;&N0&` m+HFFF k0-dF;-g+_&%B N_XXX TX6@F9fIg&w?H$$HXVE.F-.jd0LgeJCxt5z`< ..ldc'Leay:UXHHX6T 2em'jg&c$N %_]#6Fo1M ljLedHaIII__ Gq\0jec0a%Wh#ZHH$$Sn$O[K1b"2fhp+NNNNNNkN%vsqo ljjee&III0'??(0` }#xvvvssqqq776s#_#xvsvqqqq77766sxBU_q7666xfSWrsMMM NNNNNOOOK K1Cr!fX'sK7666`x7vAG(Y1s9sssqss776|v}Ef[ #/8vsssqs76|}s#B&}Lvvvssqsq77|{sv}AEd{nvpxvsvqqqqq76ACG76xAG4 ZQYvqxvsssqs6}W|'|YB}BjPYXvq#vsssqs|MEx6#G`ZBEL|f Iq\xvsqI7676'EAEdxI+#xvs'6qs77766777{K'EBBE\Iszysx1xq7776677sI'x}###2sz#qKT1xqqq7767IT{'qx#{qq#28{\d?s7"1#q772"PCsss6 6zvvRqsv7"1#qqq2"76N{ }v.vvsv7V#qqs2T767666O{x;i,{#vvvv6 #sT777#66O_\;`#xvvvv6 AT6q7777|E76O;#;Ws^\xxssv7'"6q7'jN;z;`s{zxxvss#11{qqs677N{/r{{#xxv{V#qqq|qqNe_a$tl{{#x;7s7"#qsqq7PN1}_T#}#Fssv7"#qqq6O 7qqN;SG{Akq xvvs7T#qq`fsqq 6{x'kvy#xxvvv7R#7N6qqq $BA&tmCx5_zz##xvsR1'svvv6M7HaBaU,s}=}{####xvLqsvss6M7HaB$U]E{_;__{#zv{N|qsxvvv7M7E*BaJFt xvvsviZ dvx#xxxxKABB}X1<'wuIs#z^####\pqFBG{Q3?Ev{_{_{{zz{qscFcGEBAo$>$;;}}_}{{sIv %o $>;;}=v2x-b Baa$$>x#g'- GE:AAaaa#{'aa@ $;;};__}{{{{{s}~''bFFHH1111eeeeeee$0h- ED)AaE???????????????????????????????( @PI:EJE?!!:: ".C )PCS"5> K#(6.!=1;7!".  ":"G- %Q$K;04F.OT)RD ;<B2+8QKL93&'NM+IH,@A/**C?(Hqqq]kk+]+aaa ]]]*******[[[[[[YYYY)ksnW))))WY[*]a+dh,ns$+þ ]*][[[[[[[[[YYYYYYY))))ksnWWWWW))Y[[*]a+h,n#+þ ] **][[[[[[[[YYYYYYY))))ksnWWWWW))[[* a+hk.R+þ ] **][[[[[[[[YYYYYYY))))ksnWWW)W)YY** a+,k.sy28+aa ] **][[[[[[[[YYYYYYY))))ksnWWW)W)YY** adhk.sRy146+a ] **][[[[[[[[YYYYYYY))))k##nWWW)W)YY** ad,k.sRy1 +a a]] **][[[[[[[[YYYYYYY))))k#nWWW)W)YY** ad,k.sR( +aa[[YYY)))))))WWWWWW,W)Y[* adhk.#$|:+a>>>>>>>=J>=;rX1:+õ)YYY)))))))WWWWWW.,W)Y[*]a+hk.#RzH14<+õ[] **][[[[[[[[YYYYYYY))))ksnWWWWW))[[* a+hk.t}>~#H<+õ[]*][[[[[[[[[YYYYYYY))))ksnWWWWW))Y[[*]a+h,n#$(96#H:+õ[]*][[[***[YYYYYYY))))ksnWWWW)WY[[] +dh,n.#$y4:hsy4+õ[]]]***[[WW*YYYYYY))))ks#nWWWWWWYY[[] +d,kn.sR #y4e+õ[ ]]]***[[W3W*YYYYY))))k##nWWWWWWYY** ad,k.t|{an#(+õ[ ]]]***[[W3W*YYYYY))))k##nWWWW)W)YY**]a+hkn#$yJ+sy4e+a*[]]]****[W3W*[YYYYYY)))k##nWWWWW)))Y[[[] +dh,kn.sRH4;Ydsy4+a*[]]**][[W3W[[[YYYYYYY)))k#sWWWWWWW)[[] ad,k.#|=Wdn(8+a*[]] **][[W3W[[[YYYYYYYY))k#snWWWWW)WYY** a+h,n.sR8WW+ns(a*[] *][[W3W[[YYYYY)))k##nWWWWW)W)YY[[[] +d,k.#6>7WWd.s|a*[]]***[W3W[*YYYYY))Wk##nWWWWWWW)[[* adh,n.s$WWWdn(8a*[ ]]***[W3W[*[YY)*+k.ss##s#n YWW)YY[[*]a+d,k.R|;{WWWWnR(28a*[ ]]]**[W3W[[[ k#s#########s*W[[] a+h,n.sHxWW.R|2a*[ ] **][W3W[[[[,sRssss###ss###dY[*] +dhkn.#x7)d.|8;d* a] *]*W3W[[*[kRRsn,hhkns###ssh[* a+dh,kn.sy2W[h +$z Y ***+xW[nNO? $||(dd+ qq rrrrrrrr^33reee333e0`Quuuuuuuuuu)W>W[.͉kk,,]$}@(yd++ ?W[[[YYYYY)))?WWWY###+k####QW[W>W[pnhkk$Hs|@zdd+*+aa ]] ]*YwW]*[*]RRR$$RR$W3W[[W>W[pP҉k,}H}|(ddd*5]+aaaa ]]YwW**]*[ RRR$RR$[W3W[**[[[[W>W[pщOkkHzhdd5]+aa ]W**]]* RRRR$#[*W3W[[[[[***[[[[W>W[hlOkHdd]]+a ])]*]*.$R$$s**[W3W[[[[[[[[[[[************))**nlOͮHhd*k?*+++b+a a[hH[[ ] $$s**hh[[[[[[[[[[[[[[[[[[[[[))[*.,jnlO+ʣ}}n J3<*d+aa .35>~k$$$s]]Yu>)*[[[[[[[[[[[[[[[[[[[))[*pkPnlO+z}2’+*,d+a ,* J>R$$$*]hW[*W1d*[[[[[[[[[[[[[[[[[[))[*OPnlQ+y6Hnd1]+++++Rq[ ,s萢$k]])w{.]*]][7W[[[[[[[[[[[[[[[[[[))[*pԇPPnlQ+k@z6(2*4+++$ RRsa]]][3.]**)**[[[[*[[[[[[[[[[[))[*.ԇOldk@6|$si, ;rR$ƈHH= ][5[ ]3n*Y]W~*]]]]************YY*]knldQO+s@H}@$XR|@@(zzH4y$arY] ]36Y]Y{)*****************YY*]ndjh}}|$@|(zy(zv3, a []]/k ] [W]**************YY*]؇k.nnmd+с5aժyA$|(((@(;++ YeY2[3n ])w] ]]]]]]]]]]]]..nPnQk#,,d~.|@Hs++ ]7]$ ;[ar s=]]]]]]]]]]]]]]]]]] ..nPPl15j,drvn|@$+u$++  aaah?2[a a o ]]]]]]]]]]]]]]] ..pPg!c{`ߦOj\!=~cɦceAAA !\QdA =ePOpNcqON0eeeeecnҠɐA!bee9ɱcXhdΑ !eeæeepQecencccccccc,U3 !A!æõeecpccccccc,h_DAA!A!õeeecpOccccccc,˗n~ AA!!tæeeeecOccccc,~VA3g !tæeeeeee)>3At!!æee!eep:, On!AA!ãeeeeepF{hhhQ=A A!A!teee!eepee!FF٠Ayh p A!A!teeee!tQnpp AA!A!eeeeØeee,٘ ccnA:eeeecޥ >>{|{a9ɤT`aaa߅eeeec&+*,ŚF!`3 Ac!ettaeeeeeec0&iwI`hhD AcA tQea!AA!!!!!!!e7j&i*w6AhA6˵:be!!!!!!!!e7j&h ӋlA"4!@nA!!!!!!!e7bj&P*ޚT = j9`AA!!!!!e7&bOjQ t>PŜ?IɅcAbcAA A\&تOhU1TW+kTj; !09!΅ AeدOFi-BItV5DAJj c~ A֯OF&`]9YUrv^Ř`A333!ֲOI&НieFEcDhhhAcӲQIjyiUFIFAFEhh!hhhhhc f[vv]^*.HyĂEEEEED }m IIFh>U GGFFFF  O&wiiI%IIFFFFF~mʻ OL,Z&iKII%%%dm|o( 'OM&&&jiiK#:(/=o(m Zz&jj&iS/|۱Y0b0[Ż(miwڟiIIIGGFFFFFFFF&!eddQ??qelectrotech-0.22+svn897/ico/windows_icon/application-x-qet-element.ico0000644000175000017500000007753611201106626026052 0ustar laurentlaurent V00h(L@@(6i( @~~~ 65542 "V@ 655422 "?N*E6" 542246;#M1?5442259Fn!!H 554422 ;1/29NB7 5544F !<SSQO "655U$:VZFpVZ 55&)224M3C">9(7 5" 4422258!!99^] 6 GTH4422K=+ 555! NI5>=F44JB77<'i 55B'44(+722xy22aq97G 55"+ZHL FR22;9! 6 55;,74447;>99L9 6 5HPPW444#U44F1_tW7 6!?JN44dKb`w0]7U! 5.#Vdcbabsfx[6 9TYQ555d?bbal-;77 66 -9555HZcbaoW^!7\ 1 # gMfdcba#wuVWFMr9 [[gffedcb"adWm'g;!]77777hVffedcb"a;`_99^^!!!qogfe>dcdcc\L"2lpqROBLLL!L*g$+'s e-SC"`bAPMBLBKz W4Jj%iC""\\\"LBLLs!***JJ**!CC:EBB*E/:*KK***JJ**Ka!3gBLhn%!!KK**JJ*7/FLO{*6o!!KK**Jp{LLLLLURQO73BL!_=!!KK*53cJ6FJKKKKL?{!LL!8s!!K Xc*JaJJJJ,RQ!6jLBBL!g !J ]0JK**J[CJJJ*AiEBBBB!Bkw4bJ***KK8fJJJ*A3gOHaBMLLB!Brve`*!KK*K*nKKKKVAbdOBLB!KlLBBLL*!LJ|K!!!L3g ,Fj{BBBLuK!0FK!!!LUU V,c#}OOBBL j!BBBBBV,5zQBt7KLLLLLBV, x0ORAAO7qBBBBBBUUCV&\OAAPBfjBiV `n\BMMMP3gV VV,Cb2ln fbCQAOOA ZC VAARRA VVV TRRHHH)VVV,,,UU T)"ZV,,UUUiC VVV,,3G\C VVVI).\DZYC ???????????????????????????????( @jjiwwwpppmmlsssuuukkk*//5GG/%9%$/:A >!/= H(GJH8@IH'+//9 ?, 4/:7BCP <2&1I'1-#G;3N )67IL."OLI!M!@DK1,FFEE0?(Hnnn YY''WWWWWWWWWWWWWTTTTTTTR&&&&&&RTWWY^ݘH YY ''YWWWWWWWWTTTTTTT&&&&&&RRRRR&R&&TWW'Y^}4 YY ''YWWWWWWWWTTTTTT&&&&&&RRRRRR&&&WW' ^sy12 YR' ''YWWWWWWWTTTTT&&&&&&&RRRRR&R&TT'' ^.< 2},z '''WWWWWWWTTTTT&&&&&&&RRRRR&R&TT'' ^y uW''WWWWWWWTTTTT&&&&&&&RRRRR&R&TT'' ^J2@Y VY'''WWWWWWWTTTTT&&&&&&&RRRRR&R&TT'' ^J4"Y^''''WWWWWWWTTTTT&&&&&&&RRRRR&R&TT'' ^%.J {2 YY'''WWWWWWWTTTTT&&&&&&&RRRRR&R&TT'' ^.<<} YY ''YWWWWWWWTTTTT&&&&&&&RRRRR&R&TT'' ^{}  YY ''YWWWWWWWWTTTTT&&&&&&&RRRRRR&&TTWW'Y^$؛2 6 YR' ''YWWWWWWWWTTTTTTT&&&&&&RRRRR&R&&TWW'Y^ ԛ2 Y},z ''YWWWWWWWWTTTTTTT&&&&&TRRRRRR&&&WWY .< . ^'2Y''YWWWWWWWWTTTTTTT&&&&&TRRRRRRRR&WWY {9h. 2HiY VY'YWWWWWWWWTTTTTTTT&&&&TRRRRRRRRTT'' ^$͉ yJ26HqY'Y'Y'WWWWW'TTTTT&&&&&&&RRRRR&R&TT'' ^.. i YYY'''WWWWW'TTTTT&&&&&&&RRRRRR&&&TWW'Y^< 0T.  YYY''WWWWW'TTTT&&&&&&&RRRRRRR&&WWY 4y$J6H^ YY'''WWWWWWWTTTTTTT&&&&&TRRRRRRRRTT'' ^ry$"ďRyJ6H^YRR'Y ''YWWWWWWWWTTTTTTTT&&&&T&RRRRR&&&TTWW'Y^s |RR16^},zY ''YWWWWWWWWTTTTT&&&&&&&&RRRR&R&&WWY ^: `Y Y ''YWWWWWW'WR0,,]*lWRR&&RRRRR&R&&&&*ZZ*X)^ssԼ >^^ YY'''WWWWWWWWX,_,*.RR&&&TRRRRRRR&R&&TTe*ZZ)A YYY''WWWWWW'R]bi{TT&&&&&&&RRRRRRR&R&&WRH*],]Ϻ>:^ Y ''Y'WWWWW'W&ub-bBTTTT&&&&&&T&&RRRRRRRR&TW'],,]᷼>R& YYY'''WWWWWWWee-TTTTTT&&&&&T&RRRRRRRR&&TWW'WRZb_]󵺺¿},z YY''YWWWWWWWRug//TTTTTT&&&&&&&&RRRRRRR&RR&&TWWT,--b_ϵ2^ YY''''WWW5/iiiTTTTTTTT&&&&&&&&RRRRRRR&RR&&TTWWgei`^V^ YYY''YWWWWTHgllllTTTTTTTTT&&&&&&&RRRRRRRRRR&TTii//gAW^ ^ Y Y''''WWll?4/00oTTTTTTT&&&&&&T&&RRRRRRR&R&&T&=i00i/'^^^^^a`>^ YY'YW'oooi/0ooTTTTTTTT&&&&&&&T&&RRRRRRR&RRRHo0Tl00' ^ ^^^^^^^^ a^ Y '''T=ol1TR2qTTTTTTTT&&&&&&&T&&RRRRRRRRR6o?qu'TRxz''YYYYY YYYYYY'''>^^^ YY''Yi??~WWRl??qTTTTTTTT&&&&&&&T&RRRRRRRRW&T0q?o'WWWW'''''WWW'''aRT YY Y'T?0WW'WWRo??TTTTTTTT&&&&&&&&RRRRRR ?GTRT&TR ?WWWWWWWWWWWWW},z:^^^ YYYlTWWW'R1qGTTTTTTTT&&&&&&&&R&RR uzRRR&&&zuG$TWWWWWW2^ YG 'WWWWWRJ?uGGTTTTTTTT&&&&&&&T&RG3TRR&RR&RRGTTTTTTTTTTTV粳^^ YY'quGTWWWWW'WWRuuuTTTTTTTT&&&&&&&&4uA|TRRRRRRR&RAG&&T&&&&&&T&TT&&^^ @GWWWWWWW'W&GATTTTTTT&&&&&&&4x~TRRRRRRRRR&Rx&R&&&&&&RRRR&Rd>^^ 8!A3'WWWWWWWW&uxATTTTTTT&&&&&x335TRRRRRRRRRRRR333zR&RRRRRRRRRR&&a^ xAW'''WWWWWWW&$zxTTTTTTTT&T&||&&R&RRRRRRRRR23|xR&&&&&&RRRRR&d>^ z'Y'WWWWWWWWW&A||3&TTTTTT&3~~&&&T&R&RRRRRRRRz~|RRRRRRRRRRRR&TT>^^Y3WY''WWWWWWW'WW&}|&TTTTT|557&&&&&&T&RRRRRRRR55=RRRRRRRRRRRR&c}z`'ЅT'''WWWWWWW'WW&<355&TTT25W&&&&&&&&&T&&RRRRR RRRRRRRRRRRR&2>^WYY'''''WWWWWW'WW&{|~&T~ W&&&&&&&&&&&&&T&&&RJRRRRRRRRRRRR&Va^^Uz5~ 'YYY'Y''WWWWWW'WW&y~& 778'TTT&&&&&&&&&&&&&&TTR 5^RRRRRRRRRRR&&# 3~$YY YY'Y''WWWWWW'WW&.577 'TTTTT&&&&&&&&&&&&&&RȂTTTTTTTTTTT&T#a>5{[ YY YY'Y''WWWWWW'WW& 7'TTTTTTTT&&&&&&&&&&&&&78R&&&&&&&&&&&Tca>:~. Y 'Y''WWWWWW'W&79WTTTTTTTTTTT&&&&&&&&&&&R&&&&&&&&&&&Tcd`y Y'YWWWWWWWW'W4TTTTTTTTTTTTTTT&T&&&&&&8R&&&&&&&&&&&TD> 7^ Y''''W'WWWWWWWWR188TTTTTTTTTTTTTTT&&T&&9&&&&&&&&&&&&T_za 8 YYY'''Y''WWWWWW'&19B9TTTTTTTTTTTTTTTTT&9"&&&&&&&&&&&&T2da`'82 ^ YYY'''Y''WWWW'&9Wᆋ9TWTTTTTTTTTTTTTTTTT9"WTTTTTTTTTTTVﹹ`Y=HY^ YYY''Y''WW'& 9""'T9"TWTTTTTTTTTTTTTT&BB"TTTTTTTTTTTTfD^2^^ YY'Y'W'& Y'WTBBTWTTTTTTTTTTT TTTTTTTTTTTT¾fa9m^^^ YYY'Y'&''W'WWTWWTTTTTTTT&&TTTTTTTTTTTT¿hdak"^^^ Y YYYB''WWWW'W&BWWTTTTTT=TTTTTTTTTTTTTEhD#d BBB^^^ Y Y =6''WWWWWWW'T=WWTR@HHWTTTTTTTTTTTTTW1²^^^ W===''WWWWWWWWWWHHWWT=HHRTTTTTTTTTTT_z؎@^^^^^ W HYY'''WWWWWWWWWT=66WTH66TWWWWWWWWWWWW»2 =>^^^^^' H''Y'W'WWWWWWWWT6^WR H'Wnf2Vh}^^^'66Y Y'Y''Y'WWWWWWWWWT ^WTؑ&Wkj»fDH^ 6 Y YY Y'''Y''WWWWWWWWT4^WWWTWWƕfD666 : YYY''Y'''WWWWWWT 4^''WWT.&WƕfD 4 ^ YYY Y'''Y''WWWWWWT4^'WW'44^WWWmŕfD >^ 44 ^ YYY'''Y''WWWWWT222 '' 222'''WWWWWWWWWW''''kW'EfDJ442 4 ^ YYY'''Y''W'WWT T 'WWWWWWWWWWWWWWWW'_z•EfD11^:^^ YYYY''''Y''W'T J. 'WWWWWWWWWWWWWWWWW'ƿ2ED42^>^^^ YYYY''''YY''TJJ1JJ1WWWWWWWWWWWWWWWWWW'kOVED@>:^^ YYYY YY''''YY TWWWWWWWWWWWWWWWWWWW'ȕj•EfDy2 @d`>^^ YYY Y''YTWW'WWWWWWWWWWWWWWWWW'pkkŕEf 1 ϳ>:^^^ YYY Y}@@@@^^^ YY WWY'''''''YYYYYYYYYYYY''YpmmkŕEf#pJJJ J^>^^^ ^^^ 'yYYY YYYYY'''''''YYYmǕmŕhDc@@ym\>^^^ }$MYYYYYYYYY YY +2kŕj#MM$$Ltº$}}}}^^^^^s+pppmmmkkŕjED#ca`>>:^^^^^^^^s+mYmmmkkŕŕfh#caa`>>:^^^^^^^^^^^^^^^^^^p3pmmmmmkkŕÕEhDcdaa`>>>:::mq2pmmkkkkŕjfDcdaa``>>>>>>>>p2VmkŕEfhDdaa``sspmppmmkkÕjEfhD#ccdaaa````ts+pppmmmmkŕfhDcdaaaaaat+pppmmkŕŕEfhD##cdd++pp+ppmkkŕÕjEfD##ccddd+ +ppmmmmkŕF•EfhD##ccddddt܀3s++pmkknŕŕEfhD#cc+ss+ppppmmmkkkkŕÕEfhhDD###cccccccccccc܊Vys++p+ppmmmkkŕF•EfhDD###t++++ppmmmkknkŕjEfhhDDD####ttssss+p+pmmmkkknkŕFjEffhhDDDDDDDDDDDDDvtCts+++pppmmmmkkknkŕŕՕEfffhhhw똘tCt++p+pmmmmkkkŕՕEEffffhhhhhhhhhhhhwvtsss++pppmmmkkknkՕEEEfffffffffffffffffvtts+++p+pppmmmkkkÕÕEEEwwtttssss++++++pppppppmmk;ŕÕź?????(@US%RRRRRRPPP$$$$NPRSGdi.%SRR%RPPP$$$NN$NPR%_0'5%%R%RPPPP$$$NN$NPR%X_{lRRS%RR%RPPPP$$$NN$NPR%X_t2USSRR%PPP$$$$NN$PR%_p{~.%SRR%PPP$$PNN$NP%X_9F'5SRR%RPPPP$PNNNNP%FFr}:RRSSRRRRPP$$PNNN$$RGt;yr}:SSRRRRPP$$$$NNN$PRS_pr4.%%%RRRRPPP$$$$NNNP%FGܨ$.4|R'5R%%%R%RPPPP$PNNNN$R_i{l.}sRSSRR%RP$$P$NN$RXF_rn!wG.}gSSSRRRRRPPPNN$y6$Gy⃄x.}Ih%%RRRRPPSYJKKKKKaGrytR'5R%RR%R$sKM={;[&L:FGiȿ%SSSRRRRRRyOeNN; '+_GA_%%RR%P9)W$$$PNNNN$PP$j'XFF____F_ESS%RRRs oNPPP$$$$NNN$NPQ'5%S%%RNYYqPPPPP$$$NNN$$PPP^WTXXXXXXXXSSU%+}WPPPP$P$$NNNNN-Y| aRXESS%$^S4[5PPP$$P$NNNN%/ ^%%%S%%%UUR}aR^ PPP$$$P$NN%aN%-RRR'5SE$eeRRR2a7PPP$$$$$% cNNe}$PPPPP$UU4RR%RwcPPPPP$S3GNNNN$NNNN$X""ESe%RRR%Nv9NPP$%o GN$NNNN1N$$NN$XƠVU %%RRRR$t NPPqGN$P$$NNNnNNNNN$'5U""UP3S%%RRR$rn|NS7oGN$$$$$P$N5NNNNNXV%3SS%%RRR$pqxs_$PP$$$$$$R }PPPPPVo%SS%%RRRRNr9G$PPPPP$P$$Pu4$$$$Pâ"D %SS%%RR%;xPPPPPPP$SxN$$$PP"'X%x%SS%%%|z8PPPPPPPPF;$PPPP89USSR|F$|PRPPP$~PPPPPV;ßUSX:R%PɀPRRRPN%PPPPPƥ!}UU:R%RRRPɄ}PRRSNXΦ"UU8%S%R%RRP8{PRP= PRF"Xk2"U S%S%RRRPƃyPRS6PRㅿU66SSS%%%R%P0PPwRRRRvXFہUSS%S%RP}.vPR%%%%%%%V"UESS%S%yyS%RRRRRRR%E"EUSS00%RRRRRRRR%F(?"V"UEURrt%%SSSSSSSSS0kF_0ɬUSFtkSSSSSSSSSSOFF\tt.<XXmG*_F]F(XXXXXo#G_F]F\(ZZZZZZiCbGF]F\((??l>{^9?\c ~ݾjxefZqr|Y;Hw2(Ey>a8DBZ W|VwqAڻ4x *p,!^Km( oiI%ǐ/L 9#;L;ʣ iW#_4 .IDATxڽKhWƿg#6ƤZk#j!bP؊sUw*`Ůtn( Zq. .Y`T|{wfΜ(<(f9s~3uKELSPc0R?w8ZE_]һx^9iH` 9rjX[KwWqƬ7[p,v~ˆeZCEd\~z΋YMXQTSGAkv!{>-ҤcqUQ1j,,>Վͨw?d++c8PFUnOL8p`a#PAF~g&=_86%uq6H %%f4BCH ^j_-4"|Y*)H$,$L6 €=`70Cs%kS҂@6Aڐ c #q(huḿ$9՜0PtDF#ҀpH ı$N_b<vVJΕފ'&q`Q KʄKS5gIAzM(G_/%݉}nG~&,0DCZyh}63jBpV abow~/~pO%N &MIG/x$$a)F9@Bf6&9A8{&<فAE׃ \?߄DY{xW N˯u׈a ABA(kg_wJHIENDB`qelectrotech-0.22+svn897/ico/22x22/document-save.png0000644000175000017500000000143611176605035021720 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڵ]kAMo&闔ŏkZ?oMAH?@HHJAkۚݝYa Bp朰s}lvyP׮oGQ4>lLZRJ[hig2YJ3NR`st>6>uqݼ09R(DBsA8p<\C097Y+$ƱEKM,qsѕ)d2'qXc:`fI`ݚոڗCqjQ8ma8{ʂ5'wt BPi>9ɍ S;~v\4ĹaV:r#dd̰\fw0:[dp}@VQl4?O!0T8) C<}iZًr^z{{%~!"8ȢvaCpN@XX z S pnh_o4us1c~"IIQQs[,fjoLv}/3 [ kʃHyoRO58@~;Bb4T[woN j6ojyx<~;m;fEnd2"oFz]v!``M/z29VJ˕yz^^\t:VթOҢn۔̎uA)W蟟K8w*\]IP`ʎ]u&ᣏ&!\#rC6Q.EsAψX8 ' 2n%=PȅPc+HBH}.1" =N!c[B!$z9cb%q*B$F.@.$oX,/?Bn0AH(JѸ 8! , ~q/{sIENDB`qelectrotech-0.22+svn897/ico/22x22/edit-select-all.png0000644000175000017500000000116711176605035022117 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڵKK@wgEJeO >=ib+GZmBm mHҮۍYŁafw6!i! G3ByM?Q(G6v,[Ks!_`k9~b0@^i_W+K2q# {;`^ՙAj&h^?gl&ŗټba$!s o'x-ؕw0=W.J:]``a:yeC6Lu"qfD"9{]<hGRI+ݘ4-?cWCVA77fT5}shW:r @i"˲۶0 j5X,J0=]{Q!bQ_XXQ՛_ą >޶;IENDB`qelectrotech-0.22+svn897/ico/22x22/window-new.png0000644000175000017500000000125011176605035021236 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<%IDATxKqw|ldgQ3y :[?SСSt c!;h9/Ҙf1\6my>Ef:>|o>W{7"R'u̼6[* gMtEaFgF4VJy8c408=˷2pKSW&''}[Q >1:cibv|/}#kh6x_ Deύi/U\|`֞+e¶i2H@ij\Ru\9 HDaa`Y6T WccC:%n'\!le& !fZ.S|';l \KCc=gT#-J91P((հ|AUG H.G\^4 `FX$Z YA}ǧFwV{G￝d^9f @匒*do^YIGi>R e2X1 ~"i{]v2J|AZ ues䉓#eY\XX( Q|>;5R^L5ۖ<]/g~ʧD"W <n::dYYӹ=.]kj(*Bt:---7 Xs@MQzx7㿞*@)1qؼrLpiXm2~r{rrrHD"mAן UN{r->,?h4 ;pjS)3qܦH69@``q0 _D"QBvFնz?%_a2  nIENDB`qelectrotech-0.22+svn897/ico/22x22/configure.png0000644000175000017500000000212611176605035021124 0ustar laurentlaurentPNG  IHDRĴl;sRGBbKGD pHYs^tIME2-IDAT8˝mLSgQڕDJ_Tp ##c920̖M%eM!(nـMIL)$@s "Ct>>2bk:N~9q8⚤|A"?BnkV;PЅ:5=Eo:D&ҸoY7\Kt1H yyݗdxҕ/$oU A à=3<<@s87&'A) V;Jh`EVVVį !'ؾc{Ѻd+mZ$Vꛛ ^)))q!FN $&)2U*lS`MM͆ՇZ1SXXNcz=:/tFB(`0(W]s&oS%7^/n0HNNV27H__XL}}]l1egwEfFwt@Ej0 {wQ>OsnLKK'fgga2ޖbzXobA<,¡0ig=ǹ2"MDp_ca0hz5Q`fhhh2 ?+]V؝RχTM*ƵЦkŖijjqMS3{;l/yݣ[?bV{jt\~pekߒq֞:=R)(ҫ Ѳ2֮I%#?qٌZ^Gy×qn鱂M _쪮?4/XTnm;n=]_n.n.'NO w\Чq^$"㭘X|wO>"F'Pw۷?ĘXqX4A­xgϹ{#9M?U6ZogsƞU3wd&5њcIvwݜw73tk EуW)ߴm2 :͚\5M@MpI3$4 (" 裲r:PI,pkO_Yb|qqAYEA!'jXp~~NUUfoYUHcHYKm[%fβ!ʲdGɓD!ފ*)d;;+:"B, ̌K d6{2* WqʅqttDS?~2r#jK+ xfg{mf/@W6ăd8޽U7Y,c]ոD|%n}q7\w<JtW7|ȘAUIENDB`qelectrotech-0.22+svn897/ico/22x22/document-close.png0000644000175000017500000000203211176605035022060 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<IDAT8_LE?3w-k8LTVcB5ID,~ו\ V)0f'?|'^cG(obKl~%Zr74 !v NRL"39$+4\'97a#5)9!As$=T)@`+Gl+Ht(Iv%FwAt^y 6I<\$J8=?](L{2Qz5Ry6Pl%>I6Pa%=D'@B.GJ7Tk8T_9Vt:T`;Vf@]gC]qHfIhsJfOkPl~RmSrTqUrUtWsWsXtYwZv^z^z^{^{_w_y_z`|a{ad|ddeeeffffhhllmnopqsttuvvwyyȅɞ̥٬e7tRNS $'9@ELV^gpx}*:$/IDATc`Pe׬De(ւD!4zQmmm.+Yҫ*+K ry ̪F< qq)L*i qYƼP%mHT {$>u'|;9tww۽^)e$RUuSt_[{Z̲,zZ? Au M+> P$޺U \ -|}XǬYxC3~]OD _B۷?f*J+ǁAWg1ɗ- V]S@(-L;w8? e6J)oijPܾibSssˍ/Ved:2Hbg4->Zdj<Ѩ$1v»5Fke_ 1 N4>6q":ܾ 9#sv~M{IHqzvT4ѫon @| EM%@tG6Ĺb7EyӉ1 SVƐ2h'4 5r Aɚci'6)%4Ps9̈́h%1لyS27FSNv"B$ĽC-~$(iN@dE bESTq86<22V,ՙٙ&-mM"m8KBPS4eSEoi~oO>1>.Xj!wԒ$4!DIqMyYęlQQ`(ZM  w< H e[ۙLz*k|}ed䅌3eee(ޅ㸭PhWvvLACpd%¿,m6[r$Rr``naaabee< L#FF(yyyxKKKwGGs?f$i3"A{]Áb"jk~=0;;gWnX):U TW+rsllL$ ].)pqq!e=ђQ@ 4M =̆`0xcmmb\ς 0tFFc2IENDB`qelectrotech-0.22+svn897/ico/22x22/edit-cut.png0000644000175000017500000000110011176605035020650 0ustar laurentlaurentPNG  IHDRnsBITUF pHYs B(xtEXtSoftwarewww.inkscape.org<IDATxڕOHqtahKCCRz AyPt < g#b a%f[Pα-7(lsH;1HnbsG}| 7'ű3ƔM6 ӝ黣aPA^٭Ic?T =B)lEJK˸ki\mKR-C-C^O ~ΠV#Z ^RaJ6ʩiv4enmƽNi{lƸcR"p}&Tۚת""V7L7nj;_IENDB`qelectrotech-0.22+svn897/ico/22x22/hotspot.png0000644000175000017500000000026311176605035020643 0ustar laurentlaurentPNG  IHDRĴl;zIDAT8 C[r=` JU$$Hj<0WtXlۇqcڸ) j>0IɔT@J6 !p>qW;!??1fTWNrnC6x^pR!Hx<$It]-|sT*WV|-{ŗO%}@z<*BhkoB+X7n\gˤR)51ރn@R\t Ʉ` 󑯞$i<5/ΪQio6VājP!p\!p{<,ׅ3#Ty\zD+Zѳʮ!  Kz׶J%;6D0=Io) mHY,$rzSMq&[;g3&ݞ͌/47}E'XL_j܊ctʊqXm-BYN}^tmlzX(//' Jee%@i9á|CUUyeyXEEE$ MMM1)~Wy6u?}anL:יY>K{Uq KKG@ 9}qrloّz nqq Bv\ƍR;x&c䛂l}*Qf'+ p:$ ~?---QaRyxR o0G*|Ղnusw(4Ml6z:2aCD~=|P_F~s}tJUUiR4뺌F?veT԰Sdrݵ7vROpwrK28BꗘIENDB`qelectrotech-0.22+svn897/ico/22x22/document-print.png0000644000175000017500000000156011176605035022114 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڵ=H[Qߛ{O!Ak%өCpP;wŭ"Y+th5m!b41?{x/|\8s~hJ)i80UE.Fojv'3sjڻT*T* ]7$# 뎊 n\08||rL +@(EpĊ ?|>;9k/* Ny&s[-6-;ܲsF>5MPGIlb-B'p8ihs[T*8u x`Zlmm DB ##~\&auuiNu(&ILNN( C[XGY2-#[g_a\01+++-ax#tw?a5ՏѤX..ED*Qjxv^@uB%hC Xa}Jiڭ  :mEWW9w5^g2)Ӭ(]ɑS7IU0 VAAA^7*0%* >ԥaIENDB`qelectrotech-0.22+svn897/ico/22x22/conductor3.png0000644000175000017500000000060411176605035021225 0ustar laurentlaurentPNG  IHDRĴl;KIDAT81n@E# ڎbq r HHC9E| ;(&RFi5f4k3˲\A\|8I`  !)D* 8*ޑ ﺟ<Q)u˃sz$[ғ{vqNd2FVtKvGE[ل^^0`! ó @Qy0L΂1nbr$IYlhZmVU.48f0CZe:fts<öm>^t:H:1W:ISoՓӛC8IENDB`qelectrotech-0.22+svn897/ico/22x22/text.png0000644000175000017500000000145011176605035020126 0ustar laurentlaurentPNG  IHDRn pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb@< &2 `b߿Yp+\>+@A8\a9?? L >cbx@P 206?ʶ|=a՘/q \ u+rbaTa;]KyW ?_{Y2󰀬3,Nu g翱gv dᄌ;s +['2 bӢ߹Os1 yM{řX7'Uj/;<]Ev l @"7Pؔ,>4/ π@ X/N?s\|2@(N' [oM ԀIqO..&Ptxo@( ç&l+#_L񘒹R]~sfyx'Љx8܄0I\ҋwroI)9 z![Oaݡ"z"0.SuX.azX& '{w N ONT; v !lm XMhDkwǞD\;~D#8`@B TiKqվz]UV dPHA`|2 7aHP@jt4ّHD) lVAF97P/bhM ef ~T?;FU*WtTX$EETP_eM\b֕Rp;Q JFIxG.\.P2U8~] o+>S&"}`H~XȤحmSqip؃dp<Iԕ ZyAUg# yH6O~[;4"WZ_^ɬs`H`p9S׸8y6.ыX!Js_䠛ss[r.Ob8{$v:<]nD"T r\k,AZQ(c)~hi =J)XEܢ-* Ej 77#բ嬝],$XY# "%@X`)] ~5[)Ky{D#gB؉ B+[%eLjG /&g@$+ՎÎ"xc(3|X!6l1E1J$;Qe6SJw raOxjs%cZ@jiB̽+WN$1qO{F-!y a !pJ)v)0Vրql39y${t6 V:yP:bn}{^RsW2Cu?T.6xQހr:@Р[0 _%OzI$ dca(j '4A@IENDB`qelectrotech-0.22+svn897/ico/22x22/arrow-left.png0000644000175000017500000000130311176605035021221 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<@IDATxڽ;LQ;3v$,vbA @A㫰(LL,4&N c%D mD`u9lP,9s/g&3Q $9pftJ|y1{?y>y{+p, Tny6`Dwah&A\vc!¾a:GgbD4fe7(Jw0t:p<7nCTI6zUy23:9xJP%dJn8yl4JX/djڃE*Lש+4Ƶ(V0ƀ]O>X~Cv"a@hjӰ&l tpRrAf~DڏܠZV z@t=V{'J-uߢW 1vW% lƽpDŽ0CA i[tXxwwX:]NI[ûGfuRN@е6ya{x50Pdê:n+R^$HnW/#u_KABӿIENDB`qelectrotech-0.22+svn897/ico/22x22/polygon.png0000644000175000017500000000111511176605035020627 0ustar laurentlaurentPNG  IHDRn pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb@< &2I$ ^ *]^W?b% Q3b=K@$e7f1) dpJk S,i@@ /JBn1,d@1 4P!B_(K'bͼX V 3T?0*y XB6~  Θ\uH^1tla `n>63`6ܼoX e`x4+@`9+`>oy&?::A:җ g> c?oC088Lb/_a3C8<Bnrɽ``Fd A@iH,5 Z 60/,+3 3!L@3d2@1`hxIENDB`qelectrotech-0.22+svn897/ico/22x22/element-delete.png0000644000175000017500000000231311201077327022026 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<HIDAT8mLUӗuЖnn Y[`DƲ9`D?Vcl&&,Y@&sdf !+!L-Q-F[,> m$Ors(ve`[vVWc,JDaM|b]kcoZ;1d^ڲ鬩\r8һvQJ!"F+nۆaLӟa*!93|uK.Hx_Rj766+**(//'L&fА|BW#DZd޽ 4q\qBCCCEhd%0//R)팏3<<|A,Ԭ9TJR)Na*ɨl6٬2MSb1qp/}V,2|rZ ̻(2TZ~X?TQ| cJs g:-%F)}>:qg2] ߑ}:`[:'Tkl2tC)hXk Pڕ|gr|sY&O Z"P_, uJinsO˩=5<FZ7ȶzcu#FL7 5\lАR4(n 6W560v$t# 0 oŠ^pJ=(dDF`E2g" wWT| 5ï?;S0 V$`!'nMBtf͆QG(\eY^lw1Z ou"fتghꭼ<}D0#WM;JW/pj]{8tg{8xK/qTyIENDB`qelectrotech-0.22+svn897/ico/22x22/move.png0000644000175000017500000000035311176605035020111 0ustar laurentlaurentPNG  IHDRĴl;gAMA a pHYs  d_IDATxݔ1 E?8qu$^.bPR/5l2v;Kr#UžV|aނ`Z-8.InEIENDB`qelectrotech-0.22+svn897/ico/22x22/document-print-frame.png0000644000175000017500000000214511176605035023204 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڕT]he=3$$&icb*>؊*>f o} EEAj/1 H@ AR4fw;lY0߽瞹ߝOsYm"I$q,v;ĭ]wgP4a6,^4I4MS,ChmoYx•_ 1zL fPBEɡJϿ W8^W|oqȡ87/zO3k[W%q+Ž~TlTէ;P dc9,KETpWaaSm0QisN'R r"8厕RZQ2Jw9'"b%hLJX/X\\DTFpٱ嘅cDzKKKG_n~EqL :BOOZn7o#{+|gw lm`frj;X]{n=74o׽S%^="|7eƞ;C$Lonn|?Hh-/ܫɟlb$єgcbv]!n}b1@jmUIENDB`qelectrotech-0.22+svn897/ico/22x22/raise.png0000644000175000017500000000100211176605035020236 0ustar laurentlaurentPNG  IHDR pHYs  gAMA|Q cHRMz%u0`:o_FxIDATxb[lsD322U@,Px+1d i r ~]KFR@ w7 #,(a7`2 E` ;/`"wc@! =b.2U p+3 _n @ ҙ5n @r F  ̎9 \0bpP> ±_H Pbet   ^ƖMM=#f/ "9 Bb!69܇Dz2{ЗkP Q~3x/嘩UQ`9ҾOIFFO/."F ?~𧦡6W]A![ mg)3=diUЦ4Ns/hhN_ayL9#"n>%%&8DN z%~g ~ak IENDB`qelectrotech-0.22+svn897/ico/22x22/all_pages.png0000644000175000017500000000022211176605035021065 0ustar laurentlaurentPNG  IHDRĴl;YIDAT81 @ 'r>}X(XLX*3h["ƾٜgz 2%53:e^xygx'IENDB`qelectrotech-0.22+svn897/ico/22x22/edit-paste.png0000644000175000017500000000140311176605035021177 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<IDATxڝOQ㪌aDPA^[ $[7/A.]cREl![-Z렸uF~agx;od/x|0NJZ*PL&mDFF3T$IAk+˗r;ʸ\.|kNͮ/Q5 zTzĂE! ݋D" $ fbSpXۇA^N#aJvҧ93fn[K/ (+0D͘*i͑^.@/fOi>x<~[Sh˲ D~E&]52k Jd?IEGpAL 34'9T.V, 48:Taj1.>טx<~{R>1ica߯uczـV.`Ʊh4*_YsZG]]}:]=vfvkBV7^\=yX.,\Ԟwv@apƓ5_YЯH;"+ a{ 73e3z l6o`Љq ̥CwCI&^t</cKc͡L?~xvsFDf,IENDB`qelectrotech-0.22+svn897/ico/22x22/conductor2.png0000644000175000017500000000022111176605035021217 0ustar laurentlaurentPNG  IHDRĴl;XIDAT8 B5_SAu yCJCB@eI7Ir+΄G|nZxt8_%G]IENDB`qelectrotech-0.22+svn897/ico/22x22/object-rotate-right.png0000644000175000017500000000146011176605035023020 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڕMHTasGgtt!(B 7b&,--ZTJmBS7($f֐B,Ҡ,Ȳg^qx8|w./oIXaN2jH`L|\;XZ?DEcQsgBLj ݙn_\>$L(hs +Y`$XfoCkq f]xv XG0iM!P30elNs3&u%Y^1~x@XIY #~s'K۝& R~#-zZ7젗ebyw, f0*@q~^nF".(j|~$TaUB Bw.-p PPX: BjR BEWבNԔFA0zr GDJ/;_PS]1 &3iFZުNxU"P7WuGW GigK]Sc2l>-ٲOcnGQذoiO1aҦ:G}TFMb:Ć\0h,wΎD:;l6}!|yJ mK#:`l|ރx:@ل/,Rl]0jIt~1\ b@tJL|"IENDB`qelectrotech-0.22+svn897/ico/22x22/start.png0000644000175000017500000000153311176605035020301 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<IDATxUKQ&67З?JBu Y7:ud$EXlJ4!*FmԦyzr!iSKP聏{{OBD2_/WDm``4$啧h芾)}rpppr,P* Jqtt$7"FTP^Ǔ|>uNFGGa0JL&Ԅ1CLDTI3F( I:==bHr:>>AEU:;;;oZ_e! .V+F#T*^/ 4 K*ׁ@lL+j1I٬6r9cSSSHӂHTVI>,E21xGΤ5lmmannNqjBHd#DL&ncdd& NI.5L- R4%@"x<^gqO ּacr+`0Hl1b{cb竫dZ_fU=v]ifW+^ufIW*X/o%޸<էY&(@,؀360s S J%pb! JkdL{Ǐ;k7o1QBʜ\䤍'++67Lˆr钫XaTZ;gw%!(X=0}lPUɑLm{.| ԔmR[\k(#YT ?tt@g&&\][TO?ːԨM@?p]A(A DGZFk`djmk߂ԩ6jc5 c+]`hfWWpV|KЀŽG-sn:IF` Ah+Ptۑ#!ehMՅϕ]bcBWj"|:4Vh8VTCi^T ?_[: (#hC`ˈ^{2 \qva;q>6`19_/;ާ42LƖϞaƋ8$X'- n8L~S=}z![VxhXtNn)AFPrw gղ {{Q'-Top蓾^EЖFn<7reff܀҆Avi~ށGZX*]B2|FE}Ij코}Lz ^IENDB`qelectrotech-0.22+svn897/ico/22x22/document-import.png0000644000175000017500000000142611176605035022273 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڥoQƿ^Z6Cb%G qڝhK ݘ4]vE`JP) 9x O =}3 ! iqj[V|uU>Fv<o.W0(z܄qjf{ 4Av1 :@_AtڒpIk/?X[)zU ]R5E6D.h4aÑR$& .e M T.g$x}eK&9H8lL5V8>T` vxl [A5W8GT{P($pKYT((qxx(ݮEya&mF#[RСbmNR ^>+nASl"LlRBK$r<1{%\l \\|+}A _i:]V),ǟہ@ /|Uj~<˪F# 8Е\GK ~?r''Wo*A7 }'hk<}+CTyw="ps S̃6k^:K' Icoz;> }~'IENDB`qelectrotech-0.22+svn897/ico/22x22/edit-clear.png0000644000175000017500000000240311176605035021152 0ustar laurentlaurentPNG  IHDRĴl; pHYsu85tIME5bKGDIDATkhe\MȦ -H * QQZfL! E"?@}Xx٦NOlg~pS/iqDccH&(Щ#( IŢY$(M; #/cw{t]v㹣m:RYTʍUɊsgw 6-W?huӯ~tSq 7*ˌ&[3đ^\%)£Rmط~VtBmDO@p…TLĶ Hе&$tR}@&[z~!{L|˂5A(4@PTU{k 3.V)&-oC]W Ƕ Rx%9Uј˷4W'ibyÅ~dYK-+V4׏[%l*YS`66'iTߏXury?oYTi+y 4  =uͬw.&AUKP]Yw>@ n[<#3nL.цͳETE2@o=40.* [ ;s IdKW7 LPa30K 8 gȘS4c0dUMekBd.&|FZ(^F;:CbmU,.< UaZ6bcSѝ䢡3ie//aq [њw?G≵ \q.*JKT a:q"ܴ}VV]s/cY]ğMwn3ZnN<ι6+}+qWA6WB$lKz=ռ̝\_^xţͳ˖⧁s^_ј7EBDif3FC> tƯdEJ(I,(D220]O-lUTؠ4P`TOO,0yA.gW6LvxPlm/LHxבc׭r(rrb*RiŀP$#RJGNaΞd&p\xo5,Qp/AԶmȸ=2`tz6[ky0n_OkIENDB`qelectrotech-0.22+svn897/ico/22x22/edit-copy.png0000644000175000017500000000100311176605035021031 0ustar laurentlaurentPNG  IHDRj sBITO pHYsvv}ՂtEXtSoftwarewww.inkscape.org<PLTE%%$&&&(((ĮWvtRNS$'017LMeevW9%IDATx]A! D; W|ݺEI>JX< zٿ 6C0s$ftJb`{fi v//F٫/Ds!UՍ4`Ҽ8j\(l+P7>v yhũL0o{͑WxR/)E}JIENDB`qelectrotech-0.22+svn897/ico/22x22/line.png0000644000175000017500000000043211176605035020070 0ustar laurentlaurentPNG  IHDR'Ն pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb@ b hDB"JQ"BQ +QVM "]@D(( "A ED"B+ï 8":hDB"Z!@m QIENDB`qelectrotech-0.22+svn897/ico/22x22/zoom-original.png0000644000175000017500000000223611176605035021733 0ustar laurentlaurentPNG  IHDRĴl;bKGD pHYs cytIME ~H=+IDATxڵ]L[e|~ ( ڌ!c6F2u3N c…wh ɶ,1ql 2GdhBKsz9\paiϛy[o6д AfA"M̹Z[~4MË.;F&<)w$( h΀5y,EbzѨbxOykneģuhT`G([%_*ݷo>j*J+ǁLW׹Ku}P[bAAߓg QBbpko XtQ.XxqI42ftln\]sN׆21:UW^YYN9V/ys!)Mp}X8DA8}3]YIaa1(e>r8HFQ}rgJL /,,y@\hj$zO*(ʞNLiqDeh⸊J"Ae% #J &ABI$-IAFbyt>٬r88<BANr(bQh߯OV$M919?C 4xeXuR}  aK.w3EzXŁ gUeSSS#PLOO`Zf1,ͶWW~$ $݅`Yt:A|= 򖖖f ;6]zIENDB`qelectrotech-0.22+svn897/ico/22x22/diagram_del.png0000644000175000017500000000052411176605035021373 0ustar laurentlaurentPNG  IHDRĴl;IDAT8JBQmJ`Q7Hm#'+=EHԨI>A%N Dtq@W$3^qLP̦JdTf@`*!9x`/W2^>BvoS Vd03BBaϗw8-*u;43';FTe"zy c]v&ןW8]z  jn]!Q{8Uɬ{~qd/. B5/$ `jLIENDB`qelectrotech-0.22+svn897/ico/22x22/view_fit_width.png0000644000175000017500000000135211176605035022156 0ustar laurentlaurentPNG  IHDRĴl;bKGD pHYsaa?itIME UwIDAT8˭NA;b\ '!ă79 >}=4zx"ʚh`vCew%N*]UU͸o>e2CEE4({B!!~&sKO2Pp! !i=͝󟼼a fZ|]=a6i/:c2TX̌=2`Z 4 T5s-B8::bcԧђ(4PS-t-[FfO;ΗoE)*+5"oA)BC4uaΝ l*A[vT "(% k:/#PQ\zV`|Imh"ճeak({bÖ}7X ԬόR:CBK9Cq) kJ$ WVh#Qb!r وlahWCW;6IW Tp[Y0p"c<7n) d}:|8 #9G+qռR'x[e͎=EX'LFib2_/EJZI fM#sqp476fNc&BJA*'CG- Ȃ$qY [Z[JvWámK';"aUGp&DU*l| aUO r[ :EM7n'AA!ʵۋ~>p#2FZARyUxRX=9An~"@IئtuͼV*s[٤tdl0?.ԁOmGG yIENDB`qelectrotech-0.22+svn897/ico/22x22/single_page.png0000644000175000017500000000021111176605035021411 0ustar laurentlaurentPNG  IHDRĴl;PIDAT81 @CDzoac!#+X6S<*Ek=B:l.'Nک8pwMS?0M7xV'rI[Vk iIENDB`qelectrotech-0.22+svn897/ico/22x22/document-export.png0000644000175000017500000000147111176605035022302 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڥOSQ{}DkStЁ2 &A(F!90( N4M00Ib& 1c AhQ㵶^Ͼ;xsߞ{_%!m]\\&A3܆,K$)Q 57HzO C`b0pzd2@ #M%OH/0 Qh "Ȥldx(O0z{ o---%@b6`uWWB( fgg^oxqqtIyU0dJp{||}4M4 z Vx tOXV1<$33_> H ^CAU9&ZX|ݿ: 8<;1q A jp|Ag$'] z%_e׬Mr\[ '.(pIENDB`qelectrotech-0.22+svn897/ico/22x22/arc.png0000644000175000017500000000042511176605035017710 0ustar laurentlaurentPNG  IHDRĴl; pHYs  IDAT8픱 0D)(X10 sx`Z$*&8($A9+}[z\B/*@]_"SJ1Iii]!h!䮭ֲ{f8,˷'m˦i\,c.BJ̼EQ8 0 gY&y>laE8ƺM?K9fDIENDB`qelectrotech-0.22+svn897/ico/22x22/folder-edit.png0000644000175000017500000000216211176605035021341 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDAT8mhe=xbgizܜY+BA&(ӨVbD,*"EaiEhT+ >D)Lɷ9wΩ윝0u~Dk͍! zC~^Q쮒yz)0 lk<ٓ4(䛿aiپѠ_s?ޑ]4bSώ/ĶKDz&-xQD@SĕOdd46%cZ 5TIa0 sj:2$D^=p!ex޵g^pa qm~#9N3mʊ(umΰ֝$q*B%9:G7.pTEig.a9&R9r ʥjs4՛lgGz;qe7mYG*WX_,tN;y1y/κ;dq緿BmDJrYxՐk(gK٩IAoE)5NFpk[m0j۷ G0 PuŲ,?{_tD"ejŘ}Ftda|ntuB`y܃i[t.hX͔SP(_dRȤ75S eq#*P.XbQ|jBFjy9\deuTxwHpd*X%ur"Brq*x!tg3sA4 u$fd{:WnCjV1 zLIENDB`qelectrotech-0.22+svn897/ico/22x22/restaurer.png0000644000175000017500000000147411176605035021164 0ustar laurentlaurentPNG  IHDRĴl;gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?-@XM{69 ~ 4 R? ~}Z@, Cݍ~b`O ߡ ~= 4?ĥ'а_ 47? FbC(@,|%@ FfFпȂ@/,^@, r#n- i3n0dȰa?~gw I A 2 P l0̀  H .D$ Da^y*J0(C9@rd2-VG  @ 49J TLrbh1 @m/ÏK , lAF@z;PC/\bb䘆}Ao*p-@a b@f׀ ?`>< c ~kqi"Pc0 ğz &tJ"W:?"R HP0z 3ȟ@,P $ whdU@>? <bC;X @{6ީ`K@2APaf] ur)@?F F)`&>GIENDB`qelectrotech-0.22+svn897/ico/22x22/names.png0000644000175000017500000000203411176605035020244 0ustar laurentlaurentPNG  IHDRĴl; pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?Ì33Pddd0 h/Ý?ԥ^Ű'1|ۏ a?w_~12l@p9ݟex d?@ <@~d@X!` 2 ۫f0 #c.A~t9bb-Ü9lpUX| F3101"3-L<7С8~ |yfffÇ3ܿ,vE0 JQ0_}B30222lذATTaΝ `Aϟ?(@5ׯ gϞe`cc˗/3\vÇ ||| ~ ޠ8tí[޽p=0>x 0BA)lQ׃ f044d033(W^ 2 PP< i0[l{SYY:>}Ġv^~ 7=(qA? l۶?$/K,߿PŠ$K6@ e˖A*0 PsPAiw`1x7k2}p  pC6 0 XĀ@QQ+k\\\ .1: 0 8 ?0-G%Е(Af 6^... 3(@OOυ'fOA|p1Ǐ`vkk+(,t@,TA\QQq3Ƚ,@("Q2X|y&] @1RRfff' 9IENDB`qelectrotech-0.22+svn897/ico/22x22/textfield.png0000644000175000017500000000172611176605035021140 0ustar laurentlaurentPNG  IHDRĴl; pHYs  ~gAMA|Q cHRMz%u0`:o_FLIDATxblh_032`p5˖-ê?H/Pݑ#G ϟ? pC@188,_eb@1VTTmՅ%KK:y uM ^O^ ܼ{d1bD'Ci 'MD 7n@‰XD@,, <\`gΞ@L "##? 23 Đ0ztu3fDq1Х` ,Y!..a(3 Rt2bIMMpAFKgϙ uĥ CA|eQQQ`zu`yPP?۷o3ohC̐MIN0Wk֬48$aMp} CB &P%~°h"K 9P JfFD( ŋcd L(RLd0#`FȻw., t/^ʮ?~󿗗_? OI`222t @ 0/޽˗߿/`DF_ 3,H!  Gps7o ~2ʊB xPk.K7pI{Fb -C>+0mll uukkiP_II ,.++ %JjA@1:99kP&9|0VWkh@|=jfcϟ?3JyLM@L 4D3 aIENDB`qelectrotech-0.22+svn897/ico/22x22/document-new.png0000644000175000017500000000155111176605035021551 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڕk` uXv*  "d/QAt? VwUP:h=̥6ٮi/n{ǛᗗjBփvO {_$$ZDKn!7ma=d7Iah@Z8@;}  ] ]?S<,Ick@w&{S=uy"LN<=A#=g!$_5&'2.W\~>3 G?G"C.|{ٲQ(N _s8|$/@W]R-'UHa~74Xףk8omoUѽ&r(ʶk{ چ4"Sw5 "Tj+Pmq=yo' Nw"~w>!vI)lvBЀfwV&wSeuiv;,˒."t%#7 #̂n¾I,// aT*NժNԱs}||G}kڧlW(PxzҼvL6MM4KDtr98xB<~"7ZlŋRt8t]`ieUO ȱm}s=N%~C((J 7[عm H`NCC]ݔc~\ ]ะ0b3veeb{#yi:!( Wҭ D.1԰g{W+oM_&<Ӏ?\D$*k]Op,LWC dYú Rlm0XZC$GoX茅g; TmcaS-o9+9_U$` `9=13i?:#&uJ.=qgzV,QXE (3y[lfױs3ޢy&xf*65A!I\Ī-R>EF~&ol%A&+ޱ,sBV^⦪du]2nL0$28"R̚ZH<4iΟ"+/;n~LKNK/OSiڗjG͵YHE D~*Sn1M|guR\m s]_ҥ%0<]4nm*;KtקtW{*cUBe™3i kc[o/ e$zzyR(RC^ ։VASbQº:1 ٮnܔ\>BuVV079u9ľz0w}7wbaJ-%?ʭ<ϡlw$k#f!j$O=Ͽ 2@'2qzҳ֑=O\XQx}dbZ_ĥp.J)!bUć)<UwX)t 딤-'{V D IK^ 1H e} Bzu7P|8@#F߄Ik3l`368Sŷ $Mt#0'FАY$uᣨ} |?'fEgBR?B<Qk8}5h4 4~iIFxeNu{d:`lS4(=H$557߂Jb ~L#eWKpK6 (:@8e:>53owk/…$Y~0#8+cPbA gs(@/ bF "V [SXr}{ۣ/&"0 J I#,=@Iә2 j<Xf<) fy56؅'>Z?(!3*?lIENDB`qelectrotech-0.22+svn897/ico/22x22/arrow-right.png0000644000175000017500000000125211176605035021407 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<'IDATxڵkAMڊzќScЃh.m)^K^"x7oR*xւkkIlwy$BN$Mxo^f@P-ѯT=svΰnD` ͔%,]t#AzS596! #fV(2 S*Nobv]ð@*T(% YJ:?3SY'h[2=tqVhE YD0بڨ 4^ח, s`6A# b`"<04ZPl vx x72,`B}2% ЀmhE 2y w3^۰TQ' @hin}[$db'fc ˞RB42@vkzǒB2}&TsȱeU7~/7h;X \mom3Bo=7aS;6IENDB`qelectrotech-0.22+svn897/ico/22x22/configure-toolbars.png0000644000175000017500000000230511176605035022746 0ustar laurentlaurentPNG  IHDRĴl;sRGBbKGD pHYs cytIME 0LEIDAT8˥Lu_}b  %:Msj,p+?9[u4V[.]U5-0*Ѳ4ksq(pwz?>qxÉٳٞ<x7)ik8 @NXI^jAbx&g:}ۍnkyTTT`SUf (D,TER Ӡ)v;ƍRBdf|l] deM5Nt{f+6׹w܅a,X۶jo?u0'p@(MDx~{ɑC-ol93rַG5fNS“OUږ.]z(gpdbNloz'ܟQoQV-ub EQЖ'RaUb޼J:vqUp(*+(8p(zb{_44 SMʊJ]-PS_|zǯ~rLQ_MG=}IENDB`qelectrotech-0.22+svn897/ico/22x22/element-new.png0000644000175000017500000000223111201077327021354 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<IDAT8[le^f]ȂHblC[ki4Dx˃I$C$$+& RRZ .f3zIazo9ϙDPJy91"|F؄"}ܣG>Z+j]ڸW{c{)T \ε4GR دH$D8>~ΆN"Bef ttxշfz{{ihlD)R ReN `k|gm%_K!5–b+Êx<൙K dg4vHz.ʹuE SL ]Q; ϟP@8}8{Uo45KE"X,rgDؽcy9 ?!Ÿ& ֚`bUW>ٳئM̅.r(טX5:Y`߫|-J$o"i}>RDQ:Ýx^&v pc t)>V]׾>Y\\{{%HPrb۶LNN/֧ ?!5߇%~D&:pfR8M4%SSSq\r.qd[ ϰuz%WND*ŋ!i˗*Ķmm[fggԩSNu]qG,˒.IRbJВݖ{ P,1t]iX:*W҂R ߏa(`0i>}]vHRb1`(hjj`0R'O8r4r\x""7oD)E(׋m۫5M{f."2X---۶mc$ ,u]$ͫБB<i-`ԃq(JZ 0::_.1IENDB`qelectrotech-0.22+svn897/ico/22x22/ellipse.png0000644000175000017500000000134111176605035020576 0ustar laurentlaurentPNG  IHDRn pHYs  gAMA|Q cHRMz%u0`:o_FWIDATxb@< &2I$lQ/+ۿ~cŸw/ybUqqn? o^1= gNYph[%$~tvҿ~g`Wax>2 xc`bje.P7^S@!C4120yHHJ0{"IENDB`qelectrotech-0.22+svn897/ico/22x22/view-restore.png0000644000175000017500000000127111176605035021576 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<6IDAT8KSa?v69ES"a2 "o$A0𦮃H"YDB` "被 "_J8 Qټ09'9颚R\=/yW8E qڀ@i`4djK.VU_DR|>67ok_5u]WE |ۂu^\mۢcry[pYnز ׻k >} e6`n)3ذ g2)?bU_Lf1gJGtI#8j8B`{o&SL.$Ir9t}M WLbJ2e kFnw;d )dZ3V9wp J] 8NFG!"M߇U}'g5cpqo!M`2yO8wQ2ւ=t{qHz4#sZ>=tRlj\;#WL ?H`S<<%I`ͣq#|qLGݪ3qT[:ڊ8 MB=^}?wtv8tIENDB`qelectrotech-0.22+svn897/ico/22x22/rectangle.png0000644000175000017500000000044411176605035021110 0ustar laurentlaurentPNG  IHDRĴl;gAMA abKGD pHYs  ~tIME 'm26IDATxԡ P-A ja\%AH$C!WPuG;c,{ղ,u]ФBy4\E.i]9Îa  zPUUp6X`]þgXb 78:$>Ԡy;=8IENDB`qelectrotech-0.22+svn897/ico/22x22/go-home.png0000644000175000017500000000164711176605035020505 0ustar laurentlaurentPNG  IHDRj sBITO pHYsvv}ՂtEXtSoftwarewww.inkscape.org<PLTE5<>FJJ.4628848:6<<6<>8>>;=?;;=;>@>UWVVYX9<;:=<).0-23.34/5604416747749:5996986<==;7AEDI`LKGN&NQNX+XVPYa[[V[\\[]\]^^]d]j^``ccccdceffeggfffghhgkih3hhbijflolqsqxysxzuy{q}u>y|DFIw?MMN}DRHJSb PRY[^ahgK x0tRNS ||#vvIDATc` LE%l jJrڮ6R5u>ZUH’ezM-a n h + [x7AY LX4"L3 vA0HXJu$0YX (,ه"fGMIMMbfDA˚ߗ35/*;%77wJRII攢ܢ)PḾ¶¾⾢8p”)iy`FT8쀔l0#* rns' vrr 7;k|L̬l\<|<ܜl,L r$n IENDB`qelectrotech-0.22+svn897/ico/22x22/diagram_add.png0000644000175000017500000000047111176605035021360 0ustar laurentlaurentPNG  IHDRĴl;IDAT81N0G;lX8 K Tb-C:p\^!MJ"%!KOOOlf(]["P3fZ+14G;IXaM8^iLKm >'Ȋ7Ha5 |?p TP–lm<)NҮY)NѻozҮ Td+%m}~>xK'o'h7H{OVx?,p;IENDB`qelectrotech-0.22+svn897/ico/22x22/zoom-fit-best.png0000644000175000017500000000126111176605035021641 0ustar laurentlaurentPNG  IHDRĴl;sRGBbKGD pHYs cytIME w1IDATxڵoPV XXE SFb+kFP3,H€ZCZGrAvEH|OqW|v>RE&Ѭ:ɜ\U3 \.Ȳ4_P(yG)5aR38=xۅzh@Zinx:|\~zX}lE`\@hTJ\1#k*~:\s釵x -JHN໵h i?GbK2b ^S AiMO f?)^ 8$PW/~"VXqf0ׁÃClNR~g5=iBR8]hZ.[Q'Ɔv`J,a^p8hQv:m'./uhw>Ih{ `MLBbL*pM3teM3,\]}o*hU;gaRnS"̈oGIENDB`qelectrotech-0.22+svn897/ico/22x22/select.png0000644000175000017500000000101311176605035020414 0ustar laurentlaurentPNG  IHDRĴl; pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?-@1a Ĭ ct@L4~R N-Z21>IJ  &B 5 QDD H5 H 7R  &RcX4l8c5 XH1#3ŋ/7@cȅ04(H} `bB ja|$1# b1 ĂϥP׽" /@>`+@ p(g `aq"rġ@X] t 4ƿB#{ M n%>W@L8, _A4Wf@A#J}&5 @<1 6(쥡, gtsTß Ayz=IENDB`qelectrotech-0.22+svn897/ico/22x22/landscape.png0000644000175000017500000000046411176605035021100 0ustar laurentlaurentPNG  IHDRĴl;IDAT810lr)<`2GI^@+=H!?X L\q#x>B X_ $ڗ[>l1Ƙ/)%XXK Nڞ')H5Skz`KI+a@UUȲ Y,Kl8 mes. ~iEJ)xCMӀCmw9i?3xqr*~SqV$ !;Khdq _1IENDB`qelectrotech-0.22+svn897/ico/22x22/view-refresh.png0000644000175000017500000000240311176605035021547 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڵ[lTU>s3ә5\,۪D NgRʴޔP-I4 JJ TZ 4rDCo<4&Ac:{ƄI[A_xZzҨzv>kSdAOTaOa$3ﶻ=a(@g֕|ZhPO _/D*t}҅_ov~lو+a3մ|yЅe&g)D\+~>#a v|q>#bXnطV;f傾t@Ůi^EY=zpC {5]H:Wumcm1֟Y.Gv{6) SA~_>v-HjL j^ɞcBHoN1UBD)"ј K.E#?9j0bA}#9˸/MZV/'1#$o}maXr| 縟⤰EF/)+eP]1(ڧ-G_) `1^wsu8R\ؽEۊ橬To͐jR0! p~D޵<}^³{h.[qTvx1o<侖 PT];C,s*j$a JA iMfOS`5@\0\<'J*Wdg.:_ۧJ5s: }|{ᖚK ,҃)*I0}#nJ+qJWv^zu( r5Buh'B'!c[Vb*K+n܇m۬AI'𚢔Ns.#-"h\ 2dbqRHnM9H>}M:]5YM R"nB?ө(8S98wYGc[m(D31Āp!s码#r?paH=+.\sDq2F,8!y4̗P첫6߅,Oj22',x~JcYrtVR RVenP.8' &xxf[coU0ͨc3 TKuM!..{ʽlIENDB`qelectrotech-0.22+svn897/ico/22x22/bring_forward.png0000644000175000017500000000064611176605035021775 0ustar laurentlaurentPNG  IHDR pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?5@11P ><2 A 0̧f`E<G6f@`Z/a`7BlbCY{50+G]9 ,^Vq$CՃ ,.| gmCz,™n @a0o  L\'^? @I7 BB6p0?-ȅd@pڡ9?  _Ăhb<2 A 0̧f`E<G6f@`Z/a`7BlbCA@a q @ >@aG/a@1B0>ܞn@P @X\P^} 0 _?0%r_8n(|i @6@D˸ 1  ⼌fo]@Nb35X  FXfddDsj+3|c [  _Ăh i=V@9` bv @T2@U{e.*IENDB`qelectrotech-0.22+svn897/ico/22x22/arrow-left-double.png0000644000175000017500000000163611176605035022502 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<IDATx͕OhWǿyfݍQ7=tZ Ic@Da!RPzɃA"=B rŃ K/D+B 6쿙MvcfhB×7}~߃aD]9m[إC3;Slf ?^~<0@oF}QXۄ^L|}zm4GSԝ+uoG͓S'::\߅J܀3zZpRj$͇fgfKj٬%4i?('?$ipkkP]f\GO4"4eI=PH^fؗ#C~b 2p\i3J3*g3o_[wv ܞ$ha-@J$JK%\*q JˈEc!A F\I)Xl_/wq<Q@c2,x$nf^3ع=O,(h2о ,)p]$E@>IAϷѾsd2԰" so ^}g"oO@2y@ ׅ;yt{Z1b}}:u8zǛoyw;XkASݵ @gu-$~/OB#E\v=*L;Cޫ֡e6 Hw=b?ptt{`UXNvΡNd/b>pB^<b_4OIENDB`qelectrotech-0.22+svn897/ico/22x22/lower.png0000644000175000017500000000065611176605035020301 0ustar laurentlaurentPNG  IHDR pHYs  gAMA|Q cHRMz%u0`:o_F$IDATxb[lsD322U@,Px+1d  Ϳha<"CD $B +.b8|>F8^jFZՅ0ɋ0N˿`h~ Xd "OBbĖ @ =1%nb'+F#y@ X 2@8]+Q@l9`_ br@0 x XK |% 19 XEX &$/ t52=IENDB`qelectrotech-0.22+svn897/ico/22x22/preferences-desktop-user.png0000644000175000017500000000231511333571512024064 0ustar laurentlaurentPNG  IHDRĴl;sRGBbKGD pHYs cytIME%J@+MIDATxڝKL\Uƿs 0 H6 ą.6c¤[Ycbc]h7ꢺ.LD]mF ֶRI)P s_DC s9~9{0=5%)K+~ƧWn?p_^}n8gw`+W_z8PMؘ(^A<^_=/8\>AR$$Xk$ݰr`Ap֓iN0Eƾ@Vp = 0M%Kmh;{!_mŃh@h %"@-PjX&+Jey{ݾYN,^]UV* n-,}8Ͽ~歄`VrZϯo1˨ovɱXt&PSg)]}ϸVչ,6HZMŝTLz i;C=jͨg/ާ{ 3hVK:<=}`'j싿 ;{d\gΪZ7"4G=::aPfDNp֑BPh:=v9;76##;lAʴ,pR3) Yxz TV u|zbGǎ 7lQEiDŪ/gQv[}u;98Ph-~hxxhy.PXEAd'x15á&>Re0RZ ˢ ;?hmB8$ E I qk&6.R 0A)v$8d %Vv-kkkHf쪿#4Qϟ)\Md$I8vhf}ԍC-<ބ%\/㫄E\WՍSx0< t#$De4up<_L+_S+t);I.?ύzL9O ]؃VIENDB`qelectrotech-0.22+svn897/ico/22x22/edit-clear-locationbar-ltr.png0000644000175000017500000000235311176605035024250 0ustar laurentlaurentPNG  IHDRĴl; pHYs7\7\ǤbKGD]IDATxUKL[Go @i,RVH-AjUV%HXB4jla%]A!$26v 5R<3ss}ح^ɡҒR HUU1 t]'M$\K%} ɜCgey%;铎k07fZXXPvwv UPp"qwul}ݓh4qS*NLӼ@9Z,J<7tM }sNm_ޮ<==5  )8'ƸSwYt "A$%5C@DwTڨayruuWx2W}W?kDp8Ll``@NMqSSP(DoܸYڼ5::j ~L&3وsrr.shh)v566%V]]-6j"ozR&$sb׏-ƬV+99H9P,q˥9XCHx߲vA*̓5n2#!0B~rrxމFRԏ,1vQuMA8Hnccc4==M@cid\Mi6B4I. Ȉ{{{  &X=>> ٥=|z]9H82 y}}w:tN3339:}3.LEOpԫv9dIb( }>}keH$Gcާ PsS3cUy!&xEJJJ/T ꘨p$LbTL&Y G***"($Q5&8乔|\udxSz_vJJ Ro@(6x.A` gTF20}"zTXtSoftwarex+//.NN,H/J6XS\IENDB`qelectrotech-0.22+svn897/ico/22x22/dialog-information.png0000644000175000017500000000217111176605035022725 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<IDATxڍ[h\UMkM3"KI/ HZE%*HԇJK*RꛈVlɛFij 55M%jb9]gf!3#=g8ÔRqIȉ..!KԐ2 My_ÊL]\/` S>L˚+6PČlqtϙOА0`J?s<\3Ҷ}CVɪ&8N';;4_yy>aanف8nh=\SϾڊ|޾yM/BzɁTW`sS㘘Lͻ[u#}ZB>/VD:*&|3춚AσKOۻs5vu5X4Sjj;+Utٳ9GV}WQ:B{*yF,ijlrAMyZK `Mmjie](n:^JY!R*<QK b@UiUٞ?ÃC.+3ڏvUnl+=K^Xl v[^ Ft"~G̏r$`4DJPXX]d < VlGFc.c`Tsc!$"VۍuHm+]Hq;f)T bo:u} R5е I;8Rk G6 斀y ~A[RCAMp=kHh; l t=#drԕcH .$;\IENDB`qelectrotech-0.22+svn897/ico/22x22/arrow-right-double.png0000644000175000017500000000163411176605035022663 0ustar laurentlaurentPNG  IHDRĴl;sBIT|d pHYsaa0UtEXtSoftwarewww.inkscape.org<IDATxڵkTWƟsgrIѨ1])FĊ AݺQpRݨB׺?ZhX2ֹ܏zD&(prŹ `׎z-]9'GK98;tW`J]Pٿizv> #>2}ͻ[)(p\<17otNxU9LML66ϱ~oC-ѱcgcv/L@ӔW=D*/(QPZ)axdN}s;֚{MK BYZN-LO?&)L>BBJcPBA{)ʑt>Kt(p$!cc--T'@ }uM3[{Q\<߇ߡ ]}}9*|^l[|^oE R DWa|IENDB`qelectrotech-0.22+svn897/ico/22x22/go-down.png0000644000175000017500000000157411342301024020505 0ustar laurentlaurentPNG  IHDRĴl;bKGD pHYs cytIME N  IDATxՒ aǿmeעFDjrK yEJI?wⅴ/v%B["bWa-\֞93gyƳXy37ԧ|gA0 ^{Ӣ R*hܴ ״{J `$/w#ۇlT@(ҰL ĉd cAӊ.dbb6Q(T;.EEBS^تh(?xM$~a(c$|.7}ћ|.HF? j0XNi 8<3.1~q!{8v*A\t^=WCӑv?^дk +7/!q`Dfd͞U=v@oQ9h 1@DO7L3 )K Y?c'jy2tIENDB`qelectrotech-0.22+svn897/ico/22x22/conductor.png0000644000175000017500000000046111176605035021143 0ustar laurentlaurentPNG  IHDRĴl;IDAT8=@FB[{נ!܊m:E݄pJ60IG}gx7ge @X[?4QU\.,IJ),ߪMY\%I,^ uRqi,BD^,6Zk!0 ض[Eﳇ=xas8.q{bi4nVZkNEQ*[r> Ð=lU=]ױѿZ&1 UIENDB`qelectrotech-0.22+svn897/ico/32x32/0000755000175000017500000000000011347002064016427 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/32x32/image-x-eps.png0000644000175000017500000000242511176605035021263 0ustar laurentlaurentPNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڵkUMd7IS$MIV*Q0DDՊՋ" *^^"XA EV`mmvn23;,'CFox93}K)E(+`&TpoL @Z`q$VhW' eLlCÃY`- W8n%E1 nUuD`ik 1V1%qZ&\t-ׄm*1%-(ݨ02k5l{mYe 7 ?prq!ㇳxkx+A>Y䇙[tibc 6 pQ_>8=G>( FGQeNg|ze9}ُm7{!Am|tZ.~>6R6҉mK:r] /@+V=%T0xtK'Y&'mKs%[k)*_ !Q8oPR1HO&fO^wo=MFE7Wʮ~6#_h?'m$[^.?Wꏚ' \;-$6{ n-;haS2f.ҝ !r[jY}0]-4ܨ='m׻7Pq=ikbpT5sIP R*t `Ξ4F/Knšry^Z@tx+KRຮ8b0$, lct)?,c1q hZpȵࣨag,υ OskHb0kQsi%‚>>R[[Q /wHeŕn1eIC.1<Lp'K-ڻݯtѻY8 e˫ߡT;zKBA/AKK KGy.r&/4:H.ӵ=[,/a kݫ OPJ0@%cAF ^*L S)s@l`3RH "sO p<mSOIENDB`qelectrotech-0.22+svn897/ico/32x32/application-pdf.png0000644000175000017500000000300111176605035022210 0ustar laurentlaurentPNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<~IDATxڵ[hgUZToJ&A5A( EM| Dˣ- ^@7HLc`4udݝ^fw\vc=0L,H3;|4IӘfSI_!59jf&30!J!N# 34!V6m|^/D6G bGF f2C*`,XݶS۷؈77·s't]s@N@%or}r7<ĝ$~_fFM3G.iRx XMN*J́mJ~& Ey}s`:ٽ?…Ȝ8\< õJ͛Q~M߽͛ ]g,>#m{^f:*u+41κrK"J+\먔JjBe^skh ^^ sP?|Hk@M pby٭| pyyND677i>;;+MAh yP&3'Aq &탂UoG`nnN-.~C 9tHO999!Yy։ nnn 8ooooD>6eaT /?FvLIDATxmKTqu:8c|vQ-\*VQm6EP@[XEh(e䌚C33\'s|@(|tռUdN$ IрPm3@Z\({R˻_(MlZBrJ !4JH` o L 1pV]d?hId@$_$U3]pSqB^!/W%W[ F cgTU@TbfInYzYnjgGzY:ǹ0cZ<`@TG|؂g&sW; #ԫK`N%$lr$CpzTwWLu/mhpOsmg@}&&4,] B9p>nv_ߓM鵓8(pa @5LQ9tQ]]]]ݨ?ַ@ C(@ u3aBQ=m J@J@J@J@J@J@J@3 n9(2,Wze׬)ii]$E%Iaߑoޙ ^{+]VG.+SL#YDQT0/#3Q8%)K6+t)}HX@1@S$EיfDQDhj`(cq9/< J 0w󕷮ݷ%< 7[m6 14-`MFDnͣ$BI$עn{B[>Um[]"8V%*'NpL JR01y @`h X P(! ݶyA,qL(,b/XAHE9( IE mu--Ƥ-RF1#V=tC'(EǡwNx,\AE]B,J2B$ s< , J !!A #0^IHB;B J%>cb~^/~꾊Ӕ]Ƈ;:vKcjl6:|sgDRIoH/-r"%e Z},6iQE$Imq$$(Jlj(I$" I 1$$!$cp+ALy)  - _P KUf4nP.Yx<@Q@@S@Q !x'v"wVjҒ&V16L3袼ƥ;gK B$$"@BaYϪ֬mRRfIEL$O%QD!AI$ ! ! I M H%(DI#XQ" M 1(lK@ Nh֟$O+z HX -Y V+H t;!!.}[ڔ2c.%hlv <9n40odޮ9ՅLf#PG,a8x<2I@[\hXk *7DwL'Iϋaa rJ" ,d>P> ,v Kj^(O>!G:.>=At@ n<=7zB{[amfU]uE)Q@ 8GĽmQ})ޞ ]4[#!I(dAؐU樞&8-JApkMGR*PL# ;ӝ̬ͭve%>B ]Z_唸۠{^n /"fYI,-b r/3n I" xasw%Ђ ODQ 8 !D8 XCޔ2:jP$BI9MMM@?UPDؙXa/7X+z=h}L ]C'z.pAD` #!h7o|N Z0#^6!azq@0vâ\x΀5'fN}əZsm39C( 3q.$&kSVP0(%Mw:j2`(PÑd~ڐQHcg:1PÑ3؈wEʘ ")8PÑdu~tF"mAyP#6]K{nٸ!ބEC݄s%A^>dUWS T6v"m%al1g8-UL C|dLAޣZvB lPBPB(y88A)4}$R[N0qHLZVk<9cbxzm ˜t ! D( {vqCaAQVy&N8!F#ޢDmٲEvxoF۪>#G Ux?t޽{P@qlիG@*裏:!iKu[ȶ(].ԩSUCM6mHzE㸔wN"s-((]I ad[х &L=58h[)ڶm]paFF7ԩSLrՓ'O⹮pȑ#s @qlRK[[[ssٳ!j*++/_/|C~ynlSSӵk׆1b ekkk{{G<1cl 1wTaM;q\?$ǎ#cFv[ˬYf͚giM]]ח/_nX_;~:q\sssYY6@Ό6TVVz}Z>? ( ^Wc$'W5S@& 9͞=[ׯWsrr;;;}m۶9`pǎӶ駟VVUU%82&X744;v˗/>}Z@W^^q3 6ìYND 5][[{e~m]ڵ3g aDH߿矟7o^NN0bÆ ӟL~k׾+@@[Sș PEtuuOewko۪k=,pQU~8~*>TosNݻ~|+ਲS\\M5k(?~\PI(-[*zjegoܸ1oݽb e_3rIk}\6q6+W.Yhѯ~+sM2EUO>bc(=ne [,x9._\ZZ*QFrillTq1]>c 7wyg41s?P>(w߭sJKKlt:͛7ȇMMMu )Mor{8Z󕖖?Il6n7x^ٽ[Y~ڴi_WiӦ}ᇪ~%y2C_uV~^zIQN_Lb&*cVSꊞ;wNN_xQyJPf̘mj<?tR2x#msÁʬK;&Q YF x<ʘZ E֦<iq}wW|K ֌fb@{9He F 'ݮ?쳘.W` AP(<.8hop9^T8Nq {7 G9g$ .h;n׫vgRRR_ĉ#Z!6M=SK)VkHJ0:3%kyO<fqu]Û7o|aQk^d]lnn^ AxQ{˫g:tH?Cáz3 Y_V/q0Z0kַT^>hÆ XeBs=Z~rm[i 6(kme˖UTT̛7_>裏 kPHSn̙C1sя͟o?{֨<+裏&G9Tyݺu 0iz W}}=&Iҍ7~M8Q[?)>Y뭝]?A>qj4MӧOVӟT ӣ\SRR^z%e 7U5?I&IBoM^7T<쳁@@.~!f;6ʕ+Q_lk=_~]YCף%2|K@ )a&// ׿(jbic?k׮=|U5\vM3a„|pʕ ]󪪪jժU1)}1(ѦM7>_u8{>nP6; {VhI@3xJ^ŋYTojQV(B;vʑf޽LE#*nݺewv!ByBgB:o2qg2D(0$0\={?0?wĉ_~ӟСC* ~Ue˖;vl5dgg+bKJJ~l}} `Ǐ7aoREEŶm?39c3a3x(ݕa<䓯H{;{{'w ̞=ԩS}رׯ~CYjՓO>imduuÇo9rI׉ IDAT>a3fG/N:?xv{^^ԩS \:͠M2_/y]v]xyUZZ:wx*C c zPPCCٳg_}Տ>Hyj֭>^W7^ |p;mƍ*ژϟ:uJ>dfٲediׯOKKF߯ $2L~3G1E }Oo%~Wz嗍mmmMnAy|؂6!tiJl{W\v-^~= %2'م RwmUWsr& 2 ?lp8V^mrïk׮A$$̉z_|Q"Ν;7n8qDvg)b竢 %FyvjNAÇxV\i!zMLooA5B/}W^Q٪~2.s9lFF$I~?>Wpo7) Iҁ-233WX"ԆX2;b}Jh~` ((( g<0({QdnnU̫ ??쾁yx10JvܩKSZZ|rZ***tL]ieae%B / Mӏ??=5Fܔ2p8'(BM8qѢEqlvu˲f RQ~VVVcE+MvP?PSNO%1r)Id1nݒrs8A(n?~wy睝;wz^Bh˖-q׬x֭wyo-Y[[o>e}) GT/yƌwyg* eee&{AIHa6@;P;QgΜ#'߿o#qFcp/eOe&J===}R%U ըTN$"nBRF+sLxꩧ8ޞv̙_sss ׭['Yzҽ/vS .]:qܹsUq+**?Ek׮ݱcGL5y6Qصkrj'&ƍgZq ӧO7nRZZ6F,˲,5z낝[GL2ueeesIJҲzݻw)chggg,,K Ύd8([ZZ+2Y&)!D0a^;;;#p Əl$(@Ee>DQeYxQiƑ%BiLܽ{w]XXXXX8uw}7&4vS.[3g۷oڵrXF***]0LEEE"CH27oܷo̔WwwwqW^lUTT`k׮iP(${a JyiP[F{hb6"Ξ=kuH8jJ7r'OVϜ9̙3ԩS$̠\[3"~5&A@ 呐p8 9]$4)hOk3$EQX+rI"իbi+% 3 ;(p8 ae*dYx @j2Qd GoT;NHQ(3qI\y)-{>Sm۶,m6ۺū4? =''gڵÇ_z~ak8 ц-'رcի~? 厰$II5Y JwSٖ Iȕ9Neee:thd՜Mrtu]!vV|W ^ΈJPe;0W\~kܼy{DzΝ;ȑ>a ׊AX{a~TkPYrBPCJj߃ʡZc|vڴi#!X3Ȍ7Z>q88PUӍ;&˜LHU*qmTiaz̟ &9*fϞ#?^<rFwgD š1ŠtF:iwD($ MK.eϽgY^Έx2\Pqqr(|q2 3-g+l[w<ҡn4qUͲJF}cPIAr),,DZ(; MMMc0\$R1jm&1҅uLzTeU]P=AR>HY37nap1B02f:]DgZFJCr1J%KOOϝ;_UE-OKKK}y>ĸH~FITGK FP[6jlAaK*B8+uc߭ba..ӑjɨTVUHaT6$DgpJQsVQTThG !׋q0Ļ޺kU2 "cpP*RF]kkk;{l|U”'hS$ON1&;fZeR%)Z2*~Ή' 末vQ Ú<3pP&\dSN5'ϨY+ ^7###h m~x|>q$I!bGFFFNNNNNNfffL:* ØKIŸQ",k5،uSxgΜٺu+(TF)))).KTԎ0JŮNe5ʖqƕVVVX,K|̩V999?#]KP 0@z6p5"C$ ,Z,efcN[n0XXִ4<翳Wٶ={8ɓ'Ϙ1R%&%ז' 0ANvG҂DQ%ByyyYYYJ9 íׯ_~7d3 9s̙3sΝ?˼izUP-hpf 3 ?4X,RN3>GBƍn; ZV, V:u-XbfPU2ޮ:VӲ1<сEp8rQQQ8Ȉ)9s̙3~cǎ9)A9rɥK.[nWa6gP%r,z333K@D 3(jjj;9͆#;qƍ7.&-X}ݧO޳gxߵk׉'z!㨆1qP1$I fƸ͛r8vłGfvfZV+/0YYY(655555M0!Vdf޼ys9qΝ;gӦMfZ~Hʫ0cf%1qP1q ~X$I8#vÁg544ܸq$&X,ϟ={={'<}tccO>)K.J41rJ0-Mv{zz .\➸(!|/<\izk֬Ϝ9EYƠ3*i^4qP ˶${'NT͒q:?6Q9 sTM5gbn&_hxE8EXfmٲyF΂+W{ュ}م zzz~fEk`R(Zf>y$x7|_LJge$]y8(GQsm7SZyyyqַ}޼yVnǃȃ 0ƋS0E9@mZ;=IV\kf~Hl38v|`HN;p8P mf~JtƜ:uիuG=Ԟ\|7 Vs>?-Ҷ97ov\cmϜB'dz{~xhc2rl:̔H[Uܿ.//衇ڬV  bmpTԩS/^|8qĒ%K T52z[oEQTvv6?A.FCJ/r͢zicgn1mIdӓ'ONII5c `"c,d푦-_\9cƌ3f$qiP*s qr+FJ+&QN3 SSSsI&Ejn&I&`ysL[['N{ܺ#'OCL| +Tn )P7Bsx뚓5x^әt:KJJo޼Ғazt: f<ae%aqqmfD3D( рB#IHIIq:EEEv]{W@7˲`0%%%%%@?''6AG%0J04H7MIIl)))[ X#u  ӥo<Wffi$}^B,Ja˻E`0G6jZVPB-͌ǭtr~@ Dw#TnHת2rC Y,)SJN812a,%p8̫U2 c4|#A@DKI&FdҤI!"hxL=nա2Q\\o 2|e=N&%0$Iyh<\ "%I555nC"q"333''GdiZgv\>jH[ "ؕQ!+sL5K*AКQul㸉':Nˣ IDATqFW`m rb„ X+esb桇>}|q[WU^kR4MMARZkdb{@| (Kj8<6-m㺅?9z`yDQQNhҭ$ҡq񴵵y<Q뜜by [Fz( BfMe/K¸Z<Dk!H r^P,a- !drssA(B &0 x(Нjf<QU%00asgr*2H%{'up(7S4nk;κs |]P#` 'fN$ SEu;:+Au!BI HZ ,J݂QuU,sRNDMC>$F0y([A@,hp2gNjMiNBYTؤ>ʌ*n0DyFcG3aHiF.h ޲e m}u uEN6dff* 4m`\a| U&h3Y3J,ʞ^bW| PRtژj#50ڕnQ8q`7yI?{EU#0 8,JS G>Vblfs$U7' `œ4X-Q2Gt#2gsye)--MKK A /4aH(1cQo߾= .(jtk-t;VX"7/OICGUZt^b %[SOC~h؊T+keR9l$%#inץe %0JX ځyfeRhR+M 6:Tʥ2M"CW vU`0gVȃuQ KVi!Ѫ[LFb|v%Ja$qTjSjn%񙓱+O(wش4/D( jy06kڰf8$RrcEQ᏶.bpր,mmmC aUL]!SB`0ixbKVi!VIE;iѶ2GI}}jṺfVF=f>~]cYLP"M‚ )eLjz92Vijh_4عs={p:2G[4=TMķ'8paUvUy3uޔCٳ'=[A`dxxA0RuO WEE r ^$ٙL?I&yb$$If{衇䗮p:DmݺLK3+"1G*MQcX-((Zϟė\rQ0i$²lyyy$c HQjZkTvoUEl6 AęlU/xڼ~2y IBC,gIQ֭[.|6{lm nr8P3???^x idaΝvi1qn뮻pDޔCUUU#*++/^XZZ* pX՚HrJ\RtV7TudtQw"&(==m]9gk ,Z?9PHAwފ &כ:u=Qg cus̑wË/><.cXv{FFFNNNAAAYYYJJ Bfq9H5$8qDZ,˲,r[ mmmn;,ԕiECEc@wiplaaaJJʼytKú.`銊 ׻gϞyi7'J,a#}8d}}}aaBzQy(&L .PՊߡ(Kk{ >ST؈Sen7nf]VySm\Y9P(ҵ+ ьVwVVVKKKOOOvvAHk׮ak,0 ( .Y8!9|eټeٺϝ;gZlN)zzz})))O?lgܸqwq,===׮]<&LFk cƮ4aB 555H3(^ZYYUrrrOdɒGbwAAŋBPN,>X,Gk&M$nMU8ʲx<(+3yyyʩ999 Œ3vQUU)(<<R<B#G.]To޼yrlttt`?r/^,IRFFF$fL<9qDS-R^'Җ/_np;2Bn`SN~wyС윜e/^H4"%Ir8x jn,t:KKKj޼yvPJO`NVqW1 -Jq7qkjj>l:ud\\ w^ ߷oߩS.\#R( 4@M1b5 477߼y333s)IJfObYXMMMmnn.)) 0(x }C<ݧl)gs3iݳg<sL\YVV!JKK;`<+!FrT %YM PP rrrrrr233Ϟ=ޥƍÃ9x֋4AiӦ]r))),UVX]]o߾`0k(((7n7^ ݦxr۫qyPE!p8NZTTx!I|>B,ˆa78yҶ5Fw2MӁ@@x"AQTzzҥKq%NZVV&bgg(x zzzl6*5PG|7#IjC 0. `0 Ne XdulalHTʳx8^.@QTMM)Edu|aAA+[A!RfٮT1QGƉPct:#q Bp8tu>,2gfxfw152Բcٖ^ai[#+O)OIJsW_utJM:eK " f&`fg/ޯHct)̢ɜܻy紨DS nh5`|/TXxXdYVU:'$"XDQTZ `;NBIDǣngVEZ]o939ݘ`#5k7CԘEV ›P ~rCUWWkt~3~;hFX{+t3><3npOz<Ȼ&:g{5S7g[{uQ`dfzư2W wHL3|Ԉ9yDlo~xc)BMiEař_,ysձ\QU@]]ͅgl٦Ge@Ha@h/>AKwx iDI?Ç7-~ɒ%w޺uOXl2{l5>JEE7o\ZZo -l?2mpǝQm4Fsy^?oxGv8lF,FRU2--mĉZ;vl߾ϳ3TKOO4i! f[pr 'xp#[4H]e'݂ a[|lw!$`)**p뭷9r?]~RQsޣG~'NTv{n!c'󧧖뎖m:ԧl>K";,LhK[[+b}{ $ꫯv @ׯ[NM}ܫW/m.\YYڳGꫯau:ݸq4EQt EﺄO ϶f#jhDEΛ9;)s􅄒 bڵjaiiD5MڵK-;;nEEZHKK ҭ&=3 8g9(TR#y`Yr'|8٫î*FX H]C7s?n{۶mjyަSNʫ,Z|͚5ZqO[PwfVmVδi=mg<]\t,$2}XjAcp7lؐ 2d߾}ms ^T~IaJc(N u ABIp!0dzm%?ѣgΜY[[+bqqc?-\kkȞ/޷HI 3C9Ƙܯ_?^=У}vx|P[|z[nYvm5 ‰L֪Q߸-li n" ~?#bZӋ ?35s 3ft:Nc&^7o^XAe?Vi<4}?m0oABI> y粝$Ijyʔ)6mTUU ))i֬Y8fRl66G ,$h2?Ʀ˩+4 !q8=oteOy"JdYFM6;9111V9_`A]]ɓ'Bu-[q\cƌyСCG"'(|cmO/6ʁW U￷v߷_ }ʛ) P %Af…s ՍEQ}]u8y1U%hW\93lM ޭ<ˆ:Ip놧K_ߐZv#򍷏g'GUɧJVj>Iu\'C7s~Vs(**Zxϊann={Ǝ~ͤ駟sE[[zj ^ZYycM 18q4eˋN8\k01w٪ jL˶ V***Oϟ?0lذsзeci]Й8劳5qֺSݬ|>օ(;Z 9ABKz~Պҭ5R(E']n5|`\nBqAbC_~g7&27n|qW fT}K}DLRdu6 ֋.&8qXn\g8yǕ6x9DuV7Hԋu@gç%AmGggp1 xŕK >N'W\S[沂-q.G,rz8xSALHqӀ$As^v'ġpDz+8N,qI"\p{}|>0oQlvPS77At&=3Yd8&`X M樘ް̡؝$.`s8gPüj-vcDU 9WrMݰ(ː u2"z{ eu۔KCep %/+Ғ.1 D( x~}4&]}|E,PF+EA1=]_r5mznBÇડ`*Z%T,2~0P+B %Abm.\^κP9 Ua/]=b})qkӗnkf?F^% `QS0&A~gnBIٕ~s\栜1Vm|Ҝx_L\] IENDB`qelectrotech-0.22+svn897/ico/diagram.png0000644000175000017500000000021211165461721017762 0ustar laurentlaurentPNG  IHDRDbQIDAT810 Pe3*2а[2bɎIRPIlp^k6l;WJ`V4t_Nn/,swIENDB`qelectrotech-0.22+svn897/ico/128x128/0000755000175000017500000000000011347002076016606 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/128x128/settings.png0000644000175000017500000004241511176614511021165 0ustar laurentlaurentPNG  IHDR>asBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<DIDATx}`SeI=B,ٳ("T([(8(Ȑ!CCA>U6 SA({hM{}7\8~M>{޳j#)>+DR %ʕ+GիWTyzx;988. \b^}}X#(s ^0?ֿ`ɓ'ZjekY(wRט1c^9r^__75jԠUPi 1$Rqpt/qoά_~kho{7C k ,eKj] ;{>,f͚*UH5UϢb >):SÆ >|x?{~6iDj͍vԯ_⋓'Nic8I \NރˋׯGeՕx!^y*6$IA Ӌ Yf/݈ms ֵkX,վ{޽إKxHHʇLJ׮[w jbBƎ;u]vMr]b ~]م`C1(%%rQ-ZԻk/ůZ^~yO>i/'%|_P %K-[޽ҕ+WF@牕ߵ|}_S (+^:opw}:\S7$*?C+Ĭŋ:x21) gx $bmӆ^_n7H>xnzޯoCt]2H^a|~ C  UՀ Ʉ`X7˚3g.|ssr(';233^TB%]܍;wI^ѝf_-|.D֭[qx +`_WqOP~L ~Vِ 0:%2"⫘+Wڕn!_V` HPQp{NvZ&@FL9IVW¥J#[I_!lC'6Heŧ+ڨ}V/!)0<|51(Rwvv*VڂUtz'۵ q$M"[p׆A=f}YYI, )6=bdW*{Jfe*lKFaw9w^|P>K𳳲r@!JG| ծ]LoFURHO%|?  PGQ4<#`d(gKmT~^cR;&2S}gYΞ|"KQFy3 Ehr%k֮r`.[rH.|ԴT[ЅngՕ6TvfkԼElVцURk3… g >p#BE[ RJ6n`mlCN L& Iu-ꗠ[X@pT,vV R @ IFD5Օo :@ _3Bm 1rg/*Zı^"oeO4jլI]xeNry;`hw ^%"AEzj)T~A۔p;A||!rk4*9J^=hI`[ $˗lڰ~эظ'OuN$Y ^^&`/wQݺu+YIJZHww7\̌ tG~UCTqFh+EXPTVmDSA%@$a2X(X}ƍG 5"տYn 3r+V,[Xѧlmm:᳣vl9k Ӂ;|{{+Tx>u 6X0Dw7 ϗJZޯi?Ilwu9EꟅ-y& UHU TZ-`~۷o@&Zm"ջv[(qWkMhҗ#GSW&6Z]͛"% $NU-a( /ԕNMK_ܯ_6RIvFic 3ߋ_! U૏՟AQ"^\@:DM\jhlmz̞;j2T\WO;D6[6o?`MԯW22v WPaC3sۯ $n5a" \v,$P ?uKhE"4SZu>Ix!Duj֐g^xuWjf;32}m Gm K IL۶nY+5h* M#Bp)5hʟ߫wbSIտs6mxG&@AA>k mloǪ=UT䬃=s܄V 61_|/**zޖ|222$TZ(Zd3lF LƮׄw)##SyF '4(~[:"u6#OLCya{A+_ K`3ؒ[@A.]xR 4d+삦DҤEM:kg ~ZJ`=֑E/zNP܃60?H$@=wE  ;{5&i#/Oy `)3c19L۷?&U]KC\7V@~7 :WY} 9-Ћ>xL @EU:$79q,]zw Gc9&q{%VX1=[^wֽ BȍA %/i 8!kߵʡT6E$ed1`ܨ! DZy qQy 5DD`e'RRN^7{ƍGX%tRZ,yرG(V X=΂y&. aGSjLNW:uB(BTZh:Uk7zӘiUZ;LۊJV}Kgb.RL< O8qHcچ_~>ioظPH!$\,. +-r& Z?`d\4o&"ߔ?Y_ٲwi9zND?@q0~ !^i+ jl;ޥ\G Dkce*YKE$g8˷(xܻdrk 2蘘h|I# N 8 xuջ,X%wB;UEO?%%'Qr"!φZk҄6>lޔPiߒqfK"#1n pԾA)G^aAb"AN˖\pQCvB/[8w;aTd纽c EM^v8ytX9Psy1{.7zI~P2?+SA z+ڻp]2B$jb6ſhfMoB!J"]<`$PӧDFF|3g|3Sce!t|tde*₦Ǎ͍m(iBh$7g&'Aj 3i܇䩓TB9BP!t'9A ?ȭ_m@o'a͠ɹ3gew Hbh5/%}7Q#hYz3gsQ۷o:d-!0zHv[4or)?cmϿ R!S9 D\ShJ(4"aǩRJx xfM#"V2UE9ĚF 69UIHJDi^YVfS6no/>")~YzکM'$su0+h(b\ ZN:Uk{OI7v:m}NYk-p:rGH c6 bN>LOnECQ"HtSw|G\x|N42(͢|,'ASAluL"I`/jsWQkBaI. =7f(;S/UvWW~hXO89u bYgmצrވ /Fl_ 5o߁ƨM/hܨ!%'%DEPF>HJLa$b[쩋+dt\%@qi5Ԓ 6鯣V`|7b0wʰZd/Lj}Tv*ήzM{%3GNzgs]n5⧜{z q3=-mDK>U hg&m۱ &T %u6I`K!9Wx]Z|Ъcx?6~kHZBUM~U䈑2 0!-mhT%pBLL4g0 ²!cs܂?-B"ըaB\E_@7KW.Zȝ ۀW(O 'ّnۆ"嬒iH /`$Ρ"{%f۔6xu_|)3qMʗL"o|!N1%=_fvJʦTE׬|ϡCvChprՂ_&|ۧ%'Uqdl df`y4k|UJ֯'> Mly@VV6%a"C+F4"!+;nA5>$K"aulXneXذD0Z]YƔ t.F%Sҗ" K  iXzX򉳜$U7Yz"J+p aǘE*|O?ѡ#D+[ IUl4AjJ 'j./_2s\DE'@I$M~v} ;@@%*$.!VezFk ⑑4A?*,) QF @b!Ph}|a^Z*)P;{NAecR1/[IC Gp͛=>;jW']wR&KA?<>7\ewKcrEe㨝a PtI`ߋ>bAo%xY6'b\ƍ᮹ƼCtf0?nܸ^~}b ^|H%z4WkqtH'M^iŊHj֤}2gpoA+ݷN#5¡[ZY < o#b:'4!SNٱc |K6Ɋ埣q~hmY<ߍ۷2R<|y0J@!Nfu6HMK ~>kĈP1 > @> &ZnD! [7ocUre#4<HQ/r[ :<( E 4.A;r1,h?, Kݽ3jő!tY;x;D1ŬPXQzM.{o"j|nucŇa%6If I?a[M6Aҟ^ѝ&"7?lȖzA4cp2u bw3ğ={𚯢-YtFpq_!U|5ZQX?}{־{':!)g!;'M~ &"o?<7 } pA-`9vQi bFHwBK%D[ bAa[ k[s=rѢE.^xATW?#3=+zKC#4sԈ' 2pM}l] g_Tb/\Xstv~#lYXɂ=gȣ+Ys5 Ȧf&RP*TV ‡/Ou LY̮"'XIN`5$E. "#W-۷wvm]Ո:&F"/6SaI<ǎlz lc-'\d"* )Co=Ũ@ {M4+nǸJ8j#24+,>,sB1{-,X#߶#_-V$F:FBT~4J*,%̝/X (;n]q|Ӵl\’`LNAQAͅ{>47l@ xֈCo8` >Y˱/Y :^#`TpT#OZ2/üv'@qWw_.ryX YG%b+ pTH.MDaIҥ;`0X3X7 nB-Z6'E$! ^;o< fK*~+EvNe λKYx F.D^j>3|7`foխ%#xl&{f.:1DopD K$`9w̡UMY y;ޅ&g;>r]eOmy={Pa" A*<0Whhk+c|+Wap5C.Wwvuqۈt;?;lO\DaՑkLĪYkz'8{>_ Fη``F/Lfs%qys (nR.P~%t1o 9^]+ PtaL'c4^f N6 $$Lam K|?HͰթ,"ώm<>6ARg̟? @lՂ.okVAEkum}fՆˁK&5{bFHb%s¨1b.a؉$ ?A$xz-M],X_ȻQ2g|/,D!IA];GG ~\>r D͚6C]I3 0i$AIUd0{)$7gUnQEE@;$K^|ڈ5 @d&@H 5lАa$rG4qӛ h~ 8ȱ^"nw\wok*pr%UnG$A^T ?x KGz+WspAD +f N"߅ztNUԩSVVLsG$:&x E{D)l(RhhPk8hgq-6mAh-Vx.%b;_xm 퀋ͫN8 -\PV|ڧ#~c_no#<[Towe}bz7)MO0 = IBo IwDf .O>UQi޶V߷ޞhҐMoEvPbEm޴ C/+8.9V N&† b6Ho-5O /6q hT/Spwa+c*^l(ZAoPϝw `$R}h:HMx*t0=C~8~971/;LiȜN5]S{N|DUi*H׮ƆW=m߳FsgY&[|!D ;9B\k֔^b6|٩m.]2=f] wyGx` 4-Wb)Č-"GWۛJ~0DY=NmZ^g-%2'F5tIK =]Hh% m|MW^yAh.B|W(n\A]QKo4]L97+3Kt=Zu7S9ÙNR%L{)?#"K>k&DgMAY:ڿdP56ঙHCwgϞ=D5L6-=/56&H Yu&O4'^\]lE: KO up"6YM"k2w\3X,GkdFYP$jN߾}0g<Ծ:u|68řb/O5+[C%KNn6eh xCDyg-]+ Ky'#Kdr%sNYL7 PzM"v"䔛" = e=޹ ٛl{|/n.7`2@=.AU!刕l&!J[us'! 'v0,)ǜocKPt8@NCV*x#LR ۃ&< w/^iEVORo˷XG'׬Pśyj/[§o- 8>Yc f푹M~Ӫ9H$P p>>l&ބ:3Y,RC1FʑyF[@BmW=|Q7~xQ] \R$)lj!ܐվ,bÑ?|]? Y<)!UT6Olhe-^A\ yucRkH &o/nݺ=ڴU4x-YSLa7ɛZ/I!V>kt߰LLw/ǙOY5:*CMnsx3wkn-t;]l5sf4v4Ѣ:HP3A_DM #á]LAΌ30j1%MN x9vv8'0#;Q5/ IH!7Y:B=ĠlXXzV?гG[fܿAG٫4ae&¹}گ>Ưeuυ"۪^9hU1" CW9x`~pdda@?pNrz#3*'M=4^#`v"*Ge^ye1-O}CKQY{#¿vV k~ x!ܽ={KjDyU^3P9~~>siO<ɩ@aJ93q=šVqJ~z'ͪ}KTaXtMd1;9zr'B[*09Q:(h ~ <\jTPHz|w.[Zρ=xų -po"1(5^  @tsg"zgE ~Is gJ fOUnٰ~n#ZSDT飯X][#m۶m6̸x-uѠJjI~r6 ;4oh˞S=Lkhr d` $3 `dH :D ۜhrˍV A?N=ŪSO= WW>gzÏՓsxuD*ɩFd :t)+_ ~_-\vl;AӲde /_Mh2Iqc||@<J5 ^U;\iЪ)5dqh}qvauþ?+{4/V.턚Fs%#),u깓G>@ 3DNxRXkWF%%}\E oQ,bg*wa\Ю~<3gdXgsi1 SA Y)9}[S"m6=d.%A>PqDJK2r@2)>iJHIaD4%`_\Bz8k~HфȢwʭ}V߁DF=WCDt>u3'Pϣ^`k ]_v 5{lѣ[qקNii=Xsydd>$)(%ОAL xBu2)>d*|2A _3+~(5Ef M"j!W<&r|'S?&t.|=0lt<~?r\xҬwqθ n" L0W|KJ7`!ݒN귙 x ʽ:yZ}KQ2GOc63Ovkj~8? բҖ РlB 97n$Bkkz3LowaET 71_IɧJ  S|L%BXl/Z}uQw\'>۵ϓ+y  ^Aa,oߡgz^2B0HXo@ QXHN%+bS2a܅@I< [#4Z~[~F3Ao{@^_/:N&@k[,VRԫ!N,eϥg2Z /`ztϘ{JV"uie1IuDmRT A$= % h=%Ar/ezb$uF^_*F؉\>K{a>CsǷ|$qal*<)_?[k&=&50k hP5Snim$|U`}@!]b%Im{`M vFXWzeH@Uϑ*S0/\sP% z?/b?7Kj7b}{yoA =Q^A2AE#*$By 5Z$JUUL/,Aht%K"$] mdD }@p^OZQA@u{̻S0a pnq C.A(g 1T1[XTM_?Zl[_!jH"^8;QR`+?óK,=TA*VL{RqK1Bm$W;wUʵtR{YkSL4=qZW۴vEZ?]qU/뤢T!,aF 1*X@m*Ly NT^C,&IX~pw$5 `863 ٟx㊟K٘Rzd;y2X#!d%Qj'g'Ҥh3Z4T2qDO_OOO 6צBsp'6ˆ>OeZYlށ"P16C [HI@.@MWB ª$@b@wh亅?7\*Naq*,C.3ǓT/(w:>&.CDA1LS@EUxX+ C~}TL `-)[ 4 \523 |ԩSa(o[~x .k;G" =JvBnU@@XD =tr~h{}o&"o@*o ֱ;&"ӈ#-|z=l RLP4DK'J%+NwE8zy2tBQlӢ>6 nJYg)O | ha'Ei@CB؅ QV568χ]@d143 Ψ37ݽ0Zf]Issw/Lyxx:ϰC/ST+:JÐEA(,Ҿf0L^[@ל[divms*͵̱& 6gG|^GI 5xi7[a=z-r%! 1XtGj$ړF\1mD’f'Qe1ffyFԘDv)8-v|OPBXxKksmC4m(,^v9J@mow~t% ցڥ gKݕĚ|{gbg6^.$f$]?שמ~^j< E%{&0k tz|#NBZώZ+{GDZ$X$cp`:HRdQ@7EL&%Oжnc6ō WIdwx)D2 9)G`.#7R&2.lQPrYJ:~}H4䔍xH.EO7EI$P2y*9\7w:` nCX&M{=!9GC` <43; 0I{Xj۸@NШA72 ڡcb%K}?_ygnHUg'A8D>Ҡ $# |&42EToadQ2iHb\30:p!$5F%C" pmڴi)2|AjiH Pgڍ7VksP36mjJ(@n: VQi(4 nS>ªR箖6)e;=?tF#N&L|vH ;$tPdгy7 !s96|,t%s$A{8E"{'(٬V(; "kU{+ `ay2bܞ|,DϐيߏP)ߟ·/ҋ -R`֬YN.ʹ҆ts9nH} y}^ٖJJш=ͬwK_-r\0v `) ^=$]nbP?Zeǎ\B& 'P4_&!]S`[d%GMp2,. G%OIhP! -UʸX,:)ȓe8)A|3ʧĎCHx> fuQG,XAhWQ, F0.h6US*[Rz` 0Cp.L!(tf ۨ |!]']]$ؚO6J$P A}T'nqHd>&}-?. $ҍM-&vA_FXE45u{\]%.!GH.zGYQՒ-HYfs4Vy(|rܟ{|9su[]dZ G䛇)tb?0& d;f-ߙ߫n6Pkyit5^"cq|y .ЌN"^la 3Gb zL8~L|W_udL4IENDB`qelectrotech-0.22+svn897/ico/128x128/printer.png0000644000175000017500000001547211262001272021001 0ustar laurentlaurentPNG  IHDR>asBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATx[EdzkmܶȘm ь,7!u//H|d-0BxBZhE Bp70`c|/}=R[yrUH2322"8q"2RףzJT%(z*f]%EGFh>QoӤ瀠PADKXaS%* . Ez%Jt j[qW,!19YZԴ̕_K Ayj7}}x?}A¤}v\Y&_JH8h  /V/_Qx -ݸoCs@R>{BW\@P|k@&?R~w^K/TgffC1W\mC.T|&ӟ^'''rfXr7|O? ŷ䉁PwANJ" t?l~zd??V˵ ʃ~ѕ+WSNؗ@APT\H0P~[xGkFwqmY>| Z%V]Puu`zAp}_Y>@@F V1?_%`~'ж"@ʍ޾Hq. RlU@*?ufYPUkw[R+_AD(^~ #ϵ-@~1d \p H(F FYOmڦD廊~OY7!-^l@dQtn8w8Pc/4|hE :J A+]%7}u=?rYE]?hM~;vj:} })2,/E" d0i#ʐY@[x{G@7ˤPy~}S?Sv/dXN <;;๹9[  pp?J@ҡv~N $gzpKHvO+`@jҤo9ȂP?=?)fr -@dsp3 'yh;Փ. (Xr`Z|?@~<[W W^y޽h={N ;@ฆcp+qA W>R qݻXe.+M/>s/~;̍@ >[nI1>|f[@ m L?@Z8O?{|vl뽀^{mUr?e02G'l՚rkl3VN[y;9] #Q3rz-7{3C-nS9`;(V yK  _kJf ,w)\Zo Ȣ [̿h}n򻨇"eJP^Wܮ/ŷ k !YfIAnZH`p mgU-5Џs| Y??jv"HiqɁ}8KZTy,/ 7xc>Bأ7zX?iw4 `ڙ j=v7d e5jz]>3-`jjwUn~+,ov411ÒPlweA'~"FbM!z <+ RV`-eP$[!)t{](tjo5Ek ߒ%;w}&yIi0u3ӡ$b }70{{ԪPbrllv!D)>}Ŷj2/Ԧu׮]/l|J5NKəi@d8={*)9(D#)-g2矏V)Á)@N`aG~Og-A9[YL?942* D`ǂ􄌣 @I7DFgF FV.eYQ`VaJ!{\-Jʕ/ AK7`%[)\Dt`]Aɤ%7d* z .6mu]jvoehm5l @{l&3:rHtqwFSk4{ a _|E/Ϊ"k i~yYZ'|’h̷F<#en,Ը 6`",HI. h6|Yh)#<N-syAeI8LaKYJ)%믿g74QH {ə+]t)/{с@7]׍*sFpcrAHY7nl*/D?E(7F޺#_g4G@A b):96FGG;v$9&Yigۖ*6mRz"xT4-\oVd:دWiv (\(l?]i8*%tgn(wiCE%}D:,`tXYLꫯF/rFP:=X9gnIkf磱SHĴ~t/ 1".Htرå⯓C=:tad:0'iA.Gt0`MmK%ژB=c~>}WFXXX LTf7tq%]7!C& a #`D6}@yX!ìjQ; (t\c)?)*f`׮4 d؈ wrL|!Gi h4X azL}b94noQ@l!ۉM@m1Glj[p-JNV\vN빩{,zw"ѝwᨤ5֒~ad,; ϝ;7,@Wysщ O**ʱ^:K!vZ.TKC-GG7ź 4&FF6z#eVDVmkSzR`@݂|5w[؜y39xp%PDS}Oі-[MUE18:!MƻYkrұzX}xU&T4擵"N:AZ.̲r K]C96ŰsϳQ?x8ǜr>Kjt'IFwXe!%:5FwfBFytcf/tŵ. Sϳbg[{܇Dt k~gp?m .`ȃp$+v]ASffPOg]B 4)+7Zth< f_/So:Q?GR6V mwFfga͞n5:ǎN*cvMͮ'1D@?ȟ7#$W| wHZO/NVmc((bWbVPх5*Su["&GnehY\a۳ԫp%j[a@yʿۭ{3| g.i|Ϳ t 屍g7^#g٧xPr~ !y*LY51p6s/B@>66xҋVA:͛ZΫj>0Ir%"*GKGiW'RŲg-fԒY]r% 0a`RXz hh%2z]AuO2tZ F; BpoyR"kPUy(@В.9s{F#DS LS>>p=*9bJ__t4jN믷n`EA㲆,@xW^Cxȫ0BgH" Be>qB퓦Q>(|8;Rr98q=M q ]Jky;1Y__*Q$BĻ5CAR,BY"Fآ$/&|UT{W +y]]q zezVBhu#I@KlꏫhMWGH ˁ2hU8X419O쀐. DX"uD7qkJ'QEK:df-zҵUƽNT/q?fjXk_ \z#iCR2O k}ȥ\ҳ&HBvk\'ui(Bf-D`Qk@d`XXgwWڨNZu?~szFyb)([QafYr4ɃYƫi(b!(և1~biM(sf(Q6Rz4R2>NyZAHJ7Lȓb7;ӭ Xԍxxܔޱ+bQ=O=D nFjhC١kTdAS,tk )8`jy lidΓ&1e`_G]%fA~u-O-uSGn30Ytun.hs%)4 a)Ώ?l+l\Q||y k[76n:@v j:Oa\@sʞ}8vlIvC:IENDB`qelectrotech-0.22+svn897/ico/128x128/document-export.png0000644000175000017500000001613411237543066022465 0ustar laurentlaurentPNG  IHDR>asBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATx]ypםgtsq,MBa\` A;fvnήĕC?lv+0k'/e /T9l 9ls4I3R_\Wݿw|]F4 P@W'TqQMӔl?LP`X(C-Gk0 @q6b#Caɟ , N;tfa~1il?+!/s&ֆX,Afk{@ =wXqwZ1,Η8|gE2${\|ye ؔ4K,=#*f [=Sn}0Q,˅LՓ& Io$NK:5% |tz>gH|Kφ0=ٲzĻ6]L`xvr*. J3Q|!Ͼit<ympGEKK 4MèQ0sL]wxLOp'wJcG뢬'4 … hjj7/F '[`4 ,搞ǔO委e=KI/IRJx<ڏ>µh4 Aӏ(TeH%Tr[oZ^eUHl3Űw^twwM lƚS-Vx\8 ܉`fyA@Do~K,Ⱥw^q  0X̩y.€#|^|G$ I 0a.\h {vF<J*Xhn\bR;SLFyO?もG.l̎|;OznYrNkp,O[{!, 3tM|}ɒ$]-L'"R ~f͚x!z S{6;YO*3 2fͲCX:|DAAA$z\1}Mnm89x'k%݋G0vXL<";{,Μ=P#FL~.W^sܵt'lމxʗKwA83|k_èQ,zD"ژ3zˢ(I߆uqJ0 Y1c***,:tt̙3.R x? ^ad'MM2N !"ϟ74l}]"Q7.X/ \Egd Ny ɼNroN(,,… $ ;wLQ@Xdٳg%x+ qo<DO|VIYa<D!`ܹY[[ߟVw߬ӧ;6 hHېu{!LN 7|EgV]N4i[Cnr[>yc4 w؁xZG:Yfa̘1YmmmZ#I>##^v*,`iiH$|'π'Hl94 xh׮]COObdYi}3v+[aUU퓑d~;QVUU(b-iZ{[ZZ0sQIFeܒjF2˲ir|1$IxwmBz  B* @x!^e WիK(޸|!CqP(2{&+͔H!VI{ʼn'pԩVXZRR%^ BD槷::,֟Ul-UO^Neyy?KN DI,p8!`q.^vVOrQrΐu ;O_b~<F(ZljڒM3'S?0dȐY˗/ eAۡPh.T=Wd!.ͣhI7l0O4j0~ pnJhpK~sB ***n ~n 3!ֶ -Cƃl>Pk~Bw oeJ`'X9N<iׯiZƍ{"8"%aAn(ZJEFoNZ-sz}ŋٷܲeKssstB B~F6Vdb =˗/[d- 75mvҥK[öZjT"-dvKLohh#{3o߾ș3gf Î<(ex<˨a6h4-`0c;w<pV` 0q|}ݗvСCSaWsmKn7V2k.sǎKi-X`gHֻ> -p{nU\Acc#;fM<9e+98wܮ7|s!nN%/u/qav?ZE (-c@FMMM{_urkx~q2fyA.$aFҥKӪ-[̄pMMͧ+ ;맖e eġCe-]ΈF7n8P('' 4q[%)?8qܹsjuvvٰa8ʂGC> bp&?AMԄ';L0!F_{{͛7eټߏ UVs; &oa|t@ N|ذa)AkkkӖ-[<Yj+ n 7* 7}gdvnꫯ*Dxoʕ+z xfrۀ Zd(**UUy^IDQ4O伸rʗ<pxo֗톡23;Y/ivbD֟grW\?Wٱ|#Fx}xg\`], kڸlZiXy7ʕ+};i?-رcC4wuuMVuuuef!C[g2褛]뗱WQQnVh ϫɓ'g$eHM62z)`wlϊf# bER?L4)+"H֭[FQR,RlR k7#`֬Y%PU{ Rw>|yJJˤm۶Fc}! oF{4Nn( dYF"@<GYYOAhϞ=8w'OFʆESsK}WWW3{U\?O <2Qꍳ+!3[e\RRin‰ǡvݽ{7NȲ}eqi)Wx? }'z/ĺβ{d4Ib eY(Pd3YUQT\I _|4_qvmU4A@Aa!***2F8EOfsg;qX䛕@$Ȳ IȆ*qjx?wVQ!Q9vl'/hn:L{fwA*5YVOZxYI2>BU USpcq%I*͛O?N3WssKGi9خi ]oЬ|=ː$ ,Ct֯Ȑ% ,ק\'?a"8"eekwDBJ xD@>EВT 3>݈Fކ͛78t/k?W>dg V̗$D~=="O@%(UÃjT *T@PVVI' ' oo͟4@'zïom9"5m=edj:]]],˺ВmU*(**ƘѨ7Z+{?|C7<"hp^{2;ІwI%P%i2$)$=ݸu (J`+F#$P(*[NXoN~ip(tM _ >I$$ Hq ۯ4^9~@' \u,sb(KF㐴~H(}<9!% '$(%'/](u;Ξ>{ :闡[~v`gu1_SDOr_(InjW 7}A }};xV/}Xu IPU EEzM xmkS]Ko>_"=pcZ'\5=U=Ƒ+رwڵ0t}v*?G<X)@IE~cW4( -;>ݎ7+-l=/Xӽv@J߀U )Ø1mck[_{b(^0Pb ם~ف4jDQ_oLVk,;g EPpXVFK.2ܽ|{@MxuZeY(# "նگ~y~sXѦiZo?z^p)/3ׂ ~֫-5kv~X{ : A~T `vcCA &ba_ێ?y<~^qe`0Hki>GS}_mnn=~ nmg6 B߈@iM^2։(0No{77/]o@!(looO̙3gdyy~y0e 4P "~w?|rٻ\Do>7xx!(P DA67$cw M j zAA㏆bЕzxHp tB]TAD"'|'?@ r18h2Z5KfwM7CMdFpso{dZ7 +=y8LAIwx^]8T}BU$fDƙ:B;$X$Lzf)-]%X$ۑK;Wx7ݐDK^[Κ~ ŵ;nWyT'bݞA6$3YXrh:"3XgMk0):ndŻzqn0#]ŵۥ>Vx 3E&Xf'A*qm}'/Ǯz #OpYurMi׼ |-n.St8L[asBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATx}Yl\ǹW76w6WI\,K6%%je-v83ɼ\;Oyy@I01_ `f2/ d`ǎX)+EJ(DDI\Ed95u۶0$rNZZH)Qiۼ7m(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2ob?^z@">B !{ [J )%$ OR%ҦCWcM? ѵ񙙙_+)&D͡ϟ9!= 6,P( 0 %!f+Mt,..Ν;}}G _ַ5QG+ &''-$L-t'4=1UBy "a% AOk7`-Ϩ-}}K$ؾ};鴨ظ?(0nP F}aj0XbG̎\( >aʟ3jҡC= , qA^_/DP2QSSq|>o+8Nϙ[eqOCA01`VYt:%rڸp=X?SuI\QtxrH&hllıcǞEe9Z 5CYY[| :$P㮘$"Bum1{ @ 궵RB@Ϣ}653 L]nX`x1ڵ LFwѦk^{l1Y}V0/On}8ǯ%eH$Qt#u w ?O$fVQ bWNA]| 4 7k%2ZaAXLXwiIQVWWqLNMرchoo3.\WqDJCZ PX#<| [#"BKK ^~S w')Pٖ}y&T!! 9(P}\ŋc-~/| }]l۶r*0ީi g.zii uuux#9N:Fxd2A\ L$~Q~h677o|1sa P#j#Nc۶mx\Lqɠ{j]|yKB̹vfggqdY}b!ASNaxx8܎€,BNB} y'e}Wa>R`y;8~(K RsssH$H ᑃQ{}*@ i]MtO #Q__gyFY0sRJ `X­ ]X@Dòp xQqȒ  I СCG?]܍]@&q2@,nj+E$tgn5y Bc>.d١ߦ-.G2#'ѐH$pĞ={.mJ* v9ҍC|",3AJpzw U8 !vKV): [I?766033 rAq§2@Y4 p@UIgڻwoۙbrVrhÇ@]%B 6ՠBXZZBxfh4Èdt+!@`EcxxB`ff㨪B.$с={>8f(t}Dۘɤ$JXyd2'N|L `}V smJmPUU077˗//prz{{!Z"0F\C&~LkO|xBX\\ĉ'"ƍxϫHLAF*ҖNi,//HdQ"<<100/~o~b1QuA!sNe:.]L&f}4055jtwwhF|NJ?`mggffbyyuuuNOO,8$:& |#򗿄hooGOOrҙ4$R>077QWW[[(Ԏ\$1yQ(ZZZ!kB[[2C!ҥKA:FWWw_oQuZ]gDOOYQWW&ڵ ΝW]yرcuVܿhx,ˁ;{j)+ѝJL&Jp1Μ9/mpq ŏEKSS>^47555B:f S$t2H&Gww7VLE=X<6tjcZ֑#٬*&<xz׮H455avv$U=7ADϴb }-ںš@.Lȑ#կ'a477~qܼy n޼۷[#*taL Sk= \X^^FKK ޽;0yb+AG'T{yf O1""ݻ3hnnVJ. ȄPމzNC\>hSLookÉ'shl###z?<{Y\v  }Ǻ?ϣKF{UI; 6kRdZADeY!vmIԚ;ڹT{{ ~= g666O?Ξ}}4rVhq;c@/g.k dGoo/:;3… X^^dY<"=7!ٺU<B*i hii#`p w^L[ =|z̚D>6oߎX[[Þ={THD2ѣGqtww#Hh+\" $=ODaS:@<`UNMvUk k, ZyhX"Q~n455ayyw}Y444X4rp=] rGСCqx "auuwEmm-kY40 Mxٴc0Kl#f70 bLvǓ PBG20033SNmm8y$Usm]:{PU!% a#'x===X\\ăSO!JYRQ,n?.&Rn---hii<8` W…,k( 퀿kjjBcCA4 c)d{JElk)+Wd$^SRJR1ķWc@;Ee|:ouc3gЯ5a@TSR6tA }ŏ9ZvEQf@ī$_f$R fIay+S6Wڊif/,@w(IK8)wq ttt&u)ۂ̴10RPp] JO>iA`/ =J /׊&tnA@V|:v0mO-H$^tvvȑ#X^^(|Ǒ#GNcg IB ɄP)a{WWWqYtttl54~m `˖-} ĥ|.r3%bB8q\v.n>|#biOF*ɓ'ؾ};nݺ__WJ%f'-5 'pf7CpϹP>c:v011!\xL7e^qt8<Ӄs)~+v'&&^z |?4MϏp$j7$qUJ$xhVtSpanSSSعs'[n<… 8z(n݊|>5R͘.ftujъ,VWWс[b˖-8<<í[0??Ad2466bqqQ?g (O`zZ؉^bn-|AZ0'sh 7]T7~7BAHcll >=񵶶b~~Vi&C0Ȝ+W,ѣ0cYYYAuunV̷~طo zOfR.?8]`H&jl?Ƶدi>_ϽǸb>륕EHlS 4PSSsN;ۣ/@MM VWWSw= ROF!.d.Qyd" vMݼyӢcrr,g 8G5)ՒrŔWHVnoVr)ؤ!1ZU-n ] ,066~\rLN XfE2H֭[q1V_?11E| _۷qY9rjC#<o&:;DӸ>4: W ZWO{B zwܭ:rBU\xD"055 pm446iоvrb!ء@*&&&AA-[###X7464DpS2tXJ]j!@L`* a][jP²pvBlS-Nh#Ht’ FPBi"0NTcN.ߍKy^bٞx044jG֭~*p]BX) O`)v\T}B@0BHo"י؈fd2|?,cSzf{i7F >\fo>,..Zx_!DᒛC^[n^]kg)sc g}Zr/:O=y\Cl}]]]ׂ]>] L$KrBquܸqC_WWGBL=Qe ]r",ϢB_"<IYVW>VP 䌌Zv]bZk;3hllġ!ӧ1<< V"@Tzk[ti8Zٮ],!$e2Bx~uuB! Ϊ_o f[!Yo ۱,+ޣ1ʵZ)Rw0$l5±[JUL9nZ(#h)>wEJ˹Ozv$S߭ ?U8].R>tAJIJn <*AHDvNYtM>իW zjjckIxT.8蟎g[]RF6:: :|ǎ;m6;ráu(|}i51 n7ײ@*qrA mMHx(|]i/4Ng\|Lt/ҩ"Z[C)U^]4v\͍$BX:V C]]q9y\r yhkk"skGN *Lq(H=1,--add{vF}}=TkZ= ~,cwuCj%-Bq!XX ]~~kkko>лk7`s|\aVlW099z LF!ϣMIgpA׿U@CCΞ=ZKSSSON s޹;9ݿ:U9\F|BH ٸ.:zM_COۍxs6:;ZHBqWPQ ĉHR*Y~8~8]&TWWAl۶R)}8 -ANy <mVR g:H s"@:Ç}Ocpp/Ξ="_ @IDATNgbC,F~g&f>gGRvB1x{.0.^ #ȿ3֢9 A(|.{( ε 4_Ap=ܹsꂔ5ؿ?FFFߏ5XVf11{ <qw!MǴ5ܿh}Si9r###زe <ϜDRy6'%tdc0أqY9TjjAf9X snR#iC* 4\SSݻv#g G@-$.^ʳ|BܹwA.Ӆ(yعs'144d0 04[y 8c/ m !iҮᦈDǎ(\N޽{O /VD3x^[74tmo/õkWqi#yWb=#]v+LRkN>ކm hUX!zt:b!\P&ZE–e LSS3 Oԏ; cnn55*4UUUE<7.sohW&hMG{oHB{{5c)SB;F/r:5N ,<>vBWPODXVjA`!FȦ#n-иoRHEgtF]!eʣ"k%yĸj%0afHȀ7n\NTF<8q%<{@F`: 7DGGGl %g48ϣYT>mv}477GœaK)Ei <L-" w1ǽO$S`YIOdn}F̬$~\Qikkx>͋<<<~!߯?!M`ݗ>~ٲRO)y='_K.=P[[iLOM[.LNNUUUV_=ܩa. C+\&\ƧmbyS1 .;gq-l:L2w24ݡ'<}qbɁ[bf8|5 bcc/_{{`ձh]1InBX!mS^gšrOCyJʱaZ@c6ۚ`w3 0z_azcwz\/Zj3DBX ԸI37z:"g +gg8YWPt$"PL:pEm~~cccBS̑@Buk93 X(RReDq8p=%m6sre”Z]N5a``@7$)hz=\^!sԃuJ&?`rz\W,Ս"J:~xrvC{$XiofuqsxKBֈ<ЃTS{5"ޅ2\KJZn HQ.T:h(Z65}q7☢1hC@7!&B|.]Y(I ooFSVk~m\p_KyoIq0&.?#d~bqӊ%UpF6CЏXy FY~Mah"a3i}u=Ռaffy}B{9M@DӘkuݥ>qW?1 |oiGnn l vQ.ЕR}N +:';ƸP#Dܸ|BKs~lcY5)KLۮ(2dM\c) S̑!Izwʜ 5!yZm ,?઴ (]_bFvdBڈ][@tpWYCW**V?qٙ8>lH-q#+Q"zWᎲRgK |A.Bg$@bcBHA_í36@B| :(ΏtbRa&8w\pN0,ɍښ^ |:L.pٔtčQtXx£w/mt"(LHP @32ufYiAu, X@!RJ)y+ƭ<&*|[IUڿVQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(VQ2o(1?\IENDB`qelectrotech-0.22+svn897/ico/16x16/0000755000175000017500000000000011347002073016433 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/16x16/neutral.png0000644000175000017500000000530311176605035020623 0ustar laurentlaurentPNG  IHDRasRGB7MS tiCCPiccxgPi CN% 9' Ef00!+HR\pu (DA,ʺ܌~>ݗۿ[txWN$`C<WfHh;@Ё @GR}}{Ի1 XDN2p':-tq9|BY) v0'@9' 9'QH_pTQ_zJ8^2݂j~-q-M0txh|7_bT~6 HL0t~ϢU Sv/[.h@$Qh=` ́ 66ɀ@. @(A53 5p 1i,w` ,Dh C1Ăl g B(BP.*ʠjj~A0栿0`:k0 =x p>Sp'||%0eDa! 2|@aP4BQlT*j;U:D&Q /h2ZDCб,t݄@_E0 1ǸaB1 L10s 3,bX.냍Ħc US؋4=S\pa8..WkFp3e8^os[%F|~L h .B%p0AxC$UD?b-7$fXՙʡSQPhMHcviWit ]NO$&A[$k$/HCHb00쥢JIH-IIIGKJKJa8$y"Ց͒="{Uv^.g%ǖ+;#Hבϑ?&?(ઐPpEa^hXث8DSQW*W)ɴg&1+eye7 z!eM@̃Z?dLfdd :Eb wV{ddAsrswNnVo;]wEؕva^Y{wOCkX`|՞Q?8wު_ 97 *>odSO+b )ŔrK?Y&Q]6u@g9MoTT"8įR*TW=ZP^+_v0#mu uEu}PZ٠Pq s,ƠƁMMEMOpOOo6onno)i[3ZNmzmtD2vLYٶ_uvB[;ݡ[{i|N~^14LB=rY' W>3Gkӛ62d&VtIrpA=F"D4h:Lja|:$_t:ڃiA*˸8;e[8( +59G>!y$qc0Ma@uѓ$ުH42mJ 0mf[@|5 VA^Q<@R 4 PO\IENDB`qelectrotech-0.22+svn897/ico/16x16/edit-select-all.png0000644000175000017500000000103511176614511022116 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxڅSJA`#HM } `oBkAP@D$XX(>Ш 5\Nvwsc @z`?X#m# oE@tLJ%37"ۢx\`'t+yAu\1XƘAsT |х/U]^]T..3;c-P]=/9cw'<&ж9yΤ$uNZ-$1dh|#\|IPV@t ^š$llnݯf;S42Ueړ˲@ʅbn-K<8Q4۔vfE۶W||~}t <]X\ $ߧ GeIENDB`qelectrotech-0.22+svn897/ico/16x16/window-new.png0000644000175000017500000000057111176614511021250 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxӱJAWIF˭>$UP|(0ERhc=ADb'$Q@bq$$F 0 }ݢj+ʛ==p\a8ċ}]_ YEd04·U/۠1 `Kd2t1ۜ˞h9"<VRKiVywY9[jF 5FOmuY~.K@g{5ۄ'iIENDB`qelectrotech-0.22+svn897/ico/16x16/qet.png0000644000175000017500000000054611176614511017745 0ustar laurentlaurentPNG  IHDRabKGD pHYs/tIME (vIDAT8˭n0 UR,!{L4kĠpt7i_ cۘz>jjBǶmMӼv]0y?>ct8ђsVQќтS۶0mK3kJIK)̥M))3+"N?ۋ- 1\5Ԁ9g pΝDr$Qc^3tßxOã|L0Zk3!? sARMaIENDB`qelectrotech-0.22+svn897/ico/16x16/zoom-in.png0000644000175000017500000000142711176614511020543 0ustar laurentlaurentPNG  IHDRabKGD pHYs^tIME .hIDATxڝoHqSŴgj*'Q+BTР MIE AIAԆ=u3rŴ;uNw* / EQF"p"X]YuGZZMM}f;A (ς|ai/5uF"۬Rl|ScY'D7n^@G4vX,+q> k) P e&ɽ1D} M- ]wQU[kVY`O~HE>`8f@$x<ҲKȚfv\`r~gg'kdFcZw>4M`08Nĺwc'J2m{(p8>+H8\hqyyy.Qooo5}>_oL&?)_iUIENDB`qelectrotech-0.22+svn897/ico/16x16/masquer.png0000644000175000017500000000114111176605035020622 0ustar laurentlaurentPNG  IHDRabKGD pHYs  tIME%;FIDATӅ=kQٝL1f,"+-ƀE`k?46b*IR%ЈUb>v{ϵe7k {Ϲy\mOɜcTPIV"KRTE-+:V[>=3SNՍ#C?PG(Q$DA&-pn7'sDUxtcYXAeۀ;kTǼ}y]/,?5#qe`˓7_HnL:&=Nף ^T?hVg,*F * "`F e9,b+׸A8U6l.61l1x̫Ukp^w^uk#Ѷݞ@ܘ:^r*F6DQzjE Xr.' LnOwwvcCNP +KC?D )TQ"K_~ [9 hqv>> s͟6Wĉв-T> /ǘ?IENDB`qelectrotech-0.22+svn897/ico/16x16/configure.png0000644000175000017500000000131711176614511021132 0ustar laurentlaurentPNG  IHDRasRGBbKGD pHYs^tIME7WOIDAT8ˍ]Hq_FldL36-*ĹiMAэaBY]Uˬ5EBjB$Ú1 \s[`F_L& Cs+e{yN2HT*[iB[^^ZD"6{d^I kGffc4M? Ę4劲L_$_%^X ;d@v @1;; ^gX`%C|33$R);s mko;X*+rV{J$m p(B@?$'ө %%%w^811 BrsT`bܲ oO^K_(a ֨50 B?_dX\\757ݣ/}>/q:$LװklwUU‘פl"3!? _ew;+- ?O1 @Ε[ןY:yrICcy|5_P/Ok;7=&iD"!5j>J547EWA%(SȠRUѽ=O? lؖf?!&`Л sng3@wG_Y"B6`IENDB`qelectrotech-0.22+svn897/ico/16x16/phase.png0000644000175000017500000000520711176605035020254 0ustar laurentlaurentPNG  IHDRasRGB7MS tiCCPiccxgPi CN% 9' Ef00!+HR\pu (DA,ʺ܌~>ݗۿ[txWN$`C<WfHh;@Ё @GR}}{Ի1 XDN2p':-tq9|BY) v0'@9' 9'QH_pTQ_zJ8^2݂j~-q-M0txh|7_bT~6 HL0t~ϢU Sv/[.h@$Qh=` ́ 66ɀ@. @(A53 5p 1i,w` ,Dh C1Ăl g B(BP.*ʠjj~A0栿0`:k0 =x p>Sp'||%0eDa! 2|@aP4BQlT*j;U:D&Q /h2ZDCб,t݄@_E0 1ǸaB1 L10s 3,bX.냍Ħc US؋4=S\pa8..WkFp3e8^os[%F|~L h .B%p0AxC$UD?b-7$fXՙʡSQPhMHcviWit ]NO$&A[$k$/HCHb00쥢JIH-IIIGKJKJa8$y"Ց͒="{Uv^.g%ǖ+;#Hבϑ?&?(ઐPpEa^hXث8DSQW*W)ɴg&1+eye7 z!eM@̃Z?dLfdd :Eb wV{ddAsrswNnVo;]wEؕva^Y{wOCkX`|՞Q?8wު_ 97 *>odSO+b )ŔrK?Y&Q]6u@g9MoTT"8įR*TW=ZP^+_v0#mu uEu}PZ٠Pq s,ƠƁMMEMOpOOo6onno)i[3ZNmzmtD2vLYٶ_uvB[;ݡ[{i|N~^142OC ԐY@D0``?84 pv OX4 hCW1+?M3`|}IENDB`qelectrotech-0.22+svn897/ico/16x16/document-close.png0000644000175000017500000000126411176614511022073 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<1IDAT8KTQs3Ab+lM"?ZA ]mN`Q!Q ɄbpFw9kass̠^R@> AX^~ټq]dYJJ+RWVx7<A*x{~* Xk-YsXx55ўt_%YRɱKtwncZy:I _4y?;;(/]F>V{<OkjGfsoPZ@ GZ(њNYOFX_a`|ͪOh)$CÂs.B aa1Trߐ0SlM& ڝ$CCs1]tR;777 <;:: : 9 ; : ?"B!C"? = ; : 7 %K7Y'M1U2M5V5Z5\3Z0W4V9_5S1F0@1>4?/Mv*DS,Hi-F]3LW5LZ6R^;ToD_yD`MjzOjPmQkRoTpUqVpZv[v[w]z_|`}b}b~bbc{defgghiioptt}~ȫm-tRNS !.38G2sC2] `IENDB`qelectrotech-0.22+svn897/ico/16x16/zoom-out.png0000644000175000017500000000142211176614511020737 0ustar laurentlaurentPNG  IHDRabKGD pHYs^tIME 0:-9IDATxڝ[HSqmnkSsRi6‰P 4ߺЃ ЋO{)!a$tI7s@ ndzs!P+{0vVLD yVGX{GǠK(4YBFG smFݩ7]SYbM&̗yYf+%Cwz2rJf[Vj$ Ψb:bz}5$՚.+x@ v1ٙUTLaɡ1g(*)-Ms/JKf !d)Xu*ǞIhEl ZN#BYaq{-TDKs54PJT0 Qv+a+onnn(Y^^TF]p:Rh ) f$jIEE6S0Hd]n'z٘ިZp[TɕƦvssn_OOMN|ø>]Yu|dzdꚚ$x~$ N:;;x7t:Z,x(@$Aѭk8A4LX,|>wdV êjkkK!ppVWWkZ !V}KIENDB`qelectrotech-0.22+svn897/ico/16x16/edit-cut.png0000644000175000017500000000056011176614511020666 0ustar laurentlaurentPNG  IHDR7sBITUF pHYs B(xtEXtSoftwarewww.inkscape.org<IDATxm1jQE@M. 2L Hkeq@H3CAH5AEs/ݏC/3ZZFQ6Uc¤+aRi~ev4[ [Jaf33%\dG="FRh̊b-ik`eM.0ʛ[_m=Wn†xㅎюߡzN|(!Xsr 䋰(IENDB`qelectrotech-0.22+svn897/ico/16x16/document-open-recent.png0000644000175000017500000000127111176614511023203 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<6IDATxڍKhQ"*Q1VD.E! 7(ں"Pq">nVФtIWL&{\832w" N> ǁNAhB/c䥯DTc р/R!=LL~ Q )ˤ$S4NS&%)&! er t$=EB_l6 @` Mۂ6jT ?7M`6{qq{|E˙80h4-v6+gm8:oxwa\$ÕJŘy nVFu:*VP`qt,܄ Q0L7Zij5b;R^]bl]}}X*X(h&+f`tNtƘ~g@g~Whj[IIENDB`qelectrotech-0.22+svn897/ico/16x16/endline-diamond.png0000644000175000017500000000022011176605035022171 0ustar laurentlaurentPNG  IHDRaWIDAT8͒A w?OOb3$QԵE/@,$$iLyqw^*@  p+R_7j2'-IENDB`qelectrotech-0.22+svn897/ico/16x16/view-fullscreen.png0000644000175000017500000000067611176614511022272 0ustar laurentlaurentPNG  IHDRasRGBbKGD pHYs B(xtIME B>IDAT8˥jEOR-Dp3К(-tqNqv]8Z D"uy*Ŝ{/ Ot y,b@n^q'} `\b:Z@p-T"i2%{=t +y^]$BfEUv #|^.6MW~u!j<~+|;lK9f뺲u]S |EUO{,Le*M~Xr2ajTHd!u.G4y,~l"@  qM#lvsJo$*?31ύ/IENDB`qelectrotech-0.22+svn897/ico/16x16/add_col.png0000644000175000017500000000100111176605035020525 0ustar laurentlaurentPNG  IHDRa pHYs  ~gAMA|Q cHRMz%u0`:o_FwIDATxbH_ʹ׼?sNjŐT o~1j?v.'O_R ^ r# 2?`6/v d>@X ?!120P @8E8(ξLܐca8Q0âKx*Kž@RLcϐ dT_-f p% W?P} $@ H @OOXa&d@Ă74bg1 @쪨IENDB`qelectrotech-0.22+svn897/ico/16x16/document-print.png0000644000175000017500000000115311176614511022117 0ustar laurentlaurentPNG  IHDR(-SsBITO pHYs:tEXtSoftwarewww.inkscape.org<PLTE NNNWWWYYYZZZ[[[```bbbdddffjnnqtttwwwyyyzzz¾ÿMtRNS  5NOS]IDATJAy{.1HP"Z+bcFP!jC:h04#3 L(XBeV6菇z*ֹ- ?zyW(޲K&}h'eY_2;%Z[V%"V9blY?_vϸjj[q L4JڤIENDB`qelectrotech-0.22+svn897/ico/16x16/ground.png0000644000175000017500000000531411176605035020451 0ustar laurentlaurentPNG  IHDRasRGB7MS tiCCPiccxgPi CN% 9' Ef00!+HR\pu (DA,ʺ܌~>ݗۿ[txWN$`C<WfHh;@Ё @GR}}{Ի1 XDN2p':-tq9|BY) v0'@9' 9'QH_pTQ_zJ8^2݂j~-q-M0txh|7_bT~6 HL0t~ϢU Sv/[.h@$Qh=` ́ 66ɀ@. @(A53 5p 1i,w` ,Dh C1Ăl g B(BP.*ʠjj~A0栿0`:k0 =x p>Sp'||%0eDa! 2|@aP4BQlT*j;U:D&Q /h2ZDCб,t݄@_E0 1ǸaB1 L10s 3,bX.냍Ħc US؋4=S\pa8..WkFp3e8^os[%F|~L h .B%p0AxC$UD?b-7$fXՙʡSQPhMHcviWit ]NO$&A[$k$/HCHb00쥢JIH-IIIGKJKJa8$y"Ց͒="{Uv^.g%ǖ+;#Hבϑ?&?(ઐPpEa^hXث8DSQW*W)ɴg&1+eye7 z!eM@̃Z?dLfdd :Eb wV{ddAsrswNnVo;]wEؕva^Y{wOCkX`|՞Q?8wު_ 97 *>odSO+b )ŔrK?Y&Q]6u@g9MoTT"8įR*TW=ZP^+_v0#mu uEu}PZ٠Pq s,ƠƁMMEMOpOOo6onno)i[3ZNmzmtD2vLYٶ_uvB[;ݡ[{i|N~^14VD4a @}sAZс[-g8&=f ] +\[;wm M싗A^ߖXgc_촃wA ay`P-in>UfCYi޾!X.CQ1&TU8XAƆo 1-)'++>_6Sڝ&EY햤,a< G|mfǀR~)Z@ln131e䪱k[ZDI OOPЄ8m?. [y m+Ʀg-Cnēb0 kAAGMeq  at5h8,466!2 &n'`sr-Ag#2Y !j?$WVpKefvXTUU !ѯ qDJH~#/S̅7HbjSVO7qr$3l4"6@#Xq hK=E}KoocA&8B阋ᚚUNs VIQIK)J1{"؊].F 4IENDB`qelectrotech-0.22+svn897/ico/16x16/arrow-left.png0000644000175000017500000000100011176614511021220 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<}IDATxڥSKBQ>{Rz% ih2k)]ZBfA֦(C)O}wqs A9v1 穭L;5JRAPmQz#}*&CΖ#:-s_Z[+kQ<ڪ)S}cJ].iw`RAx{p:Ju Xn LbГ{SH|uR+d,&g+vKƦ{py]̒Ų0!sdze߫4,? IP{IEfmĵ0@ 䥇EyCb/ rV>C\VC¤(~]8jIENDB`qelectrotech-0.22+svn897/ico/16x16/document-open.png0000644000175000017500000000102311176614511021720 0ustar laurentlaurentPNG  IHDR(-SsBITO pHYs B(xtEXtSoftwarewww.inkscape.org<PLTEBBBA!d#k#l)q1f1w:~ACH|KTUhnrxy~~씥ᘼ.` tRNS<>? /IDATAJQ/ < ;nt2cUH 77s|MgL^j⼌];k9vLB&`$fI"b&\ IlY S $p?,!ՀIENDB`qelectrotech-0.22+svn897/ico/16x16/document-print-frame.png0000644000175000017500000000135411176614511023212 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<iIDATxڍRkAv3;ښ_MBm #Rғ^x(x⥇<ZH/Bċx(D!Ԫfm&m;ЄR1̛{zT4My  @1p1܂.TD >~~tg+o/mٞLRXz[>ypmEJ YPu<xce-i~RG'!")0??V;B@$R'ݕ_s@ ) hx=4,˂ih 8U)sx IBy k$Ŕ;?M*uIENDB`qelectrotech-0.22+svn897/ico/16x16/orientations.png0000644000175000017500000000030011176605035021657 0ustar laurentlaurentPNG  IHDRaIDAT8A |顢TH\06!K jՁR P 0%$IQbC'ZXg v឵hߐg"Nqe̮HO 6BxsG',@Ylc0_>IENDB`qelectrotech-0.22+svn897/ico/16x16/remove_col.png0000644000175000017500000000053711176605035021307 0ustar laurentlaurentPNG  IHDRa pHYs  d_gAMA|Q cHRMz%u0`:o_FIDATxbH_k8?J3Y?2aabb~f`eB@8\h7_8  ^ г8  F ?z {oa@'^@JͨP"lt@@@@@`h}\hgIENDB`qelectrotech-0.22+svn897/ico/16x16/folder-new.png0000644000175000017500000000110211176614511021203 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATxڕ?has+S) BC6q\ v(UADE\ŹJɤE!Q)mj{wAxy=jO!OcvJOJuTv_bE[Y~Uy%8}oiwIQ9LčvþWtkUݲ4ʙœZCʯhM\8B|ӖSKyUL&_ gqyl8ƕUü2k 0SۤmV >ۼS@ ؿU梐gzlHh|huɉA<Ç]A.0Ʊph@x#?@,b-a# ߳n|G&㺝 Ҏq,C<% 7וo4XUq]W|s87{J~|l} {eڒ[m؋Owg@\cO_P+q@# 9 WJ>-ae@D`Zy>A@aRE4#ZɻΒMB} ;Nsp8̦ ]ץn+l(3-֦b.l&VQtjqR:Y.wN~l 9$OS9H~IENDB`qelectrotech-0.22+svn897/ico/16x16/endline-none.png0000644000175000017500000000014511176605035021523 0ustar laurentlaurentPNG  IHDRa,IDAT8c?%"ݣPFQ :IENDB`qelectrotech-0.22+svn897/ico/16x16/edit-paste.png0000644000175000017500000000102111176614511021200 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxڅSOP4qf?_j,,$+)N2q&2&I4z\~^wW%`t:+|~}8gtڀHf!(J_d28VT*Bir| !(d۶mr<UUq(IٌqLSj a|9bXM3˝ 0 Ƙp!+{1v_Ǔod~Z}4-ۉ=6/-eHCIENDB`qelectrotech-0.22+svn897/ico/16x16/object-rotate-right.png0000644000175000017500000000106511176614511023026 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATx}](Casۅbu͕ŕF13QZFP.JIsJ"1]!w5tN=yAUUKF{vf|=0} ItQ!KG?f^P!C Pg.@e1M ؉:dtJD \dN0.~z2p2#J&{R,rG .xu1ތ4@ Ls6м^zg;2ҊvOHXԓޚQĦ3$gRwҀLB+k 16dB0s v$3" 8&'}Qz ZLjЪhn"AI֦Ӓݮ:\ڨ9x'SIoC mr$IENDB`qelectrotech-0.22+svn897/ico/16x16/edit-delete.png0000644000175000017500000000120111176614511021326 0ustar laurentlaurentPNG  IHDR(-SsBITO pHYs:tEXtSoftwarewww.inkscape.org<PLTEnmj++$xuJI`]4*G?!#$'1&+J?J@LCVL#!#!>4C:j#j# {<2Y![!93 33MH::92  >>D?NJFF VVWTe`b^`]caha/*0,2-2.sqmmvu鍉cA!4tRNS222HHHHHHIIIJKOPQRnbIDATE("vwwbbwϡt 6 #όЧ_>rMͅfD|y&ΓȘؠ?lq?tl7"4aVjcdzVVM}YxlcC@F8,\Ckzl?IENDB`qelectrotech-0.22+svn897/ico/16x16/west.png0000644000175000017500000000024711176605035020135 0ustar laurentlaurentPNG  IHDRanIDAT8͓ Ek_~Q***v?r{ŵ ;yVl7EY<8ځWXA`aQhV_![w}IENDB`qelectrotech-0.22+svn897/ico/16x16/document-import.png0000644000175000017500000000114111176614511022272 0ustar laurentlaurentPNG  IHDR(-SsBITO pHYs:tEXtSoftwarewww.inkscape.org<PLTEddddddhhhrrr|||tRNS!$,5PQRsf"IDATJ@'⢈ji.D|xEA*]h.Z0d2AoޗY¤t?%a e?9p{޾[wMS^F ax o–Do?^Y@Dj^^I)$g:LP6CR#jf*9GO#|NIENDB`qelectrotech-0.22+svn897/ico/16x16/edit-clear.png0000644000175000017500000000144211176614511021161 0ustar laurentlaurentPNG  IHDRabKGD pHYsu85tIME5$AFIDAT8˕YHTaΜљtt\,Kh, $#"  ""(. ҋS.$,K1YYUQ}/0y|GMnXLfTz*t[ti =^&0B|ӿui~jni:-A,/H<\ƝGtʂGvVeS`#QzvrXǓ]:X5 hաH[50`ʻ-S3M쫪*DH@覯|SwRi*tfϘ[g&fǵ5M작[cx @PC_ !]l>G"A-tU FvCQ(I G7yrQ0 ;&Ƣ$\2g 074D n@ ٬6Olݑ锯$:j*q5vengn9=#~Mp\*TŲUlc)dm(2$v ;@@Fӧ˪UI BB0F Q @@N9$^^HA("#t@ '/%C?a {}}?AlZ@İtcgOMw{?GG"0Ab 9@= @ĸȀ q  '$b7?z IoO!>>A~VVH"0E)H {o83ڗvzɅGM Ac +_?Vhf xnr˿>"###?` d|g0}Pn!ĞIENDB`qelectrotech-0.22+svn897/ico/16x16/edit-copy.png0000644000175000017500000000074511176614511021052 0ustar laurentlaurentPNG  IHDRasRGBbKGD pHYsu85tIME#;bgeIDATxڕJ@g7^<VTJ%w:l蚐||owV|FpXH~!CMW71`5U7 A)8٦s&q  - v9Nȩ5+/FHl61sH VV^# =y" 1L{U3gHS`@l6`> hBD( :z=u]Qݬv+7ggZ?&ߐo$ fY /_ TJa8Q)hȀ4M1sj'w&65*%~.W8}/}>45 "[hf +0h q{+}IENDB`qelectrotech-0.22+svn897/ico/16x16/east.png0000644000175000017500000000024511176605035020105 0ustar laurentlaurentPNG  IHDRalIDAT8I@ 㿧yy{Q6x ycݫO"Ñ؊g]k".h]!jR)\8< #lwU1/9²2$8;OB`DVIENDB`qelectrotech-0.22+svn897/ico/16x16/endline-circle.png0000644000175000017500000000022511176605035022024 0ustar laurentlaurentPNG  IHDRa\IDAT8͒A ! wx٪77)X$='z(nr$-)¸GdUFk)$ lKdu*O,IENDB`qelectrotech-0.22+svn897/ico/16x16/zoom-original.png0000644000175000017500000000141511176614511021736 0ustar laurentlaurentPNG  IHDRabKGD pHYs^tIME IDATxڝoHqwmvjݜPS4`t܋M|W/,!|7K}Ut -MN6n~kyMnIZH Ui>*@ILK8,LI;8.1nV<K !a|2$O:]/sI?V ɨ`$$X8GA1'p4`Hq:Xcř0_ۦPJx-.#mO0AH˙bb;>yq $k4D$?" VVSBE7]V_-33+x]nZ[JP,2%T./q^^h0觧&'2趭[?f@NUJu7&e&''inn~#fd2j8hR4}CVgN1pJXvKQQђ ipWVTT# VS>gR('7#[IENDB`qelectrotech-0.22+svn897/ico/16x16/endline-triangle.png0000644000175000017500000000021311176605035022365 0ustar laurentlaurentPNG  IHDRaRIDAT81@gڨKh,,Y0 Z2r RL!S*I|M?GbX`(^ j 5IENDB`qelectrotech-0.22+svn897/ico/16x16/edit-undo.png0000644000175000017500000000154211176614511021041 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxڥKhQϙ;ɴI/GnD\nƅVpƍn+u+*.WnDP-Zj[km5Mb$&3MPAt7s0Os2]GjwDZ6􈾐$ 8,]dk-+kl5pښJ]^ps%ItA{gAk5̀?"իcoWBSߖ]0I$ lUu NcM99'+HM*N@0670lji1㪯:*]@|)mA mLhֆmLҢјY.ш\[[q`sJ[罃VgՆhY0F.‹ݑ 킩!f6[C1csvY:jriʾ`9[p{GdrE57DY{*O{* &Jq _L>AbPHrg5@PeI?H/t(IENDB`qelectrotech-0.22+svn897/ico/16x16/document-export.png0000644000175000017500000000114611176614511022306 0ustar laurentlaurentPNG  IHDR(-SsBITO pHYs:tEXtSoftwarewww.inkscape.org<PLTEdddmmm???dddՌ׃nnnxxxң=tRNS!$,-5PQRRIDATJPE}νɀr/;;A,u  $ŵ4<ͱ-;͘ 觛^`"̺-IlZxXEgwDmZÖAHLD,oIk}IdH/ㄑ$]-I :04iX6=P@] SAwGOIENDB`qelectrotech-0.22+svn897/ico/16x16/user-online.png0000644000175000017500000000136511176605035021415 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<rIDATxuMHTQ(̸R)RHr2hQMѮբU\XmQVA!~` BQuԙy{㉍9ǽ眿*XZ (,a·BrF92x ^+,y=AmFg5]m bB,Ujۙw<|:h WsγU˃P1Jy?tbDbXcD\ߐ IENDB`qelectrotech-0.22+svn897/ico/16x16/document-save-all.png0000644000175000017500000000117311176614511022471 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxڕ1o@KmEP~@H @bJ)ځ_ЌH8FIPpjDZεCRU{>E +1V`aL[P,}m~w݇0`~ /{8yh3\ -=J*"$wu1N8J;TBJ=plei9e f\,y uxgީ`&Z2;0eƔve=z^IENDB`qelectrotech-0.22+svn897/ico/16x16/folder.png0000644000175000017500000000060211176605035020421 0ustar laurentlaurentPNG  IHDR(-SsBITO pHYs B(xtEXtSoftwarewww.inkscape.org<xPLTEfy{ob画VIg7z>h2w3wfpuz1WtRNS<|R^IDATxڅG@@YJ!A_J)?'&rGg$'9EIAU*h xBFمq`mhI . 0IENDB`qelectrotech-0.22+svn897/ico/16x16/document-new.png0000644000175000017500000000110311176614511021547 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxڍkSQsrAR*9݌uS?h%ԂC j=BM%͇p_?q}.+\,e/gr@I0ƞAkmJvxiMΥ%6NO>W AMcX R)o@{Nˋe#5B vYgeH"a֠008y1d +O7# 5 UUEX\8 &ȵ<ݚF(eߴ$2bOMhvTQ~mG֛!-/0izpp=RcL~M.G/Cl(SɰH23%Lnm3sbt.6 p ƻם4l[ޡ/(LY{Do<'7 jl\q%"wVK?}X6FA?'+g$Y8V6nt^~n38 rIO7PqB:EdYy`DA ݓl'bb;Wap:B!խV+X bqJ5 $r&Rń^@$уQEG03elYŬl.*eJ@d}iibxb($ϳ14~:÷ ??"X<@B,I#IW Wn#  E7@LFQIENDB`qelectrotech-0.22+svn897/ico/16x16/application-exit.png0000644000175000017500000000151211176614511022420 0ustar laurentlaurentPNG  IHDRabKGD pHYsvv}ՂtIME  )xoIDATxڍkTW?7o^f2$'u\4?Ԫ *Em.ڕJv]A6]tbn\ؒt!313̼_yxt!҅spUk~hݛ}[ `w{je匪_t/5E ʹTΝcX$􌷶F$:@'E|6aD\I߀"[JT6Cd1:Fg0Zby_wV p~r+s( Ey_Q[¼ m a)s [782ٯ.&m2dȴ P7VjrNr*ji?1^.i;ju-_7ATV=buwp"@Al [YB$CZV;[_MxPZ#*jR!:yIENDB`qelectrotech-0.22+svn897/ico/16x16/arrow-right.png0000644000175000017500000000101711176614511021413 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxڥ?KQy\Ӕ(.!8j@ɤT'3ss&EQXA(D{ߣY-lK++?cc[ɂfPn!<|8iP,…f$?IA!}@^T"!7/gGHY%A@[M㣞-^BC; +ȆhK o=VPl`@Qpesc80u QzZA8p!WCƃ_͑;N#xBqKpgW6 4" sUiTgxv5J$ZY{TNΦ8I(!%pvZU.}ʇ@4h57=K3KIENDB`qelectrotech-0.22+svn897/ico/16x16/configure-toolbars.png0000644000175000017500000000140511176614511022753 0ustar laurentlaurentPNG  IHDRasRGBbKGD pHYs B(xtIME + :IDAT8ˍka!mH1"H(Vꮠk[Rp%Jٝ qka}V@j;F-X4#51i ff̌MpνGbsf$ . gϒC_UnkUo^ή8Sae&RIS ܉ ]Ӫ%>?۷lٲP($I|4I>N ]EUֆ#!I^zBzh7$~ffg3>o:XI\f,]򵫌) ;P3aUUS6 Du ]7(56L8sss $ϑey`YIRD*bYB,]xg'lpCy|AoY$I2m >B$AqXnwp'FŨz\NӴdR__aM82.^$ejj> ?e^]zB*5U[EMwwY}ׅgG$W[y?ni޽{C݁i`rz,566^ڏett>PXi\eŸ2&%oD:>ewoߟ/#7 IENDB`qelectrotech-0.22+svn897/ico/16x16/remove_row.png0000644000175000017500000000055311176605035021337 0ustar laurentlaurentPNG  IHDRa pHYs  d_gAMA|Q cHRMz%u0`:o_FIDATxbL@]ΈK   7o0P"q '0gKE ~Cx@ؿk3@, [10|};bI 3@7}@@ kс@,[v?g`([@QDDĒSI@CD d7IENDB`qelectrotech-0.22+svn897/ico/16x16/view-restore.png0000644000175000017500000000074311176614511021606 0ustar laurentlaurentPNG  IHDRasRGBbKGD pHYs B(xtIME ;B\ cIDAT8˥JQwRr匭J#0FDD=DWhz !Q°E/`ԸM m ӧW@p"RvBQ@V45M`7XD,Ţ* Aswd .6IbI%pÖJƕ jLt5JEsUCB+TG@__AsmHJz"Wfeh#N^A@pГfTqp-#ȠH^ϱ=e[d8X8'ӮF&ڬIykզ!=?=a:tKѷ;/IENDB`qelectrotech-0.22+svn897/ico/16x16/item_move.png0000644000175000017500000000112011176605035021126 0ustar laurentlaurentPNG  IHDRa pHYs ,gAMA|Q cHRMz%u0`:o_FIDATxb?2x>### 8033gaaLLL n3EAA~>>>o߾1g"@2_RRR|_>}:< h⍏=ٳ @ F 5z qqvvvCcC@1^Ν;@Px`4*@zp~}}@7@m?0FV@.*' 7@/(&g:?0< dÇ  \.znnn7oPL p}?Q@@ =)P 0`G{__`>6=a}''@ hzPe)@ax90A~+ g'~IENDB`qelectrotech-0.22+svn897/ico/16x16/go-home.png0000644000175000017500000000117311176614511020504 0ustar laurentlaurentPNG  IHDR(-SsBITO pHYs:tEXtSoftwarewww.inkscape.org<PLTEbgf/462895:;7=>8>?9=>;@@AEDGJHKNLLOLLQQNPMOROPUULQQ/20.00bedbee`bb`cbfhhaddbdd).0/572895:;7<=8>?9=>;@?<;9?CBBEDEIGHKIKNKKNLORORUQUSM].`i`uedbfhhfifj: opes9s[tsntuixxl||psf vCR PTT_ d di$_tRNSxuxIDATxePDw+bG{A+˙d)X YrxE?AZr7>1 Λ6:c=e@:<0@L3>\ #IRjey\W ]H~ ]@}Y~[ 8B 7OxMGagGv]TS,L˴}Ip'0NvtzPף ( Ce!t=lB(2Ʃ1AO %فH;x?VF|>eHt E$𐱷܂αGr6|cTHJIQy|`ㅴzѫ%!zN 4FL(:8;޳K6‡&&i5qIENDB`qelectrotech-0.22+svn897/ico/16x16/project.png0000644000175000017500000000061011176605035020613 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxڥ=JAW]5ӳ"((hb F -<'Ph0=;;?b|KQIC˗D%gqÞ]iIEѠ6v]lZh7J$w8 ϘG8|-Bt/B2.VB߭ mW"DN&ZwZ0 i$Yr"HgLvvnJricԴL5)bC5(t'\!FMPe\ [̾pm8> P. OyD\i؝KӉոnZl.&Yr2Vdu\kYSox;\"~|7\uQrkIp,IENDB`qelectrotech-0.22+svn897/ico/16x16/north.png0000644000175000017500000000024311176605035020301 0ustar laurentlaurentPNG  IHDRajIDAT8 E"ݪ=(HhTr 8^8i2 bR *XcҊ٤1=v ~ "IENDB`qelectrotech-0.22+svn897/ico/16x16/item_copy.png0000644000175000017500000000141111176605035021135 0ustar laurentlaurentPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb}/>>nKK=;QQYp*߿^c ~e`x 00)me +ŕ? @5?a4 P ۷X!!Nׯ?0|6?~ xo&$  `VIIQ9..B0@ .. --4 X@l 0@1"_Nl`W߁~ ??`0?`z0b@y|XﺺNJʰ7,`q!#@9Y3f at2H߿62 A^ @(061+0m$sF7@ ٢,ˠNkdeeſ@X&8@ 'a` c8z<4]y v˗ blIENDB`qelectrotech-0.22+svn897/ico/16x16/arrow-left-double.png0000644000175000017500000000121511176614511022500 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org< IDATxڥSkAfgݤnv[%XQӛPkSK. 5r)Q8h^vr^yjL'ڤ1EV8q !C Mz㼶A+_Wq;@ {n_H=gk^Im)SA" 7ʣ3DO3llu43]Qr]&|\ hlbBk{"DjzDo|j"ĉ΋߾N mxyumчiב}x|!ŋ{DnSZIENDB`qelectrotech-0.22+svn897/ico/16x16/preferences-desktop-user.png0000644000175000017500000000147111333571512024074 0ustar laurentlaurentPNG  IHDRasRGBbKGD pHYs B(xtIME#_IDATxڍIha2YMjMjjjS7֥N=AAA<(^ĂŃEOܥSj]p&2d&iNmP/|}|?AG6-d8&V8V Ev]n/ju4uIQy a{¥Pde6(b@E7?xLoh'mq(\x `0 S;o`8^'H4(=.&%Zԭr߾}aP]0~rqhlqN OLC/p=FEQdPcP _L .{Yr;z)sLh +E"Ff-pG%nJ` 2)xk+kcd]3_N DӒ?&6SݐIENDB`qelectrotech-0.22+svn897/ico/16x16/edit-clear-locationbar-ltr.png0000644000175000017500000000160111176614511024250 0ustar laurentlaurentPNG  IHDRabKGD pHYs7\7\ǤIDATxڥ;LSaw--M%0&$G H&F$A\#K4ɄŅBR)քDM#-ml0;|s{Wdi,3DXa%PܼR,l6f\6En8::eY?}VN P*x}^( ݁@F"i*dEv]и200xX'XkZ cc7PxnZQ  "mi@"Zf_"!%)N_8Q5p8(===v+x$hٹl*DI 0 @GG빉 p:088HIkk+5MR{9FS2|Lš@ \.3XVD ,:KmmmO,"kŪ)J}(^b 1D ,,, nt:ҝdRXDV_ߧbiTao F{u jWNE DY*}+(*(Ryٝn|>L\.+""f㭂SV"7og?M$fNjzaRHDHw &V-`|{8CrNsPb* @q|~|Vx9`LqpE,"zTXtSoftwarex+//.NN,H/J6XS\IENDB`qelectrotech-0.22+svn897/ico/16x16/arrow-right-double.png0000644000175000017500000000123211176614511022662 0ustar laurentlaurentPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxڥSkA};;M7ժP!ԣ*kd݆4C,Bh+ PF x3';oh5jf T)) !Ffn)Bi' #^Yh2W4<,5B]C@h[[tE}, ld4ʔ_[z.d"0U[}0DExGW/{f LE{lr$ҦRc~)aZ'/LD5= { IENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/0000755000175000017500000000000011347002073020270 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/256x256/0000755000175000017500000000000011347002064021231 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/256x256/mimetypes/0000755000175000017500000000000011347002064023245 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/256x256/mimetypes/application-x-qet-project.png0000644000175000017500000006707411200647463031002 0ustar laurentlaurentPNG  IHDR\rfsRGBbKGD pHYs7]7]F]tIME% IDATxiU6ȵ2+k}dDFDqA@ g̷y=9Ü>nYT\pCfQiPYQܷ~ȸQ7nU='O-y6jjjjjjjE~sRw:jk>.8(>xm*x|P f.[ H[U SVrwpںR/_Ad貇VU08! {CJ0i8kPu5 ap[A=|08aPu zνF,~?LAm]-?{9ű'=ںRh / @ty?(Yu5hQ^ƹC^Bz)dBfbgprpP2/΀")99Դm]VO:JOnbB04()J \ne!90-&   @E0YL󣧷T Ţn( ;s q\qh8|brutwKO^"CUَ3@Ǵ~tSj SXgyF̓Z Q2xkZE)ώ4cµ|>@}1~/ (r(u>AC5>KJ}_'^o|/@Ao K+ރpRā|rWRwͫ`Z̈y1d0 KY (F|;i`_3¤G[DiE/cZRLp70hyF&nv #^sJ|lA"~%۾v'WqD!4ԺL+x3>g_Bx6+<^" ,eD~?4 6C1F>@`ʊ/P\MJ=w<6#AǬ@ =/7k0:1 0MFsGԶ2c 9/sP( Rv. @xFj}o><ħ}1"p yZg‚Rx<.=O8F8TWRyXxA^w,^bƕv/@s;[7-ߧvR&x)u5 0܁3@utwwK_FD,mSiz>F]bㇶ~?{=PK~C=BaH~20^>d&Aܷu@^.nX,P,B.Ơ\PZF̄#2޺wB^! X 9ow->Ar=;}/W _)Jp#=M닛66߃|ʮMFx I:* p4"0Gi܆Q2 }Y}=Kyv] |Lł'"=pnw Uv2$!6CQye|/>| T,{L#c^~ڴ]!K i s,G.,ϓi}>Jg{i{ZVW*x ^j2"n8?wrȾT`~Oi r.N t>`n>`nV ^# Pɼ*( ^1H\]W! h}jۅwAK4@Eu!,HU 69E{Iv10tBKxe_'+QmC7_} r+#}rV+L灹wt V2Ǧ#U@﷛}?k@M:-QDyl[Q6wvи*?tp*"6@f F+fx?q(֡jMLJ^O{DbO|TW]*ϱ_ӺhG?>x8Z.O_&%ZB &({>W໘ @y^xI /HywDH܀_w V ixAU ?*!:5*Ğ*{2O)?uB`ze澇0 T t] V&xUaڝR~ m݁V0P(0;(W"*b} ys"᝷ѣGpB̿6Dt]G& Q{jDݻw2e ~RUYAJBk?O8pƌիWCW5" u# +D"@k@E/5@`a@ZI^A7A&⻢OB4@A .Z0 d2kZ0 ~$BNA0@]]{0OϟG*B8(PS b<Uce\-4pB9τ@/_v5~>w,^ٳgs"6@&QʴaO~L2˖-(PytO4kE},b ;Ua@P `K#9KנġM34Ås膁;G7ވl6"a詮[:h;$yzػw/x$I bLjyn ??0T_ ĽFjd'c 9h=H>156TfHAv]a 糙݆9(LIX}p# 5mizis ;\~x,q3OeUҺY -r>b7V=^?PURP5< ?/S!60YjHY+JRzj}"tDbN5qG|eLsTɕA!bRk@wRQ@"*NCL1 7y!\iI%dGl$P~fe܇'j{t^I B*š,5pe+_0D|-e_Iw/;I~ pYRKsKU'}9]KUR/O9 R3S_ݴ§rP;0e.k2H-;CMJH827/rY=ei{3)e{Ul w*"H,߅TXN嵯d3^*T@5̧ 4I1/Dp+: "*R~TG/D"Oi;|8 1b^A/ AW2w dOIoԌ`_lWyGLS#ˡ N?F 6 @bQ1WFy iHRH&h7,B tðY:ռjdqJi"ގ=*J ܑs .17m~KJMyA4;v 1v8464`̙8q$8{L4 Ϟ3fP( l+4~(_}/ǏGCCD0aGPSbܹhiiA!4z[,`x"=?~͘={6vڅ^i̜9_=F|>_JJICT"/ ldو>STC2+^,X ,@]]]MӐp)l߾ X|9JNn] W (5Zg9R{߱cΟ?6B/J;A`&L^3g`+o… rTJ ч0}tkr}FK"ǜoġC˗/?ʛ|>9?X|9Pj]uai}8r~7lY(*p _e ⋨DbT u^|cnj??^@"+P4]a9NAo7=#1 nL26mB6Ŝ9s{/?`g={?K]ykr23e!|>3f`ҤIؼy3zzzpw jAJ(%ku(-J?\^Sk.ގl6[Js`53+:?bYoQ$}>ݷ]]]4 ` Ğq91~N:i}d;Y'9rNB @:\;ٱ.^?*dUGJ$)!V PX], ҮkJu?vsiZN8+WĪUyӦi*K*_WW^u}mmmxwIHiaO<-s72sQ gϞž}ֆGyCGG"EP[< @.QՀ=_'PqM}W !8v0aR{/qpشiS_χ/Ocǰzb2сr6sR|{,8fΜi59r$.] 6>xftuVjk'_s ]7|S Z1U9¶"ߏ/>̝V$6lټ|nj5 3d*oF*D<GwO1oB4JɡC曑H$J$V?~\%jp1,X0݈#|rlܸLPB@~ ֭a_ϱcjR@d^Z/9VP@ŋ5z/ [7oF.o֮[bt:D<ttv#GđGK|hkkSخZ?~@N1eʔr00|pw}ذaC;GoźuxE'OƉ'*Zpc\2&y'ևth9'!0aBic*XH$5k`˖-r|K۶aŏN{{Mpnh`TJˢtvvbܸqg$ ](L&Qo7r'GU)E8i('B!$ bg#F`ʕظa(i9{{CW477#H8\I(MBWqGaZyjO<(y L" ?G3>> o݊Wrख़~Rb1R)uNd~:_ bjQGcwg|`Ŋ%kE`MdL&Q__orݸ<6l؀'Oz?Ө %AFdp\x@"uBBC ~O1~= "HYo7bj_Յ|ͷŠ+5͙yy NK%04"`ԨQk֬;v ͪy4BdPWWMۑNK% @W_}saʕxiXD"D{Wҙ5>7ɔ&|kNMGs 3gرcXv-y5;uFF"G뱶.S0Pf>DQ$ kSfݍ}^F$>P[W d`Yv?/j5b|wA2@gg$b_%4z!˶d!FaED"Fbhlh@,C}}=spcƌs|0c.g/ VZb00r(ܶp!^yR8}MV5MC6Egg'$t]/E82ŐǕ{n+oP---!ഺPa=.EdRT?܁Z[Zpȑ{q>4ꡇK/a uuuhhh@KK 8Νh}=DJ:B!AB!aաhMMM6}:$FaMMbB|gᡇFQM5 5 o /2|~m2_b%֝_)]1c |Wv&?wӟ~R45bŊb}#xχᅬx<7~_o8{hjQOU_5B=i M:]]]ꒂ߰RS777cXk+ƍ,9B=Çc)Ϯ֬YH$8sL75ߏX #ZZ؈P0h%1!0o<+ >MCsSSa TkkFgvL:bx@ )`(4*Kramd&Mn7oF$c?bP*QP(d5d2xWq뭷6Q>|8.\[9j~*x3a:j(,][lASSf͚Ç{"uFl͠Waxgsd0J쾮K6-܂:b1hp8֖׃|d! aPSK+k"/^XCBM8:@ Dٹxԩ1bMd5L&-"pZ[oȑ#IŽ?hSJ1vXՁR5bsJ͕ql]]]0X,⮻˜1cK/!N# Y\S`8ya(5w! x᷿-K @D S Lܹs1o<)^~uD^ cŊ;v, ΝC0,Yx~Lڊ+Wڪ k t(Pj^wjU 8L-d7a5MC,=܃noa:>&NIQJ&b_>{"g?-go-L!/h"L8* sbĉ cjYw}#H`VO&ht]GGG"y~2e x D"̟?'OXS ;wqc̘1( jk </:1'(utv6`޽~{yȨ 8TW_mks9U2G"DQP(i{MC07|#ɓ1bQ__^fǘc7p`mxģ0 ?cǎ39r$P"͢4inV3Ʈe^B17뛛m@'NÇq)=MMMVqOoo/Ν;I&aΜ96meI&Rf 5~f͇@U/ Kǟ?ӘL\ +?|hlh(1\cb=ǍC @"@"K/իW#Ѐh4Z%_9Ww|'Oƴj$ oߎhhh@X}*Bt6E<wXfAsB\s N F<Nj/XO fq5*q<_S)5̻KqnRԅèYQb\`ƍ1p\_Lj=Ģib1+K5 1s a}3Ӄ2! |>ǤIP(<uƱKG\2Z}Umw5ٙ%bpGv[ۓBo<' _uT~bd\~BJ$5yT~S.;;֍դ /{ i<ЮbJr(, @ Ll6ku!GF$ɒR;9yC=LTӔh2˄PҶ5̃@2ͩW%H },d*eYN/N.#YZDl麎ފx'׀~ 2_`6])'OA~6uQp %@Omಬ>=X~Ϋ7/_~Y r9këh~ ̑Jx5ia om-7/\Aொ}'M JwBVF444802V%,dEA5_%)'f0sRpLأ9P}n+"eǪ8 nkO5Dm L@f nBP%8?UgBu57ft0U@*A]]P6oy?P;v}T*ϧQ]MMM( ={Ѐw}K.\0S”H?AZyia̤@werM5C(o'ܹs o>;Շx .K ꫯ940 ՕdSljp ɓ'ï~c]ij`&zxh٦ZL!PZΟg\`OƂ `!ݻĔ)S_Rt:j Xjuuu)M|MӰw^8qӧONJ+׿}(ʡ˚p?J\+i慀BuϡP,xs]sJ `ѢEf%qdYG1`~[nK.E 7U#آP~6\ XeP fg"'NdfA>/a_I9tH>O P0ʻJϏ Cw-J ʎ>cHEIPqy ٯ`I(eɻ3 v|4tt5 R=b sL% 7lX%W9DR P`{_ T)yO@*3td2I_0@( r ×8l0p(,K 9h>8g9U9 ]7WrS~ lNBO&0j@*ͦ'?n? `Rex(ESSCOֺLB l> MJ7Wb1KWSmBu *EC0nԁ5iS){$RD©pGHɸR@鴕@\l.s^Ϣnb5p1ޭ.`{-pP*-7V4-{ޱbO ۀRAPz`)T&`?\ѫ9Rp/~aSu,K* B2K,񜜩dĖ0\{Kk"銹qjJH@UO L&S&<(Iǚ~&'`2l?\4B㦓$鴲;3O$ -Bm]AL 4L5cǴDN!\ )gPQH6(x}*~*+ j`CAjjv .G&F6[t.n&A2*iu/w㋫ h4:hg|Beٲj*n𜕆*KNI:\@cc#W6fK)I>S,bNMCjJd$,ZU$yWII?N(5/ d2%|e7XW% ~e^Pp5U*C>Ȳf<@66qpxpSQ'fㅀM{ȦTJP9-D~m4Uf:4a:uأCQP ~% 1! /1SRTYozHd@/&Zaq {CϕT4$2RiF!*)G '`L= H `?|Fڒ FymANA06`d<WKv^LBU7N%dZ0Ֆ%PJ7AfԫHA%Yy1hhh@0R!Nq~^#4E_ɵ3FuuU[&М۸@ϧ~YD3ɷdsݻAoQWD? :XY=&Ġ_30Pij dӃ+S1Pp3%yv( \>,@ @>~gΜ" @/,dsLoxI?6H:_߿n@4@iNV#zNXT6h(ުGӟTڧ|I~8YNP~#iL:a _l`&L]Fx1KB*3߉sD$Ђ33wO'5_A$yi&xm_:'80{M1ߢ:͛ @uuqj0΋|ٍHgR`?4e@.:;S|kqlt]IJQ,q X%\Y/π+]L8ETBe:ud eW @p\>&{|x{{I8O (eJ2`NICN<̀hCBҎ9KHJ|2f}}=N?_~әh4zOB+cXKZ:D~L_LH1[Ouq裏J~*SY+;_ͯH$*r_)+!0?J1@ .Ǣ ,!6eun.^~osc#kLUL^7` !Zp(@Vp[,Pf}\L>ﰑ?+u @Rd ^tj@e:I6|G?reD.\ovwWd*{|@s3$T[Wyl_P ð}2_bÇ1bnyՆ_<.JUB]1X?Xg%p6r^SI^[ɨӦg!B?8 ֯__Q;ѐ/d_`ń!9' @+`K$Xc5ՊPgb]םz8%8hp/%_z*j~~bE!"wNM?JP-jPEشb˴d\aVKpU9l΁2ʼn=Œ^2[`|N>:6 DvWM=ܲ0Nca*iz||P(/ ݩǩS6^lq5BѶ /E\JWBѩʳ(HDKoU iÁ|LB M^b26!lDh=8ED! Cf zhAw _ӽ0: ߙ*ϗ J>GN{L4-"}>4MC2D2D*tV'njxA`)!Lr=z}h/"fb(K],bɴ;R- `z(6 - esX.n5CiBN qa|hjjiH$H$9@IHzpI{f|~ǿbI@cņI Mׅ}?{c֬YH$ aʔ)'c۶m-j7B{lڴ +WĒ%K*ݯnL:/qk9jd27[  >k6U0a~_ Ns c2b xun XCx Br$?-GE_'pa+$ɾd2)?d.6ЀcZN2<vڥ^3 {9D"Ll޼?VZgy"Dd!MfO㡇ªUpYaG|`2лN~~;5 !ߝVTc֬Yc dB@u͛|XrO&L+, y?r,X`mD"L&@ 66! 3EᗷvD~io&_f+dž ,?R |8ZZZlxꩧuV-=۲e z!/00o<9r ) P1Hh' {T5tU6F&eX~&Z&K֟ѣG1uT& Xf ^}U$IPJ\֘1cсt:e4 ǎm4hO<6nhgI$4Ą@XD0zz5?s̘1C֮]_|DLnٲ˖-Ø1c|7nΜ9S&<ܬ&NN熺 RL{& fVH2 #YzE c͚5ؾ};(5\vA:<&L %׮]{X^O> Ibi9/^h?'NZR,Rcae[lҥK1n8A:&O/JAf;}n*"{Itj@㻀_L B6O44IsPM'R>P` H$hnn4S~3[pyr744 9>buaӦMhoodz>6M%+( ~bt:m ^{ /^֭[tR 6 uuuJX,.~a{O ۊ܀0p{%܆D&`ٔ0~3'$9b|$$0޽{~NcŸ<߮EKXf v؁'|"UB(=G?‚ ,m4':W^y> vލVL8idYL6 ?]o>_i3gΠ ZRGzB!+0l0)D`V%r}Nw) KRk@(Loz1B3fӧD~ߏu^(Fn +agΜSNIy yNƍm 9|!1bDYPiӦP* ֭[qwZ@)G/eADǩS0y23^օGAW I68&>c/*+bњ|\.gV <~z<6!bč7XQ>aq2 }t*Qfu֭Xx1FeW @ u$gNa67!2 C>Pf[$Zߟ"s,lv)444%onfb_~%n抛QB!\wu8xu^ $ ֭[["Ja۶mXlY5@uW;b͚5` }a_vo~W_a֭XpՙgYHAv!8tFa }izU>A%w8 04À2OvhlTjKF.9nԨQXt)^|EŊ c=z40sLO>>/~/" bVo!zg… q]ڴD?m XloߎFvm?~|Y2yAObXx1ߏ' y.(ޏJZ]5 ?՗ !V( {~0 sرciZ1cƠ V ~x):u*̙cӨ^q7c߾}Xv1: 8҂%Ȓfsu]x뭷O 7@ 4 Tk+y:)}WA ;ĬYO… |>d2k׮^|R̛77t~i;wα9 ?lB@6XȽI&aزe ?nk ƴjV0?i&sd  Un@J]Yڰ hIm t]G&f/_(0g7oB-ZqٴN O)EccSc rH 7l0 N>?۶m؈zd2$ |76lf͚˗[~r@ JuM_5>#={\s ŐL&0 ̞=/<]#\T`VqQ۷cǎESSbU$t`̙X~=p_-2Rt <.)DvC >"Ĝ#lJXȚ7/X,bk,Ç#bŊ4JJr I[0a,^تpbu!Ԫ[J>Gkk+@sL&H$D0zh|>|U+7ૄ&I߿u__ ̯Q(u(ᕁQYnnnzUS Rئ5jcsLn{=%2u477[-[ZZZTEYx2@/#2DccckV FUM;P]~UgC'_hK6Xd+N,FH$b 9T UNﲬm`>O{\+p /3YjjGG UU K|e-*𫴾wʼnBKÀnXpIl߾p0(-]7Jfd0hy,]';[RO>1  8DT$ fahllݻs^L_*"?^$=!H/pTnA ;zjBl2:uR!Nj4MYJOOz{{tonn kq^wf9 ;ՒNq 0{6 "g_(^T(j[_Q7^l)՟0r7 2q?Y E ][@ g"`_jCGG2m'8R$x4T*d2it9N?U)4~cc#ZZ[g0 l.d2YF|)ow:>-(E !aPJ)z?s/*"0$OˢDbMhkkk޽{ىVtuuR6ef53 b%.eȐuQ1||'BϫP }|0b߆7  "u8:;]r_p`r%VT4ٳgY2 `P'Bn#2 ?ĸqs VXm۶ZZZH$lST4 bjFm>P ]*w2íĖj}w yj$nfFV p Oq-I>f%;@ss3bRC4iӦgwy6,'ߩ pC^1(+Q#FoE񫵵+V@"@(BCClM/݈Bp8\q`Y bL&SV$k!^֯w 53 7LfoC&ivͿ JK# `ȑhjl\FNӋ߿ׯ=6K~gp0 L8qka 6-镽gj!BJ4blbȊiT`eR^bPIGQK!:nrRvK P,""k 뵦%'Lh>GB}}A/NoboWfNqjWB##X,z60`Mf?*d(F#XD\jY@umg ,Vwb|.t&l6)XbGcaĈ( x8'~D" = lxSqeV`?bRаaÐH$ۈYlR(Jl7?_|{,4f1K mZ8F}}cK``EV<>G3"EKsdT \ -s~8i&oA\N v߆aBy `ϟu DӫKسҐ{Z[[fL&<" @>w{qDm_ I3ėP;! x'!fJbh =|yl9m%q?cǍ  I='+g8gAHzebq~٦g BBƚW8J˴?8F]]5 U% [>b\$ RR"-蛯Ǵi0ct9Қs,9܋g%w/rUg9f1`eFDO "1*MH"K4AhiSVc_$Qh R  Y`&3ss3_3sΝs`vvwvvfwy_W4oi~hb16`#iMG̶E~?y|@]H nSؠϢHnw#݂8h.l݊nm3َQlLUBΜ9?[%Zdߘ2$xd}mllnG,.yQ~QFhn.&LU(` $9^x!-gӼq9 Z "1PbK(l|3M4x(Fe&%U V^ydVetw^yg] }'. }Q]e^$O[obbF#ҫjA=VZ㳰LK~.գ ,A0ưtȑ#oEo)S_{HCxЏ_PKcV3<&*?~5ָ@A`P2IqӔM鬻L *`igt$90j4G&m۶r$הR/7X^O++2b<2v Wj pڒ,5~cG@C$+ efL,4>w }nZָ&H@O ;“$N~##YJ#amF([!!d~~իWo W/l?֙o IDAT%#πKY[|XRo3-ƛ?F?yG _XҞν< ~qș3g裏T g]SDT$(Y6bt& /!QֿkY\@ &˟H;Ctܹ+I|;0O@i5Xq|[בg!>.}wB?g͛_b3}~-X}U'b~:J$?w>m^N4m{x'`]Wpͯw%t-\K}B@EHY~9IJL!4<{~Qb՘_nщ|TKCv󊀒yL%b,kD , 177R$Z [ 1 \ X7aC,,$V Lݨ7>$[D=wͷMW\t W$5$GJ1J^QV Y0s|? @ w;qo?/_e2:&-};kc! 7,077YxQJGʕ+7${n?௮Ɵpm jGl#7 ˟'-Tu<&\",4t|a+/cp\4@ $$8;y^U^n9p}*>&yo.^ d4v{?30==;&+4K:mԗ. W@ N:Iu7~7vG\'c6fc }@J)&&''x7yCPZo+1>!=>:^uLNND-I8p-t;v1?ytwm_y t]k8"nayY#hX$|_5׭S=צGC"p{;fy^RB˗/+OEֹZ1%3KLOo12uɅ g !.ޑ369K * n߾=5Ϟ=וD̯&FnXƅbyǐ_Aj@8hW>t?J)cرco,..~܆^ۯ.Yzn57*k-6M$8Nf3*֡C^on#>#ifTW?/G[D-=!kw@D%LڭzxQWqxm{u a=M"N ?8 4 KKKy'~t"/'TI/؂P8%Feɢ+bH~qBfL?>Ӌ=<ZS}S\OIl`O^f]Px?|@8O@@_/,,ԩS@h\}S?,أzk ۃ@?>…/ѧ%>U+}XWlPn9H,~^ B@:R8X__Zy)/_|_u&ogDȻwFO T4AYVbxUF0)8hZB˂ h=쳿\^^+x/U @Ǿ%_eRvA~VJ5Ay'i,.~=VTWexj K19kq ޽{jZ˯[Ω[I5?K DGXFchesU/h*g%4Ҍ2 z5>?kZj_W7ֹS#mSZ"ifk&6nE$gWD&"@wƀ8{.6mvޟ޽{w;C'k`4~DWt񸮋m>+++˷Krfw%ÀVb/y 0ϏqLMMr!Dѿ|Bb?FHs!MuiTC4 VLcb{KԘ@+Ҁ'&&A۶AXA\]#5=]m~=O$+RB?D{~{R)v|5_#$$pڽ+eՃ=MhRTE~8aXa@OV3{qSS :#:Sh*h-D{=-Xί7gX2/iZŒKAwO񠷬Do][ v^i9X23ycr[! r/]7I&ʞrMمe` }|͌XCҴk0b8 cS3!WysI<a!qـD80 aG-vex(tY *p`gY!O*5 |CQ&mH& dQFJ4j/(<ޏR~ߙ{}1R?B :e^˼{zbJg[HKlTuWuI>|0/NLe_Yk""n\A޾N&F&qu=i_o1r199~ 8p}}}ؾcG2OPKo8?CT#7b\ h ⵩k 9CC799+WXd pE@ymg+Lc?,j)7Z{y8*Z/RpA2Ȁ - +Z'Z΀^fWׇ%K===FP@!G\Qxd? 'ǩǗ/y{ Wzz/L;/c6 0 ,@JF@,ظq#V^b.lٲ2>'H5?8E; y{ĠWDtYC# ='@?,:2lƍ0[*C>yMM(?k׵b<9x8ɧi(! s8 Bud:7 PeuT0[qP,"׮]S&(L^_L;OVG0(i:J!Q+ʌH<>cB#?>YO/ {J/] XA3h&wu^?KSzk5𪾆+EoH Sq5孓K[u6χXb_gki@ě+&4X$T^^*w7MDBie<fXeZNcפskcokO zaPݕ`xmúZ2`@k橉} x ?nu[ӎ+1:kR4N0vl@3[9uSu]?3I T{kQ>׏$y>Jh>V 7lhTx@'ݳc _~ٵңmG辢l/NKOI%eMtIeT6WӄA;S~M /zݗ<K@g>&( 1jh@H3N\JwhVZkYMTq;rI{F!o 2J@kc#+ѻhq6C &+%qC>|O&,xgjرG LUiJω. xTr#$M5Fq;ttZnafrR:P/Iz" |F*L|CA@/1pO ـA($m]h52 z~b!g[b7+RIkʨS7+@u/qb]V=gX/޼^ /#J @ v(ׄᢓ}&]&TkxPE1-U|Ԃ$EvV4|TM>ٱ 4(My85Go&W }:vT%Pw X9/6(3"1;S e,O@@$q@|%EO lHgWg +ldSnnjS,%Ty σRׯGD"b &WGL˼*<0J)<_o[+^^Ul,BtFY Eeq\c3㉦4X*O.*q^_4"uK=14ePd@ <`ła::o 鼹q1U^_<>Q/@qZРH+;(t^g izUF"Vᗔy}&9jNڂ4L2($h IGL"e mgKU~u:|yp`Bo}&'aYoPU<,P6Z998BkYT*՝z(O) b$$)ߨȤXF"6Χe>1== aYVF`8GHS̉Xr9zuE 9-n u: !oP*b8`fgghʄ~AiuQ&1<06:1,E___u ;'q:S  ()9hS<&5`Lfr@PVl@LpV1bt$F;3obbW\իÖn\x~2m2]DK"]~fffixu<=s9Es9 X7Keq|u u H̏b'`jj SSSC@!dx4k-V4~y.ģ'5MAJ1==a`BXDww7KbF%hf T*(J((JU]¶L/1'&&099KK_k4aiH.G)6%8K Ci5Ių4;} Ř]vMʁX,=Kr=6Hqa?IC 3\}A,O㺘<׭XQ{>ׯ_$V^]eCzN _m,M;pQ @|JTyݻwR%K`۶m{1:>VEM|%KʸիWQ =ʠP(l;T}Pé2a0`ISSS $lp6QJBfL _gTXrߨˎ=7MmK.Ųe0==jW3 3Vl ͌5x c3Y_Aݙv`uEzR-*gFF099t"m2sWx8P,n:Te\tU+`YQ`88{,֬Yb"VQ!n·~g{&nLV)ϢWX& #@~y87Te"˗/@  $ "W(`.W\.p-[@H]=qi4?L'rT^Vأ`q _I===XjU se8-Pdv> Npu033W:+&bhps!-ItEzXi|"C8$ ,LNMsypd֯_k׆^HL䋥RU m:0mAIܑW166z:ѐ-^~}N!vqxj߄B حg z?yA} bɒ%8{llN O"hg6?"a<> jU̠kV::Y-=ظqc]*yUP}Ylox)slقB,:}4<52jǡưvRcgl/׵, rJ<[UJBy~*tQaGuUE$~ RB`,q8ю͖-[:(4a& f< ֙ʏ-[xwu{zBP6_ 4eqETyO{qBx:~"PS-8z$ƃ9[M)8y$n\0ZWC b:N4 ictBP.qٰ ?aɓn4o:}ylaxh,yo۰yeaddW^Պi9bxxj|ca~@?z{{:/V=b8)8}t BՂ߯zFH)ŦMzjtwwGlٲnAutU-Dm?V.<\Da$t_76T'CЋ<K.)Z݌.\uBfO<"nܸvʎ)M$_'''?k-[`pL=O8Q}01$J̳, W^ 黪Jr``;v4BN:Cfy\ H((X[@)&'{nU)6~oDP &8~6wSް};ԃ#5P!w=68={\ !׮]Å Rlܸ,=zN0Puʕ+zdRbNXfd[(&''q}tƤS}&P%*mN_-L۫5IIJ@, ǏCY2Put?"5M=_]ZσUVp z˗ kQm(Y =M-h׬Y޾H}E4H;v 5 ޤO,A灕TJ۷Gö,7? Zo?3Fgϟz"I,Z] UsAcF`ǎ86 0@?~f8K4&eb^G&$1?6mT'k YFP :9 ?γ;?} r.ymVL*OQ,qM7u:ѣG1S.>9߈?sLH͛Ϛ5kעu_WDh <-?AuqUe-شy3JSwpY,nҪ9ecvf&4B* :mHnݪ?;\Ŷm` !8s\5%͏@h`r8}dA)P> .[J (EP7:rV 9-vY1^ a?}tx=Uo֭Qa Az`ddr9;Pp)*~X&153ؼe |s&;rnH 0fbXτH.7~# $y~l۶-~X?W IDAT2N)ݭm8sL&v~y/WU/,]eYTUEŚ~vZe~#b4 3D0c(Ң25;Un0}7oȈ`dd7on1$yy'SDAGtwwcppPcm۸۵e۶Ç; >LB%P쾬& M̐[N0dY=;:ŪcyťijA߲H=ņuq0.4~g=!8t&&&*%M)s Go|FeLӼ?k׮Uŋ3i@:/.j@.V  (4J*y˖-7BBM ~,Ɲwݥd,^fF щ|G x/o9uА=B0l̚$)bÆ $- ?z!idaÆ ZtvaЀ_+qjLB`6:}|cccx#X+ۋ|-X~}8@Vpl|:r\.+(ni?m˵Xka}ժU~;0E8Q;"DFR` T^Ull {{{q-<3Zr9idL7p3X `J.Rue||H@)׫Ty%{}=c7ߌl@tСy1뭷=pʕVċ/_ƚ5k  e @VGP- 0pV{Ή_b&?bՉu#q= ˅b !FGG46B{ERȧ7t#וU3FzL \UCP Jю0 xEտzjh`sQ?D7W.`L@[gµkR_h잶mc||l%moo/n_FřA@U͎T#c SM.UeQ[U,DdV!aaʿJ)vz7c@ZF@~dq-IchhH9:̲*DΠzw`TSOgrj6K2`b5Ҧ7q',!ؐ`]p"8r{=4@:w UtYW_OOTxesT[Yׯ/ꢠ2_Awu؄5Įf7jBEem Y;8ymӃᄏ)H"e˖)ߟž@百8j/~R5u6*޲u 8ѐy]]]JE1WeekPJds= _g&{ d]_CuqlwmXdŲ,+a/ SΈhxQ{]]]̌KF@lbOLLVL[$JxC 20מ_" >n|󨄀Z?@uAfUndf.^XgTA olVN~٦!<:@\efL؞}H33(̠4=rTmu D?]ˮ̣E~x0pe3 qؚܲ߾}aݸb斍oG^d<ǏRDΆzJ`1Ț%%-&1! Ν 8o*x,aIbjj*3p}IPa2@Y($xx(hԔ\<,Y$hko_ 9s&R;55^{M9FmnrK4C:*p柅q3zT"1Uh~aaZj4a3Ԥo/;wFAZÇcxxmcjj { 3 X,gC!ĵ mb j$:X7nTʐȊdpj*wct71oؠ#G`޽CPty_HH?RkZct Ad;0GHw11,+\|A.^,[ l<|C1\_ $b)Gm5ެAhg$݃dԔÚLG)MEmۑA%:AĨk=8عs''KE|xbW1ZŸ_@g)8IQ-<!(rqRQU c#d31V =8P+WgoqFm fLtN)0ѧn$7H,fRع\v#!ܔC2#7 G?1&^䐵Ob'^E,WqpGW)ǵ6~Xӎ;nA!)cB6lhk՞Ӽ1xtPPUix.Uj6HhXOI d^xCpoLਦ(AgxλG{vt"۔ScX+r $CV)krr/Rdm}[n użv tN>]OU](…ȕň2-Bd1m/º<J)mۖ/ #fF\VĆd!S& ix.PH\X&ױ, ׮] v3xlкuBlƻ[tǗycU7۷0Mk$#Q!DI b JtɌôbQOFJuu2ϯ@|>wyǎl"ηcrrRz藱 BЂ2ʊy┸@  d|>j9t5iq /7M;d_fXMgd}uZѮo*#>ljAPTQf4\[2۟IC B._tV)0G.bϞ=pP ض7xGik!$RbժUҲF|k}ﯛ'$B#I<<͛9oY&5*Pض0էR-[O}SM?>>aƍڲ7|ǎKE3} OV֭c#|hHZl:E6_OiӦZIV*\|9*w>?f˗/o7۱nj dr9k8zh[cymVHUPMˍ͚$!oL`r7]F4 <[l~|Rvڥ%ٶӧO+=?[+Vhi,HbÆ Z&믷`~[PlܸQea!y#"NaNBuޟ $.]c>}:2```F _Ċq`}ؾ};N<)YЇ>԰^|<+WL iسgrp>kرcG!4T*ҊEJ)6m!zPx˲PTSOaxxn@TyNCCC(y1+v9x`CL0'FbʕMiڃ>M6)r^}U9r<,ξ}=ć8pSӚ$~dtf^<XZ$Of]ۥn3@۶'N(S}칭^_pB{56:͟{y[TvݺuZdY8/숝j0w7Ʋ@}wq*r>|8Q/۶ǏkJ; zشiwP(22/38/r0;vmRAWܨTUiG;H(}?vZU|fTzǎe^ucKڶGjwC)G>pW^_l=7owR@w]pӘe/~`Ν(JRgYݫ@SFق?|0^z%\zu;^gA!ٴ={L@HcǎW囍Ad@HtUq% g$ 7j9x ]fDBK/Ic~8N:4"5:|cxꞷ_*# ^>g"&e@|^x IU1@<GyTA.]H<={h6lؐjm+ž?-[*MСCE,¿ۿI7Ν;7ӗ^z @>>f+V;;T&ա !46*_UqnF>{0`C2݋bX c[noɨSMb_~.,s=WW)zvq~+w-گ3qT*l ,׼D^IXr=2cك\.}^CPTuuV<#ʒv)(y<?Eڜg]ͿF8p9`b߯kҖbRUi_G0N χɆ}lݺ: tjul`\'x"vލ6V5Ap̙ ۷|+À#1mǃj׮]w?~$Μ9)im݆uE>`37 : qI-]Ů]e˖H *ER󡠨&q(FꚀyA+3(*bI twwk CtǎxFˌK~ӟ֭[C0T*g>?N0.ӊI. @xTBz@Ꮥ"v]=}rKT5ҪdGQދ[AL߇wK)m;vA6*Bկqi}8+{6ӬU{.߲,LLL?A@e#n݊~uAׁTv/KOp/< )@ A$+bnT===җm7 ~߄1VѬRE8рD.\GJ~yO:|A!:6`o4a`;0,Q @u OR|B>ZsU1}፴^˲p'?AXXb~0CuP(`x畍R<Wv҅0_13vq"< I,2JxNBt u]̄_gffypB)ƱI>|޺oܸ{dڵk{ fEGe^5eYcIDAT^xbcX|9Ե봇Vq"d#N,Qt]gկhզ੧oa<\Y0)D<5m۸~:~ٳ8pO/a ^WgpF,jb:#GuK!"xWJEyfNO6J'R~@ƟvQ_vmȰ:EѬ ct$9>PE0= vV@5h>x2h$Y<3pG{}{Q:߯t|>3g?yu7\.qwD˄8@C:G4!䫜0`Z8:ȥ[zVei@3\.ݻwٳa?]XE-c=p$ RT8]K,b %>Zi,՛-FA4l`AΟ?eYF(Jƒ>m۶icVQ^Dr98^z ofX>Kb*_gLx~S~?o83<ARt? =#0Y!|ӑ|q___tQ4H8ӟ4;bPt뭷bZcV/a6;#cddn]f^_#HhpݢŲW !+W7/]t-?OyP !LHy%<ڇFk_j2upӋ[o7o m4eE&8y$9cǎ+bLy6S'*>'2t9vI>瑑LNN◿PB`R~ <xpBo;35ضK.._y]uӏ$A__6mڄ͛7c@(Ο?'N(ʾ]AZ*pw⡇eYNf''9"}VUmWFFFNzg_Sy@47H<իW-ݸx"xoYSJzUVpiWXF#k3a)u]?~G B__-[+V`ٲeXd " B((JT*k׮ի8lF. u.`L`Kn&ڵ l@|ٴpZT&)?R/0C)/كG}7A4ׯRϿc rLO@ twwX,Fbf)ɘFSH`ƍ?c=z155 e۶W^ŕ+WBP1!d&{zzl @{r͛7S-[q"StF5%<=kgT1> T mbll r9 eFFF~ _~`:jZu`KߙY`yb14]]]ypR '+I ؾ};v؁ak8rH_7xP'1X qޙqJ%Rѧz@x՟Eq%ӈ*gF: rjj*0D.w{Wx OWYY޽R,Y۶mý[[9!j! ^Y `-fG, V@ٔhuRqf>я'ԪJ\_΢p@ @Sf0 ǭ) NQ elxСC8tfffi ~KVX[n7|3֮]ٺb>Gb(1=]7~wmS/s]_ľYg|→P7'' z\pJIebtt</"˅[hbا! 6[n> qQ{ 5MF~v` h+j0{P,y"}ߧ\|[qBS~VyMJf$V4I%/ܹs8{,Ν;k׮ /ih v>SϮaO__oU?W5k0t)o6^{7g/_ftN@u4^!(khvsFY/_<n#_Ï2IstF@7_?y(/*Ly\ Ck֠JF@/,7<<|?p,h/OjwdH}ХrY܎{ŝWI_C~7$#7 ȇ~=a=p8.V^7`p[<>߂&,gu^+6|Ä"#Y+ѨwmW0kEQ.{qIj3; ׭y|υ}n8}M* VZ[o¦ ©LRI v)|3,^bO?]\OHyOx3 "eld_f ޛJT*\ׁzp}>0S=8'pf=6l܄M7cT c)!?_{Ǐ. h_lc~  ~>h97z8ixr8B< w[,va Yuօ;3gfg=3m//sQ g%qXIbE4-J119Qz{^^# ̈́jlu[6><8* *2Ts%,] V`䯧t=m~Ϟ=9΃߶[ /\g뮻|zϢ NP6c4ڑi_W#_&@`ܪPWULMM_:LVZU ٖ^G}ϞTY_(_کPLseY Y& ʼHHzm -|M9(Ay}>6m^I/}kO**%Eހ:-؉0η- }}UۃȦ58 `qfC= اc^ۺe |nRP^zo`_bߜNYRι߽{w<h؆N74[]N30*, f&z><߫> l>`||ſEPK 72JXʳx'cZgFT)ЈWe|JAݤ3LAj^8whh "fff?oe]}/w"`y h4Ӡ鏻w^DmfH W nq#f~W?WO"Y8ҋ 5A<8bx BͲ ]%_^c=*pe 8n&O09s_Y~j6;2d˖-5)jW @F' mǧz֮] p#;v?qYIĀ?ciL10G4{1 So ׀ ". a/Xb֭(4Re-w^I,t1r`GGMQz߫f|ņ1ؓZE~ַEGeU~ o\ATü : `u} X֭_4ˑ{~i> ~dS=f@63?x3PŏUHMPToe6yg=K '?Xv.!NmڨAV<~U0gy ]Xbfff=?r9}Ue=M^Țs.-V17$n= jhlݺ%'_/~#n٥ TIA- AZP `7 {'w޹_w:;dc ) .0kׅvǁRJǙׯ_GU޻#~YqO@Wx5k󎍍]xG]nV~` X YBgF C qe_K/Ν;wG_Q3b>gF_L^167}{OOgp?,&w` … xgdǼ5,a!]( uޟ1Vӟ_>m٥*7=, xꩧbd?_&B03V {ٶI.9}=wryL?3/Cr {2 |^lŁόo 1 tgb;)%8/U11GG.’%K0g]6y饗X[[KS/Gx(o>“J* ݍΠVhooGKK JRQ5 @J @?RJH)B (FaQb(`LsA98`ߋQb|qf>{E{{;{= h`T:S ړZ{O^{xpA~K/sAZo-k}{-m1qjygϛ7K,Ν;gVVuV ;/ DŽ 066zzzݍRݻw[c.F1\iV 8C0% DA   8 !C``@ EEbD7o>/S?y?2GX=vYxɸKuV966)$xS@(;#@p#@"xzsJP}}2 Rsn~QccH2 QIJ ƘN, iAJqHEHxF~c1$,?'{څt^g ›5g̹f24>eV 鬑`٘ױtMc;;;W !֭[bPx .#$1k>ffS~r׋s7|Bkfs&]hRd7-2BJZ:}ns>FFF<:[oo`կk\xᅅdR 9cN]8]E"PaL-H 4'^tΩ FNl )aNHJE:ztS]p$0'Z,Zf6nwdPn sbWSOy f^Tϗ̗99W$&IC$+^~Z$ _(n~! $ COǁ=믿`9/,XPc0%cYuz!q8ljLDppc B@)$xPkNJg9"`HM gй. M g2HXb2Z'A2%IMcH7vFoc4!C) !Pd̃N!1p x>')82Dz$0چ$IH_~$I@\.Z9TwBbt;]SAOc_{bR"! E6^ei,*sbX98OOqn~#`|>1ƔBM7!5ؒԠޅ;CϵUiؖ]h6(sb0 `ttE0`Aǜ_~zxg ĺڅ k\9sr ֑U'{7 Z|G/t Qjv nxIyNj*s׼l!Dg@qk| LG: ss/s=z_`ͼI2Q)!0D\F\?F. sj1fA`9 Dzl8C텋_4Ԁ X;b`MQy眞s$;њny8N?z4J R/Ok(BG1PCOX󡍈k0J *C2* Q S2mXfC֠hĄ'|4ٸfMYɌNzsDdb})e.rXkI;IpŞumqܸBShx1=4K=E2 o|8'2w$4Yl٘Z/8j޷g5KyѹSRg)@N=O޺?'ƤDe᠛)5"I4;ݭ1f3z,5$2T!bT2@yʥc7n|ZJ֭[O߂j< H)Iѓ/Ik5NLl90'kM2e0fs4r6OqO!sZLAk6e_#Lc Ca`0!=GAhH]CG94y+uCSTOO!!1}ލ @3ŔDm:0.1!u`FFXۚgH($<˚3 >Is<9 ogaeqs˘Xe! i  MiЏP)PSpJ 4tH֎˿D^7@`!cttt 7n\x~ S?Dn77ob'J2Ͽ 浻='̛ $֨UGѱ5|t#n nR`,ejo B!Щ ĉQ*nݺU^{-VZo,2ڸҝP гNz*m(ne[kP ,5z=xrXM%!E"T*gJڍ)Cr=' iu8R˩p)ذ^ R%mA( 0@ֽPwOO:;;/XzXlx1[n"sh s)[1Zbk EfUn=͹ gQ6@iS?}6!2~9{0A)%W3$i$Ir8 i=x'[ `z $ysyW S? CstwwR=It>@dN3kAi- iqBUW'2 ե4"㮡`EtZon `1Oe-]N)=l8LT–Ή?T*𡃸뮻nl!P#=75QC;Ofҡ2P +=.BZJNFC8%B/+IؑL=0 WA.6eʔ6>䓿[i@z踎lωM)'g 0k@֭peB!|dEMq 1q޽^w-Ι8nE² $͞qu9u$z:` p7 % ̝LBJͭ* +(DH  G+FҠJA͏@Zcł (ٳM!Ĝ'|kw+ NΗ4w. 9F ir(|btIM887s-oENP\>y:^|E|{C֍o~9c&:816iRZOvSf̛ID✚~bj6+&g $ {9y lW\$5Q?'$g '1zzh @Y$NG:K8AZeӧO !, NG釡 go`kBm|#'XF0ET*%;~}.3.*젆@@(§w$RI 6`c}4 ىy,@EKNIpZGgA«,R`icR!jg'~N)ē 73`,HK1Ԫ6i^\ `3S5MhqP<" CܹJ'n6(t28í@C3gfKgg (J?^/~/|fNī`̫rjعpIM0Gvl0l6rSs14 OW  D«) jNաP4ep԰AJBJm8clq<&J'e!!vn໇pgc#ׇ0֨a`d@1FrrG@NîH\z-/^},]z :;;UQ)2%ܗY$' y-rIưn:꫸ꪫpEall zÈ0ވpQ}15ɩW4Ü22u)jԓQQU:EVz3-v*dJJ$#3BR) CbvVlڴi-nVZ5qцǽ3̟?ԧr睨kbBsjAi.ш Mi# /#$W_yk׮\o~H###z1ϿNr1J= ,};dF!SFfPg[QK@kN,!8LIdxwd2*4[Z\:zs4V K+N2)eǾ} L[j8+HT|8J`4 2R+ B K !@H(*#Jh)Ms.B<w\ve袋2 s2 9dz>M6+E7bC ʂXv!jg @xGsNeTȸs6m‹//-R)l'8t@Zu2gFZqpkC41J2I j$cƠ3**'$IAg>s?q 4gafD+hQiddw0881ZAyvp0P Ӝ1 _A  @>Fq[ʪӖ/ŋQqQ甤hp,ۏ3N0@ b:3r՗zQ,g 4 n:kԊЀ<ÌrIpTB)0f1 IDATw\ 6m i\NUozNO:])!-u/f:JHL^ 3Ls,a~9x Ҏ% 9\=ʇp)pϦ<<;0?~,IMZ܊ 4%^x1]#͚5KqtА8{ a6pC5 F"IIʍA\yד9^INH8ԨsVI @s[dQE Qo?ks]/MIBe86+&~)$qϻPwFP}W9h`ct]]lʔ)Qӟm|ɵ O[n M B3QK*8hiSk/I_#g{k‰p\mjwhvST_^E+b˺Ѱ\g&dqNyg1 >HA҄mKTv%%![Nk8`NUT Tr3 Cjfp`3XZ]_O @Y.8\ڼk?(?Խ㘔e ;|74OgM?C ayץƱ(Z@vt@45o_zxC49T3'dLG1e6rMS52 J'Ԡ{%.cJQiӦONawuC ]l?(<}9JF+ ZZZZ[[QTFWqм$P59{vY8.sHgގu {yӆ.2J)%*FX|>% q"L0 F$pҿ\dWJ  hΜ9^ol=]ǡ10oEb g G~;47]&NH۴('F :4PYu"p~M)( ( ?lfΫ`TkN:<䥗^ZL@) jgD4$I:.dvDQ 6`fR̚5zl\@gg. ^Iهg8묹ꪫB'/}KjP§R}ߏ˗/3<SN%1`R$DgJ4up>?5!_d'N4A{y۶oßٟnCwwwFqn6L8s.&L~Z/sͶP' 'V2G<5{!Qy4i8 j5T*mhkkC(JBCN3)% K %T!Z[Z0i$o߾.袹'\"ƔQCB_گ)@:DQ89'L%(Xv-jH_җ7tSjl,<(C8._3.o1*6ZjjXy睇Qe7ߌf xtͨuu9 ^Î;Xm\uqH<9c B C޴gpږ-8PRa VaǡCͼCƊ+Pu\p^y$|iؤg7C:wm}:cMߵk'n]MZ@8.9(B$zY 9QEQ v3f,nMxߏ p!XlzkH6gΞ>T*cyT qW']k ϴf'M}Ff tkN꾳gf9.nօ+nŽ܋!{߽Xrzzz6z>̙wy͈@3C9(vi $<1P@bȔ2RrS\RlFZE[.`XTsE[˄!7epn,?^ McTĪ*.v<U]D*q%ho'I&o>k>^˖-3H6 妥(iU  eb2:lR#IG#RǦMyf\zXx>~T;H]]][nwߍ}sxǰrJjΆс٦1^B{{;6mڄ/vT8-9#!L*Iaڿ' m5.7'T##Z47QFgz0A?&Oz<~PK3'UZLfThAdYnu<<ˈ@AAT*xZccc5 z),]z &L~gB߃+H$"I;3gzQ)-?NZ3 MJyF'LYjR 7oFT 7cݺufCiW֧e*U5HoI&s|sÄЈ0yJ h/(,j[[(³>/###`2v44vN LxY9CIeZ̈́@5+}i)uxDuEx3}mvU 2i'H5H^oQa(*qRĚ5ktR]5tjP<\X?*^iMC'_vBȜ5FlF_~9y,^ .\!]z{O#Ӄ.HH-z64\/_-4J–lՏuM7#\ Fխo`aVNy.KbrCh Oi<2AI W20RdgpJ+1:::?0@E ᅬ|7t̙/% ><9<x|!|_Dww7-'x100x2^۲gu;S!ϭ(r &ysКy"B9D8qyW_FRIec,ERq+W*N5 ksq OvOZ8) <[M:}]O@cC=\m_|o _:ty*6=) LdvH9$ؙ>Az9f[Ӧ1;wNdS9'U˖CIs)S8:~J,e\P "#z JIrվ̤^)SNCH<|s/_Zf?O0qj+W=;wĴitc0UXy`8NA$s`Lv"4ѬLi f$]y±Z8!wj~zR2y?/[Y/Sxlda9ڏ@BxYo[S@Ne~F'N}曦,xbC\oFOi6h^{BU(pO&F;\+Μ"E9R(iI 0!GO$K݆iY4GD|7HAN)N 8 AE?:6%W^gիWg矏3f 6 ܹo _ɓ166+ 5NH 5'/Si#\8l8tqia~R]uVO}S5k6֬Y׮Ź矏ٳgډrk1 o'^y׈7xc17vp= HtEct!@EQf~o1.ʒYHk$0i-,SSi8tjvk?UQE97U_t=kKlݾYrם0anv{]e x >|ظnL;m^SLE^7-?C2DGs%\z#U/ Cw7bc)S&;;#;v?) j3g~:aHMhiJ]bU Yup.dW;E,oЛ9ɴb4a93t7*0 / snGٛ5L gVŋ!*o;9rԄ;Z2ӹq0,7[A<߲SkZ p;*1)-`5 i:"GTb~灸Z8c}x=\VWOJyu~Nj@p"Zk>3Fl|J 8G<߽P&7GYV]RARAhii1}l&s Z7.o\BRgvIro~TҾzNN0 imNDl!ۣjetبM_'<<6$gAڽ9:ĽNy $1 900ޒy'Dh>uY9gc+%>"9zQJ%eݻ;v޽{qaDQDwZvgNXv1ǐaet<3锵,BSt}F)`i3,e.^Za`߾}ضm|ʹIT831|v MP7i_KBHYzżF uI 30.8ݓe5siz4ΝL@j6S`uApbx4-˖5* ك֡8sqנa92]v?)J:L8HI/`,\;oǃ>K. .2TN 'I'dԘBPW^EͮH7h&"IvaUgIcmFiәLqR N&phy:| )ذ$FE+xGqA|k_ôi02:ĐzFGF1c77|O<񄩉66tҼ;9!{Ц%="(1xzYp֟ 3gL]{b:I`̙?vc=fA="󚭺IBiGtq: A4ĶPK;M3(nlP{ c|)h!n+Q8tY;a,$3mۆ 矷a-MTd7H;^wpEA5ڞa)x,Z *t''ނ|T"< ttt nj0m066GbӦM泅ib th@BfPu7&sDzX= X^@ aCcNJL%"qʚqaIkYǹ(A偌:/87fקywž={pmattw?`ܹ]Raێذ~=nVa5k,ȤN@aȑNs¸xjvaۢS^:,IA}H!$&@0Woo/~m|k_~AJs*qOD? Cի~a>ΝjP4n&C=ȶke"R@FmFĊx i#%FAK_H-;咦t:-t #9<}6`!pbraƍꪫP!Xgy}}}Gᜣog6>+W4nUW]כ&i(CVr8o 3 2X̞BL,Oʭ1WD84k֬uo򗿌5k`Go/Jax^0Ď;zSwkLsQcd@ n 6g$,$Y')0[\G/1)e94Wز *vO&Pžd 5< soVL:ոa[nƍۋ(ZgÚ5Ocm+Yg}6:C~t$ܯ׀ifi pqBG+V]ގӧ~;V?nl9mۆիW;bc%I;8`ht]_`8zT c'G$2,<J$ iSW>X쾼9Ɂr @Rߎ2’nyӜy)-]H+,.ӟgT[geh-%EV\i>Kn:z[=\R_K)vDZu xLy YAUU!%. :,/ş>y饮Wu #G2YTߚ5kp\*;ۿ1s1TiFGEE|7oƆ pW^giLRA$'~rk/@Vn!FE Tl?(cDanp< +}-s~F208[oZdA`ǎxzӸ[ #*E[a)*+Kʸ]vaƌh4KHyN qB+>uNƌz>MjȖi4YE9q8Ak֬U1H|_5)BŏWwRƖ-[04L›GMjie:27 =~bRJ+/Tc@a{B9Z R Xf nvW?t6P,}v0YK.Ub5i7jb0[ H:vޡ|i#xu{Mae7,p]`A2?db  F|f1xF׊#HAzH (,bϘ1o&VZuA$woV?K//===xY , 8FUd;ny!DysyJrrl7ǧuxGC;inj*! ï~+,XZno"cuom&9 n4M3^3r9{w>d[DjL4.oH# ob  ;yɁ^{f^؇V >w`jj cccۇIoĚ5k0 ʤ+@\0BZ<{lICbW{2Ċ@H<<;FFrX&/Әm} Xmԙ!b3}d>r;`$ñT{]-ek׬Ŗ-[ꫯ~WB`8 ?kע3H Xp+e_Tc:fo`'| P^  ZA׾3oBذ~~4^&''155M6w~fZ ,u`Uf*^OV^r:ɃA 3& #*U0ORЉ]}U6`Ha"=7l{ %evyZ%2d3=~ ^}2>S9w}79NɊ&lj2bkTG87^%DdM3eJ@i$3BlN*KjaIDRtSNժJ EcY2%uМQeU`16 Rn{X9u334Bug7,x=@2aaA" +~{JO!qmT;>KKKOUnPX0 (7)I+af}ޱ+Nn(&nm PG$Δ*ՌCnjB;B OA#jFoH۪)(Jlʢ # T;'sirO* 4(yi E GgA zGNj0H ^z7B(;^o0% (P=Br]3d"ZC iPʑNЂ 9 |D-r1tL ਎DƂ&^EQ&IpUs){]"IvnddURtH'8JH.HZZ$ `T xm dޟ)Qw{!<^ѲW3nP꿨$llSS~uÑUJMߠI&eLO9kjT&MuVr+"5i@Q]KN^&z!RknR(2YǼ2n"eQEI> ,^DSb N’iS,̈6'0 IDATft[`柡3 N|UM ,fOt` `’1. GWDrL!lk ͆ OO3gLei" ' zRKS[ˠ|pǁI6E,*&--O2.lz"Ll2* ԵrW єW(|,Qǵ(i{+l%S[')u#AY$"y'Y}4k&ݗpMePY&Y~|3 ߶N"8r@"Iz;ePvSGANfP++A5"=S5kXf{؇?xBʤv (~CD)\qR-s(ݸe?-3]Xք&ք%-#HQQ@DλZ+' nx`bsZ (*!}$ B*;w I b?wXZR05[O/7. Jy_0j@9`HR.=Tyb0ct|:SDFQ+fH& Y[w)mB wQI볛onUkzf%/_)Pe)? ()uYR%8٩ܹ/8Cy[0pae!V:M{iGZaM&勝CZt,l\lN[Tw ڛ~$#R u*X^ogLYF1;I 4V#eԕC.`BFdʕQlvkHSr) M8jN  TdiRM9ItwӶs##() N? OYU M3&y׬q­!)(RU"g6j :=8hrwwJ˽+xGEAeYBp1%N)fixvڪX O(JK pYaΝ8puY ^X\ bJ\K/i|\+p+U̘UB ?5kK[.Ƌ}HRr.FPE ?݋}cشiSih`ʓe]i|[{.7ʾn3:RSe,B,ΰVHCA'?hRACI1EV,÷ @ThDoUh P;#(f @~_[linۆXZZOǧ>)⋸֝#t=Yŏ4@(TD*L$F%]kQD=)K Ry6ݪ8Sp¹nXZ# c+$-=49<裕<'WdbfaM_?w܁ťE7BoOt1=۷[mCOƊ+ щA ~"n5heG,#P}eIXvOk=@Z~淧Z 9S?Jsiۂr=؞y t#⪫BQTM7x#vލY`DoNv-7݌v ꫯƏowJl~qJIH5pRd*]k53BĬk [l1==V+Ry{`֭n CNw|VSevR2ᓎgL{˜}n[ED9efa@(͸lu0yїʖ^)WyYBl~ED]VM)2<38so3eغu+h;fff\y9k;$~5LOO{)2g&RN:jC̈́Թ HX 1mCi} )"}@$ IFs`Ýe!6`k_E60x}饗qFz){M7c]OC-UIo|F߿9$9q-E[?3V5sn5MT OHJ&F1W/2<̈ei_۶޽{jwoo۶-lvg`f'nRUD%驴6#ڜTDYٲ[cj->!Ȑ< zUFǍN$xf+N0^$3hBN#((UhF܉K2)g2HmpLNN{ˇv:m:& "?CuV|/K<3ض8PL4+Wbqqlj~>)%qLNNb׮]袋TDWFKq74:-GCd՛P)+{xh]N|jv<ϓkb%cD]&bp BE@ E?~a|CBLȄ)8GIKGzRF";޳fܟjVMUڵw]=ZƑe94N/;vW_W2R:7JCctdEQ_oiƢ.p}@ۍ=2kBiQYA1 GQ&6ʂ M$0?iA:$VB ^B7sV\1H"/r[$ Eg~Is hP`*aYnwyl?)!n R0,Lʤ=urm61(A1^K/{W^2>kt:$Rݻe_<:b Zɉ ,., oj}l{G-oF­ފhiY,=Ç166fNiD%N=~~徍-"u]hcL5 8Hˁ@ǁGD% r_x(5{QK8}㗿eUefgf{np̝EQ\ncص{7Z~gZW6KD}PbZ5ZeqݰԪWU>LthYA+E](ΔJwK/:{-[2 ,e'ʕ'ᤓNKZDBf$ RrbNK! =D)36ĂdlMMU,&! ݍ˥?12@Jf 4Ƕ^E E\veعs'Zfff#o@ L*kiRtMعs ޹W}*4^a>4M+q"2J{Gg+$h)^%mƄ(|?6݋>m۶q\( m߆;v`ffYaǎӵK;#>OKjGLOyaX!JSޅ_pӑ,*q BawFLAkQuvt0BaP[j2׎*q/y2jAQOc혛_,.T^7ߌ~O~ /VB?KLFB^Ql̇e^a{|1B N[oǷm$`2 IBQ^:0Ђme~}νn]wvZrpfYP38VZ}&a$t:!MTlIf{ 7&6#;S[ơ"6rU XٙR0G zK:(##XA0Kj<+ DpR>яA{kv\{q?_ڵkq:ty{+(a:ىRmEIξ߬jZfC4-M9ِ_QndY??/^}cc (0}*N=T\wuz*mc3DekP[wrM_4lJ~)g1DWM Gie9h-h'mV6-aSlJ6`AiM/LI9o JӎƛQ(CE #&P \◿oߎqwy81991,--ann/0~yXׄf4GXXAJvݔ %RGxd132 \cfv?q93$FF:vqfffOall 'q)YjjdNf q.۩i*8=)KdyeՖI FdWؒ暂JyS9oL@-`O4QDY{R*Tp{˜ f3B1Xf n:t=}Y>|͵Z ֭o}cXv-z3Љ)nJ='TQiY,lxRvQˆVLVSxa38pwॗ^4^aii*pg֭[nR7"7棅 Jk "@!i傮*yyU?CUZ^zāpa:)D1d,QV\+V җy'ʯWw->%Bۯ,QBAx]KV *@WNssKxZ* _2nw k֬upUW1-(ʲDkf$D~0*tD:+G,$ǘi o3'!Z`:|JD{'sY.mgpCIeU O V.A$/V҉RE/M{(e-[.D FH16Q$=* j#* 1RmgAAklIiC2 (X)8eK;lME0Ll9Ia'!8-Dʴ"$t}DYY+hjBPJU$2qEM'GY0)"rXuNnQz\KPAp)@avnAؑ>꧜Ggi_o7NٗHuS"RJ@Ģ&HRbH'gӘLEQ2*$c=\ȅ`[\)u> 8D}P N:a^+Eˍ =N)TnP ߩ?G$YAYuemF{ڦuzj./;eF$>bJ#uFzj џ5e]Hz[rDnf/ېL 7O<7V+RѾwՐNzh/%CMX9H/iK;~DrHj"ڳgߏ/<*y 5R)fpK# q+"%UiVVo0Ճ/3-5}sfrXvJqe8jh_@3i$.2$4z!$@###/VvdYudH*zW;>_"Aé!, .& B]w1s f{ˢ SIejаJKY|uvO=x {]BvHxI)\kǙyPNE Lu2L (ve)6MLZ$#$NC.N bnn!Hߏ<̧?' F c6??]xi?mjIBr^^7.ƙS\0 AiғĂ`u},˪Ӊl͔)),022qhQ~*z!]7o) )!N-Y9bAA&%d.Ȥ8Dhg_P/t, @XAaJ22lђ@d]*r(S)rĚeAE;h[p!q+e$2Ԕ/"ώx%YV^@~w* / n:u`?cnN=Pwt7'x4./U_+;YFFF033gyE۔$E,`@  LLLfq}?9看;ϓ\4bJAW-29N@@tOhBF>W>Q 68i@J옵MEBη #d'%JH%JJH).?%(37Ҙr"{OǠx"~<x9$|㴓ư`_D":Z ٲUQ, b;$(o$Dv vMpR^ׯ߀DBXnN=[cSkMQp#q]YSPMMWLvl5R*v|A;.P2 k;&,*XA+etjlQHtvD:I>Y!/Z;WOTU x}o\|ϺJ,XO:$0o$k$ns5qꩧmYa?z}3;6LLu*uu %ɨ*BkʔKʵ KC>&CӸG) gCF###L!Fuo7&-:j<xN젝gؽWw'ۮĪz%0LiIIU5J|aOwqM6I#KT MSpKSN? Tuj+[za8,H)eSu v#ugh8oNid$:ASmOͲ/}e ?RU˯?i ?x~֯WoJ6*I'C'\l3QND[&7[dB ^{;@bBB+emBxgO$[ltyy%Qe%N4[pvuBcѠǝϻロ#Fn)/iD$^ ]wAHQ)bE^#KX?5>;S~ _,j]+\_e&1T U Bpg%}:ԄC8Қk7S ` 2CDH0q%@B@[KI)dFf)ǴN0h Hy Z;*'^jQ*.Bà%}`B|qh7]n(>3n0?LҧFSZMZN%#kN PoYd#&_B'okV?уN}JƧ1(%GMaq)Ud=Cѯ;?ScipҜ!)gRV;e!joU^ bo~rH O&u* s x;&oP؁P&5N@*9ԜHTLt4R1ǾGc ,K"@y%]y1ĸCfouL1O4moN|FHeNhcFrlPkDnKV*c7]8uS{)>/DmPpZF(|>-a! Dn,e+({t@-C"n6U^wkWR[(׻Qa$3 P0Nm:{7/ԲA # f  O6@a XwR#|D >h9 ˛YvLNJ]H<0 6VJO^zgG}(9^:%DT]:o,#Ǟ0?"3kJ3(:z8be"q70vrOPì@ GRa)~侀p H25 u\|=͸2J!P3kA7q_uXNT'jO|n@="ӄN2 hP.HRÃf/j ۚIn@+/R:ٖBpOEʤ$h\3 snf"Sl hH;PW]IDeIZt_TX)4#Sp75C3T{W"ҍo=V0-^uBKO(B G۱ZFGG1Q%Z@؋A"{Ϲ~U8Mq* -}d|qGXF<D%m١Ռw~=3ػwo/Æ pw#fvdzqzMIh IdIӿnq=+~mJͼ< P lPJc  ՇR*HTBPRJ2"VZ4]my2 NZ'dw?r.SHf|5R9•F2P<RPTe`x`䢠‘ytmZZZB*Jb^bqw~J+)Չ{N_ e'WQ*HXpju^{0Q$˽ԀaI>1Uwdu"%3%sMԤNbv"6}פQ5ib2LdH@|9؃SQC~K) Z9b+")%P;8C# Qd;-\Y?($uɲmoTNkB 4 s[ 2"-Jc(eѻoQ#\WíS܀6⡱wpPѵ`m:#e@?7> TZ~D№y(UgsDP+*KRXCJi*1N2ұ߯50!|Uu&=HHj.o%_dkJՐvR@R^[ePKٟV leo$yG kd{$x?l0#L{V{8qF@{G8a|Lot \ͣٙ 0|c>77%gwK L ԐPgI3!4߈Њqb='ibUBD%t TiȯHL I[6htS S2N J@(-(׏VؙsVD:GJ8\c ªs΍ {p}A1pog#W}֯__Lr 460ۘZ:.r z <ϝ!HFq# _J1}5˞M}2N˭4'9yIkKy'sQ9A7M[ wPmd8D;(u lݖ EEB,C8Ĭh@IAGZ#|% R>l#aWn\lnK) $)Ǔ3DœO=:`0@Y:טg9d~vgYv) NFy divV.PO NE$<  ":~3 >T>*Ê$ {11+ `Z*1"Dπ##c{.2ꕢcz !-<,l1U/eo Ml~[:kؙg(m/@ŒB}鈴S{XtMy+o렿?̛S7 TuiVF&$` ZRK)hw"xW4R^sAT4N 6V4?S_z%ސGc:Z1wA"Egl m̺}d XbE1mh݂P%CzM@m>#yWZj[ &AZy ~13@ś )׍kNj{0/stkgo\߼x6}z3vɧp<}_EgOl?.w?Wy>|8^{bп;?].o./?~ׅlNwNpb}8\]>]..y//v>fͦ|8֦|E%dRjm|)T0.qnW3PmLq6oo{ [W4_^de0Kw?-A|r{<|z L{ӂLUmSc'En6 }O/:xnϦ|g>Xfdf7e>] :]˶e?? тnB\qgAko@rw.W+~tJHܼ QGk|Z%a:Ϻ |f (zJd>| zt;}ѹ\~:U&o3@ù˘gr[6z!LL/^qj[fMx zC?hb9\,?M<l~F=)fxjGәF|Yȩ ' ƕVm1H@dODU9#Dfeu)Eޟ3P>p @sgĵq6ړH8nZEȟ4SnƄW*NJct(i!D*hXLc| w5P[1-Q4] B$uG|tb@ĝ=HN\z!x%9x eb?%^JlMoR}sDB`xw9CiN4R@KתqTاa+Φ{`]RW/aٟ۔:VtQ)v__{Ué $vV,i-y>zzG8%*LK '7~lŻr>w4mi]LWf=iԑ22' fNSg iRA]y&ElUDohvf݁Ψ e .D=e:Zua,4*Kҙs3bW:UEB-緢v^ 7wz_ WvUUq%/)/e8&T.j˘ AS-R#5s].1nUXŰ˄a4~!3d,.sPQL9ŽsNh\5b1UP+{M)yaaʲ&2Ap.B0*)q`(kyސnjfLWy%Ԡ-|ɆYa䤘zR=Y%V&.܉3R9]v]d&!8*KLƄ V6 wdmJ%MzDf3jxÑ$ۤnRr=m^`"EH|ޡf륪4;9M5=ޕ?E|d Lh$% U" +Qku@2T0Zx5 S L)= 8de)f2EG^LdoLxdG4cm7ڷ"3hHpDXk3{R 4F|FB^3tf^?n㭡7ՓGHLһƼ= ;͙ѻ#M#KWgtD}M"+eh#S|b:W1!F{ϑD^E蠪/ϯHh52vw MbYǚ+i+ o*FOu *pzyS^f3rZ0 wmd|ָׯ,-n{m 2i?d4Lq8XgW4_qnSG0'W0,s6Kߍ|2Ɵ+)oySDmb^ ֡Vw! d_7%3HPW)Hے;u=gb3whesTT  oxp`iN*(ݔX `#cJǝN}L()3䟡t,T = GKEՌG _(ZD礓+&"]r ,0CլT}-imO!)?[GH 6ݭ` {?EuɲV-J:D2bp1;G1~['Mog?>$(acQu/S`$(EPxX{ +2K|KA=CQaeŝĊ p 6\l zv33 Wb8o/7kT>+K9}@1pSMTwc=ʏAjQ; <(HiX΅FSp h[ T='O?J{+q}|?X\hXco$4ppRJvF&'S\f9 s?XgԿ m( @p0؍#^:K-%jsǰKsa%ai+R{I.9x!Fn1ֹ{0-E݉}&%"--n,c^41Կ@ }iN1G!2 TmA!1ԂO,)Hc1a,_GaFh` 4xxa#bnd&kɌ\!2SE.BBgV;7c`^;|"t w!ǃ@l~L<oOϚF>c4bCT6B%1FŠ,1ۃᆃ/: 638?'Ѽ&0 8QDq +Skn8my9#Srl|")@>XN(Ʀ4-@k؃¾!C!N{¤U0u6vC`\SRIGXҟ{ޮ'Pk@.2诰 Ƙ,8Dbqj?LC+@q9'UKwH?=POR2UWqhn ym<;d,.]HF[RV1huH7ndDY+7 CF dФ0Q#3 IZi 6ұOBR+?=`r630`WРTiAH$4aM.6 FRoU zk/h88 C8-f %p Y'R͉n޶4/D3{$ Y Or]%^ Bhq:yGb8اj$@6cqQm0FCQD!'2`[0ObRf/ wsj`n  ߅v;s7CXLp9jҒ.2!%Q% GV*޲&c`? ^pÄrW$؂αUN9$O9luhGa#r%}g{=ہ%`Vvg<};ӓ{>0sZ.y[5:\?Trw[OXs356uiB&&FgJ5t: $o#w*_ALEK7n4Uqj +~&L %pR.tur/ 0y毤N/J@=b\ЄqLBߴS!;'bV/&>q% ~*I8pC1&\fp]'b3x.|=8'/`:SA;HBp-'G2sg<ƟDɆ 1&8v c< <3K:nK5\ FǧX"T3,0Šy ̇Md+73IPAS5" C@ k(m SPXB$Nf baSWA FR༁ b3ZT+`]N@kq(1 5vqd ~ľt!^rb%y Jrô nȧkYKtR K"D# Z*tJ={&$pw_c?o2N#;0m38i/8]Rrաp+Y7cMũHnN9[?wjMJ%ֲn/D\W\0}Ob$a wpi7Yhtqt6 pa=3torl5lβW\IoӬ:*z#ɐUWIoԚٮG\TEaNk씅 !| Xɦl:Iqz\+wQ3LL;be_y#]]ׇatXuS]MR¢dt3AМ9V"2tܻnSht/yi67b=.:C!?ԩ_-=KGu%ڥeRoڼLsjDzC\lud\va*٬w.cm]㞤Q!oD)OmI&Ow7x;Bt{}}E^_ev[LT3]EJ g˱^̬. JnZK=S">S[nWFd2U'[uw0._&˥m4aVBi09na5%T2r]n/&S2QirsU aXLmbHtrl*q7Ռ?KwE?ݪRx>E>s]cN9w=&$DvDrhvRCNd>nS'dtE)iZۉ2ۿmF%k{M_^xp]z~%n{7f1dDEZ4\6E 7$Rwq؜ ^:!mabʭMk4UPK/:׳noEd3Q*E ng+tsQ\ͼrLEgrR7zȅŇzv=~0 )5X\TUI`!79M:A|yBOU4nt;q{6)>d|ry7,\}רV3]UGvѫ!SWGIB5m湹_$[kw80yl#}=,dsWwם"ߩeR;0PgtiZދӶ9QM/Hyo]waPgm*ެ{'D>ٜgqI@^6d|SnS3=Sdd0GSvЬ2WRq2~RΦ)d˫vxV.s{^Io:i-sy߭ʤ:׋ {Ufe6IFyUXfYo/7|ץuY)d[^ MP2oWE'-zIe kz}XC檽)y\M3uUNU*T腷Ju7+ F#kリUP'ۧV&+^N$p/YyCM/L3lSYuWsG !$ZfWMU=n~ݐI6t߾-Fg0Q[䫬G y]{B3i1F wI뾶n1֞ b=W?i;s&]rCQsƋe)n7|$ywGEOlfŃȗU6՝ٺRI*_!'@8!+.{YL.]i yPYbLl^ B$0eI@ Ĕ=UfW.9 iy9! ˭}c90$}Af-$rg"oʂ3U5v-$.7K"?Wo :8)͵1UzZ̗%ns k $?$.6QFa1jKo^&𫞛/H?qu"ilO)J8d ʂ ^gaCM#P3%u$DK(~xI z(i5ذ6WD8!ә评,PLMK6_fBaz_C6w:q2;2p/D߸θj|Yt3N[QfM!)/vHKJa<&K>;dC&AuwS>IءFL著M$ST^c^'^>M!<yz& 5'?5<3P~X.Ԧ*5صPNR{b'w#C4oZȺdW? J]P?L/D`-ql~+^5stՊnb)C0rxΉ󲖺:dJD?.Q&OoqF;zcR@11^z NkrMsd\~ oAŃo1ʎOhmHx H _{::(xQkN_b,Å723 wK?,@YspbBm^vNqyG6ˀUFl=1TEXG%jB.Ѹq4zqѯEZ=A$ AEOǩ/|}ot?"ro5 %b^ZGGeY$['ZQk%Tpc5C8q~9QveԽmȒitj0t6sS6g[t  I@Wu ?2&X ']mY!xy.A}<MMsڹyTI$ щMXe>!ՊaQɏ;'hyzr2Mf{/R &wa>&iI+=G^kxۊ=ɝ|%:k hkyolC!|izVQ]?,VWxWbm/u;<;RD,bW-Q+IU%BS)4C>8LI=zTxZ YK@]Ik7i78*g^b%(CaH#6!n32p`yc/[/ƭ;*Q[YǏ2çS6M(stjaQv{gPB^.yf:&nd2[i\;)xKs`0=?9Ka&:*f%4\+O?`Ȟ^!x5L"qKG N ө8IIB/O_p#,#n3\,|r<_ud^w[GPgH8>CFwCR/F'v0Ld("BBqs\r WP+τK#$mkҟC$6#rfi>[~SH?HKzCx=C![f(xC? kHx*?/6֊ '/PoM[AeQ9mqo<ǭLL"Y|ԼdǮH-NGjJ$%'yAuzw|C:)i.U:~~G$A>+lo#I`TǷiʺK ?'aUOSE@۔L! N. c}7[2?RDCS|!#W|pczio[|Q1kazOG?UOeRS,.lwn'4"7WC92rxϵה rO[bJ/씦dU_Ҟ s3j㸕|/ҨSnVо`}Z95m&wWs|crtpA6beGp!>݀/a _ R[IEiAXwĢ4qā%܃V[1|6%Dm3R:{FּWƀHLLb%+R!ph#Ǵ@QѬmCӓ(w; No "<}ϚzOSD;,8*0^i0$R#?fCpBy{&O^1E[A:}uA-Za_":@J$s` ǙAݮ}e*OMaL_ʐIoOc%n_?\/i+DZ'į7m3K2>1dѩAFSl5Y E}l~[XQo9۽݅cb_/ӈIkٚcM*5_Zځ}U$hU | A`"HBxI8W2=czS^&$]oxd?$}%ZJPe|0wxm{o)Hr9V.q֗cei.ʾlg2v-7lvo=􎔝Ą@b(2%ߠ@YO)׿>_ Z҉;5"6fBgAOb}|ű^ΐj.vWgWL 7)_VY,Kdz`29X:=E&0/$]>- Y⾭.z+:2p2(3 ϕ AYëKMp6Qse[i_j>AH.v(o9,Γ1}Os`/6 0S{23]7:.hr1w,ezTʎJ⇌D@JMUSP~YtO]7iX:ݴ ']CY|ʅ+7g ľc!Epdl7vXt߈6^`C=s'wx)i;=ˇ3~2,uWnhpe6yݻ7RqONl3t `Iv* % =!P1`9Zb@+)˝=Q¤bz=4b|e60{Z(y=X`^4y%5<@e˻<"\{@ aZ+l-]{wX4s&+=&[ 6i \q` ŭo`q|1TLtE6Vވ(྿9WNPV]&.Yn鰲M 1fGCy$}޼$f缶+QMdD Ύy4 6aM^w 8^FNBs|~h ~4D1q9i%Bߖ:{3}UҸ;??G95ZҞӿׯx3Dӆݐujx|H }=s2FTm?_vq,i&DW^?O x|6}/&P_kn\',K x0ҧztLƒ5^iՅA @17Q6]Osg7p]b Up*|,9DeM/м4$Z<,\O-g^z .l^ԻF~%ohmbIBM(Ʒ-'!W43_(O;@"1\(춯;x4KACt'܅8R 3oqSzn4QUϐ~F?O\QVBؖ{⾌[ti6vM߫t*ϭ[3%)=XYzpOn 8Ls}8BhSKbz4˅YA{߳plYN8;nBvKw4X_7,<*@d̍hAG0` VbDaJmnjV%g5f|06ɏ$U@RiB<ʹʨʉd=hDr3/{RyB͑e~ S?6+ y20w7sZ^0!U- *Xk R y EjRNk]hg6#%\N\:O-9:مen.f UtH~40oA^L"bL%L>bHp9k8_=ko[$)wޡ1 h3 10RmJ493=cd[єg~hP Ģ֦HC˺+Q+*zSgu3ԿǾ;~UGmJ_/ۮB^FN*a[|(Oݏɟ8.bEc}fⴽ/r6񒃗%537B,EPʹ1u nuY8q^rCFy @VnMX-& 2ys9P\ed}1[.: H!wV\MQ7B-(J~YQ7lWxn{K0S9Cc5"x2mﯝ~[;&̉ W0qǻ <:e2+R') l&&B;[(ۣz"$ [mK3gRĸD[VߐzzL`хSԇn _ǞWؕЮ8gtv hSO i:jaȗ *󫘎y̌nNc9E-)Bq)AK&o0 ^~6LSi者-bLI2ֆ&f׃6^doW*.ǓPr@o]/y 4G)Cnr5#59gw7hg^*1pC^3OT|ym"@@һ9"q`)Y'qtdO!INSj< {+ܹ,o3 'RZOs5.woggxp`}3!Z":gڤ2gǰ*л3쯟\Qm$#@-?=AaU?6]#C]4j x_,V9yy Kik1!)Vz^]3}b\ >Sl+ǨKok8hr>+l_W[kDt Y԰G`7X$Q9/Gu=4Iq>E:/yZJ4$"emٟT bdeJ8J[Kfm!!냒Cwғ7M=1mRkS|QYϬ'uذ{Y(:k}i`Qm)5]IZ4 Ê9L'$[d)ޫ*1k 8+ ՘@x̀hU4Нh^F;x0/7ã-}́<fku霖nh9x $'.&kȆ]i;u`+IN{xF^r\'+`PHQ_7TCk,g_C<,2LMB/}&u羪D:љm9MH47 z Ч@a/јDP; )%U;h mCbf/C uGJ߻~ KߕKS q3aHl ;,Ic8L*b`N' ݀DnӍ e^>:Ayˤȹ8~eYalhOm;a'ҡcp=fQ]TNAK,R1 󃦋Hlr5hmDqF h碄Kd͐E0O5 JDB'u aoxqHҽbz0ɷϫZf]+{ M ] 6o mCMFB<DQwV4W+] hV0@rZ)xoO&&MHjmr-~[:>h T낓ghm x "hlfU"9Q>[.sGq]Ʉɼ!V$QEXrY~ Jİ_{PU5eߵptptF/ǯ5!ZD /3%x~7GI:,p *ILF{cCp&Al+޼qGP^!Π)/C[7a4>;̲CC[c١UD7j!zKKhmXE*[f>Q~|2?BjE ĮIwv"+06QFcdg7[[Mg_z)!3"=}wk*̃EY9H9dn$|G*QdwF_K.hoCM;GI[MjIl|yuY %i):?cBտ܆ =m哬;WLH*.frN<ڞ8cR/g)'f WޝZni]t"m sl.qh3@}m*י$K w/U7`1ntP1 ;\Ѕ?v\ZOxW\}l^o`DL{<GfbhiuwbL5ȽÒSq_)_pd捳áAJq 1uvFsŷ )}f 'X6s1q..=45( YRZtz 0QjE"R℧~h4>b&$V̔Pm^%^٧!#zQt1QN}E22&9`la"i'.3G-U lw ͑: Bkt6#N DBsNpTɔD wSi]J%dsуWQԳm.l# cܖHh״y Wrܫ"~ɠejS/6q FvAP~8ӥEAi!\Sph}7R~o]HUZ.)@n55bj:+̿yyX]Ms$%;ʫXoiL} uHW998ߺ3^fLjλQTGFq^x+"+i2sL;FCv-H~wNb|#'!ՙq5 S>z0`XBMٔ#i \3)Q!&8M\ 5#,^њAKߖV#Y\9uh̺L#$=h\cTξPIx2]s50b |EsoÒY@GCŸWfwKbo,Bʃ|;FXRV8QO!iZò.!ߎ9MtYu?c=擥on){π柚|eédxh"bJ80P`C,ur~z횒TЎC-(cb-Kb 5jC~%9o#$X~ZF:2),Tڔ,TpQBo1鸅ƺyKjk%Cdj*Ms0T'Tt;f%hK dQN^a tf .kUz ofJ->^˓ڥc7B=ZЃr Nm S8#e !$*+oB ̒j9dR~3O Y!u 3܄ yrL eL^ڲ- }F'}8i4zukZvu꧉lmU= T="+<&Cj3TEz*},_#v =,W"CB1z6:aA@9X(&X~$ y8aJ'-񕰿Gh`aD_{&'7<!^A$f7g>MB\"=Ce-1E~Ȁ{oԸa ;G]O'|ZL48, J;O8r.t\t98ܻ ]vm| ,7\W~Yr5+ y  D*9OK dzX /3w* PѾ:7C4{IuY}y_(!)HظpM0K8" _B xIdϕ˃`$՟ iIjÿ,DsNUaa9-a$o/Ê׃aLG\跤TM3;IJ\M^h"N\5L3m|pARkdޑ?Z/t&^dL|:r-O }CG9F+)T8dJzw5nC͡uKf)'{ @z1aAvQ>JU.q`Ӫٕ%JvU>2^]À:i3@U!1~S'Ž}Rl=\XͰY0S9Ds xW'n;kp# X>œX)/1 ,ٓF|u"8)EMt [YM(cвZV>( $&!LbJN{BP .1+W54F_sDCP }Mvܐ{7G׶a)Ӵ`C1 E};Ḯ @>^Ig{4 $ySBIE("F6/i#Ѕ`IgW+b ?nj:8 - 1]<vtCureo +I #܃ Ӗ )$]{9/ Z6?h˶>d@y >+# CD0 "?]|a*Vn⋚}i\^!AfbB6~+Ibdn%)6FS^P؛h'[kz7/գrg*ıWh@]C%44P6D։jLst]F.OkAk5 OEܱ'J*k/ۍCe#r vuX]42+UR3=7[ BXjp0)je&PkVS4<;Ck`-7?O6])7Й|NiA}fK99tz0}+U:x2LOLt "arUQm5Ʋ.99}z'#}v6Tٙ!09Xo\Di3˫KHㄓrdHIAo Q=KKwL~!|h*OG+}ހi,Gev9?oo>񏃡nIF߳<G˯6 d|ou` Ns!){km3Tmano"X"2RC fv .Д+z ?Φ@~6J-h^„yM@+#xK#-`Bh^C0iai\vܦ1zJA`spbSo~ظr[ʓVt<7ҽD[*ì.&W,%O 9"i+8o j 4vP^kDd.uS\iaHa}}ND8 mdT0Nft@ =U+r'rߺsc0fBv{tdVo>h環яX'fD*'LH G fӗ"WZVH}kan]pᄺ3oZ1N[?GTk_Zbl#yJҴFdHɖUJY$zj^t/Պ7a!mV,ߜyAT'KJ|w_k8D=skj*~':xbU^sk+ƯF`HʄuÈptjCf i,v M=BGd?EO Ž$ [lc(PW^f>M<~Wv}HKJ:7N+cQc=JڙF٩ݢ^uddNt .aE4CB 񷍇]d#6gH.es }#SgFbQ2== ~f㪑HҌJ %w69tIr _<PG)a(Of6vJ+}/X-|f5~7W5cENohJ Q"z}%ը%''k%j8Jٰp,L̒$[Pa^ &l?n;~Ӓ8V+\&`.κĎMk`-F|5Nqo_O00&r|$ rhnP5d ݗqQuɼ_v-U+,Sg2 ժ24aEt%]Ņs+?`'>u@aM2wj~ n R嵸K-bP,-f9T0$efFia prՈw|,G.rCoW-M,;Ik#vڠ'ՊYI]/2GL}*uz:N͂AJoxTVL\XUO\zuLs4ވ漀QT €Y"㡼^ _dE.wc7{zJnU.v}E1!{?}VxjE`76${[F1J޹3=~3* {@34fSKC,vZAn5q0m4g絴^m~(2jϹjf9xfҤc[:A(BMzJE1G U3*7HDh J+>HI 1t#}nx]ߨLY=@v|XU/s+S;'G"k; Ҫ(^Q7phZ$EӧI#;Pȅw`^,$DCXscn͹bIP|ğOZ;,[7Fg8IICcZ`1cKzQ|!~* Yl H tũiO{UQ钴ZľK“g1oc较,7Z,JW!IYtX|MM7l]*2O63~e Kv F0 .V]@'ҿwA*uc [2ZmV}r@2BM"%-QfB- qOh8Nv(lT#{iC j3U@@ ՆM3$Kߧ~[~>-GOZ MdD:|+!txO[n].?5Χ&/DVN% xm:JGoʀ?2!If"pe9;. ۫?Nj5k|;@]Us3U.L P76bp(@'BIʋnUQ[Ϧб,UOheƥ D[ {\[N06{h ZNA=E0!źåoҕ/+?6olS=O J5ō9GN@}|]/)qb׫AdƾݶP?|-bkF>kl@/qA?~'Cf+RIJz"/2Ļ8/wU FzʓajG=h"|e8lǙ >9!S#l| !; A3&ُCOn3.&o GH=B,dcdoFVVdo/"9_:9),[̂ @ श~ VI#y_:w6_2tOEgzy0ƈz ̇"2t}st_.-0M)8?e|G|3sPC]m]'ī k`U_OPuqMJ.}R#Lfu큠 g#BXK{ Bn96UmutuDj9Y$A??c:dB՟52\b`E/g!lwVCK|m*&idG)61- {S&żhBVKO2!{㈄)q2 z]%L7q7O?;ֲBK,F 9yAqS`OKϥA˗1i٘"_ {1ڌd(eR2pn ELVc9ZE>'Tb ABf N. Ӻ1 n`UEY~ʁ+dyGsRR@D>Bs$Úm^m#q?DnJo>Q=;Hоgs,^nܗ | W|vܮjJ9 X󝛦}^WʸG@X,ޓJ` YD\h)zWǭ\@O>R -AT? `ME/֝Pgz )2H<+)[P.j99SXx5Dv'pGBJ?g1~?&'ƥhi=Q^x " вAs"޾*lXvqhx%R:q #%{}b>KaE%ʒ8coxH|>u }+"4y/!rhD) lƀƄFMA/S}xY&I;]OY DŽ7gC'v:$\|19$o} ޸FgS_;b&(lɁӱhH~tBEFqyKya."sA_<@c8p Q8ȒBzwe` t4BJ5,Mҿny+Ԣl!LL6#QA_gÕ9Q/N5[RW ¬R!VOn~>fXdU?o{au=Eҡ&(2 c2g ,CecBV,;a/"t q _ 6܊Gg1Et.&5e:龻cg2:53 CF!]@G @hu4![ڤ:.ȼLᓤxh?QWd/_7q==ztabYQS%Uj!"$t vXmleU,-9ư;~.2KyVi/MŊׅ%FgTf 7vv]O\})l%iY<| h7|D9Ɵ\()$kVH&-QO~~on*+U2w.wQS 'g{md܂`AuQ~$xJCU0{*p :$ñiZK@~4-+U\]­䐥iPFuy~Ceͦ|ēHe3ɸ[ڶחMhچWWf4kB9%,'LV?|ɬ]t +U*> S)7Rs@Y \mq`95.ac7<=71~Ťi\hF\xD`uBlIo)P&ne~ȑ{Iεɡ˚btȤaLES:_&lbS_aju_'픡!*[\@@έsрʢ{k5FQCcP%D^t^CO߆L1S A !0Λiu y}ʵrHWeq|0OI謾+1;1Ojۥlљu1'r~z" ֭I\5ݲK OB;D;7ׯ"%?J^~`!5s"ǽ]ҦP1stLeE'O'ih-{-2E,krn"r"Y lup8F,JCn&GDg1pQ%G؉J0V?iI_AMfȼ/ɿTTATgZve,3 pu4D'fsOՍn !oS rg.Q!-1y6di xH:}*r3F& beA/YhNiWYxgOo sHP #8*%fb4ݷB1rd* [XcScLfD# b6J}x"2`7 SmNjiBmN&++7f]+~@7 3CjAꓼ2m?YY+}ڑACWNL?6m%VxO!S4=yXsq''jǔnvX-0.kĪ9hL/u07j ;i! #/zRyb6ӊqݣ}!=f D x!}`^Ls:zBmY#E1V5,ڀ L?lJMq-[ہ,X ƽm\L^&E飝T5PГ<ډ"*miQ&aIz@YVDd6AMi!BLWiߞ5|q˛CZ. 2WB7kZv=}x/~xڪF8ho<A@þ/t_?i( ,zZg?>tT96&؝gk G XytE|h{W051hj;}l~YoopuL1|,\C.â'_nܢ=`.ai5ى7~׹ .Y0?/%]p$(AOu)z6&}dX_'[uR}o,O ,aP~H[-w_R/8XC wS쀿󨜏qhln0J7,̠i dH)147c'Iu`{ $$J&Rd^}mɅF-{]@Lڀvd@.CqH8IN- $A%z^X]5vnDS4 ΞP21M VBcEI{}dFh.<2A2<oiap(yW*R4Y G1.Tо#ʥ^u$*ЧzrN~bi6tu.^b6FW3BH&!#W9 ʜk 5ihkFC5%ةGHk?dǃo7PI> gMH6aim@5Z+d ~30d[__ RNw dPWV_q~2? +aISΊ%ȕOA nD$c!-\pao f6anMkp;' 懺KxƔfnX]7BG>eMlGFNRhљ[ۿ,*ׂvNrA L2}.Fr4gP) lzs/K=fKG2[w&+C?ˬ䁿p"O(=Ep$A0ԈT(i|?/{FEq6zshtjɶ>W~3\GV  BژVҵSI=74ԇ>DCe9,;^C{=‰!_PM^mmu#e`Pf.ӧYhg }3ƮWlXblC$.g I1Hbi~l9ktw_2 J06F-h9;]>_eСƱqnٹVzl2,A#7¸*X-㾸-ܯ9PAu ?*Z8j%͖h*3:pm^JМ^t%nk[J%.1}].7Zv!c]7j 2To\X_<շ.sM X+qggB*M|XHtŵY0=s;{0'%J,R-JRlZݒ: Y9O)!ʵXL"ZOLt=ߓ\7_'6QUVFmk23̍;.TL^lߥ+=TԭK CxQu.Cְ'f:͇YH?[6iNYPL{rG3OnhyuiԊe -A|[AcV:D6{xDviǛS< '~#>KYnjWjIDTx=Re=Bҵr M L))+|x{^ A@%MYK9wy5ӥc>ovv#[[,yv,kNl\S\RXTv+<]f+x@ C翠EDzVbԉgf6p^e$^0"׉e rX/AجrB+֧ OA@n6-d|K"3 NhH#@Q;WwJx^2pv~#&!'jlhra/cdvԷ.2Gu T?K1p`US֚IӕPGY_k7B}DIoO5Y ¿AG.|J5S;ODCNmQgfc$:; ,~*#ٔ73J#1^-4S)l}~Y#QuY&!e bEE.qS +$p'lM q`=v"t%@5/jqp8.&fX 5w^|* W#Ǵ1}_X|?L8)f#l`-aOwi))lIܱ][}1YɺhYe5WXXTUTe**6hD)5h3Ga+LAyU@ҍ̉TH^mN~yTYvWLy.:,z 8)m4yop̖vׂEhz¸{>/3WvT oHi8>&`2"ʴCwo<{7<;dZY՘+rBY.M,3r綨^NzCg]Q{CQq,p x(icXkB{5*TVWy<%XZq_XӂrJrgFq&𤶝 c'%̊&f\S[[M 3$fG?#a!pZzcH|L{PC+'>" r7'$QVpsr5Ȋ^] $|IqI2!$YD"&݀d{2}M*HO­-eR(^;~^?,Dс! RRw_n1?0.0dmxƨS_ 򤾋usTG1{'Pr}4n,AKSVmsM;9ЁίqzEM&=TPټ܋?u %x$Z Y8|[mrhf΅ ԮC;7sRv!7[0s'* +lo V;J4ƽ`v.T_æ"pY D&c.4]85K~ Ѵg|P>Mȕdz `>{tf j"S"a)ΰ},CK߯M }J AFomXhݘ%f3owpXtuWslpۨN20/4"%50+kv=װÊBr.//l׬/M{ Ԑ`Irg^pe\d1O'VCzU0yL'&#:GgkWs UDօw1CY-?Ô߹0r@b4|fV10\Nj{Ϳ@ړMsWIHPc g%Z׹ ,1~ PY[@eDS}Sry1gZSmƈ6!Q&99Ow;Gqh"P0lb EϠRc֦B|,q}ƨ=U`6E7V$So%^% /XiT؋#"SBuX9>sb8][S[yVDx}.Ifɦ1"9x$z?B~BgIO0+Zf@j)Gu//93aqg9&c!`NU0B1MO\/޾H!Lz n=|89ɒ"a1>߂.dc+ ,ٜ60/ƣIhdهX'בx?_/;qa9Mß݅6i^UY(7̹ ,íD1"O1:Jj懧!=v(aG˴E8LL}Zv]jURDu(A!ReUoQ(4"jJ~rP=ʿFg-Hn9@> Y<4eT|7XӶC]=Wdjq#%!cKk ] `5XE:^${i͑C?T\u8o`Go;8 U0}V8!:m At!+%Ll >roeCb*%b 7b") &tIw&Bi [LBFd-\E_$ֱB`Ft =fz~adZxtqfpp :E"㣐וwIs>p,@M9"m؁feS`Vo'Uz/5eT,_dyfVs2HK.ݧnQ2A=Z_0z4s^ ѵ`nb~q(ykDl/]_x%P8y{e!S'IR^x2Φ^eKvqnn.~p^P﹍3Yʛr%HR/)& K`^̗ ޮG6XJ1'bM}h)sn#u7)z WijB3d9oX1HB=[QRRdFِ N?Q迋d_Z$ڨnu!32QS'7 fV<& "K'3wC=tሞܖ`QFV? L# aq6: nBK'z6s GV1|o&P-ҦwK#sϰ,{䥩a+_[cwzMl+{_lg BɀR ZةjW^#A' `le>f$PH. tChqiWsr"WQ}vy+DLyfSdI߫ѿ#G9o4l(\ͪ~ZKc"mz91.U-*G~=>k FĘ}ea•}ܑ.z#RRKu.< g7zόcCf{KEdNz1 @D=OB`vD>ޓ GR3u^rA8πR^ FJWB)νZ[uHqT>۾82C  x;@}JCf2f3O%eN\j^3IlI4Jƌ*|ޞaVoJ&@DzzT98q6*yd/>B5d$}s#&f[L+*T䵩4nYb1;jRqjpnt iM5ELi)N2>3$.|`T[ ZhMSlA.D4wi=1S.#6L%Â!f.ZO!O9'/X%"?b=H?N1v,|Oxu"m\Gw=hfpxiicm| V@6L!\124Ra"-$ l.U AW t29ZFX(Sf\']J=8JT#g2hWb3"Dkp`cĐ%Ғ.p;aspKM^D!}(᯴Td= x -XlU)~8文x M.R )iU0B!{ Ȃ M:8ol$@|Ɇ~l.u/I)^܍m~nԧ3؜ H~B,>.?0 ]TW߷YiD\|2ɠgRLXB.∓|<[]*!_X.WIf`r| ;$/  ƀﶿ"Iڦo[J?rԫnޯ8s˿ i6Jt6w y<(j̍=Tw-3խҤ '9ycvaNn~bb%$8P*bU$8<"p*-m@9]{\>Md w"eܓ:AiIRTȣ\4h%hҊG9[I?zpHR9/hGlzީ^7o$?/[!Pڬqo9\G 7$sO15I7ORJW? Fgo)k.s4Bn~1.0"LCNq#PEx"+JcM㇋b 0{'E ó߾'ehK>Q ]X_Z}sMHE؞<_*+$'yaM,OfxU1 O;||Y?31 x(<\q»bKt1/6H R "19}?ԖY)&QHw# #X:?=Lס9 &c4F Nn0Di aK&63>5w[xzOro3(z=E?#9YAD *ۡ4@Ӽ@{9[y*?f)MT Gr5Rxm+4Iseg/Kz⅙mبo.fE?`'9@ PÌZUW5l>3;7yg,* T;SWE1@ΤQӺr/VMҳ԰0Jdȏ>/ۺB(p' WqX]h}o;8ֈv*ڲ 3C-QYK4C<vx+9?3RB`2ċviag 򽍗BUaR#UOϋem~ >9BH#@0$)\25^WtV3MwFvuhu}S]B@QiR|nkqnߔS_Peyܽ']ݕ8\uG@VVlRsq9WCJ .qL  kҮF$)? |Jxsc .ʢN\"ce 9} p"CCU\V]_ 9<#c:D 8a򉲘6wor;"6&,lQ\!0d #ĩC d_ɀ'6\zW7ZF]hI8{EjFO+b/[v,i IZgGTvD6,U<|G~ 8:|{^IJT#,FnIp07`?p+Nâ_ϫ0;ps9.ԥzv8tĒU_tƘzu\ 9.,7>+^ʊY=z2Q0ێ pK!D1{{R{Sbe`$p1LbgM'%]H3L,B"S>Hh__ߧ o _ L59ʄzD}D@)±KT W'pAb Q~~d0=[m^} ?u*f[ D{~"0Č-+F:čS?4ufc#{6>is3BW)) T.>ʹqLN:o/(8!1w'D 4Z79k3%coU!'iJ]ƉJ׸s||qbȬ]W~+iڇ+us<;NRMyo괯NA40?~F L l}+SGhg*=_d&oPN[Q$C5Sl>l *.u<'HecawE9iHB J?䆨SO 83_"0Ϋ'= %?8 KqB x>/*h8hw|]҇1Sȓ0 2 -|efM枌5i8>`dϓK=R]_.?0E Hߏ[)ZN|M#kwbQBxdoqzWl1dF؇z&eqLz ~ TI)`3Y?<- B_D^1n3C\BXq8اr̫qЊS*ϺBX.<4f4p|sJ#Q,B&^x9=?wW6)HK^Y=]+pzmL_[ 쁩1%΀|N,,4>_X~ysYHczc:j=O.lN.z}_\MvFDRY !]PѼtJ'O]mcd7уDLĘkd DyF/ET @<2ws*64*/.ǻx}:Mc>r^eGp O; X0%p`;SdE@dܵb۷!Y Ͱ+a21q"E(xۄ2҆7+)j&=קSE9h+{jC_R ^i &bWBb96BbbXcr_G@=]*$c:"S]ufz=J_IC_4TWZ"VȸIbf$ck{px#œ|X.O"+w*f#ByKu8kYfILJ}Zߌ9S)8ke TjcbwYi" D[/:7"DXtyp ޿X#d5e9\/ c+4q.7jDM3э6'KG>(4MЫރ`EtyT/;jэS" p0wx?8Ր*Wyiu4k) }Đ?.ꃕZ_T<*@~f "=4>nίh1& /Mr ?bnAA/ )Gl]3h)5szY_ )/MfL.v9vdE" kc^V{v5IOM&qpU'Ka,«bH9yLptГ}F8. \yWGPpBxVD.7D f\K#Q7IUy&{mP!w+T"Q[c3n$|*B7I_2̈d x *POJY}F54 \T2DOɷ1pc&hKjqo:Nw[{,=de)Ex<= 1+i;}CZyh %PEX EǠsDswC%^sCs_e\tzf@LE| qRD=l'‘/"% mbl0J.!}򼽿}N=ҷ6Xθr_qH㼑VXwa;E_SۼQ/49 s4) \䪐pSnVAm޺biQ=u|_`n-i @ic*~XqH=߅ MElD\ѼPTԽ8](B_Vn')]|w3%h#09k}xga;#ME~A\Wu#]ax$emo m.H VC]Q$ VM%[=H~B?]%.ِvxW⸛>~A6,(dA_^c(kI `1k'7o8e릑~v J%jr,5y5dp?F+YNѯHj#񳀐BuOd6{y2vXLq05iX7&jab)\%ƷnGo?OSse>!ggśrAy0W\ ZVZz^ IDBlW cJLu:DX%$;\K9qػ|QOp"c$dM"_o@2!7΋o[d7ov"Kxf=J5,+ \nZs.u}BhûwM(:԰R-W,G#q( I2gm1}Mr̿ej)nP#x2m违Z 'lu@b@Q^jn5-p"[Dq 6r&u~cIb b5=@oB=jq\"ߗtIՏTDJqc+i knSP j$-w|`Rln߂D@q?` /h{՟D)h1$sR̹H#q/ xrE.h:"?C|b';Yd@E0_0%eE R"}QExJSiU*XO Gd2 ZWzȖXY},(MNkÜAD}c? 26A46w3ՙH3R\lMX,ДF|c>Q$ҰRRJOŽsw2WɴwRs 3,QmoTST_.7Pny ^ucUS{>Ll@>.} E,.P*wfa=DxXfX۾><~1v^7G+۟0`]2D\<mlf`OW7>TH!FLDJ^:JS\gsƿVʄVLǂƎ#xG}07zߧInc;>Sr4*b鹨 ۿ)0n\a88˼FZ7NR 7HhU~kjR˻F*u/}ڤYUMzlN߇"E8d=xJ,jAZS74^ Wn!=&=#1Ӌ'>ƝR2,1v˯$_ j sڰ%^\JG\W䧾N[㾰G꺣S6(rnd-^^sb A' Oa)-ྷj'`]}"pS"%Orj2q! tQN6T0| Bq%m{> Ws/lxШiPe_SKӛEh" } ,}?%}֩~S]*(!n)dbRBrY FCFB(K/10An/}Y[XKI+n2X؉}V,!֓VI3M]2`W̙ ~ Y;'Ej)_Rf'W+Y=Wha4kIꏥY6W$GK!VHPMx_4f2dZw-RQ,nYZCG6 2 (~Yi;l+1o j-k͌{5,ezHP{X_ʧMa/ [lTzo^sA8(2*Ngg4:)^i]wװ '(^zbBLEBmc"ʷd8Ry FiQl`ɜ)=Wwr~Ppmkw9lk!]3~WԵ+ d&L@c.:<'>r_Yj<ڒ~25=:BEb=TJ',ΠRؼX:-dH6/ uklr%g~W wwX;>8'Ԑ7W8Ƀ踬]U)K+Rߔ`y̿y!sHong)@;s!gCs2o=b LtȰE ?pGsqfL$|.8VALPxTW()>  h+bR,mf>쯡`)N9)3TkԙNfǕX lC)O]t+tUmKu(GFn vM $b(QV4lBYyrp6a?]2RѳrqLwkÈ2CvNl$o͂1,EQD/ݾA@;5 gs0ÄkԔGV1LmxAU(rmM@Rϊ"p%y+y-&` h7/"(8%% {@~bT?܁;BW*!E4KVC.1Ri7_Y#-Yp2H{PY 8 ! ta,쐕7e)6jMt}yQ_,I$O6kB8ŴFB(BAߣ9}%m],ŚBB+^'W Pj 1m6YvaΉvtIp( ;ǒKgzHp%R Bv̻d/*,d *B+7"23_U/3P-o7ovɼS~m*YD.V+>>x;MEj7h`vl,cFY9$]-730y6zs;ָlPoG!p@ԁbO2/;D ҆/hI =y97T sI%'Sl ߩ)>RNK|ѧ XЛahR#7$d|5;^bw)-x?I5:XqoC.ƀ4A^ü~"F1PP|<{*s{*Zܚo,V,< _$62Of>ખtV;)md.ݞE?⢿{8PzIiA.0 4$ʐJxl]Ln>ĵuR4)̌;ZYW{-6^y;n[ nI癅2T:LlLu.c"vq`V.Х\KgV $Ƥ_;''QPT\uIL4E8*&O]XIR[{Qܭtk-O1_"|yf"pL^u65B*`#2 <8ggAE}bUAi[燘T̡KN,m'tdiw b= XB(w\YԍX)Iѯǜk^%\w?? 5|^qA@;Uݠ4PXPX=$ wB6yGv 췮iH7, SOpо7]eR*V.)黎|/!/ m o ܌k2g,$5k۸0IsN}!A}eD:w|K$ z_-8M? 纎0^U_fr%]ImdFRMBy[$ 0=wA/ Fl%=T\ߪ +N[ /} oRR[OfjMw' 9ܠH̓0+Is9<[a&G%Q0:㙎/Z<6X=uXG}x:$|f ΔE"a?s^΁&vֱtLɎںEsf RUL=""]#*fM:M:/* $-wlk2K5:R%^*3σ#}Gd1# ^?#A߂G^ɛ Nhv=!0Y^փqˬns7"}?hXXzIyϓH{^uP~.`M/(gqD m(4Ydޱc)Oq!K\\6aZ5Ԣ&R&m`-&ȃ~ %jғyKKFڭquW(;!DS2FW)5;XPe?HgY mty@xTkR-qr5"MRmYm{끟#wdi G޴9GJH"{7}ɕ<::&_WlPh{/Lb*'T-D5X 'W֩A A3-)6OI BϬ i׸NUF-Nhx<Gq$\=/zJZ\O!YĘS@L1LvaA٦H{M\??ȭөc>D}>r .A+mj*Nsم*=n{V^}|N"`+L -M,HuLyWƴqB CYg#_8?w;N9YE|(.͵zz~"2 :F!PV1lL9WU?u¹W~jI3P[V'LCB^pHT΄^{p)pvz=bFg#+%^ g9TR:zsaDJ_ow.q ?TG2d7NM ?F]מ|$&և3ۈZ<xČ$fNmbuz:ϴ"Y]5@E}I!)N(bz`WTuQ5Gi#٘2?I`wQwo8 V&G\:q 2eKÍ ݾ\Ƨ+8?jp9J6 &㊎Rd%.Gn8q#k'rsH f#e1꒧ .L(EG"_uϭY l|;jrmAF7_7T!0! /n N7"U5j5˭〷jܒ6$.uߜ"ΫK#"ۨ&~R^&Μz8"ϼu-jd=u$p-h#}{}2[kƃ{Vz$Jv|\Ó .XLd 0|6 1bg'28GM kj0 8i+d9\_:iQ1LY@_S3 =t{W# O>?'(} WD*LoX;v~ry#bB}K`2])CL.zhGWpppW\F2CY䗞RqRiNuQdHDXXGIg?bI` ?qsAI7ڧJ{֭0(x;ѰG%~K,v0`+ }*V '"m> }R]ҹM n urrL~+q{\?o_mϫ괸KK֋*r|>^y2u,fagn*+ \ҫ˗1DkԷ,Woi)E"YK Z4sxn d'oYW#L}EWi %@E΂nPTfs%ó\st0)7(p65Qԧ0ю9؇\@2RjW:|Rz$d Lr|U(cGBsŞtN}55PVDi&-(յ۟g]Ȟ?i`t,VW - S0Bi@A;@m̐ƉXFڿ:3}BDwDI>z勨i^ &-4~r\2!hJw* qL?;=hN]-zkB&QOp;<3_ R"Cep [ԻkXBCn{QPfȎ+P [Z8 LkU7/󳥧nsX3 8B?7ի$+)qT [Gמ?Ɩ/Vlt&dvh6' bNr%Jb;fdP^Wmx*:8" 4v~l)kI'hAO\"kl@]MdQ["s 21]Y$ Er%}& Y d"Mx`VH5C/z¹'T䚿)_hW*) =lEDM k:tVx7Ji՝?[z]uDK5ҳ5}5>ShIdٕ)jȁ4jA'wՏ'gBYw“B7%9yL[k/v!!bv33?Hzj6xжyqu5?(ϹAfci!p˪A6ܸt5#?\6Jka%zQNdHLOii٢"yY0#}Y=SJL>>z.:% M]R s81aU@3ܴA5D݅Կ|puL#)3_ #\1Jj볣g`H<+(`arc?,RE[6,؇f;>yy)GR4oqxu@3R6h4s_K>ymgX\[شvZi{r}Ph:dimuGkaeTnANN? rW;m^- *ZLT1Hɇkz̫O /2Gn?&H}-_E~]Za,x~yx'/2;G2,EʂZKsP#ޠjkd/[H^~ qNMJht Q݈~z?vH\ҿZm3$u[)?5y_Á3n~061Y[s/ζ".n·;?%RWҰOx &V&xe%?7tq^OaM[L´=2H7NXȢ[1:mjAL`n[$X( H# .6[T9Ac_-2td)r4ELT<8@j/M|T,Z5](O1%gs*AtɄPM lG޿`۷+7dA}0.ꝁ*Ƒ3#}[#VFҭv1D&}O[|AJ}M>M Z*I9`= IWl?)'ۚ7t&k8^TzP@/0V4|q2i >[)btzmHºiBR[A`t 9 $vI6觑bnc>!Y>0=ܨ,1ƽ3|Ӭ*:nRcs~4 j`"gzY#(6X}bj(ŊIyN<P4y"do KcKwY$ ,GaP]ikne֚ ]%/[/)mPmtC$zW9jcw-Vkb2OjAlkfX:S.%2XF9'$^H}9ɽnE#׮+~5t5O~sУtԏ$9nq#e8u3Aoy҂9x|;W b$!NTa^a\n}5)gQ=+era;TX)?\M)׍V0L{t_+q-b?cQeœ^gG8 '_Nq;nD9j*sڨ*\SXIfҬ1u>ϬT |@>ſOvR8](7 o:K\X#VpZFײUNDiÏ]@:uH :_v{rY>1܌/MH ֮_Wod#\لDI:B2JF~D㯊 25ڪM ߐĨ$ٿ屲 i6)d{t[u[TGceI>0e#aޏa$8&%8B#I8믇k7-IDQ{}u|n_;6F,lL J!gF&2مd3mxISmPƗ^PaǁwV2뺑czpwHpNa:mbAFv9yMge yPV) pGcB_K39m`L( <𑊤.CrqWDXޑn""'\7 x <ۂ׾5q?AƘD8y-HU I%e @6vP6mz3t1\ {ΡƤ-p4+ >rlxX{Aʾ gGE1=)QC:_*hpnc&9MdWj Ѱ^ydTy/1~m?:'МI  ,$w̆aRvE*iΥ11f}s9|#QLm̡uXAbra&tǕe8(gStZ!J>:tR%#2l}<23zu mME1L6/(V _E7Z3ZYąma̿>*D{9 ^Ӯ?*|+/^" dH q~+d}?7/Pъ_wbd#tN!NaGݞTu(^ flsdAoli]X[ BSS~RI>i(_)'`mem!MVÙ_}*:Y^Q2K['گDbe6S܅gJ J˸>.28K|JOa)̧#}+YuH9 k(G(gkJ$>!Q=Y&5 rj? g G=BiP~Ck"1S q́#_{dt=|zo+ĵ W|7u..éxhK #꾤`\խn݉OfZ+Ik$U毹!l^x* 2bbHavqKDo IAAs-9 󌐈,)P0B+ã/&DyVPJ|D>pP-ۛi8WW}ma=صB夢#>SmhNIkiJh9 _8caybO/' -T4Vմ*XN{Y&HWҵ˳A[ܶpT^jشӞxĈ20eOA |0k²_Ն`4UxFt7/#tQ'iH<URyhtsE"ÕgbIHI?:|qdx{TG;2`lBeۯ>s'yYJxiKxJ⽷(4S.9,L)TO(4w&%A(W;DjDj>Qyx.]hrTM{QD-_HY*a~G5ҵ`tBglot ^6sQ=Z4s,|"y.,x0{;xξuLLf]\Yu 78X`-MйXcϔ!^ d%ikuׄH{J$?;_y/ah93Z17h C5x%5C\m?klVK"$d|rUb̖Ce? 5a_+S*o8,N\ wEZ~ڞot/Qi=х'@vm",&ov/H>eFʦ躡adcҳ B+;ħ qu1~Ah1O{d: 6䭯 7N#FXDǺM`2*C>.3ۖh:fYV:7Br7,ObsJ ^|x`i>Evd*`mOFWw`ۮn8,d$O״"|[awr/^&n솄ijҩ[Im1-95&eH10/E0"K t6{ޓ BF4K`vȈj1"wKJnJPi*@ qeۜNq=aTLO|0:K~!Ηl+>ԕHS ~Pa-RDY J&wуOw_e0::9lw^X'5zJWe߷* D7ޠ0r{:O!=kYaN ?8H_'qj/0 ^i>Go]cB)hzGTY\ڈe%}k|jt_ӞW_ma߹[4ǯ*ܸtQTyʌS!k$^ɋ$f~pKrcDt|OmXs$ Dt"]@_!W3@y {*0s~SJ =jlmEvInpݬ(yQP5[4M!gqLY20w#]Jp҇h)Xs.g)1̉ tͫ"zFٮNBK?]j;S.b*cb @_>lWe\渺9\+@ư>-2?V3L0:r^sE&h~S]h廵{]B7G=H\Y{k.. zd55SKUҕҞ^<}KYSCC1IkC e҆夂|m>{0ol4AE6i*B:w}~zў6[6q=c<̲UOUլArWoi{9 q& 8sQ{X,ɻX0}o}Z¡XGLm[_X睁 nLD-׷@ q{/2*TmRߎ-V^ xd{ݕćt#\ltXbvjnͤ; j;q!p>  c\X<0 uqوPמ!`Wˣw΄;JtIdw`dCHz3oxuuZ+Z69Oj~z<;>35,XnDW =:/c5̌MVK8c.1,8ҷ?* +`f/S]DM#I̵hxi#6/2-ŸO_@FooneV(h> }=Gߝ9UfxCE_ϟFМ\#^_?]PABQH~,ߒQLyDl%gHrnsp{=`%M֮5D:o( R)%`WF 7u9>F8.+#d]!#sB}R{ S)0n,: 9ozY^cZnۄVmβT2`9#DeM`9G6g+WޚK ɭT%AcljpމNiJw{yl@/'9(Q_a "D¹uPȯեzJ|%:al87"L"s@$B;G7$8JɓݓlvS\F&3環/\.M4ճbR,cq[ z*DH9__pE35ĈH8g!fN|aDL/ɠp 3_k7Hs5gPh{~" 5>JK[6 > U:2cZIRql(Y>0eg ]s;pr 舼+؝YLz6[& ƫʅN8+rAbq3#t0wn$!jMqy'}'sW:gK~Q~4wz,9T1d70hpt5v}n^SDg `hpȵ]r$Ly%x7qycy#(`g0ĺd VzG8JslaͬЯrT#PC>EmL!FTy1/Ƈk}}.8eYr {61'[ͼLhME9 DfDȣ@Sw#&`;a`/18>~}K{~ꙛ tzS/_ڤ6W4l<#O0J@?l*i\Oo'HL/ළn L8HeXDPS>+0ʂ2`WA$Ce#.YN_?Ѻ9 Bx&p@?hQ <2%r}AkXgx \:.Ȋ,Q5Ǩ &TVooV4~|qLEh6i2.>2GQ86V.$G 1j,FGCƄ=]%Nj3[$->.WC!3cX|K:Sf ِѵnDqdnK0FST? mNJ#ZV=oP=R D5[ԋV*r2X+V`Ư ?XgY'JB0܌\uC{aٻ*!}B2T@lXхX'"zS-"@,v '8R )S?:I@NlQxE˔bEq:k72IltkF ZIA7eɯݿf;1h-xUMC~,/ܯ(Jn,F/}c8\&§.lmlrjk{C^I!@o 3ʡWo 0DsjDg`b*w4TvK/"]TQiNjʐ* ۣ91@3;qK#]FC_}K&љJQ wTehvmFpS WʅQ~[%%1S#(~>3٨sQ6>/)=-%hbh]n1O$E...t7)l_ 0oC(Tbly5KJ+%.|tO5RsAޢ~k<5M w`>qIcnėz\ɂS#^&A%a}D8rj?}= Q5d~`PMoKx^f|,'H*hQAgԟiKXz~icrS@8 D*@USC\M#] 'C+f-c!1'Մ2xY?$Q:w7/K#[Kj `G wT&GKc}2M;@qQ}O71 kݰ9.L#j(^ܸԣU`nIw{*3&y4h PlZE <-Nd Il|Lr>}aCڶ.&~iH[Xmk.Osq\z.bMiɑ_1S5PC! !vA`I$ӂ<=Ž}C?^zFl=PP)k$x9|:5/869< ǯzҬ~U/FTk&ǔQ?|7jȵ mZhp*0czS'71 9Ɖ=D"G$L?120k@B$ig0hg7e5>^GkeDvOb4x>=1M.qK3[7z"_C/QG_/<[=y>ڼ<*ҸdxbH6-rEZlv-3A̔MVuzJƗϳbHաxtB@ #Oܿc`&]sNC4 IS/03FyD4(|%$*pg<%&BPK$ItoR<i3uj[E=^ssǷ<Ѵ W_C1dRP{`퉆:N/2ګQD_qpPx^݋诗Q?ZԬCXڛAś'[=28vib{<\ z_klVţ֮_ YlxmumFC7ev~̗z /p(N5YN+s3OELظFLp[Uފe"-5b]\*.g4:d)\..m FY Ko|Oȑ}ߧ켫A=7̬0Oy#eLՕq !m-FkxYs.#ov6B`$m9u\]L;G4D*쟚@!]\Lܿ6,t(~c!O5jcڿ'3[޻枸o}}`mCҥy[)$y3Nw0(HK"qp3Tl~zZd_h}@hWˆ֖pH}D0Ev0mxQ[z3wC٬~r:wo湩3{~=?p[+d%Ee`z}bNހÊ9"C^zC z.635x}4`H{H/ls'"jf[6Sx2HsB,48pH[X5m'3!>^hY[0,`j(䛉igW $$ ANIyޕg+>mU;3jcNI#B˶l?5TGKxCCՌVjC -zeP2e#֨Κ'04dX#%~5>5MDRyv&zvPM_yPMs'yy3kJ QxhI ~;{fz口ߦyj `RJ؄89mߕL:!'6F1{+$45RxoP'gFǑQ/xY.$= )G "ͭG Ιk_1eT^Rʧ`J_~˧Vl!;XMWӰ*i* Q

޹O6+@w!z'7[N$lR >xʬp>thƽL2f%ˮ,߀g")(i~R4(eh8.|~lLfX)Kt]a/* {#A掟P֬ɪ  1Kt*F8{HA-x#v9C$l!j Mx.k,1~ZPJ$7Я(-M-\pbVK>i)xQqik7^Q_6, ďA58pm_(;LX Ig[v,~PA{@)s1;lS#?s: Cxd.:L4!X 6=QCI]H|B#3KWdvP3? u^Brli/㻤$Qk/%JOh~gAA2Q|\*Q{C0Sj%6z{TʤO&aJ2_͝мl|C/ȼ>l |L cXm4aj΃xEfpsP15!3ux=UƹO3>tM>1hl%r{.9CG7}4x5J>Oo/o i IGms했6jԯi ƆEC`dv=c6 4WU^A )?~n @6rMvφ%pٽf@*zV_,unyKT!-SFs_a~ RY+O,UL/wu7$ڃ&A1K.|٨E0S:zKg5UοBI+U\ ӃUPo*a:Gʢ1$v 'GB4n5W>QNgi{˞'e&4Z F5Xq}>4hS`9?6r#IlJ[O_mP-| K`F~RR6Cl4(.P@pfǶߣ&Gcԛ0f&`/N(%|^yZI1OC AK 8hfSb~XG&yirl *_qv\/ⰉBY9|P>`&ygo9SI:G&?im\%v-a0z:"cJOagH^ bFq6,pwgolu܅DvluۻbuTTT p@o1* x@=CzG5[UVg>a6nM}UIq32Ьk>m畿M`40`BS#q34R!nҞ!'.(=DT w%>`6ky%!cd! |4@\ZVy-Fy~=8PA(rvA4vmaPtaw`4W̌ISF?@Ь'$=@\٥g _"cLM u{CR~8k })ͺ2*X3renOo-0]onX GɆћv9l6r:alZ;_56?!%o>/!+ ܽf IBzϊv]m}ڌ=^-󎯿nzJke Meš'OD "O{61ΐ6=h &$ƗM֎+RP cz9d}$3H[/~XiW^(p  +,}ا!1;+ghiZqo A%S{~~6J6rĴ3 aY OD+N@6eQ:䝵pI!w|s;p&I 5rr h[oXuyiYsWhOBғh! =RZnjPO +37yGh?rVj;tk993"[:Ns7E܀q~ 6H,Q$y&p-9lMDyi7j~Y ,$Ïi?0eq`/k*`qI <'#U>1'.`bq owתV΃ׇx,zy Dc"C[&2XEV+![E6'G3{#.`C zEuƟHQK6=3/Bmh(qSIQs˄@ "YDtNKNE?R>{;fW~pgI1Kȼ+qKNJ߹iķxj_lxd4Κ"=X$?9 ШW:\8"LiD̶ 5vN`CP1bcQ)0ٺ2ے.MٙCtpS,Ae%nndڟIUf|6+}b!<~qXͱ;M(I1>5JdN< dH#@I>" )) LF66)^Z0%"mfZu 8L CF7ˏkyo0.P֖VZ(WJ;z¶^7T'F2%- UH6CBntdIcE62 ͖eFdk!vE*ή/^]ME/VNWp {l 2=_d Ouq>aRXgqLz49"ߡ>s3 B X3~|7X̸z #g@fN :'"a=A iAEw}i lZ>t[G8ѻ]Ֆzz}bůwʗqmaQw_tj{,e"o ̞ sOm՜l b$eTRGZj'PGWJ# %ܸtx&AmQVd\6io/XuBBەl4qqH7qOy4 :aEM3M;J;eEo-䘘BQ.2Zv ]3 uUx#ML$cgcYMvvR+5rFdiSCӀ_$'~06Ya[G{*sa9~Q[L@L_^}O+Z -xXE+6CyVC3yy#}k9tX$wq[?(2AA-A1 SWhNosMTjNw8mI!.pj+~w ӼM.`7uu| {o)e3e߈ xcAqz~jN<_AҋLj,; k<@9535h~ 4omD鄻7/>-~udK**ѧﹳ᪒p$xՁ)_ E,(!OjFn?K޺O&Y6ptc [/K ' |ȇ>P%=W+`UtX.FK%fOBGP^@eɂ ,@vȆ?t gs @e ݋Cz?ndsҖn y 4C08׼5̿[A7 }ܵ %m?\az`2^]'E,5ez]6աX籨쵎b7ayffwyےLu8oo:%Z'}d *j YHw.MR3ilcc^k*qRmlːue!ݴyD뙣cU.}gww8i޴kVPď.fnTl4uIQÇ+H8g^}_4&:0:5Hkm6؆p]: [:F ܀,bڞp7Gc(YQQ{k/e?NRMۑiEv VieW1xN Pm3t0MU+: B g.Жn)_C)]ϹH N>Xˮ@Z4KTZd-P4Zs}\TWuT&{+E4JzSqBdď_(tO0!Ԗ2wE:q qlKnvaz HFW_ yo@*#xZ9+vApߥmKŰ/g. ykqm.$ mNVٳIG^Y**qU1!RzaBC9J1p;oވ;i/%wJsuF,'˪qU}NM/AZ t~ʟtMlѧDl켯Ci)Տ'xqёwLU^؟z_׫v =65VYfmTHmoidb6wDW G3*yḦʧܣu}(LyC 3,7o~Urs?gm}^ z껈Pۯڅ2p bV ٫t`mE|Ef0]~}n}0K c}7o]^I?k-JKcae|ߡyQ2=DOI(/)VM'27>]*^;mTQ&z1übTGC |_߈~ /y$kGy@-$I;FAtm@.n7m*̡=H$y${&eΰ64N((U*&^ef֓vȆ!FĮ{' f3>T(¾[lct9i|[y9T)h:|'f:ovvdf}~w D|XO0,>}g=_)~G@}/{.`[XS/~U*(ϐ^m'Q1O $h4#f3v4g>!~)uvREtѭUe?Kbt (4<9|&fk 8we}%`PbH3-]ل?t(5O'+$ C>Ư.ӏ "pXM|\lH)fH~; 쫞z[MepC8?"UiWF@{Koc`.#0lIcFrg9 ru(jBf7(Ԕ_W:'߅ˏpc>Yv(,"1 GZk^{i #r`$M_+ah7AO\7* նx۠%v7C:4ٟJu8>WUe7whxcd7sN.1: z,@j~޾phd5"0iA Xk ܷw[HP漼0X̋.n#sZFυхE[0b0X`Q </\?k[~ܧ3f?ӊ%]e !CY׃=}-Kʕo;:Sqf>/|-N(({ A]HT#w~U~}̈vޣWvK !ޥ%f|b 5 ^ oƓw.`ܙb'Q4w|۾k.JwЅ;XS ¤Hb7qcv,EzN%W/UI?~3m_޾$̊^`s_MkHeF^Mzaף3c`,C_-{5mԮD~k.X܁a;s1lp@Hm!2VW*﷕ )hD+d܃%yD(-(ʛq5ZtWMxJ7^?>y81&5OK6κ` BGOntW͍ mrK?[G+᮫~.CFZ|_DcʻLMslzp3fm!K-tJwDwGTLK~(Sy97XjK\ o!(T0[1@ ?u/ Pw˂uSE#j 4#?e'F"d/}okv' iڧp?[Kpq~[#An%4ĸV{6(,V~P`U 1R2AEW l3IYvNl 7TPw`j`dӧgn䩨-xgJR'I cTkC2 יg[n%YfgեjoHyhB.N$u_rTI2 =pB 1ֆ1ga hzӃ3(1UwK1G΀PSWkJE0l[ oIN/ɦ *<˨ ]yby"nߦFE3` ͩgˀ[%֧RvM}^`3$P_XDm69 0DC :ЎU5;W!*-Ղ$ C4E$p.̄hNV"SVZ>(5OuLi.v`4n?~잕z[ 8[RxJ Fvt8*vbW_g-m~HK,-]|OW~-o¦/҂= !/LIhuU_ i4~xӒtxb@y'UR]Ҋ~g/H fcȢZ~VoG;~Yx dc>XZB'fI”X|n6N`}=AHs0aw}=UN<%O8&dB?qkecLdq]S]Skyay³.VmNΡLVI_R-k qR%孩1 aE-(ZLz:4 {hrښ  ɰ‰Yu=M X3k8Jwȴ:"sEk+ۦ!)dB6)q"? o߳rv#IٚMc _EM/$ jyHm E'Y%L-?[#uyY8_,|8N|3Q'_ A~=F mwQanJ;C< Rшbt qh%ɂ* ẽ9;l(`Gfon7;7 f91?K9!4V˖g_\3cx唄k|/=$g #P:e J҇hIJygj5+ ^}39Ir5[EGM o)"ʅ yR#l 0noM"7K,M|}TeDqțJ? *)s-De嘗\1r~j.ʩhGZ ѧW3yce0ѻҖ|P50v-fmր 6Ǝh#Ly`͒Jwh(Fٿak A5x0i&JWg.㬺5 >XsԌBl>%.;֚IAH {Si@a#5ū/ 4G\47ŒI$r8N`#OZ|d4 t>Fq9)h1tڲ_ʹ0[?iۏ#WDQ@PKN=A?F1C3Iu .&Qg%Ћ矌at/_ES38W0YZ$N |پ v6!߂IX䐡z')ݿ~7]\p?YF-͋ls]0꼂,˭xg+\h)6$f uFP ^JYjLIIӢO|c:/n'_yo{bNT%"d:vف*KyY)'so א =B?B{1Cf -RFc@S]Nt݃6]u8ϧf@쉩@Mk//mQ_l";m`C s).QMoc~킵a텢e |TaN~.U ]SK4w#!vAHk譍W4@ʾ90;@!|p6t'[ɄQHρ6w# km^=@hf7m΍tQ9#[2:ū]>ڝ#NlcӐ|Pd恲@xM UTtOf4&\%DIgO`SMCXGKdQeϵ-^,_LcL512$q'WU&aډQ c1uB]I|Z-NX_lX wre#s[2P﷝02@;'=pUӘ]׶1`7L{?5"OuKsu#)^| &~wCkR7 H鏻 Q L2 UZgI`H+=}Kycmqh}8mb8wC{ݬ? Z ܿC nʛ#p7mE^ vAUSX?km?]W;Ȍqx,zf},:`.J;H ^^pk; VVѬkǢͯOqSb. ס_(&dU3}`!aG-FXÒu Nnr6hG$ |Q:7 fwHSf^bbI> 7h>=Yr}m?sL`wd}l{:U|&lފ 5{P]gfpZ"A87os9*A4/I%܏<:4 zR@i(2HX=VOF5eOD7D܋~ӧ"/=gMZ x8oOÿmtIZ/:/Ԕi|Ez/ V{d`m-3|"Yj2K] oc\K}K6.5e `;^(~u+Ÿ6D2vPWƕ/un5ͫӟ|;QÏ8@Pgt1n+V^.YDn_)Ho?ܨhn΅0~ PG6-_I!ŶCzC?9Ô*}8i9F}ut&^|O4r{C%6>H){qG{nFWHR?Ѕ[b{$`ĭN}#4xg4#ieT~,yr3H-3-P-k YC+/T\?_9-N@c>u~0j>{`Rz!D^mDilR~i2 kr}_d SdKڣ'?SKۺ`Gᮤ{ >yFOybkx|z*v}f9]+eӅ.Q;ډ wjvi&OC:e:hKM>2HSo{T4}Zcށmc}byR||2Y>3kXlW5#[S@pIWs@sUW@쑣Y2`[yc{է,&6d/ZSVy}90C~0;'ù#;'Qr_vҲOzWw kD >Xݻvn^(\r.}jH$5,D[tDTT=w4£_3 6A8jŷ}l`(m+n&bt>ܽIeyPp K]obZѝ^Y'3WQVRd:>-EfTF!O XS2'*&c:+ݓSOjd`>%*F֪hjIu% rjҁCf5["%fb,ZoT W6 v6"nd ^G]0x[OQ)}-OY;%m@7Љ LJHX]::#DE^g ImU;ykCY ʱ^+xy3LA=̆'pr_: m@;~^]RGu- (o'It7y2R'ԔݛSowt_kX ڈa{\d\:>ZtpS`!xÁdq$$+pi+B.9M m.bG/7Ér2)GZ3QqM E0}I9 X6iOKf l,/+96'miE#L~-@az0=!>[r/۾Z ~`*D=FV**wKwz9ֻَof6n.E@n&m9:|3D %W?qƅps|Ȍ"q x ) +9ۢ( g¦Njj| JE^@x$s&on2Er"zo߼d6\qJxd};Vk#_^3&GFm2S^hljB :ex X"HIΓ1tQ+0l߭k'dژt$;5\eX˰tKb(:L7 bu+%zB=J/Ht?Jje# `jt2!P R~~"7,{=YT=[v۴^;mH/-jbƸkP1nUNR5sEMLk1~׿6U#d`}Stpm. KXQ+.QT.C2J<_I};]/Eq62urk`8;[?d/k =9ޱ䅆GSW U>ڕGQ,ؗG9Bc!#gؚ=)_)j/30V2%٬-peI}Nbz)Mdl_F{==sxLM3daR$P6oV kkad>Fk q,V7; 9 x쀠*?j7gX%8s -O>ΰ9 8^^e.8fN҂Q& m.0sHeJxjW#UmS+Ҩz:ҏ"vTe\15_2t=]XꞱʞkvӎC PY͊VڴzZt{A0\F/OyA:PيvgQf1ow lH̺&,5o}w1#N$dQU5la\S6)<"B|bQYmH4lN=ZTM*S_ĽztP9~3+|]߱qC8^!ޢ sH3#  |ƀ3Bn]BY0V8>u؂E" a<2Eu_ۋr[}y:gڢ]`Ǧ;TW1h+:IC!ݽ=;DEoh"\8a|>X||ZB=[{&w/oߥ]67ʊ<^4u:3^ʣsW&e746Yo8B_6O!_ȞnϴةEYTS ݢ(ϢUr):Vsv`Y3h[I\3SPKU}6 'Fv9VZ:[JN @"WYL_#8x7v4EssɌgNE==ŖK./y)ͪ Mw +gcxnݾPwU\N92ȵu,չ(nW[7lr]6 dV9WZҀZn @WmlwQhXzkZc06-.w|`\ɹ7~*^RXn:mJKds7VH1(E,Z(,R ^_>,}Um\7O+C`Fzw^r)AocUǴOzUo?ªX \A]Q}z畃7]4D^#6^EUg@W_$vW/-Csm\ =jkH_ǿşϟeκ#o.5 k[~~4_q>{]ieu9H`@$D%>F7"F'0Jbqpzf־1/FD}'$ _7O^#h3k #<}?JЫQzDB#`dg`|^~OR3(^HG%p+R'0H"uH翴RKW[)H|J(yJzWèJL\\bXb{M,^ >e KԴ}5z0}dIV}zG`GC>B.woϋ;,̴|?d@˯'l/2ii0,?鲠>`PFP pRGzA|#߯ͅ_$FIdyEzBrPAOtBr8{_/I'?@8tto6 e_q#?2)NK,PO]r53~@ޢ5{c/AzMގ뷌D7(flLAY/1|i)!|y -.DR}9?}Y_HՏx ?=~ ᾜ_`$EiFր{@`8?1J>ϮoZFn, Yإ!ýHeI}(ý?ǠKY^<"\Fm tM\QnW퇠>D͂j@DXuKﻬ_$zW,Ջˏk>|^}/Q91i'e0,cʌ<09 2<K~ 2EQG8FKf&]N R&#wI/6 7,sFIyi6[4AfE XfH9*[sn%mWOka]RXlk7swwB4K-aB.$/{X6YzrДya' $0r.Z!fN ZWl\L!-7tRJ06 cxi#f6JcEu+?@bv=VKۖ&@:ZĤ}/0MBȬ"Q!3===j9;zX(= bu &R,{ =4ҕlWl+GtJa+J.9K[iPP6 ܜnb -9QyX=:O"aRx;%>YEQɇI5Nɪ;Vqvy 0Մ<2>\乓hJmܨ rBiW[j㤄ॖ_x&̓q# B4\ւjLMK3'Ѕ"ƈM~ͥ1D$!fn<XlD?* U:(]٥q%d,_Sk40H1Iu3{ riFRvʾ}تk;k =$XUf 1oug4f@^c&3g$܋ 딲P붛,'}fLfy=8_tulV{N׊FB;y jb "<l@98*!Pjo/i᱕9nHUle4p!%GU>I2cpčƇUe&zEnQXE$*'hTհ.iBbRxME%s(c3yXdSK"b=\?74' i&aܿ. `BaH0S)[d;0J'^v-Un#G d*/\d0ً >y/q7\M# z%rBnpE=SʖyZ&xƘ@)H_dip~2Γ^bcn0O+ɬZ=e1u‚HH7D9bkH.+FZ8CMdqee9lWk1JǬ⯭t <D޳M}±&`v ay0,;/3鮈4YPS(9!Få\$#s,A4]FXշщPF.뇓YDChL;:3o(}1͗cT vd 5Uێ!@`KؗKXߏWM('rt6onQqoyl:r+ I_!'@8!F8a'{ǝ& A]ͺdW?; _xb%.(wRXH8'!pc+T~C2^c#M 1B=SiVʳo>3w^b7Cl?Gޅ1j-oGZo P,7(F-F^K Zc-QrN-%֑kןlvcd'lK hF Gbp8(xQkN_b,Å723 wS?,@Yspl_Bu^8ȼ#M UCr N_W *5!W8}=8"{( Oqʀ{S)|nti<9m M{¯@`0Pf#,-"e~M(.9/Hu*o"2}Gj<ɢ[C6aV:BGuwo2 %$NC̨!ģd(GlpW.ev QQʊ_"@ͨ\ƌn}EC7 I$׋Xy}whCiTeYR\Bh˽J&ahoֈ;IH׺v *p^j_f QpJ<ulz*7!!ȋ43Fhd2Q )/[Am%pcT?rJ{UsQ $QGGe u:R ^o礍} wId}9P\%y|):;瓀2fWc3$ }~m_z6r>q,a"C+N 璻gpy?B)$iSy(])JBIh<GF Ӗ}+0*&(~.'Zu>~!@|\ lSD8 i3.Cŝ[^S]~DžMgAI[UiPXmbNhn=stV kor^YkqcTP|>3*[r.I8OGO%tb!\ȫxe9F$ߢޒ!$Q n>@5^8N `ayQ5E-G_-MRq4uց{F-C ~lC4g*QC#4 H7hiCh7oB Q|np~id|DߦxOa-f-Z?(dnuzh u:1VIc+0љTRyfanx`fKrn!ƿ f8eZߤ*^4ݙ[. zElzpI{lGa XoLAm(MBhVo,sZ.jX?7 )"-JN'~-))[Aj`+ p>1^|bIԷl pD5 XqؑV3rR8n*B:$/Uva 84ʡI5{x9{0?S{"5z fY$u6E[-ND~/R-%,#_>&: UpZO_r\^1SwyyM(', HrB5=ǕgH# DZQ}$SJjEe~DFF9j13[[Ods.-->b/d/m'YiOZ1qJFN~i)5+ ?7Z>Um&W|>19FA8/B0b"V[iB~˂c |{rlĦrN "o%g@*GX=hJ٩ \Q8Ycȩ#]BP7.ݱgd{a DZo{Ej`΀ݽqpV0#<*Us!M~H|zruEngd. D`C߳kZy{Qaŧ)mdjP TcEG$})Zg~6ßJj:IcVHW^B^L+Hf~ml͋5W掬`|.M=n-8uY DNe=DZOI2^ ?B<ZxS!\:S5Fzr, S i#@ :3Xq/?:8D靑F׹Y0ι{o/% 5Qֈpxŕp`̞|LS @9*<6%:le9Z|'`)08Ts w乱\Xp"f?_J! ՈI'1L~c'v [TڔF:D by>^ɑxMRaBNn'1߳F5Z3UOg d͏?<' #+&Zu޴^m ƄWrіw_uQ)t{Zj+yؗ" kwnվ)ru1k11XAp{=/b,aǰ}n76x0{Z?6z3J yƝIxK*wqDPߖuO07F՚alZ;'U=A4Zsm檄cg(n#alNT;ΘY*}ϙyd6Uner:+cznz41]G/͛9Aқif ܑZ7|.rTz6?Q+#c0A}*һlt$=G{ 9>4r47QLxZNIRӏ[E{#PjE)?~9m5k=ءD7d*74b~C?X~JxE ^a+`4  y_샧 <~2>IBo36Sm.O6:ІBYjZ37 ̯%1([OᛯˑK/2N ߷qi.j3 HA{+tզjH_jƺnk8Trm OWW;`@^ !{d%tc,c4?$szߵ=JLrEYڶR(q&|1ܐIN58t|]?< 8hߔ殟ʜ%Ҭ3 #~D%T㢵\]OzLafT͙Uߢ,8}^:x۹[ 8zic8U޸nb7?5iV6c|]`H48qC=xJIsFu%#y>UY* eïI/Q[g{!c:3`JV |nۿ^U1U¶;Qߜ?1p\,請܅Ki#ş&ĩ{K_O#U#lPr1Hi RAj[/VLJΐ 2wS,ton'0ipMB>"G,.0b qʅ鹍_40 tüME֎M(0C?_2C%6F }g;j'ۡf@}?lR #]Ie 8ă>w6.[90Ee00릶he?ւt<ܘ)煓ESwmݎY^{k_DcAYV 3˙23H~f0!Fgm#m;X>]̅)Ľ'X +bNՍPy]Y ZFaMрV> !UC5SS觤an#z7.m^ݮ|f֟N׹||l +dN'&$$8*N7yҿ9I 姤cOWA/ @t깷6mV֑/ r]{V1 i5rfGQٙg.y$i>7~Hh? )9u eQy|;0ȴB.(3{6>h%Nѧ?Ϸ07e$SFo{5 ewYB&22ɈIhUAx'7@@+WAIS&*n(^z:亽* y>e ݕ%)7T`b$/;6>@ӡΈ2}3̳.SNB"8;z52/fx]{aF3/C&~"氋-s`2)7I [↬d-\\ 2g$-;}BuZŻc샯%ljps3SDr>{ԣݢ6 :B՝㣦J?^b$]dm 8MWg!2>Z:$gNDWQ&ziADR,OW5΂jٱ_6ӼRNf'_ #Ha^}7K P٫11JoF㤜FIp*PWو찌gk K1Xi!>wR|rھk4f#z@0FH07Sx/7M+{#O&_.~I&; z ['/ 3!`KP~\HfM4*bXgɮOh 28F}=-cVT=Q܀?_;Y4F}@K<YaI%Rq~R- 8vP3<81?bR-GO Vk(##(7K! G2OT|ym@@;Xm8SO:&0O='9MkO>$ݯK#,TJ3k|>UԏM Luoo8DRM[NXLVZwFxި:MBVOKPX@CU#C]4b#x?,VW)yy K ik1!1DžVz^[3{퀇 1r'l+aKok8hr>+l_W[gGt ԰G`7(R6/Gu=4IqE:I/yZLT$"ymٟT— ader88:onCO/J᧳~t |t4it i [*}9j0dbnv64 { W/̑1\ӿE ̐͘>h637{U_W8yMaòX*ӡ#UoIn2N^4/rs0tQ@jy Q~@`U_ԵtN7~waCJZ]a٘y`K+IJ{xPi帎WB ߣy%SvXV_KeZaᵔn`|i6lծmǎ}zKmTSDgi7!q&{ gHeXAOgpy,De-:o,C(L>,tڍ=lRigʊϖT;:Y"S DvJWyZSC u*6>G%X".q\E ⁂(l)owBSMLġhChB¯u%x'tOzuQ^/ LBHݑ߬wB+oOj$"< 0K BCs7 ۻ6YtBμLPh2i7R."vhxbGX5ړ9xQ5\˶nsTJ؉tbYfT'g#6E)WCA $Lb4@j 6̐S"8=s%~3dk BЈ&% GX ^&s6৺4/~XLk󪖘wr&99BjS>.F&1aŰALn Jz*"Y0ܣVZ05e4Nv㭬=='s?خ<#KE3=k5ȈT8qs\y- }r/˵L Xy FPR28 3BNWW9'x!qcq􌫇}Y'T.K nvѿ"A>̜2BazP9'Wc%#b1;ETby,WǹVӯx[Da 13-tN+a?#>c?wu|s#K-;3by!mW㞛K"-sYi2%b V7qVq@l$']Ҥ'| )ȌGiU%R5 (9E#\1;zrt,荋uT'o7=NOG5*|},ށE*1i"mm?X1E T+dC& #pJlzGL']Z4 Wy` r[VnxiH1ਟ;x=~rI_o6jLwjmVRT;o i;=~ ig#Ia\*}s67Oqʝޑa76hk4Z1I5Kܑ~6?v,3y!s֍G,E03M4k%0O  -,#]__VV0k$EGW_VjQt%R#3d?:_8c' S5K[f7 0 ҵQ &f Ru0zCK~SuǽR?7d+wpQDxJ, ZQњ /..1s?aMcP{HlFe8ʯ"], DVUЍ3=2ar±,lʻs Q4̋NM<>րa6v&} 6F5CQ'|5 0^)ij!g}bwxF_Ak" 麝"rxא5Qēcm ؛n6έMuC~v)[ܿ^4\H+dGecNRM2٠]DxWR` TgyJJ@4ȑ/ZaetRr 9=5feJGt[hz9b0v2|8ҋ}n7K{w#127Y,XJ_|kH&e7\"(`migtë24v4ai##:};C16aI)8//82æA_a1yVD}ŷ }f 'X6s1q..=45( YR\4z 0A3jE~R ℧|i4>b&D֒Pu^T`Ӎ~"z5QJ8 *e<$L=*DjO8]J{\jW @-u%lD5.|=tM4:CsNp`dJn"lnDhHѩ.9Ӌ'OG6緑1nK-灃u$XռEnI9p44b2hvpЦ<틿Mr]P ]xq8]Jˀf.66J[$L}~ C+˦߻`swl}dB*AyWSGۏ|T#~mȌe5(]+ NۋTЮG ,#\2QO{ ֪]5"G5WWUݤ!(vɎ*V`S{ҧDtDty?ėHe+7F{iZn@.Qܭ*̜Ǝѐ] R(]"I~uƨ%tM{4G^"̽( PS6H,@B(&.FihMMmKe),.|uϚD#$=_cTCg?OK$<}au.rd\OEso0 ÒY@GC9xSߌ?RMYI EW|-`Ym%VcKզ4FY(ug o>v )v 32!>@^@WYd;rPPxzþ菿'b5Kbt%jC~%=o#DXztdR'Y"=3:GJ XBT _+";PTi UĂH*Y1˿OP()^/UTTu c3cpI bODc, D0SJ-Z._Ѳܐŧqno o$~VI K!IT^?z-\32^x<1!Lj\ׅg dZǙ|'tp^ڴL }#Q2:Ig:M^E]y9*c=hxm"K(v[‚bmj7oOH v́y|*$UhnWvH}#]D1z65:aځG9X(&X~$/ y8a)['brB߉ds&'7'w}y=n/;/ơe貋o;.M(]Nّ2UIjzO1P}Q?o2{􁷗<.Ypgr`{cĿ_kt tCFsFhUJ"~]ڜʣnΓ-YVB2C08CL^p]֎/3$iአ;#­NE1pzK^4{Fb]krfHHKR55^dɅF's¯ ̩ A|MVx=HnL\~4˅~K4Co.!uȡFn.=;Tʕ_sD N?HXjl;rG+3qQ ^)V4r@JIuzHC_aЈv!%2CwWjdrsg? ~Z"7d2 #?:7f3_J:bܻد*Sut+C=C4*2wU{zu{^QDRbYxL~`` ]Ϟi w0P;"YtHm쐉E̙Uo)3Z)yZR]'e~$Q~\ɩO^R5Qӊ 84k$|E*/A튙?p9!nhe7S>aaichwq]3|%/h9H| γ@gDm^g#ӒG u- δG^x W;?nZhb/3t)RokOC\ȕ h(>0p^s/L]6Htz弌/jVe\/\1 t/ R7̓{ m&wL c$+dYN̍ #s3I0D{L=ZK׻?]\w^=*w6`pL MH~HcT 'Qt Lsx+UF;ᵠUۜ KؓdE[޲ IZB) I+:d.z_*- ,9ҔCղzSG^ɪCǘǡ6W49bɦ6~")m4H,p)'{Q _(b/",:/ 4IQ/kKw=.ݗ;K, e)A4wIc8[H rdDJI4OXZ]B'#S% P@9'tF<, o/1gp fWH#p3e.">:Lc9Zܗ iǯ?^{qd u{L0Bl-NI  ͍3`IorF#}!h1XCC2jĝ`y E{`3G>o&G>ߊGa2ziyx<{θꖓAyo4* 8Ě3?t׽Жi!xdoedO[sv٠jp{dq8ug6vp-WOXv) <^p]XVW52xan7?au/8 )ku%ڝac %5ҸMelMP,i$An;l?pr[V;*&M8E {W~TI;Gڡ7!4'Ύ+ոxY+?hJ3|K+ HAԚI*"1="ap2>.^*Đ8!6O'?!Mjk,ÅS7i5m2f IJ1BFy$p@ ]0P-H }M;V$6/LwBw{t LnNP\V}넌P9f有^iaK*lR]*6Tˊ\)a-m+.P7c&{y3Qz.vxO-fj92vP͜#~zL\J$IS"xVh36c *f^ߠpI\b >ౖ}=&\ W5fᜟ&qĻXGM֝:=)̇G蔆d->{ZX/U- %-c=q/d^oN!O<\{U׸lVNى!.)iS8G2oE:PE(Ct'g:?d7wz-בaF;;!C"}3@%JtFg#-Fmt!9!lO??tIu̝"ƽspޚKB)CN!^CGaDC -}/ErjN_wqp㐎,=1SFe/H"*FaaN0|ا2A !AC.xr)1 ^*AGu(?/B8W# 9߃1oWx㫥h%"ʷ`fASi%<$ww|hI 24-胋ڎuI &"j۪2O'a$3Wb_h`q ՘*nUYuamY;P_il搮|A\mśpM+J(rz`nB\9B~3HnWA{R}m\b^vrŇbb}￉_\]&G0o8 аMz A.ϼpOtNy#tOO[o̝:So,!^z'WMS-Os=ARkQNA1ۏvdբ Wn" Ѿ@M݇,0 [X[e%:=YnLWpjfg2EͳLx4ۃ%?',(/KLpM  |}L75w~ueR bs`$\_:ǺbΪiZ3Xfjki#?L%%Va[*xҤ~ i;H@-se"!OX>h1a;zUJʏn27m o $bEgBQ^16"W~ ]+(oICZC(;Gq0/Xojt!վs17XnT\KSDdϏw;'-&/ NxRcVp^?ֿ}Ai ?b#ܙlH tŮeqNw9e34:Z; & XV$G ^R7\!k< w.RW#"o6Tnr6K+T!H9]0ioe` hP) sş7mPpuƃ5y%XCs_Dϰ=]1)BҐeݔ 5D3U ն\҅b{V+d}Axq.CKKe.ILq$2.A4v5wƚ@VjEx*$" |'@:_F񁦦.veC63~e Kv RG0 .V]@'ҿo: 1-MBo u+>9 L&%-QfB- qOh8v(l<4[i`mut-ssVse([l:,09x AQe9/?4b 'iDkE*4Nb8ä,.8|- 9d҈' lg3d}~P@;? %%dFֈxCAAX-e%\=Lt~ }ԫ쌧}صq,׋7d_!%CFCq> '/تU#*LIkpK , D0;E24M+g r/N|љ&Q&S Kh[Qـb<4YP/ME{ E=a*; ǟ@.k'bsՔE$ $ڜĤ$i j"Lq3Rj4I:л\Xv{\ʜ Dc3{S2'zH~+̻9*2cEBA?YK@U霃Og q50* M3DS'Tǧ1 :A@ fg/AM%r0ޓ- be}d_Ɋ8өMPY]ןy1TM8d&'ZB i/Np*`y.>\WfPWL!SsqUsk!D8~sso E.wpiX+'V?Ǩ&eĥj#H <-Q=4ZNF՗=E0!ƚåoЕ/+=6olS=7OVuJ1x*EL7 xz1a_ ŮU07o}m|?aJC/ "j3wA|fh:`O,"8ʹf5Ex_( w6qr]wU zzaj!~42yOyƒ>w!R2z6>퐅[f/{|ס%7M7:DB5Rh&٘d(*7faK;4fx@崂"c([n_H.Cz ԰2Nma$Y1Bè{'%r7:.=scP|h/ wN1i{84%OoH:V&}: >xUua{B V[Ѱ&%I o6[7QNt4r*JN[vKo5m+ҨnmzX-PYՔ DrXRI_J2U׸p8RōyP:! >If񥼁}j,NY?$&qͲY!ϥ~ \5<.ʼ䜗vMk1(sʗ`?^]: 3FCD5@% >QPW7ɾMSy> yg۷"V{g݆|-vI~`iS#K8n|&dUs>Y'V?%A&DO&߀)\ZVSs ܨ!@/(8A1 ssK4a`h|,LGjmFl P.f e[ݎ"OQ1mԡw~PVJZha< Wa4[as7-ݹʰ IO9p0>wNLjNFDi&GcE:$N'~M\I2oxUlnڜu m}WwŽuVh3O&essðj;_H{\ D( W-EAʴ#c g^j[7ʗt̩}ޚj]ob;EIx%eR-a8g_7;  6H4چ㶳r֤D -v؃u./^-47/+ҧV}M.uDJ;Q!a"~s-GGzR+A-RQIaRgy1sGoXJN(am OxчUi%zLxsV>Ӗ'B]j@5& --r&"-Ef*2QwDeM6@]eZUta/6e(q̊q`5žd0G K G@5t063 s))4iX/v+Ŕl!L 6#Q2.~—+s`;_b,0YY&#SHX>;E`9W 9^0,?O0h!۰SBn΍N~y΂;t8ɶ гہ肃`JQV,#yyRҌp,9[yKR>QcSa|nj"9tm[,rR-`t{vziujAb$|`DrlMxȰgT7OA' ҉K6cQ/8]:0% \`mz;#ŽSsU:y-.P-Һٹ7ݯF1mG@yG/]Fo&+/jٽ|ނ1OwXvtWfJKө5}; p G{ K_#+M$uB&Cff)Sd-#!{dյẑKH!B.VTk$דykE,זƥrUz!{ET:C+s&hC?_ȦqKW\d6 gw^{>'X'nOѫOɽe9ac ɐ-5AAo|m9Ce`?R+g3B{Sn']IV8:)"v97wUV\5BBh|. A`n~|wiLM ׅ%FL OB_Q+'M.پ^6Ze$p>VofvOMtz.`UEDP4&(ڬJRy-srYK0p[!}r&&yOV 6OQ*!Z!S zIޱý?''MZ/=xдZr­ha} b^?׹>!L f 5@~ux t@҅/,NҲlBFҽ2W_/1m0Z>3(Of 4\]Q\qYJgL?E Jj]j ;K }t #$ͽ ps9Ťm\hFXxXb< OruUK%\#6kB5&IU7`I x&qK6DPPW7/NvАP?.5qu²!U}gֹFeRz=}5FQhCcP%D^t^񁞼(ub 0Bva7jkk֯\-aھXmWdcvcK٢3b#R~Z9Zx!> cv>p#uSxGlM+``C\F~}}Κ};V[WM(|AoNtWgeS@w:DJqMg/ :8h2M-&mz(vS]? H5Ϋ;9yYo `_dVrPh؜nCB;DᅰW_9Wv/09LGsxiޮI|A }iS9DaႲhIZ(/e^̌vQ4KoHƇiH`Vw,KP ۡƗ EjsѨ#glGq U%8}OZhP2/@r*hIOݑN.o76&ez?2E.}r~ҀnVi0T`HfmJϕ;s)]O yñN$C/\UEY /Ц9) 1;iT3+=PPYo":cb$o+Ӫ,϶p(A E7KG2U1K,ho3s]?`^ǨˑnTjk,ȳZo~}NI1M߿̂lmB1KTބc1?_/B >;8,hgͺVoAf;UWaR&iQ$ee%Ӭ,_jHľoȠ"+'ڟQ?[6'"q  d'ؐ6D-.3y&tH:;eaHv[/bY`q3ntAg/_F̚jϔQCyͼ9ۼ#fVKy{VV)}1''jX !Ky1=j~ $?_װ4+jƈLihdfeSh lngbdTm゗Fu}28(_<Ī%G N:Qm-nvr5QkM򲲎?E]55V$Ab,H`կ[޴*RmL <?_U){w3jqki3&ɳy 4B'OvIMFY`<JLOci҉0"݉f ~QWT -/?dM ꎀ@_7tŊ_rۀ0\x]7^' !auWnRcfq0PDZxLZdyuKIo7ɳ#%C&׀Gu" Z'1NsEg1vCD<Sc=dPߟ=E$f_;גb%T'b7$JH Ϝ^;`O(ˇp^) aM~מ"2:V ׄ=/T["as3HC=8!MX ~ԇZ䉈Ib͛G|YDj[0ů̺xO̧8e!u{yr&twc^n.vs.4IwG<6vn -wMEr/=I4;|\ Ȋ[* x*r\c]C-s!5M5wPFՍp$R |`2_ι}Y67^]"F0Ѧh{N呲HD5oK‡aDm|:pPM-$A9(j^@ Q.JyeiZD7=Nsfϙj#: ,338j QޗP:h_6;迁o1K3R8%+nՆ} B^(y^aSEҿI9Kx < qUu6^dB?6FvW1B:BG|Z0s ǚN>,dx1%H K3TCX).|XI6?Gxm{_h_KI"Mv]ma 2gӰdS);M4:-p#^az2;ͧ~=S֊EȕϠP6W$o!WEdyran &~jLkp\iYjN0!b5`k%?`t FՂ2&%tuJ+qg4$]ݫw dQqkh3%9/LV?FgQ#LzIK=$ޥѠDřJM1yo%-e#+nk9_;\,n1*7FeLCx*oȊR4s2; !O($DzHE= {'<;< ~x==ӯG|KO%m$=S }z T_ ' w܇\O~A5ye r{3vw~IG^5Z]hWKyqS{yQ*&>OPW`3k1kA!NJgNe(=X^cVpPϟ'$ %wM"1 ѕ;|V|4&~ɤ'**mg|Nb~L@4㔷= {ÏSƭd`-1b˻KYTrS*\r̕/el>QU@It B&C=_"< ~"$d[u{֊p}\(|t|# eϯ⬞}u^vc7j#a0Hc!@jX+Eqv1|($;ˉ)rvXD;&~RmkX}G4ꢥӎ=W@P~Vހf諡$sMsx+m̨Yc~!>qttzAf*fZ)=زD$? x NfKbʷpZ;@?% h)V$*"B: ʖ4[᪌!x)AszIܻz& o+cuYh]abP m4us_'ǕmF508AcvD?qk(r#Ut wXW2<>Rq8jVt8cs=`-~V 5./`0'! 6^sb֟#yf { |ƛ*J(mJiwKV[(d>pH*c1h4?1|OrurlDU##;6ϙ m4״{ ov}qAUlA)[dnb>`_kAfۄ׋ 7} \#1F*XknDx9?dAY2!>B|>IHEpץQ+/·mŏZd[qۅRoKNx"`jb@N.{i,e= _Ub%QJ-c;` Iʕ'4R20mxC|{=&՗4e/֮ LǏĿK.٩sLXlm˲L煎n!ߧ:Z6;qMsIa57R=[vteRIe܃ ]zBYYyR'v!{xVC\'^!(|3pF*Yban4 ]xXZ<!۰l:uE.`̀:k i 5F*T_9q*yg}t?\T8 yI&?f]l7} G:(L,:< :G!u/8,ldS~̄+D"xLEte \Fեzfރ=K`Ȟ#O5Jٞ5z&āydA\dҕռMǍlk'če3tkk<,4wǒ .ZA6hz(]cZZI{'ls; " 廍3<1%)J%{Tc҂2ᰟgyR\L:Z=ݥɶKWЦ9'Jrwmdq΢&J[k;d\c=cRUQ_,Sش wԠfr]0!8U=nnK73'R!y9Qg]1]?Բ5>⤴'!VY(1[1_  >EZRz\\JK>h_=sPmz&!TL *iT߽hkяfUc U_Cf~hLX4uۢz:qvE Eqı*|p9|2Bnc ըSYA^1I`im~5bM )Q>_QETf:ęv30+&pqYNomY*7z*̐|Q߿( j!eVLK]3A ͯ|*AވzV_+Ay>:`JCY)|PX3q*#$(6EuJenHks -ᬸeOˌXF(Hb%q6QT=*z7ВomKM|45UG1AyWp eg1i"\)VdޞdbX#LdԼ,)@v>[lO"ކ~^5l6FY׼g"+zueW4$%'pTd|g]0u^rJM5Q = \I{{1Jyeo|jDs?'CJ Kj}%;_{jt:Gid] N#-lޢ˓.v~Q@ ˵V Ӹj/ERNK?[q5LCj:5\SAer/T-NT sohQo@*XdYn%y=9H+P aT~KQlO.X3lrFvA)X(PM# g'ttnl>6/)z$zH֒6DUAE4!W6cD ^ͱm:XüǛ҈HH¬~d\~+ ʹ[] 61PCY'ɹya:bsQahWyZLqx,$t`[Sa/2O  cL0ݫtmMm>QrXH &%^JD!xu =&=hvCh嫥X?ս䧾̌ǝ̚쇀:T>X4=qDPx"0e?( h`lB&K JxG|߲ dc z'ں4\ds&R_'M)瓥gb1\G:|!ą9G4 v^nڤyV2g0 t<+GHڡp͚F/n21Ejٍv' MV9Hi+סyHETٿEHf҈)m N܆A*i 5(dij(ҔSE#g`Omv\~elʯDžD5.5t%Ք*N<`$jz쥉7GJ2RUsE"m?aO5>P[dhTNX̒1х J0)5 6܈$` (%˷ߺY1oe@P B3k eeIr}bZ[ qI (p>3eri=miÁHLٮOB^Wޝ'"A>U7刴a^K/K NZT`(~SՇ|ɢbLpMBsZ/Ɉ&NԶ"-tEh6h}MҸ{+Dׂ׋ǡܧz%t}ayCሂMLp'[Hy#;*z톖]Fx+/a{\I$INcͺyUb>@6Όg)o˕ I<,y)3_3xS^hc){&>Pq7Cixޤ|34~^Y yL ^biļ# mEIeJUFgCz3W:fJ2D.~ih2~VօdόF`$D97=3jU|v}/9Qp?,P >*߿? UzOr$ IKQy Q&?Jz%GC@r}*] ̿ǧ8؊^F;jny"IQ!T.#?FOOn Td):$a>l[* Uɼd>y9q٫y'%(yO3YWz{GzeX6ҏt(7o.1=[}EmmSA[UFFvɸ}%|C>(E,OS%Qۨ@=qBh~ՐL͍0J q'"Am:IŬ]ʵi\:D>]l1Pצ^`g#u?^sKũNùw3̧5:2;dSw~38<\DX݃Rzli&0h95MIH(Vò]L0%f LNk=BT|閮Cpq(׋Mbr+G$}MDQuASq/X H3lsh8H1גdyW)7ߧ]6_}ˌ\kaLYpt! +x#+QI{kc{-fn%_-B͈~ur!pnCL:HK2áb XO0.5y}v R73/'DW'VJϺ&`ZPv5\חCZiXC`xҵhl^cEZ/LJ!}[SCI#6]u2 ?T^ ͨWɛ~-B:' -]ٙn~tto420 69%)A.(N -<d)JWKNxݍ~Ew:o=53Dw%eMK1YhQ7D(v"c.()üЭ9 xoVBU̖&G5e,LQuQXEd,_Eg8ը ,*hrW,gj`“;U 9(|1}xШ|w#ђS35++WrG5iHCͫ|+pٕ;=dR2ӀWy܈}HBR7ô1bN{[xv'heD*h+xf$`W)Ca|[l׺yRXf΋a[/Q7Ss-tpZU0_KL/7?P=^eP~dh8.} pRV !^.V*p\_|$B #jr4H%2@L~bAQ'R%4Mơf` 3|"^ }d5!4Tc1b]#^[#7f&\C"Һ'_¹e9CKx*O'MII_{ukoFh %N#'# *t%TFFܭ_ URLq!or~g5 \<q-"eb/S{ =LBϊYMD=HfǮdk3m_$t<>)8%> 0*h-BT&"zRS@k ov=ɽ(x_| du- "blM]lm_֖c6QM*]PH᥎;"SҠ[$&.a:ѿ,5frla}Ikwi;=~7²JBe23jU^հxŞU誤r n/4f^PL]-? ;FMʽXq7I*S&:+ђE#?`l"B 2+c+o_aMvُW[_JoX#mp^8DORk2t AFvcg/L<r Xؽ, l:D[K Y/nvP꧅A1H6^ U5KoT==/Ut*X W#]Ï8_f?CHjs1xM\ѩXU4ّס Mu WxEaHwm}SVN~Asst%vWp:dʻ[[I\\ +r\$X1iH}t9=}Rxdi<tVUzTv> &/F?<{zL!㦿S- [^J)/'lj+~1=""9΀,ɭ46ML1LG0A|ϘCZYy>]ח՛B|*ElL7Z]z,gYߦ  I{}yfamhqcLZ@ϣD>JdlK3c^;ʩC',SNaUfQiFbliM{+΂XH] ǥNa6(l:Iؿ.xcg_;nlus}tFDӓGF:i u4Q s}=*/h{͙fZ渨R=K:V߮~ cUs游"J>"x)+fPK/?V|Dl;7 /}{wŨS]qbKM]r'>I0]5Vw:p#uw3@L] )b_X|}}2̚1|5sR@0פ^(.R%(b^}-D'99Olzԍ//KHF,1zn5K3x7OаћN\9FLzHã q\A7P<(=29W>{1[Rd4;tV«K9X8(N.j t*ޢ_ VxDKiSRj'1ڋu.';0)w2 (~Oߩ+LHhMf̼tdxl VpU(ueZ'*k\|u'UƉ!uy\gr]i߯z8IA6]找Ӿ:-kHz80V4Vk%fLy|ҿ@u⦢:mEA N1LT8$#g{{h~3"We݁nn! %h~*N-?$.X_WS(6&7v18p~Ģ68,'ƥ gXNᠹ߱󕒚:tKLq"O€?7iI7{2Ti=O.Hk;wyT͚* }?2nYh 8;!g_5Q-މ=F ſ=\v)aꥻ1l#{+R%u胹xRgm b"LL?/M9zƸ q- aU@{`r3A+BN< cCh w*&O 2*D|xzpIr^ۤL#/{Ufx\v鵍3m~n)>_x8":i\<|be!9:J"0?;Iin~][p5=]~H)f@ۇ䓦vCuhFD*UN<=vַFz3c-5!BTTb:DLU=ka^6$%{HG>D~Cȹ,i |GYuDv* r0;[n:\Pex.y ]t¾A>4y-R?0`gL)gq׊mdm44ÖBЯĉmdK=x*ٛ^ZLHe¯4 }I%hJ{)L+Z_ UlaF2t=Ҏ̎qcLuՙ(}%y6ctm*;P]kXy ޷'YH,?>bxqAv< sa}x<ޅϫ %.ylt㐯e8'm iIl3tO5(SIFA>xe!ܦ\&FmxqbQ%}hx2닲~Bb R䞎_й^ Tbo{#B?G2Gn3r!f.HW}6 U>$!mu0ɭ%÷,<^d@!s+tuۯ9AO$.r]UAQ O ՓwO[!ܤ? =+HTqU/D$-W~|ɖjA_ܭPDVVlJά󺑘* k' "/3#jkr&gm0DuøM}k!ytķu@K9pI_ U'\~%_HxmYj~~k̓L[c,T|g.c/r=iSUkGX.mU50i +މwZ{ul#\X@<)eQ֨]MD൏`$ס}*nDZ@`ϼO34s~A`ll̺V=>FLmɔ" LywpUڑZVM'Awbʲy8"Æu?_BNq קqmw6~?? =DW}N9̟"M|Xj! Fg\7pRןR~;S>q&^DBy-EUՎ~2:@o\:yXv:v$8 hu -TjB#aIƒݽ}vxm s}隗 ktrѽ?k!ğ3:5IG249*ϵe DddP;H`9m~!FZcKQ}cNmGMW4ݒRL!/s9Bn;LMJrZ}szEq׭}=H]nZqR lcy^쾮_'MŬiT ܃"UF71 +}ɱ֐VU5jgC;)G"IB6 e;=Wa?d 3- pa4CPxXrVؗߺQb>N͕ࣇXҟG"oEh { L;wBF^qM43hmXi'덂zB0$Q )>^q*"2bp-icBF=Pێ?F_A6y/|BȄ[ 8/Wo ޤŠKЇ/ᙅj+QRLq75O- @)̎7:Jo~ 5xUb%2l蒠OJO_I ˗3箞#Ľ,<'wТ]( 򉍞Dd|Qb1#Z#Jnڟ F%*MVU7 `=A79.J˄bk]!|ꙢN"["bIfqk69ws^Ug),Ș|$DoWg"#XK1^r?s6aS?P@S- D󖮷HVKmכ~CK>*< \%ށRK%V?΁\гGQ*O{OP}mhJ[Bmu736z֍WMYp3 _#xW .H,_BxKu ~bcmixd0n€%"vzrj`.Y =_NP#xI0i?+yx*Mp X)[2 ;"~%`Jt~6'VzL},PbD"& K'z7xD@P༊Co3 +[Neoh%^YIx:A2iI/D1Xۇ9%i-V #5iҼE)IJ|yܲj.yT503Ѩ ? .Ol"rmߓ,2i8I8"*V1+JJb/Խ$IRڢ#!jd%~mP>Ȗ yslKo.9xn.f^cN tҋ﯐^?t$|2}57DJg {r=0?wyERaZ8>LOD]ȳblh2.r i]2;c喯XK,i6V-!kf~ؿ_Y#IdgSowbz( "eHOE+ؾk&1}eZ kk1 k:Ԭ;Is y؂ 0 -, YNpjwrN_/ n~/"b 9fݬ=/Uwm^)]XQZGÎ|1 Q{UèBO.pH6>mt <ķrjJTG1>Efc.PY?qW5>;;2X D1#t"t+X& }e {z> P"aYF)Ęnf47oӳ .\W!dFtb_xu#[x1-렂R  ؘ'QV{doOWl[C"3A}TSz6?X~?OT;JЎκ6u |i~VRMڜaMaՙMf޵01hfqV>4:iV jfz)p(iNpxi$_|,3N/݃!X OiSe}=F!d]C I\0)qzѻMe Y/5Ʈя̹wX\4,`ZuG;]Ъ7X(7(hb8dka2$ЈQug5xHR}Wt[Sj2JA" ij'&^.ڈ~yca.\?NTczMT"Am.'Ir0. 5xT7W%V\EZ 7vAٹvcip*鎟*5 ;9HD|ǿ(cOSiMR-@*M6Y" ^w8}kÖ{q=LP"\+qm_뒟:nRFnbOؠL{{uDΉ>7UxG/<.W4҃t] N8<jƅ,E9tRt1Hũܶ M82\{SB@ٞ~>?O%.Mo)WT_,.pY37n0vYMvWIej 1Zg%&dv)#= J{< #/=2/|ɿfmau̾.'`c'Y|XOZ%4uuH]Ap2gv_(5{rdy]"Wߧzd,KV~K5[ Ȋ^d\Ѭ']fo?f8^!-X!BMzS7ј-diݵHE҇+f!k Iۼ+0tey>lQ+Xk >fl)k73:԰=W+#{^@u]c})6'lY1Szy ?ȨHN;IW8{x"uaVgWp_z+0z1뉊 1uB `-K(߆Oo J23VLG%s\uc@TݮÃv%^YR:b[w0V.2Ѷ7Db@;Hs4}Mwd!khKxz@v ѧW9}ldR*eȲ;Kc~|Jlb^Tc?x!p.(`ԝɗJ]2d:MW@ޑbBJ˶SCpz_q@'k`vW1/lBdH>w|SB1"mx"kGi&.΅xwd TD50}/>{X#ÚyUōY3b>ûXIE 3A Q]!ƯTh(TM2MK(Ley]}7 o*+yg Ix%zn]j2ߧso 0h%.srD첿f81FP[Pg;qWb`%1:p/` Eytr8Ԁ&B fNޯ]6RSiX0UQfȭ5QJ<+)ph 㷈9(@* FԿTĢx,!QPk.D<8^= X-FWE$91hq$?_╝^zhIS{m糚_' զdћ:D-cי1Oף++P { q{JHɊLxjD n ABf__ XY IEk0/,loRhǐy~"|_. *ܣ{ުr]84.-J>[ HA|edI0;#=LAYg)&z8*T7ЅECVgߔۜ9D6cqE~$<٬a iq| (;ۣBت.Iv|Vq ˷vk{; x_7@m1|ƀgtfUڅ9'"v?ё&=$(K.K M½J1iۍO25L | L&k0$ۂ̰riWT@w@-п;4'N GcGF!#dU~X9<޳4QkTdw9١Fy(|52elv q ϭ~k+S_ОjVBBhZ@ݿr_IQ>Xj, w~4K%-Gt#H^8S-~'L1|HqZfңk ;/%F>&&*/Gl`BoNKՏ@:ސϒ# x_@ߥL'`M 4y&k@A)rc,#hqskFÿX,5>$?HNZҹ[t{I􆾂OWNa&BE$&_oŒ43Ӥs(C^*uw1ѻzk"K/K003³heI^،^xm%g6ʴvCS0}H2OdŁ-ZBjr/.Y) n휄#"طGAnR9rq&3dl>_#va%bKm5~Fy^s|S~wŠML7|r8'۾ҝZţ|᫕W^op{D&Fϗ37( Z8 Lrh_\S Auv$e,|(Iύhۇ?yu< g+ NIy҇D񮵼?|?wS噚 O3-{] 'KȀ,8 VkUZZ>mbR/:3ƿ/;19Б ) 'b ysei>{S7Jb$E2sb8yr0z Vu@U`§bAbԒ0R %{%'ߺf懦!Y߰p+ O>ARwyobIZ"BxFP{:t֦\$'2@s3ʜL|f¢>=o`$9YY! Am,( R~nx7҂0:v7{1W-y tٻ&J5 K:/IntXjuq&bPus2|*&ĮĂ;9mi(Hr"oʓr|KIm= Yc5q4DN@l?xZ\V|T1@AW >@PJtHMu6\Kn7Q͞βzpzM/X_sF҇=4њd:=.CϬjʦ oO5ÃgI;|C g4\ HظT~ξ|BO)y| @A{#ihd.p'SϪp(XY.O՞d(_qU5y6h/K#4@Y_"v.^IqQD>9ܠH̓0+Is9<[a&G%Q0:㙎/Z<6X=uXG}x:$|f ΔE"a?s^΁&vֱtLɎںEsf RUL=""]#*fM:M:/* $-wlk2K5:R%^*3σ#}Gd1# ^?#A߂G^ɛ Nhv=!0Y^փqˬns7"}?hXXzIyϓH{^uP~.`M/(gqD m(4Ydޱc)Oq!K\\6aZ5Ԣ&R&m`-&ȃ~ %jғyKKFڭquW(;!DS2FW)5;XPe?HgY mty@xTkR-qr5"MRmYm{끟#wdi G޴9GJH"{7}ɕ<::&_WlPh{/Lb*'T-D5X 'W֩A A3-)6OI BϬ i׸NUF-Nhx<Gq$\=/zJZ\O!YĘS@L1LvaA٦H{M\??ȭөc>D}>r .A+mj*Nsم*=n{V^}|N"`+L -M,HuLyWƴqB CYg#_8?w;N9YE|(.͵zz"2 :F!PV1lL9WU?u¹W~jI3P[V'LCB^pHT΄^{p)pvz=bFg#+%^ g9TR:zsaDJ_ow.q ?TG2d7NM ?F]מ|$&և3ۈZ<xČ$fNmbuz:ϴ"Y]5@E}I!)N(bz`WTuQ5Gi#٘2?I`wQwo8 V&G\:q 2eKÍ ݾ\Ƨ+8?jp9J6 &㊎Rd%.Gn8q#k'rsH f#e1꒧ .L(EG"_uϭY l|;jrmAF7_7T!0! /n N7"U5j5˭〷jܒ6$.uߜ"ΫK#"ۨ&~R^&Μz8"ϼu-jd=u$p-h#}{}2[kƃ{Vz$Jv|\Ó .XLd 0|6 1bg'28GM kj0 8i+d9\_:iQ1LY@_S3 =t{W# O>?'(} WD*LoX;v~ry#bB}K`2])CL.zhGWpppW\F2CY䗞RqRiNuQdHDXXGIg?bI` ?qsAI7ڧJ{֭0(x;ѰG%~K,v0`+ }*V '"m> }R]ҹM n urrL~+q{\?o_mϫ괸KK֋*r|>^y2u,fagn*+ \ҫ˗1DkԷ,Woi)E"YK Z4sxn d'oYW#L}EWi %@E΂nPTfs%ó\st0)7(p65Qԧ0ю9؇\@2RjW:|Rz$d Lr|U(cGBsŞtN}55PVDi&-(յ۟g]Ȟ?i`t,VW - S0Bi@A;@m̐ƉXFڿ:3}BDwDI>z勨i^ &-4~r\2!hJw* qL?;=hN]-zkB&QOp;<3_ R"Cep [ԻkXBCn{QPfȎ+P [Z8 LkU7/󳥧nsX3 8B?7ի$+)qT [GמƖ/Vlt&dvh6' bNr%Jb;fdP^Wmx*:8" 4v~l)kI'hAO\"kl@]MdQ["s 21]Y$ Er%}& Y d"Mx`VH5C/z¹'T䚿)_hW*) =lEDM k:tVx7Ji՝?[z]uDK5ҳ5}5>ShIdٕ)jȁ4jA'wՏ'gBYw“B7%9yL[k/v!!bv33?Hzj6xжyqu5?(ϹAfci!p˪A6ܸt5#?\6Jka%zQNdHLOii٢"yY0#}Y=SJL>>z.:% M]R s81aU@3ܴA5D݅Կ|puL#)3_ #\1Jj볣g`H<+(`arc?,RE[6,؇f;>yy)GR4oqxu@3R6h4s_K>ymgX\[شvZi{r}Ph:dimuGkaeTnANN? rW;m^- *ZLT1Hɇkz̫O /2Gn?&H}-_E~]Za,x~yx'/2;G2,EʂZKsP#ޠjkd/[H^~ qNMJht Q݈~z?vH\ҿZm3$u[)?5y_Á3n~061Y[s/ζ".n·;?%RWҰOx &V&xe%?7tq^OaM[L´=2H7NXȢ[1:mjAL`n[$X( H# .6[T9Ac_-2td)r4ELT<8@j/M|T,Z5](O1%gs*AtɄPM lG޿`۷+7dA}0.ꝁ*Ƒ3#}[#VFҭv1D&}O[|AJ}M>M Z*I9`= IWl?)'ۚ7t&k8^TzP@/0V4|q2i >[)btzmHºiBR[A`t 9 $vI6觑bnc>!Y>0=ܨ,1ƽ3|Ӭ*:nRcs~4 j`"gzY#(6X}bj(ŊIyN<P4y"do KcKwY$ ,GaP]ikne֚ ]%/[/)mPmtC$zW9jcw-Vkb2OjAlkfX:S.%2XF9'$^H}9ɽnE#׮+~5t5O~sУtԏ$9nq#e8u3Aoy҂9x|;W b$!NTa^a\n}5)gQ=+era;TX)?\M)׍V0L{t_+q-b>FT-2g+86nq'k4SZGY jwwS~MboOF9upN}O*(g1o5̱#ejsPvCS*"ۓF]qEqUSUV8syK|FKT ݣZ[zX`c rȀ Zq6Ϫ&0^neB$0}- pz '1mmJI1]; @9gt<'t=r 7pg4 g 6 ʕI{?VN)LOdzie9XRCb̀A rA;AS2_nMcŠ/]"`/Α&OWvx@CB>dlJDZ`,9Kw*W9Nd PfJǁe6`ӈbKO2˲*MCj 0mܚDp ݘeXZ7)zMgePk9PRH0q+0[;cB_K5>- ( 3 YqtA^Rg}4amskIN$N5l J|b"uCZ^u|-mW~?EÄ85s't[J;wK݁LhˠdX&a?FRM Kڇ/*\&h5JQE\a- >/ uAgOA_uoS\@5HU3-֮orY8=GrQc.^}όL-Rr q ˭sQS Qt** "%",ڙT. AmCG=HfJҥ҇KgzM.*5tō;r E?ޣYV[SH )S+̧mi8'NT +{̕>g,5|9*ы}p39r}]QKUw  XױLVn;~Ej1Zauf,B Dbn!.N٭IUGJ2~]AI9mTrȈvK? *>9'UԴ_\X`=~Wa;Z:5N'Meo%D{U[| ;w I0㴺 p ́#_{}z].hisNW]ʀ˷|7/.)F;My&:qe:w'J/i#\$R9F@mi:aCۼf ߗ٠es}Pӯr9pp*cDV$h> (DfYʙva7O462gMƍ}˪ܖ`*P}?=md`=RL@}?qR! *#cOSCkNFlh `7g%x@Dtu`m -d -Fz(_> ]#+B]8El壡 zX l*SF*vSTNopKCn9-<>GE Bw(̙=8]ԃ(z7%,n!B8nI2\~g0=@O0 Y")?'Z}7!D߷rPCKϺzDM1L$&nMtL*&'`jꝝGc^F髄]&,D0zF*tU_N{HW5V޷y9M.ʱiv{=n`KwIhb=^/>B~]Z]DfV-6o!,S2n,?qOhN)}71-Ix[͌G~@;&&Chdݳ cđN %_6m*eGWufO󲬥O5limȉ$S9(ݏ) Qhn9n?/u? rI*?W %7 _}{jۣh]9e:T5DU`9wD"'khbCZ.ի A5AZ0Z~)j:6+)%UNOOLȷeY*2 wNAJ(=ZtFѰ/jഞ“l +K,Njɛ , l- pmt@ӱC٪w!%~QquAh2&O{`:1Y?.7&/? IBE|!&Q7ٱ.VJصLZa{`6+4-l^lFW˟xYAaǻ.?^޾lb_|rӰP/Yf;Um5MOOAbPF*^ڠSh{doaɩ6(]i>Q)YNF5Y 4aDmF|Oai*q/*i&#RcYK/ 2[oYFu@u$.g zͥ4#cOj{rN/E@`2{9U&my?fC'.X Y xrSCժ,̒"nAщ6(̚aHל7oVX,nϲsXe:eZn }$e7fs/IQScT4+,OmD0`z5>9:Ưaq/y4K0ǯ2 EٵcB`=DkpSI )48gL6d;=ÈxG3:8 ?c;zApXKQ/O}N;ypSٶ wn37a8ôd 1W͊"ЎyT1ߢ(o A0?w8"LQt[45R<o>TK='ĚqHavh3,^Q/Nwt*WrQ)91bJ4qZ40MToYNS0)qܚ?oN`;(0y|x@45ʅy{]C ^L~Δe}- [ER~[G*A6X#1UI',cǚ%܁8hw(&ى|mDYLZzS4קπ -mV&dz,ү2T0-gb:O\wD€լ-zDy晍Hw2H 5n ]2"0 YqHY)MRwo]GS _ʲ%b嬙NVX}oMfiWyۄ'+kquϯ`c{RoZMl{(`y2 ]ޣI39\bϸ cطI֦%zbukoȾ_(!nf"ӎbJW&-? RPwsn$'>&b''/(,Su+&![שEi@ [/|(&!qaIkX*@ KdJ>e=Dk]. " g,_II qg4uyMu5Z+\69++<>RX`UZ,u^ܔ}cFHm at%3v6"-}ҋGa,Zmҟ{~"/܎mOyF>f8b-s!Tpo]>?ؾ5/rK%CշDٌAI kfi:=wjs>@Ecgr.f_͟ZЌ\#Z_?MPABQH~,ZI/IA_[u.<IR9L(  ul|&¦/A?jtxS`-5F7H)h+%Ck< pSu.Y^9XH`z)Z~uvU ':Mh9\fʜ794+`=ΰw&lۄmNPR%g9#DA2 S1> [𥧩TҨXmsWl6G/'(T_n "D¾5EWȯ եJ&[  2cIRqƨ)۳45s}`JF?ZwreD W 3FKt%7d>b30nFNJ8΢G,c}̋rŏw+`Job06E1g>t8A>? _,Vzd'IBhXr)#Ȫ`L#+]æЖnkd Hҩ$9K`oVJZP*wayoX-Ӆiӛi._.%Cb}g/ MQCɍ!JcC_UZ'!"_*=?eYz9 opXne6_l H͔5E eމA֣*rD?:2;2Asg;V˻r;}|55"ݏO daȜ36njW+c{6GXB PH͟H}AzOjeZIc̆:{MM5 MCvTmH@- V=>)F0C1l%pa,Ww@An pL1L\qJ>YaAYyKo1jC uR'["7|hoj2.2a86f$G Y k'7:ȝ'W ,`z|\D[0nb.ɨM5Z+|C<׆omkNDYWqdn 0BST?m iNJ#>iɣ_@%EU0 'g0\l^-ZtK=bXA}d`Q*.}Ɲa%dF訃s@,f  Eқjl䁵jƄ<`"=yreH,Ib$drlYf:("0'heX̥[U,ò/ޖI:HfK; a盀QJ {XZ` -k7ٙ yEsYC8N|lcyqv~Mz^@Um*X3Z_u0>vEhbVRuzcG5KV*O^9:vỉqqx+Z!)lo^5xQ%wk4߶yfH_м.|_(’qxƻҼIȇ\z];24֣G8)CBAP+0;}UIx hHƊL:j}GKIkN}$Zkh9&:x:?| & uyK}`zHE4WbR `俽 ݓ,Ga/ǩTߟÜ;[ vWg>Iqc˒ė|\ɂS-^~$a}D8rj>A[>cRש;%<ˌxIM^l34, ׫o1bq^ ly"Qʩ-"z_ 'A+w`EMcL)ϓ2 ~Hj44o^m&l-A|JP|2BW<aߏ*( d> j7}N1 kް1O|v-NTh*pG0$qV(.2F(ASq\~OfS:^2jROE647)l}Ou񐶥I_o$-N,&߲&Oq\>z."uMiȑ_>SfmZij; 0נ@ iA^>r =C(?Ha >mNAK ?N~qEc6OѫZP5W`D5g"k~LwhQGeiyU@ôomnN70cS'19 9F5BG8L ?1R0m@ٲ\r%igwԍҌ|D'D.۽E&IvY: keI_:K_CI7|sG$M:7C)Y ô̚Zo) ͤ9O/ F7RP9&gjq:N'2Z88)pE՟3TU!u3:gSVY`KQ3h4xd8GG2MuoK}a&^0k̛͜ҽxƚ+1k o^Asʑ2هK'Fʴ7,[`'CV$C+7үQSC%[r}E'7pY5tGEXKYM\WqSk?_Whu`8& m#z}ν*rٵ[ffyқ\ cCf#D9E?p1wNr>ZB(#ĵ)ҟ;iFR-'m~ .L^&S|B־^FXē֯Tr!Aw/'nbp}__sŀt(uErIԸ] ? % R4z?H4 Z~tU7j˷BY)#mV3zk]g@soy,=ꗎČԋڊ0@WKQڱ4:%r$pp!hbo/2ߙ#|eL 'S - GkZup"i$pc#~1_IlG~c'}4nLެm%5`͑< `,L`Ѣh69tO > ;Vynꌞ>Q$8Z4rKE>䟭jZ{B7ReM[䲛T B%G)OR\Y^ۘ%z16^rBr!'o?3tDtt-o1gi-ݩtu 4eh6,ُ 똗ӽRDXּmB:u{k]i. &oDaaUKO3(muC QtqmQD c QH pk%-Brg3ojS?8lT){ o״T 1M>(r8PG:Aq^w\5d Fa:4 X-h ߗy{:м( G86Ȫ.ܘ!PS5g!.),|;w}C +f ;hUe6)h]rؚԀ kz*ysTCCxd;@tёa&nd#W)*$SͿ4D9[iY>݂n9SE-TL:|o@G)d+9^Y/[ͼO>jaҗT^ĺBhp'G*cKQuc _0|aҊyPp^)T8T+o]J{)P?z.|"_tf^+HU|# 4K6|g-AgzB*}rc %+L`5/2)vc5tg0~RAœxr+Ⱥ}EGM3d`n/*ߎ`PJlH4'tGmc {)$P4R$ooR'g7ѱǑV/xi&$˔X`֣J}ui'b˨2O4r;#qw!<˯aU,+}?zsEB%Y'LQ@gFu=3B"^?y` -'P,%n(Ov~PXAG`\4N⡒81;@Evb85'0<-6?>hV`ǔNBxWAs%4;k'URnWb|h椙 sCZ׉T􏳧Wo|PUroL{R4d4óMTI56׸v'Wbcj+hKl c*QF%x;o)a'bb7.egz&E~e{ /Cru=a[ɡc=ޞjm\$t!{b+ t7J)ls_I FYȿib2kْTGBtgo҃ ۼp:4l'kgu.A9̿._^B S;Sb2veuЛֶ#E0+ 3o^a #b|j2p x| 㨩^R'@p=70qm HIa=6&ZST,%.?i2K~PִN 1Kty*8{H~Mx#vC$t!7^(WXl|~5\PJ$7])W'ŷ_+M s>)ړѕuҬP4X7^Da]Ԇ plkEFg͏oA?p5/fF*cUv,~@A{@)c1+,CC?s3; CxdE6.L84!XΌ g6=QCyeqK|B#SSWꡤvP1? <#\n>V@tiV՗]/!LOQOd,]lT~.s'TKlpi)uAٟd23Y `ҵ|C/ȼ>ˬ#| cX锭Ä=R%U)?$A&H/|"V5Cf*^?x;OX!g*=`?Vhlrs9CG7}x5J>KofE _xG*W׵uc"sd02D3T :E K*M~?_ }; C{1Dr(upXbιy+;'57~ɯC2n_5 a~)!YJW4QT/s4' v=(b?Q߳rP'u0&`rj-9}@9Vo,5lLtÅQPw*a*CJ1$v 'GLN9>PNgikԊ'e,'4Z FYq}64hQ`9>{ީFȐ7O_nvQL|rS1d:78}sKQࣸ@ux۶~-OQUl:$852lzuk\#p< zf^7-͍+%P7huJX2RHo}50 ڶ'QB ]Tm.,\ bFq6,po,U܅DmmKnSBAV,ς r*K$DK|n.:ώzM"u- FZƟtE $7=QT; b8bȊM)f=M1DI1FIʵd){3PӑcyFG^0Rx)R\tjM10bd6X Dx4!^y/7K6DG {} %9.D<^~+~PߔEkE>5X D[Zͣ25?8nw-_yF굽]zZʸn! kL+}DT#Td-A癚qᶒՠz-Ĥr bdRI*o3U+ϑ B6Zf׺&U/lCuKrdf=a jҥTʴ]jZoKWnhslDoZxϥPj'j[)hOJLށA v:ۓG, LW#'{_fpݣ+N6ꍜ`mUao,oa$j |YY}0d@g;X8Ee~f4P.7nz7r!6]+)ze''4 q #hyFδޏ7AK0xǾ95TQLkq\(E Ո[[G/(f|IFvDߘiryQG'^ ѵ"/lND qwoF+ 6XǙ!#=,#ђyf V-m`\[Q̫qO[ۙ_bŠdο9Kևd{:5uӮ$o)D4=7^l09Z8`() ˃y/VO3na)(kI;m8y$ C9䅽iKYuyY2GhNDī•p! =Zn*Pu/;+37yh[?rVJNn]t6ǒFS`":?~k7 bZZ}tN7wuDFu/Tx1LmcEp=. ؟~wqY<&\ c>d[2ѳ3Ƣ PD|e=)wm{_m>H%yAmmfE=Bfģ߁8Da"w&=#T#(vuVN(&~ _W7#u+Ky:Z[4#H7$Gvr:rSr>hxڵ+M[z'En=f')״l2[r?\}$4=ҏ(\eUDϼTuj3 ܁5Hec'/) e7F~j]?qha_1ňH2 {=,@'ld垙P"P4Mπ~S$IQcҊ@ "YDtNKNMß7)XhI>8$mdݥO eE ` s\Ts3e{HR4c{/o Jǿd4J<9H$(? Ш [);X8" a}D2swJ44CvPʩcQI082Xے,u;ٞtܣ`SLAtceN?[]Fwx7l*Zw6!HgH8_5y tD|~lfp<QFыBIDjYizǠ7=K!Rp{ zʣ"n3挬O:3M)5DSƉHc7?H$3$m^/MvϺۨp~ KRMODUNү|ػ\/H!n^sMlc$5 @;z]P FbY&^He.4ov58Y"6 GeEeH^Ŵ!|dc'E:s:i (\ |_m讅SW+EfPN`5HMSx"8lSu>#c$Ok#.ﰔH]J]?;(] iDV 6om:Cx2'!=+ Bpފu<ߓVs&o fjif{=)7n$n^h>G*Iu~*xXdӈ52` M0KAsP`i/B1-ݎ5f'r~&P5Ō7/L]9Q׾6Q3ᰶW'(ocL~Wn nfv Np+| H "'' }|Az;Z*{|I/C0_va|[CH9 ~SF O'xkBz̾u'ܵu?!oIwo&-_PQ?}ϝ5W-IC6LYOηc2vj? Jv#Q%kyye8ۧ6߷O_L M .C/C8C\Zr e%A;&?*;, IAY ưo괰F6\c@*O^4bq3'e',{B"˔U;Vɿa<ׇ-w4UƼ[tv<(m>t/il) 䚮``OWڭ:)Of!ӻd.Ŕ?Eugyb5R3CZS>[TRթ0Eo7hk5 |0g!DkYԛ~i%lDG8~ tK5e!y @cU.}fw!79nް*V@ďب#تio.šGvq%Kh~9u`lPM/Nkz 4EԿm - [Lu0,k%!K33Hw9F .k߀,bp7c(iQQk/^J6 B J5,t.@5czlggJXM8dipCIH}EqJv\wҤY2R#t'8;{׷Gy$b^{3“I8҂L4|֛bz& ;z"FC~:u){)1kK҆Rf+L pCvPcu3"́X*5g,6He]`{J90< 3C<nQ[8]tdG*T|'W7{kaȌ$_Sw;\qg<"mye)>cWFKE YU*J}ouhnB }}7(WOiڜn4Kiʞ4yO(IlYGy_7 Ѿ&.0 P =f KW#R>&6Nʨ]փ"/gkeFtP+,3 7*|7dwfDK G32YḦ'ݣU<(^ɍ:i/tjQhܭk2 D+Pm_,~{eP:DqA'A*X#bӇ!{y7|?Lam89~[]7[;b>?g^XahҿIٯF`t|"߳i@TKC,+tyK$7q/wQ:|1ü"⾇C l_[Dp;8: vX||} qܴ`7t(,!AM09 AD֬A d-}ӠTI%|JPI#[̺ Ϙ#r>3B8r C2kܫXX??cX ?Ileo(\;*fHSP8l˹́p_eTD9'tMd\BN}5a7t&Zc"O dԏ 0E0{Iꚿʒ 4O0I5ǓcP$$d:G6"Q5OIΝaSpDt&(Y+-zC80si }IVi&ؕloO3 =2SMcxL*Do\%̖GoG륧9y9Xg[Eлd okRP1D'ɐ! ōAKпat9D$44Uz③J Eryo0dLWjIڣkr._B:vA8Ms(jGtuUCa J( J}$۠9zB +g#5ɉJPDR6ɗSГ;6]8S]/6ؘ>l4 t߬@!k>T O_<hV/a ˚3G1/jqʽJ Cٻ+|I< `&tXw?U%'qЏ 狽uDHL""<adtNv'+\+xP:~rMBx){xlPvȺ!BĮk' 삍bb3S{CNa&nC;[]F1<4vfV;;=Y y+^D̟ Y3%'2_ FǣKRq={,v+MxoR`Ў2 M$*i cZ,t4|Oo]7"SR=5pQgL>n,[(Nٜiv^io1j(0Jh`}+?Eӎɵk&{ 1~C_$c#m)ԗ)+/RJ9c>x<߃;Vf]M>A|% G$R׹:Riwu/| ,%|y%5!It}t@8;FE ([uN %Ey{וw#q{ᑣcx ƧCC"3壒87 Pqa!U) "T\M@]x{tѢ%eBft ]嵼9okOZVɟ/Q68 \ˑQW3 _U>)mC0g%kar|ӏ?[_꒶GoyAPD"–Z1w>gSwzc7 ~OEԼ"Q}loyg=,hN?$3fMN1+?T#MVYg5F0J:7Axv wbi3Hbmp{#9 NJ>0ڧv0^[2-~\ F258Jz7@|ퟘ6olg37xMOQY էPPuCZ6|55R Z87JOkl~*χH.:ڗw F2ka&>蒹2&<5sVŐ={0Ԗ jg@Eӕlb{< V 5Q8E΄:Ky?fiBB0ߧL 2dt~1+{itȘ]XĴiU.ߵ-iលoqΧ;A'_@>Vl=ޓNֈѲX:ݳ`(SN;UPQgcdrerAUCǩxe5MiMe>q5Bt4VBnWC!yCRR]z7>:L(8*7?ĴIRY+A[ּ̥T(j_;tw1gU6i;wU0rczݴrE:AbSi!ct"7$& #eܯOZ('Q-A'Vw0ݍO/xVҧF2Wdg^kg#㳆1;y̞K5NclU$7Qz,fl`햡jiFA_~v*j Q݂jfa)6؝oCɥx]Xt6`d%o~J"`l?0Y`-Erέ&}ə"Gf50_`,d7x0E%kΟ*QۖgUq#m,lD*EOJk꽟ː;azn\[\f]Y[3 -|pSfBԦP3o"}5wC͸\ ~4pBȈRM S{b1enaY0NnPoہ?0#?E'"^nk5v' I'弆`?\ St?#LE&<:C,~i_*H4_\2_Oב7QkƖJ;q~}D!0:\#4Gz4Q?k4A !gy7]wQHݍa>P7~`6>fm+šZ}Ϲ$uzڲ -^N|2ԛۓZW FT($&TnbFֱC,&TV<]Kp#6z (RoHb]~(V~P`{ 1YR^^&= (0D97i/J7/SN9'3$PDgm 0DC1hmp6[`{;.*-3c8h"tI4M\ -߄2gXN Ciz?V`s>W1@nl4n>~zu$2:qTx>otXk٦(ʆy\vU!/t] ?M5ξQn:J-f~ao*q7FYm EdacAPȿ18Lh}qGu/C e,Vq p}KQPOk!`] ,w]qΰC:'ᢜHvq Nf>#|f#g5lKQ Ŀd׮c<$cjX~#װXn9Ҕ*̱i\ű tEp{owS[xZ HP51kZUǰ(-7 KtqՔxg$X|.n} KF!㗗9wo3"CӀ†jxW=ŸO?!1~hlz> /I$ŶgdGZN9~|4h#t6jz~ ]#88~(s8VT`/Wv]qU@)Wyy|!g(lX'M?f\AEA 9Aڂsdا 4qZKA&q,\hF'ļĜ#xFyd]Ϛ2"93~%M̱ǹ>y wzeH(,NJ% mnm?/B x)E{菫0%i&oN> ; ~%91CGe*MEydҺ'|R_Pϵ9A.AO1oY{ssCF Rt|*Fĝ~m ;ݻ򰟻f@)_M_nR-DvZú")> D_,O+cèZ}~aCo!$ !/ \[.-B{|5,΁!yj"oCUfkG3D? €H 'Ɂm*Ϣ&3x|~߼aqND)~N[GJT/wk_8i~Y/Ƣ!>beNGn0a0ҤoIޛ. $ZO:}Z,| ?b],-W|rFe˔?PJC'.{ʿ@?L31 xᚢ/7.SD>}-VX+`z2֋nAfn‘`df] 5ha09ģN4_Uu ́~F4IgnOHsRig@Մћ/g蘃]/{*e@S Cf:Ei|Rq WpX;bAEZ_ N[=֐Z5D1]CA7^M!SytB 7a+owP{Uԅ<\kGP[JDId8pc\=SCx:fg0M~-cJ}.Z)І*o",0דħ.02g{IKOlP[.(Mīd?e";i+mVOh_;[36PХAK+, HkxqYNo>ߨhYN0~PG _J!M?9*}8iz}uwtٰ}WseJ&3}o){q,[{n/{z ^?3HR 0[x\ŇJ`GK/0X&~d.'Zk׫|3۽"R)+ El'^^ }"] ?4 6kcSBd岋'?4U>]qΫ^4 FD@OcWK ]{;"'*K0w*VѼ-T~m_j|'}tAʟz[ӧTo-뛌&⒠3}ɼ_h^Â`+|AWvHJoGutO95(|olZ[=*~Ҽlb갥C"ʵ8e/חs>!}22k#qU-kw6[J:~Hqן& {W4 7c<9V$jZœ;", *;xᯞd`Csk|?=l`(iJnwhZo~@{?'S駭 &fVI=%/;w۹(g.2d-ЈaUr}` Mj|1xo%2#:+S+d`>%*zڨhbJuſ rrҀCz["%fb4\o 6W v6$nd ^GM|0x[Ma!}MN}K$Nc7"UmvhZ; ]$R:R5V{%/Ǝ{/M00v2<}+t\"yuJ}q*߻3̳ؒ!/w&DuqZRvOІ+u2ѢxS8k)&h.'k7ff#}'Y\ Sp/˺ ~`*@={h}Sy#b?vzـZẁc:#]V͋f͈"/o~+ofX?I vKlW?qxp}|Ȕ"q hs 9ˤ( g¢N+"/X\93-9~RpqQ͌ʚ-~"K/݄i/ )FhlEgϼ\4v&߸QzAQ2 Q7r[]9b.YG&y]¯;؏Wu'z]d!ie { />T׿fD?f_+mbLX_Bft'UgC%z~ME{@&XKBG0qW9}BWi=U'F:գ hEF2, VSF^hpy~e}`_پ8bǾ?(, )!>T%OVG N%gviPԜz$Sfx3,ĕ%Yfj۝5R W`_F{g{Þ5L˙TD ;StS٢},5CM1Fdq#Zz& c~l1ffu7w4@VfXG&+ G_VtFE2vC8ٝ}--灐whP>s[pы$ Vfy)u4in5 a9It[J$#*x n|އ_WՌ{}0CI'?i'3*^57ۑwh3UHHy4jam]YhR_@2Ƹw&ÔS1 UzNƨaA0:dt8N{Pܹ{ zc$;P_!2TRܫ>k+dppg_*ݱ~uO}we@/d'%ᒿ?ioO2Z.cLuOYe5=ݎY'P/%2azC֢?\Є/Oq~PْvfQf1) yB$=1(y-buש/=F7 {Jy&YDO?j2a˵]76'.-*iTXPJзO델{Q5G-5܎z]W@ǜM)Øg3?XF*r{뢄| dAm_{ ka O T{%fY2E%]>g&;dW1$p;nC)sVHD*4dQ&|~=!ab#1 kVk[L;s_&*z)D*Iƌ⠕fQ4-?;,26 Ep׶z6it|>זq}@$M.kO rC+,?!+EpڄW"1Ƥɜˬ\1iģ[@A4zmkYǸ%@RW ߚ K_QmݍFH!|s]&;z͑~nLG9h=ZIQ"OjUq>n?[{ N=l{_CHK$`~_T:}a<1t6H[_/ŧ~o[ua< ?sENj[WHru,$/ [,E sc` "D x~ M\yKj>4'-:bk_(jʶnޟ5O^OS/Y?'-q(sۗ._[=r;gNy9LWAgZ6۷3cZz~o{vsxî9<򟛥_ES@ݷ,]At c}:52(1 3?=zN=0c<* 4 Q6#Z["7,FP#-yO3!(s,sԁX3j+œ'p S[ijq)d,&NlO?aA+` /讒Xi,HP:t_rUWh,ȇ(mLPPΌ>†ZV!2Lj^+Pd^= {%]K7>~39ռq(7ǥYDUsX vXIC4:5I7Dpi{Ѧ ԏŒ~&=`Go,;63Uo9XDU<ݓ u {/j7/d D츁D)Pkv(4^ |5VC q} ~@NlTCsN.%p1,nFo֊75`>_c /Q0e7 %0*Z }[Eإy}sPI;-qΨl8 GH]\Ene\Tew- ul樺?|g+z^lm{j>=6h=nSɀAݜf*ȯR M\e4i㨈]@#{7 pxA/u.ܔ7E}4LJ(-wؠ#/X&]&GN7o7b#=dGW[X0g҂-}!o!R%]-!vnZ&v Y#A٘ #)|&>A,3oWbƿNqQʹm49gqh9_njQ5J:QJy5^/k>`K]fg\5&BN*JyPZ[Ll_)B0G|3p3)-{$"&s2u>) Bʿmq =$5sY8+=?9͐7eùYNK8H268n6n :81euR/Y.Kl:%OZTss1Hq-&wiRe\g&sU_2YӮ-9" Cc*_?׶gnhx~% 2a9?xg7ĝ(ecG_0 y‚suիpZۄ9|yYW \X{EuA%X2_9@xƎ_lrsfu$M^eÛ)Q{~nlUL0e@@PܼaʿO.hY{/nY.PnaͶ s?+S]jks]k娳E@"Vu\jDQ;KO:hCQd9bo[)bxLbE `齈 ^f]ri5>D'b  3| D2 쬽_h@\)l#aNVтk)ƈAW{ueVWpYoOX@,%eG0xq>1QXĩ$b1~Y5-H_[U)Fjm#<&3ąvիk2 "wy0P&A1쫰zP5`dhDOǰ9߭UZBՀS_=B}7 伯4Z?%z7D+=)l/f׍kIӆ1z iJQխ34ˡ,uz)@lF~{hY/m<9 " 3%|,~ED,bsjG.%<2#ǷZ}ƎE9aSs@QٲnS 7'%~\u|n7LdXmDž Ӈ{Xj: ޚݧ$)@GPmNm^-NU:+ 3 bpr}305o!Ik e%X%eIi8~u-´  &}CA_!_3"evQzΨC(*%@)IV}D~u)Ab,Ū*̅&hb*Վ9/:Q55iuS8q~=QdԻ($E6 6ob^Vyg= ۼ{ޜoXBRZ?BRQ&CAxƏ4E#m~ÀqW{^2/C(y*';b"f=:4"Ryĝ6sI߇zUmhTZg4ƼQ=Pg+մJϠ+H K]:,j,qů~8K:+o I DƼ}CN?m^-4GM&اAJX o늬 xq;8n@x}pIojo̽o2/+5.צ]d[cdhаX>|%Ѻ^Ԅk7LE=zxCF-WܭAՁ-I, R/I y {NdM[p"Q9Á"L0+>s'O1ç2juPiz˰0щ8pD&󌱯+L+Q.Nnmsa=I +݈m:4c^J.Lc kf0nɚp+}+7sa Вj/GVyP+v>l6B2oxOZGPJYպo~;JҬN.'EN8d$"B Buw\ Ll6QȅCh]Lm*C,Rz 0m^TDWhuB쿛@ADk3= hSLv Z#iS5O%W]s}g6:2$A4[yXcNZ|{~Ln[1d']?PA= inOyZFW$L!a}w| Cz)i)M:}3&$j"voْߟ@pŨwϐ]/4It(}(/ĪeMd4}1V@ _G4M*տDGDmỴ`ovf{~GJ&`9LLdZLan@Y" '\d؄Ϙ1oj^tB:&_C3MAv*R)hSAMmܞ=c{9ƀaJ>Ltë].Б8BYnc:ю V l7ɉCN^p(j?FAر,w5&)덊>I``LPN6D&ٗet T|eg~ t0Φ&y .r#z]"{[{t Rw ғ5^M|w6³fuuͯW\5c,œV(B|p8VL0'gx>,wS7@C'3uamE[%p!L0!5GxҫPKRfs& |+. dg`K,L95^UV'"Vے eK!lyrfO;C'bG~ ԭ+0W{ۙs;&J)Kjr¼ӏ/mRC{09QH䖼.=''9pT8^7:oFfz|GU$cys j= 55@e7fWK塝 qV t;x^ hE4T`oZP]WƳdNGˆf/.}t L&^Xmc/hSB X=7WM ׏ݨ{u'lRZ:43zauj(ěbh|/ۼJ?w9 &Zr D*ց~ 7/[LAϡ ·2fF9ļX?LtB:/U~?q*[(a1t'mzʍIA /u8< ]P2|>Z+1|_'=kQFxz!ti1OZ][&uuܮ~AD cs0!kxQDL;o61s' t2Y{2 /M!FyXc~OC2B2[l6·K'nFW4hן5̊4JB`\|{/g2l}Y, s$-C\"VQõU*,c!}닸k1{n;Rfq^Hd*El }R*k49o ;2ꛟ3z !6"kG@}kO #iS!l :n^PAfȨZ92E)I` mU_TDXMYGL~l < DNʯ~:W_3\$8+ԭFcXY< 1)^Sw #[R |;=5vMA硊"2zS~5TO;wd#wmQ}ѿZ/Z8Iɒ-S<@`,3RXF.{@&VycNGa>9vXPIk`?#7ZbX<z =w[Ǖ[KNjL$o~?V v TM/bEnt6PP?:w\}FEUlq>P\nH( k4BTH<(c;E%8zh.=~< `έ*Xn(x=X`Yu8(y#u a̟6I Hv37Q5}F.x}I-Q,"4ZyZ%%˛ղYГGВ*4e~Л(g< ZD өGmΩTjjOo_?1gpoTa+7BJZ|CrC!7[Q Pt| J;yڮLʠ0佩9O jx|6&Plc^̶6.CGRS˔hH4 VF:==źe+ƽENa'ծ{©ΗO菊:p_ؤ|9=c[tx/=#44A@Ir^9S/}H*B@PߥVpt`aE ~܈ЪZG,mD:1x]~I{oD߲ yUXUwQջiWFݿS61=vo_ #0}R;W}ΗpDAKKίOD䝿词Kh}78m$D^huFPM"A"9]Eh&7 m8h⠭[J+ۻy"s z&)Tv'tiZ'6J}Y3.Tf7DsTQqgVKR2>j-BUK28r柍Жj弇d>Wk[/b[m-:;.pNFL(~Qй JJ"v@!ҩ0C}RL)mXIBth]IkF'Pd殟ܶ vכ]#;_G_~ݘ& "ZI.$PV&MN7D#E5(-Rj5=*ѥo \!-Q|]r1UzW"w U_`CH_+5atɘӵ:pMF{ݫ|tua*Wa6:RAl[K}QuJ&tn"e(݊wpfyZ9+wqՂ$b&hTi5/EN[!-}g6!NuE.5_rr?n%N>I5mJ5oUr?_i ;v!le7d5<i9UNai'sys$e.Ep^27Uɶ%2.VB^_cIb%^ߟR|RQ8` /~ ׏~;!NW2I %F= NdVRst=o&8DP8g!rRg]4`j0IAV]zT T/0<,K=1Qeuce}P41ϗ, "6H:cuq.|j TM}&0;Oq|9Xh2L1$$1c4FZslŖ"!יJ[b+b2AY%z:|2E4+wkil7g;}mEVrez<h[/3oEne]H;W˫MUԋ0atNL@2/dZ$gM'ט>f> DfTy~؉fxZy,^;oeȎYΉx$ #u #~N7.Mm_m2'Rd>b?i kdfvZ&d"8]x"δ29Y'kOS}FA @t{Ȑ϶Nޓ]p-r#=߿6n2ˏL}˳B)qBa4%F| R9  vQE\D$swHroѧ{lGMoq|qoJ_bGj[-v;@&e+!)Z1]+>iCDޝRU7)$XKM_3B\PƲiyA֪z㖗 ɓˎEg>is>4;ЎbJla ._[[pbW^vL@"gټQ+0f|U90ec~qqc^]}_B^_ /g,Z+<{Qc [Eq".T9\@rM|nLDSoOwJ?^yHL&{vG*i{4u^FGW{$?$⏈[K12ӖJ<fˇDv´A;$`jf; gU5۾JT~vL-bk~A*Iv- *_=V叠\(;}$Ka&bvBM`ՙ'9KG+1ݘ;{irUnz@9^5YH0|+$XtW޻'#'Ogҭy6|ǭ6rUl~ʾQOΔB)u64J)*9aˏ+lau±/h5g0ű7e^\ iekձ MG^eJBp ZW">SW9'#2lH4I'Ez]"˃~\]ZB?`]E 2aăeɽY IDx}2 1p!H9ډqߋ,fwL&Q#|?dMO>8=lG#,'t+k|>ͼtޥ?% <׽_D)SyUџ|Hi7$d :ET 7|q`-kQsV)}0UX{c؟1^Ft8$I2V1>?o2sߟra2c 8p%2/sZ)&/_\.T'ԋуyzJb.w2Ǫ!Ibf%X-w?t7s KbG Ʉ|;,>4U1]!ԃ 5Z37jዲ{Khȫ~UosVvh5䴖Y$D1$eMH%ޡ< u o#kU{m4z8pQF#A3KmOy$yp3=$܂9z80#<1;JؠtS /iy qk}NDzp݇ه1tU6[1=1u9|F~.5Ȇj*D!_9 Ɔ#G{d S~]ݘ%1O~ 6ÆV([wεg0͗Z9lK[6oTGr,) P&N`c^SZTFv!zQDnޓ@bl59_*J;u o"qg$G ͐-f?m:ƟXGݙZ̑ _?2KZVi g¹%|ʼ`'4iJC7CJgeCt&:3*w$g ~rK<}qTk$O:Ƹo t:/CbdhZi^A(e:-Qx7ab9.f `g!/T8&P8*$dԟw.ackmEN7ETeZ, Z _xm8=ߦfG]PLꛐXi濳S)7+mJ~9$ZTEQJ,Lڍ=ȋBx>43UM/1 5_XI98tUUr6Ca] P)*lײtDb>bk;lDyœsǴ:q,f;U1*$~:]Wt2ŏ z;eMȽWWxpxDв(ZbokolZLKPL|UiCW^9 ,xw[d8`5 #Ov[-#~~sJX#Y[^jk;')_?N[cٻchj%MpglR~200OSfPMIC,,A5#ݟ1n8tAe]Vfh RZdfGT;:x@n"{uIٙhl\Y5ft sœ CA $j@z wR2"93sU#c$ʹ2->EQJVjݣ#@WVC߫;T{BX̰iߘ2)gF1̈ G!Ytd]ε<ǪIQP?V4B zwىj,4Nr.tiK#]N&?ja'GFua HƞJ$3¾d;b#&p.p-[YPZ^X;\B;W}p;y1myCϗ+L;z򧷍M5@[Rd_,=ֵ(Hkbրx[$ 9I^uR޹D |F?TL䯆2AEuE;$Mk.E OUOg#_zIT8y|sE@vh׮W%'0-4ܷ~ҖڒRQ ~!nʙ'}Y~'PtH7q2 B~4ז--Z~V~1D@f|l5K7ubh4m\(.R:?rZ|U'!&; nFnT]. 塼G9[-2^4aYr(mۀ8eމ}ihe9RY 4 XW5H7=hF|a6HH_S WFEy߈Ƕ~҂_89J\j]ym)2 S86䏅 ӿhz8x|e U:` ,?hFmh72HF+&&IDGD1c6A''%Ny]@ߏ]dEC+Ovڞ8cQou ~..B[8?%wFWxr{yj~ZE.ѐƻs>ȡO~mG"]``K3፺X;Q=Ti^) %"}G1?>t$ꊥ[-]W vܕ兼|f޻/"gaH: Er1ES<7(ccǛ7}2#ڐ 0h\lɶsXUn )"5!ו?ߜk0=?إ#ax; kMV%;nӗݽc G|$DCkru$3=GY\zhqw48c9urhV[ UáВ~E;R;p +ҳc[k\a,٦ 0RDqV2k᜚|xU!v[ޠ:Rppq0=H/'ޫZIl^dP ywTx>!PvVYxlpm>*-vaߝj^A0<lѧ\?w,Vh4F},} 0y%[~)Nfzn >-5"T+5+r]i"xʊXB[9*4meE%;[̶bw_R.bzp-3%=@YB:S;~KJҜR?g?jC9sC_u7FgR_ i՘QHu߯4,18 @gHOJrJ.6s' |J6DH-u5}(7oa)P|mdƤ*ͿTJ"UMpVx]|X$k]tԽkΜe=_@r"C[$…JRk}\TN2ӊqgpBו8'IO3PBuR{Z {}%E;\*n/o"~MiCnCP_k 8SsS&=D}c;6>Izqo&M~ºeS`ZD~؂z hy3DH[cJHF+>1/ < S8q") ^ҬXJ y4K5R] 1HzzYh-I7b2. ,X+EMTvݵ z[dy|Gҁ-y4h:D 4mS6a+7KuS<ȿ`:پȁ`g:V?lis*pm,3U #J$ B)#=~͝ |4}#tQ΄sqX_DTRUkR,SGTzQx)x߹JV)붠v1`򃴇^&*cVq݈ߘ|>>u%vvn{"4n:iЊXPƗq5ۗ=췸G `Z'iG7`zL k|+P uc8)Elާ[٤sUviIҲz^=(J$!!Lb*NB|Q > +׳4F@T#HCU -藾cr{"g[ ,J6CXGND}JV%O_ r~[]O cD煟]Q%g#ZĠ%u=vb) b?Pywb+ qWZ0]z;<'!D4VF;F2$M{E~ղN/R2.}{.ɀB6F%z R;7.wظW|`{/jyfI RN*# ;͠0ҒjF¯ x+gބV֛;;vx i,NͿxV1pPw) I@'لHP_+S1dR[}HkF7N౾ׄ  3_}s?zߓ%cV?vFև%WspPj %M>V1{O ښ4#!_X$iƋӐ ]:L"˷CLB]z(jd_&y,(gwmL-Ϭ&u(303f'MAvT'b+w += ~EVB^ F5m-o"0 x!Z5S[oV17븹UYãèo 9T &ƄB!Zo b"W.-s ’2wОdeJ{,MF@M}&4Dkӓ>yΉ/q0k=y zSÖi;q ^\ +ZW1NGs\*ӪJbe-,89 ?TۂQsGn{|bt뱍}fПg\Gz2bZ$W3sX٣O$@'U HLʆked[O^ GX o+͹L" [e< d㫄ɵyӀ@O^5fkD_j*"c'߆%fzY2k{D$YZWF1I6wf4,@6ooY-0@Y/39y +Ғok%^Qdj_ #@Ap.-E'tBσZ# Dq ^:l *>b .2\p%P S e8JV*Tz\\ARg']+'yȖcĝԗeS2,iw)W NMSsY+^[uޟ%=8q4 /\F˦Tۜ$!,!K/k盟mVw76&\HUhXuIjRpF9$6k=؆vፀ ttCG踛ELfh[*Pugiu/7NTԴΓ)_3k"śL{{$A5^Ȉk:|\kN=Ϊz .\ٜ"ȘBi3,(_Z5bj&ZI=WY+l\URMĘYѣm !2r?K~ѣ ;68tHk~22G GM!jdҮ8b99U7ĉI´[S 7)-ڤ>`'ܯQHY" XrvƏ~"mćM4-bOkߢ9zhiʧ-Qf"3d\Wז$}LmaZVJ1fy0U9O) 3 ջE%\j'߶"ˮ&#$qhn75(֩Wj!1`43E_6&y>L0`rQ}-4G2.%m[hKVZYNXr"V:Ozv#Ur'b%1o Uopz54p8'zk ([`z IPC)=&xs''g;ȍ'*$R3Cϓ%&CG]̳rք08j8sևתd4;%4,(ï/hE[ ^=ILv~v0Ŝung̀nO[e_#U>^6_:/\c O|&MV]k+<#ZMxXܿH]/JXm YHL-cftr>l~bHa^ bp& *"boi_au$̧DJ>AEɲtS3eam]ȀyzYF/}K@ S?·c>ݸ^{l 0lJ'%အf$ǹ\SJx~*"l Hl |misNs}}fi}.aEwyIE_r7k>غ ~wZxj0?6tq.lc"$LZ[X ZD^rCJQǾG'^&+cM޻ks-p~k | ;^9;O|YjGӖE]ujh&^B۩)>hy2A^rZ ENi1Dže—!JUiLI> CLf7 8DߠK$'M4M'8kWl75zB>): Wvid]hL?L-ssYrT5 T=kth|**P1D'^AHPt&'3e͜eS`H2i%7]Q`3b*uQid" ם7ؙr|21HrkUK! ¼3=;>pn.PJG>H)Sɚd dR 5K~1صI47^%U${|Dُ_kqu'bӘXS`*E2ϯEm׉ËsMPPorY$6nP6ӈk 2h(qՂ3a%Y.P/nmť7PfqT2o9z#O~"C t3%st8K>fТ0Fuȹ#ׯKB5 jcl`غ%Dy^\""OǞMɒC+ɧ7̭R~$rOgdo/SH]D| ȝ3~w4,N%o>7K :C@(voW/QC'QD?+j cm[A)įsoWN"kTqGgvQ[%`A_Kc@mN>j'|H mϞg{t-!6a͂FNu j̵&/zy.ucK#xVgob|-X$NQw֖Nd`f|F)+ta% JqHzcbYyT]Rb8\6]rnζsoݤ4K;L(Z/6a'`kR6 $E`P"Xzy& [g^Wj*edtV?rۥ;w]/V;$bJK{hq;II\DBx:XbN>f;fvaKh"|8Y%/{󯝐% Q l A:owCg m!)Of?&/#̼\kZ D3z  hOie;Ċu?"ʍQ%8j-twgH@uhjY'MmdA>{T'I֌Xi~0*FrɠO_ɟb#"ԺFȢ.2& 7hp[[baRp7$p'|O|rkTC=}Vv īɍ`^Q q,[J/cb-fϻRL~\klKΥ^هF6r.8]A<3&) Ve),FI9Yp&td/%'j-s\b`A//`!~ɇhT^RCҏR,mazΘdM N.hJUf>B  sd AZ1iAnpj8تzp.e +Iq n6jsn=K*ZibLH؋v"V0iאm̂#BU|=wD>,yF)Ord[D ΀GfCAk S}yI]dotY/\b(sIpWNq3ߡl; mFq\ҜSn gS%~bДp5 BfyeKyaˮ"sYa ˹50/;w,Y\ܪ˄Äy`| hʜ.9i 4m~GZ(R!a۪4/*`\xК`sW~Q2 > PQ{z媤M Ƨzw'h!_t'ukG $,ۆשT@m.XQ=jvI<)*,f.59EwP pC{{16>Fqf`gxs̻%ڴ{驪L(!lѡ̑Ye=ٸy b\??g?foE|@,Ii,";}7f6*Kә﷼zߕr)GE U#+]"MB⾊K^R/̏lPH-F2Ax!wbZsVcXf_d͘\hjtG'ɼ^JkC^֥suv!bg`w[>qSGTE›wVK9ql($kTdWbR&dw6$ Qoqz<lJψ[-OȽՀ01ExƆ ۄ7xKWL#:ׇ3fX_`^`QʝxPDBq^[WFx{yNފ)M0o(y B`=ߕ5 ޼z$С!PO#WpKՎ¤=NZyx M~>m;Z1uB7'+z@7L~N&FgU1~ Q!B/דW^ho;vJ*лrǹēBXY$}5yegbE 3L#gP'Mo-_՚k1x8cg"{r?N7%PRHu,ZB}o+}߄n&n+Sp/oUK&Aۉ蓳_cxAEndŤ? f Ѹ$xJX@݌0&|טI4icUA@}}h^7Nyw;%+0A7y뽀& U @QD&<; R/Vߚ{&$^8P*5ʹ/k8 `F-r` (Ƿ4\_qRsYZZoI0ǸU zS? rS6AH{sc#K;S_LjAs=Q֪$3eW-b3HzpK2su7u##&sAm&.Gkm#eoǎ#z Zw9UM,c#’Tҳ8]w5땱%:>\HJDžt{ [M+[>EbMaF39M%=~8Px2'|A`.>Oh5j m^^!Mô{?!aƚly\_CÈhYNM5m qw?V.3kn@hD;~;hZ--dYu.φuC7{딪 T-WEg׺)?+uH4H'qM /¨>8lնWwW|=xu7ƾ)>o|﫚??1#wrcTd֥jFj^~I+OB?v'ׯ2#U%6WYLGsxeӯێPAeP3s ʢe 'PAT9qkaPwr!ꍲ]UO ^̃IL$CH'ZEyosJV#ؽ)(F>aBF)Cڅ&\9,6! /m jIP#s۱sT5Tg– >c1$:=S(%'(<,S!&3 _[OxGyl;jQW3@$CrN"3##kju9[iBn;L~ho-N oEf:8&iLKyӢ_zUHoOGW Nw>>m^t%E+QT@%]˙3_=]!vt Ll6 3, vÉ D gN|Նf^5HCV @-kg}/GŽW_~6&)WB(!pI0/GQ:@VQE,y6|%]D -Y8Ŕ'<;et_)kY{A۸ൕq}Ymrɡ2 *P26)a@YV gKX[xqE_1f(ʊ4@^M֊{#W&Y*Ƥc u>tT9:.؝g &XyXt%|ahSw+ՔWYn pu ja>4M+!a1uwWiSbq0PDZ?lZ5d#7^_ J7 ـRao M#:-emoOyrw?"x"DyO E;nKI|>ufaxi=_f )@X>CZO5$;UX ;FK'df^ҳ~Blj J#] }qE/x7yuȃe#,F"+ڟS+a\NF]R~Sjg,DܳD]~d}\_aJG Q*_CqcܴݟB\WTG2>O ,aP~H[-w_R/8XC wS쀿󨜏qhln0J7,̠i dH)147c'Iu`{ $$J&Rd^}mɅF-{]@Lڀvd@.CqH8IN- $A%z^X]5vnDS4 ΞP21M VBcEI{}dFh.<2A2<oiap(yW*R4Y G1.Tо#ʥ^u$*ЧzrN~bi6tu.^b6FW3BH&!#W9 ʜk 5ihkFC5%ةGHk?dǃo7PI> gMH6aim@5Z+d ~30d[__ RNw dPWV_q~2? +aISΊ%ȕOA nD$c!-\pao f6anMkp;' 懺KxƔfnX]7BG>eMlGFNRhљ[ۿ,*ׂvNrA L2}.Fr4gP) lzs/K=fKG2[w&+C?ˬ䁿p"O(=Ep$A0ԈT(i|?/{FEq6zshtjɶ>W~3\GV  BژVҵSI=74ԇ>DCe9,;^C{=‰!_PM^mmu#e`Pf.ӧYhg }3ƮWlXblC$.g I1Hbi~l9ktw_2 J06F-h9;]>_eСƱqnٹVzl2,A#7¸*X-㾸-ܯ9PAu ?*Z8j%͖h*3:pm^JМ^t%nk[J%.1}].7Zv!c]7j 2To\X_<շ.sM X+qggB*M|XHtŵY0=s;{0'%J,R-JRlZݒ: Y9O)!ʵXL"ZOLt=ߓ\7_'6QUVFmk23̍;.TL^lߥ+=TԭK CxQu.Cְ'f:͇YH?[6iNYPL{rG3OnhyuiԊe -A|[AcV:D6{xDviǛS< '~#>KYnjWjIDTx=Re=Bҵr M L))+|x{^ A@%MYK9wy5ӥc>ovv#[[,yv,kNl\S\RXTv+<]f+x@ C翠EDzVbԉgf6p^e$^0"׉e rX/AجrB+֧ OA@n6-d|K"3 NhH#@Q;WwJx^2pv~#&!'jlhra/cdvԷ.2Gu T?K1p`US֚IӕPGY_k7B}DIoO5Y ¿AG.|J5S;ODCNmQgfc$:; ,~*#ٔ73J#1^-4S)l}~Y#QuY&!e bEE.qS +$p'lM q`=v"t%@5/jqp8.&fX 5w^|* W#Ǵ1}_X|?L8)f#l`-aOwi))lIܱ][}1YɺhYe5WXXTUTe**6hD)5h3Ga+LAyU@ҍ̉TH^mN~yTYvWLy.:,z 8)m4yop̖vׂEhz¸{>/3WvT oHi8>&`2"ʴCwo<{7<;dZY՘+rBY.M,3r綨^NzCg]Q{CQq,p x(icXkB{5*TVWy<%XZq_XӂrJrgFq&𤶝 c'%̊&f\S[[M 3$fG?#a!pZzcH|L{PC+'>" r7'$QVpsr5Ȋ^] $|IqI2!$YD"&݀d{2}M*HO­-eR(^;~^?,Dс! RRw_n1?0.0dmxƨS_ 򤾋usTG1{'Pr}4n,AKSVmsM;9ЁίqzEM&=TPټ܋?u %x$Z Y8|[mrhf΅ ԮC;7sRv!7[0s'* +lo V;J4ƽ`v.T_æ"pY D&c.4]85K~ Ѵg|P>Mȕdz `>{tf j"S"a)ΰ},CK߯M }J AFomXhݘ%f3owpXtuWslpۨN20/4"%50+kv=װÊBr.//l׬/M{ Ԑ`Irg^pe\d1O'VCzU0yL'&#:GgkWs UDօw1CY-?Ô߹0r@b4|fV10\Nj{Ϳ@ړMsWIHPc g%Z׹ ,1~ PY[@eDS}Sry1gZSmƈ6!Q&99Ow;Gqh"P0lb EϠRc֦B|,q}ƨ=U`6E7V$So%^% /XiT؋#"SBuX9>sb8][S[yVDx}.Ifɦ1"9x$z?B~BgIO0+Zf@j)Gu//93aqg9&c!`NU0B1MO\/޾H!Lz n=|89ɒ"a1>߂.dc+ ,ٜ60/ƣIhdهX'בx?_/;qa9Mß݅6i^UY(7̹ ,íD1"O1:Jj懧!=v(aG˴E8LL}Zv]jURDu(A!ReUoQ(4"jJ~rP=ʿFg-Hn9@> Y<4eT|7XӶC]=Wdjq#%!cKk ] `5XE:^${i͑C?T\u8o`Go;8 U0}V8!:m At!+%Ll >roeCb*%b 7b") &tIw&Bi [LBFd-\E_$ֱB`Ft =fz~adZxtqfpp :E"㣐וwIs>p,@M9"m؁feS`Vo'Uz/5eT,_dyfVs2HK.ݧnQ2A=Z_0z4s^ ѵ`nb~q(ykDl/]_x%P8y{e!S'IR^x2Φ^eKvqnn.~p^P﹍3Yʛr%HR/)& K`^̗ ޮG6XJ1'bM}h)sn#u7)z WijB3d9oX1HB=[QRRdFِ N?Q迋d_Z$ڨnu!32QS'7 fV<& "K'3wC=tሞܖ`QFV? L# aq6: nBK'z6s GV1|o&P-ҦwK#sϰ,{䥩a+_[cwzMl+{_lg BɀR ZةjW^#A' `le>f$PH. tChqiWsr"WQ}vy+DLyfSdI߫ѿ#G9o4l(\ͪ~ZKc"mz91.U-*G~=>k FĘ}ea•}ܑ.z#RRKu.< g7zόcCf{KEdNz1 @D=OB`vD>ޓ GR3u^rA8πR^ FJWB)νZ[uHqT>۾82C  x;@}JCf2f3O%eN\j^3IlI4Jƌ*|ޞaVoJ&@DzzT98q6*yd/>B5d$}s#&f[L+*T䵩4nYb1;jRqjpnt iM5ELi)N2>3$.|`T[ ZhMSlA.D4wi=1S.#6L%Â!f.ZO!O9'/X%"?b=H?N1v,|Oxu"m\Gw=hfpxiicm| V@6L!\124Ra"-$ l.U AW t29ZFX(Sf\']J=8JT#g2hWb3"Dkp`cĐ%Ғ.p;aspKM^D!}(᯴Td= x -XlU)~8文x M.R )iU0B!{ Ȃ M:8ol$@|Ɇ~l.u/I)^܍m~nԧ3؜ H~B,>.?0 ]TW߷YiD\|2ɠgRLXB.∓|<[]*!_X.WIf`r| ;$/  ƀﶿ"Iڦo[J?rԫnޯ8s˿ i6Jt6w y<(j̍=Tw-3խҤ '9ycvaNn~bb%$8P*bU$8<"p*-m@9]{\>Md w"eܓ:AiIRTȣ\4h%hҊG9[I?zpHR9/hGlzީ^7o$?/[!Pڬqo9\G 7$sO15I7ORJW? Fgo)k.s4Bn~1.0"LCNq#PEx"+JcM㇋b 0{'E ó߾'ehK>Q ]X_Z}sMHE؞<_*+$'yaM,OfxU1 O;||Y?31 x(<\q»bKt1/6H R "19}?ԖY)&QHw# #X:?=Lס9 &c4F Nn0Di aK&63>5w[xzOro3(z=E?#9YAD *ۡ4@Ӽ@{9[y*?f)MT Gr5Rxm+4Iseg/Kz⅙mبo.fE?`'9@ PÌZUW5l>3;7yg,* T;SWE1@ΤQӺr/VMҳ԰0Jdȏ>/ۺB(p' WqX]h}o;8ֈv*ڲ 3C-QYK4C<vx+9?3RB`2ċviag 򽍗BUaR#UOϋem~ >9BH#@0$)\25^WtV3MwFvuhu}S]B@QiR|nkqnߔS_Peyܽ']ݕ8\uG@VVlRsq9WCJ .qL  kҮF$)? |Jxsc .ʢN\"ce 9} p"CCU\V]_ 9<#c:D 8a򉲘6wor;"6&,lQ\!0d #ĩC d_ɀ'6\zW7ZF]hI8{EjFO+b/[v,i IZgGTvD6,U<|G~ 8:|{^IJT#,FnIp07`?p+Nâ_ϫ0;ps9.ԥzv8tĒU_tƘzu\ 9.,7>+^ʊY=z2Q0ێ pK!D1{{R{Sbe`$p1LbgM'%]H3L,B"S>Hh__ߧ o _ L59ʄzD}D@)±KT W'pAb Q~~d0=[m^} ?u*f[ D{~"0Č-+F:čS?4ufc#{6>is3BW)) T.>ʹqLN:o/(8!1w'D 4Z79k3%coU!'iJ]ƉJ׸s||qbȬ]W~+iڇ+us<;NRMyo괯NA40?~F L l}+SGhg*=_d&oPN[Q$C5Sl>l *.u<'HecawE9iHB J?䆨SO 83_"0Ϋ'= %?8 KqB x>/*h8hw|]҇1Sȓ0 2 -|efM枌5i8>`dϓK=R]_.?0E Hߏ[)ZN|M#kwbQBxdoqzWl1dF؇z&eqLz ~ TI)`3Y?<- B_D^1n3C\BXq8اr̫qЊS*ϺBX.<4f4p|sJ#Q,B&^x9=?wW6)HK^Y=]+pzmL_[ 쁩1%΀|N,,4>_X~ysYHczc:j=O.lN.z}_\MvFDRY !]PѼtJ'O]mcd7уDLĘkd DyF/ET @<2ws*64*/.ǻx}:Mc>r^eGp O; X0%p`;SdE@dܵb۷!Y Ͱ+a21q"E(xۄ2҆7+)j&=קSE9h+{jC_R ^i &bWBb96BbbXcr_G@=]*$c:"S]ufz=J_IC_4TWZ"VȸIbf$ck{px#œ|X.O"+w*f#ByKu8kYfILJ}Zߌ9S)8ke TjcbwYi" D[/:7"DXtyp ޿X#d5e9\/ c+4q.7jDM3э6'KG>(4MЫރ`EtyT/;jэS" p0wx?8Ր*Wyiu4k) }Đ?.ꃕZ_T<*@~f "=4>nίh1& /Mr ?bnAA/ )Gl]3h)5szY_ )/MfL.v9vdE" kc^V{v5IOM&qpU'Ka,«bH9yLptГ}F8. \yWGPpBxVD.7D f\K#Q7IUy&{mP!w+T"Q[c3n$|*B7I_2̈d x *POJY}F54 \T2DOɷ1pc&hKjqo:Nw[{,=de)Ex<= 1+i;}CZyh %PEX EǠsDswC%^sCs_e\tzf@LE| qRD=l'‘/"% mbl0J.!}򼽿}N=ҷ6Xθr_qH㼑VXwa;E_SۼQ/49 s4) \䪐pSnVAm޺biQ=u|_`n-i @ic*~XqH=߅ MElD\ѼPTԽ8](B_Vn')]|w3%h#09k}xga;#ME~A\Wu#]ax$emo m.H VC]Q$ VM%[=H~B?]%.ِvxW⸛>~A6,(dA_^c(kI `1k'7o8e릑~v J%jr,5y5dp?F+YNѯHj#񳀐BuOd6{y2vXLq05iX7&jab)\%ƷnGo?OSse>!ggśrAy0W\ ZVZz^ IDBlW cJLu:DX%$;\K9qػ|QOp"c$dM"_o@2!7΋o[d7ov"Kxf=J5,+ \nZs.u}BhûwM(:԰R-W,G#q( I2gm1}Mr̿ej)nP#x2m违Z 'lu@b@Q^jn5-p"[Dq 6r&u~cIb b5=@oB=jq\"ߗtIՏTDJqc+i knSP j$-w|`Rln߂D@q?` /h{՟D)h1$sR̹H#q/ xrE.h:"?C|b';Yd@E0_0%eE R"}QExJSiU*XO Gd2 ZWzȖXY},(MNkÜAD}c? 26A46w3ՙH3R\lMX,ДF|c>Q$ҰRRJOŽsw2WɴwRs 3,QmoTST_.7Pny ^ucUS{>Ll@>.} E,.P*wfa=DxXfX۾><~1v^7G+۟0`]2D\<mlf`OW7>TH!FLDJ^:JS\gsƿVʄVLǂƎ#xG}07zߧInc;>Sr4*b鹨 ۿ)0n\a88˼FZ7NR 7HhU~kjR˻F*u/}ڤYUMzlN߇"E8d=xJ,jAZS74^ Wn!=&=#1Ӌ'>ƝR2,1v˯$_ j sڰ%^\JG\W䧾N[㾰G꺣S6(rnd-^^sb A' Oa)-ྷj'`]}"pS"%Orj2q! tQN6T0| Bq%m{> Ws/lxШiPe_SKӛEh" } ,}?%}֩~S]*(!n)dbRBrY FCFB(K/10An/}Y[XKI+n2X؉}V,!֓VI3M]2`W̙ ~ Y;'Ej)_Rf'W+Y=Wha4kIꏥY6W$GK!VHPMx_4f2dZw-RQ,nYZCG6 2 (~Yi;l+1o j-k͌{5,ezHP{X_ʧMa/ [lTzo^sA8(2*Ngg4:)^i]wװ '(^zbBLEBmc"ʷd8Ry FiQl`ɜ)=Wwr~Ppmkw9lk!]3~WԵ+ d&L@c.:<'>r_Yj<ڒ~25=:BEb=TJ',ΠRؼX:-dH6/ uklr%g~W wwX;>8'Ԑ7W8Ƀ踬]U)K+Rߔ`y̿y!sHong)@;s!gCs2o=b LtȰE ?pGsqfL$|.8VALPxTW()>  h+bR,mf>쯡`)N9)3TkԙNfǕX lC)O]t+tUmKu(GFn vM $b(QV4lBYyrp6a?]2RѳrqLwkÈ2CvNl$o͂1,EQD/ݾA@;5 gs0ÄkԔGV1LmxAU(rmM@Rϊ"p%y+y-&` h7/"(8%% {@~bT?܁;BW*!E4KVC.1Ri7_Y#-Yp2H{PY 8 ! ta,쐕7e)6jMt}yQ_,I$O6kB8ŴFB(BAߣ9}%m],ŚBB+^'W Pj 1m6YvaΉvtIp( ;ǒKgzHp%R Bv̻d/*,d *B+7"23_U/3P-o7ovɼS~m*YD.V+>>x;MEj7h`vl,cFY9$]-730y6zs;ָlPoG!p@ԁbO2/;D ҆/hI =y97T sI%'Sl ߩ)>RNK|ѧ XЛahR#7$d|5;^bw)-x?I5:XqoC.ƀ4A^ü~"F1PP|<{*s{*Zܚo,V,< _$62Of>ખtV;)md.ݞE?⢿{8PzIiA.0 4$ʐJxl]Ln>ĵuR4)̌;ZYW{-6^y;n[ nI癅2T:LlLu.c"vq`V.Х\KgV $Ƥ_;''QPT\uIL4E8*&O]XIR[{Qܭtk-O1_"|yf"pL^u65B*`#2 <8ggAE}bUAi[燘T̡KN,m'tdiw b= XB(w\YԍX)Iѯǜk^%\w?? 5|^qA@;Uݠ4PXPX=$ wB6yGv 췮iH7, SOpо7]eR*V.)黎|/!/ m o ܌k2g,$5k۸0IsN}!A}eD:w|K$ z_-8M? 纎0^U_fr%]ImdFRMBy[$ 0=wA/ Fl%=T\ߪ +N[ /} oRR[OfjMw' 9ܠH̓0+Is9<[a&G%Q0:㙎/Z<6X=uXG}x:$|f ΔE"a?s^΁&vֱtLɎںEsf RUL=""]#*fM:M:/* $-wlk2K5:R%^*3σ#}Gd1# ^?#A߂G^ɛ Nhv=!0Y^փqˬns7"}?hXXzIyϓH{^uP~.`M/(gqD m(4Ydޱc)Oq!K\\6aZ5Ԣ&R&m`-&ȃ~ %jғyKKFڭquW(;!DS2FW)5;XPe?HgY mty@xTkR-qr5"MRmYm{끟#wdi G޴9GJH"{7}ɕ<::&_WlPh{/Lb*'T-D5X 'W֩A A3-)6OI BϬ i׸NUF-Nhx<Gq$\=/zJZ\O!YĘS@L1LvaA٦H{M\??ȭөc>D}>r .A+mj*Nsم*=n{V^}|N"`+L -M,HuLyWƴqB CYg#_8?w;N9YE|(.͵zz~"2 :F!PV1lL9WU?u¹W~jI3P[V'LCB^pHT΄^{p)pvz=bFg#+%^ g9TR:zsaDJ_ow.q ?TG2d7NM ?F]מ|$&և3ۈZ<xČ$fNmbuz:ϴ"Y]5@E}I!)N(bz`WTuQ5Gi#٘2?I`wQwo8 V&G\:q 2eKÍ ݾ\Ƨ+8?jp9J6 &㊎Rd%.Gn8q#k'rsH f#e1꒧ .L(EG"_uϭY l|;jrmAF7_7T!0! /n N7"U5j5˭〷jܒ6$.uߜ"ΫK#"ۨ&~R^&Μz8"ϼu-jd=u$p-h#}{}2[kƃ{Vz$Jv|\Ó .XLd 0|6 1bg'28GM kj0 8i+d9\_:iQ1LY@_S3 =t{W# O>?'(} WD*LoX;v~ry#bB}K`2])CL.zhGWpppW\F2CY䗞RqRiNuQdHDXXGIg?bI` ?qsAI7ڧJ{֭0(x;ѰG%~K,v0`+ }*V '"m> }R]ҹM n urrL~+q{\?o_mϫ괸KK֋*r|>^y2u,fagn*+ \ҫ˗1DkԷ,Woi)E"YK Z4sxn d'oYW#L}EWi %@E΂nPTfs%ó\st0)7(p65Qԧ0ю9؇\@2RjW:|Rz$d Lr|U(cGBsŞtN}55PVDi&-(յ۟g]Ȟ?i`t,VW - S0Bi@A;@m̐ƉXFڿ:3}BDwDI>z勨i^ &-4~r\2!hJw* qL?;=hN]-zkB&QOp;<3_ R"Cep [ԻkXBCn{QPfȎ+P [Z8 LkU7/󳥧nsX3 8B?7ի$+)qT [Gמ?Ɩ/Vlt&dvh6' bNr%Jb;fdP^Wmx*:8" 4v~l)kI'hAO\"kl@]MdQ["s 21]Y$ Er%}& Y d"Mx`VH5C/z¹'T䚿)_hW*) =lEDM k:tVx7Ji՝?[z]uDK5ҳ5}5>ShIdٕ)jȁ4jA'wՏ'gBYw“B7%9yL[k/v!!bv33?Hzj6xжyqu5?(ϹAfci!p˪A6ܸt5#?\6Jka%zQNdHLOii٢"yY0#}Y=SJL>>z.:% M]R s81aU@3ܴA5D݅Կ|puL#)3_ #\1Jj볣g`H<+(`arc?,RE[6,؇f;>yy)GR4oqxu@3R6h4s_K>ymgX\[شvZi{r}Ph:dimuGkaeTnANN? rW;m^- *ZLT1Hɇkz̫O /2Gn?&H}-_E~]Za,x~yx'/2;G2,EʂZKsP#ޠjkd/[H^~ qNMJht Q݈~z?vH\ҿZm3$u[)?5y_Á3n~061Y[s/ζ".n·;?%RWҰOx &V&xe%?7tq^OaM[L´=2H7NXȢ[1:mjAL`n[$X( H# .6[T9Ac_-2td)r4ELT<8@j/M|T,Z5](O1%gs*AtɄPM lG޿`۷+7dA}0.ꝁ*Ƒ3#}[#VFҭv1D&}O[|AJ}M>M Z*I9`= IWl?)'ۚ7t&k8^TzP@/0V4|q2i >[)btzmHºiBR[A`t XvTY0g0{N E܎qZܹ6<$b9G*\#Y8ᮛ[vMl:]SHkOwUH(-Bᠴ6VVѣ0jZ97f/ qhU ;UgE>h T>w" e&Gn8u/9?{Dͪe nS0Pq5ӐL@vؕ>imüz+҅yi1 S]{'RKkӿ,Y{tʅuv۫fRH-#FkA.&Π.ZL-7C$"|E=pj8 jߘ 2~C&9"jmz/2/Dץ?P7x+ĦIC""wMū }UeN"`:vR*g"@RLw廀lǔGe[u[Pގm3DO kΘ ;Q!Kx _u'0Ʈ:qlL<PV3_g׫)z5qepΫ/(ybi%?a^h&hC-1 S?cYcO+`fۅkk('X)F{T8*0JZ6f}qyfJSW2V(}_Gi @}Hvש'M^U԰Gr0߿=xr"J~(.G8՟X׍X}k߽ D܇ @w s.i 2bжo:+AσJaEń;FZi+cBY\P|,`_1pT$u2-f'ZJ'H]vc!L> . 璽a+mݯY 6$Y.kGI2,)m(isy*U؛4FwX5&m7,䀣_iX_Q d W9 ><-OIRAs3)Mlio'w$TSa|&s/}hGԤ86xNhH'hd$c6,o S,mWIw.׎IF5C#c!bjdwk 6|nw;43{8,3AikU~8(Cnl t=7S!̪x7 ԍYZ?~]$++AB.]jmT6C:Fq@_E9,>B)>XSr&񱟜 uPϘŎɚ6a]kU/?Շ(O8:/LZўYZDxv"o֌m;3lY%6Ծۅ@N Ha-CWOM-`3=?fcy,bBPi1~T.of1~?W,9X;חlše^z5Ő y7bp ^nYN?&un?曶x[%MsqNœF[LQ% nuNT~7_OX#ir0ͭ f:SaC ۼ扳 ߗբUs}u+d kF,Y Yѓu7#e)wo hJe=0JZU]LpzY3&sach4& 8V"$ՆGaϦZSKAƔn7z;RvVqiȍ;ND=wXL~J߃&II75'o}ϿYt4"֞/"6?h)UF/tٶdEq5;̲ u˿ayS"W g36N,⠰߿$S1mS}56#vu[WeQ$# ~v { 4}4 ] pc7$OPN*^ﰗO2h{d naȩ1)Ci?|))YySl0o]k4PDFDP)u̼[TrWzHSo-wӄ `nRmyL] avg(]񉦮DjSk9l_z'"R T2|*h?$`޷ɩf vš,>ܬw<Pb*UQm{x^/snDIoc2& t<Pv?hH+3a[, e"ie5/7\+ρ5/Pƥ6Sf< 1_=&J^'1\>3${|bl%(ݗNP'>GϋH;Ty2TRpHQVgk-KrĄfEЎu9ߢ ŧn Aը8w8cJQt45R2o>DK=]Ěs9HaNh3m^Q/3RvtZ*WۙrSKp1f*04uZ40-ToIܶ2a( qž?F`M`;(0y|D@,߭¼=.F|/?2C] HvٟOta#Z L1cU]z@]IN*_B//6('Do3 ydە <+!° 7̪أ 2 h,^"t|ԏA$@ػqx߯n ]:"0 UsHU+VmQo]GS _ɲ-b8MvToCvy8)"% OW׼_s֎j|s9e~bf zKI35\řbOEǂ xۦx:bj: tMuc'omWJ[M~iW kvl? RPo n$쮜'>b'?,mSuk&%nP܉P t_(PLHC’׆T˔}WF I2\t&QK'}$%B*\7כylXCׂ]Ѳ9ĨxR\YY?!Y̬a!Ău#:H`q췶xafDm.h_;vQgőQ^E0co}w~"j~N}fFK+yn~ 7zG/ܗ}sK-CBٜw@) kV9:=.!6#˅Xe(z4(Z2Bc菗qo j>Rn !8NuՐz}dBYo-"a&ff/8Cjt{xeS`-iv$ҩFaʎN.28T_= 7:qY r\ ᬐ뗢PΞJw[giPUeeY~Ӄ*,5p&L ms )v'*#=mJ#Yoq%v;V]%Ԓc?N[;~&#ezL F wyKi2C`jk %6OP{ r\oZN3B/DrbVB}%ts}/> PJ|kY@V~?HTL==#YAɈń՝S,acùaB =!)}T dN잴g˘/H00m-A?}Ipm0beAFD[2LcV&B+2%!F@9 Y6w #bzOmՀ3AmW!vXiFZ߬ ?oDۻY9QZ6:FTmaqj,N*o-+ĵfC=1)8cRf{ ˕VGG\bVJn6p}.&``4^V.pǹX$<  1-[=s.O' Q3`l8qL>~9X{sx)c)!$χA+S+OwTw":>W[@ۆC3 Ig̃,#7A?߅!%k:;W*g f_nf~}CԦdi(jc7EYN7( }]߯띄q|1>X{s(̒ ܧ$[k8Hlm،mS){] TE'ٌ[cRԑ; Ɵ;w`ah mU+qo-6aEk/ik 2 uE1 Ðsl~W xXJ P\+H}A&q1fCiyQ igPI~Bh|?]-gEb~-tK`A.úU'~&jYOQ̐r "r(q uشt9Q³7A Nf>)#B\:{XbftAVf9FTPv4n榲z|S׷㓏c-BIqa v9ehfV[J zcGm9VTܟzkt$ҜS$b>S1)[z)ll_krM8^TTI-ԾȌ[Zv2څ EX2dWZTb(u*Ck3=n8/UR.3*)!BDq}Fi|Hqi/D#Dto}"% &(rqqަCIdOxEڅFqcSt=ͫ1XTX)ov{1e8 3{Xsqij{SiVKBsSU $,wHE5 - k#‘S =H!jz(_2+c9q@RA W<[/L[’kMj'R1jMm*|N=Z3knj9&O>&!ҹktyw0^p?ZRT8;ҽT x6Q?huX;4liJ {I g_Xp`PQ<]DƥMww[OT՟0ɫ ESNb%|&.B^lu$kH`[mKFf4Ec#Ҷu5p^K#<@2Ēph3Xuy* s߯lJKrum ~v毁Q3]L A/ePcwhz_3"8g.JY#} ȹ೷)y /ii8~uf=hz0Z3?;QGeMh}Ղ@ôE`߅SeA՛:@)_1N!J=&/g:$-Yʖ'I;c=8Ah%?)sȋEW/$ks5Chl ,Һ`lioVbl}F%{V7|3t@ţgrXxB 3)xxUv2,@6لgXHʝ|ĝ15#ڧA绿($.W;Kt,Hg4Zw$ NҤ{3P=LU5Vܪ-K?剦TbY Z+0kO4p|q*|QU^"BU]/O UIBD>ޥ7M .|`m.{zH!Øw $@AN\G[D/f#"}I,Wr~"فazKzƚM~Pԁ *P0WV#~Hh$9  kAɼj{P*PHtv(af{_Q++%VrYV 0Y(K}[Aqd.p-빿h~ϩtBnwuNhL'h6c ׭:a84rEc#~1߿@'u:="[B2EF|4wF<0# 0-)֧nNjһfЙC~K7Mٓ\amUKjͥ&Wu*m|^|CSR&M&rMl*ߕΣxSF ^,YomS#Z܈<( iwG8a9[ɀQ2Mw*]A4*tʼn=Q`f`$QEpǪ=ߠ-sXHՠN6 17e98 {9<TE@3Ye7X7;/9Ez]K5;cR='=:dG<00G"Q@3 @;۸P 헦*q݅+<˖3:DhqMDH"~LoyqԈ- ifS_o7DPm0^b /{6:м(ˉG8Ȫ弄!PW5wZ!/),ֳ;wTVrv(RлptA(;TqTCCxd;)x@tQH0زJLA_E|eÇCJ߂ŪlmVm[>bώAj.JUܯLS`(牄Jp+kʳIÙR77{ɄTx0=8ZdO1#/?4* m ܻeC%u-@NޙbkO8r^S>V|XyFmg*y!Q}=أLlj16E}UdgQј ^d:-y+5?! Ak{L v|9{^oύLmsWo|Xrf=x)t1ep3|UwR`#t,cްE)@gؠJZAD>;>2+TQ Jb&r$nGDKc v4"6\ж}12=VmT?' cW͋d.z_r_ʲ} DF e⏓y.CD+7= 7BHF=_21xN/#؉p]#Su[dŌ#R}qЯfl@믯+hHעP̀Ε~]E}Dvs q;>y]zu"'/6f"hGSfvC3eƐ1-]v}x]f<)ĘOOApuOA)Cvᫍ$cc5CLY |1PI`A6w %OfMVP`Y"W90[E WOo! FN3V"g OWkXn{tH_c}5ւR"i~eDQ ~oij;z\zLfWINCK_c2wİ)fI&~lv ƁoB@QnfrJNj> ݲc) $J뽴e$LW$;?vpa¥q2 fP8϶bg(LB®YJS%QRwCz3dK+^}%%Z)ѶV64F e{> b>~8t sRyП:PsV/YågԥR&|20 S neK:x@Yf$cWJglHGHVWcpS-0Xլx2` hFFe++ܣp: Qy*|1x[IkH^>zonDW{~M8X16,2G#CH`PzjD|MHskkZ{6|,35,'Rɥֳbs.PWװXl2uPCLy'*,/ϲ_y.gfv~龫!<79 q_rF}Ϯ.AØ]ʭ>z@pJXaݯ|]jn{_m9J"֡<6Mk*Ikè+ӛ&YT #U|  ~g3Ȕ.T& cpF(⩂ PVtۮ˥Nﳣ~*Hx3^q=O_"Im-(7N= b8fZNM)Qzbb}YC4޾d+wio]*"FQ= ^hʅ 4[iSc,Y%-8Q`h@f)چ3!QI"}CQ9e+o!j;RٲڇN: CxWvh*xOj[ȴמ!f}_so3eh*evv0(C*]t_ ž^Ki=QƂt?#,SNw{-hzs{]8K6 Դtf c:\ )ռx'MI|٘Y}gX0{dHg:ջXEe~V̴P7nf詷j!w|uW2P_,7XOOh* ԏQ\oq\8CKՊ[x[G/ T#Q ,Κtf_"Zx|p1ݘd,!}Hܝ/jڂc#w~YcqV,͋!hb.ߊ~\YY 1(|[w<Ǟxcpq10na90~Hv@| icY FŸ|oߙL:ہ7IƮ1{M_Fzê |K3ȪB{r$^F IXt TC|]y;B[B%TOӽ]t]͙҉w CU')ÄV1DbR'ɛ7цSnakh"LQbf ~L)#F{XS;VK9 r=\?q#Ӝcxy2#Y v cc>"`OE;[wRI^) {ҬlFwLx;>ēg˳` *2iJN-Z *O>9qHoIw`cヌ-3D\BQy %nCC$:pt0NJ*(^&<J"Mw]rʝ,.ۉ0>O\F][ȍ=V07MCe?/W$=-3Vb뼤`F'qa*$q@E]~aFp؏D|aM#bUv%wj]UMROAޖti"}3,el}ϝ W#ICLηX("eFyBeV4p\X~P4ͺP}6hr?wYW04=IC>\E~pF2.鹲 XyZâpu7r]*1"mgUvX:<*KL`9gG6y=Cg*N^tbq3'c',D0e+u;Wɿat]A?B5ԁq @dԙ8M5@_k6k2}_XXl.? o1RXd S9?C2[|}/.wj*$؎L+:(մ[N+Auzl;gglZY]8ti&pKIJ}EjpZv=oҢY2J'l'8'ך⽤bjg6![I &.QL~֛z&K'~"FK~:q +ҁ3f\pCvPc +c,D4 Z06SR_I`U3 [e.ݮodG]*T|W?waU\k{u$ih#efvJVϞEL:RUs>Ʈ $ ;iT9yFܡ=L{)S*]8ؠ3 _e1>YVesjz J/ݧSWoj`>%d'=wde}0D>L6>(LK1(L,~<NjÎ@!2hGj{K#C5'R =aWu#PCEpdFmS>WDgȓj@?ay Z};9s7o닆xKTEȄ~.k=.Hb\$^#Dl(?"q %NpL/]9 K`nW)6by.7tLk++e'Cu_$@c}9)veAuD [DomKS|#k)T}\SFc*cizB7_UȰ9ȖMx촂Y :/,CFNQmO)78dメx<~ 75/aJ]Oʖ0<}t9ZE2m{uGżPעdލp_d ]H\sÖCչ #Kčo@? w/"/AF#Q=oڱeLu.3Ⱦ`6K%KOָxCY|۳7o2č+C6(=6"vM} ->Ql6޿G1=|]hgw(fiHcygJA!ok81$3>oC=%z!fs?QbZLZKSCW$y h^A|wؼD z⺱WɐOxū8, ٸ/iWDUÙ*DKN#COswQcdJVC#"s壒uqoS?1%-!(7B?\TKRƨ!J~itBC& ?MKzYo7gzScw'PIRjO*עqaQ;o9 !lDaU/pqv@nW SJg2x}*K.-ÜW F?zhl%xK9]A{ds0pkżOݭ>%^p&eksl0l=edځRb\OZSj`Ma٩'m I"}n&r.~`Ϝp>d $8ةU(kr$%k|7v"k!l5fIrBxEmQY ۧP5P}CZ6wZcZHhC9I ^RYR? H.:&w F2kc.葅s&"5 !(a(oJ*Ev3΀̋kP})|ทz%><5 v 6Q%8EY΄Ky_k%,B0ߧL5)2d^Ttqܕ1+4z.dΏ.,bVނq㴇B*W9]>)7絟V ./SWtigDhYR|0%gjĨ3e~3hq2O@9D٭clPq*cY-G3X3IuYƇdeOGt+ ryRHQVa/  |vS!Mk{Ÿ dZ,w{'֚gB| |}xjPR]nacgR 1:uYCy琦Yf2W§o(SP-9yI‚Oaۀ4_*eLH+;[-J^}Pk{~ |4u䉊8VG;F.:E8/bsmL=< D[~_VOEľcFO_b).-1s]x3+wq;ٿC]3tQ.ǂehh&E[ u`)xs*սz)(*Hkj^&aVZtF+wjZG:$//u4mc e?K`j#ذk5ON3LMd~!%F#|:G,yy&Ti xa_GlGGR?*&a~Wc"J[yFlF ¸5z୽{[({qvQ˘ws1 uXtn۸ZMfmFw|*{h-S#ۜ>=w#OEnef;0URm;IJ`%C]k%Mi.U{CmFcrq0 _G'TuؘCJa1DŽ]69H@FsD [9r|]S-aݪfxK*tR|wH6lЯ%PY x]Fm&Hit_65*ӾohN8[ܺ,>k'8&":6nQOi&JG)vT|}ٹR Tqn4$I)0$ф#/=pa&G{t֟Q"=->A~cJuywcd?ŗ$Z~|J;Wh6CQѵ-R:k!mCR_bi~k6xi x\ѷ)>}~fJBVHOÛk";?9ʷV|oN;}AR0C:z{?2CZ#!x"C%8I5+\OrDs}v[/Bc1h0 c;Gc챯wi.}1$)\g.c:&ďRZG 5E tjwueⵒUNjo_HTjA_[@X {*)oM-? # (oAfփաa_؃Dּ9%M->7H$WHN,­kq XoUC1.Zwd_I6LnoO!7,qO݌4P=UqV(xCI@MtnS**oz%iP#Fbm[`-:,YgFo<92boq}5盉R=`^$u7akˤ sURa Fcx;Gs._MDPMP" ?ӰDVǬG_iXIz}(,H{,Yޕ(D'?ƀ鵫TnD%0n{昰d(n^ȵ,1vlDa4edslT8CC1:} wMGP| X; syM7QJ?cvgխXppĚf`)Ƿ,Gp_~LL ?Gbx؋jNM -^~A|Ĥ-?*碹u@x T.H'yu[Y5}2 AQհ0IF|छזPI^UY! RR%PĭyϰO~&jZr T a ȰO5MMXЮNuG6Ɍ:.Ɇ^ ?dD s|qgg*ǹ?E"wzUeHо4)lNJ% }݈=Nc!ŰƮɊ%,g'4jl^ĸd;=~Wg\nX{?s\D߾pH1m&4_3RRWcJNU}bSywp8{Ksb*!ӹ֗=TYjgMO= <${<hAp޳0HhJ5 0 TwRly>t0;bOLF7oZ{yi>طghl(CMq<؏%nz[]l o/=,KT pw”04@sJ욪_ ZF_Com|R5$,΁yTޏW囇>o7J&B"K LoXkB;6kisnL}Nw2匔ѩ.^iqz?f'$5kbQ{2dI4IRޟ. $ZvN:{Zlz ?b]"-|}o9bre*s`A%>2N^ :oMBj1?v gjPĿp,+۲|!t}턑 @INpΨ?y}Ƭ όg:+i~b[*#(aM||N80eZJؾ_P8EJդLb|^`jaʦ8K#@*^[>.kGl7Cviǹf]QNfRPb'v xT#am-2\ꯚYk#}d̈NBטDf|c33eciqsQFbTj̨υ\kVQf][l=fm~=E|-wtTu5Fo6!$7Av  k>2o1*&zcg_prAS="M܏ѿ9ߜV0F2S MQX@qzkcB$cЩ#e5A`VI<ث@ :#70ӢƗ5¹yˉUV yI,~`0i0 oJsDqD2x4zE-eL̗}Z&ڸ!ZmM^>E?}ѨǺ>±o^(jh N{֪W?.Vo0Ù}nNzyL;+ԫx@͵#ml1ϲ'Te_Ux[먽J_ð_Jq9(c@k|]1M,Ƶ&2ܾxsAN?o^ۉ~Qb-< w%]I*vϲ':wJGZ}YFEvs.S:iJBy/7ң>b OT#I1{$ˇ4xa*ƶXARM cwտ~>*+u4jBrم.|P#IU nus5?+倥I.d䑅heoި͔>lMǠ=R3WH*JLģJpxJkAP.4E!**w`?[8Hjɣ \jJ(wP"^SSa a6t0>!P4Dhꪕ26?kVGy;AOCݝs:!/wD}sZ;RuOF+u%2Ѣ|9 (&h~'V#}'Y\,_ozB^1Am8zD7mBB;eUnՉ(e'kDJr֎z_an_TOvG N> ^OMT;=|I (fmy+K+ wwz'kKi_tv7nR' gfm480KeLݷdovM\EebTzoDWpgN,} cCr<9myGqyX#8Q*i%1PDZQx9JzF vhc~iW =aDgz l nwO>| IbZ}&<}R%Ўޓ9nHJ貑Dp٨>%' >Wum&"1\bA8,0. #n̻E^{Fr) _ZocͤrvĴuR's|Jg6)&g˭'حtOeˮe%KhR]4z$"^;?v9i|^[/a_9 A_k;Zdܟi'@w%wF\P&{\Knlұ2sGthmw.9[^E=~Aw3o rb!Br+|H8,R 5O]cR;#NbnQUV&}AA:uI{aaXZt oc"ܹƵ:]hq  Hʅц0' g~ Ā~iA#}Rq6*t!(W1J7`7m} H_,/w&~O08+o% _I]iHEo4̰$ocO` `r@7Dd(_; ` Qꣵ/$, S[q[a0Г~ro@{;M6^۩0~g?9q ~>9%;QzHB`yLG?Aw.(>@}2w ާAwkŘa|w{5`>[U<U}\7Po2"sw)wZf?'gD7opo\iBa3>&{[;gCPWrb_i'M4m勥@~ҥ=;7p;3b[0 E#߬I?#G~9U;g8lA_6a[VyoU7ُAy<_Һ8ˎ$_۠qk}eg/ջON^),+ǭ)*/-T[ _'1&=` ~A7?^1F>ԯ $m?rroG|E^ $WB> [G}뇢د q4~oIwPөg?R,X14HȯTz 9'oȯ?0B,\/Q&?;j"P>Uڰo*‰mqt%pzK2W'? >zÐ?,KQ 1Y 'ט̏y 2z>ۀ(Kfn%p{+0 =G!B1K7he1  3L ن,BcX" F .$v`$M(HC?HOLlN(Uj437)0ˮ;hx'e),gY7 /u/dv_Wħd?m!R_dVMD]w/k?џ`_wQ,9a }9ֹrvlN,ȐwJP!䈋!1Rpfȅ6~e3uè}O^<*n>Wkle[91;iѬ{}jkM39h}ֺxWt^O@ Q;b`l b57nk6/82ĥDvZՊij] "3]4oy 'D"DU;L:ޱQP5:.AҪe`$ȖN ~sm.es+]cZMTms<`*p{LیUϚV!<a2l?J#=ӐtݸÅ 0^vwq`+=DqaI1t_O~wjkC +cGB/#n ɲ6Պrb3 S Ye$$ ( dCeU|؞p.Fr>](啰5[ć cnC"me:%FNi1Tcg-PsE|KGޡ}c(B|:| Ѱ!k(lJ එL a0Ӌza\cLѺT֛iPn{>u/~6q3 pѭsJ^|8F^E#OE|$کd=AUKDA8M!6rM~pgY@Furڞ!e'AQ, k]ASSHֹ۸ٱ ;6 MּdQ'#9ތ=\1#Y*;jjdc &f/g;Pa; I^^H6*M6:[Ț9ֻBBB [=H.~XڈXYn ֋n8)isL~xV{$m>j4ZaW{}ڜ NA,9 F3J1|Xケ.eJ:1$"Jp%瀯q=*+u]*0Irn莹G1G< zzH]?B0mW 'vv9]2gTu^V qD}cPM1]xbry +l J! Eo' tFԞXҪuudNi#*4rݍI*GzxaOagkXchq2?1OA^!7>kQ bF5); a3:lq*4G3!>8Wh_:j$gb% pbܑ((/X +Vp)V:niy[&X n*AFp0˂"S.ӊf١E@SkD5z˽lӑFVM¦t!7\K?stGQJHT}}Vu_,WOyk^Z/ӟ2%#V^ ΰ<&.QTEWp5W²<<7jc"#Էy8EkBpoE\U%C/’W(Di/xt>jwS۞#K-51T^P!H^ Gp#{QVv>!6mܔТLXΤnyP7F? ?0>3F;&E[(aoqq]]*_"LOå@ n=]6Sۍ}|ʁCN^͖7c&)i[8[v{#C Nq'Ĺ不v{dޞ Yw|ɶ8Ì8>yB +Ƨ*(d 1ɢ$PlnRS=sڛ81Q^eyQV0rX )tYWzlwcҢ@U}])]$N$׃ 2gwfẌF"+BJlVwU b[C5Z>NOj|jؕT&l_kktoP$X 9h:֧gy˷*g ,TR$pZM6>UN7c|@MhY*1,KzFEՐ3A:$xfNdLބ(Ll\4ډ*h<a["L8Շ"24AglJc1tx͖[ ǩs8\ȎF-$'FLuF@;7p}z2WQ96*421lC. )\)sT> 9앑>Qcu~%+ qEeiČ/p@SjĨzK3TW9"~k] 6 d2XYL2%&ݸ_y@%ESAfh[$kjKKU( *6BH){lBv9'>4sGdQ^F̬{-uH%Ɏ\{sΣ܉ӊgvaiŶH@yv&~eN3q$r$m8)ޑ6Χ,&F1V76AݕPզj?"g+\O4b7?]PdՐܯ [H)Syr$K-w#j&]wk/%V辐4pgY}dnS a"Z5)!GýDOnS9|enPB}&X·Z݅"XCN oXZ  `z=acFp~T=ȏ i<`Rblhj 5D@~`C|n=j+RbyQ-)5Itf - / <$K-t57 [$ ሳ?I\ݨYi[)h|@dx-pʹ*lZtS\MmNǯ9ޝ;N)= sERQk*iɄC%]7ӛ̝GkyHADڕՊT}MC\i1ЈUB9(]W.c!іKߏgCtL=6`b0)m7epPJT( hP26GoD = 1**4ajzzT נE'>mgd(7I?YB.'#2q[MSr2#iu)ψ1W2!|83u1Su,Ϡĥ:Y槢F]mSϕnQݡtOʠ:SGqj"!Z+=f-U6R AOb93QG$mzdp܉!E6g~!PTˑN1S uRG9O6 WR+?}Lm>\*st IqŎ$\+|z<6O۝{92 ՙ#k˓ \fq  vN݀g*)sԺ: vkn&*T\!~ 7w`TDHdyw)9ðႸύfu;ye(3 e!mZ͠$ :0!D[sAAJzW@]EZ7QDd?瑠3N}Im/VY2mn!2tP%9O7ՠ{f*H0^yݺ.@yqQOxga({Fuxe[K7(!+|O  'SI(9߮v&I]E%.BYJMm*%ښc_Dʱ@ٻ{i@rMD{ʧh| [)ġÛv+OЦNK268NxnC鸽`t'P  (flXK-9jBݣQv޳:X6drz0H;es}rI9w=nTS2@%L4A&8fÛlvrqm<(T9GhUz@8 Q }QR!bV8r*hfуaAﴂ]AM>F>#|"vSS[)oZؠrb}miV=>QM<Ud+[dzU=mdU]-lZ<>Nz2 11^2WMf#Uݬ ִ|p k U%IyF Cw aA}1O{[ p}`F>;\FDfG*L GN=f܃go\AYT]O10l:pGq Qm,$ҮUsIYFu$=Ėr<]ƣfBN %}@,aY=Cf6QV=| X@)}ow#C]AqHHc\*Ά80x VR܀Us5&œڃ2VJ.=҈QwϬ RBmP#;48y 4,J~B=Xg HzbRKf1qTcyTv8Q/V5Zx/ACwFuiS.j3QCpŝIRy}ؤ>Pr2Tz1Yvjo*W3PAȦ,49 78nkTP)9f(Nfpfgw !-.ZŕZhTxVm(*CiH~q#N><#DP.u%kWͤk'&Da- ?^bs;s5D8;.$68=ٞ="GGp·CW'TrFL+îe75z)0ifh Vcl)a3ittzehX j WjC4Cҕ8A+3FbXcKJATJuɸh rFL@! VPJȹ3vn9z((Έs7Be;ZY]_7J zo@}YiAYcB/yHbcã&N\=x;ÈbUdhje'Nh& <<݆]9=pPFP3k): +/[tbQ2C C4W6}"OF\N#ilC~cxʜ;4#?v7']bMSpڑIK.UR*Xs5yMwGžRBOr:oܔ|V@1<|3~Jwq߬FbSY-O p& 3n0-͚+$j:9@P7U8ݣoΕCoŃݶw5f?7 -wU(6RPv HrN:rqv}FL¬β`(ߌkŮܩ_8x&̐qBV¿a?S\A3& ; iQ7|vny 2= a4}nG5${%}rI=9l@BV!BGyP&oN?V"e-ϖ zو*m)kgC} [ΒFZjzdhV=9,m& ?v(+vR' D:m_pq*: Y0Iᇪ"(}39̶,'2Fd l8s }p(Vm jz(nڨeUr ^:(]a.P=Qz :T@K7BSrAIB?>8誫!N"t8mNjC]icLT9s<(z^79* #ލ7'( 2E.0]Y[|Hp cy&Z֝ReS>> )*>S xDE8iۖhJ:C&ULTmf.=yhKS=Bn\4@ƧG3<㬩YNfy %W~m[7\3y\$Ôm{gϡw0ocf{*>6nA\/@_s : fﲭ:L:+ }d<_Ȱ.=݁6]Hf{>IEF<)ߍ; M1 7S{#+CqcWpąS DA{ysxJ6EdR uk5ΐjX.sl}RڟkG-PXSm;T&_έ^ |FY" wa. 53Q/:Bu0u{Tp%"n)rI6f4i]̻>9>TS 4#Pd8=bZc;Cg(69 Dw~;|d@bvS[? +* 5d<& ( kqxZՊR<*p&5{i-_A;WWjf̈zs? xg ٢m{:e7׋htF(T s'H"Wƚy߽ͼx}?TQĺSc =LQ&O[<Ӈv#$)v[=еkw3aդ.lf恭7nugBo[g y`*S\0"WOPˤAKL߭ϛRMf(ls9ÇHPUwъ&.^>RWKۻֹ L+2hdXm@IӉ8GꓗL0,-dIÊuʄaoꀙm-8$L5ٚR? X?Pw*$xHT|$FWB i ˻^5UEH:Ԉ0ufmGJ>gˁk7?0$Ԏ`ml} W,LofPfOή O#E{@,@f;͵ĉ%.8s dνf/4v͍"%`ގK"<`76 VN\^sH/7e1F$e\򣴯NF!_WB1:~nu5~gUHXYA⎘ce6,pw.*($Sh2{@c2t2EB*M<iX_N5[ &LEB%Dm/XX>2S8%;3|rL 7I{;ƨ^0F!cvwHxI_*%\jy_D7>=( a5diP|ibZ(p?DY#x׀חTeōC@H6M/aYY1PvÁK'T9FW I?N/KޑJ{*_b74cUxzu(+1ovrJu'{ F$n ANU`ȕs Jĝ@wEVp|sbṜLi=[⪸(KR-XjFvhq6b`wj Ԏ!? dǢ_))uc E+u-| ?sKаؾޤ,F5M7zٙUaU:5Գv~r潢zFbC1|r*-] e ']ϰB8G~≺?!tE>.qs壇Fn$y<QO0ќL?k7_O`8bPQX$cQGs/E]y9gͽz1Lu D5Y*0|K{涄3lo*ϵX hbR#Js At*lӀhl}ym(u]qp(ik#ߖt*"k1Qvhh9B٭pnlQۋIw`%y9Sۘv4wQggYf̩]KvDr^jo&h>4NvWB{۪%7,UBwTgun*}^Uܰ G߯˜YEC m5*5 ͯЬ`ڜpUtp( yw0n1vuHcn8Լl7Ocg~%4ELޜ֘ɯg8rW$Ӡ4*do2taXY_Ei};`;*~~,w0 3TYE۵<&Ă+7Ƴ Q;_ eI .e|2pW}-OrsYnJЉ6 4ZRg{|!$Rzh{nuI4(GaT6s疜6}r=+c;<#Қ:T ӫq+":45 [Rݤ Rg0)rV!ju~Tv}],s ҸYf=/NH"-t^]zUmdjcX.Y9F%(M:I ܨ;c?ptjU\OvTd}]!@;}T,>rRݑ]۝'W.a%v¿*/U#& .FGk.7>o>lliqЦ>A<J(KL%O.XFFi%Сltx tq7}gtZgm5 O4'ZN>pW) uεX^XjۄYJ+=g͋9;_Z%kJEd. C]S6Z,d۾'vqwS79-H˓G`n ٬*W ^0ItEQ{yVMfKEúE#o'$ cu}06}iӜPƆS/Bkmt;G̕u W9lryshqnq]5`ow*|DYBt_7`r dؠ3^2dW`;{gW~gJ;{jpuקsPڞaed9>w[RβS tw`ٰ'`IצB3Vq.W5lM,Bhe'cAջ\#dGkƧ Ɣ}PbDX/qe w'Aքg:k5=,¿)q|\"ytJCWR9︫JxZLEeǪHåBd A u|e4ef !y!`1@Ud#m?4aNެx^ΪS݊ Yt>Ӎڱ ty;@ݨ12iYmSzC+ -m'{4d~>fmN,(J+fMSa.?݈-6FHTSڧ ”,u@xdo}[t}"ŠU?`,gqjԅd )+x1 ۳ _ax)n C'UМ@/GtfUHF>%V¾yubZL^;;.CO{qoB)&vqFNG&?x'ᬻw*Ho3ߪx<<žVq5.eo֘Ӵ|xVXB-T8L#iL(i!eɀ)!Ml_t<Q,L6s\e4F:IU¶l\79Bs1JbmˠCeaMȸ#䄑peU6B Y Gg|cqC{wځ ^ + ITCg#Ǭ"u1 IK橣KedK_FOG;e0I:lBav&ś޲'Ih:šV o^kk+D|&b+JA 3逮(cM M*@.؁ռvtFaqj @>+ъC?N}x, s%Q vN8Hiy<FDlp!+jNҚ__ʵ+a9MCkDq u=!A"<^$J<=~mx3f#Sh&ͦ,VϨ.ZƧ&%)?PPʛme+BÞnt郞5F="Rڻ ́?0WAL 1!HBkƢ)xv5's*gS1Gٯ\@O(g@D*fquۍ |ĉZwPf:Z/ȀyV7[ӢSYjTt@0:kv{޲T;UƵPk_( 3CHMaS#sd@N/7.GY;'(9BAΟGR;8 ^٭k5 & !*z;0qVͥPݭD~e*˅H^iwJHd(:~e{>֌ğg֚4Sz2ډ2 ~oMTo hⰽr;$ ՛u=N9{d.'RzP oUu~S^{kJ%1NBT&qRm>bOc1>&ј~Q3yPSKNF'Cd 5ASݎB@|;dZ0߲/3Z&F1ܗ(G:Aܟ}êŽSwe , 3Eb%jy\2ɵl&YaGd0D[qkxD;95?Oyseu'+VN FrI٠11v'Jy wt$+e?v)9;p uܱp|@9Ex2X)QO^ZXQ d&fu9őΐ7>*"[oƁ'^E{VUP'b UR'('LDꅦP++cL@>>-x_i9\ŵiaFѶ6` $^.*0pA^x ]!Oڻ5یnbbDΑ2-u*\`@ *6ZJdew}Эi% |wxk:#^Qs5FfB?^ =֏pS]x%3#3(b%e}\|$~&< [9v:Ȥ;wvqF3%vZҩ:HZ-L̨^$./Ee`tD ȳ5m;Q牉mXM;E8ZKw4%`75ُ  kd"9Z;>=Bw3 PhEhRl\\V~ =T-2aX1!(: BxR|Hml' V#cݮ5;G=@aJ$d Dzz;ŞDXI(% vǓV-1?іʗ9e{By3$~=P#RXiOǃOkU0tЦ;4.;(,)y:H+Ҍ8ܵE삝0Q5¾߭cA:꤄6cbx:ȟ6ZKBN@W–6RI9'e 1<9g ;zlAW bx? 'pr@%+w≠&*gyǠ-5 b q*$iGu` +gb߹C.CE>FxچR0WrŜjo1KXJ@npd&]pvw䍦j%x{u' 5e{g #G Ya<9qS4+fU@\Phi7mYEsR7av2RcYDeD|\w _)19D9!®;lim`r&''L*9|><=Ŧ !|<`E֛ЋUjNtxa8~->m)\OV4ڑWk ᱃TWR 8ÌWdzcxYF 453dywdžKI9Ή}vvk( Vވsm}}jtv]]qK6 M&FlIe*z z{ zk[999|e8K׮Jl31Bt*F?5Bl|sWVp8%lIY&^Q`rpIjYQ3=C*J7Ner*Mܭ;t*vb}^A.q <9aA vE-: tEݴ}4kㄻUĨ K#v{ݏ;bp_]Vmó4ةM.Ӵnyڲ@} XqOb|OdDN+)[@Ʊ{C<D!WtmT&k8K'gC<dn=FY!xGQaYOFhf~pcLH 'XܒY uzYH^^HzVe?z5J &H2Yv"D*}r,ڦ#E"zjdXI1{xЃ?M\ 6M#2EtgdP[fg$B G; ` .j0CK/wgbXw[XY+Ǝ <;BiXvv" 7V(\J\9grq& |Akv((WkDZ-f%1UmT^?`Cmg >#g1_#ڥUY{D$Bv T4AF0F*m 3t"R*y4O01iRSܷC7F7K%`R1jx.J4 S&mDJ'V*(!UlZxrk4 1&[V OtmTT6OV*qr/0ЛytPx Z?@Lzp GIPC=k>HH֘p7E#,M7٢%-z 9TպtT ѕ*i[cЌ0SHs Bg^ 1&n~Q Nx*$9[S(k4C&k" 2vd}_ATycmݞ p;!ŬD!2{O@b JiE E $OrspXá^<|7~l_%*}jR<[r>{`^kL6Cۣuaoøj^"#FGxS~xX)ܵkL\*\$8bBf%b5;Ͼv#_PY64jҮd M}TB09e5k#wka)j<]j'՜die\(F{-*#ui~J>t8rw ۂ [W4鼣"^sfMΐ"~b maSd10_JrGjd柸F2Q p 2wwBx,* }[{x,fMtkR J 7]>) O ɅbcW`B#՝qB! Tp0^!1$ey4F!KH~c%a=./ !RwĠS.`w KoF ЊQlfDHNjmRH%1]17ŤݔSN b+_b:n^Wbڍ҅s[3ο_cB&ft4$W*\SN"X!`8x/<51;LAF$?BX5M6גHo깗O/CUo˳8m?+c0sC&6U3D=eO?f1V=`"Nj}ReVD:8?qq]ݩPBxvSUfP~s~ "m낪=s0zl$2H.ε?AC##ͽG4]V4E6ū7 #ڛv;.XoT:lDre:P|NCXtj  Hb5YZ)Aou,^b0 qI8Ĉ7|SfOhS2h O 4N.hCߕ{+Īynᦵe{$?P!O{5ೲwD:; &b~BO*BJ7Cw}1pjrԜ@XYsϻ.;"XxڶB+T^Ĕ宍i@ :&½G;ѵpv~fNl3rkE%9?8}y'"w4W!+NoK 4!j+$}n 4iBXȃ@0UOyZoaI(2y%Jݵ* %kW3HCaq*ϯ?/0??Ϳ?}@Íϛ2HVgagwSI& ߮Dz@p)(ˋe4R1eKw 5W-Lu i=v*`U 6sv|4M#eݞ}T ci؀"Tyg XkcUN)J{rJN81rG" .iq FJX^^UQyyyy GN!8=;]p޳ۡzSǞ=ԁ4Pよ ƽS&!-y 6Ve?ATh˝AQNX w$@J|R<|S{k-Gf{.O8*'-1Nޠa;9yBo=*ٛYT~^6-$rma*o<njDbi`+.h-*f"ODrM 慿Պn:cخ7$aG']4ɃJػϻ/#Jݹk ~tKPL6i~:ϛ0G S~D=$/6An@d%qnU"DV56]6K-%:D:)GȫinKڬY@KJ=v\ZJT}wkH҅C gTg"6뿄Gan=ݸ﫨HGdɲS .-Ʒx;URNpмn5\.W;Xq$L"mDwBT(juݤ`VuqI9l jm/a+-_;V⛆&NP)Z3 aB%/!\jp2Èwa &gN9<'n!F {}gTؾ|{8 _~ s~|ٷ~~y9W&˟uy.2 q;-Ny/oLY?r$F C>Ap lPԯo@}l+~aW?_y11gНB?uZL.(Kf=f|<-_SW^9@-I a6ҷ8bV`hY*֔}硉c}?8S,+2~"?gY pjNg!@Ba$p߀84g#?(%pFg1,NP\4!$5{d`12Wߥ'S 286ɥM4OKvȐ$|tga(#2)Gq0rD'  EReY8뵀CIv^Ыe^(QA|ixuuQ1I1<(S /GWoo>.>%޳[bB_񊾐j˘3U|oq}ax?X__L_{㗍o~*uh"6,}9@$;"$J/rA9ySI|,Drg)%+pG=m26M,D.c!DoO^0:'50 2طiJIIy`$OsPI@FmE뀾7dQf Pt1$k0ً;"/ǟxg_?ݍ~J&G$[e?w9~K9u zo_~UtoA| 4q؏w:b] m>/áw.CAo /-o7*A}RRp(k9?C*cy aJY\rJJ^KkK_q13=QgV[-sz+y%̼W@Jƿq+fEV,5k෷~~Y,֌ܐ9[ 6˾G_Ģ lQ(/ȢOdϥ!x2'sZFxN{ \\ \.}ci}j7_r-J0xA _2+3*,C1}}, t|ŋݱ, *~7H YcO'BAjUeҹ2ǁoP(g?18A/O%ЗN_vx'!-Wc$bh旮["|c{aǎon-?GѼ=F}new2B8 ,Jskwξi B/7YeSM{Xvn0ۨd*~?>C!Z nF@ @NmĚ;acncV~ nm7M mn5o@6/@!MwK_)80oH ks3(NPHlsaYfޑzS_VCR;~9 aWZ82׬TR߶>7 AmI0(e1/B_*}?|{ixy:6a0X@5 -Qޮ?.ɼo&C~#8B,;, .^dyM(e/|6HoxlYX% }#R7} X6UɹfYA~CY<@<82^2~C_6YA_geJ[ڜaȏd6 p$ *̿o[s_n|zCg}' /}EQ՗s8KN`;ɑ\χ:(wb./R bN>MV[z71p;G>w]{Y!âyhƮ;fR;qz Ek CRڀy'-z!qO=ݪ9 ޏ>\FT2O`BrJ91Bh~* iз??# JΤ~g's$ " pK_/7y3g3sn-Gѳ/xxreŧ)`O/|w+)=f>0N.K/ gyOmko s"_³G(f;v_~(?M~OGf9'e'"yc=}|#ܱgy1;r&$nZOS\ J=-ݾ8$2,%ےLo02l&̜i_T .-վr<' cZk-/|gw麁 +BFϟۀǼFKwRߏv{N(b$I|˶%OAx+G_a̟.g˼'\#Z¥&?̷/asr`i-~Kq_3"鹮Ɓ Tə~$fra;q4(jȏ;)3Yw_CpȄ@^{IDd|Ʒ{N}<˼v- Z Y+(c#͂DGԜ<-U|6HR?Tjh~"?@~/? M?3ECgq,YpH# oh>|xxvt94nEPN/(Ab/py~ L > Pt޹ 4/[ ,GQWS_?nLcĆk's/ t?4Q ? I.|e|WTgl'F΂E}ܒk>caw *aALb#}Q`# ;?`Jr$P/ji3 {@d-CsDKG8 ̯|ث0zŲ,5p@Y@7s|h. X@ | H1mn\ (P!893yi|~3a4D%~%#AɀFt~R\^L/h>S8 ;&PP3/re 24C$@L,n3"1f~vX6 Feym<\0ga4~E_v1 :{LAs>>sI@ >̻SlA NPcp-LZ*$Z8(E/f ; I H KFB6`[a{_ü%N]y`D"P}bv_ٯT5hF|is!AfyE(.O x\~!o} ]fbhslz`:>=,G(p_?V7P@DV}d|D7 Ph1o 4%Xmqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/hidef/0000755000175000017500000000000011347002070025126 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/hidef/application-x-qet-project.svgz0000644000175000017500000105766011200647463033074 0ustar laurentlaurent}iw⸺+||gQ[-{3y&__9*HTjauW"dKzf- \l?~o϶[[|` a4ַyx=/"O(p6߼(q]|.n7? Ю>v`Vr~椬k3h϶'/*sKmޛ$UUs"!5“MGE(໯5{(ٙ偧l=3ہ'oG9k|AΣkпjjJw<KE_^ ƇQI~_HbXk/"JfnuZ^6xMv f{?${;zۥ=Ћu;C;D_ uu\j_^`'m=8|nn ~mrrma1stm6v{ݛ%7Věߞ|Nȫ=N 悥_;hv]?Rp5o$0iB>#ެsN|6X AYg`<`2_L%H'f0d~y :.KYoHIAuCV6!|)u?7HChM ڟgzF#0i ‡v ~oGt&=- m qB;J K@2eFx/Ӧm~QRo4U|>wRn$x>! 0wҟgB$YaHn X6n_k&4owy8`bq^ Q,2&+B_,XJǷ q )5 J欿9vE 꿍&@ɬFV;/젿)S\ 29+t-.,e^u V&oS\HA&ɫ = jV%W(QVWOk5(RPEz猾2~,Cܣ ޞhMy5`iΩ),hvR(ɯtWCk?U; 0ЯJEF"WRF%WBX-!#׼@\Ӗ5uߜ,SD*ߔn2`t% nǺdXBe' fx”qEϕs|CGǘg@gpScm"WE g twkƿ^B%X c _w8 wqs &?L,*IX}==,_sDV#_fn JK"[IG!SBTEaKJ-OKf.~^ᐻ1nRC[-»Q}Z$PvnZ`:D$~[>1]bn{4>-U+vI(腶*O?F1*F="$z<+[Tv! ( 7HӵvW܏ H!r^ɓ[ BzFL߈:|mD.BT! :j䮹&7FRQn5r|DD W4VwL[Nn[Q]Kҳ$,/Ge&wʕS:eS.AoPen5roILzj.ƢCj[#7D7G!97Bq Pz7}G?/ /^3hy'>M౧,fXU/VFO _vxOri5:virׇbo67"]EMP޼nI=l5'E|SM*2uhw]Ed?>v>lWַ?N.y*r}z˲vYJoC-O 5$$/}ſL8?x8˥'H^7$Kw/?~[lHFP/8j>!u(Eh. U;U8ɍ_eVȋ5q-f~ׄ\_)ٝh? &~lm&QH&}K*J2ߙcD$_WOA,leTԹUչY `s !l",`wcQCE3TlYb|H. P*SQ>cW"#\{"ėdJO@L{"^>!.q<&~0\i1" +1Ɛ;Ue85t)["x|ZU uMk(+C g0妦W0')K*=%t^ET +nsО5T /vL>]/(בoI~4>o |>ΐx$"PXIH ̢k! $kC k$IV%dH2b^:,Hڞ@<u t^3wHgAwG OW?+g(iGZ%{5 }8!j 19Cga+DVBԯV'J{y$BdP'D}B| 8߈} EP@c3`$ɠBhV$(' aC>TzJVUoܿH'@M'_r@7wJ"Bק^.+qxwsL20b`yx_%,rb7ID% GA"Uȗ-N\+pJ?=P 4hY (*0$CDw!c}Z*f)f4ՍtQң$LNB~FR2PnsnXd7RxDVXbYT?HoC#\b|cMAЀ܉T1Ǡh)hd',,&Jb[dYT>b T,1 1̪ s"F $&L/DeP/黯p Ki*⿮'D >_8>36(d u. X.aROF`}OHà֑6 np;%|/!“ݥ0X7~b駟@?$ Ƙ,?"K8Q $eY>NQr7OC JJTQaD/˺ẃױ1!cOns9 D-~Li1v~LT| ?#Xb^]Ę([hb Ҕ. U|)#t؇8Y+kc*feJdtSʃA.afkEBA5@l .4Q/oy{Q,+]ᜆ :KxKfًz$"<ĝ* vy x?xtVa5 pY-H M]Xߩᥪ,B(#E>RRkI%B5Y0LE_# _" .P k~ -zeL^uv-/~uPq#>̹Lc0-\`⻆.w!rc"?]V*,. Dz^Ƙ%vߴJWN$^|0?k5򖿿VA.Z E[~b_IOSpՀ.j@~Ijtg Հ;OpXǬH]Հ;ѼK W|gI82 wAC˫E{Lo9xO0tC*[@'/ +з_M۹U?n*afZ,nTng%H0䕴nϳEok@"!r~RZomAqehB6Ufo5m7dgmzcߐ: oB8˄7EZ_YM5Mwy-J.~q."S}Q2`yj}Cb2Ly+#n?"8nN?V_zMQ_7lt$緗?\cl;sWㇻRߗQf}pnWnpWoAqp)y +Fr-N}+Vkd+U>cEܢ~C&5U/݁t;^56Ksue_&f/W+ ?ulHB >J`U]@e'UP'*-XAwX)$v/)rVMOYǙe|/Äe1td*˲d 2QA"Oe*c z@\$e%_ȧc 2ğ}j|N? (g*sP<.2ϣ7WK M_@_(iXyJa$Z5IPO>!OCenyIrJDNW̃и1]) *TvӴHB@"?a )ڏx<>  TH1hK*<# 7/ qS>pMF)(3_ ":|F&hZQNŏ->=%ht]Wdr%UD.!6>Xb02RJ[T%hʀՔ 6x? +Z2h /q~1C8|Rܐ\nJ*\ؕOiJ2AHF,Rɔ)/Rp$(K%JRv6c)S8r%r0U$oAAOb_#)K}ap?qyU Uմ}7IMD,'RH/B07œOMR>Ā$c\ډצ(HxR@2u<r9CRDzG^Vl:U|= Dd)-cH}X!8G E {z0JKePRZFTh-xX)|S˰,}fe(TѴ[x~f˰ӓLtۦ)g?p*++1R/ޖ~4LA$\QYRSӫ {(Ag)]`ASVnF.ܸH*0ܢC`Ag0}#IWk\ Wnw#QufeOKXNPt7).o~g7o:S!]/Oz S:`Ia9> TrIׁi!Rq9ī3?볩Hx>1RZ"3Z)&%\|yNj"388]s}V &ogo ~-K\wSO ܌7л⼡nr'HI5НA~o"WAr Jj8UuKV^- 7VO= UI\m~JgPKW8xfS",/~Oixyn|?wpߍjWC [/nP WK" *!X_^Y뛠[O 4{(<(.LB"%86 hd/v ;,\o6=K7oӨ3" AR^s1$oK|q2vx4DJ aL~v/{uŭ=\wKٔ*Oj,*8[xTb皦+H~w gJt*ҳ+j~m3+g׼@QJ=)b4yNZ|_>LTn*D ~Qp襏a}͖!ena[/- hr+rj * 3|4K45iH\bxoA*0PD&}B|$RiJ|b6f߷H##t)O`bwEw!(V|V]|NwF!p痢T&t=hj EUHbFB ߞ%IƑplHByi +Dk 1Mw͘fW# |bzu"/| A|ۘd~3'XܐRyCE娃 1Dy`-

(>_]oZ ?AWOa>E^?kCg2lR˺q(SA ?_gFlgu &!Eo;RNO sk? d#[ؿܩţNP*+( ?o9G`pc^*}~:a= B$sP("|ASCgkVD"CJ@J)e](e'^ËݩIx܃£e(]rtȔbu_^ ҠXe1|`=n6rbUF 8U"%2Y}SR9K~kCI&‡'ەȳ+ނX%%qNԧ2*H_zSIEp#H20?@Y.]Qe Pn֝ݬ2;]m?-LNJ(g1X+f7nU}M`L2LJA"?!ķ{P`fȾ+3̕;Ռ,]kx@ L=[px䪢<JV "k7QyGH^K>(e~ zyR #2O9E%y  \Ja!JUAʟH|{9&DUoTYΓqC5]5zvԛ O<'@NCZ0@($~'wυ#^'Ʌ4j(R8Qweӭ@<|i52pɖ6 33!c >.Z(@I@,* D)?,>b ψ"ɉPoB_?~3gRЃJ K|-8q(jP{ɓף@GC #Q Qw'gJ-<B~ǃ(:W[uo^uyW#n׾3?ߙEE$Κpqt7lC-b*(%JOK=_$88v@p6x^N4`y\Cp,ğc6K AVVj {?_I<<{Ya(Dv[bnυI(T}mA<\~h.{SO PiC,h/Zl&u\!+)6}k>]yɹI4=}>ߧVȧMkuVJtUʱ4#bдpoEe>c^屦ZZ)kIAϱf4Msˏ_qJ׎V(C27PWҵnjJ.G~Uqp.රAXiKso#o4NZ|Z0"Hx24d =F].N,,UZ=bXYF'_F>L5sMaZвښkȊKRt n+#eN` ֧ҭp:űB h,[HU;͍v]yR_y:Nȼov*cpJK;QX(P]j]GZu5gV ˦W{t4?OIjjTP(NaR1^349ܤi2sXƌNG~?Nga;ڡjJW- R4 Q6op?7q'X!8S4 j:u-a|iJ4n6fAM;@ꎿ+DݱH5#/jiuR*FĜv[`A]c_o'fihM[ӬRnV2[b6׃- +Z:\ 婜lFZj\.+Nql66ӕAFFFes24ay'/9YQ21f\b^xTժ(p&7@VʆTJB_d:\͓,#}! #e|5p-c982gmrN΍@8mg|råT^nGv3s"o;}k[%|ONoW"8:Aޭ"꫉EנԢY; ꪧLtU{٬!LfK9dYZ99sڭ+[Nz텓D݁*m4xGy&ͷmlI$4~F ]B&KtTyl빵rMAuڗan T5vY M{C*|bȤq6:q%h&9Q͍P3r뱿#GE=拃8V:2j܆TԖdj:ryiڞ 9* a;2:㳚 {ȵb/o:(85YzVi΅nRe9^!>oO-ShmZdq跏~`;TQiHS-C*.l4mJD>zxs$ jv ~U>MS3Q|6i7NMhGF9J=*Kͧq^hZ]EUF)!GkOܜj|U-GKqj /&ԯ{mmp|깸TS ]@Y/=hq]:ܨǺmc0J5DžYy^2_idfzq" YA zEIUnQ",@3p"vhe[% mƝ@pAl.KZJ ǕjmsuQ';6>řnȴW)!ԟ7OmjI%_Z}I,{(2<>9bL[0"Ӷ0EKn2ZK\:qM01ÁG'?!Qsm-&!)5Wh(Lrd eN@gգؗ$3k;`gd<>JRmOacau!W _kd9+~j*ᰦ[AUj N@rdJ5!ڕ1]Tje-imZG D2`*j=oTT{ϗS;l20.oXSPcWdC㪑)]|^ґTQKdkJ3D=4q%V:ګcs¼z*rYꝫ3S7ZM,66K'm+9n7NdסZ[U bL[53;c*lsv\fy}Ԯ7ɹhf3oI!e C)_'f7zf>X&jݭJ੸ׇzyϦC-')=BЮn6գЬv[,]^5&͌aR#ijؑmo)U9&A󙓷ȔnYablFb.mR42LC" %O8V䁙 ƹw\̢@q-ҶTNֻriu:TqV(bJZwhbqb& RC {\ibNh$a%,#nrjmV3%k=S/[b"~Ou%IRݙhsb+WCLEj7\tQ_iE9t7]8M] `z`eڋzVDwuULć}*:\.UA;gcOIi5գ 2JjG;/"*(ڬgT#81F9նtXCLe<4Zs&ꖣe=ڴLi>39Wns=`m-ᔴH4Ru4^;հPd>I<<ŶlZEk{}0g m=/˅-HrwiNP`j FKlFjXJ߭,hePSrvuO5^țaqUħ:pfSdz֧|:Үiވ { L'`kq3Ajv}.h[-T)hkdֲ9,ŨYh`wnzktTyFa׭յ[dVp5-<?Iz{wid-6-3{N5c#SjWf}^ a:<Fx65kCQ"(:]+i|p3}8eov(Eid3P}cٓe'j9dVI,٢]"e})ʳC[m2:2YOJ5N2ݪ(bp׬dFfNƼ{mDilh4;+۽rC6q_ Tje%rmң/%7'LEQ,)','\,uê͆E,;+7z{)CBu?DۉgrBjatN~ܗ3<)NRB O$2wF=Pq!%M8wݠ['_3sZldeEMk;ʮ[poǵKA}X5'C1n.J?Fsw4jSz8U5I75(FTDN}\\g&R2=hk;[xQPw;ffmW#. 9qYFKiʡ),em-_ߕFiʜ׃ r+) &Es<x:  wں:_kܦ E28OPژ 2ѶތI}HXCZ󜠔e($LmdIem4Rg7njh44JCI>/=Ѭ!,"m.+9I^#>4PgViqNJCf@o9yvk#3QCёFUu֐V/3jL)+ݝAG `(i9 lmK`+՞8G-r.Dn5gM3jyq`r֌~,G5}=:F5m'?VۤrR)aP*N˨QITTͥ%;6F|jdBG)Ux>lvKChB{Losw8vEZV'~KUaWh#RVAb6hӏ':ZA#mfMõ%SEK[,JCrЄd.YUUVɌ3ܐ'@Zo=t5 _btfg=Q녥-%s!BT2f#ƒ:Y]rƨ6ɗݽr8tUϛfujsS8oŦ,ޡkv:kQñ\r旉aSLu9j43)%pDݶGFRd~G"Z;PcsG&'mi8ݼkwkmf&k\cE9MŽɠ0iTV^XJ7A9 VAmYk+vFWQl Jb}Κt|nSLW.9`-YF; &LZqa=3́DNfĚ.6 뙜pF3;C_ZzH$gnpK5ك_:bf&>Q[?Jy#.hJѲQXWKOGTִvݝ &ذOETfy68qWf2pQ[ޛbM+z'yT,#1}8X qwn碹>mjlBeE0ws}x^w(MN4z}or;1-o h4c,eL]KRR ެx,Bߵ{DjĖL9.4 M崉NF

/]-[A+A5(V9uFI5JT.*,WٮV.F96VkAqO8-Uh?F, xc_((jCI:46eV\cquKU1n3Sgc8ViMoَk1Ε}SZXh56b~0Kڔ`½b k:#w aMNrjk*/[af =nXVh͘>ǫQ;,[FAFuw\.0l:ԲV>&Y蝢Y0hlUi/ GBЏr s`L4e3^ ͭth@hR-45%4NC jgݸIsG-4 f=p̆#-Zralʟj 3ۋFNJj=J%,iNdS>*AȦV0ln{utt4sGr7U/,YQ,ζ -tnUQ4ֽ)-Nմڇ7םu;6Ũ3vQKV8V+AvZo?ZNu84"4*vɘZĩm|kƧ0[zht ڱџvԡ52zGGn'膛m2e4E&Wߺk)Ugڙ~NA.SPFr͉rnP=u;u[^a^ŕVXw-ʃ {+ԴdNKtNJx>34B2dn|0ͩ6*_>%؎o<_NN4y)@&i\s䎻= ٴ9n+$i!)QUS:rȃ)Rʚ^lh2YjԋmhX+iq;q&UKo[ R9`RMNXEV5qi zX7lc4ܮҭ{6 +rR OYG1ˍFi.5kV_c>)TgI\҃ĝA-ƌڦ40[RFN:j/X[̶##8IWP0E$M2tdrnKOc$f9%A։q[wQ hu HeA߭BczEUo' y\b־#.ZG Uvf!q@ OတZG|^׍}&?X(>438Fд5h}w:2뒸&.ϰIcX4VwT̖MRmRҴ [OmD*`3]lG袰oϬNryvpwo-LWs2pL0j崅h_KA9֋^CasL)|%J3:D_?K.}אX!SL-mXMBt](oFGP\ר v PdTnSrL;6-) `+2Ju=3z\&:jr`55Z s&"WG\p,ۂ_ͬ(sn#R'o[>hG#.l158Q2zc48 m>nrnofʬm:kqSi!gj-+ty!Z ܫTW^a6Uou`":כ0J܂%(~^t >85K**YQ!7G.i'f˕Z}}Qt4w ? c.j6'|)P)Ul$3V֚Һ*ּbx~!#ƺ ;7!my7D5:y^' sysmEL"V8e]a}OSl+DD$e\m yo}<Ď˂^M=^¶J$51JB6)CqywQGǢ\#aU4D$ECGG _%W^AG㝱I$szfB!-npb?i0_瘩}i$9j~Zu_z!haY}I  |Q` 9[#؁I'>n U#t}Hw6l |sS#F!, snzWNpOm)eiĨ! *t^!יWѮ|8nLu!Ֆ-S 8s-Dvh>U. MV)c~5J ;*g嘫Q4r$FY:[qVla j{LoӘ-(Y4e]M8IJa?(3)_֢aoeMHoHMߨa 꼔Ee7P7h)<IR!L'KOBHOXf'Z ]ȻZV ;;'Hbsac;etp#VMYgu.n652dS;z[.>g"yEԧb~3TA%;BP(X ;9>xĞpuCƭZfQ xyvYeQ=&-0\rP*΅kvJwAUaGan6Gr;"IcNkfNB$ q I39PH:fwUIikiâ$E!pweMulEj'|zL*@5x`Pn$Jq"b7B=;ՙ';sˑ0!@8Ng;wiJU3?>^5Z;%J9vĢӴ88!~~Ͽ7/ްæ(^57LIY,sQKŮṔV^,;Wg}c y՜'fǚ33xyv ?d@!6NUPu<%YF,~ac%}? {Gd~8hiRsuy J0S5!rTdľ%Op=d  ')חnMY&7ZOnL0m1Dim cpBXO8Uo">|Zy|J.F< <4XD-S&W? 6;|3#kG>oHtN) K~Z; 2Š-.R@a2|zq0]b蜶yo \ɵA21>W>@qg]{'oFA_2J QW\xMVaZzXLjY^ o2V1>S9>kl_ׯPaO~`][Y]*v_L\\wFYt>uR^pIH%ehed1KHo>|QzF,|7%y;_يb|Qj0 ^z#Ft%9*lp:}9n1twa6lcYIn_~gj0O%>xj|uW7ҴބsKHycohI'4qLC7CJgBlt fB 1*w$iL @9( :ThcG)z p3i7 YIgjfeW,`}rdfKT#WuVYSKu*716GX|1eؓ ihUO"e"q&u094p! -v2p`]T:Px_(d.xj1#C1XҖX"4DXT8:QpƒΑ'|Q_c VDUxx }CZr߯W?XF_X}^s [T]TG s4e>09jE(4&Jzô>˼m֠:U q!VkVyDu=UGn*AuNMd3eC" k`৐9,Ƹ~?>8AXVSo>~ YjFo~.jtnj8 ~)]DdPA'X$_pw.eP_F\[6苺QX+ ҂|>i Q1m n߻#&sa,1l$_|$}r٥?qU.YHI+#\ا5UV^w㭭==/O*?Z]A Fb|"#R4ƇpD|u? $'jlxA'JEH2*4$K;F%蛉V5k&|1xfÊ`6I]k2K Fmx%Ӄov׹ 4=(B9GZw|ȁ8lAl9l۵O!~!XKD'K8a@4'm4@r6_|ĈOqeB-A)yYތT٠S aq3[[YJSPEF<"KŮtq+Ӹ&mX|QyvtfidR)gC*q??0NU;.܎.3q܂SlFX|&4eyiHÂ~[43|pZ P5 , nÌ7zRȓI} HR4w;z?ud3EL!MG,Ke0m hUǩi7'm|a6(ʞ+ ]"< JI/G3~W,׃P|Wv7%yPsK&f aɦ_ٷk[N<)Me X~x]a1ڍڈѮT轑htI oMHC \Տ]w/ןG?ukUC+[çq;~ߑg|Ӓ\ֆ78Ac5sOEs.TPXuC"̪hrIp?5˪X~"oNeP`46asxqk4Qh˶?4N"λS}9'6pA {ϜW^~+τNםnB$-rjn7v]lO Dnh_Q|1ȥYl ag8'7+TӲ/&7ͽ{.L_(w&G6U, E>Q``K3@],4yq?Z]~[k:_ N>+> eL_ҁ EEqR8%H{h#C}Tp_U|4vJ:!i>y0|K6ٺ2r~x7 Y[!+`y;a;VҶ'^4\(+b'Ukm/Xfv=>]+iBK&/HaW:\^z12i) ="{j#˔O?V2lks$`^Up(ٷT#rnVGJrcU~&=OX薙Z*K\<|'Rl^`S,%MbP^YġWUm9 f7i}aq\jhp%LlIb+5&{;KZ.QtZk,gׇˬ\1}VJnRA:*NE'kc}\ǻ8(ye0-$î_U'͠ɑP%41 $ U\j Ex%wnHE50lF%BK ,T` &ӟٜRx4bRguo ]yo̪PlAg+qkd@֗%\$TM;^'[7&r*lL&K弤j"{p#}]B2 7ȳBi j?OmO JۆX>:&TDi:m/JK#AcZTțT{˖ 6s]ȗ!'5_2W_%i%?\okLs MĜ&Vٹ53_2VLY+̒I\UCR'Fq^xګ'<2LY;@&v-H}vNzʣ YyV5#B Vj29PpD"}訒b̃&.ˈǦYmxM:ؖb]|yȜ GH{мƸp?it~݇e4/j` Ԅ I%Y@C*Ww˙k秼RSUo7KIf5Xvi8Ѥ@[͌ep}aY`TX|٦} ?c=d$KW%CTl3O|tx茭x"?$b8Ph!6wurRv]MQu^SGCm(g<~҃^xA}BX"29 .4kب7W-{ +ϒJK7ĉJ>6sXP&!u5](ڷ`a)?ZفƤ+̿G K.]#/I8u a:tESwkΜ=ʽ 9ep]<.o} 0jtqggpB~0'EI7o .X% z-];2O/4}4e 腊J|73ܤ*~qIrS!JQ؎M}e M z~My4ƎTm ˵mLb+'GC =ԪMڽª^9+~=LPcSF1z6&as`qBr.TIo(!pi^[#c t&?"\%^0VxsڳC|*OT=2"ugl$ ~Ȁoa:W[V&|ZoE[hxM8(eND ^n-Jkqy|n:͓L8SOF_6>K uǪͷ~޹O)3}<o*"K#m\:ڹP{5ݘ(5V 6Q+;o?p6DjK?C V%Y* M͒^QpS5/E29m޷˰K̋?H'Nr4/eV e06r͐Un=kNT\)SP-EMT zPkY* n?>}\O3;|m'դۢ!jd_.8jBts aʛEKS-#~T?[]} S}@i7ϣѧkˆ1 INկePX|e[dE_RVVdid?l/$aRڤ=sYҀ^#a Vj". aTaD+w^HxOǭ[EقÁ*yl_ !݊I(,)Qt$uR:۞8$'y%ZTn"x-ݵghQ:8Zo5Ȥ+F#r%-E';d/z\* H]!w=gw+5&W,"OOin+/&73v_H㭸Ԉ8~&!is~(kᜯio5$Uϗ@2G ={3hHc韑:'FЦOTgoe7j.&U>I$d6yebv_oWH=aP<z}ok#:;f85`As,ƿ Y,ld:vVo⠔aXT鬋 PQZ!Ay̧B0T;ARQYbgyŠ+:8o96}I,a[_ip; 8 T>;"vTI)*+KHI6Mi29=#e2_2Ztѐ:!#!MҏI`v[Zcfhkύޙ_χ%fK45T)Z14I`;ܑ ~ C7WSN⾴IxEv;(,و۞57b#I9j9)Ut݌Un'}=/ kinhB|iXtȋ* ui#x*-cl 6ˑ+g"R c73dr$|J$@+f ɒ^>ldbN.}}zD p3~l3.i;qĻ +ΈDGC5>3RG贖ͅ+9j-QxROVųAЋx-U^RoO H"\{)!d|Wu2sKF7NⱾ +ӢƲ{!S3_7k6ZJ$Ǭ{܄,al~RNBC9ddic00mfD /d&YNh .Vz)N\僘[OoIޣ3%xMAe9/32A%\\<)d+g w čGRD:3##P}j72m3 RPߍK#U^"i RKCZUתx^$K,N^ mAEIW`)>>X=j6dR>u'*#9EOj1^8宔=T"LY%Q]1iaMmzǵW3x+պFuJs.Ba_[uA7~Jk<{\kI}Ϫ7+\p9DRfYQ{ZQcN/n6o2KS{4앵YU!H=&sb/3pCCGis6i'I?r8",NpU%VK=7ǑTi̱j'G)sbIq66[nsU_-Zˍ0λQ1HY-X?<썝y*mQL4-bNk|4v sMDRȴ Wյy:uE> '}0U9Ս_]5LS\TyOWDKe0w(72wPN]dlqa*A N_畽z,DZ1H!)>nGlW;jtFqLZzZ$zG T)ߑ! wg3fS_^Ùw`}z-zLvw `.Ip@~yt9R@撟R0;-gj8*]trɦG__%1;07Ʊسn[ҭ #YZHgSTdEq?xD@$K: HA<>w/($WF+yZ=.!  cOLҩ^pM=BOSⶾ@{Unl$ګE *2 Ff0HN5">  ' ZݻvA}Gy+=DAU BVgx/ڍjtfYF/%?1H<@Lz[n/_g4IKp&ǹSJ*zKK"Шsos.2!E}Q{E5#kBr}#GDysl*͜ ×dFꞼyˣމ+xᇅHxޒ.%w }†.7S<yE̷.済x0 o?FA-<-ZF#/9IJQǶGN{'n ?^ЗF%{:Jݖ6)%6sS+$%WS4_aI= ߥ =d!zÑ(9Gϗ~-{W- j:l{eXx\tߐh|*eݑU{_JZ9H>}'Benm,u$Gҡ2P=#{{Y&wS&wRO BEZ~\x6ɥt7 5rM"C+X.`zb1όZBav ~*$ՒbU,Wb%&Aw&DmGo]KcAmJ>jSf|$;72֞==_x17fׁߨN Ѻ guë\r LP=?C"+mOF=x %(0i4P2,բLVymJ*A9A}\/:ޠoIOù)d7 >. )1|9X) nƵsnҚ% ag$T3#!`찑I"5H)"|pA(QO,wBҹו2*E| Q۹0Wo!:^-K|ؓH)Y;m)ZzEt_dw%2 j\Vwufv0 <\9q=s˞w%  lڡ/6N/WCo m!)\n^C`皇 Ĭ6haAc?c\XqgQ=Țd5,WH.VŘwTnwŰP)j $3٢<)fb;OJ1K~t dM<4e &8?0@Dgu' ںfH! 4p7$H'O·tp)^ՄJN?p8Zki;I%ʶ+>K'(o{Ah]j*>4N[4~˹o%GG}[mu2{9 -~ʂmY $A.,8&b3QuM꜐XHb-a~,Rn E&;l -?1ēTL-ك#V)^SIs2]tO;*ҵIQ9gxrLDqp;qp0EWa'򎣾o,W=K;`i/j[DE1K("F$"y͊3K"KOpKz>v_)ޅkZ˞؃HD m8yu~ߐh8M_Y &4W#,_ {g;&QkgߖrQ(%1_K2&o·XJՇ+_B#;|0ͻ]TNӿc)"#~4JG9018OأtJssV 6_;n 1_Џl#UJUaTldq-#^O?hu sJgZ#vX$m q$XQ{ڗ#*(O9̲9w^JH\^AEyǨ9doMo6Bw) NЛ*Km_x٧[&loƞsBذD󎣞5}r`G{ 21'dxJ6Y:F?ݯnҊ6TJ>$2Dvö Ti*A?gOp/6`3)6l__A0Cy\\5`sr/䣋8#)eꙄ]~To. IjTԼ4qQ _?wWiMY}nֆ{ѠWh$&K#UJ߯5U)YJk `$B.k9J j[ކlc?uv}ᄟ;?"rop#ܔG9DlƂDDfCCK |}ͤ!jY/d^R`tEd/+LC9H߄06Z#hH ^}q$D[@+=QĚvmͅ1n?{eVVȶVk sv$wN2GzYTg7kV w ) %o":nAЎ${࿆EL8^'pX7c9)I(@-L$ü^2gIqN 7 <|N#e)s!apִU8H]>j+KqGEY27mU :5"l9jz?f;*ȏlBT^UrQ& SHP4Kސ @ݥn(5x Ӄ"f1׼ o,ߣqD7 kべZcڽw3ú\;1 D(WtX)GV9{.n࡝{ *s'sK:(k0Mo^gQ\9|}.?1O".Z<]Y]ne*uJ=;C&Z}9#wU1֋cBAGh~aFwq, +'׊~KBMcgg?qn)䣏hxR+zguQ 9}k/ ~d6 U IDoVK7 ï^d 6i;3bSr9ݢ_ SO=ƨא4do:?01sX~Ec#Nza/c  륮`Tģ7&Xn O^ p歘22: ;"F!aUY@]# uz\$[>ɡ}!iyiW]>^vTsQ؊0X,+֯#?DHsd9 Dk|e쐯)E@;9%}%OʼnGX3L bߜ\})j%ӱx |x7̽D9!͢^%2vJ#BJT-Ֆ]ŕ3e Ejds676uZ+*z &&Qpv.1Dr)"x!:ޘ2Ӝi#v}hZV^wI\=]Nr0A7{l U 8{Gȏ|bJX8iΙ<6bBYף_  Qc% >7ʁOAy5 "o!P-;ﳴޚ` St+4"7ѧ\R #Kߩ3[/6ikQ泫V'+-E!/ԍ"y꯷\y%iNr%ۦ|TXJ% g}"oj+|!cH_W~nW&b6mFV{K5|`ưN& =QTLf AN'QR5 1BPfƹ08cIVtcwgj}vy8銖%u"/Ҩ!K'0~c_>FxǯlgèE%LVyz]ᾯaá-tZc`e1ܵ|NӇĀL{|m=W>0*ۦlŦGYw򌙊7ţEt䢎pcVTdQ֥5{Fe7v_eFJ^YBGIDeSޭIotieтqb!-L*?ՠvΩ}\-Rۦ( H9O,27_7c&ʒk4=Kި\9<2N X"=Mh…dz aD|Jkp^׷XBM4 T{|;Y&dZ&ߞGfA6JERt k <0)3ܜ;2Ujc5;'O垾;1ɋ&k+/RU_#ڿ#?5z ?>mnx+g aĖ@6 ;bzrl問m"dbۯ Dx~6[*JM~Ah8!נ̾A}Jỻ NGL,B*`t&z_s<ķyzl l~F]p$(وw RJ#< awVfD IcXIeM>56@~`-^'=j'_>_j )@X>D@$ 维53ez}a)/f\3讔~B҂D,Ơ]Q,Dn&Wr86hOv2NPOqU%ݣMsJлbS8]T VG<0(= @Y 䇄(\#ͷpHVZ#Ӆ'@,5<ֵ$Qy0`_ lL~^  47 ދ'WU{>&p?t+Ky%uꚔTƀo1)8I'X@dT TN=\/G,Iٮ7k\Ȧ$+A]`1I INBȁE!({}dF>D\2g&ҾYdąV߰RL>x WgR?]7OpcH4&Y2[_нv<0$?|Io̍1pڳ$JJ&!#W1yʜ(sSk aeh><ّyF UC-GP+?d xϏߎRd}ANTm·#^]VjF F~t {SmU՞@(b!d=o0GȂ \+WZi3w)916[=$Pݺ %4v1 >w$쪓#`У jxHal`xN}"Ǩ &R>*ՋW6r.H0ƶ]TOlo30SxrXvvC{=EXρPY]I0TQ_[a]@iI/?=phtUPc$0^۰N$ ]r͋ L<ʄ#8^ȅ(WP8'$M槤1 ѕ;bV|4ħJOUTMD'\6SF/o EqۊȞA+Vh ^u*x)M9 LD2\6e@s6tC=_}"Յ g$[t G=YkX">z>BvF?ioqVϾo|V\uơ?N~򇧔LYW>h7?}i,ߌ/Α=xG`^'axmCU; ERoϋTaiJ_];VS]*?f#]DSJز7  !r[-uۄ RqN!s&KV6aQL~ Zd<3.wQ]3MC2xчNB.CPo'Ipc&wH^,Ju;o4uF/`Ă:a)gITrK%(`Fd^Ը~]n]d!D? 1`UX׀֚I{K3|x7_:[^|kt.}m G/T,&8Q ;G!NǪ>ι ?^0lϝ`zHXׇ->keaU]f$T=dTC\T3rjX! ]ak'Ly Z蠓m2nX)LN!fǞ̏D2)wk ksc !Z6!h1µLbO(o',^mV.ɂW⼀HB.pB޾ևGw;^pϋ /bf'ńX^>cĺ5.=`]A"J[±UMhEM֕X[$v*9z$D /%7"ӘW.N@=2qaB zܖn͞hf O??2o% ^## xbCoBgIM`+8 L?rpy03yо{߆_ǝdlj@V~HG#FW8@>U"0+J[ؠprYqaQx(QH9yXԃsd(i#Hk?;|+<[u"8pִpFG{&9Pm›Ҷ3`@81n"xe)tK ʨ<7x;]qa.WŶ=4bzSA_gej\] QEucFU*p>Jy;c9DL"s0ǰV&+`GR^wl)[{2(HF*JC{ZWQrcJbnUZ\V4M{yߡ ''54 Gtv 5W̊M_\Sdr[ (gAy5)eA ,k{ʰs&<.AZpy3w%Go*wPҽ z_N=ɹ1dpF@MBƒMEVNƜkp~o|>P.|_RHpmoN mBޔd\[R# דq q?<υ3y[]j ,׼D0nOEs9OirN&dd+uN;M^Gl6H/ʐ?bt\'V|)Ϳ}aXfV&ͭIz`o883 j<{AƕMsE <o|;$Gu dxq|LDkmw_Μ-e? PM>%)na.Q$huCvEed뙷ʖ1bMjHIMߧ ' (؜hѢ̫Vhm6;wWcԞM*0Oa _K6^쒅-xiDGf%K1q뤱&1}eDH(x<\$̂K.me"2AsIo>~`h πRk Gu./95a{ߍ͊:t=c$^"?hlrD' ?Mʼ}BdvB0W|^uQ]1=Nwm]W89mli`_DsJhd\'QW[g0KOB3TNgwĪMWnU{ʍp+!uLY BRL|iҦGf[t=T&jp)% ve:*TɌ4%1=Fg-hf@= Y?4T|5ȾSm6;zJO26{_) pk\Zk h=QрPhy& 9s U ^G~,;}𥽳%H\Dn,6 ^K0?B|YJYm#H)rGF( Y<;K)V$ ](O1:V5(H\(I7 Li-v۴-;$3kd0׶h]$TWd w_ S4 k&JF{>F' 1&.0<Ӫ~QF ybj{-JFG+l( 7q|o_.:"ߍoop}jҎ;[" [ 44op:2}"'/!y pl:oZna8+ݘUыspio,AL!﬋BknxŽI1R6+o> 2>Ҿv\ou p?9mߛM> [4K)J5i/̓w(PLRD \lI>ad_Z$(nvճQS P#;DD :7d[=̩)QGz|[B GrD`3&,mO*zʹLlf4ᝢbx#M._0`L$Bgz.ԥA+_[cWzŘl+82Z1I # w컹ͥ9瞵2]ԱSίBmbNY7tlrII%v!lACHchqiWsbBGQ=NMsW^x4R}5z=[{2)ơ5v@FV1OZNObKQn5]קJqp$+Rꢋj="% I}ZoD7>gCBa!_L93_HedGhDlf g2R#JV/e68UR %ƏGF;jjyW0c==9MR0tH {ٶ*ɾd?Y~WNrQr0f3H<֏˰*m3M\yvQG1)jզ1zL95Q^˯=N~pd_# OPŦufag`N=>f)|D)f60+צk NzqbBI]zMti{bo\g[ [:Jl̍n7~ZS#:Ey[xzk7qM$!Vy)_ [pM|*X$t߰Wj=S#7\o!b.J!Oo:s\HdvzrSR|"X>閮qߋMr+}M31oNynesrf _#8 &bdzLп~>A[f=$HKI eM 5`ㅮd)=^liB6{#H()6#JV 1>A,U -z[# {B˜hٷy o*O1~):"'S~Cۋ-) 6d^\:aWJ0_dGFS܌h(&aq!mr )ULT_9[y+PqQrR/aiأH ;pLa*Lm_v0T/ %"1L4UH' Y~WCoLds !kwd@똨kuNJOpf.PxSipBF:>q5aIm zǴR\,B]:[Apy\Q2!Ζ␎%ŷUn!5rq_DitoE4|BdCc磍-)gGgNO.csq~MAwP 7BYG"s A \蘕YAlBl^}߶Cff#ޓ&m( F9I5Mcms%B^ B-#4xf-0LZG R-"rALD%6Ĩ)ho0gŜnCQ Unb9g,& ZQă] !MV\j2u5 F9/ldlu˷X~RDP(B? ޽6oƀ9?E'IGٓ/mv uMD,m׈@CGIcofKF9VgE3-.o-O;6Ҁ<,TWț<˶.>$,HfEdP`IUdxE_+eFn r- wr,;.i( ! G ߞ-t:$B%^o2Dv" V8$k/.]Ú#UM6kUgVœLJ^^hyƙ6SGP=?;D (2F=H){+1}E<{onWQ͂eNezKGh[뚰>~E\2މ:5A+~A4JFO/`Q 2+="y[aZFۻ7gj1қ4WO!X*,Z|u7`Yi9**'1ރtuK]q_\x{mCW̶c^{GW7z{k9{{Ro$O$#ɽK5VW_2{wk %AASxBu6L1|HOqm05*nvHФcs2p'Ar|IJUArx2>/m$xaw6V&92Gs ( ?q_'rnZ&:O])(X!'R<s`DH(٠ׂ^"6;1rfBرr):sI^؄9>kx"8)c1W!cI /`e.'ejU"R׸sԎؿ9_m ]WDll\J$Օ}Wc*4NuF" RqRe}ԆVwڕR󍵩1GG-&:+lC͎jp'RT~> 7A+rj9C׻!@ܔz $}C  adSc~9O4r1ԶG"Z۹+Pn"b8 G!,˔,&tk#mWlaL~^N;Z"d  &qL/~D*qթ`3޳65QLl?/(M:zFQ%Aɗ@{`(rp`%)ZD犽cyC` Sߊvm%%~AFZ^Y9=\?ugm\$νxTv/鵍7man>_|8Gs9YE< e9:j,V^}_}ݸb\4?| v׆DЪ!{]EPp^MW'I`.U ؘA~&#E8$B|}cՇ |\Lp-lޫӆ_/+~ԃaEe WheUuqh' c5к羁3#ķB ػ7>4&'-+?1%+ÿEwQ'YVķԝi$ TԵR۷![͈ ظ4ʢ| mRly#E$JIŖah,Y&'QOo,]p8Xut.5)DKAB4~t=ؒNPcHlyU1抳t|am:=xo%zŁkp_YJ@#LÛDp" b{ |p'ևL+7L<.l\֯/h B՛+(\L6*߱"-IB:+[TK&*ڑ'0+!uG=-FG}A׆L~39aE kc^W{V/g챓_LWB}O:A $H8WRJ\ +?|9ќïvT,v`'bE>sQl=1;O+2I{yka~v)uJ/ QD j~. iE?VN"6,GS[k*1M^K8Mo7~Qx^ޑ# C7P%EwM2Rmr+T zV=_`p%ο/C&RLVуf%v!eWY$M(h[o5iYz̫PLS_誦,ُS= T6됻o2~+'pg}2 kܔ ojLF`QW!~PLQi\^ Ul,#x'c6,_5hZ%{G=16~㵡TU/dT&vh2fb.W =hnFF[ v[` ,ZG!=IwlUK򏸮M| (ǥB9>ۮb0em/ס}oDFf@`'s!q.2q\W^˜Ҕ}B'bl*Io|^FP T-v{cgנ;]>eYUπ~aC~$ *볍mw6֟M#>WOۦ?miƉwui# bR}hi۟rc~;yu~1!$H&jKbQ_j]ا h#^vU'ҙ(*^eǴc'I6c7ccaZa6h_R X$,ЧgATR=ܗMD\þCujU {Giy}xowxmn[$u psE@FpGXRXL:a(]r" SMںKpK ݣU/ nHקI|c _ݤgl n*(ya3i τG":%gigA 7銰BFA|nW7!9ZqNj|KxQŒ%gp۪*I> Oba7+vMK=9axk}G^/v_U/A|4:Ns܃SAV>%iJ$uqdapU?ƌ/yСL+)j#RT\uOt6{eSnX l󷁻IP5&f_~* ɮ!*QW;.\/?z~٩J 5@P(-{E(<[QXfR 'cyKeݣt_s'tJ,םOb^(-Ph@^x9qF|:pgjK%\*-0%^B{d')2;p_c bX_ W4  r+Tȸ4>QG~W*iR+{P\]*rupz`x&$:]|4dpdc` ,k{/o+*ކ)6$;3>(b^#2d+Ê"}!y2tl󙎤ژQcN᎐]&&}$:p8#8_OJgy2 ؇7m&RKW\ά.͗MJc2O6XGeKδ ^"~cEG:~ȋR=[_#IjR5=k"Q ( >Vn}o2(*B+i *~ sրIYfx~xlׂLà@HT_'02e)H&$Er9s3UTUv{Wvhuwgq1ÒWJ^R(E+Cln@r6劋xbyH'%SGQEl;$\ӿuA(Oؔ=~Hϱ/y 7S*wCak1~h`e77̀jg ʜ%{=0?w}y\ü&'b.|th.Jx!i 7 Zed%ZW f 5z5pmx,JbtG³.PY?iV5~vp6lpY~l|a 5>R44wtp_ H1#tj:QZYE-k9ϲ=^KSiYF!{̚n̥47o%_u }K} m9Ŵ gb葱G[ś_ZkEcYCŇT{K r~"nXm]0- 8VAm20&?2_?%8IQb@M -NW^E -שoWl=H=#9L{$}7S^D1Ojh*5#BExߵW)#ELYt8r蕬$bA|o9++]%C 8 #~[{?)sl ջC'ӢW‹N)MBm*. ˲=ܓ,ۮP=?B߭mSs")T[<7FryIg!܉[|1(`uk n6,#xQq>8 ,`}` eXbBl*HΌ!Մߟi\+_w'a VK|fZ 'tMvM ٷnHE*T4A=tk5B Zc3co!b>("QqbF%´Ô\@~+%ƨJ4@' N-o B9e^\z+j&,/^3pŝV^"_ocҥ Τcu;`ܜG>Q{l|G.5 ==PB|ǻ(e!e+P.Ha KozĄ΄qH6p%ў_(GZ[8G]{'`-ZNq_#q ACi}Tz|Zkrڍ$-L}֩zё]o+Qݒ+f+ pFd6`w-# X= R{4 '+.|U6tSz*K%(+n_ȉ%zDSBÚ󜬃 c% CRrmIf<6FCSIt97Jbʕз(RP% Ykp),C-K{ _Dco^NmtgK^[!?4(liyb\}7IUh.[5R>PJ\;ݺ@c!9顮@ lÅt^4y] JdI lN3@֣J,6)K]t+pURl3|h'GBTHʿ2,acGTƉ $j 79?ӕ+7=MI s;Yyd6-38n\mfAw=|mu@AT΢@&I }  Mh?+7ĘEg'H&vipKLezB* 0T JD<P(7AL/US><*!=˔!Y~S! ^JFC9oc4/d's{L7w>L~9TV )oqm]/GE Z綾J(._{f;լrC.phW7ua -D֙5OÃUJ+0 } A{ J%hN5/> ZC,ޫXY-*v׮A\޾ռX2c_.o%'cxx#u^LP0īhl5Lb#!mId1enF{\݃LSg!1&"@o8䪁.~gNƎcxn#\7""6heJa4>.w Ցk( 9Z㌕ˎ?p`C{,oĂ)˹-~ǕlBNwO\ɇ%X ?}DN]\5On`A/^AOrC<>flX/>S j5O};rqdf:"'oTg{Qg~-Yܚ,/]_L lS؏[&s1Riv0s_n-ߐevZ>fUѝt.C|}S>['y-Q7fk4B/_Ø /ξc%>wf"w_31NCQM͖0?Ʋaky S/=iJxdk$ D5>T7\Ӱ*Jel`*ТmP'8ejV?[*k6sʂ_ @{ wa#`ŦM69|!?w} Oӳ-wם,ވ#3Y;Q8}\way:?D۾zaXE^ATz9R,v\9F c\)NZcN,7y+_ X,8`j.&|Ab w mj  k]7Cдo8$UBoо/^^ՋJk+[T NUz鹎|I/1c%lP۹Y+uN9+!5IMc۸sFU}.C}e:wt0%2 Y= DK.M/8<4'缎 D^},IUQȎu MR Y-ݠ3wxO_}T>(J}rE*zVO]J94PvB1orϢ,3wTXeĈ#l9Ger#sA9[^!T`c(\dX|8,L@7Z=7:+=6-ou/F1]sNj)|p[ZRHMqgdJ5w98-'6"ش,,C Ntӆ`jтa$nr)lbzOԂ Js1[ȗ~ɬOjtxj[!D[٧m(J[}6&א9RKi2@N~G|oFwʇD~Yi,"Q,J}G|惘[pȔ{{-g%6e6G00nόoi(\5y;ظuwH,< e|WG*3RL\jsU:RAnop f>ݓF535=.W_c#oU4K.,Rt}8Dmv6PYPԸ z:nm#'$7dtΧ/$=@+}oU |5pƈ(H;CA桖]S}}qr/u+ W+ytjBH_klX~}A#؊,F7Q"*8%>Ia@I_ #q _dGėƻ6Xɒ6 2J"?CIT8t/l`]J6heu,?|<=TFQv y{˙,ǀ4X$I+J,.;}b "@A~VSCR 9AߡwYA\ˮ/ Nv:[Dʓ={ә|EI*!)3{jT>&L`7KMT5\u#r1Fg7[LXԠ&5mF[ua[f%6F}'K~oӺK9ܧVE $49z4Ƈ´d)B ^Mlmv-` Q\4퀡P{ҡ5URV_2`"r፳ mj#/hy5aE2)!m:T&zT85YÿS:˹̜!F*pb|ը,[P%tt O0|<88MCLiM οO79$Yr.Y7GGM[߬h6,Ho0K99X8_]m?.U;:>x;X4xG+Ud QԏQb#uvw$Km$.z{;!kYIrT[ۻpu/\Yx l܎䜕Ov~DD>#Msx ܫzB)M/|hc@f$_$ pXގ`AN¿K^s}7LqM +}lD> ߧaKȫW5;E$A=+- hSh¥>&Nk6ٔA@k= 铹ߗ G CL Dӏp81qZEu٢|I=1QDk<"9j߇ş~;@0tt~F0IiO4RR 11qA+7Kt) (]|zkhz0seaqvBK9+bi1EQMAfh < ьfHDQ)V<apr'M"c7FPNE\^d&L6leDZ*φDhp'2xE1o#{Eeie=kRڑr\_sMfQk0٠Ԡ3⋽eܨˁ8XGbɦ1g8Wϊ=UQ-qleQh:9wgY+oVq`X{[kqO@q5|+luױ΀ /KzSq[}ヤ*7,+^ّͮrFG԰Dncs۶X>Ȼ=@PY,l!VXiHtCTޫ}v`uj(`L ;66u-cv;X0 5N`|}~ WKq Z +.kܧm`!XIC T, 8/$ &XEVyVxd%2YѦwI4>e 0A>1>@|Vf +'1̡`eӫpٸU(0]' C/|6 gw'Kbv!C*iGr?0UtV !:O0o jF~yRf8. fĂZ"PM{fZYw:Z%byƩy͆Z;NoӍ2sz.EQ2fgտEG|TT 5ȰSMjkg\)A\m~ "dm)Pۯc2;'98s_f<p-lٕהv~!уoϟq>̤ͭAmwP*CCWBQ؎%48^fL[Qjٖ t ŭSEzD=>_`ݢ4׵[*hLidr$A5C~j VuTL' a}c/dk78%n7f;Pi)7IPflEzlf+w8ܜ}4Vl˶#Rzb .X*CGehFQǒK|\ԟz"{YgZ/=pp'CbVɨWc M)l)WF@ Q(%;f2Dń⥔FS e'~܃ɾ4)Z[y`(c@)vu'[e?:dUƹeہ.B|U|C]\hK(*rXt7DX3R?Bf^/Mq|*]㭨T yE†᳞%תЈLƷ`2<⺜Hπ'TtBJ-Lu:֖XՀ+,=A]S#Rj: B??W$G|? Wp6*;B(ŀGGCm9F8"!)\uM=4 ""' ˖ʢKs8u38coK=B?>'={0E\0C: :@ JKET#:݇zqeRi`˾(Sߵ-qw_7\bkL!'렦8,XU/\h[Ku VP"3ewtU`nk*?Ps&S;5mIx@yOHk^rh#&[q<T*GYT*QDɧ_OY_eQjuCQVkRRKƼ('m<|.GC~LJӷ^5VsyǺqou;PzjrMޫaeDz"BH`|BlWeUT|LSS+T M>7WLy'+ϽJZ40t{-;c&p$\fEm`y( dQ?{[mZIdp{n.:WK2זqY'И>e oCT4̀W&X,ҋǠ2vBs,oWUVg\!};-0)t(RDLnlà]"oǖ`dO\ 3^m"lѲȝ); yջ2y>b{G.&FiʹYJhc*\"hz%HvӏA7*<3Y8ʼnᮛ_vc,lSpZ֢؏VrCY;{#SS`*dk򶬾:_HqCmh/54^{."%/bš2ޡqI}ܝ]twK ufdמy(Q;.[ٕ^Aό Z킪8Uhx$iRJGYlLu.*ޭMSt~g%qPnRttV?g_QF=%.)]>)D}3[7nE>Pyp5/jjTW}%^,V9:ppf#'׊t2bb J0yGO?7mKȺB=_0? ƿw?.τ@#7f%s0ߢMDOE!:܃Jf`:ȵ8D…{t ddX{(b k17P74D>_&A/vt#%l?E`=jؒڵbovlS\ּM {g{:#k<Ƞڜw/-Ugz23u>_3ú0JM )P%dE1BV@2冀2;ލ9c]ͧ=W3(pA>HثGl"KInhBq0}Q_ PZORxR'f#p {° '!Gv^;mS*;D8;y<ڿ^uܱv#e'@. nP dsd^[hFnGR{u'3/je3kP1ܸX}2#R;iY NXT NiV0[+%mF$5p=Ǫ&+ \5m+Im[-Y$8Tr`+füLi&,KqA, q6ȇk6;o~  u~wblU:x5%&*f G@^dͱS9sa-R[72oI_RC`akKt0aqQ(8[m0*U8) <'k7OJ:8ņ3tLB^WЃ#X_"rWA5>\4^v6^. `2.wǧ43x.R r0؋2GwpXu6a0mٍ⁣m,zo(|NBʑS١dԸ؍.S,58? p0 JOq@UEhԬz&$lXfl<}0nqpL]zDMhDZoSe )J;1ZQy;2Vi*ڳ6v}s%z#lauazaJ eat+ϭ񭶾x{z!g.#|93t0KNOe؆ddgȵvW5bv_QkӠoh*r ?1Bœ?1>21HCtA˗,]9:y!5jlW)?IÂ?e_vh< `}o!m!\ªKax~ч 2նD] >!w[t”ڱGK3ӡ WWƆ_JW{E] tfN,rHZ.a 1J yYitg)*wH׬Ls܂\6 r])e(5iM ]F)g͈;;3͗9bC[_B.6ѩ}B:i\lǜ,ŜZ6*/"埣 JvR-@X "] РY9w0v3 pяÿ̓#_t=^z1zl+$׺r7u/>|[ 3 `|ݯ^݉:ȂvZ+ ($K4w;ƽN{T*Cd&u;m^EZ/iwhP!BJ=pp::cFVh>-(F8ڛv^ B :3.νMya\~z֌-4rpHӅ&T:q ßt1(u칩1FmR -g="Y);D8Qa!_\>bA6[b.HP 1Us-A70F4^ކuFuB)J@ۇr4k霅2,k->ER=/ҠJ"!iTJ*:ׇu$*/Fg_PzGE3j:9{/c զejU!1MIMT_l-YP}IWm\֏V휈FoyPyE+` - K/ћ3c;yEg$Y>@Dk?zNlt 4C5xӧ5C\o?lKC1 HmDHݏ8G-Ħr:ڒDf HS97U! "cQyy(ЈO䅎$y a/ pZOto7Sdw{;gb3R*'um4Giw1O 5aАܸ׺ !_VÔ=i=\֛l3kW2 *xf1B$hX'gZLZrG7$`溊,ӝ(+7|5FȞ H%!q 32O,[~?HDkb{}fڶ+|MGB}ٚuYFd~7=\ޗ4?GYy ;~Br}kxRz+A!͡16=֢MYtbV TtIx0un[B৲ԴDA$Qhs_L2E"#bNϭ8ӂ BMd>. fz~ӆmSK15urNv T~ҿ ֶ?$a[~5E''5~NUJlVuї k $/٠( g:O|{о9qN]n+𐂓/I,0_4:" ^Y+Go_6c"G)hhvGTYZވcS5#a5>5:Ưi+2,eu5+䏣(BoYo'\˅Uۙ[ @.eЋc13UO(d*ZŊ{Ti*㧆A~yJp=N%Zdx>eb{l ൲XOb$B>3W"{|b݃*'yӍ AG|6a!eti_X:-yd8oseBRuuhGA>ΚoS7Z\;' mg껃Qt; =r:Fo?K=]fZHanhAI/73w  -L]%<MŘpq ^upZyZZx40mo I..3О>wPaoWG <ՕVY[5)y3[CE^la.#Z@:tW $4`r&R3=vGoQLv3b ~r @y6>ۮ= Xp([`/ļR"hK=Y Nd:F',@,\DTWGjEgS"[~ ԍJ`9 &Xw4 8Ho@Th[͗9vˋ "&<2bu;<Y5hR @;F<"X}^:FVl}O>'p7hZ~/]|,p.`.ۘ=؜+eׯ$gh"l3QC((!m/ñEa<6Mu$ܚtH;}5OBf'ƥ6ޟrT[*^+m،zI/J/M#B=.TCsșp6#r$CÑ 193$EFّ/>X{ ;uYzaJ Z+^6X O>D ru,8i% #:?t̊MTW4"8c- w8j +pge,SO-}=r 7Z~V#ȌK$(@} JcӀNjv漺f%|yEjeGQ:J[H8:6TS6V~,>QS5P L-˼ f啨S uv?|7ǣzcs]y% fً'2Wd"Ts^WՃN-tN B~r3"=/)Rp޹ R#e0J~7Km ˥(^b? lI>*>,[)F S<%{ ¦1@swAKѬh4Ȟ}yw1H)4(UAr>})hm1uAƀB[; NcVY6FE+2#f@9y>w#b4L&c7Qǩ{S9%~3ڍt8E~8ߘqv,\Ƀq{ࣼ\h ;[a-yZ*bc4Y- 3 L`˹sQj'-WQ{3_?R\?X+9ؐq$;%=x8H 2M@ 7ʳ?Fζٿ}d_06%)h!t8 ѐΡ0_,Uv*G9:^B4['ӊ'G&4?%IΈ at[ \Ve|7yy+`g0ľ͎pW* ¾8y)߀e%@} 0MCQҿ͍!əci^F$<tQ~=CU'Fe](Yx(8h qbݬ$kU˘igJ<e/%ՎKUJqQS;װ&:`a-c׫`/L׬Xr 00 UEf;)R%{\qoV  $,/Է6&r˧$_иIkܨyZG`ՐٵtbhO9OEIE2m)LHXD9ԻczVc Tȭ<Ȧ2?M$D.~H18$}ubwFcjJY3c|mzW<0oNuu L2տ-Hs d]XnDSkr/9y])!1|?o;*R9:Q͍ɕJ'ua2}4=b~zEEKlɻF,ch9C^J{X1'@%4`J<J "f6"+#g L M$ 7J{ +z?U#( qZUJEP`ZQnM>_,ǽv[& b/MwÆnQ4*wX^3[ڬng >=e8 ȏ|`k2 jZ[5X*/SSm[u89~2Cmf6n^YcmJ9o@^9N"r0T;uTwۨ2]R79c\ Ԕٝ]Q- .Ñz.#a.~I4>]tJ=w)?X[1 m!c (.PziX:f {dKrΈ##DO_+fOt1л?tй(jI46.I7'+c`y&.ۤV)l_jw aG"16EW_%J%f>'5Rq Yz}kl]VST%ϳ ZzxQnKۀp|O- a٧۠0r<^f|,'H*hQM֋;CӖ8J0Ɗyp@D*ǚ4b#[r/[`O&NZ`GCc )'eq#Jܵ=h:ܼ9/l͉I|KP z*B<`ێ*(|iJ|g'Yp(&XO?R%'ʦ1^Pw#|^K՚ٙ"_A%U >oɝl -5BL0LQlab,{vg;_Lt@Z0iʚ'Ic=8 ~)qSp Py^VFߡݑ5ކOL zThȼ@|б(PerawO76/z4x.YPGN`\`T9^dÌ[p;b&VzJƏ|- C*Y:G)L _ҍ r)h6& a;2ȃ#%`jzq'L iPtJ4J˕Y0^ K|4Zw1NҤ{3eI_>Lͤe9nYx%oxn%,6c5JqC K`G90澨`/F*)7O>5?Dn^H jv+R* l`.*olHYڝǑy-X|/« fƺ-GY( Z$n/9n.q(N4NJ3;TOEjHȸOMpQֈˊD[>*ź_n48d*X/.Ŧ~]9{ӥWQ>LjW>I-ZDe53)SHpueq\Bt[@Iz>ň۠=P*X{G:?KSm?WneL+ZtOM[o&L^S8|BymKkTwؐ5Tf%A.Gndp^ֺRuy'@bJ%IU8hA 0kJMbCN G23tG \Ws%13㼶 |~ ,*2S7{]'$AA OuӢN٨M@3D-Piy:u+Ni3$;sk%0]Ӽm;VQI|bY2h2DŽz;$b u!FNҹs- 2gs|bYڮ_ɛ03A_̙iИM1.q.>͈D~6ko߾5CH7ύّyU .Ű6ͪ%5\}yg :>/~~.D\3 G;& _&VPJQp vcA|I#̓,Yfu#ܐ<+> hwړ{-d([n Mf%`sX(0}`!ߑjO7hgR5S ÿdC ,X2o3 NZ;_Єx@#oP= &D擞I2#]̣@{H pK%dBmqgy:Ԧ>w<T).;[ gr@R| G884kW'";SCb>Ú4U}}Aj D@S@Fo@Ӭ$/'Tl8 zb@Y_ag~mԿxع:7İbȐ^Y搂&K { {}5wpw<^YVz? :} cmLGUJw_E|e~9i#Y6>㵇߂a99SE-ſTLZ|M 4|f 9IyW.d]ʮ6'XM^LU\u+F, M_~j2TU >,4d1JO9څQ O{5ǘ'Dt`5mw9NWWejMi*9á|+ۭnȲ=~'*,=gT#بƌIW<0Zm@}pR s[Kxn5? CI,uDNJGbG~mKw.Sc E[*[O3 i#bɨ2o¸;4pO-_%5p7!<ɯaU,+TF{"܂uqI0QT"v =HOCO(VחrVE% ĵ{̓xviCǤm.%P=hF&Fϲ%_;*9I 3: Ʋx|s3lUv?)vװ=/4S[(􍖹v?O{Ϋ:+M2UhTG%H0:GMHpti8?;3`$+56-{:b|&]"yLӆ\狑R,',U@譔ZS&8َ2? Mt6 A|ӓV egs*R g qq& 'ZϨ}2 ?y5Lu02UřeF֞Oh7˴^s9_b __WАE/gÝ)h30 Y}Df3 qۃGֿ&NzV:Γԗn+J?X4H[K Y.=tF-Y'Zť篡xEt'd؄c~d ƁA@L唕|eR/Q{2{n6!9/𻟫LO$[?rpa¥qن" fQ8K#g(\®L-B ^CI8cv <#\jo>q^@rtn/7'$QiMc%j Jӷ@F `+TxK7jT^׵c"sd00DÞT EK*/MA71)?~5>C6rvO pٽz@"zV?,qn\it+KT7! QF}^{Z\u?̔wRLRg$rM*@jSCʠ%lݫSZz{ '5Q~BA+ S~L Ӄ{UPo*䃾*CJ1$v'GLn9.QOgi{Ћ'y(G4!F5Xq]64hS`_[6j82FϷ+W_{KR% yLE-ٵ;g,`-6u, > \:X\5}$$ɔRwŝfr4;O=L-+%PA z\ uq@qR.̠֫R_ * -,4kQ|A_d%}),q-`Dac v:>m|Y1W > IWSaG+^UZ|zH13ΧuIT:R=ZXd řG3S\8RɓMc]zQ:%4b~)`S.?m8C֡7x4Mu7u}6a:1z>u#+%CGH3@=ϐ`ȇns18bI{c> ~k3.Ĕ-& cNpJ(˳¼䩜  QVǷb^KwC&QR_ fzƟtY $7>Qnԧ>!p,4?.vU06$DhI}|VR2TӁcy C#/{)<Ӕ )Rh`5cm-Y%(V`Q/hRђ{G7n F" ^}WwnaQ hntb|=)WL,λi=#C^zx^wuD/= 5&ԕ1P@#&Y|O"DDpGIW fcR91k2׋Gd)̤y:0]++уBkzTc&U?HvF}L85: (v ̪wңT􊝛j{VoJ+/t8D|TPa/`Q쿇8T8"eǁs{ ž^KI>Qƌ?#(Nw}-pju;M8bG Ըtf c:>؅x,7II|٘/Y]kiTbeݭi6<yu?YN3H[/~3Hi^0p+}ا&1; haqo @$S{v|WH6pĸ1 aY w'QG'/CyC"nx%U!Z~N>m3|,j#ђi6a -~cb\[Q̯q__6>+{bŠŜs܌>.7cl.Q SI RlDIC/zpH\0ü7WO\yVеϤq-_żIvl4kVk^V-#$0?|0IB۬ "(Tg=݅C흜*n?%77oNtN1pW]PT75+1@ NWo o`k{Duvmŀ*ߙ SG Сl[. 㞧=y,FΦ9GdGѳ3hƢ 5BD|E;[sRc^1"{Ԭhxh"I<%m>SYfyW8ع3 .>rڝmD1)c{]Dl`|Pr.,)8i.8m_A!9$'n+Kp%waH퇰pIUMo`D Iwچ_I c|Gxv;WYo[.RMGd";P󮠆?l-%frz|_?3_F=9;-2 מ-w$GD6Lc,VLFOf/.`E zEu]$ذ$D䎙/(vk'`ԁ_wRjPA"PHp ֽq^OY$_Y|Y W2kR\c|WB7X~ok*ݽLYuMX{24::O3Rq&ʫj:z_wk3CiWl+7ccDp!t1BW9,J=`cP3{{q@>9SN2][8l#vr%^͌T|\!tȌOqJX} 9fgu,9n3g1H{ O}D gb4VY*9wgv2 xY $ 0DJ&{}^^+/-F  ?@~-8=@0 ٯ+^?5{V"/$WGvt& MAn)O x}[@.*u r5M]!}lzmWi搛 :T䤙 O,Q:aR,_YN׳8&ZM oQ* &! Y2M)%DSΉHnw iAEfO4쟵>B*.uc_߈|ĝe\SӾa C-#ԝݼi]Zle$2c\SDeRB5Gex&Б՗ѕH,f*Vn4Zv14[ ʂ *m iS &9.֏VQ) v@~o%v crLLU^Q(q}rǮ@*|:Gc߱T;#{eNCzc߻:npTSUr!_M^L=36h_>[;)[/ h~7/4~:8<샏ei\` tA-qg_`_2Zcن k͎D5 ?/L])QϹVQ;;e7(oqbL*/yljvlG8τ 7{7 }|A>[*{|I/B=XV{go[BL9 ֨Gkh^_ wmߏnȟS`|k TToqg͕HSc?fH sCYVCQYԶ7x;ܮCWq]:I6pt"K{ [.Kr' |ȇhB_D= `Yt.lFKfOmN)BGEPCE1,g:- v~t6#gS7 g݇~Mˆ=e#LeJ@iuaJ \]9ap*(~q3h˷n63p K5_t&rW﵋`OϘ2*⊏j)ӛT.Œ?Eegi b3SC>|[חa|s8n8#kP#`OB}'wVoJN: iQa,]J5嚟6Eԕtv4$"&귣E=fF4{՞BpHܝiWꭆ_]]\#تi\%5 mtKz{sj8Z2?&!iu- Lu0,k% [zͺ/Kwu<ֹY4C>c(YQQ{/e?RE%ۡivjEwxN Sm3tl хMFh_ 7/'Hd -%#*)uLg8dZ}]D,?W:yFx*i?~?`"DCw('p/bhEǐAjs٧$8(eϤWd^Zְ=R/9c<7 <x rVEax8̠UDm}O:ԥ"xLŏ߾qrUwY9|%WYq6RtKꭧZ nuG#/,2vؕ!\zaBVC9J1p9ވZi/!7J~Xwo5VhwuB7M˴qU}JL/F tvseOc}W]^S" v3G6PvږC߃h! r4uǤY}Hut =i\ɍ |Û?`Mzk<{|} q||Wt(lxCͯa*sh AD,'@Jɞ6A3 3 z Jd0ozO#|>U)x5W,u,_=CX ?El3m*q\6*jJcP8$io HI xl@k_KNpT/\9 `j)&di.׷LK#l+e'C?$@e}9)vaA[-V@ >s>.)154=H. yw˰9ȖKhޓ@5t^.:vQ`%6 3TLэn2$pȬCyb_K]. (;aJ]O@qEv+ 9dl iR7h0AtMKY X6(i%bQ n/j(,= PA5 㠵D 'dr_p6P E$I =zCzE;5&W~=Qfy.kH([Ӂ*Njfɴ)vyC_i*[;]rR [OeI/Q;/8B^ͿD t`ywC!VB5iԖ-"2!s#{XϵY_#wmB> ~UW/eMPgW>ڈaϴDSQSprb*;~ iHcʊicǧJA!k(6ҳ$5.k]މz!s7a4I-=Ǧߣ~pp繀nae OGF lPP!׌bIjޠI0BgmhOSoyB)uEtѭU$E=Kb5( 4<9l:'k8w]橡`*QbHl-mQ;uWSkm!J b9!8l{$CF|V/WVW^s}Yu^lV]C>A|JίHapuM񦽹31XF $5#J3Z5\~+T_W2ſˎpkc:Yv۲ȯmb5 #\FU(IL_ˉah;BO\* ŶxWםC:+4]T%:i,ӛ|M4~12d3N.15kwصAOY&!lHgaUqqr@nxϑQ3 _U~}KK? oA[7a|%&Dz>o8X۵`F}Vb/ NE"4й 6g=mx2HoMOcFV*;T'-VY&5F0N:@Ҷo$N>"0j@)yV|.IEG\RX N ^~WzйTE={0ꇒ L1 "oJ0Իx_ 8$Z,5]rg u<"NQo,ƨA2O>k ܯO&GHށ(L)SyyA %$EKL;seZB,-w>[DO>{|KW`7OgS~ym%]Sj!zeAΖNt;k:Uqf>1O/X}O((ۅ{uB0y,oU J +73,;g,_tZ#$0xިHvL a$6}(Ah;|ymzFź/U?4u?}yfA's%_KHEZ^Uzaۡ3a`,A-] {5,DvK.Xܸo5ذ9Z}AO@Ńm!2V䗶*í iD> dܽ%%y9Dz$ϻ )ʛq%\ tW޺+X\ zL^ ƴc0fQ%_= 2%_1lL } *BXV^A8f/Y@ɷI`&?<\c;[#IU+pŌl2;b4JV됶l_$HUQsiWZP3 s}MPr)^f3xn^Oi"l+# \/\k4恜h)2xl[g/Mc_ Bf} Qԉy?µOھGJq$fF+pU@3>0yJ&7w#lzoK%UϿUk;ˬ-;S6I:eFI[g@z@WMw|CWoMNxG˸޺haO>W\P:>kY@ss7> H]Ъ=&JE۳ ߐĄ-ZE^exbʊgkI4?ޫiB~f7F( SpPZ3ӭt-*I9o޻,RHD!n}3[h@zbs)f%7ҥ*o["g;=n5FT 19бУrR:GdD=JIR3ik}K3xhGKOMo"Cc6bh2zI8](AKc.(w$ L$m볳-f[^pQG1m>rdKV Z eGpl y tr(}9`&^0"syٟ؛; Gi6+ZD5.mN7+{$o$(yDR]0\s5-o ^qPvs*$\-+LRמj&Xia̪F0A2a>Oh>2Eբ[n]86^U^ʏn 'U/b=l*Xj2\C#Unr!ܹbz2١7;-୺$3=9!Hn1A` D%R._& qMx ̻[#h9"~4 gy 9~}oI~2T(y+pH$;{YSGPK\j7*DU)B:ù?^D!dϞASTo^YfBԢ$5kFa|6u b4#5iw1ox~ VW:;[aoݹ"s١TrB^tVg֣P,]Pw/Yta/є<c StY1tTS ]Av 2?VT C~8} +}E٩;!z{Rm%8yK \ɒ/JÉrg9"rˇ-П_lY_OHߛqq5頠M, wI5$dۗcw-!~)Oe#&׸ 0wZxvH ۻxrn2Nr)=Hfya@N[";.b0ef\#e\z*drXg_h$6!E0"%{ <^f IT޻'2pfy3YgT[(䭻vɆ69? 48;yu?>3I׼@#惍&Zp1! 4{lM?ƺ e𜟡"4V"*!+[ }'V;Y XfT TBi.w썺;$7gIpPn袰?@:˗,"gHfWew^+,[ݚ&.p.b ƢoF d-eՅe.3?a0bE(CEZw:,цy C@" ZɹX}R|IN}rCqs 5Lrș#@<0M'P˄Ed+|v"(60ke&d-I:SY}o۞ozG9d߼m5( ?83`}'&~w'!9imS9w# ʆ ~!3κss.ciݙUX^%QY`TG HQ^BKU.bSSPNk2,ZGdhj]gc;P/ qB`͔4toTĬ[dH=X5΂;抝(y>Ǭ!gl#Z${I/`קE99z c>e-7eNkp]3ZkV'ȫ[ 1Ry2KDs-'gc|Yќ(f&^DDZyݶHڥ|&hY_R B9>%)}W[`5`OI]'/хQtXʝDQw9,W }Cte~!BIW"^Œ}IO4`~Osu H5qD3"4_Ɩ|l.SpDtWl܉-[ꧧzwdMk%H >[[`-s/v1Dz-']:xdiY[i=uk0:l Oy匪BD2Ene =]Xg:f\yћ/;;j7&sk*1V˧t&H̸hӑW#oa,=ھ8~P[0%&2qM><{O 8`T7#M[D}Ax":[+h`}jOL@9]8*WSK^9)}~Qj N VXй眏)Ly O}虵n,YOk4z,8zu {Jƕe29if 3罪Sb:oLㆠME=ڤسy20Xl%;@X{ ^~iXq5t2pN#Mscz[p { 8Gs+ЇՖ駀Q~x>g%ExٟJ`v< l2` Nū,m^tyGp śd=*$4ō:q{4Y8BBnD/N|sO=34b /^X`c [^o1]R7WQn#X 6d0밳sZV`KuԒt.33.nw'+61ma;C.A (\dܖ+m56w}эH VBguݝ9)/G؍)q4swavո+K8쳳viƶw/|π+p)acS;42.%֡28xxN@L;c| '[-B.@Oԯs)|Mwvmwuq uQ/Zd 㱙|2ՋNλ@]ZYHe{rqS Q"sKKVN-CV÷lyqK?ukKidl-~ΔL;a ' z!T8p=G)2He5 $Q7IH{]^E7A} J $ǚ* TG`wݤ ܯ)41_#\R_ʰW k|}HW޵gpr`;GYO Ƿ26 ~!Z^4|f;UrJɴ:=,@ byEoaz~SaRPqHvr(oR/[B7o(7 # Fi+QaYga\Í}|)ĶP<2Y)>; AYk,C.X:,2^<$ nϏSܼMwN7i2bg׆dSaa4j |3ϋ3vW9KA؇ODe`poS=n'E"i4yѓob'G\exszd_ճ/qp)LP޿r=YtZADG@sw~aN쮏Q~ns爗 Iq&O4D*U?{u#MR[u[>դΤ3L`؋3&z(##C׬{6?6uOO#3Fek 6zW#%lҷ>6҃FrC IHoy5$ ?'5Ѿ.hQnkn m}x\j̕9|3`{Sp ]>E, G!t]}vS ]);%fQeQ;k#z3FwcOqDntV#6̆V[Tv+}|xHԍg;?9j͕xj>Lļ8|UB$ fB@J[f@05~4Bj(hvebGƇvɨB~7V1|҂Rˠә'x)#s@bx K|wisacK8#uR3'$9S4R8R\E]ҩ+?Ric ν{p!>4"}F|:)x3Qxl ouXYB@flކ8yHR  s z%LGgi]=(]ZLluYҥc֚Dg0ET:&sE$s>1R$񕴼4(|/,F7~\eɦ_˷\ۿ|ua9CQA`ӪOS "V}r?QZ}s m%˟~[t?!&q*뗟r_Ry}\sv ؼmԿr?84\Z?oMJ#4o/ t_s-S;IW'@$DQ80WU@|”e~D?ɔE_\zSK5?="Ѡ`(oM&=vp䟲/!˯?%iD![Ί9# cلʣ`XƖycjnr _~ [sc< 31Oae3wEBs?"WYaύgxJ)_rfsEIXf+<`^-?{ˎ(\('>i{ :62R "[ JW3VWw7WA,[\5hyk]J@tA* xr~xuқmJʺE ]f?b&Ц %C uhA! rGJt ~߶CX}ct#0 |SS}NjAqfU-Q)W3+QCdT,N],1"wngP5h%?[-]0yT`-ms|xX5UIJ>kR ?8J$D$Oo08SMɛN>e%J?IUE#~q䐞^L-y8}iw}[q'v<D?DR&? fezmIn*ɻ&%vwc݊E 7`4Tw\+P b&x,tw_{Hkھ1}Vdat}*i  jf/EJc^NA`n0*w0 (  9qg# ˣh$(-LiSPJقFo(xKFK9X{u_)6NWyzV ~.77B󾾹}4'8Dcc{"/Ν^ZƹꜴԇuTv>~(iEӭG:? 82DQ1M I6gt;O7.j岚ՖNT9..7Dbz5f[/Z˗2G9Gj !OC ʰ鰷N1E}âZ:>z5[hn,OjY{Ÿ>[A^ _w;knrjG]x'w `6)Hft|ץ@Siy"m} 8iҔr >%"^+6[[O^T f-xW锛H0G^K!- RSN:HWnbZě42(!ch72R̀yuԹe%Xf G&f mGbpqa&|?EF} ]/Q_4Hn'sΞ~z/lY6i [oѳ8&e.~EPسYiʑ(J2%CMō 4<-PgerkGڇ!-B^Ν:&'Ρp[XL?}nLZn;3ߛ)̾&h4zK1ŔppsS׼>gx'}8-a{U}'2x\J̽"-t_`];|EX-޳7ĕ[I^|@V߾/L8 JK[BݡcڨndSa\atcn5V9C޾;WOOD[UbOϭhby(}ZS u /V'w^QCmws^Uύ$<8l_uQFO_7)J8eAXL ˞HT^L nozzT:yrҫ#(,%8ͦkyBX_C A}cYGr ŶN ЯXe(7@_ ,F{D>2-9ʧ%vgŌAzÏ-> B}m@^sp0 bYU^qBpdWoj7{4V}6Ces U@Q5Th8=8fz (,_s@ q˵&S(KY@DroיOc@Ϛ `1&ĭz ҫ6iXO ݀T=OYqCtysPR<:A; F噻KٴOM~ (n{lKxxiXҝg SH$F0ՏN2E5>L {$x70Zߛ,dNG]a}4jhWC r^yN,ޘ%)oaK6K}.h'Sʕ.{ jVu^`̚WTb2f \^pwѥNIsڣhEO,6i3&c]RH,*\>IE%4F/-%boEul<+޷,m[UԊz!KŽJOOFj3h K=/T׀]-}K6nڈ+q|>D6ώ7Sȧ@\HbP/1.;Z aRK]YRS]xJc7^oX~$ Z"=Y;È)r`bqrN[s1)ݩ)${,kK 8 u?5W~y.CTlM 6tԉz҅mV~4!A#]%RJM;`PD ޅ!o߹{`{py&R{HҦۜ}ܦ(_cib/U8R/WajӰe\yXki(],4-C!͟Q"4CRhqǘ.|pa`H^P 31YjycNll}i^!?Xd,g=]ڠ.]"ن-bzKqR_DYr;+dw .B)bc'QZI@tu350a/6Þ$u#"3y?{4î |SIr6duW<[HȆ|!vn,J4j1GׁiTH8b3礿6VY!| 1!GF(r ! 2u-=﯒.0Zj<&0>LAF}$;s y M*hSGU˾26.2'IS;ʑz$|taLJ{p"GoK3À[pA& F/QimD5Ss_dHeX!oVܘ?`|bЫw$F=cr+%Gyn|cEx\:H80G&ytlSACP`ΤkYKמЉXeK6 7X.H `˹3;j_\<qG/VɜЭ1Gɻ QdvXس"X)$jjQMnk[~;0o̥KĐNLiz!-Zbг 9E8}T&KP{ȱlTmLW0 .AK=i5zFg 5VN8Uu9"^/ QA@_26_H2?Qck21TwI:C{pDӻ,x(nMTDz.|#?Zhj{FB`@ J'J$ DgnhݫZqҡ13r,cMc^OC >ʾzy(k of;5),&Yz+zuyT@?T]D|֖ҺshȇNٝQ/ӿM& ypG{ :jbk7JmqSLu]09 C JLmW##`&-4H@#9c?].嵦ob/E5^CaVS.^wPa&'ߘit5^2&tԕ&'O1Yi(`x:U}pƜfkƅpdl)Hr xQ/iٍ/!wĠt@V%d;1iij!yHYi"i*YtH.J*¯Ȭ(N֏Ws{i[#e'1-WޢIl)4(8m8mxya]X|}fV$s&],¾v+a1]-% CvJ[%k3.e%y=R_^,ѢP)LT d E C-`xh ]5M*J>bdseCXGܷ&f3{Z< ~Z˯َ}jΕ|F LFcJ`XQqӄ  ޳tsDYlam9'KY{Y?^GD"CwGtΜ"!&·B ^a HŌ{yN{1Pؕ@cQۜɘlB0"]paȴ5@SAvGf{a3 Bݻ\\HqH|l4ra ş 0 \ y_CdWSve9/I{߶?acjNMJÓL}] eO.TTql]}u(~N)js3#Gzi\rSN|xZg,䰈\JC`LIu^o+/22n譏M<*IkIp&"7:A靄6xp (ిy^_BgZb/F K53>@WzrgJXtCUPܳ6xzLf>[ r f>\y g5L:WBVt>qտ-[doi ~pHU&;ٿlp{>0qu P4!FønW$3"΄]?i>PQ6My|.Ue:YVNI$c[ߐO'͟yA~7Az#Xg\5P˜,R3ʪ,EA1o֕U!JEJ1sft gMs?MdSvZ.d`$tWYD~r*Oo^?5gpo tq-Vc;ScCo[G+5vfi.R>|jPr)HA~DVƏzsdm-Vv$wEe$S>9 `WNwQvK3PMC-SM &\Xv E9F>C6ǼBS˔HY0skN ޵{mx4jgZ5-IcCknH( O j~Ob|r:y(^hđ(+e۸ 2GpV{;lw]HC!`6ٟOܔs[;Q7fHo?GRe/enx/օ]Z?č|VĪc+/ԟuw70ga]q:d=LrjKd9P-|ԋiR}0&FR;j;wn=tX\KrrQ+^du_^6?ZoY<w+,ט2X;/4䫠n_S.1=nk^5#*H ]R9o#_!E=/#c<,9o7&*(SMw9P^0|h]38F-״m+𝎩EL$83lf au4y0G +~*sV feuRm>RҴ [ODg،P>܎gfuBK>]&y[":圽iSsqvvPFl"t-(i "$M֟nu `(PRgiכEw蚎-blajlx8By|ת>wF՝< O'܍1`Ӫ"A| t1\uԔ4p}$]^osYP.ڟPXRqK78&larۏR,e`LX=.x9}b`55s 3&" X*a/ݛ̙⏸kKjm>y XT DQG( tgr|R}#pu^\obY۬uv=!OoUbF Si\Q_Gu½֧ W7l4 #k֙ބww/Td,A_k>I\/ǩXRYFUʵ8wO?14p\.5꫋ڥKU3VMٜK _ҭDHg#~)K뼬m[G'2;C&NMsHۻe bMD^`$87#ɏ幌6<&d˝Ӯ}O*%IySB^ڮ{}~tY+gT|m)e}ɩVb6d?~Zw\Gn!יWѮx8nd/B) ק@%pg&|\ "o kvTΘ0Wr) hH3u-ټ@NP &;*|"׶ '~r<ʌ-rzo,5h>ݮػ,)Ǝ i7EȲ:/%ltQu$ Z -yeT4 I=,yiK>y롮*c3rD S()Do\iƾX]4f 6N׹`|~@WwiԛTܒu8%R:kOS~AO {R5NQmp/ r==4_7jˎHNj\-1i1H!$r7CA8o4CYp |bXG;"sg@^d'6sZs@mSN}q= v;R!]OeeP4u-А.!N^R}|acHn'9O"*{U{Wu{UX|bI(fNƪ%WQ& zO0 a%Q4gЎ+I9@y#7ۚme){G7_ ') a_{-1ɷ[7d+R Wi>WcjZ+9rDS!NZF7:X(|gU<=gn8&:ľ5t:/߹KSʒ_ʯњ)dF(0A, ?M+wގ#5~nϼ ޮz W'3%X( IO]bνX;T_#Fk}c }A>'fǚgF$^ȀBNUPu<y,"N3mX@}- 2="At_&" W _JL-ֈ5R d, 38d  ')W@7ܦ,h+Q>7&u}JC&{ Ls1}R1ݯ A8v!tJk|>ռte>GWx{ !7[2M.s6~VeFwƗ ~/G2W}!*{HQXBC?zF >زB,[@X9#A6׸cCrK\Y0H.c!㳞/j/5@-=NswPl)|W >B>/z*pۇѷo||jǫ;+zU ^ӫQcxև+:ze|;+퉩o{ ֺۗ16=/#~+"6c}#˴Kwk藦8]"~\x-:aI3:mt,U-|>ՆT%F;cۭ-z ajԗ`g56M2Tnmp:}9n0twnv_In_3Tj|uW7´ބ3KHYmo?kHђUO>iR5Fn< 8,Dž`lt fBG4+Ie7aw`_^5!:\kscohaxxI4G#ڐZtFr\> `R~=|g;P\bc){yY 7S=O >(6FPUY&R~.gR'C#ɷ ;8 I#JN6ߙAZ_ؤyytųG H#T:Ō ZYy#m]9M*cy4yCqq|n߻#&sa,1l$_j|$}r٥nFc,{$.ӚXow㭭===T;\b.lʷ #R4ƇpD|y- JZ6G WEފ'wQ.҇TojD'x1xfÊ`6I]~W xK@1윯2"izP49GZwRq؜qiM<-hC-{vPb!X&.>ӄI0C9c9C؆!:}i[kMibByuѧ 8'm:_sB\-F =;_lO<(ʨty=q֢}qGE?f)'KHHvpŧWޝVne_L*o {\384L >m*Yd[<"FfT=X;Q5tar^()" sgG>=.5WAOJe2&/<㢸f)Z fx&mH-P \NI}~G!#A`01Rn=z85$GdMVVuF4Y|wmjFǡ]ږDa e_3|EdjͿ[6sK?V l̮2+%M]pRgy)J@'t/>EU/ZaemLZ~rߏ/=5v2OL[x" |1 W=J \;u鑂XWX膙ZJ5 .sɳ. IAWY_gtHë*4 f7i}a@m>V6`4]T?6$zuz{;KZ.Q? Z4k,gWˬ1}NŇ{%}f NEi> {6;џqQ^`0[I]V+iT'}͠ɑP41 $5*ex%wnHE50׬G%BK pt*D*(b1:d-;G-&\jW ݕ: FktbNfLD#Nq4ɖD0>Qgc~K ]dy$\F #]ׯנNk,!/N–m/-c}_0b ”h5u}Io.-Ue6.X!SEb6Hh>l.ѥ|?WSk&T O M*>:Rἒ5^NNvD=?e"W+f'%VcGզ FmEwf,Klc{d; c1eEJ2K6.l$Xl%6dk=8([D~HĒq`, rڵjҜB?g?jC{Cg_{Q"AH􄟜YxfjYlTR+ y9 ʳdoFM=q"⠂(V2$ ,,%kMb_rAL2_#+|xKW$]>uoGxЙGW$'bLδVKu}4oR}Fу? NmSRy3Mu Ģ.Uk!e\foO39G_2PQ)/t3b摛4PޏZ=;]f*}նc/}e u zvu𫄅kڻm| |fRW'N<6{TC+RW{U2V^b{T?AM@ڟMGHי|+"z ɹS'9)#燤\;)Nyn B] s'{u05y) .iNJ2ƛӜ7<)Rntˈԝƒ,!Q1\me7%ma͛qQʜ<;۽@};n/7/ǡ2%pt'ȒM8SOFO(0=^ۑ2T ۪uP=O)3> 7}QΑ6 Kc(ga ` nVRW=UkGqɨЕJI;۷򙐟DjK!r9{Gʒ,hyd\bG mߠደK̋?H'N d9p~2K~_2{r^kΐ+)zzQ%Ydͩ7R23Z$mE6uT zP6,z[h7i|r=RMQ#r]$}v梛vMS<(Xjj9UY̺cltÆ{JPly. Pi+>3<\10%JP@(eEj܁C ~>c60t. ˔IrI ۞]Y 4J_/oW=:w*EkPb]{g? ὧ^b'cV~Ht沟ϏIaZ_;-j34h$,T`^d U+8[o܌C#Z+k%Ep`"26%v3{<\h wP7S8𛶱C&z9gWy Ag JJ4 EL=+3ʂI(T!8:bpI8iQ "gGhTW _暎J?p9!'z/rFϱEa)r_acdI]R޲/9H~ KSbI(ro2A6/icЃ|zد~JߎNo\ A܅`ۘz4>nG jeO ' # ӗ c>?$M;Ur^ƗIBb2>m}~%  H][YI~_X!e6~'q/ KŶr^%5h`+[kxUWP٧sX8 @G}t6Ʒ~]Dl`c -=4M4.eU˰NKJV%]OYޏۗ;M. ha<)ݟg Tm21R&p=-+Ly'2~8xBTs2cAtUרG%7)xDkz*LG}H,Gt0oo>QK>>?˷6d d|zHs#},Xx1{8zc!<[ X@ܲn$`y E{Y`Ds}#]R#~(0 H"p<|!3DtTQD>EV!8z懩_?#?=u`O Ms!{koTmi^o*X$2C~bv]o)WHT6}#Օ>[\ 0 `0uWfHŒ[FV1a ~Iκ)۠~ $O1vٔ pjg:rV;*m+,)Y^1({CnRjJ`GgSjUZcGĎT: T3Eeez )ڰ)M&Y=,X8 %KNg 9;$ j7;h 5fFߺ l{>T_aDQ}O%8dT4OC0j`p5Eq$ ۛWny4qۓ88#F;f_~:)#3Tߙ=gůpb7c.jdqZXۅ%$+>P/4Mvu1@~FCvD\38MY1/DDl|jBҏ Ɖ zeh;kT;O9n&koLK6'j6]}x%$>o{!:s(;K|Q9{N1!n)k8bk yI6+#lyuOQ<]<֛ תz׊ܬV@)'ducC-¢N+U/-( KBCRlǻXtWxRwȱ?8 J7յ{_Ą 1_'~Rz:<%v"]BP˴MHA}7.ȡ!9*-auڈn1GIޡ_ZUi`U\'/!~j[З~ENR{|bt뱍}&ԟ{휯Ho־Nj5`rG̞D" LY%gi{'b" &mzDZ-NgVuFe|L2 ;Ox$ȡq =!5eKD]j(*cģ߷awɈ^-vO@$[(m|3?b@D9iڼ,)kTxoIV>Ϊ FYS$CdW v>s~ѿ!yQFڜbyz)l$7b"#~NeMۘcպ!Nb,Ē lNmV%?nMqU9|j*7"8FŠe`u-y8;DrCGߌlBil ։͟*|\*e62m^J=qxi>y\:)GTd ]wW5x 1 FZͥGpo/ۖt8HnTu{\+wT`"$+\>w1.|'>P&.5 V0eewTjKaoh1'z&&tj>\~S`Ӕ0HX6FB5*_-< b+n(=Z#(⣻x`Qr$DV.|tpP ŬlPmZ'-`-pMt/WYzh}BB@%mo!ҒRhA˹PPYO>(=墚ap5q|.Ewo3g6l吐liHk<;u Y>D-Rrxjabhlr9+8du1D(ySa6jma)h2yɁ+Sj88:௯pbA%jR8B=poJOݭǾ6׌Ng\(̱ "1kVChbRUVX ˷V a/7HҰ7{^+ ȫ C>p\Hox)wefeK%A-źya&gYB8cFnuZ^ESA\ 鯉wd74rMwHT[yF0G[q@\!}js)a=ddOgC&E~?[ft 1ķTĹ= u|&9_ibytucǑ,Ra8%@c:ϣeo}jE!UB'm ϒ]9l; Ǎp}߷OAH_()ZM. ^fˤx˦|xFX˿.#yJ KRVy[@!>* X+pGh?gv/HsW ´=}G8 7 t0Q3)%~*YSQ,ğhV̵X^] $JH/+b aJ]Zo0 |-f?螿(_䪱9- udaYm rnrY$6n6ۈK 2ۯQ9-rF6|\ZzbV6S8,i=,_7jإ=t4 F예_OYXhjً41Xm4G!^. րbBU+k!zO[Uro} ?XoJZ9H>}'Benm,u$C_}ezf:5LEKj'sM@爛@fmKn>l0"1r8 E*voW](bZBav ~*ՒbWKTM*L&!<+3:Ou-)OqD$ȯݛo^~:e7D7Y :~kr˵&|_<3A\F Qvf-XLҨBEK$Tv0qZ}Vi+t$IQ}xVA$=b]@+/tlpHHؔkLJq7fߺIkt>QP\mF"&l \HD=܍z~,L -sו2*El Q۹0*"7/ſI$Ԕ欝N -="dw%2qj\Vwufv0 <5r ,_{rw%  gl ڡk0"!AI7Gُ Ho3/nsC bV^Wi:XŊs> ,AD֌^JVCY1rb-xwgHvW^ S@2-͓jV,4?}`D>_2k k3],37o0Ȉ)̇":s>5x5 E%ahy3!@:QME?'~ dO_ׅH&TrX5r_KkeLZ,QE\!:/!&yt+:{oad-·˾dMm /&) Ne),~L`E ݨkR"xk ctO((J4dh!lb2o|A=8Ÿ]ju0uDA9!=NW"*]yg<1$LJuϑ?dAL.ܚ|F|ۿ-&QTJc,LdMR}#_)UW||^w w0XRR_46 Vé|WSѰ"^(Pxd?b)'%gsV_l,v`|ʿB?ڎT*URYmx=MN_~Ѭ\'Vǀ1t5bA2BncH^}IIk9qޟ_,K͹R@ *";FH%~kzu=YKLp⇅TYj =fNo@䳽{#E )c{]^ޗ 'wx;%~J绰y]](qbxO'ds^O⸍#Iy ^[qs7UJyS9 qކlp`c7/m++(׋P9W*؜)m8A0HJz&aתޛ8H_&*+D\`TܧOݕEk`dEV@ߍ\px ~VNĔ%$>RMw&rs\߽2L++d[4bj;;'#=,|U35h;Ma psZehG=_" ^P& +8,ȱTg|ҹ50/;="T,I>n 60a#gX#~ 4eΔ{"0=6"7+6*b0o݅wRIEY U+MLR]šCgvgh#Roc gd[.*zq!h/">Ѵi' I_gx+:PSYYOܻ[ #e.ޤԊY]djB}ڋBh@}%eBlC2Q90y#3OIݑcրn@z<1F0df!ۄ+tQ|qosnjEX^ 6K] ܉Go M&L. p歘22: ;"F!a I p :B=}-]ZTv例P^B|@>c":}ᨇ׊0X{Y@W_?G4r29㵉n:0!_S<;ĆpΒoe'D c,&]~wX_ߜ\})j%ӱx |x7̽D9͢^/JHe,FBJ.AіjڮJVsy_j5 2߈9y:f(YX.1Dr)"x!:ޘ2Ǧi/д^Jz"P}Ca'n G.q"20ŔzpOhΙ<6bBYף_  ^xLK\)3ln{l10kD\B2H} ZvJgii5%V(MiWWiDo`͙O#Kߩ3[/6ikQ泫cV'+-E!/ԍ+ _o3ɹ698Klt-#r%ۦ|TXJ% g}"oj+|!cH_u"?+Fj6#cx{+kzK5|`ưN& =Q/ Lf AN'QR5 1BPfƹ08cIVtcwgj}v0-9KDҨ!K'0~c_>~sx10jm,bժ;u}6ܗ&?MU==j IMeS|+<}H ȴ'y{5.^~3 ੲmVj._l*~xu'ϘX}S<H.\M.N7fn/? ڷ.U?X3/)h۹~*ar{"Bf)%M{'eP ʢ%AO`^hW!=sNji(6E\Dx|69$ 3Q\Aqn.XFE61tQ#@ĉ +0tFOZ1h_/[- d87MO F]nl>m0}S5,|U"gȅz]埵gƴKM/o\ TwUĐU>1ɑbIiD uxTǁ3Cl$6j;`RfH9weƸkwdW/'垾;1ɋ&k+/RU_b#ڿ#?5z ?>mnx+g aĖ@6 ;bzrl問lk70r{"Cma)nT ψRQj@câ j7@pf>X,Zm8yG<.*JjŽMR/¾l' 4O}^1ۘ'zT& KRIdE8쥈~p܅L䈯MmO)11d)^| fduq++-UIC[X2!_j )@H>C$ 维53ez}'XS^H<'讔~B҂DA mYdԡ"o7Mtha8)?߫ɨJ8AA{g?VivFBN{K+Xv6+C:LSwQax/L[şPo?m''GO΂uwf ?$DYOsŎ6!US[Ej Lxe ᑮ%ۏ{eK$/?dc*d@w~yS^=_^Cq-gO;P٫ ͇g>0;r,=HZjb)T *|DGoW)> MH6aim+_5JKt #?f`ꏽjOIJNv xt_!d=o^& l~W,Fx̋jN2q=UEӻoה1&ȬimCI291/ҍ40ltzZo$SK/ik:76ߴtw{]Eba_  JVI7fʜ_%lߥ|hG߻q{ (InuA,)Jzij="c}LY*ZU' i'F'BGAal˼̝DQ&R>*ke; rw2tDZn9ٙzzl2,~:R8*bNB$y#[u 2D9ok9yܔKys˗seZdiT9>5nG mBb+ݾSL[\A!,0 C:$Gv]d˾S]㇖dƪjA2*\·2?fh8P. ;}]G"o+caPӷ-FudNְ'ug&ɆY]Q@bL*KI7O>V\uơ?J~򇧔LYW>h,-"co&p8C1үGU_d#o1#{@S`^`TysV9t dlַ [7&&6ouOTFBQ%;ÚxZ"="^Ĺ3Fr UqMݲ`Os}e3ͬ!?$4tC뒰s ,A$,?qHP)nϢ~6{pTviǛ' ؟w>L4.z~S|]b>Hthzr݋sBrI׊4qR|l:$z{ͺn%C+PSD5Df 1u:VMq,l) eSN+ODMu}haؒIx ZVեj(MRJsAFŞ"ٸdD I@ļ [S=gB]nBtin&q\6BͰ87kUX{S0^NKa>LMy"L&o!, = `AEBu齃Qì"pO!drW ^%ux~P'L_[{_p9`>r{W֦9^0-)%ӹo9J "A( 3{;YpcJեKݎyEc?L0r1!&vX4=%'1h؜Qx)9c; iɺksKamr#~LR**p3|!2jD #L&Ǡ̡Gm쉖hVn\vOyWG,z (.l uξ8fK;kA^Vp@~0hq3x03yо{߆N~o2I65 r+Mk?Q%z{#3QPk_*LC+J[ؠprYqiQx(QO9yXԃsd(i#Hk?;|+<[u"8pC|PkZ08EY\#=Iff:GLf$=.Npu8^nmYJ7zx*R7C?2(O <C®0&QAͯ!D%P,]Y_-Cs>`(JCY r/D޾ΘǩxQ&@{c +}a#);OMufn-[}~ĽHdqD#e%C䡽-+רY91Y%C1T}-[h+\jPZc#B= IͽM/'$ݽ:IbyCHz-' f`&}TAH; ͓0'W<轗x1o^*ՑѐN—'>P!J,2Ř5IfA[%3D8r^lڔd\[R# q Q?,υ3y[]j ,׼D0nOEs9OirN&dd+uN;M^m4\5$^@!%~Z8eW4Q`Y 4&Q걳}1aPMܫ7 2lmյ(R)Ɔ7vcYU%9JX` DvxR" tSҚOKV'9Gyl9AWس@8Kw³#7̮AUD\3Ghz0fhe,߆':g/7*-e*4ꟻ~u3Ԙ)*A%JhNiCX~ckE2)^_ҁ՚oN7/2<%NJ['32w~@ kkj+!ÊEb0,V:&R$5Cc w|,TxvE Anb|T%gfo Y<4e"o3m6zJMjq#%!cKkjJO'u5Hě#%FT\t| Λ/f[zK *>S +?m At!+%Ll >roe}b*%b 7b") &tIw&Bi [LBFd-\E_$ֱB`Ft {b̀29m ɴ6|@t$&l'EG!+gΓd |VXrDڰ/eS`Vo'U:/52oxPT/?YT IrN✌hDm+ҒK[&os.GPFounޫ] Fo8_/fCO[#fK|V??/# W62u힤o!W Toe@FG?)Dpd4[߬Ϋc=qf<[y^I1d K2:^uFS@Ki;74qB-EbNm&Sp@@_1xKf&;3I&+?:]y/TГWʠ: 3Άf8O_锛)KxNKt+H3!_;u|i? !ɠo~c!@~2s>\CHGGDS׏J5ᨽ70, ,&`v.VP*?/u`)oL},8{5wd({]%Y Ï[+}iXMP/'ƥJZ](7߯g_5# b̾0]>H=DW )hHz w3FgF\Mб!s% 7X^?fRV$ fWMc=ɑ /x$-E=S/G# zJ V'68UR%ƏOqvݪDB\F~`9R0tH}ٶz* Uɼd>y9q٩y'%(yO3Wz{Gz_6ҏt(7o.1=266)͋ -*##pjdܾ_C>Dvоmq>J&@DzuzT98q6*ydM2`ɾFi9}4s;`D;m_q1U[ڠk]6>Of[L+*T䵩ϳϑźc:wjV';Ӛjr);{@Se|f.I",\ ߃R:li&0h95MͻIH(Vò߿L Pu0%f zR=sr]e Z".֓a:Ì ow I[>Wy\'6z/X9#l"R/3z엜mܖ{JF)d8FFq@Oм$r\߰o:lPι&2@03~҅/ԃ㍬D%= },C ~!6#BC+ ur!pnCLKK2áb XO0.5y}Q_i;FBzc @JBi+4?rпJÊ2|_0+qtdC^?6hgHlElR YS/v6?\JX MrCblN$?H!Av]KNƮHX\m|x)&fZ=op2hd4ֶ8*p.8'{JHUYt-\:_aDzܟE!vW$CTmKGΕz8d1)_/:%,~V/)Gޟd)JWKNx}#t-{k6gK>&3-tc4Т4oPD2\SS /Ky^HMZ-b[ ]V1[ߗ0gFGa OObX|]QT6;䫠]i O`aF{ۈ]F7>櫸{i4#p~%qy_Y@w>Is8D5{hɮeWpKTONW(FIoL;]5H)o0ʓicŜm}QJ38G+&RA[M6h&J#0 㛈fe-̓R<ȌT2s^ ؼaDL}IfD1I;A#/٦=ҺaL(Exjb|*Mck"17= 0Xx~Y} !Zf[SI>}'fUבzO>r%F ?cZÜ܄"J I" qT Hpx+yEHiUZ +@9];\.Mk}vW;2I\lYe)?iуP.B4iEWܜ=n`$DN {cޅ$G?nwj7ɏy~Ȅ'&6+}[<9nO -͓iiǃuφљ)%Gʚ61!Ѿ+{8D7bU't97~X*ȾOyRDO;<-=,E;]RC1tCcCks|{]27!5 yC*+_IO:Xl9OfxU1 'q ˏOvpQ?S^q 8]1 qKt1/6HR "19}?ԖY)&QHw# G0\;>؆۪G$mD ]%$V\dT% 6 -Ϗ9ª1M!6!\&rX`G:E<Ҩ.NR_.~b왦AQ'R% Mơf` 3|"^ }d5!4Tc1b]#^[#7f&\C"Һ'_¹e9}Kx*O'MII_{ukoFh %=FNGnATb5VqKܹ[(f JV3ű뇼i j._x08[T7EXi?^(z慠Cz̎]9)dk3m_$t<>)8%> 0*h-BT&"zRҳ`h o{;QD~!>Gs:׉US1Ciy.r U/Kk˱R\&j(RMzUBi-[_0n!Kz⅙mبo.fE?`'9@ PÌZUS5l>3;7yg,* T;SW"Vޘ` 2`Դ܋'iIzv&6-Yd.: ˶.."- Yfel`EUdxE @UO]m}* ,LGDKgr,%i!(^şMh|oo!0 v ZJ03IxK*װf)jeY_E_OP}5҅9- 3630!ii8/SX5qE>``U=tgdG^&\7%^ !^MY:8-=88ۿѩC;PU\\,Au&ԇL#Kxճ_M #GObgBԐ#dw6! K)% ¦ ̳VWi#ea{ކ!(Y}لHcv+xE|!~n# "m#^򟋝Icڄ)<F{03V~dއOs:|mf~!R>"6]:,cߦ  I{}yfamhoȂ81&g ]Q׊ҁ0R@y]0KZBYP6 Km5_tƇ؏ߝ_@o+)"\jem^ >G#ܿʮ+uc" QVF۹n44E4WXX vnV=j+/2)?·tqKY1! 'C~ vo#9_1MLPS?[joW%G{2#D Ӆ.X ķмׁscfBWd M6,ìW8'|ME2-nipRz.U"O/bw>D:LVWϺqItԈe3Fϭ=?q bo8q# {XcͤOZL=<AyJ{ˣrn#-SyN8%0%ܡD^]QĺAtp1 W[TZOf&ZJ<"ȕR;/ ^s9ٹI9GMEo $42`l>xBt0M#Y̘y/x˭ 8IPʴ7NTq[>W;绍CfF^(O.\]7s|I 4O_?"n&<=  TZ/1ceLLߤʹ7i+ dF_9F?QLRϓmO|b,;hFN{kF?@Pf!S*AuŌ0bcl` GOG,:>+lCɏj0#.1.U/8痊I44A`;vRRS҇1Sȓ0 2 C  ht'cA;O56mTs˻/L51zѬ#e25_c1Y[Sl1dF؇z&eqLz crbU)zo3Y?<- Bw!u"G>E! hR9[n8hE)ʳ9߇ "O: x _V1yzNTi$Ek/5'\Nstj&e~ܫ2㲋}NmiKw{`suLA3 y<~?D'mkg`C,,115GGIF']b6v'i>ͯk{FDRY Pv!]`_ѼjOM'; wo`{=1!*^Cy*ItH*Þ0ELbj;\}9%m92%.ddO‚>E.2 <4{EYX#d?t@dB*8}D$>e9\/ac1w^8[ҙJۥkэS֏ރ`EtyT/?wG'Y7NA?i!/p!U.{8A'hR7! 6$C ]VZk)S:!a2@he9Cub2 _#M /Mr _܂^^S4ـ_)f;t2T- W`l[#J/omYxBDV&_s+6qI\2Ȼ8g/g«'-)>nE&^YAŒB5Ut$&i*a#[ʿUrB%ZY5+9)J@M~ ׼23zY&g|&z#s鿯t-䃠"N2P'RN9+aDsּ ? 1׆P^hdܚ3d;@u3xї+F>x47I#Ϝ_;rAo⭞!O$qx'iI1Upayeu*6Q-Yv5kCx.>\W\;iΫ1rbZ?М{c!3Z&wLGw"0=(&S&0eQW*jGjY58{#PUw46P'@y}|0<@πgOQ:9(B۴ɧm?8J1KijZ.|z.ZS*|"հ>g-.eLDxi*tǘI(ڒZ$w\[)#]VKg2~WNgЎqؘqǾDJXy", "<0h,\@/!;/e\tzf@LE| pRD=l'‘/"% mbl0J.!w|̿ O=ҷ[θr_qH㼑VX%(Vw1y&+_hrnIi&S޹U!7 ^ro%9R uҢ8$[+ 4 =n TѱDxI16<߅ M~|لˉ ';=*y";wY}Z6t-YEA>otQ͹_3;{FiZ( " 3#!-6h{ەnC\ 8'd`9IIK6:0s]%.ِvxW⸛>~A6,(d^_^c(kqi5JAݛ;P7uFz;aO59ӚЪQJy6:WI9 \Mz$~Q(sNxC0rm`. "{ wwMZ;w}?X%Wa};*/\o >ze,)r1@Pz{$imO3'ddAD:ֆdQPS$j"!E6+>\%BS&0x!/j 8MVv]>ܨ'Vujuc$dM"_o@2! E7J-AÛW]/}Yxƿ-IG.`Om7AY-^ںGB]J|ֶ_M& ' X"b',A8ljۻ fU9R~f񳒗ҔٜwWJުitpXy5xq+ о/>Mm'Vz{L},PbD"& K'7xD@P༊Co3 ~sW|A/ziK4VSud (4,a_a JsJ[.@F0jҤy)wYUsɣ1GFE,W <`0=uu~b7k?g7HIjq W^0؏Wܐ`MmT\8|yH%OLQ;&K_,1޷YC [r&tʟ~xHα . ڙ{Ug9)DK!J/BzOБJZ *?<ەS, 1`z B=f}cVQVvԏ`Hbk(|XFXuelHh Y3x4K%I%M߉]J0!>QV`\3/t 8jXӤX$l/hXfiN`,$䬨Iha d%w#5V,dx(" }PcJYu%Ģ2?vD^?*wjqQɥƧnVNM9Ƈ t̥*KswE[#gpG_'g1g9T#}sKuh>p29n-YFA,k>ϲ=NK@(H,FbL7anӳ .\W>dFtbW=-EwuPA)tjzl:=d 7+6 ZxA}T um:syzRsOT;Jumd- p讀93{? 32k%abң{&}hcuҬ>8/ \E5OqzB3X8^E 탴_n8i4Pn!&#1Ӌ%N`\juGW9}M/yEP*KظȾg3~;ܠ\^Lrt*5 ;9HDa1TZl}a dJA7v=ń΄DpamҒx/ Jk#@_2}09-eĸ/쑺F!vpp ʝ\=YWG䜘{CPIyt³0vӔw Fz0>)'9B 5A߸c('N*> 8۶iG`}o |Vh42/RgTfrEe>kRۍ%?QSbqT+QBxRĤ22;ɑD=`Q;/R昃eTC7` 7k cu)8iEMk;ϊ;:*iCB's yF{S,PK{K>GdYJ;AVZxKmuҬ#Rһ(Ԥ7@' {4| ~\.*|㥕G&D_aς,`I9 vdDQ7*WaУ{ݤĪCDy >vM(VY]AINn=EYDW t79@K:`wj%̸LJqĀJlKܡPyRބs&+}<'dfI(K$ұOAQk5eh*끾&ɲcL ^LUw-n2sRj~\˚'3.{Pb^NZ[ޘ[!~%4Qک:4|鐪5]KP =Q&>q(E4p|rLw7L,K1}ԋ I r)رF~/AAkG~8axgo 䉑x@׍5UK%yЪ>^QR܁Qw\'zYҎgN5ryO_sܺF@8Rdi[onI'}c^ǙO,boH 1L, R$M1e{'o\g2?ҰIG%n{*2z2"h )!г՛;Qxd`T <bscrtW&ͼCe-c3t8Dq_(o-Wzwb+ݬRi0,CXc+maS!`.F ھ!""zZnu)H )3S[nOx)J*L%zO/ܟtN -!.˃dYE?ypTF$%ֵ?`Oj vԛaWeاfzj{5N]"s : m8+- E48䦅.:/ΰ$S?FIdR;xHYݿ 3ҪIʿX+ es;F04}^R]kw>uŤ 4^t wzd_X;:qj^!~}A7jʍǫhm2 ,UG' l@H蒩A'za6>+,,B,S"d)jat>.w Q( 9MC.ܦ"XB1xwb*F)f:;C%'[k1ѼU,R 9Ctu}xr+ z M|"c:=)GMo|^BuDO5J~,0<"X ohU'CPgOd[l~x?/WC| H2meº^Cn2};6_|"7"j{zX1@.\U2|2 u,M""R^/6~yIcv|<|$RQ%S:>QAD}=t0sZ٥ַ0R4[}+SioCi΀tlk$VIhO*{k\ ;v5 7 }o!Nis j>oB*&)`ɥMm1{H Rth:,u0BNL/['7;ª8+;GS.̙ӧ.1(J@a@Zr&UȅF|a S)'E$ؾ@Yݝ[p뒝xc \ԦA+achH ǏdXC%TS=vsA>[N&Xc_h XL_kǃ`-=RO.l$ AnwDB僚gx'īyx6=к7 `a2ќLOnl]-<忤 F*X uZuB%5UͰ xf})|0)mMKZz1)m#WuM&%&Ȍ5ȌB8٘'p`;k}j@SDLbs^'?GK6te ImQb6XE$ =Qqo|U cTi/ݗSfmmok$gkwud}XrL_6߿QZj֥loĢߕK]%X,Ax?#Ŏ%qE/Zaqpq˟;X9e羖_^*1a)KۤyļL}G Ӻ9 V-צ[^C3Gm^ ,t2^zR9W.rRhH`q+JYoUYcC~Sqs?kXIzKp{C:t m1Rs[ DNbtȈk-]7LH*Dr#J 磮;wL߿v׷~#ƾ'bvV)dѹz* qLPL^Mž JLZ3PzM%D9.%b5 zhdڵogNB◟TS4Y풔4RQǪKrmPVALkw_W7m̍!u16Cx=?a{޽:v|ccTM^q`KF:B6bmjsɇԪ5A}8*%k~]A![|3gfA+'NN 'jCyI#PkK'"Lo8#S2צUWfV՗br@6:o-̤oěaL/ueJR61f|"(E.8Y}YǤno:SM:vr̤u{ \U|Hib:94Fag}oX[$n|V,?kJlmHWBSVW1.?=nm} &ġ>W#t~&+:enRUu Go^=֗5#\fS ߀q`FLw5~J" {<_:s>^ uU% m7Dz)iH,In,i^?kn!K{Q:o ÇwPxО!h]1% VfǎY PA.!Ե- Pwogxɕ :M,-&mbvH_ߺZ^hl܎9*hЉtF?V gon O\?~iR8FH,f E*:'OkwJw}HkE< 7 9'ٰӣlUsBBD oe["ɴ{gPKr}8q:a+2u:6r'^R>HP|4xK٧ܣG(yA շlXF :X0V= [H'bkPOQOŭHE} ʒ# bޔC紻m~m]@PI ]7]^1,nsp'/ uN4{Bj.h0V辭%H%AXjI!H1uJaF~.a)+'k[X b%;UaAhIP[i>mH aUܿ%_Xh|zw2Ý //t#\(5/fk61eԍ'Ry#bC8ѳb2U}Xxw V" .9w@oo=i(BsXC Jax2NV}IU}q[BHUTd0Xa^qOP|p?9m뭑Ea_ةA)kGhH hD&+ud; sT?,yJū58OuXNC b}|%F3y1+}`U haGnaر$G>#Xه] gy_Aa'?7q>d '.@O92'ڛeiGhB-WyŦbȃmE\f>Ǘ#U [ɣB=\x[ۦn͌&݃HoxSi4r"ӄ[Q4p53Ź'oY)xgJ*>iGW&تJKJsnVy{ 'GP@Ye\)h=`p:_"p,zyE%+v26|30ZpKH]M[4{j;B;]9~dd]87(#́ :Mwup@Ǐyou[-<©V\h%2Xx @Nd, oE}~Z$9tyn">C3G'ћjŗ8ydOxS)hAw2˭84Y [Hz%@yh!1f?v2C[]V!$(Sl~zE?bo}e/&On_?I}dkn^4P+d5܉vkܲzwj7W"GdѤ(@7KO͐ WzPQcA'+uz=5/^eL|ew??M {ʶyC_ u]?I_RQBQm94T&cLa޹4ol*dFزQ]Rs1q-m""! *(ZHw6,1A D\{~<_eTҰ!JCiljZm=ƫ*gC0*FqxA*e0[G4xڱ0ky |OecxN3Y(541؟"*m,2/D&?P7x+ئ/IC""ηMī yN"`*vR*w$@Ìw;lǔ5Gi]{'w5۫d1._ّv#@֌1wB ;B:&UO6oš2DPNzfC|kfXfXONe|WxYH sP +ſ~̈́l}%vX״yj~w ,Yxocu8 ^(&=`(+sVN$^ b;NJY B3oN8S9HKkX~a"t2f]6F\IR|~ocR ])Xm3w:gZ>v~yQ sk2@Ns|Y -_妁u+m6zKC"rQӭe`~ {HYDx(~$c[µTSK:KKzxBZfm$e:#kɈ&t'*yWLڸSJ {T$ȐVKhz{`E֐+w:CXd>NJFɂ ~9mIn S+{+CW.x~ #ř0 -,ơ1MWY=\k,hhN:$ʻ[uxD5@Xmzoc`ʁ(@!HYj@'2oaSPP$fM!\{Q[b]kcgAm?8"Qq>bd,5` / i*֘|x_~ `9O8՟XU\[]קM Ḋ @w sqs2b'h7łAY0"| U-A T䴕1S[޾̣ )I2dX[,wuq {MOO-4C*Rc\@ %;ÀWxۀ}ϳ-x_4g< $ɜw7<=ȾM#h:S>18sĪ1Iwavl$uJܷc'^?^а/YoQ1oPL}2|J|lΖ8tIiesNsS?%ٕ"C4V-kăs1fx F1 2;5v`mi>7ɭY^`WCԞI{|VYyB|9*|t ~KJxOeغVc.Չ.ψLDX2~%jNhei~1~%f./AyM(*Yʿx7$ClXt&YzM=F+L993[E]Sv{TՁR x1`\W:aN]M4ae1OMI{Jj-xLCQ.h ,M>kU|9(Evk V-δ=7!27 wYZ7~VV`/>ȝ{$04J|qXj)'at nQt|A)O&ϯrX|R|ڲuc?9j15Ø תv=^~ =?Qp!t Ƣ=γ@#yV2g=vfztY%6ԾAR!b*V6+'z|X*db"\9_ci|owža^z$Ő yݐ`p ^mnYN&뙶i懶˻2RF&"8'i0v" vui'J?q'\r0͍ouP "!^ n.N/Ah, ꌿ́P0f],dEOR~ס߄"qIs#<8ʜ{4a7-<SwӳfLV/+tU̱\[2`{V=Z/ MIG+X=+ogCJ$ ץC]hY'K؅1mES|){O6BP~}ͬ uSx~~`ƨ2e@"lwi? swxԳB12Ct, #r|@ca^tMc2£,K6Yhn!B8nI2\?)2Zp΢a:"# `7E>>&R~.2d.uj3se-G>foO4(gˁH [ ;ܛÂJnB$Bsqa|Y0E+@*ܑh&U#{^rvaVBRtgUǂfnBJ stBH֜ =cLʸW+)}wυyqoO_μɴMB+-t Z֪7tgw.Q҂X$_ܵʺkB$? Œfs?O!(Zƌ>pf4jc뚡.vb_[ӇU˥zr2H9LK1fK?Qʯu)NDb,c>WE&#5 yi(P OL>พ“n ;KmN7Ig?X$"%xel pmp0ҡEٮ B_K;ا qu1~#Ah1O{dZ .7ɚsWXF I"nB,nc]&k!{Vm V4W4-S7Br,b3J^|x`?i>Ev?d |Sp}^ށl>ziT:@(Iyirh/LoV7} 5ҩ[ūjvtq m1-9&eH177"\%^O:E=dЈ}#m3\U[UB-Ft1v 햢[^1!MeV~o6ǿ]&dz5tx8m3c 뭅3ͣt'co>}_4KPdr z6Lۢ f{SSf,>\w<Pb*URmnś4оܳ%B@>AԄm1@吼o8GS0$ρݣ5/Pƥ2f8 1_=&R^'1LșQ1.۰.ax 0Vd8,d,@'|>/|*7rjsh[ /'!sii s4;C) >ZhI*z[_-~)z({\K'{e ;'i<.Ds3 1 D(eGgȜ<+&Eʌ >>X2Ȍ "t c#zL9 i:w bz؍mUAm!6XiF? q|@/ۣYmp`X o6Y[TaqӪ-N*X_% 5fM{nCSF~F0ݤ> ֹ+í K݉Ŵ1. _j҅\m~ۀ]̛qx5rRpwqe8`y8t1/71?"ZJ{S2_m[&D1A#{Cljcjt''JVplE4I -$2Z<N6:®w~ۣްem8t*$[v!<"I!btاLؽq;R54(W0M^bɠ5Z |}<׊c&. scTw28 :@ZZ=oNQ=B~[A׉j 6fu-TTfݦ>AW >?~lQ*CI>ς23t{s+P( d(  CNk7y`o5cB_|\3qv'&}Jd.P \P#?)Z,Q*,7=~woEJŽ3fwXSqijyStIZ sLS] w$>CA$ zݖȱj[0@ a٧۠0r< 'H*hQM֋;CӖ8J0Ɗyp@D*ǚ4b#[r/[`O&NZ`GCc )'~Jܵ=tys0^q;ٚ;Нd .x:R9?hUP'$߯6|ψ[#.O8? RQ^ r:h'f7*pd%j=I/qVxtu8 Y.?O&K:^2jR_rD64mIcH9F߮m1qڶ.&LviH[XM k.{V tw\|EūҐ?\chA#"W{k; 0Ϥ@ iAŽŌ.rq?\#z笿=PP)*or*kGjԼ/ii8z&WaD&"kvPCyiyU@8|rt?[9d7ŕ3 ?C} b{`0fIXZwh?Д9Tz}-whw$:"Fa^B \׾1w]:%u~y/G/},LEW%k35 l ̓*gӋlqGLQWۄ0 Y[QYOлdq(Qe8KÂPc5Vj IT\A:Ƥ?"lRypdLM a> J.YFIvX: kaɷtoFBPK8ItoR,Ӧr3jYb[E=d Oͷ՗FcLS)s HC5zwUUCTE?88|Sx^Q?/ïvJԴʛ@#=R8<{<_ jٽn6sKQkƤ?5^As]ˁ2ҝCD#i]UpF}9PI`n/j}pY6xGEXKm&x5WSk㛞ԯ+g}yo*x|TߢJ\_3mi.2d#r>JLD?\)ܽYUڠDΠ'iQL'lԿ&VB(Ҵ TA`@|^oon{]Ժ5Bi^CێeTXi:hDH4_cTp U I#'\9VBaw9Cwm1xG m/BQ4hkM͊~KfDzfn`?ko߾5CH7ύّ \amUKj̹"->Z6'o8q(L0|M䲛XU BΣƂPF ޛYZ ^%F1.5Z'!}y{W}'-G-Q2C*]@$-KtET(0}`!ߑjO7hgR5S ÿdC ,X2o3 NZ_Єx@#oP= &D=ד:dG<00+̣@{H pK%dBmqgy:Ԧ>w<T).;[ gr@R| G琏}q qh׮ND$(N v (}؇5ki@3j[{)_YI^N08oq@V ,ϸI!-`6n==s@una !/c{ !MGp'#{ju>>yXYVz?FtQH0#7۲HL$S,BG?jDg Vdg>(h|΋ L%c%_R1iWi69N)']YvI+fڀ7`5y 0Usյ*H,Z4aɑ8RuT- ! /YZ1Zib7Bx9څQ >y w)P;A=U|-r.^tb^+HUlfDmmZNye+}rǘ'Dt`5mw9NWWejMi*9á|+ۭnȲ=DddnU3pI *lbcFI+ uCmb-WHi8)M<7ߥ$N:Glkcŏ#yZ?6L%.S҃G"-GΙi_1dT _Rʷia܊_ȧ&poiXJ5QH {]uLti]f3Co*$RƓbh}y %>RRocU$lqoq,$W}y c6ȉkF&Fϲ%_;*9I 3: Ʋx|s3lUv?)vװ=/ -F\bȧ=U g&v*4*#ߒ$>}?'Q=҅"d7],{c=L/rIm ˞9yɡ>idim^$Ӵ!b vz+֔?$\O!oz_ڪlNE*Pጃ#b!S;n>.ä@aD]]F#Z'FF8L1 by~.U(`u I&~0&ZRT,̄%6R^;i2Ovd(~vkZ9CL)]ʁ!bgvG$;xev`Bh;v!{!m+ Lx /*,6n̚QJ$WЯȫιC{bha4}Fr%o:!R*]=3f3¥~ӧs#}^}9!Jh+QkPE2;1dPy__*ay{'TIlvv)uI9d~2;Y `~l^y}@$IF~SvHمHWmvp,ǓZ4Az7#i2S]?ci >QCk}avZP Gt@Oܿe Oc$!:蠮Ycg^퐊vblXd,hz*bSHs`iVŸ;&&ǿkϐ\ݓeCA~)y^=r̿| \ a=+8{N4 uu x(?E-Bu?)!IKO4QT/wu7 &A1KRwOZk]ȍ>z@p Xaݟ2Sdjfܣz }mTum'WRU?Tǐ՟*1QTK@Gi?]A/:TSk`чHl \:X\5}$$ɔRwŝfrx'SOTm&ڿoKs3J {P"C]"P\T*3(TAf 6ʟ/떬D/%q=8Sy,xATǧ-Q_V/+*d5*4z;?Lh?X~UϷz:h_q>H?ّ*A* 9,tAwAܤKY/4~w!l1Q|[]vSBAX%OTH":-L\7~73|͒t\ r>}. cmum3|,j#ђi6a -~cb\_(IA׸/UXY^}Aabο9nK_}7c<\ѳ3,.j4IC/z<5ᐸ`() ˇy .VO+n~)(kI[8y$ C9i׬:4׽+4["WGUI`~`8 -AYCDPz- 3 7yh;9)TL >-Jnn:E%hޜ,c"nkWbZ>FJ$HN0RF .Ϩ~g/LY18 @zmu$=O{IϽpY(w."u.U]D$w]A !=<8rI)s[JDS?A#@afz^+s;-2 מ-3I0m$Ma%YnY'f=2Q@Ӿ $]0Eu]$ذ$D䎙/(vkgC@G Ԡ9E,"x'%'I{hΫI8(dޥn"0TT{>NR4a=2n xd4J<9H$(}?o4ve~%:߭Q oo_h=X!{H1^ز($dQAlnuN:WL:\DvAnx) zb73RYsCv<8sXrƋ$gXc$ TiTP's$e,2HI\kSaP;L6gy蓼aBKD2.D kEp9d~=_g۷am~qd%8*3Q h usLyRpecMrQc/ᖫMGvm^tҷȦvf<C3ĦmBvO+!@:x##K~  W6NNXKE/ & Ay=cҫ~َߤ)}򩈛`mQ0-C>Ԍ ݑ1]B4<x뜈{{w%M4h`i^gcVh8b7Aޥr6W/~Skj7_{ȸeSW=K+1YDb|,0}ph,XJhc#,Ϥ2:R:R`],[ʍ[N!fbYYa^qmR`U1m !_aWr1"=4 j9׮ϿĮ?V~ TrW*0ypRDUQ<|߁߇كYMvr KPWOAสǡǿ/sR#pޭ wXڟ [)=lbGIx@yh%Yya|,O#v|c&74^0 hi;*6XH\M?{A 4%R79*W5@srG{ƽM06NZ]4/83؎:~G׀DfvDGaUǞYw!d݃mqa}F%tA͔`z4oF> !խp0}uC+_ǘ,h@Eegg_/J[Nad:s\6#ӥ3'6Vee#"(ˡ`3V{CvG ?:3)}|CEw ݳCz?4s~SvIJxOtSdRj_C}%#}:gc}W]^S" v3G6PvږCcƇCi(Iկ'x~e#wD'eۏEv/wԇYmq:eJvFƆHj}gKFWR =auBP = Ȍ(x=Z%>~'͟+1ԀvayZ~;)uWo x˄~̔i=H`_\$^#kDl0c?8/2ߗ)c'hcu/I1l2|Wl}]~=n; F'}DI4d=βKG<~7_47'컹鯨x~I}'o:ዡ敶.Q-HeA&Gm#G];4_B700 +ސzrc U"k d]ӠT™J=%|HPIU277V\L+:/F!,Rɟ6 6 ]Px5{1sCyqy6q Ni8y*l<8Әo^G즞PSB[_IR+s(\tVMa7ǓcP$$ xl@k_KNpT/\9 `j)&di.׷LK#l+e'C?$@e}9)vaA[-V@ >s>.ˏSc̹k4=H. yw˰9ȖKhޓ@5t^.:vQ`%6 3TLэn2$pȬdž:r/%0\"Pw<xR>2T ?ٜ.x(}Eryۭ0䐝-WjInߠ\t~59/ gǿ2AMs(jGt}UCa I( Jao$P_墂o}@r77&rw3 1Xנc\{3F! d]s-אQ鋧U͉%̒iS;"@zSr%Tv<@h$P0^:lIyv_p*eCazj$?2Ӛ-[DdBZW֏G-;k/;•GJ۞|@x!<^>Wiqh#b[W=NF1kO™rP?!x@[[΃>"++,IbLK >?Nd. . /GIqORo nGsb@| Vm+ԗ++ /RJC>Yuc 7UM?ج4|!_ K*괛fKM{sgXF $5#J3Z5\~+T_W2ſ?ޣ[BWo%Ԣ09x W{(\a~x_tKYy ẍBGx+c>Yv']ob#ReFAH0Jg/fwaH;B]WH j[C# P!v}؟Ju8>WQ$7wyhedϧ^bxd*Z՜O8$4(RJ,U&d qM^H~=<ю/Pr9f&t@$*Qe9XɃ/mחpHSPc~.;D:IY/yOuVDڋǭOipRp $K4i'k!Cְ:ߩhd k@g?aC:ݿ zr[E kuU?a%X>155yF?Ø%m.x; :8XNMgV"7 r ~OEԽ<4й 63HYmhnN?$ٳںXoX%w+X(ejY@<;v;Q$֏=ZDDt tKm@ԍ.g[|@R ˑ7v͇^[d-@m?ƌWQ1XaVDXq *1,!1* *oHgS*5櫫`OS^"0j~ X=BrBɔTY ϯۻ̭6ψ3*Qsoՠ02s:ò3Έ\!1{QI.#t<3%!M3͂0o"X.E TK+N^ lZ'!!E\V領"|*=k5g?V ݯ&4i`}ˢrCaՃY:5ÔZ=kCT2b>E/FL[P{HtS_(-1q@l@bgE5o]{rgF}~ٿC):߽.CȎ|L G |)|na!%+>R 8h#G>[k"&VH,2# [{ŸtH_5٤G:w; eR}uWa[*+Z#@ƛ-na;s1A ɇ~>^a{4Vjm@nNF; 'DhV^@{K9u5r97Ƴ,v$(wv.=;&*nV7tS᩼֍jǨ `a_()vx!l*qOvm Y !/}RpDkxxPD̞Kա݌stU86QI^s1vPj If>/;H*b݂ga&߱pIѺހy-Ѝ5o),l?0i`/yAϭXr8OYo&  Bfu##b暤G q$RtJnq]MnF`ki%uϥP/Q-M+*Ҷ#XTC۰:O 3Jڶ%:@=G>TD~S)[hFV[ka4>4/LV.ȩ6djoaYX؞dTy)oP1fCY.=I.KᒏO3L\_CZSK敆{t Gy/!F~*H%멿 avoփ֌#) ۾&~GA4v ~!C,J]iBOǬ Omt@6neJn."+-WGܸuVha\> :> ȡL {9܎JާZz/ޔIBʹeHdMv4_ƅGW<%$Lwn:?^n!"@|h!?Bjx3׿l,4rK)NջǬ\7߻3u:LTV4XGl[[ caogmqqB̰Kΐ80 10KGTߘCB_#|Gw}cm(sFj:>t&%:)H*+0ꪖ#$wMɷحholQ'zƂ z*<XeKMs[`ӊ Ր;K{KCKpCW&̸`NoV"cǝzp-mgXl)2TmMMaI>LA9W􄼿1vcl-K+Mүqt@ ht*]X lA'ABK`_Yu=I XOۉBwȸt[C)y+[ǚ:{{NA_JN8@@cuEnͬ]IRjrtxB"+ܑAKҠ9ʁhl[^Y %gjd/#Foq}UgÄ}0R@ i2)UFF xp f0 H]FBE!N-& ' ̵{  +9[B3kA0fyᡙ|q>gHb*޼eK]HˮЙ{}yk/=$gBP+ZmH*I"3DJ5Ě^W&rXmnV 86: _Sx 9d*J%4Ŏ@`߱5}Am>mbKߤk\77pM=)̵V0T.]c^N֩C\u(R"-iq\믘>vpL+{Y BK[“z+=xk[8\JAr`1P,]Ytcn5Д(cġ h1ׯ;:$’cĩ Kax~qqGYǩǯqN=U.'+J{NymE{NE n1 Ρ (yOr*"f{~+hj}HPM>=B?_c:c' p.AFغČ#hFydCΊ2,9ٚǸ򰧬h;py*}{Q`_T\w 6'Cv`CnnNbސbXCɊD"K "Xo6>d;u.bnu3ܵ@.r^>{?s%d }]lláM2ޛ{0_3bR?DſOuj䱕<_mhv+.iX̉LO.;Pa):ëTy?`xztuadCHkf0aPÅ:hۧS"m^PI8>6K'Pǹ{Uоe=VGHʆ ه^eӊHӎyv 0Z߸_0@% &/ᣞ.U]SK4w#wBPK .D/@l|TcykYŏ{$MeJ#YZۼzP{oC2 42 Ѫo^!pjf Ʀ!h枲wFÊEg4&\{%DI'aSMx hd>@t%j[ݏ|92f80UԇԢd\yb+LdbQ c1uB,x.$>Sfs3c+`r26AϴE+7_YAԖ; ,&hGa09##h8$_V  Lǭٹ?V"ڏ͵KH':hXa>:#uĻi;ك֨/n*'齚 Q L0 [I"(+󼇉/bJ8nbtw}kvşjh5E vn37GH/x0 4,Ǵ7Y:QRH?k;IFP_. XId8xǸ,r&},:`*J;nZ pk`B+hֵ}GO.3ġ_&dU+lfwChHP:;<}1:d= tYp?rG|u`W^8fƂ${ k AQz+!"ݑk171txpޢۼBjU[^@@kwy8S#Ɨ5qܹyKUV yI*,~HJ˶a9xB&h>RJ/5e9%@ߟ6lV$[a07Sֶd`B#]± g/5h:Dw2|X|kU1<a<\SC =JU7-7iZ}*IvuMwStW |/f1Y30beO$}˾mqv֗= L$bB]s@A|^QM̆gH~Tׯ+:t~H_5Z )5/t!MH|Ƨeit, zZDFD~\@;Ǐ֪ 9=tH.;@O ch$h~M,j(e T?[81֠cGS*+Ex_&IB?ij@R@2?+倹Qk/d聅ie(͔&M?=Rpu+ EtG^^z2U5u`" e0~9<1-;9Ϸ3fP+۠C<YN^=g"Z5htE`.3_'.~fOdL˧X#~*"jX^I,3qj1EGw{eֿWş^^ |vx%痌󏣝p6K0wZD,?Rsw ?gNEG4.5mMch]/f~u WvHJAV' >}O+FV4/Xq7 k%bOYrbf8;_90"1qT-G-[JZ|:~H!~WS}#ܽkg3j%Otۊ0csur,U"վ ZhY~ nhG`t&Pnlk{<@LM W?>;z%w d JzN>i4s",BVٲY ͏;ېJh/xuc-mxSY݇Nԣb$ĖtPWwW:pHtq1: ڀzX)cs}]KFq=g;g?!u\^V!?ef;G缵th ~xs⊆e&|phUS0N\N֩2\31.Nc$%˶>wmm[+.Ǐ: 9Œ#Vtz ryulٽp+D*'ǵe>EW`خ]?,TCF6*6G*<0,h>1aLdL6͛xi[8D.Ug᷺B9H$'%e^-e{P6`ԕG x?u ߼a-Xk1RǍPickm>OXTƽXe܇3OQF9WH$ud_kP ˛kuuYT/zIvƳ'k;xw]d,<5O(p-LԖ9z.g㛜D[o`R/K)iuxUhDe vEќv6 <3}A@a鏐3OYTn˚=ѷL/rH~8.GeJY[b/3Kľڴ{ruwYk}h̤/M9~E˩h}Mgt 0 )(7ɆNⵅ53oR;, ˊjZ@F ihJHw9%|ImG-Cz+;:ï5D' cNED1#ƾkMUz栣T(B22FJ:P9YKfG"ZgVZǛzl1`}<_$y f]#VJDFߨ\n@ta2/LQ&П:*.Q.E f dj}p=t8lA"0C:zDܸaj s-*tt򆻌'w%Kb Vq&ᖵl}*va‘T^wP:~bm„v^)ԣjLqo14ޛa\݈++OXK! Pq z+"M1EzVg(6IVwmnFwrb1,v^sBX"E13w-Dյ D9hEbQ9Y͹0cG_@Anu;;J۰oNT_Q|.,rkoXt\ ?vg<oߒ͵huO Rn*?C ߓ%ڴ5ؽb87}i 0Ov?'<-?6>Ki)sm˷6LZ[᧴.H)0Te}U.XaC|uwR_mU>Y/sס` Dw x~&V,o?7߿oc}-<5kh 8wES?NaحY-˺MYMf_pduk"o f˿MVk_l)hxnoi}k? IU&^;{޿?c?o3(^_'[_y &kA`D0bXQ`Z!`y}slCƑ{a#0S?8FKV)vcL~L2?H`iE.ϏT>[@U:AjǞἎ$ 0nL#5οFs!Xz@G)K`VhN^e6Y$|\wf\S60tx3<,֗%GmJcCjtǞ)ƚA`+ OgL/c:3kŃݸWrev}rdI\ lC zĬpJ:'EֿO+ݯfj>*{bD"*G/K I. R+=uMd(u߼Lb5(P0 N(K_ M m %XGJ'_$af#'o:^C"ɕ[̖*A9lTV4p)Hb\@U"/,/b ou|;ҤM S!x oNw))1 1$5i2L*8ZV'dUVM AIq^,Ü@;qVI[i*(MyuC^NdWW h" $oj-PQ͍9^N!r׌_*<` x ;UUL [ +q^Qƣln'ۃd7D`9?fo>ok鑒7%?!Z#uiU>_;<5L0r> e|Zxqgca̼,z-! "4aM%y]Y{WGz52}j~MpUa6q,+>F&5ٲr2('\1 bR|'^)iUzkp8=f9̱2h=u VX“%!灅ٺA鯒6M8M8ư]3FѤSuH_nڢCOdڇ.`[_ïmm1Mq x:vY ' HbR2g|=cI~1ΎBdH(|NS^ła'-LI[6qX= =Ne&G!xv9RYcK\[ᯑwwTWEa}αd p㛆dk{ B@"%G 0x![dI\h0ء'lkOW\]vvUhuQ6bXTQenoAV^8qʃix> HBy`aJ*yGnѴxe%#lk_QqO%Qn1`>kq_< ASpPG!9i8,9R?<|O1"NR7ޙwb1fDY@kR\Qo%ʟ[Z+r@5S5nU9廦-S aV]/^7qA'Tu62#5+lHl=/ e+T/1z33䚄N. >8nOhoՉ5ib"/ q% Qݱ u|t֘C ^׀l_%[Rm.ɺqF]1nE_v[U١בHs=%C ߷Xo"5+Cw-*-aa/@IGۋ]'l uoW]E \_ݶim2QQ:Aږ mN?; 2.$J!,3udC*eLo,r zGYdM'y!+|qh`*?YL k^4t[d бWX1F'hDP :(E&釷 >h{R1*O&ͦKJ4ʻ^R50P3}"#L*.ă=Q@lyAmG;7Oybw{xi+}/ i=:Xx1cY/ef l*U"g+9.~zH&˴S௸;Gi9}OD?m=, 6ד=tAq ;~a_W2o֞|ZU7>nxSɮIvy+)}τgFbXw;UbIX$*S̥<Ϟ3mD-Ҥl1_T&؟{ K$ynU2qo|cij0)=) K Xгp 3a)Uj֞nSR I_!'{oqeLO) unNzu&?h_14ra"#*\w}՞K#<*3HiSFs6EL١]wT)܄êau]]y=ipْOciT9ǧ|P]o 4Qt(|(bRwq4}6V8 ?hT-N)۲GcEL3O-Wnkww U*5! 3Qi")fYze.X 5cp6zk5J+m7pvy|Mgs|207Ax`f2KT9OF@3 ZqQeėY\arʹ ;SA+(*x=@l&fx؎&ԣppLiH:):׋M8)-zd~wxeAOSÚjSs(7.^7;.?XG~l"Gadi I%qǰ Q1k!1PfqXP۩_a4"d>?"W%)f?botm5ٙ~^r9CjI`rapw:KaT !vh%hK(^F3m-C}yH~J4TMäގbuopJɾvLØ/IΗw 2Ba }}TT{?/%3JdQwPgg^t'pߔt Zϧ'WvFE;xZko#MS;$ 0^#( 3$beZAB3܈^݂^6wdb&>݃uY:qw+'r*!r|”L|?zL0dzF< Q;e]ӪǴ5ܓK_dD]fD[oV踿p␐gwFatΒX&޽*/Ēԣ^r馋+}ʙzn@s 蔚w+a-:lɆ"K9#ύ¡#?ʫaW[ 0)d3Wg<&CJ!shr[BO.SC;P9QHOԯorMޗ qu*JG5^3Ldm̏?<`/@BG8_DM&Puތ^o tBB+~{H+H\'xU$x pKC-6R"p0Uw BN(Sy}%?nrPdVX ~3y-h}I\!Z~R*~[+QH 6ScT:MyDݳ<hUl[kXQo98݅cC?~$b'^XMm hҗ(˯ kz"A;Y.AVX_pa3|,cM$VO`K6@s}.}*}~(kmfJ;9 *Zr݅zuy$@>dY@|ӺshȅЭLٝQbެ}sM:! ipp1> ^esZt5f5_8Io@mpǜ JGc%ˇHUГE$W[Bсƞ].嵦ooYW!?{뫒R6^iwa&GUTDN+i?:JGqLhn 6"^w 8<}U1g-Wec|8wXm6{i8RY܋V.qٍ֗k3+8 +?6 d244a1,\D] ZHW!dWdVa`7[ ˇX]|ING)V봋Cp u|@Th :U#)ge[JQԾ ./l Zo~ n΄F׎ž|'4k^3i] 2dGϮ^PӃRfQ'-2y!IxhW X%8ڢx?.CW(Њ\5z8 ٌʞV7 ?-l>g% NJ>U#(+sT'cƶU帞O>'pk!<1shf{:rƓʾ>sf%p5a>D5kEƑ_8w@2"h9Bu33M0d4 W.?19.^鈸C,cP9bQx{ !; O$e| 4n^]jB9SN\}y΋|} ^ce|!0ӻ)7~F^+Mǩ qx)KwWIٙ `]Ѐ,MZŏ4|ޯ0'=SY|ʅ+7g B?c!ErаdbE=-4 |=]3> $3gqr#7Z!>tuNo+/22nﭏ?QmS&a'@_؊m vu0bǙFIlq>/oWzk Lr V r]`Cw(vgYv}m I3[jCU0y9X`^t(y%uBt'Vif Z3PHjXdaLOʪ,s6 ]^e\dd3Gw^sr4|_.4D1aI9iB&BPN%>NntNS=|}Y# ^ 'R=0KItQW>A ¦`@DUGpoyX7&mk! &.^u+]!љku:{1X< Da8r~=ΝDW{Ӗ C|/O2&(O@*1\$N`4KaCt'܅8bM1/~|c~p D}"C{ٛmPy|,F<]|±ηO菊:x> PWtx(/=+4A@HrN9S/ƦyH*L@P߹pp a-Ez҈ШZ-ǯXz/DѪ}zi#p?]}e|eDY틩o=ec=q^S:\{K*G50!}a}|1Q@js9yq ;k{Е$HrM[ڶ(p tL}/$EaM\f2q'AmB2g٠_V'ř*>.M՝[*|\VHB3Q\v\3K|H2>jm Ls6(r݆iKObBzB˅ٽ2|ˬ7M͏ChYNS8'i"tKgtD~%;nwYx*P阛!т>č)*`6$B)athYHZGPd殞\רsv#V1LZAD>.$Kn#O%9W^7O9,(XWH[<EXˇWJo'r`^8ABk}=wH^b(h.B@-%;$Bs $3SO.`gm1vaKbCnz9Q$ 3 .({ \#X[W‚?D"\@(!N[5S)w Y3 GRȭ/7G9L2G]~p7_$Ypv3S;IC3V?^M65[g !ƶYvIwc¤\&HWW%/YY'D'VNߤX'ȦlMA2F&zMGxwa[EP_P,j _t'kKjtΏhE.L>"#3hhYoesQ5UpLYw1[y6k|]pm0Sy[(&CFW/ׁkW2hwՅ+DE9>M*Hu&.7L̂X-pq*y*GaR)V_].^l=N[!-}g7_E5rv?n%F%>IkLq]*Ƽ|/9~!^4[ L̐a>dHT9P )sc\):fSl{Y"q7B-*NGYR'Ox2n{KQK9Gc5&x2mﯝOk'LR¢wG l# E4$8GydRsp=إ*m;jDINώ`tHQ`w9-=_~Z4w7~+NRHW;lt)ʗ&1;E3f3ռFIkm5R$Dc:SJqLpU:00DUeR$>'L i:}׆&fuփ6^dOO\'mK\k 6O%.CnDrQ_/&U/BA91%#>oВגW& НxsAp@Uwiݒt8d9R:  !¿0w yldG8  J@c5q(z8;̕"/$-AxG.1`P2[7P,.(.(aGaf46qfglOkbGE8@@sNYU/vNbGK~[l%$E^kHtA̽w'/D~)+W1$KU֪+lMu{UX\ BX69Nx)K8n~i<^vl,2HӡafgSbs^kYsksf JT yc$rx o_ߓiL/lƗ]4kQI_̠Ѝe;.nʫK⋸"󓋁AL@Dr%23 t/ ?\;Ayl-)QD$g!I%~J:7${D剃$ȽIM pyKK'Zk#HB4[@_Y#A6׸܍[!z_B8g=X`(=.~.) &3$νL{k@/2wPoQUˣAdz1z0OqI̅'S¤=$-5$\)JZzL; X_(?_$М9p՟UO>-S3>VHY֣ލ[ô԰>\љ0;=Wdl|G| /uwc:ljؓ_GDV@mvGF(7c#[wεgK~._' 7>VKghRF-^RZTJ!zRDnڒ@bt5>*B9ԥ'8M=1m!RkS|˘]Ow'a-a!e!=S 82AgQ&iuC*L;L(dO,^&U9I^`tfqhᬀðlḌr9XeI-Sɏe4n/2,qIcBRr=-MVsZ_ A H`w?q0 ^E6 :L,E}^XL򯇦9WQ|+|r9>;ĝ !qH/kcGREeLijS{|W6[hZ':slPqBbN@_/0, o}Pہu&)2ҏBtggnAE^~ueNSV[Iï # =%@\NʳLΊtXz(S A=,ESŔM.žHGL`uM GÁv "/XR)M=y3"oFɷ ;8[}KN&pEսZ؄yyxų G -T:bŴϗJmyW3^}#4,jGsX9Do~ߗ>V.BxR30^E>YHh]9M*`գ8WJ%6e00KSWMQ-A^Ccr7 G71f8t㽾2/*M1Hc~ȹ~gUQlHO|^7r?ۺ+NND=.EhF@>9vO.p?Ƹ.fPd^d,VןP?lC-Gg~.JtzWv0a!^HDWGX ޞ!v]8@ ?>hLisbӜ|>i"qQmc|n90TDYr߹dvi+"=je XQ@ck-ngE$casOzHf{GPNpQ߀#lI߭o\RU ~ra#}A&^1"rFt*z'2(7&GϘ~X1&k|ҽ\ja+~ (d`sUH3d^AZwRv1(0M$[0xǧ;4!'m4̤@bD7OoS.cXloSD*m(nuPWh ꂓM Oϛ 9%: (:2h EJ"XGlLtn yS:H㊰!EkG01OV@HW*FHA%VG|wJsBCۑe&~򼐬+ͣ#@fV `T,jX48#LcJk>~#(jDQ֣B_,ai]FcxgZO\c$hv/)PA\vڠiV U0.L< ~HsŋфG R&Ȩ-Ry&QX\Hk#6zU(7=% =SKhKh3ry'K}?#kqr`:OX18^l$'CiSuPŖwN~߸, J5 (9%#\NЯT57.1^{#tx6r^?FDuAT-\ُIˣ-CcxUYK2Ww=$ԯ qS(:Λy7"߸^xHR>i1 JS$KCJ!G}/< g!O/6tn%Ew̙L7Ǯ7hH -9H-by%i 0-P\J'1d( C9U'__Ov\U]. _+o$2du%g6kU~-,#]_*+)$@I}ko C( =8RQ#3b~w,hPlϥ-Wy"0aslj?R:!dzuǽA.@`)*%_uCp ÆJ4^v#6l4+~U8ZY~@&IDGD!eVAmy| UE,o&qYV4(tko,]#)iO,?66qĔkfg7[M\F)CfDz:%DPsr%qH.JW B8xFK!CHllCMXq֚7EӟzX_%cg])pc$GJDŽל`W .gCOGQuʛI2rn7vYmOscQ޾8?g)' Mf Ovp+T+Ӳ/:6ͽ{6Li v5L <6E``[3G\40y0/d\#.ŻǻY.ϟKXVM_vտ74뱁JN =zL/ (Q:˫HfV:~)r qom~}w'/S>xhZ.T爊ؽPoH?oz,ݩN(L|B5R*~qO%۔pPH#4>2B(C4^UgGY_gлL%tRnsx¥QIt[Wg׿w3c徼;*i<(E ϼy6}u:hIw\Xi+o&ґ Hp~͜vbms.#VBT4ZO נk*$GB_Qc^(BYfP>/ 1((Qh΢Nf@\tH'[H[ gs:zKNQ IWƁJ{Ve#52[NMD"N1{iׇ)l R }4#Fu)>@zmsaI嶟|ppw]_VX_D{$8]Z+X~Uyh`  _ⵦȴI-捅=Z`)6^?9>))@nu-fj:+yz AIDзKvW߭1-L }h^MDN~ΤzZCzKTvZr3iWKV'qF Rżxcisi(2k PPS9ߝ5g=\y^&BԻUtWS6H,ȻL2*$Ƀ,xiVl[;^$lSzR9ZL0lB}7畬OqrG)dPuCkhfeW(EPߙ,ᯏ=, ruيI0߱zKيcm2tK>>zp-3%=Bx_f/תY'[h׮+)Ks Ȟ`ʘt?xGo H Rb`=KBM-j~`$?G;2-lDڔ#UpYdS&LUUwtBc߼DMеI5--Df$I֠ûfҩ{;*yzt{@rCg9.LiZ*<]*TQ iG8^ҳ8!?LIbkrfiT^ }/32K~XI<1m Fp^]`|*Zǘ|'LWvl yQ:Io&M!~BE]9.!Zz0w"ݯ^^].txc9͙yz/.GEٍΞ~ӶX=d=70Ft&lZ,$JU.IsT+K_Eâ_ge_EP1> J&}~`*9["=(iUl9C7R B}ki0"R2̣porxl:_%60b`@{fQYG#>I~VMxE\iPT.1w>>,n_ȧ\ZW 㱪KN]'?VT|*DSb&p8+0h}"yH8wt2ʴ,ĴoR<23",)=HAiQCKtT{MM /Q6O_gjl O8X`ᯋC'm ''h4BdB [ntTa/+ TJ趰m_]HsCEPP#q߉GafxC\ Vҟ ^X\w0XgpOX#C h-%p(nS?onx ]Kڿ+pn!Y]U0xw baxT=鬃 SdC#oOS/ߕꏚɰƓRo]yS8Mmeٱ䆰C?V"2dcؔ&Y=,\~H@FKu{0Nb&|X"iHU"mښȍ;%=n45z*-"Ř]EGeH$ <0Կܑ&P C'GeN⡴ Gv;(,H=:IbWT(DoFs2ǔX9|)ґu݌Uj鎓!֞qA%|w_|4a^>4m~<= 3Y.qO2Ɩ3!@0v93CdRk1wl1Y+"N؉|ASoP7RA ZtP8}v3*sh(Ӡ`UʺxQ8z|"8j-'6zv5F="[A/v~P*޽$ߞd#&փjݿlQ]k%搖rGn$b}BV; Pe(>@L/g}qSػMËTM8l~}ʉX(5,mLGw-GkM杣!nfKA|"qN2q,'aG* 'MCq.@ܩ'7>xsפ2qK;iW6\$cK; X ~VgB ~j}yqrҴ@ܬ%&lɉx( 2㛕r!xEU. lV\E\گG6i,&J#oPk?wpo%PanPQLqpFQ@#V@5h\DQ:wTkN:8_jO-/_;/˦ΕdY\Rp MS?szT0|h`V˦ETۜ$!,!K;5O6'e/Z+Q4$A5韧x4_Wk9Jv%&4 Y-$}vW1Cs[S鐅;Lk8)RS3+OH|jDi:<(.t6=n" +xx ּ{&L?U W0rr"c ͔ofGQhuԘӋ͛̒"hFuj~{e-HqVUh5̊m8@l]q-qE%ܯ!C󣌴9Ŵ?R|Yވr9K=6WTocU9Tguj/tk"s"֯Rp#BkT ZVHVܢ3O-8?t&TVNk^ʧ5Qf#&2t\G|\uZJ5 &}[ [|W@W R  իE!+sn(ޤ=gխƹ;uhz" VqSocjɏ-P,ZC,@_OR :g1zBx>FyanK?Gi8PF`N蓹cn5K{ lz~6 )ZKބŞuےNg͂nkes#*\VddN:x@@ԥF£?R!jBtlT=Au 9-9_x__:5h.viJVWrd#wCЯޖ1V7CtJcm]`XI7=Ѧ8չ p/\nB1+%@0Gp;I~0KB&S:i8Z߄У8w>cCI^qiBurm.4TS&}4~Osf>csvqWHNod;oMŷ3rQ[ҥ2 кs;x"H oMh;Eh%nt\3o8[R,BG"R3Ǔc/'ĭY iK墮WM[1:b5 /B۩n)>h"eJry$" q!Me"!JU-ilIo*S!{zd jl u0괞|QLZHM7 SUmkJE38<ڊsm%z Lϥxkl7z,Kϒ=a nKG om)zFRA+)0a׍GJWc#pK?S,fB*NB%A!7$r>pwd(qDoxKH!PW ӵ\̖I7M >]FH KRVy[@!J,i8E|Ë#ZN4꟏ FeRR+cIa꾣dY(㉔8(^\4+m LXI LY$!XkXR"{< d/5:#jlEkxDK,)D"YF&xVE;&|(\g|M6L65J\vwmI3 >Xֶқ=а!LdiEL蓟P/kq`Dz2@Sc0r FTca^ 9?d|uiPHDZY44n{zZ jSQ0{$ى$HƋ17߼|FunUo8xw?^u kMxfԍύYix=0[((@NQ7Id`nVRI Z?+Bvy`:"!*)ט:26o\[?7y&Yf|FAB5s0r$]ri )r70./{y]([qUQ{z%f=Ҝi!ߑ\DAx:X?+ٝϥnu'1PWnf< .ȣȕLg!ڳ1,i(V8χ?c}qz)"xSh Iy21zu-0 vyh1Aa66@ai>+3u |Y܃ʉaJVCY1rb-xwgHvW^ BP@2-͓jV,4?8}t#}dPG@CgXfn`Sz# DtVl} 2.kjtKJgpCt~On(|K!Ȟ 7UMD j !8˘XlTLP滇g?6RS),WuȦ[΅o}+8# #3Ͳ]`8,&~R[nW8^a @>ۛg9\t࿐26A5=QwM5#?Q(޲uu}{ dƉ'=M΅EaO⸍#Iy ݰ-Źy*M<uކlp`7/m++(Fw( 㜫flN6QE|tQb p$L=kՏe$^ ܚ&c".w0*^ ݕEk`dEV_&=0n^4hZ9I)HkCj>o9zoZZRCwږ8ODD*ka8玨gZDn(Gh3C XМlhh dg?Ӣ+0)O6ᘈ]LQ&]R˹50/?WY|ܪl"aFMu>FHhʜ)yd5m2RZ(RuQM[By_d 6i;3br9ݢ_ S=ƨא4do:?01sX~Ec#Nza/c  륮`Tģ7&Xn O^ p歘22: ;"F!aUY@]# uz\8[>ɡ}!iyiW]>^vTsQ؊0X,+֯#?DHsd9 Dk|e쐯)E@;O U_s:KvK џq*g4vEaž9=4R{՚K%.ce@&n"{rBUM,c%ÒTҳx]75_KAu~1˯+?+Fj6#cx{+k=K5|`ưN& =QTLf AN'QR5 1BPfƹ08cIVtcwgj}vy8銖%u"/Ҩ!K'0~c_>FyNtk3a"YדLVyz]ᾯaá-tZc`e1ܵ|NӇĀL{|m=W>0*ۦlŦGYw򌙊7ţEt䢎pcVTdQ֥5{Fe7N_eFJ^YBGIDeSޭIotieтqb!-L*?ՠvΩ}\-R;( H9O,27_7c&ʒk4=Kި\9<2N|j{w<˪ƀ$od +V0~NE0ox W޸q~O.N+*ޣ; ,a@~HV9lC,B.<rxe I]KwP1 `7UȀ) Asx{}U7c^Cq-d0+l=&1 =I~9<(31z,Y(Çȡߗ0:@&·Cx[װ2 8}*V4Y zч3,߾Bҡ^f)_zb4Kf w_C/鍹1&]N{DId dx*W=OBSE|Ξvj Y2 ͇g>0;r<=HZjH*w_al>jf&U$vW׶Q%%:{3pT[U$%'; m<#yH(;Y¥-HjX$#-1\%pio_$=;bM#i̚6.c!Hc 3FG-ͮ_M`%mM\GFW߸ ~a󛖃nnWѳxė3vF~l_*}fʜI>i3w)9Im]=$Pݺ %4$c}LY*ZIU' i'F'BG ôW̝ۗDQM}bUl$_+9]+`m5䉻ԟJY)fa'>l 삇x{"0!Ÿa6úҔ4^~fo+=zЎ/ӫH`^r-aHp%'Vy G6AXKhcFq,Dv1ONfgNe([k]BqB+ـqC(ԿPbP;ҦLSR 1+n>{I**ck"c|Nrz)×7MdۊȞA+Vh ^u*x M9 LD2\6e@s6tC=_}"Յg$[t G=YkX">z>BvF?i_qVϾy_"{joЭq#봣p_DaUB-A#%O@?"*/ol /D7U.{MVM>o|pH(lY,;qlz:~hJmW +mk2;ȅ3 NnlۥJ=y8TeKCauK'ְ'ug&ɆY]vGĘU,' tV>DZqEeVsK,d?<,eʺzA+N>u KcWf| t%=r <S-[ғٿ(moZ~195Q}~ǡ2}%^S55 3imB9P|CnGSl"2Ӝd*-g v~G3'@g74 $l"~9{ ,?qHP)nϢb?=8 *{My ᓏL;dž'ML@?(zhXTh=BK\\ҵb1Mli-Jzx{G|^ՠ KSZ|zޙRc::r(Ed;;u -|0ߠ"}Ea9bД54^Q"N)5xd&,>S`"AF =zV.Vk6p^"Ieʻx-5Iڜr.uЫ%@n7-T?XT', 40cTndN%׈Lqۯ խQ0z}g6 !4RZ4Iqbz=ˇwaUO5F7b!@H8ʇ'V~jg1j$ǒJD= {p;1Mf3HUWmQgnnENt$rL=H$bj'N>eaT]g|IHz=HسyQm/8yV I@$~Rτ0v"t%@Oԥq\6Lkf^4  ثcߘ^~>WTmd05}eŎ#G4[/=,j Z`_ŔOg]f={J!n񆗼snBxXf0Cv-~sAs}, re{}45dz?aI,]9sS\oc5O}wzcCZP&)f#l`/-6aOdS hS؜x%yc{b8^gQu%-IjXXTUTc**6jDUjf\39.O7syTHߎ.,z 8)m4y޾op̖vׂEhz8gHOK>/3{WvT oHi>&`2"ʴCwo<nx~77d|;Ѭj9zq2Ccңef^PkWRG w'#$.ڐZn] 1OVKk+};5-+DY\!G{69P]HgOjۙp8{R¬wac9e,o0Co~Dm4Q <;Y1a.wt5r#YA.FԳe\. qF?1#*UG4eBays1S!q.@4{cV:/pFB^۟;OMuo g->s/3bb"xiN\FQrX;R>+g8d(@Kڶm43UG1A}@ v'cDR^+ȼ;.V@9y_YR( 9[O"ކ,ds^5l6FY׾g"+zdO4$+KOt!,Ͼ9L$bp 喟7)D$P&z2ż+畽mB꯫ \)%,uqSc뒫QMM##;hy/OqU]PN:+s4,AKSV]{M;9Ѕگ_􊚊\\SAe.T-NT sohQo@*XdYn%y=9H+P aT~KQlOX3lFvEvi{ \MEY D&c.4]83K~ Ѵg|P>Mȕdz'uW|l=Bj3F 2}wsA3ΗB2:~7 3._d *5fm ʿ ǒJh^iCX~ckE2)^_ҁ՚oN7/2<%^J['33o@ kgj+GaE"1dlzi+)ËpH#w|,TxC AnFK~ջg}ə ͙5 3u" }zh~AA¤w:( zh`p6!s %E%c9λ)K%cГ>qlu%F7Fx47iM9,=sxruB~ى sioxyjUX5ʜrÜ22JD!&:h~x^.#i6k[y4Ln('e/u<6Y EE\"UQe*E̤TSܸ 2U5<mArkQ(Q)3gyK ?m;seNVj (>R?ָt-Tq+X'QӋd/M=Rbq)U:W$z#Λ/frE?K -*>S +_m At!DT ;\[ِJɿmÍXHb ƀI ]ҝ|{EC*V"4Ӿ,PU1t,O+ +>X7!'$݀3`FLbaCۂC2-G 3_8m{8"IQٻ$Y9\6fa)\*'5eT, ,*$Dy9U✌hDm+ҒK[6r.m֗(&ޞWB,X[xp}j5l/]_x%pDA&CNۓ-d_*z40WQO pik78':?uu}"h]V>/O$0d K2+*K;4^zB!ݔCK16q^{iX8 מ}4RM#vf,mVpK I TГWʠ 3ΆfW_锛)O؉B]<'%Fet+H=3!_;u|0ΆdP7 ̰19XYb ?WR.!#GDS=ԏJ'/`uQ{?4QqfO2BN.tg3pԎ afm5xi!m~nIc$}lBx45kkq .Ni3}ܿ#`OPp0 _P2@·VmoujW^#A' `lze>yf$Pr$z} tChqVa EN/y+DLyfSdIlQ!,;7J"5v*@VҘH۠^NKrK Qnco# b̾0]>H?#RRHПKu.< ǜoq5A*>IsKEdNz1 @D?hOB`D>ޓ GR3u_rA8πOȣ!K>NT_w)ͽZ;uHuU m=ALC&ζ5P̻Lɳ̍^k>-F1 |źw:#,êt~( GyvYXouiNi^VS%h ]9(E,OΩrq6*yd/2`ɚ МsnΞ~`2.&J+צq{' ^vŴBE^zM}?Y9AyLg:5wT;9[~<8&ב!{轳)}= 4M?ߡ g$¥>*/իǖv39Z[м,4b:4=0,4񞘩U،a37ZOC*>snV`قd#vbX~8itK!88E&1^+G$9&"?ҹӠ~ɩmlBykdh4DZ kI2}v9RoϿO:lPι62@03҅/ԃ㍬D%=-q,C ~u!#BN A 6A Y2 --`1G=eNB[$1$Ada\htH /vER_uo[óL11~dA#c]gRLXB.∓|<ϻTBz\̢`r| ;vRcw_P$RmSo[J9WUϯ8ʿMYG2EXG!BI,A$&-MVBU̖&GA2̨(ih $Wn5k ˺K 8L L[|/*vhl1RXf΋a Q7Ss-t4d^mRSvilqXYd5G~)o8α+v՝!DL5wuk4SwbVy#7^b?bX0'/aXXI2I$JA JC;)JH0ڸc2Kҧ ar=2UN{6['(-`VYOy!fMZz;(7g+G.Irc"}=ͱUBУp4]޿u͎x#5BLzbBiIr/5DMHbzk8$/%._ Wyi N7Oz߫]`D;$=J_9FNGnATb4VqKܹ[ UrzC4Dj._x08;T7\EXi?eb/S{ =LCz̮])7^1vֿ5I0xV)|RprK|%J,'`T [2LDgQ}/N0/__ImFC_g}d?'+s`\<c;thr/g0o[|Y:[cD5wt-WC!:nz: hE~_ AwH"om\|-/øu<Yj /hF}sIkwi;?n@eefԪ Ľa~̋=`UI-<^h̼JݙZ~b*ju^8Lgaaba_+ђE#?`l"B eV V_]aMvُWW_Jnq@UqSX֎ehbRED3~1)^şMh4uS*[̂]xnRz /x)T,zz^,뢽Qt)X W#]Ï8_f?CHjs1xM<ѭXՏiz3#CIu WxEeH.^tkRVN~Aչ{O%ᪿt!(.ToUl&5{q5į$qqbǤ#!}R|x"9bíD,kSǂu$(XXL@Q2yN&oz)dȟqb-Db|ޫaJVl6!XEd >^N1;wmiw@b\V'Mk&[#DA|ϘCZYy>=ח>HTؘntEvEƞgt0$#癅^Gҟ_a1i=?V_(œi/VXTN]:ar2J0cOk ,G.Ȏ!|p[X Jd*Nw67V %96׮Ǝ[[<~]Q&.&d܈\G4-x}[t]&Jy.||e^W+J5OҭF$)? |,D \Ex`=ͣ4PH{5l9U5 Z-v}%4FX_x%PkߛՓ'o?'bft=#4aa y!knn'`0 NUL "M|֟k@Q9 gHiXL|@y[0KZBYQ6] K딏g~sCwsE{7@D5²m.덞T/g s_W|eIԓzX1yU~QVF{n44E4OXXv nN/=j'/2)pz=/eŬ~ix=BيwmG8%GwU]`{R{Se`$p1LbgM'%]H]3X pE|/,gf9) 19ʄzwD9" ڥ\E+p @?sp}Tg׫g򸤊d:jIJVў 1cg#pF:~fc#9hIs3BW)Q<}siS>{1[Rd4;tN«K9X8(N.j t*ޢ_ VxDKiSyRj'1ڋu.';0)w2 Q8?BB'cOi$tor63fK:2>l UpU(ueZ'*z -Ѹ*~|wqbȬ]q9kWӴWO߯zrd]}WktZ פ'q3aha#UKX8B7S"73-MEu&+|&*T \y=4'6HecaA~r[kҐ4s? :䆨SO Fa  GOG,:>+lCɏj1#.~b\P?h8hw6RRSӇ1SUI -|efM枌5i캨>`fϓK;R]_w`ыfMG--g'dv5_Ⱥcc8뫀_Jbxɔ0z&eqLz ~ TIUܝ3YAL, B_F^1n3C\BXq8اr̫uъS*zBZ<4f4p|sJ#Q,Bo׬Ԝsß;Iѫyi{ʬ.q/] )똂g@x>~^D'mkg`C,>sYHczc:jF'}b6v'i׵EWӃy"),h{|.=pވh^JՁ5CoWa}X. lQ?1f"YQ"Dыxc5Jl=(ʰ'p-L+ӆ$_k$QM> wdU]N2@ErtaA}f|"}T @<2w{*6*/.ǻx9NӘW܂(I} >fH(>;ᐬfR0ژ8mBliÛJITQk$Z&JЗTv9$S„P87T,gsF &9,wzbGH;N2;ƍ+2UgG+ɳsOCT%z`偌kxIB@bLßpc }~07և˓ȊϻyA!<ӥ:Ox,rg3pҮ@7c)ph ZY9Uio"meb4֋΍'>H!Q+}..CY_Kz$tlL&J^C: Dz-PGD2M É0]FHN寝2 m ?KbvGT:8aQI9]Ѐn4B޷+zz#8ȺqJo7H yS r9pI:?QGKl #ْ -//tyWRnSmyTuv "k4Z>l6W]qLkc&9ߊ$\i3RB̠}Lۧr zhXߏ\ڐ)hbcOV$Ұ6ejNg9+lƞiɤ1bjXYd3lx*-*_[ Av,䉗;}Ȓ8梐zGU;ӒL+*E]{W~6dP!gB\7>l:}H!:Ո [[yk/EEx ѹIgz]c>tГ}F8.<yWGPp'nمԓ~w"B|sv ?V0PM D&W~|ɎjA_ܭPDVVJĔO%UQ\&?ik^F|23Y&w|&#.1p鿯t-APYGN|c)ι+aDsּ Q׆/?} DƘ! Y˘<1iEOZyTU z[o ;#c;NKr;…R__ej0ϲiT^[!1x#uhN[M=HKt^D7CsI<Ɔ0άIkU3x^0CmTD`zPnM!M`UW*FX58#PU46Pu @y}|0 <@zгMtxէha)BvuNwnb+`5f)M;\˅e@GJf>H[atQ3i{| }1fIWmu2Ff[{,=ɼR]5|zyB;zac Vw u -TjBC(’/?% %>Y51d=۾LXXþC<Ǯi_h@cE"*a7$4249*y@򼽿̿ W=ҷ6Xr8qHT},}wa7Et̩m^)dQ5N wb05-ou?+i^G/K[zܪ'VujueqȰ1 dw[aHB&b }")z;%Hvxja_3 !67Vo;ɲ%(>R[(_fu֝K{!+1;8?ȀPq=&P >!X e.kΕdZ$J_p=j1![ꕬC C>&+xRfqvBpq\W&}A~\*Gb"VU^SCLi%ኯ'zXѬ,?RH&D3ZWN!z' {p hU] ku\E ^=胃bSv)9˗F9"@&ΣF/lmEyj_٦wΞ$TsA`͓)Y9Z_ bGѷy"6%uw mgBC-(ҍqrx64'˜f%hJ[Bmxuvg[wl?֍WMYo640G.F .Xt#_B7 ~"5ixdV?ad T=f X5x0 eWڟY =_̯P+xI0it< { JFGч~%`Jt~N[vs+=}x>i b1"mY=4D //P[=«o\Ȗq9ڽ/ܠ++Ic5u/\'H B#=&`3V;$-$a&MB^h?',_EnY5<qSx8r4*b鹨 ۛWDma88˼VZ7NR 7HhU~kjR˻F*.}谒C&;E/<|"E~JLaȸV4Y?585ig,wnޯ<_ח4Si,CÑ E7߉ԓ>fT}f*̥p9eTF ϡ7s#Mڮj@33 T^eTciNHY,oEB " ;8)xKr￁d%(MF7Ts΍Fs٩UC-x{Pu> f$-YĒE/IA):I>Dm+]Yb؜9}dҏfg"z t{uJWwVG,F)WVAR2Hmo*$:WqaXd<*To]; ഘn:w_)WPˁam8_p7eեPs}a۸XoE1恇8W7lv_} c[Ha,8|̲}-lTWGvfCZ6 ^Yu`u(qG/U/tb7" kDD*rsWL P{[Wn*@&LHEj~t&6Y>8}`aI#R!_ʓ^ tk6{M:T nPNe%- |jߧ,/^p ^{^"~Kw8^HqsD%u#+ZJuʗ rG(_asv~or,e>i$}= r͚SLMy^N8`ZM%5‰,Ks⡙脔29hq ].B܀Ly N͌ qbF)?gwAӚPx-kW5\xT>ؠ"jS4| NTG *C'F =Q2+)mt͇־vc||0l@7W.%7r?+'n%!m'x94}K:HE[CrΨ-RbU!BH<mc,]tPkxeQEGDTƂ =C0+iqBA>GsyVN,~.yN6@-PPUk,V &0P D&|E7CSY%,;ƔX!$QP%YoqlR{Z}}>-Xq]BiF j5;rͶ2B%iϣSuiƋބ!Ukg0+IGǡumT02?VL,K1=ԍ I r.رFԠw#d?"j>&NEf'bؑ~i:/z2<1rѧ Q!uQSdXœ&պDžqp%xQc~cm9 ^/+# _Nqs{gVAK)Y =8ƃEBQÛ$P Z~6o)n?prYU2gas $~ S([IF&ؗ+8~2=!Yk^J(FZK l_7:~,u DG3sDnP9Q9CC>+M@r m~WƷTZrc:̇*.J$ynYT#>XoȾB(+j] 3C=b;X.^Ơ SA޿ƈnPitzN -|6wypTF$:'ֵ7`Oj 6ԝaWeاfjK$Yft@;h2ޟ$B4@QܴЅLjCvnߔܫ=$5qe A>lֲeb I(˻HR.(i€v˧􉲯g{7)S0A}kpbƁmtuG/0'S?FIdU߶R;HYG m㌴jb_ |0q >rl.}ǹ MTiҝt6<ڊzA0\+#K185^_64d[Cx#Ó= KJ(tɯA8=dmfU5ܙ .Crըխ_1o|>.>yvQ)߰_?xq|<:QAD~J[V`l ӛ[dH/MXE\^QU~,'sX킵r{L2/N]r4> ^| [(҉ņ&@ۭUߠ<5XT_(^^R>#(ۡ(S߯ةxP3q8t͇CAؿ*K{ռȟB.3c^?wa.y%emWb`:T'Oߒҏe7^c *&<jlI:Ez/~x"8k kYm@֤z^!|3"BSK0/#n}2`Xṅ8W(UϞt{5utKͨ ˞V`{ZAJςÌ_w .ee+shCۥ9S G2 w1B.<5 KH>H$ڑ۞@YݝT$sPuxc \ئA16TP$ㅈg}R,ꢒ sA>[N&Xoe}/j,~_kǃ*)\RW7l$3~nwDBo{NlL{}_,Xϔ%&nUpghr%Pw٭%Y+TXSX 0gKYIikF^lˍIqn(ՠ#3 3dc=m ݫr7O1Ѫ"쎊l ' RУl Iz}|U3cTi/,_fmWGp鳥:>,A˜d/=v}S\@av덄䖗C/_xv`=@ 3& K6xԛeaDܧ֖r8cH!}sdK}[nXȲط ]lk}}aMSΔ^^S$7<65Sz-kķe. %XSpu_rUI7&_.e o>5z=H+f\|b/u]` *FxK^vocY?s7"}?X8edt z/FŘ0Υшyļ LmG~uEuZwy"F ǘ:|\Ydz=3r]ѐoW/"UI}cCb֩ݾV^ڐe)V) 5B'\0w?ّKKc׶[PnёTF1C+%f->6_}/V40}8MJ!O7*c?b_3lw%&~~%<5a@?j&qu?dCNsuPFyI{,@Hz, ?x/0g^کyqӖ t<9XA򏕲y8饄A _Ì?3.% x!^O1!q.m;@$#vi׮vt{~RMWTVx(oGk9 rKRHE&/ɥAY1}Ųg^o`n+6|8V-Y+W)Y)_k I%7|hFKɩ`CCm(/ijmnD 3UgdJ@uW%a$}ʰ1 qjo!3dg-T1>6C8Ͽ!p/?HDY-r!WozpJ>&u>U4`yvr̤e}ߪ#t6 S<חEgv8];WbV/lExֺ%9eqw_I; qOlա;cn2OdTߥMJ*BtiW Iqwy[S:b6@ \.iY,>fĔx_G *(Y|Uu|`;jQCw3U,% mcY̔4^J$$k74¸7U搥=+낷݇ZQZ( DK3Dڥ'wD 1 D*%֙q?Yt^reNrtfEĸw~J_ߺZΞpl\o7n@D:!Up XxB.|4)Az$EܹBu ;|"; ;>DBw` =Ǝ>$0^wC6l,[~!ŷ2-d~F匽x% Du zT0 _кpXUR /t_)Kh "׍0CژU$%νܯH ,z1KEz_S:-}9Ӌڱ5i;R(UP\1f!foh2CX f; Q19 ~b JbЋ8 s6dJr{5ڲQxT; Q3%A89g8c$:˔'CSd JOTG>AD%ߺPnjPJÓ9tLEI `EMnS:ƧBz%僙%= 0ʢ=FCocٶ]$0\ZwtT|4O6MA~ZF`<*v%d\ZDXѼMrROKe.1r!΋_#-AC#?9 wǎm |H`Qfb.NS 'y_~a';~8A2?X/@O)2'8ebs54Rv]{a`Ydo~7YA?6o]VTT\vta2kvf2.8OУRd.Y vi|bd8. ~51dD-7$IQDS}퇎fao*{XYEWWmB>m/2:uĂTIjV|mL#F(*án-PD|,= c>tk|o5,77&5P~"ҒDs yGiD\4볙Ted2Z (+v$*.žW}|>*: 4Nqbg;N<2olP=,tU:U[ ^e,C~d}dKk b4~y\,j^A7bRx.G[6[Իo3Cxָܿ&:B9O5Bpli,5b颞 jd=B (G6cCH)зV2Jh꘳q/T[/➗Ӊ2BKE"ɼ h f:ONV}+!, VBH4Q:cRHoɉ`wg0=FYm + "nvt!3啦#mMf_~U#sF?ĤRSԥH/5#3e*"Y*Īooq9羑6һgF3o|a}^Be x+2 hZP<|#j96i՛߉[v]uħG):ate*ڒPQǃ ^FGJrjH z^W SIt}AXu9gPY=.M~:TzUK4 b|-y x[.U@3<=(^#%saR9zIJZm {߄v|7O{?fv9)q@`M #/á4S@ sLYP:އr*a`+yT(G0K.oc-n g >F 04MEs']4o)ι8yJ;SR4!?7SjѺV5 !,uDzSv߂?.*eUo_>ЙXVf aƅk9M[+4vk;B;M}9vgd]8 ʲ~s`ck$N7J1m.|y"p*:,Z њ] hXY@U+O.eC7 )dsk߹EZ6"v4ooy8S+!C/]8䃁 Brn3u\S 1uvKMcojQ"Wq0M, 4bnc/̑ŀ/q3M &4zMW*.YmNi\lJe9\go:T}gK[)@*[˯p8$>IT(I='NA𳭓Yn_E0侮Wb/cbyU K[s2*{H+Y~2^=K0|6%_7`zIn#[tz@, r'ۭq9Fx-nZi:Bk§ Mj-4s})ҾRJC_Eu =$wYSqo\|l`p&h#ۆN>;vI_RQL!Ũň)0T&cLa޹ol*dJزQ]Rs6gqwdIi}Knw61A Ŀ ia(蕆ƷVUh 80GĖoޭh|qcAMGdh>vwK~Y Bn=F1].W< dmaoO+w ߁/p1 dbJiX = W:m%mV$s`'6ms]iyh eo|Nj<>esr`n;8 w6G,&C>$9}00,otG};/,\Am"[p6~IrLqnDZWXھQPfLSWZc.]Y9I20(m!b1eM+Qvmf[wz?a0 ;'%cLzBiŽMxW?UG' ®[qL<qQ%6˩VL/*/!)!a}`ݏpyDW2k'uM7|xf`Ar| O땋brC ڒrPep(ybGI)i&hC]Ljыѣ 0nµb5KB/[Q~^zBZ6zyq,yJc2~V({OnWiGmJv۪'n&m!9ʰf o߭e`=xJY鄔<_;vؖp-UGn|%p=!X|=6^ّdpiwT<[ԏW&udl6./ _%]*dH%Qͷ"kLgsQп!a I_cEA#d~eRKhN[x[uk”G"eQ>0daޯaĞ8&Ō8L#I{0鯇ky"ܮ{UWGTFخS6UDZ AR:)Q=~ { V:e%1 n ҋʴ=X;CkKD٪ۈbv5K on\jӠ)T[qy~y-8$xmCF`UrmuYD/!65` 3|>4)_UɐA&ǯ,*a#{L k b`r  QN}GReȰ6[okWKz,t|jԦ>mF@Wbo3 x s]ۂٸa#L"r*$sz%eܻ A6rP6mzRt1LtΡ$ u-p+ rߎlx aa_SǼA13*a:Khpna&9MrK OՅhP-ZG#q  1$Y2 [äbAt]EzIe9ehs9xwQLe̡{u [~dYn`WCԮI|2' LTӡpeXh`&1g]}&GgSh~DX2^%jNhaiv}˜ADtbE%h=9i%>W%KyP!O2Ć8L'7Ϣ^S ?E@ٙ")=@)PA0+H~0 _o2objM٥*ھv3CPԿ3Z3lSGr_J]CꣂU3&tf;j,licuX⋏r)'L* uIyFie.t I:]bTԨC:FO@ ?Y9,>D)>mYSr:]7Zc|CxI0ȵ]B}vBq-h$-hk<;H ?kFY׶ކ_:+j7#1R;bXlCjf%t \ eBV% frA\z#5}EmIE͹~d?- 󺼀t#ިWQ Iۘqz B@)_:dt96?r :G |7s..1hK#l`\.xtWj.VH_S# }[(J z^'0NK; {Y Ze}Pg?X.3XCE7ba2[ȂC (:,KM<;pơT Gqܲ*ʃI0>P}?=׌exz;Fdgܢa߃p05칩zi%%k`֬HK[]hY'sƱ cۊ"~l= A5r*ԙ#LYTv>j?<%ʔ)*78ϥOa7RO Ŝ6o `IpD BD-`Lk2;nͬ{B37p 7HqsT`{Ho!9 |zyHRLhax߄(On[ @ ɧ\z2#of$901VE>vvW5cBUTa'7vxi-S8u,vDY=Yh Ϲ|2Yⶹ=K{o*c}7\߇v;ƥ$#FmϖL[<*_m]mZƃ]HVVOCc0{K;mO@-cAO<\=6~zغ&hu. kkj9W2DRN i)d'P#y:aUس XsƤlrx]iFxWW ؘ/2]XHLT9}##OU }~Gd['T$?[ hG|WResLy{w,,B9o2\gmG)0_:<9l6n_X>pS OA%V2k[%EƃP='5 ۺYa;m$/(g * Z^ $e7f. IQScT4,.Zeb%ykxjt ?Ӟjwol6t{ǖe5 `طcųI;ԇlq~a 9DQ2>2 E٥fsB_cd`DH$[`g.L6d=iDRR U-oƹWh>16 ."@s϶eRb_X*VC{U[?Fe}<*ܸtTQØY S!^ʳ$fv8ͤ9S5 "<~#c/IF p==PWxUL82, 9 C9t6 $7?HiVNm(XGQ-T s(DE!LS&C:smJGr0:lrx[c'X0L-b+>S]h廵{Y\VC=PL{k]t'mJGLL,U6RL1kOe]z^O^IN"_+Bt}/6('̈́o3 yd ,+& VLء1-0 h7,^Bt|A$@ػqx>"m2"0UqHY)MRmGS _ʲ-bv2uY+x !^QSDB#4euxnw:|ΫAϕ e7(b& jAB3cKY 3Cjv1E3ѕNq4s:8(J/=`a1ݽ󵻳?3|:D;)5vܿj/)q%ZڹEUpgtl1J_SW/3t|*}VƏmF8s,QsE%;bQ쥪Z2Bc莗qlήs!8NuՐ:}dDY'\E7MMG>I_q&qp{cҒAKۘ_'N)hm+%Cu4>F8.+m!%!sB]R S)0vm-*s,9_riVF%aZ&눩 :io*mwaRD0ua3Ȕ+ku|hhcWƠ168mD4b%<_6Jifq-~|APH8 ԃgD )A&f5ɟH!O;仒qj)p͸9%A lrN0d<g+T2U2Hl̓qwxY>H>ef 9S5^9fĴ9^|ȝV_a-$G=?HT==%ޓT޽ˈtS4~ "ùabބ@"{~MRU dNn5/H0 m-@H`nu0."eFD[2ȌcV&D%d9SC聄st ڪQ.[C>%mv4<XAv_HۛG,>Alh )kP-3U[TҿJk̚;߾f LwR܂XN (bkA|8AH ]m_cHGgzÖжK3g Hҩ$9I`oVIZP*l0ĺd VjCj8 stf>4ПrZ#PM6nMD!_s#xRXUUJl>>eIb :61'f]ռ$[v!<Vc1:S&P^2f4tdqq<R:IvL *%sZs ״yY!&Q/BX׌|<ʓIaoK g5PY5E/c[S4m6>o/ېαWvp?CiBez@V")1O"S067*B&*U{ aiNjJ(1ك91@1rs#SFC_{KoJʑwTehvpׇSWavŏJJc@2VlXUw繽eWr․^d34m ϯ4 cLnXoHlriHc V1+;d2havD81樚By1^7I]ۃ͋҈k֜ķŞ؁*HvTAa,@擠~(m>:>F\p~f6ޣF r:h'f7*pd%z[?G/qVxtu8 Y.?V%WI/ M5/9"I1co׶񐶭KӼ]'}š^.7_y4O/ט(Zwi^i5T@~rgR ɴ zq/{G1ܾy}kDϐ7 *E䛜a >H@^*W{}@iߍy/FTk"fg:䚗W%ԏs'wJ50Cxc+1939D݇ۡn|1i.ƿW (kK$mkF+M1@߬ozRZ}vG#bxV>=~0M.qKR7:"_AǢC?ӗV|KoY>ؼU<*0dMx&b@: ryRlz 3n)jf~[a>a+1?>K z@,ţ# g rXxLRܿOťS@+ lL,v(eNG6KNf!Ӡ͟hd+`|KgQi4,4cIf(%˒|6IWrݲ-K;D|K\}Yl1Ƥk;809k4Ts|a}QU^;#x[R_Wu[z:Xp#4&[Q9׵H. ,1_s\:84"Ph3?֕^gw8z0~q *6+:ɭmS< |Tԋuq)ݶi2(]1p/q͈D~6ko߾5CH7ύّ \amUKj̹"uJ}^@7\fv&M&rM*ߑΣƂPF ޛYZ ^%F1.5Z'!}y{W}'-G8a9c[ ɀQ2C*]@$-KtET=Q`&`8Vkk_C#՞6-IՠN6 6`zZp( :984k$ 4XV׿A!j^r2^hvEzOz'ucx``w0 a@-5|] EB=?ǝMOmoPpGSDLl%je˩"HA3C>(r8@]HPf\O QkҀfVqն92MRMPap‬?΋e}YqRB[mz{b?Ê"C^zfC z.5 %|OTF*8}}xdZ 5aFne3W)*IZY藅f>jDg Vdg>(h|΋ L%c%_R1iWi69N)']YvI+fڀ7`5y 0Usյ*H,Z4a8RuT-XC _ﳴbT n+ <*kF%8vZ?yXW+|B12w!T<D{aӉz Uu}YK#|Ζ@j& UخTSwJp Y'DQ@gFun;3B"~l\4`+,I3C2=0{}<7S^;猯_ $5;R4digI5GXư7^@~%ؠZBo%|s^}Yi1lB<-wG8jGXۘKc}oٙIEn#_!o!46=c49T=' "W͋d6:_b=aٮBoԚ2v<idb䛞j.fh(#o=SJ=T8X0/P>2xFcWuHVɫg*,S6|BXo??U(`u IE0 ;qc?1>~2H$tz à~R߄'@|{ JfU#+%sހ%Cg4OurU\{ύQXD,}BM86KGf`o;TNY HgSv,@AG)s1;lSBZ-dH# &\m(`t\>}Fr%o:!R*]=3f3¥~X/OF2~sB& 4V֠4}Z dw> b>v?XBgT~6O84SR)r) dRWwDҹ ΓH5BlvHمHWmvp,S- XԴ⿩x]㟱4a >hZFy-#w :'_D'a֐X]~|tPԇݬh3vHEu];X 16,2GC4=H`Px4btZ3d#8kdhP_ gݫGX$K!gv_)]<.AOus~e絷UPCL y'($u/O_z.ڤ~龫Ɠm BkkF7Gȝvku)W* lSQKvmpK/X EG6K9ၯ&;*r->="Vq=WMf:$8u2zqk\'p< rsϩ'6߷`=v[K.(UzBAf 6ʟ/떬D/%q=8Sy,xATǧ-Q_V/+*d5*4z;?Lh?zūJkӟoB)4uаsN#TGpAK 8hf5[`v G*yI|K/*ߤqv\/ⰑBY9|P:`:~ܥmSq:wnTۆ?^'FO02bdd)c7 m.ߕqV,ipsgoomM܅Dqlu N >byTr,Aphc gra;EMF}Հ5v6$X £"%<mYʰ Z|H!]MR("@k_ Zf1UFg.fnM}9Mqk32P/kj{WwoMb0\cB]Q= 4RnҞ~ .(=MH wz%`Kq9&c`&sx4@L[Pٵ$zp PxM/ཞjRdàsn 'f`[Ga#xYN@z4J^sSm* 0&40qK39{!,NHq^;"H@Rd1#w]:b˿]qYx0شO<*l0v!!5?0M5y_6&Kpon0yd@g:չXEyYw+bM(6QfUuK=Yx9']Oˁ+)zy'G4M <b Du{mt!;L'^>4jX3H6jN.X-1ߟ}c0 ÕG^O *7R p:.Ex| r@pIz"dzG)ZF\3[=:]5& 1n jeq֨6݉hE d#6PCi#^ea1zIUȵ}_ӧO['HEdv Aw5ƅ@}wV k~D,>ؠc1_{=҇wb`,Y%jݡ=;r*~AHv@| iVcY ߐ|o+׊ߘT:ہ7Iڮ0;M^Fzͪ3|Ms˪Bs%ru$^3IXt5TA|߲0pw6BTݍ~\tY͉҉7!Fx cXIꍴ-lmo.n@@;|a^:Tԛo%|ǝT9;cO\4?y H?zvXtAA}P6ؓV|hwfwA*q 7_T`M$GDma"Lo_#߾;wGN(&ṽ Jnۅ%<_sG4+H7$G tt .N9 "#4  l1;H!i~a_uYېԗ+yώr*k"RwREHLD @rj""߿>2D4Ln]o0g˨2=~ǡE~󠥰~ >NQHцIVRplŊVU}bɑٌe ?Ahΰ6h1Ӽ%nMC$:pt NJ *(^<J"w^r4Q7.V0뼚䋣><_Jf]kJF+bÏMuM)C xqUVP{NFΓÌTIf0@l^W#a1ʍX;߃%Do*]U-ROA^dC}%OEdm<ۈb /+v3#5luuH:.2S\{'cgYKxk SQÙ*U ~ٙEFC"i{B04?7~mb* *{@泗׊>K&D)CB_.%-o&!uyJ?O޾շkc&+ɕ'QASPcʓ+#cnzʥ|>x!\m:yMt1GWH"^U9<" g?E6^Gl.cU3|3\͞@?O:9i`-%/K(NKDWV7m,Ie;~F6C[ʧ"n DAHkB/ô GS32#b4hx*?9 M$M4h`i^gcVh8b7Aޥr6W/~Skj7_{ȸeSW=K+1YDb|,0}ph,XJhc#,Ϥ2:7R:R`],[ʍ[N!fbYYa^qmR`U1m !_aWr1"=4 j9׮ϿĮ?V~L+"3Tn#?`5H]WRGHq;~~bdg5ɕ{7XJ$.>52dqUCc _8G~0[Ak G?Y)R{3#P;n3ݏ峕5wB)JP>X&;F쬑Lnha?HDw9%U1m8@?H\M?LPPCP S)kտV МQ.{^q/DycVy~08N c8Q5 %|&ѿݻ#0WǏ*|Vكs=Hz¶}>{:GؠfQF=7^C#ڄVk~<}uC+_LPG4~;k,GXnc27j?Jmo|*5.}^7>BCvivxe ^Δ$pW苨ҖS`},+%t U)eYHr(X0ސ]=fL` FcPѝ|xBޏ9);b|'l)L)oڡ@H .l_ +' Nկ2n o# ~Z@{`Kw6D vz`2\YFE\Z-1ez]X籨 b7MAyfjyǒTu8on:9Z'yd *r IO7MR{Z)[g46@av1-58B&\ӦH2nn+7j#+FnIZk=t䅥*a2ɟ/ϒrNoN+I{x>fk\D%mзri12툦gA>FpJEyoNvĜwۇ(?Xq[,.+1.߯ٚFA?dI|l `֬qkwVP5(J;'D:& 1|^*3ȏj-Gq Qa֧Ҳx<;X2~!X򣶱b.F+-8sb3!E/z􅌊-]41. LS]TrÜ1SJ~-S;.[ %ָ=zv]]։LsxfzR5Kϴ~G~c);?L.]vn:`i-N"a,v&8C 6W9cݴhĊif P.m6eқ,xDsMWZ:!I^}/WY~+g}UF7 jA֨E>A%9ބޒmVS 4Iq0?֓OyvQ%C8z 3L1J1ژ-wKumg+M( pjuzH0QC}3SF 2~WLඔWp+~.n3&?mfԓZtavSu3w-+<-j1ca4me>?+yCŒJ,#QtJp!ӓfNmGT vV[`"ܚ;5zl]Li(>E&gl>'ȺI~dyu]7QS)3IuuZCAvUVz G2)ʫ)N]WEvp^Ƀ=Qo|pjɨhS8]*>ymlLp0m<613B,xG۴ 4iT _gl|U˨jW`<[͑&ېvx %*/׃0isbc+-\mŷ҈a;Nݪ 5׃_^Vn׿1]) W^00>W=wvE1~zo #YԽA|w*%u1DDWI%_ փMyŁa0oP ջ9,6jzƟbћuk$AG@t$~=l,.X#}Aú}a.@b܉rq]lWI&\ݟsbI2Pzx^)m6kXi3a_&Qb%oɓ( $-< [ywQvzRM2f3b&RalX tSsN@k )}t0L?W3YGe,ñix}4+8@["]u\& ~mtH:|dNx]Kb6Ҫ{*+Q WVzU zٴa*pQ1KVDIY]`hr*\-q\%"$R{Ȇil_w:KEt&L$؃j`g>~}yY_@~$p[kAW$!5sӹNy);ND ݙʽnXBJD-uWϰ ,oi*\6LsSfMiآcPڥ".nq$JSUfI&)|_JFN$E>s%<`31kmถDЂT8DT0k-, c4w_vE02 <+cS|-7x┍D"7GWݵ/RgnqtƋuGoAv^X, OYC%7w*;̨hZY4F$cmfJX]'fl*m(Mm7.kPL@F$zDg'%SכRgȨ\nurEcdc}k0cΰ7bҝa dIp};񠧔~PJ&9 P2n,WtCۥbIiE-Z(9efP?}nv5Qh7Xӳ^ {otC,Fy)"@iUkd4P$EҭJ"Sw1ַ$Idr*ubXSs[.܆IFxr@(3 OptGªƲ?/=f=gl<~^=ζ0(kIJ=9N`h+p`YL +;ke#:QgB#1 Xw\.DzM9e'>W%oKHh®poFts^x;dgr=U =_Z9NX9Gp-0Kc_҃iFI%yfKؔ=3ΛcFCNg9]Vs20)/:ɯFh‰}q%LPO9(r4m3KbjE0_؇e^dPkS!P- Yh5T^JÀ˻zDiâfaw^bBqYAu}tny@"üB/seXHQFt@>r/y7nlϷ5kۥx7g>$1`bףo|gJ-2QTKHt}Rolߓ9{ J,V94a3e; vX N5# [wƏ]tud݁/b!1\|p9riv=C>~/3'IIN.|U]k0Rwl^B{\jM޷u%LŞAYzXbҴtL=Mɝi0a5!GgF`e5R냼n7~z-|CO* *Ϯ `~lS0^(3!!AOgX.3:a8su\_YToFj ]!ڠCqn_Xȥy q:T83?q[>tR3`ƪE@~h iVi=B:c݂˨FngkiA]%3e*)LQu2 TZÆ|=ܚ"Zi7(@#!P(Nv/{q&׍>=J n ]X̀fdqer,<x*m.|`cAvDX$Vm R zT{$%\k Yb3bċr" ls!T݇6"v[I结[(`YW"l4UcbAyn(r%($Ȏx/*^XuܺG?Qn3\2~yD/FCةJRp? scx6V(x|̧ͤѲ&g(TC?JmjVa_wqgwվNyL29qՍ%I~kC3L+;x~ kgS駇n|؏#{{>ek֣%wMC*]Cړ|528+/xIe9}>E35n3Y3W]By.wy vBlޢk~DF:.z'}rZRŦ4xHM*m1Q"zXBIEF]:' sĕ&e~Po! 4{#cjR,й?`ao8Tr)_'l58s`,PQ)n~qkLHBฌ}MAx%;7ͳ jvqR5 oE=Sg{Tdg>l}7-L`TeŤeBd$? O2?λ|6,eAǂljwV k3őټSj2\ NS`VlʋUN'2 /2rxkӟ~J &dyR/ 8b0(֝|D6_w%("ݓ2PvhMϼsJ?}tZbٮ9åJ;iƁM92L mHax앲olovturDSeu&ڳx9;/ (Rn3͑XxkSZd=eE/en@8kչ/mEɅϱĻ}U9T{۪ \Wڍib>Dp#ANCn.^e9bXy)@՗x({gR*}Dӑ(G08wӡSæ﹝lfw"_kڵaY~*r#I~~s`JXrM`s՘"}W<DI=,ZO*;_uʸ{cpx2g;@3ZuQ i*rF%4QHjBX&~z5ܤE#N <>1\TgeG0hJ$f\.ʘϘr9kwRTyI.'y6g-:S;$/|.'v o;Qo=e*ϞKϙxj@ =g9z̔l |n;|%>{r$H C7rY{[bnvg^I:%x'O;L*5^oTq֫|LZp]2IyX-鉚zӭ/)Ms>qlhR㘢.1@YyXnR^"|ц$h 9)$XQS|DӘY4X4ܔcDo1m=^xQ*Cy~K):%y~>W_?9]WU5"+@)_ 0g;,ۊJCtT-:n POn_S> )vKfgT=`<[l쓋T0gtŃ ˝+˽"MP4 JNf8a "y~;ec|`{KHlvXtq4wń_Dr&v@PH܄Ic{=VEi'0x-2ȶN$^9'l*Xjb q߄VȻ.QrL2G$`bV 1UYy;m1n?i :mܵEUDzVQ:f]qƀ..iju=%HU ʦ ;Z\+KJCi[Ds;hjRsYu[ӎU,uW]* ^=jNTFO83 ;2kuL=qioBj&qKmv.qʭ5q;$$̫)ƃC |pW]!7ե_C% d]֏Ϧ8d`t[\m~3zqȠϫpN%F(,Fj_:v5\W/W 5(Ax9FGk)X* >@P6Cc^ynEkϏ99T=y\1s~{H94}_:4x rcE o+S־{o'dE9syUVkWr-!pG}r~Y"環'YYMbZNDlJ$9X{D}GIp<^=ᓚ`n%;GpW87}] A% JYUΟF/|J+ĦP8^WxÓPH^)wF+w7W{%<( 2;9{mS8r"Df}Jʚx3I9dO߫1d32!kHht&OimS?ٰu`񷛟 /JR`!ӣN$2{V3~9v\MˋÓp+@u63ݤV&C΅9CZ9{D~aou%moI3zַ8zy4ˍ*h[h ̜hh2NVERMsfA=U ġ~I*ڞ҉R{FGw;4kgxT;Ցb|} ݡ1z=hvh:o\O\%4FtZ+6)x"=_o ۽3AncۑLh\/+(4tHnOA_3L}1JI%I"3/kO M?G6X d8`V۵U"B4x Mf;1y͋n( JAhݮ# ..]oNj U^9{v^~1^ lxN<%%)ᩅ(yWL^0̒@''IEx[ lU׹7U|>jKG&dpVK/HwS=坡יjzR1%etgbjfHV'n<4fQt/BNн,NBۄ,}O9ke$=z5nc#c- dj_/@vhhhs*{q(`imʝ9th6~}zpn1/s痳?I}ue}Meړ>+8ґIՑ T@wwtp5էh_e}z"IĬ^S-C͆W  ,ϱ]:FWMe-Rqy:Nr+{qj؋uD9\g琔-ĬH1$ނ-o9TbӢq@&9?LHgc칲M,n҇Tw C`)!4\qY V%YO 4QGQ=7RP[Cfy=d !©%<ђL}~ {]l:<DsyXe#u5bK^ZhMɣ{h^?Ob0awumxp5mԋ-Uu"Xku~%9&7^yf]MyXp$G|G ϸ9_ne uύ =oO>vz/M٥(aR5 |o?>DI]=+k7M)lp~_J4_Kk!-ϲ)ҦyooZǿׯI=#z7?r/go1oz'W)H_ 2bؿ5}K'Q?%3-!_hHdFFVG GoN6d F)FX#ߔ?ӯ6Pk1~ ~3D+o?-S:ZSsп_7KA|A(췴 "B/8Cqˏ~nO a4d '` F&OͰgJ g0w}AEipQ p?#?$B!XgH#i/$_H/$̰$/ێ7 `$ށ'۾ pߝPM(=uO$p?WOpqU(*eY"\)p 8R{;(G~@&()";%i6}=|va&2]!F}y7q|sEdDYߢ~q":K|"Lo?ay=(C&Ha I/-P_oz{m@)?NLc+2/ߧMEG'/>PkL%ײB˯׈|2_K?# ċ!/~7 Υo1EJ&߼@_\|o7@kG}N~@mtNǿai7 n?(@¯4%)T P'EA,'ߒѧ RDkc;}?\ï߮Eˏh-f@;-816~AHp/C~ Ɨ_(A`(1,u}S/*{U|GjDҰ߉&()koN]$/L_]K#^ ` 3v A!s2:f`)I}N/$zԯ? Anh@A"?)8HjtBȯ c&sDSA1B @Y~Yq _~,h$@&)gfu2?R؂^~b/( ?#0yĿb,@ *b*A%>Yÿ8 A> A%B1(d+>%>2F}׮$F`?SX2_  ~>bQEGٯe9KZgO`()4 KEYZ KF%?־Vq)oIt-[6~(@z n? ߴi[ a7Q"8@~/c*xc@7"b@DМ-P(a _yx.~~$BM0QΥ鿢LC0]`/վ6::eY-NTok /؏*οO>F80[c??z eZ^Qh[&~Rىna~?\G}>p{\e4#J+~d Pj%ww7|_WE\Xu)N Rio]}'zO Mu;犅?ir4OC|<q0M[{:EVIuT.rd!WB\m6%5=lkIs"t li FsP,ޮ OjիgN9F4'uw\EFǻBrN+po.O3+jkzS/3$ZVoڨcV_lؚ.|zFX/6tQ.T_laޗSr~!IL@ 9V{LiԼJ`˽RxI5'2qynMS=ۍi mꚑ{ԣe(Sʼn4+%0gtYfA\5.y!mC4*D:&ŒbfkwKrfvH e L0rsoԦp)8Cxk`O"w ,>lr]ibyY6\~sHt~%U]+]$$|^F^6KU17VἮIHmQK~p54= }y,z: uYzZ nHz ;+} > (:3x%wubz*IUvO5ni,. Tgap,5$v585=bd1z>{M>3aʫ|X5YcAX!aWL'-)or͚wX(\z7_^L .h{MBSBWLt0˔''K%CPMN &T:iU#7 YՋ]Vش5揕7.i'~m_Dc#ROױ(l_= aމVx<-}=툉A9YiYACJC*xVd6CV~hog5,12&IBƖ[!&i[ήΐh4odJ9o&珗#{wF;kS!]*qIt/O-]DQWwzQra?O |OwpؕGwܡRύX[x{ϵsa 2R);n^ֻ 6~Cib́ˡv]UZ^y=9 {e`nZ۪(T,AcvgFܵ$qU1B{Ңݪ v$"t;.?/id9GLBnxGev: !=;#nɬzR1-.6 d`zWp|6U`hg6hm"ɵ-vwBMޝqL#S&kYm *Pg[l(m ÃD>fOƸgYOCv353aZ1ߑ3D1w5?I2]UCj*ZgxlGvN BCW`U-wޓR>Aڬ."ix妗vX ?/;X>jsʑ 7:|L8sץG~?7dco-^o܏vXl|N^PX6j&RVF5cvq(K6\ˎ<sÏNVQ;}zwF8dt=2jߖ"l)Ԯ:lwY"h&WҊ&R'>^4_m%CtQi^H RJSt!.`2f YDHx=lH>o}[3R׷z^`@UϫDe[: n6|fK܏33:RD36oHJބ>PipDVGXE~6{ ea_HfD|7rH)b 3~3F>Vi9p,T$SljϬMɼ;mdi' DN픿=?>cj?N M]kի5N(4}?Ia$RHv!,c2f۱h~c7u?d›3JiҚAp/ZS Wn%65(s=\/7T!8}O`' Zv=ٯ2($\hҖXy {suf0"07fb@|PBP!|!}k 5ycL_j&b ٦y (JB;6tQdjGh-ێ=e7xՋ؜td f aLI[ܠ{wײ5\-~鎘pIL"$qD-;ѽvKW1Z@Q]w_MQ-z5Hyķҿ I|rAO$b kNYR/ڊ\hۘr: R˕'7v3R5pS\pE'b;jYgafħόB37>G۠{3jNs?YI+ 9E_=o3< UlPsW}gRj+m I46 6][=9 3}ۙ(9h&9șj]hG:cʿBL):Kes3&>!j~H[1>|<'L ʽ=3Ua(U c<|A8jXof-!~P *t'9EzSMEHn Їh0z:NXvdWwMnN $/UiĖ 1c)0MJkS%mCq}J@YVnA.d`Qg32z3 =TK6~\X3vqߨ"Th-5-{uEvCF/H?}_= d˸! /ծgxIvp}6G >D7E j&pƱ_rhVLJ6`{JWd{' U|ki}MOgz{MT~II,in3mCvo VX-a_M])hOEYYƼI6DZn'ivm'10["[lAvW^vgr"BImrI1ۯ>>\t_;|P.C՜GD*pkEKJ*;8߃(k)cBe4H)0`is;NnCjsPp>M$P4h P`&2 <^M 0п}o[ChxgP|C/gmgӎIE>kYoI2QàivNx_SO9u~0oŁބ6cBj}ǐ29vuNK1o^Pt@r5d>sFY "7Ga$jv~NQH|"儱fiL19U. ڬGrFr3&ٍ]Tq DnDC^굛+@\χY؛@Wbd!X[C>6f:YurQ.Rp_Ex $+D<7ugA3Osge'3QNNy7ʂRjRHk^ Y5݌b9q%˵\!wE!+<`Sbuo̘M!1ԦF9¾K78[t8Rtn/TZx ÔrbsJvk~6#+h5(Xx-Jmmb:JdovRp]} H!VE0rBE|B6(/E 軒3ǵ"C3<lGtE Z[ ] *gW#١h,@D$'8Fy]œw- x;a~B*8n6G//v.b[4bPx_^`|i+bP73`xٮi ir@=,r*v2>d[:F@qqy7s?>Z*#1N$ ش^6'[L7GGカ5vs4H8_H0x[Nj bET:|bd қ3}@>'wE/j?73ƅ椗Rf#_kӹ~TW+Π,Ւ2 ~}5wGa+{/msoєHbcp2Aᶤ0xJ瞎׍qtgm5#h'w4[NUvS&!ա0rJ?~ RUGci׈(_lR=#?0.`̧ObkFs"CLAcd[误zS *,5cI;&;,9e;ù~Izg Ekα V3we.^` rAJz^p7>pI)@yL(\7XdQ)߁cw% |]آWJ#0'p. T }߁ZHaaA^ڕ êC!o8SBu~i||%2"˝kYF/5 PnW`4fUWqM2Ftu˂Sd-]xAzŬz?g:",r /W-y.@,1srf Jо"Ac3c\+$3Y@ųڧBo W(y0n y bp}{B ӻZ(%*G H{*[SO9rb BhUCURҵeUE`ؠKqKJ1/wr /܂$! s?oc.2 M›5l3& 2@r<(1tuϙ{ ?+p1mA~|h8e^(Ëͷ[֘ɗ?KOTpDOnPfsa~PϘыl=N]Jǫv,12S> u\L}#9ZP'(;tƚ=V]9nC襃4tQ~}<ܭضKE LOnV ?XW_Y]ᜒ0d3+ӡT [O{mX Mگ*ru'Tl;|n VP52okl&+5otHޕ>IW6![ŞCEqx'nkIwSVIL.Tьvq&Rю.4&UΆRS?2 0]ߓlb7\m39~wb%9EioN6D~D3riJ'"݀=wM̼.KǑaʂ4~e&KCTc[d "{=Zk/սyȧRşj[q⳧?8gM}Qө*u;‚%+jͷ73㗃s] 9b]Ԑ =ȿz|S )`r:lV#>MxgHjl,>FrDS_4\E`$ABO^,e ,H>CPEE5?C6jI`PƁ$~ ˧'ͽfEWO:_>RȣO1G}nW"vਨ afD%MgV2j Ph_5h'ʅPL':^+ JNW,KEs&+1F}U&utOab$I\ءɆ=(I@>n }H@ ate;)"6 Cѷ߾zD#+s̯RкeT&FWeЪO*B*x^ gHSb|FVk ^> T 9z1ՙ992Hx"OS1 ,]_AfV?bazI}Kp!7Hư͏g`xtBﭥl\yށޒ²ױ'iwzɝ>Jiz>"j-(mh?B͚/*Jo:mHD,ݿ?;є_B3=WYP/\, ]Xjtpu`#ZIQ{_y=4e,^ q {t<"Ysyqu(6fjiǮpXI rI8kiJ!s%^8#>Йpp'U`W ˷FlIc{O?k6l-@iZl rʇN;-UZJU.?K$IF9l#Qq?z0)IQCGocaҐ$E˽])~Oj=&D;,jKHz ڽ:uBCM<^K[_eZ'n95AL_H%a#Bc>l+SNsdjB #Dک3|]Lz]:c62h{x`M)܇=Bh2 x<:!T=)&>]@*Pe0`)ȧaΚ.TL-T<j7A ʼL4?g4IZȩ:oKƒ:9\pao},˝Krj}PO ~EOoF?) fdU?ϴZ_P|G|qh_wsr/Ip5qFnFja ξO+^dPԫ*^gPmU-37l (~sPYM"\/AYLa.>&Ƿ.0/g0>OJ׺J o㨻Qxrm;Iߚ ^δ`_j(ɞ"PzkAbW=dSiΌB#o.w@>`_ZssGN%߲cZo= Y{7e mKsf?c_2=Ӯ`Z3N^2Y\&RveKi<ҿ䕘]vĸq1iDݏGe>U6 B:KzKj3$ ;E 'oFr[X߷ MT\g%)0i˽?h$f\lFRE_#yDP)޻( ˤ4տN9(!<i*ę~`S7ȸy\2IT}L#کᅳ?[8~ [1/Μ^jgu*lPv$fvcaJzapwZ k:ܒFw.uSZRQkx(Mӳet8 =4>Љzѹ K2,}3=&};\+aKt^?c3"v<4!rZ?afscQrol"3mmSSa%@,>I^4<^vڸ!jsF_?d=׈o ~ UOMTp2~[a.INҤ?QFl5+=[. [&m]}Zڪ;6dmU)X*&I?.m@;{<ٜ2QT^|떓ڪHZ\D݁OfLt>ӗU[R5/C-ħr܋wcFifշ~>/y:5JAJkB5v+7 %&įq{lZfC<<3)\ ^V"m]v3J㥞Gɿi,yo5`inGڂɾ 2lװ%lu(lLPܴgg _8}n_QPj}\(co/.@ߍC3ռ1^m.ֽWbg`=U-Ц4@Y#Cx*[K@ ߹ 5SoJ!sjexx1tBöD8HFLվphAۛZaa (>p̕Q%dSWqgclR,5Iy <-x$ B3M/: gQ~*| 1KIuNwo2gnG֡&e1j#zUCm1`?K<n]".ȡx v.آpiS~2]ȼVy 39y7Vqvڟ)VK44 ?./&&zW7T,jCa7bLtitNiޫS8rpTmi-́6r2n1W &743fիF'B @0>`yҎMTK^Vcʝ/@B]6/n 6 /:=h3jy,ɹAwc2 qVA!#S!Ŝ2m~>i;ʆ-T*3:sj0`ێ**oF- 9 kEՈ%Ѹ8fwx1f{+CJ#MNG6Y~ Ne9>[?*.e+?CCK<v8F)hБ=ܨ;BAUgeR#HFTȃ(cOH#kzffTOEG.Lє;Dk{:x.nH/9rBe~6C%b:hЖl^ f 9m#*L/ukЯDui^/l#>&02y M6)p"gKynܝBCH/Vܻ{>޿o,EhVE-nBȔ<׹f.{۶@t;~xLGە? $: ۄ^/(Ɛ} BmL{hT}y?v06j!hrc ,/2{^-K6"]ԛ(ewzOt8 ؠ' *F-k$P-Nڛm @vك^bр(3. y:{xZ3@R%8{ A:a5,k0VWo| 2Cku+kA-PߜNxT& ^KF7>_)=KңvdM|^јZe+PRLq00ZGKcC w?geݥ |E{闿=Zɗ-O: L 2)}x/67&[A YJ߯e};;'UcGZ8k EIhe%pg>x _D%冕x SgF=reLhve+@_ƆxXfF{# YČ8'{]꼵(EѻZfs>2-4dFTγ'R~ex>3 2\ۭVsl?BEYu'G'm9vgݽ.KywjQ  M1~YnoFB#6k; +^ǷB-+}E:l\ϳtR ؎Y.ƴvp-_\_QN~(5I媪`zC=¥%R 褟7%p̶Bkm(Wg$ $ޢ̚$G3!fs t5`@0Q یP!aN~nw݉΍ 3ᗿCn(A84ÿ'9m'``@;8S _ql2w"՚*/Db,/ECe͝4Evyoǟd_џ??k8ϥ|3 zr S)Dr2@Yi_OiULEY͔@C~c@"NԎRt<&EoiFzuKgO)B=Ġ0{x`j氒 %HwG[$F2mV˩)߇?2rGRXvcp̺7؍%o &=kRzDIam.,vF3#RLY,;f,VyYR9?GUt[:88`i?KEdӎz|$C pz1T~>#( +6}w+Q$z"[@fM R"fvn׿}1lͻOf|:[*E֢6 ^`ZG? s-ܕo%HI `S/8c"slӦ89R[߉ Ȋ[UA !(JG@m`v|^I.a2=F%8~GaD;EP;9h?u2iDNJ[3r xUn(gHnFfr ?`4yZGT #|Cgs$ [7`+_9~E~{liA{j^K2YcpXSy;8xczl.gW?˼C~֢*&ӑ=1\AOanBowS "rԓY0 eרV/r-Ǥ̎O*.%}߹M#^RQyH"o6S9e5nx_{ϵ帍~e樺D]99Re$ (/J*Uqv.Af\n/f8Nh*y QD 2,=oZyM뗪svEڠ_W.YU/1:OM[\g&[870's+,jask`"?_Q7Zk۰iuo#!m*+ hszqz1Bʓa_]N]:k<{9mf^ܭudWՕ6랧ԳBtrA~N2,i/u'ܭQ*ǐJqn?#^F/ttBEB)ovvVacў؝ 7;RݱFWCiZ *6|'X\Q vƀZ   k~ڏJp[B#@( mF*~6t9]=޴f)A}[gAàVކx״6ٲ29&Ơcl!p:}uNk[N.+>;Fv)51pNU rmҤsNǵljMrsZ gR%A%qyދC <5J=/X[U³0\k h:zl fa9Ӄ9F&yv6 VfmYMUGՆs}izv;Ue7H 7Ʈ> mFxFjr۴Jo?%]7vUgqꌅ]iVr\Sӡhȶ$ yitGezލ4<<@r8۴m4{rURmٱڣv4ltRVX}Jo7dB~iYAkzkȝx~S+O#c.-ՔOc }Yۑtn@|[j'png,v6LM/#yJߎLޮKKaz=p$oi EuCGݜ3E5n%ympiGQ3ϏڋyNGUaqW\Jeՠm|vWz XGQ% kiM ZH'Fp>5۟3V,Rʴ&N3,M$ Tg83+tͽZ(;K+# 0(wX,w֭t=K-&^0\d/Mdynyvc3, :>0˩iYo6@iqQTQԪ_x~_NS:KB(u'\Rzk7MmV ]]Gn/nz6]ECy~u4W,QujR]m-8vS|g9r]G\QsYi+^"ZhfFNC`r: Q;]t;} Khmѧt?#EOAf-l/A,63ѺuHrp CrRX;jpeBRMhRm3Lm7 ! w?(ϛ0iR]jѦ_t˽9e.CJ-rG`\OD)c0BAhNOkyU8ܯoW2H/1`gNh~_8M"3˭-?_mO9 :^y`N ~"]l9yx<^mu( iYZۤVM91{:Z.嶵HL^?p*8MHٗYU^*<eZ^}s~# {U qh+uꅝۛsH7%bڅ3FaxV|º68¦{hVyLӘZ\htSbG.,l} ]== KLMMR\2ֶf%oQf" d9 JO A]_X|~P Cˁi*N:jwZ~'= iܮUtx q)>^`Bj@xM6u^[;yC `(;pXbj=&za<(F4A9x rlUgyִҗv4k\xLhƖd|Т!,ed?tSF cN s_4*̛a=*xd-Vsh7u6"Fkqt>Zv-8υQ/\Řa- Q|UIoׅCg.Xfdz0/~Qp*)A^n6她u m]! SZGa&u+(;3IMFBn`ǂ-/VO9$7jv#(@u {K[fhm+/kX00'~_ < p`E `sSjp[mk*LWFEwrvˆέִۙ 8ZU^o^SF\PkSAų4v̓eDjϨCc^[L,^3LP>akd92nuU~sFO,J -3֤e5N+ *BOeFek)ac=zNWbAZ$Va9goͧc?Tr9r3J|r;2= -dž29}d2qd/cpޖ>3=+7;nrj-*tnpObF:M4ep4ccO0mԛnZC)8P %i-'3#ॶ:34Ӛcla@ou#7o2%iT M1Z+]h7_۵zay':USV彳˾=ʲT95A32)cjCw aʌ@`'x9Mu)6\}tÉul%0iM?#+dn)]w'[;6]\h^EZKNKHS KϰݺN9#&,36-a#sY:JR25Z!rBQa{B)>g9 V{3?Q/ ~Ap2&ܩ0FE7ኑtT>983%sj \Ѵ[:gg14;V` '} 휋da@;z$ r%},rݭQ2_˨gZ2YfbbeU~ZaXe~՞"#jMf{,tIڼ.lc9 igЫk/v'3\v JA6U{E2LwV.dѶmf(vFp5pGۮAqosxNvOSN`Ţ{Aj~Zc\j)-_v"/}6]A`]X76 y_{ S ؅([hݮnumXͣi/I֘-oijQo1Ns۰V?9j Csn->cvmif%eoᡖ*Bd;AyxEFl9 %#1;,^԰5ߩ036z26e,ޚXO_^XƹU),,&ʹzhS6.h[F%E{ 9~zzBXHR^f~w%Xg&;Z:E4UdSam P'pqQ?\3yA`Fn'ХEz>:>ea=fWeufXS"j FBv]‚KhHc_]Y}U_s}1It*Ɇ>?89$,y{%Y! H z2k, >>9׍y:o\&mWޘnآ=0.2 mo.*6|kjT'#Mijř j,jzޜ+W63s-?oJ5`6O6-a`?j߬67 )pտl 5땈kn2 vm lOaH W:J7tO 6*2+{bǍx޶ky-3쫑"?VaC|[S%.۵do5rpړ`kZM6vViϝ~0*D6o37:ش' bO/:J|)fYޞz*نU[d~+Z}!c?:l.-nSΪ9]2=.f RA0eo.r:Ft e-΋;vnXN_& Y Y7-hbc%u|' 9qiM1rScm!r +svY3ώa;Lhɾyzg}8X*@FP)Lt;oWQ)G.g:XƢ3:ũ.,z:[;=Î׎e2Ox5VqR؞.}&EwX_7S ``T)0VՍuˠs ,W|u͉V޴wCڛѳddf_wEcN۽ےi'yh*ˠXOsӇvn^y-lV/4dSl13.>*P.ww4\r9K#觶`ao'VMaj UΟj3ɮחRREu-p0:Kj=8`U dzkso6SoDPw~,}Xfy:Oޠ;&qjRsfl^hW֟lBhGɴy= )M3k6) ejg Q SCT1D8$]4'ؗu}2*HS^ڽo<6^Ղ~ntUXeLRe*4;LѾ0mnYV7fr5lzF7 ӸR[>C;LFp.z*/ ~R KF_O~lC*fSK7Gu7[OjYfǥ´zOӽw>n֬^;bm^6MiuhT1ָp/U+L;pBJn]؜}IVMMMc|R]( hri?qN.tLCB\&iP{ Vo6 ҾWܚR{CWSv5KWK|y5IFzRNb;*_ynZօ}8H;偐yqV_7*3 /E2>3JS5֦nX'ôVxHf"?Ɍsą. U?cêB&Bt@}tz/槔_]R,jkz?]uK^CB1w\TI#;hvf;.l@f~3m`;Q?xDm5gup42)M(9_=={PSfT941g/y\?zCOQg ޫeWd>WU1柯2%1UgxɹH.&|Pu ӽq3", J>\e28Y]ooo^jjx5yp{zuo⭧;ؓ^>̳W>-v *}g7(77)7?>IZzEG4 fjQ mC{nRz4Wg1ing1'r3ڿ Of;WB3П .P"YT,< D 0YrHdŧo{lHX`챜5U=boW0xD_2[OFM {B  DĐ,'Qn[I.!agL(̒,iZ$pZyHb<5IUQrzS AGZN@t&\LA@~ETY%"*tLWQEy2bMn p]fK+{!mtŅWd‡2p?zAQϵڍz72⚞&̸od|Op螮}0ȯm0P$O%AJZxF5JTD77qdogr7dLb X',[@sA5l@ ON յ~EqjJX8m@,] B x˜\Wl:|hV]a -M&"|Z=n%z U"9k+uQPY e c?’7m]Rz[Qr[Q[+j$K DBtR_T1{]_!wl4 BI33SĨSPr%%{Fi%=HRK?xL[a̓ā0+]H6ʯ oym,HB.r'z]P!UW"\H B蓰ۅz!Qt߆jW~uwo%WԹtRcYRb/_R-蘼;Z~ -;V&VJ/y9J@ʐ}D"tHVUS'o1iX, RrQy9BE|s P:I҉&In@j=0a0+ ]arn`K}K#\ɣ#\nѓq L`_ε] Gqm0bCه-(@ p/[/&,O E :BduIx(|'( BJȕ@*DL|J +itKtq+q'FY$rR[AgLb+BH7) HVĿïY/-iUiŷ}##E`]7|_JKu gţk?[ wTe5{W(l,`" M$uCL:eNyKx`jb[xׂb9ReoAx dYj3H D%:pg#uxBy}'ȸ1[ ywa|0~)-p{0& ¬t@$ /^Z %0x1vw;Iӑ;)< %T̳R 4Ӳe;D6ӛ{I<8$~{n0!mGoA~ϱoP25aQo#pp3o'rN^\Y&8R!,4D I,L~+  riҋ_Lj_D㻅/ˆ,| IFq%6r \;FcÌ|)Sꫬ|XN /nWV|_xq9r=ƭwݣ H Ru2d:/%mȟ"b!UAd)],0 Yu',Wo4ՙoGD<1C/G\oİAOu1 rH7J=q#6אN W m#^YƾRayKu{ J~R%'Uh=j7I>#cdW"Nd1hHo,S'!7$%w^X`3/&& P *+yx.p `\k˖oh?C BQaPP".1oH dHrGO"y*; 1-1HBd$^G)} 'qCnT!fjC2@&dW뫇ґ @56$B#*\7f's%&UNi92X@* =3t)(: oQ^}jHrO%{ ~-_׈$'y%Me!%[cyJLё'p8|_}G&ICy$_ OW;7to;6YJ-;#=\I۝`nB~/= _i j*P! (TR4)rӡ߉N_J:0]$ D_HfV;`?'4'pĜQ$OJD y։hm FGLA't9B` _W;')>vJD_zHTI-M!?)\唈rFD qrjD_xZ"?? "P~@vpkf$x2#?Sh.o$2_]P[†UW;\'bt@3t|D$DŽVc(su4qSK@)jwh7ҥfS_\.7Sv(wm"Դs5 )!2CۿE>8?W/4艷"WRĐ*I26k=?DV7֕$D\& p~eDᄽG `;| J$g$G4_h~~ї>6W矮<p3,|6?槻n桕ǿ /S%}ڿ~~wf~91_3үf?wwȓ h> yәl{zVٳZEx_+[iNنLpu=ct!%OPfk?ۻ*4<`:_g0e‡[%ýg _p?Qn]U_ -($x\Y}E'K{Xr'9a?A |M @ar]*P .n>T%#O>S1~ PϢoO\ڡϭ! ')/e1.P>Tkz7篋pIn so|'Ո,E??7]Gz> KZ~ e~4_ $:?Zv?C ŗX3 W/Kz!zb|gՅlj¼ C?/6qK]_btYhT4Y\> (c\(Lƒ?Q3өA ɳaPaX.[p&3K0#P d$ kA 5L?XgOL==gJ6(ӡlW%)#x'2? ; Ya(qƳ ؓ>j(Hrva1R7MZIT_jX ?#˺̃VDtYGGb>NNiabmIgV6D5+no/dgu(2D"x {VfN͘XķZ{a.LȐ161$4W@č@a:"һS,BS!a%P}A|R19ӊMKs!D 3cĿ->z7 2M/7ğQ/Dqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/hidef/application-x-qet-element.svgz0000644000175000017500000105720311200647463033050 0ustar laurentlaurent}iw⸺+||gQ[-{3y&__9*HTjauW"dKzf- \l?~o϶[[|` a4ַyx=/"O(p6߼(q]|.n7? Ю>v`Vr~椬k3h϶'/*sKmޛ$UUs"!5“MGE(໯5{(ٙ偧l=3ہ'oG9k|AΣkпjjJw<KE_^ ƇQI~_HbXk/"JfnuZ^6xmۭ3<3ydfhwa'?y1ՈNv zpkع-2 sb֓m;:̗=ۥ=;߽^2tcE˷߹턼L`*X| dOR0/zmk '/U׏b_ .RtZ8޸ ~o1{ZZDߥ64,^O`U~r?֚x5vkKk/BwȚ7}Q>v]{q..('ݬqz!fsʅs]*^?h\ NbWL8s" dEª=3IJ*/e!%K$ ZDH_D OtLj~9wK@E .* %1$G\5s e2b?Id,~xw{üE0Lظ8(r,&+B_,XJǷ q )5 J欿9vE 꿍&@WFV;/ɿ)S\ 29+qt%.,e^u V&oS} BWE-ƄxrJsoG,_KLFYU_?IƲ hՠHAYD3Rf y ;-;x ZSh*XsjnJ{5 b=eG b+(hm.O |rdDDѥȕQɕVyK5o=?wM7n~11KE7 -d=-t{B[@.5lEk`$|h,>^0e\s\1?}2TX~UQ}C+sW}[3=*RX}KMҗaC`}3a4A7g8`aTIn,yda^Ҟ#Bf0sːgUPZX}J= - ]UBoyZ"e7@wl.o7 -Eq?L|grGny-͏/;MpcЪq$"ݲ|獩w÷)4'nЭ\,KzGA/XUy*1eiW/4A  Y ; h@oA嵛 ~|m@ )Jj3dFhC}%Bt* QD }VV#w5a1"r "o?ڸczws:L_% exA<Ҁլ,3YS0)8wQĘ L}*sxKb[<\V#w0%V#"M/E,!9 .f͹п1{ ֻ[^&8|aȁTǞKd1êz2z\(}RKѱKC.&>#}afޤJU^Kأ֋]sy_?դ"#_xUD)zy38os+veo}.풧.Wߧ(,[n1(ĘPIB"_^˄3wc\}Ƕn~eYjy_Ȇh %SۑrQۊ8^R R NS|Y@?YPhXnGbo(wMKeܟ2݉Z`6fo'$SI<@DuD,)VF% QA_K[UU08 6'l/R/yZ|'?:T=C%Y ^%*Ɨt/r2Egsy1{%<µ,O|iNT$ $z( ,"ebr/gc˕)#ʰc cYU\C)"'YQP״2TrSM+Tpq]̊|<\}cOc5D+PM?¢ LjD2NH|_cARD()0Zu!N eg0:=P*EtA_Ɋ_}\Pox eG@FU$pJRrv2]I}I@ fVbDxY׹Y n`?]AqAtUXɒtmh ƕ.`w%hVVڍmn*o9hO*;&Wkʈlȷ$s}A?7x>g< eVU (,$XrTf5|?ZX5T!b5$+ʒD2m$|a/\T$|mO~@ _Qƍ_WSă; gݻ̃+xQ3L#DNk^O>D ceJDž!j{ւ3B0~+D p_!WCԀG?AZ%TʿU|UdZW!2("Y>!oDW> |"(1L0dP!4+BѿrQL~*a%*@Cʷh_@~a$ ~/z9o śpy@d%S/8K v껹~&RswDcrz^i{ou zzg$suY{t Y {KK ?O^8,z!Te1Ͼ|}gFT(Q{o&F'w!d wc?}M#ZU(97I,2)<"@,,D!V.| Ċ A&ĠF h@xq`cPr?C iU%1-,*1c L* `|f~9#Rp?C ~2dW8X4M_דۃ HTGD/VICQTK2~HFT߰{n'#0>'B$aPHD^O^q?]?OOT`}UcLXLa(,(9'!b%qgq{0ze];@X1'LQ U?D&v?H*>[D,h1B/zRbL-41iJh@  Q:C,ص1?2%2a)} wn0W5~Sx v6GG }]jѼ(\pNCKqOA6Hr{jdn:Z3j9$oLEGLT(o'/ΔMa(77鎌PJ<|# ̑6q&nܧPݾU`?4ZپsJo1, $MRڞ򖸼E3!査hBd2Ud7R^%CYH/^5xGEu_}Yu??,39;f6)NDaZ钱_opAsE6;y]@OܓṔ!1SnGZ;3&YR(#Y OdL*Q00a;Wme 3}.nWUXwh},J2rWR^Ժ`"Y~VbV,y_I@[wH !ʌ2子C99L0[4uGF!f@>|Rް)7^JoxbpJ_2]yJ}_&cG{5ù^>0](+fe8gN?åH+LߣD˵;[LWq~qr *כhVt{/e~⛩NJ* +ԞJAB$KDpQ/%g#9wƋ*?n(VDA+@ePF b* IP"A_d@BLk! Q(#YďBFcD,PŸ$_ "9B-Ï#eIRHFʻ,geB"8OzeJLJ[0RDt[#sefEy|c˄fSijO|j*KÇ)% z˛%@i,["i_%,+YUwo~ƟTAKTSKcA)Қ2 `U~^YR>N6G>If BHJ[g񽀏}",4%PGUe<s%݃RrIdLT!R%*HK@\Rb9Q$6vfPFICkT> lJdh^M`,%4|1}\ J"bo* `hQTԔ& xB=%8dh< Y%)I9_3"@ D_w,/SųہOB` Ӈ1th?4h*P#y`VCĠ=~/'L/@3MyY7}at n/|8>E!iE9m?RtU(C0w]IʕT8`|He(mQm(VS3 Db(@hQ&\10 TJrCBr)|rcWf<)˼Sa(W"N~K2.'SB@ \JÑ,,*I،=>L>6ij!tTEIe>]&~ŏp~\r/Aa~HUeJVy"үTU2>A$5RȞHG"U] B?"R,On>7IJ\ qk'^ߣ I%? # q I:yY2T!QRct".)Qr*(-AJiQa>{(Y?N-ò (ReD" JoQ{.NOfO3MEo/۪Ó|KʯH*x["T2Sjp}F]fuJOM&OSttݪ`L)[B#s>#\GsyMB<*ps3߃T@Nu ʦW %@wso_='(TE'/Yy㗗*PLXag?~$NW%s_Erʣ'*y!B-^VM̧MRť 4 9ûC<ĩ*@W*SEXԗ-Ej^HdE%O8`eS`EբL C/_-+/̧`~9yeYonm>a$Ь (2 ܖ_( S?k9k¯ o%l +m~е OHϮ"0ͬp/_ɂG))h_:9ie!Ļ2AS2Eqk>ڇ 5[ lϖea8Bn(˭ȩP/o&,,Ԥy YpU!`@_ mBH *Uؘ)b&~"g|⛏#ӥ0z>5߭Q&K߅HX"̫Xv?( h8 >Ý_ւnxR xi&UE<"S!F$ %|{f**$ G鲉" }i$)C0b45cB]E n4qՉ|pCDRV 0oc͜`ErCJ }I >/{'A@*̍ge+TQ&@DWH%E}~ٙYdL@Sמ?_s"s5̰Fgn{@SMNev@?@1;o}zp|s+U){i\D =YhE` ]BU l{qfͺ/L*3/j[A ;<]Xom۶KwQJZS`?ҵvD[ޥ4"죢㩆(eGе-ü:FFY(^V~u!L*i% cP ;\m>YYv/{l [˰aJ%/RZ O2+t4MMLV/J9=5t$z ߿̻00$nar:C)</!^y5FhU& 8*!CN xM:ͮ랝"$YA|? E*7|&Sσ8Eb(uq,z /v&as ? tA9jk#S}y5KcP=!ڠU:3WޗgqLI, !& lW"KQ%vA.<.B0 p)͇(U9+"Y9 &lU}\v @'!Re8O'U:+'wלUPoBz+>e9ekS"dF#DuW>"?d~z$ҨHF&ZUhC)O&ʏq  $[ڀo %<h(z$=uPT'5<#''BY I|x~H[*B*+=,y?ġ|ëB&OV_ %G 34Dޝ)@d0g nzf_ejnսy]AHߺ^|gݓ:k=SXb6nFwU; 񛷈}f?y3֗(=-|S-^x_:7Ӏqyt\"Lv/)=[Z%|% tfmItlal='Savpbf0 O=%@nֿ|hzrI_)^T2K90FڼUhĝ`>cLNӨ+c4/˫ԵhZ/bfΦ]+ѸYR D6;^;NUtvw#ՌkIhsmwF^:KAϏY~rZ&O5mMJ9r\кr[lA\(hW^ȫr*r Fiq: DZۜFLW."QN*0e{睼\'\gFɌlqy=R VÙܼSqX)Rm( }qwr5Ojێs*X Gñ^k3\ϟ997U&a6ǻ92RfRyqj)V<M8}o*y<:^uΊl zh;&]"SfYh/2j)Wez؆t392.Ygaj+ϭk>hl=;ꕶN#uXV4V%L &c$t ,Qzʕ7-i_Jĺ1 S e9/7텻hEpc r\+$hZFn7)OlmpYgdxtU~Z1Yf u}&T)vuk)1P:7B}Rl6f":HDhk9HbAu#ڞm6qN .J}0$wڏͩ0Q>ƴlJe]隥4UDW񮓌1*59ҞXڞ%+TNĭ[ ֦Sq厸 sHB1o|-5'_J{ZѲ1󉟴;8 R6AϫnLIi%VEtT Ɋ!ڨz,aԗ죙lsw\D57CMbxF"X/j[P'9rRQ[]5; Myh{2PЪGw4识hHj.65#Vnzu4fy+ScXa>:eH9L{=@LQ8$gkMš>6uۗPE!Oe8lXR6*ӌNC)ⱯΑ0Eہ8U4O|G4O;;%7YQ(P/4y$iSNv! VQ =qsUR,Ʃ6Sw꯶QRM*taeu!*rUj4v*ZRfya{.|-0\>fq/L?L:^'9VG MUm49wmVGcԪZ,jn"ǧR+ц+WAm"cԕFQpdVg="z\֦P< G5Ͷܛ\0)ʍ9낔9ݞUڥT ڜ]YRb6ї|hkH{q\-W}: _mT Ŝ1*FSހᴪQq.;Y^nBƤ9Woin\YvhTsՍKjzƦwwW"q#GҲ"kqacp٩M=GJ;>rnj)2Z0v)̷]T;HYU&4Fhm'b;@AqR9`_nϬeQ*uJ=[яa:N4 Jk\m,ck7@~iʯ匮LWsClÚnU!68!)ՄhWtI+Sqᳶmh-N̷f68Mˀ8QQ=_VO(ø gf8 f6q1ihKR9YZ9BPYh)jMG{ܡjzlj0J=.[{&3s9ZVlb7Y;h\<kHOMl5\lve?-Ͷ$!KbT6Kugi0ң}a^TY0A2d>pTHJ =&T2(;F䪠x.jS UV۪AۯCb5Cz0vDkͣVAțΪ[lpjj2"Hx^MĒn44ec,S^"33JtӔzWB)J$IK P۲i-M@5.R ZQ8A5Yk.ba*}AM6fq=x!oV&bVÙqN=KY通NvKjz#3!02euYdm3PY˂3f%斃WId'E t/uQyWi^^WnQ[9vZP*Í״T`$ ޱ9ش:MtLg]ey*46ZkKPh"l֬ Ẹ)tͮ{i8]PF۵Ǣj&4NBmfOۖ=渒Y%vkg v 8(BoiO fd=*E8tQ^;6-ymkLlJڬ{}R5W͗]HI3 6cß2uF]H s 6A섮<iپ m'nɕ >uφ j#d[9q_>;I 2<Xdml\BŅ7|vnnNiIQFZc6T4[+F8~ozýN/a՜Ÿԏ+αz9ӨyXLxVՌ&ܫ5S T;qs-JVC;lEAniUH1^Ⱥ6e-Ѧc(TΖ|}W*s^Zj0,ȭX tltEpk-,N&k0*T߅B k n~myLr67*f:X3\0fT}לXXm E HeA8u,6F%9S-S=z6n.n h%:>ī5^ HTi3^+ҞW,/[35 3ϾQJ'{3k[In",ZVJ]ţHY٠M?# 8h bc7 nKLO-SoŲp* Ar JPdWQWZ&3ΜzsCiB0|ӝܢG̅ QeR|LjBq嚬 Iǹ/lSSCH&P3PBwnjmer#youZbrFRwݭUAe_p;74N'ø^æ)lSYyb+,6XevOIjJR^ELF.,+ʯ};kQEgOn23]h怍`[i` bGvcy&QrcX!?W P?WJUtGFi ݴ *3-6nc2XNaCA;ȆCo3\5d(|2iDžMh82];6OkNtĂgrZE }]jM"u&*2;d9ng.,g~눙]7Gn@*卸k(EFa]9 .E~?MR[ӆvwZ&`jFH?Qę^aG6o zov6蝨BQ$ QVZN4c- ƍ޹y-Za i؂moܭQE{9ߡ4;U={Ĵ]*g~&ȏ}`G 2u.J PH%z{{ZWqD> }מ[2,4]&9E7ԍM }CLM'~l}?pӬ˨#0x nɴ(\5k2M͉TqMq^ʻTh4KYޔ)O+A"L2gESd]glTʓUBVzK G%cCز2{"7ApiuV_ (8}km3R([uYu46ž9x*b}f2=.dѶQmq3;vދ?:7c'SS-Y6O9QЈƇpvZ[j" j=سmUsCJU=5ͨmMmd}=8;& l9٫ɪw=q*.v[I{0.'tJ wl`jX\ &$*Q#\\fZź۴r[ey=pT GjP+8VQV8 %d#ۗuRjZse-;ViƸvOq()X[7e;2H:WNmka$c;hf.ihSۂ5 3|ZJeH6luЉ2xk~>RFQ gMt]£n1lq\T\}뮥ZhzS +`+Nb䍺lBmNq.A϶#o)E};4uYJcL?cCϴׂ2z i%Ae:L:i{*Vu4f`&DQ^'AQ\Դ&\h'zf!򧪵1F+JDY=P r óJsbx. Gu\0MJFL}~Lo֚y!6::mDeT'NX4-0bo)+i#7j-iZ69Z%O*\94v͋ {U*RG($_JqgPZ_94X#]2C,@Q=weNtjFB_vmC1 e]4ٛZy gfR^XoMNԭwXn$F WD G]`d,6gu\}ya;DuI\qzg$A1h`[J+ۻy*sV f&)T6 ƀ|iZç6j}Y".#TfGs}tQqgV'd9KX%D?o@Ii⯎]okDt,̐̏)&`Ȗ6&V:.7x#( {kTo al(Pp7/7ZQ)dPQGMInޣD#Eի)=ǚ+e B+UŹrαBW ށ4ԑT;hxhc/HYg6 kF;wbN9C#K&= <辜--{ Wn(M`"b%Du{-_` İejIʱfpd\'xl O^|k)l3MR(:VOQBG_~3X[/2@)h8 D{{t98xM*x#1Bxs2j*vQSbfmt}opLؔ 0o:Y xX=.x5yINMۚfe B9Cև@xw#h.8mA/DefV|97]wm)R-4DK(e=1~r6T\]W977Xe6k|]`H8 C4~ɐ3:pJ<{Utuq+y0IɇO*ٷ:RAlMQuwB%Lne?/Ir%ElS~43AJS]Tz;cلx}15g~(J*~Q6+kMi]j_]enkZW$ƻpgrGRYusmعXi|#kB97+'8 ҉pk N!a+'g;vBx=!(Z2| !VX,oZc"y^-vaRڼ%Vgcݞ3xq`g'L=B*4Obݐv:lhESGnȐď+MhWw7r&jt)g `" 4*H1?%3r(kmm9#,pE+hJAV=7iLp烖I@ ,hN2ٮzЃ\&Hiʤx [/`XBkѰZb&K7vTQѦoԏ0eu^J@2H(Z$gkl'! D'| ,Ct~K-.VN[w~u-T+s H$0Eߌ1ܝ2\L:fu¬3I: ՁO@nɩVIŭH^3m޼DSR1?o|Ϡ!(dK,u\ K~nkbO:!kV-(˄z<;,Բ dD.9c(HB5m;T%U찣07ZyBl ^1?Q3'! ext*7n'j#^z/+WkDwY OU2P'%u?j \;|h{=V R0(7zYM8jL`VLHJL wHO4P~يHVh ;bQiZI{wyP??⛗bs_oX[\au_jSvD~$m,JABҹӨbW@s/+>1Df ռte>%#K~,y"F͖LjiUѝ| 5#e7$T :%TsW|v`-jbPs) UX_=TRb81^FtNۼ_7.JAu | +\3Ү&;$CB=Dw?l 5vpv'X;8$CM$S6I{8Iʬ4"or Bwe|?GߛQDW0؇V$ wY*b5*Hi͘ܫ{q'9ȫ~Uk ׷rZҲkɼ#RIw1:y_zsM7iM>z/d.pPPWay&`.}c _N/:&"9!iQ ŦbPuP#Оx ~p5U o뽓U٠Le _wVA.WV0-=Wt&b,x/ޅ7+) 5/zL('G`k0܎,./&G~Mv;,Mqe :)/y FNu$ǒ`u4~ ۲?T%e7>_HhSQ>ޒlvkb 1r(5DB|x/= # F`>Az; ,$w W/3T:ɫZVi o¹|ʼsR{ՓO8&EÀѡ!cq!Xt6:3!x`;[ ShvFs[rM*삱s=8{PQĬ3 V53V+x>93Sĥq*:ةO:LգKS,UMTx2| @I״v4 ـʂ' 2s8:y fMUcߐD^;SD8O.eM*_HWC/乊V*s.#9yt5"IYZ%qaZe^ނ6AEkPf*F+5<О*#A7Dj ߺU'&cqOv|5POE\SROc\_?Y SΠBd,V T7P?|,5#Í7CQ?5:}ScFxs?T" k(M/P8]2P/#H֭~iE(,Zsi}>y4yGqqxV7906H/ s _ 9ҟnFc,{$.ӚZX+Ի֞y'Wܮ#KGs?iqCA8" JWZ6G eO\TojD5_>zbl<3a05ebn#6~oP7\Hhrbo# |lT@ \DZڧ}fyjV,%%0 }Ir 9bR>TbDҧ޸2Ƞ֔,oF|}lPI)yh0^ì_M)"#{TW%~qbW:a`ʇi\6,(<;:bA38Mן?'*݈nG 8n)R~^#n>i4a_-vWV>8-(ۚq7aFMh=)ɇlaHv)ҝkyZ=ǢCCBM9jtK+כˍ[ ᫅FSq>e\: y(s%ф' R !.,R6U9BLk#.~T翮%5{)UWw9 J 폴=:B@O.۩l;q=zR M7IO[ҐdO32N u-RcOߞ2kQT$u=Uwy&b'&jԻ7Hg" Jnv!4ip]cr,ecIa z<YA:ec&ٯ3 zO`8/*l~CC"̕ G0L yS2YZJy#CzٷGyd.m"=@m2NoEKPo͙L/ c_k6CtZgb_ .1X5}{T1ŠHS;-#ǘ`l.ӦhvR,kPp5Zyw>p7:DUE&ː{&#%g26Z4*Fn@ 4כ@ÀU}yU6>ְQe_Qzq|#hqB+g t eVlm<(M㥌z\P t d[HT-'{Cpє_,?TFmhW*HD $&I$GB!Ǯ;nO_UN#hry5I͊KӸ~h? H3DjfiIO.kf~m19 '"\9u*t(LGݺ!`fErA$U8ŇQeUE,SǷ?c2g(00Dǹo85(e۟zXP'c]rzF8 DŽgN}/gBOG}W7[!ɖE9\;.O"@7Z/(,Մc3\waUiʛ|D}b=o/F; sȣOu"(0UquO.NTO]ܼ{HI-QL.Db-5/pޕ A2&/"碸a)~@I{LW=4Z䡾A**>;%4<CF_%pHilN9{{pHȆ~Ӑgp0ݼk0Jpvi[]u/ .x~ɪ5gW6sٿuA3讕4ywOK%JJu+EY.|S/^aeA=eJ'^+VD59b0v*z8[*~7+{w#%*?',tLm-%.o)6mG0\)&1(`ePY tHë*ضu4Q>LWm?V`]?6$z}zY D-b }:W-۵_pd̳eAoiB.þNŇ{%}f d'X¢sڱ>]hfuqqW baW|/zHH*fH*VU5{tgO7C$̢k6F|pt*EQ0buxlNG <13p鮼7 fUXZ6ڠC׸t5c2 qK.g&ŝ`/j`9|6&ץr^RHgv=8|d@~6R0o|ppw]Z_ԟxXA^YCq_D?7ycSC 󷠸'@7^S$GtiaȯuQƢb-AF# 4'oB_'>D.MZpQYKs4}a5_ߟtAmCf,A*4  pXFqt*MO^HeK_]KO^˯~ڒL~ߒU5ʼn&bN+܉Oәtψv/O+W~f$.ѪZ/ M=QP<+x  e^!C̿h VP[H(L"KtTI1AeDcضWIKelKh1.>udΆB#$=h^c\QH4:2]s50ajBrؤ`nc!+Y;Lu OS^i)*·%$\,i4hRfƲV>,O*IÂa,FlӾHIdVM%+[* пE>t:<tV<gX(4KH:^]:/)#V6?aAq/o<E !, y5fjylR+ y= @gHGʛzDA%Q@}ZVD(.[l[l|T@cҕe #%df$Yÿ^";5Bg]h2yAHd8ZZk˷ӾI5@:8~338!`~W7PB,X{.\rx>2 BE ڛ ̉GnBx?^k8[$ wk%klǦgG>2MF&u=?ʦ U'EٍΞy3Z?d?70FL+d>-4<_FEb2'Hyv/ Br5X8|I~'/^ Lv䥅Ǻ cU[?'ڏ>Kh7QΑ6 Kc(gi ` _nVR}UGqɨЕJI8WLEZ_"ZD}!r{Gʒ,&fv(bG@6e%oyʓV'N~e9p~2+~_2{r^fH*J^TGV'Ys* )"&d=(,[h?J ȝbjm52دEgZk!L_owڄ0̓"˥ѩؑ?~*Yןt.A2TzOr6pUJ/E_4@Z W=ăA+hRS h];P{ݒ;ߌY'w @D:ed$U$mRͯ|4}QZ?5eØOi^2IQw}>YƇⲭK`h|"/k++I2 K4D60]BiVmҋq9,i@c+^_ ram0 "L;/f$m'VZ-qc~Rl@<6/Wn$ TD(bG:)VmOvXE}7ڳyT(wRjzdo#|ӑ|9䃓2LJy̎$L,Q z H5>kxUWP9sX8 @#7_%l1gu0 >aYG#>ɝ~t $;(KꀾX"h}nBب:cUznv5N7P_nK15ŝ4=8o\RL3(O㤛Te!99HyX!]5d jQE{Y2SwϟHcwB?Y 5)0hy_bf3?`;`Szbox+N@Χ'h4ǂ@|[8f|Ta *Fb-Mt[6'k( W0hnpV\jEpN? ܐ4O[?5pW4׷*KqW`#΄a4HpOX} hܧsp}*7cTo5i~o*X$2C挲v1v /7VѫF$0uM~ŵ Bp_wmo,|B6~C;hj 7qPʰl,KtEOu(RLT( <aS!}Y, XRݳbP>ܤV0Ύ4O}h*;*R$P%$æ4fȲr/-^q:haؑ&$0dV-HAcx13RU5mFLCU̒%}-ŘAFuH$q|0Ȇ Tqf)k'q_$"w{aLlmONPR| }1뤜Q5~ޔY*:nR_*>֞ㆵ^ KHwW|4~>y4yQ:Edʺ<ז1׳B) ƌ~՛29r}>jc~dRx 621vb'[MuAp> @NF 8e6nBI_vP8]vgD|]^[LV)uÈxtZKqNeNM(F'd٠?GO</) @'لHQɽTz|[m2ګ:9%\'X_@WiQ Tc=I)ůqSw~-JQ%cV=wnBe{`?t)'2J16V1vu[,ښ#!mibdC%{iÂNSL _~"wBɾ?pNO?hT3F:$!{?2U7:yُ7GVv5a_VyXHaQ C_h E 4܂bh _h}HhoU^^X2c|ı?: 7յ/b„m|_%AR:<w#v{"]ܑ>5l)%?rin*_ }aio)GHޥ!kU\\@iBXOK~jOH g4oY S! eyN+U:=迳.Ɨ<ˏub>Oʲsu ~;ԫǦ۷sY ^[uޟ9=8q4/\V ʦTۜd1,>KhWۜonl9HVdXŷI#H{n!Ui qWɀuT>1:i5{qRfD"OHjD L'} M:He`%5V=5BǤgU.\"Bm3,(=17W7%Gr=sZd㬪j$̊l9@j][ MC]󣎴9Ŵ$9l?b~N%˛`H4X^98pIӭ 7rF]ϨzKv<\Crww(&TVNd>Z;RU")ldxAzYߊ[I|Ư) P*'+E%]|mE)MMˮ&'e0=d.o;? P+GګNH´l̔1m -!@m)ݳ'g5 i$dzwY&|N8_.i80smYqKeS`ɉX/_;;}(.28 Cְ_W/ψY=IS$ObJ #6ƫ5:8AD=-xC=ߣH`WyV|ΙP)/p;R> `_&;;0\vp<:) sO{n5z.:}Td ]jƀEkKX^Y-kq,qlnR3R)urӸXwz]<"^ xp erF~bGw tC|Yee#CXh1'z&^M|}T} )q[_ =x*\L6[UZ"R`k_au3$NL\AEq|ma]HH:oG( 9^@J =[V-BÙ̙pP ŬlPm$Z &-`/ 3L餥_8X[zh}BB@%moyǥ% ShA˹PPYO>(=墚a5q^!9]#"96flK_HGDuO^QaCΩ^"L[s\DB7n-$fc[s '^&#޻zksH~oI| ;`HOy+f5Ժ&-^5m0l| oJaVȦ{Ѿ!DZ_I E^BZÛHD.C$4,[N/$hIT.C 59<3Z@3pk ai=~QLZHM7 SUmkJE38<ڊsm%z Lϥxkl7zo/Kϒ=a nKG om)zFRA+)0a׍GJWc#pK?YT5 T=2,t|*P4~>ڗ B2wbeLlˇG`D0BGr$YCGJݠ Qi^L_7;D$˰ ~aTF/U-R?;:@ h\9J)Sɚb!Eb}^`zM_L~-`("a 9W"\Ri4xݓa@ [~~!==PUc+rX#Z`I!26*7/1ACA:Hl mdҷQ9`w @ږT9zem>.-C1+)~ [ɴAV؍>D~l]# >;&Sts>n0Be'ׯKB5 !vsV\[Ï=/%sj$ҾۓX2wV:D#WwN wһ\;'"eoiYdR}i9f&u,jkd=1gF-0rDejI1*+UJ;I@o6Jy6%5})q>IHkϞ/g{oTh]3wUrM~քg&K܈!6΋4Q_uShiDj&N+޼6m% >o7'\Q xaBTMyԁy{[7i03  MvH$KI> 'QOIw}JM}G"O҅? +7/%OI$Ԕ欝N -="/ 2ŻY.v;Bv3Oapp@MD`8 מeO;NȒh|h 6+!AI7ُ Ho7/nsC bV K1]ٟ1SU83`TNdSʌi+$pdn)fƻ?C*bXWlQmUb%J?&?2s|I :gqm]W}p][V8TwO~r@[Au]jB%'jUP q-f_Ƥe[Wr7= ?YZc.5reY'p-l\vɣ޶ݺa=Å^?e,O o  `ԨЍ&uNH,B$0?)K@A6 v*&@ z`W$ Ϲ.qQ̿~SC$T3kGJ~0P=߅e}@ȌO{2< %, V#ΟWY7iqG*%g^"a[smo4ryNdNzOX}ԯ诠\ݡ<.sU9SD Eq`2L®U?*7qz5*skrj^UVO{/䟻+ &ϋM~7z`rikh+rS%**L|r, 0!j-oq:;TU>~pQϟmh9 _nʣW 6hcAs""%i9Nbߧ<لc"ڳv1NGvI=CGN6*Mبhv_ڶfuYx7K~ŴSu X4%Aq?վfR5@,2/p)0:"&!$oB 4yZJ8x-lu[(q|bM;6L\߽2\++d[5bj;;'#=,|U35h;M psZehG=_" ^P&/8,ȱTg|ska^~zP$U'D„؛}>`|2Д9S08Bk*e.sPN,{Eכ*dxsU5@3G6! *j^(ie)]( %oil]pRtr`L}2vo eΨNHI>XTgod  ?J 2˄*vن$d7ٛsB^?21f )9؜nQ/ 'cT_CvhkHMhxtE9J,?prx1'V1 RGGm*wћGB S,{K/] }Fm|VLjwGL#ߏ0πI  :B=}-]ZTv例P^4}j+./D;}lefbhtyaq"$9Luxm[ v"EfWG[˝wBFpΒoe'D g,&]~wXo_M.^}XY4-+׃һ$qH'9Te}Pʼno`Q6~@ LG>t@1^,4LLxUz_ѯr1ށv '[̠?Ƿ R_qRYZZoMI0ńUzSwXsS.A)ܑ%ԙ-zT(DU "enFFiKUM,c%ÒTҳx]75_KAu~1˯+?+Fj6#cx{+k=%>0@cXD ~|~( *^LS AQ ϓ()iuCwrĘWWmr3OI$+;ʳ5u>;lEl]Cb@=yU>n߫s{QOmS_VCpbSƣ;yLQ"FujrQGev}1+w _`}R~^=#K˛vq^;ׯ2T%VnTDȬ!ţ$xq$UзCp_Ljubhd1ȿ &vjc;>v) mS ͅH'`㯛C1e5v肥 oTdC'5<L8ɠCwh길~_DْhAP]%ùnzj0viynbieӴ9C.4L3*=6%7/\j~~s.O%ʟ\ȦzcuWSCW& $G%-iSLSJV?{SP~iԈa:Q_tC縿eЋ䚮H1SZ솉 I&4H">K5`8 ]n,&x*׽ >AWZK[XD2g-voO# jm%{|"YFd:@ʵLRn}y~1x'^PΌrO_LʘE͗xsO/LڑpNl?QG67bi ٳ0bvdKz9zǶKo ya 2LcnP[XWL"<x-&?4P11,ؠvË gF~胥Նaabw⊨$(دY_jEDwqUK~r HGeyHN$YmnL%<2Lsa¿ #6e!8ώNr3vV0 0 QY)5lPJ~RBŒA1E%Nwe\[G|x0ڸ@6eY972/am+FG(+Τ 2X|y #FZ+\Tn'zayLFZvF\gE\b C WaS3i0X&0SxL*Dwyd` aW罣)a6-}GA`hMM< kPsf߉ XR yH|]M'{#&W]!@0Z:s=/hX VÎ ֔R3O.tWJ?CuiAgc.pBۨd"{7Yu胈M+G|9BG?R{W;U '(Hx|8*H{vw{EzQ&%c]^R)sj.* i# `ƍvrqr^QM}o ,xg {gCBiuؑ[8joR-XA wWX쀿Q`\fsN6Mi BtHi׎?ۓ諪A :sn@ɼؒǍ^[VuMd*c@D}}e@CYQ” $b, wKE2cX*?l 5v.mdS  ήP$$'gqD^>dy "~_X`kv3mi_,P]BoXd)@& [GF<τ~ K.{uX8w~1c P$,/} ;|Qb7ƘvQ8Y%%⫘V^< LeZ9{ک5@dʰ24Q<#Mdh!#RTǃoW)> MH6im+_5JKt #?fꏽjOIJNv xt1GVyQv7 #dAK[+-cxum)oX+9vNg$ kc[ yf*Rs7~olr[{I'**ck"|Nrz)×7M8mEd q+YDHߎ:< _K &k|o.XL`t9Xtӡ/ P> ?zUB@Bֿ³]BB-_:^G#d,^= ^X!nz4x@7?8g_קݸ({AF 2E-P?:NEWRGhWÇKbn㻌S(iΏAI#,e T(F]z'N0PLf^5pWPMwsݦs 6bU/kԨ(ky_"{joЭq#봣p_DaUB-A'UMs76"٪[&y x+g\C7XtS,s$&K=p"qNߦJ.$-ƘRdZR%: id9O)!9ʵxĴ"[N\t=^Zm}U)%|ۚN!c挆75.v!xb8vU}k|nlɫ505 BݙIaCWx~?ӡ'H+ȺbPu܊bnKK?SRGK\P4^popG^#G0@ʓ{0D{bx2ф=Yb{PwYોEE#-0E %]+V^I*_آdzEZ 4/׮ y.3IԑC."٩sNxdm%lY 9פֿi:mBS\xFg8uԐ9%+LQ}Y&?-2tY(ZŮ&v!{RDzVC\'^!(f T$isN81pOA~_l:RU\D0bAP3$CQW wHDVpv^#2/j\jrn.cTzT.GyM*,Jk@bkM$i뽎%F_>·B}RDqoO5Y >|{bjṿScL\†R/P6lR=H$jjC ÖLl5gԲ.U3GnR{2*L!}.*Mx9OO5Jۮ5Փz&-tIW|Ls67h ^|[ [?*T `FkՄuOr]ҕ ajοd2mvTZ$T oynk_ z,B&{[r^cO uaڻ?ڵ59H_{-s`Y4zSZRJs1'|sD~P6R+`d+q^@$!FWF8!aoKã/_E1\3͓~bB,/W1bL۞PƠMsF-*̦Q΢&JWk;dc=b"UQ iLTl WTf8_0ee=nnK7fODrΧG功nwDwⷒ_ŅM<1ٷA!Ҏ3ZWL9Z\ܼ^JK(tk/)|$zH6Tӎ7h烊6!S6\^o+ۙ87bKcÔ߾0 ,3pA$J=vV7^5Ľz ʦV]"ijlx7>̝UU:28>&û/gΖif([l(~^:!c"2[ e&5$ڤS݆NBlNyOnrU4ZhQU+46Ꝼ^3T)*&|+1jO&{ 0慯%VvWvB4{w"#BRuXy>u"$Y[S[uad;OX}>(_.I໶+T՜640z/"¹vI4lC.Ɠȫ3O'!*'Irbզ+*=sFxde:C|Ӭlja)xDb4riȣ[-avA*[i5ZNo䔃2DYD[_T*dƍb{Ȟ]_#34 ,\ER~*>rd)XӶC=Sxj/dz5.5tW(hs(4I< he犆xێ#~ys>QYaC$ tz" o7dgh[HXQUBuM!FtMxìF$9O#,ZҝXHCl+|Qm.kA'BQŊAswqw$.P} 4lWm52mkÁHN4ծO\^W޿OEك[}`*o+2/fnj)|}wQ_yLeR듆w^iU(B<1 =% d_ۣ6՛qc/ Fo^8>5w iǝ-z~^CB78 >vGyu6 - 0n*947xX&}w 5QjLxo!!tw͐H&R{/22֣׏Y`4r"be? Qcf3 )KQ ˑ?Jj%GC@2{*YI̿ǣy a{zl tlՕk5t̉~'|Z1Mp:z4ҽ p7y-%yAF_e?בw׋-<=5囸ߦF @Hw`p/-os& `Y_i, IFLjoXK5)URDUIK萀'7s9.g$2;|=)g>Nv,~xitK?8EƦpZgz>&B7~AW߲q9 P3tsدbpb e[rT&a?^Lyؠ~M-M2mw҅0^BWq}~4E!IX[%_+` *dxvȇCI-=!eN4[T)ʴW nxݍ~v&o2;53%o6d㒙Q,[q]I7T,v2c>hխ)P6A˚O˷E;a*J [FfV]z4|Q$F$\Aå/rzZH)>J'`1!;yvoNuĘ)AE,`ԊcSo•ލLt/Y O@|v [xпv'hD.;xe`W)bCa|s8Wl,xbe>rJ*xf͋i_ o>[ 3xpo?)&(? BSSG}_Z/#M{9 F}67NQsK}׫Y 1(##(V/ }Cug1 [ ]ݺ&OF;ʄ<,<3X~\<kMkK'|&K̃r3Yc(7O{"n_>֒iBڿܧjJ 9 K*ZUbFxŰPU.7N>Jѣ NQm{Opخw1 j_؝muoFcs Tʛ>J-!pN)7.?ّӴA;u]I 7FڞܱpT_ mK̾GFF-z_ŒyLˊ1ibX #^J>=򸈁q[zY6HNCLA@cCk7rbU27)zQX2o{ 5g=pZ4մ`#'͏FG;|r٣?o71 dh<<CTbI'%u9V뛏F`C]YH¯$e=xQ(X]L#YX;E:)l}pełUɁs#)q+HrZPEHFRH^8-fc$WiV_h/I-|>~l <3MaZ=\k${ɫ#ie?Ti> u4z6#9tuo9'/F?<{ zB n U6XApqe7M,gzExVBX Dg\ė2.TI]&rJ0bOk,'x?]O!b[ؽTXAw|.Ƹ eyr]7z9 >:1[LZ,-#zѴMѺNAYmֹ\Lw] z]/}()T-?u]HV8lYz)<(0'zv?Y?G=kx͡6Ht3+s)9?qi'rnZ&:O]),Y!'R"6 `RDH(ݠׂ~*;1rA:riTpbͅ$/lUY7x"8)c1W!kiܵI`{U!'ej]Y"Jϼ}|]s81οTq+ iڇ'ws ǎU4khÝ50)_GJ?dH AT[/1kgL'L/JOfZIX M T_/bsPu'pg%#w{9{X~RWgӁ6ji!#~*}SM02$-x_OHK,6֡ E`W9z ?j3j~ vUf*ROi牽kChy wmAIfڤMި|Rkz $GmRv<*8W[WSc F>9A9,"Px~}^P ]5k{_ݸb Wd[U]wI `5І羁3B#DMb܅́'K*7Ʀi̇Pɫn[N}  >f( (>&wp@3b$'=B.MoT'Gވ"Re$f(Gt@l Ӹ7 K)gJM|JKp GV/+ٜ{e;b#zP%坠֕3c̕܏9uOS4%z偎kxYB@cJßDpcb{ |p7և˓̊ϫŲ ByKu8kYVNLJ}Fߌ#S)8kLTkgb7wYe3 0}BWB.Z,j`\h̤C#=SL_mXwXhC UjF)~ '{3PCޜ_M^q^P*p bv&_k+6qI<XUUj%ry/@A!A5]t$&i*~ΣTOt :nF&ZrRkWrfݧ)J@My ׼dVDhOl fwh.98tmbn㱼Rs))Qz@k*oI׆R/V?ekcRFe\܌j$2fJ4ޭ񣐞;%G\W!R__qmZ϶LY򃣑D8uﺷ~0z=$سo\^t0Ŧ8ΜkUPҳx^CZ\X Oɷx؜T{$qT%)\[ػi3j]VOϥWYJuQo`ӎ$y8ycPUDQj9xHU\ $blDswC%QKs_q^=rͰ S^{a[%aRɱrd4V}.//o "RiG7@i#< i7ڪU]"|+sX8J f7Y}QZUjzZ^o!-W7Z:W<-#pnAܫ" #c8PУc@%&V(.9n)!CIo8#F+Ѻ %$n2r6d}tg§<w 3ȏ3 7_a'4ٮ$BnEC "~Gb4D9%Kb]Sqf}. {e7+qMO=8aM{ݱߋ׵ iPuNż3/$f}v ʘ%J5uq5dcp?̚/yСLѯ(j#TB݌Ntze3nX7"l{5iX7f_~* ˞#* jwT_;r^r8=S9j PY_Pu0Бe8fu +QO,EdBI\lWܿ!sgJH-uܛB?^ht4KW!HZEmo¯E* jʾS QI oɎl_vpKxf=5(k&EQp{x Ⱥ=J5w~ΐj4 AUI" E&Q5?ZQQJsY w&ۼԒ%ҲSX)jh8Y@zš.I[پيmzSÙ.%&"ʇ H +?3ኯ=V"%pMsJ`Y٨ޑp,W]B&E?b3RAiHCJ*@|;tѫ 2\%Li|Vh%lc5Q&!y|^VT2LSfI6,-7(b5GrdGveCLY U֐l ڄQO᎑]&&{$p8#8_OJ- I[3oCLe{A_KˊvrEp@ԦZ+ʮSQ3Sx)Jbk]!|3M T.dEJŒ2`Cmr:&X=yDt?7cO<{/]݉;K=WǣJV`pC;`1$\?~ ]~G7o⠜)ecHEj;#$zaKD9r%\,\ q>7$w:Y+W4`"5W2T2:3pr&&g:%1 ~Dt3㏖MmNj;\8!H|ШKH,l?LO%3u o|}хCsnD29neoh̴dA])ۄNJAF# 5z\3Vv^MaH,.yNY<ܶk>yjldVQ ć?a.ܺO|6Q,6yxY<2aX*V)+ Exe IGZqL'Wɏt]2U%o^yLBő?mP9 g=9%17<7 z+q7:$+ LVBPAtoWN/H*^ b!$@̃>W t UCV]]_ES?B pYfyaj`cוc"݁^*a%d02c 2E{o-n,:ϥ6* Hxr꓅x/ oYI~_Y !^#.GYQԜ7Is,}) )y; Z8YJZwJN_/ ~~/"r yv=ϟUwm])S2oOlh=3#WBߏDuܻeDǗ 6E0[Z%d#FY"+0py,Iϟ+֚AW~;O\hMb4{PF[u&uBM'JK7+mo01g^0Ø J"m,eYK錬₋04gY7rӢ׿Yȑ;^,>蠔&[^pTlmy qhlw0kD_!4ig,w߯<_#i%XGg][ b |+k&}̰OMUKDs0qkѡ7s#uҬ>^ꪟffhp(iNH|H|ſr qE!w`%9￁R%(MF7T΍F3)Ῥy*/C^-ImdыfWVKQ nWV*Z6q!A2F@WS=::ܫZ%`#W^IJ?;7wW G ˫0,pOLxB}V*lm4n:oF{W/~dۆEc_p7a&Pst}a۰XoE107lv_}ރ-a,8x`>Ȇoy6J]rt#=s%e, d/Mp~ݝ-XUJ,Q sUFs,1G H,b5 \U"kRf&B$"|PDvգ:]g_t <4!%<)ğ@7fWڤC%:.pjQ7 yYVqY?g≪]Xx'#(+m66/]:Lzy&v# E˻φ+_wbPӍ$tJ2{:Rc,\Ui肔QƯOL(Ń Wr0A %? >nrF^RO8+w^&aj=q'gc%/ྲྀk7`='|2W#Njz2 II6Rq|VڶA>>,_/T|yZ lO(HG#/h)WLaU{Yj7x0v^EviWPIckqd6dw-#Y# J4 '/?].z%{YxsA7q>')dئ+H^#*G S. K"{K>G l/x};zFvNRs6pt)X/qB 9ZCfĚLHbxNKu# Jk7KEq4q%n^:Á!mm%e V!RCmeP$ WP#r]ŒTݯyձw}:Te;Kle4<3̊SLE1C{MQD.+lװG '(^zcRJW춱 P 2]tA,@<,z=ńlBx2'!vٝ_7& *v=djDe{j]o߱hNeZy8(}'bG{4QAgXk#FΣ-',^wè1Yv| T*eYwM68~v'C|T1;_7W.%3r+_B˶CHz_iȧ @g !p1c-RbU!H>w|6ʀ1"F6<(ȵcβ(hsWv CmC;2ށd*"n{>ao=+iQB~>.&RYX1]l[ U+,R} *&0P&'X:|E7CSit7JaʕЧ8VP% Yop)mB{@%A_,׸64^Nf[^[!4(l唭ubPJ\;݆@c!9[|)!>:쯡)A93);Tj4NfGXD SڱvF8'g4=| O=r Q!躑jɰ9WGר=.i g&9?U+7o#H :Yyt7,l+$i<}|gVAKqYxq S$)I/oN@ hAY)&,:a0KE[j)V)Lm*,P'T-牀"dd}~ -& г7QxR?D<6j-xǃy'1X8熉hH3PY %ܠs 3}O<x+^+zWFTX>rC:̗*z.R$ynYT#:XmǠDzZu)@yLaG^%ڈnPi/txN-g}ǒwMP, ?qt[UiPw"!^M+gcb)[җ,8IvYfG;h2,%B8(Ԩ)! t"7e)7jMtsyQ_,I&7kBxղG(Ac5ݪ%m]Yb¨N٩B816m:*œP(P}wշf%Rbw`S;eSd/&.TSͤX},L;|tŤ 4 ka8WJ>c>:2UObxZCpT쭦{KUIv01Ȓm<^/3Cv~fNcxn#\'b"le+at>.w Q(d 9u㌕Ip`yYވ+1+Ss3 [6d}3+9bcNK ',E>&'./On`A/^AOH!GX76m;Jj3 O1};pd"X;oTgSg}Pl~nh?/C<܇/I^6)[vB]nG ec3)Fg4z_|W[{'p-BE*PGAyjT@։F}^K\ͯY_,\(_PØ"/Ͼc%9{`3{qiKU8: CV0R0&ku Sj!Wt~f@2lls˷ct?t3I+(p0߀ :$k4}sB"&0 &\geW`Rz3xT/Z=rJ~9tk=w1_Ԃ?n"p"l]u7b*$LwGdB6xrk~ŮD+mR燘Ҝɬg/~'V7;c:`]Vq8%WqJR&غĕ燡N,6w0_Vu@W`Sh{zIXxL~ENɋⷞ[h7*S7@\ڋ.E %_;[T ǑTz{/ͣXN JͽYku8Ij!IMc۸sN}!C}eFw|0%2 = K/˖8< 缎0BY_fJ%])}dGZ-RY-[kP@/ Fl>y\]TR<) '{q /VS[v@E= %9̎@ _?xV3eTOtWX%tT:_ZZ7!PgkRl@HPƭ~$q*iel8#LGf86x )8'Jf7 4@z ͣT`wkU %I齢ٰםo?` 1lP!so&w>ª8+;}Ï0­1]3gO]BPҁ~Ñ ]MK_ROV H$X l_,O*9\hb'F5}[uٛcP`JG;*Z{(#OQ,ꡒ 9ޠD-'Y1o/j,5Su{ΞF)u 6҅IȠ{"w]p|^HV|>@_,YgG ^3=)n2 PU.z$bZ a&RƤ3yd'/isȭIqn(y71T#36 3dc? oQ<%o"bՏ"Е '$J[УlHzǨf_XںJ bkद-s1әl@G5`]Kq!uGEֻD^T@@x~`=@ gB3d{lɼ7ˆ{Vz8h1dN7>9åO8 eo)bvs~+krfcDm k݊.!]y0 NQ2&z=XY6 F˷*7@#_PGbޖ5 _c$ߕK]%X,Ax?#Ş%qE/;ccEK7"w0r\}-ɿ*T!`R!: oD#I)FHx1U3x*YOuEsR;oLP#gLq>^K-trYz2P>rRhI`q+Jy͗Y̬'1!lj~xϾV^ސc9'HzasԜ:;?rbhv`!: ʼR!f}%97}bcW}1z[ͼ ͔&sZ_&/&b_ l&~&}m$0C'Z4 -q=(V0/K~( ={ i:jQ輧z1g HQ6OC5Ƿ)"aih0dCg$!T̜QKgX]!ڤ9qs}.vcu?ۙW'6 zp Mvw%3G?4y{`4#Ln\[U0W>̫6S`:k!߰o޽Rzv|cTM]5Mn_mKL%Sּ jl\ CW!%dnElc%5`Za1qr&vP>KF["a"b32%mj}ߟ_2* cU}I(&acka.$ #`2dg+T1>6C8Ͽ!G~ YYKCn؜W|B:4:o7\Z'8U6kIA)k|֗E{~-p v$6^6y9Us5PbT`J[zr1"yvdǕߵ*LJjBiOѫ0po}9P:%j@ \.YU,$f$_,uXڋHSM#hGoVM/kbe1Sx)XXXτ M4E=O=e>@CwJ]tqT(X8f3C;P׶2".pBݽeW,kD[L۽quo!qY<ٸ9:hЉlF?V goJwB~iR8FH,f E*:'~kJΊxoA0v} N c;N>βu+ M -D,ߧn;V=/g?ZZC$ЈώHc-Ӟ]ֱW]>i N8N_:G}sf`p/nhܯ aF\8oM K0J#$y8#bJ}~PF| C.Km Y!u2 ] Zơ&"\6%(f67$PiAog`E5S@gv١1,=`>9=q?G}EP,%/7(6-SK R~Af?aKDoSl} PSqmo'Rje/gGn)BlO72>9n[ij_u.n..98J:'B.h1V违UHAXI!H(t*aF>e)k'ok[X b%;UcFlIP;imH a]޿%_XWh|vfw:Ý //t#\(5&sW@5 'mKnA-s TH`Ppx3N#Lk_:92?ȃK6zN&"/ +4'nJ4ؠ' h)—TJH&Bz%?+sKzaǏ{>M/.vϱl_o/N MY{*A >AZoh'E۝m60\E#[0WgaS2.^mpy"{ԼMrZRwKC/d.5 !΋/^#AC#?r ˜?N} Hz`Q'B/^ >3 J;Ѿ!c(?1vzFɕ;,UK JცEΡR׌zJiֳv~UA v`m>+.zyI?6%'P&I Τ>>ɂ-5'u)Rlma-BH*d 9*-/z<0Vr|a&o+WoE&<+|': hI]a|7Պcϯ˾N~0Eg03T~ ]OLeX)*PM59\WZuK`^*zȖ `o94x̲sQ`2;U+4BbepUKP}_׈aRTnE[!OCwnKhǗrb}.t'(LS?@SjBp(646@l+ⒶsVǀ!=ZZ n)صpln  @CCϤ<1L F< '7ϔR)L>]#`/)ͅZVNTK-GRP@U\,(<` p&_"p,pZ'WVu!1dism~Bobya!D9u:ϧ&E-cmx~zmpJ{#2 _{EYolWd5Yřᗟ7мE'{3e'+jKߣA` PیoהRF3fu`S|DS%F,֡]r9Ұe=nƄd&D$9z%o9Ö 6+: _ 3zf3@wtcRF~}wwC3GU'111B 4 ]ksh2L&üsYPܦٕU oOڍeͣ*~Ku\eDC[T8.Q5Lztڰ$N`zipyeC((-ժUj%y V8 (yU@# U;babG7 h|cai-*sBѾNKNY BOݭ{f? aX)/:k39/"RAt]Ep3qJlJ4,"|T:WXֹ$(b( +1jl.b|G $x?8G Ȧ?zLY zT&ݍ;^&;q9i7 dtTHaGR?d_~صٟN*/Ogk=T)ƿfUn%LD&O~刔=Ű ߰RRryeN뚵=]o񼚁  v~^>g׫1z5qepΫK<1CAl~ϟhح1;;PO% {g,k,1bYT>{lpma+峟|P~^rMa%jI>Ƹ_$"G~5Q>ZFײUNDit*uy_v{rɳ }b^ꛐ]`)wYF2" ?j݉*h++udbe6ÔF~D㯊 25ڪM ߐĨ$ٿX`ЈyPo4=-:-ey2(G00_ rYpӤ}eõ-IDQ{}uNQ V[a^wl LYx!JbC@Z$ɰ*[sa5T&ԩjYqS׏-c7D0(Hz,f:Sf%M-zB’/ 2뺑czp}ڻ̀A$}t'0b7 #v]N^YY,zU ,.FQΘP5L@N[9c1?e𑊤.CrqWDXޑn""7\7 x <ۂ׾5q?AƘD8y-HU I%e l(lgG}=>)}Az:Eb{T;`;8tT.7LJ-sڛɮ<ՔAaj) +aA_b%1~p@5;N9cq  1$Y2I [ärEl[U>;k$sК1fxF1 2;5v`]k>ɝ[^b9,3x& 8;eI LUӡ-=aす;C\(okR-]gNDXU2'~-jhei~1~%f.S'Yv]QK] 1$CbXl&YzC=F+zOFBٛ"-)=@)PA0+~y=0 ..M]X[ BSS~R_I|#PԿ Z lSOz_ۺCu3fMTt*^ ýud֏_ lP ϔ&q|J]Req&¾S&OG+YuH9 ~2y~]#Ⳏ5%mΐPY쨞iV g'z |DyV45h+;r5#gLÔ-KĆw0H)R1,tS3bcy9،ϏYX,TZL;qx5K5 @i凤)~M1$}F~]Vƃ]HVo3{( ̆Lx!8'N E 4m4^CV~K =UDZ+?ĠC~%t1F&ȀU q}:ko^ ̝eY+O nY{oPiTaGa\xsXRS$Qhn9 L.u?K@(W;DjDj>Qyx.]hrTM{QD-_HY*aNZ0:!3{qM\TV& _ ɬKC+o 4XKt/h3e;(YIg/Ze5!|sNan3O!(ZΌod>4>C5x%5C#\m?klVK"$d| rUb̖Ce? 5a_+SD7R Yb\ Fk"㹳tsQ'8 boup\Oto7ws۶) ɛ ,2#xel pmp0Cnw!ASܸ׺ OsW=i2XlTdM9z+|,'xxǤF|!Ѵ.vFص6z`̶%+aN㍐\ c؜y½W0?;qg? ;oA2067\c#۫;0mWuU~G/*'kngꭰ`ڤO7tijҩ[Im1-96&eH10"B%^O:E=dЈ}#];BU_UB-Ft1n R헲_^ !MVO~o6ǿ]&d>&j7p>fT%[ ig"GO4u%Xߪ}X9f;iɝ@mW40E!A{/KG'. kY |RYxJ)zUm}x@t *DҳfA i[md%zb[sy!|}@ˠJC\?zc6ﲐ ;*ܸtQXy S!k$^ɋ$f~pK9s5J":#c/IF$pN_K/#aPf)eۣ[dvĄfEЎu9ߢ ŷn Aը8w8cJO wv=ijޥd }{H5rÜ@gڼ*,_g*D!T寶3"2f-X 4CF xUa%h랟k(Pe#X7qt>F9g8$5kAs#ZmŇTWZgn^׸Qvq5{9W k.. zd55SKUҕ_<}KYvb׆=Aue҆夂|m> a&viy>a Kgt0\R!bڢ.Se_5.3$py.әpɖ.>X{ )'usz{nuZ+Z69Oj~z<;>35,XnDW =:/c5̌MVzkhupQi .*{~˘sQS'={D;)5vӍ捗V8b-s!Tpo_l6}sK-CTl;&+; >DEWcB2my_=Q@sr͏f{|tA sG!Pzx~KFE75)wo7'jH=>B2,7 k0 lxraO`!Wy2n vЃ4 Zvog0He[T]Y/jฬ u9.ΆpVHr^B K m(WPgOp컭4BSUeeYNAfyWsNiy{m# X9>)v_F*#=mL#Y黶@}'Vӌ &4H[*[n.gJ)Xo}jEfo!߫l,UGɈń՝S,Ɔs3 $1@"{4~CRȜ<=iv+o!_%ata"Z>`i/ Hpm0beAD[2ȌcV&B+2&!F@9 Y6w bz؏mՀ Qۮ:C>%vꍴF9f#t 7z5C8<>9ga%o߻pÃD4MKN1U ٍ y> Z)"]||]A}26rmI:d2,i|}JIfԭfƋFAI1إa@Utb|`9&KSع`};n XVւj>LhME9  DfDȃ@Sw#&a;a`/18>~}K{~ꙛ tzS /mTk+c6tׁ'%v 4X.'7UrvP$&BJ&$2[ugSS>+0ʂ2`WA$Ce#.YN_?Ѻ9 Bx&p@hQ <0%r}ŏr,s1t +ZD^*(w:TQ7sSYe)k4~|qEh6j2.>9ql \HA$)cX>*G*a4t ?XgY'JB0܌\=òw+T( Cd хX'"zS-"@?/X>dqOp<Rşu 9v}S4s,S*ҋ.{kr ״oe &tkF ZIA7eɯ?єݿf;1h-xUC~,/~$ _QPX /6^Ws9ru_myu Gx%݆tzcm9TTܟzI9I|&bLGS@eR(2E%{嚦q|R%w{4GP"3rf3niqy|kdɮŧw= ͮpᐾPsTJKܬDWaς,`I"H;rF"[KVI3ݧgJJcF_2RtX[=N>黳;̩u9~Usu&:(H|5n@,8VŋjvK#7m7[$Ex:]ϼ^{ﱜ8 I}W8/ K¢c n,Yotbh+I} V1W vɤ[!a|j@ x?$Rwm7/v6K#G (tg>|y T0mG2w?ڌU13kް15l#J 0ׂU`nIomA_06SZ(AqL~O-'S.*Z|"OE60cJc@F߮m1!mKXyބ H:XueMʭph ύV&~z9DњGH~WkWPE> z>vA`A$ӂ<>Ž.t=(%yr5Z5.8ŕ< j@i>м#9i3yA%U gi2pA[@!>eutIw10@YLr%icVS1xܔ1Tz}.~O`u$:"zAc0g)2ڹPq߈ kP X^In94oRap壤^K٥E~Nn6{eïS4?D&::GcN}쫋׭:b8hH9I"X [df9Mwm1xG m/dBZ[QhXk;uΊvKM="a[fM۷~ȍt |WP kѬ]Rm%ܗ ]xhbmvVs~R84{oKobU1t9N7DCMoRp?<ȒJ`Z4cq~wЗ }vy%?'>L{}t1ŀ 8%UhdIQ_1/;73Y FZִ~&U:EK׽Kߕ4˂ kIu 1d̪SM') X>bY_~1m0$xs=C+{yh7}? jnAvi @>.wa6ћ}CsæM:3 vMKNA lAїE:zD>4;`j@Xu;ifU_#{1C/diV( p[lU]ǹC0K1NB]Ra [K~OQ 1"2lAڤakR YD'|b7Guݧ/S+}D|uc-وGUJO_E|e~YI#Ygi 6ڃynA7)e떢_"ƭ򿿷E 4|F9JκW,d']\6&X_L\v+қXHCel<|,! /iR2PEs+r?g'KPl~qʿbG/=Rwb CV/q$wTͷi,ڬ0ݕ q81OU_ Vf_Y囁 jPFP:ٯhD7&90aiBMqm%կo:[0%qxV~0b[+~m.QLI?Jin9ʤo7m[6 ƝK*RY-M ލ|;[Y~C #qV|LwW$T[*':]$Įsߙ7b"dh}YmE!q}!7iAaUI+]"[Gs78JǙ64{L͡*ͷā91!lWpV`5 ;yLT/$/~4@:{?6; N>_1>SWs]lVpCOrR4S$-CW:t9{|Ue) /N1M0>L3<]EO <|ԇv5ho :0)j E&DӚJ `@oɿ$>}?6'Fa>҅E"Fd7]oVYƺ_Of 56-{2:fz¢7zA=R.|{"qL\牡/,ە@ஔZQ8َR' t6~ A|ӓV d䣥s"R g! o G Rؕݥ ;4Y9Ly02UFiFVMh7˴^s_Pb __WPE/Ý*h1)0 Y}DzSHuqGֿ &NZZ:ԗf+J74H[K1i;y15ο.#o@'1UPM<zi߿hMJ 1ᒠbn,Ѷ=($u |:xGN'[*)vbHT p;;B?+3cGuǏk ܳ-Xj[pHWbkSsF)\߄v%DV_Fk8x\z`F[IvCKc_CxyxR0ḻIY"/4Zen~x Y XAj$rJF=eRQ{2{m2!9.𻟫O$[/q1`¡qن܇tfQ8MCc(Lr®LLDr^CI(ev 闖CdF՗c(umjJ7޾gAA2K?>»UoxЦnz%gv$_ZB]*eP7#?&@hZX2 n˰2<$)_>/tVoa)⪌΃xE'psP6T!3ey \'~tfFdלZ92x5H.4눔~? ! }O;rK̳{Xr(u`Xlιz ;'VnήC2jn^{\u?{ORgy${jru"@j9SCJ%glӫSZz{r&5VNBN+ S4y=(F]WXVt~{Y"yV&]#"* |Ibk( ó5hyǓ<#b ~,8.O(v` 6j(4Z뫯\ԡ,_̔ d\(2YL5}$$ȄR˳řf634;M='o>V343|@ߠV㒧CKU"LuJ!տՠB֋'hD/)~)x=،[y,xNTE%Q)]f-+(~S|oz;?Lh=L*ÛoB)$uxciFR+祈TnVfq7!Dr%yAX^T¿N h_a#rBi x(|y<:UKRiu^UuU]95e0v`dJqJ!RD7Q%wdS_ b}+5&XfߨZ 2F 1EBؖn'HX9dOeTH":~LLtձx6k)zufI_&D~RMg}BX*!+z\:Vr:06)$Dyy x$N=CMWe{lyOJbFz+kB`Ţ,lv:hj =,k-y~v$.)yPv#J/݇}Gf6jU;Zc.bMaՏtOFlyޕL[o{g(U-b~1pa0*za5 4R>nЮ6K{B`H&j$DžJr_O0%?10Q? KA*͋y/Jy^ n x%ov*aPF:LXЫ+sAfֱ0bw@\({']@T+ٹ.g ?tc&|M uRO6{.{Cŋ/Rz8WRО'H9iT`be͐78\nD]W-հcgLMxuWP_$7VOh,&V=y D4l. 㞧3޹,wFΆ1G߈y2- coCΞE۞[R"^"lSk|i^ ~DxC}($5OsC7rҝmH1 c.{]D8جc|Pr.,)Vhl0 ݐnǵ7Бſ;^0$!L\Ehr9 r"v\z{uf]j(/EWqO#?!Ε[y楪Tߑ@լ˩!@=D.~;[>}>enKp'(̼>`(;f拰EF{C AKAi@)oJM U-ROAZxyMyhn<ۈb /3rR=54]dƣ~zO,9n^mSNylIrᩏnPD*K9u?NP".4k=!o/~mb( *$@Ƴ׊>!L`H] MDKG?.L MUyV5O~ԏLf)O}t uNn)N .h<[@.*u { raΓM^}lrmWad :d'O,a(҉өMC?0 mL>(m%c` 3EȔK i UEmw!Bv?~Vw1|XB;2S9}_@,8*t6dNzc?lѽpSU2&_uO=3h_k7{ hv/4~͸<[?5ԣ| 4u@jӗ7ͱn>5|eG**븳⊜%xՆ)^3EĐ,T)!jFNsZ;ܮYye8!%6߷܍]fLOx"~>sz*,9ރi?rTrLǟHX8 4#XN$]R錔L>\ ^1ʻN5bq37aG,D0y*{v- Mx ZW~h SNիy|!cpP~8Xҝ77k](Xt f=FQW|VS ޼rUq(y,*y-c(YQQk߿^W  J5,t۬ A5E#zlgkVEh,&m~@!-غ}=籘6iǁ ^*"Ҳk! f@$o ~ڒ1SR}۞m~ƪ( yN~2סc*~Ć֛0.ٵЌط[w=\pc,$mya}>Ʈ $ ;,ʩT9nx=lݘ(c}8G_Q <_$)BQ)6%ޕJtҧD쨥-+h‡C䘩)IҘկ+zxvX#wDEmA!NgB^mq:M{+zr U"BbQK] ]mb>^$ n27;Orq+GoH^|{%K˗g=LdOQkJԻWEJ=vW!8Wws8$4dYj,QIo6Yz<8SomM=PSm!`7#Lb'Imw_@ޥi!I{}<5V0ERO`PwF8^Zr8wzNk?zb/F0/p}kt]BPq2TOZ&^gb۽%r$:sޞ4><"{<#hNe8enjF'Tx E!630[ْ1Ե@ngȾZsc|v[z!:M`-n$r] y !B~'cPG*J]EXũꂗrP0 )gmMv2^:ap ;hə|I8 =P?3E.r5ż+*4(; ߀n i&*(*qC!IAc/=CPw#UlZocz(]U y_ĄO헜 wi=}{2? ǣݤljn 9&| %G^YȽƓ* GOJ:*'}S?#@5 J'_ ]P5/Jqԧ,(n7(ߙEv27gjh @xt>7 (0QI2\Ko"氿î5Nwyz7?ze:ݿZ rkE{(1W,[rSZ{Û~lu_]sQ>zsț $>lu4du0pk܍>ϭ;u Pr{cD Z ~Xأq=edl7-Z,P54[z(+Vٱ#ܑ-I"~n[\\$8)hp}oɴ12q2U _ʗt4%Ky%9K|7,} YODn. ܽ9]QO]r5ljSij&%iq ,Sw(=2Β%T8?";}航|VYJ 4.2e@R^\b:3_MGCɮ6͇gʍ N{q'˅X*X'XxZSG(e2N >rn$!0ݧLU12dtv-1̕}\2Gf1oAaL|fULk#Z/]_>WO;A'=QqNWooqo=okDhY/|ܳ`(SNZUQQgcdr7]^XT4}y1McMEe.QB4WLWM!Y}\R]{H1:L (8*yyobtz8.2 -S\ij* 5EZgDu|֨9qcSR\nZczg\!1$1:eAikMF2W \Pͭ7޹)&6|c !^2w£6Vac'R^ok?5٨P ab$~0Fh+jYnZJE/UꝤ?ԯu?myfF'}&WKHyJ^Uzaۡ=xa`d,B-]5{9T/DzKܸonذ9Js~O@m!:2f*McFpko3Ef57]M窄}ɲnC3r'a :lMB,o.ݔ|x*/ycc|`2ޣJzJ_և̨ > }< XV^W@ߗ, $TX)0J刓lw8xJ#Xom1v%PuHZL6/FZ+@Mw9OsOJ&ElDϾЍ3)>)zH$59y 'F;KSQ!|Ulp,I(Pڶ$vTo>hc' &BU)n֖VMSl 1{Uo "m[+#J4 x]ڨGe9F+m>iF~V D^Ҭk' |⸋yv St ?kK|HK*ȼz"Q^=4{E RC=d5cK öWȏf. YURKF5kk4A geٹi3f]wQHݕ`>Q7nn`V>Z'mܚY}ϸ$u|ֲs-VeNt2WۑZ[ .T0o5操Cc*31#m>jE*c&D,Wiov o4{07x+̯_53ݚiMZ؁xߢ4O>ys0Wג4wޥ f \D"pw~NZEk˟O90K-1oI~玐.UyCآ9#Q-w!O4r­OH0Ɂ-v$9"#y TO4I[+l]F8ZBh~G*.aC#/p#O:ġ(”wD ]wD8.8sA=& HHEg"ADn[%l1s:iUŇ ]ddH/;cl[w@a8\4񂧅G(i?BM{W1t^ba .u]c{_yl5⍾D2umH?"F.y[kOû5Y~v,gLѥT8yPќ7 `(\#.]أQ >@v +qƴ9~q`fLmS]s;㬻xX`(톃 Su z@~;06SpXiB2:oӍTv91Tn}YZ<:&Jj˃k*tP&5H8t阽ηW,7ޖ5@⛦k6Qt l&pisY$y%Ac'ʗk_I\ n1xPL*{X'P% _lyXd¼T3Um|0]ƺ>H cV5!Uu y\.hEGp,=r±1X?:ĨR~t[8zf (VR۔rr ӓżaio%1hD(ٗHl-( Ar 'K%m,ɖh%wa02NoijP`M$G +Dd?kE9{{KÖjWGKg|^C"a7žrx>$]U V!>JY% ${z+-8Xʲ4MՔ$o$!}l<=L] 7 NQZF@Ks-]=QgxQI~%مc'$ħX$켣gd}'Zq )jM+| JB0d9\rö_8ˤ?\',gZH#v÷V tgCy>(JeCXcj<$ $x x =Hr%Ě ޑ1V峉 El: u+)<Ӊľ*J~'4ŶQ@?T:`B]meV~$1;\17 #2DŽ^W<? T8lo~NAW)I~h}c8ߩG* {it r:/-@b邀{ɢ ct͎,/H*tzBlTAB ,fY`X+N@܃j+Ɖ[\",MxJ|PNƐ8eΙ ~[>l|tpWbӀ G/Ȅ.NmbXܿHg4 H!w'۾uKnQK}*1ƍhІbKCP_PœSuu OF2{ rp.4/,,.ST1_$${Hon>GP?B@$1ԟ臍yɝ,Ut- nH{Gd4=v7kHr =0˛! <"ܺG9'oŰK6LItY>ANXϛ]ԯd>Iݽ1l0Ѳ㰞 !DL c3h16H2a +۴Ak5fr<4\rXU|eȷμ =LfG E=~ovk~[fi^tcܔ{% 1*F\@_ݻIޫѩ^ ϗpt*p)չ(!@7S_fGkmՊƬ^>+5QUENר'k ) ]x He+}Ӧ&aԶzz,S 1o8Z_&< u-^]$c5X+`3AIWY+ '7$dlIҙz7{|h>"N!mmYEwV,tqky&\_4k]>WOt'K2bqL60n$6tMqA7q8R3_QyR~Om 9mey:'`m_bYofɧ2Q>Q}|bzW|/ f``+VP#r/g΅;:HkyK;1 x&CUx,>yxM?Ö"ۼm{ܥ"f"@*q\1WDQ=f= >c"9K*x}и>%-șX>FήK,k1t(;pZZߔZ:A@^h(Wʓ8]"Unq>9㳴D13'"EBo.F] 4F2XPZ)I Y/{~H:y9.hRlu&aj0§+ 1JBqBHftKz{c@@a^ y"N7[dxwa#¥{b;Nl)R?=U׻#k^+AC h{ɴň9o9[$NJc#6-w_Smсe#PP|/,(gTn.~&.bw+KR>i7Ï|xT#7^xWՍ9*]>3q@g|&ְ@ľ|S`YCڂ(LD6iM3lI ;~Rä iz& ]AKS{(ehtT^L?!V}5x?J]!N;b\P{qw\E’=|ĽL`[P~CϬu3X&`zZ^ d1āճhx߫T2 -px,+wnIEOF07K9Um|cLqKkĢm!*n(2{`lV,:{}r"Ml v;2 叢$+euPn?%=հ̓$rNj99>(@2KBDO/[1ENøՈeZ)w P3lA>i=>tp0Wʵoؙ;2Oy" Fgh#9o&ʍLQCy]pٳ%5T++̙*8-Bq4d!K\3gsK2.$ M\7 ^#zBtW@>z nۧ(b(GP~Țq:]%W`{MjO" 4@`@&ֽt]SwA;hEGօuf5J5`u {Ho,6"V`aq I?s>qF8Pg>+/(l昇P,HDEAM_`cpZ,^ean;5ص [f(ބ Q )n|ۣz *s.&|vG|ȟ ̌ ֗6OxF:M\Sؒ%ovT|쒺ᔾwӗ@Ob쵩 Y(Ӳ^B쟔sAٞqtӮ8^{|ml̹ LY}9O>nL#覑 {E0uXq] Ʃ6fK3{I{\K K_ߡOvY-!˽wbÌp-LDv?juA`}z~mLoms+ Oj~"cL%^pwr EGz',Uސۍjq[\ bwjf$h VVe %+X\{~^mԌL#pfl;wgyS8aC‰9J@6Eb,N@&EpLZoFkB p-jQElVP L$=TM V>&ŌuV~NQ}1^RB\^KC,~j->#[;9zoz2^8a )?7۩Sz|"*{w;MUw3 0?)=IS̋~<8*ƛ#CR%|K`:T ̢zr ::x |vȄ@fw}s;Gl@H*yMU{a%WiÓYGpSgZ5[;ػV8-C3To_d29X%1y %BWd1lڪt724jo5 b1}Q#P" i"xb&(8 ͉9xfޜ+^/!;1/ؠD P|sPrq6r4?gޕ9>A{woͤCz:4`!m5(Y8:F@F6ܗ'= H^J`{O*?J?3!FY^YNKXO1 ]>g0r^O˹P&u&MY8g8^ 1}C1UoIlY(fs} ~U@p,w0J-'XXѻ)a'U?44JEMBz;M!9/8vID3|rXs{P6oncHTWC=&`ͱqpܛS>)ؔeY> ȧ:Ե^U6XO9)1z(c e9]SѨ|15b5h/{#pK70a6r¥B\^0Czn MFYZQT[qWt.Lc|U ǻKNL2\Dr6qxwl£M@# 4C#D<>W MvF M]R滽KCx{[J_ )??&aɆ %s늮Ba"HԢ,m|Z"\)=)CWB~@6)*[h2uéJM?'"5z#T> J@i\ ǦAq{ao7;?-K6_3ESIf?ݿVݿJ`o?SwmEO웫wdh,YݢcWY4SVY_{ݏ\e_m1(A#(KR W7oO./ғ+o'~& *! /Sc/Cl#Jξڄ4_`OMxs"8M_@lWF-1+!kxW&]~ Hb 3SoјB_ l?k`_ |++'5kE?4E#ߙ_ #_ :Cb3b/ m:e9Wٻso%lUEʬ*/~GIM?~Mҟ3d3qgxmy ;(+Kp2 |n@g(+|VIt6Fخ*Ys&bj+Oܾ뫯;q !ʧ4i0K,{k[OrSI=4,[D|åV(iF޿q"ָ̜;Z*6mЈo;6cwC^C$-=b&ce 7SNK7(d(4VȬ0{)W,R8.r =uQ! lVXL@o8HM)#%<i$g]mF#)e7EiydJUj,4~C[4Bȇ^ <ZMuGo/σ׳r\8Ьpyev9@D%![>xv25,W礽ߘ>;5.mCI-*n=IyǑ$h"lXM9EyqYT+լu:owqi,!n'1x) ^<9R q|j/o5ELtPM}v)kD8!ӯBucyRc~ړw|, w~?>gА,JKY-tS<<<[I+#Qƪ`WmPrp%}NK=.@ GWyP}sX7dkOMl3M0wGkQvcJ V更]4}*~[䪺FPͰޫvtW: pID2Dp.JinIV%Pl)Z֘7`޺LܪOZ0ovƘ$3>JF9Z9l$ .p2( Gre;"ޤ-Gq [F1bͫ-l,2K8ȧ0Q4[Vh;<dc 4(5JU}7ArwOP=s{a3tϲO[R'}c]W7)sIm<(Z, Ǟ JSD1&6P  w.l/n1 Hi>+[>> iu19)-wr`aSvcj%XtݙޤHa5Apiֳ])(DCH"9S/3<Ƒli-EF;bh}<鰸KUbw-t~3top`~X(]D=>f<^9LU{UT6$!4Cddɹ` |m|wDOŏ(G相E-Rny~!LOO*?2u2}e¹mP_-Fu 72 s8u8 ]߈޹zz"w[~znEsDL7GbCcΏj+&vzn a3*5zONQ¹.۷,X.ebXF":d\p{a?( [qEmG+wt䬳.6}~~{zCY|A^@$![0xp>%!7QӻIئElm|W Sl sTxV [!Cx,G˖IO^Xfa۩(k#{7X2.@C";;fzI'hz1 ;K4޲en=Ȏ~rI>K{k^!D`)'qn6\ˋzP Wpt">zc(wj~*!yv⍱9;bVJe-umc Co"a n)Nヴ;B\ax1u3R\S)=D<0;ˎOli/D $aJ$GZe!6 imW>/;˅'/f {~li#78o5Y8;Tͪ bC KDzVۼ)륱諰 /ceI:DęG1[Tep<-@a[e_H6B=\"{ Ը zd+6%n3^ v^Ooz&P]!|ʺKSM$;Z֡u2I5*]8Φg7}jd@qU c[‹NjHӘ$'?WB"-5a~t)Yץ='ebػ7 YŻ%gզ'ïwZ|8 + 1TFH/dHeK u=`7]gƌ.PL?̍}+](Y765sA;abTtߥsH8P.v jctо":=`.0%A"({8#.wJE/r^~dܴIH|o6q R֗B"eXT"=h=FI**-A7 xo-{s.;dJt#)Ru4Ye.`ehۊt¤VtG XevwTzz2Uk=}aGY%EBPh~ُqyQb ZT08?^j*B);k1;tgnm] \n&2ՂahXTZr5Ic Aw.PJ4mcѫƌ( DQS42և.ܥ+gK}$aZ,c޺ LOq;&ĢgIo.Q sZcQ#p)Qb1߶yڼxq٫(/G_=pI+o<7'JLM`q'@w2I hX ,]z#aV$+T|F3">Ö[ Եen ")W­GSĽB|+4g N(ڑF4}hOC"L-AY/qC,ކn^{ʾbZ6iwBqvà[sLr 5f>䩟}D蛲8pXh_K+"+Nll2kk;d!$ K<ɁL8~F[ \7~o^vDb̵yZ\x\3Yh =_՗>/~m8[Cx.)e=bY!PVjq,|H""T.t!g}έܫG0%+3xڛF6U6EM;PwxRđz U,;Z\?'MEbi!h1BlqWy}@+;<DZr(8pmi<щZn!жe>FbWa/M[h .&#mݝ*0a`ȋ6lӓ]z"۹^8${hnupٌ%TJ;pJ]nɦ9E.{$U+Cv-&I\t39e1l_T7v KE&nM5$2ףmCeh,UtC|&:ɜy=3u0ˇ5/(45eit|9DI p$~KM%,R{#\aƽ-lJ҉ao8Dńs$ŽIaWGM9<|T9u.M)6~N~wK͠E mک^i_LW~YMapw6G\Βӗ>$9bNU'è:܇RDB6 Kt?eQŦ1eT۾=L DW %D*Qb՛O6>iiFSk8H߼+<<#%A 8{ .~\ZPEe}<`j rM@[<ȦG! O954l$:)>MƗoLZY<h.7 N|}oFw ?P:Bc=tѝ8ƛ!uOCO8vO%a&/%@2jJ(ڇQXp“hXmaI3kI}NI}A9`}^B&9Gj>tӧ0 ^d=yͤ wDz9`΂7,z#pͱhG] h#*%=/]]^{Fa)x69'/ɷ y >5B1ӭa;Ehy||w FƇRY7Y7(d2<. [NSh UA:_Gw]8`/?IrjߙWXC$ cR߃8~%^܂ 2Y(-6~y2uMn'"G4,% y D [G^&79>H\!-9$u/G92ϫ#g J@s&lLL]rXJN*[arFR[^%QzGɈ;b~x)RGHnn\9¨HޥX"DƞJ!QSjr[ہy{e.]Z'$wv`rL; l_C g)rb.@ ܰ61t\CdsUjcHu h^L-78ØXyŞuuǩzia_"@I` (+ %9'I`ə_f-vft9$͛eۄT>STN/?(WRD~x{}8|)7#E&ѣcuy|,cugC FIR#Z&Bk}׸@A7g-HZq$-( ^e!ǜGfGk+Du0eHWhD[\0ޮd̖Z9bhzMHKF`g D 0@2zî+‚#$8<7a AO>ٜ oV2T;n]:<寖Y^!1%-%3.(ڽ|'3""D"7LsY$+#\cɐSIE]%X"B/r?ަBg`|`[#U'1W"iKl%(8c%qfYSK_&;~~ìH6LzX}8WpO_7cs$~@TovWV,?u]Avجȓ푒͕Zr̜e!s(0 ]}Q_0"Oi+谚ӷ[&\U ? 1ս~?H;sjV -CbjIC%0Nl/#<Qs Ovyڸ4㣶&BdQ0릫\uTd$R3\nܮx`A5|Ʊguy>\#iqbēm%ZSyu* d|ںz2Kg Z% r-V|/3MK >Pct㕾9{!:q}X@;j&2T}7!}btc {iEO*^GFh!b4K+<اfMJҼP PmX)Vhf\Ө~Gϫ";ڪ} {$V`^ѫ}:5) O2 w*pV=ų;P! RKw սi8-\!*(ߒoi *,9i"kcﱔ2xxB*760NXW1l#,jݳgyG\/^C|3i~>2,MW~lUk-:oS&%'½:Ďw:h#<+.yc1|EJE~ 5Xiw&ҫ_t;T¦Sz=4DBU߶pD015'\j̋SgYɷbE7GKMm${cNK0_?'nGDXe*y=6_Kw6y Ppdŝwau1+vNs1'"Lle+ztfԅwWcdWwX9& '` ;ՠBwT[0@|oGz `,jqS9٤n=ב1؊ v)cPKcPVk*bhNOAc~Л,'<{ZBI34@ͯkDqjG5oF6 3 tkoq-Wc;䆜C.n[/vc]Ԑ^e{՜1x\&RPoѻmo^NG5dirq=Ο`PiິVѫQDClqDd+( -KPkinhݿ6$ _܏⿬2t!n #$V= HIQ7Y׺U > ڭ!c`_?'́RlQmX/=Wǥ?s+/aZr؈jz/Ƿ9~I}b`A]~(gلu HmC:߭Bgp72ҏ }ped\j־#)@ Sv5@!E##c>,9O7**SMPQ2|dݯgp[)uh}#-E I\Sq{g"A1h`4vwT欘͛<3U*-d뉶 [GOmE*`؎P>n룋Igf BiK>^[eOj_f;c^N[Čvt?;('~[kh;lU,pw6fw麿0L(--"СVCfcaE `~0i#t`5EDՆJ!:Jzy>zUB9э<7A\$,b[vUпiBlKDZ&E*WW9Bc>i,t3Xjq_J+ )P%l{ DJͯ4b2-K::%r+'%"ѝ*f/,ͬ}4{XU2z#+alRBcNόC6dM^() uqߗE˜AO.}:Am8z8wkJK yLk?MNGf ̃5 an$6{/zu:F>{=ۈ?+ ؇|0vw5bf9F򍬯C6.H'­2x^8Uן߱ A fڗɘk0gͲmD~ ޖ,e>kۅIYo($VgsݞԳxq`g'L=A*6ObnHžJ?]6_!#:ߞ; 6q+G]8n7"-[Ѝ֧@%dplz&|\. "w kvT΄1O )qhvX آ@NQ"WhD͂fY[:]zkm0__i9C)eƑ߅q 7[4j{,+?Ǝ i3 c dYRP6&mHY*:ۅ$D`䝚2D7K?Ɋnm^j)"vdO{kZc@( _0rwhGq. [t' \2T>/vtO7-@g(x=uX1n10Df>ݜak|yL?b@! k֮mT~d> ˘,>#Dz~?OyEi6/"x GK3._*l։5V e,K3mޯq~rmA ̅tzŕ7FR~==<,vHq\{7|V_xc|˳%$(ÅOzF84#P#)LqNvU:7hT>W(Y"+LM~V+N;F$fB?P#ɦ7cvs?(;Α!UV/\i`s`K˞ HRDH%ݑҿ Ok24sjc6v^8]ࠠ`QE|噀-1%W_|o莏Dk8KMrP+FG+X^!oM1C|-NK  W^lw0b|j&벿/7+F ]ӫU|և+: [z|ZG̷'DgK5x =/#~+"c}+˴G%ދ 𑫵I5ڸ3fY?NV&ٯKo@r,- PG-#KY2F7F"F5xKvCN|i(5B羙Ж # `z>A朴z) voKn_~gf0O1|Ԇy/$^dۥ夼".پ-ݫ1-Êx+pYg$$2(?G!|94u1$}~y>46+0#Y2ƴ)lV0R0WG+I< !x8J Aˉ^Y0TKCko_c7E\?ڲ9@I)dvҏw;֏!ICwh)s$|&oWUa=h>("VhcG)F p3i7 &`jfNeO,"L)d[җb1Tnbb2U/#ϰLKcʨ'S $%C 7|TU\T:HPd_(d.x #C v/]=c`q&I`"`ƺnPeDKG*ۧV#bES^Z&KҒ;C9W_ͽ7/Qܱ *zڙŻY=09M(4JF˴>y}֤vb2C vC{)RmCu3n";t,.i.ϰ { CikC0 J,$Mb@ZF7VdV$ƧO~1`<ޜ&+HJ11(|uI |nϣ uf6y}Q7 KtE\Vpq;7]"q^$n6ƾw]ݍb:]%a$9;'ޫ.EhNɲ@OZ>zF7ڳK t`$vhGXinH u(LP:p0>.( bcRI^: *NLfGYӍgf8Df4F,k~{;Ȱፗsz):7!\X(~u^/9-m6>.vr_j~>u+6 Yn1Mh4r9r7~) "n]ii~Dԛ͈Oϛ*9к>%ժ: *MAأB|.v'i]ل)%VfIM:8--צ ʤ7<8.VvF:j &'wQkasЕE;ӑ6kM43|p[ P o@(qo6G>dCN,.EgpOs=Ϫ3XtY:~oh]()U@DBi{=[-hL/K d/(ȯ>;ܡg.h+ n$?-^2]blCi I':Tݤ= [bGCN}2qbkIсdY_Ď %>I]Su2BM|zFtL^C_A%mA:?v&MgN l,)Ug#+PIEי=ɻ 0sw~C4!#e΂GwƩm.-%GXuQ\PIK{T{fYU%rJzt]LFs8O;O_B[id u:I*h0K6c rL [Ax&tU-[w:lPSu{#d{V tMnA.b[M8 ;Ñ<^yw~ezs1Gܧ&0lsfB0g0{_@wdE>?M/8Ք&/XaW:.z /8&dջqS^{2鵒`kLX #&cCɾww=R3 2Kwh-~?zXb)2\ʺ m᜞zxUv2 rpq=1;٪̶ZŒ43˨hbgiQۃ;>!Tvlu߲&Aȅx8m!L ~9xW~$9J^٫Lf0tzEmҀ dk )UBB2UŪաPc^Ӎ &Yͨdqd+ΒAHo=l ؠ~0Glʛ \wV Ó& KAtNf,D?c4ptVDf:XNR/){=8e@~6R0o_yqD?j<`LȲ$*ۜo_mW4X?biI4&??N*s!SMbHh>Cau. Bufx9R uV71 畮Wu u')/wE~ 5? Ϫ}ک7g0h;x>3cb+\ogX'4`/r.Rgoq~%+ҡ[* 0b8 OLDl2>]kwO_f:/-#V6ԪCihaWWĸEm+%=Uu&as`IJrTIeV u8c4/-񖱿[h`id_{&?"<#^(Qds۳C|&OT=2cug%~Ȁo4a;O_VNaEhtVFE&x./+J{qy}n ] Ӵ2tyѱ. @JքDY2oﳤ~xSI<^8ર=r%C^oנj ?yW)}ꀉKlzX73E`xUYšbB}nlXB\Y(#_1|uu`d,NORVU(`"7goEÿ${Uaay#&o/mZH׃_RظݏN8Qr=P@:OiECDZ .8jBr4oڄ(㭃"˥1ؑ?~*ןt!A2TҦL9F8.%˗ *ⳢS`bZT-2Vt]=nh,; f9cQ~Y2Y=IU-ia۳T+ &PiE58{_TLU֞lW^Y(?H{TK%r.InGMjew ' # 3 c_$:ոj^ƗEBbkd˶>#)$L/, 2?̓8_Ht b[I/z?y~4M3sY^. FN a΋{)V~p b|ܜ{;[0~8P%Mb'2jҭbAʂEWLB ['%jCyWn&ג1)!c}1bWY\a_Q z H5kyPP9sX8 @Gyt6G͸.J"60b2 ͢K5y|f4k];Ex5r3l/쐒ո\"asrhBب%cU}~ְfP!FXPHqlY\RL3ٞ*O婯PAs0UCޠfWdWMg S2> v䧫0Uj^3X%) ap|xe@'JǦ#nFv5''+bCܿ7IoA'cm"8+d[IEhR;gqXFo i.3CSvh4ٜ?rʱCv&UTBFzhٜ]̃n}Kg X0{ՌûL߂Q_ŵ Bp_wmE7|"6Ch0uQʴVPdY!A#oO`v/wf_=+C1y<& ytvl}(@+P8qI'ꖨL/!%٘0@͗d{̣!}BBfoXDcy&HU"ZӴ5;Tv#h\کRc:bi"3p;LF^=<]Q<'M's۹fɤ`Q< $%ŮhhSՏX'd;s.xS~KO1 v3V2nXKu{0Dw%ǞC^8mLVKkS}msK^\>!B(0NX@zL~oR1I?J؂cRx 21NMuA>/D pngl3!ns +Cw_p8#kRM4 XYyqNo) \1lҭ߉eE(lU^<a $[4*5j؏ޟ} ئ֟C^G<|$ q>-j,'b:Gy,7QUس $%9=-{*as>1sf174~OhY}p܄.Ö^ק ^$K?*~8~ }&Bx9?NrLXeGA-u1@~FCvD\38MY1/DDl|jBҏ Ɖ zeh;kT;O9n&koLK6'j6]}x%$>o{!:s(;K|Q9{N1!n)k8bk yI6+#lyuOQ<]<֛ תz׊ܬV@)'ducC-¢N+U/-( KBCRlǻXtWxRwȱ?8 J7յ{_Ą 1_'~Rz:<%v"]BP˴MHA}7.ȡ!9*-auڈn1GIޡ_ZUi`U\'/!~j[З~ENR{|bt뱍}&ԟ{휯Ho־Nj5`rG̞D" LY%gi{'b" &mzDZ-NgVuFe|L2 ;Ox$ȡq =!5eKD]j(*cģ߷awɈ^-vO@$[(m|3?b@D9iڼ,)kTxoIV>Ϊ FYS$CdW v>s~ѿ!yQFڜbyz)l$7b"#~NeMۘcպ!Nb,Ē lNmV%?nMqU9|j*7"8FŠe`u-y8;DrCGߌlBil ։͟*|\*e62m^J=qxi>y\:)GTd ]wW5x 1 FZͥGpo/ۖt8HnTu{\+wT`"$+\>w1.|'>P&.5 V0eewTjKaoh1'z&&tj>\~S`Ӕ0HX6FB5*_-< b+n(=Z#(⣻x`Qr$DV.|tpP ŬlPmZ'-`-pMt/WYzh}BB@%mo!ҒRhA˹PPYO>(=墚ap5q|.Ewo3g6l吐liHk<;u Y>D-Rrxjabhlr9+8du1D(ySa6jma)h2yɁ+Sj88:௯pbA%jR8B=poJOݭǾ6׌Ng\(̱ "1kVChbRUVX ˷V a/7HҰ7{^+ ȫ C>p\Hox)wefeK%A-źya&gYB8cFnuZ^ESA\ 鯉wd74rMwHT[yF0G[q@\!}js)a=ddOgC&E~?[ft 1ķTĹ= u|&9_ibytucǑ,Ra8%@c:ϣeo}jE!UB'm ϒ]9l; Ǎp}߷OAH_()ZM. ^fˤx˦|xFX˿.#yJ KRVy[@!>* X+pGh?gv/HsW ´=}G8 7 t0Q3)%~*YSQ,ğhV̵X^] $JH/+b aJ]Zo0 |-f?螿(_䪱9- udaYm rnrY$6n6ۈK 2ۯQ9-rF6|\ZzbV6S8,i=,_7jإ=t4 F예_OYXhjً41Xm4G!^. րbBU+k!zO[Uro} ?XoJZ9H>}'Benm,u$C_}ezf:5LEKj'sM@爛@fmKn>l0"1r8 E*voW](bZBav ~*ՒbWKTM*L&!<+3:Ou-)OqD$ȯݛo^~:e7D7Y :~kr˵&|_<3A\F Qvf-XLҨBEK$Tv0qZ}Vi+t$IQ}xVA$=b]@+/tlpHHؔkLJq7fߺIkt>QP\mF"&l \HD=܍z~,L -sו2*El Q۹0*"7/ſI$Ԕ欝N -="dw%2qj\Vwufv0 <5r ,_{rw%  gl ڡk0"!AI7Gُ Ho3/nsC bV^Wi:XŊs> ,AD֌^JVCY1rb-xwgHvW^ S@2-͓jV,4?}`D>_2k k3],37o0Ȉ)̇":s>5x5 E%ahy3!@:QME?'~ dO_ׅH&TrX5r_KkeLZ,QE\!:/!&yt+:{oad-·˾dMm /&) Ne),~L`E ݨkR"xk ctO((J4dh!lb2o|A=8Ÿ]ju0uDA9!=NW"*]yg<1$LJuϑ?dAL.ܚ|F|ۿ-&QTJc,LdMR}#_)UW||^w w0XRR_46 Vé|WSѰ"^(Pxd?b)'%gsV_l,v`|ʿB?ڎT*URYmx=MN_~Ѭ\'Vǀ1t5bA2BncH^}IIk9qޟ_,K͹R@ *";FH%~kzu=YKLp⇅TYj =fNo@䳽{#E )c{]^ޗ 'wx;%~J绰y]](qbxO'ds^O⸍#Iy ^[qs7UJyS9 qކlp`c7/m++(׋P9W*؜)m8A0HJz&aתޛ8H_&*+D\`TܧOݕEk`dEV@ߍ\px ~VNĔ%$>RMw&rs\߽2L++d[4bj;;'#=,|U35h;Ma psZehG=_" ^P& +8,ȱTg|ҹ50/;="T,I>n 60a#gX#~ 4eΔ{"0=6"7+6*b0o݅wRIEY U+MLR]šCgvgh#Roc gd[.*zq!h/">Ѵi' I_gx+:PSYYOܻ[ #e.ޤԊY]djB}ڋBh@}%eBlC2Q90y#3OIݑcրn@z<1F0df!ۄ+tQ|qosnjEX^ 6K] ܉Go M&L. p歘22: ;"F!a I p :B=}-]ZTv例P^B|@>c":}ᨇ׊0X{Y@W_?G4r29㵉n:0!_S<;ĆpΒoe'D c,&]~wX_ߜ\})j%ӱx |x7̽D9͢^/JHe,FBJ.AіjڮJVsy_j5 2߈9y:f(YX.1Dr)"x!:ޘ2Ǧi/д^Jz"P}Ca'n G.q"20ŔzpOhΙ<6bBYף_  ^xLK\)3ln{l10kD\B2H} ZvJgii5%V(MiWWiDo`͙O#Kߩ3[/6ikQ泫cV'+-E!/ԍ+ _o3ɹ698Klt-#r%ۦ|TXJ% g}"oj+|!cH_u"?+Fj6#cx{+kzK5|`ưN& =Q/ Lf AN'QR5 1BPfƹ08cIVtcwgj}v0-9KDҨ!K'0~c_>~sx10jm,bժ;u}6ܗ&?MU==j IMeS|+<}H ȴ'y{5.^~3 ੲmVj._l*~xu'ϘX}S<H.\M.N7fn/? ڷ.U?X3/)h۹~*ar{"Bf)%M{'eP ʢ%AO`^hW!=sNji(6E\Dx|69$ 3Q\Aqn.XFE61tQ#@ĉ +0tFOZ1h_/[- d87MO F]nl>m0}S5,|U"gȅz]埵gƴKM/o\ TwUĐU>1ɑbIiD uxTǁ3Cl$6j;`RfH9weƸkwdW/'垾;1ɋ&k+/RU_b#ڿ#?5z ?>mnx+g aĖ@6 ;bzrl問lk70r{"Cma)nT ψRQj@câ j7@pf>X,Zm8yG<.*JjŽMR/¾l' 4O}^1ۘ'zT& KRIdE8쥈~p܅L䈯MmO)11d)^| fduq++-UIC[X2!_j )@H>C$ 维53ez}'XS^H<'讔~B҂DA mYdԡ"o7Mtha8)?߫ɨJ8AA{g?VivFBN{K+Xv6+C:LSwQax/L[şPo?m''GO΂uwf ?$DYOsŎ6!US[Ej Lxe ᑮ%ۏ{eK$/?dc*d@w~yS^=_^Cq-gO;P٫ ͇g>0;r,=HZjb)T *|DGoW)> MH6aim+_5JKt #?f`ꏽjOIJNv xt_!d=o^& l~W,Fx̋jN2q=UEӻoה1&ȬimCI291/ҍ40ltzZo$SK/ik:76ߴtw{]Eba_  JVI7fʜ_%lߥ|hG߻q{ (InuA,)Jzij="c}LY*ZU' i'F'BGAal˼̝DQ&R>*ke; rw2tDZn9ٙzzl2,~:R8*bNB$y#[u 2D9ok9yܔKys˗seZdiT9>5nG mBb+ݾSL[\A!,0 C:$Gv]d˾S]㇖dƪjA2*\·2?fh8P. ;}]G"o+caPӷ-FudNְ'ug&ɆY]Q@bL*KI7O>V\uơ?J~򇧔LYW>h,-"co&p8C1үGU_d#o1#{@S`^`TysV9t dlַ [7&&6ouOTFBQ%;ÚxZ"="^Ĺ3Fr UqMݲ`Os}e3ͬ!?$4tC뒰s ,A$,?qHP)nϢ~6{pTviǛ' ؟w>L4.z~S|]b>Hthzr݋sBrI׊4qR|l:$z{ͺn%C+PSD5Df 1u:VMq,l) eSN+ODMu}haؒIx ZVեj(MRJsAFŞ"ٸdD I@ļ [S=gB]nBtin&q\6BͰ87kUX{S0^NKa>LMy"L&o!, = `AEBu齃Qì"pO!drW ^%ux~P'L_[{_p9`>r{W֦9^0-)%ӹo9J "A( 3{;YpcJեKݎyEc?L0r1!&vX4=%'1h؜Qx)9c; iɺksKamr#~LR**p3|!2jD #L&Ǡ̡Gm쉖hVn\vOyWG,z (.l uξ8fK;kA^Vp@~0hq3x03yо{߆N~o2I65 r+Mk?Q%z{#3QPk_*LC+J[ؠprYqiQx(QO9yXԃsd(i#Hk?;|+<[u"8pC|PkZ08EY\#=Iff:GLf$=.Npu8^nmYJ7zx*R7C?2(O <C®0&QAͯ!D%P,]Y_-Cs>`(JCY r/D޾ΘǩxQ&@{c +}a#);OMufn-[}~ĽHdqD#e%C䡽-+רY91Y%C1T}-[h+\jPZc#B= IͽM/'$ݽ:IbyCHz-' f`&}TAH; ͓0'W<轗x1o^*ՑѐN—'>P!J,2Ř5IfA[%3D8r^lڔd\[R# q Q?,υ3y[]j ,׼D0nOEs9OirN&dd+uN;M^m4\5$^@!%~Z8eW4Q`Y 4&Q걳}1aPMܫ7 2lmյ(R)Ɔ7vcYU%9JX` DvxR" tSҚOKt[*A,N|9APee 7>g~}#Ѳ[ a&3$$'Y ϝN#t8_n U4ZhU(i6?w1"fP1kS@U&K+'@ ӆ(֊dSt+d!5 {o$_dyJȝN+g1e^NVC%^`Y饭tLHj/!^@X0 fEB (_-ź%?K̨xhάXԉ*F5Ƣ%#I=I/A-Gg2gP?Y]dP"<;%N1If8kp͒iH 1_ODS'K>b3eri=miÁHLٮOB^Wޝ'"A>U7刴a^<$LR͗rNt^0j?dTu,_dyfV=9ĉV%S(M ]m֗($ܮWC!,ߍp^rF͖~~^ G4ol2d=IB AF_߲HÁ~%b~RKS;8i ]YW%=A{nx\ c 2e:+ҾwLoh wSZ<ĜۈyMʧ~က^;:Cc4RM#vf,MVwtK I_'%A+u@fT p)7SR' w,vK+WD1VZ/$;f4B!vd~<>BA,02do!sCdՁdn}Hm j$//`Q{o`Y@x̨%[u+Z:ѳS8jGwc|36Ahq6_I{}7g!#/M [9Z=5kڌfc_9h%ؓ'%x$b-8WJ4bWJ?UZk6Hda0M',$>PJɥ^.}YM6. \\UT%~^ SިYpjlQ!,['J"1v*@VҘH^NKrK Qn_.k FĘ}ea•}ܑ.z#RRKu.< g7:όcCf{K"2' n~Q;Ḫ{#^HZzΫ_"G0 (@ Nmqt% 0K`+zܩU$GPc>+`sP)=`萀 m߫U4y7|,i-sSObKQ0fT᳕X<֏K*mc& Q.oު]cQc{,eX}EmmSA[UFFvɸ}%|:}h|M"ѧϩrqmT 8!>B5d$}s#&^sKũNùw3̧5:2;dSw~38<\DX[zuL`rF7Gkb wu%QLe&3a* K1S29d{ ?8{:䞻D]')u')ގIt}@Nm_rtG2D>;{!^Zg/9u۸-4S6q Hy-If/Ja?^tuؠ~M-3>sMe2eaf 1^XYJz}^lY@6s-1pjBlFVC ,dvC #`\j2' b>[U'I`Ќ:g"s">HەH@HFC)iSrO"";$lhBƠFJuKgQeTH)3GhpLѡj] ׾> o 9&PT4X'pIRb}g728!ks$@q=bY1qgƓX5(-hI_9i;k؟ yL9IM:,?[sC.?0 ]TWݫV,SL̴{d .>edX3)im!qIU\pO./,$[rm=0ct!Îe? {BD)1H@ۖҏ+ۇ7GqnWc6kU$S^uăJbI%Y^R?Rn^72F8H[0lY|MfZ6-hfEi؉d|G3@_o|[Ķb49 /caj]ό _/"c!İ*<6ǩF}m`YwWA痻b)=S/QE߇:o8|Wq0hG>K-95Xꍿ½Iy>q%}Tpj^/.]ˮ!3՗|2Qp#ٓ"vjqKS`'"9?S7/lgpVY?MwlHMvG`7Y9Ͷ|[,'xey}*n!̤) bwBBSSG8u_j'h#M{uz]67IQ%,Uv}!$]֐d w"eܓ:AiIRTȣ\4h%hҊG9[I?zpHR4#6V I@~PEhEw n7ۗ- WOL(mV8yG7$sO15$[қ'Nӎ)gu%ٟ 3SJ׏5mb!7C mţ}_FWc#=pWÉ/nOdE4ropTё}/9򤈞vx[zY֋vbb"6:컜eoB/j`;XTV;u 5r0TG=8m-b/%6O;||Yߗ31 x(<\U9p»be+jc8^m>! 59ꥒgDb sz&4-SMBu1GƏ`v|7^1fֿ5I0x8V)|4RprK|%J,'`T [2LDgQм['ﯯ$w6Pm/هC| du- "blM]lm_֖c6QM*]PH᥎9"SҠ[$&.a:C}p 396ڰQ>\̊;Or䝁PaY%n2Gcqj}fvn(YK4C!kQ+9?3RB`Njviag 򽍗BUaR8H˲6ڿNZKzj s[ Ag>mf1`B`OUӞq_kN}zȎMoK(* Cϭ7x-n훲"t p4[{+qp%WS Aywzb+6!~%Y8&M.'e!G@oU%g1X 7?GŴ !GȸT mB0RJ1@Mg[h!FP0^ CPf *"VCEC>ݾG@Dd>G?;Ʀ +S x" ag!,ȼ.Kt B|*ElL7Z!jYuYpcM:@BސqcLZ@ϣDax2 Ŋ\遥y'?Mԡ)'*4#1oYKWCqSX Jd*Nw|__~Kֳsl]7޺9 mQ&.&tdhZ`h M2\.՜||e^W+J5OҮF$)>Kxszc .ʢN\Ece 9}p"}CU\V]_ 9<#c:D 8xӰzDYz@[;79I( .ސ{vr3qgYi2牍?׀[-u.4$"5g`1}-kqT JaK$-ͳ ݡl*;"@*k# s}{sE;'ߎWRD˦۬3:RA|4 ؏~G]]'QW`UE" إ\E'p^b Q@??g|2Ru6^.u*f[ D{~"0Č-8#pF:z=hIPɹzxT!+H*GܸGZ& {p'|c/fKa KF#Ch%u;T!bnAJ7-`LFy0E+v"_*Xrs!J 2's˛?@HhdN}XaFB+ 6 1^ґ&[qVԕio_7ࣷ}?ww' pUYw"P]on~㏓$kh~WE }MIyzB p`Ej__bʔڙJI-iT'n*V4P|r͇~BřN'9۞C/RY!yXv?Тߍ؍~4$CrCԩT a /oXt|Vvن`G] b\P ^p/h8hw|]b8}W'a@d>@2M3&sO4vTj0m%P`m./Sw_vjbYSG--g'dk&ꑵ;(!c8맀?Jbxɔ]M@6t TIS?g<6x1[&CD^1n3}\BXq8إr̫qЊSg]s,MDtXN38b #(Hп׬^jNOϝ$ԼM4ҹWeVe N8-똂g@x>~~N,,4>_X~ysYHczc:j=O.lN.z}_\Mo?@CIS w:{#y*UN4yy-R?0`eL)gۮhh-_I!/mdK=x*ٛ^ZLHe¯4 }I%hJ{)L+Z_ UlλaF2XzTl iIfǸuD:<1:߿6i D^<\DVxU͒GL<6:ײX ۍ$Ì9SESpNͩ$H# (ԣMЫDl9^~N02o~ĿB^TC\\q祭Oįo6ClH'URuQB4e큦1wsꊣdFXn__8鿊$i3RBw͠yLۧ'zhX?ϊdzmHMyi4cp˱'+iXSu2B'ݳ{'NzZm2iXVx^l&6.ܳʰWŐrR=ʍ@&8+sju؎'ncS!Kc. 9'zռl9-ɴz,AVnע(|ާt!+ Yى䬮, ie\?mX&GԢc<\hUCūyX>.w-U苺v mB@˅= o|v^dZ!A&F8_Pʳ \; ./έL:mC=Wl㒸ewUqE1^VE!sAyefD`M΄LF*z' p hU] ku\E ^能=pt)i|VxABGI5(흴`~eO靳'I7 u͕联-akVGѷy"6&uw kgBC (ҍqrx~?[~Ҝ/s_6\*WX[o&z0)7*o>aۨ=3"RukWia{UHd>0a[FNDW߃;2Xe n/P[(PZ%U$PG*"g8NԱ\ƴ5s(\5F9~0]P)6MoAY^OpOLDƔ ]tI=Ĝ|9s9H#\y -ڵHO/H/Na% !FIoY?"5_)m\V;8`T(^TkEZ {Q@̡tQ\&=\ ೞ)o$;p!/B,dhz JoSA01xw?eQu oLgA&Ac8;7]~&Z񒋭y y҈oyL'JtDZjޔvZ*QYqܝU2(ŹTb5=KpT׶K+fp-Ԇ[kkzc8cyhXzՔ:; sxQYÅ"W.W1$;zqn`|ҞN"<],R|mQ;LOD.="UOYV Eq6w3KA=irO# &"g%/O)9aﮀ2!U)(񱠱#k/W}=^6|Nr;ɭ8>X)DňEfM맗Ot%2e o||yj g^2l9!_2Ҏxe%in%Qh$Y¾ä{cn~甤X]$`ԤIR g$˳-GU#c*:X(@xs`z.©o +"&=992o(֍.ȍ !b"a.x!4!ڨT+&p.JK"k$-:+vLXbнoA(M?@c\"}s@s{MwA33sRC^<}#ვ髩d%T~F/y+s7X$vŋc!Aԅ<-z*Ƭ>!ѭ"ש,3ּQn5̱2lfCoqfiZ1}yK5$Kf>z  ׻Fa.CJ}.\f#7_&@pհIICٞ_аMͺӜ4WYH-YQrAJNG>jYEͿ7$QDL!`y2Ǭ+KEqe:~$ ;asT^0ГKO-񭜚U-soK?T F+j 6O'&1b6sPDG;"s} ndr:Z~+X&}e {z> P"aYF)Ęnf47og\}8QŮzxu#[x1-렂R  ؘ'QuV{doOWl[A"3^# O 8tcw?.:E/-Ɋ[ZaK5isf~7Vg6le:LK ĤGgMYФY}p^ jf)p(iNpxi$B>i;L;șGbyo৴ԩl2i sL_P=9*/d'C ^IzUy+KxA vW2~La,SBCWR9y*?ܭZ_ J9++;9)8I)@~%߹TʜМ 0Llו=?Lf6]Wv91K? cʗ_I8 Dۆ9 Ih[x do?>PЭ_7"i&E;Y>:£iڰ%^\JG\W dP_'`r-Zʈq_#uэ@C(;z_7us/r91ga)-Bᄋj'`]}"pS"%Orj2q! tQN6T0| Bq%m{> Ws/lxШiPe_ĥ"4K} ,}?KYMvWHIej 1Zg%&dv)#= J{< #/=v@_310An/^oVRpҊ 8vbwuULSW+N̟ ~ Y;'Ej|Zu ߯c)fkYѫv+0䗢ꎥY G++wQIoMx_4f2dZw-RQ,nYZCG6 2 (~Yi;l+1{o j-k͌jXʞ鑌=POe^,{ ٘Lc=޼tpA8(2*Ngg4~RFӺ0+a=tNDQuDń:Z!z-K(߆Oo Ra+&x9 Sz1+kw9oB^i%^YR:b[w0V.2Ѷ7D9 Āvhf?BTіс/D^Y,דIeq"˲44?ǧ&6E5:`O; F5]693\Xi+TL ;R,VSHi|v|ON+hAx ]Uy, QWس XsND͸Uvyf}^Q?vHU |쾓Q0tz-y[o?rށt.c!KqtѕشC0˥ +oL?V..yN6@-PP5!U %T-9QIc7FkT}MeǘrԽ$ x[d*(5E_Op g\DG4 j8r/1BJviϣSuiƋޅ!Ukꗠ0+I{L |LPh6 * vV/o? (!Y,b+":XR8c^R;ܩ׎T%Q#0q.2;W~{&)>ME4@##7#C!*$9j KU}]Z0N.0j򘟾Xu<'eq4e?{ҶܒO.b;$v3"X:c<*Y($I ?IB?jA bʢO8nmx,e~aޙ0TǹJLTed-D$#KS&cC"<g3$7w` 8:K68x\k;>Ę <8Y&`l˯0LD+'yo[ *\}0*>gpHQ[^hW8Y/ a>T9XpW"sZB*]?}CDE@ -,PRSlug+ܒR4T8 K#^z@?iĕ=tC]~6,H?:Kk4x7C1ʦ1O -k$NEt@?h2qVc!ZN(5iqM ]x?΍\wj?m| sElBXK6kRyղ'#.$Qe0`55^]~Stt>Q~YƯŔQ^Q0A}opbm|uֿ ^BaI,?Oum2v.lgU)UWAH +w?΍`h,M|*Ih~o3Яɾ22  щwtԼBnԔWk?ef =X O?1F>,)%SN8=dm|W4XX: ;YpMAq%Dj+6mɨS(|>7\Q$Ar$HI]MEc"ĊUSs7( t;vdsJNY2byCr5#XrVLsE tzR&D76m8߈*7)tk $\ Yax(( D87Ъ&JO/*_&Y,^^d_ue/%4x3dLwmn-sEnD'pn b ׁ(7\0- edxXFED_ljZhxHF|J a'xu}=9h9pMI{V`l KQ퇭oa6hJe)|0dW_ڇ鸳I\ uОUY:$-%:wj<o@ B@Nbkc4sV}7߄T=ӁMJ1aSГK-?bx'۽_;ƓI]?,Lg )5hA/`{VDg(ֳ0fV#+(;^0)taaBg!:^qWAL 8i[A/d:9lh\.k~QNfuہ˺aVl!Y'A ,t&d l䭷(1rg|k[:J!oPs15 *bOU`Bc9!#'Xi$#7qN3Z3-l]7:pGkW{הoψJdv흩+v*^>lUqV2wꝫŏ0­1]3O]BcP~Ñ ]M _ҧROV H-o%}@;B%;6M?2W:Q:?C!6FJ2zzx}"L Ƭ8 cOUZ-;{ ]H&&MwNWxVI(U;$bJk a&RV`RښgL3d{l47ˆy֖z8h1Nא>9å{-/nldh[ 7 ]lk} š)tXo඘Nny^nLWbM{Ԁd Cϱj0obMl5|2K7};k^15{H]}ވEu)+ח.KXxFtK^vocE?K7"w0r\ }-ɿ2T!cR": D#IGy1U3x*YMuEsZMP#gLqRYdz0r]ѐDoW/ުf1"ȇ[~]?b0t8A ۜc,hv?ّkKc׶[Pn.БTF1G]wJɡoϽWG:}_)NzRs564U"̡+}@}-fKx4À*-L.&dG96w(Xμ_O [z,F` ^`߼NSF=Iԛt<9XA y8饄A ̢%'3.% p_oWbe|r\J>jo:Ɉsۥk$/?уi*+=;.9dz\9%)itUڠ׀ b3nO%]UC(/cmz~1p{%Ju::LX ]un_mKLUkp5UJ.!+?xBR$f6hI5VO F0O:ԆF֖&OD8#ߤqFdM T7>Q$/ 2ltZI857 _߰H/Xjd`Εئ F4ܱ[ 2b\~z*tLYC}bK1F$>.LVJu\]ܤT"(L/y#)z&)޼"z/;ckJGX]ͦ+E7-ˑ8Rk|Ek"RyTu|p?jQCw7&\ Koe1Sx)XXX~B$WCtviIGh(0^=%B.8cJHA\Bk[x~8΢+tkX[L۽pu6!qY<ٸsUx!T(` 8~6ӤpYTtN/3 0 ֊xoA0sN cuaGg٪&"ʀSDi+3Ϡ&q14b#RuX4'Wdl5Bul`UOZk9HC'{| NKhy  A?̈6aSkC6ɢ| ^W{Ð=yDLSbU7=/)?wHі>as5k?ͿO ͅov k.|3DR ٷ5P$ɡH3P[n^t0I"(,zaCVo$Ml(Z$`ðf+s8WCa.7u X>/}ӵS1iKmJ΅y#^`LnFzgY&Id(m& %ق]GI]rz`:qm>vT!툭{, 1: K >c5[2J (-@̫tG$b_%hlK]{1T<9UCO=Z}OGP2lLoR4=. tavSΡ{ Nt1נ[k{3T1$.x1;%GzK bcoս)iw""}ۺ$obX4O^(A8h"\`}[+KSKBb@;DQ:Q'"]RWƃO+>ֶuJw(9jYшإ}Bª)K7F.Ld8;; _K'% N~o9F}O ]s|eNx~1 weCw"PkFKi$X 6dfVЏ D գ=W=u x'SGV]Z?1P2WtnLXPP2[e(_q&QyEXʖ^!6Vѕ8Up_@W 8+璕O1>7mF>m/29uĂTIjV|(!G|H {@=]!V0vp?nϓ/]s`1-ٕ6^&Rgϯq6H)A>[Ha bWr80GVAV]NXT`Q {_?K9tmIۉY3j =5o#YQ$Y 4u`#MciNUwL/iDڌ =GH[I (z1g0/T[/^ֳә2BKE"ɼ*SC@c,F;[>9Y .&l[$ #fDAƤJ %'~fߝ4jK~`HC)4AmɂDzPK:2gsKL*|I]*{X:P" hN 2F|ˁ8_$Qte 1Ș'yÊsY@`pU@Dۥ7q-?On' St[HdT 9%鑢ă ~]S}%X5$GIt [ vwm9gP7s\LN*۳jX@`#1\xpR?35bX&㬭X7]֧;r%K|>7 5IԏфZ1:M3 Đۊ$͜1}H/-GGۛ{ nPG;[%zuxTˏ ^"[ySAfJxoe/ O_fXB= ;?yIr>1Dx~<?T?q+U~(xݵ Taai0[+#fqX FG)L[r_b H~;Z,sGJp?+ w+m5U 7$-7i30jUxfW>hX3Y@U+O.eCw 9bso"-*v4.7мA'T3E'+jKס9A` P|:):kjQޞaMMKXJ1HbjZ+ 6rw[2X,o1|-ٛ(:\}Hekݙ\?|ng*IcO!$71 HS8ld[qhzcH}JPCb~0evʭ0Cu!!=us~~ @mC~ >1B#4 mcsh2LƘüsiߦU neã*:b.Z%EDCT8.Q5;[mXb'>@0=q$yaC(앆F**Q9X\E8/` #p|rQLn{h3vf͝q(ӧs3v3֖D.}elpma+`26/_\SXIf\1u>ϴP |@deӓ,w[~MWV=mb9D/=*8<ܧ[HX㑲҉(P~ HƶkX''UIǗuR?`HzufG֒M(QNT@^Q?^d#$c+-q$#H!F!W0YEuF$F%&},5HH)/FsޣےReȰX.h1+Z,i;2B۵U"ƸKv𲃷g[ڵz1'h7&ry^|=RH9gInBy{}; (6=wG:uri}Hcp:PUc:H8ꕄQEoǀO6~ ae_cޠd! -% 87 p0t~rK+OEhXZ¿ydDy/%1~p@5=N>z<'A44HcHdo6,n SmWIO&}֖Kc b*dwk &|nv[$3ǻ?45^=v|$dr&*UAHʰu;B\(o]~OeG,eJ㿡ժ* .h[cDJD'v\d_'˙v]QKU oIױLVn'~zV{#ss1gg 8b@b0eu$Ü*|mvhobjԴ[5\X`}֫rP0XWZi5{n%Ceo$n*_| ;LIL;Kl}7 {q3#C*6TmVOH'?;+66|屈UrBDAsW x_Q[`\YD}ü.?$H0+!Az0N!(8<|=MF3ms|mmEwe¥&LEp8Om3aDDƕ6N~]OX![`ߚODB[n?5]^VuY@,77ba̺XȊC E(9,K.F;'xq(9#h(n[VOy0 g͘ ^ϡW7c*e 2=r {56^䛒FVV{V!HK[ȱѲNű cۊ"RlhY9,*`}a;L5QeʀE~R! 0gbNeڇB9X>Gy ,¼QK399 dGӽYl*FЂ BRpܒd$սRdEtD>F@}<#$b)n|| L\hex߄(oxuݾ3%"O=4ETws3Mg_jkW?73cBVUTagwvqZ֟S8u,vDd*tƪVMetmsk,ȯmr%vk7IGȑ۞-e' ]xT:,7k0Fr`y&02%p{?JF: 'TPҴxiI %fW%ID?/u'G: A{|"VɆ])됯}՚g4.3h:fiZ8zoX+f%8|<+p.6ҽ#vu[W'|ҨtPz?Yf;Um=&N/^߾nhijSW'1c[rMʐ;bonE0"K t6{#jF%0f饹M 2"ZHcf$-Eb$CʬP;޲m8M1&j7p>fT%?[ ig"GOU)X߲}X9;iɜ@mW$0E!A {/KG'. Y |R^xJ)jUm}x@tFef0g͂X7+,ӸK[md%zNŶ<JCBӕcle!)?v*y!<η&wvTMU\&V̘/^SSlL{_n˦n.NN'lY[} xO_+NHQ=84t=*}`iJeb{L ॼOb/4=3_ c=\>2ayd '鉼D8Cb*Ǒ <hMWEģ]ſ( ~մY%8fJ04uZ4 [q߲,Mi:Q, .g=;:wPanV[!<ՕVY[ ft( X)Kov- EwR>цDT>ffb*z@2YǠ=-vKx=qjh{y(&9|mNLڐzS4$۬M{ y`w2Yzd$hƙ/E}bOEǂ Nylj`q b1v}aw&1#5^Sm_dU,C)ڤ~[ϭA'`Z-d#\Xbjn$' j[q jq>v/ńч.,ipmKiLc<U(+Y,#p|'^D&zRuRe~WFI90\~d"AKGſ,Me6uC,kƮp^ bT&c?\P+Q6|R꥟z?9ge`3Y Ud"O- hF.یb/UՂ](,!sn($?Gwd$cPiO ;΅qA#$#Bpm go"l:I36nup/{,{4 ZnԿog0HiGk])/_7ZqY m3\ ,ꪗPNJٵkkiVqeiYL2* Ӳ41`]GL f)M{SIls#6&e, [A\Yc.}0@4ķsGSE2TҨ؟|l?N+uA{n "D¹uPȟե{NtmߠʙOk"ki\n]C+ɱR;NՄs(n`n}8]D`#PpTY Y"2OVe|^ T6-oLxm·x^NB+ +{i wR[}}T#$Z Q1'SP^xORy.#w҅Ox\) f@cz:PʎQ5I1U)9yyҖnVC¿K"9hXl^#eQ€|VL|}eV&D 2Ɯ!Fst ڪQ.[C>%mv4<XAv_HۛG,>Alh )kP-3U[TҿJk̚o_W3܆`I}nAs'W[Api?/5c\Xդ $7jt,HN1eٵ y> Z mt$|]Gyׯ13xahpȥ3$Ty$07vieҼJ3/ .YվڐμB\>zf g9DKIj&" ~Ur#xRXUUJl>>eIb :61'f]ռ~}K{zꙫ )x_ڨV64Ƭ4.O0ʛwlj*LOnzUbrP$"D%k ).:wٗ[ϊ}S`| !wYM,o^@OAK8@ Q%$~F\Y9BAPiDMd_Kc,BQq~, |±I2BxEB8XO@{y˘U#72П^UD}*vjhQta;A51kLx_?GuL]gAƊ#$[JeqtaT;{ ޜ{X&߷Tl^Z M}bXA}d~.آ,M[AU. }a%df誽9E~_WP. PbD"U5@o^jƄܿ`#-ydH,w$1rrl۵›V+"0%hgX̥kŮw1\v.^Q:HfG; a]3U(O Z$Q,-._c3wl6&cBњg+KF[pF#/^-b9 bq_my ݅x)݆t=1tJ*O^:iNyP,67Qy ^k3M8^TD,.OŒ)72ڄ EX2xSTϥǾ*CK=>>E]qH)9z%\f[D<@0z7gc&t>ڧ$ťb_"F_t}"9 gOMnB]6yعF~$cSt5N1XTX(ov{Pߊ!{wgﰦ[` 蒴:,H|7HkE5~w- Ko‘c >m`,²OA՝ayn/wANTТ+scw-aqaɍ U5msi *Fv^`'L- #UR7O>eq#8ҹk{pb`4Zw<5'&-A'v; \tr~n;0O IP_(m>:>F\p~f6ޣFtNnT*pK0z[?GA_ (63F(ASq\~ ZM\%u$ 6eԤlh&ےƐr^]bm]bM. 88d]ʭp`ϋW!~zDѺ6GDOӯWPM v&A`I$ӂ<>֋{;]gF Y{RT!D'Tӏ*y _\eӘpj(M>ÈjMDLvV\vqN~usol!&g~&(01=t;ԍ/&: -Jaerɓ; ~))s8Y]r%t’o,:*q4 dYҗMfղC,tzXsu~o/ Ƙt ~RP{9&g푆j2/2؋~5qpbM口J7/^_G5yxi607fyG6{q۝ǑyXy,f{clţ,_ I0{k4J:纖ee2;=;#N#eىF0ӺҫGs0ՓѡZ/#/2SS%_ryE'5ಢm*񖏊z..嗲6M+k% 7= v_W tU ':ܿE]9f&yқ\ c,Knk"\9EmO~19nr6hgnC(#ť)ƶս[i iݓVv(?7W湐}^/]",6dF@~M{o}2p.x,_y^#72~_^kĀt)uںCrIԼM ?J%IU8hA 0kJMbCN G23tG \Ws%13㼶 |~ ,*2S7{]'$AA OuӢN٨M@3D-Piy:u+Ni3$;sk%0]ӼŇ˨>Bwu2h2DŽz;$b u!FNҹs- 2gs|bYڮ_ɛ0;A_̙iИM1.q.>͈D~. ߿}kn[#[$4rԘsE=?[)}ymNsq$Q8ڙ4ae7%G)ۍ&7d!Kc\kNrC.$w+iOZ"!a9c[ ǣdnU24IZ׃ ΋b;Q`&`8Vkk_C#՞6oЖϤjPhɆVqY`=df۵w$ 4G,+ߠ5/9A{z\M4;"R=g{'ucx``WG~ A K>.ͅ"!۞&'zuM}y8tR\"w&d5ϲT ͏!+r8@]HPf\O QkҀfVqն92MRMPap‬?΋e}YqRB[mz{b?Ê"C^zfC z.5 %|OTF*8}} N~ 5aFne3W)*IZY藅f'ˉN&b}P= əJ.Jn)bZlrɝc5S)(Orͻt!=Wvʹo>j`2kU^4bY h:8#MqZAC _ﳴbT n+ <rJ Y;}XW+ R>VEgwz7Z\"轰YXW:پ,%  W  Oى8k@5?4zer8ˈЛXTO= s>?CVz9+[ݐeS?+Lw+{~'*,=gT#بƌIW<0Zm@}pR s[Kxn5? KI,uDNJGbG~mK(\ E[*[O3 i#bɨ2o¸;4pO-_%5p7AMWӰ*ەj*s=P nA8$(*lu^gTHҏ'"~J|iߤ "HZYIͩm/ۀsW|PUrfx)t2ef*~R` 81ׯa{~s1_.Fi ?4S[(􍖹v?O{Ϋ:+M2UhTG%JI}$~N&{ En4VYzD__f0 b=Bos|a1>FC}.|AڼHiCH)* VJ)HH͟$C#$俴Us1CCyٜTGBw|\I}3j eGµO^8SLUqfb 2'|\P, x%05l3m&c=lVw!n{w@ISGy6ʬR >x,pxh=0f ,>g"ų1SP,]2&<kPq|Mi% `LX KmnwdPִNs$R|CH$w,x#v9C$b5H_)W7# s.)Jl>iyVqik(?7^Da] 64~/27?hqj~03S9e%l#5X "<8JwRrύbvz٦>23~sZ CxdG.:L4!P = g:R}qKtBصTHz() gNgK' A/OF2~sB& 4V֠4}Z dw> b>;,]T~6O84SR)r) dRWwDҹ ΓH5Bl'쐲 m,,: ү,9:HZCbuuA]SvƢϼ!u`-ذY #UĦAҬʋqowMLʏ?!Y'CˆR8{?2ȫ!?U߮\_}.e[J7恊ZkwXzZ(m.>Y|!|5c]Qm1uj2H!I\)dЋ;\c:I=4;O=Lߖf(m=.E8DVbUfP W @ l?_-Yb_ K\ j3;7Q7zpXO[2<._VUO*kUh$w~~zūJkӟoB)4uа:|ZK#U8߃U%ArXy43Ś-q;qȅ#֥SB <|qHRz>x( _`:~ܥmSq:wnTۆ?^'FO02PGh1R2t1  |6JI+976_h:BLb8nH< *Kʩ.Elu|[.u}7o%oF gK%~@rI}>]RLCxحrȟ 5cS A@/kǗl%.-M5+_9G 84?G3M"匦 V#>ׂj;EKXbu, 6,eXk-yw$.~&)yPmN ʀ/G}zWf1UFg.fnM}9Mqk32P/kj{WwoMb0\cB]Q= 4RnҞ~ .(=MH;JzW__0810Y^< Ka&͋oy[Pٵ&zp PxM/ཞjRdàsn 'f`[Gac!FꝀh2bڞU 0&40qK39{J'Y8pn })Id1#w]]qYx0شO<*l0v!!5?0M5y6lLΗ,5jaȀ4Pusq V4P7m̮˫zX鱳r&OtuWRP_$7V[Oh"V?uz'hyFvM i݁`?QÚA Pwro))Ulp12 W>yu?YN3H[/f+,ta,(6v)"#[Wxd)&w>Jx5!Iv|WH6pĸ1 aY w'QG'/CyD2- KBݵ ם>}f+{bŠŜs܌>.o:.ƒyD;48ggXN%/H])h;7^lx,k!qPR:\V\=qZSPA>J!|};p&I Trr h[Yui{Y3WhNDī“p& =Zn*P[vfnwrR|Ztڏ.K:91"Y:9D^uwCQ( Ĵ}> 28I^6r2Ma֥ڍh]Qy4_8bpfpI z*{x 9tG<ϓabGΠUP. O{Rފ_o9H%yAJQ⡉$h?( >l2kr\~%4}Q\e ]Dn]H5 H@ͻB${xqՓS涔~ɭ F~|VԿwZdg=Z [_gɓ` *)0IJ X1*O>{d6}H揻a0a& HaI63{_"P4φqS.$IAsԋ@ "YDtNKN󓆻?*X{= fW|qgQg1K_ɬKq] cE `s߿t2e}įh*{dxhyr34IP^U~ hԁ˔JtĿ[9"Lvߴ"f[k'{C-PbʱeQI0ٸuətܢ`S,AbenfVW"3>++yb!8q6瘝ձ[IϜ I1<5XeNZ'yi1„4e]עo,ۃ spz9So-Jr% pTjGg@ʈطr)_Ǩ^-Wy>ۼ&阣+oM*ryYgM҅ڳWx#Bt^FGJ1>fσm'c4s %^V'L%+izǤW I#!Rp- ZS7 $5!aZ|գ#b4hx*?9 MKhb$ӼMgϺǬpn KXm7"_"q|ԴoؿGj üJtۤx{jbB>䤃c'E{iA4s ][]}-@+"3Tn#?`x$8Ku1ɳʽ,%}=52dqUCc _8G~0[Ak G?Y)R{3#P;n3ݏ峕5'wB)JP>X&;F쬑Lnha?HDw9%U1m8@?fّܵ2AA A1O ShJosUTj?u٫{!ʛ`li^nqbg۷u:)a3a? he 8H_?6w\Ye= C =jrKa)Gh4@{ |:kC[a91V'F1AYр x: I:<_3E$,T+!TjFnsָܮyޤe8ۥ[-w}w%x9SB |ȇhB_D= `Yt.lFKfOmN)BGEPCE1,g:- v~t6#gS7 g݇~he2ny 4纰E%t08Wʸ4̿[@7xk͗$m\l{"9X3&e6YFE\Z-1ez]XXTZ1Zyƛ <3[\Tò}aA\u۬2t|WHc~( )C2kG"n5z2ס.?~UaCO_-Y9%WYq6RtKꭧZ nuG#/,2vyHC!q9J1p9ވZi/!7J~Xwo5VhwuB7M˴qU}JL/F tvsevxҧDgl-+&Σ0 P f K_O#R>F6N3?;^ etJt[L ; Õ , "Ζ @z4. /g8z:9Qo{J^E1|BO?Wrc8"y:X*w4uS5 D/P}= e)g "Ҫ{rIHGֈta~p^d/S+N{뛇^c [e~97.J-&z<`wOi zeEB1-xyohn2JOws_QN4uC1+m] o)n[^/˶L یG,vx5i8n>`+aDW6 !EU09 AD,'@Jɞ6A3 3 z Jde7nb=Ƀ'o>U)x5W,u,_=CX ?Il3m*q\6*jJcP8$io' HI4ـD1;Νh^"sz},RME%\oΗFظW2OjIT$ ,sR‚rD[DgKc|#k)T}\ ƘshzB7]+a sd-@] ti'k\uKm2A=gdHY uً^K0~0/atD$4y *u=HQ|ve~9U]Q<+[a!;g[H28FAkr._B eh2pP2("a9ޓQX0ZH79 =!EߔD%n(")oLg/bܱA6f5CڿȺZ!Uˣl1O(;K%ӶLwD)>8~%JlwyIoIgCVa?-܁61}NE;?VVL;>Y y-^DL헞 tY3}%\,@\>'_>wF㞤C=6 ņ."Yr_ڮ/!),Z\wt^VP -Eր~(8†tzV g䶞~<ꪴ\K}b*,9kj9-_"~du_1m9xK9]Aew6du0_qkEݝ ~>Enp&{yi(^aslm6yg>Ѹ2HguOFVJ;T#-V^g5Qʎ*@xvpwdi3H|s{ح8' ',:?]&&#jHd)=-_#ol Z~|cìݛ,U.r)D߇:7'p& 4| z8.2 F)kto5_ӷw[mugU6;wߪAIaxeuegA':Bb\GyfJ`Cf6aD \Vz5DAVd?޵O/ 2CCMiE>Tk#t/zj.ʍg~_+HMh _GE0/bsu kՇ)M --z SQ׆`'.eW|'"^$ߙ(x!&3vxP[bO؀xj = KuS2t{];ӥ @S,PôCKV|v="] BA@UqGҏ|DEW_MBXdFz+^;q <,OQkI0l;u0wˤPꮚ= TW<=FF7[+y#vd+bX0 4g_m/c}Tiڀݜv@NЬrsjrngSYHFQ\{XUwLTݸ $o`ys Sy5ՎQԿQRC( U&26) = CX7^ฉB!=kC=qm4b`햡?O r|_vQU\" T’Mc%u1#ZjSZ;'X@=B+ XVӄY F#m, P 9;Ε0\ EV"[v7zYqtu&6ny;}gAt|0%3Cyo4*{G's:A Z9O$">_) +SiV-RiL-IR [bկZyKHB#a;[-t XB΃EhK ;B~T%(fN)!;vSYhAݗh-S[=w%Ynw%f;t*VK$i>Tٶ"F4yYGT# E<~|қ2%;!w*-E4E$ЍLq-߂2ǭDcP; ZZπ5SeL6~;̻iNݓ|.soͯ y'c>B[cW4_+١(ҁyT~9TiXZ6z%?]Je2`S#-!)#)o39Ei~m+@ᛖ a)Ub]Ҳt$2dQ-S/)?ET| )٨fxSP*xX H($P#xLgV?ʏ+H1D xJMebNjmӣcxfK /- <.%?+./aӗm- 6pC'r9>lPP oʿGqwᐘ]*Q FIu$|8Sk#))b1 _ȁ<:*4 Hlyߖ3As^q|FԳy}n5޴\7"'d8id(UX˧^C<վreq`~EV#+b|ZX4]I|ZfVdli^Vn>-w@Xm'M/Ў`4sFG#8ъqHʿk] 3~DkőN ua|t&AG똘OvQ!_lWT2N{5)a*DPW 7w-yŷ ^Ġ(pR0ט?lk f*on_ahXiofu.~ZIwh];Ȍq>CqYLL-XuTv65ܴ*_`Аthwyl bta:zv'W)W6y~M$jlq̌I,6ɇA[(ݕd!WbCD#(co bXE+߷y+۫T:#7pF/j,s6⫼DTX~om#Ps7B9 0"M|Ѻ} U^kzrK?-T#m`H`nm7~G>,c^(j+kt?eɱ, lcfy'1xfߵ{4o7Zn#3 T<o:c[[2>;A%Wjl!_bfa<˞PI} )XG/{RH(ƅ lW_`A k4;_Wun5-t; 9k>4OS^kj_B-O:)Yj ,tNvUr{-.5]v#$&WH1/>IѦX]P*~l÷qcAաUWq8hLR6 ~g}큤"y@/neq%"Vsc=^Fa2 U1^!Qf)MlU~@3{JW@*Jdh+GBUcT8 E(=0QwS&[vI%z XfOb6oHO-ˬ9 wEދ?.] Xc9J//dyG;1UNmba||X~mǥ+R; 0@.~mϜh\jLf=7,FN4~Ѻ_8g %~퐔N!h}dO85}?W =bi^60Yn@JŚpwHas2;aDb?H=[WZ!c"t*BG {L3gԜWK+ -af-Hv- XwE2/S3}?[ڳx(]s1h?юZzgM٨x <~di}v K(A%"n|h^EXewXs_S la! ^ [1fӳ ѩG%3S%DHj-頮wAuW?xV÷EZ!22I20/͓ml9lҥ䝂 *61xd[\Z坲vK:(x#ee zw`?"G2|:+~>c.~~67&I=}c(t"0mR$ލ;J{>ww3~B긼ܭ3B#~vykK>F ^0 LÃE7L#8Ч`S[#8eeZx/>?Y.{ik| gxxL~!1#~;8y" xәV=2G 4b8̑k,!pãW >ж^7(Gs!E{m753z=swh;Z3狶q$AXͺy\=ޒ LNqg z!68qޫ:&2HedQ勜mFugܦNJdRadTD6{5_.sXT+ڢf Kc_r}b\>HKma},"W {9z!]ur7#G xMٲ{#V`ىT$E)Ok|"]~Y TmT:lUvy=aX|Kb(:4X1l7>*q+\6'GourH|OJjAZm"+%C^vy[^b"١nƆj}|i(&{6˸+f_zX&lsH֠wKS5@ 7E&겐4^Г2RgOm W}_%,332kOficFG?G}ךA3AGQ:dd ?t$s?DϬ߁7c:x>ؘH(i> [[u96$7  lŹK|E\/Ex̦O'ћR$[+0+ҤL<o?:L?v.Of{,2K,Qb|TGy\4*|, u D={y9RGIw#<7a<*GkdBl߁ R (;XUQmHxTF;6l(a6 fxY#/JRգ,P9={ 2Sa5MуW(z_t*f*qL|줇'fw`!jY႕@uNɟV_Aͤ|!lUtŔrE@U8r_h7\Vf{!Qr yj$F;$_QDa*)P>KgxK*tN8&I mL]ɈCt 'u: 88Wj[]BDaI+_?^kʯtEz?U- ϪsL>RX裢qnT_dO^n= dq@(wFƓոhOkRv5ىMy57;еCh9b3O7es=KX=4G{K\73&_"]>tU (sN|:O5F]ovK:>VC~FҪ}~vx5ka|t%ǽ41{A*2'KB Eu_%mt /A%POٻXy)$Ť!dz4> bjǝ葶Q?þOZoimc%3%5{0y,zLBrƖuj_## cɴ7 0:͹INbs$3 7\e w!Pt9fBa烈ZT X,Q4#?a ,qiU{ↆ),^Uå8Pma0,{?iu!X ]27e"1h.ȩ̇CU[XMm1 K|%e;"R3U6 Aܾt1ZrTOXh!Uv Df@:ywǿȄ0>Jf\7Vyd2VΫ-@O)i:V1ʮa=rK'oMX|DĭKΏ`CȴS!` wCO⯸nI5&Z5Ul,0!>^ނ ]qR({' & Ә}Б šî>0U2E(i`K&3Gl־<4K^c|N%(m5x/ȷT ޡ/ CcspY$D/r~xN ПTcDz,n3bΉna֤$2 1K59? WWzkkxܪ8sl5wM[r`^| goԃO٩lD diGj"GWِz:8^t"VǩƇ_b7.f g5 >\|pݞg*ުkV7DF)_ K$A5cA1l=.1T%ؾ J\uiԻcܚZCݯ#zK$>o>e EjWNJ [2UZJ_MʟOүߴjһvmxe2; ǣ,u-Ax* w5d,]uICCX^gxxUy˘X6 S$xf6=Ln$Ћv) þy.q&Fgf̻C_8.f؞V;:DWn*3~IE9|0h?ֲA❕8CF +?tXt/6+2֊o qe C cCAmy#< C1_qe)J$"7QEWk9NX~}2%CR"'aXֹGЗL?vd\L%x HQ1,ąDe7Pjz͜ 8)d 5=b]x ;i( F2kr@+\YD[ 3~/0‰6XoÀQW{hԒ2/%@.(1 N D3:qgkc@8!W88`,zG<ۙOtG\Ar_]&r9\J^3cQ'?t;OZ驂0#ş%Uy[ O[eMw \GT,1e}i;$OnCV>z6T~:/+>ֶ=ƽi&"3c[bNdѦRR u-PM[o=|b+WUV?7-MқM< IUiIw?6Ck!`2bgDFэ%L76U\{(?ҁ؂𻏄wnr(lHC9W_=Ӥ{u(ԟcP?C=:^2.̾K<;TPE:Wr]Lڗi_qw`Mrf~;{dYfwm'{0)?7隃gwþ 2(dެ=.@OoP}&]XWS8C  ǁ Űw Ē>T.HL7T%?$Ky0=sg™ZI9bML3?[/L#4HVݪ.d7>bDŽɉg}s#aR${R g/1gR>Ԭ=ݦVtT 诐 -~'s)zhgu\,ߤ>H~Z?MYS~&0CMNxҨ6kvo}b~)7M̃t<ѯj :D0 3e2dҙnHFDv~uMEu!՛k%ϒI}0i9sR^jngܛ pg}3~ 6korAUqrcTЏ| |V }T&' ytr \|U|Aw1fIDd/Dh ww^8DY qQ5 e&֕Qhlu"Zx >ֱ C`>,LbLe^x@Y oKv.@ SgXBZ~E7|'S֜\zC3MRɔLzIr.hSESGb%1- ^{2Ur]BfJ %(v4׀K wdwW5^m1%{^`+ bUԒ؜(jܥizDEZ+N Е0Ŧ# 7|i /pC{5w3{0>gx/)M>{&b/XU[KC,{lŸ-EddCSGWee SmLgb}Y6n /:'wEjZr1?^OP^8hujz2 /83GW E!GuWIŴV孫ǯ{:rx %ϵ[J -\-6|OujSqUL@z8nf4:q*JƛPp^f~<=\7cn[=sdH  2FbjlfQQYCx%%@OX=zlQ iFq(Ջ ü0ddzKuܙ81H`]AksĖb9( Xeudc钌QLO.8٣xa;H=!֖Ъۋ@4JvXt&a~[b(o+^"PKO2> +{ N_#l;&UYwU**\iI)bfcs[|r{ "Q?8t{ծیjp%ɳw>~5QSUlT#dSVlЃ3eA^͔Wƃ2UyK ,.bSf៭2j_$ q"G|[un.#;T@HҰS[3XYoecA,}+]+ڙ9Eda(BʍD;WdWu, `V\! h XSb+Ba̕h@c |zÛՁNM IJ?|v^=i)>7#E&ѣcu~|,cugC oŤT)-!x#w߱'k\R[fߞ,6IN (L0(@ hwd̤Gf+%4 l`'xoW2fKuXK1a&9k$ KF`g D 0@2zî+‚#$q FIA ǡOׇl΅l^+9n]:<寖Y^!1%-mf% ^BfJ}G@W&,MWdHR੤"|.,cK~~y~oR30>ݺb?;RujoNXb+A%@-3A^G~dc wYl 8qS_7cs$Z +D蹕3O]az]<6+d{ds%\:3E2(e9- ]ᡫ/+9*Ԙvc˄+WRw?.)D< ftN*d@jMUPq6zg/F<)V5:W@IƧOBOf DyؚaZeE| aAjtsLٙnao9D'K9?~GD"CwǃtΜ"!.·BV^aḤ{EA{1Pؕ@s-Pɜ|B(bCpaP@ IAGn{a3 "ۻZ\IuHz"h-#$2xVuC~iLIIJ ͟ 0 ެ]kU~ySdWSuU/A{ ض?acj&Qܹj䮼]Ϊxvg*uB<6y.w[6$ _\⿬2ti79|xTMǵn>``Igw؆ڭOC,Y)?/ 2JQwR[F96COX\̍ kENUFFC|9c'mrMxk)mHG)Й*\ﻨ~eGA>22.|nk^Ñ5m )H ]s5\ Oр݇ꑱ^ǧS &?XoKd]38VҶ?pH,cQxCC6H~x4y0[J;~*sVLfuZo2DEE*`،P>룋I~,>}, [":՜iw62( q>NvPNl"it/(Y"Mnu`*PZZgi7ECY蚍-aFljyl˸B|ת1Yuw;rs~d||k(cf2g2dCϢUH='' E^)UŹcBWO aG~T7xdcm,HYRgn)j(Kwb;b8CcK:; Fu1*yqMr_dQ_|YCx2(Ϻ3g?RGajzaEfU0X({1CMx"⊦p+N4Ƿ\ Ppç΄ψz'E`mT~*W4ìpܒ\ǔ0JVdPf ;ϳVOO>iNC;m B 99C@dMD* a7[̹Opח"=?ӏGC,bq#b3xh9 IU\]W9[Ye7{|]`HipWahf9ӿ\R J^/-~׺DIZߏɟ8.WjڥKU;b&{\lMD/Mv*lTƒk[/GG2kUd2O`ংPG*/0)(ǂ\F^E[snWq8MUBlKDZ&ETz!HmW9Bc>i,?gqybvULuz;I^璡:籁!wrnޤU$oOYH7(AOG {PI|X ]; Ah@߷?bO_ ÷IGY9gE$iI!B$TI.ti` QP'rq-"f@^e74s;~IH MzD=qߧ #K+vJԵ@Cjx,VC$fƈNrj?CVUKDU÷"\J QrGYۡi,Uw:/X2ˎC'!k:t3l l\a4S ̛[np`'WHw Ssl :,s'n`&Ÿv\WW$P'ơ1Iϓ8ΐ46h 8~nf(>\Ҁ~[6%Na<<^(d.'p>be Q pRisi'ӫ uhsL„|=t( a%U䍴gю+I/8@yc8 qԽ#Sï') a_w-t>9[O rcfWڍ+rS)NFje,=ҳ*^q¾;7 \Dl:O߹KWo*ў)dF)pA, ?M+#O&wkY.u)~U@eWk;3#KP%Z-B&{gީBGmv}=N̮=׊Q3(*h x%YƜ,gaI%~J:'esĦȿ(MEg˯0N~+yX'+XEF,,yc%D0<\!<6 "gD<0qͮ듎4:Dh򧐬`G5~>3.ԙ[x-ϧZ!x̻D⯣熟pa}!SF&y6mrUcX? 03wx?GH9[O K wkdaZw27[y++g&t=2swqH.pv= ү\H| OY\ym$##}b7xHU۾Kt-:ٮ@=.47ԋ5i|J>5"'$kXy N[y+K>zO$1K{ϊ|iȝ7 ]C~HܫN4sdkot9e$)"yGH_ד_ =GjdhHǬ3p{! tFgҷ0Ɣ]}m妾u;>$Z)&^jzvX1B=JX2 y#oꯎ}h~`xeg?'fVX-|)%Y1r55ˇia}aW'{\q|L}B[ >ؾ6KHvaO~`]qY=*^LOTs;otie:)/y Z $Ҳ`u4mٟk%c$ycTQm`Trj<-M e;[GH fj@[zC03Kۦ9*`z>A4z)WX {;7%oW/S)j fދ:ɫvi9)o˼vhKj,U5ƇaE< ,E`l| f -gUݶTПd^F;0/?Ǔ5{N:o r__Եy1L70<$~wqcڔZ F讣v=9|{xPeNWBѠRˉ^Y0TKïs}v Zڲ9@I)dvkҏw;VːmRAʜ< U3|UXAġJ~ZvXQʹlڍ=(H|2g3'V'T`crefHJT-WuV]Әۈu*711GݗgXZ|1eԓ UOk"c"q& 84tc5Hz>QW|"GX2!/T+}D<|MElq'#^zPB?]CWX"D؁TYQpE|{)"FW)/-%Z i흇a/ cz!U&l3wQ 0̳5{`r &cQhh,Xpo&Mi|3/ I)>F)dkC ͆T7 SV >fDwX\Ӏ]ta |2ckn!`r%&sZ-~GƁf_2x+sQ'?|̘C0ϠI$$RL ao|(eƺ`wэl6Tb\r.+m47`:[ $'w/p0>W( bcRI^: *NLz'?̸q؉irY6B 67^~SP7 4=(P:BaZwqRqق(piMĭ̒ˏ#練p_V@L7(~&T#>ㄻXeڽkR+\EQv[?gb@WfNGh:\!f6lc4&߀Q 3ެ#Q|6 ,.EgpOs=Ϫ'g.tt;.êNjW"c\: y)k%тG 2 !Wb70e2%l:Cr.v\ Q>iz=[n4tg%U W3v7ڟZdG6oNe&8.wA-ѓ%N8uN{.‰Dy1AH&oNE(PRu=Uw},,ØO-'n==NF?kը-(\ށ_Ǥė%1~Y "zIELi`] ;Ң߸^|H2>x>FY ƝqjSKCOeCZ(oEpCP f3j/u{V22L!F:m#xN~1Rd }X%ιa7GE:,x4l9cCp&CMAHɎFމga>?U`_^n8b|PsA „$[ymPhx8 4MX5-V#|"lR[?(̊48J+#?1=Ol=cNבx%8=ܡ̗\ju(<%)[z8>w41 QaA#,Ywkr1]!k:b +xoAfKKh7ۤJ7dU*jIClx|U9)b$;7+GWgv+>`#-8 ǒ] f&IфrSgk::VbnCFň}E4rAy$U.GQ˪X.Swާk2g*0P3Dy}. M6 ұH.~W!Gㄹ\MccBcM³jٺʶ9\;.g"@7ڴ/D|1ȥYl Rag8'<ʻ(ӫM>>5aK6 F'=ߦjAv' lT|'PKq7M]ZܼwHI-QLO]bnmt]߼P$%P\,X $k`*_Ӏ'" R)@WɃ1e$ M;JS픑8M3!9&kg(E<~[tct~8T XKҞb{aplkMV{|~\NݿB/tZ ^-q)u^b]i.»L>eV9- U"bCĽ{O>x2k%+*>pݫ% _ޝFHIn#,tLc/ߡۊC; `K s+.Էsz:$Uzvluv&[4q>LO(6V5`6]$x<&vf31YA +3j٬#`M;ÛtT=o3gJZ_K䕽~l&N[wԠ8GJĀLָߺXU:0ԘCwWFz`YTzT8Pgɠ\·6lP-Lf9&W!N1BvƥSX," |3 pp?Qm>aLTޘ."9ك[fӏsm!n#cuwanWCڊWcR,/Nm?ms*}ԯi?biI4:??N*siell)&1$qgh4FAc}B-dEM4R EE}۷Y/nL-eX~h{S Pc贽(=̅;Z`ŵ⳩78y!-A~ =t _=)_c g IdطK~TW߭1-N,1sZXΛ{םEccgn蛮nZ<25³^8`1kAJpS1iOP`EWo }u j)I$=DG`4ypYFD?N|%kFm^\=!TykL* 0;03:{x]Fx8A]1<X:~ȄJz:#BV^Ey_gO³*rv~3M s,F: #?𫂅$TꁋEW+'Gj# ğ6T ";VW®^9+qWWPKF1zq/u.ʷs`IJrTIeV u8c4/-񖱿 lLM~E|yGZӽQ6g1MC|&T=2cug%~Ȁo4a;O_FN6aEhtmQ" JYQdpExhwB=8yiZ`YF:wCXV%5|2YRzG@?$o/u}wpUX~= ,7\!T?܍9Jnj_o@?f 4*dR2Yw&"]"ezLz,udW\Wb͢Gm˨K?H'N e9p~*֮B=Z}fHVa?kNL\)72Pm|Mt=(n~taKɿirБ}RM)QcMj]$@;ԫU\ eҼio$A5ĎѪ,f_cl 6e9v(Y<.i+>+:<1(%JP@(cEj܅ |f>c64ˉt/˒QjIK۞_y4J\/o}US]3U"5yb]!{9g? kSE/TuJ8iic_%~[*ֿr8S9d2{x@7_nn ;8hp+8 ~}V+,o?cQ$ž^#;GxCU*/+gcXm7߭TCH*qi{t'| v[UCΘ(O" !#뀩CFyP 1/xᅞu1> 'ד4ˠB{VɑD$ݡ*Huu.2tl_C._;z_[a/9bѱhv'4 [蕬JgXk ȟ*:GSL]Q%gKRĠ%u-g {SJVij^;]o7r- uFDX0]y4 K>8uyv1d dVX,B9zcP!c˃m*ee@#Jc6M#+v6in}{j$;q(LrC6,s~ȟ"9_\JA@? ˼CNY>~C8|dthmtrwfAVv 6UDDG&ٜQ.N\>:mubDoLj?o緅QnmMapk3|^r-d# $_2,ϒ7uSAslpwb0x}* ܬn8sd%mF_{-ezn WI8Rt?^c$-ܤaHcݝU6-CQ=a>A5Çl)HO$NI&n$V BZ`(^;o[&=!"`i#̓ &򗗋dxɘy^TϝˣrBj!LQHv!O͖G(80AGdzuϬae[xqwbbX/-Wh0`*ŷn>p?APP+D+.ҙK~Yjc|_jjF~֨v69sL*N.Hzit=u햸o8 CtPvb } Q9{Nq!n)k8bk yI6*Ռ'(^.͆DhčmknSrdeqGn _T溂PˢN+XP@vaI]h}HʃcwUxw* /_N9g6Y 6u0a F4ϣ߸qɃ]ᕮ_+P}j62mu/ȡ!9*-auڈn1GIޡ_ZUi`U\'/!~j[З~T"+v݁fzlI"Y;+=RI1Z^Q3 &xnw'q'eԹL?KڙK .iV^BԖ~gN o 2*~ٴHz$e;di&{)|sbcVk%\$&^_{9_ ߎbx?:B#:Eώ8fhnk*pugiw'EjFxIC郯@h"-^!ŅΦg}ЍW$cEКwϤIgU򽊂F\Xdl,(=szq|yYR-רN큝oIV>Ϊ FYѣm!+;%N豄5tHc~6gvrG @<qBC?tɲҦm̱jݐ G1ג lNmV%?nMqU9^բUnDqAj)[p0v扴'wلJ"*iK4V;ZU"ldD<\QK"Ai!ҤO6` Zakp[]aqPJPuz(:ã}C|vM45`:؛Va^ U8wp_TxUB$Zj6nzmLV-p|2ʂEvE]:(i[JqA, ^ORoH8g)OҟHLi?z8Aq)]"Ӷ6g ,oL''j*)xGݿH!vTt_9擱Q8귆 Wo76$x~yFH ٞxp0jSl~()P+?QO 1TH' 8M  lls&?lJ;L5y;x,X9lS> `( ҉}2z V"}֭F@p`SuORM/܏v]"ƀ88Ekɛ0!سn[ҩ #YPqlnR5Rˊpi\Ǹ^^(ChףVxG B7ZMzxÔQߗVܹR=.!e5<ǵW> ~oK7U=M TpUnùl$\Zb2 FfpHN|칭5"> ':w\(fe䖀ns 1o{| ^dJ'-C뛰zrLu(ix=.-YBZνͅzʄOYFI|.Ռg Cp. Qtͱ6sf7X_B= {-z'!ˇ"zKA&wZ1tNxO d2ߺ"m€pmh )E5[ SW8 5)7ǧލc_kF xKs_(CDjxrs}]5}41m\i+FGa[;U 3B6'BLPiX=r_U!8.7L2DRQIʲ%M Meb<İz^3C,Um 1րF֓")x] 鯉&vd74rMItHT[yF0G[q@\>I\5xtwbF}iY3mh"_\m3p@:BOH*_P}:>E41 ]ັHQ0as1|gjٛ%lQHU@Љ`C(³$ (DCWq@/qc \} ix $VK2&޲/! uɑxdIJ7Q`3b+u(dOҀe" ǙoxwDˉFqa¨4_Z y~ 2)LۣYwtAp;@7 0s}'Benm,u$Gҡ2P=#{{Y&w&wRO BEZy\x6ɥt7 5rM"C+X.`zb1ϊZBav ~*$ՒbU,Wb%&Aw&DmGo]KcAmJ>jf|$;72֞==x17fׁߨN Ѻ guë\r LP=?C"+mOF=x %(0i4P2,բLVymJ*A9A}_tA+ sE1@S.oL}1]$Rb8R6SrRck3oݤ5K@:L(HfFB.6a#DkR. $EPXF=?&݅s/+5eTtZ?N*s/`T$,Ct0[@>'PSvB;3;R0RKge04ۭ$ >a%y4r ,_{֒=󯝐%  glڡ/6N/WCo m!)Of?F/#ܼ5-2Y=l8,4weƸNV 5{P95#?Lj(+3?Y] W׋aSJ_HfEyRT͊v.bϗ *Țxh Lp2?~J/a$ꜭAu ^AsunCZi nH>NTS=ɭo>uR V ~@6qҚ}KmQ7W|^ Q|̵]j*>4N[4~˹o%GG}[mu2{9 -~ʂmY $A.,8&b3QuM꜐XHb-a~,Rn E&;l -?1ēTL-$G <]2RNד(H?:d %dH88}hOsx6i-{cB"m+e~CR5 D[ 4ae1c..BڛzP\ ~.ܚ|F[RGq̣X/Ɍ:Fb)UWb|^w w0XRRb46_wS9OSѰ"^(Pxd?b)gIϭ[*Y 1ĔqC?ڎT*UR[mx=MNVc4k;K1`)i!`uL0[bEi_RZ~t\ ,?2˾y)m qy ga5}ƺYKLpTYj =+>2g{3,GRƆ]^ޗ 'wx;? ]Xq8D'ÓPҹh52~uVqR!)?|6!8W=O{P=ýp" tҳl|Ų~Eqasլɝ&jh.J<gvQ$]իQ![SdBF%|K!H{l2+w&6-ދMB+'01e_R~yH4-GORZA#rYQjV6gHUe7 'lCYxpSȶmfA  -LwZwF>&ўv:$\KꁇԭGp Uv$s]l,ҠeԻ e;A : ]ꖎB)/YnTqCw!_TlSc9ϟ>=*(kmƟdwVB\ TU{43>&:am<0w^˼[bLnfXwu'f+e*} 44N֓{$Z/3u|]pL,'-|Ie.ޤԊY]djB}ڋBh@}%eBlC2Q9ki<&wGzFY~~B6[TyÐl^-]Q1wxĉU/e a;A{Qʝxd^KW~Bx[y9߼SZFa'Q#"3s*kHy+v$0ΣPϠ+|sa'94"=$>o MvZb N|n8[q&]kXt3zD {,'Sp3^h햯u;s|ѹcrIk#vNCgɁ|nu} ķ2pq"Q3 .p;7篇&|_|Zst,H15}5@soQNt(a3F i ݡH[(7p[}jڲRpU\ޢZ7bNFƦNaAEodd> n֎E1h\.R$o7?"\\'}=@f4UPb2ЮM.IG+IUY7Fq"{/}M|g("PL /9g ~j#V/k{=UΠ5;|ZAsdY A+NвSj>KK) 0Jw@YoJZN#r|k}%(/~y;:ϽbQ[ꑶ%h>j?fuBRLrM(-b\jIεɑYbkًڹ+z Z mΧJedXҀjZzv+fk)2z{u ]{h"Vmf?x ooeM'tɣ i4Qߤ_7)BwP#$JvZF1Uj< 8g,ɊnCMU9']ђNE5zo}>g؁>(<ωwzv1Z[$Xzj՝:O}65L~8tcNzz,@ ,&5=UOiW:xiO^򸭛j\gFSeԗ\T9"(N1Sxn]\Q|n*,jߺTtbWbHb(U +2@H( ljܻ8Iܗ.} ,Z0.Y |< ]9] xCBs!)E4tDYrǹ`ـ+3GЉG:='N2:.>iŬ,!Q$ZP d87MO F]n|>m0}S5,bU"gȅz]埵gƴKM/o\ Tozb*d[H|:M`{Cc[ꇣvo >>LO 2 ߱!PrgO.(oDC\' \[OI!їWy߉w=_|/U܁̤I^4Y[|7kxW|dhtԄ pb28KKȞ.`[u0%]˩ֳW>iDmvh ;l,~T ψRQj3w񀊉aQ^l F83C, 6 sW#fWD%@a~R/¿l' 4{m\S@R=*TCdaG1:@V0E̅ 6.dgږ?ʿ&<;6:ˑϔ6ہZ,Wx6.De|?԰C*yHu K=)8M>qouih1te`&0uz-h:ᆢ88`5h_^i7riRol<)t#?܇[cgY5ײ36:#mo2H MIq2a}'h S=QgΤK~':Hq `qV)]qy;6ow+єSYn a 57`%%W Ut'8bbyuT37ѣ֏!ӫf\f3#AF̿2H5+=|,ܩ{dX-lR&8/%c!|bl,Z<[N"<{@-5 Ob} #\IS7-RI4 vOyrI R K &?v T mYdԡ"o7Mthp mJ _dT% =T4;#!'={K% ,GUwyJϩq0xa*7OQzE{4}q% Q\#ͷpHQZ#Ӆ@,5ۏ#'e&"B%e9rB_s[v(oKVfZÊ&K2^o:0y&\WH_:t٫"?¹xK1O"P fl}Akt2Ð%17Ƅiϒ() _ŴI`*s֢N"+TUڇfGi"@KT ѷ\)B宠b+,G0=?9v|"[ rڤnvxڶU3D0[xo؛j4dBGs$i7e'y9BT4]3)Vd7%{d 틤w'B)c$MYچ"eVs ^;ilaU#kT"Lq0HS;/l~r-~u*zx^p(O@UK% }гL30'mf.C5G?MKǀ2[w֓䁿p)]E+ $A0ĈD(b?;^a#u6j2:S1jɶOJb╍ke; rw3+s)[m`(n(.,L8}ɵ ws[:\r:0nÁY}JLJGڴi~J*#]]!f-@C|z/]EeLtM|Iu]o3etRILy[3;xe -vAb#뷣qN=)G|Rɚ(_&,(4]p]tԾ^DocдPw7NQ0k-WG‡Vۮ' ="PO"ٗi7n}a6@q?vLbq kڕ'C%17]FN ˩Pôtǁ$߶1*;JQ-qC=x% he 8Ac}5bӝbx\;~ni(XU0˚f;5*D'T_]>2tx7Le=LJE[WqXZ`w{#?¸*s[-8-pcǠ߻u ~TKpjҁ͖l2eRwlY М`IK\رA%wtp1ª ?bThye;s0WdZ 5q$@cvT?q+(#]:L uX%2>y gUDSŜq5HFe`r 3s<ٹ) /˴2QelbNnkxoS%_cL)2ntr4Z'ZzQamMf̐1sFÁrT?by^ sw{Q7LaV$0+<~?ӡ'H+ȺbPu܊bnL~򇧔LYW>h7?}i,ߌ/Α=xG`^axmCU; ERoϋTaiJ_];VS]*|T'QG?lg=:ᑵeo&CouH;l1Wl+7J=[ĩ;tϙ,Yلg"PD=2hXʺ@E*v4نA˔"rֳUD: Ay7o>r%V&IsY܅#}z(_eԑ" ꄥ&Qf-ߩbD"}6xQBVsuYңu=Xo, Ua!V ^B[k&)NWL[u|g}n:>̿ uIƽ?f]l7} G/T#<\U +Y %{@xo"f7@НGD4M? M6m㜛Y`ѩdS~ WDLB36g,K̒/|7 )SϽi{=/*rG4jX! ?OZ!t8<ˆɣVsl5kQ{5rLT LܻL7c䈆x녞CE@MA 쫘ryQ'"pO)r-u}2?M f׮%گy.X:h%\l/]#QƴL'l; " 廋0g{yxcJRb P>UocH ʄ~3̓zb-wŦ5ol{Jt5m s$opV_L,j$%鰶CVY7+ x`BEŦ]M@~hJ ̑k&q cP^tcЏ?#a!pZ~~ǐ2+&̥WN|D>+EވzVY_#A@7.G0fP>^(,o.5q*#$(6f"qJenHks -ᬸeէceF_L,#[$8I(JCwZg t P?uhIӱ@WR۶M~uJ(&#Hv8yp3Akw'5%XJ7? 35"K %]bw"0x| RО,tΫ@_(+99 TdE쉆%|IqI2!$7DLnd&e(U[[ʤ@ϽQƻwv7UXTu5=K^B!N5b~a=p]r5 `p_Wid] {Qܑ6oQI}c77κ+ \geNP%|)rJيk|'gPk^QS1}*l^ş꺅 rN - H, ЭDӿ6opg43|jׂ!̝ʛo);-CKrMޕHՎ q/X 4װ9k=d̅ {cq@u&I#1Cµ!v𬢝*ߧ xD2N_HVXʿ3lpa R+8fШwQ_+ZY>Vd7y/f m=@:96mT'kxSIcI$Jǚ]O5F=ؒ0ش@ f $}Kh6EIGU4V02@/m^5~HV):b 0t\'Z:Ô߹0r&Ůi̬c`x8f 8`G6նFIHPc g%Z׹ ,1~ PY[@攴eD){IК?<؇gZSmƈ!Q&9Ϣn~adȠDxw5y7e dwc z'ں4\d{&R_#M)瓥gO#cx?_/;qa9Mß //QmҼ FPn@X[c:DbtDO C#z$R8fm+pm21 EΓ&P Y<4e"o3m6{zJM26WGJB"Z%Ք*n<`$jz쥉GJ2>PDX۞yLN5>gRg*;a[k|!.D7R"*>{gSk}+S)m ILP0 K3ou/HcH%ʀ@f׀ʶ &o)bŴ ag0$6P`̨Y^?wh[vHHa m#1Qd>)2> y]9{w$0Tݔ+҆|_ 6,]8kvSF>AEŘ0(7/_MmEZr>u]2ۤ۳WwCOF- [ _(h^d w{^=kSEWߡc0=I.m&$C1gn.~p^P﹋3I^,y)3_;|vG>T%c){&KO(ĸrh) F<~oR> OY yL ^biļ# zJQRRdFِ +r3%I;Q迋d_:$ڨn}CgF#dkNo8 fV<& ["K'3C=tሞܖ`QV~8jGF3*,]qu@(zɅNlѝ!b#̣M/-Z\0/i=Ú]oBm-E5mFwpdɓJ<f|+JbWJ_UZk6Hda0M',$>PJQ.}YM6. =\ST%:/u`)oL},8Z;}9DeFInV֊p_3iˉqRnVa8m|L`$AW+\Ղ}DJ*Z 0an !5Q1#&Xg9ix ̉Y^?fRI̞6{#^HZzkX"G0PWy4z)ǩҕ*.1:>V2WwI rc=>9R0tH}ٶU4y8ytq٫y'%(}0fT᳕X(L|Q掊S[} sg3:2;dSw~3;<\DX[zN`qF?Gkb u%QLe&3?bT1,bfrZpHt?,[vcN>vS 36 /'n8'^rH$&`d4D>;!^:w/9u۸-4S6q cHy-IOv.U AW t29ZFX(SfWㅕzpGﵵ?Ζed37ׯ!vD :h987!K&%=Pw}},ȿ'̉B}k(᯴Td= x -MBDQ#]{5E^@BwЍ}9 1]/r,mMi#SN֍aCo72e!kw%@qbY1<8ѝDObOhGnOopK:8`"/357?'V$5:XlU)~v8敇x MR)iU0B!{Ȃ Muo=t =q>ޘ"І$@|Ɇ~lu/I)dMہtnԧ3؜ H~B,캜KN֮HX\m|x)&f:=op2hdLikWEqRc8gyJHUYtܔ\tX./aDzNQ` k*!PmmK#JGq^Wc6kUH|>D(G*ɂg5rIRtw7¦>Xt }X>cLf]Q6iٴyCb'1]͜yxY: 2'$ޤJ貊6h^Ժ_5< "c!İ*<6׭F}maYwWAg]iQE<:o9|Wq`"}<0ZrjƱ7 'ĕ\&Ix}~xC]Ǯ!3՗ hܾ2ϣF#E2u" 8(OEsg OzG)o v;MwlHMv:D`7Y9˶|[,GJ 3Ry1,`!f#@|N0' cDI 4uS6"۴GZЗi{N/]Gl֫Yx71##(T/ 9VwE3hnM&=pN̪2 #|K~\,%+)\&āRI3"Yc(b#=Wi6 8Zw}BfsI4!_G& ߉qOb%*KQI#.l= yTn+oI=O:ÚXl3TG8]-b/# Ï(w/F(31 x(<<Vw/ e+jc8^m>!.H R "19ܼăe=rIr].f%Xl m#y6^Q긑&e(ɀUɂ})~pjLEHDbH\ؑfmWiTW~+`|>~b왶EQ'R%4Mơf` 3|"^ }d5%4Tc1b]#^O)KYA"Һ'_¹eCKx*O7MII_{න 7#}ôGu+6-J*n ;wqr!Q1j_To5S\~ț(܀YkFgꆫ+r߼Lejgi|hV1Qٵ+w:>?=Nס9 &c4V Nn0Di aK&63>,j qS| f=ɽ(x_| du "blM]lm/Kg˱R\&j(RM]m+4Iseg/Kz⅙mبo"i 0yg PÌZUW5l㜙ۏyg,* T;SWC1@_eR`Դ܋'~r15,Ll#k%Z\tGm]\Dh![س 8.VI>]=5Q*ڱ 3C-Q_ʵh9|X?=ߒ38nJ Y/^vP Z${/<ÚW#UOϋe]7N:Kzj s[ Ag qIUM{.a~'1MoFvuhu5.! o )>kqnMʊ)/߲:7wɷ8\N]2݅ꭊؤr/d9.\4y>d#OBYO$@lwUbm*XPD ic= =RC&qߩڄ`-\/L65N`UluHAU,Ø{6 A&Dl[g>+Iݡ_>f# "m#^򟋝ꤱimd}t#>HsH+K?2çGһ=vz߇)JӍȮZCVshسoӃ$нz9cnn~wqC"•FXeѓ% an~=B늯:zR>}=*/z͙fZ渨R=K:Nߞ~ cUYqEf1>_Cx⥬C/ 'C~0[G0p1NLP0[joj#~ =N"W@~wоׁskf ԃ"]W,ìW8'4&"GP6GD"\Ky}$՟sOz_^TLGX6cj !flbNJwǣrn#-[} {p'|c/fKFpNIxu)G2vЩB܁\mnPEs[k ?oh)` OJDT28F{dB&eNYA?GHhd̟ ѵ4NM&`{IGƇ1 L{D%[ϸ9_E.N #U}z>.g@yI߹{U_NRK}ojNA40?~F L-l}+SGf*=_d&oPnWQ$C5D;K>O2r==7b,;/hVN{kV?@PfRu) qh<1#L|`q^= E`em(1X-qYOKb uFJjo fS< ">pLLܓ ]էLyr uG*X۹QPL1zѬRȸe%ξkYW{sLp}K)[ /1P/Ӥ ?ID`CXa*>sƓ:k3XebyAo:K5mfkQ+TΖy.ZuOYO]B'VӌV1yzNTi$EM 6yns'=z52ttUqž6δK=0SP @ϧϋrB u}. iLoLGUè^$jz]4O~! `oOe_ա˷V:p&xz*o+%c g",^[$k C0zz#PME2U)zeڐkS{ |#3܇s!XA,oBH.,ȹoÌPo*sȓQnBņ@x/qi!*;[|;2`gL) o'v}7 [ A&S'B^_M(-mxsT^IQ7遽>*a D˄_iSJ.WJS0W熊lİ~#^XzTiIfǸsE(}%y6ct76i D^axqAvy\pyYy>2h<"DgT CZnlNڵ^?>Ӓf^<NM9]+kP7 W#8xBML!zѹ)$j/qbQ%}hx2닲~Bb R䞎Dkx\PTVq*H& }8)r)_&׿AW}i\oJg;l:*)'KWЍS֗ރ`Et}T/_oG7Y;N40Fi!/p!U.8A'hbc) }Đ?[.JZ ; .AdF +Iamwp$Ǒ@_[1ה+M6`WJiS_9"^R[^< 3\rɊDTL p,s7=64qPV + l&6ށ XX巅WŐrR ~+7~XS#nzNDonNs f<ґۤ<ُ=Q-T6됻*ʊ1\ə}?ߑ* k' "ˈOfF N`%78*+Éoub,97}%LThn?Кwr#JSdܚ3d;w@u3xї'F>x7I+Ϝ_;rAo⭁!t$sx'iI1UqG2xR+6Q-Yv5kK|0$=}#ͩ{iΫ1rb=Zfh=1ƙ4 (ӟR~7.S>q&Mqq/c"ƒOS;K6|ۗ ktWsyޟ5̀O3m:h qRD=&•B6r6B%H}SW7AG7@"4锪o"l9 5^B_#L!޹U!7] ng%9޺biQ=u|_`^ݔ b MBô~XqH=߃ K|لˉ ';?TDBER=R}Cr;mL;9[68otQͽ_3; {Fi( "l^m>FHA0M?ڟJ/d_?@*")p.Z !o'd`9IIK6z0s~. ܻJ\.!v|6-}8blYP6 ޱ ׵ m5JA3o8e릑6z7aORsiM^l Yh5\QJ}6:WI9 \mz$~Q(^x!S860; uD;C,Œİ¾hD펊Ks+-X#ϯ"oEh $ͳ wfBF^qM;h]Xi_N[ DM$xŽ;U"D08e?eZ-!ŵʎ [ת.B,`6&!l_z+BȄ[ ߸O5q#Eoo_v"Kxf=Jm'YVA=ex]j .فVպsi~/;w%r'J>JDRG9D1e߹lR7BI'R_-F"dK}dGdeO8N.$/ȏk7X%B,Pj+b| 23~9=\u8c bD_W׶+8UrUDRyacFp?S+*tI0DdϷnAZ!}.(ҫ}p]lJ.%G`>@zh5Q$y|`62W +ٓjn8l#y#%+G2{ء9˚Up66V VN]¿m,qQue#0Z10b[FNDOMr|,W D̲g!ԣǼ%rݼ仪J\HE/ul%1a j\`Jav뙢N"["bIfqkoڜ ss^Ug)vdmil>ge"w;#XK1^?s6aSY)hcœ(}_TijzSڏ~h޹7Ad;Psj9zٝ zਸ਼7*Pi)m§\i[ y-^7Ѻ) ?>؆@>YÅ"W.zWK(wv|Ҟ^">XfX۾><6; L ' X"b',AlZs3KA+ޛrO# &"ޣҔٞo﯀2!U)(񱠱#ģ>_I=xikwnnDZ9up=M!Z,F-2k00}Ȕ5#U}'QxXrC .#;G2Ҟxe%in%Qh$Y¾Ǥ*~甤X]$`ԤIR g$˳-GU#c*:GFE,W <`0=uu~b{ȵ ?gJIjq W^0؏W߼`MmT<8|yH%OLQ;&K_,?MAv(M?sxHα . {ڛ{Ug)DK!J/!'~H`ejk%Yon-D1s) Ik{0=qfCkVN(KkuG0v1쌵o[9x]Y&:-l ZB 4R+0Ʊ7_x}[$Y2[Xϥ pRpo I4oֿLЅ@aMb#i e5^ok֛椽 >؁ 0 -, Y_ ^}ISX=1fykJĢ2?vEyBǠO\/{W(R}`d[%SS?Be-2ʒ|ˏs/I 3T*qtKB1,LfG$~詚E״ctI1{] Fbo=aPӉ (jۛG+q||6eH~8[P5H0;qz܌T Q[Tt<l:[V9Uuf]~dI5CpPb@] 2hfFJ{,-שI[?WHHWr':`IC7S^Ljh.;jx.܇ެ%6X%iv38(E'Iݧm%++}#C 8rPLDO?{_5c7jP*H^ƽMW]*. ˲<,:PwUkSs­TG.K< j9_2m]g1 #\jt޾57lM(<xͰN뾏{l 3Y[bJ\΂"Ѭw_dK1 ^_^%8.腹*#nZZ[$a~했HEnT)tAxt5B䃙i_O&t >L?,iC*KyR֋_nI*tR}8ԡ`)󲬄e9w|OUVkK?ۯ}g+rѵi1n.hD6ZZ'Aȏ&aO7-;{Yi*H]鎱p%h TgƢ RR!_[L(Ń#-Wrx ;9|KkO|rME9<Š) 4p*R?27S{}{$ݜ4x >[.Ol,6< L^y:ғnHJ#Fаu-O .BMŗ߉]{AA}t]ĶZ1UEZ^$٫H a"%N͋N_!_@R!'mlوJ"b<"k,+/7c9|]jZ3 Kx&K%(;n*\MN^>PvŰmS2:`_[/* ]^;@eD5|Z َ^YwЍ䝤 m"3,ñhԎ]ʟ)%\&NU'-Xo01|hJHPt/'񏶣ydVYi.|[S4^n(+l9.Qa~Tݯy:Tز%'dACYS~v "|3btL7䗿=R8eiR<4RV0B8`:0 E_()irB6!NL<;N>hZ Ͽ-w=bjׇTDm{jo!܉hAZ{8!S' 3QAgXkcAΣSaԘ1IJ/F74bIPyx\CJJ0Dcܴ2`uߘѹJb6r,"UH菜w9XGvf\8]b@t%69P(݇r.o)%(ٸ글*jjA$}(s$ұњfh*끾~eǘr+׽$ Q<-n2qRj~\˒ǿ5.Q(1MphySfGٖWV7yv:x11ݛp:*trMWW&p%i(S8"n B&9Ӏ|)1!:A3;4NvGXD ĩ[ ;rURO>MEO4@S'Fn #C!*$9j KU}¤}]Z0Nt.06J5r~O_sܾ<'eqv{Ҷ"nNo*6HR{[>?v:"'x0U(PH2J~}xvjA M1eٍN[Z.2KҰJQl# qnį=dj>r 4RuS&cC"<g3$7w` 8<K68x\k;Ę <8Y{aVh&Z}H *X<0*>g`Ǒ~ţ8HVn{俭}Cׯpj}J+@.pVP`åW$ϭ3k av1b@ A%3ԲtEKaFb(Glug+%KTR`*(-*v.[iA\Ճw |oц.ΒʈSG޺FIC׆3 lZ9;@Bm }Ód_4܌zm[sX惿(Ӕ㐛w΍\{d69lV!(4rӇZ7^AL!ieyIwTQ[ee0Ͳ^n]~Stt>Q,cF1eTWv&o N8|μ%d;z"(V*s`) hdmVMRVSb&.TSͥ87*7"XU.g_[U/끓}ed` ? æ\y:^,0{kRodxݡdI .5^g젍gNc|.#\?"d)jat>.w Q( 9MCoMEc,oĂUmSs30 t;6d}3lBeď 姮,!!'On`A/^Aior1=)GMo|^BuD'`C%ɾ y8 2 kZ@ bGdsgxwp> d[_}nJhz13ln-s-ֽʏ)\f>np;3eP{cQ"}ג4FmG2.0*V/G3꒞6!oBiK{*휖qzSTa[ )k} SiׁAng@:nls=T'ǿX26_0,VPޱ`\| uJ;M-7hV[9n7_T=ӁMJ1a#`ɥbry;۽ʛ;Ɠ|XSkA/P{- NQ,ga>(z -<V@Pv0<AR)*aEd/p9~qI~ ;iZlz2f؜hhw9_̂}K18Cn.K[d)0 Le6^' @U{7sl6Bn!=Ǟ߶"`, Y1F",>-,iP _rq^h 7`iIZyQxXU"˕JPcTTL_0ϝbE]1| mQWǴ\ 캜PJ [Pދcl}Aߤr[͂m=I]>Ho%tT^D?xp-a-(ۚb@+oF@(c*V{ fr[sS4rdMֳop^]l+<=*3r.#uCs:qJl_+:H RYtc7a0lP!3w"7>lUqRw?ch42gJ]BcP@r.&Uȅ|a UBD;R|( dj.a~, 1(04ƆpOVE]TA5{7( D̲E%k0xT/ֲQ8z{dfbH|/v= b};ioK2МDͼ*nw; PT;$bJk a&̶)|0)mMKz1)mCWu="pr~{ddFYl̕8ᕾ{[΃{ _F)"&1Zs^䣓WQ 2Qj3Yz V! COT:jfy*mE}ˬ-U?Nb:}tWGև%w hLeǎ\<`TUo ;}WRb+/r.Ք<Hs0A{FOz,r[n` S5rrqo`ˍ+Y6? b޳m/ iʙkztCeۘ,wuak QR~pK* & e[-G#SC~b;xl_7bQB,a<^ocI\ыm~l2k\gF հ<_ѹT |4[\5 o´("NBU./TĈ!SvW›+!Lg^TΕ ?:{-RVEj3/r|Q:57w]#Jҋ[ҹl<^#5e@ ';2biiv ` >: 7ȼR"fy=uL߾v׷o~#ƾ'b6V)ds5uW4U|CWscZkĤ5կO_xfS? R|~ l)rN(3/iIvqVa4];5/ntڒA1g HR6OC57Z@4HY]\Pbvgfߥ$!/֟_12s>D9%b5 zhd9ڵwNYbOcjJOhq-}WvIJ(c%4( &5`X̫̍.u1:Cp=a{}%Jv::V=zŁ-u_Gsz{_Ѫ%A}8*%7!+?>x]A!$f2hI5V89r=`Wt %@M0sFJsL_n^w>P$ R՗bO6:d7NM ~leJR61f|"(Eμ4;Y}YΧꀆ7:wVOp:[}$41]sܜFaߠH,ϵ=kJlꅭHZ 2bqCwK0Itg!-=:tgP:<M&㻔IVE(Qn#*z$)޼"./;ckJGX]̦ 7-ˑnjRokH"R=T/jlGC]0jnFjX$xmq,KĒRoƒ?T&vgs]PK:0tgV{Ȇ=e/DV|%"L[ψo$7܃[9"cZ.c*ơ:$lBPMfHKҌ"2xg@<*&#OAcXlzѹtr:"'vXY†^InS[< jG!Vu¸ (قmΕljQ@7劣edbAB-3i["v*>ٖ#mMnSwŹ"oԫ; ]^O,+߉|di'#$1pD0[05G% ۫saw.nHŬN>,*ƒӟZԠ3VË%\/X""Eb^U+WoWN{"Ape[F2jɿPKDg){JoPam2k>ǥ>5W`s讆e?biPOQHE= ʒ# bH}ԛ6AN4F:]SV-GhR^!H#fl<2E6JUPF Ss6_cj[~Ervz:QZFhS8a Z,25Qrc1ڡo|%Eu1` T>W& _wL-_=9,0 (-!a%A͎u:oҔrɌˏ:?jtd皘Tjyʓ)6EvudcLE$2K`֜Xt-.z7Fzu&ߔ/+SoE<M g<r|_Zz8'&m0z;cˮ˾V~0Eg05lT~LS[**Px: ިpWhr_I.V A/>Jz*ɑο/ȖK2 J0˾>Dž_JoݳjFa@̝?o!oxx+ץ wfkİd.L*Y[XV] õ ֣;|Ў/it.'%(LS; 5s_!ce8fj!qN) c@_ZT% l% 7smylzE63| @!lh h㻋539'ozY)xgJ*>i[W&تJKJSn۰TfVRG6?"tzY"&7sJ-ZתX#$q65Ho*.[g?yE%{BСck:J r!̸Ձ}=SԼzkœƎ~mGwW 4=ݎ,ÀlKxAYolldiF?Aۅ>oYNrZE+!Z`!#_ھ*M2#ci,{ vyIr~jp؟zP=TYzy"vF-=X*/,'`k~"Kj ޿ŸlH?5l~n;HF\Ď 4o}*ř"p砐|0AY(^mFkJ!niMZ-*T*>.&%F֡mr9Ұe=n)ڄf`:@J%9|%)ޛW,>kM' l`>Hekݘ>CG'ћjŗ8#<'_)h~u2-80HJPCbL^0yvʵ0| y{vM {d!z~].K^ c?)~68*dI0;זmmq~[ֻY [V?S,ͧNnO5A(ͺa3*!-maZi%a;.,SVI7K'Jײ*}i`9JZ_lR6lƸ~aGdIOH1-Po? d_^Dص}+5w'r5._323v9U* œ_e9$%xA1B6;YJf䱮i>R ,Yxobu)p|rQLn}h}3\A[2P NY#%OP()s~W3D͝q(s3v֖4zA"zt2fMVF\IR|~oc+/R ]oSXHf\/1e:ϴP |B_OvRm*7 _n[эd>>$"^Q ްO)+k. b_H-D!k'F]֫3;.mBJw’}q$e%俰K i6v]d rl.7$1,A5Iky1hD̯L_Jyii oKNrM_Y ]1ƻlQ>5'$2i4iO&p1\t@ەwϷ*j#c`ʁ(@!HYj@'2oaO#jP$fM!XzQc]kcg~m78aa(8[u12Yu3/9CJ f덿uq {IOO-*Rc\@ Mv/𼁷{k[ҵ{=4lI3__TdN﹤{7<=FʦMO]C4F\Zb9Tbјΰ@eVz%c}=CQ1 ]4, r|7(>>}F%lC6Cgs m΍:̤4ݲ9]nIv᩺ EKMY K}%F[m4& g$.sDC:A4F$KAqkT,bHZo}2鳴L<8 /u8 1n0l9tϹA}oL@ޘܾ;M0c|JSs5/UdY>J:P k ̄A8Lkx*͏qRث<Zک-, NۺOӾ;N삛ȾMW35d)*"IױDVs&Yk1Z9;UXۙ8eGU(ʀ#u)[/#t.4(lRWa? O#+^uH)H!g2+Ň(ŧ-kJZƐP uo/IR[4_(n%qugɳag<ڶ3K9XbE=f!FJqT mX۬DNv; 66X*dl"\9WOc-i|Ⱦ9׏ža^r$*!Azs1N![8w ².Ŏh= ' -T94VմҟOwY&0KW6gi-@^e&kpXnbظӞxҝ7_1ygA |0M+xKIÛ|ʯ",S2n,?NqS7i4]~+WPyhx2D"-?DC^%t1HG/~ Oh*eEW-}fOn?/u; rJ-*;+W;NjDbo|Pyx\/eT5ݙwVX;oD!j$KMbCผ̓_7%w}۶' }țzH ^Y5[\}\70thQz;M|Ib;)HCnqk}D8-b1)}rL 0U~9zXF IB⃮B,nc&k!{Vm V4W4-VBr,b3J^ xW؟}d*`oDFHM]Eq>ziX:@(,Iy޿UoG{AcvVSWoROc)>2Ƽoa{cmR$!|sQ+Ip%= 4bDm;Ͷ\U⦛UB-Ft1v~'E7b$ʬ7}|o6ǿ.NGjD &grkQuU1Vs|6o/E@`2g>U&y;f{K'& Y xR^xJ)jQfm}x@t 2Dҳ&Ay[7+̿qua|md%z%l[sY!|}@KߕcƬe!)?v*y!<&wvTCE~S+L$/1x ONgS\ݜM]nOز̷;} xxv3ޞ[~'с- o7  ז(Jѱx\G&(lYk ݃ t}( 7Vr ̑Bl҆9@ly~'(^z@V=:c^8>jԹG?fEDh{!va Wj¶C KEՊrH^7_03Ovwj,Bʘ=js4K|2pKy6,_{ g*FAo|dl%(NP'Gw^3/a8´d17͊" 0 :XsEoQa~npE(}wv=ijڤx}Xs='ĒqHaNh5m^fQ/3N7X*mWӚrQ)Xr4޳!bJ04uZ40-TǶoxMi:QFMr{ok@s#\lŇx+-|v/K jt(; =[)sov | ޟ=R ɚFoҕ_<}lKXSCC1IkE e҆夜|m<{d0ol4AwM[ y`u2IzdҶ{4{LfFqFw?[w1cS5 08}gl;ߺ&1#5W_meU,C)Ƥ~[ϵڡ^ x {Z-~dXI t [lia݊I7Ynq@ |)&>xœf)c1mQ)q u rva,DdKtv HJT7\ \Ny3QrYY!Z̤aĂU-:H`Fql6{)afH.h? ;fPgő~Q\Ea,>&c?\P+Q6|J꥟z;~r>@Egr.V6|?(dGl3TU v]PABPH~,?QTJzژFx.l}reߺMm?ƦhF]4fsTqX) :ŏ/8  C!7Vz,ZA3%(PDLӸ&))c|Wc?N;W΁7ǣ#csM&3lJBy:/ɧlA}#gk;Ռ{r">P]1]_8g_ًO3B0+죅g!q?ǵ{ʻWv.|J|OAd87"L,ӛHRvtگIqJɓ͓tf\FIJe\-bRcq[z*ÄH1]׿1gj=pNBN€^0vA[A0jekG nZk2n=P i{hz>HM=e}*ueƴj VWqYSwg=!)#?#nRj[ VG%\bK/V5B6pm.i9)];828"4j5Y`0'd+.$G j,F}#]ƌj1$#>.W#UC㐈rGƱk;@̿91XF yϴZqT7{`"\8 27VL!y*-~/~Y;ک%U*7P.`j_BEefm} #s4mUtYw~ch)(:r OHrh 0DHzV#0&˧ n1΃'CT['cۮ޴^)A3?Rd.=_bV\~ᚶs:A2+D?%Y뚑GyR")bi1vwA{f1w> .p>SsTJ ηQIx @Ɗ ˃L:}OsIKwN}$ZgpLt}αm0<gmwJ λ0#qZoBw>'5Rq Yz}kl]VST%ϳ ZzxQnKۀp|O- a٧۠0rF!ҹk{tys0^q;ٚ;НTB<`ێ*(|_7%3bVLjϬu{PQ<]NFwZOTş n1#@ntT>g!j*% a)&%GdC3ޖ4cl#Ҷu5`K#<@2oRXuy+e𦃽+b?/^E?M9ͽjP3YL A/e(ft7pf@A}|S?UP돓_\eӘpj(M>ÈjMDLvV\vqN~usol!&g~&(01=t;ԍ/&: -JaerɓZwh?)s8YXtgaC9z0;S֧\Ef< D ^'A.0OM/aƭ^81E]mo+ g=l%Fqgi>AHšxtD,A B Xݿ@10Wt#t h!IE)f A S,}>]r%t’o,:*q4 dYҗӦr3jYb[E=^su~o/ Ƙt ~RP{9&g푆j2/2؋~5qpbMQ?/ïvJԴʛ@#=R8‡vqd{<_ jٽn6sKQkoƤ?6{k4J:纖ee2;=KwۃKGFʲ`ӺҫGs0SѡZ/#/2SS%_ryE'5ಢm*񖏊z..嗲6M+% 7= v_W tU1:OtRֻ*ss>~L 76\]Y2"Dg9EmO~19nr6hgn! ޑΏcnս[i iSVvPHWgo& )>s!_DXlSd*y3] _y^#72~_^kĀt)uںCrIԼM ? % Rtz礿H4 z~j܍kWt&PV!cc'#i:AP #Tc+C^ܒq^qq>?\)ܽYUڠDΠ'iQL'lԿ!VB(Ҵ TA`@|^oon{]Ժ5Bi^˨>B:Coc$1dN8nɿXӪcvt.+!u0ٻġv{?UAK1M*wI9WDx_CقN飵ϋhs򆟋#׌Τ D.U ;yXjH{ KV+AkH8EF$7/zJOrڝ%',cl3>~!==pv@sE_nB赫I삝!1 caZ̪>ncb5G") ^WtpiV*6 p[U=y1C0K3n6B_Ra X[OOPbX1Cd^,sHAoѥ\{ὄH^žGuݻOO/S+DԾ1Ͷl&#*%S;T"> lÇ}B ʑl,ex yod_*& ?&GI>V3$wݼ+K2.i~eL&*cVI#B/l?5TGKxK}VVj} zP'ReB֨N'j}%C=UQ(Fٝp.*?z/l:qV/No3 6s6|g-A`dFB>5ǘ'Dt`5mw9NWWejMi*9á|+ۭnȲ=~'*,=gT#بƌIW<0Zm@}pR s[Kxn5? $N:Glkcŏ#yZ?6L%= )G"-GΙi|1dT _Rʷia܊_ȧXMWӰ*ەj*s=P nA8$(*lu^gTHҏ߃SE'|+KK9VE% ĵ{̓xviCǤm.%P=hF&Fϲ%_;afFs*w6`zU+Ty^ cY<`;lUv?)vװ=/4S[(􍖹v?O{Ϋ:+M2UhTG%H0:GMHpti8?;3`$+56-{:b|&]"yLӆ\狑R,',U@譔ZS&8َ2? Mt6 A|ӓV egs*R g qq& 'ZϨ}2 ?y5Lu02UřeF֞Oh7˴^rA9!߈^B SΆ;Sf2vahѳHvkug;:yM^;u$'/WfBhGfvC3y쇀15]]p]f<)ĘNOA`tOw|A C)7 $cc%ELXms|1PJ`Ax'MɎ OuZ(3$-vfwD"sWog! &N3i"g o[iXf[xHWatg֌R"j~D^5_46p|\zf[INCKc_C" 蒥OȰ Ǧ{lA7>Vm)+a,wʎ_((ƒt(e.8 fmC(s0_w?W%@= I~bÄK EУpс+GAQWM'];ZJBqxF|/HW_oNH=!JoQkgAA2KW?>»חoxf^zgu_zJ]*eR7 !@hVX:>۠ad^y2IR&ѣ_蔭5a)΃xEpsP>!3U7y3ƹO!>tVh7p{.9AG;=k~]`D?!>A˯5m|kk!ƆE``="6 4fU^x;nbR~\k|lg - K̳{1Dr)pX ;'%VnίC2 a~)!IKO4QT/wu7 n=(bܗ?RwOYkaL.FD= Zr8 r0OK)253LQWA6Ҷϫ )*Wǐ՟*1QTK@Gi?]A/:TSk`ǑvxҠMնShmmڨFȔ>߮\_}.e[Jwc*jɮ 9ckfiQ\ :B!`w8i$RH h`IgLw lrH%O4uE%[;) G,ς r*K$D[z].uz DI}Ej?тufIj_.DqR6@vu5TQLoaX(E ՈkxkG' 滚D#ƍQ ,uf;<:8qlD/p;mVw#x˴,,4F/ wײo+4_wi cQ,N!Ѹhڼߊd~o\XYޛuV|,kϱGp3^J!|};p&I Trr h[Yui{Y3WhNDī“p& =Zn*P[vfnwrR|Ztڏ.K:91"Y:9D^uwCQ( Ĵ}> 28I^6r2Ma֥ڍh]~g/LY18 @zmu${*{x 9tG<ϓabGΠUP. O{Rފl9H%yAJQ⡉$h?( >l2kr\~%4}Q\e ]Dn]H5 H@ͻB${CSS涔~ɭ F~|VԿ80^{ēgɓ` *)0IJ X1*O>92Q@Ӿ $绀a0wMv`&m;fDحi(qS.$IAsԋ@ "YDtNKN󓆻?*X{= fW|qgQg1K_ɬKq] cE `s߿t2e}HR4a=2n xhyr34IP^U~ hԁ˔JtĿ[9"Lvߴ"f[k'{C-PbʱeQ)0ٸuətܢ`S,AbenfڟIEf|WWBpl1;c/v9cAcx#j83SRAy>; hH#zO'qƯm@LA%RR~t<0|Zѧxi1„4e]kEp9d~=_g۷am~qd%8*3Q h usLyRpecMrQc/ᖫMGv4n: [dkJ3t`@֡bSĶtl W%p j|`X''\xe bhꆠvڼ1lof~VTM6( `M}!phjFz@f O:'"A:݃-9Lb?k>p [8л]j|}#/wʗqMMtPw ^ttie="kPOsNK m b$eTBGFV_j#PGW # %bXtki}RCA&;raKDߥק2S5}wPz@,:8*q|/˜/ƾw+u{-?E"ZIuq*xdӈ52` 0L(Zξ>d 1Ʋ 'ָ]@' jd_@S"}sת;e7(oqbL*/yljvlG8τ 7{7 }|A>[*{|I/B=XV{go[BL9 ֨Gkh^_ wmߏnȟS`|k TToqg͕HS~@憲P=cRk#|4˨+>Re4LoS<Kb<AV)=L"XA8n]_-Rg|9Gk$AX8? qIYIjO+9eF(.2EtG_(Dk~ PWfMڍgАL8ߎ>QmW{携;Ӯ[ ivRFU-лK k>p]A?%Ԟq @d8M.C]KSc+Zw`X־/,țKAnvu_)xstۏi:©} /PLǣZ?;_h~JV C J5,5Պ6",1@XaA"fٚAuY): B# g̍n(_)9K5N>XɮM!@Z4KFTRd q:xɴ6(̉X~ uT:;+0E4JrSQLOdD_(to0!߃"OI:q QʬI!az9KFO_ryTFb0{W-Y2>#V} y=P`1?~UaCOYgZ_mdqH-Rk-ձgԛ9cWFsE}Yʶ{ `bF$I/7gwc.WUdG$o de&E+6c0w *ͯ;yuF1 v 7vڜuo#4lr:z\U1H\񶒂rKahbSx/KaEgqκ1z/VybR3ǴRc~nq|+,s졜u7a旎 ޘ1STnXeu\m)[hbO^1ݦg;Զ= Z(Â9,؋VbAth䐑A|l?Y{IGgPe~YIuӼVa-Os~vwݾ+o E@DȗVp h*$l_.Ĺފňۆ9k n4i;6=(n%STbSor;NڧoH[R6 8]@-ݸll rZSzT-~q;$~M*nOPKcdi%l7;C U%4޻)Npzp4.7Нn|{m')_`tfv+;tM|׭؊׀-Z^ҚބI)BUVXswZq|еz[6řۋ{yd 8h?F݂LSU<7"ۚ> NJtfU4N'VݩTfe>@zZ~wp궲T +7qn4⚚a,}/.zM4&ehS@y ѕd2(fmܸ y6&?[݋5AT{Y\ TȠTJhx̿[/߮Ma_$f0;'Abҹ;s&v"Œ&beԁ>N؁ZkFFZ7[bR5հTtX$'J/Z-@TWc4r͗`J:p[ə,?^;h*0l 5dNeOz,Yvlj|F%[R!q8.H,ڗ+zHӡ4z$ UG.)0-?;xIf#pvGݐ;X@>+3r޾zHy| ΧMpP-P) qe9eAOorŰ@evaT.8L9:Ș:z3 qtYxbM2nnzDP>-Y Iu"mIYHpUpy*)9Pt5I_?JHQ$Ҷ]i6yܞ&gȍ NKGC hڟ4SJ#zn$aeynV !Hi-mi 9d|~hZAIMغ%dZƪ_Nz4=?`gm/7Eш^13:IigCkKN,= jg^+w>{6g\MҼ UVQW&AxWqB6I Γ ԼCe_F]7+Y1yu۳=nz%&_ΐ/%%ԛ $wCd4%ufH=p`%?myг:Aqs5^y[ bG2VS%c(:Lͨ&f]e.CSv7Nb^6&O,]u&dCr֯~fym镦cEZreý(qzokՋ9-XK)G>4ll\[lrۧD(likiUv̨:Ku0Ama# 8s[Ϋ0/6Ͳd0`:z҉ 5a0RP`1`_lJVi_W֓ vgu;(ʠx[jonE2^1;t2ZF` H+96ԛz05NT ioCK*(r"}a/нmr[x;#8<箟B2EXFJ0{zz=֌}NmxYr7+uЫ6Ith_T/ [N@i/[/<%j ȠzЮQ^v}sm6X|.|Q#$UQ.D^ #6'4;lʋ*7 :Âl4+x0jʏ`۶{e J}a,=U.TAjl̜U2葛p_ʐc=c;;r\Mh<o pB0ۄ^`5Pgh+@g\AD}N  ͣ?8=MoQt k\f;;D+-9K2"q1[q[qOJl6"pOYVdQՄI]4ώqtFM9bpyלqȕ~ ׈l +{%WI8&ϋ-dÈ;+EʵP̦%4hٶ=Cӄ" *l_ }m[L`Vjpqrm/k@?kYmӚݮS,3<ꔕ^]ܠG LCT#G#--ǓXѢ-}Dy3gAThEZSt9F̆F&t { c+ P:\t=緔tb8} uFILoj"@BdʥIوk9_ jH* 7R38r{\ 'Ha=u-2h7NaKEMZri7jq[4#xq1jiheY?9^_;b]]*#;{w%}s;pu98ѺS$vn֊y` 3s$vmid77Ԛo񵃔1p\is,<!4 U &1-lE#=*b%v1YHkG *{KmmZx-1֥9 n3xxH%Z]\UM8 } #Ύ:-QB7Ϊ@DLr/(ZZ qq[APH"!HG[Iu}3DmIy`tH(5ecoO]|G5McT5v)L 2 ><pvbGIj^tPՁ突^ͯX>R\6 d_MY ۢbnQR6竄5bkл{|zGnM̚; h_Snڋ[QaE/jaD:ɭcVJy!>7Č];xfK 1GP#>Ǖ|^֫(&.\涠$ɬgG6/ F{l0Vԥ 93ʆ0(x.`M$u ;Nu+ݤUXasX&Kޝ׼/vGUwRilSޖvxx/[8!t]%ՙӵh֠OVmZ~,CejEiF5Rd@Fwh K,%*^GOҸ:DR׶cA<م*ZIЈodQN829jH]]֩9Di@W w`uؠ[&|dtIsBaߞooMK͓mˬb8FţCo;]UFU$VXόX`8\քz(kv:x8d1rɘv(\Oo: \ی}>oh U'+9¿jvוB%%1// 0S.ԾHe_XD !#zD@觵0ڴ=E!"]$],`CW ^&i3 s)rD{/,]Y@j#3:gt10]G#Tt;_Af3Bk|B7!k&p)מ+5-%`mkr!wC$ JKl7'2Y٘Zq*rNHY " 6nCdwUK*Z׻98:Y},v(p\6L,UN<搂 /߶:zepa߅!*/9]T@\M= lԦcmC3 PJub3eg6yw첽7"诎E'Zb=A@ [Ԁ7#Rߡ9i nʵ"04}nam[Uf]Obx&8_Z6~L$b7OxtAwƒ͢Ui}\z݀*s4;W2(u}u5C>u@7ɐ}Z2OF8L;oa2[m^R{u=l"Y6X1 p_4+.~_c6[\YQ4Oʆs DG4 r\_}Q $ЅY!tc,"B k6*~U[Ê/1+ߩbe)μ#Q*Xl4)Y^ѪW*^j=9C H3mRE9FwvYfLF)߳ðXd0 W93sd}e6by쪍fbkΘ)C9R3դNR$\d3j|n}9ɒ Je¦w`l6[4LLˁp8sK|*IC69\[WSCqRIOs$_[y1>C 7"{ ;B*:ǫ[hO]ozWbX\ k.U''wHx]MTPK9њM uJ;yvH羮NMUH pOgE0Vy׋r.qOfn[rۚaCLq5hKA[7PZKa 1yZk/^zہ]\V Qh4^jzOL3a_cFɸP\LuV aܼ|+Xu͡ u4G:wyXmfx㎹{D:+n*'L4Z-{@ha۲g2LҙA.FVxjBwߖ ēj {V.↟+]vN{VgYد!b-sm9-~2$q.L= Aӗkm y:e zsg˄lQlB[ϐ*2c0fIYYJ.PnޔVN|?cstg>\jCH͔v\1Hh 3u9m |Q b.ЁFm %1?U\p:,xQCdu]3#" lVռ~/K"J=ؗ8#+p(ł¹ayc|Պ lw[6Q* 2ae&I1lc5 OaN'st> MTx<0@'5j,HN^-כ S]oY􍃠+BHfZQBFݎF t_E[;(=[*1ฯ)p5c"Nϵ5Fɍ\2haL0ҊUV+͞bo8NOP\ղYi" cJ;ˈ2Ɨ u%!x>*.3Jl/;e:hQՈG}֨GwhoM)Q2WnvK:iVbT} E@ۢTfQir:-Y.#y*:%ufGtLu; RaT'f&,֯ϝ0< ю+ZصtwdvJ ZYpFF1D֫vAT()H̏H1] m@{+N1J[zRul]8hE35cejN;{Y;cJkێ&ʟrLU9T(h0vf4'VL$rO~ȓ["Gf{1)g "VS#tڱvp AhŃ(Q5Y2lC)>)ƴenPnu!QtMz< !]ǸŃÔ9t )B􌀵NTgƍ V<9#,w̙lwZY8͙#*͆H6E'3=+Bu ]Mo4Jҡ(.NÌ>q!EsiE_sX_3u%xPu+`| JZH 95YW׃Qsg8hx'!9n6{cT Ќ!qİkx,By] ^/RzD۾{h1t+8dm!)cv;6%@zO2+QYMsKáfbB` ^C,]Wڅ yg:.{,ҝa,#p1mksSqبnrtR-$Hu}OFMжK؋-c;c|C q<"6ŧ)-QԆ𝲶}7u?ՠL/?>衻Q q/qi駀0F^FoxݞFE PG ~q~[aA7%iv`Rh %fo݋-A)>`Ncgl?8;aFo=>V&~oāg?kǥ =V͐Poi&$l@D0CCޭFVmT7n Jo '?1-J޾OFh}y 'Dnפ!iQ #|E&a4|CItQ? %`7( @[F;w"CP#P( !?6xZFŘ;]쯂P-0$I`\Ip0%~o1aL)`>Ɗ18b ݌d' {/,7;&bIY-'~-:AIԾUN5gs <:7-J !`(JSa-wEx[pgU[}Dmt` $᯺xy0EA5}؟oHhW@wz]k k\ AzHh^C>8 u %AP_5˝>p'Q}}ybO *-yMEGU+љ.T?3 {E:0%ᧃqŽBg]/<(ȏ_yU{!xy-ܗzO}G/*K=膉'b7x_AK<E%0~"|q^ &vOŁn80#-|>p`p`A?&~a80#x-xOŁăn*L&_ tSq`9080~*L^ vOāo$A2|SVF?E ODcI- 5O־]1RmUJE۾ۇ=՞R~>WоD93#uRu7QR|{#@8C2'@zЙdM]ܽS^hmS˧ ~7_G|xM.+`oa&qn.혿w}?0?>|f &oأtjwz- YreFl3?0Mj)Evp6"+U:*M]r>zq.]w,2c}>HE J4Nnzpwx A/7@}ogR=#q"_񞋒~Ao`o=輝W~ܪ1w~Oq'AЄ_iN7V= `}o8#]$'̽s~o92 a `7yp1gI7A}׍x}ʗ5qf=dȧ3o|~|n}_<$e!_ |3O>z [|3翿l=/O3j̼9~/l=s0~yԀ|QoQQQIF Y`z nU.O7fͪ3|a!q%yĀ|or^-|2K*/fY+P8Zpw:ߕГ|h=/l9sпX7+]r^;-yΑёOsNaӞBK]9)Q]U7ui?H| G߾|Fmēտ`۟{6DuuJ[ Opw78q {;SN f`-^IW}=3ܿ9SNvmxx=SLϐx}B}MQq_|Ci߷K<޾;M*ԋhH~~icL|xb?u>ĩ~ns?Ϻ?<#9y?v?3?<?r<?<?h<ɗ? p`8ϧ=n*3֫d0ϺYOoS3VfCO `ف>3!~f0KpW/Ɓ  g0qBfC~ b/_yfC'd0KpWP/Ɓ  ug0K1@fC}ݙ R/}_wfC} ?y%kO^b`icxGv0۟l?u]<dLoy8ӆ@~dڼ*dy>zGȋ|w?%=᧑?FP^lx'wz П^X#W| yU[CudW=zEΧЙםIgWp8#w(=<+@rY){|Rg97ʋq1{GͲlsQӧ}(* kSC=ӏ>qn/JW7A| jR鼹i뗦U(1~4[J^q}Y&u77#;N9iu]s ~şw;}Z0|𧱳k|$ j6A\nͺkI"8ԛ}ui[ k rT / ۛfU[J '3wT[N9~Í?lvMԻsGZnC'V߉Nہ2]ZW@$~Ou/}C[ %;8oxw% O[ ;7p;wXQMO_V8*^}i"P/A6?o14SN|Q/M֗X&]wk>?]m"_޾4wiQȷEӮ=؊f|ܦN+swGWP^XMz }c.qS_NeU>v'}- (DQSO~wYv؅_F) ܽ{)3mn->~1$J|{ywHSć/|8w p v;?-F?Td87|<|VТ;Ӕ>+56Foan;#pMP{8y"8J3ȝ{^DίD(޾#]$}_@"u'w;X>߈ϥ} t=jn zNrǀ5cn}F޵~RC-񋷂?h 2fۅީ) .a}%BowʼxWĭդ!3x# B~:ȭ]w>7\1^Bk_AũkrV?M2`yim~}O{:uK[f27ƜE"m5 ]rk^8KWG$[l_ʠCB1'O ,2?@ 0p@,fٜ' !ADM(3p Q\ Agv 7o_ '1^Hag@=O_( j Gk?[|[&o!1eYׂn|-Q7'(̲/( şA tS"8${~]?~1|n?G?Fk(P_&FP}_n'@X=_Nv}8C˟TYyTW+?…4Gx/o|}II/_;c_WA)w*-gǴ_3O^G!"DF7 驸xD3kyϗ@7"NB|r%eCg{t WnM)Z';<(uBkQ9bra2bKQB%>bʼ4f]HiQo2#3]ŧ%w3ǗT5q!H #tk+m=ѨS+waqh"VNOQV_w-Yߪ LjvtQ aJe.B8{r׻`8yZd7ҫo`6_8fm2yӝ<X"w;벜YVߛ L}fJ rHPNN"mJ=Laq;>I.ЍnDyJo{Q䵶uCԏ{^1{6X6V1ϩ'cF { D_GZ4eɟp3{s2?_x\aʂqGQy2 PVu:cWll=шx/9X9~`Bgw:hãn?>.9PpkW^R?j0x(w Vŧs-mNK-p=fۡcs\Uȏ*o"`UH8X!`߭,HÞHILk8AddCtD5q<ӡq U,o,. T,k QSHzg\"+ռ# ,gٳiS#|A:ʈ(M/ۭb\.*Ю/߫i-ksq#vnb]<+rk$7)M"hPbucM޾VUVQռn'e|4׊ڱ˧yT%E]MZՠ{*ci)Ӑ3Zx|gћ;h2뽓]Qϧ}n^L= ޚË rpj;If2dbz: |8YRzќ飁sMah# >bܩ,CI0 zWZ+GO}'ނ D:+Ts UqV@>΅ STF\.Yf?4rz+c@h\ah}Q^ُB\=Eۺ@[ogԝ|b-2%vlj$X̸ACvGF2IXQ]9UMg)R:["Q:xeݱ/p a>Ǘn.g_ыLYsQ;o)nTsy~}i b -'C(jѽ*`k""G }Շ4O2^UmD7 u܋L4us LhJI8GDML,"pvy $$E Qc, 7G0p zHMޚ&&N)AtvPq^8Xm9uW6ODkRd eHHk)flAe-WNj{׵ke-\9pᷣʇ$6C>|$ Ɇ_K𞼆%&˹o*] -bFehJHIɭc 4jmL*?=}M?:ˋڠ50BqWҍȤ_UqHr%~wd 5^0JE#fJ2D,KJ֯0iŻ_=/)=zd1YԣuXy}ue D&07'G|-PBP!~ !sg 9vqaY>WLŨJu/; ]n 4p莺S9JKEmfϡ\E;K|g7G`G)ԎK+ķtv'upc_KJ nf!ɷF&Zl MĝUB(vTܯr10 ߩ#juh|`Trn_iڑ }y"$><g$"i4n'ԺcfC Į`- X3|z\zU܋YtK>,Z-&Џa)r;O} hԾԾwu)N7Md%z4e2n;,IE_NnsEƙ:Rr\)7IN,rΊm!ۛy@)|?Gkkln_[BdBk5]އ2@7?J]hG~pW=?o&tyb V_9|^EkjY[L[?&:=KSc"N.3wW*5v`G&ڡFK0xՋ5[]e:=c}ٓ<d˸=}  /[V<6p} k >F7E"Z&r Ʊrh^jc {jȆ' 5X}{h]kuG )dv&l 8YHJ\lj}z3-]Opm;ʴ53 uq#;GI.w'|rDŜKJ]z[:qo4K,2*=sCR#"cAiQDu܍sl{Q$r]wa.QeZJ_ΆЏ3B-$fJ"kS+R;T^@d3-<ڹθJa|һ8ߔ$ݲR騧l#臭~=@|d/.UZi͋J ic?EZ\7X+`Ϲq{PY#EJ 4&rE"QhIP(ubeZ¬]4\nu-&;v`P(l01б"̓`sRa05K? c$zM O4@;\@k@T?N>C|m5r5C)%*+nWk`orB \̀d6MXļ[Pֻ~v3ϛH;M^I";+o+w0cxO"p{ٷ:cnQGV;ir"nɘE-t" [?z Wƫ;3:Л6xY$yA8tۿQ*CŚD.p{EKJ*9*(kCBe4H)2`asۓZNf>xԷfXp>*Ed4h P`"O1 4č" 0?]SEgV_|BPNڐ-YVi3^OIĻoZդiwNϿ3t0;s~ݭS/bP9x!\c]]C?R+hg|p_표cɯY繠vk야wd0|-d>kn;al1G1P us8B@51n"zof,^"q\/DnH}^o;Y #@XUؓ@ƚB7zRFC0r⋊R0Wo+Ճ(nw%gsA|Xxh%nt)l\"WF 6vwڰ s9'*I$AcPē0 xZA`x bVk30w Mp]F<,g l_fb&!;N|bHL#nns@}(t yp 1O+=G >5_"6*I!ASO*)2m{|vVoP70Um<`Nz)eMΥ||AJuzg)A c&gc՜sw)Y2PaԺNzF<(\fR@ҁ=xR 5vo]OJoM7zԀX)c&Jk[?@ea;yqEzs:|#+"Cge/:FI Ћ.$n.\94毊we 8wiP}rL)ZSUL@{%@Tvf "w`jb&kX,J4;zMO6 P=h}Q2TdS~DHNR"yt艳[C$'*ҋd0vG^'0Ӵ~4;WeҮ>JkGrٶ K3k^Y'3v¬c㍊׼X@;3—Le|^|ʱ9xwE>i0TagV~s$E@' &]4ao936^*opd89p`xM'/*]xOIu^Z)KbR%\6 eH<4ZPjZEP ]⠧l6Oɥ"8=>pkt[Z;n }{Bh[ k 1o"2S22 >0~yA5Yln0Kx+ ~]>zGcTqs)"HO9 v/P8mRr%t8R(G!I T(M*oS,2lЦ%5`ӲͶ tVy` R܂6nhGVo~JpJV(>j=׫ U<ۆDut UA=uo{$\nW0B[;3l߽X9k(x98kDJ:jT:PP+n*uc;OA46)Usj'kTbBiwXUIwMd0O.y)S_u#аmjՃ4D x,p AY33S{ė5b=UӽPc"LԦ&O{4}JfnN$xΑ-qtO:ǝzP1Dz-y/{AkM#xmg_Qf1wBذ\x ,68&(,O %InׂR5h:O@K =m'qy_șAV˝j\{'][ܝ1S`M賌LA7x,v%p^8u;eǧvpqŅ?fZQyHonuȼP9ԫ%,.x1MmXAIa#}uyJPX; d'Oegq"i^/7/4'O Bf\CE-$ \v]SuDp/0ukfW@kCit%N=@y nq>gU9 fl1IveUD \|t)ӎ6oE@r+ȧڬf.8<d  d7uTq#$džTdR I .dU:s=s.qxӌ׾;a Lx.yi. ]Ŕ &ϞL9[LJ-!# ||vC[C" 3AH(r1],Enco=[/f&=0w2Yj!P(y'0>ALqnH|YTN73L{eCCSb+q$Cǚ a%"O JX@ 2v> > f𻨍_ļX43hDfE%BYȔP/?: k'zki4c bQ*J}Bl4tPu}.gFt{ &>"d f ^k6Cyx(h[sɮ vr(*_5Jǵo1$ z[Y%oxS1H2#-I3-g~yȝy^R0b#+{ˡXS}iD[4 4:nIr P _RUTȴ.,Դ هnxgb$_oڀl[y PY 7ʇ?rO҈{gzcؔ &v 1?9j{6sdϋ%֔I8dᬬ+-mV*3ce-uϛ?9My!7xc&dOM, ܫQ׭cq6 cM3Yצ: &3$xmM6JK>rQWG6J޸zݠ<knrڸ'mX >k3<6i,A~EZb(:8Oh8:'g}G#7}Au'[n:Y/Po{$4Ij[&(#g9I@1LCVh4 GQ9 c41˿0AemtET3d8܃H$~hIAhָwA6Yzk+2b5Xqw$11ȭ=[!Œq(ȗA bXAހ$x}+\߭Hؼnڜ$6ۅo_cNg(gB|ר*ӸTM XkF}"/),^gN"eՠj-,mG('3c| ɾKOR&v^)aZ0c$ 2#|.w-5Nب-:~F.G?Wi!{Ԗ^ d]7ۛᭂ~NeۆKk6եz.G3H&_ԊPR&(VǕ2+ PlwhPT;ZoAm+>{u5HЯg=5L69K6{k#IڥMg:2)4/12~dojf{R1x!6(A< )4UrHZ7GN Q$ߎ1 1LAH`PP>k/FC?]sG!OFF>֍eՏ65z~PTkB( b,h3ݲtQx|¿E~I%w!CO.dZoHTݏ[`zt bm\VLga؍6mF ܥ?I<+}4t@jh7XLzP߭'2Vv9hɹ{Ƞ*n jWqڭ2Ĺb\UMpN*smH !nr{ӭf硜vB4`|^^Pus8fĵo. Kd*XdSwRk&3[E[`c';>g{O~$EC;BvSq4m}#a"M#~[4flNn𖿗lz([Nn m43[yyZJ{9*R™=G\(jLIoC`TW?ny@HMT{5 vejgzӎ2WkQhji[SzX4?Za|⒳Xdh 򡨈}h,V x ecforP#r~0BDn΍ZgCN0x)гsYh:YAsoi=66Z#a{(?ya).' [CW ONcoI-2}@U=47_jK>яF=7d_+§zCXC@U=c}1._ #L?[$'i_}4[lr-TYwY>V\UK19<_6kZWrhSKB}S|T>C!^(4?/|rIv~*GD}Z!+ %{˂^XS|wkolIgeZmjOzyiz q|#&+V6Gt݇%,PyKܞDBFo~wylOW#ii~{2׵p,o'-}J. \JLBHi 啮0w5y2G &Ȓ'Y|!O=_#<:jF~)xtzykGDm޸;}y}ܾ?YG.;˦zIz9oޢ4{{S#MdY@VW!l/lHTEnzT֭nďH6K,4>ky,G`S%ۡ/bѴ|xΤlrHH @+1OH}n隆VmQ͞Z@ze\;XF'XT2ΚQGNj:u A&Ÿ4C L?VA=xbw=p?|J s+6L ,x9X/S.>ZԑJ92IxZH%o=: 'V*<} 1Co׍<-9ܭA"GJuu*]i؀"LŨ4密ޥ ߸Gch_W$2e|O+U{Cca*NxfD^jѧ\9ۤ۩%ʎMfn{ݑb;(x'N#T@1|np ֟7MLU6lc=/ڡfW-IKOsj,\̎* X1HmcvlO+Ll'fo熓q^vVuRhsê9 fܐѸe:a;PyL=u<~~+lD O[=h2\*Iqv̾1A{a2ߥqy"}F$J9eڽgؗ5[,O'&L*Poj0^c놓." F-#?VzQbKfn(_ Ԍ >y$UHHh9^-,f7ҍ\="GG܅w2>*"1/ 'Ajt`w7zQ Phܪ׽ Tk2DD?:^Xnwٰy]٣P7V; 2ԝOm<HG='捽VGZ05V׃їsy}7|jf|-!+W³]X3˿<>zƄM[lt(i8YwƷN'-ǀ&f1zͺERǥA, έky+XPC[:fIc#Kepʚm@bf]n*_aN{ !@K Z 7|}jpDDĂP-#-mߓ8lH@"_܉jRϚj.1wOMDt*ձ^>މ!v6p) 2I/3Mozb,:n~;b #v#ۺ=)*N@}+ ⯣Q㠄j=ÞHhk5"\i]g+8:@cGx//j\5Cp=<jc<R.8.RiP 5g8WXiXv/@;h7:>{ d_S3.'{Hj~./}eĞ 7 |ñl[oKQSRH! PzNk$GL;Ei1lDPZa0 s>ߍX/C(qʼb1 HFq(" PVL$r#'w':|mBڰՌ%pU)7 S/3]x"8(EZӬcXXԃC,hM>ތmp@^MO6Ӻ.R'3i@1'hrA~!*9ܒWƑGsChn(;-q~7/Af1 "gMcJ[LqQJmĤ /#_(>!ŬzK4VA΀3l3FjyM~SX+y8ioL$x2βm :]Ó"h[WA3L4rTL2ǖimM[ :%dַw'iJoJ 03^1%I+N6'\7z6B,YaUd~3DqnA@1`ǜf}qh , s]i]yýҁEy]Iyֶq7 (w{|Bj*{>.^,n,e;TXB)qi鵙+4&C43 jk>i0Bw>];"JleТWbe~I*ĩ1{) +! !bW$Y!.5 nB(sZa\Q-cakR;1-j0f9^jP2>h6tN69I~ uɮ'9o d l 3)^u4D t4PTFo!3Nx.w7v@$jtؾ[ t-+^p&1':@s灠wΎv`C2 ʒ8jû(؆ᴙd6V(լG de>JBY~!AVTgrǻ2̩]_zbr54B""K"5v,181\Kξ=kxu+N|zs£$gTJ oh@FY-ڬb]'*1)V>D͗Flv=^3۰; 4Ŝ}0r,\M \',+N >$˧\hG"pfs !#PmkM;ʼVԹP;xgt|R+m2Z΁46p-ȰRCmkza x;S[OR}]' hT"axy@>ۖgUmJPHƑRu T3ntsVb{"X+/ \yB qknkȽ5ӣO!0]*ÅA/5ÚcjԮ&Y:1=mwAs6z !*z%Q%WK7N矝\ֲ7v ;WFiÈ ԷlW˛wG5R d}'$8wͱܵ"P %eFvJhTn[会L{[S, {⸾G.+OC7k:#\><_ }O@A\:mgn OՍnu'Zۈ#Z P#Gn-Hrp)U4nV]"&7U0h#5<,h/Fe"&6MJ@!R;x:{Di4ݭML1Iy76 rUFIj\]a֌\(yr] 1aBsN&R)E=P^<9`vMH閭hQ&pM9fGJ A]MYy֏qɶv&&Miz¨V,<=׉xpS!\YyM)IӠCrl d8vO8c} 3ms->pAN +;t_L@=ղsȈeŠ ۝aM0qGK]5BCaA[/A];s6(܍u UMѾw ('̜,'USgLĬ.?},3ʎI; m;MA*ʂRTVY>#9Xs63ԧB@kJTHS\=kZv#zĀTE4Zx4Ѳ12+ͷLÚ6.*-[3Xki5lP 7د}ytJ]F #;~ g{ȾEn&< ݵ2+\vqSˎ윇ZY;3ȁNKRy(VyhдUG&6^NƿǨ|8 @SL|R ^֖$vD˜|6kP2ۭ9P˗M%bblV%=d| ,G!KcpH"{:o@ H^JP >YCq;9y  ced?}W^ӓN+6ٻd:9,,8#]5{娟.{@:+xg͓`PG~YV=J(C$śVq!kg:YEN#H+c[XKU5,l\#Wbl Gdz]x\^F lg* )6bC*gމ:;L[׃uLz7ZߗVՆxtE 9^VFWZ3vu#KջB ۅ͵̻=; @;otͱ5T 4pfq.If/c>@et*PoD UE8qJnГ'LyHOQVI3e|HvȴSiᴀ&FR]%W+b-oۊ9@߅S1ʋ ^g-"d$aqW(v?.īߪ*1 c٠voތRRPƌJbUc꾩[]Y1SM (DdKJ>ˡQM#xI۞dMDiL8R Y'QjϚ[R#i#)+2U1Gۻ\3)IW]^8E/TčzeGtVQ <זFHÕU x2F>b7CQn}/(?g_p5 n JTcDf{ |ԃ -uu8HU #>&fOK&I$U~ ȒeQdHkdŠcr -Ur׃&T8̞R@wMߎҏT b07(%J57kYoS6. tM;$dIuOͤNB'IG\4+:h``6^Ni/@-8?td$S@CݗshV\G3iEA.qaKFnմtt[-M4pXM!_X m95H"^WV2C9[ QMu;GUg:i$䘳W2[pVy٪QV#6MNDcs}:>apyZ+9|oHTWyQv־ brZ}m~N=.E'(d3#"TI^Р usl@48ԫ:M{iZbWZ#wYuԺ%"HXȍ8U'|?XS7K.ˡH5*8e-qUItV!Ć,j{j=ȕO2_%y3;2"6P,TڰUI]VB=9m7H!p-\^@ ހw~} (.rK%Ѡie]i6z8Cv29J.J8ŇGB&/!3 [ta}\< 40;8C/-ڑ)Nbv5q*k&ί?G2 d :Wx,*>~j_*H5ѹNѣqf~bЙRpOq Eh FMd*u(&TߑKʋB\PLcU &*A8L1I,/BH̍Y(2tŵ[plP~i<٫ԁ8%JVVdRmWkmW}dRLH5ߘE=1nJoe=/p|ziyWUl\o#*.:+u>%Lx͖Ȟ(Đ a+ 3IcEB7-'\.9$]X@KtIS՗=e"L^$jAHN%7[P1)K/}2Ug+qN03{`ulNywDglT؛V7۟eK$Ln^F +Ж9;CjېkBG-ˉNCYNl-]*}H cG4b'蜻C$QZ_[EuI'IMD1b~u'KO,aj,6N)tHM_eޒSݬaXVbd? ;lk4m'8YϤ9b _SgLhtX8FD ;^FVq[lrcxLnzl{*~cbwGblL{ćU Eޯ{lO=URSt[, -Ց7on: F@&GIks0\)2eK8OXE+D spSe78X߰mFwoݹ!\Ct&֦QTQ2"G>mN|}%+&TwNPm"t^E1Ǎ_%ĶZ^QB@ۡxAQlTL,!ŋf+d0NHL,A '*9 ڃǔRZ \h=H%Q]62B3fp+Dc/B\ ܸHFu# Ph~c bbMJ&-ѻ=rr׭&GCʶDݚ p^?:F=;`r`x'cZBllʵO%豴׺ҳx^/" 27S&DLM%z2(P@!K(}("?32 &l~բ3YfDRFr͹Īc!8I\Mzv畸HtOPEVV׫4j?aU]jaٮ nF6 V![6a->W,5""Nqv) nرbmnǼ.%S 66+`p2Zg ęL~vo{f6FؾZ}漊c McO|~?[s^=?-\8^<>q}G9Q(A5mw:lcaHD7X~'E z 4}%>nyw[YWup6o> Q#4}w;>K?R8CKߝ3}j=YyUp~dv?w/.x^=E_;kU}ї>#y?-:eWqgm}"̞}u { e@c*:EI0",lMq/~q o? ð4rIpke.i2  0g~?1l~X LW°,,#'Fqˋj= G .$07D38_ڴF!~ÑOKC$=m;Q_Kۦ?OQ$|1/'j:g~,C/ l*l@X?gqvnQ]_%mt#McΖ h10??? FR8O كx:,/}wc*|qaWϿpNhe߫/`z}_>OM=C4D(΀kƟX q $F?[#c8bB 904=F@o~`@kAň'%PDq  4>( 8Eap6|K̅1, Da(HxíPyC3Ol/M@Q}rƣ$hx8Ԏ`1G=b࢞@Tr$ɂmJ@U,cP9!͋B74~0j\ ?Lyf6D,>(I ڛCo'$9P5$CA 'KÁ[̃I FldvHϽ= l E9걗x‹ygJ$G[I@E#gOڷ9Qˌ?N~ E83Cÿ.,m F `3NCH2?ҟ\\o6qkZ}*<'"m-PυЀy 0[$/Tm|b_]#ʦ-7((jO(ڳџ~YY<~th>bn}Z֏Ղ?CȧUF(ӋO#($w{hzH7x|P;@;?:k7Λ ]˧k\{N>cy'V}|D1{ Fm~EQ+}5#g^ɕhlZw%lWc݉aᄐ; xp|>}z"A(y_uWw ?oGW9[%~ػ@|'>,+e~ Q9>_}1?a$ } $ ȟWC7^H=[{EIq @? B/H)ɑqq}H1#_5'U}!q": BG  DHrI|PpDB #7H#2Dg~a!){!dW~䰟Ґ,"/_̗'U}"IG!mIa"3 ?-";"__2D>+D⯨"I!]!%*)ɰ!a_3'U}"iG!xm @$B$KT$*C-!xysGDIL|EI|wfp/QOHWJ_&g9_HGsu8U$ru5W~~ZE2"__w$밿&Y^QEd?{]su8HD$GH+}:܏&pkH/%kGI/B#<#~!updp+HN~dhH4$CR2u+YG8Y}m dMadZCRdWsė;>wį#$c(Y}E !6W%) Iꐯ"L]^[Cb)Wmsu_!֐8WI$WFWԐ(s#$4$CR2u%+U'0UF֐_JAT1@CZ~ZCTrDI$UiHCp!{d`wHHPOH? WxeJ|"~0Wg~b$.U瓗~$G1߸7Q::g뼚+<+~%闳upd(z:e%YEI(I⧔$R2ſ+_g~0_FWV,P%_$$ZK㌝Wsŗ=>wo$;/zZ%EIhIN}!/g0%/$C(I-I[ZY;/O}|@IOY;? 9`vqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/application-x-qet-element.svgz0000644000175000017500000105401611200647463031770 0ustar laurentlaurent}iw⸺+||gQ[-{3y&__9*HTjauW"dKzf- \l?~o϶[[|` a4ַyx=/"O(p6߼(q]|.n7? Ю>v`Vr~椬k3h϶'/*sKmޛ$UUs"!5“MGE(໯5{(ٙ偧l=3ہ'oG9k|AΣkпjjJw<KE_^ ƇQI~_HbXk/"JfnuZ^6xmۭ3<3ydfhwa'?y1ՈNv zpkع-2 sb֓m;:ox7K;n7=};W{ LKoIP &X╳zm`6'xr R^u(V0,E5 ӟE[ Et]o_:NhCEYJJVe7!cZna.(tyzoUwH`B o9\{>wa,Z3$&ńc1Y?' B&Y$!_3K,+"RRDRxЪH_JύEAˤ wП#:{N/D[A;qB1PCMrD9^c:W`Z&#XlY$+˽LqZ7{wAg?[Doی:_0"g"`".!΂x|k޿ހRo o]Mߠۨ~nt+adſ_OB;Υ WOWb|JRռ\w`~kn =ejا D|E^oL'w7':!xT͂dU%o,6Z ED9/e ꐷ"5֨;ĺW FޣYfq{:xK &ҍ& (^T`@W*w@fH4+I]\I\ ` \qN[Ns}sTdL|SɀMJ,D뒽._c!h ϖL^f+Lo͒ SF?W }c~J.M%巉\79wzWڻ5c/|a,/};Y ;V9sFts&C H$faߞGV/9"^+Dn3 {VU~%Awܣz)A*ޢ0ݥQ%%RvtfrvpRd)~-wr(Z~D 7 ?0H"-kwJqޘ.z=|KBs`}ݪ WpIxB[qUYƘvnB @حp*ÐZ^+$Lސy9ɭ^ =Ho >ڍ6W"DrETgn5r\F#)R(k "+s;w?ޭĮ%YXP# X2;ʏ )zcpUJ 72?$&En5rcQ١o5-ym^b`Fޜ s!Y oezkxO;<.xiD3+./)^<{'E49bCp1ҷzqnFMP޼nI=l5'E|SM*2uhw]Ed?>v>lWַ?N.y*r}z˲vYJoC-O 5$$/}ſL8?x8˥'H~lFw/?~[lHFP/8j>!u(Eh. U;U8ɍ_eVȋ5q-f~ׄ\_)ٝh? &~lm&QH&}K*J2ߙcD$_WOA,leTԹUչY `s !l",`wcQCE3TlYb|H. P*SQ>cW"#\{"ėdJO@L{"^>!.q<&~0\i1" +1Ɛ;Ue85t)["x|ZU uMk(+C˭~?.75݄9IYJPŬ( uK7o7_J<-,F1*TI)w5 !,%Hb?ON U"Q{ b]MeW~P]PV!LqdTE.%g7,sޕןd`Ynŋn?0)*VMuu9ƨ 9;gm+OIH[ոH,I׆Rn\I") !xqW"fU`j*jR{cqzF|K2y_q< YlY²L"E*Ge_`]s!%_CH"f_#I,)L$ӝFaEEeܨhP`p{?uʟyO![FePȇ.Ϙ#IB"!D?a{*V4| 7F=wo 8¯3R LV>rYӼě`7g">wH ;&;*핖f[P\|͠{6I2w]%*g8J"@nApZS*`A`@Q! AUFڇP1K1{nM5 froprB0x7'4*@Yrs"# *=ˢADzbK@ [oB jN ?EK)G3 [?af1QU"ˢ3Ϥb1VgV1R('?4`z'*>LI}M_ OTu==M%*XpD 1HbD1EA$#WdtiJOu z"0C~"DDIdp+){.*gK?lDI'Y1d_H )(q23y" /VPRz #z^cĽ P}r $ş]Ș ] jCdO mcZeLL$#'%DB&tQxK >ɢX]/S1+S"R`~rwsO5[/0 ogqm|MGܥzۋb ^4$_Yc_Jf7^6 !T`?(| S %UxhAI }WhN./UeB)ZK(ɂa*" }JUV*5E_u&bx\cmS^,`\O󪳛Uoa~aeHτx`m5DtېʵVafta&j7,UbrZ%ז/8L0;)XY}w!j@|+K H}Հ$|w駿V~Oҟ@?SW; }ZՀJ?f5@M܉]jՀX ?l5K?KUtosV*]^-gz+{R%%NfwP:}iXtW"W~ힼbXVnYR.7!ToVn7[DTlFgdy>A]oo$*F&f5!;:3{Vx}~38Ck򇙵*Uށ;%0TJƾ2[  ;ƻs߆QV>7~m▏UŏJyǢ$*#}%UEۙz *7_l`!Fn%#*y%EdhH"_i)24x[P)y%n3sqMU[ 7qdx͸=ƙz7λE2Mr+W~oS {-pޥoo{ńlܥȸTy_;hâ:`EuĀZߐ(S ;d׬^@Swin|! ⟻z3t,%ܕᮬe2vTYz_??ܕ?b|P{s?\k{=J\˾S_a՚*{OGlQ.@rIfKw xWy }]}s8FٗɻŊ?i?9:33#>lϓ9_ wT6$&x# . 襤'xB` 8 <+HD/Rr,8A1 |g .bU@* )Ye@+m`1?%E !-Ĵ2EH+o?6JY^?IBL U1)Ie ((,ž>xr?[&jVT>Lh>u[aY~A|xRˠY2!PBϲ%XyW&PjII5 AK=Vb))#V Ik]KeU(EdxDi Eqf 0aY 8 ʲ,@#YB e*}TeP@?X^(=()DIeY )Xľ %'%m@_EOl!+Jiaƙ e4)@+濋LͦDFRB#5<$),|^@ EEMiR'SCFӐE[^$9 4oLd|yʂ 2U<4-Rl09}C'q#^0O;>=n>D p0H @$ *Ə e% h_lN%T!7$$'>vi9S;E2x%K'(r2e/t ˥T)0 Rɢ]qcv@()*L9 [DdPeWG%'tDO\e0@^d'",?HU5!3}MRS*K쉔}$R:!|-#"r$j*`F/~E 10v|.)= T3P L`.@1h:wΐ쑗/3N(pYJR%5VN'QBž)"RZKicG"2,Kb.UF4-@5G{2df44]iܹ ?< $oAz n닷%M+8v ǿnEiVT~*oBd?J;YJW@l+XЭƔ՟-$?27>Xo_H?3]H~oGcS0v'` <΄T:s˓)o*篞v{yUUջOyO%ŋLDx.@qU\V|TRWbsr}߄ϦނXfxi2`;u{Zgyo-}ODl-4?R<}̧ȌVAII3<_}f⫣L=N>_\߀Ղjj炆_ǩA}4T'ӡG>7#=M8o([lz RR t='F*mߛUsҨNw]trW0~yy˯ ńqFGOBtURp0e[! ܵ!Ϯx}k'|ו+;JW iJ^&|]k| TcsʊbxPL`)!?p!^ >0*u73`F]\*@ <{0T9Cr z2Y䋅L}܂qYDVT V6{PWd_-Ja^̤8Ւ;༾b| cW&F`Fͪʀ:"/mI0@?>Y7E7C/۹/aҟ4!5~CP,>s-Iے(_\?M@,gFF ^~qk0~1)R6S˳ |y6Uv㹦) ]kF(]tJp/_ 5/,xrhJC_~O+?[l.Q!_T(z}@_el[@3,VKZ܊1B&=nLMMMXk  QI&$lR)"o-Rp'@;?] Xz AeD?](¼:߁nn2߀ӝQ@+R' FE0x#z &Y҅)ĝ\Xn֝ݬɤ"K0SB#h߅Fm+d7\Ȟ5% ,]k7]@?]J3:i9*>*?j(Yz]2;ߪsmD?`EreW$VO<pCE`wr<1PY T./eܡ%ʿT.cªOGיaIH[j%NSCG?H/w*9 3O E~ܘWz_j&hXEaOhA2;Jऀ_{Tz)Bw3Pĭ|` ?E.^; ?h=J׻8???2XݗWC4h=VY %B ܡXUQ=N}}pǔTbRIv%,󊷠3VI{\dx< җG1}R?: ̇.)&PmWigeYB+ug7뾌:(NWrl! |(" Yd >V~ʰͪ[U_2%2Sp`L1Fi$Rȏ20f$g鞽t7$J sN5#KGFb(?(϶ՂMy$@+D*!G@(r_^޿@/2J!If1B]7|/"sH槗ahIr!1mo]6Dtk"_Zh ǀ@ ̌vXB>7pAP 5J)@xQ+X3xr"[ߌT+#'C @G.8+ld%(APˆp0?CCTəRKdOs} * gUFVݛW]{wf@Q=i&\3%0]/f `~~7[ygfyz7 J`}Rϗ?%/8? WSxz3 Xg/\/.K5.daгՁZW?BǞlv Dvsazm?U>~fg[*W/-fڿ STlP!Zlˇk+esM䚪O^r|M~O-w$).sDZոv5]kr-5ȡX74e'[Qk/|yiV(huʚyERs-Mc?;+aܺҵcP E=(+E-.-tmk/ڰ*_Fc\, :~P-qEoMV:a0LG+5^ YBOQh SA+/ KkUEODX)VQA%/l3#cDb/f0-@Z`c%s>ҩF8ۊ5wS5t+Nq8d+ּCq}eF&n.:dschWԗ:aN2/]uJ=X/rN{ y?TaZW+鮳V]*9wz²)!͏Ƭ9tZ31S3=mxhW Ma97)k1`SgQeߏ*YX-v賚UK%~3 jԨ[i>ύF k9?6>Bi0FZ9N]bp(llڵMY/u`@dι#赺 QEwlw7R ZZԺ1XP{jsj+eۉ@Z4#[)V`Šx兎,By*`4V p;i͹MmteP(Q2>= 3zXw˅xbxVh̨n̆W#--`*9;8!Ն7pG+WF1˽y_:e{`jq4{˘vN13Ys#N[eiz+#>,oFp)砶ۑb̳NVɩ2[UƠNPwjb5(?9h6(ӯ6r^6mH7-iy|ֱrNܪvÊփ^i{:2QwJ%^n+xIme? ̈́i`2FB<|,zn\{rPaXD2@]B}^;}ڞYߨ^k}^pePΨ]'aHb7_V#OS܌&0k5f[%6EKjY]k}Zy$jCcG[=<<:zUZ+eYXܟ5%]*Ȥ>};9Ѧ$u<7Zm$ӺT53%3q+1"]57t0sgInqJ]DY|8 @s#'jh&SߎA&ɘj.qPg;6a紪;p4ؗcm@}}7١؜jucL˦T֕Y* !`-z[,JcYL4}:ɪR-홋^BDܚŰ`m:Wˠ:$-RX~-3I鸃S)ej *fɔV iL_LGϐ*2iܯ΢aF}>v;wyNTs9Ԍ(zo$iqQ8Nz %~#/%ٵZ`d'uytGjb^3rmi0[ NMc֟޺25ys![sAδWxCrvĪ;Ycc_}9UTTfPˆ5)El24t+ Zn_OGxMSr5ڑu!o Ain|;10x@2kۆ|kf#Ѥ ZeT2˃=&jjdJmt$UڰRL#Q͡\oI8먺4;j4X.Ĝ0Gozz7py`fq(PF-sZh.a16:;?tZw P+@`23We5IX H+.yZ|@~uZ񾆄Vȅ0f_blkI$FeTw>ڜ #=+ҟzUP>{QM?`TfZQM)FjSkWvu3^A+$Xoj(&hYeF#]E$s` NKUЎęnqqM,/l$:H Jk6108Ո.NQeoj:j=!V3SY(n':>MĽUqwziXuuu-cE2xqM OFޞkCM̞$9xMXoT{ڕYhWBckevμ,.fP<ʟNJ)G?Lq5uj]{,ʃ;hѾ}a"L$ԦnX:idmɡZj+Ua~h6K`cY_)8VbLSRDSL*X<5+A﻽1om^-b7ڶv'lmpH.Us|Y܅d=c b36.ӭojQgK ˉ0}ݰjaNc6pJPݏ:vƙ\PZl`=2A5Ӫ O ùTЩ,ӁLƝv%T\HIq.a7I̜den9vmNEkV7q{jPV͉A-PKҏǝ3>ŔgUh`Mͽ*Q8AS8ɬLh5Ζ.^(YkՈKjCN\m9rh KlY~[wQZ2;Â܊` @IgQ0޲$oB](¼FǤ.)ih v<6xDflzAo7cR5п<'(fYih6 :;q۷k~eYٍ͆r; ͢RpRK=h4+hˁHJ`Ҩ׈i: ԙkhj6uYi:[N^ڈL`A{%`tdQU5$ˌ1AJJwn#4&sZN3t2[;rJ'Q ۫{٪++cSZ^kz#b5)Qcf_Nwiɏ6\ATvJS2jaT;2գksp<Q2CYQD6<]-y2ҸE;3Z8t7}hV)ɸ&Re~U<ڈa 9<㱎}p 6vpDTR:V, aҐ4!$ Ezuխa2̩771֛j-z ×>ݩYm-zzaiK\U-ǃ٩ȭ-=N}VWlܺ1MFwg8:7}qs]ZΛf50q})KwGΚ)3Cp=׳ܸebzi&f_ >hʠ(,FIEQeȤ بxQ:$~[p655Dib U> +|)v].77I[E*&gl4N+u7ZeZvW{XQNSqt2?;l6/Vq"mPmUP[֚nwʬѪ$Um[²Xj&y[tv&#?ӕf(hޏF- ϸ vi?gah+7s@seԎZEGyd;:Mˠ1?k;&+C$6l8A;UOK֡юB'Vp\Dό#s uSm3-Y4KM,z&5\Qץ֤/Rg"3Iv*`RrWq}s+(Rވ 9Rl֕R$(5mmwa 6fSY^M;Ni~6 qjVfiӊމ*tHLpeh$N;`蝛hObZ-xk\%^JS7^۳NL~a}g>7 fix"S.ҪT7u5'Kw^=%Sk BE9m⟓Q$xC0;;*P7t@džѧAN 7j:;p̳fFA}g]_,fqyH;x6e)ElI],I;čƆ%<܎VJPk<g!k5C}Lɵ[*޴ߜHdeJAt9M9>$t)x6XY4OuF-)Ug>^McS싛ӹ@譡2-^*kP]`&Bmn07cg9xSlNsc?v2%}=<"kSԙCxl|haW=ef.Kڃ=vZ59+dZScxЌ.FX ѹJoRiz{P3['i/圴|KpWV xЫfzM U"yQiRM: el_QM+UZwS9wK0yyϡf c^z0j`PM<}Y'U9mX\FRcfn9U-}[!cse_fZM2sfᒆ6e-Xp=ÚHg:CvX#(h2uzOUǁ=u3f}9mԎD)QFQK5: ۥ,dpnzh D,[mtKѨœ'!S;MLףnCd`s+? Dj1p=Am@!;v|ӐYEu7nܑi Mh$Yk3s\yz8򧚂+*RxZGFR Kf!8ETJІi.iU.es;^]'ܑ\1M KVi.mB˅k7ݺqi.u0rJ=uzq5-l,aug6AoM1j )]-nҸ{zJ~Pqj셝[!xֵS0/ͶJ#]2&x3qAt[;ZƁdi-̖Z(v#9kuh zD)ላw.YHS8 VQ=26߇%ucb_e~IϽ1*J; c+E{+4mjZiGL$83ln au4y0-M<9+eygj@c@~T4-~E, L*>(3%,y}]&[":՜/9n#Z9m!3ZayvvPNl"v-(i "$m6nu 7Q4WҮ@5dk:fHF0dKVDe+iQdg5B06(OMQiɨ2_7GEϢUH󊔞cMϿB^!QĪu\Y9[~+Q~ @aGH_*4<^ 3@Rѻ lf1աV%t|zzt_N~+7WS0 ZM1 }hbX25$sX3Nd2}h  s6BɧL/J>5Cg&)uVT +RçyBأ/Lj,DWtG4[q=q[&I!W m9x5Ԩ\1qK78&li劷Re`LgN\'ئmMA2V!‚육CIHՑ4Ke E"{3+>ʜ.ۖp%[L Bu@w ?_BzOo۫Y2k5ήG0ZyuA@dșZ F}by=*UWçM[)ؠ&{&` ʲ$݂z9N͒"JV)s~ ~rV__.]b=͝BFlB3_Jr?n%FJ(Ɍ.5įJ5o+p|ȈnNMsHۿe bMD^`$8#IG\FEsNiWq@ %IE[B^[_w|=1$베Fm`f}(y<Ƥ@3 iMLv8MP\]bѱ(׿-yX;M9) D0ka!,5/}WIUGWxgl籠ǜlH=!r/[zDbO$9fE}_& cV]W^`uXna߭!a&)B0_Xhr>o2CN`.vA g7ۡvB3}]3 #[),:9w6_\,4HuH!œDS ʂ3!di_}cW?,XH7-W1UggPI db%nw}Ep@?5'\ƐqY~el=^}jYTIE2 E"p1s]E*vQE|ļQ!rwHvRŘ2I'ɪ]y`5F.`V4x'L|/$얍T@2Խ/jG+?@tk+ 3Xt0<3yu.?/KXF耓LK;\e+;Bc+w-x*)6NŔ;("oi?v\1H|LG0ҫ{#]Uw}D0={ZZvL%Q!B?dO>W Sg:Nn㵈>j^2%u? <#fCTrUOêMr>LH@S~Fx+>;N 5v19f|تC,_*)rFL׃/#:mޯq~rm%A tzŕz\f.i\!!W _jKooyxetyx;^GwW!&)~=$eVU7`hT>럣W(Q"+ Cz+|;,? ]Cj$޴fLoՂrZoU*쵅[ 9lliٵI d;TXq=Q&x直&}N2@8((X`T+ް<01k/'̓QpNRÌ4(cbM1|:f( hbf`xeϪۇlb|j&벿R;+z ^ӫUc|և+:Zz|›GĔEۗkt=pc&mzؓ_5GDW@ElnVi#W&y;ƝQ8]2~\x#:cIY0:mY̒2қ`/~^aé( oI|Wbl9_o"s>Lz]#icI?[0\Ns c[~f=ݝk~X {XGۗߙZS 0E -47RRv>e[f9)Zҽ'Mja͐Y~:c {<I-S)e4P~C#|97ԫcBSr}i,MVa F$xhCY3w&b= ܏V< !x8JAˉ^i0&TKCkmw_#7~ ~iqd |oi|M<ak;l@UeHcI.)bx^ys0^Eߐ>+aG@援w5;V\EwV+hՑÜ?('".)d)1ϯ,)gPb!i2ԛOHaƛ>)1#x9EJW*5b` &ɗo(ݮK(ԗ$փM?m4nB>x6_*r [.["{vr_eku+ iN>MhI$ s9t)*1"nSFoki~uP{bdPkJ^~7#>>o6>1as7 F#9ѧM: lkOت8Ҍ'PKp'.MnxO=Eb(C@_1AOJB?ߗt`CsQܰc? x &+cH-P WodO!#߯8dcMn=z8 $GdCV}FgiȳJ8n޵olC%-.º vfd՚ëuK?V]dtJ%%oɋ:RؕvN,>e쩗^0mLZ} xzZ2O[x"|1 W=J-\;鑒XIe&ǶJ_sɷ#.KIAWYsz:$Uzflu:e(`{+G6ןxZ@0.\j gJM>c^Ҭ wT1x>᫖/82 2}䷴!zLa?ýۇԾx3yJ,a9xW~.488J^٫ f 1ɰzE>=$}@{3hr$T M d?G*WCy=3^ݧ!bfQ 5QIR8K:"(b1:gR9/)3>2H O?Q q)A>88GŻ_-/Oڌ,ϠNk,/N~NÈ[PKSzMo#qP}׺(cQg{LL ۃK7 GN!/OudPL(P>0łSGۇz:SҶ!3Π hNۋmX,V|:&'/$޲%ȯ\|mw'|Wu?mIZ&oɏ*W`{1DvD LgD?L+?S duhPQo:|S֎1] Rj݀ӄ((yuhtM{<Dža2G!ol+jLk&t%:䤘Ƀ2"isVl[+^$N2vdx:2gC41(cO`t_au. B5fx9lR uV71 畬r:')/w zk~Ya ]o`4)V@ez3cYb+\{X'${a0#_i_$XYqd&zc- S"q::c+X3,%{]A{jg\Ԯ]WS}?P 7wP"AHLNEؔQ l:EsX .X ?qÛ2 ~H#1@d@-…z4w2ݯ=OA.WpIsW"1ޜ,J"FgϼH[i-ɂ2u~V [Ư}S"1JQpEghEg!r`z"[|{ԓ k;c]@*iwneGʌgť{4ÛJ⁨RqWv14p 0q7f+)J{U~Ī#8dT_ͫ&"/ea->UeI jydWTg qFѣLd ctm2ҷ׋kpVߛd]1  خ/{g? ῧ^b?TȱK8$ :xs'<9}SW/uKĦL'y*l1Tf/2 qo-n!{?xzp ˣ[80e9m?.r ;xXéBSu~6d6vDO"*ϷU9c>wBFSϫnjo$*_ \}N'9n(I_ݷRMԎ#hTW Pc\~(ޏwlQ FyDz,+ x r4z cўN8iW[;"/e" TEM&}~^+lqdZnr/H" Ht Kȵ4] feOc_xGP}z>AlAdaaa'CҴSke|$(ֻ>,Cq%Y04>xԵ$A"Yfy I.Tl6Eϸg4HXmZ/ox6x~Ui&s36q+gt1DQ?)w`pJpEHyHb* Ec]1 #lζ' ~^V;U羛^KFwټm`x*r;)Nv5{[ 2HD EKQI닁^&{%׼~fGCpee&a^= Z+P9t}z{ku fxx֯  3:AYRM,ߣNZNrQ?^VMyXu_edu@\b,e t|4}XܾQ@7ori!lTG 㱪KI=7?~' /%zȘPHQd[@)VBtO'eqx*Ӳ՜y,25",);HOFXtTL /I1OW]q)J=1}x'o G[cċA >-C>xa@#J&-nzt5 +O4W8x+.5"8'InF'cܭB8+d[MIE%и+0gB0 XgѾi98>cٛ KIGGO M^gsFYrhU#Dw:&?^_ZYx!NE Xd 6CAK>pn!YU4x8(eX6%Uo:뢧l:)&pbVHwb0 >tPTwlpj,)Y^1({CnRj+`GgW>ώtfRaSLNdY| 𗌖h8y4NbHHc2ݖh$1֘*ZDsw&*fIF>UbL_ :My8`D>wd_8 ŵ/m^oν0J&i6''qp()v Fv>uRNs{oʬtb7c/j[|kϋqZZۅ%$+>P?R1I?bقcdW; :anߠti^r 'uB#7rAZNaeu. z3".PMA`L:aQ<:8'@s ĀpZKĦn^Uyl'|Kտdۓlc$Ҩ^ n=z{6kUQ.}x/B}(잤zWڻM%1;7!C2۽sPn%YL Fo-GmMFȑB|搶g?\?:^A!nSm%O мhā>4~\}t9,߹}:`RzrR᥾q}.Rc=3ck ?vGcX\ҫFZ{*G=hȇ7>4K'I7Zx^Jj4{x Vkohz;ifSPxND>̻ GP N41~=4aA)&|?n; h!dߟgRk I֟o4#meu_|]|֟ תz׊żO#+;wx0ʯqJz|+E$c*/CY,Qz1~?Edex 1a@6>/ )}n;q=i L w4D7H/Hauڰ4#$VU*."ɒKAm[C?)~hQ=X VO1뱍}&ԟsHA'kѓZzE̼c+eO?ȹ=dV mdTWLZDXw^Fq- JQҜ$PعW9D*jj)>#SrFl4n׻XT s`1߷ao3,S[Ņg}Ѝ_$2cR* F\TdldŞԘӋ͛̒#h9 {e-pqVUH5CfEO 5Į-~E&!QGڜby6?1\UC ?eMq$rsZ/QŜXRq ĭ*zք\ՃWGVr#gT RVDO%;{cgJ[.!;tD`*MdXtZ'B2-\*62mSl[!AkدJcӫahgyeﬞ)Kqli hgAۇbaQSV~b!wUb w$q+<+>L(ٔnlpfceX^^/K?Gm8P_hNYJi*`ѮW5W a`c@ Dͥqk/ۖt8Hn|V67R)U:YQ|i܏;./< 82R#£;R!j݋2 UŊޡVjKaFF=G&t>\~SbӔ/j[.&*qw)J @5ѯ S}.k8H6V.p]PGy+=DAU BVgx/ڍjtf̅bVKn (`6w -KaǗpMt/p,-= k!Gq| T6Ғ)4\ hLtQiirQ}08|.Ewo3g6|%/#'ywb |a!)^Kd9A~uMT/wD^A&9."F! țvPk OAKByRTű9}R/QJ{SzrZn=f$pX>0Df'<_O}[jGӖE]btj6^R%0c+dS|h"eJry$" q!Me"!JU-ilIo*S!{zd jl u0(u-&I)v*ԶF5%"E~SmLmŹ6s=C&qRމ5=dgɞ0RM~q · =o# ~s{@Mv0twjF#YGޫpd1Jt8G,fB*NB%A!7$r>pwd(OqDoxKH!;Y1Ojri2[&[6#0"ĂXu#9,IY # lxFln̿S4`YHq/^rQ|e0*#嗪B^L ~V s4N.DOĩdMEFY1>n/0b&/&0If0+b aJ]Zo0 |-n?螿(_䪱9- udaYm rnrY$6a6ۈK 2X(qՂ mKQIIJ 졘f-dZ K+brFB tIQ) X:ZM9IKs7QɎFsy2ץA!QPLhjemX9Dia V.Q95VOiIP[;+K"It T^Vɻh]T| P2~4,^}r)͇mqF|3bP 5t2ؿE3o߲ AtrKXxIP%$ 7Qg%`FG[XP>8$N$A⍌gO3^ߍٽu7SvCzÙŻA}&W\k3Tϥn|nĐJmQBE t/)TL"KhoguJwPNblt7hDp(h t?dCJ @<_c@Vxۼqm`=f HG H&;l$bv Rʥ\Jݨ'¤оtun_'_TEvěef '$jJsN[hq|Gp]` fw?f՝@]!ݧ0LCd8 &"WN0vk\'x'dICyDy>v苍K鐠śB[HaP7عB1 xa)*VDTfq*'f)Y ee4U23!]z1,r AɌ~6OYEA]Y͟by NFOe>$Y ȸ>hn.-qC+ ҉j*'?S-݇ {.@W55(܆8ZZ/cb-ϫR A9ʛbrڟg,AJaͬ@F6r.|[IQVonݰ̞rBKt['I7 ΄ 0jTF]:'$!Xg[}BAQz EO d;y =FvUFiz\L8]ӎt{_?!aT{\'Q+~-{EwûoL?z ?F0 9F'yvOX&'KZ{QQpǨE}"5! )^AέɇhTܯ/xe +Q q N,(UCL71#0[HURa).!?ٸyvˈi5F*ZƜҙֈVce~j!oz!VԞ%%HDž{ "S|)+nΝ҆WPq1p|F*F[gͲ]`8,&~R[n8^a @>ۛg9\t࿐26A5=QwM5#?Q(޲uu}{ dƉ'=M΅EaO⸍#Iy ݰ-Ź7UJyS9 '2 @'='o_,>WWP.P9W*؜)m8A0HJz&aתߛ8H_595/M*+D\`T§ݕEk`dEV_&=0n^4hZ9I)HkCj>o9zoZZRCwږ8ODD*ka8玨6/7Ql+f94~^{E1NW`Sl1Y`LuxH݊#'uMK^x&lT4;/mQh,G%{bک~rlO j_3p Dyl hn uq7!̃ĈRC<-W_< 6:Jπ-d8>w&rsaO^Un1\杓LU* qpB[{9[P2#ɞrac/(  XuJwR*3m >ӹ50/?WY|ܪl"aFMu>FHhʜ)yd5m2RZ(RuQM[By\#ry+ NNGEgg|U$DrWH`BGAW>.Orh*G;rE(/zHZy}@>c">Up2L~314<ְ8 gYN:g6-_Y;vJ"3Ыs;ck#vNCgɁ|nu} ķ2pq"Q3 .p;7篇&|_|Zst,H15}5@soQNt(a3F i ݡH߯Pnඒ"hKemWqLY¹E/oĜMʃނ|,b Ѹ\ ܘ󻅿/0UYԾum ?jĞ~٥MA;8WQF+W*"dVQ-em5֟e3v8B|"DqO E;~Ig0!4WOP<I.-qM?@ L@^aGXk '+С Ql31h@8mT2 ,:AD#N#ڟS)A$~Sjfg$dgo Ļ"ejܿ1.XÔ95~´U0_zi?89Jxx>7w3!!z:Wa-R5Ud t ;+Kx um, v~TC(0L.3WA'SߴW!C4`kǟIUޠ{9JRd^}clA~F-`z]@&e21g2[ d?aNA 1%"1BSKKR͆mi;6)| agW(zLb{P8r`yrQf"bJ/^YQC/Wa,t0L5;o񶴯aep(Y.qU7h a#gYh}C:S,G1( ŀIitニ>O(s1 _scLx(,AHUL+z2g-= BeXEϨ}havxz&2D}b)T *|Djf&U$vW׶Q%%:{3pT[U$%'; m<#yH(;Y¥-OHjXwPOa}8/ޝx 4AfMkHRYU1{ngӣfWQ/0D&|azI[ב7.w_[U,%Q*AdJ@`ߟ~g}2g;`O]ʇk~Mb?ie:-T6%8EI/M䁿pO(]E+ $A0ĈD(b?;^a#u6j2:S1jɶOJb╍ke; rwOP!V0R6<ژ5Qk QG'3i'2ޭ5ƮWl8r!ʕjl!g (1(fmi~)txotwΆ 齤v1}5 >'9u͔H&y"gwʸZ,FoGhk {J/tS¥5Q7MtY,&P0oi, PO}}*! mu!B.{io/{`Z2a/]OQamMf̐1sFÁrT?by^ sw{Q7LaV$0+PT/񒝪X@<Io_/&^́sr=e$P9m9˴gC?Y?B~>IhH%a+ȁܳeCJqx}[PqۅVhKN|"`b=1C׸'ݬA[Q>= 5U; NTCNDlQgӱjsgaCOL(rsg6Xx$55aK&amϚ3pjYXU`b7I)UϽ>&'VH%mWؚI=Er:+>aOPqu4j/Y{*rW#õcj‡뺧R{9.ʆe05}_e2~SVd^yf*-sFp_ń<5}௏f={ !ӽj-9Y':Ѱ`mZ@/XBȽ~Msoup-)%ӹo9J "A(W gvƕ8/ K#ݎ/"HI?r1!+ni` zKmO(XWcЦ9RrƖplf(ZgQu%+Ii ~1K4&*6S*fL3y/GP27'ZY}ϣrD|̻z}t[¯׈&P[⠐miǙ-h`R+ ?-.\{n^f/%̌%r/=69!%>-q'7$Ҩz½UPkfc!V?46(\fvgXT7^'=Jԡ$R.齡i<$wڈ'&# 6ҚFEꏮNeߊ1OVHk#6ܼ>5-8Ѣ?|Iff:GLf$=.Nu8^nmYJC4zx*R7C?2( j!aW\ UAͯ!T}Y~ٿZ4c}TF]Q@#χ1D޾Θǩx_(\= 1솕Ɋ>&:3@bJp>}?^F2J8R`xi!ށk[վ-!5MS{wiB= IͽM/'$ݽ:IbyCHz-' f'`&}TAc$rKHs͓ehO! x{/f߼kJdVGvDCB:Xz O'@(N2c@j'o(&Z'V /u.^I?Mls*]_K]B!J4#_{+ u廯h3G@,¾Ŏy[W>sY=^1s|k ͧ7KЁR$g\$BMUbbt;T0ټ}C)wh^/@9tYƶKڼ!Ş2 $KPeD~Iot/S,trFwA,wv>PaSQ$1.|5ߗ>c=$\ipiǛSAE{)g./R}tDLj;,y@y.hmGmǿߺkD+^#Eۉ8r6}֯MWD9G$ 7%!זH¬$~d\~sL^`t׬ŧ=*H0 x5/Q8̢[S|S a+!Jt_N3 2O ],׉aJo_UIsk;+/ l^aqe\mE4O56`Ϊ*Qbt^QZݗ3gK43pӭOIk[XK?E/ Zx琱]~sz歅fXmR)nÉs'z!6'7*-m(aM]E/OT*PA ?ϕ'@ ӆrגbWt+d!~K^i;ߑ|Yd )RL:i FL:{: C:%K[L7D@)cǥ'-n(3ZQK~KNpwcx"`N$]b0B+o5(5Go2o0YP, o>W]/AvzAS$][וA*jND\$r6Yz!uT'ғ $]p9jS[ƞr#2JH!iVqEtSI(6G5 Ɠm(bE ṻU 8;J (H>S6yݫ6m Ɍ6l@l$'j'EFG.+o'ɢAz>7H75 AZһ/GDeI|  ;/紪_Q!CmZ|}dm2 M8۱򗋎w7[/rΖEV=?/A!! NLHKHܣ:j톖[FxJ7f{\Ku;des(5#Azl>iԄʛ>k{}©|#.jNmD&eӰϬ<疰4RE#~,gM3pK J53%A+쨲:0:}e~>.Ox!8YV./1J[~b]@hCԩ$x|6}s+Q V'3sC=tߖP`BQFrQ/51&nj0}u|哊^r%3M`vx(7hD> ӽ%3޾ .uijǭ^1f86V?yRGogn@s)FgLn/uTi+P۠EA 02"xR@ (}$][m\XQT,~`>\ĕf&MT_^ŀ bq|,sǭ4v̓Ư/pvwic FɊq袺sHIy|Fq[<эk|uػfW$=dnaR?,09s2럄Y쨱|lg`%n!K=NT_woHE1SxTABiA4G?gfkOPRצ^`8k?G^V疎[} s/ͲTH퀻NQt^M\oSg~# IEH{U^JǗf79\_4$ #&i57,եxO씃 W)["|qتK%tH@Gt3v܀3llamd;wODy"cS\u3=jfphiӠG^oٸ\B9Hp8H1XAsw9*ﰟo:7IEDHG%oJU?UǗ@Ζ(h()!'&T\j\K鄣dX%(Ru&>Sr$J~(Sק UzC䦩H 7Md:IBUDЛ6~H}:&*Ai@jZ',l ^T\in{}MXRۂ1mg9PV`3xW#L%p8#a hrm[HM|(}p$G@Q[@ 7yЁhcgjYљӓ \b_l.jSrTEm~nc3Ȝ HyB,><1:feVi)/W߷Yوm$IBz<+rgRMX\ɣ}/9=:PfL)bm0|/ŏe?1wJ e()J@KD-'%SU/?wMYG #\rg]0.Ŵg؅yC|'1ⳁ͜|e-n -j[1SW<5l,lQuQX!P qHpg)9N9k(C95Err&ZHɿJ'`>;}뇷Q;*kxbViѠ€"}0ZJbF6JsF&|y O@lqv?]ngةՀK,?u_%QI 1ji@2aFYA1C[pv'h㽰Xɥ)V`W!bC&Atq8WtLx"eMrB(xj΋a5Y7[>-|w\ËmU#uR6QqBL.1K>4ʂFVGg CF6J_&zo:O\Q.A_{#v}\GVyfp=%,A$o2=K;7( "Y&;"5"4(u^8Dܸ]r]@D)I炑 J,\Ne+S "Mm8m$Ny מH3T#T#or4~X)%͂XNUǮf ,6ws~x"bxװæD0lS^j:.~<;vLקxƈYi[:԰'&X}%/$oaΰ\FfZTU:㒞M w.[פ6JҡWï`yс=aX8'˯2l yv 0 2^̖aJU&ɹck*%q{"^TXLdGƭ)Kc(q GDY xO)v- ,L8=+so\J X񲭋I-20<YXy5E?^mu?Jѧ9DZBnC{KCĩ NKokG;v 26!@//g+xK83ɨP9 lU3DKKװf9HUs ZUFr9Zqf??T5~8R 8gRd)S‡&^W2jJjRs^V'"(= :&qTv2"˹ Vȏ "Pbz~>i eTa^>zcj dW˜" V 4~>=fSEVZ!TF {/մtB fUb|$?IsPŶϑqTgON~$imduE:Luf{1O%}非X[Y!Dڣu5֐V|/9??ϷBK^=]8>R? "MHYJZ a9@)O#}q_|LWO%qcI8KMPl/hgAwZ01]x؀s8}ߡ 1!aV8fp&pD{֞Y^ >l-v@[㎘;79 )0/P憕v( t^z0e+5\zW5Ѝ*׼VGy_w^[UTs`tA~$$nSőV&Ogtx?0̫wl{AMPFP4ҦSK$XÂ@;늯:rH.}=V__͙Ze/az &V_~ ce1s游ʢpu E]RW!^p[7?#M4~?Eaη޵G{ 14؅ ,܉g\z$_??|RRU6^p+ϾQ7)f[{v2*/񗏌KI$^`ILm<¾hã*y\~'Wmot쉜)Nqo V#Cgȉle#tE?D%|nAJ6d-๗HN?+'v\o?F{\6a*s&GXx̟U}XAb+&gmb0e`B(XnIYZT5nn#猦EM. _ℎ^aCTIbP%'J,8XI)bX.>Էa5p[f9A_ЅxobNOdYI{s>]wzmM[X[r1#΀|DloF`O_1ݵ<j(4}ej}.862zӕIdˠmx6fm, &__Gh$!x*S1\ 괡,) `GXkz#`,&ZfYU]BD ..oÌ@bnPs1ń'Iĭ@o]I<s>ug*) ȿup@3b$=B%6.M?oT'[ވ|Rfo{}be! KIh3\A!)N#+V]1KsMGJ:g}e,QRPc/bG_@5]*:[^Uj~{,1<_kN4kxqWH2uty&H^3Ek%5_.Ɇ$=bi!<ph.+s!5Y\"^FY]jdM6sB}-JP2GHM,!8]FˡL孭 P6_֤9_ݒ$7~LXП.]`Ѐm @pYdh# 2c+;J-ڙG,A F#D P+  lwH mP}NJU쒉vJH5mfQw_+tй!7ť)ߌ1:#D_X)زW:h.{$&y$ժuA~_&|% RNmUWnʏ@*:_N418GC\Tj4:[Ǫ9oNDz9ӊLhGG.^jZ&]iJoKnr;+=Q녳 =CZ*7 є֚JrGtx[>.ͧ_/޶W/wHpC TjFɥzgөm1}8/Tc UU@\{/˃ĐɬT>mks+2q]vYUmU  :F,#Z˕BZ\XyGq_YT?k`r?k!ԛ27V:PNI{N#5*Ǥ ml.\_^@DV{K,g ߵ(qh}$w+ ՝Z>6/pԔjrMI|o-%7d*PZUjzZ^[])^+:s[:[V<÷nAܭ\1d(Q{1V/NJaq7l7!#%EhKdiwW7[J6~^،`s3QF;{ jDDyPMfEu{?}xZxߑ׋W iP05N;G/$fz;AOr}I)IE]\YX9\1 yt/rJ 䈽'#W7s^GxŔC%m.{wTMxY;W C$GFzoU=AK;=K)|uvx+C *Je2&ϙ 9PlVgڠ:^*RdEƔExE2v/%d ~)]}(iLGh =Jӿ墇4\*8TPri ~'bTHߐZ_;IK2-O?V"g䮙E}e#RY( 0E8]+u瓘.;W)%Jd'F=Wjd\0G1)%E%ܙoRI2?J6LcPxjY k'mg+ϷoR N f"P (J!uT:~No;+X>=6ͥE*fBp±\ 2.MO#ʼ7t0׳|~Aʠ\!}-_$#2܃8?75r7 -,\8XC$ ۊf*t=ɺΌXGHn(ʰHvA8s0>o$=[ n+|#6fS#dI-.5\`47ǓYd޳ 9asxhd/63 EdmL↼{@#@QY*j3-pB_X|Q_*>&vW2H n-uTCF-[ߛ |Pm(5pR;~_6^'[뵠"0(%-W(L٢6g > 3~/7@\Μz62[D(P+<+W]h1uyhDFOBWYd@E5FbQeE Bܿ}QtIjS%eͩ(XM)<ɧb>@굮 >O2]"|gkD{sV!]),$Ӹl$M%hWgBDKpAv8s6g5. sI˃8zMk?z>ov+s'(uT{j~.TN8b8s2VvD8=a7BP}f`.pߛ]r;_NХ#gt?I?+uD"O)p99-1 ~_tT3㏖>MeNj;ɬ8!H|ШI!eK/l?L{&Su n==сmIi4Z=QdA])ۀNJ@F# {\;v^a ! e^*u!lly6eU|DՐْI㣄**.8y;U^'!6U#,6yxqd̰䕯R0xj6X^?҉{TQGpeC+2 !GoݬrP-56ezslKbnHn.͔3bddX`ZL.:='{*^xd.^K\3y :kir}e33)MŹ7W΂ҀZ៘1@?ݳQ׋_ÐdzAe]7+i+g]WCZKu{đc:;s::srqKEROޢ- 2]lmh!B  W1{} ~vDNnV0oEQab,AxOג1" DZQ^#si?i!`BER_duC[h1-Bnzd+QV{eW/+2!Zh`֐k!҂=Ϙ\}^x$WzwcUe-c_$𭸏95 pg.mc{LK?'fUG2L>̡ɏWqz{ NoPS43@KS@>HuF曄+[ m+R9HS,_ *QLA,=pn4ve 5ȻPq<wjJbS(Nnz%k%ɽX[JE@Wæ<1u8H(V"@ީOܲ5[f1rЉ蕸𢬓qAJkS*tлt*0 òl$*TqϏPwk圄p ~a8\^){Gam_?wb_mL. 5Gg &^csq<&k'puG>B~Ƅlg$ G?3H0k5,gZ`l {%y`;I؂0GeD>b=4]s`B?!R `2MPD">}9ݚzePa[XHjTkh=Q%00<)JI'1& *Iu~dSbnzPNesʟu 0ˋ̮61Bqnaظtik3fXݎ47OTn$|)ѳA H*bO'-,7{JYm*iHYhp9h T&Ƣ RX’>}?13a"3 6\amʷ_=uSrH\wtCАz8x^)27S{yΉ7$]4xG/>c7My]X9I3$fr}#)CqK"{K>G l/xXٚVNRsp6w X/q >ZfĊNK^c?Ӻk Ik7KEq4v$j^( :Ł­綃y`]"RA1eP$_!r]ŒTޯywUn*wiٲ%"4KM~.Hz)FIAH\SD}^S'Gk0 *ݾ95‰s¾舔9hml9F„6x{:Dz Qi|B6! <;NޫϿĿzSu0χ| \to>ݑhFZ߿(}bGdg4PAgXkC 5BΣ-[',nwè>i= T(iwMd{ ӍVEFaUcQu+&\JjP 'w)ԛ#G_B˶CHr4`QQmq81㏖6)*>cݴ2`q̿ѹ Jb6r3M$U)oCs<`=j lD̰tєаE!wGs~fL,gp<'d&X;jA$d)s[EұoT]΍ire+-;1T p` (%?Pނ [`yS-f[.ْWV=1 [EkWM8mRZn&p9iAT<=N.?PXȀl7z`z+PB@#/p!Wb'$$C^g5t0}eh?#;Vn{>מg5k' fj*M]XB8w ufS!` H}CDCj xEKaςGl5{>9?⹨*p0=Vz8wv JsݢƵ+Do9e5gmmm톡aPTS-L䏱l/ZrKOZ:/ 669GB?gOU?4RJ&+(o[p0߀ ~ڹ+4sB,i]}XxzrcM峲+P)rxx4Kb|Ǵf\]{ .uo㢀rfcW?`A O- ϽejJwGAHV"܈V}8SF Slڪa@@d<:d+-O>_]ĄfBp"l]u67b2LwGh@xr}%{5*]X/&5!jX'V7;0}:`]0Wq(q!WqVl l^W{@# :ZAyK)PX=,]Bu٢ 3[8 Ww<6n]n嵴# +Ϸ~_K8ydq/v7Jq{i?1b_" 2MԸȯ xfRs{eWŇH\%z9*(V+ ȏҢ(3{,Xi ZYg9$c,Qcjh^r&eA1 7ҊN_!>Pn߾Ք*B@wmV_;kv ݯ6Eet/vQJnr%C9 X0|͒wa~:| W݈裾\ '+Sm,<15(IMV]ؖ>Y Ұ߷۴RUkQ&= MN 0-YJ~CE#WB7k{d-vT~y%z;`(ԞthM'՗$yexB+_ w~MXQibJH:7NM(/r.3f~"~+1s;S7Zyq-ڳ}{$o݋#.".{p"'#9gӄHj-}6PJ o?-(~lD |"9z:ֻ$cw'w\߆Ÿ3Ss\A_D$Oci*{M8No fPJ 8p ic+2u :uA6ePZ8d.%oaP|2<} 7c'\D}t4+f:.pܴ}Q]x?_x1wOLQZ")ANa: xCtD$? TCG?)mLx\F]a2G" xD:#!ܲCcXF5|'~NƊXpELbcnknzB4,y)QTyIXk GdSQF0e. Ӻ [ٯb/g |Qw85A FQlEQ{rl2'+f)x[5ʙh`6?_yt\&5F;9mYOkva7\s̫i6/5Lbo7r`!*D{Xi 5@ea_ehUT n[٧7梬{ 5X楚腣Xxn+sl3>yݪ8Õ(K6f6 " .6BJ;7Qsr~*AwU`@ִ@;1oj2IҌB3CO2 [~V`,=~,*wߵ'Xo/ ӹN M]:EK!E:'E.(?|M70__=U'Òd\ D9y'Xv0n"V"H(>3K%΋-(I(V` U^Ÿ>%YD!$LVimR)ͿOYLO.$~L`%s(*|Yb#'*`6iE, eAgbkFK,8 `0™.9nLE,| h[§Ů_ެ+>|Y1Dt*EӁG}և睇q oX*qeG?G֎[t ✠KQ?DyoQ0m#5Akl 2T!WJP$WC}GY3x X INo/ܗ@p<<\,x [~=Dv5%_Hg\3iskl],>&'`)gI ײVyZe#7Hliq#Tg+xGb;QkGGOcXhu tYꥨIP bwwi㐁_Յq]IoCX_K= %mɃMY-3TZ kf#[Q 7'a3Sy O i5[-:D!#V&zY*ڬzԱ(603W>H^s0 B%&ɐsU2*'cS~''Aʕ6=}/D J~ι Q1x)T}ى`9`oMV"7 DPw@fʫ] $-(~u@qnEv>K/_PW1R%J\M5Ѱ<֌Ou硙w ,Sw_J,x+*h^Q壿y' 4y*4%wy-XL/.:3`zF$1`17R |!e#V5 KFypWhȬ-=բ(ɑ/բ3k J10Ǒ;b[;GxoN$er =f]ӃGO.MD# ò#b =>FRЏ {-L1>/g.0?D3z?b*xöB>ҒusLjN!?FFTo)/8wxK\a- X@c#S:)- !V}ŋ')ZVR%kL] %ϥmڌv[ɆnȝLGX#@uHR1,i}`Ĺt6I5_qO }xyU_O 1)b ŠR > _,}}U솷Y$~ {0;T|mӄco; εAME~g~<~cCy+6ڈV\&= hV/cdQWSWoYޣ=]cCڔgR:l>#Nq9xb}R}PUڵ1o$z9J`I)_)hP|6ӡ-ܞ[毋6GEN|5ĕ e\։>4O@>0O6 fj-hQ*vk#\V'\֚}lp㰲}go>T@x}{ k򳳿C8My>)ͷiQ}3ϣx2M3 ,A >br1=P!.K.3UoWkNK&L Jhf&2q4.0C4F۱r:>g_7hYLG.v0@[,rg;y+6Axjm~޼dL؞˭Ih,ornR1ژ 6c R?Ec ?x{1>Cq"0~{ )ۦ1?a%~(="wΞJ1-h4RƐv(K@ Mz枋H#h{˪Lcwx\dw'(8zGdg+J;AԎv>yhvW38V6a/ "IdaQz5g$󃇯!l]w+=oAxߙIݫO4WtQ@(i}OgJc7@ 9Q_9 –0[(T\KEڽ+@AeɻW/4w<8.Ȇõ"%X@6L^ѓ `}P̏_/흩Ǐ3!)ȮYɜ0 ,({o3$kQ| >Y,ءx}(r-p^&]=Yo(8)ZLM?F2ͣ!M*DᗉdЋ'w 94ď)zXb5dv؛r5/rk13ٞh<;mb49926Kc_eᙨb̰.Lş`*H GE)iwQ -{j#AwpNX׼{~$dL,J9\PnRm8RZPL_TS^ԉ*;dtG^0l1 8?[a.a#'$eR 9Y0a=)#j W:ޣ%p*7YJُնv}yF v(}@ןz3@Nfԣ!%D`l~wHYƴ Py Ȧ[97TY"'ۑ^` D&kZٌ!h 73VjLq?k}Zo1}:Hoe=tڪ;JIѿ!q Eq屪Š 銰B9d{|uR[GK:դG04@ jR*8pabu Zs͎d"lBmh&k_䝘#[iM Yts+gT?EX/֍̮%F[җP14FnrX@AJ?V'JsJOZ fӶҺ=N/Pi+ǁ܁@)M*= Ƹ܄A$. Ct'شr6b mY9, T4l)'Θ ,@NG=X ʓeo /SpϐrDXSCUi2*W'E=j0MxM8}džסy?A%L)M( %e~\⪠b9<>>Dc5C#V:aLtzvxh2l *иr$7Tv(=>&5>cvK "O̢uvxS*mF5 [p27ϻw%%[fFQ3xb `@#@NuLVTN̷UZem l: ~q@ca48 {{]vwp{{gFX)>sk|o1ޞd٫K6_L@8]&ߒS!&r6ݕxMxݗhqZ4h2Z9 q0EL Ek%g9KAׯk8j|ij.Ac adHMi&guhhů7c 2G1:g{Vr+ qL6*T$+uE9ޤ?P,{ Q !Зy0EUzjOn#kOlpAk`X_C9[`ۼ4qvrl$꒼oDerabL-QW`>E],0v2kLt(&CuU|njQr0 zBBsm`?%Y ꡁ55k3Ӝ?: ת oz~xE 0EiY$;/hM%ggyESCAʢf#.Y3>~e)wPi7+KutF~gWlx1?c1ʋz(A;:񾒾!ݽT?-;r#<4hhbx #\o# prAu]ϼ/W^^%ۊ.Ic|݋h*lgtVfŒ/e_}wJ+kDq^>vA`n"uwVKZ;?yPwRaܰNnu=)_~ Q0v9]:8FΥ5soES^f/뇟5c !̀G3\3tǠ Ubu1];J{n=uQTBF66{V)GDT`׶uк͖ñ 1Rd0&o#Tfc\i OX£rex,GufS#TksT3!qGiH;4{:x:-}/euľ_Od`Jd<D$=/` gZ*En_iA 7p wH?KV/׾°L:v 12#1G3XS`VV@I&$H}g5BB!]lh@ wU8WTCma4I=صBդ#>]shM5(({醹hPkc)@t' mTeʥuN:\N{Ww+Q߷y])i}M{3vS1l-{\}UC1o^{(1> aݽ8|&QPJ\{rZ:g 'ZUHE+ELgRq53[K dvGUE7i;'Gi*QrC`[^&Tg@>-B҆K&!XuΥ j^e;_bxD3P*Q:=.{5o ^Ө'+76FP }O[1êҐuRDy-El+R#Q 6\uN/YzffC(TMU#CAx~i-UE|)(&&h/,?/55QIlf%\0aLȈC@s+5 gPp> 6.zĸ_DsL @{݇S/;ݩp4Ul.bof- s'1&>yvI}IvhUU]%&nAK6(™a)ߞE5oN\-oʟ-GEg]?$F~zK):gr D_1&\Wm&\ָzV L`5}$[1e|}R-={K+E3A`:[9QOueUyuMJqbQ[ uy;Hj8UG.C/I8+5 )#<0u]F8u|L6"_AH;P^.i߶sπV!A"1:40ggҀzO|VDƂӭ/ . z~TfV+_v#u8Xw}NC 2VMB(5RVrv>9q%-A"Ȥh" :kqmϯ`{n Z=ЎQ*Vy>u׳[ߓI0܍0-ߋm=y $ طˀ6%z6J+L9ʯ!%JHp,aQOMkrI8 @?%?RN_͓}ىqM'2 Ֆʇu6^!nҋKP U_(l(%/r& Phipd+fz %|l&QvK'jh<l^`R슗M) VF(E>efg lZ3@HE+c9bzS0Uĕ2qtK8H/:{y˔yk_5D?iB?82#4Jx0=F_(nxY{K@ͷFBpA) v:=wzBJֻ6#-(U9(zZê4=H QM sG!PFt dZ̿ {pR|aC3!P닄C &6>p$d9)gDJowq{Ý;pcd]־D٪,R;֫%bWN/}t>f8# }K)52 {pACCFLk4NXCNhK=ovPyQ'5[`zgmۄiֿmjGlj)_2L kϨP"9X 0e`O=4i9l*_^wQ&"$½ T ե @}v_.eҽd7>JG/f%c_Jl)Zzvd hgD]1UjƿDъL)o鈙MI E'iC4s(W>gKբ~Qa,cv~,9 䴢0hgpɑ vCn)f3"C61]j햂)&[LXg|s{CTT]tkѨT;*O{݊VYFm\=Fs>جzHr 'ss6R21utS; Od!,b/ p帪t I(wte]~]ј-ZRV_^LěSgAƪ{oKe;RY(vK]İ&bk}' (W#ि!zL64y%{YCְJ5TTVG2åu߳|9i`XAt"@б)kάHL-o]6*akp{MD󂤾35evguWԆ27G vs~p|_E8*tW;R]ʏ|G5v o{8EpXh=!3>3^X:f {dKrΈ##DO_+fOtD<` n cφc&t>ڧ$ťžD㿻K |8&:x>6w?6U %vC]`zHM8-bR `مIC~+ǩTܻ;oV5Gߚg0E01e`|Gl=q:d^/^Twےt6 96Sv EBX63?%<_ˉ Z;{Ebpnд%,N<41bq^ y"Aʱm"X֮ؓɠΐ|ĘjB xY?$R:wm7/vK#u#[sb{` wPOG* c2wƁ1~c gֺas\=ky(P.vhvBGV['ɿsO\gGILX7:@ *xj5Yr0ؔQ#doKC16zvmiۺĚ\0ۥ lqbq7)ɺ]r%t’o,:*q4 dYҗӦr3jYb[E=^su~o/ Ƙt ~RP{9&g푆j2/2؋~5qpcMQ?/ïvJԴʛ@#=R8‡vqd{<_ jٽn6sKQkƤ?6{k4J:纖ee2;=KwۃKGFʲ`ӺҫGs0SѡZ/#/2SS%_ryE'5ಢm*񖏊z..嗲6M|*k% 7= v_W tU1:OtRֻ*ss>~L 76\]Y2"Dg9EmO~19nr6hgn! ޑΏcnս[i iSVv(?7W湐}^/]",6dF@~M{o}2p.xK\E/{/nb@:m]!$Cj&):ps_U$n=vC5ZƵÃARX(+y4*@1W!nnIL888  k^ɬ*{mP"gP@tݴ(a{6_ QK+!Fr~iZ 0i >s~7.j݊S{ \m !Ls4wqێeTXi;:Coc$1dN8nɿXݪcvt.+!u0ٻġv{~!==p_Ntv`H6y냲Mx`XNT2vQuK/zߟf#H$ BNAynޕ i4k } VS1W]Ei#UGՂ%K+F+M5YRqNv!kTc5Ͼ!@AǪ(#NPA/ NlՋû蠿\ YiY<{ŰO|C]3<;rb?F]S'~zkJ aphq=J/gvlgb|e_ljyb 7}*86j1#qrҤ:!6F1u[+$P4R&{oP'g#5ѱǑQxi&˔X`斣Jh4C?t2*/d۴0n/zSld \@ }&poiXJ5QH {]uLti]f3Co*$RS"~J|iߤU$lqoq,$*]w<1iK TDo)ā l׎}s:`7 ;L/$/~4@{? : >mh^1>SWsӜlvxJCJo@rҜ4S9>$-|Cs9e0sJ@RÌ/NC,0L3<[EO <25lo (-j }e.DӞJaDoɿ$>}?'Q=҅"d7],{c=L/rIm ˞9yɡ>idim^$Ӵ!b vz+֔?NH͟$C#$俴Us1CCyٜTGBw|\I}3j eGµO^8SLUqfb 2'|\8W=4X4$kKajpgJ7L. /zV)Q{n}?2C/zG'k$ʬR >x,pxh=0f ,>g"œ)( I|5(ah8>&~lLX Kmn/J {#?QִNs$R|CH$w,x#v9C$l!m+ Lx /*,6n̚QJ$WЯȫιC{bKl>iyVqik(?7^Da] 64~/27?hqj~03S9e%l#5nٱ ExpM}ef j"֏\,tpiC zu::pH;(*鄰k'SKWwPR;@(ΘڛOc># IT'DXZ-j-,8Hq` GxwR S?uNbӴKOKL`$$H]JKgt2,;O"I7z >L!e"Y^YyCOhnGbQӚ?du=8 ;5|"Ї7j浠.w%'h>: ү,9:HZCbuuA]SvƢϼ!u`-ذY #UĦAҬʋqowMLkϐ\ݓeCA~)yva9_>H.nK=Wapw񄺺RDsЃ2(}/+;*jBnIM%7P( "S3u[k+m;>ʐ"Rqu ][N%i$ tYIe0fQ }i' Xm;0֦o$L;RTnlSQKvmpK/X EG6K9ၯ&;*r->="Vq=WMf:$8u2zqk\'p< rsϩ'6Ks3J {P"C]"P\T*3(TW @ l?_-Yb_ K\ j3;7Q7zpXO[2<._VUO*kUhw~~l)W֦?#Ri aiFR/T|Vaqk~!T$yAX^TN h_a#rJ(|u<uK?O2uh M~M]_ %e0wN`d*qJR77P3$od7\ b+5&Xߨ 2 1e꺵 "},0/y*BDBmaخRPIW-/]kɍO'wOKm3 dǏ]nCd=M1DIw!Zr_Ի7t|~XiШ A 4v3.X4X_ kl-aIf;ձ@G#7DKx |aAޑC"}CQ:E+׾wlXTZu!_kO|Jy4Un71 ǭek@|ׯ~v2W]ݽ5#dcp ue FD0HEI{._@4Q#Q>.QһꕸY/TA̚Y 3i^N~;CnAeJ@@^{=إA?ҡ&Q_2No0!FꝀh2bڞU 0&40qK39{!,NHq^;"H@Rd1#w]:b˿]qYx0شO<*l0v!!5?0M5y_6&Kpon0yd@g:չXEyYw+bM(6QfUuK=Yx9']Oˁ+)zy'G4M <b Du{mt;CZw-O5|h԰fl,\[ cJ?yc0 ÕG^O *7R p:.Ex| r@pIz"dzG)ZF\3[=:]5& 1n jeq֨6݉hE d#6PCi#^ea1zIUȵ}_ӧO['HEdv Aw5ƅ@}wV k~D,>ؠc1{7MX>KԺC3zvTA퀦&@ЋƲ; %%!y0oiWޯ1t3tr׷g1oB]a('w>0Ug溗U=stKH*<  g#%6k Yewa&mp{''OMÛ#"o CUw?Սr AL+C@)i)[ 34f]ݨve1`=;w”t7VK)~;rw.蟸iN<Ƒ, Zxhl'~юTn 45++/HqrEߴF}3U3(v vgQL^W;.6#ܶ Ky:>h NWnH69\nɝFsi!,\EFh8rչ)rbvB](!/Wq;H'UE֥Tߑ@Լ+!D=D.;[=}>enKh'(ܺ`$;̗QkeN{C AKa@K&D)CB_.%-o&!uyJ?O޾շkc&+ɕ'QASPcʓ+#cnzʥ|>x!\m:yMt1GWH"^U9<" g?E6^Gl.cU3|3\͞@?O:9i`-%/K(NKDWV7m,Ie;~F6C[ʧ"n DAHkB/ô GS32wF hv T~s"d=Hhb$ӼMgϺǬpn KXm7"_"q|ԴoؿGj üJtۤx{jbB>䤃c'E{iA4s ][]}-SW+Ef\_F~k" w,>$j+oH]J@z|JsEU?=%|nN[|2TgrHWaSό@Dw?VN˟ ͧ_D+6CcxF,3i ]EKotV!Xw#qk7(2AA A1O ShJosUTj?u٫{!ʛ`li^nqbg۷u:)a3a? heA4q:~lVX=`:uYseA8t;Y!F7s~SvIJzOtSdRj_C}wDoɝ՛Shl"cZkKqRMdMue&ݤx DcQ6}'h?;R7wgڕza Wn3W*ez7uIa+H8^^4Ĝ3:%zHki}|lE B.S ys?֭n]#un@nq1MP8O}xT^g wp~TQ*vhZA݀FZ]%+,Hc 9[3Hv.+EgAhDtl %K %3=g+)HfɈJJ,z?9N8VF9UNJZ|gFi2]n*,.m1{\$b)I>$J3)D@5@`0b(K O HeO+w|%ނUQ?N/3C<nѧpۮiu6So\6݅y|V>pɯFV'ݒz)ւ[{ Ky1ve`]\ٓ.XUW̑ e`s}g0tt]!z,ݶ8Ǧ= Õ , "Ζ Jh]A:_8 A8z:9Qo{J^E1|BO?Wrc8":X*w4uS5˄~̔i=H`_\$^#kDl0c?8/2ߗ)c'hcu/I1l2|Wl}~=L7Cz2gYѥPL ^?/ewx~I}'o:ዡ敶.Q-HeA&Gm#G];4_B700 +ސzrڃDB~*5K RrͮiP *CLCm>Y$$n277OrFqU+GA`J&^|K˗g#~OOQ xJ{׮MJ=v9!8s8}4Yj<Qn6YHcjKixϷT#vSf`=TllF~d)`"v69.At_0Iڛ㩱y(zF2#(גcǹ?- WdNoEJ yZ3w AYP? jdAebN]XPn(`|ilxD0}m<3p`97~1MO}B]c2,al?%k.6"uu3->Ql6)?r .nn,)NɚhN]i׭1yj(X0Jl#x ~[&rDpZdaȳ=;sÄea!}PoՅ)%ܡe^[mXUUI˿`lI-@<;v7S$4O=ZDE/v ,:.'[ b@3W+^.tȮ`GgY 0dݎ1uq tx+l 8vG֚GMf+}>e RܳCU\Jqw#D{鳏)ڻPz ,e_+eKp>Dwpo~qG$T>r=27!UƤg$tn>Ug Bdo>Bp459jHVvwqXQC3ϗ^ %IYH!vvB@0kĸIR 6A&S\j) }ӷwkc1ugSVYsUe ?9LѩܔZ4|2˗yb>@ȕ~ J8$_ǻy܎^@р4V9;֗g@Z˷ IGBg }5#貨^( Ӭ+<$æ/oҔ221~دT27K9x(eʈ ^%/~^_3נ}M}@waC<H WܛM~w&ɭTf7ͧbp{]߻7*ӣB @e`/ͫ~O_^Ykv m\o>!xtcv( anX9dP wWak&5 Ҡ@c#7[;0x=6lcN!}rF,<ú1#{TWdLI>n!7@o`)$ġgDP!KfyX +0H|%- N&&Z"WV{_>iF~V E_Y1n mOx'I'"~2З䐖LE>!}qQ?|^#w҇zcg0N/o6֣֌#) _v |+" ѡ*U,zdփ1:ࣽX({rv˘6s6 uXtn[ZLfuBOt_4 F9ƛwR7-z3RڊquނqD# *sژbwQ9 Oyq#2"ΞPHX$)N֥j'9|{l Bw~};>.ڝ烢nXV;ex)>CPN C WKoIAcQ>YĶ8Pc?. /IkwBSlu jM#+yq˭&ԥ ljxަ]`Gczx2"!sLu@u6ot:LB14X{軘7pTԝ?=xj%҄wdɗ%Dl 93^ygGw/6 Ȭp8⚋pLtP&E|@qwKYeۧk܈m;-VDO; ]<9uZ7^'YmYo$̼0 -J 2K3² n=EEJwTA Jvs/NC~H"{\EIגƏ w}OFSc|$w`*ap8 ҁ*­{zs] dDMstɺIJI`ޙ$k^ -{8 B=6SNH^kc]!j$IXMdVQsa&7Q CN9*e/|_)W|[̋sdvPDcfvWɾeq<[Q6O\.L7M)Wx9bdEݽ4zŐ| gJ^KJ t8Emnvf_mJSR[>OZ%a]oyz֐eQ^7Z`9Z.Iҗā&9Kf S &ee]w"oJ2V\F;ctu}rzI2JƖ$wC߾m7[yV{#o޶]gBgp]6g@sAwҎ_*!$mFrnsI'q; 1qa*5Q'gԖL_gsv%oV|*5xuI!~5Jg`&Xj5"~\6gپH}߀;̓EȐδqeOg]DOwP94_ʪy,/,0#qU(E/c!ă*)ib'ߵ `#c2Zs8ly!BfJ7]*b- $guKmsNQcÐ3Yo-󽤂KQSҢct1C5ZřM ^5-r<%9Pe퓳1>K,hN3?/x"mn[$t[V҉P@jtu@o/)Eeo+-EKb釤ӿ¨K^,Vwkþ!|2?H$ԫqW/daF׾'0]':k8/tcKEg~)8"\+Ė-S~;&^$ -0 IL;\ci@24שּׂ4:by@r5FX6ϧ<‚rFU!i""v.o,Nv3.<N5p9y굉wQݘSS:${f\ii I70 m_?-Ddd8&pX'I0LЛo <4>R&FWHebP^W%S?( G||'IY@+,ysG܋̔ >Z7e @=OCZ=:~J%GʲBq4]ds^)17&cqCPAצޢmR<} ]6 oRT?ʹ\hf,׸~:D|׈ꍹ{EY=-YٽZt9jKǻĻF,Z B:;!y&fup(hBξ' *'b:6ݠn#[\(jHRV֜\S G={^~]cOuQœ١K,"wLCf9x6$ciABۛu e11/.TL){5z tzW} Bx,zǫ㏻^]ByXg]OؤTYn)ҀMMQ dhnbK:5y,^^J|}n!h]QjhZcTIyVװ4mh(jPFKY+!Çw:Μ՗ #Ɣ8nhj\ShwХ`ocY4c[ۻag?)drOdͭ]'9>^;6;˺8f{Љ-2 T?^E{']QPT |w²NؽQ ݸ(عΥ@+{q`FR`e~j+l[<Ȁ]⸂:%F4g~sgJx0=*TlQ$2^dYĨ wˤi./tq GܢUپjNOcM`u#;nR^gWw ./e+ą5>$fb3b8Ua'[il azOH-/b>xsn9dZx`T 1Gsͼă"7ϰM=Qꩊfy XY$;n97-q#430.>lbg( T,tH܄ ǬTS!,XUx/ǩCn^;ZM\41 ۳kJӰk x~NbŊoyǫ T['20)zTu7c4eXI7#m9^=2/Y˗8&Ge_ , GJ ;0kj'L dvǨ?ٹsˆ ۊRI'dYW[Y,p؛v 9<_| W?{QU9~彃kUۍ=>4OVzY#/"xcKct`dsn}JpӀEJ4=[Xm̚z뱫ንCA/0q#$ UjRgtՌs&s|0ŀw ?S֑֑ebkVݽ~Y:PL^ݧ৑z[Ur2} }B[l[]SxA#NCQ$tch_nD4(5il>`[[ezK2PƝ`5GSY#V^pڱ'8" D}X:J CfC+-\*u>>iA^eP%{Mewa;[N=D9Wq4.uM$m#g+w癏@&<:ۤ \<@s ;4BM$̓sIޔZ`9 hY%eۻ4׹wzT@:)ЙnlP2*`&/I-=Χ!̕ߓ2tze+t ln9*S1y apT9Saq"2.H;`^7R+0@1jΩ UhC%^PECs_~64gۖ0&p-SH >v,y@\\8_-kƘqgGWu+@F#K|5cb)))ܢn[ܕ|耍|OX4\^ͽnp8XZq^#]Dr[qcx6:,Zo 3[jp WoCFaʲM_dUIdʢ`DUץTuQhm0S&;~8jOYsן4Z?ŭ~g?ќ?1lBQ0,cˌ15p7dc9cڄ-9Lf1aw昧Ly썲黢O!ll,Ӱ3|Cu_9 "$,P0/Ŗ=e .GE=W{iv)RhW%~+;lܿ [-|Oe<\ %CJ1>j)ש\`F8ptȨ!yw2zEX*{C'XB?`SlL3-.|yLn}$%5Db%}ɷHf)PڦM'dxygߟLgsOiȑE?8hrHO/<4Zp߸;G"|MIJW$7CeO1\nE"fW0*`bsvIc<yϻد=5m>Dc+f2V0x>i贄{@Bl r"1~/ I0S7Yp;xnKD}8R³FrYQf4RvKxSGI)([lAMOM#7O#|`:ٯEL ['}vy`~p DTr1shN/-\ruN úS~*]bOOf?4ݢ#wO&~$3^ݝE@OrYjK]'F~"vQ}-PKOʣ#5ǧᎡ|_SNetgiLaQ-=ښK-4YqZ7'5׬=Y{ b\譠n}w/s ɂԝ5B795ȣ. Nt n<>4`UEiJ mlyvd|ɭ'q/lgIB<ハtl$#zh%_A@))P 'B|+7X]C-M`אe4C)f޼:ܲF,#|Ee#1Mn8M8ưM{Qh>TYٗ{$zzT Փ9gO@?6C,-u7Eqx2XV^σ"Ep4Hcb%`~˦FSPDn25#Ð![NKR|P8`,>e7&VEݝPMf_ gf=ۥRbJd88ڊ)k^{3<ÓmɖRd*vKt.[%^ B7C[AaHvz-&ganETcc땣< /_~TWEjSOB@3D&A OY@Nז|GTX/h}?|["o,^Y->a X [+oY&ۆ %-Ђ1mT2x)Z0:1SA ӡ`oHᝫ'|*V4KDnR-Y~ 2qy :; ~mZ'}e 09Ŗ0i*J(<@g 2ǒx|_qlwexʯ6$\.F_z<>HC-#P\+8-%5UΙSM䘏Cy:> c_#tpFQB@VDRpįiXb v_\xRb >⋋_q6Yp98SCլPH/8D!8DyI߫j͛ҽ^ ѡ29*[FɚTC4O͞zdKuP]e X8}ځk)å, "@1AQgMB_hQV=bg}MVhEqمn@§!Ck!TBdXFT~]~KMvuo ط%rA|c[C>V)FJ]=5k@F0fM+ y 3KQiD.L/wh;~9|Q^4"JMm1Ȁ.e})$ZE .҃`D|7確C6^_DI71"UMsYFxX^H׌*LjEMp^MayG'QփFq4%k.>%TK}7mĕG>UagǛ)SyZ\tN.$m1m`(ge-ٰpE]\}饮֬R).d=AɻF9^Ig֦%F;l*Cyk_- E%.]d0@teD:j N*Q<1A#c}R]|6Gf2 [h"H,:}q2295%`Cm͋hrdsqdڔ vxwz!ĘUޥ:fEJ"BHh4C)38lI_uN][ ﶀQ;+z%Z,qlPznS1۴uG*EY5i2Gs4\.FS!ȍPO(xEw ! c̃{^> VM|/(ٙ,5q<x1' x4L,2YemP~p} oTkUv:RҼtTF#/1BYM* х6wc7-x43F's{8$`xww>c ^@"HӺj">@CU+7V~𑋚!2 m[{c$+XyE޴Pob?)PM҉  (lq1=٥8k/,Q[oCXXBu_ (q :ljStaOLqXQB=aWBP>)obD!uNK7SO3aJuq3,n(^inzXOBh+S}=6TREz1g̙s<#Yi Q|XSBBcnPOZNǗC aL^Ba"wA08m;†`!xKTL8G"DXvq4 <ܔ#·NuSGzb7 Nqgq  _Ц=t|;|gs4y,Z=}sK vJY$9Qu2}`-E$dCDS^lXFka#@te_`^Br%(q Qd:/ofhD9>ߋ$nM3Rb# PЊ.ye| 1U\F3/0(g Nєs/ln~ ]s\CfK8S.Cqda|6Lͤ՚5k*c FrPʮfz'#>QЃ.HklcRg΋LޓWLBKyGC ,xc̢w:ۊvd2f>!yr1]Eo(jtVAXwns_R| >q}`јא Z#C9ZCZWwkd|-]uuCXaB #о<{Zkx R{ ]*e_Ao|tUr$zHe=D^o0&%=8#^⥙a- b#(SY״6~驹/xL2Xbx@nLԟ{~udI;ox#^As 19Ғ_*F kӋ@%Z=XL6wPE6+_|NoZpޠXM楞˴r#3W yh+H\'xPw*~~(Z%bD`Δ(+ %9h0L9|2m31 uԁ:GG^OQJl\Ro`%m Z\//$ Zǟ Xue}f;$rj"s <h}_|&*ciadhv>ڏٟtRU4=s_I!C0BWhJ\%q^"3\|7UBHa@ˋK91 !RЄ\Ke_h}<7坚,]~b8dceZPeB8wxm6wiZY<Ĩ֗;PbP x +?4Tي<4Xaq,\$] ZLW%WdVa`A'G +T]|INhV봋ޑW+voQ$YȶPxsF]S6K.lOp,>W3+9.a_; {0W\{ Higg!;zn۵d2<)Le/hQ Y&*2Jg5 NJ>U##jC%0N8OBmg>% =\Q3|NvyڸzLJMn>MHu¬"r PI~LH`irjʏ_UK;6_AK-#l)ʫSp8ƱѦГY,2p6gk<{iBXjl}Ya9TL6^냰6?g%\´,{f"i A:gNfPCR^K/0ubѽJ60 n^]܅=j $ϋ|w~_ce~!ӫ)Voۋ1|5O&I̾j.]βxvg*u86y.O? ~e59͑#=4W.^)'w >S<@d-3rXD.[@%V!B&%>1H;mcq7eY(Ǎe?kߤ 7p|IRG&ʤ5TwX NBbvYktep5aQ ?M Y?{+lw2ٶ+W`"jbtYg2U)I+]c;%(& áp& KS,an"rbTB!c^~eʌtUL5Z߽zm9Y</yHNy2AemR#qwEg8 j;.0'nJԈ|u}Tx(3R )JHײPyB.F>]b±ϗOO:BX| 08b&H95v%M2(E͖I>o4>Fh#)s;7 ,%9(W[ X/ N ̉ۺ/e/jɷ,HCkLfzUPuA/~)5s.w̑/OတZݗꑱ^Ƿ &;X(/>4VbkҶFG`N"Qx]E63I~x <#M]?9+:)T6G|iZ§juY"?]lF ^yn3:!˿ćo.n|aWr^FGδcVL[ȌVt_?;(#z[kh:lQ4pw&bODɺQ0H()L"LtM a~L1iCa5AD]DVJ.:jJY>.zeB7O9,(UDO(d oE*]g,+ {/x%JhyACk}A=H^CVh43zY!-産:4rd3SO.glqn؛ObCnz9Ѡ,!k \#D[WÂ?$)D&\@8!O[(Eg–,??IJU(*gP( /}jpcE&( gVh.on;8_!o I!W m8x5ԨjU.ipY%]_60FZG@N2gu&gNINMۚfe BCև@xw[EP_p,ۂ_QtGܵ%O5K޶|OмӋC],|q#d3hh9orm>nbgʬm:ا*1IM_רT#Ѻ^ESW{IJ6|T呂5`L^oˆʻ*a2 ߯5[T,,b*ZHx;ɟ 8.jEҥ*+d&{\lN_/CV"lTⳑXƔ֥u^V6{#![dަ92O`PG"/0VQG\FVEsNiW~Bm ȒTz!PmW=}b>?Ix,Qw3XYq_>J+1)P%l{ aDBZ8ί$d"ut,/0b VNSNJD;QZX8dhHᗾz%al鹿ǜlH=!r/[z@b;O$3բ/l1\VUxt /0:,K=Ɛ0Iscu!z(̐ %<t>ٍq;XxCb OnBq`{c;߭fײ)dYs[r 7wyTr[[c 2F|k0fqòeD|?,eE6߂l&@-@5*<^2NDL=B*w+1j{RN -`;}.W7~ɐŏ+MhWw72u! S 83Dvh>U.rMV7cv5J ;*gey9Q4r$F™:[qlwjB'u`zW}>hD]:Yzpk??_?i9CeƖ?~ 74lpnWK]dq}cGy4" dYP6:-2IY*d$`oenZ TRby%Lb?m +dMN4M*nITiTpOI5§)?JwP'[bvp'69xWĞpUïeGQ$gy[$䀛 e ݷn,8]T]>PÎhl,#杍 v /D~9ю9 i y)'v;Q2J(hHtCIp'/D)W1$KUѪ+|M*,>E1$e-S%idlO$SnN<<^z(L2ӝqd.'p>"xe ^ pRi3i'c֒(uuGhsL|=~wrrbQL񰃒(F3h$@O\kr<^vmͶﲔԽ#EΓܽ?ۭ4٫1JAK'R_-v#ߛi,>ѳ*^~ž37 b_ C:}ܥ)eI}hVLDB#e? ĎλGoǑ Ӛf?g^ampUMoQ~ʅOoEpPY,sV .QɀF^,w@>1Df ǾUAc3#xyv /d@! jsƪ:zɼO'GkDz~ԾOixa{yI:/k\R/`kCtȈOp+GnSBr`](L[>vL%Q!B=d9O>W Sg:Nn㵈>j^2+ <ӽ_D-S&9? 2;?#+G>~ߐPg(,!pg~S#C] jE ?lYd!pJJ ˈik1!9ǥV{_Y!ZK|F 󐐩`}e5A%77<[@u]2ȇcb!Zl_ WY8n7k>>5UR=* ըUwG7@ν}gKjk]ݘ el?P۱eڥbUNεqgK~wgN .h~^}SɰșC6:y[GYRFz>jCNFYoxKvي|b|Qj05^zK03I&*`>A7z; WX /$w W/ZS _f>:ɫZVa o™|ghI'4qLC7C gBlu6:3#U2UЛx^F;0//㚐@zy q~@pU_ԵŹɊ1L70<$~wQmH :#qQxab9.fh0)g!/TYyG镂P8x91+ĝ XaiX-kcGҦE*eLijS{|W6[l^'&slxɓ]%O5^D,lREeϤ؃$&ap9ܓ]1G #03%@\NʳL^ΊtXz(S=,RTL)žL'LtM`G#v ,xR)C?y3ɡ`F[O%xE'LO yu^/plR<~@EC#ۄQ${]*azbFbeR[{&bE4Mщ34t,Qm=O)`KD^/oHCn,^}6ߜ~Dp1BNj2:`)ۿMQC,̙E1P"כ7[&(o J_'6J.#nhfGT5S9x?_ Z%϶nꪓrYOcqO|v<5POE\ROc\OgA3(4j'$0KƛUcFx}EJW*Քb`P~3ޮK(T'փM?M4\4>\n& 0 koAIl./0MWPK4zo91M5lD PrbYF%Z%a4mDr$R*[vqC,Or_RnE ĮIwnVT ]2+>7.<,@kV6ami/&XOn>ιSCa%f:eT 0ss%q(>jW,*b8DFI˜hllC㴭5Qh?4J<κSr6pA 9!\^#τNם/oC'[ern<ٞ8k޾8ۣIؔ%p$O{;+T+Ӳ/&7ͽ{.LOw&}G6, Ec`K3@],0yq/Z#]|nū ܧw%\?ݗt`CqQ\c-w^3c6 xyor.PGck>?#Ɛ 0\)M[SFo=#&+_x,>zmͻy P gu.mKzAoݯ"v|2Yt%n6hfݕ&.@izID[v] "^0[6@&-?Gz}xRJe<b>pݫ%c^ޝHAn+,tLm-߁xYM`I s+,ԯ3z:$Uzfluu4Q>LO G6Wx+@0.\* gJM:cY D-dt@-_pd̳eAoiBþ[ýۃԾx3yJ~'Xkc=\i8(ye 0-$.4zHH z*fHZG2S CyѿtgO7C$̢k֣F8K:e"|Lv`ja2mGtҝ\wM{`Ve5:[1tK^]3&_n}ɑXy{LYAadK~lnT(1?y]J%Ts.<Osm.n#csΑbWCڊWkPWE'Qa˶Ֆ1忾/i1ſbaJ4:7N*2ie,l)"1$q{pi4B@c|BeEC4R Iy}׷i-O-_Uן)5P*'&K_gyp^ɚa/T''X;x\H M+np]p̣jpI"J;3%6e=RIsM"%~z%Ojw^rx RÒz|tx茭x"?$b8PhElS9~ u5EyiNٳ =!K/Go CK$zONE,M 3,6 )EK aY7Qia8qPffu+POJeRV]W݅q} 5JE&]Z`m1H/ o& yN‰KKБ >+._XX\ѣk1X& gZ+ޥ^crv7>ANjxF~'?)Jwe ޼&DbQLO*뵐K.z/o{]Xw1M~kgd.3Z>j۱iG>\2MF:u=;sUy5ĎTjO}b+|'GjC=TMڽ*_+ ~=*Ʀb TϦ^L>o=p\ޔCR.'ӼwGn.ԃ~=:r4{%Xi|ΛփT)g7:{eDJcI@ߨu2im0M8(eND ^?>s`Dy8dI~ ''^K umU:\'ڏ{Ņ{ÛJ⾨RqWv10p 0@r7f+)J}U^Ī#8dT_[LyZ]"ZD}UeIr ɼYK k qFޣL@oE%gYʓV'Na8M?K%G\=c~\}gHn=kNT\)SP-":d=(nJ=­~GAK4C>SL`&u^.>;U\sdz&)oY,N5ĎѪ,f]16xaP=V(iC $L/, 2?̓wظKt b[I/zƿy4 MRq]^έ r;A ŌĽ~YKϿ|1n=WOʝ =&\)LB1 @ENTmn:[.J"60|1 rrgpT&w*eX[%_FY%c. `GӇt&Fq0ʿϳIF}*DSSr)L8܃Qi}<eH?wt<~!9H} B*kȣL߃m<"5J dW` }Iq|\7(V􏃥oMV [\~2p>=A{>H=1^clʭAvXHaBnDMoyB,|đ[q?{Il^Z8nP>_"\j:H("@"+G ={ӯIc韑:'FЦOT7c IGGO I^g}Ff1v .7ДѫF$_aPJ-^[ԀM@+3$^b-d#YES0RecMg]mP|?NU ާA~;lO3{9+Klr,tE=ơ7)5E0̣c)5n~֪@#bGy*2dmؔ&ìY_,%3 Q i~LC`43#UFh~oTxf=/0[ѨާJF2D'F䁡po@50 wvM+nsύI<@I ]xGz/f?b̞3WT r2˸a-MM_k&{y3Y.qOa-fz92Z9cf?>29r|R$=_+fs%K |؉(7o]4U wMr]'Ԓ9WgZ9uOcSXjGa]_sh淩F`L˔vÈxtZCqf>eNM}B'dY?CO ջd {&لHQȽTz|[M2[v2sˏr郇oc}]W;ΧE1&PE$CL/~u?cY%¯žA%A(w/o+W Cw󉙞m^dJ4Ǭ>8wnBaKlSN|RsH/ nac?QȾZyh!A5Çl)HO$NI&nčV BZ`(^9hc7wM-YAM~e9"{/30A%X**ddgB ~j<=Q0^3+q/2{ڻViH1I[OC+zlr|0[gCMBp?AP_Vr_".ҙK&,[ "">O5!ZyGktD25M7J%ɓo5W g9%>ibt_t{(Мr~7B͂5ӵ$NՌ'(^.`͆kčmkbnSrdeqGn _T溂PaQ @Shȕ*^CEم%u!)6UEZY,Q٫g|;Yd%d /b„m|/?)=i[q_yWB^(leڦOu_KxB_İ:mD $/4*."KAC-K?U"`)=>Xu1>DϽvWzJe$7k_'yE_0c#fO}"s&ɬ3ѽQY1qM6X|'p3x+ֺ2J^& [d< PW USKٸ岥"q.X r`1۰dL/TfY{'EiC|+#iՙY K; M&+ْQ(e&7+t!xEU. lV\KG6i,&J#oPk?wpo%PanPQL) ጢ6+jИ/G$ޱR j;`|=![^;/˦ΕdIig.)Ǧ[{Y ^[uޟ9=*jq40he"imNj퐥Knwj͉2gJ +.IPM)4/r΍[qߎbx?:B#:Eώ8fhnk*pugiu'EjF m vM Hd< ģ$\~c58Z3qJWQ0\uy -6SEgwƜ^4_mdA5S{Wւ$+gUV#ˬm!+;O_ kp<(#mf1<6_1\C?tɲҦm̱j'G1rbIq6P6+N&8~hw\bвZD :<y"moF6ҴHwZD{ƎV>}i26x?86O'c3WRHGPn4)죆la^+l &\}]1LS9J)N4TDC:JÁ2t}EE/8մHp.p#*`Ѯ:`^υbVKn (`6w -Kaǖ@&S:i+,= k!Gq| T6qiB|)4\ h tQiirQ}088DHNod;oMŷ3rHH64z$@T5[غ,~Xd "t)LI\5Xtwbڍ2 JhY3mh"_\m3p@:BOH*_P}:>E41 ]ັHQ0as1|Ѳ7>K~٢F PgI@PE Ƈ“_6Y@ >'^Kix $/t&/eMe_><#B,_<%G}%)+_jut_Gr؊XRd:EM𬊶ËwLPP97,7hmĥW(qՂ^w @ږT9zem>.-C1+)~ [ɴAV} 5F|#vLD,,chq45ENZJv6# JːOg_tk@xA1KCLcs*XDŷ>{7%sj$Ҿ_2wV:DSҡ2P=3{{Y&w&wRO BEZ~\x6ɥt7 }i9f|M"C+X.`zb1OF-0rDejI1+W|%&Aw&Dmݧ޺Ƃڔ|'8Iv"qkW{? 7_Qu,W?5Z/z~.ucs#xV(o;ONjzJ, P`D}iMeYE;8x>۴Trc_tA+ qE1@S.o㕗cH68pp l5`Ǹ3oݤ5K@:L(HfFB.6a#DkR. $E`PXF=?&݅9JM}G"֏Ӆ? ěef $jJsN[hq|Gs 2ŻY8.v;Bv3Oawp@\9΄q=e;NȒh|h365N鐠śB[HʣaP7عB1 xzA+4we~qb9ADkr"kF~/%xfBwJbf3r+__/ZN)}U[ IQ5+y>0"]H/T55.7`d^H9[ h"0<ܐ| {[? } xU*9Qmh9ί52&-(ۢn Q|D Nbgߖr_(y*%1_K2&o·Wf/;υ;G,LwP)HkabI w]TNZS)EhX/r`(_| zmGjHv ,[F&Vhv^.AEcS:C `l!O1$M/ĊӾpUADY~/e%y)mp qy ga5}ƺ, ݥp&8Bow,OL ތ=.kKT;z~Yc#RUY ?#mh9 _fʣW 6hcAs#%i9Nbߧ<لc۳v_2 z!u+2m7Uzڍۨhv8_ڶfuYx7K&bک~rlO j_3p Dyl7 4\ e:|8qFkbD )`B<-%/h `a}g@2J[ ^O^Uaf1\杓L}U* qpB[{9[P2#ɞrac/(  XuJwR*3m >ܚdu*s$H{St?R2gJ"ChM[㽌\-v$w<Ի e;A : ]ꖎB),c7֡ \VT#EUaq61|1O Ol+ zGyg%u@EYPEG3cos̻%ƴ{fu׹Xwb\ѽJ>yfsq`\kw[P1={_AYb FyVA1 c۷z»cs~)$⢬*Sޕ&Q&)Pס33mŏJз `13}Qc8vdy\h4N֓{$Z/3u|]bpL,'-|2 o]jE. 25R!cE!Yb@ 2]! jiWaXڋ<'ؤHό1kOtj~Y7 O=zC_CҐmBu~`c:(c"Nza/c q륮`Tģ7&Xn O] }Fm|VLjwGL#ߏ0τIT$xCH`BGAW>.Orh*G;rE(/zHZ!>o MvZb x>Upkdfbhty,+֯ #?DHsd9 Dk|e쐯)Ec@DG[˝wGBUbwNCgɁ|nu} ķ2pq"Q1L.p;o_M.^}XYUM,c%ÒTҳx]75_KAu~1˯:[XM15y= %>0@cXD ~|~(TLS AQ ϓ()iuCwrĘWWmr3OH$+;ʳ5u>y銖%u"iԐC1~r\HYsFOtc bHj՝:O>K XoӪ P|CŤgrײ)vڕ>$dړW)v]>M*3Bd=Ӯ3mcZr¥7^DBqYȅlzb*d[H|:M`{CcZꇡvo 6F O/9o"k7R #7U[VUS>aBR$ MX6R#";Ri /a.mPMx*׽ >AWZK[XD2g-voSfA6JI"YFd:zk <0)3ܜ;2Ujc5;PΌrO_LʘE͗xsO/LڑpNl?QG67bi ٳ0bvdKz9zGKo db=w__*aygl(5ywaQ^l F83C, 6 s׼#fWD%@a&f}a_{mLS@R=*TCw%l{~"GR\Xoi8B&xr&ж Tͧ x/G>Slj\a :C۸PŪ!-T,SHPbt7\euqOFѦ,+3Y%sS`oqE3eŘ@ —נA.~!1ZqoҤ x$t#?܇[c'i kMrsEo2H |&=5:x?:%LD9:.Q؝g )XyXtŕyGʻFؼM@KQvDS6Ofq-i?E܀w"h+)<$@D_R¦=W]!@0Z:s=~,m^5B7Q_ J6d+T#ag!,NS>-em5֟e3w?B|,DqO E;~Ig0!4’XXH/5WR E|Ty$!]Z~bGՙ2s>VÎ^)/f\ғtWJ?CuiAgŠ]Q,xn&WO0 mJ _dT% =T4;#!'={K% ,GUwyJϩq0Oku7nh'~yg:K;3չbGoᐪ"K`G _Hƒ`G=T2%t1EnMkx2;x?DJpFܼv)x/G_U /y8X X ϫo-9{ԈkR&S <zo1)8I'X@dT _z^X]o6L hK۹k#gqv$&'9 >ۏ#'e#B%e9rߋ&f>v(oKVfZÊ&K2^o:0y&\["~/oבb <'@h(LJd{5y:xaH~ޘńiϒ() O)iUϓTEZDVUQ3jZ9g -Q5Dr}J*w_cl>jf&U$vW׶Q%%:{30T[U$%'; m4_s#m]=$Pݺ %4v1 >w#`У j FE0m6e^xN}"Ǩ @tm)o_`FN򵲝IVCJߛb1|bzY.xhw'C+9j1?)*kk#=(M9IgvS^cK:*1WD6 x\$*2"&>OPW0R6<ژ5Qk QG'1i'2ޭ5ƮWl8r˕jlxqC(ԿPbPҦLSR >+n>b{I**ck"c|Nrz)Ö7M(mEd q+YDHߎ: M9 ꗗelb1yK`lNz,@TxыV-%ynOx{e%cЋ*mWo(}~zy}ڍ[ +m܏DJV`\^ #PvIt|Sr*0-q (vDr@aymEKgzPi^q} !ZYw~X_ 5t^?^|\?m; \i#V̪N -p_zί._Zth:x7Le=LJE[WqXZ`w{#?¸*s[-8-pcǠ߻u ~h!$*"EK-eʤ9tEO!g @]%8fppL>B)p^k̓~6Z!Y@!DhӎZW\&HSTN[2ЏfOnh!uI؊EL9{ 8$g_?=8 *{My L;^ O&L@?)>KQlj.K1b$XTh=BKŹU!kKc8)6]e![,\_O!HAA%3!o5եc::r(vvܣY[ [ya¿I;DVGFs bה Px(l},gde) {@ ?E΃p`=uUi m7)gū>uun}@xK>aM6焳3 Gtg 5P ~˦#U5zE#rDuh/cTndv%׈Lqe}lJE(obI`VZ)P".$MR/>rO~n:>̿ uIƽ?f]l7!_YLpw"b3Ou:&`8z6Dz)?wfꁧDƺ>0l$LYsF- R5s&) bO sQly~a$ Pbv3_.7hN47lqq8.fX *x`BEjdwL_p{}]Tj/'%]ٰL<_&7eAh녞g":gULxs[s(ac{29ݫߒC:z5-Ѣ?|$J 3TxSv&3'{M8:V,n=<awY_ j!aWL WLz"z_A@_QW0fP9"owgT<_(\= 1솕Ɋ>ذ&:3@bs>}?^F2J8Rgxi!ށk[վ-.5MS{wiW^Nnj$?"bo$Qf :0_|lk2L/t^3Tn>l^>u ӡd;H4Fr]$_[Jڼ!Ş2 $KP eD&~7MZD˩G@:9W|;ؠuv>PaSQ$1.|5ߗ>%zH6Tӎ7h烊mB*<;LzY" 7WKn?{337w63k23u" }zhzzERa~P@t ل'Ol=e dc z'ں4\ds&R_CGד&єҳO#ck~!;qa9M6i^UY(7̹ ,D1"O1:Jj懧!=v(aG˴E8LL}Zv]jURDu(A!ReURLA5%މ9(sp__#3$ ,B E2~V|7XӶC]=WdaM@𑒐Vƥ_ `5XE:^${i͑CW uHu> 3}E%NHLnY6 DT }6Ʒ>11چ@@;c[w!4T  DhyX|lb2Y/VL VxX!C0Wb#I=fz~adZxtqfpp :E"㣐וwIs>p,@M9"m؁ ӃTe)\*7dc-5'%Gr lB@K?+W(rGngz:BĔ7j>E;2[{=Fs.։uݬ ǭ4f,&RR.p3߯1f_YpewT4g$hajR;AB}3#&Xg9g̉G@)DC|j&H<ꗣLJz%GC@r}*] ̿ǧ8؊^F;wjny"IQ!T.#?FGOn Td):$a>l[=j*df290[{"ԶSȸT̪-mе_\UGȧw-*k Yb1;jRqjpnt iM5ELi)N2>3$.Vy^4њ؂]]f$iia_L@lJc3}ԿLNk=x9~-i0FJvaƆc}-]ī[!DK \Z!¡:h987!K&%]Pw}},ȿ'̉B}>\(᯴Td= x1eq Oyj%  ȃiCV9__mjay_ʯ @g +"ֺ~QgfR*DpoqNa ' ؼVw4rRy%X4Nj@?$o霈6veg&99=ҡPt,$@"S8H@0EN7[>P1Rݒل!DT8Ru':St$ZzO;(xś:C 6M`d* \vߙ/ML?9| ~t\bkuV̼G'4h߀$V hD8o{Ķ}=@cZ.,B^:SsANbER*ŶUj!% x@@(doY0I'3[% *8:sv!K]3$"6)wc;p[.%,&9!16' ϥˏF'BcW$,.UUU><3-7YOFY842Lik[EqRc8gK% *,:\t[X./tȰcYOQ` nk+!Pm#J QG[UGh2ZɔaCXxn{RItE?#Or+%'ߍ~Ew:o=53Dw%eMK1YhQ7D(v"c.))ü[/s~yA$&-.-MjXZ3ףX'1,.ϨqQ_XUXJ 4'xT{0sGc_m.BU=48ϒFKN8ּz㯬poxRO\Eդ9"遇W狋=dW+w8{Ld_y܈}HBR7ô1bԍ(% vF]&e4R]MDVbln2_kI)dF*c9/lްt_ o>[3xpm$ Nݗ ڈlif^p}W |l|"KOA5aydQԘ{xJRp<\?꬈>Tw-3UխҤ '9y@NaNn~bb%$8P*bU$8<"p*- Gk㮏v_l.I&5>YdHm.NPZR՟4C(@!Z "qAgQnVҏ7\0l`"y=ͱUBУp|;5|?s ?dJ>N-{Q} IS ApɖɴӴA:y]Ijg#eenFCph׀aH=pFo1*YQ:k?\,catdKΧ<)ꖞ|.)ؿȡ͵9>=.l؎ߚUpeIE^Qx -KYHi/Crc\PⲜZ% <~sp 7# 4iO#'# *t%TFFܭ_ UzqzC4D g5 \<q-"eb/S{ =LBϊYMD=HfǮ2{鵙C sL:h `t 4ÖLlfpu}*=)Y@04 f=ɝ(xu?Tۋ~#9YAD *ۡ4@Ӽ@{9[y*?f)MT Gr5Rxwm*4IsegF_=\L6lԷ"i0ygTXV[XaF@ܩqϼس ]Tnׂ ԝepxoL0WT0jZWŊ$=\L Y,2e[Zn,26H"*kn" *֧s|cxoU>O}bZ[a3G9v4Ccu/J̦C4Tl~ZD$|oPkX5RӯV'^~HuƙArb 4Sմb)񚸢S0i3#CbJÐs n/^t AssJ_ U!CPު؊Mj..j_I :IGC{IY㑥Dr<v[UY/֦͏裧`a1mlbóCGj2n;B̿륔i ?aSYV+ZT2WolBf|">wPsٶϑvzD/fNnimdt#=HsH+K?2çK9z)JӍ~ȮZ}VshرoӅ$нz<67dA3.(k@G)Lß}"Wz`iflOS9ueʉ?,*MHm?)[GvdE{\Vg&S4_WokWcǍnNCE'kI4YnD#<)Z.Hʇ"a9AxSIʀϒ6ޜޘƒ~3gC9Q3VM :GF҄-7a~ a@h;ę@+E yb5VKݨ Ϳ> gHiXLxp Z<ծR%c!IKBw(ʎȆ%ж/}:\\Ή/yD5²i6댎T/g s_W|eIԕ:X1yU(+ܿ7gi J]gCwK, ,[|uK7`yWُ d5ŕVџCC⥬Aѐד!T[V|Dl;7/}{&QAǩ-7+ =N"W@{tR[h13!+2uჄ}ay}aAI&"GPh4E8v)=*A ܧBT1;yTg׫ g򸤊d:jIJVў 1c7Hxꇆltzr|1f'-CrnU TVH^1w#'5v I(A3Puj) qbFB16|[y'#]Go5di*Kz$ ;_)CC)NUInpLLܓ էLyr ԶG*X۹ݗhTq2EK ?zdmN1J,-N)R^b2e#CtW28&= ]tD{19*UR7OAL:kLעV\v-7j"AYWC'Vӌa<='J4"oAl5끗ys'9:5o2ttUqž6δ~K=09: wdU]N2@EtaA}f|"}T @<2ws*7*/.ǻx}:Mcއr^eGp O; X0%p`w;SdE@dkŶkC6aK!WdjcDȋ2(xۄ2҆7+)j&=ץSE9h+;jC_R ^i &bWBb96BbbXcr!#[Bq1nl:3$n>Megw-+d\$1 }E3U\15n;SbuaNޯ'޻yA!<ӥ:Ox,rg3mvC>-0c)Tӵeqsp511Yi" D[/:7"DXtyp ޽AB,Ak2Q:a 2k!U>" odhN2Dt .mI1;/M-QSL@tcMG%ѵ F)|GA":<[N;jDoF8Ր*=Wyiu4k) }Đ?.I+~yT0rD}{i4|2ݜh1&c&9~bnAA/ )Gl]3h)쉿5sϳ"^RS^<͘ 3\rɊDTL p,sk쉓_L8(V'Ka,2lU1Լnr# A,䉛;}ȒB_g5G5z"cNK2@翕۵(J1e>Ai*k+orVv"91 5CZOdanyѭ5'%3tPjy4o{#B7G2Gn3r!f.HWl:}HC+u0ɭ%,<Nd@!s+tuۯ9AO$.r]UAQ O Փ~"Br|/@ QaUT:u\g0ّ-@m[ZĔO%UQ\&?ik^FxQ,X3a>oĿ OT9WAPYGqN|c)0Q~@kʅQkCbyU42 nM@dP[#o>Nz gгItxէamӶhR y%V]ט45p->~=-z)|>jX~tP32&"<4c$mI-;vS|iz+u3wYuQok^3OhGO8lLJڸcPV_"BIFm,_]@DF[-gԯ8qHT],wa;E_SۼQ/49 s4) \䪐pwSAnVAm޺biQu|_`n-i @ic*~XqH†&ElD\ѼPTԝػP>N`SMzd 7:èܯIWE#4Iq~_yt㑐afJ7d!ڎ.H VC]Q$ VM%[H~B cl;+qMK?X ~M}{~/ޱ յ8{4X̚F(rNYid}_ð'{iM^l Yh_ܨQs<&=? (Mf'OcB !Si960; qD;},Œİ¾֍Ivj=2yxsV (B=TVV=c`46'ߙ2kY^kJq()C5"wi!)SNkDRN{{+;.n\k2&E|R Q@" MծV]>| ,|TX~$#\Kmݣx_!"hU;&CP{Wb*p~BzzM@@$%}}s\A\+6/(qsI(dHz"`$B6+Yч@|dMVl߁l⸶&yA~\*Gb"VU^SCLius}CIՃI㯶i.-Vp46 ;+2>fnjnV2U4tIȮo܂,ZUWaBZ]9WQW`o]lJ.%G`>@zh5Qd`< 5za{'m+"wmzIM57>l5Fbs%z %+G2{ء9ǚUQlm A $>hûYPF2Jatc\y!ߏ4'˜f+"f_ 9!ԣǼ%r}ioU7 Hih b1"mYLY<"_ (_p^šڷzW+[Neohw%^YIx:A2iI/D0Xۇ9%i-V #5iҼEY;e,r˪QՈØ#G"+\0p:?ȵ |Ovhu$ r8fXhH ^+onH6*Պ jKnR'Iic%/t۬|-9J:p?<$PH\r^]P̌3Ɯ%O_!'~H`ejj%Yon-Dsu) Ik{0=qu!rJ1O(CtkuG0v15o[b ,#s,Lt6[[A\1fykJ{{bQ\DiI;"yBGN\W8(R}`dFzwK|+DU@[d:%9Js/I 3T*㾹ュκ@\~rN, IDgYkcz HXQJ~#1Y7Yv2Ne#ET^Ȗ;^L::y@=6 npTlnyu~H׈¾C*`S:6?=X~'%菋κ6u z|i~VRMڜaMaՙMfε01hfqV>4:iV"E8d=yJ,jAZS74^ x(OrE{0{)-u*LZC5;($W5pσF΅ /YPõ׫)$qtwrފ{^P啌_-A4qK簐PUT@NʾO1wlGNNNJ?6pem Pǟ_w.ն2g-4'B3 ӽ:ueqϏ"Mռݠ|N|;bҏ,W/Da1C=smB,2Ϻ56tMH88Ic}h|,[p >z6v~g p8k_YFo0-7ThXuDtAPb\ ߨ>l/@#FՍj𐐥R\e'OWM\s,dE<13<^gW=*5NL\|{]ӟ0TczMT"2Amt.'Ir0. 5vxTKL^ޜf"(i[Z%pml\d_~Yk3XnPv.X}&\Jgu̜N$"[T0{m*ipUjhp2T \ZRDKbBgBYX86liIm%µRU />u2bH]wt#; 8N׍ez܋ܫ#rN!<:YiJлrI#=ApCɓo\1]M'LPzm޴#\ 7[>^+4jT)3x*qizM2Rdq5sC)KFß}֩~S]*(!<o)dbRBrY FCFB(KЗ )s2w}P כ1"&5gbi4!!s 9¼_#)GIQ%zE%#cy]kXʬZDVj -fmy^?.k`~sJ>a?cM(žYsȈ$_oU3àGsRbU!"H<mc,.$f'{ˢ,+|^~菜w%XGvf\8]b@t%6%P(r)o9K Pq q3TrxjjA$s Uj BNkͧњ24@_rd1\u/&*;^79J)h?eM܂ѽQ(1MpB/@}aZ-\-o̭](lTub|cwtHU䚮%LJҞ(S8"n B&߻OJh˥>dJńVgdX#Ԡw#d?UELNհ^IcoOy37H| ?P IeF%yPgX)$2S][́K,߿Ai$n|}U,ĕjR`ʁs#>/ r.µ;b k/߻p=p C,Btb85|5Z6d{C#Óz KJ$tԠx0lAs Nc|)\SP\ ZƊ t[u250: (uIs&Rm!crRnS,!a;b#FG 3Ja\桒-wV赌hЪ\~t `)v!><x&>\1 #MM[&7b>J:M"|'`C%o?Wqd ,΍7!K'2I6tV< !yWk$6Wa]K M/L!v7c>ӝob/F\{߉=b[eu }.̪hkx C>^x:Q{/Z֤1o~>>yvyQ)ߨ)C ^CϨkzڠGn"\tӾGҞU:9-CgRTa[ )Rt_> 䕩7סang@:ls+WB$GA~x5I.csb>ŷPؿ\Uk7!zgt`Rsx0Rˏ=v$b dR=YruJq o 4}ާUљ5,7?| i!L ]5EmBCn*eYNhsxUx$)jZVvЋe;āiclN4F/- ڃAYp`7gbhv`;tXoHI  yE(J"VRCH:?&\LnC|`3{SЫXNH 1{18M (x1| [ͯN60i呮&5e3j{g%|C|h9TW"@^g}5/rR(؅ܡX t ?Le6^' @Uwk%6mB$5{Ӿ!`,/ Y1F",>m,iP ^rq~h 7`iIZ}wg_E+)VjH **&]0ϓcEC1z m4Q`sU.v]ΨSK%lmi(Xb16oC9fᾝî魷Ik:~W/<~vٚa@/.#R 1q3TA ~gDh /-y:gDl'{ҟ믹KI&%-VlܘG6+Y ʺ&pr~{ddFYl̓8፾{[σ{ _F)"&1Z9/WŸ%2ᄤQj (1"8u71)T_Gp鳵:>,A\d/_(Q-F5XkR\HQv"o6e+P^._)y>X¿ %M<Ͳ0"dޣ(?` S5zpo`ˋ+Y6?B͂o7Z)gJ-7<6-z[ķe.%XSp5 %is)9ڪ$X/'e /oMlWL >ҽ)*vexl_7bQ]Jl,a<bǒ۰ظuvRH W2s_lz z/FŘΥшmRޣJVi]QEfk-/TĈ!Sܣ6TC:^/ j+E94$u08⋷Y̬ǁ1!c֩񸹟}5$%8̿!s:N69 -"'Z1uOvdXTB t$"ntyD̆QםRro_sbn?cW}1tzGM M&sJ_&/&b_ l%&~&}m$0CǟJK5 #)q(3/ˡEQ2r{7tDoԼyOR/$c$Aclj(oz)fᱎN*&VuBxG8%~WuWR1So6yj՚堾A|KAAttO^- F3ZR Ơ'Qn &7iz)kSkO}+ 3|KB19 f7NM0&Cvv2O%)c3ۈZ>cxJ"^Zr>Ϭcu7Щy~Y9fҺ=*e>}$41]KܜOi0ų7-7> nصs%i¶Q$ wl+!)7tJ6ݾDwVPCIvD?RW||27)ժ: KH{^I7xؚ.VWo pMrd80#T;?%`ZT?D9/܏ںp|ͪ W`ÒcY̔4^J$$k74Pa5U搥(灷GZQ;Z( fhOK.N+3cǬgyxG ^_N|Z&v61;}$o݇}MH\Vg/D4O6no4^HD:#Up XxB.|4)Az$Eq"?D˵; ;>D"w{xX{qlY9~e~!ŷ2-d~F匽3% >Du T0 кhXUZ /^)G{t$(><{{6;C_D~x3:.pMhx;_iU"0$@AXUMK7x@7RO:gz\<@?l#h|iSBAs!8ZG&% d$*-("wm ,ɣbr1.;<Ŗۡ'#2q'稯o6^ؐwө-[>GC!Vu ¸0,يGΕljn G݃edbAB=3i,_tTLa}=GR"s!DWw7ѽYV|di'#$1 p3H``2?ro)pΫr\Oݹ#9~H;b^;KBNjRX.p;c`h'l-z/*]Qz}}5 j,cW Zeń+ےGמvU%.e@PϹ4yS# ߠdT},M#dK},kT`s螆-e}L5L"U >^̎eɑRBX1[uoe|sݶgH߶.n..798J:'=H54+tʒb$Ԓ EeǤ:QTz~GԉH#?dyʿ-y]q}ƪ0 dAZV4$viu}P*_ʒ/ƍQ{KF}>=;O:.|@5 yO cgߘ2ZFbn<΍K1FG! gY1FbӾLyr,<;Ev+pmH; ɷ4[9qS0R|˶"0/۔b4c~Rh"˕:s9i~<%W':OXD,!ett>\#>P0*40#I@sXw#aI,M.҉q<A8A2Cl__]@ِ>ݰ9TQR)I;֮2H`~nM7Y@?j2cÃ&%hCEhUjG&lݢB&ޅ E`/O eh.Xn^0R:6m?n[RvbrV CqOqoHV?f<M/HXڀkĨC}uEjd;" (G6c#H)(V2Jhu8L &*㋸tRq2/=hо;ONV}+!, VBH4Q1R}ɉ`wg0=ڒ"6DPCf+MoP~k[:QT풎J-_yRb ?6֠l,Bf,n*r#m$F3o|a}]Be x+2 h^Q<|#j"У%vi_Dˏ=.:ӧ[FְR-t52BNmIz@9 CupWpu_I.V a/>Ɵ+Q#]/Ȗ{d ,>&SSJ.Z($.1Xq \Tx,I8ko Mעhk#i-v R.Ͽ~~Bg qR2}4#s4+dbLm1".I3gay xKˑQ枂?z.y-mSfZpA$7?{h49Fi-(g8DA\7@3%IÇBtd}lU`%9}X<URÿ#j(~ȏE D].oZU} FHlj8k/U]qW?ɕU];t v@?ЙXVf QE%IQ O=ߝ^Y.܁w?d .{ſe~I^&;:x8 <׷ȭETP+mY[v,O^?ix<@ 7)OJ#J9awmCc0UxƸD h0jGy >:69S0)峫K}JHܴR_Oڎxr7@+fwm}J,斳ץ_ƦvܮQ8OƊ9JooU G'D ZzqU:^YĕO$9L0Pqِ~k[7HF~M 4oЉ>ULAI8ZuhsPD>Ƞ,}/6߷kJ!ipZT|DS%F,֡mr9Ұe=n)ڄ`:DJ%9z%9Ö 6[ _r3z3@wteRZ~}wwJXDML5Ko<'4N ;VX,҇q߅-$E<4|;kݮr+O،_z\~@6Y?ӉTK17TƋCN ˧ su $>5L7aADa5nz=;O@͛^+#f|~dhRsoqHfH+`(n1 ˉ:UW/2O]>yvFwܲm&=e53,3m,' X2xX,GT9(]h_t?faFY;ykwƄп f*rP)-fpo_s$u2-u'Z JǧKmvm!1. 璝a+mv^ I\_TdNYRƻPdߎʦM]C4F\Zb9Tb՘ΰ@e6z%c}}GQ1 k/hX77(>>F%jC6CgK ΍:̤4ݲ9ܒSu!Vo6{a%,7vw>K|nq|DMjϷI  , [äbEt[UzIe9mhRr3<Cd;4,/I0Œ+M͡WjϤ=>_g,:tR%%2l{`f1szgSh&Q,Kcohj 4 ?˜?ѿщ]x3ٗr漦]WwR,_BE~!6u`:D_D}&wF@ٙ".)=@)PA0+L~y0 _.]۰Zŧ%5F ئp*"LGgZs͞tf;j,licu{++AC=SOT uIyӸF],50|:҄]jmTԨC:F 'E9,>B)>mYSr: Pǘԉa_]kU/?(8:MZcYZXxv<+֌m;3S,j@܌ H)a }O e`=>fgy,b\Pi1~P.կg1~?W4>X;Db0Ig=EbHxX?{( ̆Lx!8Ny 4m4^CZ~C =eUDR+?ϼA'&&Kdݱ cđ%uP6ȀUsq}:k~9 ˲£?H]S@N$QՅ-raAZ7|N|D布0,n墕ZT`X\H^4wC9q0+s Pj3Zcv37o!]X9:!j$kxxQGxyhe\o᫕¼󸷃tʯCgd&!zJ͕G[|:R{k՛h3a;(iAg/Ze5!|b3Ǝavދ@-cA{oxzl3P ^uO [1êRI9$_Pُ(EM|:'"1QĂG1"xr<~v04" ;A2`ot/H]Uq 4*x O֤<|U[nI}wv&o+>fچzԭU@j ;yL8GƘk2$曛DLk'{AhĈھv ̶oazi*q-*i#RYvK- 2+_l.NGjM<϶1UwυBڙQuU1Vsr/E@`2g9=U& m~H )ɩf voT;Rx z(ZE[|*)6$Qy" Y 4n;l 8{-π>t%!.1wYH⏝ m{&Oɝ_Seqj#23&Ӟ[i`۹[4{ǯde2KFE):$e"\!|{"Ɗ@n9RhpT ]jJ;w0-KJHժVg,Tq2ç^/un@QcMh{!~Q Wj¶C KEՊrH^7)\QTmE]@pQG cf 3OYx)/擘i&M(~mXs$ jz"{:~!/𐫘qd ,C 9C:o?] cE>0 :XsEoQQ~p~SV y!:ZrV|OueU~u}¼.F|/?g}] HvѝOa)#X L1ke]z^O^IN"_Bt/6('Doyf@66+OtY62T0-1"C'c.["a@nzYDE噃Hw2H 5^mEdE`/␲R,6 x +揦@e[*1p 3uY+&^C|;)"!OWd0L]|sR=lhOBO;1HXg*ݷr֠Y= q& 8sQwXwѱ`Sn}\¾XGLl]_X띁 nHv-ה}tvPʿ6s~ /<2ؽny)8鿡.aa+?[1 pZVZyK1!}a Kt0\R!bڢ.Se_?cQ%ž^='?zEjG-Y7)Uf=AR. "wln`}@zox˥t+W9++A <ϗ<;>S4,XEW =:f/e5 UGW8a,8ү;J + Lc >ݝEM!I̴hV{I#6/2-Ÿޮ/ ;|~`7W2TJx4zgwOhY?،p/`Y`SKv6KUk%KȜ B/#%lήsqp!uɈ߬'\E7ٛ| M~kK;{%M1D:oY+ R*%`WJ oh2|čV5p\VH 'C8KC:9/`!1+R8avZaUpYZ)s ӬJ9'ô,M-XS,uJTR%g9\+H`Dg)W֘K  TƮA68mD4b%<_k6Jif[pn]1gAmuǞ][7rjȚi[`$"?eJrS`}5qslrN0d<g+T2U2Hl̓qwxY>H>ef 9S5^9fĴ9^|ȝV_a-$G=?HT==%ޓT޽ˈt4~ "ùabބ@"{~MRU dNn5/H0 m-@H`nu0."eFDmdFU bƿ1gj=&ᜄ4;1`F*郃 `Զ֐sIݴz# d8h{>, 680|7-Z*z0T8ˌi'sAof=!)#?#nRj[ VG%\bK/V5B6pm.i9)];82g.!XNM ljYjf5oŦl DcR0[1:z0>RGv&t֢n jbkj*޿ΚQD $ߡMWAɻ!3 3wfx0Ooxt^z-PP:TQ7uYe.WШud\f}) pl zcVc1:S&P^2f4t>kQ1j_Yb*VRw iEN--y7V! rD5UW**3nSX+V`l ?(KVPB}gAX j=@{NAѹ(}B2CdvXхH'BzU5Л<׷1!/X>dqq<R':IvL *%sZs ״yY!&Q/BX׌|<ʓIaoK g5PYQbzKsSc00c60Gʍ'6B3ޔF##s须R>ᮏOQWg `^ ?*) dٰSA[@!>Leul狉H w1R0m@Y\$icNfxhz}>ԋҊ;;۰irXYJ/Jvk蘋; .U:l?L_Z<>{gytcWHÌ5ᙚu6IE6̸ ǿ#mBma(n,' 82%aA1w5b ̤U~*. Zafcҟ`C)s<8YGw0 iOmD$\ n,㵰[:˷Ja!qG$M7C)YiSt,}1- ݢ\]'[b#1&]ߩ9^οY{s= c b!rs ~a)DchJap壢^KMAAȼ7]zx@s~7.j݊S{ \m !Ls4wm2*郏P,4]~qoc$1dN8nɿXݪcvt.+!u0ٻġv{ hwړ{HXNf|Czzv([n Mf%`sXN>X0He3)چ_ՆAw\,XOA'v-/ h<`hˊ7(DKNО^kTٞI2#Q$lhKsHȶ޼mjS`hȝYͳl9UC)>v@sNJ884kW'";SCb>Ú4U}}Aj D@S@Fo@Ӭ$/'Tl8 zb@Y_ag~mԿxع:7İbȐ^Y搂&K { {}5wpw<,S+#:} cmLGUJw_F|e 5r+GɳXm}4>kſrr[+4Ar'iXr ʓu,]pO]3mOZW$X-HSe:|,4d1JOReB֨Ng{9AfByv":6P^ٻ+N2b5&4nSAœz^V7d ]E_ljyb 7}*86j1#qrҤ:!6F1u[+$P4R&{oR'g#5ѱǑQxi&? )A`斣Jh4C?t2*/d۴0n/zSld \@ }P8G7U4vʿ(vO$T[.: &J:[4®sߙ7cwpj1߼oe)q})7iªv8󷁸|oy+]w<1iK TD5ZSl#Gw #gْtn13[0^UO_&luH]s} Ѽc43/}09~cw܇땘߀l 9ir|H[>afFs*w6`zU+Ty^ cY<`fx*XC;xe {k؞\A 䗋QZj }e.DӞJaDoɿRsɾFbnc.Uggz&Y~e惿eO<_XP|b4|4_uP6/iڐ|1Re Rkx.Dg'7= /m\PFz6"zp7aR_}eǮ.#HّpW#T#SUYmdvL E0 ;qc?1>~2Hl AW Oz0yr~@Ii?-)*fm@)a}4';w2?5rG!&._go3# s2~; ap0!x4^wqxN=e&tOX}f(%FWJUMuHcܡKʇCg4OurU\{ύQXD,}BM86KGf`o;TNY Hg*;Aݣs〘^L|\`2^$.s6d0CYNGT>wE9`\7vdj)RJ `SR{Czӹ>ߜD{B45(MߢςA2KW<|wǯ/ͼ=*$6M;Tʤo AB2?Ѭtn?|A/ȼd |MzG)[k ;B[$˫6;K8~Ic- XԴ⿮x]㟱4a >hZFy-#w :'_D'a֐X]~|tPԇݬh3vHEu];X 16,2GC4=H`Px4btϵgFqв H.nK=Wapw񄺺RuH{qWdJ);N3XNRp< rsϩ'6߷`=v[K.(UzBՠBuKVؗ¸ MT)l< ogӖ /˗sʚ|~=ɝ&z,E^[}CJ=x48i$RH h`IgLw lrH%O4uE%[;) G,ς r*K$D[z].uz DI}Ej?тufIj_.DqR6@vP:v'C Cd}%)%[IK|SMW6`LS.lH9Hfd6X Dx4yCD7KDK ;߸IJ r7TSx2 x ~Q_ߕYŏE.uYħGS_e/~3p:Z o{g(y[1B80 טPW@iDTTde=!$JO5C᎒Uz)5Ǥr bdRI"taTv< :^ x50G:ܰD0+@fQF;@z' =@Lعg ?Bc?LM% uL;ġI);kG)h_J1%jH9"Alt'/gVC,_܄#dMOWl+9 06O ]HGL}DM/%Kk7vZ<2 3Ts\C_"1&M(򪺥Vz,I]ݮ=<#Ȧ>b Du{mtCZw-O5|h԰fl,\[ cJ?yc0 ÕG^O *|o4 /]A t8]>ާ&ER0^f zt=]5& 1n jeq֨6݉hE d#6PCi8nu7GLBck}w-vBuOO>푊h4k ?11V k~D,>ؠc1{7㛎d}.Q SI RlDM[=pH\0ü7WO\yVеϤq-_żIvl4kVk^V-#$0?|0IB۬ "(Tg=݅C흜*n?%77oNtN1pW]PT75+1@ NWo o`k{DuvmŀgTq3,CE:\ȇ=y,FΦ9GdGѳ3hƢ 5BD|E;[sRc^1"{Ԭhxh"I<%m>SYfyW8ع3 .>rڝmD1)c{]Dl`|Pr.,)8i.8m_A!9$'n+Kp%waH퇰pIUMo`D Iwچ_I c|Gxv;WYo[.RMGd";P󮠆zl-%frz|_?3_F=9kσxw$GD6Lc,VLF(i_.`E zwآ:.ld rLޗ5 E㳡`ԁ_wRjPA"PHp ֽq^OY$_Y|Y W2kR\c|WB7X~ok*ݽLY'h)7^eeit2uf MWվ7u`2e(fӀ7Vn4ډ,=$B~ TbrlYz2( Ǡlg6n7:'s+x}rhe." hq>^u8E^,%Ts1XgR k[}@])0.obFӭenCQuڬ,086)^ڪ6+9` @nnhna5͜kW_VbW+zKa?cbrEȌ+}RCA&;raKDߥwO dǧj~?Ytp\U_—9)_8}VꄻZ,QO~Vy-~6y1ԎLt~lloIݼ|E,oɎ;kd>r1/`Q4Ɲ}}NhbeN,ЏYnv$.w&şLPPCP S)kտ9{]|^&'d.`qlm?pNk@JL3w"Zه#0WǏ*|Vc,;Hz¶}>{:GؠfQF=7^C#ڄVk~!NLɯcLPG4~;k,GDZ:0e?voL dn( #*+vo|*5.}^7>BCvivxe ^Δl233گQAO-0XV2K.RiSʲБdPQ` !N {`#H>;Y!F9);b|'l)L)ۡ@H5 .l_ +' Nկ2n o# ~Z@;qD_;Igoa"x[^HNV=I~@hQW|VhL'suy(1AV)=L"XA8n]_-Rg|9Gk$AXcp~ &]ϛBh2timtQ\?ud:;+0E4JrSQLOdD/bhEǐAjs٧$8(eϤWd^Zְ=R/9c<7 <x rVEax8̠p>vMuKE@ŏ߾qrUW pV>opɯFV'ݒz)ւ[{ Ky20D+@/PȪz\NR̡4u·7`KȍR<ݛs]EP*M2-uu\UӋFBx>]\ٳ]>ޫ.);#(;mˊ!ﱉh! r4uǤY}Y$$*}`{捛XO xěgsFqU+GA`J&^|K˗g#~OOR xJ{׮MJ=v9!8s8}4Yj<Qn6YHclKixϷT#vSD{ )q؍fS/ZSD$m 9.At_0Iڛɱy(zcd<~G6 Q5%ǎs8ZȜ^05E2FQg| [6̓~ 2ɂ>Ĝ-QY+`x f9U)15P $feX~dK%P]y~zZI :/k(CFam*F78dVcCyb_K]. (;aJ]O"9㊼Vr+5Ҥ o`.:蚜˗_`ڠ ܦ9 G5#qƾHCΪ$`@e%07 (lBOrQ7lF9QH |zwkPM꽃z@@w.kH([Ӂ*Njfɴ)vyC_i*[;]rR [OeI/Q;/8B^ͿD t`ywC!VB5iԖ-"2!s+f#{XϵY_#wmB> ~UW/eMPgW8|Þi`'L(ŐUOsq w@AL}|ΏƎOC^$1Ql&wgkHj]֌wGgwɟ{x'2? FǣݤѸ'PM~pp繀nae OGF lPP!׌bIjޠI0BgmhOSoyB)uEt*ΞE1r=X6SL5V̻Ү[cnP`G(1قGMӉካɵ6g%=;sÄea!}PoՅ)%ܡe{:^lV]C>A|JίHapuM񦽹3XMK #kC%qN\-PuNJ+G@%ׯ@J:Ea4s`Pz6P7$b#<ޕ1,~ҌϮķB1jk^{2#t [%C{t30IǮ+{$r|{-^Vš``U}QM>OT%:y(}6ϔ;2qW.e E܋!ǝ+>-X;"'XZSG-(be:1_|L 7&Mbb?>e:/7!Ӭ_mR-EL[0l_pQ]t3^T<& >~Zֿ7=VojaaIIAwEWaCYrҪqaQf̄ald'S0_(ە{uB!uݔ ^nN}dtih`&#}>K70mgz]OHWPPUb5QWbP+$|犭οb\:$/uTl# a;w2)Ծfe-O`@Q7 s^Ȱ9J?@CC|?X=Ui+z6 ~7'"4+dܽ%ypu;Q;;pfw7+X\)T^ Fc00G;< 6H'6̬M||֍>g)8n5<<(}cvp"dffZfnFOyEv*Gd(i$p9bewSB܆Ee3mT1EnAճioCɤh]H|o@ƿ Pe6OH4 VLh,9,@Mc e!C~Wy_msM`@8M |:\%7 J&t#zgk̗&ʕyi[wmX'%m[ʒv yaj}jH*xdvkrE?)ܔE4pr#+m~-5ɰR~+ hbeTQv7,XwlO{_f䔷b(wИGxk]Ҟ$qpǧx~!%J=:̣z#JD?_\NS0Nց7kAkƑm_J n JU.4'cV6:шve7Bβs%y7pHݍ^|#n:p]l|Ͱ|Gr{kYqLIei_[&ͽɜNPmnGm%VS?O=@og$Tffڲ}$&cT?SKүT#FXVPoH|ߎV{ 7/V~`y >R4BE厐U !l5Jvd6NT|Pw%ZVG]cV]:JR+Iq,Uȅѱ03϶88!Yf%jgHyȇ ۥM\oL!c!/#qѻ>69#H@Fs:cqs {uU[zYV7C@F=dcRu2JCץ6FbK#Qzhڷ$KY%U} ͌w/Y(,u^mV) 0HCO39-iE΅jȝ=p ॡ`EQMQ!+tf\~G~ `oq+1rxa=ֶ3`e,} S &ntڰd$ [+zB ;1PX& Jv? tbU_g)mN$Uy%.^OW~55'xg xH &wHAC_t>LkeQ_ h4~%5~ahfJAUE`Xlz9,I YTKʭy`k߂G B6ޔJ($R= T!=)OvHqG[a!Z̡dSØW7 c5-!Ms U\kS0DdB?~Gצɛ!;Yǵ1FU@E34ńg 1hRmCX$ťx|)R-K 5OX3qp@V 6K+@J4:XVl.q,u6 _!%,:Ԟ$W V'D;d\-S䍔<䏭cvOGgL \%}' A豺ȏ"݇fVѮ$)5b:YuQzD!H%iPFd4[/Z,Yfܒy35_eEi78aX|Xi{ Im@4i*#\T<8vXy3X~FE.#!"\qHEyϓȄ ڽyDw- bG5 sL>e8qz]3|NH1Uo޲.$@eW̽Sw|5p3!(Gض{$ $EX]"?b|]+ V|9R6kK+E )<  y\%bl` 0X>هߠ6ZP6o5Z~ śUYE\& DcZp+*H1/' T!t:Lc)Y8.UWG;8]l=M! -I^Hc-XH% n{ d(,17hrH̱IThbx{WWAeaɱv T CWaJ?cL;$ŭppg54ĭ9fOʰKt[KC *#2Љj6T[|C8$&o>hfC}xAR 8ΣHqJO8w~BLAfdӕy='ݼ"='"Erel UP's9@|f=A?X\wC4RT>$&G?HZٯ DPݱI  #l]bƑU4#μKgg?l_AS?c\ySV`p<پ (/*m.ʻ!;0!O7Bv'AXoH1OdEs"o%lF7fLl17__ѺZ Z9/fEooD۾.pp6n&M=/B1x)y{WJ\ߧ:5T/6p4w,DMU}[_'aN۟xq~0~NI< Jy:P0$5|0PB4Sg)PqKI6} ${[ `v D%[(ip*xh2람d#P$e i~$yiʼe;chdo@t/e|XtNQOή%;[!y%h YXra6>57 fC=nLx5f;O5|4ۚ"{;aʛ#pmEcڛA( ~VR$Fwt,$2pc\9Sx>zf0 A7- \8PɵTgi U4>#QY`f QFHK]ooP[/Pn_j2*Ors6z;!4$(ڝd>qX]UU:M,S:Z0۫yF3cv Ma5V( vwe=Yȕ~5l{:V<8om !5-/l5ջ<˃ 8ܼͥ*oѼ$p?D$eH0ԜP@n< H_n)EU޲O H6X+0)k_2y0jyK؆aZ4";Ob>r,n>5*ۘwF0wm)*Mf䍖@l-̿>ONVֺ;)īN@[am묙~z1ϲ'Te_F8Q;A&Jq9cAu>XP&fZ3M$c?וpr[ vysgt?$NB/gkךr&p |ӲE:w{JZ ]=-#mS.uDkUm o:KMo' U1rKgwi&}}Ww5zwJ-fk1zutzG"</{f Yl{ H^ Ћ[{\ɇrXQaLBUWHgfJjwզ R):Rf:#//=Ҫaֺef0b2e?E }lޝ˜b`SmСGڏ,'/ŞR|j-f]f4Y"Z0te ȯV\ x?Os'2Yx,ڊPUNBJaLTVh,@R/r}c^$Sd墍ꣻG=S2_]QƫOKkxDzWyH>VXlDNsK Y^vNLUSإb;_-"y[q)ʹ莻d z3#YwQS1eN3?D:bwI_h;$S Z_{oٓg r}dByGEXM8LGVex槬`yE|913C~/ N8R*գ|حk%-h>JA޵3St 5gU'ƊxtmBKYA9ҁ]K]j-V,^?Jz\ jV0Y(D6=C OYZEv;Jq[w}'4W!l,\T[mHB%kY)C'Cp{tQ T} Q1ZEbK:+]л+F8Um:&~V3L7+DdefGti7y`.M%ٖs3|0by8eC6 ;el>pYYm<8D^|Hj+ѥ 8_+jΊ+-GDء  'wROq8 m@=LD[9>w8~瞏}ݝ̳:./wƌ}sZ:RцW<9qE2`n>84*)Fh.~'V}GYVƵ ϡoln-q1yze0^D,'cZBv)flbolLHc%~N8e}qHCty;tfU2sK{\8蕂- >#l}!}Q"ޣ@M^=**wO;=ڎֽ̀Cmm5CnFu8:wdӯS^A NDcg\ੵL(c ,t2"ad"g[y|c>n/?T%35^l1JBjx6\`1e[X;6˭v_^mG a@Hlj9^:yXv"IQʓ2颈+0l׮bG!lp`#Ud|]dsO4zҀ0h&~2 V &M4JJ"[]$ߓZ{y(`jt<poްx׵{Fv۴ᵶZ_', *^2Ê`ק^(V ۜ+$:25]T eMɺ,d*`= TyYϵ.2'yo&jwr=U3HMN@G@{|0)g闀̈%4dq GGHp,x*[eͿaz|n Bi ?Dx2%ڬ- 1e%b_m=:[N۾~GepffQ^ٜ}GT? 4EȳA^k dC'BÚ7HCLeF5n@- f4@%Z_vgr!RH|4AVL;n <3sE>E~s˻g>s[jp1$ƈ (]OXf(|{뢄|3`t>8v:A tIE!}="n0H9:Ray]ܓ;DW18pZIC>B}v0_KH*;SH?6aBw/sUQ5t޸GwZM0nD',N8~uf{y"{L\g$|+6cqG#U91_GHv{tc 9M!,B@"Ep"1˜ˬ\1Iأ Uda:mطyKf'^uuf7:.؆k3t÷ozK4Һ'B)Jx7ʟ_ M_mښmzq^VW 图njLR LՋJF'}YҖ zY٥9ڶ[cSZ_$U~,Q!I>纻K/*KTpݹP\{}a@< }m+7}7ǾDkt4V?ꢩ?kǿ',eݦk&coi  /E2ź[qnRe5yKQ޿?i_I&+Ƶ/@ i4L <45j*i_wye??7R/Eȓ-/<~J [cb]1,(r0-r<Ͼ?!vN=0oqxU Q#%ZU&rOYc$0T]O3!(sd,sTX1Q"G*-s 5Qcp^CQ݄MO7߿xY_#幐w,[=wwƒ%0J+F'N/ր2DUT,^>.;hM)JxpcbqyKĶTh|1 T!5cO^̔GXcMS 03 ޗ1n+S92;پ]92$XGg=bV`%P"_WP3i5[=]1t\PN\%$A2rH\o^&N(QJ %ٯ^6 ]#IOV0AGFzϷee/ǡoz_Haʭt]uMfK6*+ [8۔\$ 1\.*BnW1UŅ7:iRw&NɩfV/Ԁy DRsPgQr)S}kE24ݳǯ;IU>)VaX׏@ﰵך+]QOEK./7(h#Ye ([2Y*y( 䝑`5.Ӛ@]|Mvme^tsZM\VE3+t ̱8H]~U`ŚQכU_*h~߯GMo~9]eqoE2 >g1|^0 _qSf^ |~mDsysN&ီ~ԫ#t{s=S >p5&0SLB\s~eњKl b d  x1)ԋwm*=T83՜oEXNpw +,ɒBlݠWI&&Kcخhҩ:~N/7mQ!'yM|cp w_Q 0/Bö{&͸f~IFl<K@ dxV^J$I1{ea}31?qgG!2yznc{O>)b$[v8X ,LIL2s<%h.tvZt;0>X2MCOU!߼I\"eYuGӿa_\ )S_8wd󮬃QJ=xtzVC#/jj2QH%ʆ1WW_@BO 4JT64:~0^ߔ#/%=r~s`J;3P׉_0a .‚kh;o>`ʺ잯NGs.6n㦤|X/ BM?W=n6wF0']H1%]ٱql93)K>ke3 iE󞸡a Wpi(TDAX- ޏ'bGo]aH%VuMH8˭$7?%9'Cao[L_ |gf2 bAB 7]{}*1ZHa:lhчN/2!O'RY1׍U^d@(ٹ"Ulzgj)$S~xںUkXO+B~~[! q#-2GTH$G4]d5+[Rl ;V*tպ({@,Kg* E(W n+/HtT8 B4frrkyt$:k̡[k@mK UAI-6d8sZ#.xF/;֪PH$¹q}ϡ[O@B__gһB`cqŮg7ڮEqA@]n۴6^t}k̎(amK6^?~v K|]xי:2^!^?F^2&7 w,T2 Mk[k,I+!&]°o{@KqЗ'-=mՎfLdRDmG 7= ;aaxg%ΐQ(?b&ʏ<*M~n)w68y9|BdhYÐ>'?DF3)kyؐoP[ވC0PW\YAMT>,i!!sGk~hC_m QZ0!n1Ɉ0($m2\mь 4򠀏qS1?_߻Lɐȉfu#/:ӏ9>{5uRyT K"Aum>rbÂ<N2Kz:vQ3WtEiz\5?F|)S{geEz`!H'~D.yI`lޖC>SVYS"p-)(1KA !}wA&ɓǐn޸lM0K,υm`Oq/Bo ȌX+}zcvid"ԆTCF "~[gsDJU' `Kf%OCRx%}UwR/y>FtcoG&Ӎ Dd(t ༠6#᝛'}<1;=[<4_Ε}4F, gBBzql³}#H1*OUD  x)IRgϿܙpfiRN`*tLϽbS% U ϷX>1aqrA{ɞ„,oG| xs5kOqs)R[Q%BN !{'.|6+St:rL7'=:PzʯeIR$?*8J\990 t GMj%  BbP|m)@} .;os^na0:mc]U 7Et4Qj :7r#e,lpFҺ@*J:[|E۽_y#7a(:ct>ug IE j~u8>@ V^ _4Mf*տGGDmỴXo` ^XZHs x5;;ل*ns4Lì]K=Dvn\dXϚ1}`6jNtB<&39ttf _]<03%WH'g#N~82, Is09܋՝)۠eY@Q?3<i{lGQ 8RPW@&m M&=]2?OxZ 'aM 5)~@9L / sCL#?|G#0WX|pczclP5TUg38,|/|0U\L2R`pSNwAٔ[^^Qz¿Lww?/!~Y$x0l? ;K%0Nr;N^ӒxJ4D%r{Yzqht/ٶJ qƖסiFTC*ߟ˒ \;3/]Ұpg^ 5Քr/l~Oh=mg%9ST䣸t}5ͬ՚5V2J9?pܬ$8r6L^O1{ńY&5F;Pz6@ @ ,kmfaNpvID9Ж6sڽ~v:H+cy& M9}T#D}3?R{WʀaJ>Dëm&В?% 0|fѻ#Ǵ@qѬoCӓ ^pbt;nal"<}zɷqŦ) \tjtkKe}k1RDgAwϚaigynL' [~2 [nD/sd~oknAjA`UA;yh], c8{G;9Kz9taJK{p&>WK MGH&b#O(sicɥ/d.TC3Hx_tgb~~tDqHȳ;#sss:gI|,evZzbIQΈptŕr`Ͼ|LSS @9tJM컕尖z VdCx@rRY^ΥّP ۑ}U0AЭQW{ۙq |ϊ!ȹE4myt!'֩!ɝ|\( $G7&Kφщ8EG%N B cs#qnwPE6njS !#wF:oFbs=$ww*DJ7E9(2mpi+CZ]N,P_%>zJ?6d-]~B٪ɘsoҫ1>;,64~_)Ҭ\E+cKi|]sَϟg2l}Y_V 0pZEU..K-2+20 -@\.r$||`uz|w:> * *Ȕ|3-g}T֨sj~ e- 7?gjz7gE#kGaO}|ŵ^j.vvVgWJM/qAf)(Zb錌L$_PЫ mQDwhEYGLzlZ=քulFeAĀkfcs%SWÈ\bPp9*Γ`cOr\OQC~￧[Y}$7v*a/U︰DT, dz4ʎdy),7ElWMq kQk<`嵤Ѣ(}IJ); ҋS.ii*9R)c skms&!˄w2iBqr_9 4a =b{9I eMp 9w0]]P/j;sR ~oYY4͙& C2yL TqDyntD!jG(1(<ܽ ˅dkZ'F2KQ7/}.5w!)'.>SNs•Rrcc"r9h2r.GQtc T꙳8-b?k 7P\IbƟ(6)ҰTM/lEnt6S;:p{\]J68} In S\7rF+ 䵆`&9̅_ƁtW~.wD J`;3, ھ޶$-*NRAL缋,0/:䌼FIgrr(ݲ`1&ֽ$m̍;%B$wv I0@N l-Xޤ7TXs]Ђ13?MAQ6y dB3aJ*S}s8*R^]Unaem~_V哈 +ggh43tH-x(E$Dk,o0&'jeUhewv ࿹r}D.2^.WӣE99U>/hniAo$덜r!!(TqJ:T޼kIjv߶F?Z6J~٧)_Z>ZͬEw$ Cޫj}ԠGaS0b"#<~֛VɶXڅ :tLʃ5V:Eӽ,bn0r9_ nQ(Up]b Up+XRф O-S#e%*Y9Pk9Hֵ~-k[Ɔf|:=ixEƗ'DZWo\ .v'0\ }%ۡfjB 1m|DwAwP18>Qp!YҽͶO(ۼu>EVa#ӮjJ'GEx{LVi<qYnd:dݘ(h O5I޹ʼƸfߵ=aJLn-m[ix j: 颰&.G3IÓTX!Sl/LmHJ-L>.Z+e t_o~s;qI%>$~wP󶆁]e9{9nôZ1m!=Z}^e֛GӡsL,) 4S%J3:wA"7,<Dt͐hAG0d RXx˔:,X#(J2sW kT9g_G_~& "JQ%PVFMN7'DÒy+/훧kz K+ oE"]g,C+ U7}b0zQ\ERZauEN$_VhzY!Ζ`sʒ_GK穧Gҳ%l!P7뜎(o.+ a TcAU".G}M ?gšW)ҋtq;,n~H#)yVS#ɜ~B&.TU[[/@ʎ`8 bxsy{toa)$]务+Bw}ޭ3c,;S1aR.`+~+ՉՓe+oRdS٠f|#`n쌦|#I"/(J^hm/sfܵ%O5KT[:4`X &j |zc4o8ۻ-Y޳/N["gso9|R~#Ē[d$5.Ջ[]mncZ|?_k^vmC- f0k2y$q\OO~\ed}91. hv ^V,O8ϛJ v}#,FĎK^u=#ır<^N'5щNB&)BaQ@ɣcSp"u|މ̣¼C98OIWo^z5I"A]W$g_0:ŨN떞/`#iqj;L $ A_O*<*7A۞rwc2̺t`c=ML&ԅT jj8Џ:q>;UxC OjBc-:>ջSͱVI3jI[eYsS[5wJyad"[[c |Gd꽍/1@`,jՇa`NL8ˊlVUo Z? u{TD[b c&}_ cw+J{\2N -`k ѻDHuF've)+ÌE]H6E:stLQxK\Uy̌j^N56m)"1)AJ&ok*S bTh)^4kCg:A sm/ҧ'.ǓPr@O_o ̧z!7IX"Uo(W 蜘EE7hk+N1]@M|@M w؊fxRYS/}׿U/;fi;#p$2?EQ؝"\oL)ھ]e$g 2N׹|~l *xMN4MnIpTi dps)OIkNS~F^_x?߻E|nsl{i#w [%1Q_vEBo=V}JOri<#0I(pg|f( v^ 03VQ3wHroҧ?O\p 9tq;PPn'h#VibL"5$ˠ^xȻ"@ԕ^ISH^k^&亽*,.!Da,S%i7u`b4M/;6H0}3̳)S/|I593% ^\|g9<G˷4D6.(āݯXfPvϲ7dեkE\|&QOUPCՆ.<x'LTKSvK@4Կbz!C|ADuo3iWl@z9\6B>w^5'F!w"Vl-Rw44t דN[*T St^$]< ',q Ap9 Pۚ,(`]w}D5oբsI;wO2:v멾lY*G|jL@189vh*Wu3y쐂g K@xWb߼!>wgn|@׾kf+wR$3@λGo'ʧ5~nϼd `ޮ#z [UEPPW ƟZ)dD&}3wɮXGi- V}=ώ5ό|Q50͝,Pu<8("V3@mR}?aO q="Atޤ&q?Le1c2)$3ixQ'~Onx42 n=ucVj=^i.)`((l`2'lhLqHNTLVeFwƗ ~#S>V ݗֺ1J65/#v"+6}#IKԻNT3i?NZٯ WT34)rPFN`ޖ KUK/)-\%ېl}D)UQ? mI|N Y1ݚ| o!]ғ_FHܘ6yt>eqϮuHtywҞ@ Uj(ep&Y2OHΧj{Y{FxzI$i0:t38pVaX6VgQoh92$햩27|{׸Zy1}V)v\&+J9-ݯ$x8QZ "w&> /O&CS+u(S > cN8T v5r1ȣo)b"d2k٩=Myf-MqM9{8!'wWS ͯ>(:HcG!eϳܳi7"/ :Ii)+z-$WWɑ .SN]Y&ogEO}:,=֩؄ؠqzbʦq KaO$#& @;D,񔦞<ƙЉd7[íO%xE'tO^^oplB<~@Eك#ڄE`{]*~zbZzXm'e'~C`̢y4k o 'Xc\OgAM3(2/q2Op#3CA?%:=+njX[T$ I@_#MoϐY{.i _]\[&4cyU Ri~>y48ރh1qTjV7bu~K*hsKhBV2V va?2…y({1z73"x9ъʧQt$#(UG(oqu$HLʷQ.x*V?> x/9Sn:Z_=qgL?fеZLg^q{2jι*_C$N ԙF2 ; lt);Ld ukQ%~*-Dŝ}}6IfR 1)1,)"6tzOjuI񦅧gih ltf 4"_%q,#| \&:zI^ʼ)VqEؐWN+ $+~?#>e;_%ʹk2X?y^HV[xɋzN3MnU0*a5lp15?5ިCQtH 4.Y1W3-K'g.ȱhxT;ڔAF[Tm.;rmP4aD*@&?̍ihBvydT tnlD<(,.$˵~yגڅu͞m%%4u9 ҈>ڟtm0D'\,怘S/GNY֡: (b;\e'?o\U% RcOלcqБd.'?zhM޽@:U<WY# ԇwzǤuĖ!1%dBv8~CY)}sMvio\J<$B_)?p4sqNY)!>C\g􅳐'PtHgk7qz" L~Fc_xZ$k|$@f|t1KWuo4uX(.RZ?2džء?MĪ/';F*qǮPޯ7xh @ lq5*FlLȑ/@À}QtՃz  >5pkEa_)񍨑{b|;f4B (T EҖxfomgҺ[ ]D~B G=R϶$rρ?>88Gƻ_ /J+\͏A^QC~_H-^V[Ɣ⯩_Ql }h=u} o.-e6.B[.E6H`RHM4&s'rp?ugR=-!%*;H_+%xJ䏌b^ WDV9x|v~ (M()|ͳ|]q~HJ{89#ܔ|Zh2^yW@wN5KF3Mh"xʊX(L[9:4meEK66l$Xlű6dj=8Q[D|ؒu`^Y/lkO嬓-kוq9~d0~éyX}w<#7 q~I1WF}S[ #{6"mʉ*̬dx2)A[I&M\̪못P:noBSZZށڤJ̿T "U3NUpVx_|X$k]tԽbʼΌd= 9apB-^.Ө #/hY$I5P93Me^ߴNW^ח\b%s,ͤf6 #br K.0g @}rcL eL|+G]m;6<([׷LN!]ώzu|MS VwаXIoh,vzqpͣs衾PCؤZ*Vi o[Pj6Ug9\;1 'BOuĠF Iw Dq" -w_=X;s_KA/.w sW<1ޜi"FgOHi[n,т2unV6MPRFۨ( C)ǟ@Z^3q{ya ?=.;Atꛆ7pP`zo- 6|Ȃa6KP{4ި-=zVzcܣQ+9J;۷鐛rK!9sG앿@̛!$c=Bgn W]b^AxmpbD IQSYz`KR_$u_M\du5*ݐw0Ϝbh m2| n>-)U򉝤[%&[X $uS+Wa7KuS<ȿ`:;|`G0uхTkk[9 (@|!pC8hظˆI{C_)#xWcΫ9nɜH= i0L(*p9ٕ/"QMaꟽ}2Y_+0}:{?Qy9va7G]_)=Sbk%B]m:|!H}?\~]& 8d="T'胥ZI+,UI(D_a/`J#zNÖ`R ;xX#LS^˦mщE*Uo9Ww9c>WA& (Ƽ8zp$\ORv(. Y&GJtZ \ӱ] g~k}mAGyDzxVi 8GǢ=H4l W*I~ _a3ز"TN%>?0qvE-NK4*kH{Ko!O)UXQvBxt Kȵ4PYatxlƷONC<3>3h$=f{øl84ګyaR2>m}.ɂ!RVV%fid͓w؄Wzo&L̒4 mq/ֆLPSfDYi΂y1#ao=o݄0Uԏʝ-=>P!}Ev^-^eL)}z{ku@p#q6Qկ_ l1gu0 =bRM,ݣNZӤ^rA?`\<{".ю4 (Ia*KY?Yd;M/wӍJ.-X%ݟg Ib>p[l 1L8vJ>SXzD;A:OeZb7)` zW DET^ycv4v(V%{:BQ&&Vޗ(ǧ/޳]xF',}l !^䊓6E[c! A!-C:x~җ[*Mt[6鿏Vׯ.|"~([v80 htp<!_|Ns}+OT/,. y;agq` i,3'ѡi9|}ٛ[Mڥ7WF|H_gsFY;r a 2uMJ֒Gu^E_77Y<yz_8g*Z_|1ʰlєY:nR_*tIkŸZZ />0/\k6oqچ|R^8'}mcK^\v\ b`~WJGdi|H󵘻b,YhF'NDy날Nؿ7(N:w#7pU?]{eu> Otp4miP0*e~<(R >e=ʋg; ?(^R oO@cR{VtS_ ɨ[sHKF9#7A!+ׄ Ʋ 3> ݦE{Dss&tyj>D,CH6~&UpD#&Bxgi~u,2!B@ p^GA-ڨRaR(9ޖ$}Yi'v\A'QKq8?X'I0Zx ^j8{xy T{koĥ4l+_^.%c{Q ?wf,ʅ Y?J3E!مT?5[l=ɗio޵ZOEaHZz^䃩XRn>jcUCFCvHg.qgJ_}!"b 3ɫ從~FgpNo-CYy`q3Y{d:d#륩f ׁ[JA6 YCى]2&FE7LG\;Ņrhtሽ%%pXT3F>:({y{7U7:YOʑNS2|OPɚ &ΆB!Z/b G;E\V`CEم%u!)6UEZYt3g|;Yd%d ԉ/b„m|_'~Rz:<%vW~gBP˴Mn\׽ `J"i#O%yiUUqIx mA_QsGR{|bt뱍&ԟg휯He$7kZzEͼ/GߟH䜁I2d mtdTV\\DM/#8ֻ ъҾIF{9TUBR|6nq@'vFlHK-Bb۰d$L/TfGϬaIQ@kȾ89Fi{ouff nVc{q{ |DtrJoWO<؈"Ko6h{.".#4S|75П;C(zqI7O(8e8(DJ4@"(;^*tz\5_Ag'/'yȖc?ĝԗeS2,ig.)Ǧ[{Y Q[uޟ9=*jq40he"imNj퐥Knwj͉2Z(Vp]Sxi|a<+5K_T|%|;h 醎 >;㘡tBJםi5N' ncfkŋL{x:A7^ˏ x<|Bk=z&U* +Rs9Dbf7( :jMMfI\:vN$Y8*_fEI 6Ȯ8|8!yQFڜbyz)l,No EF9V%K+*ַ1ǪuCX_K*:YX59WxWV!x5*-ESnؙ'ҖK|:fd*MdXp~N/yXihV(i:ktR>.:sE-EtH>Ђ-kEouc+i?A)C բl I7V`oRZyRy3HVQ{}mR:WR kٸ)1Y( -!u`诏m)x?!HMI\H#]gqEZ'\T3r1 F8+$'7 pDDѝ7Ǧ̙ `9|I iHk<غ,~XdW-Rrxjabhlr9DM3>& fqixA&}%ZP{;\ҶK,kqiYLa{hN"&nOT5C8 c" |=eaKGK1g9ii#*ٱh0/TZx2>{4([" W \bk7=M;lU%*1c})Ssh ݞ !dI@eujO皀I=i-7Ms%'|7`K1 6A@Uޮ`QXC'Q<+j - -DWK)Wt_UܙLBxyV fttu-)OqD$X{?ݘݛo^~:e7D7Y :~kr˵&|_<3A\F Qv^<-XLҨBEK$Tv0qZ}Vi+t$I~|HzM!W0tlpHHؔkLJq7̼u,3}> 9 dDLٮAJ4 BzbXtڗνwQ-k8]=ӿQx l]؞DBMii 4ΐHc. SK,NPl+d7Ti D &܎|YK^ϿvB4GD+C ph8_ OZ)<:pr;<\ fA 4ܕ:XŊs> ,AD֌0%xfBwJbf3r+_]/ZN!(}U[ IQ5+y>W>_2k k3\,37o0Ɉ)̇":s>5x5 E%ahy3!@:QME?'~ dO_ׅH&TrX5r_KkeLZ,QE\yu^?&(GyCLB3t+:{oad-·˾dMm /.) Ne),~L`Fn5sBb"xHY' \H@OS1bГ.vH::M\O Q}g<1$LJuϑ?d"jŏeO3.ء~x)G;^hw}f!8b<\"Ko50~iVk"*XB5:ϔ'|Gǯ8I=kV Y\*|, k^"5༾ٷ>Y]ظY=يKІ_I I֌39l-Є]ŀio"AMs5r|upvsk!Up{m)K11Rcz5$3nr|T]}5{y.o`seSM H8k;RUTuFJŶKO6nA249ZѬ`.Vǀ1t5bA2BngH^}IIk9qޟ_,s祴!TDw*?JzfY.E0IzWvSe-7P0tz سq.:|_Hvy]{_(~qRL(bwaY>P=2 OC&K¢ȰUMZqƑJIټWnؖ\< BR~T:oÉ 68I~ɛb˶ ;DžqU 6'wJA>(1pL8RIصGe2tWFxnMNK ;{/"50"@ߍ\px/4 $Ĕ}I|J! ÷=7KiDe-GZmpms""U0sG -"g 7My#J!m,hNDd6423iQ'pLD{.?(p.Rb(IpS^ ͎3Kvڬ. sIޯv$+$(wL*QB.A[Dd>DM`510OKOB t3 { %ig݆\WkelkA[ r?WmGy$S~'?*_vy8ZcD8E-wSDGx=-Vڑdu?WH Njr,:;)ܚdu+T,I>n 60a#gX#~ 4eΔ4-+׃һ$qH'9Te}Pʼno`Q6~@ LG>t@1^,4LI&XP֯W9CCkk;Fύr-fPf [T8AN,-$b*e)j; 9s)ÿwƖ?rzDm=hGZdE JzpK2u7u#%sAm&9&Ggmڣe/j~hI'충;*&aIiu_țʯ:_?|ׁt[XM15 %>0@cXD ~|~( *^LS AQ ϓ()iuCwrĘWWmr3OH$+;ʳ5U>;lEl]Cb@=yU>n߫s{QOmS_VCpbSƣ;yLQ"FujrQGev}1+w _`}R~^=#K˛vq^'ׯ2T%VnTDȬ!ţ$xq$UзCp_Ljubhd1ȿ &vjc;>v) S ͅH'`㯛C1e5v肥 oTdC'5<L8ɠCwh길~_DْhA5.L|7=5|uZve<7KO1״번iW!&v֞iӒ.5ewx9'sB.dS1!߫p}lc#Œ@4)&bo%fhڽ)(B?4j3Nԗ?;09o"k7R #o"G>a"BR$ Mx6R#";Ri 0C6K&I;Q. W,-a"{vFlaðs wI/ZV^[`#CĶy^ء} Sۿ>|wS/?#fKE߁*&Enx}4Xp0,L_x]T\5K(Slj\ :C۸PŪ!-T,SHPt7\euq: hPs,9)k𷸢apL C˗נA.~y1bȥI Ѝ_Op>l5;eHc@\hI+BL\a c06;Lzj& ˄Y<%LD9:.Qg )XyXtŕyGʻFؼM@KQvDS6Ofq-i?'D܀w"h|C@ /_)|wWaɞqWPD Z?|n6O rM( %Q2rl H+0ɳpaeOAKYkSvpLzG((nhco:wxW;F0<'Rs%eP`OioPJ'CDzKK\O,H:PF|jV?Bj%=+J't.-Hb %Pw'Jf!wP>h4ѽ}ė)qDS~*%ȿWQp~S쌄-axW7UmbW2+uR?^JgO;PVQ3jZ9g -Q5Dr}X C6QUlO3i*Mv}}īkWͨȏnco@6]̑w$쪓#`У jxHal`xN}"Ǩ &R>*ՋW6r.H0ƶ]TOlo30xrXvvC{=EXρPY]I0TQ_Ya]@iI/?=phtUPc$0^۰N$ ]r͋ L<ʄ#̠B`Υlmx1kAWkG'3i'2ޭ5ƮWl8r!ʕjl!g (1(fi~)txotwΆ 齤cv1}51>'9u͔H&y2mEd q+YDHߎ:< _K &k|o.XL`t9Xtӡ/ P> ?zUB@Bֿ³]BB-_:^G#d,^= ^X!nz4x@/?8g_קݸ({AF 2E-P?:NEWRGhWeLw9%/BQNҝhG/G XǨ(F]z'N0PLf^5pWPMwsݦs 6bU/kԨ(kH!?ڣ[6iNӖL{;? nt]b=K_8$gO]huډ&cÓ&DORۃpR _],*Zi\q.BUH.Z&N }Wj4%K==#>/jPP)~ v=L[Mu|1SD9":GV–e~^o"Q^MhJ Px(l}_pײ>wo@KNGJ2VSJ$̃P .V9)IQB.71\BϚç;V1ߏ!-(}3Oꑋ b0ְٗi))lI=[}1YɺhYe5OtGtpR**e v5a*5h3Ga'LAyU@ҍ̉TH^mn9<*Wlt[LyoGZ~G6Wp exg1i"\)VdޝdbX+LdԼ,)@v݉-v'HfoC{9}~I6k3Pz'%'pTd|g&1a ^rϛkTAznmy(=Fbٕ6Wa!RՈT.yOM:ոJvu(&}]Ѧw4FrGZؼE']8檮c{'Pr9aw[@mH)}Rg+ή&iBׯqzEMN.z.yyFG*97H7 ,,pBMڼ̜ $] 0w*on(Bn ' a,˙OT@6yWr#;"M V;J4ƽ`.T_æ"p"1.ՙ%EX Zr?܆hv>h&Ƈ`:{ef zj"S"[a)ΰ9&J AF6sheXh佘%f3~Z~Qde^MiD$%0+kv=װÊB9`KkV`5$%|1/Q8򻎧y\d1O'VC[tj:stQ@zא!YEtI65rh SHʭq3q/PMk4WjQ$!W@n&*ٳ+bh].@/@Enjfm)fFf~SE%AkRr7bZ}k!L#fD>a ~mFGBvSs/~6T_}cɏ %4F D!,J"zC//YHxjMx^er/%ʙ`LW_ ӵ3sȣ"sL2K6IC8$;>*<{LzY!݆ 7JX?ߎ]̌ݍ̚쇀:T>X4?z aһa{40p89ɒ"a1ݔ%M1If8kp͒iHb<4O9b<:|!ą9G4 7DI*eBa`n%"yWR4?<]/ I葴K <~O]ZԲ:O@Tr"ҢWC *EHfҊ)m n܅E*i 5(dij(Ҕ⋼%Fꟶ2'+5V_] ) hk\:kVSzPdE&)18B+an{ 39q%NHLnY6 H"MGlHL_F,P$1c@$.XֽD"!|+i__(*LEӂu̓Hn@O0^&g1{ߡmA!#]܆/=D(u}, PuSHv 3T۰tXM2oxPTYNcl߼ӪqNF4qiɥ-JFw9HGPFosoޫ_!z,߭r^8>Qgė/l@.Όg+o'Az}b|:OFS@t[p\/=nʡ胘v8I4,kWgh>Kf&;3I6+{8z]}*I+EIeJ]UFgCz3\૯t͔'eD.~h2~V ɞy⯝:YtgCH2(FfX,dn,zܫ)#zr[B)GZ:ᨽo`Y@x̨8 '[wu'Z:ѳS8jGwc|36Ahq6?1> k6w!C^vr8j~I״ƾrJ'OJ(H8ņ ZpƯS(^Q \[+:~Ui+ A@ 062<|R@ (9G>!d 4۸t+r"OQ}vׁ"Q3)jfd(]%Y Ï[+}iXmP/'ƥJZ](M1Z1f_YpewDW )hg$z wc7DnjcCf礹%"2' g=zJ 'V0{j"@I\x#i)ꙺa9 g@^ FJWB[^ߝ:O$*egmFR&{H!qgȿViLn&Y[e5SĖDy˜QVb]׻XaUH?m\߼U,Qc{,ں4F4/wݒqJ4|C|K"ѧKDzzT8q`yȼG2NhMNP 0dMnQچghN9gfgOD?u Yu z ѕkӸ=|q/bZQ"Mw,<3yG;*NmpέnaT쐽NQ͔P3p HaRlcK;Ai-heHBF1vfxOTG SI_blư`i'[!O97x_lAKD~zRO;M1v,|Oxu"m\G{ќfpxicm| V@6L!<524Ra"-$?A>W)7ߧ]6_}ˌ\kaLYp_BVFVq8[!DK \:!_'C ,tdC #`\j2' yn R73/'DW'VJϺ&`ZPv5\.ח١M4!C02st]z B7t3"@txWoȱԶ5Ҧ L:KZ7YnlTc㏗9ڇޕK(]NgFw>]aG}C;w46 nF"41_FYhɩڧ++Wr4C$a:NvrT_J~4q=&ɴUC;4qتw! j_N._tfGsnC&\=1YM9ܗ&$sO15IORJW?Fg0R\涉ibh]<: 5`E>62`p5[op#PEx"+JkM㇋b 0|zȓ"Yng 钢 6:컜eoB/<' Ry%<@kb|2S ta`^o~7 ?>{tdh8.} RV[C0oU^xyH\#jr4H%2@pz;ԖY)&QHwCƗ`n|"\Q5NR_rgEzJIWCGx Ԣ7%Zx$PŘu-.#vLze> [G o.Mf@@H&|I Պ/Y<4WD''}Ճ.0"h %#'# *t%TFFܭ ʅDYrRLq!or~g5 \<q"}2= ]}BϊYMD=Hf׮dk;m_$t<\>Z)8%> 0*h-BT&"zRҳ׾MY'ﯯ$6ï^>2̟ԹNt0|:H4 teb,-1KqmT;K7w"SҠ;$6.a:ѿ,5frla9\̊5;Or䝁~7²JBe23jU^հsfvn?ŞU誤r n/4f^PL]-? IQӺr/VMҳ԰0h"sё}0^uqPnO`2+c+⯮&ǫ/Z%wM78Gnp^8DORk2t AF~)"^v?xam`/K̦C4)-f.CxAgANh=cm k_T==/u(:,}r꫑.GlTa/Hn3S!$ T5e k& 4ّס դ+2zsw]5)+BG~ܽ'g[p_:uw*b˽W8Hpcrz~>) a>di<tVUz㋵pcA:} ,,M_~x(H l0%o6i"n'mv~{ȶ}; z1.vrƦ -S x" ag!,ȼK |B|*ElL7:"j YYpcM:@Bi/ 0ƘtG^+/H|4+r,͌{i*.L9UE ~5|#^vdE-%2MZ;iWokWcǭw^NNE(h{vnD#<-:.HKxsc .ʢN<EQZs(6DV߇}y s,x/GthiqMɓe13wٿDHEQp<5x?0C*q&&~>b5VKݨ ͿWl,b>p Z<խR%c!IGB(ʮȆ%u3_tƇ?؏߽ yCJWaٶrFO3+$I=,(+뽿7gi J]gKK, ,;|{uK7`yWٗ d5œVc8≗bVE4 lGTn;̶~ #;Q~0 B=N\lM2dG8 _]ݳ @._Ut}L,B"S>Hhw__ͳ o _ LҘԋeB;ipRz.U"8gBTb9N>Qӳn|yy\RE25bٌshO\B38q# {?ҜcͤOZɹzxT!+H( T>ʹqLn)uyp-)~SX2:MLD'եE A srPAMoѯ+Tmf4ʃ)<)R: QZ;sd} (!1w'D 4:7k3%B8N*2-m=|zh\Ws81dֿW~+iڇ'}yW=~9IA.]5:-kHz80VVg%fLy|ҿ@u⦢]EA HcSl>l *.u<ߌ|B찿E[9[iHB JrCԩT \Č0bclycw[y'#]`di?1.UOpvϋJ4A`;v)C׿C)N*$ L>@2M3&sO4v]Tj0m%P`m.G]C;0E H#e2;zd]N1J1Y[U/l1dFCtO28&= ]tD{crcU*`O &b}/u#W!E! S9[nպhE)?g=w-MDtXN38~[9AFPR(7kփOjNOϝ$ռK4ҽWeVe ^8.suLA3 y<~?/6˵ 3!_,115GWIo>x1^N{p"v<퇔b4}H>ij}8TzoD4/Zɚt顷m|6zЃxm(E?1@%6KTeiCYBWSL5@?&zsbF΅`I[t;̪Id "9P 羁3C L OD N]Ai̇PΫn[ˀ^ vy3EVpHFC3l)JzLmLyQ~ 6LSy%Eޤb(5@-~qOmK*A_U)MaD ^JB*9k#d{e;b=zP#'3ӣ܏9Tvz*y=@5$f hqO8Ʊ;wZl?q]Id]ʠYyR'Fg<Zk8izPOKb1{q8U4tAYܜ*\Mr4B 7 6M21hEX`EEIˬ/ Y%H={:6&%s"CRYy#"&@D.#OM~_6_ysQ#j* n騤.]]sPh@7NW[_zщrR|`ddW8%È7T$K[o6CZlI+UVZk)76<*@:L\5h-L68ZL&k߱݋kG}o܂^^S4ـ_){f>SL9=4j,NJ\dzmHmyicp˱'+iXS2B'ݳXcOdAZ5,rx6<cy`^CI/dasNQKxl>dwsQl=ѣ]OdsiI\}AE =㿕ߵ(J1c<㴕de7by_+;˜!'5)Y[Cކjrtkm-{L<=>Tqbow+B?G2G^3r!f.HWu6 U>$aJmjD< Ͽ"<@ʤ3]1G:ɾb#ă^#(A8}B|I˿O;!I;+HTTJGng?>LdGPw۠CVDV++vp%g|GbʧЪ(dq45/#>Q,X;a>o OT8W ȣz 'e ԉ0Q~@kɅ(BbkCPN>ipk"c̐,eE_޴'o>}O a&:S4pzak:;Z7B^nFgw2OJ%3O0Oę4Ž>M3 E[R6Վ:uHIN{=de)E><= 1+i;}CZ}:J*5jc!aIƒ{,m_&,a_{c4B?{Tt1ܢIWDJD`;՛F:6/pz MNuv2exrD'W܀w1埕 jrzEq׭}=HyuS+ 4 =n Tcō"b6,//e.'7P IH݋ E1Ln*F5~͸Oz,2qgiãO2y 3#!-6h+ vh5p-('%Qh̶j2.A¼E>&p*q̆8۴㈥fA'c7z~/Pv_/ܓEb4*N܃"UF7>I%jr,5y5dp?F+_%W$pY@FlNd6{y2vXxLa<D4Cv~ K {[;*/IvjbK;Ï<\9+G *++a`4.&ߝ YPz5Ѯua}9Yo+C5"d4W SNuHkDRN{+;.n\adؘ ɻ~Q0N $ !o1~>č$;IŠGЇ/ᙅj+QҷdYyr u{k/HfZUΥ ޕPd@(^sx(II\,W25JK-J\ %/RH}-JV!Ye<)3w8;!8+~ܾ ?`pƣ @*R&̴pՃI=_]^ZhVm‡wUW$Ie}"Ldib' = YjԿsKqt)i|VxABG kQYҶ"ټ\5ܯl;gOn uzcI􏔬-a/kV<~[_ZI|:;w ٳEסdhƸ`9B<G|Q@ek3ڦc43 jL̛2xS\57(SIJ[tW3=D,|O4ّ4S<!:.DjofU1-A(xn#ვ髭d%T yw+s7X$vŋc!Aԃ>W T Y9!.ѯ"ש,3־QniXFXuelHxh Y3x4K~ oɳFd?gSowcn>* "eHOE+ؚg&1ҼY2A5M1 t:#{Yo*0bbrV4$'d%w#{s2zQp%QDL!`y2Ǭv+K"JtHz =asT]2ГK nNNM9Ƈ ṭ*K'vF-?j 6O'&1b64sPD#C{Ku<b(+Y ,9̎I69|S5i7 鞋ߓ&BM'JK?+Xmo81g^(:1}KJ"m۬䠕YK|F^sE3F[|PM^,mtX!B`wG>[[na"?t% d\+,G| 3;7{ɯtKw)4!HlC"ZIs3>Sq3DnmRq8vE* #\~lZPVyٛ9t&mIBCu5~Z*z_n$m,_ɷ"!\ȝ`%9Oyi2&#9FTߪn<=s^{Z,bɢ$yw ܮT 1lCоA2F@G3=::~«;#`#ΫAI )zZ7hw_ Gw ˫0,@LxB}V*FpZLQIHR? /+@~0 w}/2RrQ9z>Hܰm\G7CpY6^;ۯ>-0>f>Ȗoy6*]rr#; D!-l d/M,z}{ [?XУ檌XjekilXj[""9RE (=ӭ\ g kfB"|PD~5?u~T>ҁR|0/IY/~5&IaSbI(˲ U>US `[S8^V/lC;IEwŸLByhkN(u ?=XB|;(g#u;•+P.He K7~=o1;a"3R뻶\e] *-\>j=69-o_#4 Jn>`6}+]c dPAoB˶cHv>҈%q@"@-!p9g㏖)*!~wr6ʀ1cF.:(ȵg޲( Wn"m#?rށt*c!KqtѕشC t˹ +oL?Vgt<'df5U MR[r]Hf>FkIcU_b(G񬷸TQJ=Fq-K>,׸.F4^Nf[^[!4Qک:4xto鐪5]_ L |LPp6 * vOOJhdJƄVg9dX#KjP`;uUb5tp"o1ȍWIql?g4=|OOӏ Tn䨩Z2,a΃V uj8}Ȓv<(1?}ͱr6 / 'Kۊ9M[OI3f K?o,y`ATɢ@!I(M -h?7ŔEg7O8nix,ezJ*E0TǹJDTed-D$#KՕO Puΐތi5xl/%Jq%xc/dw:a"Zh9TV" 7`è!|G&o YJeQ ]q߫q[*[CeK ^%<άu*RňC7Dd_!XR.՝Zcx/EcPID_csoc4Wml=AqsVdYEֻP Bj^O9P6Bܴ`GWQL@{~mEWkwNA%XxCC@F/rxZCpL쭡KUIvc%%נ?za6ԟY: ;ԏpJ2l۪QQ|0o%4GHH6j{+6Əij V1bEOY0&Ёؐ<x~|ELnl7q!yU Ձg#tk $v.,0<"X;}hU'`O'2iϝ"pg՚-@)o/[|-)E.bw? cc3)FkC~_|cX+?pBE*PGAEjTH֋Ư}^K]><\¨oX/C8>CϨKzڠf"\tm -}t0sZMQ퇭oa2ʦS"a'/LE_鸱INTP4z|cMl|\XCyǮƃOp-)4}4ޠ[m瘻]D|R7O6)?'Z^k~lJR,V*o|PO~a1g:k@N)A@ѣ( :F566Z@<ID!;B!BtB#儯&a`都jnu LcsnI|!_{Br2 -D ؎.ouLGlB6xrk!#~гŮTΏ 9[XL"o./Te(*j?9RvZ9F~=&.Sa/~okbyK\fAbI `֪oPab*//@/)pPkWTx(A癸UC!ŠP_{DΥj^OcrщJ⟁;0yY)uQIT9ޠD-'i2>5Z5S[NF)u6I?;"7gx'ċyx6=о/n,VÏgCs^{7ZKJ4@9RT;֒*)j_35yd#/ibsƤ8Jq ]\jPMJUkfq1W6ֆWn9|IᧈhSyN^ vGK6x˄FddQb6X$ =Qq>1/ֶTȫ#8]Y܁ef2ї ;J~TsQ VҾ).0OFB _mrJ ]gTSB| %M9ťz-7nldh[ {Ϯo뾀)gJ/)N ө5oc\Յ[)8F HIF}:/9ڪ$X/doTf~_lWL 힊}[STo}ވEu. ח.KXxw#Ŏ%qE/Zaqˬmpq˟ ,W2_d^ #bLKDRhSZ o,t2zR9W.tRhH`p+JYY̤Ǿ1!G~xnu+I/vomH?HzasԔ.ߟȈk-]7LH*Dr#J ԕC3}]{+wtR@[}]TQg_ύh6 T^?}mIN0CǟJK5!Gx9:u(Xμ= r$=CYQr{3tDwԼiKRu_H:ǜI,^ J< \PRkyA f/JwqAaƟ ~TW[~8|Հ6u_;KkVމOZ:e =?уi*+w{w\G, j䫔䇇Lׯ\wX>ko4%` ZAT0!_}ҡ6467y"„*]32%mjyݫCݒ0HU_>eGZI857{y*I!BcV9쐫7g=yf%:ުkfY9fҲ>oUWtvqs:hK)"qh?v+M"ivkʸy ݁RF/$ѝ8'Н1BxN7'R㊏R&ZXGaIe8z肎쌭)bu1J .Nߴ,Gc3bJU#DK,Ry쪉:s>n vͪ `Œuı,fJ/%KKKPaܛAsҞuC-( -S"Rv;S`ez"oB],:/A'9:^3"_bbM?%o݇}-M@\VgD8O6GtN7 t"*[,S<~!f{ ="KdH>zzfA"Z!;CcG\sOK;!6zpj_XgB[}ꖈ|2ma?#r^@ Ԓp":F\l=vDkFh] Hk)i脗{OG{HP|4xsZ  ƃ~!mqê·lYL{^W {=yĢR=/)?gHі>asJio*P(h.~SXx A7C4!I,J3}[Kz?%azEL9 bqf z%Nmj( <(Zg㒃f S8WG0nS+ ̘?1/oکd[6OP?&p7w{=鳬|'Id m&gldz~z/$Rp.lέr\Oݹ!:|H;d^KBNjRX /p;c`h'lgyUx(_=оݻn_M[;o-b•mm J^N'SC-iQG(yֿA շɬXF :X0_-Ρ6 cA=E=[k[#bH\br4(K*Ɗ#}So: +*)U L:'=H57+tʒb$?eO!H1u°tKbF~.a)+'άy]q}ƪ0 dAZV4OP[i>m{H AU{ʒ/ƍQ{KF=>=;OC\(S@5 ~cgߘ2ZO87;3q1Teʓc !)_̿kD# "o݇i(b 5V(t:Zxr"$U"&w !U=Su̒bezenB7ױl[n.NUY:*Fs>Fwh'Em& \I-#Y0W?K;ÒG2.^py"lh&b9 )맃2p􁂑!r ˜c6FI>$} F(V1)҉q1P2WxnLXPP2[e(Oq">CG07ͽB+q~k_W 8+眕Ы6!ls:PbAx$^K+V 6&J#IP7 >@Zs ?Or mǛ~g^(?]iIJKf"չ~"N uL*22c RXnFb;vPa̫>>CyWajg8L׌e^ b'jnqy *P?Ǫݭ?n 2Xǁ!?¾Bn%oO1< 5 )<-MgέsNLNJPc<_k\ɂ'̚_w8 64V1tQO]ZwIy|#P!I|+IWA%4@Ou8H~LEo-qDi"Nd^sE4hFach~''Am+DP!r$\ (h1R}O3F7;:鐿JSzxʑ&3/?\փ]ґ9kbR)OR ԑ2T,YsbU7cʷsH]3#יķS> L2z4-(Yz> N|jhDˏ-.:ӣ[Fְ}Rg2BNmIz@At/x]ͣ~%X5$B?+$G: [ vw,:Ȝ3@(IG,&S*wϪ%1wc\*ޙyÒ0gm=bYu- 6DZoB;ԛϧ^[3YC8L_0Md&}Plm \V9i,(Cz|i9R0<*#S%mXj}p_7\b އJyc&B.7\e)Dm]#`+/)MoR VъNXI GP@Ye\)h]`p:^"pox}޲ AַMOL,+q3ȅ0V{POQO;ߝ^Y&ܾw; .{eY{D9W[Z_^6nkeG8ijh. ~Qxj4쏌!г \Ӛ&Ɂ=McCRgϰ!1*]LcD?jy3|PumxL~$ayg=hjyָeo#<7hy_45S&5G>i r!/ێ:膎CXNթr.c>C0|i4mCs_u]/y)vbTbDMBX 1&0\[ilB[f%lY𨮊}}98;2 sz4[ %q7o ;V LOD_[4]eTҰJCiY+*Z]zWKTϊAVE@# EbabK׷ G4ڱ k|Oecp&#Pjhbp4Z;Sw%?AԬJ`W7#Θ.xd Mk;]oLZ%ݴO,+6_˒6G\hʿ9ؿ`qj}U.uׂ4<`l7E nSuȲ9|9]07{QOY]_}Yo>a_[gٝQig |. 6A\M\-_bR$ 9&8~w"^-ɫ\Q,m(b(3+1jo R$~H}~q|M1^(MZk}6rS;K۰UvrwȒ1&=!ƴT@aG*}yeaj8U\&IO ָ `KTX&O~吔 ]Ű >RPL8<"d+ǺCOWKE>sXjSwdk# HEq17칮mKlOа&|n|]RH92p 9 (6=uK:uri}Hcp:PEc:YI8PEoǀO6v^а/Yncޠd % 87 p0tv%م4-#6{f%,Wv}З}nq|'PI  ,wŭaRzy."iɤ22zܿ9< (A=-m2f{cr,7I0Œ+M͡Wjפ[||Vg|&*Ux~@sJ2]40zU3uz#3l4?Q,Kcohj 4 ;m>aL W": n"4]ўϜ״W'bC^YugQh{"d BtJ VaGlgUu(^ l}܎d@7oAe1Rm_IM£i(_-)#`m/Ӯ!uQř^NDt_ Ýd֍W屺FPsה&y<4QKM:\$?îx[*j!OO ˬ)9h{.CB-1fz$ubWcgZԮGKo>b;r|Xi45h$Jr5#kDo/|cff)R1,bo}B:.pn2?c!䒅Jr .^=񾢶"\?y]^@:ˑ`oԫ(m8\pCo! ps/j2ik~hkNWʄKM9?Nk%O?0lwۈKz\+H5+$T毩>l^-vG%Hn/]%M-Íԇ>3,W0f-dAOR~ס߄B &?8ODP*s ¸qnY?$ gˇkd`2<RLw@F#2r 3nQ0Arke8{Tklh4ȈFVVkV}cJ$ ץC.tl9|؅1mERlhY9,*`}a;L5QeʀEY~R'0'bN r$|uX8"鏅y!f0 ssǃ5OEOf=YUfJ 9pI׽wR﷐EtD>F@=e,]qڞ^޷y\cqcM{#tgKwHhb-/.B6 .i$y+wo}( ̊Lɸ8N OSfwKG@N$a-rNAAZ7|N|D ,E+\Hn8y7C9q0+{CRtgZc~gJ r8,9r4a #q=EW+)2炼󸷃_Dd&zJˣ-|kGZMw& Y;R%-L]MX򂌱{b_ 1E' F?=TWml]4kXa 5}XW")'k`(uT gA6$I;2&3H#U}?SԄ l~S,MG$&Xۑeq̧^?`Ⱦ~#2?;MV*ܵ->~1r3O@vm"$,!ovX$"%xel pup0ҡEɮ7!%ا qe6 Os=i2-X;.W%-wc/Z[& 6 ɎeSyLT LJm[]&)Xt\Ҵpޟ*Z ?A'IMI`LGLk'•dЈ}#6~ KsUnFdDTI ]Hn7@h*ހQe8M1{5tx8co ˭#GOU)X߲}X9ۼ;iɜ@7kWm#^/j6`/~fIz )E"nAэV(aHϚmݬ0՝{]ݶSسmye-/~Wಏz(ة汇lwF*Q UMD2`5<5:ņiOq7ws^6 lvwqr=c2ߚfo0ͤ_{{roDCṼ80D^[(EqR9d1Xv20yR$Xq-0G A&JUÞ4x)^Zꌅx7Z\wS 4U~i}gK}\ b/,V+!y` ?yz=X#P n\:*ca,a) cb/||q;f s$tW8AN_ <*rxg|Gށ{̜C:o ?M$4+|^6T(`MϿEySiQV i!ARc9wKe#9㣁ִyUE\H<:TۊB`^MkyD̒cxφ c*À =k(Pe=o6F9{vH69ksE&ᖏpv੮ ڽ,Q.Lѡj(lS̽5.6xJH%#j&k&IW& {|.=c 'N m/$'!:ˏIRrfMxEAP lPP KH^/Q!:b>y `]L%b'7?(lUu+&!?oܠfc*lnP𥘀> s{VĴE]˾*\6BԵ'HمS$-]=-=X{ )iP[fs}<^7r;f U F}㲛g}gއ~j1 V ǂ]DZ쥬!W{BJ'89BEGuG DWs {Y>L;ߍf8b-s"r3:܏ps%CկDٌw@) ~V:>>+6#˹XE(fԢf(RU-uA sC!PzptHFIw j6 wg׹'jH>B2,w"VwA&¦#/8j_ZҸ򽱇^iIӠmH]v vJy ؕ: qU 6N9XH`z)z}  N]FXh9\Vʜ/94+`}0-Ks u`}Ҵ7TY6;0R)ic"QẰdʕ5fDC|:>w4U+cP 6Uu\/ Qb3? h(@$[W YX]tkkUΔ|B_Y3Mr O]I8o__M8f ꆏ 6Kh2`** $6KP;, $2ZV3CI?bZBut}}e/> P |Z@}VW$*dI*^ebN)yK? 0xLoB J=j&)ٿ*2'O~7OʚyHsI$gm˶M XK~rYb0:JPϊI2#OmdF1 "t] 2Ɯ!F@9 i:w bz؍mUAm!6XiF? q|@/ۣYmp`X o6Y[TaqӪ-N*X_% 5fMߝo_W3܆`I}nAs'W[Api?/5c\Xդ $7jt, Z mt$|]Gyׯ13xahpȥ3$Ty$07viey-(`vg_b]}!5y|:3f g9DKIj&" ~UdWuA_1L8HԦXDMd_nS<+M1ʂ.H=F\g6m3wq~[F2 euMh~Ѽci` ULrguZ]xA/;*2_+IШud\f}) pl zHRG)(v/t3:q@ӫjh|\ŎT C"g&1d`M->>kQ쁉po,X1`aTgAH"j!ʡq2;C~P!M[,v8R )Sſn$FB[mVxJ{E K|Yq9k%).9-%hlh]n1OW9ǶL]I߭R(پ 0:;ȏDbli1ƿKJ %]d;跢{JŽ3fwXSqijyStIZ sLS] w$>7HkE5~w- Ko‘c >m`[$eo;^2+c9q@RAzgh^ ΍ʼnW1&7V, 7O$b6T9ִU1ڕ{ق{20w;"sTMH!</ᇤVJAxiĵxdkNL[bO@wS \tr~n;0O IP_6|ψ[#.O8? RQ^CyDt9Fz8 i=I@P8+w5gHpBޏC}MNE~VAK ?N~qMcOѫ>4Fʗ#5Y3EZrKLͫ|9;![kaXP7v耴`x+ӆ5%O6zpj 5Sog7Hh)荾C#1j +?&8K%Tusy/cQҡ^ǟK?>襷t,OYnl^*pi\&Lͤe9nYx%oxn%,6c5JqC K`G90澨`/F*)7O>5?Dn^H jv+R* l`.*olHYڝǑy-X|/« fƺ-GY( Z$n/9n.q(N4NJ3;TOEjHȸOMpQֈˊD[>*ź_n4o8d*X/.Ŧ~]9{ӥWQ>LjW>I-ZDe53)SHpueq\Bt[@Iz>ň۠=P*X{G:?KSm?WneL+ZtOM[B!]Mܿ2,p4υږ~a!O5*k{듩̈́Kt|M]z}/~{uҥi%RN60(HK"qpar7\ ҕBY)#Ǐd,g]g@-PAR<yusKbfymA@XTpe(noXsNf-VIk988E 3ܳQfZZ 4K2PI{uwQVgHvlKayv.>ŲN_2h2DŽz;$b M!FNҹs- 2gs|bYڮ_ɛ04hkM͊~KfDzfn`?7oߚ!HT .Ű6ͪ%5\}yg :>/~~.D\3 G;& _&VPHQp vcA|I#̓,Yfu#ܐ<+> hwړ{-d([n Mf%`sX(0}`!ߑjOwіϤjPhɆVqY`=df۵_Єx@]G,+ߠ5/9A{z\M4;"R='=ד:dG<00;G~ A K>.ͅ"!۞&'zuM}y8tR\"w&d5ϲT ͏!}q qh׮ND$(N v (}؇5ki@3j[{)_YI^N08oq@V ,ϸI!-`6n==s@una !/c{ !MGp'#{ju>>y N~@tQH0#7۲HL$S,BG 5r+GɳXm}4>kſrr[+4Ar'iXr ʓu,]pO]3mOZW$X-HSe:|,! /YZ1Zib7BxsJ Y;VEgwzZ\"轰YXW:پ,%  W :5J̳q-(jh8_]q7tz |~rVn!˦~V*(W8u/&p/LjP`3''M_nCrlchYBMIm-5o⹱08Y< ?&jH3i(\4UڷF;gF6ĤQ1|Ie&+ߦq+vh|#ZvgK koc5Cx_NêXlWύbDB%⬓`DM#:7{z~S!J?6: 0N-P,%/On~PXAΖG`6ך2O⡒u c@EN֚biO8p^Q>˖|X7hv`ϔnBxWA{ͩm/ۀsW|PUrfx)t2e4óUT#p,c_ b \~lLo7Z@D>9Z>4KTQ ;Jb#pb5#]X,mLvӥҾ7L$"7 ԯL|x 1O쓆OvE2Mr/FJXޞlWRjMd;4I21MOBK[534ͩH*qpD,djxe(lh<Rv$\+Ո3Tg)fY{~>@,z{7ϟK溂$#z 5L 8LF؅aE#%jo4ۭ՝Gf!&%#uPM0Xff*m);Aݣs〘^L|\`2^$.s6d0CYNGT>wE9`\7vdj)RJ `SR{Czӧs#}^}9!Jh+QkPE2;1;,]³__*ay{TIlvv)uI9d~2;Y `~l^y}@$IF~Sԇ ;B[$˫6;K8~)׃M^AH,jZTTX?A`OTZ4FX-ݼGAuY"0XIkH.N>:knXW;# !|T0(\e1}Rh 'ʱp?e-0=G]ڨJێO>{?2ȫ\CbWxDSIZ/ItyxRrD#LbTEGeI6VLi#Sj|r}m+[6%6~猥#GqW?u9^8&D^:RJv5Vc8bv9xxGTU R@ǥP*Ub J!տՠBuKVؗ¸ MT)l< ogӖ /˗sʚ|~=ŝ&z[~UϷz:h9|ZK#U8߃U%ArXy43Ś-q;qȅ#֥oRB8ZA.y|qHRz>x( _Fn?eӶ8dZxGĻ_7{SWAmF~Y]'~\Gh1R2t1  |6JI+976_h&BLb8nH< *Kʩ.Elu|[.u}7o%oF gK%~@rI}>]RLb[?j@cS A@/kǗl%.-M5+_9G 84?G3M"匦 V#>ׂj;EKXbu, 6,eXk-yw$.~&)yPmN ʀ/G}z-uޘ ]@tn3kOi7ʜ _&fbu޵L5P󊽫&b}1pa1҈7iE?{B`H&j$Dž;JzW__0810Y^< Ka&͋oy-Zy~=8PA(t^O5vkaPÏta`W̄[30bw@z' =@Lعgn A~t~HJ8쥙=J'Y8pn })I2JԘ;rEO_0]nX GȚћ78٬Wr<alZ'^6&ƱcCX#'iri?o)KWB8bc"B[pzZqsĕkoLA]L*Y̛$PmWɝ&/LmfeU\9: OÙ$,Hh  Buo]i;DIboiSrsi?.,AĈHgyEu\r~ 1P,P$yFp 7MYj7jvY Xi0eq`/*@>yN|1'.`lqAZ(Iy+_;; 8/~*MGʊz&ģ@\60Ee&7oL|Ռ;B#Fr;N%’b}/#f{Nryr[rx~ Wp|\unA4yׯ:ʬmoKpD1lF}O2̟V[4QgE LBAibh| M8lM'Q/b%d ;Y/9O`D+u^MQGP/}%.5w%t#1G}˔!_GKфU<ȸ*+(=F'QZaF*$q@yU3Q{\/S+nb`0 x}mFclC"@.F*ǖE p vfvsos2!'g ЉV" r6ǃmNNы՗Ϛk:$n)_y^ ?쬎%gMB~5IrᩏPL*Ku?NP"!4=!1HIdookEZ"Ҕ!`v!ȯEYǷ:s~ןfo[1JԎD)1Io7= ERQ[6}Ҽ&阣+oM*ryYgM҅ڳWx#Bt^FGJ1>fσm'c4s %^V'L%+izǤW I#!Rp- ZS7 $5!aZ|գ1]B4<x뜈{{w&Xd|04GSYn1+4nBRw9VH)_55/=d2B)xͫvХVA"C1>>^u8E^,%Ts1XgR [}@])0.obFӭenCQuڬ,086)^ڪ6+9` @nnhna5͜kW_VbW+zKa?&TrW*0yx$8Ku1ɳʽ,%}_PWOAสǡǿ/sR#pޭ wXڟ [)=lbGIxS@yh%Yya|,O#v|c&74^0 hi;*6XXnv$.w&ş\&(!(f)~aMzε_hN(^z/߸ Ɖ1Y| v'v۱}[Sv>݀VDsnk>9$xxY`a[ܾGXBQn #lP3(XhOGxmBz~u+ܵ}?!NLɯ&#?PQ]ǝ5W#ICLN]1SDBJݿۈz>t`>CٛtlG!b`Kn/gJh|| +ETSi)> LyfdT`Dƪ씲,t$Ye9T,rjoȮ`HGg3Ry&0p#πoN><{}Q͜ߔlx>]6Y7P_ $\ՕW7|osp?w-@=qD_;Igoa"x[^HNV=I~,"Hј2O.P,XTZ1Zyƛ <3[%ǁD)~&"Ҳ @,w?}䩿 Rӊ_ gUǏ [E)ܶkdC]*T'W ?ga\k}I`#EzJVǞyD:Ro+c|]"Iv(dU=Sfn"[+l1}:$!73Ab_j<}v>">m{oHR !H=9kkxon}EwDaE/c $TP%h18*wa ľщzղe AidzM"tg _Dfk8*UNpI]8`B60ftq-"C5!#z/}nOʰePw eNup%0EcH}x+h?6[eve_Fc,T@=F.W&jYϨOC=xKF)STJ\Ӟ7[E.DhYu,Bjqs뵃{NʦGhyfUp ] D<6gy+[Pqo^zT:pm,Ne_wBFprtߐ <ҥ4,B*+uˆqf&: Y]UsP]8{2;XANeal'=B'x|} @:Pq^iI-=I: 4Ыձh%:mV@Iq+C^{Oڔvc!Eqan "~(4ϕ8 }^+4s`4%tV{ : 2@׉N: )nK{P`O,%Ȟ+o@!9Dzs"rQevu yf9܍ke[g lw.B2iF$7`&nfQ6BSj2ݝC3NN>MBSj M{@TEPk, jʈe-m*wgvtng=IlIp՛('r]i$64,+Wru_v s].uR OSg 'm )}Dv6 rD6g4n Jf>G Vun#kr(/o.ؾd٤W^+ d ՘ī:Bf|BoBܕuAidoO+lI^.UTuB6ХISppθZӦٱe6HF̗!hU)gs9]ދ}Bz]p<`8br؄f"Jr/j dȒ9w$R&]R9Lr 7# Lo׆,+1Beӌ5y=&rzW$vc/J{6?3)ȦvNpNoMFvQQ b$c⓬SKQHIYh9.`BR&!DyuqT{LX_insQw0JmI#{~BPdA8[|-O޺ &I`sk|, zt?SU}!qܽDw<;0^>t׵H6[ֈi`Cڇٵfvw:<]Wm*j5R %|.gV( t(n»ݜMh,.NX-AX;; aoLq>w{"JV/ȕ:֋t`i3T.G֭L'ʁ*uj&+n*#aAd:mrAx穤ƧL%^Pws+Nۄ,XX/U,^xB<1)EҪzu{vѥ&@;rZu7T@][{Eiy˕{iLޭKv1jx+'W7.lw":S- X`0ܔ-) (U"?L H5[Ďn!d\"QbWVKĠS6Wlw ~*}cl٭x16у{+%eX>߳x*HHXRXQ8$JJj$iX%'[屋TɮzE?,@P scHގ}hx抐IdQma½ꂘ]XVW4YI0ۈ%89N|9e;!4ź76*'S9/*m@Xu~ʍ}>,LljEVw`[hɶGUl.3OC V7%i4<'&2n`tX Dr+y-ٮv4]!le(v'N,-EChoU, DF".Pw/C·G/lM afdna?TS;q=l)*&Mn+>83Ɂ;)CVAD9XY%029R%hr /ԒWj;Uĝ\YA'{Fi2K$ 8: jTDU!)yKQ۫1l"k8f,)ـ!ȶc;=t"Ș)v uȋÛ`E9|wene& 0fÕ&"*-~4qٜ:zя֝us,qF^v :A>FUCX] f)P0l?ab+{%d | BYƜq&^b;sa% ۢEŰuW4|9\xўKWʗҽM[dR)X v-(确 nA^}Yg(L[}_ǀq{L)WxYbfRx;(Cg*΋!wb!Dܘ)@`Xt\)ry;f l 2ޱzPm<)qFawnIX+Gjڎm'/]X7Jk.Rx!{Qb|GVJ-lGz!ö0,X0Fw^ΗzpC_<*J@'և@qx ⇩9԰{G)1ivxyZ0K6l"GQgP/wC5I;6[Cn3獩4z0(燣(vE*oxO/ph=^{4d`1&v}YvRB+^Fޕ~M\B'G1uǸ=Q`Nu;a=reƹS“ioE~a5;uc$m;!d[tƞaO۾l`~ܯ9x܍J(ʩ~E⠈#=kjӬ5aToz`9|&azn W ns6K+J^Y| 8tK7NI)6J',;d2imT(` 2|y=i{.UɠMs\B,?:$ |@lV6Q S N=d7 NKUg='Z8eYR8@={qm/S^xWl{Z,%a5rMe98[= RWU;}^ecܦV^č;v_["'OSnc 2Qs[.O437t4JXԗy]}l+^ugz$cB ?_"]dfu&.eH3'K{d}13XXwǡ .fϵ#dUn0>m$z@o~mҳb{n O\|:l_S a?yhӞާ?DvV |fj7J˜D?4u%pqT"j#'ڧ* jRO%6™olyݱsyHt5:x5a3y{yAyG 6g;OOBFBOq<Jڛ@B\ CUvVx.poϫT'|݀Dl28-/0.MT8\Ckn%6x8>j+OœmL& D~lRx !#,X(~Лc k-)Zxk,&!<_#)5QScXsnf *)PLRl|y i3 FFvi/1 KyyKgᴽq܆2A;ꄡ 0޾AD;^2z*I|cch$Ral4 karSR ꪹ5B,`tFhԣ{n #9.swtolB49Fw[¨!ϟ2)Av]R lѤƥ20CNu0<S炦ԩ 5;*q=}ӬH \€pw-=]od,ɖ-=uj@Ne9nLjLQ$ Zn= ϗ K۝T#;y,;3s #&n Fa">{r&{zekLOaٔBm#_Ug$et;AAs[UԂW Q6p9{lz"AV'e̓LbFܜƆ9{H**^L!  Ʋ4 etc כOu$D{`qMzah kPm-v93v.Ne966L,3Ծ5T -om"k ֳl\wVp"3mG12KQT.nsvf/K\D.|^ I?ˢi Qo-z/q" {bzGf3{{g =3;^(yMpN]iiD+/>7r>(!^"mh7~]>obM9 :~w0XM1\Til:@Pۼ3+Gehbkm1rNl96/ z;@, FV䶻2o∥HHԻSd.*:ɝkDe%!$3ܰE,#l'81.Xy=z1 v+~tW]ΧX zj*xryb ;6tʭ 1quPnݩGҤq8cَMzxބ{l<Ӆ|vYw/ J &m\f5 Y)DhE.C8ӺU_BY'5G [O0Ew+g:s^Y+8ZLp[eϸ˙ktp=Mz1>a-5/QQ{f/ T(UCe@[3S Ǖ">gn"WY@577vN&[`uTf66OtoC~\~R#I~lkzũ4BIEׁ}ls%s=p#3)"S]—Jmzl{NipHZ@q=A0 q rJDb3Pn@QKb;UOEw{S1Ġ7pk`xmi/8m8\8T;|fAA ӡq9&1*?$2wn7evL?ɦS utG^ĵ8:[C}v;+mQy;těk ;mB=/ԴqĊ݄;Hz*.lc~Ѻכ6t,i&M>sn44No<*HOx tݩXˠz|)Ya@D @Sҵ߱ XO1ѨSk|"mv?rrr3L G+< Ai k'OJOfzd''3W,sF LLߛ>wW[H94~W2U^rrK?e%}ZoL7ͭo{8m_WQ|@&*P0Zf$Tt p_v>vd `Ờ0qAn#6~!RhEC4 m+yttDgn{9֫0+=uydR#oί`;rMl96noaiֻef[.1cHQwB>,H'ڏ+`!piwIi9Pfeׇ&^dtPm=X^h1w㳦MJZvd{Zk{|tFg{ӤYDzqs&Cґ}l&DF'ߪziؘ7#󝁻9p8x\ph䊎vT*D} kO&Nms}mHifa".:6;⵬kp:hjW *ޡ!ׅf8k FE!e}$~-FCβ5 q֡|[ŭjmO`t [ J2ͦ3δ,J;lc \{/=qfЛwQTx$`N4] ޼ '/$CpQ#-PuM.WtR٪-kiU4.lxr ܑv]O6956fYGlKt}E mF 1h=Ԙ&xe][t9l8CG? 8MKU$Mw:f?1/lx9&)"nWv+t~;`'3s5kn?]IrD`Ÿ><(P^lE%2 @F 'ȸt3UZj8,+ S:nt{:.M:wS$ed]Eڦ/Ysc!GPE¶ Ti5,٭KjڈV ]Hf**%iUA7WZf .Źv,(IWuYO:Q#CqpuT]{mnX1g7kfz{%P~构V6<7 NVQ>f4@O }&eawv buɷ %?p=ABVͅnuj c[|k_6R*v~s3 R=a~24V|Ma؍9lg;9H/HDxi#9X]/6٬}N2!1pQ$4jqj]/(RRZ;Lۢ,BGZ?ցs= =.o% %˽yxʱcM=)֏tw\/hV{ʎڣ 3={jBFrzE:<^oN 1fFrRm/iH1芆U]+?QRj^. r˛05AF_/ג12iw<f"x.Sasb#MQ~)E]~~BŢ}PbAb0H,-tt٤SwW7s|۱-$&pC律sI+zڙCYpNkHjiۢJǔU~1]!4.f\UTxઽ }'VmLJ.,(w"JWx٠7zq;`EſF. `>Y?s,:\Qi0%sqg ·3eL|2DpK:*RLS+ C8BN-cSSp-0_)jw(깎<>4& ?{tt`dEː[[Nt0z(;cXHl\\9^VC12ihY,8B3bܵx߬1Q'iQ蹫ya+ʀU-aj)WB]nGcL ^E(q˾%6b;eg y+YXF,F~ T:㢚,%?!k)ђeQub;5GykpéUar:X9`G.~VVR*ܪnE%GdAOX>Cp-E9{- bNjd]]$vrRiQ"6Q}F1_{wT.R+z i)~sG4SYͺO>)EX)<1 'RB/cR&ުИkw\$] ^aU'n6lhq*obz?f|)ad~_1ya((J(!/G+@^,,5P ^Gɯ~NJk1%o6^>h F߮%=Ɔ#JcÑ`$%c(3V߲>Nޟ *^h58Xk!~2k~ (™/1 Pc?f7C?~?k!(Wx17G3Z HLj?)q ___1D(_ѿ]iW$I$] $f H>"2|w*@@4Իѓ?zTcO,R p.J!z(Ƒ `Hx$o8Kb8K~+BOc^w' #Lݧq"묖/le_c$G4?\zMćCk SX>{a8 Oo3 QBW{O QLDcd HiKdXY|urՇ3)&`?ahcz_dm$t糁0$W}EiDO2(@+W_idIi/W|A.? C|LHbvgN!Eب~/ c -@AkoڻiH\hWb/_Z?!ɫ]x^v{?⦍"`}[ƿ5mjʣ1 o pOqh:m(.|CtߔPKz8O^ ̢G/W' ؗ};%߇!Kc?(}$ďy^ 00ey˟Ć~ye_$9-<\W'&|퉉'8%B).`GJ@s>GC'QoߗA}jpheܩ/ (m/>1(۟Bqo@ 10_ BEc:!?bxM gR;Aƾ2C`/1.><oξ8!E},+=i5AZPE?W*H|E՟܉JQ3Cx(d<(~(ݒ~|m=(2WX3+7փQ-YWZzp'Zc=WXNC`+փ~nX||2BXC2-YZOn}Pw$ Iߝ6 `Jna;k@5Y5`~fրWg WրY_5@VY Y Wg пUCbC;k@5Yo55P?0k~u[e 0'f 0컳ԏ _5@VY Y Wg U#~b#;k@Io3ȟ3P?.g~mʀ[e 0'f 030_0`V|צ UbQ~Hd0?3W|wqkS+SLLgnq?prϬkR^}?~7^Yl~qdX3A::heh6.7/><짏D#~$  +~8䟂!ȿ^_ H/@їofe? FU_%__rD3Aο~Og9(lOB_‿& K3ty/x9 w<_ؿ~D/baπ 7o3@] /|?Bga80o>O'C|Mg m۟:;87=3@m۟E|MK P?sc_3π wpoZgL8/Dq2lu=x:.`ʛ%~?}oyG~_ \R?~xpm[K x~B4\^V $($^񼺿mV%~.1nʆ?yխ͛?{?ث h5"rg)\.U_8٭-Ibz#e7{[|so}^_{Wf;,.Oje=O˗?UO|؇?('>,uH m|PV7޹w"to퐿)}E1bk#?,AR;Cx)яޖ`t%]l0i!Y;Pw^@(fx\WO;QfoM}<>XfxmuۧΟ_c^U$̊|}9ͷލ\>l*?rqU'VQ=;¼Oy:򿿰0?lc4^b(s-_繄sIa;Ǘ]&{gσ(f b"x< ^x7Py;~S\ޏ`?!| ӥ_#eA`h|C a^4q˝~,?*"P3{!eGoS>?Lz3ޖ?6bB?3?<} 6Qb(C>ї~K1o˼&1~Y8hwƼk$a@}6e7J_czR"䳐~dP C&PWmٯ΂fH{BzOhVϩڋ?&t6B,Pz/+5m `PAzƛZyyQ8^$JO, / ‘+<_?B׏cD%\K?%="XMWׯ7C>!Dp.e5*`-[S|Ty\+Y,pQ@egO#oa/;'G^ẋ#˸(K9(?˞oo­IPįk 9Hiˁɰbz˹Z݂+U[~wlWyx)Mk \tǺ!B.vX[Grŝípls2{Ϝ8N4ú->Ge "lo6Li1m.ds L* ݠ*fX:$EXF$jg4O(+eCŹ͒x9fqq_k)nt{["xٛtOiB"Fݟ'x:<(E1~Ȭ4Y:{rɸd> T,y.夳a3jՓ4Ee?rqKul=4WaBxDwb^xOK_sΜUY_LB^\Ǝb[׫0Jeq'+@\>S M}:gssfHV.v0<8BM*o8~ޏR.Ē( 2e@ApJ2fvU:sp DÍwkݶx@b(4+Qҷz d`} af!h-q7l}a_M Lw:@ _' ~YLQԞZl+=1}`BgIMI>_DW.(x{Ojȏ=Qm\DžCR'nOG̤IĬZVF=4V>1ؠ>|wɑ'Z EdqsK(8f(]dvfr**{t:vQE-NW=ݑ:gcWqJ;?7bunnnZ? ΅:7ȘKػY{Y&U 5^Cv]UZ^y=9 {e`nZ۪(T,AcvgF/>adHrmK?]Pwgk~6SaV[, Ŗ)t;{i 0xS1'@VӐp4NuU&|ngZx,~+bts2b'u%V3!Ee7ίh j.p/;| ?:[E!ȠQ|[qP"wdb \I+NHJҲxф~! cF{Q&%He*Mu8?o`ɨ.pgR"u@v!vzBlUt"H]\yуW 6u>m~<&gg:-gt!fHmސ$땼 }O=@$v!{7PlA0ԫ:3,"tAiHۉnRёRĞ1rgXf|F5ZsFtYZ#I4]>1Y4yMw.xOB)s,1){|~֪W{kP8i (Ձ_7R%EEHvX=.BXȯdҷca n2 e~Ȍ+:#7gإ5D>;_j|65(s=\/7T!4}O`'Zv=ٯ2($\hҖ@w[3i31 )<댟*w""i4nG'㕦saC Ī`+ XԲR'>L9p)rsѝ-~i?_ނ#{WN^YIaw|F]}QNfhkS7j`L@g]D ٲ'YIͨX>CU9'ئ]@ZϷunR.լ z!ɥaN'(F#/]\Wz!6OP.(tIXa)#kQ[S[ ѡy 3uQ\GtAWJsc72RnFʵv˻.HYtG-묑^ ,Wh6ѧyWvoF4uR@Z6PŶ *>wwp)!ƩDݢF3\&HPpN*+vmd$O΀Fo(Lp jbPx^5ۮcv#1߁ _sIJ5?IE>N]Y~lrؙ0*,xpm6֛YKH;Ŀ6á IN^DTӰd;6!޼}"]t"GF'. =KUeBXʠ2?L`Қn)ogk8P\߹A'/$e$Ap~| l*lFFogjƯKk=PDS7JyР%XMm^]Qݐ7uF 6={-2_:KYf _F(uoZ߄M8+l( q,\,@ {^ 5C-Z{Zoikjӓ]9Fn7'?;@'x%m܍ŵ=`# -p *d>GYfQkᰗd"h2gL9~Ee8-瞜;|ˋ$k;u"t8M6~<_!P3" |\ܲV+Ɣ :n͊&8&'yQ:BsA@K헵Y|qZ`znU#QYmEt@i-\Y3AgsgL%ސa!OZeʬP,oX|[fKbZ6jl&2[}7y^̓6pRa0%_J}H!w:LηZlZ#$kSr@!BJu*ifo`˖px j7;rd i*G,ya^H˛=A܌)t i~SJ dl#noJA{o.Žz6U$VO*7_!r[>Ik78_QJYت\e нV\o0@Z`gE䌓b$_}|vXwT]ׇf9TkŕTvp4KQR,qDŽh R`֥4D'v<ۅl&|fieIh7LAe1 Ay`$Ohʷ!s"8%̡23'x_ڒY|U/Zߒ5)9mգ8Amϧεsü5zZڌ CΠ9k.ՂvǼy-cYu24f-}6nsܓ!K9 G!|&sxY2POT#/ z{(FjYاfL,廨I=A$4Ή,?Ak7W>7Wbd!X[C>6f:YurQ.Rp_Ex "|t: P'͹]N32䓙(' EBHGeA)5w)W 5ㆬnFj18U~r!WȝxaQʤl0؅wĺ;3fkuH Ѳs/e*gǖA5ԁ([DK"fB0(k)꜒ݚ"Ht XGNFvƳoчUj3mQJ'{s\e#-e͗Ҁ&앀]@Ex***JưA~Q<3Jd׊jXd;+rRP8iFC6n?wY s޵$* NZڹLCHAwOl(Amvm~y񥭈QBݜ_:߄7ƻv-O[H3El`â*hۊ| HOcG?w3[cP<'Z+ Re$I]P@;9MŘznsOut yӍpt1.ZSJ Xo0G'{& VN'hI-FF ^(9M~)|Wq/9ia\aNz)e6=έA?q RNQ--HWswp"6MD(v1f\g-nK 3N@WxH Q1qtgm5#h'w4[NUvS&!ա0rJ?~ @RUGci׈*_lR=#?0.`̧ObkFs"CMAcd[误zS *,5cI;&;,9e;ù~Izg Ekα V3we.^` rGP/ftK(\7XdQ)߁cw% |]آWJ'sjn9ōB?(dU)[ Jf 8oX2b"%#'qZAw|:aNn\@}0Tp 898,3 BaXVw`(m-NTP_g6#_%/r皧0~@QxM%:C4|b ,ik̘ƽPG;#Ln)#}%P컄GCr?J^;[Hnd^|:ȁpt_^fǪПCV!JQB Ҟ֔vpNiXko/ZPztmYewu-|6~ܒR:s@ar~4ϩnY#MIq94)M ["5rY͌,]Kȶ'O \jbP`}͎kAVRVƗg0;g{/'4B;Tm=IZ֛݈^Fp[+;Xy jHHu1n־ %O)Թv=okHzh"1w@C_f2iB^%-C_oI s`{S!X'jIfP^2r8q:V8N`>OE@#{K Me-};uE:gڿw>3BY_tT֊$;rW27W’H^ƺukd)1d'FYWy-I=~L\ 2nAΏe^j谜O/͏T3Tr>,>k"v׬ LnĿ22Dm45y <ֿ y6ݜe)rK^ܸ'\v֞K++[è-O7 */ؖ4EI߃ȓ2@^*:\f+y{ IQH@~9yZ8*jx!nBÚS!9ag>נ b7n@r/PsOz:"qi oV觵gUµj :1܋_vcD  \xɏˊvo|Fr+ȷv)m2Պu_*;LsGjLr1O .6l]u9kox7iW8,NP4׀@5fFd(R.z3SA%+P/&DiK}hC]99SDHlmֻ.2*J2,fj 7ʡWqu:(> DrOnfl[Aǻ;e"ӢUV.{=W{3z"?;c8d'7t3C^E+[=@+& W WVTQ*J>kz7;56@:_$tJ +Аbϡ"v9kf5|)w,|&S~hFvM`hGk*OR쿿bce.ar'nFgr.jJޙs13ŋ ߜ*mwfoNEvJ9zcy]#A!Ôi0LxuɨvEp/:zn_9{%Rşk[q⳧?8gM}Qө*u;‚%+jͷ739čFŮRtp]ite.jȆF_=)iMof09Gt6+G&3$i|6Pl#W9 HY) Cf74 gQ;,# XX؋?TPr.z -QKzD5),ɾ4"c$&&_ 5Y2y<69 !)eX~e;f^!?"b6rJZ͋@LVz,:s%[ ^CLRA0aA x<~4Uz_''j\14곴5_~:|yhfl7y,IXyљ `.H u?0oo/#TOUY/lT?֨n_9hsK$o@udfGAfqyk~> Cէ>G+ @;LpTԆPR3&J'+A5n({B(DlgWƊbe}üӵ,RF> ?~c_Ij%S؆I>W<5vh!ϿB7k'ht[{RȪM<7Cl0aO7J+'-t?BR+ߛ)RhӞ90D_˛}+L4<*[0NAebo8|5P|"Ept!9.FOQ˗ٯodټVP@ŐS0|WS#|Ѧge 2k8 cK*k]] ݼ0E7Ŭh~=ã ~o-e+>jb=Ih%H-TJWKnAD4o;DѼog0@}QTz59(lCݳeY=|s :vl)V tfz󯲂^(*>1SY@Ԍ'(F 5s+ϣ¿v{4Yif; X.S (>`o躹tDxP O52dm*2B) Ґŏ]" 0ȱD߫?pr*ӎ;䡕PEC|eC!J7K%}q#>Йpp'U`W ˷FlIc{O?k6l-@iZl 0rC'S*-G*Sx%BZ#d 8<Ѥ(7 r iH"a/|w@qߓx;;6 ?vNݢPh0O@&c`Wx[bM%"q DX5kȣc~[ʔ"p|1x.&=z. }1 ^&1XS{'~}x#&?ǣ1KՓb% މUF< vR|欉i/J5t_ܒOeáf@+@~d::_DsF{zU6 (؄ Sd1^\:, Sz2Lx+}z7IQHO0#y\:,k8ۍcF D{qdH23#7r3:P X }X]'Ӆ\^T9jj)տaVGjr | b: Ә0iy0q@.V?u\U dqh8'W@H+pߺ~o@pҷ&<<m3=' >SN-HC|l*͙Qh Eȇ/5gN:wt[q_m+;5IqgSL v:1Gw!3  >D펰K1kdBʮ,r)4͓gB^egH s~QxTMSzQEpidA/'&1Cr SO r2f$U}OzVrpϭ\ CkAARmf$Q4{}1RG$U _XL]!McZo^AOs 1B;M6%4HއN)4cՈ xɿxypW ={Wl ujGrl*m7wP֏ߚzW,Dahp-=lD:xR7mA}U.g4=^F,| sJc{p~. H@}:$ò7=c߷Z[R>CIOg}w? 4[]6s}3fޠfik +aGȀTM'NĵƵ TF2%Fo[ txjn@`_}0`$iK+v1$MuiV"޳EbX𿺅j2=߯w_jC_5蜂"k*rsGB|T:S&*JrR[I;w)֌_ݝnHԧb2Xb*xKqŗtVQߖ{1n(٬֝_vߏmva;YeJvn~fCcy7+sowUqӥzD͑dֆ;ѻ&u A)FocLAf!9LVhBSG`+˗漈XKrE%5zusW'½s6Cy!NÉ?˙g./+ʶDpoROޣ4<[M{{S#md߅GNkMݒz6́:B6Kl(GnZ~R@> J(qx>kqW`)ƷDp Ƃ¡x Eۙj?L6Eޫtk3pz*ԖnhhS`ج!%Bo~ Z$Oy:He]Z PI߲5=_*롶0W%r ήzƿYx]{ WqP<g;?nQxyw)? IYU:}x#G>}TdY|+ռBٙy7Vqvڟ)VK44 ?./&&zW7TV՚o3HtW q਌;i["[mmdblMn8i<_g8h͘W4LZbt0Dǯme7pTCA8ioq?+L ]4gzFxCl0g,?_:m_K;/&jE8IA83鄇IԬT߃:X_yvqV)c=o=YF@}sZeZ:-QE8үC@xZ/B|駐NoTG "0ɚz11'W/'Za`c7k(;"yq*]uxY'o _Nth%_>,0/{T ѓN>H#ǓVx1 bJWRP>;;'UcGZ8k EIhe%pg>x/"Z%冕x SgF=roW˘ПѲW.^k ' ͌GEK1qN4㉻ykQ8BwkOd|dZhэ·gy=3N3^}-gd[#5sSNly3T[N(OڤyeS t6 p].77X;t~WYqmeXQSK 4 p}k˼#EI.1-CߦlVlt/H'eZ algO{7@}Df<؝Ew<,5JEߩE5P67S*%GGm$#v=DVнoZV,҇az-R( ^v t^gx?t13nƏrz(N@Gէ(fǮaԆN*WU}*..F'Pduz-g\k.`^2Px~2k02B͍3Q,Qf,F)l3C#;1NirJv';7 c3Df_UrV.7޷6: @Bf:5j8ş͂AcL1Xub-d3ͤW8tl} ՗5w"~aG.?=̤6Z5S ]Z96A))K #8p-G!S:N~'fD-wps .Դ8$i˰% kVtWB[〼.4,-BKlVL%髒m[oYDt 97|XݦqZVy}"-؆^ePᰁsaJ,pQBry};ZMPr}цBS* n4[[wqo7D1d&6M *D/n0v:b9^Ŭc3}'|Ix먏 $-,7F X&Xc57=,VazجfԢH-!r;hch yC|J <ܫa>8Bo]N7A`0V5se jމZ+ܖFʫI( KosD4Cd2zJYaH S. |NJRܕ0*EExa]xRHznJÜB2]  b{,_CjZ't<yp Gϕjػ"6'D=FㄾT@ܞc]Z Pf`qq.$Xq֪8Ղ夓w u3N$8p aLDYgQeU^rD<ŮW4=J)Arx/'G9%2fҴOm zvOnLj˗+4-jaDŽt+nK)/nܦ1Oe8(U%<.u^:+7m*RUaPE1WK>x9 cJ>ӝ Ti ڧ(ġfKW%kR[F}CY=š.,Lay=C.Rt6P30cn%~Qy  ؈W_`Mu617Ȁq-.BZ1j&f+ {-wnK z^]9V8ft`vl:)!Կ"˱,CL&\,Hn3y0yλ :JC̙1'ܢ_-)R ztOzY)ѫ\A/r@c\58K؜MvA$Zh12-3 ݜnMT~ǗjqQ0:%Sr@ ^v(N*á[@|G^۔| ;~6ע˾Yv"<j6O x\5VDŽcI)-nvFvPa {:)H{򯕛`bl@ '(E}/r]z?xuy2uYgeMGTH`|Υ P37,MM!an#w7Y%n/^ bKtA \gz(=̀ ᱻ.idil􉚧B XMsQ(ډ1JD\}K/'g ^OϧH<=/XZ3]vɑoƔTI͛k>2:QJmzPyc.kRMA tz%CfZQ1?f,D!Zf~^A47V/z-[mZ )*.&tKEIi6pmQdB V^mdz!<+:Ôz @<-RīnB+cfX<5 dS!KW׽.')D|Gg`AnkX<5k)aL/ghe6z UAX>Gd*Aiaz Êcb<~q}lvzݵyca9a߮0|3)fB]g4璯90DX2Fۉ-XjqMrFbD+5[jo)+E>"wI2gj]!I?b6J{z=A խSZdV8/%4ST!Nbo͂89Q2m90/btH#4*-faD!Ε̉JP f!уY cHc91y"S*Wl*/k>8RPpcZlЬ{O8At8eҧ!U臷 :aw۪pSHAw$<@;yoso(uH{^]aA$1) n  V)\q<;] w oG 3ludC|Dm7}ZK׮&5uir ƁJ;{1d4J00l]`ȝ)J.al  {{{]a&!ҚU+ +fL^:oP'3*G.0|%^ՈbUҕՐs.S%I?2T6cKUbkv#}{h<ˈ_Vs>px.4ஏMW+aУl<x J*Pjխ R{9Lw*4A!k4&jF,|z3ʬW%#`L3v"u=wHVSXkq8nmHk%=9;Ty#kF،znd*e۬#M ><Qv/72^\lxXy.Ac {?U09Hu^8!XvOa~LP<אLVvXE\ZA8.a<1C܁6Բ ƥKϐs ^;-ԋDXƥ6/EP iN-4'ǟ@xd;3usD{B* cWp%Ȑ셟-. rIr4RE y?ne̓Y=2kNԎ!CzBҽJ&Ҍu} 4K U:2*iӔʯڎZ48^rj㻦RYhÝgD4ȯU)e\a}5pѽkY"|k*anaŚ\lvrDeKHQuQ†/3Afu x(a얋|]{t@F`J%Kc[j 閺"'\._؉L]χF 4M۾qNлaZ(ke֑v,%T<ÞMGvp澦:ό(8O`fgX ƚ{mcM # [/1ғ)}BN Q,6UWW .L "yvC)yj3F{nq_W_ $'sDͣM@[kN^P )#qKRfeV}-C{bpG M.t3?s+ XYBiUV< f(\J}ᙲO&p]u>C孠@Ռ.!5cl\QBAC_\`:HM^/!whPP[qKP${X,z Q8&njlaKdeu_`_N@&/\wH^ut).S3M9XazIiq;+zYk(0:u)J6ds(:̰- `޷}뜲ۯEߝ)zVtXl-Ŗ4 au c_z4.vz)9''quOJLa!kKؠtXp)G2RZУ*ݝu :QrA? Liy( U&vFj[wHTWXIH@DB8'!1y`裱6rYB6  _} BuEv:<'#/%K^346cMv\k<%6jP3:W屲i/mg^ gT ~Hqzd(WS[@K#+xt8(0B/X h}2He(4S=96iЮA`@r 8-֝soJwwtnZi%gZs8ڌG@x& }lLRedpeIB;lX^h8\4]Nr[{E&/*.;lGt=eb+t# $ae\=tA9[_5&5(n3U <.C$ ̞YLsŪêvޚm6$[1 S)4 q}-^]0U;f zvzfhe2s=JiYu?=Lo'zO˱`G'—0U߮ăqܑ]Cs.QX= uVñS*߲|Z_:4@s.By&Z]Kc%^ngv7;j$jO~al^ m P2+7wO*қGJX ?W7!#) {E.ǻv^N)AIͮKPp;]C)vv\%V&FmA%fv Spn߬uQP]wz+i@ ƥe/X9K(l aMATÅ񯝨cGb&}횔e]Hnf`k]ңjz>Ű0(a6UXPs@ǴLt- p qq[վKe/l#2`+L҃@ߪmMTў޵2lkP~vpM- jKŠvjh]jl%잦|i*Fނ[+gnAݮ캄~H-?Y}R:veEX^7[:~@;=l691 dƒ)1(V\4" %:a_OratLFCSo&řL;$mȅqAFo[ՙyX.lB=P0=c:;_ܗn 1ǎ։rMH1X;%7&Fە?ZL,IqwQ Sa!:Um TRFΠUǀOf~ES1>Ni{M?Ҩq{Lu(LHu@;ݗZVTrNY(A]Dn[jԈ𽛊鞴(?p_Obӝx ]rdjW2]ea@FW;"܈e߭mlaH~HMFHטfFcT`BY#jE1,53lWm-A +% YmZ⫊Yv;+\[U3 \nCV[Cg {G1yk`rRZd'ęDunt6?>JzؾX<[PsZ&ϟwOVV*/}ՀiwzPo_ۥq^ pFg;}s7*ֵi,O ZE=8b,FÉ@6h݇F>|*ciRU]?|VPݧ?؝Ơ/4^Q~1sAΟN?ʳW'oJv A WOz^~툯5E_zGv?-*8WET'9M>As;t{&8rC'h] OaS [lqRhN|oMk ð4rxdj`cPH?ȩ-?a?)l~\ӊ LLg°,(C8EA;Xaq_,0= 2_*hw@4Dӟ?ŶT6ix"mӌx i3Ms?U14C ?vҨ|?vd ʒ6&9zdj'KwMQ7\˟#)۳i1d`|sNs" qq@8w,3}w {1P>mc^Oل@8x:RD3$ 8ggBbM ޽G=8C8 &͐ C2br xGZ =F<( 1'}v zOOy= 2Uư>7pMǃ #q1wB)i:'@(@_컩8)zvĽ$x#8`1Gݹb4r$ɂ2`%)x(A INE;D@ ch`?f.xĀahP &C3E~iEC4f{'I4 ? $:{ 8 @s$P`€b(Py Hw|[*,PC2 xaԻ'?R F̀yxG]`#}Lӊ?Ǚaw$ 0}G`Y/t ?N;, UY`!3A`p`T`W=)cp`(IO˸`D@}`2&7y-z28T,(ʀ3| >I!> 4%Á-`$qg,ri1!?(Gݷ0w:DRtT>F{о >_f p{@0(2nvfoP0ctBO|ΥoT?yԀ8A1 ܨgLOJ}?9%IBN5h9|z:xFў{Hk}ӵie>TVZY T!' Qxԋ#L($ӯ-4Gݥỏ;?w(p ƏNJ'\UMXۮK(ݟ綪91O{ F?zxJ+?_3r\Ʀ_kyW¦x;M<0ɝhJo'oq/@||N!Ý޷=C=mw5uC}rE@_sƞXY⧽OTw#MRo,K~yӏ;&c>ka$ } @_M 9?q?@b)@r( ){ Ay_  >^#9u\x>k?W8 $p!9-$tC}ĩGHk *9 j#~" e$>WB$H]!{ a!Y"/{YS_HY_[DR؏@$p""C%!;7 ^'/HU$I|7D+Do"_R  :L^5uџHU$pHwHMT$*C%!x !~L|EI|wfp䛨HT$@+% /W@$:*\w7Q/H Ck9w<>wo@$:$p+HgBkGID?Bү%]K~6Y_[D?:&"eI]|5G| ^ѷW:̛hH4$CR2u+YG:Y}m P&o!_֐_8Y;^N7Ja_QC>w $po!_Ґ@J)ԕ\\5$C:oý~YC\Wsėow|@H\x\E_QC"oCO__Ґ@JԕTT^[C?:``@CV~YCTrD;7|9U'$UiHC?{83ug/']0 Z%I"L^ROLo?{]Su suHNDI t$hu$y5W| _7֡Qt$|/Jě(I◔$R2ſ+_g~2_FWV,C(ɒ/Jo%_֒_8c\7PM2v}dEI}Qz-IZrvIx9?f$J2ԛhIy5W| s/#uz?qelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/0000755000175000017500000000000011347002071025160 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/22x22/0000755000175000017500000000000011347002070025736 5ustar laurentlaurent././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/22x22/application-x-qet-element.svgzqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/22x22/application-x-qet-element.s0000644000175000017500000105251011200647463033125 0ustar laurentlaurentԼWȚ.|?f+gB Ȁf +0 Uʬʪ,̑VwPok'"ߩ,{v .U/z_޽Vmq>*B Aq|ynSлw{oU/'?)Kueqz C'QD!qW}`Oc{ wVݿ?kF߭0Gph񮛫ޟ޽L[qE݇_귩`\:^.MW$ G=.7x/:1񛦸unzwwRL=w I}O/fwm.ґ.cT@ m ;4]‡G ?(bq?7@qSʛ@8^m1Ң 0tM_꿢8M0;ʭ]hA韟_u)L> >}xGO J1;bPWw3~(F0_5!(pq~CX?4^iOե7tq{x8QV Sퟮ 67º1j Ͽa:I88R/H"# D\[yRO#/Y=:~7wJ$,q%}F"B^ֿ:8&L#XXE@43z?N%_pn BGNܿ 7 Xf%r< ;x#dşOD# Pg'__!|@y7JikҰץB5NS#kߘT8"\'FO`?N_4F0@}+QE>kL9N5I[*I~/3$($qطH|CP?=ϊa-+a_H`P@O<;ٟoKƀNu?Waװ+O1xgb& ƼT?AׯB_#W4*!!|՚ҫOR7לyϛM?=~>YyugHҫ T??O2~?G+ۘmd޿ |,>277ԛoGw} eh{eysZp3'+F7eʟmh$F /I_Ji~įZĭ}+g ^P$|!5fI XXK䷬R8M_%o[Ye0&a+ig%%mz)C+|'{b&S}"W0׊ϟg%["!⟵b'X"73:MvM>G߇jS~eS"q''7&W[?mdžϟCxWRv$@mgcuQf?^K>DߛnIþ(4pL@Ǐ`ߴDZboR,C|$P?-(v8I[lʍ8٥Ww! 4fJV9e/W?ⷘ'N:BA8l7FWn˿@؛/>>3&?=QK}0ʗ~L_xRJPX^K1=6b!P XyKkU#E" oB-/W5ׯF2,^ПWK's'x@lؽG_纟x7^\'7qܟ;XA߲6N~_ _rc(ĘJ<1\ ĞPH!@Q82chw#8v1??!'airb{yg{ QHz4>ʾ1Hw|?D~9yFxv (-=(>'mr$@/XS/ >ۆ~a 3N`X c^4Xf|zVOL]O0c?5>=XU)3J1o}F&?@?CuUsNC3Go}]g̖~cߚ\壝pg=8X{N1'zr/i1\/͛x J1A_*ou[gW{XMPB?$p~h%~}@8r?QZo&}J(oԜG>g׾ı/A=G:eP[Iس: BY\x' tqp{ğw_ZqX~<% @/C'D$8/A=- `/W <_?ܝoeewl9|c):d|gϮ|ؼ}$7_A~[ [7O_C~[7_E~[ >"woe7?I~[M>~-鿺%M'p}ҋ3/tG&>sbMݼ?P;~qW"qPަD#c(D/dDJП khNGG˺XB8H1B4xn!(W-H '@}p @|FLQʁh|m2(DqEO3 3@E_Da@_/6q #>>?ơ?qMSįx *(A48kʡlg{YӧgUNqFZ"iýg0䯟dX8}mO>·U@hĭaW//[4$s?o}=~QewS?1Դ̐_ |=~,>DqſA+oB`K]=RiAσ1{#&N3&E+BuȽ>RyuϏ`jm{^dWt6&hx5hnV3b km렻@ b5:9c>+pmSVGrh+?0G]Q?t+?d q}c}bޭ׫MtB\'hKJJ#Sc'jD~Kȣì\;0B" ÊC'a{Qa \^UWybV6l~C1v᢯]juʲȤUw`C+7Zcٻ-1k1"T~vxx.j'aj_@tȆIdf4re8$H8풪6$^|,1M\A'8ܱ\R cT7VزAXyYj_+r ތy^~av:Pvk(&ж3 ƻ ?eEEIZ UֺaHZvTۆّ7&%VHj.+bKS⦼C\1,tjdstD Yiʸ!KѽrmKBHty7ig >TC)aX*\j\n08"!8qL?{udm TWT{r3Q5>܍,[ɱR[wjMCJ۽bHq1ꃭN4ohz㒅RdV8ow3H4[𺞺j'jn-#00d:(eVHn±bw}[W<;eH.Ѕ.!՛z1{ꔉ 1\HU48WScq vع5;!Jo1eZ%m}qsF")\4NJm&ED\[xcarki<_wVŌɥ|Yˬfm%Kl#W;=tvgM5{pp2š4;@mJWx97yxoo<\PGFU0UDe9!E-cFc<o4jrYM9=h.^6)u@H_3١8QVzFmw aEVe&3װ k>碰kAiH9GC I`R*ԕ &7jY\aF[sbkc]:Jn.|(}:Rƪj,?JGq:u|Y|m#3E0X垺*=tEF>iilK`;ζΦQ@Ԭ6[jaHKD ,0]jb$uRns9Z_;s-5QzzYMb ސذNA{,xK5}8y-Y5 ո4N*sZ*Bp16ɿI3K1+k EGr:GYF%3C*uw1| &󋓛f6趹Vk2 nHJH_wZqb(Cw8 eu+Q4gri8RsǍF>+敜T;CTKS]kH&7ج4s\ʆ7%ğ'573)nigO's D%P &137O.JwwKu&B8iFt]EFaǮ+ƒ.for^ie5ԭlVAd_nST好 *Bm2y ^DwpJ iD([%R{~:WU]Ux9 \mNڑsryXnB:;Xʵq[u5[ yH˙~H&?!<>^I(j/[ Fx^#XAc[PI9N5.cBn4Qܻ8u}.=h!'q@GbfVsfBkqoy 0h.Q}̆*i=W8Q}TNK?rEvU]@8)p9H`^EO?iGVS~ul[렡Ѻ^.~iV H#/{-%\N7fh,}B:^r;,(9l>P"m8"6T*7Nu_|  V+{~4'pMEzwt|#x-%n@gy͵"W*8J !h4y;w;t~mev4նj]LDÚ"&1CZؑҏ{MouslWj|_#%\Q*z,/(LEm$ܘ)9]Ш4ܩU $4U΍w%X)_k@ Xɡ/1 Z>`+$^X(R )FX%ڂkYyv-qDNm A0?aD]lP։ -wdΏ!r t\y`ۉ"[XOƥ 6I^n8Gľ x0v!$=5Ѧ1:Sf[,ݤ;uǎJ ":ݱl-3 I3q{IFҦ^,wNnK5!*wxv$Rq_G3JQݺ7ԾwϊD ?]]3@E[:(c^7bu-'SĽC2MG_o沍8(?MֽBG@>\H=}\j &Vb ̳b+Hv: p\}zefQ.KZx2hgKQhFXaۮhJOVGzu䦡VDh4tOޅ85EvH@(R2Zn`S0]-Vf,EmG]db!5tzNK%yyȉҳ$fn}owRNn#1FOHVwZ1#\'Uz_mq15v+R ŔCuF 'VƔ Ma 5sS$R`E=ዎs!V+ n̝?ur͐4u,x]N8 e̽8#jNt5%}wLL&2+sSSV)RV9Kbi8wC!3gʈgiW*Eq*`&UW0abiG.tDrg ([!$Ejپz#MBF E G$spQxG1_3ekwU1uiёM%6fUy\B4kc|65tSA%:ݸo9@oƗqg*Ȗ<[I[b9žwTnVjf4C&lsԼg!}/J~}Lovu Mƻ(%MV Uw ЏFXp=@gj7.^!n`ݲv7E@] M]dF2 *3T0cz2'ʞqex# UlFcwٱ\M/1)U)z[ʪ ֞}="Lm%oձ)BJb?{O7^3lex=^&("]y61 8X5f@iB-p;&5\u3_ Q7{\%\eW7%ꜭK3 DƝ"N0|zIѩn=ldJ̣wgsI)ZZm%- v@ghc1)o0SuVq{ˮY-n5VZx]2h-CN9s"47c͓ *-1MK{KKͳ0Eym3-{v rceKåZ Pti;S~bG1M1!!C%KUsȽɑ/D˗4Zs! UEq-;zh9PXEۗB<5u#]%鬎]sHށ##{o_q<@1l0JX7U eS,jUҵ?mn̑س ^+%GmE[67#߭-ЕㆢRuIԃ6D; v@|8CAV\Z$,_:pBwwcVv]eƹ]|἗5O=~v܇co~a {w=rQ•0t4n >0 qKʤ6!,JeA:{]gvc%X-KGA,izZ]D1E\,j% 5I8"of@Y\qt2O,B |9N{`f lK]ag;<xFL.d]v 46] \e*Nk7/33N=֥Nr6Yu w<+0))~ʭ${sn2 zlRh]OaN9Jڼc j;{ھ=ִ2G#OV,+PWVSױbܛ (fxzZvpκB.c&S!V]ESNRE/0C ̨A6vԨ?{x3; v+x>0#VFl lV( h?;uv/t6뱝O\IKI0p'ٱZɣMD(ϛ ؑVBy'("t=|?h\51'aTӹ[8f⍐yG*oSTZw~ZkAy^*pkC1_db;'a"!JČnUMILIpOy۪|zJ uAjw*1;ŦKWSR%դv73#܍%$ +#W p۵czux ]^sh#eQ#Ib] Ѯ}nj3`td.Yn OI^69b6r?evt^s8'=R|< N4'$<+;a:0l\4kbkKvo)XQ {}Gt\=|ΓeMXP[*ω4',W@LrߤzG3ޞ&'tE#|'ajZ0i˚08:{8z :KLt|5ȧ;Qϱkl3 vK2 ""pӨ`1N 3(r{KHqq*jEsY/x91sՅ=q];@zw EWMyHWMDW*ar/u|r= McvA쮻톢.PTH+tj;!9|6##,$dr|ᎹtXe :ToV42yܧ+R]T0bK2Ƹ'U'VD.v)=>47g%0u^ܜ-qB,EJ_< rx޽!o3}ƒɬl+ n&j׌xMu-fHUJgБ_T#!m0my|rO.ZB/z3 jVu Թ!+i;f t*:)<#z*5^"yCĚt,H;*ɂk 5\,V3v6y'6[k\ *܃&qQ9Xz>[fY  Z^+}tY,7 <+uuJDNIwGGSy5m-zx!pL*@)L<ꤺc((]Uh ݯm֜+s}8en ǥ=uf5X$@,%uA4-5̍5c;mQVoEPDOλ#~t~2^W|I:U"LH!C*FZD/#J9{~!Bxlب ѮgܦP&atE~GWԶlG f bHkNMÕ\Ge[S+eG4sT:ܩ͕N \0ϘۑXe`#RT7Fˊ7Q1'N\ku.9$;h8HpDs,Iv CN*DmQ=\r8bUep9lD^Arskt,Ol737tUq4X@mi7-1;cvpC- .ߘ#&RWj*be*5%zaQxrO tqρAw=y{A pv0 I]!MK ;u7r{$uUA{8*H,CEFMX4qE+GbJjh$Z_sutjB\<.{J6I11/NvC$,X0VL"W>&=QAUOl߽Ŋ#5HO  Gٵ*^)iQ;S)qC5:gc_ [f;/[ʥc>61bG 2]GyFQr WŁݗm".O(JɴY]f.ŝ7]^ ~f[v2PE{V7șة)wDLh=$GxsaBcًص78̩}Me@0q3 A$zk #.#mӊD&d!봅jgtI_6\4{ܴ+kP!͸>fy=ܫVOyッo-BRudR V {B*bԉpw 5ivF}4aY^֫ͩ)Y"!m"`NNalo.jk!+OL<UUj FH䨝yIm,e(Ȏ[f|'&o:?$E33"gLy˯xx#.vU H ̷gHUb8F=+2GeRn .&IF*Z_i~>tx)aeO <&L+%.r ^x^_~챹޵+]DLJӭYQink'fRj鸣!6`@3tݳd!ͫ.JL].=ؒJU#K!b<x&LkBn~esb\ΑCmկ8Lw|.9|p{ 搒091T$'97XMs#BN*&$k|FZK$o=%.db2ZQNmRD8t׎۩yvC?rmX+e;JbOg>nN9\ћRuA:O- 9f#]n #aAE9]quI*"]r1 mbM(m .q] <]r!m$.V*ή2G.*b+ފ:qO;GN#Y(xkE0(x۔gK 7Zp9䛅Q#8Ò".5- fM>FZ<@@ȱY`ggCˁ:%[.G& /.7iiCESiM&M2dx>ޑ)0n*RR*Tܐln˧; a3 *4gjcfYKɛ{-q)S;]dO%ei5TT sfs495l;QMxb՜ҍ{S` ܱ M>aW F5oS>j,[@9*dn;+3:cNNo!^NB}aU[t1|a[Q$ BNpBVx2 /o6`{NrUl~˾()_R-jlmR*Thsúˏ+D,a5143bvfF2/4ȇAcȲ5 MG^eJBp{- O*?T))=7$="Ft^%8<8hZɭo&-R $,KgpH"vwW@OMEzWN$}^L0e2c2)$#-hZQ'a'=am>u^5]inƥ-\\RClo<$RKEG̻TLVmzƗ 2#Y7Mudߐ5hSQ nbj6 2EƔRe2|-?_bwM?qH*pj3ץ' .e漿a0ck 8p%szq-ǔP/O;ԋтyzJb.?d?0'`x2_1 "^"uK "w Y*}ibCj$fJoՂ{Kh~WƠЪi.``KI bH$JCyx]O x5k=?7_!4tF3KOye'qp==$܂9z80"<1;JؠpR "_iyqk|NDzp{r֡]VLOx]78E} 5Z%6ˇiq{7eWſSUru:F|'Cɢ_r +ӄ($!cE֟I>g0קsfl>HXRLz',|مdkF٬M?mci~-wKrT,^wx*] Kb3Nئ*ley$:[ڝ * ]Yڜ4KJ8M'$[捵g/'S7-I]MSR44rV`3,U1сF3ߖi(7N:-a`//-}̑<⾁fiu 邖nh9x 4^'F.v&kF݄i;u`+YxnF_q\/L+pTHI_?%\ǺZ[on ;0Y@4 9xq9ߦZFG]PL7!̻SwXAqȶ9Һ_61I?UvR<=vc*5MLUK'9B@ k- 0='@\꧜_J^|Z(ls NWj_ r 6S \2Jsmr]~$ukڇeri<7m4̥@bvOR.cDn[Fm)nsP{%PmJNzڛj_v sN=&- vUm\d*P*"Xp@|\'-v3&t{5aˋBȵ3+  $;Ѱj#>c$ʾ2)ؾEQJfjݣ#@9/9Ww| a1G}c>ʴ4CS0=&4rC21$zTtd<ǪJQP?TVT:%H@=h흂s) ^3>Jۻ  J<.=Hg [} zwFP=L2pq;\RZ wv$!rpy mOyCϗ+L6z򧷍E5@PdZzO1j@C"rʀU2Y[R 9+A<^`@9㤯7 [dqEt{q{L9.CML]0;G4Ilh4I D.T=*Rqe[H^b 1ڟZhmS4 ɦA(whp^/e=h: ӄe{斅oty'QprJhÊ~tӂfħ`K+Bˣ0p#jzF,?lK pr cvf˻0Zm?Rdtp|91#?ۄ?LnBCW},S[`uD7j!zA5Z5a4̿6I"")pU }LO{|U>:uQk?v"`w 㶇ڞ8cRo' ~..B[8?%wFGxcj[Q{*8RzxvTUss HIEQO]bϖ.x;w%?dy!/ߙK<(n{so9^ʘCP<7(cǛ7}3#Z i\lɶsG hڬ$vO^W|s^c{ʛ KݓGX w@_3=KvfїսkG|$Ӈ?k|&/Hf6z\ZhKq;{n :?^+>UjsD`_Up(1#r~(B.R-=ۖVJ8fϔ-C(EUQ{%ΩWm%ug(E 0>Rj^opEL{8R!l<٭Ε ÛɃtd` v.i< yܵǧ8bIic=Dݪ zHz Hi:[*WCe\KodƈU1h&9BSxp522ʘ`{5ӟpV m4G5 fVPڠC״5m K.ߣ&Raׇ R},'NgҶVK .bǯD?!gB'Ƹ=bOӮ=J'\m(/V$ÎF/oL}.;ԯ)1]4h~CD.M󥆅^!]렴I1%1   GGn)8 IzQ|[gmJ xpw<4VRS̯:|:ڿ:E}G,Qw:/RM#Ax}eX'at.NO_˔ 5]=ȕ&G5i^DCGu-inaf_ѧLLη jk8DifwYىnPQkJ,!VT?N|ʣ !՛qV5%.'f(} 2bv@,ڪ&`A޹@SB̲q<,!kƖY-M.뗾zё2LxqMqE.}= u+n` TaƔ?dp2.ތ@[U&tjuc3gpYרypS)>]*?v!dا=(k{GKܯ+qNH@Y#1Iz[۵{"Vi.7̠ sկ)MͻpM~'ך?ܐ o,ۢ;dןa7)iQ6_ ]A WObu6[xtƀb_'4< gC3R6YrFc>2^ @̢A\:ǍF=p`?^pcR$<+QW^4#8arR+˜v{Kvĥ"H89/=R~%hpM7NQٌ[T޵r1FIc~)ǟ@[^Yδ4GӟƁ{WǮAoZ2y8z;V%m>QzBwY\:G@?+ 2/e<p_> ,ѹw\1P\,9E˿5EؼsFdUJ*}<ڧCn)=]V# tm C08T@t"j\㷾/F/Α ~w+>1. <S8q"))^ҨXsh"0H@bV"+.2{\Ran;d\NKY@1 w6Q'AJw2d&n~=. :RIJڢ%ثU>gj [!8D]g0匃$ʵC31paK37Zfi>. Pir+>#<ѯ0DRvq 2܆C2GӧO r&2$zZU+O!"QiE柃|s*YۂBǀ :g52Ql4C{cf+%}J|DhݰӠY0S9Ds)x׍/k6}n zoq#Y?3ӃuNR+,nΙhV&p*S$ټO=2S3JI-! Pp;e 0zQHBB7U䅞qQ +׳4K#Byfʑsx$G -j]ԥدEٖ L?c6:9lpѱv'4 S+#I~lfc2" TC$}~_Ur82E zP\s<-!Oɏ! pNl J0CL)O|@4,i@W#afj"6 0 z#-YF$POo^3^.GTc t+:!ih䡲x]$?/f޷cӘ!<+Qk:&k1n 6mgOU v+~&v;'ᇊFP0e9둩he0Wr-hl9axeU}BǯLNdTI{:­: ̑O6]])wЙbhA}fDk5;tOz8kUzx5b9k&~VQf@Jʈ~D_hqo4uo#j>BؤضSUNv$ɀ- Uv},(2 p[-W$#QBEK#$ᄓqdf!9HxՐ7^D*oʒ܃>]|#zGU(߯&x-K|-C>8/|vW1⤽d|*ZM[>3 \YcHQs}NDldR0NCflA% 0;U+fqߺzI'`Q< D$%l|#a0a9ğZrǛ2+Y]_ܤXb;nZ7w%E3kKa#/ba!*oki}OZ\v\ iF_!-%T4=I՘b`,Y oBfJD9󂠹N7(N:{}ܬ<č?sPhi*ݓhr&ϰª^O4pmn0*ezq^mIќ|'M%Ү酏(lU^zAxk x O??=`Lv^iH:8 Gj=4ssc_J?!b`iMIlS7驻'~\A'QaK:бDAi;#1q!xZ' !ta>-4G2.%;m[KVZNXr"f5 >·mFbA^˹OvMխWkq3́HSplmt)ǠRK{E2fyON$L)w7Hf 8'KL66qgO`6 p&pf=tӱ1U+ivKԾWiXP_.I[^=&V_91=0R7Ʊn[© #YVYD%YaSَvz. ^ x4iF1ã?R!lE(}YlƝ{(55d1^Z=rL}3_OAM="}{dppYùL$4!WBvMc0)s[[E\t(%BM͔?9w#R(Fe䖀c>kݸ^{l 0lH'%အfji' ǹ3OkK"PKo& 2.hE~WQ>"H88}_.aEsxIE_r7hk>X ~wZxG'abh64q8lc"$Lç64))})N,HPO7zF~惯͵ͿR%/{DxAxjXr,Kl>?uWf.Pd.jZմfC3jJpG 1!XʄF/r&p\H8x^|"|ʲ5I ֔'jD3Z\CY1nY<ǯ".x_+o?,yhn[eHy<=Xã8W[cG_6I\5Xtp׉5{o/[Β9a nO'|꾰OHSY5έ6R$aIMS= :MGOJݑZ/YGaM=Sf1E!UB'm!4Z$F n/Uc6QCc \hkBs߮URdL3-##؄XA p&<#BQd"tǙm׽؞r|21HuS aޙ}GH8jb'fEOdME2wF"Y>f_`bv͒_v`(* 9W~IUꒄR\uÀh1Ik !ہpDl*Sk I -kc9\(\g|4pL5J\zwmI >ԋ[pqij/l|Ұb!DiFtOdb5Q1`Dz2GR}PbVtZTc߈97pD|uPH:$Xm\*l[=Ϟ;U%"~>ޔ,1r|KnO|,5 G![dzF: EJjsU@AԖjrf|W7K :C@(VoU/Q]#QD?ۭ bU &Ŝ+'5~pGgvQ]%`A&[TP'}Sfq>$N`gO 3^ߍYs`)!6aFA՘M_=C\ƖF r([(1I@yѝ*jk2Z[:ZU ̤͢h $tJHzcbYyT{]R;8\*]rnζso͠TS;H(Z/2a'`kR6 $EbP"Xzy& [c^W>~He#Dk5j6W$M]t0[AI$ĐJ ' .5F3{1?}/r;Fvʓa%~4r,_}z9!S#lt `H'LBRg?&/≠55W"-lCX4ͧ4weAN6b "r"sGTj(+3;E]͒\/ZVIm@ =$kF,4u`t#mdP'WCgzix0)."|l{չOT7VX ܉Ts'9*PK!Ȟm+;U͈D '(ܺ8M-Z>DZ&yy@PpCtBgs)WmpȢ[q#hG'm߼}54zfÄھej,(IgBGLPrR%uK '//n*RjE ML -Pb~* =F`6{iIs2Mto;)ҵ½G!aG2υ#;|03c҂7`op*'߱U\`7f ? lTM({ZzӘ l;Ϲ(SoDVRa)Ӯ!7[ y~˰Sļi5J1*jRڈ VASi|k&p;`3jO뒒sc_n ,S\)3;n' $. "1|F*z0nfYh.&rWv֦P0vZK M[.2|1$/A(~8깟-*R_T*b-way]](/2uOC"JBMs*f8nH$BB~t=y*Cz\>o݉t&8I~ٛcceGB0aZQ;\_Mhxr p"s&aGyl;CAW3 L&3#'_I\,jcH 6(ec>?`#e !apִU8H]iu++qGEY27m ɺ5"ljz?fl*ɏlBT6QjQ&] ST4+ސ Pݥfe#UD \VT3˺Ɠ|3c9,Ο?=)(kmz;+!**#B>XP-173%ߞ/V4Y' I޵63u|_pB,'-2n[EZ8X\yڋB$h@}UJl#2QiPat<6kvWzFYC~~J6[Tyɼ7Ð_4$ &4[oJ,?prt&11'ֽW  ҷaLGo)ML>.t'aU12-;ycF!aU[@[# tz n֎e 1h\R,o?"B<7[}=@fV4uXa2^M͠IOx+\7I*{?Mb8&CPL /=!~8Pw1ތA]0(ra(>PeJR* ֔SBZ]ӈZ0Gq)J1_@<~ll.ؼG·fEI'ϯFOXPG[C_mZE, _o3ɽ699Kt-Q;9r%e|TZJF }"oj+bcHW 8/G6cx{+k=0@cdD ArA( *_LSEQ!/8-iu!r̘Wרmr3OI+;ʳ5u>8鉖u"/h ӫ 0~cp#}S9N^!QdK|_VUuϖs^DwlbiUώ;dorײ)b;IO2ɫAu3^͟GT}QH_M`)z"c;vo >>O>Zkf5 A$b7ItzbWQo(S󵋤f )S0}~v̐r{eqzcOWxA:3+|}w 7)cMVXͣ<-KG2 kG~:j%8D}\}ڼJ%Vdo0:lvĒo˙ֳ_=]vt ll6 ;toaWGR6V^b*E3oTV<h<bXTE[ΜKe 5HCQI@-Qص_4qޫ/?fLt!pI0ݣݘJj_@V1E,ՁK7bgږ?*b^Cq_6_ )kYYm\~h`UR*z)3$p;\%U} uOFe,+3YE%{SoqE7eř AW a\bXĽ+*~cSЍ^\OqlO;iJcH\hZH+#L\(b5@&=3eN,ߏh)S?UdK~gY:HIV`yV%]I;vXy7[t)h; Cmj,0g_Z0NMҊo GBD +Ut8bbE}5!e37c֏#ӫf\f r#AFT̿9e6zWv[ xaeOAKY۬;o<~/%H&QScdߒugxO;V0%'ۓ뺻:H nIPMɼؒǍ^[MCd&c@D}92[ d?aNA 1%"1"SKKRqaA[bٖ0'l3 D=I~9<(33z,Y(Gȡߗ0:P&ķ#x[cXJ޽+\ +,DX{o裘hu:^C~AU:_G~ /闞`ObP fAkt17DYϒ() _K`*sޡHN!"+TՔڇGgk"@K\SKrP5# @N"ۄoݷG]WׂXc-7WMuuHRr%tQ\!k\juV;%o*}&h3eΘ3`R@,C G?eKǀ2[w&ecN8F'U]%A0ԈT(b? wV$Dq.zslmND^ɶw@Jb򕏜hU7g kc; yajR{67o|r[|e9,;;͞" qHŬl믭.wg$WJa8K:*1XԯBKlX'R\oz͋ LDӧh57S<;4^polmF d_/#~W =xi $d!=~=]f 역S~8niR(xn,s HϤ/@YGrUqOe4Pm˴C?<B~>IhEFX&/ ė? kūY @goAyZv.9%򉀩yt =Ⳕv0\C- 7-^2qBH!Z&NJOz4K==7#>/jQP))~{ޝR1SD"_u -|0ߠ"bQ^MhJKQx(* xʦ,>S2A)A=zf։gf6t(`}+YE!Pw;F*[b97)<8֧ OA@o[6M:iK" NXh7`ƨR+;N%"/8~+2%!/j\jra.cTvԷ.Gum%*,Jk@rL$Jh뽎%F_ G>Cפ'Y ¿>|bj~-&tX!+ _Lcb3&?\4__m5yr %p( qs[7{W~+y&-&ʼGZ~FG6:dwߊEnK;kA^Vx@8~0jIs2{)Qn,}eAw陼 ) X_ǝdlf@V~HG#FW@o}4sE`W5·:ذtrYuaQd8U8yẊ d(bXkC *|tw*+Vy<%DZ[qAiesFLr2( ΄7mg:#Ipb7߉@X֖>D]_EXfGF呰C-1 sij;; r'kDsu<4<AcFUh>Jys_c9B\bsi(;L^ᆏ?gn[{1(I#氊#ݡg4ᘮW74t5!m${wiR= Iͻ.'$:Iy#Hz' [f'`}UTIc$rKL$9^b~i2<迗dq n^5U1+!!_XRz O@E(#d"&4n@2 :^N(&Z'֖)/u/]i?Mls*U]@uNPWtHiaS/=.pd# :.P1ѿ6/Q{˓*nn>樎J;+imY̗")䥟8Wr_&3;9عܧ^S]0:]JA6PΩDz|R˂0X )a\x ]ڵ({fKʎ"` T᢬add{%7-ڤ`c$<;F"g'ttn|>P.|_RHp%moN mB;+./ l^ad\miD4_56pκQbt^QZW3gK53pkNIk[XK?e/ Z琳}#1[ e63$ڤ&)N#lx_n U4:P(4¶ꟻ~3Ը)*&O~|_(1jO&{ 0慯.vW~B4w*ſ#"SRuXy>s Hv(y\$̒K/meb2ESsIo>~`Vth πh)Gu//93a{fMCLHa1MO\/4P6[&e>adȠD>WSV/AnzAO2$][וAjjODx$r>Yz!uT7'4rզ̫j= Fxde:C|Ӭza)|Db`mk؎0nh e77uQmrAh]%?d,/E2VD1Mocp.acky&ڂ֜ԣQHSfOyK;vhʜ[-c|HIHFXY÷Sʼn"cDM/4HQ&W }h?G`G/1[dhTND;2)@TgSo}+S)0m 4ENKot7Hc)%ʀAa[x ZeIr}bF[Ǻx]$>36y6m Ɍ6|@l$''EG!+oΓdQ }VXvDư/%m1eK`V/'Uz/5eT, >YT pIVs*bHK.ݧoQ2ڼA=ZaCQXMZ׹]{~Z|z˿bq(ykDl/\@.Όg*oJ^[L@ o)3a]ygQ\4U zːMO(0RF<~oR> ڿ34~^K,դDN*_H:gC)*(715XܒYb{2s>\CHGm kj%//uQ_Cl`Y@x̘8 '[wu'Z:1fGwr|6AZ8`Ș/iϘ,{ԥa'_[cWtz͘l+m򤄑ٻA BɀR ZoJ]\yŜ, ,n哒J@#4A؂؇%lҭ\Eۙ`"03ijfd(S%Y #[+}iXmP/'ΧJZ_(MZ1,LW;EՂ{DJ*Z30n_3o3#&X%f琹9i_DdGhDê|o~f& ̞h2RQ&?Jz%GC@r{*]I̿ǧyĊ`{~uSu]cH EwDnaCj|M"gϩzT986*}T0/>B5d 5Fi9}4sv;`vD;m_1UWڠkè\W˜gp+*k Yϑźu6>๣V_/+x3:2;SWz8Gmo$)|l ~4,2K$!MI;M ~}3M'v*@e~䆫/1>x0l֓%|'鼓{W0v܀3|amd;wODu"cS\Ggz>&"?9Ӡ~ɫo\BcdX4DY,֒dyW)wϿS6_}ˬ|kiL[_B /x+YI{>[$H,RJ툒~u0r!pnKl:HK2áG"Bj2'ey} %og_N,n 4OZ$џuE?M|iI@1p9__cjay`,Ŋzk] 1C`/8^0“Gl^gd~R9Q5m霈2veg&99=ҡ]I)yTL rAqlzE8$\hBŠFIuG `/ 9ڶ&1L4X' IRFwqˉ7aEl?9޲!kw$@2qj91qg?MOGnOoK:8"/ԥ5?? '^$5|تR-HY\|[R@?M8R ( Frbӛ""A|Ʌo\b_b+.jSR=߁r), ţg 9A Yu}.]~4:a%-vE!R^}߶Gffc6k ( /F9I1Mc #^ }W~\%Mv c ?$M, ,΂7JM߶~\W>_q#4xfŖ0LZG!RI,"= bjxKʑ'UJ2%'6a;wsƚ;뒏qȦ%8.(*;1hl[9^IIKӡ0esmֺ_52 *;.<7ǩF}mYw(`XJxm O1Em.B[U=2Z=H~-95X}e{#}K>&P ~COv.򇳇T_Jz8}eGD'D*u⎦ $Q<̈/BIS|1A $:"R{Am#ߌ ~˴O/]]~ MC5,Uo1##(T/ sΊ:Cug12[ ]ݚ*Mz;1ʀ<~g-9x<3MO,B$J%S̠RPx_EH3ڸc:Kҧ ir]*!TN6['(-`VYOy!aMZn]Й| t9>qتw! j_N._tuFckxĆf65!!8dKzdiډ m0:;xH[s&rwa/8D^zC1)Y1&k;~X*ȚKΧ<)b`7[zY6vfboCksbU27)7/ԱRy?x9|K[xX+擙h砫&IrB.k#F;q'RTOb`‚0X Bln^Vy= l > )# Lox̲GNEB .e_O˵ V=R'e'Rp|eYb;F`GFUr`kHJ,3TQmReWvD:YXUU-Rt]xO̕d9Ӷ6NJr:³qXŒ!E-P>ߚU3Heɬנp7E=qviu4RM=<$7#/X r<4WTOz߫]d8(`p\{\gbs\:hЭP7f,KV3ű뇼 \+H`qvn82~. lⰩ= ]y!gEЬ$cWt}2kC {l:X`t҆  ˕llfHu}*=))j )uB &YE~3<uCDTA`{9[y*!?f)ML r5Jq{"^TPL&9ƭRcq ǜHY)3{TXVIX3xF@ܫ񟙛[ϼ ]T~ׂ ԝV`!oeRi]y'~r15,\l#k%Z|tGm]|Dj![SfelP`E8.VI>]=5 L?S@z8!(/Yݏ7r8ؽ~ߒgpf!Mݔ !^ܠOX=Dmr kzz.u(:w >9H#@4$)Q\25^WtV3MwFw>4ẚTP{E6PTZ7Zܥ[r"t H ,[lKˤ@VVlsq9_Cx>B2h}L9=>i e=4HN:p*Y=s6n~,ߏi==RC%߮ƄK`L65^`*:]B*Gzde*UDۭ; *?#Q Waa7ƒp;< N?Db"ZMAV~w~1q# !m#^ʟꤱimduea:Ow{1O#}_[Y!DڧSt5֐|/??Htq.: eA3.3rL 'Rߑ1!a=W`L%{ =-Q6 >|-v>@[;9] )( .P憕vf t!^/dGjnwuԼVy_g^[UT dtA~$$iSRŕVxK1?0W ѻqt"╼lzޗQwW_u |L{=V_߁3ʹqM_gK* ,[$<0ƼիcYqE0?#q !C(hP_gf_y9 k/jTݒHФk3TW' sI~::X:LVW(ϺQ7+f[ D{~2"-WLK~hI\ 9FL~GU4H@ 97 -[} {p'|.vKFΐxuG v0J܂|m$nP[k ?n9` ONDTpbͅ$/l9>o/D8)1wC % 4[7k;%DB.g@y>HetƯNꌄ#L`d%PhmC;0p[)Y"Mk&#k "(!?d 4թ`G[ /1r/ ?I$`CшwLnrjԝXD2 Lםn6;ĵ$_큃}d;H:%8O]BǝV3VyzNti$EAl5'5ǀ N{M4ҽWu~.-,-sULAɇ3 y4!, uׇ82&QstDaT^㡗kf6'RV٧L/^FFoN3vַD1DLƘ%hl dyHF/bH# 2B;rZK+;*r,Af_F# PUW-&5XI#:[TKkڕ'0+%u G}-Fż}EֆܔLA3& aE kc^W{Vg쉛_L8(V}^N6Ga «b)%Lt?hΩa;*bxIL1"c.*5'fܷygc\sZi'$`c bZE){#|ұ$F,1^3qXoJaZSKhrM,јI7^ͿO1~Ż }y+b?G2G^R30J!e.5+M·2p~B6y5yzV@^K\p1~ FLne^5G:ɾb#ă^Uœ4">_|n!?3D+!dcf7TNGng?:LTK7Pw۠BV]ÕYFrʧЪ(dqS7/#?у"Z;a>o]'ox86Ku@K9pM_ UcZV)~H/&o6*~=?L_c*-P] ^Iͨz(3~_9rAo%ut'iIUqG2x\+.] jUֆ`H{,^F}qSVq&22W1Jb=Zfh1I1ǙY5T?k^&,a_CB񄐃Q`f?ە^Ϳh;~pTdR|b8Nt)OJS$ f[5\m i"A \l7y8۴㈣fQޏwގw"mu-=i,fMSDPo=(1z Wo0I^JZSWCZ WCnԨjeR~EWbww"+q"8T - pa43CTxXVߺvGx9NϕM}!q3S1@Pz)<`|wNȁ+fu +QO,EdBI\W;3|%A$&O:]ΡO21(MO;F7\80*r QhEJ*[ DOg \z$#{'jo+Q0rL>ru{k9]uӄ.;5R k~2) R\My%KReEc_Ɋ>uO8V .oߤ4/ȏk785B,Pj+r| 23~9w(eW|X=?c6ͥ*ff!BxG±\2LO#7t0DDR[ VUXV$}p@2zhd`< >k^VD4D SlfIwn8l5FrdGVeCLǙUlm ڄQN]ƻ&{$:p#_OJבys$x3ڌLXyr2 hlTYUސ;aۼ$fD֮8Ӓ7º{UL!00P5S{PG&IUj|\Qc[ߛ |Hm>_ge;Qbg  {؊9οYdhDŽ9Q|_tijŵzΛ GeiDRIs ;,Qm*i) _N⧄ǣ72X^Ɖ׫-\p׳ _# 'xW Z9]/oͺc=L~tH}G}xb4n* LG+۟0`]6D_;x0 W؟] ;_Alf9t!FLdRٜo﯀31r1Qc`G!xIG}?zѲ虜õJcr-x hQĮz3|L]<"_$i_t_ g4^u3Xneoh dA])xI:A*)/D1J7Gy5i-~/@F0j2yKw YUU#c+&GFU*W >`03uu~b7Qk%92oh׍}A& K^*E{E|B`?^|B3QVL Q#zL>E[tW=D"|qO|5TFyB >6$T̸:cM!FI~ Ky쇎VVBPAtoWNX$vŋb!Aԃ>W t Y9!.ٯԩŬp3(|XFXulH!BE<<Wac~_RfEߍEFe /CN}/P`vȗ]49>/XәiN`HYHI-[S񯟘1D#;~wTxբ(" }PgJYu2%Ģ2?v%yLǠw'lCGU-.~@z|=C- ߲*)!0 yCeIz_:ԥO0[PH/[q93{?7U~\"6 HAO͉UG2JGY}='7^ ~CcA­v*Jle*uII# IcC<#8SO@: ?NSP( ௩fd]x~=sz5wl)^7S ]"vebea3$8|V*"@g߽S{UkEտ#7yee$睌y \Y ԱӕBm*. ˲'Y&=Ow:BemUsb-U[|7ƞrKDacM[$ڄ\jκ57tM(8xMQb1l!? clg$JW?3p8k_]ϴ@zK@UwWM%>r-$PWeD>G-|$[ ^&F[7~V"x*䚠>;}5ݚzUPQ _D|]N8zF$+-SQvO_+mҠ_68j_Mo)cί;'v]bB}O򊠤*KxȾtYk3Z7(7q^,>|%A Ȏ:fO7-*7{e44*5[_4xdc.-a)}?1!;,38[6ދa[9p}ȯK~=U3rH=o"Аz8^E2nE'ސt}y,4EX"Mӊ;4>ofrE*wΚyD4gjz_?@B!7[[H1:'!3HyYHVڣY X~~e){q&QMXǛ1T"覂5礒Jmꐑ9>Bk1brd!vO]WSi=2Ne+$^cfkYѫwZxҥhFX4_w@r4b.5)\ Kuע7> WX01|`HJpPt/ßJwJ cf2C0]̌Tļػ>m*wiٲ%b2CIHEFEAp)!S'k>0OYm_ CwHDKQ_OtLJ[8hml9FB6|.2Tz& Uhb7! ,=gt'׍__TpݮAm@`,Okxc[w=$ 4| ? t|*zMJ3xoB<_ľ Jb6r3MU!oCs2`=b l̰t֔ȰE ?pGsqfL,~.xNALPTW>  Uq9V涎c3AQ+߮T]iEr+:1Dh`J(x?P˒ / A(з`B 詖-Wl+s+^/f5O ӧ{NTV貛? \AZ#ePAϵӭTP2^{Z=/z֠F>_A:$nKgt0,90&e F@mzT>8{nnJm}}~MאY#7~`bPVAq~7ոDžr=lMtʍg ^'+Ҙֆeܜ$yl$yoE[[o'p/` $e> qMh?k7ĄEf7&>vihKMezB* /2$~(?UP$7N)c8o5 PUƐV! ^JFCo{c4xq2щ^= ]4Pt_<[K>chH~⑟╛^zh׍n0}v/U.,ѫJufS`}Cxai)RdEKaGl5{͝B{T=z4wz JsݢƳkXo9c51dKf,7AcIe}{ުH]bC 'JVVC.1RmPY#-Yp2HwЖ;,%ƄpAQ\7ЅECVg.K!WsHmȋzbIB7yYƫ5:PwGUU&4q ˷vg{; ~:e nVcgtfUڅ9/!v?Q&?$2F%R&lu`SeS,Q7BI7"23_U.3Ė%a8Y"%}Q׆UOtXy<{AK}vJto70<F#<YR@99d=30u6zs?㉩/hO7e+#v^! _sKBC$Ɂg\v⼚D /hɈ=e97t 󸒓-6V)>Ҽ.3k 7/%ENDח'7D!W`hӷ#RgHgk K/`DP-xy?I7:XSqoCƂ C\s"F5PPz1uYo֌mb83nj}dKe:o-܅vR<=Cbz\s߉=d[,?mAk.\UFwg=ҿt puȋMxn_lD4y-q7f~]l rqT~A)c k?Xx.ٿ{-6_y;n[ mI1 e[atjlu .c"vq`V.{0;DʗϬHMrNbHDP"/,ˢ|Ǵf__{ uo㢀rcW?`A O5~k!* fG!Y]EeP }SاGU`tتaP@7dp<`EC}"xZ^N1_|}LEl]u65b*$LwGd@xrgUɻ|HKbm_Lf=_wbysyJSANőb 1B8n^*NI~,sbyy0z Vu@W`§bAbR1%2wCDvɋⷞiH7*S'@8h_o.DMB5"^}se6xKXy›Tvo3Z3mZLXR6n+ FSu__i"'"b_bLCVq@zǖ#xZ\V|R=@:HPʔvҋq&w6\ʑn7Y25c} ĹJDhFk]4bjz]jFv}W\T{=[t.HرU`0!Gp5`2u'rSeK'%uξ|BO)yt @Q{ #hT.)$RϮp(Z<2A=P0⫂q yI0'~oh>s `OxXE$T-rsA>[aNƓH{oe/j044XSgɷ7!׹gKg&"?1b \a-tH:qf,Ζ3E!i DN=YǝXZ3`*ԝVcJ VÂ*̶(~Q)i K;6(, S 5-12~{` dY,ԕpkVv91".`΋|x*V#O{&C@2 _г*N Y %а+\B^W Kj0Mc6≾,@VU`-Cq>uY:&ZAGyvdYo>&r/YiSo}B>ؖ'6}b|iý.&uqtL͎ں%Yf z3b EZE:Fte͚u,Wou_xw%V+ 74:ߵ1>,%-xzͿ/UfntWDk}$[@Dl~lG:__׏.S0Y~a*zp-Kb7Vg[_` `%ûC̓{^uPa.`K/Qxѿ&0fTߋP׎il02BDc1-iwpɽ4mNjfș&?QJK>շLZ9F>0nۭ`g%`a冴.M0B1PSkvx;HgY mL Qɵ+lԜ8MRmYm{끟+wd Gٴ%'}]D Kэ4Yb~>]AuDQ[x 'fS?ЦoN{jGx$:0(#hҞb JrwqV_3kׂ3ӰEwm,iq$1gW/Hc,P_wR̿A L1LvqAfHO;?ȫӭc>D2s>r >A+kj*N3Yn{VY}|N"*J i&v$mz"JPYA.5*zO,:hUxqé$gyk>u2[=a;޹b%_[vx`AH#q*ݣS)= p.U/Z Vө/r(2]8ד|NS4lDЋxATb8=[0FdL T۽K<-pUTP YSk&.kOℍ <Qg:=1ce5əf\:޵3-tu>UX`gNZ ?*6~%N9OƤVϯLӿ{̕U=fʔȢ ]ԝ (Sd~|h"4XPEWHVx7RWt"3(,qYW ~iDyi.E/@K$|_Gz FA1uXu ȯkFvqV5%O {}9~%R=]c =nhCehsQIL.n_*+H&|PT1N7ש.I,H3 ( z@yX,Z޺tr,'v#hi@}Z$Waݪ [nG#E\d/~+ĊBCex"AB-/-!]%txOnߊq>DޟPg_m/+iq˧K[0d8"}o#޿ F?g:qA#Zʊa-zgjg%-c%6 m :#5[´"kE q-!(KM|Lvu1bm$;-bJ˔7U% .a@}#7SM-IQ<_CG籥*_aς,$ّ$ _s8BWս]e2[>J cς~Af-9tOÖ*/ݿM5h6~IE} # fXuoe|sݶg?u.n..9:J:'H +Īb$ҠxEeuW!H(t*LaF>e)k'ok[X b%;UcFlůg=vֿRúK7&t<;? _3 J;Ѿ!c(e􌘓+wY(20Uş C.Ҭg V${5 \-W8\6~4 br42[VAֈ]CƯut+:1jҹmqےf(L(x3GI> '{F%\F+Ҩ_G5шu9Az$OLFwtQA#dǂM[XTjz͔Z&<&žWXƣV2L]܃6%Xzb$_)aQ}B uH5"[͠MH"{KOK̾{h4K~`HG)Ǡk[e=ڧ=Y0&Y.@m|=EX(SI3X4'Qt#T>@FJn/M†(rq+2 h^Q< |V2У%vi_T+=.:ӧ;FΰR-te*ƒHQ˃ ~]S}X$B?$G|? [ v6ʜ3B(IG ,z>&Ӹ\XB($>Њ)Xq ]T|M.I8k1pkQu4tGv|(/0v8)u@`R rF^Ci`[:FtjjadkyR(`O><ޖm[dscmHn |&MANQdp1oN0>?Q&мy%[e 6~E^^i=<~#i>reG8Ԫyx/ǜ ~Qxj4L10ށ\3MO=mǣ?eP{\|RL1.#L%QѻBu8b}pP )Oh%RP0|6T-8wqS@"chlf`p~n>Bo@[U}Xܯk~nH˟,7%jg`4҃UUxW= &ȩgQ7 iga[{i/1W)?sa׿-wl8SFPq=Z2( E˹qM)l=3_nV 6{JˇikIut`4,|YʹԘ"ք5_$Grsjw媂Ŋ×򌿞ٌ"PY,'l#>;;oQiI"d &G!X:Yw4I {VX\7ƥ-E<Ԙ|8kۮj+Oٜ_fZR~@6Y%?өTK17>T΋c|[On?M}bn_4Є+ ܩvgܲz <57onW*GdIő&ި/E7C*\MDCQDuCGɟXNѩXk=1{>!!=us @mC~ >QRJPO; ]kMsh2L&üsYPܦٕU oOڍeͣ*ͥ:b.Znl2"!-*(ZJ5Lz:m\'@0=u4}<_UԈҲ!JKiljZ m= ƫ*{C0jF*A*e0[[4>xƱ0y @Sx~g-PfhbxF;S_AԬZ= ]W< d]i36"/]\:%۵w"E+6˒G\h_y8؋m^lj'׊2bb ?ɪO?7fDd/޻_@Y;]Y ӂ>aXo^t$gCs^DME&<fo•ؔ!i1YDxujCsIPPLSWV#jl.b|& $t?8G Ȧ?z`=*F|RvlƸae'ڍxYsƤgdؙ )][@w˯6{ı2TPNzfCbkfXZONd|GxYH sP +%ſaj̔#FY;}5kz<*y6 )D]|_BZ@ Oƕ9$^ b;xzs~$|Oe?"/:LEW.̶ ׆ք/ QOR>; lCqUxa56f}ĸ_b/Kpw4ξ}$ԓ&/qb|HD*jأ[{k9_k{kU~8(Cnl t=7S!̪x7 ԍYZ?~]$++AB.]jmT6C:Fq@_E9,>B)>XSr&񱟜 uPϘŎɚ6a]kU/?Շ(O8:/LZўYZDxv"֌m;3lY%6Ծۅ@N Ha-CW賤ӟZfzfgy,bBPi1~T.ofy5K%hqh凤)~M1$}:2sT|#ƬI|:Pò;a7O2gm%s˪&T8C]=\3&sach4& 8V"$ՆGaM+))oh `gxHDtM`诏t\=Az)\>-_3R]8”El o,u]P9fy.CfV(dZ](K<^A0#( ,Q#3?npAFx2zvMhZ[HC[&zfO 2lG$3B"f,@=D E"W[5Cy (!GφDm9LGQ&zfB` 0LΣ9}W?'*(|ᔎ}(=z<(P.XUӪ`9e"]I/okcsBnSy{]`:M{#rn`+o`hf=Y/ >F~]Vƃ]DVol]=fCXbX~jGW" JRn4^cV~K ͫW~V?NBMɦgƈ#hKܛj= ޑd.u~; ˲V“jvoϊ4({+H; ;›Òʴ~|BBsqarY2NParո#yLF[߽@¬܅F.7@nޤ?gU5 E :K:,/FN8&v.'W& G coOٷɬKC+t :kuL2dKA$3Mw >DÜ{\ro 3Ө;}0?T]b]34.V kkjԯ*B2N(Y%l;T#P6XuN2/rFjA#Tu }}G<8wn. B$~7}TN.iȍ;ND=wXL~J߃&II75'o}ϿYt4"֞/"6?h)UF/tٶdEq5;̲ u˿ayS"W g36NqqP~>^݁n_|rP?]v;Uo=MOO{a|mKnRkwS'=i naȩ1)Ci?|))YySl0o]k4PDFDP)u̼[TrWzHSo-ӄ `nRmyL] avg(]񉦮DjSk9l_z'"R T2| *h?$`޷ɩf vš' O(7kO)<=Xʢ-oUqnAaTtCz,(u6wv+~ pDO^l3`.5?hy}ޘͻ,$CGB)hzGTY\ڈe%}k|jt_ӞW_ma߹[4ǯPu%pA r~='Urk.G`=D7krSI )8g.GLd;=aDR#Rw59 oֹW˜+bR-I=A"O?RL }atZYs s`xdTm{E}@pQGS)3OYx%/ՋY.}șˏQ=\>1aydK'>GϋH;Ty2TRpHQVgk-KrĄfEЎu9ߢ ŧn Aը8w8cJQt;45R2o>DK=]Ěs9HaNx4Й6 (—Gg:Q-tLY%8M~Q^yp p?90-ToIܶ2a( qž?F`M`;(0y|D@\[5.y3z]C^,~ΕeP ?)]G&AoQ3Y3TI= ],cǞ%85<T6 "_^&mH=PN*(og@6ɶ+OtyWBan*U߳5"Gg'\ZtDʀݮox Q?*rceI5~uҩH)WCZ!pj{%?Jm6 խ`lK|5˛xŹO)MxھοoߤvVMs%,sS{5kЀ[Nfoɭ(\|.:_pc6[p-Sygk=}k˿-PB޺mLe(_Էc?z#^p#^gw<7$>.ai+Z<[3)pZNF:OxBbB,`6BĴE]þj\6"ԵgH*ؕ]3᎒-]=}@R!usz{n::|--C'5UQ =nsPB,X7f|~kfF&_bf +khupQ_]T0 3`a֗)y.~lqo4ohO流/{|~`}72T+y4kwhy<ڌp/`yhӈk~$6k]w J\uqO=pUliڵfH;A*;:P}&6'Teedqq6BzCbX_^xoC?:{*fmZ'CW1gM2˫XsrL˳m05\Y6J,g۝~d|)8gh[ s[3t1u_z*ĕ1(yĦV]~f TrX+Ìmu? h)@$[W Z_[]lkuT|BRY3MrKwJ2%~L[;~&#e{O&@ԍ wyKi2C`jk %6OP{ r\oZN3B/DrbVB}%ts}/> PJ|kY@V~?HTL==#YAɈń՝S,acùaB =!)}T dN잴g˘/H00m-A?}Ipm0+&ʂ>>Z2L# !| #~ ᜅ,;1p'jƒ `Զΐ}I;ݴz#-odqr@7ŋ,W`p`(-n#*z60T8ˌi5'KIlZof}jÔQ1~v)=Ltq+#RD`wf1efKl%7d>b00nVN+8GH}‹ōrŏҭWT߾W'z06 ht8a? _,QfKG9X{s(̒ ܧ$[k8Hlm،mI)>S1.N"Ǥc#w ;?;w`ah mU+qo-6aEk/ik 2 uE1 Ðsl~+͇k,_gn. LddOI~iZ۸^<(mrA?!4|Ȯꖳ"1 JT%0 qaݪE?CGN\OQ̐r "rd68it5s g=6A Nf>)#B\:{XbftAVf9FTPt4n榲z|S׷1Qۤɸ0sE)>,[9ŃHR * Ot0:q@ƳW",`oqR4(wta;]Q-5W̆d oGu&. sc\1RD2,i?*ŽvjYţ_@%CUJ9 g*\lQ/Z |bXA}f7~]<:AUǒ. }èr3r{òw?+T( Cd  CND[Eho !/X>dGqOp<Rğu 9v )9)sVu ״oe &R/#X׌b:VIao_7居lw&c#Z68HF;p&(^lٯp9ru_myu Gx%݆tN6t+W*/ zkt$ҜS$b>S1)[z)ll_krM8^TTI-ԾȌ[Zv2څ EX2dWZTb(Qٵ}NQ7 `_)FoGPG2Q|\fI5! x/6JAxiµx֒ħŁؑ//Upų*FXߡ̧av#Pb`oTMrLh'7.hb#z̅I^8M.rV(A3qB~OgK&YC*n3_rD62<)cOu񐶭KɅ_'ClWa@K~dSZrk;h{d{f4 @~zgR ɴ Ozq/bFCׄ9wqT C}2 rxXR%'ڦ1]oPޯÈjD2F5U > ~NusWo!`~!8(5_?鐴`'&Wf-([^H$ ScSxPyd^VVAd$:!FwQ^B 43Y }Q:=1}o^z LEtkWH5㹚!u4 i]E̴7+1S6>#XQ=V7|3t@ţgrXxBm 3)xxUv2,@6لgXHʝ|ĝ15#ڧA绿($.W;Kt,Hg4Zw$ NҤ{3P=LU5Vܪ-q%D~*\}Yl 1ƬkpIIR@-K`'j8>8hF*~Q@a'boyƆ*v/^_G=vkR:m`)koolX]y\y,f ֺܭG]hxmumFC7ev~KwN8e,W9`ꧢC^[ol\gJOrokk閏z..m KyU \K@lOv.Ķy],ӥ7Q>Gē+rd);E/dy 3+SHpueu\Bu[ρ,9TobqӋ7Q;uRu~׶{KVt2ӎ ѳJ-m7PHWo )>+ !_XbSL%A.'nbp_!| 9Ye3'E9L5_/Cln A?t.}!븀>>Cam)ڕ0⭵=A̅iфL5>u>^o~nO ?9 ;tԙ= |GՐR kӬ]Rk.5ݗ"ShڝH-p7i5obS1t%n?ě5Rdz#0mc)ǸjFAO$VH/>DŽlJlo1''oSh lYU60{/NfL~[ wn 2T m/Cy?\,XϚA vW4c!0PvcuCC qStT8&|s;CxF(C$jh7RWHqg3{{`jۜ?<T%{gr@R|-!}IIdOX8/.ػ10a֢e!l&Kl |4zF%}9bgYc0 >[+d%Ee`z}Νչ!sD:s.=]jm5 fj#hr>.ls'"jf[6SI*%SeW hw!oAvbDE裲ϼxeoe떒o& ?_&'4|lf9%I{WdV};S̰F;W$XW-N>HSe>|ˇ<2t5[ʠOǜ2e#֨Κ'6Eg7X~]b(XlfY+T3KŶ| g#gahɲFJj}jMDRyv&zvPM_yPMs'yy3kJ QxhI ~;{fzoC۫vOHQ8(Ѳno}ꛆYZj^S⹱|16%qxA8b{~ɋMfOQLI4UڷF;gN6ĤQ1|Ie&+S¸;4rO-ߺ%5pwAMWӰ*j*sy"܊⬓`DM#:w{zNHOSE;My %>RR "HZ˽[IFC>idim^$Ӵ!b* 6J)HH]̯$C#,ߴUs1CCyْTGBwr\IM@aD eGµO^8SLUqfb3 :oK!W=4X4$kKajpgJ7LƮ ^>RFVdG'Nsg=N IK7٤,|$-%YᬇЌ{!`psm\Y|D'1SP,]25(ah8>.|~0&ZST,̄%6R^;i2O~PdkZs%R|CH$w8u`Bh;v!{J2 E [>M#+%R|}sހ%C3my':9*.= Ƌ(,K>!&5#uPM0Xff*);AݣK〘^L|ܬ`п2^$.s>d0CYGnT>wE9`\7vR*՟z() g̏ڛOЃ^N.xe|$*M%DXZ<||~8t #sRs?uNbӴKOKLʙR0 nf%K:x@5-H2F~SvHمHWmvpSZ4Az7#i2S]?ci+>SCk}xZFe+#w: '_D'b֐X]|tPԇlh vHEvblXd,hz*bSHs`iQո=&&ǿ[/\ݳeCANz@p Xaݯ|Sdjfܣz+}Tum'WRU?Tǐ՟&1Q\K@Gi?]A/:TSk`чHlY|!|3cQm1urd~#QD'qN]Cp$P̮}f%D{[VJ܃hZ]WA)wTZYh`Fĭ06sq [ /ۙ%*u\%4&\_Oq燙K+^UZrzH1o3mIT:R3, 2̣)|!T$yE^TN Cv\_a#rJ(|u<6u)K~دgL!<&uk*Hm(щubd}#Su#+%CGH3SngHo0C~O5.mXߨ 2 1e궷3 "},0/y*BDBmanR7$J+RތV\ӗHR}s'ʍ}'b[?j@Ǧ"$;_-I/J]Zj:pWr,Aphc ra;EMWFXۓՀ5v6$X £"5<mYʰ Z|C"}CQ:E+o>+RٰN7:v1Cvhy)1 ǭek@~[_;@+~]ݽ5#doaƄ2J#zh"ܤ=@7] Qz( wz%'_0810Y^< Ka&-oy[Pٵ|=8PA(t^O5vkaPÏta`W̌[30bc!FꝀh2bڟQ%ҕ:a"M>h*afv0("NJqܯvDb_/$mQƂ bc=uĖytb.%kGoj}d`i?x~U`x,Ԕ$j$lDpo0{d@g:չXEe~V4P7nz豳r!OtuWRP_,7V[Oh"V?y :#hyFvʹ oi݁`_QÚA Pwr o))U6812 W>ys?YN3H[/f-HiV^0p+}OM2; +haqo @$S{o@Ak͜IwD5̲8k~݉hEFtm~ q"x%U!ZNB3O[gHEdv^ Aw-ƕ@/}wV kW~DY_}Aabο9KoM㛎d{&u ˩$)DM[=pH\0BaBӊ'*~g ?gR8䖯ob$ jPN|6yam5.5/u/z ՑxUx>.$aGBKmP0ewe&mpG Su7NOMÛ3#"8ȫOPT751@ N7o 0RF /Ϩ4LY18 @zmu$={*e0r18x'8A0]1@B - ];; 8 a?&أfeE=@fģ߁Da"wF}3U3(v vgQL0v&\l1G>(mW|u|4SInHv9;\nɝFsi!,\EFh8rչ)rcvB](!{S$yώUEKUW@Լ+!DG.?zJrܞPv3uH>Љ;—QkeN[~ǡU~󠥰~ >NQHцIVRplՊVM}bɑŌ@2lA}[4Qg6h1KݚI/(7u*AםTP0Gy ED7d;?iG޸|o'Zj G}xC1ڻ)y ?b;5L'h)/2n xhyr34IP^UO Ш=);ItĿ[X8"LiO"f[;k'{CPbʱeQ)0ٸے,uٙtܣ`S,Abenf3VW*3>+yb!8~lϱ8c/v%cAcx#j8 SRAy hH#zO'qƯ}@LA%RRt<0|Чxi1„4e]תw,ۃ sp[zq~ן׾շkˋcf+ɕ+QASPcʓ+#cnzʥ|>x!^m:yMtDWH"^U92 " g_E6F)]fg=~Ϗmv'ZJ^(zQX0)onN38&Yv.lH(kOE k3֌/yWfdo|[D$C7ݻ{,iAEfO}i }>p [8л]Ֆj|MW;˸}A Pw^tf{,E  L|o6"Z+9H, ̅&j'PGW # %bظtkx:AmQVdX6io?XULBWǕt0qqH7vO~4 }0f˷+11UyE\dL\3uU uǾc4!F~A&;raKDߥOPW=cVk>uT 2SwE]%1Eugyb3SC>|[חa|s8n.8#kP#$z$K+9eF(.2UtG_(Dk~ PWMڝgАL9ߏ>VXPmW{~'CLRo5 Mtv1s"`ZwsY|ຂ-!~Ek̩=@jɨ3~q\ӫ1֦mmhWaaY o. ٺmML/1RXdi:©P3LǣV?3_h~J6 C J5,5Պ6",1@XaA"l3tl uY): B# g,n(_)Y\'Xɮ!@Z4KFTRd. q>xɴ6(,X~ =uT:;+|E4Ji(gp1 4]rj1|:Hm)1V"kVG0Tj}5gl.HeO+w|%ރUQ?N/3x*O]>'sRlޛ.o);#(;!h! r4uǤY>vxdY*&OGU Q7s%7gXc?V-'nNۺ1{"eBolY\ 8 W. ΋L;1]~ M{ml%9./眒i^jx,l7ߦ`tx"wh@TOC,+tyKO(?y\f͍wca^iuNaDxd/"_38: vv>| i .n7m*̡=HR%f >RJR5 ʜAe(iSP'I>7ͬ'yy<-瓜z\Ƒ[W<_~R:bR )`/ަ|kot]0usȶgx޹ȾSNs~,y(f7"i$1O5%4[g20*_6yJ\hk6vY?2T)`"v6%.At_0I5ScP$$ x|l@k_KΝh^"sz}ܬRME1.׷Lk#+e'C_$@e}9)veAD[DgmKc|#k)T}\ Ƙsd4=H4eeX~dK&P]{~zZY :/k(CM0HG St 2ᱡx~ 75.aJ]O"9㊼6r+5Ҥ w`.:AtMKY/AmPnJ8c_$!gPX{02JkAk.(l墂}@r7wMg/bܱA6f5CȺZɐQ鋧U͙%,is;"@(>8~%JwyIoIڈa/DSQSprŐUOuq w߁.>"++*YbLigkHj]֌C=/ˇCMnh%PMO{?_\@bر2Ѕ^FF mPP!یbIjޠI0Bghsw}BS:l12[%kҭU$E=Cb5( 4<9XPL5V̻ҮbnP`K(1كGumWSkm!Jzv 1Lea!}/ˡ~#>m+ԗ++/RJC>YuĿ; 쫚z[ui)qC8' K*괛fKM{KgXF $5%qN\-PuNJ+eGx1,FYIWB1Gk^{s#t*oc$L_ˉah;BO\* նx[םC:4؟Ju8>WY7whxcdg]bx/@wjN_944)R*i:1QvֹgǎF}3 q$ =RߚyHpR2h:pMd u8تe kp|u{b>v"kl5f3xMQY zOCjlP|u5R ^s ,n:KgJ$T8/ĝ=|7Y+ u*cR@3^\:^ ?CIL3 "oJ0Իx_ sIZ"5]rg u2"NQo3ƨAd|8oA9,M菐QS`2K:In̕io<2G1-na܃BU̮ z=]9CO{tQz*PxNWtIk=DhY\|6`(KN[ՈPQ2le~3h~2UO@9]{Wq*DzZ߶&gZ.q6B4VBmWC!y}RR]:mN:L(8*7?kĸIR+6A&SRf) }ߧo.6@ȕ~ J8$ǻy ^1EVW|+ɵt?z\U:DEz_+LhЯˢ{0̋#X\ cJSBKˬLb'd׬|E(SF*y̐ނfW7%bSxH Wܛ]񾋻w&mT+-4u~|S $Hl7(ZAh;|/yzFź/UI?<3m^޾$ _hooJ,x]NjKaۡ3c`,A-] {5nԬDvk.Xk܁9Z}AO@cCte/m_U>+[ >+dܽ%%yD>u=ݎ ɫ~MxJ n.8i*QǑnʌV᪸6|a" 1v ?:fc=j8°-<_aQ%W*Mg)=Y耏ZocYZy~/c0ha|>W\P:>cY@ss7> H]Ъ=&JEbٿzS1;8wIbBff-"[oW.)eI xopӁbw -#$X_JeQ͂3BCaw6즲U~`Z>}zVZj)aZ,R>PeƊ=Kpy&^e] \mvtǁ F,.(`\uj1 $_b cΘ,\ΤBX BUͿ}]S-afhKtT|wH6lЯ$PY x]Fe&Hix_65*Ǧ}?МQuYbu*E[O73q8 S4/0:IT ]v}عT Tn48)0$фC/9pa&G{t֟QC=,&GimwNcJݶnld o]~'$2wlmK+MگIt@ ڏߴ$8X7q^3e*"BKZ>=lNw;}AR0kC*j<2}Zo#!T"C$8N5́LDrHO|Wn)Hu˧0/Pa+1X:ǝdyKhS0ĽdB?qkecHd,ں~aY3.Vn֡LRI_mz:ATLy>bgDIxkluHb@^{ V675K4:x^n$6tO~dX`,:̞&W)HW;dRy-#{%cD3W'ጿW8wٸdn>|fZBPK<5Yǻ _y/$ xĈm y+Y%L-=S# =vXHsԔв\l>.%O ;֊HAtĆȩi@aC5ūM=Cb7-&2܌*|L[(],~TG"'^!${o~8/l8w=S/'k-n^[CXQ<+G3_t9T_I[of="fq a!PMpH*, I|yV0As$9MezH`|+WO-4mƛ6FjWt#S@.zcwcӐ|PSXsOYFv#4eOf4&\%DIO`SM}Xw2Y2]g//]S}WZ+JfduXop]@БL߽6 T0=Eϴe;7HV02e.{ @qfΨ?y~ 6όf:ii~b]J# 0aM|8E|LLi;هָ/T1NГ Q L2 UX(+Wx𼏋/p2p1YA6v61# _`{Pigxl !:0% =یʔqgڔIToϪ13l+Y$Y oE`wGҒ\g\1Ѳ6cم ZzśDag^ckTv,}⫴"D󢘛qODRxU4]^C)|>hbB2XTZ-I74@~<ʐ7Yd;LdG>±5g-5h<ݙJ$4e1g?~8i1AaBGC3AM\ zwp_a'7U5ι&>* (WgK @0A2ϊƇy=Lz[$ocm5'늭g!h0: _u] U_d젪z] &qNv;oNۉnQ4^fޘx_?Kyɝ/>, aݮ>)1@ZV|."g6Pe?)Ia }xiz<3=A&L@>Jh #c5:D}?^/SyD1uQh|⇸mKʓtV.W=R6#~ͥ~,=nZKՋl3đmԻl4T2p,+K˃'3X\ݘ"CL^Ǩ2Iw01X{|WoWꏁL[g̫+tdiAT.odIsܟZF]>6v/TQ]@'! &vx,dca b&XWډi.5&Y)ohGzqUd˖+x^u5HOIhvNM 4+!_2\#zb̝.%xjmهJR;nAm9Ϙ :h\LYF>7MvJce03!-0"aSPw{m(2QDFqG_}dsW4/Prz!s%|}KbLwa>01ߡ0PW-5 حcM! @ǯ(X]ڀ>wɚq*v c<:d%جA_ۆ,$yUj6v,^=%~[;.k43֚#(5D6h=uyW76ZϷ KD(85ߟ; h^ye;̹ݐJhC-mxYzmH'{tjQwXN I ).*7lA>- >$LA]4X]MVfXyA&~ÛmeDS1#۾a|DL]xH߆7G:raPA.J{P؁^ER[^ ߵj|{߾httWtnǝ>zvl].@P#+oB]˸-׶:3⮘v>%K(1wgOɺ8w-l`ɛhr󗸢~| n<J(h'kWfj =M$+ORgS9nM\܍d 3]qg՛#0Mxğ>tXCgFPvm,V946x{@ӠZU#reݰQ@4/G=u(КS0#)WG#|N?73``NpEEЬQM]ptA/ '"3w}H& L&Y&n+ X[/p-ꄨn",(&̙jfzknH2E1SK<-4>3ܾca c8zB_dקeSc܊na腜f1B?D;0nx"|G iy?vfSE+P<9 Eӛaf YT,T<,U_?;B7TDBȂf*,L6ΛpyiBJ"IQ[wы$|F9eUs_ e= `xI:xRm*,6^m>[rH<\IӇS\ *z'!G#;9{*d.̞ s. Yi97y},Xs2Kq*ΜVo Ugzi4Pu2?yL@6sKL^efStN֦6k>Q-tQi8(_ߐڷhoٙ} .Q! #pmEF[Ԫ`=Ks$ p`լ+xy酟S'V~[Rli8w4 kWu%MYY͸W>̘yRkQL=XWZW9ǞY͟tSe,fa+ LsukyQirjݐQѵbO5">zHP~` ,%- !P㑈fr7y|ƶ iDT-5Zkp28;Ag[ ݰ*5eYB0ks;倅fKIy2rqW#`sFMޤ +Q&gWؗtF(S'nІ [x^r~0zj=C99X$L}ՋdŬkrV hYk Q#H!ZJyY1o2/˱c$ZS[O}r{̹f55k5܎@|لOGM POghV(sM u}魷6.ȶA[i?o q@ω(s+7f=:lC(YXOtb3A Ud"T>c *Հ4G]&}p%XMUUcu[ks qtv? Fd\^nVoN `Ϥ1i9Ϋ iG%A#.[!)l c Ƀ}X#7A`O$P7O*MA"c 9j̹_$=zW2r]yp1rݖh|D[.(憕^p>l=N'v̏HsP'{qO'oB3`R\6?8VN C2gh/.ffz0`4?/_T2):Oe:K~$/Fufbfݚ km?qEt7CTupru,J$y/&-Eì{+8sۢwa `s?/u9N?-򺬶絏U,oДl[ ?6ЮY2ncI/'n?/eՊZzC//Ass_\'}+/90-_ }g6a Ȗ<_<+O;:ݷzyt? B˿UK^|-5S^_i@ta c;m|JelaBg Ϯw~0̇coƶyƑ?7 Q6#%Z+8?}2Yef,eoٳo`OdeJ&Tl#p ^lUصTQ5BO#4ߟRV2Ͽ@_ X|Z-S7#7Foߞ tA:/7`r&U% s ze_&EֿO+ݭjw!lYtt RI@e0r^h;\ffsj IJQhRx*$F[$_P"3 N(K6ٯ9:2"O0AGz3a<ߦyKsE. 1om1-:< lTV K9$0\ʡ2BfÄ+*aϊThF;¤ԵIKbkhb@nLmvdat~5i贄@YE*-8W-Qa0+Q8BDKDB׻frUΧꪠM/{doSOKt(([9^V!W<0z2jKͣd/>~{sWƣlf[WA"$vHIG4&3I7Epi{Ѧ ԏQWz^H*kf yXDU<㪇I`tzMj7/T DRRAٕF0T6PD$ hݳڿǯ;2:쟫tRL9=]BDaI#]?Z++5Yq;/5p>_`)/QR0nQK`@j-PeEإ}PK;#IΪ\4 GVsl˸fZu}\V3+4 68Hx`|nSջ9~U_> "w3R/Pc7"pa/u;d/g,㯸)3/:> nr i_is?N*|I}ݠGtz42>Mpeaq$+>JMsF/-ܲr2J(%=\2% bPΏ%RRQp0{<9S2!s, 8@G;HYep%偅٪F6M8M8ưmOh*~'M^ "jFɫ÷;J;a=|v.^3)ـ mepߠj <{oVZ $I1}ea3>ĐALi<|-Rw6='-n'-LAJ[hmCc#%5{0z'X8~\,8H2 6jL=Yr--UmW_7 הr3P!7\ qg_ٱg/0Ago‚x |WimUr)::0:[QNcBiHyH/DWs8Gn( (ˆ7+~gFSwcc4bkJa=D4&Qռ'N-+eʣqAX- LT\J@9,@w2UQ) [P,k-a tch33^GXjXz/"]]*V1ZH`:hhч H/2 OGY6֍_O~(ٹ$i63^p~5s"yo=CT#~ !|ACh}p/="!yI۽a6c.Qw!Iء%lcaW\ mV骶Q6tB,  >^oa[xID7bPq0ڵ}o4$\7okL݌Q;`[bޖlkWQ~ G%M J0)g: EB{y*_?7; E"XwSa"81KU# thyܻHXρ|~_!\-HW2"Qp*o7%GKMZ`8n|zTSbW;d +R)pCd9hxe,[A8oS, ?vOhnŎUc} AL8gàBn҇ss[CPԀmQ!gNs>9V_Ԡe'J+м*`ރDx*Q$P2tkMPݐ"ڢxNU _7bknS'rO%( %I+EWI3ZѦw5ȽSoU ( Ԗ2121%eAH0 ռ܈^C65d-'>6}AsUwXiM_gt!T"%fzT2}WfӈA⭙}F yT, 愍^ݸn1v9i9|D$hX]Ó#5]t.&P$,E D^&(ƒ&KsHKQ@wUf?p^l[´II&! #׶,Hph=f!^$zbc>?_ݻDIHy*#| ʴcGv`R'wg TdN2_ug}\aG#Y; G6_bo}[q;3S@kѰͻ-KZ_B"b>d`(O1ޛy(k1ȁ[#? >jkZK~!g1o3Na]T Ožkt6s~"JWs1%/'A'ݦRʿ}%^YߍdҞD8# iVhXFnӑe/nܵ9 &߰f \79ӛ> 2I?y3;м--}F p]W%.h~z-AꔓLf+ 8Vl:ɘ=`^#Bo([YùD? ~HXy6'r"ٓ^}׵,2.nlcA=&(2fY}؜mL?a=曗@]O$=*e.ԝk73%< k.rD#YU&s ڲ .ԛ60BUJxRvײmދNw41l F} ۮ"jn&zD?T:3asȶlnHe*xs]=rZb=}"6v3*+kDvux&5%ttهf؛ )U/Sp1Ў@AoLuy{rʔ[ua'5%dYB(/WF߬;Bh ~.VƶɿblN﫞yP=oF|0.faMyjs%@;L#-CHs#Zdž!5_DG\ci#|iOڕ *a8b`"RMధЭ`}y<UuL~)6h0W'#}àޛ۴pG]~#gࣿLw&~AQK~̪%%"=|%-uè{Fu1NGْ!bW1Cc˩ 7fH3L DwN"HI5? 4 yY_3+p g.@퀇i9)1 P.5]WȒ)}]lzJo^L>RmcQ޼Zz)#giS<";_-SV dh\Ek4kbs~V#N(@y7ʩ\;Yd{}=W(!$@Qc\cbH/N]?%A*2@ʺq+V~" ѭh=yv@{b&zQa&L>䓢mܞ;{9ƂQILvV\F+ѿK ,1f9=v@In3)ؕtIF/GW Pc?9x3֘N_*n%R/VJZ:TƖ'~;&3$ Se9وȂ榶u891Ʉwb)@emb tޒ:cFUcys j=zjfzon zϠ+0&jQG;A{׭cvH^ hE &t% *V-Th95E^Gvdc Oِl$̅t8WpO\qiЛcs$: k*[ D2Oez]<6*dds9_FǫLe`QJQ1 uUᡣ+9*r6i+iOƨj'!xLD'vR~h ՀXDRyfn;(ix:W[!4u558Y{ml5m[k\x4 I=rYg*?u!˧؛, Z#Я T*mF&5H?#8|zYĈGZYHtpr6r|ӓи[k,oݫHcGX( [N jtlPC'&r/ `.I, ?'4\čȨuc'ޥ8f3 5n^P~}һHdžؿ[(˼w4N>]CbӢW@up_ؤ|9=c]t[zzi?'z1M!Gc],FsnC{K++VrU_oSs!({:Zb`Y<VX1UwQջi'ʊKMx$EC22 >>Hs4"GVQ25Ò)UP^kW q̡DZX M[h l?$EaK]as GAc㑦Ҋn\dٿygh;@S@~ޙtiZ'6J}Y_]h'7O袰Yo7˄,* ]-ؙ6Xz1|!ggĞ[/r[m-:;e.Nl8~Q SJK"v}ӡZC&eSaFd0?e8[ڰ"D.[!>0NR>O(]?=mq}7,Ǎ.R=܍)d cA| u!Bee,t}D4"YTi^KyX).yN(b(cV7V vK %^=2$T"\A8%k>g-~좤3[]`+8t_/$ªj~aEfU0X{ 闾@E*膎rNo;@FބvL+F6>` mjTyu W,4Y5^ N)a-_%L'ʌ6.į 1o-Kq|说Wnx搶wf}(yKH7P4MD@5EXtџ()쨜a FYSdlˡ gl)G Zy_1WQ &;*|"׶ 'Ri9ʌ-rzo,5h>ݮػ,*Ǝ jy5B dYbP6:-2IY*dI=,yiK>~롮*#3r? %6R:S#붫&¬3I: ՁO @ɩFI-I^3mݼR1?A%;DP(3-s p;uT9xWsU CDZQ1xqvE^>NZ-a䀛CA(o4CYp O; 2w6*DΖہNm0vTIH'h+rnhȑoz/+SkXwY, 8ݯs g:Nn㵈>j^2^/y"FLji˜Uѝ|~ #e7$T:%T W|v`-*bPsL)|eX?=Pbȟ1^FxNۼ_79.rež tzŕzT.i &;ĸCB=5_?lvpvGX7q^qmpZ1VjDVÃݣR٬7_cI^``"8#_L%VB?P!Ѧcrs(;́F^ի$^[ѐӚ] mR]s\~I;MFsg 1*<01k/'̃&BF%"iQx E`PqPcS9_p՟UO>-A_RJaW\pMFaZzXLjXўd8b|G?7|Vؾuߍ@a~V]Y]*r_\\wit>uR^pA㵜HEh ۲?fj%a7<6Z_/1p8:o'[ݚB7J 9KO} z]Cic8C W'ȘYOv'+aaKPr}uҞ<Uk注e&Y@Χj{K=#EKW=$qUc bk;C:qM$ \1ΤN&Bo7$}Z(+<|gz*E{ IflcF$GuuUϗJmyo+-BMD勀jN9g,IY̷h)ۧV%BE [\ `7!O?{!Lػ~s K y;a\HA`$l6&G H0go@ 5ww_o"pƃ2/oA1(cNl\Fv?3*j6rR_ Z%϶nꪓpYOб>h('".e)'1OgA3(4j'$0KM`@E O*s!`<^~kҕHAv5{uI |oץu&&z}^ KtyV\sq'7M"q^$7ƺmw7=_v~o $9r_lvI+!?je <[xkkvϗǓtVlWx>إ4ȈT859BΖ Z6Ƈ WEފ'wQ.ԇ *ŽP75fUM/{bo<3aE0eb{n#6nHcP7;LP3b_cZwRq؜qiM<)h-{aBL":!)] |ק ?I'A&#yz!R{K"|߆W 'Fgy3fJrN3džlTlfi*MA%أB|&9 SS>ĭHa3-L{O+ Ha?Ptq2ܵ pvpLFd C{X@l1+ݙ%3X4Y:Zjz m`U#ߠ[ ?\n_3\[|th:7QJ $BڱQa[b70%2%l$\ ?w8Ak,Ȼ~'Prv{N=ʛ'slT&ڍ^t)n9S)dw ך#YE<+?)>%9o2uXXi>T[?2dž?MFo'!&; FCo\.eCyiJ:?4Oxﺉ㈥y f QJ۠0852x40`U_޿d,ETk/ (I= (#3~W$ '҉3K[v7yPsK):!f aɺ_/g[y ES6"PrbYF%\%f46q,9 p-!^?yU9/)b$;7+.w G{~<,@$kV6amh/&XOn>ιSCa%f:eT 0ss%q(>jW,*bs>9c9C؆!:}GI[kMIlByuq4N%)m:_sB\wy <z:;YwT<(̨ty=q֢}q~&bSN8 ;Ñ+>reLw_ҁ yƅQR8@I{W xL-P O;^I5<CF~?%pHPitN9{{`kHɚ~RkIO7z6~C%8-.ĺ vf d՚[6sK?V٠]dxWJ'o*TؕvN4>EU/ZaemLR~r/=5veJG\+>D9b0v2|8ʏ{^7+{w#*?߯ 39ꏸxOشpXHĠ =B !3#`Ӭsn. 10>?9䶹D[tRIy&ԫ3,Z jw%~jѬ#`M_.G~K;pr.4:ÛtT`NI> {6;((ye 0-$.4?T'}͠S41 $5*eJ>H 1j`YJYҩ,Gd֩&xٜRxb\uW鮼1fXX6ZA׸t5c2 ֗Ǿǔu;_O'hc6&ץt^R@5gz=8|d1l.%|?WSk&T O M*>:5^NU''XH=?e"W+wN5K2M& 9(XH%* c1eEJ2Ojw^rxRÒ;Q,3%?BY@OrڵjҜB?g?jC{Cg_wBXBR9/ѳ$*ԲȨ6Wx-w +ϒJ 7ĉ >23XP&!eu] ط`a Y-|T@mҥe _A~ә+e81'.!(AGV4^g|ގ~ c3cqEbO`,'$2ixz-kӼIG8^338?LIQR+͛I K!:X{^_vpeV$}l@&˽.,ݻy& ?Pkgd.3Z>j۱iKbu>\2MF:u=;sUy5DTj^*߾c#́b*զ UhnWH}*)=Qt؋t ,X ?qÛ2r~˅C1@d@+܅z0w2ٯ^S^^tD)c9͙yzH"gϼP[i,ɂ2u~V WFۼQ̉^8 <3q{ya ?=O-?Gw~Yܽ߾ixg߆yi. @WV%5|2YTG@?$o/u=qUXprS܍Jѳ* Yv \D~{}+ 9OKdzX "wYšb~d,%e5X#Q&CR1k"bҳ,p+'b8M?K%G\=#~\}gHJKJ^TɇV'Ys" { eȦ+!^JۆϷpᯥj!)guF^.>;U\sdz& o_K0j9UY̺L Cu(\kg[9$HC_᪇x0q!-Q*wCmqj[2><۟QLsX]LRK\,GTzxgoS/rڮǀ}{*%RICFL`.W{TڹnXW$FR?O E&]վ^~QydWkeIJL}YDF0nf<,ԍD):/i;d'lsv[ުk1AIID;耩g㌲_V!8/tsJ5Qʣ$}D鞕hJv<wD$B\2tl_C.!'z/tFϱEa r0`1E{?Ḯ @ޏ^)oY % P#l7#ygȴAq}De Xx }_?⊀X"[0,}#@wa$ ӥGc?x>|4=QZ?5eØO$I^2IVwu>ZⲭW``|<k++I2 K4D60]BaVnҋsi\^!A VbB.+˹bTn')D+o^Pܛh[9k/Í'QÇU؄+@_C%S 4PU*Ia_u9qH>O)#}`tמ'-G鸓dWkU?ڍWM J Z NwX] 2+UV3=j+ ,5yҔG"'U8U]AeϡcЛ+X˃11$bC由dGlw;hӧ4ӸLԏUQ_,:/4Q:o.6w>>,n_Ч746XV$_7?~zƐKah[.G)VBd#eqMy*՜  B*kÒxA6?%b^ Q{+R0a$8>]._3?`g.6gh&,"ONH V$^6Go קlqS55 T-붸M9PO0in|/qV\jEpN? ߐK+[?5pƗ4W *GQ`#΄aפHpOX#}h'sp}*ڛ IGGc 顉_g}irehU#/0UM_zu%k#:;fmj&X ݕokv Ew~Reci\v.z6C`*Fa)F3rSL^JuGŦ h[aq!w@AWtpsdpRSZKc}mc^Lq!B(0vΘz3E&GG-y|kwEl1iT+L۱rASoP:ܤO.9:|}>rAP8]vgD|]ߦ:3)#i 9> /sZ8'2zvJ="[A/zP{IPH=&<"pEcϷu{e'3K<|$ 8׿&L@9ݣtX1i~!75?{עU fus&dy[fwCp!$K Ǯ?n E2$9.)ϴq?\7(ȶ'[n<4fG<4~\}Ft1,y2`R|C別HNxbpn8LxR_h9{Xc$-̤^DwwqtRѾ_@%(gꅢ9{YfAא[rX^1[!K/[V8{e2 }yc+ۑC7&  >;뚁|(bu"BWi&־(S1"5ncfDrL#= MO;k/e`%5>V=B$gY΍LB)O\mRI-=srq|5YZr-=a/W>J)GrH6{O?Иj:d5?HO;9Ogqz# |(6^Ht;GR-6Dz89JK"YT 8ݘp힫zh*w?nq%"QժdgAoi%=$wwbBilpZDHࡅ#OkRƒ†ȸI.+ xo< y՘ė)nar{$m\呮|A|nVD`oR^yRn!$%s!U8t_XǴZi9٘)ocW'4l@m)3'gcPu IS#C^~YgBcMy6{vn;+K=0Z<{p=]>j́ ұH>I^B= $OuЫpǵORMϿ۲Jb(Z\:ǺbϪiHZ3Xfnkis#_#Q?*NVT.[k/|Wcs}LTH!VptGB7aQ\rUlD{c5%0A#2L#c&t>\vSb)q[_ ;x*\L6UX"R`i_Ay3$NL>\B!9yq|maHyr>YF' @.|o}G |av#`.:ɔOZCxerw_ aB%T)]Du=\ԧ,nʫshFh%r}#WU863c6l{)!\Qk<ۺ,|Xdr"d)=mN76tnݒxd am̀4h ՇŠ͏mOx;]souލփ5-!.DxAxbfX|s> CT[f`*=ID# |41 ,mepXQ٨V{y2F"P.Z慳WsU([ l:a,0} e#sH%˟'.BL!FS 6Rq;M;|p >RH KRV |D68C|o.,ẓ9#RL4Yo"ԾRVrȤ8mlgy2ND^b'R TӺX?C{"i>W>f0|&'0zQ+daU2R|Àl0qK!H[RK_H5%u]A>%_gt汍RB6jT6z$MA3>ԋ/kSQaHiQOA:ӂ0Feȹ#׮KB! X†vsVT"Gï5/%sj $Һ_27OVD#鐭T^VH]T|ȝ~4WMN}rI͇mqZx3%kD۞E3o"vY8/jRL/HNg"6Ag9`FF[TP>8$LN`gO 3^ߍY4)!ZWan8\_6 R767Bgp(@o$Ew-dt"`g42JsV-p)"[4:NF=`CLt"=_@ VRۼm`=jpAX3llv bʦ(_K]'¤;߾5u|n['lDAv_?ě f {19k-8푤'\DBpXb?3{1;NKNbS~]"G+p;΂g.y<2š<"Jf=MA;dY{G>ar81zuc vq1Aha4:@(Ģi>+3v2 |Y؃ʉrVCYq1Rb-xwwHv^4ڪ@2#-$kF(4u`t"m$PGWCgzn>`Sj= dVl}2#sJx,LSrgpCw ~ond(K ;UMD n]Gq~-Z>HZ&yyO9ϳvZKN%\ٗ { #n).+A;4jmۭ36Ʒ- V$1,~Yp&td/%Gj5s\d`5oqpsh˿r%9_Z dF%Xfh_A A1l-Є]nKBl\79D>Eݗvs!Up{>m&idG)61- dM v̇hJ+_|jSd A_҂j8Xzp.eu3 짚Q:%L9(h2_;0n4>6fW^L#YrUa$WLda&-^O(XR?(u sJej#t0Xm1ͨ=KLZ \eXRbwܜ;' $.'#|bDfT෦Oce$N'~M\I6Cqi-t7mRĺ~!ou}bxQ6G~Q+5߅iuu} { d%=E΅FO󫬛# yt-7UBzYS9u'ҙ @'=&o_,Y>WJu+FlN^sE5AHr&a*_>K;pV2ܚ*.{ S^ "5 ВAs")@>lZnhR9I )H{Cj>o9zo\yhZR]sڒ8goxD( ca8_ϟmha) _fHY-RF11PHG~^{INW`Sl1Y`#Ouxp 'yM[Z8-D0:|(M?#jr8+ut Q.e:|8qNp`5ѣd@0OKG@ t03 s)Oigӆ\(WeokA4|?WmG]~ǟ `;~F}8XJe^L Gꦈ}=W2"њrac &s ywR3m >ӹ50.;w(Y\*ˀÄy>`|Д9]rALe$/uPJ#a"/{Eׇ2+`xac6r?f;.d@$T^g+^ieɧ] %Kשo:]@nH<~[2vo e5ΨNHA<XTgoƢ~xwPtpE_Cm3{v݆6PThf }wx`@yHVkNt=ZJ3NV]vw끽%(S7rȳZt~V`,Mg~v垘K9'`aLXR.74se,H)~d| ki5^XbB~ͣ7䊸DUQ;8YOWVt_[م uƽKS) 7Js@IkJZma`)5>e7<YNޘ^n1Y+MHL]}:!\wS7B hr?ȿfsmR䱦Ц=2ij&w\ S<_nmb+]i)Y/Z˅.^iz ج-ʈ_G^qUr4uM7@mH3ߐrHEظf4tD^r'o*-3ЉG<9'N2:.?iE_EM!^RTTIn&|2-|Z`%u4H̐ tJ?sԍn _߬ zS Źrg!({UԐU<6dqF vpH:bkEzhXF40/zࡱ2Et jHFv*] fU#0Y!?1C&\8,WA^bi(FC[&A=5oÂ}PcIzkpFl`<2 "߶!Pt'{,Q! %`|v&ݑIdmFkwdOW.C-2=mv 3H}URW&_%<ͫ\D֎4xeuis+0\=]@#l^/MI^J՞›g"]@y^4]ۿ>T|wUCaoĢT@aâ b5@4fė: ,Zu8h_x]DXay9{֖~f3S?.콂c0ONNLB6 b{U$? _oiW܅t_@ԟǓO{*<γ^z'{9f;3 KѸ ^)X<ĺ%£J&J˸C9J۸6yYY72/~m+F0]WNA qx4-oZV4B6& ݈oiw3q ki IrɳE 48:B'_vIKAY`:jBWOcYѩ0j"ipA%XYW\yl??5mڎдt%y 9 mt.AIxGkpȃX+}UXT'lyu T3;Q֯:7ރ}VP͆gG /rH3apay~Ha6iwo[y2_D<Ȥ$f^ 7b-'bK@9ŽqC4(ˇp^)MaM1ÁL@qVnEhk'+!Qlp3H@8!mT },:AD㦉#,F"#X[An_NzUĽ~SJfgDo߳]^{d }_zWaG 2ya _C~cܴ\GO<`9 ֙i>Z-v5Ud 4 ;Kx um v~TC( 6әwA%]ߴWC m߂IUޠJ{9rbd^m-сF-{G&$"֡gm -F_ԟ/N^ E$1UCS ׋Q_S˶a^]эh  ž`En?Xh F(oBU~(t }o[p|L9k?%Ʒyɪ${aÈpuo!~Pe_G~ynQo-F9;^?]_8Fw_:O/s! /WR}tx+!D⫘VN< yZYk5%ЊU5#ّ֡cyF@UCd#b(T < |ǃoWHU M*6aim+_1Jd #?ϦcʏɶjO RJv xtQGVd4_cmI{4(QIn"yA,R|L G ޕNyJOC:/6.CWMxN}²G+ &˔?>՛w6.HHƴ*]MWO!-o>$=Sx rVv{" /c;K.Fu'iڈGprSNx]A;ۿ!N*-yzixB+%׼8(Cpa~'(+)S*Sf(] ^G%3m'eέǮ-Xb˕ll@!?g H!HbmiS-t8k4we 鳤ve6|5` >'1uͤaH&y6#awqj zGe)s }J+4C%TAMTY,Pq^9Xtӡ/ Q?j׿³^FBM_ ^G@͵MB= ^h!lr#4xC7￉0+g_׷Zs 1GG 2LP4?c;V/k%/.?eHtu1%/'CAJԜ `E/G X>'Q2%NT߂5p-ڪ+Ť;Isځr|wn9^r1 oTF95G74E &_Z4h:87جLao/8V6 ϑ,*#gkv0' J(maVwKkȧђƼ>pch4;1дlz:nhNm(w%2#R%ft3g( ܾٮ+t {Ʊ0©[͖?w|9 [ SC ĝ$f-t!6x2@M*Hί\M&ǭHq4;<,%ҼzA+N/qh MM፸uGT->reH~rj >#;ϙ mY4״{skbk ucPY_E.ɩS!bb}M>H! ?ܣ[6iN/SL{r~W5@wU $l"~9{&/M?pPnς?=8 "{PʴMyI OL''' t@?(Xh=BMe]\b ML))J|x{G|ބ %3%c::rHEx;;e ̭|yÿA;{Fa!1c W=V!y#kHΒIl&I\Q2t~ ZD< gf] "HFlC eJ9* qr]:/}PXoX:,t"mjuvnî߲HVq\AeBSVGuGKoW_1Q"Y_|0elLI'tY:F. hb5 BLsAZ)0E.p/@9左zRτ]vPC4GU7lqp8. &fXu5kUX{fGU0_e)^N|J^us2|G씑B^{.JW!Lmy+?YគϤt{8X;!N4,3[{_p9`:R{_4kG+8 +LMJp.Z[m\;A%`n#r>NܘDBtui"><۱y^~s58G.&x--AOwI Ҕ(lHKy1iJIaUGHDaK*m<h1GaOAYC[})(_3ѭ.H_M+*^Q\Xh},%͋Peq"5.\}n^b.9%r/969.&>c IuJqT޽hgH۵W51i*M,3rgX7^'-JS*(88^9<Oz@m6ӽ;< [u",0[Ei^%H 93ɁhLC(? c ^w3)խ.Ki~[OfGTz呰C)1$̊sa+='$ 7+icچuy}FE,p>Jf:})D"c0ưV:+`FBZ=OIuog-[}y̽H鋉$89qY`ih@Mkm`LVQuŭj_ c3'TVWq^N '4s!$Y{RU` `x3ѓr0JPA%'oo/F$}S|}U}x0oN =%Yҫ#9./ N>I} CYe0 1õ􂌗]oRRxILeyW+{\_W#W?!4_D)!L= BL3FF.yj;-iRwl< 1\k ͧ6׀Eg\$*^QCֻF>eT2.ʺ2RF$WsY8x[&mbOif?%^ 0w"mnn7C˜DKG@:9W|#; u;J4ƽ`v.P^æ p] D&}U?|5>>c>$\pLJAE{ɏg.'}t@N7RaF_Oz.mGmǿߺ5V]/,q"k~6/HQ$a^MIHĵ)6"?ɾkz=Wk)`Kf`|Fѭ)6)EI44u% /zyJxF\Cd·u]D0/,\Р5Retut~*l^}^ JZf]  Lxc76Q̞UUHkw8>* ç/gFc[7l |^:!c"Ғ[aM&E ')ns'x!:'5"-e fM]/O+dP~A?@'@ӆ(֒d5+$>V*콅;ߑ|Qd !bFt:{ܗ< C:D`K]H^:~􎎅 `H!4̀\ Wq./)5aFsFEF) ze# eшAU9{(sp]_#3V$3 ,\ER~*>bd>)XӶC-xj~VGJ"\*JKd; uT-#!F ~nԹ"!kqޟaoO֡Di3Y 'Dk1ADa{wk<3bC.>/Fp=)ѧ`HdgLzkŅʐr>A4.mA'BӑŌh^rw0sD6}0Lf۴;${[7Sё(]OE[y`*oh3H55K NZD]T)z^Sa>8 s/Ȑ&N2C54Qo6h}hM8X{DŽCO]CqgSxiFV=?/A!+t:v7|W ,*oZvia8+ݘыspi*;9':swc =Q?Sys_21Se؃>쵑 2ܾwLkhk; wS_Z ]Ę[yM̦a^Oy-_4!ؙ5iNk.ox!8IV*/K~b]@̨C 'x|7$s + f~&#sCx-4ߦ `QFtV/ LBaq6'dj\M&z62 GNV=o&P.6І{{K!3fX .yJJǭVF8GF3ƞ<)#`7W3zn.@szpgtnoeq+K'A@t02"xR@ (~Ez14۸+9XB#+rKׁ&Q#(2jzd(f]ơcQ< [}̘'_-'%r%j](5uFgD^W$+\ZjhJ>"%  }ZkD?>eA|a!Wt}H_HfDG@)El"jұ g<#:J f/f8Ub %ƯGqv*D@T^`VT¤)A>ljJ`f0,[kK蕬bp'eL+4=+>2rj߱t(wުUcU"kyz48/i VS%um~Q'HG.*ҶƉ/f^{$- & L r߳&‡A-:H(h\:D^l>(_צ\Ӡ;k~Gi^ӘV}-%9^ FaבZ{)<-UN\oSw {UZW--s& Y_i,IFtҪֻKUម)D،a1UJIۛ'i,"Vcllf,x;OOixymTu=ɨ߿fphii"mlsV@6T >S4a"Mq<~];. Ԯ%ƃ3Ԕ0PLN(Gkc-MbnE^-B͈uRpnCL2K<;áⱈC`\l2& ~s%mg_Fίo 4OZ-Ey?UICp__/mnFy_r FzkU35(ZwoQNA' ؼVsнi%X4^*@Rl9mhJ $r2{{AGC ]pMglZ9.KHф@NB^#%^{6^@Bwеu}@MR$6ME<#QFࢨT`YCo70H򗐮9܇ĪX!uqf!'Spuvۓk49i;+^4"/e-9! CmBrkGs|$^V_&OݛO6f6 & *8szG;6h[XtYQ/v6TX MrABdL$=H!B&v]KUW۷YiI\x2Iw C_\ʣ}+9<<[]_X&qjQ]pѿm0cx_rccw_PʢnKLR&Wf/?sgY|є#T>W;7VwEqug1 [ ]ݺ&OF;ʄ<,<|,E?.uڵ5y %U>%@Ad1=Wy7/ yFwcBgkI4!_SG%܉m}Vr1,b+ÍsR~Sd?6r/ .&3AS?n8-h~l_snJzbCyGI =Dߐ?';22k$Ѣ%̘TAVI#מKŚ`R鹐"8/oltI2E} ȉW9gLܤ_^DcprJJ00ʟ0S (hiGN0FG;|r٣?o71 dh<<CTbI'%u9V뛏F`C]YH¯$cj,{)QLwCfG|;>w\Ëm#uRQv#,.1+>2FRVGg崘b} . ߺUj3HeŬQx-wJ] `H(e×!{x.yPĒ)x`~eܼ0}|')MA +/FaQ;Cb*E:n-S]~7` )q-f*+pҟmBϊqKF̮S))?^1ffֿ5Ixvc)r4rpK|%$`T0,W!NdPҳ׼z"oY'W5)êt6y/>' dun-Bh jn2"SlhXQb帶0].[T)7zQWbi2-([_ lAd/K͡z|[<mhlo>$]8ƧxPa%ac qƿgnn>ŝU , n]Pl]-? IuaNM˥ԴqNdQȏ>/ǾC( 'gIWqؓSco;8G6$/0M"4&NXv: ZzX;uHB~9~8?=-(]tH*!^uwX=LmTL{_T==h*>zaj {WAg T(ŀ]M{.a~Y',oFw>t񺾩!Ίl6,%=%qnߔSD_Pe}']Iӕ8\uǤ.BVvlsq_CJq< !qLYZ SNϿ#OFU;ܚFVb97?-3@#b9gAO'_U cA/X-e@΋쳊Pm#g^)Y}sلcQv,DE_:ݾF@B9GP?;Ɩݕ)(2f=03Wy¼)K tC}:E0[]{*ߖ,Eb{}v 6qlZ@ϣĮd>alVW*$[NaWVQFRiM "w5D>u w@J1Nw!l?;8qs5ʤ""?M lHV`t7ejו9҇"a9AS[Ռdϒ7ƒ~ f$C"g 9ރ 83~ݡEhㄍ[K1{Zb$fo{1v D}vorٻ>R"nQ\ d +۩,H(FÔłs ]Ziu;y;"@VHH22=ƥ+qa ,ؘc~hoaW: jWa4JfOiHQw_ |\z^S__͙fz儤ї2=K%e/ϸn1o*똹@Wk\_1ێ po1_D{{kRgӾRe$O$c)|m wϺAB+ͫH]+Xx HErPq0P_gf$x9 k05*vd%@bhuJ9UX s83A:LV/g򨤆ffƊcVў,9g#F:~fse#W{6S>ec4g*y\AGmo쉜ɭ>Nq%o KV'`ȉleԣ E?T%bnAJ7b-ƵJNFy0E'N\rrs! 9GM%GX0>Rr0M#6 ^2z\l*B+^Y)]7cؿ+O2r3=~ot_Cp:f^8qiHH զVR;S͏np')~R\jP?lJd _90q%MU( -| ( æ?5i캘1`dϓK=R]G[^Cٿ, omKEhG-5\ vS)o6<]Έ㘌@6l1P5ɍUNSgPLl?/(MFƄq-aW@{`*rpb)ڧD4޵!<}4aup[9AfPҥ6i|7lԚOd赼M42ҽWu֎Ge ^x똂π|ĠoF`_C<>sY(szf=/\nN1vkfky"i*Ph{}/"1@%>IKTe\ [괡,)؎&{sbF΅`L+$r҅ 0hC\s3B#DMЇ1nBÇx}c4CUv-jz˂]ҊNy3MUVjv8d{cUR&RY_C#o|Rlcf(Gt@l Ӹ7 K)gJM|JKp GV/+ٜ{e;b#zbK;A;Ώ+Ug֧ǘ+ɳsٟi_K?>ƒ΃?:7)^kPun>.O2+>4˒'Q.y\t㐯e8[;m3f.wM9]+g6?*_S<+B- ,!Ɔ|C ^ yh%uD[E?1 GjOǯF <<@ԮRWi*(6Ie|$9r)u`Ƣ#º4 sZә$J;ko aR}c XQl-'K#Vt #^lҔr ѥJ/.Gl(Q[^/T©}yT{rd}}@lX껹ꊣbF9+_83Ed]yr+RyDۧr zhxǎ\tzmMy4cH+Vdʴ7zNg%+|p枸idpbkD]~g3 oH"S[xU,$`8#95:lGE/ w)Pd3f kMK2Ȅ F,AGQS>2$Fm5Y[/]˸xPR>`<۴]]n%|4~-јI݇FToy{~q]hkʱцΑ RHcE.t͠Bf{s~B6y5y C=r~ 0\_ ۙ|~чfr % cWU$M(o̟x[O=y̫P-ctӑ<9S= T6됻hI9\əun$|*B7Ayɬў x *"\rq~{1_UcyP'RN?wS8aּU ߒ싉 _@? Dǘ 9˜<)He5ͨ vە`,i[G!=IwbUK򏸮C (R__qmZϲLY򃣑D8uﺷ~l"#3yzL8`;smxM9P088s'UAJ>BN$n69TJ;*PZEH-%Ѓ3k0ܮeuπq@~ *볌mw>}?;@VcިsX?Ul6y=7BY5f)C+\EȌgn3O%;RVo]̧}LDb#y[/M1juHW `Zxz.žRU}['@;v*^2W}CV}:16F5!UqIHŲݽ}vDo,}B5:{yޟ5ÂO9y홆}[nI{N+_TNH$=BZ̿J}Klw(yhV},w+՛|̩c]+*[JnRdEv>G jU {Giy`жR^Akn_(u^-AGs*a0Ft1{CLK`t %ֿd燎A(G^. O+Ɩ ܒUrPf D09t+0Hׇ'"?dn#+O9iG]IhE&G).iDrJĀ⒫$\$h?@#n?>Wz>zqA5,ݱߋ׵ iPuNż3/$f}v ʘ%J5uq5dcp?̚/_&Wp5Y@*fnFy':[2 7,›J=D4C w}?D@XeO֍;*/\9/Fg~٩J5AP{E(:`|wNȁ2dކѨاWI"k2$.6+ߐ3|%A$KO:]MXe4b:BOyQ}Np"7S"K^5LSKe)BʿDD7YdG6/W^8 H%<bJ5O@=ud]j;F?gHTv`U|p儠Ti"¨GC-LJ((cԹ;Wm^jITiف)zjp NVq K=aMQl߁lMJC~\cɩLDj^U^SCNQp"z\ڦX%lTH8ҮH!"DI1B^נ4V!z%x U] kuiupx4>]Nz4dhd`< >k{/o+*ZWk)$o#y2d;2{CLY U֐l ڄQO᎑]&&{$p8#8_OJ- I[3o㶙,Xyr2x|594?[<>c)] d //pqhέHFUW?|  Ab,+5}W R)`HqsF0*ΫI#lI!P֥R"9)<˗gv'OTx G\ }?1݉XѹwUj.,boYhԒ!0 Y{ʒIbt9`|waJ5R<4w|p_ H6# j:Q^YEm{9=^O$ҶRin^*.Csu/1-I}Ջ9ŲJ9`葱G֖'[Pȯ0])l}׊ƋvF4֝&-8GK}$ͻkː>@l9CU"o}|-դϙ) 6s8{`"!.?q61:UUf]~dNKpPb@]Shf (},-שIOWn=H=#9Lw$g|7S^T jh&;%5σGރʋ(9aߵ׫%i",zqL5JJww j[J@Wf<1q9H(jv*@g߽S{UkbߑY+Iy'^TuJUx{axyeI S;ߪBemSsb-UG-q>cOJߏ vpw_mB. 58Gg &^cxsy<˦k'puG=0YbR*]HϜ! w??kdK1 ^_N*%(*#9nZX[$aIE*UuA}xt5WBE)䃙]N8zA%+-υ% {H(OJ;'ЍY6PN bZs4MB9e^`\zxj%,/^IJ:J[DK8^HqsDW?ԁct# ݢR*'o>ަ2T W&@Ul, -,E !2s @~kÕ{q=DV뒟cnrF^RO8+{^&aj=q'ga%/ྲྀk7`='|2W#Njz2 II6Rq|VڶA>>,_/T|yZ lO(HG#/h)WLaU{Yj7x0v^EviW  wK6l Z&GFhN%^G_~/e9x]Z3 Kz:K%(;n*X؍}N*_!SvɰM]2:`W[G(T ]^;@$ED|Z _Ywn坤 m"R,{4_w@r4j.5)\&LG> Xo01|hJHPt/Cmm%e V!RCmeP$ WP#r]ŒTݯyձw}:Tز%bCIHEfEAH)"!N(}`Zfu} ~kX#Yf/E}=1)n +svr m.:Tz@<^zƋ ل(6dNB씟;ynL(8UNz<Զ /Ժ6 ¿cќĵЉq>#POĎh& ϰtG6jSG[2',^wè1Yv|aR*̲;Kc~tJrtck?x!>`֝+]a dPAcZ |D!ee ^! o$=ǯ4`qSiSGK+X`R;ie sl1^gYEǫ@;!@s2`=jl̰LJqDJdsԢ\܄5S*_+3 Pq q3TrjEA$}+s[ұњfh*퀮Fɲ#LT Da4 n2qRh~\˒s k\DzP`B/@}aZΎ\y-̭{o(l唭ubq(ystrLs÷%4RL2x%q#B}uv_C+SsgRv%(hُ*8ޢ0e1cZGVɯ^{=G?G۸( :F66X>@q!|vdu}/B(ύhZx9 ?x0֏0'C`ց80m ]yB~vt7g[pXOV'f;"6p[ P8.v$Zi:?Ĕ\Lf =C|a;QЩXNHk!{S/J\r$ž okbyK\z~~bq `UkU7(tV01oKJdv5L+rJ^<L]GᐼWA@ "@^wy/rT(ڹܢbxbfҫ|NsuMm>ƒ0vzf(Ujz^sƱMR Hj{mEHs 0-CD42XK,iQ ^r~^|o҂:6gO+y) t٫jH K&/In|Z"u}1xM0RŠd+LP Ki(>Fދcl}Aߤr|[Mm=I]c7q?tTND?xp-a-(ۚ`@+oF@(eJV; frs]~ eHqFpvMq@SpxO*fg NMmAZ ͥfT`ƥOKU %٢wA~Ə;D@2b|:BDn|} ⤤s?ch0RgJ]B#PHAr-&˹|n ɣ$v|lO,nO*9\`GF5Z4ɗcP`ï qxbi$jGonP@$R[e,k0pTYa'WUq: D'["7=ux+D}x:$мn,3Ei *nwi%m`rPwڍ%Y+XQXV 0gGYIIcF^lEfɵIqn(V!3T 3dc=m ݩr7O1'" 'BУl HzVũ*gǨf_XcjM~BkĦӥK{duXr 9D_6{(QFXfK8,i ,|-+J%^E2ۥe)ψ&v/٨iSo!uX[lˍ>qr^΁5^..uqlQmfGmߒ,yvu[5M9zyMtHֈN>kY&"~.U[]6ŊpЀd|ױp+0#M]6 _܎3;>H:/+bbu]` *Fp-K⊞7vgcYs7"}?X8edtz/冏E0%шuT<"^oop6܃Ji]QEpf+]\}1=.7C:^ h)y8[qt۩BQ~ mH3#JQ\a](`W8Dmv6PYPԸ z:nm#'$W2\:Ilsr vӾ*X{k>Ӄ8 caNJtֈyP.) z|8ep:z_ntѫ1À.=->FȎ/ٍwmPA%_m@dD~$ Fp,? ^dN˕mF=Y~ x{ftp=TCB3A/3:XiIVX\vZ9Eȕv;Taχ(rCmƹ>];_~uP'ݵ)z-C3O?4}UrCSf.teMʩ}L#oөkFDb]8']Zm7=bᑎAMjڌ¶YJmnNߦurOZ467Ihrh(iRz*ɽ\_&[n+hCCk<te&Dț&/gZ@mGN_мkŠM#eSBtЩLuj`E15wts9=2C<ϿB*pb|ը,[P%tt O[0|<88MCLiM _'MT9D,#m&ݭoWME$ڷ q%난EneӯˮuE|wgm@vcʄ_p(XV;C;׶ LE5_w$]* -e}f u/\Yx o܎䜕Ov~DD>#Msx ܫzB)M/|hc@f$_$ pXގ`AN¿K^s}7LqM +}lD> ߧaKȫW5;E$A=+- hSh¥>&NUd Bu`l qI\KÄ#d xAn&"NhV̘u\il~DQc(BE 9j߇ş~;@3tt~F0IiO4RR 11qA+7Kt) (]|zkhz0se`qvBK9+bi1EQMAfh < ьfHDQ)V<apr'M"c7FPNE\^d&L6leDZ*φDhp'2xE1o#{Eeie=kRڑr\_sMfQk0٠?נ3⋽eܨˁ8XGbɦ1g8Wϊ=UQ-qleQh:9wgY+oVq[`X{[kQAq5|+luױ΀ /Kzq[}ヤ*7,+^ّͮrFG԰Dncs۶X>Ȼ=@PYe)>fPׇzd+4Y$z!ՋY*Uk;N:_0^s兝ztBt1v;],Q~^'na>zN%Oʸs6N`H^D!DP*|fK [PP"@<Vxd%2YѦwI4>e 0A>1>@|Vf +'1̡`eӫpٸU(0]' C/|6 gw'Kbv!C*iGr?0UtV !:O0o jF~yRf8.1fGĂZ"PM{fZ><̤ͭAmwP*CCWBQ]lGϒXe3(lF:nVGV"{R=vPe`/nFEڭ R4&4KQ9JC~j VGuTL' a}c/dk78%n7fkfۛ$(xGI=2@;nNf\F>h+je[tP)G=1CFLlš#|UYC#DǒK|\ԟz"{YgZ/=pp%CbVɨWc M)l)WF@ Q(%;f2Dń⥔FS ͽe'~܃ɾ4)Z[y`(c@)vu'[e?:dUƹeہ.B|U|C]\hK(*rXt7DX3R?Bf^/mq|*]УT yE†᳞%תЈLƷ`2<⺜HπTtBJ-Lu:֖XՀ+,=A]ݓ#Rj: B?WI|~@XmTxwP9|z={sZ&qD,CS1FtѥD75ʤ`O x.L}׎R+pAd7&=2\زbUw^h~~rMu lu.)XAQ >Xϔ@_TX(y.mcfcJ6pFd:9֨kDڕD`IkUo$妻NJ̮{bÛ%zfрN7/W VԸb\qo}fje7 :'a܃.ޡ̄?k&C~/=|ܡLv j*<\+H ]b[@FL29x,U@}T#OEzˢx1xyvMyVOP*[Xmt#pDI74.OW*Q3^^Zb5捤]/G L>n;+u9 ]f:TB{KD$>ݏm{| Wk^' +$zkBB-c"~f+?X*"`2ZajhZ1޿Ÿb?5\yWڔ Z܃oi[hޡ_{5ᆳU '2+j0%C1` rPJnJ'sufЉrX—:؇()fA~LWC-Jnm^JKZsx-WnVog*b`=HZ=af)sO !dmauTL(68AE }P8~šo!X/1{q *cGi(T9˒ mv[eExڷӒ B)/E䆌Ͷn? Ѕ ,vlY7 &>Aĵ0ӑ F+-ܙNoފM>O@ϛޕ3>?arkRnid?˛T@i6u(iXOQm7tC>3^c̟|Pe^?-xҶi0e(@OX le-Jh~l%8ž925RLa<,o81F8PCb-^b*&!*$5J|N^`FYxyi"(zO5](. 8nX HG&ebcRϴd~5pQn-o;/rS{ =n7 E?m)qLiFH! '+gAزƀp+ʃy0(TW]rȸ:Z;zBXz|σA⚍l<\+ˈ1zXd3h(䥫=Qw,! |( E?pBޙz<rjzߘ 2~G6=:K>p(˂Wڇb  e3.by=.dD#.C<ҤL~H~qZKȡ ~DY׋z߭%;kޔئy/d-XtDcGxto~ɑA%ص9^[. Ddf|T-auar-\T!@R>-(JLHb؅/XhdSkeJ{tޟ6.@Xϼ|P?.Xſwr(rQoQw>lzT>$Aׯ㎵;PV1T^?Vni @6Gekv$!/X~13V6cv58ÍkկG+S܏<"*ZAd-|`E[4*:jRfoIb\gQXbЄtEX o=m:-c%DjRLw ~ci ̈́E\`)0e1:pfMq2Q6Po6Q@4N/N̑JϴD,Aы 9VЕ3}*g$EuFfW-Kjb}L#lmF79, eF 9'dci[i]p旎I zpYD@iYc}n ܄!BlZsNTR1]Iɿ*6j=&t11K=Qւ򤤅D*sYǛ7T`}=3m5?jV&=TPpqZ UIq1}L^eo|߱ubޏp &r~||J)=HY"e *X3Oјmy(stЈUgN(8چ̢Ghg`ȟ $4 >y*;_w1ev秿fѺa;O)n UτD-^8ˌݻ撒-3 ZOP3xb `@#@NuLVTN̷UZem l:WN}8D0a0m=QqB;B@=L #q5ַoOO2%v/gU .Fo ېQB[^JB&]]jo\KIE@ _KE=l!Fi!9Kv6 ,Z隵i[kՆ7^A=k"x@,ŝ3ͳ eQ_׌(p3|Yʝ#6Թ%@M 9RisjᄄǤ:/vzX̩lb!¨^9Jk#yzpow/DK% 0 Az1h18+n}u|]A3K}ckɶKXp+}#_c80Kuߝ,huJADa;y'c봗O2DAf]wP3H]vEB/ԝ~/T71v]ldEOJy7߂b]iίQ si=c8[єW} jlH3+ ׌4]1hBXpj09(~kLRǞjOc&rգ ,_J9%񈖈  Z{8v!F F7MuJЌq}+m KTx?S~Wpl uDxmw*{;\s1$0igfOO廏, \ G1ne&VƼCw[XW#YX?nJMŇ0vƈ#K۰{b֨N(] hP=f-pCe'}"vOjPV%4v*?G:qb/Tܣ"BjpW5Ȝ=֗ʃOۅم|aj2|~UWxe&Ϥ&*/jfA(Ɍ>$ū6Ƌn.'V휈FoyPyE+` - K/ћ3cKAԼ"3vV,(``罚7U/iԓ핎}{~oԾfh_`7azi:Fr^)rT"`T:_T[җ,T=3Ui**DA_`̑Q! <;6{$}4셚N.UU9EvHpqЋ)9!śrBP7ݑFϋL3{Nnx#PS ȍp%}o9LyR߃ͅi7&%8 B^\Pl/tN+uqre45*7}{Cf8r=݉rWl /X Zp>J< N8/"Un_:`kO&fwhfۮm몺o\BF΍pKhTvÂ(Q6jmxUKްTBHdD ]!Iǚ8-ș0-4OBͰiA)1l>m6S~^a/Njw*1 B[ˁ'+,E!a$'Y.:=OWn;Vz(YE_i6$d.<YTC;mv9C NJ4'8o|0|s{eH⏜{Ȧ̾g]PeiUBz# MՌYH3ͯ˰uְ?e s,V=w3{oogn%̒ XQZB/ĤfrT8<ӣQ[h"t+Q&=OTX^)Q#<;4=`cPzAyq#Zӕ-8Rq;2?/woBI~/s*L˄r r vH,^1#O4ha2NODշ(x{o\>sq*"cI cSz&똶P8Anlh*<q] (#H foi#yct.+RoM=3@; `4tp|Ki41; qqɋ k8:B,G2Z>3Crɭ,_į* oſ#:Z7ϟꮗ/TeS 7Jq-p~C Y"V 0RJo}sNǬޔ=L-qeL#3vݒ.!+Gq,l^2?$"~O#gЏ{Eg58(|p?M"Aʃ^^(PQ\zRC@FNNRPzuf*"E^̟VтZ#uXYɟ!I !{(<ʈ l֔kPApN[2lh<@H&v="aeo"\> YNѻ~]\kp#YסᯒȠ/;[Ej'zDʩ6'5ud/pi6ųFdP"b9hhH(Q} k mw ׵g*/w L/ڣm0-Zy\-9ޱ;(89S&IrUtV1 $cz ]`PwW;m3]~ -Q+R.;W+ma"!h@"PMX]|fZ{DM֠rB'2E,*욕WΫN]*ldy!tNȏ.#~gO$@ԋ;/qft0^l8ild"AE~//4vj[uJhz݌Ɨ{Iy͕2UB)V^zlY.MF3G=~PgKQgOAl6l_鴾(1ݛ69$ ZfGA{E@LG dK-EKnm 2zQ@vʲ1R(Z)-1Y@ˏa2wt:Nݛ1.ynY,3YƌdQ M%䲭G[`D%_ . k٭RmqjiYVx>&0mg]ΝsR?h ܎؛9L._͡Xņ,[&)YERi*\0T(_H9fɾH Q+alJR,B8qL!Ca9X{U< stPf#iN e?A;3OLh+OwKN1¶ 0Rk,H19`kNVT&wa}):i¯T}qs7RD#Z[J@-5Aw a ō!əci^F$<tQ~=CU'Fe](Yx(8h qbݬ$kU )1Δx9. ^J͗$pK?u֣aMufR{[ƮW!^P-DY ala20>y7f vRJ. 1ެg[7IXF3 _om LTOJq8Q3!k 8!4r(U" od:Rpϱ~5rwn'hf[yMex"q}8(9U·5%ANv>摭#ŤQuV{A؋=7DE%NJEPyBVJo͒G'4ڄNo  18f.ЃD(Dc88Ø꼕SVGtY|L&If{\+UcpHB}ubwFcjJY3c|mzW<0oNuM L2տw9.x7絀~ռîPf k0>b ihUF' ;fYΦA|{,"q&!?N2ܯ,+imUZ֨c \LO]ny$8\zZ= 1^˷)ӛٸ{f+]@~:2e͙u񭫠F%9lnȁBu^wPhq`/Ի@M# wKGjSQKQw2ڎmh A7dGqqKdSd #A1hQ/5%_GJڦK x6991ٰ,|Me'" ))E0#Yfi^oJ+ ';ယpF}{}u]vd!˛qIcnń—~T ŁS+ ii8Y\xOj~~FEb\ 4v028ϝ6PGr‬6d2$pƖ#cicO "-T"]O- e&%~~b'lI֚4 RPeF?h:ނ4 O>OZ2Ԡ&ndx>ѥ0MT+R,jCB0aoc•ξak<:-y=G4qxIe=uw{5| f>J'YTv@KXxZ3JQ0I+q-O1;}LjC,> M:4zw9+2opLJO7Fa&=sE#߫{oקk" "փ|1HaDezЋ'C⽻ޗ`& ݾwZ5H( BjkKUԺDdosNzl"kҀ͞U<jȵ)td# ׫tkw0hXcS<% 5&3sހzi(R%s0X@݊Reyg(lYf5e>ۿYG'km'!@bx730]Q2)6/m{Q8h`I6M_3xt-¢̹ATy\Rg2)v2kJ.v0ag]B;<5Eq+y9Cad:x Egn_i ͚Eo~5|SQ åT0rVet A"f_CL5sLMQ|֡ʓi#GXrVgA6$I;2&`_[5K·%ҽJɲ/Oͬe9nY75WSkcJ]lו3>ȼ7]zx@?\)?{]'$988E 3ݳQfZZ 4M2PIYv:WgHvbKaym;VQI|b/e3#|e 'Swq H>b u!FNҹslԭ2gsLC䴵{Z~NKq$Q8ڙ4ae7W:SP C)xodj#0{mC ǸhA]IV@DtCr:6ǣdnU24IZtET=Q`f`8VkkB#՞ߠ-_HՠN6 6`zZp( :984kTI@3iE7X7ۿA!j^r:^hvEzOzn'ucx``w1 a@35|]Z EB~{~ o;({[.C7_*5rWY*!;9cE_nB赫3I₝!1 ca-Z̦>nگj D@S@I@$/'Tl: zb@Y_ag~kԿVx~ع:7İbȐ^Y搂&K { 3{MGuݻOOAޏD&f[6xdW~Yh~9i#Yo}4>kտrr[+M 4|lf 9I,]pO]3ϰZW$XW-'~j2TU >Hxe>K+F+M5YR!Tٺ5*z'ͳdg) 8c쿁Pdyu ʦ3gj]Ad6 :YJ# #?U4J5QH"{]uti]޾gS*$RS"RRocU$lqoqYI˖|XӛyiϔnBx=أ~L+0&Ayhg^`] /MsÓURrnWbN A4ksL |0afFK*wm97>*9I 3: Ʋx|s3lUv?)v뷰=\A 䛋QZ-fW }e.D^JaDoɿ$>}?'Q=҅"d7_zD/rIm ~=Bos|a5>FC}.|AڼHiCH)V* 6J)HH]̯$C#,ߴUs1CCyْTGBwr\IM@aD]]F#Z'FF8L13 :o'|]P, x%05l3m&cWn}?2C#zG'g=N IK7٤,|$-%YᬇЌ{!`psm\Y|D'1SP,]25(ah8>Oj% `LX KmnwdPdkZ9C)]ʁ!bgvG$;xe: ap0!x4^wqxN=[HNma E [>M#+%R|?9who@ͶwE9`\7vdj)RJ `SR{Czӥ>D{B45(SQk~gȦ `+TxKxf^{gu_zJ]*eRΔqWf usG4+,]ad^2$)_oW:ekM}!3Uy3ƹO!3>te[Z=rx5H.Ko~/ i GuM}6jT^׵c"sd00DÞT EK*MA71)?j|l - rpٽz@"zVX+;'56nɯC2 a8dHb:ۗg/=UDmRRGt݀hzPŸ/9F}϶߽Z>eBnYM%7P( ~廆"S3u[G]Wv|Ay!E^Cu ]n[%i$ tYIe0Q }Ɠm ~;0dkZn$L;3uku)7*6TԒ]\s JiKQࣸ@ux۶~lOAU|UG`/NjL)%|^y+I]}f%D47@5nq-2!ŵJX2RH~50ТF}%Qka[a\mcOT=8SyxA\ǧ-Q_V*d5*4z;?h?XN^[}CJ=x4q>oH?Ց* h`IgL{O6rH%OW4mE%nvSBAX%OTH":-L\7~73|-t\ r>}/ cmm0UU=stKH*<  #%6k Y޲2pw6BTݍSiSrsi?.ÄHgyEu\q~ 1P,P$yFp ~o.n@e1`wL3t7VKǝT9;cO\4?y H?zvXtAA}P6ؓ6|hwzwA*q 7~*MGʊzfģ@\E_F}3U3(v vgQL_W;.#ܶ+Ky:>h οInH~s+kp%waH퇰pIUMo#76MG MMo$vO#<;ʝHݭKUW@Լ+!DG.;[=}9ePv3uH>Љ;—QkeN{C AKa@K&D)CB V]Dk g[L C^6}o֖V+WR;:^7ǔ'WF<ƾ- K6F}BntdIcE6~Wi搛. 6T?I38k)y]E!`u¤X"!h6gqLz4"ߢU>q3 B X3N:3M)5DSΉHnwXDV̜&i ?[} 8f-vT].jK5|ĝe\sӾa C-#ԝݼy]lc$2c܆SDuRB5Gex!БDѕH,f*6n4Zv14[ -ʊ &m _Ӧq%'Ls\>(ҍӭMC߭0 s@p&J?ˊZ䘘\Q.2J~L\3uU uǾc4#{<ή{DR;2s5O8 :{|"|nNފu8*Ϲҷ&/q4ޯ_=)[/ h~7/4~:8<샏ei\` tAξ>d 1Ʋ 'Ǭq7;u3O.30uD F=Dh(~ֽzS QcĘU^Lr;3ؾ p)| H A){7 }8h }|uܭr-g=|I/B=Xnߣ_(6rQF ȧ#5!=dߺھn_S`|[ԑ/ Sqg͕H8Vgk~,@eZyDeR4v= djסͺP]kr7wwY3%4>IC>\~pF; }\r e%A32]*0"Ǫ윲,t$Ye9T,rjoȮ`HKg Ry&0p#πoN><{}Qf)eG,D0E)u;Wɿa<ׅ--suU͠a-b]+(PO?x,QLt'l3&rW [ 1+>uT 2SS<KbJ_ FxĞgvk |, QIU/3q\qG֠,G8? qIEIjO+9eF(.2UtG_(Dk~ PWMϠ!h5sT;zXcAiMG_O $ݙvjH8bFEVLC.)u'ηxͯ1%irMZzпTò}aA\u۬^?c m?t SPLǣV?;_h~J6 C J5,5Պ6",1@XaA"l3tl хMFho 7䯁,t.RId -%#*)uL8dZ}]D,?W<#<Ί/?,0vd!wZo*,EMZq )R[D>%ǁD)~&!?Pe +#́X*5 36SRӊ_AΪ( q<nѧpۮiu6)N Z<\k{I`#EvJVǞyD:Ro+c| $ ;Ss(* w፨E;Gw͹(|yҴLKpWb^OgW>W>{>%`G=sdeߺa}l2p0 Š@1i:yY1r tRFPq| `r7H}8_/m4N>@GԀZgaQ#!RZٚ#])Ͱ:HgT,G"182#6>OGU Q7s%7Ў3,o~UISw.yx̀^ z?cP~_6 e,ADZu R؄ ٫td`M|E~.?^qrӭ<66?w9dZo+D<Pta0:<;4 J!q]: ż|dϟ<.KN;|sxԱ_ 0u:R>z^[?~ [%Q/7׷w~CѕMopQwmS9LeDB~*5k RrͮiP *CLCm>Y%$n:,?nf=Ƀgo96܂L+:։#~OQ xJ{׮MJ=v9!۲97s Ni8 y*l<8Xo^G즞D{ )q؍fS/ZSD$m.+K(\tVa7ScP$$ x|l@k_KNpT/\9 `nV)&dyΘ[~+e'C_$@e}9)veA[-6@ >s>.ˏSc̹q2P $B]c2,al?%k.y~zZY :/k(CM0HG St 2ᱡxo,k]. (;aJ]O"9㊼6r+5Ҥ w`.:AtMKY/AmPnJ8c_$!gPX{02JkAk6wCOrQ}@r77&rw3 1Xנe\{3F! d]sdH([Ӂ*jɴ9vyC_i*v<@h$P0^:lIyv8B^0,7 Xݐ{H_^IďDiejֹ]f#{X//Y_#ôg!&2čKcC6Ŝj6"uu ->Ql69?r .nckk?eS4_cecǧJA!ok(6y}ӳ$5.kpg.sDb a=|x0$U/y.`[2Ѕ^~lPP!یbIjޠI0BgИ) L _6S:l12[%kߣ[H:{D;hZk, yVг _7LaJ/s CpXi[9l_p_]yRrZ/Κ#{H@^7SIi,h*Vu 06FىZh| ;Ỳ)X'ܞH-~k""I]5ݒe['wcl2bTyhFVJx oph"klkDgn »9ŃQY zOCjlP|u5RXFt(=2ϊ%T8";{|o~qGHf|, zdn'B/I=xqMz}{0ꇒ Lc@Eފӕlaw<渓j%Ek v 65Q8EY΄'<5ps߂r>Y!y0ߧL 2dt~-1̕i> `0BU̮ zكu/]9CڮKD "ꕭ85~=DhY\|6`(KN[ՈPQ2le~3h~2UO@9Dٮ܃=֫j8cY-GSX3qyYn8nSZ+jh!򶫡>) )Į=| |='BTqAɔԺY Ch֘gLu |s\ՠ0rs:òsE:BbSi!:UAY됦f2W'(OZZ p9[ݒx7oҼS4 l~*+~E\K3g[#OTD̄& l:, ü>Š%5 2v7BiJhiz~^$5ZΧ+(D2"}Wɋd4/|uSDP]Xb7;f|u|Ε%㳖Q@}o 4u's:Ay Z5DHL=@o*f$&Tnafֲ},&{TV<[Kpq|#FnRIb쫽O+-H`#*!G7 3F7?`*``ӧg1_:JR'I ,UmC4 יg[o%Yfإ&jgHyhB.N&8q_pXJ2 =;=Nw!09"Mu|L*J(tP̑1 Tǩ^iJ0l[ mq/& *<X˨ ]yby"oߦF3ش?J.KNh'~f3If8>ց۬3cA`ꑆbFg1*󯯕;!w*-U1C4E$p%.̄hN w`LnI+1ԓrxa}ֶ{Xl:mȟ~;?{0vȦ ?Mt^|A[{ 8[RxJk-;t%]91Y YeIU_|oc8ueo ξQ^<~H .wGxt t>o3Uee~m+'@'k"~ T[V[HtI˧r_ڐE> |֫[@|0'>@ɰ9q”HIy7ߕkǰEoAs0 aOs UN<%)^2]A4=u37K\T[WZ/l^4#2\x >:WJZ^:M_'𖊛)/Ղ𿶀A :( o ? B koAfƃվf_cF˭~{c$&n%WH-­kqXD{C&.Zod?Ilh&Չ|8+peBE6)r!'"?Dn>rv-I!%隬ݎZQ K?8Wƒwul0^ hFjҸco1ox~f:Uev'ޚ}E :B8G X ^˜-є .2FA]jVci+Ч<[A /fT Cc-p>8fG٩3!o=Kp%N%҄wdI߃#6/s$Yn5]M{>\s 2ļhwp=р wܙ,ʬYu~ۧk-;5DK+ Ň.2^'Im_Y'~d@J[";l.c1af\#² n=EEJwA JvsU/NC~ZH"k\QSƏw}OFS/fIT'2efy3 kTq)|w! ,ҵU{opбw?&iFW'?} $ ^?x1l`Zq/D_ !DJc#_k4|:H2a+YNk5fr{<4\RXVleȷ ̽ fGuY]~ovk*Z̐Tg3*fÅ8)%pJSn1Gzc,{GwW] (LP9(Y$O7]_fEkm5Ƭ^6(} }Skԓ& ҂u H%J=+mӦ̈́5'az ),Sy*`Hc!yopȒcjzwCo#z*%ڀ!oz@9CYzMb1x3~q=Ǐ.2M( mhir:r\eT8ݼ?}r֟qWJjeZNET']L~>"Mܨ! =:K3tFH{!.æ&zd\ ӡu |-\O1|aS\Ɂ.;y6&K#S*iv%7a]6x-`Θ%^f )g0ۖ<@3^o{7w{FoK.ʿe18.GG:p}Ӭy\=eНb /=_asegtpd6IrJBzx:(L0 QG~+}Kq6os/˫8DnKZ7M>^*5O?$uv& &b)wErX <ҕ% ѯ|quCHft+D=WxQ~ \I4#DEnlh>GKc+Nl)_R\E׻- ^nlvl!oLB4dbt xO$sOZrc-4-wOU,рe#PP|/,(gTn.~&1/bw+KR>ki5Ï|xT#'VxWYʼn9*GJg€d˟0M bz?m)=%M9Ls"i>K[j 25Y&N5~$&H7Q_V Xv^KA)gɤ웚c0XԠW˭5UJlS> K|x'IY@/yhsC̔ڼ>\7e @-O]Z9:A^pyh%%IszN.z2QyjNG1!ǠkSw{6(l^̾? V/폒 wRT>ͰҜoF̃_y? \ӈFSskDq\梬.¨^Vl0m.q/Ek^BNHܸ؃ e:x8ud!agk1obnP[{-.}d%$Y1rknS 5ਲ਼f7u+_Uy|^|b.}oAq+oۧ)䁟Pj\=TqʻŗW`{MjK" 4@`ާ@$tSwAhEgud65}`e {Ho,"Z`aq x$Jׯq0ޡd l mYbV; ~#>LKChfF+OxqF:Uߒ%oV^* İwQpJ[iK@/d¨nǩϯԒt.3[3.Nw'+1mYa C&A(\S$ܒ*i^laW[yt"Rywiβ?ƿ8ٞt{Erlf*}Wr8PרZV(>;a'ܨnTCklR@+MmÌ(-JCQWX3-y⟑vxS;5kKidl-~1=U&8Lw!e6d-&u%46ϲ1GK N/>CQdĠ̯G čR*nkC5erQ`U!jp|=?vr 6=9PkޗY؞]VEu\+mx(9f^+f~9A(XGDeso=n'E;"4qѓkb'G\-9Z]2|\kJ'rp)LPڿz$vG$'}j'L $vƨپsonER)D$l+-LVM;܅#k=Ԭq?1ƩHVZv XH}jr]?)r&'oZ.poݜhWHln,dǼ`y-@M D t,yW^4c !%oB8fծc|ߥWf>j%ٜk_4 Zzs{R8z]Xm̪rxܕ?Mb>+vK؃z΁O5)3i8̪99>bA;zHbȲF61޿>tE($~)Lym:^6ǼޕH>mŇuYA=NEQD74^cIM|ە"?JcIA*ۼ; #A>zM>\m7;7'5aا(cC$Ȅ#PW7uk+o0_ߺ/))!z(c^e9]UlA|15b5h/Վ]Qq%Q\Z7Z>oR!w!=S'pc7V6F0ӶU A<,,%>Q=vUǁ`jYֽhT;F%|Rzt{:6V//6 1R&&:S^~MœË J],„%Y2]RzRNU C–ǀ6i RP$jtj*z|4U^XK3h  Pa|LǷjs +vdU{ƦAq{ao7q7_e7UN_/(?!VKǓrѲdSmg$LQZe_B_R  C㟗땞\˩ኣr2%]PP~Nb %q?4ۄ>~n5'~<[W;wFJE)T{.Cq: ?_KːoJvw}3';w%ݢcqLc`/W;ҠI, wZ"_I?%!!,߀ĶXy iZ& $?B_J$ O CqKK"=?Kr?M|tΞ~·ohAaD!'^R$`?#4R[a4?_Φ}d,n}=KM&y/~a-kM9@ϟao~i!#ן*ϓ@yϛdL|U#i/(?0I,k7,E* Kڿ7P{yj~]T# -AÿqQJYĕ/ϪwϊYu]4#O qf?)M;QVG&} SN~4nuAG~^K$o})YdH"˗HA߼h,?/R\͜} EП(%uZipnf6G}j_  W F:7)] c6J#:^L5qw5jN_-~3g.˯Q(Q㿃)Ɖg~[E]3dNOf)?e?7d:Q$@2e7F5橊ץ/kلrh~#F7aWςaKb!1:sOg217yޙǃ,yI Q#~ 2 |n!]-s{ܯyf{H9$,._0lIO2>e<2R ";z\ЮiG]aFm$]XF%qxF<K@4^*  t7"yfd8NS2׹=,PX)7ca9эP~eLNe:3*ŁYH\ͬGz ka6 l>#t Kl1Ljߊ3Πr:~[`asy n7Pڌ9f{=pc#1r ="W~r"H6uy%^JHR Q#~q^ 5pi۷Zp߸;G`"tJM_:Ē[U3S /0\nE"1*`(Bs:xVm<qϻЯ=5m>Dc+f0f0p>k @Blހ2R"b^NA`l?ʤw0 (t 9q$g# ˣh$< A\E'&l 5=5 P _8Xa:կEL ['J>s|;:ZV ^.~Xɪ!y_ߜ>yb~p DTr2su_rqa:'xi)//F9M|9H'G擠 B>'4dsFӊ?aU\RT։0BX|CG@}s_h ݗ|)]~s"b{41^ޚ-{Й ,S[z1,CWsI9*vҤ.ꋵvH<,Ƶ ^~Π!YOe:ɩDMV.z-pŕ(c{0_|A\I6r_C?jG;5U컜V&-MY#R!Uao۶\G/|U EroEI܋jL%c" r3ƈ$r{ 2(F\0 StӜ+"Ĺ-Fa [F1ck-l$KآH9`hvHLN91lӄh*#VuV ATC^rz2hc3tϲᑶL=#oRw x<@T#di8l8HcB%`~UKs#}o(D$7W UpaHNR|8`,_ꀲV+(d&E ڂ3U5_RLI1%2Z-Y6LoGoﴊoKx!are+ǜ/.c5X/DxYctUغ(MO#DU{6$!x4C$dɹ0a qfqjn3aq:[}D\ڊf)׈6PpXbk:?v.`Zy_8{A_gUk41E dݲ` aDL4[ {R:"b-p?<kgdeSa 6|I' H;zJ,b e:AJD^bu{'\:»R֙OQv??=!\N|Nވ >q閶<8ِ [iYOb"[ar-aT^c^J$}gK<ߒ{ǰT~9<mU|TI'"e ]3a`'w4I)Goôen=Ȏ~rH >ыػKIXH 8'n2=Ga |Ʉ+8aŊnd=1;5@¸?RxoyYtXg9s@o=? y~{j(+ o=Fqf[Jk3ė1=qvV|GV=&YyY QC79#DFD2-9%vgŌAzÏ%tByn@^sp0lQU^qBpduWnj7}FO }CePP-dM!'FO=3:^-N7=Nr@$yt(HS:3ti PxY,uUxYO;` vQ޲M(.9 HuDl1w5̢[9|7$Vtii++,7PK# 8-,y?S>$i7Fdu b2an[GXJrAxcSC6V)DJ]+5is]U#Xs ż(T"^F&64x)q}=ʋf_T2a3޾-1:߲WD@ұ,EzZ苔Z@o+o)k/;de幊x"1R40Y%.`eۊt/ab+hm:n,f;wT|Uk>}aGII@S~ ?y0eMٰpYm]YPS],V{'}ۨ+ƿ{e I﹣~7FauQ \[>ߕc2!M3BߔɁEuDZ9ɤq dgc=!C껺I>`& $ILՇ`,]Ef0c9Smnq͸BEF0ׂqrck`ea*`o|3g@pm“u!H+K Xƀ#q 5 c G9odh0z05Vl]ZQ`ȮĽBpA=Դ3_B,n\89pl. )$,_lX: Oռ_^x{utOND=63?Ґ㹞]!\JM;`P@ ɧmoϾ$o{pZyOR}HҦۘ=t(1uFt_#ʕ̚4g|yxZ9id.J# AtCO(xE[zHtܹ1K^> V |/(ٙ,5qj<] 1' x4ZLL2YyeS~p} cRUhWM.=I㼠ڽ3By!F8"nbxN0.SBTB2%HgL^03I7$uVZHȆDSVl*KXF0}Lu` 2UD%q Qbؾ;N34\o\EnrH3ˇ{+%VS*.W0(g NVsQtķ8[s\CͦqT'7WЧl;xmIUszגDإfQ˻fݛ$:6zGA8/.7ߝ[3Ɯ  m7E$×J)~EǿvrhS K^ wH |? ysWDx.siw=Oa,dJo)DoQvGc[;OQ,+G3$oo/K2Z>^yuCEʈ]+m4^j+D‚cDU}Tkb( <"QwH"~yƇQSyNnkt%ڗy\@R=7퐙pNs O^l+:uTgw]8`/Hr_J[XC$jcR׃<~Ň83 d^\1[hy*1VOT#=5EX>̇Y 7&=Xp/:DZ7 }}u9K Q)*[x.O8̑{]?9TPb3ccbZRjwVY 0ts.ጎ;/F+§/J !s9f,W'7@D 8oP$z+2z cB{B.".[>Z tcT?ԅ$5ƏW$3 VRB0o seFjxYja<â2ކ*e>B7ڽTOrw.h(ǰ7ΚyHeL_!_:Ş^( "TES[5ŨMrU#46AZ!RE T uC;hn )L6)3␶]ןo)>rm*VDy s@S}^?(`j)7%茟$`-!{\(dcet{XɷXT!-GBt8[,|+W9/Z[lv&UO() ցtN6eA`֘~M *FQ "ׂ /RӰ{=w2ǒLA 1— /cr[%&hԛ!ҍt} 87"G ! >K!O:q+4I޾40 \zWFϥo?uJ E~9ྵn`:ه2TZ#$qHҬY"I2t9 5 LJB/r:&~tFׄ.@lSx!Ѡ,%\]N@zd?mgܚYd s0)(fW\wgHx@RH;/n;\f^;#I13.%*B C·0KER҆amO>4t5 [y˟4gXDT:Ff}cjxД dΚ~kԻ9%)R̘x|#?]7C:.hr "DJex'MGMx`~%r^"Ҝ7j&hJ/G( E_d(DI9ebcKOc@BÁOZFZBOfDy؜aZeE| aAg戲R1xoڤsO%pu~콎 UMH 9s2tH8 MZ.x1q.#3U%R@ `WN@ns&c Ðt!ׂ7KM=%^#He=K0J=wjap#~DգdQCi1.\أfډKҸ@!P-X)Vhp:^ЯPW5DvzUWޟZm{6Ԥ4<ɔWܕYBp.X@&/%Wᴜr^VCXP)Y=N{Urr73 D>c)eTbE;-,ab=]c==F7X|SVϞ~F9n`ϋC|3n~2,MW:^dUkM:>6oS&%'½_Ċmw:p#%\+.y} )1|EJF^5Iw>ҫs˝?*a KVC!wϪm[0M"Olo'\j̋QgҙʷE7XGKMm_${cNK0_?;j-sZ6Wh ٧ ͇\ǷVr/3o%Q3@իDova]R{m}ԠGR04jdkdZ\ƒIheDWIzr&u g؛, ZׯL7.mUtkgxنKO-Sf#e,d:n8%x7Jg7[շoEڸ/Ұ6{&:B8e^9LPzwTfHܝp7"z ۝t{P;1 5bn^]_f }cp`#C ҽؿK(˼u!EF>]b'/ԟuw70aUq:d=LrKd9P-|˱mR}0&wv {*88V\?6"o-#kj^dXu_^6nɷ,HCVhL]TfzUPuA/~)ላs.w/OတZݗꑱ ^Ƿ &;X(>438Fд5h=w:2뒸&.ϰIcXoi*lY1-˛ywֲt5/##gmT+-dF+B\ݟ[nȭo56G(J;Iͧ[d?$ &Yv]C&caa~L1iCa5AD]BֺJ!:jJy>.zUBڷH9ezQ.y:@6Ij^XE =|aPcnl=@$8,܊m#mR;"I#J9'3bw}^?+faֶ9nIWDŽM LVx(JP2щW7) i[lPLUH ;ghh. ~["yٽeM][Tsm;h8<Œ-!:BFYO`;c\!'7WUdf i-}jo~ C}4~ɐ3:pJ<{U|tuq*y0IɇO*YP)ؠ&{&` ʲ$݂wpfIe[%+9Dh?MLqT/j.UX!#g6!^E5_Jr?n%FJ(>Ɍ.5įJ5o+p|< ;6!my7D5:y^' 6>(ڜEpN2^ DD$e\m yo}#<Ď˂^M=^¶J$51JB6)CqywQGǢ\#aU4D$ECGG [%W?b;cH|/%=8`CZ qy %"~ a\1S-6Is0վiեGbC>òtSn 4IA87V P`)x 9[#؁I'>n U#t}Hw6l |sS#F!, snzWNpNm)e}iĨ#ؐv:lhIlqK/~\g^lVF㸑3YԅT[O>KH7H5MT@*4EXl kvTΘ1W ) hHuآ=NP &;:|2"aM黶 u>m$N|er[-wYj%R~;;@Mߨa 꼔Ee7P7h)<IR!L'.'! D'| ,Ct~K-.VN[w^u-T+s$\ t #w οqybߪ0k @w%Cu-BF&lrjUoRq+ŧL[WH}J G>OTR#?n.k~&6n2ˏL˳B-1iH!$r7CA8oӶCUr |bXG;"wg@^d'sZ5s@mSA}q=-v;R!]Oe劕P4u-А.!N^f)W1$KUk|M.->(D1%e-STi"xe pRisi'c֒tuGh{L|=~wrrbQL(F3h$@O@y#7ۚmU%{GXK') a_{-16ɷ[7d+RWe>cjUZ+r7K'R_-v#ߛi,>ѳ*^~ž3 b_ C:}ܥ)UEr{hVLDB+XtOJbGݣ㄀f?ϼ ޮzU פk'3%X( IO]bνX;T_#X-Vs=N̎5gfF$^ȀB4NUPu<y,#N¿J}?͗7e{D&ȿ(8 `/_-(5WO~3xX#+HEF,,yc%D0ܗ_\>rLT̢?y0qŮcT"SHfZ0T~Onx ± a=uVi=^i .);sKe8O)=\=mrUӰj03O \>RCBՠj~XzAEJ?lU!pJJ ˈik1!\[0H.c!㳞/+v85es- d+ƶ[[F!:4{/0BϠk$m/Qg +|dqϬpaaHr}u;S y*A6gQ'yuC*M;M8O7Y{NtzIǤh0:t3ytVa9.F"`&w\1{<=[ zhvF_xS!.N87Y1).Jt0 gH\MX0r?ZLJS,*+w(R /'FCxS ;, u 믥}Qh"2kiTnbl0U:/=OT5Scʰ' %]7d* 4Dϛ<ƙH0#h~CxE'[LOe<{ח86t^?"]!ᑿQ${]jafbFbeJ[!bE4Mщ34t2o7X=^s [T]TG s4e>09jE(4&Jzôyy A)ub2C-?׬vC{0U|붯:)7͔ |ⳋ1}.₟B搲x|~}dq0L9 IX-P|B@ Ԍ 7 E\ȯ>3ǛYti]C)O7Iz5z7ڳ"b `$vhn{GP1>#Q 9T{Uoc| r]?Q.EQA%^1*FLY3壇,Ə33V,IZ\&YWh^62lcpebNV_:4D@k =rX+4k"Q%aۮ}Z ѷlAÊ`DtBZO6I\$Gl_ʇJH[4L=125%/?˛j7TsJu<65 7Uu:T*29G|\r'-v|[5iˋBkGgVV@L6(~&>>ㄻXeڹ2-\?EQ֯kc"@S9͜9,wE 0%0e[S1|F1̈z '![wv)ҝkyZ=ǢCCBM9jtK$FT=ujTO BAֿ4\r4aITBH;<* K0TMFphUf2 @ہzF΂OB#m>! v*=qqNy@\/qCeMғpŖw4d'ٓጌC]KTZ"vU( O꺞&b'&jԻ7Hg" Jnv!4ip]cr,ecIa z<YA:ec&ٯ3{Oc8/l~CC"̕ G0L yS2YZJy#CzYУy26_@m2NoEKP&3"{'l( -YH?x._5 =*aa[Hc?hiS4~; )jD&= :DU "eȿ&#%g26Z4*Fn@ 4כ@ÀU}ỳ5,ETk/ CרH=8R#hqB+g, t eVlm<(M㥌z{\P t d,(,{=!hJSa#b凊VݨJ7-т. {?al$#WcW*'%hry5I͊K]çq;ў_?g|Ӓ\ֆ78Ac5sOEs.TPXuC"̪hrIp?5˪XSdz?c2g(00Dǹo85(e۟zXP'c] cd= ccBkN 3u竛d˃Z A'g-g{_sij±Dt ʻ0ժIM>>1as7 F#9cѧM: lkGت8Ҍ'PKp'.MnxK=Eb(C@_1AOJB?ݗt`CsQܰc? x &+c6 xyo .PGc>cH .C6FJdv@rD6dmk~6<ޯ][Ɔq:`%=EX 7@ _;>Zsv|kf.տ74ZIwz 4$\4yQG . ]§+̿c V#KDsO{xRJU<b >pݫ%c^ޝHIn+,tLm-߁xYM`I WYsz:$Uzflu:e(`{'#nOU- m.3Il^dbgiQ˅;/WrFz`YTsfT(@gI\.6S?L#gs:zKNшI+]&HwI0BҲƥS/H,"=jR ?Q|0>Sgc2y]*%T{fكGf '_!n#c9Hx%EW5"~(/o,c*ԯi1 Ҕh5M}Io.-,Tk]=&BXl}y #ɧѺKSV(\&AP>0穣C=A~PiېGgЄh4 CEii6`,Q\+> yjoFb.{o@u/mIZ&Gu+{1DvD LgD?L+?S duhPQk:̼S֎1] Rj݀ӄ((yuhtM{<Dža2G!ol+jLk&t%:䤘Ƀ2"zisVl[+^$N2vdxudΆB#$=h^c\Q?it2]n` Ԅ IY@C*Ww˙kOS^i)*·z%|$\,h4hRΌep}aY`ToÂa,FlӾHIdVMKW%CTl3 q::c+X3,%:Rv]MQu^SGCm(g<~˽[$ɩWcF!}{hIQ2noRRIW5[ K.]#/I8u a:wtESv 9+zt{@r"!LkRky].N&gT=hx+aO]Y7o .X% z-,?\.nL7TT૽)-ݻy& ?TVNp }Du4%Q:׷LQIa]Ϗ~Uu|M{#o[5rm/oXJĉF|~jS~hEvoW+{C{>ؔQ l:EsX .X ?qÛ2 ~H#1@d@%…z4w2ݯ^S^]tD+c9YE >'EٍΞy3Z?d?70FL+d>mPƯ}S"1JQpEghyEg!r,z"[Gws֗HmQg\Ѫ$Cd,7U5XQ&G21|vyY`d,GNORfPsXnk#ҭUI֜|!%;ԪU\ ez&)oY.NĎSY̺cluÖ{JnP|y. Pi+>3<\10%JP@(eE܁C 2Ggq1/0ʉt. ˔IjIJ۞_y 4J_/{[uT%֠v1`j@A{O^&cVqHt沟OF}O]I?_;-z34h%,Tb^d u+8[o[܌C#O*,nԗEl Kfx5Tan Mq(yِM!=a\|4=QZ?5eØOi^2IQw}>YƇⲭK`h|"Ե$A"Yfy I.Tl6E9,i@c+^_ aTaD+Y0/f$m'VZy-pc~Rl@<6HyHb* Ec]1 #lζ' ~^V;U}7ڳyT(wRjrp[3HD EKQI닁^&{%׼~fGCpee&a^=Z+S9t}z{ku f|#>n:[.J"60b`@}fyGK5|F8}jM;ExY5r-/}st0Eֿ|yK a8ZU_JuwQ -Cw6B"฿ beZ)HDY=R'݌2- QA{0UC&ޠFUWޘ%3|R|iQ2> V%0U&f-KR宿xF,}l RO^m/䊓6E #ͭ`EA -C>xa@#J&-nzt5;'[+bC'InF'cܭB8+d[MIEh\3gqzo i,3CSVh4?rʱv&mQDBFzhٜQ.n\>a:0zՈ;Lj?^_ZYx!NE d 6C{ld:vV; A⠔aXT鬋 律QZ!A#oO`vz/gfĆ3WcI)wAAWtpslpR[Y<:;v?qxI<U!x|ZcXvOa=t~f "nj{עU"9fus<-;K9 Q@nacQȢ9RCGgZ[&_paxdr4-}sc_N?>b`n!XԦa9b)qMD)_k?I 3i}~1݇*Faro0 SV9`pP!>fA|"iN2q,'nG+ 'MCi.@̭7v>xsפ ~w<<ɯl<'\"cec]#wf,Oʅ*Y?Jn삫-OPq=2*iocHZO%aH^= [IeT-oo> XȓK 7: VCE:s{De+lC@(\"jByGkt$th&{c[5iRY;G2W g|PXgya'vɀO?PEb~)&|?n; h!dkRk yI֟o4#meuO<]<֛ תz׊žُ7GVwx0ȯqJz}XHaQ C[ [ꅢxynA1T4]X/>$c*/CY,Q~3c|ı?: 7յ]/b„m|_%~Rz:<wKRD:3##P}j72m'RPߍK~ߖ*[ }aio)GHޥ!4*."KaAm[C?)~hQ=X V݁fzlcI&\G~2cZ^3XJٓO%rn$U2 H?!4ݦ}\KhA!y%HMc~Z n%A ̉šٺbn}@EVܳ!POA7t?{5 Q[mmMCcQj #8OoE,qpCT߄ip!%޴v8XF qtt8w)(Hgf yrʿ&PbCCW)c6i'c}Š39e 9{u/{$n  pb">{/ ?:jWF]B5Tc }ןb#s4Z@f+߂O-$;4CKT&oNoWhQ皔 1a): xt&H:y%xʆbQz.2w_*Qrƺ,F SDo./dno+ fb0!ߨpa SxWh ʛ ~:ER^m!r᝿p0/Xoj IX}cn6͹lމN>oh/w-&0aF 'C<)qzc1%(m(}AGAޟqi\xjYlh tŮeqrPUdS?KQ@Dl!m㨬21{~oDRgv?b%E[fd 0Dգ \{;?ii8ζcEg\ےMk@m,Qϣensj1y. |+M4"/UF>1C-Q@ byIpZ $Q/d*:'1ENiQ?.8|=DL9dҌ' lg3dJe>_(҅KZI=Ow߈z,U[J 8z2OӡYwxSpO 0}صq,׋"nȾB! ! m `CKzrH*SRK_H Qpqj yl:e1/jk9*P}n1H,f|R/ME{ E=аbODatǟ@.k1`XjJ"G}N_Ĥ& jBQq3RjtI:0\ Tv{\ʜ Thc{S2'FH~-9*2sEAA?}MD78-ܫ韊Tj2TګfɉO9Y-O c&*[U‚z1F~fxc-[@W S}N$+TppSMPY]ןy1UT$0?e9'I2X- /Ƭpj.>\WfPW՜b{~J吩u8zԍ͵iae99^䃷Pl ӭ*hKl2. Kb%XĪ̸͢li $tJ?f-'4E0!ƺ#oҕ/+?mئzn0u J5yō*E,71dz1a_/ ŮWaovBU>aJՓtZ3w|f:=6XI"'\ .43'ZNyPn)? Sȣȕtg{3  b_!%Ǡ-5= EqctГnj˦lP#p!тW dc97VVdo/9 _ڡ9#KN+(-R;Y*Ŷň2׋fqR[gqdv,B͗h C1"^B-ǾʜO@xqtNI^uuoEhJoH:VP>Axj뺰=!\儊vX ?p8=4j]F"iw&23>Dg ?^k9r_^'w-- oX VQVwnM7b|C"g5K|Ea=gLL /rZY*EHfmBAA|I Ky XAx=Fw 0Yi`Z\T8ی gރ?Ih-}'Ix_[Mz{Ejt}0匿2kYэ\I^IՑ{ ߪk Ik ҝ1̭BG+Ga {?IZ",/5ETD,>g9Wcoj3o%9֯i-:d%Xf`ǫ Ash6IEl;U$D>EY;ݾU?=s6#idG)61-!N2F*^zx,_o?%A&|nW3 hMZ|rݟkYM!% rn_xiPpGoj2Ga3%裼J4`h|~B"3ڌde\2pnELV(Ʋ_彻ZE>'TBA|f \6uqczҲޝWH sĤƁdT@Oʬ=kr{y=YC⇉ĕޟD^*=;H>Hgs,_lH}{]n++OvܮjJ%|eR;7y]m~bpO+h}UO_yeNj~ټl-7B T>ou?}Nήɝ"c$CZq7; F 6p=8bq6W6O+GnMJK^ { Q^x " ВAs")o_>lXpo 4-8| P{}b>o9:ҫ\yhJ ]sʒ8coxH( cCߟsGgDJN()#E ИШ)h%/$iK0)7欜`-Ou;H!'yM[Z8-T0ZLeYa`1j[Dw#.nt,o"/;/zJW *Yddmv Q/ƍ X{ YR.?8LOIa|bM3K&zN79sZȶ-I#sf$OFW|YP2c0Te)[aeN!b5p{7E`5W_` = .8i Tu2r@Jb"/{Iׇ2K`lxc6mQT@3l{W2 +)nIiO;4 NSt`_viI}; pOA#+M$ B&Cff)d=Tя`Ґ=2Qd}XfyzUG𽲢sr޼4J/P08:uΖ@X7,f*M>DZv/Zb bo]Ns.ۀ T8s+0^}Gj`T->#F>7?%-(e<\dc aM ˀ7xWz>ɜ2ח3b Y@ -p).e,l8b|]]M|kw辻!ekfr>  0\7B(B?>4'뷳x:8hwߓxn)h$#tÇ$֯W!|鑥GտVL_*zE+J}d@-C=C.hfVƆ9gH4n69x,TyoW׻,ڐY-Go.V.,1taRneKec,양ɧ?D `n H1nspH> ^ZT4i{ N#:oB D]fVN]dRʑY^[i>+ 6Wƌ_TC.C 9Yc{m|NH2AӲrZ˝CΊMaѹ9eb0oto IZV3~2חMh oFhkzq6,;\9|a.y_bh劻T;s) lP*ןSG1Jܛ[@`4vS7.&q)sҫV''j--]WR+ r_o3Ѿ6)tYSh45};; ?)|Oig>M}%8M6%!*[\@φ4흝[棁E1}5~=SCcP%D^t^ȏ b𞍢Bva7j k6\+QھY}Wtcvcj}u1L)Dބ^ANGa cP}δ_T#|Ot{R$>c&YHEظf$X^2'o*-RCF<=c;S*k<.?iI_y̐y^4TTAN*|쿴2-|Z`8|STL|U$fȁI:YSubs"vu@y*!?W̥\2^wY>5%f0O b$B\*\0Ig>|@J8F0 ^7ŦQşi]1h-^DpZd4KdUYxgOo "s_ #* a4ݷ0 ˑnTXg c2(:|WQo(ڿ{"Q{ $K &Idʍv֬kOЯ\ts\mv 5H}URW&[!<rF"kG 5j6mNpE+AMO bJZwRvLm<kHrw+۝n})@ewļPt|2EjԪ9hL/u07j _hTXm=kKCV)}N-LG-,⅐Cw%Ls~)̟G_4>?sS'2'd˦=Drn|gbd4qK3ẾMQC(_R!<:Ovhkm/&Iz@^Vg_>Š!! 4oOZM {-c5-><جxw<ӪG8ho</a¯ɓ~#_,L:jLOciщ0j"݉f~YWT ^(*ɚ4n6UysrD1\^tļʿ₫qE|D+-*c 1^Yy%>&3;Q֯ "Qjl x)ux ߁C05F<=EeZu_O,gPm!|j₄̋F m‚^S>Ԣ"'57oe1mR]ͤ >5XOq*e!%hcv%M2|%CD?]i VG<fd˝`| @^𥇄Hhl#5p@VV\p#'@/N^kcr.*nμTyfxu%ң;x?DJ\~V97ڞD_ z/i/(cHH̫m%Ȁ=n|x*B"aw¤(T/ {g1 VD6Dp"xH㤖k62Dq4 v_2} kv c?LMS`|#{XV%G&ܫ GGP^¦NIߥZ~< Ä8F{_ė+_tp;(t AAHHO+< x5#LUQPȰ#b % ̏߶D~^JDm¶j+\mӔb%/^xMǔɦ,+W Rw ht^"d\w_6%&LV,B$̋抄rM2jI">U0CӽcwׄOim"-91l U&7t;T=* :?/̉m Cۨ3Z$]ݫw dQq` y~#ՏA`ߟygwԙ4ׯao)X1&.z JTfލpn;hDP9ZVيu1v1g/ 1% ;TiwF1 x_bS "&j]GajAy)/d[(<{Kth+[#|Cwȅ+]o?y{DuX+l~Y(s61LϿF 4LP4?c[VؓFhÇKoڔbz@05{`AP24GayEZlwPO^q}I[0o? Jz1NҜvL;zn q 7Fʇ7Lk4yi)>?M:ۿktPDZqn4Y¸rd2,^yyB+%7h(uQAx@mTa*m\)@á,Xk6HAg?<3}r)c .ce0N42&z|n&d*ӝ݃H T 14n3$\RߘקmZ:,}y'&QW-W ɶ:.Qf-UbT1G݆2횿BXnE!j6d5\$W}BH&jjr&Vz =W#>o¬QP))[ێ'$X<~L'^6=lg:ai:C`_uP=,6wdJ7R9ĮZ44^fĵ`d~gf] h9Fo}EB*qr]:/=PXoP,Et6]zi tlwnîaTe$˨B/`Ȁ2VG tॏ-߮XӜyuk.&9AeF2}_ $59c̙ZǁUf V=B[c!LWDu|/>ݰ\dl5d~P;L^[sw_`9:R&{:W$G9Ea_ l9>  3ةcr &!&RouCHLj1z㝴P5Ѷ$)hQ؜x!cۖ3IJIaU[PXfgB$%Syt%h1GaO(AiA[}-д~Qg[m6]+%~T<('!Y(1K1_ P6¸4FK%1gc~>xX D0GF΍ʷ'mf1~_2iCeܦef`~EquX p 9|}nBjp+yCߨr]P {P\ 3 (bqPV ߧq4Ly(4ja ~Ӽ7l$~J3}$ $8+lcyB_L(/B9q#)"V:z*겮8eQհ@Sb]U~ʕ# P;maB8f.dS32mNjrl1o&|2AFlWAԋ@Qv } Yu)d%%,2~@AjKH+KOx%?I)BDBHe{˝7)D)$Ҵ_L tNWƷFNpWи)~)c/;g3u̹`pOht'+|kaԏ4)lln?';#(bL~6Gm&%):wΦ&-qz}N׹ܧ˾>n~pڤlfČEז6oH'43TC;6cbrd>7y!3eLg% +*E4v=+qp)(|rI3UߍʆK 1.~ Uʏg'~im@O%5u7t(V C4%66nP fRЅ Əlm]7|ן u[Fx1:$a57UX,~d\z2TZ`dW͊=J7r$91.?]SVmlh~+h!m t!YJ3vՍ⫾" oc#%=]!/ʿÔ߾0,R3w@b8L\f_ۜ0&3  {Aڑ c̪R]Tnl=˲ F4s xYKL T :Eo~.AȫU}ʴF̡%&>D)~Oѷ8Q ^s¹R)PzJOpAMi(\,.}}TMt 0Oʾ7$SnٯKK⣏x`"[c~yR'F`Hw-"}#,sL4r6ԕ@8$~  &>,kfCiRcb_S_Rb%؀2TzP0aP{xA  {4r!q )YYE|>?}Wytj(Nu]id^@{ !̕#N!%_bџ\Gne~萜8?`eGEWf/lC1J懧˅!=Q8&u-N44E8!OLVh)}JR@וjP>C"(BE#]b+kyFꂦ䣐)ޣHSOgiM'v48Vƥ16bX: E{nC+2uhue>f[,a@,cL%'"sVMF _  ծ!Q7\y$&o(%ӵޚI2nGP J35cbkIsem1CYDz8 l Dd}b€ ~y~$tvFppk$&l'EG&+g'ɢA<7hpꊥ|-޿XoT)wH\|A^*ty #a#sd@254Q&|k{º,3Zﶭ26鮵 q:k@l -l8o/$yIi(~;wkQYSm߰HÁnDlnK]"qi>gng] HZP ʛ"$*v@D= D$H;2"~dUuQ{,y)3_;|v紐z}dJ R M8Pq7RAixޤ|34~%MT򈝙$y=.PJQ.}YM6. wVP):BĔ7j>E;2[{Fs.֍sݬ ǭ4f,&RR.pc]gH,LW;T43ajR;AB1FnjcCf{KEdNz1 @D?hߟZ쩉|l'9pg꾆(pz%GC@r}*] ̿SlE/{~<*9۾82C  x;@=ZJ3wgIkoL}[ cF>Ku]ocuGXUi#k+O7Q@rAVSG+jjҼ"22K+5Cd:4^>]:&J֫ףʵlj3Vۨ@=qBhrJ?jȀI&FMxhs;`D;m_q1U[ڠg]6CG3xӊ ym5 },9Xskn8w r87xqZSM#C:E{g7Szh~C% IK!=*/իǖf39Z[м,4b:m5=0,exOTG SI_blư`֓-tpHt?,[vcN>S 36 /'n8'^rH$&]rtO2Wl"R/; z엜mܖ{JF)dǸFFq@1Lм$'g*Ez}a5ݷp5ʔIbR776ٲ l& Zb"،Z7\-'1dɤ$G<?NX/Rӟ9Qog%S`*O1~9!z'śzC 6M`d* \{Л/ML?9xYq}] ::@q@zZ#Lqx~ hD8g=[bۂ 1mg-۹`;XԤ`UW284yضJ-~TO \ - Fb6 ~Ёxcf@$B3;g'yEV<&;Țzq7r)aO/4!g 9A Yu9.?0 ]TW߷YiD\|2ɠ3)im!qIU\pO]*!_X.WIf`r| ;vRcw_P$RmSo[J9WUϯ8ʿ d)JWKnxݍ~Ew:o=53Do%eMK1YhQ7D(v"c.()üЭ9>A$&-.-MjXZ3WX'1,>ϨuQ_X]UXJ 4GxT0sGc?ۈ]F7>櫸0h~@>K-95XewÓ}J.rTp<Լz?_<]ɮcWpKԏ|ݾ2Pp##E2u" 8(OEs;n X38G+ݎF]&e4R]MDVbln2_kR<ȌT2s^ >Ux3 >'BISl1N" $:©R{Am#ߌ n˴'Fɗ.m~/]&g);H48,,2scУP 7WXqۇe໺5U;1ʀ迊<Ћg/1ZqxӮ5KX'!VRL.fPE㳒PGJ{"l$hm %ӄ~O*|'R=iT0,E'~bAQ'R%4uơf` 3|"^ }d5%4Tc1b]#^yE-pG o.Mf@@H&|I Պ/Y<4WD''}Ճ]`D;$=Jӝ=FNGnATb4VqKܹ[(f qzC4Dj._x08[T7\EXi?^(z A?+ʇf5 ]rSncLʹj`p>FShK6XNdb3 -SIIϤ__:l_ޓی"^j{:0NVP:¸ "y*v 4/^Ζa޶9,ŵjRZB /uu@8֋LJnDޚ<Z^qxF+^ɱцp1+>ɑw~݀ *q 98̨U{U6Ιٹ{VʍK0xИyA3u<*3 L֕{0oU.MuV%EG~xEB>=Ӭ }5e?^m}? *֧s|c|nU!O}bZ[ac7\;xf!cȇSܕşMh|oo!0 v ZJuZD$|oPgXHfY_E_OP}5҅9- 3mf8=0LaU7#;:4Ế.! o4 )>kqnߔS_PeyunޓJS Aywzb+6܋!~%Y8&M.C@nU%g2X 7?Αc`a1mlbóGGj2n;B̿륔i ¦ 3VWi#ea{ކ!(Y}لHcv+xE8wwٹlHb':ilZ0Y]ba݃1#>|z/k7+=HTؘn!j YYpcM:@BП_a1i=?C^+/H|4+r,͌{i*.L9UE ~5|#^vdEj?\Vo&S4_7vzV[/'_G'kI4=Y;7"M lpkRf`A57%_Gjו>%EsvI)Km9Q1ef`'C"ce 9{ p"CCU9cnho~w_Cx⥬C/ 'C~0[G0p1&Qۻ 4Ŗڛ({O&1|a%=k:)4u\EG!+2}ay}aAI&"GPh7GD"\Kyu [O 9'Jazx@~//KHF,1zn5K3|_1'nag6V:=r9@m3ArnU >J{ǣrn#-[} {p'|c/fKFpNJxu)G2vЩB܂\mnPEs[k ?oh)` OJDT28F{dB&eNY7GHhd̟ ѵ4VM$`{IGƇ1 L{D%wg܀B__E9m2_Gl|\Z4Փ}ǎ$kh:"n&<= ~`Ej_]bʔڙJI-iT'n*V4P|D;K>#۞CqTVH^1vZ?$a!7DZ~J%H\5PlM>bq^= E`em(1X qYOKb;:l~WJj.}3黊< ">pLLܓ ]էLj#e{({hTȸe%ξkY[{sLpu QKLl9K4)ÏcEG;&7VXJNswxRgmvx1LL?/uzƸ q- aU@{`r3E+BN< kChz w*&O 2*D8 f=pIr^ۤL#/{Ufx\v3m~n)b J<yYYh}e!9J"0?;I{47-쮍o?@CIS :{#yj'O]mcd7уDLĘkd DyF/Ay*I\H*Þ0EL=^$#jL?!\El#ˬK";]Ɂ҅9 |-7.2 <" odhN2Dt .mIoc1w_8[ҙJ5tz{N4ϒFptu_-qJoRr;/mt~&~-E|gC2]ܝT9XiOΣ4eMc~+Iamwp$Ǒ@U-(%5J gc>ŔWCbN>V"sWkCjKd]?YHژ:x{⦧W&88ժae;xRNj^oF +sju؎'^cS!K㘋B_e5W5z"kNK2 z,AEQt!+o@x#Yى䬮, ie\?mX&GԢk<\hSCū8)_/xW/ڻR,s!s 9C-bT}%dZ! &F8_Pʳ \{ ./έL:kC=WlxcwUqE1ϟx]O=iyM^DOjRHMrULJɞl*nTU Hje̺O7S>VE!sAẍd x *ipk"c̐,eE_ܴ'?vja$:S4pzami[=7B^b5f)M;\˅n2OJ%3O0Oę|{| }1fIWV;!e$_uڿ+Jct&.K.wmѓ S67TmR6jBx1h,\@/ggƐ=ܗyF}}/B)}{V[8)JB6r6B%Կ]<o__CDFžS ;nF~8oU>EMW:6/pz MNuf2eN wb05-ou?+iͽJ_+_ \aP Iq{6V+nc'{ayI7ȗMغ_sCE4/T$#u/^W lcJݤLn*F5~͸Oz,2qgiãO2jc+ 4ٮ$BvE "vK8 D!1۪ɸdk >OB2`J\oǏ#:feS>;{4 Q)p" r4ѯގaXDM&/,ܨQs< I9 \Mz$~Q(yމf/OcB )̴w^uӸ~hNvA!bSbXa_zo|D펊Ks+-X#N7g"4@ee? LwBF^qM4;hmXi'덂~z`H&Rdc}ށ*"2|bp-icBF=Pێ #ïI E @2!7q+Eoo^zaE#{G5(hk&YVA=ex]j;|`V@jݹ4aA] E57RQQr)sYw$ۼԢ%P"WPdEj5YYƓ2}7  V g< ** eL~θo;+gD̟H1jbGj>#XJ"H*?!lgj%s_NC[TV-ȢUuV+եs%XzMIڥZ/_-_qELGg^Kۊ]vM=I憃Q_c$6OdhYf; Gw9@ZŎ gomEl@w&uw 53EסdhƸ`9B<4'˜fQ@?C4L(Hg>SIBdy_X,,>n &`bÜAD}cs{NЙ|k)Ky&su1 40'JtDZjޔZ*d̸wMP)\*q^v炞%8 Ty{ʀkߥ)fp-ԆWkk~ƼqdžVѺ) ?>Ll@>} E,.zP*wf|Ҟ^">XfX۾><~1v^7OD."UOYV Eu6f`OW7rO# &"ޣҔٜo﯀2!U)(񱠱#ģ>_I=xijwnnDZ9up=M!Z,F-2k00}/)kxG  8TVO8𪫟X@\Fvv :/H{^╕w$SFd B^tsSbu0Q&K!/X鿓X/$KU8 <9P^\ԅ[WDMa88˼FZ7NR 7HhU~kjR˻F*.}؂ 0 -, YNpQcg9'7wD1LnVڞWϪ6.鿧'E+":;as:*jqQɥɆFzK|+DU@[d:%wE[#ʏs/IZ̆b*hsxh`鿳.-2cp[/WDpkfWM&le {z> E²R1inޟN*6p]q/-}Ջl)Ŵ J)W 4cc #-O~_~bүz(+<֝*.sεvR~Q(A;.:O0[N/ZaK5isf~7Vg6lezLK ĤGgMY}hcuҬ> jfz)p(iJp|Hxǿr 1Y!w^{C' RˤzT΍B2._xn. I(%_Jwsj1(w&㼓0+kS:v=meZhNZfCNG쳵M׼ݠ|N|beY~cɗ_IAn~0aO|܄wLY†nb> I\0)qz{6_A4\ϳ^j]s?8/.gZ` o s"l/@#FՍ!!K^й˂ON_M\s,dE<13<^gW=*5NL\|='ƨJ4D& N- \>%N`\juGWj%&@/oN3I^tZ啖r wٗ.kmp&<\e"ڋg•;~f1QF"EX{O>ҚWf ['CUl /E}c/&p'%ֆ--zDV qm_뒟:jRF^bOؠZͽȽ:"<O <ϣ.O4҃< N8<jƃ,E9tRt1Hũܶ qd !`iFM3*=" 9J\,BS Y\Y3/nLa0:>‰( S|Q+vزm.2T| (b7> ,=Nί ο .v-J5X̱דIeq"˲ .͏)uKaV۝ ɆsQE|MMN V !nKR_$sG>y:.k`~sJ>a&DFi<}7e!4X/b^܆)vי&imq Na\wGМLE[mXӧ1=,_;]5929j'Q\ܸ5S* _-3 tP00bJFB_'upElr\幭c،PF)uhL;+Q4|>U'ıQZtiy,), ~?7o76.o7z*lK7[J2ˡ?Fa*lS?7ӽM(|+UT͟Gy 4HPg֥( =5|kPA#/ 7E͇gt0,ʼn90:e b:߉ +}PaS+ he$: MMWC#3Gn vM $M3PL%Tq ez7لJtHg^'ֆe$yl$zo[[op/` Ey? qMh?k3Af7&>vihKMyzaކTE "D*E(Z™8o5sPUFVE`/)YC ւ=67xq2щ^= X-FHr(b:/%єq$?_Wr/w׍n0}v/Y/ѫJufS`Ȟ}Cxa잀i)Ri"%c=kNX!B k=; y@?i慅[w| 'wMPҠb !=:O*oЕ xo;AMҢPKtWiK,3e8K6a#(9qHu]X ;dezuY ͽC4o]=fG^+Kɓ6N1ǧЁ=(2qihEN[Y}XSAHh;ǒP_= svd /sjFER Bj^_9P6Ʃ87*7"\ɫ(&]9f_{U/}}edb ĩy݇5nԔWkhm2 -U' l@H蒩A'za6>+,,B,"d)jat>.w Q( 9MC.ܦ"XB1xwb*F)f;C%'[2byCrk 7GK' 0+4抔 Lnl˜8c|^BuD$O5J~,0<"X ׯoUCPge[l~x?/WC| $ xbTXWRBӋ7SxM@Ƙtۦh+r#v/>۱[wUS|DρYm oa('ˠP4*""uƯ=5ivl2.0*e*y2 uM^^nHo`vN0~fCT6WyC9ye*u(03 v69+nA_k\csb>XSilm_fڪ1vMH>ؤ9l|zrGS[seWbR pxx2/Y=ruJqگ 4|ާUљ5,7?| i>L ]5EmBC!YUx/8aTG ^L5<%n| '_oV}@` sx{zMY@3}Nŋv[šh޷R*oT;@\ڋEN %;T|"ɻ+0֔DvCJn7ۦ[fϱ}7奠> :(_aLCvI 5KKzxLj;uZ5YP_ OD^X"%wqWFUJQ>Wbh:T'O_ICIJ/V m5 $vLoMҗ<::_ZZ7!PgkRl@HPTƭ~%q Jid8#LGf86xi!)8{'JUf; $@: ͣT`Geϣ*ÿ %q鳢iםoh?` 91lPBfL|} du?\vidΜ>y AQJz G2T!%O?[J`evwRoÅKv"lTُ%pQ~8e/uu~")?Bl>&Ţ*ɠ Jp2*zK`Z0=φ .=flOmMp g`[KP[K.V|a쿑&#;yIWnLtGÕe]II9 =0C 2,A6F_[σ{ _F)"&1Zs^'?GK6te ImQb6XE$ =VqoxU cTi/-R ~IL盭ՑaZb&3}ـ~bGɏj)0*_[Bs/,|=/+%^"wRM z}Θf.hyWo!X[>u ^ρ5^.}Qō ,}K!fo7Z[AXӔ3Nt n4^떷11~uYq`{u- HIFo9^mUf}X򓍲+Yi ȖѼbcD#ݛb\vW~#xdF,K1_#u]` &;h ۏ[m[,߈@q5,#?̦'RaX K\*|&%#W`=d5m#L($4[8_ny"FϘ9{-zaUK\)s!p~⋷Y̬ǁ1!c֩ḹ}5$%8̿ڐc9&Hzas Ԝ:';2bmimUH]nd^)|u箔z}o[|F}/V^3}8MJ!Od_ZkĤ5կפ ^3ɹ= R'nBvDnlos2Ked-Grh?qQa 4:5/ntޓAiQp̙ Rpl͓P WJx-O `X,O\Qbqa2>R wz;3C,3CR)V~۠wIF\.Ѯ'~;v:Fx(rpl=TM^k bbߍbe^ݴ 07JQ^X[o{%JuG::LX _Ł-q\un6}KL_%Γ, j૔] CW.~unIlk4%` Za>qr*vP>PKZ[<a"|32%mjy ϯz%aoU}I(&aCL:ƩIFdRW$ecxdpc!W~ZYKCnPu癕|L:548o7+LZ8U&kA)mx֗"qj`8];WbV/lDpvoʸqQCwo`Jc[z|u1"yNwdTZ&ZXGazhO0Iqo}[S:j6@ \.Ǵ,3bJU yUX؋HSM#h ߬p6, _h[9LIDbIbvcIC* &<𶿑taS"R~?Dʌ1D*?%q,:/Ag}EĸݻMw׷þ&$."}X:Hj-m)o=M hH%lHE>r=BA"Z;} =~sߜxXYӃlUsBBD 2-d~ _gPKr}8p:a_кhXUZR /^)G4A$(><{{6;۾/"uG/Ìhc 7v>d,Η`?J$y8d?%V過t( tpE[>s=6׬*6  ơcv k.|3DR (XG#$]v(y-ۡ'#2q'砯o6^Xwө-[>GC!Vu ¸0,lţ`vJ6wH7冣A2S ˇ4ov*>ٞ#m^P\w0՝~1CwՓon"z/YILfR"-_:M"yu^k;wb6'iGlXkgIOUmПkPyt,V MDoEb^U+>WO&Ae{*Ape[ӎ|jMY>_~`X}̖iQAe luӰLt)6})ɸ7HCⲏAYrP!6T72>9n[ij#m[P7TRBMW  %g/H54+tckbeI1~jI"ֲcRRsh(*RGu",%,exe<ıcm k^Ad\*W?8]j+mm)> qcP9QONN| c<h!IalsPFKhz@-ǹ!y)(h=+H,SuȔ'>CSdgYp FωTx|LC7jlPJÓ9tLEK `.:Bz5%= 0ޏz.C/wϱl_o/NMY;*Fs>FoEm&0Gց,+ISŎI<~vyr&b9 )ۧ!2p􁂁V!p ˜?ǎ}x'91o8/\ >3 ;Ѿ!c(?1vzJ99bʆ %Aq"PkFKi$X{ 6dy~Vy}̬4.A*G{R;x05f2.rйlqےmf({jk(x3GI>2Ah'}F\F+R&_G9ЈAz$LDͷtQB=DǜdF01Vr,q/Li"NΣd^sŻ f}w 1:OV}+!, VBs3hmqcRH?`4jK~HC)4AmɂDzPK:2gsKL*|q]*{X:P" hN 2F@FHn/\gM¾Qte 1УȘ'yÊQrY@`pU@Dۥ7q-?On St[HdT 9%鑢ă ~]͓}%X5$_7<'2 [ vwﭗ9P7s\LN*e}G!tGcp*ץ fkd)L*Y[nE[!OCwnKhH|>ko:kh  p1M3 Đۊ$͜ѣ}H.-zۛ{smyhE63֚tN B CO5L7aADa5nz=O@͛^+#f|~Ѥ bO˗"!@:"u(GOV,'uz=5/2O^>GyvFwܲm&=iv' jV%PSw1]W< dma37BvEƞ/\LZ%ݵO,E+6eIU.4={{:;iWZF[zւ\L A]7^q0\#Yw/ z.PNptb23N>E:>؟"*m,2/D&?P7x+ئԑ!dqwjiH^bi>,F G]92$~H}~q|M1~􈲦(MZk}{f{wz?c0|Wv݈'5cLzF;R!KxW*']mž2DPNzfC|kfXfXONe|X,GT9(]h_ẅ́lJf䑮i>Q9X\E8/` ,z墘ܞЂ5Bgxf֮ Y9x'f(;)g}5V ͼ1;;PO gf,-bE]vڰp%!J1+em(_J/ w#͸^aܭ|iG̍de,~G妁umUOz%k!9˨f o20?=xBYDP~ HkX''UIǗ,-dž~iuHzufG֒M(QNT@^Q?Zd#$c+-a$#{T$ȐVKhz{`E֐+w:CXdNJɂ ~9mIn S+{+}W .xL PƂ &+5hhN:$˷&jF'j_- =dE˨ž' 2NYI̊B~EmueQ %R~DG٪bvoj0t6.ԦASXc[qy~-؃29_MɈmtV ewԿ=&T10S9VƄwNo1e_𑒤.CrqWDXbMޑڮrcǀ7~ ~e_A13(Q3!-% 87 p0t~rK+OEhXZ¿ydDy/%1w@ jR{@}6xNhH'hd8lX&+*m*>Y[&+CH=#!b*dw &|nv[$3Ƈ{\ij_L@>pʒ̓˙TC![R{2ֽ{fF sN<7wM|oE~0 +AU|rO(i12 Ek%6W1rP0XWZi5{n%Ceo%n*#>ȝ{$04; uIyӸ],50|:҄]jmTԨC:F 'E9,>B)>mYSr: Pǘԉạ.ȵ/?(8:MZcYZXx<+o֌m;3S,j@ H)a 6+Ǥ: e`=9J11BU4&s,8V"*#װZCCA))پ f%xHDtu`诋-d\=F:(b/e _s.aʢyo!GH l*Sz.v~gy.CzV(xX.%sDW H$ 4Q#3?p@Fx"z7vMhZ[HC4^-IKR}_O 2hGH/gD,`Oz E۷rPB$#GφDwM=&I3JڪGnM̘,*jꝝ{sV?#*(|e](x,z?^h /rze"]q/KzyW6\Cq{c$#F-e' ]xT:,7k0r`%@M`6eJ 9.~8F: 'TPҴxiI %fW%IX?ɺcƈ#hKl{|"VɆ])됯}՚g4Z.իAaZ!0[z RԄ lW~S,Mq"UNH,(pdY*2NEJ(?h?}T.-_>iȍ;NwD=wXL~R߃&qI֔2?_8Ltkbub4]ːl{lS鸚i`yQ" #g31N,Wac~?H7u9Hdm]K҉{Bɚ4ۙj>6]2Ǝ$mp}ٟ^:uxZ-|N.N cLp {@I`GL3f=Q+qh#l0o]m&p,L/U%nQ%-bDJw3k n)#Tfms4!{5QClaSu~\Xo-7RDz}X9;iɜ@` U& m~H )T}aǕ5zJVe߷J DAaTfpCz,(u2 |v pDO߉ؖg\Viߍhy)4]I>Go]#Bɓ|hrgGTY\ڈeb%y9?9:ɴ?o閼lvtǖe5ͯW/aNJj&k-@}֥"1'Rt,I(ʮE}ew/]'ʯE ' s w0aP%[9q#UXj,5e_^>nś4s+}JMs}aZQ9…'ymX#Po>*ܸtTQY瓖!k^ʋ8f~pI9s1 s$tW8AM卧q~\T#AgyxW9% y{VzLsݬ(9N(XGQ-EySFMYm`G0Mͻ륑hɱX3.c)0y?:hMWEģ]VBK6{5)o*e| 5G_ֿ(< ~u{?1 [=q߲,gݦ4Q, .g=F` `;(0y|D@,߭΅y3:]C^,~ΔkCZ@*| O}DdRU`'teA=-vKx_PLr#NLڐzS4$۬M{G/y`wcA_dx4{Lf}/E}2c$@~;uf@dzM9JGM~iW kql? RPs'k>َpbڪú7Enš@ [ G YJa,"-2%n#pوPמ!)gWˢŌKtI`wcߐ f2!kh bT:{*fnZ.K+ebJ2w >d6`jok*mnw2x?P)iC"ţme3̔+kХxTƮA#l*pމViJOsyl6G剓Ji[pn]1rԃgL6UΔ|Boqv2$~7v ^&===n' F w͗0d<g+T2,,@'|>/|*wrjsh[`BI}Ĵ9^|ʝַ>ZdI*z[Z Q1Φ衼q-RyXLXI=)>OapnDX<HRvpگIq~JɓI{[Y r. cֲ {$l"åeA€|VLz+ $zܖAf0R0\!L 1$3~Ǿ#`V8 5\k7Hs5gP6E{" KK&[?cQ%ž^='?zEjBnރ*3TaqӪ-N*X_% 5fM{nCSF~F0ݤ> ֹ+í K݉Ŵ1. _j҅\m~ۀ]̛qx5rRpwqe8`y8t1/71?"ZJ{>S2_m[!D1A#{Cljcjt''JVplE4I -$2Z<N6:®w~ۣްem8t*g.!XNM ljYjf5oŦl DcR0[1:z0>RGv&t֢n jbkj*޿ΚQD $ߡMWAɻ!3 3wfx0Ooxt^z-PP:TQ7uYe.WШud\f}) pl zcVc1:S&P^2f4t>kQ1j_Yb*VRw iEN--y7V! rD5UW**3nSX'V`l ?(KVPBsgAX j=@{NAѹ(}B2CdvXхH'BzU5Л<׷1!/X>dqq<R':IvL *%sZs ״yY!&Q/BX׌|<ʓIaoK g5PYQbzKsSc00c60Gʍ'6B3ޔF##s须R>ᮏOQWg `^ ?*) dٰSA[@!>Leul狉H w1R0m@Y\$icNfxhz}>ԋҊ;;۰irXYJ/Jvk蘋; .U:l?L_Z<>{gytcWHÌ5ᙚu6IE6̸ ǿ#mBma(n,' 82%aA1w5b ̤U~*. Zafcҟ`C)s<8YGw0 iOmD$\ n,㵰[:˷Ja!qG$M7C)YiSt,}1- ݢ\]'[b#1&]ߩ9^οY{s= c b!rs ~a)DchJap壢^KMAAȼ7]zx@ ֦YƜ+"/qقN飵ϋhs򆟋#׌Τ D.U +< NAn,5iy% Yb$"^uҗwy%'[N{}t یbHO 8%?t-LҲdl`~Nw^Kfc5;Ri3mLualh| @mFaᠹ]KO3(ڿ|IJ QD("|zR1vyh7} n\(=l|7o{[.C7?*%rgb+AV,[NA /7c! Չ}ivԐf- hfU_7@Pm1#/[:84+ 8-Ȫ㼘!PW%_!/),ƭ'v 1!2elWa9R^Da|b_'' JLjN"j_ff[6xd~Yh6}B ʑl,ex yod_*& ?&GI>V3$wݼ+K2.i~eL&*cVI#B/l?9TG$K+F+M5YR!TY5*95Ͼ!@AǪ(#NPqB_˃ܟ_@68 RU'۷Ad> 0x^Y#!aC]3<;rb?F]S'~zkJ aphq=J/gvlgb|eѯ7 dNV7wfMD*x0=8ZdoBϷ?4XaUI;[b@\k7<Ǖ|߮;mhͥ*rǚo)ā l׎}s:`7 Avҭ_H_*ht' : >mh^1>SWsӜlvxJCJo@rҜ4S9>$-|Cs9e0sJ@RÌ/NC,0L3<[EO <25lo (-fj 2"iyYgIư] Jȷ_)dÉqdta1M*KX3=,FR2A[Cl߲Chm{/,hrzO>E:(B4mu)by{²]J5ev<idb䛞j.fh(#o=SJ=T8X0/P>2xFcWuHVɫg*,S6|BXo?K$-z 5L 8LF؅aE#%jo4ۭ՝GfE0 ;qc?1>~2H AW Oz0yr~@Ii?-)*fm@)a}4';w2?5rG!&._go3# s2~; ap0!x4^wqxN=[H~J2 E ߧ[>fU#+%sހ%C3my':9*.= Ƌ(,K>!&%#uPM0Xff*m_K PPGQ\q@N/ԇP`&~VK0z?/lB 9d2G,]Wtѻ0rɛNv2 )xuW%)pġ_z=HW_oNH=!JoQkgȦ `+TxK7REl*i.,ͪ7v~Ĥsk{2l(/3#,ɥֳas/N.PW[Y9l2[*}\㐙N QIl_dT]NIHm}Ww9xorA/+;*j ؅蓚DKng? P)o ?Ef=*F]Wv|Ay!E^Cu ][N%i$ tYIe0fQ }Ɠm BkkF7Gȝvku)W*6TԒ]\s BisQࣸ@uxlOAU|UG`/NjL)%|^i+I]}b9Df47@5nq)2!ŵJX2RHTZXh`nJRXZWعу8-ǂLu|eub|@VYBӯ'D+^UZ|zH1:^*, 2̣)oC.I&.DhqF e CQxl.?m8C֡7x4Mu7u}6a:1z>:B#ongHo0C~WjMZ=1QdBqbDZuk'8%DYPa^TNp(bt]˥Nﻡ~(Hx3Zp=O_,IM(7Nb8fȎ]nCd=b |YC$>d+wio]ʱ<Q=iʅ)g4]iT,Z’wcF0o@f)Zh#at7I DjtW}>+R7ٰN7:v1C֞vhyob&[]˴מ!z\Sm_=e<ػ{k"F(a p\,'vDiF|(QһꕸY/TA̚Y 3i^N~;܂ʮ B5zK] ~C Mrd&ߚma  ̪wңT􊝛j{VoJ+/t8D|TPa/`Q쿇8T8"eǁs{ ž^KI>&Di GP$[ v勛pq銓z%ǃƦu8|Ua Yosecrd wV GqjSuKPu"لiev]^UJ3|'Yz|Dٴ9@;Aȓ4{onx_wHw Z 78~KaLg37qa1ȫwDzA7_f+c!@K!!ߺ$S=H1޸ðQƫ DN2 滚D#ƍQ ,uf;<:8qlD/p;m'­FiYXh^RreWh0Ǣ=R-YfCv q!:&Ƶy_ߊd~o\XYޛuV|,cf!wy|q10a9o vA|P;y 4bcY ߐ|o+׊ߘT:ہ7Iڮ0;M^Fzͪ3|Ms˪Bs%ru$^3IXt5TA|߲0pw6BTݍ~\tY͉҉7!Fx cXIꍴ-lmo.n@;w”t7VKǝT9;cO\4?y H?zvXtAA}P6ؓV|hwzwA*q 7_T`M$GDma"Lo_#߾;wGN(&ṽ Jnۅ%<_sG4+H7$G tt .N9 "#4  l1;H!i~a_uYېԗ+yώr*k"RwREHLD @rj"C#߿>2D4Ln]o0g˨2=~ǡE~󠥰~ s}<  ) ѭ"sFf3 {ڗd Xhΰ6h1Ӽ%nMC(7u"AםTP0Gy ED7d;?iuo\`y5G}xC1ڻߕЍkauuH:.2S\{'cgYKxk ÓQÙ*U ~ݙEFC"i{B04?7~mb* *{@泗׊>K&D)CB ]DK g[L C^V}oLV+OR;:^7ǔ'WF<ƾ- K:F}Bntd95M]!}lzmWi搛 :T䤙 O,Q:aR,_YN׳8&ZM oQ* &! Y2M)%DSΉHnwXD̜&h ?k} 8f-vT].js5;˸}A[F;/ys5Hd('˂j612L*S#-/+ƑXUh4bh9*@PU&V[Ӧq%'Ls\>(ҍӭMC߭0 S@p*JcEo)rLLU^Q(q}r Et]>H#DZX}=Hd'W= `)軔 uTM8 :{K2'!= Bp^e8*Oү&/q~4/? 4OQVRm 24bgX.0frC A ߸//BlÉ1k͎Ds jd_@S"}swU4'wa^o QcĘU^Lr;;ؾp)| H ; Aofn@D+pA>[*{^<<{-nߣ?(6rQF ȧ#6!=dھnȟS`|kԑ ߮Κ+ ‘qLN)" eZyDeR4p]vP&G(u.5nﻻ,˙CC>\~pF"*詴XxJĨC37eG,D0E)6u;ɿa<ׅ-+suU͠a-b] (PO?x,Q|N[5^.U,>=cRk>eT2S7E]%1Eegi b3SC>|[חa|s8n8#kP#$zO$uFc# fӢ^X/j"5?m+3&3hHD&ZMoGOz(i=A 吺;Ӯ[ ivRFU-лK k>p]A?%Ԟq @d8M.C]KSc+ZWLu0,k% [zͺ/Kwu<ֹYbpj1,񨨽ᲟFUдƒRMKnͻ`WFsE YU˩U9FԢL{ Q*Ǻ{sB _E޿iZSbz1H/ݧ++{>{>%`G=sdemY1D=6qm|8ANbP4KXZzY1r OtRFPq| `rWH}8_/V'x`j@-߳0\)Bl`J G32YAEOGU Q/s%7Ў3,oU˯rGS7]^@7cP/2p ") ًtd`M|E~2^~ ؿym%9߀[s~پoҿKٯ vD<( YVt(ӂǏ&wq}77>o;DQ:|1ü"ⶅ} l[>yĒk_ٛ[;FAte2\]o~]USC{,Jd|ak9P8P[O *J>p^y&֓Q=C&Cjxl#^,r]y %"~'cPG*+CE؀ͩWr0P$g\ Cy?xF6 Ew]spzK,C4A1xD7 {Y5 ҠqZFAU Y.* ('*qCIAc/~=CР#u j?Uw0_hY@%>ג} Zex:PEќI^,=e#N17q(+Q2MekSN xK L3Öw;jGȫ2?W_n,n=$ڪAF##Q=ڲED&uL`xdrO#+\kx|tξYׯ I!l~j6"uu3->Ql6$)?r .n4SdMU'֘<5,Q%@ i~`m-`G_tujzrM0YC00!oz~cHöGb9oħm}e}uEJ1wh8kx!ƾUOߟ7+ai\EvӬxiio ?|k<Ț$`D wF#W&kvoꢼJ7snmL'.Qs[vP Z!`:xJ%Cۃ? z9`>LmG_C>jXv0sHg~]$P3m}ezsO1FK X(N[Ǘj G ϔJqUa_$@S?%-] Dž)<3PA[C"vs 7N TM!IrY7gPC{律o>RjB% L?_a]DorXp :9.Nȭ=926ꢴ`X׷OY4.i}7H$+!ޮ6{<{qP?w-AaDe|?Xu߿:edjbU\wOZcLj`unٱ#m H"yn&r.|aK`d u8تe Kp^u{b>;>Z!vcí^aSx7ǡx>>"0j@IyV|.I㋎~;m%P7葹2&<%s>{ QPJ*Dv3ƀ̋+P})xq'iB|gy lSk.֞*PxNWtlIkl=DhY\,|6`(KN[ՈPQ2lyz3h~2UO@9D.܃=֫j8Oc^,GSZ3qyYn8nSZ+cMDZS}㉸d%˒\3=f̈́16,?G&$*{zttt9Ie3 3s\I/,jݚ+ENJf;:eV(;Y _N 9^NP/r)ivr~\ kv0\8svT~?4j~VT'%'3$O=8:Ĩxdv&ɨ``y^o32##9κvЪhff`ZUAs P>utƱen j|SA~{]kIxݬrϮ6^R93VۊE\26΍soӔYm7͡rbZ..7ljЛm}pZYx8#La7d84kmr0vf̶4՘챻-܄Ha5]]c0RFed]0ʘ+I8^*6َ03:`]i}5/n3եm1#!_8\u6NΥE8K{r7ם`xgUj+ig jԴR}RII+֛l+s-PZ}1RѶCiވAPqY8kJe=?J2AqR wDb6[+7ֈNQi|FA:x{?|\\;U|8f%.ɾSgTo\1ڬy[ԒONd$ՎҳɴEڦS6)Q _܏t#}76Rfp,$`+KVr6qxgʠT5&>mdlQNF~{aV GnS|pQV.n{A){ ob!0]TۨM4w6̱%]ǜ:Nr*YV'QPX+F]'[M:fƫJԚG6 I%‰sVJ[~SRY^ ǫm8Km[սfV顣nJi1,?vBgXiOqTQfaRY}Fc֪f9GBQiQ͇44RQHhG-J@c R_p% Łz kaZXpFqrc-npl[.N$S9?j )vr&KxʧcTpaժV*yPOAsMki9uX+FQg{KR9P̧=KeQ73<ueޔt;a6M590q+5J7b}c)VjcE[ƎxXl}8j^\s5Iv@TSĆ6:V@rrѢdx|5bV"ct>ep{U8_݀j>Y! #c;U]ZhPt!)$dlwxO MuܛLzI JxcQs"~>|(Jq74^zR=Uhy.'3MVXAV m-ӪI7oh I1Q%_6\6^Y6r%kѭ5<,:f8lȝVN!hFl\\[qgfj :[/<{ikЫԸZxA,)-XlB^chlRv{2_K5 rEofh)eOnlCMGn0uqX';EWWMWqgT9R4^LY'> mө~ܦ_'Kj̤0sՂf2-VcPWI hƜnfJ ' @˭caFmgZ##rS[Mz3l:f/T+a (V4}v{ װ7CCX)iZc15B+cΏVƞ䛬שTY-x9i|dZ_͍H 0vpinXU6LWg骸+7S|Jz}#e̕$'x_%tӚ2MUF#=v{yRf򭙙QZcMRYxaN ҫPy;rV.Z4)Ŷg iQVm?[G}0nҒ7b`lڠ7(tguӓΔxug)6GôCehN4W{wa0JlH@%D~V6hz}Yؗ'mjՕ# zE*XD\$oN_qs( nL8xkö42ؗ)dMѪJ~br0!9sڼ&ow~Wd5OSv-Te6ǝbPZTj.f+MWqVhfnvhiMq?󦫳RHˎmG9ԢYIw|90mm:6Wކ+E`V{iyBx#;ɍ;[)ɵS(~ڌ*f]/=59Zj&jm#? [=(!Z>GQh}cߵr`TucNh_E:JusUs _[QOx3 R,5; jNڮW r:V̖PqI6GMY'o.oǝNiRb)}tQXlUg׌fyRv-2:\z ֌*M6Mf%Zgd&09[ Y):t23zÁq( OֻtVE0v( ~H/l %DcʹøRΥ ^Wamܜ*};wHc }x0L2)9wTu5,Yz7Ri:V&#r&s6PL h=bwϋAToedcϗL oqbiZ0?gϵA>jM6mdRC,[͒V͡5sj,k\MURUp7A.>(aό + W;Vy̵8U-;Ҝ7:+ #֨\\ӊ U-|*2zeN{u-ordXkQXzѫTu7pT$h}φ̺*UWk_Z%뵸uj7 q cu'V1.Ph,Pmn{l( -m8Zv I.细ZKNtc˃^:kX >ɕoTbc';`35M g4cC@AC&%Z,[olS5xHm.aiob8ǃmj7KfX [C^u2d|epMaz[{A+T0+} u(F.5?Gi~v#7WeqkV/=LWwWY;Sѧ㦥kuv8qv1n(7n^n Q}WlԹ1XYo9|-7X躵YŬzG\SNh_.fn-RV9ΐF/T՞/XLȘtLErJ-.URufWH@7R8Xv\ۍ}'k)RfJ<%6qX,V"Vr1Wj,Qn{ MݑL)KfƚJ٪ZSp뇙W*&ɦjISkZ:&G!ݛ);9Nci]Ziu۔6iTNӵnu:Y{&TShLsԮl[r*5%6TQ"d<̨)fxjC; M6enY1/˛Q[Q=^-Z΀nugE!=h|) +H*SV,)v}?ǥ&ttŐnfcЍwEnjz1DǎŬh|S F6.+fWdӡ#7JvlFc_NK.-2G1>m[VL%SNV9^ئ;,ZMzU̶}-TJvSђ.oWAX؇0y-۷i}8βqs[AZZk5RH510:cܵcEyEtk,Tv&H/uK\ϗcz})D5+QiUQ}("=_Fn,}h[Eo/6z+˼ճҭ\^YVQ0j]Z-Џ-n`2,ڛ~vkr^e8%3SN;y=<dީzwcիFXyYI0c8og|ZRwTPWItm|oB~`,J,R%o{ M:xhO~^SS=+tU$ cFH 0=vL{6ڸXOeD age \ڏto `D ^+Oz_IɈT{k=]y6|*^:-|vok<{iи҃nmyd97FD){eJ" RW:պ$d,)g4>5uozm YwVr■'%*'ʃ$^QTVG@Q E"*{ ==2=פD¯r>{˴?OB([>I<-*>?܅q󌙠UI4* '(gbFQNHTB{$ =`h3@DfJl OTN(U?c<'1 ȥP'L\H|-sUOWUc%? *)2A[aL 2 !'cLA7U1)E0aYt*!)0F_12A0T;Y""s(U$LT#*@*5A80@XNH51NF1x梍'BсR(9Cbd6v|'"jĝk?p µ ,jo q>)J  PDmdfAa>0',tx!/tÿl2"YR8}8 e,R,a(QBxQSƧ ,!{i$3o,AA[ٱUV`QqPoҜɟҜbB) b @7H|1uua3:bd@Y6jҗ郊@k{H5# :BAu 4QH(@^RvE&ZRQ)$DJTbRaV.Hr˔ 5@ Hf JTq]NCD +G^8~-8V?ՙ dE/HʨK >E%}/u(TZ۟7@J9 >@5&0)V.0z# D.9LMȈNT xDHn5e2[D$[Y \j!?xoxSdb~f$R@Eb?AL׼l(.I ]St) =x+&&HQ ztxOuTji/HM&id,}5WF}GIf8g?@ FEt_9eRI'zr LSI.(IXHNQ|"&R]t YS!@hiGILLd< mU&Lb.eL*>:cg!PSM0ֵPNp]4dBm#!dH:w $9x= 'S0!ݠD=ZmG*E pD@UbP!}2GN%Jpt0ypEl^"ΙH`ĠHXա]4XW*bԯ d/Z&+d`S# /L 8AbuhmX>3R7Ģ (VY !^69_Z\_z 8{4k]%~3J%=O""Sa9-JȆ3 B`W#:S 6wI>P%*KMR}߂b,3Y\A< T\% Թ +b!_:tx̥x0^04:41Zro a n* xrVKec\t I(?sT&)O| @J"_9yïsO!XL}WL` R#p+X*1yxTsG/C؋#g0/r*vρq@7ԏprU;) ';nh+ȋTUtT:1/5#B>S`}O)r.bIb8_Om "b$N/- "]?U`8S\BOE!6 TSOk)7p5!6x\RWP ={JN=nOA~epV?Ѧ *!Z'@aD!~£a63Xd*{ e x_Vd$^b*(Dd, ] Dv`ʗD7 *B}]Az~%%VD, X[ͳ/%D=[l)d$$"5 9{^d$HHEU&_B4td/dpNa0?Gn>bPcL`eʗ(ͳ~鏕g̩"ĘRA< 9*_CM.gxb&qxTHc8Cd@֙2!L`0R /1@WHLzgF mz7jVIvNNC~)epb.ŪX3llHw')/`Et: ā͸|ڠpϛG҈)S t2;̥F87q>Ylxg񏈂o~FF*TFgGbTR K(y9ߠS&\>zCH E3 R9! %!%|뼈b2z- Η0&;0f5p#K,Ł/(%rJ?{cTLԨ !&1pBV b35 ,~hlQGB "hZE`m M/3hBbi^~@"jPm=牢3|iEsF$`JB!DS8C9姆n?8lbl\Dˀn% ߜxj{6 `?gTL(ފf?YpIB7>+TSDW`64ʧj◠Ѣ_Gcz: )ЊUZ&ODČ`Q":,̞D%"6)(*F@ʊ1r*/@*?A/(tJaʑػ,xRYF,e&6ƈȽX'D sB%9 E*fT>S{bpH G&6pW䄬,J"\$#{L6(Q#y$HX(JBx0TlcI%C{*$#IgjPD#jM>H+!Ar2@;gH{g(TAnc  I_A^  b e ĩ+8p˯dBAH*Xu иr6X@G-o﨧&6D`#eJqEbX40JhH7*&<Ů&9*Ui2#yDN$P&d$/|ʣxA$$(Q(4J"q1㧟ӔFK$5 6FT$X>\̘̞.^G<29A0?@H,P3SQFI_/F=8,KA`{'&/JWkhV'EU##?5zƟ3\C"\c#;)D(5 s΢yt N|*;ɲ2T*bs=q4LM*bT,T#2Bk%vw(dOSe= (:aa7^Y|'g>O.?F ?ΣXy֙]۹,]ف-my.L<=hL_|'sc}2r5nw`jt/Zoj\ۿO Sr(ʿ%3VrX* M0g+Hr"Ȥ&9~Cx"b h  88. b__& zT>i=ihH2nfu_H:=InGy9M6#Kfٍ = ɏpS LeSt6} 4ẘn"8+_WỔTQO~Rz+6ߕ`at2Q߮u+j@ 7'hߗƃK?`<`N.-3N+s'w,.%\W>޳wk`^e8_iM22FKzlצ!^?Dx2E?|,C$J2KIܯri:V_>P DdYŊBSLDzNcEsrVg*l0z9kũoJ,uU99Nܳ~U65ZίxbfU:5.} ΈwV4A" 2Nd֔'־T(, -C%*?^͝8aа򁉼AX0 _U{JῃWDF?CD=%vMzξNk{7"y'Qא6t. H/=ӟ 4i|-ШH]ښ@L1-4PiǏSPI eK5$`\P$IWw`[^C*a{W?οK=D%7^=uH87K$L~`0k}RHpAO*,g_m!#Kk/;ϊtť'gOmGr}+n8:%rNu<%oo;+EN9/uIW3”Hl>(ދXgŶhoye2嗉 ֻzzɕYF.ϨH,}$@IR<(4~pċ󋿔gj_zU#?&m e 1o~{v#pRtXWR`y]ʑ$6}3{(G/%J>8z_&Jo nbό,UȂb ˃u.IPSDguR׍,2A?PK~}w6s|^3) '=TQޓyr='$~߇_g>y;J{rwƓ4b+)y6b&"@񊳖A~ V%\#F +MS'+L@WZ1iD XeTq%N"8xpz{?2WouOJlzw_>?;!*d$0}$}ItO⪮SqDAɫ71I6Lұ4HGGiOQh>2}-%@ >-Qtr2A:pe"]V' vNveȺx\"N"@P LxtCyI}3 rkS ΉxHd-wB7 XHV"1/k`:ze(D`tO\ Z8&._H(}JB__H$9?(h2K& L"ߙ-߉CW &s DV(tjiu)ր>0/)zC*+lcTdUy$RZ+w~t#zU/5_B5|WB+E'e1qXD,A ήo Ml@7WW~FJq TaQE*̣NYe+"ĕ"3Q@mz1?P\]0A芧9B] cYef@p1@lT*Qx !  b7(;r}JP;ޕMP$]ob`97ڮԍ.S9W^dߗL!_*7qpWH L ^%BlUd٭g=^AI*A/"دfr`=.ĨR>FL}Tqm"#|~a$'\H~sno@?:d WtWJߕ?uwe Bf{?=k{E:/}U$6O]?uw)2YnDS# /"$;3;>EEVg'JQ8Yd S}>?]0Ww0505XnTo~`RfF130քajk7rK(>pJ`K@UޜUkUo L>\\CeRŜpŅ^De^TsDW“K-vRIɏw TXAЏ[K}R üb?,!ceU""}=`Y:q E/ROĝS ?pĈ$n¯o˯]3qS)Sٛ;%vi~3wNrZ^/1% %~wu#lw6t#߄H1AJJ떁/JrAY?:dèp)+d.#1g9WO 'E./]\Wݦ6!<ͳ$_h)-}'7-i%M߳`2)x}$/S)S R.In7rK1x]OsK8#E'ߓL1/0otTTS%V_KHF?Fz"'Ц N^i 2ET\xx˺[F-q#mHǞۋI6eG/-/ΙtURn|354ѻՀ;*ɦ$sK'"\7]Vu,7 jI/װ u"TEH?x%ݙ:ɇ@ke&vfʑ`V( ʷrf;ͲlX[#u (I~ؾhMVCB]*IߵB%1͏>^w~hT/=ZP%"s2+~. uZ ޻Kt6 ԺB\ͯ`br>7%0h-xlY\^Yk?pۑN-wlK3<k5̽9ɹ_c{'^}ƨi SL[s7?Wn)#"ݠ*6la0goi' X=^[1ig{`Ψ"V%_ardiș^K:WihGo#xMH}sYpA?`R/LJȿ/m7 OHن%!N :ezZ[ɒEȜX Z9ٺHO$z 5g~o`km W\1qc BvHNLˏ޽WdgyXZN鋱MLoWO M<uF/K׿g݃xuW/^'^xxXr{Q ߅e*I_v}ܞ&t}x K=4a?z$w3Ӟ΂2omͷ o׮*Dw=\~o;@>#S./ X;1ݣ}G_?:nyK_zU8[&r.yU3%BfUOtP9/S\^%g#^Y"ZgWQvo)9rP`"^ң=_϶b}ker/60]ojD}ns^3ԛ߄f҃+椿%(/.*{}鱞[πQ΂`-\op)<ŏhVjx?,M_ E`i3-Mg+諱M8HS|}'EO|Gy2O7b*`ޗKń]@4o|+\j|a|ڻ4ɥ<njm~6!-IjK1#&=H1EM ƹy=݅ 1NHY5!$h;ITx)\P*goN*!U }W* > gFoi %)*%(+`"QV'Ǘ5k -"ƫgoo`+szɧL*Xf#P$ D4u,D{zً蕒eL&0TW8cb.`],\`q|Srvꄜ#|\[v~#4EH*4)4}+0d+;LEGdd\:Zr~2~~щK@#p?̃D]  &5A& mz%ooD4!sbQz 6`y*鞭;E>B#r3 s%ѡG}iOoVw1'O(R{Q(oK1?1fzƼdYmy=W2Vu7"Dpl6vjՏ†i0:d98 S|*!yNK%FуnTe#;g=Wpȅ}SN0ؕ/ >;燶UyS-#):tKlZ{0:rq1QOs@:|}]T\x," &=&=}oD/G E'?o.}.] ڙ]<ؽT_ݝeSx7?EֆxAmO%;-X*?IuYxx*ZJLbu5)Lfƪ5p՝h6½[BikZMV*+uVJ7^L:^E嫰g!Y"p; /<'b"& ʬs-ۍ'bP[Kkoei*.I/SK >m9'fO,c2 gL^R1r #t3Bǩ}ШeADXȤ&L*gj=`,xQ"r1d6f[M8:%S<_ޠR{Ö*ʏWFVY|AQWh _LB^\Ǝ0JЉc.FC|ҁ)&>U3ɹ93QX+Q~ʑmRy\a~T}r1& GQuy.c4Lz {V1{3:S_h%n[56_趭,JC_qUʔp [3 Gm߼9d# oZn0e¸ՉZ<\ͪ.gʏΦb _1\̕{:v8Fe OjO$:tAm۫@RC~Po:.$vZG>q{:f&MR&fղB4B<衱IEN܈?Y>`_o,"^DLg4Cb$3S5DUaߛ<ӱRg-mq"O{$VYC^%$AfVȪ5۽]r`}ْ'1,ޫqsY%]JNydzמ Ejgc:dk=>4_UqQum;]'L lr4Ǎ^Sӯ! r#\<繥mc^&& UfѴ݇gyzeGEj!N`,? nUfPѳ}'E ƦnQ3yk$L񃆴ɕT>X Oa^Yֵog5,12&IBƖ[!&i[ήΐh4odJ9o&珗#{wF;kS!]*qIt/O-]DQWwzQra/3]@`+KC:P^7[7ukUz}d̥RvݬwFm*rŚ!v]UZ^y=9 {e`nZ۪(T,AcvgF/>adHrmK?]Pwgk~6SaV[, Ŗ)t;{i 0xS1'@VӐp4NuU&|ngZx,~+bts2b'u%V3!Ee7ίh j.p/;| ?:[E!ȠQ|[qP"wdb \I+NHJҲxф~! cF{Q&%He*Mu8?o`ɨ.pgR"u@v!vzBlUt"H]\yуW 6u>m~<&gg:-gt!fHmސ$땼 }4=@$v!{7PlA0ԫ:3,"tAiHۉnRёRĞ1rgXf|F5ZsFtYZ#I4]>1Y4yMw.xOB)s,1){|~֪W{kP8i (Ձ_7R%EEHvX=.BXȯdҷca n2 e~Ȍ+:#7gإ5D>;_j|65(s=\/7T!4}O`'Zv=ٯ2($\hҖ@w[3i31 )<댟*w""i4nG'㕦saC Ī`+ XԲR'>L9p)rsѝ-~i?_ނ#{WN^YIaw|F]}QNfhkS7j`L@g]D ٲ'YIͨX>CU9'ئ]@ZϷunR.լ z!ɥaN'(F#/]\Wz!6OP.(tIXa)#kQ[S[ ѡy 3uQ\GtAWJsc72RnFʵv˻.HYtG-묑^ ,Wh6ѧyWvoF4uR@Z6PŶ *>wwp)!ƩDݢF3\&HPpN*+vmd$O΀Fo(Lp jbPx^5ۮcv#1߁ _sIJ5?IE>N]Y~lrؙ0*,xpm6֛YKH;Ŀ6á IN^DTӰd;6!޼}"]t"GF'. =KUeBXʠ2?L`Қn)ogk8P\߹A'/$e$Ap~| l*lFFogjƯKk=PDS7JyР%XMm^]Qݐ7uF 6={-2_:KYf _F(uoZ߄M8+l( q,\,@ {^ 5C-Z{Zoikjӓ]9Fn7'?;@'x%m܍ŵ=`# -p *d>GYfQkᰗd"h2gL9~Ee8-瞜;|ˋ$k;u"t8M6~<_!P3" |\ܲV+Ɣ :n͊&8&'yQ:BsA@K헵Y|qZ`znU#QYmEt@i-\Y3AgsgL%ސa!OZeʬP,oX|[fKbZ6jl&2[}7y^̓6pRa0%_J}H!w:LηZlZ#$kSr@!BJu*ifo`˖px j7;rd i*G,ya^H˛=A܌)t i~SJ dl#noJA{o.Žz6U$VO*7_!r[>Ik78_QJYت\e нV\o0@Z`gE䌓b$_}|vXwT]ׇf9TkŕTvp4KQR,qDŽh R`֥4D'v<ۅl&|fieIh7LAe1 Ay`$Ohʷ!s"8%̡23'x_ڒY|U/Zߒ5)9mգ8Amϧεsü5zZڌ CΠ9k.ՂvǼy-cYu24f-}6nsܓ!K9 G!|&sxY2POT#/ z{(FjYاfL,廨I=A$4Ή,?Ak7W>7Wbd!X[C>6f:YurQ.Rp_Ex "|t: P'͹]N32䓙(' EBHGeA)5w)W 5ㆬnFj18U~r!WȝxaQʤl0؅wĺ;3fkuH Ѳs/e*gǖA5ԁ([DK"fB0(k)꜒ݚ"Ht XGNFvƳoчUj3mQJ'{s\e#-e͗Ҁ&앀]@Ex***JưA~Q<3Jd׊jXd;+rRP8iFC6n?wY s޵$* NZڹLCHAwOl(Amvm~y񥭈QBݜ_:߄7ƻv-O[H3El`â*hۊ| HOcG?w3[cP<'Z+ Re$I]P@;9MŘznsOut yӍpt1.ZSJ Xo0G'{& VN'hI-FF ^(9M~)|Wq/9ia\aNz)e6=έA?q RNQ--HWswp"6MD(v1f\g-nK 3N@WxH Q1qtgm5#h'w4[NUvS&!ա0rJ?~ @RUGci׈*_lR=#?0.`̧ObkFs"CMAcd[误zS *,5cI;&;,9e;ù~Izg Ekα V3~re.^` rGP/ftK(\7XdQ)߁cw% |]آWJ'sjn9ōB?(dU)[ Jf 8oX2b"%#'qZAw|:aNn\@}0Tp 898,3 BaXVw`(m-NTP_g6#_%/r皧0~@QxM%:C4|b ,ik̘ƽPG;#Ln)#}%P컄GCr?J^;[Hnd^|:ȁpt_^fǪПCV!JQB Ҟ֔vpNiXko/ZPztmYewu-|6~ܒR:s@ar~4ϩnY#MIq94)M ["5rY͌,]Kȶ'O \jbP`}͎kAVRVƗg0;g{/'4B;Tm=IZ֛݈^Fp[+;Xy jHHu1n־ %O)Թv=okHzh"1w@C_f2iB^%-C_oI s`{S!X'jIfP^2r8q:V8N`>OE@#{K Me-};uE:gڿw>3BY_tT֊$;rW27W’H^ƺukd)1d'FYWy-I=~L\ 2nAΏe^j谜O/͏T3Tr>,>k"v׬ LnĿ22Dm45y <ֿ y6ݜe)rG^ܸ'\v֞K++[è-O7 */ؖ4EI߃ȓ2@^*:\f+y{ IQH@~9yZ8*jx!nBÚS!9ag>נ b7n@r/PsOz:"qi oV觵gUµj :1܋_vcD  \xɏˊvo|Fr+ȷv)m2Պu_*;LsGjLr1O .6l]u9kox7iW8,NP4׀@5fFd(R.z3SA%+P/&DiK}hC]99SDHlmֻ.2*J2,fj 7ʡWqu:(> DrOnfl[Aǻ;e"ӢUV.{=W{3z"?;c8d'7t3C^E+[=@+& W WVTQ*J>kz7;56@:_$tJ +Аbϡ"v9kf5|)w,|&S~hFvM`hGk*ORbce.ar'nFgr.jJޙs13ŋ ߜ*mwfoNEvJ9zcy]#A!Ôi0LxuɨvEp/:zn_9{%Rşk[q⳧?8gM}Qө*u;‚%+jͷ739čFŮRtp]ite.jȆF_=)iMof09Gt6+G&3$i|6Pl#W9 HY) Cf74 gQ;,# XX؋?TPr.z -QKzD5),ɾ4"c$&&_ 5Y2y<69 !)eX~e;f^!?"b6rJZ͋@LVz,:s%[ ^CLRA0aA x<~4Uz_''j\14곴5_~:|yhfl7y,IXyљ `.H u?0oo/#TOUY/lT?֨n_9hsK$o@udfGAfqyk~> Cէ>G+ @;LpTԆPR3&J'+A5n({B(DlgWƊbe}üӵ,RF> ?~c_Ij%S؆I>W<5vh!ϿB7k'ht[{RȪM<7Cl0aO7J+'-t?BR+ߛ)RhӞ90D_˛}+L4<*[0NAebo8|5P|"Ept!9.FOQ˗ٯodټVP@ŐS0|WS#|Ѧge 2k8 cK*k]] ݼ0E7Ŭh~=ã ~o-e+>jb=Ih%H-TJWKnAD4o;DѼog0@}QTz59(lCݳeY=|s :vl)V tfz󯲂^(*>1SY@Ԍ'(F 5s+ϣ¿v{4Yif; X.S (>`o躹tDxP O52dm*2B) Ґŏ]" 0ȱD߫?pr*ӎ;䡕PEC|eC!J7K%}q#>Йpp'U`W ˷FlIc{O?k6l-@iZl 0rC'S*-G*Sx%BZ#d 8<Ѥ(7 r iH"a/|w@qߓx;;6 ?vNݢPh0O@&c`Wx[bM%"q DX5kȣc~[ʔ"p|1x.&=z. }1 ^&1XS{'~}x#&?ǣ1KՓb% މUF< vR|欉i/J5t_ܒOeáf@+@~d::_DsF{zU6 (؄ Sd1^\:, Sz2Lx+}z7IQHO0#y\:,k8ۍcF D{qdH23#7r3:P X }X]'Ӆ\^T9jj)տaVGjr | b: Ә0iy0q@.V?u\U dqh8'W@H+pߺ~o@pҷ&<<m3=' >SN-HC|l*͙Qh Eȇ/5gN:wt[q_m+;5IqgSL v:1Gw!3  >D펰K1kdBʮ,r)4͓gB^egH s~QxTMSzQEpidA/'&1Cr SO r2f$U}OzVrpϭ\ CkAARmf$Q4{}1RG$U _XL]!McZo^AOs 1B;M6%4HއN)4cՈ xɿxypW ={Wl ujGrl*m7wP֏ߚzW,Dahp-=lD:xR7mA}U.g4=^F,| wJc{p~. H@}:$ò7=c߷Z[R>CIOg}w? 4[]6s}3fޠfik +aGȀTM'NĵƵ TF2%Fo[ txjn@`_}0`$iK+v1$MuiV"޳EbX𿺅j2=߯w_jC_5蜂"k*rsGB|T:S&*JrR[I;w)֌_ݝnHԧb2Xb*xKqŗtVQߖ{1n(٬֝_vߏmva;YeJvn~fCcy7+sowUqӥzD͑dֆ;ѻ&u A)FocLAf!9LVhBSG`+˗漈XKrE%5zusW'½s6Cy!NÉ?˙g./+ʶDpoROޣ4<[M{{S#md߅GNkMݒz6́:B6Kl(GnZ~R@> J(qx>kqW`)ƷDp Ƃ¡x Eۙj?L6Eޫtk3pz*ԖnhhS`ج!%Bo~ Z$Oy:He]Z PI߲5=_*롶0W%r ήzƿYx]{ WqP<g;?nQxyw)? IYU:}x#G>}TdY|+ռBٙy7Vqvڟ)VK44 ?./&&zW7TV՚o3HtW q਌;i["[mmdblMn8i<_g8h͘W4LZbt0Dǯme7pTCA8ioq?+L ]4gzFxCl0g,?_:m_K;/&jE8IA83鄇IԬT߃:X_yvqV)c=o=YF@}sZeZ:-QE8үC@xZ/B|駐NoTG "0ɚz11'W/'Za`c7k(;"yq*]uxY'o _Nth%_>,0/{T ѓN>H#ǓVx1 bJWRP>;;'UcGZ8k EIhe%pg>x/"Z%冕x SgF=roW˘ПѲW.^k ' ͌GEK1qN4㉻ykQ8BwkOd|dZhэ·gy=3N3^}-gd[#5sSNly3T[N(OڤyeS t6 p].77X;t~WYqmeXQSK 4 p}k˼#EI.1-CߦlVlt/H'eZ algO{7@}Df<؝Ew<,5JEߩE5P67S*%GGm$#v=DVнoZV,҇az-R( ^v t^gx?t13nƏrz(N@Gէ(fǮaԆN*WU}*..F'Pduz-g\k.`^2Px~2k02B͍3Q,Qf,n*K_/voBb`O?ھLLL>UEV.,L_X Z<[NjHchAd$>-Z]a|̮؝8">*(oc\mǥ\w#t)Jaf3!m1m2oL+&a9`U4p-{RtCх#ˇuM2Bl4KwV!07pB 0eBx'"mlGD.2jlBGs^ KF԰p xf¢X bl)`K3y{0<M]( MLʧ}['+TA)O^w}?"JO- g-5 yMB]5:nbxP\hV)90M&ar ?9D,6zBoЄJ 6 &d\aɞR/ } [XV/']𞟨BʂfE1=ݗ{l;HރZE$9.oD$\YVlC*p>09A c|2H?X$ZȑDC&i5J^OHLz(NA'+e 7Cr)ӫZhNdWW9DXF i?evbVrܣl>W֡PdJfMyiբ|tXv عF{Dةznީܨt$5q%R"=%Qւ Ћdvrgwaօe 8b3IJHX 6eG[ N@܆>.hS{vaHEmĒ!:T_1S*gӿӑCC'zu8(wvG|AfG>nڎvz!.ݎn}gcU2gHX<q8r6j) 7Tq9cJKW 9xfв)^r]pםG^Q@~D$ιzN[0J؝?KHXnyw#֊qtY]c1\ 8;Jcz #i.Ԋ lwQ Mv=<򓐎IxNOZ "!3)+'J 8-kE.41Y^'t$u}0tli ᰈG;5WEW&0c; \jBݠ!Ϊ9Czz}jm0:7+Iu.(QpU۾A?JSnR:cS}[#B\SJjq)J ;$|EÆ֡2\V6 Eetx˩nLK"Po:X.Õ ۽&_؍qM ˑH54Sfxk 0ṇtߌSX3e_G# ,UK%82~彤MipDhdL3sMkZL@7X"mcV,9ln,Ɖuo{]'"Mr*_b{k7(H9L dO]v؊T&$Ȳ~ wM9 icBgT%QA:6f fƽ@G$Y ;/W˱a0թ\,ρsRtʺe@ܰ赐"7O0|Ky=;j4ҲHr]5kWJPVYb D[S` F4؈aHrdRn'%A1ϱ۱k{90KK(DGF<$F:ˢl9*ZK}o-NT"ʎS#*-6pV^SD#y6"#8 )O;2=?C;oojT']shj(@,N Q[-γTiAֵ=7x ' `S,Qn餼Wp=a͘%9{2ÿ ~Ѓ[ԇ:~IMpg OHWEwe,0x`*4I }aIK Ϭ =2%{q)h=Ifm&\"$C7srs U 4XD%@^.jLAw\{ tX]1V,Ct[6q;q'H 4ؔ}Lmq/xf#9kxh9s{ F<p[{,1r.W6`flɄ"v5 &, (#3@ :C73;YaE3|p"!Y,1֛mNwВÂ'>[K.LcKE>NiqAw6fyݐbf PH릆c!7CC9F*s=N l7 )L,Gɨjiz=-y k6Nwi#zw wY}և-"X8Mg~EܰKw[η\:]ںfD"ybcQJs}^zIf +:VVfp3a#J ZOhL~wFәKt"MYX*#iYҙY&-yVѬTgzz99^BelN3 7UCR5&>۶>t$3p i2>x3?(#Po])5hO xĎ|HޔтG2I~Ky) p'ϝ%eH˫غж%XP݇d*Ac Wi2(@V'#ę;x""'+;匕Z~1ٛf3~N_esiCPիS 痏FxVj O{3&qg;!6):t<1 ϰq4ŢYԇZ,!<p~K|c&,{Qv O11]L-]T-C{f:(#ݑ"ޫ'>'۲ HR$'j*aͯ})w~Rh ރs=ҩSW`w,6r_45^e%H #2|p.fg 33_HcCu~+߈NۃPCjK7ԓehHI A>܅QAvP |-81d贻?dB|? fy{!Vfd>< v1'ԆgڏUDz<Λ o3tG9) ? "$ ^Zs{e]*"Y<0^b2g g1u[|HˈǐC{6!g7wv o8v̪IN<^z9 Ã&(j. C@wtEV8ldIŨ+MjDD<K$~$U|~nsRnړSfیDL*؋e$&N2QP*㇓K4K91[߰(Kᘯiei}iDŽ~;1FŻP;dQ B y7ˢ !DW_XC WaXo4Yk֗.)6|]'8&Ǹ7C0$qnlK/rV٤H7wQL;/`( Dh&q(.(Ëxݴ* $KKp 7\Nc{'(M,t$8>^qNtY_  -0*GA5kisLܙƂk Ǯ;Dm i'${?jI6#qPBN8!G82;=Flv-Lِqrm B)FT 2*o*]DN Ò3R'>~˚UOa~D G)\1dGʒA_Xg#܂-4 me~E$g/ {xTk溓6A ĘTa ecsGS O8ybAbzzd{:El[ZwMBNsNaYإc KY]C7}$ȎqF ]yΜj|O8;|!}ZUCXr@okçmX|S뺵C~e.kv-{k(/bgp򻓯E8V47FoÉ7lKOgYøwG3ߵ2|/=@w~0ÉOcWT}O~|=sٯ~7T ?*.)??e_X_X_Z_Zϋl.C[Ǝدm?d+Z^m|k롊qh빾t'm-{X"KH&p`TOl;68ztDơ88a_SG%m71m]KmaXe?˥*^-q[mZ3?VLTKAtJn@ 捠I/jQcHtO `a( }h w08Fzew$R4M[hzŘüa8Fo4$h9$\0j+1 * ` z8w7`CK(M/H4yh%") g Ƃ)?/u*! `5JR,IXXMP80uU8PTAFr(0o(8@4B0m V ׹!,1oZ ((4}pdeNI4r;Ye.`+k@\HxrQ0闵žŽB!b(EpXt,Te`F™ @6yQW`8`*.Mb4 qW(ʑ/I+ Ű5|R^J9/(MgBW0`p`o,i EH,r- $ ǽ@_2o eb*$z !d߁Q4PrF$h]FVKcWK[NK*s@;po0y  lk`u'!W V|3~^ ЭDO9<(&@҅Oχ?W0C-I]h{4E3?j[(z5)& ` C~݈# V4;#QME~+r/}>?4_va6W*kX ʒ?V~Sp@Q@w@ _ץW֏Ҹ1Lj}?@&N0+FQIIVxd "\ahj|05vՉkpVYjnA(W}!Wy_4k׿AyXj^y~|0P3Uk6B )5)f?0WƁhe^7g~+S1ԻϳC>ywGA@gJ?FY}&á' _L__+5+! phI"Dq4ܟ篦/SoM#?kxt>˝?h:_0CN Y D(_d:{ıH?>ߧͮZ_S(Ǚ>o}"Ox͵?+`5})Ɨ#q RkjAoxu=d*_&,$PmfmY5r5(꫕|^ Ved7 + (d_vǓ~uyu*;Lڴq㷠? ]Ŀ pۖ~eԯoڞo}xS/[{6t}N?mڧj1Ux߻o_W/b}?2Xښ?aߧu]8 NҠޟ:m׷>Q, iA"ΠC_[op,PN3o a$͉7WבSJ, |ŷ,/~6}_>Z?#_L6qelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/32x32/0000755000175000017500000000000011347002071025741 5ustar laurentlaurent././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/32x32/application-x-qet-project.svgzqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/32x32/application-x-qet-project.s0000644000175000017500000104423511200647463033151 0ustar laurentlaurent}Yw⺶=HdK^{Әك `ïSN *!UZْ٫l7)+&l;_GF>Yo}oG!ؓȞ "򄲿 g-ŋ\ŗ6psGAv߾<;|0'eoߪϾUG{l~>}Q9;_k8$QGh<^? }(E1}y_ߓ5@Τ^࿯<d!ζm;0oi^Nk[Q*SX"嗩(“|6EhS|Ѧ*`ƐzQ"k쿔j'K7\d>K^ dћ#1&c}Eěȿ}>Ds0Sp Q,X2&+B"DJUԔ%N~1`Q7Ȋ&BzRYIk}w1NazENlSRHZxfw:!xTͪD\e2ʪI7U|E "Hk)cw:==}@k;QKƺײ F>bYfq{:xˠ &ҍ&  ^R`7.w@gH4+I]\i\) Rs[NsK,SD*n2`v}ĻdoDBe'W DrYctʈas ~҈3*diı>U3UC7ڻEr 4Djױĝ"Gœ9(O9!cJfw0VI{K}[=C^TAiIг]l+)<Jh8LbwYT ileJ\r!w4[JGeq+\D7?ˠC w'ʫOIDw1#A-S?VoiShN ߢ[UbYNK~ς^X+α\s<Ӯ(GC4gvk:@ }' t-l[&h鼜WVo煝Qd$w >ڍ67f.ʩBQyǞt]&wFRQn5r "+s;H޻ӟ[V6`bbXPge&wꕟSS:eS.Apen5rlILzOj.Ƣԡ5=֑K;`FޥZ?u*[EGvUQk{-O~ܧ 2̟ K};>W?IQ.F.Ma\s}\kI @:G_$*/?\|]W32_]陧?>v>lWַwi<p H>=Der,`|ϥ֎@cBM ⃄Do0/ ~ z]^~~e^b2>wV7 6D" _T? Qy6EXoewr+x3"Й3#>Jt>5@E]CKY@9U) ;:joJ ʊ)^q=%y~ѿtd霎*J2ߙbHY%ŊL!*[ss*Yx5]ZAټ_(tCE?2TnYb|9#u]T( 꾔WcW#}L b܃N,"e3b/ .Wn"|:bH* G1$3eU<1r ]*V{a$>osmΪ5k+rM?TT^ ]Ld}<؋ ٯuX*я*U@iaQ}PQ(8aH) w5 !J$D`kӅ8oJvS.eݧ} )oQ>B"SȨBm.nX+)`d/`Yŋn?@.ͺf44zKvpU~#>cE$C qw)K7Bt{hVQ9ڍo &9h*P;IVʈI~6>+|>ϑx$"pXIH(-0_JK2*|!|$Ɋ0+LwI&_ldL# _`qC%$Jj߽ Gûѩ+0QO2KV)jH :Ua姨a̟o=EySSᏬ{LQ?oߛ?sEߜ?ۜLQI(>6TU @y@$[fPȧ./#IB"!D0E5bK +YURs;# }K |gW=#]=J]ݳ#ǧ="]aԤȅuevj CD:ƿ6sq ]dp"]J"B.+q5!q%GʠPHuY{t Y^!s4*b 8*B#,Q)w!wH=S_6؄Y ~n= %#G]! IuAO`ȬByHF* eQ$& OU7 VTP ]7!ԫ^@b% /9z2b WOES  \,1 Sj?ʜB<2 /}2dn,*RE$R4ը4 '$(/35yC]$K_zo_!0u$'C$N ?>|O^l|}>j$'Ddg&Vdߋ#,E@SPe`gE>aO6PR:bC"*蕝z]9V&d J9,2@? P*1@]`jStxc|i/V21 VЋ4hF"~=} M L2|ns_AP Kص3*>2%2!i)!OA.i-LoSY}|]Чy"*h^G Ke\Ґ|g%Z2YoA0_HXq 6_: %nxVEu# &~hj# }H;P_K{ t/gz+IGl%NfwPJ/6c9tWA"[9{BoYR. w!ToVOaw[ɔoDTFgdy>]0U$*I#wњQ{搗Ι=w^&{lgE4x,*;yφ.Οn[+(dp|i#?ԺϖEd18>?'s \<+"aoκۗPS|T66j}'Io , +eo)[\;㟟B`'DF(SEv.Dd?rUw߆ZEշUgSȂ;3{]bFoDQWy9/?wAmP]lCǔ=9^jm>6xc~OskU|βoڸt?FMSel/m?0}me o]lg5Xi>%YV٭y/jݾ`"Y~0ȭD%w\HnѯE/@b!rL?NaYۊN=(1v[^m6kSkÌsM So{WD:'W/}q 流p-_*·mpW"{ާ9wba|l;hfu0O$0P;Ce{Sn|gM0?v: 9?^[vK0k0iO_FTWc'$^@DAe2z.YB3Ba=5 Qݖ<(coYQo^2Ymeyw*X@4i \1hH8eLtFWi_ `qS>pMF)(3_U".:|F.hZQNO->?%h|ē(2I*"W|1XTU چ2h5ejNa`o'eJ2Y<γ?0SG(U rҧA$5RP؞H'&U*] ȷB?"R,WO i?7IJ\q['i MI_Ņes)A9\ )pSٓ,_),e O+x2PG &s:ZKyS'"_i/B@ E*#aVzo]*bťbwM?8*+䗃_<%)EI$\+8vP ǿnEO7.qiwh_%"=>/SVm̫. n oܣCA0 呤2aIj{gQľ>CLqyyݼ}L/E2WHB'ST_8:UUEObE~<A8YJ*lHGFw>E*i+19^/ŠgSoAyF<3 "4ejNpB[{Zy-}/Dl-4?<}J:ȌVAx >3|xQ''oqnok3M3kAo2\>' T9A"_pw Э,'(8AJjs/d <'(UéaD'-& g*4ѳR?]ul3Ϟe xcX'R0♤xiO1ߙG=^NᦣIV1X~׽Jpk-=)ȺKu|^TA]`)ϕ/FG AW)+~HP {kۋIdz/:*.|ZH]hJ2?<<7.'OT%R՟2Uqk§ - l=a8Bv_P=^,~h=,Df*Tɠ/Lz@|$RpܶJ<0 $x? 1y{`#C0z oKbDb"a076At"* uZtߍJ Ё. J婜EUE8 bDPw bIq$1+Pg|_ ҫ)QN/NfE8"ҷ2>;%l*߇`|7Dc)7(Gb"^D'gskBGU)r_~ER ?VnQ?k 8\\yM(_h/ :o 3/";(SKNeO1iaw&KM4(oׂ\LXOK y܎,q`ۋ7n}7Sݥxݚ*F )7awQ*JPYS?ҵu&%v"==I?U~h[.GȯXRE_W~s=F|3+\Pd .?O -tl%RZrV5Ei^;MM^.QOsoɹL Jz`ޕ-wvSJ"6P/-nD`cޜMUnhU&8 8*ʄ@ ~'{Ҙz]/P8F&$bp# #`7󿜴(J+b)o[/?^NK߾orz(]/a$obuʥCcP#k=r=VDA9O^eݬ:U-/•Se1Jg2(|G=oHnK7倛)J"\^`ifd#Z#Kł#(nDw]2]o+%rWBZPe?kZL@7ASP 5J7Q{,)?6+>a ψ"w P$7m|15n=$jC7 e<{I|= T~r0"5̏rUA'Ir}č^GՅҭ73.5 \3䷒k?^o#u[ &(zAۉT1[NMfEX$Dy럒D Xh"*·9 "zD‰?tm&xTX<> {Ya(Dv[bnυI(\}m<^~h.{o@f 7XL|CĵQy%o~cӧ/91;Ds˝m: m)^T2K90FڼUhĝ`>cLNӨ+c4/˫ԵhZ/bfΦ]+ѸYR D6;^;NUtvw#ՌkIhsmwF^:KAϏY~rZ&O5mMJ9r\кr[lA\(hW^ȫr*r Fiq: DZۜFLW."QN*0e{睼\'\gFɌlqy=R VÙܼSqX)Rm( }qwr5Ojێs*X Gñ^k3\ϟ997U&a6ǻ92RfRyqj)V<M8}o*y<:^uΊl zh;&]!SfYh/2j)Wez؆t392.Ygaj+ϭk>hl=;ꕶN#uXV4V%L 1L` =skJwݛ/ ZGo%blj천yzf81Mhqovg~g#7͔'^͏x Ft2<*VT?-FZ}ߘ,3pF> GZxjf4tY1*)^Vj*X֪$V[;0,ѫZ),9횃8ګO{QkX+M[ӑLe2L )R16G&%ɹt6$u*wh#֥)܈[Yگ񠳮;LNrV""M=i(orU>)6TF3v$ "5IƜl$Ws:mƶ 8UilkmtkT 91-RYWf07m*e:2j$c'JMNg.{ UqkÂT\#.FhwP0_Kj`ף^wl|'NBMP2󪠛&SRZ3DgD@z2}0>C*|bȤq6:q%h&9Q͍P3r뱿#GE=拃8V:2j܆TԖdj:ryiڞ 9* a;2:㳚 {ȵb/o:(85YzVi΅nRe9^!>oO-ShmZdq跏~`;TQiHS-C*.l4mJD>zxs$ jv ~U>MS3Q|6i7NMhGF9J=*Kͧq^ hZ]EUF-!GkOܜj|U-GKqj /&ԯ{mmp|깸TS ]t.]EncݶñX[ NSK,Oz^B MXi 9jL*,G+Q4Kut9l(\;>AZܝ|saLe#hä<{1a4< g^?il~G)8v[GYQk:u4'w:V>*ne>˫zMȘ4-M:mjN^Rs)@#ZvS$nHZVd-kۆ|kfC Ѥ ZeT2˃=&jjdJmt$UڰRL#Q͡\oI8먺4;j4X.Ĝ0Gozz7p"MmhJέ1%ۍkS`5u)V邘9%Ӗ):G Θm2ۜ``g4פx^`r.[|R;AnP׉j%ٍ?ZjwRx*.{^޳mIp}kM(4ݖ,KWIk3cT2G-H7!j?Acdx_CBjeQLB`/in$ yJQ,՝6!H#E|U::{τA^yShE'VCwuڕ] v?W ֛8ZgEH9DW{Qe4اB1 R#)q!0tf\S=: `D {"౻zF N5+cTZmNmZq =TzOq5Z"!o+;n9Z۳1Mˤ3#Q{5KƊ< vؖݲNI{$L++[GYNS 3_ (YL$9/C]l˦\v7qB\H݂$wGhFjdѮ{jN̮vʂV5ۘ)mWT[ㅼ:|ÊYg;,!Ng}̧j;-*њXZΰ˔}޽7Kfm璁BbFf- hJR[v_&-;mOGU|^mizz]]KEFn9jAQ 7~\S9'xǚFb2z4I^1[p2՞ve9Uh3/C9hgY6%25F3F&YFi[]t۴Sl=@ v\;޾ԇUsbP;R?c?8qOa1YU3tSsb(NE$lPE;<ε|f2+%Z 퀶u{3ofV!x5"ڐeDfR9[V]ij֫y=h펫 " 46,&[YM0T @Aݨ\4%6m@7-yڎGOȌMo5荶fLF2ך,+UF!Qgr'n cO,kpݕ:t3PcWnGYTJN|Y]f a9isYL pM:zM6S[ͦqRZ2˜V> M~ɫ[ Bñ/*:DX4G2 A~o7EMiV{qTI묙2+:D-s=ˍk_&6[Oi2i bt YtUK>LjBq嚬I$׏s+_N}٦(MLʧB }p!sfcyˍMcq!jJͻvVfa~8VT; :zhMeUܮt{Hs`Ԗf<2k'm)Iy1jV$V+IGq?et墙1ʃ;n}QK;3.iYD9ʍae\%;YQgG2y8(tW qbF`G׊d?kȽm#ZY̖RȎ;hlXr#hƃq{XyYȹVsj8[W>nɴ(\5k2M͉TqMq^ʻTh4KYޔ)O+A"L2gESd]glTʓUBVzK G%cCز1"7AqiuV_ (8}km3R([uYu46ž9x*b}f2=.dѶQmq3;vދ?:7c'SS-Y6O9QЈƇpvZ[j" j=سmUsCJU=5ͨmMmd}=8;& l9٫ɪw=q&.v[I{0.'tJ wl`jX\ &$*Q#\\fZź۴r[ey=pT GjP+8VQ^8 %d#ۗuRjZse-;ViƸvOq()X[7e;2H:WNmka$c;hf.ihSۂ5 3|"jp3d5:1ʩ ɪl&SiĺaYzأQ7cFXKtbem_qtZð]P"[MpfwfAIJUF" A?-Y~3Ӕȳz=6D>ҡ JJ;7Kdж lȗ 8 )UTw&*N 1֎<3hɅQC+)ؿl/9r*:pd+a;YtNm sMra4(:h1n^XJpYmZ.]݌Nvi${SZiacn; v wmQ3ngHqnqS-%+p&s&V+Te/$ St-q8hmEhU1#S-v2$Oka:Dc?Y?Ckeгu&\.ON 7ue68i*LuRn-4=yةz'1FXm 6d6Qgۑ>K,UNgkAx괒2&ӴX :pBBe0vDoAҠ(֌tx.jZflm.=:CYȫjmiQfVje-:*6G{hGa'i,^,4-KIokA%~XBm3Q+&lG() mY23N %he7dCjz O6LHg[zM0fYqz02VR%N\2 ÚV m=Gx[JRTFb*}+nf,H=ވ"OZn) z/eꑃ͡{шBGnڰZ3 J *b1jqLX ʨ=nF^>-w:2"B])lG.W䙳'kkNW@L\Z?' )M#9Dm7qHNN^xqG,T;ڊp=ٍXjZڂf[%:{cEH<QPF!27>TPOxg/[lG7szvV'xr 0EI;!mC6m IddHJtD`c ŃT'nbă9t!9[L(pJZnN0z`FT8&TVCqwdZi.GM8 tmi GlTSVQfrQFmc cd͚8W6Mu*DϮ^i v76@9^ 2B׾S8/% 1ƒaGlfی'riWbT/}vTK3NxNsFQ崸MwߚteGn^nH1rL\ac^mmBlg^QvVFdGmt eFhQaZ8ݳ7$7|3ESpZ-Gtjn=ZtVh~WN 9+,ڴ2Y#Ik Ũix,k%Op]0Ӥd箾Z^~aaԱwm#2-8I5v¢oĥiO {MA]YNQhAN9J,yR9tιkn^lثRVϔ:B!Pꌫ=[*UQ#J~hF?Xx,U 2fTN)/ hh57=r^{ݴB'G zq5c7k_e1V VpS`2`IL|2msjZiGL$83ln au4y0-M<9+eygj@c@~T4-~E, L*>(3%,y}]&[":՜/9n#Z9m!3ZayvvPNl"{v-(i "$m6nu 7Q4WҮ@5dk:fHF0dKVDe+iQdg5B06(OMQiɨ2_7GEϢUH󊔞cMϿB^!QĪu\Y9[~+Q~ @aGH_*4<^ 3@Rѻ lf1աV%t|zzt_N~+7WS0 ZM1 }hbX25$sX3Nd2}h  s6BɧL/J>5Cg!)uVT +RçyBأ/Lj,DWtG4[q=q[&I!W m9x5Ԩ\1qK78&li劷Re`LgN\'ئmMA2V!‚육CIHՑ4Ke E"{3+>ʜ.ۖp%[L Bu@w ?_BzOo۫Y2k5ήG0ZyuA@dșZ F}by=*UWçM[)ؠ&{&` ʲ$݂z9N͒"JV)s~ ~rV__.]b=͝BFlB3_Jr?n%FJ(Ɍ.5įJ5o+p|ȈnNMsHۿe bMD^`$8#IG\FEsNiWq@ %IE[B^[_w|=1$베Fm`f}(y<Ƥ@3 iMLv8MP\]bѱ(׿-yX;M9) D0ka!,5/}WIUGWxgl籠ǜlH=!r/[zDbO$9fE}_& cV]W^`uXna߭!a&)B0_Xhr>dH]-myn C펅g>$ƻpgrGRYusmعXi|#kB97+'8 ҉pk N!a+'g;vBx=!(Z2| !VX,oZc"y^-vaRڼ%Vgcݞ3xq`g'L=B*4Obݐv:lhESGnȐď+MhWw7r&jt)g `" 4*H1?%3r(kmm9#,pE+hJAV=7iLp烖I@ ,hN2ٮzЃ\&Hiʤx [/`XBkѰZb&K7vTQѦoԏ0eu^J@2H(Z$gkl'! D'| ,Ct~K-.VN[w~u-T+s H$0Eߌ1ܝ2\L:fu¬3I: ՁO@nɩVIŭH^3m޼DSR1?o|Ϡ!(dK,u\ K~nkbO:!kV-(˄z<;,Բ dD.9c(HB5m;T%U찣07ZyBl ^1?Q3'! ext*7n'j#^z/+WkDwY OU2P'%u?j \;|h{=V R0(7zYM8jL`VLHJL wHO4P~يHVh ;bQiZI{wyP??⛗bs_oX[\au_jSvD~$m,JABҹӨbW@s/+>1Df j^2%u? <#fCTrUOêMr>LH@S~Fx+>;N 5v19f|تC,_*)rFL׃/#:mޯq~rm%A tzŕz\f.i\!!W _jKooyxetyx;^GwW!&)~=$eVU7`hT>럣W(Q"+ Cz+|;,? ]Cj$޴fLoՂrZoU*쵅[ 9lliٵI d;TXq=Q&x直&}N2@8((X`T+ް<01k/'̓QpNRÌ4(cbM1|:f( hbf`xeϪۇlb|j&벿R;+z ^ӫUc|և+:Zz|›GĔEۗkt=pc&mzؓ_5GDW@ElnVi#W&y;ƝQ8]2~\x#:cIY0:mY̒2қ`/~^aé( oI|Wbl9_o"s>Lz]#icI?[0\Ns c[~f=ݝk~X {XGۗߙZS 0E -47RRv>e[f9)Zҽ'Mja͐Y~:c {<I-S)e4P~C#|97ԫcBSr}i,MVa F$xhCY3w&b= ܏V< !x8JAˉ^i0&TKCkmw_#7~ ~iqd |oi|M<ak;l@UeHcI.)bx^ys0^Eߐ>+aG@援w5;V\EwV+hՑÜ?('".)d)1ϯ,)gPb!i2ԛOHaƛ>)s`<ޜ"+HJ10~7nץu6~}Q7 KtE\Zpq'7M"q^$j6ƺmw7=Ս{wd 7 dKdBN6'%?ie <+ngCIźG++:HovZdDjPG`RUց/uYDS(CF{iǨě}3Ѫfė?&̸~X&krXf~{Ȱ/sz.:ס!\X#H.B</9--=mi9/D߲z޵: r脴r ' @&m:H뿔~)74L=125%/?˛j7TsJu|65 nfb0+WSi ȈUsɹwؕN"!neפ /? !ώά4q=lP*EL|A%N'| wʴs7b'Qe&[09~_럛D,s9 isX0xaNK`ʶ! v*=qqNy@\/qCeMғpŖ4d'ٓጌC]KTZ"vU( 'u]O]~Ƚ2AHm?M,\ט\@|XRëFV_It i`S:΋ 9C#7s|i rj[&KK!OdCZ9(oEpM$M3鍛8h)qRm9S)bwwkfN"_%9ߢo2uXXi>Rj'Ep-Z|NBe FK4o].CyYJ6_xroqIJ|PsF €8]ymPhxzs<h/ofa?K5*Rϣ0"zm=#Nבx}=89N̗\~jw3Qy% [8>wQok1 Qal:} i{c._ְ凊VݨJhAа6$H;UU|-|zS_M./&i߹YQ58tɼ5|o]iyYH׬<-emx̯4}\3g}!Zk;2N[Q1d,¬(V.( ǡ3^!rJt] Fcc8w|FlSO d,⼋>՗qX.Yhб q巂Ltf D2(vC`G@Y\Ŷp,v#y"+>ck0)m)#gpwِU߯Qx,>wmFP .`u.mKzAoݯ"v|2Yjf.տn>hfݵ&.AizID[iv](˅O{+̿c V""#޹=Ldk%3*@8GLUE}K1r/feN=pz$7VgnɱR\~-Ŧ 0R$eu*k᜞|xUv`vs9Jx8؇'ު Z$RSXoW4kBU Oge ̂y}}:h-Aȅxip!LKXtvN;1Ǖ_{ͬ.#WBL2^OE i@_q2  UBB2QŪաP}^tWrFz`YTsfT(ΒNH}? &@ N`2/;G#&u\wV ݕ& KFtbNfLD=n}ɑXELդApp?Q|}S `,dTK .<OsBF -sOΑbWK63"~(?o,c*{_0bҔhFk$H.-,Ts.X!SEb6Hh>b+dm j)I$w*9) N2(ߕ4%bz$V^c\f9rq dPQ)tsb摛4PޏZ=;]n*Z>۱iGbucn`&CAºeS`sM{#o[rm?XʼnF~jSAhEvoW+C{>ؔQ l:EsX .X ?qÛ2 ~H#1@d@#…z4w2ݯ=OA.WpIsW"1ޜ,J"FgϼH[i-ɂ2u~V [Ư}S"1JQpEghEg!r`z"[|{ԓ k;c]@*i'ڏ>Kh7QΑ6 Kc(gi ` _nVR}UGqɨЕJI8WLEZ_"ZD}!r{Gʒ,&fv(bG@6e%oyʓV'N~e9p~2+~_2{r^fH*J^TGV'Ys* )"&d=(,[h?J ȝbjm52دEgZk!L_owڄ0̓"˥ѩؑ?~*Yןt.A2TzOr6pUJ/E_4@Z W=ăA+hRS h];P{ݒ;ߌY'w @D:ed$U$mRͯ|4}QZ?5eØOi^2IQw}>YƇⲭG`h|"/k++I2 K4D60]BiVmҋq9,i@c+^_ ram0 "L;/f$m'VZ-qc~Rl@<6/Wn$ TD(bG:)VmOvXE}7ڳyT(wRjzdo#|ӑ|9䃓2LJy̎$L,Q z H5>kxUWP9sX8 @#7_%l1gu0 >aYG#>ɝ~t $;(KꀾX"h}nBب:cUznv5N7P_nK15ŝ4=8o\RL3(O㤛Te!99HyX!]5d jQE{Y2SwϟHcwB?Y 5)0hy_bf3?`;`Szbgx+N@Χ'h4ǂ@|[8f|Ta *Fb-Mt[6'k( W0hnpV\jEpN? ܐ4O[?5pW4׷*KqW`#΄a4HpOX} hܧsp}*7cTo5i~o*X$2C挲v1v /7VѫF$0uM~k#:;f85`As,ƿ Y,ld:vVo⠔aXT鬋 PQZ!Ay̧B0T;ARQYbgyŠ+:8o96}I,a[_ip; 8 T>;"vTI)*+KHI6Mi29=#e2_2Ztѐ:!#!MҏI`v[Zcfhkύޙ_χ%fK45T)Z14I`;ܑ ~ C7WSN⾴IxEv;(,و۞57b#I9j9)Ut݌Un'}= kinhB|iXtȋ* ui#x*-cl 6ˑ+g"R c73dr$|J$@+f ɒ^>ldbN.{}}zD p3~l3.i;qĻ +ΈDGC5>3RG贖ͅ+9j-QxROVųAЋx-U^RoO H"\{)!d|Wu2sKF7NⱾ +ӢƲ{!S3_7k6ZJ$Ǭ{܄,al~RNBC9ddic00mfD /d&YNh .Vz)N\僘[OoIޣ3%xMAe9/32A%\\<)d+g w5l)%?rin*_ }aio)GHޥ!kU\#SrFl4n׻XT s`1߷ao3,S[Ņg}Ѝ_$2cR* F\TdldŞ_ԘӋ͛̒#h9 {e-pqVUH5CfEO 5Į-~E&!QGڜby6?1\UC ?eMq$rsZ/QŜXRq ĭ*zք\ՃWGVr#gT RVDO%;{cgJ[.!;tD`*MdXtZ'B2-\*62m'=>ε4xV^C{_X)ݐg5_E}وb?PG5%0AZ#rL#򉞉#x__:k.vGiJH}^ʭ?V{ָA%X WX )Sr>FPGw`Qr$DCX{c~.υjV^ _ԅ5w -O_`-_3L!1Yzh9 kOq~ |%m&qiBBUqrl.E$TSE}6:'{'n ?^ЗF%{:Jݖ6)%6sS+$%WS4_aI= ߥ =d!zÑ(9Gϗ~-{W- j:l{eXx\tߐh|*eݑU{_JZ9H>}'Benm,u$Gҡ2P=#{{Y&wS&wRO BEZ~\x6ɥt7 5rM"C+X.`zb1όZBav ~*$ՒbU,Wb%&Aw&DmGo]KcAmJ>jSf|$;72֞==_x17fׁߨN Ѻ guë\r LP=?C"+mOF=x %(0i4P2,բLVymJ*A9A}\/:ޠoIOù)d7 >. )1|9X) nƵsnҚ% ag$T3#!`찑I"5H)"|pA(QO,wBҹו2*E| Q۹0Wo!:^-K|ؓH)Y;m)ZzEt_dw%2 j\Vwufv0 <\9q=s˞w%  lڡ/6N/WCo m!)\n^C`皇 Ĭ6haAc?c\XqgQ=Țd5,WH.VŘwTnwŰP)j $3٢<)fb;OJ1K~t dM<4e &8?0@Dgu' ںfH! 4p7$H'O·tp)^ՄJN?p8Zki;I%ʶ+>K'(o{Ah]j*>4N[4~˹o%GG}[mu2{9 -~ʂmY $A.,8&b3QuM꜐XHb-a~,Rn E&;l -?1ēTL-ك#V)^SIs2]tO;*ҵIQ9gxrLDqp;qp0EWa'򎣾o,W=K;`i/j[DE1K("F$"y͊3K"KOpKz>v_)ޅkZ˞؃HD m8yu~ߐh8M_Y &4W#,_ {g;&QkgߖrQ(%1_K2&o·XJՇ+_B#;|0ͻ]TNӿc)"#~4JG9018OأtJssV 6_;n 1_Џl#UJUaTldq-#^O?hu sJgZ#vX$m q$XQ{ڗ#*(O9̲9w^JH\^AEyǨ9doMo6Bw) NЛ*Km_x٧[&loƞsBذD󎣞5}r`G{ 21'dxJ6Y:F?ݯnҊ6TJ>$2Dvö Ti*A?gOp/6`3)6l__A0Cy\\5`sr/䣋8#)eꙄ]~To. IjTԼ4qQ _?wWiMY}nֆ{ѠWh$&K#UJ߯5U)YJk `$B.k9J j[ކlc?uv}ᄟ;?"rop#ܔG9DlƂDDfCCK |}ͤ!jY/d^R`tEd/+LC9H߄06Z#hH ^}q$D[@+=QĚvmͅ1n?{eVVȶVk sv$wN2GzYTg7kV w ) %o":nAЎ${࿆EL8^'pX7c9)I(@-L$ü^2gIqN 7 <|N#e)s!apִU8H]>j+KqGEY27mU :5"l9jz?f;*ȏlBT^UrQ& SHP4Kސ @ݥn(5x Ӄ"f1׼ o,ߣqD7 kべZcڽw3ú\;1 D(WtX)GV9{.n࡝{ *s'sK:(k0Mo^gQ\9|}.?1O".Z<]Y]ne*uJ=;C&Z}9#wU1֋cBAGh~aFwq, +'׊~KBMcgg?qn)䣏hxR+zguQ 9}k/ ~d6 U IDoVK7 ï^d 6i;3bSr9ݢ_ SO=ƨא4do:?01sX~Ec#Nza/c  륮`Tģ7&Xn O^ p歘22: ;"F!aUY@]# uz\$[>ɡ}!iyiW]>^vTsQ؊0X,+֯#?DHsd9 Dk|e쐯)E@;9%}%OʼnGX3L bߜ\})j%ӱx |x7̽D9!͢^%2vJ#BJT-Ֆ]ŕ3e Ejds676uZ+*z &&Qpv.1Dr)"x!:ޘ2Ӝi#v}hZV^wI\=]Nr0A7{l U 8{Gȏ|bJX8iΙ<6bBYף_  Qc% >7ʁOAy5 "o!P-;ﳴޚ` St+4"7ѧ\R #Kߩ3[/6ikQ泫V'+-E!/ԍ"y꯷\y%iNr%ۦ|TXJ% g}"oj+|!cH_W~nW&b6mFV{K5|`ưN& =QTLf AN'QR5 1BPfƹ08cIVtcwgj}vy8銖%u"/Ҩ!K'0~c_>FxǯlgèE%LVyz]ᾯaá-tZc`e1ܵ|NӇĀL{|m=W>0*ۦlŦGYw򌙊7ţEt䢎pcVTdQ֥5{Fe7v_eFJ^YBGIDeSޭIotieтqb!-L*?ՠvΩ}\-Rۦ( H9O,27_7c&ʒk4=Kި\9<2N X"=Mh…dz aD|Jkp^׷XBM4 T{|;Y&dZ&ߞGfA6JERt k <0)3ܜ;2Ujc5;'O垾;1ɋ&k+/RU_#ڿ#?5z ?>mnx+g aĖ@6 ;bzrl問m"dbۯ Dx~6[*JM~Ah8!נ̾A}Jỻ NGL,B*`t&z_s<ķyzl l~F]p$(وw RJ#< awVfD IcXIeM>56@~`-^'=j'_>_j )@X>D@$ 维53ez}a)/f\3讔~B҂D,Ơ]Q,Dn&Wr86hOv2NPOqU%ݣMsJлbS8]T VG<0(= @Y 䇄(\#ͷpHVZ#Ӆ'@,5<ֵ$Qy0`_ lL~^  47 ދ'WU{>&p?t+Ky%uꚔTƀo1)8I'X@dT TN=\/G,Iٮ7k\Ȧ$+A]`1I INBȁE!({}dF>D\2g&ҾYdąV߰RL>x WgR?]7OpcH4&Y2[_нv<0$?|Io̍1pڳ$JJ&!#W1yʜ(sSk aeh><ّyF UC-GP+?d xϏߎRd}ANTm·#^]VjF F~t {SmU՞@(b!d=o0GȂ \+WZi3w)916[=$Pݺ %4v1 >w$쪓#`У jxHal`xN}"Ǩ &R>*ՋW6r.H0ƶ]TOlo30SxrXvvC{=EXρPY]I0TQ_[a]@iI/?=phtUPc$0^۰N$ ]r͋ L<ʄ#8^ȅ(WP8'$M槤1 ѕ;bV|4ħJOUTMD'\6SF/o EqۊȞA+Vh ^u*x)M9 LD2\6e@s6tC=_}"Յ g$[t G=YkX">z>BvF?ioqVϾo|V\uơ?N~򇧔LYW>h7?}i,ߌ/Α=xG`^'axmCU; ERoϋTaiJ_];VS]*?f#]DSJز7  !r[-uۄ RqN!s&KV6aQL~ Zd<3.wQ]3MC2xчNB.CPo'Ipc&wH^,Ju;o4uF/`Ă:a)gITrK%(`Fd^Ը~]n]d!D? 1`UX׀֚I{K3|x7_:[^|kt.}m G/T,&8Q ;G!NǪ>ι ?^0lϝ`zHXׇ->keaU]f$T=dTC\T3rjX! ]ak'Ly Z蠓m2nX)LN!fǞ̏D2)wk ksc !Z6!h1µLbO(o',^mV.ɂW⼀HB.pB޾ևGw;^pϋ /bf'ńX^>cĺ5.=`]A"J[±UMhEM֕X[$v*9z$D /%7"ӘW.N@=2qaB zܖn͞hf O??2o% ^## xbCoBgIM`+8 L?rpy03yо{߆_ǝdlj@V~HG#FW8@>U"0+J[ؠprYqaQx(QH9yXԃsd(i#Hk?;|+<[u"8pִpFG{&9Pm›Ҷ3`@81n"xe)tK ʨ<7x;]qa.WŶ=4bzSA_gej\] QEucFU*p>Jy;c9DL"s0ǰV&+`GR^wl)[{2(HF*JC{ZWQrcJbnUZ\V4M{yߡ ''54 Gtv 5W̊M_\Sdr[ (gAy5)eA ,k{ʰs&<.AZpy3w%Go*wPҽ z_N=ɹ1dpF@MBƒMEVNƜkp~o|>P.|_RHpmoN mBޔd\[R# דq q?<υ3y[]j ,׼D0nOEs9OirN&dd+uN;M^Gl6H/ʐ?bt\'V|)Ϳ}aXfV&ͭIz`o883 j<{AƕMsE <o|;$Gu dxq|LDkmw_Μ-e? PM>%)na.Q$huCvEed뙷ʖ1bMjHIMߧ ' (؜hѢ̫Vhm6;wWcԞM*0Oa _K6^쒅-xiDGf%K1q뤱&1}eDH(x<\$̂K.me"2AsIo>~`h πRk Gu./95a{ߍ͊:t=c$^"?hlrD' ?Mʼ}BdvB0W|^uQ]1=Nwm]W89mli`_DsJhd\'QW[g0KOB3TNgwĪMWnU{ʍp+!uLY BRL|iҦGf[t=T&jp)% ve:*TɌ4%1=Fg-hf@= Y?4T|5ȾSm6;zJO26{_) pk\Zk h=QрPhy& 9s U ^G~,;}𥽳%H\Dn,6 ^K0?B|YJYm#H)rGF( Y<;K)V$ ](O1:V5(H\(I7 Li-v۴-;$3kd0׶h]$TWd w_ S4 k&JF{>F' 1&.0<Ӫ~QF ybj{-JFG+l( 7q|o_.:"ߍoop}jҎ;[" [ 44op:2}"'/!y pl:oZna8+ݘUыspio,AL!﬋BknxŽI1R6+o> 2>Ҿv\ou p?9mߛM> [4K)J5i/̓w(PLRD \lI>ad_Z$(nvճQS P#;DD :7d[=̩)QGz|[B GrD`3&,mO*zʹLlf4ᝢbx#M._0`L$Bgz.ԥA+_[cWzŘl+82Z1I # w컹ͥ9瞵2]ԱSίBmbNY7tlrII%v!lACHchqiWsbBGQ=NMsW^x4R}5z=[{2)ơ5v@FV1OZNObKQn5]קJqp$+Rꢋj="% I}ZoD7>gCBa!_L93_HedGhDlf g2R#JV/e68UR %ƏGF;jjyW0c==9MR0tH {ٶ*ɾd?Y~WNrQr0f3H<֏˰*m3M\yvQG1)jզ1zL95Q^˯=N~pd_# OPŦufag`N=>f)|D)f60+צk NzqbBI]zMti{bo\g[ [:Jl̍n7~ZS#:Ey[xzk7qM$!Vy)_ [pM|*X$t߰Wj=S#7\o!b.J!Oo:s\HdvzrSR|"X>閮qߋMr+}M31oNynesrf _#8 &bdzLп~>A[f=$HKI eM 5`ㅮd)=^liB6{#H()6#JV 1>A,U -z[# {B˜hٷy o*O1~):"':w40 6} ?[M(BOAPsԑIfeW#3{s6)S\T@9Gy+Ps1SrRadQeVأH);Gp-ekU׹ `1Q(^՛J,7MMb"бA_m7vނM*Cʀ1qJ{}8aѝdw?\EtHsv迄--zvJ p( ulÉIMo<8[C:R&V40*G ѽ PN`zgȏ7vIK T>8svr`G_KCJi2P2+4-7YCHGYx43}Oek[(Er@8Sgyj+UL-ux.0cYwĢQ,jk* P[z5+:/;BWGl֪Ql ä}?"&r#TT̳Y=J9WAv{nt[3y 1a1.y!̌b3Hb@nM2b^ HM^- SV1WZ<_\02ףF*x($1"Egh . p~+35BMQ:S yܱ,#}xuЬ'|N * (g)VzndR_O|Gobx5p狇?~gWq+{NfGn_Yg)F_fqKS&`30x38Gܬo%r-.J"0 㛌ùfe+kS"T3k^L>Ux>/bcS|I1A d:"zQm#1 ~˴w/_G@_^MLr%N| D9ttaF)ocuWm;CQj@5y2w}߉UU&u`GnR?X]kZpX8Y3YdKA JCyJ}qgq7^/tO>U{TBhȝm>OP^RѪ37ăP.BuyEw@w1~Vʏ5\p2Fn #>vI~P#l~~K7ۗ[PQo9|G7sO)'tɎl4R1Jjٟ`0\掅bh]6 5`E>225hfcXVI#מKŚ`R鹐E +p_ϲAr%Ş?44=6x#'&^-3qr~?x*ˡ+)(xX+h砭EASM FP[fNEb.4;ьO^orַ8` wY؎Q,XY872?:( Ud(TpYU<Ѳn1HpfNqg**346NNr:³8 ,aFޠ|$.dZ, RkqDd1+p"z!Ɲb?$J7KX<lwVbɂt<0?_Q2n^WiNF qIczT#An̨!Yf"_jS?@4XnuCE# Uŕs[OYQ>4d:;_cfmmPÞ$k1"G#']!JFr%[Rq]DFKz65WCD->p &wXU~3s 9Ad*穚a 0Ȕ{9ۦu;&u?f9-L r5UJq3z "^TXL&9mRsq ǜD Ov*l$lL:˱/>"mIfelR`EUxE@dƘ=5Ѻ L?SAzm9!,֎v,dmC_OO JWpg6J*e/hf;h" V8$k/<Ӟ#UO6ڿ0c5Ӆ=+ 3meyb=0,qē@UX7; x]ԐQgE6PR~MoI)"/_oޓ$JcR Aewzb;蹸܋!a88,)'m*ǒ;ܚFVf97?-3@#b9gAO'_U cA/X-e@Mgۭ!FP+#^LST *VY|MGu}*s;F1+*v;-{'+S7Pd"͸{03Wy¼)K t!>nwCVds<ߖ,Eb{}v 6qlZ@RbJ2HxlVW*$[NaWVQFRiM "w5D>u w@J1Nw!l?Oq1Z/'_G'bkIE6=UE~D#"ؐ)Z)( :n˾R+s%Es N-Ko5у9ef$C"g 9ރ 83~ݡEhCFpL%{ =-17D;|mv>@[X;79] ) ( .T熕vf( t8!Q0e#5\FW7Vf]NxgEkN;c/z-*U2 ?LqJ\Xm~< 63>C[+ջqlhfX6fS%,can"~!uWwdx']=z<wTm8nYM[` B5N\li_K2pd'p1RgݠdUWL},<CR9(h8@ o _ lhR[ 14: E,܉{B~R`spߙX:LV/g򨤆ffƊcVў,9g#F:~fse#W{6S>ec4gQ< R7PyD΍BVY'Bظݒ7%a0D2Q]QĆ"ALH1 _ T1ZOa'FN<"ȓS'Q. Ys9Mٿʜ#&ODyG#e,<>Rr0M#6 ^2z\l*B+^Y)]7cؿ+#6zEb.udn/gzxot_Cp:f^8q4$c$CojCT\Ii:sa1GGm&>;S͏np')~R\jP?lJd _90!@ܒ* Hl>@3 ð4v]̘j0mgmTsW|іPonbb8K[!lےl&t~k&ڑ+q(!?d /iz Wn1TE O38&# [ T crcSTcOڬoE-, _FQ1C\KbXاJ,ܸXE)?M͖Cc>vskCnKWtF]ݿ"SU+t=+\3MOM&H]#>;Mx#Ga «b)%Lt?hͩa;*bxIL1"ﷵhuQw5ήDzִ$ӊLhn>`_jzo=n*oKo:;;Qم!NJ}SMՕ֛ZrGtz}hD5-UmyJ(= /bv{oj6s؛CKu0ɫQ5k[_Ab"t0sf8.'iEycB~I;g^]n1H;H44/d$-_yt꩖nA_ܭDVNjJάt#9S U׸)D̊Aɝp "%QLQm<^ ub.#x76^5wh[-ɾP|ӪL~M@tYЈ#Z˓"K[at13B}1n6~{!m&_mڿ+jt*K.Wmcڱ$W1r*ׁ1J1KDX, >`h}賳$j~cK"\<qq~>B"񄐃Qft>ە^Ϳh;~HVdR|b8RlF(dI ܱk*.AҺE<"py솾s%GT3̢iw;{v~4 )pz юaX$].lޘY<:I9\Mz$~YyމVL#b Rmy6qѽF; q+vQ!cScD`7u?A펊K';=WKǼuvRx;GM*+;a6&ߝ:r 5٬awb4*UȚL(7d _ISN{S'kS^;*Di\8THW Rw $*o1Qa?rz ّMծNB<9| ,z#wͤ(.`O/8=YھGNXU;&\w9!*)UZ$?Ȅ0Q='P 9!X u.kdZ$UZv`JK}58R '+PROXSeQG~W*54 a^I(o.zUWaBZ]_$#2܃>88?)65j# m,Z8X#$ۊUv3ɆE6Hn(αv(@8k0#qӑT0j)1Ddހ.R0g˃Ie޷9 `k|hb/k'.g-WCJc2w6ڀ,\:gFxw/1"֣vNT|E]T)&_#IjR5=@Mlb=q,|_XOUdP'TDjyWj- @9̎/:Juo~ *2 ~ ^"1[6LI2;e/˝sFajEg mƳH/)T(*LIcgYQ8"5îT.`T(]TkEٕs* 4|~ 1EiX z+~̖HXYf|l(MNk9/3t\>ge@;Qbg  {J9[kYdhDŽtjkzڏ~hk[gǽro2OWRIs ;,#Q/LSm⧄ǣ72X^Ɖ\6a||؆/ƒ'xW .4rh,_/5VfB3L~ H}|d47[/۟p`]6T_<r6fNW6t!fLdJ]S\gsƿNLg$ƂC?`q~zѲ߻Im븹>[<>c)] d //pqhέHFUW?|  Ab,+5}W R)`HqsF0*ΫI#lI!P֥R"9)<˗gv'OTx 6$TZoeU1#C$sRaვ)jZH29(s)IkB?yNwȪKk(uGN1+܌7/_R ,#{,rlt6[;KE=<Wac~_VfMEߍEFe /SN}/^<+/ t!$kDX:K;``279i e!% oGBA ?1+yc^ XYɩEݯ%QDN!y2Ϯꮭ+eJMgq$=J1ѝ{W(R{`F(FBLW(<#[d1%vZ3{ Ws`IY܁b*h{K1.#䷎0`WTD {fWM&lFZ{=}#bAIm72ky ܼ>U\p !_.bZT7 9rtNjer$p 4#c #-O~_abS2fh+>֝&-8GK}$ͻkː>@l9CU"o}|-դϙ) 6s8{`"!.?q61:UUf]~dNKpPb@]S -nWQe -שIOWn=H=#9Lw$g|7S^T jh&;%5#AExߵ׫%i",zqL5JJww j[J@Wf<1q9H(jv*@g߽S{UkbߑY+Iy'^TuJUx{axyeI S;ߪBemSsb-UG-q>cOJߏ vp &#ڄ\jpξ57lM(<xMN뾏{0, 1FK~qgpֿe5I@WwׯC%>r=|aʈ|%[hEf?!BRJ`r]PD"}5ݺzUPQ 6_DȮzTkx=䖂Ò=D~'ƬJtD'N-9&2/J0. = UXzݛ/O+6Ztih"6) *҂t5B9K_F&NTX.~pr 9ilm9̆Πer!kd!Yf$XuaReZ5Ӱ7kcT#覂5=e !sv+}Be_aDR~IQoɧ8o[uGȎVIz!.ŲK%pW$GKvXS0XirɴzaX#Y@f s÷(&m Ag8Pz?>lX*DVj Vlյ jDΞ@5?:Og]clg ,sF}ҟ~CYQ|w"?f`5hYm_CwHDKQ_OtLJ[ 46#aBj>A?(HepZgMbO$N9Ƅ/^TpݮAm@`lOk- ;VYͩL\+7D순|&jB; }Mwd0;=dH6/ubʥd&p~WYw3TPpXVQHbv}zHI+ XA~A<.zCJJ0DoF<_܆%1vYem*Na|HtG;МLE$mۧ13,8]Gt%29jQ\܄5S*_+3 Pq q3TrjEA$}+s[ұњfh*퀮Fɲ#LT Da4 n2qRhh?Բ$܂ц &8` P_ة#Wl+s+^fN0^gL& \e7JGʤ*BɃkې`,d{[=0=|kPB@3/ W7"$G^g5t<%9p&e _R߉ 0qS;h$ '! Gn vC!*$]72T-0V ոDžq#lD#~cmd ^'+Ҙmܜ$o7H{i3.3>: O0 ``Q $e>M -h?k7ńEg7&>vihK-ezB* 0TEJDE<P$7AL/UWޏE<$CzVCz= ^JFCxc6/d; g0i&\?*+xa|~#G~7|%}CW=wj} G.phWREoW$ϭ3k aDTv>`@"`HOBK.>՝Z#,ѫ_X-*v.ϩA\޹X2s. ]4%'cxx# ^NP0īiluL3{ =B'.c8܌zm[{XE58亁. E $T{r9n, o~4`%#%zrn$0toq%'[li)1Ҽ5X ,1+4)3$&-b0WP-xy&?I7XSqoB@΂ C@{Gµjblrc,ϳ3jϭ "pg՘% ?}nBhz2yL{6w@T*puoD.3_Qos`VEÝH2(=!/V @:ռkk5K JySw$gzlf/y;n[ mI c[at|&C D6yC8yaJ-ʗHMvNbwAnxq&c3b>/P9R{oQcvUH>ؤ6^<\by˃Ul,RJo>ޢ0e1cZGVɯ^{=G?G۸( :FXիm>S``{E sǹ{t,?7j.'[?jZ* Y1'wu. ٽ@Z_ND߼m˺aF>YşL]n-@QboxֺUhC_Ss15 *bG` B̑b 1B8n^*NI}<|[0ԉņ&@֪nP `b*-vO/ p)ۡ0U߯)yP3q+?tC^!*K{UQkr቙J>9}ݷe6yKy"T7{6I-d"sy#yΩ/d´ `/D!G8xzǖF9uxZLI^5H^TEJP^2~q<+Eak 0s׹7H6+3ѷbBJ*'`/Dy/VjoI:Cy~/u"8ֲI BfD R4n`-7;pZVtjgh Ĺ:{Ti6=.wkjznh.5>ܫ>?-Uk)#:~4gyl7 QWس XsȈ$D-}j7uɟa0lP !so&w>ª8+Ï0­1]3gO]BPґ~㑃 YMK_ROVH$X l_,O*9\hbj<.7Ǡ 5vTXGCQ,ꡒ 9ݠD-'Y1o/j,_k`-=RFO.l AaDJ僚#7 x/$~x>eй7K`3Ui )n2 PU.z$bZ a&P~cR֙P~Glo˚]p^ ;DDT|}%hO6gDس$eg6l?6n].o4#+52¿Kb &,sF4b*d /7jSvI%i]QEfӭ.TĈ1Sܣ6_j!\o^L.?Z:smR^ej3I r|q:57A7dΦ/$9&jCzˀȉVL;?rbhv`ߏ!: ʼR!f}%9']}rwo摱+ ]o{SJ~tfކfJBH_sZ_^}A}-f+oh&9׿:yZ\ނ1#b~9cO\T%/xa|:MG^-4cPqp̙&5 Rpl͓P Vt0, R`}'(8513Jvz[N̜QNKgX]!ڤ9qs}.?vcu?Jkl!+Nm+Kfh,}WiF(S( &1`X ̫nM!uT16cx=a޽RzvzcTX7)Y5Mn;K|%Sּ jl\ CW!%dnElm0ɒ0rr&vP>KF["a"b~65PӾϯG0XU_eTZK857ÿ̕y*Ԙ!FxcdVl␛?5g3zy-逆~[;9o7\Z'8UoI}mBג߬UY_6UKcڅشza$;u{UTuՌ7tJPi;+qOlգ?ƈ;ebZ+9>kUjՄb18ўWa+:stKlk0\4X8IH(Uο&O7X$^밴*7GR[N߬p6, _hbR*$[!x_^M7jYً{xC=e>@cwJ]tqT(X8f3C;P׶2".{;+jY7{w#}kmCz{!1xq;s?uz!ٌԙݕ(` 86ӤpYTt~?'_ݣg@(a9$"3?؃` N ctq'gٺ -D,?ߧn;V=/gğA--L!hhg'iOkG.|j^xy |@:'}sf`p/nl܏aF\8oM K0>J$y8#bJ}~P&| C.KFm Y!u2"] Zơ&"\6%(f67$PiAOg`E5S@gv١1,=`>9=q?'}EP,Q4ѓ҄ vT0;0uT*{MQMkwf67iGlZkgIw]o_jP͙WE,V MDܡ1WͲ=UVL-yrt꼋9ԚY>B˸ J0}MfҴB'_KluӰJKoSl} (꩸_Rje/gGn)Bl!Vݛrv-2t *)K+%mkΉ@(R- 3 ?4(^kYUR, (JG?DXoOY;;O#\(5$sW@5 cgܘ2ZF'Ry"r7&c98ѳb2u}Xxw V".98 ؿ[`*rDC ax^V,|IU}ظ}m|~!N^r8_[C S<~mW(Rb˶"1-.ԚߔƖ~Rh#SU:sL?,yJū 8OduXN C!b}|̥F3y1+{`U haGna؉OqZ aIo,M,)҉q<A8A2_.@ψ9r'=oCe[6qz 5[q Tέmoۖ̿0C&xθf:F9O BpldY"m5a顾"jnI|TPGĔi|'IWI4B:l*5TӋl2q2/2Yej)G?Փ_ J H@"ޒ}nMt-nB__z'Xb@qXCF=Ly|<X/u/A>ɂ-5'u)Rlma-BH*d 9*)/z<0Vr|a&o6Dѕ+T@"s ^>g5N-=ZRmvM벯#9}l_/L ; B_[2i,I59\WZuK`8/{`=Jrd`o9#4x̲sQ`2Q%܁U+4BbepUKP}_ׄaRTnE[!OCwnKhLJrb ko:oiR Y)p!gu<fH qI9cD_ZMT-l-O v7LsmyfE67ֆtN B 1~gdE whk͛gs)OJޔT|&  ёMuUއqG+x '#j)~,E lB].OZvU FHlf8k/U[qW}8ﲖ+2wsm~Bobya!D9u:ϧZ`mx 2w'!_0 [a_{EY֞OlWd5YřᗟGn,Z5osâoe/ Of4zƟ;z?y}wIr>1Fxq<?~"vF#=X*/<'`R~&+ ޿ŸlH?5Glq[Xe#\Ş̅A\uLAI8ZhsPD>Ƞ,}.6[5Ig4~mY*T).&%F,֡]r9Ұe=nƄd&D$9z%o9Ö 6+: _ 3zf3@gtcRF~}vw7*XDLL5Ctw4I {VX,қqA"P[jLDOmWflί]3-)?T T_яfA*1|ًt~-Sȧ su > LhaATa3nz=w77^+#f|~dh3soqɯ7@͐ zPQGc,@'+|t~=5^e̞|ew?M ʶEC_ u]?I_JQRJPO; ]kMsh2L&üsYPܦٕU oOڍeͣ*ͥ:b.Znl2"!-*(ZJ5Lz:m\'@0=u4}<_UԈҲ!JKiljZ m= ƫ*{C0jF*A*e0[[4>xƱ0y @Sx~g-PfhbxF;S_AԬZ= ]W< d]i36"/]\:%۵w"E+6˒G\h_y8؋m^lj'׊2bb ?ɪO?7fDd/޻_@Y;]Y ӂ>aXo^t$gCs^DME&<fo•ؔ!i1YDxujCsIPPLSWVc.]\ RL$~H ~q|M1~LZ}wrW.zK۱Mvrh7 dag:*#to?d_~صC' wr3_3*7~ru"'?rDJH b؅oX))EScv1 c]{ͣ9W30aq^OG,zޞЂ5Box6 y%%OP8g=vfbN9s=35,~a*trf]6&\IR~aOU`R ])Xm3i:gV>~uQ sk匁';Ye)|ٷdwz%.Y,^{ȑ_E {x+pxo-#kcmG*'C. nb@H=oBnƗ&k׏/F]֫7{lBZwZ}${!XYMM#?W` mUo[rBTgoHbTkcyl0hB<@x7ݖ|2ѼXrvzc/΄Il` ,ЈiҾ2Zc FKsu~!Q^_ߩ#j+뎍) Oպ- =dE ˩Ҟ>=GOVC:U-1+n :ڒʼ?XzCKщRD٪bv15k o^Ҕjۢ)ԬTXqEq84|퀯䇌n^#\]f >\|dsNX]N^YY,zU ,.&QΘP5L@N[9c123|"ːam\ŭ/5;rV:9D검wd!HeIp1< ^eo=϶~bOа1&ry^ |K߷D8Əh>&u 4g,sDC:A4F$K&aykTbmJ`svL2: ~q@caS ss]lVеpܹ)F >qe9J㙴'+|%V/gRϟo [̌a:By[znrL'tҤSwH_JVkA5z42<.aJYǚ6dgHz,vTOִI ch\x>DyQya/К4Ҋ&Ƴ#yŰG\flۙ}fR,./v!FpT mDBNgWlj9/5?cJry(~3[񾢶f"ݹd?--t#\ԯ)m8C\o# psrמ4]Ϭ+w1ߴ^ۊ.qm•&|p*l5ڒgˆ/iWu~wSJ}R-Icknd5[i/ C%XnR5O],ި3X!3nXK7ba̺XȊC E(9,K._͍v~#ODP*sFцQ:`RL7OϚ19X C #T5G1Y`9*U 6= {n5^dLI6GkX=+ogCJ$JץmC}hդK؅ ]MRl hy5,*h}`M5|oQʈe a[2! 0ifbNO廏хr$#X:"鏅y!0 ssfǃ N=g{h/Tf;J %qIj7k 9˖|yFHR Hy|H<}f(O%D>"]zl8OwЖQʹizQj~˾{6_0 DLZrRQqy4礵4X%4/ұe'ZGRXjZ,,X+[٠W-@~mln[ y*o/ lZiO|p5aȯjxKH* KlTOsR:(aZ$`PAIJߍk~*o)<4{y"O31$$Фlzv>a8qĽ vأJ|!OY|ka,k%( oK*} Փ$ -ɥg_P.;CUE3ڻo}zm r{j>l7wuuX_Qt-=qM\TV& G oq:Y)5WVo 4XKt/h3e;(YIg/Ze5!|~NC9c'k7<@-gQw2^69a~ĺfh]`aj_Ud QJ wG&l`S|be_"5QԂGũ2xyY(P Oۓ8S7j:8'dӻm[ӔM^4[\}]74lPz;]w|Ebg!78.oB8-b1)}rL0$&YԜD>^:uxZ#^>ɠ1&= Ƥ I#fPd דNFz5 4aDcf~OizY*I/*i#RyK/ r+[o FuD  zk!|QM]1}rNپ/ND@drg9=$U& m~H o񡣓Sv5WTn;Rx z(^E[|ߪ(6$x¨<YPf;m28Vl 8ǩؖg\^k2{!.1wYH⏝ m{ȦHg_Seqj#rI36~M{N_~)~.N'lY;} xw3[@}e"1R,TɑK(ʮec(ݜ'ʯeM5' s-Uw0q2KJHݩ,TwqZ2>{x^/snDIoc2& t<Pv?hH+3a[, e"ie5/7\+ρ5/Pƥ6Sf< 1_=&J^'1\>3${|bl%(ݗNP'>GϋH;Ty2TRpHQVgk-KrĄfEЎu9ߢ ŧn Aը8w8cJQt;45R2o>DK=]Ěs9HaNh3m^Q/3RvtZ*WۙrSKp1f*04uZ40-ToIܶ2a( qž?F`M`;(0y|D@,߭¼=.F|/?2C] HvٟOta#Z L1cU]z@]IN*_B//6('Dog@6ɶ+OtyWBan*U߳5"G'.-:"e@n7zYDEHw 2H 5_At*RE`/搪V. x +@e[j1p su+X+߆x&^qSDJn"y7<瀭ihns@=F,_T^4 +wǟgrk0352cطM֧%zufuDOd~} n"ӮbJ&"n:AॠވH]9O|Mg;&IO ~Xڊ%kLJܠ*lP>0%3: c1mQ)qu ve^q.:ʸ*C6Z4hZIS oR]vedq@{|XGnt22@8Y!=!x1 ,/E/A=  ʘU\99YjM.`,L%S N?2>NTFzڔ Fxlsrܺ/=M]<ƦV]~f TrX+Ìmu? h)@$[W Z_[]lkuT|BRY3MrKwJ2%~v^M8G9%@ԍ͗0d2g'22Jl ̓qxU=Hߵf;P f^EIŬJ9_|ʽPco-4'= ^~ )z({\GT݃ ;Y2Ɔs3 $1@"{4~CRȜ<=iv+o1_%ata"Z>`i. e1$a@S=+&ʂ>>eǬ2L7% WdJ8SCslF© ڪgQۮ:C>%vꍴ0ѹ+ǭ0KݙŴ .nl]LiZ9\?$s"Ix@ /71?bZJ{}.O' Q3`l8qL>~9X{sx)c)!$χA+S+OwTw":>W[@ۆC3 Ig̃,#'A?߅!%k:;W*g f_ ,M%>5[>QƄomnQJ._; b|Py0CQ&Z%/OI8)lqbx(#)>S1.N"Ǥc#w ;?w֡~ zkڪV޿ZPmT4_Ad&A< t?>u7b ! 3^g7:|@/0W<%MjmzEc̆:ζ![$~[(Q]uNL9b ,!vD2Q68it5s g=nG P|#S"Gu ̮邬h%[szPiBMeoM'4ZFm&2#yclPBx"Ibt4dL؃8v>{]绤>[j6h) ]ߎLD]gAʹc:oKe;Y;کe~ U*迟 ϿNTsmEk*7. f7~]<:AU%]䝟Q-f䪃sP\, f7 . :ћjnj &<`c=ydH*Ib$rbۍ›V6("0hXT̥[].1\v.ٖI:HfK;`]3MN Z%Q,+GN~}8Dߔ7ݙďyDkYC8Nzlcyqv~MFQBuc)0z_r 0>v9ehfV[J zcGm9VTܟzkt$ҜS$b>S1)[z)ll_krM8^TTI-ԾȌ[Zv2څ EX2dWZTb(u*Ck3=n8/UR.3*)!BDq}Fi|Hqi/D#Dto}"% &(rqqަCIdOxEڅFqcSt=ͫ1XTX)ov{1e8 3{Xsqij{SiVKBcq:d^/^TO[t6 9_)o"!(TzˌxIM꓾|187vg`XŮWcpc@ D,@cE[\I27]`O&No CURO>F!Ҹk{ty1^ww<5-@'v;s\d2~n;J?חƗد>|f'Yp(aPQ<]Lm섹w[OksMŎqDX@ *fxj9rW0Xax-S7zvmi[?&\@"-k8}Vn C{EW~n*59'l>B7uZ=ͽ*Q3^s A/e(wpf@A%/=S?'*q /hi8|WJU4Q͉HɃ jv5/mկRg?XMمl5 jƐ.BL0LadA/{t;OO0Iʚf+Ic>8yS㦌gHp)~#+ J-8K%UsY-e٠aaܡ^Eô2aO%G/%84x&SGN`\`\d͌[p'd&?fzXJOl>-#M*Y:G)F _ESrFh C4Hg0=8i@{4(5]ypt’,>*;'iҹJIӸ/MzԢE5zioHQA5fK`F80f`-z* Ca+bcEeQ%?7ův뼝RԤL} ҝ@ƫ#k9V?vqd{<] 3rٽ6o6u QƤ=6{xu-K}'Mevz̗fZ8ioN S;OE*-F__'J8 Ory["-%b\.e,sT \ōm2K@orb] pU1زGtRֽJ2ٵb&yʛ\1c,CfCDg9EnM^1wN|6JB(CťǶҟ2S7%wOM[oLV&|eBڼ^XSzd"3 _ݹV#72 _YsDt(uںE2IĸM ? % R4zbH4\#Zv܍kWt[bf!N6 c#5҃G('|Ws%1#񢬲"?<~ LʿR6{M#+%AB> OUݢLYM@SD-̘Pj%I᫂$4s~;.jS{tJ- ! u$vq۶٥T/4~!Z7ѱ?͗s2U{'d_]nA;DI4JH2 c4{wmj'kS>jd _h~A&Bڒ H}D0fF#7Z_ةpV[j Lz6ko߾5CnHbXfUjc.܇AC+h#הΠ {\zA(w9u1'jzA,W:s\+9ig{x-d(ЭJ@?P&#Nyݹa$UO:X0PMe3)Z]tAw\LXK~'fV%/h|}}xdZ #ÌlF,=R2T5*/?|ˈJj:K#mPPh̋w igL)c%_1n͗-rɝc5)Wrͽd!=Wto6j`kU^IJ@h^wp􅭧F*cKQc ^08Oy/zp^ 8DYKjo׺GAǪ(#NPYB/ > LlVyH\5Yɉi4{ɰO|CU1<;XrbF?SS;zkJz Agpj^NV7dfdx_ljyb 7* `PJ4lH~E#6qȑQ Nnsdn+~}c׉w(ųX_ll$veJz,QHsQ&}iLߺ_1dT ^Rʷna܌l_n>글XMWӰ*ەUgz"܂U~V?QT,$!v=KO&C&l+ I "HZ:Ih؆'l͉97)e xZc z!A~+9أXa uu I(G*QϬ8Ad>erWl|} ly{ DW/K97gx)t0if*~R`ۦ>ۯA{~3ё_&I?6hVP-2~ "֜-pUZd[Ш|K]%1a91 .,6"z~6L8z"7 WTxyoٓ!6] *o쑺GvSmd6:O |1=fٮwԊ2vidb䛞열j&h #-J\T8#Yx7nP_ 6wvuy?1b0h7 ;\O mGSl=P`X s#f,@!a}ש;u2=ٚTIpDJr`8^08<;~N?\]x-$mRނ E_-f3J&+!&7Xw?{4N3T\{0KacMy(s[\o R#V6-;ݣsm\ Lt\͖`|~2^$zs6>3CiNGTjuE`Tf;vdb*%J`E)SR{Mz's-5Dk3V+Pyew> b<v?XDgmT~Ã6ukO(9$R) 1dRWgDmt^y}IG$IA~zvHHWetp/S-j?XԤ)x]X?A`54X%ݼeΑ9Aui, M4Ao$R_'ak$Z̫RR{UU6B̑uRl"i,.,ͪ7]GV Y5{鐓_ gݫFXĒC!kbv[)ߝ?.~OusvQWw[J}!d|:˓'+\UXRG4zP:8/9{e~g[f^-Ø˵6z@prXa2S5 QGA݅6*²ɳ2Wǐ՟*Q9TK;_Ci?A;TSkUgǑvxҠES`}QD!rg6߮X_}eJe71dU:P9biQ\ *8u]~GI'ǠU~*6g#QD'qF&^M/4si$]mb9y¥c=]RYL YbZ君ա)H! Γ;NƓ,%qwj2pW62, ߃`Ө ~4V3,XXY_s,-`If;1GG#DTKp f)\h#At7H D*sW }>K;R7kQFtC֞h ~4Ud{76bdk@4~WM?G>o#dcp Uԛaqv_;@4Q#Q<.V앨zQ-TA̴Y Ri^NCn~iUJ@@v^{-yKU5 4ҡeƂ^] 2NFmaBF>*Zu=7%ѥ0[>h*f㰖z1s)C*^xEb_/8i(P}F1ba>uĒY0t:bz&#+GojL\"Iq X#ƍ7f9j`{w"<!]hȳ&~H[7}Af*kt-qBuOZ& HD`vuADž@hf}wV$?*~Xfbeyy@SXޘw<Mipq10fnڥm??vA<}@| iŖc ߀<7o4+גߘD:ۆӈ7H*1;_؛Ug檗U-ut H]  f0#%6* X~dga&qk''~d6,~kĈHgj}y冢Q@^9Ϗhj>s9I^ݑb2CA%nL?PD_29b%apI e0r68F<ϓaldGNUP /3@;u/}Ja-XLj&@60De&7oψ=Ո|;BlCIsj'f{䃒vaI:\Gc8}p>_,ܩ! a ./2DcߖI >#۫6UC C} .Z[~E (v4Cu7/U]Ȅķf]N >~!r))s[BS?AdC@a53_=.2wZdg=Z ZO3I8I`%Ÿ oY'fЧi_]0ػajHAJ{;f@ȩh(~S.IAc@ "YDtKIh 8(ѥdޅFN"09TUT>$h)7^9it2&UF M7aǵ"aVgC3YfZL]$D~ TjbblYz 2( ǠlgN7:s+xm'heC+'pqFSH}V"3++~b?qpsjrʋUd3>Hs O}Du{"WYʩwgvRuxY A{qT~kCaP'Lv6V)^aSD".@h"["8>qal2Xgw+Y~~D=8f2L3PsusLqRpGcYurQc/ᖫ [v4n: [dk #d`@֡bSĶplh%F p*=`kX';Ixe  bt[IzǠWI#"{- zңBn,_O܇i Wbd[DO?Cݧ{4~CIvIlSM{VgUmh0b7~ޅp{.7$_"q|Tػ\Oqu&Eׯj]@V6]c uEoL0yph,XBha#,ͤ2Rښc],ʍSNQYYa^q-Ram_b#`1@NNhiaoc ]Gm.SW)E\_F6`5HMSh$(lSuȽ,}95RdqUƦǿ'sR#pM?g5_ܟ 6)=|lGl郎7_S@~hYya|$O#VZ˼ec74^0 aƝ}5d 0ƴt;ָY@' do^@S,}}wT4&ga^~o aVcmG.lsv'v۱S bv>cAojO+>e^RP&Nx뻿/ )irIZj_[.ѿTò}a~V_4ڴ2t7a m=. )C92Zk|?\(TJfpPa`wf])),HDct>[Ïw*JEcAhD4l5%y/3=gKq)Hfɐ ,<9N黺.̚9*_'O%|3sF2Q]n*m֥{9Ŵ)H>$LR)@@M_ a0"xSxӖ@;h3VEaxl^fЇx&wڮnuSo_%6݅y|V>pɮՆfžݒ)悛{f!i K}x1vE`<$^ءePNR̡4uvav0Fo9 펢N(|Y&I؎MFH-!t4W>Vg>%"gG-eemY1D=8> LM1(PuL,~]ó 4MDۀ':.fn ?w:CؽRm+o}lO-߳ X|.RZ#])Ͱ:H !GO"2#͟r@"3_Jss7Ў3,Xχ7~Wégu.xxL/-GMDH&zt%]Ì NE:RBĺ >"}Z//^Q|[\W 7`oueD|+ޱxlߡta0:<4 J%hQ]2 vQ;?~.+ãUb(y%-m z?%4fqtf<"<ԱC-DQ݀ίQ]Z4tu֛_WTx?H$di5#ltu2_ gj+"Awa޸u%0G|3D\9r}C2++YX?gH%{:XC7Pޕ/r,BUՐGpYǹā'$ǿR erNzIқ0ƙ|Kokn LR7EXo Ѩ`E0;Ij ʜ .5O I㩱q(zz<#0גcǹ;wȜn_90Ջ{y0a [62~ 2>Ĝ-&љ+ >)As.)>f54=HM/ tɰٲȖps4?@t^Vc%6?3P o2 p(Cmyv#_K^ 5(;aJ]OZVaʹDaZSpblG1don6)YJ+Q_'惿}gcȺ?}"(pwWPq(ﺇ }Jk7gS*OS3)OS`ߟ@)q|.IEGT}RzXtO_^)ZәjʼO=rJv\do>e:/׏!Ӭ$6oig:1=0I~ f3bz}\f/|xL|8Y=QovR}{[}y[#Gˢ|㞕nCrҪz83 Vf'SCA=zU s̋hk-*.xt:f/wj "Cz팏Ё`R@Q{S,qi-Y1o2JVS` o.28#觬FwuTʌet;L%)̐J[4l2q">np R֪%?q+—>>P4 l4B<{ҼY<34䉊0p wlM5 aUał;xشPo%0ߩZ4/+եRL#(D0"Wko?)M1񊕹ռ)ov ; |[!uݔ N gFm44]# 5B[VgΊpR*ԭx)(*6V$̼~U{ik03x6:|+6wb\G:$uTc e; s'cjX??qMz!XjhLwx}pdžmVİC_.P{ly1CW%tHuQ;ٗ K'Љ_gn`ys Sy{{URC(X?U&Z>dFmPQQP,MG da&Ϝ'jFOy FV(Gd(S16zPo+ZCbt6BUE_j@$yP2)Zf#xn^OELSG&99/^ιר96$@_#=bcqM~FA Զ%z+p@3>Y0J7w#ozogK߫(WVi[TK7':):@=TjS*xdv(S)כYB]_QJ=T޾`[좌Fu,@M>", ω5X_Y=m;I3b OvиfX/=I]Ϋ%f[\[CZRG՛}0/y+UJ ]?_ިG[R*D~4t!PpȪRZ_-4D?~Xм_6 n8+O1뺋ڬDڷ\Yqkwu-:!n^>ִ:xu|%㳖C}o4*s9mZݎJЄw98ZH|{7lSiVO,Ril-I WjpN/?Y췐`y 1ZR4BIW l5JVJhdWNPf>o.,VGO]cV.ǻ#{*VK$%h>Pٶ6#{,qZz DxM@ޒ7 a~RwWU*c/!Hs'C8Pn4ط 3ñ.|A$Yn#}&%q> 5H@D}/:r,)fccQLG.'CK!dE\2k]Xlġ嚪 <-bTn~XZ8:*}JjB˟ .j?T„ R)7"7:fM&ŕkW[ Ly- (b5TEk\-O3 מj#.gcMgrc1ں}Kvq' n~H38Elu{bT]J{)?-t-cqf (TR[R*p ғٸaeo%1oT"BKn$v=Hׄ  ۂ%ЋdKAS ^ 'H7zP` ش"G |V"S-2_51Dr~GJÖW[Kg|Dnw3^Rq=D I>^kWƛ x"fXHGs8g ($ hʭ``-*T @Z0CݑSFt045h0 ܂o;yGW]//tu_FwY&9c,L.],?,4*""avH|& ;<^ ^hCF۴k]p@+N{\4YnKwSbOKU'U;{P`u "aYm) r =tr9Ě ޑ1V嫉 E,: 5+)<҉XwĺB% bۨa ПPm* [LCV 'J$ƂWtg9H1/K>K?8WƒwulЕ0^ hFjҸcf>jF=..uF٫23nO54Dufb2q[ CtA@ݽdх1}[p)M@$]dL$VOy6wwɖ+H'Κ!S3 OYh㠛et?W,9•8&K޹%}JÎg9ghgwY/6 H'{'88sE8&tw:hEGDqgKYec)Oe!8 Z0wj,VH]89eZ7O|%^OfɀDv\*c,͸Fe\z*dp)&W_$z6>E0"ָ &{]o^럌~cwOdafH2<7R0B%&Xk*_czMҌNj?D@9ODV%RVGiIJUX-"z.&?`L&nLRL]XzXe%:#j=@NGcSI=p2.thd!_@49+S _xX'8e'W;OWD9btd`ʞS%mqD< }M^S-'c5+`3&A״Y+_nB(dl♺7z:p+ <}DCݞRsYh ky%\_4k^>WOt'KWb~L60~U7}L<ئ8[XIHY܃R#(p4Rz/u 9meyc-_bIkfɧQ?^y~``X bb=]xY0t,Ŕ'I*S|I?c.ޔAD5O3Xl߅IDƺosl"{6gTƼᧂ}.ܧ;zKe}QyJq,qITx)JK\`>1Il2x*؉woB& Z8kwll D[|y QE&E:EvڃUZ,nc؉G0dm[<7%@Rh"gb]@v"G/bg0Сdicrw5ge%P*#'sqD7*,ur=gq Bf< (wZ3 Ux"w-K`AQ>ǧ(>>xrt dR >u.hRlu7'a9J0HW_b(_ "Yѱ.L{!, hF0"3.ӏ;|Kr_ﶤ WW{ٱA0 A4is,r1a>=;kɍ񾧶иnR=UF@A)cQOaHƼݭ,#KQՌ+?ZAeG4ۻSdN^Zm]e}'攪t) 2.4$~40Ή.m]?-dd8"_p.O 8`T7# K D}Ax"[+cy/ @>&ojbP^Gk%lS> 5 K|x'IY@/yhsC̔ڼ>\7e @-O]Z9:Aޥpyh%%IszN.z2QyjNG1!ǠkSw{6(l^̾? V/폒 wRT>ͰҜoF̃W\y? \ӈFSskDq\梬.¨^Vl0m.qEk^BNHܸ؃ e:x8ud!agk1obnP[{-.}d%$Y1rkn.驄e%ݏ srP*Α%]F"h/uȮGD? :K}K1YN82;u6h g4_לh+Lz\7 Nп8Ə7D; mD63tmb#jGyFu{u]#Df6\bic*2kv݌9E K }& q3gx|O]SJ t| [>O!,P{u쉤=V޵]|yXW]KؤƽT^n)ҀMM}Y NbKq;%y,^^Jx}n!h^QJƨjc XIVְ4mh(PGO!t|ʼc%Ofyx %x͂DTD.6}0U{4>u92C&xIJ asܞM֫&PПv1+o07>SD̼9h<<4ff4YN~‹6֩,}:Rm ʆS*M[ :x1&`,FvVwnL#覑 {E05Xq Ʃ6fJ#{Q{\Kǽߡ/vYM=_n1ns?-LD/ٜjuA`mzζÛfN,@jI'W,,f{e(:uej3y΍*oM5D-/Z1ojlfDh Vi) %Ûک\^^mTL#gl;p |wݵ҆m #X N@&7 ZkFkB7!pMjQElQP2L"=VM V>C&وuV^xvQ}1^lpI=1>D|W޵gDs`FUO[l azWH--l<fUrrɴ=*@b"azQ쩊0f )$;n97-qx=rUOXҘdpb6|U&#g~=N nsbVq[)r"wQ{됛WiZ Fڰ-MZiCX7X1.oY B9:<"*{uLUw3t0?)9Q^KO<8j›㠭%ǥX]S=Kd:V)ςZ$Or ::_x \2!&7]fIqNɲj#L$3Y7prKyR!ct{{Ǭ{|#[k4'yXY#K|>K:09׾L%8ii@>J ؅&/EZAER䧦N6Vܕl}: xwɉ\k@.F WÙGB"O cLo"O{$W|hMv J?*;. um"^^lcL2~ t97+!X /zKR *esn@6-m@6+oHԥjtj*z|4U^XK3h  Pa|LǷjs +vdU{ƦAq{co7;?:-K6_:=ESIf?J m7,,?^7WжYwQEch(~i /W\U Oy>gOf.a8SÕ#65gZ֠]~ٟ@).f?kc͐W4 |ko(N_-~Z͌ޙkaҥG]fUQ.y'>&ͷ+S1xeQf ,پSSY OY?>!:J*9#LYU7UTCӋ.* &~6dcW_Cib|SFK83]0^M(? e,6fl,0ܯ~mA\?X0;x01/`7bf4rE߯qL2ۃyHWI:\fl2 l/[ғd;̅|ϢyY)<= )vBW'k(k:,[ؿ!-|/$H֚c| h˼\%rpn}[Ē2olװҞ G1r܉~zS:ՠ k#%b Bz!61 vt >aEqJ_mjyvId|ɭ'q/3lg|<デ+tl#z@f - bup(Nv@>ӕLsn6&m 7 kx2荌3`o\ung#%XGEe@bpqa&|EFV} /QDZ Փ1g/@;]{ Me6EqEX[f^x !Kñg`)G(A Z]6 ALn{C!"jCZ?F16\(/m ui8uLrqY jXt{nCþfz"sڊf)׈6PpXbk:?v.`Zy_8{A_gUk41E dݲ` aDL4 -C_t$D,EZ~x d?4l,N<v':Yźʀuyw3/6}~~{zCĝ}nA| q-m0xp%!6ӺiDlS#?1[ܧ,ep%&Hϐ#y e˿;|_f!öS(k@to V]lS%mD-tw vɂOB'u#1B ;!5G/Vbr0.%2B`"R"/l95;$h[+E< Ph "Jyv⍾;bfJe-vmcuSoaunD&AZX0P:HZƙm)Qr_jl |\ \z;6ZHȑ ;lAt!Ӓ._bw O_0XK'g|q+op4k53VUjo(A\7{Vq;WYm؀ݗ 1TXJ֤\qn3㘭_~0=)ƲQH=Oteɽyj\g? =k2eZB/;~ilT.[6_³ "%r🲮RT;Ρ,yuhw`3g?M"P4a<""04!?;eAIpKJeJu}@E HVc7w^qCIrC{h Վޮ4R RIcR!IwL%yMX1"K(sc:Š<-- N \vXa+]jw> "Ԭ uV`6WT'b2gxS!\x|wh;h~9(/}S%DEZ@{d@~wa-KǢAkq0/RVhWQD;*RMH4gyen+5c[Ak9Upc4Ǽ˕PZ 8Hitj˸/x sSIa}FܥUng0Ɠϧ@uՄOd[P/1΃y(k2ȆK-(h  H/ufBMv! +aʎ n$Jd" G䭭} @X8v8`,8t={EArU$*xQ}j#F0xUjli;@%])nǷDPtb/a8j$]Ks=k.E074J 9R7xm6CX*J}?ˑ%ա'.juAc+~ ;^DTzБh3+ZU"rEʞJJfK[wڲTxxYeO< X(>xJc7^oXz$ Z"=;È )pȠB 8Ł<16|XЭkO"Q[YW|f? sGŽt y}d+PeC)g)W%*KY4s.I;"mzCwurG}LryoIX܏e6`s< ?ܪq73p-:]½BpA=Դ3_B,n\89pl. )$,_lX: OU_^x{utOND=63?Ґ㹞]!\JM;`P@ ɧmoϾ$o{pZyOR}HҦۘ=t(1uFt_#ʕ̚4g|yxZ9id.J# AtCO(xE}Z=sc̃{h|ra`@^P 31YjԴyԻbNhl=i<[5V!7d,g=]Z.^"ߏjxѮ2%]zƥ㼠ڽ3By!F8"nbxN0.S}+dJijё$1:_۳؆-bzKqbHVnW9B\6c ŁRR8zi& *7`SݘCA {ԍďr b! &I\t38y1*lV^TFqE"`Ov[&x&:0L]*_gr\CTo`8: ('Wq{dۭq?\<#EA 8{ ^$jjSEe}\`j rlU@o[jy׬{3dRwS(AFwboԘb?zxdr7y^U?崑#α`^mjaI3իA}NI}A9`}^Bg!oN{蒂e.G2?=lCi3>-b69(1|sl+X~<*E|E~tIFKW9]QT>؅b`I6B*,8Ay[e!GF(r #u-=~.Wd|5$0̾L^B}$e+sy 4«SGUo]Ao|vUSr$He=DVo?&%z=8#^|3À[pA& ŕF/imD5Ss_dHeȘ|rc܃#MDyq{WcO؏{做덁rd#5ӑM%v @9<6&e9,V|'`%Z0`#1M7}#pbB/|9[1c6?ʢ{i=档Ȭr1;kF\Ԣ֖ᇵ2.]:i;0)HīOjCˆ+d)z+7EL>KP{ȱlΠTOW25/A药˴r#h 3 W hˋ\ǻPw _nk.𼚇}%R`0{JK>ڗrkЍQ1VRn sP`[P?^_x0XIgK -̥YyEM9 e8 U|w\chj$S>MXϢ8k#1~0^s4~zڿ{zFl*PMmMVpS`2`09l ;ǀd & ]N(sHyP7pW !Ccf./.Xƚ(ޟڇK1@r}.}*7PwjRXLtVịJHց~3 7-u/6[$GKfl; b_g LB 2N ;tjkۓ&|=n$ߗ`s.(>zڮW GF LZh"]nGrH]{1]kMg^k%P%\<052X]E=M8$wO 1 $;jdL< +MN⟎c³vӈQ $t蓫9>k)C ɶܥSjf^ҲO[_B(>A)Kvb<,Rg+B+`1E"U>rt)\j1\T_YQ)گRu&:[.ӷzGN\bb[ ؽE)RhPpf!B W wqN /V ?' ^ͬH:LX}(WpO_qc3$Z KD蹕RKoa],2Jd{`3%X:#ER0/d@Z*kHjD~U|4ʆ#!oMD'fT}?x_3$8+T;%8Q4Sg7GϏ\x妜5L4Xa<m;ʫF]:իܽu7~H3ٝ!BOX9?@nFz /%j\~S1Yf>U1X V!cP&+Bbn4'A e~Л,&28+!^\B^ )rv]U V>_>?) n>``1:lvtz ?#4 s5[Z'c<aLwv {*88\ ?6"6o-WWc$:10'n.l$߲ yVX1ew^ViWAݾ\bzּ#kZG Ur =<Bzhu_G:xXrznLT,P槚dscCڞql(6zo-m[i4x tL}/e%qM\a3 ǠɃ?TX!Sb0/LUm(ɏʗ_*|hV%R>fQ\v\=3K|X2>qՙ.epL0jŴh>K2bˬ߽hEISy'i"tKguD_?K,+Dt͐lAF0d VDeKikVdg5yBw̿bΰBW o_aGH_J4<(_ 35kF;w|N9C#,K:=s<N~+6W3 ZM1>Bu|1,xqjCr?Jd2}娯 !O^|k)l3C뿛ԑ[_N/,O r b0g7_d]сRpnʼn3oq֩$]rWSM>Vwm[1aS>`+~d)({Vg}q۴i6Y($[1o}4wUdRQ-keL][Tsm;h8<łͧ!:BFYO`;cV.*z ~f }*o~C}4dȘJ:pJ<{U>UydçI_P)X&{&` Z/Iz9NŒ"6/Ru~s~rV_].]b=͝BFxlBE5_Jr?n%FJ%(>ɌkLi]*_]encZòtSn 4IA87V P`)x 9[#؁I'ݸ C펅g>$ƻp&JAg!9sݪi|-kB97+'8 ҉pc{ N9!a+':vBx=!Sm}cW>,XHdwZ.c"YVd-vaRZBT³nOPX+^\,D#!hKI/=KN}G!%Kt>zu i_μ2ĭv{q#c~QRMрN>,!݀#=|Ld7Sr)a~c0fG^r\3eMM@-Gb$97h )t_7iUO [/hNߵaYM81~ PflK}c AveMHi7vwIQ/@y)e#!oRxh+BN]@OBHOXf~K%.gN[w^u T)s$LGFN.&H3ź0k @wCu-BB&TNޤ$OřH7(Ȁ[#|3xG 21?߻%|nwj{i#wE W%1Q_vEl=^}jIE2  K Rƙ}ʂ]E;(̌">b٨;[nB$;'h+rnhؑoz/+SkDwY, "ZX-S3>^-(Yѣ^[ô>\љհ+=XqhOL}7|VؾuߍPaO~V]Y]*v_\\wF4z1|뤼k9Ց K9hedj%e7>6Z_/1h$>o'nGl!FHS不=mrk +|dqϬpuذHr}uҞ93Sąq*<ةO:L٣KR,UMTx"|AI״v4h߀ʂ'52s8:y fMU1oHQWt"'X~2&T+=D<f!קZti]M)O7I#l)LPʽ,ʷ1>*V>r>Рx/xSo&Z_=ţ,Ə33V,IZ\&t/mdƋ_=Xf|IӃuQ,a=Һ D˖H_mi9Dolkʇ 2脴t ' _&M:HmʇJH-}_]&ꂗ͈Oϛ *9%: ٨: h*MA%أB|&9 SS>ĭH㊴aE!WV@L6(~&>>;_eڹk2͙\?y^V[z1)fNC oѰ;D8̰iGƔ'h>qfDQ֓B_- ;t]δ,-\cdhv]()U|nrȷA3\[|th:7QJ OBډQQ[b702%l2Cr,vG\U7=% =˔JxKl w9 H> 폴=:B@O.۩l;q=zR MIO[Ґ gdJ$5 h9e\IRT5c6>1Q޽@:]<WϬQ齠GpzI+`/K cxUY "Tw=fC!k;CG,>ƻ|AM@h$&aO8ak,Ȼ~Prv{=ʛ'slT&әM^u)n9S)bw `k#YE<+?)>PX[LU aVEVd6 c!w8GOI@H;W!7yǮPޯCT7xﺉ@l ti#AaqjddatՃz a?5xkEa_)8_G3|T:u"[sif6v&lҏz{\ t d_KX{Cpє XFJ,!FQ1 o$Z]~@{&I$GB!eW7*'%V}]4@욤}fE%Ӹ~h/H3DjfiIO.kf&NИbr͌{k::Vbn]FŐ}<9\ϨzŲ"Cd 6 q>NZhSO d㬋>e8a,hбj5Ltf+?D~AQF-˓iЍ틳=/4M9X" GD+>,Lr;-bRyO `ܻ~ǡaryoS Z96*4 ܉ 7@qO);;E8vy\Z_}zW2/˕3 }I65K<q'5 0^?oӀGj)U|4vJ:&<`  %pԿu;e!9"k5J!?ݼkW0=|VҶ'^4\(+b'UkJn_bWffv=>])iBK:˫HaW:~)z /eld~wG)uzdZ!VIؽPo(?FnzݬݩNƪL~B7RqOشpXHĠ =B8C2^UgFY_g0L%<trms¥0y&ԫ3+Y@r!JOgԢYGf<:\fv \\i+=H7w,:fN;1Õ9޹.#WBL2ZOԠ8koM*!quT,3u0TKw+t#=0DB,f=*iZJ SY&RGd֩&xlNGo) D.uZp~}fBia_SGۇz:SҶ!3Π %QkNۋȭXQ\K>ryroZb.{o@u/mHZ&]Xoqb὎j";wSw&3Kӊ)_:K4jj( O{UdGfއ)kĮ)niBSOyļ:k4=\}2G!olK)rLk&t:䤘Ƀ2"zisVl[+^$lSzR9ZL<:2gC41.)dH4:au.s\5bx9lRu71 畬Our')˅^5; ,<ڮ6 g0h+x43cYb#\{X#$0g/۴/Rg_qd&~%g+-%[ GxN'؊'C" f_.׾?NЮ]WS}=Pt?rxߋ 2D'ԿXDī0Sbڐ_i[V%{#6*o|lfVGP&!eu](ط`a)Y-|T@mҥe t 2}f$Yû^"{;+Ό= 9ep]<.oy 3qggpB~o ~W͛iK!tA^ }/;2~x>2 J|ׅ{3ܤ*~q6I2S!裮FpTx-dhԯSX׳+?_%,|-_MHn;XXM7{,w=qy90_CڔZͭ ޣ jl(BOl:EsXvc,NH΅8M9?$BN p2͋pwK ||dZB=X;_KA/.WpIsW"1ޜi=O%Irvg^F4d:?Qj+ &(i mԨCRD)/@Z^3q{ya ?=O-;Atoz2z@ڎXjV%5|HY\G@?$o/u<qUXhC9 cp c/wcǿYEZ;OFUJ*=پτ%R[l=Eh ;ZUdq(@̛%ຬk=ddn _]b^Az<mpd SYrʕ#0Zw_Iÿ֋*$kNUaay="o/JHփa-Gx|\M3;jRM^h"O\5L;mBARTCȁb'c6 սSp m倒fcuQHC_᪇x0q-Q*B)+DWzdN}4}QLsX]LORKR,R'TzxgoS,]Cǀ >i={?IC'0|~WNzTڹnXWA#q`rCe"Sj___nztfr'ZY+,S_1 ,ѶB#WP1*4š\ߴ29doU>cLPRҧN(:`YQHBAb %?б_O)$M+e1=+ՔHx<-DB\2tlW9{3z-J3OX ^ 6CX'Nꚭe?}ϰȱ@ lX"ϞK:F{ r~y LKM[ƀЛ~S-v\$v: oZ.t?ԣ0opxx^@J , #l6' ~^V9e}ڳyT(wRjrp[RHD EKQI^&{%׼~$<eEГOq^ū>Cǡ7WbƗ=㦳1$bCc ȠO,h)'wOirq/Xu_eP:o.1~4}XܑܾOori lTG 㱬KI^'m Gcċ@?8pdU*Mt[&'k(;'K|C7InF1xs !%2խ" 4. yę3?L74!xbomtO[{3ݠjHztTy$ugko[pX~MyjD AZYx.NE _d 2C5{ldC;hj qPʰl엔鬋 律QX!A#oM`vz/gb ж’B༽8&ytvlW(lY\<xAz $4*[ޟobIZ}NfyQ.}x/B}(ʱ螤zů. ݦ_wTdMv .$4CFI6񻍇]Df#6&#dH.>csH3]Zio~.9nQmO PxrqqŰst&FK7܎+$JyGy,7QUس $%9=-{*as>1Rt=^c$-̤aHcݝUk<~[:-tǣX{*G}  kȇRHL$ˉvA<хJ/sIP=<s*o[=!<`i#̓ sE2^2fa8J8u1@~FCvD\38MY1/DDl|jBҏ Ɖ zeh;kT;O9n&koLK6'j6]}x%$>o{!:s(;K|Q9{N1!n)k8bk yI6+#lyuOQ<]<֛ תz׊ܬV@)'ducC-¢N+U/-( KBCRlǻXtWxRwȱ?8 J7յ{_Ą 1_'~Rz:<%v"]BP˴MHA}7.ȡ!9*-auڈn1GIޡ_ZUi`U\'/!~j[З~ENR{|bt뱍}&ԟ{휯Ho־Nj5`rG̞D" LY%gi{'b" &mzDZ-NgVuFe|L2 ;Ox$ȡq =!5eKD]j(*cģ߷awɈ^-vO@$[(m|3?b@D9iڼ,)kTxoIV>Ϊ FYS$CdW v>s~ѿ!yQFڜbyz)l$7b"#~NeMۘcպ!Nb,Ē lNmV%?nMqU9|j*7"8FŠe`u-y8;DrCGߌlBil ։͟*|\*e62m^J=qxi>y\:)GTd ]wW5x 1 FZͥGpo/ۖt8HnTu{\+wT`"$+\>w1.|'>P&.5 V0eewTjKaoh1'z&&tj>\~S`Ӕ0HX6FB5*_-< b+n(=Z#(⣻x`Qr$DV.|tpP ŬlPmZ'-`-pMt/WYzh}BB@%mo!ҒRhA˹PPYO>(=墚ap5q|.Ewo3g6l吐liHk<;u Y>D-Rrxjabhlr9+8du1D(ySa6jma)h2yɁ+Sj88:௯pbA%jR8B=poJOݭǾ6׌Ng\(̱ "1kVChbRUVX ˷V a/7HҰ7{^+ ȫ C>p\Hox)wefeK%A-źya&gYB8cFnuZ^ESA\ 鯉wd74rMwHT[yF0G[q@\!}js)a=ddOgC&E~?[ft 1ķTĹ= u|&9_ibytucǑ,Ra8%@c:ϣeo}jE!UB'm ϒ]9l; Ǎp}߷OAH_()ZM. ^fˤx˦|xFX˿.#yJ KRVy[@!>* X+pGh?gv/HsW ´=}G8 7 t0Q3)%~*YSQ,ğhV̵X^] $JH/+b aJ]Zo0 |-f?螿(_䪱9- udaYm rnrY$6n6ۈK 2ۯQ9-rF6|\ZzbV6S8,i=,_7jإ=t4 F예_OYXhjً41Xm4G!^. րbBU+k!zO[Uro} ?XoJZ9H>}'Benm,u$C_}ezf:5LEKj'sM@爛@fmKn>l0"1r8 E*voW](bZBav ~*ՒbWKTM*L&!<+3:Ou-)OqD$ȯݛo^~:e7D7Y :~kr˵&|_<3A\F Qvf-XLҨBEK$Tv0qZ}Vi+t$IQ}xVA$=b]@+/tlpHHؔkLJq7fߺIkt>QP\mF"&l \HD=܍z~,L -sו2*El Q۹0*"7/ſI$Ԕ欝N -="dw%2qj\Vwufv0 <5r ,_{rw%  gl ڡk0"!AI7Gُ Ho3/nsC bV^Wi:XŊs> ,AD֌^JVCY1rb-xwgHvW^ S@2-͓jV,4?}`D>_2k k3],37o0Ȉ)̇":s>5x5 E%ahy3!@:QME?'~ dO_ׅH&TrX5r_KkeLZ,QE\!:/!&yt+:{oad-·˾dMm /&) Ne),~L`E ݨkR"xk ctO((J4dh!lb2o|A=8Ÿ]ju0uDA9!=NW"*]yg<1$LJuϑ?dAL.ܚ|F|ۿ-&QTJc,LdMR}#_)UW||^w w0XRR_46 Vé|WSѰ"^(Pxd?b)'%gsV_l,v`|ʿB?ڎT*URYmx=MN_~Ѭ\'Vǀ1t5bA2BncH^}IIk9qޟ_,K͹R@ *";FH%~kzu=YKLp⇅TYj =fNo@䳽{#E )c{]^ޗ 'wx;%~J绰y]](qbxO'ds^O⸍#Iy ^[qs7UJyS9 qކlp`c7/m++(׋P9W*؜)m8A0HJz&aתޛ8H_&*+D\`TܧOݕEk`dEV@ߍ\px ~VNĔ%$>RMw&rs\߽2L++d[4bj;;'#=,|U35h;Ma psZehG=_" ^P& +8,ȱTg|ҹ50/;="T,I>n 60a#gX#~ 4eΔ{"0=6"7+6*b0o݅wRIEY U+MLR]šCgvgh#Roc gd[.*zq!h/">Ѵi' I_gx+:PSYYOܻ[ #e.ޤԊY]djB}ڋBh@}%eBlC2Q90y#3OIݑcրn@z<1F0df!ۄ+tQ|qosnjEX^ 6K] ܉Go M&L. p歘22: ;"F!a I p :B=}-]ZTv例P^B|@>c":}ᨇ׊0X{Y@W_?G4r29㵉n:0!_S<;ĆpΒoe'D c,&]~wX_ߜ\})j%ӱx |x7̽D9͢^/JHe,FBJ.AіjڮJVsy_j5 2߈9y:f(YX.1Dr)"x!:ޘ2Ǧi/д^Jz"P}Ca'n G.q"20ŔzpOhΙ<6bBYף_  ^xLK\)3ln{l10kD\B2H} ZvJgii5%V(MiWWiDo`͙O#Kߩ3[/6ikQ泫cV'+-E!/ԍ+ _o3ɹ698Klt-#r%ۦ|TXJ% g}"oj+|!cH_u"?+Fj6#cx{+kzK5|`ưN& =Q/ Lf AN'QR5 1BPfƹ08cIVtcwgj}v0-9KDҨ!K'0~c_>~sx10jm,bժ;u}6ܗ&?MU==j IMeS|+<}H ȴ'y{5.^~3 ੲmVj._l*~xu'ϘX}S<H.\M.N7fn/? ڷ.U?X3/)h۹~*ar{"Bf)%M{'eP ʢ%AO`^hW!=sNji(6E\Dx|69$ 3Q\Aqn.XFE61tQ#@ĉ +0tFOZ1h_/[- d87MO F]nl>m0}S5,|U"gȅz]埵gƴKM/o\ TwUĐU>1ɑbIiD uxTǁ3Cl$6j;`RfH9weƸkwdW/'垾;1ɋ&k+/RU_b#ڿ#?5z ?>mnx+g aĖ@6 ;bzrl問lk70r{"Cma)nT ψRQj@câ j7@pf>X,Zm8yG<.*JjŽMR/¾l' 4O}^1ۘ'zT& KRIdE8쥈~p܅L䈯MmO)11d)^| fduq++-UIC[X2!_j )@H>C$ 维53ez}'XS^H<'讔~B҂DA mYdԡ"o7Mtha8)?߫ɨJ8AA{g?VivFBN{K+Xv6+C:LSwQax/L[şPo?m''GO΂uwf ?$DYOsŎ6!US[Ej Lxe ᑮ%ۏ{eK$/?dc*d@w~yS^=_^Cq-gO;P٫ ͇g>0;r,=HZjb)T *|DGoW)> MH6aim+_5JKt #?f`ꏽjOIJNv xt_!d=o^& l~W,Fx̋jN2q=UEӻoה1&ȬimCI291/ҍ40ltzZo$SK/ik:76ߴtw{]Eba_  JVI7fʜ_%lߥ|hG߻q{ (InuA,)Jzij="c}LY*ZU' i'F'BGAal˼̝DQ&R>*ke; rw2tDZn9ٙzzl2,~:R8*bNB$y#[u 2D9ok9yܔKys˗seZdiT9>5nG mBb+ݾSL[\A!,0 C:$Gv]d˾S]㇖dƪjA2*\·2?fh8P. ;}]G"o+caPӷ-FudNְ'ug&ɆY]Q@bL*KI7O>V\uơ?J~򇧔LYW>h,-"co&p8C1үGU_d#o1#{@S`^`TysV9t dlַ [7&&6ouOTFBQ%;ÚxZ"="^Ĺ3Fr UqMݲ`Os}e3ͬ!?$4tC뒰s ,A$,?qHP)nϢ~6{pTviǛ' ؟w>L4.z~S|]b>Hthzr݋sBrI׊4qR|l:$z{ͺn%C+PSD5Df 1u:VMq,l) eSN+ODMu}haؒIx ZVեj(MRJsAFŞ"ٸdD I@ļ [S=gB]nBtin&q\6BͰ87kUX{S0^NKa>LMy"L&o!, = `AEBu齃Qì"pO!drW ^%ux~P'L_[{_p9`>r{W֦9^0-)%ӹo9J "A( 3{;YpcJեKݎyEc?L0r1!&vX4=%'1h؜Qx)9c; iɺksKamr#~LR**p3|!2jD #L&Ǡ̡Gm쉖hVn\vOyWG,z (.l uξ8fK;kA^Vp@~0hq3x03yо{߆N~o2I65 r+Mk?Q%z{#3QPk_*LC+J[ؠprYqiQx(QO9yXԃsd(i#Hk?;|+<[u"8pC|PkZ08EY\#=Iff:GLf$=.Npu8^nmYJ7zx*R7C?2(O <C®0&QAͯ!D%P,]Y_-Cs>`(JCY r/D޾ΘǩxQ&@{c +}a#);OMufn-[}~ĽHdqD#e%C䡽-+רY91Y%C1T}-[h+\jPZc#B= IͽM/'$ݽ:IbyCHz-' f`&}TAH; ͓0'W<轗x1o^*ՑѐN—'>P!J,2Ř5IfA[%3D8r^lڔd\[R# q Q?,υ3y[]j ,׼D0nOEs9OirN&dd+uN;M^m4\5$^@!%~Z8eW4Q`Y 4&Q걳}1aPMܫ7 2lmյ(R)Ɔ7vcYU%9JX` DvxR" tSҚOKV'9dl׿_o\FP܌դD}0^Sޓ\6Z!jFfSs}~ 6T_uas%0F1d܋!jy]]4 N=w$_hYBʽN+oӧ^v@$kkjt[*A,xgG }9ATee:*/c9eK_`" YG*Xq fevʀ =~kޥ@1.Q|ؓ!Y|jh%\{$aj3B/^Cb[޷b!D#fP9g *Ȓُ^?fHɘΞ*60{Z!]H٪vf.<,GF#L(D ^.ql%K;niDQARAv̞9R0 H${ٱ*պžbEvΖIkE6'(O3y0<ַ˰]lc6IQ.oުSUcg,Eֺ4Ƨ\Kr$F~(qw7&j勺zSImH 7]d:1HBcx&[#0I}]пLRҀ: NG',(4b1#I– =i;( ulÉiCo<8;C:2&V,4:GJCѽ QNazgOO6vIC T=8s~r`G_KCJ0;p[[d< xL )&R!e(F b"-uU2+4yKHOFYx4s}OekW*erH58|Pg*5b /:m&T|tx!0cYwĢq,kj Pnvjʣy1n~[0i/H5*yv G1T%tW(nt34L;gKlƥ3X| 0oNMX٢€"}V0Jf%7pw#}+>~kX<;B[#vj.5|}mG/$* L(Of$ sEa[op~%cy"e xtOE%%),Nj%a 75Qhh@4F]%J< &@F~'4SEQb}Odn|ۛO8d (sv*m"lL>˱/>&*l HfUbR`MUTxuEPeƘ= k )JL88SAz8!,/:y, !G}v[pg>i>J*eH/v;h! 8$k/=ӞW#L/˻xw*=9ŒbD4QBJ5YSOrVͷ,oFw>t>!Ίl,%=˶OI)"/l^ooEp/T* 5[؉E^| +|$ e hs(L5=>ie}2HN:pkY?:ڂDԾo9'0( :{ zJ!㧿S-!K`-6u^d]lwGhCu x8{2MQ͛'Tj[%f!$j}715892ɯ,Moḁ"i& =gyGHXz'hW"ٙ5{{Nٟ򠃥Hloq.yD f d,%v ?Q'g\W>XY9WL\&jZ('#^qtdzE6|v2)cѝWkܥ`<9׮IZ輂~]q.-TxZpC\,B\.bcYW+J˔t+Ȝҭf,?|, D|z`=ϣ FHz6$؇uG{ !)3>#&Hb;ٙ󁮾vorٻ>R"nq^ d-+Q$q" `bAߗ`n۴VfSNygEN;/_nҪC I;FTǸLq%.S}ςL- yn|>fxUmtyovXTH⫻Aa#R _k0;psfb!i{F~LR`թ3[s,:ο\5.(r?dx']=z2w0ێ-po1_߉f5m )oqr˜MHBgO')zL %=%  >fbmwܷP<䠠)`B>6ۿ1| HrHǢajTHn{KФTs2W߃̕B|'J5Qvvx}<&P%54703Q;$dTd_WLKIdAd:dGm|gQ<0 3W={si/u"p--ST:CNd'eb(,d*s PA5Mo1/Lvb,.)<9sRҨ>KI^،;s}цQ7p|Oߩ\;ʲXm WLl\եx]Mmދ kz - O%pu"R7gkr6ݬ(TdYg_p3~yYE.[ ?#&H)z 89!^iv%f\}섩EL > KܮISlb.Mdn/gzx+n~?hmGԕ|AyJ [Ґ {? զN2# }7{JxFa6Xc%Sfm\ uݑvJ#t`Y  aۖd7{_5Վ+_3)-5\_ KBe\it9'c2B ذ@;&7Q9Nj >I-2L7en͚;$$F5_A}­դh{@I #j 2ÊTI㓾Qg#3kz$G]ZeTv<.8W[w)_|8K va &‹B 70ktTlarه0q;xn~-oiADVB;P~9C}k#y6݄M3N5Wu^ F3ච/=!AtǎyI\L:ǟeNbzoQv {VP7r.+f .^mMMc'[6= |I̭_B x.} ]j|"~olbΏE^,pYdKZso7I] lo 4#J2p#TD* 1vHur/"SVJҝM~`l Ddɶ8Kzz`j4߄_YK8b͕ҥ4Dö%>5/kڑ1L׃)8?vW[~1WZs? ǡ?MW:}G&΃G0$:7)YpևKUbyuR'g2Zk7)|ӵr&ms ųHye3 0SO|RWB.Z.j+jFptÑU@+#^lҔj˓;/mt~.}lUzqh8 gK*\^+#ǝG7.I柗Zf+$ PW/ 9X$'[TK&ڕ'+# ǴF'E׆VLa;茔"Su+t=+\ϙ{f&y$ nuA~>grވD(YJIp~oG ]93&FE,R/v)P3fD6ךtZ -F"a~R~8}K) j QԬ. UR>QQ%`ܼx̥C#=/_/xWi,ڻr"ssE*5CRܼم{3HC\_M^IP*p`  ąсbv.uk +1qI=XUt6Mv|]?a:rR#S^93+=ɩ*@㈽My ׼s+E'w63L5j.98tmbn뱼R/ФRM?w38eDs֢SJ-(ޒ _Hek cRFe\ތj2f4Z4ޝ񣐞;NK򏹮C /'bem0D8u醴˛~0~=سoB^t0!%8Μk]Rҳx^@}?;@Vch9*vmZ|G"3ws9?劝'RVo],L?DFeb#E[/M1U?6ӏ6n\*)W IxŘq*@6GO !?Kd%>Y T?"\<Ǯ`*` ceOP&Q7,~P9%h fk@ L@iϿe DdPڑv PX8Cvj'7}1zS9s uYRW0XwGm;Yʛ?A*w=-V+5)`6[zOu2=˜+P $%'b^a vHPRiNvtbM=}# ;ol;[J_،`{3P&;{ ( 2}tE㑐Q`tJC/_?Dk2- >^M1w|)6O#J\P$ T\c i"A Blw\vC_mzqnړ|N^i_mt(܃SA11jc?+553A*)Ǡ͎4CR1Ku3w+s" a;MC@to΢m 0{gȐȉ rћ QrNϵmDx1G_U)_]&JUuOY )pτ(IC;]T_^1Z{d)!SJc ;Dm'z#1%_ꎿJ1@Z׺)#q*Xr髁i ~;RTH~;IG2G,љGXj+Q2E}RӋui{k 0#!QY}/'W-eJ'F=g4j dZ1G5 (5U#܅nH2?WJLPtjY5E]Ɠ}Ë7)- I&F3_ JxCEMNu:AV9J="O$pum{J`y٨ݱp,W]BE?f3REAiH CJk@;t릎2ιJ2"=rSw9=B1*G~ kq1シh}^UWqw&ٰ|}4͓%VU%3_L cm\|IK5 @eހZ.V0g竃Ie>9 ak|hIb/c'.gדCJc* wԵڀ&,4\95g^~SE8RuS'=L>&*_4Ė)6$ɧJj |HE><0KRߘ֨?x.0(?Nʶz70k?4 Jkt d$y'FlB3$^[ Q.w.<@[m"e;]h3}eڿdy'fOBwȄd?i Fˊ}+𲻟 F%m֔]7`3A?%Sx)+rk]!|3M-T.dEJ2`Ci : 'X[ cS^бpHsHKѭD_K=WJG菒+Zhj/G.ֈoqǰo/⠜)e72 sTZo4`%&wP~rrZ`.˅p:.%ɝί|mWӵ+ti8Y+uD&O9p 99[s K?b% !6ewXq ;;}(|>)]Ӆ >d q t pyhέHNy.c(I9:} .3YPW6a\'He A#ő΅=.HuWVm(F0K.DrSx^,&OUy, S%r⽦>Q$HVؼ,}T=xbyUHg%SM@QU$l;$\3OFAu(OT<Hϱ / nx[9wg!ɰ1'~h`e7̀n{`~˴﵄y!N<ȷr|h-J1S 7 㗏KRQ {y?FPzGY(b{n1pڪ, eY@E+>_J] u9}YgiJ &zm8o*Y0)(y; Z8y_[K=+](8& {PgκJY}7֕1Ħs8q%_zqYQɥ")滋oQN,Qx6@ c*K'uf&Wgqf=R-%C{'u&} vEN`Ĝ{Y^kgc" DڶYA+ry?yͅahnbC5o~z#wX}a%L w@ =6^xԽlmE͋ӕqh`֘?C*`դ{ܹyX~{?_Ҽ;N/McV0T/ NROQUKEs(p PVyٛ9t&m/IBCu5~B33T^eT݃_n$m,_ɯ"!z\zȝGr':`IC7S^Ljh.;W5#AETdߵ7%i",zIL=JIwSAԶەJo#C 8rPLDO?W~R՝0kpn UU_Z7hz:WqaXd<*To]ഘn:oF ߘxr ~dwۆ>b/2RrQ9}a۰XoE1恇0W7lv_}ރ-0>ld˷<.9UƑCY2?dK\_W %8.腹*#nZZ[$a얈HEnT)tAxt5B3`!R>("QqbJG:[ 4P!<)?n_I*tR0qC1G$SeY e;GUc)CWV/lc;IEHqsD%<ԁhtc J~>ަ2ԕ W&@un, -,eº !2s @~kU%{y=LP|'oi}ӟ܃_h9'}F/MP^&aj=q/ gc%/ྲྀ7p='2WcNjZz2á II7Rq| VEiGop uo*Nl,*߳ k"Պ) *҂|kEr$-LD_ISi4+U#ߥTIc-pd6bwңX#Z< ' o,|.c_iL`llI8R ʎ $qW]1lԇ!-I^᭯/*G S. ҲK"{K>G lG/x};zv wNRs6p~3,_wE@zt4jG. O)%\\&NU'-Xo01|hJHPt/'/mG]- V#@]eiH⯰AD]Ļ_c|SK–,e>i$< r͚SLMyqL.+ʛ|K~kXcYf/}3 )en+s~ H 2]tA,@<,z3lBx:v՝|д&-zLlw:bʥ&p~טYg3TPpD;>1IJ/F7G$[yx\KkX`R?cܴ2`u̿ѹJb6r2ײ( Wn"m#{TƂ=}0/>%zDWbӞ}]MXy;er>9%@0C%ǏXTM2`7JmAȉ2wM"Z;o8:%7 {dKrI##"|W. ݷϕ&ɲcL ^LUw-n2sRj~\˚'3.{Pb^NZ[ޘ[!~%4Qک:4|鐪5]KP =Q&>q(E4p|rLw7L,K1}ԋ I r)رF~/AAkG~8axgo 䉑x@׍5UK%yЪ>^QR܁Qw\'zYҎgN5ryO_sܺF@8Rdi[onI'}c^ǙO,boH 1L, R$M1e{'o\g2?ҰIG%n{*2z2"h )!г՛;Qxd`T <bscrtW&ͼCe-c3t8Dq_(o-Wzwb+ݬRi0,CXc+maS!`.F ھ!""zZnu)H )3S[nOx)J*L%zO/ܟtN -!.˃dYE?ypTF$%ֵ?`Oj vԛaWeاfzj{5N]"s : m8+- E48䦅.:/ΰ$S?FIdR;xHYݿ 3ҪIʿX+ es;F04}^R]kw>uŤ 4^t wzd_X;:qj^!~}A7jʍǫhm2 ,UG' l@H蒩A'za6>+,,B,S"d)jat>.w Q( 9MC.ܦ"XB1xwb*F)f:;C%'[k1ѼU,R 9Ctu}xr+ z M|"c:=)GMo|^BuDO5J~,0<"X ohU'CPgOd[l~x?/WC| H2meº^Cn2};6_|"7"j{zX1@.\U2|2 u,M""R^/6~yIcv|<|$RQ%S:>QAD}=t0sZ٥ַ0R4[}+SioCi΀tlk$VIhO*{k\ ;v5 7 }o!Nis j>oB*&)`ɥMm1{H Rth:,u0BNL/['7;ª8+;GS.̙ӧ.1(J@a@Zr&UȅF|a S)'E$ؾ@Yݝ[p뒝xc \ԦA+achH ǏdXC%TS=vsA>[N&Xc_h XL_kǃ`-=RO.l$ AnwDB僚gx'īyx6=к7 `a2ќLOnl]-<忤 F*X uZuB%5UͰ xf})|0)mMKZz1)m#WuM&%&Ȍ5ȌB8٘'p`;k}j@SDLbs^'?GK6te ImQb6XE$ =Qqo|U cTi/ݗSfmmok$gkwud}XrL_6߿QZj֥loĢߕK]%X,Ax?#Ŏ%qE/Zaqpq˟;X9e羖_^*1a)KۤyļL}G Ӻ9 V-צ[^C3Gm^ ,t2^zR9W.rRhH`q+JYoUYcC~Sqs?kXIzKp{C:t m1Rs[ DNbtȈk-]7LH*Dr#J 磮;wL߿v׷~#ƾ'bvV)dѹz* qLPL^Mž JLZ3PzM%D9.%b5 zhdڵogNB◟TS4Y풔4RQǪKrmPVALkw_W7m̍!u16Cx=?a{޽:v|ccTM^q`KF:B6bmjsɇԪ5A}8*%k~]A![|3gfA+'NN 'jCyI#PkK'"Lo8#S2צUWfV՗br@6:o-̤oěaL/ueJR61f|"(E.8Y}YǤno:SM:vr̤u{ \U|Hib:94Fag}oX[$n|V,?kJlmHWBSVW1.?=nm} &ġ>W#t~&+:enRUu Go^=֗5#\fS ߀q`FLw5~J" {<_:s>^ uU% m7Dz)iH,In,i^?kn!K{Q:o ÇwPxО!h]1% VfǎY PA.!Ե- Pwogxɕ :M,-&mbvH_ߺZ^hl܎9*hЉtF?V gon O\?~iR8FH,f E*:'OkwJw}HkE< 7 9'ٰӣlUsBBD oe["ɴ{gPKr}8q:a+2u:6r'^R>HP|4xK٧ܣG(yA շlXF :X0V= [H'bkPOQOŭHE} ʒ# bޔC紻m~m]@PI ]7]^1,nsp'/ uN4{Bj.h0V辭%H%AXjI!H1uJaF~.a)+'k[X b%;UaAhIP[i>mH aUܿ%_Xh|zw2Ý //t#\(5/fk61eԍ'Ry#bC8ѳb2U}Xxw V" .9w@oo=i(BsXC Jax2NV}IU}q[BHUTd0Xa^qOP|p?9m뭑Ea_ةA)kGhH hD&+ud; sT?,yJū58OuXNC b}|%F3y1+}`U haGnaر$G>#Xه] gy_Aa'?7q>d '.@O92'ڛeiGhB-WyŦbȃmE\f>Ǘ#U [ɣB=\x[ۦn͌&݃HoxSi4r"ӄ[Q4p53Ź'oY)xgJ*>iGW&تJKJsnVy{ 'GP@Ye\)h=`p:_"p,zyE%+v26|30ZpKH]M[4{j;B;]9~dd]87(#́ :Mwup@Ǐyou[-<©V\h%2Xx @Nd, oE}~Z$9tyn">C3G'ћjŗ8ydOxS)hAw2˭84Y [Hz%@yh!1f?v2C[]V!$(Sl~zE?bo}e/&On_?I}dkn^4P+d5܉vkܲzwj7W"GdѤ(@7KO͐ WzPQcA'+uz=5/^eL|ew??M {ʶyC_ u]?I_RQBQm94T&cLa޹4ol*dFزQ]Rs1q-m""! *(ZHw6,1A D\{~<_eTҰ!JCiljZm=ƫ*gC0*FqxA*e0[G4xڱ0ky |OecxN3Y(541؟"*m,2/D&?P7x+ئ/IC""ηMī yN"`*vR*w$@Ìw;lǔ5Gi]{'w5۫d1._ّv#@֌1wB ;B:&UO6oš2DPNzfC|kfXfXONe|WxYH sP +ſ~̈́l}%vX״yj~w ,Yxocu8 ^(&=`(+sVN$^ b;NJY B3oN8S9HKkX~a"t2f]6F\IR|~ocR ])Xm3w:gZ>v~yQ sk2@Ns|Y -_妁u+m6zKC"rQӭe`~ {HYDx(~$c[µTSK:KKzxBZfm$e:#kɈ&t'*yWLڸSJ {T$ȐVKhz{`E֐+w:CXd>NJFɂ ~9mIn S+{+CW.x~ #ř0 -,ơ1MWY=\k,hhN:$ʻ[uxD5@Xmzoc`ʁ(@!HYj@'2oaSPP$fM!\{Q[b]kcgAm?8"Qq>bd,5` / i*֘|x_~ `9O8՟XU\[]קM Ḋ @w sqs2b'h7łAY0"| U-A T䴕1S[޾̣ )I2dX[,wuq {MOO-4C*Rc\@ %;ÀWxۀ}ϳ-x_4g< $ɜw7<=ȾM#h:S>18sĪ1Iwavl$uJܷc'^?^а/YoQ1oPL}2|J|lΖ8tIiesNsS?%ٕ"C4V-kăs1fx F1 2;5v`mi>7ɭY^`WCԞI{|VYyB|9*|t ~KJxOeغVc.Չ.ψLDX2~%jNhei~1~%f./AyM(*Yʿx7$ClXt&YzM=F+L993[E]Sv{TՁR x1`\W:aN]M4ae1OMI{Jj-xLCQ.h ,M>kU|9(Evk V-δ=7!27 wYZ7~VV`/>ȝ{$04J|qXj)'at nQt|A)O&ϯrX|R|ڲuc?9j15Ø תv=^~ =?Qp!t Ƣ=γ@#yV2g=vfztY%6ԾAR!b*V6+'z|X*db"\9_ci|owža^z$Ő yݐ`p ^mnYN&뙶i懶˻2RF&"8'i0v" vui'J?q'\r0͍ouP "!^ n.N/Ah, ꌿ́P0f],dEOR~ס߄"qIs#<8ʜ{4a7-<SwӳfLV/+tU̱\[2`{V=Z/ MIG+X=+ogCJ$ ץC]hY'K؅1mES|){O6BP~}ͬ uSx~~`ƨ2e@"lwi? swxԳB12Ct, #r|@ca^tMc2£,K6Yhn!B8nI2\?)2Zp΢a:"# `7E>>&R~.2d.uj3se-G>foO4(gˁH [ ;ܛÂJnB$Bsqa|Y0E+@*ܑh&U#{^rvaVBRtgUǂfnBJ stBH֜ =cLʸW+)}wυyqoO_μɴMB+-t Z֪7tgw.Q҂X$_ܵʺkB$? Œfs?O!(Zƌ>pf4jc뚡.vb_[ӇU˥zr2H9LK1fK?Qʯu)NDb,c>WE&#5 yi(P OL>พ“n ;KmN7Ig?X$"%xel pmp0ҡEٮ B_K;ا qu1~#Ah1O{dZ .7ɚsWXF I"nB,nc]&k!{Vm V4W4-S7Br,b3J^|x`?i>Ev?d |Sp}^ށl>ziT:@(Iyirh/LoV7} 5ҩ[ūjvtq m1-9&eH177"\%^O:E=dЈ}#m3\U[UB-Ft1v 햢[^1!MeV~o6ǿ]&dz5tx8m3c 뭅3ͣt'co>}_4KPdr z6Lۢ f{SSf,>\w<Pb*URmnś4оܳ%B@>AԄm1@吼o8GS0$ρݣ5/Pƥ2f8 1_=&R^'1LșQ1.۰usxnw:|--AϕA =n{PB,Xբ :/e5̌MVz+h7,8%+`fXrT 诰g{p;&c?\P+Q6|R꥟z?9ge`3Y Ud"O- hF.یb/UՂ](,!sn($?Gwd$cPiO ;΅qA#$#Bpm l"l:I36nup/{,{4 ZnԿog0HiGk])/_7ZqY m3\ ,ꪗPNJٵkkiVqeiYL2* Ӳ41`]GL f)M{SIls#6&e, [A\Yc.}0@4ķsGSE2TҨ؟|l?N+uA{n "D¹uPȟե{NtmߠʙOk"ki\n]C+ɱR;NՄs(n`n}8]D`#PpTY Y"2OVe|^ T6-oLxm·x^NB+ +{i wR[}}T#$Z Q1'SP^xORy.#w҅Ox\) f@cz:PʎQ5I1U)9yyҖnVC¿K"9hXl^#eQ€|VL|}eV&D 2Ɯ!Fst ڪQ.[C>%mv4<XAv_HۛG,>Alh )kP-3U[TҿJk̚o_W3܆`I}nAs'W[Api?/5c\Xդ $7jt,HN1eٵ y> Z mt$|]Gyׯ13xahpȥ3$Ty$07vieҼJ3/ .YվڐμB\>zv3֥$TSla*j{rw$[v!<"I!btاLؽq;R54(W0M^bɠ5Z |}<׊c&. scTw28 :@ZZ=oNQ=B~[A׉j 6fu-TTfݦ>AW >?~lQ*CI>ς23t{s+P( d(  CNk7y`o5cB_|\3qv'&}Jd.P \P#?)Z,Q*,7=~woEJŽ3fwXSqijyStIZ sLS] w$>CA$ zݖȱj[0@ a٧۠0r< 'H*hQM֋;CӖ8J0Ɗyp@D*ǚ4b#[r/[`O&NZ`GCc )'~Jܵ=tys0^q;ٚ;Нd .x:R9?hUP'$߯6|ψ[#.O8? RQ^ r:h'f7*pd%j=I/qVxtu8 Y.?O&K:^2jR_rD64mIcH9F߮m1qڶ.&LviH[XM k.{V tw\|EūҐ?\chA#"W{k; 0Ϥ@ iAŽŌ.rq?\#z笿=PP)*or*kGjԼ/ii8z&WaD&"kvPCyiyU@8|rt?[9d7ŕ3 ?C} b{`0fIXZwh?Д9Tz}-whw$:"Fa^B \׾1w]:%u~y/G/},LEW%k35 l ̓*gӋlqGLQWۄ0 Y[QYOлdq(Qe8KÂPc5Vj IT\A:Ƥ?"lRypdLM a> J.YFIvX: kaɷtoFBPK8ItoR,Ӧr3jYb[E=d Oͷ՗FcLS)s HC5zwUUCTE?88|Sx^Q?/ïvJԴʛ@#=R8<{<_ jٽn6sKQkƤ?5^As]ˁ2ҝCD#i]UpF}9PI`n/j}pY6xGEXKm&x5WSk㛞ԯ+g}yo*x|TߢJ\_3s~7.j݊S{ \m !Ls4wm2*郏P,4]~qoc$1dN8nɿXݪcvt.+!u0ٻġv{/~~.D\3 G;& _&VP௤(8u >ԤAV:dpxInH_|n;IKD=$,cl3>~!=='xLЭJW@?P&3I˒z9yQ,O>X0He3)چ_ՆAw\,XOA'v-/ h<`hˊ7(DKNО^kT9I2#Q$lhKsHȶ޼mjS`hȝYͳl9UC)>v@sNJ884kW'";SCb>Ú4U}}Aj D@S@Fo@Ӭ$/'Tl8 zb@Y_ag~mԿxع:7İbȐ^Y搂&K { {}5wpw<,S+#:} cmLGUJw_F|e 5r+GɳXm}4>kſrr[+4Ar'iXr ʓu,]pO]3mOZW$X-HSe:|,4d1JOReB֨N{ͩm/ۀsW|PUrfx)t2ef*~R` 81ׯa{~s1_.Fi ?4S[(􍖹v?O{Ϋ:+M2UhTG%JI}$~N&{ En4VYzD__f0 b=Bos|a1>FC}.|AڼHiCH)* VJ)HH͟$C#$俴Us1CCyٜTGBw|\I}3j eGµO^8SLUqfb 2'|\P, x%05l3m&c=lVw!n{w@ISGyʬR >x,pxh=0f ,>g"s0SP,]2&<kPq|Mi% `LX KmnwdPִNs$R|CH$w,x#v9C$l!m+ Lx /*,6n̚QJ$WЯȫιC{bha4}Fr%o:!R*]=3f3¥~ӧs#}^}9!Jh+QkPE2;1dP|wǯ/ͼ=*$6M;Tʤo AB2?Ѭtn?|A/ȼd |MzG)[k ;B[$˫6;K8~Ic- XԴ⿮x]㟱4a >hZFy-#w :'_D'a֐X]~|tPԇݬh3vHEu];X 16,2GC4=H`Px4btϵgFqв ="Vq=WMf:$8u2zqk\'8bv9xxGTU R@ǥP*Ub J!տjPahaY %+QKaka\mc&*F@ ^3iKTǗˊJiYeMz M=_xUim>B!`WgO4zOv { $@3fX6n?p' ǺuJhb/)SJ/E[Oڟ-`*Y4UjQ_VcF-FVJ2fz!y#{b]q7iŒ7|Ff1 _])[L>V׭P#gAyS9%o v.:M"@h?}:_$5/Hn|8O翋}BXji ;~(vUxl!2He ђޥew+HFG^0Rx)StjZP Xcgh K2Q"<!^曥 k%o$%9)D<^PJݬ7fâj: Z{Sͣ2uX8nw-_{FsM~b!{_ {kL+c4"F*2MsEpGIW fcR91k2׋Gd)̤y:0s *VDT S]l`T#znm"{ 3d l( L ^`V RWT۳SB]yñ&䃦:{i&}b=ġI);kG)h_J1%jH9"Alt'/gVC,_܄#dMOWl+9 06O ]HGL}DM/%Kk7vZ<2 3Ts\C_"1&M(򪺥Vz,I]ݮ=<#Ȧ9b Du{mtCZw-O5|h԰fl,\[ cJ?yc0 ÕG^O *|o4 /]A t8]>ާ&ER0^f zt=]5& 1n jeq֨6݉hE d#6PCi8nu7GLBck}w-vBuOO>푊h4k ?11V k~D,>ؠc1{7㛎d}6ug ˩$) "MM[=pH\0ü7WO\yVеϤq-_żIvl4kVk^V-#$0?|0IB۬ "(Tg=݅C흜*n?%77oNtN1pW]PT75+1@ NWo o`k{DuvmŀgTq3,CE:\ȇ=y,FΦ9GdGѳ3hƢ 5BD|E;[sRc^1"{Ԭhxh"I<%m>SYfyW8ع3 .>rڝmD1)c{]Dl`|Pr.,)8i.8m_A!9$'n+Kp%waH퇰pIUMo`D Iwچ_I c|Gxv;WYo[.RMGd";P󮠆zl-%frz|_?3_F=9;-2 מ-3I0m$Ma%YnY'f32Q@Ӿ $]0Eu]$ذ$D䎙/(vk@@G Ԡ9E,"x'%'I{hΫI8(dޥn"0TT{>NR4a=2n xd4J<9H$(}?o4ve~%:߭Q oo_h=X!{H1^ز($dQAlnuN:WL:\DvAnx) zb73RYsCv<8sXrƋ$gXc$ TiTP's$e,2HI\kSaP;L6VI^Z0%"Mf"[b8`2\gwίz[}68f\I~љ(49<)21o\1pUަ#1n: [dkJ3t`@֡bSĶtl W%p j|`X''\xe bhꆠvڼ1lof~VTM6( `M}!phjFH.!uND=tpӽǒ&Xd|04GSYn1+4nBRw9VH)_55/=d2B)xͫvХVA"C1>>^u8E^,%Ts1XgR k[}@])0.obFӭenCQuڬ,086)^ڪ6+9` @nnhna5͜kW_VbW+zKa?cbrEȌ+}RCA&;raKDߥwO dǧj~?Ytp\U_—9)_8}VꄻZ,QO~Vy-~6y1ԎLt~lloIݼ|E,oɎ;kd>r1/`Q4Ɲ}}NhbeN,ЏYnv$.w&şLPPCP S)kտ9{]|^&'d.`qlm?pNk@JL3w"Zه#0WǏ*|Vc,{!d݃mqa}F%tA͔`z4oF> !խp0}uC+_ǘ,h@EBCvivxe ^Δ233گQAO-0XV2K.RiSʲБdPQ` !N {`#H>;Y!F9);b|'l)L)ۡ@H5 .l_ +' Nկ2n o# ~Z@{`Kw6D vz`2\,"Hј2O.P,c,*}-&]ϛBh2timtQ\?ud:;+0E4JrSQLOdD/bhEǐAjs٧$8(eϤWd^Zְ=R/9c<7 <x rVEax8̠p>vMuKE@ŏ߾qrUW pV>opɯFV'ݒz)ւ[{ Ky20D+@/PȪz\NR̡4u·7`KȍR<ݛs]EP*M2-uu\UӋFBx>]\s\>ޫ.);#(;mˊ!ﱉh! r4uǤY}~'͟+1ԀvayZ~;)uWo x˄~̔i=H`_\$^#kDl0c?8/2ߗ)c'hcu/I1l2|Wl}]~=n; F'}DI4d=βKG<~7_47'컹鯨x~I}'o:ዡ敶.Q-HeA&Gm#G];4_B700 +ސzrc U"k d]ӠT™J=%|HPIU277V\L+:/F!,Rɟ6 6 ]Px5{1sCyqy6q Ni8y*l<8Әo^G즞D{ )q؍fS/ZSD$m 9.At_0Iڛɱy(zcd<~G6 Q5%ǎs8ZȜ^05E2FQg| [6̓~ 2ɂ>Ĝ-QY+`x f9U)15P $feX~dK%P]y~zZI :/k(CFam*F78dVcCyb_K]. (;aJ]O"9㊼Vr+5Ҥ o`.:蚜˗_`ڠ ܦ9 G5#qƾHCΪ$`@e%07 (lBOrQ7lF9QH |zwkPM꽃z@@w.kH([Ӂ*Njfɴ)vyC_i*[;]rR [OeI/Q;/8B^ͿD t`ywC!VB5iԖ-"2!s+f#{XϵY_#wmB> ~UW/eMPgW8|Þi`'L(ŐUOsq w@AL}|ΏƎOC^$1Ql&wgkHj]֌wG=ˇCKnhܓT[zǦߣ~pp繀nae OGF lPP!׌bIjޠI0BgmhOSoyB)uEtѭU$E=Kb5( 4m+ԗ++ /RJC>Yuc 7UM?ج4|!_ K*괛fKM{sgXF $5#J3Z5\~+T_W2ſˎpkc:Yv۲ȯmb5 #\FU(IL_ˉah;BO\* ŶxWםC:+4]T%:i,ӛ|M4~12g]bx@wb~?Tshh155yF?Ø%m.x; :8XNMgV"7 r ~OEԽ<4й 63HYmhnN?$ٳںXoX%w+X(ejY@<;v;Q$֏=ZDDt tKm@ԍ.g[|@R ˑ7v͇^[d-@m?ƌWQ1XaVDXq *1,!1* *oHgS*5櫫`OS^"0j~ X=BrBɔTY ϯۻ̭6ψ3*Qsoՠ02s:ò3Έ\!1{QI.#t<3%!M3͂0o"X.E TK+N^ lZ'!!E\V領"|*=k5g?V ݯ&4i`}ˢrCaՃY:5ÔZ=kCT2b>E/FL[P{HtS_(-1q@l@bgE5o]{rgF}~ٿC):߽.CȎ|L G |)|na!%+>R 8h#G>[k"&VH,2# [{ŸtH_5٤G:w; eR}uWa[*+Z#@ƛ-na;s1A ɇ~>^a{4Vjm@nNF; 'DhV^@{K9u5r97Ƴ,v$(wv.=;&*nV7tS᩼֍jǨ `a_()vx!l*qOvm Y !/}RpDkxxPD̞Kա݌stU86QI^s1vPj If>/;H*b݂ga&߱pIѺހy-Ѝ5o),l?0i`/yAϭXr8OYo&  Bfu##b暤G q$RtJnq]MnF`ki%uϥP/Q-M+*Ҷ#XTC۰:O 3Jڶ%:@=G>TD~S)[hFV[ka4>4/LV.ȩ6djoaYX؞dTy)oP1fCY.=I.KᒏO3L\_CZSK敆{t Gy/!F~*H%멿 avoփ֌#) ۾&~GA4v ~!C,J]iBOǬ Omt@6neJn."+-WGܸuVha\> :> ȡL {9܎JާZz/ޔIBʹeHdMv4_ƅGW<%$Lwn:?^n!"@|h!?Bjx3׿l,4rK)NջǬ\7߻3u:LTV4XGl[[ caogmqqB̰Kΐ80 10KGTߘCB_#|Gw}cm(sFj:>t&%:)H*+0ꪖ#$wMɷحholQ'zƂ z*<XeKMs[`ӊ Ր;K{KCKpCW&̸`NoV"cǝzp-mgXl)2TmMMaI>LA9W􄼿1vcl-K+Mүqt@ ht*]X lA'ABK`_Yu=I XOۉBwȸt[C)y+[ǚ:{{NA_JN8@@cuEnͬ]IRjrtxB"+ܑAKҠ9ʁhl[^Y %gjd/#Foq}UgÄ}0R@ i2)UFF xp f0 H]FBE!N-& ' ̵{  +9[B3kA0fyᡙ|q>gHb*޼eK]HˮЙ{}yk/=$gBP+ZmH*I"3DJ5Ě^W&rXmnV 86: _Sx 9d*J%4Ŏ@`߱5}Am>mbKߤk\77pM=)̵V0T.]c^N֩C\u(R"-iq\믘>vpL+{Y BK[“z+=xk[8\JAr`1P,]Ytcn5Д(cġ h1ׯ;:$’cĩ Kax~qqGYǩǯqN=U.'+J{NymE{NE n1 Ρ (yOr*"f{~+hj}HPM>=B?_c:c' p.AFغČ#hFydCΊ2,9ٚǸ򰧬h;py*}{Q`_T\w 6'Cv`CnnNbސbXCɊD"K "Xo6>d;u.bnu3ܵ@.r^>{?s%d }]lláM2ޛ{0_3bR?DſOuj䱕<_mhv+.iX̉LO.;Pa):ëTy?`xztuadCHkf0aPÅ:hۧS"m^PI8>6K'Pǹ{Uоe=VGHʆ ه^eӊHӎyv 0Z߸_0@% &/ᣞ.U]SK4w#wBPK .D/@l|TcykYŏ{$MeJ#YZۼzP{oC2 42 Ѫo^!pjf Ʀ!h枲wFÊEg4&\{%DI'aSMx hd>@t%j[ݏ|92f80UԇԢd\yb+LdbQ c1uB,x.$>Sfs3c+`r26AϴE+7_YAԖ; ,&hGa09##h8$_V  Lǭٹ?V"ڏ͵KH':hXa>:#uĻi;ك֨/n*'齚 Q L0 [I"(+󼇉/bJ8nbtw}kvşjh5E vn37GH/x0 4,Ǵ7Y:QRH?k;IFP_. XId8xǸ,r&},:`*J;nZ pk`B+hֵ}GO.3ġ_&dU+lfwChHP:;<}1:d= tYp?rG|u`W^8fƂ${ k AQz+!"ݑk171txpޢۼBjU[^@@kwy8S#Ɨ5qܹyKUV yI*,~HJ˶a9xB&h>RJ/5e9%@ߟ6lV$[a07Sֶd`B#]± g/5h:Dw2|X|kU1<a<\SC =JU7-7iZ}*IvuMwStW |/f1Y30beO$}˾mqv֗= L$bB]s@A|^QM̆gH~Tׯ+:t~H_5Z )5/t!MH|Ƨeit, zZDFD~\@;Ǐ֪ 9=tH.;@O ch$h~M,j(e T?[81֠cGS*+Ex_&IB?ij@R@2?+倹Qk/d聅ie(͔&M?=Rpu+ EtG^^z2U5u`" e0~9<1-;9Ϸ3fP+۠C<YN^=g"Z5htE`.3_'.~fOdL˧X#~*"jX^I,3qj1EGw{eֿWş^^ |vx%痌󏣝p6K0wZD,?Rsw ?gNEG4.5mMch]/f~u WvHJAV' >}O+FV4/Xq7 k%bOYrbf8;_90"1qT-G-[JZ|:~H!~WS}#ܽkg3j%Otۊ0csur,U"վ ZhY~ nhG`t&Pnlk{<@LM W?>;z%w d JzN>i4s",BVٲY ͏;ېJh/xuc-mxSY݇Nԣb$ĖtPWwW:pHtq1: ڀzX)cs}]KFq=g;g?!u\^V!?ef;G缵th ~xs⊆e&|phUS0N\N֩2\31.Nc$%˶>wmm[+.Ǐ: 9Œ#Vtz ryulٽp+D*'ǵe>EW`خ]?,TCF6*6G*<0,h>1aLdL6͛xi[8D.Ug᷺B9H$'%e^-e{P6`ԕG x?u ߼a-Xk1RǍPickm>OXTƽXe܇3OQF9WH$ud_kP ˛kuuYT/zIvƳ'k;xw]d,<5O(p-LԖ9z.g㛜D[o`R/K)iuxUhDe vEќv6 <3}A@a鏐3OYTn˚=ѷL/rH~8.GeJY[b/3Kľڴ{ruwYk}h̤/M9~E˩h}Mgt 0 )(7ɆNⵅ53oR;, ˊjZ@F ihJHw9%|ImG-Cz+;:ï5D' cNED1#ƾkMUz栣T(B22FJ:P9YKfG"ZgVZǛzl1`}<_$y f]#VJDFߨ\n@ta2/LQ&П:*.Q.E f dj}p=t8lA"0C:zDܸaj s-*tt򆻌'w%Kb Vq&ᖵl}*va‘T^wP:~bm„v^)ԣjLqo14ޛa\݈++OXK! Pq z+"M1EzVg(6IVwmnFwrb1,v^sBX"E13w-Dյ D9hEbQ9Y͹0cG_@Anu;;J۰oNT_Q|.,rkoXt\ ?vg<oߒ͵huO Rn*?C ߓ%ڴ5ؽb87}i 0Ov?'<-?6>Ki)sm˷6LZ[᧴.H)0Te}U.XaC|uwR_mU>Y/sס` Dw x~&V,o?7߿oc}-<5kh 8wES?NaحY-˺MYMf_pduk"o f˿MVk_l)hxnoi}k? IU&^;{޿?c?o3(^_'[_y &kA`D0bXQ`Z!`y}slCƑ{a#0S?8FKV)vcL~L2?H`iE.ϏT>[@U:AjǞἎ$ 0nL#5οFs!Xz@G)K`VhN^e6Y$|\wf\S60tx3<,֗%GmJcCjtǞ)ƚA`+ OgL/c:3kŃݸWrev}rdI\ lC zĬpJ:'EֿO+ݯfj>*{bD"*G/K I. R+=uMd(u߼Lb5(P0 N(K_ M m %XGJ'_$af#'o:^C"ɕ[̖*A9lTV4p)Hb\@U"/,/b ou|;ҤM S!x oNw))1 1$5i2L*8ZV'dUVM AIq^,Ü@;qVI[i*(MyuC^NdWW h" $oj-PQ͍9^N!r׌_*<` x ;UUL [ +q^Qƣln'ۃd7D`9?fo>ok鑒7%?!Z#uiU>_;<5L0r> e|Zxqgca̼,z-! "4aM%y]Y{WGz52}j~MpUa6q,+>F&5ٲr2('\1 bR|'^)iUzkp8=f9̱2h=u VX“%!灅ٺA鯒6M8M8ư]3FѤSuH_nڢCOdڇ.`[_ïmm1Mq x:vY ' HbR2g|=cI~1ΎBdH(|NS^ła'-LI[6qX= =Ne&G!xv9RYcK\[ᯑwwTWEa}αd p㛆dk{ B@"%G 0x![dI\h0ء'lkOW\]vvUhuQ6bXTQenoAV^8qʃix> HBy`aJ*yGnѴxe%#lk_QqO%Qn1`>kq_< ASpPG!9i8,9R?<|O1"NR7ޙwb1fDY@kR\Qo%ʟ[Z+r@5S5nU9廦-S aV]/^7qA'Tu62#5+lHl=/ e+T/1z33䚄N. >8nOhoՉ5ib"/ q% Qݱ u|t֘C ^׀l_%[Rm.ɺqF]1nE_v[U١בHs=%C ߷Xo"5+Cw-*-aa/@IGۋ]'l uoW]E \_ݶim2QQ:Aږ mN?; 2.$J!,3udC*eLo,r zGYdM'y!+|qh`*?YL k^4t[d бWX1F'hDP :(E&釷 >h{R1*O&ͦKJ4ʻ^R50P3}"#L*.ă=Q@lyAmG;7Oybw{xi+}/ i=:Xx1cY/ef l*U"g+9.~zH&˴S௸;Gi9}OD?m=, 6ד=tAq ;~a_W2o֞|ZU7>nxSɮIvy+)}τgFbXw;UbIX$*S̥<Ϟ3mD-Ҥl1_T&؟{ K$ynU2qo|cij0)=) K Xгp 3a)Uj֞nSR fuo^~B#6:ʔoHUکı؍%DlSb>{ =?2hg0'E < ) zF>WuwUCPhr“Fݲm^߷ޛ7MCRy_ tފ*Ar@ FxqeLO) Œ|ٿ &t҄.џ@_]Sq]fg&Z@dRp_Ej6et&Y-rMfZ۽FP&u#߂0_Ղh_2㩼IqA;;AE!'<*rh]uR= b+Ļ1,Z0:h|3QF(cv}{BY$$f~uex81[@HV!ul 3G#f2ڱmD7eC7oRQ~.ps~hH3 &A> ؆-rvٵkP)l뒝 ”Y3>/`{ InTb5'! {D23^ .Th%@ԑXfIL ׿ū^ lՆ\YzE}2JfMd5"F]ݶ:4uU bt3|[lɃ"=ʻo-øħuU($6JwiF;QJ4<;![_@\cGtiK2tBIIk`GGOW<>m te=LHM3EH &%j^Av ކLnJ؃ ?fՖ2pw6a:F?u1nKِ!TUY3Tۆ+ӧf_G C"N "?]a/\6w Ӽ&W+qg$9!ӟ Nd@ ѕ?BpHiQeUu1DAFyj垮`-^B s֮}B DiM!_lSTod+(07^<[Ū|#NJRE-i8\3dO,>$AoؿV`~b©t;X!=.mT}gT^tvI%9ж5s:[~vHZQ+cE0- yc5'%cRyw&μr0l}W\+1G6 ,1V{#϶HI٬lC$cӓ~x(jv;"^in sF%"Piŧ)= lߖ("J5ß3'IU]U :eZARuYߢ^i>w^Cw6Z'sI]﬏_MTC"U(L?zYL0dzF: Q3]jǴ'5SK_D_ر` v@LgAqtdy;# ss;wIڊ2߉n BwB"ʔDQ/BL)*,͛e[Tm)*ڗ6=/7Ç,**ax@_1_J62OJפw0QˆvYx 3Uu`h7ѭa{vM:"k8ϖDL|>F[n/mwXwK߄J*ʦvfgNc6dF 4r#)U"U"B؊uPs# И_fuSbm]WOGJMHI(`){߇|$zv0X(k1)Uʃ`DDwIW(bٷ'?MF(%iA1?/7 <<;]9$23YƊtFo%  ەR]k6R mX ~ B?9偩!Y/an%Q$L?ﰫ񊱰m;l8ǂgD_YA)~YRQ(P!b.de|l"Rb6x*2K˿R!*E^ߛT ln؏o=TĶDN+eWV9ixW5bhZSK*qb=y6bn;\)~At+3_}˳oK3:>j 1"3|-BY7]E #.ڟrv4T_UKZ^rًOJhNթh4P~i:hГY<*pfk:{mBXj?lyڬ0Sv&A؛tщR.#Q3P݄ 3'HGD!sGR~0^EQP"^ Tv$\ 6w2g!8\xr=t&PCh*xbs=⵺csL.W|Rq]%RxH60D a]Ɛ_Z>5nR}RmLB7kFբw^T]K#?%OǩIix)w+oW)م p]*M^K'4r QA|sdIOUWa]Ra ԎvXzz;a]iǰ{2,uW~lU6uKoxoS&%'½:Ďw:h{\#<+.yciAh"%c "?@k80ݹΟ(a)KVu"!Ϊo[8M"D@lR .?mBЃŀÂUVЩ3,^[1#W{1f%։dQ=2d%;<Ɇka(8VVλ0:L7OC\̉:Sv}#@mY3Gʫ!»u;qHY0;ՠBws`l3bA X$JOդ#JsIzVΏV7Wo6U!*Cbm14 gMs?MYPNV-dh$tW58o4Z6 3ק11_#%=!4DzKe$&(pz5XS4 hDvzdÇ%TBe~IϽ1Y} c+EO'0Ҳ1 X)ސ5wy-$MҎ殟ʜپyg@c@Lt=v~a㢵l د!6#T~p=!4O/ nuְt5/3cwL/-bF; B\ӟ[nonq46*JȻi[t߃h YڍfPAfcaEd 0?f4[:""D[!>2nP>_j$+{Vp]]< _(Z=#ٯ cA| b:* *+Y=hDгz?EFωna" hBcWD}8fUq:sno9&P*-0z_l, :X RV왿@JR1؎mE3+d}B>O#;Źco> ULL~S ²n%}]@J^\:xd2=r)y}@.J>ų `ߏQؿ^X>E =|aePm^b?@$.܊#33"i#I9'3fbw[:ս_3 08d+1e3>R`+پd%({ՓeOZЎ;n[B`aCNЁ&4=$b/8ʟfCXEַx+snytO5G>tKj(e=1Z_BҬG7WU~mV_g#R{U٦CoahT#z]ePg_{IJ>LՑ5`L^a 2 Kۚx -pu,,b|_Ƶ.ixVc'f&˕vR1wƎ? 25[z){S )Ul,3uA/֋LJZ{69.75 B+ԑ kJ*ss=>1{XU2zt0_6Em)INώC6dM^() j;K"a O+}:Am8z8wcJK yLk?MN&3fǰ 75M[l: U#tIMߕ|C>S;ĽXn,Hu ܛޒDqS ʂd6׾L _9s,ضHgZm"y^泦 A]ZB"_jTx6Q=xQo kŋ+ez$T>)eɭVb7bA.4W7~Ȉķ+MhWj;9󍻈jt)&`" 4) H1?%3r({J9c,pA+hk)|\4ә7ZQlY6}ֆfu׃6AwWZ'2¸^K 5x@-KmJQ_/&P?@5x)e˼c(nVxh)~ %u>wTRc01%nwj{i#SmF-Q)xyvYeQ=IZ,la=r' U ݧn*9CT=>TÉl,cFGȽ:b> ƜĎs@!mgSAG:QO\!Re犝R4u-АoI&?Bj+1"ϐU{m'B\Qvq}u~#KU&̲cI%ƚ(7<[2W= $*Ů.v ˜ l[o1IDa1n?ekA=,2|qhLd2N3$ ? Z;|hwҕ"f~|@۾kg;!vJ"Yr ,/tOJbGߣȓ ZV?o]ÅampՀ-7P~wH8R,dpɻVKũPɁ^,wPu>10Df>]ak|yL?b@! kk%:!z|@1'Y|FoRA'yEi6/oS<𣇥+_*l։5V e,K3~Š]< Vea FdʙI0]byo \j埝A25SW@IH{! r?.(A$gKN+PF bp҄@HD3I8I)VD^ÃӣDRl^I^`bo"_qځ7r'7CWlAlz=f7jr*9llhٳIt;R$:~Bs5951L;^8]ࠠ`QE|ـ-1%W_|oO4p䠞VP5|?V( Cțcb@8/6z*p;ٷw0b|j&e _J BoV\tMFMaZzX,nX^hg2W1#S9V/ #&zӣ_5GDW@EnFiJ#:ke8]ZgN .i~^3ɱ,C6>y[',ZfI|FTF5xKvCN|i(5B羙Ж # ƶiʭ#@gO9' AEcR~;Q F;u<_=UG U|붏7:4`gXC=߅!e>8A\V˨ߑq ꗌ6ފD\ɏ=33hmR24ɮGX$_p<<@wAzn=$Za(}MH|덱o]W'cw#qDa II*|=dZqU)YHQ+3ZǚXOit㭯==/'.Woܮ#@s?JsdD~8 9bΖ o yAE+JCTdRiNJ7귞,Ə33nv"Ez\ ;Ȱፗsz)_n@C,M ԹNP#]xE&>|T@\ \El5mj|>ꄿVl%#( c5ir 9bo) ".c 44zLdhvO ufħgi]xjTlfuyQ!_E>[lq+G:8--צ ʤ7 (X7 n̸7~T#!=l ˶Kܓ\ϳə z,,-5 >尪H(66zFc~kU BA&tZr`QLBH'}* LanL Ш!˵1C~TOCϖۅ ݙeI%6g;m$ͳ'=q/.[S ]wzxN*Ӟ-ã!'2pb$Q^*bLPGSfm~;*'u]O] 0fS 5 }O峑Z5*i Jשw"?1ip~};DU3W!87=;qЂ0!Vi6rZ8F4N>GMVE Ve+<"1vJ;&}`L C%pu;eNӌhkHɚٿ5Jgߖp0ݼ_;09ҷ'^4\(+fGU{0Ӿmz| dE>?FKjJXaW:.z_N8&dջqSO^{4Z J&B #&cCɾww=R3 0Kwh-~?zXb)2\ʺ mzxUf2 rpq=1ͿwU M-? 34ϤYL*vfm=ȿ Z6k,XgY-k\1sn'w}f ~OEY> 6V$(ye`2[ISV݄!!5 NƠR%41 $5*VU? 5_╼}b!a<,l%Y2<` T Yk>lF nqn2[Zفڢ+tK2Ӿ3A馜]Yÿfi; 9+F|{@z"&!LV<].5H5@:x~38e0LIQR+kVCߴN$VY?ׇѨ؝/-Ѡ`ȏ`>h5+|zbQ6DʼnZ ?աȎU4W+CbܢUĒQ :t܋t -X?qF?B1N p2͋pwK |e'ƒzv2ۯ?~S~_tD(cYEI"gϼXGilɆ2 ~W>MX6fhԨCRD/@9~ŝq{yEiv0=OT-kavX?pxP`#/=:e7Us (<}Q?o*"Kc\_sOB9Ks swcۿ?ЏYv~HmٲSo5E`oCĄd,UXQ&G cv'l2Rҷp]J/OC4@ϊO=ăA+iR8X!w0%w/sO r"݋ǢdzZöWA(M>R'׋58{_TLUv lW^Y(?H{TK%r.o1y>rWIm떊o,l$lT`^d޿:Pp۵hJ"'#mxvp [80e9o?9\hTa^g Mq(;mcL-r|+ aJJFbWO2I)Cp|O^;$'M+a14|;ӕXx(B-阤jCq]>}g[59qH*u{C6_,J=ӷRUSٌجH˰N3K?2}R]&@sOYGSzTKaA4wIcYJ(/-P%{և\C`ٿrdDJW챴;N)Gj_A?.-\dKÒx& xo2J(sYI?]ђ?`c.6 9>&" mhôYn}²Ke4D{Y?*P'~?Zu%ok3f9mj&X ފ\qs l;F3 ~{iai\vܦ1-P,$An;l?:prg^.[4VX\ݳ"I8o6܄Д曦;;6TVex(]fD0OR ^Z^@ -RaVL+p z 9"i+$q5:PA}׈2\x;uS&@Ӹ,z2I H>cQ&8 C {ʾ``ad[q;}ny4ۣ88$z#:Df_~:!#)5gEZؒ1T ղ"Gs1vX mZ7ww&ǜfjCab~&J֥tx_Zbl#l6f>vv[̫1O36=%1wru{. YXp JJLGƏˆ*ş's|LQh'1{)SwÄtte9a016*#0gx Ga Ar,яo(Lkrz^|5 \`R50|.zrc7{M-dN^i"rߜϜMo2fQ@&g51 7$^H9(es kБөV3#/2~{{9f㪑@ҌGK+0;l7dfE D]z(OPѕר+%"y4]6J?" >W5cДEՓ7rQK^J:]vlH~a{!ñ(31K |XoX:N0>yH,B%kqڟ+h=-i5WP\\ƝuWˉjגFa|_)/%qxc>̷Iv>Pv땿b7L(rSlK.l+ǧ5w᤯vj%e {,W#"cTZU?bI~I{qjH< j8sy" u@~CL2wj~nl +/k Jp6 IY&YѼq{Xx5eB?Q{!`WUK" N"=?P_ڼNr5`2[H}"{:N͂AJo?(J\zO~b8h*͆Q?M..J}ʘ%nƹcBOpR0n/0E߷n7V vsi3$s@ssк(>Fq;wgoF"dcknq:Nsl6X4rK oq[MB[,٪Koc,FPϜK 3lLt>Z}wވ &mo="# :˾S /C8ڱB ;;ic\>C2H{o_bWuɫHԳ je.xejy(aE ڌu$5|P4}!੒߼,6;GӘhubP+s~qh[}nomQGȺ;S ^M$\qI67-<px<<{\?Νeu +B2ܤ/5#4:jNduj!\25뜆4$^(-K!5GDC`V s^޽bvq]#eF><}?;b,!|OneMdWc8NBg%YG(Kj U>SU|vDpvFrHl[wCC?d@aLp}uI jۚ:O'a$3Wb_訮l8̓ M܆jLJW706J,Lԗe9+a˔V ߶"7ls"8AB0w kkL{ 3\]&G0o8 ^a:]4mK!L7hyx?1:yB,] _p&t~z>Ε8<%^MsRFX|fڇtOO;o[AN7LP-h!Uq3✴wfOP8:tRKE2#?&AD>)DW Y`w$ٳq\PfCa™`:nceX0E3`h</kءb'xD& cQbQz.2w_*QrXu X#cc&4WlvecH~[aN6? F smT@:*DkWP4)znk yxSexa{hr۠6QZz': }S?nvXn7[7Fg8ICc/3Ō.ElC J> KCKP-bGy=%צ.v-Ŀz1M㬣7mb<=[@dL"|ް hZ yl^sQd,`@wI=ص=y}ֹ7׌dNPȰz牯$0sVBҐieݔ5D/vKrĞ7S^`Vj/ݖlZ/XjfzYpX26 <LO)uI2wi>Wf_`bzMOv-`"AH2qHl(vۇa@ zRAz\5ʔDG@W)mgE_\m:uFg[NYL-,5KgZTyx-ISŌ\TZBZS6Y,i=(̐^7'2PKc:)q0c,\5AG>/bRtZc ߨsDtvuP@5:$P\*bk;=MoeH*|1Zcu)o$?ݜ }Ң I~ھK@UOg*q5 M3DK'Ԝǧ1k@*aA]# aH?+j cm[@W S}N$+TppSMPY]ןy1UT$a~sI2X-/Ƭpj.>\WfPW՜b{~J吩u8zԍ͵iae99^co$[UЖZd2\:JU1Eq(+H8O)=4ZN~i=E0!ƺ#oҕ/+?6olS=7 J5yō*E,71dz1a_/ ŮW07o}m*0%[!]*N)u=hv; ^3&'_$UPZ(Kw0 qs&A:$D Yֱ_jsA,>g9Wcoj,gJr_Zt̋9p KWeAx5Ao Pm((w«^I2%|};볐w}!{>mG.ҏR,mbZ3~C7 e>x%dU~Tk>Y'8"~J܃L7:ݮ'fиlO?;ֲBK,F 9҆8Nd.gIϭGy1id#0~E fɲ*Bd%& 3!n q;?~Qe{we}NT˃4F/3lN2e;W$ ΉIɨ؟Y{>#uhzfk&zWzyL ZC< M[! ums_< |?Qq*bfߗIٚ4u/{=E W=}i;qG">f{m Ɩ T B0XSu;A;9&w!,J׋jQ9S.,jH`S匃Q }6~Z9skRb\*q؃Vp[./^-47/USk&@+Ҏ×0o 1'fn|ё^C@TTR蚣VD}CBQ;"o) ;!fHZO6hc@cCŗ(>rO.ۧ,c›r^c;my!4EF$9[np©7n`( $SB&Qvvc)|#y~SNCP>"ȼ@%h\f2~1nLzS /$ȒB|we"`  'w4|J 5,} E;xΕbjQ"Zb&U?A_ς•9Q0-K ܂+ˤp|v Ƿ~YV(ZsU+ؘ'~ayI{\ ٦M tӀrn ^"@ NߺbH"&SK+qv W`4Ej`T->#F>7?!-(e<\01xM ˀ7xWz>ɜ2ח3b Y@ -p).e,l8b|]]M|kw辻!ekfr>  0\7B(B?>4'뷳x:8hwC<Iu}]yB$֯W!|鑥GտVL_*zE+J}d@-C=C.hfVƆ9gH4n69xR寮wY!ϳM[|#\y]Xb<ä2Kx!q&l_l/c e$H>տ1JfvMtz'kV&-RoiDM(ᖨڬJ©}]J9ܿ>9 k<+ z1#7 )BqV= $e*^h2 Ǧi-/=xдVr"h@Ażf|ts}C*k6(!@< -_X{?e2Z.?۫+3^ KƎe$56}N&Ai1Rv7?L@nM, ~@抭]\>$C;~)A{ |j!E{'Ҧ"P1stLƋNOix*[ZdeE,cRn r"Y luHF,/JCnƛ Ag1Q%G؎J0pZ+OZh^&3d^ _*hIOݑVeO 2/x ^OӾ 9P?@G74{ntClnT~6O$ʝKr.'< F!.تt dkDoCel|_lUL;A{/Xo":cbh$!_";̲ăG>~}D1C:X8,W X ͬuWx\4w}PZƂ<D,dž@=6޻@&  0ޛ^ XZ GmLH4!p?N"Wnf]+~@ryjЙ!sU؁ IZTI]l6kx%\D j981"ڴ9KȞ!S4=yX0l)imI1[;ivPaEPr-!cZ8{];c0ыOIB6_KR$?% ai|8jֈNed˦=Drn|gbd4qK3ẾMQC(_Rqxt ~QDis?n_M#z􀼬Dd6AMi} BPCLiߞ5rq˛BZ* 2'n״z`~xU->~-;mq&y6^ m_';%F\X`^u'1]>QF'¨$v'HQ`~f!^Q'y&kbv٤+VUYoopz%a* !+x1xeqPDZ&|nxG<̆㥤WG / 9ԢE?Nkn2^m< 8:Xw@6Ut/O2p.֢xPe&Y4w"d*I]5H K3T_>R,]BWXq6_)$Ѩߺ:Ef W4a :g1e`n)UA&-H#0=ͧ~=S+yB\P.I\M>- t]5SsZ@@Hj@5pBɍ,5U{/CcK+(sb[6E95(ok|YC\/m$Šti#cg~]?u&_GX[W,$&.zh%*LT3ƏD8A 7I''hD(Y-plE7Xi|?u=A-&rѯu<3:٥xe_p;YSfNf$iscy⮢KePH>CN6 >ai P,i7ǧcI!d/՝C%yu1v1g/ 1% ;TiwF1 x_bS "&<3(+ S.*S(f(.Rct0}1usud/[Xb%*_l uH1a| 2CNjMYvrq6}D|`WVh3!9m&[>@)o3$:q-W#d5C*Ks'T\3[^*HaӉ*r#Ny33) ZQxEPpi Y6 7nzH:;emrʅmWno< rvy}]/ eF F؁1 fؖ*d'C%7rmJL1=dd Ha= ( VH #ְ)`^*aY~qyVJo&ЮQ! 봣-׿7RMUym;J2O)8ˈ~fCd+o\zHc ?'ǡߝ21 <6`8V6 /#iFV̈́Q`Ӿ{O1b!j^!Y YvQ K!-_Kt0d@=j*6Xߥ<ʌTJ̔7P239]]WhCwk-{Ʊu1ĩ[M=w~zuxkmߍn!Lt8v@ ߦ P R+C5B2vJE{2^\i^XWaqhcׁ37\vC6m [|ɐp K|#['3 mY4W7{3Э#U?;VAEhy^[$C>W^fBۄW7} #1* Sl[_2L{ 몈Nm4B \ަ ,◲SFA&paAyoJv..)=A~`xIw4,y=VOQyໍY #Մm_%8>ĊQ4_ `oϛ0kT`qJ!ֶ (&O>B]DU 4  !߷:jj;pUsNa%  bW\AetL`3I{ a2tv-"泲.sP#i"!qhqr]:/=PXoP,Et6]zi tlwnîaTe$˨B/A0d@P^ qX:G T_a,i\BJ&ퟨrX]%cYG>L\B@2dpf_x$5Tf :mΊ1rYE˙%a|71Qνi{@<݌#'VH|9, !tw^ ltd:AqYyo^Ě{3V=#<\U +Y <,#@ 7Q #UWc>x.>OPBM7KK7v(/)wY%f%z&PmЧdDUx;xwּO`6R { %ߛO>&Oestk<, 9ǒ zE.1h F(`zV˖1_jQyY~ݘDRr}eTswj *0`;(ȿh`z曥۞Q/CKAk;w':Kb>oI>P4N%~$`3M_Ш:,6n]8!8u =n7&'R#Ey^ѝo9Q!y"zo$ u(8;kA"uya;^WK sIkgT0,dz$;-"܄ȭGG# '' o]/W<;٨rٗ?E{d$6x954͓.ɌȻK6bV?Nu՜'ikS嵕f.bO *hI1>7^QMV&(Pvf3V0';0sԶ47C?1?Q <;]1q,a_5 1 !ߊq9dc}Fߢ9#&G<eeBae9S#I!B|8;LQц?om"H9I[W}*<^& B{eɈ3y2twgF6?Ƭјڻz8kpmO~ wF\vē $L_|vP1B y L5̂W JaDIl<6a#rՈ 5uO͆&+nHM7(=aOv]4AjGZ.(Fc7u4O 0)r|gn%қ-|zʳk"3< άC>UT.Nmݢ)@Hr!G/t\9΅@P`{gf!GSUkA<_ɿd`$` 6n#-5lL 2s| \ҝ%\rHpm烊&iB>my ǯ_+5 7/Rhť;M7]& ]ǿ_mZΛo/x( GVm?߃gdmRFmR}7e1~lYXɸVQ eynXlDO%U}Tu˜&dbFj~k|A"_]YGt,7Ȯ ꘒ·w)C]aJ\օ]A,vV14}^PR̎6;!>* .RP fo*) )ߗjd^iC8!fUG/*.EL]B3q/䋭HS6Hs-0a/YʻQX͹,&[]$dd uHH`VvH! π3oW/Y_Jn&VC%"C\HFa^c"Yoi$xx aù( %h` 8e `.Kec09qlueA7%x<$YJ1F:* > '.dYs姚CYWi7({ >p1uL$Ь!҆fa)zDb<gma;zwE8NlFSJBZ* (E!3u4VUJ[ AuK(xy({^\_#3R Er~V|Y 9XӶC}Ptj #%cKg T/utL##G~JSsEb7??򼅒e'7 ]((^thLŌOX坖Zlc 9ADa& T|·R+n&"MS84Lْ8b,[40lBVt2-}Xe|cx |eT>se67R6b@t$''E&G+ޓd X$twKT-NZ^pASG|pSvK *fuXO/#oI6ۢ+@=Z_Fw^Jɷanbqט߳- cyk1 +L>nO3B#_.f 0U1HKpi/yX&KN8?7uqN]V/_dz),ȹὫ}~}#Ou ;f z~vBߴ6q^{iXx d^H)%3fm ;Q=;_;u"lwC(*,FvXldn<{Po2#FzےJN ͣR.JXh_c baq.&$UR&f GN5o&—/1,Aa[HSEAm-2팆W;82)I% spQK5K5K/{eFhWWqL9YdY˯ɷ'%I+ bBK_V(U-@nozIzX)a*ZY@S%/Հh1Uyq[u) *ޗΎeֆrb|V[J-deQJWe+\;1{DJ.[I0aa !.`?qb!DgP9g1U%~7Z'v8Zi|t#eڙya90gBٻYIAVR믻4^kN'< B*r1{{rG36H4 RqgV-h7u<-׊mNrKQ~?a̬g+_ay˰]lc6IQ.oުSUcj3[Uk=}SQ:SGVn}%?rHC]|O2Q1`*%~F\{8by5# ' "LbOaFqFgdMλgVLd?:u9PUw 1k̉_\9XSצ]`߷-GAQ3NdFDsk8D(YZzq)I>[FꪗC, ˤˑ}UYW-osfETy*Y'LFhuة5Q@$،aᐰ7WH7BO3xxkPr\dq:zrQrϸM :v,BOmx}PҬG|Õgzݿfp4di0mbKN@.-1|3s4Ral4a޻7ߧSh\}+l|9iBۘ_BVA +Yˏ{+k-aobdn^BJ툐ѯu0JpnKUl6K:á-XqpO0.yY0yTn J63 %W'28Ͼ. `VPv=\חe,2!C0:O~Dp\"rm}A:-I)J _,3Hk/SV@+Uƥ+ȱETzedqj'/8@؀FC1WL9%{5$\hB%NMG޸OBƵY#e_'11Y, 72Q"ǹnPD}aumې(*o*tb,k1K^AGla<9EuI}=пLRҀ8 Nߏ8Nh|3%&PXSipEcF:9ۓ?-u!rv6Jp_oQ2؆ +ӆ\, ?;C:2&V,4:KB N_&Ϻ:8ll"AzEql>}1/uTq(9TCہro,`3Ě HyBlPNY֩)XZ5mxVh6a;=)h hNekW*erc58|Pg&*5b +:m&T|tX!/cDznqb,Ht 5E (7}vU Y xʣy1n~[^}$" -WT̳Y=*VBA{ѧ98tg!c\9LgCP.Ųc؅yCr'1዁<ݚBex,;e!2Upmy Fn]z64|4W9y^=k +GJ8?ٙl[FeBL1hʄ aFA1 4̡w F N)7h*%hqy ?UYdlUDoZDYanf [b-m x\>(aOJp O'61Nߗ֋lfQC_e Y>ʁ|o}|z >˵@;aJ0ؚ2r(=<Œb-2pOP^2Ѫ 54C(BZ"Ao P~W*7\02^ {4d l~wfvb ?ҍT7ɛ=NC(S@p]#iiÌw φ1)e==Wca:~C}e !|ZLLxTȊ2YrY#\J1=oI W|lfr >7o Q27)zX2.V ߊ z J5g=pF4մ^ON/7?P/`\31IJxh<`UևEfZ]4c4^~o#t%gD "Ij<'(j]/vyS%YX\ˋm7#uR^zpWU(ł5uŁs~+ppZPeDƉRD\%:1c[2돏S4W}+a|>yb«왶EQ'qrZ74Mơg`r|cAdu#,)ar]ˌcYy-lF o̩,v@D(|I炒 /yū:,4(VĠ&cՇۏSbd0?Jn0_sҌh:ЭX9|P>"k֬XWڭ4y3 V;<PPTqeB?/ {Y`; L2tڛOO"ƄYi[:԰'f}f/Ɨ$oqɰ\&Vz4:񓒞E _|:7`};*I z{1>%ȰpNv"yv 0 2^Ͷiݎt,'rZJ/m܌sA8׋ʂ+TڢZ^yx+^s 'Q3Sw݄JۮpUxyl4 HzM6ޝ}[wbhƏZ00uAM|.*u_4lgKicRc_;E8pcR̀ĞeV%&_]aONՏW\Zf>ݜ oEj1q*HDz1қ='a W`țsӂx[834J 1Jn;Zs;Dd"R7Y~5RXG5WbٓC/Xla J>H,~az[j0pi/$*.K\5%9``ޖȎ]OfȈ(-KIϭ7ww ze'$6{ppvWe2@ef;蹼o a8O$,iMUnM#g18 +3@b9DgBP#dw X VeBx¦΋쳊PbN `g ռ|B䱎vU|B&쳻tKcv Qo@rV\W7K,{'[ef DAbC^9>}R03>Ht8av&Ev%ǞSg[>t#N؅^ǧe޿ K]1_]OЂ~a fѠpN4ikN i-s6#}ӣ =N22ЖP,t"ݳ򷅅bTM1Š.,ü׀8/$~,E mH MzN%?*C1;\)i?)4N<7(DCY7<.!b%5@'.#"KȄxD\(cT@)~xT%+ { Ծ>ʹL^.up--ST:CNd'eb(,d* s PA5Mo1+Lvb,.)|9sRҨ>KI^،;s}цQ8?RF'cԇ@JeY,vo6sv+&6\ץx]Mm>m}{xj~$$5.Ÿq7+YG/yī"y-@D?#&H)z89!Viv%f\}|QAL >qKռISll.M<gzx-n #Jp:q4$$Ce.! S&C҂񥜴rcyc L GOGl&9;S-n1')RRiP? Ab3x9m0C%MU( -|gaM៌5Yy15`ϓK;2] ^ﷶCջ0&pWmےl&dvXSȻH1N1!Mp}UK[/ q1/?%`CщwL^rj6_=IXB2 L7e^͚;$$F5_݁};ZI>% / ȓNC;Vo";' +2S&O"Y~s';z*UqŹB7rK=0SP @gE va&ŠMB5zj*60?q;?-oiADV@;P~9C}/b#y6݄n&z*bؘ~&E:$Ic5*l|,өα'p-l٫ӆ_~ԃqC #"iid 5І 羁3JEM'ޥ 'HA/qi!R:?[",XdKZsmRɷhmd^iSI,/D!ɑ7sx;^lȒm, }TNߕ%N+\)]JN|.ƌXIQC ^[ĈfTHy)v$z(sE>c|:?| kXu [(D2u|x&D7u\puy&@X4O3[LơXr6pB7Z Y~3}/B𜮕3i3o(GE\<ܖ\ƀc|22zHN:޿ퟘGX4#gb5>@39WbFgyY7w2K-仙 I-,\TY_H6muLJnTuJLz̿HNTzG5nʓe;bzPD{&,`m0[}k#.*2z`_Iͥ~8ekEZP _H߿;UCɯ) Ksxԗ9sRG{3k#kXp;G=Iwjs]uw +'bae0Cbg&@0ݦ˛~0&QRƀ?Cs $ Sg.)]M!u܍qZ =q&!#P (u Ae}|0@gjL:SŮRhJe%W]טg =DVC߁ρ)W|>g)/eNdtY&=\$Ew\SD~izMeXl97''IbcDZoD_"F)A,ߤ*.) cD6Y{CKs_˂5>sޟ5ÂLM칆~:^㔄J{M'DNI$ª`}@̿JW;2Blo8yH}"S"՟|̙c]+*%d).Y/ZUj`zZWm++5)^m+:_NzOu0(2=̘+P IT/KNߓ}ش;C:JpMnj #M/ 7 O+V>(Ur%Fu~x@"25gãO2Hj?c+4ޮ4#nK&vKyVₒ%1d0nI> ObkbJ=ӳǏc>vEuӞ>h; zv~ў-p"3NnY ctc$.IW%kk !7j6|eF*)Ǡ͎4CR1Ku3"+s"T& 7pgQӶ^Y3CTxHDVћ Qrt!>t9~U1AP{):poLȁ+ivj+F^%YlȔw!sgZH-uzK!Dod$f4=Qj'MMpèc ȥDn*o1a1I>rL%Lwxj`d X3!7Vdo;)((^ םR{9)\PlB(x%i'|Ԑ:WpjK#\*-;/JH}P-JWYSec̏a/g &Չ8~12_RFM>;w%7xR:?vP<˚f>$hnT!Af/=&22!Y)D(Na%M1A"&~@gFJ2}QǠtIj[5eͩL)<ʔb9@굮>뙦N2_"rIg p{Lk cɱS.X8$ӹb$%Voį%İac+~lP: syK4ֱֺŵWg?A:R=%3p8 tu:{ƂkۉJ|WxFV~8oczcEg4x8z5llAQ(yBS+|Ő|r+;~)In`XLQ/oC*3zm?7 JCK& Xbr',!ay\Z}KIr+.]{rqHeef J1XCK; RȠHqs!F/8xuΫi+lièP֥R,9),/gvçHwLI8g?)Q.$CTZoU e#C$٥<@+Wۨzk) ~AlVNX5v!Aԇ޶_tUٯݢ4YÐ;p3(|XFXulXw BE|<WacAVfb%y_j)gYIW}&ȇ=u9߲;(X7ꍶiN۫d HyDIS񯟘WeG\-ѾTtK㘜"6ĊAe]7;+gXWTߧ'6Ǵ'!:{:|¿cD' 8nߢ- Y2]lo =zaʈ|[hŬf_%"R*` ]PĀ"C=ݺzuPq6`f,D*EWS7zA%#-K( RW[+mҡ o&8u(hp;rʼ,+oYp_SU>fy,?c(ګlk=t_s\t~GZ$$/VbPIӍ%t+r{:RWc,\ YTq} !2s HkU%{y=BN%ӯcÿnrN;2y1hJ |ʠzL^{^@-I7' 1O`%/轶7p='2WcNdcA6n$4t]|ÇKP{Swbe9@W}P__#/hVLaUy6xBzISi4WFTIc-pd6bwңX#Z4 ' o,|.c_iL`=llI8R ʎ $qW]1lԇ!ؗ$V ʾƩ@iYj%FM=%#Cmu=tc;;y'9Cg8H _p,p" =:#fĆ~ ` W>ɥӺ뱆aUI 5V%A ߡ8t @}}|YjDV Vl7=D! DΟK@xk^@}}k7lg-sI#dPlbjߌ5r1Ӻ(o/a=tGNdYD'LA#oc$L"-`6tʤdepZofMO4N9քo_ ]ţQ۞4[HwL^O;ӍfXr)I-5@ \9v+(d l;=эd#XA-|"sF=0hi B1}'7m X7fat\{-x(v>"#hN2n@7N]M{; B!8˛vd`|FwsJ6n:.`J>Zc`P7ɀq߄*!'5tl#(j`z/d1\ u/&*qzLe{cײor"oJL0Z^/Tّko啹b/AMN0^gL& \U? \I?ʤT<nC a7z`z4f1_AnLHz>k`xFsLƎ5 vS!Q%QC1q*2;Îx}Oy7䉑>P IF%T9XpU"sZB*]?}CDE@ -,]QR[ݙ5ƊwR4T8 J5F<6v JsݦsDnpn9g53>P?H_$27BAۖg%1"@48䦅.ݧO}8ػQL( [3l#ߦ3>*x u9َH1J"DB>lgUX es?΍`h|,M|tŤ 4Vt vzd_X菁7ǩy=d)W=9'$zTdw1F?}YRBK~ ƙ!;hao~AEpK/H-c:ueG]Bs:9Hdr9nS,!oA<`#[ 3La YC%'[nkyCrk 7K{H ÓXaЋWg[\LO&-|2WPxy&R *U'@\ڋ,EJ.?v!w xwͣo,)cglPެg:ۦ[fϱsA5C)C}ewr0 KdH—\\/>85cu+Xs'X>lEf{ׇ@ _CrT1m*.'ԩ?y64~,@_P7i塜V`[Oa/$};UūQ?\KXj;J&( )ʘʸ^T~ vgh -Ĺ:gDl 믩K|H\jFv}|Nh\R{׊RŸ}4fXm` p!'~/['hD̝ȍ/[aU띫ŏ ĭG.̙Gd}82fIr!_XB(d𹸐D"ю"ÅKGبƳK6p ̟tu~")/Dl>듕bQdPM Jp2*8x+Q%` Z0=ܖ6C| 㽜#k\\ꛭ(rF͏ƾXf[ kr"D1kY6&.u]].ŚhԀdcíJ¬5Bv(kxVKeyЫG5Eθ^1ۇXT+|}%hWy7[XW{@q5,#5O+e{0,ƄDt.>F?%#WM`n=d[0+ l|m 1bH<pᣥrH'뙡-sB/& 翢U|Lz#rN]?bg0ֆt.O:HMY@):ႩɎXZ݂*uCtBč.72p~O])97ӷm}|H+ Mo:U ~GMMP>a3+1i@/ᩙT:tT39!"|wʬS2K3g-Gc9]U%!/xa<:MGtN͋$ePqp̙5͓P M/%'t0, R`tfw)IH yzW̜QsɧX xmZ'qs}NvmSրj=}wGy;\A_]F*JX5yI. *} +=~s㩤hz@`\_7_R;>fᱎN*Up^q`K.FuW\1WyjrP_ΠFJMA~xtŏ^{WPH. F3ZR Ơ?NN\'jCyI#Pks'"L8#S2צݽO=- 3T%SytSx3!;oMy-D-{1sm7lڹ۴za({l-!)7{(edLYC}bK#t~"+:.enRUuDH^I7.ؚ.VopMrd81#T?oHTAa"ˮ7GPk߬`V, ^h[GbR"$T[!ƽI4,Y\>Ԓ2 BQ` Z=%B.e83% VfǎYO Px~.!Եμ Ϣ+t5M,-&S2}euLdzD$+qB' RX,-Pb?rqmI #)MTx/ѯݡO(a$"3;oA0v9'aGg٪~ -D,ߧn'3/gě@-M chcG갆iNkօ=rNxJ}G_G=}N@n<|8j|&5.w~G:H`)p^J,* s6myΙ^<Ў Iۑ*6FѮ悏q7;7|3DR4 ٷ5P$ɡH;oP[^t.0Iஸ (Gl!WԖ6QUA|0.9o?us%q 6uy٨XP~ˌC򖈮)OH[j[T]q.Ncw}Wד>w" YIL;f)L2zM"Qg:/ǥt؝R1ˇCJ$V/5bn ˼c:+&xȶHn{WU銇۽$H"+&\ٖ<߆|95Ԓ&Y>za`zX}̚iqO@e as>xSԣ5?R*e/&GHo)l>R7fąBXoR3U'/ٟ/,!VXW=6:'z.ޟ|s˶"0/j[b4cq~RhB˕2sӼT?,y$':,o"~:X^:@|.s q^ ǯ^J(lB)I;vmcHC`2`sqx/\ > ;is 11zzJL9,(00UF C u/c+nV${\p ~z" Yc{7wyE"sjpkO%sqO%#jP&I~'\<s9t:d 55 ̑,(ͬyu`#MciNU'WG9҈Bz(LͷtQBTǜW}Xr|NZ*3rI|7 *c[1O@ӂ_WΉINز벯#>=l_/L n '}-S)Ԗ ?dN7<<,WUC`Ћ/DRJr `w94xD̲qo2סқxZQsk[8uꝙA1, q# UpmChk&K|535INhBWyŦbȅmEfʂ>Ǘ#U [ɣB==\ry[ۦn͌&'u!}>[`49i-(k8|yLqɛ^V ޙOAU!<2 *Ҕ[6,`8ᄕx 1$^ RֵVIM g%қ YxwQ-t0o}IJ7\3.lu}_Gu5oZ񤱣_en+Ax#?0 [DZ=>nPG[{%uQup@ŏyovỆ[ySA֩fJ2Xx @X= oE}]^>ix1܄x~<?T?q+U~OQ k4Mqwo<1U~sW8(H jljR#WV "z+gba)w/>qWݧ2aj9S@Bkb<Yݕ_|>6;Tb~rvyJ^hHQKV=JNj D#ǚZyot1.ҸO`M![-Ҳ=6)/}}/.a_q$zA-`:49($ dP sѭR騳[j{V 6ˇhgIut}a4,|YiJ6Y.kRIpjsJbU+-Ϲ={ EB;[:زORZ~}7f?ЭQ%i,I"d&G%H: oׇ>it 'mr ".҇yG-$<4|;k]r-O،_z~)_VYcD^RL=à/Y:ӆ)iKp׼փ`Af;7n[^6PmqHZ>=ehRsoqɟ;sO͐ Wz(n1 ˊ_^x/2." &G8u7>[Dͪd vu1r)riH& ;h {@ش~Z C|in0 UMRIi,isʅ&{;;iWRw-HFk~&L.{;^I0\,×s߹au8g1x!yeyu|;۟y6~fpm%+)KҐcw{'N"2c*v ȖH◁$ЇGowㅏ)kZXҤh#75۪ [e1._ؑ~<,coLKvoB8:ٗWvvߊC]e≠`*̰ ]Ne|WxYI uP +ſ~̈́#B־Y;yklWV=ut7nsȡW5{Tx#pxn-C74SJ'~ڱ HƶkXǗ:v/,-'~iƚ p̎%#KPҝF_ܢ~2# c+-q~I4*/R CZ-n]YC.`> I K`MZ+j &+ӗR^Gsے\x~ #ĉ0 -f,ơg1MSI=\k{o44We'yv < 6v"Dr' bE@%I*[S(?)+YpS^XW1_[" Nt@@$J=VFes\fxpP=Nbܒk,'kagV}ei{}hͧIqmѐN  ɒq|GlP& *".[L,-A-CKcp b*dskm&<n7&r#zvMˇ(E3wP9SZ';79">#F#jE8*1Vv@ KӶƴ%f./AyM(*Yʻx ~!6u,`:\?~zV',B Dblqv&.NQUJ2q]AH9T~F`~TPh.UԴ5a=֖rP0XWZi5KD0u0 P;HfakH{Uk, _| ;wMI/<J.Y4?({y+jK,o#kho FbHx\nH0877OYN&˙i懶th]9Lsq!F[Da# vy7(īǥTsBH`#eGawTHȈ>uZ\j2ܸ.K}:r9pp* cB$hM(DaY=n!>O42g> USLp|fLV/+tTi4"s,8 C$VGaMƆK()Y{oh `f%7Vpuғ~SGu77$qů*|c=ص@Ũ >QM`Hk5X$4uϝ± d#wB U|-U5] ͭY} W>?96.ߴ'A>81BGn{tWf*v@P n"do0Fr`&˔!ˏS\n>: 1|qcW0( J?%5`=޿̼*HxO3$Ф} ;v:a8ґvqĭ˦BJ6|.nGY|mUKn4K)<iKq4Aq?kDV]R)Tu'IK΂~\R U؛,}s;m 74p*UMw&ݟ>w=4 Gɒ3:!G/</Ϛ)/ZS$|"x.Ȼ/x0{;xNuLDmGja/u)D3 Y|L7;"d}@%~Qo3bup\Nto5%w}۶' }țzH ^Y5[:߁aCғ] oB_K;أ qe6t*A~,`rlrx]iFxwWAh2,&O{`Z1Y?.W%./?v--]Dd2[)M`<&*[kA6&h ҴOX+f{%-?if|t4V'ߵ :yL8G6k% "\%t W}ޓB#F֍o7݌Ȉ&j2"9HN7@ h*3}@(޲e8 1{5뛸8co hG|WRe0sLy{w,,Bh7;2o{Gv_/j4`/~fIz )E߳%EP5'9 oެ0ՙ{]ݲSXe:eZn $e7fu/IQScT4k,.OD0`y5<5:ņaMq;ws^6 ltwqr=c2Fo0Xfү59'сz- ξkKX<.#P]`6, ݃ t}( 7Vr ̑B6hP[XzDiJjԾG?fEDh߻!vza WjC KE}吼o0`f˃#f@f_Pq!i坍5&cE>A *Qattߢ)U4(3QFzԴIl }{;O%2@kX*̢_'.n*mE!0Uf5`TU`#5tdA_k*[2p{|墘d'"DGw2iArRNLx>^=2HYx;ϲHb"`U<sI V|%*DGC0lD+Gjj/&c(S,~B`ٴ)yKX64,["V@kΚhՏkh2"ry7 NS]lpKBO1H.Xe"mݷ̷rzC=pWg{4{LfFqƬFw?Ɠw1cS5 08}gXl=}->#5W_,eQL])ڤ~lKϵڡ^ x dB\bjn$uj[q jq>_ |\,Z1 5/pYQǚ )gOL3HtIh`}@oqyM˥4+W9++A \n{PxLo,XEG -:~nʾ1#VjoSކ? ;fPgŖ~Q\E0aVm=_3oOOyMF>ߍf8b-s"rӻ.l1J_oSW/2t|*}VƏmF8s0,PsE%;bQZk2Bc莗qo j6 wgչ'Kel~%R`}9?vx`Q'|ln}8]D`:#PpT Y"2OVe|^ T-mLxm·o=p^vB+ +{i wR&}}ޡ $8jGH,eAbO袼r-ORy.#&w҅Ox\)tf@c D(eG稽{Ȝ<\iK73k!_%A,[l^#eQ€|VL<}l=n 3BYe)oK,sѣIH cO ni>8F-lu>Vo9 mB=e|idmPUރR[f 69 b8,53}OS3܆`IunAq'WAp;njĸ4|IrHmv1>jt,\p8q\ż(L?h)Y;yLYl>I cczCljcjt b%Sp8OA"$􆖏%2Z\N6:.kQk ^>lm64sƀ$J2Ǝ:l4 CK~j_mH gn`̇}=XQR=)m°_=d9;(8wUU~"2|??2Io>g.!Xm.jMZAI1ȡa?@bt9"՝έLY~ A]fu挾{>Hdr|7ML2V0d]cƫ=n_P/5Vh&Rq$R?PޣZYVӸ <(>ﳩ2A;!4]>dGuF_1LHԦXhDMd_n]<+M1ʄgA$]e#.3YVнn̛pYm!\q8_4/ᘪcb/D|,a.frVd]aǠ FIDVo$z|qIu|˸zH?S >$;HRGf1:S&P^2fxj#7ҟП^UD}*vjhQ>V6m7'6kbh!/^+~>dLUgAƊ#$[Heq+|%qU,d~ r(ϿNTSy5{k26bv9EYtKL;/ JȌQ{1}]B9X'$C94NF4"WXk iE ;[ ʐr?U+Ib$drlYf+"0%heX̥kŮwò/^Q:HfG; a竀-QH {XZ ]Їf?lLǴ9!'W>6KF[pF=/6^-b: bq^ey ݅x)ݺt=5J*O^:iLq迡+Z!)ll⯟ ^k'JLo`mAT ̘ Lr㉿.#yMP%7yʑwTehvpևSWavG%%1cu+^6,3qQ%).=-%hh]n1OW9ǖy&ۤV), 0:+CϏDb,iǿKJ %.|tORq~wsj]o5\)$9.K;gqA$ znIۀp|O- a٧SuwKx]f<{,'H*hR~&؝aIX^~ca U5mq*FlN= Z;+"lcT H!}|ɍCR+qpbgc4xdkN [bO@wSΗ*HvTA/@擠_(|ψ[#.O8? P(襵t~G7/84x.PGN`\`T9^dÌ[p1E]m̾4 d)Qe8KÂPcWh AT\AƤ7"lRfypdLM ΄a J.ۼYFIvX: kaI_:K_CQ7|sG$M:7C)YôLZx蔅fR\'[d#' 9nοYks\ c ֢!r0} ;\+TU!s3:a۩KM, 4;A#e#|hwGc0&f3t/fZhLcÿFiP\r ,pLf|iu{piӈ@V&ᴮt+8LTt֊kP \^In\VM%08QQ/Rvˢɠ wŰU&TZ|q.6cdymi,2T#rJL8Ds~/ߝ^n=rdep͖:{׻m2*郏P,4~!Z7?WƘp2U{'_]n1A;DI|eA݁~obS;][= kB 2yz6|ԀwF<0+ 13 !6%NEҧ胞Xfb۷~湱5:>?UAC1E*wI1WDx_Cقv页Njh󆟋#׌Π {\vA(w(8u >&AV:dpͻ\Or7ڙ%',cl1~!==p4;`j@Xu; hfU_'@cb5G:") ^Mo`CӬ$/;T, sc@YOac~mԻ[KOPbX1Cd^,IAk֤\{_BzSW J﯎t 3r%JT'jUg_&͆?|'ˉJ&bmP=tΙJ.Jn)bҚ{[;Ij]P䬛{eB{%ͯi~|5TUת"eТ [O4TƖj28`p}. 5YRqNv!Wm߮u%C=UQ(FٝpB_Ӆ_@ NlՋyodAtf.ن`4,WVObاf>֡P2ND\+q*b/=VCwb CV/u$w\ϷY,Ya(_qbb|Y?'ԠBM6f$NNtP8(ygz 7 '2Լn;YmMtq$/6UzI?G2%=XҾuߴ}fo]?t2*/d۴0n6/z글XMWӰ*ەUs]P nA8$(*luZgTHҋ߃SE'|+KK9I "HZ:Imh^1>SWsӜlVxҡ_%!z%7K9fiNlGX!:ќt9{|U%g /NC1M0|o'm޸7Wbcfj~ hKlj c*QF%x[*d͉qdta1MכUX3=,zR2὆恿eOPw]OXP|b=ޞjm\$Ӵ!yb v+֔?N H$C#$俴Us1CClNE*uQጃ#b!w|\A}3j eG1O^8SLUqfb 2'|lqЯzh@1+KעPTΔn]_>RzZd#_Nc'-N IK3YL|$-%Yଇx'Mf{Ɏz OuZ(3$-vFwD"9+3GCu'k ܳ䷭Xf[xHWatgR" Jj)il;> vIߜDh3QkPEdw> b<v?XBgmT~6s{굧TIlvVi)uAd~23Y `~l^y}IG$IG)[Շ ;BK$˫6:S8~)׃M^AH,jZT_WX?A`5?hZFy-˝#w :GAuY"0IX]~|tPԇլh3vHEu]X 1,2GC4=zHS4߄oIsk e1mRh 'ʱp;?e-L7\GuڨJˊO>{/2ȫ\CbWxDSI/I txxRrD#LbTEGeIVLF7Gȝvku(W*76%ֹ~̅zEGK9ၯ;*rL>="V=W f:$852lzqk\#p< rhsOLߖF(z\ up@w]UN)wTZXh~zmݒ(0ŵЯ6so K /۞$*e%4=_[=Z-En[}EJ-x=|ZJ{#U߃U%AYy43Ś-q;qȅ#\I^$>֥SB8ZA.~|qHRZax( _FN?e{oSqڴGĻW7{SWAmz~Y]'z\Gh2R2t1uuuC>tA,R nҊ%n,z cS(|>[;) G,ς r*K$DK}v.:zM"@h?=:_$5/Hn|\?O翋}BXji +~\:V'Cual!2H7NRI; 5+_9GAi{c gr`+EMF} Հ9v$X £{YJ7 Zw$.q@oKxe@Bݿ#u ]@ktN3kOi5ʜtO&Fby޵L[5 Pu;-b~1pa1zQ= 4RnЮ~ (=MH z%`Kqx9&c`&sx4@L}y-Zy~=8PA(ݦ^KRdàrjA 'cc[Ga#Qv@4JVsSm*M A~t6~-40qXK3!,vHq^"H@{Rd>#wY:bɿY@Tpo4 /]A t]yy4b CIIoH^̛pzqsĕkoLAy]{L*mY$PmUɝ&/M[Zͪ3|Ms˪9Bs:%ru$^3It5TAj |}Yi;DIboiSrrn?,AkĈHgjyEu\r^ P,PJ$yuGZ 67&¬K7v X4_29bmv${bIϽsqY%xJ"ni{Q\eUDn^H5 H@ͻB${C))s[JDS?A僑|_>3_F=.swZdg=Z [O3Im$Ma%Y̘nY'f(i_]0ػajHaI{;fDةi(~S.$IAcԊ@ "YDtNKN󓆻7*XhI8(dޥN"09ok*LYuMXÞGWYA7NFΓÈTIf0@6lVW#ob`0tx=ezoh` "[J#DcˢSFa8e;q9w^ k=D+sYE6b'ˌLOg:$n(_y_䉅l1۫m/V9cAcx#3SRA~>; ȨK#ZOKǯm@ A%RR~~:m<{yS1„4e]kDp0`6W;UZY~jW}~/$WG zS\{V\T. A*oÖ'k9Bڮ!'ux-=.)Z:"Hg{t ïj<:y|">?N38k)yYE!`u¤X"ooe5]xVڼ1lof^޻򨈛 $9!aZ|գ;#b4hx*?8 2I7df04GSYn6*4nBRs8=W/~SkjZ. =d2B)xͫvФVA"]?&>:"Z/ 1ZH,3LFGr`7Kfr2x:,08)^ڪ6#` @NNh01׮ϿWbG+Ka=&TrW*0yx$8lSu1ɳȽ,%}952dqUMc O8G~0 gXڟ 6)=lbmGIYoqwB)LP:X&;FHnha?HDxw9m%U1۱@?H\M?LPPCP {S)ukտ19k]_q/Dycr.`ql78Q5 %|&Ѿ;#WǏ*|Vكs=Hz¶8}>Qn #lP#(M=7^C#ڄVk~<}uCޜV'F,h@Et`>Cٝ4,G!bܜ)I22ۯQAO%{0XV2C.iRiSʲБdPQ` !N k`%HPѝ|xByޏ9);b|',)L)_Cm\ks]آ:GSN ʭ_e o̻[@' ܵ͗$m\lvz`2\YFE\ZM1dz]塘籨 b;MAFj&yǔTu29on:Ǎ9Z;yd *r IO5MR{Z)[g46@at>-58B&2ӦH2Nn%iǁD)^&"Ҳh @,o ~ڒ3SR}۞oAΪ( !7S8m״\:T돩7N Zo<>+7j#3BnIZs͎=入|+c|]"Iv(dU=Ss(* wE;vrT7usB _E޿iZ8jSb1H/ݧ++{e_5yO(QlYGi[V ~&Σ0 P f K_W#R>F6N3?w:CGؽR{5dW NtDxS0#aH8/7t$:U3w;Ҭo@2[MutݙrO+N! # |tPʇ2p2qCb\'R yڻ8zyc yt!x\E!p #Eߞa%H[z4#Lh]9bL,l;Xu11㾘(]"/оAlN#:>^/#[yy(89]cT(4[`9.߽0Ä%kOwt{y~~1>/gD%a|/jaYy]p P1.#,i;Mq7?# J]Ԡ>|p¬]T0Ҫì֩QnJѹ!`kWeOWdoģ"sj2p k4D|Yj(lPx#9WH7ujѢu*&Uu0M\f`j L& B%ey_@jnݺW{(\c*F'Tvװ_e-9Ylf;10[q20^O.Muv^)] 'QĂR.J%!_5nW-6$$prvZ}:M**# чd%*굘Vp%O|qBߺG*+ku.]9iCMOzٯj}OuA~(~#E%Ҷ[ap2a)c ܥ89%\ ]derAonں~I8ԔN<|ËǟcLxKs ySDBhPdUU]gïJ}л c|PP+qysLflrĴvm#^?PK{|:='^Sةb:1<6Q cCTaJQl* 8ѹ- [+8/(e{[l/fZ:Il檛GN]٣Ē+o*%HԷe&0;9?713"SLlxF0uS.0X"YQJ2j\/ eH &zV.ϐ k4.hͽ-udž2~:M(aʕ{J9l ߭ϭ[=,h $<%J6: /vh!O W 9ԻJ٨XV=طWj} pIns;KڎgkUTNb漐=*Yc|Hț.yhODy}Y jJx)wןv܅R9uDk|Sƶ=ăFbqaV#eR &߶`72N .g{ $\S0mKt)*r_!Lw͍>:Vc]OYEEȨ-le`J/ m 塜uLω78 [SP<Ǯ6ڜt YuU,koЗrժ-RhiP< _"T ϶n,mXCbOinvB-vB4{woW*J%qxNEB2ϒЌ}g^1SacqU 3јL/yQ%=.@5>w%1aaq2$Ϋ+( ,m)Iv^DGxl ^fR uRm&iaUP2pB^|:҉"$k ]RPb, 9IdeNJ:;oI+Nx7Jm,H9&؀FQ:N+Ȝ1(o;u86ʶt|e0J qK|x3{xsmc>/p(qUiq{Tp|3u9NSxVo0E|"i;/%l ;HpZiW'ygmnCRP* 1a,JuU-6&a\?>Qw5Z+{1utCXӣ{ɮO&+=+_=̯\h]Fwss $]tl ΄!R0/놷JScB@/&QݭY)RE]͹yTUm^/)b6JG4WnDnmA^ Ƒ&%,EAx_`@K` XPIDYIۤv"2^ڞs1³Hux=ʳ ՋcVr^wBx!. wt0* >VP'nBB!Tl'ļ)A@ \zvaq+kbX~ /9`^lsPnэ;o{y^ ~=췅 I_f|Skv5VMFt=FkwWPh&<5DFsYDuȀ`?v_i%!ZXԚIS0cXVhU[P0~F,^JsvuP։WC1pq4>yXaO7la66_^iUY!m*j]94oG]UQT-HDQfr>}"M`"1{Ӄ @3O?<&U?{1F[-e&~wF6kueb[%vy`뽎Y 5U wR1 fK+KQ|:$~͂xs+ ɜ 1Q5>i{kwx$6yzcK`JTS_>2!-Y6f{8lV̮-mj^ Sja֞fdƧ-Ra|ƹ窇9gq ($,χ9'cv;X~טrU^6kE^i#}83z͢#6 2)аfуrdRl[{cVM!leϓ8 &Z [ghh1 8![^Jȋ<1ʠO'+J=39(AN'B>qNoS{ҙ@&GN1kȀ4m l\]rBIy0k-z5@+9@af+z'9ώ)YY:RQ[؍vMئK7N|Lbq3C}(Rx,S&=h^:}\ sz}KajhIg|ŝ/=(xwNuPؿH3_cIB1BۅROW+4ImAAlх"0W.ޢja$ZJV %_X\CbE*@ow.y~3=@ҝ|ixN RXsz֤lÄTX q3^Th/ᇵə'~ƫE᧷Ϸ{dJcmsQe@a]Ob^Wu'|6baE(3GI MH3@OJ>(3}_t;@-^V~HЕ<1}UCc?@50$/AY/:DHʣ>_Iܿib)yo. 9e`>"}eN\w F&.x̧ɟڣl)$l %cִaS øDtIrBQۆTdwѣ^3nqV0zt@>=4Nj#ei6m$!!G19qls`xUw q)g/#DB& n]w+`"$(:.s5\ _Oɇ,߭;}B|9 (hwC}!t?̸ɵpq\PKJ0 X9JI]6ߩHt4h^G,B,r 3E7wWe>ЍGIB͉9UQ)*U"+zFԦ5lp zݎ&y3 1D<:lG\wػYCJйaq0{[-̌&- ݨgX+U\iTK9)a4:- 5\΢3cTw '|96*% zG~NG-4M9Aʰav.O[:͈_Ar9_n%oa$^ >%_.a!d=pREvϦ8EkO6 ȬmI8DƷ> mVS$5yAR o=>g\.k]X9_has'R5'm\VOyrYݔ̤բA0 5K n3s5,j.-EeIrTF3ziSsfCݑ~>w!ǰz,8Vjc\]ڠ7ӷD=CZ9NCYDVL|uW]37;A??Y՛2*_lqFI*Јd腉ƣwDOBf:ȅz k)-iC{88jgC}/EPɏ^|p}?.Ee?oϫ:9rJ3yr3jěcX:"S>]HKw'#j9㕱cJBS/!Og+zanqYxRw" URRÉȧM9Ʀ@B t5[Im.`)q2 M"uqnF~朴oldyG2HEyƚVE;Ӳql uN㪖5Fanua:n,cʻ *bHp|rG^nWdܔ.h !{l}k3gc1t!dEU+ \~k;n| ^ 9f|EgJ-jk>,/ic΁q[dỎtL22cwYwweh(:;m 6 (TԲyrzI2J$sA]?o?W.Z ȶ:3m+g*@Vf͕cq#}ݘcvq1$2yUvyD>='.cW&E}:_Iٌ Tl*/`H`;Zajѻ.[̩<``u]tdrY/;<ϘN:7,nO6bDJS&z$TuiK1<8<7bLMxX|j0ąBf4n6r%TNµ'VO@xb9mdXw>}&dI42䆨2쳽46pCAc uZW][qRv `8 .k!mD~ʽxN3mV" A𜺠vzbJ`$'b~kG6* {+a̻3оlqfm{QWmLA])?nAyw(to|n r89P7e9*-<ڃ4n7$0B6FH2Pâ6 t@ٟPmi; ==PӽCD1N-F,ZSRELiwx',dIKKTj͚رj.+] ) xғLf(Cb /L;YiZأ2m{ |?e]st*tf.#NC<Ք9:h0VG_"7gHͩNꐽ`z'\ Xof$n/OW_qsƢp_}Un׍~&jq`N|UG Gb{b/P=]sk\~+7d:ZNiTC۽WVVԦ| ^z}PVlZ;2BǼq0E[ǎy\1Ǯx_ 0O *ޘ6:]_>֮V߇ kyϔV˼r%J<p<&'ӭ_йMɢYY8L*dW/DosB>VὊj@13`b8^BKEiы7xe}g\#"m件Ω9~Nspo3ˌnF%| J 0 όd nG۶ܢ>-f$P3O|8Qlo sWzJ%wG}÷o] "{ݲ}x(3Oyר=BFҜx+Je9DW{=ޫ>V3Pm9Pfبn]qv񶻗5e=!j++{e3'l:V=[&p'w#{|w8`t5:.u.syn,:[t[qJ];Q >L`@N3Gs\Xz$5'ykR*ODގ7%G}NzP~v#d\L{*\f o:L&J ?aWvN6N9yKQ*>s78q)}cRF  1{8SsbʵSu842)ː7ChKJr7q p.\_z?(6y1w_O'uZqc4=~GŸjP/3km,k/xUͮ+cY[:RL'inV#7Bpr~; pkW(K(z|al_\.XBKh]b@ Me5 wt~/t~Oxܪ',[0C%yt4'p׼<5=+SOJNxigc)ekGF:H1gZYi6n@v랬QP LhoAE\ͮ5\d[̮m}:g68Ǯ`/Rz$:=K&DR`G,GkW YsaZ&R*ʚWZVV>yUiΈ_M҃:4k~{)@1N>=cq_$yu]"=FQ~lS\t LY+HbIOR '%9 ެϡɣ?,JQnTV_EQKӂЊ6R[DK(eA[T<2pEPR>4S^ m/VdH^/!9!X/GP#|9(a8}/)#mSުB)ӊ)$C.O?En`%r(Lj\Z,-G#c5yQ=*sw*Touw3)Jt7-.'zn7up}7+ھ `buZp(ڼ bMn{׎ɰ'ftrۨSƞ$ ךa-LWήL.7c˰;-'W8(w n#J]j}?߾KMOP Z|(BΎ $r"kaIAw Q_eUMT.U%y0.˲мBw4mlVVX(Ϲn-0uwYV頖!+KʋON;v$GziZahMhsvqN0]|v8=ݞ҆V_؄~,TfUO˺9Dbca94+U}k8( ]/!Uivnebƻvp ao҂bCJvBc \[ fԉ}|wו@/=MC{܃i]Vm-W}p>LE醆R?QρNp1GgrA8WW3?$wJ̵a"|.-)Cw |ޮ vcUV_hVQ<;\h,'.]?;'0R+]|ߙF X;_$w {j"p՜[bY1C˜d,yWbN#׮n$Ib< (-e|%J"w3I9&N{ovȾ'){.,اvZ -ר]e-w{.Z:4w\t_WVfO?Er)ܥ%W]* y>; 'n.dɊXlqtI4Ӯ ATlzm([*K衎ZElbsKMŮN1 *$Ls1!Ճb(rWMs*W>7.=|߁߀/ץ9Ѻh` .vv~1G_Vrܥ %m:VQWw ϯIݹ7?tO߬O_bq0Ok&)i>l L|JIfڿ~bA'+i) oguӏlge1IۿԻobD--S2gO1hXlB4A_  UD)58|A!짂3 8ߥ_8I[4I.bndW=H~g'YlYUuv?ȇyq73;EcG& s~pq-ͩ.o|O:ؓs_nk9Jq]Y>1mʻ5?ҝ%>9KW-ELO_ðyZ{!O^.i"[0_xƅk1NJsf?'߼e?Ȋl!?&Nj9uc6 I_/دߛi."/:˶]>O<=7  .1NhEsA-g8朁靁[S#?Yjd1:Gs˥_K7fg%\t1碮O#+-:m~ >a.k,#0۽x'ug_M'ߧo?}o$"R\q ?sl?OpFO*S&oIB?lR`/p~'ϑ(E/ЯqD`dз@_oI-iBE/??b>g 8`~FR?>E1ܢ)` }u0 П L0u߳MP _IV3rZ3~Tpa8k)cNt}5ҳ$BxگQwS&I$?%)9N4L4j3.k`jp̤?>9}w;8 ab 75-B>p c'y8JB'>QD<=s0*O3tι {ԷOFӥI@c'J@$򳭓A:=>m_?:`tJh>Ql|A'8|AΑ_g7ik§?gүݧv O}rzY/V_(BFaľo} 6zڷ^ NV!8cXG"ط!~qzD0} $kn}YӳFY&i*9M`&;i3Jg̐3!?q?|[?mD";bE<i(8Oo]q?˿ aǕzП:D?%Vٯ0'G`YSԟ:Ɠ+P5Xs燐Y:q/mۉy/G/ԏL~̏Fe8o%:~Q/Jpc13oJfiA`)VM̺ḚiWsNn9dc>!07O{RdL2I}VY˾Մ|=S[CO'lnb)Σf5vfp#B$ŷVL̴,He@*ocX5/ryXF!Ϸ*{4uI6%D1JzL@t+Mh-9ΰ)3_0|/xy;4k%*2!=8dW,%3Ӊ˧c\vvEU6C2>B_ٛxwKXX&cć) ͹^4̡VVf&pN*G#Qc4`DȚ,|$Z4p`&\8Q)mSo%}]+w(0 rH1 뾐z!h¹3!b{+=go 5IpjՆO ۛZ-}F+e(|aGeZ3,3 AOX:+Z [z :жQ#tT!0q'_l\Svt D"" [D ܴ"&bs ~ evN1>f^kö;>JN}pPp3{fy+w')) [0#=|L͸m$ ̆|`9:.ab 71wW*v&e cvgӜ YhH.OĕuF z Ia8&þz$_(m`e>Ui:KKtiqrv!h `P'Qbb>k>^j>Җ{+a:Ոx1i9s遙yMjaNj\ƳrKwA0g6oUlQTuvXgH:&.dEbLb} @Dz]zRVu9SyZ0ibU,0e+2fMcPbC[IBC)E`D3MfR~W;wl΍ +cbxםc!^x @M'?|HnlUjKAnu~^/GYdnxE\k\nSPXziž-wb^xOK_;b":zd9yNV!T,AcvgF cq4 guBiE ܔ1-uB%>bu q${T\={XENr{=-4J"ڙF0hX z9n;|XGm|9FGc/M'|tl MC68hWfeXOj%W3De7ί԰ ԨEM ^kUf17dޡ#C!Ta)vEawߑՋ+,jr%8a2)uJEvNZ*ĆuE܏4UNy;%lF,;Ȗ߽;6$jG'VNKۃR=/z oᪿde[:=m~<&ogg:-tϘH5B͐޼!I+yC! +fZIbBn-`Wuf Y|!E芃~ȥ;c6/r:bnZ!PFLi)*}r>6i&n|=/R0;Uc<3SqxfXZ^qByhīT%EGHvQx=.JZ读Tҷ` u?T›7JiҚEp/ZS WސE1Қd *Ր '- az~W|wUa4\R}Mr|sbkOiK(B5@ q __x~d:'K,dwn[$;e0fr@}s+" Bj5Jhd- @kMXj6b ٦yiJB;6t1dkGhb-׎=eStcEnB|:2 ?ְ -nЭi.gjۖQtG{8դtF&|Q `di໥lJBx`IP/ئϨ ;eYh<Бbr'j83D|+^OݺAl=2gP ${ó' .LvtҴ|w.\Zul Z]J- .%[Ѻ1K[pdʩ++3,oԨK8ҳ i {-r|*F oL|e"[v~'+\ \c*T7g$C8: ?u m|\'f) J:LЫf P.[s:A|k]0oťji?b$BwTI ^0QuL1+O"v#sof\kjw'm0e52 E>; 8f2t;;Aqe1j?Y( 9E_fyؖV%:N?;882ې1,Ip 6S 6F. L jbSPx^5׮cv#21!_rHsMJ5?Id˜>N]1fQ~lrؙ0*1X>!y Vm7ksvpI|m(C:瓜"Sɡ747mC,KE}]@t#G$(! =KUeB8ڠ3?L`֚ķͳ5_GYd1kdhSgN9~Ee8-矼;|ˋ k;XWm `&C?SDKGۙk:rV+Ζ :fs$$g^eN:E4p rV>k}qoY_+L4Ж T/Эj4=ִgnFj[))9z3g4t̙m,%{exhtϒqUoPQ}R'#eڬP,oxt[e4K፼Z7jQ|&3 E3δn,ߕ{77؄:a3K5ŕ|)}QPCyDM㜨b Tvsey>axX<9F kkw>L'N> bvEn^ocA2@OD}SuJ=Br!DxY(F:!(ޥ\-+޼]5݌Aj1x%˵\7G!'S pN"_aN.{x-MS[Si XGOVrƳ)(yҲڑβKiuY$J* }߇H#"L[ ZA~Y//xf@ߕ=%j\oT;b+ 1rR8eF l*9X5[`kIvؿ o 6۵>c}-/g&G\]o+ꁎ@=;P\x̜ǠxwlJ'tIYlF/Ѓp[̔7!q՚2UzM@};=4/4< '5"w:{bd oқ3}@>'7E/j?q1P sMi/5No\wC׊3hG;mDBp_#;{[!Pzتދ`[4% }ٹs#yzP-)̦n;^1㹧#-x$rC +qg)NSA؛2#}zjN~ XQ \m<`CHXp4K. \PT`D5v˃>/n4D!.LZP2{$\@[+h%̈#^+]Q[䡷d$1NAuţi(OGBﻠˑjy8<'u{AXW2 ,?^+ K{+E]\0 bEgrO 5wO=]k`vY27G/ NݓEA>@=c}oЖ1h2 s#kc[ c>bx.q ubVğau_3Qd9߆߃ɫ<tݘ993 %d+H>k̸ƿۡW8+ln)+}%PܻļGCr?J^;[HnHL18辘hw͎Ua?]GCc@=)ﬧ2z9q^*С*t)ڲ*["\Х%t;I 5 2k)1d'81SƕD? 6.S2-5vtXNG#6G̚_5aE+ػ vxM v^)=/^M7gqpi \M:ڑ(omPP9iҫ5jdyH>!A6t^p-]1hi ab&}NG\4ɷRy2[[]\hvD ˩˄ЅQk@ ёFo)4O>?>2Cx44Bb PjnLGĶt#/-ʼ|ڿsVu \+FѠsý6NAX"WCPJ1w]Jǀ 1b]/ׯnfɹ5U&CGK`Vy\{>%t w4lɍS`#)o;E B̡bK}N({Pz>ksJ{gVNW iz0:F<)*u{,t+6=qcp2Yu1Z:.c 2y 0Ʀ^os]{s x<x3$>!t 5l3 *@s<%Qb6A52we>go);kbLju!aF#{ ( ,ߐ132/İr7՛ퟨ< ۠(Y1xLz@l.'ư!J%)u מ7Lvz+J\|Kw;{\i1IgFkt)>SW%7y[ӋDϚ?2}|59D$EU}Iwl6Ԑd#ܩZAA=n,;!R/tR8^%c=m+?b1zׅ:YPEIХ3ZҪ+ǍrtB7ʯOSGYV~ݜAiͪa'-W3z?9c8e&7Yt3C^E+[=@epUEBCnU-ĚL= Fmd-Ž4ݻçq hVP;@w5I})TF@?)} ]4]^ɥt0k 5ITu϶L%L{RM솋mx&V8;sNfxQaZb~:ěW 17ьmڿɢn7 ?A)G~]˒q$it _ м.X7Y¯^ǎ"Gu|bTh=b\ +F|es{>u_tjN #59]់a7zQ/.U"?Ziڨ .pC}dc(Jb3<@~X], ЀoWteY*(҇\Ǐ1ܫ2iVZ=m$SpS&*!{sh vBlJ7ܫ +$r_>tb%9uK]P|@ĥ+IiiϜlX_˛}+l4bB߯2?n9: Q܇2hUt !U"|/DS )v1}ˆ^t~}#2,*{92Hx*OSq ,] _AfV?bazI}Kp2ě {ZxcX̊G30< Bﭥl|yހޒ²'ewzɍ>PJiz>"j-,mX?B͚/:JoC|:cmHwJ,ݾ;|s :vle)V tfz󯲂^h*>1qtaYWMӥA8/5jjW?$ٟG!Rhv\zA `|!躹xDsxP O52dm*;V2>v6!JO}NH=^8V \ +,*"'֎K0Cg6CTś]&t7çiG]+ ȑ+:io ^i9&U7uY"I*0Ag oSуIM:|#`+'h_&-N[rVNE6!aQAom>𛄦S(44Iޫ~| L$sxddsKѸQ5tQqf ۇ+~ekLO;a 2_;=wƟ~z $ ^&9XS{}: x<:!T=)&?M@*Pe0`)觏aΙ.UL-T<j7Af ʼL4?g4IZ:oKzu=/s!6.)r]\:,@Sy2Lz(+}z7IhO0+y\:,לq³_Ik"ʭ8NXKڌ!}jVd&Ft2W=Ut;ڪZggo6eQGCUg59np $mkX4<8K SߺŒ(?*oB*)4 o~FG R \g'}k{ڃ}'{@m]OܿM93`RrPЀҚ3x';-8wc/Rg@|e#AN1V0V~q}ÙĻgLmτ9Q/jz8fqmBhٕ^.yLJWbwŜ=u;j+zS^t #?/X ,y_W!hhyf%UeO#?>+9dl)ק`P-ZP}Tv ){ed^_ @Ux¢W~';,vSHWGf`D?wDkBgNe{M߬#q$ RS;XjXuV(/nm4|yW,3{WgC@4:#96 6iԇk; xߡ 4 []6;FsmoP͋ʴMMd&zvĵ& TF4F|޸o!*Б# :Si>p4mv1NrR&돺4Y٢v1m_B5aV,N/jt^S3)Gq9~sQ>&)F'οrR[I;7)֬I^ݍi@g9e`y{As`GUT o/\%bXQZ9;O Y'w[T͉=F,K{%vϘ:x}10ށHZ+qڹ*/B z;ݬ\΅V%L9137Gk[znr?;X5?XMYZϚ Ae!9HVhB'RG+{/y:5JJqרjSsWGܽ6C'M3ȗe[W݌x'r wo5`3N ܎};wʰU_nҳiԡ1]bC?pӚ6*|0Q@V+I,ƹ_QH#<s[\ҁL F -mgyw+fc\({"ڭW{˓3J[:aMi`FhUx5?p7k0 +>BհbNهm?2qШ7sC ޻vg}Ђ#7<;xÜP}/¨KȖSƾ_Ro,5)EDZ$K7 4(FQi/ [ת'u{`9ݽE#GLW/ʜպ=X"\-s1j~Տ_ -pg7 e}OpUGc}s宱6'ӕ3E4k\sѷGxjoQ|wJ5/!Pv&矹0;t?2B*NzN3 o@9y`rYEfZX[v?QOR<,.#MϤOGF畦 8=]@p((GeߖےYj o3L,'`{orK:Ak\j1zrO)aݞt  'ѴMe*;Pn2 $toum" p `dl6(fx).EE 9 ֯'C؛g'6e"K+십z,`CF&BR9e|2=5w8 W$U&gurq?`ލU+G2b"FDJD9E꙳ۛ9[>Zޯ?=7fD*޻t3ESܶ$ ï1u#< M0V:wwt`@[KSoy/*li392_B"z6ZkjPԥ {qsxCަf<'ڣ6٤oj-mֺU;osw #TTHZqb8{ҳ a"d_}϶ ~^#SN8u50s 1omSrxv3y*L?+ϯ?ceە 7tS~AAc=of#ŀ&f9y|F''bpFkɚȌPݣ1v8Qvo^zjnMu8msR(Rm;9m"iMET\@u3vKu?wz nlM_^uʰ$XJ 2;i wQgF;](-ro VtM٬_h+,>Oʖ'k7nml$*]o7cq˒B9jtĮZdđƱ5`KkY* %v[.'aZ FAQX[^s\_ʧ5)tZ]@%^5B9bКjl=Z,4vD%fyj4Z,mpWGKђ;Nr_p4D:}\lW1qr_/H߉1du_t%ꪊ !(JG@mv|^$I.a:ZHKGQكhj'3]:-WHX2b+F> rr?LD ;#jfWc*cK_M!$yh;_jt}k؂nG"{Ul6lv`ռU!4b:MCo^Zwp"^]ή~y3 EKsUl<;QI#]{F"طBox.kb {vco{ʇ+1KIwEHCvK*:t[6mFQ}*rFRg[s( hQw,}{SΆ/ܻI#z] a5;n~q۰*qe^+~&7#g_&rKklns W̯{rIGqA@_-4>Vod!d~#M"XzQQ 'Uzg Ir̭dm>y!M-C$\b&#|Fkxt-{B2NΤn\um|xqY{"MC<+/9Ntkr:+!y|2uwHpLxxʼ $W:>r9‘{Yɞ@j3+V,h?9!kovTSiЗHXK-\em' #ᜧ#CZ4ChJC흏k'#XjFXHEsv\vEOmz޻s4˂;1OR yN3e O;,,&_N)c6}9#^YuXskseiV hZnT2W3帻%»EŻ)bnè9d)TS#6Ur|̽^}2}=w%7 `%w8dM;4}f?{\e*Ks2js *K<49/˓~)n bCF.%bRcET ӧȲgږVC$F1Zf2vA >NXA)u:@)a% v~`! .}Nvٙ-Z讂nШ%uhLv#GvzqbY* ")v; qV3c~^ùYt t{k_ՙ@۫(tyS'}8KMSu5C՝׻-ôVK y'H aA-cv@a4uarLHn_P{YܞGRk;4o2R=Zkh,߳".YxSzuoHvRLzݶӤm8Ȭmw-GF|>+HG~s:`䌓<ZV<\w:YC!ґ /|-}>TͳsZN`$'-xuG≥xA: lXX "tL>(*-fzK%o+SCd\'9[LmOЃ5#rD;qvyv!Ep`, +>=v%CN0N !C 1-`(UC Tz lG/̹@id$Y|KwzC:΅ bܐ$aTNkGCa9"c"ȁvj?Zw8u!>v4̔B्n]xّ @NIt`(ٟz/b\;͠'K"8Rb5e$?،֝j>0JJ2(ecel|"!sD f{;hsAqzƜ؊fN2)u+:y%vnx9͓Uk*QOX! ӓU }._ٝq]˱H%hlaOW`VX3'e\g3 mMtp*%RƼ2~˸ybBDhb,SE…񵏌l&[J㾵jȨ$[ Kuu;';TQ@n`*Gȼ؝k7KortmSuZDيCG^8YA$TVAx}g y˧KDQnɦ 7d1G]%ylЉܵMÓ)%C~*wuʮ#Z-S1oԿw;hR?>J~ 7𴇝g"vsQXxn5uvEcz[}~uG7-ld~I>DY*HuN 4S mgT~5p&+l9N\հNUXB-h|| yYO0`DU$BFem^*)*M}7Y;RD!ƴsN%81%ZW )Rqbb_qRQv@nYvyzH%ɋ!IC?`,\()ZnhJgwB.q~Kr5mw}|1#}J6 y*iT❺I}eIKKߪK#2G.h6:;[f&Z!,c? Kzw+ t3D@FQNn-AB 5xڔS z^,#t{がwI7s'H 4:J}8)q5|A4O굿ܪIA΁+3YB+#Zeם'[Erҋz4SGObaC ńD~7R:ʆ iU; ^;5i|hqP- H+?{n9u0>OzZvGX%6{Rble:f7`f5̚cܤn^5fR1EBPȊR=a&zݿ nqzT4ŊEWz̜+[Gp&m[Z{ 8Ԥ mqK&7;)+iŔl[9Q 6_!H+%Ļfm|dF z[&td4Q d%rzJfg2H~$HE+ p'-9HľҎ-صX?ƃ [.AESj Y2(BVg3J];&&g;W#h IvL7y;LPۮ̳2j' wM (Zzr1,>$*x_][5>LBb dKt1&lk` ^0Eɨp?qR6^r ηe_w@zy/=9ָ LejT˙8CHf8[-Ix2ݸ[ӛ4L;z&*hTspcfheZ@։,L}AQ{b-0qz"JZn1sޞ8[b,?$ܠG,'_:OG帋Qߔݏ*5!kX w}t8S=Me'dGaiSX%J]zbL +c./ ta|O55 Anb=e]VbJ Nyz ϗaTXJ;r7XNLZ\R_5ۦ5"%19\&9S-&xFAR@+Ղj 6fWy%6fd1< dzJL:p:ɉȀ'E{v('EdgqDdDX[Y+f.4km$AL5B,9bSiS$D&8.!/s群Ui88Z;}0tJP <<΢0ԻdB`>dNa0O-f-!ɪq%it7󐄵b󑜷qFLiDmU<>kt(5D$OmejfiS&ñ@BZ ҎC=ö;1Gf%HtdS ?.Jw(E몄+ㇶ)DߠcPX# wa.> SëBjj9]YCqhAJxϰQJp:'W,уt=1(ՓC"u:kbЬ b9us7O={9=3`Zn +㟇rC$>Ybd\äg9ĺ|^y>RFa)ABوib&~N9r+Bɱ,ZCO:qj@PdhژG:W TX̗ƾ綢,l~aIe#&-cX⋿>dDB}#,C3lEyWw4piu<{' :W-_Fu:ؔ+O-QO1 "ȄVb[.#-t/B,[ZU_sjFvF]LT!.d%6#w# (po%bWy@ZLa|hN#6|D"-bM㕈FQ)=΅"a浠_|5nTX5~.rl`OԅtJDǬYHA-G.%K*Ɯd@!l\P%N # ,&> 8)`@T;h[p; :&it'bʸs\5w ydERrt z:vTqn]*Ida}ZiKԊsX(ۗj%:,(BY4K;ޕ['!9h)WrO龋@*s.7 ^qjwlE!w`^jg OSP줄uSlȮNq]GkK_?WK 4mlZ1yknOD9I*zA(򧂟ʐo^qPoe],Gܟwz}PbݟC?.MQ([/,JW '>@A_~; ~t*Bke9n}4C/~;AcIpT~=GOgQG} ?’K lğꗶmV'j5ce>Y@ ]6A_/_i `1#7b8AQ{; ->U> L[,'|u4 '~#7&>0I @4K0_RG)uk#hexaXe d~*xn,ߥפkzvo41}0^7q2,mX?:De~ݨϿ'پ+ڻ@'k}di7MSYR.?N'1@,O]4dNq1 2χ_8p4IJCi׿y1׼_Y?@gnU|@o@9ߎ "i2Z/_ 烢8@O1F@N49\`@  Aқ<`X= Q gH+2/%_͑#[h(I}!3$mf?X`b%8@ Q Nm 〉R׵(NWq+n|2Na #1z56D7coxB`4q=HhgA6XXE/$GT@+q0h@ aP>517z++AMs^}`( @~s,!nhp4 ~Ѐ lڈ^=Ʒ5ol6l u[X&6x-He~jc>P }bPv84T70N 1ܗk[^8Z|̗s+DĂ ;GY?  ZX@/tW߰OIφ]k././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/32x32/application-x-qet-element.svgzqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/32x32/application-x-qet-element.s0000644000175000017500000105246411200647463033137 0ustar laurentlaurent}Yw⺶3-ɖ1}:_J$TB*Zْ>^loRVMvݿoBMdo<<D\'U8l/^~8.foxtKhv`Vr~椬{3h϶'/*s[mޛ$UUs"!5“MGE(5{(~ؙ큧l=3ہ'oG9k|AΣkпjjJw<KE^)ԃ߿ё^~E>]ln^`C򰷣䑅N!D^ŠӯW#;mYsvcv P,mk^[Ok;Yl0l/`7>};{ LKoIP &X❳zm`>'xr V^u(V0%g)j^;MJ4Ax~ȞW5T"M/j7&LēTx[|ڍ6W"DrETgn5r\F#)R(k "+s;w?ޭ~ab,|,I( jferc`JlEc2H3 ϭF_-IopQ[X`v[t^[4(7B\: RwӷLp#;Poo=|=mbUbe>qQmGŋx(Vc&0\L|}}.FV9`s>.IЛ @2G_$ tIEFmw񮫈7S:1F$a#`Dz .e+=SDO\!* i eez0妦W0')K*=%t:xU<~ƞ rkZW~E Ԉ2Fe*)"X!˃2Q S0aiE׎23XVl(ndE/>*7v` {k aLe# *8%p)9a󮤀" p~3͂w+^tDIQzm"ܬa7FM]_鮠8n^ }OzDܪEPdI64wJudIY 4UOE6WQ7'{ 5DeDF 6u[<3ɲdȪe,R9*>Ɵ||A,B1CIeIaW"t1Lذ F.*'@? /(FG/+eWwHWAw[ '^g^'o%QDzSQØ?:Dy!5@3kA!jE Q?sE!j@@Z%TʿT|UdZW!2( "Y oDg> |"(1L0dP!4+B ѿrQL~)a%*@Cʏh@~a$? y禀/z9o śpy@d%S/8K v껹~&RkwDcrz^i{ou zzg$suY{t Y {KK ?O^8_,y)Te9Ͼ|}gFT(Q{o&F'w!d wc?}M#ZU(97I,2)<"@,,D!V.| Ċ A&ĠF h@xq`cPrB iU%1-,*1c J* `|f~9#RpC ~2dW8XCe*⿮'D >?X%p EQ}flP.s"]S]| A#l vJ^xS'K?az/pOZ?듬cDĊ/eKDQ$e8E<\OAVPRz #z^cĽ P}r $_]Ș ] jSdO m1-w@R2h&&`AzqwՓc_ooHSb|D(P4`%o w?WD.5j'\Y䟶JUtosV*]^-gz+{R%%NfwP:}iXtW"W~ힼbXVnYR.!ToVn[`"*?L6w3<7y AS#tњQ{|Ι=w%yc.:>kfRG OBy;xqnAOC'9U>;2B[(D4C!=#)mMx%MMO^]}66?4ZپsJo1, $CRޞ򖸼E3J]4!2B*p)P#W ޑAjf9W_GVχ>w&g،f31‰??#R+]2 ?wAmP]dCB=Km>域Vx}~38Ck򧙵*Uށ;%0TJƾ2#4j vw:wj |-K70}3EIUFn7J֋Z3U$o䕴nѯE/k@"!rH;LaަۂN=(1vўm6j!%nE4 u'-/}p o_1xj؛m.}{[,k\.&b.];LEa?dAk<I@[wH !ʌ2子CDpܜ&~4uGF!f@>|Rް)7^JoxbpJ2]yJ}_&cG{5xuLoIqp)y +Fr-N}+Vkd+U>_cEܢ~C&5U/݁t;^56Ksu pNow37+_:suag.F/|9_'s*M3;l> ILNWG]|34II/\!!`S ?(pxVhdJ_>,Xqb$g<xQҍ]Ū(hEU(S VLbV2~8! J$苌(C`[i-ij! e$V(~lV~BcR$"P='P(cY=}xH HyLPIϠLb0|B(n|1~NLԬ7/|l,}²xU"BM`}4Aoy(kex C$ Be%K*M2Ï*(rj T~ z ;RZSFX߻ϗ9P&,AIi2a²p2@DeYF`T~ʠ 2P{P S. ʲ/SD}kKOJ ڀB5>'ŸCVNÌ39i(SV{QM &/F/kx4AIRY,mT%@0 -ҤBOd !2$9%I"+rAh\ߘ mxv;iZ ! `r0NG` v|V{$ |% ayBи)A8#XS/ PRx#S4(GN eƃS:+2I*"|1X - ejJ|HcU-dK48ؘ!J>BBnHH.7%O.}ӌs4%rw eJ$#Oz)Pd_KTS`8E%)G)f9QM9PRT*r ɠ 'ΏKN%>0_`L*ODY~jCg>蛤T ")H7tB^GDʛIVT்^'&I)@b@a1.sD\kS{$P"1>JjNģ҅"== RNE2(Q)-#*<,zEǩeX22\hZZ-jXo_H2]H> ޏ}1ө}; F0 csWgB)T}⟹k7W*ݪD߼_EJO"E~<A8YJ*lHFw>z*+1p9>O/BgSoAyJ,3 <4WaJN0P:p=-D3y>xufy}6x>SJ] Bd}@`\ EҤ$ />3|xQ'qoj 5M5kAïeT>˃n* P#zwR7Э[NP6)!6MD*9AiT .:}+ ńyFGOBtURp0e[! ܵ!Ϯx}k'|ו+;JW iJ^&|]k| TcsʊbxPL`)!?p!^ >0*u0#..T =!NUZW,Bt_n,RSE"+*yY+=\+̯0/Xfg|Mxw|ajɝ]Dp^_}a>]?1+}tk#0#fUpe@EIH$?Fn"ၛ!qvuŷ @旀g{y|\!(U Ak9fޖ~/c7@K䙫gW_3L}uG MT߁ﺅ`MUݟz@ xi y*讴In*<]"=6}F~ $ ܣ-p4?͟C_~'O+?[l.Q)_T[>m2\`s-s orE^nEN}!|7Qea&`&ɂK5H(¤/oD 6 _TP”/ L7)8{ |D.cQn=2Y_.E a^J]7Ao@(DUVtÓJÄ. MM3*PZ1"Q(3STQ$I8NMIU(3M#|Hy #*2qSLNE8"ҷ26oA0/|o+R*o xHup Tys(+_/2'_[@*@-;$serל*X |a%0*pTjr*+YYv'^ʷ>KaÔJ^奌;D'e 򏰪Lhm$`-xy'W驡#{nOHTNP*+( ?9G`pc^*}~9a= B$sP("|ASCgkVD"CJ@J)e](e'^ËݩIx܃£eGw9q~~:]mmdW/riXe1 `=n6rbUF 8U"%2U}SR9K~kCI&‡'ەȳ+ނX%%qMԧ2*H_zSEEp#H20?@Y.]Qe Pn֝ݬ2;]mB@ Q&cEz|XՕaUge0KdpTbH& e``I={n(03EId?DʝjFރGFb(?(϶ՂMy$@+D*!g@(r?jZ)]xe҃<ȅE. g/$Kƽ HW7D,]`I¸JyE.S= MHoP !}{-{ su}]d C?Ócn_D‘O/ғBc)(D˻ m2D @8dKW䱄GC-E}\o ?jSWgDD(˷P!@o+rKwAeG%>OC @g.8+ld%(APˆp0?CCTəRKdOs} * gUFVݛW]xw}'34Y.q0?V0o"YͬX_OI"c$gx}LDž? ׋qMߧh3ٽ@lkujÃб'Bd'!]=.\b`O߇Kj,'<6[?`bz[fgi%m~bӧ/)1;Ds˝u: m|ɩѴVg5]MZekKM3r( M+@} VZ?e/_kZ; Zeh&h|kifK4ŏΊyt+h2,CQ yxsQ eA{%]Z6b~䗻Q nNTEim4ƛ9F>DUNX0?*JW*CC`lBTZzu,*VlT{r oX37Ѵ -L )AXɜt*/NǺජ9ִ5*qAjm%l,as=آ%^y#.EPy/fկB$FnsnS1]ԻhdlT6Ga:+sOÌwr!s=%3ja/HGK5XrgrN},alH$M<oron;r|Ω`>2>XƧZs 2zŠ/s=&VxjڬȬK->\J9vXm7l07/ӷUr{9+1*Xt ON-;eMz:M\!`hF˸dCfauC>jD>W^8LFc[z$g|[ƖOB3ag4%d4OGf豞[+W޴T}i:z+ƀLe+Pc|PߴNnϣ3yiB3ȍ{s8k}|>Qؠ׌\[)ƻb֩SӘ硷LaE\!\F3t)2FᐜF5N~ؘ}o_CD>;TafJۨL3: ݦDǾ:G m[Wd>5Gkvm !?k(]T&@ĥKn4N Cc=x[|t256rorRs¤(7N< Rd t{V=#{kR1GksveuHID_֏!MsIq^4F3]Q̦{6sƨNPB1 B鴍VTsNZa\ϫu[ 6Aq"PIԝh0ʛfu?-k''?QK:o.Llmg~u/fqFMcԩ+lqF?V8Y(,+qX)f@32g_-FkTx$ $JT]%,NY֒ڶ~81ߚH4i.FEe|Y=& }.zv5 5vE?:=R%IDn-6/:HCs[j:*NM0=1'̫[.%޹:3u bnst2ڶsḵ{yvoz9+XMveJUE fNɴex Q33r6g'5i&Gz0Fjo6k[&0;uZ*ov#khjeA^}}l:DzR.}/fS= l%9Uc&Q:MpfZ ];^siTʛ>9yLYXU&fd-bAۙjF-E!ô]1+*(ҨXAP{$he|x(O`{, Ѣ-mKdk)V# AegE+O5qV)f'f°+<Ԋ`n=Pw>̕&jYFV²1Ҋ.{ެf1s]p!?5(&r!LqX7Z.Q,՝6!H#E|U::{τA^yShE'VCwuڕ] v?W ֛8ZgEH9xW{Qe4اB1R#)q&0tf\S=: D {"౻zF N5+cTZmNmZq =TzOq5Z<!o+;n9Z۳1Mˤ3#Q{5KƊ< vؖݲNI{$L++[GYNS 3_ (YL$9/C]l˦\v7qB\H݂$wGhFjdѮ{jN̮vʂV5ۘ)mWT[ㅼ:|ÊYg;,!Ng}̧j;-*њXZΰ˔}ֽ7Kfm璁BbFf- hJR[v_&-;mOGU|^mizz]]KEFn9jAQ 7~\S9'xǚFb2z4I^1[02՞ve9Uh3/C9hgY6%25F3F&YFi[]t۴Sl=@ v\;޾ԇUsbP;R?c?8qOa1YU3tSsb(NE$lPE;<ε|f2+%Z 퀶u{3ofV!x5"ڐeDfR9[V]ij֫y=h펫 "b-imY99L8ɛPA| 0Q1iKm?n0Z$9 3p+jmk͘we05 JYVګ:BNAƚDYFh+uvfƮ܎FC=4Tҳl r 沒345Ca;@`NufcmM㤴,4>FA+|0wcg_U nu2';jYE+iv6"ee?*f6x,<{xeD02f&4\-Q2=UNaX4$M)(IB^E]uke8s yb Cg ^%OwjfxVs^XR2:+DqK.`v;rkKa,Sx+nj|+ǁNM_if\?7Y n\_lQa'fʌ<G,7i~lF?ɤYF32( QGdm{dT.E7:$2>=6*^>wk΃$IV<.MM !QBB }0sfcyˍMcq!jJͻvVfa~8VT; :zhMeUܮt{Hs`Ԗf<2k'm)Iy1jV$V+IGq?et墙6ʃ9n}QK;3.iYD9ʍae\%u&FA#q|Okn4ҫ`϶VmJ(V4s7=;>/ttT+fz& 0<8xK;n9'4)*-ղ)Y^bsj^gTTDrpzkbCnmTR%L^sYnBXW>F X6Cc1l_IiUe;QX6A<š|8vcAofKv#\ٗ:YVc.aMkn (+fϰa~<yGΐ$+6&5Lmeq`F݌YsjNc9.be}mTwihvC-l5i)Vup4*(0gINS1JO>*)Zf<,eOkA2P{N]#_2@4vVQݍ4wdBS:/allZ;ܢ%FF ;hhʩÑT’YdNf9alo AWIGG3w$WqS’UlۭraMf\uK#a+DO\M }psYM[`#oSq;Ckuj4.^a3k5T\/{a'VH,uTk=A=noK-BhI5Ljy+ηq h|Z A'HmiGZ(={4}vyr n8,YqMSYdrrkN-׃87Vjc! 9mǍ=ێió DS9WZMA:p/f2PFW+BL8 AhICG/G̪diy.[6\ZKgՒČӺ5^üW9-n-aݷ1]ّ[3'R,WoXnW#Bq9-ۙWԩ]Q.Q򵁂*CaY0ڽ`DFe:NM0FyLє4@{w0ݤg!ݗŹco> LD~S ²nl!ںbLM!\9 Lp9k< P)Ӌtq;Y~2IJUŠ)`P( /}pcE&( gVh/n;@IoDt=FȕBsNf?^M65~*W4ìmsܒ 0FZ-#T'+Aس>e&/) i[lPLUH ;gh.xudRY-e̊2禋?-E~s~~4>bSE!'0Н1FÏW*fff i>?z^]ah/rֲBQ_Gu½_@.n~%&)iS%VG 6(3y #^-Xg%>I^Su"}q&b&h\iKXOsg?3?fs̗[R/JF2ce)K 뼬m[+G'2b*,So~'0mqCAXS#+(H}<7A\Ą,bSvU6A?BdIDRE*WW_}c>?I,t3XjYq_J+1)P%l{ aDBZ8ί$d2wput,/0bKVNSNJD;QZX8d;Ky4{K_U{t0D{)1g!r|O^(. ujQߗI˜AU>A۾zwkHI ¹z(ϛ̐ %<mt>ٍvݱP5BL߇xLnCV 9 `ݽ;?51odmRȲ0禷xgA:nm© $l_~.@'dEk_c9"%M|LY$|~.LJwDժlۓz>/,DGBH#Ж^6z,!݀#=Ld7Sra;G^r\_0eMM@-Gb$h-_V) &; :|2 "aM[[:Yzpk?m0_2c˟B^Kh-x@VK]dqƎ T0K (]T} EqCKQ$,tr$`oen~yŊiK>yjcsr_$6Q:S@ܸ<Ҍ}oUT5|;I^璡:i!^#M69Ӫ7Sq-RߛWH}J G>OTR#?,ok~{i#wM W'1dmܪee0[ggZcba C|%| \輦m`tQuvFkc1|Tܝ-y!k1G;j$ Nz[D-v!]Oe劕P4u-А.!N~f)W1$OU j|M.-[bKļqo25<ˆ@+oSiL(q? tn(VXlyuuZz+2?^ *g}IjWf*;GKp' ljs;D_:% 'ecm3L1;uںQ!O<0e;J- ]2 O }^EG:>(Nƪ%WY&i%aD1JiϠW $_p=q?lk}WvL^=,:OR¾ |]$^oV |gԪZW F/K'R_-v#ߛi,>ѳ*^~¾3 b_ t_sT1U\5[1S S`agA, ?M+#g[|Rl k:lU-\~ʮy(ϔ͟B)HH:T hur޼S]}1~:ƀlZqbvY?33 'gCocTZu^_^2e,[?V"=PiS [^˰wD&ȿ(8 `/-5WO~3xX#+HEF+ `YǜCp@r}T3.ԙ[x-ϧ.̧DbssOe8O)=\=mrUӰj037x?&P}#Aj7?e C] j"e*WJJ ˈik1!\[I0H.c!㳞/D;yկ0{mVCNk~[Zv-@B2}D*u=F'?+xs\O~I;&mI߇S3 U7,̥ob!I|Eg|$\SD80#:!;JXtS ꯎ}8//z*pmwa* o!Ίu5ȅj*D^9Ż&c=1}s]ܘ el ?P۱eڥbIεqgi?N׻_'4?ȩXR̡/:y[G|> _Wpj4~[n-@l!FH不|Ug;P\rczyy ϷS=O (6F!PUY!R~.gR'C#)J{ >?+:bgz* E{ Ig%"IR 732*myo+/BCāiNg,iy̷j=O)`KD^W^p7%O_#m]9meDg  7Uu4Uds` *;NZJ'LL2k҆ŗgGgVV@L6(~&>T>ㄻXeڹ2-\?EQ֯kg"@S9͜9,wE 0%e[S1F1̈z '<- Է4.EcpWs-O3X4Y:~oh]()U|n|zs}:|Ј~*Χ Kv!s\eD9A*!>Յ%vS[*S*GrmwEPݏq׵f2 @ہ=#gA[Ip4 GGhqr`;O8q< GO8ס&Ib?\pFƉ%Q^*bQ[Sf-~;*󂓺.RD |zF?tL^C٠{A?&MkLE l,)Ug#+Pz̤B:u40AywEMoTrț|HR>x>i rj[&KK!OdCZ9(oEpM$M3鍛8h)qRm9S)bwwkfN"_%9ߢo2uXXi>Rj'Ep-Z|NBe FK4o].CyYJ6_xroqIJ|PsF €8]ymPhxzs<h/ofa?K5*Rϣ0"zm=#Nבx}=89N̗\~jw3Qy% [8>wQok1 Qal:} i{c._ְ凊VݨJhAа6$H;UU|-|zS_M./&i߹YQ58tɼ5|o]iyYH׬<-emx̯4}\3g}!Zk;2N[Q1d,¬(V.( ǡ3^!rJt] Fcc8w|FlSO d,⼋>՗qX.Yhб q巂Ltf D2(vC`G@Y\Ŷp,v#y"+>ck0)m)#gpwِU߯Qx,>wmFP .`u.mKzAoݯ"v|2Yjf.տn>hfݵ&.AizID[iv](˅O{+̿c V""#޹=Ldk%3*@8GLUE}K1r/feN=pz$7VgnɱR\~-Ŧ 0R$eu*k᜞|xUv`vs9Jx8؇'ު Z$RSXoW4kBU Oge ̂y}}:h-Aȅxip!LKXtvN;1Ǖ_{ͬ.#WBL2^OE i@_q2  UBB2QŪաP}^tWrFz`YTsfT(ΒNH}? &@ N`2/;G#&u\wV ݕ& KFtbNfLD=n}ɑXELդApp?Q|}S `,dTK .<OsBF -sOΑbWK63"~(?o,c*{_0bҔhFk$H.-,Ts.X!SEb6Hh>b+dm j)I$w*9)mכ3M qoђGȰ,騴QySO8c3:o@JeR^_WӅq}  hL{ ݼLL52_V#+|KW$]>uG=XY\ѣ1X&/ gZ+ߕ^crv7AǏxF~'_ SR}fAE1=]`B屃K.OsG_2^W{SZ91MAkgd.7{Du4X؇XhФGA*X-@mH%V-p\;0{,2p}qy9@CTZ-ꕳ ޣ56ej3znrV71 '$Ou𦌂jx 8E%>>2w p,͝Lky`jS/\Ҝce7=h>ħH53/#RwVZK Fƨsil§VkԨCRD)/@Z~YHܢ+'疯;<43doCڎXz{J|DY2gqx *9qUa{ ,7\z܍J^oՠj:?W)g HKtzX3D`hUYšbd,7UB\Q(#}[ ļ-0Oy2Jɯ,GNORfPsXnk# IYEÿ֋$kNUaay="1_dD%߿R?pG4CSז}RM-FպHSVq-D7NyPd4:;rOe1#[^)Uζ @I屺HK_᪇x0q-Q*wCmkpj[r>H~_H0LtYJO4U*Y~kW ^Y(?H{謁$r*I\(ONzԕ s7I9~![ ًLn?|zAqddL}YD0Dn揇 \Cpr ٴ2oU}ΘO#Qt1[" a⟊1WBz(WSI۟n=QOʝ-=&\RjҭbAʂEWLB['CyWN&ג]{6oN]M^VLmbo:/QBR|pCb^5\axe V'0U&f-KRq߳xF,}l RO~m/^cr"VX"b9zc>cl*AvXHeRn&`u ﲂ m`t}1ފK߉'afa:0zՈsW<xa^nQ47Y<a͐xmŒ[F֯chgM-޽a&JeIκ)۠A $A~;|*O39+5%6KJ{W cЇ"ٱ @#bGE*2dcؔ&ì>Y_.%%+Ng 9;$ j%;h 5fF| |YaDQsO%9ȨNi$000tp5Eq$K۟Wns/Ix@IJ]xOz/f?b9ܞs92+]EXZq2bܰvaz J&'Ϛo=5JqRY8_2Ɩ`3z!B(0v@z3C&GNGy|Lb,YoF&NDy날Nؿ7(nڧItH|-1j,'b:E?}#njnӯE :DrMv.$4CFI6*Ʈ?n E[r9.-ϴW&xPpadr4->yq WG1]wn!XԦ^ix/v\ߦKX #ia&ot4Ƽ}bVA>-QVʑAmMO$MI&nčV bҹZ`(^>.o[=!<^GT6~.O1.Tϕ˓rJj`~(8jxgy(: &ӫ{feU.=γZ_%aH^= [IeT-o)/b@~o㍎ƻsHg.qϛlm1 ,>-~8 0og m`ghi1d4q)F,rMףpn+O>l(<d'Mld"yXЩw+ߏ[?Z!ZB~j{[YGݗ$`/_1gCƵjƶ^b1/S?kޱ>JE#e@xJZm?.[o$.BbxmؿdL/Ta'Ϭz(К682/?NQ_ݙհĞ{d6[J"]:~rd%xȯ'flX|}_2gk=YU@ 0q9h3oLYLȇ+v5bߝ;2CiqɯRQM i~ 6߷Ac*$,IcJ^wvR{bNl^']Y6uϒvz4uv.kkK3G'2˪Aٴpz,eg#;MSj͍2gJ {]6Wyy$PrύЗ7;j`B= \!:j ۚʇ"&\'"t3ʹ~/7NTԌHI}@HACOqYgtI #jǵF7qJ{#`…@$[m:Eg5j&Z=zN^Y |URYѓm2H!+r?sAѡ 748tȾk~ԑ6gvr##G WPi5dcypI qrb1'Tgqk .p5=W ѢU"QSoؙҖKzHńJ"*։GKcG>״J$Lϐqu} ]] 0IQי+j9Z[`yR٧Z/ [qk0^S]U4uJ@}Eۺ#]o(xޤ }g̅wGj޽H{թIVR6&-p2ay;D_2t-4ݠ{= 75&}t!x.+݄/ % q{uZYfܶ-9+N`,~c ,9x@Sv#qw}#s%[@GaHjq^;'i{[d;™iPC)a|ĦxuFgǔ?oH'{@ l rw6ϊ9a685yǻXYևעdxQTG'#d.)c/"}֭CE/{ lz}U UBýh-ps`ڋ=%z-p=ߺ=͍T{F~0EUNVT.c<+NG OLȯCnȳ/cqBrUlDwգr`9D/Ta#4%n Z֟FbJk]D ,} b+n)9@Z#(⣻@q(9oz!ս1?\n$ңJ_/ o%|hLwhLm[J #C ĤwR%x!\|F)  pKoZHQ~;1ա "d!b :h96*)>]gqEZ'\T3r1 F8+$'7 pDDѝ7Ǧ̙ `9|I iHk<غ,~XdW-Rrxjabh'lr9p\Hox)wefeK%A-źya&gYB8cFn9:ǯ")x] 鯉&vd74rMItHT[yF0G[q@\>I\5xtwbF}iY3mh"_\m3p@:BOH*_P}:>E41 ]ັHQ0as1|Ѳ7>K~٢F PgI@PE Ƈ“_6Yʓ@>'^AHAV ӵ\̖I7M >]FH KRVy[@!>* X+pGh?dv/HsW' ´=}G 7 t0Q3S)%q*YSQ,ğhV̵ LXI LY$!XkXR"{2 d/5:#jlEkxDK,)D"YF&xVE;&|(\g|M6L65J\<pHے*g|R/mǥ7{(fe3aC:?ҊǟP/kq`Dz2@Sc0r FTca^ 9?d|uiPHDZY44n{'IIx#cwcvoypf~P_7A/ך}s1$Fyy4{`ԃPbQ3&Kn --R-iśYݦ$ Z?+Bvy`:O"!*)ט:26o\[?7y&Yf|FAB5s0r$]ri )r70./{y]([IUQ{z%f=Ҝi!ߑ'\DAx:X?+ٝϥnu'1PWnf< .ȣȕLg!3  YPp&bR8E:$(>i81zu-0 vyh1Aa66@ai>+3u |Y܃ʉaJVCY1rb-xwgHvW^ BP@2-͓jV,4?8}t#}dPG@CgXfn`Sz# DtVl}2.kjtKJgpCt~On(|K!Ȟ 7UMD j !8˘XlTBP滇Y;KlХRXC3M㷜 .Vq4yԷ۶[7,g#z,8ݖIr>͂3a"6Qפ E$"eVPPh23r"Co`seSM H8k;RUTuFJŶKO6nA249ZѬ`.Vǀ1t5bA2BngH^}IIk9qޟ_,s祴!TDw*?Jzl,t"$ +ߩԖu{(W}:efY8>/ /APMO?8]gH)w&~J绰y]](qxO'dsajd*&8nH$CR~l+Cd7lKqz BR~T:oÉ 68I~ɛb˶ ;DžqU 6'wJA>(1pL8RIصGe2tWFxnMNK ;{/swedyWFL.mm[ ~VNabʾ$>R_ZiO[򛥴VF"䲖]m869SgoN# -"g 7My#J!m,hNDd6423iQ'pLD{.?(p.Rb(IpS^ ͎3Kvڬ. sIޯv$+$(wL*QB.A[Dd>DM`510OKOB t3 { %Oig݆\WkelkA[ r?WmGy$S~ǟE `;~f}üfup"P)#n|T HkXA ʄy|9Cҝ tۂtnM:KO*s$H{St?R2gJ"GhM[㽌ci;w<<|]e(zVCOZ#bΖcF&DAEu_+%lґ00>Ի e;A : ]ꖎB)/YnTqCw!éi3lSc9ϟ>=*(kmz;+!**=G}6;Pe-1{73ź]`@rE2O}d̾+Zn?b>{"0=6c FyVA1 c۷z»s~)$⢬*Sޕ&Q&)Pס33mŏJз `13}Qc8v!dy\hftG'r{p t.Tq8{qB>X7.wVCDZ,1Z g`_AfsP.ېLTf4{sN0ZyGf`ֻ#=#Ƭ??%-e܀7 L .5,b@=C=GMvWցR9 1kXڈ~Yr ߷[]_\}T>ä0/+%ߗ2߫\/q9+RL7y`_w3.@!,~~QB.nwd1+H5RmYU\)8S֪p.oQKFAF1'o#{cS򠢷`l27 k"C4.O) B~ > 3 |*(1bhׇezPz$#$ 8tm>&`Ppwȇ(ԋ ~j#V/k{=UΠ5;|ZAsdY A+NвSj>KK) 0Jw@YoJZN#r|k}%(/~y;:ϽbQ[ꑶ%h>j?auBRLrM(-b\zIεɑYbkًڹ+z Z mΧJedXҀjZzv+fk)2z{u ]{h"Vmf?x ooeMaQh 4o/ŁA˔iv?;(y%E;QwN* m@na) 3dE7vGy.g͜hY_'"r[}Rz7U>k3kn@jwzv1Z[$XzdN>&?MU==j ^]*ʧ+<}H ȴ'y{5.Q~3 ੲmVj._l*~xu'ϘX}S< ^H.\M.N7fnxLAo]~:@[+g_viyS1oUf핊U xOT65z vKI@;_lV-,?aѮBS zl.Qmra"ylusH:f,FГ]Tፊl#cģFG'TW`^ןbb([- d87MO F]n|>m0}S5,bU"gȅz]埵gƴKM/o\ Tozj*dXH|:M`{Cc[ꇣvo >>JkcIz kHFn]}dDmC|Ϟ]$5 PވLOHQ2C//Sׯ6] {Bz jљ_髸Iho.wi^U^%>I[;Q. W,-a"{vFlaðs wI/ZV^v-!bl5O;iHc@\hH+BL\a c06;Lzj& ˄YzZIQ(N3Ot ,7C|WPͦgG(rl H+0ɳpaeOAKY;o<~/!P&QScdu, h!vaxOJʠ޸h*CDzKK\O,H:PF|jV?Bj%=3J't.-Hb %PwNhBd& }xi{E/ShTJj'* Z 9[.nHo`=>d +V0~NE0ox ס޸q~O.N+*ޣ; ,a@~H?;r| TMmY+<2]x^c]KP1 `7UȀ) Asx{}U7c^Cq-gO;PVQ3jZ9g -Q5Dr}X C6Qx*EڧI&|;>յmfT baG \7VUi IB.H*o8NFs,pi`1zœg0R+d7ԓ%{d 틤w'B)c$MYچ"eVs ^;ilaU#kT I8_^uot 6i9z=y<@| /8cg'~*Yg___m6}coOc@Nr խ b NQKS1yo'zWJ®:IL;1"? =꼠W؈h|Ƹھ g'xn-RXxe#'Z삤]cml!OLTvM1ØM>a1P,eg<ǻY!՟ Cu 3{X3 vIG^5Fk D€+%׼8ʣL8T̹ 6f 0h7B.,L8}ɵ ws[:\r:0nÁY}JLJ[ڴi~J*#]]!f-@C|z/]EeLtM|Iu]o3etRI~2n h8ZǞR ݔ#p~dM/e] [.8.`Cw:Sej_GaG/JH[]PxK^hZKE@+G +mWoO(}'g0eA Vڸ;DJV`\^ cPvIt|Sr*0-q (vDr@ay%ۨ8[|ӞK jvN1~`|\?4wNF*UeM3՝"eZbzFί._Zth:x7Le=LJE[WqXZ`w{#?¸*s[-8-pcǠ߻u ~TKpjҁ͖l2eRwlY М`IK\رA%wtp1ª ?bThye;'s0˞WdOZ 5q$@cvT?qk(#]:L uX%2>>R*bNB$y#[u 2D9oo9yܔKys˗seZdiT915n@$.TɅWSL[\A!,0)C:$Gv]dbى+g{CumcUx*eTXo[)3d~̜p\ vrfE.5WOáo-[` sX:y8A;3I6z Bc:T4Б{CXiYZl[Q-T{i'xJYʔuVX|`i}3їƂ "yكKzHyrqZ >#;2ٿ P c ߴ{crkb_'ԑCed~!Kdj"9OkAg[׋s,#9*8knDd9>TN[2ЏfOnh!uI؊E"r ,A|Y~㐠R*E~>{pTvi''؟w>`O O&~#>KQlj.K1b|uhzrƹU!kK8)6]e![,\_HAA%3!o5եc::r(Ed;;u -|0ߠ""Q^MhJ Px(l} /@yzRτ~7ܠ:銏in&q\6BͰċozaGp^NKa>LMW~LߔCYz.JW1-myr{,k[/xc*\KJt.F[oR|voJFj왽,q% $'${i}xt "k&yҏ\LJ;F[Xx i|(%[4Yd]Jamr#~G_LR**p3|!2|5 #L&̡m쉖hVn\3.(^]V5:'0!;8($p[q_  )G K 3cKgMmH~uoM&ɦDni4x4pod~Ձ3ZY)rc~ !ՍIu(Kzoh'I=8G6Ȼ&`;QSYb̓U)!ڈ 7jM g(0zgنQ*)m; ~ &aW[[M;Џ?#apZcH|Ul{C+wH=E_z_A@_QW0fP9` 3q*C4(2zCq ae6|$}g?ɶ-POߏ)s+g0&d(VumEHMԱjZklP|xRs/@p IwocFXR^˩=.F@5y_%U}'/En/F$}SB+K8m7/|󚁒*ՑѐN"$>P!J,2Ř5IfA[/JfVI`l c}W+w\J_W#W'RWdHha/=* pd+ :.Po-l^'\~E>W Z'Hvt`I9%7l6d3 Py>L6/zP rF$W r]$6oH ;gԮG;7s_Rz?re- g#K +l:#AaD$$ |ue6FED8׮4M~xryuF $9C$ ~v\NڔyVg, Rtop\-4?<]-,Q̗&X.mytk%L.#Heb+F+ wM@XrP"`WC1(rJE̸QLSQxcٳkyڂf֜ԣHSjOYC;vhg[-c Wƥ x:{a͑L@?P\u~ď@!6Jg*o.H^.O@#o)5a;^p*cc)k!?_'9oHv8I4,<3k.%,MT򈟩$Y=. ktooI"4y B:K]r8z~qWƾ߿#O0p0}!h+)\|Y+ӵK;UZ*6(dQeqL&,$>PJɡa>4&`vE:/V(tC؄<q兙GS9/W#G1`/,ha:_c7\dqkE/D)D+ 妮]u}$A"}ܡ.#RRd܇Ot|8$9|D*1>sXTFz1 F@\'a?;j,q|p!#e)|a9r?g@[$hhRfcS%+)]bx4X!lsVV'~UK?ѓܓjN!C"ǝmk^2PLqko7*z5$8% cF <jŘ|sA6_mSA|$Jֆ|Æ>(y$S% (A5RQ̀p^UPlZgF&Mp#`}BGbma rm_9O+&Ե4NZϑF.u6:๥V_>/5:R;SWz'|۔HHiRl@~$,"%!IˆIZM ~u&;0?rU q"R9x{ =fz9Df'7 8%')BXَ//n8'Q.W{LOD>3!Z4W[69' jn5R,Ra,ykq<~];)ԯeC2P-NP ?^J#޼ﵱϖ(d7 1Tpb3dkpcR p;i=}<л'̉F}0~_I;FBzx㗑+[x͓VK?bQ(œ`K@okuM`+i&hX`}?=dծY@Tg)"ת357 ޢh N ,`:[}Oť(+9*]zKELXzadK;5͸ρbv'&QɛRD%%J9.pJH %W-z:(F=sxǔfI_9igCկzP"i*MYtwU.n9=&lG6ǟRpzGJPPڻV l&ۨ?W,dCG_ԶqLY)u΢,ԥ?? '|*l -HX\|[R_?J_ EFPDG9)MF}o=t ?v>""AxqtA?6۪ڔtU0;p[)d<񘅡x )2'R! ϥ+OY.)DZm+=dVh6b[=k҆ hT46W(eKpyϣ*Ԁ/~&{/[\'|[v.5}5v=KDW~IToCZ2<~x{P1 q*H-Dz1ю̰~piA NLC2.T%f-C~k7A?-bՌC2QR5Y~9R,mýVunUcB2:#OB/U%'|@mgo|6#ty>2s 4".O^p*~?U0&/B6dx}vmb0D5n.Py,Cn(OR:Eck$TsdYS_?IdZ8Y]ฎ"iD݃ٞr=tIA_z'VoV{qh C5KfΏ=mR$W_8A`aԏgjExVBXDgk__0S.땿DI&b4R "K*.'xE?YO b[ TNwbyW߹`<96׮Ǝ[o݌~ma*-&TpZC&o;L6}\/9.{:ƖK>1 1*hҮF(?|, D|`= ϣ6 F@Lz6$N߇uwB;HXpd/1'Fb{O=?h/Ж#M {GGD- K0a~)ʂ]2v@L,J7WU.t5ļocs]v,] [FTǸDq$.(U G!^-%(^PTMio  3/p⫻Na# _ϿUaWps&c!KspIU_|Ƙzv̜9.(rw|=HwQWz(%x/?V=l;5'u;߫Ow~i-w-uQORN2B{/TY)YhEyA%wL&RR4g/TWlôW/$& SBlH M:v!?*C! w"d.?98yT$gʳop)/3J U(]{"?eron!DlnqHr"[(/#]a?&QI$[, *oz~-x%m#'aO!ʉ+כ^s99Mؿʜ#Ư'|2=glU)9V$ʿYLy/r=. [qRVVi/,q[?G+Fpu}EFZQ(K>X]g_p5vi,@XZg$ ">tKMiWI@b7QM6<'`TI>+Cm{${y EA&.3߀\²L nBϾfk>6,%MT-BJаjrJǤajwLNrjW9=kG`Q2t8WkDU| .7 7VuJ-p;7 ;hgX VYrNtaĪEuAmuc~S'9wE^ܫ:Ge^x`suLȇ3 }4y=)㛅XϮ\ʘ^bՇQއٍ)ŮOs3|m!W`wm8O~{9 `oGe_  祫t:f2n/^kt?g2-A[dk C ;Z}'u< :mh5Kr(G=Vd^Aȹ,8?xYVUvP>&Q z0+[i:B|+A;Cs`xrr~i!P2=[tx}a.iE|OݙJJAE]+};1ЌX*qPK,&ɖ7>_Dٛ^XlfȒe"pr qoa.ȊUWL\ӑY_KԸT/K!PM׃-)8?ĖWc8K~ ڦӳ?Z"^44Dpq4`${V쾿:<\-;㏬{Xzxa?P*_WXM-Uzq8gCN.?xaR vQ6ei0(T9dcB9+_(_ӻEdy3RwMyDۣb zhTx t.zmMqi7cH+Vdʰ6zNg%K|r;idp|*D]3 pI"S[p,ĕ?#Η91*hGEb7v)Pd1Ϳ3jۼl9-"鿯?K| G:hW~RJOԠzBϐVDc-!or4%굄c*>D9-{999t!Qr)}pA^qt*x[!c @/&B(`Gnm8^@1d2+du=`&`\b]}%O4&~VuǼZ %d>H_ˏ뾡j:ɪ[ҟ0S-@mʿ[&wrRk W|ݷ) @+ÀMy ׼fHhM΄{l u%rq~{1_ZUeyPRL?w8fXs֬U}$c7^J?[UB1Kob(/c/rfT=na`U t_$G\K.*Sֆh,Qy(N}~ڧLdd&+_( ,~B9{I:gG"Cgu)Mo>vhPn:S8zaTmӶhzJH_ט& =`-!ՇềO)|>귺`g\B}dn$}6= `Zxr.ɾBU֭{}L;va*^0W}C9V~:1Ff%UqPEݽ}zDo,}D5<쫾\lzaA խԆ%ab1@dx1a 5~_>7U@G7@iwm? i7ڪe] C|u9 5Z\S[?wKM3ʇ,kd3TVڀwpG}WJܖN`ֽO[zw8Wdd  za(D%G.bXn0ۤ+ ';tbI=ZvY}Z7pMzƦ6#Lx+Ρ^!6<qQpS;{Nϥ{x1G/P%hY̳szBG"6(WFžJY1%q>^QK "Y6wJp FZ%!Zk/u_!ײj;8&\`_*IX%R-*l7먖l_vpyKp=D5k&EQp{b1iȺT=J5w~Nr$@UJ" Q?>Q aGJ sQ wۼTҲ SX)jh8^@zš.IيmzS/%"ʬ$҃rH 3վηSኮ3"f%pMsiJ`iYܡp,WBK8%mgz2 .7 +.,_E+2(WH_W*Ɉ gMMGHF/` 9*@6B0򶢢Ym8b3;oOn3"Q1+3?J2(҇rg: )IG 9H5@ekgKbC *3t,/y}؜Ax3f",5 Mt|94??,@ߨ?/S!mЈPqTZLK:%W1V|Ԯ闊I*݃u|L>*_۳*bKQ"ca-&2_="T/<0K:Rߘ֠⇿hAzSUalawYQ8B5P6/9`!(]ڔkIYws* V4|#~ 1yaz+~LH)_Yf<,(&}bÜ~HW)C :f64.ɳwS ՙ(3\]|%MDߟYdhc?a\`:5|zڏ^`ϛ J]5^K)7ξ+Μ30.N{OX oThXbeUwglX/k׍/-BzH׳ 5ƒῊ't9 Z9]r/oVf@B=L~u)O⑶}6fN6>t!FOdJ]:S \gsF|NN~˩GA9ᗴ~% >6eOSv2+9}6}$34ERH 'fT]"^2$gjZ 'Wt^2Uy%o\YLBő?[7kTKMٳGD[R?h {3p':$Ky쇎V&pSzk. vƠY+s%~9 `r B_:I,?ٯT"Fp3޼0~ XFXulPXY3x0 G^^`)FQTEωD^j!'R/;׌#~qeZhi_Yci LJzSq4͕`4p@(hx'w+&;zwdTp0$}PgJYyW0ĢR8q$AN\ܫ\(R{`ӆ(zB$L(]!.ݶ o- /°,=2 U*Tڦ+n0E9'!"B߿e9~c*Wʞ~n|q}WB Ymb>\ϲ zѻ_1ae !Y/4ƯяZM8X!^o hXuw`e(ća/QϰprMd7$}jTBLѣO_N^s,TE>63""ҫ'6Z>mTj@n.L;Li E GR҉?nI tRԢ SeYe;'v]l5o Pi[X%66./]LY*:V# yɻ+_wbPң %t R{hR/\IkƯOL(Ĺd WXr0Asſ7|r&ݢ;4޷AWﺡL^sG IW' ыMS^}m+VN .OxdӀ,Gp,*L0a {2WuoC7~7+ "TB5=e T!v9+}\e_aDoޒOr.[ ^?:k;­T3M]/?fKF%S7ҡXirZưCҨ+ oQ ڬJNqp>-tXyTPt)*75: |W>g0#k^@y]cմG]c,{ -Mcz} ^CQR;Ŕz_#`L⽂Jo/ ;xp"襰&:")`zpn[0 A?(HepZf0IJ/{7c- XzA~A\zMJJ0}G7m X/datn\;L26syh x|@tGOy(XmZ'3,8]G4%49lQ߄6S"59:(Y j*9֎ZbaP7ɀq>*5!GVtl#(jic04t@sdZ!\ }N"U 7r9Jh?Բ諮`:E;9l0X^/TٖKw䕹bAC–vњ~/է{NTV.颛 \NZ#ePd~ϵӭT02?  K1\H I٥ LOrIءDTw4d="o_LĊE'\%Ŷ>ça+HB|n`(Diz)f?֪<^~_M5qa<@Of8 ~?]ɱrӔ2HiLvk2nlf${mK}g] 1L, d 7j ЄyCYtvak T'4RCe$mM4@yr4R5Σ"ѳLժ7?d @ylT<Ԛ 1F9N1~"0yty#Ce%pOq?_^zbgY o)7=v{SB$ynYT=:;I$*7Udwl,)Fc89d\/wfm8V?5~+"bS_nVFDFܿrP"q Y>X7;ԺF,X_n1L="ly .c,v~.0;ғKMvNbOYAnz; Tf -V1 7 }_&vns M>j>ܭ, t|ڰA)zW?\ldÃelb,T wޢ0R1#WdW{-CK۸( :zXխ,>XSozsy sE{t,?7*e'[j;P6y=3Ći}N4J˪zׇ(;1ᯩY4=ryݹX<10I)|gڧ"Ӈk {@1̲A BۘaS_&]Sԣo]B\aेxߠ(XY r0u^Pk:_,_:sG%|UVA8B6C}TV@-7R?CE"O5p 6vEOekòttsk8z҃laS*,ȘV'Zbo|~=w7{*+u%e|nTw_^x*IN&$X*}۲}qb#- Mr >~09-٩K^Jg-FB-&N-Np89p`;sa=|YJ#$$F?Wk.(*1lb 8 7 ];%[[_kar:\2m-V63/uhlʵh>7˺QS Q|fhYu0C)fλvshm7 6cVB ӽg>.Ӱ]LWsp;pڛ[AX3gVrNF&LB井}J|ކga} #4&+w7;nd~w|H䧘u /o2|?!򱮔gxjW_Nl_#W`=iT>0c*1\BkyJ1fkI{<2 ZKc[2+Z GGI.J4fg# %U%I۠ݶ0rLrKxX{CK|B2m1s1[nb^Qk`qzPa! щR3N:>@=oje>W{,w|Yr@ݍn0zRG^Zoh(ďDFh9rbt5.k^⣙tn0EvD|^nkl ,) k"$c9h0JcL^"uZoVV7:Y΢3KkhG zAr HEM򟴢*p)B鷯o5 {>D9-c-zGh8o+Eįy:˷]2sI+kjPNE,c ~DN5_U7"/cmtz~É>)pj1 uL JnRfUjV¯mctw46}jZIOBSGCa|(LK+PHՄf7r _^E 'ZS% h+3 &B,7y8 צj;r_Vh)ҦNeG|S+;=EymDcxͦA^\j lG9ϢR 6o}'p]!3ըqgKP,'W:rUA_IZ@T[+'뉃4̔k|C*g\s^~ ѤͪV`òD69d]3ڍLQquRlM3wRUHnOKN+6RjgyxGAI K%̼Ϭ[ȵHY4aGA38ww_ͽ/O1d&J?ۨ!Eqy΀!. X1 &$e0׷zc1״r!FӘ} }^N[DԳ"6&\nBLFhCNlM֣<"> 9}~p2L|;AD? {?Ês 7u_T-:ϗh9??jEVy#bJF}~Q' C/OGm&$O*-OqkrDWѨŧ7Q-H3PGlQ >0(Iྴ"(&\Xڤkh,a^J՟bpvk.w$b:zQ`TQa/EAk´nVKٯB:l8ANv gP})Q?6wQ^(ۺɊYJE"7V{r&Z=W:]&IgN~[ڽ.i-E91d@j K =S-[ƍ؁je=Qz^ lC Py}suxcWZՂV&jj_nsGyFheA VnXN,4 gZ÷V0|[ ȿ.С7M?KrRP-gtM N4=6:gm ȣc3ҮF{B %MrˇƉçY?,,ɘ%c~m uc,֩5dmxc>seo $V*mX F1j/T/NJC>Z/o`1js9irph g~g9bM s_!J\O:'A t_Ӑ0v鍹(^}@*mM)y8zh:<^?+ O#@p*p%3MBHKfҎ/MuܠJDh-25-+N̛L6g4 P –b&qO9_z1Kwm [ktSoaSׁNRH;In纣3_ 6WrI)v}j b k4J`bya J2`U$aGna:OIV"Q/mzGTJS geɰra18 _.ȉ9 7:?{Zr C|uٰ=4QR;9i1:̰p&|KΡj@=jy**a2v*SEga ֪ft7+j2}o~L,(*- EtGiQy硣E\›.JljiilV?(8'RO1E!c6}F^[twHMEe [ k;դv6jȕv+!B :)CG0zۋ3:%8ns0 _]yMk=WL4fx "*m>4qEI!4whYR}@lUm@ yZ0 Qd/XN-h@s~]:A8>Fz)*GTX8dbua}\,At0ROvc ?~[vSjV Bq{oVT8f}ITހkGmEZl;b*'bȈ8t^6khu,4ʾUnO'|s q2$\azŮ =ؔb):oreM)`ߋ 5ҽ_sn&CTL-^Ji4__v'Xa=Aƍ8jWx*e _|]C6P%k[fѹO,:W:U̅TR"EwSM4,5#S].yh*m! ߔ/W =ފJW/lxo> M^"{ x]a| /c/˹ ^yQ IL5X M'4_GsmmوU ҃D>=59Z=2+p0zK/$sh?Jrr ǚl»#R x$q8ޛj4#bBeYSK,*r°l,9HX7C㭏>`;#C{B93w St˙ *3*ь^X:ð;d\D1}ȏ/'GQ& f 2];WkKyu!ߘryjc˂{UuyI5-չT`E-`>SfGW(&jCsi6V7r'$w0!|F]#ҮT'KZzn>&#$q.7ݵMwRbv Wxtw(S4Cty>qƭわ{0KD__U+mox9ɷƶv`&|!_4!~8gB?%smPS晟_At{-|ފ$ -6bcAE4KE|*@.[Ńhp؟yP=6Y=Tv&DGሆnli\XTf`_+<ev-%zkI^|vWZ)r4t4} Uc8푗jH};6 \ /& N*QVI/" &['D: V~qU^EEOd:5L0дqŔ~k{)A~JC7мCAĵ0ӑ F+-ܙNoފM>wZ7/Y+#g|~drkRnid?˛T@i6u(iXOQm7tC>3^e̟|Pe^?-xʶi0e(@OX le-Jh~l%8ž925RLa<,o81F8PCb-^b*&!*$5J|N^`FYxyi"(zO5](. 8nX HG&ewƤio /k[J[t1Ew_.EGj8 ?=?{%n~nS 0B@NW>eoy#V3 Wa@QvJ8quЧ{Y b띣=뻋k6~pH/#a .͠zsFi߱+0a i{gLa 4}cV2' -h~.I4Z_=~n. v(^Ck\C$\?IWϸ@FN"`yQ uhHJ3Qe"bAI;]Bcʺ^֣n-٩]+l~(o6e}x@ kŽw#;">n{ ;MN (yWuYx&'3Xj953 l*ؤ QmAQbJF@].txjE $Z+H(=5z|: y5RohT[zΆ/)p./W(ub8'Y-?Ѱ, ` NVDiLj D0CN"nxmaOAʈZ}•?um(.\/,yRc]c<|y49ơ]&07P} }dﵓ&?r|HD:n;ǣ{_kw3O"u#+n%5yL> Dgҏ RÜz|Y1CSl8K$Tqey=8,"w ~CF`ӴJkE¬1n|>7an !6\M*BۮtV Ap w3&t11K=Qւ򤤅D*sYǛ7T`}=3m5?jV&=TPpqZ UIq1}L^eo|߱ubOp &r~||J)=gIY"e *X3Oјmy(stЈUgN(8چ̢hg`'ȟ $4 ><iOϯI2RChݰn t[QFͪgB"{/esIDŽG8L6^ 4.nS*mVYۯB~=mCk߇>GPǘ0B6F^ר8] `YVOj['Bp_;—3*N #TmHFvF降\k|lw%!^+f%ZEV8 LVkNB+ǀc#$s#4D7{Q|YR_KPH'RScjg&~E2Z1ZXQĞիJB\; Ɋy]Qε7˞nBxTxefzdZ>,[5\X`׫P"6/ lz}/2%$G٪})SmKؠOr%K'L}:<ɐj]>|{el8Ůt[Zԥ@g$" %%hOIwzh`rGt4-ȵj 5qp< LQZ ZSəY^ndY֌(p3|Yʝ#6Թ%@M 9Risjᄄ':/vz~X̩lb!¨^9Jkcyzpow/DK% 0 Az1h18<8>}u|]A3K}ckɶKXp+}#_c8'0Kuߝ,huJADa;y'c봗O2DAf]wP3H]vEB/ԝ~/T71v]ldEOJyס߂b]iίQ si=c8[єW} jglH3+ ׌4]1hBXpj09(~kLRǞjOc&rѣ ,ߞsJ-&ŵ탡!vn%pBozXE=W"h`--|Q:UUwbHa7*͞Nw aY|#X!I y=dG[mpЂ Bυ, ऩ0!=| uH V(yP I" a*2@PG׿>3.vhf,;8>7?v[h~ nohcvP5i4toL.y=;TDvC8f9azGKW2E+Jn c^SAG֡;-OyM@7&CT;p cđOH%mXw=_ kT'Ү}(מAY!˲ϟZ.) J$N稢s}_X?I2ra^~V{T~X^ ~<2v@yi0/LPmZfVR D%E\֒5%xxeheΉkJa>>8a Y$Ox `aIn83jݿs)WzfNתQ ATNzK^4J덍Q@=?T7}j_34/V kkj4d#99*Q^K0FsԂMl*WaS-KdP*4sS /0(EϝgX=M^M`BMDv9EvHpqЋ)9!śrBP7ݑFϋL3{Nnx#PS ȍp%}o9LyJ߃ͅi7&%8 B^\Pl/tN+uqre45*7}{Cf8r=݉rWl /X Zp>J< N8/"Un_:`kO&fwhfۮm몺m6S~^a/Njw*1 B[ˁ'௱YhmCI凉O^]tzk9 zR]ZhfU} |@ pDXʷgQ y8)8)Ҝdؾ E#y@ϡE`ne#9?v*r!2fwq4MU (<6U3fo ]SslZΜ6/R][_O8"v~*\ X콽ٻ0K4b]Fi 8F=SjNBFQn8YG :>'1m=HYA"p>9>Tx7l BQFGݑ&̞ߌӒG&8;]V/$_7+z^gvTh,/?U}yv;E翳1.cFCOmCeF_T&z4q$|3|O/ Rʄٵ\c-W U[ W5wGF lVp_j}O:R0:JQ: is%VxuS]YhU{]R7s@;XTB];үCN: (|K-lMv)O*g" 8scQp&N/d7S !H>WP(Ka3U`fH+%6 ٙ4)= t lAct4Ed@Ÿqx_d }6* Hݨ]PpoU}GSP+#aDON|oKc2)Ȩm³,#ZwC}.9[V.uϽc};(UއO]Cods wla/EKb[Oǂq 2`iރ͹RpJb.†915tko2KXSmSڤ\GέA'*xɏTW$Dlvb\j 1*Gba݆ͨW4B B*@->41; qqɋ k8:B,G2Z>3Crɭ,_į* oſ#:Z7ϟꮗ/TeS 7Jq-p~C Y"V 0RJo}sNǬޔ=L-qeL#3vݒ.!+Gq,l^2?$"~O#gЏ{Eg58(|p?M"Aʃ^^(PQ\zJC@FNߝ^.o J)vUD?$G갪6M?CTABQHy,A:/٬)7Ơ/eLyGH&f="aeOn"\> YNѻ~]\kp#Yסo'Av*Nj}ؕS" mh]Ok&+y_lg ȠD$rАQ/S?6o6ڤk;gT^I p^䙵G6aZomZrcmwQqsקL4m3*ԫcH6 |SO16 8DvjgΫ@k6[ʗWF]vo㯴poC5UkCmui5%[ u`ݲ˫kV^J8:u]qj99#?x̗qsKe[J \ֲ["6H 7> }L`,F?;r%_!7ss+5]RCw YLSڃN+Tp Ry<;#al ؚ7NEj?IZcSfBljc  Rh߫qT%4˘KNu9( !}rdB][rMqLZ`AeEYGxSO7N 6p CKaH ~b/#" 8ZVji٧}KST?%8~ eDb @>9F0Kʳl*ãl%07k{(^7WE~-k8GBF9Y)_a/vUo8c4*N^h"Ur}o<>8&tztWy\q86+v$G  TLL::B3tH2K\94CgY)f|l4hˬ>w:׆oyT_Yj)^R~8@FT?/w wؕ*ܘ\,ytR&As#Vǯ?XTy/jF (nŠ=?j>EsB TBl |Ƀ bfӬ-22rPKP$NrҾS?>)PIUߪZ5{TuMrKhe 6Ҥ|1lfZICr78o7v6 cc^8AzF{p&UAjY 5rM0?vU瑌pyk,3x-ߦ|NofFe5fPtteʚ3$!SK5[WAuJ,s%5^{9ƅ LMm_:w2F@DJ3Nԣ|QeN62`nȌ XnV gA$H;2"Iur*iwL7)!XayIi|.Iq)i/Dc#@t}"9 gOMnB]6yعF~$cSt5N1XTX(ov{Pߊq*aMѷL%i51uLuY2ߑ<[k܀"Yp׋$, G7T݂zl} #s{ eWr․^d34m ϯ4 cLnXoHlriHc V1+;d2havD81樚By1^7I]ۃ͋҈k֜ķŞ؁//TpӑFX>'A~Fķq~Fqynz}#*頝0ݨÑU`nIo*YQm8f(֍Pʧ,dZM\%u$ 6eԤlh&ےƐr^]bCڶ.&LviH[XM k.{V tw\|EūҐ?\chA#"W{PM v&A`I$ӂ<>ŽŌ.r=Cs(~or*5# j^yqlsx^I7UtQȚ)®k^bn^P?A?)n⍭\s v&ƲnqDû^)6 Y.y1փSk'7e>^GEKiEoQmX4YJ/Jvk蘋; .U:l?L_Zy/G/}{gytcWHÌ5ᙚu6IE6̸ ǿ#mBma(n,' 82%aA1w4b ̤U~*. Zafcҟ`C)s<8YGw0 iOmD$\ n,㵰[:˷Ja!qG$M7C)YôLZx薅nQ\]'[b#1&]ߩ9^οY{s= c b!rs ~a)Dco/5&l:q5y"ŗ,`voһxk1 /Ҡι@rYfNҝCD#ᴮ*8LTt֋k0T \^In>hJap壢^KMAAȼ7]zxx|TߢJ\_3j;#ycYoӌHA gv1f[s?tؚ |WUR kӬ]Rcޗ ShڜH5p3i5nbU1tn7ć4R<ȒJ`Z,1q: ˃޻ܭv=i> یbHOOUhd&iY_60?;/3 ƱZ[~&U:E0K6P>˂i} 60pܮS%MX X>bY_y zmAa>鹞!c?⁁< >_ M\Avi. @w6Q>ћCmsáM3 y- t h~tˍXCvu""i@q]s=5d Fa>YKY TzL@4Kj4JrBņN8/ffI|FHK 9lq;sC +f yUe)mr8Ԁk/=Qw)߫W㨮{ weuj@:ٖDz^dx'jUg_> O6X9Ml9^{8/-3]|RKŤ^;IjSP䮛weB{%ͯi~|5TeUת"iIJ@htpF*HQc ^08ҊJSM/A*{S]ia_ͳdg* 8n@kys ¦gb]Ad6 :o3lG0xrF+k$^1S3PL(2ND\+{T|uʼn_FĚҭ~1H9Z\ϷY,Ya(_qbb|߳N0A%>ZlH4~#qȱQ e 7 '2Լ^;YmMtq$/6qTFI?G2%=XҾ493͐6 &K*3Y6-[C ;["Y~C #*pVbRM}n'*-^gE%na׹ Ta{pj1߼oe)q})7iAaUI;[b@\k7S _ ĺkn2OD9Wyԕ4'otpЀD4'T`#~hNn{L3j|僪30#KӐa,77 VQekhao~ +r1JKA3ڿBhKlj$c.QF%x[*dÉqdta1M*KX3=,FR2A[Cl߲Chm{/,hrzO>E:(B4mu)by{²]J5e⏓x.Dg'7= /m\PFz6"zp7aR_}eǮ.#HّpW#T#SUYmdvL E0 ;qc?1>~2H$tz à~R߄'@|{ JfU#+%sހ%Cg4OurU\{ύQXD,}BM86KGf`o;TNY Hg[v,@AG)s1;lSBZ-dH# &\m(`t\>}Fr%o:!R*]=3f3¥~X/OF2~sB& 4V֠4}Z dw> b>v?XBgT~6O84SR)r) dRWwDҹ ΓH5BlvHمHWmvp,S- XԴ⿮x]㟱4a >hZFy-#w :'_D'a֐X]~|tPԇݬh3vHEu];X 16,2GC4=H`Px4btZ3d#8kdhP_ gݫGX$K!gv_)]<.AOus~e絷UPCL y'($u/O_z.ڤ~龫<79 q_rJζ߽Z>e1}Rh 'ʱp?e-0=G]ڨJێO>{?2ȫ\CbWxDSIZ/ItyxRrD#LbTEGeI6VLi#Sj|r}m+[TԒ]\s BisQࣸ@uxlOAU|UG`/NjL)%|^i+I1OC1<#sD R@ǥP*Ub J!տՠBuKVؗ¸ MT)l< ogӖ /˗sʚ|~=ŝ&z[~UϷz:h=|ZK#U8߃U%ArXy43Ś-q;qȅ#֥SB8ZA.y|qHRz>x( _Fn?eӶ8dZxGĻ_7{SWAmF~Y]'~\Gh1R2t1  |6JI+976_h:BLb8nH< *Kʩ.Elu|[.u}7o%oF gK%~@rI}>]RLb[?j@cS A@/kǗl%.-M5+_9G 84?G3M"匦 V#>ׂj;EKXbu, 6,eXk-yw$.~&)yPmN ʀ/G}zGf1UFg.fnM}9Mqk32P/kj{WwoMb0\cB]Q= 4RnҞ~ .(=MH wz%`Kq9&c`&sx4@L[Pٵ=8PA(t^O5vkaPÏta`W̄[30bw@z' =@Lعg ?Bc?LM% uL{C%,Rv8׎Rо%jH9"Altק/gVC,_܄#dMOWl+9 06O ]HGL}DMė%ܵ{[-LNu.!/A`^݊fMuyUR+=v^Τ󉮿nrJkdj Md'OXwhdnDΐh &m /5$ ~'n,p˜Rfo1!pc,W497_f+c!@K!!ߺ܇}jH1޸ðQƫ DN2m(hw5$`GfY5`{w"Z%xtpو_<yw<$­FiYXh^RreWh0Ǣ=R-YfCv q!:&Ƶy_]%)߸*k37 6(Xw<xCpq10a9o vA|P;y 4bCIIoH^>[pzZqsĕkoLA]L*Y̛$PmWɝ&/LmfeU\9: OÙ$,Hh  Buo]i;DIboiSrsi?.,AĈHgyEu\r~ 1P,P$yFp 7MYj7jvY Xi0eq`/*@>yN|1'.`lqAZ(Iy+_;; 8/~*MGʊz&ģ@\60Ee&7oL|Ռ;B#Fr;N%’b}/#f{Nryr[rx~ Wp|\unA4yׯ:ʬmoKpD1lF}O2̟V[4QgE LBAibh| M8lu'Q/b%d ;Y/9O`D+u^MQGP/}%.5w%t#1G}˔!_GKфU<ȸ*+(=M(0#gh8 Ш=)F1s0DiE̶r16N` ![J#xcˢSFa8e;q9w_ 3D+sE6b'XˊHg͵?[]Nׯ<^䉅cvVǒ3^l&!?s$Gpf(Jc:|wf'A(cѐG O_ۀ Jx`7з嵢Ob -i0עo,ۃ spz9So-Jr% pTjGg@ʈطr)_Ǩ^-Wy>i^tҷȦvf<C3ĦmBvO+!@:x##K~  W6NNXKE/ & Ay=cҫ~َߤ)}򩈛`mQ0-C>Ԍ 1]B4<x뜈{{w&Xd|04GSYn1+4nBRw9VH)_55/=d2B)xͫvХVA"C1>>^u8E^,%Ts1XgR k[}@])0.obFӭenCQuڬ,086)ްڪ6+9` @nnhna5͜kW_VbW+zKa?&TrW*0yx$8Ku1ɳʽ,%}952dqUCc _8G~0[Ak G?Y)R{3#P;n3ݏ峕5wB)JP>X&;F쬑Lnha?HDw9%U1m8@?H\M?LPPCP S)kտ9{]|^&'d.`qlm?pNk@JL3w"ZGaU,{!d݃mqa}F%tA͔`z4oF> !խpx91V'F,h@Et`>CٛtlG!b`Kn/gJh|| +ETSi)> LyfdT`Dƪ씲,t$Ye9T,rjoȮ`HGg3Ry&0p#πoN><{}Q͜ߔlx]6YP_ $\ՕW7|osp?w-@=qD_;Igoa"x[^HNV=I~,"Hј2O.P,XTZ1Zyƛ <3[W>{>%`G=sdemY1D=86> 'LC1(PwL%,~=,KEۄ':)~|(|| `rWH}|^6K4N>@G2pGj;K#cC%GR =auBPCEbpdFm[<WDQGg Гϕj@;ΰ~>V-Mݔvyc]*vR߉ãub(y D-m %{ٶ| q%Q/7׷w~E7ʦ7d2 Jd|ak9P8P[O *|> M'yy<瓜z\ʑkW<_~R%و=@*S=ަ|kt]0us:?3<&d) 9?uZQ=C&Cjx0ԑg/{.EЀR1#Eyؕ"l@Tu+F90 WmCv϶^&ep~sG\$~ eh2pP2("a9ޓQX0ZH79zB )g5ʉJPDRߘ˭mУ74_c]ڏmrUki^ kɾT- O_<hNV/aL۞2jכ8()'B[%Z&DaKʻC#U+Kč@7w7{m T#(Lm"":L`0o'؁\{ܑ5<>P:|g,W qRؤ| u6J{Cm]LO8Ŭ>g}@)(~[mlm:b4v~6v|4Z&b3/=[ @R3f ;%\,@\>'_>wF㞤zl=zw (XV}T`ЏͶ K~(*i C,tچDQ`Z:>i'?ߞYg{*_XDZERٳt(q[@CΓfq&*yWukm Le 4?[06ނu}\w::\q5=&Yq00!oz~cHöGb9oħm}e}uEJ1wh^5YG?xH@#G,P ~-K5#EJgW%Y8*/}S?-@ J[X ]SP /Jy4g,(Enҝ 7ؙEvC>o V% },|RjB% L?S_a]Dor 8ʆtv{V'֞uQ?cX׷OY4}w-G]!o2 HݡW!C] mxloQ/-⠰4[4A/NÈ`?j3c `f})$V4hkC}oeRcDs 4>ώ,mf@I,nOu{5p ]%˶N ƨdV-X3Ќ/>Y YgLDgn »9ŃQ zOCj5lPt5R^s ,n:KgJ*ĝ=\t[_o+,ܿADwp1)/. [OUGC~(T2/.d CNҪX*%'xPG(e2nĞ  diBt2U$ːY^Mp[Ĵ3W8x.dN.bZ܂qøxϪ]oA˗{t|T|X >v-]E'=UNWtlIkl=DhY\,|6`(KN[ՈPQg2gdr7]^X!T8P$r%B59r>׺%nޤy+1>P4 쬕~*+~EAyNгxd|ґ'*YAfB_ l9, 4>Š%5 2v4%LD_>/+5RN+(D2"Wɋ 5h-|uvDP]Xb7;&^d?%]:n2հGAqXIBd4h ИōV ^ ۘua߇\ dP<&/cE~iX1ڀ[v@}QN[R*K߮GМɹwXE@7yﭻ XHͥŰnL;FmiU2C( SOcƤ(0ۧ"e/X I>q>Toc6|kjB3c 5E94_EI OY8<-C#FӮjifE=?XT5~A 50'%e6c]@ƿw/"`=0Y`ErϵFcȉv"G&u0?`,d7x0E#\{ DGof W 9 mrs7kK+v}Z^[E#ڲM3 mzpSfu&jK tJ{wt7TTw)C5V/BWFʈh=3/]ƬGe֠W5DžOߢC|VBۓI%`; B`t(@dUi*=K` jh>^2͜ CV"[VGuYx]>|u|Ε%㳖Q@}o 4:w9^ZSmT$=@[L IL̬eXdU'xLc&D,Wiov o4{07x+̯_53ݚiMZ؁xߢ4O>ys0K=@*+Dև>(?'r`8 [bx!]E/rFJ[1[3VChpA[`N[=*g!I>/sDF K}$i0Wغ4'?q 4&:T]CQڅ)Htpp\p 12{pGMpDܶ>;Kb:u擫*A&dЯ%Ȑ^v&ِ@'ڗq蹮iO P #2P).nc輢]N»pj}9d&%&^ې~E8\Lӷ#מZwkųYΎK-pࡢ9oAMQ. ? G\G>}` OVⰽis:p)u&̘-!p3uIUvYw`Q Ap)<2.val|K-*΅daetnߦsRs>-c ΃/xpuEMT0pQ'LjJq6)1{o1)Yn-ӣk7M ׸mb!CMTt7HFKN/5׾X(bfU.@na7G kOKA5$yfڊ`2u}ˡƬjCj-T:x]Њ#ÏXT-zօcc.uQu qR81!&P)(;4R&g.}+'yþުKbшP9/ZQ )OHi @/JX-JNa(e2 o7$g5I #-WYL0s-Cո2޽Dnw=|D IϵFyB}P2,9KI 4EV0[qei& I-)IHB)\]#yzo4n<ϣ+嗗ZzX;-%K4 vOK7]/nIOHyG1߃?ϼɂN$뵼RhhV`nhx`rE3mqpINH1Y.δđG@$o6Aϴw߇E|P j,/xH~IBA`{5Jz5: -#)b4g2u2WRxe%} UNhm@>Bt$x%/nMmtSHb,?wc0^o<AF$7d 7x~qa2cX R(F3R+`}0qau;*~ ֝+=יJ%(Eiu&^l=Z uEzMY^|96 2U*OOG>ٰdG ;k NX0D?kᇳW*׹/V"\DXΕ,;!q˜3/,|Ŧ_\s ] Ăph@TC;N})0vzݢ"rT6brѠ qŊat'N&A +=3dF_%R)A3]fi5B_XX6]|խbHPI.>haA ܮ}~Ib?a;Y#b(Z`h {o֐.L%{"Ga7C:xAEu]rN޺alh|B>7Y7:_#|;${ 4b>8yaea=cBOf kc˃?Dmޑd–8W8Ki *j.&jo!xi=G:%rʐo y7{Nq̎{L0*ٷ̔5g+*f˅Ƹ)%rJCo1GzcT,wFoWSR7r/LTRޫs)PCXIn͎:Y)|WjtI3,M6QOR@, Fx,G%WWM+Y kM8@;èmRY*bHc{!y op(kwBo#z*%ڀ!oF@%!Y~ިkCb1x3~|Ǐ . K( czhiqʮ|92a/r6ћkv%QvGUڭXm"z.0`,&mLR&H]]X2#Z=A^%{˱ɢm8o:$P.e)ϗt'807:P$9b d`ʞd}qLLx.[ ZIjWhg,nVOnB/IFؒ3np+ |7}DCVsY 1^#FLhֺ|2N1Ke92ҙܡm`^UHm2`$n9c'!=``ï&p1Si;l^$=K1VRF_Ϝ 1w6uP38 >wb}yÙ6s7 l?㬋(?j>92vY+ߝYY5e^Fu$ ޿%~,xtX 6<5UD6!̢Up}LVXܵ}6r~-/DyLIC&KE̺EvڃUZ,nc؉7zz2}6" ErTq) v}JZ43|. ;]03XrcPvF ׵8ӿ)fu%P#'sqD7,}r=gi͉bfODmn ߪ]: Hh⍖%e( S>Q}%PVh)^ ?ur7]5pI׋nM5~r`7OWb\)z5.p,ڗD=WtQ~ \A4#@Enlɷv>GKxvR>~zܯwG+^V{ձA0 A2is,r5H杵|SGl}^mxx׈EkABUTP~'d>7/D٬.E-YuDDLǛئvd~E IVܚKza'-d#H8:Ԋsr}ʗQeN d7#"^? :O_c|Ձ q!˴SgD }z^}*ڣa2kesI߰3wd85nCz?0EFd# ?r pOWyߖM(6vՇ5ਲ਼g/uK֯knW!W3;TpqZiȬC~3gtd,-]Ht{>nĽ읹?"F %ԅJ<>eF/b.}ZoQ ܶO!PPZ\=5xuq˻]K(+ 6 Ը*-EiO1> M{^&vЖˋ@2= 5^Mkj"5O>FCܣYZmEVœ~ |^q0ޡ|V^Q1Yhǃ&Xx/EGwkkAP A֣RABSܨ#G#T,]Ld[$7獏3?3o?q,M-/9lй⥍u 60%Kz6%u)}5/=>0kSA ;Q>e/aֽ^I-Y?)NZ?=]}'p½yhnގڱ#?8d2p[:)}u:MJm_-ljg݈pi:k%dp}.Y'ݙsrZ\!}ݘGM#1wm_`MSm>;kfl ~{< ǻ>6C#Zb/C{=Ĵ3'[0~"D:Ǚ tgw~gYWRl:1E`a9JǗ+Sp 5j>NX 7!7!;Թh|8H>Tm <|VKWS'9$ۨAFwL ϴp Bwsҁm #X ^L"u3]n8.nA[~47^I2{@}vMjNc5% {0Ɨч$Y|][}F '* vsޞdp|+#mÐ?w LESnS-xL ~xP1J=U8,o! 7d-&%t6Ӏ1`Dƾu&E8؇͗Bl E*3?Uցjr:*C8u+ttS{&#fa{vmXI6uAs᡾\7X1-oxJ0`}DT6;Ewf`~R{,L=&xqU7A۫GX=K~u+SAE7H@tt;Z?7|& 9zM 1y6;wx0x[T*7,J=tK2{.w!'p|8*j2OwwjqZLJfR]8 KerKcN#KRs\7b$U#ȃnDeTi޶k-bF*%_'EDMAIQp=r ͼ9mW -^Bvc^A<&bmhμ+s|zR I17tL!isp3CnW9{;kQ3plqiul/S Nz\T~FgyCYڽT}=v5| \QbbC|8&`޽DsSMLn=qp0cNb::Q1tͪϻ;`#k#]pɫ42=SojX`ZO`w5R¶O(}kc ~jC/=hDi(70PwAQCsL_pRK9품fݱ mʅzM>\Yc7;75}0S)˲}BOukg7uklPu rSbP<ʸs컦:Q1c*kk^~W;$GᖨoKGi52Zahlh弅Kn߽'`LxÝ󎡆\ٌ~wXD̫W%D b9`a9)ޱkS(G a!mf^(v`|xa*d='yj'-+ ʣd lgA]8(:wem x%<لGw4"y}<כR;8d 6>w{:VO? 1R':S~~MœÓ J],D%EYܫ}K![+kW7C.+x &:V:U+ dfkQmȈ$uр?7W]`Qtt6uSrO٥V%]j?.o\?Itv ]Omጽ_c2WTH{>WSo\-E_I+|M nt'w;Zl|˵Wg9O;F=J9 ߎm7,,?7WжYwQEc}h(~i /g%ȕ y>gOfN+aC#ք4gJҠI]~m?w2UaD!~}Ha$NB?%C #h0"(:Ν~Z__m%qByo0o'ތ0#sV 䗭D`X v+\i@+Q;l"/JM,d(3(Lso?[?\$]_[E "Hqe"o7#"ybaԏ bsGLQCn2 Q0rxUo?W/{YM2I~< S4*O#0nWs? b@ן)J9Ϳe}}J?cPFP?Яooʅџ"\%_'W@Oz+LTC?S?@(_Z_+:F" !?o-} ]ki 柴+Ep|b/+[bWB@L~5<+Rw"JAA,f4 /1իbs~4p=-WWBOk<~p=b*EiF~3-FFu 1JMfw?_tW߭s6=R3wJتt);QYU_ ~W)|8xfQf ,پSSY  LY ?>!:L*9#LY,7UTCӓ.* &~dcg_M) bSҟFK83]0M< el7fl,0u}_?g?f1K٭PҌ FCE9qwUlڠ0)vlB7yԽއHZzlLFoا" poPPhYaRX4p\y9$ f{& Bnyíb pSGJx6H ;ٻ<یFRn o(:ɔ6eX-ii xP>)as$}Α_gp(ۡY z#Yq#$0'OsJC4&1|.ekXI{1A}XwOk\l쇒[T>z#I4!D:^dsF׋tV.YmDuX|C$>N ?ʹ[cR|)Cys41^ޚkЙ {,Sטp0,C_[sI&+N'kXԭ|Π!Y~[&y4مyyrVF£U lڠ ZJ2QlGv;z\<ށ;z#c( ؛WG[HYep$O9`hvx$ isQ4j ҕ:+roAV/^J?z2 feN=#oRw yPY=bLl! @\r=t4_bJs u}V&}}"uicrRZ ڧƤJ趻33 IkLӬgSjQL E{ks^gxҷ#ZwZwNx"aqeKZf|+( cX/%,̍P{|xlrE# PmIBh$Ȓsa) )2QK ;7qZ䍥= xC\T~5' d~ke"˄sp%Z0Ao0eV˕Fǽ1Vq^3haq: sD^%܊f)爲n׏5>Pxb|r5U;F}WL0aM7V6AҷBX 7.-.Z/öS5PֆG o ve]jS5mD#v/t v)Ob&'wh 1e#{:|H*@.':B`"R"Ol+5;d ;E| PlUCcsv,ĬZ=ɇDߘ EzKSiwR@6b #kgD9Szjq1sy(O'<aalwwd(^Hx H BlAt#Ӓۮ|_bw O_0 G|q+np4k5p*vUo(A Vh m;Jܪg@,O;`vQߊM(. HCu:DHl1w.eíCd0kTqM[*oD'ɀ⦫ @Ƕ1I%ݙO~F( 2D[j\T+STKzOİwo@wK΢M*O_pVGcvv5䑊_ 蕗 A`{n]B~6VQn4holpk(v ;Ũ\RKpfu]|\Ƭ}E>@uz 6\ C1oaf)J : EP.MqxG]4/=ʋf_T2i63޾m1ߥ/D@ұ"EzzTTZ@oRߢ["\Tws(&FRi2\}{2Ѷ1|_Ix˺)8?d;z0>($y#By e'jy轢(J4lxs<| 4OKɅ$-桼  ./`p~0 ՚U*5ۅSv'(y(+:bwp#4$hǟMXe>"o}WѰk \h@WQ$׉^%"5v;"hd#\KWƑH XƼuAv| ME/Β\A޵<أFR{CĐ,ucmyWQY_,Vz^WސynLs]NTx#dаXֻBGìhUIW(f(E|-鋷nީkR#jgER^[Ձ%Ⓧ4I{VhΎGAb%r0P3#=hО" 3E[ȃ^X j/R}w/lv@E?=w(:A0jc(燙@yuj|S?07eqjSLe)kѾVεE2iW?ؼ9dH}8)wXB.-IK{A0.cy:3q>)(nM!o &\#kA 50ug0ZU 7z2/3 |&^bpd]R˦{2B 1y܄t]! a-%Jq.F.̠]Nb+.d.0dp\ToRTp&wK#'8"ٝABr Xހ[ۘPsxQz%2Dd𮰎nIAG ]fG㰟Q4Ux*|ԴX ED]B::[ϹW`J & WgB 7$mJm5fv(6R#r6f? Y5wV1~NHCb 1 I;%H=$uV<w^yyp6֊2;%&N]Ao1Ķַߟ\]rE&˒su j/RA_jNG{ZʔwAjy%tR!T(Ie=3N}b%@`n>A== g oΧ,KsWiZCWD'}jQp>rQxݵ8$B&mb/|z#^vÛ-]\L;Gڸ; T:1av౑31m".'g-E%*s qHpK."6vK4D7\'>\M s]b3IR7).23!WH#@3 r[1M̓(Ĺifr)bT?lپZ.nFQދ 6=Mmݚ@kI we GۆY\/6Lu֓9x;{g#R?-^a> k _Qh-jI4r48IZ":K( Y.F{s[,4Op`} HKîB7&_rxp۩.r]\SlI?R0,$AڴS7?9Ӿ6tl3?/%S/}nI`qsS 8;K$g3NQwuA̳lbʢԋMcz˨}-L{d} @KTΣ%!7l}0\ (p{dyۭW\yxFJ @p$Z%],!ԡ(x%̣ߩ92xMW͏B|˟ rkhlIGuJS}(,/߆Z{-Y%yш]n `?Zuތ^$~u; zv ;-bq7Cypx!>KˆM6_J7e^8Q'αh]9rÒfAB&rv+M ysW%|,st=Oa,ɇ{jIAh)sBoYNGc[ю@Q,3G3$oU.K2z>^!E*S+m%=ϐSK]@ambzD Ht) PѼsV[nq1P=!mSE_/AþD (v2LՙAG( E_d(DI`rn,=w)ݝ:PhKP9y)AmK[YJrb9xD %cdA+X[58VX./3=LGD^3WMdx={"|k8DeLt>-M^Ga?~1Ug{NPk4)dhF 4tB)~D2Ϋ@yvнW),3syq)24F>XysW￙_fvSb]WWGJCeHI`m){?|$9Zz0`e0;dAwo߱\P[Fߞ,6qv'9t ^㘳0tAhvHJ?2fB p >C:60#R^k:&R^,5fo*9偩!~/an!Iv )=AW%cbGO@]hrtFHok C\l̹lYKl\O.@W4+׀xJ JA`\BfJ<[B_9,!EKRત"*,dH!~0o7=jv;Rvjq-JĖB3 JpZoΨsjye- 7?gjfEҁ0g"kGaO{k^3!i]" :dGϭ^6RfQ'#)- y!DBP0V^@U#;#F?W6e yy}k":a6&\ɧjaD-1vƉZsէ{9롿6`.vZXz'fiǰ{z n=?т=,烞q]a"/1[ģRO nb+rI`o_̎7 p. %|e h(( Zk0CLtW-wE'8zh.X=nm4`>KmU gp`sErVY)]Τ3y%oEn^۲IƘ`Z;jxDXe":й;&[ 7y \Wp` Oby|0˙vN21#BLli?9W^ 7ҩ^]UnaDm0 w 7ҋ5~}(-Q*"5Q ΎR 6`]Y\t3gFw99 r_.4d1I9eB&JҘN'>N~uM(GUSS~p@7zb1f;Co>u>|{Y#J ^ `'z{`6 ګ,uoç5 <>*T!GtoeX7N&B`jLB~WDM. ^&J23xtul$X<da8r~=Ο`Pui%lWѭPDClQH;dz/t?L 3]+V@vk]oߒ46v6Ұ$Ƨ-'!Oɉ2_&L@*|$N` GaCv'܅4fޘM1/~ }c80~T!Y ^Z2o]HѥCgz@Z8IIQ'^w:{fV'de|ޝ5,3]șva,=Պi }>kgeĖY/r뛿{ M29.NDl(Y %:~vY:xW阛!ق>̏)&`6&˖:,x#( {WkT9o L1_y6 JQePQGMI7GEϼUH)=ǚ7 \!ͣUŹ|ŜaoDi ޾4T;hxhc/HQgk( wF"+޳%rTFX.#uzy--{ Wl(M:g"b%Du{- }hbX2$3XpdQ_'YCx%"(L׼Sg7I#*^XE =|aPmnl=@$8,܊mg#S;"I#J'3bw}^3 0k+{c¦|&H+W(RP2щ7) i[lPLQH0 ;chh. z["yٽ?ʜ.zۖwzpxO5Bu@w -\.'7WU,V_g#RTV%>iɐ1uy!Z ܫh}puqJy/1IɆO*r%El_^\~43ARS]Tz;cلx}ok~(JJ~Q|6טҺT*Ƽ|/y~!3dr 4_ LP!HJ"ss=RHPhscB):Ab{Yq7J/JGY'O2n{K1K=Gc5&*mﯝ!HHkb'lREFlêiIHx'Y lRsp)Wo^z=M"P3 i1']uK/S `IqcZm0`}Ӫ }Pe鶧&ipn.8ZESr|#u᷄G75N=q>n #t}HwM<C>}woslcbU #Z!, snzWNpN?N TLo-^4kPg:Asm q'-c(@'ׯ~Z jR,.Ҿo(И&}^,RFY_GBߠВW& ^W(ģeS{A;L,ˎC'!s:4;l l\n4S _Ț[np`7L@g(x=u1_n|`L'bŸ?v\Wu%2WNjAeL@$re2N3 u/ ?\;|-i{5V3(7~I4Dn{3'zvX3Os#aC+1pZ`HO4,PيHVhsĢӴy88!~ZvK; :ʯWpu)h?S?Rt.j%*6܋Nu=b:ƀl3qbvY?fO2Ϯ (AmTXU^_#@/"d18{ H) b/#2l/O4IGEym"+~\]^\?axX#@ 9Cp2_۟rtm*@H2QW>@qsH_0!u2ݿ&(A$g WF=4>㼒7L'$g%XY v+Ke9|½>wE~}.ٶA 7ӛ{5`El܉f7^%a66Z$d2o*zNo |+縞\v直:}N2@8((cT+ay&`.<c _N/:&LR Ì4Qx ŦbPuP#?9_kᡗ?߭}}[}ǧf|*[QG]r55ia}3aW{οўȹo}_m3lÞ8'*bs;7LT}۹6~iڏ.bIyϫr#9sF'0oR2KHo>|QmH^bé( oI|N [1ݚB7J 9KO} z]#ic$C W'ȘYOw'+aae!=S y*AgQ'yuC*L;M8O-^&U9I^3`tfXᬀr\F"`&wD3{<[ zhvF_ex\S/!J87Y1.Jt0 XAg$. :L,{^&S,*+w(R /'FCxS ;, U믥}v [ڴ8@H)xvju{fːm\do9yw C[rMJ38{PQ_٤3 Ζ3–{+Ta}rdf T#WyYSKu*616GX|1Eؓ ⃒ihUOj"e"q&u094|cߐi=dD8O.ޫeM*HW<{xxd0$Y09jE9(44&Jz4yy A)FemC-?Ӭ∪fC{* !Rm_]uRn"7t,..ǰ ɻ ~rCiki!`b%&c\Mdf?2x3sQ#|̈C0OHJ% R `o|yu)2`z駉FW]sMH<ꍱnMOF;b2GIwNWi!']ڊh8v@OZ>({1z7ڳKIźG++:hH|; 2"Nc|(GėR 9{Yoc| rU(}r"}QA%^1*FLzGYgf\?XfԵZLg^{Ȱ3z*ӡ!LX(zu^_/9͉-ֿtr6D߲|j+e iN>MhI$ 39t۔[64L=12/?˛j7TsJu<65 7Qu:TJ29GlLr' v|[iˋBkG0q=lP*EL|(A%N'| wʴsb'Qe&3~򼐭+c"@S9͜4,=ޢawppae)O|F1̈z'![wv)ҝiYZ>ǢPӻPhS jsog_-4V2.tnK̕(F4H%ϣ*n`rcKeJdF1Y편Q>nz\Kn5{) 3r'K}i{t7. ]SwzxNoJ-å!;=81T$KI1jk@<^sʬ/bGQ`_멺kb)l|b>A{tx&rY{AT-RO&s5&W"_6ƳDz$Bv40~Y)}wEviH*8M>$\)?p4Xw N9)䐧?2d! z7O"8& M3鵛8h)qRDs>S`!F:-BxV~>Rd }>%9A7GI:,x4lcCp&E㷓w/ FCo]. _o4 2du%g264*Fn@ כ@ÀU}y,ETk/ C(I=8R#hqB+g, t EҖDfom<(M:!f aɺ_  T-'<)u*^XCv6b4+~HD $MHC \eˮ;nO_UNKʭhry5I͊Kf%]çq;ў_?g|Ӓ\ֆ7̴M1 ' \9u*t(LGݺ!`fUy4rN$;ŇQeUE,(ٟ1v3m7}& M& TɘY}ʀqX.Y11c5'ՂkQV~d˃Z A'g-g{_3ir±DtoW|zyYjvZŤ&Qwś 9C䜱ߦrA#r lT|iF%UA&7o<%"RP r1wv㡋p Q^ӹx8d_+gl3.kyNzk`"~ߦ" RhtxM y2K#v]CrDdeUkZOCG-`y;a{*?إmIOtֽ0h P5WĎO&;n3ݾcz| R݅?M/ (y+uW® tB2S_ҫ_vȤ'QSc/S>Z'B{ádP~YٻS)ȍU~nɱT;0RόMο`vs9Jx8?؇ oeFӅK%acL[Wg׿W4kB CE ̂y6}u:h-Aȹxw4Z|Wr{o&Q Xt~͜vb+mssY]G%Ude"&@ AOq  U@B2Y^bYfPa>/WrFz`YTszT(@gIL.6S-LٜRxbRv ]y*QlFg+qkd@˭/9 8O|)w:H>lOTmjc6'K鼤jEGyzm`~9R,uj~Q[j~<`} Ȣ$*lv28 #fW,L ^S_'ї\^!m㢌E12Z$f$n.Fh̓O49,O6}]ꂵB2 "/6ͼ+ ޟtAmCf,AJ4 [#pG ,|:&'/$ްȯ\|WMO5^ڐL}dGy+=S{1DvD LgD?Lg+?SV{duhP-Qܫ:̼S֎1] Rh݀ӄ)yuh%tM{<ǹe^!C̻h PS6H(L" tTI1AeDbضWIئN2rdxtdΆB#$=h^c\R>it2]s50ajBrؤc,oc!+Y;kOS i)B{ kvYb5y]m`4)V@i~gƲF>,G*Ia0#_i_$XdVMKVo[JЃSb8OOD, ҿ]}*go]:/)#{V6?a~^菿-daDOɩWaF!}{hI2noR[ZفڤK̿-%d]!/I8u a :wtESvW +zt{@r"d9!LkŻTky].N&gT=hx0'EI7PB,X{^_vpeV4}4e  2r K.0#fIUxl,eB~_+G]m;6>X؇[Ш_gGQW~JX:Zؑ VwXɷoX,uzH-`saXJ)?"uU7[+c!oGeؔQ tԋt .X ?qÛ2r~Hʅ#1@d@-܅z0w2ݯ^S^]tD+c9͙yzJ"FgϼH[i,ɂ2u~V~>MPFۼQ̉S^8 g.r,z(#[Gw,o43dyi. @JZkDY2oﳸp~xSI^y8n㪰T=r_l%Eѳ*ЋXv矌 ]T~{}+ 9OKtzX"w,P167K6{IuY}!.{ɐ ļ,0Ky2 @# x)+G`,ﵖ IҭUI֜|!%?/l29<=(ȷ+O;ۡ7[\Ht Kȵ0] f~Gca(<= FxԠV6Ϡq0?xͿ0}0CҴSk/e|$T+ֻ:,CqW`h|<Ե$A"YfyrI.Tl+7E9_R^!a Vj".+˹bTn?0V7Џ[9k/Í'IU؄+ !ݒI(ȉ(||G:)WmNrXů#x-ݵghQ:8zv#|ӑ|9d2VLJy5H3y?ˊ'TVWu}?Cop-Č/{$Mgc|EIĆ?:AYRN,ߣNJN2Q?^VE} t $;(+du@\b,e th}#@ب:cY~y;IߨOܖ!cj;C.Ei{pr9J2{)玓~/D5'<DHWxyT^z/){⻍OFXtLr/I1O q)J=1{}|kO@Χ'h47ǂ7xlqS55 T-趸M9OPv O47ݗ8x+.5"8o? ܐK+cܭB8Kd[MIEh\d%3g~zo5i,3CSVh4=rʱfAVv6I"!#=4,n\>a٥:0zՈ;Lj?^]ŵ \p0_wek_,yldC;hj qPʰl엔鬋 律QX!A#oM`vz/gb ж’B༽8&ytvlW(lY\<xAz $4*[ޟobIZ}NfyQ.}x/B}(ʱ螤zů.t*A~,". "G#gDNO^hOpSػMËTM8l~}ʉPjE3m-ϴ[&_HaxdRohFZ/?!b->$MrRᦞqMD).@5FLZƏ4y\ň㷾rHz<վ'r 豆|p- :Mj#]R$1ڻH |;%J7{/u'[Z^qSZ]:xEL0}'#s+7n\`z =J(k Lwk/RV?s:UVR$Yc)p7}駊ߟ;Zt},.FwٺgHJOf^Q3 y,wO$r$U2F6w2*+&.iڦ}݂NxoZw``Tw[i$sAtGz*jj)>8r;\\A$ۥbBL1F<}vxeb73kz\5m{ed_^4:337a1r=wd6[r"^:~ef%n<06Hs%sv*2Z #xi61&͔$_p j0Dʢ^:l\ *<@2Qpf%P S (;V*tz\5_A{'/Gq'eԹL?)%4u~/kkK3GS7alZ$MuIM²s_=]msB91ZLZa% IԮiGx:A7^ˏqx<|\k=z&ΟU* +Rs9Dbf7( NԘӋ͛̒"hFuj9Zd㬪j$=M9Dv`3+~ e,+Orz#+2r級.YXt;_Q9V(BN,0f_bD\ׯRp#kT ZVHVܢ3O-8?t&TVNkyʧ5Qf#3t\G|LuZJ5 &}Ђ-kDouc+i?A)C hQuHG \t-+Jij"`:؛Va{I\n7=(֩@{+V U \=L~l`. -8ݠsĚ4I] _q! G'>>ε4EKasڶ8)DB7_;ߎν+>|28 CְƆW/ό[IS0$@K 6{j˜HB"=1odoK`%/?wf3fSap{ceǰ>anK?Gi8PF`N蓹c铷{DL6p?uwUrb{`%o\zbϺmI^3\fAUǵJqH&+KsqXz]< ^xs erR]Z)ݐk5aqSF!: _6*[qJƺHӈ|g~oK7U=M TpUnùl$\Zb2 Ff0HN35">%AMO?kuG P6z-%LA|һr{) dJ'-{7a-$(?ΝPV=.-Y/F{ u qA.8"\.\]Qtͱ6sf6X &FyS[W LAޒ.%w }̆.7S`"L[sLDB7f-8fc[s '^&#޻zksH~kI|ƅO;`OKy+f5Ժ&-^5m0l| oJM}C * }絾@ 2Dž7r\H**iVY^I$ђL]Vkrxf%0f{QUD1eĵo|'Aa|CS-הxMg3~x tK/G0>}N_у@f{A >Kt1-mR7KmHSI|IKPǧha&{KW\76zB>*^#;Qr4/Q]:CHb$(e,-ƜIKs3QɎFs!Pir~Ҡn /(&4_6pii4yU+cdN͡Sw{+TRHyJ:]gfo/S]vx">N DHkok/>ö#/-nj B]~bv:_O"ɨ%[n跬B\]-)\}/D$d›ͳx^0[XP>8'N$NbjϞgٽu7SvCzÙŻA}&W\k3TϥnlnJmixQBE t/)TL"KhoguJwPNblt7hDc0(h taLTMyԁy`=f H H&;l$bv RʥLJݨ¤:Gx]([qUQ{"x l]؞DBMii 4ΐHc.zAx:Xb?+ϥnu'1PWnf< .S+Ǚp;B'1 YPp&ƉP8#"xSh Iy:0r;<\ fA5@/{/SU83`TNdd5,WH.VŘwTnwŰP)8j $3٢<)fb;OF%J?&?2s|I :gc1m]W}p][V8TwO~r@[Au]jB%'jUP q-f_Ƥe[R1A9ʛbrڟg,AJaͬF6r.|[IQVonݰ̞raBKt['I7 ΄ ^ԨЍ&uK,'0?)K@A6 bv*&ك#V)^SIs2]tO;*ҵ'~C$T3e +Q q N,({Rr>oUb֍/#a0[HURa).!?٘yvˈ˥}?hu sJgZ#vX$m 1ĿXQ{ڗ#*(O8̲Dܜ;/ $."cTT2෦X#e'~XM^NCqa @>ۛg9\t`2u} jzyQ>kGJ~^G{ 21'dxJ6Y:+ZutʺI+8R) >W=w{P=ým8g:66ySlbQr1asլɝkh.J<gvQ콹$]իQɩyiBF}K!]YfF6~^d4ɥ wGРWh$KLYB#UJNCj>o9zoZ ZRCwږ8OxD*ka8gD -"g 7Ly#J!m,hNxd6423iQ'pLx{KQ&]RGp Uv$s]5l,Ҡe°5o<ƽ DP pE_Co31fflnc(hf |wx`@yĘv̰:Nv="+W)GV9{.n࡝{ *s'sK:(k^l!r轲? j2(Zq ~V]xl/D\Y%yʻ$$%U:zfwM@1"Q 6=9rFս2 b. <6+M{ݑz0|^+zB. 5U EuĽ>RMKEAF*q($KVdWb\&T6$!UY-ޜ* K{?21f 9؜nQ/ cT_CvhkHMh [yLŗvњ>1wXĉU/e ba;N{`Qʝxd^+?oފ)C-Ӱn(iB9ʚow} L(3 rإIMhGEI+ 3wP_L_wx!ӧ*zx L .Wt3zD {,'Sp3^h햯u;sl1kHJl W?x,9ۭ/VF.N>0riex}%ߗ2߫\/~9+RL7y`_w3.@!,~~4\Pb$-m*)kU8(V #zXyP[0Yl6"C4.O) B~ > 3ql*(_2ЮM.+IUY7Fq"{/}M|g("PL q~j#V/k{=UΠw`ĵ0F93(A-*We}[SL1njޔv~ŝF֜9KP ~y;:ϽbQ[ꑶ%h>j{?fuBRLrM(- O6k#6I2ڹ+z Z mΧJedXҀjZzv+fk)2z{u ]'sb4i3<&GaQh 4o/ ”iv?;(y%E;QwN* m@na 3dE7vGy.g9#]ђN r[}Rz7U>k3kׁ>(NӇĀL{|m=W>0*ۦlŦGYw򌙊7St䢎pcV`}R~^=#K˛vqWQF+W*"dVQ<^Ըwq*!/]&5K ,Z^\yH%vjc;>v) mS ͅH`㯛C1e5v肥 oTdC'5<L8ɠCwh길~e%т;Ks3aiٕ,<\Ӯ§i_%r\h gUY{mLKn^Ԕ\kH(Ε? M~q]UO ^c+)ORL1yo~hL{X+1C[0MAF`Өt:-^$tFbu{~kѪ*<|g7Lx`UO$6 F*tUaX*1 jI^O康a>JkcIz kHFn]},Zۆ@ޟ=1]$5 PވLO/rm=磶&ewG_^_m}'A~qjљ_髸Iho.wi^U^%6I[;Q. W,-a"{vFlaðs wI/ZV^v-!y^ء} S/'>_K",x-&?4P1>,ؠvË gF~胥Նaa|w⊨$(Ĭ/?"v@|wqUI~r HGeyHN$Ymx/:@V^ -m]Oږ?ʿCVqgJ@`+,@VahRjXT<%c J&Z˸:Nih1te`&0uz-h:a`A4/#FZ+\Tn'zayU#~-;cI3"y_ C _äfҼ8`^}G(DzVgRq% $8K8<}Hy h; Cnh,0g`_0NMx%%W Ut'b+FKgnG֏!ӫf\f3#AɆ̿9|e6j"=|,ܩ{ʰ2'ZؠMZSvpLzG((nhco:wxW;F^XKJʠ޸h*C8DzKK\O,H:PF|jѫx5̓Kz2J't.-H̾K6*M@ vD)F#ڟS)AĽ~jfg$dgo Ļ"ejܿ1.XÔ95~´U) `ƍvrqr^QM}o ,Xg {gCB:Wa-R5Ud t1WX쀿Q`\fDrN6Mi BtHi׎?諪A%p?t+Ky%a[VuMd*c@O_-PV2_ԟ0e  ݒ@̘jSKKR͆mi;|mdS  ήP$$'gqx^>dy "~_{2gmi_,P]bBoXd)@& {[GF<τ~KC:S,Gz1( ŀIitニ>O/s1 _svQ8Y%%)W1yʜ(sSk *|xFC #4A%[O)B宠bk,G^{~4v|"[ rڤnvxڶU3D0[xo؛j4dBGH*o8NFYPawbJϼHjX$#-1\%pio_$=;|M#i̚6.c!Hc 3FG-ͮňQ_`L0I&#M}o\hMA}Q,%`Q*AdJ@`ߟ}__m^O]ʇk~MKǀ2[w#N8Fǔ]u vbD~" zyAD؈h|ƸھkܩODn-R,_IVs: )wWXjw5S?{S0fÀO|:A T/aDaCb?C-fu'ePE]mmu#8)'i.Vz vIG^5Fȵ؆uZ»-TG.xRm /nÁY}JLJ[ڴi~J*#]]g-@Clz/]EeLtM|Iu]o3etRI~2n h8Z=)G|R5Q7MtY,&P0oi, PO}} ?zU\@Bֿ³$@B- {d,z=>^~#oqVϾy/{|\=~Fk57 8ĐuQQ|@K_DaU^Q׍ZB{)#%C?›*/ol /D7U.{MVM>o|c$ǐ[g- 4'هiY=  MBC7D. [ <rDV,g`oAyoZv)/9}򱀉yD=g)Ame)ZDGZh)׽8*$tXyi|L'ۆ=w`ޞ)>i5(ҔV[w&䭦T>zT'^G?uN{t"k+a2@?/L7ihvبcDlsAc -ԝRCLlb3Ea(dgy'.sQ]3MC2xчN\.CPo'Ipc&wH^,Ju;ao4uF/`Ă:R@ e-߮bD³}6xQBVs RQݺ C7~lcBC+JĀ֚I{G/MÇW>C׸ݬA[Q>= 5U; NTCNDlScL\†R/P6lR=HXׇ->keaU]f$T=dTI!}.*{9OO4Jۮ5z&-tIWm2n$v*9zJ0D /%7"/Q&?L4N@=21aBq zܖn͞hf O??nwDwE|t[¯P[NpPcc̿40lS.=K 3cKgMmH~ˑ8&dS"ҴCU772uLѬr9_~ !ՍIu(Kzoh'I=8G6Ȼ&`;QSYb̓U)!ڈ 73Zu=ߓ@ia~ oJdFx GX֖>xӭ",3#+C-1$ saRO}QUҕբ~<4<<0 ƌT|> By!eK8ݰ2Y6d[g(@LqNҿէG܋HFoGJ4 /m_VQ2D;rZ3U2Cu倶¥i{556*# ?2qB۩$g>r*kOz ln6z)1e;3G5p&S,{>Kgx(υ-(b_a[oc6JHv"͠kkdU1^Αo:XMIHƵ%50+ɾkz=װ\k9X{%5fi 9)qKT4&dBFJ_]$*|u|xF\CTRu]P|aJo_UIsk;+7^5Ľz ʦV]"ijlxc76̝UU:28KDkmw_Μ-e? PL>%)na.Q$hu$ǖJD= {'<;<=_yszzTEEY9x1gZSmƈ6!Q&99Ϣm~/AvzAO2ı][וklND khz$r>Yz!ud32d'.9"i8ؿr&ͫj9 9dG3l4}7v('/Rnvhʜ4 (:>R?ָV+Tq+X'QӋd/M9RbqhJUN]aO5>I3 3K>D"ؿR"*>Ϧ#V'R/Fp#(1`Htg,~n"dƐJA4/m^L&"UŊiA o/aJl$I7' Q/~ж L .nNDGbv}Rd|r WijB3d9oX1HB=( Z2lHoN?Q迋d[Z$ڨA~!12QS'7 fW<&{ "K'3wC=tpDOnKTH0}T#yyh|cFž.yܺ8E[҉͜Q;3U {y "EH39 yij!]$^f49GF+<)#`.hP2@·VnoujW^#A' `le>f$PH. tChqiWb EL/2_VFԧȂWGfkGhe:QU!2"ܗƌErb\[Urz&uYc0 + tCt`=LX|p{1Hޓ GR3u^rA8`@WhhuRnS+!U]b[hN߭:O$8*egm_{J!C]~NMWGcg>oH )!&a6G>gfkOD?u Y ѕkӸnvŴBE^zM<Y9<3yG[*Nmp΍na>&ב!{辳)}= 4I=Pg$¥=*/իÖf39Z[м,4b:m5=0,4񞘩U SI_blưi'[!O9'/X%"?b=H?N1v,|Ocxuu"m\G;>&" :S~ɩmlBcdhDZ kI2{A.U kokb-#,) 3']J=8JT#g2hWb3"D8_-'1dɤ$K<?NX/Rӝ9Qo%S`*O1ݡ,n 4OZ$Ay0-q(C;/M4!C0}-)$:TN*f)T M?!߆@ڮDb7g?G:7NEHCDʔ 'AIhHܩ fGj65R[rp=0*BGJ9DScVKigE@txWgȱ45Ҧ L:KZu;e6ǁ!_s#ڏ+PΊFw>m0ĪAhGmOضqLY%E^Kgjn~0OHj`U[284ضJ-~TO\ - Fb6 ~ֽЁxcf@$BGgN6csvV\&w5nlns˥>$1$Adat脑^h슄ťj^}߶ʇgbb&kp( 'F:I1Mcm #N p}lw~a\%Eߒn˥v,I_"Jmw-}E<JM߶~\W>8s˿MYz "#|P mO*ɂg5rIRt{7o}N-Aܲf}Ƙκl2ӲiI7F3 -JN$c=;9rt~e//$ޤ"eQM} SzfT]z $W9N5k˺C 8K{!*zvhl>EhycF=YhɩǚWo Ot+裚4C$=P|qv? \vgL4t9<oϞɴUC[40Y-m]kby<)ŃHe,3ŰKTGt a&ONmcD$:©R;Am#ی ʴO/]m~/]&g);H48,,2scУP CuXqڇeỺ5USwbVy#'^b9X<5MO,Bp$J%]̠G_x_E$hm %҄'kLp)㞴 JK*UF=x(D+AVd5.L>J F L4OG9]Hz/zF/ox]pGؾwnLzbBiIes?! ! ْ )3@meotY<0~õ ܏m8Az$O+*[?N`eY;J2`EFU`cp,#dQme"Wvsx8YD[y*$):?io .4阨ؕ3_Az16ӶuaNIñMᣑ[.Q`9fؒ .Oe"'%=ݽ <:Ͽ|}'Ej{>}d?'+sha\<c;thr/g0o[>,ŵjRZB /up]%"5yp 談+^ɱцbV$}# ݀ *q 98̨U;U63s{VʍZ0ИyA3u .b*FMʽXqvgaaba?+ђE#?`l"B eV V_]aMvٍW[_Z%ԵvqOmp^GORk2tAtF("^f?xr Xؽ_YtƷ `>^ܠO h=cmr kF_Ut*X W#]Ï8!Hn3S{\25^WtV3MwFvuhu}S]B@QiR|nkqnߔS!߲~nޓ_+:dʻ[[I\\ +r\$X1iH}t9=>) a<4H:N*Q=T>},,M_~xv(H }=*eawL3-As\TKspz%eoWn1o*s游"J>s|HwW:(z2wˀيwmG8cD1/8s~_r'>I0]pϚNJ|+ͻ|8Wё;fX pE.|/,o2̚1|5sR@0פ^(.R%(b^?[ 9{9Olzu_^TLGX6cj !flơ7OаћN\9FLzHã q\A7P<(=29W>{1[R SX2:MLD+եE A s rPAMoѯ+Tmf4ʃ)\)R: QZ;sd]_QpBB'cw'D 4ZiI 0ܪ L}D%׸s|Ws81dֿ.Ol|\Z4Օ~s< Y.@DӾ:-kHz`{@+HU3Vl*.u<'} +Ʋnn! %h~*N-?$.X_WS(6&v18p~Ģ68,bR^}~XDAs6c+%5u/}3黊< " 7iI7{2Ti=O.Hk;wyT͚* }?2nYh 8;!g_5Q-މ=F ſ_?QKLl}jRǤ"h~8&'VXJ꟢9I3X21ݼ t7R'rzqZŠ.f^V`">< c}h w5lAIFXM> f=Rsz8$9GmRν*z<.Wtƙ6to)>_x8Ktffy:{BQstDaTr/fcwvjm4O~!`gOe_ ա˯V:dt龳m|6׃xm(E=Gh D!d2 \ Stʴ!,) Ɂ|#5܇s!XA,_BH.,ȹoÌPo*sȓQnB@xAiPΫn]I} .sgH(<vmHFC3l)J:LmLyQoP&[Sy%Eޤb(5@-~qGmK*A_Uv+MaD ^JBT,gsF_L 7rY?zbKH;N2;ƍ#2Ugס܍NCuU%z`偌kxߞ$f hqO8Ʊ;{gZl<.${>2h<"DgT }Znlmn|(Ч%f]<*sV֠,nN&9F!/ 6M21hEX..CûY_5Y%H={:~M&J^C: Dz-s_GD2M É0]FHN寭2 6_y祉sQ%j* n騤>]:Ah:^o=VD'gIsGptu_-~H=#R犓;/mt~&~-E|gC2]?`?կ3 Y.Ⱦo4^&3TW-&5pp$Ǒ0xOU-(%5H kc>Ŕ=CbNyV skCjKd]?YHژ:xc=qkIcjհd3p Mc YEXN gu0ffH+bߔ,-!or49Dc&z*^q9[mqB_ԵsXhC rZ.~J~M'Cբ ~B65y:V_ډlp~ Dtneҙn5G:ɾb#ą^.#(A8}[|v!zVD_nҟ$*̸*TSJGnl&;mP!w+T"Q[3y* k' "/3#kr&g7W=qۛJB>*+4.Éoub,4&O4h[P#JxmY 5??﵊A 1C*x T1}bGsӊ4̩^#,*B@NJwbs]57>POJYb#aeWӨ6!2x#uuhz0z?#'61 ͹ڿ'_P08+UAjrq&^DBy-EUՎ~2:@o\~&.K.wmt I)XIq*@D[(ԨG(’/ƒͿ{,k^&,a_E<Ǯi_{Tp'ETv"I"RBP/&VfCR*Ƞ#}k 4i_"lu+sj8jr&~f2Q}\r`jZ>-V*蛻-[W,-#nA̭ -H0m@ů+NcÓ]ذ7ȗMغpӣ"*ꐺ{ק lcJ߿Iϙ ܒUFg՜5> `HW`ĝ"? .:0s<r2 `쏶]IOhpyLUr `w%iKdςOvՏ;;pOYӨ8ݽE.~)\7ocV$}/Qc9ɋ! 5jgC_դGg!?=W~?d 3- pwa4CPXrVؗߺQb>N͕ࣇXҟ~ ϟ"oE { L;wBF^qM4kmXi?N:`H&Rdc};U"D08ebZitoeޅÍzkUV?`~MB](VO $ !Ұq^}?$;IŠKЇ/ᙅwj+QүdYyvr u{k/ăY]$u҄]vjJLO(2 |\O <b.+H˚s%%n. )\ODȆz%+PȐ2;p\$7/ȏk3X%B,Pj+b| 23snθo(iW|z1"a6ͥ ff!|xG\zE2T&~'BlJ .;[E*VH_K;*J@큣MIڥZ/_-88LGF/lmE.sp~M=IֿHlDdhYf; GX7?*#6cx_=K\:jHF)n+#8s$x3ڌL悾Pr2xS\5+q75O- @)̎7:Jo~ 5xUb%2l蒠OJO!˙sWϑF^;]hѮuE}xFG"|wȀ`(a1JzˊJn@Z+ҪUd2!ZWLQ}`'ف -}b$D[P ƻ9/3l}c? 26AٹL3R\lMX,ДF|c>Q|$ҰRRJϊ{ei@)Υ@dg.Yڎߨ@ ] ^ }o4sn6:\[ ׫,\|1ݱ_#xW .Xt%!TKu ~vbcmةd0n€%"vzrj`.Y =xoOP#xI0i?+yx*Mp{w JFGGXxG}07;pNnDZ9upM!Z,F-2k0]?}/)kxG  Ϋ8TVO8W?|e t^v++Ic5u/\'H B#&`t;$ $a&MB^h?',_EnY5<qSx|hTByß sQN]'S`^6qpyCnvAn q s x FZ1U ×wɍT^Y$)m^ytcD@}5%GiBy Bk WuƘB+ L_M$ͭ(Ѡ3zyӽ];ż"{-^c'.YnSi7f eunmN4.frWed%^Wf4z+5MJ?q_/[$Y2[Xޥ4 pRpo 5Y2A5M5O5Noj֝椹 <@BRlAΊz{ BVr~'8QcwrN_/ n !"b 9fݬ=/Uwm^)]oO,(-#`GD>O krQ\*,l|x@noԔhc|x@\$=qW5_}vwTey>1y~~J%>b7w|Ycp_ Ӊe_IJ6,K{aLO 2Jo$t6릹y{?=uCɿlD*vëRtNjiYR@'h< #-O~_~bߺүQWxH`XѦ3ן/5wDսqYצ.zAo9MV" ^I3#,):`,ӹ6`Z!&=:W^m,*Ї&=6_'UhPS'4=OSU@>HKuꆓK#IaA<#8ȓw`u/ >?NeI ofd]yȹPy%<jz5E5ؔ7NқN[Qt_ V1%f2ciPJ Sw) n՚-bPbI^YIOM+ΥV欅UXhaWG0t`L~?Qd2麚TωqTluXe}`cWJa 60f'`NB»ME&{Y†nb> I\0)qzѹMe Y/5Ʈя̹g; 2* V_.hUJ,rQkuZr41G0ehĨ1X TU*k,$֔kR'f&' GeƉ׃˾6"_o1x>vb@ @bj_IJdR_"S$Ie_wt~ ˛W%?rKK/kmp&< EKτ+WIwbPӉDdJ{O>}@cM5 J N4dK_(xi}c_LL( K=ֆ--zDV >ھ d%:nRFnbGؠL{{uDΉ>7UxG'< c7Miz]P;i3q(y#P Y8r餂cS/m؛qd !`kFM3*=" }O%.Mo)WT_,.fn(eYx:o*K%@-LL*S[H:+1!HyYHTYX~r!e9x_J5tz:f_VdƱXC#f:$d_Ap2g od,~!"`L*CYΠ1?>6y/~ZIl8_0꟯ɗJ]2d:MW@ޑbBJ˶S}pz_G'k`e ¯bN'?^ZqtKnBA,䜓`GF$Ez3r]=o+MJJ0Dcܴ2`u,ߘѥ{3~oYEtϫ@7ڏs v7YŒ|K Ħ ].MXy;gr9wsJ6n:.`JNOX 1dx.JmAȉtM"v0Z\Kn,;Ɣؠ$QP%~Nj&S>G)ǵ)|[<"? % ^_/Tők卹WKN0^o. \U \IeRc*RDͷ!w_PXȄ{zyi@ bӇ ^Iy} k4Nv*9xsىۋ7Iq -i:/z2O Q! tQSdXœ%zDžqp%xT#5ʭk9 ~/+# );N4m}}rI7!O}i"ۈ`ATɢ@!I(MP Zl S]wx9vk{f)# Μ}:-PgL-'#Xn!&`_pL2=!Yk^J(FZK!l_7:&7Kg[~a"Z9{ 8TVnP;Q9CCG&.lr:G(_x-V\m25KI:ˆVbĀ"/`JgheZŒPb;3X1TX-*IM4 rR Bj^_9P6SqnCe!UnEvSWQL@{~EW{wNa%XN tx:^,0{oRdxA1dI.tƙ!;hc."i8qR?k +!RXnNFFFr"i#D?d\Nm*%#y'VbaF)L!<#΂ CAa ŹpV51Pz<~ uVqD5Ίcr87jۀ$S^*+{)ś)<& cgmSph+r#v/>;[wUS|DυYm oa('ˠPǢ4*""uEbWך4FmG2.0*U8e;suMAAnH>Jc;el]j?l} !ES*NyૼՇ!2:> HǝvNbJ(}ױ&el1`.YСcWPgv>[נs͟]&]lR/\jǃu<XTޡ0La1g:k@N)A zO* :F766Y!@2I C~?u],? rd0QM zl'C`ց80m͉fEr!_{#r2 ,L l]ub : R`#6! :WDcŇ;9%2  $K..f,-I빯#kշr%>5>yJm>)AEĿy{,֢@|(F&|L}ЮujO- e^8TMZy(',ܷt36I_b|MGoEqֺ?[" eeD 22n`ƕ[*(#o^2aॅ8O(Ud/@{5wIt>G-n ˞V`Z'EϊÂ_w .uB}y3a+S\-~n=Ȝ9}  d jR\j>~j\\D"o~+ Iej.ىQg?Em6ƎpO6E=TA5c;胿d"Up7f E%ta{G̋ {Tjھ0+ l|m兊1$>c{4rH'녡W-s"/&翢U|V589F>w:57F7xN ^#5g!@D+NɎX[݂*uCtABč.72p>sWJkw}[|}~_?y`Jq/fכNoB7d_ZkĤ5կפ ^£\tSifr?W7!;"|7e6ѷC@r%2|c90JCn^um7:Iʠqp̙5Rpl͓P M/%'t0, R`M'(88t)IHz;3c,3CR)V~۠wIF\.][/Ov&i-$~I5u\MSYqQ?/.II#{$eľL`~˞yu&x*RGy9cm=v+Qc,<1IeĪNj#tjS^*fߦ6|8OZ73Rv)(_ %7~hFK|T0퀡@}ҡ644y"D&-]32%mjyߟ_z%aoU}I(&acL:ƩIFdRW$ec|lpQ'B^~ ZYKCnX癕|L:54:o7+LZ'8U&kA)mx֗Eg~R p v6^6z%9eqP)ߦۗ`J[z|u1"yNwgR㊏Z&ZXGaziO0Iqo}[S:j6@ \.iY,fĔ_,^7GP[Y5 lXж~s,KĒZoƒ*&v^ "_bb&fd 셈x HgJcp@_ٞ&c4HȒ?nP]sB~vtgVx`\sOk; ;=8V5ǯ,4/DV|%"L[ψ$7܇[9"cZc*}ZA:+SpxN_:G}sf`p'vhHݯaF\Z;I oK0J#$y8#bJ~OQF| CL/m Y!U< m}*P(h.~SXpل!̐$BEdξ%yTL=Feǰw;tD&NAf z#_n:eݧ0~(DѪ C7[(M 5u{мT,H(g!E뛮)OH[jWTp.;Ncw}7ד>J7O},Mpd$&Cn3})L_:M"yu^k;wb6'iGlXkgIOUm_jPyt,V MDoEb^U+>WO&Ae{*Ape[ӎ|97Ԛ&ﳔ}=za`X}̖iqO@e luӰLt)6TZۛT!qNjѠ,9[J+M?tN %y}1}B YD'cۚXYRZ䯈\!J:i2O2|X? V2XF1TˊF.sжVKYո1|p֨ϧgz'9` B'>…BXo<h!IalsPFKhz@-ǹ1y)(h<=+H,Suڗ)O%|p`%~/r+4'n5ؠ'shɋܗT z7]u/TLK+3Kzaꕽt]0 Ň^ cٶ_$0\ZtvT|4O6;Ma~ZG`<'O;Òd\ZDYy˛40l"֗·\b:C񛟿 F>[F~9 ~kNr$ c0E}8e1^:1.@|gv}#1'CP~b+sY(20U9J]3]J#%iڵ?V /8ݭI&+Y-W8\1~lx$mJd֘[TĻq|,t]T:'Ǫ?n 2Xǁ!?¾Bn?mpڧ__Ѝ^Q֦MmKNLJwPc<5~Ɋ'̚;iKpuzHZlGdR~!H#fl<2E6JUPF У9T}Xr|ΔZ*7& :7&UW/9,0 wV[CFtLy)} omK_'\փ]ґ9[bR+OR Wԑ2T,EsbUM1B[\y`u&ߔ/+SoE<+g|r_Zz$.0hge_G|t+?ȿ^3v@*&[Rȩ-I('dNCuj+Ū!q0Ň}`=JrRc}o94xe_djwP%ܞUKZ>1ƒ\*Ò0gm ĺZmm> ݑ._ϯY謡=NJP/~d&}Plm F (2ME'ߟ(_#h5)jtIc#+܅;PLa@%}cq=/Ы{Z_~6^5|޲# j5V{. ~Qxj4DYށ\5MOў&?E{\xD)3m` H FM(\<1U&y*&|v5~oWV I1OhŌRP0_|6P-8OerS@"kb`Οە_|>8TX1?[iJ!_hHQKV=JNj0 D#ǚZyot1.ҸO`{i/6W)?u׿ :qا 6)"(? ^Q XqqM)t=5_nV 6hj$\҈:Ty@0G4%T"V5_$GOd9{rbyKny_tFЁ.#@*[˯3t?sTI}!Q|-G>Q@ d{'܊C E0W/ccy-3Un k[K2&g:Wc)^faЗxq_"ߩar}Nڿn0G>Au"LV3ȝ;l-[ ys߫{%|D֌Ϗ Mj-49yi rEu =$b9W*\#Y8ᮛ[vMl:aX)[ī39/"RAmEp3qmJ4,"|DZWXں(b( +1jl.b|G $>x?8GsȦ?zLY z&ݵwrW;K۱Mvri7 d~gZ*#toj[Ed_~kVj*.OgkRPL8Lj&Ow+`fۅkk(7X)98*U0JZ6z}qyJc2&+c d1ǗUnPg߾ݶIodx>$"G~Q>ZFװNDi]@2%\K5:L J g#F2ٹ\ fxP=Nb^PnǁI_UU˵eozp}ԀA$| t'0|71'#v]_YY,:U ,GQΘPL@N[9J9ſ q9J홴+|l%'+ė3QOB귤T{̌a:By[xn^x*D8e)pWb VTVqGz@ W": o"4=^Μ״_WxO2Ć8Lgu8c9;UXۅ8eGU(ʀ#u)[/#t|Pk%ߴ@`~VPԔT݂4^ŗRi`Lks.,}p'@ u#Wynoe6cܹgJ Jø_>.4ww٨&~&OG+^햊uH$!Bd(G(ŧ-kJZ>!3Q=^:1 rj#ze1GBgiP@k,P}?=kd`2|RLwP5θU)m`kP ߔl=7z۳vVqD9"+W `?慈Z(̙Nd8v #<͢ݿdS1o*}/$%>" ,#21 !Kq3XS`"B+ã/&Dxī, |t}pP)i8W[]ma=صBŨ >SM`g4X%4ϝ± e#E' -T%4Vմ2XNo,X+n[ei-@~eln5},n/sl\iO|paѽ_V`4{t7)/#tQ7i4=+~HKo(<4{̼*Hp'7$Ф} ;v>a8ґqĽʦߣJ6|.OY|ۯ>3'yYRxiK4J}ȉ$Sν9,T)O(4wƗM\R  ɋf"P5"wX?u(<֜/"&;Ni1QZ/lu٦`Eq5;L >{#$X/6D/qGfcY^ac~?H7u ׷ɶۺ*?ᣗFɚ4ۙj!6.wzߎ$mpCOP_/U H>a'IcmR$|s(YySsO6Q7.6-L/U%nQ%-bDJw3k n)#TfmsiBQ7QC6<.ZH; ~Z1ݗޱHL,o$- R{a7_::9lvn_X=pS OA%Vh[%Eƃޠ0*3{c\I{=^"O?JMs}aZQs4 O!=mX#P n\:*ca,a)5cb/||q?8ͤ遜 s$tW8AMO}O'/rS9 w^30TsHQZgc Kr3Abu:bFAkηhx-ʛBP5NoJQt;45RmJGr`qHv9k ֹ" pGڊy?੮ ڽ\7C=HLYzk.6 >%z55KUҕ_<}lKXSCC1IkC ue҆夜|m> `&fix<aX t6F$v~%yK$ A/1E$6IC:{/xN瀍IUhib3@=4_^#+wu'A7dVag.|.:_pcSíKw눉Ͷ k35֍ɮ_rn"ӮbJ&"n:Aॠހ@m1|8%b'7?,lUu+&!?nP܊P1~)&> paIkX*DL[eJܾtK*A,xnG8 o/W=jȺyO2S6BԵ'HمS$-]=-,=`Y]o->b_3v*gqs>g}gއ~j1 V ǂ]DZ쥬!W{BJ'89BEGuG DWs {la1ݽ󵻳?3|:D;)5vܿj/)q%ZڹEUpgtl1J_W/3t|>+\" l\=jQ@3rɎf{|Dc sC!A(=8e$$yM{u.<`]5r!Qk]6<{aӑOҗ`t{xic`Ci6fwH ;kAJ;Z[JP}mMѪidgtH',$PW=>~uT '̮][K#,.K+edQ >d:bj0NiڛJ,g|e|1(cp] 23p!u;*ؕ1(~hF]4fsTqX) ]us_q4 έ+B,语.سtkkUΔ|B_Y3Mr O]I7v 쯯&c=nG FusM&3lJBy:/ɧlA}#gk;Ռ{r">P]1]_8g_ًO3B0+죅g!q?ǵ{ʻWv.|R|OAd87"L,ӛHRvtگIqJɓ͓tf\FIJe\-bR-=0!RL X1L 1$~Ǿ0 hV8}pv}.iVo9Ú mB޼=efEk`@EOY{Jo1b.U@\cxͬ6D0egMJs b;`2 +؝XLyŪ&]& ż7W#' wgQ1_qAb~3#d0%woflB <47t8vAOo~~9Xd G)8VDAr)#ȮaJi#+zw=ʻ~! [@ۆC.͜1 Ĩ$#N+[浠Uڝ~auՆp |4\@>!j]J@5V۸M~6a𫢶,COVBD8~T/g(#L %$ki81K¬mؔS({\fy+FYG#RYȜZm26XXlZM[wY3|hdr;4w<t7.W#UC㐈r  ߜ YgCx8=f"\8 27VL!y*W*_$;ک%U*7P.`j_BEefm} #sei =tY,+!3CWh)(:r OHrh 0DHzV#0&˧ n1΃'Cd['cۮ޴^)A3?Rd.=_bV\~ᚶs:A2+D?%Y뚑GyR")bi1vwA{f1U]')CLAP+0;G%%1л?3sQ>%)._I46jpLt}αm0<gmwJ λ0#qZB ݓwVtTܻ;oV5Gߚg0E01e`|Gl=ԸDXK/mIX:xoo`} #s{ Ͽˌr․^d34m ϯ4 cLnXoHlriHc V1+;d2havD81樚By/I]cM;׺㑭91o =YO_^#vQ|O@oA13kݰ9.5<.P.vhvBGV[֓9O\gGILX7:@ *cj*% a)&%GdC3ޖ4cl#mkr4oFxdʼnAߤ&8WnM{W~^* 95&9"~:ͽjP3YL ^Q"o>5gHpB!>&~VAK ?*W{}@iߍy/FTk"fg:䚗W%ԏs'wJ50Cxc+1939D݇ۡn|1i.ƿW (kK$mة5x׌VOM1@_zRZ}vG#bxV>=~0M.!K%Tusy/cQҡ^ǟK?rt,OYnl^*pi\&I-ZDe53)̓Hpueq\Bt[ρ,=To|q7A;ku{B`(.M1L3W5DOK螜@!]Mܿ2,p4υږ~a!O6*k{듩̈́Ktcλ_{"X&K5Kr?lP E.qNA nYݸvxp5HWj e?60vr`?w>BH=抿;-aQa:X%q J Hx%trFk!ji%H/M@& gE[qpjO{!ٙ \-!z.>X]F%}e˯S˂i} 60pܮ[%MX X>bY_y zmAa>s=C;ÿ< >_ M\Avi. @w6Q>ћCmsáM3 y- t h~tXїDZzDD>4`zj@؇}X4 X͑h -h儊 dUq^(+̒ۯro;wTV2׫0Rpt^x/{z0RWQ]eujcD't 3r-JTN2ˈB,}4>_Ntv`H6y냲Mx`XNT2vQuK/zߟf#H$ BNAynޕ i4k } VS1W]Ei#UGՂ28`p},F_p^)TS]izᅳg_ g* 8c쿁P AM'6źTmfAtf.ن`4,WHb'g>PL(2ND\+{T|uʼn_FĚҭ~1H9Z\ϷY,Ya(_C81OV_LVf_Y?'ԠF-6f$NNtP8(Ѳnk}ꛆZj^scam]JdpĶ&:V88o#ͤ]G2%=T,rTiz휙fHNF%|ƭء[|jڝ- j& UخTSwJp Y'DQ@gFun;3B"~lVm)+a,WeR/Q{2{n6!9/𻟫LO$[?rpa¥qن" fQ8K#g(\®L-B ^CI8cv <#\jo>q^@z9}:7G՗4qO[Z Y!Hq` 珏׿^@YĦigRJM8HH'3#6eXw D_o:ekM}!3Uy3ƹO!>tVh7p{.9AG;=k~]`D?!>A˯5m|kk!ƆE``="6 4fU^x;nbR~ 5=Z6™#,ɥֳas/N.PW[Y9l2[*}\㐙N QIl_dT]NIHm}Ww9xorA/+;*j ؅蓚DKng? P)o ?Ef=*F]Wv|Ay!E^Cu ][N%i$ tYIe0fQ }Ɠm BkkF7Gȝvku)W*6TԒ]\s BisQࣸ@uxlOAU|UG`/NjL)%|^i+I]}b9Df47@5nq)2!ŵJX2RHTZXh`nJRXZWعу8-ǂLu|eub|@VYBӯ'D+^UZ|zH1:^*, 2̣)oC.I&.DhqF e CQxl.?m8C֡7x4Mu7u}6a:1z>:B#ongHo0C~WjMZ=1QdBqbDZuk'8%DYPa^TNp(bt]˥Nﻡ~(Hx3Zp=O_,IM(7Nb8fȎ]nCd=b |YC$>d+wio]ʱ<Q=iʅ)g4]iT,Z’wcF0o@f)Zh#at7I DjtW}>+R7ٰN7:v1C֞vhyob&[]˴מ!z\Sm_=e<ػ{k"F(a p\,'vDiF|(QһꕸY/TA̚Y 3i^N~;܂ʮ7уBkzTc&U?HvF}L85: (v1UG;7ߔGW^p쇉4^xߣ8T8"eǁs{ ž^KI>&Di GP$[ v勛pq銓z%ǃƦu8|Ua Yoɳecrd wV GqjSuKPu"لiev]^UJ3|'Yz|Dٴ٧@;Aȓ4{onx_wHw Z 78~KaLg37qa1ȫwDzA7_f+c!@K!!ߺ$S=H1޸ðQƫ DN2 滚D#ƍQ ,uf;<:8qlD/p;m'­FiYXh^RreWh0Ǣ=R-YfCv q!:&Ƶy_ߊd~o\XYޛuV|,cf!wy|q10%jݡ=;r*~AHv@y 4bcY ߐ|o+׊ߘT:ہ7Iڮ0;M^Fzͪ3|Ms˪Bs%ru$^3IXt5TA|߲0pw6BTݍ~\tY͉҉7!Fx cXIꍴ-lmo.n@;w”t7VKǝT9;cO\4?y H?zvXtAA}P6ؓV|hwzwA*q 7_T`M$GDma"Lo_#߾;wGN(&ṽ Jnۅ%<_sG4+H7$G tt .N9 "#4  l1;H!i~a_uYېԗ+yώr*k"RwREHLD @rj"C#߿>2D4Ln]o0g˨2"?{yRz?Ͼ>NQHцIVRplŊVU}b#=@2A[4QgE LBAibh|6:pt NJ *(^<J"w^r4Q7.V0뼚䋣><_Jf]kJF+bÏMuM)$~-EV#ƫ7NFΓÌTIf0@l^W#a1ʍX;߃%Do*]U-ROB^dC}%OEdm<ۈb /+v3#5:$n)_y^ ?쬎%gMB~5IrɏPL*Ku?NP"!4=!1HIdooy׊>K&D)CB ]DK g[L C^V}oLV+OR;:^7ǔ'WF<ƾ- K:F}Bntd5M]!}lzmWi搛 :T䤙 O,Q:aR,_YN׳8&ZM oQ* &! Y2M)%DSΉHnwXD̜&h ?k} 8f-vT].js5;˸}A[F;/ys5Hd('˂j612L*S#-/+ƑXUh4bh9*@PU& V[Ӧq%'Ls\>(ҍӭMC߭0 S@p*JcEo)rLLU^Q(q}r Et]>H#DZX}=Hd'W= `)軔 uTM8 :{K2'!= Bp^e8*Oү&/q~4/? 4OQVRm 24bgX.0frC A ߸//BlÉ1k͎D jd_@S"}swU4'wa^o QcĘU^Lr;;ؾp)| H ; Aofn@D+pA>[*{I/B=XV{go[BL9 ֨Gkh^_ wmW7ω}>5z TToqg͕H8VN)" eZyDeR4p]vP&G(u.5nﻻ,˙MC>\~pF"*詴XxJĨC37eG,D0E)6u;ɿa<ׅ-+suU͠a-b] (P<(kt'l-L` k 1)õ2*⊏j)ӛd.Œ?Ƣ234癩Z!K>GTRխ0Eo7hm5|lOB}'wVoJN: iQa,]J5嚟6Eԕtv4$"&귣E=fF4{՞BrHܝiWꭆ_]]\#تi\%5 mtKz{sj8Z2?&!iu- +: [fݗ:F ܀,C1MP8O}xT^ᲟFUдƒRMKnͻ`WFsE YU˩U9FԢL{ Q*Ǻ{sB _E޿iZSbz1H/ݧ++{>{>%`G=sdemY1D=6qm|8ANbP4KXZzY1r OtRFPq| `rWH}8_/V'x`j@-YfTHmgidlwdH%ңv^|,?Ḧ'ݣU|(zC hϛ7WRw.yx̀^ zꛈL(L8KVÌ NE:2FĦ C>"S}^/?^qr[<6V?o-9wVjxl7ߥ`tx"wh@TOC,+tiGEsQ?̾緝wca^iu~Kq>z^-DgqtfRJ\5 ʜAe(iSP'_%l/üqIQ=C&Cjxl#^,r]y %"~'cPG*+CE؀ͩWr0P$g\ Cy?xF6 Ew]spzK,C4A1xD7 {Y5 ҠqZFAU Y.* ('*qCIAc/~=CР#u j?Uw0_hY@%>ג} Zex:PEќI^,=e#N17q(+Q2MekSN xK L3Öw;jGȫ2?W_n,n=$ڪAF##Q=ڲED&uL`xdrO#+\kx|tξYׯ I!l~j6"uu3->Ql6$)?r .n _qadpH]_0;#ΉEQ5BIuQu%Sc=%,~VA- ip;׋uLꜷ̌q/$\zǻ2eOq{zٕV(]mm0k~/UfD $y~`zny&#ueDΐyū 84 ٸ/iׇ$P3}ErsOQFx| %G\XȽN[ͩCB"ReRIgd7ã P%oaB_TMbR|AZѥl{<专rŧE+`GKk(eE,Xg!y񟩁ӤIL7B0ߧLU12dtv[|1Wqpߐ9?I~ Ɲ  /^zuN`Q'O7F_@-> ;)t={(_*ݳ2`(KNZ .>có50cdper^UCǨhe` IeMΠGe&+{DQ[ h^A /]5gqK!z>֙9AȀ3)`\ns,qi((1LYK{P/j󌨮;50.yV J +3׭3,;c,:xn0 R@ҫ% 2>ζ%}ҼR4lnJ+">_{)гVsyVn<0>cZAjB:,/7yQ= cx^î>LiJhiz6;Iu)3z--?Q"aDD 1!D7bz +vXTW(wmWX;<ߩ. pd7gL_)^ ?~C̼&*޾Jlj 3ۀ\Wk@ayJ^Mza!3x`X&WwlָR54jy^a 3'[^8 h|x*McEdwBfu ]W#sS>o<βnG2rgr c]`%1˛K@7ʫaݨvFbB7dƐIQ0QP,MqN,Y,T)0NW刓l%-5[l Jېl"Z-Hz2*6OmIZ @G)5ZO\~U)nV]W\l D?"m<5N0 $0m ^Y׮TC= LOMC%nMN0ruNndM/&VJCSToEM좌j:N&IV{O՜kz܌V Eom6Bړ8t^}.4Ô8ݾ5>5d^iGpyWbbD观T 2ii7:fm=h8°kRwM_a2\iԥ&j?F4ncYZYv1b.ܲqՋzč[k5vHn|> 3)I,{ˤW;: H]}'gM`_Ę,L[Dd7lJgjIj\xڈ~\Bqjor,2G[FHȿ*!F7sNq 鰛B#Dk9Y+yu+1YTI:Xo%)N|ʶ0:v'$ X :1AxtKU9d,$=wzD8.z1ֆ2gġ H|CgQBc,b}j9Brה| _/݊fȨxl,ؠWJcA\Fi& Hcixc_65*_M6{d1T 98E2 񙅷˸*E<>i( sޔ1`]v}=(ٹP Tn4() 7$|n|`Œo,?n%";zY/Lv~"/cJն`Nvt~k~EO;aG<߲Ҥ!ZGA@̣J,͉J/ŷ+ʯW/,ii4wHKwNxq,Jk[ >ߴW?o  L)ʷ뒖M6 )!jzI5 |a-[HAF=0ÛR|`6ƨ*Q~t_hF!&-6Pju(+tRo}Ã/7S\ait"Vbk~&B*wAf}}CFˊ"z%Φt+$YY35! D(tK?tGޑu茿W;ؘ$=VQV !ڕ$&XL'kw;J($ $ x؈ƶu Y+Y%L[2Ϲ{F =rh4M'yWu6L/+-|$m/-^eDk+oèe$X$1I2oyp\?记cE[,4h@snɧ,?#N )[4хh חzꎛQNr %=VZz/]ߺH+;KDTG~~o"GQfvic5aCA9_BS ]c 'F &M&_ϕx;KHqp d~x!ݓ~\ nCaiu9@a*^9uXr,%+Ғǥ*8c{ʹܟհ)D%&f`u1, _vy nk|HAtD:SaӀ†jxW=Ÿ{>'R܌2|H/o4"H#yu[I1N [}OhЁtS5Ȍrb>礛זPQ^ Dqy|.(blݼ'nHFև#C+>s;Vz7BdK8fęwI6'b+h {+{J#Q2ۗ!E%~@y`sR)!A)OW 1F<@>=9عfCf 5\F}* >*Nq;)doyzNcS|r {7n\[}ݓluzl }XUv<؏$?[wlg  T bB>R5UDs7"|g+$@R1Kq`B<Ƈ@5!UlGb3x7 T=$0ͫ w۬ͽ?j9!N#S@Ɗ]>!zo8?`ljk) |g>N]YxHhż7^(Ht6Ի݀LVLWȗ.cSK}M-=Lȕ'D&0]1\*ǂMB3j67=&'cLXrLmYBb-4f]z$* L 4E' "r0Fc~moCNJ-Z[!F^ z85b|yPcǝ_m {lS !i#e_[>_iikEUs8em}K&F-4FZL6wIJꮆR^PIcŌc :F}??/R[Aez,C._9qL2pSo}T4}DRc6`4*pj>5iF?]_Q0.)} mt QDko- {A4bTh0oKjl}pV/,/'fsC #GAr_zԒuW"w5՗>"hݻvfn^A8挿]bXNXh 36k0W7(G:ki_5+y\eߊО@I֞AAv F;kF=0~cԔ#KCȮWX\|G B6.t|F3*"d-8Új` IW7Vb67E}dxN=*យ/!*FRHlIuE zwŨ4ADZ/ y_|ƗI•`}hl`a.- l%W#rpB,]yF|0@.+g׋Y>ImE=kEYqh;t_Ľ1N)C h26'qеnQq/WyRn՘Sost[KX1ڐ_9'hXfb,:1͇`XŁ>dJq(+Ը~9vm6?&\ F܋dL+]SȎ83cM s |DZ/i.OuṴ̈̀9X^Vc\ci REAQ='sm߰Q5@/*@={h<ի'XE 4}ǟCѺ7p<_ y ²&phͨVL`us8cK< <^1 Eb,D@&S$,_l6:ϖ86uBTUV% @$s&٫ 7&pâZ)6[U_Z< ?FB_l sgf1n0 b~p#o!h?iMW kڞWG<ϖN")Jyr\[#]qCH5 Nlja|˃l Â]_F$OdӼQ\_IRuq?9~+D@{RRV zR7 lYM]9|.ـGژ_w#q}u66VK%@1Ae܋Y_}X1l_ԫj4asDRG&_L)ڿ6YWLa*o<+x⹶wE;{@£X[2DmnO碸J~F:ɉOu& %,žƜ_X='>L QeF]`WhWYa3c_ .>TOv7l}9 ^M!W[>tᇓ"}T&D!,2DM{'WgkIqv兀Lzl48^J޷hy6H s͐"1~l$^[hX3#)Â~?ٹبF~l}DwC]wvBN1S Ӕ&ȊiMgw~q'opqyy]݇{nK .F]4ap7I-AYkWO-ܶ(>RVRGB<&d.,JZ~ypo}0cI}_4}e}EZs[;\SnK3*ai]/@l2k0X?TtPNKԸ389bkTGh:O5"!#\a#ŝDQox$fuv_SDROGWWNk69+dr`ϮUe:EJ0k˰WUғd|i't͓̆.gMKV٣xMq 8"OP}a,,hM:$` tu_ˁق~Tc7oEb5ba%Dju&DK&#䎒fQ)va|`vVCإE%It6bz^ԃz͟Y_7t܎@ oD_W!_fg/koo]o@ǁN'ğ.>91Gči<'ڢOGW*,o˘{rxP*`gnY+iGok)Iuu'^&Lh|aN[B=_K_Ս("ɽ b8 R:SwouboEpצ|6hd|*'>{nl5)%RS=qH$n\]@V$us՜ 8&I{5亊, Vg޻ 6oDo˷.,Aǥpqmwn:-\[o^ZDhp E R3z=]rM[sM/*|7@I) zQɨdCy/3X#Aoc132G۶|kx~JCUַ*]ֱX;*?$\w)Ve;w/ At?__om2os?6bqSXo&}W]4U}Mݚ%⿬۔ud́-m!__HXW`+m_ L&/r }z)g6 :dŸȖ"ٚ_S1VQ&b_W>\AvUo}Њ&r`Iْeܘ#jDBA(w>^E]԰u w,l%E=o<ʆqv}=HVC c c)dUM6?Szk +ͽ/&jo\~&70f{tbIL7OdzBdĂ-èg0Rъ0ȿX !7?>wꬾ2?*CaPn#ezMHF{Pugp>a'T"< KZZS~+hiVee!Bvu$ ~ ~vQ&Sz7E32Ex|ZRhNԸm̫ف~By)6Yªqѵ?uE[9V6ׯL@9sy90z[_*5RV]#+?Ͱ\w6 fa+n̋Ϣ yh.o.AIdP?Еُzunop_C!N7W5fܑwbSktίl"Z3z-{!WPlp!r2S/&zw~/V Yc桚M)3QQRa%;D$I` Z}8j|=Z{`ݤ/وcUx (zlޝK$)&u !3 @ؿO|3gS;(D&@m,~4U,}UKn+)كɛ`Wfrg#5nUK.qwGUK7iI 7iKٹ\dl> ՔxWB8L!e =] X~ޕu06JWI}P2}hD`PUZF"Z Z0 B}WI_I܆Fr%GXo޹"LigF: 2}A@ۅ_Xp~ ymTLYhΥ]FMzܔtO #D^ 犽Gm([&D )ˁ7;2|}7Ԛ-Z`:ey Lx}f!O[z74La. Łh{ kaDL+ Tq)G3p$&'$d>z⽗:lmIX+!/WA1HkђO}/B #Lm 0ɻ;E&W 7+溱ʋ 7%;YݶM\w^m9ŜzJ1O[ױQv %C_Ґ=oO~k:$"n]r~E c+z¶/uKa5agתYZec/eL_m階*G;1Y<`ƌWNs-߀$' V(v􁩒q/FMW[29B`;ȶ׸_FPs*٨/Fh~@*=Wl`~Op"!zs,wZ +eqyx'cvNu+ t&%iy]"ϡyBz,; T_3E^ˌVřcQkJޒ]=k{oo[~?{X|N\g#j L;R9φsY>N7>X>w0c>HIhO4>[VVX&6!2J)Y" l5 RGg9`u -p*(UP%撬gNk\he'Z~D8#N_B 9}u)HH+R2t,PzWݒVb t4nU~P~}Uە](/ȵKmƋo-q`8e14m 2TYC߯!c钯K2t/:SGƫ8ī\$Ʋ.wJiark%i0܄^KYmv318;N6cq1!ZwSLJ(µAA}' 2 2 T@DXGҠc}o_V7-%N'3O-khf0e- jq+KQ"1*|g%93d(y?@~ykm!J!f": 1&Dm`QU4QT5Z~[Ѿ_#=Tw*{)9 òU]>bķ\]g#C7br/}ƳA*a'.'*WoG[uX~Ix@P4X X-Kzƈ_R"fP-c|N⭕4 䏺ڋFxy).rA9x֞INϤw}tMf щ]>#_c ѸjIc CO>Rt}=j抮( B2ˡWLjr89yr,HO,7)ď%/rgxj*k[e0:%`)!/#H$yrw "y _ 0EHM5AkzOot"{̎6LڐjhRoؚ~x,s^Id^_liliHJN%Z#{=s'2ˆnL-dL<@Ԇ}$so'GgF˹<&èE9֙Rq`_ݡR*rֹs劉dҾL{8sk*4OFn#2[`,߸ks=كLyqMgMܰ8UAq%f uzZ|79Ed*؝rGLPH8m_xo)u7S_ )uAb`/q=%\ʃ;L"M3LnbWlzٜ}`* AV5p!?&,NN<;y"ٓ^ =|>Rfi>n6%Btފ*Ar !;p w_^ T[GPgJYո>CgS%Gk#C#'&2aNuw_^=?B0^AB<?e4(oSڅ|'@bM8f_-}̣+*!(~.&^M!y@FnDB?T< nCZHSIהlY~ VL,H>lu}5F1Ķַǽg P/t]}S ~zg৵i?$d<a>9ӿc(IQ Ks! E1'/-4 Js|0:LpEgΧa } V߯.uGg7aʋ#k?L蔲-y1 _4 kB Qz.p5?{~p'PR/~A>)bvkP-Y3Wl7_}S ׉Nhd~9Ǘ.. s䋠f&cD )l4é'}UF|E!uN&{Р3eR]2( ab/mhB=P sلbۢKqOW_D$<5)|Ƒ1ů1)~S%axqhIXuǖ(b{$ nLߐTRow -f* ոl^ŜoJ!IF nӉ.@?0H~U"rk1{ 68 *y^OwVS\N%31/'wgF\nɋvZO`D~/R/e4#6X>!2:4-h*<'TDC%do:L(j_7yyOk4|yǫ <,#$P,gHErY2!Kuq{EV̫Ɵ2rXϵ -2l7GvJS|/ZqJFI?n4'VNf"B> 9ao|#ķH:}?oJ\/¦$_(!ܿe#6V~, .h=9@fA"N sE8x>/dd#*yog]Jc؞*C0 Bɇsx$vZһb`!ƀ/,z1pVc<.Urs!MyH|zru Ang- XdY6V8"4%aCUm1"n0s Lo-F6(Y39;/|DaU!~ s]$;?sˍemm-H5*hsGVP`?/m=^:aCg}g~r"bI/Ǘ.Li0~ xiidx<[le.S5zL{\=ELԅjhIo WϏ( yvg$z}nN,nr[KB,I=Q.nRwiwoH0N}R=ʖlH.X !˹3;X*Z^H&}0:Qw)Aal|pdZ<#Hs $zNh^@W\ T,Լbu[E{4DA/a %9x Su tԁ2GG^H(E .meHYKˉ7ђO-.ЗZ'ǟ e$]`9u<,:NE^Ӕ[MDx=kCvH_e6#Ӌ]H??G/f~ⵊUl &}߰V:*.`n⺡tj=yq2Jb d4>RW[W߾@fv̠+]WWGRCfH `l1{?\$:Zz oe/a7פ^ U6 ȭEWoOn\k;qYd}4Vbj|_%=iQDxz!th R^k:&uuX z򳷾*)e偩 oan!ثQEET;6Qs' t4Y{DŽf`8,w '[!s.}RzU6Ƈs%fO+Ekhxl} 6"rr.>l@&-/KCJANSȢEptpBEfFh|E\ηߛtlNXo=ZD]S1opf^ଯwqNoV >' ^Mp:Lh~(wB1C]-% "CvJY%0=,e%q2=\0_^,q")WzUb-;>2t2(+i@ϕ aYCGCPߚͨ9hӀx\~vsVtS5B`jK B=Gy2ll;\)^)zt+?s2˳]56ꞚLR#,/?妈W~g&lG {#g٥.3ag /,:^ȗ+3+yg$쵒}܄yG2tw8˞䘝Y  ؤx>QNjs3%Ozi\rSJ|x@`,3RXD. [@&VBC?1;n1AJZ=s'w?q}^,烞qM]a"+1[^=eR@v ԻȍNrj'^+vYkTfP/!-a+F|$Pk8Ѐ.Ξ(aQ z?4b|eA۶`0q߸6TÉ\*iwEWR3LN[ֹ#ĺW{QzD֎x9C!^>2Dٛ4 kZ0f` Q<>(t7OCLu&7VqX ZE|4wSPE\*իܽu7~p/Kwު|?al f?弾(qMdD Ύy7WoUKEJ6szt5'Jg2Ms?MdvZ.D`"T#VITm9Y@?Ϸ򄑘H+mۘ E O$V{;LwR]C! &ߡޟOܔ[;7~B'J.28+_ٖ {ΧJ!lsu=W-[|/x|@* > ~[LҳRNJ@_$gKD3blT´ ιia]֒\-'rꊥNۺ/i/jѷ?SXew^ViWFپS61=vk5/ϕ绤rT/MZݗǷ &;C컶1 ]I-״m+PM"A"9]ąh&3 ~x4qֿ[ +~*s zeuRm>SҴXݹEk,.4 ^Qyn=:.Ićo.j|v0T9go#"gmT+-G+\Xݟ+÷z4h:tɑ40s&bODɺA0HWRػfqכzȚ-CܘLaCJ / t@v}EIfYu;lwy<2<>kˏcUD@ZB2ʹʨif=hXr3/{}cMςRu|\!ͣQ|ŜFw"O U_!H_J4,( 7+ vZ"+|NYC"4K:=s<Vzc-6wZM0>uE}!,8ajC|?J$"}娯 _XJ>Ezҙ.y:~$%ܪrzyjx$X$sЅ>j wcE"H gaW o.on;X__- :#1\1>c%TnS#ϻU|blet}g*8&La|:Qՙ|zLtbMul4,oḓєo}p$wUdbQ myL{zjK^4 BS/òtSn 5QY7V `)xd~9*b@M Qg7n'!vǼu}sIM|yXtЧzw9s1*i\-i됾, unjWwN zw)_μĮ,tcѿ ɦh@'\}n@i>*0Oq|9k21?QQ>c6C]i_-EBğ937H \e*AJt_U Ey wmhlVg=}mEV4|xJn?(Ѷ_1 aTZB2& K$jR"dP2:-{-yesTp4 =Un[ ou^*1t .u eBrvfFcj6xΖہINmP'vT4ᔕN9_bj-vۿt=M췕VBR䵼Dw4KywBr Cb;y^+`K¶$\W !e{:L e"9oy6%67zꅑ/ f56ofݠdAՋ7L@"x=yf|E80 Y↬t-+Pj߿4I}3NGd^8HܛD{jAT~rKɛA]F <ăE,}$¼dx? p!1KxiE8,f]tL&Q|=d9MO>$ݯ YftJk|>ռtޥ?  ,ӽ_)SiʜêLr>H G$d:O)@گwjxЋFp),D PN5bx9m~;K1*+e,c|% &p⟑ra2C܋۾ d2/s)^u]<N\x2Ū!LIJRó)6?tWfsHb0 |;_*}hd *8޴zLo݀aqǛ9T]K쵅 >ll(ɵQ d.;$:jzsM|O:Us _8day6`.< ە]N'8M5"inC1M2O ^l_ WYe(n7k>>5cUe=* (U6z׉\{F4R:uPAqcp&ENh ۲?aj%E d(J4JV- $+F[a"k@]z4&"6o<>9nPtwnv_"n_3#DJMeV7´΄2K Ymo?kUO>iR5 Fn 8 ˆ`LtЇ$zhyNw A!'SLܩRFN;yT-eZ, Z ]xM<;=}l6u3v'$V ~ p}Xg):,#(Ly{6FTEWX641eE1 9>9SąqᡫjZ]A4Jdw4W 9"Ζ @yoZ6E/UE 'w6҇d#"gjMG'x!rcqlV˗,5nv1◀BF V9WekA:Ha=uߡ _.>`,ҿtc9x"d6ACw|ZO&IL $Ft6B9?Eb߆VuUP@.89޴T٠S,1a\,SP$"{VDV8i+P7C؊4^vt id{bTb5],D9w-t<9\f9' j뽂<:4yQif5 A%̢ N>447Fuh=*B%k4wei9MjB2Ht 8eG ʞf;lZRCg}/4WM aN<΍-HgŅd;bWՏ2pqc\ZR35M6f _^ݡ9#gAw'^ڞ87.]SsIr"˟:6U'=[lyKGDAZJ|[Sb,n:'y]O]_MQz1ջ7Hg#3kDT]@•41<ز1?W5$|דLWHa(?rI~.-UD+`r.)4E4rGzY;x=̓pdnLwz&N/Xr\|7Ѩ|C?{ZOdŸ$B{Ȍ.&p NQư #EJtG;#IXu%dGhZ%= u"f0@-C]7a_rv(m#9n8]yڈmr9<h/jzPXAdG0tг(+%5rOl=#Ҍ_(9JȖ\r/,)2 S6w#UrA^! QwRU1M1lXPDsEk7bFW%Z%a4mDtDR*[fԸߖ?*̗Z}QkeEBJ軆q;R_?f|cI.k m'HLyX1fx|vs50tet:dFn]By<)']Ϩz0,g264ޱu\m |S4U2qE2`) 7K4|L v6t5]wdy(#vC`4׍1틳=_3qrЄitoWx,Lr;-SiO `ܻgpn^䜱roS Z9 6 5qẺ 7@vO.;;ɡ Q\[_}+x!1m{ͰLkZA@;%V0iqІAc"8Hnߺ|z8K~bkci1O7z6|CYѱ-.B7.h~1Ɋ5oeoX;pA34QpUdf\"*^[6@:-?Gz}2׊epݻ%cޮޝpAl/TCOm-݁xYM` 4Bs+,䯁2j:DU|vluu4HQAp ӋbYr,d dQE|t5p6T?pe]mx鮴 jPX6R#qkڤAˮo) (O|.s}}?6 G3lOZy!ٜ#OG6Pn9HxEiq5ګ"~ɰej˘__51 vAPA4N/ӥ|̃Eh E>呓/Yyk9Ε'e"D[E7@[m|5eSɂ{Z BLy<,6kŶU5M6u-x֑929/AľtJ3p6^R.ןH5P+&dMgy)^ɚa/';xO M+U7 (ىfhQviROYiò@!'_Ü-ZlӾQ~擭8&CL30*:c+[ҳ+4murv"4Џ9گ9!K/GP4/?)/ֳ4*Բب6wzy 9 Asdo#FM91%h+i¤Yu]uJ-4[hJT ]+;PTiYbRAoƩ ~N KБd :o֙.#_Bי1GW$'l0t"ΔV˓ڥBu!V|E-=r{[ԟ$)*g , I2K,zrsV@n56gohy3D$TbG mߠኰK̋;#N$)B1z4KR\=cVZKn=kɒNTX1SP,|MU|t CoaV?㢠%j_>t`K$u +^."j*fuaʙ7L'|h16paC[Rjm`m+4[T7dr WQ"Oq+ejy5-8I}$m`\f)T.=G5P#*u|)]UqT&kנrQ`r@ASZb'*/.|>?+%~Rl}\DtҠYS9D"s)xW/c/7G}`Z+i%E7³H:-G {xKVsW}dFxWdF1,ѶVb sb$iø~ٴ=:HJ-!gLP'ߐu!<(фpŘWBϺTINEeP!=+Hy"PW @sk:!ѯx ^-0OXJY1GXGIT}JV%Oa3,z~[UO d&ή%i)bЃ_Ŗ3` io=~) + N.Էa: #",W.< W|i(7zcgx cyח g>_{5/#lP#[j}>ZƇ²%Y04>D^@ʊ ,y =]RD {YҀ^aԂ#.ڐ p z(+Y0/f$m'Vߵ0埿Cop.{$æ1uQkC-挱dGl5Zə{4Skk\.lՔx[%џFY%)?Lc/ `'|QɥQ~0ڿua5IU̧nK15ٙ_!FispnXg +=Ws'H'LBL CA/!h0*+o̒܃.?%? d}OGU(De{v6䏃oMV<;ċۘ\q2|r@s+~,Dy!1(ސA6qHOO2x@Աn &e?;x4=Tx58~&!mN[? io% e^!~',SL!exFzxāU>2:6C:O;{3ݠzI*҈I"#kl(ko_pXQ:A1_^_Z B6&ǰ@8ߵTk ]Sw /FgI:)٠~9E6Jk8DH;O1vT >b], j<)Y^1e7uCݤV֋a[On;Nyh*Q;*R|a)+3hI6Mi9=C!dD_WC(Ǝi~nK,vǩT- ܦ |YHcQsB"RE_tT4OCo00tp4Yv$Jۛpns/Ix4qۣ+)vG@zBv_a{1'sLܞs'2+YXZ8b[K ^%GkMsܣ09N0OD:-cl >ˑˎkQ cx03tJI(,IzsW%K-r؉7o]4 I2=_}nDnVq#@zK| #gxaW08<bm}0 fZۏGZX|,[bg7Qc#Uy?a'KAPI61hL@jr/ߊn=x6յv^bi(>x&H"Q d%\0X~f174~Oh[}p܄.Ö^קRsH@t񰊱|dd9Z>-ϴ[&_H(ȶQUj=,ssc_J7~\Ct[}2ے6u/˽2= 7܎+h$Jyu):1nF0q1*FN!(V枰Qm$''$7rF]|tK\pt0b/ĝ~rc7wM-YAM~eE2^d̼p/*ΌQP!g5X ~($f#yנ`2gV02{8ڻViH1I[OC+z|r|0[gCMB]z Pjh%y,[ ^1/DDl|f5yҏ Ή zeh?kT;O9n&koL_l$4l:vK\7H}߆!:s(;K|膉(Мr~7B͂5ӵ$Nj[^GE`/OpfC"jƶ^bq7U9ãi7qJ *Ys]P(DeQ @Shȕ ,܂bh .>$1ڻH |;}n/u'[Z^qSZ]:xEL0OKOJOGQoܸ.JׯP>5 bRPߍK_IxB_İ:mD $/4*."OAC-K?*~h;X {VU@u=$f-vR PW<;b30If̟ʊhedz;!ZV2(|\?"^ jJZm7((-uvŢXS}vDe7?l?)hM^ٗ'(M{ jx \b!no2Yϖ@Y.39YI-7GQ9_Ux9m~f^-|υ`Zydfbt8BFsVyeQ/6. t1g g4hY THXxKN+9(줃$b}_l\Y}@%%4u~/k!jK3GS7alZ$MuIM²s_=]msB91ZBE KTy //GuŽ怜s{鋊o_R1`B \!~"AgG}u345YH^@3ʹ;؉"?5#!m vMxxÃBgӳ>+p"@hͻgR$*^EpE #}.H,2PLfŞ_G9iڼ,)kTWւ$+gUV#ˬ6_X:$1?HYL;9Oo#W 8!jdci~E6XnH kIq6P6+A&8/bj*7"FŠe`u-y8;DrCGߌlBil %?+|\*e62m"CptmNEYYgh4PCiR'Z{5Wp~ t0M8(p:PZmѾ!>W;&ۊR^]MJ+OJ0{I\^*Jo;z P*SWj!q`57E_6&z>ey;Ģ. -8ݠs@'7 i$dzwI'bO$&`4=x8o.iB7 ߔW#b}a$^;*:d([Æ^ C<<#{o $MY@KclOCS< }\J})6^LSwƔ?'*$CJ\6_sg6ϊ9`6&l n^J=qxi>V# t)'ɦGj@`c@pMKx^Y-kq,V67R)eEv{IV|4c\/^ H|LN]jQ+<#r&`=AFEqtmZv@}.^rK@ Scxh^ =/h2~cnMX =ʏs9:U,DLQ-B]@Ce=eBЧ,NH$>jF?!8hyFv(T|9,/~! =~G[W L %]J Q ; @ ]n:zy'2o]q6 a@Z[x ZF^r㔢-m)+xzPjܛzFw뱯5#S%/D!"5s<99>~HܚP>T.zմ#Vð-*[!؋ !R&4,͞J/*ȐD]&r"Yeْvz&ADK2unbXgᙡGЪ6˜Q[k@NWŔy|D|; 2[h$_o<#ã8f[b`H$<:\A;v΂4,PtI/.Aֶ{8 B\'m$/qnBIOy^.]mpq$ {u0F9ИG|3Ϳϒ_m(QBD!aYr~C8 wGV1O׾4.-C1+)~ [ɴAV؍> 5F|'vLD,,ch 45 #'-}`D%;VJːOg_tk@DA1KCLcs*XDŷ>{7%sj$ҾۓX2wV:D#WwN wһ\;'"eiYdR}i9f&u,jkd=1gE-0vDejI1*+UJ;I@o6Jy6%5} q>NHkϞg{oTh]3wUrM~քg&K܈!6΋4Q_uShiDj&N+޼6m% >Y/:ޠoIù)d7 >. )1|9X)1nƵsnҚ% ag$T3#!`찑I"5H)"|pA(QO,w Bҹו2*E| Q۹0Wo!:^-K|ۓH)Y;m)ZzEt_dw%2 j\Vwufv0 <\9q=kNȒh|h36+!AI7'\n^C`皇 Ĭ6haAc?c\XqgQ=Țd5,WH.VŘwTnwŰP)j $3٢<)fb;OJ1K~t dM<4e &8?0@Dgu ںfH! 4p7$H'O·tp)^ՄJN?p8Zki;I%ʶ+>K(o{AhYZc.5reY'p-l\vɣ޶ݺa=Å^?e,O o  `ԨЍ&uNH,B$0?)K@A6 v*&@ zك#V)^SIs2]tO;*ҵ'IQ9gx|LDqp;qp0EWa'򎣾o,W=K;`i/j[DE1K("F'"y͊3K"KpKz>v'ùR ״=![rp2I!)Кq"˿1!MD=iFYOnnwnM>D |ۿ-~})ƣ8QJc,\dMR}#Wf/;υ;G,LwP)kabI w/Vé|ZSD)GhX/r`(c]O, ݥ&8Bow,fNo@䳽{#E )c.kKT;z~Yc RATʃ~Ϟ^^m8g:6>ySlbQrat0ιjVNi5_4G% pGR3 V \Aըϭɩyi2VY!r>}勵]YfF6~^dhK[E_D/T)}@Pt'<ݶ೜[{ܟ%ǭ:&&lT7k;ݏ̙HZVx/#urڎh,=_e+ʼ޴U)$ֈ$aWA~dꕋV6HB݅Y|f.uKG! ߗ,c78֡ \VGpELIEUq61|^OxU W56Oz;+!**=G}6;Pe-1{73ź]`@rE2O}d̾+Zn?b>{"0=6c FyVA1 c۷z»cs~)$⢬*Sޕ&Q&)Pס33mŏJз `13}Qc8v!dy\hftG'r{p t.Tq8{qB>2 o]jE. 25R!cE!YbA 2S! jiPaEf`ֻ#=#Ƭ??!-e܀7 L .5,b@=C=GMvWցR9 1kP;'\ࡳ@o[ 8}Ica_VCK/eWD_r:Vof ]('CY 4\Pb$-H5RmYU\)8S֪p.oQKFAF1'o#{cS򠢷`l27 k"C4.O) B~ > 3 |*(1bhׇezPz$#$ 8tm>&`Ppwȇ(ԋ3ɄW}P5*gPxhX>p-qmhQ} ìaq}| 'h)5֔SLZ;7]_q95g>b<YN^nYMH[L4]:_In)P&~nd~.S$,M{tҵEs=-6uS2V2,i@5-=yS^TCZ:sb4i3<&ؓaQh 4o/ŁA˔iv?;(y%E;QwN* m@na 3dE7vGy*g͜hY_'"r[}Rz7U>k3kn@hD;~f;F-E,}=dN>&?MU==j ^]*ʧ+<}H ȴ'y{5.Q~3 ੲmVj._l*~xu'ϘX}S< ^H.\M.N7fnxLAo]~:@[+g_viyS1Uf핊U xOT65z vKI@;_lV-,w>aѮBS zl.Qcra"ylusH:f,F]Tፊl#cģFG'TW`^Wbb([-]2獵Nˮl7>6f >)v]1M*3Bd=Ӯ3mcZr¥7^DBqYȅl7]wU=1{n`LrXRZ>H&^0{1Uq mQ7_Fx&Ӊc:m^$tFbuM֢UUDg7LD`UO$6 F*tU$~aX*fr{]` 5$SmxҚXRgš Q>k$~{bWQ(9'kI7"!.R'`|v̐rsTq׼;ӯ^>Ztf{*@fR$/lěK5<ͫ G2 {G~:j8D~}% Wdn0ˆ-ہ:lvĒ.T+]vx ld6 ;oasWԇR6nb*ygl(5;x@İb /6#V9+O+Zcf}_GŽW_v6.) B*!pI0ޣݘJj +yd"Kq2F|mmx@|J_CVqgJ@`+<@VahRjXT<%c J&Z˸:Naqm:ʲrn0e_:=e W4@pCQVIAdx4//FV4B76@ Çwdzi kMr6sE7 $p &_qIOͤ8`>(dzVgRq% $8K8<}Hy h; Cnh,0g_0NMoCD+*l:1: ҙAǂMUA.T~eUd#J_C_ iF>y=26h)kVmXIeM>16@~`-^'=j'_>_j )@|H^wik TgʈX ;Š'XS^H&p?t+Ky%O6zmZ5)= 9e%cE S&p XO- Ɍbz^X]o6L hK۹ M3HV8Bc@ؓZǑ˓2CPzȒ2|}c dع-|;} +Cw aEk7m}<B+~/oWb <'@h(LJd{5y:DaH~ޘcEgILBGbZy$09kQi**|xFC #4A%[KrWP# |;Ji9mREb Noxum[UXc-7WMUU{HRrƣ9Q! *\rx^ijN2q=UEӻo!֔1&ȬimCI29q/ҍ40ltzZ5 I8_^uot 6i9z=y<@| /8cg'~*Yg___m6}ަޥ؏c@Nr խ b NQKSII8Fǔ]u vbD~" zyA :Lq}lܩOD^d['Vz|FN򵲝IVCJߛb1|bzY.xhw'C+9j1?)*+k#=(M9Igvңg8: j+b։WKyq{iGpaT̹ 6f 0h7Bmdp&>Z»-TG.DRm 7@>%&%#m4?%oC!>Tz̮2o&B>$纮2:|y)$O~2n h8ZǞP ݔ#p~dM/e] [.8.`Cw:Sej_GaG/JH[]QxK^hZKE@+G +mWo(}'g0eA Vڸ;DJV`\^ ʓ쒘.#T(aZ@Pho[%ۨ8[|K jvN1~`|\?4wNF*UeM3՝"eZbzFί._ Zth:vlmlvj&ރ-۫Ld,A0߽g[a\׹ sqq_nETcݺAy?*Z%8Hhg~R@fK6|2);6,hN$]Q%g B K8Fq|zaUlB1FS*29ge+hf8yN;*h ןM.xPn,KdX{lx2ф=Yb{PwYોEE#-0E %]+V^I*_ آdzEZ 4/׮ y.O>f#]DSJز7  !r߷:Z6+ M _sA -ԝRCLl3Ea(dgyge] hflC eJ9Y*qz]7|P9OX9,L‘>]Y~ v~ï߲iHUq^cAuR@ 3FJT_1Q"Y>yTKq!ɹ RQݺ C7~lcBC+J5I+:>Kܳ|x7_:[^kt.>|{bjvGy,AWس@8K;sDnF;3T]}Eئu&6 _q,lTzIG)ḡ+D"|hNda \Fեzfރ=[`Ȟ#g5Jak'L a-IWTD]:nNevm5LPYЀ9k]s*_|EKSw]\&]숛1rDKB"UL9t(O`{r9ox{:>&ċe3tk<,4wǒ .ZA.hz(]cZZIw_yJyJj3<1%)Jf1K(YswǪ71eabI=r1_ ;bQ7M=%_69W7vg/&u5YWm}ޒtX!扎HNJUE""oD=_}Рy^~`#3RuDPV /78KG8Fa7l$st[gH@pVܲS12/&-XGe%塻C-rcJb Xqm&yH:c{_z $ OlwT6/OuH@9'E_V_73sDkNEMd!a9 &Jnd[IjG ƸjkT@d2BӅӽ@8:!ZKM;xV ӄ\y% Y~T4"#Z*{_~+|~N _M^Gt6 HR?$΃w1CY-aJ\ VU~@b4|fV10 pvryVDx}.Ifɦ1"9x$z?B~BgIO0+:f@iQK~֗ѰќY0S'GG\/$ Lz7W`g2g0Y]dP" <ƻ㼛]1=vm]WY=mt)`_Gs&є3X'בXg/䗝0爜6i^UY(7y ,íD1"O1:Jj懧!=v)aOt鶋qBZkZ]jURDZu(A!ReURLZA5%(sp__#3$ ,B E2~V|XӶC==Wdjq#%!cKg jJO7u5H#%F~RUsE"m?a&'Q3-5K>D")@D`)ȵ 6܈$` (%˷ߺY1oe@P B3k e[eI}bZⳎuqyI (}0f,f;-;${0Ӷё([OE[}`ni>/aj.[˵zQ_mOU ɢbLpMBsZ/Ɉ&NԶ"-tEh.h}mz{+Dς[׋ǡܧY#̖~~^/ G4ol2dꄻ=IB AFбHÁ~IvqYY?8J(řl$HRSL@/>Sg^hȱczK'bM9}sn#u7)z ߧzI,Մ,&`nVP):BĔ7j>E\ތ倾˲s$\c7BdqkE/ ĸT)T i>&Yk0 + tj>"%-yZT7c}暨Wt{4Y_DDG@)DV$ fOMc=ɑ /x$-E=S5,G# (+<ZTJH`u`+zܫS$]WP̱`Td):$a>l[* UɼdO3Wzw#=2JXyx j:jlV_Q[WE`8[2n_Ɛ]еCx P>t霚(Y^*'X>oH )!&ɍ0J 8vvP۾N!bR1A~!rmW/}"e[L+*T䵩4cΑźt&>^sGũNùw3әjr);{@Spf.I",\ Rzli'085MIH(NòL Pa* K 1S39d{ _8{:o -hOXOv1Ri')ގIt}@^mortO2l"R/; z엜mܖ{JF)dǸFFq@1Lм$'g*Ekokc-#,) 3+]J=8JT#g2hWb;"Dp`cĐ%Ғp;aspKm^D!5σ?_WMQPHەHs{CYI-9DL rAqdma o|4fcP##\& !ʨǑRf=ᚢK/ һ@ƾnPDo 9ڶ&PT4X'pIRF0ˍ7_ \ls5Gл}鬘}qg?'PFx}~'7%vrvr _wҙ r+t,?;CqtdC^?6h؊ؤ~^܍m:\JX MrCblN$?H!Av]ΥˏF'BkW$,.UUU><3YOFY842u&4+"8) ɳK% *,:nJ.wmf,˰cYn'ao|Q(e0|w I(6u|ԑs^u8d1$S^u?"s#dAWxI9$K)W^r{aS,yp>wal1&z.(̴lZҍBҼ!Bs@fN<,zDotm%tYlirT4/caj]ό _ObX|}QV䫠XJ G`aFۈ]F>櫸0h~@>K-95XewÓ}J.rTp<Ծz?_<]ɮcWpKԏ4n_Qp#D"jqGS`'"_n 7fpNY&RA[M6h&J"0 㛈ee-#xe}~KUx3 >'BISl1N" $:©R{Am#ߌ n˴'Fɗ.]~MC6,Ur%F ?.u s։E.D@@T1Ñ﫴Ws>}!$}/#\Dʸ'msuҒ fGBh JФ_rs~႑.g?&r'^#[.$=A Kީ^77[}-tȄ'&6+})RCԄ$pN)7`S?ɖɴӴA:y]IjgFʚ61_ mGF5z nOdE4ropTё5OyR@<-=,D;]RZ}sMHE؞<_*÷$'yaM,OfxU1 O;||Y?OvpQ?S^q ~q»bbMt1/6k``BMdYHn^ogA29$9 .T|H ׍g,xxr_s?1WU~LۢZדX)^jZ&P3CXp/>ߚUpeI̧A^Qx A٥,Hi/Cb\PܡZ% <~szpFCBaڣ:czD%AnȝAX5Kn`/W)]?MCXn5]#CuUso^&2Gг˴OYQ>4阨ڕ;_ pczmmPÜk1G+']rFͰ%\hq]DDOJz5w)>_fQGs:׉US1Ciy.r U?f)MT Gr5Rx^dPt$92[3P=\L6l7YxI3TXV[XaF@ܫqǼس ]Tnׂ ԝ!Vޘ` 2v0jZWŊtIzv&-Yd.:˶.."- Yfel`EUdxuE@$Z T?U@jX!(/YK4C> 쟞oYtFS7,e/v;(`g 򽍗BUaRŲ.E_OP}5҅9- 3mf8=0LaU7#;:4ẚT{7PTZ[o|⵸K&eEoY^[lKK.BVVlRsqWCJ .qLN8%o KF#C$u;T!b@J7-`LFy0E'v"_*Xrs!J 2's۠Eq#$42N}ZaFB'&wm0c潤#[^UIZRWqg܀B?ww'>[=zE7~}FE }MIyzB?#&6R쿾Č)#t3/2}Z7NTT(hir͇aBŝN'۞CqoTVH^1w+'v I(A3PCn:uJ`k4PlM>on08p~Ģ68,'ƥ yQ_:l~n#%5u7}3ũYE8Zi&dXcƮS m<#e{({hTqdܲLpvBfg_5Q+މ=F 9&{ -LsiRǤ"hwLnJ_E9ID21 t7n63ĵ(W݁}*gͼZ:E'ȓN+iFo<='J4"&qxzI <7wIF_b_kg_ߥr)(p Etfvy:>47*PaTr/fcwin~][p5=.'BR'M/^[T8YN<=vַFz3c-5!BT=Z&s" {2mH5KjHG>D~Cȹ,i |GY7t!T$J7aw(ҷ~qAIɃ(swbC{ r84y-xRw`K\3oȊchh-_I!//@&ɖ69x*ٛ^ZLHe¯4 }I%hJ?)L+Z_ UsCr6}m `bXcr_G@=]*v$cع"S]uf~z<1:4TOZ"Vȸ,$T04EY?! GrOd5e\/ c+4q.7jwDM3э6ۥk F)}KA":>[N7jD`fx?8Ր*Wyiu4>bH˟-BwqJk-?ƝGYi Mc~fsG$|6;V{qmH}[PKkʕ&0+%t Ǵ})⯇FŜX_ -/MvL.v9vdE" kc^V{k쉛_L8(V}^N6Ga,«bH9yLp?`Ωa7BxIMч,c. 9'z\ռl9-ɴO0RE){#'ұ"F,ke'b^P3qD&% s}@۰\MnEx<~/јއWoq>\_\ԽUԃD9yNx34s~A`llzV=>FL6dJ\}n$U3{o1beYuO~aCu?_BNq g嗢8? =DW}N9̟"tm8]tG&Z+ v]cԈõ\Lz\tOdTF)81pc&hKjqզQ)#iioVs̻,źUי''A6`%mDZo@_"BIFm,>", "cXҹ^{C%^sCs_˄5:쫹)Ƞ#}k w؏CtJ7yGzSHǜ\|iݑRNU\䪐p.Sv`PVAMuTBo_(u 0nsAZB1&aX_?tQ$^R%ElD\*y"{qY}Z6-YEA7:èޯIOE#4mxIq6q#]ax$ev%/ڎ\ 8η]Q$ VM%[=H~B?]%.;>Wz>~A,(dAuWZ{ҶX̚F{P7uFð'DM&/,ܨQs>6=? (Mzމf/OcB )tw^uۺ~hNvA!bSbXa_zo4u?vGx9N͕C,cigW7g"4@ee? Ls3!# J&./'뭂~z`H&Rdc}ށ*"2|bZioeޅízkUVw_w0 A6y/|ID!dB-o'⚸Yd7V^X%<bQc% Z,+ \^Zs.u}_|`V@jݹ4aڻS %kn") R\IyEKB$E #^Ɋ>2#k'efg'uo5xt!(b5^1U>T@q?qQ:z1"kKͪBc*d"LO1#}: ]$wR[ VUXVwU`Ճ>8?.6%j#0 h|Yh|(d`< >k^VD0wmzIM57Zo+"f_۳j|\Qcn^Z]M%~"Rlj:ߘְ?x.00;O2{*ƚt%kxDU;1SFctIбsR ιH+q/ xrE.h:"!^I/NaLgY?"3o)]\Vs"PD֊*f'h Gd2 ZWLQC `'ك -}b$D5XP7mNk9/3; 26A462՝Hk/y؊9Ω,ДF41aN>oz/*4ln)aG?TQYqܛS2(ŹTb5=KpT׶KSBfp-ԆWkg~ƼuǖNhXzՔLlCsxQj@B+|E=b+%;zqn`pXiOa/],R|mQM&hq,KƀHՓkUs p]6xu jUR~fYKSiʀlWJުitpX}^Q ͯ$@{紵;pm7؇`Gc:-#5Y~^>CCdA*վ(e,l! ziK4VSud (4,a_c ?cnsJ[.@F0jҤy)wYUsɣ1#G"+\0p:?Iq{EGv[hu$r8fXhH ^+o^H6*Պ jKnR'Iic%/韦]C ;r&tʟ9<$PH\rA=P͌3%Oߍ^?t$|2}7D9Onz`~xq|=8zJ5+'d%[:#pev7-XK,i6V-!kf~/-yH,l-n,RZDD )Br[$F7_&BpհI4?~AÚNgd5Ms^F@BR@Ί{/NpQc{rN_/ n$)d,Tu|VݵytI}zbQ\DiI"Ct-ɩ)Q!2yCeIz_9U$[̆b*hsxh`鿳.G(C_aςl`IdvdL뇞YtM1I\$䷞0`WTD {g VM'Z={>2$?`_$|^K=snF~*n­\*:XHEaO-^`*:{3.?2ߤ_!8Ih(x143@K[UV@=ԍ+V[$݀+Lw$g!)/MXBD`C5h4 [5ύUQqPkoVKE,Y4z$SAԶەJ!ycw9H(hv&@矽WǯTxugubܱy5(i$E/^M+aSx{axyeH S;ߪBֵN)9 V}q%rH/ݶᮏwS_]J. 5:Go&^cxsuLpPv0 yYV߲п;ʧ}juX~ PW%zy37IH4^"|-ŠGKWR=}4utX4ytcla)Ư-&p'Cd@x}זlKz&ݢ wdbД8Ab{>bĽ[nNG lG/x};zv wNRs6pXowE@zt4jG. OJ|NKuc êɓk7KCq4u%A :ǁGQWK^aRܾQ{\'YҎg9?槯9VnF@8Redi[7i7{l$yt-Ÿ_;oc<*Y($I%?>IB;gc𦘲F '--oLOiX(s8@I۞h 2 bdd}~)! ѳ՛; Qxd`T <bsNY0LD+4>J$,c3t0HQ $+7_ >^8{>n|K 8v|r aҫD֙N0Uj1 h ?ZjY֥0#1#3Qkh *p0kxmJM4 .r;y~\>˷hzG gIeD{o]{#kC xU6}jf}nI/enF\-9Jb,DEiqM ]x;dFMYͽC2O_GQ6Kf-[Z 4;(ŭ22IfY/ XMMo.)|O(zqw2+;QԷ'fxFMg^g}T s=ecDF]m+9{}26H&))UAH )WXHv,*Ih~o3Яɾ22 oSzaS<^{AKsNI5`72_\ ZƂ t[u250: (uIs&Tm!cr7ܦ"XB1x7b*F )˹f:JNX2GVS@n a DWׇ'7  ЏϴH #MM[&7d>J:L"xēn d΅<@{µjby uVD#MX\;ZsH2-e¾e7%4Ed{LwF6W|wHvb.3Qos`VE[Ý2(=Ա(W PzվkI#gK +yeǣsuIAAmovN8)-LRt_> 䅩@Z 3 769[BI` _uIr/K+t(x0߀ .:4{s蛯B*&0R m1,Lg )5h?zԽD'(0_fC+(; )t0GAHV"D\NhsU$? Slմ@-R6 y=āiclN4ݍ^4ɻ/k^QNf}quݥ|NM]n-DQbzֺuj@14brkUŞ,^ErB0G.X+o$%WqJ3mM,Ϸu+7"Xl8aZ #]5LL%e3j2%<C|h9TBOйY^͋)\~BP1:13V5@3\}&2G/XR *ͽYu9M!I͞co[0jR,L#_ `4d(/@/_|p4y$缎(FYӪoJ }j(VjH **&/Nn|Z"6Q+cqU.v]NSK%l-i(Xvc16oC9f._Iw:~W/<~vmM 1P7#R 1q3o-ܹAY9&78/Ѯ 6[su RHw_SH瑺Ԍ ^иm ?),h:u0BN^Nш;_ª8);WA[1]3.1(J@apd 9}*SCQɪsq!D) IE2 5_쏰Qg?m?cCE ER8^|'+Ţ.*ɠ=胿d"UpVfFKwa{ƴ7͂%jLyhNZkf^;ߝ?xVI(G*X uZuB%5UͰ xfۿ>&l%VlܘG6+Y ʺII9 =2c 2#,A6J߽-=/i#z9/+xop(,=J'*NW5[#Ò;L&cGɏj.0*_7iHhMnyY)1ljJh9c ۽dMYF}jm-7Om0){9Gx7[Qƍ,}K`Ͷw4L5E҉~cc[c:ײmL|{]⻺0_]b5Ѩ)H?\%[[Y}kQ#ܑ_󊩡WStkq b/w!VRe K0nر$Ek6l?6n .n3#jXFkLWRaX s\*|XJ>G̋ {T~aZW@\'٪|*bĐx)n@GK͕N3C/Z*Jх_ IL=E)"R59F>(o~`%a \6I/lu^S tS4V}mU놀|I]nd^) q̡+}1-5fxWbҚ/ ^S3ɩtSifr>?WC6DY9G_e˙gZrh80JCn^xu讝7:mIʠ I3k$X)'^Jx-O `X,E..(1;3Rtϯc9ON2kvijw;IK'1zp5Men'v4+g$%Tj\U0yW,{VSI:k!o =X;v|ccT~X ]:Dׯ룹b~jsɇhՒ堾A|]|3gfA+ F0O:ԆF&OD9#_qFdM T7{Uz[fKB1٧ H 2&f?Cv6xO2O%)c3[Z>cxJ"g^r>Ϭc^[u@C l;+LZ'8Jف>jή9nNi0s}oP[$n|mnصs%iQ$n[BSVW1o;P|%$Ė_3F(&DVJu\]ܤT"(L7v Go^]q5#\.fS ߀雖qcFL5~$`hžE*ϗ]5Qo .?t7Y5Xж8LIDbIbvcICp*{\u;hYڳҹ.x}%e@4C{J]qrgJP@ \Bky~C[E%W6$GkX[L}d IV~NRޱX8{ w[~/lO1GRdɝ,T!^'_oCOP3HDZ+qgv؃`sN cu=dFβU "ZX|+OO-g_ 7ZAQЈǎHa ӜU W{i- rO)x? {>^~ۡ/"}x3:.pXM2kx;]i*!{tR OXTA4ѓ vd R"-LOeDʣչu^K;7bV'ilXkcIOU_jPyt,V MDmܢ 1ڷ{IP{k'=EVL-y|ۿ #AUiP5sj%M=}%7(65UKR~Af+9tW2}L4Gqkmk~"U ^LeɑRBX1}oxC{]C"}۾uE%%xaqӘ~BID'cۚXYRZ篐))CnuB,%,exe<ı֙? 2XF1TˊF]j+m)!{OYո1|p֨ǧgz'9` B| xh!O`lsPFK 1TP`sx3N\1FbӾLyr,<;Ev pHuD]0 V`_ 0YC S,zmtO(>\?:m{˭Ea_ة~*KGhH hф$+ed; ybXHū5.8Ou[YD,!ett>\#_>P0"40SnawX(ɑe*=e0^:1.@|'vӞ!c(c+sY[-P6``(+:J]^J#%iڵ7xV O/8ݬI&+Zox3c&%hEEhEjG&lnV!=~/E`מV'J 2W JFrs L NIa\Ff,㡡U ҍ2ȿ]lGN*왟yr(9JP:PMG)q,Ӌ![D#63oBYX bUr80GVAVW Fut#:|!rԹl߹uNۉI63j kk##YP$Y '}F \#F. RN#4)rj36P" }o%*(詎9ɯH5-"y9;=(-#T)y {ΰ`ڨ9lod7H¢bm*DndA;&U }whՖ fG:7S^iJ@9dFGzPK:2gsML*yvwܼ?;m&=mt ak%/R ]hIhkCa2$kK6Ͷ8?RHv]ܬ-U/9gszGƞ!aNwkPD:F-Aqgj8ɛHkKޟ l Q6^i(m|;kZV@K j逊Y8ÊDa[Y,LlV?_;6d}->l }DJ M Sk'pn|~'U fc0SrӐL@v6iz  `@)VГpkYh MB>w,vb6[ݥZFM @]wh `*CY6/ s/p)kpb240C' qLwԷ?"*m2D&;(K WlSꗤ!dNī y+E e45|U=FҕMA#ߑ/I3:ߖ) SִIkwFnjUygCyc\N#yY2Ƥ'ߘ (ԁ7p[qt/ "ZA9Ualc *`ɯbRvV X G}%vX״yj~sgh,WQ<7z[8 ^(&>`-([x'f(op[_ f"N8_9H Kk{X =K_3&\+vX#$D)Byl?̱ z᮷),Xm3w2gZ>v^y/sge';Yd)~|֯dzo2C kF`ZgociNHiCcm RM/Wu$_zYZO KҌ5l#.ՙYKF6xG;aExe_G@VZj2 iU_إBAZB|.\d}6  $DŽп f*rPۗy!%I] kߺv'Z BǧKmvm1. &;Àxۀ=׵-xڽ 6$™/mKI2\Rƽ@d#GeӦ.uI!T.-i N*hL]gX2+G]౾(Ɇ׮ 9 >yS >6!6ƿfRnٜ.$T]Aբ%|&sϬ%N-6OQ39 !A#@%ؠ5L*TZO1OE\$>YZ&[V:ǘ~7@T6\ ۾My loLnߝ& F1>q9J{ϗy*s2D ?}N QfB sܵNw^orD|F*X8ӚkrIaavֺXdߜGb0 Hg9zŐ ݐ`p n-n|]MF3ms|m-ѺsTp}#?B8'i0Gƕn~QzWKw%b$55G˸}d ՠeq]u2s5Tt#,,I|:Pò{C} hJe}4A7-<Sws͘ ^ǡWhDXp-J0=Hn c\Þj QR oJox@Dtu`ޅu2o=F:(_֓ __3+B9”E/l烩 c1X1LP>띢rOx\*~#Pi8!Pn9| G 0/D Fa`xp&ڽ',4T{!7'.IuN2hH'g,M`@=DρG_M"ī붵,|ϥ'A=nnI _mUtcj(p]3& {kQE|zcֲkHh: ;caYbG4ѓ[jZϧ,+n[۳ 2w5},n7sl\iO|pAEަa<%$onMWY)7C|t)b4Ǯ`P~AJ+~HKk(<4{yU"Tg"ЉII/:Ywtq#p[M'4`l\dڢ۫>3ǧiRxO5ҬniH~ȉ$S)(T)O(47ė@h 'W5"7X>v(<<feoh2TL?QU+|,읷{@Wi"VAG5%gtB&ls_xD1^!5S^>2Hj%EFw7\w_`v4ЙL$_\iy8Әo͵߾H"΄!ko_ Ik 4K^1v|VL D2fhcC觇j𪍭kF\w+ls*C$d| rbL|e;,ǮJ_= %9gLڑ1&ѕFitquu/u)D7 z;,T  owDs@%~Qo3bup\NtΒm[>Mnwd=[-F:(=&`[$!78ݵ>"s{b9M}*Y},#xSx$!A|!Q7ٱvJ5z `6+ASE+!%~{tx|<+pϾC207X"#m$릮ˢ84,x OY l_ #F{onuyLMsav~w(]*E+[vk>tz"R T03 *uv _ÓSf,<\/w<Pb(6URmJ\?zcVﲐ;O_+NHQ}6hR[XDiJeb{L 2ayd 'y u q~\T#;Py0TsHmaZgc IrĘfEtІuT9ݢ (o A0?78"JQt;45mR<>H_j9bɸyx0'z|4К6 (—G[Q,٫iM9Y},9a ^ypg-?c@ܷlݦ4~(| &g=}5vun9.C<ՕY[%ʅi5:C -~ʔ@fzEwR>O}DdRU`#7da/Tإg,ĩ塘$"DGw2iCrRNLx>^=2IYx;ϲȸb"`U>sI v|%*DGG0D+Gjj/&c(S,~YB`ٴ)KX64,"Vo[ Sלe>E$:I:o~]|zk&v-c |=C?9gefx9E>̟ZЌ\#^_.(Q !sn($?Jx(I7Aͦ=x:$XW GHFzµY.HxDt%g@m+^<^7X7+-iuԿZaҎV)/R2?T_=~[G#n20@f8Y"x1 ,U/EϽ_A< k >J%feT9eibn`S*9z'_F*%=mL#X<\>L \`ho]玦6ve cSFJ.Vbſa9*8YaAZD s늡? K=xNtmߠʙOk"ki\n]C+ɱv @ߌQD&t MSpB%Qe!f%>Oq 2&M$B);G$8W@I[YY3 r. bֲ  {I؏T.K YG Y1)RfdI-=faB_`AƘ35ĈH8'!M'}a@L/Ѡ p 5\k7Hs5d7ڞ(y{4˂  &k> :2cZI\+aƬ)j~7)-up+#@`wb1fKt!Wd6`f`4^.pEX< N -%k=)W֓x06F1hdo8qL.$sXqSp& c) $χA+ݵ(5tt7lm4sƀ$J2Ʈ:l4 CK`63P0OgþLs,u)>[m6aD57(% ]U뭄q0>,_sCQFZ$KH8.֠lqbڅYx)[+#)>Q1(V"Gԑ9 Ɵ;kO`b5k5m QgͨAKikxЌ+ ݐIF؎̙;cx0Opׁ%= Zxl)/mT+KcVt'Mv65X&'F7ˇn19( @5 kȻ-tgž)FY0CمcɐGوKæm.o^@OA /pL1 L\_J>I?03N s1腂CuS7["~/|`ˬC0eaMAo#I `5>e.cFCSW5xBzU MXؑqHD  ߜ YgCx8=0vqM+cS1~C)Yz!)ln^?[fqӛ=X#] )778Rn<7e>t d4yKk|GUfz w}8E]qH)9z%\f[D<` n cφc&t>ڧ$ť;žD㿳K |8&:x>6w?6U %vC]`zHM8-7bR `俻 ݓwVtSwwެkj=5M 6`.Iac˒z\tɂc-^n%am@8rlڿ cSmPugKx]f|,'H*hQM֋;CӖ8J0Ɗyp@D*ǚ4b#[r/[`O&NZ`GCc )'eq#Jܵ=h:ܼ9/l͉I|KP z*_y T0mG d> Ɓ1~c gֺas\=ky(P.vhvBGV[;'ɿsO\gGILX7:@ *xj5Yr0ؔQ#doKC16zvmiۺĚ\0ۥ lqbq7)ɺ J.YFIvX: kaɷtoFBPK8ItoR,ˇiSt,}1- ݢd Oͷ՗FcLS)s HC5zwUUCTE?88|Sx^ 韗Q }n%^jZe EMuޑ )kC82׽E/Yx5X7w5 7Bc5^As]ˁ2;#N#eىF0i]UpF}9PI`n/j}pY6xGEXKm&x WSk㛞ԯ+g}yo* ':ܿE]9f&yʛ\ c,Knk"\ȢC6I'ѿ7xcVJkHGqimޭ4i^CTi+](?7W湐}^/]",6dF@~M{o}2p.xK\E/{/nb@:m]!$Cj&):ps_U$n=vC5ZƵÃARX(+y4*@1W!nnIL888  k^ɬ*{mP"gP@tݴ(a{6 QK+!Fr~iZ 0i >s~7.j݊S{ \m !Ls4wqێeTXik~!Z7?Wp2U{'_Ci1A;DI:~eA݁~oP;][= kB 2yF6|Ԁ#ycYoӌHA gv1f[s?tؚ | ֦YƜ+"/!lAP9yőkFhg҄k"Īb < NAn,5iy% Yb$"^uҗwy%'[N{}t1Ő 8%?t-LҲdl`~Nw^Kfc5;Ri3.2T m/jC;.  ی AsKO3(ڿkeE%'hO/뵉fQDzR1v(o64Rs٥P$dy{DDo]0n~4UKVY*!;9䃢/7c! Չ}ivԐf- hfU_7@Pm1#/[:84+ 8-Ȫ㼘!PW%_!/),ƭ'v 1!2elWa9R^Da|b_''A֩N"j_ff[6xdW~Yh6>_Ntv`H6y냲Mx`XNT2vQuK/zߟf#H$ BNAynޕ i4k } VS1W]Ei#UGՂ%K+F+M5YRqNv!kTc5Ͼ!@AǪ(#NPB_˃ܟ_@68 RU'۷Ad> 0x^Y#!aXfByv":6P^ٻ+N2b5&4nSAœz^V7d ]EGTdnU3pI *lbcFI+ uCmb-WHi8)M<7_S'g#5ѱǑQxi&˔X`斣Jh4Co>t2*/d۴0n/zSld \@ }&poiXJ5QH {]uLti]f3Co*$RS"~J|iM "HZYImh^1>SWsӜlvxJCJo@rҜ4S9>$-|Cs9e0sJ@RÌ/NC,0ߝfx*XC;xe {k؞\A 䗋QZ -F\bȧ=U g&v*4*#ߒGI}$~N&{ En4VYzD__f0 b=Bos|a1>FC}.|AڼHiCH)* VJ)ls&:?I FIib2ֳ9C3L -g>vUwAʎkq:2l#k'eZ/Os9_b \WАoD/gÝ)h30 Y}Df3 qۃGֿ&NzV:Γԗn+J?X4H[K Y.=tF-Y'Zť篡xEt'd؄c~d ƁA@L唕|;eR/Q{2{n6!9/𻟫LO$[?rpa¥qن" fQ8K#g(\®L-B ^CI8cv <#\jo>q^@rtn/7'$QiMc%j Jӷ@F `+TxK7jT^׵c"sd00DÞT EK*/MA71)?~5>C6rvO pٽz@"zV?,qn\it+KT7! QF}^{Z\u?̔wRLRg$rM*@jS7A1K|YVW˧0&`rOj-@9Vn̿%B_Ut]i}UycHOtr*I%]4ܟ.O*Ph)5CjHl1j|j3}[VJ܃hZ]WA)wTZXh`nJRXZWعу8-ǂLu|eub|@VYBӯDcKѯW6V!ROc0^ ;gO4zOu { $@3fX6n?p' ǺMJhGk78/)SJ/E֭]aږq0C ohxfo*Hm(/+ubd}#Sُ-FVJ2fz!y#{b]q7iŒ7|Ff1 ])[L>V׭P#gAyS9%o v.:M"@h?}:_$5/Hn|8O翋}BXji ;~\:v'C al!2He ђޥew+HFG^0Rx)StjZP Xcgh K2Q"<!^曥 k%o$%9)D<^PﯥnaQ hntb|=)WL,λio<#C^zx^wuD/= 5&ԕ1P@#&Y|O"DDpGIW fcR91k2׋Gd)̤y:0]+O*.uM60 ~=76=p2~kuQ?1UG;7-!ȏiAS C4GP$#z/%i@F3~G@H;#7Y38zS'J0MpӫcQS$Q'ecrd wV GqjSuKPu"لiev]^UJ3|o'Yz|DٴS 靠A)Y۽7F7ҺmC5dcARS 8v s0\d;M"mW|#Yx X!PlRDGȷ ad(RL70,|j5C5ѣLq Z]o" ƀYg:`3ޝVD @6kE^86ps#/}~}]n:.ƒ\ѳ3,.j4=7^l05ᐸ`() ˇy .VO+n~)(kI[8y$ C9i׬:4׽+4["WGUI`~`8 -AYCDPz- 3 7yh;9)TL >-Jnn:E%hޜ,c"nkWbZ>FJ$HN0RF .Tq3,CE:\=O{IϽpY(w."u.U]D$w]A !=~!r))s[JDS?A#@afz^+swZdg=Z [_3I0m$Ma%YnY'f(i_]0ػa& HaI63{_"P4OB@G Ԡ9E,"x'%'I{hΫI8(dޥn"0TT{>$h)7^eed4J<9H$(}?o4ve~%:߭Q oo_h=X!{H1^ز(dQAlnuN:WL:\DvAnx) zb73RYsVW"3>++yb!8q6瘝ձ[IϜ I1<5XeN{ySaBKD2.D"[b8`2\gwίz[}68f\I~љ(49<)21o\1pUަ#OD7st-]Cn:0 P )b[P{]S ouD+H8_5>y tD|~f.p<RDыBID4euCv;m^j_7id3D nEA_|*&X@@&d>LːOz45#=R FKo {tAD̜&h ?k} 8f-vT].js5;˸}A[F;/ys5Hd('˂j612L*S##/+ƑXUh4bh9*@PU& V[Ӧq%'Ls\>(ҍӭMC߭0 S@p*JcEo)䘘\Q.2J6&]3uU uǾcw!F yV\0|DR_񩚾;(= q@W8t>eNCzc߻:npTSUr!_M^L=36h_>[;)[/ h~7/4~:8<샏ei\` tA-qg_`_2Zcن k͎D5 ?/L])QϹVQk_WB781&kwӼ܎`;o#u _Rg~ٽ>>h }|uܭrg=x>g߃!,l=@7-s jkԣ|54MHٯnW7ω}>5zudG**븳ʂp$xՁ)_k?fH sCYVCQYԶwv]χYru({#m:Dlli܍]L O!~ z*m9އ ]rٌL HXR$,cXX uZ)lF*n? ɇ'tϺ1# {F"˔R 0@йrTP^*f0o1mg<(kt'l-L` k 1)õُ>eT2S7E]%1J_ F+xĞgvk |, QIU/3qܜqG֠,G$zO$uFc# fӢ^X/j"5?m+3&3hHD&ZMoGOz(i=A _sHܝiWꭆ_]]\#تi\%5 mtKz{sj8Z2?&!iu- ;Lu0,k% [zͺ/Kwu<ֹY4C>c(YQQ{/e?RE%ۡivjEwxN Sm3tl хMFh_ 7/'Hd -%#*)uLg8dZ}]D,?W:yFx*i?~?`"DCw('p/bhEǐAjs٧$8(eϤWd^Zְ=R/9cvMuKE}䪰',ryK~68 l[O3HG^Xse윏+#C" rj7v҅S0|nN )UƠ$} < V:sigz" o61LIݱHU QXOߙڷYe gmuH» PON 'I`RJ-!5XǴ̓x0N]/GsLDz]BBJ$/tmz4 )3T+=˙:kƸXDyYmO|,l͊ٺ8bwٰBF;cqq';nhM )4>ic7; GmW5E7 |~4b Mn) 7Eg lZQG9G"ŌR{ͳol&[Z~}TT$;Nƣ:YD?| 0o,Db,5QHpW>^΁8YZ,zobѤnQ=˂k c>(v¾Tr?W0$}zIqRLvNa^<ėBYfΝ[qrm\*#B]6]XDd1啘I)9L+$cD'+})"=ZvbYNm6X .\Ԯr=R?)P[T%T]̺}u3^8'#o]hwe]'7=Vծr&/y~dD'#v(VDn7)g`¦6梄BՈlNte^  @˵#ekJ,2o8CS:sI 7<]V319Mj0ca4mb^/('6$낄 *\7<_3953lsePpMe|3Y,Cir:q"㍿RjGø1l Md|A&h2L-`dvME"Q,;2>)ڮ?vj*Y:=+.8 l8ȂԤ-@c(Q|Q_τN6w>7R`YޒX|.0RvRƘ;~ RTa޺[bml_< ʤfpeK* z ?Cus"yT;wZt7XD6kJqaSE9; fvwo u nePCpQ>T+}.r,*=XЭqI2 9X3\7:T wsnu2 m8Xܝukq<:zI"Wͧ,^z{A}=zv}h.)i2XC<[ K k7F)y`P~'Cr#;$y*]]ϒcsEBh۹h74!ef#G"l+rL^t Y: .0_.%7"V9Z]{!iK p&%uWr(\7PgX,}%+0 y#u:Xn_gFK {0tqwͰE=+Ȫ}+/!-3nۺ$I 4_>✲pPؚNgz(p KՀ*RS"TkDqF@,>>5&G`3"B`am阫b MuDEN&@fΡI^"@L]F"Ĩ-l!/nޙnP-^{ظYVة8i ncN`SaV9eqK/=+]KUOj,ZVjP1]VlDHY::4vPĺHA;,*>C^^H9%#hXH2hD<>_܇^;8:ާv#3/8©1!cspN7|j&]7D5t]H󝔌 KP jv^malqNLMmgpM!&/>ܐZ{Pj6(PV!@(g#*Ҹ;&x F%A;sp1MEdǕO6HA93%^0 7a'k̜0bێdb:>st%l$R%y{pKwmc7 V[;vON <x8C'Ep$OQ!cgYGnJvR0ڽŐ1ms4}8FWr]0ݹiḁ5 P"r{]nnDn:J`dџk`*ʻNWJ-Y<6=-9.9F~.<.Xc !񴼬=5o}?5\ | uA6QZy1?SUwUG`TLP[4y1.q+M7"Nfbxnax OI(&,Oݎ u\)O }%lQ{N$јtݮMׇCEƅZ`5hT:Q/#uBbXjv@W\\;q|`An[P^JD!ѶBaQf>k(BPwr*#|$Idp_oT"J]vtݥKWv~u)8`ŐmDՈqWkg0,{1mJ.Cx=T ީ'<,af 9Qx= (K'd_GJC82S (ǰ0X9pS"ՒN<@4䘳eq,>qBawnÆIXsjGډ٦L(^NXaԢ=4 :"ö .l{Gr&(X0|̾W+iBM#BP4}So`SCbv6P3ra6mlĮ =1Ϡ~ṦfNjowE-Q N~wB;OP]:6A+ǸCG4a!G( 6maϾ]=u4{RY%%3.HI{e U544p{2ӕo&X-1,ړlT"ƀ4{ky# XmA|2`xb c"DL쵛N?sG(`|1f<\5lGgņwD$jln͔6JѶ;zM<󼓔dDjwǗ(&G| ]IJ֏n@K*M^i" .LV}:矩eG.6d8d-bfOuR0Z`m6YsBޤh[d.+^F/ZՒ[RYv 0`6Qj Ӹ9itWq=3Zlnu ]Jg5.3ps}B|q#+m: F:Ym=f!fve-D qw(R_8U=:]}d)jhOy9 CjtD\ӟT90|ް@Y|J?\ʎ3;~fLQz nkلHGMP}ak^: >=oK*w{2io89݆qh&5yeqP9! Gg Ӿ+P*o\eC\op1Ox5t7ukk'.w*A>oVw^iKC+HR/Neb O!1p "J:PF< KEqNd<po/nؤ|i48(1+ M֦`se3O͓ } 4 t\Ng7U+m2!`#$ŗ+i]"ϗ sw;m}9wji4+ ht2Z<9g3 iGθhH Ns|%{)MJ^=׊AvrT &9j=sA~hhė Ynu.. a$o 1Ĝ/.!bpRBÏqv禒ݱ4]%N&ɋXC|B8j p{qFgO'Y=)H.Obe,|Bٰ9;'Ң ⾿O'GkK%bbx0i0ֺ5oOc4NH>g>ujzSF%V\n%|]8ubq܊Q Rtx8vÌE=1^MhQ;ډ=*3Şݍ/j>'|T't4"̋IX هs3~ɤÕgOu+MQD#[㉳cFBY7fYLwgܜPܬ1u9=} E[V L)tLܝqS ]bgkR]WvO~o=heH4cfd-ȪpKژUo$3t$E`YVt\&c6:ݲS};,yϰ=<z* yxB]y:X?2йiҢq9=Ƙs\o>pjqKww{5z81%V8 95VDrWfcX' (z;  F[9Zn'nT8rr{".2Y4`l7s:p/=v@rU*EYN|F98иǽ[bуH븼Tx!kWgYRe/:u.E3<+p0s(lpRM䢨8vz}r#\= Z'g:>i }fLHϛrcXf>ABi^vLdKQVDY*[Mʝ"Ñ9n\qA{ <[s躥U36/!MCIYkDl*=ZEQGXcq{,sfc71-\m:,SeT=Kq4ڄd"k]'*1u#(ql<; =:7xfۆwa#PZl"NWӮ"њ$Oh!9( oXQ}D]iYטo覘c`hӸK] e!!pUBޖػ;oߌ> h,^訞!+E |y¶{qC+Ry?,}'qM;GסX:`wIwrǞꆝt oklv>Hcs'O\174K=`)J|"3pð9Ww"y~ޤ8cUU-rHdq4NˏG,3泌4 M#K 㕈 1멺f?ꁅi+0rhLɦ8=v(l"wXb&bz&Rʻ^WL2s(8 >Lސb"cr^6DF7U򰱮[.pFq0p7KT'WttJ% ;tiXNͥucc5+d|7n߱G\=̣i~sj6+ts\5 ?@7@ vs&\i}N~u)TC'MeX6#7U&IaJdW ͯ|?k7[rVN'%`Z#u[L-^ߨhZ~xLdl3(ɴ[S'!7VQAH q|pĠW&? QĖ:-iyT?sG=yM~DFŹdTG :XV/Y]WthM2Eltty#/n+$v9B6$Zֆ?<ϱ@Ɗ&`ؗ`=6<Ђ{RcY(얚՝v?qήqWgq&lVqӜ"7Xi5hCh4QRARLp]n!C;\5{5PR{M^/ Ar_9_9XŜ3^.OKwzӚLSl# k/r=lzʐwW?s|۱h$thE܏ أ^uf,8KvpJ{HZ'&ꍩ\]lY"GhT0xhY,&?nK%kVeRebU;E0xK4q hReI"AWpԲU>hkY+o{Yc:+k#)^*ftVu8fu Z mdRɨug9sgVz&,j=g >Zsrn4̀}l avoz#nߧ_ѢڬB[C-My1~Rsgh ;#Ln_gHx(&D]]'z |?~hg SuC.F^ R'Zw/;>X/\oFe4􏏆+>?c302Ưa(wQ&G y|;J`g1߿6C1`O_Y@%4Cc$K2|[z%q.?Kp+ G~†0ďFO``U}[xA >HnqO!M0Do!4X-CT[>T> jA;]yXc0zK2o1#q>a2$Z8A, ƾ583-ƒ`g4dQ-?00ÒĿ};%з !h'_Hb8Jw!D8J} =cahU/~\}~/(|߲,KQ$3EB1D3P{#`Hx$ /8K!8KQJo $QsJۧoq"ۤ oӳ[}KMp414N>]zKJ|ub8 N?WͧS ].&"02_4m Kb oܟ﹬W;@߼ھb3tȄ,ߵ Ip[2 " oF߯4-ʠopjW%-;?_ po|]J_ⵉPjcZ>C_k]w}Qk0"Q 8y_eKҢ?'+Q{):%y$m@J~i6yf*1*POq|]WvEKSIkޗ}WCQ,~ʓ"˟z38Pү 0Uk' ܏tK9C|}?_1},&"}Ήnż0߼7/,۠֘ŇG<́{~x` k?Ad P@ϣ(ۍwSNK"վdk3o&ğC6 [sӿ"X_c>U\dAl0C.4B;QbxK [;A~dL`egQhujAbIRT{YAkxo(mq:s|&)|7t!](P_w&%_P Pd/H# }~;|?Dx("Nƒ=/E2ԏ@o@;wKJ7"=$ #B $=8J7#=7H 2$V4;Io`*gi!oo%=$J|7e'=<*=Jz컥"F?&hK[ Ja oJ-=wG 5%j_5`;j@Q5`ʨQD oQ 7G пUC¨~wԀ1Q[*jaaþ;j@QC`V O!+vcԏ:^9,5k#yMWF}%K<~EV"_ {.8Fqe_oX'+!@]_2tqq~+דOjbJr vȗX/ut㫠'=(?&V|?gxG<f96i٧A=|1fג(w'A8mIywag#->T.WOl3Дv<| J?9_I Q E %4h_}TE^\%?"P}C1?c@T0Uz">j/K}A'laEc$-~q0"=awl1/OY4@_lGM t5~rŧNu'Cw#e>_6뽯v}:59u>y{i1*6!jK)0AP~JK$ 1F>mM/Pg"癮HpF~Y8|YQ$;X- !=A Y};~~Ç9N1A*O>+QI|f-B<#/@ h||>]oзJ` Jr#.פxBGRJD O]~N6N/}34҇t}X}>Ewj<_` t`,8Di} c>vy]@fqep)yɐKw 󞗅J!%b-(纄O_ 8>=Ye/## @^y H,E ˾cCτC3P2zaPg-!EB RK/jXy$> _ޙT63H?'d/g>GηvO{>   &a)&~9c޲C=;k䈍My=?L}1}W$039J;d}X5(¦f7۴ؘrP\e'Sp;=H .CT'lt-x-}S*n$}v/$^&zWRIB '$x&2YK&t*f91A-;u Ljef"?)_&jzižf0 +.9=2###'u *w=lg8yujdUNuְQZٸΔ,Yoլ m(u  8Yʽ?l4T]-nm"SՑ<#3EڍrmRy\a~T}r1& GQuy.c4Lz {V1{3:S_h%n[56_趭,JC_qUʔp [3 Gm߼9d# oZn0e¸ՉZ<\ͪ.gʏΦb _1\̕{:v8Fe OjO$:tAm۫@RC~Po:.$vZG>q{:f&MR&fղB4B<衱IEN܈?Y>`_o,"^DLg4Cb$3S5DUaߛ<ӱRg-mq"O{$VYC^%$AfVȪ5۽]r`}ْ'1,ޫqsY%]JNydzמ Ejgc:dk=>4_UqQum;]'L lr4Ǎ^Sӯ! r#\<繥mc^&& UfѴ݇gyzeGEj!N`,? nUfPѳ}'E ƦnQ3yⁱ4M??hH\iHE8+Ck4m]6}VC˂3!cO$/dlb FN֨+3frxhbܥ$AI "E$8_L_8^p}([< 鎜9;T s uu3 _zVPu.x׹A\*ez7aƯb(8\9_̟zr*͓սY|'gH0܃,KdwӢVE1pb383RgQ/ RByW銋Hc7dHtr"5 npYaķ~oWɋ IuQ+(؟T{|X~?~ú(brגT5?RIw 0xڑH8[pV]I&٤>zdzr;ǻ?J/>vfiOYqMf%aelit^:-_ T(yl#$Dk[-*;[(GM@ bT^,L٠QLć#}̞rq]=ч*'18gjfbÀc #)g,b3%njl>eԂUl?8T!5 Dou՗뱇p)[n('|"Y"cY)]D:H1@ cM/~8^wM}ʕ#nt4fqKD2v >ײ`9]1+{>- )ԯU-Qw~@.Q#nw)ֆxcn*j@ G]R#V#[XMJZqDRdNj& 휴d3< ܋2ٟ(A*Si0y;LF w;ȔϠ mb|A Uϋ -\JTf&ok1˼?;i!>#A6Cj$YMXC!įiz$ _޻Qg^]֙,f+ZLmFNw#"<ټ;7c3i3BN2ʦڤksHL{JpKdُN 3\ԵV[IX@7ʿ]*4/*FR,iwB~=&l 7fpi(\Cf\(9.$ ܡRU?p-IDPzA,R !{;ؽ~wWA%.wQ.wm8dԎQK~E[{otэ92ӑ)1ɷeN0'mq]ˎp9Cw۶;bñ& 72ዐM"KpDF-]pgkUJGMZ t}6uFW@ƷA'g订@H@;^97ؒi`ԭ nVultȋnn$>YgTٿ Ikq;:4-ם I V[¥m8aK 薛h{LeFٻrJ ;%5+r73E^7,oVcꅵ:b'bȖu8JjFŊz u>I.6:GzM\w%tݭfMЫf H.[s:A<5Dyķҿ I|rAO$b kNYR/ڊ\hۘr: R˕'7v3R5pS\pE'b;jYgafħόB37>G۠{3jHԟӤb "ׯx*eUNO)5NL&62 FچsR]Ʒ h'<'~r4zCqUgJGKU"g>v鐎)1,ͭGG̜HχPO"m,wR֞0.*Sd#TT//`yǃp5l[նތZB%U Or" N &ܑ`T/u(ݜ>2:ApI!}_҈-bRa֬tKAH|<[AE:y!)# ~;,d`Sg32z3 =TK6~\X3vqߨ"Tx-jj[ 3^~~@xh4eq|B0^,^]20B~{7%&lA|\6ofDAL'ca70b2Pl;ʕܯN0oZ}KXSY, uF%zb-=)!&*+xP;$vz\ZO6t9iZE}~>I,in4[yDXk\(=Xb>&TFL.!:<}&xp0.t-XO歱8ԛ2f^HU|v~ǮΩ]s3>kHZ揬Cgq4k_(샴qD Yi = O#06ã7͒)z:e!7xVC1RȚ>m$7cbA(E H!P "IqNd1~^2< ~|I@'k7,Do6ɪÆ@v2Wz([4>|fAR;> ,F"X0+*)F)^KQAH( 'p=Z u23x>RiR:ٛ*-i,k\W5A`}d,ôU@PQ1P2 JC\Wr&VėP{*x']XH3r:gtc!(o˂]%P!x'O88vBH>7eB\ xbKFQ jc4<ok^/mE2ba&D144mkq}BZ~)/gKUGV@z-#89߲>Z*#1NYlZ/ЃpxSKțn#q՚UzM};9$/$< '5A"v*H>ASOj12}lBș>o HỢ~H ~sM)/5No\wn*gprڈjIllFB}w澚#԰U핽hJ$B1sE8kp[RIvsOGJd9G>ktA=)1uJϷ2 4pS1S:KFPea7yqEc>}#G_3"Czmr#tnG} כb@6WaKy7də/[qΝKcW8-JXsePqxp;,Mv0[͐ ?z4%=XD&Ml?c+m>JW?!gٕ^QӀf Mxo}~jN~$ X@ \#mbPCHhp4K. \PTPx5vˁ>/nD!ۨ.LZP2{$\[-(%"c9-9A}o׺cӉsrk"OG\ﻠ9@ݦZHaaA^ڕ êC!ooqڕ~?`JdD.yQ;<_k*("ܠaqM;iͪ'5eݍ(Xٛ x  yKfWޭc|oЖ1&PDvd=]H />o%}[㱻->ϋY}5tDX`|~^$Z\ЁXvc@.f+n[}E\Yf4W<9Ifr DN+g%< OTT?ꯖQ9p@r#"Aࠇ5;V wQJTT3sJZ|{Ѫ@ҫ ȥk˪(koA㖔ҙc_+5yNv)hJ٤-HnRMp=nᔬ9Иǔ+lf4fZE]=}n` Tkz딿ov$\[n(B:2>ߘ79k({x=9ާ`ݡZl끐xMղF5ZSP+E@S1wUx.xJys]FGB7e2)N2t.4,ij"|H#BvP =ٽUK5#m]q7k,y.C]j lw/o _ݩCW/95.MٞzZנ#ϥVx4dw$oݑŗQ,@2֭7_#@N!;1:@=elItt`b0q :t~,3RhG$~o~,*ͦ:/Ր s?oc.@2 M›5l3& 2@r<fQb67223^Wa 1cۂ:dpʀToe13"/Dїrw՛ퟩ< ݠ(YQxLz1o.'J3!JNM:kO* S/{Clh}{~oWFtRŦ|J)U BVcԢ糦䏌@^F'_M n{U_7[6eZj|2T- 1!{ 7-WXcd|FϹ"Fbks̵uN5TQwd5{(<VKXuQվaFI {rp6Kc:)ݬry ؝9%=ahgVCH*ZےX[66nh`h-׽:R P_ӻ 'AUȼԼ"ٗ{Wb$u<_ـl{yX4'O[gi3PE3lJF;L_ӘTy{7trdEK-p =&vE6ZlbnW?WN wP9I,YWcn!H? I\$n4.v낀xL{(uQC64"M7O;ЧLlz3>Y<7!I]䳱lbYW@"MYd2Ci8dI@O^,Boϐ;tiQϐZ#qOaO#1ٌ5HjIRÃӬnV!~a{Xg,;TP}1R)웽gɒqOA Lp,#t +sVi4oYmSj^eRMcQkl,Z*Ug*  hH9J?I$>FP~TBQ mF3e{M/wdcMʋ$E-ous1Fb_y~{9|zqdF5pT>aD۟P]"x+@$|7; r7-[TXIF!>59]_a6z/6U"?Yiʨq6pC}Dܣ(B!b3<x?7V|54 .4=fY5L6WSLV+-6H)⩱C y#ҽ94O_;!Dc&OGBVh/j|d {:QX >n } /}]ޔ_OB̉! Z[\=f\9W)hݲ t *2hUd !U<|/҄3S )v1~ˆZt~}#҆J/*{̜m,ހ|6=-K7WYUX^Rq_<b͆y=-R1,fE#]༐{k)[Ws~w+uIڝ%D(Argl_ >R5ȾZt : Jy!ڏP?ʦ)NG\6実[^dKݣ:O3IXri@{@#5WRx,!kSov?Ji,~ 9mA4 ^1{Vv!*+ 9WY/S=OYaK8%ª=^CG}WԄ\7[k!w1ѫwY{e2;!4q<ϐ^.YNt2ZaG0gMLs@~QW|*tW5Z aeb&x3$CzT٥0Nw'eN>W@ &e?o"raZԓaC_<[tOBzYU-3aᗔ_n3_ם䜿&܋#D!aMсZ? _S:.T2 ϙT[UKt | &>\=TuV_KPi=!@Hσp9 *R'S%k]%FwqϨu<B_{5)A恽hiD??h(ɞ"pzkAbW=dSiΌB#o.w@>P?x/9wҹҏs?FHo[1XqַHЬ=fjy%Հe?c iW0hXpw'jwe ^2Y\&RveKi<?J.;Cb\ظgGm|ţ2Uo ҋ*ۈO% z!%=h5面~J7#z^x*ӳCf~nlʴ^ l3.6#L닑<"]Xuǂe iz߿rwp ~ S4Lɿljo?)ud<.APw>tJ`_FUKE?˃3Wf#|{7dSCV;cPi0%~<|ջbq-' C;5na#A;u)Do mr ?5ӗU[R5/C-ħr܋wcFifշ~x4ZTӷVs[U_w3j(w˻YM_ ۿۭ.%s&fn$۶6Y~01wk5Ni0[PkMc7] 2 ɑDO4eBF::{'ǿ\h_6Ed(]++ 'ۭl0?I=i ʛqN\Τ܎>sxYPu%{+zB-'8jߋ܋i &.>^6Xmoٸ{?سPwPV 2_ڟx}lT;MsDeNr՟ѳђ<^Z.M녍cc6$<&E8~NDli;֭ySHw%BЊ{}t7!׵!M곈~0Mrȑ:̥yo.|ó3vey@Ʈ"Ft(61~A$@~r<)S кmpc;}ݓtE 79,aQ2/2N-Dɼ1FB&hT)9:,=&,oBcov֦:+11ݥ4q7~CDv:ʯ>E4;v 6vR3Papv5:M&kI$8ЄZpd8ꌄ[Yh8$lnX៏:f&03`1Jv`*<$ tMWNS;1عQ{a&U5=7~ Bcr=h'сf2#Q;ǡ- l ;*PVaE,Lz@z]uQF)/\hiiaaQkw.|3yi}h2YEN dL\Ee;#t7@_?Qb˵}˒6H5VkRRVSH"nH6#]c kwޅHNӆڥ0,;v%d" OS^cvd0@ə@ɣhti/Х.FvB\p}Mo;iL-HkW E5@hp>'F[렅 DB.-Շǎ%ݙ7v`hgrXt+Aa5% #,/]d%qԁ%"qGY Q#}F/+aTJ (8BP04=ԎdA0ӛf1+\fY\C׾Ft"| bj3cwѐP[nzgqjkGv4 w썼V1!mqp K+:^8^PʙtkCJR*f.1;~RV' 2 5S"G!dTP(;R,>INs deǧi׹܋:Q^nlZ'+ntJ#aφ 'k;7nKG2fP}A "P#D/ ri ҰIpS#}^[˃q0rINs.#}Jo3ߞ;m䃆Rx\b\a>ݥ uŧ6f\)C~B͜)sC-a?.^!-:zv*&h eiT&Ą myʾ?/hM hWjP^rqw`m HP&qM9f'ZaSyuIvN6wLi¨p7|Љy=6hS!\Ue])iӠ6@r>lweH:oVScFQɅ˘NǑy6QS pPz!2N]Waj2apU@-AoY38M r>&RWhxPػc*dCP^=Koa=ƄHT Y8;e>̜Ț'ܷsVN`t-Od:&$Za{ς$-vDrm*%E~ ނf_[j R*ư+w(\̀Њ[fg<#.qY;Ec8 H3e=f% UG)E)H+x,t ]rrA@0a~$eźz]3K #X!2_PjkP}s^܉[r<,]I.dbP-@n,%!M }0anuϢ]_TYԤʴ_YJ9~r'ܰAw0_MifU56*\T* Ysj dW[;Tw߿o_(&@W Ă҉w!xjv"ҒckB$BBq>##; V˞5?5ьA˫/x,<ܥ8heyV(@+hmer;SN|$ipcl̴V[kwE6m\i%mAs#.25ծYXm vnjq}n]؍Hl 1J3#!M4<#HSG {+Ɠ[<D%^qw-*kQRq<~AZTB]s&j2AǏHXF9Q |c+½(hltMiYh 8]O+|T:* f\;D,wrB7rvYgv’H+ u1@@Y _3"nLƶmv)H-`N ÅQЋ3fsDk[w2l1rG \5qI! "`d 8DWO=pVtx/(xmsP7S3֢0`)zY:n~i`a.ҹ{H5~d&,67y+$"_*z l얓t7e|/H~ȬWkoѼVFGRS7;b#ﻚ9@߅W1ɫKޜobt$QyoZO)40O٭ě:M0 sۡNO;M`i2?**e(ej6wr?{WAƝ%4Qa=<,Ji3BKTژ]jHvcSH )}mmj:DS F̳dmLBY8R ٖ](@[o/{RGҤORv7evN{sΎRtf ntr^Ɖ "?7&̢ T>Vxrų >cwC(Pn8_q-nN%);0;~E.@@j}NNRz;ʿFͧ=ҒIA] DŹk9Rt㭰a=F+\mͨ 5Z]h)Sy͑PRiGʬ A7L}@BԴM*E-}I沵YaG9U󷓐!boQQ4[Gq'pbC) 5\HzObѼB&nriIyHFլut_]4`pXM!_L(9]@e$t- R,"U4i^`_CP@V"9 t䜮}UKJ*M̈́u!٨h98JVm@K2u6S-8҆4w^o0=g1ۤkDp&&Oqy_; boג4*<7U#nqUYt7F,dj:9svÓt`U$OzF̆LWaRg8$m=HЁ)wrI9%'Bf3 G`c^O< P4ǫ28GN- 9)έj\A M]^qU%W@3d7d*k>A\:>H=ɴɧazNшjp5tB)Hht$x@F*.Nc3#"0?:Dp'))ediܙ"a_  7n Ɠ\LK_d X c{Zl= [}1fJtgxyԎ̱T#~U.v\RMET x̝2#(Đ ek 3PEBw='& t\Sy`%#&c9̛ZWZEt h%RqS(^?5sNj;(SxѻWhs.k zT|cOf](ОݖH8ò#rmv6sX8Bx,E\w5r8?i\-~>[vz@UzLjWAe$& ` {Wٽ!L hsuJI$&ܰrks6ʌe;=(Pw#9G.iб-A`@r9m%PB2x:`{5tzřޞΤ"}~f+]F[1SMsWb[yyi@ AvlΎ:Eͅ4.-TJL,2< P5{܎ؑ#juR[tE{" e7o : ߳N@fW+H{k̉##m{.dx œ(Ŕ5ClUm,vvlױ1?ڡMӘͩiuNVn&^+ 1alaBEp@y!]S;^;syMBH,r 欗G%"ĉ?S=~6}"vܒcjYHL" y :J"o%QP "gנebd֞nR 1O5LYڍC;,,7t߉1K, $vgp=ϲ?3ovM{%JE))P/ynlz{zkeswtO+-m+4z'$V~ej5fj{ Nm!A1uQ'nv,\VMbt٥L)bp2a3n~D=sD<3x=%nLJa^^N)AI/)kP!?z:TU݆v 20̍M xo*OTevBpѼu%kR~~:aKݠM$;ovDž"HZs1} bc(;қ()YEii>ܱ݋TY!&-#4gwx7+ŕyuAɊ5ݢvvӌ]{L:zD |Dq ۵ilkeoje dH?CK4[H}ʮg(: ׻jX;kIBY騕C'ZgG(alR({kڞw]$O`JǬB[E98M4(E\2aB#j81 ídy1 (,.MSJxAK@+ԵG$hYahip6$u'=s <;Iqм5QfS>6"3fp'zDos/A\TX%fm/)w1`(Yt1N. h1%MuLPI~k QaBFgwO.nѨp'L ߒzkwޠ\7L[{m**̨}x7EjFϥD:J_z{~'Q;q9;oQ偲8Fis3==;Y7cs=PoV2{$C1rXhg5Q]Y7׭lUlE;@W&Xͯ:InLj(>{&3lF9BlZrVod[YhZgUDFߜr2nJw4swÆEl ]k0CV 7(`rr Qz\w=;#o6mCX]ï_滂<>=Г&?վ ¡_enY Lr PLy7 oմe,u E8bo>lE z 4}%_>%|̾l`.eWg3_8}dcUr4}w>K?c)Ow̟[rGv|`]i?h ӿ9xw=uƷ/}GzWgAU]/$|]+(I^6&h.}#8rC'h+`/E'Mʬ :kQF&}E˲C= f4%7[G}usRës (辨ð4r do?dl| 0~պ6jx"/mӌ{WM;Ms/eFTG-U!ȓҊY[?%Fs:=],k&Qa`r_˯#)g ك x@>Mͻ>3p8oXf9So8bCiW_v7/g|ikpH ɢ8A `wrep A7 bM$3po1Ղx/8J8l]aɡhNizKH0/8%AqKa (l9Ga^Re.~e I(ʾYځXCC+fq12/( : v1o@U(G,HFb7Α 1OP z1!P+o (%PbHLY}I`^fr/8Irj$I]F!_hd 0BрQP/ h!e1Ҙ$A`W_W@AAbk1$@Wq޼ F&X0fiǾ0fV$> Whf! ɾX0,   ?.6E A^`eP \Wi 0(IXl!P 7fiMd>28 k96`7ϡ`@U<\-7fLg0,N!6FF8?j&(~Gvނ !_ffRɤp`-L^)>IϻF_ߧ_ ?ѯJ<}F$*y\)uF ,Lؗ?4,Gf̫ir}gI>_xo˱AW_k|6z2] }Z2 Tޟ&. KEb諄8 ||&?/Bϥ7̀ې;[19an!ꩈ|?9xpho>v>ġ(+¾LH_9eMbg_,-1Y@=e ?/gZ,GP]4 >/εd{C6IG>1]'z_,$9geKXj6Qu8ġ?ߊ_ǿ~??9?91>rw mX1B_~ ~U<5r _!}W[M_B<7}%rqo.x"OD/)m~<_VʘwʓRyRʓŕ)/Iaj'ߎ:OpO<)}ބ߳<)>*O "?Vԫk?Nqc8L8ߠ<)SyK?Ky.%j*O00Cy_yROU$)߳HqL"=W“.“ƿ~Mf?MwX~dQ OS/Dx.$K?;Z;|ѝpO|9NQHv>hQ7qelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/48x48/0000755000175000017500000000000011347002071025757 5ustar laurentlaurent././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/48x48/application-x-qet-element.svgzqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/48x48/application-x-qet-element.s0000644000175000017500000105304111200647463033145 0ustar laurentlaurent}iw⸺+||gQ[-{3y&__9*HTjauW"dKzf- \l?~o϶[[|` a4ַyx=/"O(p6߼(q]|.n7? Ю>v`Vr~椬k3h϶'/*sKmޛ$UUs"!5“MGE(໯5{(ٙ偧l=3ہ'oG9k|AΣkпjjJw<KE_^ ƇQI~_HbXk/"JfnuZ^6xmۭ3<3ydfhwa'?y1ՈNv zpkع-2 sb֓m;:ox7K;n7=};W{ LKoIP &X╳zm`6'xr R^u(V0,E5 ӟE[ Et]o_:NhCEYJJVe7!cZna.(tyzoUwH`B o9\{>wa,Z3$&ńc1Y?' B&Y$!_3K,+"RRDRxЪH_JύEAˤ wП#:{N/D[A;qB1PCMrD9^c:W`Z&#XlY$+˽LqZ7{wAg?[Doی:_0"g"`".!΂x|k޿ހRo o]Mߠۨ~nt+adſ_OB;Υ WOWb|JRռ\w`~kn =ejا D|E^oL'w7':!xT͂dU%o,6Z ED9/e ꐷ"5֨;ĺW FޣYfq{:xK &ҍ& (^T`@W*w@fH4+I]\I\ ` \qN[Ns}sTdL|SɀMJ,D뒽._c!h ϖL^f+Lo͒ SF?W }c~J.M%巉\79wzWڻ5c/|a,/};Y ;V9sFts&C H$faߞGV/9"^+Dn3 {VU~%Awܣz)A*ޢ0ݥQ%%RvtfrvpRd)~-wr(Z~D 7 ?0H"-kwJqޘ.z=|KBs`}ݪ WpIxB[qUYƘvnB @حp*ÐZ^+$Lސy9ɭ^ =Ho >ڍ6W"DrETgn5r\F#)R(k "+s;w?ޭĮ%YXP# X2;ʏ )zcpUJ 72?$&En5rcQ١o5-ym^b`Fޜ s!Y oezkxO;<.xiD3+./)^<{'E49bCp1ҷzqnFMP޼nI=l5'E|SM*2uhw]Ed?>v>lWַ?N.y*r}z˲vYJoC-O 5$$/}ſL8?x8˥'H~lFw/?~[lHFP/8j>!u(Eh. U;U8ɍ_eVȋ5q-f~ׄ\_)ٝh? &~lm&QH&}K*J2ߙcD$_WOA,leTԹUչY `s !l",`wcQCE3TlYb|H. P*SQ>cW"#\{"ėdJO@L{"^>!.q<&~0\i1" +1Ɛ;Ue85t)["x|ZU uMk(+C˭~?.75݄9IYJPŬ( uK7o7_J<-,F1*TI)w5 !,%Hb?ON U"Q{ b]MeW~P]PV!LqdTE.%g7,sޕןd`Ynŋn?0)*VMuu9ƨ 9;gm+OIH[ոH,I׆Rn\I") !xqW"fU`j*jR{cqzF|K2y_q< YlY²L"E*Ge_`]s!%_CH"f_#I,)L$ӝFaEEeܨhP`p{?uʟyO![FePȇ.Ϙ#IB"!D?a{*V4| 7F=wo 8¯3R LV>rYӼě`7g">wH ;&;*핖f[P\|͠{6I2w]%*g8J"@nApZS*`A`@Q! AUFڇP1K1{nM5 froprB0x7'4*@Yrs"# *=ˢADzbK@ [oB jN ?EK)G3 [?af1QU"ˢ3Ϥb1VgV1R('?4`z'*>LI}M_ OTu==M%*XpD 1HbD1EA$#WdtiJOu z"0C~"DDIdp+){.*gK?lDI'Y1d_H )(q23y" /VPRz #z^cĽ P}r $ş]Ș ] jCdO mcZeLL$#'%DB&tQxK >ɢX]/S1+S"R`~rwsO5[/0 ogqm|MGܥzۋb ^4$_Yc_Jf7^6 !T`?(| S %UxhAI }WhN./UeB)ZK(ɂa*" }JUV*5E_u&bx\cmS^,`\O󪳛Uoa~aeHτx`m5DtېʵVafta&j7,UbrZ%ז/8L0;)XY}w!j@|+K H}Հ$|w駿V~Oҟ@?SW; }ZՀJ?f5@M܉]jՀX ?l5K?KUtosV*]^-gz+{R%%NfwP:}iXtW"W~ힼbXVnYR.7!ToVn7[DTlFgdy>A]oo$*F&f5!;:3{Vx}~38Ck򇙵*Uށ;%0TJƾ2[  ;ƻs߆QV>7~m▏UŏJyǢ$*#}%UEۙz *7_l`!Fn%#*y%EdhH"_i)24x[P)y%n3sqMU[ 7qdx͸=ƙz7λE2Mr+W~oS {-pޥoo{ńlܥȸTy_;hâ:`EuĀZߐ(S ;d׬^@Swin|! ⟻z3t,%ܕᮬe2vTYz_??ܕ?b|P{s?\k{=J\˾S_a՚*{OGlQ.@rIfKw xWy }]}s8FٗɻŊ?i?9:33#>lϓ9_ wT6$&x# . 襤'xB` 8 <+HD/Rr,8A1 |g .bU@* )Ye@+m`1?%E !-Ĵ2EH+o?6JY^?IBL U1)Ie ((,ž>xr?[&jVT>Lh>u[aY~A|xRˠY2!PBϲ%XyW&PjII5 AK=Vb))#V Ik]KeU(EdxDi Eqf 0aY 8 ʲ,@#YB e*}TeP@?X^(=()DIeY )Xľ %'%m@_EOl!+Jiaƙ e4)@+濋LͦDFRB#5<$),|^@ EEMiR'SCFӐE[^$9 4oLd|yʂ 2U<4-Rl09}C'q#^0O;>=n>D p0H @$ *Ə e% h_lN%T!7$$'>vi9S;E2x%K'(r2e/t ˥T)0 Rɢ]qcv@()*L9 [DdPeWG%'tDO\e0@^d'",?HU5!3}MRS*K쉔}$R:!|-#"r$j*`F/~E 10v|.)= T3P L`.@1h:wΐ쑗/3N(pYJR%5VN'QBž)"RZKicG"2,Kb.UF4-@5G{2df44]iܹ ?< $oAz n닷%M+8v ǿnEiVT~*oBd?J;YJW@l+XЭƔ՟-$?27>Xo_H?3]H~oGcS0v'` <΄T:s˓)o*篞v{yUUջOyO%ŋLDx.@qU\V|TRWbsr}߄ϦނXfxi2`;u{Zgyo-}ODl-4?R<}̧ȌVAII3<_}f⫣L=N>_\߀Ղjj炆_ǩA}4T'ӡG>7#=M8o([lz RR t='F*mߛUsҨNw]trW0~yy˯ ńqFGOBtURp0e[! ܵ!Ϯx}k'|ו+;JW iJ^&|]k| TcsʊbxPL`)!?p!^ >0*u73`F]\*@ <{0T9Cr z2Y䋅L}܂qYDVT V6{PWd_-Ja^̤8Ւ;༾b| cW&F`Fͪʀ:"/mI0@?>Y7E7C/۹/aҟ4!5~CP,>s-Iے(_\?M@,gFF ^~qk0~1)R6S˳ |y6Uv㹦) ]kF(]tJp/_ 5/,xrhJC_~O+?[l.Q!_T(z}@_el[@3,VKZ܊1B&=nLMMMXk  QI&$lR)"o-Rp'@;?] Xz AeD?](¼:߁nn2߀ӝQ@+R' FE0x#z &Y҅)ĝ\Xn֝ݬɤ"K0SB#h߅Fm+d7\Ȟ5% ,]k7]@?]J3:i9*>*?j(Yz]2;ߪsmD?`EreW$VO<pCE`wr<1PY T./eܡ%ʿT.cªOGיaIH[j%NSCG?H/w*9 3O E~ܘWz_j&hXEaOhA2;Jऀ_{Tz)Bw3Pĭ|` ?E.^; ?h=J׻8???2XݗWC4h=VY %B ܡXUQ=N}}pǔTbRIv%,󊷠3VI{\dx< җG1}R?: ̇.)&PmWigeYB+ug7뾌:(NWrl! |(" Yd >V~ʰͪ[U_2%2Sp`L1Fi$Rȏ20f$g鞽t7$J sN5#KGFb(?(϶ՂMy$@+D*!G@(r_^޿@/2J!If1B]7|/"sH槗ahIr!1mo]6Dtk"_Zh ǀ@ ̌vXB>7pAP 5J)@xQ+X3xr"[ߌT+#'C @G.8+ld%(APˆp0?CCTəRKdOs} * gUFVݛW]{wf@Q=i&\3%0]/f `~~7[ygfyz7 J`}Rϗ?%/8? WSxz3 Xg/\/.K5.daгՁZW?BǞlv Dvsazm?U>~fg[*W/-fڿ STlP!Zlˇk+esM䚪O^r|M~O-w$).sDZոv5]kr-5ȡX74e'[Qk/|yiV(huʚyERs-Mc?;+aܺҵcP E=(+E-.-tmk/ڰ*_Fc\, :~P-qEoMV:a0LG+5^ YBOQh SA+/ KkUEODX)VQA%/l3#cDb/f0-@Z`c%s>ҩF8ۊ5wS5t+Nq8d+ּCq}eF&n.:dschWԗ:aN2/]uJ=X/rN{ y?TaZW+鮳V]*9wz²)!͏Ƭ9tZ31S3=mxhW Ma97)k1`SgQeߏ*YX-v賚UK%~3 jԨ[i>ύF k9?6>Bi0FZ9N]bp(llڵMY/u`@dι#赺 QEwlw7R ZZԺ1XP{jsj+eۉ@Z4#[)V`Šx兎,By*`4V p;i͹MmteP(Q2>= 3zXw˅xbxVh̨n̆W#--`*9;8!Ն7pG+WF1˽y_:e{`jq4{˘vN13Ys#N[eiz+#>,oFp)砶ۑb̳NVɩ2[UƠNPwjb5(?9h6(ӯ6r^6mH7-iy|ֱrNܪvÊփ^i{:2QwJ%^n+xIme? ̈́i`2FB<|,zn\{rPaXD2@]B}^;}ڞYߨ^k}^pePΨ]'aHb7_V#OS܌&0k5f[%6EKjY]k}Zy$jCcG[=<<:zUZ+eYXܟ5%]*Ȥ>};9Ѧ$u<7Zm$ӺT53%3q+1"]57t0sgInqJ]DY|8 @s#'jh&SߎA&ɘj.qPg;6a紪;p4ؗcm@}}7١؜jucL˦T֕Y* !`-z[,JcYL4}:ɪR-홋^BDܚŰ`m:Wˠ:$-RX~-3I鸃S)ej *fɔV iL_LGϐ*2iܯ΢aF}>v;wyNTs9Ԍ(zo$iqQ8Nz %~#/%ٵZ`d'uytGjb^3rmi0[ NMc֟޺25ys![sAδWxCrvĪ;Ycc_}9UTTfPˆ5)El24t+ Zn_OGxMSr5ڑu!o Ain|;10x@2kۆ|kf#Ѥ ZeT2˃=&jjdJmt$UڰRL#Q͡\oI8먺4;j4X.Ĝ0Gozz7py`fq(PF-sZh.a16:;?tZw P+@`23We5IX H+.yZ|@~uZ񾆄Vȅ0f_blkI$FeTw>ڜ #=+ҟzUP>{QM?`TfZQM)FjSkWvu3^A+$Xoj(&hYeF#]E$s` NKUЎęnqqM,/l$:H Jk6108Ո.NQeoj:j=!V3SY(n':>MĽUqwziXuuu-cE2xqM OFޞkCM̞$9xMXoT{ڕYhWBckevμ,.fP<ʟNJ)G?Lq5uj]{,ʃ;hѾ}a"L$ԦnX:idmɡZj+Ua~h6K`cY_)8VbLSRDSL*X<5+A﻽1om^-b7ڶv'lmpH.Us|Y܅d=c b36.ӭojQgK ˉ0}ݰjaNc6pJPݏ:vƙ\PZl`=2A5Ӫ O ùTЩ,ӁLƝv%T\HIq.a7I̜den9vmNEkV7q{jPV͉A-PKҏǝ3>ŔgUh`Mͽ*Q8AS8ɬLh5Ζ.^(YkՈKjCN\m9rh KlY~[wQZ2;Â܊` @IgQ0޲$oB](¼FǤ.)ih v<6xDflzAo7cR5п<'(fYih6 :;q۷k~eYٍ͆r; ͢RpRK=h4+hˁHJ`Ҩ׈i: ԙkhj6uYi:[N^ڈL`A{%`tdQU5$ˌ1AJJwn#4&sZN3t2[;rJ'Q ۫{٪++cSZ^kz#b5)Qcf_Nwiɏ6\ATvJS2jaT;2գksp<Q2CYQD6<]-y2ҸE;3Z8t7}hV)ɸ&Re~U<ڈa 9<㱎}p 6vpDTR:V, aҐ4!$ Ezuխa2̩771֛j-z ×>ݩYm-zzaiK\U-ǃ٩ȭ-=N}VWlܺ1MFwg8:7}qs]ZΛf50q})KwGΚ)3Cp=׳ܸebzi&f_ >hʠ(,FIEQeȤ بxQ:$~[p655Dib U> +|)v].77I[E*&gl4N+u7ZeZvW{XQNSqt2?;l6/Vq"mPmUP[֚nwʬѪ$Um[²Xj&y[tv&#?ӕf(hޏF- ϸ vi?gah+7s@seԎZEGyd;:Mˠ1?k;&+C$6l8A;UOK֡юB'Vp\Dό#s uSm3-Y4KM,z&5\Qץ֤/Rg"3Iv*`RrWq}s+(Rވ 9Rl֕R$(5mmwa 6fSY^M;Ni~6 qjVfiӊމ*tHLpeh$N;`蝛hObZ-xk\%^JS7^۳NL~a}g>7 fix"S.ҪT7u5'Kw^=%Sk BE9m⟓Q$xC0;;*P7t@džѧAN 7j:;p̳fFA}g]_,fqyH;x6e)ElI],I;čƆ%<܎VJPk<g!k5C}Lɵ[*޴ߜHdeJAt9M9>$t)x6XY4OuF-)Ug>^McS싛ӹ@譡2-^*kP]`&Bmn07cg9xSlNsc?v2%}=<"kSԙCxl|haW=ef.Kڃ=vZ59+dZScxЌ.FX ѹJoRiz{P3['i/圴|KpWV xЫfzM U"yQiRM: el_QM+UZwS9wK0yyϡf c^z0j`PM<}Y'U9mX\FRcfn9U-}[!cse_fZM2sfᒆ6e-Xp=ÚHg:CvX#(h2uzOUǁ=u3f}9mԎD)QFQK5: ۥ,dpnzh D,[mtKѨœ'!S;MLףnCd`s+? Dj1p=Am@!;v|ӐYEu7nܑi Mh$Yk3s\yz8򧚂+*RxZGFR Kf!8ETJІi.iU.es;^]'ܑ\1M KVi.mB˅k7ݺqi.u0rJ=uzq5-l,aug6AoM1j )]-nҸ{zJ~Pqj셝[!xֵS0/ͶJ#]2&x3qAt[;ZƁdi-̖Z(v#9kuh zD)ላw.YHS8 VQ=26߇%ucb_e~IϽ1*J; c+E{+4mjZiGL$83ln au4y0-M<9+eygj@c@~T4-~E, L*>(3%,y}]&[":՜/9n#Z9m!3ZayvvPNl"v-(i "$m6nu 7Q4WҮ@5dk:fHF0dKVDe+iQdg5B06(OMQiɨ2_7GEϢUH󊔞cMϿB^!QĪu\Y9[~+Q~ @aGH_*4<^ 3@Rѻ lf1աV%t|zzt_N~+7WS0 ZM1 }hbX25$sX3Nd2}h  s6BɧL/J>5Cg&)uVT +RçyBأ/Lj,DWtG4[q=q[&I!W m9x5Ԩ\1qK78&li劷Re`LgN\'ئmMA2V!‚육CIHՑ4Ke E"{3+>ʜ.ۖp%[L Bu@w ?_BzOo۫Y2k5ήG0ZyuA@dșZ F}by=*UWçM[)ؠ&{&` ʲ$݂z9N͒"JV)s~ ~rV__.]b=͝BFlB3_Jr?n%FJ(Ɍ.5įJ5o+p|ȈnNMsHۿe bMD^`$8#IG\FEsNiWq@ %IE[B^[_w|=1$베Fm`f}(y<Ƥ@3 iMLv8MP\]bѱ(׿-yX;M9) D0ka!,5/}WIUGWxgl籠ǜlH=!r/[zDbO$9fE}_& cV]W^`uXna߭!a&)B0_Xhr>o2CN`.vA g7ۡvB3}]3 #[),:9w6_\,4HuH!œDS ʂ3!di_}cW?,XH7-W1UggPI db%nw}Ep@?5'\ƐqY~el=^}jYTIE2 E"p1s]E*vQE|ļQ!rwHvRŘ2I'ɪ]y`5F.`V4x'L|/$얍T@2Խ/jG+?@tk+ 3Xt0<3yu.?/KXF耓LK;\e+;Bc+w-x*)6NŔ;("oi?v\1H|LG0ҫ{#]Uw}D0={ZZvL%Q!B?dO>W Sg:Nn㵈>j^2%u? <#fCTrUOêMr>LH@S~Fx+>;N 5v19f|تC,_*)rFL׃/#:mޯq~rm%A tzŕz\f.i\!!W _jKooyxetyx;^GwW!&)~=$eVU7`hT>럣W(Q"+ Cz+|;,? ]Cj$޴fLoՂrZoU*쵅[ 9lliٵI d;TXq=Q&x直&}N2@8((X`T+ް<01k/'̓QpNRÌ4(cbM1|:f( hbf`xeϪۇlb|j&벿R;+z ^ӫUc|և+:Zz|›GĔEۗkt=pc&mzؓ_5GDW@ElnVi#W&y;ƝQ8]2~\x#:cIY0:mY̒2қ`/~^aé( oI|Wbl9_o"s>Lz]#icI?[0\Ns c[~f=ݝk~X {XGۗߙZS 0E -47RRv>e[f9)Zҽ'Mja͐Y~:c {<I-S)e4P~C#|97ԫcBSr}i,MVa F$xhCY3w&b= ܏V< !x8JAˉ^i0&TKCkmw_#7~ ~iqd |oi|M<ak;l@UeHcI.)bx^ys0^Eߐ>+aG@援w5;V\EwV+hՑÜ?('".)d)1ϯ,)gPb!i2ԛOHaƛ>)1#x9EJW*5b` &ɗo(ݮK(ԗ$փM?m4nB>x6_*r [.["{vr_eku+ iN>MhI$ s9t)*1"nSFoki~uP{bdPkJ^~7#>>o6>1as7 F#9ѧM: lkOت8Ҍ'PKp'.MnxO=Eb(C@_1AOJB?ߗt`CsQܰc? x &+cH-P WodO!#߯8dcMn=z8 $GdCV}FgiȳJ8n޵olC%-.º vfd՚ëuK?V]dtJ%%oɋ:RؕvN,>e쩗^0mLZ} xzZ2O[x"|1 W=J-\;鑒XIe&ǶJ_sɷ#.KIAWYsz:$Uzflu:e(`{+G6ןxZ@0.\j gJM>c^Ҭ wT1x>᫖/82 2}䷴!zLa?ýۇԾx3yJ,a9xW~.488J^٫ f 1ɰzE>=$}@{3hr$T M d?G*WCy=3^ݧ!bfQ 5QIR8K:"(b1:gR9/)3>2H O?Q q)A>88GŻ_-/Oڌ,ϠNk,/N~NÈ[PKSzMo#qP}׺(cQg{LL ۃK7 GN!/OudPL(P>0łSGۇz:SҶ!3Π hNۋmX,V|:&'/$޲%ȯ\|mw'|Wu?mIZ&oɏ*W`{1DvD LgD?L+?S duhPQo:|S֎1] Rj݀ӄ((yuhtM{<Dža2G!ol+jLk&t%:䤘Ƀ2"isVl[+^$N2vdx:2gC41(cO`t_au. B5fx9lR uV71 畬r:')/w zk~Ya ]o`4)V@ez3cYb+\{X'${a0#_i_$XYqd&zc- S"q::c+X3,%{]A{jg\Ԯ]WS}?P 7wP"AHLNEؔQ l:EsX .X ?qÛ2 ~H#1@d@-…z4w2ݯ=OA.WpIsW"1ޜ,J"FgϼH[i-ɂ2u~V [Ư}S"1JQpEghEg!r`z"[|{ԓ k;c]@*iwneGʌgť{4ÛJ⁨RqWv14p 0q7f+)J{U~Ī#8dT_ͫ&"/ea->UeI jydWTg qFѣLd ctm2ҷ׋kpVߛd]1  خ/{g? ῧ^b?TȱK8$ :xs'<9}SW/uKĦL'y*l1Tf/2 qo-n!{?xzp ˣ[80e9m?.r ;xXéBSu~6d6vDO"*ϷU9c>wBFSϫnjo$*_ \}N'9n(I_ݷRMԎ#hTW Pc\~(ޏwlQ FyDz,+ x r4z cўN8iW[;"/e" TEM&}~^+lqdZnr/H" Ht Kȵ4] feOc_xGP}z>AlAdaaa'CҴSke|$(ֻ>,Cq%Y04>xԵ$A"Yfy I.Tl6Eϸg4HXmZ/ox6x~Ui&s36q+gt1DQ?)w`pJpEHyHb* Ec]1 #lζ' ~^V;U羛^KFwټm`x*r;)Nv5{[ 2HD EKQI닁^&{%׼~fGCpee&a^= Z+P9t}z{ku fxx֯  3:AYRM,ߣNZNrQ?^VMyXu_edu@\b,e t|4}XܾQ@7ori!lTG 㱪KI=7?~' /%zȘPHQd[@)VBtO'eqx*Ӳ՜y,25",);HOFXtTL /I1OW]q)J=1}x'o G[cċA >-C>xa@#J&-nzt5 +O4W8x+.5"8'InF'cܭB8+d[MIE%и+0gB0 XgѾi98>cٛ KIGGO M^gsFYrhU#Dw:&?^_ZYx!NE Xd 6CAK>pn!YU4x8(eX6%Uo:뢧l:)&pbVHwb0 >tPTwlpj,)Y^1({CnRj+`GgW>ώtfRaSLNdY| 𗌖h8y4NbHHc2ݖh$1֘*ZDsw&*fIF>UbL_ :My8`D>wd_8 ŵ/m^oν0J&i6''qp()v Fv>uRNs{oʬtb7c/j[|kϋqZZۅ%$+>P?R1I?bقcdW; :anߠti^r 'uB#7rAZNaeu. z3".PMA`L:aQ<:8'@s ĀpZKĦn^Uyl'|Kտdۓlc$Ҩ^ n=z{6kUQ.}x/B}(잤zWڻM%1;7!C2۽sPn%YL Fo-GmMFȑB|搶g?\?:^A!nSm%O мhā>4~\}t9,߹}:`RzrR᥾q}.Rc=3ck ?vGcX\ҫFZ{*G=hȇ7>4K'I7Zx^Jj4{x Vkohz;ifSPxND>̻ GP N41~=4aA)&|?n; h!dߟgRk I֟o4#meu_|]|֟ תz׊żO#+;wx0ʯqJz|+E$c*/CY,Qz1~?Edex 1a@6>/ )}n;q=i L w4D7H/Hauڰ4#$VU*."ɒKAm[C?)~hQ=X VO1뱍}&ԟsHA'kѓZzE̼c+eO?ȹ=dV mdTWLZDXw^Fq- JQҜ$PعW9D*jj)>#SrFl4n׻XT s`1߷ao3,S[Ņg}Ѝ_$2cR* F\TdldŞԘӋ͛̒#h9 {e-pqVUH5CfEO 5Į-~E&!QGڜby6?1\UC ?eMq$rsZ/QŜXRq ĭ*zք\ՃWGVr#gT RVDO%;{cgJ[.!;tD`*MdXtZ'B2-\*62mSl[!AkدJcӫahgyeﬞ)Kqli hgAۇbaQSV~b!wUb w$q+<+>L(ٔnlpfceX^^/K?Gm8P_hNYJi*`ѮW5W a`c@ Dͥqk/ۖt8Hn|V67R)U:YQ|i܏;./< 82R#£;R!j݋2 UŊޡVjKaFF=G&t>\~SbӔ/j[.&*qw)J @5ѯ S}.k8H6V.p]PGy+=DAU BVgx/ڍjtf̅bVKn (`6w -KaǗpMt/p,-= k!Gq| T6Ғ)4\ hLtQiirQ}08|.Ewo3g6|%/#'ywb |a!)^Kd9A~uMT/wD^A&9."F! țvPk OAKByRTű9}R/QJ{SzrZn=f$pX>0Df'<_O}[jGӖE]btj6^R%0c+dS|h"eJry$" q!Me"!JU-ilIo*S!{zd jl u0(u-&I)v*ԶF5%"E~SmLmŹ6s=C&qRމ5=dgɞ0RM~q · =o# ~s{@Mv0twjF#YGޫpd1Jt8G,fB*NB%A!7$r>pwd(OqDoxKH!;Y1Ojri2[&[6#0"ĂXu#9,IY # lxFln̿S4`YHq/^rQ|e0*#嗪B^L ~V s4N.DOĩdMEFY1>n/0b&/&0If0+b aJ]Zo0 |-n?螿(_䪱9- udaYm rnrY$6a6ۈK 2X(qՂ mKQIIJ 졘f-dZ K+brFB tIQ) X:ZM9IKs7QɎFsy2ץA!QPLhjemX9Dia V.Q95VOiIP[;+K"It T^Vɻh]T| P2~4,^}r)͇mqF|3bP 5t2ؿE3o߲ AtrKXxIP%$ 7Qg%`FG[XP>8$N$A⍌gO3^ߍٽu7SvCzÙŻA}&W\k3Tϥn|nĐJmQBE t/)TL"KhoguJwPNblt7hDp(h t?dCJ @<_c@Vxۼqm`=f HG H&;l$bv Rʥ\Jݨ'¤оtun_'_TEvěef '$jJsN[hq|Gp]` fw?f՝@]!ݧ0LCd8 &"WN0vk\'x'dICyDy>v苍K鐠śB[HaP7عB1 xa)*VDTfq*'f)Y ee4U23!]z1,r AɌ~6OYEA]Y͟by NFOe>$Y ȸ>hn.-qC+ ҉j*'?S-݇ {.@W55(܆8ZZ/cb-ϫR A9ʛbrڟg,AJaͬ@F6r.|[IQVonݰ̞rBKt['I7 ΄ 0jTF]:'$!Xg[}BAQz EO d;y =FvUFiz\L8]ӎt{_?!aT{\'Q+~-{EwûoL?z ?F0 9F'yvOX&'KZ{QQpǨE}"5! )^AέɇhTܯ/xe +Q q N,(UCL71#0[HURa).!?ٸyvˈi5F*ZƜҙֈVce~j!oz!VԞ%%HDž{ "S|)+nΝ҆WPq1p|F*F[gͲ]`8,&~R[n8^a @>ۛg9\t࿐26A5=QwM5#?Q(޲uu}{ dƉ'=M΅EaO⸍#Iy ݰ-Ź7UJyS9 '2 @'='o_,>WWP.P9W*؜)m8A0HJz&aתߛ8H_595/M*+D\`T§ݕEk`dEV_&=0n^4hZ9I)HkCj>o9zoZZRCwږ8ODD*ka8玨6/7Ql+f94~^{E1NW`Sl1Y`LuxH݊#'uMK^x&lT4;/mQh,G%{bک~rlO j_3p Dyl hn uq7!̃ĈRC<-W_< 6:Jπ-d8>w&rsaO^Un1\杓LU* qpB[{9[P2#ɞrac/(  XuJwR*3m >ӹ50/?WY|ܪl"aFMu>FHhʜ)yd5m2RZ(RuQM[By\#ry+ NNGEgg|U$DrWH`BGAW>.Orh*G;rE(/zHZy}@>c">Up2L~314<ְ8 gYN:g6-_Y;vJ"3Ыs;ck#vNCgɁ|nu} ķ2pq"Q3 .p;7篇&|_|Zst,H15}5@soQNt(a3F i ݡH߯Pnඒ"hKemWqLY¹E/oĜMʃނ|,b Ѹ\ ܘ󻅿/0UYԾum ?jĞ~٥MA;8WQF+W*"dVQ-em5֟e3v8B|"DqO E;~Ig0!4WOP<I.-qM?@ L@^aGXk '+С Ql31h@8mT2 ,:AD#N#ڟS)A$~Sjfg$dgo Ļ"ejܿ1.XÔ95~´U0_zi?89Jxx>7w3!!z:Wa-R5Ud t ;+Kx um, v~TC(0L.3WA'SߴW!C4`kǟIUޠ{9JRd^}clA~F-`z]@&e21g2[ d?aNA 1%"1BSKKR͆mi;6)| agW(zLb{P8r`yrQf"bJ/^YQC/Wa,t0L5;o񶴯aep(Y.qU7h a#gYh}C:S,G1( ŀIitニ>O(s1 _scLx(,AHUL+z2g-= BeXEϨ}havxz&2D}b)T *|Djf&U$vW׶Q%%:{3pT[U$%'; m<#yH(;Y¥-OHjXwPOa}8/ޝx 4AfMkHRYU1{ngӣfWQ/0D&|azI[ב7.w_[U,%Q*AdJ@`ߟ~g}2g;`O]ʇk~Mb?ie:-T6%8EI/M䁿pO(]E+ $A0ĈD(b?;^a#u6j2:S1jɶOJb╍ke; rwOP!V0R6<ژ5Qk QG'3i'2ޭ5ƮWl8r!ʕjl!g (1(fmi~)txotwΆ 齤v1}5 >'9u͔H&y"gwʸZ,FoGhk {J/tS¥5Q7MtY,&P0oi, PO}}*! mu!B.{io/{`Z2a/]OQamMf̐1sFÁrT?by^ sw{Q7LaV$0+PT/񒝪X@<Io_/&^́sr=e$P9m9˴gC?Y?B~>IhH%a+ȁܳeCJqx}[PqۅVhKN|"`b=1C׸'ݬA[Q>= 5U; NTCNDlQgӱjsgaCOL(rsg6Xx$55aK&amϚ3pjYXU`b7I)UϽ>&'VH%mWؚI=Er:+>aOPqu4j/Y{*rW#õcj‡뺧R{9.ʆe05}_e2~SVd^yf*-sFp_ń<5}௏f={ !ӽj-9Y':Ѱ`mZ@/XBȽ~Msoup-)%ӹo9J "A(W gvƕ8/ K#ݎ/"HI?r1!+ni` zKmO(XWcЦ9RrƖplf(ZgQu%+Ii ~1K4&*6S*fL3y/GP27'ZY}ϣrD|̻z}t[¯׈&P[⠐miǙ-h`R+ ?-.\{n^f/%̌%r/=69!%>-q'7$Ҩz½UPkfc!V?46(\fvgXT7^'=Jԡ$R.齡i<$wڈ'&# 6ҚFEꏮNeߊ1OVHk#6ܼ>5-8Ѣ?|Iff:GLf$=.Nu8^nmYJC4zx*R7C?2( j!aW\ UAͯ!T}Y~ٿZ4c}TF]Q@#χ1D޾Θǩx_(\= 1솕Ɋ>&:3@bJp>}?^F2J8R`xi!ށk[վ-!5MS{wiB= IͽM/'$ݽ:IbyCHz-' f'`&}TAc$rKHs͓ehO! x{/f߼kJdVGvDCB:Xz O'@(N2c@j'o(&Z'V /u.^I?Mls*]_K]B!J4#_{+ u廯h3G@,¾Ŏy[W>sY=^1s|k ͧ7KЁR$g\$BMUbbt;T0ټ}C)wh^/@9tYƶKڼ!Ş2 $KPeD~Iot/S,trFwA,wv>PaSQ$1.|5ߗ>c=$\ipiǛSAE{)g./R}tDLj;,y@y.hmGmǿߺkD+^#Eۉ8r6}֯MWD9G$ 7%!זH¬$~d\~sL^`t׬ŧ=*H0 x5/Q8̢[S|S a+!Jt_N3 2O ],׉aJo_UIsk;+/ l^aqe\mE4O56`Ϊ*Qbt^QZݗ3gK43pӭOIk[XK?E/ Zx琱]~sz歅fXmR)nÉs'z!6'7*-m(aM]E/OT*PA ?ϕ'@ ӆrגbWt+d!~K^i;ߑ|Yd )RL:i FL:{: C:%K[L7D@)cǥ'-n(3ZQK~KNpwcx"`N$]b0B+o5(5Go2o0YP, o>W]/AvzAS$][וA*jND\$r6Yz!uT'ғ $]p9jS[ƞr#2JH!iVqEtSI(6G5 Ɠm(bE ṻU 8;J (H>S6yݫ6m Ɍ6l@l$'j'EFG.+o'ɢAz>7H75 AZһ/GDeI|  ;/紪_Q!CmZ|}dm2 M8۱򗋎w7[/rΖEV=?/A!! NLHKHܣ:j톖[FxJ7f{\Ku;des(5#Azl>iԄʛ>k{}©|#.jNmD&eӰϬ<疰4RE#~,gM3pK J53%A+쨲:0:}e~>.Ox!8YV./1J[~b]@hCԩ$x|6}s+Q V'3sC=tߖP`BQFrQ/51&nj0}u|哊^r%3M`vx(7hD> ӽ%3޾ .uijǭ^1f86V?yRGogn@s)FgLn/uTi+P۠EA 02"xR@ (}$][m\XQT,~`>\ĕf&MT_^ŀ bq|,sǭ4v̓Ư/pvwic FɊq袺sHIy|Fq[<эk|uػfW$=dnaR?,09s2럄Y쨱|lg`%n!K=NT_woHE1SxTABiA4G?gfkOPRצ^`8k?G^V疎[} s/ͲTH퀻NQt^M\oSg~# IEH{U^JǗf79\_4$ #&i57,եxO씃 W)["|qتK%tH@Gt3v܀3llamd;wODy"cS\u3=jfphiӠG^oٸ\B9Hp8H1XAsw9*ﰟo:7IEDHG%oJU?UǗ@Ζ(h()!'&T\j\K鄣dX%(Ru&>Sr$J~(Sק UzC䦩H 7Md:IBUDЛ6~H}:&*Ai@jZ',l ^T\in{}MXRۂ1mg9PV`3xW#L%p8#a hrm[HM|(}p$G@Q[@ 7yЁhcgjYљӓ \b_l.jSrTEm~nc3Ȝ HyB,><1:feVi)/W߷Yوm$IBz<+rgRMX\ɣ}/9=:PfL)bm0|/ŏe?1wJ e()J@KD-'%SU/?wMYG #\rg]0.Ŵg؅yC|'1ⳁ͜|e-n -j[1SW<5l,lQuQX!P qHpg)9N9k(C95Err&ZHɿJ'`>;}뇷Q;*kxbViѠ€"}0ZJbF6JsF&|y O@lqv?]ngةՀK,?u_%QI 1ji@2aFYA1C[pv'h㽰Xɥ)V`W!bC&Atq8WtLx"eMrB(xj΋a5Y7[>-|w\ËmU#uR6QqBL.1K>4ʂFVGg CF6J_&zo:O\Q.A_{#v}\GVyfp=%,A$o2=K;7( "Y&;"5"4(u^8Dܸ]r]@D)I炑 J,\Ne+S "Mm8m$Ny מH3T#T#or4~X)%͂XNUǮf ,6ws~x"bxװæD0lS^j:.~<;vLקxƈYi[:԰'&X}%/$oaΰ\FfZTU:㒞M w.[פ6JҡWï`yс=aX8'˯2l yv 0 2^̖aJU&ɹck*%q{"^TXLdGƭ)Kc(q GDY xO)v- ,L8=+so\J X񲭋I-20<YXy5E?^mu?Jѧ9DZBnC{KCĩ NKokG;v 26!@//g+xK83ɨP9 lU3DKKװf9HUs ZUFr9Zqf??T5~8R 8gRd)S‡&^W2jJjRs^V'"(= :&qTv2"˹ Vȏ "Pbz~>i eTa^>zcj dW˜" V 4~>=fSEVZ!TF {/մtB fUb|$?IsPŶϑqTgON~$imduE:Luf{1O%}非X[Y!Dڣu5֐V|/9??ϷBK^=]8>R? "MHYJZ a9@)O#}q_|LWO%qcI8KMPl/hgAwZ01]x؀s8}ߡ 1!aV8fp&pD{֞Y^ >l-v@[㎘;79 )0/P憕v( t^z0e+5\zW5Ѝ*׼VGy_w^[UTs`tA~$$nSőV&Ogtx?0̫wl{AMPFP4ҦSK$XÂ@;늯:rH.}=V__͙Ze/az &V_~ ce1s游ʢpu E]RW!^p[7?#M4~?Eaη޵G{ 14؅ ,܉g\z$_??|RRU6^p+ϾQ7)f[{v2*/񗏌KI$^`ILm<¾hã*y\~'Wmot쉜)Nqo V#Cgȉle#tE?D%|nAJ6d-๗HN?+'v\o?F{\6a*s&GXx̟U}XAb+&gmb0e`B(XnIYZT5nn#猦EM. _ℎ^aCTIbP%'J,8XI)bX.>Էa5p[f9A_ЅxobNOdYI{s>]wzmM[X[r1#΀|DloF`O_1ݵ<j(4}ej}.862zӕIdˠmx6fm, &__Gh$!x*S1\ 괡,) `GXkz#`,&ZfYU]BD ..oÌ@bnPs1ń'Iĭ@o]I<s>ug*) ȿup@3b$=B%6.M?oT'[ވ|Rfo{}be! KIh3\A!)N#+V]1KsMGJ:g}e,QRPc/bG_@5]*:[^Uj~{,1<_kN4kxqWH2uty&H^3Ek%5_.Ɇ$=bi!<ph.+s!5Y\"^FY]jdM6sB}-JP2GHM,!8]FˡL孭 P6_֤9_ݒ$7~LXП.]`Ѐm @pYdh# 2c+;J-ڙG,A F#D P+  lwH mP}NJU쒉vJH5mfQw_+tй!7ť)ߌ1:#D_X)زW:h.{$&y$ժuA~_&|% RNmUWnʏ@*:_N418GC\Tj4:[Ǫ9oNDz9ӊLhGG.^jZ&]iJoKnr;+=Q녳 =CZ*7 є֚JrGtx[>.ͧ_/޶W/wHpC TjFɥzgөm1}8/Tc UU@\{/˃ĐɬT>mks+2q]vYUmU  :F,#Z˕BZ\XyGq_YT?k`r?k!ԛ27V:PNI{N#5*Ǥ ml.\_^@DV{K,g ߵ(qh}$w+ ՝Z>6/pԔjrMI|o-%7d*PZUjzZ^[])^+:s[:[V<÷nAܭ\1d(Q{1V/NJaq7l7!#%EhKdiwW7[J6~^،`s3QF;{ jDDyPMfEu{?}xZxߑ׋W iP05N;G/$fz;AOr}I)IE]\YX9\1 yt/rJ 䈽'#W7s^GxŔC%m.{wTMxY;W C$GFzoU=AK;=K)|uvx+C *Je2&ϙ 9PlVgڠ:^*RdEƔExE2v/%d ~)]}(iLGh =Jӿ墇4\*8TPri ~'bTHߐZ_;IK2-O?V"g䮙E}e#RY( 0E8]+u瓘.;W)%Jd'F=Wjd\0G1)%E%ܙoRI2?J6LcPxjY k'mg+ϷoR N f"P (J!uT:~No;+X>=6ͥE*fBp±\ 2.MO#ʼ7t0׳|~Aʠ\!}-_$#2܃8?75r7 -,\8XC$ ۊf*t=ɺΌXGHn(ʰHvA8s0>o$=[ n+|#6fS#dI-.5\`47ǓYd޳ 9asxhd/63 EdmL↼{@#@QY*j3-pB_X|Q_*>&vW2H n-uTCF-[ߛ |Pm(5pR;~_6^'[뵠"0(%-W(L٢6g > 3~/7@\Μz62[D(P+<+W]h1uyhDFOBWYd@E5FbQeE Bܿ}QtIjS%eͩ(XM)<ɧb>@굮 >O2]"|gkD{sV!]),$Ӹl$M%hWgBDKpAv8s6g5. sI˃8zMk?z>ov+s'(uT{j~.TN8b8s2VvD8=a7BP}f`.pߛ]r;_NХ#gt?I?+uD"O)p99-1 ~_tT3㏖>MeNj;ɬ8!H|ШI!eK/l?L{&Su n==сmIi4Z=QdA])ۀNJ@F# {\;v^a ! e^*u!lly6eU|DՐْI㣄**.8y;U^'!6U#,6yxqd̰䕯R0xj6X^?҉{TQGpeC+2 !GoݬrP-56ezslKbnHn.͔3bddX`ZL.:='{*^xd.^K\3y :kir}e33)MŹ7W΂ҀZ៘1@?ݳQ׋_ÐdzAe]7+i+g]WCZKu{đc:;s::srqKEROޢ- 2]lmh!B  W1{} ~vDNnV0oEQab,AxOג1" DZQ^#si?i!`BER_duC[h1-Bnzd+QV{eW/+2!Zh`֐k!҂=Ϙ\}^x$WzwcUe-c_$𭸏95 pg.mc{LK?'fUG2L>̡ɏWqz{ NoPS43@KS@>HuF曄+[ m+R9HS,_ *QLA,=pn4ve 5ȻPq<wjJbS(Nnz%k%ɽX[JE@Wæ<1u8H(V"@ީOܲ5[f1rЉ蕸𢬓qAJkS*tлt*0 òl$*TqϏPwk圄p ~a8\^){Gam_?wb_mL. 5Gg &^csq<&k'puG>B~Ƅlg$ G?3H0k5,gZ`l {%y`;I؂0GeD>b=4]s`B?!R `2MPD">}9ݚzePa[XHjTkh=Q%00<)JI'1& *Iu~dSbnzPNesʟu 0ˋ̮61Bqnaظtik3fXݎ47OTn$|)ѳA H*bO'-,7{JYm*iHYhp9h T&Ƣ RX’>}?13a"3 6\amʷ_=uSrH\wtCАz8x^)27S{yΉ7$]4xG/>c7My]X9I3$fr}#)CqK"{K>G l/xXٚVNRsp6w X/q >ZfĊNK^c?Ӻk Ik7KEq4v$j^( :Ł­綃y`]"RA1eP$_!r]ŒTޯywUn*wiٲ%"4KM~.Hz)FIAH\SD}^S'Gk0 *ݾ95‰s¾舔9hml9F„6x{:Dz Qi|B6! <;NޫϿĿzSu0χ| \to>ݑhFZ߿(}bGdg4PAgXkC 5BΣ-[',nwè>i= T(iwMd{ ӍVEFaUcQu+&\JjP 'w)ԛ#G_B˶CHr4`QQmq81㏖6)*>cݴ2`q̿ѹ Jb6r3M$U)oCs<`=j lD̰tєаE!wGs~fL,gp<'d&X;jA$d)s[EұoT]΍ire+-;1T p` (%?Pނ [`yS-f[.ْWV=1 [EkWM8mRZn&p9iAT<=N.?PXȀl7z`z+PB@#/p!Wb'$$C^g5t0}eh?#;Vn{>מg5k' fj*M]XB8w ufS!` H}CDCj xEKaςGl5{>9?⹨*p0=Vz8wv JsݢƵ+Do9e5gmmm톡aPTS-L䏱l/ZrKOZ:/ 669GB?gOU?4RJ&+(o[p0߀ ~ڹ+4sB,i]}XxzrcM峲+P)rxx4Kb|Ǵf\]{ .uo㢀rfcW?`A O- ϽejJwGAHV"܈V}8SF Slڪa@@d<:d+-O>_]ĄfBp"l]u67b2LwGh@xr}%{5*]X/&5!jX'V7;0}:`]0Wq(q!WqVl l^W{@# :ZAyK)PX=,]Bu٢ 3[8 Ww<6n]n嵴# +Ϸ~_K8ydq/v7Jq{i?1b_" 2MԸȯ xfRs{eWŇH\%z9*(V+ ȏҢ(3{,Xi ZYg9$c,Qcjh^r&eA1 7ҊN_!>Pn߾Ք*B@wmV_;kv ݯ6Eet/vQJnr%C9 X0|͒wa~:| W݈裾\ '+Sm,<15(IMV]ؖ>Y Ұ߷۴RUkQ&= MN 0-YJ~CE#WB7k{d-vT~y%z;`(ԞthM'՗$yexB+_ w~MXQibJH:7NM(/r.3f~"~+1s;S7Zyq-ڳ}{$o݋#.".{p"'#9gӄHj-}6PJ o?-(~lD |"9z:ֻ$cw'w\߆Ÿ3Ss\A_D$Oci*{M8No fPJ 8p ic+2u :uA6ePZ8d.%oaP|2<} 7c'\D}t4+f:.pܴ}Q]x?_x1wOLQZ")ANa: xCtD$? TCG?)mLx\F]a2G" xD:#!ܲCcXF5|'~NƊXpELbcnknzB4,y)QTyIXk GdSQF0e. Ӻ [ٯb/g |Qw85A FQlEQ{rl2'+f)x[5ʙh`6?_yt\&5F;9mYOkva7\s̫i6/5Lbo7r`!*D{Xi 5@ea_ehUT n[٧7梬{ 5X楚腣Xxn+sl3>yݪ8Õ(K6f6 " .6BJ;7Qsr~*AwU`@ִ@;1oj2IҌB3CO2 [~V`,=~,*wߵ'Xo/ ӹN M]:EK!E:'E.(?|M70__=U'Òd\ D9y'Xv0n"V"H(>3K%΋-(I(V` U^Ÿ>%YD!$LVimR)ͿOYLO.$~L`%s(*|Yb#'*`6iE, eAgbkFK,8 `0™.9nLE,| h[§Ů_ެ+>|Y1Dt*EӁG}և睇q oX*qeG?G֎[t ✠KQ?DyoQ0m#5Akl 2T!WJP$WC}GY3x X INo/ܗ@p<<\,x [~=Dv5%_Hg\3iskl],>&'`)gI ײVyZe#7Hliq#Tg+xGb;QkGGOcXhu tYꥨIP bwwi㐁_Յq]IoCX_K= %mɃMY-3TZ kf#[Q 7'a3Sy O i5[-:D!#V&zY*ڬzԱ(603W>H^s0 B%&ɐsU2*'cS~''Aʕ6=}/D J~ι Q1x)T}ى`9`oMV"7 DPw@fʫ] $-(~u@qnEv>K/_PW1R%J\M5Ѱ<֌Ou硙w ,Sw_J,x+*h^Q壿y' 4y*4%wy-XL/.:3`zF$1`17R |!e#V5 KFypWhȬ-=բ(ɑ/բ3k J10Ǒ;b[;GxoN$er =f]ӃGO.MD# ò#b =>FRЏ {-L1>/g.0?D3z?b*xöB>ҒusLjN!?FFTo)/8wxK\a- X@c#S:)- !V}ŋ')ZVR%kL] %ϥmڌv[ɆnȝLGX#@uHR1,i}`Ĺt6I5_qO }xyU_O 1)b ŠR > _,}}U솷Y$~ {0;T|mӄco; εAME~g~<~cCy+6ڈV\&= hV/cdQWSWoYޣ=]cCڔgR:l>#Nq9xb}R}PUڵ1o$z9J`I)_)hP|6ӡ-ܞ[毋6GEN|5ĕ e\։>4O@>0O6 fj-hQ*vk#\V'\֚}lp㰲}go>T@x}{ k򳳿C8My>)ͷiQ}3ϣx2M3 ,A >br1=P!.K.3UoWkNK&L Jhf&2q4.0C4F۱r:>g_7hYLG.v0@[,rg;y+6Axjm~޼dL؞˭Ih,ornR1ژ 6c R?Ec ?x{1>Cq"0~{ )ۦ1?a%~(="wΞJ1-h4RƐv(K@ Mz枋H#h{˪Lcwx\dw'(8zGdg+J;AԎv>yhvW38V6a/ "IdaQz5g$󃇯!l]w+=oAxߙIݫO4WtQ@(i}OgJc7@ 9Q_9 –0[(T\KEڽ+@AeɻW/4w<8.Ȇõ"%X@6L^ѓ `}P̏_/흩Ǐ3!)ȮYɜ0 ,({o3$kQ| >Y,ءx}(r-p^&]=Yo(8)ZLM?F2ͣ!M*DᗉdЋ'w 94ď)zXb5dv؛r5/rk13ٞh<;mb49926Kc_eᙨb̰.Lş`*H GE)iwQ -{j#AwpNX׼{~$dL,J9\PnRm8RZPL_TS^ԉ*;dtG^0l1 8?[a.a#'$eR 9Y0a=)#j W:ޣ%p*7YJُնv}yF v(}@ןz3@Nfԣ!%D`l~wHYƴ Py Ȧ[97TY"'ۑ^` D&kZٌ!h 73VjLq?k}Zo1}:Hoe=tڪ;JIѿ!q Eq屪Š 銰B9d{|uR[GK:դG04@ jR*8pabu Zs͎d"lBmh&k_䝘#[iM Yts+gT?EX/֍̮%F[җP14FnrX@AJ?V'JsJOZ fӶҺ=N/Pi+ǁ܁@)M*= Ƹ܄A$. Ct'شr6b mY9, T4l)'Θ ,@NG=X ʓeo /SpϐrDXSCUi2*W'E=j0MxM8}džסy?A%L)M( %e~\⪠b9<>>Dc5C#V:aLtzvxh2l *иr$7Tv(=>&5>cvK "O̢uvxS*mF5 [p27ϻw%%[fFQ3xb `@#@NuLVTN̷UZem l: ~q@ca48 {{]vwp{{gFX)>sk|o1ޞd٫K6_L@8]&ߒS!&r6ݕxMxݗhqZ4h2Z9 q0EL Ek%g9KAׯk8j|ij.Ac adHMi&guhhů7c 2G1:g{Vr+ qL6*T$+uE9ޤ?P,{ Q !Зy0EUzjOn#kOlpAk`X_C9[`ۼ4qvrl$꒼oDerabL-QW`>E],0v2kLt(&CuU|njQr0 zBBsm`?%Y ꡁ55k3Ӝ?: ת oz~xE 0EiY$;/hM%ggyESCAʢf#.Y3>~e)wPi7+KutF~gWlx1?c1ʋz(A;:񾒾!ݽT?-;r#<4hhbx #\o# prAu]ϼ/W^^%ۊ.Ic|݋h*lgtVfŒ/e_}wJ+kDq^>vA`n"uwVKZ;?yPwRaܰNnu=)_~ Q0v9]:8FΥ5soES^f/뇟5c !̀G3\3tǠ Ubu1];J{n=uQTBF66{V)GDT`׶uк͖ñ 1Rd0&o#Tfc\i OX£rex,GufS#TksT3!qGiH;4{:x:-}/euľ_Od`Jd<D$=/` gZ*En_iA 7p wH?KV/׾°L:v 12#1G3XS`VV@I&$H}g5BB!]lh@ wU8WTCma4I=صBդ#>]shM5(({醹hPkc)@t' mTeʥuN:\N{Ww+Q߷y])i}M{3vS1l-{\}UC1o^{(1> aݽ8|&QPJ\{rZ:g 'ZUHE+ELgRq53[K dvGUE7i;'Gi*QrC`[^&Tg@>-B҆K&!XuΥ j^e;_bxD3P*Q:=.{5o ^Ө'+76FP }O[1êҐuRDy-El+R#Q 6\uN/YzffC(TMU#CAx~i-UE|)(&&h/,?/55QIlf%\0aLȈC@s+5 gPp> 6.zĸ_DsL @{݇S/;ݩp4Ul.bof- s'1&>yvI}IvhUU]%&nAK6(™a)ߞE5oN\-oʟ-GEg]?$F~zK):gr D_1&\Wm&\ָzV L`5}$[1e|}R-={K+E3A`:[9QOueUyuMJqbQ[ uy;Hj8UG.C/I8+5 )#<0u]F8u|L6"_AH;P^.i߶sπV!A"1:40ggҀzO|VDƂӭ/ . z~TfV+_v#u8Xw}NC 2VMB(5RVrv>9q%-A"Ȥh" :kqmϯ`{n Z=ЎQ*Vy>u׳[ߓI0܍0-ߋm=y $ طˀ6%z6J+L9ʯ!%JHp,aQOMkrI8 @?%?RN_͓}ىqM'2 Ֆʇu6^!nҋKP U_(l(%/r& Phipd+fz %|l&QvK'jh<l^`R슗M) VF(E>efg lZ3@HE+c9bzS0Uĕ2qtK8H/:{y˔yk_5D?iB?82#4Jx0=F_(nxY{K@ͷFBpA) v:=wzBJֻ6#-(U9(zZê4=H QM sG!PFt dZ̿ {pR|aC3!P닄C &6>p$d9)gDJowq{Ý;pcd]־D٪,R;֫%bWN/}t>f8# }K)52 {pACCFLk4NXCNhK=ovPyQ'5[`zgmۄiֿmjGlj)_2L kϨP"9X 0e`O=4i9l*_^wQ&"$½ T ե @}v_.eҽd7>JG/f%c_Jl)Zzvd hgD]1UjƿDъL)o鈙MI E'iC4s(W>gKբ~Qa,cv~,9 䴢0hgpɑ vCn)f3"C61]j햂)&[LXg|s{CTT]tkѨT;*O{݊VYFm\=Fs>جzHr 'ss6R21utS; Od!,b/ p帪t I(wte]~]ј-ZRV_^LěSgAƪ{oKe;RY(vK]İ&bk}' (W#ि!zL64y%{YCְJ5TTVG2åu߳|9i`XAt"@б)kάHL-o]6*akp{MD󂤾35evguWԆ27G vs~p|_E8*tW;R]ʏ|G5v o{8EpXh=!3>3^X:f {dKrΈ##DO_+fOtD<` n cφc&t>ڧ$ťžD㿻K |8&:x>6w?6U %vC]`zHM8-bR `مIC~+ǩTܻ;oV5Gߚg0E01e`|Gl=q:d^/^Twےt6 96Sv EBX63?%<_ˉ Z;{Ebpnд%,N<41bq^ y"Aʱm"X֮ؓɠΐ|ĘjB xY?$R:wm7/vK#u#[sb{` wPOG* c2wƁ1~c gֺas\=ky(P.vhvBGV['ɿsO\gGILX7:@ *xj5Yr0ؔQ#doKC16zvmiۺĚ\0ۥ lqbq7)ɺ]r%t’o,:*q4 dYҗӦr3jYb[E=^su~o/ Ƙt ~RP{9&g푆j2/2؋~5qpcMQ?/ïvJԴʛ@#=R8‡vqd{<_ jٽn6sKQkƤ?6{k4J:纖ee2;=KwۃKGFʲ`ӺҫGs0SѡZ/#/2SS%_ryE'5ಢm*񖏊z..嗲6M|*k% 7= v_W tU1:OtRֻ*ss>~L 76\]Y2"Dg9EmO~19nr6hgn! ޑΏcnս[i iSVv(?7W湐}^/]",6dF@~M{o}2p.xK\E/{/nb@:m]!$Cj&):ps_U$n=vC5ZƵÃARX(+y4*@1W!nnIL888  k^ɬ*{mP"gP@tݴ(a{6_ QK+!Fr~iZ 0i >s~7.j݊S{ \m !Ls4wqێeTXi;:Coc$1dN8nɿXݪcvt.+!u0ٻġv{~!==p_Ntv`H6y냲Mx`XNT2vQuK/zߟf#H$ BNAynޕ i4k } VS1W]Ei#UGՂ%K+F+M5YRqNv!kTc5Ͼ!@AǪ(#NPA/ NlՋû蠿\ YiY<{ŰO|C]3<;rb?F]S'~zkJ aphq=J/gvlgb|e_ljyb 7}*86j1#qrҤ:!6F1u[+$P4R&{oP'g#5ѱǑQxi&˔X`斣Jh4C?t2*/d۴0n/zSld \@ }&poiXJ5QH {]uLti]f3Co*$RS"~J|iߤU$lqoq,$*]w<1iK TDo)ā l׎}s:`7 ;L/$/~4@{? : >mh^1>SWsӜlvxJCJo@rҜ4S9>$-|Cs9e0sJ@RÌ/NC,0L3<[EO <25lo (-j }e.DӞJaDoɿ$>}?'Q=҅"d7],{c=L/rIm ˞9yɡ>idim^$Ӵ!b vz+֔?NH͟$C#$俴Us1CCyٜTGBw|\I}3j eGµO^8SLUqfb 2'|\8W=4X4$kKajpgJ7L. /zV)Q{n}?2C/zG'k$ʬR >x,pxh=0f ,>g"œ)( I|5(ah8>&~lLX Kmn/J {#?QִNs$R|CH$w,x#v9C$l!m+ Lx /*,6n̚QJ$WЯȫιC{bKl>iyVqik(?7^Da] 64~/27?hqj~03S9e%l#5nٱ ExpM}ef j"֏\,tpiC zu::pH;(*鄰k'SKWwPR;@(ΘڛOc># IT'DXZ-j-,8Hq` GxwR S?uNbӴKOKL`$$H]JKgt2,;O"I7z >L!e"Y^YyCOhnGbQӚ?du=8 ;5|"Ї7j浠.w%'h>: ү,9:HZCbuuA]SvƢϼ!u`-ذY #UĦAҬʋqowMLkϐ\ݓeCA~)yva9_>H.nK=Wapw񄺺RDsЃ2(}/+;*jBnIM%7P( "S3u[k+m;>ʐ"Rqu ][N%i$ tYIe0fQ }i' Xm;0֦o$L;RTnlSQKvmpK/X EG6K9ၯ&;*r->="Vq=WMf:$8u2zqk\'p< rsϩ'6Ks3J {P"C]"P\T*3(TW @ l?_-Yb_ K\ j3;7Q7zpXO[2<._VUO*kUhw~~l)W֦?#Ri aiFR/T|Vaqk~!T$yAX^TN h_a#rJ(|u<uK?O2uh M~M]_ %e0wN`d*qJR77P3$od7\ b+5&Xߨ 2 1e꺵 "},0/y*BDBmaخRPIW-/]kɍO'wOKm3 dǏ]nCd=M1DIw!Zr_Ի7t|~XiШ A 4v3.X4X_ kl-aIf;ձ@G#7DKx |aAޑC"}CQ:E+׾wlXTZu!_kO|Jy4Un71 ǭek@|ׯ~v2W]ݽ5#dcp ue FD0HEI{._@4Q#Q>.QһꕸY/TA̚Y 3i^N~;CnAeJ@@^{=إA?ҡ&Q_2No0!FꝀh2bڞU 0&40qK39{!,NHq^;"H@Rd1#w]:b˿]qYx0شO<*l0v!!5?0M5y_6&Kpon0yd@g:չXEyYw+bM(6QfUuK=Yx9']Oˁ+)zy'G4M <b Du{mt;CZw-O5|h԰fl,\[ cJ?yc0 ÕG^O *7R p:.Ex| r@pIz"dzG)ZF\3[=:]5& 1n jeq֨6݉hE d#6PCi#^ea1zIUȵ}_ӧO['HEdv Aw5ƅ@}wV k~D,>ؠc1{7MX>KԺC3zvTA퀦&@ЋƲ; %%!y0oiWޯ1t3tr׷g1oB]a('w>0Ug溗U=stKH*<  g#%6k Yewa&mp{''OMÛ#"o CUw?Սr AL+C@)i)[ 34f]ݨve1`=;w”t7VK)~;rw.蟸iN<Ƒ, Zxhl'~юTn 45++/HqrEߴF}3U3(v vgQL^W;.6#ܶ Ky:>h NWnH69\nɝFsi!,\EFh8rչ)rbvB](!/Wq;H'UE֥Tߑ@Լ+!D=D.;[=}>enKh'(ܺ`$;̗QkeN{C AKa@K&D)CB_.%-o&!uyJ?O޾շkc&+ɕ'QASPcʓ+#cnzʥ|>x!\m:yMt1GWH"^U9<" g?E6^Gl.cU3|3\͞@?O:9i`-%/K(NKDWV7m,Ie;~F6C[ʧ"n DAHkB/ô GS32wF hv T~s"d=Hhb$ӼMgϺǬpn KXm7"_"q|ԴoؿGj üJtۤx{jbB>䤃c'E{iA4s ][]}-SW+Ef\_F~k" w,>$j+oH]J@z|JsEU?=%|nN[|2TgrHWaSό@Dw?VN˟ ͧ_D+6CcxF,3i ]EKotV!Xw#qk7(2AA A1O ShJosUTj?u٫{!ʛ`li^nqbg۷u:)a3a? heA4q:~lVX=`:uYseA8t;Y!F7s~SvIJzOtSdRj_C}wDoɝ՛Shl"cZkKqRMdMue&ݤx DcQ6}'h?;R7wgڕza Wn3W*ez7uIa+H8^^4Ĝ3:%zHki}|lE B.S ys?֭n]#un@nq1MP8O}xT^g wp~TQ*vhZA݀FZ]%+,Hc 9[3Hv.+EgAhDtl %K %3=g+)HfɈJJ,z?9N8VF9UNJZ|gFi2]n*,.m1{\$b)I>$J3)D@5@`0b(K O HeO+w|%ނUQ?N/3C<nѧpۮiu6So\6݅y|V>pɯFV'ݒz)ւ[{ Ky1ve`]\ٓ.XUW̑ e`s}g0tt]!z,ݶ8Ǧ= Õ , "Ζ Jh]A:_8 A8z:9Qo{J^E1|BO?Wrc8":X*w4uS5˄~̔i=H`_\$^#kDl0c?8/2ߗ)c'hcu/I1l2|Wl}~=L7Cz2gYѥPL ^?/ewx~I}'o:ዡ敶.Q-HeA&Gm#G];4_B700 +ސzrڃDB~*5K RrͮiP *CLCm>Y$$n277OrFqU+GA`J&^|K˗g#~OOQ xJ{׮MJ=v9!8s8}4Yj<Qn6YHcjKixϷT#vSf`=TllF~d)`"v69.At_0Iڛ㩱y(zF2#(גcǹ?- WdNoEJ yZ3w AYP? jdAebN]XPn(`|ilxD0}m<3p`97~1MO}B]c2,al?%k.6"uu3->Ql6)?r .nn,)NɚhN]i׭1yj(X0Jl#x ~[&rDpZdaȳ=;sÄea!}PoՅ)%ܡe^[mXUUI˿`lI-@<;v7S$4O=ZDE/v ,:.'[ b@3W+^.tȮ`GgY 0dݎ1uq tx+l 8vG֚GMf+}>e RܳCU\Jqw#D{鳏)ڻPz ,e_+eKp>Dwpo~qG$T>r=27!UƤg$tn>Ug Bdo>Bp459jHVvwqXQC3ϗ^ %IYH!vvB@0kĸIR 6A&S\j) }ӷwkc1ugSVYsUe ?9LѩܔZ4|2˗yb>@ȕ~ J8$_ǻy܎^@р4V9;֗g@Z˷ IGBg }5#貨^( Ӭ+<$æ/oҔ221~دT27K9x(eʈ ^%/~^_3נ}M}@waC<H WܛM~w&ɭTf7ͧbp{]߻7*ӣB @e`/ͫ~O_^Ykv m\o>!xtcv( anX9dP wWak&5 Ҡ@c#7[;0x=6lcN!}rF,<ú1#{TWdLI>n!7@o`)$ġgDP!KfyX +0H|%- N&&Z"WV{_>iF~V E_Y1n mOx'I'"~2З䐖LE>!}qQ?|^#w҇zcg0N/o6֣֌#) _v |+" ѡ*U,zdփ1:ࣽX({rv˘6s6 uXtn[ZLfuBOt_4 F9ƛwR7-z3RڊquނqD# *sژbwQ9 Oyq#2"ΞPHX$)N֥j'9|{l Bw~};>.ڝ烢nXV;ex)>CPN C WKoIAcQ>YĶ8Pc?. /IkwBSlu jM#+yq˭&ԥ ljxަ]`Gczx2"!sLu@u6ot:LB14X{軘7pTԝ?=xj%҄wdɗ%Dl 93^ygGw/6 Ȭp8⚋pLtP&E|@qwKYeۧk܈m;-VDO; ]<9uZ7^'YmYo$̼0 -J 2K3² n=EEJwTA Jvs/NC~H"{\EIגƏ w}OFSc|$w`*ap8 ҁ*­{zs] dDMstɺIJI`ޙ$k^ -{8 B=6SNH^kc]!j$IXMdVQsa&7Q CN9*e/|_)W|[̋sdvPDcfvWɾeq<[Q6O\.L7M)Wx9bdEݽ4zŐ| gJ^KJ t8Emnvf_mJSR[>OZ%a]oyz֐eQ^7Z`9Z.Iҗā&9Kf S &ee]w"oJ2V\F;ctu}rzI2JƖ$wC߾m7[yV{#o޶]gBgp]6g@sAwҎ_*!$mFrnsI'q; 1qa*5Q'gԖL_gsv%oV|*5xuI!~5Jg`&Xj5"~\6gپH}߀;̓EȐδqeOg]DOwP94_ʪy,/,0#qU(E/c!ă*)ib'ߵ `#c2Zs8ly!BfJ7]*b- $guKmsNQcÐ3Yo-󽤂KQSҢct1C5ZřM ^5-r<%9Pe퓳1>K,hN3?/x"mn[$t[V҉P@jtu@o/)Eeo+-EKb釤ӿ¨K^,Vwkþ!|2?H$ԫqW/daF׾'0]':k8/tcKEg~)8"\+Ė-S~;&^$ -0 IL;\ci@24שּׂ4:by@r5FX6ϧ<‚rFU!i""v.o,Nv3.<N5p9y굉wQݘSS:${f\ii I70 m_?-Ddd8&pX'I0LЛo <4>R&FWHebP^W%S?( G||'IY@+,ysG܋̔ >Z7e @=OCZ=:~J%GʲBq4]ds^)17&cqCPAצޢmR<} ]6 oRT?ʹ\hf,׸~:D|׈ꍹ{EY=-YٽZt9jKǻĻF,Z B:;!y&fup(hBξ' *'b:6ݠn#[\(jHRV֜\S G={^~]cOuQœ١K,"wLCf9x6$ciABۛu e11/.TL){5z tzW} Bx,zǫ㏻^]ByXg]OؤTYn)ҀMMQ dhnbK:5y,^^J|}n!h]QjhZcTIyVװ4mh(jPFKY+!Çw:Μ՗ #Ɣ8nhj\ShwХ`ocY4c[ۻag?)drOdͭ]'9>^;6;˺8f{Љ-2 T?^E{']QPT |w²NؽQ ݸ(عΥ@+{q`FR`e~j+l[<Ȁ]⸂:%F4g~sgJx0=*TlQ$2^dYĨ wˤi./tq GܢUپjNOcM`u#;nR^gWw ./e+ą5>$fb3b8Ua'[il azOH-/b>xsn9dZx`T 1Gsͼă"7ϰM=Qꩊfy XY$;n97-q#430.>lbg( T,tH܄ ǬTS!,XUx/ǩCn^;ZM\41 ۳kJӰk x~NbŊoyǫ T['20)zTu7c4eXI7#m9^=2/Y˗8&Ge_ , GJ ;0kj'L dvǨ?ٹsˆ ۊRI'dYW[Y,p؛v 9<_| W?{QU9~彃kUۍ=>4OVzY#/"xcKct`dsn}JpӀEJ4=[Xm̚z뱫ንCA/0q#$ UjRgtՌs&s|0ŀw ?S֑֑ebkVݽ~Y:PL^ݧ৑z[Ur2} }B[l[]SxA#NCQ$tch_nD4(5il>`[[ezK2PƝ`5GSY#V^pڱ'8" D}X:J CfC+-\*u>>iA^eP%{Mewa;[N=D9Wq4.uM$m#g+w癏@&<:ۤ \<@s ;4BM$̓sIޔZ`9 hY%eۻ4׹wzT@:)ЙnlP2*`&/I-=Χ!̕ߓ2tze+t ln9*S1y apT9Saq"2.H;`^7R+0@1jΩ UhC%^PECs_~64gۖ0&p-SH >v,y@\\8_-kƘqgGWu+@F#K|5cb)))ܢn[ܕ|耍|OX4\^ͽnp8XZq^#]Dr[qcx6:,Zo 3[jp WoCFaʲM_dUIdʢ`DUץTuQhm0S&;~8jOYsן4Z?ŭ~g?ќ?1lBQ0,cˌ15p7dc9cڄ-9Lf1aw昧Ly썲黢O!ll,Ӱ3|Cu_9 "$,P0/Ŗ=e .GE=W{iv)RhW%~+;lܿ [-|Oe<\ %CJ1>j)ש\`F8ptȨ!yw2zEX*{C'XB?`SlL3-.|yLn}$%5Db%}ɷHf)PڦM'dxygߟLgsOiȑE?8hrHO/<4Zp߸;G"|MIJW$7CeO1\nE"fW0*`bsvIc<yϻد=5m>Dc+f2V0x>i贄{@Bl r"1~/ I0S7Yp;xnKD}8R³FrYQf4RvKxSGI)([lAMOM#7O#|`:ٯEL ['}vy`~p DTr1shN/-\ruN úS~*]bOOf?4ݢ#wO&~$3^ݝE@OrYjK]'F~"vQ}-PKOʣ#5ǧᎡ|_SNetgiLaQ-=ښK-4YqZ7'5׬=Y{ b\譠n}w/s ɂԝ5B795ȣ. Nt n<>4`UEiJ mlyvd|ɭ'q/lgIB<ハtl$#zh%_A@))P 'B|+7X]C-M`אe4C)f޼:ܲF,#|Ee#1Mn8M8ưM{Qh>TYٗ{$zzT Փ9gO@?6C,-u7Eqx2XV^σ"Ep4Hcb%`~˦FSPDn25#Ð![NKR|P8`,>e7&VEݝPMf_ gf=ۥRbJd88ڊ)k^{3<ÓmɖRd*vKt.[%^ B7C[AaHvz-&ganETcc땣< /_~TWEjSOB@3D&A OY@Nז|GTX/h}?|["o,^Y->a X [+oY&ۆ %-Ђ1mT2x)Z0:1SA ӡ`oHᝫ'|*V4KDnR-Y~ 2qy :; ~mZ'}e 09Ŗ0i*J(<@g 2ǒx|_qlwexʯ6$\.F_z<>HC-#P\+8-%5UΙSM䘏Cy:> c_#tpFQB@VDRpįiXb v_\xRb >⋋_q6Yp98SCլPH/8D!8DyI߫j͛ҽ^ ѡ29*[FɚTC4O͞zdKuP]e X8}ځk)å, "@1AQgMB_hQV=bg}MVhEqمn@§!Ck!TBdXFT~]~KMvuo ط%rA|c[C>V)FJ]=5k@F0fM+ y 3KQiD.L/wh;~9|Q^4"JMm1Ȁ.e})$ZE .҃`D|7確C6^_DI71"UMsYFxX^H׌*LjEMp^MayG'QփFq4%k.>%TK}7mĕG>UagǛ)SyZ\tN.$m1m`(ge-ٰpE]\}饮֬R).d=AɻF9^Ig֦%F;l*Cyk_- E%.]d0@teD:j N*Q<1A#c}R]|6Gf2 [h"H,:}q2295%`Cm͋hrdsqdڔ vxwz!ĘUޥ:fEJ"BHh4C)38lI_uN][ ﶀQ;+z%Z,qlPznS1۴uG*EY5i2Gs4\.FS!ȍPO(xEw ! c̃{^> VM|/(ٙ,5q<x1' x4L,2YemP~p} oTkUv:RҼtTF#/1BYM* х6wc7-x43F's{8$`xww>c ^@"HӺj">@CU+7V~𑋚!2 m[{c$+XyE޴Pob?)PM҉  (lq1=٥8k/,Q[oCXXBu_ (q :ljStaOLqXQB=aWBP>)obD!uNK7SO3aJuq3,n(^inzXOBh+S}=6TREz1g̙s<#Yi Q|XSBBcnPOZNǗC aL^Ba"wA08m;†`!xKTL8G"DXvq4 <ܔ#·NuSGzb7 Nqgq  _Ц=t|;|gs4y,Z=}sK vJY$9Qu2}`-E$dCDS^lXFka#@te_`^Br%(q Qd:/ofhD9>ߋ$nM3Rb# PЊ.ye| 1U\F3/0(g Nєs/ln~ ]s\CfK8S.Cqda|6Lͤ՚5k*c FrPʮfz'#>QЃ.HklcRg΋LޓWLBKyGC ,xc̢w:ۊvd2f>!yr1]Eo(jtVAXwns_R| >q}`јא Z#C9ZCZWwkd|-]uuCXaB #о<{Zkx R{ ]*e_Ao|tUr$zHe=D^o0&%=8#^⥙a- b#(SY״6~驹/xL2Xbx@nLԟ{~udI;ox#^As 19Ғ_*F kӋ@%Z=XL6wPE6+_|NoZpޠXM楞˴r#3W yh+H\'xPw*~~(Z%bD`Δ(+ %9h0L9|2m31 uԁ:GG^OQJl\Ro`%m Z\//$ Zǟ Xue}f;$rj"s <h}_|&*ciadhv>ڏٟtRU4=s_I!C0BWhJ\%q^"3\|7UBHa@ˋK91 !RЄ\Ke_h}<7坚,]~b8dceZPeB8wxm6wiZY<Ĩ֗;PbP x +?4Tي<4Xaq,\$] ZLW%WdVa`A'G +T]|INhV봋ޑW+voQ$YȶPxsF]S6K.lOp,>W3+9.a_; {0W\{ Higg!;zn۵d2<)Le/hQ Y&*2Jg5 NJ>U##jC%0N8OBmg>% =\Q3|NvyڸzLJMn>MHu¬"r PI~LH`irjʏ_UK;6_AK-#l)ʫSp8ƱѦГY,2p6gk<{iBXjl}Ya9TL6^냰6?g%\´,{f"i A:gNfPCR^K/0ubѽJ60 n^]܅=j $ϋ|w~_ce~!ӫ)Voۋ1|5O&I̾j.]βxvg*u86y.O? ~e59͑#=4W.^)'w >S<@d-3rXD.[@%V!B&%>1H;mcq7eY(Ǎe?kߤ 7p|IRG&ʤ5TwX NBbvYktep5aQ ?M Y?{+lw2ٶ+W`"jbtYg2U)I+]c;%(& áp& KS,an"rbTB!c^~eʌtUL5Z߽zm9Y</yHNy2AemR#qwEg8 j;.0'nJԈ|u}Tx(3R )JHײPyB.F>]b±ϗOO:BX| 08b&H95v%M2(E͖I>o4>Fh#)s;7 ,%9(W[ X/ N ̉ۺ/e/jɷ,HCkLfzUPuA/~)5s.w̑/OတZݗꑱ^Ƿ &;X(/>4VbkҶFG`N"Qx]E63I~x <#M]?9+:)T6G|iZ§juY"?]lF ^yn3:!˿ćo.n|aWr^FGδcVL[ȌVt_?;(#z[kh:lQ4pw&bODɺQ0H()L"LtM a~L1iCa5AD]DVJ.:jJY>.zeB7O9,(UDO(d oE*]g,+ {/x%JhyACk}A=H^CVh43zY!-産:4rd3SO.glqn؛ObCnz9Ѡ,!k \#D[WÂ?$)D&\@8!O[(Eg–,??IJU(*gP( /}jpcE&( gVh.on;8_!o I!W m8x5ԨjU.ipY%]_60FZG@N2gu&gNINMۚfe BCև@xw[EP_p,ۂ_QtGܵ%O5K޶|OмӋC],|q#d3hh9orm>nbgʬm:ا*1IM_רT#Ѻ^ESW{IJ6|T呂5`L^oˆʻ*a2 ߯5[T,,b*ZHx;ɟ 8.jEҥ*+d&{\lN_/CV"lTⳑXƔ֥u^V6{#![dަ92O`PG"/0VQG\FVEsNiW~Bm ȒTz!PmW=}b>?Ix,Qw3XYq_>J+1)P%l{ aDBZ8ί$d"ut,/0b VNSNJD;QZX8dhHᗾz%al鹿ǜlH=!r/[z@b;O$3բ/l1\VUxt /0:,K=Ɛ0Iscu!z(̐ %<t>ٍq;XxCb OnBq`{c;߭fײ)dYs[r 7wyTr[[c 2F|k0fqòeD|?,eE6߂l&@-@5*<^2NDL=B*w+1j{RN -`;}.W7~ɐŏ+MhWw72u! S 83Dvh>U.rMV7cv5J ;*gey9Q4r$F™:[qlwjB'u`zW}>hD]:Yzpk??_?i9CeƖ?~ 74lpnWK]dq}cGy4" dYP6:-2IY*d$`oenZ TRby%Lb?m +dMN4M*nITiTpOI5§)?JwP'[bvp'69xWĞpUïeGQ$gy[$䀛 e ݷn,8]T]>PÎhl,#杍 v /D~9ю9 i y)'v;Q2J(hHtCIp'/D)W1$KUѪ+|M*,>E1$e-S%idlO$SnN<<^z(L2ӝqd.'p>"xe ^ pRi3i'c֒(uuGhsL|=~wrrbQL񰃒(F3h$@O\kr<^vmͶﲔԽ#EΓܽ?ۭ4٫1JAK'R_-v#ߛi,>ѳ*^~ž37 b_ C:}ܥ)eI}hVLDB#e? ĎλGoǑ Ӛf?g^ampUMoQ~ʅOoEpPY,sV .QɀF^,w@>1Df ǾUAc3#xyv /d@! jsƪ:zɼO'GkDz~ԾOixa{yI:/k\R/`kCtȈOp+GnSBr`](L[>vL%Q!B=d9O>W Sg:Nn㵈>j^2+ <ӽ_D-S&9? 2;?#+G>~ߐPg(,!pg~S#C] jE ?lYd!pJJ ˈik1!9ǥV{_Y!ZK|F 󐐩`}e5A%77<[@u]2ȇcb!Zl_ WY8n7k>>5UR=* ըUwG7@ν}gKjk]ݘ el?P۱eڥbUNεqgK~wgN .h~^}SɰșC6:y[GYRFz>jCNFYoxKvي|b|Qj05^zK03I&*`>A7z; WX /$w W/ZS _f>:ɫZVa o™|ghI'4qLC7C gBlu6:3#U2UЛx^F;0//㚐@zy q~@pU_ԵŹɊ1L70<$~wQmH :#qQxab9.fh0)g!/TYyG镂P8x91+ĝ XaiX-kcGҦE*eLijS{|W6[l^'&slxɓ]%O5^D,lREeϤ؃$&ap9ܓ]1G #03%@\NʳL^ΊtXz(S=,RTL)žL'LtM`G#v ,xR)C?y3ɡ`F[O%xE'LO yu^/plR<~@EC#ۄQ${]*azbFbeR[{&bE4Mщ34t,Qm=O)`KD^/oHCn,^}6ߜ~Dp1BNj2:`)ۿMQC,̙E1P"כ7[&(o J_'6J.#nhfGT5S9x?_ Z%϶nꪓrYOcqO|v<5POE\ROc\OgA3(4j'$0KƛUcFx}EJW*Քb`P~3ޮK(T'փM?M4\4>\n& 0 koAIl./0MWPK4zo91M5lD PrbYF%Z%a4mDr$R*[vqC,Or_RnE ĮIwnVT ]2+>7.<,@kV6ami/&XOn>ιSCa%f:eT 0ss%q(>jW,*b8DFI˜hllC㴭5Qh?4J<κSr6pA 9!\^#τNם/oC'[ern<ٞ8k޾8ۣIؔ%p$O{;+T+Ӳ/&7ͽ{.LOw&}G6, Ec`K3@],0yq/Z#]|nū ܧw%\?ݗt`CqQ\c-w^3c6 xyor.PGck>?#Ɛ 0\)M[SFo=#&+_x,>zmͻy P gu.mKzAoݯ"v|2Yt%n6hfݕ&.@izID[v] "^0[6@&-?Gz}xRJe<b>pݫ%c^ޝHAn+,tLm-߁xYM`I s+,ԯ3z:$Uzfluu4Q>LO G6Wx+@0.\* gJM:cY D-dt@-_pd̳eAoiBþ[ýۃԾx3yJ~'Xkc=\i8(ye 0-$.4zHH z*fHZG2S CyѿtgO7C$̢k֣F8K:e"|Lv`ja2mGtҝ\wM{`Ve5:[1tK^]3&_n}ɑXy{LYAadK~lnT(1?y]J%Ts.<Osm.n#csΑbWCڊWkPWE'Qa˶Ֆ1忾/i1ſbaJ4:7N*2ie,l)"1$q{pi4B@c|BeEC4R Iy}׷i-O-_Uן)5P*'&K_gyp^ɚa/T''X;x\H M+np]p̣jpI"J;3%6e=RIsM"%~z%Ojw^rx RÒz|tx茭x"?$b8PhElS9~ u5EyiNٳ =!K/Go CK$zONE,M 3,6 )EK aY7Qia8qPffu+POJeRV]W݅q} 5JE&]Z`m1H/ o& yN‰KKБ >+._XX\ѣk1X& gZ+ޥ^crv7>ANjxF~'?)Jwe ޼&DbQLO*뵐K.z/o{]Xw1M~kgd.3Z>j۱iG>\2MF:u=;sUy5ĎTjO}b+|'GjC=TMڽ*_+ ~=*Ʀb TϦ^L>o=p\ޔCR.'ӼwGn.ԃ~=:r4{%Xi|ΛփT)g7:{eDJcI@ߨu2im0M8(eND ^?>s`Dy8dI~ ''^K umU:\'ڏ{Ņ{ÛJ⾨RqWv10p 0@r7f+)J}U^Ī#8dT_[LyZ]"ZD}UeIr ɼYK k qFޣL@oE%gYʓV'Na8M?K%G\=c~\}gHn=kNT\)SP-":d=(nJ=­~GAK4C>SL`&u^.>;U\sdz&)oY,N5ĎѪ,f]16xaP=V(iC $L/, 2?̓wظKt b[I/zƿy4 MRq]^έ r;A ŌĽ~YKϿ|1n=WOʝ =&\)LB1 @ENTmn:[.J"60|1 rrgpT&w*eX[%_FY%c. `GӇt&Fq0ʿϳIF}*DSSr)L8܃Qi}<eH?wt<~!9H} B*kȣL߃m<"5J dW` }Iq|\7(V􏃥oMV [\~2p>=A{>H=1^clʭAvXHaBnDMoyB,|đ[q?{Il^Z8nP>_"\j:H("@"+G ={ӯIc韑:'FЦOT7c IGGO I^g}Ff1v .7ДѫF$_aPJ-^[ԀM@+3$^b-d#YES0RecMg]mP|?NU ާA~;lO3{9+Klr,tE=ơ7)5E0̣c)5n~֪@#bGy*2dmؔ&ìY_,%3 Q i~LC`43#UFh~oTxf=/0[ѨާJF2D'F䁡po@50 wvM+nsύI<@I ]xGz/f?b̞3WT r2˸a-MM_k&{y3Y.qOa-fz92Z9cf?>29r|R$=_+fs%K |؉(7o]4U wMr]'Ԓ9WgZ9uOcSXjGa]_sh淩F`L˔vÈxtZCqf>eNM}B'dY?CO ջd {&لHQȽTz|[M2[v2sˏr郇oc}]W;ΧE1&PE$CL/~u?cY%¯žA%A(w/o+W Cw󉙞m^dJ4Ǭ>8wnBaKlSN|RsH/ nac?QȾZyh!A5Çl)HO$NI&nčV BZ`(^9hc7wM-YAM~e9"{/30A%X**ddgB ~j<=Q0^3+q/2{ڻViH1I[OC+zlr|0[gCMBp?AP_Vr_".ҙK&,[ "">O5!ZyGktD25M7J%ɓo5W g9%>ibt_t{(Мr~7B͂5ӵ$NՌ'(^.`͆kčmkbnSrdeqGn _T溂PaQ @Shȕ*^CEم%u!)6UEZY,Q٫g|;Yd%d /b„m|/?)=i[q_yWB^(leڦOu_KxB_İ:mD $/4*."KAC-K?U"`)=>Xu1>DϽvWzJe$7k_'yE_0c#fO}"s&ɬ3ѽQY1qM6X|'p3x+ֺ2J^& [d< PW USKٸ岥"q.X r`1۰dL/TfY{'EiC|+#iՙY K; M&+ْQ(e&7+t!xEU. lV\KG6i,&J#oPk?wpo%PanPQL) ጢ6+jИ/G$ޱR j;`|=![^;/˦ΕdIig.)Ǧ[{Y ^[uޟ9=*jq40he"imNj퐥Knwj͉2gJ +.IPM)4/r΍[qߎbx?:B#:Eώ8fhnk*pugiu'EjF m vM Hd< ģ$\~c58Z3qJWQ0\uy -6SEgwƜ^4_mdA5S{Wւ$+gUV#ˬm!+;O_ kp<(#mf1<6_1\C?tɲҦm̱j'G1rbIq6P6+N&8~hw\bвZD :<y"moF6ҴHwZD{ƎV>}i26x?86O'c3WRHGPn4)죆la^+l &\}]1LS9J)N4TDC:JÁ2t}EE/8մHp.p#*`Ѯ:`^υbVKn (`6w -Kaǖ@&S:i+,= k!Gq| T6qiB|)4\ h tQiirQ}088DHNod;oMŷ3rHH64z$@T5[غ,~Xd "t)LI\5Xtwbڍ2 JhY3mh"_\m3p@:BOH*_P}:>E41 ]ັHQ0as1|Ѳ7>K~٢F PgI@PE Ƈ“_6Y@ >'^Kix $/t&/eMe_><#B,_<%G}%)+_jut_Gr؊XRd:EM𬊶ËwLPP97,7hmĥW(qՂ^w @ږT9zem>.-C1+)~ [ɴAV} 5F|#vLD,,chq45ENZJv6# JːOg_tk@xA1KCLcs*XDŷ>{7%sj$Ҿ_2wV:DSҡ2P=3{{Y&w&wRO BEZ~\x6ɥt7 }i9f|M"C+X.`zb1OF-0rDejI1+W|%&Aw&Dmݧ޺Ƃڔ|'8Iv"qkW{? 7_Qu,W?5Z/z~.ucs#xV(o;ONjzJ, P`D}iMeYE;8x>۴Trc_tA+ qE1@S.o㕗cH68pp l5`Ǹ3oݤ5K@:L(HfFB.6a#DkR. $E`PXF=?&݅9JM}G"֏Ӆ? ěef $jJsN[hq|Gs 2ŻY8.v;Bv3Oawp@\9΄q=e;NȒh|h365N鐠śB[HʣaP7عB1 xzA+4we~qb9ADkr"kF~/%xfBwJbf3r+__/ZN)}U[ IQ5+y>0"]H/T55.7`d^H9[ h"0<ܐ| {[? } xU*9Qmh9ί52&-(ۢn Q|D Nbgߖr_(y*%1_K2&o·Wf/;υ;G,LwP)HkabI w]TNZS)EhX/r`(_| zmGjHv ,[F&Vhv^.AEcS:C `l!O1$M/ĊӾpUADY~/e%y)mp qy ga5}ƺ, ݥp&8Bow,OL ތ=.kKT;z~Yc#RUY ?#mh9 _fʣW 6hcAs#%i9Nbߧ<لc۳v_2 z!u+2m7Uzڍۨhv8_ڶfuYx7K&bک~rlO j_3p Dyl7 4\ e:|8qFkbD )`B<-%/h `a}g@2J[ ^O^Uaf1\杓L}U* qpB[{9[P2#ɞrac/(  XuJwR*3m >ܚdu*s$H{St?R2gJ"ChM[㽌\-v$w<Ի e;A : ]ꖎB),c7֡ \VT#EUaq61|1O Ol+ zGyg%u@EYPEG3cos̻%ƴ{fu׹Xwb\ѽJ>yfsq`\kw[P1={_AYb FyVA1 c۷z»cs~)$⢬*Sޕ&Q&)Pס33mŏJз `13}Qc8vdy\h4N֓{$Z/3u|]bpL,'-|2 o]jE. 25R!cE!Yb@ 2]! jiWaXڋ<'ؤHό1kOtj~Y7 O=zC_CҐmBu~`c:(c"Nza/c q륮`Tģ7&Xn O] }Fm|VLjwGL#ߏ0τIT$xCH`BGAW>.Orh*G;rE(/zHZ!>o MvZb x>Upkdfbhty,+֯ #?DHsd9 Dk|e쐯)Ec@DG[˝wGBUbwNCgɁ|nu} ķ2pq"Q1L.p;o_M.^}XYUM,c%ÒTҳx]75_KAu~1˯:[XM15y= %>0@cXD ~|~(TLS AQ ϓ()iuCwrĘWWmr3OH$+;ʳ5u>y銖%u"iԐC1~r\HYsFOtc bHj՝:O>K XoӪ P|CŤgrײ)vڕ>$dړW)v]>M*3Bd=Ӯ3mcZr¥7^DBqYȅlzb*d[H|:M`{CcZꇡvo 6F O/9o"k7R #7U[VUS>aBR$ MX6R#";Ri /a.mPMx*׽ >AWZK[XD2g-voSfA6JI"YFd:zk <0)3ܜ;2Ujc5;PΌrO_LʘE͗xsO/LڑpNl?QG67bi ٳ0bvdKz9zGKo db=w__*aygl(5ywaQ^l F83C, 6 s׼#fWD%@a&f}a_{mLS@R=*TCw%l{~"GR\Xoi8B&xr&ж Tͧ x/G>Slj\a :C۸PŪ!-T,SHPbt7\euqOFѦ,+3Y%sS`oqE3eŘ@ —נA.~!1ZqoҤ x$t#?܇[c'i kMrsEo2H |&=5:x?:%LD9:.Q؝g )XyXtŕyGʻFؼM@KQvDS6Ofq-i?E܀w"h+)<$@D_R¦=W]!@0Z:s=~,m^5B7Q_ J6d+T#ag!,NS>-em5֟e3w?B|,DqO E;~Ig0!4’XXH/5WR E|Ty$!]Z~bGՙ2s>VÎ^)/f\ғtWJ?CuiAgŠ]Q,xn&WO0 mJ _dT% =T4;#!'={K% ,GUwyJϩq0Oku7nh'~yg:K;3չbGoᐪ"K`G _Hƒ`G=T2%t1EnMkx2;x?DJpFܼv)x/G_U /y8X X ϫo-9{ԈkR&S <zo1)8I'X@dT _z^X]o6L hK۹k#gqv$&'9 >ۏ#'e#B%e9rߋ&f>v(oKVfZÊ&K2^o:0y&\["~/oבb <'@h(LJd{5y:xaH~ޘńiϒ() O)iUϓTEZDVUQ3jZ9g -Q5Dr}J*w_cl>jf&U$vW׶Q%%:{30T[U$%'; m4_s#m]=$Pݺ %4v1 >w#`У j FE0m6e^xN}"Ǩ @tm)o_`FN򵲝IVCJߛb1|bzY.xhw'C+9j1?)*kk#=(M9IgvS^cK:*1WD6 x\$*2"&>OPW0R6<ژ5Qk QG'1i'2ޭ5ƮWl8r˕jlxqC(ԿPbPҦLSR >+n>b{I**ck"c|Nrz)Ö7M(mEd q+YDHߎ: M9 ꗗelb1yK`lNz,@TxыV-%ynOx{e%cЋ*mWo(}~zy}ڍ[ +m܏DJV`\^ #PvIt|Sr*0-q (vDr@aymEKgzPi^q} !ZYw~X_ 5t^?^|\?m; \i#V̪N -p_zί._Zth:x7Le=LJE[WqXZ`w{#?¸*s[-8-pcǠ߻u ~h!$*"EK-eʤ9tEO!g @]%8fppL>B)p^k̓~6Z!Y@!DhӎZW\&HSTN[2ЏfOnh!uI؊EL9{ 8$g_?=8 *{My L;^ O&L@?)>KQlj.K1b$XTh=BKŹU!kKc8)6]e![,\_O!HAA%3!o5եc::r(vvܣY[ [ya¿I;DVGFs bה Px(l},gde) {@ ?E΃p`=uUi m7)gū>uun}@xK>aM6焳3 Gtg 5P ~˦#U5zE#rDuh/cTndv%׈Lqe}lJE(obI`VZ)P".$MR/>rO~n:>̿ uIƽ?f]l7!_YLpw"b3Ou:&`8z6Dz)?wfꁧDƺ>0l$LYsF- R5s&) bO sQly~a$ Pbv3_.7hN47lqq8.fX *x`BEjdwL_p{}]Tj/'%]ٰL<_&7eAh녞g":gULxs[s(ac{29ݫߒC:z5-Ѣ?|$J 3TxSv&3'{M8:V,n=<awY_ j!aWL WLz"z_A@_QW0fP9"owgT<_(\= 1솕Ɋ>ذ&:3@bs>}?^F2J8Rgxi!ށk[վ-.5MS{wiW^Nnj$?"bo$Qf :0_|lk2L/t^3Tn>l^>u ӡd;H4Fr]$_[Jڼ!Ş2 $KP eD&~7MZD˩G@:9W|;ؠuv>PaSQ$1.|5ߗ>%zH6Tӎ7h烊mB*<;LzY" 7WKn?{337w63k23u" }zhzzERa~P@t ل'Ol=e dc z'ں4\ds&R_CGד&єҳO#ck~!;qa9M6i^UY(7̹ ,D1"O1:Jj懧!=v(aG˴E8LL}Zv]jURDu(A!ReURLA5%މ9(sp__#3$ ,B E2~V|7XӶC]=WdaM@𑒐Vƥ_ `5XE:^${i͑CW uHu> 3}E%NHLnY6 DT }6Ʒ>11چ@@;c[w!4T  DhyX|lb2Y/VL VxX!C0Wb#I=fz~adZxtqfpp :E"㣐וwIs>p,@M9"m؁ ӃTe)\*7dc-5'%Gr lB@K?+W(rGngz:BĔ7j>E;2[{=Fs.։uݬ ǭ4f,&RR.p3߯1f_YpewT4g$hajR;AB}3#&Xg9g̉G@)DC|j&H<ꗣLJz%GC@r}*] ̿ǧ8؊^F;wjny"IQ!T.#?FGOn Td):$a>l[=j*df290[{"ԶSȸT̪-mе_\UGȧw-*k Yb1;jRqjpnt iM5ELi)N2>3$.Vy^4њ؂]]f$iia_L@lJc3}ԿLNk=x9~-i0FJvaƆc}-]ī[!DK \Z!¡:h987!K&%]Pw}},ȿ'̉B}>\(᯴Td= x1eq Oyj%  ȃiCV9__mjay_ʯ @g +"ֺ~QgfR*DpoqNa ' ؼVw4rRy%X4Nj@?$o霈6veg&99=ҡPt,$@"S8H@0EN7[>P1Rݒل!DT8Ru':St$ZzO;(xś:C 6M`d* \vߙ/ML?9| ~t\bkuV̼G'4h߀$V hD8o{Ķ}=@cZ.,B^:SsANbER*ŶUj!% x@@(doY0I'3[% *8:sv!K]3$"6)wc;p[.%,&9!16' ϥˏF'BcW$,.UUU><3-7YOFY842Lik[EqRc8gK% *,:\t[X./tȰcYOQ` nk+!Pm#J QG[UGh2ZɔaCXxn{RItE?#Or+%'ߍ~Ew:o=53Dw%eMK1YhQ7D(v"c.))ü[/s~yA$&-.-MjXZ3ףX'1,.ϨqQ_XUXJ 4'xT{0sGc_m.BU=48ϒFKN8ּz㯬poxRO\Eդ9"遇W狋=dW+w8{Ld_y܈}HBR7ô1bԍ(% vF]&e4R]MDVbln2_kI)dF*c9/lްt_ o>[3xpm$ Nݗ ڈlif^p}W |l|"KOA5aydQԘ{xJRp<\?꬈>Tw-3UխҤ '9y@NaNn~bb%$8P*bU$8<"p*- Gk㮏v_l.I&5>YdHm.NPZR՟4C(@!Z "qAgQnVҏ7\0l`"y=ͱUBУp|;5|?s ?dJ>N-{Q} IS ApɖɴӴA:y]Ijg#eenFCph׀aH=pFo1*YQ:k?\,catdKΧ<)ꖞ|.)ؿȡ͵9>=.l؎ߚUpeIE^Qx -KYHi/Crc\PⲜZ% <~sp 7# 4iO#'# *t%TFFܭ_ UzqzC4D g5 \<q-"eb/S{ =LBϊYMD=HfǮ2{鵙C sL:h `t 4ÖLlfpu}*=)Y@04 f=ɝ(xu?Tۋ~#9YAD *ۡ4@Ӽ@{9[y*?f)MT Gr5Rxwm*4IsegF_=\L6lԷ"i0ygTXV[XaF@ܩqϼس ]Tnׂ ԝepxoL0WT0jZWŊ$=\L Y,2e[Zn,26H"*kn" *֧s|cxoU>O}bZ[a3G9v4Ccu/J̦C4Tl~ZD$|oPkX5RӯV'^~HuƙArb 4Sմb)񚸢S0i3#CbJÐs n/^t AssJ_ U!CPު؊Mj..j_I :IGC{IY㑥Dr<v[UY/֦͏裧`a1mlbóCGj2n;B̿륔i ?aSYV+ZT2WolBf|">wPsٶϑvzD/fNnimdt#=HsH+K?2çK9z)JӍ~ȮZ}VshرoӅ$нz<67dA3.(k@G)Lß}"Wz`iflOS9ueʉ?,*MHm?)[GvdE{\Vg&S4_WokWcǍnNCE'kI4YnD#<)Z.Hʇ"a9AxSIʀϒ6ޜޘƒ~3gC9Q3VM :GF҄-7a~ a@h;ę@+E yb5VKݨ Ϳ> gHiXLxp Z<ծR%c!IKBw(ʎȆ%ж/}:\\Ή/yD5²i6댎T/g s_W|eIԕ:X1yU(+ܿ7gi J]gCwK, ,[|uK7`yWُ d5ŕVџCC⥬Aѐד!T[V|Dl;7/}{&QAǩ-7+ =N"W@{tR[h13!+2uჄ}ay}aAI&"GPh4E8v)=*A ܧBT1;yTg׫ g򸤊d:jIJVў 1c7Hxꇆltzr|1f'-CrnU TVH^1w#'5v I(A3Puj) qbFB16|[y'#]Go5di*Kz$ ;_)CC)NUInpLLܓ էLyr ԶG*X۹ݗhTq2EK ?zdmN1J,-N)R^b2e#CtW28&= ]tD{19*UR7OAL:kLעV\v-7j"AYWC'Vӌa<='J4"oAl5끗ys'9:5o2ttUqž6δ~K=09: wdU]N2@EtaA}f|"}T @<2ws*7*/.ǻx}:Mcއr^eGp O; X0%p`w;SdE@dkŶkC6aK!WdjcDȋ2(xۄ2҆7+)j&=ץSE9h+;jC_R ^i &bWBb96BbbXcr!#[Bq1nl:3$n>Megw-+d\$1 }E3U\15n;SbuaNޯ'޻yA!<ӥ:Ox,rg3mvC>-0c)Tӵeqsp511Yi" D[/:7"DXtyp ޽AB,Ak2Q:a 2k!U>" odhN2Dt .mI1;/M-QSL@tcMG%ѵ F)|GA":<[N;jDoF8Ր*=Wyiu4k) }Đ?.I+~yT0rD}{i4|2ݜh1&c&9~bnAA/ )Gl]3h)쉿5sϳ"^RS^<͘ 3\rɊDTL p,sk쉓_L8(V'Ka,2lU1Լnr# A,䉛;}ȒB_g5G5z"cNK2@翕۵(J1e>Ai*k+orVv"91 5CZOdanyѭ5'%3tPjy4o{#B7G2Gn3r!f.HWl:}HC+u0ɭ%,<Nd@!s+tuۯ9AO$.r]UAQ O Փ~"Br|/@ QaUT:u\g0ّ-@m[ZĔO%UQ\&?ik^FxQ,X3a>oĿ OT9WAPYGqN|c)0Q~@kʅQkCbyU42 nM@dP[#o>Nz gгItxէamӶhR y%V]ט45p->~=-z)|>jX~tP32&"<4c$mI-;vS|iz+u3wYuQok^3OhGO8lLJڸcPV_"BIFm,_]@DF[-gԯ8qHT],wa;E_SۼQ/49 s4) \䪐pwSAnVAm޺biQu|_`n-i @ic*~XqH†&ElD\ѼPTԝػP>N`SMzd 7:èܯIWE#4Iq~_yt㑐afJ7d!ڎ.H VC]Q$ VM%[H~B cl;+qMK?X ~M}{~/ޱ յ8{4X̚F(rNYid}_ð'{iM^l Yh_ܨQs<&=? (Mf'OcB !Si960; qD;},Œİ¾֍Ivj=2yxsV (B=TVV=c`46'ߙ2kY^kJq()C5"wi!)SNkDRN{{+;.n\k2&E|R Q@" MծV]>| ,|TX~$#\Kmݣx_!"hU;&CP{Wb*p~BzzM@@$%}}s\A\+6/(qsI(dHz"`$B6+Yч@|dMVl߁l⸶&yA~\*Gb"VU^SCLius}CIՃI㯶i.-Vp46 ;+2>fnjnV2U4tIȮo܂,ZUWaBZ]9WQW`o]lJ.%G`>@zh5Qd`< 5za{'m+"wmzIM57>l5Fbs%z %+G2{ء9ǚUQlm A $>hûYPF2Jatc\y!ߏ4'˜f+"f_ 9!ԣǼ%r}ioU7 Hih b1"mYLY<"_ (_p^šڷzW+[Neohw%^YIx:A2iI/D0Xۇ9%i-V #5iҼEY;e,r˪QՈØ#G"+\0p:?ȵ |Ovhu$ r8fXhH ^+onH6*Պ jKnR'Iic%/t۬|-9J:p?<$PH\r^]P̌3Ɯ%O_!'~H`ejj%Yon-Dsu) Ik{0=qu!rJ1O(CtkuG0v15o[b ,#s,Lt6[[A\1fykJ{{bQ\DiI;"yBGN\W8(R}`dFzwK|+DU@[d:%9Js/I 3T*㾹ュκ@\~rN, IDgYkcz HXQJ~#1Y7Yv2Ne#ET^Ȗ;^L::y@=6 npTlnyu~H׈¾C*`S:6?=X~'%菋κ6u z|i~VRMڜaMaՙMfε01hfqV>4:iV"E8d=yJ,jAZS74^ x(OrE{0{)-u*LZC5;($W5pσF΅ /YPõ׫)$qtwrފ{^P啌_-A4qK簐PUT@NʾO1wlGNNNJ?6pem Pǟ_w.ն2g-4'B3 ӽ:ueqϏ"Mռݠ|N|;bҏ,W/Da1C=smB,2Ϻ56tMH88Ic}h|,[p >z6v~g p8k_YFo0-7ThXuDtAPb\ ߨ>l/@#FՍj𐐥R\e'OWM\s,dE<13<^gW=*5NL\|{]ӟ0TczMT"2Amt.'Ir0. 5vxTKL^ޜf"(i[Z%pml\d_~Yk3XnPv.X}&\Jgu̜N$"[T0{m*ipUjhp2T \ZRDKbBgBYX86liIm%µRU />u2bH]wt#; 8N׍ez܋ܫ#rN!<:YiJлrI#=ApCɓo\1]M'LPzm޴#\ 7[>^+4jT)3x*qizM2Rdq5sC)KFß}֩~S]*(!<o)dbRBrY FCFB(KЗ )s2w}P כ1"&5gbi4!!s 9¼_#)GIQ%zE%#cy]kXʬZDVj -fmy^?.k`~sJ>a?cM(žYsȈ$_oU3àGsRbU!"H<mc,.$f'{ˢ,+|^~菜w%XGvf\8]b@t%6%P(r)o9K Pq q3TrxjjA$s Uj BNkͧњ24@_rd1\u/&*;^79J)h?eM܂ѽQ(1MpB/@}aZ-\-o̭](lTub|cwtHU䚮%LJҞ(S8"n B&߻OJh˥>dJńVgdX#Ԡw#d?UELNհ^IcoOy37H| ?P IeF%yPgX)$2S][́K,߿Ai$n|}U,ĕjR`ʁs#>/ r.µ;b k/߻p=p C,Btb85|5Z6d{C#Óz KJ$tԠx0lAs Nc|)\SP\ ZƊ t[u250: (uIs&Rm!crRnS,!a;b#FG 3Ja\桒-wV赌hЪ\~t `)v!><x&>\1 #MM[&7b>J:M"|'`C%o?Wqd ,΍7!K'2I6tV< !yWk$6Wa]K M/L!v7c>ӝob/F\{߉=b[eu }.̪hkx C>^x:Q{/Z֤1o~>>yvyQ)ߨ)C ^CϨkzڠGn"\tӾGҞU:9-CgRTa[ )Rt_> 䕩7סang@:ls+WB$GA~x5I.csb>ŷPؿ\Uk7!zgt`Rsx0Rˏ=v$b dR=YruJq o 4}ާUљ5,7?| i!L ]5EmBCn*eYNhsxUx$)jZVvЋe;āiclN4F/- ڃAYp`7gbhv`;tXoHI  yE(J"VRCH:?&\LnC|`3{SЫXNH 1{18M (x1| [ͯN60i呮&5e3j{g%|C|h9TW"@^g}5/rR(؅ܡX t ?Le6^' @Uwk%6mB$5{Ӿ!`,/ Y1F",>m,iP ^rq~h 7`iIZ}wg_E+)VjH **&]0ϓcEC1z m4Q`sU.v]ΨSK%lmi(Xb16oC9fᾝî魷Ik:~W/<~vٚa@/.#R 1q3TA ~gDh /-y:gDl'{ҟ믹KI&%-VlܘG6+Y ʺ&pr~{ddFYl̓8፾{[σ{ _F)"&1Z9/WŸ%2ᄤQj (1"8u71)T_Gp鳵:>,A\d/_(Q-F5XkR\HQv"o6e+P^._)y>X¿ %M<Ͳ0"dޣ(?` S5zpo`ˋ+Y6?B͂o7Z)gJ-7<6-z[ķe.%XSp5 %is)9ڪ$X/'e /oMlWL >ҽ)*vexl_7bQ]Jl,a<bǒ۰ظuvRH W2s_lz z/FŘΥшmRޣJVi]QEfk-/TĈ!Sܣ6TC:^/ j+E94$u08⋷Y̬ǁ1!c֩񸹟}5$%8̿!s:N69 -"'Z1uOvdXTB t$"ntyD̆QםRro_sbn?cW}1tzGM M&sJ_&/&b_ l%&~&}m$0CǟJK5 #)q(3/ˡEQ2r{7tDoԼyOR/$c$Aclj(oz)fᱎN*&VuBxG8%~WuWR1So6yj՚堾A|KAAttO^- F3ZR Ơ'Qn &7iz)kSkO}+ 3|KB19 f7NM0&Cvv2O%)c3ۈZ>cxJ"^Zr>Ϭcu7Щy~Y9fҺ=*e>}$41]KܜOi0ų7-7> nصs%i¶Q$ wl+!)7tJ6ݾDwVPCIvD?RW||27)ժ: KH{^I7xؚ.VWo pMrd80#T;?%`ZT?D9/܏ںp|ͪ W`ÒcY̔4^J$$k74Pa5U搥(灷GZQ;Z( fhOK.N+3cǬgyxG ^_N|Z&v61;}$o݇}MH\Vg/D4O6no4^HD:#Up XxB.|4)Az$Eq"?D˵; ;>D"w{xX{qlY9~e~!ŷ2-d~F匽3% >Du T0 кhXUZ /^)G{t$(><{{6;C_D~x3:.pMhx;_iU"0$@AXUMK7x@7RO:gz\<@?l#h|iSBAs!8ZG&% d$*-("wm ,ɣbr1.;<Ŗۡ'#2q'稯o6^ؐwө-[>GC!Vu ¸0,يGΕljn G݃edbAB=3i,_tTLa}=GR"s!DWw7ѽYV|di'#$1 p3H``2?ro)pΫr\Oݹ#9~H;b^;KBNjRX.p;c`h'l-z/*]Qz}}5 j,cW Zeń+ےGמvU%.e@PϹ4yS# ߠdT},M#dK},kT`s螆-e}L5L"U >^̎eɑRBX1[uoe|sݶgH߶.n..798J:'=H54+tʒb$Ԓ EeǤ:QTz~GԉH#?dyʿ-y]q}ƪ0 dAZV4$viu}P*_ʒ/ƍQ{KF}>=;O:.|@5 yO cgߘ2ZFbn<΍K1FG! gY1FbӾLyr,<;Ev+pmH; ɷ4[9qS0R|˶"0/۔b4c~Rh"˕:s9i~<%W':OXD,!ett>\#>P0*40#I@sXw#aI,M.҉q<A8A2Cl__]@ِ>ݰ9TQR)I;֮2H`~nM7Y@?j2cÃ&%hCEhUjG&lݢB&ޅ E`/O eh.Xn^0R:6m?n[RvbrV CqOqoHV?f<M/HXڀkĨC}uEjd;" (G6c#H)(V2Jhu8L &*㋸tRq2/=hо;ONV}+!, VBH4Q1R}ɉ`wg0=ڒ"6DPCf+MoP~k[:QT풎J-_yRb ?6֠l,Bf,n*r#m$F3o|a}]Be x+2 h^Q<|#j"У%vi_Dˏ=.:ӧ[FְR-t52BNmIz@9 CupWpu_I.V a/>Ɵ+Q#]/Ȗ{d ,>&SSJ.Z($.1Xq \Tx,I8ko Mעhk#i-v R.Ͽ~~Bg qR2}4#s4+dbLm1".I3gay xKˑQ枂?z.y-mSfZpA$7?{h49Fi-(g8DA\7@3%IÇBtd}lU`%9}X<URÿ#j(~ȏE D].oZU} FHlj8k/U]qW?ɕU];t v@?ЙXVf QE%IQ O=ߝ^Y.܁w?d .{ſe~I^&;:x8 <׷ȭETP+mY[v,O^?ix<@ 7)OJ#J9awmCc0UxƸD h0jGy >:69S0)峫K}JHܴR_Oڎxr7@+fwm}J,斳ץ_ƦvܮQ8OƊ9JooU G'D ZzqU:^YĕO$9L0Pqِ~k[7HF~M 4oЉ>ULAI8ZuhsPD>Ƞ,}/6߷kJ!ipZT|DS%F,֡mr9Ұe=n)ڄ`:DJ%9z%9Ö 6[ _r3z3@wteRZ~}wwJXDML5Ko<'4N ;VX,҇q߅-$E<4|;kݮr+O،_z\~@6Y?ӉTK17TƋCN ˧ su $>5L7aADa5nz=;O@͛^+#f|~dhRsoqHfH+`(n1 ˉ:UW/2O]>yvFwܲm&=e53,3m,' X2xX,GT9(]h_t?faFY;ykwƄп f*rP)-fpo_s$u2-u'Z JǧKmvm!1. 璝a+mv^ I\_TdNYRƻPdߎʦM]C4F\Zb9Tb՘ΰ@e6z%c}}GQ1 k/hX77(>>F%jC6CgK ΍:̤4ݲ9ܒSu!Vo6{a%,7vw>K|nq|DMjϷI  , [äbEt[UzIe9mhRr3<Cd;4,/I0Œ+M͡WjϤ=>_g,:tR%%2l{`f1szgSh&Q,Kcohj 4 ?˜?ѿщ]x3ٗr漦]WwR,_BE~!6u`:D_D}&wF@ٙ".)=@)PA0+L~y0 _.]۰Zŧ%5F ئp*"LGgZs͞tf;j,licu{++AC=SOT uIyӸF],50|:҄]jmTԨC:F 'E9,>B)>mYSr: Pǘԉa_]kU/?(8:MZcYZXxv<+֌m;3S,j@܌ H)a }O e`=>fgy,b\Pi1~P.կg1~?W4>X;Db0Ig=EbHxX?{( ̆Lx!8Ny 4m4^CZ~C =eUDR+?ϼA'&&Kdݱ cđ%uP6ȀUsq}:k~9 ˲£?H]S@N$QՅ-raAZ7|N|D布0,n墕ZT`X\H^4wC9q0+s Pj3Zcv37o!]X9:!j$kxxQGxyhe\o᫕¼󸷃tʯCgd&!zJ͕G[|:R{k՛h3a;(iAg/Ze5!|b3Ǝavދ@-cA{oxzl3P ^uO [1êRI9$_Pُ(EM|:'"1QĂG1"xr<~v04" ;A2`ot/H]Uq 4*x O֤<|U[nI}wv&o+>fچzԭU@j ;yL8GƘk2$曛DLk'{AhĈھv ̶oazi*q-*i#RYvK- 2+_l.NGjM<϶1UwυBڙQuU1Vsr/E@`2g9=U& m~H )ɩf voT;Rx z(ZE[|*)6$Qy" Y 4n;l 8{-π>t%!.1wYH⏝ m{&Oɝ_Seqj#23&Ӟ[i`۹[4{ǯde2KFE):$e"\!|{"Ɗ@n9RhpT ]jJ;w0-KJHժVg,Tq2ç^/un@QcMh{!~Q Wj¶C KEՊrH^7)\QTmE]@pQG cf 3OYx)/擘i&M(~mXs$ jz"{:~!/𐫘qd ,C 9C:o?] cE>0 :XsEoQQ~p~SV y!:ZrV|OueU~u}¼.F|/?g}] HvѝOa)#X L1ke]z^O^IN"_Bt/6('Doyf@66+OtY62T0-1"C'c.["a@nzYDE噃Hw2H 5^mEdE`/␲R,6 x +揦@e[*1p 3uY+&^C|;)"!OWd0L]|sR=lhOBO;1HXg*ݷr֠Y= q& 8sQwXwѱ`Sn}\¾XGLl]_X띁 nHv-ה}tvPʿ6s~ /<2ؽny)8鿡.aa+?[1 pZVZyK1!}a Kt0\R!bڢ.Se_?cQ%ž^='?zEjG-Y7)Uf=AR. "wln`}@zox˥t+W9++A <ϗ<;>S4,XEW =:f/e5 UGW8a,8ү;J + Lc >ݝEM!I̴hV{I#6/2-Ÿޮ/ ;|~`7W2TJx4zgwOhY?،p/`Y`SKv6KUk%KȜ B/#%lήsqp!uɈ߬'\E7ٛ| M~kK;{%M1D:oY+ R*%`WJ oh2|čV5p\VH 'C8KC:9/`!1+R8avZaUpYZ)s ӬJ9'ô,M-XS,uJTR%g9\+H`Dg)W֘K  TƮA68mD4b%<_k6Jif[pn]1gAmuǞ][7rjȚi[`$"?eJrS`}5qslrN0d<g+T2U2Hl̓qwxY>H>ef 9S5^9fĴ9^|ȝV_a-$G=?HT==%ޓT޽ˈt4~ "ùabބ@"{~MRU dNn5/H0 m-@H`nu0."eFDmdFU bƿ1gj=&ᜄ4;1`F*郃 `Զ֐sIݴz# d8h{>, 680|7-Z*z0T8ˌi'sAof=!)#?#nRj[ VG%\bK/V5B6pm.i9)];82g.!XNM ljYjf5oŦl DcR0[1:z0>RGv&t֢n jbkj*޿ΚQD $ߡMWAɻ!3 3wfx0Ooxt^z-PP:TQ7uYe.WШud\f}) pl zcVc1:S&P^2f4t>kQ1j_Yb*VRw iEN--y7V! rD5UW**3nSX+V`l ?(KVPB}gAX j=@{NAѹ(}B2CdvXхH'BzU5Л<׷1!/X>dqq<R':IvL *%sZs ״yY!&Q/BX׌|<ʓIaoK g5PYQbzKsSc00c60Gʍ'6B3ޔF##s须R>ᮏOQWg `^ ?*) dٰSA[@!>Leul狉H w1R0m@Y\$icNfxhz}>ԋҊ;;۰irXYJ/Jvk蘋; .U:l?L_Z<>{gytcWHÌ5ᙚu6IE6̸ ǿ#mBma(n,' 82%aA1w5b ̤U~*. Zafcҟ`C)s<8YGw0 iOmD$\ n,㵰[:˷Ja!qG$M7C)YiSt,}1- ݢ\]'[b#1&]ߩ9^οY{s= c b!rs ~a)DchJap壢^KMAAȼ7]zx@s~7.j݊S{ \m !Ls4wm2*郏P,4]~qoc$1dN8nɿXݪcvt.+!u0ٻġv{ hwړ{HXNf|Czzv([n Mf%`sXN>X0He3)چ_ՆAw\,XOA'v-/ h<`hˊ7(DKNО^kTٞI2#Q$lhKsHȶ޼mjS`hȝYͳl9UC)>v@sNJ884kW'";SCb>Ú4U}}Aj D@S@Fo@Ӭ$/'Tl8 zb@Y_ag~mԿxع:7İbȐ^Y搂&K { {}5wpw<,S+#:} cmLGUJw_F|e 5r+GɳXm}4>kſrr[+4Ar'iXr ʓu,]pO]3mOZW$X-HSe:|,4d1JOReB֨Ng{9AfByv":6P^ٻ+N2b5&4nSAœz^V7d ]E_ljyb 7}*86j1#qrҤ:!6F1u[+$P4R&{oR'g#5ѱǑQxi&? )A`斣Jh4C?t2*/d۴0n/zSld \@ }P8G7U4vʿ(vO$T[.: &J:[4®sߙ7cwpj1߼oe)q})7iªv8󷁸|oy+]w<1iK TD5ZSl#Gw #gْtn13[0^UO_&luH]s} Ѽc43/}09~cw܇땘߀l 9ir|H[>afFs*w6`zU+Ty^ cY<`fx*XC;xe {k؞\A 䗋QZj }e.DӞJaDoɿRsɾFbnc.Uggz&Y~e惿eO<_XP|b4|4_uP6/iڐ|1Re Rkx.Dg'7= /m\PFz6"zp7aR_}eǮ.#HّpW#T#SUYmdvL E0 ;qc?1>~2Hl AW Oz0yr~@Ii?-)*fm@)a}4';w2?5rG!&._go3# s2~; ap0!x4^wqxN=e&tOX}f(%FWJUMuHcܡKʇCg4OurU\{ύQXD,}BM86KGf`o;TNY Hg*;Aݣs〘^L|\`2^$.s6d0CYNGT>wE9`\7vdj)RJ `SR{Czӹ>ߜD{B45(MߢςA2KW<|wǯ/ͼ=*$6M;Tʤo AB2?Ѭtn?|A/ȼd |MzG)[k ;B[$˫6;K8~Ic- XԴ⿮x]㟱4a >hZFy-#w :'_D'a֐X]~|tPԇݬh3vHEu];X 16,2GC4=H`Px4btϵgFqв H.nK=Wapw񄺺RuH{qWdJ);N3XNRp< rsϩ'6߷`=v[K.(UzBՠBuKVؗ¸ MT)l< ogӖ /˗sʚ|~=ɝ&z,E^[}CJ=x48i$RH h`IgLw lrH%O4uE%[;) G,ς r*K$D[z].uz DI}Ej?тufIj_.DqR6@vP:v'C Cd}%)%[IK|SMW6`LS.lH9Hfd6X Dx4yCD7KDK ;߸IJ r7TSx2 x ~Q_ߕYŏE.uYħGS_e/~3p:Z o{g(y[1B80 טPW@iDTTde=!$JO5C᎒Uz)5Ǥr bdRI"taTv< :^ x50G:ܰD0+@fQF;@z' =@Lعg ?Bc?LM% uL;ġI);kG)h_J1%jH9"Alt'/gVC,_܄#dMOWl+9 06O ]HGL}DM/%Kk7vZ<2 3Ts\C_"1&M(򪺥Vz,I]ݮ=<#Ȧ>b Du{mtCZw-O5|h԰fl,\[ cJ?yc0 ÕG^O *|o4 /]A t8]>ާ&ER0^f zt=]5& 1n jeq֨6݉hE d#6PCi8nu7GLBck}w-vBuOO>푊h4k ?11V k~D,>ؠc1{7㛎d}.Q SI RlDM[=pH\0ü7WO\yVеϤq-_żIvl4kVk^V-#$0?|0IB۬ "(Tg=݅C흜*n?%77oNtN1pW]PT75+1@ NWo o`k{DuvmŀgTq3,CE:\ȇ=y,FΦ9GdGѳ3hƢ 5BD|E;[sRc^1"{Ԭhxh"I<%m>SYfyW8ع3 .>rڝmD1)c{]Dl`|Pr.,)8i.8m_A!9$'n+Kp%waH퇰pIUMo`D Iwچ_I c|Gxv;WYo[.RMGd";P󮠆zl-%frz|_?3_F=9kσxw$GD6Lc,VLF(i_.`E zwآ:.ld rLޗ5 E㳡`ԁ_wRjPA"PHp ֽq^OY$_Y|Y W2kR\c|WB7X~ok*ݽLY'h)7^eeit2uf MWվ7u`2e(fӀ7Vn4ډ,=$B~ TbrlYz2( Ǡlg6n7:'s+x}rhe." hq>^u8E^,%Ts1XgR k[}@])0.obFӭenCQuڬ,086)^ڪ6+9` @nnhna5͜kW_VbW+zKa?cbrEȌ+}RCA&;raKDߥwO dǧj~?Ytp\U_—9)_8}VꄻZ,QO~Vy-~6y1ԎLt~lloIݼ|E,oɎ;kd>r1/`Q4Ɲ}}NhbeN,ЏYnv$.w&şLPPCP S)kտ9{]|^&'d.`qlm?pNk@JL3w"Zه#0WǏ*|Vc,;Hz¶}>{:GؠfQF=7^C#ڄVk~!NLɯcLPG4~;k,GDZ:0e?voL dn( #*+vo|*5.}^7>BCvivxe ^Δl233گQAO-0XV2K.RiSʲБdPQ` !N {`#H>;Y!F9);b|'l)L)ۡ@H5 .l_ +' Nկ2n o# ~Z@;qD_;Igoa"x[^HNV=I~@hQW|VhL'suy(1AV)=L"XA8n]_-Rg|9Gk$AXcp~ &]ϛBh2timtQ\?ud:;+0E4JrSQLOdD/bhEǐAjs٧$8(eϤWd^Zְ=R/9c<7 <x rVEax8̠p>vMuKE@ŏ߾qrUW pV>opɯFV'ݒz)ւ[{ Ky20D+@/PȪz\NR̡4u·7`KȍR<ݛs]EP*M2-uu\UӋFBx>]\ٳ]>ޫ.);#(;mˊ!ﱉh! r4uǤY}Y$$*}`{捛XO xěgsFqU+GA`J&^|K˗g#~OOR xJ{׮MJ=v9!8s8}4Yj<Qn6YHclKixϷT#vSD{ )q؍fS/ZSD$m 9.At_0Iڛɱy(zcd<~G6 Q5%ǎs8ZȜ^05E2FQg| [6̓~ 2ɂ>Ĝ-QY+`x f9U)15P $feX~dK%P]y~zZI :/k(CFam*F78dVcCyb_K]. (;aJ]O"9㊼Vr+5Ҥ o`.:蚜˗_`ڠ ܦ9 G5#qƾHCΪ$`@e%07 (lBOrQ7lF9QH |zwkPM꽃z@@w.kH([Ӂ*Njfɴ)vyC_i*[;]rR [OeI/Q;/8B^ͿD t`ywC!VB5iԖ-"2!s+f#{XϵY_#wmB> ~UW/eMPgW8|Þi`'L(ŐUOsq w@AL}|ΏƎOC^$1Ql&wgkHj]֌wGgwɟ{x'2? FǣݤѸ'PM~pp繀nae OGF lPP!׌bIjޠI0BgmhOSoyB)uEt*ΞE1r=X6SL5V̻Ү[cnP`G(1قGMӉካɵ6g%=;sÄea!}PoՅ)%ܡe{:^lV]C>A|JίHapuM񦽹3XMK #kC%qN\-PuNJ+G@%ׯ@J:Ea4s`Pz6P7$b#<ޕ1,~ҌϮķB1jk^{2#t [%C{t30IǮ+{$r|{-^Vš``U}QM>OT%:y(}6ϔ;2qW.e E܋!ǝ+>-X;"'XZSG-(be:1_|L 7&Mbb?>e:/7!Ӭ_mR-EL[0l_pQ]t3^T<& >~Zֿ7=VojaaIIAwEWaCYrҪqaQf̄ald'S0_(ە{uB!uݔ ^nN}dtih`&#}>K70mgz]OHWPPUb5QWbP+$|犭οb\:$/uTl# a;w2)Ծfe-O`@Q7 s^Ȱ9J?@CC|?X=Ui+z6 ~7'"4+dܽ%ypu;Q;;pfw7+X\)T^ Fc00G;< 6H'6̬M||֍>g)8n5<<(}cvp"dffZfnFOyEv*Gd(i$p9bewSB܆Ee3mT1EnAճioCɤh]H|o@ƿ Pe6OH4 VLh,9,@Mc e!C~Wy_msM`@8M |:\%7 J&t#zgk̗&ʕyi[wmX'%m[ʒv yaj}jH*xdvkrE?)ܔE4pr#+m~-5ɰR~+ hbeTQv7,XwlO{_f䔷b(wИGxk]Ҟ$qpǧx~!%J=:̣z#JD?_\NS0Nց7kAkƑm_J n JU.4'cV6:шve7Bβs%y7pHݍ^|#n:p]l|Ͱ|Gr{kYqLIei_[&ͽɜNPmnGm%VS?O=@og$Tffڲ}$&cT?SKүT#FXVPoH|ߎV{ 7/V~`y >R4BE厐U !l5Jvd6NT|Pw%ZVG]cV]:JR+Iq,Uȅѱ03϶88!Yf%jgHyȇ ۥM\oL!c!/#qѻ>69#H@Fs:cqs {uU[zYV7C@F=dcRu2JCץ6FbK#Qzhڷ$KY%U} ͌w/Y(,u^mV) 0HCO39-iE΅jȝ=p ॡ`EQMQ!+tf\~G~ `oq+1rxa=ֶ3`e,} S &ntڰd$ [+zB ;1PX& Jv? tbU_g)mN$Uy%.^OW~55'xg xH &wHAC_t>LkeQ_ h4~%5~ahfJAUE`Xlz9,I YTKʭy`k߂G B6ޔJ($R= T!=)OvHqG[a!Z̡dSØW7 c5-!Ms U\kS0DdB?~Gצɛ!;Yǵ1FU@E34ńg 1hRmCX$ťx|)R-K 5OX3qp@V 6K+@J4:XVl.q,u6 _!%,:Ԟ$W V'D;d\-S䍔<䏭cvOGgL \%}' A豺ȏ"݇fVѮ$)5b:YuQzD!H%iPFd4[/Z,Yfܒy35_eEi78aX|Xi{ Im@4i*#\T<8vXy3X~FE.#!"\qHEyϓȄ ڽyDw- bG5 sL>e8qz]3|NH1Uo޲.$@eW̽Sw|5p3!(Gض{$ $EX]"?b|]+ V|9R6kK+E )<  y\%bl` 0X>هߠ6ZP6o5Z~ śUYE\& DcZp+*H1/' T!t:Lc)Y8.UWG;8]l=M! -I^Hc-XH% n{ d(,17hrH̱IThbx{WWAeaɱv T CWaJ?cL;$ŭppg54ĭ9fOʰKt[KC *#2Љj6T[|C8$&o>hfC}xAR 8ΣHqJO8w~BLAfdӕy='ݼ"='"Erel UP's9@|f=A?X\wC4RT>$&G?HZٯ DPݱI  #l]bƑU4#μKgg?l_AS?c\ySV`p<پ (/*m.ʻ!;0!O7Bv'AXoH1OdEs"o%lF7fLl17__ѺZ Z9/fEooD۾.pp6n&M=/B1x)y{WJ\ߧ:5T/6p4w,DMU}[_'aN۟xq~0~NI< Jy:P0$5|0PB4Sg)PqKI6} ${[ `v D%[(ip*xh2람d#P$e i~$yiʼe;chdo@t/e|XtNQOή%;[!y%h YXra6>57 fC=nLx5f;O5|4ۚ"{;aʛ#pmEcڛA( ~VR$Fwt,$2pc\9Sx>zf0 A7- \8PɵTgi U4>#QY`f QFHK]ooP[/Pn_j2*Ors6z;!4$(ڝd>qX]UU:M,S:Z0۫yF3cv Ma5V( vwe=Yȕ~5l{:V<8om !5-/l5ջ<˃ 8ܼͥ*oѼ$p?D$eH0ԜP@n< H_n)EU޲O H6X+0)k_2y0jyK؆aZ4";Ob>r,n>5*ۘwF0wm)*Mf䍖@l-̿>ONVֺ;)īN@[am묙~z1ϲ'Te_F8Q;A&Jq9cAu>XP&fZ3M$c?וpr[ vysgt?$NB/gkךr&p |ӲE:w{JZ ]=-#mS.uDkUm o:KMo' U1rKgwi&}}Ww5zwJ-fk1zutzG"</{f Yl{ H^ Ћ[{\ɇrXQaLBUWHgfJjwզ R):Rf:#//=Ҫaֺef0b2e?E }lޝ˜b`SmСGڏ,'/ŞR|j-f]f4Y"Z0te ȯV\ x?Os'2Yx,ڊPUNBJaLTVh,@R/r}c^$Sd墍ꣻG=S2_]QƫOKkxDzWyH>VXlDNsK Y^vNLUSإb;_-"y[q)ʹ莻d z3#YwQS1eN3?D:bwI_h;$S Z_{oٓg r}dByGEXM8LGVex槬`yE|913C~/ N8R*գ|حk%-h>JA޵3St 5gU'ƊxtmBKYA9ҁ]K]j-V,^?Jz\ jV0Y(D6=C OYZEv;Jq[w}'4W!l,\T[mHB%kY)C'Cp{tQ T} Q1ZEbK:+]л+F8Um:&~V3L7+DdefGti7y`.M%ٖs3|0by8eC6 ;el>pYYm<8D^|Hj+ѥ 8_+jΊ+-GDء  'wROq8 m@=LD[9>w8~瞏}ݝ̳:./wƌ}sZ:RцW<9qE2`n>84*)Fh.~'V}GYVƵ ϡoln-q1yze0^D,'cZBv)flbolLHc%~N8e}qHCty;tfU2sK{\8蕂- >#l}!}Q"ޣ@M^=**wO;=ڎֽ̀Cmm5CnFu8:wdӯS^A NDcg\ੵL(c ,t2"ad"g[y|c>n/?T%35^l1JBjx6\`1e[X;6˭v_^mG a@Hlj9^:yXv"IQʓ2颈+0l׮bG!lp`#Ud|]dsO4zҀ0h&~2 V &M4JJ"[]$ߓZ{y(`jt<poްx׵{Fv۴ᵶZ_', *^2Ê`ק^(V ۜ+$:25]T eMɺ,d*`= TyYϵ.2'yo&jwr=U3HMN@G@{|0)g闀̈%4dq GGHp,x*[eͿaz|n Bi ?Dx2%ڬ- 1e%b_m=:[N۾~GepffQ^ٜ}GT? 4EȳA^k dC'BÚ7HCLeF5n@- f4@%Z_vgr!RH|4AVL;n <3sE>E~s˻g>s[jp1$ƈ (]OXf(|{뢄|3`t>8v:A tIE!}="n0H9:Ray]ܓ;DW18pZIC>B}v0_KH*;SH?6aBw/sUQ5t޸GwZM0nD',N8~uf{y"{L\g$|+6cqG#U91_GHv{tc 9M!,B@"Ep"1˜ˬ\1Iأ Uda:mطyKf'^uuf7:.؆k3t÷ozK4Һ'B)Jx7ʟ_ M_mښmzq^VW 图njLR LՋJF'}YҖ zY٥9ڶ[cSZ_$U~,Q!I>纻K/*KTpݹP\{}a@< }m+7}7ǾDkt4V?ꢩ?kǿ',eݦk&coi  /E2ź[qnRe5yKQ޿?i_I&+Ƶ/@ i4L <45j*i_wye??7R/Eȓ-/<~J [cb]1,(r0-r<Ͼ?!vN=0oqxU Q#%ZU&rOYc$0T]O3!(sd,sTX1Q"G*-s 5Qcp^CQ݄MO7߿xY_#幐w,[=wwƒ%0J+F'N/ր2DUT,^>.;hM)JxpcbqyKĶTh|1 T!5cO^̔GXcMS 03 ޗ1n+S92;پ]92$XGg=bV`%P"_WP3i5[=]1t\PN\%$A2rH\o^&N(QJ %ٯ^6 ]#IOV0AGFzϷee/ǡoz_Haʭt]uMfK6*+ [8۔\$ 1\.*BnW1UŅ7:iRw&NɩfV/Ԁy DRsPgQr)S}kE24ݳǯ;IU>)VaX׏@ﰵך+]QOEK./7(h#Ye ([2Y*y( 䝑`5.Ӛ@]|Mvme^tsZM\VE3+t ̱8H]~U`ŚQכU_*h~߯GMo~9]eqoE2 >g1|^0 _qSf^ |~mDsysN&ီ~ԫ#t{s=S >p5&0SLB\s~eњKl b d  x1)ԋwm*=T83՜oEXNpw +,ɒBlݠWI&&Kcخhҩ:~N/7mQ!'yM|cp w_Q 0/Bö{&͸f~IFl<K@ dxV^J$I1{ea}31?qgG!2yznc{O>)b$[v8X ,LIL2s<%h.tvZt;0>X2MCOU!߼I\"eYuGӿa_\ )S_8wd󮬃QJ=xtzVC#/jj2QH%ʆ1WW_@BO 4JT64:~0^ߔ#/%=r~s`J;3P׉_0a .‚kh;o>`ʺ잯NGs.6n㦤|X/ BM?W=n6wF0']H1%]ٱql93)K>ke3 iE󞸡a Wpi(TDAX- ޏ'bGo]aH%VuMH8˭$7?%9'Cao[L_ |gf2 bAB 7]{}*1ZHa:lhчN/2!O'RY1׍U^d@(ٹ"Ulzgj)$S~xںUkXO+B~~[! q#-2GTH$G4]d5+[Rl ;V*tպ({@,Kg* E(W n+/HtT8 B4frrkyt$:k̡[k@mK UAI-6d8sZ#.xF/;֪PH$¹q}ϡ[O@B__gһB`cqŮg7ڮEqA@]n۴6^t}k̎(amK6^?~v K|]xי:2^!^?F^2&7 w,T2 Mk[k,I+!&]°o{@KqЗ'-=mՎfLdRDmG 7= ;aaxg%ΐQ(?b&ʏ<*M~n)w68y9|BdhYÐ>'?DF3)kyؐoP[ވC0PW\YAMT>,i!!sGk~hC_m QZ0!n1Ɉ0($m2\mь 4򠀏qS1?_߻Lɐȉfu#/:ӏ9>{5uRyT K"Aum>rbÂ<N2Kz:vQ3WtEiz\5?F|)S{geEz`!H'~D.yI`lޖC>SVYS"p-)(1KA !}wA&ɓǐn޸lM0K,υm`Oq/Bo ȌX+}zcvid"ԆTCF "~[gsDJU' `Kf%OCRx%}UwR/y>FtcoG&Ӎ Dd(t ༠6#᝛'}<1;=[<4_Ε}4F, gBBzql³}#H1*OUD  x)IRgϿܙpfiRN`*tLϽbS% U ϷX>1aqrA{ɞ„,oG| xs5kOqs)R[Q%BN !{'.|6+St:rL7'=:PzʯeIR$?*8J\990 t GMj%  BbP|m)@} .;os^na0:mc]U 7Et4Qj :7r#e,lpFҺ@*J:[|E۽_y#7a(:ct>ug IE j~u8>@ V^ _4Mf*տGGDmỴXo` ^XZHs x5;;ل*ns4Lì]K=Dvn\dXϚ1}`6jNtB<&39ttf _]<03%WH'g#N~82, Is09܋՝)۠eY@Q?3<i{lGQ 8RPW@&m M&=]2?OxZ 'aM 5)~@9L / sCL#?|G#0WX|pczclP5TUg38,|/|0U\L2R`pSNwAٔ[^^Qz¿Lww?/!~Y$x0l? ;K%0Nr;N^ӒxJ4D%r{Yzqht/ٶJ qƖסiFTC*ߟ˒ \;3/]Ұpg^ 5Քr/l~Oh=mg%9ST䣸t}5ͬ՚5V2J9?pܬ$8r6L^O1{ńY&5F;Pz6@ @ ,kmfaNpvID9Ж6sڽ~v:H+cy& M9}T#D}3?R{WʀaJ>Dëm&В?% 0|fѻ#Ǵ@qѬoCӓ ^pbt;nal"<}zɷqŦ) \tjtkKe}k1RDgAwϚaigynL' [~2 [nD/sd~oknAjA`UA;yh], c8{G;9Kz9taJK{p&>WK MGH&b#O(sicɥ/d.TC3Hx_tgb~~tDqHȳ;#sss:gI|,evZzbIQΈptŕr`Ͼ|LSS @9tJM컕尖z VdCx@rRY^ΥّP ۑ}U0AЭQW{ۙq |ϊ!ȹE4myt!'֩!ɝ|\( $G7&Kφщ8EG%N B cs#qnwPE6njS !#wF:oFbs=$ww*DJ7E9(2mpi+CZ]N,P_%>zJ?6d-]~B٪ɘsoҫ1>;,64~_)Ҭ\E+cKi|]sَϟg2l}Y_V 0pZEU..K-2+20 -@\.r$||`uz|w:> * *Ȕ|3-g}T֨sj~ e- 7?gjz7gE#kGaO}|ŵ^j.vvVgWJM/qAf)(Zb錌L$_PЫ mQDwhEYGLzlZ=քulFeAĀkfcs%SWÈ\bPp9*Γ`cOr\OQC~￧[Y}$7v*a/U︰DT, dz4ʎdy),7ElWMq kQk<`嵤Ѣ(}IJ); ҋS.ii*9R)c skms&!˄w2iBqr_9 4a =b{9I eMp 9w0]]P/j;sR ~oYY4͙& C2yL TqDyntD!jG(1(<ܽ ˅dkZ'F2KQ7/}.5w!)'.>SNs•Rrcc"r9h2r.GQtc T꙳8-b?k 7P\IbƟ(6)ҰTM/lEnt6S;:p{\]J68} In S\7rF+ 䵆`&9̅_ƁtW~.wD J`;3, ھ޶$-*NRAL缋,0/:䌼FIgrr(ݲ`1&ֽ$m̍;%B$wv I0@N l-Xޤ7TXs]Ђ13?MAQ6y dB3aJ*S}s8*R^]Unaem~_V哈 +ggh43tH-x(E$Dk,o0&'jeUhewv ࿹r}D.2^.WӣE99U>/hniAo$덜r!!(TqJ:T޼kIjv߶F?Z6J~٧)_Z>ZͬEw$ Cޫj}ԠGaS0b"#<~֛VɶXڅ :tLʃ5V:Eӽ,bn0r9_ nQ(Up]b Up+XRф O-S#e%*Y9Pk9Hֵ~-k[Ɔf|:=ixEƗ'DZWo\ .v'0\ }%ۡfjB 1m|DwAwP18>Qp!YҽͶO(ۼu>EVa#ӮjJ'GEx{LVi<qYnd:dݘ(h O5I޹ʼƸfߵ=aJLn-m[ix j: 颰&.G3IÓTX!Sl/LmHJ-L>.Z+e t_o~s;qI%>$~wP󶆁]e9{9nôZ1m!=Z}^e֛GӡsL,) 4S%J3:wA"7,<Dt͐hAG0d RXx˔:,X#(J2sW kT9g_G_~& "JQ%PVFMN7'DÒy+/훧kz K+ oE"]g,C+ U7}b0zQ\ERZauEN$_VhzY!Ζ`sʒ_GK穧Gҳ%l!P7뜎(o.+ a TcAU".G}M ?gšW)ҋtq;,n~H#)yVS#ɜ~B&.TU[[/@ʎ`8 bxsy{toa)$]务+Bw}ޭ3c,;S1aR.`+~+ՉՓe+oRdS٠f|#`n쌦|#I"/(J^hm/sfܵ%O5KT[:4`X &j |zc4o8ۻ-Y޳/N["gso9|R~#Ē[d$5.Ջ[]mncZ|?_k^vmC- f0k2y$q\OO~\ed}91. hv ^V,O8ϛJ v}#,FĎK^u=#ır<^N'5щNB&)BaQ@ɣcSp"u|މ̣¼C98OIWo^z5I"A]W$g_0:ŨN떞/`#iqj;L $ A_O*<*7A۞rwc2̺t`c=ML&ԅT jj8Џ:q>;UxC OjBc-:>ջSͱVI3jI[eYsS[5wJyad"[[c |Gd꽍/1@`,jՇa`NL8ˊlVUo Z? u{TD[b c&}_ cw+J{\2N -`k ѻDHuF've)+ÌE]H6E:stLQxK\Uy̌j^N56m)"1)AJ&ok*S bTh)^4kCg:A sm/ҧ'.ǓPr@O_o ̧z!7IX"Uo(W 蜘EE7hk+N1]@M|@M w؊fxRYS/}׿U/;fi;#p$2?EQ؝"\oL)ھ]e$g 2N׹|~l *xMN4MnIpTi dps)OIkNS~F^_x?߻E|nsl{i#w [%1Q_vEBo=V}JOri<#0I(pg|f( v^ 03VQ3wHroҧ?O\p 9tq;PPn'h#VibL"5$ˠ^xȻ"@ԕ^ISH^k^&亽*,.!Da,S%i7u`b4M/;6H0}3̳)S/|I593% ^\|g9<G˷4D6.(āݯXfPvϲ7dեkE\|&QOUPCՆ.<x'LTKSvK@4Կbz!C|ADuo3iWl@z9\6B>w^5'F!w"Vl-Rw44t דN[*T St^$]< ',q Ap9 Pۚ,(`]w}D5oբsI;wO2:v멾lY*G|jL@189vh*Wu3y쐂g K@xWb߼!>wgn|@׾kf+wR$3@λGo'ʧ5~nϼd `ޮ#z [UEPPW ƟZ)dD&}3wɮXGi- V}=ώ5ό|Q50͝,Pu<8("V3@mR}?aO q="Atޤ&q?Le1c2)$3ixQ'~Onx42 n=ucVj=^i.)`((l`2'lhLqHNTLVeFwƗ ~#S>V ݗֺ1J65/#v"+6}#IKԻNT3i?NZٯ WT34)rPFN`ޖ KUK/)-\%ېl}D)UQ? mI|N Y1ݚ| o!]ғ_FHܘ6yt>eqϮuHtywҞ@ Uj(ep&Y2OHΧj{Y{FxzI$i0:t38pVaX6VgQoh92$햩27|{׸Zy1}V)v\&+J9-ݯ$x8QZ "w&> /O&CS+u(S > cN8T v5r1ȣo)b"d2k٩=Myf-MqM9{8!'wWS ͯ>(:HcG!eϳܳi7"/ :Ii)+z-$WWɑ .SN]Y&ogEO}:,=֩؄ؠqzbʦq KaO$#& @;D,񔦞<ƙЉd7[íO%xE'tO^^oplB<~@Eك#ڄE`{]*~zbZzXm'e'~C`̢y4k o 'Xc\OgAM3(2/q2Op#3CA?%:=+njX[T$ I@_#MoϐY{.i _]\[&4cyU Ri~>y48ރh1qTjV7bu~K*hsKhBV2V va?2…y({1z73"x9ъʧQt$#(UG(oqu$HLʷQ.x*V?> x/9Sn:Z_=qgL?fеZLg^q{2jι*_C$N ԙF2 ; lt);Ld ukQ%~*-Dŝ}}6IfR 1)1,)"6tzOjuI񦅧gih ltf 4"_%q,#| \&:zI^ʼ)VqEؐWN+ $+~?#>e;_%ʹk2X?y^HV[xɋzN3MnU0*a5lp15?5ިCQtH 4.Y1W3-K'g.ȱhxT;ڔAF[Tm.;rmP4aD*@&?̍ihBvydT tnlD<(,.$˵~yגڅu͞m%%4u9 ҈>ڟtm0D'\,怘S/GNY֡: (b;\e'?o\U% RcOלcqБd.'?zhM޽@:U<WY# ԇwzǤuĖ!1%dBv8~CY)}sMvio\J<$B_)?p4sqNY)!>C\g􅳐'PtHgk7qz" L~Fc_xZ$k|$@f|t1KWuo4uX(.RZ?2džء?MĪ/';F*qǮPޯ7xh @ lq5*FlLȑ/@À}QtՃz  >5pkEa_)񍨑{b|;f4B (T EҖxfomgҺ[ ]D~B G=R϶$rρ?>88Gƻ_ /J+\͏A^QC~_H-^V[Ɣ⯩_Ql }h=u} o.-e6.B[.E6H`RHM4&s'rp?ugR=-!%*;H_+%xJ䏌b^ WDV9x|v~ (M()|ͳ|]q~HJ{89#ܔ|Zh2^yW@wN5KF3Mh"xʊX(L[9:4meEK66l$Xlű6dj=8Q[D|ؒu`^Y/lkO嬓-kוq9~d0~éyX}w<#7 q~I1WF}S[ #{6"mʉ*̬dx2)A[I&M\̪못P:noBSZZށڤJ̿T "U3NUpVx_|X$k]tԽbʼΌd= 9apB-^.Ө #/hY$I5P93Me^ߴNW^ח\b%s,ͤf6 #br K.0g @}rcL eL|+G]m;6<([׷LN!]ώzu|MS VwаXIoh,vzqpͣs衾PCؤZ*Vi o[Pj6Ug9\;1 'BOuĠF Iw Dq" -w_=X;s_KA/.w sW<1ޜi"FgOHi[n,т2unV6MPRFۨ( C)ǟ@Z^3q{ya ?=.;Atꛆ7pP`zo- 6|Ȃa6KP{4ި-=zVzcܣQ+9J;۷鐛rK!9sG앿@̛!$c=Bgn W]b^AxmpbD IQSYz`KR_$u_M\du5*ݐw0Ϝbh m2| n>-)U򉝤[%&[X $uS+Wa7KuS<ȿ`:;|`G0uхTkk[9 (@|!pC8hظˆI{C_)#xWcΫ9nɜH= i0L(*p9ٕ/"QMaꟽ}2Y_+0}:{?Qy9va7G]_)=Sbk%B]m:|!H}?\~]& 8d="T'胥ZI+,UI(D_a/`J#zNÖ`R ;xX#LS^˦mщE*Uo9Ww9c>WA& (Ƽ8zp$\ORv(. Y&GJtZ \ӱ] g~k}mAGyDzxVi 8GǢ=H4l W*I~ _a3ز"TN%>?0qvE-NK4*kH{Ko!O)UXQvBxt Kȵ4PYatxlƷONC<3>3h$=f{øl84ګyaR2>m}.ɂ!RVV%fid͓w؄Wzo&L̒4 mq/ֆLPSfDYi΂y1#ao=o݄0Uԏʝ-=>P!}Ev^-^eL)}z{ku@p#q6Qկ_ l1gu0 =bRM,ݣNZӤ^rA?`\<{".ю4 (Ia*KY?Yd;M/wӍJ.-X%ݟg Ib>p[l 1L8vJ>SXzD;A:OeZb7)` zW DET^ycv4v(V%{:BQ&&Vޗ(ǧ/޳]xF',}l !^䊓6E[c! A!-C:x~җ[*Mt[6鿏Vׯ.|"~([v80 htp<!_|Ns}+OT/,. y;agq` i,3'ѡi9|}ٛ[Mڥ7WF|H_gsFY;r a 2uMJ֒Gu^E_77Y<yz_8g*Z_|1ʰlєY:nR_*tIkŸZZ />0/\k6oqچ|R^8'}mcK^\v\ b`~WJGdi|H󵘻b,YhF'NDy날Nؿ7(N:w#7pU?]{eu> Otp4miP0*e~<(R >e=ʋg; ?(^R oO@cR{VtS_ ɨ[sHKF9#7A!+ׄ Ʋ 3> ݦE{Dss&tyj>D,CH6~&UpD#&Bxgi~u,2!B@ p^GA-ڨRaR(9ޖ$}Yi'v\A'QKq8?X'I0Zx ^j8{xy T{koĥ4l+_^.%c{Q ?wf,ʅ Y?J3E!مT?5[l=ɗio޵ZOEaHZz^䃩XRn>jcUCFCvHg.qgJ_}!"b 3ɫ從~FgpNo-CYy`q3Y{d:d#륩f ׁ[JA6 YCى]2&FE7LG\;Ņrhtሽ%%pXT3F>:({y{7U7:YOʑNS2|OPɚ &ΆB!Z/b G;E\V`CEم%u!)6UEZYt3g|;Yd%d ԉ/b„m|_'~Rz:<%vW~gBP˴Mn\׽ `J"i#O%yiUUqIx mA_QsGR{|bt뱍&ԟg휯He$7kZzEͼ/GߟH䜁I2d mtdTV\\DM/#8ֻ ъҾIF{9TUBR|6nq@'vFlHK-Bb۰d$L/TfGϬaIQ@kȾ89Fi{ouff nVc{q{ |DtrJoWO<؈"Ko6h{.".#4S|75П;C(zqI7O(8e8(DJ4@"(;^*tz\5_Ag'/'yȖc?ĝԗeS2,ig.)Ǧ[{Y Q[uޟ9=*jq40he"imNj퐥Knwj͉2Z(Vp]Sxi|a<+5K_T|%|;h 醎 >;㘡tBJםi5N' ncfkŋL{x:A7^ˏ x<|Bk=z&U* +Rs9Dbf7( :jMMfI\:vN$Y8*_fEI 6Ȯ8|8!yQFڜbyz)l,No EF9V%K+*ַ1ǪuCX_K*:YX59WxWV!x5*-ESnؙ'ҖK|:fd*MdXp~N/yXihV(i:ktR>.:sE-EtH>Ђ-kEouc+i?A)C բl I7V`oRZyRy3HVQ{}mR:WR kٸ)1Y( -!u`诏m)x?!HMI\H#]gqEZ'\T3r1 F8+$'7 pDDѝ7Ǧ̙ `9|I iHk<غ,~XdW-Rrxjabhlr9DM3>& fqixA&}%ZP{;\ҶK,kqiYLa{hN"&nOT5C8 c" |=eaKGK1g9ii#*ٱh0/TZx2>{4([" W \bk7=M;lU%*1c})Ssh ݞ !dI@eujO皀I=i-7Ms%'|7`K1 6A@Uޮ`QXC'Q<+j - -DWK)Wt_UܙLBxyV fttu-)OqD$X{?ݘݛo^~:e7D7Y :~kr˵&|_<3A\F Qv^<-XLҨBEK$Tv0qZ}Vi+t$I~|HzM!W0tlpHHؔkLJq7̼u,3}> 9 dDLٮAJ4 BzbXtڗνwQ-k8]=ӿQx l]؞DBMii 4ΐHc. SK,NPl+d7Ti D &܎|YK^ϿvB4GD+C ph8_ OZ)<:pr;<\ fA 4ܕ:XŊs> ,AD֌0%xfBwJbf3r+_]/ZN!(}U[ IQ5+y>W>_2k k3\,37o0Ɉ)̇":s>5x5 E%ahy3!@:QME?'~ dO_ׅH&TrX5r_KkeLZ,QE\yu^?&(GyCLB3t+:{oad-·˾dMm /.) Ne),~L`Fn5sBb"xHY' \H@OS1bГ.vH::M\O Q}g<1$LJuϑ?d"jŏeO3.ء~x)G;^hw}f!8b<\"Ko50~iVk"*XB5:ϔ'|Gǯ8I=kV Y\*|, k^"5༾ٷ>Y]ظY=يKІ_I I֌39l-Є]ŀio"AMs5r|upvsk!Up{m)K11Rcz5$3nr|T]}5{y.o`seSM H8k;RUTuFJŶKO6nA249ZѬ`.Vǀ1t5bA2BngH^}IIk9qޟ_,s祴!TDw*?JzfY.E0IzWvSe-7P0tz سq.:|_Hvy]{_(~qRL(bwaY>P=2 OC&K¢ȰUMZqƑJIټWnؖ\< BR~T:oÉ 68I~ɛb˶ ;DžqU 6'wJA>(1pL8RIصGe2tWFxnMNK ;{/"50"@ߍ\px/4 $Ĕ}I|J! ÷=7KiDe-GZmpms""U0sG -"g 7My#J!m,hNDd6423iQ'pLD{.?(p.Rb(IpS^ ͎3Kvڬ. sIޯv$+$(wL*QB.A[Dd>DM`510OKOB t3 { %ig݆\WkelkA[ r?WmGy$S~'?*_vy8ZcD8E-wSDGx=-Vڑdu?WH Njr,:;)ܚdu+T,I>n 60a#gX#~ 4eΔ4-+׃һ$qH'9Te}Pʼno`Q6~@ LG>t@1^,4LI&XP֯W9CCkk;Fύr-fPf [T8AN,-$b*e)j; 9s)ÿwƖ?rzDm=hGZdE JzpK2u7u#%sAm&9&Ggmڣe/j~hI'충;*&aIiu_țʯ:_?|ׁt[XM15 %>0@cXD ~|~( *^LS AQ ϓ()iuCwrĘWWmr3OH$+;ʳ5U>;lEl]Cb@=yU>n߫s{QOmS_VCpbSƣ;yLQ"FujrQGev}1+w _`}R~^=#K˛vq^'ׯ2T%VnTDȬ!ţ$xq$UзCp_Ljubhd1ȿ &vjc;>v) S ͅH'`㯛C1e5v肥 oTdC'5<L8ɠCwh길~_DْhA5.L|7=5|uZve<7KO1״번iW!&v֞iӒ.5ewx9'sB.dS1!߫p}lc#Œ@4)&bo%fhڽ)(B?4j3Nԗ?;09o"k7R #o"G>a"BR$ Mx6R#";Ri 0C6K&I;Q. W,-a"{vFlaðs wI/ZV^[`#CĶy^ء} Sۿ>|wS/?#fKE߁*&Enx}4Xp0,L_x]T\5K(Slj\ :C۸PŪ!-T,SHPt7\euq: hPs,9)k𷸢apL C˗נA.~y1bȥI Ѝ_Op>l5;eHc@\hI+BL\a c06;Lzj& ˄Y<%LD9:.Qg )XyXtŕyGʻFؼM@KQvDS6Ofq-i?'D܀w"h|C@ /_)|wWaɞqWPD Z?|n6O rM( %Q2rl H+0ɳpaeOAKYkSvpLzG((nhco:wxW;F0<'Rs%eP`OioPJ'CDzKK\O,H:PF|jV?Bj%=+J't.-Hb %Pw'Jf!wP>h4ѽ}ė)qDS~*%ȿWQp~S쌄-axW7UmbW2+uR?^JgO;PVQ3jZ9g -Q5Dr}X C6QUlO3i*Mv}}īkWͨȏnco@6]̑w$쪓#`У jxHal`xN}"Ǩ &R>*ՋW6r.H0ƶ]TOlo30xrXvvC{=EXρPY]I0TQ_Ya]@iI/?=phtUPc$0^۰N$ ]r͋ L<ʄ#̠B`Υlmx1kAWkG'3i'2ޭ5ƮWl8r!ʕjl!g (1(fi~)txotwΆ 齤cv1}51>'9u͔H&y2mEd q+YDHߎ:< _K &k|o.XL`t9Xtӡ/ P> ?zUB@Bֿ³]BB-_:^G#d,^= ^X!nz4x@/?8g_קݸ({AF 2E-P?:NEWRGhWeLw9%/BQNҝhG/G XǨ(F]z'N0PLf^5pWPMwsݦs 6bU/kԨ(kH!?ڣ[6iNӖL{;? nt]b=K_8$gO]huډ&cÓ&DORۃpR _],*Zi\q.BUH.Z&N }Wj4%K==#>/jPP)~ v=L[Mu|1SD9":GV–e~^o"Q^MhJ Px(l}_pײ>wo@KNGJ2VSJ$̃P .V9)IQB.71\BϚç;V1ߏ!-(}3Oꑋ b0ְٗi))lI=[}1YɺhYe5OtGtpR**e v5a*5h3Ga'LAyU@ҍ̉TH^mn9<*Wlt[LyoGZ~G6Wp exg1i"\)VdޝdbX+LdԼ,)@v݉-v'HfoC{9}~I6k3Pz'%'pTd|g&1a ^rϛkTAznmy(=Fbٕ6Wa!RՈT.yOM:ոJvu(&}]Ѧw4FrGZؼE']8檮c{'Pr9aw[@mH)}Rg+ή&iBׯqzEMN.z.yyFG*97H7 ,,pBMڼ̜ $] 0w*on(Bn ' a,˙OT@6yWr#;"M V;J4ƽ`.T_æ"p"1.ՙ%EX Zr?܆hv>h&Ƈ`:{ef zj"S"[a)ΰ9&J AF6sheXh佘%f3~Z~Qde^MiD$%0+kv=װÊB9`KkV`5$%|1/Q8򻎧y\d1O'VC[tj:stQ@zא!YEtI65rh SHʭq3q/PMk4WjQ$!W@n&*ٳ+bh].@/@Enjfm)fFf~SE%AkRr7bZ}k!L#fD>a ~mFGBvSs/~6T_}cɏ %4F D!,J"zC//YHxjMx^er/%ʙ`LW_ ӵ3sȣ"sL2K6IC8$;>*<{LzY!݆ 7JX?ߎ]̌ݍ̚쇀:T>X4?z aһa{40p89ɒ"a1ݔ%M1If8kp͒iHb<4O9b<:|!ą9G4 7DI*eBa`n%"yWR4?<]/ I葴K <~O]ZԲ:O@Tr"ҢWC *EHfҊ)m n܅E*i 5(dij(Ҕ⋼%Fꟶ2'+5V_] ) hk\:kVSzPdE&)18B+an{ 39q%NHLnY6 H"MGlHL_F,P$1c@$.XֽD"!|+i__(*LEӂu̓Hn@O0^&g1{ߡmA!#]܆/=D(u}, PuSHv 3T۰tXM2oxPTYNcl߼ӪqNF4qiɥ-JFw9HGPFosoޫ_!z,߭r^8>Qgė/l@.Όg+o'Az}b|:OFS@t[p\/=nʡ胘v8I4,kWgh>Kf&;3I6+{8z]}*I+EIeJ]UFgCz3\૯t͔'eD.~h2~V ɞy⯝:YtgCH2(FfX,dn,zܫ)#zr[B)GZ:ᨽo`Y@x̨8 '[wu'Z:ѳS8jGwc|36Ahq6?1> k6w!C^vr8j~I״ƾrJ'OJ(H8ņ ZpƯS(^Q \[+:~Ui+ A@ 062<|R@ (9G>!d 4۸t+r"OQ}vׁ"Q3)jfd(]%Y Ï[+}iXmP/'ƥJZ](M1Z1f_YpewDW )hg$z wc7DnjcCf礹%"2' g=zJ 'V0{j"@I\x#i)ꙺa9 g@^ FJWB[^ߝ:O$*egmFR&{H!qgȿViLn&Y[e5SĖDy˜QVb]׻XaUH?m\߼U,Qc{,ں4F4/wݒqJ4|C|K"ѧKDzzT8q`yȼG2NhMNP 0dMnQچghN9gfgOD?u Yu z ѕkӸ=|q/bZQ"Mw,<3yG;*NmpέnaT쐽NQ͔P3p HaRlcK;Ai-heHBF1vfxOTG SI_blư`i'[!O97x_lAKD~zRO;M1v,|Oxu"m\G{ќfpxicm| V@6L!<524Ra"-$?A>W)7ߧ]6_}ˌ\kaLYp_BVFVq8[!DK \:!_'C ,tdC #`\j2' yn R73/'DW'VJϺ&`ZPv5\.ח١M4!C02st]z B7t3"@txWoȱԶ5Ҧ L:KZ7YnlTc㏗9ڇޕK(]NgFw>]aG}C;w46 nF"41_FYhɩڧ++Wr4C$a:NvrT_J~4q=&ɴUC;4qتw! j_N._tfGsnC&\=1YM9ܗ&$sO15IORJW?Fg0R\涉ibh]<: 5`E>62`p5[op#PEx"+JkM㇋b 0|zȓ"Yng 钢 6:컜eoB/<' Ry%<@kb|2S ta`^o~7 ?>{tdh8.} RV[C0oU^xyH\#jr4H%2@pz;ԖY)&QHwCƗ`n|"\Q5NR_rgEzJIWCGx Ԣ7%Zx$PŘu-.#vLze> [G o.Mf@@H&|I Պ/Y<4WD''}Ճ.0"h %#'# *t%TFFܭ ʅDYrRLq!or~g5 \<q"}2= ]}BϊYMD=Hf׮dk;m_$t<\>Z)8%> 0*h-BT&"zRҳ׾MY'ﯯ$6ï^>2̟ԹNt0|:H4 teb,-1KqmT;K7w"SҠ;$6.a:ѿ,5frla9\̊5;Or䝁~7²JBe23jU^հsfvn?ŞU誤r n/4f^PL]-? IQӺr/VMҳ԰0h"sё}0^uqPnO`2+c+⯮&ǫ/Z%wM78Gnp^8DORk2t AF~)"^v?xam`/K̦C4)-f.CxAgANh=cm k_T==/u(:,}r꫑.GlTa/Hn3S!$ T5e k& 4ّס դ+2zsw]5)+BG~ܽ'g[p_:uw*b˽W8Hpcrz~>) a>di<tVUz㋵pcA:} ,,M_~x(H l0%o6i"n'mv~{ȶ}; z1.vrƦ -S x" ag!,ȼK |B|*ElL7:"j YYpcM:@Bi/ 0ƘtG^+/H|4+r,͌{i*.L9UE ~5|#^vdE-%2MZ;iWokWcǭw^NNE(h{vnD#<-:.HKxsc .ʢN<EQZs(6DV߇}y s,x/GthiqMɓe13wٿDHEQp<5x?0C*q&&~>b5VKݨ ͿWl,b>p Z<խR%c!IGB(ʮȆ%u3_tƇ?؏߽ yCJWaٶrFO3+$I=,(+뽿7gi J]gKK, ,;|{uK7`yWٗ d5œVc8≗bVE4 lGTn;̶~ #;Q~0 B=N\lM2dG8 _]ݳ @._Ut}L,B"S>Hhw__ͳ o _ LҘԋeB;ipRz.U"8gBTb9N>Qӳn|yy\RE25bٌshO\B38q# {?ҜcͤOZɹzxT!+H( T>ʹqLn)uyp-)~SX2:MLD'եE A srPAMoѯ+Tmf4ʃ)<)R: QZ;sd} (!1w'D 4:7k3%B8N*2-m=|zh\Ws81dֿW~+iڇ'}yW=~9IA.]5:-kHz80VVg%fLy|ҿ@u⦢]EA HcSl>l *.u<ߌ|B찿E[9[iHB JrCԩT \Č0bclycw[y'#]`di?1.UOpvϋJ4A`;v)C׿C)N*$ L>@2M3&sO4v]Tj0m%P`m.G]C;0E H#e2;zd]N1J1Y[U/l1dFCtO28&= ]tD{crcU*`O &b}/u#W!E! S9[nպhE)?g=w-MDtXN38~[9AFPR(7kփOjNOϝ$ռK4ҽWeVe ^8.suLA3 y<~?/6˵ 3!_,115GWIo>x1^N{p"v<퇔b4}H>ij}8TzoD4/Zɚt顷m|6zЃxm(E?1@%6KTeiCYBWSL5@?&zsbF΅`I[t;̪Id "9P 羁3C L OD N]Ai̇PΫn[ˀ^ vy3EVpHFC3l)JzLmLyQ~ 6LSy%Eޤb(5@-~qOmK*A_U)MaD ^JB*9k#d{e;b=zP#'3ӣ܏9Tvz*y=@5$f hqO8Ʊ;wZl?q]Id]ʠYyR'Fg<Zk8izPOKb1{q8U4tAYܜ*\Mr4B 7 6M21hEX`EEIˬ/ Y%H={:6&%s"CRYy#"&@D.#OM~_6_ysQ#j* n騤.]]sPh@7NW[_zщrR|`ddW8%È7T$K[o6CZlI+UVZk)76<*@:L\5h-L68ZL&k߱݋kG}o܂^^S4ـ_){f>SL9=4j,NJ\dzmHmyicp˱'+iXS2B'ݳXcOdAZ5,rx6<cy`^CI/dasNQKxl>dwsQl=ѣ]OdsiI\}AE =㿕ߵ(J1c<㴕de7by_+;˜!'5)Y[Cކjrtkm-{L<=>Tqbow+B?G2G^3r!f.HWu6 U>$aJmjD< Ͽ"<@ʤ3]1G:ɾb#ă^#(A8}B|I˿O;!I;+HTTJGng?>LdGPw۠CVDV++vp%g|GbʧЪ(dq45/#>Q,X;a>o OT8W ȣz 'e ԉ0Q~@kɅ(BbkCPN>ipk"c̐,eE_޴'o>}O a&:S4pzak:;Z7B^nFgw2OJ%3O0Oę4Ž>M3 E[R6Վ:uHIN{=de)E><= 1+i;}CZ}:J*5jc!aIƒ{,m_&,a_{c4B?{Tt1ܢIWDJD`;՛F:6/pz MNuv2exrD'W܀w1埕 jrzEq׭}=HyuS+ 4 =n Tcō"b6,//e.'7P IH݋ E1Ln*F5~͸Oz,2qgiãO2y 3#!-6h+ vh5p-('%Qh̶j2.A¼E>&p*q̆8۴㈥fA'c7z~/Pv_/ܓEb4*N܃"UF7>I%jr,5y5dp?F+_%W$pY@FlNd6{y2vXxLa<D4Cv~ K {[;*/IvjbK;Ï<\9+G *++a`4.&ߝ YPz5Ѯua}9Yo+C5"d4W SNuHkDRN{+;.n\adؘ ɻ~Q0N $ !o1~>č$;IŠGЇ/ᙅj+QҷdYyr u{k/HfZUΥ ޕPd@(^sx(II\,W25JK-J\ %/RH}-JV!Ye<)3w8;!8+~ܾ ?`pƣ @*R&̴pՃI=_]^ZhVm‡wUW$Ie}"Ldib' = YjԿsKqt)i|VxABG kQYҶ"ټ\5ܯl;gOn uzcI􏔬-a/kV<~[_ZI|:;w ٳEסdhƸ`9B<G|Q@ek3ڦc43 jL̛2xS\57(SIJ[tW3=D,|O4ّ4S<!:.DjofU1-A(xn#ვ髭d%T yw+s7X$vŋc!Aԃ>W T Y9!.ѯ"ש,3־QniXFXuelHxh Y3x4K~ oɳFd?gSowcn>* "eHOE+ؚg&1ҼY2A5M1 t:#{Yo*0bbrV4$'d%w#{s2zQp%QDL!`y2Ǭv+K"JtHz =asT]2ГK nNNM9Ƈ ṭ*K'vF-?j 6O'&1b64sPD#C{Ku<b(+Y ,9̎I69|S5i7 鞋ߓ&BM'JK?+Xmo81g^(:1}KJ"m۬䠕YK|F^sE3F[|PM^,mtX!B`wG>[[na"?t% d\+,G| 3;7{ɯtKw)4!HlC"ZIs3>Sq3DnmRq8vE* #\~lZPVyٛ9t&mIBCu5~Z*z_n$m,_ɷ"!\ȝ`%9Oyi2&#9FTߪn<=s^{Z,bɢ$yw ܮT 1lCоA2F@G3=::~«;#`#ΫAI )zZ7hw_ Gw ˫0,@LxB}V*FpZLQIHR? /+@~0 w}/2RrQ9z>Hܰm\G7CpY6^;ۯ>-0>f>Ȗoy6*]rr#; D!-l d/M,z}{ [?XУ檌XjekilXj[""9RE (=ӭ\ g kfB"|PD~5?u~T>ҁR|0/IY/~5&IaSbI(˲ U>US `[S8^V/lC;IEwŸLByhkN(u ?=XB|;(g#u;•+P.He K7~=o1;a"3R뻶\e] *-\>j=69-o_#4 Jn>`6}+]c dPAoB˶cHv>҈%q@"@-!p9g㏖)*!~wr6ʀ1cF.:(ȵg޲( Wn"m#?rށt*c!KqtѕشC t˹ +oL?Vgt<'df5U MR[r]Hf>FkIcU_b(G񬷸TQJ=Fq-K>,׸.F4^Nf[^[!4Qک:4xto鐪5]_ L |LPp6 * vOOJhdJƄVg9dX#KjP`;uUb5tp"o1ȍWIql?g4=|OOӏ Tn䨩Z2,a΃V uj8}Ȓv<(1?}ͱr6 / 'Kۊ9M[OI3f K?o,y`ATɢ@!I(M -h?7ŔEg7O8nix,ezJ*E0TǹJDTed-D$#KՕO Puΐތi5xl/%Jq%xc/dw:a"Zh9TV" 7`è!|G&o YJeQ ]q߫q[*[CeK ^%<άu*RňC7Dd_!XR.՝Zcx/EcPID_csoc4Wml=AqsVdYEֻP Bj^O9P6Bܴ`GWQL@{~mEWkwNA%XxCC@F/rxZCpL쭡KUIvc%%נ?za6ԟY: ;ԏpJ2l۪QQ|0o%4GHH6j{+6Əij V1bEOY0&Ёؐ<x~|ELnl7q!yU Ձg#tk $v.,0<"X;}hU'`O'2iϝ"pg՚-@)o/[|-)E.bw? cc3)FkC~_|cX+?pBE*PGAEjTH֋Ư}^K]><\¨oX/C8>CϨKzڠf"\tm -}t0sZMQ퇭oa2ʦS"a'/LE_鸱INTP4z|cMl|\XCyǮƃOp-)4}4ޠ[m瘻]D|R7O6)?'Z^k~lJR,V*o|PO~a1g:k@N)A@ѣ( :F566Z@<ID!;B!BtB#儯&a`都jnu LcsnI|!_{Br2 -D ؎.ouLGlB6xrk!#~гŮTΏ 9[XL"o./Te(*j?9RvZ9F~=&.Sa/~okbyK\fAbI `֪oPab*//@/)pPkWTx(A癸UC!ŠP_{DΥj^OcrщJ⟁;0yY)uQIT9ޠD-'i2>5Z5S[NF)u6I?;"7gx'ċyx6=о/n,VÏgCs^{7ZKJ4@9RT;֒*)j_35yd#/ibsƤ8Jq ]\jPMJUkfq1W6ֆWn9|IᧈhSyN^ vGK6x˄FddQb6X$ =Qq>1/ֶTȫ#8]Y܁ef2ї ;J~TsQ VҾ).0OFB _mrJ ]gTSB| %M9ťz-7nldh[ {Ϯo뾀)gJ/)N ө5oc\Յ[)8F HIF}:/9ڪ$X/doTf~_lWL 힊}[STo}ވEu. ח.KXxw#Ŏ%qE/Zaqˬmpq˟ ,W2_d^ #bLKDRhSZ o,t2zR9W.tRhH`p+JYY̤Ǿ1!G~xnu+I/vomH?HzasԔ.ߟȈk-]7LH*Dr#J ԕC3}]{+wtR@[}]TQg_ύh6 T^?}mIN0CǟJK5!Gx9:u(Xμ= r$=CYQr{3tDwԼiKRu_H:ǜI,^ J< \PRkyA f/JwqAaƟ ~TW[~8|Հ6u_;KkVމOZ:e =?уi*+w{w\G, j䫔䇇Lׯ\wX>ko4%` ZAT0!_}ҡ6467y"„*]32%mjyݫCݒ0HU_>eGZI857{y*I!BcV9쐫7g=yf%:ުkfY9fҲ>oUWtvqs:hK)"qh?v+M"ivkʸy ݁RF/$ѝ8'Н1BxN7'R㊏R&ZXGaIe8z肎쌭)bu1J .Nߴ,Gc3bJU#DK,Ry쪉:s>n vͪ `Œuı,fJ/%KKKPaܛAsҞuC-( -S"Rv;S`ez"oB],:/A'9:^3"_bbM?%o݇}-M@\VgD8O6GtN7 t"*[,S<~!f{ ="KdH>zzfA"Z!;CcG\sOK;!6zpj_XgB[}ꖈ|2ma?#r^@ Ԓp":F\l=vDkFh] Hk)i脗{OG{HP|4xsZ  ƃ~!mqê·lYL{^W {=yĢR=/)?gHі>asJio*P(h.~SXx A7C4!I,J3}[Kz?%azEL9 bqf z%Nmj( <(Zg㒃f S8WG0nS+ ̘?1/oکd[6OP?&p7w{=鳬|'Id m&gldz~z/$Rp.lέr\Oݹ!:|H;d^KBNjRX /p;c`h'lgyUx(_=оݻn_M[;o-b•mm J^N'SC-iQG(yֿA շɬXF :X0_-Ρ6 cA=E=[k[#bH\br4(K*Ɗ#}So: +*)U L:'=H57+tʒb$?eO!H1u°tKbF~.a)+'άy]q}ƪ0 dAZV4OP[i>m{H AU{ʒ/ƍQ{KF=>=;OC\(S@5 ~cgߘ2ZO87;3q1Teʓc !)_̿kD# "o݇i(b 5V(t:Zxr"$U"&w !U=Su̒bezenB7ױl[n.NUY:*Fs>Fwh'Em& \I-#Y0W?K;ÒG2.^py"lh&b9 )맃2p􁂑!r ˜c6FI>$} F(V1)҉q1P2WxnLXPP2[e(Oq">CG07ͽB+q~k_W 8+眕Ы6!ls:PbAx$^K+V 6&J#IP7 >@Zs ?Or mǛ~g^(?]iIJKf"չ~"N uL*22c RXnFb;vPa̫>>CyWajg8L׌e^ b'jnqy *P?Ǫݭ?n 2Xǁ!?¾Bn%oO1< 5 )<-MgέsNLNJPc<_k\ɂ'̚_w8 64V1tQO]ZwIy|#P!I|+IWA%4@Ou8H~LEo-qDi"Nd^sE4hFach~''Am+DP!r$\ (h1R}O3F7;:鐿JSzxʑ&3/?\փ]ґ9kbR)OR ԑ2T,YsbU7cʷsH]3#יķS> L2z4-(Yz> N|jhDˏ-.:ӣ[Fְ}Rg2BNmIz@At/x]ͣ~%X5$B?+$G: [ vw,:Ȝ3@(IG,&S*wϪ%1wc\*ޙyÒ0gm=bYu- 6DZoB;ԛϧ^[3YC8L_0Md&}Plm \V9i,(Cz|i9R0<*#S%mXj}p_7\b އJyc&B.7\e)Dm]#`+/)MoR VъNXI GP@Ye\)h]`p:^"pox}޲ AַMOL,+q3ȅ0V{POQO;ߝ^Y&ܾw; .{eY{D9W[Z_^6nkeG8ijh. ~Qxj4쏌!г \Ӛ&Ɂ=McCRgϰ!1*]LcD?jy3|PumxL~$ayg=hjyָeo#<7hy_45S&5G>i r!/ێ:膎CXNթr.c>C0|i4mCs_u]/y)vbTbDMBX 1&0\[ilB[f%lY𨮊}}98;2 sz4[ %q7o ;V LOD_[4]eTҰJCiY+*Z]zWKTϊAVE@# EbabK׷ G4ڱ k|Oecp&#Pjhbp4Z;Sw%?AԬJ`W7#Θ.xd Mk;]oLZ%ݴO,+6_˒6G\hʿ9ؿ`qj}U.uׂ4<`l7E nSuȲ9|9]07{QOY]_}Yo>a_[gٝQig |. 6A\M\-_bR$ 9&8~w"^-ɫ\Q,m(b(3+1jo R$~H}~q|M1^(MZk}6rS;K۰UvrwȒ1&=!ƴT@aG*}yeaj8U\&IO ָ `KTX&O~吔 ]Ű >RPL8<"d+ǺCOWKE>sXjSwdk# HEq17칮mKlOа&|n|]RH92p 9 (6=uK:uri}Hcp:PEc:YI8PEoǀO6v^а/Yncޠd % 87 p0tv%م4-#6{f%,Wv}З}nq|'PI  ,wŭaRzy."iɤ22zܿ9< (A=-m2f{cr,7I0Œ+M͡Wjפ[||Vg|&*Ux~@sJ2]40zU3uz#3l4?Q,Kcohj 4 ;m>aL W": n"4]ўϜ״W'bC^YugQh{"d BtJ VaGlgUu(^ l}܎d@7oAe1Rm_IM£i(_-)#`m/Ӯ!uQř^NDt_ Ýd֍W屺FPsה&y<4QKM:\$?îx[*j!OO ˬ)9h{.CB-1fz$ubWcgZԮGKo>b;r|Xi45h$Jr5#kDo/|cff)R1,bo}B:.pn2?c!䒅Jr .^=񾢶"\?y]^@:ˑ`oԫ(m8\pCo! ps/j2ik~hkNWʄKM9?Nk%O?0lwۈKz\+H5+$T毩>l^-vG%Hn/]%M-Íԇ>3,W0f-dAOR~ס߄B &?8ODP*s ¸qnY?$ gˇkd`2<RLw@F#2r 3nQ0Arke8{Tklh4ȈFVVkV}cJ$ ץC.tl9|؅1mERlhY9,*`}a;L5QeʀEY~R'0'bN r$|uX8"鏅y!f0 ssǃ5OEOf=YUfJ 9pI׽wR﷐EtD>F@=e,]qڞ^޷y\cqcM{#tgKwHhb-/.B6 .i$y+wo}( ̊Lɸ8N OSfwKG@N$a-rNAAZ7|N|D ,E+\Hn8y7C9q0+{CRtgZc~gJ r8,9r4a #q=EW+)2炼󸷃_Dd&zJˣ-|kGZMw& Y;R%-L]MX򂌱{b_ 1E' F?=TWml]4kXa 5}XW")'k`(uT gA6$I;2&3H#U}?SԄ l~S,MG$&Xۑeq̧^?`Ⱦ~#2?;MV*ܵ->~1r3O@vm"$,!ovX$"%xel pup0ҡEɮ7!%ا qe6 Os=i2-X;.W%-wc/Z[& 6 ɎeSyLT LJm[]&)Xt\Ҵpޟ*Z ?A'IMI`LGLk'•dЈ}#6~ KsUnFdDTI ]Hn7@h*ހQe8M1{5tx8co ˭#GOU)X߲}X9ۼ;iɜ@7kWm#^/j6`/~fIz )E"nAэV(aHϚmݬ0՝{]ݶSسmye-/~Wಏz(ة汇lwF*Q UMD2`5<5:ņiOq7ws^6 lvwqr=c2ߚfo0ͤ_{{roDCṼ80D^[(EqR9d1Xv20yR$Xq-0G A&JUÞ4x)^Zꌅx7Z\wS 4U~i}gK}\ b/,V+!y` ?yz=X#P n\:*ca,a) cb/||q;f s$tW8AN_ <*rxg|Gށ{̜C:o ?M$4+|^6T(`MϿEySiQV i!ARc9wKe#9㣁ִyUE\H<:TۊB`^MkyD̒cxφ c*À =k(Pe=o6F9{vH69ksE&ᖏpv੮ ڽ,Q.Lѡj(lS̽5.6xJH%#j&k&IW& {|.=c 'N m/$'!:ˏIRrfMxEAP lPP KH^/Q!:b>y `]L%b'7?(lUu+&!?oܠfc*lnP𥘀> s{VĴE]˾*\6BԵ'HمS$-]=-=X{ )iP[fs}<^7r;f U F}㲛g}gއ~j1 V ǂ]DZ쥬!W{BJ'89BEGuG DWs {Y>L;ߍf8b-s"r3:܏ps%CկDٌw@) ~V:>>+6#˹XE(fԢf(RU-uA sC!PzptHFIw j6 wg׹'jH>B2,w"VwA&¦#/8j_ZҸ򽱇^iIӠmH]v vJy ؕ: qU 6N9XH`z)z}  N]FXh9\Vʜ/94+`}0-Ks u`}Ҵ7TY6;0R)ic"QẰdʕ5fDC|:>w4U+cP 6Uu\/ Qb3? h(@$[W YX]tkkUΔ|B_Y3Mr O]I8o__M8f ꆏ 6Kh2`** $6KP;, $2ZV3CI?bZBut}}e/> P |Z@}VW$*dI*^ebN)yK? 0xLoB J=j&)ٿ*2'O~7OʚyHsI$gm˶M XK~rYb0:JPϊI2#OmdF1 "t] 2Ɯ!F@9 i:w bz؍mUAm!6XiF? q|@/ۣYmp`X o6Y[TaqӪ-N*X_% 5fMߝo_W3܆`I}nAs'W[Api?/5c\Xդ $7jt, Z mt$|]Gyׯ13xahpȥ3$Ty$07viey-(`vg_b]}!5y|:3f g9DKIj&" ~UdWuA_1L8HԦXDMd_nS<+M1ʂ.H=F\g6m3wq~[F2 euMh~Ѽci` ULrguZ]xA/;*2_+IШud\f}) pl zHRG)(v/t3:q@ӫjh|\ŎT C"g&1d`M->>kQ쁉po,X1`aTgAH"j!ʡq2;C~P!M[,v8R )Sſn$FB[mVxJ{E K|Yq9k%).9-%hlh]n1OW9ǶL]I߭R(پ 0:;ȏDbli1ƿKJ %]d;跢{JŽ3fwXSqijyStIZ sLS] w$>7HkE5~w- Ko‘c >m`[$eo;^2+c9q@RAzgh^ ΍ʼnW1&7V, 7O$b6T9ִU1ڕ{ق{20w;"sTMH!</ᇤVJAxiĵxdkNL[bO@wS \tr~n;0O IP_6|ψ[#.O8? RQ^CyDt9Fz8 i=I@P8+w5gHpBޏC}MNE~VAK ?N~qMcOѫ>4Fʗ#5Y3EZrKLͫ|9;![kaXP7v耴`x+ӆ5%O6zpj 5Sog7Hh)荾C#1j +?&8K%Tusy/cQҡ^ǟK?>襷t,OYnl^*pi\&Lͤe9nYx%oxn%,6c5JqC K`G90澨`/F*)7O>5?Dn^H jv+R* l`.*olHYڝǑy-X|/« fƺ-GY( Z$n/9n.q(N4NJ3;TOEjHȸOMpQֈˊD[>*ź_n4o8d*X/.Ŧ~]9{ӥWQ>LjW>I-ZDe53)SHpueq\Bt[@Iz>ň۠=P*X{G:?KSm?WneL+ZtOM[B!]Mܿ2,p4υږ~a!O5*k{듩̈́Kt|M]z}/~{uҥi%RN60(HK"qpar7\ ҕBY)#Ǐd,g]g@-PAR<yusKbfymA@XTpe(noXsNf-VIk988E 3ܳQfZZ 4K2PI{uwQVgHvlKayv.>ŲN_2h2DŽz;$b M!FNҹs- 2gs|bYڮ_ɛ04hkM͊~KfDzfn`?7oߚ!HT .Ű6ͪ%5\}yg :>/~~.D\3 G;& _&VPHQp vcA|I#̓,Yfu#ܐ<+> hwړ{-d([n Mf%`sX(0}`!ߑjOwіϤjPhɆVqY`=df۵_Єx@]G,+ߠ5/9A{z\M4;"R='=ד:dG<00;G~ A K>.ͅ"!۞&'zuM}y8tR\"w&d5ϲT ͏!}q qh׮ND$(N v (}؇5ki@3j[{)_YI^N08oq@V ,ϸI!-`6n==s@una !/c{ !MGp'#{ju>>y N~@tQH0#7۲HL$S,BG 5r+GɳXm}4>kſrr[+4Ar'iXr ʓu,]pO]3mOZW$X-HSe:|,! /YZ1Zib7BxsJ Y;VEgwzZ\"轰YXW:پ,%  W :5J̳q-(jh8_]q7tz |~rVn!˦~V*(W8u/&p/LjP`3''M_nCrlchYBMIm-5o⹱08Y< ?&jH3i(\4UڷF;gF6ĤQ1|Ie&+ߦq+vh|#ZvgK koc5Cx_NêXlWύbDB%⬓`DM#:7{z~S!J?6: 0N-P,%/On~PXAΖG`6ך2O⡒u c@EN֚biO8p^Q>˖|X7hv`ϔnBxWA{ͩm/ۀsW|PUrfx)t2e4óUT#p,c_ b \~lLo7Z@D>9Z>4KTQ ;Jb#pb5#]X,mLvӥҾ7L$"7 ԯL|x 1O쓆OvE2Mr/FJXޞlWRjMd;4I21MOBK[534ͩH*qpD,djxe(lh<Rv$\+Ո3Tg)fY{~>@,z{7ϟK溂$#z 5L 8LF؅aE#%jo4ۭ՝Gf!&%#uPM0Xff*m);Aݣs〘^L|\`2^$.s6d0CYNGT>wE9`\7vdj)RJ `SR{Czӧs#}^}9!Jh+QkPE2;1;,]³__*ay{TIlvv)uI9d~2;Y `~l^y}@$IF~Sԇ ;B[$˫6;K8~)׃M^AH,jZTTX?A`OTZ4FX-ݼGAuY"0XIkH.N>:knXW;# !|T0(\e1}Rh 'ʱp?e-0=G]ڨJێO>{?2ȫ\CbWxDSIZ/ItyxRrD#LbTEGeI6VLi#Sj|r}m+[6%6~猥#GqW?u9^8&D^:RJv5Vc8bv9xxGTU R@ǥP*Ub J!տՠBuKVؗ¸ MT)l< ogӖ /˗sʚ|~=ŝ&z[~UϷz:h9|ZK#U8߃U%ArXy43Ś-q;qȅ#֥oRB8ZA.y|qHRz>x( _Fn?eӶ8dZxGĻ_7{SWAmF~Y]'~\Gh1R2t1  |6JI+976_h&BLb8nH< *Kʩ.Elu|[.u}7o%oF gK%~@rI}>]RLb[?j@cS A@/kǗl%.-M5+_9G 84?G3M"匦 V#>ׂj;EKXbu, 6,eXk-yw$.~&)yPmN ʀ/G}z-uޘ ]@tn3kOi7ʜ _&fbu޵L5P󊽫&b}1pa1҈7iE?{B`H&j$Dž;JzW__0810Y^< Ka&͋oy-Zy~=8PA(t^O5vkaPÏta`W̄[30bw@z' =@Lعgn A~t~HJ8쥙=J'Y8pn })I2JԘ;rEO_0]nX GȚћ78٬Wr<alZ'^6&ƱcCX#'iri?o)KWB8bc"B[pzZqsĕkoLA]L*Y̛$PmWɝ&/LmfeU\9: OÙ$,Hh  Buo]i;DIboiSrsi?.,AĈHgyEu\r~ 1P,P$yFp 7MYj7jvY Xi0eq`/*@>yN|1'.`lqAZ(Iy+_;; 8/~*MGʊz&ģ@\60Ee&7oL|Ռ;B#Fr;N%’b}/#f{Nryr[rx~ Wp|\unA4yׯ:ʬmoKpD1lF}O2̟V[4QgE LBAibh| M8lM'Q/b%d ;Y/9O`D+u^MQGP/}%.5w%t#1G}˔!_GKфU<ȸ*+(=F'QZaF*$q@yU3Q{\/S+nb`0 x}mFclC"@.F*ǖE p vfvsos2!'g ЉV" r6ǃmNNы՗Ϛk:$n)_y^ ?쬎%gMB~5IrᩏPL*Ku?NP"!4=!1HIdookEZ"Ҕ!`v!ȯEYǷ:s~ןfo[1JԎD)1Io7= ERQ[6}Ҽ&阣+oM*ryYgM҅ڳWx#Bt^FGJ1>fσm'c4s %^V'L%+izǤW I#!Rp- ZS7 $5!aZ|գ1]B4<x뜈{{w&Xd|04GSYn1+4nBRw9VH)_55/=d2B)xͫvХVA"C1>>^u8E^,%Ts1XgR [}@])0.obFӭenCQuڬ,086)^ڪ6+9` @nnhna5͜kW_VbW+zKa?&TrW*0yx$8Ku1ɳʽ,%}_PWOAสǡǿ/sR#pޭ wXڟ [)=lbGIxS@yh%Yya|,O#v|c&74^0 hi;*6XXnv$.w&ş\&(!(f)~aMzε_hN(^z/߸ Ɖ1Y| v'v۱}[Sv>݀VDsnk>9$xxY`a[ܾGXBQn #lP3(XhOGxmBz~u+ܵ}?!NLɯ&#?PQ]ǝ5W#ICLN]1SDBJݿۈz>t`>CٛtlG!b`Kn/gJh|| +ETSi)> LyfdT`Dƪ씲,t$Ye9T,rjoȮ`HGg3Ry&0p#πoN><{}Q͜ߔlx>]6Y7P_ $\ՕW7|osp?w-@=qD_;Igoa"x[^HNV=I~,"Hј2O.P,XTZ1Zyƛ <3[%ǁD)~&"Ҳ @,w?}䩿 Rӊ_ gUǏ [E)ܶkdC]*T'W ?ga\k}I`#EzJVǞyD:Ro+c|]"Iv(dU=Sfn"[y FͩAڢor׮1@FNpS h-wiﴝOI\"fߜ 7*[)c.+]]&-IVb~{tFBn+oHr 5 dXӃmBJ ό}K ZWv S:(ne3trAZn4$/kC5v]ü峈 cfC_֧`J C Ԏvz/ .uj&ӓvesH;KI* C%{s_^%鞍FENtȠ5e jD*:dTA׬<3Nsi]G ls[ςB2aBL$c&nb^6@;Sj2]3mN>mMBSj M{@TEPs jʈe-*7'ͺn*]M /zؒj5 7QII hQ W6oz<&Nz@&QO-ۤRz퉄ӱ*fuu倬ti\t |@!{P%_b}]ر}ʲQ V<g1) 1caWUudw f# BQ!n2#A4%ՙfVeSj6Fa9 tj],#Vøj6l ҾP0"ZUJz\N`gxmBm:`!p DVHk%S H XEnVFަ [Y"bzKFt[BVBIn3t fSM4%vv%c#(_uۙ9 v@IJIGYvV)0b&ޱ"Ђcğ]^As MHb]-ޙ"OD߀^jՌQW;.Th2c@v/kWBxdtBb\j2 Y:2DF S]PkCr%$x*^MKC}/yLi'VuLz DZѕ/\`a4d-(^y[3R:|-p-m.ӆ԰}ti:G֦K/FIrm`FH^na4V4+שPGuM^Rl^J> g.n 32DZgs'~r9y,d zc̢3 ,wM)]c \ni^%c?b^5AhmVK)*+4 6e5WWb2x&maQ%/͛\1fsV*swu`:+L DAY 8@IUr`u@_HGu5x5C%@^lwK4TꀂcaujCɶR<sEH$60HV]]XVW4˅Q0Y%6;9XNƍiEbs ׎ |Thތr)gωAVd ,@:?F>) $ZU,XR(Z.ޤ5sQ&[ۦJ4̓M MP7лWK,;qm"JhsHM[62N,-E}hU, D"ND_w !ݽw6^ afdaUR;p1Sr *YVHud]PӍ rs "쬬`Ôgw L \F7Zm>1qg/WlPڦI·a dž'Q;FʿosFDFsɍ9j}6zMd njY0%R%=vrB7lN3nW"0Wb*yF45-/scgL2Na{ABHξ7qZ/t-u f[iu[1-ntB! TL.TjBwauO ^ʪ@ 7Popܓ%en gSj#1[Df&L])UL '.PE Q^mJ j]Cךލg1x|*E)ţtB7Ü1h Kő:+&RLe榲WoyPW+n'3ZASdyU,{2e9eF59e*#9T5=4sr)֏J Ə6$ \HSr/'ȓUWHH;/҂%rP?SjHQfqHSh.u>^o@峩E*p= vgG gS_b,3mJ{ ev1US|+eݳ>N'qH>'JłSa;lx!+H# ԕq%LoqN_O>|~7B džѩon֍9ǃ3yBKІsW>;V>`S o#iă}F2\=5HPbYӐp2wL" .̘ʽ?H 0,J?xpt y.XH9ghZ3R֓foX\= n8" °7~֨3#5mGɣxf[%5)tH ǐ=¨piM =m+KI6Mr>a[Vh7,dzw>yTjʅ4&N@Umwcae Sb4&@3فaV­,YEWϠ^:jvb n)yrWS=oLՃ^=?Di紛5r \(@|<,:]qP. Tv L3_eM};yVPr97eX=E7rSp[:MCR=Q`]7²V-@s)WtG\5J$_ȓj6*ƎGI,@-6BPɺfql[=U~ܦ {gq*.("\t'/;:O>H#SMjbN#c靡U>ǹe';q+m6쭡]eVFD=qyqh'nH!RެNXh0Tomenw3ۨQ&ezfX1ѐyΫoA渄d X~QBG4l8r/.r[.0NzNp4୹p|[^f<3(:QQyd>v>Y9SK(QbˆszN=^oNU Kqa"BXaWz7pE<a.N1U :Fi,5Z=pKÓ;qNEovI}ɶH@E=&CP+ E&hi vkg/bZd .a>s;Mַ>8+e p0۬6;BQ F/A};(n"j%Pͧ^K*7a9_8xtǛ$ X9[4@&>BRvpJ o[<#s,vW'$6 `]Dm5pkbIFV mAN 87k\!t%l561p*I$9FhpDㇸX8<1(hi谙Hkh#5K= 8F7 qÎqi|u̳U6kb2)Q h+YQ@hcBQC`n6\ڰ+Wox+/"o/lyRUI`ɐ7\ՙרT(1W:n!'"rGI{HսBu(\9*྅2Nh*6; J"AsXE *cmN䮵kyw-œuL& D~lR۩A!!B Xݡ82"Qx;3Z[RpVcZUB x:{Svܶ43O6X5l{Nfo[_QSIr^,E# c`XvZ@UWu}!dپHZV͚wm[a lj^9rmXH&fKRQ5dcZ&?6DpD4jr齌9 y=`}3&Onft]ܲDw*g'=( 9zFq\xahB;N 8g@'dT gxO5;ekX,HąIBfҩ+m %4r7bJg%kdFTuD|e e*;HH̦yZO3 ߇UҎjR\o `Ӑ;[g2:w$B y|-^aPpkpF'GY{5яև͐iBi,|D٠[;TZZ]w#Ov5!qs{7BJTQl HHh7כ /+U0iHPF70[YTGB5 רѤ{=f1\ө{Ŏכ$pJ]FEۙjj={2;:6L,2Ծ4T .m"k3ڳl\6Zp$#m{12K1RT.ﲲq6f'KTlDN| I?a=Q-|+~ , ;brCf#{[g 39+(Np1T'À8 zC FMa+6W ?V&Wu?O,FΊIXԬN 6#(@|ojgVx[b`r0 @mVGVjn $i8[eaw6}]o~C{,ETER*'%pVAH&W$*+Yy#!8nW-'d'faqʣ3Y蘵Vv?7>"g{WSTѥSkACn'9Cνr 쫺'M#}8۱Iz?"7ÖPg&t }ڿlc.3ǚQ퉈oHA[.SήiNVBolY'5{'kO0Y7+'t:sNY+8ZL`wYd8ks=M!>`-5^Q;b3T(YCN` mx[S Ǖ">DβӁ.Kd08nU6ú͡4ɿwqScV>KU$ᴺW+ M*tbdM(ɜ@I[lz7gLjpcS`+3 `Dߜ}Rmlhň Ic_`T Jp3ZQ{~({Uɨ9N.77 T5mTBa~T(>sܵ2:~q$FD :M<64}첾(xglcq3δL;t(@NBTěs ;fmB=NԸ~wĂcmB%=5l}~΃uWmhɑ5ZY 3&c?ǧ2\i[i yT<|DeC1^ڥkas#ܽaűbQ ںJw%*Dl8fzV$y\}<Ҋ$)6 pOXUyVI^05ֵ# ncYuެ.uwbHa8 "<ͅX+`)k>_\aY;Flݸ0ɞ, ]#=q)ܺ0$j<;J-{+v“AV|>@yC}:GWX!30֦@uQ4O áú6e\F,JhK~b{q[judJm"BHtg<_N >}&[e2h~ݫr,xwc0a鬙R@V؇Zhd;+vyfm"6Z,6b!9mpTNLS#ČnfB,a| N8iigOdW)hvT UJX >2g4h;JuKoϺji\Ӣ㍋8'V^"M@ M1SpIP%g,zGj?ٽXs[HUn)VI8/vKZg`?T m+hiE2A=‰ܲ m)+.NN[\ݺaجKipt8t06"K|lwV1Jj" On ﮸ߕ˥v59Lv (M_Dr4^y7wz>;j۝lCuh q?zݙo&J$`6Je"6-!XF ?nPcBk"vѼn6Kc\Jz, +䨬g7Kgȼ3*C@Y@E>u͌u2Nt>&b]w)YCwkJ]o!]tTT[{Ɏ- jnL2ױm.]׻^LUHW=% d-FI)*ڝ v;Y<oYu6{&'d\,]ALUD">dRC8Q:">H]0+ݻeg?S/ϐ`rIl7nn a>כyfkb>V$(R~9!mUpYE8zJi9P_ge׻&^dtu_=X^hv1ߗZ 6{[8PyHm^"%لMR F?_Fb'vxes8vM͠)g|ִINkܫ<^0Vyfڞ;6P4idf>NeQ"W#`"oUԯ y%󝞻85p6;xU6Tz/A֖h9M!Z8t0͜H2M +uh6kYt#$ >+YA)C3 qF}'ŊbMzs\XIuU^10CGUaHW-U=֊~,BhͫXjzƻ 9—#PZ!ekDn]h\7jHװŠ$Ӭ}⏙Ś\]Yiu ke>ߏ z1jM 9l>ىݐKuwЂޛ6dV>mP8iv錎9YU^%^[Z )® rѹ:v956fY{lSt}AJ 1h=Ԙ&۹xe^Ztols?B'G?yrpJ ha;IFfT咘]᪾"4Y)1')Wzmf">CD Cm`])ccˆȑcb{UeY.ί{`&zNcޕQt3I ltػ;ʰjs_ͼmCFaw3HWrn;K3C- ǗEr+譎KN1A2kE:B)9ܡʅug+pPƩG|`pXe&%j%Z%wve"5(lYV]j'7g$ھ'^ԕGf9DŮI SuAp`Ŝ=\mݖC{.ZUK^i8Y֚y::=I2PNd 8,=lۀ֕# h&_N[$8=H{ Y6'jօ /^. XB]tHuz1ZG1 eSh c.%a+<{LDzA"^ n,=WޛyDbMj]QI68Q&6t^w)dL,RʰЋ*;ۭ~4e|7+RtfP9/ =X7_WjsE}/VuIXY)Yapt-]uYBv[-k*(vHJ6`(]i{ntW~; e_+R Cf.ј.;5r鍴Ϝ>W6Wto=k>R$jvqjO;/(T,RZL뢓,B{zZ4z r3\ss[YZ^~gT++[$hIṾ5\1v nl@<띿&dԱ*Qݽ8l%PqPcFkt{&GFѰvG"jT"MPdїdLs}4갆 HTزx1f(X߷bqK?[Fշj;b>%0`bo3 K )r6Eiۛ+7){vl**]P"ʷCn9vYyCYV=̡PAh?&'5Ǵvct]ʕ)ϝd +s [m)]̾S!omyپ)L/5IV6TGzr mu[h8ɂ!V8w=8BQvvP?-nc"*d Yg"İiX%bNDv >7sr KL!Z.R$;]\-Vv\^ݗU܈ [dzeirLp+BۭPijq,[x,|XKNaC%U$k }!8tls^ORHRVu)*y[M 3zHbAb s.kd8'ܟ$fIb׫Jo&'-%l塨ekڧSkr"ˮ+)-:XjqRg4h@{WB0~_iTyVn/jwȦpV,V a IT*4׀ut Iֆqs᛾sXm{0eGbiuAW+' .0]vʛΏ'{Hy)пĿmU_j~[G hCq$} F\ojo?ZwGg?s6φ~02?FO<} ̟sg0bEvףM ApkzM13WH G?'%5ɒ̷6>h F߮%=Ɔ#gl8 쯄 ~6ӻ 8-䟿8"Bɇ3Zc񇓡_3MAμF(Cل5>+A!~^Io2<~V_^ AkH>`Gh}| oD3WCObpcIB+ Hf~}E(D__a@aI?߷N@kg$GI'N> H4RKBGOX^?gu . @,R p&J!z(Ƒg0A<ˏ7V%?0V%Rk~d;ѓ~Î8I uVK`z4˲1`iKa _.B&P>Bi^"HSq0hF@Շ H P]_o&"124cx/]ܟq[. <@_=gmL0 C"k#W$ǧ۬:(Ð(B_qǧePWίp7糧%5x}7 lĿ+ r\kdBү l ?scz[VE +x ?o~7]޴E}$ PB4+@{@~E1?__Z>!ɫ}xxfjOݭqFŮ-ߚ~5ѐ^w߂0SH?m&aeYAW/ij6g/xG5ٵ~uboOLR qv>j|=z6p$ T{/N}El29@k|+e?a<b , 1#Efc<! Y#^$CƟTN/,KGg77@'B 8c^ %__Q+|eIuגNRx|mB9Q>Go(%H¿DBs(IWʈBϴ"o<1 㡈xPǽ(ݒ~|Dsn?zH+瑕#^z0%8J2G_zpeAz槲8w[}dHZd3Y=ny2BXSYIwKqփTCCn5IJW *mcd +kdրWg +kdրcd П*k!/5?0k~uY cd *ka/5P?0k~uY cd *k/5P?0k|uYCW$ ؟*g/3P?.g~mʀ2C2W$ *_Q//P?._|mقQ~Hds 0ߝ+~\Tse ؗ_pC~Y1Qj<͛Bo~3~z?#ɀO?_g>v"g&u7u~JFm/_ _‿!K Pc$1п~c叙/]O|Eɾ o5Ϋ!^OuݣB1?nyY;䡻ſ?cϫK7?t-_*ǼXzwͿ)x,uC|۝z߿m$mkk2aț)y}/|X+?.դ5xz/]gvj/<_ygtSb~8F[%{Wx*"ޕ`w%0i!QP#L@( TWYQ~|hM]ܷ.Xfpmܺuۥ_?ZC^U$φm4绻XwK(*?qU'FvRQ֕޷9vḊc|a!~`xiC=VA_?5s~<F~dhoi;Q/^oͯimE}[E_3woj>Ox1:J ~a> ^CnX~Z la͐5'_]Wk %0EqE>EI返A(2#>4)RfϿ1@gzW`?7&z ܹ_=@i@X!eo_P}Tl2I !w>  ~ ^˘ 2DYaGCO: ZaiyS yk9yB!&b 5QF~fA3$= ;G4 t@+{,E?IJbBV _(8KS 6 Hppuπ8A!8fQI٤õ Py :8ˣ_bHq4Bpz*(x\)[{lP8C>aA,q3W4z+ݵ,_aos>AhwDyi!;O^_><|.n{x/tqz6U|ryr~I? }Sszf[NJ~aڣ e4?Q Eۼv +X)U G.+YzoIe?cKoZLU r3:,-nmff#YzqA։l-.(k_Kfnb+0:no6$΅l*ӣPA㖜Pt6AT^V`63'Ǖܼ"HfI38u-i>ǵ Nj>a[7o+þ*C=L0hu"2xG=*O&~90j˙򣶳=B#W s{4;cΦ4y9hÓf}>9]Pr*/.)ğԐ={+< .'ݥ֑Oܞ.IYE55zh|)cG?tqA5}h##97O4気8Q"әq8P~Tf +QU&tl/%Yx[yec9U` l#Ydwwdvo׫ش|_~dĉ_ j2x\VIuwS^;+޵'~٘N@9=Z(WU+f\.jp]qd ӂqkHC.9F.yni<Ř oIBY49#xY^9QQvȃX2폂[(fbxm_qIQhC[L`żx`,M2&WRߊw8Z`% [nm-6::CffѼg5*Ŋ?^>8FgYHyOw%IPҽ>w >G)/\yE!ʅ(`t}{#uƮ,=w~nB{l ׵+~T %un1JٱwM%N#k8yv=Vjz,3k$?A%iQKo8Sj3azW)!ʫ{tES1y2G$Q:yeʚ 70_ہn+oEwFOU,b?{a]w^D1|dkII })cEUfOƸgYOCv353aZ1ߑ3D1w@5?I2]UCj*ZgxlGvN BCW`U-wޓR>Aڬ."i x妗vX ?/;X>jsʑ 7:|L8sץGCWl MkYmѮҕ =vƖẌ́UWܪ]ߨ;f a`^kUb17dnCG |gC[#Fm)ƑB`vgxߑՋ-,jr%8a")uJEvNZ2DuEO 4UN&jJdJYygÆ UI>Ӊ uq}{Ez^%*3Yp5X~e޿ёj !yCW&J< W=څ/(B[P. B-6#m'⻑KEGJ{l^ȝa1մJk ej'teSTT|fmL5ݹl{_&K= `8%whyg SqrXfhZ^qBy,W~DHH #)Eba!a6Kߎ F34 !3`ޜQJc xf~ժUv[؋$]p P АV=@hw^d滫 ˠore;_{|J[$F1JIpr#S9\"`n` E`A'Yc?qDaoNmE.@Da4HmLD9p])E\Hd)s).r"fFz0Hg_ztFnmP\ٽ?\OiJ1~kW <C2ԪUzzv&Cv^p[K#Am9ϮhՓq@?93%#%PrsЪMrB3ylюtHǔS|u֣#fM$} PC('  c|;yv)JkOn d{[{agPc<|A8jXof-!~P *t'9EzSMEHn Їh0z:NXvdWwOnN $/UiĖ 1c)0MJkS $mCq}J@YVn2^V%{N.M oT z@MNL* C`5-{uEvCF/H?}_ < d˸! /ծg|Ivh}6G >D7E j&pƱ_rhVLJ6`{JWd{' U|ki}MOgz{MT~I?$krr7z(*R"T|4Xؓu{b<e QF^ܿRL!2Itc㴼{r],/Bw Di.:򾊰oU4|ERB=Μ^$q_xrbZS /~'@5+✚LrZFD ۛ-!_g]>.-k҃aܛU["Gњ6fifө:} xOsMg͜R=QF39~@{zC冸"^?i)z@ama.QH.u5kXE"gnX敿{!w7؄:a3K5|)}~8 "I)20:>hwxjEvM=z))^֩征-[?%KT6ܪAnzȹI$y!w.oq3@'|mޮM*9+e#>K+i;>+٘WyX>|݆Vm$mܮM`~1Ff+Vdcrm4@Zqe8}h=J"o3N~mڥbRu \<"R[K5.ZRWRq,EFYK * &DJ[N[ytw<8WlIfn$ASX`xND^3Y~(\a:DnP<-}+O@[w8kL0hrU|9hK>vdM*TE^s,j}K&פIVNs=zx:ז VgXHMhj3F/Ǫ{ y>;~cWԮT ڙ^܏E$g-^_G!3\8gP/rsAڸqO,m4t'[NQLlfC=S2^p+zdc61nb$($r8'pU\b?z>$^œ5`cm7daGn H+~=-pp|wVyy>o ΂@g C7v9YːOf, q_#n(ޥ\-+ּjZ}Ts8>TK˵\!wE!+<`Sbuo̘M!1ԦF9¾K78[tRtnA,TZx ÔrbsJvk Av$b8:ZEVʹMLG)qՎt5_JϚ Wv>D2aڪ FNO(%^_D̀+9}\+KX=|fbGB툮Dq KAej `؈DDr3ke.yגxwN'\;!dfsjj2y! .]M<%O(15Ɨ"F~ us~1P6۵>m!-{X߳q%G\]o+ =YX\ix͜oُAxhH'AwI@m,6cbo ~Ρ\J=6Ɋm}CRfM1G G[d%̗-N%+Zo%W92[ ϸs<&x -fuBn}R,Mh?p`uEɎ|1ޕ|6ucw^+\3uJY(i@JSd&̷>?qC'wJ?YH _. S̉I6RsBnU\v'ILUF;(_ZdedLUvv*gΰ &Zw*e56/pezㅕDe|AW|nʱ&y9N 6]YmPEL;]i903ސ p$W8%p`mxKgx(*] I@7 mT ll-(=.-wfc̋1b>Ɖҷk1D9sgէ#]PnS-u$ర v/Ca[݁8SBu~i||%2"˝kYE/5 pnW`4fUWqM2Ftu˂Sd-]xAzŬz?g:",0r /W-y.,1srf Jо"Ac3cB+$3Y@ųڧBo W(y8n y fp}{BӻZ(%*G H{*[SO9rb BhUCURҵeUE`ؠKqKJ1/wr 7rA=u_7;r-W [!H[_vơ5@P-f@H~jE3X䅋ts{~gȝF/yqVӫrdr9"۩g[{2/T{گjl [> h`[b a&}"O[ yBs-..$mGSF"eBȂkb5bxdĻ[ kOF8^&TX4ɽB=q鈘nĥ(Y֖OU "G4lp/~ٍU%.^ [wHx޴ CŔ|Vs!|=!B:>>;Ό.㝮"`"u-r9w1]UlYW~-Lzbe˝6PJ:g1co¼[cӒJ79tcQ~bnǃj oǷ1D ڂn6IN  9ŠD^(1tuϙ{ ?+p1mA~|h8e@^*Ëͷ[֘ɗ?KTpDOnPfz!o1jQQ YSGF /&/]ӛ-M-5w{>sa~PϘыj=N]Jԁv,12S> u\L}#9ZP'(;tƚ=%r(j_Ki0$=y[%mE LOnV ?XW_Y]ᜒ0d3+ӡT [O{m-@D7_U04^OXQEw(*jdLVj|Kӽ+1|:l@C=N~ܭ4L]M6Y]iL<:H9o1K-p =&vE6ZlbnW?WN wP9I,YWcn!H? I\$n4.v낀xL{(uQC64"M7O;ЧLlz3>Y<7!I]䳱lbYW@"MYd2Ci8dI@O^,Boϐ;tiQϐZ#qOaO#1ٌ5HjIRÃӬnV!~a{Xg,;TP}1R)웽gɒqOA Lp,#t +sVi4oYmSj^eRMcQkl,Z*Ug*  hH9J?I$>FP~TBQ mF3e{M/wdcMʋ$E-ous1Fb_y~{9|zqdF5pT>aD۟P]"x+@$|7; r7-[TXIF!>59]_a6z/6U"?Yiʨq6pC}Dܣ(B!b3<x?7V|54 .4=fY5L6WSLV+-6H)⩱C y#ҽ94O_;!Dc&OGBVh/j|d {:QX >n } /}]ޔ_OB̉! Z[\=f\9W)hݲ t *2hUd !U<|/҄3S )v1~ˆZt~}#҆J/*{̜m,ހ|6=-K7WYUX^Rq_<b͆y=-R1,fE#]༐{k)[Ws~w+uIڝ%D(Argl_ >R5ȾZt : Jy!ڏP?ʦ)NG\6実[^dKݣ:O3IXri@{@#5WRx,!kSov?Ji,~ 9mA4 ^1{Vv!*+ 9WY/S=OYaK8%ª=^CG}WԄ\7[k!w1ѫwY{e2;!4q<ϐ^.YNt2ZaG0gMLs@~QW|*tW5Z aeb&x3$CzT٥0Nw'eN>W@ &e?o"raZԓaC_<[tOBzYU-3aᗔ_n3_ם䜿&܋#D!aMсZ? _S:.T2 ϙT[UKt | &>\=TuV_KPi=!@Hσp9 *R'S%k]%FwqϨu<B_{5)A恽hiD??h(ɞ"pzkAbW=dSiΌB#o.w@>P?x/9wҹҏs?FHo[1XqַHЬ=fjy%Հe?c iW0hXpw'jwe ^2Y\&RveKi<?J.;Cb\ظgGm|ţ2Uo ҋ*ۈO% z!%=h5面~J7#z^x*ӳCf~nlʴ^ l3.6#L닑<"]Xuǂe iz߿rwp ~ S4Lɿljo?)ud<.APw>tJ`_FUKE?˃3Wf#|{7dSCV;cPi0%~<|ջbq-' C;5na#A;u)Do mr ?5OqVO z ;NQlNP*i/ >uImUr~$-w.@X3&~uw#Qsb-!_YG[1rNg[w~}?1N$[d͊+=*{X"YH[GK:n7)c?aHZ+qڹ*/C z;ݬ\΅VM9Q37Gm[zFr?;X5?M &1mH'2Y! O_|| /_v"~cu2j.ȇjVoJM_ş$ٴv8y't.gRnG@D(ۺfKK=!zXo5N Ž};e*a7uK4P٘.iM[Iq(ܺV+/ƹ_QH#,}_\L Z -mgyw/n3c\({"ҭU{A˓3R[:MiaFhUx5?p7sk0 +6B0bNهm?2q7}c λvg}Ђ#w6==ÜH}+BKȔSμ_91Yjԓr9IxZH#;g^tV$Txc-kՓ<=o"#+uejݎ4C&M|bG|b\#x~1*:fE]wkߓ5\ǑC\E5Ӧd2x&fnWl-uI.|-RygT egr-fGXIiX!w'3/=P@n0h 뷿lL ak_Z>S[VkgogsϤgҧ#ϣsJ,^* X2Hmgl&qy{7|5c^5=ݰnO@hpȓvhڦ2] ן:P|| h pdl5(fx).E!E V_oO7`]-N ӔNm /  A(iIpP6l?_TXŝXv|7VXV~6kmx\S]+F,h 1Ë!?7@{H^IRmr"<ϊ%SpT/ۗȩQ;w,[Z:9DPd4wB 0JAF@ ߨ>+G2"FDNDY۽3k/?7s8}}_Uzo,?r͈Twf$o_  2_cuqsGz92@/pl=YRq(;(m/m`6НӦ9dR' OhIzAQ&1_yj; #<k@kNd"'yȊ|{V});OQ!^hŽ:ZJςZ&nYD?B&tyL9~~k`ͼm LLWٙh< cW#za? Mb 9{iї T޶JcF.r&'?2+ Q8߶j#Ry{O_}xK>;\^D0i zbnLyP ⤽@21lw ?М=%v H =?œ} m-^ǿ= $YvZ'QR}f cE|[ =0Vdii鴈GaHnejdNCoB:=S?-L'kڏ*s _@Lbkяݬ:\wVXxv]] g\~;ڣ|RQ!3GO:"߻OZYfƄ{+!+]JA윈Vߏ%si+5 l'K|h%+~җV>*LU_-cBF˶+x_Qvx26,73z;ag-@&f9y|F'RE, ޭ?Ւ5i!G7:v8SCT/{=ƛjnMu8;e(Rm;9lId߈yb"acw(~@"dOrS4YؙHXA:jY``>=&,oBcov֦:+11ݥ4q7~CDv:ʯ>E4;v 6vR3Papv5:M&kI$8ЄZpd8ꌄ[Yh8$lnX៏:f&03`1Jv`*<$ tMWNS;1عQ{a&U5=7~ Bcr=h'сf2#Q;ǡ- l 4,N#AklNx&5~ _}*U͔Hm9}Ӷ)3' iB 'dr+c\rr q#o&M*<:H-u1 sa&(*-4a5Om3UkӖ&ALR 3e"hLX9/ä;6JQLgysDw <юPo- Vp n~ -,d*TϋoC hp%0PA,#C_d}(+!@k؇K$Uãb܎$җMpן ӻћYņ%LJ+0c"m ~2  q m_ތXљSļFE{z<*.ŹQbņڌbrw $b \agCJddz!oN b;10 ^9%M-^[n&m7lX)eƛd戸kF܊>-.ᡠŶkvOAu.ذX) E*c # NwCv˥ZI$Izcn~lpZI.7f,C~l"r-'F[pA k \ZaK3o\ہlZ=c!z ԼN|G3wQ@TQ>d>*ugr.ڋSG8aэ9q_V&aTJ (8BP04=ԎdA0ӛf1+\fY<ԯ}+D`4 pGf޻! $$۷4* n/֎J-4h@&y#:bޓC/*1V=EWVt|^PʙtkCJR*f.1;~RV' 2 5S"C|PvFY|*@s deǧi׹܋:Q^NjN(<@W%Gf N׎w\+ <}ST/YC}hj+$@[A\+Pm ĪZMH&zRMTs0{Qro,RrBTJ>;2!ij'>24ór8|Hr$[-r}.QN =a-pM9 7smC9i=04%h)}w[ɑvzAsz )vn$+PPK7pSVwv7OFiӄy+b_u~# gRCOo g8-Ss.5od*cjyR4sQ2PKkޓi:o)Ipu)b n9Zg?ƚSi u:lS=޷A\ꁧK 2->0rINs.#}Jo3ߞ;m䃆 ~)ݥx"렇OMmS89!S(憞[?~\޽6>B>NN0yl8۩<`k+WS&)xlX(EJ4PȖ+pQߦʀaneav)J6WJTldQzisDŽYz) x јWcfy=Q<,m/#jNI 'fNAgC(vGZ} yK40J.]Ɯvf>]]!"p$uAzU{ g@oo z˚ij1 2Ek0P!}Xz; 1&Dxՠs]؇3YGPNl!Տ,UWg\>9>}#ڮ[ד NIo{,mȱa&ʂR֠W]?#X{.qr4RkoJ\NDs\3y[^-vzŐTC, ZdŴ12=M^.]R ZuS1ZfвzB$^.y@=r3fA |'vy(]U}@9Bxv54{u7( VȮrZikd. ':HwLJϰ06tTGJ7!:@Ӗ^>}d <8mr 릓ly*|&C0! (x={M]%an#,\oWD,)[D|6 P]-b r K={ʺYY)ψK\fNјie.u}wA<CtrA@0a~$eźt:f96GCd %"ع]>{xX4 I.dbP-@n,%!M }0anuϢ]_TYԤʴ_YJ9~r'ܰAw0_MifU56*\t* YsjɮBcAEv.rQ('+ZM$B`$D%:ք HjeV}F,mFZ.{Z{p-_,Q p1Z(bs]Vx<2mޯ$뮥@+yez¾0'|;9eQmd "[p7s~;KXWRb ?(^“S'GȅD\-4nXH4k/+i 1Wχ/-al6zǠm;<:m-R51R݆19%wQ ]%oRtL4mVqgB!їKP V!YS9sSλ0<6˭\I;o$mTPDCva@Cݢ1AdV0|x3ǩ˙>w|դ0~DɅ+??mMSG0#E'cx~I8/!B;<Ob (M*7ޢ9\)i}+ oqB +hmer;SN|$ipcl̴V[.wmmڂ͹ ^J ΃F\;{3#d6k]0`.rOmPӑDoX#'c]g~GBh4yG^/_W'gx Ja*=Z¹Ut&-xngiIR -w~Ιp >?d"]`F) >5=EguC2vR-'XDei Ҽ*zBhk+ bDrVC9]a .'ԝ׫MU 4CQ/rlqj>v; ,L`\Kd{`4o֯A"n™S>=}0.Ɗ#]KVn2ӨTU=gD <ΙdƠj$ys'6b6Tl/Tfڸ MEL}֗R=dwH?!!h+ALAtA ) 58Ym_y{;z8#1 +)&2> QFt4у `ޏ{uOz: Ĭ%pC.P%7fE{>-&tii7* WrܚgEI_$|Y3+r^Ug++G+=^)B*iЖx`Bȯ6>RJ$|j|cQ+p ~ Çdu7U]ї;C\T1q_tqTZǑgzן(8E08#Xvea$J1o ?z &A('0D_> Fi>bG1^h0'`^QP +1`^@W(G,(Vb}E HHhv1/ ^h1a /E1 $tlY}[(I [@W$95p$貲H00Hc (#0P-MJO||Z,`( K(DS [Hb$_$2~]*l UBPH0 x \7e l%imvh,YE/1|^e|9%_ 8ׂsn/o ϩM0+``-I v ,I F_l/sBEQzn%^9` 7%zyٖehP |C}oNp36cȏ>w?j*?EQ$CÿͮʿíX 8%6a,X`򸿤_n-ftm`"4۷\}DPěi)YLۊo*.%(ĿѳpN}s?ۮߞ⸍ nolb.{ RⸯN }Gl?+/仺0A'"I-2AX~}D=˧ /3B~& ֏iϥ|뿫迧I[]@'oft|9зk@~B$k*~# l*'i3L4^/σ>jwAQ h@zn_Tc5C[>}'*Oe@?{ _ DzF3n~/z}v~x\zzyesO~_mnv^}^?ÿ|Opvv~}}w_Won6nJ4w |?{W_gW67?onᗇ74? o~`h"¯+_q믿>\I}3^#F3@=~azin7?Yspnѣy#Nyu_o>!r?~@0?#Fφ]mD%]|v6/w\>4x/?nwC?5?/wϛ>ypo.6K ?o^|/H;rSr߮rK?+_6_iv.ÿ>~  N[d;: -CŖu΢Eobgϴ߷#ÒcgwvW͏@^w/nP~t<׋߿F$8ݗ`$tq?ywpK<wnpf\ ALJ:KM=4{?*}<^tA?ݏLjk?._n/Ψ{Q ]G^"ȫLNjxMF)Фda:tBY*9Wr CY[X`Ĕa@D/j$J*]'^'qå|..fF]@uwL[h3͚xL<^/`$.R3ñ RRp)+)F) i'zwĊ3+e5Pr-Z$Um]YcQ30tDXl7\DE=` psN2ǐ uy2uf ^kAHδ+dg#׊ tY+#Z++`bZFfhchi23d]Z)rUA9JZ6x5 :iDM7kRd36k`xAQ21mjp) :f"뎽NlzbFN'UO=Q8)ys4>洐+(l9 U }a-NIᖶ5N(("t$CazI5\!U5Lc]qr9Q s Vk%-VȞJKS &71+n8L/F%B _lQŕ&*,!{)oW6]Edqo^*7̘6:mc{{m@ej5/&,h$6 V$(@_B6[[kp!@p El]PxuY%ؖ-{^AD/M \jT$5[qDA tCcM RG9c/vAza#򼚧@'`#8^C{X@ӽF.QHpV '[˩dzOi[5}K֨cs&w,ed?>6zg&8KL^-5o޾9X INqLLa&$ 'x_oR :KE Hf_:5.@i2Wj>ovlbz'Z %כgX۬AӠ*C '7A@ybD IOq$#֡:OM2r9rQg RA~s{e0 J(k 8{^~> 1#GՏsX.Lus$ܫ1)Ʊ9 [k9[ļ3+]1I#hBE~E1m:.͒Y]ld91"N: j_ls3O)&3󴏛}t*V=A2-8dwf*HƈY8׸ oT~Bxkf!lS4>=^psz:xag̼lb 6p6YJX8@QQrjFrŜjƽVBq5qL07b8__kQ8MXڠdlc*TWZTKƓW֮`Yk8GKaih7i^*!^ B6֫jڻ<eRKM~AjtYTiE QcNY5O<+XT/˦fXǝV3N#FYؔdӪ9A`4(Wkd^ %@~mt:HۚjD8mIY5Z~?j>T"^$xE{Dm F #aAH), 2.Aq+чâ<<--lNyE L(-~VJZ1h,\+G !ۆ+3 F&-0HqSOsk'Ӗ+&8Z6yPxL -.P{pʑlR,莽N O*gGeqze+JO|*$4+E9J(Jƺ8~|CzU=i#vf1mι4Ju8lɱv0Jt-MT_N^>+9Osvan6%n\hQh;1WS lyIՎĨdeiV^:T؅"Ϣqs\S|TF#Gx)J"U()/:JNSNFe%iq"Ζ[ sCNP1"L'FI+k'|eʆ[3QvJfxlM݀밿i`fQ&ȥ.5fYHÏ h?wv(?GK,q0%eXhB0ұU0IW~V>c#Ysl%vؾb":t!1i)!9k۰ h/q:db,!OT-'^F豢'}5ZG)1F]`k&}lS鏖 Rk5/ V G d_'_{[4 =2U [.P4Ie)W3EQ..K* 5|9VF{fq}D2jQpbSwB¬ uUڌ} c 0:"u'j"q XCJѴFDL9}>NkOJ*2(OtșFĘ&`è1">z (k˨|Ԗv"@T(Fb;Il8t\jߩ6zi 0+kP{B2Eݽ6lZA" ̙@ޓ7 B)8qxHPc]&^&&]VcĉÂv'>Kǥbl463-$L3=hr(iG.:CJ,CP\8MN _6,-I)hZDbetw3'2j9rM"˸'%9<;Rqyk%;V2V\PN)m3d yȧ3V(j.x뎽LRoI,H8jP[=z#$hT#Y/nqc>dRr΍(cQngerl?Qh>op^*C} Ȓ uH^Q,",ڲ88>'5\AF faT6,F [\FTb`Ory 5(e&\:-0g $lH$Wd" $O L,Ù7khЖRM5N_-\:ZBLS2$7ERC9.e{ʇ$GxO (WN=h#*tEIhZD&Nr״T(5JI|۶?X7yt<$/B뎍 |rdI`NPyHU6xeYaB0l$l\/SS?M֪2h.hy3cгSUS[_0T\o>J f ? 3Urs27ͦpiQxq)K9E195ȥG!|uWyŅt颻tPsnIdbs] $k JD!N "8NitV `:7Ձޘ/ڑ3 ڌgjF'Ŧ.-ѥt)yY,U)>F6B ̍$oHV$U)ŵȒކi5@i`a|ԔMȻ V&G94ܡ.mj fCHfЂw5hmնX,-TSɣ1Th! KLƒN9LoQ I^RBP@yh1)"--6mƁօ[٬id`|-$!Cm*C+g$xk$eT'Y²hSl]j:L.atH4/JA|3$|=Y+{?% VD]ȭe$+hvrEDeZSQN*zA957u5mϗ ,$_.r{ׇ;'Zh)W@wL-LMoQ`h[W?jBLx9$n=h<Z5B A7`"Qlph)\1 ^@Sh ZLT h2{# &Sq-9$1!jQ&[Amֈ!ӗK̮ kS?GN3!a}ݭJtMbS<"A'ڤ,*ڹtqY}@@'˥:ttTLU-X:CZX8Ji/?|Ok8Q`x쯦o\>(@Asy_;/u4*LWsPp7Qhx8>g;_y}{wٽ_)_ǟo6o?OG_LɗNjZ\^Yt7(|/$9$56-Cm/eM*ҸjE8֊7:6qOztЛͺCfˍ*[/38.[L8%4>1a,\!kX!_\Y+ RARnҙ zz 1|L b`phs%sDǘ@ztT$Ɗl>me[L.X4̾Vm@yrw*?]WVu$dH.᧿~\\i~/~N[ګ*!L,!VH(\f8K?GkDB5(5JL?W& J;WƖ8{X~xF=}8dGʻGLs1v GG QU~QY5*5`3⨁Z"jQ F @>,Q` w|QU5PKD d>jbApGD T威G ![pg5QD@D `ɨ<.QY5`KF D J,^$\Yۇ=) aA2%HRB"ɼ6aȁ1o?s}.f*:SpVG^ B aeW귳Y)$Ժ$a2 x~+a]% jWXHB˹$Ih.0Rw5ҕ4[XF9%>*+B+;Imk;;CƤ)_pȗB眮)dJb6 MҌڸ$QG7kWѤ+nX~hH;+.f1d(֞?!:4 "2d;:!hrǞܾ.5@`m27oߜIN0u}DX\c *p䢀o&% a4[z&)Zkid tjւK^9 {֮rO AѝSĮYHfPX@c̢p?QkBsM-$5$M *͡n!'-"&ΑeM*I5Tt 5ߨC4{1Ot^ ǵoKH/P/mV'$yoɛWeOc{sh^;GvnWvCB#I.I9"y*3HE3n9=o2 5G7zDߚc[fbqR?޾>0.֝-}KQg߉5o{}Rf)k .ޤ AlY6sO̲ O$Mg=}OU^%-w.C/]ٱ0ɣDn@4+4(yV4p^t^ ppG2zzBgKizWJYVH%!<@nM9 O35wjtWZ=㖅 XÝ8 tNC5Ֆqi!Wh@zINHb ~M,̨(wat"C7..ʒL? pXR7◓4Niddzxu18;4Dpcbz~jp RDr7P l8,\}pƔb%랎2݉_jʔbR;:W#]JЮ5Z=8IQ4ռxGlc}tlae*lrC&.n㟃~sכ[×ׯ^~m.>n˻_ww5C{a¾slD7G _~?(oǛýutٙ0 e_@!qY3 !s`@SvAT:yܠi&J ūKyB# 7kb?-)FBS?嘎 4׍S%I+կcc)$M&atƮ (DE@hPSce 9h:'ug"~9Sפ盃 aӫ6ņY*ڰm1DPSlщ$g  VTŨ\AV"onG_ޢ/TAgex :@:^g%3Jm@MeuNg چ WPX1 ա#kd!D㔙&9qar(ɍU(JpvkpJe߶i^lhpO[w% "0UE0f]`BjG&g k$JU`DAQi]ÍkeǐSli+ʉ$yå(o/\#l.ח:<O4V)^V+}AP]uHTH>-aq}-!Ձ@Yut!*Z1T8-:7UBMj$TW%)o^:ڮ (aVA:c^qrOGJp+xy'-l&m2ۑ^%qpnkIo(ec|"@ce\OmirXf[+e@[*!蜅Rdpmp/J]$qY춷 }@Mȭ᎙]0V Cb8aߣ󞴅ݨOVP lŵnhAE($$j* Џ7&1p7hlgf8,]-r G=T{jX;}~t+37BID`@%rWh7Zzv\WѼ֠lm2 uM-[SǎǙÎK;7ehX]iŽ{x!Y9t/g0cnxiCв)s hGJ!)MKH$Knd0Žz":Lzeb{OeC25"E197nXˬr K^^a gFPΈ2î *-_XEӁt"\1{0tsj#fk5]V2u Gm]xM cLJj2)B*4+ }K1!HvV}fh) zRwV$uG#$QW m u:rdN!5JmTk"zJdCCSWPf.P7ͭ¼Hwn4J;^ɬ٦*1+ZBȍFPo4v=}?U*Q7/A%8![hVCOu^shՁ"]BKt5ɩݱfaAeؔVDJCLsb%rD󵳔N.rN>as5[]bƍ yh4p>t S\ b% Y e|vAdLr.Uiw& BQ[mA(n rSiT=2%8L3Ș5hJ/`b&أ ")j:n\[l ] BvFPw@ن(*-bKBl(4PA-urur6K5nr+} =ݕAKaLN  YxvsoEK[v۔THb\ŐQ0Q:q.\BF2bܣi=ȸA ؆4Ab5JOq5$"鎝5Trf$ᾬ %?F)>7j1d buND{J1MCC0*߽A75*I$vPSs m97%ѪfvC.KY x4 acEK _vM8m.܃ 􋥶 -oSh.k<^z \47OEP̍K}Р؎6"Ö3(Wṉ)W[6ܱ)^ڴFոLNV`LVAVberDʟYH4s]EIӵ+㚑qE(̢/IUi^­h䩘[Q0ն}0ĸEl2jr>1e*$Ee8BLx.&<ˑx'ee}!dBJJp{,'M8_*tyQ>d})`cpfV0z&.F\\!PvL BpTN"l qy/ÃA+ հ@%Nl37uYhT35 d00]D,Zab&H*Ź1`tɔv©qW_$Q]PJ)tOln&=I|BYSR8g͕Ha|vДɳ٫I}V.HP+f*eLV֖9b| iN w=($CƧ&R _IV0?fbW,U'Buc%ӉmZm!KD~j*zA2+}޽AvϠxLۃTA%3LS!u7fqH%ܘ "5$zjJZAV)#Xla-p-*y^gjzn#Dz?J@‚QɰqBDyG5;E$cmG$HiqbOG)'( \d)#&=m .Ӊ'İ&+L2~B>3dx1*S)]1BӈS4h5=O  rٹ+#}+0 T+5)"x 'O ܵV1SM\All Et,!b+iDJ $u?xV9NpAAкF)-dv2(MRh퐪qӪ <ZQ (OBծ Gך/Ԥɏ IL#p.>`H'BQ@r41'7kQ@gZQRcjԓtŽ9C{U8{եXu0N4^t!l%iAi(b(GS%dL`@\8.F!?,p\i) VTَCgR\qOteg&t\õЉڪ}J+LITmT[ (j% ƣ/X ^ CAB{H@> vpnQ ՠd/j:rC}ћ" cjs[GaNP='3jlл{PV[fMmZ>*ى*C9:Cǧ4Gf>?92;n*͑mC'Ze7\)*䠑,Q5aS6ONj%+ijմ[Yɖ:x^iOH9zS^1.s-8rTJGu_.t;K<ЭP/t͌ [z2gO`N {m9gst'tBwɄ5HΜʉv*um.!tKB. pj5'uݳE\ZbPO穅ղ}JjRg*<@Vy !;n&41n((ݟM@C5pb9 !\s|mcyd$DϓS5j"@Xɢ5)~s dm=-ȷb -*jYe1ߺ(>15TX0Om'ml-s*Ekэ=mBWin ~mL8N0oP~$ܸX}D6F -o6A0|ƑPT(nqԍbMcّ PQ.†1ɖÌ[W†gÏmt7vAv M3NqQ8Jق^ёx`ղ%M#ծDL긱_ܿC͕EZ+i]b'X: {9U<aS".Q/~L̶Wm^˰l0YJhUP$Ol)],pqF^y/Ӄ84.Itt#@Ĥ~vGHcP @BW3:glF$!ce\;sh"M;gm{ hp! !: akWq:n8!9Lnᯨԥ6+ R4dη-3U`ђrM\Gu y핯v]W4]W6]ks;xhJ夰<eAJ݂ ն<#neD(Wl臘dzbAgec1vNB@S@c+hSkZ[[ P\ S%$\Yg*}ף"'+&o+2Zƣ,ټ8uir .gj5*[P u 1:x+`C$|Hokl=sqe6}^}r!e֒TiͅfDbE#E3G:9ݝGmVV,"Q>ZjŖԊb&ԸVk@s^.z cj4eKZh-4l-ZG^h&;ZS-CAV2R2ʌORB;6Ɉtjz~ %$RQYS45FEVT>bQ8+%Ilܲ(B\A*E?s0yԣkaBp;9JMb\n_^hclt;C0r4P݆.٫.j=c;a\rQ)qkO.$$ Pj- Bj-hH!ִԤYZk4!jr;jrƉt+.P$n⧘]'N;#Q糨Vh=ԫQmy' IQUAxkwECuQ(j5̿).pO"Bn-+IV$;bnL'Gq%- ]O< #?1+Zsb-#BdM1NpX4 Zӆs1K٥EUdT$ȆIZrӐZjs82zOGOHObI SǙE)>Rkc(3,y$JG'P -@ y^)bu)[LMJ'҉fQNړjF;tpr!ĴR|b4Cf&PLOc-&v'2 "{s#jh݊ GO d8[:L ₴s".=Y`ogo])tvZ&5VPm{?DK(2@D$QImZ88H׋ư [zb(Z çwW7_o6]} ۆjo>~P?ӟx':8g5J?cssa "x?VtK]$OQ *a;8}BF@9Et ȂVoo:(; hO&„?OT=X!?umEåqi`HCkcjG|CnQ>lx/?^iv<G[8ol~gw nnΏߡxx8YӘ,F9-r{'aAh9'ܞ(q]"ǮmT.?{ I}?&NRjyi c<E'kLZPD)͚J KFTJk‚{:p)ǜXQ&⨤Q: K_R ~\܉q6Clc޽u.0uƆm!3k`XagiG%BqE@& zMMtBJ6Ocbpȼu.o\ãQ1$YDX8F戕՘p6h%n)ivTޥS+еWwhRɎ-*)Xfu\00Q h\p43]\V(5mDfۏBCd{b|͌JJ7%ڔ\Q%|ؗvXm!kl15Eg64\qP>Yƞa?EmV -]53ո5!ƅʳ [ 'שV DTTTuMiᒵ*9Qxbsq}-MgJ [zn dJAhDے(i7El z={+yn[┆%r )l;3)8[`rCz ^_ҿ.ZFr:RIʇ |̚LAR|Ĭ[s !31?T jUſNqFPiN^k( ȭb(zJ(xfsަBV LB7)̺)չ>)\Sp28»zArӼK4LJk24 tjU4h)ɰZ:=;zf1%~SԹu6R[ 'Q L]=PoD"fr/?Y:tKF LvX~毛ۻ+7wټޯz@돿<<|ws盇jo+kx&.QEK5Z4}zړe:P¬6ٗ0+YS1cs5'ZIH L7'#(L*)L+cU|wpm(-3/leF8r9əj^^'R~h`rP'cBy!9>$I)ܸx/F:!PXKxUV;otb9A:@,;~xt?ycĉf2iPs#ZWTpM= B7FrZT)V iU8ؼA2U[ĩBqשYM\UhYOr$w4*jeёj}5ժz&]"id  ݱɱ[k lx3RḆk-d Nկ 66W8H)q^i_8Q@U%2VA}8& ~P嘕ǧ :""}aj';YD4WjH9ai62bY*XPI;IH7F[,@mO'UAN,¬Ъ@Q8#1vkPସI^o05>gƧN XdI8LeE΅Z0`+ o LRUz,}z"S{ I@l_V:e(Q(_B%bB|e*@Ұu:ct>G! #9ɍP ٬儁DZ6dnBY$7N9UEMТfi XSE>H HLDHRUQ?U1DQ2I$nF_^cKr1Xjl6S7͚2!sQt*kfRs6 W5/D2^ 'J::J2ւƟc Е4V$d0GCnsMеn$*0i3Oii߀~reV=kEGDaZJ czNc2Tiexd>VՊ݃>=KtDR IG2PkY@Q(tT *,bayZ2! kfLâ&+1˘pI=3nI.#i @GuX'Y@?e2R8j(/B"T==_#1AŃZ K9*Ԅu!=Ez|,˟^ fR@+qqdԐ^G@Ż!Ehe@P$I5( Ns.TJ7l h 6SAcpbEh~HԨ epBC:GWWP4(AwM'ف:P=Ʃ\b<8R̈́LR]&}||B()(Sl.e\]a2 ̸3! "zp,8M.jT2nGpd!FөL Bkm Mo(Ds:37`GtȻ͗.r ҒgT -&) YL8`nvt`[LQ:7-J-VGG2ⱳ 1}N 븃5\ӫ@p~YkGiMamqn `Zqk p֬[3q݆;=.YŒ`SԾ5< t W2,@gw$8Вs)Xl/2~.tēr 4O|9CC!W %~[AB;BJZ:! rv/ǕKErBKbtsE)Z'Iy/3(ۥBn)n%jRܘ< =N7Mawi  6TTN+ }ҷ(=pb bk*E&v qAXb,6"/ %XEHzݑ:hq#Zl%ݲQK5q?@ͿVk8ZE<;݊api+4{9ӕQ$ÃDӭSokZp];VdQve3R.s |ɮn|.ziW..Xtˉamτz} ^vQ$Dz32E[SCSoMf\fMճ"+zBJekC)B-NKqn2ȻuIE,^/qIEu) +N#ۆY4/R''\{ T}TPc }Ixe]@c8Z5GD h$8%P6NPKb\*g=1]` O7vID wݗEe2OÕ%b~uvV7;*"M|O;~4i@ogg.8#IluTz#or]Dr,~K%(IX에8 _cG_̲ؿoc=uݩ9JoxYߝ;Ow߻.eBS@V&0=?0Y@ QhQpQ ~|~~?8#;9n_?6_{U?o*E|~t瘣0<"?׳.ow}*`Y@Eh8~;:yűVa 8_ȰPAqa ?6N+~ar`lcB"'L)Z0[߅ Yǔ+HWIlR_'~0 8nO F0_,9C?O0 6SSuc(~-"~lMԯ8H@?2imd2(3~U pwoB#lF8XG@l,82ϣUn T"Y¾nN?dCgCAY\RL(ʆ߃h ;UG^rܡiE}u^`wd|*H=NjTQ;JIzCsb7{_WكВ?\y? U]>Wil ÿ#یJ_+ J @vRobGY.A1z~\1Jsvi Kߤ %Mb4s%@R\&>47_#fľ4sF&yľi (k}ۣAx '/Z^C9kEUb{3wɿ-ߕ@ hWi/}U$c?%?oQ2ԯ=b/K|CLTp!Jgᷳzʏ(;q<@rE%0u(pjG$*@JQP~ڦ?m4ȷB9L3@9s.a=?m4҇r`9!k'#hİ#d++LC2D|?8~a4CyZ(=M8CQE 偠o<f@K)`_P.y~sB`c_up__XX`@87 .#c l2d~5]廛4k@ݏBhtd]헞ͽsa]_6޾}ܧ>R&1ɿ \<]8{:/|/2A!iϹ|2yy//VY@X< G(REZ?:hKWpM~u_R7ϊ )V]&E} <) ye<2K ^Oa𔣑t xA(_tI>벼ɼ^ɕUW凜Z4+9I+Y͋gy|v8CFa*7̨EX oN{iQ;pXhRFVƗPS`%xq᭱gƧvBeN> |'X7L z|elx\(WyVHv\CFIfh4k!Z%!K<&jf#w)6gam7~( \xat.[֤IU%hNJ o1=nq;r\H.Nn-!5u/6?%z-31 TUѵ $eHny C8̔DF'8C/" ]TYcV8akSKΤû[*B~mqtA ;|4ԟ^XPb9DiJziѕ`lr)\>b:}<%w#kgFX]n%2w!,t.{◨↺V(Ŏ7 s_bh:Բtd++I"Z6Ӎ[\V #g༭k}ݝ:^Jn򩽼}~MXasTNgWdÇ"vr//תFbAΜ[ v4;0u]}8%v͋୨-dBY,Ҷݜś:f@Xr$} }(f^pNYn@:&Lĩ Wz>^%GSk/V]}t6SwΩh(y]6N ^TjM9;oƻۨ<1:c_o7\OW;w3X˓V*OKz) I h`Qwle]mMF3N16v`U2,Z3 P'X<'%]Ԕd:qiyR߂l 4 V `1,u;ŸdWwXثṡc-/gat T!A xu'PS$/u1Akä֎j*+rvybg.7rD, sO[+LjO7KiKE2jIkYІ'Z)Τ$ i- d7Iך5f 4_4G}E,[rZ6 FaEiXw؇vxyXf5e6 ̞}( |5AxEbҝVajv͕1/#nˋmIR$'WyٻmZ G׽p%IWP8\Ԧ='r4"up1 ԅhD'"Z>VnDd.o7,mu[?`$@dd iZ^%lf?ӵ2lXgs_R\}ԝ?s.yt,1.` /y,E=ӥ'̲un6$7?Uv% ^4t{R?Q*^N׭P%ly-Ch*DsSY*-Wxfm<ƽEiNMVVqȚ>`ӎ?_SM,"; ȵǃO啨e/) c-ƅ5` {{lN*tqt 3g1u{5(CEqNǶ a ˎ?@p)s[7PΦ=KM ,=}(2uQq 1F.]8Pbҧ~[v@dQݪyk;޸eçQÕM{o6zڞz. c⭚) {m{B FsՇ'AXI€U:TTgis&K;=7  A`CZF eKq\ L=@ƭ)M!„xlΥKLq>Ÿl=29I˕An:1{I5o(F>&q.c<O;&Vz_mrD>(cl31;d&E = tw^\ 7k*:\T/*Jfs3 W lRn4ŪHpMzx|TD3czzJK+e?qJ=!xb|Z*U  IBcNHVAI YfzSbyC>~<{ |ōOy;]^,0v::Hͷ>ޥ]>e=1Ũmf"Kl[S?[τ?;G2O#K .NBQ'Zk: aMaI{%J,̓eo%WyiCutGq&$Кø-!h xK NWᡘVrE_lowrTL{v57u0 ]uB՜n\H- ɛo;w~ẊjǐhYy2b+q -)c>ۂq n]RdE{楔 m9] .ǽA{_gcun)S37+Eiɷ:mۄYVӡ=?dd$ʶEHIտ0=!|(M n[ xG3ɕr;9.̇U8Ux\YwBr{?7E\@}~c[FWC%1RTNć: `V;s)y=Iz=u,WjybLAW_m¾Q !`oXF/X1M#;7#[gfwQ7\%BDuv-YȴZka?kcC[:c({eCozS'-`TkvX޽Hnb+ȧWbn=H\ᝢߒR-*L~/It; t{mm n>=WEi}nT9˘QP'o]ڽ|'HB 6Y5Dy"J2û5O 2cRt]`5wع:E<)аO恛o97ݎr)0k{9s ʞ˪kVF,OKB[x`[.&k#KTj`Cy~s"Kzn#M24ލeWv FKFy3Z ]KsJ#LϨnFi˛rm- a˅~*090O:e7V(J>=E|" r)]gNJ f 3!&RNJohnk[yy:&{njBca>&{3xiښF1PRMtaSnVֽ/d7ɬ cÍ&>k, .=c A!F@q"hrJvڧa[%)h@MjmDDntZ*m"e9'xtJ~.ABh!q붙fBmv͑yd|GjKޓ E&z{xfc49Nآ1,rgD{+ Puk}ٌW`˜jΉҪ^D9]xۤ>oHj)bI[:2Y^"~Z'/hU %5ݫKp- Ŧ/H>`#; dʹ5g + O<@hh0lvX.kv׏RM:Y]3%!Fjg%Đijeu^"l7zb ?ʞӬqF$'lu=]%+y!?9D;n_4(unֽ+/'97!*\Q[,^,|XCb_j7q̏LLߛ]ĺݬh cYdSx6C萨ni1H yjxzca!۞|e/@!H4W/ZMx{V X J &liʼnsS'H. 'X,KfZ2blLGM4 #vW0%u/xF9aC>979+ccͺ)`ۅYon,_}/N]u0zْVnubvAR qoaVJ@ye@U8iT-n':wS+8eM4plddIFh۸s̼U/-ROݚ1`:*ImqjMѪADS)/Q?Ub0KaC9m6vb]>*`p]ifY7UYjY]hZ56һ vޕmmܩ j ʰ{SI/W^4sVaG*&Q)'f g=E[̼L K964nFҢI,1. : O#O_.NmroD4[fuv},`r/{_oj2J&@|>!?6b[勸u˯"h]6e_Pt~3pQ'ZKͨLU^Z˖076-YM߁E}[G좜 m|.+[h^` ` %BؗniruHi]E`cdeƔZ>؋$Y堣YNc7JVUMq bG*aw[рJ!,iR`&w؏W؃r }'m$i.R̰%#6_gJ\B!(@{!^$gZ636_yg!ҳ4Vɠhf'&\EnOek8inIyӹ˝RXpQS1V^^\\>XDU&JgA{)oֆ>ʔ[:Ew#q3I9{Y0$S2:BD,!7:!8:D$7D\j=s/@"-G7 ^#p`:!!KyAj -LF}d,QeĸWTdla.c:jel\]V`H}%1fNO|o!YO~"DϫfPB{`Bfz\}mq2Z\h:C8*VYXA/p[rJ/]ݲndF!c-ztKaI{Am֐3^ p:Rր. k6j(9VkT8b5 /]PkX]0e*'lDOGyUw%ݽ8ˠ!5t]ā;\aɗi9;\uJP+'{^q$U >pF"-nKrmމA&-X?D H^Rͫ)XVOsn49hN; XXR)K{x!sv Yx+p#+03GV%Ś ;drmy?}QxFVss6Rm\ܻ?YִGb!t>5\ o \9d}Kp޵RQ(\vm3e>| uC_t=M!J.I չd;ŒHR8HQn'SΝy!&SR}ÑPx EP|/REUUM'4=<a85>#:P&CRknM=YKk>ek 5OnZ٭4pKD"޶q,4m!Vbȓ4/@Sh'KL*rwexQ GH^!w09[MFip'Rm5|J\[W+]R( L`MV9sYZ1ftƸ9MdD}&ӗ=IpYYku^+\;{b =pK>òG<y,tVXZl#ʥ 1Dt~Q(N]o'޽ C卄]T$7⫑GWSm?y8w"-J7oA#Ŕ sM@V+Uפz<`uZgEBLPawx\|=bGyg}iA-[J!}E.O+qLbg2-j=\A}k$^]kܽh@HHHO^آp,fhG{ˤ; h#u oڬ)T5/z†CHb4H q'xz \Xq`D|Ygp7Dvq] k[%USqѿ# \2 N}R1v O{|+܎)Ⱦ;3cHZ ioNul4#̩K%/;7'Qx`n[JNW#!6 LywrƶD7gA]W˵"%YVd$jZ3r{s,=K"x5& =CG!Ű&fT^kx)\/BB}e".Tex'#(;quQ×h,!b+3CRfR}@jn>޷wVu᭯w1#}3yuG#J,9e vRk)_Bt.!Ә|=(4Sͳk=]|nڹ `(@{96ڠ,fMD5rUZ_`gMcuɥ\<:=AL‚`IjkvY[rﰫKȘ?Kv.)47#8ד,t3/Չ0>'pm]"MQ`(xyZuW"|dK1|fG]{d,){tkZ~x+v4t%ܴib6F1ymJu3MXFK,_ 3.!l*}"NDw+3Uⓡn>?e^yt%T\}XRcJҀZP/0i["˱;bz7!u7 &v!hpu!GiƒŘݚ=R%gZYK"x $KZAS=P'Z|rK4sbL`\y*VܿL0w3(-c^^oʰ~zZAZa`=ѵq< e #"a Vو'LR5>/1 |*\-aY\@s?ww\i=!VP>;u˰ږ'}5̜f]$T&֊npoK(ۭKM.n^ P~|{{?rf,{dG]!&'q5Φ{M5eX|,Br\4Չ:gMV,IaZ2 + ΠQAiSڻE0>yj=\ZN@3D<,GE>2܈MBEM5j+QJzOB\3IîKl{A\$}K(|nej ӷ[4fSlopQHȯESqپdvj@nSe"fD2RP1`+L`l .HN f-v@Ea]0,KSۨYϟ TTfi8vP,koY+s Ӂfo!Kr$Ó&7- /)?;%00}85\0^*{O8Eg,&fEzJO} @ Ԏ~>CJ;h9a#sӊR@g{]BY"g¯ sLYU᝔jI(>o%,?]2ֿݹ]&IMҤ 뼖(0'뼴.agg:@g|#(j:!PE^~'44gB#EC7 w .+<|{2#vj}mr*"ƴ,&XR׫_1Kuyo+-||=TU,j[{笾$}d%U;d`! }Oޫ)}n*,}W?X=Zs [Db]P7dfIy`rTs:aPhh Pqg&un<ȝyNvB#!fqU=G *~u)vND=C̢z4 o87Xc\߶.fPd qoHa!`^~k╈Nt5){u 2 եź`o=FW̼S ?v_l&r[\Bx:7.F5HDb#*7ns}K$xFaB\!T\8sL]XPS_X\B3W;ܡgh/h#v?#ohqrۜ`: Xq8 GOY֡: 8"; pZCU1B-&kN1EH2cO򺞪\K0zb NS3{Fm;PHe=&M䎣O l Ug-_ezITv8~Y-}slEN@h(,!' U䜷v'ҐRQ_ 2w{N='}Yzdz (E$3i۽`Qhbn1)OokMgOd|?3?I'3>%ڿoԇuX(.TZ?2džͿMF;!4WWy.eCyi(r:?4Oyx2w݄qd~,:I}5pA] = Y_+f (TbEDҖ̂tmJZhSKbx̣ 句\R:1c⨿kxV>ɺsT~AaF.ˣIЍ3&틽=_3qr±ixyYvE'&a9wF9>#ߦrA{(8RvXMUqs HA.EّOO] |nϚūx;wŃߧY.߉KZ05$DMTfuF$|s,j FPެh].ĺ vf dŜí4%_lP"+9?]czqG ef0oʥU+̽tNo!޾jLh㵢ckMo@8GLU}Cr{/fyNͷ{ 6Ffujɶ̥T~x䙲EY`4J#앱2mxxU!fNwc)98?I!7 JĴ'qd&VV|g(QӁ;,ifE!KJ+sUNo&VYȷԠ8,!q,3e0Tͥ+:t#=0|D/9F=IgQ#L _lxF0dҙ*WzH{cf i5:tK\] .P(<= v}?6_eTZ~ٜE'r#l H6>,5jդ`:y{_D}"L;xYmSߡ~9N.( !> q8]j+e6J[",}~ C;ͦq`̀;6ҾM2o!Umj ~SGۗ|T'mȌe=|UCEI/(%Lq7LrkUӁ\am{-^c!c4K_.Q^ ,Kc[xC4Ι֝A`4Cmfl W;vލ(?2{5“^YI㐙a12kA pSS9 ѯi(W`DyujʦIy $O 1A?h಄^dXYf$Į^TϭCcer!A]:zB%s6^Q.מ$*ͽ"dK^gy ^A/H=7e9̷W|+f1J2Mi"x Y( wMShk {g'4meEOb;V/)[xR2wj?+N%#@gdF%Sz4OϷq 5%Ayv3 9!S3}M J1%WaEz!}`#$X~tdRX)'Y"#3;ɟO JiŬ M,!j  4;b_RA$t~S^-*|xKEM:5oG]\«k:"̔Z|Je}'Kn> m/h需$I$%{x^ ṗ ̒j9dR~3O :WuajfCnBim~%e͇eaPҘy'wsu3n/'/ǡe_woZoon7Iu ,[!Z]`sW!!N^p]֮/3$i_Aw f G[8))^(Ys`!Igʝ!1-I||%hΉJ7b<3%,E4uXz6 xh5_ -)U N?K%&[D u4uZš N&QǙ6>H8 b5yȁ`:F?hh{}D>ZX9ɖ'Յ?GG9F+)T]2%`к%)3ODeHD(UąmTͮ,PxDQlϝxvU>l׏P~>SI- d[s7%])=[bB]mS>C4*1wU2~zuskͯ73_<9XWm%IJLy`` Ȟ7R;xL,v^:6vDM"*ͷ}mo4'I ~_Ze|^ Zsٸ-`x*ڴ=IVrTw[S8Y>T(]6")`\EC/k^%e?ӣ~E"ArVVoj k59EQ's8 x2G>tǏv]@g9̓i.=TUT6eVeX%ZF?RR]&@sd}Kabje_r:}'N>O-Pegև\ C`ٿr9J2$'{,!Nʑjg UA^zޘ3 !|h*xOG+}ހi,Gev9?w6GfP$# G[l~2>>&,-h|O1 ?#sslFTkhZ&,aӚ,h/ou` Ns!){kmc6**"lE>Ed&~͢t]*)W\Φ@\Zu%ϿւC4f/saMr&X {ݕ?^㧑0v4eF; FIݴ4.;n=% O0Ud0C#mM9tz/{%b؂SgzE 8o9m )7M?qvl<ƭZ@+Pz̈XaU A^^D -RaVL+%O 9"i+8o j 4vP^kDd.uS\iaHa}}ND8 mdT0Nft@8Az8,;VM+䬿u۹zA`? ̈́$ɬ|#aN̈ UOf͙uA̦/ERC\|L- 5dwa!/b~&Jץ׾6L-G&;yJҴFdïHɖUJY$j^t/Պ7a!mV,ߜyAT'KJ|w_>kܴ8D=cki*ܓ_irGK*_5pm02azqNmHь|'M%®鹏W(lY\xB%A! $ *O??=D`rNiII:8 <Q x~|,6r,G;Y;Bvj~nQE;@2~Nt .aE4CB Ǯ?n A3$9.)ﴎ[ĸ p[HȲ{4Pxhf:G<4~\}FT1,y7%IfR$&q.c\Ձ將5F JۨIPň1t >e!>4'Y/8K#討8 Vj8{py ㍝5i{Cxj$/-<{{HDޛshMƬL_ zfs3I']l@ttH,*_G!k6$xZp\aCg$אn6-b&@~۵Ql;Jӕ`ݰ%_huzCS:vVzsTO(F/YIz"[b  k ",)Mb QX;N0!xeq lߑW X$i~аutϣpvT,UNV{%oev 9Dwk\[Ġ<-X[s`H2%K%I_#LȦwɊ ˿SjiZdaI"Y[ǖ =VJz9bSqjRzǣb"*|ӯc ǯF47j_~]d< d˘%nyc@O aӥ]|QLDȀ)ޏߺ#ޤZQ$27="x̀'IC>uyQ|ҴwtߌEvlʱxi)ećt 8`EZxN6?bZ5\jf9xfҤc[:A(BKzJE1G U3*7>:)2Bю WpW}I 1"}nx]ߨLY}@)*c_WvwNEv UQn$Ѵ&#TIO%;|U|㛷 Dh)Ruw]1S8i|+[[>؊Vd ttCG`;Iό8F`lk"PUkI/'DV1z_Ձ5M= MK;j/e`D5>V=|G'sgYpLٌB1O\iRNM=Ϳ/jNdujJ!\gj48^(-K!5G$CdV|?Ccvq<*#eF>p!bc[ur%^sG('iw#k}pvkxڅp/O ylWDM+릤5جi&Z\[l!>ƞ7<K^rWY"i ǹ='e.ʇ04]V+%7ь1ptK`kAD[A%O񫐤,:Bk,Nt̂.v'3~xe Kv F0 .V]@'ҿo: t1--Bw u>9 L&(zD[K8{o'M4Mu'K[l;ZB6*^#;^Ԇ_z9,b\*kʅVBh5K@.2<$_~|iDS1^@HܷmT9)vL!lB\$ A p&8ClS_VL6^dH1Q>d!PuS aژzՑ TEOuI2w"i>W>f?`bzMOv-`+" 9WzIe⒄P\Àh0IK!pH*SRKI -lkcG9\ _gt汅RsLJT6z$MA3>ԋ/kSsQajiQOA:(1Ic:-*ZHoDZ9":;T(sn(W.6&2gym XoJ nN|(4 G![w(Jts»L;&&Coid䒚h=r8Nh"; YKT/F׈n{bόZ2U|>hIdET&Ğ}5UTII2X-Q03xNl8EۇլuU}r9djGOP5?<-,7G1J>MP^tR6 eĪ9fQf\jJ~r:ؿPzc󼇦YxT{];XwpYt+?6olS= L'kF#'>h ` ޮ^J')b׫AdƾP?|-bkF>kl@/qxA.n?K!i3mD)l$%=p ]h` fbvܿjG@U»ާdwM 8sWx}NȔ)|h퐍[ajBKCOn3.&ouCEH=B,dc?lXηW:9),]̂ w@ श~ VI#y_:w6_2tk!] =<cD}ZC"2t}չOtK,LSJ ܊D3#9(PK!Ȟ UN5'(ܺ8 Z>DZ&yz@PpAtB3_ tɩ+R:{oAhQ-gݦʣ޶ݚncaBC"g5K|$e}NgLLPrTUK Ǒ/nj E M=OG b۩4/(GyEx< L_=>9NW6"*m{П&y sopup[v00AV^L.wRf-Kڼnry%VGbXX&@@*(FJ?c[cy&C2CZ"׬蘝\*xKH{H;o{ϮqW$kZAPD WUv_$h uf,&?I ""~s!|m*&idG)61- {S&żhBVK_2!{㈄)2 zz]%L7q7O?;ֲBK,F 9yAqS`ϔܟA˗1i٘"_ {1ڌd(eR2pn {ELVc9KoV `yol~Bf N. Ӻ1 n`UEY~ʁ+dyGsRR@r "! p=IÚ>m^m8;DnJo>Qt=;H?榭YY^^ܗ | O|vܮjJ{9 X󝛦}^WqT?X'ݓ@¹pS4LI͏[?)q!?lK]d6tK0|R45[wB?Iήɛ"cdGB0aQ6's (HH猃|?4o.qZ9*491.UFK3]?O{/ğ+W4@͋yT&jM_"0o ?R¿'fn|ё~*@@K\Tr蚫VD>Cac|l}ip~!rhD) lƀƄFMAO8;MvCx oE'v:$\Kh?19$o{ ޸FoS_;b&(lɁӱhH~\NCT!"@0a ^/e 1nLzS(dI!2a`W:dn!%f&Bi\߽RL-Jx[T̤j35t?\1Te)y * )N!b5,+*'ؘ' rL<;.Dy;P,.j>ˀ l{yn EFD4S 壮I3ñw<VMzW/s5V!vX;QHq3 J6"!U+\* z}'dݕ+Ƭ!7?%-e܀dcÐ?4l_-]/y%{u}rt&cXw^% 6I.競&$bG$@ u {$[~$v<㇤ׇtW,?B;a%yHl}.!B^ -Mv+Vօx?, | j\P[GgɅnu} E^ "tq3\&]W)ɥؗ\b+RN>&`o )nC5staEK?T V^o*+k](֣ #i=ܫ-,>G1L!ˣSf@("(4s12i #hZVNJĹ"?ɥj(NRA7y P6@qL&2PL4LL}Ƭ^*cw A!kgFύrɖ3(Fa[U^IV?gei5V.(Me׫#4"'7e- iͬ,v(Z-Kb^.MGF]n|>m( >)v]1M*3AdӮ`1-ߐ\KTo}uP׸>1ɑbIi 4)茁"c[zQ3_Fxnwՠc z<ӳ)tՑ)|E_?UK!mB-T H a{X` _I1 st5XQw5 A$b7It:bWQm\ERGd:…`@ʳL0)3ܜ;L}o-x+ ^PLp&eLKy߁E]zUHoȠ&\O]DъFUS XK;9:Ƕ+Ԏn ya1{]-,ecu+1^D7#fKe-蜞C*!En8}4XZ0,Ld=T\]57w؟(=.J 1۸dz\ K TR"G)b!<,m' 5hh[p){M YGy8)~| gSduq!j+ [mrɡ2C UR%ۏp\qaImʲp&uzW4AqCQV@d|6-/FV2R66 OVĻYV4ĵ쌍HeE cSxgf`o`>K-eՙLu,"b _|Ҧ=+-=/hX >j6a6 )8nD;#PfGZyeQL7VfDKcXcȥ )qD2D&!V?v8ܖ>ufG Chd SGxHݐ+){J{Ee>P<IWfD Pu'BaX5,KzVA qbr31/q,D7y R/G|86hOsuW;u(H| Sjg,dܳDԿ2ez"1/\Ô93n󣬻U0߄zƹi?8Jxf|2`tȹ gCBnw#͵pD}V^#ׅ'@,?ֵ$Q90߹R :ݘ05"A8chnxN>%'ۓ뺽:H(Hy%Ǎ^[t/)= İ@.8dCܝ0e 1}KE2cEX *0KRq~zA[ڟbٔЋ'wL:-gdrD^>du !~_:`,t0L ;oG[cXJ.JÊ&K!2p:(8&Z݅WD T.]uMXB~ 9 b4Kf_KTE䇫荹1&=:DId *S}_BSE="BXMZϨ}hQ~xv&2u;H)w `l>x*Eڧ&|;?k:P͸ 8o \؛jk IDBJ>*<'BָԳx^YJz{&s h؇H{s_5c skZHDo9q?]ҋ54|t;Z5NCdR)W5ot$% yZKo*; ^p).HA킰UC _]6S9=&lR=4}ӏٿR'1L݆g(g< ( S$q %C>^Q#LI9 g~OD^ɶ> V~\ǷhU;g kc[ yR{~o|b1\|b_pwOeHpg}ŬloPiI =phK:v*1XԯBKlX'R\_z͋ LD#AX❱_çY Ϳ߱!|t: 8Mv,C)PBT+~{pPǟ'$Ҧ l9kte!f+@#|Lz®2f`z&B>$͔&}bc8eJ-@#ֿikJ{J+uSң5QLOtU.&P24]pPOqCԾGazQ%/d(<%/4+ Su|bZ+" sхⶫ7'o=zvy}0eE V ĦJV`[p Ю<̏2CAE%юɡ@KXm T(F]:S:_{J(&3/}5bb8B;ynQJ`ֵÚf_TO7>h91._סcl `sU3m^e"i Y܃? D PS~޼^JK>h_{mz&!Ta&d3"ʴCWg<Ax72;TG1WƆ| K!],j_ۮ轡i<$wژ#&#$6֚|?: 1OVHk#6ܼ>5-8Ӣ?|Q "*r L)m; nOJ-&79eWa6Q <>eW\KUAPN|D=/T=+O/{}W%oOЛ%|)rJ^يm|%g:PkY1S1~}*l^ş꺅R rN$Z 7,Hc[cސrv΅ ԮG;7s_Rv!7[Ss'+ +lo V;F ~=iDp(}zɘ MN}ݚ%EX Zr?܆j|P&نljT0>kt]DIDx5R},Kg^&PZ[qbQ[sQw9C#ZY.Vd'y7~XꄨQdaa4"%50+kv=װËBr./`Kk֗ŧ=jH0K83/Q8򷎧\d49O'1V1CW! N/~m4^է~HU%~Z$eNS}aXV&^8Yp9qf8`AƓMsW)HPcY9JsX `"Xk]5m)X3#7)iMy v$A㱿oHadB Q{4٩oY]1=wm]WTs&_CLDד&єҳObk~萝0稜`MT2ª1,\V"Ylza)|Db`Yȣe[}T&־h-ѮDVJDu(A!SeJQ$3iDӔ6z'nCv0=ʿAg-hn9@= Y<4eT|7XӶC]=WdaM𑒐Vƥ_ 5xE:^${i͑L@W }hw1,;}ü%NH\DnȟY6 DU a}6Ʒ>1Ym#X)r ƀF( ]ҝ|EK)V$ =_ػQz1t,W+f /u+#I=aMbamA!^#S܆/=DS(uy, PuӎvC |L4XI F..OcB $ĀrN✊l+ҒK[&os)G+l( 7I:kPw7;ǡܧz%ºy! MLH'KHyPtt_?.z{a8ЯUO pij'8X&?wŀU5qfJ8nzB!"56q^{_8 `֎ YIyL Nbiļ# ̤mEIeJUVf8O_iKxNKbt+HR;!8u|!i? 70JTosCfՁdn}Hm īj$//Q_!60, `8$D97<3jUbv=',`a,z1 F@< aV0j"[I\x!#e):pE`2P+>ZTJJ`M?>!VܩU牢G0c~rWS6{H!qgꩿG Ti&j6Y[e5[D=ąg)_y~UH?g( GVӏc!(+jhҼ"ߒoedNmWkȇ^oCҸ P>L95QN*'X?}FS!TCB77(m34}v֞y`2.jKtmՕkӸnviń6zy9Xsx\gZ [:Nmp΍ne?&ב:E}e[zhz_Sg$"=*/K3Ai/XeHBF1exOT 䆫/1>xl֓%'霓{wHd~z{c;k#۱p>閮}pq׉Mr V(V gc~/KL%n^%|G)d:FEq@O2$r\a?^Luؠ~M->sMe2mf 5`ԃㅮd%= },C!IX[%á:987J6%]Pw}}<ȿ'̉F}>7\(᯴Td= x1eq Oyj%a ȃiI@1V9\cjay`,Ŋzk] 1}`/6[SCI#6]u2 ?T^ɷQ57 _tNF39=ҡ]I)9TL rAq|"E8$ф%-5xM8JFQa#]kb1EY@RW2_3g^3Xj0iVc$$I[Nl /:dsqeC}Hc {Ԯ_{q¢;6 8OՠEx}' Kl[8xE^Kgkn~0OHjU[⑲4J-~TO8R (- F7 yz@z|Eb_򹉣3g;csqV\ԦwP5 s7RSYCcs A \htJ,/4vE!R5^}߶Gffc&k( 'Fv>brGxzR sJ2%nϥƆ ?$X2JY_mw-}EQ<JM߶~\W>8s˿ D*E'TTS yR+^/9nt[olg }n߇f}ƸκcdfdӒnaF LƘ{w4s t~eΰDlmQJߥMu=3)3 kd꿨|#"\tyFoS Pp痻b)=S-$1Eۨ]F71櫸{8e4(ߣH~%qy_YȤ@w>pD15p狋?dWWpKTONWs+FI/J;]5)i`'3"9?S7/lgpV޳vHc4YƠ5EpN)ӃdKzdiډ lY0:;xH[s&r36\<5`tE>6p5KFaDVI#ǚ.50:%A3-=,E;]RELA@cCksbe&nR/zxw<'Ա%w<@kb|2SaˆKN0>OF;|rYߗ71 dh<\CU9p«bI'Kt1/6P"hRgDc %r >ԖY)QHwţ G\;> 'UIDEglj0,Kl(Ȩ77[(ֶQ 2ѫ;9e,b7^1ffֿ 5Ix8Vc)r4RprK|%J"'`T0dc3C -SIIOQм:"ok;UD~6y#9YAd*ۡ 0{9[y*!?f)ML r5Jq;"^TwPL&9ƭ3dWWɽ ozd)3w*,$,L *~ ?wmGb\O&L֯Lq\G4߃G}tI^_:#VoV")jUj͂?tHlq<.o> Y1Φ JZ ~9@&Q'gk_o+=4w:Lfˉ?,*MHm?i[GqtE{\Vg&4_Wo7ƎݜN(l:܈^G4-D!]S]P&Fy.iNKR+smJ5OҮF$)>%Ko9ѽ1ef`'.AOC9 ;=qGwr9">R&"lQ\!d +f( t!^0e牍?׀[-u.4$5gc1s-kqt JaK$-ÿީV\֧3>܏0 ~8R;^IQJT#,Fn(07?!MWv\CDWa0k9LKU\=;`d2l-݀1^e?f.W^7%o|9t>+^ʊ[ ix=BemGUnkf1|#7Ѭ~0 B5N\l_e`$p1b5ܳS @**&Rw<E 7m)ì; N H64L2-ntRzުE,O/ Q@??g|2Ru6^pO򸤊f:fIJcVў ,97G@Ežo#0z"f1 *(+3 >MblLzJ4 P#9qib@ 9w -[͸f|.vO)Y!gR" `RH(ݡ׊A*6;3rAډr:ד[ I^ٔ;sdCކ D8/)1wC %i$vwv63vLd܀UxUueZҷqzs4ؿ9.N >[=ֳzCcaڭ~4$$C#T ]4bgm깱=zc.PcZIohE?tOLin6I`@bkZ( æ?k uQ}͞K;Rϟ|c980pG-˔,fdq~[%# "(!cBU=טJsirǬh=f7V9J^G^XD,aYfNS7rzqZ?_݁Cd;ZH:%8O\+?"; ǰ8{9CFXҥ7kC?5ǀ N{ K4҃ҽ7uyʮ-կsULAɇ3 y4!,/8ו2fQsrD0p9/v~㡗kf.ZfR`r@e_աt:Y3vo+ `gF=1KV HGe*Y\H*õŠ;bWjr  ,ɹCDYuDvR!*Q#+rvaF#1V(Aۻxcc{ zAt|(y-zZN,X%mphTEI@TwR7t![;-+`*1i&U(xۤ:7'FI VQk,Y&Jї\v38_IЅ4tdK>ƇLr*7#;Rs%<[):P56i7Wy;@s߾,e@bLߣƃG0h7Goq]IfOf,yuZ'Egp&rBbrR\"ŪK8qh2닶b_:5&%s"}IX1GDY&q<#7+:eBYDܗ&-ŏ@펬t!q fvrtuA&^C`/ 7D'g{8*z.iN oFJ9I:?VGK. CZl)Q˕V*pwT9l^5F+¨P~+VMl{lp$Ǒ^+UvJI3fˑQc1RڐҔ9lY_X)jP :^xMOL&pU -.8'VFNb)%ߍLt}N4O7)bxG>28dUIs]esyM \Z ?-R,XG:hOұ$ύX^oe'bP{0vH+bMJaZ[KhrMєI7^-x]cqXY"R 0J!e.5/+]>o9d:Ո [ BAx q@1br+tƜ`fϴ&X*iŏg~ Y{5`NB>7ɷ 麡Ӊۤ<ڏS-T=6o2yW'ux%gD\Z}kڕ "H?3#zTDkvg,`}4¸#;}k!*2`=P'Z_wWFXsּSw;oH/N|4-)f8X<) UOZeo+GXmU5t;-?i6PKپCE5 }]֒͠>Du`?ס9`7`"#3yE<$68͉o=t./(B qZ8ϓ4e``&xƨgJiRiFWTQ7Qtǽ311n_LCYV=0GdP;@=ȷTRYF?uW狡g:UŮhzFnp]ה =g+W!ǁπKv9Kݼqrр3i394c$UmM-;T?ԩ?4lzڛ,QR]Dtv:v$Td8 hU b,Rk>O _e5Z7Y5?ϥo_&,na_塿h@cŀS*>L rB*(&V.Cz2" ( H mi.z7y#Z 'Da7G|,m^)&%l*Y5Tj`z^ Gk^G/փ KZ'q=HyuS 22 =j3T3Ft1}ˋz٤+5';}:biYuZl zfl .0k!#4m|" Ӽ}t !6/dއ[~|Ȥh3r;ѥX< +QNɒ2mT\r1yN b{ޮG}P~vFxq0=ԵEb4:N~2pʩ 6z7}>>%iJ5uq5dx_F/_&TpYH*Fzy'2 7C0m` "S|L1˱1r/}0 vGt9ɏ^*?X1^U rA ¿> Syv8ā+vsGTZ+z,EdBI\OW<8cJHMuC!~21=(@?(n'UupèOc %DN $*w5aoF__vr>OV`依E}RKPN>I^sDeZUۏO*Pd@(^3xI|Tpj/k-R*-/JK}P-J6tfى]q~< 򊜫* uL]X2Ùǒ~LXѬ-DܑpW"L*?!mnxz .ur0TVȯȪUu6HߪwUa58_)v5''Gh>@2zhd`< -zaA7D4߆+6Ywn8l{2d+G2{ءy*vp6VąLOR]¨IZpO6{$:r#_OJg|`9 K|CLf&{A)VySWMJ3c2 ӵY'e+δÍ^c~EGz&TlEMT)m#Ij R=U 8 >Q%eP'TDjci-ɎgԀIYaX]ЁL@w檝BɌ-[hg0$IƼrK9#ӅYGQ$3ƫ":,mPc 1#:ӗeu_*KRj( nNEzF< (S&׶Ag[;\l=5Yd&тRis: gVZ #ΰ/sȔ$ո|"$6w"XK1A ?s1a;Pٔnj9QE/:4lv6LzΛ G eiDZILK("Qm*iR|Q~ 5ǣ71X^:ӟ֝Z6;nmUpctDDn@JSK|v0tx,_ .Y><57JB f X#'#"WYC>rkmfׂN[k]r~H3flԥt|f]cn 12tHK`FL/:y2}l7̀joʒn`yKERaVx!LOD=ȷbll֭J i], `-k#:oFgG *%d-01cF ohKY4Ju-n,ڍ"^d!^$^HCpe.Z kkk:Q֜7/I{,}(y+a Z9{Hpy^\($ÆX=̳nykJ{{b|Dk鋀XPiYF)̚^eüYŅúyELEjZA2ɫZ1_£sϓ= +6} ڐx `!ҊaϘR;3䗚wG Yצ.9CU*@Dլ-)) {Ѷ9vlD~09 dSfqV|[~$F55HqzL33 T(iJpi$?B " L/%9I᧼֩b e5sL_P?O^r㡾ׯL[,lʢ'T$yw{/Q12İq N.(%JEr(w& ⼗1+kW:vR<Z^ĕaYvx $˄)Tx*T]; `n:N)+@~0s}Fc_07alrU>z>E1Ɓด7l?>g>ld˷&U9?:_kx- V_^BW*7%(ʵ*#9n V2I4bߺZC*r}WL P3TR+ kLOAUO|M3o56"qt>74P%<)ů@FVڬA%2>mp~SeY u\^wtOT5oL?yEPkWZ%>[Lt(q^,|*5 ;=HBr'(cU+P&;pi k/ͿozČrp>wkҒW\ɡ#mݫ@}}NZo&/ imP^d_ԯ:"ļ$]4x > g*_Xi y<(uRҳY8KJ딊#/Z؟5JbwbN3._ ;_M^ޮb[nTEZ2#g)$,aK5A~釯pW_@B!7[[H1:' erV>d=`Q>E_.Mc 0߆n /ެ-ץA7nq'(dضYB/H^ %^#+(%zE%#]>ks,ul-t#+zu򏤪gp6)p8] 9:>Okʟ9Acx%Ӣ7-WX01|`HJpPt.t-#+ B5gueF#gt03Qw׷VCtܥ=f˲il>ǻ~= 2QLY%^(`րdu#3Y EC=1)n7 ;`vp 3 Fk3 Ql`ɒ|S~FwAPx%Q|xT>ؠ+SZ,T&ň@b>{<'@ 2<;5yt%xxk:} { W9vz< NfY֟aۧ<:mr_tkk~'c|T7(`}+ɿBt]WAcBy9s95҈Q@@g-bInj?ZZ٤Ī8*yjު[7$Ŷ䷼N&kHB|4P Iiz)$~Uua߾ZPNt_q;'y?}űrYFC4?k2?ܒ$Myb;$yvƞ&1FE,䒤 oZЄ~g󆘰~ gۭ-OhؤOj %nk*H"|v-$#,j)&a ;7DaQxN191Xu~|6Cd#a:%1t0q$_o-WrwblfFT|cLC k*R$yn[XTp=:Xm~aǠDZ4R#=S[NOX!J*܋ j=Zz @nE5,+7طZ,%3fmX񍱤2_ުFI]bG'JVNC>1R[ ,-wЖ;qco&Pjz+!-ta, +ӳ_W{Hߴ5`qE A&7yYΫ5:PwwG9WU&4q k5}3_7 7@m1|ҳ}>*?9/!S&?$2UK)KL?Ai _6>% 4R5Lr5r l&}oE239Qރ1=Fn:gچna֥pJd.leW|P 2+qgX:ā5=T7}=:dtѿ`&!mP W.$y.֯FRGm?+|MHu/R9,x 9©gَ4RJo|Oڰ(39W ZG* 2zXͫ->XS`h{Ez-CjGn*|dyP }U_*0jv28j>tk-cX.k ^Qvj|S8Cqy݅bXX ]w !zZUK+1d80xRUŞ*M@^E9GO07>~qEKn✤h`3˼č7|4|^qA@;Uݠ<X}hzMX~)mjCDvɋtiH6*Bopо٬DMBEcr5"?\'hK-|}M+=Ox*zƯVcۤ2OT=2Wga^HpX"Ӑ5 @r~^7҂4qv{5]~4S(3jݘ%.g&H>wCNT1*F{2*fĮ?y4~$Gp TuZy\N`io'ik3}6N~!7'zkqs,GBeaD Ro^#ԥ_p-+Gd:ek~ZZs5>PN$?׈}HMԂpi _slѩYdXc70(`BOgԝɝO/[_8+3bGbu mzjɣKHRbdPMq%o9O"YQ)10q*5[vvߔ2*\/s^z0gVn8X:p}uB3@_Y-gC2z:],M:(T:5%bR+ ˊaAxf})oTJZw32^ 4 CŔeMAI =2c2#,Ac8Н^}j|OQyO0EsJU`GԋB~L9 ː|AϪ857(UX,~bJͭ-TUذtS@4#JvK ,u(.0K:r6ܳT"KoK5$$1_sF80C{zͻz Rž?A;+HYp1^f:lv-{Ϫn5o_r&JDVcmnY^*n .ĊzE $$#M>pmk2K 5:z_zQo*tׇ#]QC~'b^%`ۇ/둨.wŷL_X?=Ŏ%1E[^փq_-7K"w0r\C,ʿ"R ƷIFx1f0fUP׎il12BDb1=hwϚ{Kiڤj;3%Bo5IL=翢|Q&3k/r|ȟH5jGMm]0UՇcYԐ޼K,n, n?!jM֢t Vu#Z)R~?@6WÞI0um /'ߙwVpE DXsWaٍ9g[pxjb-m&/d`mAa( #)䏛MD`/NXCNWSH[31{~X8lgH=eˊW,MX̿O&}l3b=; "hcGКOVddBu_QfGk1HC' S#`=2}ibu\9MG_|ۡ/HS Cς&eurt}KDw!)QH%CbHn)t,:70sٶgp߶nk&(յ1γ/?5N4z\*ίQV辭HYlII14°p l.f)JO+s[X!._ɨNc(2Ǡ6;kqVں-Ε!($V>|O䎇sӃAqB&>Ą\Xo4!=гnFwӳTyC| C!cyb2e2ɱfx_µs,U?%ߚ 7oPBߏ'3h̓Tr7]9ULZj%Ԕ_~zΟiݵMM WBwwvTd|Pw>׃rlg^Xџ-y$ WǓfgG67`Ӯ_5\gc F>]`F~K$VOI&e&f{⡼t\|, V=PCF~b+󋚘0/(~Tnhh*u͈{)'kUuhǨ?d73"ٛ,Ai90Dc9`_ǚmJȴ6_uyE;kd9KʵgĂ\($Eyr?3iOY?o=hҥWU4%?j{[r.i 1gi{Q׮%䎧 4/H׵3l2ZԽG_Xpgs:{z|jǛv,ǎ@@;#9̍I6Ʉ_fVy<6tUgwW-& P"E 39h4u? Ȍe<4IQIzqwhYT<@}lU%m*G yZ1rΖ%7N}H-X躨@}~gA,`Y.F| "1=rc_k.XnA70fRM:m?n[2vrV @q;oHW?G3d/ȲDڀk¨C}uEt;"K&.g#H)(N2*hXI~SM/^ֳ׳rBD"d^ xJf{æKTOL}+%,O NFvxK4Q R}鉟`wo0yc "^~#3啶cmK_U' F?Ԥ2WХH񷍯# e*"y&$.cʧZm\⻿)_EWP9=nE&<+|j_Zz.0jűe_Grt'?ȿ^3v@*LeX)*P}yz]y}jrp^q`=Ȗd+5FsF%ie_dۣKVhZ11£\* ҥ4gm=bt-.B:Ў.t'(LS?@Sj>Bx(646@l+ⒶsVLjN!=^ZMT-l-O v7LԵxln  @cCϤ<)L F< '7ϔR)L>]#`)ͅZVNTK-OGRX#@U\ҟ,(<` p&_"p,pye-_WVu!)d 7Br.tO/!u}hoe(AOxCa@ާÀcq=Ưkԋ3/?yA>Gn,Z5osâoe/ Of4zƟ;z?y}wIr>bxju+uqOR*4%`DIӷ$*zWGQձ ӒZ޻Tz@~=a;e>qX FҗG\;r_b H~;, }G hJqscT >~ƳDZ Fz*/$ mgg~p9">IT(?K?[Q@&){/܊C fܸtPǖ/cy-3uUm)kLKO2&g:Wc)YfaЇyq _"oiv`)OlkpEa;w[^'͍WJ4|9ɷ8eHfHk`(n1 I>:UpW2fO]>o| ̽E M h'p^r~+U ݺa3j!+}aچy#aW3 b@+VdNȗpצ{Y M#랣={ڋWZV[Fւ\L A]'7Y 0 Ws#{a (kptb242~cZ' ͋~h`΋s]@L\@R?$ 9&8}v7vUm(u8 ʂijpDҕͥ U,D◁Л'wGGe[u[Pގm3DO kΘ ;Q!Kx _:N}Ucf86U^& I zRL `[Kə։L/(/)!5{aڿa=Lry62kfCOWGsUm(_J/ w֣fҬ:gV>~uQ sk匁':Ye)|ٷdwz%.Y,^{ȑ_E {x+pxo-#kcm'UNDiÏ]@:uH :_v{rY>k_ꛐ]?`)wYF2" ?j݉*h+ǕI:B2JF~D㯊 25ڪM ߐĨ$ٿ屲 i6)d{t[u[TGceI>0e#aޏa$8&%8B#I8믇k7-IDQ{}u|n_;6F,l\|dsNX]N^YY,zU ,.&QΘP5L@N[9c123|"ːam\ŭ/5;rV:9D검wd!HeIp1< ^eo=϶~bϢacL"x*$s%e @6vP6mz3t1\ {ΡƤ-p4+ QEOπO4~ qe_E1=)QC:_*hpnc&9MdWj Ѱ^ydTy/1~m?:$5;N9cq  1$Y2I [ärEl[UKc9mhPr#QLm̡uXAbra&tǕe8(gStZ!J>:tR%#2l}<23zu mME1L6/(V _E7Z3ZYąma̿>*D{9 ^Ӯ?*|+/^" `H q~+d}?o"_Dъ_wbd#tN!NaGݞTu(^ flsdAoli]X[ BSS~RI>i(_)'`mem!MVÙ_}*:Y^Q2K['گDbe6S܅gJ J˸>.28K|JOa)̧#}+YuH9 k(G(gkJ$>!Q=Y&5 rj? g G=BiP~Ck"qKDo IAAs-9yFHR Hy|H<}f(O%D>"pP-ۛi8WW}6_0 DLZrRQqy4礵4X%4/ұe'ZGRXjZ,,X+[٠W-@~mln[ y*o/ lZiO|p5aȯjxKH* KlTOsR:(aZ$`PAIJߍk~*o)<4{y"gbIHI?:|qdx{TG;2`lBeۯ>s'yYJxO nY{oPiTaGa\xsXR֏S Qhn9 L.u?KrI*?,Pw$/@Ո}`}ףh] ݛFvs~!]gXEHׂ 9'xDxEʤcUsayi8ס31uiȿRse1Nc4Ab?Sls)zU]"4H~3vrv^ Drfx{'5`cojKk&~؊mMVUEH 0-=|~Dj6+)V%RUNH-(pdY.s7EZ~ڞot/Qi=х'@vm",&ov/H>eFʦ躡adcҳ B+;ħ qu1~Ah1O{d: 6䭯 7N#FXDǺM`2*C>.3ۖh:fYV:7Br7,ObsJ ^|x`i>" ;oA206'\c#۫;0mWuUO^UN2kngꭰICߗi/L7vC 5zԭu@j{yJ$'1-95&eH10/E0"K p6{^ BF4K`vȈj1"wKJnJPi*@ qeۜvq=aTLO|0:K~!Ηl+>ԕHS ~Pa-RDY J&wуO_e0::9lw^X=pS OA%֫h[EƃoPU='5 J`ݬ|]݊m$/8 k Z^}4e7f. Pѩ汇l{*Q5UW96"wDI_0c~}a״?o闢j[wlǖe3+cs7aٽ ԇ|]Fq (B_{(eIZ9摯1X~20yZTsȭ0G -٢KQ{g-s*aOQԝz`MBugau.3?2JT6v .c@sneӏ2b_X&VVc?}Å!?UްFeC>*ܸtQTyʌS!k$^ɋf~pKrcDt|OmXs$ D8CfjǑ "<U+a {{z~!1YQ<=b5FAkηhx)BP5*☲RehaήG0Mͻ55R`})\<lWe\渺9\+@Oa ձ}$[6e|Lg49!at弰XS/X0L-j+>2*?u aތeP#Ase!ԮO'0xWI[LL-UvRHW&K{z.=g o N .$' !z?뗗IR ff}üMxƕaX flHQY 2 h,^"t|ԏA$@ػqxR 5_At*RE`/搪V. x +@e[j1p su+X+߆x&^qSDJn"y7<瀭ihns@=F,_T^4 +wǟgrk0352cطM֧%zufuDOd~} n"ӮbJ&"n:AॠވH]9O|Mg;&IO ~Xڊ%kLJܠ*lP>0%3: c1mQ)qu vedBYo-"a&ff/8Cjt{xeS`-iv$ҩFaʎN.28T_= 7:qY r\ ᬐ뗢PΞJw[giPUeeY~Ӄ*,5p&L ms )v'*#=mJ#Ya]0(PTLӸf+ jɱS;΀ H7Ǔ &uGs]fL3ZBFSy>黶@}'Vӌ ht9)UP_ \8g_B7R0jEfo!߫a6Eu`{P~2b1au}"KupnDD<H2vroHq~'?'n2˹$3.Ld[g,%a_R,1\:f$ hI O 2*DH9__pE35ĈH8g!fN|aDL/ɠp 3_k7Hs5gPh{~" 5>JK[6 > U:2cZIRql(Y>0eg ]s;pr 舼+؝YLz6[& ƫʅN8+pAbq3#t0o!jMqy'}'sW:gK~Q~4wzbA|R8EHtGu7)3|em8.9t&~}K{~ꙛ tzS/_ڤ6W4l<#O0J@?l*i\Oo'HL/ළn L8HeXDPS>Wa3dH?:lffq~:FMF(YMh~ТydJru:]YdkQ/;*M2ߔixqLEh6i2.>2GQ86V.$G 1j,FGCƄ=]%Nj3,UH< [`}\>-C"gg|tԧpK->!k÷Qh,X9`Qm 8 :@#ZV=oP=R D5[ԋV*r2X+V`ٍ_~(ϲNPB0܌\u= >!*i6{CPm[`B O;Q)Og$FBN '(ie"s~eJ\z墸xo}5mmd6K5lꤠURŲrׇCMyl{3۝IHE<'MC~,/ܯ(Jn,F/}c8\&§.lmlrjk{C^I!@o 3ʡK`;4qIcnėzqzd^/^Tْ>"9]>УEBT TFˌr․x^ M%ך1&7, 7Ob> T55դ1Ux{292gB;&sRMH!|&!ҹktyw0^p?&@q v{K\l ~~?4w(i{.8 #R$o5gDp]F} ȹ೷)y /ii8~uf=hz0Z3?;QGeMh}Ղ@ôE`߅SeA՛:@)_1N!J=&/g:$-Yʖ'I;c=8Ah%?ؔ9#lz}h=N]T4,PgB4oEB_i*&y_L_;<[=y>ڼ<*ҸdxbH6-rEZlv-3A̔MVuō/g "C*YF:[)L ^ջ沝 ) h6!a;r,#_$`nqgLiPz/J|Ko\7Vv1$]JB13tHC ^9* ^\?C5FëEJX(E5T4`G^ґIIs>?^9;ރyڡTΡ'Pflտ&9VVJ(| UA`P~\t/j˃S ]Zl !LsYǶϩtBnuNhL'I|mN)'S - p"i$pFH:. cOP?u{Cg-<7ufOQ5$4rԚKMD=䟯T>vhbBܾut.0I0N1.䁁< 7}ZnmT$dxLX6O0n4Uk.^Y)!?@wE_n$BSg"~#(΋ F (}؇hYH3z!jf})޳сEI_N08wu@V/% ¬ϸ I`}s'o@una!/g!KGZp`A>G}0= I3@zŖTzJTjUB,48pH[X5m'3!>^hY[0,`j(䛉igW $$ ANIyޕg+>mU;3jcNI#B˶l?5TG%MQ(FA=f *?_ V6$oV 3U'?R-YylaC0|elATEWT\~tI^FF̚o~1HT9Z,2yꎬ`^c43OU_MVqX?LjT`0'm Q8(~|YFj_sbmmJdlh6>68:o#˥?G2%=,zy휹fH;^F%U|ƭġ|j֟ j]~8 b_P Vהg3Eonc׹ Tabh~>$ثJJrߤU$|Mpoq-$*;h瘵ݥ*vX{ց)E1l7 8Gm{@}r%J Y{ߗM [=Rr ,7s_K۞찳vtQP!v'[9vmO?GT1 qjZARÌ/",0ooN lxe;?ȷ㬂 ZU!D^+L`Bȿ$o"aNL6Rp|ivzٙ_0 a~_6Fj}"yLE\RKY(L1ٞr?$Mt1 A|ӳP|N-d$%C3 L o2Œ׊E=L}02U'eN6_h?]/A=!_^B2;WfrveI%`oGn/|w@YϛW'yac6)G-%Y|Ќ{1dhK}]^YD'0SP,G]*<=?hPq]j#% hLfX)Kt]aIA掟PK,DW!' #\ y &N탺lMpDJr`؛9^BL ם.=t&+Y'Zťi௱lo"d 64~o27?jqFk5v%5nٱ Exp^M} ef nu"Ώ\,tpiCc@3(rN 3zPU.y a׏L-B ^Bq(pġ_z=ҵZW_gMH_B45(-sQk~gAA2P|__*.2O84SR)rd>2;Y `ڵ|^yb &c蔭5a)΃xEpsP>!3UxJ'@:XE9j׽6.w%G>:ҧlm֐X>|Pԇh+HEvblXd,Fh*bSHs`iU͸9&&ϽWFiв g gݫ'X$K!g_%ힻKLxB]݂~g):${ʨPN QEm_^dT]NIH}Ww9xorA]|ZGBnEM%7P( ~maz m/m;>`ʐ"Rqu ]É[.%i$tYIe 0VQ }iM' X}ڳ-_j82Fv5RTnlSQKvmpÏ3A6J[zlrMsTh[|zzD\5D!1I\)dЛ\c:I=i(f0j|j+}[VJ<hwZ}WA)wTXh`(~[a{a\]cWT/=:SylxARǧ-Q_Vo;*Aʚz~=ŝz[^[}CJ=x5qD?Ց* h`IgLs6}sH%O74}D%tAS(~K:7w6L_h|:BLaжnSBAV,ς r*K$D[~].uzDI}EZ@h?}:_$5'Hnz8v>!pl4?.vSPzb b}YC$Z_Ի7t|}XiШ A 4v+nX4g km-aIf;թ@G#7D[x zaAt!a7I DjtW߆C4TwnaQhntc|іvhy91 ǭek@ߚ7c40\cB]#Q=4RnҞ{A`H^j"Dž;JzW/VkIĬ\/ 0M<Tv< :^350a+zn]"{ d SF?@' =@Lص*M A>tǶLM% u,{C%lRv8 })I2JXn9"Alt'WvG,_ GȚћ>]qYt0شm/ V$Q'ecqfxco[ GqjSIPXgEL㖯(wz-\InvJk]dj Md'OX "Oz6}!{L#_>4iX3J6jN.-1fo3!pc,ʻf;M"mS̑lta,(6)"[WOM2c)&w7>Jx5!K Z3H6re@T,&ןVD {lD'p;mvKiYXh^Rrc,4CfXuG*% wjA4mZ|@ĸ.˷$_㾾_JhV: +Z95^|~n:.ƒ\\ѳ7,'H R>>HzXhc₡$:^V\q^_}&Cv,M@+ gѶ^ _ZgМn\=W'Jz$f UA:[v7foP1UJnn:]to.N>S"?~kwbZZc Nwo Ma֧ڍh,?PyÏif8btfqI G|zcO\4Z(6|uh .YnHs+[p%waH]KX $pwS&7 D IaQfBfYq;H'叫HYnRM2y_Pcdz\~~loJD˰@#@gە/ʜ6΃ׇx{y D#"E&ISXIA6+&[Ev'GV3 {m#.`G zEuƟHaI6=Dحi(qSn$IQsҋ@ "YDtNKNMß?)X{? fW8$dݥO cE ` sߟeħh*߿ȸ*+(=M(0#gh8~3Q\/SvwFr0D=mFc|Y;ߣ%Dg*]UNROAdC}%/ Ed78|'KX}YgCn↝<q6p{XrƋ$df1J{O}D gb4vY*8ϳ3?2 xY$SaP;LF6v)^Z0%"Mftl1oqz{0`_?ίݽai~[}8f\I>ћ(49<)2)fo\)pUަ#ODkt-J3t]G`D⫈]BG+ !@:x#EJ1>fσm_'c_4s -^V'L%;,I8=&6C;ʧ"nDAHkA㲍GS32wF hv T>s"dﱇ?Hhfb6߇_gcVhb?AޥrVkI)_Ƶ4/_ȸeKW<@v6c- h-0}xhmXJdc#,:򷚩/:R`],[M[܏C ڣbUِqݥimR}`bBZWr1"=4 (jȯĮ?mSW+EfPܗlk" -RGDq;#c$j+a)軔_ZJsM][Χ _8'~0P'o|6*/ҧM^,36 h|o9)[/ h~7/4_a:8<샏ei\`䆦 E rP`/BlÉ5f'r~!PebF_nВH@ߨ\ŝpB781&ky]n'8]τm} hgA4qz~jNֳ<_Eҋǐ,|7wV{0doBL9 ֨Għ7!=fھO_ݐ&b|{ TTùﹳʂp$xՁ)_+E$EYVCPYԮ7{Yr?uPG(}>4n,˙$!.C?C8 z)m96އ ]r.?eUvIY:,* a9c7dialHCg+Ry&p#πoO><{}Q͜sNX6>D0E)u;7ɿa<ׇ)wuUͨa-bv <(ift +o`OXڏ>mR2SS<Kb<Qv%=L"h- QIU/3q\qG֠,'_owUouFc f˦^T/j"5.Eԕt3hHD&Z-5|>6XQW{~'CMRo5 ]uv1s"`ZwsY|ຂ[B ϋ淘SƁՒQg4IStmMGпTò}aA\ukA[1RXd S%ggGE~v>3Ilj Xjt]G Yb:‚DL=Н3e,M.]6BS|b$ dsj| ][Bh2]rimQޮXWuT:{+?`"DCT Y81 4]r1|>Hm-1kKҁRf/L pG:[VG0Tj-gl298UQZg!-ܮodG]*T|'Wwa?"+F~K:kí=t䍥cSjeNFƆHj}g[FOw@z4. BPC^EbpdFm|.rVɫA3OIk{%7gX@rGK}^^ z_2|olVYWܰ8 7> ΋L33_~ ͷ0Ksoψ>/眓y?ŷXahҿCٯF`t|"wh@TOC,+teC$?y\f͍/׷wca^iuΥC 컵~vqtyĒk_ٛ[_ʦ7d2 JdRJZN7 ʜAe(i4PP'M>7[XOx['9## 0%xm&Ո =@*S_M%$OCԓ4وD1?;RpE&(٤/=zc&\nηFre }I6Y&؍l/MM@M`,?ƔslizB7h. y˰9ȖIij\sq&. ۞3TLэn2$pȬCyby%X0\"P~y*u=HQ|ve~9UQj"9㊼wr+5Ҥ wg`.:QtMKY .(i%bQ n/j(,= QA5 㠵D 'd_l&9QH |zwkPMꃃ~@@8 d]l6j{-fx@Esaz dP?yǡܯD4o7}rR t[62$[Rݤ NWe~",Kč@? w7/$VP$'F{3cLH]f뇑}=ڋמpB8YH Bx)xlR>vȆ]Ch#bWWNF1kOYrPʩ=!xqq w/[[]G1}NE;[++/;=U y/^D, Y3}{|'2 FǣKRq=6=^{,v/Vߤh_*gH/4z7h!hj_4K=!v:kNZ"*ΞE1Fr|XRLNV̻Ҿc멡`*QbH |[~k"ןNW\-OI<+yܳ7LqN/s Bp"7ӶrM}پ㾺";v/Z#=xH@<|˾_.! 7sɰ4 Niv4޴><Ț$f0;#ΉCQ5BIuQu%KY6e(˹ovP !`^:xJ;%cGr0I'k{z f[ыb P!`vEOT%:WY7whxcdg]bx*^͜[_944)R* P)5ad >T&s2תqaQ;{?e7ZMޢh@o?!_U=}_L)ݟ1W k.-9oKV&G~l1xK9 $ld}0p׆y_j>s[}K8(9 MP0C2m {lzwO?$ٷfDOX+l#e'j[B<;7S$5O=ZDEF k%˶N dN-3Ќ7/P'ÿ}VY 0dc!8"0i@)yV|OB#~;N2[c.o#s382x=\eL yƋ[B֫!{(`(-%";ˀ̋ +P})xทj#Uj v 65Q8EY-Ky_k>YЭQXS`2K:IX~̕io=2GV1-nqx]oA=]9>)vO絟./UNWt|equڰ,9T#B=D}φgg0vA|! n{=`S>Bp459j|xHVvsqXQC+ɯ_ %IYH!v"zͷ9CH0׈kK"$Ieo1LYkP0Fv>6iqHJ|?j$5r>#nޤyWnG/czhD+m++~EAyN0V{Va<2Q} 3Y;B?.:¸bsML=<~PZZf @&f>l틝_OEL>˫5! _}1{:@b@bނ oﳺ;~ٿC:/A_*ӣB @dsEk?6mz5/Q~˗`͏?5u}{fAts%]NjCîGYg󋁅Lup5`lPִgRl 4fD^ƊUml@NN; fTh7^@KJ84r=w%r|$/S8[i &o6`us)e3y3ӎI8b߀*~!l)I[vc٘zT<K!IA8 /Y@ŷE`&Wamʑ.JZ8 d1[ -?%T}L;L6~z5+D-oRY&;\ՌEwF^fWSZ;gDoE{-ʗ{u$A?[h)` ?KXȬoa>6:1OC6צ{ DG93:ƫF\ņT6૫\| rmGpue#|g چ||Ε%ӳQ@}o 4u's:A{=w Z5DH@o.$&TnafֱC,.{TV<[Kpq|#Fn%4̷#:=uxXBedK ;B~\%$fA1ر;ULl}޵<ն+5STI>X$)A| v{6:bM$ D :X \P$x'RagJIΏ 'Dcsf&6=8 Sy7sd U5q#$R! [^v7CG{\⋾C`~%q:O2*CץGvFbH#Q?i%tpT?glq8 SO4/0:Yos~;?VVR[8^V V qEh¡=:[ drOZN 3#u;6ҷ`w1@nlhݘ;~7-zĿu?38[RxH[-;t2%]9 1+կ6g>KKpӕ_Cp6AV\Vx?t t>o3Uee~l+'@MK5~ղ휁|f .ixs$6dQ2?"z|٘D[!(842=_!=+s}v [}'_ۡe!^ͱb3X6+cѶ=(q'q OA5=u77K.q~PeՌ,pYC\+wPjs(tRW [*nT Bc13W$55:$1 E+V}aM{ήI"M> X88 # 5[Jb5ſ2 uъ#J6fr__g}{ιC߼=%sS DD]Ǒ[}vQѮ%)5:ݒmIzL+/A5sT#ڶnwY,$ޒy.5*.cq}g˄P0J/$u7AeRMFJ|t f0I]FCE1ZЌy up+h>$ڔO,N$9^e,_}#4ewOf4&\%DIO`SMCZGeVeϴ-'^$_NcL]chjqOnk/MtfQ c5>uBG2smV0=E϶堈'7HV02e.~ B 0\P78Z9i~kj!vw-tҙS-Ҭ\0G:P5a1–s13Qmq)_l_/b_`vWnF0S Ma^8 zkcLEIƙl;Љ#E[!`o U |uFnnaAj,2s6oDTZ+ރ]uÀ&SQ (E1kq]%e,\ikhe{o#Q+u}(c[^)j\.矷{FYzjdof$[l{c-"ӨrIgC}$) WU|(,툛_w=LYˉV5Uv]wY[*PRQT' XY \Y̌&@LYe[q(]ڢػt-џ5;`;~ d9E%W[574غ`ߟՂ2Ϡ5 ?eHu5\ӢؘhhX#1UΗ"TCjHK2G&cfZz; ԣ@xJݥRI3d8mrg\f'1M fk^KVAgg %=a% dJ#H8:%ggHcIQכK|UGk'de޾1YϞrq>eZ)sr3Po ~Ӱ=ڡadJЊaC85n}7L~QfڈtWFlTKD|ɯFO-}=TpqZ)ȬB 3{%ÝOTs?n_ug:O=#Xo-cn<}rBšt'~8jqWʱ<V%lR[^7R+'HSĸdimX*ÛqF=SFQjt~v2XZMEV%ŒjH) $q0ޡK=VZQ4lG_W/HDEBuccp,^aNQJ KjTH u|i0BBb"j&ac"of/qVff4[uat]KX#c=[]|n8=n1獅\lAW` ?HjI΢T=NVw'+&2Mdͨaےu!SmOTLy=*,%ܔJө ɆgTpq:+9dju.'[ݞ3rZ\p&Fbn/,jT;͡`1Yɷ88t{?&Pqr3퀘vF9&x"ٌlNͺ Q[kSMwwu'Uz{щ 2 =)yo^ϋy-wvpBDQ%}' *@(@KImÌ( J㩬t1gF&꩒\^V88*ZP#gla)y0܇o8aЃĉraC֓Eb,D'7&u:v-wym j<@6*(&d+OMr.N߫4ǽrcٷ)8F!cf6T{ΌUM[)l E0H%-4j8ɴ`巬@b"u5(vTI4܅ T  귛 ฿n>b$^\',Lҏ 8Ll EErAG ȿz)fncCe-rQPa}CT}9?vrz{qT彖i؜mI\=x^P/X+fep [#"иAoe1U-khXDE&2/zyu,$kl6W bu D.U*+7k_6|Jͥl|MBdEًAp;ki+_)^.Դ{^̽WpT~9Sͬ3a/S4|(##MkYCG/{g}ty($~tLOxpzPRu y?#9lR>&:O¥ZFjp|S](I@Ʒ'nDCeEA [-򅍑 ~MYGs0f3o~p9'b'/b]$Ȅ #mQڵ7o]KwJHJ~B)wyWt6UsjǮ؃s(ZJ 5-`-<<o'peW6_F07˶eA<,,%9楲P=vEÁ`Yּhv ˴HШZ4/E(ܺؒbA]8 &'p)*l=^g 2 &Ex(Pk>O:IwŇZJolf<)=ڽ}:w6r =':S^vuœņ+qeW>a‹ޒTYi.\!x)A[  aˣGipjȆ7[?%R5]֥RZ'M?'"Ҍ4=j-6TiFIqɊ-O)\RQ$2^Ú۰t<1ZE].wrreHv,7"cyђh"-fT;E?:O$8sJaJVSJ#ّiOY- ˭ _߫z{[ˮ`c6¼FwTϤzlWo/i Րy9[}86!#L2Ez}G!VYZw-BOuҊ=9$,b*{0TyfNbEe'm5dQ!+eu%pA\ ѲS/ۿ<~j9CQA`ח?_^J`o?Swm˥_CǤo4Y٢cqWi4 S.n /w~{ݏ,OѤn~~+QGm hόA K}ne*F4B"i# ?8 {a4+/n0Co`9w ~j+( 38!`'ތ0#s6 䗭D`X v+h@+Q;l"/FM,dMȿPkEÿ 0sD^wus_)ȋ)H3o݌oS ~\_ӟc8bw{oȂ1a~C~"C:exhG߿2/??{#~}^A|2ɋ]Wm]/s.c'M~=F%h~),R@¿ݿ+FJ(I"=zBtAgKk8˿~??@8童ZmB~n4_`OM|s"8M_@WF-9wB~Ro9H(7b FدG܄?5}ȯŊ_>KhP(u\+yAQ_!ѿ 6FiŰϏ6t2wN5jwΜ[^?EZ~BξQcR[YQ<?FVM::0򝾁)M?$} щR&i7)\}72^~G낉Ŀ-ë%4 1_>)_}GK!9 +cӪC3,cJ1p yHWK\gl2 l/ҋd;̅|L<wo"; |\Pe[^aFm$]l~BS/8T=*~8f e< VI߷E,(fb8NtKR2Y :(Y 7;R+֋CAH9U8F7{@wk5eu.əSm3JkDUJxUX{Ka +B}&s-1|{j?g 3Y`TcyXOvvE)b8 $DkFƗHbʨM@'x꺋Uwt(0 pd~9]y۷4s8m܉# tJu ,~L%YRr3nhx)()Z Pv +p)шg&cw C^&}$.b:c )IME[(4F,3{!,Rh8Ϋ)$ fMG԰9ܲ{07b OGrxH7vҡ8 pF#nC啷.n2ʖomaqoK !e\Yݚu+÷s|,Pb\8PpâHVyx˺ t䅝OQq$6H"j`fv'.\RyN0`e)-^q{UGޢrNZ&A:R~$1AܧIϴ2D}o]d,N V?w֛\ej<7[:J_==nj/ ;Lw/ ,w_`cXTLJ@O2rrEƉ?+kyXu>gP:ɩDMf*.zʈx{_i|A\Av'ٌ҅.w ˪GYzgwM HY&&B#yRfmx\4ORf }0޶tWPfXbׯlʽ8ƀY@$qR񑷣S@^w }BpRM77K|Bd)Y6o.D;{^.޷d;cL=Ix}D_9tE&F-39 Q1M#z}A1w0j{s{<4ae: ?o2+'0^c B |i =`|O Rx)00:13Su^ ˌ}΂<$;FU6}UwY%e(eǍ$qU QŸFj 8S%L Z&e+M/u 2`Z4$Ḑ (~x5~MLPD!UhP¦kn( ⾍E6&ʿ Nv0UNЋ>O\.GIVH|Ape7Xp> 7[J[i!^'AhDk"񽽛|;8M>6U3iDlS">o?e(O]zQZx~A5|<$)A.-VC8m+Ph,m f]lw$l=c7LNN95 h< Y&ۃ&TCN,ν-t(,bAn,ӽ{*V m~F]kGЃCi/S?Fޱ3DVTb;Q4#_" 2 1h)L4*X0Z@-p%̶(W1=l?j:;W Ywo̅( P` sv]\xRb7zÏ)X|n@^qp0lO,CuNqBp&]A}UG Ѣ27AABɊCOzuKyP_熧8EXt8}<&y/ܗC@DrOo+Gϊ `0/W&bg>M͞"|9Ȇ% BQ\r x?STU\]Ddsq)v=?XŏmozFS ܄M}",ݎ=6E<=<>8YH/,ilRzEm{kKW/:.<Ӷ}{-Jǰ7 Y^E{Qդ筛4ie?WXiњUF*^j"q,[\*^t>?LUk=2ۄB1a@vVQfw*(P眶;XBwqbUUw rŬn]In酘s RO  /#wMqxGjU8>E/r^|dL7II|o8AF#[RH,-"ZHIM 8bnEut<8WA!>˳ 2pEl+c8\69pcTǼJ{b}Q $Qвw˸-x 5=] qGZ CO>U缵3> hyɃ748汣 .tG]nִ|RS]<n{E9#&|I{2cSLnF;na" ڕ CüTۮ'%Pݹ@G#QWftFN*%[wT툠1> ).^]Z--x(0V] : G 4ثBBF>X dGd^Fhrd_5腋jU}:8yP31W%l?`r9B&+_JC/t$̊H\hRħقxVsmX*>EI>`$ [$C0^b٢ 3??ܪ~םBIF0PJT WLh} F(}统muy/ g+Oօ yW,!+tâ&d/.LWePx[0^?~F&2:+0I#^s֥% O+yK8O;\%u=ǶbŤHv@{!e9UI|qcj0^&>5>b-}o7Pzhm<9" یm3J}FzZ,v P@ſG^}jI^rKR>@#I}utSqZfTf?˸fg#02&I7t8| !@TY쒟=.,R+hw4 .Ӂވ%wHjk,6Ggߚ>Elb3IR +@2.=0y ILscE7bZ^9x { փ4ۺՁVE 微ҷr&sevv܃}{|X3 1#-Z~M5a݇u7{!TixnrłT V_u8C"X, vdv8o8nڧ*B:?[%?3 =M]7/9 7{LW uq B\ƒo/}n"psM+[ F>u0VC Y>b}PMa: K=2 tㆮ @%DJU`W q~pgo젻uq))2rt<䪝򻖕#xhX06Tܰ)N}V:frv%(O;CN蒂e.G)S~ z0ٸ٤="do@F;%`Fڝ'(ъ[钌36ޡ~Xsm>"ܹK?yTXq}GF(r #u=~h/Wd|m:I ab|/@2ˍl ;d)ԝXÓO^Z} L^tyZˈ-;ٵ#5Uj1*?&zm"_Gmgm,Wja[=B7C *R;Zla(-Fg$-k IՉEڔ)$3?Ld$ڂ:S?` oհ] yf`5;7uxjTKDqF1qж) &jznG+cˌn3*pj/"U \K2y:I_Bx ܣ"SC7 д!܄Eޏ'&`ʆ$pmy/C^>u$~+4AS DmD;R`i`jx]rs #Ѯ>ܷxp@v+~um3OŮ)=OY,.sA \Ioˤx穑k-%@ZʅD%,EZ70F2nP!E`!{-VFC]AQKnEnpJ }>^ @Deuį}]}!5G&؝0w@\5l}C@o)^;;_HO[x-ԙ~%"QgE A2Ah0ۮبJxF0t$tKuJ\+a@ S!KKP+AOQŵeu);3{irC9X`>3mR谁Ib)WNꪍ0Va_{1 R7H_tta/]d@M\ ¾̦m}S,x=v 7mP]QA@Â>UU .tEM@%n! }B BLr\KJ6D /%-{<<'٠ڧ3ah+I}ol{{zE:r?2GC z<_i.y q#6P}ejR/dJͣB^t~ؙa1ʷUA+SߥcwEy'%mG.guk mWE`L,M">ޯWRFmޛpƮβ>Gӭ̩5\:WDMS2KJ]n S2ٱ Fh2C|G:ۄtqO;9Ncd+Z n!Kpz!\~Y JF?L/)a1B?sV6GjE«㮫?-XҞ2Nm.a鲇nw`UXiTV@<%"\:{hՑ1Z)h̰FַZ8 KU|=%*N]b嬞Է3&8S"]^zW<}z˙idDm:Q>e4/w$3c@;wyzVoyl=l gu(% ԓʵ Zin!=5q"`R3f {ܴiu}^ԛGڐӴV䋉1ӷ؄x$ഉ `%ߓOe"S^ja>4X :!>K">\VUd gǭKU۰e[%oe($s͢mpnoG{u>%%txY.y%.2–Fg"UwVRϥQаcq )HmE+lP:(v bb4ZXAr'HIcg6,ls7fxe>׊բZ@m# }@J{ `yI)Ņ)toG(.#AF6~%hWUX`hHBQ+8엂ػV~j\Y{ ;Hd6&Ci|닩^0:ЄBYbZ3n|-_ r{_jۻ* c83w(s^W3 PA.~)L/jHt׳uךEly)4c"&J>3e:f`JkW?k[l ђ$p:dW;ym7?8q&%K2dz@67[&,{)JV JY^\<3δ>M W}drXt6lR~H]HJ)o<(Ri^"mtϊN'K)R/dDv;0!+Sj3pxp=)Ş"P,5 ~<=i)Cu. W8Jbc_*0Rr?چF<'׳)S-bKWɞ&[˶}'2&oe ^^ٷ eY0r{d*m.cL.UxcrW ^+OJܓ6Me xCRjˌ+FͥD[zXE]О,^~LwS%g@dһ`_+TMy 10oLTxH={\L2&m*yS QK-3@3ehxh}lsP| ּCNg/iJu2gba9~)j iفn!웻3_P>U6XiRVcC0rj{8eGjMܧL38u"7*)0AJWHoؒ["2ǓlϙԀn4<nxdY%KJ3_KLE$O< ?3+~p\,ʃ,Wrg_ ~&}ttH EFXIfcC1޵.,s rmAFndC /f-h&X<5 yDDm8Sy~Ko.|H4(Zy,V9 }L@yeu)3yr@'0zőC-]/cfyx(-D C VdlEt ٜeUf,lN޺d@ᇺvQ%[!'@xFX@ %zu9;eP|/>8`CR qy "~ a\m瘉}a$9j£b>òtSn 4IA87R8ZEr|#q᷄75L=Q,!݀C=|Ld7r)a7fG^rF\3eMM@-b(95h /SLo-bc^$kPg:Asl q+1~ PflK}c AveMPi7v&y^,R FY_BߠВW& g"yE էb~A%;DP(I}X:K~n+b*!mF-(z8;"/sd⇄.9c(HeBf( vAUaAf46!Fr;BI ƜhGŜ4y)'v;Q'2Ŋ)huCIp'/@@+_AIS%Ȫ^h^&x^E1$e-S%i=N̎5gj$^B͝* xK}9YwnJJ=/#4l/4NFEym,+~_T~K)]*2b?Y'8ݦGnrh+Q>&u}옊äC&{ Lr1}R1ݯs Sg:Nn㵈>j^2.x{ 7[2'M.s6zVeFwF/G#~dyHT۾ t-:._]NG|xކ8i'IcFd5<=Zl~,{?JbIi>b.ٶA 6{5`El܉f7^%a66Z$dje.pPP0ǨWL\x& 3^tGM7K2PK3DңL7꘡GS9_p՟UO>-A_RJaW\pMFaZzXLjXўd8b|'?7|Vؾuߍ@a~V]Y]*r_\\wit>uR^pA㵜HEh ۲?T̒0қ`TPpj8~[nGl!BPS不=mrk +|dQϬ'suذY(k}i`Q}5YI^ ӎy,E eSd֞%ݫ*1k  x+pX @̄.$햩G2(?!|yՄcr=-΍WarF$ h iCj-V bq1WG+II{xPeNWBRhcw*`aj`Tӎ<,6-,R/cyM4;=}le6ub2v7Aʜ< U;* Ч8¾_q?~r?vc* ?Gl3=BZ_ؤyytEG1H#T:E EZj%MhI8 29pۄ[64L=12/?˛j7Tsu<65~ nfb0+OSi *ɐU3ɹw7ؕL"!nEU // ia{Z1ޠD PJO|iNsˌ7g2ry![mW띛DŽ,s9 i2X0W{E0!0eS1J}F1{'![s HR4w;Ӳ|ιSCa%f:eT 0ss%q(>jW,*bs>9c9C؆!:}GI[kMIlByuq4N%)m:_sB\wy <z:;YwT<(̨ty=q֢}qGE?f)'HHvpŧWޝVne_L"o {\384L >m*Yd[ ="FfT=X;a5tar^ ()" sgG>=.5WAOO\?ݗt`CqaTc-u^3c镲 xyorNq}R#Ɛ`p 1T:]SFo=C&+_x,>zmͻy P gu.m{ AoݯBv|2YV\vտ~n6hfޕ.@izq[ v]0̈́O}KV-c CKsO>Ldk%2@8GLU}Cr{/feNwz 7Vga&ǶR?sɳ. IAWY3z:$UzfluN;e0`{'6Wh+@0.X* gJL:#N_Ҭ ywX2x>/82 2}䷴!zLa߭h^Aj??HG ͜tb+mssM.BWL2ZOC AOq 1U@B2Y^bYfPa>/WrFz`YTszT0ΒNeH> &@ N0#gs2zKNQq+]j^ǘUbahV]ҩC׌ɀ[_r(pS t}?ْ6_e٘T^yI՜EGyzm`R ~5Dx5)X_:/8 Z)O~9NÈ.( SzNKztiA_/qQƢb-AFC 4'o\_'>D.uZpҾM2o4}j ~SGۇz:SҶ!3Π %QkNۋҒЭXQ\K>ryroZ".o^ҐLvɎ*V`S{2DvD LgD?Lg+?SV{i:K4jj( OzUdGfއ)kĮ)nILSOyļ:k4=\}0EW7j%ԔM9R& 5HUrR̃yeȴ9+ISm-"PykJ 27: ϟF LqXP1<6X:~Hz9U`BRh^yv5; ,<ڮ6 g0h+x43cYb#\{X#8{a0#_i_$Xiqd&~%g+-%[ S!q::#+X3,}*go]&:/)#{V6=a~^菿-da EOHĿXDϒث0S"ڐ_I[ߑ2zB -aO]YoLb@]B( bZH{}%Y[=ǓLoL7PT˽.,ݻy& ?PVNp }Dv4Kbuco&C~E]9*aȔQ Mm:EsXvc,I΅8M9?B!N p2͋pwK ||dZB=X;_K@//WpIsW"1ڜi=O$Irvóg^F4d:?aj+Ok+i mԨCRD /@Z^Kܼ'㖟;,o43xoCڎXj{JRkDY2gQ𦒸/*9pUa{ ,7\~%mj_gUj:?W)|gV>sTHmɲR5D.gpUYšb~d,%e5X#Q&CR1k"bҳ,p+'b8M?K%G\=#~\}gHJKJ^TɇV'Ys" { ":x=(nJ<­~LJi|r-{{-yHS+WqE7N$yPd:;rGuI Cu(\kg[9$X]C}pC<ĸ(Cmqj[2><۟QLsX]LORK\,'TzxgoS/rڮǀ}{*%RIC'0|R+ǽ}Rj}\Xt_#q`rCe"j___nz`(<2xOOVbYx ,"c#Xm7ÅF| u#8QhCKt []V*>cLPRN(:`YQ+0OK^|c(SIV% ODSBP# 藹cb\~ȉ slQGyDz,- x34z cўO8kW[;>"/a<{ T,EM}~^e|682-yzP\_7oVtCoBO" Ht Kȵ0] fӥGc?xGPyzAlAdaaa'ESk/e|$T+ֻ:,q#Y00>xޏԵ$A"YfyrI.Tl+7E94Ac+^!] j1*"L7/f(MVZz-pczRl@<6 Wn TDՆc]> #l6' ~^V9e}!ڳyT(wRjzRPD DKQ^&{׼~GMpE&A^V=Z+S9t}zsky f|#>n:[.J"60|N`@}fyK9|F0}*M;DxY2-/%bc. `GӇt&Fq ʿY8y>XSSr) M8܃v(ʴ>Sh챲z;N)OZ` "LF<,I/1g njQ2> Vū0e"f-KR宿gbO8X`>Z'm GcċA -C>x*a@# ec7;  ͍o%t}>ފKO7d#Ҋ^i*:nR]*7t|iχqZXۅ% +>P/4yV:Edʺ4?׆1k"R c7Sdr8|R$=_+bsIZ>ldb؎.}&}r)D sg٨gr]$=VZR,8#kb 6 I~qNk(L|ѧ,©>W(lY\<xB%A!$4*[ޟo"Z}NfyI)>xI<U!x~|ZcXtOa=t~ѫݦ_wTdΝ!l]Ih ׇ,m &w+-FmLFȐ\|搶g?X?:"\spã ۖ ~orqQŰ%KM #"9oׯ01K} xa07:{Ga}bVA>-X=e!> 4lPᥓLTˉvAnheEP^Cvnm`}H{hoU^^Z,Q|SclZEdexԪ1A@6>/b?.<SᝨT=i Lw\{k\_LϹ#?Q zR Py,s9g*?VGuŤE5M|7eP_1T QhJ͹L2 O(x!/1UQKٸ_¥K qZSO GIHvoBLOʩi}+Bi՝Y = ۙLcҥ#.NZˍjaƆUyki9^ͪ Z ̹C@yxgbbG>\@iBXK~JE5' U37ڬQ+wEQWB?Kڝ Uc]W۹,:Ϝ勪(h.EIMFjM&5OV6'feR$dm҃H<+/ol};rHz:\#p"AgG}u]305END5ͤڗy*F$m HNxAGqigtq *ǵZ3q, {#`¹>@()M:yF9iN-9k|ÓӰ+e#9VdR}H슽য়wh 5u̧'A8U>sZu/{$o:#Sc|Ḧ%@,KnLvU=|up78~Ar(j[7v橴CGF1´HDw8u"$sؑҧ5)cIaCSd\]{W|LRuJb7XT¼FjLWW7t0Mip]R9=P_ 6.HW >{M~m+Jhj"^vy7)<) *W[ PK}#eVb(aZj6fJۘx`s ۤ7di[ iA{ _bbuB,]V _K@'=>Ε<:%q~MksRZX|"Vur!ק݌o̝>So>Y!~cدR}cfhgyeﬞ)Kql hgAۇbaQV~b!wU` wK`퐗y|ƙP)/`:mceX^g/K?G9P__:'3K{ɳn5z.:i*`]w[O ``c@ EkKX\Y5 Vk~,q-mnk$STɊesq-*D. 1aMLҩ^pM嶋=BOSⶾ@wUll(6ګEK2 Ff0HN}95B>s 'Z;vA}UNM]@|av#`.:ɔOZCxerw_ aB%T)]Du=\ԧ,nʫshFh%r}#WU863c6l{)!\Qk<ۺ,|Xdr"d)=mN76tnݒxd am̀4h ՇŠ͏mOx;]7:Fv^ ֐R?!w <13,>9r@KwMJ*tafhqroJƖ+4 XN7Rz*}%̗7Ȑ:p _Do,tIZ`/Db<İz^3}/Un o9:_SdA\ 鯱$; 2 h!TjJVi3.ס/H8*k,tn>4b AHQTENe?#-!>#>Ȓ,p% ΐ-$|.,ẓ9#RL4Yo"ԾRVrȤ8mlgy2ND^bR TӺX?C{"i>W>f?`bzMOv-`" WԫzeHk_`cK!H[RKߓ"YFܦl׉wMP@o|љ6n6[KK͋ h[Qـ3b"4UP/MG{ E=ذaOdaLӟ@.k1`XjJ"GcNQrҒ FRc fD^y2:;4(s n(W. 6&oe*" |:̉7/ݜ  iQI2OC P>#{{i&E j3MD@ M3eا/~[?F"F_^ ]D;|I:O CYQK?n(\ZOM_xH;@$m~32~Z jSy'0?e&CD$V+hsvt?ݙ_ݢuk̅v߮42g&<-l]bjM¥abE$7q$ңJ_dx/ڍjtfg42JsV-p)"[4:NF=`CLt"=_@ VRۼm`=jpAX3llv bʦ(_K]'¤;߾5u|n['lDAv_?ě f {19k-8푤'\DBpXb?3{1;NKNbS~]"G+p;΂g.y<2š<"Jf=MA;dY{G>ar81zuc vq1Aha4:@(Ģi>+3v2 |Y؃ʉrVCYq1Rb-xwwHv^4ڪ@2#-$kF(4u`t"m$PGWCgzn>`Sj= dVl}2#sJx,LSrgpCw ~ond(K ;UMD n]Gq~-Z>HZ&yyO9ϳvZKN%\ٗ { #n).+A;4jmۭ36Ʒ- V$1,~Yp&td/%Gj5s\d`5oqpsh˿r%9_Z dF%Xfh_A A1l-Є]nKBl\79D>Eݗvs!Up{>m&idG)61- dM v̇hJ+_|jSd A_҂j8Xzp.eu3 짚Q:%L9(h2_;0n4>6fW^L#YrUa$WLda&-^O(XR?(u sJej#t0Xm1ͨ=KLZ \eXRbwܜ;' $.'#|bDfT෦Oce$N'~M\I6Cqi-t7mRĺ~!ou}bxQ6G~Q+5߅iuu} { d%=E΅FO󫬛# yt-7UBzYS9u'ҙ @'=&o_,Y>WJu+FlN^sE5AHr&a*_>K;pV2ܚ*.{ S^ "5 ВAs")@>lZnhR9I )H{Cj>o9zo\yhZR]sڒ8goxD( ca8_ϟmha) _fHY-RF11PHG~^{INW`Sl1Y`#Ouxp 'yM[Z8-D0:|(M?#jr8+ut Q.e:|8qNp`5ѣd@0OKG@ t03 s)Oigӆ\(WeokA4|?WmG]~ǟ `;~F}8XJe^L Gꦈ}=W2"њrac &s ywR3m >ӹ50.;w(Y\*ˀÄy>`|Д9]rALe$/uPJ#a"/{Eׇ2+`xac6r?f;.d@$T^g+^ieɧ] %Kשo:]@nH<~[2vo e5ΨNHA<XTgoƢ~xwPtpE_Cm3{v݆6PThf }wx`@yHVkNt=ZJ3NV]vw끽%(S7rȳZt~V`,Mg~v垘K9'`aLXR.74se,H)~d| ki5^XbB~ͣ7䊸DUQ;8YOWVt_[م uƽKS) 7Js@IkJZma`)5>e7<YNޘ^n1Y+MHL]}:!\wS7B hr?ȿfsmR䱦Ц=2ij&w\ S<_nmb+]i)Y/Z˅.^iz ج-ʈ_G^qUr4uM7@mH3ߐrHEظf4tD^r'o*-3ЉG<9'N2:.?iE_EM!^RTTIn&|2-|Z`%u4H̐ tJ?sԍn _߬ zS Źrg!({UԐU<6dqF vpH:bkEzhXF40/zࡱ2Et jHFv*] fU#0Y!?1C&\8,WA^bi(FC[&A=5oÂ}PcIzkpFl`<2 "߶!Pt'{,Q! %`|v&ݑIdmFkwdOW.C-2=mv 3H}URW&_%<ͫ\D֎4xeuis+0\=]@#l^/MI^J՞›g"]@y^4]ۿ>T|wUCaoĢT@aâ b5@4fė: ,Zu8h_x]DXay9{֖~f3S?.콂c0ONNLB6 b{U$? _oiW܅t_@ԟǓO{*<γ^z'{9f;3 KѸ ^)X<ĺ%£J&J˸C9J۸6yYY72/~m+F0]WNA qx4-oZV4B6& ݈oiw3q ki IrɳE 48:B'_vIKAY`:jBWOcYѩ0j"ipA%XYW\yl??5mڎдt%y 9 mt.AIxGkpȃX+}UXT'lyu T3;Q֯:7ރ}VP͆gG /rH3apay~Ha6iwo[y2_D<Ȥ$f^ 7b-'bK@9ŽqC4(ˇp^)MaM1ÁL@qVnEhk'+!Qlp3H@8!mT },:AD㦉#,F"#X[An_NzUĽ~SJfgDo߳]^{d }_zWaG 2ya _C~cܴ\GO<`9 ֙i>Z-v5Ud 4 ;Kx um v~TC( 6әwA%]ߴWC m߂IUޠJ{9rbd^m-сF-{G&$"֡gm -F_ԟ/N^ E$1UCS ׋Q_S˶a^]эh  ž`En?Xh F(oBU~(t }o[p|L9k?%Ʒyɪ${aÈpuo!~Pe_G~ynQo-F9;^?]_8Fw_:O/s! /WR}tx+!D⫘VN< yZYk5%ЊU5#ّ֡cyF@UCd#b(T < |ǃoWHU M*6aim+_1Jd #?ϦcʏɶjO RJv xtQGVd4_cmI{4(QIn"yA,R|L G ޕNyJOC:/6.CWMxN}²G+ &˔?>՛w6.HHƴ*]MWO!-o>$=Sx rVv{" /c;K.Fu'iڈGprSNx]A;ۿ!N*-yzixB+%׼8(Cpa~'(+)S*Sf(] ^G%3m'eέǮ-Xb˕ll@!?g H!HbmiS-t8k4we 鳤ve6|5` >'1uͤaH&y6#awqj zGe)s }J+4C%TAMTY,Pq^9Xtӡ/ Q?j׿³^FBM_ ^G@͵MB= ^h!lr#4xC7￉0+g_׷Zs 1GG 2LP4?c;V/k%/.?eHtu1%/'CAJԜ `E/G X>'Q2%NT߂5p-ڪ+Ť;Isځr|wn9^r1 oTF95G74E &_Z4h:87جLao/8V6 ϑ,*#gkv0' J(maVwKkȧђƼ>pch4;1дlz:nhNm(w%2#R%ft3g( ܾٮ+t {Ʊ0©[͖?w|9 [ SC ĝ$f-t!6x2@M*Hί\M&ǭHq4;<,%ҼzA+N/qh MM፸uGT->reH~rj >#;ϙ mY4״{skbk ucPY_E.ɩS!bb}M>H! ?ܣ[6iN/SL{r~W5@wU $l"~9{&/M?pPnς?=8 "{PʴMyI OL''' t@?(Xh=BMe]\b ML))J|x{G|ބ %3%c::rHEx;;e ̭|yÿA;{Fa!1c W=V!y#kHΒIl&I\Q2t~ ZD< gf] "HFlC eJ9* qr]:/}PXoX:,t"mjuvnî߲HVq\AeBSVGuGKoW_1Q"Y_|0elLI'tY:F. hb5 BLsAZ)0E.p/@9左zRτ]vPC4GU7lqp8. &fXu5kUX{fGU0_e)^N|J^us2|G씑B^{.JW!Lmy+?YគϤt{8X;!N4,3[{_p9`:R{_4kG+8 +LMJp.Z[m\;A%`n#r>NܘDBtui"><۱y^~s58G.&x--AOwI Ҕ(lHKy1iJIaUGHDaK*m<h1GaOAYC[})(_3ѭ.H_M+*^Q\Xh},%͋Peq"5.\}n^b.9%r/969.&>c IuJqT޽hgH۵W51i*M,3rgX7^'-JS*(88^9<Oz@m6ӽ;< [u",0[Ei^%H 93ɁhLC(? c ^w3)խ.Ki~[OfGTz呰C)1$̊sa+='$ 7+icچuy}FE,p>Jf:})D"c0ưV:+`FBZ=OIuog-[}y̽H鋉$89qY`ih@Mkm`LVQuŭj_ c3'TVWq^N '4s!$Y{RU` `x3ѓr0JPA%'oo/F$}S|}U}x0oN =%Yҫ#9./ N>I} CYe0 1õ􂌗]oRRxILeyW+{\_W#W?!4_D)!L= BL3FF.yj;-iRwl< 1\k ͧ6׀Eg\$*^QCֻF>eT2.ʺ2RF$WsY8x[&mbOif?%^ 0w"mnn7C˜DKG@:9W|#; u;J4ƽ`v.P^æ p] D&}U?|5>>c>$\pLJAE{ɏg.'}t@N7RaF_Oz.mGmǿߺ5V]/,q"k~6/HQ$a^MIHĵ)6"?ɾkz=Wk)`Kf`|Fѭ)6)EI44u% /zyJxF\Cd·u]D0/,\Р5Retut~*l^}^ JZf]  Lxc76Q̞UUHkw8>* ç/gFc[7l |^:!c"Ғ[aM&E ')ns'x!:'5"-e fM]/O+dP~A?@'@ӆ(֒d5+$>V*콅;ߑ|Qd !bFt:{ܗ< C:D`K]H^:~􎎅 `H!4̀\ Wq./)5aFsFEF) ze# eшAU9{(sp]_#3V$3 ,\ER~*>bd>)XӶC-xj~VGJ"\*JKd; uT-#!F ~nԹ"!kqޟaoO֡Di3Y 'Dk1ADa{wk<3bC.>/Fp=)ѧ`HdgLzkŅʐr>A4.mA'BӑŌh^rw0sD6}0Lf۴;${[7Sё(]OE[y`*oh3H55K NZD]T)z^Sa>8 s/Ȑ&N2C54Qo6h}hM8X{DŽCO]CqgSxiFV=?/A!+t:v7|W ,*oZvia8+ݘыspi*;9':swc =Q?Sys_21Se؃>쵑 2ܾwLkhk; wS_Z ]Ę[yM̦a^Oy-_4!ؙ5iNk.ox!8IV*/K~b]@̨C 'x|7$s + f~&#sCx-4ߦ `QFtV/ LBaq6'dj\M&z62 GNV=o&P.6І{{K!3fX .yJJǭVF8GF3ƞ<)#`7W3zn.@szpgtnoeq+K'A@t02"xR@ (~Ez14۸+9XB#+rKׁ&Q#(2jzd(f]ơcQ< [}̘'_-'%r%j](5uFgD^W$+\ZjhJ>"%  }ZkD?>eA|a!Wt}H_HfDG@)El"jұ g<#:J f/f8Ub %ƯGqv*D@T^`VT¤)A>ljJ`f0,[kK蕬bp'eL+4=+>2rj߱t(wުUcU"kyz48/i VS%um~Q'HG.*ҶƉ/f^{$- & L r߳&‡A-:H(h\:D^l>(_צ\Ӡ;k~Gi^ӘV}-%9^ FaבZ{)<-UN\oSw {UZW--s& Y_i,IFtҪֻKUម)D،a1UJIۛ'i,"Vcllf,x;OOixymTu=ɨ߿fphii"mlsV@6T >S4a"Mq<~];. Ԯ%ƃ3Ԕ0PLN(Gkc-MbnE^-B͈uRpnCL2K<;áⱈC`\l2& ~s%mg_Fίo 4OZ-Ey?UICp__/mnFy_r FzkU35(ZwoQNA' ؼVsнi%X4^*@Rl9mhJ $r2{{AGC ]pMglZ9.KHф@NB^#%^{6^@Bwеu}@MR$6ME<#QFࢨT`YCo70H򗐮9܇ĪX!uqf!'Spuvۓk49i;+^4"/e-9! CmBrkGs|$^V_&OݛO6f6 & *8szG;6h[XtYQ/v6TX MrABdL$=H!B&v]KUW۷YiI\x2Iw C_\ʣ}+9<<[]_X&qjQ]pѿm0cx_rccw_PʢnKLR&Wf/?sgY|є#T>W;7qxTw-1*c,u>O>%6Uҵ191e.@@TpWˑ 8ZwmBfc$&_摕CƸ߱rO"%2MPI#D^Ɨ0cSGbL7~X*ȾOύ<*b`\} .)Y ؿϵ91*lq(uT7^]I@ Ú\TG8m- jZ0Gq# ʷO~HQ?S^Jq!* vaxU$úUz G#ZD\rh D|{@1e=pJ(j].vPّ,ߎg,DxxHCTtHK˲vb̪ƹY$G9-f"$XF)Bu_G4GP4vS|>s?2W UyL`Vף89^jZ&3Cx R>ߺUj3HeŬQx-wJ] `H(eԣ/Cb\0ݡZ% "MS|E ʸya2^=:NS +/FaQ;Cb*E:n-S]~7` )q-f*+p6?!gEY%#Hfש3k3m_$t<\998%> Q0*+ʐBT'2zT@k^= u+aUI:zU<9Ad*穚a 0Ȕ{9ۦu;&u?f9-L r5UJq3z "^TXL&9mRs_E>ۛ9d)3#&TvIؘ3xfi@k:uqg,&kg8 [Ti;[WC⵱B_fRi]y&mr)5m\j"=Y>:˱/>"mI 26)"*{r~"@W2cL}mh݆ICĩ NDKokGN 26!@/+y[83R%^b`2ċNng򵍗JWirˑbY_`VG^~hu2~1c5T?U0/R_y}n U6XApqe7M,gzExVBX  ţiu.NXZ_i.pl9 ]YE~I5 |^qtEj?|v2*c4_1B0w~Nq1Z/'_G'bkIE6=UE~D#"ؐ)Z)( :n˾R+s%Es N7ƒ~ f$COCCyԳiPP"bqFpL%{ =-17D;|mv>@[X;79] ) ( .T熕P$qB abGjnn4̺Ίּvy_g^[UT d A~($iSRŕVxlLg|xo1?0W̫wK5E+̰lzK$XD;B늯yrH>.}=/l{L3=rBKpUg\|昷Fu\5.(rg|}PO{(h>_1ێ po1_D{{kRgӾRe$p1RgݠdUWL},<CR9(h8@Y7 ^H6Z4L -no tR~*C w"dw>Rӳ _YXbj Q%g|bd^H"CYlLzJ~1fʧlL?~T%+H T=ȹLn)u"p-)~SX:CNd+եEl(,*s PAMo1/Tvb4ʃ)<9uҨ> I^ؔ9>o/ 8)c1W!kiܵI`{U!'ej]Y"Jϼ}|]s81οTq+ iڇ'ws ǎU4khÝ50)_GJ?dH AT[/1kgL'L/JOfZIX M T_/bsPu'pg'#w{9fAE+;m( po矑ddPPmj)!izRFZb-z#Q.TcIt'8R:A:H|~WNj0.} nIw $}~C C3 ð4v]̘j0mgmTsW|іPonbb8K[!lےl&t~k&ڑ+q(!?d /iz Wn1TE O38&# [ T crcSTcOڬoE-, _FQ1C\KbXاJ,ܸXE)?MsY(szf=.f7nE_3ӵ<퇴j(4s>es8T62:xgtw|6f0}, &_Gh $%d2\ [괡,)؎&{sbF΅`L+$r҅ 0hC\s3B#DMg1nBÇx}c4CUv-jz˂]ҊNy3MUVjv8d{cUR&RY_C#o|Rlcf(Gt@l Ӹ7 K)gJM|JKp GV/+ٜ{e;b#zbK;A;Ώ+Ug֧ǘ+ɳsٟi_K?>ƒ΃?:7)^kPun>.O2+>4˒L<.:qײX ׏ Yj3vL3iS)GEDe! ܖ^΀cLn>C ^ yh%uD[E?1 GjOǯF <<@ԮRWi*(6Ie|$9r)u`ƢCº4 sZә$J;ko aR}c XQl#'K#Vt #^lҔr K_[^\ #6P,,07^k|S!f20(wsG&Br;V6q$>Pgt{*vDMV|YAO@Ш7\ڐҕ)hbWbVdʴ7zNg%+|p枸idpbkD]~g3 oH"S[xU,$`8#95:lGE/ w)Pd3fH6ךdZ ͍'X#>K-]=-|Me U9I^gg'jR^83qHoJ8ovu%\Dc&vQͿbowƢ+b?G:G^R30J!e]1pҽ7 59d!:ը5 ȭ K\p1~( FLng^F:ɹb3ă`E_Uœ4͢1_|n!?3VB.$zTNGn<S|_\{&22W(,#9׆$3 cs)3yZcvPñI d5h:SŶiw۾ۣq[+\/~]c2Hµ\z>Z\H Oɷx؜T{$qT%)\[ػi3j]VOϥWYJuQo`ю$y8ycPUDQj9xHU\ $blDswC%QK\q^=tͰ S^{a[%aRɱrd4V}n//o "RiG7@i#< i7ڪU]"|+sX8J f7Y}QZUjzZ^o!-W7Z:W<-#pnWsE@Fp\JX?LQ$]r!% SC:HpCG Vݣu/ ^JקI|cK_dln*9(~a3 τOy":gÃȏ2 7_!aBFA|lWx!7!ZIAj|KyQ%1`pǮjI> ObkƏϕަG}P0=}WEZ{4(X̺Nb{Pru3¾F;aeLt%VҚjzcf͗vt/r+ H, P7^xŌMm{wM;W C,DzƈFo~@펊K';=WKǼuvRx;GM*+;a6&ߝ:r 5٬awb4*UȚL(7d _ISN{S'kS^;*Di\8THW Rw $*o1Qa?rz ّMծNB<9| ,zPXfR SK0N}>@֥Q`pDeVUΧ ]NJJO(2!zXϨ <Ȥdrb>V*HZs5楖d~.IGR_ NTCɊ=duO8V .oߤ405֛Dt6(5Q9U>T@Yq?w W|z,bH_ W4U  rU)dRYy(pCFH?+t0DϷ~AZ!c.UAgXQ6-_sUlGg`|mEE*st;avޙdr"Q_s$7Of~lXYfw(@8k0#qӑT0j)1DdOKbo@ )3t~2~5f>nb/k'.g-WCJc2w6ڀ,\:gFxw/1"vNT|E]T)Mɇ|D,kp{~2W5zX0DtɠTDjd+i k~Cg(C8)]8>T[뷠"0(%-Sem Δ$Sfzb^nX9mdHVyvf<(͞B⯲Ȅdi1F}5#Z3Jn۟ F%MV]7`=Ag8 S׺B3M T.dEJŒ2`Cmr:&X=yDt?7cO<{/]݉;K=WL'֮7-臶5*x"{yj8J&Wܹ`fj'~a"]Ξo?%=ѭpZ1oܱa5onx5mGm"<(|ǣJV`pC;`1$\?~ ]~G7o⠜)ecHEj;#$zaKD9r%౹X.m|nv)Ht~k:MWi&Dk|e/g8 .vqCŃH|ШKH,l?LO%3u o|}хCsnD2YUl72stz_4]f m_]'H A#ő΅=.Èt{ ;&$a`CYJ]E[tW=D"rq|5TFy¦-@"}mpItʸ:cM!FI<@VpSzk! vy+X$~ 18$@̃>W t UCV]]_ES?B pYfyaj`cוc"݁^*a%d028^le)*޴[XtKmTP2' "_lγ8@BFt]  &z9o*X0RRR v4 p<7:[ ^_EUu?}VݵuL=i> G\ }?c0֡s# =T@@n[eURK?(<#[d1+K'fЕ&'#糸 3T⡹cj] FboaPӉ (jۛi$_B";N0u OyS&|#F_P?ϏQr~^6XIz3+y+I%m++]-C 8 #٩}N~RU0Gnge$睌{ Rٛ +ޣVU\e{'Y&pPܰmX7pY6^;ۯ>z-a,8x̲} lWGz gKY6X#^4Yuw`U(GQ/Uϱt b7" g7DH*r}WL SĻ[Wj*JA& AUt}TҁRܘ~X@ȏݘ^i vE1G$SeY e;U.fy}OGPW%ml0 :>5‰, 蘔R9hml9F„6|fLP*=*ibB6!M<;gu'׍ __ʩ]Ãv%QٞZ[@w0;=dH6/ubʥd&p~WYw3TPpXVRHbv}zHI+ XA~A<.zåCJJ0Dcߴ2`y̿ѹ Jb6r,"UP莌w9HOcfXˇqDJdsԢ +kTVgx<'dfu TʿI&T 9V涎c3BQ+5T]eGr+:1ThdJ(%A_,׸64^Nf[^[!4Q)[4xto鐪]v0+H{L |LP6* V!LK1=čIe O rI١BTw6d?"jLԎŰC7Z%ű?>çkx >~bo70BRu#CMՒa siU Q{\'.0Ҹ&L4r~OWqܼ,#dq4da[!7'I=c ^7̢c8*X%IO}yvj@ M1a N_4\2=аJal UQfį=j<'"h 㷈Dx(@*cHVDQp`@"`HOBK.>՝Z#,ѫ_X-*AMԈ .\ry~$|_.Βʀ{ުHC׆1 *mZ9[LABedI27=BAۖg)1}qEFM9n qȴ)K!WsH&mǝȋzbIB7yYƫ=PwGU]P&4V/Aobe_/2vFtN}Ɖ^mәUi漄:oGGY$%wW}Jil^"e!v 63ЪI_6>žJbBA0z}=@L׹ MB̴siχWQL@w~my[; 'JIbGGБSA]<^{BK}NJto70V`l4 ӛ/[dHȦS"a'/L_ɰI,}{|T&Xg26?0,VhQޱ`ru ;I-hVn/[D=ӁMJ1aC`%M>19YC_XN"o./vTi t*j?9R,wZ9Fԋ\)IۚXo`W޻:pZ ]LL%aR%2w;9%/z&n凮YpHޫ Osi/9*\|\nQ1<13RG>ﹺL֦6^cI;=Od3*5f=s9&B$5}=o"`$9U Y!B~",%4d(/9@/[>`7҂uaxX<͔JUSȎuJZ%̳[$֠3wx_ ^}T1(J}0m2}*&ԩ?y6RO$@_P7iQ9.1ԛ8yg:W'uYҾ7Xj[VJ>Jϋe|K5%4z=# ۽dMYF}ؖ>qr^΁5^..uqlQmfGmߒ,yvu[5M9zyMtHֈN>kY&"~.U[]6ŊpЀd|ױp+0#M]6 _܎3;>}$[o]ΈDu ׏.KXhw#Ŗ%qEaqˬmp~߹ ,W2_d^r"L Dh:*`/7jcvA%q("NLe..TĈ>S܂vWܛK!Tf^DΔ $u0KRZyj3GHuj8nnB;/7uhJ^5>&@ )44VlUm{i?t "uy@̚{j ɡkOG2}_ Nlzꍒs_5qW4Q>(g4/yt#l-5æxWlҚk/Lr*G:t-D3W;""|w¬S2eKS|C.*>/xa<:MGtV8aPwA88#s͓Ny-!`X4dfʹ IHy8:F ^= rZsIe ]UKUv[MžQNK-X }fqs}.v>Nk08n+OkS[.jOg~hm%,\ʚZ;S 0G,9|7SpՍ>X{1pO o2nzdQԠ&5mF[ua[f%6F}'K~oӺK9ܧVE $49z4Ƈ´d)B ^Mlmv-` Q\4퀡P{¡5URV_2`"r፳ mj#/hy5aE2)!m:T&zT85YÿS:˹̜o#j+\Kj5"7`pxu=qpҚMorH6Q,]OPoˏ!?tY5 lXh&Ma4yp6W(`sR^~[i8ƀDIg5$:>H1.3$$! ;F?`,6\o,Ɲ㚖V:$"وT}OÖWkIwzH0zVZ@ѦЄK}MH3`۝]mש )zA$'s!/@){<;"r㧣qX1c.q㦵E-ǓG{b =yĪozs:f}{#6OrHH_~b8ŵ ZY+LYhT^PDӛ(XSGÖ#-;=(078 ܗs2V҄+bv_tsx4?`%KSx|NDL][o8 ;2*셹(s1`Mm~{>UH # Ю O8e0gcF.˔e[y=Y1KH~QDNAeR`ߖvKiGvsq}QN5=;GAfBnT/q.v`B bO%PThh\]:{?+*CZp9@M-t}s5ϒV;,7( -gAq5|+luױ΀ /KzSq[}ヤ*7,+^ّͮrFG԰Dncs۶X>Ȼ=@PY$CXa"y6+V/fW8z~Qx Εvm8l:)Z )c#-: m2tMAjR_;5J xhѕ!kcO~!#y=tN79oa ԯȮ |x~a&mn m3Rg6丢;v,>Z6czTm@ yZ0 Qd/XN-h@s~]:A8>Fz)*GTXq/_ X,At0ROvc ?~[vSjV Bq{oVT8G3[$ly*o5a飁"f ^ErP_p1dVY:B/WE54BOv,4ʾUnO'|s 1{JFbWdylJOd7H2¦RED/97!*&/4 V/;0L͠ICF_Ly<D߲/}.A!5-'tiRc*B[DT&ǚ.z<4NZ|aoP邅R ^>zB^B#^2}w߂؋r#=WhHS { )0Qr[[6bU`wuOMVJ( |_-O&9ZtcMQB)<8u|Zl}Ti5 ^NǬkzץhpA`D9aXT]c$AH0{[=ܻ):GhF/G,XeaRȇUZn.>KnđkI柂<\Go+̵W oL^{d [iW*%Uo7l8ڦ;)1+bo:j)!F:ElݼP_8XXQVTqǽx %7<qFc[xjw0>mc cqr3ع6oOr}¯ }A>?^ " z=osˡlerXP/@ fRa;+u9 ]f:TB{KD$>ݏ6ǽM>yCG苫5qxsTq=5‹!!Y"~f+?XXWQ`2ZajhZYqŔ~s^iSRkr~oy~yՄV1Tˬ ,À8ԃ,Aro+ \W+) n-EݣC'a _2.bӧ LIZ Z+Y.Eky>\uqXcRھ׳7Q >m=$ k򳳿C8My>)ͷiQ}3ϣx}!e*f@X+},|nҋǠ2vBs,oWUVg\!};-0)t(RDLnlà]"oǖ`dO\ 3^m"lѲȝ); yջ2y>b{' ]nM- GcyӔs (T?E0 K)n*<3﹍S1ʼnᮛ_vc,lSpZ֢Gc+9E!E,=͑)0b2 ay[V_/h!6Qn/=kFU1agP$>NQ:%p:32kϼWUwHA[h}ܭJgFqvA}mq*_@ZE4<4)X,6&L{k~I_CغVzMSt~g%qPnRttV?g_QF=%.)]>)D}3[7nE>Pyp5/jjTW}%^,V9:ppf#'׊t2bb J0yGO?mKȺB=_0? ƿw?.τ@#7f%s0ߢMDOE!:܃Jf`:ȵ8D…{t ddX{(b k17eGCT"/ɠ;:Nߑrh6)zXb5dv؛r5/rk13ٞh<;61@wQ]LTOffGrkfX&OUI$ڂĔ4(]ՊH=Vc ۻQ8'{5z|: y5RohT[z _d)I-S(/k*Q)\_ PLqNZ:G^0l1 8?[a.a2)`,DvڰÞp+pyP\a^X,qG]1u>ϼ|P?.XſOtr(rQoQw>lzT>$Aׯ㎵;TV1T^?Vni @6GekYHj/B^ncfe5Plpjp4_+S܏<"*ZAd-|`E[4*:jRfoHb\gQXbЄtEX o=m:-c%DjRLw ~ci ̈́E\`)0e1:pfMq2Q6Po6Q@4N/N̑JϴD,Aы 9VЕ3}*g"EuFfW-KjH> DgҏjQaNi =Yk~VZס)6c*m8𲼂zp;h?!#iZ"a7{0E7a\&T}mWRo:+ FcM8儻AZkAyRB"۹͛RSe*6TΚh5+z*y( 8YFQ*G 𲃷 :v1gp &r~||J)=疲ExA.qUPfrr1B{Qf0 :=Q

y*;Ӟ_w1ev秿fѺa;O)n UτD-^8ˌݻ撒-3 ZOR3xb `@#@NuLVTN̷UZem l: ~q@1a0m=QqB;B@=L #q5ַoOO2%v/gU .Fo ېQB[^JB&]]jo\KIE@ _KE=l!Fi!9Kv6 ,Z隵i[kՆ7^A=?k"x@,ŝ3ͳ eQQ|qgf;Glsw K@sܥT::}Qϒ~gWlx6?c1ʋz(A;yzpow/DK% 0 Az1h18<8>i9 gޗҫX/^גmEZWFp4O3:c+3a2;QYNpeRd5w"NtǸi/ CeD|g0kX+%<^;^XnXG'7bcȊC(G{._݋v@D{Eqڹ)`3LO=c !̀G3\3tǠ Ubu1];J{=uQTBF66{V)GDT`׶uк͖ñ 1Rd0&o#Tfc\i OX£rex:)u9pŐ4nU=<>ò:b߯'2 Gr%2!I y=d'{/4;ɟ %+pYnkISaC{V; uH V(yP I" a*2@P'}f6]4 ;vYvqf}ot[h~ nohcvP5i4toL.y=;TDvC8f9azGKW2E+Jn c^SAG֡;-OyV?nJMŇ0vƈ#K۰{b֨N(] hP=f-pCe'}"vOiPV%4v*?G: b/Tܣ"BjpW5Ȝ=֗ʃOۅم|aj2|~ϪjU!1MIMT_l-YP}IWm\OL9?zMS=<oyPyE+` - K/ћ3c;yEg$Y>_gTu{\j~@T`QOW:^ol S ~ b_[ӇU!yQZ6WGlbS |RmI_"P ̆BWQ1G~G(8wm 4b4y7Ii 5A] ގ#YA/ꦘ "o AtGy\H [n;ˈl&g`(K?OPSH.Ҡo oBJoW4(S69=i oqhS>~i-UE|)(&&h/,?/55QIlf%\0aLȈC@s+5 gPp> 6.zĸ_DsL @{݇S/;ݩp4Ul.bof- s'1&>yvI} vhUU]%&nAK6(™a)ߞE5oN\-oʟm,8׭C0Eb^)Eui`^ΌY Nd:F',@,\DTW'Ϧ2SEZ!s Mh jEq$B߀жɉ/m rA&E@Mx֑e_whx~5;'޳vkեvVy~E˽u荬5|Nn-Ѽh^l뉻X0. \]1-{9W_IE0'fQ~ -QB^c xm_ԗH¹5?RE/ wwjNKm?!Q娶TV>۰ q^^Fz\HBчf#xG!..y3xmGGHBKۇ#\1csfH.Ue3፲#_=9=@VwDG`[Ô=`WlJ6_F)?..p}@6;Xq`JF*Zu/~ӛr%̗iDpƎ[9Dup@ruW~(؃X[$]¯5 I{lqohGNI$Pƒ90Byp܋_j5 ZOiȷ(ӫ"TE>ڌ𶠔"`WEJ"ZPkq:k 3D5)$dGyfM 7$ഥ/Æf=dB9o/Q&&哐h+G6inw0uZvogH$[֗]9UZ 2Іf⸢,.ͦxȀ J^A" 2U#j8a :aM.ẶsAEnEY{mE X9ߖ%;vg':|}D3)8 Jiy'zV;s^_U"5jﲣ([-L$D H{R_kK?xLko)TN[e^^]JTyթK:B92_d DhW|3CsxbIc#*٫qAc[Vh|׎\)^8\)2j%X`6d/1sJ{$ pfΆ)eN{ӽYaSC ʹ;ڠh}4dO쾼]t˘ {o}*^ X9KƾzR6uAƀBd'UjƿDъL)o鈙MI E'iC4s(W>gKբ~Qa,cv~frZQ38CȄ¡G}3!l.vKˊ OM=m޸;iފ*Y. /Ew#-\yB/|f^7xDkkY f9.!LaSPos#xHr{h55/&D]kskPՉQgYJ2 N-tpX~e76I.ZyRe̴3%m 겗jG* 8()Dz5 lXj/z*w2 (5+4C04wCUFƧl6NʲTW\#ʺ~}e==DNu~D >i5:O(O?N[B)i^5(P0 H- IW(z{Vm,r+" Of#.qؿYp_E0G*Bc8Znc >[LXg|s{CTT]tkѨT;*O{݊VYxqLM6 p qlV =HA$999[:eut: M穝gd!,b/ p帪t I(wte]~]ј-ZRV_^LěSgAƪ{oKe;RY<*~y-_@%G5+%$mG%T*_'1YZ.LXA{f?~="{QSǒ.}.( +9G}+Ri"LCA̦Y[dtel)IX9FiOq}R流}R:N U 3 ,Wk2ʭ뚞帗n$AlI.br>꓆VYn˫po&` ^lǼǒ,!'_? l-#̲Ve*>ְJ5TTVG2åu߳|9i`XAtI7 c/S֜Y'9Zߺ mTb.ڛ1.t]I}gjh뮨 enH _0r$pTv:廔|G5v o{8EpXh=!3>3^%L1TŸ>xG Ԕ8RԌ6;$gC8:&xSoɱO|19fyd2L3ͫ9X5Xiovd'PWc* g/[׵hM>涮YL(|Yw`(Z$IK:}W{4Bq΃Ф4{K^x3ܯojPVl<u^;Cs+ 2~e "m;NiC7pAƣ;PkT%71rK#.Xz%;)2!m^^XF@LHB8D?K\7Dt(uudq?d(P+'="qphٵnTr7n_5oB/;0؏gJ Zpsoq,ꖖČċʊ0)JAWKPakX)q)]-J융4EŒ o*LMdt}ܥ5{Q/?8]NŒp\gOjm]JŽ_-e3|i1'Sվwq H6bu!FNҾ96Baٻm)c>jd _hM +[mG5AhX[;u.vKM="a[f?>r#<7FGa-UK$r埮jZy@?;%?bqK) нȥ7W:SPs7)dr#0}mC18[; ˅>Mv=n> Yb@Oi ݪty 4eh6(Ʌu #;Q`f`(R+sC՚ߠ-_HUNuw+ `ZRp0;?l4* $G?/9F{zߖzOzn'ucex``w1#A@37.-"!=;˝u}Csæ/M: +@횖(!;#E_NEB赫3J”1 ca.ħM}5_ꈀ&})ӛ% ͋@`pj_΍e=Ycq[Z}b@oa!7e{ &[jp|fw={u>>~ ͭy {ґaFnd#W)?q,D?G}͈Jj:K#mP~3>=XVtΘR.Jn)&bܚ/-rɝc3)Wr{J{|l5T/eת"uмh# ([𱄇 /\&Ӥdޅƫ\Wx>)Q.`RzZW<|lB127o T>.|B賲Fi~zJN|_OecK}8U+Lt`@5z_4|bISGjάa(%.Vz9-~C֟l0ݕ q83pدgQfT,d#FN+jY0BMq,m%կ)vȭ|[EI,د ?ƶj~[ORi{.ScE[2[Mg֥YNF%Lu fdmw#lΖAVqVw%oH"{U t9I]ھgS"REwpj2~)@_QH\_vM~*#?8GLǙhtC Th4؆'l͉97)e i_1>sWK]lcःOOrZ4S$-OGP~!٫qpIt9{|Ue) /N1M0>L3vew~ŽcMV8SLQjb#+fu.olqЯj@1+KעPDNn]_>PzSHuO O:u$'/7fo0icfv>c[͝]FOb̧? Ņ?<zi߿h}$cc5A܈Ym3{|1PH`@uj{z EO&UR(1,-vFw"2WƩ3cGuk+ܳԖo,5_pHWbmSsA)ބv%DVSo{#5q]\<.=G-Y;Jť篡hn<闖CdF՗]b(umjJWo_F `KTxKxЦn{ၒ3;M/-.2({JȏI+39#,mç?eX״:"Id=N>C.D*3=iQĪ&LuzoB?W +L٠bv˖S+9G3t@?Oܿۥ&b6јIH]|tPWWUoh vHIUUX 1,2GC=zHStϭBqy߳N(yva9_K/۷sn<~ uux[됌(ޢ&W"죺{Rgy,{jru"@j9SCJ%g|٨ٖ٧WZhLZX= Zr|8 9r0WYk䩚 J_?*²ɳ2Wǐ՟&Q9\K;_Ci?A;TSkUgǑvxҠEoBCl^}eFe71dU:R%biA\ *8m[GI'ǠU~*6g#QD'qF&^Mμpi$]mf%y^mifX!rA5OQEZBA7_Oж_榸զ0vDуع%NJmUtZevٺa75 A/W֮aG뱥2 o]В3mIPܞVfqc!Dr%yE^T¿N hQF erCQxdTCK4K9֦xu{UUu `Z=YȔ:C)Q%wdS_ b}'mX6QdBqb-u3 "5bqTѵ:]Đ'ªL}8FlyޕL[۩|q|1Bv' {+LJ}DX  AqᶒeD FZ"R91*2d)He:c3rKRO*[kɛ]aT-ӭ6\q2uQF;@\({']@T+٥.*M At66L8m\wCūRz8WRО'#2 T_v9iT`|cu͐Bqev[_eVF i7z^\IC}-,Xe>a>lX)iN FVδ 믆@K0xGsxyA0WO| G)(UǎaKcFޜ&>I|ii9=Ⱦ*KDB06bc B4By 8H|"ŤZ ʇ ZR|=:x?w»6c%8b1 L3G lN䝇1@6+ yԏ6G 3ZAȵ}8POI aa,΋.h6hmڬ/.ߊ^{2+YYu7&sX#_nZt\ ۳D4gv)y` R><Hz壱 I) /Mt[=ͨzLNy]yL"mi$Peɝ/M[ZŪ |K˪:B}:ru$^f ItTBj LYy;@kY"oZ̰AomޘLؿo":PT7@bR:'ɛ;Һ]@DvFu]&V˟PDL1 @mv${ϸ*{xމ |}#0d2g*(Ŀy:{Rm{_o>H%xAFBئ| 6Ӽ⡙$p?(~?0Def;﯑oψ=Ո|]:BlCIsjg{veI:\Gc8}\;\:rSpkx6+}[.;'AnA$^ݰYolmj"h$$<Q\in^J=Ȅķf]N >~Q绳C)s~қNa5 _=.2;2 ۞-u,ʇDL$cfDlO,F.`C zD]$ؠN%=3/{_ PT4OBAAGWԠ1jy,":x%$ }pNYUz,> "btiw!n+ ?b;WnlvXg/Ӝ?4: *#Tq&r~JaFmqHICao k1ZV}S8d "[Bږxy3,yh/8FSH}V*3+~b?qps,frʋUd>Hs ?@U, |ٙEF]"hzB^ 0DJ&}^^;B ?Z5fq0`6lW-;Zln?{Q?"^^3q_(998)ԣ1oLʶ1pU܆-;OWD7Kx- #dY`@⧈m@vWJ!@:+y=C~U { W/ٱv:XK/ &y{{,Ao&8F6E$ZޥG g!Y'O܇yWbdF hv Tq"⧟=4~CIvIlS/M{UgUmh0b7~ޅp{)/~Sk]'{8E:W5.Ini7&<m8EZW,!Tc0XRs k[Nԏ@mM1.o|FédnC(Ȱl8)~m_b#`1@NN`iaoc _G~Y]s19*0SLTـct A4M ȳMՙ~"dg5ّ{K]Hu@z|.iRdqSƦ'“9) _9h-_~VyLY>TSt~m~7_C]lU4,nɎ+e21/`0\kǝ}5d 0ƴt;Gq7;u3O.T30uXF]DT4fgam^~)0#L~n9Lr;3~ p)|H11 ڔZ>> =|uX߭r-g>|I.,V/VЧ[jH8 ~SF5W'#=ߪʺO_ސƻr&-_PQΊ+r–Q6LYηX("BJݿiĿz>p`Ik>ٝ5,G!d܌)I"RI0’`=,J!ןjRi?Vee#NC(͠58B:4iG@MYH'n<DhQcU6I|fh?+3R6q޷b[V2 }˼}8%~_4F365zHk}[Ïw*JEcAhD4l5%y/ 4T#Kq9Hfɐ ,<9黺.̚%*_'V>ߙQ凥#ySo ֛ #z&s;|"FCN-غM^XL@„ /ܐڲk! f@$o ښ1SR}۞UQQ<na;mW\:T돩)Zo<>+pͮՆfžݚ)抛{f!i+K}x1vE`$^ءeJCQi`ڍBe;:gkJ")4UcÍZBx>]iI}Ϧ}JDΎZj:οue9fjAc4fiurE+84cnm<(|| `r6H}|Vkh=cS}j2`j;MFHjukJw@z0* NP = D`ˌ(Z?t@"3oJKs7Ў3,X?o|UIùgs.xxLG^ Zj?#P~W ,AX 8 VH .ϋL;1]^ا[o%7w>xZo+ޱx,l_Qta0:<4 J%hQ]2 l};(ϟ<.KNJ;~{ca^I!uN 6~fqt-yDyc_[FAtin~TSH"!;HHo|ak9RW8CW[W *|>ˏYWrsy]'9Cʍ#77$/y½u"E>3=@*C` CzWʱU6C*9d[/{fd? '?uZ,KDsқMz}$1gr -տg30J^yJ\`-Fz`)VX$.+K(wû<8:$icP$$G x|t@+_KN߉;"s}\Ru>׷6Lgk-W4NjIT+,sRʂrDDgnۓ'G{`ͩz,?N1 #^j3a e-C] tWy9Xk[yDm<~g5gd@Q ō^C`YrPA Tz③ NYh5t\dxWEјY-_"5-N18y(kN6HTSÒO;yG-S/l%7ӽkr狽~ T==oڲyHƤyȞ`VKFKGhdrMmR!]x=<2(;d]]IiQh!b[vΆk̙(b>*lmV~ &ǽ=LǎKA!ok02y}5$1.`g.O,sq0`Ixn,](Jٜiv^Ims@0aK(1G~-xm^;gunõkƏ{11LexA!}= m)_W)+/RJ9C>řyD#  W9gV1wSpN"ΕivNbmGT`Y1פzsgr(j@۪2PRw]}.=éd5L3Dv%3}|675*_- $ywk0gA7#?ظDz⺲WΐOxɫ 8,zj;x٤q_BvUI{U][~xz2)'z=f jL'U)%*J:&'}S?#@5 J' ]P5Jqԧ,(nϔE+E;Iz3Yj3Zy~h/0O>J"LTL!Ҡs ./"xy-o+vuCr.:(uX2\mz.3dUi—`^SaYSӂc8iK]!d aC!C%VQә!^ȍSn5/7FTx`_:@駏-5=)${f[4i*fuy 0FFYZe&7ώ,myOIn=Posqx.nɴ12q6U _t4%K$9k|7"} ~W*J9;]Թ{s![ţ%n2AVA )kԦ7LJpGڧ)O ,e%_)EKp>_";}tU~qGHf-=,df'B/˔I-Kyq|5eާ=rJv\do>kx~\G))XN713zIT 2 젴Ifx+X.CTK+ '/qU-ُw!{_ERVNS+g^=k6g㳆/h}RHD{_~ KfeXf@[drI;ӈy-[z[ ] r|B=;H U5~n~ճipIѺl/t+?7O=0˩o-yrέ^ LHz`M4|)  2Gz^) ⚤mKb7z+p@ >[0Jt#4K;fjn\Y!\mG[S ,|5d^ N(4{E Rɣz/.cGOׁ7jAkƖmIȏw]H!0:\#ԥ&F5kk4A geٹg,6+-W|֣np]l|͈ۄϣ5o,^qBIe_[&_9ɜ_mnGjm%h»SD$k7峍Cc*31#m>jE*͟%i8}sk=BPIb9쫵O+-3(1wM1GʀPYj9V-a݊fp tT<ѳI6,+%PY x]zk&Hix_6T0ÏL6{ayby*y[O7N?l&$ZoJQF5exod_]\ܙ^o()%р7>pa&{4j_2'Dc@; ZZ+cj9SR/7v6g0vH ? t^|N u:qPRxJJ? bW]g)eL$UZ}%.dה&8>lRH\ 6).}o19.ZOO֣7M ' DW6S -%ĚΦǛݏ ).jzI5 |[HA<0#RwTxX H(xaJ(>8e2!B wI8@@buGnY9D|ݎc _Y/47T1G9ei& Y+oS[2ι{FeZdh8Nl ֢/ _>QZjϗuOLʨ0X!>^ ^Ah@h6h󲓽-wDD M1vޔ;q?ط ں'#jpeQЁ7ªb8JI[wde`4 rY0"pg1q!t)g甆]3_BouvAY0xrF@%!*S5%h[N~l ϗSz޻mV9b?!XJ˳H=z|bNkvS%LOizI9E9 ~2|dvy.}VAƜ;^"ȋdT6X䧏݀DThR{KJ,cCJm 5]Tr÷€'iPM_ThBWw"^3J67=&'mLX;dH-Isx߶^ZQFΰ;ry'j1I~+0f~F8SqktNƍ@1csRYNB-GgTľtՍJbjiHxid }䎶±ض9 kKT;=>5F;kOѱ|4ښ|y26g /hPU4G YY^H?s=IB@[. HI$f9vL LXuTw&5PNZ k)٧&VFVk G2ǰφCUoP[.PEo[j*ZGs6Zw0_ڔ3Iq]JUxU8 dp?r[\u5oWY8ǂDz?k @QHZ+!"kP7YXvE*ϳ83x)Q[ye5Zoa/ c}sbD0qOxRzU}^Saȍ!(#eШ[[/EU!:oBwP 4WS<`>bIhwW?lg~'xfߵ =KE)7qy15Ù}*vV;:*;ʚīp d[P Y yt?=D1* ϴ.,c+esW|?p@SmցP:_P*dZ3M$m=`Es]uysw?8NXw/ek證 SSs'p `ӲF{rj]=-wÂe}R֧cob>vo=.H [lJ`GTK/0:zBUWpfӪwզ!hWdLz YVH#Of4k٦5o X~E2?v>7e)dΡcҐϭ!G~v^ =kjddo \=_*pjsj5aC?+i߈́'.Ѓu{X"qҍguHx0o9]F4#!>% x|_!ʝWzG]1j!j~!-ևE\_e`A]X_'+=[ >rؠJ;4tMȶ=!\鞒z`ҷ?DEm4*@ee`/2"v`?wxVԣCPV[o/ZpMt?ze?vg-ng0i[%xwF씬lu}6 7a+_"9ZGB9w2vm0`(>lF9̶[b/s#|9iL#ΰLv ;f}!}F uB^߱,x<pdw|xt!CcdS}.0htKAOuCދ_-aqOW> Ը.DK㌬]S>e48d'XAYk֌rWtus(K8p{]v1 I GBe "JLO`-;Ζ{ì78cyȪK(H|qL5U`wvL2E1S-*,h4>+@*0Ƅ)C=.Iٷv rrv1B ;D;Pn[G0=[y6m)#gSe'1-_fv YeXxX3r?{\7_/ - FkL4od ~;6'EourQ}C*+%Bnsv|8Z^Ǥ"&oBڪ}|aP$WizWXR+фnI}iiMR޵I,D*`>xR]*6]e>b-9 $\ae>PПH-D.̜_X]CaF.sn+l+Ώ/qe y*ς#s /N >WW}2C"}T& G*/23x)M{:'[gkۉqVןHzh4J8ޔyH@S[47I %B_KAII6DPkX3=q.|P-P\VLTf=,yO@<6/ÃE5u՘ X:I{Td,Vc?- 1nȡDoK/(A0.ض; `O'n͏H^\o0O'R3૸39]rN[s;M/,<_ /zɨzDCy"o#An}13d3[ݶ|kxrpжL4i?Hҿ5Oc4ӶюLti_JSe;x=gl٧e>xOd茡*:Tl#(^p<:@(vmu.m)Ж4fXFvMr0i8ʿ ;}iөYHka0Ac%2Cf05>We ? }XAfo}կI92S ) 4GRK _c*2i!tƽ!$ OoE=oqiVq}^cm.5=R`Ό+ߛd]k ͽh/*%\zN^-d=U lh{\n 0Qեſ+qCp ۪I(j7;P,yv7wB1W)"45X,}aϭC.&Gu_y-Œ^CwwʥW,o'>@lfw۪23^0~"`=c#vJ6\I`^{&C 0#y)2ET(G4]aTHzh <,$SCܯkΪ5].^(`ҙ Ev٫ۛk:N|ʃnxe>WhpB`СJ"Kn09yD-־<СK^H*@kv˳T&uGi0  1b?<T S/ōuhZ9^֭4,1H(Dǽ59[\+RC@5R=j>ẦLR!{(^7'ձ72ް"%+ 7g7Uq*Ke&?C uW?O4>[VVX5&ֿ<)&a ɭ6ÐrQi= E@)XyKړ?CJGHn= y&>kQ!C ,5NK3{HUbH<*mmN^ܸAo1wYi9l% h]Ó"1]dl.ɐWXA{MP%FI4fNX%5~5ٶi6=m~m`E4PTJzS$_ѫapԝ%Rzn窬2l]gڱC7`R/}Ƴ~*n 'Ư'"9W[]A-y4G}[yMO ClG!T q˼ yq;$OnCx0Io*|/tk@.an7t[xhUh1zF%KHH_) &[ԽgȘJU0̸<$tӀ/V_T[l3}>!Xӧ9x2Xa'1R xj>I}7㿣3çr<乆Ab*?G/C=^2.|KZd*EWrUr@&I௸;7nYmODB6bYYZ|cq%Q5]sP]n70dMXWMŕ̛'׃his bdq+`wʆ=`8iXo8!u7|R )y麂()Fg׻ܞ`nRV2`ƧߟKSDkylU1kX:1a0bAۜ}H`NF- kY(< gqs)%uoNzu!?6:! oT Q؉EXhS>B> W`N&x5]B!/g}|5j:CoU)ޅj_y/[WdMJ쿛@AT{3  iL2Lw J#LY[! O__sCg.B{2"ASb:.3S(cz~10! lQ( {pFMXH(c~4]L,(۲?&b틖wf{{a]_in&'[E*n{`9LTd:Jan@Y"K'\dOlF9cp{簍VyFme:nȮdr\K@yh E3]~J6T׆*_|]D!-uNS_Ҡc>쥶zUcVGPThVQjFg~t ( u2ce"Wtncp2l_l-2=i*<ȫ0.gaM+59y%@9LϡׄǡL֑q`,p9ozc졨P '赈)Tj3xy9%\Sɍɤ_ oďVq"8 ߔئܖ=K̞_>*^3e͕ [UK K=X" 2xp򢝞3#BخcUWF2Z}ngbc4@#DSor4&(jgSj4HrՍX6>V o(P5?RpJ)-wɪ:)~yHF8oL`=V|wyBKy X-͑լ"״tj5dw~F*nnf{P~ǔ&,_;P16@(%KYwb7n%G+ œֳ-#4G-69 azynO/7hӿ*g[kw`^~M2`FRj_H$%zd!ƀ/ڬFw11h'+eRu$ C󣫫 ~~?Y{ChkMW76i pʦ "nm0s Lo-A,S69gس2~x~t0Φ&y .rcz]bӻ=&Um &>ÃuYo3:q:39Hz}œB|h c CBG}ie|¿]XzExR8yJkޙ; 53Zo}aƖl\ʼnA_rg乳0T9xvğPy:L7t+JfEv ;\^[ T&-]wѥmfH *riّMnҋĜ"'_C%N BcK#lsnf7"S !8_T͌.TmٍQtBJ-~H/H U$| `kC6R"h2Uw'a~N*s}c질97%(2}xiCZ]N"D"hR䏌@ȨbYB=ÏN4JZ_[&uuڮz񋿽)c/ oan!k|vájDɊqLhn 6"^O 8<d1<$c)%sVKhtmp1ʊz \3F_YF%8_L@-Q KSgU)\lQ*bB6 !yUXQ_al1zJ_R3`wzCp=u|@T+Uce[Jzsj^ˏz23-ل 1q4fQo*ꁬ~q6cd7L?uAfب)Z:2e%IxWX5:ڪ}0#W)3Іҏl|ބuʯ~zOj,l>% OJ?M'F1&(+K\'c^b￷[΁ɬ<;c/U+'Ek , R3\oدz]يj}(ٛNRhN=(H4~qiH׈IAH D]NlW˽ 4 9IyP]dzXbʄt=pk):1sVh{䂧=<0ctA<8wY@2j"hl%B 3 _0Ed4M.<2Y.鈹C, wCT4&8~V?kߗ@cYKK-]'I*¸P ^ OYy1]n]u oΫ ]=]y%쭑`܌~wDjBTW ߵSI1+Bᶢ!YO]'NӱuyLQItDd*4ng '~UApЈtO8Ew1CJZ#sV'w9>S LZzEo[;*ǏMN$oqGc㏔zq;IiI*覶[ ԏxL{]q]j8}Ȁ S\wr+Ed%E_ƉtyTrǮwH Jb; =y"|P 'pm KEXV KFH]#t099nYaQ{ F%B$wv{Q0v~]U,f2&;*l.chŘٟ.B ([_= J י2Y-a%Z (>-T7{יϡl{>m~p/Sw >QL@~&*y}I-U"4ZEY]%ϺrcƐ.o2^.kdTixbPr l"U[?feɶXڅQcu/c]%љDku ;X,bo0j9_nb0(4V("7a@;dx/t?L 3߻V2?V@vk]oߒ46v6 Ұ&}ӖՉCB'DYW/T] Y>wg GACv'܅4r oqSFm4rPUo̐~Fߏ?|hHQVB{[ti7v]||RTԉ|* > ڭCLY)? 2JQuϛz16Cx# ιya]ג\+Ǎ[ˑX/ N ̉ۺ/e/V5[!= 5fzUPuA/~ 5s.}Η`@HQKX^Ƿc)Mw9컶gp[) [iKV 4a; EuI\cqzg$AqX4V6wD̖fu\m>Ҵ [ODgS]lFH<̬Nr2>qՙ.eЙva,=ъi |>kgeĖY/rM29$.N܄l0^ b u,z]A&&cnd 0?&4[ذ#".["0NP_㵪$+]=+au.77ϟG7V1ؤ*~! >TJ.:jJs}L4"虗 ii1g[~+V o_aGP_J4<(_13@Bѻ lf>'ա!%{t|zrt?N~+6W3! ZM1 }hbP2$3XSe2y娯 c!O\|&k l3CRȭ/'GQ9BG_~3T[Y/2@)h8 Dsy{x8|DHR`} ǫݦFuWrL;6- b`+RJt=3>kx۴i6Y($[1o}4vUhGRQ-kPD^voG3-y^s~^8bSE'0Н1Cy+KoQu{sRUfm>7~UOmOU2P'#u/ ?X;|-iEWOgB¿B HH:}jP htry =bG:ƀlX~f2Ϯ (ܩ*d'ߙGk\A}'xa{yq2/kc\ _JL,ֈ5TX<1%D0̗6U<6 g(D<=8`bqT&"4Hf3D ?wnx ± a=qVj=^i .)8(l%2'bXlqȔH6)X ] \>RKBUj?S#C] j",VJB ik1!9ǥV{_Y!Z%>#~dyHT۾ t-:._]N;+| qNR+Jjx{]Y*,Q  C~W$ wi"d C*$ڴzLnՀq'9ȫzk 7rZвk#RJwqtb~·r5o{IۨT{. t9Fg31Ɛ]}mĞy3>$XSH(0C:!= Xt /} q 4k}^Bz*pۇѷe:k>>1UBJ)ϝ=* ըUwG{ ֺۗ6=/#~+"6c}#˴KEwk0M~wgN .h~^}ɰșC6T%F;Gd+¶[[F!:{/0BϠk(mlgڂ t2s`\b%6>lciJn_3bTj|uW7´cބ3KHYmoghIǟ$qC7 glu6<33*Jn*M~4/s~QMokN<(o p*/Cx&gZ^@0f!mH :#qapAl9.f `R'<߉J@(T ||91+؝ XaiX-k/ M$T˘~^Nnus_5ljẕM2'Owrw k~ 8$PAt6.Ѣ2ԏBt_gnAEAg08[V [ɮ#PɑEb *SI_Y/gN}:,=ש`u^z`j* AO#&J @;* DELarh(!4Va~Cҧ“wRpa]WT:/Ph6fIx^JXG^|YԖ"D[TQ;:sƒΑ|R_c VD띁,4~?{>){oNSa)Qcz!Ut'l wQ 0̒ߦ! L¢И (Mxw^-h7xlډˈ4Z~YV͆TA !Rm_]un"):gcX]]?!Ei!`b%&c\Mdf)l_}n3o-R4Ȯ~7IXID'$K8O4'i$@r6Oo>P"DjoSo2ȠV7#>>o6$?Kxl8k.@FaV蟦T!ρ=*dgs(n+0E0C܊$H_^@_;<ĽbA38M?'*]nG ;ndBz;7 MY4sd`x%a NC`>6>sAEۡwЦ V5 F=uj!*' Iv!s_eD1A"!{V%v["S#84*GrmwȅPՏQϵv@]gz~R o {@A^=CgAIp'1m!ō}DlsT6|?npĝ‸=)^[Ҧ'|,piȎSo\N U%RcMל2kQT?zX1OPgz .+(5kTz/(ށE*)d Xƒ\xֲUJǙP@mgHExq^/KzC"̕s#$ƂKw©M/ %NȖ\r(,HF΃ؘ-\;^J0MWPKJ4?Kr}c.RW?ְeW%ݨJ7..1{?acɑPwHlU|G <~IU_M./&i߹YQ58pɬkn8 og"1_G 3mhD{x1fzBv5tet  +1w.b>XYUS.ICgT{bYUCd F6 q>JZhSOb x̣ ?口qX.YOiбjkQɺV~AaF-ˣIЍ틳=_3ir±XdoW|jyYhvZ$&awE 9C䜑SߦrA#r lT|iFŸVA&7o<ŀ"RP r1wvC@6&sj}q:]i+gl3.jyNzk`,Ricj)~)@Oy2 .C:JSv]CrHdeUkZOG-`y;a{*?إmqOt!ֽ0h P5WȎ&֜Jn_bz| ûR?E/0~+uW® tB)z /eld~w/S>Z&B{ádP~YٻS)ȍU~nɱT\~,Ŧ 0B$eu*m|xUf`vs9y8?؇!' J3qd%^^|giQ˅;,[ځsq=ip ތ XtfN:1Õ9޹VE!G+{Ul&vYȧԠ8ko*!quT,3u0TKwWrFz`YTszT0ΒNeH> &@ N0cdҝ*W&Hw彎1D²ƥS/P,<= %?Qm6D(1.9Ӌ#3 G61~Kッs$Xդ<`} Ȣ$*hv2<틿~9NÈ.( SzNKztiA_/qQƢb-AFC4'o\_'>D.uZpҾM2o4}j ~Gۇz*SҶ!AJ4 %[#pG ,|2&'/ްȯE\tWM#O5?2WO׽!iUw4ʼn:dN˫܉Oݙtψv/N+W~ xubh@-Qܫ:̼S֎1] Rh݀)yuh%tM{4Ge^!̻h PS6H(L"! tTI1AeD"ȶW&q&N2rdxuhΆB#$=h^cTR>Ix܇e4j`r Ԅ IǒY@C"Wfw˩k,BSʃxIfXvi8Ѥ@[!ò_Üa,FlӾHIxVMKVo[JC>t2<tFV4gX(0 H"6wiT:Bv]MPu^SGd6=a~^*!%=!b=KbL-jC~%>oђ~GȰtTRب'NTY ϧEmL2 )ƾ KȚnkBdj.-k0Z K.]!/É9u A :w:SvW +zx{@|"d9!LkŻTky\\M*Ϩ>zB -aO]YoLb@]BI*뵐K.z'c_2oD _uaf#7i _k8$ wJaWێM_"3i24 Qԕï΃i&roU,(֦R]Oxl<P6VjFs|e7D-SAL@Ԧ^L>o=`\ޔC\.'ӼwG.ԃ~=:r4{%Hi|ΛփD)g7<{eJcI@ߨv2N60M8D(eND ^)n kqy =n9M8SGOK u*I\'ڏ)3zE{ÛJ⾨RqW wq(ga ` ?ݘ$(W=UkGqѨHI;۷򙀟DjK!r9{X!M͒^Rp]_s_5e2$۾/.6/ =  8q'!YrʕC0Zwt_E|hu5'*߰wH0ϼpjlmX*| n>ZJɝb~j\M^h"O\5L;mBAөؑ?ZŬt.~0TzOr6pJ- 4TzWoq( Mt5@͡wKRG'OD:ed(UąmOfW@(M>RG׋?{O}xvU>l׏P~SI/J*؅4bs'r{ا*uźL'5y"l0Tf/27܌#Z+k%p`"26%v3{|an' Mq(yN!=a囧!ʆY4NF/|R$I:Ur^ƗIBb2>m}>1H][YI~_X!e6~'q/ KŶr^L4 Mr]^έ r;I!DXyNbD{L?YKϿ|1n=Wʝ >&\-bAPyEO['E͉CyWUNuul60<m9Jǝ'^nbo:/QRlpbCb^5Q\ax<AO>y *k\Z_7_%l>u0 >båYG#>ɝe~b~IvQ֏}st0SEֿ}~Ka8Ze_Ju;NިO-w6\ C฿r9J2'{)玓nSd =UA&^Fޘ3|R| 5v(+U2W^ 3X%)rar_o>QK>Myomrx"1͍`Ep {}!<[ X@ܲnĝ`y E{Y`ƷG>oťFPGaziExhJ;$P% kæ4fȲb.7U!uBcB'X@CyFH"߷n*<3zg۞T1;̖h4Rc<4Iz`;ܑ 7HWS׎Ixwv;(ِ7y7b#Ij9}.Ut݌Un薓>Ҟㆵ^ K@wW|8^6}i5Xtȋ'ui" cl16ˑ):D32Woq"|-⮈9&jc;Vn޺ hb J%r]'Ԓ9oZgZ=uOcSXjGK._up4TTS#0`&e~;aQ<:8G3EpZ DnBGdY?COw/ @w&لPQȽTz!x|շd搗r郇o#}]W;oPE(CLg_Mm(~GHYܹ Y–%r}(`?~돰ۂldd gmi{!K3c-bE8׍0< m wM/'W] on!X$a9b)&q.cZI 3i}~$݇*Faro0V AC>x|-bJ?tx9q.?XtV0i:HsbnI?&V{wOd_:gIdl̼psse\Փ Vw\ty9tL\G!j<-(By$o%&zS(mG |ot4%_db(MWنQpl೫1p%uFvVv6sTOިNb4t=q_-s_QɆ uvb$:ȆJ(;N01xeq\QG 8$_Õ:=Y ȋ|aYo+{"lȸVNT뼖,M[~jYϸO~S;W*+d0svLP4Gc/,(sKnCR@P`˴MH@}7.k ȥ!>*[r}aio)CHޥ!)g\4/y>'/~۶ ~T$+z,?>LϽ#?R zR Py,s'9g*?VGuŤE5M|7eP_1T QhJ͹L2 O(x!/1UQKٸ_¥K qZSO GIHvoDLOʩi}+Bi՝Y = ۙLcҥ#.NZC^50cê\@iBXK~BE5G U37ڬQ+wEQWB?)*\ւW~gNEN d4Un$Y OKnw'o+͍2g)R w]6Syy$PrύЗ79jx`B= \.8j 鳣ۚȇ"\'"t՚fRaˍUG8j997QČXq ĭҿjƄk\ՃWG Wq#((V%; zcgH[.!;tD`*LdHtZ'B2-)}\264mJ %LYLz>l`a ]4mK!M7y8!8KLNy `( ҉}2zV"}F@p`SuɦGj@`c@pMKx^Y-kq,V67R)eEv{IV|4c\/^ H|LN]jQ+<#r&`=AFEqtmOZv@}.^rK@ Scxh^ =/h2~cnMX =ʏs9:U,DLQ-B]@Ce=eBЧ,NH$>jF?!8hyFv(T|9,/~! =yG[W L %]J Q ; @ ]n:zy'2o]q6 a@Z[x ZF^rʓ-m)+xzPjܛғzFw뉯5#S%/D!"5s<99>~HܚP>T.zմ#Vð-*[!cE)Tfk}%yd i o". TTҬlI;d H%}SX71޳#KhUgąí5 QUD1ek!5NLV5Z))j+fh+ε薘1G0>}NA~ />Kt1-mR7KmHWI|IKPǧh&{KW\76zB>*^#;Qr4/.-C1+)~ [ɴAV؍>D~l]# >;&Sts>n0Be'ׯKB5 !vsV\[Ï=/%sj$ҾۓX2wV:D#WwN wһ\;'"eoiYdR}i9f&u,jkd=1gF-0rDejI1*+UJ;I@o6Jy6%5})q>IHkϞ/g{oTh]3wUrM~քg&K܈!6΋4Q_uShiDj&N+޼6m% >o7'\Q xaBTMyԁy{[7i03  MvH$KI> 'QOIw}JM}G"O҅? +7/%OI$Ԕ欝N -="/ 2ŻY.v;Bv3Oapp@MD`8 מeO;NȒh|h 6+!AI7ُ Ho7/nsC bV K1]ٟ1SU83`TNdSʌi+$pdn)fƻ?C*bXWlQmUb%J?&?2s|I :gqm]W}p][V8TwO~r@[Au]jB%'jUP q-f_Ƥe[Wr7= ?YZc.5reY'p-l\vɣ޶ݺa=Å^?e,O o  `ԨЍ&uNH,B$0?)K@A6 v*&@ z`W$ Ϲ.qQ̿~SC$T3kGJ~0P=߅e}@ȌO{2< %, V#ΟWY7iqG*%g^"a[smo4ryNdNzOX}ԯ诠\ݡ<.sU9SD Eq`2L®U?*7qz5*skrj^UVO{/䟻+ &ϋM~7z`rikh+rS%**L|r, 0!j-oq:;TU>~pQϟmh9 _nʣW 6hcAs""%i9Nbߧ<لc"ڳv1NGvI=CGN6*Mبhv_ڶfuYx7K~ŴSu X4%Aq?վfR5@,2/p)0:"&!$oB 4yZJ8x-lu[(q|bM;6L\߽2\++d[5bj;;'#=,|U35h;M psZehG=_" ^P&/8,ȱTg|ska^~zP$U'D„؛}>`|2Д9S08Bk*e.sPN,{Eכ*dxsU5@3G6! *j^(ie)]( %oil]pRtr`L}2vo eΨNHI>XTgod  ?J 2˄*vن$d7ٛsB^?21f )9؜nQ/ 'cT_CvhkHMhxtE9J,?prx1'V1 RGGm*wћGB S,{K/] }Fm|VLjwGL#ߏ0πI  :B=}-]ZTv例P^4}j+./D;}lefbhtyaq"$9Luxm[ v"EfWG[˝wBFpΒoe'D g,&]~wXo_M.^}XY4-+׃һ$qH'9Te}Pʼno`Q6~@ LG>t@1^,4LLxUz_ѯr1ށv '[̠?Ƿ R_qRYZZoMI0ńUzSwXsS.A)ܑ%ԙ-zT(DU "enFFiKUM,c%ÒTҳx]75_KAu~1˯+?+Fj6#cx{+k=%>0@cXD ~|~( *^LS AQ ϓ()iuCwrĘWWmr3OI$+;ʳ5u>;lEl]Cb@=yU>n߫s{QOmS_VCpbSƣ;yLQ"FujrQGev}1+w _`}R~^=#K˛vq^;ׯ2T%VnTDȬ!ţ$xq$UзCp_Ljubhd1ȿ &vjc;>v) mS ͅH'`㯛C1e5v肥 oTdC'5<L8ɠCwh길~_DْhAP]%ùnzj0viynbieӴ9C.4L3*=6%7/\j~~s.O%ʟ\ȦzcuWSCW& $G%-iSLSJV?{SP~iԈa:Q_tC縿eЋ䚮H1SZ솉 I&4H">K5`8 ]n,&x*׽ >AWZK[XD2g-voO# jm%{|"YFd:@ʵLRn}y~1x'^PΌrO_LʘE͗xsO/LڑpNl?QG67bi ٳ0bvdKz9zǶKo ya 2LcnP[XWL"<x-&?4P11,ؠvË gF~胥Նaabw⊨$(دY_jEDwqUK~r HGeyHN$YmnL%<2Lsa¿ #6e!8ώNr3vV0 0 QY)5lPJ~RBŒA1E%Nwe\[G|x0ڸ@6eY972/am+FG(+Τ 2X|y #FZ+\Tn'zayLFZvF\gE\b C WaS3i0X&0SxL*Dwyd` aW罣)a6-}GA`hMM< kPsf߉ XR yH|]M'{#&W]!@0Z:s=/hX VÎ ֔R3O.tWJ?CuiAgc.pBۨd"{7Yu胈M+G|9BG?R{W;U '(Hx|8*H{vw{EzQ&%c]^R)sj.* i# `ƍvrqr^QM}o ,xg {gCBiuؑ[8joR-XA wWX쀿Q`\fsN6Mi BtHi׎?ۓ諪A :sn@ɼؒǍ^[VuMd*c@D}}e@CYQ” $b, wKE2cX*?l 5v.mdS  ήP$$'gqD^>dy "~_X`kv3mi_,P]BoXd)@& [GF<τ~ K.{uX8w~1c P$,/} ;|Qb7ƘvQ8Y%%⫘V^< LeZ9{ک5@dʰ24Q<#Mdh!#RTǃoW)> MH6im+_5JKt #?fꏽjOIJNv xt1GVyQv7 #dAK[+-cxum)oX+9vNg$ kc[ yf*Rs7~olr[{I'**ck"|Nrz)×7M8mEd q+YDHߎ:< _K &k|o.XL`t9Xtӡ/ P> ?zUB@Bֿ³]BB-_:^G#d,^= ^X!nz4x@7?8g_קݸ({AF 2E-P?:NEWRGhWÇKbn㻌S(iΏAI#,e T(F]z'N0PLf^5pWPMwsݦs 6bU/kԨ(ky_"{joЭq#봣p_DaUB-A'UMs76"٪[&y x+g\C7XtS,s$&K=p"qNߦJ.$-ƘRdZR%: id9O)!9ʵxĴ"[N\t=^Zm}U)%|ۚN!c挆75.v!xb8vU}k|nlɫ505 BݙIaCWx~?ӡ'H+ȺbPu܊bnKK?SRGK\P4^popG^#G0@ʓ{0D{bx2ф=Yb{PwYોEE#-0E %]+V^I*_آdzEZ 4/׮ y.3IԑC."٩sNxdm%lY 9פֿi:mBS\xFg8uԐ9%+LQ}Y&?-2tY(ZŮ&v!{RDzVC\'^!(f T$isN81pOA~_l:RU\D0bAP3$CQW wHDVpv^#2/j\jrn.cTzT.GyM*,Jk@bkM$i뽎%F_>·B}RDqoO5Y >|{bjṿScL\†R/P6lR=H$jjC ÖLl5gԲ.U3GnR{2*L!}.*Mx9OO5Jۮ5Փz&-tIW|Ls67h ^|[ [?*T `FkՄuOr]ҕ ajοd2mvTZ$T oynk_ z,B&{[r^cO uaڻ?ڵ59H_{-s`Y4zSZRJs1'|sD~P6R+`d+q^@$!FWF8!aoKã/_E1\3͓~bB,/W1bL۞PƠMsF-*̦Q΢&JWk;dc=b"UQ iLTl WTf8_0ee=nnK7fODrΧG功nwDwⷒ_ŅM<1ٷA!Ҏ3ZWL9Z\ܼ^JK(tk/)|$zH6Tӎ7h烊6!S6\^o+ۙ87bKcÔ߾0 ,3pA$J=vV7^5Ľz ʦV]"ijlx7>̝UU:28>&û/gΖif([l(~^:!c"2[ e&5$ڤS݆NBlNyOnrU4ZhQU+46Ꝼ^3T)*&|+1jO&{ 0慯%VvWvB4{w"#BRuXy>u"$Y[S[uad;OX}>(_.I໶+T՜640z/"¹vI4lC.Ɠȫ3O'!*'Irbզ+*=sFxde:C|Ӭlja)xDb4riȣ[-avA*[i5ZNo䔃2DYD[_T*dƍb{Ȟ]_#34 ,\ER~*>rd)XӶC=Sxj/dz5.5tW(hs(4I< he犆xێ#~ys>QYaC$ tz" o7dgh[HXQUBuM!FtMxìF$9O#,ZҝXHCl+|Qm.kA'BQŊAswqw$.P} 4lWm52mkÁHN4ծO\^W޿OEك[}`*o+2/fnj)|}wQ_yLeR듆w^iU(B<1 =% d_ۣ6՛qc/ Fo^8>5w iǝ-z~^CB78 >vGyu6 - 0n*947xX&}w 5QjLxo!!tw͐H&R{/22֣׏Y`4r"be? Qcf3 )KQ ˑ?Jj%GC@2{*YI̿ǣy a{zl tlՕk5t̉~'|Z1M(*$$HDNOonf;G~|PәV{-8AF0Nkudv^(zfJ_OMqW<\DX݃Rzli&0h95MIH(Vò]Lz0%f LNk=BT|閮Cpq(׋Mbr+G$9&"9?ҺӠ~ɩmlBykdh4DZ kI2}v9Ro]6_}ˌ\kaLYpt! +x#+QIOp8[!DK \Z!_+C ,tdC #`\j2' ,v R73/'DWǭVJϺ&`ZPv5\.ח١M4!C0hW8 vwΊ Lqx~ hD8g=[bۂ 1mg-۹`;XԤ`UW284yضJ-~TO \ - Fb6 ~Ёxcf@$B峈;g'yEV<&;Țzq7r)aO/4!g 9A Yu9.?1:a$"aq/W߷YiD\|<ɠ3)im!qIU\pO]*!_X.WIfm0ct_r; {BD)1eH@Ƿ-+Wuy_v&جU#"#$$ Kʑ'YJkw#o`ѝ[ecf1ћuGdeӒnfZ HƘw5s e0/teίOII˷El+*fK2̨(i"2I 3jsju|4p~+35B0M;U 9(#/6bQ *48ϒFKN8>_Y@wդ9"5{hq+ؕ;=dR2_߳܈}HoL{]5H)o0iclC(%օ N;kD*h+xf$`W)Ca|[l׺}2#̜oDL}IfX~bwB? p^FdH7c2mnIQhsK~׫Yx71##(T/ 9VwE3hnM&=pN̪2 #K~\,k s։E.D@@T1Ñ﫴s>}!$}/#\DʸmsuҒ f'+*?giPTqm~/z5tg B-qX !AHoMr* XiX2BowȤWE^Qx -KYA"Һ_¹eCKx*O7MII_{koF 4iO$N#'# *t%TFFܭ_ URLq!or~g5 \<q-"eb/S{"z A?+ʇf5 ]rSncLʹj`p>FShK6XNdb3 -SqIϦ__:l_ޓی"^j{9auqDTAi^˽-ümseim9Ykդѵ\ ^p}%"5yp e1TW0c bV$}# U*s4qQ*m3s1/EW%`t{1*ugjyU7f8L֕{0oS.MuV%EG~xEB>=۬ ÚhDS~9DZF>jy> H-01QED3~1)^J̦C4T l:- A^R3Y 9R|XFWW`C/T_ta?b :Arb0!ipi8/SX5D>``U?ȎMoK(* Cϣ7>w{Zܦ7eEoY^+qp%CP]ު؊Mj..j_I :IGCwIY!Kxճ_M jH1P66~1٣j dWB̿륔i ̦ ̳VWi#ea{ކ!(Y}لHcv+xE8wwٹlHb':ilZ0Y]ba݃1}^_zVoV{1h CvEƞ|t0$#癅^Ƿ?,cz҅V_Dgk_ȕ436TN]:ar2J0cOk ,'x?]K!|p[X Jd*Nw|.F %996׮Ǝ~mQ&.&d܈\G4-x}S]&Jy.||e^WKJ5OniW#>[xsc .ʢN<EQs(6DV߇}y s,x/GthiqMɓe13wٿDHEQp<57x?0C*q&&~>b5wusnԅ_N+Rs6zZ}1E8{-njWA)̒y鑐yV{MeWdh[/}:s\ލ/y÷D5²i6덞T/g s+$I=,(+3ʹqQ.ӳå{%t=0ƼիYqEf1>_Cx⥬C/ C~0[vo#8_r{wŨS]qbKM]r'>a%=k:)4u\EG!+2}ay}aAI&"GPh7GD"\Kyu [O 9Jazx@~//JHF,1zn5K3|_1'nag6V:=r9@m3ArnU >J{ǣOܸ'Ln)uyp-)~SX2:MLD+եE A s rPAMoѯ+Tmf4ʃ)<)R: QZ9>o/D8!1Wki ܵIcoyU!'iJ]ƉJϸ9.ؿ9m2_Gl|\Z4Փ}ǎ$kh:"n&<= ~`Ej__bʔGڙJI-iT'n*V4P|t͇aBŝNmO8AE*+$- poHCJ0TN-?$.X_OS(6&E`W9z ?bXeJ~ VqAvRAg|XNᠹ߱:tKLq"O€oh-4n2x1HcE&{V.Hk;w}>ށ&F/5U@:2nYh 8;!Gſ=\v)a=M@6t=ɍVSܝ3YAL, B_F^1n3C\BXq8اr̫qъS*zBZ<4f4p|sJ#Q,B&bY>9=?uܣW6)HK^Y=]+p{mL_[ )똂g@h>~>D'mkg`C,>sYHczc:j=/\؝=r_\MvFDRY !]{PѼtJՁ}Ӊޮ]2A~&bEU͒'.ylt㐯e8׏$s)8ke Tjcb,D4h}`BV)%]\߇/('d! H5(y 0교*CEɄ72'ty"En:$1ʻ/M-QSL@tcMG%vꚃBt z=VD'Iy#8Ⱥ8%È7H yS r9pIK[Ώįo6ClH*+~yTuf "?i4|2_ub2 _#Mn__8~ӻ$\i3RB̠yDۧr zhXNJ\dzmHMyi4cp˱V$Ұ6ejNg9+lƞiɤ1bjXYd3lx*-*_[ A,䉗;}Ȓ8梐zGU;ӒL+*E]{W~6dP!gB\7>s6 U>$aRmjD< Ͽ"<@ʤ3]k>tГ}F8.<yWGPp'nمԓwO[!ܤ+HTT/D$-W~tɖjA_ܭPDVVlJάt#1S hU2׸ɏĎAɝ0%78*+6Éo:1r᜛&ޏ5h[P%_HxmYj~~*2 nM@dP[#EOڦMuڣqK-X/v]cԈõ\Lz.ZT2X Oɷ1pc&hKj_Q)#]VKϥ3wYuQok^gӎqؘqcPVDJX}EX EǠsDswC%^sC\eWz>zA6,(xAu/ޱ ׵ i5JA3o8e릑~v J%jr,5y5dp?F+9_&W$p5Y@Flzy'2< ;,C0rm` "{ wMZ;WC,Œİ¾֍;*/IvjbK;Ï<;E.ޜ#uO00Ig YPz5Ѭau7 !HH{2vD`p~)^:$ZB"õʎ ת.Bn;w0 &!l_z+BȄ[ ߸O}$;IŠGЇ/ᙅO?VdYy%(>R[(/HfZUΥ ]vjJLO(2 |TO <rb.+H˚s%%n. )\DȆz%+PȐOXe<)3w8[!8-~ܼ ?`pƣ @*R&̴CI{pA㯶i.-Vp46 ;+2>fG~V2U4taIȞo܂,ZUWaBZ]_(ҫ}p]lJ.%G`>@zh(d`< >k^VD02W mzIM57Z#y#%+G2{ء9c*vT8}o+b#6cxɞ-. 5l$FK7ƕu$η9 ^ 6m:F3)T WM6 a*7*omFyٺ+ִÍ^bnG:z+ )b=MG|@,kp{~2W1z7D/-Vu@P)|ND[oLkXs_x.00;O2{*ƾ-(K W$JdL@%ANJO_I ˗;瞞#Ľ,<.h:"!^I/* gY?"5®.`T(^TkEZ 4|~2EirP r+~ȖXY},(MNk9/3; 26A462՝H3RtDZjޔZ*dwMP)\*q^v炞%8 Ty{ʀkߥ)fp-ԆWkk~ƼqdžVѺ) ?>Ll@}<+g\Y]/P*wf|Ҟ^">XfH۾><~1v^7OD."UYV Eu6f`OW7rO# &"ޣҔٜo﯀2!U)(񱠱#ģ>_I=hijwnnDZ9OzBXH[ddaazD_"SWqpFUW?|e t^++Ic5u/$SFd B^tsSbu0Q&K!/XX/&KqSx8r4*b鹨 ۿ)0n\qpyCnAn q s x FZ1S ×wɍT]Y$)m^ycD@?mP>Ȗ g=< B?hWuƘB+ L_M$ͭ(Ѡ<ޮ\ϓb`Tؽ/QX^1Pi64f儌D\~CnXF+22+DgE CKȚYj8^-yH,l-n,ϥ4 pRpo oI|߬ VÚ&G k:Ԭ7Is }1 I9+`ZX;jwrN_/ n~/"b 9fݬ=ϟUwm^)]oO,(-#aWDt zw:tT]2K nVNM9Ƈ ṭ*K'FЕgpW_'cg1f9T㡹ュj] Zd._ Ӊ2bY4L:F^{-}#BAe7cz ܼ?Ulpj!_6[D7RtNjiYR@'hG>UoG6[lA&t=_+/>QWxH;U\0hӝk #>Qv\tֵ`&+n_õ>jDV[Dm=0- 8W^m,*uCfUhPS4O[U@>HKuꆓF;['mbH"O;? :M^&-׃=pnIvjgṑK}<b`S8Ioz9oEѻԭ`wy%c%f2ci,$8|U+)O̽5[ŠߑҏN¼MJ9k9ia ؞'_;E&6}_v91adY'_~%GQm_=smB,29Gg  &\$mXsyä{1}G=B|h|,[p >z6v~gp־i5̥@UwׯCE.r-|B \&[H&LU7~V,x @/ >;}5ݚrUQ 2_Dx$]L81zpFD+-ύi){p HOL;SQ6iPLʯ bZW|J$,؟뎮≪]9'yEPiWZ%pml]ϯP[6ދaZ)pĵ}ȯK~dLEK1 {7zh=\`r/W"k^7"||o>)<^x6n" {*qizM2Rdq;gͼPw5g7ۥR_?@B&&-$hiL(MXכ1"&5gb=i4!!svɜ}BaޯÔ#{(TqޒO둱.Y:2kZi'B YOV,8^!-X!BM~n C1[<&Ӻkgq5V%B4""\yW8a@}öy`F`I6pl^SV^ft;a){.VG2ػR>m {iٲ%dc2CIHEFEBpI!N(|`Zfu} nkX#QF/F}=Q1!nVc춱eiP 2\dA,@*?,QZ=co|X2'!zJ՝_7 .v- x/ܿcᐜ̄򐉶?#PK g4AXk# 1_S G[ҏdOX~!"`1_'RƉ,˺3h4?G&ϋj,Yow2$E5]693\Xi+TL ȻR,U+(4l;I>5$ 4| > t\*|Mx)oBh<_ļ R7bh3MPݹ9OczXۇqxkrdXs"q3kTZgx+ha&a<+u ʿIs[(Rv@WhZ*_ }Nc03XR.jY~nt oCo Tm0\(oTٖ*oe|/C1Tvٚ~oӧ{OPV?%lAX#iA϶ӭKQ2^{[=/j֠F>_A:''n.k`Xs`t u Q%V”V-*ʶIu(' 4 +X|4MC1ڏwGS=.i g&*1?U,#5e{$?D@c[Fs46:鳙o%_{\g|lmu?ÁȂA\Aۗ3hǡ4u0{pڥa-5 6*LP& T)D@@8EμMv1~x 2`zMKH, {I"UAѼoyN :nj1Rt~XDCIl]/>p# G~bWv{饿>ۮ_7 զdћ:D+cי1Oף++P { q{ JHɊLxjD;7b !//{h,bBEg0/,loRhc[ HA|edI0;#=LAY|iV?8*T7ЅECVgߔܫ9D6cqE~$<ެa iq| (;ۣBت.Iv|VUK~X׋5V>_7@m1|ƀgtfUڅ9'"v?ё&=$*%F%&luK`Se̻d/*,d *B'7"s[pV/*hnCp2}4F}d_2JV>a/oZ[M"{=`4cE9x(k4d#:܂|f&OFcx#\'b<1l%+5..wQhd 1uXNW`yWY-i!+ѓsӍ yHO0lЏ+9bcNMt̤'ė9}LLU^_ޜ C#@!#G2,ۿKl3pO};0i:̛7}`ɳ>{7f4  žqWc$_/dƑW13Q-D3=s7SͣW`cPݬoZu)8ZI͟k/oKIC%CsuL&wz0%2  K.//f,H빯#NwV[慒A٧x>yZm)Ae$y{"֡|>^.jT 0mCfi?y6J q /۴PNhyo'{.^b|OGoO%u%~&E(ˈLmGWJoirVV|f 3tkcp j'\%K0LhAZk']6E>77Sʱ VBEowd]P `C`0,$_ߘu&%-Vb5)m#Wu=&p ~{ddFYl̓8፾?j@SDLb '?G+6te I20#8u71)Ro#8|z9,A\t/_(Q/F XkR\HQ"o6U$+P^._)E1X¿ %m2Ͳ0"k}Qb1dN7>9åO8 eo)bvs~+krfcDm k݊.!]y0 NQ2&z=XY6 F˷+Y ܑ/_J~'bޖ5 _c$ߕK]%X,Ax?#Ş%qE/;c#EK"w0r\}-ɿ*T!`R!: oD#I)FHx1U3x*YOuEsR;oLP#gLq>^K-trYz2P>r\hI`W8X,f֓@Dujs_Ik||Xy7dz_̮)l?qfކfJB@9|/`h6CR T^6x O$0C'Z4 -q=(V0/K~( =g i:jQ輧zG1g HQ6OC5Ƿ)"aih0dCg$!T̜QKgX]!ڤ9qs}nvcu?ۙW'6 zp Mvw%3G?4y{`4#Ln\[U0W>̫6S`:k!߰o޽Rzv|#TM]5Mn_mKL%Γּ jl\ CW!%dnElc%5`Za1qr&vP>KF["a"b32%cj}ߟ_2* cU}I(&acka.$ #`2dg+T1>2C8ϿB#?ȬT,r!7lf+>!]w[N ZlWc.cNR~[R_m$Ŕ S>"qj`i8]PV/lEpn ιqQCwT~*0Mug%-=zt<`gL|fVJZ&Z5XGizi Uf8z聎m(u5Z ߬FN3JUIk"RETup?ZjQCw3U 횘cY̔4^J%$h743kӫ!+{QzoiiOh(0Н!h]1 f' PA!!Ե- Pw~gxU-:Z6Sv.5{}Bܺ7Zې^ho܎o^HD6#upw% X|B!o|4)Az$Eq"g?D˵{ ?OHgE< 7 ;>'~taGgٺ&"ڀSDk+3~ğA--L!hhgGiOUdb BulaUOZk5HC/{e|Noӗ Eq Z"2%~m,qæ6ΛlEûLǽH! %z1ψU@tg( tp#E[>sf%6׬:OJ-o~ k.|3DR 3P")GH3P[n^0I"(l!o65q۫[>GC!Vu ¸0GUlf'qH6ՆA2S ˛4185SZ|/f \w0՟~ AnGO?y^|di'#  p=H`v`:?_跩Tcw!HlN1oҎ:Βޠ?נ3Q%\Y2cCb^u+>O6Ee{*Apm[ӎt꼋9ԚY>a[`Xs̖iQAe JluӰJl)}(ɸH5CⲏAyzdR!6'Vݛrv-/:P7TRBMW K %gH +Īb$ҠxEeuǤX: QTy~GԉH#dyʿ-~]Isuc2ǠQ-/[qNA>R*CX/cƨr=ڠ>ٝpA' Ja CCIasPFhz@,,ǹ1y)(|h2='H,SڗN%|p`%SK ͉ 56(tzZyv%Ub&/I:y} ܒbezn&|K龋s,[#4Sk~S֞JЂOZqvgۣx#L/WQUb'X򤌋W\q;<9ocyC KBgb8~W@@OeNc'>i$ F(nb!οwY|NK/|h 1b=#ʝb%ʆ AUw"PkFKi4YǪ łgU6d y~Nyͼ.A*GwR7z0f2>F#yd4 l ':lSSc[}Ezz6SZNhS(aZɬ25tqrؘ` ڣon|E $` ֈ~ޒ}nMt-nB_z'XḃF㼱/?z鑿J[x ʱ u/A>ɂ-5u)Rlma-BH*d 9*-/z<0Vr|a&o+WmE&<+|': hI]a|7Պcϯ˾N~0Eg03T~ ]OLeX)*PM99\WZuK`^*z"ɑ-d+5s%ie_dwQ%VhZ11ƒ\*ҥ4gm=bt-.B:Ў/̯]輥=NJP/~d}Plil F (2ME7'ߟ(_#h8ѫ w!XPjyV5[!MDzWn]!X}OBأct 7Br.tO/!uMZ 2wG!ecq=Ưkԋ3/?yăx}[>oYNjEk!`!'Ç_ڿ*2;4z;z?y}wIr>bxOY?zyW,T9v760SiKdoITPリc< ӒZ޻IN c' a)(p/>I_ra8}]) 5~dlf`ΟW_|ހ8TY8_i;N%ܐ?Z}4zMR ^f Cz3n\BQ/cy-3uUm)k׌Kʏ2&g:Wc)YvaЗyq_"ߩe }Ni0GAM"L0ȝ;lw-[Xܼ^4563GA_>i r7Eu =$b9Wף*\#9(ᮛ[vM'm:]SHkOwUH(-BGi)mtVR+ͣaxr@yoFQ qh_+*ޢŃw4͆| i" e&Gn8u/9{: f2?u1vL(iH& ;J{Aشϼz+҅yi1 S]{'RKkZ=:BHs`qۮz{Oieh-(etU S'uwj`n{8~et5|XLf57}0 S^t$gCs^DE&<fo•ؔ%i1YDxujCsIPPLSWV#.]\ R$~H ~qZ Ȧ?zDY zT&ݍ;^&;q9i7 dtTHaGR?d_~صٟN*/Ogk=T)ƿaUn%LD&O~刔=Ű ߰RRryeN隵=]o\„jy;?QW`/g׫1z5qepΫK<1CAl~ϟѰ[/4c4wvΡOJAXX#IJE}vڰq%!J Vg?V8*0JZ6f}qyfJcW2&+g d1Ǘsw4ξ}%ԓF/qb|HD*jأ[}e=PV9}~F̓ ~9mIn)S+/Gxoy,ZSߣ!vƿ=fRnٜOHv婦  UKM^X Kݽ-6OP39 !A#@%ٰ5L*WTNȶU\%csvL28W֌/u8 0Ã~0m9t߹A+\A]L#qe9|3iwOW)K:OV/gRϟo [̌a:By[znrLG]x$0S*󌳤G]42|:҄]jmT6C:Fq@u)9hONv:gbGdM0.ȵ/??Qp#t^ 7&=γ@#E^1_׌m;3S,jb iGb wHŰؖJOWcO-`3>?fgy,bBPi1~P.of~?W,9X;D6e^z5Ő y7bp ^7OXN&un曶x[%MɹvZ-y&H[vډOf\+Ik$U毹O{d*A$du'm^\eh\gF 9ppZ* cBV$hM(BaYw47p <CGFIܲ*I1PsW?=g`2|2LwPdܪTQ߃p0(4yze1%[=ZXլC)(1^.i cU.c'Hw5ELɥ%k\ Gb0x$KF+j{3T>3< qH3+sx2.>D>"ϫW `?慈Z(̙_N7d8 #<=Eb4 --$!U^-iKR_O 2lGH/gD,`YOz E"W[5Cy (!ɣgA}LGnM̄,*GG`jsV?'*(|ᔎ}(=z</P.XUӪ`9L`kogokcsBncy{]`$#F݇e' ]dT&,uYmvI#[Wy&02pT{?JF:-'TPҴxYE-%fW-iX?NBMɦgƈ#iKܛj?{#Vɖ/])됯=z-3we'} v)ޞOjPVFuvvʅ7%i>qRd NParո#yLF[߽@¬܅.7@nޤǪOݢtb8rzYT9@(?]v;Uo=&}˝^Ʒ0M$OPN*^ﰗǴO2h{ccR$~ ()YySsO67.ٵ-M/+T%iQ%-bDJw3 ~) Tnms4!{Ĩ1QC6<.ZH;V=Z1ۗމHL,_e0ۛ/j`w/yeqf)UY"nAэ7(aHϚ%nVXqsn϶sڋmy嵆-/+ qټB2ThC6E:w~CU]&Q̘/^Ó3lL{N_~)~.NlY;?~q6x|f>rCV.n!Aί=UgJ\BQv-,-_zԼKARc-wk#%9񣣁δyUXD\H=:UۉBh_mgELeZ,hˇÀKV=? PcBul`m+0:r^sE&ᖏh~]h㻵{]B7G=H\Y>'ԮO'0xWI[LL-UvRHW&K{|.=g C]IN*_B׉IR fѷ<3 ydە <+!° 7̪lHQ1KH^/Q:b>GE `]L<߯Et,RE`/搪V. x +@e[j1p su+X+!^CWۈ|2iI9vVMs$,s[{5kY=8[ 8sQXwѱ`3n}\Ool;]`[[կ@ q{/2*TcRߎ-V^ x d{ݕȇS:.6IXbvjnͤ; j;q p>n/ń \X<0 u/qوPמ!`Wˣw΄;HtIhwI>!ͼeuCOׂ]Ѳ9ĨxR\YY!Y̬a!Ău#:H`q췶xafDm.h] GĨHST@|WvQ ؃[_睯:#I̵n4ohO流/{|~`M[j es'54Y]!*Jٌp/`yhӈk~$6k]w J\oq%v;V]%Ԓc?J[;~&=3n' F w͗0d2g'22Hl ̓qxU=Hߵf;P f^0DrbVB}%ts}/> PJ|Sco-4G= ^~|fSP^f?OF,&_dɸ~06&9 tݣbW@I{[y )r. K{ID*%KlM+ 2$zܖAf0R0\1L 1YȲ_ ~4hOxvѿ/iVo9͚ 3^("޽_ȂF́֡ 0l*o1r)jqX!5 EmL!_q#xRاrt^$Ddcb|>2,i|}JIfԭfƋFAb3eK x+rL?:rsSgw7,j;>|jњr0$v]'FL:v0d9_#q|5^R/37&2'%R_ڨ6W4l<O0J@?l*i\Oo'HL/ළn L8HeXD#|Na3dH?:lfvq~;FMF(YE'T3?B\: ̮邬h%[s z_w4n榲z|STMiШmd\f}3sE)>,[9ŃHR}2&T!ʠq2:],Pku[G ,VE8R )ſn$FBG,RxLzEMKl-YqٺcXWV"zm j%`Al`5Ou{m",g)TϤݵ*CK5x>8Ub#6*)!}HayIh|.Hq)ؗHUW$@1O9G|Tɷq߭R Y{`:|+CώXb,.iǿKJ %.|tO>[=N>黳;̩u9~Usu&:(H|5n@,8VŋjvK#7m7[$Ex:]ϼ^2)c9q@RAp2_ ΍E7X8/6< PXW@bhMؓI۷B&1FՀÓ2~Hj44n^lFlͱA| P |2\<`ێe>6%~1~c gּac3k ?':۠r^B\U1u ] Ul?L[Zy/C/}Yztm[HÌg9>uTfqE̸U B&mBcAD(4&12a~w5bt̠U4%lv0DM[y,S#3ajGRӥ7+(WKx-,⣡Ҩj#p&4aD'M-q_tv";VTUsS:a)KMԷ9/ 4j:F#a#xhwGcѥ0/'kfSp/zZhLcÿZQ\b wTf|iuiӈ@V&ᴮpK8QLdtoD@5|bS{Z,$Z\u)08QR/RvˢI?'OŰU&DJ&|q.2 ^E<#]-{D'7oݫA/]*fR'ɕ3hb;j;DY{&i#zo!B;Q\|l-O+3`X_#ZRy䴕] i9~ldn2'Y&k[Z:KEL<(aG&;՝{i=r# E0MIR]$~H;P E.OA5e׮QݸvHW%J 9lbd`?6[*=(j}r—z1wȫ[3/*+S¤+]-Aqk42mR^)]-J䜵4EŒ _*LM3gsk-?8]Nْp\gOjm]JŽN)e~#|i1'Sվwq H V1C$}Ns- 2Fwئv{5MT\ 4犄l{v ;0>չ a q }%' t hvt6ˉHvu"Bi@qs\5` Fa:4XΡh}[24+ 8-6Ȫ.܈!PS%_k!.)?%'vTVLrS MmR5^,gzWǏA֩>N":1͖l#*%S'NU/#> 2QoÇ}L 謤Ɗ4exxxvƔ2vQuK/|"GI>V#r%g+M2ؓ.EWOfƯJ}.VM, uG_zr2Te >4)wa9@9sJ Xl+sXZW<3HXbd 7o T5]9gaj1/?Q5 C<+9}=cb/əu*&>?g'KPl~qʿbG/=Rwb CV/q$wTͷi,ڬ0ݕ q81OV_ Vf_Y囁 jPFP:ٯhD7&90aiBMqm%կo:[0.%qxV~0b[+~m.QLI?Jin9ʤo7m[6 ƝK*RY-M ލ|;[Y~C #qV|LwW$T[*':]$Įsߙ7b"dh}YmE!q}!7iAaUI+]"[Gs78JǙ64{L͡*ͷā91!lWpV`5 ;yLT/$/~4@:{ߏU R\`Ԉrԯůc+๮OX+8S!zקK9zO)mGP!٫qpNn{Y:L=*|S|czցB'Ø&o'Vm^7Sebcfj~ ~""iYYAFU Jȷ_)d͉QXtaMכU.grYz{ ˞ ^gP|c= ߞjm\$Syb1v%+V?NI$C#$dU31Eh霈TGBt->vew~ŽcMV8SLQjbe 2|lqЯj@1+KעPDNn]_>RzZ)#_Oc'-N 9ԗf+J74H[K1i;y15ο.#o@`L? Ņy:C1C{$cc%A܈Ym3{|1PH`Auj{z EiMQ8cI"S90[EdD  ?b.ݠad^yIR}У_脭ÄRt%U)?$AO.l$5Cf+^x3OX'*=`!Vh79psd9AG;3k~] ?ifyGuuuX>j^Uc"s>00Dî!:E K*/M|A)?~>Crw:™g#PFؾsv wO߭,Sݜ]dxGݼ5a~) b%I W$VD/s4'ꃧ&N1K|Yٖ٧W'0&`rMj-9>@9Vn̿%hTMuÅ{QPwʻ2EL1$v'GDTN1POgik'y(F4!FYq]:4hQ`X_=m|#QhHܙͷ+W_CY&R) yLE%Y;/`.{Ϋ>X| |5c]Qe1hj0HTI\ gӋ3\mfI=i(bwD{N|g43|@ߠV㒧CKU"LuJ!տjPaha uW"ߗ\MTl-<<'o{Ӓ.˖sYe zv=ɝ&z[~U&ͷZ::lZ {#߃U%AYy43ͱq;qȄ#\I^8:֥SB8ZF.~|qHPZnx( _FN=i(`mZG]GW{]UWNmz~Y]b'z\G`2R0ttuu|XJI+Ƴ7_h:BLb4[; R#gNYSv.:zu$" FZʟtY $7>QTb8bjȊ*ܤ=M1D IwFq5d){SPaYFG^0x)d*PcghK2a9"<| Zy7KDK :>AJ r7T酝xR ~a_ߕYEΧ5XDSX"58nw%_{F^jY>ʸnwUy!_ {+LJ}DX  AqᶒeDj5Gr bTdRJ"tfrKRW*[kɛ]aT-ӭ6\p2ul(  b7IP)JvYſ)!ȏ.؆ AS1CԓKPbNj-z'I@F3~G@? ;#˂7ሼY18zS%'J0Ekp4*A߅4j50c5~O,?*arI@4sq~1fԛP.7m̮˫jX3b&&]Oˁ+ zy'G4 s D44]QdjOL)#{PRqSwRs\\;q#gØo<ƖL[7!YgO]m-D/)߂54hxh"I<!m>CYfySȧع!961v"lֱG>(m|u4hNWnH7_NzqI&"C4m l;H.a_5Yۀ?ԗ+'Y䑟ObJs2%D8Lf^0V3E"=~ǡE~v󠥠~ s}f< :!5' $X#"sFf#{ڗd|" =wX.lP䎙/(r* @@AGԠ1jy,":x%$ }p^OYU_X|Y V2mB\#|W'tY~Ĝo**TYuNXg/Ӝ?4: *#Tq&rڰZ_O3CW,3k}cX p."*51DW1,J= `cP3j{k pC6ٓN2硕[8o#vr)nID|gCv??8k9f{M9֪cSV$9'?=CU, 3; B)D<Ҭ8*? 0DJ&}^^+$w0)"uFZ4-fq0`6W;Zլn?{Q?"_3q?(998)ԣ1oL1pU܆-;1n: [dk #d`@֡bSĶplh%F p*=`kX';Ixe  bt[IzǠWI#"{- zңBn,_O܇i Wbd[DO?Cݧ{4~CIvIlSM{VgUmh0b7~ޅp{.7$_"q|Tػ\Oqu&Eׯj]@V6]c uEoL0yph,XBha#,ͤ2Rښc],ʍSNQYYa^q-Ram_b#`1@NNhiaoc ]Gm.SW)E\_F6`5HMSh$(lSuȽ,}=5RdqUƦǿ'sR#pM?g5_ܟ 6)=|lGl郎7_ٓ@~hYya|$O#VZ˼ec74^0 aƝ}5d 0ƴt;ָY@,T30uXF]ZEhL(Z,ߨ¬ڎ0]~08N c18a |lhWD}ynk>9$xxXowaa[GXB~Pn #Q#(M=^A#ZV+~<}yC_LP[4|;+ [Xmn1SD BJݿit=8 0jUNP]ҿa}xe n"RۯaNO%'{0X2gC.jRiS²!fP`)@VK ?:5ɇk<@yw ݳAz?n&숥&OSxrAiuA M9ap)zQ=1o1c N3p  _4r `NWڬ2*⊏j!ӛd*Ŕ?E%eÕgi#55CS>[Tթ0En7p5(|0'!Xə՛JilB}Zk qRuh:F&2Nn<DhQvnjhZ@@]3RVo3V*dԗyIA#H8%^4D36%zHk})gؽ̠M]>'sP!?o(Jlhy|V>pɮՆfžݒ)悛{f!i K}x1vE`<$^ءePNR̡4uvav0Fo9 펢N(|Y&I؎MFH-!t4W}Ϫ+}JDΎZj:N۲b{0q-|8AbP$YZgi1rOt\6b>t{9+>>_+V'xTZgAR#&#]%G+)Ͱ:H !GO"2#͟t@"3_Jss7Ў3,Xχ7~Wégu.xxL/-GMDH&zt%]Ì NE:RBĺ >"}Z//^Q|[\W 7`oueD|+ޱxlߥta0:<4 J%hQ]2 vQ?~WwQ*x1üB t[Dp38:n3vtXW|nlWt(.-@:ͯa*s$T^G ɚ6F/u3tz xe7nb]Ʌ'w>U!x,u,_3CP=ISc(Q\9*jH_e8\um@p_g̲DD9'٤gMdLBN}{5b7l&ZC"O hT 0 $_2'.y7KӺ)Cxr`dH$pqh#2~L"^^]mf2,al=%bk.\/9$}!~ F Ct› 2P[H~CB JNǠRUa>e/S/ a(S.n!ܟeR!up7̅w]3pz ߩCIT<g],k yWTFiPbu]?wA¿AU i&*(*qC!IAc/=CPw#UlZocz(] g<@)fCVa&nC[΃xD;3ͧ,IbȈK>{w=|bˇKn҂pDZz\EGu| _| ڱYf\tDG_o+,@ DHup2 e)/.1#dWJEv3ƀ̋ KP=ณB|gy ,<q2y}'Buby>rn$!0ݧLU12dtv-1̕}\2Gf1oAaL|fULk#Z/]_>WO;A'=QqNWooqo=okDhY/|ܳ`(SNZUQQgcdr7]^XT4}y1MkMEe.QB4WLWM!Y}\R]{H1:L (8*yyobtz8.2 -S\ij* 5EZgDu|֨9qcSR\nZczg\!1$1:eAikMF2W \'Qͭ7޹)&6|c !^2w£6Vac'R^ok?5٨P ab$~0Fh+jYnZJE/UꝤ?ԯu?myfF'}&WKHyJ^Uzaۡ=xa`d,B-]5{9T/DzKܸonذ9Js~O@m!:2f*McFpko3Ef57]M窄}ɲnC3r'a :lMB,o.ݔ|x*/ycc|`2ޣJzJ_և̨ > }< XV^W@ߗ, $TX)0J刓lw8xJ#Xom1v%PuHZL6/FZ+@Mw9OsOJ&ElDϾЍ3)>)zH$59y 'F;KSQ!|Ulp,I(Pڶ$vTo>hc' &B?޳m$]~~jNݪ[DS$A0$"e 9"~mA-[gKGbo~NTD=,관ڄN[ ] l" y/8O6WmMPѬ7I/zpQ+CkPq,2iP-\*gimҘ n2Zͅ*=t>H,iTmr)*n'fF^2V<P)[|.G%7,+24$ ]c* :h bU9HdM" xkp)Et֭8#5rQADαrg\4݌)ofTbI uo tzW|MGAi!»X1͇9p-n/c|i{{S).|Yefӽ=oһ$\ ?ȴWdͧ Jr$K-ƕ̳j]dfg0zgLh19hҕ&tTk#F<`śxwU,-%z;BY Ś?x쐻;lj4X;YIuP>o*{P(ܠi5u6l bϙi')¾g8O"鬠x"HmhH,1ݯ[2b|v"Hb-:):Q(f--_ $%Hɕ:Lbn.ѐYp^Y_cp 5` n@iȱf{b#=2$Ώ@Þ~[.14[Ƹ Ub]g4HP6WMh_tyjfxL%Sy]X#f.nn`~ŽJ*%̮t>ͣ>.a"& m2?6 )RoKCb'ou|n#s ;zj[Bsm퍜?Ҍ ŀofKE_>CuP1,s b)@H~RڲF#^׳of#gi!Rw 9]1dPcxkG#mJBǧ5iI:aѩbI坄@$Fq}]R A A ?%ߒ!Ŝa0- v^InӵLS#`KkN#Gx~N fY>͛sv..ArUt0B"ET^N(v_-a[7d' "a?ZBğE(3gC o9-),#7]屾-rt>};Fc@b.[0ɄqTQ/аu)gp^ Fm=6uRUZ >ӦĠsQO6ge+<]-C41ꍫF&, RSguh@OFoV M҆eI|,|DY'9hDlm4O~>oY?AX\] x* ^Ƶ饳q4w 6Et=-슇2YW[Jli7jt TVx~BrЕnrjqKWe=" 4\G^ ȵG|偱Iyai:Kyr'GZWw{CrvN}lMLwq63t+Z k,W,&kkX`v7F%K*p$_fе57̭RCݢG@[]lg5s3f+pfh#ۡv h1k~ bvگgφ=>>.z/jlr|K4F7s7GXuM[5fvYu ֐I8K5[JB:5] fi|yȌ aγ䆙 4dw.$7f%oңnihюV C?<`nY4ЋCv`jc^OvuEnӭM9`^X+9ኝ@Gс0ܲL=/8Iu֜}aHZlyjap*O >k{%Q oКHQe{@/uN-lQ{zw#F6wrf-\Yx5չo^v-uB̵N/K9qW9|x!S,zLhdNvvM7T{=g:;l(8ڨࡦɼdijͶF Hu;NF`c+ь$#//f=cڗ#pOh$YYZ0b r scR% !a3˰U׭!yn} MPkQIjQ6Q5C u(e1r0밴4 Jn]#H=37j<ÐaYz KDͣegN_'9h#EoEnnnvk̎`d#*v-[e%@|~&R>a>JQLjTۅ1n=5QoWnބDr2v(B{͞UOްj,T m\eHd[q-=_|p"˺q-Fu:FiT+mV|r:{߂܄ﯱ^ܶGZaAiO84qAKǽUQ pZ'VS8#ApJ"-^D-"Ƌ3 <R^ԸB|{ukGRHtꊩR%6C٪ ,u0G79&ޗ0-~nK<َaAf6XfРӛ\+xRr"NQq~̯_9< *v8txv[F/⽧G+7^]5AQtl_MOdjQRRVky_f-I2wu`x[uY@:JEiV&v[|NE!;z!hK##7WqksOQR ZQfq./V"6˔ ` dRtk̫] Xmoxq{#-uqzCl: G+KhsGY2]`Ś|RZ4O2,(/ٙTVxAS@ڨլכtC=hۓxZb Q~ltO}`˘P9dRpAfȻ"3Hn†BZ_]uoods+2^Z5*I[E[=6լ+[cXFîp}1vۛ3_}Oص@]盒Yms7! OlgiBa\)9\yio*dU<PS/la2I.JXH(+€<6dŜ]uO-3Dixm9_o|Ӻq0^PFPk-f36HZD-yd[-Rs}mwЌ+ÊZmv$b|f/vP a^g=@"6oey!낳 WX8 ܳ"6mu/n i"QrҪw[os0u%az=b =+qo9Rb|7W"hBaׄLwm 5/OIi [GB heR;:Fq߰goPT7̾=]w[g7qTc3_4ޑB=&-N)ț [Mpj?JkW_;<]4 g%7OƤ.BĔ 3YoiQ׽L/}K ln:nn[tҮ1P Ya"]\s~meTnVT$ad5=ofAAأ:3l7q.*l3+ximf [ XKTq @ŜV`FpsI|+)yLT3#jC+ĺu1@':<>0N%XuycFBuIp)]Vf]R9{(=[:.v[u}ON;{VcߢێuaObB9sJx;ȱ)eqf1imGBZz91&9,n\ٜ'U]BMbv:)&þ2#b3 %KEd39KaW3=Aw?Ō*wGb~۾0$Rk #GJgϋ#}I5޹P:V?f@G7ܧѮ)8Ux(nEjfrBP)+V Gcȱ.I@h.7f8 ,8ܕ`nbmv7Ө:BhmAi.K<+-ET[vÀiqeGc^ GlCn,+ =ݧB6PSUI~;c<ғx7UlRi譕X>Ӕ0((LФ2]W (ai1FKjB8K*0{vNX(\s{~Xp Qj1w Mv\,Sw$tEmZV%0nYȀ6Q1ߑkhILIzJhqSNk%Di.fٺeLj{z&2LjTN(mƣg"E$ ԧvŭk}w:CFW:n8"9+i]o>D7wh=nkÁ&&QzޖJU(|PG-u@PN:LÝ, k͖n(4IqXUlƦ@A/>,.|^׶EX^oϟEisݏP o +k!?~YYocQ \߿ @ Kcz%~{%]-ŖiHd~l_6? ~tzgghI6]@ۙnCTm0xvfϛ&18Tq[KRkh-:~X()Apo_pooӸG!D\2} Id2ga_w}jI,wF,`;Ƙ~/H!WOnWF~.#I _Ae:>=0^T=|I,0 'eH<$M" UH ~p%wj$ރXDH }O$0 'EGA+S}3wQzq}(Jop_wQAMd_?~{^Kbc eu?~c4i:azWO,;=S,x|CQx_砑/ƍ 6688%6o l.KЀeo#iA ݬn[!Ȉ~K>u@ۺ`We2LH][/N߉6Rp }]>(L}\ khu\0 ?8]ޗ%e\|cA|.h;@ޡ?7}Fȧ{/;7F¿M14d:7@ I7P2JӟP+9 ,J=gHv?~rhFp;I@&^D`+/E_c:7=BϛaMN8N40{=3ΰI`|[vP>I = 8M1>.R' ȏh ׏G7 1MZL݂jG 󵃾w_%%h? 55X_4}#y{)D6`$,̗So |<`zط\vǩg4@|@?&;&_ÈC)P}Ar$H<5'^Oǟ&w"D  @_dT,*8#{TO@;(2 Y⹦Na"u?A-CjɿZԲOPpOӛ,I4cGq<`C X,pj2[:SʈHʾ_??.%F-?v?3?<[\K" I(ME>B YD y+~=/Mibgݗ~j39#d{&>' Q@_D;P J1X~(3ˊMYģ$! x( "ۺ%c7SL'(g[5g3ԝrwSYP]pg''N}I}]>6 9/x#0r}`;O8fdl ym >S_Yz}u1Qo^X{=nYzaE-/悿^zaE ;{S % ߓ+zY5߿0õIW~n|*>.#/ g}gV={y=`-湓mz|eqxX`y;ϷP_;^Yxv}Wr8|_4" ]@xqO6}W|/L_p%l_ڿ{7` _b^;hM94ӎ+>U-34_~WJO%g4/^W睞TE:t򍟡9JzKE}3կYOoM39نg ^$٬& X&wNaп}bg4=]ew_hTY0=|}r\}ڣZyy^}p,K@/u$/~: aW׀3{1>y}XOLi^vTkL}8Yv7\RϾؗ}\޼tZfaƧ ?_'#'$|!atW3k~[`g_η'p ޯ2k!(o۸0}KǍzm_Fpx^LZX*mO@Wyr}rSo<[۳[f?| >՗NTv T̆w{]lm7=yeWgV_$I@w; BnM aw %qȝ.N!4n:mD(>`,SMǶQ {7]0%`4SSEfv "ЩI@( 9~O>|ﯜ k=&iOVm 0ޠGn X(¢( &$,F k&D !A!tJ }<9AS׏L.e'a=v #QZ@ >dittV1ô!c)`@ hM (æwʒ0@%޽Mc,X8Oo%QX@ mByo+@[jiƚpsLOC/H ~!t0> KbB>`j0HQx& 4P[1C<2gT 8(@!J2w'aݟw7-}cH$M3i EYV}%L<#K \>+}<sgV𬳩cT[|cOJXqwgxqwwJԁ!KD`Sj0H>a€cO{&OhͿP_X~?:ue$i-aYr}pIt!B >MG/O(@,gPT ?3_/ 'M?4Eh92Al`dJ!2$͂A>+~co1@2(F$N.y1c!}:bL0d)c"bO ׿XfqQYAIAFP4A}Ubɻm( =]fKӅXGq_O;ߔ?c|I?2 #xAi 8y+Q"g@u\8UM |%&AD=;0&_xCOS=_;*oxU/ogq7v zg X/.3D"(ѯ?Eq_)elEf_V_3j?#ӿ?oq+3cy*ޕcP~UT?߶Ƶ34@40s9 \=)grzn;G8$6

+̼֍>WtMQ>L4~[ 7fдv4b7)t <Ά('~<+ߍ}4t=q2><}{o]cA/L8~_o{>+~?c@~G{,.'~ﳉ ^E^NKAXӆ|WGa$y7&?~j;(>>/^>|d/}EZ_]z\|:J=~u(iDž)]ϥSlaɁAѢoC/TEʙXa_[43=kojKЌsFy?54ϐ!EnqGt=Zhdab7R{[).$6-"w4ռjL6g3^z˰6EG4<*дY8ftrW'[*f0,h5z2^^A_pFeq)7̀8&]uPSnDtQ8.a*,r: ɖVM\un6IYrcxٜ nm}DB,fT @p J\ȭB(xFe3є(U.IDcX)7c|t}}kӳ*8^ ?bߵ>-/raNwjsLmgBqx.yd .7#Qn@ $# IJ6 J]OK5rkuUqŎiХT֜ 7Q !LEK:wڢ]o(-y[!VhhXdy}+ Rђ09:ߜ) Ov8U)Ͼ,S\:9O%DE gqAXIrJ5Nݶq|e+7Dy!$DF?N!E4rk J=qFy$qUZJN#ԤD D-ʲU}TX;.lSkEf:Gr/2zb.vamZ1-XDXv'v\^%Iq!o62+)aSo5<کңƍ2n{_ TeY@`R4$|ח VTkTi;8\4|La7NYnS0Jg cUeև˰A `N{/Yx k((Ǡ?+1 Xḥ΃C[D!*a:'Kʊ3BFm[ORF\ e QM oTWVI˳Zd /9s|rپ:M+3+t[; yjH>VԢ3 $#i^L +U 64ТL݂(@ I$2؟ZQ׌K 7wђ )u.?B0kf 2Ʌ#tGwݚU\3@o(_D$]ꜚ ]qIE4V^MC&RhҦx04 S nG;$IDK mmG:ajqLa 7hg~O/ JJX3re҈v7;T JM*yӁ/nMPvr˜ssc\ǺJ/1+ynP,r* ߍ&j(Ûq hS*L!L` Pp @3Dh6FZ"74%qMx_t1/JŨl g; }U&> M-r<4eJnopFYe8i!3O3ES&'g۟Td=uMwÖ&ځ ~pBbDآ:;:aWy'*KEruL[w; ̶Z`|e:(Ov++P L;yG|6dJdLY\\oTr:Mrа"Ǧ̏bf%(n)蕫բ|غ̖VXȟu *Vm|6{RL!^%s3FY(γHYlP@֠1dh!Gڥ%aVlAbNsv5@CnG"xE ľ!2PJNr,if湣]=>Z`=s_xzJ-1 \}$9ߏ1ۧm ~X3Yd=y)!3:~\+XHnzu-$WrTX#'~]Ԁ,XLKhjJx'ePnڪ{Mc΀K1kٌ`>sbx rQt:NAK qq9X"Q30E#HGl{+SCVW _ok  UlߒHs{]l^;XSrݕˤ+ٕ;qZ= 5iMk'ԫ1nBf'hAO2ddQpB}7{pvL'h}D6گt2?ooÖ;cIxC RV$q-s1&~;jO3]”DzqG>V\Bj[2ymV.ilYefQQ 6^Ý3Dݳ+W/BIشϬ6)GyqxBj䌖U pHHKx iTnI:G\(~̢<ۑSzr[z7uĠ<a|ƑdEf 76| ˱8L2_Y>WMDp[ h̓O%;ňv3ZbC"Mfc1)TK)˩d8,)‚#9π`NMG:߫^ޫ|TӍ{ \TS3HI08 idmcGzW9j뒿5@[0) 0˨Ls|nH(n\)K`r4]M)HI~u7{m=;WVovvs%Nm5oڜޓAs^i(|v{%w?9A1{&^Ӂ9颚PkW#&56ż'c]HeP;0<q@iwk5f}Fao\-&1agb{'H+|espxW48xOXŎ]a% 3Nm:sEu4ʹ8Tb);|T@:X.Ȭeh'bMn=gkKJg%҄{kغ t, =nr}oeGNu䃠~dMOZH׼7bk]s.!~9?1-f+u$. nRqK"4v=^n`$frcЁwWYJ#/Î)/wglT.y_[ժ8KYU@U$6W_=+s]>Ց'ނ!ܬ+ƌ &Áea& 5)ޑ7*/CQeQlf۪Qx[.AkGU)m\[iG(dPcͯ-m:Q%1wo58t2ZN;&_2?6*ޝ_z1"ݓ 2Ţj\EXr)V% j+/&%}Xc %`@~nzڋd9@6㙋.z/& <6`i|k:,J4Z~UNo鄫ծmrHmam$J4^ Q. !|,L1;F;>;~hڎJ=0|Xh||Bz)&+lHP4^-jR+-?iap3F8 Pyy}V:GFGf3>AHXYx6A^]S|Îxj ЇH:@XtV-@]9m˔w`CahpS* \p:эIϊu^X(k>YD^*2k@+(9VMAoQO wj;ڎѥ#X->q tJY!g;{}@ho +l xNy~LTMշ;{Og"!R :9`CF V]57oi-/xP,̱__<67xpl G",0ߍ_^:qV O42#ڗ0Ne/=tYlǮ _Ӛ4FʼnVYa@ҥ=_^sFm=KwY2ǩN{1PcFþ:8~szSV i=lnt[HU_<{5OsF{Iֿd[jo{+({/=c&L鎤y{I9^=.Y!Z[atPM $lZxϘ0k _T/<ʹ" ǯXȊGzyR5JiK PFa,=5)}.X /lEsX]cઽK+Gz4pմOMY9mԣ[Ls3 z^~P\wvI%flBGJǠߍQ#%{|cDs-${v2p=BS0 dU}1TP!B7ޙ2l"I7s,v$nFq^gi(6kd05^CP#^3]yΪcrCE-h5ZCʈA8j0đN4[ oՔ?qH=T nz)1G+Ry !$\Ol\zy X0ݝгS WΣaN<ˍ`UT.Far\V wK}"o&r=h GFZStqx0:&Jy^Lgw-g7 &&1ښKuPJqjL}6q 0Ʋ"^cƳif&ՃAoTItc5G'@„<.lQ%!) Dջcv7)RpFf 5fx/ ' 'b>, `4<,CFB$(* H! U)q~4cl/H87-SK|(o>6A|}i7O^8Ϯ{si5!.'#CSDlfŨIA1WhOOV 2F4Sd_vi )5@wTwq{P.]|~G߉]_Ɣ75AVLÒȟr|w mh;/ 5c$d)49Ez?!]-r{3u xV p+C׺ aJk{Ùf;UU͝ MF9#Э2AG:0A񴙊p6J~ ObukJ \vZB.7HjE#ۨ֞Qg,Rxk3zA0HX4 E{qz{'ڤmhD:MԍkP lx3iڣo5AJ=Giޒ ȑB1a`HŐk%Mٞ&IHPML,/*gAP6 r:# PS|DU񃟺4"C$$˾  _%M-s!FbЭg7wr{RvNg1Wo%+1mVҐyM$T'dW-SVχj5\f&IBȡO} ]g"oP BQюBO$';8>_ "lZ.MjMt\}⒦d^QYk(izݔIc_rE;!M xl[&m~C3:shȤxuʧz?O>G0pIk/(|@ >nsQH= ~hmoKn;)?՞%Cdczk\=d]e\q̙)hQ 4 #=QܫӅ2 'qhA;?/5\n$|ʹS'CY~WRK'E$a.Fn繍%dR.bsFY˩)4Bz0drqF~o dQVyxCgO2%+8?+Ә7 EV^teŸ :R B`_\>1Q^O`!w*;-6®II^n1y;ZO!=fTrxY^[LɺQA?]٪fIE`=jjd$c+*2ը~|(DƧoU7C֘o\isap8YrcϞuC(DJ21o}< ̨{@%ڲ7c` ͤTGQ;ߧ{u[ >Ѫgm܅ړQegV]_tYo¶]|9\;vs2j̇]ە]@OϋB1rm-b>jvv]8wS 5W[hĵaە roP7Pu>)I"rbWaCa_3lXEDNJy;V HXje |]TC[9-/2J/J_ HЉGz gߒz>.iʩD q0BxnkgC]AfifNAP]Rkd߶~]xk8bHtU4AG仮`!zHw?e L@~Q| :uWJrv@ c\6nw4_SHϘCn OW!iãpbyI rlv#PgfᅨKk؝S}H|9:b5aIeop{__.QQ뤞5j+`[úkI?AbUm\ [MSo s]r=dϱ7E&\ņ̊X>Q^teX8g1?qO^ gGޯm+T[7Kz@[z ]N j#D}͟[oJy4W5fCG\xy d:{w*̢_JI/4Nb5H'q9nV&>q.*.ƿ}|P*Q6h!__~ ҷb35X},xxUٗj3r#߅J'5P@cJ27,X^10O5[y%jn 2kJo@|DYX}>Cҍ+įTJJ 1P#5z't@Rݚe뻸V_TWL]D?O~ǖaqb˖N}]oyX/lA):EGKM%+KK^a(2>|e?J=6`{*旧݆Nx.gPvM)Öϫ#)eZVhܤ%o_؛;‚?dduѪfo>jCIk듉Q|6{zV3^wZa^T% -r kQlR՜rV+k ,!1)gpa 0qU,FM@6K5)x}3[n<³W$\EpZ|R(=[-Meޟ G$^|6{?ő-]5f:==luKp?aϸc,j%ơy2I%oN%9hb/ڥz%i{QvRP4ٶ3?[ QԟFX= AHKas}r["i #J[9ypbvU>UPX _T;_b}+-=!LLcǞL>e_~~ lxhk!$+\ yufvc&Vhl0e:ksk@|uz*N+h.dod*lyfsA'Wk)r5~+ewifio9Qϯe~qiƪ 窓~u{N 6e9ԟx}lAWNƀJj%CXw??.%)ʾZI a_ ylXckkV\&ogQdF%Zٟj\:c2 ^2ͰwKMϦ9(3B* }&em2~,Jj9089ϞZU]0N&{mTRCAh}xp6 β':xBq~ k,/ٹ}DmfVתIm*h>c~YJ;d=-Yߏ^{6C]c<-&qӯBxj#ꕅ_i}zi;o{ ҭu$Ux^VI,7reDΆk?4ӛBCd퀭CțnCy~k:T0.k%dS6o}fes_{xヌ i}܍4 ׊|V<"[?S":;SSq 6ZwG?fOs6n ,Cr/X~'334/ܿjU:l[t^/8{I = aG-&&>8xnSB$.kI$/^vktHm1&$%&@dت=-ul~#XZ 'UQyS!4#둰swz?]loZ7nW`Y ,P 2kRK7A{ۏ/1 }YdhH .f> 0KHs hΓvσ@øqֳ6ijzμH;T YM g7Er~zUQq xet-Kov/XwVI4Nj'ƐG~Ϊ^GvN5!ի#n|+]~񠢜)QT>tO*<;0)n.2K1D#[}6@NRp ˺3sme۳Boh&|vy=H/,ɸwn# 9 VVd /[׎D6`뻛Tl >[[o ^>S5սo'`Uh@;XCV]m2`̇HFRR +g ֟+dߜv`Cw?S}v?)#;RSp! wd/&@=hx5_MhE Ew^7@C1`DZQ9DZnz>:EE'K1B1(LiX8mdU8}iV%TOFUSj`wsך!!WI)Yi5k |]X_`ҁ2%gzKvǶ8A-*?QwM~ƆoZN1m&>.4&zِL [7izC -]^Q>ݾM7'(<񏐴ƮV?W>̞IBTfZ3E,;jjHF?؟%,|Ž4^̸9>mS{,O`٪ᓖEzj؆ x~[Bf]֞pY`#3ai}j$>#yf5<=q.JjcͯbEo:/ nz͍ z6Z9BT~S?x9 _GH4ghE'dޣ}r~l7ѨaBy*ii,2~;ԫNe֥p>Q.yZ!zV<>L8xu%kc\ZG5E/8QfT,lBRLbsJg wr6c!Fe՝C>/X6]%Ճ;.EtPo=?'߸h k{X6r%JփؽhEZ.,r]yP3RYYړl|ݢC5t>vQTz?[|RW2JFF=%>%X?frEGiR&%}bfPgC pl$ŷʉ]$lHKRJEuG@hfquҋP 5`T؅R{9]GKst03p, e-Gȳ 7 X\n a@Lۋ=k< #fwe1u Uj,֌0J݈' ЮO$Zc@jhj7s_9ѐڷJq*F'?ۊ$:<~=[Sv GM(4f+q˺:{J_ ۗM}`"w1ܡ c W'Z{MJg K7"h~; W"HuvL*qꃑ ǀ/'dEYT~XW@LK*2AST}?fv`~g7{t R2&_zlSG>j|KnڇF֩=ɻKgYOsV` b13AaB"L/!e_=] +I㝟 ڊ8RmQC>Ae+͛L+pJX>Ag+;'5Z1H.K0n"=6bѿq{K` @3Xv׎18Du=y-ny4LϦԤ,6>Y0<3[F2Q. ~ΎQ<` 5!$22m1-_!c_ۥd$6 JxHC(y}G#{xwue%|DJ1z-= digkE|R]vUm HqnqM'ʒ|f(6;lܥPz{Ŀ} lZGnʼn (F|LO(Վ~&_?*|oIYA(J|ޒu7Ń4gX^Ҋ#ݺO>PNZX}/%PT X ^}+&)gLoPs|1QvŨ@/yd=z>io.XK5䍷G&XŅq~yhq?\MLh4[uNEAL^zL>&|F,Iaa}T{#{c~&h*+_SPѯߦvc9 &6?OP3CخKbhanS`ݴY!^mfS nmp$Y(YKa  ș~>_L@ BnzW @ Iĸ|ӟS[рBRиwr.7,v!{F.(^j3x K/('L{FgдcZAx+/2q) avEn pJY&M2 ?p3A$c8vLˎ{>wr[A숞+)aڌ\\q @j kD͏!]?~.:*]>&JI A4Vʲ?m-).5;s ( C }\!rDzb乾]9huTB }[`shl?كr0}ѩ#BQH1`tGόPȷu)`  }O? `TQ_Dj*U _W΀i̞qD/!: ճoe^.J@j8^vYKz_~`i~ƞ8mDŽpj;GIQrc ْ^J Ҝ_|ԍT?̇<~BH ; xKzG#V<%k|C)~ _vO1~ayp¯Ii\eo~^[UN|6K4]/]Q>ޮz!6Sx/3KW +̊qE(9DB\BK&C q)yBzQ6$c {v t"%V.DC쒳G6(Wd /:YRHO|p[CK֫!aJjSDVUtҧ>-bW4oA 5uMS[ȅ5qx !wEFTUvc,ג6%}_'Aq}0JS䪋DcC/l~x?&y2;'|3,\8ޢsZy_neU-Y#nsƥI`}!Ξ`Л9[\mtNj{}OڅSH/pr.٧.֜|XݼpRp0D㦝U%\F%R 8yZφb'?і(ŏġ]/`h\P-힘JUPɎ0_bstMV4j_| &UA^J?C_Ovtl /t57jV[Jǘ^oO5mJ>Gȝ"ȮEl< ]wY ]lٌ]n.&n*bRW.yOTpZq߽7 LzydukKtV|Wp5LR]#o:^ =0)& ֙gE> 7&:(Яuk;A NU3@J(94o4M0s!DoesMVUD٥j;f`g] Vψ-Uˤf ,يݼօXpE9:=dao4OVBbG!UBk) 7BLˑbţbť'^>L&TCZ斳̙m_gzl(NE6X )ӨgA~NGcV[ Tuƴy &83T8 z+sU^sk7lv6sNz͕x QICڟř,ʬxD˂ ŐlRB n^Uh\z ˥Ń(G|;m_^%FLJ+wIq+q樰 De)>_.+T_9IS|^6h(I^$\8i}Zڍk̙Xɯ*'` Ӌn*vۆD/g:0ZU(lԴR8Z*C/q@VJz#2ZЄz;ozg/X(NF=(#*aa4i+ K/jkWvIDZa2p %#Qu<2h/=ndnuz)P|mw[F2OE#ݜ86z/Kz^Z#2O3#Yj liWge#9J" #Aԧur* jDz9pM[~&kj0E:Tj֢/>Sӭgd0$֦ϝa/Tz+b89 cyx f)gd>V>DZRPEvuء Oli bkV=1/RQp }W6!;q]6v8n:MOήF ] Bi7l`s{j6j8qĀ⮇4}JGyw~-ioY{ۅvMR 0>WQI240ŏ?M??g-SQ &"ROv̱ :̂f ñW[ԙy?->ǀ)u·;Dei~e ?oBz[A_KQ(?2Q^tg^Xdɏr䠛/fzU_2/YH⟙K , QmQ g}P\~/OE1أ88x#IDO4qDLH8" *Q ڐa_(?8Ix}'pR:(M_"O >_~JBd$a >M Bԃ)DXpDYYϤF1$GVI^8aOTJ@EX"R g sayl/fS7)8hbpvo }GlÃ@|]ޛW@#~MByINx%,w'Q ҃$̃X ȕ@D@7F8X Pg{ x| l M!)|[}"BwACZ%PϿqPo,)Ri_ꃊO@K4 Á׺/ycCO7z GkC+)"]!p3k "(z!fiɡ@nI{Yf$a$R}Oc}a?_6 1?94 WG`7}z7Yp y0"Ah| 'B э`,' F LP3UI"`F@^3hI bT>(al)E=D#Gx=b6wy[;'=b$jDr^.>c44O 2;Bǎ&0k?4ĞI1;@8DE .סھk䫟{ލ6Og{eaN h~/ߒߙ!gIr3w7C`d ϑ7L n%2/̫͂KM1b0R@gHt މ@ fF1{)W8ӛ@R^"0&Ļz@BHB`?@0? kD2 {׍}?>݊,!L[:c?wI!dqA.R'yPBݳ/$AhUVNuYEa;RG8VDUӋxnwSTjLŃImR'd5Zߟ<0*d򯇠#<O@4B4CTh kLHзĚB'!l q,diyR$ۣ?`?|cGUp~NC˿ FKHI t OȽEsE~ E!{lx~K` q"'H/+i ~+HY`E$>v A05> &L?AAb2)y0Dx@u )]h9@@xD Tɳt I!H1iJon NC^ ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/16x16/application-x-qet-element.svgzqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/mimetypes/small/16x16/application-x-qet-element.s0000644000175000017500000112200311200647463033126 0ustar laurentlaurent]s9.|Bov7<{–퍉8gu֎[o&H@BQwg_.n.>n~/z}v~x\z쏷zyesO~_mnv^}^??Opvv~}}w_Won6nJ4w |?{W_gW67?onᗇ74? o~`h"¯+_q믿>\I}3^#F3@=~azin7ǻ?Yspnѣy#Nyu_o>!r?~@0?#Fφ]mD%]|v6{4x/?nwC?5?/wϛ>ypo.6K ?o^|/H;rSr߮rK? 6_iv.ÿ>~ 撶vt@Z-Ep^ioGr=%3na}w 'y韉O<Rߝ=>_\ ;\}_C_ߌ 숊~0H@Ɵ;R7?|w ̂k~#7h2Scgf']OGS˲ן7({?9a >y@%ou_Qw3*+K^`y7Ix (ex33L=?_([!턒BXߴbfU Sb&JEV*-+k,j&(2\"an΃IXR2O&.WUL?ۢk6}ərrZpҚ9keDkbe%LLkìuc "M&\v&K"E*("G YOA'ё6f-Vlcff s44ʂP&&M."Anjs]{ݱɱMCUO,)'! U'%p_}nG_ߜrr-GҸX=/EI=)VF t@cd6]; ]O;k#$) w˔1Nn?'ZbNjuUSii#VvA&fe #ŨDShA-r$5UVU%%d"튣F^+@q0p -ًTZنYmccL^\ _фF:EKcK|k .D-8k۲:cc} K=1"`Kf+h22srA#Xy셢#c4خ^59PYB/ }DWx ~'ܫphKq׵hE7* qbk9Y)q&oU} bN{cUgFu ES&7oS+D2)չ>)lMj^2`Yo镚hLK&%(m\fwJMPGm/ێM CDrdzq }0ht4xBeзA1&26O(2 =P 3{:U}^ YF?WR> Wj=on,ۃ&?A:[)3Tz Tg6{xߋo`9;AcOƔ0) E@eh V2>-a=cϜ9y;x o~0"3;Z^Ȝ澘LDWa |7zׯ7o?r~zriDtpPoo 7/&f^/Gj&դѭA8$eʆid"R&\"^9Ilz!Mg 3D8_J?%FrV5 (l*Ґ魺xjHv@YvB亂qr)E9%)E"ѐͥngavju7wRpR 7uYe?:f %cDW{y G8f䈠@ݟq߅}ē{5&86\1'a+x-g tf+Fp⼋,]7F9IdY+Vcbn)ńrFИcqSOقNŪ'HƐ QΌpUE9+cW ^JYVsҬ#dm*Ƨ cNOg" ጙW;>u M զ&+RItH?|:@N^T͸4Z(v6 f]FWX K rrm>jk|^mL J@*cx5s_3kMHr)>2- k"X%+A\AzVC{g~ր2vT V@ՠpڱ;L9PsJTYT;c+zhO:=CR ;EG)b c ֈDS02NٲsKan)*F$t(iea,Ppk&Y}:NPrW="L=z, }:hI2Xݠ M9:F:>ʏug~l$9=|W,X$[G.C?PX9&-!8gma %5NǔL>PEd7CB7=VB(%4 Lrͤp*ђA6xFت:!`UroO6g[Jv9 ,j&R(ezP{!/><|vL1CF1NlwZ(ܴBZ.J5oSadQѳFǾZDBM$Ҳ1q=@|akhS0_)6Ј)ϟgs!IIE p9h2lTp5RGa"em܂oڲC EHlwb'BXڙCm;F/ 3ᕁfe jW|_Hf7Ԇ͑t]=Y+h_$C9{R\h58'. j$x1Ԟ`l836@{Xpݎg鸴S ƆaF76P>bc#1||i ]Be ]VgHCe51`q궔 iu7ifŵe#)ԔRK}H,̐nX.~qDF3CId$'rgPQ33/{ D|{PFÊ )0m $Oqt7ۊմP9|oݱɱC#5=GY jGou65Ձj$ݸE-n6؇Lʐ]ӹe,j}:팽L'6 gUs(Y2QSdY;E]Z_$%P[ĺ+hy,lʆłhRa ~k_ߒj\ In@5ܽA0`9yš̄BS,mlVd|8sf R]f) KG+Bi'"#ƹݱɱ5Abxs b s@>ORKh%4=Q-%e+9Q?I"! ȵ,nXw7T4Un+_" OB(m5JYPhp(;b醤0w;8"1wְ`XT+œ|&PfW *$(+!oF sjg$n] u߼utӳqeOϖ(.xd'.[fz⛌i9?o|Rb@]5U܉vNS7o _!ras2:'*i^G?~b&<_0ѥ-)bD#%I!z SvJ ۶1z0v`!C("e)JUk-J-Y%3n[7 w Ǐ_ ='kM,Db ('A48=p盖45`BA"eCR E(]uuBO] PYA.GccgʊJfI,6Ez9̖ IElRO~??O䧢4=Gm1(K iqʉmWU1.Fr,i j40XP 5N U{۵a@9[&|u`߁5؆Kt`VFUfF7Kre퐸`cR&X(Р$Ao*4O}/XspmX BwH(R1EX+՞:'L|s}os8i|‹"_o>~~/7=lnszxիۯMsy7?+Ly>xs8<*G[81+HAi0U)Q1=)Ћ+SI2$r-: Dcr4yTBIRo42.̓fEWQ#̥Cp6;yj--HT/ҥ[NJ6R~=bYA7:zoZ5Cg畩ݨSH VqF&YE 8%QIt5F g"Wc b,CbRc `ExjV7 # ?:[6mCN2L>KeBCǸV9oTT?c7iVԽҸiRPѬ>$Tcz9GiM[W53yuð靨咣v8SқelP.Zi$('ՠR" Y>"Gpd7 vqq vq,@h?R1ᨶޭR="gZʕfj-EQ~pF&/4ea Jʋ y7@+/Y`)ֳBs2GETQ , EVh֘΃bBxf'iiّl@\1h/¤a2V3tmTw0բvxŒT@ %,@Fl sNSx?j4t ԒwKf,"*Go֟*ĖYtsNn5edeb. ǨrN8M4whKFad۠P@5c =`[/KK+'b9zhEm*@hHe+@ӾAB6#,hnpLJn꤬EMqum6k(/_ ?6rHbʆ`  c# ;n֨,9lE[׃N#ӡt3~ _Oi O 6Qrk :\(`gԸD^'jPNqpMx!ɫע˩IcV$0wSb!kS[>dV|鏚 @P/^[O=@F3*/VB" eGjHk`p4} b!A3;$9-&Ȯ-#U T\KjIL'#@> #GPC[5bҠ#4‘ӌzj~Hp_w+Dҩ6lاH)g 6ie :pv="]\_`9'C=Љr) *SrtyU Eΐ,g"sx#ΨR7_S8N~<};5hPn\K8ͥ SAU\75<Moo>~<ׇl^nv~v盇kvuSg8{"(WW] m# r!%㋃,IIMtKYiӢE4.cGlhm4"pM}\gӆ^"3%f.d"FPir,y( ƌ7?NI=M'OLX!+ WȚ%VHW(_} g*BT1rxd~[ptfaCg _nl=--:ک!7|1f07"lf[$ӷ  =y#yU}% nuWՅUvnK|_7W<|Á_.z?j/Jg-K< 22O@ѱPk: JRo^oE//@_k}wsڗww3W֞L2M_{}l=@KkWɠN‰)O[Pb׿, `G3(,z1fQ5?I@|P|TgȈai:慚oTϡ^':/SZeͷ%$ʗLї6+PLIMa2YбR94/ҝ#;+!!K{ J{$"y7T]zУpboMX-N8Yo_Vk  ZΖ>ǥ(3DQƷ\ >)3} 5wGoR wc6DqjnfJ'ۦ؞T/h|ȇʻA!ȇ}XQpTv yOjP+id8p|/r#=]N!ϳ%4+,h+\f ;\Bz-Şq,NDzlV:'Gȡj8NV崐+4PP$'qHB@&JPfT0:?WeIEq&Rٟt[8,LVE^^IY42nk2EFEMcx"v11v=?I5FB Pj4ȝ0e'; 4#)OLF8>y @dd@)z~"Oӛ(6Uorm.>b8cJdkuOG/5CeJZEa1.mhWTRRo(wtjw#68b(eW|LR qA(4acIH|k ڨNCj5<]+I؇(dpo,ZMX :0z6[ O񿃦~sכ[×ׯ^~m.>n˻_ww5C{a¾slD7G _~?(oǛýutٙ0 e_@!qY3 !s`@SvAT:yܠi&J ūKyB# 7kb?-)FBS?嘎 4׍S%I+կcc)$M&atƮ (DE@hPSce 9h:'ug"~9Sפ盃 aӫ6ņY*ڰm1DPSlщ$g  VTŨ\AV"onG_ޢ/TAgex :@:^g%3Jm@MeuNg چ WPX1 ա#kd!D㔙&9qar(ɍU(JpvkpJe߶i^lhpO[w% "0UE0f]`BjG&g k$JU`DAQi]ÍkeǐSli+ʉ$yå(o/\#l.ח:<O4V)^V+}AP]uHTH>-aq}-!Ձ@Yut!*Z1T8-:7UBMj$TW%)o^:ڮ (aVA:c^qrOGJp+xy'-l&m2ۑ^%qpnkIo(ec|"@ce\OmirXf[+e@[*!蜅Rdpmp/J]$qY춷 }@Mȭ᎙]0V Cb8aߣ󞴅ݨOVP lŵnhAE($$j* Џ7&1p7hlgf8,]-r G=T{jX;}~t+37BID`@%rWh7Zzv\WѼ֠lm2 uM-[SǎǙÎK;7ehX]iŽ{x!Y9t/g0cnxiCв)s hGJ!)MKH$Knd0Žz":Lzeb{OeC25"E197nXˬr K^^a gFPΈ2î *-_XEӁt"\1{0tsj#fk5]V2u Gm]xM cLJj2)B*4+ }K1!HvV}fh) zRwV$uG#$QW m u:rdN!5JmTk"zJdCCSWPf.P7ͭ¼Hwn4J;^ɬ٦*1+ZBȍFPo4v=}?U*Q7/A%8![hVCOu^shՁ"]BKt5ɩݱfaAeؔVDJCLsb%rD󵳔N.rN>as5[]bƍ yh4p>t S\ b% Y e|vAdLr.Uiw& BQ[mA(n rSiT=2%8L3Ș5hJ/`b&أ ")j:n\[l ] BvFPw@ن(*-bKBl(4PA-urur6K5nr+} =ݕAKaLN  YxvsoEK[v۔THb\ŐQ0Q:q.\BF2bܣi=ȸA ؆4Ab5JOq5$"鎝5Trf$ᾬ %?F)>7j1d buND{J1MCC0*߽A75*I$vPSs m97%ѪfvC.KY x4 acEK _vM8m.܃ 􋥶 -oSh.k<^z \47OEP̍K}Р؎6"Ö3(Wṉ)W[6ܱ)^ڴFոLNV`LVAVberDʟYH4s]EIӵ+㚑qE(̢/IUi^­h䩘[Q0ն}0ĸEl2jr>1e*$Ee8BLx.&<ˑx'ee}!dBJJp{,'M8_*tyQ>d})`cpfV0z&.F\\!PvL BpTN"l qy/ÃA+ հ@%Nl37uYhT35 d00]D,Zab&H*Ź1`tɔv©qW_$Q]PJ)tOln&=I|BYSR8g͕Ha|vДɳ٫I}V.HP+f*eLV֖9b| iN w=($CƧ&R _IV0?fbW,U'Buc%ӉmZm!KD~j*zA2+}޽AvϠxLۃTA%3LS!u7fqH%ܘ "5$zjJZAV)#Xla-p-*y^gjzn#Dz?J@‚QɰqBDyG5;E$cmG$HiqbOG)'( \d)#&=m .Ӊ'İ&+L2~B>3dx1*S)]1BӈS4h5=O  rٹ+#}+0 T+5)"x 'O ܵV1SM\All Et,!b+iDJ $u?xV9NpAAкF)-dv2(MRh퐪qӪ <ZQ (OBծ Gך/Ԥɏ IL#p.>`H'BQ@r41'7kQ@gZQRcjԓtŽ9C{U8{եXu0N4^t!l%iAi(b(GS%dL`@\8.F!?,p\i) VTَCgR\qOteg&t\õЉڪ}J+LITmT[ (j% ƣ/X ^ CAB{H@> vpnQ ՠd/j:rC}ћ" cjs[GaNP='3jlл{PV[fMmZ%[^j*_2mVƭ%|,-|jUUsNOuOi̮}~JsdvT#ۆNPB˦oST-4+A#YTk$Cæl?OՂKVOOLՒi-͓u/8't) ;5sy.݂Q`S(HtMzkbbKؠ]-UgRrz@i*IZBp[!w`CyyLy3y -E!=0`_<vl,bc=/aLR>FGa_P7|Tm3ZcmNDCOj).S1%X P#OHDwlbce¸C^a^D4zC+] iHcY'e ҸCŔ4nǓKcOT0mOBi?%i<::ƬQ9Uw+kb1 -m4S[ISq)i^'C}1Q'V4S}\[6Vl6f9Y+kҘ0|i̜Ь@Kq"Ҹ/sƋ!m۸CŤ4f%f ! 1񠋧Bl*;Ĥ]6fvm,Jĩ W[W*q{=\ ̉C/uǦͧqNز1aCO+v= bR]Ld[pVgON q꺿6]vH%xb[>_'dΞ9sTPO穅 k35L995U:t!]B趗]0La2kNM gLۡfmS %%PeԤTy<[PBw4Lhc$PQ?XkD7r7C[;h%XH86'jD᱒EcAk}SG Ip{[oȷ[TԲo(c,uQI}(bj.`:TOh[>T0{0ۄ܂>ZaIX#q}K#(`B7"H"qKAmZ8m g/`NI3x#P HƆ#P] ! c-c1 9φ.nTmAg pp=<C#eK:Fh]I#(sV;9qcB+RsV((ӺB#lOu0rxC?(է>E]^lm#./ۼa`ϕьHRYk Xmw_q&h.] w F&I+>ƠZ6gu>Qf=,ٌIB˸ vl)E+v|6@B-"TCtPº׮upBr8&_QKm Wh;>ɜo+u[fΫɣ%?嚤9P"<+_bhBml.h-wzIayd-\╺ +A-+3mWyF?QbC1#g94R"gcPyG휄8*(WѦ.-@FKH乲΄5T6G5EN /pC9#:W LLM 5+'DMWdGYy'p˹2\lՕkUhmڗA ?(LS[ct^VPH%i6={XiI7D lJ"hB6%GӚ ͈;ZGZ4>g:trP5;!ژXE(u}ZS#"R-LgQ3qݭ!ф{:5;t]W7r6;N&@+->8&5Zi$~K"hQjG'S\Dh$[hW:׭I 0wݘzO=K2t[9KEG8Ȩ8SOI4 !ѵ6EqjeP㹭 -pa7\Ē( eA3RL=: |PfX:BwI+O([&RRNK'͢'Ռvlr)J'Ci$ĮǐMv+0"Z,QMNd0DLi|/!>ŦQA*闋O!gg_n^]m~߻. ^|ԡ"R?Пx'>8g5J?cssa "x?VtK]$OQ *a;8}BF@9Et ȂVoo:(; hO&„?OT=X!?umEåqi`HCkcjG|CnQ>lx/?^iv<G[8ol~gw nnΏߡxx8YӘ,F9-r{'aAh9'ܞ(q]"ǮmT.?{ I}?&NRjyi c<E'kLZPD)͚J KFTJk‚{:p)ǜXQ&⨤Q: K_R ~\܉q6Clc޽u.0uƆm!3k`Xa3˴M}m8^sТpvTݦyU|&rK!%' F̂1q18ad޺I{7.lQKp(ɘhc,?|O,#sJjLK8f4^;R\_xZhE|d,ȿ:.(zq4.8..+dܶW"GPd!=YIfF%mʃQSf(> @cK;,53(Zp, cO`̰"zm.ۚLjܚېTB܅ӉTbz΅zZ |"m*m κD ӴEpZ(Bqt1չ %-MR=lb7KX% q|4"mkCmI"=<-qJÒv] 0Ycw!=/yw_]-#~\O9i{)$\fMwdz>bb֭9ϐk*NH5FNs߀yh'8k|tU(B4eWqMzV1~=%j<3Ź}oSV&NMEzf]qY\)V\L[|Il9RSi޿WjQP5t|y_:5*{dX-RYrއ): s븐o\L' >c+aš1`b +5 Xo蕚p_ J&7Md`(e̮۞UQ(7z{yv9͗GH,:%Y&{;,Tl?yzl^nv׿\=|z _~_ qy_k}ws盇jo+kt&.QEK5Z4}z?ړe:P¬6ٗ0+YS1cs5'ZIH L7'#(L*)L+cU|wpm(-3/leF8r9əj^^'R~h`rP'cBy!9>$I)ܸx/F:!PXKxUV;otb9A:@,;~xt?ycĉf2iPs#ZWTpM= B7FrZT)V iU8ؼA2U[ĩBqשYM\UhYOr$w4*jeёj}5ժz&]"id  ݱɱ[k lx3RḆk-d Nկ 66W8H)q^i_8Q@U%2VA}8& ~P嘕ǧ :""}aj';YD4WjH9ai62bY*XPI;IH7F[,@mO'UAN,¬Ъ@Q8#1vkPସI^o05>gƧN XdI8LeE΅Z0`+ o LRUz,}z"S{ I@l_V:e(Q(_B%bB|e*@Ұu:ct>G! #9ɍP ٬儁DZ6dnBY$7N9UEMТfi XSE>H HLDHRUQ?U1DQ2I$nF_^cKr1Xjl6S7͚2!sQt*kfRs6 W5/D2^ 'J::J2ւƟc Е4V$d0GCnsMеn$*0i3Oii߀~reV=kEGDaZJ czNc2Tiexd>VՊ݃>=KtDR IG2PkY@Q(tT *,bayZ2! kfLâ&+1˘pI=3nI.#i @GuX'Y@?e2R8j(/B"T==_#1AŃZ K9*Ԅu!=Ez|,˟^ fR@+qqdԐ^G@Ż!Ehe@P$I5( Ns.TJ7l h 6SAcpbEh~HԨ epBC:GWWP4(AwM'ف:P=Ʃ\b<8R̈́LR]&}||B()(Sl.e\]a2 ̸3! "zp,8M.jT2nGpd!FөL Bkm Mo(Ds:37`GtȻ͗.r ҒgT -&) YL8`nvt`[LQ:7-J-VGG2ⱳ 1}N 븃5\ӫ@p~YkGiMamqn `Zqk p֬[3q݆;=.YŒ`SԾ5<x͉ޅë=g􃴤B98327x8Dk&6 M[PHm `{YG)T*ZCXhR\m,D#%U'Iȴ< f8?2Sd{,)__FKq,􃔇6KEH7CF8_xS{K/\C-8-{ܭ$Bn0Q=@[ fܚ~q7}iHzh ͹Fbр|q|W~WHPY= Cqg΍pG;Դ$|;*VX2V)h?_o`OeBBGk_qbxc<+)^ß[ONx|K5xK'vmf_%DĻ9C8b# -0{kف~!ɉ{ o +Rw ]Ӎ3ThwhI}{EDlT? ]DE? MKI9M'!!+No !Pp %q-PYi_G܀Dwڐc{m݃BDfJj UxIWQ9Nפ<َrZ` Px 7@n5)nLujZ}ꛦ4再* Ni*ܕ>[`8E1H5"s; ,1o Y˒r,V"D[H-JFnYtȨ%Eɚ8_5Yt-"c]Am, &ty-۾ nEވ0hQv=՜ϨJtQA"OAVݩ5Y.|O `+n(;2cXdA9dW7^ZPCsx,İmgŒqjf>G[܉K/;ѨC""-٩!7L&Fu R3WMQns!D5GڡdzZ%QySjrYokr8hQ:"_hb"@S'ptܑmCy Q@)x*>yF*(Omi}}\Mx> $ 2@.˱hQLB#"Z4 vTUn(~d'Y%_1Hz q.O.E0HWކ#:"vܽYH&Wt/*y~b(!%@믳꜈YUg݈.;;~4i@ogg.8#IluTz#or]Dr,~K%(IX에8 _cG_̲ؿoc=uݩ9JoxYߝ;Ow߻.eBS@V&0=?0Y@ QhQpQ ~|~~?8#;9n_?6_{U?o*E|~t瘣0<"?׳.ow}*`Y@Eh8~;:yűVa 8_ȰPAqa ?6N+~ar`lcB"'L)Z0[߅ Yǔ+HWIlR_'~0 8nO F0_,9C?O0 6SSuc(~-"~lMԯ8H@?2imd2(3~U pwoB#lF8XG@l,82ϣUn T"Y¾nN?dCgCAY\RL(ʆ߃h ;UG^rܡiE}u^`wd|*H=NjTQ;JIzCsb7{_WكВ?\y? U]>Wil ÿ#یJ_+ J @vRobGY.A1z~\1Jsvi Kߤ %Mb4s%@R\&>47_#fľ4sF&yľi (k}ۣAx '/Z^C9kEUb{3wɿ-ߕ@ hWi/}U$c?%?oQ2ԯ=b/K|CLTp!Jgᷳzʏ(;q<@rE%0u(pjG$*@JQP~ڦ?m4ȷB9L3@9s.a=?m4҇r`9!k'#hİ#d++LC2D|?8~a4CyZ(=M8CQE 偠o<f@K)`_P.y~sB`c_up__XX`@87 .#c l2d~5]廛4k@ݏBhtd]헞ͽsa]_6޾}ܧ>R&1ɿ \<]8{:/|/2A!iϹ|2yy//VY@X< G(REZ?:hKWpM~u_R7ϊ )V]&E} <) ye<2K ^Oa𔣑t xA(_tI>벼ɼ^ɕUW凜Z4+9I+Y͋gy|v8CFa*7̨EX oN{iQ;pXhRFVƗPS`%xq᭱gƧvBeN> |'X7L z|elx\(WyVHv\CFIfh4k!Z%!K<&jf#w)6gam7~( \xat.[֤IU%hNJ o1=nq;r\H.Nn-!5u/6?%z-31 TUѵ $eHny C8̔DF'8C/" ]TYcV8akSKΤû[*B~mqtA ;|4ԟ^XPb9DiJziѕ`lr)\>b:}<%w#kgFX]n%2w!,t.{◨↺V(Ŏ7 s_bh:Բtd++I"Z6Ӎ[\V #g༭k}ݝ:^Jn򩽼}~MXasTNgWdÇ"vr//תFbAΜ[ v4;0u]}8%v͋୨-dBY,Ҷݜś:f@Xr$} }(f^pNYn@:&Lĩ Wz>^%GSk/V]}t6SwΩh(y]6N ^TjM9;oƻۨ<1:c_o7\OW;w3X˓V*OKz) I h`Qwle]mMF3N16v`U2,Z3 P'X<'%]Ԕd:qiyR߂l 4 V `1,u;ŸdWwXثṡc-/gat T!A xu'PS$/u1Akä֎j*+rvybg.7rD, sO[+LjO7KiKE2jIkYІ'Z)Τ$ i- d7Iך5f 4_4G}E,[rZ6 FaEiXw؇vxyXf5e6 ̞}( |5AxEbҝVajv͕1/#nˋmIR$'WyٻmZ G׽p%IWP8\Ԧ='r4"up1 ԅhD'"Z>VnDd.o7,mu[?`$@dd iZ^%lf?ӵ2lXgs_R\}ԝ?s.yt,1.` /y,E=ӥ'̲un6$7?Uv% ^4t{R?Q*^N׭P%ly-Ch*DsSY*-Wxfm<ƽEiNMVVqȚ>`ӎ?_SM,"; ȵǃO啨e/) c-ƅ5` {{lN*tqt 3g1u{5(CEqNǶ a ˎ?@p)s[7PΦ=KM ,=}(2uQq 1F.]8Pbҧ~[v@dQݪyk;޸eçQÕM{o6zڞz. c⭚) {m{B FsՇ'AXI€U:TTgis&K;=7  A`CZF eKq\ L=@ƭ)M!„xlΥKLq>Ÿl=29I˕An:1{I5o(F>&q.c<O;&Vz_mrD>(cl31;d&E = tw^\ 7k*:\T/*Jfs3 W lRn4ŪHpMzx|TD3czzJK+e?qJ=!xb|Z*U  IBcNHVAI YfzSbyC>~<{ |ōOy;]^,0v::Hͷ>ޥ]>e=1Ũmf"Kl[S?[τ?;G2O#K .NBQ'Zk: aMaI{%J,̓eo%WyiCutGq&$Кø-!h xK NWᡘVrE_lowrTL{v57u0 ]uB՜n\H- ɛo;w~ẊjǐhYy2b+q -)c>ۂq n]RdE{楔 m9] .ǽA{_gcun)S37+Eiɷ:mۄYVӡ=?dd$ʶEHIտ0=!|(M n[ xG3ɕr;9.̇U8Ux\YwBr{?7E\@}~c[FWC%1RTNć: `V;s)y=Iz=u,WjybLAW_m¾Q !`oXF/X1M#;7#[gfwQ7\%BDuv-YȴZka?kcC[:c({eCozS'-`TkvX޽Hnb+ȧWbn=H\ᝢߒR-*L~/It; t{mm n>=WEi}nT9˘QP'o]ڽ|'HB 6Y5Dy"J2û5O 2cRt]`5wع:E<)аO恛o97ݎr)0k{9s ʞ˪kVF,OKB[x`[.&k#KTj`Cy~s"Kzn#M24ލeWv FKFy3Z ]KsJ#LϨnFi˛rm- a˅~*090O:e7V(J>=E|" r)]gNJ f 3!&RNJohnk[yy:&{njBca>&{3xiښF1PRMtaSnVֽ/d7ɬ cÍ&>k, .=c A!F@q"hrJvڧa[%)h@MjmDDntZ*m"e9'xtJ~.ABh!q붙fBmv͑yd|GjKޓ E&z{xfc49Nآ1,rgD{+ Puk}ٌW`˜jΉҪ^D9]xۤ>oHj)bI[:2Y^"~Z'/hU %5ݫKp- Ŧ/H>`#; dʹ5g + O<@hh0lvX.kv׏RM:Y]3%!Fjg%Đijeu^"l7zb ?ʞӬqF$'lu=]%+y!?9D;n_4(unֽ+/'97!*\Q[,^,|XCb_j7q̏LLߛ]ĺݬh cYdSx6C萨ni1H yjxzca!۞|e/@!H4W/ZMx{V X J &liʼnsS'H. 'X,KfZ2blLGM4 #vW0%u/xF9aC>979+ccͺ)`ۅYon,_}/N]u0zْVnubvAR qoaVJ@ye@U8iT-n':wS+8eM4plddIFh۸s̼U/-ROݚ1`:*ImqjMѪADS)/Q?Ub0KaC9m6vb]>*`p]ifY7UYjY]hZ56һ vޕmmܩ j ʰ{SI/W^4sVaG*&Q)'f g=E[̼L K964nFҢI,1. : O#O_.NmroD4[fuv},`r/{_oj2J&@|>!?6b[勸u˯"h]6e_Pt~3pQ'ZKͨLU^Z˖076-YM߁E}[G좜 m|.+[h^` ` %BؗniruHi]E`cdeƔZ>؋$Y堣YNc7JVUMq bG*aw[рJ!,iR`&w؏W؃r }'m$i.R̰%#6_gJ\B!(@{!^$gZ636_yg!ҳ4Vɠhf'&\EnOek8inIyӹ˝RXpQS1V^^\\>XDU&JgA{)oֆ>ʔ[:Ew#q3I9{Y0$S2:BD,!7:!8:D$7D\j=s/@"-G7 ^#p`:!!KyAj -LF}d,QeĸWTdla.c:jel\]V`H}%1fNO|o!YO~"DϫfPB{`Bfz\}mq2Z\h:C8*VYXA/p[rJ/]ݲndF!c-ztKaI{Am֐3^ p:Rր. k6j(9VkT8b5 /]PkX]0e*'lDOGyUw%ݽ8ˠ!5t]ā;\aɗi9;\uJP+'{^q$U >pF"-nKrmމA&-X?D H^Rͫ)XVOsn49hN; XXR)K{x!sv Yx+p#+03GV%Ś ;drmy?}QxFVss6Rm\ܻ?YִGb!t>5\ o \9d}Kp޵RQ(\vm3e>| uC_t=M!J.I չd;ŒHR8HQn'SΝy!&SR}ÑPx EP|/REUUM'4=<a85>#:P&CRknM=YKk>ek 5OnZ٭4pKD"޶q,4m!Vbȓ4/@Sh'KL*rwexQ GH^!w09[MFip'Rm5|J\[W+]R( L`MV9sYZ1ftƸ9MdD}&ӗ=IpYYku^+\;{b =pK>òG<y,tVXZl#ʥ 1Dt~Q(N]o'޽ C卄]T$7⫑GWSm?y8w"-J7oA#Ŕ sM@V+Uפz<`uZgEBLPawx\|=bGyg}iA-[J!}E.O+qLbg2-j=\A}k$^]kܽh@HHHO^آp,fhG{ˤ; h#u oڬ)T5/z†CHb4H q'xz \Xq`D|Ygp7Dvq] k[%USqѿ# \2 N}R1v O{|+܎)Ⱦ;3cHZ ioNul4#̩K%/;7'Qx`n[JNW#!6 LywrƶD7gA]W˵"%YVd$jZ3r{s,=K"x5& =CG!Ű&fT^kx)\/BB}e".Tex'#(;quQ×h,!b+3CRfR}@jn>޷wVu᭯w1#}3yuG#J,9e vRk)_Bt.!Ә|=(4Sͳk=]|nڹ `(@{96ڠ,fMD5rUZ_`gMcuɥ\<:=AL‚`IjkvY[rﰫKȘ?Kv.)47#8ד,t3/Չ0>'pm]"MQ`(xyZuW"|dK1|fG]{d,){tkZ~x+v4t%ܴib6F1ymJu3MXFK,_ 3.!l*}"NDw+3Uⓡn>?e^yt%T\}XRcJҀZP/0i["˱;bz7!u7 &v!hpu!GiƒŘݚ=R%gZYK"x $KZAS=P'Z|rK4sbL`\y*VܿL0w3(-c^^oʰ~zZAZa`=ѵq< e #"a Vو'LR5>/1 |*\-aY\@s?ww\i=!VP>;u˰ږ'}5̜f]$T&֊npoK(ۭKM.n^ P~|{{?rf,{dG]!&'q5Φ{M5eX|,Br\4Չ:gMV,IaZ2 + ΠQAiSڻE0>yj=\ZN@3D<,GE>2܈MBEM5j+QJzOB\3IîKl{A\$}K(|nej ӷ[4fSlopQHȯESqپdvj@nSe"fD2RP1`+L`l .HN f-v@Ea]0,KSۨYϟ TTfi8vP,koY+s Ӂfo!Kr$Ó&7- /)?;%00}85\0^*{O8Eg,&fEzJO} @ Ԏ~>CJ;h9a#sӊR@g{]BY"g¯ sLYU᝔jI(>o%,?]2ֿݹ]&IMҤ 뼖(0'뼴.agg:@g|#oBbw'gWwHXAOgrulDc-:,C(Ly{TE!x6i43eE9.M$Qr2}y*2~+vjajN&D:]ҲKC6dkXz"61A|PTum C:qNhi1΄FBo$~[]Wx2Nd GX"ˣT+=D8$+ jR1~epo!Ku$&z>jywyTlq76U$p$7ڼ-5ٍgx;? hqKh:SV2V a?҃y({1t oug)o_&&MHimr-~ ŭhsOuIkm x (:2SJ"XGlL v%&t[Da ȵ3- L+ a?j#>c;_%ʾk2bXy^Hf[x!fVE A:DXL7nޘ2!MF1L{G\L 7$.YqG35K'g.豨xT;J|@@~R9ȵ_M4V2P/tnK%]?jaŞGUn @H$3¾x;dCGqRZ35 7f !twC^F, hBGD<"9 t >7q vq@l$'CiQupEw8dᴄi)cZ*MלcrБd.ǘu=Uw`;7Hg J? J}y۪wjzLG A|Z^$ tq[y)viP,XC<$B_ ?O8A 9oNX)!d!z3NzgP4Hfj'{"c&SHc ך-&ɚ~f~>D Of|l1KWy%0-P\J'1d 9>v Bi z?9\Qth2d ㈥yfodi#AprJhÊ|~ɪ+Xu*kh/ G/ - ( {b|W$υPlΥ-Why"3slj):!dz ha^/g*G<uct ~Xv(xUb9Zެd~p t oM:C\eˬ'j/_O%Vy]@}ggYQ!v1nX7RҌ3;1^Xң鶉b4<#c<>m:һN[P!`,*ρFI s&;*V1" ~gi2F6cq}*M&WGY~Ko}$-tcB5&Q3|uʛI%ӃŒ\ AGۓgL{{"g,4c1,ʻ Q4NM:>ցas6sZ}s; }F>ȡM:d1QpUF,0yp/d\#.5W vO\ݗx`CaT3$a-u^3c2<yosOMU8h]B~?EpHPntN 9{|`kH ~bkI1O7XZǡY-]u/ .x~2Ɋ9[i}YKf9٠]DxWr` \gyJ9@wa"rKV{Y-m C}}O>xkE2B>pݫ %#^ޝoHAl̈́ ГmK?c3e. QiF+c/d5B>#6:N2 Rsp~0=Bvo M,iOL :#N_P ywXx>SfylpuPG܁-zLaݭݨ\AJ??HG `͜tbms|rM.BVLԭZoCAOqW?41Y@ BQ^k+BYfPa6/KuWtFz`^sz00΢Ff@2&9`la"i'-3G-U lw ͑: Bkt6#N D]v}IPy{tY'A*2%7m6DhHѩ.9Ӌ+OG61nKm냃}$XkռEiI9tu4bE2hvԧ<틿Cr]P C|N%q Wߧ/8N|QqېF{P]*NۋTЩ^_أQXK.ri㵓roZS#6Dȓ[Ci4%]XԷ01^i`y53;i%Qiͤ^Av%PJ%dj'"!3äc4d`ׂw$ȧ:5^J;3znr>)To<8W?wηcXeeUEPL9Nb-Kb 5jC~%9oGHLȤPiSNPEFfv$Ó?ԕ4xYu]uH-4͛XBT _+";PTiw UH>*1+.>(A[U&tjގx1Й1W'3tE")z-Oj|iG^9?LIbI (K!&IT^yks/b%r<ɤfґ tY!uԼ 3܄ yrL eL݇]m>w(7 PN`Mˎ~0Z~ VշXK7z,wCX*1 iòOy%2$jS {3Vbu:Nbz qwDq"_ {;PN$u09y aL"y699oZxT*;mɍ)C} c9J7|:JDCo91O ,M/OqEg^N^CϽcٿ,>н5xoAqꎼXj;V%s>QzBwYT8G@?) 2o/e=p_pgrS\,9A˿腌RۼsFdUJ"}<ʧnΓ-YVC  C08CO!$Ậ]c_=JgH z+.6. <8q'I!SSQC0ZK;CbZ"K.4;ќan;xgNKX@1 z;h m2|7jZR򉝤J\M^h"O\5L3m|pARkdޑ?Z/t&~dL|:r-O 4drWR"8dJzw5nC͡uKfRGgr1qӋ/ ːQr ۞]YJ]/ oW=؞;"!} خsYg? }Z"/ȶ 3?D:70oJR{ط*Wu ;5"k}*h0Tb."er֚_ nDgxrJje2n=9o w0Q'"YtHm쐉EʙUo9(3E9yZC'eIfӞ1.7fjFQtiDirtJw~H4}.tlW B{lK1MK ^ 6CXG뚩$?yqO3ȱ@ lw=*T!b>/l2><=(o VtMm|'GXKw\xTuSۈYhfȿRԣaPy< aG8T'W&O0=xͽ0m0"I)ڵ2 eSqlsI /ǀ#4ueDQ}a(޸a½\䧋/LM|Q35o&+d]N #s+I0Ҝz=\w^=*w6`pBH~Hc*wՆ(|}:1WiNbH!Xq[Ti{zbq|PlDS^s׼J~GfDK ƃ4P?|jr&O1qh1e}鬏H!sJ #6'\ə{ԃ[ԩl&hˬH˰N3K?2 臍LYGST!FŶ ʿuO|P[άrd$JI4OX^=B'#S5 P@='ū F<, /1gpB UfWI 3╟2W>^X%r~vl>񏃡nIF߳<6 d|CS>lPUUxE؊4b}H M:3LE?+',TF?@Sz!/MW:6J-h^„M@+#xO#-`Bh^Cvw~iai\vܦ1zJA`spbSo~xr[ʓV<7ҽD[*ì&W,#%KVr'DV'q52h(>ֈ2\s3'@Ҹ,B Ip>cȨLa0O0ppTYv8 ˛WYns<@ I YGZ/F?bD̚3"-YM_\jY#;Z7wwekNjC^8mL>!KS}mh}ZLv\ i+_"-4>IՈ"&g4^oB&ڊX9󂠩7(N':}iqFj{ ӾU':xbU^sk+T]#0`$e¸0(ڐO8K]}#CsPٲ8jKBI61(T+b/xE3x~{&?k喝DҒupx-@XmXta=Dwvѫݢ^wddΝ!l>]Šh Շ ]d#6gH.<}s3]Risq?\eIitď|)yh(bX~s8oJbͰHNMPN)he EP^CVnJm`~ {hEZ^ߚ̻pSlZYd8 H%V/hu|/b?.< GvYnKԩ 6 %xr(H-AyZ8!Pe3K6SuGIHdfo{DLOɇi}+Biՙ= :ͱٔcSˈ;-A^5q0m4g絴^m~(2jϹCՐ@=s&ͤIǶt8Bǃj-ݹ{#Q0b8fToY}t S e8+*9 cE{ZQ+uEQWL=Sڙ Uc]WǾL:勬(HEIiMFM&Klw7o+͉47R($cPpF9$[W̫9|&)`s醎vV qD:d!f;0 k_Nh5nck 0 {{$8vA^k<|{\N<β+b2Ҥܑ{ _ԘԔBh9 {i.prQZH9CjI, ևȬ ~yP!yUFʘ|ډy⭯Զ?1\CYGҦaۢbڵ1(FB^auĩҿjƀk\㍯RcGW/i(VE+ z}J[.!;4e* `Hp\h Z;RԹ&e,LhXx~hA!eV ߲"*&#$q=h,v7-(%~z eTB(bjΨf[1x`r ۤdi[ qA{߼= I(3wI&|N8_ {Dq)af/i\6:1!>eo3{2wPL]Dd$nJ^ N[3{"MDZ bJ /!DMg9ڣ0&AD> wQc]ec,w6Q./dn9)RHN1? F};~ɛ: x*DkWP4 )>ZC(;Gq0/Xnj !չs1/Xn\1JK$`hWp;'-%/Öf3 餤!1Z`1cGQ|!~* Yl H tũiO{g>34κz8; & pDXe72zö% Z(@d-zǖ`_"xKAĞ  M[|{ x2xM06ABSX^|CJaǶGe 'KPO7:Fv_ b ;^٠O}%'Pۯ*& VMIkYLعR%P}eC|=oxRC޳J[ EsizOˀ/]$ai$V0K“g1oc较,7Z,JW!IYtX|MM7l]*2O6f(3h`5\&E{/Xށ\O{A*uc [2ZmV}r@2BM"%-QfB- qOh8Nv(lTJ)SId E||~$?Z8VEBrW% k_`֓ B᪑XU$58¥""Zئ-ǎs P@Y7c )ť-l@n1H,f|_֦=ӢtxҰbODatOdbt5R1`XjJ"G}NQbRtZTc ߈sDtvuP@5:$P\*lk;=Moe"|:ޔ̉7/ݜ iQhAЏC2P>={{i"w5S* w\M LjC~L59%57{q Dv@ʗ^0- be }d_Ȋ?8өMTY=7#k N<)38d&'ZF /aVg~qUY#ꪚ8/Sr:/j~.ucs-xZXg9ob|-$Vl . R%ZUs̸͢h $tJyM@)wHpHW'VRmئzzO J5ōGN@}|]OR/&ŮW0.4o}{m~0%[!ݗ|נـ^h3ut]~'Cf+RIJz"/2Ļ8/r;w#O05A?_Nq悯>sK)R 6? !; A 3&ُ]f\M` -C{X4$seFVVdo/"9tBsTI+(-R;Y.៻}K=m\/VIm4@<#-$+F̷4u`dCmdPFWCzy0ƈ ̇Dd2& stU7XX ?g|G|3sPC=m]'ī k`U_OPuqMJ.}R#Lf큠 gS!,WupނТ[Ma%hGGm[m54:fÄZEj, IΘPg #5_ܘ' ht{7S1h^Q1'pgf5Py{}}smFETچ?5$L@&:S/ ]``ѽ\*ZyK܋%VM>$UPZTw0 R!=L8܇8d$D$Y1;5%T ;ow]3Z_I}״2.rX2&HМ1"lYqMx:D>Eݗc!lwVCTMҏR,mbZdMvm#Є/j->eBb SdAJ!n@n kٟuwe580XȍrB8z'T9 )?M#/cȁu)1EbɲQ*Bd%& 3!n:?F)rPAE"@*Uk 4F\6uIqcܲޝW s礤ƁD>B{$5}ڼ,r%qw⇉ĕ|,N{ȏw~[ M[.! /A(~(]f)s/*~R;7M)~bxO'dsᪧ9h~~$RB~ټl`l< B!=hk*{y:;]oa7Eɖ%e ʅR-a8gmN^qy 5QA/m~h\ځ㶳rTirb\fAp_?wWih 2_k?M.ޛ DJ'Q1a~O#z)U p05W,y돳|V遇Xi 1C2m2Rؠ Lqgw$tw >e&ޜjOtIn~\5b sI:pNq Sߦ,+ ,FvLRQNvc)~#А~tBEFqyKya."sA_<@c8p Q8ȒBzwe` t4BJ5,Mn7{Z-Isf$j>#+=,~2c0ũfR*jAURӹ10.;wY\|127` }.8i Tu~G]5f|c!yxغ(^SfCO#l̦r?*3W6 +?^(Ii)$ޝ+ שo:]gڥ%#fm؎@o/XFu~ ,(Do0sEf135m,OPE죞1Xó:5n6λ~56Ҝi;B[9+X:6_}39Xy߭'- ttƢL.Ƚ2^$\-XN}?.=3$0&,*64s,Pd'KC4g/=Qb#<U +Y,Ax|9 +".̊@GhT0wdI, [u;[)X} 5UNEu$eP>VMzW/s5V!vX;QHq3 J6"!U+\* z}'dݕ+Ƭ!7?%-e܀dcÐ?4l_-]/y%{u}rt&cXw^% 6I.競&$bG$@ u {$[~$v<㇤ׇtW,?B;a%yHl}.!B^ -Mv+Vօx?, | j\P[GgɅnu} E^ "tq3\&]W)ɥؗ\b+RN>&`o )nC5staEK?T V^o*+k](֣ #i=ܫ-,>G1L!ˣSf@("(4s12i #hZVNJĹ"?ɥj(NRA7y P6@qL&2PL4LL}Ƭ^*cw A!kgFύrɖ3(Fa[U^IV?gei5V.(Me׫#4"'7e- iͬ,v(Z-Kb^.MGF]n|>m( >)v]1M*3AdӮ`1-ߐ\KTo}uP׸>1ɑbIi 4)茁"c[zQ3_Fxnwՠc z<ӳ)tՑ)|E_?UK!mB-T H a{X` _I1 st5XQw5 A$b7It:bWQm\ERGd:…`@ʳL0)3ܜ;L}o-x+ ^PLp&eLKy߁E]zUHoȠ&\O]DъFUS XK;9:Ƕ+Ԏn ya1{]-,ecu+1^D7#fKe-蜞C*!En8}4XZ0,Ld=T\]57w؟(=.J 1۸dz\ K TR"G)b!<,m' 5hh[p){M YGy8)~| gSduq!j+ [mrɡ2C UR%ۏp\qaImʲp&uzW4AqCQV@d|6-/FV2R66 OVĻYV4ĵ쌍HeE cSxgf`o`>K-eՙLu,"b _|Ҧ=+-=/hX >j6a6 )8nD;#PfGZyeQL7VfDKcXcȥ )qD2D&!V?v8ܖ>ufG Chd SGxHݐ+){J{Ee>P<IWfD Pu'BaX5,KzVA qbr31/q,D7y R/G|86hOsuW;u(H| Sjg,dܳDԿ2ez"1/\Ô93n󣬻U0߄zƹi?8Jxf|2`tȹ gCBnw#͵pD}V^#ׅ'@,?ֵ$Q90߹R :ݘ05"A8chnxN>%'ۓ뺽:H(Hy%Ǎ^[t/)= İ@.8dCܝ0e 1}KE2cEX *0KRq~zA[ڟbٔЋ'wL:-gdrD^>du !~_:`,t0L ;oG[cXJ.JÊ&K!2p:(8&Z݅WD T.]uMXB~ 9 b4Kf_KTE䇫荹1&=:DId *S}_BSE="BXMZϨ}hQ~xv&2u;H)w `l>x*Eڧ&|;?k:P͸ 8o \؛jk IDBJ>*<'BָԳx^YJz{&s h؇H{s_5c skZHDo9q?]ҋ54|t;Z5NCdR)W5ot$% yZKo*; ^p).HA킰UC _]6S9=&lR=4}ӏٿR'1L݆g(g< ( S$q %C>^Q#LI9 g~OD^ɶ> V~\ǷhU;g kc[ yR{~o|b1\|b_pwOeHpg}ŬloPiI =phK:v*1XԯBKlX'R\_z͋ LD#AX❱_çY Ϳ߱!|t: 8Mv,C)PBT+~{pPǟ'$Ҧ l9kte!f+@#|Lz®2f`z&B>$͔&}bc8eJ-@#ֿikJ{J+uSң5QLOtU.&P24]pPOqCԾGazQ%/d(<%/4+ Su|bZ+" sхⶫ7'o=zvy}0eE V ĦJV`[p Ю<̏2CAE%юɡ@KXm T(F]:S:_{J(&3/}5bb8B;ynQJ`ֵÚf_TO7>h91._סcl `sU3m^e"i Y܃? D PS~޼^JK>h_{mz&!Ta&d3"ʴCWg<Ax72;TG1WƆ| K!],j_ۮ轡i<$wژ#&#$6֚|?: 1OVHk#6ܼ>5-8Ӣ?|Q "*r L)m; nOJ-&79eWa6Q <>eW\KUAPN|D=/T=+O/{}W%oOЛ%|)rJ^يm|%g:PkY1S1~}*l^ş꺅R rN$Z 7,Hc[cސrv΅ ԮG;7s_Rv!7[Ss'+ +lo V;F ~=iDp(}zɘ MN}ݚ%EX Zr?܆j|P&نljT0>kt]DIDx5R},Kg^&PZ[qbQ[sQw9C#ZY.Vd'y7~XꄨQdaa4"%50+kv=װËBr./`Kk֗ŧ=jH0K83/Q8򷎧\d49O'1V1CW! N/~m4^է~HU%~Z$eNS}aXV&^8Yp9qf8`AƓMsW)HPcY9JsX `"Xk]5m)X3#7)iMy v$A㱿oHadB Q{4٩oY]1=wm]WTs&_CLDד&єҳObk~萝0稜`MT2ª1,\V"Ylza)|Db`Yȣe[}T&־h-ѮDVJDu(A!SeJQ$3iDӔ6z'nCv0=ʿAg-hn9@= Y<4eT|7XӶC]=WdaM𑒐Vƥ_ 5xE:^${i͑L@W }hw1,;}ü%NH\DnȟY6 DU a}6Ʒ>1Ym#X)r ƀF( ]ҝ|EK)V$ =_ػQz1t,W+f /u+#I=aMbamA!^#S܆/=DS(uy, PuӎvC |L4XI F..OcB $ĀrN✊l+ҒK[&os)G+l( 7I:kPw7;ǡܧz%ºy! MLH'KHyPtt_?.z{a8ЯUO pij'8X&?wŀU5qfJ8nzB!"56q^{_8 `֎ YIyL Nbiļ# ̤mEIeJUVf8O_iKxNKbt+HR;!8u|!i? 70JTosCfՁdn}Hm īj$//Q_!60, `8$D97<3jUbv=',`a,z1 F@< aV0j"[I\x!#e):pE`2P+>ZTJJ`M?>!VܩU牢G0c~rWS6{H!qgꩿG Ti&j6Y[e5[D=ąg)_y~UH?g( GVӏc!(+jhҼ"ߒoedNmWkȇ^oCҸ P>L95QN*'X?}FS!TCB77(m34}v֞y`2.jKtmՕkӸnviń6zy9Xsx\gZ [:Nmp΍ne?&ב:E}e[zhz_Sg$"=*/K3Ai/XeHBF1exOT 䆫/1>xl֓%'霓{wHd~z{c;k#۱p>閮}pq׉Mr V(V gc~/KL%n^%|G)d:FEq@O2$r\a?^Luؠ~M->sMe2mf 5`ԃㅮd%= },C!IX[%á:987J6%]Pw}}<ȿ'̉F}>7\(᯴Td= x1eq Oyj%a ȃiI@1V9\cjay`,Ŋzk] 1}`/6[SCI#6]u2 ?T^ɷQ57 _tNF39=ҡ]I)9TL rAq|"E8$ф%-5xM8JFQa#]kb1EY@RW2_3g^3Xj0iVc$$I[Nl /:dsqeC}Hc {Ԯ_{q¢;6 8OՠEx}' Kl[8xE^Kgkn~0OHjU[⑲4J-~TO8R (- F7 yz@z|Eb_򹉣3g;csqV\ԦwP5 s7RSYCcs A \htJ,/4vE!R5^}߶Gffc&k( 'Fv>brGxzR sJ2%nϥƆ ?$X2JY_mw-}EQ<JM߶~\W>8s˿ D*E'TTS yR+^/9nt[olg }n߇f}ƸκcdfdӒnaF LƘ{w4s t~eΰDlmQJߥMu=3)3 kd꿨|#"\tyFoS Pp痻b)=S-$1Eۨ]F71櫸{8e4(ߣH~%qy_YȤ@w>pD15p狋?dWWpKTONWs+FI/J;]5)i`'3"9?S7/lgpV޳vHc4YƠ5EpN)ӃdKzdiډ lY0:;xH[s&r36\<5`tE>6p5KFaDVI#ǚ.50:%A3-=,E;]RELA@cCksbe&nR/zxw<'Ա%w<@kb|2SaˆKN0>OF;|rYߗ71 dh<\CU9p«bI'Kt1/6P"hRgDc %r >ԖY)QHwţ G\;> 'UIDEglj0,Kl(Ȩ77[(ֶQ 2ѫ;9e,b7^1ffֿ 5Ix8Vc)r4RprK|%J"'`T0dc3C -SIIOQм:"ok;UD~6y#9YAd*ۡ 0{9[y*!?f)ML r5Jq;"^TwPL&9ƭ3dWWɽ ozd)3w*,$,L *~ ?wmGb\O&L֯Lq\G4߃G}tI^_:#VoV")jUj͂?tHlq<.o> Y1Φ JZ ~9@&Q'gk_o+=4w:Lfˉ?,*MHm?i[GqtE{\Vg&4_Wo7ƎݜN(l:܈^G4-D!]S]P&Fy.iNKR+smJ5OҮF$)>%Ko9ѽ1ef`'.AOC9 ;=qGwr9">R&"lQ\!d +f( t!^0e牍?׀[-u.4$5gc1s-kqt JaK$-ÿީV\֧3>܏0 ~8R;^IQJT#,Fn(07?!MWv\CDWa0k9LKU\=;`d2l-݀1^e?f.W^7%o|9t>+^ʊ[ ix=BemGUnkf1|#7Ѭ~0 B5N\l_e`$p1b5ܳS @**&Rw<E 7m)ì; N H64L2-ntRzުE,O/ Q@??g|2Ru6^pO򸤊f:fIJcVў ,97DꇆG(DѫgwK vxV=VU?Mbnlvj~):m,@ aaը㊲('rZfJg _ܞ]q:%KTebfK PPC5+uo1/Lnf,.9|%sRz19}'rw2ȇ>Q\返ߩ=e)̹W._qv5e$Aj - _IvIj|x]Ŵq7 Y67_Gn^P44h1X0PW&ZF_d 1)Eew_]bεGNHZzZIXjUA?_:"83o͛ɞtܨmli!X~*s}͝8g $x_)K*wΡ?x`Rԏ9z ?jZqv EWN Dg\Tn~dH^/d}a資qK?, s75-|@`U]5EYy17`̥PdO xX .´ vmɶD3בw%:SR1")x3ڞ kBg| l1 j:9~K4^Ӧ׌g2}qEP;XgnXV̋=Ƥw-@wzspa5%٧L|_"KgAqXN'\3dFSfS'uQ# 2k~ (x*b#{Ӗ\7`9:\ZL_z8GYA;Ю!ؼ s]is&q&OK&f.vG>v!,ǀаw2S*QhPB/"|p&w*^־y1Mlqpws;xEVC;;Q<,Tۢ*HU 1; "g2 ʕ6hKr_~#n"sobm7V4};JGL!ɷjKg1n)'AH}&?|/$vՁNE!&iG|\p)Ito9 pˀ,Cay!<>Od*j+rU^ uйVZe#M"4_f*n[|w5DQ -7~8l\1nT4b;f %ECrȃa$0 2]lXbs6XS\ԇ`Cɺ(PXd֐_Bd u? vA |l6턺ȿΣ@wL U *J_˝9^A?Qs1W^ovq_2*ȭUɞd(k"}y(N_ڨbN^sLx4V N&kW-c͔HTI)e«S|@:̿ C:2Rmo_QHNDS2͟r,c]फ&El.UPi܃#̼6ZkSm9_NzOun*4=šP[&$>b~/0 ;c5';&fEmy uZ\ Fn.-{7!K`Wpƺ>>qI{tC !">/F_~|$x3rqA+c7tR9u N R{Qzga}Dm%JVYU' \/s""d[ZzF7d:?~BALbGFC+J+8jĻ}YYŁiz,4J nC G?aMdK;- I &"P񆨋*!m\`XrJÝǒ~\D#mT|߱xWbJk8~xf!wJ81րv$M7wUV%gS# Xm,^8b`a7(JևgV U.Gc|̉}Ҋ]`U?PhY/$BG$n;#.e4S}?K\jXUn\^*Bh(K»6`]ǒj_ZSE$#ԳF3"c2 ݵM8&umsj޲Ë^aRUGz!5|$]59ߑGBD<+p{~sO3fғD4Tm>kW@EhPkm>7zkn/Z<@Ϩ?>ē ZsOwa @}T$qrjيb7cgJ $-ohM"3 mַLwLV71˿E&t(SJ0:X7$w_wWF}o0/Yk뭦:y (*`lYYB.#]ೞflp/J.tQؐGO[0Q4sU3MМwE¡دu~.Dy3-#zoy}\$ѩOu̸g-]d3i궛a p_t8g(\'#4,''w/Ȕ9=o"^ɥ~)FGEL%q@_paѲ6sΎ7W>>CX9ҕ~fvPoCbBɃܯgG7Tq3!2ATDmYanut4<\1 Tg+-m=y@bi ghȨtJRtQvE4A?$^AH7+(:8AXn9=mWɁq;P௔WѳdJ+yE!,qLo.‹Aev;+gXWVbF HēQ1џ=SWzQŷ$p+bf"{lEufW&_&qgq;ݕgκ@])=a/*n(jۻ2ٹ={3eʶJ [χyiɠ7.x9;";J|'eUJĦp#cGG=ݑ/^{ԐGakC5bHMW%x$o ;N^Ϧ 9Fb/XV]~ֳOM_ Js-+O-M4&ʳ\ЕG更B  ^,kaF@cQdҫUV@=HUF6bLnUye&pS ܿd%MFTsΝAsũ࿬Vx&^.C}_Y+9R$?IA-:Y>^?uorY <R0J?/;SdϯƯ\uguaޱy5i&E~M8LשI+qFOWS<ػvi1U=g1!Js^ux>SWX+RQ;8Ǿ^:٥Ԫңs}noiqߥfqn@ #n} -T=lT+IJ.;UyƑEދ!u 6rKpzݽX]oJ, q\o4V ,52D󭴸(,^[MJsWl҄;kR+g gSLÕH%j&mKC?*@n9znL?,yG*KrK_iY*t־}8ܡ$SEue\;'}jJ  c(گl풄>>[s\ID4~B r'*u ?;XFrR7(쿷#u;ʗ)P;HekG7~=bFoxDa |e+]+ *Tȕ.o~_?UVrjǠ) pZ?׏uo{'įd<Y?RVib#Z@X蓞hl}&pCVݠ50ծk`M'4B+M޻nI+/ҍvjTTyEzwgdSijw/67$b"<|_K_\c½VQ9#ShNYX=qiLallIxڎ$񒐗+]\ԇ.ؗ VƑ8J"-˗~ɄQ3oyP7 o-G^lp(~Fh,ia9in#ңcPd#0>X—0t~z°*D +!VPM=ibkq?]-ȉFȵuiQd J.Ѷa':orپ@}0!ٲ'\m[@d_\b!$h&< 7s$[3!0okH&߃RX C™*Ks㡙3 yh}xV 2=tBL@>,3zbxoTѝBش&-DVs?>D.1GDx''K[3-PDH((w2QrcmԂ9boOgOXQc3yuB*TyFmkt=~}qדNt'`n^jn+S!(G2X!(!3#XA-B">KF?fڡdN#X"}'7c,X7`t-;[m] 'ZҹEP{,a}kK Ʀ 88\ʛv`rRmu\ >VcbPɀ\BۂPuD>vv0,Cg=З$[vWAAKIjM}V)J~>-Zq{^I4;jq_leco 2pSui|P)5SKPȗ=& >PJ |7߆}A  3e4RM25bBC<A-7ȏ4NvG8D<_ ś:v4''Y tQSXƜZ%/ %Fپ<<P>D@Sw*m/iRo,VCk8)E  |8ƃCBQ##)xa9vk{f69Cu[, m @VFώbb#5]u1}dl(D"sfh<{i"PUCْ:&7Kg[~a"rb𨢾eܠw r =+M\ JuP,Sx-V\m25K(:UˆNbĀq7Dd_!1(+K7ԺTv$c[ ^JƠQ*aScKoch ml}ADiVrNGdYE?e|H( +,B΁,+@Aa ŻxV31P~yY;{d[X:+U߼ë5/I^x)ҋ7[xM@ƚvۦYѲWFD^Bwb8 qxBE s҆OAޡE興=5iۮT]aT7qnW'гښk#`7 .i#yO*뜖eqvip-ΆMb:偯VV7&ԡang@:\s*WF$'/:$-e;Tpj3*'H=]Y1rB0OIO6~IǩGmҜfGŋɵfNZغMh~7|ubᤇ 0Nk7L 01/)'p)QۡwdTta相UC#ŠXERlHjRi؅ҡXc t ?le^'*@W/|hKsmڈZ\{٧}CXY J0c|%468|K,QP H@?_p4}liIYϸwZE)9Mu+X .g&X9W"^ CMt9Fk*B.gԩR86R V'yP*:<.',ܷr36II)x~ڷ { uk kl@# ee%22naU[*(Q#o^25ƱK NÞ(]d/@Sz$@:ҍG/mċϞVh%>+ ~6#\̉uB{y3 e+IS\-~n=Z2vidΜ>Ơ$'#Yht %RϮ>Q[j`"mvwoZKn"l%pK6,tu~")?Bl!듍PPKenDxHc ]pѣ%b 0qX[n^:x^/wa#Yؘ r#f7W<;1^3٘@2_,8I`GsəfT[>xV+2 Pyk` wvkʼn4V5ˁ$& V`rښSX9Jc<8 Ff5MZ΅Mkp1OÁ okzc_ ?UdU=\) ]pB(_ (1" Uqo$09{Y[[jۯ#8]Uҁe.f23 /v1F5Xk|HQv"o6e /͔<ǐ¿ ޥM9rr=OÖ7V6r\~4-{߮ooK=Sf%|XoෘI\o+J]|7&Kl=b Cϱj1o%b5|T5z=HW\>\oĒߕK_%Zx)?#pU/Zauypq+k;XXylzʯ j/FŘΧyۤyĂޯU3pxUMftUTsZ\MP #gMiRYdzJ\-GC}$gPzH<;ow]#2-at8A2m1s2[ DNbtȈek-]7lHDJj ;w0L߿v׷)~#־'bwV-s-64U"̡*}@# JLeEN*%>1&Te0W7!;"~D7e7ѷC@r>Y(oAOZ4!-xe}:MGNˋ$eQoB{&t m p=慦't`M'(88t)Eȅz;3c(ǥRAʹ>.][/Ov&y-$~I7u|Y?$p\J=VM^Rkr*bb_&0Jeϒݴ0?jK飼 ; q ::NT ]BunԿziͥΣUk= UJ. ѡ05K~]A#[B3gfA+'^IE g;ԆJ#P&O$x#qVL T7UWf4RF1% +㯝,aL/uNR.13KD-}dlɮ%nNͧQy7- 7>,?ff F2ܱ[ 2b]azhm} &ġ=kKF$LUju\]ܤ5"T(L/y#z&)ނ*y㭤q5#|fS_q`FLkw5~$ZHt?D>/܏޺p|Yw׫&\ KBm7q)99X8~B$W/*E<>z%m>{m u?ũ[`eFz "+?eEP` uw|٠>hbIo)1nn'dխpڄeuBDCx HgJcp@/lO1dFJ?[.9!~OD\CπP3HBZ+pgpoyY wȆ}㪚Vl,D*ߧnI'{gIgEğWCQЈKύHa ۜ+E:YOYk9C'鑩G{t2$(>{{~ۡ."u^<1r8lZ|&Y^x;_ixwLRZ OSX5e xTi@`J7QN}ɊIL"7f r"-uD%;yu^k;vb7'eG\Xş6okk2yvV,CDoEbɪUǴO&A{UQM-eti(PSrZ|97&T|=zVak`X}j4bP고I8[C^R&@:1ǔ4(nڛR劥pNjyAYr!6VlܛvY9n[$p_o[6TVCMWV j:/=54'vʒfe|%ANFeǤ:QTz~GԉE}.h+O<>ֶp b;Ua4A_YHԥ}Bª)GX+hBzw2Ý,ݤ@0: .|@ yO61e_M"rKp~Dn^1 ?89g8Dceח-O#|@p`%~/r+4'~_A)s?AU`+'/r_4_,m>wy1>陦SחO23K~+4z.,wϱl__0\ ;_um1 1xC<[ٹh"˗:r9T?[H%h5@s8D,!utBB,q^,/l~N)l BX @s$G?+ZهK- 2dPɏ `C% Sb /fV\PtnX}ͨwgwX$X0p[9gSMU \pYcf`x$ mT֘[4ĻD{c]%݊ίo`ग़tnm{ܶd$J5v51 ̑(f6<}^eׄQ4ŻvD&QM4"@]FSQ`$]%eT=ٱ`005V>է^Ľgg3儖8E8ɼ*Sc M =WJXT@vas3hmqRH?`ƒ"7DQGf+m1(ږ.(~}YiO~nIe*z2ɑ-Vk2J0˾޷E4G%pV8 b =bÅGW.U@3}=,_KiRz ĺZm]t> ݑ%.7̯]輥=NJP/~d}Plil 8Fѫ w?!XPjyV1!MDzWn]!XpZBأSt n\{_?^B*jik߮'k܅;Pڃ|-ÀlO~eY{B?_dgZ_~ȃx}Z>oYNjEk!`1'Ç_?*2%i <W,T9v760SiKdoITP㣪c_+%w5y9$m'1zv|Z 8/Um ]a0w.Hwx?Y,;sꃏG*p9+(+mǚߩ|'g`cU:^yUςI5rj`ng.eCvYXs޹EZ6KUi\xoy~9]ΔTC,}8E䃁 Brn3u\SJ1tvL׆աMŞa_Z.ib*%< # _c3m5&%5!zW&ѳ\Ɯ=l`c?ih3soqɯ7@͐ zPQGc,@'+|t~=V~e̞|yvFwܲm&?e"!ǯE%~?TDBZ &0\{ivlB[v#lY}󨮊Csι8s~4>{ %qw ;N LO]" =uaϬT |@>ſOtR8](7 o:K\X#VpZFײO*҆t*u˿#ɳ }p37!-X~|6R^ٓdDpeԺUL J!U #Bcj2l6)նESYKE/;pi_uȍ1Fݻ̀A$}t'0b6 # mX<(X]L1j%ʁr0&begHER!b[_kvtrjem7FBGbx.{mkŸEƘD8y-HU IKxw=l(lg>rhxX{Aʾ g';OEb{R3`;:tT.7LJ-sڛɮ<ՔAaj) +aA_b%1~t@IjRw@sz<'A44HcHd1IJ)ٶ ;k$sК3|"PԿ Z lSOzۺCu3fMTt*^ ýudO_ lP ϔ&q?|J]Req&¾S&OGbWZ- ꐎs!AuQP:֔I|'';CB3fzMjGcZ~@Ϡw!z |DyV45i+;r5#gL7[bg va~11R;bXlK%,~fpŦrYX,TZL;GqxDo}Em͒E~s} ZZu!G_S Iۘqzӏ)EF@I_{dt=|zo+ĵ W|7u..éxhK #꾤`\խn݉OfZ+Ik$U毹!l^x* 2bbHavF>"ϫW`? BD-a2zݿtS1o*}.4%" ,['r 󌐈,)P0D+ã/&DyVPJ|D>yѳ>A[G}7ӦqF.ma=صB夢#>SmhNIkiJh9 _8caybO/' -T4Vմ*XN{Y&HWҵ˳A[ܶpT^jشӞxĈ20eOA |0k²_Ն`4UxFt7/#tQ'iH<URyhtsE"ÕĠC~!t1&&awd*>eǷ_}N@󲬕.۳) ҨÎN氤2ߧP=ArA\~L岓:T`X\5H^4wG9i0+w P7YU'nBR 8rZ-A5aV!0[z2Ԅ l*V~SLK&ZPȲ8s]/o0b_ߑ!2?ΝP=a_0{z OV<۶E8MYM$^`|`ˌM%շuCgޅ,>~W$vOAr_b&T=Z)ۗމHL,oʤ- 2{a->ttrݽ'5zJWe߷* D7ޠ0r{:O!=kYaN ?8H_'qj/0 ^i>Go]ScU4k,r@mD2`5>5:ƯiI+~/Eնď-|gW/an6س{AYQ 9TQʞœ*9r Eٵ s#_ce`DL$[aZՃECڣ&ZUÞ0x)Y;x7Z\g|۫eh1m\Ƥ  )re&lľL:9 9C2a@ˢ>| Tq騍ţƩ@ϧ,C xI ,(.۰V|OueU~.߭¼=.F|/?2C] HvٟOta#Z L1cU]z@]IN*_B//6('D3 ydە <+!° 7̪أ.-:"e@n7zYDEHw 2j~tT+_V!U8X]FAVvM|%˶bxVV6Q% Mܧ&q /8oOK8눩v 35֍Ⱦ_(!no6E]2M۱EtKA/ vrvMPKN-֭|A-r'N#B'X{ )Rẹ[f{=^7jz슖M!Fœ(e7(bf !ABO3cX 3#jv1E3ҵqK:8( .*{~˔sQS{|vRk6s77^ZKuKSPk>?z|q[jOi_B_ӻCT4JmF8 Rn !8NuՐz}Ʉ߬'\[DÔ7M&>^q.:ʸ*C6Z4hZIS oR]vedq@{|XGnt22@8Y!=!x1 ,/E/A=  ʘU\99YjM.`,L%S N?2>NTFzڔ Fxlsrܺ/=M]oq%v;V]%Ԓc?vGΑ=n'L F憻*2'O~vOڳeLsI$g]ȶ XڟK¾rYbt6ITbeAFDmd&UrƿL gj?pBˆ^8A[5 A0jUgGnZ7k28h{9E+080j|Mm=e|teƴʥ$6[ qP7>u5w}a(F?&:wry)W";23mM2w 7W+ q#V$ >F9fGLK{+`*o B =4:NSO怟t(y3%d'iJh(9T1d70hpt5v}n^SDg `hpȵ]r$Ly%xoIFP:wau4p ¼s7B@>!jSI@ ~1av,'CRdžWNBD8T^= {PVfI SN-5pXne66^l6 S){] TE'ٌ[cRԑ; ƟuqdlްZ︷T0բ545`I"ݏOݍtaȂs6Gq|5^R/37&2$R_PIm\hyZG`6T`O>dWuA_o %*p˰nՉɡ#|'( fȀ]9 2q uشt9Q³E'T3Ȕ!c=,s1t +ZD^*(w:TP7sSYe)[}FШmd\f}d9ql \HA$)cX {'J N]8rg Ynx|\[D;0^b.Oᖚ Z+|fC2F׆o﷣f_Yr.)NRptaGT;/{ ޒ{X3Xa׉j uT\e>AW >i.`Qe*cI>qaT =B{aٻ*!}B2T@lXхX'"zS-"@,v '8R )S?:I@NlQxE˔bEq:k72IltkF ZIA7eɯݿf;1h-xUOX^$_QPX /6^WqLO]Nٺ/ڶ:#nC:}:f+C^5:viΩy1qP- 6wQ ^5Fi/*C$nj_dhQ`--T;Ou",Dg+F*G1cw݃ڌ>n 0Aկ ķJJ#S#(~>3٨sQ6>/)9-%hbh]n1 sIl \\\oR$پ`+tчv!Q]OjL-(VJ]=zL Ey}k}PT=/XɂS#^&A%a}D8rj?}=G2?07?%s9ϊ : EV UƳ9,tϣjHp)iV.5{?_ԩ|y NKyS8ڛ4a7G:SPJM)xd1Oc\k^r#'odp?+vD|cr6%6Ǔ7ݩt} 4eh6Ӭ؏_н'R3 &X-;Vy7mBualh. ǵw`Q᠅+r(|ĺ!}):z]aa>ṝ!c]<yhn!4pIKH+$𸳍޽=mΟ`~i]Yͳl9SC)>~ G$I$2D,FP]OQkѲf6vC%6R>g͋Hapꀬ_Ke}YSq2"[20n=>kNހÊ9"C^zC z.635x}4`H{HADg 3q-$x2Hsυ~Yhp;R z;kj""OQgGC}~Ѳ`XN2vQuK7zfHH>63$w۽+V2e}~w)fXM_#LR+F+m'~j2Tu>JxCCՌVjC -zePcNkԂcgoh}c})P?zU~,r.1l6IެfNvAڥb[>04dX#%~5>5Qa")<;=rb;&_Ư<芓D5Mcs&^۔لфm|lq/6uT FK?~eJzX49s͐v KrY[C+oԊ?;"Y~GI*qVr2M僡0ʟ'*ȯ)& gJ:,Ʈs'R"|I|W I "HZ˽[I$~cs%e0ֵE^ E cY<`L3)[K)ӡ2 cȘі.>.|O`̧X8UIy{~РxWFJLјxP4S/* {?~/CYUX:o-g% 9^@2a$wo0ٌ]uj]C!._go7# s2ͽ08<;y803S9e%Kj> ݲc) $J۽6e8&P#E9X08|" fP8K"g(\®ZJS%QRwCz3k#ϚDh+QkPZςd,]³T] eП:PqV/iåԥR&) |dRwwBҵk  @$IMzǰ)[kÄ=R-U%?A&H/|"65Cf+^?x;ƹO! >tVs2گ{Am\K.M}|tw񄺺R<կuHfQסW!C!3%@۾~驺&j =DsЃ2(}/;9*j> ؅苚DKng P(g "S3uK}_v|0y!E^#&j\JzIb( ˳=Eϓ:a ~,8>N)%g[[z#qdJ[ܗk=ԥl ߩܒ<gl`m, > \Ѷ:Xj2Cb8؋Z'SJ.ߡ7wYuz Pn}a5DV47@y5i+2!ŵJX2RH~50ЪF}&;Q¸ ί_ztO[2<>vUd5*4z;?.d?U鯷z>j=|ٗK#U8A* 9,vr06$hIʵd+wio]ʱToEI 2}}\.,uVsϱ'k1 =t\ %D;4goXN%Ob?A|P;} 4bCII9$/-t[=ʇLA]L*Y̛$PmWɽ&/LmfdU\9z OÕ$,Hh  Bun2 nEb9h;tE-\-}9D^urKQ$ ĴJ$DN2&¬O5{Y X0eq`/+@>yӏT9.䟸i.1y H?zvXtAAAZ(Iy;hwzA*q 73¶&ؓfeE=Bģ߁D@),ȟxW8ص7 .Z9.ay]Bj`|Prm,)h4S\ ݐ}$'~AWNrK4ÐOpIUMo7-îޅM$vO#<;WY#o.Uݤ'd";P?))sߔaɭ Fa+_F9;m2 ם-#"GD6LSlVLFOfF]0ػa&?`&m{fYC@[P4= 6HR 1Dӝ엜pg?R~:&qgIW1KɬKqNJ?K]S˔!OOKтU<qUVP{F'QZaF*$q@yU~?g0@l^,b`0 M{1ʍvGK8dU!ƫ: 0 1(ۛۯZJ ^_%@ZY.oq ;+yb!8~lXݱ;IvXc$ TiTP'qgg~$e,2H>I\;" ))w:m>{ySaBKD2>D"b8`2W^_u{am}qb%|8*7Q h usLyRpeSrQS4/ᶫMGv4~9 [d{f麎c3W҅WxBt^F>cU3|3\͞@NOǾ8i`%o[(NKDwV7gY-pf{+MlHw(kOEk ւl/eWfd|[D$c74Ѡ"3$m^MvϺǬp~ KXm/~Ski7_quE7zy.lZd Z`{?z۰P FbY&^Ie)to5S_ut8 Y"LGj!Krۤx[Ŵ)|䤣c'E{iQ4s _?[] ~X 19&*(W̸R/قc Et]Zw,՝G7/HdW< R"w)25K4"NʷO>IqHOagNދm>h }|ܝrg=xfߋ!u'ܵ}?!ML ԑ ssg͕HSc?VH P\~pF7 CRr le%A52]*0"˪쒲,t$Ye9T,rjoȮ‡VL` FcPџ|xBޏ9甝l|.a,SJmvoMx;SA KAyQ[t9](Po?x,Qt/l3&rMW { (#|4ۤ;>Qe4Lruy(y,*}m<-K{ڝE2ZA8n]_-Rg|㸹F{$AXN8q&z/$K+9e&(>2MƩtG_(Dk]++&ݗgАLZ8j}l걢4ڥ٣N $ݛvjH8bNEVLC.)u+.xo1%irKښ>\e‚d`wY?3tc m?. ~KxC2{|}.g**%M+<(մN+@ubzl;ggJY]8dmpCIH *8@b%i,QIeB'8'裼]l =ᩤuV~qmE4Jy(p/bh!cH|Z$b֖^"|Au5@`0b([ O HeO+Fsp|%90< 3C<nQ[]t\T9N ;<>+p˯EV'z)uֆ[={Ky1ve`V$^ءUPNR̡4NQ0%R:sUkN2-uu\U_ӋFBx>^ٓ.>޻.);#(|Cσd!r4uϤY>vxdY*&IkP7::|l8}Ǧ Ý - "ζJh]A:3  Ȍ(\<WDQGg ГJn 5ΰHk?V-g厖~I)@տ"eB~٬i=Ha3.pdoґ5"6}gf {xoa$b}vo[_9'o%ⱲФ_ӍvD<( YV$ˆLJMsI;?̾_.o;DQ:|1ü"K %{wk]%Q/7׷M ?~GѕMopQw}W9LeA"!?HȚ-h최`o9P8P;iO6 *|o`{/ 񈷞OrFqU;GA`J&^|KLz KT򧨃 t xJnatD$44Uz③J Ery0䐽-WjIϨ\tΣ蚜˗/A]PnJ8c_$!gPX{02JkAk6wCOrQ}HMr77&rw70 1Tנa\3&qڟȺD{mlH([Ӂ*.jVɴ%~zS-C_i*n<@芷$meI/I; DY߁~,n_H^IODigj#{=X=Y_#q^}۳Y qRؤ| u5g!FĮ{' bf>S{CNa@_~b4vVV,_vz4^b3Y'=; @R3f %Nd.? . 'GE闤zlzzF (X_ tᩗIB?U((ϐ^i&Q1O $5o$Cf3Ծh/Kg{B~)uvEtխU$E=Kbw5(4<9l:k8w}SCU Đf NwE!D?hZZk, yVg?n^2Eb9oħm}e}uEJ1w^XG{x~}UG/V]C>A|%n,ai\Evxiio ?| ,%|y%5!It`D wF#W&kvoꢼJrnm,'nQs$+}[#vCDoŽֹ:tzhw0Jg/ ah7AO\* ͶxSv׽C:;4؟Ju8wLo57Г81 Tk9Tshhoj`P܂np\kXjH|Sʣ9c9D)m7ph<ޠ]i7D{I.u9+TKfG"Ϗ.,|RjB% }L?e U㰿î .w~zoEр~eC:zrſuS?cX\Zr6d-Lc P?zs_H$+l``E |Bq1xV)P<>S#k?-\E'_@=Vl;&xG'Gb흵aCYrکFz83 Xa>'S CA=zU !}h krF=./zV_/o KBEޛosБ`2@QנDH0.1b4ZwK`~}lyTߟGgV<%ᕛ3/:- sJ <S)=uib/~|@ȕ~ Ipk|uGݼI܎^@ш4WVVσ\K3``xd|ё'*XAfB6w~]u qYUaŒzx4%LD};KM%3f+(D2"}Wɋk6Czb(.,1u牁Āxν*gu5Ɲ vr;JK7M[1t^.T$;GC˅0 <~l!k^F_=b]/UI?~3k^?% _.`oJ,˻~9m#ه:jyKw1] 7g j#ؠ8iϤf#4hpy߷eN!}vF0,h(_`tV v|إT Tqn48)0$фC/9pa!G{t֟QB=-fGiwlocJuѼ1w4oZzo]3~f$2:qTxf Zvd8JrbW_g%dm$U}%.+Ekm s+ܣ)>}f BV@OÛ'k"Ϋe9U]teH fmȢZe~Z#?D<21̉BP&q2nidz0%CzVrwHqNTCBcflhW0 cm{=QN<%9A2kz1&Kooq]S]]i~a˪Y³.V{P&^)iyƯ>?:AƷTLybgDIxkju Hb@^{+V675$#΋X5lKQ.m OW*[W:JAzh1a5P,]kXlgwi H4.5qlC1:} 5wMGP|WXqUüUaI?cMrpFG` 7,p_~fپULD#6lǁ}Q)as;[9)2u#o{|;׏r'+B KWYz ҨYe{  *x1V o'nmɷMG3:C(/~q$$]i'V΋7[3Uε>1WvRtG6;ԓ7.(Z א =B=@|vۈ! )Q#7D/)w@Ny:/bOL% *,nܴ:xoNd5l(`aMb?<5Y{%<FZ/=, Tpw0|j~׈/[E5׫[k a_C聝پ!PM}|H),X I|y^0As$9]e]zH`|+WO-4˷7m΍tQ9%ӏN+SHW>:Gw cӐ|PsZ@Y&Fi00iSMKNVrdߏXd>Bi[NHve^4+j|:,d.$>[K;+`z2mANn‘`df] &5ha0ùģnqr+CB?3Z3{/ZYn-at2jHc-K/:cfeRؾ_P8yBfR&D1>/00TaSo#@*^{>.[G7C۫riǹ_kv.T(&k(b'𐩼;GzB@ \s/*BgmT6˘Uȿ18Ǣgj>olfe_DeRy+!U >-{cͺz,* ,zF{/b)}*xjlB&$InAo˵#;144ڛe#T8,Y>:cu6m,= Gd|}݌$a%  o Aqדt%3ǘ ^3ٶwGoBH޴NXd m.#6y$%WZM|P#c(үtKbnY."bB5t#4]G!GVP ǶR7yBeYA,o籞X̌әc4IPL~A]ڥba@3+G7ʜMS*9G? ' h[g C<˞PE-l-XGWRRʝ uA؏J_s]͆ib>n64r veg?4OCη3:[秽3^kPХ4WK :+yj)"ͼm͸vOꈷK =o5_v}' S^fOt /:;ASwWh&HG~e<&HDQ9ϗz ktQka/YtGٳMX*d(->x:wQ91D57 f@o1<1>Q*}32>')䁟y_J\{")᷏w[/nU9 N^&|#hO>r4I{8nLцŋ@ "=jT3eXI~a/39$PdUr,8BBʚ|Jc%OϦYxxDTD.Tw96]0e{>0}>FQG9Wv #/.&x|ff:&ffohfFULOxqߵ823:%yoaS*(. {:a0{X8*lJwxy_gdnmb;*e;2{6̞}=K-6o=Q$2nOtrcI(Pwjm^q:Fܠvʳ dsaxO*[y[{h$Js+11_}[ޞb~?jDh?࿴˯6Zrn4L(__)F0`OG?F_8 0o0J s_`_lo0o fmq͈3b?goG@~J[ /xoύQ(q-F,Bn iB/Xtyn\43 AuW'?:Exkȿ?S\LHL<10e19#(!\,S[<7d=,2<\&)?_ޏa y~* #! 7ggϷ9.ό}2rq9J~?cPFPR/+ra./ғo'z+LT.~f*POߏӿWlD@(CZ:&VKS6d4_?7, {q_aߒ0_'9(󛁄~/ oztM_WZ__2?Yǯ __>b؟@)a?kcMW ho(NW.~d]z鿍G]e^,y'9&uoct=`Qۤ ,龬S S)_~~Cҷ(evsG ˵Qw3pMo*u)/*(O4.)Jے?ZOsßwD hN @11:_92HS1 "1!c|cםy<Kb,H-FK'76OnY>tKuqz!,̖|){I\?kt]ph ~aF r5 Z濿&mF5L/4%HգRc6|˼\&rp_nt}[Ă2aka/ 9D7)E*rs#b8ܾ?CXuct#x7VSXr96A\ŬGZ5ȏ6 l"t Kl2Lj3̷Fy9ˋ9^;@e@h=fhWkWOP$"I@Boi| $۔ t)?@+aYzHNRy G\7C:zѕ~8}K9Ɲ:yKT`iKnoKT/E 7Ch&Xay"e݀ ajB}xfm<~ϻЭ=mGa+3F0bTZ^@Bl4^2R"b^LA`$~I -ks (4 9q$g-|cg)g4ßوGP%M[^nb9Nz\o37qnrQXCÖQC1fn~mԹDXb [o(-Jdc [`!F{O:bYEW5#%U>=Mǻnѱ0Om %.n7,&ܔYj=+NŘPC B&c:i x"*un \8{߿N-j[XL?d7]n33=7]E&*a5K> )k5e[{1XIG)oûoI0}E#ǜ/cTs Cylg"?1P:}}xlbާCuX'Tj<"yc97` 9q7x{g ?w,4>jC|'7XxCV#,3|n c 5Fpn/C wt 7 N3#?U,-Cþvz"sdmy5lj+G1!&#c_eWZu[šY_v8{A_Ukdy케3U24X.ªebX"{R-C5Yx/JCB|X `_N?ˤ:ErY5%l`2` 8^ta3hkbDl^ i3qq}ya%tD= gX|5{'\1*ûp5.6]=~~DxNnF| qۻy4y~ Say Z=sIL6%b+Sab ԥW.g$]çK<~ٲo|=v*eƂpkZ8|7/@A"Z;fzdN';!4ZCАց0en=HnrH>RܛKI["R qN:2ݻGb5|ɀ+9aŌvd=1;@qo,=Z 1MdE%uO3% s@ƍ„>H  BZW2lKruqh)q1syɖszEx6YO\Hȑ  6 :im?/;˅'.f|0W|q+opk3f2T(o,nuO\M[WXu-/a|`$H<ę]W1[թ E{nxSw){>)P\%ax|[;㓀6׆»ɣG̲(~­G;H\d3cմP%h\&uؑFoNCz UD'n dA!Ä֎El4?t|æ? }{6 ; X0~[̇4uS(&KTf#ȸH&툴SOzCS+k;F˰%Ib(>c~,-0Iͭw^!{MѸksM?%]D5pp4֧`7zVG*\bpd]}B7,jb@tU& ~ %od )㻨3r D?5Wl]QO/^"ʻStU_B,n\8sl,V`_Ldw \S/`7>6eBSj-Gv^iƓ/:Q@Ȏf?'hx?IXiDZ /o_{uḽۛ^-7D, 44oyg(\ L7@Q=GoF~jky~,<c-cr4}c.J# AC˴OϛߢDo>r|qǘ6Q{:=nķό"PcܵA9ogçn.`j^oɲdw+*xT|?V7-*oxإ_: ;#ҊaS./&jCL֍b7!ZC`Wz7}@8` az%E\~WjSI*"J9 }[\4Du  Ih0 #ZoH+°xJ@ 5E{kgwCNt0[ȋl.Y""qqfLK<荘XrG+!Z bstStf/6Þ$L~Q[ɹ{.#BPb>TNyo:'MU QqiK- 'GMo;yȁtd[K-n9HgC8?їl;xOT1 Zr_HT/8|=*yW{=dގgCSCt7E ;=`!UO,8O1J/HJ)kY02f hC Kꩻgoj/(lW 1d.)Zn{dN2[k=M*{#RߘM d[ fy2zho>U.ɨxTW@8>0o+'pkb( <"QwH<ܳ~EƇQަ`d&YkK/H̰CfB95KP{ȱlNJd|95.h X͢ z{?(`)u }QkbtOݲOTXTMYo\(XJ1=LA{A-31C NV {>إ @oO h]s_gFTAgz@m oV|M 2F0hy( ,RU/ѐű$c>+1 X=/250{M[l.MX.@|blHBVxR9SG2w2OI#Z$=U!HMԦLԻSy-&ռ \/IZ,>2!Js}K Jd:釘^6T#$Oi"I2t1 LJwr:^^B4#Ȅ >uhUvƕ.-M|P`G&4 {r5Y[w^'qDT8zjZ>ɱ[G*kgRsm2j }g D[?5]܌Pv7=2o൳z%^ߏrAW!}/1˪ȈX d ݟO\x`|g CL|{OTĵ ;%R2%\\[&Z3&7 {]96!,Ջ8$BHx央c>qX|O й-5qE׎H>Ei ~ͥ lږ7LZ(2؃+`pӖ 鑎T>,S*\E)AWtXr'İ+4-?mP .dYnCR\lвG3x ~}z<3v< n?Xa[Z4(#s4h:5RJ7bCW&B<*, EGq쇝)|[Ź=ѾJ8]:v]}Q.w^V}db|Vk +𬁽\ ~_XIJ+b-a1~'et)g,k{T1*8ϜZU[nsE:u -/ȭ&9;%ÝbvL ?${cMZA9%p公w#'Ѻν)NoOԦH\[FXrWO1=3=دs'Q Jk&@pPgRb9@=\ R/҃]*-Q6)%=c{ )ޟ M{6[E|2Lu1=_"ܓV @5TS 9Mk5{K3}M( G N3旒!=^neZ3MS ^p$*seXIp&y*TU [Y_bO2,j6O=.vdPtnnWvUE F!T/g;m0~)K[lżv˥uxYʪiAfC)j2V8]͇?M(/E;S-ʷނ GF;vˈ8s2qQ<GarYQƎ3:R{-*ZE@ז{qi=oO!y50Zꐡ/.9BtyX[>лb)4BK 熼Hq/X1l7hR?|)7[}VgNƬﴊ=#_D<%z~-+Vryj=?hY:$Cds`nH0alnr l7r du Ğee 3L{>`|G-Ik&eETx2&Ƀ"%v%FdPq"EMBFThcG@9Y2?6;R)B(RsS;2T°{s (&;#%Whèmhs2x=;բ!!t외j]l;{r=_Q*cBf|NAX}`Q yIҶ2".[u78&wϩ^{5=mL`T7Z}?$(b,\ʘXHu:AؑqY$)5k/8Q'<{z';Up$Nmm!0. ߞB/D>0k,P 1p~-&D%Գ{eK˄;^N/#lҦ7D24SF< 5:H˧b;wTK+s(?Mq< *X7V¾=+ So&e5ho;C*ƱWSy}ʔ;ScP*␋ayQ[Չ-U(-y< -,I XFsv!݌@U4XDģs>37 BR2aKD>x01iLlEf0AqyO1jkYA9X[E) Xz`̂&DKf~j'; ^KH:oG(n!aA޳O&}R6R@cNόC6$w9-P N1' vhaI˜AO*<'/0:,K=Ɛ0Is#u!P49/!7~Kx;pS#Ʉ}޳vݱP9BL߇xTnHW 8 `ݽͱVM2kY[,̹-Z9YN;ep [99 LaE4C\,bY"9ir8dY7ۅII?Џu{R_ԇZ `g'} A[{q_r껕=~RN ,`{qZԇnיWѮx8ndLv S 83Dvh>Q.rMV)cv5J ;*gey9Q4r(™:[Ql;Q &;*|"Ƕ 'Ri9CeƖ?~ 74hpnWK]dq }cGy;i7Ȳ:/Šltau( Z -yeT4ѓ9"ғ{!Yj%3RIYӖ 3}C]U dGcg~Jl&L/t #wοqybvUD5|;I^炡:i^!u:9Ө7%Sq-RWP}J G>OTRC?n.k߽4 "b&j"͎Nj\-1i1H!~Hn>Q&tߺi`otQuvdFcc!2lT̝-y!`ivTIH'h+rnhȑoz/+SkXwY, Bxe ^ pRi3i'#(uuhsLzO a%V4gЎ+I9@yC7ۚme){G7_ ') a_{~^Xn=ߐH5@\^Uh5 ʍ4BH}؍|ouPDxy {p$Lt}&L7$']Ȑ(+Fk"b$)NX~V;:G'Ok.y)6k:lzU.\|~0τB HH:}jP htry =bG:ƀlX~fO2Ϯ (ܩ*d'ߙGkDzԾOi 2=BAd_" WK'X<k"#(xc!K`8/m\?y6 g( /i WY8n25o!Ίvj*D^;NƊ#G{bCν}gKjk]݈ dl?P۱eڥ"Uﻎεqg&I?N׻_'4?>^ˉdX\̡F-#KU, #Fz,|7y;?ي|"|Qj05^zK03J*`>A5z;1WX XۗL,ՇZ3E ,07RRv>EV[j)Zҽ'rf̀Y,[ DL*wKn*M~4/s~QMokN<(o p*/Cx&gZ^@0f6b0 ax~Y UVQz%  *>^NJ1vvX_Ke:oi"2DS{W6[l^'&slxɓ]%Cš_/"}>( :hcG!g/p3i7 ióIg-+f-dW"L1Ʃ$G,㗳b>Tlbd0e:/=KD5Sc'c %]Uk"a q&u094|p!zD ^;S)D8O.ޫeM*GHW4{xxd3$Y09jE9(44&Jz4yy A)vb2!iVqU=Gn*~uWWzJE>EV@>yqO.sH?q}>{2?AX(WS?~ نYjJo~.jxzWq 9[D" )M/P8{.eP]_[64VXs⒜|>!i a1m Z݈wGH~c I6I=-dKZqU .XHI+#Xا5e4汖B[[{{>=T;\bƒ.loAFi:[ $'r/˵myAO\)Toj̈́_ӄ }Gq]Ʉ))V$QEڰ& J?iϿ8WvZ8w;jqs&#O{޹yLh>Ӑ&s[4.3lpQ1 'nÌ7zR+!/?$.EcpW3-K3X4Y:Zjz m`U#ߠ[ ?\n_3\[|th:7QJ O$BڱQa[b70%2%l6Q޽@:]<WPj֨^P#8vUTӤuė%1e^P@mgHExq^/KR!o!Jx9 \cA%;ԦȐsQ<`/6LnDEKw͙L!ot( ,YH-?._5}s1ŠHڪa?6hi4z;1)EhMޑ{zl~(/UIg/C]7q4>;̶ќ0!JVi6rZ8Fޜ|OEؠ*M%^A%gaEWB~Czm=CNבxEp|*8C-ѹjw3QY%1[8>wRorQa;ri~\4~a#J,!FQ1 o$\]b~@lǒ#WٲeyWr.\^ vMҾsjpY iNqwH3DbfiIO.kf&шbr͌c{k::Vbn]Fŀ}<9\ϨzŲ"?(ٟ1v3m7}& M TGY~Gㄱ\11c5'~3u˛Ie˃ŒZ A'ۓg-g{_3ir±XdoW|zyYhvZ$&awE 9C䜑ߦrA#r lT|iFŸVA&7o<ŀ"RP r1wv㡋p a^x8x4˕3 }I6F5K<Q'5 0^)ЀGj)~hwxM '<`  !Cu;eփ!9$k5J'?ݼkW0=|VҶ'^4\(+d'UkNoe/Xffv=>])IK:˫PaW: LWj22I}?D;#˔O?V2}l-+s$`^ep(7!rnV}G rcU~&_afrlk)q3 {6;((ye 0-$.4?T'}͠S41 $5*ex%wnPE50׬G% K ,T` T Ik-j+e"IHYu]u-6-XXBt _+";PtiYA~ә+e81'.!(AGV4𮗮H|ގ~ c3cqEbO`,'$2ixz-iޤ/(ߕ$%bz V^ח\reso=`\ޔC\.'ӼwG..ԃ~=:r4{%Hi|ΛփD)g7<{eJcI@ߨv2N60M8D(eND ^)n kqy =n9M8SGO6K uǪ$zO)3}Q?o*"KCm\*ܹP{5~ꗻ1[IP5zVz!֎Q+;owo3?IuԖ,[k!ZCrW%Y!M͒^Rp]_s_5e2$۾/.6/ =  8q'!SYrʕC0Zwt_E|hu5'*߰wH0ϼpj/J׃a-Gx|k)f'wٲGq7y"jhW?r\t3 A›EKS #~*Yןt.~0TzOr6pJ-Յ?G W=ăA+iR8JX&wл%s~)ɳOD:ed$UąmRͮ,P|BV;"\1} خ{g? ὧ^"/Tȱ +?$ :xs'r{ا*uźL'5y*l0Tf/27܌#Z+k%p`"26%v3{<\h wP78tHm쐉EUo%{¯3%%ye)T!8:bp9iQ "tJ4%T;;x?]!.~k:+f=%|,€W?M><nf+y?yeO^3,r,ȳ@ŒQd煟m^g#ӒGu1`Ig;&_z+b鎋No\ A܅`{0]z47L}囧!ʆ4NF/|R$I:Ur^ƗIBb2>m}>1H][YI~_X!e6~'q/ KŶr^L4 Mr]^έ r;I!DXyNbD{L?n嬥߂n7ȫ' Tc LL1 @ENTmCǡ7WbƗ=㦳1$bC由d'lw;hӧ4ӸLԏUQ_,:/2Q:o.6w4}XܾܡOori lTG KInz57S?n15ŝ!4=8o\RL3+G㤛T9H} B*kÒxA6?%b^ Q{+R0a$8>]._{6(V􏃥oMV [\~2p>=A{>Hm}O1?䃧rkV4k[6mqӛs,h/`>v_H㭸Ԉq$L|C6R/s~(k/in5$UϏ@"+G ={ӯIc韑:'FЦOT7cTmi^o*X2C f1v .7ДѫF(_a@J-^[ԀM@+3 ^Zz8 chgM-ڿ2,K7uSA8U1 ?$Hb0) >tPTwTlpr,tE=Gơ7)5E0̣c)5n~֪@#by"2dmؔ&ìY_,#%KNg 9;8 j7;h 5bF uS;|iaDa}O%8 dT4Ot@gAzvM+}۹F`? ͆$ŮΣ`N UwfϙuCf,ErC|7]^ kMjC^8mL>KcS}mc^Lq!B(0vΘz3E&GG-y|L󵈻"64^oF&ƎXy날ٿ7(n'ItPK>iqFoj{ E?]|Oaeu.r|3".PoSL G贆̈́}9j-xROȖų~Ћ+T^oO H"\{!!x|շd搗r郇o#}]W7ΧE1&PE$CLg_Mm(~GHYܹ Y–%r}(`?~돰ۂldd gli{!K3c-bE8׍0< m wM/'W] on!X$a9b)&q.cZI 3i}~$݇*Faro0SV AC>x͖1 ^:Duh],B:W+4 9߃1]~+;KH/3$2^6fe8992cyR.PY Vw\ty9^Б3^3+srV>t_H EГ \&MբfELB\z(Omxz"ʓ&4]ig~DeK-ϬD9|Zg0NL CY!ydoQ=Y{:M\?\x(㾶[  ,!.)Ibu Q/w`bpHk+uzFÊ1VQ$ Ecِqy-Y웶Լ9qGߟwϯTW416s",`zh^YP5dևyVu7E;˖U$-,Y`LVǨ.ALz h.9މ/yKx<@P`˴MH@}7.k ȥ!>GoE ӆA !y,UrѼqX 5oۂIsRu|{l]l3ɤk:Nڠ'ՊYI_/2WJ|*s{&NAhxTWLZDXw\Fq- HQԜ$@عOzBS䟍xo)U!\TP/0E۰xěT/Da'ϴz(К6"//Q[ݙհ؞ɤ96[J,]:~~rxȫ&flXl}6͏ج œ?T 7y,&v;j!E߸TT}@_E0#xmИ I(#tXq|E;b|=CH' rWu(ݹ^8uռZүQډ±沪_ $d&Ai~_SUG8j997QČXq ĭҿjƄk\ՃWG Wq#((V%; zcgJ[.!;tD`*LdHtZ'B2-)}\264m^vj%fcᅪo \=6GX0oxаMzA.tϼpA%&V'.$xRe;!tqң\S8]46 ,oL'bo\(/B|}Hܡ]vC1u擑Q7*768jx~yFWIǖ َp&PJ})6Z&1j'i! }'P@y;gg e0m Nv;0 }fq]" '7 p%X]cI03föM>y˓ޱXH&'oI;s=}}`CW- wXY OK&F țHӿ+ K@VЋ\}H)Vhݜ~ {S~8nd|n` )q!r 3c#ᩯ$1k~ZѤ2I˺)j'vjlbJOcT|/W| q.C/ weH&2M 6pI*}/C w5D䎫 Pk4,^}R7c$bq %n@T˗]0dq2Ed_񅗩83 MY=7#ۯ6şwSfq>$N$Nb6gG3^߁ٝ):->\W\hjLS!@xfk)Fx%x=P[((@}1&KT*\&VJtJ*Q~rb“=»{k7ڪEh89YT"m_tNvOآ)dq2| ]b;8\*]Rm3o͠T;H(Z/2a#`kS6 Db<_"Pz=?&o+Uedt Z?Ie# si6W$L]p0[@ؓ!Y;ml$%>"/2ًqr^VwuFv0 ?_9Nq>s˞w)Q2l !; ^ 3ُ COo3.&osCbF B!M1]ɟQUX;oTNdʌi*8po1ǻC* eeVnQm$Y3BŨ{i%r?:&?sR|I 2g1i]S}Pp][da8TOO|s'CG^u]؁jBD'jU}=p8k)պIE2ɛ-K'g|zAh]r*ʾN[YvK9ow[ QQVonM7YG0oY%aEe}΂3#&{(9TI"IZmB@A|Ig 'XAx#{p;,#^i`Z\L8]ێ wg?!~~dy\'Q+|5{wûo L??}TyǒG7 )F'yVOaXZ&'KZ{VTwǨy L9܇8d'Ij@\cvfsX|6y \oG}\+ɹ/ֲgP%3/2C|: o4gak&r[.f" %͕! )۝[A=3oS6I{$K?J imؿ$obKe>@S^7onlFi]bҚ~wl*Â$=ü91mp q9`#2pg5}ڼ, %q:8DnO*/fNkik"E/ I}C/k'znWY=B _.L>yc O,ID0-t.4Z =_eݤǭ\HH{ ̆n)VϷAR҃~Ϛ^;g:6ySlbl^PC8\1`sr+ "ppGB̔3 V*4\ځj֤ԸT vكVp_?wqi Iyi`zu@ïI"THE~{R0t |ѓ~C@TRꚫ֖ >#BQ z|lC KYx0C2m22ؠ @8;Mv#d oE;y%V%>[n©7n!`۔eEhi!U~ǔSuX 4D^v_󕾦ST(7

,(\U3ũfR*@eR8>R7ET5íܼb\ 4(8^08O0ik tSRn[έATqCyϒV^&Ld7pk;ݏ钃`JUW,#yRڎh,9[y+Ҹ>YS\E1awA|%":[EN+pDO>BN(9]N}9z.vKG $ۂ@~].wFp*E 8To0ǿo+jǬΈ6c’BpweuA+;u4eGJ#cxmكRb0OV>;"L.U4b@-C=W^햯;v;slhQcrP;_!@oG Xh}Iea_d+jKUk,_NHSc'+n{R?E9POeЬMZ~r7D[.k +*[dR`#,xo,4V  +cFa(U$ )FBqVIUu1>'d9MZ%/дVrz萕i0^3>:{#L U 8Dx耤KXXΙ<*WzF^C(缤Srp>'S̠?7(4\_q\sYjoNI0ŸVJZSZj ;K 9}) $ͽwjƔ?rzXi=hG\d E-?x@庛J@ G6k"56IS7-Z rԝOlS_0/NMzגP_.uqv M{{hfmQF?x>򚠏Ct1h"? @o oC) EI:z!:)*IJ8iv$tV_٘ᘇt:F)e:7אjC1~r\HYsT#|Od{2$>c&Yw<ٰ{pz7RX6 ZVA:t\CA=9E:6o?sҾ(#˶/Ki!|xs׃ƣ9yFOQGu_"BpcFed9`ke v_eF*r^)0LGsxeޭI(ot:afтɢh!-*ՠV*}\-Rۦ(&@:,/7]7 c$=xS?l9~OsX+C[0 ^7ŦQşD}eA/kV#ƀF2S=Z0   7aH ¿Ks@1Z׏|7 qdy|Kכ_3gLfwY1 c=1޻@& ` 1ޟPt--磶EH4!5lN"kۯ6] {Brj_iAꓴ2o.wi^U/Jl$@v!ƫ'(ïM^ z1e;z9lJZRL問m< bG0ۯDX {%*= Eh3#P`ѪA3/|w" +˱޳0wa~rpEeqN$ޣިB yd,j~K.gZ?|JMTq;6ہ,UXƽm\L~_&Ŋh!-T,]pPbT7Q\eu8QʺLa~kԔ5GX0W鲼bt b ۗ֠/nyBHA21 XF|M˯e6O;iՈc_N[HkH-BTX0:;LZj$ ˄Y|PzZNQIN3O4,_j) @X>CZOi kygʈ˵Xu+B7XSO'z%#MsJлb%CT?]i VG<Ƚ`=~ @YHjlÇŵɿ"K`GOQN^kxkcr"Dnμ*"7ս "WF|l+oO}T+~ %%'jm7zok|pPO-$A(Z^] 5v.nDS4 ._0+"wp"xDVh62Dy#4‡v_C kv cnf&pY)1KV%1' GFGP~K*{:+wzk11P$"Y4Z׼y:x aH|E^i! _Ŵr0`s"ZN,dV5̎K3R"\)Cbk,WQ3?|;Bm)mRYd Nopum[UP"c6S~MUU{*HR!ƣ:e'y#:|T80jX\ij{'q h*k[5 2sZP̪zA 4p#)<1Uj{j%eNlGFUv\hCIA}ջ,ׂVFr~*L6?Fՙ4fP',zcoXOڣAJr̻ b"cN8Z'Uu"VG~4ZyApAƸl]3w=Ziw7YU W}ltvABꮀ67UjR~ i9g}c?!a&4h^ô5ǧIxA,9p_r1?IUF|X=3rϬbGP 1% qzTi̫wK\.IE)B#vlU ^d[g!8P9o@ @oK3oIc\ɿw6,hM%++O9m&[>@4㔷= ÏǭPcd`5#8*KTpS*\R./ e|lb1 Н~YX(QrQx.e5zAAfe )FR=X DgU18li'őn~1v~u곛?ȟGE 'Aҙ_d: WtJKK3v,xK]!0fa|zUo|1FSʷ 9geO+'[H518@}vD?qk(p#U:t uX(%<>Rr83+bV9}s\`!|୺ypk"L|wv5n@8.>PVEiC [\@>,0)C~=]iˢ^]N#/pIND }@̈́o@Gb UMݲ `Ms}ɜ2eڳCQ?B|Hp%a+ρ3ymJvx|[aۅRoKJpx"`b}?>1<(\{,E=ק,@}łFjv(d碦+'Ohbx`wNLQ2s}=&8/֮ (&ՉבCj.)sLXdn4  ![5R q[*﹠ y-ԝ\CtL`3I31A5dn8xm/SόWyĕy rP}Ú , g)siuP%#dsvMUFkҞF *:Du>ʷX2 kZ8 Uʭe~-L(x}hg4:2`Z0ab}} ˅-gk!Rk[onքvϿ-rP*I'"\'3DX5qsg~ot(Rsg&Xx$1TfJ:mΚ1rYE%_nb{ L!}.*p{9GO5rY.5Փz&Ć?:Ȥ>aqY0y4êoY{x 4S?*T4`zոj/uOrSRP{A;bm=svTT4 gznk]_ Z,`|&{Gt޳ơO qaڻ?ڵ59]ֱğz5sY?Zi(]ajRs'ls "}@(w) 0gq8/ K# яQݎo"H~`I=r1;hn)` zKmOȗĠEasF-XʋIhUX]$vH :|$MG2'&;.XPAh[&N@920~Bp zoÜHdfηGnuDwj]IWŸ@[f,q-h^U/38 Nqssa/}iAt1ǝdLCV~G#pw8@߮EY,/WL[Pphb<â:iQ %VI Eqıxp8|n# (pՔ)GIتaqmz5/bN (A>^ȑIFfG)!Lf8=.`VpqXNnuYJ7zx ̐7C?( J!aV ]1A ͯ>!T,]I_-B@63(byPV/68K!e<K0ݰY6~J3}$ 8+lcEJ_L$!Ǒ8͉rKC{jU^k|c+nUj\,V4M{y? '#T$tGtv̗,ʧ&-?暌w|& 5WM6z.)q9T-O 2 Ѽ߀Ȳ 4k{J3s?)AZ0i3v-Gp2wԼ z_J=ɹQ1k3p6ZM 2sji| lS!JU=>*ۄL~<[w9LgD(nv2o805xsDm ?4l+?mlݦ̴zdǏl]Sw MWx9G:$a "oJB"MYNXɸ]K[]5k (׸0nOYu9O)bN:+auF ;UZGtS7 H/ ːB0t\'Z|)}a$XffŮIz,;0 T9`iW22ZHHdPe fEZӸ ,0~Q͵>}9H5B3զe["։w1gޚSn6.R9Ow8 9<Ao)Ew-S0lw/xyϠ\a&<,q}.>`6E7$Sm9%\%GHi+ӠyHEPؿE,F٭vF*i 9g(d(ҔSy#Ih<+5VSx6 ^1"쿛\ry1O>@$;cz[sb> U Dhy Xtl#BF7 1a6P<Ӭ~QF4qy-zHGKeFkƱo_.8&,ݍpop}R;K6Ay :)h^K {ÿzwgQy[вHÁ^ƌl^KSٱ8I^.~pVP﹍RʛrDHT.' Ꮨ/]Pgal815cZC_IN(b"ƴz4~ob6 3nYiTIs^|iļCrz$h&6Ȍ 6i+p3%q}{IBRy^?3gF=`kNo8!$矛FfXLdn46{3Sbk!G6=TJ52xo`@p̨0 Ǐ[)U>!kU+j2ѳQ8jwa|36Ap6[I1^gwKUV @ ƥ] Y۞^e,0G9'W#G1o4h0[ߍ2 ~ZKezJ .Zf{Qӟ%m8C|.4eLװ`ӡĭVy44{1ǩK.1~=sTV'mB"ү䶚&}HA bqgȿW4Tn6fiZ[jGEdS>aL/g*_iy_aP;'GVYc˿ՓV1zt=UA4_5N~1d#4 oP0ɤuag`L_5>jYɧ\DFX/DM'biE6\=H2E?Dkn(R07? m % 睾Liv2.Q$L\ >݃Rzli&o95IHcO0V|ݴ] L980%f 󇈩TJ*-|Tt^ni@s-2pjBhF~-bl s`A\!~'̏-Ezbӟ1QoƟ+i'_/(^o82Bp~E~Oyj)+L  Ў6F2iC-t3z g5XEA)=֢m{u "(8Ix}LťH+ڠ2UZ%?b ̱oC mVj C ;NxHCoJe?e@0 Vw ㄆw6m?W4C۞D_жqLYIv"-17?d'i,lq)Hl[_;JC  - 񺏰B6~|@||1I5IP<ўӓ >ڱ9Eۿؒ"Š;Ȋzq7B^hC"c A 2^hẗ̇olսھmDL <'xM“QNlRX 9yٺB2SꂋnRX7D0Z$?(Vuxt[b2Z5pQSP%1~$S^yD?"3 2K(py+^G{nd8H[tY=gZ2Lhfq>߉xl<[5&_^n-b1][K_JRףF$,,>KͶQ[XlYsW$&g 4+uT0sG#=_V6b^e *.F 8QܹI~>q~py^8CozrT]r*P}iGx+25E磖"u8QH '~"MM})=6ok97E7IG/U6;&j"|eEFAenzK`=V{E3h).oU'VeC_Gy򑝥/!\>?еhՍɉo$@(s("ϠǐG_h_ŅH0kc2K'1a22Ŕ{6'(. oijOy!f-yU\8=y(7+酏.IjRcBy=͑Y|ӣWpmhο놃dVs_2檉 L'?bM {x% ܞkW7̙_!pN)7.?ّѴӴA;u]I 7s` v A #meXN*/%`Pf_C#F-z_ŒyLɊ1ibX #^J>=7򨈁q[zY6HNfb>oܫe&nR//ԱRex9t%%@kbsz4S (hiGN0ō w/G( n6c>y"ExtOy) ,UWŒ0NҷK rT1/7P"h r19_IԖY)QLwCfG|;>w\Ëm#uRQv#,.1+>2FRVg崘b} . RhK7DI`Xdc+C =SQIOPy0DNkRzU%0Wm0_|` dun-Bh jn2"SlhXQb帶0].[T)7zQWbi2-([_ lAd/K͡z|[<mhlo>$]8ƧxPa%ac qƿgnn>ŝU , n]Pl]-? IuaNMsʥԴqNdQȏ>/ǾC( ''ؤ˫8)j^Ɍ1{ku& r,;C-Y:Y$ !G?쟞m l:$[KxUp/^:vڻE@qH&6^*]y=/GemU[Ozaj {WAg T(ŀ]M{.a~Y',oFw>t񺾩!Ίl6,%=%qnߔSD_Pe}']Iӕ8\uǤ.BVvlsq_CJq< !qLYZ SNϿ#OFU$'@w5`97?-3@#b9gAPdWX" VK2?bSEb5T=Db}٫ijV\6XET*1 Q}PqΑq(fN~}eodweLw%=c#cݞX[YqOfkk|/Y??򠃥Hlq.߆ cMHJZ a9@&ֹ8/?`ie\+L±$ve.a$Ŏ4Y~x?]O!b[ؽTXAw|.Ƹ e99׮Ɖh~mQ&-ThZ`Ch],\.VK> *薟:Үf$?|Bks >ʢ1x`=EQ#^s(pgCCM<ъ  39<ϗ#c&Hxbٙmu;bw%|,Dܢ(SȞV:ǷS?0CY+ 6Pʇ)?00Bw;+Zv3}E<{-nnWQ-1eNezKWh[Y1\1ލ/u`÷D3òi6͞.`Q s+="(+3 I/3ezJ&V_q cU1sָxʢpɟu !C=RW藆ף!4_~l;7 /ujS]qbKMJ]r'>ISHuVW _1V@ J=䠠)`"Rgcr](i/;^VѬMyo w`$¤|])ezD?#Q61SnĬ#30(=iT'aV44)P~tGaC՝NL}쐺b<;W$5NcF1aCojCT\Ii:scGGm&>;S͏np')~R\jP?lJd _90q%MU( -| ( æ?k u1cɞK=R]G[^Cٿ, omKEhG-5\ vS)o6<]Έ㘌@6l1P5ɍUNSgPLl?/(MFƄq-aW@{`*rpb)ڧD4޵!<}i`;s̠K3Qm&o>5=\?vݣ6)K^Y;]+p{}-GX[ 1Sc F>>Їsr8YE|e5j"0?ݸb~<ɬ _X,K3]!_b-7pw6^?>.gd͸]<2*sVΤm~NUxV!}q(p[zY8B 3-dze.Ţcס=lm,=%s"SJ]y#&AD.3OMց-Rᯂ \/iɚNg?&*w1h6I!ك`E y\/7bZэS"H0wxa?QjHSʁ/N^+t~.}mUzqh8gC*NxiNΣ ܛm$Zf# PUW-59X$Ǒ@U-%5ʓX񕒆gC>͖Cc>vskCnKWtF]?X)تW:xÙ{⦧&y$ծuA~&#0VNmUԂʏ@&N 1O$ɇCZTj:[Ǫug#\kZiE&47~`0b b/w=RطtОy77T%7j{IzBϐ^#ž)UX[MՕ֛Zr͇tz}hD5-UmyJ(=vA_I *l搱7 `nWj0# k/qEx1gz}`&p\=}UO4'~ԓwϼZ %b >vhiPM_:ɺIZʳ0S-@c[VԚÕYFrʧЫ(dqS55/#?у"ړ;>o]E$K/3 ԾVQ;Rti ș5nWg@8tn?@ׁTR `|۝@y&1՘7OۦMmnMlPVrEuY# r2c hiӟr#~7.>y&as"CHS<-R՗Ԧroc:Mw[{<=b_e)E|z}D;v*^2W}CV}:16F5!UqIHŲݽ}vDo,sB5:{yޟ5ÂO9y홆}[nI{N+_TNH$=BZ̿J}Klw0yhV},w+՛|̩c]+*[JnRdEv>G jU {Giy`жR^Akn_(u^-AGs*a0Ft1{t3LJ"1XQtֽ4x](A_V~'-=|u%7<>`sW`ğ"? ./|݇HW=9iG]IhE&G).iDrJĀ⒫$\$h?@Cn?>Wz>|qA5,hA{;_AcikIӠ`1:'ygA_Hʩ͠ 1KҕXIkjƪ荙5_sСLѯ(j#TB݌Ntze3nX7"l{5iX7f_~* ˞#*;*/\9/Fg~٩J5AP{E(:`|wNȁ2dކѨاWI"k2$.6+ߐ3|%A$KO:]MXe4b:BOya}Np"7S"K^5LSKe)BʿDD7YdG6/W^8 H%<bAc% FIQ.`O/8=YھGNXU;&\w9!*)UZ$?Ȅ0a='P 9!X u.kdZ$UZv`JI}58R '+XSe0euߜC2?GLvu'J,!Bd_Զ_zy,գkӂbA\٥ 7]r~HfRAٜo﯀3159ә(`#>X$njwR:nnDZ9"}=Cz,E#k0>1×5#EE.͹hgW}/vi/ȂR ^ӷ Ku G:j #g-켚4k Y e]*u!NYVgNYu֕2%Ħ38q%NZνZ\V{(R{)滍nQVI-l<,Iϟ+֚AW~;O\hLb4{PF[u&uBM'JK7+mo01g^01?" DڶY~#pY?Yahn"E5z#GwX}A)L@=4z=d +6!Zx`ֈƿTӤ{ܹ~P~{yw`um'-g_$|󭸏93{?"pk3ñ-Rakѡ7sCuҬ>^ꪟffhp(2 IC<#8)xKr' ?NKP(offSYC l-|4[ `"V3̟!^ 0.(Oレn]Y(Y|df/D"EdW=5Nl|uPJrKscaIR"?ʓN tc{M:T nzPNe%s*TV> AIW^i}g3ѵi0n.
X}6\J'AȎ:fO7-*7{Xm*HUꎱph TƢ RRD_1;a"36\im Jo--\.i=69-g/ܑzE)4p*R=׋eo|boH>i<^|c,y]Xid3y<@uR#Г nHJCFаҶ qd^ӊf]f{EA>yFMb  {ͼPWDI{Kۥя"\5D~-BN[h3'!3hyYHVY8 x~~첿=u֫>h4,똃/`c79|xO%6uu]A ouP Xo01|hJHPt/CßJBdmeOY]{١H௠FY]ŒTݯyձw}:Te;Kle4<3̊SLE1C{MQD.+lװÇ '(^zcRJW춱 P 2]tAl@<^zƋ ل(6dNB씟՝_7& *v=djDe{j]o߱hNeZy8(}'bG{4QAgXk#FΣ-GaԘ,rM;>hR*̲;Kc~xJrtck?x!>`֝+]a dPAcZ |H!ee ^! o$=ǯ4`qSiSV)*~w|6ʀ1"F6<(ȵcβ(hsWv CmC;2ށd*"n{>a/=+iQB~> .&RYX1]l[ U+,R} *&0P&'X:|E7CSit7JaʕЧ8VP% Yop)mB{Z}}[\" z ;rvʛmyen ~Ga+l8ӽ CB+Wt͟R 2)1CɃkې`,d{[=0=|kPB@3/ W7"$G^g5t<%9p&e _R߉ 0qS;h$ '!P IG׍ 5UK%yUu8?F5qa>Hf801?]űr6rҘmܜ$o7H{i3.3>: O0 ``Q $e>M -h?k7ńEg7O8}~pіZ@* 0TEJDE(IF&ؗ+Gp"j=!Y~SkG^J(*ǵAټou,usDbppnP9QC}>'@rK/Q ]q߫u[*,]KeK^)<άu*R٣oHB#P"=E -MVԺf <|Vw&j]#^F S~cmDsgc46]4S#psoGd]~yT.w Q(d 9uޣIp`yYވ+1+Ss3 [6d}3*9bcNK @n ` wDח'7Ġ ȧ[ϐϑ#MM[/`RZLȓn x΅<>k@ rc,k5֊cb83oj}dKe¾e7!4=EvR<=CbF\; G{źX~" ۂ(7\0 exFDn_ljĵu%R<)Ž|;F]z=6-X0t:Lojlu !c"NqV!{0b|KKgv $Ʀ_;'|K;AP4y|culLXEy.Op)$y.^[m皻l6O6)辇'X^06`U=;۾қ(ǣ|YꑫU^Q6. N/gn>R|j6X>@q!|vdu}/B(σhZx9 ?x0֏0'C`ց80m ]yB~vt7g[pXOV'f;"6p[ P8.v$Zi:?Ĕ\Lf =C|a;QЩXNHk!{S/J\r$ž okbyK\z~~bq `UkU7(tV01oKGPkW䔼x(~뙸f}!y?{DΥ_PrsEHW2YFދcl}AߤGz|Po%~_:_ѵCnkR=@)[$yMu)#n?e:5ƱsqN=Q4ўd;5i=R74Q]߫>?-Uk) 3~,&s0  52u'rSVX'%}s5pCۅ:SG 2 o1\=5sKHS/. PCc{ev{RBW;6I2G~mlh>s OxXE%T=zp}"L$ ,{_` X _kϒo ;׹go؈g&"?1<[!Zt@[#f%&z|~w(?ʡ BYk7d]P `E`Y1,$eu/&%#yI}'&Q`JZnRRƯBtP 4slcmxNm/i#|wT`L8>iLfe@ëY }aaW6 =N.Ւa-Zl}ـ~dG902[7dIH`MnYQ*(=/r.Ք,G`l:6fYRb[nl0 ҇{9x[QF,}K>`6o4L5҉"#[#:@e͚u,Woua+ AF]íR¬4Bv(*x2s;>wϼ"_ lu^3.Wvc;#9- _?,b ƣUލ[=oΆ--oD~0p\~͓{^ 0a.K/dyD m,Ӻ:1͖ W滸P#cLq z]>\ro.-tRz9S6pQ/q'Ji硪Y̤GcC#֩ḹݾ {V^9̿ܐe)FHzas Ԕ,:ozXT}|ЁTZ1kC-$ۮɿ?}/V3}%8u7J.}]DKэ >]Ik_Q_x3ɩ ѷ>|O\l rN-(1/iOZrh80J~4][5otAI3īϱR6Oףj(;),ai` ]\Pbva4&$!UV8:F ^= rZsIe ]UKUo5 {>D9-c-zGh8o+Eįy:˷]2sI+kjPNE,c ~DN5_U7"/cmtz~‰>)pj鑅GSRԴoՅm鳚k>, };M.pZ%hloғTP Ӓ 7T4{5!tM܂)hGWrѬB TIyZ}L7M^7*ڎ>yׄ%F(SQ!dbk*rO,2sz4C<ϿBۙ"ȋKmԞ;YBJy޶f:g^QOntCOd캔)%N-ysOnV.?j0څmD_C[7߰}l:w fġ=kHf,8j֥EkvCQY~Fe9ނ*믤Sp-m |V׈߀ibfJkjw5}J!DHtY?Bݿ9/?ڏކhJfD+aYD}Y.șQoQ迿8jQwYyz6Ц;Z* $k7L@~lk3 [B^r '-" YixGB.7!̀ulwwE_#!^6Ȧ ^QO̅D~?L8Ofb ~섋ȽaŌ\ֺ/KO5" X+<\IbJF~Q'Y_(ꟍyٻ(j/SNcm]qd,"o+F9:]&IgN~[ڽ.i-E91d@j =S-[ƍ؁je=Qz^ lC Py}suxأ jc+|w5/g@QU~ι{9/2J4V { ՋҐ:'@*uEb-nN#\-xwqt\WqIP4$3}zc.E &ܼTSp4K/p֍; O#@p*p%3MBHKfҎ/MuܠJDh-25-+N̛L6g4 P –b&䱧¯X^SE5`:W^ةᰩ@h)HhsłeuXKZ\q_;>5o 5@JB gfiy%?P0 * ʓna:OIV"Q/mzGTJ] geɰra18 _.ȉ9 7:?{Zr C|uٰ=4QR;9i1:̰p&|KΡj@=cɗUṬa2v*SEga ֪ft7+j2,H,(*- EtGi>CG7],o8P2#Pk~QqNPϥb"Bl(﶑ 5AvI |lԐ+%(#DWB<juS`zgtKq 8݌`.-P"/$zM5ڇ5h.JEXUX|hhBh0kٌSyZe#7Hliq#Tg+xGb;QkGGOcXhu tYꥨIP bww!T5 c]IoCX_K= %mɃMY-3TZ kf#[Ql穼ׄѧڊ-xvTQO "B}Ő+[eq,_m=ٱ(603W>H^s0 B%&dH*]z)Rt@?_ RHA"j{dLp[h*XOœ{07&Ek+"~q ; 3ծT}_UlJ8̢s;PХYHu𗃯u mRE.hXkFꧺ\;kUB)_;B z܊JW/lxo> M^"{ x]a| /c/˹ ^yQ IL5X M'4_GsmmوU ҃D>=59Z=2+p0zK/$}h?ȗj5FwGHqhP#7hG2z9^&YUaRYtsn[#}@wmGLJrgr3T fU`uQh wB}~`aE[Q)/`Vvso?=mLCiB1d7q΄~J`ڠ"3?t{-|ފ$ -6bcAE4KE|*@.[Ń.џy|}=6Y=I n`MBY 'Ҹ<>\GTx(*zyZJj֘7v%0Rh(t>Pië qy#/XXwt?6 \ /& N*QVI/" &[gt`cU^EEςtjjaig.SvYXs̕{MKU:=ֿWn8[Py.6 Z<S(ş˽6p]|2=_mvj+%|k˸}hL 2|`2m$fj-hQ*vk#\Vg5獷raeKi_|F2,ܓ4Uk6a2B6YG!D>Y9ha ǯ8MI/K*Gjc bA2C[]VYqd¤СlKaf2!G7>t!HcD:|~[*suOe>q-t{mъE"wӛb'KV4|t5)42MSR*4FSPF4c,Aꧨ~ !׿6O]><'ㇻn~ٽ׏@ (mL V!'kYң͏ѿw4GT0,מmY}uG6G^jhһ4\EAK_Vń5?dCC$;F^ <" =^Q2W! v\EosF+6QU!p |iH"Ӥ cؘ3?%<| a:\T[7]LAKѽZNOϞ}EI~4v|#  l{c@BռtPݫR9d\^;zBXz|σA⚍l<\+ˈ1zXd3h(䥫=<Qw,! |( E?pBޙz<rjzߘ 2~G6=:K>p(˂Wڇb  e3.by=.dD#jn iR|& L$^t?8IGKȡ ~E`=jؒڵbovlS\ּM {g{:#k<irrdPG vmλƖ3Q=:U鯙a]\g?%W&Uj S2v V+Z ZGlFQ׼{~$dL,J9\PnRmIp6|$e?`O8DsQ)B3Uv8j {° 'anG D}Nk'M~QwurGw"G 06^;xRYƴ Py Ȧ[97TY"g #yM@õCn\ @g~>Lq?k}Zo1}:Hoe=tڪ;JIѿ!q EqcUAacr.ȿɚ뤶,uI903aޏi4pՂ8Tp 8õ{7DDC}^DL:q;1G*<Ӛxh# G/2XAW9~_ԭ]qKַ/#4FnrX@AJ?fF 9'dci[i]p旎I zpYD@iYc}n ܄!BlZsNTR1]Iɿ*6jgLk bbz II To粎7oHMїb{gHP9k~Lz*fAG"b5&&cżE%L)M( [w)UAry}}l kE;F:u06F6d=h *иr$7dPL{"|~Mj}F)E8 Enw?U*"4jV={d,36nw>KJ^88&.h=IMhDZoSe )J;1ZQy;2Vi*ڳ6v}s%z hq@0F =n02R|ǕV[b== WlFWpLѿ%'2lC23zGMZ om{e+ \1/(ֵiHe7ZsrZ9!aο!ًzנKr_p\J@K:i\lۜ,ŜZ6*/"埣 <"t㾒!ݽT?-;r#<4hhbx #\o# p샯 y_Jc{N_K]Ƃk]T>茭̄_0WDdA;ÕVJ % ܉;^|*! 26E"`藴;w~(z{a8a܈b#+zR4`rMt~u/p!Kk{Giފ0 .^P{?=-4rpHӅ&T:q ßt1(uy1FmR -g="Y);D8Qa!_\>bA6[b.HP 1Us-CӸvVittZ_(}0ʕxD$=/` gZ*ݢ߿l0o&.痬e_}'MaYu@#2#1G3XS`VV@I&$H}g5BB!tрGsw7eqƙma4I=صBդ#>]shM5(({醹hPkc)@t' mTeʥuN:\N{Ww+Q߷y])i}M{3vS1l-{\}UC1o^{(4 ځO#|b|@/ioú{qMX:v%Ct x^Stۥ{^>A_[ D7CةUt'HT_;KϊRr ի]ُg"t"sX_(:ނ-8`0Xh/m{DoΌZ\ Y*gA|R9 Iq ~ޫ=#QF=^x1*hjOk&~6؊mMVc$"G%k)fۈ^qZM*uJ%}B303 ]ErnBDyy(ЈO䅎$y a/ pZOto7Sdw{;gb3R*'um4Giw1O 5aАܸ׺ !_VÔ=i=\֛l3kW2 *xf1B$hX'gZLZrG7$`溊,ӝ(+7|5FȞ H%!q 32Oqrr^ ][51C3vm[Wq#lͺ,#Jg .K,r?}CM!H5 )_ѠLِ16=֢MYtbV Tt x0un[B৲ԴDA$Qhs_L2E"#bNϭ8ӂ BMd>. fz~ӆmSK15urNv T~ҿ ֶ?$a[~5E''5~NUJlVuї k $/٠( g:O|{о9qN]n+𐂓/I,0_4:" ^Y+Go_6S#`ٔL44k,JHoDᱩ0k}cr?:v|QVw.B_ifޭYrd2JK1LVuz2rk-Xāb=*Ĵ kS <%v8jgFulwjT/;=aD r2#ځ5=@ 7z^g|6Wh9ie6\%߾woQn?!WnTBU=fd-lUЉɨu/yGc.>=N%Zdx>eb{l ൲XO`$B>3W"{|b݃*'> m\WB(H;tZqgJfES Ў}4 5ߒ姪oA _5z2t2[Ӏ2BSʙH>\eΈSGG1͔kC ʁf|]gP\ ^yDѦy=;3{~geOd,:B/[ pP1n@\!TC/>LjnxnTi(7Aƪ)PőF ]BJ''nķ%ȱ[^Md6YGS|;ߡ>|xڭAW^1>X*ç.z֡7`{9 qF֢%{'csv0ƴD\)s~%?CCaÜ:G5D i{%, 㩶mR_# HGG*yo6;1.iDDRZnf+MzQzi!q! EE΄a!# -mlpŌQϙ!V/Ẅ́7ʎ|_Yςmu S`ׂ])jx|]?!UcāM+yHh%q췾9cVLoꖸ2_;nIPՕQ]E8c6/c?ot ׀'푳UѢGAf_zD8&@  /r/~i(W.h=! ׎@NRPzuh3ۂR]"O+hAő:MӃդ|=wR2c8H%5%be܃ӖCp )$ 堿YOHX;D`bOByF{ڼ:ܹ7Fuh;kId"lZ_"vTyhBGWn:@4Y#2(x44jT;F5[o넍6黄ٳfuR\yfѶM-`<[jX۝}|)ͤx[ *:+1 _S0(}ĦN[yuHfKTԨˎmu0qt4 mJ}m语.Y>3}dkP9l[yyv+Q U.6w#b4L&c7Qǩ{S9%~3ڍt8E~8ߘqv,\Ƀq{ࣼ\h ;[a-yZ*bc4Y- 3 L`˹sQj'-WQ{3_?R\?X+9ؐq$;%=x8H 2M@ 7ʳ?Fζٿ}d_06%)h!t8 ѐΡ0_,Uv*G9:^BQriE` # ݒS$gDmc- RL.+x2X>7yy+`g0ľ͎pW* ¾8yy)߀e%@} 0MCQҿ͍!əci^F$<tQ~=CU'Fe](Yx(8h qbݬ$kUI)1Δx9. ^J͗$pK?;װ&:`a-c׫`/L׬Xr 00 UEf;)R%{\q7+͇gL[9S/h\5n n<@jH?Z:mB4NMnyHB$"ζ&\$s_ f][=wc Tȭ<Ȧ2afq~zAmۏMh~вSyd+Ho1ic^bg QQvӭ=FRQt<^ev+B[%׷f16ۤ+{"3|ƱY ( <NN0&~l:oeb44v2?M$D.~H18$}ubwFcjJY3c|mzW<0oNuu L2տ-Hs d]7絀~ռîPf k0>>bI7N/xT'ؿz^A _ҢI2}<(Т&"̶dmF vuJ\leEhSLl1!mǐ9etdN,]늡Ls\G!>MQIϜipHޛP vfA`E02=œ!CK0^zn;PP$| 1B{.8\^<a'Ț4`Dg~lr-k8و%*C*{ X+-BlɲBI\7^Zjf"ʆ។~;P}YY- [VYǦgd$D(tB&`+`?f)bҶ9UCYd1co^F eL゗=ㅖI} vYSrEu촷+/ [>#q?QS7B3@.-g XxJpm YhM֯w**A6b fXX.ܪb{#7cZ\Lk(`QIV<w)Z9*:4Py2muHSb(fi(w0mt[M<ʰ57zN Sis Ěa.i u_ Ȳ%L |q*IY2F5UB/_^-]>D~|f95ҥM9R5 Zޖ!ޑs?L- Xzi$f sξ«K@][hxumG/"(n~pcEN8d:. `CQeļFS-`LNjIV&9K9CE\5W3*sZG?kɫdsPMR]% }޿ Jw_Ac:\evgA6$MO3ުYڮ[B&yM1GS!T!"\ݳȢ㡺e]]_RG! ܡRCn}{hIi+ ԟsJdrOLHmi,!2P:aG&;[Ҫ{~K?`N[[H&]w $'C ^>QkDˮ]WuamqxK,r,ɆnJro _0G"vnHH(O9 tŭ NȴJ{mP,OtU7(a$s_Q 3&ZIR 0/s֌ǝNnrdp͖:{UmlS*/4N(Z7ѱ?͗s2U{+d.V_"i$pJH c|@NkC5/YGõQ@cfj4b;C gEo= =SǷEL}c?t- ϧJHp(hV.6} ]xh5p5hB"Īb ]NXNb<zz2xLҍJ@?P&#N]XǼn0f"25;TimL:u{+];. &%ՁF3 0ORț|IJ acqmaHzR1V(o>4Rq٥9W$d۳YDo1]04UKV5-9QC)>v@G((kW'"[Ub:Ü߉O3:>9MR7% M@`b?΍e=Ybq[Z{b玾jÊ)"CnvZM Z& %LTzw*69m?]]xd @#- lF,=R2T5Y藉~z}TˈJj:K#WP=tΘR.Jn)%bܘ/-rɝc5)Wrͽd!=iW1`5~0Us6*HobY 4[8aHCel<|,! 4)waw9@9sJ Xl+w)P;A= 9?,l2QZ-'F6#Ã`k>h^Y=&a|CU1<;-XrbF?S S>jH ܉5 ]e 㳳?Q5J'vlwdx_yX}1Xn?{N0^%lH~E6qȑQ Nۭnsdn*~Dn+Jd`:i=H}u9e0sRNAY ^  c<`|fx*XA;x{vkМc :0)j E&DӚJ `@oȿ$>]6'Fa>ЅE"Dd;]oVYƺ'rqJ`=o2u=aѿzA{d=FڸHnPcmK pWJ(ls:?I FI~Ifb29E3򏐅7rq5 >e{~c߬p<*4t#+&eZ/olqЯ@1+KעPDNv]_>PvzZ)#z'oVk$ʬR& >x,pp{g`{M_@'1UP{McPq|M{J 1ᒠbn,4=($u |:xGV'[*)vbHT p[=B?+ؚ1õHBrl7\(ҖXdbv9HoB"+1+ 5qm\<.=)Y;Jť㯾xyx7`ؘcD^h46|׿fc +aXK?WPPXAJ.@`&q?W!_= I6^hbCLߡpт+ՅhAQ6N'];J伺BQx|l/-ew\K_W_oI|{LԵ(Mc^}ςd.Q|w۫.I3u%g$]ZB]*ePOf uu4-,/n˰2qtDzt [}4am`dqUFk r<$x=Ң 9(EM*2v< \'~tdלZ92~xK6|f_ 7˯j5-|)*k ƂEH}g])C6t4fU^ؿ#R~V Y5{i#3U,Gbɡ5a};-LΟPW]Y9ɨҫJ}TrO VIj-OdpUMNbNHmxorA/+;2tjZCo\I%LJӟ( 9zCV=S f* 842lzqL#p< ErhsɛL4oK3 ; ZM5,y:8DT6TR_ * -,4aynJWعѽع%ǂmOUtZeٲbk@VY]DcK_eR|H%gM4Zx;R=, 2̃ V1dž>Dr%yAXNT¿N hQ erCQxdTCs|{K9֦xu{UUu `ZY:C1Q%w`S_ b}ƕzqV,npgok,u܅D-uݚ NbqTQ-盥ts!ώ-F %9}D<^)+QnjfQi5i#|-Wcl&]ɴמ!j^S36ׯ~2m~"FCp Uԛqv 4'vDix\$w)Q7zQ-TA̴Y Ri^ṾҪ B֝wZf"kU/JV zue.L8}:Q?"b7IP)JvYſ)!ȏ./僦b:k'=bPbNj-z'Ig@? ;Ke 괈鉛pDޏa蒓j%Ƣ58~Ub 1i1I|Y,?*arI@4uq~1fԛP.7m̮˫l_5b&oxuWP_$7VOh,&V=y D4<չ!Z '_4,_G "Jǟ<ơeCX+7>I|ii9=~*KDB06bC B4@y 8H|"ŤZ‡ Z\S]}=Zx?o@]1ƒ1l 1A,ya'/ E}6y'DqwoF+O۰gљ]F4yX4G" 7Ӭ ͮ~8,@&ʿ˷$WាWb'VzyD:_9sG7cl.Qi6 ]JlD4IC/|4[A;` )1<WG\YwЕ$q _6FAUVzl޴U:4Wj#ԧS WKeJ`vx`01-AQA%DPƺƭ*voßvue7&FDZS#ۇȫ.) VbR:'ɫ;к]@}h"H}:nɀ'T>Q3S&G6о>lw-. 㞧3޺,wFΆ1Gd[2o y:{Rm{_o>H%xADomyCCI~ Ql|y2gĞjD>έVlBIsj&f{faI:\ #qip>_,ܩw!4_\_dƾ- 7A|-bɥW٬V e&5\[~E (v4{Cu7/U]dBW6I?(r-!©f2|#wXߙ/Žm΃ӺxZytDC"Ak&NXIF3"[EV'Gf#{ڗd|" =wX.lP喙+(r* 'ԁ_wRWA<PH`c& ~p^OYU#z,>,bti+6w!+ ?`7UnNXg/Ӝ?4: *#Tq&r~LaFmpHQCa{5efzokEB@&*EFa8e[vڹ9w^1k=D+sZ96`'FˌTOg<$n([y^ l)XuL~{IrGTg( }:<; ȠKZGۋ_[ J>p`ӷ嵢y# L0ȯEi f:{ռs^Uzo>Gc&3Δ'a>Z:^7'z4DUw- I:Bn۰eIhcE602IzdK!6El jΦ~VMY*m Gbxc=~ώu'J^0|QX0)[YM޻ԯgq z5mMkP{r@@0'd=q痢&\=ꊑ)%@SƉ~OH -&_Lbkj޷ [l{/ѻ}C/wʗ~MudQg_t4ieӕ=Aҋv:U. t>5ԃ| 4u@jӗ7ͱb9|kԖ crg9aK(Vgk{~CƆP[Tթ0En7p5(|dOB~c'gVoړRN*r iQ~(Jա&A|Ԕtf4 B-'궣E=fF$}՚8ְJV_ZQ{fTlY4/󒂊G6q%K\h~8clPMNKru4RW{؊p]: դt #o@nq1uP8O=b GƮ $ ;,Ss(* A[vcrT7U}vGQ'{IR$8jSlRK/ݧ++}ejJڲӶ8B/LM1(PL,aG&"| mwnb>ku}9+>>_+V'xTZ X|.RZ])̰:H{T$GO"2#>ݣe*=ȫCuhZ?oUQégu6xxHG^ ZjL(L8KỼ)lNE:RBĺ >"Ln(>6չ$9/1o;:+~=Z F'=DI$`-JӼM!8~-o'eSwxXquotC1+i α-PE'Gm#C+O?4_B_00 K>zrG ADZ/G ɚ6ںF/u3t: x=[K?oĺ O#|>U!x,u,#z>(RRkJԹWEJ=W!8Wws8$4dYj,QIo6YzCԓ1; #-9v;~'ZvSH#OkH8\0-qi Y&؅fo6\' O)N8ׇF{L*czQȧL%̖_ І%rƶ;đЛxnkP@1D'ɀ!j˳ɝmB`^rPA Uz③ > LXQ_L= Az#Q{ZSaI.3գ=9ʍ,q~=5/ Ay!lJs5‡@ <(s6X}g<@) ~ mle:byii>m4& ##헜 i=>{w߻2? ǃlj5w~p:ENa _vl+(ϐnQ1Nt%5b3xohO&StoyB*y6E4JE1 z|X:SL 9fԽ]#ns@0aG(1G&MZda5=@s2 Ð.mŢ>G[eyʊ{‹aN߰ m^9C>X&* MUk ]T%:i(12dSNp/182z@Tqh?Px*^V==?aPr>jp\h|I|Q>a9Dm՗pf|,Z|g- VR:ߜKFC"4x4@TJ)ZW4~EϯaŮ5Nwyhտ?z$8tzV '֎ juQ?c%XXr ~릴`/Lo] .i}7H$|j+!ޮs7j<3[}[?w-~ƈ Kgj1wc `bێC=;ߴkC航|VYJ 4.k2e@R^\b:3_2G9 %\d{o>iaL?5 wlM5 ~UałZߴPo%0ߩZ|_(եRL#(D0"Whڱ{禘@CbeG5om¸3Nn½0~|]Krӄ{gB6\.H_:fa8}V6"ܴ4u+^ ;I?~fR׽Jf>;^1,:*yIV1MvƆL 5p{c氦R,5 4;wF!SᩇP~|jόڠ(0ǣCjے؎|_%ƌOLR 9wc*ʕEy;UGΓt {ʔV yA]5)?^o9yG;nuopt#3>-5ʈR!M}fbeXQ57,?'~(byvI3r1';h{ywX/9ImΫ%f\[CZRG՛|0Q_5`hWA*yTOe4i}|К%axTi'w6 YURKzBMㇵkݯiʲsyf̺6+-+W|֡nm]|N /GskZgYZ> YRϡL [9ɜ_nKjM%h»SD$Ǝk7操Cc*31#m.jE*͟%i8}sj=BPI۝ZU'r,2$KH0ɿ*!7rJ iLTͅEs>I+yexWb$ju_%)A|t66dM$Xmu: Y \P9.Rnej I 'DcsFf23ƆۨR#A`"g>j2lV .Jv*T]nMU[7V fE qEh0=_ړV"CŭizH--Mɀ1_1uLƗz~OoM+~x^|NT: G8[e)<^vK%t] 1+ծ2F*>KKDpk^S#B6ptxf\nmRm()|br]LLGowO+د/SPoX,!֤w6>ޜn7`T,e%}`Ố5_߀G B-ExGJ%8%ɀTr@|[&).@2F_O %1Ø[˹ox~u D>Z51N5UGw 淞).>8f2!B wI8@@buGnI9D|/ c _Y/47T1G_L@F2ߦ, dSl)Եa8+q}_eX~(|Di/IM|2)"TcT<8vxy3x~zE&Ţq__Nєy 5[ { *9˿`_Ъ/7 S1?Kb*^yMMHˮ:mS|%.-$P/eY QKh $EX3DJ5̚_p/~E)^ۦ¢ƺLEjYf? Mcqn'گFa+D3 |O*N⑰sȗD!ݣʟf6h󲓽-wDD M1vޔ;q?ط ں'#jpeQЁ7ªb8JI[wde`4 rY0"pg1q!t)g甆]3_BouvAY0xrF@%!*S5%h[N~l ϗSz޻mV9b?!XJ˳H=z|bNkvS%LOizI9E9 ~2|dvy.}VAƜ;^"ȋdT6X䧏݀DThR{KJ,cCJm 5]Tr÷€'iPM_ThBWw"^3J67=&'mLX;dH-Isx߶^ZQFΰ;ry'j1I~+0f~F8SqktNƍ@1csRYNB-GgTľtՍJbjiHxid }䎶±ض9 kKT;=>5F;kOѱ|4ښ|y26g /hPU4G YY^H?s=IB@[. HI$f9vL LXuTw&5PNZ k)٧&VFVk G2ǰφCUoP[.PEo[j*ZGs6Zw0_ڔ3Iq]JUxU8 dp?r[\u5oWY8ǂDz?k @QHZ+!"kP7YXvE*ϳ83x)Q[ye5Zoa/ c}sbD0qOxRzU}^Saȍ!(#eШ[[/EU!:oBwP 4WS<`>bIhwW?lg~'xfߵ =KE)7qy15Ù}*vV;:*;ʚīp d[P Y yt?=D1* ϴ.,c+esW|?p@SmցP:_P*dZ3M$m=`Es]uysw?8NXw/ek證 SSs'p `ӲF{rj]=-wÂe}R֧cob>vo=.H [lJ`GTK/0:zBUWpfӪwզ!hWdLz YVH#Of4k٦5o X~E2?v>7e)dΡcҐϭ!G~v^ =kjddo \=_*pjsj5aC?+i߈́'.Ѓu{X"qҍguHx0o9]F4#!>% x|_!ʝWzG]1j!j~!-ևE\_e`A]X_'+=[ >rؠJ;4tMȶ=!\鞒z`ҷ?DEm4*@ee`/2"v`?wxVԣCPV[o/ZpMt?ze?vg-ng0i[%xwF씬lu}6 7a+_"9ZGB9w2vm0`(>lF9̶[b/s#|9iL#ΰLv ;f}!}F uB^߱,x<pdw|xt!CcdS}.0htKAOuCދ_-aqOW> Ը.DK㌬]S>e48d'XAYk֌rWtus(K8p{]v1 I GBe "JLO`-;Ζ{ì78cyȪK(H|qL5U`wvL2E1S-*,h4>+@*0Ƅ)C=.Iٷv rrv1B ;D;Pn[G0=[y6m)#gSe'1-_fv YeXxX3r?{\7_/ - FkL4od ~;6'EourQ}C*+%Bnsv|8Z^Ǥ"&oBڪ}|aP$WizWXR+фnI}iiMR޵I,D*`>xR]*6]e>b-9 $\ae>PПH-D.̜_X]CaF.sn+l+Ώ/qe y*ς#s /N >WW}2C"}T& G*/23x)M{:'[gkۉqVןHzh4J8ޔyH@S[47I %B_KAII6DPkX3=q.|P-P\VLTf=,yO@<6/ÃE5u՘ X:I{Td,Vc?- 1nȡDoK/(A0.ض; `O'n͏H^\o0O'R3૸39]rN[s;M/,<_ /zɨzDCy"o#An}13d3[ݶ|kxrpжL4i?Hҿ5Oc4ӶюLti_JSe;x=gl٧e>xOd茡*:Tl#(^p<:@(vmu.m)Ж4fXFvMr0i8ʿ ;}iөYHka0Ac%2Cf05>We ? }XAfo}կI92S ) 4GRK _c*2i!tƽ!$ OoE=oqiVq}^cm.5=R`Ό+ߛd]k ͽh/*%\zN^-d=U lh{\n 0Qեſ+qCp ۪I(j7;P,yv7wB1W)"45X,}aϭC.&Gu_y-Œ^CwwʥW,o'>@lfw۪23^0~"`=c#vJ6\I`^{&C 0#y)2ET(G4]aTHzh <,$SCܯkΪ5].^(`ҙ Ev٫ۛk:N|ʃnxe>WhpB`СJ"Kn09yD-־<СK^H*@kv˳T&uGi0  1b?<T S/ōuhZ9^֭4,1H(Dǽ59[\+RC@5R=j>ẦLR!{(^7'ձ72ް"%+ 7g7Uq*Ke&?C uW?O4>[VVX5&ֿ<)&a ɭ6ÐrQi= E@)XyKړ?CJGHn= y&>kQ!C ,5NK3{HUbH<*mmN^ܸAo1wYi9l% h]Ó"1]dl.ɐWXA{MP%FI4fNX%5~5ٶi6=m~m`E4PTJzS$_ѫapԝ%Rzn窬2l]gڱC7`R/}Ƴ~*n 'Ư'"9W[]A-y4G}[yMO ClG!T q˼ yq;$OnCx0Io*|/tk@.an7t[xhUh1zF%KHH_) &[ԽgȘJU0̸<$tӀ/V_T[l3}>!Xӧ9x2Xa'1R xj>I}7㿣3çr<乆Ab*?G/C=^2.|KZd*EWrUr@&I௸;7nYmODB6bYYZ|cq%Q5]sP]n70dMXWMŕ̛'׃his bdq+`wʆ=`8iXo8!u7|R )y麂()Fg׻ܞ`nRV2`ƧߟKSDkylU1kX:1a0bAۜ}H`NF- kY(< gqs)%uoNzu!?6:! oT Q؉EXhS>B> W`N&x5]B!/g}|5j:CoU)ޅj_y/[WdMJ쿛@AT{3  iL2Lw J#LY[! O__sCg.B{2"ASb:.3S(cz~10! lQ( {pFMXH(c~4]L,(۲?&b틖wf{{a]_in&'[E*n{`9LTd:Jan@Y"K'\dOlF9cp{簍VyFme:nȮdr\K@yh E3]~J6T׆*_|]D!-uNS_Ҡc>쥶zUcVGPThVQjFg~t ( u2ce"Wtncp2l_l-2=i*<ȫ0.gaM+59y%@9LϡׄǡL֑q`,p9ozc졨P '赈)Tj3xy9%\Sɍɤ_ oďVq"8 ߔئܖ=K̞_>*^3e͕ [UK K=X" 2xp򢝞3#BخcUWF2Z}ngbc4@#DSor4&(jgSj4HrՍX6>V o(P5?RpJ)-wɪ:)~yHF8oL`=V|wyBKy X-͑լ"״tj5dw~F*nnf{P~ǔ&,_;P16@(%KYwb7n%G+ œֳ-#4G-69 azynO/7hӿ*g[kw`^~M2`FRj_H$%zd!ƀ/ڬFw11h'+eRu$ C󣫫 ~~?Y{ChkMW76i pʦ "nm0s Lo-A,S69gس2~x~t0Φ&y .rcz]bӻ=&Um &>ÃuYo3:q:39Hz}œB|h c CBG}ie|¿]XzExR8yJkޙ; 53Zo}aƖl\ʼnA_rg乳0T9xvğPy:L7t+JfEv ;\^[ T&-]wѥmfH *riّMnҋĜ"'_C%N BcK#lsnf7"S !8_T͌.TmٍQtBJ-~H/H U$| `kC6R"h2Uw'a~N*s}c질97%(2}xiCZ]N"D"hR䏌@ȨbYB=ÏN4JZ_[&uuڮz񋿽)c/ oan!k|vájDɊqLhn 6"^O 8<d1<$c)%sVKhtmp1ʊz \3F_YF%8_L@-Q KSgU)\lQ*bB6 !yUXQ_al1zJ_R3`wzCp=u|@T+Uce[Jzsj^ˏz23-ل 1q4fQo*ꁬ~q6cd7L?uAfب)Z:2e%IxWX5:ڪ}0#W)3Іҏl|ބuʯ~zOj,l>% OJ?M'F1&(+K\'c^b￷[΁ɬ<;c/U+'Ek , R3\oدz]يj}(ٛNRhN=(H4~qiH׈IAH D]NlW˽ 4 9IyP]dzXbʄt=pk):1sVh{䂧=<0ctA<8wY@2j"hl%B 3 _0Ed4M.<2Y.鈹C, wCT4&8~V?kߗ@cYKK-]'I*¸P ^ OYy1]n]u oΫ ]=]y%쭑`܌~wDjBTW ߵSI1+Bᶢ!YO]'NӱuyLQItDd*4ng '~UApЈtO8Ew1CJZ#sV'w9>S LZzEo[;*ǏMN$oqGc㏔zq;IiI*覶[ ԏxL{]q]j8}Ȁ S\wr+Ed%E_ƉtyTrǮwH Jb; =y"|P 'pm KEXV KFH]#t099nYaQ{ F%B$wv{Q0v~]U,f2&;*l.chŘٟ.B ([_= J י2Y-a%Z (>-T7{יϡl{>m~p/Sw >QL@~&*y}I-U"4ZEY]%ϺrcƐ.o2^.kdTixbPr l"U[?feɶXڅQcu/c]%љDku ;X,bo0j9_nb0(4V("7a@;dx/t?L 3߻V2?V@vk]oߒ46v6 Ұ&}ӖՉCB'DYW/T] Y>wg GACv'܅4r oqSFm4rPUo̐~Fߏ?|hHQVB{[ti7v]||RTԉ|* > ڭCLY)? 2JQuϛz16Cx# ιya]ג\+Ǎ[ˑX/ N ̉ۺ/e/V5[!= 5fzUPuA/~ 5s.}Η`@HQKX^Ƿc)Mw9컶gp[) [iKV 4a; EuI\cqzg$AqX4V6wD̖fu\m>Ҵ [ODgS]lFH<̬Nr2>qՙ.eЙva,=ъi |>kgeĖY/rM29$.N܄l0^ b u,z]A&&cnd 0?&4[ذ#".["0NP_㵪$+]=+au.77ϟG7V1ؤ*~! >TJ.:jJs}L4"虗 ii1g[~+V o_aGP_J4<(_13@Bѻ lf>'ա!%{t|zrt?N~+6W3! ZM1 }hbP2$3XSe2y娯 c!O\|&k l3CRȭ/'GQ9BG_~3T[Y/2@)h8 Dsy{x8|DHR`} ǫݦFuWrL;6- b`+RJt=3>kx۴i6Y($[1o}4vUhGRQ-kPD^voG3-y^s~^8bSE'0Н1Cy+KoQu{sRUfm>7~UOmOU2P'#u/ ?X;|-iEWOgB¿B HH:}jP htry =bG:ƀlX~f2Ϯ (ܩ*d'ߙGk\A}'xa{yq2/kc\ _JL,ֈ5TX<1%D0̗6U<6 g(D<=8`bqT&"4Hf3D ?wnx ± a=qVj=^i .)8(l%2'bXlqȔH6)X ] \>RKBUj?S#C] j",VJB ik1!9ǥV{_Y!Z%>#~dyHT۾ t-:._]N;+| qNR+Jjx{]Y*,Q  C~W$ wi"d C*$ڴzLnՀq'9ȫzk 7rZвk#RJwqtb~·r5o{IۨT{. t9Fg31Ɛ]}mĞy3>$XSH(0C:!= Xt /} q 4k}^Bz*pۇѷe:k>>1UBJ)ϝ=* ըUwG{ ֺۗ6=/#~+"6c}#˴KEwk0M~wgN .h~^}ɰșC6T%F;Gd+¶[[F!:{/0BϠk(mlgڂ t2s`\b%6>lciJn_3bTj|uW7´cބ3KHYmoghIǟ$qC7 glu6<33*Jn*M~4/s~QMokN<(o p*/Cx&gZ^@0f!mH :#qapAl9.f `R'<߉J@(T ||91+؝ XaiX-k/ M$T˘~^Nnus_5ljẕM2'Owrw k~ 8$PAt6.Ѣ2ԏBt_gnAEAg08[V [ɮ#PɑEb *SI_Y/gN}:,=ש`u^z`j* AO#&J @;* DELarh(!4Va~Cҧ“wRpa]WT:/Ph6fIx^JXG^|YԖ"D[TQ;:sƒΑ|R_c VD띁,4~?{>){oNSa)Qcz!Ut'l wQ 0̒ߦ! L¢И (Mxw^-h7xlډˈ4Z~YV͆TA !Rm_]un"):gcX]]?!Ei!`b%&c\Mdf)l_}n3o-R4Ȯ~7IXID'$K8O4'i$@r6Oo>P"DjoSo2ȠV7#>>o6$?Kxl8k.@FaV蟦T!ρ=*dgs(n+0E0C܊$H_^@_;<ĽbA38M?'*]nG ;ndBz;7 MY4sd`x%a NC`>6>sAEۡwЦ V5 F=uj!*' Iv!s_eD1A"!{V%v["S#84*GrmwȅPՏQϵv@]gz~R o {@A^=CgAIp'1m!ō}DlsT6|?npĝ‸=)^[Ҧ'|,piȎSo\N U%RcMל2kQT?zX1OPgz .+(5kTz/(ށE*)d Xƒ\xֲUJǙP@mgHExq^/KzC"̕s#$ƂKw©M/ %NȖ\r(,HF΃ؘ-\;^J0MWPKJ4?Kr}c.RW?ְeW%ݨJ7..1{?acɑPwHlU|G <~IU_M./&i߹YQ58pɬkn8 og"1_G 3mhD{x1fzBv5tet  +1w.b>XYUS.ICgT{bYUCd F6 q>JZhSOb x̣ ?口qX.YOiбjkQɺV~AaF-ˣIЍ틳=_3ir±XdoW|jyYhvZ$&awE 9C䜑SߦrA#r lT|iFŸVA&7o<ŀ"RP r1wvC@6&sj}q:]i+gl3.jyNzk`,Ricj)~)@Oy2 .C:JSv]CrHdeUkZOG-`y;a{*?إmqOt!ֽ0h P5WȎ&֜Jn_bz| ûR?E/0~+uW® tB)z /eld~w/S>Z&B{ádP~YٻS)ȍU~nɱT\~,Ŧ 0B$eu*m|xUf`vs9y8?؇!' J3qd%^^|giQ˅;,[ځsq=ip ތ XtfN:1Õ9޹VE!G+{Ul&vYȧԠ8ko*!quT,3u0TKwWrFz`YTszT0ΒNeH> &@ N0cdҝ*W&Hw彎1D²ƥS/P,<= %?Qm6D(1.9Ӌ#3 G61~Kッs$Xդ<`} Ȣ$*hv2<틿~9NÈ.( SzNKztiA_/qQƢb-AFC4'o\_'>D.uZpҾM2o4}j ~Gۇz*SҶ!AJ4 %[#pG ,|2&'/ްȯE\tWM#O5?2WO׽!iUw4ʼn:dN˫܉Oݙtψv/N+W~ xubh@-Qܫ:̼S֎1] Rh݀)yuh%tM{4Ge^!̻h PS6H(L"! tTI1AeD"ȶW&q&N2rdxuhΆB#$=h^cTR>Ix܇e4j`r Ԅ IǒY@C"Wfw˩k,BSʃxIfXvi8Ѥ@[!ò_Üa,FlӾHIxVMKVo[JC>t2<tFV4gX(0 H"6wiT:Bv]MPu^SGd6=a~^*!%=!b=KbL-jC~%>oђ~GȰtTRب'NTY ϧEmL2 )ƾ KȚnkBdj.-k0Z K.]!/É9u A :w:SvW +zx{@|"d9!LkŻTky\\M*Ϩ>zB -aO]YoLb@]BI*뵐K.z'c_2oD _uaf#7i _k8$ wJaWێM_"3i24 Qԕï΃i&roU,(֦R]Oxl<P6VjFs|e7D-SAL@Ԧ^L>o=`\ޔC\.'ӼwG.ԃ~=:r4{%Hi|ΛփD)g7<{eJcI@ߨv2N60M8D(eND ^)n kqy =n9M8SGOK u*I\'ڏ)3zE{ÛJ⾨RqW wq(ga ` ?ݘ$(W=UkGqѨHI;۷򙀟DjK!r9{X!M͒^Rp]_s_5e2$۾/.6/ =  8q'!YrʕC0Zwt_E|hu5'*߰wH0ϼpjlmX*| n>ZJɝb~j\M^h"O\5L;mBAөؑ?ZŬt.~0TzOr6pJ- 4TzWoq( Mt5@͡wKRG'OD:ed(UąmOfW@(M>RG׋?{O}xvU>l׏P~SI/J*؅4bs'r{ا*uźL'5y"l0Tf/27܌#Z+k%p`"26%v3{|an' Mq(yN!=a囧!ʆY4NF/|R$I:Ur^ƗIBb2>m}>1H][YI~_X!e6~'q/ KŶr^L4 Mr]^έ r;I!DXyNbD{L?YKϿ|1n=Wʝ >&\-bAPyEO['E͉CyWUNuul60<m9Jǝ'^nbo:/QRlpbCb^5Q\ax<AO>y *k\Z_7_%l>u0 >båYG#>ɝe~b~IvQ֏}st0SEֿ}~Ka8Ze_Ju;NިO-w6\ C฿r9J2'{)玓nSd =UA&^Fޘ3|R| 5v(+U2W^ 3X%)rar_o>QK>Myomrx"1͍`Ep {}!<[ X@ܲnĝ`y E{Y`ƷG>oťFPGaziExhJ;$P% kæ4fȲb.7U!uBcB'X@CyFH"߷n*<3zg۞T1;̖h4Rc<4Iz`;ܑ 7HWS׎Ixwv;(ِ7y7b#Ij9}.Ut݌Un薓>Ҟㆵ^ K@wW|8^6}i5Xtȋ'ui" cl16ˑ):D32Woq"|-⮈9&jc;Vn޺ hb J%r]'Ԓ9oZgZ=uOcSXjGK._up4TTS#0`&e~;aQ<:8G3EpZ DnBGdY?COw/ @w&لPQȽTz!x|շd搗r郇o#}]W;oPE(CLg_Mm(~GHYܹ Y–%r}(`?~돰ۂldd gmi{!K3c-bE8׍0< m wM/'W] on!X$a9b)&q.cZI 3i}~$݇*Faro0V AC>x|-bJ?tx9q.?XtV0i:HsbnI?&V{wOd_:gIdl̼psse\Փ Vw\ty9tL\G!j<-(By$o%&zS(mG |ot4%_db(MWنQpl೫1p%uFvVv6sTOިNb4t=q_-s_QɆ uvb$:ȆJ(;N01xeq\QG 8$_Õ:=Y ȋ|aYo+{"lȸVNT뼖,M[~jYϸO~S;W*+d0svLP4Gc/,(sKnCR@P`˴MH@}7.k ȥ!>*[r}aio)CHޥ!)g\4/y>'/~۶ ~T$+z,?>LϽ#?R zR Py,s'9g*?VGuŤE5M|7eP_1T QhJ͹L2 O(x!/1UQKٸ_¥K qZSO GIHvoDLOʩi}+Bi՝Y = ۙLcҥ#.NZC^50cê\@iBXK~BE5G U37ڬQ+wEQWB?)*\ւW~gNEN d4Un$Y OKnw'o+͍2g)R w]6Syy$PrύЗ79jx`B= \.8j 鳣ۚȇ"\'"t՚fRaˍUG8j997QČXq ĭҿjƄk\ՃWG Wq#((V%; zcgH[.!;tD`*LdHtZ'B2-)}\264mJ %LYLz>l`a ]4mK!M7y8!8KLNy^J=qxi>V# t)Td ]wW5D 1 NNZ&̥Go/ۖt8HnTu{\+pT"$+\>w1.|J$>P&.5 V0eewTjKohqOҩApM?@OS¶ bp.& ָ;~ @4ѯS${nk#8H6'a]{r;>YF/%?1H<@Lz[n/_g4IKp&ǹSJ*zKK"Шsos.2!E}Q{E5#kBr}#GDysl*͜ ×dFꞼyˣމ+xᇅHxޒ.%w }†.7S<yE̷.済x0 o?FA-<-ZF#/9IJQǶGN{'n ?^ЗF%{:Jݖ6)%6sS+$%WS4_aI= ߥ =d!zÑ(9Gϗ~-{W- j:l{eXx\tߐh|*eݑUn/0b&/&0If0+b aJ]Zo0 |-n?螿(_䪱9- udaYm rnrY$6a6ۈK 2X(qՂ mKQIIJ 졘f-dZ K+brFB tIQ) X:ZM9IKs7QɎFsy2ץA!QPLhjemX9Dia V.Q95VOiIP[;+K"It T^Vɻh]T| P2~4,^}r)͇mqF|3bP 5t2ؿE3o߲ AtrKXxIP%$ 7Qg%`FG[XP>8$N$A⍌gO3^ߍٽu7SvCzÙŻA}&W\k3Tϥn|nĐJmQBE t/)TL"KhoguJwPNblt7hDp(h t?dCJ @<_c@Vxۼqm`=f HG H&;l$bv Rʥ\Jݨ'¤оtun_'_TEvěef '$jJsN[hq|Gp]` fw?f՝@]!ݧ0LCd8 &"WN0vk\'x'dICyDy>v苍K鐠śB[HaP7عB1 xa)*VDTfq*'f)Y ee4U23!]z1,r AɌ~6OYEA]Y͟by NFOe>$Y ȸ>hn.-qC+ ҉j*'?S-݇ {.@W55(܆8ZZ/cb-ϫR A9ʛbrڟg,AJaͬ@F6r.|[IQVonݰ̞rBKt['I7 ΄ 0jTF]:'$!Xg[}BAQz EO d;y =FvUFiz\L8]ӎt{_?!aT{\'Q+~-{EwûoL?z ?F0 9F'yvOX&'KZ{QQpǨE}"5! )^AέɇhTܯ/xe +Q q N,(UCL71#0[HURa).!?ٸyvˈi5F*ZƜҙֈVce~j!oz!VԞ%%HDž{ "S|)+nΝ҆WPq1p|F*F[gͲ]`8,&~R[n8^a @>ۛg9\t࿐26A5=QwM5#?Q(޲uu}{ dƉ'=M΅EaO⸍#Iy ݰ-Ź7UJyS9 '2 @'='o_,>WWP.P9W*؜)m8A0HJz&aתߛ8H_595/M*+D\`T§ݕEk`dEV_&=0n^4hZ9I)HkCj>o9zoZZRCwږ8ODD*ka8玨6/7Ql+f94~^{E1NW`Sl1Y`LuxH݊#'uMK^x&lT4;/mQh,G%{bک~rlO j_3p Dyl hn uq7!̃ĈRC<-W_< 6:Jπ-d8>w&rsaO^Un1\杓LU* qpB[{9[P2#ɞrac/(  XuJwR*3m >ӹ50/?WY|ܪl"aFMu>FHhʜ)yd5m2RZ(RuQM[By\#ry+ NNGEgg|U$DrWH`BGAW>.Orh*G;rE(/zHZy}@>c">Up2L~314<ְ8 gYN:g6-_Y;vJ"3Ыs;ck#vNCgɁ|nu} ķ2pq"Q3 .p;7篇&|_|Zst,H15}5@soQNt(a3F i ݡH߯Pnඒ"hKemWqLY¹E/oĜMʃނ|,b Ѹ\ ܘ󻅿/0UYԾum ?jĞ~٥MA;8WQF+W*"dVQ-em5֟e3v8B|"DqO E;~Ig0!4WOP<I.-qM?@ L@^aGXk '+С Ql31h@8mT2 ,:AD#N#ڟS)A$~Sjfg$dgo Ļ"ejܿ1.XÔ95~´U0_zi?89Jxx>7w3!!z:Wa-R5Ud t ;+Kx um, v~TC(0L.3WA'SߴW!C4`kǟIUޠ{9JRd^}clA~F-`z]@&e21g2[ d?aNA 1%"1BSKKR͆mi;6)| agW(zLb{P8r`yrQf"bJ/^YQC/Wa,t0L5;o񶴯aep(Y.qU7h a#gYh}C:S,G1( ŀIitニ>O(s1 _scLx(,AHUL+z2g-= BeXEϨ}havxz&2D}b)T *|Djf&U$vW׶Q%%:{3pT[U$%'; m<#yH(;Y¥-OHjXwPOa}8/ޝx 4AfMkHRYU1{ngӣfWQ/0D&|azI[ב7.w_[U,%Q*AdJ@`ߟ~g}2g;`O]ʇk~Mb?ie:-T6%8EI/M䁿pO(]E+ $A0ĈD(b?;^a#u6j2:S1jɶOJb╍ke; rwOP!V0R6<ژ5Qk QG'3i'2ޭ5ƮWl8r!ʕjl!g (1(fmi~)txotwΆ 齤v1}5 >'9u͔H&y"gwʸZ,FoGhk {J/tS¥5Q7MtY,&P0oi, PO}}*! mu!B.{io/{`Z2a/]OQamMf̐1sFÁrT?by^ sw{Q7LaV$0+PT/񒝪X@<Io_/&^́sr=e$P9m9˴gC?Y?B~>IhH%a+ȁܳeCJqx}[PqۅVhKN|"`b=1C׸'ݬA[Q>= 5U; NTCNDlQgӱjsgaCOL(rsg6Xx$55aK&amϚ3pjYXU`b7I)UϽ>&'VH%mWؚI=Er:+>aOPqu4j/Y{*rW#õcj‡뺧R{9.ʆe05}_e2~SVd^yf*-sFp_ń<5}௏f={ !ӽj-9Y':Ѱ`mZ@/XBȽ~Msoup-)%ӹo9J "A(W gvƕ8/ K#ݎ/"HI?r1!+ni` zKmO(XWcЦ9RrƖplf(ZgQu%+Ii ~1K4&*6S*fL3y/GP27'ZY}ϣrD|̻z}t[¯׈&P[⠐miǙ-h`R+ ?-.\{n^f/%̌%r/=69!%>-q'7$Ҩz½UPkfc!V?46(\fvgXT7^'=Jԡ$R.齡i<$wڈ'&# 6ҚFEꏮNeߊ1OVHk#6ܼ>5-8Ѣ?|Iff:GLf$=.Nu8^nmYJC4zx*R7C?2( j!aW\ UAͯ!T}Y~ٿZ4c}TF]Q@#χ1D޾Θǩx_(\= 1솕Ɋ>&:3@bJp>}?^F2J8R`xi!ށk[վ-!5MS{wiB= IͽM/'$ݽ:IbyCHz-' f'`&}TAc$rKHs͓ehO! x{/f߼kJdVGvDCB:Xz O'@(N2c@j'o(&Z'V /u.^I?Mls*]_K]B!J4#_{+ u廯h3G@,¾Ŏy[W>sY=^1s|k ͧ7KЁR$g\$BMUbbt;T0ټ}C)wh^/@9tYƶKڼ!Ş2 $KPeD~Iot/S,trFwA,wv>PaSQ$1.|5ߗ>c=$\ipiǛSAE{)g./R}tDLj;,y@y.hmGmǿߺkD+^#Eۉ8r6}֯MWD9G$ 7%!זH¬$~d\~sL^`t׬ŧ=*H0 x5/Q8̢[S|S a+!Jt_N3 2O ],׉aJo_UIsk;+/ l^aqe\mE4O56`Ϊ*Qbt^QZݗ3gK43pӭOIk[XK?E/ Zx琱]~sz歅fXmR)nÉs'z!6'7*-m(aM]E/OT*PA ?ϕ'@ ӆrגbWt+d!~K^i;ߑ|Yd )RL:i FL:{: C:%K[L7D@)cǥ'-n(3ZQK~KNpwcx"`N$]b0B+o5(5Go2o0YP, o>W]/AvzAS$][וA*jND\$r6Yz!uT'ғ $]p9jS[ƞr#2JH!iVqEtSI(6G5 Ɠm(bE ṻU 8;J (H>S6yݫ6m Ɍ6l@l$'j'EFG.+o'ɢAz>7H75 AZһ/GDeI|  ;/紪_Q!CmZ|}dm2 M8۱򗋎w7[/rΖEV=?/A!! NLHKHܣ:j톖[FxJ7f{\Ku;des(5#Azl>iԄʛ>k{}©|#.jNmD&eӰϬ<疰4RE#~,gM3pK J53%A+쨲:0:}e~>.Ox!8YV./1J[~b]@hCԩ$x|6}s+Q V'3sC=tߖP`BQFrQ/51&nj0}u|哊^r%3M`vx(7hD> ӽ%3޾ .uijǭ^1f86V?yRGogn@s)FgLn/uTi+P۠EA 02"xR@ (}$][m\XQT,~`>\ĕf&MT_^ŀ bq|,sǭ4v̓Ư/pvwic FɊq袺sHIy|Fq[<эk|uػfW$=dnaR?,09s2럄Y쨱|lg`%n!K=NT_woHE1SxTABiA4G?gfkOPRצ^`8@_##ڟݭs~t#u?>(L|Q斊S[} sg5:2;dSw~3+pf.I",\ Vy^=4њ؂}]f$iia.{bT=GlJc3C]&loC*>snV`قd#vbX~8itK!88E&1^{ќfpxiicm| V@6L!<524Ra"-$?A>W)7냮ԯeƇsP, Nㅕzp'{kc-fn%_-B͈~ur!pnCL:HK2{áb XO0.5y}\Q_i;FBz+[x V+ mg]Oy0-q(C;.ЦVV!tmZ[0WH:3R!zE~Px`:Tn*f+T CaΉoCK mWvf"΁Sf&&џ2% DE9.w+H 5)-z6aUF>2st]z BigEz&ސcijEMu$f=~S!l?^VBhzW+P޻Vg |&ڸaedXי4ֶ8*p.8'./,$[r\:_/ÎeE!2T$CTۖRGΕz+:/;BGl֪Lz|P T]n%ȇ,_ x ﵻ7o}N-Aܲf}Ƙͺl2ӲiI7F3 -JN$c廚9t2'$ޤ"eQM} SzfT]z4| $Wn5k˺K 8K{!*vhl}xШ|F g%fkz㯬nxRO\Ej􏇚W狇=8x2S})рWY nĿ>HBR7ô1bnԍwv'heh" dFj!0Y-m]kby>RXf΋a_ o>[3xpm?1I;BSSG8u_j/h#M{1z }67(E|%,UMd w"e㶹:AiIRTBh JФ_rs~႑.g?&r^9]Hz/zF/xpp#H~l_snC&\=1Y飤r๎oHbzk(.ph,/rhsszO9[f&~lsB/ʡ+II^xX-h砭^U {~a_#cF3q'\TOb€]u?NxW p\vn^Vy=#r_)PA*}A$R<3@meO8$9 .T|HkG3<ɑw~݀ *q 98̨U{U6Ιٹ{Vʍ[0xИyA3u<*3 e&FMʽXq7I)S&:+ђE#?`l"B mV V_^aMvُW[_JoX#@UqSX֖ehb("^f?xam`/w%ggpf![*[̂]xnRz /x)T,zz>,kUF0Rq L1~48Pմb)x[0fdG^&\7%^ !x-n훲"t p ,{ҕ88] Uwt!(.ToUl&5{q5į$qqbǤ#!;,Xr<v[Uٌ/֦͏s$(XXL@Q 5d2njMRJ4~?fSV+ZT2WolBf|";T{DDsыYS[46ML1LG0A|ϘCZY >|z/k7+=HTؘn!j YYpcsM:@BП_a1i=?K^+/H|"i/VX_i*.L9UE ~5|.Ȏ-%2MZ;iBWokWcǍ^NNE(hzvnD#<)Z.H9cnho~w0k I$_zLwK#"M]JϥJPļ:s-D'霃dc0=[m^} ?ƗG%U$Q#=%D`[>7Oа3+ sI 97S*qib'rnZ&:.g@yI>~cI 4_i7H_FR?x TZ/1ceʣLLߤʹ7m+ dF_:0QNRJFf"We݁nn! %h~*u QR ,p'f)cύ_"0Ϋ= %?8 KqB |}>Tw'p\JIMޥb8}W'a@d7iI7{<Ti=+@m{>uyeT͚* },S|M#kwbQB|N;Jbxɔ0z&eqLz ~ TI)`O &b}/u#W!E! hS9[nոhE)?g=w-MDwXN38~[9AFPR(׬Ԝsß:Iѫyi{ʬ.q/-suLA3 y4~?65 3!_,115GWIF.lNz9ͯkky"),h{|.=pވh^ZɾCoWa}X. lQ?1f"YQ"Dыxc5Jl=(ʰp-L+ӆ$_/k$QM> wdU]wId "9P 羁3CU&܅ ́J'.^4C(Uv-JvReA/qϼ"+RA]+}; [ A&S'B^_M(-m|㩼fo{}j1U Ҹ6%]ί* {0a"h}%T!_*9k#d/&9,wzbKH;N2;ƍ+2UgG+ɳskSٟ_K?>Ģ*Ɓ? Dk7)^kuan>'w*fL<6:qײX ILJ}ZߌSTӵeqsp511]"meb4֋΍>H!Q+}..CY_Kz$tLu ZHe硢d›ڇa<"7_[e|Dݗ&F햨t&p ærrtuAh:^ou+sz`ddWniaĿT$ꥭBhR7! 6$C ]IZ_T<*@:L\}4>nh1& /Mr ]܂^^S4ـ_){fdwsQl=ѣ]esiI\}AE =㿕ߵ(J1c<45de%7byAzaB͐Vcž)Y[CކjrtkM-ƣ{L<=>Tqbow+B?G2G^3r!f.HW9NE~B6y5yzV_ڋlp~ Dtneҙ^5G:ɾb#ă^#(A8}B|I;ŧ߭]nď$*x*TSJGng?:LdK5PؠCVDV++p%g}* k "ˈOfF N`qWqۛJBytķu@K9pM_ Uǚ\~/$o6,~5??i& 2 Y-P] ^剑M+z3z׎\۪xk`i +މW-=j67>PKY}F5<ۮQymD൏`$ס9uo7`"-y~ FNlg^ ͹:'_P08'UAjr", "cXҹ^!{y.]2aa^=rM3 SLE| qRD=l'•/"% mbl0J!_^@DFžS ;nF~8oU>EMW:6/pz MNuf2eN wb05-ou?+iͽJ_+_ \aP IQ{6V+nc{ayI7ȗMغpCE4/T$#u/^ק lcJݤLn*F5~͸Oz,2qgig|GHW9r2 `g m.H VCۉ.(XrRl&㒭$\Dh? #l+qMK=X aM}:WZ{4X̚F{P7uFz;aO59ӚjrF͕Vt/r+H, dP6^Gx!Si960; qD+vA!bSbXa_zo|$;5W[GG"oEh $ͳ w,(hVwڰ:N DM$xŽ;U"D08e?eZ-!ZioeޅÍzkUV;F_A6y/|ID!dB-o'Wg ޤ\zaE#{'j+QRL<r u{kY]$u҄.;w%r 'J>JDRG9D1e߹lR7BIR_ F"dC}d'2;p\In^hoJ8хXxWTP)dfs}ߡ=\u8c bX_W4+8UrUDRya#Fp?S+*tJ0DdϷnAZ!}.U`Ճ>8?.6%j#0 h|Yhtq2 Fp5za{/m+"w6s$馚[Gq75/Z<RU^t'ibctk%kxD ߫vb%2l蒠c'/˝sOϑF^ϊUZgE/Nl$EtXE CQ򳬈aWw[ܿo0/Qi"ʿY >Q@?C4L(Hg?SIBdy_X,,>n &`bÜAD}cs{NЙ|k)Ky&su1 40'J[J" [-]oJX-pT2xv;&(L{Jq.XM8B/sAvF<=e@RxF3Wz8jëõ5?c޸cyhXzՔz? sx>} E,.zK(;zqn`pXiOa/],R|mQ; L ' X"b,Aljs3KA+ޛiUR~fYKSiʀlWJުitpX}^Q ͯ$@{4;pm7؇`'up=M!Z,F-2k00}/)kxG  8TVO8𪫟X@\Fvv :/H{^╕W )HH}!zI/U9)IoII楐,I,˗g[V%OT8 <9P^\ԅ[WDMa88˼FZ7NR 7HhU~kjR˻F*.}؂ 0 -, YNpQcg9'7wD1LnVڞWϪ6.鿷'E+"c:;as:*jqQɆFzK|+DU@[d:%wE[#ʏs/I 3T*.-2cp[/WDpkfWM&le {z> E²R1inޟN*6p]q/-}Ջl)Ŵ J)W 4#c #-O~_~bүz(+<֝*.sεvR~Q(A;.:O0[N/ZaK5isf~"n +l"6 @AIO+6ig:II{ N*^4)~Cc遧­v*Jl:uII#-䓶dy$Fpz' Ꟁp~JK&/P87 $|e 5ܳyPy%>wjjl1) ^7] ] V1D34N}\PJ Sw'^՚-bPbM^YIy'a^W֦ut%{TʜМ 0L lϓɯ㝎"gkyAewKV0ؓ/|#6`/ m 6!죳s ݆|.6,aRl!>4mhgDJW?3~p8k_]ϴ@REy`Ӫ;݉V"EQW.G-|$[ ^&F?CBJsĝnMY(xlf/x"ϮzTkx=k#"ƴ='ƨJ4D& N- \>%N`\juGWDծKL^ޜfv_"(+-66/]Lxy&V EKτ+WIwbPӍDdJ8}@cM5 J N4dK_(xiƮWLN( K [ZR0Ap8ھ %?u&ݢ=R4Ğ.AzL{{uDy>7UxG/<c7Mi]Pi3yq(y#P Y8r餂#S/m3p5,BM fUf{E@s~4Y\Q|)f^(ex؉NRpW  uK!cJL4R&G2zhF%VG_~r_s ]j&}] NZtnbJiꐐ9d>|0baʑxRv^QoɧX^ZK5[ Ȋ^d\Ѭ']fo?fKaHBE&?S7ј-diݵHE҇+f!k I\ۼ+0e}}sa[<0|V$P8fl)k/3:԰=W+#{{^@u]c})6lY1S!x?$""!8$]xFS'kQ>0:>5‰( S|Q+vزm.2T| (b7> ,=Nί οĿzSvJy:.k`~sJ>f&DFi<}7e!4X/b^܆)vי&imq Na\wGМLE[mXӧ1=,8]5929jQ\ܸ5S* _-3 tP00bJFB$upElr\幭c،GPF)uhL;+Q4|>U'ıQZtiy,), ~?7o76.o7z*lK7[J2ˡ?Fa*lS?7ӽM(|+UT͟Gy 4HPg֥(? 5|kPA#/ 7E͇g5t0,ʼn90:e b:߉ +}PaS+ he$: MMWCg@H,>gKDZU;d 4n *G2ȽN" 1ݭ # 9IO7Hki=.3 >:׏_d @. ~P~:g n=L8}~ҰіU S{^Pe&(z[~s"Hj "h gފ&;E<ArVM0Z=B$ǃdaȏ*Z h7=~ oUyvT{C h% ]b~oFH[$e g&V,SwY pAAQC"X!+3oRm}18^yXMo0qi8>ŝQG!l_$M;G+rrܪ%m],ŚBB+Nɯ>cҳm:*œHPhmwǒKgzHp%R BI]2 z!דX}F- +|tA 4~ { ݡ8wJ>>2ү Y%z? bxZꃷTDzSf01Ȣm<^o5CCnA>3n1<_1TSbB (4N2:P,qe'ΫI,m˹FpZ6xuǕL1|HqZf@v ^K>&&*/Gl`BoNKUG ϐϑ# x_@ߥL'`M y4}rM։k@A>YFggn=TE[3gaϸ1aK@H/2HnZҹ [yt{I'+⢿=d[(?ImA.|0 4{$ʐJxl]LnZZo~@dz)Rfb;ZYW{-6^y;n[ nI1 eZtlLu.c"vq`V.yХ\KgV $Ƥ_;'tDĉ}k|"M*<:$t`& "mAҧWy.$y>lFRGi3w+'/P^CMT5*F\]T34Rş<% U^8TmZy('<ܷt=zf/1x|}Dq'ֺ?[" eeD r6n#+wuP9H++Gde:5ƱKqN=Q6^'ܧnh=W'4.[?k)ᏋN͆?ֿ|c)\(e{3a+ǹ:#zrCە;s%4E)(79@ @դJՈ/-!{2x𾸈DbюbÅo*v"lTٷ%pQ9e/uu2-?Bl>Ţ*ɠ Jp2%*8FKR`F0=_=܃e.f:ӗ /q⨗s).zr7܋V(/r/ՔТHL`l6wfYrվ(?2HYҧ?[^ZȲڷ1 ~|n5M93z}ͱtDo඄nEߏ.M<\}j 'H =ǞkZ¬Ohdj[, ȗy%Qlo˚]p^ /1Q]Jl,a<bϒaqpy[;X9e羖_^*K0a˄7ۤy$L}G Ӻ9)7[]C3GmԖC:, j\(e9$u0+R^ej3I r|q:57AW{l2gI/ls2 rS}GN_@!d @GR!V[W*l9uݹ$OW}~_ݛ?y`p/f^R8V3oC3%@!n j֗K !_Ik_I_y'fs{Сwe@\܌8Ge+ZGrh?qQa 4z(otӌA Iǣ3Mk('ۏZB4Hy4O\Qbqq2!3J vz{*Df·(ǥ3EmҜƹ>]__L+[Hj=s璙=A_U}F&JXEE-*} +VOsdkjzH` ^o7^Rn=;>bᑎN*&MJxGq`KF&B6}fUk^p5uF6.!ͫxB2"v61ђ089j;`(Pwh %@-m0pFIK15PӾϯ?za$ʰѱ0ujo0ÿ̕y*!_!jXcdVl␛?6g3xy-逆N-6lͫ11N'pU)?-MZtbZ)ac^_4v ](M"icw^ANU\͸;Tt?ؖ\=cH:|]&>3Y+q%w RP44GS*L3yE@[_v6pm- WoVU# 'I *_k|EK{X:{^- W`vM̱,fJ/KkKPat搕(灷 ÇwTvNK.N k3lfyxG^_Nw}x-@|sqw=>!onݛ}mH\Vo/D47nG|Z/$t":[,]>z7fw ="KBu |"=z'D"w{sxX?ӣlpBBD om["ε}?Ϡ&q4 4b#RX˴'*2: '^2>Khy  -A?̈6aSM| ^W{Ð=ygĪRoz_3:-}9aAk~H HW|Bq7?M J Ib)TZPD(XG#$]v(}-C/{ONGd$pOQ_Kb6^ؐ7ՎwE: a\rV|ţ`w*68[kjQy٩DP~ύMטn)wHWiWTp.;Oc }7A4ѓ҄ vT0;0uT*{MQkwf67iGlZkgIw]oПkP͙WE,V MDܡ1WͲ=UVL-ytiHPUr:T u[jdrB˰-J0}MfGҴBǠ_O%:iR@6[_>dFۉT!qѠ<=[JkM?tNt *)K+%mkΉP ZogbUE1~jiP"ֲcRR, (JG#DXoOYCSgyp FϩA%zPaMd:K'ƥ NoF}O ]srNx~1 weCRas5ޥRcUb*XdoDZ.GН~3<%nYoڵ1ނ]YEJk"{GTܜ 4 Ȍe<4IQIzqv4,*¾^6}|^*˶l <.Nybo9g˒] a'j>YtvI|,t]T>'j?nK6XKƁ!߲¾FnاKw 1> 5[2xF[6-; 9+_3C&xSg\3'̆?YHpuzHZnGdR~)H#l<2e6IURF  6 өJ "e={=)-'L)y {dV9lLod77HR¢kDn?o>7&J:7!UWo/=,1 CqXCF=Ny|<X׉:ߗjd疚Tf)6UudcLE$2`ќDteP=pY+ 0rK| Dѕ+T@"s ^ڇj_Zz.0jűe_Grt'?ȿ^3v@*'[2i,I&d^Cuj+-ĺ%q0/s`=Ȗ `o94x̲sQ`2;U+4BbepUKP}_׈aRTnE[!OCwnKhǗrb}.t'(LS?@SjBp(646@l+ⒶsVǀ!=ZZ nI%kX=8o.1Iyc&AyO4o)ϥ@o@[U}Xܯk~nH-7i30GUxW=j3Y@(.eCw19bs"-%*4g.B8]ΔTC,}8E䃁 Brn3u\SJ1uvL׆աMŞaMMKXJw HbZٚ+11vw[*X0|),ٛ(:\}63?9">IQ~3#[>Q@&){/܊CS!7.m!(QCK I1üں k%G D`_3J+,0K8/{2|>4pi #tZ~&\&oN;㖭sFxj,nxuTȚ G|MNޠ/oT֛ :膎C?YSQ|c|l`p-&h .JدIZTȏǔR }h,t5Ρ0` εgAqfWoV)$>i7–7i.9src㗖aFwoQD:V0iÒ8~K;ZF 𣴔6VVу0hZ97f W 84 RWĎnnYofӈK?T>4so2Cã}7 =QjŸ[;~&vy\4$v lZgG|弴)ٮ)%\-Kri$O9y8؋m^lj'׊2`b ?ɪ?Ⱥ;|5_07wQFvG,&C҂>aX)/:k39/"RAt]Ep3qJlJ4,"|T:WXֹ$(b( +jl.b|G $x?8-dS=`=*F|RvlƸʎIgg:*#toz[GI|/ cO' wr30*7~ru"'rDJH b؅oX))EL9{lpma+峟|P~^rMa%GjI>¸_$"G~5Q>ZFײO(>?*vUp#5Ŀ#?|gp37!-X~}6R^ٓdDpeԺUbd"]xLm0ۆ4ڶq 5kLT K>(.'NO~Fn>5i2(:Н#ÜuĂ v9ymge yPV) qG1jo$ʁr0&b<>#I] k.n}iىɩ%R##E_E*o do /;xy}k~1pZ둪@?GxwQ@ٴJ㙴'+|%'+ė3UOBddfFsI=hv9&#F; "`UX$KU;SA\Ѷ9^ÛOh/gkuG/uR+T !ίc6N" =3#ss 1gov 8b@9b0c$Ü*|cdL4wam1ONIu%5LCQ.h,M>kU~9(Cnl t=7S!̪x7  YZ?~]$++AC.i®d[*!_8HC uQP:֔I|'';CB3fzMjWcZA(O8:/LZYZDxv"kFY϶އ)[bg va~1#1R;bXlK%+1~gpƖr<J!Y?(w73y+jk,۝k"h2Ig=REbHx<ӛ~H18/ ',_|yO̺B|_M[uzj&\i}\\cx;і<FM`\խn;D~3Z5* 'l^ǽx2 2b6y`Zvϳz{c8a-߈1b!+z4߿ &`,去xN8֡Tܣ unY o3cr~>^;FjFc snU(Ar[m8{A[~noMR_]]#Q&zfB` #0 L΃9NtcspJ>Şh_ŏZBKaiiUtY&HWҵ˳^ݷm!7.qm{#rV޲L.{*_]}6«gpIjvoϊ'5({+H; ;›Òʴ~xB8BsqarY2e'u@jܑh&U#R{^rvaVBR7tocU'nBR tBHׂ 9l".3ۖh:fYV:7Br7,bsJ ^|x`i>E(pT |TplH]Uq ,d iEi>N/^&OW}mKnRkwc'=a naȱ1)CiL,z)H'Fha Ȉj1"wKJnJPi*@}{˶9Uq=bT|aSu~BXo-n+>ԕHc ~Pa-RDY J&wуoW2i`nC ^MŗNN5]<@rFSC,VE FUn0g͂X7+,ӸagK9NŶ<ZCAӕcle!?r*y!"XE;?꿡*F.( f6L='yKUfs'g?,i~} xO3l{vo9H!+_A\7 מ*JٳxR%G.(byk ߃ ts()7֜r+̑BzphR{TYJv1 :XsEoYQqpǔ*Fw=ijޥd }{H5rÜ@gڼ*,_g*D!T寶3"2f-X 4CF xUa%h랟k(1l:}F oⶕ|Fr`qHv9/k ֹ" pGڊy?ɮ ڽq!̛ѣj$bs,jR]']+$-j&k;+=x sa!N .$' !zˤ IE3f}üMxƕaX ftF$~¥EG F/1"w P0A\&PCW"]:"0 UsHU+VmQo]GS _ɲ-b8vTO]+}HmUt>4 Sߤ_T[;f&ιz YvJ{5胬[OfoɭυQY,X0Mm >.᧷XGLm[_X睁 nH-TuvP1os /2ؽy)$|C]V,1_;xXfRȝ8u8P `K7AbB.,YpmKiLۗ}ոlDkϐT+ѻLg$[{;{cod f2!VkhbT?x|q&- S9Gst|.O^%lF8 )z({\GT'#VwGO/d\?s̀:PƎ I1R sw=ۭ]9Drхlk $l"åcQ€zNL|}d=n 3BXe)oKȘp ,dٌ߉/ c?U'<Fm ߗM7fMm/Om/^di tPSC̘VcqRFO8ך ;_Ws܇aK}as'.W[ar%3i . _nl}.&``4^V.pǹX$< }‹ōr9ga%o߻pÃD4MIN1U ٍ y> Z)"]||]A}26rmI:d%^M ljEVf3ofl OH1إa@Utb|`9&KSع`};n XVւj>LhME9  DfDȃ@Ów#&a;a`/8>~}K{~ꙛ tzœ /mTk+c6tׁ'%v 4X.'7UrvP$&BJ&$2[ugSS>'0ʂ2`WA$CF\g6m38nrusGMh~Ѣy`J!cYbftAVf9TP;TQ7sSYe)k4~tqEh6j2.>9ql \HA$)cX>*G*a4tO2D׆o﷣fYr.)N+ 8 :@aT;щ=oP=R~~ D5[ԋV*,ǒJE= % o/bVjTu\Tm #s$iUtsJ!5GОwu `O e8.?@t`(Ԉ^Uc:`D O+A")W_q7O#!#GU)a&"S^%J\Z8xgl1,udV Kz RIA7%X}ylYzc"/8-y8ȏ^B0ڂ5Ybh|nHe-[-e. ֥sF0c(t/]:?xufJ1I|Ffj%gmu!H7NjJ+Y}0 e60G'6B3ڔM*GgQ٥uZK$H*]n'K#Kg>Y*۸V), 0f u gG,1E_%J%f>'Y-RrYԺ}ߪ:wqRsDSU w$>7H+E5t% Ko‘cr?@-ONUgyn/ﱜ8 I}W8/ K¢c n,Yotbh+I} V1W vɤ[!a|j@ x?$Rwm7/v6K#G (tg>~y T0mG2w?ڌU13kް15l#J 0ׂU`$6G/QZxGt)U8 i&?)q-> u։'"q11l}o׶񐶥IӼ]o$O,:߲&gV?w\tFR?}hF#$?{SiTрrkP ɴ zq/kG1 ~}kDπ7; *y|y䇜a >iVAK ?N~qEc6O᫽PO-4jNDZLtoPCyh~@8j.faP3tqV8b2gr#b}C(|}҄]~LjP4\IT;'7e U>^GKaX^mPz`o9YJ/Lv*O:o. U*j-<>},a=x-yQa3ɜTE:uk"kfܪ?!W6!1}R"|diYlGGT0?`H1:fPp*K6@;Vو&X@J1T©E-Wx[-~.ۺyo(Rv)eѤϧbؿ*nlYbs8ueXC|=Uɮx3)̓Jp4eBH5"?ρ,=Twlv׷}VB`j(.u>\ݧz0п-)Լ{r.4?p6pfR7,-R%"]&lװ#ɝ ν_{"&C.Ir?$oa(P 'UEѲkUݨn\;ܿj+ ?6 1vaI_w>B9K=房;-e)aRakX)q Ix%drZk"jaƄRK/I _&妙{}ܹ5wQ.KVlIa8'Y۶.o|Y2h4Ƙj;$bu!FNҾ9VBaٻmolS;][=Q#kB 2Yz֖|TwG<0+ 135!N݅RSHؠgֳYS|r#<7FGU%$8Z4rTsI>.jZy@vM[қXU B#ƜhM Y\ L_z1Nrr.$wӧi["qr2FsGɴnU24qRׅu #{LQV@5mߠ-IUNuw+ `ZRp0;?l4*VA@I y7XV@!_r28n-? I0㹞!c=⁁_aZMG&[*.n]sEB=;˝uMnPGSLlȾ]Ӓ:Dcg4;:|PDQ$D^:8900aN|YWzL,PG4K-lhedUqn(){ӯxp֒;w}C + )ke6)hm|ؚTk/|3Q{ ߫Q]c JD'_ffK6bx~7>_FtVRcHYiM@s`^[M;cJ(藈qkm#H$ @vNn& I׿ } VS>]&B󺃣/l=9P[*KxK}̻0xkJ9%^ T9v+||B127*.B賰Fi~[[! F1 :TH̳q%W(j~hJ?8_M;t d|v;[nuCMmVJȋW8u'/p/Ϭ 5D#XFqW4jY0ZO!8G涒7vȭ|[8Y<+??ƶj[ORi(\%4eҷKYNF%|Ȧ[F>ڝ-წ M~8 b][?}+*-^gENb׹YLTxa{pj2߬o϶?4*.#9ߛiC%ߏLE=P[km~֜sX+~8Gu{@闖CdF՗c(umjJ7޾gAA2K?>»UoxЦnz%gv$_ZB]*eP7#?&@hZX2 n˰2<$)_>/tVoa)⪌΃xE'psP6T!3ey \'~tfFdלZ92x5H.4눔~? ! }O;rK̳{Xr(u`Xlιz ;'VnήC2jn^{\u?{ORgy${jru"@j9SCJ%glӫœZz{r&5VNBN+ S4y=(F]WXVt~{Y"yV&]#"* |Ibk( ó5hyǓ<#b ~,8.O(v` 6j(4Z뫯\ԡ,_̔ d\(2YL5}$$ȄR˳řf634;M='o>V3Z>VH܃ojqS!ߥ*vV:_}50 ں+Knk_m c&*F6c@ =UiITGeˊ9Ԁ=_[=Z-En*[}E -h_q6Hj=ّA* ,<`ظ8d‘H$/hҋJ)~U#c? 8lPVN(-</#X?wI[T6-|ݫ꽮+'ն@FޮUޓLi=#0Y):Df:꺺>pAwAܤlYZA/4~w!h1QhR׭P3ੌ  PRǏib^CwC:VOx#\p-OO,Iu(OwOKe15dE]jCnRTƦ"$;O~#8OĽީg]ʰ,|M#/{ <Ӕ[ Rh`Rce}M̱X%0R`>Q-盥ts%ώE %9}D<^)/QJݬF͢j]kE Z{)W؈M7ϻi=#C\Sm_5,e\7߻E/= &T>Po"FJ uitO DDp[IW F#R91*2Gd)Hy:c3U)+уۭ{.UE0 ^HV zue.L8}:uQ?1eoKj%;ߔGn`slÄoZxϥqxEJA}ړ} @iw LjKe t鉛pDޏq蒓j%ǃƢ58khzؠBL|5Ʊ?_'Kpl0Ogf9X8EyYw3dM(6QfUvK5ؙx1v^ݮ=I|ii9=od*KDB06bc B4By 8T$S>FbRvaW-)>d]𮿫%8b}cəX w'N_ ҕNQHКVpŌVU}b9#=@2 X{;,@a 6S yrL9 sԁ_wRjPA<PH`cl`F>|'Z¬/z,> ,bti+w!+ ?b7UnI:Z 'aﳇiNoIŇ8CeeMaFmqHدD!m +b鵾V}S8d "[ 0 1(ͽ\!^G'Z-x;9D7R_fz">k!itȌGqXs5ڦbk1)ÓQݞ*Ur~ݙEF]"izB^PT"%I݁g/};B ?@~-N8~\@0 ٫JjV~/8S zS\yV\T&e A*nÖWD7sx-ɵ]AN20 P )b[8P{]SouDJ^OPb8_Uy5tD|vp<RBI@jޭ~=cЫ ~َߤMɿwQ!7 DAHsB'ô لG]12wG hv T~q"⧟=H$S$_Yy6J4n`DBs8=/~Sk]'{8E:W5.I+1i7&<Yu8EZ,!Tc0XfRr k[~@mM1.o|FédnC(,08)ްʈ6/Ƒd0pvH'rNz4 01׮ϿD?VtzL+"S/Un#0~$BTa4|y:߁߇YMvr b PWO~whส|c_“9) _8hE/QO~VyL~Y>TSOt~iwR֛I]l E4,nɎ+e21/`0\jo>ǚ_2ZcZ k͎Ds do^@S,}}wU4&ga^~o aVcmG.lsv'v۱S bv>cAojO+>uMMR{R [46@nt>-58B:4iG@MI'n7A"4r~;zXcFiMG_ O .TVjK޷+b[V2 }˼}Mn w/_"NTSF\=$վ9\Tò}a~V_4ڴ2t7a m=. )C92Zk|?\(TJfpPa`wf])),HDct>[Ïw*JEcAhD4l5%y/3=gKq)Hfɐ ,<9N黺.̚9*_'O&|3sF2Q]n*m֥{9Ŵ)H>$LR)@@M_ a0"xSxӖ@;h3VEaxl^fЇx&wڮnuSo_%6<>+djC3bBnIZs͎=入>Vg>%"gG-eemY1D=8> LM1(PuL,~]ó 4MDۀ':.fn ?w:CؽRm+o}lO-߳ X|.RZ#HfXErTAlE OGUz W/pCuhi?`MkU<<&"{$v{E=S:D.aF'A")X!byyLn(>m.FsIr o]_X|u QT7`+aD | AU09 ADZ/~#d]]闺J=|HPAU27; *W\}ߐ J:/z!(Rɞ )1w Ph5{ѯ2Cyq6q Ih8fY"l&yq&!>=Rz6MeBn4GroN_@ޥi!I{}<9V0ERO`PwF8^Zr8wzNk?zb/F0/p}kt]BPq2TOZ&^gb۽%r$:sޞ4><"{<#hNe8enjF'Tx E!630[ْ1Ե@ngȾZsc|v[z!:M`-n$r] y !B~'cPG*J]EXũꂗrP0 )gmMv2^:ap ;hə|I8 =P?3E.r5ż+*4(; ߀*4|S Njc1ɗS}ڞGwQ׻pƪ?T1_h^{C4ג~u\exWEјI-_,5-N18y(e 'B$lw*DaIʧ߇G-S/W_nL= Az##Q{ZSeIadtNr#K\kx4P2|grMBx!{xdPvȺ:_ڇ!BĶ*k' #b3ec?!xMsp@AL<{{"ƎOC^$1adw%gkHb]ZwG>E|%s7iA8qx-=Ǣߣ~p~p:ENa OGFs,3WP!Wb&JjV?BgЈ( LrOç6p*yE4ѭy>Kb( 4d?gqcL1U2NDSJnUU ĐFl-xm^;guӓk-!׌l bb&8l{(CAA|7 W$B׹:^B^X #+Crv\-P(T]W| %G^YȽƓ* GOJ:*'}S?#@5 J'_ ]P5/Jqԧ,(n7(ߙEv27gjh @xt>7 (0QI2\Ko"氿ˮ5Nwyz7?ze:ݿZ rkE{(1W,[rSZ{Û~lu_]sQ>zsț $>lu4du0pk܍>ϭ;u Pr{cD Z ~Xأq_2HguOcb\wGޭcLj`UfzҖg$NR?dGj-r..aKldZ Dv8ت/Ks:^u{b>}>'R7}xu{Z` }SFW:\+!E|=Tf~I lh-}xԝJO+w HN.:#/跕dM?Kf":LвWS}P %";rc@Ņӥlb{?pIr!ӣ ䷠0ng&>*ǵ-nvrϗ.q'(Pa'+]ڷշ5{,?Y0)'3lyz1hv2eO@9D.c{Wq*>Ǽ&ߵ&{Т2ZN(jkSZ+h&r׫>.r)=_&71n:=BւqA)s4o5 po"c3~ >k8{|\G))XN713zIT 2 젴I&x+X.ϓVN#?lZC2+|ERZNS+ʳw|/K53sICg}`}dQ@YV,xM[>V=KbR]^/t:ⱋH #ozؼF@~=m#zbx1X;Q[fg0[p/̷_MYpvlT(ۆKCӅ01KYP#iM~7-"M݊bcNҏ|[WןV 3l[Ǿbx+%xC<ݼ10 zQ%O=S%nUCfEA>,+/h}RHD{_~ KfyXf@kdrI; <c[ N:$-&Il#-TUXj TOœ9%e6"Yg_ƿw~_D_=e{$aSߚk}<m#yMk )` ~KXȨna>*6NG8$gt@m[oW 1m{6kϯ@ͩ[u`s@$D$l!@ 9eK̞[{Hl4ۉ:-6a7zVgncl-ºjWB($wFl`CKӬm[$Tr4Mҋ2t,`8;n{{b8Ll YrvZ[.4fC)`oVszmphJ.]FRa9KF8aa)U'ka\ b )ѥ%TJmˑ>`ɍ4J:Lz6q&|oXq-wB*p|a'`R8q&DHޚ;74=91%T(}kBHx;㏴Pd9y6C%K: Ke75be@FT2\(EZ[Pqdog1jً1 x-{OTJ7d>թYִo(y )f驽Zg5Wp>;Dt 7s(|[ 1cx5Aw#0U.4%˞bbj6 Qw{w8Zl5'[G~[wf9͓qEP6:,WC6^F{Wqmzl$(fÄ A]h|Or1⡌hR;F=;^߹\tZܒgq=zt >WC*rm*"uy`lR^XΨR^P"\$t8 +ء] Q⒊/W%w=ti9w skhPh=V)|܌/N])ECJ&u.9Iռe'g&[cG ncwd71MzosJTv @X%1CfS9e#UhG#˵8Ir="8]'Sf5DLaӎ,0/i}h |6.Zح]~t+|{$iv=JEb2й}t 2-l,?%\v'DL;MNd*Vn@ۖh}Kxġw Ԅ@]3Gk?]L"pbn)sf侎;u71jbKs1n^;n .cCk曭4R9t^( 3pmSK9[rԞ^nĈ݄ܹY!O/.n2ZϮ<ס-GV)hMlu~K݅:s- 8rwwUިhyH-+yCd&Ӽ1|żS] ^ ஥,36*%xi2/3lfr(g.RFݎas4# lYX~eZ&Ia&yCXTG Hes|qFAL2,gukmޢ[nC#ZnZT |TH]JY\3e:,m{.o=:1 9%nrROͭx(0$hXt=Q;Agha=ȲavGwQݸeJ,Ʒ ?7ak:ÑVru|Z w$ݖѼDKxͤ``WMP#Fx}:pSYuZi"ԫ๭yޗEK]X,vVFmЃRQiUcQkȎj*gH~;UZ\sԧcT)H=Vr,ˋcȰy52e٦W:hWoZ.󹶺~LڟX`v9s~I4\2.X8#'B $.q|w&K-(YQmD3l6atl9SAsJ 5߈Dc:q녃sWV~js3v\֔>zjԙzU1R/i9͚uaݬ f&i,TM[-H/fLRVQ jnnH\|8(9I#n 5k !iҼ{A^6`dU" vP9&Puw$$>w=ƈV }{dD4'/֝Z@J9OM™끡jӤ1P01%L[Zu/K A%r;EEB+۬9As T2E5}VmW_ekj:g3IY19 y[YzhL4jbM`K(ĭ}+̊#3d"GdY4p?R+UP16Q#-\q0(;:J}^55UL:Ȱ ;ig] I`D>Od: ik 2V]ޘPsmJ׽ժYk.DTΞ'JU|ЦYgNT7b7ꂧ#JazrRW[,w}yUϡo欹SpyƓ.׼npq?wv'&w 0; ˄6VjV}S&M-"IҵdC<](TCoYY}LQמ sd[6ZseY¾l7?$qJX!VW%S#(p J+㔬쬞\ RL R6HYxC2Bq:b4Q. 8A(YeU\O N|3e! rag7"&ic5i٬HQ9ɦuebr^eܘo)V]b6Ξoطhc]ؓPmE>+rAJYqYmiZ~[AiNs  r) @7&r6gfIUqs9э0u'|݁u/#B,g*%ȳB$7lY9*LNR6=FO]20p1cAݑ>߭)L-xԚfiȑHlEpw.8%*Qmǥ.,i+r y;[YܳЮ)TʊÑrE0F0ˍ2N2+ -w%X4*P>ZAF=rvcZ*BOJK5W'$Fѿoڲ\ca{*.?~Cʚv߻eVy|XT0/76<,,Ҙ(bx^GW~e1%'y@M/Bߩs*7ZRkWv滠s;2h,~omw?cݫI <?jE65~!R57.?~oCe)a{ EA)ۗ&4.wQG'נ gH!'~̙gu]4A8~"iD1Q( X|1fzd @A>=&|ᓛŕl}H—&(zgه翿oOO<7UfbR;#! cz28I!(x)(AIĻ/#uI# C@IaQP{T9]^\ۡ#ם~fԧ_DPuSWnojߞWŽox>@XcXzA@|øz?fm"OxkEM?߄>z}OT0 _o}C9hq;|%o 06}f G/2qR74`HePq7+ny=n@2_BO"%$.U̿#j %ĖKwM}'8A!!}v_ŹǷul.S>Z>LnxN׶eIdKW?MHkm?^ y|1 >ԛ%>>+;-~2hq( $Á="!I΄0d|`0eGc %m͉ eA~,j;ɝQAd0W9,8K=#z i>HxSH칪~]OPKZ/y#,Ծk0i=K8=;Q FyGy_<(5 ;̇,!u`JS(y7799x@@|(Cw8GG^_Kvkk.Ye| 4|zklq=0"Ic tW{ v>oR  0G( |Sg4c=#`$D<<,qǨoXM3I?'-9eM u6_=i幣)ׯ??[B^A$+4O|x  ;wþ~7k/,^}׫3/,a{)z{|E2_|z~P4*ϭYU_䥡",6gO?o1lm0k_Po;B/L`8NL?o'7 $[1~2vW"w\-boAax#pz{I_%za/+L"mWľZP,hn9񻉂αSӞ"{=6UܖO+ _ښOdqyMEp/ڐ˰/h`^WQP wv _D`z{u݄ۛ?MbABQ:`a=PI _x'pk[zZpz5%_?bŜ}-0̱7gǞ\E|+ۨ^Ik=Ă<R/vJBNWz_ʅ֧Wխ«)SZZ_6jU5&_m{?Z?oAVA*WQi0!KT^Q%\[יko]UğN~^6\|b}矱'փzW(}ӡ7[`8SoY(E_>lu௡SbDkyUWj5_ 7I5I"ܾ߯2ѷ_;l[^`erD4 SxKWr8|_4" ]@xqv0W|/L_pl_ڿ{17` _b^;5M94ӎ=qM*ֿ{/ ?+So|Ò3b]fv{ztҋN/LPXԫNO\΢^{MЋsWEǿҢszq,h~lyMmkgOlWtwko,M;'@R0>3ǿns߻~__v/4Tv?,GS֞_~g>9g>Q~yl~8%xwL1Iᧇjſ:{z5`|@jDeSںW]>}g;Ny{c]Mpo?y7?oG hxz|!᤻TW+kv[`g75](k>WzU]r#mᓹw})o"? IIT%-~ɱ1;O,~WNܗv2?~k{vk?trDσx\QSL*NA2~|oC5p._<<я~Sv dma6:{(4C3l3urz?5}~3Od|ٟDg.|b3k7Oúꧏfk=IO"1F dp@~7/P2 M1$"b,=MtD~ŰweSF85Uhinb@)($14 ߞc(GtG9֯?ީo&|Md &9mzO&*'",2ߞPK"hJ>#ȞO}Ļ@ip, v> saM(/Mb|Mhߞ[ 6Mhxw(ЏaN" G{aI CGLI2>`$jK;}`H GR J0;@IyvCc;4A>v=Vo if:L$tw(+āOqק #+߿>^a_e 0Z]óΦҏISo5F(=/ `Aϟݩ)ܯBS?#c5B~ay _S֕p_n[&peNñ+'хu/ 3~o>)Wy@ jrxP)7 ~E$4O̟4EnzY`4 :N"C,1v+ Pa$b@S8Po?Vaҧ3/t cAOb:;P*)4p{h>%4dd EW_j(ۥəŭ$;]n?| M1\P@<8=gS s0@>wkQ/Ϝ2%w))FiQI3idJԳCvjm^74^ݔnwlڋy?C,߈;32,Sǿ0#0/ ]9>WOcm߾ѝm\;g J8 aMSKc 3PՃy&{Cb-Eud VϬ/}g@ cծchSf~F+Mc|ogqX|HOI&~xZjy?̀c3hZnv-Ϲ׍QvgÇ}Y?|qԕA>^?T 8g>=W{ 籈 6e/=} xIwwRW?_HDďVOIe/ /@ ,Ai>m0lxkM|WpjzoZ/>WSٗҨZ.H=.} :3|ô]UOk.ҩGhR _Iy*ߢYL,0F-CAMA7W%h9KgI csO"7׸qs-T 40]Uꛂh=ǭBNsHѻNj^5&ԳS_Xm/eXp"[Lh,teQ\-DY3\zd //8#q󀲸f :Kdék7fZ(g0ATA҄DydK+ 7,1lV7 >G!`W*t r8]s.G!al#ͲϙhA*Dr~I1tq|>>̵YHCVᏅv TϖYGp0AT5 3dv!C< hTCAoNml ;}k]g_M)PEG[KFM"" p zn8F{QwB ˛F퉼wVm^#"JEQ8<*T[-l%NjR"ePЪ>_*hqhvL͌"|գKQ nHN1^-Θw,",;./Ԓ$˸Ԑ7IXxTvYen=/* DR,vCS)K+5VgupCJr>[zg,N) ݳ *Je 0tV5fcPϟuL ,q4UjQA-"{cNp 0 EeR{!M'T#xV.2QsǍQwT؆7++ysY-2mo9> l_EXg-)ʖxE_c,M{I ?L#fIou^Ф1_VCyv=l]ի\F=N /Hr-i*.R3mV lfh;ӪQCځy^VWF9bmՅF7ĸZAvv0UK:_"z)83$:‘z)d3bЛ^@9 N۲tTW(o#بq'ylѢ7Xy9:A*oUk_%=_ x MYۋ*Ő}+Dv>ߩxuƴꪻU&?˥~ .P;FvT{Hsvwu@̤JKkY>bglx5qCɛj6La%*eԖtiZr|"}.j͈zXE]OW =etڭ|X+0Pӊ0IX͛].>:f_fnE3L.BJvR/'ݖ~6pc~Q[tLΈوuRVdL3~Й{=3H;2z&D߻:J=vM^Wy;sB츝Uœ>IJ:L̒gG՜iuюBɱ .xƬzg]h5FD.*z̪jY9 HM ǤsjbOjp/ɭ.S]mvPEƷ\bYCE7Հsqn',}: 𢤔FW@nd3HyBT2̂'\s *Θ)8ku4w"V:mgzY)KSha(pQ]ԇ j){jLgUJM.Ej2nq73nTG(iW:[u&ẃEs@h-$]zŇ!XU3i\UFrF_Y;OiI%t:wkE-!`u6 l@k9>߲[X ȗwGwp*j9W i%AXqV8ZK4'v䢩mleͳx*캦ڍaK@? !R"sl?Zy "9U:&-껝r`f[-0>EGo2 Efx;[(c؀I`#>vr2Dt2&,l wl v*9VZ&IlhXIcS|G1H3lj VUjJ>l]fKh+,O:z`ZsjQH}A) Y\%[\2N♜8b)pl@;mMɬQi$]%".[e'R$1z?. ]޺ա h6Y Īmr58@-(jY ! Q n~f茈 ]ٓQk7 =Sa5bfcR'86i6y=n)ԐMw[l,Y$,6(n LmkИj2R#҃i0+6VM9GȃDo j}o7#EYGJE΢bߐN\%t94v3 p҈aO՞9/<P yu|LS>{LǘMӊ6hSx?,ϙ,= q^a,%-,jXxQ9(t+@\(7~ C02I@yt r<źVL9d;[j,"2NEYÒn)֜vHWaBxD a%7~1Ui"#2 *,rERUG^9SsB$ۼhz;,1't"?}(r)T KTlPj9%&q^/d۵*I $`i^1B6wЋk $k=qBŠdPbZ@;hVS<%P³$=q-rV'k`s\2Yf_E#OD/qZ7\߀ ^ZlɈq̯,A:f{^De |3]snhM*eCXDʞ7fsZC$M|L\&]ɮܙEQh~HmZ{84| +2k|PEU]g޷IW`Of:_j Z5XPGkux(8W N)FkJ9P}h2cnNZhNQ\N%A5e eM&yl]uCtj:Bб^ b^壚nܓ/H8$梚jA"H4yގPHso$o0n  < пQ&X͟+&ܳ^L 0=^m+e晛rY¾7(-ٺj0,Fi$[8`Vʔ[ǔf %;ECC ",~/KбraUdXrn%oIaSm!b/{E`m aǕ`"J°VΨ=r`nj"ldգ3RXQI?*ipF 61/:b9L؆9"S WB> d ^X!nQ՘G'Šۑ#TgY+F-67iΈ],i3!:nv&RVK "{wnR`ժyG;P\iw{\{+;7=w#p'kzZGm[cCp!, a1Hom1[x#9sTpD(/|[Gv #5#M{?ZvW^|vL~;cCu;*'VYʪ"罽]lP=' f]1fmG5/S 3] WtqO񎤽Q!qڏ,k토~wrg+u6VZw X<PM)mJJS=z@%k~oi8">.~ӯơr 6 :DaQQЋY',vT)U.3^Oi58/idP}_|t6)c(+w^$r\th {1Q/FT(硴K u7\Y`Q)ׂ{r~N'\MvجvWnCjSUkx 9uH.WƀD_'EvI fa12|1DvUTA B; ӎN!0YauF29jP+'XiI dž+i62s[M?"P4?50[u B*ö r3Mv$œnWK>D prj5b&i]KDt>R1gx։n|,M⟥|VB]+Bp&RYJ[!hFim8BoB<zzJPVtv.ljA)nkMe0Pp ?9 B|`Xqfe(mscmh{: NP1~2J(7B@,a0xOk|1?Ńga=4Bt(屹˄c{g<fn }\йԌԇԶ^xHyIվp-{6b@SӪ heԯ+:P_ʽ&SC[#JLj`1#~E;p)j ⫦nVN7yTJ7ri/b~k- ꚚoG"O 1ŭZ>!F0?BiХOn] O'a:>c\}ꃛ+d󜒬Se=-5`-mz~qd|݆T.r15w](ʎ+B0V~V nNƖb+uk o;ekà wס@vdi Uƨ{9B^Lc+IU,}G+cCbOXd7D `ߔӈ筕8 /m#aISWˁ@"aeVH3jO_93msY[9Nu @ B06P6I3W՛z ߖqHkfsSG٫}3K$åR|[\E#|3aJw$CܳNșY$pt Q*jzH؜$`{ƄYkxFzlYn<~]@V<˓TJ[GU¯=5j `I;tBWx d;/C8ϟW[Z?BЃم{?}jʒi Hg27dHw3 l2K:\t(4c+:BP@@?Unč (, hFoi-wv qU߳!틡J!=^ΔfMc˄'p/0jU0)5AEkx߸l?2ךDË! 6Qb:Xum:ʴ&14u/ft(IIV |IAd†52h7f>g1Ӯk^g~1}?ye8`QHᙵPg.eݥ4"Gї|dWOTpD.Pͨ߇M9ŗGcA G&` ƹlZCxKy7Prq@Gxv؛K1u91"Zg#m6+FM i:rzOQ&~C]M˦һLY mZW]O6DHFr&T+L3Cڃ%T.\,c.V/ J+2 0e)T[8 m%InqV ɴ8GE7܍_5mf{;4# !R'ykXT YzwWVIߊ|/P~ߒIpAYABCv>ˊ fK<99@{|94O_$R5tLPlM,8jr}ۃr4< NTVZ 6Q-4ΆbG/GGG㻓eh,Gyq],߬1%# 3Ly?,) WmlxZ[9eȼSZvH4߹:u2nL@o2ʁHn> ,>ҁy"TSQSp~[Vf"pAR/JiJPD|3C/ _+i0IB" hbba'QU< I+TPM"#r 5"!YH*ARYLNgyk}+@DzECɢbJMc7y[K  GN>H$KC Cxz#-piV$bVuJqhLI[Xn5;svStS"Qu X{m$lF#@ڸltר҆JB&ݺ>5b&ƺq7#3j0i:mq/< 1n<>vp=?}W/Y}o{:k"u:w< 㾚hȮz>TY4k?5Q}OzB~XcФr?xۇZvD"=بx|")?i)YUa֒'wiRnΦs4%ZSG9MӇճL2~dԥ+ (nbpCe2iҜ׉okGC&ūU> |Y?;uTOZv4|Dbq@jCk{[rIy(("ӛ]39-"w1pt;m/!r6BZNMrԃ!3{[ ;:o|Ҭ)/x\y\ѰM(&XR+lБrn8.VhѦ7 8P]mtvMJxvsɫz: 1*ãbOօڌ `l:V6pN* TSMM'O$Y[WIF5SOC9 0>}c/xDtJ9%uȒ{ԮB%RyFGaeFeߣ~F?p,іݦSmx$m&r=!>ثV=k.О/히*;*?~+GmZTd>tڮzx^4#mkw#4QSTķ/Q̤y׽BFS'H ۮ\`{w -i@HI{{; z c`{\*"vRI:nUDWR+KJԠo,VzI4TRT@N<'sUk8!FwLSN$j@sxX?r7*D z46 mM0 vj? 5Ju7Z&m{'~6^sC RoGg>z%u;C&)k`RcXiR-P LZ`Tv{0REZ%|ry Ncp`s.MTL@cC &:']cB?( if$E1B)[[xpL7{_ԢEDf[R $CXYB~!0vסaY D?44L *OEt\8mZZFى7.X2*NT%(ULe~/``Ҡ3aA̟v #rU=E߸ZD_/nBH@˳s] ʠ;zILl KBC.y@5 )Uv]\b!{BӚC+L#^Z;ޮҝ޼DRm+ZIq T{sqwn٭{9>5KW-AG\gLVM aOՋ6 sU& !ygk>eH#!ȬF1 W> C|Qw΂^Hm۔UgNbh#^| r͈vl>6>{Ѻh%uVTeą'М&)!"L^I~;+MzqHUiW>KvQZE <'aك{<`Cu$OB _Ʒric/R Eߑ ;g Q#;œGp5y6x/|Vݢm1Qq0%b3O~0gڶ̶~EgUeoSQfۂzk>O`w,ҜY:4~]4\XSDG~ѹK2,|=ކ\vtZ^'䮡V_E\K sjjOjzk]誔;!{AΖ/2Q*6dVUt/y='P>e?~5n[z߾YTK8r4`W%mzSΓAw=6=*[ ;-]Sa5`dRJ0٠q2 AҮo?qVO5 sQq/wTTn3kR)x*mD;@\` tQ3e[TT }ʾDWi'ߖ!.TʕU?YYw,+NWd qngDy$ݒO-Ws\WoW\P}#Ȫ~_nԕ=_q,G%~R}V nؔPѓlU=ogz4([Ψyz[YVH` .I=; kPíb1jlzZKٕK[-+NK3Ox;Ωz~-"?V\լX j+m_oݾbm vf,'io/RrpSv۵QM5h\(2M8W=]^ Bת(ϳd{ԣ5D?%"Ӿ#tLcL^頻 T9C]  rEz"==K{0V=m8W8͝s*tiѠ,C͡(_fr0TR,N8q-MPբH=^XvjfpBXc\2d~; 3-q5TWA&o[:m}6-ARQ03.h{cQV3΁! 7@ݏ}Tתwxw2kLG??zdvGgB/t^p>!%/L7>SF/uM0'^0Tm*|Jḛ4nKB|9;}"](ewX9xhpAh|m" "A{6PSIwlȈ 'Snd&*=֯У h141!#?p/ '7vaXKR.V'|IG_;0@j9^7!Qu/N'-5"ViW ݬ+d'A\R@=ϛ)Y]O^ b{Rw|v }g՞ϯJL`QzOאH_ӗX S~}'aNhS2$D{@jMfv1Yoh^8]duD2o@s4k"ƍIW8,sEߡBU2Fob>ܸ)s3˨zhk ,k^2%H;"5:LI<^<1<lwV?s"' !^q7]kO'򡕔ϧk `wW % Mqsq_9'"ي/}p퓰$8wKP_֝h+۞zD(/7?/?g$@b|aOƽ+p1n@${`}0vߺv$YT[l?dT@/7٪FނF|򙞪W}[e?x0EBl[Ise>D2R_9=L V԰/h?_XD%,s͟ﳛa}LI5Tߑ aޠ翋E {1MG+/AjD+Bn,lrշ $BUY=}5vv#x.@H)*:\zxAaJspPbEis 80IK(z2JRSϿ MJbfǜMY38f^ Ƙ’Q.imOf#A 9B-E U iRKԙ_bE )vʽ GBxv\kzSeV*9[? Em)Po"(36|׊wi3qIt1ˆe%hO⯿6O;R0m:mR9)Dq5vOBfLz$Z5Ӛ)bف6VS[G2G,1fK.dX_dɼFo OCg}JV %.0P6d0;6p<+EP5)h7y KVS%)%4G`+tQRVk~-ٲbM5Q2Z7).W7Ð+:2N#t2)9̨5 V=[ m]Z&wo׳%g#kk'bk:[Hb?T%|\?|J({f')-~PN"aC_V(;B#5C^f=?v[/HZ.>Zjv?c-[m=*E] @P@GruSW?ؐ`2^T?OY\M1+{gY[^0oZUcf UFe^HLvM\P@|YrYFcRyVT>xU?!-̪Sƺd:XUA BqWl6>[7٣Sj 8Еi6Jc+؝2WޗO^"vH>H7Nu,.H] <.xR]_cf_ * Se P} V.s2*HXIT(ΨVĩjR.XhdZS2Y.8$7_y8Պ\Dr)}\u鱁[]b$̝TvK> +nuˣa:~65du`̧&fnɂI U2ip1sv A m0PiP!閱6cT/hhyB n.%%` NP (GBA;qtg3-/i/#Wky/7O'O<[+ƷChc@>st#Cϟo-^1O9`Z%Xn H=cpC4(FEr}#a#f1L{t"^%o=2..[WDhfb8G@ުs( e*c13B5fI 3^3FStTYP~HL6.ϑ\0X}yʇ"vc__*{(G Kw ij3jpen{޸}%EmZ:`_H,opPpEy P}+r@PRPK񲃿Zk'7dWN0i;&$WS)=*OSh̖\rVU'Pnp)f>%@aŋX8)a^0SE"H۷Q@ӭ|*|& ̋~NJ\M},{ ڪTp2wߴYux!%8BvՃtt#x!_RXaV+ D9($b\2Bn?~+ieJo Ԃ6D{Tr_M}¬?Zv4>AAb_MG-d>$ry̐"GLYh)tM%b M8#"a\O+583k4Wpt7v8U1[LVXYuu(x\K1Šg>Cq`j0[NwWNm=3Wr@!t pȶ.m|=EIr υx#GU n~ 9u+MUȅaњ(8;n#Z,vK+9kQX!EDX <܏go`#G|фEW;]T&;V-.k׍,̰DK8k|nθ8)m˥ٓ:#cE WLaߩͣ+7v2jE@!9.b;јuo)=+r~y#;1r[2ŁB^uD4"-e_Դj.//΍A.GmwIx0A;Ҍ 4cٌ#}0_I)JI)X납u/1kU3xۅ7ӥK=!25ft [_yJ y 7$a>*WIYw"/i~l1rZD^ZjfKsו&J"i?䤵u /II#&ei;Zd3u/4![vac6QXamd ^+9 2Ux6.R̠CsJI6Nz&a=H]PV)#WGxYǧ/hÐB`ћԥ뉛YG嬆GtufNO,QF,6X\JFZ3uqt#61:::xL+ϯ7He룮a{f7+jE }k990JˢC^48թ'28F; |<-k3#,WjlHLE6)]+耧׿B~LG0pV`rAS۠*rmqƙVtm#?QW*U|Iwi9N6{+;frTR0$xSYѡOV&ix$d!g>S 7Q8Zv)`A:Z4hD׫tǖ7c 23vA-AhEhLuqGu]m~j% L)%yhtIukm6>#;*rObe¶eݢefVԠ[XbrU/OVMhN33?n\ ݤ;elj Y򩦍Ie^nhA=u)l`(ʍrM[MYæpQf:nVh'F?C a}cPb"p ;#A,4h-]vox:ynjɓ\e[Z}N G>fwLkJWTfcն?Fd$+[Nz9ky:^fOfgԌaGW9g(YX*V30)ݤئZJdn<-`í'6#AeZRWkwƗ%Pέ/¶(nC(bfbi[38,2:qzޗ0a|R$<Y0$l$k/:@|m'5)/]ۖ63Şvqj-JIZL?u6MNbJW"4aD5Ee,Պ$ݶ2l4 Pa2=6}YYӿb?j\-%+ 3AOkcّg]t:8QUv(p]ὰxΔS,xcחl55qiWɻbuEUNN[4Ďr#Leh /i+"dIFA[]-ܭ^F4t[Uj]Ixqu_q ^E}Xaa`2 zi$*~̡[ϐ5ŎT;_(;uXC0tkE՝XvjANI2)V&nƹ0',E1٪umOwe0zٌ[FkiT VW*+A0gºxsMu7zva0 c/ܦ qHr/cEȠ 33bM#oxnO R%fEn?p0jPh9nEVborZ%M԰jݜcvWs+njU e f-)ӮԴ,FLwTqL# jz(2x^e x9)2۳$ }2aV]v/ؔպlwao / 04\2BL-TS8:m̋x r:uʉ9:CSoFBi,L.m#67+6I^Cv_k=He4t_!tMBcKv*r|/%JL3%|axepD" #b}@SZ^TI#T.ڮqUAC߷jx4_s#Yjmɤr&M9&rŕZ6HaP[2{iID{i?I]] brwqm<^o+u! Gv]x J eAXc㼾+#g"+vJ ^n]P9XLd!ct4e/ ﵌oV}x)'U>n񇂟b 0M҈x 9I(A\ = D񈢰G F,ta$`~xkx^@O/C`uН%/>xK/T:1/A8| |{MOxbs~[IGDuiߺ|О<*KV}Z??Wj>_ŏTGzd"h`_ߗ&7mYKby'zD_.YFxB hhAmR?y z, L'o \1D_"~"q?1voq.Ba0enrt`r䠛Of7zoUmVW!({?o 20dz{Qz_dgEO@"bǞ`,"C4G4X$pnh`x)}#C4f"H__D^M1`O؇!`1^r:{`xIDbmAO?/8EkQf`j/9 Y,o8}a F<xᮢSx Nk0{ a{ ͒% GSܓ@I`KHca_aI a#fٞοcT?7+z~?by's&y +@9x z%;k?܏xw/f'AGo&/vzq[ؿRC5+o !Y qelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/0000755000175000017500000000000011347002067023004 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/qelectrotech.svgz0000644000175000017500000105360211200647463026413 0ustar laurentlaurentXv|: FN#\ȁ8q!ȑW랞`#ŷXE+>ѵ7'' !zyO}C~?π͆$Զݖ!Ap}qWng~u?/0 pۧq??ӿ-?du2%P]ޯ @?ey盧C ~Z߁u}?|o78 S8 f}ݛ {'<]ۑJuk&__7Vo'Bo3"]8˼ q\6/c_lc#;{y8w_(OAK?XcwM?[+Oqӟo \avz~ |+?>סj@w EYG~c-_A>ʇZϬcց:?S $u?td;BG4I aA HABJ0wPGC^F)2 4 8 ?yyry<<+=RHTЕ y Wh5HBʲ]РȤȉWm#]c.2:,Peh hϬ9"鲬ݝv+wzDh^jkka i=ummSv %Ca,p.]>dL WϡPd* G.^7hf!Vps5d~(`4pr  tأR?Z!|5i;cWIL|C*m6920=4f $]2Q -j>Vg-XdܞϲS,e0+537D@eT[6%[!)> b&quOȫi0.SUNq"kէO:.k΁+A@u65QV|N:-5~YG\zSW5v`K+]ׁ6YD˨=v֧98 uY#弰콨<./*]8Wx+Fp7ˡH3`B֧0 6!Ү NAL_2*tȶvqX.@%(y(̙;<`r\vPFC@o|Yqt\dŒ5a^S=|ET)h6i g m/62ٕ- &y_'sGt{vԵߝRDHOLf&  U85M4Gaq1P/SU_ x>o\$\%wy>Y؏عVy"HBEʠk#pW#r\q T(:÷MC-L 5ШB>6c [#W9!+#ѰQ:<i̽/g#9l?^ ; _=kq\m]9iBS@єo~>W.IiO;Χ-~ToH~4*i-_ùUQK܎vƘ2lk%SW:o8qg7זJ6ߪ>@C?3_p] O# -:♰_dP4)(fDw8Ȳ Ak":>UX N=:VvIzs*2fУO$Pr. w{z&OOlf-Ww¸0+M@)ڑ8eYS ?0-A{}9LWaWVHa]zYL6!wr̝"j'm< BeY?ƘxGv1{9lǔ E= \G`~fOG\w9h4G~+Ȁr抾 B2O S>xS|ZL\Cˠ}e㖠[ ك$^vX"S.O_"̇\ei讒`s9lAs"|Oؕf>HG}+娈D k}Һ|AwlT쬰snj^iG>iO@\d/orћvl_Xvui#~~Qr*+Ac CõB]X^ l?ј?#ow6,s(kNtIMv7ީ/@]eMa %RmPflHV| R\=s9o{OK ڂj:+Yhڡ+ᙼWLvva y-о/q~72#X͖DG- "]='2儀i @}? Һ[)x |vرHc(:US甭`9HHP1_U(Tsց{W%UE@L DO2ɷ@YbWMxPq_]clW~6aa! {ҷ2` }3n 4"v};}GbAy7(y$BQ@ŗU橈(≧UAlB{fOڂz|,w]ɸc}@ɼ30g3F~z &~fAmcU<ɯnO_~C;]Jc~YMSnzT8:ֈd_r\mLeJsĀ*Ps! &az:${itVIC7ҿxN"m yZY7О op^}?:P;PюyAI-CHx];NH s)(0hN(*ٽtG~um @rðcUYiWU5S4އ)lM: ҫ%*柟~DZ "E֣ƌe u3YGYy݉i l:ՉtI꾞WHiSMY8EwY}o&$CibL\gL%Fg<2(_jJ t1W17n?DZxGθ]4E{SaΗI\\2gI@)H1϶:*`7gw@{ՍdL72PMA[(ڢCu0n=ǹ{K-4|`ߌ/^zȲ,.vA&Ro~5h 9ZՁ;]u47ʟ)Kd4yf[DЖCOňЂ I axGHcg;]}sNp5LJRRP53Q MMB KۗhiY O2gX k} tDn9!%$Y/]c IQAC0.fso.,#1g\q/Wwr!U4ct Pg*wm)rZ=0ёJ䐺MRfdGs\*>2hfh-PS'&0%(ڤݮo}i+XDghoھÀ eb`xFŒ|f,Ʃ|$ڼr.$_S]jG&[A`e49ʉ x3~-z7> 6kݮ06]ߠ˷(@`:3d<'e<.?Gp賨pSUR[]psn HVgciLJN 0}(cts ߊD }3hluSvA/k!@ohLjlMǶ>r5ĪrwADӖzHʭj6:lX2Ox7x r? jޥw}gjbŨFȐ¸gy+,w{!\k>}/dbN\sDaHED!6#\;H#|ln.I@|ʿ6XOl׫; xBL@?|a h`3]§"^[U keԾQwD-X /T:x)]V>P' [* JNISeMHvhB-m޼NMED W2Ӡ5O#F745 z?p`i8$6JVL|7i(}NNټ:ofozr(>X+)B'pw^}&ިLY"+hvzxs6H]u6U{G~)#e}Ѫ+Y"Wt=}:B),!?\G/7-bSA(qMRD#\&Ry FM[7Z|5f)v8)h `a>a聊`؉]O@F Nzh*o#O٥ X&Rk:cX Sx _r%Ls,17R˸)3^&*ƒ!7}q,d/5ݦ/~X}+\(VϵRCɶ9Z V;km} ^hyYQ0P!pC2$4!j 9\j)Jkqՠta&3z~ͮh:Lyx(i8ax>#9- bCة'.6*̊:-\[. Ѣ)XB~@Z/hzZXA;yJe"fCXSۥvo- fԾh.pȸzY:Ǭ%=科ޖ#z]#q^<FZr➏e0<#C40:!l n"dj<|TU dx/Cmg@~wN#~crr'E)Jj wBҸ|d` OAB@a\ZM(Gʋ _1l7GJ&}&Cx(fYPaɤE&yC;R"C]wY&gH< 4{EAK4wP ˠmdb>Hґ!0 5MHxu=vYowf }ZXB)uL)h.#$DZuC~> q2-(2p+4x\ӨZ%~x7MUM9RQ``anNM]rѫpT=-p_n{]7]tȜ3yY‚-3nsYXJrngϱT2dtbGO?l<r=<s{(m;C؃vhoaP=7." RwGPmcїܑtțJA&aR":q{Bȋ KA;~7HϬϑXB:`[bQFF O5<+)P!4R0^˰/\M%l&! FWiN(Qum{OC#Hjµ}!zb SW#,A K5=&vT.22B gD e~nVHtd;kΦ}Z*clB'[8yiLK9BG­OtD7P?,y7<&5>wU/dW[6qQh[`w ݂Y4fFvȴhqMEdSuSh m!dxZ;z[`#|fvy\\7ʉH,h'maL`Vdqb1(ZZz|AavA 婗qpj| 4>KeKŴ^6R>|~ka1PT.y Pp@)EXo,9 M| 砢d껶g _i[K~th|G:I -&rE͠ISi`swdΪnY^'jPO1UN]_a>Eksp!5#TfGSNYT, i!M<5i3S9lȝFB!--aj54>Gj$Iq[d>vPRZ 5Edޏdak:VH`c#rh *A@q.6 5Qkʊ]ۂ}Bpy P\)}C| R2ڨ{&ѨaGQcߕa>CUDIsי pH3gH8QۛF@?T7Dh_cm,hY ճ?~RP:|Yx̶dsᅂQ(a{۶%$|aH7uF h/E9 ^+Ha)HTO}͐OP \@$U?"(yI+Gx֕"v0V TtBGN8mҋ/ @d dsrr .ixթ$]!WX^Mt{­3~qx~IW8c¥;LQxH(5JTeWR0;n[bR`aCN2$$zhD&PH, mI(VV<9<&R'G9G!\1zәc4np9;9u7{Gq~5p,(MYaht,7v;6Kϐ6R.lR5{W{ 3u>H3ZmD5J>apHo]2}qpM-$5W>5վ;kooBmٓej{OڰqJXԀK^$ ۥX^|+x##־ '7ݥyӆ0UTueAHܜ7O2![v"& /ܲbw ~|N۪#[&2.1 uZk<ƙĮo(1n`Ծ S"/K:+P&n3\R#Mt%4U텃]qܛf4qFZr=+Hz,%8CZ =n {0 imZ}X8aJyK ӻm՘2.벊^-$oMMr3LD45N1{qs:Fo=)\^Ȕ&l!{Wvx\=9j4)VuH!݋$qC˂W2m[26־䉜9ڶDkZii+`]YԅtS6w)dHdzK&2B. *r6|sUnTqO )vHhvHģ R.EEey(0=Ng?XdpZ>]wfn6Qgg&/P  (8aG 6D-GoDj"&}`~gr*fy_GbQ\ R|, S\73!X3yCXV1/9"フ-*l>*< E4\wF8N}2\,"aURq6@wP%Kw[ @ળvQWQ!g9U;vr="G𬞃FIWbP @lg7nZty! I@sȚ,2a(9 ,IKM,F#f(hbfJ!i݉l<"*{u F=M;>A YA ; ^jؕ?24q`;Wfs8x_wEoC,K Cj;y]5/Q}-uOi B\0vqD:]f&Jecɬ51oy0{"hHṶͥ,MÝ6$s-s؛/~L'b˶Wg dPDoc폧7*E?ޔGKp%H s33D o&K0wV̵4@?aޘc7r4n]Ve=fJHe{qbbs\RYV _Ӥoi>o~w8JIJlyc5Qh%qK%Z- :y#r4tߊ@M747MY!VX+Ӂ ?ft*6HVZyG]5non,s iqfV3t^=YH1l2jx]\+ʞ6*nX 0#>;ߓCbH;{v0 g"c'YOl2'Wy+6B5%Wތ!lFǴsE@JAȭ Os\0p$ƈ##ↄ0H5۾JtQv +:@=)n~W/xOMw\8|?Lio$gvW:Xrt>Ͻ-8)Y< &^+IxWHY->~ޥyN}1o,tNs[8kW7toj)"a-A=ݭkW(G,݄8^@  g\Uxm* O_bFۛU#> h]ޘWtj7 B-k2W5]^oߥ0/fCao H hQƣcfb?NGi?N磌_'FJF׀@s<) vF`ޖM>-q br?%k[OAB#^>,O+mia.6{Zr#bw2nKqCG3-jSr3ie@9=Zc8a7ZEUH""7EqbW:c2oHi\,(\+:ϼBC K*=O0Mz./#Ή[dvͯF=:TyªHü{uGЭ|7LkH34řQ ӣAoBQ!W:$CGM MKVi\ə+z$Ս KuaE%>S"T;q]P 4㛉F)8@.<.ɀG R!Ȩ.LBSy&Uط~Gl$)u+ jP+xKhG*+ڊ>đ7:|9 0D'\,n];'ɉ,zXYT \YIh8-ﱮEAZ 3嵧Ę*$Y 'y]O]s ΍~ҩ_ eFm5?zL(G@|«F_$ uq[y)nH,YC<$B_)?w8aZ 9oNY-%dC% 3NzNP4H'2c!sDc `kOd|?3HC 3>%A1GE6p )KL9FSK-m;!477}7. 塼G9[-2^va,9{ܲCcn2>4NNts}X uXOnZЌTW\C{ W:zEhynDM[ψmzbiNN@R{,5>׮ڬ~y`f[AL”/='fcpBMPHsC4=ʂBTe U:`t ,?hF-Do72t?HF+&&ID[D1c6i'R.X_ v.¡Cnc G0Q҂3;5^Xң鮍4<#g<>[m{^[P!d,̺(V*H &;)V3" e`sRz2>6gsCv*m&&Ty}^Q:13< i+tq~dAQNAGgLD|EhGNW޽Zi]t* sl_8g\m ?Jy[_^o܎J]v@vN);?ɡ+ QW,ҥ|u0od,/;}69 Cq/~-K0_whjF`ExbxFozA:M6ٶrht7 QӐcJ؟oαk,uCy>v{2_4^Z+bGs,0|8Dtr|pEF9@Q2vK7{Ym V#}G}ϭ=xSkEǶ*B >pNL%c^/?5[Wg2J ߁z왲EY`4J#썱W2k᜚xxU!v[^:Rppq0=H/7ޫZĴ'IlVdP ywTx>(e +,qC}86_#-vaݝݪ\A0<#6CLԭސo48M,!hpre1T[Vͥ+:F`^sf(4Q#\ I6GX#;H; gK:ykI_fHs_`f i 1tMk\] .H("=jR!v}?._ Urt&mkeĐl"pJ9z+}"a3h)4jêtf`:yzrbE2n"ʿC [QJC|9<4I4_jX(ҵJ[",ѡ}~ ᆛ#u֦d̐wȳKso%Um0K>?~_TwdUz7"4rWuKByL r[1uۃ\im{-_Sy-AID0tk~TWҘf5}XQD|ޠZCzIT~q ivW%8V J)Žx須q0i02kEJ4ȧ< _9g]/^Bya !l+j" k!t>%:),Ƀ"xafl+$R~ZjL0<.W$S*yx['OB{Z,V4F},} 0y%[~)vfzn >-U"8W1*r]i"xʌX wMShk {'4meE%;[̖b;/)xZ1^-8&SL| Ĕ~`(!E,mvR~TԎZPx˾&o~ϤԿDī1Ccޑ_i}[0( ){#=*ʉ#*͞dx2)AH!tBkݼDCuLs4T'[Tt;aŇhK dQN.^c t .kU:/".Z~*e{'Kn? m/h霐u?Ii(k!&ITxkVs/b]$ <ͥfґtCY!u5y ZsG0p2ᾶe[I6{IoM~šeS`޵|U-\oocaIo X,xqHcKaPZH?4#eSZ+g 1n!ؐP ,*ɥsܸnc W,Nց8C7&JNr p ||%Z@X?"]s&g/"!a,OngmA\*T#G[rk&@ߤq-AEhx]!'Yc4wr \nL)Js4iwyؚI%'\ SK mǿcU&One'gťs4ûB Rq W~PR{U@eo̒S{MY^(k8hTH_ݭ}:"/u`5"@ lѦ0CDl *n5~bb@@Zw7h23W!/clT $f/"%6醽CLeᴔ|m|tw-Co0Y㢠#z^ t`I$ͯ-Q"j[EsVKqS8H\l?Na0 S 4ٿ>s*pe,3Q #J$o B)#Xm=~ |4}&#t^΄}qX_DTRUkR:LSGTzQx)ܹJV)붠v1`򃴇+jLT *Eޘ|Jaߺ;_==z74hELTb\D u8e[k[܈C# `] ˣ?0es&5Fpj:1ɢlec6SԌRlrGvi1iY -d%&E1r=yg\o,m'M҈hrIww @uk>+a=x=y%Oeo~!\t 'MyJH8ۧX!̻ȟ**& r~vE-k4.kO{˦v~S#le?\x릶[#"̐eGacP}< a'8T'7&O0=xͽ0m1!i+uz>-Baݷ _H/ 4ucDQP  s2{{_ Wܵ3KPHX/w80wx:,4HK, 6%ԓ׌2Q+ !݊NHy,uO苙m~4=qH:OJڮb'Χ୤5ZƧM[ٓd%G݊z"9LYG;zd/z̕\&)3;7[ BXfp0fjUfPk6S4|?ǞCkp7.s$M}hEtX2bp8+P(m!"%~p82SU$݃~R[jT/7eBA.^TRG d*WX% ~ql>񏃡nIFދ>;īlq2>>&,-i|oȘ1 ?# slFTki:&,aڤ.7in}kprv? ܐ4k'Ǔ[;5pUȼԷ"7xqW`!ah7OOO#C 2Kp}ǯv0;T5a`"Mؐ$"2Qc挲vv 3_*}P\ΦP]Z}_ [!3f0&9b~s,ƽXsz7P;AbnZXT=kj*^!B~ ׁTzFQ3YbXRJ3bd \6ބV曦8;Vd BR"\LE62)L'z䁡fG6ΠN*ˎCiy38o~ (f"vtǒd6>hVc^̉UOn-MA̮EnRKu \|L᛻5%h{F1OT뷵'BG.;yJҴUFl #ïȐٖU*Y$j^1Sta!3m%V"ߜyA\''K|=߈>knVgF1(4oko4MgXaU/pA'8A7 i2no=8 G$kh_&Β[ik|D*/Z=T{MQH5E@5tѽYꃈYk,33>-1'OY P@r0|b֠)oq!O;oS \=,< 4#/G1Uks$ ^s?(0%]X{Xc"L̠_Ƙspt:ƍN!a٧r !AC.|r% _AMު_MR<73U ťbNE=^v~/GA6o/{sp;ɄrBl0an!I8jd#y(δ^E˰ҷǐ5[OEfHZy- [N١PLkI7_1ytwN۵q.l;β1x_[jnYүh4ƊaҔ5E 7kLޗ'$?|=v^-q5cff Ȏ$Prq ГW Y$ :Ww^Kl8?hTz>X6i("syyV3;lY%*;<:r5`ߠU B4&I08H9E\(Z&CEY)u%He(:dޥ=k"˔&YWOqSj]":LhV>Ύ8f{8඄@PaӰ O{CQAZV1N Gs*ӪJbe-,89 ?> ԣV9Ѓ!`w%B{slHA;kѓ\zCa#f?:dfI w|2)&§M/=:&߂|J8oZs^L|[eQ *㑼] _%dMwgwΛzJ6[ b"B1~֭.62_#g֎$ɂ|(Мw2./NI9 =7b1tAgr"^|e䰳n3HK}^k,ڗ'X"S+RFlZwi!M:zTak%agnRQ qy 㭺(G0QC$aB^$wR}C6X{__7,:W6gJ;KIJpjؗ⵩]]ңzGialZ8M5 U²s_=]mB;>FE K>5z 'MoCmü怜skpߊmBѽ0nmg3 I}KC #Ijߚy>E:PR ӠAGkYoTIjpՆ3pJ `k>s@$S(mؙE@KzryR=W+l\URMĘѣm !2rK~ѣ ;68tHc|22W !ldҮaۢbڍ1U$B^SaZtĩʿzĩրܔomRsW4RVHfܢJ[/!?4e* `XphZ?sKDȰ 6e>Iee[آU:RGKWj!1`T 3Ds-LD22€EqVF]:2񼯥8ߠso 5&}B L$3'/Ѕ}"6YCV^WCSǭOs7"Ma .bJ /!ěM=9ٓ0AnL> z,1b?ِ~/™WÙMƐ> `V_3?/Q_aA~TڢO䢗0'-gު8*t10ٵU ! 40ŜuNg͚̀b'2]=Un/ /v `kuI5 f0/R/DGBd3C!2 c;z՗Fo ) $Sr`"U_9D AM<+nHGfmq]8X, I75S܅ jK[J AI uz{ 5xl|F!40&zrPR:7?-QB!R.ņvʸ]F6Ŀz3#M㬫Cb}=GY&y#wl[pEDvywbi 2\e .ޡkD9us9X"opkb0 r6bRФd$WRj8 8:.[8 OR8B>ސN67J˧]ȱX}\>}U1m\Դi+Z͆f.*{!cEC %/r_> M<Ḑq EBFeki%A)Ofռ9ff^CY c3j(y_E$]VHYܶz6%ލ"d[yzGq.@l mjr) ¯k 7^зJ%s:JݞN!r;%}a!PIqk[mPǥH&z쵫u-d!W#;^4_z9,bB*NBhH@.2<$_b9l; @ h׾4<-)1E]ʥLt3gZͅGG qf_`bv͒_v`(* 9W~IUꒄR\uÀh1Ik !ہpDl*Sk I -kc9\(\g|4pL5J\zwmI >ԋ[pqij/l|Ұb!DiFtOdb5Q1`Dz2GR}PbVtZTc߈97pD|uPH:$Xm\*l[=Ϟ;U%"~>,1r|KnO|,5 G![dzz: EJjsU@AԖjrf|W7K :C@(VoU/Q]#QD?3j 'c-[A.DWM9oWN"k$ |,JyL2:'O|H mϞ/迆Ys`)!6aFA՘M_=C\ƖF r([(1I@yѝ*jk2Z[:ZU ̤͢h $tJHzcbYyT{]R;8\*]rnζ{fP)ngT-`̰A5H)"|1A(O,z<o+edtV?K5Ыw.:^$bHK{hqII\DBxXbNj՝@]?#O0 ?_9Nq>s{) Q l A6:owA&gm!)\f\M`+Č6HB,SlXw\_P9#d5"WpfIRLOwTn w@-श}Z YI5#y_:w\2[!] 4<`D}ZCOY>K= H' ntK,LSJO*9(dO۶fDrn]&qƖRKX"-T{ (G8!:3_ tɹ+R6{adQ-eʓo޾ߚn=caBKm߲`5Kb$e}΂3#&{(9)Tْ:%ƓX7)Cڌ&^@&Q d?#{wv0YF׽$ &qڷQZ~ޣԐ0#j#dEݗv?VCԫ|/m*&idG)61- {L2&,hJUj>Bj sd AZ1iAnj8تzp.et3Iq N6&sN=S4}Zib J؋v"V0iא-̄#t=izl,4+TYk N{(w};EX^^ޗ | O|O)w/*~R0M~bxϺ'dsѦg9j~uZ~Rp!!?lUbl B!=hFk.{}D:g?Xͱ1Ʋ#~EقrTp0-Ǩɝkh&J<9腃8R9k?K;pVM 4MNK a=SWݕU4@-y7Z`ik{SWH$*[⢏{R0tIYKs %\.k9JuUkKއlcuv01zZD>?r޼_fȓY-QF;31PG~^{INW`<مc۳vQ퉝2 Zu+27Yzoyp0mʲb4YG%վ1T]?;p6U7 IPO_өp* Dyl^Vh:*2&1;D R<-w_Q& 68JO-d8=X.2߆\(We[A4|?Wm's.⇫ `?F_jv,2YE!Ń9"a-|2"Z4(8A18O0ik tSRQn[έATq Ceϒ3 8Lnw钃`JU7׉|UC9mw49VeUqY)S܏ |njb WJZY#`| w~FuA+nH<~[:u#q u3Q="Fx,*,f.Շ9EwPupC{ v݆vPQ'",, wx`@yDV46֜z"-:9+X{6n^C;;XuWYO[1__"=_A;2Nnz#ƌ@zsci:ܷr.`ΘrO.˜!8һ% $U:za~4eGb$7<Yr&<{oˬk,+UEHd;Xɽ6zy`^Wgb|WL l7=|2 o]kE. OcE!Yc@ Ȗ2!]!bgxK^^qMZ1z )1'L@x5 G>{LQ}=C!(2 u~/S,"rx`+V+ct K],jS8Hb=+Orrx(TM:?IbaHr>Єra୹gdܯ'6fRY3ؿcP4rK>0-l'hQ?ra(.PHS}VYSN njTv:NrrkA]ƦIsony=Nޘj.ևHYN__:!(\wmd~^#fIɱZbuȤkapBEK:_^ymj+U_銼y - }E!^9.:Mڔ6^YS/#zhY<}DPB۔)fJ>s1vEe;E^Ns?9ͫkĶ9iv'$ X٘ᘇt?tf}DKuoB^WA@Ha cv9}μyQx>'2=9D"I&aw?Q[锪g-WEgoײ);IG ɩAu̯sq{j[!M&+4e-rz*סkG{Փ*%\y" K^=ݲK OB;DIUkr pmrq*/\xAt1~H DO]jKFCmri!r"Elupf,F]TGD&d1rQ##DM`^7Т3AW-߂꒪hECӲ+ۍͧ Yb _]M{&Z]@Z65ohXs|89jla6 ')8nxE[(#(&߂~ +DJ5N5֟rvCL<'zȢԏ=%$f:пF Chd RGXJKݐ+!sJ{Ee>P<)!z'_Y}C՝* {% ׌2H/9ԯlj J# i^o!"_4hOsuW;uJ'8:X(ιg~ev&vEpc_~)usf.*4GYw#` ƍqv qrNQd.6sg 凄HiuWD~ɿV^p#ׅ@(,?kcr>"ơaS *05"W|JOu{*5p?t(Hy%'t_B&2 lt?D7)KgO(&u+!gXg8bQfs5P,"Y2@yxUQD|C^Y!_rK0`*s"pN!,+d֤-ʏ3DcZ)"审r,GP|Jiz9k2Eb NkxڶT3B([7S&ۺHr& Q@]!kLjuV,A| Ju{%b=|\DsU9pvw/Fڄ5m$.SE>biv-U'{!)@+ʚaU;I{Fgt[ˎ"!z-m$tA*!So.GIsF¦7gԓw)hPBtnDzeg$yV@1ehn?IL;5 J==Q#tI94g~OXi޿ɶ>W~3\GV  w1?qkuPI=76OO. >awYίWwOeppg}Ŭ$TXa]PiI =C1hǘK:v*XBK엎47r ,ls| 6cOc!t0:>Yy߃)PXbly}$.g I1Hbii~*2c]lYJ!% 9n3i2ILy[1Ѱ2nx k_XZCPJݔcnAeM/gJU/d"o:S/Q5P zIJu#x$x;֊p}\(|t|# eߢ⬞]u^vc7j#a0H;0@lYd5 X+EqvIP~IM_NL)=d$aZ; (vL R5,QduRwhGO|1+n LE+o3GLPv yMsx+m̨Yc~!>qp:|f^[f*fZ)۲D$?~8U10ƿXW2ojP}ISV):Ν`^tz1]7vIEx;![[,yv,TGF\'6){.)F^Fg ߟ+<]f|;""AWh='1A3t_^e$^0"׉e rX/AجrB+֧ OA@m5,d|K,3 NhH#@Q+;N%Z.|J5Sp?G!u/8,ldSof•G"ScZhS:fF. R= MBs@ZŞ#gϋ\n~'VHB%lOؚq=<{lE.2Jj^Ԧq\6LMkVcݿz>*T4`Fikxj/N_Q{I;doqtb[Ђ *{9=w}0뉈=S uy}:>k'če3tk<,4wǒ .wZA64xt1-$ӽh \t:AdR|Z{s漛7$E _,p ?>۱~ iAp)f#lEo-~[ XÎɶKWЦ9'Jrwmdq΢&JGk;d\c=cRUQ_,Sش ȀԠfr]0!8U=ܖngNBjsBͣr%ADwSix}Ii CvxPcc4/B}EZRzy(7}о;LxCJƩq2L&dDli4x4nx~CwkяfUc !V?4&,]XfeQd8U X8Xp_>>!qքըé $nyJ6l{(/(Fq&𤶝 c'%̊M8̸,ַ,z*̐|4@o>#a!pZzѧ̊ sik=ʉ'䍨ge_\']}?0 ƌT|> a[@mH)yg+ζ&i@ϯqzEMMz.yFK*9H7 ,,pBMƼ̜ $] 0w*on(Bn ' a,˙OT@6Wr#; vi{\MEL\hp:76Tk=c=$\kpi*=Mȕ'g'd1躪DNnaXN_@jm1FmuǿF6sF׉]N4nXQda^ē҈HH¬~x\~Vsyyidf}lcOs=,x*EFt-l=~ zސ"|љF\}du]LPDO0FUnhRƙ :ˉc6@6qH{i" ijLtc76Q̞u]D:w%*"=U3kKĚ }OIk[XK?e' 7>g~}#Ѳ[ a&3$$' ߆':g/7*-e*4ꟻ~u3Ԙ)*A%JhcNiCX~ckE2)^_ҁ՚oN/2<%NJ['32w~@ kkj+!ÊEb0,V:&R$5Cc w|,TxvE Anb|T337w63k23u" }zhzzERa~P@t ل'Ol=e dӓ$O۵u]ifMѿ'M)瓥gb1_G:|!Cvœ#r /7QmҼ FPnsAX[c:DbtD O C#z$P8fM#ޗiqkqBZ"FΓ&4P Y<4eD|7XӶC]=WdaM@𑒐VIKkjJO'u5Hě#%FT\t| Λ/f[zK *>S +?m At!+%Ll >roe}b*%b 7b") &tIw&Bi [LBFd-\E_$ֱB`Ft {l̀29adZxtqfpp :E"㣐וwqs>p,@M9"m؁ ӃTe)\*7dc-5%Gr lB@K?+W(rGngz:BĔ7j>E;2[{=Fs.։uݬ '[+}iXMP/'ƥJZ](7߯g_5# b̾0]>H=DW )hHz w3FgF\Mб!s% 7X^?Q;Ḫ{#^HZzΫ_"G0 (@ NmTJH`M?>V2ڹSwI: r6:}|WALC&蓝m'P̻LgIkoL}[1 |ź~GXUi#[+O7Q@rAVӏc!(+jhҼ"22K+5CdF4n>]~NMWGcg>oH )!&a6G>gfkOD?u Y ѕkӸnvŴBE^zM<Y9<3yG[*Nmp΍na>&ב!{辳)}= 4I=)3p HaRlaK3Ai-heHBF1exOTKĆ$/16cXL֓-霓{,[vlcџ|lflx;[N'N::IL#hapxicm| V@6L!\124R~"-$ lo*E{z}a5ݷp5ʔ.xaod%*}o{mleM@E"Za诃l sd^Z%~',[b{q˜(޷suJ)0JJ߀CNPǭVJ`]Ѡ<8meЦVV!ڀXq`\IEZ/LJ>}-)$:TN*f)T M?!ɿ -]ٙn~tto520 69%)A.(N -<)e:M):Z- קQ<M^!RJ&02.Ij]rb̗B&ן9| ~t\bkuV̼G'4h߀$V hD8o{Ķ}=@cZ.,B^:SsANbER*ŶUj!% x@@(doY0ICc㍙-M9;ِ׏ͥ.[qAԋ-BrƐRH]GFbx+q{}*exxOǣ, |&4-"8) ɳޥrdK.3K 2X7(D2Z$yj:<{[$NW !n)Ҁs [aZA1{[xF} N;kTV.@2IR@L&"+g1|vu52#̜6oX/Q7Ss-ti6Jt6w y<(j̍=[<9nO -iiǃuρљ)%Gʚ61!Ѿ+I#=pWÉ/neE4ropTё}/9򸈞vx[zY֋vbb"6:컜eoB/j`;XTV;u 5r0TG=8m-b/%6̏'(w/F/?2f4c>QyEtOy) + sw/ /V*p\_|$B #jrK%2@L4阨ؕ3ߜAz16ӶMaNIñMᣑ[.Q`9fؒ .Oe"%=A C^ o`_ޓٌ"^C>2̟ԹN0|:H4 teb|YZ[cD5wt-WC!:nz|@8֋LJnDޚ<Z^qxFYj/hF}p1+V>ɑwzn@eefԪ ĝaٹ̋=`UI#\^h̼JݙZIu^8L;Ls԰0h"sё]0^uqPnO`OAWWqX]v1VI>u{kS*ڲ 3}-Q?ʱhC<vxWrg6񭿥,إ7hf;( Z${/\ÚpŲ6ڿNZKzj s[ Ag>mf1`B`OUӞq_kN}zȎMoK(* Cϥ7x-n훲"t p4[{+qp%WS Aywzb+6!~%Y8&M.'e!Gc@oU%'_M #GObgBԐ#dB̿륔i ?fSb-Db|ޫaJVl6!XEd >^hlH;=Nnimdt#=HsH+K?2çK9z)JӍ~ȮZ}VshرoӅ$нf<67dA3.s+k@G)Oß}"Wz`ifl:t2Ve&a$ƶ-#^; c"j=.u ALe֩N7vzN[7'u5$?7"M lpcRf`塚LJCI0 f[Ո$e'd7'7, ;~(2G-khϡv߀Y}jBZ<$Jhα๾Dӡ%JÛՓ'o?'bfwٿDHEQpÐ57x! Sm8zH=Ol_ju'9=o^UP u^zRH<ʦ#a Kp?1׷7?WsKhx%E+Ql:#KG܀w7_uu}z^U!h;L3-As\TKspz%eoWn1o*s游"J>s|HwW:(zHh__' o _ L59ʄzD}D@)±Ky1}z-DuɜJazx@~Ɨ'KHF,1zn5K3xPt~hJG.m&}B=$fQ8 RS\}si+uyp-)),&&R"e S(ݠׂ~*63RAډ|dpb΅(-LuY7񘃱u}XaFB+ 6 1^ґ&[qVԕio_7ࣷ}?ww' pUYw"P]on~㏓$kh~WE }MIyzL pqtIA {x'a91h5]PUCY(E쿺Ĝ"t 00շU 4+P6_: 83՝Nܝ朰oWg݃KJ{kҐQ,w? :52$x'e);gύ cÏZl|Vvن@ѥ]||C(=,A ̡} nJsI/$n߿²\+㱦0]L왹#)A6.7߀8 aYd?-yYW=E "^{Fcd锏puO38f=[uT#1ʫUR>?-΋CMיe7u#W1%S 8JܺXE)cz Њ,+.O2’)D(IEԜ?ucx]RxTv]0:\ZL9_z8GYNۼЮCW'uu̜\59/\!f=rCXkfGe;0Y!]ExXLT}fɚt~`W,9vvhX^*[#U|""}X&h %ϥd21\+W 꼣IW,a)f~5@_ Z}؜?ddU]Id+b=2of$?{+mOoĸ7>&H Y`d (+#~Uq/MLt}^4O7)bxG=28dUIs]esyM \Z ?-R<8G:O$ύZ^oe'j{pneH+bMJaZ[KhrMєI7Q-]cqX]" J!e.5I,.ήӟ2R}jTֶ @1bs+tƜ`gϴ&{JV@1 dzJd'T\[aF8 L0Dm U}G*TU݋7:c3~|.>5ѿe3*53p>aWDvQdҵPUTc-/!)pQE>~5$bb|kG2yS52 aK@t9x?2b/OhoVՓVY[+v[9Jw:K#Kwbq4p (ǥlߡ#ƚ=ˮf1ek)G#:@qZМzy0ټ"Q8xs"[%, S!N yV U3Sl)C2>@*&w=v&&G (˪|6Pm`@e{_0O@{űMtdhabvuNwnb e6kR+ǁQȀKn9Kݼqr 3iK4cܤTmM-;T?̩?4lvڛYR]dtv:v줨Ud8 XU b-Vk?OKB˺ko$jaAxK&"na_a6/pҔz{-l*U5OQTzf^I=7Z*ɽIaփ OZ'y=H{uS2, =jTgcՍ"c1,/m֕D>/iYuZ\ zel-7`WpF6>qqiq!xB*K0~%o_@+*)! Nt) JӲ$,n[5|m e*A>"pr;%kt;.>y8DZ~~Iۢ`h'y?@II$fэ>J4%VҚj/zcF-Vlt/r *H,Pw]A_?/N=D52n[7cQ1cScDa}0 vGt9ɏY*?xƳ^U RrA ¿>дyv8ă2T}*U1P)j*%>֧+B%AG0& N:]ޡQ?j؞RA{f Nbܪhu1)&UIDJ?#0!]x{9=5(XogEQp@m{k_0#.فU҄/jd%J'F? jTRG9F+.es5ٗda))mR_-NtɆ=ruN~?8;1+P`g! @ * Rg4%1:z1,w_W׶U>w:֫z_B%IR6?V_VyC|=1⤬5_wvśtk,lbBQgHQ׋ꐸj'1*Y-)6vRv& @\{z[D7}ftzQ@d5e1FK𲺯 F%mUU7`=C?U-JSbk |3Ì-TEIŚ,2hAis& gNZ #/s|$6w|E/7+̽<5P-ε9Pw)EFڎILdY~ 5ǣ7X^:ӟ֝Z.;nm n8AP:B|4JV`geG{`%Z? &`%n W3ȔKEj~XL #|Ih:ZakDdcD5kȿs0t]>on-(0+tI8SiFNF_:s\g{p3 ?"%'!6e_Ikox},20 RD%+73P}nbхmgkX(Q) v_Fx,d1hyʾP}e JwԤ}{O`&KJ_d?GY>ܲj!yj$\f(ѤJ ß+KQn]'kR`0a8<˼eVvA~anu*BExcPMj6XRԻdhZޣs17@Wd B.~n;zglΟ$2ԅBPJ}#/Hv *huGܱ}\GwYCp\8.[}` 峬 ,[ -,zI6~~g.|Ϣ5N״AzK@UwWM%!rCbʊB%[h&&E[7VK|(E*U͵"4 |kTJG)Yc3`%>h"IiF%ƴÔF jփ,%%uZuH#X4qB-k佫ؾ `6(SؖH+;[},%"%L|zIs&Xگ7 Z(j qVeXLهGp ,:Jrߔ; m 똇/pc7x$?@[%˵uu}A `P9@]@$E.+-eC›cfkY?Z8DҧXFZñ_}?IiP:&OVH_a^< +!u`2(wY>lWY.tl9k/3z8ֈ=@؉\/P&`]/1[~Lc)=T PdT4$͏f+9rE'/`=t)0)ꙉ))uK Fߧg%}CN_( HepF,;gtԭ__ \OχGDeyj]C"cМĭЙ(C,$bO3@V`߱|GjsGW'^è>Y<xR*ʲ?öOcyt=Lkk~'cBT7`})(˿t]W+i%%GrFsj>(E^ZCbInj?ZZٔĩK*?+^JbZ.\y%ocGu:X=[K!c`H⑟_^h2mƍn0nن.S\xH pztpJe#d۾!""A-i楰#1Gl5{˝BBRx j=Zz _bֳk%`riw(Ǔ6&lg)5> Μgntk-cX.k ^vj¾Yuځ˼VU~,LDd ]wȣzZUK+1f8D) bO&^E9!27}}ԋ9IF1gNZؼM7|4bง NkU7(LV01/ 'p)ۦO:ddx(AfC#+}U כIjRhh\PsbF2[g๚ u% k۽9\ԯD$5}Ӿ!`$/9] Y1B">% d (_>8>g\'B^{<͔Jim&꺿Z7&%AyF=ݢCB І]J>=+Nd7HN+ ,5 lnm )4Td/WZ2Voy/?2**з5ۤY?j}GElnR&lٱ@! se1Yܽڭ?&_zSDLbQl/ ;P@2`YF\8 #O_L<vQab3sYv"[ɎrcTefI\fQ{VJ2"~f`>5gD3dѼ7+uX[!s^ϑIzy6ݨ6ӑ㲣n)>{Vus~+ʙ0+9FZG:ELCemD|{M0_]l G $+Mp5Ň[}/d[,HqEЫGy-d!z=%__̗ G[8 Wz [,_B,#?\fÕEW{),^Kh|j7MJ6G$k\51R}aFS@yvpe *b{!-|[JӦTY߉)y[)`86Y|gCDڭq?*D8I"?ܐ9'H">FzNfKWLnIX[+Ղ*uCvBD&ײQ8sWH6Mku}7>_m/N^dX@ݵZ%'5jnh(?C)26&G.ULj.)}a nBvռx[eXRd/FHr(5kX3ӰEw,yu/$gc-мPR,c@L%'#.)wWm[5S>F2{>r\ !*kk*N3Z|o{N◝t]EW <ШqM%+8DZkS0yW,z$>Xs!߰oܽ\o7>cQʴe+6lUυ_U}Og)٩~Z_a?ZmӣP&TА2SrIY_є*0 x9yv>ۡRY,„&-]2-ej&+C݂0>[}A*$B`e{# tp>>:ϿDY!p/?'fl&bS7Vg5yQ-ijlmI1YRzS#d]GLz-Q}h6%AeRެTV ]+S"Q/lEJwvoLu顡;Pǚ--:tx`%L3U*qEw-2V͒P#7hE'8z 肶VUub ߤ(F"#ZU#:|2ȭEljh`?jzgݍ_`6,H>5SDr͈ؿoqfGA#.7"el}"#Zc kdye ݋tOLޣӗ FQput ^j"Fv!/qæVvCz֏'ݯr9z61KU^z_FH3>>Ka'9H H}? |GZp%T$FEdNul= !ܲC,-\`>y ]q?GmEP,piHbCZm>u\{4hFXg +s8_p}fݺ*6uF^*쩾4h~.l=C=O' P?p7ߍ鵸O‰S$-8z87Fk)~-uX> ;ٹUVkt؝;R kCY!WfGӔm :#5[µ"؎ e#@,YBiUǨ`ʊ)5J^vF&sMI9 ٣GhyF Un MJJ}4 ݔc}h[H&k POӏV~(E*Y =<7GrK1`cչiǝ3ζEuuC%%p(A4yŰv}T~qXQЬȐ3L! !b6Ns1҉4V { jӼ'K:@mk\2 GXhzBr&w<Ý,ݤ@0: !_WW43g;l}'N8=@LU1|qah4d<>O8_8y<=HumK'wɷ 1SF JT Z<$U^9`~.*gT-U5RI`jJce&CO+o%wlwmӲ~SEao.]ݦ!;̳E띫: |A#י0_K+%d\Z Dh b5 )[AJjB zyy<`E0Oe^mE}ˤ>LoYjd# D讏M oa} ^b k ƯugߖĻ툚0CFxS_3A=NJ;섄$ F>]SWRM#4h/bdԦ\ig5N-=ZRmvM벯#9}h_/L ; B_[2i,I59\WZuK`8/JLrd`o9#4x̲sQ`2Q%܁U+4BbepUKP}_ׄaRTnE[!OCwnKhLJrb ko:oiR Y)p!gu<fH qI9cD/&F'{ smyfE67ֆtN B 1~gdE whk͛gs)OJޔT|&  ёMuUއqG+x '#j)~,E lB].OZvU FHlf8k/U[qW}8ﲖ+2wsm~Bobya!D9u:ϧZ`mx 2w'!_0 [a_{EY֞OlWd5Yřᗟ< ^#[ySAaZ2Xx @~DC=OE;$9t1Fxq̜[i2P}3ȵDd?EQ7t Ɋ$_UFs.c]7G O6tx+a'kQ )Ѿе4*dI0;מm]y[[V<\s."/-#œ2ޢquܭ]äΡ%p>SHkOwUH(-Bᠴ6VVѣ0jZ97f/ qhQ ;UgE>h T>w" e&Gn8u/9?{Dͪe nS0Pq5ӐL@vؕ>imüz+҅yi1 S]{'RKk,Y{tʅuv۫fRH-#FkA.&Π.ZsZnHDkz0q8:`1p1-eExMrf?4?E^d_9Kn&.V \MED>WG;@6:E e45zeu?vR*g"@RLw什lGN֣2in-]-~(o6aVv݈'5gLzF騐ŽХxo~'ɾ*kN*/Ogk=T)fUn%LD&O~刔=Ű ߰RRL9{lpmaM+h6/_\SXIQm3iGu3+Uz:(r@,wW}>MGN=m,=Dȯ=j8<ܿ챶Ǔ*'C. nb@H=oB5܌/MH ֮_Wod#\لD${!XYMM#?W` mUo[rBTgoHbTkX`ЄyPo2=-:-ey2$G00_ rYpӤ}eõCS7GTVد#S6u D Z AzR:S=}J{"uZbVu%ѕyXzCKщRDl}Df15` /iJmjR *,8jpvWCF`]7rcyL.3`r >2̹XM,ȈB.',=*agLk b`r  eqAÃ}>ReȰX.֗h9+Z"uY;2BۍQQ2$K𲃷g[wf1gѰ1&ry^ |:t̅&ܢxOx&hpJį"Zڙ, 0ADbEhziKPO0$8f7/PhE;c12:sf#v qqnO:R /F 3_^O27Kƴ@_.-V)?f4V^凃2~`Lgs>¬}p/@(EnT~)D3%IeRTg%}>bI ӑؕvKe:kid5y~]#Ⳏ5%mΐPY쨞iV3[}4_(n5iMtgG)ag<ٶ3͖YbC]_ $BR:ty>K:\la"V)$ GQ\f[q_Q[`\_y]~H:b.Cǃ6ac!.xQ9p|rמ4]Ϭ+w1ߴ^ۊ.qm•&|p*h5ڒgˆ/iWu~wSJ}R-Icknd5[i/ C%XnR5O],ި3X!3nXK7ba̺XȊC E(9,K._͍v~#ODP*sFцQ:`RL7O5cr~>^;FjFc snU(Ar[m8{Tkji2ȘmFְ{V!HK4ȱѪIű ׻"ɥ A1j.Յ#LYTv1j81"G 6fjvٓ@P cea<%M$o^Ɔ%@M`6e* 9~0|uZ-O0$F5?f鷔`=ܼjHpg31$$Фlzv>a8qĽ vأJ|!OY|ka,k%<iKxJ⽷(4S.9,L)TO(4w&%A(W;DjDj>Qyx.]hrTM{VU`[tT"jkl" < ~v0o4g o鶫ۺ*'/*' e5m_Vcݤgj!aچ||tV: Fx<}AۓƘ2$S͗"B%^O8E= #F%0 ~J UI~AdDTI ]̻%H%_~y%H4[8ܲmN8MȞ0 &j'p>fT%[ iK|6hJ?Usew",B%;ˁ'2i`nC ^}j`w/y~@rFSC,VE FUnO0g͂X7+,isagK9NŶ<ZC󀖗A+ qټB2t*y!"w~MU]&Q̘__ƧFg59[689۟eLs0lXt{vo9H!+_Q\7 מ*JٳxR%G.(byk ߣ Lts()7՜r+̑BzphR{TYJve#B]{].e:(%ݓ}$%B*\7כylXCׂ]Ѳ9ĨxR\YY?!Y̬a!Ău#:H`q췶xafDm.h_;vQgőQ^E0co}w~"j~N}fFK+yn~ 7zG/ܗ}sK-CBٜw@) kV9:=.!GB2my_=Q@sr͏f{|tA sG!Q(=zJ|%:al87"L"s@$B;G7$8JɓݓlvS\F&3環/\.M4sŤXY'Gq[ zda"/a"S™b$e3~'0"NdV 8Cxvѿ/iVo9͚ 3^(F{x %`ӭC`DEO*o1r)B\k6xͬ|]sc23.eΝ@\9nqtD^ʕ,}Lpi`uf GbMi'y{IwOxQR 7z5CƦ8<>9g+3%JLw(?ىh;Z=JN1U ٍ y> Z)"]||]A}26rmI:dEmL!FTy1/Ƈk}}.8eYr {61'[ͼ<)gʞb2~UщA6VT,uNaggw7,j;>LhME9 DfDȣ@Sw#&`;a`/ze?pׁ= :xl)/mRk+c6t֑'%v 4X.'7UrvP$&BJ&$2[ugr)+0ʂ2`WA$CF\g6m38?nrus&p@?hQ <2%r}AkXgx \:.Ȋ,Q5Ǩ &TVooV4~<8"4j4YpΣ(ge+xI`5!cB䉮FCSW5x[$->.WC!3cX|K:Sf ِѵnDqdnK0FST? mGEN-xdV)D VX@|uk-]+WAwOP,+OƯ ?XgY'JXeOyBnF:xОsXu baH 4!_@ta(։Ts -Pc0!˧( ΃'CTN#!'n޴A9Es?2b.rQ\ᚶsͶLA2_%yQlVGuR*)bY9v!1U.SnSm69oېi7vt߆ceJ%Wo 0DsjDg`b*w4TvK/"]TQiNjʐ* ۣ91@3;qK#]FC_}K&љJQ ];246O)CBAP+(?H&L6}OKEkwN}$!$gxsL|쳂k\`"m:I7]]aG*16EӼ_%J%f>yO5S?CoQ5wGߚg0ef$17U`|Ob=ָ=DH/IlIX{xOnG"! s eWG9q@RA W<[/L[’kMj'R1jMm*|N=Z3knj9&O>eqFܵ?h:޼;/MOZRT8;ҽT x6Q?huX;4lnJ {I g_Xp`PQ<]DƥMwwZOT՟0ɫ ESNb%|&.B^lu$kH`[mKFf4Ec#Ҷu5p^K#<@2Ēph3Xuy* s߯lJKrum ~v毁Q3]L A/ePcwhz_3"8g.JY#cO\k[ԼW44 JUtQSFި#ײ&ݾjaZ"© nMp  /'uǗ3 ee ɓ ayljz}6>̋ʊ4D'h.}zzc\cK3[7z"_C/QG_/x-K郼Xnm^jpi\BfLTttxk4T WZ_I\^vm-08QS/ťR~MaIe]9oafyʛ)cKnk1"\s9E?^p19nz>jg!T ݱOږS}oNfѴ? !zVeԴ] =ba1gE!׾vKuK xPu>IBD>ޥ7M .|`m.{zH!Øw $@AN\G[D/f#"}I,Wr~"فazKzƚM~Pԁ *P0WV#~Hh$9  kAɼj{P*PHtv(af{_Q++%VrYV 0Y(K}[Aqd.p-빿h~cێT:o\y:'Cwh6c ׭:a84rEc#~1߿@'u:="[B2EF|4G<0# 0-)֧nNjһ'3n:'\amUKjͥ&Wu*m|^|CSR&M&rMl*ߑΣxSF ^,YomS#Z܈<( iwGM-FDd2Mw*]A4*tʼn}I6oU{ލA[氐Am%Zc(o˂Ys qrx8ha7߮f,ijo,nw@!n_r:^jvǤzOxn'ucO`ڿ>oD-6\F~R* Z,M}A}z D@3@F@/'Rl: z@Y_agak̿V [Ͼڹ7:7İbȐ^GyޥK- BFL adb>Rem@Dc =Lbf*= ^d \*s_?|8-Zȶ}Tx_-S0]|RĴ^? g_"AǦ(#쏠pB˃ܯ_@ +l7u]`a|Пvؖal, mVm[>bώAG5Cx.JUܯLS`(牄Jp+kʳIÙR77{ɄTx0}pj1~?bxG_U%qC%oªv&8󷁸ry|םwHsR;{g]=ݔYΣ6m= >S _% =ĦkispZD9WuLmOvY;:(hRҀD'Ԏ`LJ#x~L8gz5Ƈu- aFуBgX7 7Qe'6|AڼH"X)W,@mP&ls&_I FY(YbF2T™GBr\I}s7uaNkEp>2|'/fu.rǠ_b __WАE/F+d392 {ыu0ַ#7>i; `֫thƽL2f%ˮ,߀g")(i~R4(eh8.|~4&^3T,͔%NjJ^$ msOPDkd %R|#X$xe`JhIv9C$B](Xb~j Hn_Q'÷[Z->K>i)xQqik7^Q_6, ďA58pm_(;LX IgSv,~PA{@)s1;lS#?s: Cxd.:L4!X 6=QCI]H|B#3KWdvP3? ~X/gHFj^}5!J 4V֠E291??XBg 9~}ˠ?u^bӴKOKLʙS0 f%k:x@5H2FaSԇ {C[$˫6{K8~ )׃M^ADljZT_W~v*sß CX*}`e_ڸ=r\>x5J>KOs:HZCbuC}SvǢ#:a9`GM"̓U7&砛~?_!UCƂ)yv`9_>H.~8{.2} uu x_)ׯC-B؇BfJ;D)}ySu9M& {K] ੿ɡeP_vsvU)k} 5Q>BA+QEf*ח*a*CJ1$v 'GLn>QNgi{ԋ'u,'4Z!F5Xq}64hS`Kh϶|FȔڹ/P{KS% yLE-ٵ ?(m-!Y|!|7c߷Qm1urd~Qp'qN]Cor$!k񉪭DminX)jVdCk*^ejPahcU Mvm%qu_Q0Na y;KDex|Y}혫m*kUhw~\~l):{ūJk_oB)4}԰{/TGp惠U%ArXy43Ś==i̅#mSB8ZA.y|qDRz>x( _Fn?eӖhߌ8dZxG?n~M]_v %:?N`b*qJR̜7 m.NMv,ߨ 2 1eB:N Z< *Kʩ.Eluz[.vu_o%k7 3|\ ra?6@v}:N96C al!2He ђk}VR2TӑcyC#/{)Ҕ )Rha5ڞ-Y%(V`QohRё=o$%9)D<^~~PߑUŏE>uYD[ͣ2uL,λi=#C^K7wק^>v2Wk"Fތp ueFD8HEI{.B'] QzY((] J<̾`[q5&cd&sx4@LZ7[Pٵ&zp Px jVdàꇭtaw`Ŵ[3oOa!Fh2bצ>7%Е:2&40q[8{%lNIqܯvDb_/$(QcEyݟ:b˟<\a|+!kGojtf c:m*l4~BB[5[DMėř;㍽o-,N.#'A`1W([۫z驷r%6]/ہ+)zu''4M <b45TQLoq(E Ո{x{G/(hͼs" ӗQ ,Κtf_"Z%xtp]x,!yH/#^ea1zIUȵ}icQ,-!Ѵh|.ߊd~*k]XY5 6(h-;cOxcy{KgsZwhpEްJ ~Hv@| iVcY sH^>[xzZqs ĕ{T:ہ7Iڮ0{M^Fzͪ+|-k=ȪBs%r$^+IXt5TAoݘe;DBTOsv)tn[90"[:Ls䖢IA9?ij! 28I޽6w d[7MYj7j^@?a^:Vԛn%|r=\?q#W\ch<Ƒ, :xjP6ؓvwюTn fm+M'ʊz~-$Gq>SYf?5훉q@ko@]rڟ]D1)<󺺅pXR0:i.|gA!9oI.Oni :!!v-a ./2BM 7f')$oZ6]G ߛ .gI c|Gxv?F."g]I5=OD$w}A!=~!rSS)-e7[nW^+swdW;Z ;_F3E0m$Ma%٬n'fY(巍$绀a0wM"M&!(̲bhz M8 lu'FI/b%d ;/96 `D+u^M2b(ƗYw?%t#1'}ҟ)Cx"ƫ7NFΓÌTI~`FpLY#a,beDp! t1BW9u,J=`cP7_{_q@8K.]x𝰓S,AbenfڟIMf|vWBp:c/vv횱(I1>5eNt:0|ѧxi1„4e}kEp9d~8vuo-Jr%pTjGo@ʈطr)ߧh^mWy>i^rҷȦ*ruNJg"v ugE.')}fg=~Ϗ}q':J޶(zQX0)nN׳8&[W P*!f_6 M)-DSΉHnw iAEfNIlۼ~~^uYrz˱ZM9"_&q|toؿɞ;kd>r1.`\(˝Cd 1Ʋ 'ָ@' je_AK"}swT4w?aۯzos<QSĘU^ nv{[Wv=E97 }|A>;Z*{|I/Cya@?XQn #lP3(XWCNބ}Nk~<}uCZ&#PQΚ+ ‘!Vgk~@eZyBeR4 f!C[tlG1bt`K~/gJhz| n"*襴xJ?U!F7s);a<]6YP $\vՕW7|ostۑ6P~8X^f.L䚮>U,>=cQk?FhIw|vhLO.P,XTF1y[ <3;/bNTKF^$Mѵ5o}lG B.S ys֭~fn}WHc~\L3N1re:B\$UTKVxPi7`ѝVtyg 16Cw X 4!pvMᆒ-UqJv=o ҢY2R'tOpN+NշGy&b^{3SI8ڂh& vSQL/dD_(tɹCǐ HĬ-I>$J3)D`okX`RQxѷAVJ rVEaxjAfЇx*pϓu6Ss\6v݅y|V>_8N)-S z#ґ7z\;cyHC!ꡜZCQi7aK/Bu7;suAȇלeZ븪$#}:?']~S}w]S" v3G6Pvn;Ci(I}R["Em=ߕ Ltf8 A8z99Qx=Z%>>'j@?a~yZ-yS#޶sN-RKceIe|ߡyQR= DI( /=&w~q}77]*^vR߉㣎ub(y D9A$K"bKn^|goo!~1 +ސ~rڃDB~*5[H)k9f4(spv@A lT76_na=Ƀo=v܃L+:W#~/OQ6x ]Px7{)sC<;4秿R穈rnv`FT\BNc͞z62,eąf#`?#L{њ&b/I]w_YS@J~ _s<5V0EROrx`Hsd#8^ZrpGKfhBF^(ꍙps`:]BPy2TO:&gb7_GEh45g<"62SM9< @9(7V.#['裯秧^rrα;ę0d o{RP1E7ɐ! uՋA`|"`rHh@i1#Eyؕ"l@Tu+F9}+a!{c[H28EQG59/ g_` ܦ9 G5#qƾHCΪ$`De%07 (l墂D%n(")oLn`/bܩA6f M7?/uڲِQ鋧Uͅ]%iK;"@(Zr%TyIoIg}@)(¶-܁lmt9ilXT)h:x-fOzvfg?ٻKn\,@\>'O>F/I#{>=P-XS/~|mPP!LbIjޠI0Bg}ј_( L _Ǘ.pSz)2;%k߫[H:{^q<&Yq0~0!9L?1dr߈O7eʎƋcر8k!/^|4G|nKY$0:x~XKK #kC 8'FEM(: %Eyו,g#; b@3߄w@]|럘[e-{|cǭ^aSx7ǡx3|dydVSPzk!E|9T1]ͥwhoC^RYR6? H.:-/;lG~Z>O[T:{;^vЁM:;N;k:Sqf>./}O(({ BŠ%5 2շ7BiJhi5/vJf~V.+?Q2eD,l47|s?P]Xb{ 7U~k;v*fobp]?{HvL a$6y C׼zFź-_ 5?~fּ׽KV]ΕXwrG:$/uc e?/n2հGAqXӞIFd5h ИMo;0x=6˜lC >` Xx$6Gx+KWb;9Qx]',)@ܕ%,$mzO/8daZn'_y v)G(i,pŌl248bP10,f$g둪=Hf"k[Pr)V3x ~^OiS+G9 (_k2֑\h)2xl[g)/c!C(<\vI0uI>is&"S)~Vs-.ʵe֕Eh)`hփ$2+Q[nTC= ̌?|CWoMN2quy^le{_p !t2TFDS߆997f}T,@M>", MEYV_4#C;MpI$铿v^C=;z[/̠4K߂ݝ_ǔ ޣywc6iߴ ڻgHd>tlK#:lpt@+m%?Ld8|aJ$<1l~mx5NJ c`oj;G{ǝdyKhs0ƃdB?qkecLd,҆C–U3,Åg q\AΡLRI_}~uoR-k Ϩ_ ĀVl&nD)ݳV "rˁ;&Sj 뀟Zr"ڑe*8|G͝3x/jؖ\ ?Ttc<"cjX~#װؑ5Ҕ*̱i\jbt8xkj X; 3yMd~2v{p34GM -%sqoX2 `߽};TGlx؋jNM -^oI৘UDs7PX"DN:㬓w#-9|ao_߿St:L r#Nym<:˓r2-@7A\BPU^>_șf~X'M?f\AEA 9T a *9ěj=ıp]su$z~1ŝ+i wÞ kU2!}؎Rw@`sR2.9dF5,v  )5vyOV8௲>;AQe<%ۙPs F_rUb};.IN4_ɧ6$of+uP^JQ*LIIӠOձof=`1'f0k}c@)]Pϵ9A!AO1z,{=%rCf RFo*7*Ny_Rە<t0_ ĞzK@TX=i%u`:7NGkP$eGši~,yuSkUJ4x26^ z.Y%&h ya9RTͯ_FPk譍W@¾90;}C{hS>Y:~ /`0 Ir`V56[ho/oڜrJӝV2:˯|u^8b/Ʀ!x@7M(Ӕa=a2Ҥ$s O -;'>M6j=.Z}+>>x|9:90wʼn>4љi&F/\Wt Y<]I|Z͗v'Vd%?"܄#Y̖ ,m'Mj.Ў`2sAG#8h4_W ݅~fIg^OHsZd@Մ[3_tDm>ť|}}qͤLb|^`*aJ(F@T}\WCrY}Zh*uXTX) _Sn7:T %لLIv͓ܒσ~kGwchhP97<@\FlIKRi #Ozv jOF)0GP_+uĖݲ\Dr 秅j;^G iλ.CF4<m9{o[@!#'}\Yc=3l5 ?h8}Rv_XK+6€g Wn91{{2}9_ѥ^E T\s=5~@0O@жΆ懈y=|[%.Zű[>r;ꚃ2/ ~G |m";i+:Uhogt1O{g6oKiFK+u<ֹW,RDy7*ڶq<ou×z|_y!=jOy0Jo#Gs?l&ޞieJm-fo){qWϣR_L%)]O?T0 ^%>W!~g0#n~e0Y&~d.'ZhoTnJ3iwehoB HEQ)3/,`e5ssmg231e?nǡvu hbcӵDv z(F18pV&O^mմ `낥k:T m>h!ίr0-(ׇouB20I2Sy VW~-l9lЅ[5ldLȶpd"{JS.jo~⑎b,; d ë77G` ]w?!|uͲ0.8:3Chc9[Z޵>.qxp ժEMX {UAqK|DS'5 3ru++{/Ugf3,In5#}}w4LBq";{RɄ"1p3d ޖIJg=V q:!,@ J 8$s*٫=$`K<-4> n@ʱ0ƅ1C=/IX{E j vrBN!Ur7TYϵm.}2[rH\IӇS\ *z'!G#;9{*L@ 2 nɌXHfO}N9V Yi97y},XY9|C>g3稯/stgi^N=]f$'O fniK,{JݜiŸOTDH:˨4Juu{|/ZJoH@][47E5&\3$Skk'.^#z%2B EFl6@- f4@_}T;۳Es)ފN)䛦\4BfLn<;3𳏻AB"|å5*uad{ι-߈E ZiQYEL$8fug^ K/jޖ 2umHyNYdKI{o֧c=qW_`)/QR04 %Y0%(["Y|9(򥝑$gw4 G@]\E˸fo2GEQs= Xܷ͏|]ѥ֖8Ng!0Do뤨Svkx4͉=U*~s8*rW=#59ǽWZC8ƂYX82&p=op6i(J˗;lБ ZyNgpJ.'Pn]f#;tW/`襅[B.?`CF KD6^ u#ݹѲֿHj=fq5ƔLK)PR`%\IP4[h7Ŧm9cMZEϑɫ:[D (yu뽣j;~!Ul~n⌫D\6`i[E\< [˱w˳R I+C mi$ bJ>[ "uwj#92u>ig Rʿ]jq =|`VfrgEJshچsMn++d8mEQ9LN|lemeNS/-}9rY\תSR.T:W C{m 0K`,.z??3;e iD 1zvE}5eL,Ὺ||+pE_ůJ הIg"C&my $cǏ/0Ag<`c|Pߺ_Z4[k>`ʼNc.v⺠X_9@xY{sVnΌnPxf|~nl歘`E@XܼQƿ™O.lU{/nY.PmaͶ0,{?..UKrY"e 1b:.5S%'表Y9bo[ ^ \gf26c^Dk]r59T'b, ;tx3 o{ǿȀ0.R~ϲn"}DL›<`=WS[]9קּP(Ո߿!k>wH$n^v< ^\ã|C#.q:$1 ;m7[ܯ֪5]6ʆNҙ "a;D 5'U<7蒭:FT@V$RttHsY>N7<{\|Sa }P?şi|6­رjuO2)Y"lTmR0X}T|]=zn \`M2J6R_yi'cDxUZU@s5W{![GY@Br@5ASwCFBXPjSQ;bW)~݈&M?m(.{/&]j&Cϼ9zEP6QEum|M&d@U^uqŏIe],AN( 2D׈>ɭ֦}}E;aSs@o}KϻM_*8,FМqVZ:@Wn3(w_W Al1HY5(S# Aۜk^-&NW[V VHg0eMj (׋YBxdI75WgBMHg7 1DgQEEi4 8( T'ѫp;cսKn窬21ǚ]UvH\LD!J‰J/Uwև9Fq4%(_!{nu-V[޷wޙq>E67[(H΅E|P-cIt @1wڸ|F&} WиIc EO.R4m3Ɗ( BQF;53֏Kuy2#-1f?OIJ7wBQ(sS#)i(1KA w]mC^:&y7!n>7?澗KLkS.nS H hXJ,I]A᧑R6Ekz˰D0IЉ8pT/k_ɹWVuC2iO]ڼ9H4N4l#Ȳ}9 &߰f \7ߦ7}te`~~%f uyZZ\;yh ؞G8m^xo)UR_ t)yAB`/a%J.k[03Q[2)tLX}$c1{ ڷQs 5X:!aqr^ۜ}ɞKYNײPxe\ƂzLPeH|؜mLd🰎IA]O$=fW벿Y34?* 8J^;8;8S5| GήO uZ ~If\(?6H}\򽶬9? f Pԫ]8o""kSr4 2K~6SH_#Q/L<iÿ*c֔hiW\D>pqaHYR s2)[Uu1)'v-xw= q{{k F̶zAq'\?~uj=k_t:i>:.3STKqHKl!UmEc̘̓Ko_ dK&>dъ!@{p0'љ?[J!&6REZqyc<4]L,h۲ba J-&f|wzKH3&l>P>ٖ-rqحi,Q]XoKwDϜ꽾VzFee[Ȯd$..&)dʇv*R)1Ў@A1[le9N=_ eiXKo$}FGO>3:ww43gr>KˮB-I=͙0!<\!LyeX K<\֯^P`|53Jo|ږlX.D`/3{\:x"vğP*!JJsYG>;V+D-]c˓ < ITYN m6";-}]z>NN)r2y /nYXBdΘcu3;QX`9 ^m۲q3+ZN^_uhW(ZbDVh>9M R~9.@KXJRr)|3XE'W*Jт6Q fjtlBVYaIW/3NqʿQ_ ?]dt/E Uk<[omr&>F6{ w|O߄&e؋hm -/DHLsIyߴtq؍_w!C#ewQ^N Qx{lB,</_]_nfDKWnylLb?ˑ+~QbŬr|+hmgCD_ \IRy=ZgB8/ ;l3-@OZ$-(ְ28]cɣ%#@RSɇHu1#`f-2XP#:c#?{)[k˖^5Ï oTK;Y251\E=p5>0㵴8{1IIm)zFO2.mmk=53`skVr³LKF+T闘2!9yhsN%LJnZCjgdG\@DV.x1q.#G*(b[@~wfcuށ1BUEG=͑;D2~1=.f%@Djep'e;"dQcNY1楏.S $%ig(w^,4zWy!~&j9'R Sn_ rWOj8ǮTۊTy_<}8yNVoJSiB SJ|xZg*]JC`ELlK| ;,5gyrG7^b,=vqnc5[# n3)a ?)+vF7{,]5*zp401UD+G`LAQ]YGAz珔^KV#>wϪ=g" vnm U rf]x˪akԙ&'G-\я֑b3(/6EΎ[d:#zTe*:л=67n2$;&l.Xɚ9۟6H`ػ` BNDЙZ@ J4*Ц}%Z6N AuL 2ö٪︽DR,쀁0O |كZ{?ѫ5}F.x})-U*"5ZyY%qCư.o2Q.e`&w%=U9#4˶Po4j%C%iLuI:ũԾ޾Il*v_^ta+7cHZrCrC!7 vb]TAa{Ss0( ?HA5}z{j:۶ۻq$$&eTWHzp&u!g؛, Z#Я¹*ֶ\nEލxF> J=,Sb#c,$:ir6r|ӓи[k,oݫHcGX( [N jb|jzyX<ߡ 9SVyq$.FȨuc'ޥ8f3 5^&ʿһHņݱPy|4N>ޮ!iI+ Ed%\6i:qyXn{4b>KL9 v!C sXZ/S>L*˜@QJ+{ 8:U ~ԈЪZǷߌ!({VX!= +4 .z7M=dTY՗Sk.MKuDF/K ]vR I,zCL {"Ւg#gZ93YQ{pPN"¸#Ym6~;04W-OoW2- 3";0) ҆ r Aqڕo}EIfmlwy`||SfuCօt IшgQ yEF/a _t8+"YEXX+[.9J/xr`^ 9Q#}EꕒhD+51z[.`Kz4 $nSώ>|K\.wWS01 Zb%e ChۆBTr:7$sؾpJdfN3@x 2(V׼3 6Iꠚ_X>EC,d=K_"z*膎7h/va[& I Wl|LoSϫSB?{ͶWSf\DW (ɊG{2W ۴i6Y&$XX3t`}4M~.xul'bYuX@^`~䦋?][LsTsy~<>BsE#o'0ҽ1cw!;+*f+/nM i>?y^]ahF9SkBIߨCF{]@.~%*Lf7 lPR #^-XK|n;^S -9DIՂ b&hTi5/EX#}g5!NuE-/9zJR~'Ŋ[倍%5mJ5oUr?0,]@vCͭ f-nh2u s ^O\0>(\p^_m?cK$2)V蕼"^w/O0Fd)f)}(yl%$OEF53J#6-#aUĨgc`E5$SǬC9:̞(7A:b˦%?YqƬq#x:%A¸13-6Is0ռiեOB#>òtWn 5QFn8Z&9*1md3Q7GۡvBdz|\xRqw m!̩޽jN]\,wwJc$H6feaMS ʂ-}{v"x= 8ކ2|F\,bY;޼^T8y/~ab֨ |%ULE}(ww=,qLt#p1h Nsw"tG# *t##:>l 67q#gqQmقN=nk&;Os|9Xh2)c8II>w_0e͉M@-B̟h-WyYe:EmAY%{ :|2 "eͲZ:zt>m\_q=R [/ෳ֢QtY. k,wAj3c dYSP2̇&-֢6IqtrCz#@zvOg_N4[]Z\m3oZ9!"s~)ȟSF*7.M4c_m2' R2T>~@ wi݊t8d9V: )1Bџo"K]nw{m#wMwmV)Q)xyY(eQ=JZ(,a]rG U$:_ `Is/n5iwi,XyMP`XXȅ'w̦ӁJv6}c;*|d~.vNP#[Ҵ$^f&1I 0XE8H"hg*b;yY+K· _WrA2C"i,eu*/ "I⧖N|(t;L lHlήQdͭY78^E=oDOڼQaD?MwE90dcn.qqCV^].D.Ϗ/3$#0Df\Ь_gۜ35B_yvt/A>NYEPu<~%q>Q$aq%Ru~RCL 8 vP<8鵱<調Bu4ir䖒7Ct*Ȉ$, D6<6 f]]"sb)YqtdO INj<{+<,o3 'RZOs5.wo:i^/y"zDj訟iʜUޝe)F:oH v w\نմkdF1]˔E` @N+Gt=swqHq*3ץ/ .EE꼿#a0Ckg ؃m_sADƸc ˗G=hi|#.?x>0'cjxzY2,^ tK+ |;44U2m!ԃ mj=&7jElUʷѫ 7*r,Pc#Rw qtBպ?ޭz{Mvau9j%.pQ0ȼay&`.<uە_v'cM7eF1G+N!_K1M2!N|-ωhC/UWݭwO:-A[SR,kaWlpMFaZjX lqўrwWѿ#S9/5w":,j_GDW@A,vF(#[}:ƞa$8]"~\Pܼx-%aqӇ2mxYZzIh|1 JY%%{-Ifm#!냒CwғFPܘ6Pxd> g֓ݎٺJl},5@_ݾgb0Gƨ6JMeV'0°b΀3S Ymmg`$qC3 {lel5&<3*%i7 &?QG9 ]exT9VC7l!umNb4 -4/ ]Ddx0 6max~l0iO WQ|%  >=+ؙ aqX{-kh/ DK~^v9N:繯e4F5Ntf[y+M;9BC_/" }>K 2Y{P٤4Δ=G{#T6ْS D~nupnfݼ1eC1Jbz !ףdd,)ǢJRPS;_S+*I#ʞf;|5ѐZCg|й/4w10A""{V)t["<#84  eࢦǹcJ‚j2@=C{A'1myCM,)L6=zEqOP_+=T(HK#Rh[$s9\$뉺57.6P޹@:U<WPjԨYPVUTSqė!1%^3ɡJN8qmH h :~D+ G0Hr9 4E4pW<_rI_ofLwZv/rT`w i{Z$Y30O#IdUYQ #ŅJtG;Ic $޼qGC9< n8bi|v(e[(Yyڈmiha9<밢-_jz `KKB pCjz,߯I3s*"[siwfA6vLqbJ~<FoCWb3r]B ^XAz7+$\]b~@[lǢ-ΐW2'R.X^ vM⾳pY knX7RҌ3;1^GmhDyx19Fx|vs5tw2#w&Bm*י$K w/U7`1ntP{1 ;\Ѕ?v\Z_Ԯx4;}6F5CQ'~5 0_)whcj1g)`T%i\t N픐G ƻʬ(^[tsu^m{ʛ K݅X 7@ _!3>szfїվk @w%' <~^,a,BY).L3[Dri s/-~ȹﰷ况/S'/T:EmCكʗZU1t^N-ZrɔK{ ֚]5&G5?2VOӼ!(U4:O˫蜉oTO VH/N3Vn& xc(R*#W/<49&!P'1E>ᑓ8Khr1)JLw PW ,lʑ4Xw@Bl&.KEŚehMMoKe,|uh̺L#$=h\cTKg__O$<2]s70b |EsoǒY@GCŸWfwKbo=RMY'*' ṿjSq2CJÝiZò!߉9MtYu?c=擥K7CLg@&SD| Ĕq`( E,urBvMIPu^]hGd1=aj~/w<#P  J1%WaEz!}`#$X~RF:2),Tڔ,Tpϧu% 4bV]Wq u&5JU`1H/ O: yv JЖd>m&.^a tf .kUz ofJ->^ڥc7B}Zуr NmSpFB_Mx^ ṗ ̒j9dR~3 _Լ 3܄ y|L eL݇]m>`N܇㛆AS_'eGQW~Jw-_U?MdnXPM=];0qRx/TR,PYfi`o[a٧E@ՙt+zE1:'1|H=熸\;IxV8nB c'{:rx0{}im~%e͇eaPҘy'wsu3n/'/ǡe_woZQzLwYT8G@?) 2o/e=p_pgrS\,9A˿腌RۼsFdEJ"}<ʧnΓ-YVC 5cp(:7C4{IuYƾ/F{ΐns W]l\Ax&%npOB 'xIdϕ˃`$՟*wĴ$5_E\hv9'*ݰw0ϜbwaAJw0d&n|=.TM3;I,#ޛn%+E>gj k.8D]g ጃ{Gh3?16pAC3%ZfI<.>ҐE|Fp8!4_AHA(aո 5-K9M>ca_d!T=]YJ]/ oW=؞;"!} خsYg? }Z"/ȶ 3?ĿoaߔtoU uvkDLD`\DU8eϭ5܈#`]›?0e3&%v#{|8HaN'2E(yN!5a34rQ_grhY -+g $&!LbJN{BǸ(ߘIVEѥyfʡqx(G K_ӱ]g{=z%O~z!\x, uTyJH8ۧ 6;ϞJ*F1r~y LKη+O:˦6#;.w*mZ,3t)Q0(<5 aG8T'W&Ϡ0=xͽ0m0"I)ڵ2 eSqlsI /ǀ#4ueDQ}a(޸a½\䧋/LM|Q35o&+d]N #s+I0Ҝz=\w^=*w6`pBH~Hc*wՆ(|}:1WiNbH!Xq[Di{zbq|PlDS^s׼J~GfDK ƃ4P?|jr&O1qh1e}鬏H!sJ #6'\ə{ԃ[ԩl&hˬH˰N3K?2 臍L*폦ݗ;C, mA4ɉO|P[άrd$JI4OX^=B'#S5 P@=ū F<, /1gpB UfWI 3╟2W>^X%r~vl>C>5y>G[l~2>5A}Ls#~MX9![^2Łc~HG ٌ P!LY¦5qg?"X^C^?X?xđ[v?dq(L|CR/go퐿W"\J2 'C &F},@>CS>lPUUxE؊4b}H M:3LE?+',TF?@Sz!/MW:6JւC4f/sqԀM@+#x{[fє 0b%uҸMc,P|?xVS F6ܧ6쎊Ic NѶB@^5p>spbSo~xr[V<7ҽD[*ì&W,#%=60OOk1dV)PA}x=eMgzoO`s"qY"9|6Q&8 C 4=a`ᨲXq7񯐳ny4ۣ88$#A;f_~:1#2T>5gEZ81TJ ղGs1vX u;0o '&ל_=rq(}B^F?'_c3!@(IVNz#E&[W)ei|{ELiT+L[|sAS3oP>RA }pO~u.r|3".QW F`Hʄq;aQ8:!YG34q\ F_mBGd?COw/ I@&ـPP|1!x[v}HKJ:7N+O (Ǣ{!3^/dgZd# $w,aKL~VD>$`(}0m<|# 1h>CrCܞy~HbN똻Eຽu,K*7OHn#~KCGaD򛛧r$6 ^s;_aaK:вHAi#0wwqtGdj-'k%k8Jٰp,L̒$[Pu1SW ~ՀE_iZ@^ +ZzK^GE`.O0f]rbǦZd07mDi?ܟﯔU \4&I0srLP4Gc/L(rSjK8Fk(:dޅeK"&Y` FǨ.A }4DS.yΎj8j{<඄@P`Ӱ ڮ_׾!Ty-ޒkpBp IY&?dy489 k?> ԣ9Yу!`wS-M,;IC6H{o_^7j(*SV' _8u|\ԮQڎ±0_ $d* AiҺvʞo|X!ۜHMc~#ZnK>5x 'oCużs{k[qߊlBѽ06nlg5 Q[mMCbj #DqhߊY\6Z:P ӠAGiigTq *՚3p, `¹i>q@()+MةyQcN.v&SS ?Ss4쥹EiY"H >&X"b/;7CC9W)c6i'扷RP$7b"Ç|OneMöEŴkc,7Q$8SՀSι*_m5\ǎ09^HQ." rVN?\CrwwhOT& No0Z<{O=]eJ͂2rXED/!`O'Oު8*tSTxr^w[O``A wԘǍqk.欚p5?ohָ; dEv;IVlnU]˹NLj,MgCn5aQ"\t,D6=/c߯M\uid~&sCO¶@wpYlL(40AKS!Z1HN|5B.se!&Z;v@mNr @ #>i^;la6:ɐNJC3&xerO_P:7?. B!R̝zʸM]ZVĿz3M㬫7b}=GY&y#7l{[pDywli 0\e ߁$KD9quʷ9X,ρ' ao#a m,?%IH<VL~l+pN]pbċ?q{Cz8nd7|n` !}!#r #c#$0sjUŤ!3Qʺ)i 6k;VolOaTP/V|4\Z2K Ce.ILdY̛hFkr8%0ˍ ? ԫ,:Bk,Nt̂.v'3~xe Kv F0 .V]@'ҿo: t1--Bw u>> L&(zD[K8{o'M4Mu'K[l;ZB6*^#;^Ԇ_z9,b\*kʅVBh5K@.2<$_~|iDS1^@HP*:'3ENiQ6?=M!<#q>n8gȔ P@҅ga_"{DB!ˠ AX-e%R=Lt~ }ԫL/x"O%K3I1 k|kX %nȹB&_K*$̆j}|DY_*q4_FbUX`Ndha^G; .1@ Ad:3-\,d·жVgл i ^|Y S@Lz q&T<z#O}"43ƢUSt48sd>Ӣd0Fϸ#ӮK!<'re,RaC_9@i~+sF.kdNW̍OB~$}KD78)韈Tja2TگfIO.Y-ߣ/-nj&XUDbt'!d[n].SA}N"+N6Qg%ߌ2:O'|HjmΎg:4S}Z9PW*CqUsk1B8yssco$E-gSpiX*Mheƥ D[ >U[NJal0 j/{`~?|~o%mSߚA<ߑPE_e0FoW/%l Bxb L [c^[>LzHe#Dk5h68L]t ]@%Đ洙JG .43}1;NK#*HSy]aO38Ib|;OQN1Kntux=${cP|ODϜ cҸ:I^uuniJ![~w73 x>ua{B V[tT'5H$o6[/;@hYk.9r_^'w-- LVvTyԶ۶[Mcl=Lh[fRI_J Uָp8RōyP6!(=IgyA x;Blf*^"O|ϵO5oվͨJ3'ID?\'a#~5}Es񃻫 L?]Y˒6!C~I{Ց{ߪ5Ї ʵRkX@!C*G^ß 5+:fD< p-s5Gyl9AWس X |Mj5RUfsvhùR ״!| Zp2H!)Мq"ےp;.BڛW\"~.o?s!Up{>m˦z3Roĵ6!Rm#/Wj-'#;|u5?C҂ ת?Xz.eu3(8z'T=Jğ%?>`cAuc)qC"ڎTU\rn :?hr0_AYc@S:SᇀA2|ngHN/ČӺĤ5ý;W$)X7ΉiCɨ8T`XgͲ\`8L&Rn8^ai-t7cRv!oyUmVsbWdk Ӵu<1'{"Y:zWoR֏TL.$vöWϻARʃ`yNNzvOC,Y>WFP9W*؜)-j8A0Hr&U 6qZ5siRj\UfQ_?wq IyixE_D/1ܧfaf)͕  (5W-i돳HEac~z~E,?~F!RdHlƂDDFCCK sy&8]OyDgbڃc_ȼ@%80Y/ al&zӐ i)H6֗;do>5,}0 cnr}pm~&ϫ#|r)ςUQ07D޲L GMn^1ЊDk࿆E/O8^'p5c:)I)ύn[YέAVqByΒV` 6bos w~)M3% #YF1W _X ;z.Wq}hI! 1fӁ]E1aWA~%~╋V|݅Qrts.'S0/ Yߨ$:BDpYͿo0lRߘʒ(046Ym8|eyy@fg?ď_S3꼛]{ǚ}?8+)ow};9xuW{ *s'<ӽ?xPBxnz@zSjfۏr¹sc|qQD$(r)9Wv2Ybcx#3NI;Ƭ7?%-(e<܀dca IC/;2'$bGC<j u ڻ$[ i}}S9.ByCdz+">U{l%3!ybq ";sd9 Dm|e!<^?:wa-w! U^=tVӖ@ȣ?[.ptۤK09w=4R{Kdc%@x7̽)!͢lf/p5뇊&#BۊT-U]3y Yj%99 :͇{ygʸQ;F ~xP@ EʻN7;4'iZĈ]^\8WpW':Te(׌u^(~CU >QD2PLTLLxm}FVȫm{=UΠp59tjZAs#dY zw WO,M3$bP+%)jF֜9ý%pjƖ{f4#m.r2\vyڢb< OrMH(-` G6k"m mڡf/j-Z mΧBdXҀbZvҦd<T ]\H^u^1Y[G^qp.9T:&Fq`P2$o"\9]DIN(l"Ƹ B-A~JBKP_o']NE5Z0ƿ*57vO5D;~f+FMELs=fO9'?cF+Zz,@r L&5<}- Ӯxp!2 Ӟ"q7sϟ\3 ਲmRڪwXT9(iN1S]S< }_H.\M.(N~7fnaE< Z&Vf? f{%֌t.. !y\ʌR0Z{ |f)%Eo=NR}+嗉@;!I3,:w>axB[Zlo] @Ds>( qF1yUvhT`w92NZtfs=mv 3(}URW6_ͥUkW#꿽#pNl?Q_G67bq ٳ0b˶ 1%tRvl問m<dbuۭDx܌x%*={EhPb3#`Ѫ01;ivQaEP v׬-n?9{];cpONILR6߄KuR̟GBί6<,mǿ 5hx*)}M Yy8X^| fd5q!*3庾MQC[X2!+PM\(6@6*>M@?AD㦉#oBG巒ܾ$)NJ3s[_^{T ]_zWaݜG 2ya _C~ܴ\CO<`w9 3gCBڻؑZ8jR-XAi wXQ9@7ޙξ:٘"7ս "A8#hn> ΋'WU{>&p?t%%'jc24ꚔTF%bX PV!N2zB|"O̘!VWF6 Y[ILaGEnÛY\䙈 F,oBU&f>P8>jff[*2^o<08&\WH ]vuX8w~i11< ä8Fw_C+鍹1&]N;DI` *S@Zw'B)'MچeVs ^9latZU÷kT I8_Vѕ;Z/lR[իX<Jx+8?VjJ@`ߟygwL3fK|coߥXOc@Nr̻ bNQKS1y$#:WVKª~"VG~ Z}F v6jlܩOD^2Orb╍oWvNg$0ƶ*]TʠPs7>xÇb1|bzY.oO'Co$bTWwR UF|X}g 7$YŊa8Kt 2"W\-X#\_r͋X L+ʄ#ޮ>:ߛ\r:wuHa|K*#NMlYv !>K*>aWV7\!ss]L?|)$SfDv '[."jGZq7mSaOpfHWT`*Hyg]G.8_t(0dj]0=Ћy_"{Jo&[G"iG-׿7ҥ`7J  fE4UlNX!DU7.={M񖟙r1wҥqo4?Gb4M uA$.>PȅWC [\A>,0)CQ#P_Er Px(l5xd&,>S {@u 翠E΃p`>+qE5d_^I(ץ9͙B kN8K1pMA~RkX6U*K{" LX$CQŒ;WwDVpF`NP!J̯RQݚ C5vl*BC+5H+:>p\2uI"Ɲ=V͚n ;r! _(3DU < 1u:VMqo- %CJwfG"QCe]Zd&f:N- hb5) RLs@F%Чϋ \f^ΑS +$soM ^ tdSݰMƍ#,:~Չ׬V=֏ 9Xߘ]k/'?%]YD+ &Q;eAhczAIBu𢡄pƼpOgRW QD5kd~P'L]K_x0eKYS=W/0 NØ WR46?#IB XH\=7.y]4 ^Z{^~s n#bzyo#- Ax ֔h|(%K4YP%MyKanUGHDyH4&c<:hGO(CYC[-Ѭv(_Э_>Q]`W?t*QQ\Xꐜ}_o($pKq_ T 6¹4ƅ K3}KcM:dX Tȭ4GF̯:p&f9fPJ[P٠prYqۢ:iQ%cARΑxp8bn# (HՔW#$ly6l닚ӂ-H,r40P?Jng2#qxΛS[]o=<aO8@Vz呰C)v0^t l*gJe `c uF]^Q@#χ1DOǩx_ (X= 1+]#)`~6(ɶSoaKv~s/Rb# KY8m7'\󚁒*ՑAH, A=IBY2bVGj'/p_\p+:JMls&*]_Op{Bh'4TݗS3u* p`-X :rS0ѿ6/AHvf+wxPZ3In>̗,ʧ&-?暌W|& 5?"3d7عܧI\SY <JF6PʨAy51˂0X )a S({'fKL<&?TyA)H'otNrH9n% 7EZM :sji|ȧ[s#1C•z|޲z>&dٺ ?kt@N5RaƼ<JԶ¶Fomj`կHp8ћԿmdb#FeǛkSlD~}?z2n=9R&-`KfrRF[SV|S ~+!+uT#Q?UZGlS7H/ʐBt\'V|)saXff^(YF_w8aLgT9`+ju-z2DEFӸ ,py1e̵?]9-1H5B7զe[t"։w>7b.#Ϻ5QkR] jm8qDQ/&We^L#l)޹ i7r *P$?yx`61/|-)8YsKKx"K~ "KHcH} 0b!}<$sY\4wr+ =H@1+::8;\|Yޢ2 7r&x7_ŹC2t=c$^=hlr/N?98ɔrd?)XӶC-xa5>q#%cKk+ZKd; uT- #!GPd\4b —~.Q7@"L'"sVCmcb  5!U7Bx"'i%Yӳ^imO ʰ хItdm1#]Ǫ8 } 4lp&W52©ÁHN4ծO\ZW'ɢAz<7m nn4lMfb-_v"w?7Tv /5i1f5D2YfƗѷ Mf S mVXeVkƱo!Fk^|Φkz~^44op:}"'/>pYtVoÁ^Ƭl^KSٱ2I^Y{(F,ͅe Hc#lؽ.Ne }M}0v p1mߛM>v -aqŊFLEIʚ4g4ɗA;k(g&o+J"fb쨰;`6~$L]\D0^Cp-T^"~bQ؇(کS In(E~#ۯDD&:7d̩1Pr P-MAxգRf9^050& nj }? ]ur\哲VR&3M`Vx[=o&T|X  ý%gx .uJJǭV1F8GF3Ɵ<)b#`7W3}7Sd=G3Wn/e)jWVN1',`d8E69F$P  14۸+sbBGV<'X|เ/H<9٭={aEkqn9H2_*;IWˉs\lZ8JM]FgE^p$+RZjjJ~DJ;0≦|^5曫5B"H!fs\gCHed ׏Y`4rbe׃(tl=s)+gbr~0C[$hhvbfaS%+)]bz4!sTV'm¤"үwm5?A'lA<ΖS2P qkmUlu[1 |E~GXUnC+4OrAVYcJc§%.)dK^oK81G>zL=UA4N K'N_uz b[xTA:BiA4WgFkMF*[;|i&o95I˺HcO0bV|ݴ^TrPqp%g~TZ=3YN+_w1lla-d;OOicDyucQTc:U&BYSE^)mٸoߡj氶baeGvpw)*oϿO<,PXɸ&RS@6q~0^hBWqs~4E!IY[%:)87 6%Pwxbx!wO!6y2V?\0\I;z@zx}H@R +T&hǘec}=d_변?VDUgj hpoQNA'ؼVsнi%6hLWV}'s,<0"Xhdbv'R'PRxm h(.!~&TT)j%tQ2,{)a:_C!j%rʮjZN"i*MY4E57;^tfc/)]s-ꏉJPQR l&7 /W,dC=&LmAO㘶 i. ?<(GfgKNqG*QǑqGito}-0SC磍M)!C_=Ė%h-"xPzFIR_ҤGcVd?|c",ecm+=dh6b[=k҆po;Ɇm.Qȉ>sG*/<85.LH BDP(wBBSS}_Jǫ#M{v#Z]47MQċtչzC[~b5"i|73%?$xD~^Q} Fb[UI}FYב?O>3GcZݘ-\* ȁb3ї=Wq7oq:ةwILCQCńܱrO"%2M0I#G_c] Ɠg"8$ny|@x!9z}p(GVK{ !1Df_yǿJq_%+eVx9yh\9R؋{%Ȑ~}?P[#ċF>brxB'{7f5R'e%_;qEQ`;F`ɅzYƺY$CJPy@B@^9[-k!c.WWCP4I{#Vs=1WUzL`RדbyTMơg` RbOy~MIDB 8Mnap^ՈCč[.$J7K?L/WbI}ⴓ<0/[Qn3i}VF qQr 1rR5r kBB|ZTc\@,׳ȏ+[Ie۪f ,6`89?<ŒL#@4$Q\5^OrVcYތ(|u}SCF@ImXJznK6ݾ)'AD~){Og+pI]*݅ꭊآr/x>B㘲>Gx4JN:pkY=sn~,j[fFr TC%O"㧿Ƃ%^Zʖ !:/Oۭ!FP+#^LST *VY|MGu}*s;F1+(v;-{'+S7Pd"͸{$ag!y9=R0퉵5Ht:a&ߡfYUc)s-:Xv 6qlZ@VbJ2LplV*$[NaWVQFRiM$ "w5D>u w@J1Nw!l?'jqIщebMOo눦6ou h+`o`lCIn-jF'dM&z0,8Pd|a05b{ q>ԯ;Դȃxp+08s^8=fB{OK/N hV#M {WGB-K0ayt;3 b`Ũ|X[+ .tz'5`1sYv*CIZFTǸTq%.,U?[!~-8R6|{AMQJ43,Fi) 07?\ݠ0ODž*<̶n4,'$t!X* ,[|yu7`ykTYZ)*'1އ K]q_^~5G0cM4iLwAhi-u6+uQΞLR$N2Fז@~,"мJ ݵbTT!My}0k &_Q!%-CSRe(bN߃|܇Jazx}z.bP7 #/!_׹,9pFWMf.f7nE_3ӵ<퇴j(4s>es8T62:xgtw|6f0}, &_Gh $%d2!\ [괡g{ PԏzdGTg#Bdl&VU]9BD !.o_JP{7wCs`r i!T*;[|Se.iEϼ*JI]+};1Ќ*IPK,/!ɑ7{TY)Iw6{}jU#: Ki%3\%a&>%N#+V_ ]H󗎕l YKaBt=R%坠֕3c̕܏9uOS4y=@5,edO"8Ʊ1ͽwZj>q]룇˓̊ϫŲIByKu8kYVNG,wG]ESpNʙϩ#Ģo"nB/ g@a&7L̅]Xty:tퟘx#bun @djB4sD$2>e\:E ocQUpa]9-YL@tD%Ν57 0)1{A6ϑFptU _+qJ /P6 S iJ9IKѥJ/.Gl(Q[^/T©}yT{rd}}@lX껹ꊣbF9+Mr]ޢ]2QӮ<9_)ixV`_jzo=n*o+o:;;Qم!}SGy+ѭ7&ׯ%3Јj-o/[0m]999B!Q ){\مT!coA&F8aGn}8^₋@1br;tگ5L${,*iOs '=TyJvż } Ӡt:u|g?aZʿU[VԚÕYFrʧЫ(dqS6̊Aɝp "%JF(6K/:1r U;h[-ɾP|ӪL~M@tYЈ#Z˓"a7opA($S4Fhb۴ɻmѸJ1Kz$^Z.Bf =w-}S.|(o|'[\<aq~>@"񤐃Qft>ە^Ϳh;~HVdR|b8RlF(dI ܱk*.AҺE< py솾s%GT3̢iw;{v~4 )pz юaX$].lޘY<&=? H,@֥Q`pDeVUΧ ]NJJO(2!zPϨ <Ȥdrb>V*HZs5楖d~.IR_ NTCɊ=d')2;p\<Ii`ȏk795BmPk+r| 2~9w W|z$bP_ W4U  rU)dRYy(pFH?+t0DϷ~AZ!c.UAgXQ6-ݟ9*@6ɣF0򶢢}f0;LaiF9'3?Js,G; t5@Zo FێHM5Aek'%7xR:om?yNؚAx3Xf3ɡA%eF1Z ;lm@c@QYjnlp#_DA_*>.yu&_IjRܞ_&UM8L>Q/'ݪm2(*"y^2Zƴ5?eg(C8)]8>T[뷠"0(%-Sem Δ$Sfzb^nX9mdHVyvf<(͞B⯳Ȅdi1F}5#Z3Jn۟@ԦZ+ʮSQ3Sx)Jbk]!|♦O2["bIf {T69k "S^1wHsHIѮD%D+ql!A]"C<&W^>L'֮7-臶5*x"{yj8J&Wܹ`fj'~a"]Ξo?%=ѭpZ1oܱa5onx5mGm"<(|G^BS+vbHZ#`%n 1×5#EE.͹hgW}/vi/ȂR ^ӷ K} G:j #g-켚4k Y e]*u!NYH%xnV]n 12tH2,0WL/>2ZM֛_ If@3eӽ];ž"{-`^G'bblh.JS 7 㗯TKRQ+!{y4Ʊ `+NQTݢƢ\j)>YR`v5rd_0n0MyӜ4WZ៘1@ZuTxyQs~ISx>RgNYu֕2%Ħ38q%NZνZ\V{(R{)滍nQVI-l<,Iϟ+֚AW~;O\hMb4{PF[u&uBM'JK7+mo01g^01?" DڶY~#pY?Yahn"E5z#GwX}A)L@=0z=d +6!Zx`ֈƿTӤ{ܹ~@~{yw`um'-g_$|󭸏93{?7ETf.c{,[ 'U0FJ̡I{N ^ ~J@CA­v*JlI9u#II#-y$GpSO@~K*P6P87dx~=sz$-YĒE/Nқ^[I.Dm+]Yjb،9?.%_NEwrjY\;r8+{%)8dkT])ݶ o/ /°,=2y }{[U쳵Mׂ`rNBLhe9~c)_ɾAn~p}݄qWB mb=Ř\ϲ) ~{l!? c#lg%J83H8_]ϲ@$yWwI؂UE0WeD>-|4[ `"V3̟!^ 0.(Oレn]Y(Y|hf/D"EdW=5Nl|uPJrKÒ=D~'Ƭ{M:T nzPNe%s*u0ˋ׭k}8NV/nceΤgkw;`\Q{l|O:u̞n$[TJoTFבc JEX7~=bBw8Df$omҖx/G([Z[@]{dr-g/ܑzE)4p*R=׋eo|boH>i<^|c,y]Xid3y<@uR#Г nHJFаҶ qd^ӊf]f{EA>yFMb  {ͼPWDI{Kۥя"\5D~-BN[h3'!3hyYHVY8 x~~첿=u֫>h4,똃/`c79|xO%6uu]A ouP g7KEq4q%n^:Á!mm%e V!RCmeP$ WP#r.VaF*׼ػ>m*wٲ%bCIHEfEAH)"!N(}`Zfu} ~3‰, 蘔R9hml9F„6|fLP*=*ibB6!M<;gu'׍ __ʩ]Ãv%QٞZ[@w2IJ/7W84Yx\)K+X`R;ie sl1^gYEǫ@;!@s2`=jl̰tѕȴE!?pGsqVL,~.xN6@-PP> MRrmKf>VFk%ˎ0WSub+Ѭ7ɔQJ=BQ-K-Xqm Bi j9;rͶ2BiOSiƋބ!U+O)`WHGAϵmT02? =C5(!ϗbz+# O rI١BTw6d?"jLԎŰC7Z%ű?>çkxR| n`(DF%<Ԫ:^A]0Nt^`q3MhXyYFʣHiLw{¶BnN7{l$yoE_[o'p0U(K2Ht& Ԁb¢f&>vihK-ezR* 0TEJDE(IF&ؗ+p"j=!Y~SkG^JG(*GAټou,usDbppnP9QC}>'@rK/Q ]q߫u[*,]KeK^)<άu*RöoHBCP"=E -MVԺf <|Vw&j]#^F S~cmDsgc4mhC&vypT<*o4 xm;AҦ1Kt-TK$,s3#mqc!GPjԔwΌL{5d&z9W/$t5l!oj#ALiEqq{Q[22qi'XEMo*~ |o+zq0Sv&o5N8lάJ0%x;:"G(VJg{) peVMR)UFH )fo΍`h|-L;|pŤ 4ז _pp},|td 95z _?ԇऩ[MxÓ=h KJ X#x0lAk{ Y: ;p2Q'Pl0o%GH@ցj{3V.'yM" _Ïfy#dEOY0&Оnؐ"~d|nl/v~} Ղgtc5v.,0< Dw$\{ߨ&JOSg}^{I6?V4 !yWcW$S_/- y.b#2f1#^3 Q/>-ֽQ|DυYm wf(#ˠPX5* uDbW>%,߯d^.a/(aLv烇g1꒜m%*mazSTe[ )t_: )+_Z:?S 66-ط'*ݤ;Lff -;v9 7 }_.Na'sMj>u Jۇ!4b2k ߉UŎ*-NEGrB0G.X+CzQ⒫8%)U||[ l]{P';[Ay+P=$,]JW'4.}~Z= RŸ#:~4gX&S0  52u'rSe+ιzH)yp @Q{ #h鷘T.%$RϩH(ڡ=@=Pp⫂ xk \$_A66Toǹͧ]R,ꢒ sA>[N&H{oe/j,a[NF)u6♉OfDLo{O{Vx:$мn,3Ei *nwi%`rPwڍ%Y+XQXV 0gGYIIcF^lEfɵIqn(V!3T 3dc=X^SuYҾ7Xj[VJ>Jϋe|K5%4z!=# ۽dMYF}rm-7On0 ҇{9x[QF,}K>`6o4L5҉"#[#:@e͚u,Woua+ AF]íR¬4Bv(*x2s;>wϼ"_d#dg\~vF$s[~uY4G-,+z؝ ۏ[fm[߈` ` 'ӕ^ 0a.K/dyD m,Ӻ:1͖ W滸P#cLq z]>\ro.-tRz9S6pQp'Ji硪Y̤GcC#֩ḹݾ {V^9̿ڐe)FHzas Ԕ,:ozXT}|ЁTZ1kC-$ۮɿ?}/V3}%8u7J.OA!'>ٗ|ϣa#h6}b T^6x O$r8CGRK4=q#!Wx'9:(XƼ=G h9ɡ(3{{ i:j G1gW/HclP_wRkY A &0hMHB?ȫӭc>D2s>r >*kj*NYvajw3JK>g'UWzpMn&v4+c8!D\jU0yO,:Վsé$gt:k޿߰_b%_[vx##TU,pNq`K-FUOp.U/pZ W3/zS'8dze^{SH.vF=XRFg#''Q }8T:EpFJsLM Tկ{ex[KB1C6:d7NMM?FCv6xO2O #3+D-;QF,.۳Heٲ&vGoV+/Be1Sx)XXn,in7°U5搅=+낷ZR+ K7Dڥ'w@ 1 DV!'Zg^_{k3o=x@|uq&6[?ߺ/Zj֞ ߧaKȫW5;E$A=+- hSh¥>&NUd Bu`l qI\KÄ#d xAn&"NhV̘u\il~DQc(BE 9j߇ş~;@3tt~F0IiO4RR 11qA+7Kt) (]|zkhz0se`qvBK9+bi1EQMAfh < ьfHDQ)V<apr'M"c7FPNE\^d&L6leDZ*φDhp'2xE1o#{Eei,l!VXiHtCTޫ}v`uj(`L ;66u-cv;X0 5N`|}~ WKq Z +.k'm`!XIC T, 8/$ &XEVy-2\')J$ !eM[hJi}`|b|v VNc3,1'CP91WFqOP.ba(N>F_3_j'g9m0V$v9wS 9-O<<|YE<2<2C6TҎ\~a7,dCt`@3Z>Ռ.vf}@^q\cbߏE ZEP((͔>g}xyhjZFZx#4j8O7 LDQȘMW6RSQ& N5MrEru_ TYtn4 rUus-UTE`T cHT =py'{-J[B {UtBR ^>zB^B#^2}w߂؋r#=WoHS { )0Qr[[6bU`wuONVJ( '\-:ñ&ۨ s>-*{MXP/pc5=xD48 00,[*.q1 xc莽-ОPοLr s J4#0l)Î*-Y7Q}tKnđkI柄<\Go+̵W oL^{d P\>hǾl8ƍ t-1r$Q׈+֪޷ 6 IMwmӝ]p1އ7]5J"n^ϯ@,q+*ŸWnxuN¸]C; ~6M1Ʊ_{C9ΙO \Ty'>W>A>?^ " z=osˡlerXP/@ fRęQ?arkRnid?˛T@i6u(iXOQm7tC>3^c̟|Pe^?-xҶi0e(@OX le-Jh~l%8ž925RLa<,o81F8PCb-^b*&!*$5J|N^`FYxyi"(zO5](. 8nX HG&ebcRϴd~5pQn-o;/rS{ =n7 E?m)qLiFH! '+gAزƀp+ʃy0(TW]rȸ:Z;zBXz|σA⚍l<\+ˈ1zXd3h(䥫=<Qw,! |( E?pBޙz<rjzߘ 2~G6=:K>p(˂Wڇb  e3.by=.dD#.C<ҤL~H~qZKȡ ~DY׋z߭%;kޔئy/d-XtDcGxto~ɑA%ص9^[. Ddf|T-auar-\T!@R>-(JLHb؅/XhdSkeHث'EݾЂ=`E NTG$g}55 &ßS(3"kf,obyB2Q&̐.^vn2Vp=:O]b  r _%Hm+mG:g^i> A}qk;9 9z}7o{dO=\Q⠎[hNhzqO(ݘ?*vp+4W #2B[5p;ڋ[?` T+1\;ƵtW)GyO fp>OǢ魌vN[z\)i3$1A(kyj1hB"lP7Y߶rԖђEC5)&bQ?14f"Z \IJ@g|\~oc8(k( Z'y'VgZSom|E+ʙ>3O"u#+n%5yD> Dgҏ RÜz|Y1CSl8K$Tqey=8,"w ~CF`ӴJkE¬1n|>7an !6\M*BۮvV Ap wAFkAyRB"۹͛RSe*6TΚh5+z*y( 8YFQ*G 𲃷 :v1h w|>>Şsw2oK\T,ܧ܇h̶^9{hĪY' iNnmCf#}4@Q3 OuW<iϯI2RChݰn t[QFͪgB"{/esIDŽ'qHm 1A0  Qiz'\T:&W+*oT*_Z{6݃+Ck߇>GPG0B6F^ר8] `YVOj['Bp_;—3*N #dmHFvF降\k|lw%!^+f%ZEV8 LVkNB+ǀc#$s#4D7{Q|YR_KPHRScj6~E2ZZXQĞիJB\; Ɋy]Qε7˞nBxTxefzdZ>,[ \X`׫P"6/ lz}/2%$G٪})SmKؠOr%K'L}:<ɐj]>|{el8Ůt[Zԥ@g$" %%hOIwzh`rGt4-ȵj 5qp< LQZ ZSəY^ndYkF8qܙo, &bw)մNw_cOM`;=/s<sj)ۨX03+kKһc+(w=2Cf)x|7a08E? ',g|_WRzuuZ4\}׽vFgle&̸R&uzw' i,Rj,xXNDމ:a Qh y-RwkEݡuC u + Fl]YѓRM跠choڥ{1o\Zc;(N;V4Ulipڻ~93 x15#M~ P%V\Z1 ŸԱSI%mooh`WRvNp<%C}07Įm]"74M/uS4c\J[xR$씣E /#183BQ*^۝J\ ;:LFYic|<,#z"p+W 0$"y0Og=8R4D|e1 p4s!.ˎ3ά~M5F[)!؃]+TM*M83ݵ;7]ןn澫 [6V " D8yFU\J[4]m|}w"}PИוJ+|Ϝ߶'Q9x1cW\/;n6ܲ >ܷQ5$ȯ|K(.慽G6Y?cNCt'L}ѤÊ7˜TѢut j$"kSgM)ɠ|qxI{{Wl +mʵ'wЬsn󲬵Z.I J$N稢s}_X?N2ra^~V{T~X^ ~<2v@yi0/LPmZfﱪVR D%E\֒5%xxeʴ4(Q9|}!0p-`*H TslB{i%zpf,պ})WzfNתQsJ *X'%XyD vd{ƨ@_>z`+5}X^W@(m#zE~9j&6)Ֆ%2 Ul(tEʹ Qsw~"γCF&/t&{_0 {&hz@@N8en)~ rH檜Mwd3"ef,?A/vi@C:r;\b&|fo[mS ksaZoͬ_0Tn= ݺDlc]!k2k gސ*N\Ow<$!{ V& }2OßOj@M-1Ԁz}9ڝJ GPr FI 56 mH>90kVNOb/D+k@ =ج/A`4qH^AQ\tK,}s6oyV!'%_Y7ahtD>h9WͿl$GGNE=dSf3.o*!ǦjF¬ k|rt_˙WeXʺ`kWGQ޲OXܹ }3{fɁ](-bR3gZ Q(ʭUXc:Ӟ'*UO / yׁIޱQ <-ʌHk)8{~C_ pP&~ٿeBD w\;R q$K@W'oWC'‡' l=D7.8he)b=Y @\}̊uLwRVPf}N76 ۸Pёrw ~7c 1:d I)7͊ Ў}4 5ߒ姪oA]gP\ ^yDѦy=;3{ ?峲'2n}-tNXqY w7 Oٿ?HMelBe73}dkP9l[yyv+Q U.6avq~zAmۏe t;Vb(:+ Ξ[{F_w<^ev+B[%׷fɣcmBIWp EgcbPA"x"1aLHu)ih:O,d>?M$D.~H18$_>˺N1Hd1E[fh16|{\+7:&΂Us&H_Ie;RY_,ǽv[& b/MwÆnQ4*wX^3[ڬng >=e8 `'HohdԴ*H-kTUz_ .ܺEoՐ͸1ub@b?qIR4~,OM'z5OG#"1yt;fN6PGr‬6d2$pƖ#cicO "-T"]O- e&%~~b'lI֚4 RPeF?h:ނ4 O>OZ2Ԡ&ndx>ѥ0MT+R,jCB0aoc•ξak<:-y=G4qxIe=uw{5| f>J'YTv@KXxZ3JQ0I+q-O1;}LjC,> M:4zw9+2opLJO7Fa&=sE#߫{oקk" "փ|1HaDezЋ'C⽻ޗ`& ݾwZ5H( BjkKUԺDdosNzl"kҀ͞U<jȵ)td# ׫tkw0hXcS<% 5&3sހzi(R%s0X@݊Reyg(lYf5e>ۿYG'km'!@bx730]Q2)6/m{Q8h`I6M_3xt-¢̹ATy\Rg2)v2kJ.v0ag]B;<5Eq+y9Cad:x Egn_i ͚Eo~5|SQ åT0rVet A"f_CL5sLMQ|֡ʓi#GCy7KEis jWWM?ZsO>56@9:rP@,[r@-g24M,cTC_/;x8i%e>Wl!|cu49o.-og3eGޒFb60+ڿź1 :ڡmHE͏2~e "m;NiC7pAƣ;PkT%71rK#.Xz%;)U_⻯eg}қҚkG "^ ~eJz%?PX'0IkWM}?U ۍ:bV ON۸o} .l٘6[B^b"wH[,5F@},T. C _7?MWv)""Z ۡ)܆dQ[~uг"yX?)ߡ[(󼪁Df94;kiA:@@^TG&mfK|qA(yTzT/z) "33ًˇŸQI_} V)u8Hf^c[d/@u}|Ă$ۿO980Mm1͙woі^(ͤO1RL5ц=$%:\tZ寪&𼀁[G}tof=t'JJ;=>u'x``טGf!q@3-T@B?Cкyl+QU3 sƤM2ܻVmFm!~y8tR\#w!d5ϲT 1C>(r8@:@q^\s=5d Fa>EK T{L@4K4zO%y9bYc3 &>[#%۸չ!3D*269]jk;Ul8}}xd[ 6H0#زHL$S BG 5|s+GɳX}}4>. L%c%_S1iW0}5AG)']Y/[vͼ)a5y 0UKյ*HZ4OHSe:|,! ,4d5JO9օQ Oֿ~ 0xX#!~>5ǘ+Lt`5/w9Ť+N2b5f4nSAœz^Vwd]EG3Tdnuz/*86j1#qrҤ+uCmb-WHi8)5%{ooS'g#7ѱǑQ/xi&$˔X`֣Jh4C?t2*/dejZbWn?[wD. >V8GwU4~ʿ(~H"8$)*ls޾gS*$RSobhNSB?iAaUI;[c@\kw@ENޚbiO8p^Q>˖|XӛyigJ~!aMUO/ : >mh^1o0殄9~gw܇ەS@rڜ4S9>$-LGX}!ђ qJ@RÌ/NC,0ߝfx*;)~81r1o.Fi ?6h6R-s "W-puVd %Ш|K%1#pb5#]X,mLvھwL$|[HW&h[>]x 1'I'HUEh" #X-lWQjMd;4J21MBM[534-H*qpD,djx-eO QRv$\+Ո3Tg)f;Y{~>@voK$-z 5L 8LFؕaߋ^GJh[ߪ;_; `g֩#E0+;q/c?n1>~2H$|z à~RSx% mǧ܅6P`ڏ 3am@)a}4'?d(~59C)]ʁ!bgvG$;xe: ap0!x4^wqxN=SHNma "]ӭVY JyL)>9who@q3my':9*.= Ƌ(,K>!&5#uPM0Xff*);AݣK〘^L|ܬ`п2^$.s>d0CYGnT>wE9`\7vR*՟z() g̏ڛOc>]#. ITKy*j- 8H*SCk}xZFe+#w: '_D'b֐X]|tPԇlh vHEvblXd,hz*bSHs`iQո=&&ϭFqв ' g٫GX$K!g;v_9]ʐ"Rqu ]n[%i$ tYIe0Q }i' X?`Zn$L;3uku)7* lSQKvmp3^VJ[lrLض{T`[|z zD\5H!I\)dЫ;/\c:I=i(f׃>3j|j -+%PA z\ uq@qR.̠֫R;_ * ,hQ~}Ad#ZXVWعӃ8-NJu|eua|@VY^BӯLcK+^UZrzH1o3mIT:R3, 2̣)|!T$yE^TN h_a#rJ(|u<uK?W3uh M5u}6a `:1z>u#+%CGH3SngHo0C~O5.mXߨ 2 1e궷3 "},0/y*BDBmanR7$J+RތV\ӗHR}s'ʍ}'na!2ԀƦ"$;_-I/J]Zj:pWr,Aphc ra;EMWFXۓՀ5v6$X £"5<mYʰ Z|C"}CQ:E+o>+RٰN7:v1Cvhy)1 ǭek@~[_;@+~]ݽ5#doaƄ2J#zh"ܤ=@7] Qz((]JO`kq%&c`&sx4@LZV[Pٵ|=8PA(t^O5vkaPÏta`W̌[30b#xYN@z4J^KS(| 0&40qk3;{oJV'Y8pW;"H@Rd 4rEnOo.0]mnX Gɚћw8٬7r<alZ'_6?!!5?05%J!|};p&I Trr h[Yuy{Y3WhNDī“p! =Zn*P-+37yh?rVq >-Jnn:E5hޜ,}9D^u򇢺QA8?i}((epy#m8 7MYj7j~Y X/L0eq`/*@>yT9u.蟸i<Ƒ, Zxhl'm-91/L45++]<4$%}>SYf5훉q@Kg@]|;ۈbRyu3b=AmX `㈦OtCroI.OAWNrK4zÐOa ./2BM #76MG ߛ.&I c|Gxv?."g]J5=D$w]A !=~!rSڗS~ɭ FNaz^+s;2 מ-w,GD6LcVLFlO,f[]0ػa& ?`&m;f^~}@[P4> ]6HR 1Dlp' `D+u^M2/b(ƗY{?%t#1G}约ҟ)Cߎx"ƫwFi'8CU:zDG5!4$bvK8d U!ƫ[ 0 1(ۙ--RJ ^9@gZY.=y;9D/V_VfF*>ct]eƧ~v%O,} 9gs,9nd1H{ O}D gb46Y*:ϳ3?2 xY $0DJ&{}\^/-F  ?@~~8=@0 ůWzټ~n~[}8f\Iљ(49<)21o\ʷ1pUަ#OD7Kt-_Cn,0 P +b[P{]U omD+~%p j|`f'\xu bhꆠy=cқNlf~VTͰ6( `:o!qhjFHͮ!uND=tpӽI Z-2s>~KSgcVh8b7AޥrTkJ)_57/_ȸesW=<@66c) X`{;z]P FbY&^He.to5Q;:R`],[ƍ[܏C >Gj"òI|ۤxjbB>䤃c'E{iA4s_[]}譅SW+Ef\_N~k" w,՝7/HdgW= a)軔_񹚧JsUM?=>IqHagN{|o:(ϹҷM^=363}i_?{=)[/ h~7/4~:8<샏ei\` tAsg_`_2Zcن k͎nL5 ?/L]9QϹ6Q۪;W)(oqbL*/Lr;3ؾ p)| H A){7 }|A>[Z*{|⿅!IC>\~pF; }\r e%A.?*;, IAY ư봰6y<g7Tt'н>Ĩf)eG,{F"˔R[+_0@йr\P^*f0o1mgK6I:L\{"9X3fev1G#YFc?C$cQkhon-򐁏%#*eq"u7K5NT>wDo]ԛ~i%lHEƼ0.~ rO"BI V3GǪ Jm=jBosHܝiWꭆ.fnTlU4n.š\Wvq%Oh~9gP-u/Nkz4FԿm - ;Lu0,k%![zͺ:F ܀,bp71 񨨽ⲟ}GMдƒRMKnͻ`"DCT3Y81 4]rj1|:Hm)1V"kVG0Tj}5gl.HeO+w|%ރUQ?N/3C<nѧpۮiߓu6S)N Z<>+pͯFV'ݚz)֊[{+Ky1ve`T$^ءUPNR̡4u·7`KȝR2ݛs :UkJ2-uu\UӋFBx>']~c}7]S" v3G6Pv Ch! r4uǤY>vxdY*&| i .n7m*̡=H$Y)%{)GeΠ24V)(UJ$^ef֓Q=C&Cjx0ԑ/{/FЀR#cPG*+CE؀ͩWra(3n!켯mR#Mp} sG\$~ uh2pP2("a9ޓQX0ZHwAasP',|W jk/~=CР#u j_Uw0hY}K|5 Zex:PEќY^"=g#ԏb^oPWdpmjfK-)vyGȫ2?|%7˻{ T#(ힷLm"":adrO#+\kx|t,ۤBx)xlR>vȆ^Ch#b[WNF1kOsP{CVa?-܁v~ b4v~wv|4Vfb3 tY3}?Nd. . 7GY񗤊zlz Ŏ.<7*0Zn[ %f@ORM!m:CmGc~(0-|۴ŸߞYg{*_XDn"):\Aa!Ǎe 8[3m_ɼ+-vO  T2C=ydoo:}\w:6\q5?&Yq0|0!)L?1aEb9oħm}e}uEJ1wh^5[G{x~qg_ՋݪKsp'O9dXWQ4^o[: _qadpH]Qբ ][(o9.\v[ɲkܞD~o+|Į6鵸:7B^6FIy&#um!^mW5zqXj;x9q_LӮ$P3}ezsO1F p| %G^Y(N[K5#EJgʤuqoS?-@ J[ج ]sP Jy4g,(Enҝ +Tߣ6h')e}CmfK".,|RjB% L?e /E㰿ͮ w~zg|7{ 8ʆtv{Vg䶞926ꪴ\+*ޯY>09hc8i+K]!2 HݡW!.+zV۩xloQ/-⠰4[4A/NÈ`?f3c `fMC}mzK4ZUqݡ>i:1QvֹgǎF}3 q$ =RߚyHpR2h:pMd u8تe kp|u{b>v"kl5f3xMQY zOCjlP|u5R ^s ,n:KgJ$T8/ĝ=\t[_ɬܿADwp1)/ [OUGCOPR!w?{^DO>`+0~ܧ3f)?%] "Ciփ=i-wֆu ei!|6<[c_ L#S?P.lW=֫j8cY-GSo[3qyYdeG)-5ryPH^wb/| |w!I*{Ÿ dZj,O֘gLu |s\ՠ0rs:òsE:BbSi!ct"7%!M3eޯO>8P$r%B%r>ɷ%nޤyWnG/c|h@*TV\K3g[#OTD̄& l:, ü>Š%5 2v4%LD_?/vJf~ZΧ+?Q2eDί? -h=|uS_(.,1u牁Āxνﻸ{qgFE!M:/^;Ɏ|!L |)sqѮgT{RPPU0UM¬86vĂwq |ȾQkI1l;u0w ,ܜe2ac-`m@1{;0x=6lgN!}zF,q>Tocvpz̾K5}1٪Ios3vPSBچd엟mGkB YXnpK񺘱nK tߝ 0e6_I,|VNXrYo& c󔿄ks}Hb7eF+pU@ >0yJ&t#zk%U/Mk;ˬ-;S6I:eFI@z@GM*>^#ߚjeJ/zP 6qBdD S4srj:Yڛ|DXh ؓ9.<=iFNE+"d/lk7' Ky~x St ?_krHk&ɢΐ>b>{?҇z/cg0No6֣֌#) “Jq|>vPrȪTzғ` jh>^2\ CV"[6GuVx]>|u|Ε%3Q@}o 4:w9޼ZSmT$k7$&Tnafֲ},&{TV^Q.= (0D9M g?J.KNh&~f3If8>ց۬3cA`ꑆbFg1*󯯕;!w*-U1C4E$p%.̄hNoV"c'H#m΁5)~uL6?v~`M~t^|AkzBDCG<Ζ߶oҤZGIW@J묄͉*ŷ1tP}6h x~H .wGxt t>߷Ъ2i%I)U]t$6dQ2?#-G<21̉O%?LdX8|aJ$:WJZ^:MN-7S^mc13W$56:z$1 E+V}a[.I"M> _!X88 #g kJb5ſUT^KDthc^I&LnՉ||+peB;lS27 BTOE~>|fZBPK<5Yǻ_ hIT3G5-@V4K[2Ϲ{F~Wez|x8N0a_ @zҋ= H?mwQanR*;8 bRѐbdqghɂʅ ڽ k9[/>`fn;7 fO!NH1le.@W̽ة;^1r3!(쁗mh$w4I U$łX3 T*x̚ _p/ޘe¢&7Befy< Mc6po7ѻQ M|?ٚ~w *n!\}R' s- E嘗vM:?DJW%-Tp.Vwͬ=ҖܬW%50 mQ#V 6Ǝp#Ty`MRO`(Fؿ_+8N@a^"uϘ'.5{/.}Ƒ)e$|.n] KF!㗟wo :Si@aC5ūM=!1uhnF>J_$ՑIyuv?rR}wJBgAn䗓еYI7-q^앣 RB$Pĭ7ub4ݐ=rU5RG6#>V(s7z 7cB:"%Y3̻$z~1ŝ+i Þ KU2ۗ!}؎Rw@`sR2.9dF5$vv  )5yOV8/>[AQe<%ۙPsF_rUb-V}sK|z#نCdL~JK)C\)I3Gu􉕩:66p4,LU"u/{TZjuO=yIq0x##t}`GȲH'bHìBAJuHM@)/q'EAI<)){b-QaatOp}ˠ{:ְHʆه5QӊX0jǏUEv 0ZsaȲ@>,1 G;'H CL]SK4w#&vF?ެU}_uT FL Dߊ;щ_trNtw\i|!+bŊD"[ b6d;ߐ 7r!PĥtH0K5wHl99ob<ãcݢhCz1<49yWG92*nޟ9ODV%RVGiIJUX-"zZL~>"4$nNRL]]XzXe2tFX{9!&zd\:Bir.QާفxXԧ8e7W;_WD9btd`ʞS%mqD< ߺ& TX fx IP5m`J@P21E|yf~|4Cv}g+\>z0Q7vOsy #,/I LPՍ@s'匕FuJ(L0 2>CW( %eKqos/jA3[`$`lOףd z]RLzI]xY0)O6jU"~\)j:gپuCsf=E3m*n^XS򰓬)?>9vy~T;bK`\Fe$$ %y.pt$6CVx,A<@AܢA%@pUtoһX$[dH=Xje+v|Q=g->c$9K+x}PڢOL, NcWE @ IuM!9 ZsVWPzUed.`@[Nμ',.ќ ds5mma!pZAeG4ǿStNm6>pJU ?a@ZB~:RJ ?rxDx|&w.EekLn65~C$%ӛEo <NԱڪdzdRL5~#B֠V*u+8yO*sB1rAR@\7e @-O]Z9: @^pyh#%Is{N.z2QyjNG$`cص/o{6(llfߟG7o^^|Ȱ^9ލu5t2pN#Os}zw { 8G1sJjǻԻV,ZPYq }ȍ=x0Q6GCQKqv6q9& uGV":,wsIO%*YSN>'wJ99 _7zDnRvL2S0jσq~:x4|5= S^6:}'aS67#N0:6"aS{Z6Aj$؈UG5{/d&v sf /4N _1vALE {ΧMX7ܟ1=ug:O+q@,+nm-(^<} BY USIՏ{wkߊ]|yXw.XhS6q%/ i?,H榫njK:%},^^Jx}nh^QJƨjc XizV֨W8H~g%_fyt %͂TL;ޭ l2p Oū,Jm:#Z] seM2F瀞M֫&b?v1/o0Cgbf~4X>gf4YN~‹j$S1-]^ o1]T6VA m3fLMY8/:|N~ֽI-Y۔Z?5龺N{eȢ3ݼ5+jGn|GM#1wm_`j}at)zh>;kFb{Q{\Kǻߑ6PG~srǝvF79x*9nn 6=Q[8S Msvmwuq 5f{ҩ-2 =x ^E{'@]jY| D|W޵gDwr`G/dדV!2DS>RK*χ,[NW:N7< a‘\3pP~0lS1=U&8@ IcKh4ϲ3ǞKnF >Цtİ#⟃:2(`j0*|{5nϏSGܼMwON3Ԛ6!ڳkJS76JJxvNbbŌ#(g1p umtֽ6Ud`~R{,*O=&xqe›㠭#ǥX=S |Kd:V/7X@tt;Zx  <2%&/]mos ۊRIl+^[,p؛v 9vF u ȽBc$]\CݜjWHl] |vc^a؋P|(a8 MPf̻2ǧ:uޠ`A/yC'J. #v8#𱶳F"|>Kv`dsnL%8i|jϕnIyOBlDZ<UKopVsW4yʕ"}D/]` zIp9V}IIígVϙɰf rߩ741,kdc\ywl|$u."! OFgmURʹ V78-r)mm},>rO¥;Fj|Ӽ[ܐdNk .hD(5'uSm}x"_ 4}40sen5ClwoLaL I#|C]3pnV`u l))![؎r˸s8^ ckJk^~{#^-3n4|BR!w udÝ󎡆Xٌ~wXLVOyTd b9da)-xjޱ:SȲyC %X.Q`ʹ-ZAȦy)^Ny5Vܕl};fԅ|A̷xw鉩\k@.F ΀WÝG ,£ûE1PKFht/2>y|<5wq6*Al<ңۻWsQe)W@25ЙnRl6Z!+XD)/KZ !*6=R{R^@D [Lo9"Xy E.U;US}QxrD$\vFkVa[e:U3SX)!T<đ=_Szs_q54A]DD׵`AՖCs\9e]8H .X˃ȃFUn3>fwܙ8U R߃k\-ا~ eWjQ}׭xRܩc ͽnh?F} v3SP+kpW#yo\&>V:fdkQjm$uрA| QqdAᾣ7Xp-FOm==$RKYR pEkHM?0Enn gbEܻm' (iUͶǦAq{a zD7~߀?>?^ME8eV 9s^KCz˒MxUe}7_ex-Of<ϻ8/GߦC;LˡJr_~I*>_Y Ao_Y75FPј[Ɣόc؏D{Ki,(M Bo~yD~=?ik PP_wON5^yњſϿCR9?= (3'#gcp nc /|%G ir:w/Q-N?H ǂ?Bpr? Ok_"4oG)|?w0L }^/)F0~C A-Ja4_i~_]>ëz__D7#{}r8/_#_l_Mv_z HMN 抭Y c?X?τ l_.Q0L&y_g ?ؿ>WL d^38wύS)NR'0gq9Z#K?WgĿ{8)oIďO9|e%NH'r7?q# ?2s'>eK8w5S(7?e W({5CQ2On(uO'ῷj՟1 ~Sof 57/Ne;s?O8kþ,㏦utae}ueo9˱ѻs7㿾#R(~#;iW?-`gqf ,پSS?eٿw?Vit wSK5>ux˻PΊN9#ƲH~ X#mL0l,0?{"clدygƲ8Ɩ)7 Q#~ك-R~e@!]gJ!:_-fsIYf+<`ْ=% e.}my<9_eԽ2o'quBvMO2IeHe'ZxJ`QkõZ˼\B9?:%eB1lװҞ G1r܉~zS:հ% rGJt ~@ ڜ$F`[AeLN:3*ŁY[^\ͬz}{qc/3:E4|qykM!oGxĶe7ݑ5(v|wZƛ\ 6m+UqC+PHͰ'^P;W1&&"ɌutK\l': N/n@[Tndۭ۫>o.5L.8OZ0ov&'3>BycD5Xrx 2(\0 ѤS 9(Es[ 1>;~#c$& D[HI%pD ٲBہ Mn8M8ưM=BѸU|HW˽A [od̙ h`e¦2i{"IK{-3/Pسy#q -EV| 7BDrPYЃëy19).Sr`$1j%Xtݙ޼kLUM]eRL ث%"&N8-ͥ~{2K\r2|C?6]`0$Ovz%cZH+Gi ?$Z߫jCKSG3D"A OY>B_];GJGIM@qxgCV'l+ cf?pn.uFq072 ^s85Ԩ5,Bùfz"w/cYQ6Ƨ ^1z}ϪjVT=7~>nH6UklsM,\.ebXV"8doe=yOJG"R4\A1D`LРLszeX e Ťqy=~K,݋d:AyJҍ'=5,Mj|HYg^M7f)(ɬ4aڷ|<4)!.-C8mkY(ncJؾWT$3|kc7LN¦^783=}aGCI#ڼ2n/^"a}#Q*A{Szj\tNΧ!m2Oc(B}29pDkfεE2iW?XcȐIZhB.-MSS n0Zb;3q>/nq͸p-|#caP*TLלʢxU3fdVW_g@pmB_63bq2ėk2qRxO80/^ְ#HE tHW_uiE}t!{=W-/Eg"qXܸ>fqrN]йt䱜ppc2~.5*b/C\l $=tJ6xԉzmf~4!Es=]![c";F*w{qַ@>^=/7^@B<'i$m_ۘ}ܦ(1uG@cʕ̚4g|ytZ%9id.J#}-CzG|6^SaOV u.A'Wc޻T{哋kIό"PpBۀg[OZ) 9$e?9_:wJ/~<&ॶ?;/KOҸtV3/1B^M, E6v[^@HD<ISޞ}8A8%Oo\@ s V׫.5MP7Ҭe51EMN5hL1!FZ ›PC-^\ ;qww ?T*tjs#/g`۰ERL6g-(Tn&x.3P ^i;5ؗnL^l=I ""3y<{4.#BP< |k N?E€ʇ-۠ҋ(KP^֭ lh+_ <6^BdvΙ'sF8忊 GaU~Jc @۴D# (Ic!!o/DC_E,R{#\aƽ-,M#lp` ـs$ƎIŊaWG}qxp).rj]\Slट/0, $6z,rdN}rOl0\il ;H|r|=}sS Aٙ$:^u}`"R!*ѭEQm,L{l}& @%D*Yb77l6>x4F;U^$!o3Rd"|/]>_/D#Z}9TQwpg8v ~q4d*?-{ȦG&ErDqG6⍣:)">eMƗaj&V^KVNiTb'[G-uoFwR>Ow"t-;~q7Cjyq"|<@Ĉ$"=$+jd,rG8&9kAGnXL=hjdP@ |_Pخd7*7qEHA[2NwckTƂa>LPL|KyG0LYbw: Vy2fxϐU.hx"o/{ջ+#N@;=sxG+7|02ZcC9\-=OA.0r$2k/2Zx <. )[NSdF'/^:jgw]8p/$w#5Z4~LK{p"GogLЋ+g _"O;f]*kȒ>0`10 b#MDyzvgω<;כ做Ջpx2őr`L}tlSR @9RylL ]rXJN*K`Rb^ΥQzGf"?z2TjɜThfÏ]mOQdV\H3cX.DjjQUjkKz;ZK֩.J$B['$Cˆqq 7ELKP{ınTOW2CpBDI&PeZ^ktƄB+yhˋ\{84 J]y5J`(.u b1AmC]XJRc1`gЗ -̥`[ja<âF2ކ*"/ڻTOzw.h*ǰ7HeL_)M^XGwž~$b%PMmM֔7)Fh4C!VE V uC;h^  ċyqHibJ\Jx\, FjXL05ӛ }RstOOֽXM]A.Oyl5ݘae{a-Zg0 UC ]Nz}>إ{Pk-z7kq#V'9tuo:i}0t@QskP?&~_f̨zIh<4l`KxGNX7)r𵄗1y T=/2fF8ƍ87aQLݐ~AW%c`Sg@۸ ܕq xROы$ AWUl>џs)EG8uxP Hr 8aWZC[M`P :8 +xdbz^SgIЗ!}eb6E\d,hB8|:82)=^Efzt<hG Ai]6[+o]);~1'm8|B$A,%\]UAnᅭzd?mgYt ts([ܯX^ ΐh.v/^bߝlAv.H/ɝ푂ͤ?y!DBP0f:^xCБ#;G_=²50A|6-@ĥkdm퓜}$ϪCSˆcl ST;k"a^儖bn߭%yϝy~(ZDžMn\IH5O@bUPIțLfH`>ir=jʷ+m96}{u5i(Jo S)KKNFÁKBJ@wfD9ؘ`y7>3MR財{ Ib)̔OVN0Waǟ{%Z{^GMD"Cw#GOwE:'B6AFk) =Ð C /tn-E&0Zb^D9.,gޯWW(gb6EN4cWc_W]a"+1S|Z% n0)`)r3rƆ^g%]38O򙖁JB00h Hr o4_>%%L:ς9{٭z#f>+7׺"9sm?tӬAJ Ԟt')i\ Bm,dOLqGkE l!Q^2 zmd-Vq\p` ŭgb=13L'!'DֻapOw PA:ժ9e45,w$3rg ;oQ BgX٫?q@Nl,Pj"5j'UI%*43SzYԷIk"%ࠟJ2r4% {tئ9/M#dSVZd`$itQ"ߕ|5ZԮ=8v'1ӷkx,д =}s~fd:(crۑYl r/Թ(އW ={ W&RP,O9\-9,%-K ^;`R5e$S^8>4 QIMkލ J\榘v EڬzI}< ilB槦!2–fa"w)Pj)_jhN汸5ꖤsY$M;5 1m9\,ѢoHWL79:oGa( =&CI& sn,=wHzwDfPܝ"n3E5۝tsP);15"n+_]_ }c80~T!EY ^Z2o]HХCgX`lN=Vy<86k>N 3RNI@ӟ 2JQuϛz16CP |\m΍kIN.ʕc#b~ru1KsK&K2bˬ߽pEIy'nBtKguŅ:~vY ]17}L-lX-tY(ZGP\װsv 9K1ؤ*~! >TJ.:jJs}$]^osٯT]R?~W@}0dUq:c.n洘3-P+{*ԗr {)WL"hxg.=[ Guh2r]'g.ݏŹco> ULH~S ²nl"ںbL!L9bLp9kqK78li劶,e`ꌿX=.x9}b`55s 3" H*am4(sf#ڒ'o[>h!.l>8Q0zc8r6T\]W1/Xe6k|]`HmpSy[CTZ5+CAWT^b &Q_y$`":כ0̂%(M[/Ir%El4uG~s~rV_].]b=͝FxlBE5_Jr?nFJ%(>ʌ6.į 1o-Kp|\ ;6!my7D4:by\) sY}myD";E]a)}O*BK""R酼]_{a#eA۞R}RQXy`H .akg{%bҚ؉`~cQ![*wrR"ܱ"`B!ibΣ#_ꭒޫߖX/N8K9=3!ؐ{B_^B8v4HW9f}_& cw?X,þC$MR΍ԅ`~(C{ 9[C؁I&ݨ C펅g>$ƻpϧrGRYusmm\,ja$_:$eaMo ΂t")SENHɩ^.@'d õ/1`jՇeNLY$ˊl~.LJw~Dըlۓz>֊Wxm<;3H|RFS߭Ĩېv:l`߉\QK/~\g^lVF㸑1iTS4O>KH7P4MD@5EXtџ()쨜a FYSdlˡ gl)G ZyIj AMv_UEy $wmlVg=}m$N4|r<ʌ-rzo,5h>ݮػ,*Ǝ h7Ȳ:/Šltau( Z -yeT4ѓ9"ғ{!Yj%3RIYӖ 3}C]U dGcg~Jl&L/t #wοqybvUD5|;I^炡:i^!u:9Ө7%Sq-RWP}J G>OTRC?n.k߽4 "b&j"͎Nj\-1i1H!~Hn>Q&tߺi`otQuvdFcc!2lT̝-y!`ivTIH'h+rnhȑoz/+SkXwY, Bxe ^ pRi3i'#(uuhsLzO a%V4gЎ+I9@yC7ۚme){G7_ ') a_{~^Xn=ߐH5@\^Uh5 ʍ4BH}؍|ouPDxy {p$Lt}&L7$']Ȑ(+Fk"b$)NX~V;:G'Ok.y)6k:lzU.\|~0τB HH:}jP htry =bG:ƀlX~fO2Ϯ (ܩ*d'ߙGkDzC}׎7e{屃ȿ(Ep+4W*O~)3xX#+PEF' `QǜCp2_T~tm"@@2Q6j)$^jZr!BwPd |W >BZlд^ {amOxURsgE kz5jdpEg"VR'c=1!޾nM{| ㈟ X2Rb||]oڸ3L]Dٯ WDG2,.rPG O`ޖe|ڀj}hSQ>輝lEvk>b r(5B|x/=%Ft m [[0\Ns c~f=ٝ[Ć݇m,B]K{&TWϢNUv̛pf));"--^U9q^3`xfXᬀr\Ά"`&wl-{<=[ zht_exTS/!J87^1.Lt0 XAg$. :-{^&%~B;q^ J!ݩRN;[ڴ8@H5Ԟ_93S Dq*<ةO:L٣K,QMTx"|AI״v4ht@UeHcI'`Շ@ꍴw4Տ;V\EwV+pՑ?,ImLb`$, ߀j>D0}e^ނ6AycPǦ(~HgUalhO"JmU'&ҡcq}v<5POE\ROc\)fPb!i2OHaƛUcx}EJW"Քb` &ɗg(]2P.Ï֭|iyU+,ZqI}>y4yCqq|n߻#sA$1l$_j|$}p%nc,{$,ӚXow㭭===T;\bƒ.loAFit#l)LPʽ,ʷ1>*V>r>T`PqvJ7jZO|!č lV+W "A1윯2BizP4~=rX+0k"9%ayZ[6Z_Ê`DtBRO&NL$Gl6%B>Eƿ ͯ.o}O jufħgh x ٨: TJ29GlLr v%|[Di kgZV@7(~&>>;_eڹk2c͙\?y^V[z1!)fNC oѰ;D8̰iGƔ'hRQ 3ިI|mI]tgZg.htt;.ڔFA@~rȷg_-4V2.tnK̕(F4H$cϣ*n`rcKdJxF1^Q>jz.kL/S* d/(+;ܡg,h# N$?-n4]blCq; I':6]= [dyKCv>81T$KIjk@4^sʬ/bGQc_멺kb l|l>A{tx&rԬQ齠GpzI+`!/K cpUY "T+3ɡNΐ8>(_ h CC"̕ G0HryS"^Jx#CzGyd.m"d23^Ӌ.M4g3 {ZbӢ8+g#ED8QRư +"͇jv2G1ؐ;I #W ~P^!S^n8bi|v(m9a@C>6as6rF#9#ѧM: lkGب8Ҍ'Pq'.Lnx܋=EbȧC@6&sj}q:]i+gl3.jyNzk`,R" RT)@Oy2 .C:JSv]CrHdeUkZOG-`y;a{*?إmqOt!ֽ0h P5WȎO&֜Jn_bz| ûR?M/0~+uW® tB)z /eld~wG)qzdZF!VIؽPo(?BnzݬݩNƪL~B7R?g.^?ybzb!i2\: 6pFOd>RόMig0L<tmeFK%acLYWg+Y@r!KOѧ3ԢYGf<:\fv \\iH 1j`YJYҩ,Gd֩&xlNFo) 2H O?Qϵ[ #]ׯ&kPWE'QA˶Ֆ1i_/i1ſbaJ45u~Io.-Ue6.X!SEb6Hh>l.%|?WSk&T O M*>:5^NU''XD=?e"W+wN5K2M& 9(XH%x3ȗm)3Co\>٪I߱zJm1GxN'Ȋ&C" f_.?mߟY'[h׮ Ks Ȟ` eGyX}w23XP&!eu] ط`a Y-|T@mҥe +%dNgĜYû^"{;+Ό= >e`]<.oy 3qggp~o ~Wߛ7PB,X{^_vpeV$}4e  g˽.,ݻy& ?PVNp }Dv4Kbuco&C~E]9*aȔQ Mm:EsXvc,I΅8M9?B!N p2͋pwK ||dZB=X;_K@//WpIsW"1ڜi=O$Irvóg^F4d:?aj+Ok+i mԨCRD /@Z^Kܼ'㖟;,o43xoCڎXj{JR/#e߻Ϣ=M%q_Tx{sḍR;Y{oOr7f+ JվFϪ@/dt2*peR|&<.ڒea->@k\᪲$C9ɼYK k qFޣL ctEgY“V'Nd9p~2K~_2{Fr^kΐn=kND\)P-^E6uX zP6,x[h7-%W N1?[H5&[D 4uV⚋n&۝6!Hxbu!vVe1^)Qζr@I屺HC_᪇x0q!-Q*B +DWzd/}4y?H L,*pYٕ%JOvSߪ}2^]+c/,=TK䥒 9va$AO`.W{TڹnXW$FR?O E&]վ^~QydWkeIJL}YDF0nf \AFpr鴍29doU5}Ƙ$O#QtԳ1W 1a⟊1ǗB~Q .?1T5믟PoqE@,q-ka 0R/KQ~>|4=QZ?5eØO$I^2IVwu>Yⲭϯdy x?RVVdid;l%aRܤ=_<ӸBrz\t}Wsk'ŨNR0V߼7ӏ[9k/Í'IÇU؄+@_C%S 4PU*Qt$uR:ۜ8$'yZ唑_]Z0kmSіtIqɿުJ+FCr%-E';d.z_*5H<iʣzY䓪?|j񪮠OбqAelo(`9e .=4M4.eU˰NKÿ~蛋,.=M/w\Uтh,+Rޟg ԏb=`LMqgcȥ04Mp-+Ly2~8_"\j2H("FEV8z懩_?#?=u`O Ms!{koc7*.&U>%d&~bv]o)WPT6}#ՕP40[ѰާJ؆2D'F聁pG:L3 =\MQ\;&߾s`b0fCn{rbWhQُX'ed;LH W!v3V[NH{~7]^ kMjC^8mL>KcS}mc^Lq!B(0vΘz3E&GG-y|L󵈻"64^oF&ƎXy날ٿ7(n'ItPK>iqFoj{ E?]|Oaeu.r|3".PoSL G贆̈́}9j-xROȖų~Ћ+T^oO H"\{!!x|շd搗r郇o#}]W;ΧE1&PE$CLg_Mm(~GHYܹ Y–%r}(`?~돰ۂldd gli{!K3c-bE8׍0< m wM/'W] on!X$a9b)&q.cZI 3i}~$݇*Faro0SV AC>x͖1 ^:Duh],B:W+4 9߃1]~+;KH/3$2^6fe892cyR.PY Vw\ty9șT/9TL{+|gvCxZ$Q "IJrVM.jQ|C}"&`!O.='6hKXyQ ?2F%gVcK>Z3'댆 WoE ӆA !y,UrѼqX 5oۂIsR}|{l]l3ɤ|u'*C9AOj1^8e>T"LZ 񨮘&ZB +*}: M9Isi9D2*j?#SrBt~4n;_T 3`0߷a7^ vOi3IQ9P5m{Eh_^<흷37ar=;IslXt2I oWM<ذ*~-mUG8j997QČXq ĭҿjƄk\ՃWG Wq#((V%; zcgJ[.!;tD`*LdHtZ'B2-)}\264ml`a ]4mK!M7y8!8KLN]HB`wI5*Kǚ#d&y c/M7=~n) l h-ps`뚋=!j`=ߺ=͍TD`|;YQln5e^又VzT᭄_m"4͜I|LN]jQ+<#r&`=AFEqtmOZv@}.^rK@ Scxh^ =/h2~cnMX =ʏs9:U,DLQ-B]@Ce=eBЧ,NH$>jF?!8hyFv(T|9,/~! =yG[W L %]J Q ; @ ]n:zy'2o]q6 a@Z[x ZF^rʓ-m)+xzPjܛғzFw뉯5#S%/D!"5s<99>~HܚP>T.zմ#Vð-*[!cE)Tfk}%yd i o". TTҬlI;d H%}SX71޳#KhUgąí5 QUD1ek!5NLV5Z))j+fh+ε薘1G0>}NA~ />Kt1-mR7KmHWI|IKPǧh&{KW\76zB>*^#;Qr4/.-C1+)~ [ɴAV؍>D~l]# >;&Sts>n0Be'ׯKB5 !vsV\[Ï=/%sj$ҾۓX2wV:D#WwN wһ\;'"eoiYdR}i9f&u,jkd=1gF-0rDejI1*+UJ;I@o6Jy6%5})q>IHkϞ/g{oTh]3wUrM~քg&K܈!6΋4Q_uShiDj&N+޼6m% >o7'\Q xaBTMyԁy{[7i03  MvH$KI> 'QOIw}JM}G"O҅? +7/%OI$Ԕ欝N -="/ 2ŻY.v;Bv3Oapp@MD`8 מeO;NȒh|h 6+!AI7ُ Ho7/nsC bV K1]ٟ1SU83`TNdSʌi+$pdn)fƻ?C*bXWlQmUb%J?&?2s|I :gqm]W}p][V8TwO~r@[Au]jB%'jUP q-f_Ƥe[Wr7= ?YZc.5reY'p-l\vɣ޶ݺa=Å^?e,O o  `ԨЍ&uNH,B$0?)K@A6 v*&@ z`W$ Ϲ.qQ̿~SC$T3kGJ~0P=߅e}@ȌO{2< %, V#ΟWY7iqG*%g^"a[smo4ryNdNzOX}ԯ诠\ݡ<.sU9SD Eq`2L®U?*7qz5*skrj^UVO{/䟻+ &ϋM~7z`rikh+rS%**L|r, 0!j-oq:;TU>~pQϟmh9 _nʣW 6hcAs""%i9Nbߧ<لc"ڳv1NGvI=CGN6*Mبhv_ڶfuYx7K~ŴSu X4%Aq?վfR5@,2/p)0:"&!$oB 4yZJ8x-lu[(q|bM;6L\߽2\++d[5bj;;'#=,|U35h;M psZehG=_" ^P&/8,ȱTg|ska^~zP$U'D„؛}>`|2Д9S08Bk*e.sPN,{Eכ*dxsU5@3G6! *j^(ie)]( %oil]pRtr`L}2vo eΨNHI>XTgod  ?J 2˄*vن$d7ٛsB^?21f )9؜nQ/ 'cT_CvhkHMhxtE9J,?prx1'V1 RGGm*wћGB S,{K/] }Fm|VLjwGL#ߏ0πI  :B=}-]ZTv例P^4}j+./D;}lefbhtyaq"$9Luxm[ v"EfWG[˝wBFpΒoe'D g,&]~wXo_M.^}XY4-+׃һ$qH'9Te}Pʼno`Q6~@ LG>t@1^,4LLxUz_ѯr1ށv '[̠?Ƿ R_qRYZZoMI0ńUzSwXsS.A)ܑ%ԙ-zT(DU "enFFiKUM,c%ÒTҳx]75_KAu~1˯+?+Fj6#cx{+k=%>0@cXD ~|~( *^LS AQ ϓ()iuCwrĘWWmr3OI$+;ʳ5u>;lEl]Cb@=yU>n߫s{QOmS_VCpbSƣ;yLQ"FujrQGev}1+w _`}R~^=#K˛vq^;ׯ2T%VnTDȬ!ţ$xq$UзCp_Ljubhd1ȿ &vjc;>v) mS ͅH'`㯛C1e5v肥 oTdC'5<L8ɠCwh길~_DْhAP]%ùnzj0viynbieӴ9C.4L3*=6%7/\j~~s.O%ʟ\ȦzcuWSCW& $G%-iSLSJV?{SP~iԈa:Q_tC縿eЋ䚮H1SZ솉 I&4H">K5`8 ]n,&x*׽ >AWZK[XD2g-voO# jm%{|"YFd:@ʵLRn}y~1x'^PΌrO_LʘE͗xsO/LڑpNl?QG67bi ٳ0bvdKz9zǶKo ya 2LcnP[XWL"<x-&?4P11,ؠvË gF~胥Նaabw⊨$(دY_jEDwqUK~r HGeyHN$YmnL%<2Lsa¿ #6e!8ώNr3vV0 0 QY)5lPJ~RBŒA1E%Nwe\[G|x0ڸ@6eY972/am+FG(+Τ 2X|y #FZ+\Tn'zayLFZvF\gE\b C WaS3i0X&0SxL*Dwyd` aW罣)a6-}GA`hMM< kPsf߉ XR yH|]M'{#&W]!@0Z:s=/hX VÎ ֔R3O.tWJ?CuiAgc.pBۨd"{7Yu胈M+G|9BG?R{W;U '(Hx|8*H{vw{EzQ&%c]^R)sj.* i# `ƍvrqr^QM}o ,xg {gCBiuؑ[8joR-XA wWX쀿Q`\fsN6Mi BtHi׎?ۓ諪A :sn@ɼؒǍ^[VuMd*c@D}}e@CYQ” $b, wKE2cX*?l 5v.mdS  ήP$$'gqD^>dy "~_X`kv3mi_,P]BoXd)@& [GF<τ~ K.{uX8w~1c P$,/} ;|Qb7ƘvQ8Y%%⫘V^< LeZ9{ک5@dʰ24Q<#Mdh!#RTǃoW)> MH6im+_5JKt #?fꏽjOIJNv xt1GVyQv7 #dAK[+-cxum)oX+9vNg$ kc[ yf*Rs7~olr[{I'**ck"|Nrz)×7M8mEd q+YDHߎ:< _K &k|o.XL`t9Xtӡ/ P> ?zUB@Bֿ³]BB-_:^G#d,^= ^X!nz4x@7?8g_קݸ({AF 2E-P?:NEWRGhWÇKbn㻌S(iΏAI#,e T(F]z'N0PLf^5pWPMwsݦs 6bU/kԨ(ky_"{joЭq#봣p_DaUB-A'UMs76"٪[&y x+g\C7XtS,s$&K=p"qNߦJ.$-ƘRdZR%: id9O)!9ʵxĴ"[N\t=^Zm}U)%|ۚN!c挆75.v!xb8vU}k|nlɫ505 BݙIaCWx~?ӡ'H+ȺbPu܊bnKK?SRGK\P4^popG^#G0@ʓ{0D{bx2ф=Yb{PwYોEE#-0E %]+V^I*_آdzEZ 4/׮ y.3IԑC."٩sNxdm%lY 9פֿi:mBS\xFg8uԐ9%+LQ}Y&?-2tY(ZŮ&v!{RDzVC\'^!(f T$isN81pOA~_l:RU\D0bAP3$CQW wHDVpv^#2/j\jrn.cTzT.GyM*,Jk@bkM$i뽎%F_>·B}RDqoO5Y >|{bjṿScL\†R/P6lR=H$jjC ÖLl5gԲ.U3GnR{2*L!}.*Mx9OO5Jۮ5Փz&-tIW|Ls67h ^|[ [?*T `FkՄuOr]ҕ ajοd2mvTZ$T oynk_ z,B&{[r^cO uaڻ?ڵ59H_{-s`Y4zSZRJs1'|sD~P6R+`d+q^@$!FWF8!aoKã/_E1\3͓~bB,/W1bL۞PƠMsF-*̦Q΢&JWk;dc=b"UQ iLTl WTf8_0ee=nnK7fODrΧG功nwDwⷒ_ŅM<1ٷA!Ҏ3ZWL9Z\ܼ^JK(tk/)|$zH6Tӎ7h烊6!S6\^o+ۙ87bKcÔ߾0 ,3pA$J=vV7^5Ľz ʦV]"ijlx7>̝UU:28>&û/gΖif([l(~^:!c"2[ e&5$ڤS݆NBlNyOnrU4ZhQU+46Ꝼ^3T)*&|+1jO&{ 0慯%VvWvB4{w"#BRuXy>u"$Y[S[uad;OX}>(_.I໶+T՜640z/"¹vI4lC.Ɠȫ3O'!*'Irbզ+*=sFxde:C|Ӭlja)xDb4riȣ[-avA*[i5ZNo䔃2DYD[_T*dƍb{Ȟ]_#34 ,\ER~*>rd)XӶC=Sxj/dz5.5tW(hs(4I< he犆xێ#~ys>QYaC$ tz" o7dgh[HXQUBuM!FtMxìF$9O#,ZҝXHCl+|Qm.kA'BQŊAswqw$.P} 4lWm52mkÁHN4ծO\^W޿OEك[}`*o+2/fnj)|}wQ_yLeR듆w^iU(B<1 =% d_ۣ6՛qc/ Fo^8>5w iǝ-z~^CB78 >vGyu6 - 0n*947xX&}w 5QjLxo!!tw͐H&R{/22֣׏Y`4r"be? Qcf3 )KQ ˑ?Jj%GC@2{*YI̿ǣy a{zl tlՕk5t̉~'|Z1Mp:z4ҽ p7y-%yAF_e?בw׋-<=5囸ߦF @Hw`p/-os& `Y_i, IFLjoXK5)URDUIK萀'7s9.g$2;|=)g>Nv,~xitK?8EƦpZgz>&B7~AW߲q9 P3tsدbpb e[?bQ(œ`K@NpokuM| 7)ԯC2P-VP ?^J-MQfobd%zD`hġF1 bMzyg|8{O_lx$ !;/sQf~Ÿ•4oo(^o;c )CchZcu& `RPv_חØZaXC`p/XmHu6\/"r*>S~CLۋ EDPpR`{2 /.DYIͰS Ы%^/b2ң5#]کFn}luo4869Jޔ~&/-QP?qQSBOL(jK鄣dX%(Ru&>Sr$J~(O3~ Tuuu]&o*t,}gLdsE5{92LTR6:''8NXxg3D ^* XH4g=GXRӀ1mg:PV`ӟxW#L!p8#a hrmHM|(}q$G@Q@ 7yЁhcg~ Bų3'8Cl.jSrTEm~nc3Ȝ HyB,><1:feVki)k/W߷Yوm$NkBz<+rgRMX\ɣ}/9=:PfL)b_Gz`3!ŏe?1wJ 鮥/)J@KD-'%SUUȻ_vجe5PläuDjl *gJ YRy+\ ;7:zFۙxH0tY=gF1-va$yP1x=G3'_aKG]/s~(&/)ʈ+Ll,lQuQX!SC<RzsrQts8ək!:*z<~Xdx=y`TYcJzR3o W72?'dxAj|w?=`RW~NWóH}/J:mQCS`3z9-݂S7x438GܬrX+M.M C0 ùդe)kODSs^ ؾ2Qo1H RDP(B BS]}_NFtP6G"o&;ߏW\ /_#QF%GQ,! sΊ:Cug1 [][tSwl1y Xx.~<m srcI'|*K̃r3FRGGh_E$m %̣*7rr?nD44ǍTWțpN)&Ѓlzxi ?my`tv @#mEfF*Ap XWAH?WH_0"SDzbL:7~8_JHMυ<.g, ,И?J{sME\'"J(-((A_c+LU؃TV F\ra~7<:k(QQ#Dk%z=e`[%a _e2`\O<4D9hJ F@Bd~}&4- ċF1b/e-hB'r5/UIDI U0( l(,( I[E2{G di(<ѰN2JpFs Vޛw*>*3Sqmg^'tgb%yqX!FP)oMv2 ޑ1Heɬap˫ ] bH(e/Cv#\0򲜾\%}"IlEuJya^]9NFSއǵ'L+W_7t K,[~%͂YNUǮf ,6`89?|I#p Gԝ_a7ܲ S7ogk^Y Tw*EB_fRi]y&mI~r)1,\Cb-^><˶.>$,HfEdP`IUdx5E2O]k r-wp,;.-i( [!C_oG J[pg:~JD̹oz;A@qH&6^*]5#UM&'0}5= 36SpiϤ(.S\5v%:`}MӝM_˨"(5KIϭ7ws Z$/$p𫗢-pjġPȊLz/+HX)#?&*(S@Ca=-RXrv&g3œM#3GO#bzgAO'_U cB/X-d| {̦Ƌ쳋FWmB{/_!iuscRv,DI~!zn^# m#ʟI"juH#j$=c0!K 96zCG'Fc->N2s~8eoӅ"z p|j;~D8T3,³صr/)O#}q_|LSO%qcI8KMPl/h OYO b[ TNw\6Zseyrl]ն޸ Ma*-&YwTpZC:o;L6}\/9.{:ƖK>1 1*hҬF(>[s{c >LLߎ]59΅ 8{z}ncg2/ GGL`Ib)Pgm3wܹdHH #5׬tS,H%c+zɂ߯T{smUB7\O+Z6vZ>1}E<{onVQ͂aNe:KGh뚰>~"ona.WDя: jW6&팎z_"d_W|u)̕;Dp*aZFӹ7gj1қ4WO X*,|u7`Yi9**'џCAҥA!^ zv̫yOj'}Wϟ"wo@S?[boG{7 _Y %T2ZKf'FN̟Bȕ;V7Xrrs. 9Ge#v e,{<`lU)9V$u Lh|-s8)+WҴAJ[ x-v+Dpu}EZZQ(K.X]g_p5i,@XnHAyzS6 #'T]׹,1p3GGF.;f7n>_16<j(ԃ}ej}.ؗ62zӕI$0}gAux*XlLa7n "[=YD!L1C>ICTc6iCcYBSL@Q`GXkz#`,&ZfYUmBD..oÌ@bnn Ps1'Ii@o]I<s.ug*) ȿtM@3b$B%6.MM-o|Rfo{]be! KIh3\A!)N#+V]1K󏎔tκXKAB4HjTlHy'(vq$vsY:wcxl:=xo%zŁkp_YJ@#LÛDp" b{Tp'ׇL+7L<.<"_ M4ۍz,5Ì;#)?k D+gbii3 X0}\WB>/jD94Dm{^;Gn7t@f`\J\1;p~6 s؇Ku0ɭP5*[[|A8b<8P@ J3Ygt0}EF0. .ʒ'iEy}FxB~IZc^mf2H_ˏ뾡~t2U7|0Q ]Cmʿ[&wrRcW|) @+ÀMy ׼fHhM΄{l%q~{1_ZUey-PRL; az@k(>쉱1׆Roj_451bMe\zQߌǵ2^#,JYR4@!IwlUK򏸮M| j(ǥCWr!memW1GCeCq>Ug7`"#3Yz Fmc ٻM9Ð?88s+eNiJ>y!Q&bl*Io|^F7ZH D^w|ʲ8BÆu/[{RITg};XGV} {^9A?MiډwӄG"z1|)ܷ;傝R ۏyƿac"CH,MRՖĢr_c* `Zuxr.ɾBUv:v$U`ru b,R+K !E]zDo,}ikD5h+݀p;$GK2 >\ 1Ox)O#JQ$ n[\et i"A !֏vC?bݴ㐣gQޏw'DJ=kgMD1w( I8t}a?'wI)IE]\YX_ՀޘQU?:I9z%\ur^꓊޺fL#bmx6pѽB; vĬ+vQ>#U#D`3~U=AK;=K)|:[U_JPuOEg̿ 9PWךZ^kv*RdEƔExE2v/%d >JFC%^ꎿrC eZմq*ri ~'bTHyX To>ŏwdrd[3 >2Dm=) ۍ1NRJHJ35楒d~.HmR_5NTM=uOL8F/oaRj N f"P (J!uT:nNo[+X>=tpj"rP!CX} &q'J\Je: ]jdW\Y>VVePU@gMMGHF/` 9* kd]C;y[Qm8b3;oOn3"Q?c$7WfJ2(҇rgZ )IG 9iI5@egKbC5*3t>2Y^9fO?󒎯75/Z<'rYnx'ejdkTd@5AU}" #SdOL!˙3WZajEg -Ƶ Of`.pSߛ]r;!mf}ґC:؟$}t"|NN~˩GA9ᗴ`q~c;ѲSWpRNf%DZOD;FH )[bxa~?2UI8?>&ʶzNc)Qz9ڝ'.#YPW+6`鯮HBae}WZآA`&CJ]d?4[MnY?Q5qdR(J ß 0s^NUe'`Zk*ΑYMn82fXW)K }Ehe HF\q}O,Ľd(J# z#@9 g=܏96%17?7t|wf]N12tH2,0OL.:Mxw,4JbtG³.PY{+~[|?;O8o6,~?6}>P?C@n);:8b$: 5(a-`ފĜgY^k%c~E@),ZfM7n׷Ӓ/B}:ُ }K]5ꆶbZA315WtHgsͯ^OkEcۃYCUxt#_a|xVK_'J~`7>rDQ=sh۹6`Z".?q6{>ڔeaM~d%8IQb@M-NW^E -שoh(@Wr N=Xӿ>)/UBYC5;h4gw" yc7My{]X9I3gh gq`ꎥ^G+⣡Q+`vINt?,4xZw-|cX!iTCf s7(ƎTM %A8P)tY~TPt)*75Z |W>g0#k^<~G]c,{ -Mcz}I/();Ŕz_#`L⽂Jo/ ;xp"褰&:")`zpv0 AH$28U3O&s`{Um@WCbʹvp6/^AV';RYͨT\K7Xlj@; }Mwh&0IJ/{t7O(i GKKX`Rcݴ2`qC%1ۚ&eM*LAh9PzK"_ۇqDhJhXsؠ;9 3Dgp<'d&s UI!T9R榊c3AQK·ڜ% 1V[b)ոQJ~@%F_LG&p{!ނ  j1rΖ2B9hQ.Ÿtoi%]0Ik |!fu@c!9W|) ;!!i: A3 ۗ*GXDmSXV7g4=|O=r Q!)jjʰُ*eW{Ss\':/Г:O[r\4%me!Rp2̀vC>Inl-}g]{ L, d7~AB;ՠ gÄwh T'4R[Ce$mM4@yr 4R5G}E"~gNƎn#\7""6hdJa4>.w Ցk( ٓZ㌕ˎ?p`OYވ++Ss ? 6d0+9|c#"rK~ ~<xF>yD<2pDa Cd>{ Հk#tEv.,0;s{[1X<_qۻjc$xlP؏[&s1RivADb7YoH2s>fU֝t.C|}S>[+y-QC~ޓir9^(_ /ήe%>wft"5_31kNCQ-oa%e|ex_zzqI,>Ťf1VțË-U ZrB0G.+}a쐫8 Sl5l^W{;xAG-LWUޠ%XĔ.VG/1p)ۦ Q?.xP5p3;4 MCN!{D~UQgerJ==ќc&xKXy"Tvn5JSJHMDR6n+?cQ žYsfGF Q<2j^'jJ, _M `64d(F/@Xp4y"纎8AYoJeRNuk}[5.N|Z"xćbhQ)6*B Q* P%cl}AߤrB[};I]Swi{:~GD?xp-a(5)@^6 ]F@(gjV?̸rWzK[rM6K`p]]3lt?j~G} OQ *{uB绵*ÿV|^lXc7vɟa0^N񈐹7;[aUܝ>GSڮܙ. (J@aAZr&UʥF|i S)'E$v/Ph'.4|SaϾ-1(0#l=ib'(PILO\oP@,Qߘ75Za:X˽cgOSq: $dP=һv}>x/$~x>fs/n,3Ui v[xI(*X uYuB- uð xf})~cR֙]__L+[Hj=s璙=A_U}F&JXEE-*} +VOsdkjzH` ^o7^Rn=;>fᱎN*&MJxGq`KF&B6}fUk^p5uF6.!ͫxB2"v61ђ089j;`(Pth %@-m0pFIK65PӾϯ?za$ʰѱ0qjo0ÿ̕y*!F#?ȬT,r!7lf+>!]w[N ZlWc.NR~[R_m$Ŕ S>"qj`i8]PV/lEpn ιqqCwT~*0Mug%-=zt<`gL|fVJZ&Z5XGizi Uf8z聎m(u5Z ߬FN3JUS :,Eb&x{~ևf7&\ K51Dz)iJ,In,igBצW CV'Ҟ2 RQ` ^ۡ;%B.8c*HOABBk[x~8βZtm"-]jH_ߺ7Zې^hl܎o^HD6#upw% X|B!o|4)Az$Eq"g?D˵{ ?OHgE< 7 ;>'~taGgٺ&"ڀSDk+3~ğA--L!hhgGiOkG.|j^xy A/ @k30o7EdK0#XMm7٦w%{y_%bCXK<1ψU>@tg(\ tp#E[>sf%6׬:OJ-o~ k.|3DR 3P")H3P[n^0I"(l!o65q۫[>GC!Vu ¸0GUlf'qH6ՆA2S ˛4185SZ|/f \w0՟~ AnGO?y^|di'#  p=H`v`:?_跩Tcw!HlN1oҎ:ΒޠԠ3Q%\Y2cCb^u+>O6Ee{*Apm[ӎt꼋9ԚY>a`Xs̖iqO@e JluӰJl)}(꩸H5CⲏAyzdR!6'Vݛrv-/:P7TRBMW K %gH +Īb$ҠxEeuǤX: QTy~GԉH#dyʿ-~]Isƪ1 dA}Z^$Y}T._ƒ/Q{+A}>;;O:.|9+ē6%7栌XX*sc$RQd(8<'zVX/SKNJ%\=R|LC7%jlPFÓLeK %`Ms_$n !U=Wu%= 0=FLB}XF Wilqa= 7ζGF_֑-I3N)6i$ F(nb!οOY|NK/|h 1b=#ʝb%ʆ AUw"PkFKi4YǪ łgU6d y~Vyͼ.A*GwR7z0f2>DZ.GН~3<%nYoڵ1ނ]YEJk"{GTܜ 4 Ȍe<4IQIzqwhYT<@}lU%m*G y\1rΖ%7N}H-X躨@}Nx{ ~m,Ce}dاKw 1> 5[2xF[6-; 9+aRM θf:F9O BS8 6,61P_]Fx7ݎȤR>F#yd4 l G 6 өJ "e={=)-'L)y {dV9lLod7HR¢kDn?o>7&J:7!UW/=,1 CqXCF=Ly|<X׉:ߗjd疚Tfʓ)6UudcLE$2`ќDteP=pY+ 0rK|7 Dѕ+T@"s ^ڇj_Zz.0jűe_Grt'?ȿ^3v@*'[2i,I&d^Cuj+-ĺ%q0/s`=JrdJcABIko:oiR Y)p_!gu8fH qI9c@_ZT- l- v7LsmyfE67ֆtN B !~ghE whk͛gs)OJޔT|&  ёMuUޗa+x '#j)~(E lB].oZvU FHlf8k/U[qWsye-+2ݴ6}7Ͱ:pKH]m6:69]0-彫K͏J0_Oڎxr7@+aⳑmѿ+,掳ץ_f~ } hJqscT >~"vF#=X*/<'`R~&+ ޿ŸlH?5Glq[Xe#\Ş̅?qhޢ`Ù2p砈|0AY(^mƷkJ)fip:TS\>L~ɒpI#P.iX 7VPcB\2[|e=7aU/={ERX:رl#;; *XDj8c<'+hA2˭84X,қqҏE<Ԑ|8kۮj+Oٜ_f\R~@6Y%?өTK17T΋CN-Sȧ su > LhaATa3nz=w77^+#f|~dh3soqC͐ zPQc(@'+|u~=5/^e̞|ew?M ʶEC_ u]?I_JQRJPOm94T&La޹,(n *'FزQ]?ͥ:b.Znl2"!-*(ZJ&=w~:mX'@0=u4}<_UԈҲ!~Fj*1 /MH ֮__Wod#\لDI:B2JaJ#?Wa mUo[rBTgoHbTkcyl0hD<@x7ݖ|2ѼXrvzk/΄Il` ,ЈiҾ2Zc}C?|n_;6,l]f >\|dsX;A.',=*a#gLk b`r  eqA2gHER!b[_kvtrjem7FBWbx.{mkŸacL"z*$sϒ2݆p@6vP6mz3t1\ {ΡƤ-p4+ >rߞlxX{Aʾ gGǢE1=*QB:_*hpnc&9MdWj Ѱ^ydTy/1~m?8'МI  ,$w̆aRvE*iKc9mhRr3<Cd;5-/M1LWGi.28K|JOa)̧#MؕvKe:kid?<.aJYǚ6dgHz,vTOִI cj\3] G=BiP~Ck"1R q́#_{dt=|zo+ĵ W|729Xb55[q/ C%Xn0k8+:,ި3X!3nXK7ba̺XȊC E(9,K.F;'xu(9#h(i[Vwu0)jg͘_ϡWј,B[*`{V=7[Z 2tGkX=+ogCJ$JץmC}hդK؅ ]MSr)l hy5,*`}aL5|oQʀe ό8eB@a7 Ŝ6˴хr$X:"鏅y!0 ssfǃ =g{h/Tf;J %qIj7k>IAAs-9 󌐈,)P0B+ã/&DyVPJ|D>>yl8OwЖۛi8WW}ma=صB娢 >Sm`礵4X%4/ұe'ZGRXjZ,7] ,ҕtW-@~mln[ },o/ l\?ӞxĈda4S˞,`pׄe#. .i$y7\=fCXbX~jGW" JR6!HrE"ÕgbIHI?:|qd#p{Tgwd*>eǷ_}N@󲬕iKxJ⽷(4S.9,L)TO(4w&%O\vR  ɋf"P5"wX(<OC9c'k7@-gAw2\ls 뚡v5b_[ӇU~Uq2H9*1fKߡQʯu)NDj,c1e.#5 yY(P OۓSS7j:8'dӻm[ӔM?li6nhСl7w|û )HCnqk]߈p'ZbS4`,6HMD>}_Ꝉ4KPr zM6Lۢ f{S񥣓Sv5Ͽ,>ܬw<Pb*UQmet!.1wYH⏝ m{ȦH3VΏ$Jskxjt iI+~/Eն-|gǯ)re&lľL:9…'yEն7(xYn\:jca,Y{0ol4Api)v%*BGGDkGj>_K"U\!jj2 kh +YEۀ0Wюꉘ5˛xŹO)xھ'a 9`kG{l5Z9PA2n?WiUW}zKI3035?e>y /8㱩M%눩v 35֍ɾ_ n"ӮbJ&"n:Aॠހ@]9|8bo ~Xڊ%kLJܠ*l&(RLH0%3: c1mQ)qu ve5" H3qg6Eu`dbN)EgcùaB =!)}U dNgː/H00m-AMrYbt6JTϊI OmdF1 !| #~ ᜅ,;1pGjAmW!vXiFZ߬ ?)ŋ,W`p` -n*zaqj,N*Zof}jÔQ1~w)=Ltq+#RD`wf1m23mM2ܴ ƫʅN8+pAbq3ORsLuyb=IccF@ljcj0I `7]r8Av"V%*F<N.>RƮQk _lmK΀$I2&:ol4oXޑνR\>[7zfV6$PlGQ)jwr%^M ljEVf3ofl LcRưo*:1>f0ފꏥ)\0Y7@ KEkhZy{kAZ࿆ "3 ]WA᩻0 Y0wzepׁ= :xl)61:PO;ۆJ,Bɇn9;( mD[w֭:Q3)fe + !YM,oܟh!8"4j5Y GQ86V.$G 1j,FG #t0:q@nx|\[D;0^btpK->O2D׆o﷣f_Yr.)NRpt+vjYţ{ ޒ{XXa׉j uT\e>A#V`Ʌ,ʳT\eOyBnFC{aٻ*!}B2T@lXOPm[`Bȟ,v '8R )Sſ:I@NlQx>)9)sV59k72JlOK5lꤠURŲrׇhJyl{3۝IHEcS1~C)Yz!)ln^?[fqӛ=X#] )778Rnt d4yKk|GUfz w}8E]qH)9z%\f[D<` n cφc&t>ڧ$ťžD㿻K |8&:x>6w?6U %vC]`zHM8-bR `مIC~+ǩTܻ;oV5Gߚg0E01e`|Gl=q:d^/^Twےt6 96Sv EBX63?%<_ˉ Z;{Ebpnд%,N<41bq^ y"Aʱm"X֮ؓɠΐ|ĘjB xY?$R:wm7/vK#u#[sb{` wPOG* c2wƁ1~c gֺas\=ky(P.vhvBGV['ɿsO\gGILX7:@ *xj5Yr0ؔQ#doKC16zvmiۺĚ\0ۥ lqbq7)ɺ]r%t’o,:*q4 dYҗӦr3jYb[E=^su~o/ Ƙt ~RP{9&g푆j2/2؋~5qpcMQ?/ïvJԴʛ@#=R8‡vqd{<_ jٽn6sKQkƤ?6{k4J:纖ee2;=KwۃKGFʲ`ӺҫGs0SѡZ/#/2SS%_ryE'5ಢm*񖏊z..嗲6M|*k% 7= v_W tU1:OtRֻ*ss>~L 76\]Y2"Dg9EmO~19nr6hgn! ޑΏcnս[i iSVv(?7W湐}^/]",6dF@~M{o}2p.xK\E/{/nb@:m]!$Cj&):ps_U$n=vC5ZƵÃARX(+y4*@1W!nnIL888  k^ɬ*{mP"gP@tݴ(a{6_ QK+!Fr~iZ 0i >s~7.j݊S{ \m !Ls4wqێeTXi;:Coc$1dN8nɿXݪcvt.+!u0ٻġv{~!==p_Ntv`H6y냲Mx`XNT2vQuK/zߟf#H$ BNAynޕ i4k } VS1W]Ei#UGՂ%K+F+M5YRqNv!kTc5Ͼ!@AǪ(#NPA/ NlՋû蠿\ YiY<{ŰO|C]3<;rb?F]S'~zkJ aphq=J/gvlgb|e_ljyb 7}*86j1#qrҤ:!6F1u[+$P4R&{oP'g#5ѱǑQxi&˔X`斣Jh4C?t2*/d۴0n/zSld \@ }&poiXJ5QH {]uLti]f3Co*$RS"~J|iߤU$lqoq,$*]w<1iK TDo)ā l׎}s:`7 ;L/$/~4@{? : >mh^1>SWsӜlvxJCJo@rҜ4S9>$-|Cs9e0sJ@RÌ/NC,0L3<[EO <25lo (-j }e.DӞJaDoɿ$>}?'Q=҅"d7],{c=L/rIm ˞9yɡ>idim^$Ӵ!b vz+֔?NH͟$C#$俴Us1CCyٜTGBw|\I}3j eGµO^8SLUqfb 2'|\8W=4X4$kKajpgJ7L. /zV)Q{n}?2C/zG'k$ʬR >x,pxh=0f ,>g"œ)( I|5(ah8>&~lLX Kmn/J {#?QִNs$R|CH$w,x#v9C$l!m+ Lx /*,6n̚QJ$WЯȫιC{bKl>iyVqik(?7^Da] 64~/27?hqj~03S9e%l#5nٱ ExpM}ef j"֏\,tpiC zu::pH;(*鄰k'SKWwPR;@(ΘڛOc># IT'DXZ-j-,8Hq` GxwR S?uNbӴKOKL`$$H]JKgt2,;O"I7z >L!e"Y^YyCOhnGbQӚ?du=8 ;5|"Ї7j浠.w%'h>: ү,9:HZCbuuA]SvƢϼ!u`-ذY #UĦAҬʋqowMLkϐ\ݓeCA~)yva9_>H.nK=Wapw񄺺RDsЃ2(}/+;*jBnIM%7P( "S3u[k+m;>ʐ"Rqu ][N%i$ tYIe0fQ }i' Xm;0֦o$L;RTnlSQKvmpK/X EG6K9ၯ&;*r->="Vq=WMf:$8u2zqk\'p< rsϩ'6Ks3J {P"C]"P\T*3(TW @ l?_-Yb_ K\ j3;7Q7zpXO[2<._VUO*kUhw~~l)W֦?#Ri aiFR/T|Vaqk~!T$yAX^TN h_a#rJ(|u<uK?O2uh M~M]_ %e0wN`d*qJR77P3$od7\ b+5&Xߨ 2 1e꺵 "},0/y*BDBmaخRPIW-/]kɍO'wOKm3 dǏ]nCd=M1DIw!Zr_Ի7t|~XiШ A 4v3.X4X_ kl-aIf;ձ@G#7DKx |aAޑC"}CQ:E+׾wlXTZu!_kO|Jy4Un71 ǭek@|ׯ~v2W]ݽ5#dcp ue FD0HEI{._@4Q#Q>.QһꕸY/TA̚Y 3i^N~;CnAeJ@@^{=إA?ҡ&Q_2No0!FꝀh2bڞU 0&40qK39{!,NHq^;"H@Rd1#w]:b˿]qYx0شO<*l0v!!5?0M5y_6&Kpon0yd@g:չXEyYw+bM(6QfUuK=Yx9']Oˁ+)zy'G4M <b Du{mt;CZw-O5|h԰fl,\[ cJ?yc0 ÕG^O *7R p:.Ex| r@pIz"dzG)ZF\3[=:]5& 1n jeq֨6݉hE d#6PCi#^ea1zIUȵ}_ӧO['HEdv Aw5ƅ@}wV k~D,>ؠc1{7MX>KԺC3zvTA퀦&@ЋƲ; %%!y0oiWޯ1t3tr׷g1oB]a('w>0Ug溗U=stKH*<  g#%6k Yewa&mp{''OMÛ#"o CUw?Սr AL+C@)i)[ 34f]ݨve1`=;w”t7VK)~;rw.蟸iN<Ƒ, Zxhl'~юTn 45++/HqrEߴF}3U3(v vgQL^W;.6#ܶ Ky:>h NWnH69\nɝFsi!,\EFh8rչ)rbvB](!/Wq;H'UE֥Tߑ@Լ+!D=D.;[=}>enKh'(ܺ`$;̗QkeN{C AKa@K&D)CB_.%-o&!uyJ?O޾շkc&+ɕ'QASPcʓ+#cnzʥ|>x!\m:yMt1GWH"^U9<" g?E6^Gl.cU3|3\͞@?O:9i`-%/K(NKDWV7m,Ie;~F6C[ʧ"n DAHkB/ô GS32wF hv T~s"d=Hhb$ӼMgϺǬpn KXm7"_"q|ԴoؿGj üJtۤx{jbB>䤃c'E{iA4s ][]}-SW+Ef\_F~k" w,>$j+oH]J@z|JsEU?=%|nN[|2TgrHWaSό@Dw?VN˟ ͧ_D+6CcxF,3i ]EKotV!Xw#qk7(2AA A1O ShJosUTj?u٫{!ʛ`li^nqbg۷u:)a3a? heA4q:~lVX=`:uYseA8t;Y!F7s~SvIJzOtSdRj_C}wDoɝ՛Shl"cZkKqRMdMue&ݤx DcQ6}'h?;R7wgڕza Wn3W*ez7uIa+H8^^4Ĝ3:%zHki}|lE B.S ys?֭n]#un@nq1MP8O}xT^g wp~TQ*vhZA݀FZ]%+,Hc 9[3Hv.+EgAhDtl %K %3=g+)HfɈJJ,z?9N8VF9UNJZ|gFi2]n*,.m1{\$b)I>$J3)D@5@`0b(K O HeO+w|%ނUQ?N/3C<nѧpۮiu6So\6݅y|V>pɯFV'ݒz)ւ[{ Ky1ve`]\ٓ.XUW̑ e`s}g0tt]!z,ݶ8Ǧ= Õ , "Ζ Jh]A:_8 A8z:9Qo{J^E1|BO?Wrc8":X*w4uS5˄~̔i=H`_\$^#kDl0c?8/2ߗ)c'hcu/I1l2|Wl}~=L7Cz2gYѥPL ^?/ewx~I}'o:ዡ敶.Q-HeA&Gm#G];4_B700 +ސzrڃDB~*5K RrͮiP *CLCm>Y$$n277OrFqU+GA`J&^|K˗g#~OOQ xJ{׮MJ=v9!8s8}4Yj<Qn6YHcjKixϷT#vSf`=TllF~d)`"v69.At_0Iڛ㩱y(zF2#(גcǹ?- WdNoEJ yZ3w AYP? jdAebN]XPn(`|ilxD0}m<3p`97~1MO}B]c2,al?%k.6"uu3->Ql6)?r .nn,)NɚhN]i׭1yj(X0Jl#x ~[&rDpZdaȳ=;sÄea!}PoՅ)%ܡe^[mXUUI˿`lI-@<;v7S$4O=ZDE/v ,:.'[ b@3W+^.tȮ`GgY 0dݎ1uq tx+l 8vG֚GMf+}>e RܳCU\Jqw#D{鳏)ڻPz ,e_+eKp>Dwpo~qG$T>r=27!UƤg$tn>Ug Bdo>Bp459jHVvwqXQC3ϗ^ %IYH!vvB@0kĸIR 6A&S\j) }ӷwkc1ugSVYsUe ?9LѩܔZ4|2˗yb>@ȕ~ J8$_ǻy܎^@р4V9;֗g@Z˷ IGBg }5#貨^( Ӭ+<$æ/oҔ221~دT27K9x(eʈ ^%/~^_3נ}M}@waC<H WܛM~w&ɭTf7ͧbp{]߻7*ӣB @e`/ͫ~O_^Ykv m\o>!xtcv( anX9dP wWak&5 Ҡ@c#7[;0x=6lcN!}rF,<ú1#{TWdLI>n!7@o`)$ġgDP!KfyX +0H|%- N&&Z"WV{_>iF~V E_Y1n mOx'I'"~2З䐖LE>!}qQ?|^#w҇zcg0N/o6֣֌#) _v |+" ѡ*/rW}_~; 8ݧ 6/0`6_Cvνjg:Ie P _nʒb٩H7ax}1-V:y^lq S4qٙf ۰C45q+tdevޢ0hk|vĠa{4ﭲ{<+籱ɦ47A&vaphx} }IIlZl6Yg^$5L$~}p-B6HWO'irJl 5HqT6׍c*8˨T%;^e6Q1Z r; klKMrevy&znYq磞5Bwbtpޫ[u9 'AkE%hXL᛽`.y.hDB[1 q2D,z0Su9[7'f=fr^yUb:<FHItwٜeZ"/5K5Ufnjc`M.Cw8A=eMDIQ)O`ޫJBA-Ԗ{23w07XIIHarYYcl*H.beq^5c!3CYqk7j2eRy.K2!xn̅w@ )tÂdբ qWfܶn3R#KfLnTU Qhwq!$˾c4b!ԜݖvGae3W^8͕b̓߮/Y4螶$fWd3NN~1:{9X4U ה5;k!W@*M͚!Z#pcѫy-&՚ݷcX+RsvZ=w557EM7 *UUl-ajKsZ6,"]tr܅q7'hKVZ1"A⅞l.έCetE|$ w2yii}ڟ~la{T=uɲkR;jz )Cp#?\VBh(c;Y-3LF۵b ,6^SԪ@V=p1*E0ͮPm !gyL\MYnl/D Q4l'ۈaGji[;.+]i6kRW$EȤotX2ݩ M]<նfT?z~]vGr}g MvW41Gt#WݼmyqSR3J?jS(4+ݯn5ri@edmv:AbQLMGwׅ:,{~Ǎ g,S`GpKh۾?1ѴLIAÖw豳!"pS]J2wF Z՗̛,͂mM|>\{_JU-0.k&ƪֈ38E^D٨ld+kдf!$,his}_ z{3v ?5I4!WTFΦX-Y;߷DpVg\ v6knP3Ɩ|H;g52l{ K4Bʉ9!Z.E#˄呐*I;W²ysnhNJ`m|ϊb<*J̟Uw"g ٶRKjU"g*ćj7V)L&wrpfʩζIg*JmMBjFdwmm1gXD3MYKyư;J9볧mǎĹ[ifR1JLۧ!i}ד:;Oy{vSkح,0mMZY[(fVm&*K]e!UNYՍp:zofyo^>tG[1~`eCw \o:~)J$3֓6h=Є(Ɇ1kb ʜE9G^NHqLp֊17y8YWz%&goF<Л1HOR:%Yf}0:d#C7c笥q,r ubMvr/2ŨvԹnsu1R;u1vٖ;lcD#LTp/;ҦV ƪ/;t)Ƶ$9twKs&tfR3gbe)J! d7B☾wY}bm RΊ&L[ -s]t:rmTQʼnr=6#-*rnD|@ιOD;˥Yf`\&hqMLFi5 xO.W/J35g~(/l+ :jt:E-ؔbUƶ)ǓtDFUMEB֪->4oJz:Fc&Y6 PMEw\Uw\ 7֩7hoIUM ZT Gdͺ4 e*}a-' ޱ2]Rp~AZ.K:&&(zL25'twZcUz<دm›CT"k 517lyeE8 DJ4-ݰvDESiYU[F׵:PK ˸^fqt`E}үq!㲡W8di*7mGmDCzUsDYv-Y[\a NgYݟ޲˸ce"L(}^̢dJ+zͫk !:,9j #mL9cp=>xYa: iv,O&jm Q8gl7YF)d۩SߍYw{8ַ9N]m#}bJ"nj+V4 rRƽ@׳v`vK:Y}>菑2d\+i[g۔]T4v-: A=rk 3utntxO}}{[vp'8N<z9ګy6NZzZ6Y y dHL7ۆFyhgIc4$.4+~eCeݓs]܋>p=Ux{O>OTWLaO-*Q̙GK6waܫXh?j ԽJr,„5gu1G:+a/':1Ք%CFˍZTFRuq/vz$OWrJY|(V]NB#^.\Y/2d`U@ss[YmTmuuժ\n o%AQ8d5}KUs>3;/8Y&; 7YןryMW`p68،79fc'Q4LkIcKC=T8re4zͭk[/vW&z}1sQ8Qk৛-?F< K\@ [f|B[?ZQ}vf}r,9FoEoY3Ê9^MaN[1Mx6;_-LyH-y|Dž&8nF/޾n7IoDG nkn2n[|f,Y:$YkS(`aUMEs+7޲u\cYO,%E+"NIYQZ |;-V5?mZ5q BQ/ŮYԇԪܮ>{YuJˌ(Od#)hZ}Ʈo7kx =:4 e0ԸE;?ќY[V"j0ytlm4lQOPNJkZ3wnfb|ՃkA,b3 ,suBvFaB%Vwhm{T9): hS5$7)0ip)4{4;ZY ƃ,uLsV;bKb]ףqshWtaU\oո}iapmd1ᦵ쨵}s5P11\#³JsMݙ2sZ1C0f"_,1' .z뵚:Ұ5m h aM!UEuO0ܦ>?zx4HA+zq[ZrhzZ=Ey79zS?-0η P>/vDwAO4xaᵝg3TܠE!E,}S~xVI=oT;.k>PΓmt[#v;>dB_9usZ)YYNb5ZgO`!ת{iG3"4Fzb>i Ձ/NUa M3&HvlC/.Cc3,5SPbd{Xl-c!s.G wUQ-YgKiՎ Fx΃Uwm!Bc<>кym;݉7>Sw}jmݖV/HLxi^).JE&dÃy:7Řol/{ZV^0׹h5fl/ F&/n=gɶ Kl7\4X+^p/^YETšw55vP 4ʘY{awjL 1Us9rOGj ʪyHw纱3uW-)$c͑':=X"&Y۲Rm*&M5koZ'(΃fIz:ЬN@\ˢn- ɡjTj~?SյkmD 5oT`q? ӂ{a))[] 幈f1ZM=MVmE\㠵qF-r&yËNslNJ-b5[A R;&wLhzJy9WhY=zN9Џd=2Xu?81S?OY0aNrӣ>Zmn2|ߛI< r"~y [Qq<(> MDģذĊ|Yu6ɪ~-&.ܶ,[g|Sן6TFoiO9VԑG IOG"J:6{tzh`U9;ۿ1׿￱/?η?vƑ_f romELIЋ+i's^\+m7\^]7uY:ך8;^KQ ˊqn>΍k~?l9IY;h"082С BGAj[{oб9+̭"}j &΄;[X0^현ߟR|3iā(w7e̊AB"016dEXHdY4$IfG <  ># VQ@ "~ PO%~q2OdL."a2zE"mq^~УAOyݳA&&91B)<:\0GHH|.O mfTтK'a<BLYZ"hȉL"A/E2J~GaJke?ABߠ߄Dh :^J{qtx(S +? *!^{{xad4Z ȿ|@%V 7J@Aҍ&ـHyD&Rtд~HooF"h/QOE<0r$<,@E"D {CXGr,,4&,Ͻ(i,8E~y w%0Q#G@K?i%^UMĕ܌ Q}_ϽS1h1$!ә Me$< PoU~EQ%͋2z<z?>ͤ_,MA܈#( #D|$ Y5Ņ 5~ʜs`?&"&/LNi"rHRB a̷tC L(_"`Xn?[cXScViu1M=+~ YGtg )zէ<bځ_<8{K\;#F8Yg8e01r_*p"~n(ot¯>ߡ ݪ%j Q-p EYpJyD$<|+Ct7P[ney |ukjxQl+)dx%Eg$W 6O+@ίEBa3Ӆ/aMz#AX?Gtb! s !K_1&;Yp܈HbWG|fN sm ݟV˃i%P,#o) f|{%a=z~"Cϫ~g%n.沉Ǒe|)A86}@C8&\].0^8iR@7I-&>N:X  b|sx@A\6:yRe[,XPn \G9v(Dc@tG$-Xt$vV&PC5,#'~:g"36p;:8E(K4N YOQ{DĔROv;nCf_ ѯ ˞v{QGd` J,Q0 K~_wy}@/ 7QK|@zC9hfӯ_L.t=뫧Ҁjjץ6:r%S7Cvs컈?/'xKY~+IdB<7$Xn>~ I{ *|$oA,qHNWG.qH7}!Q CC^\K+=zxV;?RR2Caz`J\gWH/e'2$ 3Fts K@0Wz#qP ]eK-$( K|e(CKЄ,};Gt8]WsoiL0hQx.G  MKD"PG Wɵa(@t<^:6BCke+X\xmYnQK7'" 5E 2h6KS1<LA$31SL VwmD)_Hՠ% ?=۸KMxh% kW1hbx}|lnyqB!]Z3 >QI;o1%'ccGt3dBA)L9G76HAH9ܲDwe=_@: 0'H$0fKaƉ ePT^,<04`htw}.w %YԕtEh .G4\x23 _K K 2,$"F٫Q2e8JEK!= H j_FB?;@T&+?z+ ;U/-˂^܇yKwK, q>daDO0mN7]%iIg!`h_Oܽ1D҇FAKgq/pΜ?q| 4B41.Z4cXdYXp+e3d/7'Gy)f1%@򽓤{y堛B]oqm&YcQ|Sҭ.^j߫AB/h?k7OxI@(;' WZ}8(ů9>O7]crHXwk?MCXu`fi*a۳&%+$ۃ߷u;u+#߷G~f?oLE?wp n|n{ޜ3Ȇ]d=7M1콡5y}|y?#~? _D9CV~~t9jH#J4]nD,<;Y7krZ\NO7IϬ%aQFSA)Qf=tn_cn "pc,x9ix1xH ,&O_\$݃j9'%566(%#Ɇp/ û>_L˯1fCᓹ'*rn"<[Ai.VH}|oQxnR0zQZu?դp%r~ѤܼBD;/ۊ%oO_lǛQF xRkùa9zr԰0E ?$:ZX|MF_ ʊ\qў*/f0䒨zRB4lp#J7i4hsg}foͿ9S<ύ_Nyz4KܽkRf?d_ʖ|aXLX߮z}4_=@o{32}37UT Lq^[o η: ,|n:] tcG@q7; kV+9>E-O0n3/\"'z~02 :rD~N{xgq?~ 3|9TLxPi,JmYR֗堫RVz}3WT.܇Jg⅟W2Y_{t5TSx[]qc5i498DA`>.h1/E4,HD{& ݷ*;9aՕOqNIKy-Ӑg( W睮hNY9っ鈉%)emL}@7?-.a"7 |AL_%!<#npnW^grJOPNW RGi Q%/K=Sw<Һ WSk)CKV?v/o/{NDsc (9@yyҋL4Xk񝼷7G,Y[~ e cme. T?qϨ7mOW+KZ~/jb)3hn:S~!z׵ބǬ\S^j!;1ݺ;]'NLDԜg陳\QZSaOj-dFOT$9Ȣ1Du=u,ܬVʹ;=Z֕gĸ^MInKM|#UJQidȘl xt,EЪo6qg\_2)zznU\N66p2JnS ihjG6QT9&㎧Vt?+slU8ꦵ { ӃQ)N92ApV0aL6є9fY\,|#l4S6fŰLɩN*bV¸ ص-0k-U|e~i `5lv"+YE_Dsʴ}r$uC zϬ)FJDVm.Y̲FLs3덶j.btG5$2n)M],Q0=VDOҮ4GSfoڶֹ7A75n!l-QLpt8~6#i=N8׬zgsJf}vڮ(޼qJ{oT+25NS1׭NZ?*IOSn,{L|խ_ OB1dc{F=3A)LB/;lye 6IC¬%ijݤ\8ZZ탱5a)n|ÍS84#b@hrd:SroV5ݕդZ ҍ䕻)SҬQ:L%vޮNj0Oέ[ Ȱf/ .8 ,u#SNr>b6ܐ4#L=Ģ GjQ jjƝ\ 㾑5C7~8kFŎ{9Y N gqi^< Z.A{?FY،deK;99ӡX} d= woEXUXc쀢f¬ T?ytHz/ R݊'6sRFށ#ionn7mPcIWʎ&a{NQ,w+7gwf Uh7/Sױ(; N^x_zvi^*MdDfѓj#=$d Vwh(lC&\^Ͽ9=&.$~ORY>#2i3LA=Qn;^(\!Mm[5ǷivwSdN9٦H˵K_y|K z!p#Q)>` 3u͞-ͫI0&p}$:?7 ,@hZ"vz DᔔGXN"HѫIr|2ql=VO{·]x5¦!xfL $wPݦ/\63C.Г[*,rERSG^9pB$۾hf?X 5c|OEvPJ,ҩ#ؠjK L>6^ɶkTnI8Ӭeb.l*,zB/%J^kݯ CӳiP9XMgEzZ 妝JOXO?}}< d~!/3'VG!Vp}6{e!..3Y$#Js1_rh騚 ra{rd}%fjyPU-=׹o 뵃5(H(L\&]ɮܙEQhiq?6=(ӬO EЦdx89ძg( *#Tm3% wQ1 D~Ő}d"#ȣ*n:-;Nv/TUm_|e~ކ-wƪwPy $Z9H[H5;cLΛv՞xf,%4)5Xh1\Bj[Җ2ty]V TIF65rC3.F3kkiL=VR:$GN[U/}/>1hnew(OF IFEJ|.q k6 ,KknYN6`Hba09r?cEjE5o@;YO1{@T=I>z1^(MK)r,.JhZI$9>7&-OkY0g?$M1(OFQ8}lA/'r,<=(Njg~2qA+6~B .ky,@IqmpN1ΕgnXTՇ&1TqԿ;SP֔MaJhg]0D#4/:U==Ab.$Acgn4F2v Œ =+8j뒿 @[0 0˨Ls|$К|T7nȒ @9pM-IIl :۽۞Ksk>qL8 S}Π>vvs%1.N͝(!)k޴9' >ҟP"Kfr܃(!S]ocLyOM fs(&4E5%֮p GHM8pk]SyO3>u U}dBUYHSuId֥՘vy冽Iz!dV//Z}7LDkT* mOhsqJvt]YUNK)Ě"|9x!zx9^ Jg%҄{랙6غKt*:jfkr[R2erؘɩCrR<6=q]#'Hr$$ /)fp''Rc᷉dЃ 3χwwA,R`fd EsrV*e-N&j W*i62s[M J(X!b ~fajyu9N&O ;Iw%@u27^vsM `vh)p %y:AO3lxsuK<]zPng|,MR=kyaO'Bp&RYJ[#hFic8RoB<zzJP}G1f鰣];وՁS`@;~s6&vP-gamѸt&"IcFO1d`uPnP &m<,5{iͅP^cs xd!qKjΥa\S>SDr$ͻMH?>oKq]+״6MQq"wuGX tOSLik@L>c'鋗%SB}5b* Lmm(1{njAƳ;ҥ|tWM z 0n n^ ` 1Zf ӚE*E [*c[G1|`B`BiERy۔7ӉgX9%7F+Š٥<$i4Da-bfpK.bXK۾_-1Yr0_!Z$,_eT uts[piڭi2^lsetƚÛNYC) cu!,- wAjMZ9p]+ci r6xꔥͨ~qs,buy\l L#񆣑\ 23wkv>b4u|z$ρV&Y(`d_)V~ʁלlFϒrַq]jL?mXGѰN2ߜ龪6U<+@ZkO07gy/ikܧœQ^o$.͖JKϦ֘ S#ij}iz@He0>PC $lZxϘ0 _T/<ʹ" ǯXȊGzyR JiG PFa,4=5)}.X /lEsX]5cઽ++Gz4pմ,tVYLs3 z^~P^wvIflBGJǠߍQ#5%{α9fr}g=;~)y2߽*hMLjۦ9Lxw #θoN Y4=g YL}P=W~Jx7 4 ۧu{|/GtTӉtS)u6BfbԤ*@^z#U nkQr o\64X`*jN^9bvCO?!9ouYP 2{liԖSFBs\5AWdj9˷X-ae)T[8 ]%In)\< Aiq֌n+m5mg{;4# !R'ygXT.y .5_%p|^ˊ fK<99@{YL'/}sDKRv (fPZ@75Q>AwcR$ |C~'*gv}SިҖ{E~gC;1EV)Xr[u]NVOҲmM)X~Ɣ`Dv07H'D_#]noyNzwT!:Li{B!bo8ӌ4ʸ3(vp+<(6H! 6SNFOI̲wv7à&!}v$CmTJkϨ3,}5ڌ^$L3cE6V*MgBq@@s܇<.Z||Su)Lgph">Mx&HT[2B9Q(g" Iۿ2|i8۳$ JwPEV,6APwFU7Aj`ʁ ~ӧ}ͽ ɪ/EW/jv<6tw޷t,[=,*FS?p cR#&/BzK7`п  Db)p(!t@3ߡ76q;qlE,fݤ86dX}vXS@Y3g7UM7*y^7lEv?Iant>OH͗UPeXh&q}_[|'Z һX7FydYcF>M+s!FbЭg8}9Bco%k1]֧ҐyM$OO =ȸ3Z2r5ç[=5,sm۵ڨ'=!66)D2i,^Ob-O wP= 654C qH.PhU)Q1Dv;7ٻfxC&Uƕǜ5 @<3lխ˽ZA?]({!v kr֍0L =}d(cjC1[bI td< h^=gC {{m]10UЅGeR*7S-hݳ6xI;{@3znX}daO|9\?#zA2:OU%(i#G5b^i!FhPST,uQ̤y׽BFS'] E=Z}U ;$)-/w~65ڋ`{\:"nRI:nUDW(KJtԠ>?߲-S3.qIYhoxO~p-Ca3M9Ւ9FMRclݴ,, SW0+q^ 4m->+* vt k?yiZJ(Eo êOE$-]ɀRd:>/fQ{كAW{Jis 궤;(؀{=wnRfԑ`A3 |iM:]E!-Ì(&Pc^j0:~+Y} /p FlKd#K/7 p13u(eXm+˜VqAYԔKʳ6e(mDU?{_2FT& >w&L"iẀ0/[%OWB78&T`[T"E?_:O@p{Njegg/4d$(5!iK1ɐ=̃ء&D ё^Z;jޮ}Vuf4"OgO ܲ[8>5+W-AGdLVm aOՋ6 s]%B&|TՑFB ^Y%'cQAu+ C|Qw΂^Hc۔gNbh#^| r͈vl>6>{>hK>?' %t-y흨0ˈ UOj-9mSCDU/v PW̛*㐪29}+eݢx?xN&zÐ=xRk בpc?% )|\[ʥzQ޿KX3}G:/^1DO-?ϳ!|m˅)핛y[u9{Hue+:ܔEt$K@~ߞ2,|=ކ\ntZ^'䮡_ZE\K Nq5ROjzg]誔;!{AV/2Q:6dVUty='?PŲzZJ{oWo,m%v9U0:6n)MOINҠ?=6Mr -TIO읿ߩ4ˆb0)Yl8 i7Erb)cCB}~y\Tܫ]" ƿ}|PjQh!__͕ ҷb35X{,xxٗ4fo˭~Fj֬ӻCqga+Ld{8J,a$kdwS%zK.7?a(۾fdc]Cu+ͨįTJZ 1P#5z'tDRݙe뻸V_TWL]D?OHoDcK`qb˖f^V'Jn>/7ێx.y\.yX(؀WIp_vFs8㹜A <2#>BxVZe5ۛ$vpmH1w!i#wK쪬I-FO2>)eZեhݤ%Rywe |Y |Mac|u 2ܦh7Ս5S>= H3g+ W םV#%:5tEC\fZx5'.>pVrC B&S{:nYw",$M_9W!Q1,o:9 ꇀR\ L>:+C}}-rS.m0%$qvC"ϷΏaxс?|R(p)DŽ/-kŃܥ{FKguyLJiXLn5Qc_ } p ܾ-K`oGxҗ#]Kȷ-c?>EݾrHī7\5IYYkƪ_(٣+^לcW+1]QO0| p:/i7A~-+YPM+ꠡϮbnxڸ4:'WbYo ,E@:X #Il߆VMȃ_ZrȽwbh&Xm y^ev{zJ9@+`z~p:Wq;T jAYCQr0T,N:[H($un/h>jfpBXc\*d~; 3Yz\]1V+%L [}wtچlZ=#`g]:DzvCox1u]d7ߙ<~zd~\o GgB/t^p>!%/YV_r&/.`m3,m%@!j>B|@ٝҊtW8J~6xk^"7\Z_Hc?z^`.r7L*'47_k^Y JoL`Eҟ3MGX8Z?Eܞv|/ೀ{m`И^K\zr #M^댲]+{%7>gqmn;BW>h141!#?p/5 'viXKR-GlMj7qLeԖsnB8_$ [uV_17nԓͯw|AsHģ:?o"\zd3v3y (v }g՞ϯJL`QzO7HЗ t4(1OlzܧeHF4LgyYVv$#~] y0nlL`3/5D0zCMѨsx^FUCk\^`])y! `,`äZc#^v ?{gu9yMi*0=']xPQxhjZI(Og8]YE'`&75ER~)眈~dkO();j.AsYwfzVBmm܄b:j_ ~H҂{W.b b5l;,NI`Ba}HfYlsw/Cm6SgR]z  gz_]lu*< hkmu&̕)d$%rzƙ@a^_XD%,s?ug1n$P}G*Ax ;Aw.67mxZ qNhy>,C=*g8Qٍ\ϧ!Qr1F!)=Cuˁ @ 'ٻ/~(}jJ L=ntwHmSJ3?lZ͆1_0dt r O}2[ 4V9@.\(uf`N{Ő2XX22Xѣ:ǿa,יT | q;ď] pz~WI!T~. ߼õbL.&zِL [7izCJ+]^S>ݽM7'(iyGПHo@ېp_>Lx>ß.C` z1,FM g$Lv3eEY]_Lv^{ŒhOz,Ц?Upԏu>|AR/m[݌QH4ghE'dޣ}r~lַhaBy*ii,dnuC9WK`7}xlL{S>C~SuL8xu(51\Fwa.P} osQ ?D=_fy,}t[C9%_A^2|_VD\`n}_R9flzʼ (tM-Nl6n!aI:z}]鮾Igϖ0por>Ev R] C8Aʤ<7RəQk~v~ں(U2%L{6nfK4G 7OQM:9~kK.\?|*({f')-~PM"aK_V(;B#C^f=odDRbJtA5`f`+*X@`N[hJ' (|r r)`ݫlHCa0CX.󀌘ݕɳl-ob7VnX3vÈ*}F 4OG+gpe:;&]]`1`K hfV?2$ү@LMďb-,vٺTcfxǁL3W[9AA'6y] Q"h<&ױGX eYp߸30jLPi2HRxh2/UIډ8R]@>Aek͛L+pJX>A W#vNgg|r1\Je@Dzl`Ųg'1`Qzk0cp&G0?fB:0~ϏnSf\h+`yvCgd-] A,ΎQ>` 5!$22m5HCĿvK,;GIl23>ʑPFJ-/i/#6ku/7O'O<;+UXMcŀ4:} *V0[o-^1O9`Z%Xn$H=cpwC4(FEr}jrG+yU` `ލޖ^&d(o([~&R%9n93}&|0Dkc#>˺ւNۣ"xIүBSǚk+G/7Q9mWePq?>]rIټDyxο.706fy.~m9R|t'hlX5SUT-o;}=e)6~|=*]. -ӓS\#Proi]v|s>{u;뱪gR=Xxפ̻9-@nT7^pd* x`}lc/[ef1>|QNjeiMP>=6}4͌tE%hu':b?Ztk^<3ԁˊ?V="+<g%7cN{j^(&)n)9ZڇVQ)l0.M+Wwiet.\]H'1lb.<ΏXE(盛(hFbb?of͡vZ͎^.%;:efZnx)h¿ $O^/Kpbo7ʴyVG%"'LeEѸ}Yw}];,eq,:teo{bHIm~km*/%%ewatj xo*zW9)wh>f:%|$(8pܛY)u>~ejwq8 : vQeղ 2I,Vt*Ȭd28LaDe fqo:cP˓bh+C:L_-oqj\kZJmam܊Ôs}lڳ!. (5J{r_?|wŹhX `?W)mN8h>)Z [*.~*suނ Jbsnve Ud8}YHǧi/V7VBU)ͼifh{To1Di tbz~WvH&LJMU=ԝFי*E_Z|r@r1*ԔUq~FyQ x7Sc[Hgh6J~->fK \gWdotD}rѸHW9/nVuYǫ pRc,Xx%+HWN.cdJlunG|\tᴊhVo(oP|U@/bSyyg U$ktYűznw9eśWig"Nf?su -*|']oR;F>7lBn~/zr?@Zdp'^r,/ֽAu{~jVxuqZ+;n+ UoͭHir5_.lXMm&}yuڻ~w`2ѱX9nة.~&c#ϒVsD<^v4hke7b_ C|-t=r>x ݠ-eXq׏ (%ȀaFHw[_ ʵ`2]mbUixKt@tW8J],_녗U6-FV򲲞H oRɷ;^k'S3V &h 2vmW~͝M"o="`㒗˅6c|~yYKnŝ|F#2.P%$\/C3=ل̄G>TY,;׳>ȶ^ uq:\ƓN7yμ:ِԗ.j7Y%2[ \yGmϹv+P(lvgU qt^6oM$8.7G XWhsթvd.nYHq\NX\xb}lƷ$zdSq.*s{7+Ђ;$ GQv$"e]O3Z+#SȮp/T(תtS^:^t/h/c]_|媑Sfr R=5˺GLR*R)-l"SIeK1PaW\i=Ϫ{XO=PPBg<}]Y.΍5Z|.7[: ڠo/!vdxҎ\vIQ%|jnn+E4:D Dq|dOzE/T1zn θs)q&fּ4&hYuoLoӷ2%QZW=38kg_X.zue9;EFڤu)66 l_=q bV)$cKUU(L"p{%gg0\G"|M <.9sz]4uYe <(}1鈄Vf+Vlg#rVY:NhqϕA3ĥ6 "4W"s4;3:ӑkfL^uNiE0,9jZD4*Glp4M2EIısF\:0>6a9W:cM_ZyAٱM4ju:Iw<9ZŶ\Ѫtօi)­AQM[)&9'Fqߦ%\F #ߗn^Ff-Z5)RazېF!P֭aUe-ʩGT֍5d j|}Ȏ+̉ĕj8rI rCy t?m~f'w:x:TFpڜ-*V>ӌd5lOWȴ1_ #Z\Eojdqߠc(X C3ay_F߯Nleڡ5uW.%p m*]ƺ;[Uk-d=Vo,G9x4JA _ieM熵kl7k2gvx췃e;RZJUUs~-( 9rW}9mp3Xm47*t |Sl2hU6vo{;\ƹYLߊl©mb;UMf<|[é<x7gۚ\O5Z"]PO'QTh4<}Kզ|#: u?rb$Ѭ%wbY˻oܞX-3f:\۵d[m{cUӣb>/4J~C ^~W*QɁ~To;y9/@ʨ=_W:UPTjJaJWɹk^ЩZ7B3P[hu:b+w->.'m5inN$̛}W)ŵըyb {搜S8Q[o~eY G \5s~ծgM^7չ n$oGy\NØ | C &Y4iV,qj|^C|NS(jOՉ]42.v( ?^{i?T#c>k5Z~33hk4{, 2VOrYYQMIqYJsGrq)~'|zˌ[|4؄?Bw\ GFE'_H[xA0/X`s"$ES ͷb?,wM_ K f~@:){Jm{L4ϺC ?-D3ACuI`ND v PT"\$g0S0AuRPƅ\P FJ]?%\p8J*Ȇ_cqbpLVׅ̺FN *6 а%tG~MR*uG~Gb?fٺ _9@e,||l.HaQr!rӕI7yO1Lnx$DTSD*Nt*a,W]E/iud%^e{'efĵBI- HfrWPaA0FJ " #eJ)3D/nT|M 6JJdJ!̴Z5UPZ] f)V bV J]܍q(VX00=A^A`bUv"F#/ D d&Y+ LJ?K~NfP3ԴMaؔ۟ecGE7 x;% bgOY?bD_*2Ϟ8AA 3xp5?q`H?1pG.C+S1M+=x$٢7vִj?3X_3ReI@iH鋠s$5"0G1{9* 6$"2@R8WDz#Rny@2#GN0z80]t&'T1L.AP}{+) _#P H:] Hw#g1L0) ( 0i O'1XB1 ҀPR`( E`0VѤt-r#S֤`hGT{&*)Gw|v ҎnC8aM}PO:81Hw1xiY2 N\0:63Ȯ fR\_DhM\vYX ̦ԥ\i fScmm1[ffWDIIf]*N~=Dt0'#%@,3ZOWNNLpk9 SdOv򩴜Xрш@$"862d3@%33 RF3&E41mQppye`x t2VT[x LFCU(P0Š1#*?IN#-z~Rw](_Kƒ;rZ&_&@<${ ;UM.ܔU4r åV4̈́u:>W3N9tawLGsKwR۵FJ? H'!@ FM4HǥO}Q2 K﵀ ޶1_Hzo֒iuRP,;_좘 \1`\oE]咇:%Æ6|D!EoxE m([7O.rbSp@E WR`W9!LdBsH-b"]aW-ZR W &kK]fVP1=.mILN"V ׋?xm#r^B^ۍO O'gET%X= fo-fq),$>D[o fl_ /^Z{:ѠZ8tC&a3X̊3Φ bʧegܪ|@;kd5jyPhctϣLN Zc o``w V;+i *zdyjںIEkz/@_qRBOA6d)C~n%&ގ]+qmk׌bES Gv+L 0f3{{&]̨mئ`Ь?ݬzFweb|jiGsm:X[xpcň$m:BfhDo{2H܊s"wF?pI2&8O @lm:X!˷_C~#kQGu(}mrI6| 7 455`GH- Pp!8IԆ,?O3 5S R)bnveG1ʬ>1[3a)6{n 7QXt)':͠Ii#6 z` sr S8[p[F>4v3"wmùKʂI'sp~vY:pmv]RX j)eMsN ckOnIPf;d{:,LXHτ;>bDˣRhخP)>üww!qju_m``~_Ի9CaJA2(v,qLJx [@e4f[!͂IxQ;5Nлt`{aƬwNJ6ƶ'-A O2JmX=FOQrI%D%Irv_6[zڵOw6,IY`Je`\l wեo(w]>RpFJt;ҵǖjM#Cl­x z8ƅ@-7[̀&eOII^u 1ɏ2̻&'u7-Xj'D{cAX!0[0MnKȜ&2x2PRw=D!]|#b#WYlDFACJ< pk9QPǥr>X {h`\É[L'G@Mx}cкφ$O\ fw(}dle{H2'xX`?e-ßme$A;[&r}ql6 H^0b~#`13l Rn2*Ok BfOƏd$ }S"<#gE'k+AIpRl:I$PZ(0c$P ]Z(APv>0b<>}CFxdgF3ݛ_0;H+Caa[އR>u?/u¯o%H|g?ra/zYMX[8Lwn#V_^{482W51I9v=s,`.]A' z kk\B~4Ef($)@Uq9V7:,iS*$q}tGLbxN]` 9vL phtev ڮb !toj1*bhZd,=") ^:f>BkP-U8%hdky 61\va Τ4)4LB'H%H/D2vw!'6CX-b 9ߵ15 ] Ͱ¸61- }2#}ׇBv#bȬ!+lgLM),2y7c'a<&,wBu d`@(?liGAbD 9,M#3LHN+i:Ju}] O2#,?'bW `aRpU6 yzAL n7 ̓ sld-s=;TG RȘc[1]9t Ji0A҈} $I;,5G7Qd9v=P5VnH(azQaX9%Uf7 JO0`ǨPS&|~}JN ]$DXݒ^J2 2"tCYpŁ Vwʱ9`]t)_%}@w~_mٿx;xmx`s7_\  o\`IxcG}ߙo˭> ;. zͷ̀]ykDXC(tMI"oFȥ艙,V 4K8ڹټ_(G~v軉~pYco7Y}wS7wwZMςf7~a8u~3CشQ߹p +Fh\>ʅ>C‚\m ջ X[cyü==L.Bm)| k)uu3 (µ"xzP[@QQ8/uܐI^nơ^JLoi3}iۋ@Cy7)|TpO}1>~Img9~H+J}IGrGǒ7h`` hR^и?Ic\`6O]"pXw&A_~qhV>[H[(/{` Nhlv8ް{' ˱}H؋ .uzu5]dЦ^vN2@P{ɓf'^JQ=soMk84&@`L܌3t=֛7ZQe^X}O>@&F 0}=rr?_WD #/x|ﷰ7@+.L9zHe)"V7Chp%ýgD-> \Ǡ@jJ ,wcGЧ bwR[,?ۘK8q6't #1d}mD,@ځWJJd̶W*0[9AzCp}?㒟2 6 Yc/RrEԽeqI~@JЛ AjDڙ6jGk <ӣ-Yb%8M{'L;eX,{! oHGEBL/1ӿ0f87Ү77L@فK(gCe7ZOYDUH$}@e:\, \_XJhc'%ӱ7C@+ѥ@'ZFoaJdJ}rM鈶Ku$jt)jΟ0 :w뛱63u3_њ$}E\Lޟ7Wʟ M#\"'%_k6eMZY1RvuO61L+kz9ၪ_?yH)}a} TcLR`6} /8ؕ4 Tqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/hidef/0000755000175000017500000000000011347002065024061 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/hidef/qelectrotech.svgz0000644000175000017500000105151511200647463027473 0ustar laurentlaurentX%x_O+eUVވVH7 zފDFlLVcRH{-I߿ϣko>/O/O@ާC?韀e,n>O99^ Im-C+2 0njۙ_`O_p+/?TeK(Kͻ_~/97Oםj^/;"aF!^rk|[oVal7Ge~8~e9͋{gK %[s ]xW>I?鷳v_ȯ#'[{J?ep'!<nE;Y>Iہy/N)a|ͷ]U?4߶?Yq M?S8 fm͆?mio% :nʏ5y~Y@o'Bo7"]8˼ q\o˿+;(g߻|x1)Hi`~<~mWe?>]\?_&~Y1]o"8dirO۪?$@Im_Ygwc=yn׷y}x87th?O%6[ֲ-FsV_;oOb?8[<@zvGI~(';Bg4I 偡aAG\E  ES( B_EB˗%j?=Ou3k "?=O-O._)u{r{===cC~)/+]<$̟F4q"7‰sN# E1__hd0m~:7ъ?Q?A iӫ7nVZ;~576_`68Og@rҜ/~_~"n6;Ħl o]+=AzK%'YqH{,:*lͲ==t!( GgEuuU`{9vXaYT;\Jm76DVT=D,96ؽ}kWW $^",!IH9ɪ*JȎx+afҸH?YǏE}C+oM~ltTA|xZш/* IOioT ,fOV=yc$x}i.4=$Yy6|PF|l&K`;pj;uJvzǝG΄(Pwf?cl8DT_ssBQia2Z6}Q,Zda%$2P0L)$ *YJ<+4 oVXeY.hPtd D1xR|it^Y_jgVKtYup =@"4S/i55Q{߰螺L)hCenHh8Qu.rs2&N+P(2#/G4_3Ă+ko92?i0 89ϋhQL QM4ҤQ&D{!6 3IZXF5,V2nOEKVg)k̕ÚF" 2׌~kot kn_hմ z8 X5'~5@ƕ :^bezeQ?׬#.=6Orߋ\ߘ^qjYǕ'He{s6ؠڻ4P\Fv4/]LwBȂ%@"f$W-ͷmkOڳZG^ KpdWd6rlكpSW5v`K+]ׁ6YD˨=v֧98 uY#弰콨<./*]8Wx+Fp_oC"ߵg1Oa@`mC] f$/dTm0LY]'JP&P@Y3aw@WyTJ%w9>"6~%"% 1ăɄ%kN0z+:(8R%plҘRl^l be+K[LN) kϿ;*ʑ"4U$Mj' pkhtFӉc^ʧΫ:Ay}ޢѹZIp=[K|sgϭD<̑Rñ28EA=FFF䔹@8EPto[@\kQ}=|lGr CVFa_tlA)kyr{!x_%ngFr~v@4zG$ nsfl)2 }[] Wk>fRwNO[HlZ-,ziT8Z$/qsWi1eJ֯&u *qT6n-#MI Q9j)m'U }&C@_<g% b5rG[t3auhSPT׉ > '4LpW bm+;pʚǫsdGh[q&ͩA>dCA3l?>gw/\ r䷯7ҧ|:jGb̖-O;fkrNQ`$´a*IL]0]M[)^Y!:Pw uf9o" -c QM䪾/A3q=+\AF5W MA(U~ReT'Zk\rGLfBw"^=5-K_F@\߂ T('o\ aJgpya>.KvFwpoYe |Ʈ4G<0[)GEh)Նh&(fk ͧ, =F\/D *-ة:1<j{E[;̔:ڷ%sBtF sDב]|<}Cwْ$\KsD0ȑ}>cAZ~1Ă;)pLeXGjJua3ؽ_?'i~ * %2`N:|jh)ai[X&6(?K쪩J}6:Z?nܢo;Kv}&1P_0dSVuTT#Ucyof-au:]CzޮooW17R,( bMǺ:њ.CSV" ) }jc Vc_"+gGk-?^X@v-<9<߷y\a-]g**;mO:[Y@:=} })H!ԦNu}`?[0C.s1Y}o&$CibL\gL%Fg<2(_jJ t1W17n?DZxGθ]4E{SaΗI\\2gI@)H1϶:*`7gw@{ՍdL72PMA[(ڢCu0n=ǹ{K-4|`ߌ/^zȲ,.vA&Ro~5h 9ZՁ;]u47ʟ)Kd4yf[DЖCOňЂ I axGHcg;]}sNp5LJRRP53Q MMB KۗhiY O2gX k} tDn9!%$Y/]c IQAC0.fso.,#1g\q/Wwr!U4ct Pg*wm)rZ=0ёJ䐺MRfdGs\*>2hfh-PS'&0%(ڤݮo}i+XDghoھÀ eb`xFŒ|f,Ʃ|$ڼr.$_S]jG&[A`e49ʉ x3~-z7> 6kݮ06]ߠ˷(@`:3d<'e<.?Gp賨pSUR[]psn HVgciLJN 0}(cts ߊD }3hluSvA/k!@ohLjlMǶ>r5ĪrwADӖzHʭj Pĵ|64B'S/LkOC=F3EŖ7_*ɳ# VD\e0=-A;e‚/WVK,?V ݄3 +<ݷ \R2{?6҆3z9r(7%H<(ϼ˂|G$9kb#s QAed#x%=C ,+88 λ0&K[:0T leB 4YFI /i<]+X{@z撑 ˾y MZ\a߃ o&l7)z˖7ߠ2gn~n+` y(\o7?`$}nK)PoԩVee*m^>6:lX2Ox7x r? 5]>hO/}'s:# kG-% qJQ`wtF Qcs;wI"徖SzzV'f+^o#Ŗg*:,^K @>ڪjX+N? #jJ~!ƣH:Q=T(^Tv"'MH$,s'}nBB&ķcD+zn1]mkG=Dt6uj*j'&|IE |0H0SH9&iWΰ5LI0E(sWV8XyY+JنVfL:zi9mAqZ>ta2DWp@X>9w  ~3Drs|ljgv ^fBडB3Xeuv `VZ! h 3vTe&jba̕]Q o٬Trlڥ+ի'#;'B\9{B\$zXA B[lB 2K0lڲ/ tٷ0KMFܨIA]s/ C49CTN,2|2vCT|~.e7xL\9pX5zN}P()/7Y2i4Wςs.ş];2jb-Bu),iIQI*^$QCD%2=iHϺRvf _{aj"5}.X4ȉ1CMz}EhՕLwWlN]N4B% :_#>B:D ]NwObf/9/ pLTx 02o U#yݾLtJuBumKlT ,lY&$_ ^!" ʊ:G]_T(|?h}5+!CV]``:sW]7 .z{g6f(֯|>eɐ=+ FNzgtWʷe5MfjOCuiF] P&Q]b'RQK"ףTfʧwsgUMH0-{ҳ5,X aIv"n\ pYcsaҋo%]od]_2O`{,PI&I&DzN3\Ĥ"[vYA؏i[bddRE|4fPkW8}o8s< E4>fm:WXcJSܾeIg%ʞčpKPZUq`ĕ)Wp+NZ{&NcWWKg1xe\I9P|H1޲-X"AS|$ͳ\+գ/Bp<=O3otvzmݹSe]VQދdp}2Cn`qF >f/nÛaNA]'  ҄ž46`{Xc''\8%Ԋ)d۸{1[򢻠4(qtY2J毭q B&|Fڗ.|vHEI EeבXhBZnsݛ,P!r,r+[zxw_OnpP@rbur"\.N; n. |pȰyb8u;;(Z璥;-BN p~F(ի(~_FڝR;9#xVA+B1(A 6 K3r 7}- |߄$9dMhee[OGVͤ¦X|G u3s{M3T%_ѐ4OxkDan6 G̽:P#M_  ެ N]t5IzʟWF8vB3@Cbx^o~w8JIJlyc5Qi%qK%Z- :y#r4tߊ@M747MY!VX+Ӂ ?ft*6HVZyg]5n-7}幅<3jtEai,Q\6`5C.HeOLR\|7󝉂!1c=~3S 1{\Ewkt'Ycxh<y+ot6c9~q" VIP\H8B}ceϑ^nqCB$؃m_ %}q ; Pog7g;.B>d47N3;+kdpz܂[9:ܔ,QRͤ <+,U,SqG*|x1xl~Hot``( rH%JBϛI_w?R<'ᾎuϷP:A^} -5ero75 砞V҇5d{+[^OIcnB/N XÍ^~*Runm Zwħ/1ͪu n.oL +: s!5+O.S7z|r|mm07_q$l4x( ѱ1U'#ҴQѯ #%#k@Jj9kF0o&K]RV~ |8݆tθȖ;ƷKPG~`dkdYg57MrLiD&s&|>|<5Gj@'1}.ڤ^hۥ$*R,2S-_إA[dBj¸珈#Ab0^~UվqKuYt-1#CL_iŨ*uѦd̕OQ5(Ѡ7+!ѣ&%4wi=VUƆ:簢)@w.D#nKi BAֿTdVydTЏtDt:h'H7-hF|aIH+ "< J 7&g6_` ''P=kWmVK0 E&aJǗ3M8c!j(9!{eA!@`*GJ2M0 ^WXAz$Z]~@[l$-ΘW1Wq S^E/fcYQ! v1n{Y#(iE~,eut S^Ύ3\b-¶}}@̈| I2af]@+Cm\AF29)~={ObuFc}ݳ!NFlSKd*⼏UR[_/I(hipqZOfj?D2('vBiЍ3&V{""Ռc Y{nt+TӴ.:v鈆Dݹ6 /hph3A}m%Kw/U7` nG|P.;{ ;\Е?+nlR:_xW2Cy!q뀸?%;4 C}X"<1vNzy#7S=u Ep̦HnlO 9|pH~Mbgi1u%7XZ5ǡY=}/ /x~-1ӣɊd[k}YK |T~G"k9M>}czIFGndf(oʥ̽tNo羣Ωh㵢c[o@8'LUECK1r{/ןoHI-+ҳmkXaL٢ 0RTEi+pN͇h<ψm-Y?cG)J88 ݗU zۇk-bړ$6SCXkWc(QӁ;hzկ a;np eL#KXvI{1=>ffKJsՀN!&VUoȷ CDS@&GBLD4يPU2-R_|#0F|L9F3iry.W$#L%rfhn9үI0BҴ]WiQ^R$p]5)n >Ld/]c9w:_bHgv8~% H=>0홍|}pvaU:j30]<_=\D9}"vL7zycs ߡ~Nѭ( !>Dk$r o/5,rZMl-I`HPh>F?pM]Hҋ:kS2f_] Х6wxb~%?Չ/*;`d*_Uyj9 +{t: [ťs!vr|RZԘA46=䖯 x gwfrtMoP-X!$*?H۸4+̒NwJ^tPDV8d|4 ص"pPS ѯޜ/q<0CcfVm5 εH:b~e ذX3oiv]}m5&Ee{k+w)FgzzS-Ax3VH=7wW~+`GY4F-bpϔLK v \lfO2<n[jP:nnR:AU9G RK*-oF^ %YziIP1:s*zɉ oJ-?^ڥcB}ZуqtN$Iq[45|o]+ṗˌ.iRq3O  :WԼ ܄ yr9L# p_{Ʋ- }~w$7 PIaMˏ~U0Z~K7շˤ7,wp,^^]|o0x۳X .GEʼn΁~-5E~Ȁ{oҸqzGf|ڠL4<,1JH9r. Bt94ܻrK֗@_`hSu6nh 7U}1z1td \qq`rD$ENQOFRG|ḞYqً t!&pZIпcj>R!S7qsqQБR=/OH:$PM(^"9{TM %8·)g$QFrG0yՄ[_9QG2 @NIuQHK_(pЈ~% Cw6Zvq>>dH@/g¾8,/C"G5)lj~)R#*M|(sb{\%u[P;B_sYg{@A^&*mfq"tpoaߌtdo]۞Mv"k}*h1Tb."er沿ϭA-n!gxzIj29?#r8J5TDNedQ1GfjV`6iA;rnWO2ʃIHfӞ3.7azⶓ&QtiD4LU9Rz;HRM~_50rpcȞ<D|LƲR7? }.:Vnajx}XIz`^͐4U: jdSqsI /^$1(oe(޹q½B/M۫]|Q % j$vLWƗT;cXǡWUt9ɦ>}":S,m4HجhfgIoR/&],z/ъ4 HIk=.폦wS͇X[VxjS3?IA}2`D iCE 1 8eV(Hhy ?8dYvA?)-^5d QEʛd! O/He~*)#b^Q ހi@ew6GPϤ# m 8io?OP܊_ENHG4q7dLy9J6#*4TJhkmۏVXvV45T8t9;InBIC8*d^[IGQѸ+0{F0B_اѡy%8>Y Jo[&lHM^gsFYw;z/V>(z .guή ~y篅 3Bq1^wmY,zLdv=Mٛ` QR7-,K5AO5SgY/!o?ras}*a, j,)^1k.gCoBl+MOZOnp+Ny2T3!VTFUC7zhtT%b~C u"Z_jCHڊ4ICF`-'Vnx v*B%Rh\S!).d"y&=P#gP tC'GeJ⡴Ev?^ XH3?:cI2?HXk1LX/D*'\JG f"7:VX}.Ǝ[in} pьz=pX#ȋ}X'mm*ZZl#<%i*h#6`dlKI*,MO|5f)X:Kz[+oμ h %eroD7+3q#@xڷJ7ܦ 3 k tpJFW[}4/_Igɭolhz5J>"[Az~P*޽($ߚd"B&~%hϏy1&gݪCZ3ҡqt8 Q:l^,~Am`,~OH}pY–اRsH(Ph?tGa>1hk|7?ѧp .m YTroOZ\Gؗ҇Ək*5X9xSԍl}ezn WIr㒮t,=1&fPN/Hc9UL8:Kn0SV9`p!>͒F/&YO\o &TZ)ΪR1o}fYeE?̗#̓ 󷗋D9I_8fdOQP!g6 ޏ0$]p5~<{AGAgZu/ĢeX{ۿcH"I3^$-Wh`(&ɵ/n<P;A'SH6qgFk}/X-|F5yyWm4cE^oiJQ"}JQK֓glg;o8ñ33k|DldGEk(^SL_vI,;b[ yI64i=,y4O WVUӦ}oA>y%b9/`R&T2(lnH.ET&⻳;M=%{u~}U1!{?}VLxie̯n3kGwdA>h;s^Y'$ͿۜQZޠ[L9/ a^FrYM7ꙃi V%>Kz,FPC~)U#6&=0Ax鰳I7XO(󈁸pA@V]S(!TR j;`\>!^ՏwR_M+3$_%85M~\Ԯ.QƎix0_6-* aYڹ~Gʞo|X!ߝXLcy#Vn% =7!a^s@ιmo6@A[H7tH̤mcƾ! UwXrHoM q!xO_CH +>}Zjie\KdawڶP82.Dk<|oOیo,6s>,!~[|}ӫ)֧9כA0SNA1dͦIR 7n& ?H@p =O m llsg1ΊYʟlHnL{ccX0_V/}ٯҰ \*Qm'rK3oUz:l Z~vpHJMxX{bκm ފ3܎ffM[e⮞*_LVdd͗Ne;뵺xxҤ~z HA\ pe!wTO֐xh1~=oK#7YXz)fj0ЪҜ~"_ V7A|JO.P,J)ksG P{-% ns |ֺqa6>ِNJCBN=ҏs 9g()?֖(DT)bCM@Be;e\NH}ET=qq!1]#Š,;-Yo""?uWf.Pd.jZմfC3jJpG 1!XʄF/r&p\H8x^|"|ʲ5I ֔'jD3Z\CY1nY<ǯ".x_+o?,yhn[eHy<=Xã8W[cG_6I\5Xtp׉5{o/[Β9a nO'|꾰OHSY5έ6R$aIMS= :MGOJݑZ/YGaM=Cf1E!UB'm!4Z$F n/Uc6QCc \hkBs߮URdL3-##؄XA p&<#BS_V6^lOH9S>dvFeZR)Ȅ0L꾣z5 TQ𢏧RJT";#kuXj/0bf/fV0IfP↜+b`U*uIl)aA$G@z"6a hm5H|D˱@.DM3>ubqm8A&| %ZP};LҶ$׭m4Ya6>idJ4#:Go'2TKcz(I0S" \=gaKG#d(1ic:-*ٱYHoDZ8">{T(Z ~6.6[Bg`ym TOJZ9Hu'Aen|VD#鐭~2P=={{Y"wS* wR LFjK~\59Kjn>{Xp! DvD^(ۭ bU &Ŝ+'5~pGgvQ]%`A&[TP'}Sfq>$N`gO __ì9 mְFw# q Wj&/zy.ucK#xVZg9ob|-$N -R-Z̪fQfRiJ~q:A$=E1@sȬ-,wj$ɚgglIIˋZmF@QzBn/ E (XAB=q;,#^i`Z܆L8]Nt-pQjHL5ϑu2Q^z?9^k;y(+k9`i\}Lz NQaM%R#L9܇8d$T$E1;3%T ;6o\ipȟ};YH}׼=2.rZ2!H\0"mY f>i"~ X?s!Up{x6mGKۆ=&~]~C 4%*_Vs!㈅92 zz}-̘q [5wlU=G82XMqB鏤8'U9JĞ){^4fNsnc|%[;UTuFJŴkfB21oZR.ZǀT6bABn N/،Ӻ5ןW Ii);|(=J[zy=YKtp⇉ĕ|=;̾ҁg{"G _l I}G/kK>'_>zjJ{; X]}^WL?DgݓPҹh35ʺY-[?R) |*]dvtO1zJ45ý[w" tҳ,lclAPC8LcTNi5W4W%)Iصݥ8z[&&ƥheW+*jeUU-0ش^)+rS-qGJ Y:z߬ .檵%q:;||=-"}ha9 o/3I,Ӗ(#Иh(h d?$i+0s1YNGv -COց,r[ht86eYQh1,#jr8*$(uT8D<6 /+4\ v mq☝D[G)`aһ/(`f|A2RioDn.v+Բ LL9A_gUQ/N5;RW¬QְOn~>fZd-u{߁EV'p5c:)I(OG-L øޡgIpq_&Ld7p[;H@StAMc0pD^>ꪡ;J񇜇m*Ҹxʬq)Cst^G>cFDBEu+W%,‘P0>Ի e?At:]|~Rv$|`Lrb-xȸ KນOvA<XTg3Ƣ~x»`:!P=f^~na;(Th |;ak<0w^ͼ[ nz~kNt=Z?g=7'쭈/// ͝EBd'7{cF jIZ4~]9{0gL9'`aLX]Y]i*yJ0? @ѣO1 , 9jGѷeV\ALތqzwquo^bNB0/ 1>+zvB>X7᮵uf'@eDZ1Ra ag`]NdK.ې DZZ%?{m8&˘o_& #= !do:?З)]r_Gw}}Y9Hn"x@m3%H\r"ӲV"/ϹU5b4Lk,l̎pCMS:>Fx%:7a|!ի 01 P>Rg<(<ik l$yz_ٰλ߭tJճcꖫ_ۢ37kYEѝ򤃣T ۺ{Wsʹ8GVml`&_9=5獏TC\ F.Td֥zjԞn٥'_U太D U„xT8698  ܗ_._}AXyl_M? ]Gܧ.XK]J䡿6EBEe9|6Y8\3UB@qn.X#"Urɨ"g&i}k0FOZhQ «@JoAuIU4"tdiٕ¬bieӴ1CO*֞k-_ ~O$ʝ\ʦzuC_c& $F!/EEg |SJt؝)(F>4js3ݸ=PY z<ӳ)tᷓ)|E_?U#K!mB-d aTY=t+u x>Ga>Zk"z kpNlt>2 "_(S󽋄f T g)>j;^Lrswp2uz~WC-29;1ɋ&k+S, O~%Wa#ڿڑAGW Nw>>m^t%E+QTmO%뿴3cjzv-0!g$&ж dShq/f;+Kѹ ^[ߗA*yH*z.3807Q\%Upu(GFf=,+3QE%{PS`"Q 3e @w a_XkŽ+,ncRI u>4M+!a1uҦ=`-ai-ى7~׹ >j6F0^ J7-ـRao MGu" ZdOy \!ŏH& Qc=dQےu_|Y_{!4b#~O,n̕A9"2(UA֓,q>áN@s=VÎђk YWICtif_ }qE/x7y R/G|YDW?էV¹z| jg,DܳDԿ2ez"1/\Ô93n󣬻U0߄zƸi?8JXd|2`tȹ gCB:[as+"_R/8XCc wSԵ1Q90`)ntYA~ R+chnxN>%'뺽:H vIPMFے ؓ[Hw/!=@.8 dCܝ/NAl, {KIcEh *0PKRq~zA[ڟє Ћ'wL: ,3(38z QEߗ(t(ۑxVn| /Epkno]sB;"x*:&̫Bz 9 ( x,m }<]*(">\Em!cLBGrZ9%09o8`i'2GkЂ׌؇Gek" CK\SKrP # (O@%V45"1ۄm5G~m[ׂX!c-𛁩sm]} $H9݁HhC]ɇ[(5&L:+ WV>~%ĺ^I\C>.Z*8;;|h#mܚ6[wN@ub)"4n{=eM0Ľ~3Oo e`QWs RPe l)sp7rvͤ9NJaӛTYImq{4(Sia!ua"2z< G+ S $q %qp\Ǥ]dzp'd[ R|#+Z쁄BژVҵ:'~'uh,e׫oX8Q>bWw o.{g4$WHc̿%q;h ,w%KS\_z͋ˋR9F6 1_çY ̿uT: Mv,Cz[,J߼G>D1Zڴ4?1gp p6x%hMIUT Lτ~4~ҤOhNRK<Ĉ/j,eSɡOpn1Wzd&ʗɳDUb%K*27)yؗ(ETqn ^ $d[uZkE[8c.~>RvF>Yo}RqVϮ:O0]b^@G 6E,P?c_W8B$|($/' 20-XD;&)a`ǨQ2hunu7Tߢ7`#&jd;Isrrwݦ ĕ6fTk1Lw{8o|R s|8]>3JCAcl `sU3m^e"i Y܃? x NfKbʷpZ ~ ߭KQRITD6([2Il2:׆%IW\rv{뙸6_K8Fq__5&vOFJ_7uHA?/|\?~Fj,&>hӎZ'cEn*.TAo, +dpH*a1E z'w~\rlDU#iS;0eŐo7a5)[N0fT=O"?u zYݼE;D{a#ٿה=V#y#ճOBztL`3I ^>Ph+u uY?}2/JVy2oz@e9K?ї l֍f9 uPkc o6MSGNȥ?T'4c $ƨRu?zi56b4ߗA2;[_wM%8* SJһrkM$J(_#൛ G!>C֤Y ¿E-qX?ODCƺIuw6XTzIG)g73Jv#1^-4S)l}~Y#QuY&!ew bEE.q +$p'lM q`="t%@5/jqp8.&_ 5w_=|* W#Ǵ5}_cD)\gCϏ2wwkk cI;- y s^r:JטV^WmR: 2B)XX=9sS\_c}X|?L8l3Oꑋ 7ُ-aGdS hS؜x%cb8^gQu%#Ij ~ӱIί )TTldDSjf\39.W򪀞lnK73'R!y9Qۿb"ͻ~tѩea4>⤴!VY(1[1 >"]-)=}޼\JK>h_sPmz&!Ta&`2"ʴCwg<{7<;dG1WY.M,3r粨^Nz}g]Q{CQq,p /icXkBjTTVWy<%XZq_XӂrJrsȁl\G8xRtñۓfd&f\S[[o=|fH>fh j7呰C-Sfń45T GAFԳdhΓ. > tׁcFUh>J?c9B\bsQ$ѯ_  ymgAMuo g->^f2B9E+Ӝ9ܷwz_}VpLWP ի|[hk\j|iR= ͻ.'8<Ny"H: & fdo}UdIKL9b ~i6'9d1 nN=Yѫ+!? _R| G{OFgya"ƀn@ 2^NI&J֖2)qoq/]i7os"US@uNppȫ{Lhڧԩݗ[}OKFL76\ dAc)wo[xyRϺ9# \ke0-6KЁR$唼g\N4t8b&=TPټ܋?u %x[$Z Y8|[crhf΅ ԮC;7sRv!7[0s'* +lo V;J4ƽ`v{.T_"pY D&c.4]85K~ Ѵg|P&ʓ `}Wt]DIDx7R},CK߯M }J A_cWw9C#ZY.Vd'y7f wpgu,h~uWslpۨN20/MiD$_Kj$aV}?z~uDL}mj>CHӺ.&YCx(u #*J4)vMgf1_ =4W~E4_5&pfϺQu^Z۞滋|b͌5-,%g3Ghzέ0fheosA3ΗB2Z~ fM] DȺTjP ǒ %4F1D!,J"zE//YHxjMx^[er'%ʙ`LwW? ӵ5GaE"1dlzi+)pH1;>*<;LzY" 7WKn?{O|ə;͙5 ؀:T>X4=qDPx"0e?( h`lB'K JxG|߲]I z'ں4\ds&R_CGד&єҳ#ck~!;qa9M6i^UY(7̹ ,D1"O1:Jj懧!=v(aG˴E8LL}Zv]jURDu(A!ReURLA5%މ9(sp_ 3$ ,B E2~"bd iۡͮ+sRӰZ&p\HIHDƥ_ `5XE:^${i͑CW uHu> 3}E%NHLnY6 DT }6Ʒ>11چ@@;c[w!4T  DhyX|lb2Y/VL VxX!C0Wb#I=fz~MۂC2-G 3_8m{8"qQٻ8Y96AtXI F.,Ocl߾Ӫ8'#8Qۊ}%o2ћq۵j(Dׂ׋PSֈr_KCሂMLp'[Hy!6U[via8ЯQO pij'8':?bؽ"hmQ޼+AzyL1YRfLvίE>T%R M|7=nCKv8I/kWgh ^Y yL Nbiļ# 2hȌ*!W:fJ2D.nih2 R+dnjF+`OR&{H!ζՓViLl&ɳ̉Nk>-F{̘QQb]X?#,~( G}vYGaqiNi^o VS%!m}Q7XG.?&J֫ӣʱlj3fQ{$h~ՐL͍0J q'"Am:IŬ]ʵi\|z7bZQ"Mp,PәV{-8AF0T쐽NQt͔הy$p)K갥n442K$!MN[M ~2M'f*@եbT1,cerZ~pHct=w -hOXO1RO>S 36 -'n'^rH$&`d߰H}N8B_rq[>+ im.)F?CZ^q"~=>A[f|8X èIbR776ٲ l& Zb"،0A 6A Y2i/--`1G=teNB:D  %ocg!'Dw([x V+ mdhDLK ЎA2hS+ +~ R~mZ8[0W"buf&Bt؋ Px`luWLO*'Wu@3CaΉ߆@ڮDb7g?G:NEHCDʔ 'AIhHܩ fGj65R[rp=0*B2stz B(z&ΐcijEMu$.f9w~S!O^V>|wh?:@Gz:+f#LoxW4C=[bۂ 1mg-sy!/ ?"IVgcnyGb*QbrGXzR rJ2%n˥v,I_"Jmw-}E<JM߶~\W>8s˿MdV@2EXG<$۞T]O4rIRt{7o}N-Aܲf}Ƙκl2ӲiI7F3 -JN$c=;9rt~e//$ޤ"eQM} SzfTSf $W9N5k˺C 8K{!*zvhl$}xШ|w#{ђS35++WrG5iHzb~>2S})i*sxn7h=-ii9-Fy0-r-Jv'heD*h+xf$`W)}a|[l׺yRXf΋a7,ݗ›9L:+b 8p'4H 45uSv6"۴GZ=\ߕis4%_O_^MRSvilqXYd5G6ϱ:+՝!DLwuk4Ĭ*&@/GNhsx_kXXI2I$JA o%?)JH0ڸc2Kҥ a O.*|'R=nT0,EǍ! 59ꥒgDb sz&4-SMBu1GƏ`v|rƂ'cNnɓ֏)`wY莒 XqQ,78$7%._ Wy:i N7Oz߫ 7_x#0@c(N1rr=r kA[BedzEX5KgW)]?MCXnpVsqŃ٢(J}_&2Gг4/(tLԃdvʙoN xǘ^i[&0'X]H-F(mQA3lfZ\ק2㒞yw/N0/__IlFC^s@ \'ZWAD>O2V,-1KqmT;K7s> hE~W AH"oM\|-/øu<,5frla}Iwi;=~7²JBe23jUNհxŞU誤r n/4f^PL]-X{cʤQӺr/V&9bjXDJdȏ./ۺB(p'' 8.j@$Z=5⩿ T?U@jmY>(YK4C!kQ+9?3RB`Njviag 򽍗BUaR8HbY_E_P}5҅9- 3630!ii8/SX5qE>``U=tgdG^&\7%^ !^MY:8-=88ۿѩC;PU\\,Au&ԇL#Kx/֦͏裧`a1mlbóCGj2njMRJ4qD"mU c>l0%o6i"nO?T4c{DDsыYb'~ش6a~ea:O$9%x}_[YCOFkp?dW>N4 nXyηBC^3xYXu| cIHrt ־X+=436TN:ar2J0cOk xٱt~5:٠DITx'Wwd='fqc뭛vщ:ebMG눦6kֱ D)30PwQZuH`N^3-jD2`ƛSxpQ`vD?ͣ54PH;oًU5r!Z-v}%4FX\_x%PkMɓe13mu;lsDl$MXآ(xCaȚF<ĩC d_ɀ'6\nnԍpԜVy_rS*(Y:/=)$iiUeSٰV\Og|aۛ+9q%v"•FX6fё% an~;B:R>}=*eaps9.ԥzv8tĒU_tƘz@Vs\\yYLa%o|9t>+^ʊY ix=BelGTnkfQ|#7Q~0 B=N\l_e`$p1Lb5ܳ @._Uty&!\ $4E ۀY󷆯qN &ԋeB[>" إU O>:~~dc0=[m^] ?q˓%U$Q#=%D`[q(F:čS?4ufc#{6>is3BW)) T.>ʹqLN:xBt0M#Y̘y/x˭ 8IPʴ7NTq[>W;绍CfF^(O.\]7}|I 4_?"n&<= HrUس%F8`+釞YLD邪 1( Emu_]bGIONIZKzZI*F/bcZLFN{X~sN7he}+ƳA%[%[iH(JzGsSV+lC͏jqA.R\a잋Je FNj>}7٤7|_VaY.XSƮs m\uݑ~J Lc˛o@n,SDm+ĞzLW=1tGqJ:X*{U͟s{š&j ˊ_w[Lג R%[on]D딈{Z1=}ih?  aɔFZ$j~jΏ :1.)HJ}<*W.k~-b F=,\Dm^hW!L:fNuF.vGv9!,GPw2S|,Ph."L>v,PϒRE2W+u$+03/`GTSgyq->`Zl·2̪$ӕ1]\3'ķBbO$փ,`uyUvjI:ir`a!=d-oqIЍl, Jp2 tjL) 1)uhNH4{RYLN1X.A\* ᗦ8lX}%L!- +ْ>5,HAŎpa\:3c$ϖa1|4+xyo_Od#Epc b'GwZj}.',y}Z'Gg(p&z8 B-dfc/qbU%<4bb}'NE <>t#@dV7i+hsS H"Η'rsx[g&;o/֤Q5.D7~lT2Nn94b;˦<VpCu}\7NDpf$/@[( 5VQ(NTw:XDO8ھΖXe,^Ri^qI>õePYCi5*tꊣW6=62q$~}Edf\y3RJ̰}D;`rjhx,oE.T6䶼4e)A)VdڰvfN@%^*/q+fՈ"_v_bx񉕑W8ZIn&L@&>/Kj1ObE\Uz2*[줹oήDz&hpc cR-E)x#N[xKW_F-5]82 qX& s@۰\Mn%x4&hʤ{Ǜx_xX}B_ʱ8,ю.QX$NzgbsB>{5y Crkۋmbsgy]cNt}gZ=%JC}YX~z^ XPMi.@0y#jnt6*Ͼ@wL  *śJK1^ə~?Qs>VEvq_2̈њx0+"y(N_ZbLnqD*xԉN"kn?КwJrG11ӵt ߩ% :]Ot@u x'Ex7I,e;A;NK nM8mRPcMeWqD8- uhN=XRR-wލ(qhVC, EQ#Kj8iJ MI`sv6'No*3 -h^Ǥ0vEqW$) YAGXc泱Ft1} L6eJ"mNؗX̀փ4zG:wg=2pO6FQ^D0H8#M84p۸nwMOPbҜ,MC ު?GS5dX #t.ШkFlOh=J3' 1@ nU]|yqӘ Y *@R %W} Mk]ծW^B<=`cJܷO@_j{ ky ȶ=I/^j i5RC kaB*)٣X R~ݹZK6LcQedj9 kN'cfp^Yia(kl0xхZDW\P3dfÒ mW|T=?;௫kKU˪B_;zUH$D)1BR0gʃ(lY yIB\@x7fc,3 jL̛2$mFUY~A_?/S`p>]јPqR֚;MK:561Q^]3OI*EMr|$)P TʲgĞ!֓/CH޻ BHm} H:_O-`ʟxF x:i@?!Toҽ :P~lEuH\qe ,Ζ;);X[ V.w==G[Y-"z>3wb=(dpxubcWwȀ2uC ∀rwExY@Զ*ڪWQ*)db1Bm>aOzW*[bM kմ93oK^Sg 9vVtmj|>Qe@t;bo"DKqb"v.e4)w `&4|v36LzΛG eidZILK("#Qm$&2iR|,EX[ lOyN-^7Ѷ׌E~7 (!Y>c%+02ƣ=G߄y}~G+qdץ"5G~?,@$40`Ɓ5~1r5ჹX.]k7߂^sʕC:$4#'g/H9=oB^~˙ƆGILOY_paѲõJ7W<>CXb)mے~fvlL>7xDH1d Q3Q,edtx/uYfnut 42T jҾ'B0K/D,_EnYSRSf?B` =2C؇ʒJ`:#K aϓc糸 THg] V.aWTD k 6]guDLn>鋀XeYF)̙^güYŇùyGlEjZ -Ș/zQ Vwd$ռ+6^0@pn7C*`ݿ5ݥvHg/5KoM]ÑsUAGDլ-))'mـi'gsr{MY{h#un^S/ % 1b­~U@=HUFO#y%݀+DM ;8r~k*K-"ÿp v e 3$xPy%>{͔ޱ!,zql5JIwK|S6:ZX.p%!#y[/&k~:~ܫ:#`AI {Zvc/_t"X++ț @qlh{B7w:Bg޵PSs~ń[w= *9_*}]MX[$Zz޺#>#xѬq!8. b-{YքjX$JW?3g]'kZ` w%}`ת;K؊UĒE!1WeE!-4 a"_%>"x*Kpj5Zv,걙I4]4svYcHrKscaJ#R"_ړ^֨J5Dgۇ o B9eApZWfxj'&}c AIU^i(4zo3ѵbR!Q{ &T?Ԁct# ݣR*K>ަTf+_@U"Z(53 3#2{ H߭KK_q=LPB'up~OZQo&/ i`CmP^d3| 0=q/ ~-'1G'nz@TFFlcA뒒::$ t]o85XiU|uNli0eKd뿩KUl S@XU->rN&>9\L,כyp~-j~s82~,Z&GCUڣY8xA_ voKH^I6tfmu×JVtűT|ں:dt E0{U O Ns xkD|ގ!ͱEЍEW-m"S,#X/q>@rt j}؟$ִ?s(z| OEo +$[诰_/abĕˇWE0^,nURܫ}WP:fյ=|B kDΞv DM._Z 0ٮ-^?|U~@*(2*BGAdo|X{9ޢ y[W?TQ Ĕ%lC#Sdz>!E/J28 ^bO䃝3Sր/r.}ã JtK z]a dͮ˕cB#9`s#95҈Q@"@/d-!pc-lJT%BHm; eXK9hݩg4irOPn|?CG&ВEFnHcv\ۇvĀhJdXKԡPc 3kT+s/d&/LWq ʿN+KWұ1oa:큾'ɴ"L ^cUOh-nR~eMPieEto|eD/@%S-[Œ7V_1 Weg:mJ}urŔ/5 >PJ|7ߺ}A 3cSr)邒!iB}W 񔠖ٔ+GJ5 p'n;B֣J6c✧V쭺qMRlO~ |6̌PCgGFTH*|M3PM0VAq~ڛnx}|xM-ɭg^/+PҔ K69鋙%{Z_:o{x0]p(K2J~7AA?jA.b¡&o|2?a>0TE JtE([`(V&8R1SScM!gw7DQxN191Xuy~6Ge#:륐L0q$_o/WrwflfFTrclC.R~[8T=:8m~ǠDZ4PRؑ#=[N!Lx!J)^!BF׀Ǒ 5ZwA5 ҁ;(Ľ2qi* 6]oxSu+?Q' -=3 jK=mRJ"\ձDDdQ JeYr@+]#ѫ2;U}#mؠo /CO>1pjzf#[;I]z3޿AQ{VDgN37+y Z ̀q`x8TCT>?:欯,?{/>\U_)jvf 3Xh:ݵױS,/h;5aԬo:ue^wasx+߀b??"C^\;DQbf=s[*Lޥ@_ob3sXfywKWփSb{Ͼ>~qEKm✤X3'-l^&Կ|>ZpG+Vk`քnOǔm'U2KA< MC|PA*MRJ$5)\4V.w91#R-@3\uͺׄDv]ޜgjuxMWf">^i0B,!_t`KdCR/Vf[ZP3!nofJ%}Fִ6quRdCɇnQ]!!CrhÉ.F%h{_fb`UŌڕT@_JCGy$ZJB_vR66Gkg~sQ=0Ͳ Yo)l@9HPʖ:rK]ԲrMU^fX?6xi!h8}KH~rsHQv}qý秥gN͊&Â_u@eDZ~FJݙڅTVYI?7cS{N]B#P~Ñ,] :sO |%RϮ)#ZŷmVw_PDX[Ňm,ty6C"FsJ2&Zxs DxH"]pѣb`J㰬5]kiepU_zgVGn8x:}wh5g1asWf"gfreS^i%mJAwY)*_`E`YHb/mMIIkN]bF˵Af(Vi7h)WtX 󐅹l,xc^/Z)"& (|NA ~\ȄPz^ GY`R0S#Y.хőا/B?^W O0Mc1♹,@dG12[[s. M|=+J%H_fTCBl0C 3"Kh՛`䕺O-Fq عPAx餋K}< nTqQ[=noL?҉~##"&!rݲ6"&U\.Ċ&\ۚíR̾D~^T-Ren׸"zoD#\v2rWb/}]ƣM-v+ZZ[ƭ{[nE`!` C.ʿ"a@4>y5ț&%#~5{Trھ0) \;fŅp 1b=p`>k-iSvU ˬDΔ }KRZ G}Eȳ!"uW" $_nHrќ$f#=%@h+NӤGJ-_jA!`;GGJ!ZkYP Ĩyu+$͛{'/wG2u_ NZi5q74Q|ŸJm@# 正EN*Xzb&5LԔm0W7!;j^Nnms2e,)R|2#9?qQa_,iآuj 3kxIі@jh^{)Y A1 I~͎~P;_ȫӭ)#=G9.`5zhWva}lw=IklN"+N if~hԸq]Pz"JXYA5)}u+=KvT_Z@ec \oX7^pXɷXx1(eIJ 6¯Bt[M/Z 6Q(rhLl|u9$NAhJfMb;`WP )@^,alY25PU}nAGUI d-t> vj`!0鲽ÿđ:NXx_"j3V6Zi\m4Za ߠ2)\o_*d̮)Ũ";cnAvQ|:(pc^C}֖]cP:<]&*AfI(nGU"EtA]I+*ZCH]|1 WoR#G*|C>k"YT4n5uWM$V0Cz R,qKqr }:vxTa-Jm;h]>k=Dޗ FEQ LBk[& Pgogyx5:˟\:cv66:yB_ݺ#: ."g7non@hD2#esns0&x!o= )~lHx>r=}BO!iP! :k}>%^!vfp++^X9hHD41:|)"M^fI{_783܃[j>YW ױ5<2bEK&BN  An:w/puA;їaS+xy| ǓW {d=y%Ī/=/S ?~Ceh%`?;Or^>ƣ|UH8\LuKG҂"2xVG:J6fn١Knw.0Iஸ"(}4$!6US[=B4j,Ⳅ~AP|/Ċ>Sn]:#NG/ T_J_4[?Leln6!mܧDWwzc^Zܧi x=WQn#5:zu,e*+Ƶn:)Ά+c#wXir]^-Zula2@[^ ,KMP|L~4cYvW ZeŀK˔GǚvU% /e@}v}Ϲ$# _ê`D}~> Ӎnʱ>4-E $5X{oGq^O",J#dܴzgB"}:8mbXT`;ϾP`x ExƸWm (hVwgdșf{L AY[hwD TCu1G'^}9טY yJEwh=Ai^%5cyH A߿HQ{ B=!9;NnR F+z+3mtc6ʾ'E f*y0hp42Oq'J[v/[~ |HjteFlb&ο,&H' ~n? cp9d &.@K9R;8;jr C1|a}5RtUyacLnfEq7U@?r^Ò̃~kz* SimnQ!=qʣԲ-AAr;?LdI.j5vZt(~qLt]T<'۬ܽ? ^sK5‘U"Ft_lbpE濾ط>o/gjׄ^Q׺ oKvDJw!W#<կ '`f%vBzD\#F.+RG12 jS.P<}Kh%i艎T~ǎ@@;#9̍I6Ʉ_fFy6tUgwW*5TӋl212Yej)G?_ J H@"ޒ}nMt-nB__z'Xb@qXCF=Ly|<X/u/A>ɂ-5't)Rlma-BH*d 9*)/z<0Vr|a&o6Dѕ+T@[ O@/m೚W-K;oZquב>O4 wo-S4G T_d^Cuj+-ĺ%q0ćby\%XO&9JcQBIiGW&غ*CJsa֣yfR?"t6zU!.' J-;Ϫ?X#$q63IH*ܭ+>twYוU]{t 6}7Ͱ:pKH]_E-~6LKS_K%XCsa1zlƄd&D$9zKޘsV-Wl,VtgfJb`> Heٙ0~gHcO!$c01<qyֿCFI ,7Ƃ"7.m!(履$KĘa^ mvU[ix5ӒL"/ANXi~r^×H2|>_7pi tZ~&\&oN;㖭 ysսRi>"k' mfN-4F}(ҾRZo"2X":zHdrNկ*\#﹌S1ᮛ[vMl:]妁u#]6yKC"rWQ5 [HZXIeQaN]7RCN W}ݞ\7yVnƗ&k׏/F]֫7{lBZwZ}qeLҦu?GE ivS-zl!37$1@5Ikyl0hB<@x7ݖ|2ѼXrvzc/΄Il` ,ЈiҾ2Zc FKsu~!Q^_ߩ#j+뎍) Oպ- =dE ˩Ҟ>=GOVC:U-1+n :ڒʼ?RM%Rć D)Dc>ad"]xLMm0ۆ4ڶq 5k||xQ\~`5q8 _;?!#<׿{0DA\&d~mtV e wԿ3&T10S9VƄXc H2dX[,wuqK{NNN-,(B(R|\@ %{ÀWxۀ}ϳ-x_hg<> $ɜsInCyM#h&Wޤ1:sĪ1iavl$MJG}}GQ3 k/h\7dhQL}"|~OJ~lGΗ 8IiesN{S?#ٕ2C4W-c6{a%,7vw>K߷D8Əh>IMhX\o$tiIL;f0\Qi;"Vqz{dtoZ3>9>baS ss]lVеpܹ)F >qe9J㙴'+|%V/gRϟo [̌a:By[znrL'tҤSwH_JVkA5z42<.aJYǚ6dgHz,vTOִI ch\x>DyQya/К4Ҋ&Ƴ#yŰG\flۙ}fR,./v!FpT mDB% r^60?cJry(~3-Yrow/DC˼.?$H1k!Az0No1(8>i9k{goZSmE6JFEp8Om3aDݗ4m;QLk>b52ĚODBF^_ )n'.~_VVy@oԙ~o70f],dEOR~ס߄"iϯF;'xu(9#h(i[Vwu0)j19X C #T5G1Y`9*U 6= {n5^dLI6GkX=+ogCJ$JץmC}hդK؅ ]MRl hy5,*h}`M5|o`֨seD2ow0-swx4B1'B9XGy ,Ga^e9tCS2“ѳ]n*FЂ BRυpܒ$55RdteD>" `7e1=&R~hex߄(1O~ߪS@ '=z6';hf4=(5?e=?73BVTTqgmvv9i?M7V ^:uxZ#^>ɠIcLp {@NI`GL)KLk'dЄ}#]?e$m 2"ZHc/e$CʭPC~n6]&dO5tz8o3c_뭅%>GO4u%T}X9e;iɝ@mW40E!A{/ŇNN5]euSFŹYSV -y1&Z "%֜˙GJ sǣδyUXD\H=:UӉBh_mgELeZ,hǘÀKW=k(Ɂ1l:}FOⶕ F9g8$1kAs#ZmŇTWZڽq!̛ѣj$bs,=ڵT`ID =2 zɚNdiO/>\uإ, ĩ塘!DOg2iCrRALt>~۬=rI]y{ظ" pS=> ?Ң#Rv}KTNQ;({ .O>HNELBeR Ue/aeWlX-anke_]+}HmUt58~&W=m-m{(y`eثYds4{Ln FqXwѱ`3)0Col;]`ݘ[[կom_dU,Cڤ[ϭA'`:+lG$ uK[|aݚIw"w4B |C%- ?dyFa,"-2%nU=CR G2 wlſ !ͼeuC֡khbTħK0ΐ#^<^7X;{FK]k;tQSK,hohs|N5p\VFȺgC8+Gz9/`!6#R8aYau2pUYs +9'Ǵ [񥧩K\GljpމNiJw{yl@/'9(V_a "D¹uPȯեRƮ>Qk _lmK΀$I2OM\uغ;i Xg. .YաޑνR\>[7zfVg9Dm*Izُ6& ~Sos#xRuICʋ|>2,i|}JIfԭfƋFAb3eOK x+rL?:rs};n XVւjZ "3 ]WQN0 Y0wx2Oox|R_zDF^D 61:OPO;ۆJ,Bɇn9;( mD[w֭:Q39T{de + !Of#.YN_?Ѻ9 Bxc8Zjc> ĵ|\a.fvNdEk(ٚcKNJfn*7e|}o?|hMˬ c8Q3ͲC Q<$Ep ѐ1bDW өG d%)RAKylHvT7`"8 27V%#E)[*΂"jU:Q͵⿮ܠ'('mvׅ,ʳT,'Ƨ"ŵ;žDMmK 9&>xY}.m0A?6M$~ uś..0#i^J 'A^\ПÚ;oMS3Oz\ꘛb0'ek܁"Ypj׋$$=GN'|׿O#hUCQ繿2+8 E+sSF-aIaM5UM ms5i&ƶv^b'L Ў cƜTRȀ' ~Hjt4o^&\'m-I|*Pz*RW<aߏ:,|6o7%ƁF=a$DŽ3/uT0[~(QvxqR&V;;'} \ӄ)'@iuT>!/z:m5$a6%Gd#3K"1vz]iۺĚ\8/ lybI8ɺ^GkeDvOb4x>=1M.1K%ԙ-M=sEﯡŨcqڣʯIN<wA^dO6/z54.x!Y3RG`\`]dL{r|3eS3,Es=l%AqY1CAP<:xV 'kl@10Wl'tJh!MHE؎) AS<}}OrtNʒtVJa!qG$M7C)yôκZUo5ȭJݢ\r-O4՗c̺$^)X{s=೎Sዪjp-~avx"6gl!l"u>o/5flq5euoǒK}a^0kʻxڕk1돆n ViQܶj$b0]zxD<"G^~ZB0W-ݠߋԁ8Cs[B_V4?ms*·Pۼm~!Z;{R4_STq H1V0H9I"R Ș_:ԏlOh-~] #Z[>#y\M[cSEoNHF fЙC~K7MٓyT .Ű6ͪ%R}y+:6>/)Z~)Tr G{& _&6PHQr SIY#/A76橑rxKnD_ Ng;ҎLXΦf|#z~"x2;o濠 fU` Dj>Q`f`$QEpǪ=ߠ-sXHՠN6 17e98 {9<oWE@3Ye7X7;/9Ez]K5;cR='<:d'y``w0M7Df[.}#?i) Łwq1ӻ֡á/MU W y-g t ǏAї$Dzԙ₽1 ca-Z̦n>`b" ~_GltyQҗ)6 p]U=y C0k3B_Ra+XƭggPbX1GdARjDog-VMd[>*h/ZV )Z.Jn)fbYlrIffSRnwJFOoշ|? kXSyE҈uвO4UƑG _0|aȳ*SMWc(E *{)S>bZpy ͳt cSqGPʏA/ f6ɛպL.00>OTl0x6rF,kįfاf>4L$_gg[nPl4]q7y |q4˭ r^#뮾7k(W6SWUEO{U-ب&idBw!91a;_!D'k|8Y<0 ?Ŧj}r'QLI54u6tF;gNĴQ1zIU.+q+qh|-ZgG k裚!<_%NêXW|0FDB%5٤LQ@盛u=sdB*U~b8ZdO1#/ÿ7iAaUI;_@\kw;Z$9fmw)A3.֞unyQL,[c}NfdgDHxebSVԵ98d-:&?WҶ';tiyC] iV]ۓfjLJd{`z{ndrl3|ús0Ka,̀i盨c-O -8Gj+hUHll$خPF%x;(a'͟ԅ%"%d?_]gvEy傶Ewyo-y>idkm^$vbRk 6Jm(LI]̯$C#,߬S 1G# |D*PL#f!S{n9.ä>@iD90c'µwQO8SLInb3ڏ:oKw9cЯfl@믯+hHעP̀Ε~]E}R:~[} A0wqfՉptsؘMѢ'>y` !Hɫ?P2;@(ərY諐x.{F<|h UAURwCz3k#ϚDh+QkPZςd,]³T] eП:PqV/iåԥR&) |dRwwBҵk  @$IMzǰ)[kÄ=R-U%?A&H/|"65Cf+^?x;ƹO! >tVs2گ{Am\K.M}|tw񄺺R<կuHfQסW!C!3%@۾~驺&j =DsЃ2(}/;9*j> ؅苚DKng P(g "S3uK}_v|0y!E^#&j\JzIb( ˳=Eϓ:a ~,8>N)%g[[z#qdJ[ܗk=ԥl ߩܒ<gl`m, > \Ѷ:Xj2Cb8؋Z'SJ.ߡ7wYuz Pn}a5DV47@y5i+2!ŵJX2RH~50ЪF}&;Q¸ ί_ztO[2<>vUd5*4z;?.d?U鯷z>j=|ٗK#U8A* 9,vr06$hIʵd+wio]ʱToEI 2}}\.,uVsϱ'k1 =t\ %D;4goXN%Ob?A|P;} 4bCII9$/-t[=ʇLA]L*Y̛$PmWɽ&/LmfdU\9z OÕ$,Hh  Bun2 nEb9h;tE-\-}9D^urKQ$ ĴJ$DN2&¬O5{Y X0eq`/+@>yӏT9.䟸i.1y H?zvXtAAAZ(Iy;hwzA*q 73¶&ؓfeE=Bģ߁D@),ȟxW8ص7 .Z9.ay]Bj`|Prm,)h4S\ ݐ}$'~AWNrK4ÐOpIUMo7-îޅM$vO#<;WY#o.Uݤ'd";P?))sߔaɭ Fa+_F9;m2 ם-#"GD6LSlVLFOfF]0ػa&?`&m{fYC@[P4= 6HR 1Dӝ엜pg?R~:&qgIW1KɬKqNJ?K]S˔!OOKтU<qUVP{F'QZaF*$q@yU~?g0@l^,b`0 M{1ʍvGK8dU!ƫ: 0 1(ۛۯZJ ^_%@ZY.oq ;+yb!8~lXݱ;IvXc$ TiTP'qgg~$e,2H>I\;" ))w:m>{ySaBKD2>D"b8`2W^_u{am}qb%|8*7Q h usLyRpeSrQS4/ᶫMGv4~9 [d{f麎c3W҅WxBt^F>cU3|3\͞@NOǾ8i`%o[(NKDwV7gY-pf{+MlHw(kOEk ւl/eWfd|[D$c74Ѡ"3$m^MvϺǬp~ KXm/~Ski7_quE7zy.lZd Z`{?z۰P FbY&^Ie)to5S_ut8 Y"LGj!Krۤx[Ŵ)|䤣c'E{iQ4s _?[] ~X 19&*(W̸R/قc Et]Zw,՝G7/HdW< R"w)25K4"NʷO>IqHOagNދm>h }|ܝrg=xfߋ!u'ܵ}?!ML ԑ ssg͕HSc?VH P\~pF7 CRr le%A52]*0"˪쒲,t$Ye9T,rjoȮ‡VL` FcPџ|xBޏ9甝l|.a,SJmvoMx;SA KAyQ[t9](Po?x,Qt/l3&rMW { (#|4ۤ;>Qe4Lruy(y,*}m<-K{ڝE2ZA8n]_-Rg|㸹F{$AXN8q&z/$K+9e&(>2MƩtG_(Dk]++&ݗgАLZ8j}l걢4ڥ٣N $ݛvjH8bNEVLC.)u+.xo1%irKښ>\e‚d`wY?3tc m?. ~KxC2{|}.g**%M+<(մN+@ubzl;ggJY]8dmpCIH *8@b%i,QIeB'8'裼]l =ᩤuV~qmE4Jy(p/bh!cH|Z$b֖^"|Au5@`0b([ O HeO+Fsp|%90< 3C<nQ[]t\T9N ;<>+p˯EV'z)uֆ[={Ky1ve`V$^ءUPNR̡4NQ0%R:sUkN2-uu\U_ӋFBx>^ٓ.>޻.);#(|Cσd!r4uϤY>vxdY*&IkP7::|l8}Ǧ Ý - "ζJh]A:3  Ȍ(\<WDQGg ГJn 5ΰHk?V-g厖~I)@տ"eB~٬i=Ha3.pdoґ5"6}gf {xoa$b}vo[_9'o%ⱲФ_ӍvD<( YV$ˆLJMsI;?̾_.o;DQ:|1ü"K %{wk]%Q/7׷M ?~GѕMopQw}W9LeA"!?HȚ-h최`o9P8P;iO6 *|o`{/ 񈷞OrFqU;GA`J&^|KLz KT򧨃 t xJnatD$44Uz③J Ery0䐽-WjIϨ\tΣ蚜˗/A]PnJ8c_$!gPX{02JkAk6wCOrQ}HMr77&rw70 1Tנa\3&qڟȺD{mlH([Ӂ*.jVɴ%~zS-C_i*n<@芷$meI/I; DY߁~,n_H^IODigj#{=X=Y_#q^}۳Y qRؤ| u5g!FĮ{' bf>S{CNa@_~b4vVV,_vz4^b3Y'=; @R3f %Nd.? . 'GE闤zlzzF (X_ tᩗIB?U((ϐ^i&Q1O $5o$Cf3Ծh/Kg{B~)uvEtխU$E=Kbw5(4<9l:k8w}SCU Đf NwE!D?hZZk, yVg?n^2Eb9oħm}e}uEJ1w^XG{x~}UG/V]C>A|%n,ai\Evxiio ?| ,%|y%5!It`D wF#W&kvoꢼJrnm,'nQs$+}[#vCDoŽֹ:tzhw0Jg/ ah7AO\* ͶxSv׽C:;4؟Ju8wLo57Г81 Tk9Tshhoj`P܂np\kXjH|Sʣ9c9D)m7ph<ޠ]i7D{I.u9+TKfG"Ϗ.,|RjB% }L?e U㰿î .w~zoEр~eC:zrſuS?cX\Zr6d-Lc P?zs_H$+l``E |Bq1xV)P<>S#k?-\E'_@=Vl;&xG'Gb흵aCYrکFz83 Xa>'S CA=zU !}h krF=./zV_/o KBEޛosБ`2@QנDH0.1b4ZwK`~}lyTߟGgV<%ᕛ3/:- sJ <S)=uib/~|@ȕ~ Ipk|uGݼI܎^@ш4WVVσ\K3``xd|ё'*XAfB6w~]u qYUaŒzx4%LD};KM%3f+(D2"}Wɋk6Czb(.,1u牁Āxν*gu5Ɲ vr;JK7M[1t^.T$;GC˅0 <~l!k^F_=b]/UI?~3k^?% _.`oJ,˻~9m#ه:jyKw1] 7g j#ؠ8iϤf#4hpy߷eN!}vF0,h(_`tV v|إT Tqn48)0$фC/9pa!G{t֟QB=-fGiwlocJuѼ1w4oZzo]3~f$2:qTxf Zvd8JrbW_g%dm$U}%.+Ekm s+ܣ)>}f BV@OÛ'k"Ϋe9U]teH fmȢZe~Z#?D<21̉BP&q2nidz0%CzVrwHqNTCBcflhW0 cm{=QN<%9A2kz1&Kooq]S]]i~a˪Y³.V{P&^)iyƯ>?:AƷTLybgDIxkju Hb@^{+V675$#΋X5lKQ.m OW*[W:JAzh1a5P,]kXlgwi H4.5qlC1:} 5wMGP|WXqUüUaI?cMrpFG` 7,p_~fپULD#6lǁ}Q)as;[9)2u#o{|;׏r'+B KWYz ҨYe{  *x1V o'nmɷMG3:C(/~q$$]i'V΋7[3Uε>1WvRtG6;ԓ7.(Z א =B=@|vۈ! )Q#7D/)w@Ny:/bOL% *,nܴ:xoNd5l(`aMb?<5Y{%<FZ/=, Tpw0|j~׈/[E5׫[k a_C聝پ!PM}|H),X I|y^0As$9]e]zH`|+WO-4˷7m΍tQ9%ӏN+SHW>:Gw cӐ|PsZ@Y&Fi00iSMKNVrdߏXd>Bi[NHve^4+j|:,d.$>[K;+`z2mANn‘`df] &5ha0ùģnqr+CB?3Z3{/ZYn-at2jHc-K/:cfeRؾ_P8yBfR&D1>/00TaSo#@*^{>.[G7C۫riǹ_kv.T(&k(b'𐩼;GzB@ \s/*BgmT6˘Uȿ18Ǣgj>olfe_DeRy+!U >-{cͺz,* ,zF{/b)}*xjlB&$InAo˵#;144ڛe#T8,Y>:cu6m,= Gd|}݌$a%  o Aqדt%3ǘ ^3ٶwGoBH޴NXd m.#6y$%WZM|P#c(үtKbnY."bB5t#4]G!GVP ǶR7yBeYA,o籞X̌әc4IPL~A]ڥba@3+G7ʜMS*9G? ' h[g C<˞PE-l-XGWRRʝ uA؏J_s]͆ib>n64r veg?4OCη3:[秽3^kPХ4WK :+yj)"ͼm͸vOꈷK =o5_v}'^[sUW@#Gś}l{lZ|*~Ҳb:a@"ʭ8e/ׇs9!}#d87erGD=[LZv[HZڛ, ,bs}dDCA$$݌!i^{땞I7P "ܗ @ǯ(r.m@P}ʚq=U' xx:MBiA҂mCSо_Wө]c!Pk@AfPsFZsHGdXf@]+ถtXBBFYq[:ؿÜ+` vW;by hO-,ˉd=$2Ń}|ЀC_Fa"_q e`be&?^4X]>+3[,u:CfUۗwOS.)tepʠpB!s}H L*_m޺t6c_z3nQ'Dhv=wA)0dC2g C /zݲKc_R.1}IůȦb+bUcrpbÿ f4)M)SE+P&9 Eϰm, TMXYF**G*KMh>?0р3`Ğ :&\ć@!s}šCUIa[E>׹y(`txDܺmN7x11Z۰6j]jx~/fNbۦTFJ8b}D\7L,n^)B&pCO M\##Q%4})>}LVz r$z:m `L excu0xG*smg^QvϊM{ÓY:c\x֩8sʬߦV}@ɥ|4Pu2'?yL@7sK|L^ef*]VڴE/M4]Y]GGDjj!)6!Y%}8Z_S=v)Äܮ/@ov.J6gjq6 %/NC Ty򻋾*eGg{h.%B[ dI…#dFγ3?$(ɭ;\]B^FR$/jzxL/bı}Ĺ>X5;+_p^~ϩFm +?-F~)FA~{7徯W/Jfe5^ ? 0`$ϓ^ӏbĺU9u_n 4%4ǮZ w4*-X;Dѷ+Q7~tC=hăk(7V0P wdg8m.Pnx$M=kꥱCx<sŸkmBN_ٖB7ư_Y%,BSF~Mߣ_+:rB3%p<^9+ߚFM$1+agWؓtF(U'fi7rZahli冢F|{Oٝ}.Z 5g~L?&f._W/ Yאв{ש8.-( !ZJ9Y14՗ YΑC rdAy쵵|s.TfuM}zc&q;וMxtI#kc+>Wm = F ?MgE.ՎXJ $?7R~qmܣF;DW!($KQE.Des;0W@ʯ۫ H}a?2}ۗ *Gd2íZ[-7"t#z+uT}&NqNe^4Pk?,W Bwֺx6jiNYdKI_EM.ݭO1r $G{xAܾRymGtڹ2?":qcƿ:)x;zIvNڗe=G{}ExLR  q勊K?t }w?b:Kbjۖm6OnnݓgҜQu,JIg~ 5n)hmKC/ ?:qheǿ 򨳭!oM?vЮipVE}Ta BgsO?a \H˖HNe@xFnFo tA: 5`M( xnya8YM G[r%4+X7R;oyH8$A_3վ4̬V,De\줋Fg}qcY."b}bXeOzyV[Aՠl!lYtt RI@?^h;KwT|Ф pUHH.Xf*(P:t_rIcM2.A流^ic)?8ޣ}$_q|.n(z,pU,l-]/E@O YK\"c H|v@Pkv( ^ |5VC q}~8YA߃ם٨{*SEp1,nGXkE}KMVȋxpjk/()h ~wؒ,dDyD/vizzHx;#h Jy."[A}oe\tewp7W|"GdkSLG^DڬouRԃ(O|N0IHV|qθsF/-ry2J(=\2% bPlFZr"erHkj؟=b8S]UTވ Hy X $ؐw;^t#Vǩ_bonS<(٢c'y78=ΆU;RͺG1_ KĞ ջmBJϾ Gm U@QIFɆTK4o9́s [}QhJ׾U(\ 8}ރDp*, &I}eך)ѻ!CXE/E)d{ nV_ݦN刟6Q/KUMTn5ءgj=ʢ_GGd^sר"um<'d@U^u&ŏH],~N( 2DGfVkST#zebԜhlߒnӗ 7'-~\u|n7JdXmG Ӈ{Xj:,ޚݧ)@XGҠmNm^-NW[V VPg0aMj (׋YxDoեMIkU=4!կN(Lnb 2$< xm[ϢEI8 8( P'[!>Tw{( c)Vu4UYe.d5AӻRؑ鹘ԉzѬ!H‰J'Uwև9Fq4%(=dx2;3Qh| j2WùҐ2 3̗ge-9hkD} dZxy/r@{V舉Nͤ{:uhtE щ;mT>#ahTZIc EO.TJ5m3Ɗ( BQF;53֏KuyR2C-1of?OIJ7wˠ/Q(sS# i(1KA w]/nggycr.M퍹M&e԰ø"lk,cVˇ/ѱ2;ZJM*F9Je+GޱTU H:%qrɒ%>)q^Bsv"%6)Z!{=sX'2-rh8(‚@&b jiܤ.j tlPEٻj)Piz˰0щ8pD򌵯+!W]ڼ9H$N4t#H҂eWraoX5vͷ> ҷI/y3:м-)=F ;yhE ؞G8m^xo)U_ w yAB`/a%J^\f?3a[2)tLX}$ccE⵬Qs ktpCȱ90)=)KXN@xe\Ƃ~ˀէ9ɼ=a=曓PPz*eg Ǚ0 q)Jz>J$EX5t/&/jk;?CMN!1)m[c,6;@# ]$=LO~6TԄ |(l˖I8Vލ4Q.,7%G ClgXB2n~+Fe[Юfė..&)dʇv*R)Ў@A 'CBՙH`B{;k)39WuLnR,w_mW/(`2MĿ{U[7ЋXmK6 N,Q,\ʙ=uo.F<;O@ @n%\¬HޣDx]enKxV +D-]c˓ NN)r<y /nYXxΈcu3=*R9M Rfvm,%k ~9<D cshAtU35:VZ NǸP_+t~g2U"*}k!lMAGɰYfⵉu6b/ 6 ]UN(깉$Jog~Fݫ;aҡȘ]|SCcۇK6@ }D*0=(Yf1ҕ[Oh6W\&JCHI(~b R|mYt`V63!/$T)3!}9/eaWN@CwrǭaWk28]c%GSɇHu1#`f-4H@#:c#?{)]kK^5Ï o!xTK;^251DvPalM8@T1$;bL +̷=DŽ<,$D]!K!í}JjåǓ}ߗF +eW[ArxrcE v.>YfJ<[C_4+IWȢUpmttR2J˿bt_>,"/;ڄu:['n=za ]B b$ߢBo_)m49o ;2ꛟ3z !H bp^ ~kO #iS!l :h+5ġދٵ#"Ov@J6kko\T $5cPX8ڪx?BWhﱚl <Dtl'WW؇?@m>% NJ>u+ء[hE+=\^/9]u}zυma>AHuO@f]Sy"D&+ g4_ ]ՈjA[!_^KZ-#dWp8ֱѶѓY<*p6kmu.*<˄(} Ef%THvNv?g%ῷ"鐱Q<"=!&,@U ^a HŌEA {1P-Vt;aHE:kq "OS#vHGf3 Ba2쑲x[H(1\'H`tR v43}i;/` E\Ыy_C`W[U9/^Lղ)|O&Aܾܟ@q] إx?Q-_UgJSiB SJ|xZg*\JC`LlK|b ;,5gyrQY1ύq qn"5[# n3)a ?)"VF'h# oYkTtp9N_Cg:bVK-F3).. ˃z珔^KVC>wϪ{0O5vCU7Jר3MN[ֹ#fP^m1G0]Ȟ9CzTe":лdowiBqdOby|0]0_i Nr!'BLo'%i>%\6N @uT Rö٪lM" f@M| ?a-lMjM ^_EJKCJcH|V^V~hɼD%˛LTj,#hINA m{?ԛ,g<ZDIGmΩDqG5F3׷yՋ1_N$-!X吊 Pt| J;yڮlʠԽ9 jx|w L>{ml5m[ ݸhZ {U+$S=8`׺NQK3QMCc  nk[a n"RLH}< ilCy)1⑲Vi7o9P9{x4ھѷHcGH( [N j1>]5[<, 򄉜)+e<ظ E qCySdXanRK)BW~(AWҾ@zU)㼂t/;2oOѵCu= 6-:|Ār&M !mCLx)?HӟdKE3rjۇ>CE"1s,l9軂5"5^"dXu_^wi- ip MSO2՗{k<⢡u\OjG5)S`<$y0C cEv]@6^$H–38& V?&ǖ n\dٳI3U'?|*]?neR_@l  Q. ;$e!.n}޲,t/##gcV{LVs_{8{('z_ah{lّ4ps6bOF`PR+Oj NܔbliJlx8Jy\7>$wE]pe<0C_em܍)`Ӻ "@ZB2ɅʤihDrѳҾEJ/A 2t8+EKV.9J/x%r`^9QC}EꕐhX+51zY!.`Kz4 $nҳSO>xK\.wWS0 Zb%e ChۆBXr:7$s2N$2}\3'@x %2(LW׼S CQX_/H !2|a/Pcnl=~HtCGJvYNn;޾0A-&1A%㫩ߦFW0kn\M Lx(ɊGգeoRn3lӶ٠f|+`aAvо!$#h.8Z "yكyMzjK;h<<х-!:BFN`{cmBTwWU.d+/nM i-}jo~ C}4d̙Z &}by{Uv>U{0QOYP)ؠ-FTR [eYg%>H\/ǩYR^VΊ:}wxn'ȟ 8.Ub EK'3VHYMsQ9͗[ bŭFce)nk q뼬m[+~8>/KWaz搶ws2i2ǚLœ*'#꓌xFEKNkWq@*;>D")hk^+T~@1F$v<]h,,/%pވf&qb;\^I&e(u,^`ĖH&w"󘵲pHv/}6QoGltgl ZBѣlLIw=ׯ_"]h;YxCb \&!wdyo `NUsbbS#FҶ1, snz7H/x^8Umo)!LhxJ>5qòe D|?Y$|QUo F>P@+P/ƶ?g/CapKacg{ !@[Lp_t;؏_iÆ0O_2}:`{{h_?7r&jt1Džt\1yKBM̦`ʏ&Qf'9j^`56- VRܢ[\qe*k烖O ۬h߭eݜG΋o˕(~HҧЯ~% [ܧvIX#So/-Wa ꜘGe>4_7hIkl3"г{<"vbbEh!yȝ7@} 2dox$ٜ t #N?߸4ь}nh/l>П$xoKP= !^#3M6;*7)cq-Pr<&u# >OR#?11"K]nw{m#wMwƘqY~e^}JYT d"@"qQ(Ht @~z L2P&:rΙ-31&έf( v^)aA7r!F9t LJ F؎>~4ǽ)37zn(+4-fLR@C9 R阮3y&Y ƀNbj/AVE Dүm7Uar\LPƴq=e"KYrqK&HeƢ1(7<=$$kYssb sq{{x Ó6o|=yяe]vQ}`L&"ءv\ܐW:"㋁Aß6fHCe,cм`8nnfHGe{>hM!dXuPKZr/1ӼN_Fӎ؀`RMsoΫsy|wL܉H*JM~!$?awZR'R`tF3h,@Mlk4Vv-ղS#׿>V$0ܹg>ֱۭdWi^KdX\z-c^Zp>_llV GxaۭGki573Tj-^wx*}9j0dcnv4 Eg W/환̑1 RE L03̔yBEV[[j!j7r㼦Ќ^a,[ nj4s"{ovSaBLj&2 0K BCcp7 ;5tAˇW'(otR9q4L5# <5] W\Mv"):gգMy"Em!bE'}1\ ځdf*)lڹ(<&!^HDWAGX ^.{; _]__[&6S󪖙wJ&99|CjSExAzqP݈v[H` Ί=5`%KZaU *HQ+=X4e4Ʊnu㭮=='i6s_خ|#KC3;~np s\y- _- 9^ol )d"gMW<18zƵÌx`6MRSr۫BmxƠQoVU 8=(Pg*@9Ǵ+R)Pk3M<%G2׽VWl"X&;>)o_&&MHimr-~ ŭhsOuIOzfrrN3DŽhlf EB%r,أ| \& yC:H`Z} Jİ_PU5eߵptptF7q vq@l$'CiQupEw8d) U% RT (9%#\1?zr ,荋 T'wn;=ND5*~U@"i"w}rx,ec~ j@q*a?6hm41ǫ7Cܑyzl~(/ENg)/C殛0XJ`fYh֡!JVq6bdZX'G>t:h痬گX'" pв0+!ܐǶ!~EҌ\8>JȖ\r]Y)21S88>wrA;rq~}c.\W?FeW%sިJ pA0ıh3$U*|2=ɸ*"],+*8DV<7.w4 N,?%eutD1Q^L1\lm 6}]@̈tݭI0af@#Cm\^Fg3Rz]buF#}jݱ>JZhSKbx̣ 句\R:1c⨿kxV>ɺsT~AaF.ˣIЍ3&틽=_3qr±iʻ Q4NM:>ցas6sZ}s; }F>ȡO}uRCc`Kի:Xa5Ta^ )  }gG>=>t$l]>k2<+>ryNw_ yƆQ͐8@ԉ{WZ䡾Aٟ"<6v;~#7U=u t!Cu;%т!)$j25'?ݜciW[0f}FRw!ֽ0h 5WȌ&+nYe/djt=>]IK:˫PfV: ӌ\ZjiKr;{j1˔8?V4|l--T爉ؽPoH?Bnx,ݩv(L.P =ٖ}q3E$ LǃY&I6X#[HZ1gs2zKLQ q+]jHs1D´ƥSiQ]_R(p] nw >LMd/Q2nt*KiĀl"zpJc9zͅm$aR` v5~QZjR0]<ͽ/X Z6)OP`hwhk8t o.52iMl-I`HPh>F?pMKҋf8K]0f_ di&6x`~UK>N|QqېoVU &S#G ,\2k'0ȭFltWMr'xŏ4/iJ"~}dGy+-oabj":g"[wӂK I4^y7JJ( OzEd%Cf·Ish)ILOx$D:s4=\yaG/lK)r$ k&t>:*$Ƀ"xafd+Z8hzRjD0<_.w$* ϟzp LX*_9,Bu7R~sSI|{ kvj,(T(̐pg4ְ,GqwaN&-]a](Xid)c-%S~CT2<tFf4_1g(0 Hs|+{P]Syjڑ=`éGy57ǧR_ eIUf^mHy߯$>- L 6! \ddfG2<)A]I!UUwtBcݼ%DM!A9G RK*oB^%Yk[IWZx{@|":Cg[$ROv͇aV|-=p{[ԟ$)>Āx*+oBx2C,Z'c_:2n+05!7|_k8w!k}aW[E;ea iQԕï]A WOb۪6kS{tFEbW'L<6 g3TVY2FZ">{X)Db DmjQa/Pu&ʵs`QLDI RϹ!.q(N[+ar؉ds&'/<!^A$f7g>MA\"=Ce-1E~Ȁ{oԸa ;G]O'|Z_Ihpm!GY"4wp \)n s0qwz57p-(08>1KNP5zfz!6ܣQ#HϷ7逛rKՐ.9sM!N^p]֮/3$i_Aw f G[8) ^(Ys`!Igʝ!1-I||%hΉJ7b<3%,E4uXz6 xh5_ -)U N?K%&[D u4uZš N&QǙ6>H8 {idޑ?Zt&~dL|:r- 4drWR"8dJzw5nC͡uKfRG'ODeHD(UąmOfW@(EC4*1wU2~zuskͯ73_<9XWm%IJLy`` 7R;xL,v^:6vDM"*ͷ}m<ZCeIf1.7fjFQtiDirtJw~H4}.tl_o-!^hm ?>iciëchq]3|?'/i98 γ'@Q`?Dm^g#ӒGu- β#v+b ?nj:8 - w0]z7Ly5OMC<ɕ 3h$=0p^s/L[6Htv弌/jTe\ ,\1M]Q~_ 7n'p/ Sr_Ԍyq {ƛ rWrs'JRm 4y1Bao=oe߼fhWʝ >_-阤]8.xNUcX2vu>u9l0<mrǞ$+9^n*.lcCꢡ\5Q٢?R M9T+75_ɨ9tuZskyALw#vo:G.R|o3A4 rrf`V*u* 2+2LO))ac}.d}Kabje_r:}r''km3C.asj%f͓=Ws 'TMT3tqAo Q=KKoL܃>m4CUR x姣̕ϾWo4}~|];eP$# i ŸOMP܈_ENGo4qקLq9H6#*54TH-kiMُP֏7in|/qrv? ߐK+[;5pƕ4W "F"+C =zï }韑`80GFPO6}1Tma^o"X"2RC fv .Д+z .gUN ~y翅 3\k5`~},ƽ0v4eF; FIݴ4.;n=% O0Ud0C#mM9tz/{%b؂S'"d 6܄ؔ曦;;6\Vgx(=fD0O󍪆 t/"QJ0@p y 9"i+8o j 4vP^kDd.uS\iaHa}}ND8 mdT0Nft@8Az8,;VM+䬿u۹zA`? ̈́$ɬ|#aN̈ UOf͙uA̦/ERC\|L- 5dwa!/b~&Jץ׾6L-G&;yJҴFdïHɖUJY'j^t/Պ7a!mV,ߜyAT'KJ|w_>kܴ8D=ski*ܓ_irGK*_5pm02azqNmHь|'M%®~Pٲ8jKBI61(T+b/xE3{~{&?k喝DҒupx-@ƹSʱzdLW ٩YE0;;!C}2@ %J Gw3-Fm ϐ\xg?X:n~.9no#!˒ @?R㡩RqQQŰ)M6þ"9u7܎Wwqp㒮,=1&fPFe/H"ݝ*Fat|lx Aw!<͒~1 ^AGuި_M(Btxj$4kIrrfMb\C춈ȣK ~:Vn~Gy2s(MWކ߻GEgVwڞ|Z1V MY!yZDQ={d=kIpn-o6l(107F6TFb];-}G_5`׺#vZAÊֳޒQDcYpرy-M[nj>,QZO(')m+euc!ͷI |#U^"i bCCR,h^8},NNeB6ENV`H=>XbtTK" N=:He(E6I.@"FVR GߟHdS@[>VU$~o@>~7b9/`TF)U20w"㡼^ _dE.wc7{zBnU./b"BL~[mhNs^Z(M{LͨXllngiͦ0ߟ\F|iy+Ҝsz?UC64&wDq ^ol* Vܷ"Pto ͥ:YM$|fV1c[鐅ZH*}9Q'ڷw8To4h}xllZYU{y,# q;: ;˂>pgfyJ*vjrG)huԘԔBh9 {i.prQZH9CjI, ևȬ ~yP!yUFʘ|ډy⭯Զ?!Ӭx#imQ1 pb#!{/0:TF_b5TcsW[ W#s4RHfܢO-ӲI0e$8i[4-)}\2e&4,A!eV ߲"*&#$q=h,v7-(%~z1eTB(bjΨf[1x`r ۤdi[ qA{߼= I(Ǔʻ$wt'/Ѕ=V|8W04Mi~Kircx_=;m(.|"2YCF^%'WMS-ψsޙ=ARQNObJ /!DMg9ڣ0&AD>%D@"5xdoK`m9q\PfC_3^uӎʐ> `-^3E;lv}ٯR \*Vm'2K{ɓ* ~l0޴ݖ5h#)5qc`뚋9!j`=?5Ŏdz|1YN6[mirӪ19>KY*38#rxXԽH=/ ͨu|ƺ,@Xl1xW]٫_6rS/b[. *qw17u@T֮i S"%}nk `YH2V}Ǽ`Ps(-P~_OZ;,[~op2fjinj G͏KC"Psg& 2.hE~V>"@88|_O/aEsxID ^r7\kk<[ |w-R{G'"o64nq+s51DH9C0 iOeb hR2z+) s-/O;B>ސN_k%XCs_Ȱ}. ̜?~U1iLԴnJZ͚f΅*[.S`)>K=2_> M<8֡ EBFKj~q$<~ :;x rc- O5Ȣi>*$"< /ࡩi BEɦߌeF:ƒˤh+t;o/[΂9~ vKF|6HSI%ʬV$aIMS V:ێJ#צen? nH)SId E||~$?Z8VEBrW% k_` B᪑XU$58¥""Zئ-ǎs P@Y7c )ť-l@n1H,f|_֦=ӢtxܰbODatS@.kb(pՔE$ $Ĥ&鴨j!Li3RjtI:0\ Tv{<ʜ D1Zcu)o_-9*2sӢ Ilme|F* E j'3U@@ ՆjrKjnoK1 :A@(Vg/Q]#~aH?- be }d_Ȋ?8өMTY=7#k N< 38d&'ZF/Ƭ9 mVFηU5q_吩u_=A\Z r([(6I@yѭ*jK2\:J~<3Eq9+HO)҃=4-"!ź"=_[Iyc{fP)-n$wT-`LAK $EbP Xz5?BطS2El}њ{ ;6S/H{b 19m-(푤.B!C ,L_̎R-Jx7TS.tg.K^_;!S#l~C6:NowA&gM.)Oe?Fwzr q94ykj./bFj!b$̕e[XŒu, P%H9fb-ExݷOfWshjX'|2N1bԁE A]^cɞb#B'2z3Ș4}ҽW`][baRpnH>V$A^Au]؞rB$'U}=Fq4gh(պI$2ɛͿK233ڟvZKN\闢 { Bn96UmtuDj9Y$A.sv;c:dB՟52\b`!m=$%"q͊٩)ϥܡrT 诰g! Gϛ՜3jYq̗@;/{];Zp5ebAHf$_e|: oH 4g~k&$\&4W",_ {ܪtz)ƣ̣1q- {H2&{TCH,K앯Zs>{)*_ vz]O쐴qO?;֪"KY霣2?.Z[ }xw:EGm*3&Xn O_<]zmy+ NNFẺ'τB.o?_ZdTz例P^~4}Ʋ{bcOU?[q &L_XtsYN:g6Q-_Y"Eb׏cX˝sBFozE}մ%>Op*16? 7Dvbv]M.^XI8bj}%ލ@soAJt( 4\zɈ߷Pnජ"hKemWaL^¹E.y n;bNBƢNa^Ao``2nE1_.b$g5B~9 # |*(1biׇe崺;$#U 85sp>&`PռO CSj~/9!^e~_j^~3(7Dq,CP79ba0]| 'hk>KS) 0Js@IkJZma)5g.}'(p/ny}d;^nwY(MHL4]:\wS7J Xr?/QDڤ{Bv褩ً`KxnPmb+4]i)Y'-BFWo/mҴW~nWbmD{K}ưN&=QT f򾃢AN'QR5 }1BPfƹ(>ץaIW0,yz V>)>1o>p#}f͍S>_ QjdS\fSu}mXoъ P\C/I x_*H+} ȴ'Hyg5(¨>8l/o?h1E0ќys"ylu4tD^r'o*]f*uz&NdP]7Zu\~3!ClITtɼL4eZvy<7Jpu4Hΐ tLJgƴKMY! zS Źrg!!߫p}bc#Œ@SLboEoGe||_|UyNԕxh6Et j(VC^v*] fU#~"B1C&\8<W X=3L˭uD`G嚷>Jm챤z5 @$|d7Q;bWQ(: j )0y~vĐRswdsU~1w?'+OrO[ JEԕ͗xsyUZH&oȠ\[@Ѧ X\pEv=زÂa@LI%[yc%j7Fm}1{E].,eav+67#fEJ#*&Ej8/}4Xj0,L_x]TX5kKCOi}N!-\GR-*C7daG1T$a K/dgZ?|J_CVq?#)m5YYm\LabET* z)R$(q7\eq~Gzަ= / f _[砧?Š3) /_Z {#U&c 4->|lxw<˪ǀ$o1aÐAGaleH ,vZgy|@MrGFؼM@SQvD7OfMi'\O«<\C@ /])|¢=˫ 5=/h[a6\?.8"lD˳T#-C'DX~ 3|ڤ=߲2wCBD>ɧzȤ=$h"zbxb ' ȳ7n(c4(kVoyr 8?T$ nf1%P7'Jf!O}QiyEo j'* zS{xW7UmBW2+ub7p^vB<P87m7&GdOr΂L~e>?.v䰸;*T Vxd%Ǻ6yTC(ЍwsN6 iuBztHim߂IUޠI{{@ɼX F-`:G&%2ѡglq E}߷S$3j|jz5Eyl;맫ե M3HV0|c@ؑo5&{#y&"B봑%e9rc $ٹ-|+ں!gV?JbL1.8 WgR2Cbg)_Zqv E.0)΢We.!Jzcn oӎ%QR4?)iEmM;$SVQ3jj9g -QGv>R,]AX!cg~4_w)֓PD5nXS|L; ΕՒ葟C~AƸl[3w=FioL\Xxe[ղIwNG'33m'eέN&\z݇@笾%$%#m`ߒJLjӹFk8b|4ħϒOؕ @'\6S_>@6㔷V VMTpS*\R.- e|Db ;) YZ(rQx.epښtzrAAchs`2#)e-Ze"cq YgUq=q.2N0# 1g7/?B N,03[h@%L B4&X^3v,xIB~˜fU~M)߆\7W;w(O`=9Ȟbk$ ܣl[Ӝd_*Mg vS 몈n~I E"r L^x~>*=8]heډ'&Ó&GA}g)Am>e)j샯_,jivBrQS'4ŸgwNlQs}="XjHq΄|TǏ$ȡG)sNxdn%l n!OuH=,1Wl+7J9[ĩr i>3Y EhPD2/hʺ@E*v4)Egƫ>uuizN}@ysP}Ú$R.iuЫ%o6MUFkҞF,*u4P0}odN%"?jiwȪRn.kTzT&GyuM,JGbk i%|x7/LuRHqguO&>\yBJL&8Q~b1:CLU0}s="|K`Bɐ`:HPYׇ-:뷎S*Xo &vS;Qg YsdT @ ǜ[S=gBmWC4T7lq8. _u5kUx{pϰBE֪g7&|l=OIW,чj;/wNY)d%:EPiP3*$鹭1=w}'0k?SUCy=o'ԉeSlkk<" wYBtUem:!0դ bOȅwDP6R*`dq^@$!D/pB>ևGv|A_>F'ń^uKk1$5%-3(Egl R`6uTIcu}ޒx!)o#/&91Qdp3|! *`~rZ쑩sJPVxDK4+7;p<(64ԏRCۙH0v{\ o!D V4D[OAX34^Gy$,nP w8]q~.WŶ7C1}B }YvYC-By.mQgP9` 6q*B4x(2zCa dElHJk3س J3s [ҿݧ܋HBi;#9 7 D\f duYWܪոn@[b4u}*# T?aB۩$f.dSs*kOz |1o6z2AFbWI4F{ĿKhۋi2ՑIfA.%1D+$t06:ž+}\v_W#Wl /Ur>L \3Xg \T".vKP?Ҥي-x8^1LAOo&%)w϶&I`Cϫf YM6v.)cq9T-O 2oh^/@ myC=e9Hz-8މ#;(kj^=_J=ɹ1dpF@IBƒMAVN7>;\bHpm*ߧ xr叿o?#G1p)_ gؾ&a1/x)υ-(bwQwC#i.%;?N&g#5j(HQ$aa$$dߏ5[yߵI >ؒYG@F%QU&dBJ{_Jt!HzO3ԍ 2o =]!/׉aJ\YA$J=vNU؄ JZf]  lx7>>$G4 dxq|L@smOWoK R >E)n~.Aȫu}HnM-7}ĚTiN8Q 9<AoiEW-lw/xy͠\&4TO\ˁ>O&; }c _K6N#x#BRĘ5R_9.uDHr_(8<\D\Dd&F ?| 􊎅`h ̀\ Wq./)5~pFEE<>`L$]b0B +jo5(_"%:~2%+O?VW]oAvzAS$]]וA7՜ 40z\$R6Z%uT'IsJI /X( c\Y`o9>4}"[h~xZX)ѣ&w4lKn]GVjVڇ:2A h]?d"/_TʲhčbzoGm6gWH9G! =WGTϳO PgG9^iXM}js\HI@XҚَzW4;r,;}~K ȸ6ȜՐ?DB{-<*"xn21rg}lfՍ#}dIv|,%g[42lxtaFxҼ-4Y[̈E2] K.ocL 8y9Y QF yby-z_ۣe՚q۱rD;!ߧ!)y!! NDHɋO><ܡ~22pW1+[Tv,rAL!oŀde 5Q?KysaGDr|v>k ;m|SC_Sn_;5 /#.jLۭG&fSpϬݧ<}pKXf"?SQ&͙?:GyʙIۊH ;*M2 7b7 W$tK+>h/:v!vTB~<JQ~+Q f~&#sCx-4ToS)0!^}T#Y(*z Ih1cBB?nݦWUFF)u} "VpooI"4y^oB:K]R8zz~qUrь'OH8~U`h.YQ.̕KZUSɢ :NMQ<)IxC.-ui M6.XБ x. 3rNFGvk^X1Ea:eߗʎyr\"[RS׮Y7Ɋq࢚$>Lx!>tsH&R>RscX b?;J,[q\p!#eʙp`YTJ%`u!f)իU扢l[0k~r[s >kO1eG Tj6fiZ[jGEd[>aL/g)_iy_~P;3M\߼U(D֘z48/iɷ<_Rצ\S;?|4Ҽ py -%9^ F^eבZ:y[xZ⫲ߡA @IVi)_ [NpM|*X$U5_7/U{bTf 7\o>b_*%o/ttx=[5&_aSC>ovPM\̘)]5/li^uQX!S_|Rzr4s8kLk!&w 8ܱH=1xتF<Ы1[)A?=dY|є#T>W;72ɯ?'¯b0Q~w+w{N%ݕ< n$p]%PI):4# Fy0#pC-85rv'h%={a3A㝦 ZQă]!MfūMˀ-ODSc^taj n:|ěRxpoʝ T!Aߗnݦs}W$ |t="]unk^&"fЖ|D(?<Œ| mcWn;زGVqou߱Q:uϓ,p kX%V7&'~#z2 rX0 *+uy(qU\ ۀp6v}]yTP1 w,ܓnIv #gFϯn;lќfVs_*檉 L'> 8'qBЃhZdi ?,Y0;hHsYR3D6\+@ yl*$V—Vza2DVIBۜK`i}I'Eys|, Y&'1kPJ㴌*t݇QXD/^р |d*o+Ⱥ#90?A5^e^_|%\o(ʑ}Dp鞲Bb YW%a keJUc0^n6W#hbg D# !2_i)񢨑OvťtG\;> YIYDIe0>wQ؎Q,Xr^on$!ni~|з1TanPeWVqDiȘ>UemR戕EO̕|d54Tg^'8tg|%xqX!ASߪhe(1Hn[pp#fmmPÞ$mv G#'D^!R 9þ 62R$W: 5ͫ!"swϻ$]8ƧxPa%ac qƿgnn>ŝU p.vkcʤӺ0'M&9RjڸDxg'z(|tGc_|D!ۄfelR`EUxE@dƘ=5Ѻ L?SAzm9!,֎v,dmC_OO JWpg6J*e/hf;h" V8$k/<ӞW#UOŲ6ڿ0c5Ӆ=+ 3meyb=0,qē@UX7; x]ԐQgE6PR~MoI)"/_oޓ$JcR Aewzb;蹸܋!a88,)'m*͇;ܚFVO0œCZcq|bóǠ'Pɓ鯫 Dxe Ȧ΋vkzT W/լlB届fUb"w/~n_# #QNc H3I{+nwCVdso˃"<]8> eA83.³صrL 'S[-2_PR$,0'[~tKp Yz)<(G`N=D?Y?G=kx͡%=% 4>b"mwc"zAASxB}}0̚1|5Hr@עajTHnv{KФTX s83Ru>^p(O򠤆ffƊcVў,9g#F:~fse#W{6S>ec4gѣ*y\AGmoɜɭ>Nq%o KV'`ȉleԣ E?T%bnAJ7b-ƵJNFy0E'N\rrs! 9GM%GXp̟u}aFb+&wm0cd"(^UIمZWR3on_Wx_6NL#"U}6F>.gmBy>etp F"LRq3eh3%fL}EL : KܶIjSl>b.udn/gz;hetͼ%qҐ {?*}SM02$-x_OHK,6֡/vq8r~f1y*'ť TNf_> K[]%BG0l)ñ ]3Lٹj#|5V۶$[$ vdmJ1J1K^թ`G[,1ra8$`_X*;}Ɠ6[`Q ?2tkkL8גV|-7 7.V}JO8O]Bчv3o<=' J4&oFZC~C'=z-o2 tUAŹ7r1>S0>ϼ, uu. eN/UY>ٍ)îws3|mtm4Oq!Z `OY\աï楫57f*o/_%뼀 g2mA_d{ C0;Z's" :mh%5^dY~Cȹ,ɹ |EUuDNP&Qm zhW(1t),} ]h|"~ol|ʎE-_wY`KZ3ocRqJmlo 4#J2p#TD* 0vHur/"UVJҝM~^lȒm!pr : WIؿOi.ȊWBc%6CRXcrG_lD@=]TlIy'(vu%s%y6ct:;< D^#Ko)xWӵr&ms5ų蛈,D۲bl͇>ph!+s!o-5]Dah'f!H(GڵP*Cņ7 $ty"Gn:lBXx\XbaNKt:0QIst A1L ow+jsz`d׊ny@a$ TCR|q_Cutkҋ DcF8eƖWqwrK{-pj_wU l\&}_2!nhDQΡ~NJ0gGuFWbLԴ+O`WJ4h4[䟇FǼ}EkCnKWtF]ݿ"SU+t=+\3MO&y$ծuA~&#0VNmUԂʏ@&N 1O$CZTj'f]ͺl5-ɴ"O0G|ZE){[:hOrNԤfmpvgH/bߔ*-QަJtM-kL:=>4?*E[{W~6tPf`B /bv{oj6s؛C+u0ɫQ5k[_Ab"t0sf8.'iEycB~I;g^]n1H;H44/d$-_yp꩖nA՟CVhdU+'p%g}* kܔ e'"zPD{r'gm0DsɁҵ7)2K;N̥~pF#ZV)4?K/&o6*~=?,_c*4b.s/fT#i4#,+XxƏBzp]ux7>PKY}E=j>aW36G#cGquo7DFf%qwx34s` p.6q3fHmr& LywpU5ڑ[NKįpbe= qDu~4O4\}8v6 Q?Z~6mnw{4nbk+ůkRWCg@KsKv>J[at13B}1n6~{!m&_mڿ+jt*K.WmCڱ$W1v*@֘T%"AB~,0K4w>Y5T?k` pa{ B?gm kEOP&a;,~Q9!h /gk@ L@ i2" (v/}q6Ҿ΃yZ%(Wo1uԫPJn)i&Ky5U6]AJz}sS Ӣ8gs|]$[+22 =h0 TabՍ"c1m/f1DZ:b{iP?V~'-=|u%7<>`sW`ğOF~A\_{<)`v%r/ڎR;%)Yw욊K6{s~!6ܻF^.o\mzq n|^_'MŬt (ퟹ%>~!)^7/kcV$/IWb%!7f|i7A*)GIR1 u3:;IxW̸aT-&! Ha4Z3!2r,{jln'Q1~~dy}6B su{k !QفUպiuREL3j~2) R\My%KReWS(pbjYIk'meg+ϷoRMN g"P** uL~F9_{?6ͥ*efBxG±\vE Tq'J:\J!? +_E*VXKsdD{3ŦYrrփ$cEKgJ?M5B(シh}_en8;lXZnQ>jk̏+3g &V[Cw#.`:jFM|>;Fv qI "qFq<8[}1@fGm31Y}-̿ejrh~PI3xvYQ_VyC~FИPqT[,[:%W1QzЮ闊K*E#u2@e-sUSG=O Ij |Hm>sa |1aY`av<Nʶz7*-4 Jkx d߫~Ffl@3%^ V.w=#Gm"e.>"CcP,2&/FbQeEM∀ R""P$֊+T'h Gc3 ZWx̖HXYf|l(MNk9/3t\>ge@;Qbg  {J9[kGP:- G󕮗I㫭Mk?o {e@-Υ@w.YFډ_H,*O }otkeGbmzugwlX?o'^pMۄgcJG*_%+WʡG.ֈ.#Xu7 qP21"sTXo0o%"wPzxpZ\,\ q>7$w:Y+W4`"5W2T2:3pr&&g:%1 ~Dt3MmNj;\8!H|ШKH,l?LO%3u o|}хCsnD2YUl72stz_4]f m__'H A#ő΅=.Èt{ ;&$a`CYJ] G\ }?c0֡s! =T@@n[eURK?(<#[d1*K'fЕ&'C糸 3T⡹cz] FboaPӉ (jۛꪟffhp(G2NH|H|ſr qE!w`%9￁R%(MF7T΍F3)Ὺ6y*/܇C^-ImdыfWVKQ nWV*Z6q!A2F@WS=::ܫZ%`#W^IJ?;7wW G ˫0,pOLxB}V*lm4n:oF{W/~dۆEC_p7a&Pst}a۰XoE107lv_}#[Xpe !(u5plF64 huw`U(GQ/Uϱt b7" g7DH*r}WL SĻ[Wj*JA& AUt}TҁR|1|)Ii'1^i vE1G$SeY e;'v]buZ+KxtY3ݎ47q@^,>|%ŠdGIR=ye4u*uX4ydc)ma)?_ϟP0[6ދ%ʷr._4E9 w7zhJ= |JT"{:"=O<ϣ-K^{m'n zOd&F=$፤,| ? t| sJ=d!%V%"#oF<_܆%1vYem*Na|HtG;МLE$mۧ13,8]Gt%29jQ܇\܄5S*_+3 Pq q3TrjEA$}+s[ұњfh*퀮Fɲ#LT Da4 n2qRh~T˒s k\DzP`B/@}aZΎ\y-̭{o(l唭ubQ(ystrLvOo JhdJF?C+SsgRv%(h*8`@"`HOBK.>՝Z#,ѫ_X-*v.ϩA\޹P2s. ]4%'Cxx# ^NP0īiluL3{ =B'.c8܌zm[{XE58亁..w Q(d 9uÌIp`yYވ+1kSs3 [6d}3+9bcNK ',E>&'./On`A/^AOH!#G_|_B噄'`M y8 2 }r, 7>YF'2jϭ "pg՘ W?}nBhz2yL{6w@T:puoD.3_QosaVEÝH2(=!/V @:ռkk5K JySw$gzlf/y;n[ mI c[at|&C D6yC8yaJ-ʗHM?;'|K;ɠJ7i9}ݷe6yKy"T7{6I-d"sy#yΩ/dgaZhdxWX"Ӑݣ@lCK zumbV4S(WM#;+kL_0Nn|Z"u}1xM0RŠd+LP +i(>Fދcl}Aߤz|Po%~_:Ο?xZZV!Pb5)@W ߌHPʔƭv̼&wRʑn7Y2`Xṁ8Wў(Uh@˝Kͨ K`{ƒ爎M??w .duB L݉T{ ⤤s?ch0RgJ\B#PHAr-&˹|n Ƀs$v|lO,nO*9\`GF5Z4ɗcP`ï qxbi$jGonP@$R[e,a{8x,ְQJ8z{xf"-ӛ^lӞ:>;I4o9Ke?LzhFZkw=ǝxZ3`*ԝvcI VÂ/LmQVbRҘ<4[wrmR8 .(zH&%e*D  B8٘+{6ֆWv9!7O1'" 'BУl Hz}x3cTa/,1֦P?W#8t^-Y܂ef<ї 9Jvs ,ySOAA"wRM Ͳz)ψ&v/٨iSo!u\[lˍ>qr^΁5^..uqlQmfGmߒ,yvu[5M9zyMtHֈN>kY&"~.U[]6ŊpЀd|ױp+0#M]6 _܎3;>H:/+bbu]` *Fp-K⊞7vg#Ys7"}?X8edtr"L Dh:*`/7jcvA%q("NLe..TĈ>S܂vWܛK!Tf^DΔ $u0+RZyj3GHuj8nnB;6uhJ^5>&@ )44VlUm{i?t "uy@̚{j ɡkOG2}_ Nlzꍒjh|Ph%_FZkMؤ5կר/ ^“3ɩѷ>|O\l rN-(1/iOZGrh80J~^xu训7:mq QpG X)'a5םZC4Hi0..(1;0iit̜O }Ss}]?*OIU\ESiᾛ墉/6NH#{( e~L`^y*p*Y4ݧr0Z{7lwǿXזHH'q*&ܣS{U.Kf}UK>4 j˄ ^ 'cQThɉ`C9b&>v8#S2gSUk^%釪PLPYtSxѐ ޓSq < Q'BN~XZKCPU|D|zhXczi1Ҳ>|ުW]GtzQ}:h6&~e]3Wv ];S"V/lDxָ9Er%G ݾR+8֝8'jѝ1xN6&T㊎Rd&Z%XGnq'8z肎씭("u1R .L(fDxK,RY쪉:s5Qw3U/ mcY̔4^%$Kۍ0u|UM9daJmwaxR)v);ɝ)P4=rjo$֙q#ޚ[/F'9<^3PG"_blﻉ?)Ϸ˾'.g"?i\_]ЉdB; gonroLviR8F@,s"#%;|"[J{] Hc<{r]Iw~.">~:3r8nZ뾨.[t/r~<Ԙ'&(`p')ANa: xCtD$? TCG?)mLx\F]a2G" xD:!!ܲC#XF5|'~NƊXpELbcnknzB4,y)QTyIXk GdSQF0e. Ӻ [ٯb/g |Qw85A FQlEQ{rl2'+f)x[5ʙh`6?)2Lj8{vr۲5`w)Hnn9/ʉ&r(5WlПkj2nV,CDUңdj 3PggЪ82yw(PSr{4u_;zͳ䬕7B+˸-J-v˵GtbǠI8Rg@e%uiɸw_J•fWo9#ljwy79m[,pmF%v5j/YoB[>0N>5gaIƜmW%(, kLcN!h'S~/{[8E^&Ri{uc5 ǨP:+ h qRǨ_Q$=5ڢxA7)̅~+q ?5CC>٧7梬{15X楚腣Xxn+sl3>yݪ8Õ(K6f6 " .6BJ;7Qsr~*AwU`@ִ@;1oj2IҌB3CO2 [~V`,G=~,*wߵ'Xo/ ӹN M]:EK!E:E.(?|M70__=U'Ò'e\ D9y'Xv0n"V"H(>3K%΋-(I(V` Up + ?I}JBH~h;ڤR ] >+3H K P0TvFNUl*Xφ׌Y>pNa3 ]rTy~N%_VQ1 ̐ ?W|*: Y'ЌVO5]Y_)PW|{#bAQ-VnT(=J3eOYw:Z%byƩy͆Z;NoӍ2sz.E$Q2fgտEG|TT 5ȰSMjkg\)A\m~ "dmIPۯc2;98s_f<p-lٕהv~!уoϟq>̤ͭAmwP*CCWBQ]lGϒXe3(lF:nVGV"{R=vPe`/nFEڭ R4&4KQ9JC~j VGuTL' a}c/dk78%n7fkfۛ$(xGI=2@;nNf\F>h+je[tP)G=1CFLlš#|UYC#DǒK|\ԟz"{YgZ/=pp%CbVɨWc M)l)WF@ Q(%;f2Dń⥔FS ͽe'~܃ɾ4)Z[y`(c@)vu'[e?:dUƹeہ.B|U|C]\hK(*rXt7DX3R?Bf^/mq|*]УT yE†᳞%תЈLƷ`2<⺜HπTtBJ-Lu:֖XՀ+,=A]ݓ#Rj: B?E$G|? Wp6*;B(ŀGGCm9F8"!)\uM=4 ""' ˖ʢKs8u38coK=B?>'={0E\0C: :@ JKET#:݇zqeRi'aO<}Qk[ sm)i 2B.OAMqlYp;/^4??I&к:E,Yg uU`nk*?Ps&S;5mIx@xOHk^rh#&[q<T*GYT*QDɧ_OY_eQyCG苫5qxsTq=5‹!!1N?CzTWQc0NM0S5 4b\1iÚc<+mv_jAﷴ-4/p*ʓpe硘z0E9(\m%j%eh{TtWC\9,_[eXCcTi i?jւb6Be%~̥h9oǖ7+{ _J7f3@g qB~vw_ 3Oה'0:q&yywR栢i>(7^T84*Ĝee~ꭲ"< aiɄIC "drC?fo}Bƈt|;TNm }ZhaELa7o&5Pk%we|O>ܚ[)f)Pp(ha1 STM?ݐ׿'/<'ㇻn~ٽ׏@ (mL V!'kY#?[)*)giLMaXp=۲|F#m iФw{iX4 k~4>{%Iqwwҁ?߽>.)A yD^{潢dCDjGnfWzm>3.h kC(V*DI*ؘ3?%<| a:\T[y ›.Kԥ^~gϾۍBO{J\v?S|Rȉg=o1 ܊|Fj^: ( |_2%^,V9:ppf#'׊t2bb J0yG?mKȺB=_0? ƿw?.τ@#7f%s0ߢMDOE!:܃Jf`:ȵ8D…{t ddX{(b k17P74D>_&A/vtrh6Q"wklNZ7`kCy;).k^{&ƋY bf佳=ywp5irrdPG vmλƖ3Q=:Uoa]\g?%W&Uj S2v V+Z ZGlF쑮y?IL,J9\PnRm p6|$e?`O8DsQ)B3Uv8j_ {° '!Gv^;mS*;D8;y<ڿ^uܱvj7O]@65-͹=y>6܎"O :f_69Xf Gcq-UheGDv^:~8ӱ@z+VEG`!WJڌ-Ik,ZZ +sAMּǷ\'el}dPMʁ !x~L3 ,š,&P 5)N&"-& f։Eމ9U֔@%(9zA7 rO񓄵Hn[b%}I uQOi-&Dl}¨T045`VpL?m+1 rxY^A`=q84C0k߽MD"0DwBMk.iJ*ж+)p@E1&r]DŽnп &fr:ZPHv.xf} /{ 'Zʤ} 0Nk$|TJ?)."Qi+m;6]1.d].Oi"Eg)]Wa!)!-4>el `ڠӳGېYH P ,xSaƕ#!w':OebkR3F`7L.a,Z7lw)=ŭVaQꙐ 'cq{\Re1atA jr@{&z/C d `HqT UՊ)JW!֞MG`fx8F5*Nh}Ww)7~a><ƷIPd׎4 eˆ-9?a;j"Zhk3+]Iׄ}GNF*ӿ՚1 . s\ ^Ի-_rtƗT:qԔfX|9_a~Vz3 ss`*RΤi#B@h^WsMŲ:0}Y^'&? Ėjء><#lKg{k'gˆLr .AQ*G&&hTu6Sܥo Sjz!/$Ob2Z_^Χ++]햫u)7Й9 !k º-(-=g.ڦSҝXQ#]63s rF+ȡww\SETryW45t,jkqwwf/KsĆ:wH X9]J5mS5t>3bSN˜,ŜZ6*/"埣 GJvR-@X "] РY9w0v3 pяÿB@ _t=^z1zl+$׺r7u/>|[ 3 `|ݯ^݉:ȂvZ+ ($K4w;ƽN{d*Cd&u;m^EZ/iwhP!BJ=pp::cFVh>-(F8ڛv^ B :3.νMya\~zΌ-4rpHӅ&T:q ßt1(uy1FmR -g[="լS"h0/m u-cb` M|KTG*IG;hixH ̦PGԩv稒g>CӸvVittZ_(}0ʕx$ Hz^(_δT4 +>=߻E٦a --$!M\/Yr_N 2ݳ؁(G` Zg`UNOzR MH9 VPjBL=q31aWn˲3_}S #&VJ6` UJ0Lwͣ5}נ*BVCH"N/Q)9Mp9e["_iF}"4u 3ĦIT^@U7WNư  rmT 4'JKyaѣ@Md7ck֏9~1|u;-S_4鰢05th3ºȚtS |h2(>A70F4^ކuFuB)J@ۇr4k霅2,k->K|R꿶(,nS)9\)֏ w;|AWDDPtx... fz~ӆmSK15urNv T~ҿBk[Ob-?L|ӓX?p'Ъ@C%6K5MlPׅ3'R=jhߜ|[.?xHIɗ$sM/Z~},•7v/QS#`ٔL44,JHoDᱩ0k}cr?:v|QVw.B_ifޭYrd2JK1LVuz2rk-Xāb=*Ĵ kS <%v8jgFulwjT/;=nD r2#ځ5=@ 7z^g|6Wh9ie6\%߾woQn?!WnTBU=fd-lUЉቨu/yGc.>=N%Zdx>ib{l ൲Xc$B>3W"{|b݃*'cyӍ AG|6a!eti_X:-yd8oseBRM:j FCgͷdxFP-.Γ3(:0Cϻ=Rb}|>'p7hZ~/]|,p.`.ۘ=؜+eׯ$gh"l3QC((!m/ñEa<6oLu$ܚtH;}5OBf'ƥ6ޟrT[*^+m،zI/J/M#B=.TCsșp6#r$CÑ 193$EFّ/>X{ ;uYzaJ Z+^6X O>D ru,8i% #:?t̊MTW4"8c- w8j +pge,SO-}=r 7Z~V#ȌK$(@} JaӀNjv漺a%|yEjeGQJ-L$D H{R_K?xLko)TN[e^^]JTyթK:R;Ɂsdz#s]y% fً'2Wd"Ts^WՃN-tN B~r3"=/)Rp޹ R#e0J~7Km ˥(^b? lI>*>,[)F <%{ ¦1@swAKѬh4Ȟ}yw1H)4(UAr>})hm1uAƀBY; N#VY6F[E+2#f@9y>w#b4L&c7Qǩ{S9%~3ڍt8E~8ߘqv,\Ƀq{ࣼ\h ;[a-yZ*bc4Y- ; L`˹sQj'-WQ{3_?R\?X+9ؐq$;%=x8H 2M@ T #g?w_88!jE>MI E'iC4s(W>gKբ~Qa,cv~$9 䴢0hgpɑ vCn)f3"C61]j햂)&جzHr 'ss6R21utS; d!,b/ p帪t I(׺ϲS~?R.hLіY-Z)+|t ^/W&ͩ {c\ RƽWR~8@FT?/w wؕ*oܘ\,ytR&AsW =a`Q罨ã.}.( +sWE )P M5R$MB-SByr: ȍҞH OH?0 rC%uV,;0ghXe[S-5=q/ݖI>(vK]İ&bk}' (W#ि!zL64y%{YC0ڃ5e5 RU|aޗk˭:dK[g!k6sz37z/6b 9o@^9N"r0T;uTwۨ2]R79c\ Ԕٝ]Q- .Ñz)#a.~I4>]tJ=w)?X[1 m!c (.PziL<`aR5(c6 >6`𥦤HBS3BwI&=8:&x“oɱO|19fyd2L3ͫ9X5Xiowd'PWãT>_aϽ3kl5dy3.)}m]0P؏j܁8pje$- ##SS^=Hw&Y繓s 8 kM64XAkSHp D&HS8|C#I__ p'[@++|f=r%&͂T*Gx?$ .&">5( ~2_}y+Ot)0:GU!ڐF<ߨ&Lpeƅo'eK^ *0|0n,^RĩpOz^A _ҢI2}<(Т&"̶dmF vuJ\leEhSLl1!mǐ9etdN,]늡Ls\G!>MQIϜipHޛiZe; 0ߢA RQIbx% =cw(V > 1B{.8\^<a'Ț4`Dg~lr-k8و%*C*{ X+-BlɲBI\7^Zjf"ʆ។~;P}YY- [VYGMY1B߬oZI3P脘-ML/LW*~LM.K^T9k$e9X kŌ7~K2a(s.`:GFYǩ $MSGg5W 0C;| {[|*~skK˛"rj:-C##~hw&Ѻ$`饑73: /unFh#?kv{n[=R|yEp# 0_t3HNpP \Пy2:U~IMk4 V^N nhhpԟ0TT]p?s2W5?\|Jx9U-$<!^ ׿OW#A+hYefZgba8zy<ȡCw(}Rp^v >g!*߉!LUSoOՅv|ķyUÓ6n[(dh_7[6VX}RKMxxBx= eO,.~/-U](}|[w@C|G;(V 6!CTJ ~2مLtCT<[ˀSi:iT06]9;;oàkdܡL)^ Qg촿!vF~4QdHy\oC^W7ekqd{w(/ ~ G884D$P\O QkҀf6q%2MR&EI^N08wu@V/ ¬ϸI!`6n=>s@una !/c{ !MGpg#{4wpw<^Vz? :M1-l&#*%S;T">Ç}B ߜʑl,ey ߂a99SE-TLZL_&G4|lf 9I{WdK]3wgXM^LURu+F+Ml?5TGKxe>K+F+M5YRqNu!kTc4Ͼ!@ cSqGPBA/ +lիû蠧f)ن`4,^6H_ŰO|C]3<;rb;_F]s1X 5Mc0s8^nrYwtW1@QoZlH4GtGcF˺oN dikyM^۔YMtlq$/6qT FI?G2%=XҾ493͐v &K*3Yƭء|j֝- ]~8 b_>7'*ȯ.: fJ:4®s Ta[8ZdӔP,%/On~PXAG`6Z2O⡒1OǬ.%P=hF&Fϲ%_;tnAvҭ_Ho~4@{ĺki2OD9Wy+iNY;<]%!v%ЀD6'T`V{axnrl3j|リ30#KӐa,7wmN xe 뷰=\A 䛋QZ ZF\b/ȧU g&v*4*#ߒGIH0:GMHp|i8?;3&_0 b~_:j|&}.|AڼHiCH)V%,U@mZS&8َ2? Mt1 A|ӳV egK*R g qq&5-go2 ?y5Lu02UřeN֞h7]/rA9!_^B SΆ;Sf2ve7ַ#3<>wt8YuH8OR_o&`#n,' g=쎇fc[hx&R<1b0誟w|A C)w $cc5ELXms|1PJ`Ax'M;lMpDJr`ؙ9^BL םVm)+a;,wʎo((ƒt(e8 fmC(s0_;7%@= I~bÄKEУpnсGAQW']?2 )xJ `3¥~X/OF2KB&iDAiZ d{>b>~8t #sRs?uNbӴKOKLʙR0 nf%K:x@5-H2F~Sԇ ;B[$˫6;K8~)׃M^AHjZT_WX?A`TZ4"n jr]rv{ },C|5$Vo'5a7[,«RQ# !|T0(\=XZTy5n|Isk\{6l(ȉ™gcRYNĹsWv{Okm,Sݒ_d6xGyZ*}!dHb:ۗg/=UDmRRGt݀h9 q_rF}϶߽Z>e1}Vh +ʱp_e0=G]VکJێO>{?2ȫ\CbWxDsIZ/ItyxRYrD#LbTEGeI6VC{y#SjL]C]ʶ-TԒ]\㌵Җ#Gq7?m9^8/WM7uH{qWdJ); XNRx̽BoKs3J {P"C]"P\T*3(TW @+ -l__з=وf0v0Na y;sDex|Y]nU֤)0ӣRtW֦#Ri ۠ayGR/TLAK 8hf5{*q?qȅ#SB8ZA.y|qHRz>x( _Fn?e8dZxG?n~M]_ %:?N`d*qJR̔7 m.FK;376_h|:BLb8 H< *Kʩ.Elu|[.uM;7~73|-t\ r>}/ cmqxحrȟ 5) Η5DKRKzܕ/#my#Hᅦ\NrA7dA5`͢%,l~G:hz D[n2?<*s^7|qJqk32PknP_WwoMٛ0pa1҈7iE?{F`Hgj$Dž;JzW/ZkIĬ\/ 0U<Tv5TQLoaX(E Ո[x[G' f)lqg@T,FםVD {lD7p;m6w'x˴,,4F/ wײowɝ?}fsmϱGp7^|nZn:.ƒ\\г3,O)h[7^l05ᐸ`() <ü7WO\yUеϤq-_żIvl4kV]k^^V-#$0?|0\HB۬ "(Tg=`zM!*nO˟Nqu Z7gFD:K'~1pWݟnk7bZ>FJ$oHN2Ma֥ڍh_4LY18 @zmu${#U>1'.`bqAZ(IyhwzwA*q 7~*MGʊz~$GqrE{<~ffPj96a}]Lb`|Prۮ,)8i.8 ݐswЕ5ܒ;^0$CX $psS&7"͇ͻ~QfkC&Iq;H'叫HYRMO#2yWPCdz\~l唹=%frz|w؟/ʜC AKa@K&D)CB_.5-o&!m^6_V"-/$WGvt& MAn)O x}[@.*m z5]!}lzWi搛. 6T?I38k)y]E!`u¤X"!h?;m^f4"ߢU>q3 B X3Nug\==R Fko {tADV̜&lY7|η pPw-"ůwʗqM2nU?Х6XA"C1>>m8E^W,%Ts1XR k[MNGr`7KVq2CQuڢȰl86)~ګ6+9` @nnhna5͜k7oVbW/+zka?&TrW*0yx$8Ku 1 g4ٕ{wXJ$.}@z|i2dqSCcO/sR#rYA[G{*3sn9-asό@Lw_^~O˟ _E+6CcxF,3y ]EktV!Xw#q[7(2AA A1 SWhNosMTj?mUu{!ʛ`lwӼ܎.`;o#u _R.g~} hcA4q:~lV<_o!C?{ 95S5h~54oMHٷnW7/}>-zudK**uYseA8tt<*jo3=gQd`;4TnR[h.ԉ$bm$?.+EgAhDtl %k % 4TzEdD%NWLoϒNJZ|gFi2;7LNEMZq )R[D>%ǁD)~&!;ڲ @,w_}䩿 Rӊ_ gUǏ [E)ܶkdC]*T|}†֟0\k{I`#EvJVǞyD:Ro+c|]"/Iv(dU=Ss(* w፨E;rT軌u\c~(|yҴLKpWb^O|IXM7̑ u`2p0 Š@1i:yY1r tRFP3::n|lnh}cSj2pGj;K#cC5G;R =aug!!G"182#6>OGU Q7s%7gXc?V-'nNۺ1@w2_6 e,ADZu R؄ ٫td`M|E~.?^qr[=66?w~[sNɴb/D<oSa0%ӐA8ˊ.b^Sjn2JOwsߡm'h9`7t(lxCoa*sh AD֬'@J^6A3 3 z Jd;aٹ$1G|3B8r S2kܯXX'_=CX ?EleTޓ/vmBU͔ Ơqٖߗ ;wJiΏV0SfX$0ƹƂ|K=b7L&CeX&O mFn4G5LNE7h&!Ixj`d$q+27A*%~ф.椴W>ڈa/DSQSprŐUOuq w߁.>"++*YbLigkHj]֌C=/ˇCMnh%~pp繀nce O VNRYR6? K$qgqwF2kc.o#s382x\eL yƋkBS}QPS?TT;2/.Vd CNҪyl'SC࿋(ە{uB}{w5S]w_e1籾=W5() \ΰ윱3~iTZM 젬uHg|+\P-8yOn~7i޿(FvJt?"<{' YsVa<2>Q} 3I;B.:0/bsMN&&Z"$j OOSъ?A_?MpI$钿v^}4TOҚ_5§3".ꇾk^O 2Y65H ön$~]D!0:\e 4Gf=X;>kej!gy7PH疽a>Q/ind6>fDW=o,_s%BIee_[&ͽdN'7#tAT(gM% [ll^"Ԓ4i\xƈQ~$1-M'-H`#UB([o7 a7F7r00ӳzWLygS%` ч*6V!X̳-7,3Rj3<fh4b!'pAztKUi8t,%;=&@asE2L*J(tP̑1 Tǩ^5BحloDG}dJueTK aY(-u`6 XzYLJ8-keΥjȝ=p a`qMQ!&zɁ 3!?ڣS۰@&Ig90>Hk۽s`e,} 6wS O=w;dӆ&0]_~kP;!-Ǜ4ihֲC'Qҕ-R:+!ls"/tm ?]5g(M/Zj>҂ !/Em ̯m4dh?iIp?o >g@UE`D|z9,I YTOpkj lsS!(842=_!=)s]v [#-BCf1hW07 c}ZG?c谯wi.M čMSm!;}ďkjJG Ȳ 1E prOe╒NjodxK͔jA_[@X :( o ? B koAfƃվf_؃DVzKHaO7H$WH-­kqXDoC&.Z;W?I4}u" r"M9@@uGnY9DOtMnG1ZQ ?L(b$m_[&]eTGn/èe4X4cq:oyrBvo ~ZNƒ|q>gHRLm5lY ):s/0vWq不 AJ2{el[!]M}C B /L.J-f~~o*q7fuYc EdaCA;Ob_CS McqGi_O_](C鲊gx,8CdF_IAw\ aCaku9@a)~5uOE9mI2|C՝f3xj)E%<)7_ 4Lm$r*yuۃELj Cta##k);( UcӸk;vW? +jn&쟴{4_3RWaJҌQ}be ; n%91Si]$0PhR4}SA4)PqKI6}rҽ-y `v ĞzK@TXi%u`2랎d5l(`aMb?ELxk>_]mQ'r&ޅd+r"|\ $~h&g9+ +( 2by2JD{s-['g|YhN2q^DĹۚyݶH0TPK|&hY_R B99EŗC[`%"`0CZio20j9Kݜ(jrp7Z_d~׫~W/taF׺'2]:ċk0O'/Eg~ -3H;=E׻#• ^nlvl!oL#4dbPNy<'yqg-1#4-w_U,рe#PP|/,(gTn.~&1/b卽QՌG ɲ#ߩF|n:VxWYM8*Nj΄˟0M bz?)M|%M9L{"i>G[Ǐj 25]&NHC!G HҢ7Q_ V' XvmVPh2)L?V}xkKr~ CMS^r\S/KF0éq րh'o0)=] - 5QlD*O@Κ^~]OqG9CX/T; c&l~ }S&ykgϘ P3ǧ8  >O!,P{쩤G=V޵o.r,],4)ָ4`Sb|$sU75z A[//%<>4/Ԩ{%cT1PW=+k+rgiuYrk#Pcf^ނmJ_sAٚqt_]}'p½ydnގZ#W4_-@ D͔X:$g%TYncbẒ*.Ng-G#ZEdK;snSV_A |Q7#즑 {E05S=4fJ#޽( =%G݃EH`]VS#?9xzNHL;tR<O7Zv]Xs)z96;˺8osT=TÅT?z "p~ý?\QPT |i Q%@77C5qs)Њ~S80#GK|?Pԕ?MKigd.u\NQ[3[g ߹3 zW8rW=G.[ dLxa0)ȤQwӠiĽ(tqIUѾ%lUV`w$ɽ ܯ)61_+\^aAC0ZLh>gd3;YaݣIp|+cuÐ?w"L)E@S-'+V 0~@8(|?Ş [HD$qoyұ%4gٿicOeT%Iq7a#moqhSe?b}fwAJXk[MN\05gypPǩ#n^;'jM\kEٵQ%ZԩXwk%sbB;'c1ތ}b[Fr8`uD\:6:Yw2t0?)=QL~HO<8mqR)~2a?+kςZ,Or :: < HNNJ쮍qٹsD`mEZ)DҤ 6YVrD-LfM܅#k=㨗Y7ct{{׬6S=9Tkܵdዓ;1/ذD ^L0]&(Gs]{wfoLL0 y% V}XY#Gvf>%r;097{_WH>J .0q=${>դ̤3Ld؋3PL՛GG51FQu6>:uݧxL#3*zfzWb9jҶ>ʧe҃z띊rC Hozi-nH@W5nD4`wۓl>`|ù27ǚ!;7po NkðOQ&$I| F>uסv7uk+o0_ߺ씐-clGe9]UA|15f5x/Վ=QqR cQ\Z7Z>hW :_n2[yPColF?;,Tab&hƠbqT.5U m#g+#o"Oo%# 4CW КR;8d 6TwI+׹wĔ+ XdL 7)s6J],%Yi\)=)NLT "-mE"Qѝ>(K)w5~T7C.}ˎ|vOlx+Rv}s3F`kWw6bSGh?>WܨW\pћh,m6K ,k~|& U"e3~XQ"IݶWPo\MY}ȪfcӠa?o~sӋ_T?" 2roU!_eɦK[Y< S~oj>R/2'3C]xoӡK{\p%j9~/s?$|䯬p,ٛ#n(hLt}-cJgD_}1GcR4w~`APhP?pJ1GyU_GȐ;‚9,oz!i7uBn<`"n4pG{('ϿL~T;It>I#Oߡ?%~0F/S4.VvU/r}"Ϳ=@`??>|g/;LUQ/gaO|=Ss_ʱɟ ]gBG~6t/C(o]~GU]&] _̫yg&G~j2/ϻFCs)u_p WA?AE{ p3qe?+qB|e_=sG' {'$9ĉO_ ۻ)e+`OG({ d'Wo7AVq[ qIt׌xՅ@?sofL3FL'2f߹DiQq~ܧkia_GlG[o>27M9__~ÑF)L4N+kyl_)^ HNptV4@:eW׻˩J֥_{ ?WĿ]~g?'?At a cM$? e,6fB6cu=?6i׍o 3cYcK (UN )2 |3{{ܯyf{Hˤ,_0lIO2>ƶctKl1Lj 3Πk ltbA@?.P7s{%Fjv>b ?9J$B$OHP,1 N(nSO2xhY9.vfQYo$>!B>}b~p D\r2s@rqa:'xi)%^bnť#wO(&~?,M+E@O1sIjSY'"wBk;Dޡh =|)]~s"41^B֭ۙ¯A6 Y)迷v!`X\LJ@O6r UMII<8UXk~ΰ!Y0x}zDOVzzʈx=-uJX$^/ávti%*ʸ{˼s׵#zUVMZ. f|JTYB_~䪸zR$rfX/v+{ fa~CdIGމO:x]:~u%.6@IVDPY-*7bV7`ߚD&@է?{Q-޷t;L|\_Ƽ1, 9lD .h) kӜU "Ĺ-Ga[F1k-l$K8xqDlY?&7&scئh*+VuV Jѭr۷z2 vϲjaS=zvF\ߤĥ=xp ALn{C!"yjvepkG܇UDa\2pt%}^XFz^bug&\nu>Dwt3/6}~~ B|nސ q>`|6KfC&l?oaugئl^A Sl sdV0[>CX˖KG_f!öSP,o VG]l_ʫ}*S>51& Nz?a yԙ|b,savKj!^`]J{e%K7s rM/;" kwH捿c}F[Fу#.St(C+ى7X/"/kթ{O |)L;R#\ax rnz2lKrMshq1syʶR,][ex Ȋm-D  X $X7nt#Ӓ._bwN_(X378o5Ù?e+RB(A=/{Vˀ.TV}6nG* ,o %kR8qf7zq/Aڷ4o.L_uː'qxk&ϓ/K@LroיOc³@Ϛ a0P'b}UM[x6a nty*sPR<@Z ݘVŏlzxf iSmMSǞX"^D>^F<"'vg>," n/=|ǧRu>mS}U]tm\-P~z>jWoW]$@DZ^yN 4oR d@[GXGҠeo6U)J]35iBs]U#Xs ż(ۍ\xwxJ;h~9 (/}SDEZ@{bt2$}/DܖcQYAkI86)+xu;( Pނ["\Tw+s)b1V40Y%.dLmEfޗ15G^"f;wT= 5̾0$ zPm^Cv /`w_>(d[=)T=5ex|.:'Ӑ61D`;ʚ aR ^ZJdyʎdwrX#&|7n%F;n7Q!\GRSۮN2Ks&8 rZ{Ҝ`KL C_M_R'.ju &Ri_`NTdcdPXֻBǢìhUW)*f(E|-鋷n)kR#ngY p5`IdȽBx4g%ҳnB%r0P걋3#=О iO-a!úA^{ʺr[6i=w&(:N0jaL< ]9F*3O!>cMZT"Qًx_K3"+Nl1dH}W$-w4t!7{-cсL8~Nȏf nEz0ׂIqck`eQ*`o|2/3 LŶl}u!H/HzMG 5o)A'{p/kX kJ e:a$֫غ>]½BpA꫖3_B,n\89pl.v\Ldw aMXNSӀ 8 u?~!.6wutOND=C63?Ґ㹞-Rӎc# _;=8wvs^/ \VœT4/m>PznSmꁺz1Gjof~kQ><:Bsr4 2KđOn!=#>?/Ʃ'+ߺCZh+1]=EMm{A$ggSqP[H8mn-`Z`w/kxT|?R[şSRpޥ'i\:?c䙗҉QS!/&"L;-HX/ $S")no>Aup ނΧ.a H+UCWF&i2Qp|䢦DkrHELJ[^ #^M[!.ո; :5`r30m")&]EE*rqp\K(XX W/ʹqntuZK7xa/6Þ$LqQ_ABL=ah!(ob>5N}m'"a@ÖmЊuEe%( u/WnքZT6c4ܕ/ mCSg/Yz!H;YKϓ#Y_E#Ű*? %1bmZ~C a {y" 0i Knm8l9c$bE+ӍJdn8<|95. )6y`pϗF~w{N=9ho~zx9n 6N4f6΅ g$>~^r9K̞) տDLeM: F>u0vK)ِbʢԊMez ˨ O=6 DWy w",PN6z T qo#*~/쐷AMI)2rcPЊ.E/K ;gL;_Rma~?Q8r2GПϽGdw#"] "F#MQܔw^A K05Z~%+4*KBړ磖wͺ7;IFu';{yѝA8!5Opx>@ b@\S~5ad#o浠M#7,mz52i iZ/(lWYo`ț޸"zsK5} c0E&[~(m&#^C& ,1F;om+I`Q`HQ1f.{Dojў'|tke|eM a|-e|M'b)2\c NUu5v{[䳻rzˈm{[;ʑzE|C?%=8#^|3À[xA& ŕFدim5Ss_dHeȘ|1q֑&Ix=wWScpMM@MQ~cEx\9m :'n'XKH^,禮 §< nn203*ᡅH.}Q>R=Pown\j+b:ƺ7ӴMY:5fbiHJ/3fTC$p Mj60%#~sy,MҔa9FZKz3k]_F]_`nHJϠ10q3m8<'fv} +C6QrO"TY#:"3 :YB#̅ ?M4敷.@Sx!ѠBw_.l 7V=tş63z^,H:D:XV-aW^qwgHt@ZH; L /N ;YHfR|̟bfJE!}(Zj[e[!emVf#C aYËGnMnpF[>ǂ 52˶IN>g)aD1v)*5}0WwrBK1C_֒`Ƽ]g[Sveٷ|RI7n᭹25) 2eQ#g|d`/{c?LpX@*Wiұ{œ #)d&|bXDk@%f$B&!1k  [Wy++ٳ{sl'|ȯq.0sZ]a{q)tDo>-RrW Nb9Z@NHhcw3 p.'isHL@ Bs%H!QPz `$9…ڷN/s&bgVȜVxuu Ƒ3k]qٶ݁i gTjO:B4.sq6uO'|hY_g(/Uth6ɖ[8KI8VFֳ 1؞vϙ[Zψvy"] DZA}0;jUeq2vH3~՝(O3՟8A^'LFzoz6m(5*$UZYٙm)=x,D $5ipO%9v]a=tAu:lӜ&O^)+-g20P4:Qg|rq VӚ[-jWLmh_˜[@O5M6BSaKY0r(six4j'X\SmuKR_9,JŦׅ϶͎g.h7or(+ %9h0:rΙ_f-fgt9F _&L@"|(p7"joN i(fޘM/AWҾ1Cz}?*Аt/{q-w {.$!nuGZ0IIQ'Zw:3>,},LϻE\u9{?8tFKObfťAe֋^CasL$ 7![%3:X_?K,{Wɘق>̏ &`6ƈ˖:,x#( {WkX9o %_ylRzH*]G%AE5%Y>.zeB7O9W.)ڟPX+y8w7sZ_(`=LHKi=+&{oH^CVh43zZ-焣:4rd3SO±7sņs&Ak)aYBTsm]1_ ^\dk WL&5pL57P)dq;-Y~RIJU(*gP( /}jp#E&( gVh.oo;8_!o!W l8x5ԨjU.ipY%Y_c6A rE[J@N2gug OqNMۚfe BCև@hw[P_p$ۂ6 Eef93]wm-4D 6j(e=1Z[\zOo۫Z2k5ήG068J }h!c*-ux!Z ܫh}puqJy/1IɆO(<FlMaywBLf$݂z9NŒ"6JW :Dƣp9?MLqT.j.UX#g6!^[fs/%xJba#_ eJSZ WyYۘ%O8>dwFnx搶wf}(ym)e}ɩVbmH~R;6D_%?3 6q+G]qȘ4) ֧@%pg&|\ "R:kvTΈ0Wr) hP 3u-ټ$5Q &;*|"׶ 'Ri9CeƖ?~ 74hpnWK]dq }cGyi4B dYbP6:-2IY*dI=,yiK>~롮*#3r? %6R:S@߸<Ҍ}n*h"l>Н$xsPp :iԛTܒu8+J>%u# *)!B @L{R5NQ^s{]{U1h i5jfGQgy[$?$t7CA(o4CYp O; 2w6*DΖہNm0G;*$~ L9 t7ۉZHշt=헕)VLԵ@C,H;y&^ ƀNrj/AVU Dүm7_.A&(k8:,NK&IcI%Ɯ(7<2= $,Ů/Gwx& Sól|=u1_n|`L&"Ÿ?v\Wu%2WNjAeß>IVCecԽ6`8~nf(Gg{>dlM)fTu<<^z(L:}θR2E 8CWr!QE84jkUC9Ia~|=~wr'r`QL+F3h$@O\kr<^vmͶﲔԽ#EΓܽ?g/cooV |g*WroS!NZF7:X(xgUEWOgB¿b$$>Z(vM4:bS]1Z[#c@dp ZqbvY?S3'g_mTXU^_^2E̿#5p?V"=ԾOik 2=BAd_" WK'X<k"#(xc!K`8/m\?y6 g(E[y1qŮcT&"4SHf3T~Onx ± a=uVj=^i .)8;3Ke8O)=\=mrӰ*03/x?"P}#@)?#Aa f+>;N v19>ز,[( rFO׃/#ȇcb!N|-KhC/UVο[=y0L}ǧf|*[H)]r55ia}3aWG{οўsoYaҿZ}7b٦=>[qOtTvodv}1>>rsmIҏ."Iyϫr#9sц'0oR2KHo>xQm@^bé( oqtO"l59_oBs>L  # ƶqʭ-@'O1G f?N-Vb6f= y*FgQ'yu*L;M8OZ{FtzI80ak;C:qM$ \1ΤN&Bo7$}Z(+<|gz* E{ IflcF$GuuUϗJmyo+-BMD勀jN9g,IY̷h)=O `K\-oHCnC Fػ~s K y;a\HA`$l6&G H0go@ 5ww_o"pƃ2/oA1(cNl\Fv?3*j6rR_ Z%϶nꪓpYOб>h('".e)1OgA3(4j'$0KM`@E O*1Cx>"+HjJ10~3ޮK(TփM>M4\$>ĭHa3-L{O+ Ha?Pt q2ܵ pvpLFd CNն$.EcpW3-K3X4Y:Zjz m`U#ߠ[ ?\n_3\[|th:7QJ O$BڱQa[b70%2%l6Q޽@:]<WPj֨^P#8vUTӤuė%1e^P@mgHExq^/KR!o!Jx#$ƂKw©M/ %;̶ќ0!JVi6rZ8Fޜ|OEؠ*M%^A%gaEWB~Czm=CNבxEp|*8C-ѹjw3QY%1[8>wRorQa;ri~\4~a#J,!FQ1 o$\]b~@lǒ#WٲeyWr.\^ vMҾsjpY iNqwH3DbfiIO.kf&шbr͌c{k::Vbn]Fŀ}<9\ϨzŲ"?(ٟ1v3m7}& M TGY~Gㄱ\11c5'~3u˛Ie˃ŒZ A'ۓg-g{_3ir±XdoW|zyYhvZ$&awE 9C䜑ߦrA#r lT|iFŸVA&7o<ŀ"RP r1wv㡋p a^x8x4˕3 }I6F5K<Q'5 0^)ҀGj)~hwxM '<`  !Cu;eփ!9$k5J'?ݼkW0=|VҶ'^4\(+d'UkNoe/Xffv=>])IK:˫PaW: LWj22I}?D;#˔O?V2}l-+s$`^ep(7!rnV}G rcU~&_afrlk)q3 {6;((ye 0-$.4?T'}͠S41 $5*ex%wnPE50׬G% K ,T` T Ikן)5P*'&K^gyp^A/{\H M+nf'%VcGզ Fmwf,Klc{go<b6틔d!7.l$Xl%6dkw?X2 ^]`F>2w -w,̝Lk%+9+DmNss޴'H93/#TwVK Fưsit§6ojT!B)s"N l-/Oq%w^n^XCeqѝ_wozsTHmɲR5D.gpUYšb~d,%e5X#Q&CR1k"bҳ,p+'b8M?K%G\=#~\}gHJKJ^TɇV'Ys" { ":x=(nJ<­~LJi|r-{{-yHS+WqE7N$yPd:;rGuI Cu(\kg[9$X]C}pC<ĸ({Cmqj[2><۟QLsX]LORK\,'TzxgoS/rڮǀ}{*%RIC'0|R+ǽ}Rj}\Xt_#q`rCe"j___nz`(<2xOOVbYx ,"c#Xm7ÅF| u#8QhCKt []V*>cLPRN(:`YQ+0OK^|c(SIV% ODSBP# 藹cb\~ȉ slQGyDz,- x34z cўO8kW[;>"/a<{ T,EM}~^e|682-yzP\_7oVtCoBO" Ht Kȵ0] fӥGc?xGPyzAlAdaaa'ESk/e|$T+ֻ:,qW``|<k++I2 K4D60]BaVnҋsi\^!A VbB.+˹bTn')D+o^Pܛhǭ[yـÁ*yl? !ݒ)ȉ (||G:)WmNbrHůCx-ݵghQ:8ZoOv#xӡ|9d2VLyL$KMƃ4QzI>kxUWP٧sX8 @G}t6Ʒ~]Dl`2 rrg`T&w*eX[%_FY?JV]OYۗ;M. hA4)MϳqF}m01R&pQi}=A{>Hm}O1?䃧rkV4k[6mqӛs,h/`>v_H㭸Ԉ=q$L|C6R/s~(k/in5$UϏ@"+G ={ӯIc韑:'FЦOT7cTmi^o*X2C f1v .7ДѫF(_a@JׂGtv/sq-j&X ݕo;-`CYES0b ҸMg]mP|?NU A~;lO3{9+6mŅ=+]y{ϑqMJMi xJہ@+PzaH'jL/!Y60@p әGC($N>&!Mk*E4?oTxf=bw-hX_Sh xlCi"͓#@w#&Pn(G}a{ yovQ01H!=9CA?o(XoG22Cs&x]KuQ-'}=z.L/]zdwc!/r~&KT֥1׾6L/G_!b;g_"#磖<>&Z]sL/Պ7a#cvܼuAT7KN$N%s~ߴ8F=s".2:xb]_sh淩F`LʄvÈxtZCqf>eNL}B'dY?COw/ @'لPQȽTz|[M<[v2sKJ7N⑾ +Ӣ(Ǣ{!S3^/g6Z $ìw܄,al~NB>ddic0xXGmA6hc2B36=%11"Fٶ\~ˍ@ȗƏˆ.77O,Yjoi|O ~u _k-ck ?C#ǰ i|j) AwP! D<إdugpGFNT(neڦO$]+U^"i RKCR*h^8},N^mAEIV`)>>XiG6dR>k:Nڠ'ՊYI_/2WJ|*s{&NAhxTWLZDXw\Fq- HQԜ$@عOzBS䟍xo)U!\TP/0E۰xěT/Da'ϴz(К6"//Q[ݙհ؞ɤ96[J,]:~~rxȫ&flXl}6͏ج œ?T 7y,&v;j!E߸TT}@_E0#xmИ I(#tXq|E=;b|=CH' rWu(ݹ^8uռZүQډ±沪_ $d&Ai~_S< GjGğ*Ӫx#ypI(EbF,8Vf_R5tcµ{Aૣyk RDVޒ3O-:"0 Ee$i!Ǝ>}IK 6"z߻6O'c3Wrǯ0O7^5Vc_J񧫆iJ"! hqIGٻo[QBS˃IyI8 q ) Ѯwǹw/>^vj%fcᅪo \=6GX0oxаMzA.tϼpA%&V'.$xRe;!tqң\S8]46 ,oL'bo\(/B|}HܡvC1u擑Q7*768jx~yFWIǖ َp&PJ})6Z&1j'i! }'P@y;gg e0m NvP&.5 V0eewTjKohqOҩApM?@OS¶ bp.& ָ;~ @4ѯS${nk#8H6'a]{r;>YF/%?1H<@Lz[n/_g4IKp&ǹSJ*zKK"Шsos.2!E}Q{E5#kBr}#GDysl*͜ ×dFꞼyˣމ+xᇅHxޒ.%w }†.7S<yE̷.済x0 o?FA-<-ZF#/9IJQǶGN{'n ?^ЗF%{:Jݖ6)%6sS+$%WS4_aI= ߥ =d!zÑ(9Gϗ~-{W- j:l{eXx\tߐh|*eݑUn/0b&/&0If0+b aJ]Zo0 |-n?螿(_䪱9- udaYm rnrY$6a6ۈK 2X(qՂ mKQIIJ 졘f-dZ K+brFB tIQ) X:ZM9IKs7QɎFsy2ץA!QPLhjemX9Dia V.Q95VOiIP[;+K"It T^Vɻh]T| P2~4,^}r)͇mqF|3bP 5t2ؿE3o߲ AtrKXxIP%$ 7Qg%`FG[XP>8$N$A⍌gO3^ߍٽu7SvCzÙŻA}&W\k3Tϥn|nĐJmQBE t/)TL"KhoguJwPNblt7hDp(h t?dCJ @<_c@Vxۼqm`=f HG H&;l$bv Rʥ\Jݨ'¤оtun_'_TEvěef '$jJsN[hq|Gp]` fw?f՝@]!ݧ0LCd8 &"WN0vk\'x'dICyDy>v苍K鐠śB[HaP7عB1 xa)*VDTfq*'f)Y ee4U23!]z1,r AɌ~6OYEA]Y͟by NFOe>$Y ȸ>hn.-qC+ ҉j*'?S-݇ {.@W55(܆8ZZ/cb-ϫR A9ʛbrڟg,AJaͬ@F6r.|[IQVonݰ̞rBKt['I7 ΄ 0jTF]:'$!Xg[}BAQz EO d;y =FvUFiz\L8]ӎt{_?!aT{\'Q+~-{EwûoL?z ?F0 9F'yvOX&'KZ{QQpǨE}"5! )^AέɇhTܯ/xe +Q q N,(UCL71#0[HURa).!?ٸyvˈi5F*ZƜҙֈVce~j!oz!VԞ%%HDž{ "S|)+nΝ҆WPq1p|F*F[gͲ]`8,&~R[n8^a @>ۛg9\t࿐26A5=QwM5#?Q(޲uu}{ dƉ'=M΅EaO⸍#Iy ݰ-Ź7UJyS9 '2 @'='o_,>WWP.P9W*؜)m8A0HJz&aתߛ8H_595/M*+D\`T§ݕEk`dEV_&=0n^4hZ9I)HkCj>o9zoZZRCwږ8ODD*ka8玨6/7Ql+f94~^{E1NW`Sl1Y`LuxH݊#'uMK^x&lT4;/mQh,G%{bک~rlO j_3p Dyl hn uq7!̃ĈRC<-W_< 6:Jπ-d8>w&rsaO^Un1\杓LU* qpB[{9[P2#ɞrac/(  XuJwR*3m >ӹ50/?WY|ܪl"aFMu>FHhʜ)yd5m2RZ(RuQM[By\#ry+ NNGEgg|U$DrWH`BGAW>.Orh*G;rE(/zHZy}@>c">Up2L~314<ְ8 gYN:g6-_Y;vJ"3Ыs;ck#vNCgɁ|nu} ķ2pq"Q3 .p;7篇&|_|Zst,H15}5@soQNt(a3F i ݡH߯Pnඒ"hKemWqLY¹E/oĜMʃނ|,b Ѹ\ ܘ󻅿/0UYԾum ?jĞ~٥MA;8WQF+W*"dVQ-em5֟e3v8B|"DqO E;~Ig0!4WOP<I.-qM?@ L@^aGXk '+С Ql31h@8mT2 ,:AD#N#ڟS)A$~Sjfg$dgo Ļ"ejܿ1.XÔ95~´U0_zi?89Jxx>7w3!!z:Wa-R5Ud t ;+Kx um, v~TC(0L.3WA'SߴW!C4`kǟIUޠ{9JRd^}clA~F-`z]@&e21g2[ d?aNA 1%"1BSKKR͆mi;6)| agW(zLb{P8r`yrQf"bJ/^YQC/Wa,t0L5;o񶴯aep(Y.qU7h a#gYh}C:S,G1( ŀIitニ>O(s1 _scLx(,AHUL+z2g-= BeXEϨ}havxz&2D}b)T *|Djf&U$vW׶Q%%:{3pT[U$%'; m<#yH(;Y¥-OHjXwPOa}8/ޝx 4AfMkHRYU1{ngӣfWQ/0D&|azI[ב7.w_[U,%Q*AdJ@`ߟ~g}2g;`O]ʇk~Mb?ie:-T6%8EI/M䁿pO(]E+ $A0ĈD(b?;^a#u6j2:S1jɶOJb╍ke; rwOP!V0R6<ژ5Qk QG'3i'2ޭ5ƮWl8r!ʕjl!g (1(fmi~)txotwΆ 齤v1}5 >'9u͔H&y"gwʸZ,FoGhk {J/tS¥5Q7MtY,&P0oi, PO}}*! mu!B.{io/{`Z2a/]OQamMf̐1sFÁrT?by^ sw{Q7LaV$0+PT/񒝪X@<Io_/&^́sr=e$P9m9˴gC?Y?B~>IhH%a+ȁܳeCJqx}[PqۅVhKN|"`b=1C׸'ݬA[Q>= 5U; NTCNDlQgӱjsgaCOL(rsg6Xx$55aK&amϚ3pjYXU`b7I)UϽ>&'VH%mWؚI=Er:+>aOPqu4j/Y{*rW#õcj‡뺧R{9.ʆe05}_e2~SVd^yf*-sFp_ń<5}௏f={ !ӽj-9Y':Ѱ`mZ@/XBȽ~Msoup-)%ӹo9J "A(W gvƕ8/ K#ݎ/"HI?r1!+ni` zKmO(XWcЦ9RrƖplf(ZgQu%+Ii ~1K4&*6S*fL3y/GP27'ZY}ϣrD|̻z}t[¯׈&P[⠐miǙ-h`R+ ?-.\{n^f/%̌%r/=69!%>-q'7$Ҩz½UPkfc!V?46(\fvgXT7^'=Jԡ$R.齡i<$wڈ'&# 6ҚFEꏮNeߊ1OVHk#6ܼ>5-8Ѣ?|Iff:GLf$=.Nu8^nmYJC4zx*R7C?2( j!aW\ UAͯ!T}Y~ٿZ4c}TF]Q@#χ1D޾Θǩx_(\= 1솕Ɋ>&:3@bJp>}?^F2J8R`xi!ށk[վ-!5MS{wiB= IͽM/'$ݽ:IbyCHz-' f'`&}TAc$rKHs͓ehO! x{/f߼kJdVGvDCB:Xz O'@(N2c@j'o(&Z'V /u.^I?Mls*]_K]B!J4#_{+ u廯h3G@,¾Ŏy[W>sY=^1s|k ͧ7KЁR$g\$BMUbbt;T0ټ}C)wh^/@9tYƶKڼ!Ş2 $KPeD~Iot/S,trFwA,wv>PaSQ$1.|5ߗ>c=$\ipiǛSAE{)g./R}tDLj;,y@y.hmGmǿߺkD+^#Eۉ8r6}֯MWD9G$ 7%!זH¬$~d\~sL^`t׬ŧ=*H0 x5/Q8̢[S|S a+!Jt_N3 2O ],׉aJo_UIsk;+/ l^aqe\mE4O56`Ϊ*Qbt^QZݗ3gK43pӭOIk[XK?E/ Zx琱]~sz歅fXmR)nÉs'z!6'7*-m(aM]E/OT*PA ?ϕ'@ ӆrגbWt+d!~K^i;ߑ|Yd )RL:i FL:{: C:%K[L7D@)cǥ'-n(3ZQK~KNpwcx"`N$]b0B+o5(5Go2o0YP, o>W]/AvzAS$][וA*jND\$r6Yz!uT'ғ $]p9jS[ƞr#2JH!iVqEtSI(6G5 Ɠm(bE ṻU 8;J (H>S6yݫ6m Ɍ6l@l$'j'EFG.+o'ɢAz>7H75 AZһ/GDeI|  ;/紪_Q!CmZ|}dm2 M8۱򗋎w7[/rΖEV=?/A!! NLHKHܣ:j톖[FxJ7f{\Ku;des(5#Azl>iԄʛ>k{}©|#.jNmD&eӰϬ<疰4RE#~,gM3pK J53%A+쨲:0:}e~>.Ox!8YV./1J[~b]@hCԩ$x|6}s+Q V'3sC=tߖP`BQFrQ/51&nj0}u|哊^r%3M`vx(7hD> ӽ%3޾ .uijǭ^1f86V?yRGogn@s)FgLn/uTi+P۠EA 02"xR@ (}$][m\XQT,~`>\ĕf&MT_^ŀ bq|,sǭ4v̓Ư/pvwic FɊq袺sHIy|Fq[<эk|uػfW$=dnaR?,09s2럄Y쨱|lg`%n!K=NT_woHE1SxTABiA4G?gfkOPRצ^`8k?G^V疎[} s/ͲTH퀻NQt^M\oSg~# IEH{U^JǗf79\_4$ #&i57,եxO씃 W)["|qتK%tH@Gt3v܀3llamd;wODy"cS\u3=jfphiӠG^oٸ\B9Hp8H18:-G( sx!.Af8ݾ5KS{s6Z_?hDe `ko#-%-Th 7}/ԀB}{gKSٛE*AIQ2q诃Qb| sX`^^%~'-[# {B˜hٷ߳:p%ۀCFJPǭ2`]Ice0VV! Vg-R\ ԤoýE:X"EP,~l.}1۪ڔU0;p[)d<񘅡x )2'R! ϥ+OY.)DZm+=dVh6b=ɫӚ hT4&W(eKpyϣ*Ԁ/alHcYOĢa,jkK PlmGj;Gn)#6kY [0iA[Dfʙyv G֟T!g4/Np퍎v&k;53%weQLKq]I7Tw2#>iWzAl˜˯Am+f2 k [zj]zVP8B$8ﲔFݡErr&ZHοJ+`ރ;}ovUVĘ)FE,`Č"[m•Lt/6(flqv?]ngةՀӕ,?pKNbДd47ÌijރbN|ԍ N(7k{a3AKS(BL&C+px5vEʚ~S#QԜt? n:|[ Rxpoʟ TW!A׻ݦ=Ժ=H$({E~~UG,m׈@CGIcofKqHn#`NP@–=r'Tei@_Gd),0_*iÜܘD* \0 Qч=Wy7/ yFw}Bgs$&!ʥbܱ#%2M0q#O nc>y"y tOY!E1,ؖ9dI'ƺy̪1/6 Q!hr_Ij4})QLvKFK|3>ɷ\͋mU#uR6QqBL.1K>4ʂkFVGg CF6J_&zo:O4\Q\$E&G豹5z\'ǙInY@XIdz %vQ>DC[Lw$E k~;Dh2+p"j!d낿$JY7KH<,/WbI}t<0/[Qo^WvF q:JcjMoK#v֣d"o{i}Sձ rOU$08L7U\/SlⰩ= ;TCKώ]:)1k=m_$d<9j?%: Qb0+L\T'2|\ҳ_ /µy+fUI: fp 9Y~doUS5Ca)b XV"21Mν[P)~9+`4V:>0nH!M|M 7|Էqe.Qi eTa^>zaj dW˜" V 4"bU-@*#=˗ajZ\:XT*1 >Qp^Hb8=b'~ȴ6q"qE&҈ =ey'{钂tNG^@" j|oO+̜;NٟtHlq.& $,%v Dgc__0S.딿DI&b4R "K*.qtǓEn+ؿ|Vg2(&?\0vzkWcG7nFCӅ'`kJIU}D~D#ߐ)MR&"na_d5+( t^z0e+\z[Ѝ*׼VGy_w^[UTs`tA~$$nSőF&Ogtq@[K9QukI;ޗHxa{_u s<\zCt_͙Ze/a: &F_~ ce2s游ʢpuyt+nuP8$x-nbj{ޓ?bډf[?_'QORN2B{/T,4"P ߻c_)E BƳlôW/$LF| l tB~NUBnE\.;yT$gʳo;p)/3J U(]{"?eron!Dlnq>LAj$ 9Lz䑮$ W@B 7E<ى0rĎMh/ֹܜK&_eΑvY'|H9_Շ@J$I(609k);_Er\ϼ, Ugu. eL/\Qc~Q·ٍ)ŮO}3|m!WLoM8O~{9 `gGe_ 祭t_2 LeP6^ ~~d[VOA/v#POy<);uk{P@=Vd^Aȹ,8?xYVUvP>&Q= z0+[[B|+A;}}`xrr~i>P2=[tx}a.iE|KݙJJAEm#5]1ЌX*qPK,cmd;_Dٛ^XlfȒe"pur q}oa.ȊUWL#%2RPc/bG!CR q~l-*5\q/?N4kxqWH2uty&H^3Ek%_.$=bi!<c$yV쾿:Y?\-;㏬{X_P*=_WXMY|QqΚbe߭\~Z '3*p^.L/h B6g((\L6*X$G8|VoKU쒉vJH5mfQ_+tй!ť)_1:#D_X)زS:h.{$&y$ժuA/Igr>D)=[p,ĕۃ?DsN Q؍|d9|EFČ6z,cNK<Ȅf{=?rRn0=H*O]xM_@pZ^/]Ҋ(/rs<@۰M o$x4z-J7Qqo> Qx^Α# C7P%EM2Rmr+T :V=_`p$ο/C&RLVd_KBˢIfQ^/jҲVW#dw7ºodU _f`?:LuTCPw۠C]imGrʦ0`qS75/#ҽ"Z3mGmIoy^WA1EUFvY^z)x T@NlXkn?К5J${bl 㵡T>|ۨ2 ~AtX*;G4@y3x1+x7qWRz?>PHs[Ւ#f³ q)Е\H[;GgU 5PwYP:OYM?LVQbXx;Cs_t0>E8ΜkSұx^A;Iq/+Ǿ+ @@(Hb>s{}QKus_6q ].w=rͰ zS_{~ 'J¤=h&ґ*Ǥml.̿J]>[θJyZvƯ0Ww 1'yTkJ{n('S թU6eߕenC'0vފ'y~v׭u=Hկ8Wdd  za(D%G1,7ngm֕XZ_:d:w@>N'=cSpWF Lsnx&<h~/?CM럈8(~ps!]xB(O7}7!܎ђsWC ^ӈf,>VEEWHH~B@#&/~|q7-y8胪YT ;:`Y8QݿsJ|BNn]_Oo (I]DJRQWAVW57fT|aσeR^IWbꦷ{)r"|a E@tN/01kgCTHvQ9X_U{OP|>Nϥ;x1~VUoeCEiӿ,BQ9oBG"&(WZžJY1%q>^QK "Y6;t~#ѐi -Gi\}kYV5-G|p ~&\`_*IX%R6'w\j$%L'j+3r[O>vc2u{kn".Q違I̵ګA +~5|2.ÈRLy$ ReWS(Upb5,5E]Ɠ6}|:S/%"ʬ$҃rH 3վηS3"f%:\H%,TP8|_BƥI6=bt3RNCz/袕U+sdD;{{|S,w9>| ¥kJ"YNVT4"{NۓuT͕ +a䙖3{HFѳBgZjbF=:;BvhPͅ F||qp<){a<>l m3Lt~riWIVYQ_VqC^ ݣ ,W5vət8!Kįb]/yQ\U uW2H nP[ꨆXZ +v}o2(*B+i * sրIYfxv~/Ai?o .lwUȔ-jhcp 0kx"r3y"BZQYBq#G'2: ":,a!F]V h-j2KRr-)nNEjoР&y׺B.gk?\t9%e#ނWgO߻*3賠cf̠qHJѬD)+ql":<@"Ck8&&%]/PWݬ7-)q̝USR9y식93HX  [@\[ Y5e^u hпvlwlA_}\9 Z9]r/c7fw+Qnl!ʞN&'fH۾c2pnᛊ}M8.=*Y|?p>fN{_jtN#'2I_g.H)>a.S1r1QcG%:Xlԕ9v8Yq}#>Q-Bʖ5^خ>1L5#DDΏ}O$X~@Tvv牺H:Aԕb Xd0h8ҾPeclaոq"PR")<͖g[VOT y-<>J8R¾#̜WSUى78JsEVF-/;?3U BxF/Zbs3Q-W\t˫G:q/<,b;qE&!A5PFy¦Y#@"}I5ߝrWyF@  Ky쇎V&p]zk. FY7+s%~9 `r B_{:I,?٭͢T"Fp3^0~IDʱYofC/uf`^1{K5 v>='Rk$T 9\ȗzۯu8B/λLЁ_M#+k,mA4IN+Ν渾r Ԁ-bZz˼bw{JF_/ ~nvÐdzAe]7+i+g]WCZKu;đc:z=s[:srqKEROޢ- 2]l;BM'JXK;+emr?1gY iØ_sJ"-(dYӍmvNBARW =-wu~!L 7@ =2](;9ܲx+2 Zh`֐C*`վ;1>=H~Wzwc-Ue-c_$95w?7AT~\,6v H~O^6eg|Cz{ NoPS43@KS@Z>@ܰ_G7}Y6^;[>:0&?ld<&U8? gi\+_w+a VK|fZ 'tMvM ٷn VM"Wx*dE|r5zd-򱙱^ըN8zF%'-υi)H +%8tmT{MT:~dSb;PNesʟڶ 0ˋg~c8V+R/mcҦ Τc;RcܜG>Q{l|G.5 ==PBaTFӐl}rLE%}X7~=bBg8Df$װ\aM7ѡ7|r&ݢ;4޷ASﺡL^sG5IW' щMS^}m+VN .OxdܫM WUo| TG3*E'@">["#?2q`qF NC'UB!4Mӯ$;G޽Mn_[mw4]1yRRZ8yKLL*(8r$U+($ l;$z, = 5|Z#.sB=f&%V%‡}G7m X0:7AIF-㶦ID 4Sw> #mh<C품o.!6(|oL)9:(Y j*9Bào|U3B"،GPah*i6FɴBLE A8k5n0r~e/ ^ȱ`B/@}aZ̶\%̭{cݛpڤ*4rI-Lr)x%;n]nPXȀl7z`UF6_B:NHH6k`xBsL% uc!Q%Q}b%V.8*)> EO4_Ag@k{BTHʿ2,acGTƉ $79?Ӗ+=MI s[Yyd6-38]mfAqeYq~S9$)MoN@5hBY!,:;A0-1 $P&(Iz[ P^D@\CM22TMk~mřb̨V٩BU81m:2iPh)PmwԏFv%R&b`]=eS`&.ToF(JX,H +|tŤ 4ceM0\ +!=0xCGNM#~*_y8^$0kTgxݡF~ B: mrߙES[ͮM}:.eO{s]Bu)Hd嫖8c\"Cnӽp7b FJtÏa Y?JN6X}'HH',."'.On`A/^AOr}<>flXك^B5']`EEѾ 8 2 }3L ժҳ=`^{,~n̰?C\/I^6#;1ֲjF ae3(Flk?>Q~.>MֹRDρYugf(%KP,_ߔO֊ņs^KTP/d\r?&;‹Ńkui>g͸mmm욡~PTc[tcٰ_j>ܭ,U>mؠ?\lXgÃelb,T wޠ0c1eCFɮwZ~{qQ@tbl93[Y}@h΋2M5D%u#l $gY~nD#T>NVшa _[5L( bôW'weU !NLkj՟c2;Y#3Y;Q9.V /u}1w *bK&Bփ̑b 1B0nw%n;*Nq<?| ^hbQ  Uk7(t 01K7&cJd5H+ ^<q MCӮ搬SA@A}_oyU/rT(9YܠbpbFҫ|Ou4I,3VrȦ+UuRcR98:F {dKrΙ@D~gl˨zu7L䥤ڡ> :&WDŇ;=%2  K.//f,H빮#NwV[慒A٧x>yZm)Ae$湓{"֡|>^.jT 0mCfi?y64TA"{@_P7i塜VpNa]Q<\KXf;JlM0P H)ʙڸՏ3ܕA ~gDh /y:D&{_sHyԂ ^иn ?):W4X]` p j<"dVXg%wsuF:+#wKhR:Po8rIr_ZBTɪ}qĢ+ I2 TDبƳoK.{s _[cGE|eZ:~|I7E=TA5;胿d"KTp7f Eta{p j;\%K0LhAZk']6E>77_Rʱ VBEowd]P `C`0,$_ߘu&%-Vb5)m#Wu=&p ~{ddFYl̓8፾?j@SDLbs^WŸ2ᄤQi [zT  COT:_U ?Ք[[WA7t>_=܃e.f:ӗ /q⨗s).zr7܋V(/r/ՔТHL`l6wfYrj_om0){=GxyiGV>lq-@̂nnoaMSΌ^_s,7[<1-z[%rS~7&>WbCI8ow Jҋ]{l2gI/ls2 rS}GN_@!d @GR!V[W*l9uݹ$OW}~_ݛ?y`p/f^R{7d5_%ZkԤ5կפ ^£\t]kfr?W?!;"7c6ѷG@ %r|cO\T%/xa|:MG^-4cPoB88L)86Iz#Vt0, R`MqWXf|$B~^1!q kk;D4'veWn'~;&Ad(&orplf=mQk bb_&0Շy&x*RGu9cm=vMûW[ώYxcʴuQQ򿦉Mxc6yj՚A|KAAtt*w^̭}vL@+,&N 'CyI#hK["LQlpFdM ԴO^Ea/ 2lt,b-̥oěaL/seJ365fz"ȏ12+U6\xiq<.VIVM(Q^#)z޼"z/;gJGD]Ͷ+E7$Rk|EK{X:s^-ͪ W`vM̱,fJ/KkKPat搕(灷 ÇwTvNK.N k3lfyxG^_Nw}x-@|sqw=>׷;6$."'#>g[:Hj-].Po;M hI%lHE>r=BC"Y;C =ƎOIKhy  -A?̈6aSM| ^W{Ð=yDL3bU=/?WHі>as5k?N+qSRA !8D˦% $*-("w ȣf 1.;>Ŗۡ'#2q'稯%1G/lț~MjֻOaQPUA0.9 oQ0;sI-M{мT"H(&EkL7N͔; +*n8Bz_~1AоOWn* YiB;f{R*W:m*qg꽦Ƶ}];R3S 뛴#N$7/5Lbn ׫gz&xX{W]늏MQ{fJ*+&\ۖ&eciZ!\/`Y[C4lR mAz*nD*R͐hP-T5U\:mx| %y}Ò5}B YDC(R- 3 ?4(^kY1))tCU^u",7٧,exm<ımm k_AdjcPߨ8}j'mm)! kpcT9 mPNsN| d h!0vvɍ9(en4=A  켔cq4 qƉc${T'>CSgyp FϩA%zPaMd:d '.@ψ9r' $E:j3r.yASzf}[< D{WJT rE2e8ݳ6@mtgt }[ǛvmŃńCdWVzH?Q 7?B*12c mRT^5Fb;nPa|/>>oCe[6az!:$[͠MH"{KOK̾{h7 G:=7S^i+A9ֶtAue=ڧ=Y0&Y.@m|=EX(SI3X4'Qt#T@FJn/M>Qt 3Ȅ'yE܂W-K;oZquב>O6 woɖ rK#EEڧ&J nI ? 1\%X2}AXm9gPY}. Lq\jQH,}c.ǗV#U [ˣB=\x[n͍!݃Ho{h49Fi(g9DA\ʓ7@7%IÇBt}l]b%}X<3p‰jZc`H:qKg_8$KwVExwYʪ.=:L7mno_M,p3,(NRפE O[;^-s@iz2Yz~>8K~(#-m &K8zx8 <׷mETPmnX- r2|E,HCa-wg$=mcCRgRL1.%QѻBu8bMsW8(LKjyjRc$i;)דc Jal$}j[p ˅,u)D׼Ųu;n_}zRE;g~X;pC_hHHV=J0 T#dž Fyot1.ҸO`[{i/1W)?sG\a:p$zE-`{9(" dPsR٨{f6ܬl*hj$\҈:TKx@0GʹԘ"ք5_$GO9g{rUbEKay_lFԁ.v#@*ȯ>{7~樊4$B2>&G%X: o}Di @r+M1[hr}P}3ȵDd?EA7t Ɋ$__pWg.c]{ͣ9W30aq^OG,zޞЂ5Box6 y5x'f(pV B31Fs'`J$|e?F,_t>g\m ;_`|3؟oU`R ])Xm3i:gV>~uQ skr@Ns|Y ?wW}MWN=m,=Dȯ=j8<ܧ[HZX㑲ʉ(a]7RCN O>nO.7yVO 7K}҂l#.՛=HFW6G;QzexeLuȏhU_أ"AFB[)\tU $X+ 6j32^G%_'Lu4D Z AzR:S=~K{"ʄ:U-1+n %ѕyL64H&RU#Bcj4l6)նESYcTXqEq8ReȰX.֗h9+Z"uY;2BۍQU2&K𲃷g[wf1'hg< $ɜw<M#h&Wޤ18sĪ1iavl$MJܷg'^?^а/YoQhQL}2|~J~lΗ 8IiesN{S?#ٕ2C4W-c6{a%,7vw>K߷D8h>&u 4g,sDC:A4F$K&aykTbmJz{dpoZ39> (A}ksvw1s{KS0|?ǕeQϤ=9_g,:tR%#2l}<03zu mME1L6ډhpJį"Zڙ, 0ADbE~*D{9 ^Ӯ?*|+/^" dH q~+d}?7pQohEɝS9{SX8eGU(ʁ#u/'t|P%cE~0 kAU|jO+YodpA+`m X[At[w`SUp3iaVan"QXY *"wᙒx¤2OK3Β>uҤSwHv%R٠=AO&ϯrX|R|ֱMc?9ꠞ1Փ5mRØ ת z~WDyQya/К8Ҋ&ƳyŰG\flۙ}e)vPnI;#eC*ŶT~BNwWll9/1?cJry ~3[񾢶f"ݹ&?-t#\ԯ)m8C\o# psrמ4]Ϭ+w5ߴ^ۊ.qm•&LEp8Om3aDDUNT~7_OX#ir0ͭ|bu܋P "!#V/>)n'.N/Eh< 7ꌿ7V́RX.')?@oB FR礹o hJe=0JZU]LpzY3&sach4& 8V"$ՆGaMƖ+))>oJY9ub_96Z58v!zzWSĔ\![B!(Zf^ͥp) F@}<#$b)nb| L Q$bxU3"O=f4=(5e=vng&`avP98ÀT<9i?M7V 81"G>l-;l' >5aȯjxKI*}t7/#tQ7iH( oK*} Փ$ -ɥg(ԡqGTHַ{=ʁ6ۅY \nJнIOT5 E :K:, qT#] F'xv#N𼝋ʤcUsayp6ס31uiȿRse-kiZm 8R%+L]&DP"a=,{9)E˙q }g~ĺfh]`aj_Ud AJ wG&l`c|berFjA#Xu }MCd^:uxZ#^>ɠ1&= Ƥ I#f3QS(Ih#l1o]k'[^VJ "#JZň:f-A*R+AB= -ӄD  zk!Lw(]񉦮Dk[k9l_z'"R T2| *h?$`T|T{a/ O*7kO)<=Xʢ-oUqnAaTxCz,(u2|v+~ pDO^l3`.5hy4]i>Go]cB)U4k,r@mD2`Ɯ|adsRKQ-l;wqr?c2ߙ+cs7g4>Pu%pA r~='Urk.G`=H7krcI )8g.GLd;=iDRRw59 oֹLWEԣ]ſ( ~v\TƬk&|(< aus?c@ܷl&n[g( ažF``;(0y|D@,߭¼=.F|/??v- eR>хBLޢffj*z@2YǠ=Wv9KxPLrR'NLڐzTP4m9$ۮdwwh~*yl3Y\U桍"O# hN،bu݁.(q !s($?JxoɨH7Ơ/x$XW GHFf="bM On"l6i3v9J98W= VzђAkךN"?lx+#C:qS . ^9XH`~)z  N}uFXh| 9)=, `}1-Rsmp6gT2`9+He`9G6g+WޚK ɭT%AcljpމNiJw{yl@剓Zfo㯰GK"ܺb(dAmuϲnS _Ke4-k߱B*qȠqj{}5qszJ|%pnDD<H2vtoHq~_''n2˹$3.Ld[g,%a\.4ճbR,cq[z*DH9__pEƄ35ĈH8g!fN|a@L/Ѡp>A0jUgGnZ7k28h{9|h{~" 5>HK[6}|teƴʥ$6zal(Y>0eg ]s;pr 舼+؝YLLpibuf 7v1jr<=p$q;\'X(~Ĵn\S1_]XOf'qڇ}2,L9X{sx)c)!$χA+S+owTw#:>W[@ۆC3 Ig̃,#'A?߅!%kwsT0;:,M%>5[>QƄomnQJu]N띄qLT^CQFZ%/OI8)lqbx(#)>S1,N"Ǥc#w ;?w֡~ zkڪV޿ZPÇi(!Lhy~xnĤ#l' C̝?f^'7o>\u`)u/B=ss^`"#[xJ"5jmzEc̆:ζ![$~[(Q]uNL~=rgžFY0C1dl%pa676k: 0Z7GAz-*8DZ>Y.ޟa.fvNdEk(ٚcKNJ#fn*7e|MՔƏO>qFMeG>C8Q3ͲC Q<$Ep 'cB#]%j3[$->.WC!3cX|%1RAKy ѵnDqdnK0FST? mNJZVdV)D?}?VX@|uk-]+WAwOP,G6ar,UtYw~F~ОsXu baH 8! 0DDoz[1˧ ΃'CTN#!'n޴"s~eJ\z墸xoMᚶsͶA2'A~Fķq~Fqynz}#*頝0ݨÑU`nIo*YQm8f(֍Pʧ,dZM\%u$ 6eԤlh&ےƐr^]bCڶ.&LviH[XM k.{V tw\|EūҐ?\chA#"W{PM v&A`I$ӂ<>ŽŌ.r=Cs(~or*5# j^yqlsx^I7UtQȚ)®k^bn^P?A?)n⍭\s v&ƲnqDû^)6 Y.y1փSk'7e>^GEKiEoQmX4YJ/Jvk蘋; .U:l?L_Zy/G/}{gytcWHÌ5ᙚu6IE6̸ ǿ#mBma(n,' 82%aA1w4b ̤U~*. Zafcҟ`C)s<8YGw0 iOmD$\ n,㵰[:˷Ja!qG$M7C)YôLZx薅nQ\]'[b#1&]ߩ9^οY{s= c b!rs ~a)Dco/5&l:q5y"ŗ,`voһxk1 /Ҡι@rYfNҝCD#ᴮ*8LTt֋k0T \^In>hJap壢^KMAAȼ7]zxx|TߢJ\_3j;#ycYoӌHA gv1f[s?tؚ |WUR kӬ]Rcޗ ShڜH5p3i5nbU1tn7ć4R<ȒJ`Z,1q: ˃޻ܭv=i> یbHOOUhd&iY_60?;/3 ƱZ[~&U:E0K6P>˂i} 60pܮS%MX X>bY_y zmAa>鹞!c?⁁< >_ M\Avi. @w6Q>ћCmsáM3 y- t h~tˍXCvu""i@q]s=5d Fa>YKY TzL@4Kj4JrBņN8/ffI|FHK 9lq;sC +f yUe)mr8Ԁk/=Qw)߫W㨮{ weuj@:ٖDz^dx'jUg_> O6X9Ml9^{8/-3]|RKŤ^;IjSP䮛weB{%ͯi~|5TeUת"iIJ@htpF*HQc ^08ҊJSM/A*{S]ia_ͳdg* 8n@kys ¦gb]Ad6 :o3lG0xrF+k$^1S3PL(2ND\+{T|uʼn_FĚҭ~1H9Z\ϷY,Ya(_qbb|߳N0A%>ZlH4~#qȱQ e 7 '2Լ^;YmMtq$/6qTFI?G2%=XҾ493͐6 &K*3Y6-[C ;["Y~C #*pVbRM}n'*-^gE%na׹ Ta{pj1߼oe)q})7iAaUI;[b@\k7S _ ĺkn2OD9Wyԕ4'otpЀD4'T`#~hNn{L3j|僪30#KӐa,77 VQekhao~ +r1JKA3ڿBhKlj$c.QF%x[*dÉqdta1M*KX3=,FR2A[Cl߲Chm{/,hrzO>E:(B4mu)by{²]J5e⏓x.Dg'7= /m\PFz6"zp7aR_}eǮ.#HّpW#T#SUYmdvL E0 ;qc?1>~2H$tz à~R߄'@|{ JfU#+%sހ%Cg4OurU\{ύQXD,}BM86KGf`o;TNY Hg[v,@AG)s1;lSBZ-dH# &\m(`t\>}Fr%o:!R*]=3f3¥~X/OF2~sB& 4V֠4}Z dw> b>v?XBgT~6O84SR)r) dRWwDҹ ΓH5BlvHمHWmvp,S- XԴ⿮x]㟱4a >hZFy-#w :'_D'a֐X]~|tPԇݬh3vHEu];X 16,2GC4=H`Px4btZ3d#8kdhP_ gݫGX$K!gv_)]<.AOus~e絷UPCL y'($u/O_z.ڤ~龫<79 q_rJζ߽Z>e1}Rh 'ʱp?e-0=G]ڨJێO>{?2ȫ\CbWxDSIZ/ItyxRrD#LbTEGeI6VLi#Sj|r}m+[TԒ]\s BisQࣸ@uxlOAU|UG`/NjL)%|^i+I1OC1<#sD R@ǥP*Ub J!տՠBuKVؗ¸ MT)l< ogӖ /˗sʚ|~=ŝ&z[~UϷz:h=|ZK#U8߃U%ArXy43Ś-q;qȅ#֥SB8ZA.y|qHRz>x( _Fn?eӶ8dZxGĻ_7{SWAmF~Y]'~\Gh1R2t1  |6JI+976_h:BLb8nH< *Kʩ.Elu|[.u}7o%oF gK%~@rI}>]RLb[?j@cS A@/kǗl%.-M5+_9G 84?G3M"匦 V#>ׂj;EKXbu, 6,eXk-yw$.~&)yPmN ʀ/G}zGf1UFg.fnM}9Mqk32P/kj{WwoMb0\cB]Q= 4RnҞ~ .(=MH wz%`Kq9&c`&sx4@L[Pٵ=8PA(t^O5vkaPÏta`W̄[30bw@z' =@Lعg ?Bc?LM% uL{C%,Rv8׎Rо%jH9"Altק/gVC,_܄#dMOWl+9 06O ]HGL}DMė%ܵ{[-LNu.!/A`^݊fMuyUR+=v^Τ󉮿nrJkdj Md'OXwhdnDΐh &m /5$ ~'n,p˜Rfo1!pc,W497_f+c!@K!!ߺ܇}jH1޸ðQƫ DN2m(hw5$`GfY5`{w"Z%xtpو_<yw<$­FiYXh^RreWh0Ǣ=R-YfCv q!:&Ƶy_]%)߸*k37 6(Xw<xCpq10a9o vA|P;y 4bCIIoH^>[pzZqsĕkoLA]L*Y̛$PmWɝ&/LmfeU\9: OÙ$,Hh  Buo]i;DIboiSrsi?.,AĈHgyEu\r~ 1P,P$yFp 7MYj7jvY Xi0eq`/*@>yN|1'.`lqAZ(Iy+_;; 8/~*MGʊz&ģ@\60Ee&7oL|Ռ;B#Fr;N%’b}/#f{Nryr[rx~ Wp|\unA4yׯ:ʬmoKpD1lF}O2̟V[4QgE LBAibh| M8lu'Q/b%d ;Y/9O`D+u^MQGP/}%.5w%t#1G}˔!_GKфU<ȸ*+(=M(0#gh8 Ш=)F1s0DiE̶r16N` ![J#xcˢSFa8e;q9w_ 3D+sE6b'XˊHg͵?[]Nׯ<^䉅cvVǒ3^l&!?s$Gpf(Jc:|wf'A(cѐG O_ۀ Jx`7з嵢Ob -i0עo,ۃ spz9So-Jr% pTjGg@ʈطr)_Ǩ^-Wy>i^tҷȦvf<C3ĦmBvO+!@:x##K~  W6NNXKE/ & Ay=cҫ~َߤ)}򩈛`mQ0-C>Ԍ 1]B4<x뜈{{w&Xd|04GSYn1+4nBRw9VH)_55/=d2B)xͫvХVA"C1>>^u8E^,%Ts1XgR k[}@])0.obFӭenCQuڬ,086)ްڪ6+9` @nnhna5͜kW_VbW+zKa?&TrW*0yx$8Ku1ɳʽ,%}952dqUCc _8G~0[Ak G?Y)R{3#P;n3ݏ峕5wB)JP>X&;F쬑Lnha?HDw9%U1m8@?H\M?LPPCP S)kտ9{]|^&'d.`qlm?pNk@JL3w"ZGaU,{!d݃mqa}F%tA͔`z4oF> !խpx91V'F,h@Et`>CٛtlG!b`Kn/gJh|| +ETSi)> LyfdT`Dƪ씲,t$Ye9T,rjoȮ`HGg3Ry&0p#πoN><{}Q͜ߔlx]6YP_ $\ՕW7|osp?w-@=qD_;Igoa"x[^HNV=I~,"Hј2O.P,XTZ1Zyƛ <3[W>{>%`G=sdemY1D=86> 'LC1(PwL%,~=,KEۄ':)~|(|| `rWH}|^6K4N>@G2pGj;K#cC%GR =auBPCEbpdFm[<WDQGg Гϕj@;ΰ~>V-Mݔvyc]*vR߉ãub(y D-m %{ٶ| q%Q/7׷w~E7ʦ7d2 Jd|ak9P8P[O *|> M'yy<瓜z\ʑkW<_~R%و=@*S=ަ|kt]0us:?3<&d) 9?uZQ=C&Cjx0ԑg/{.EЀR1#Eyؕ"l@Tu+F90 WmCv϶^&ep~sG\$~ eh2pP2("a9ޓQX0ZH79zB )g5ʉJPDRߘ˭mУ74_c]ڏmrUki^ kɾT- O_<hNV/aL۞2jכ8()'B[%Z&DaKʻC#U+Kč@7w7{m T#(Lm"":L`0o'؁\{ܑ5<>P:|g,W qRؤ| u6J{Cm]LO8Ŭ>g}@)(~[mlm:b4v~6v|4Z&b3/=[ @R3f ;%\,@\>'_>wF㞤zl=zw (XV}T`ЏͶ K~(*i C,tچDQ`Z:>i'?ߞYg{*_XDZERٳt(q[@CΓfq&*yWukm Le 4?[06ނu}\w::\q5=&Yq00!oz~cHöGb9oħm}e}uEJ1wh^5YG?xH@#G,P ~-K5#EJgW%Y8*/}S?-@ J[X ]SP /Jy4g,(Enҝ 7ؙEvC>o V% },|RjB% L?S_a]Dor 8ʆtv{V'֞uQ?cX׷OY4}w-G]!o2 HݡW!C] mxloQ/-⠰4[4A/NÈ`?j3c `f})$V4hkC}oeRcDs 4>ώ,mf@I,nOu{5p ]%˶N ƨdV-X3Ќ/>Y YgLDgn »9ŃQ zOCj5lPt5R^s ,n:KgJ*ĝ=\t[_o+,ܿADwp1)/. [OUGC~(T2/.d CNҪX*%'xPG(e2nĞ  diBt2U$ːY^Mp[Ĵ3W8x.dN.bZ܂qøxϪ]oA˗{t|T|X >v-]E'=UNWtlIkl=DhY\,|6`(KN[ՈPQg2gdr7]^X!T8P$r%B59r>׺%nޤy+1>P4 쬕~*+~EAyNгxd|ґ'*YAfB_ l9, 4>Š%5 2v4%LD_>/+5RN+(D2"Wɋ 5h-|uvDP]Xb7;&^d?%]:n2հGAqXIBd4h ИōV ^ ۘua߇\ dP<&/cE~iX1ڀ[v@}QN[R*K߮GМɹwXE@7yﭻ XHͥŰnL;FmiU2C( SOcƤ(0ۧ"e/X I>q>Toc6|kjB3c 5E94_EI OY8<-C#FӮjifE=?XT5~A 50'%e6c]@ƿw/"`=0Y`ErϵFcȉv"G&u0?`,d7x0E#\{ DGof W 9 mrs7kK+v}Z^[E#ڲM3 mzpSfu&jK tJ{wt7TTw)C5V/BWFʈh=3/]ƬGe֠W5DžOߢC|VBۓI%`; B`?UI }u y';x|l ~MٵqUW^n-G@R*'SRs[wxmv*ҍv0^_L˩tޟ5>p%kmi\vY}6MM")Yc(Zk,gZ.1hu#^t*{*ƞ,ylli Ms컻ɹ]X-5@/^C_h[G+.[M֙j S+_~;\"unP,2ՓwxR-gf R=uس 26UWYEMnֲƒ32\펣n"B)R\q]msɇ^DfFVc'6yНX8rFpZQŶ:Sf/s "E:VLCL9^/̔mENV ǭYAĨu^2ipjQ5rK|TRl|.u6gY9~ȋl頨;kRljۮ3pmPOYEi+iRT F9sPP 垻kc Lp0 VRRo*mVhX6&ˆXYsX~w ;kL٬}mRL[#v>5sy=rJ0ݰ Īfh>0uhƕm~L&RS6ot0;{ngyT;Z]\bc- DzoM1:j5G4Qn:c sGvդW:(nsjX"FkrhK: -~a" 9} _m^MyU5ejxSmf*Xj^:eI9h|s98mV],7@ pQSMïJUg{n=qبܥͬ˹wwa܍&ڒUVzHx4dsk@p:cEQ= ]L^pZ'eUO]n,Զ<^ço ߸Oway4-SwvP坶zln|8TҠ椆̝QxrV5fr>vq[ei&|15^#{m=$Z 05 iQ48!Q66%4-Ɵ|| ˟:Z\yݩDMm{2Moȕ*eiVq{kpFl0Y.WvMZa%x5_'Y Mh*䇡Parbo {Ȫ2uy$$J;gRN앰l꜇EXFНכ΄_ $d<\-'-f̶#\sj7X {hcS*F?9&/^5ԉFvj:{LwN1k;v%/sV!@VF.z7ks1r?sh3*L) <'cqjѲfy@ñq8u1?T.{셺ke}$:L1)^f4XXAfeS͝ dt;[c-ݡmaOnsɜc9K:m7[2R'8. mFYH6J]7ZME{~ʔGΎ2m8Gytf#!yլݵ{WwZn4)ghi U9^?Q<θAYG'z\犾&F뜣dخ&J_A8ֽ[(pΛ[D'bJwԒlcE5WOmfVy9þ =ZІvL5G|7vQk] \a殃5-\9+J?Fk:a @kl-`lR#˷qc7(Zp Z4w'~a̚.kB2gQΟW+=y,~e.xj[;p C1꓅&cI־YM9kiq<z}i9uDED=DLl1uodv4Nl̢]i,[$$4`ˎ遢Uˎ9]tq-lpF=Ҝ 6XFJR0`P8]֤jgX[TVqnd./N\UTqon(<,jsnk?;riVt*ײI4ZdSmZrMKn狾LM):ά.NQ 6Xum$Q(FSqjE k Rw2ј uΫ"~2Wx{(mopߨk\lhN;YڮʍvQ%'rPs0DrU)a֣vyKWFXn6Y/hV2Xf)m߷h/Y (^ZBȁK/srqCF_ar;S\O~좳O"^V@hn18 fZ6CΤ/4D3MQ vjdwc}^-ĸmSmWh_fƀڹJMmTq/PNVc ,Jtt6-{n.i" ]ue zPOlꚧapB쌆y=۩=*yS__5Voe#g4 "^κj޷f^MVuC7/ͶQ9Y) _gِDEY\$u<4*nr+#`ؓz mJsђ x/G]*j&-.Ov,xB3uog0a+sYm̑'%z/vG5e jaDrAеQ;rAT]܋C0nGF5: CUR=_-;nUqWЈa F֋ Y%2*DUb8Fkc?)Uuv[a]]* W%m[IP}7lY iE㜺N$0Nᶉ6@by5MgonU= :6oe e &bR_/lEY!KQq[f`̰pΩWjSְrx+NWKCG$Riq! ǧl.:KfytM.zқ4uZ[<&Y:#KpIԅJ61xXUS; 델8o1b|VKirъhSRmԷbN}ox UOAM\nm1oclwbk>ojmƶ<7j2k^V]2# 0H ;V꺱<jON= fEG}G 5t|юf4gVU<8Et4v,./Ӵ8Z:̝yه|rEey!X`h#$j<,K=\7zQytP7{Z2vN婨N'0yn2TdM x+LiuD5O -JVdW%+mF r;[nٹ1ۃFuEČTEXJs7oƻ*7΢ud-($9hJ:ݐ)[_57Dz >^ͺSCaW^jlw;)fvxz0=?% p')44Vւ>K18>0\:}akX@h~u~-lpDՃs:[u5npuuqZw0\=s<iL9ri-;jmߜ/F TL ׈l)&geRܴsvw\Vx7Hn6Kɂˇz4lM$'=oBtXfFSH5?,FQS;E338LuQJNmUgլ)tf6NZW/crt36|:(=[ڰJ 7V`ܮq1Ke,J暳hb|V7fdI)rvEmTUUTŷoXc+sl܊FAzȬW~f޾#+F꾳s/6Mc|,RJwaaV8,\t:Z3}VOhjhOF 5Kn]"%2'lS':y~Exm'YL77he{jHQ+vArTj.C'"UfdRO۹&˺ڰ8Tdee)2CŎYWsN]rJvV?uS:mXmM7mC9mȵj^ZQ .<|+OCuSUi;fXBI9҄, DԽ2T^/۴4{X\Qcz>ivUuTqK"EDZQ`՝`iE!d6c5bip~,}w]_Zi[Ջ&R,%yWʽ :b!bb,`Ei q1Dd닫q/un;Zz4ѭɋ[0OicV=v\t˫y^Qsp8$͉/.35[ͅnb&h=?OA l_d. G4vE~ax4 +wVo{̖Ѣ$C%Jqvە0[nYfWw=fCn?WpAXvp7M1C4xQӱ\M.Nۺ8Ng% Q@^^˸87ݸw9x =fp[EGmVDҪdzgSdM]rA>U6bYz_.* Ǟ?P<-O&=ZsVOSc37r3znυ 7Afd &ipت\h5=Vۥ:fdOg^9Vsx& }CSi' y66,.'~u)BzY+wܸ9dY^/>#P-!tw~煎 YanSg'u8;l<g߿H#ϊ!qTItFw2G,~! =߿S'5S:ĊR7Nvegew?#,??y$ZD/>bV9 %kV>Gy' ,ݿOc5N&{h)gV? K7 QT23w0-$~sfBx Ovw_Q~@I⃌1ρקQ޷"(qeodr#U0!?Z.v?Sh"h&2!$*%&|K7@%3.~%#%=+P77z?ϡ̟B/PKɿ,@. 2!$s|P7yF"pXn˕50tQ$܅Q,Yib:e^8o #nyF~9[fr1`q"!l<e^d <{<7|" 'f ^@^)zTۙ\a7Pk?L5oāuEp98bo@Ǖ T* p#Ir@T'ߢd#$glr{iO$" k2%oPWEV!#"'p\.j0zQ*T/6Yp&_#0HiOEl,<2/>үu%Vu>\bɳ޽802pyY{zzH }ou3qDA&QIeI7c?Ȇ$YG; 4 ꆆn/QlЅ{dYE|!4 X0P@@x`Dd5Dc@Ҙ/_̣ $H%ҍ$9 0,/6rAsx5/`Ә6hH Ъ"E!,(7D_I[8pP* z4L1075*MgIhU4N<Y| !.mڱotp"bkh<M&ToA%J(eXk<<* dIQ`Kgy]#`[_N޺ң59QjN}fȊ_Az'x2=rꦚ8N t(^,r@Tďg O@^;R8)" E0PM/dL?'3FIg(-Rnw ΄rI cޏ󄽍S8[Ѕ" 1\^^t9u1M=+| w YGt).|<? ypw &G\h]g8e01 s_3``3~n(otq ^}(B} Vڗ$HDeF.]d~;[xp;$v _o]ça%O=tl]џ5ցO@ίEB]RlqbMz#AX."% K͎Xt/1GS*d%" >r>9%̉%t ,0CdCM ^HcqxKO9c_B9Wm=vQh.8p9YƷB?D[xnWTLL@% a Ϗ^>|0^8iR@7I->HX= o\UA(1(^B4"PMVNEjg?E5T![wnTC=J6Q~X,(;Tv4i?Htk/^|E5Yx@"}4|uĔh [N]brn\>d% -K")iI0z@,@^@45?< GoQ ӥ>ߦ&Kא:DKp&4ф& 1p-_hr}!{^6dyƆ9O#~:g"3dulyLoDc6IKD+׈ ؃'"zb ߉tK.08R~lF^GdD= Pz8%sb*DV]G0 w,iZ~BtFFh+EH.^>eGns&E$u98 T"@E?\'PO7zMOo<n F(ag~ ֿ,(?MhKB>(cg 7DV?ٟ&g,?f8롵7ܬP\"xDϠ:Os~1_O{8Y_=T_W.Б#/נ@wc?Di7뾋j`~/1wI"/|% _HX$-f/!~@}Aϒ2ț%I|ٕe5/P6d8j=brqՋk bGBO\B W|ǻ_JJf _o>@# Y $^fyc"zފn4B|Jo$0ݘ J;LPv9K{5ew)ospXehBۣx E^3czr6-# 0Re#0pH@כ*6 `t.ւKFhh ~+•- ңm<bD^d R&C-f|3 "H}"=riW`6jN͔h; w/DR*M --4N( Kufa'* t2$@c@#`[yL(bn,C@?^=()&/i6<'1`[NAGNWGD靄,w48Lj^rk%2G:F \t/tn$?2n×F!p’/K H@jLz*RRH# 91=.R*Wz<> $tmhO {a" E0*ʀ@}|!]_9hh<`zH% Do  K2mCx(_g]۠(+PZj4 xq"ċ I&'ɕ]yqt')4#r!'GCPFE_\3'@2tY4,\Č\o%)x^xW`勄 *Df) EdPKj yQ/q5.Lʜ#ZKsogf5A^@`)Kn2ppm/5}ȥN~%ǻ2|&Z>JQ;-~<w?$Ow繀])/9g⏞٬5gDxkrMʅrg%Gw.ɿO1^3lɱs#//?w gj5q.7e3]Kߩ`o){ OhB rNUn9Gewz/wxCCt|i)\Q8{_0'6?ӛ4ܳLwڐ?0"C G%|g8ޗXxgE8>w!wVk~dwwtZ2wT,d/7i8G9:ߔKcJ@yD?nߑAw"{Q)^YFE"A:G?1wcyyAPo@7=6 cKgl}Y}_o:J~N{ =;Ex] ]{}{ &wIVp~H~>Mh>k\O4x㿃 AH&BK?R n{!GC_?Ű❨, d m|bb{ϳQdX^_M~WNw|ݕOH z듻"#HC!|>ŜhRcGΘv@o['`?'=OI@M;'@cX%!G͊@Dzm WOa =!BQDcN7Be%x4bIqnȜpA y~d\ƿv $;ILW)DN*'Ƌh9WF@"ߒn'pR^ z F 8_kyK*F߿|?A)~y?rCM$(hr+ݯ(3WL*ߞ6)=^!!ީ\!=j7Ѥ+~`(r#tsSwW;֟A6~ ۗoe ݯLP#ou\Ko(t"]&QC)R tIr:̾l+=Y|o~D]*bs4ͩa SaыA(7_;>"`w\}@_rŬR@f\_OQJ}C?~7Lϝ5 NJ>7~=: qҗ,=rKe}z([Ib1a ~0r~.bz4TyRyЗs0dɄ(qrN~o&WN_n|x5"`>KMa _GsqT:;jTvzjc+tWsF336dFtzf40G}A6YG"i 'q_¼OF3'ˉW-VR* Ѻ *4[^e0[u>yN]Ƚhߞ;O_&d_n-#v[;Y:+s]^H;ݻ)lmlNsuWҵ@˕=Rb_J^WYPYzZ*MteEORqIn.ARL޽"K1I@8V nҖ0ki+V|jYow\݄ .l2u/Ź%7BI? TJg6ڜ/._Jnt ފuy'ԋ,(z&E^~3kl _'0{ͅ4?>їe<Fk/@$/xŗzǧ4KY9 f&ZSbY z(! ڳ}PakBJ#X@ͱC@3LWH>˂x0l^ozD?JCx·G7Aa35敞&ՋĤٗ$>/x<)A>#S6|Lg@^Kp\cP^n% _kkR)"V/G=uJݙ Vz!חHer]ۛ㉙UJwfk](0鑨D흜7*v~k$=/0vڈ&=+>~D]w񩲈Yu wqkNhxQ6 voŐǸN%!Vh=MH$-jR犕-VRFA*9c^U.ޟ fV9RʞPZ.NEfTkF]X33ZVa)Ѯݡ[I!>'(LqdxIuޝ-jeնrі͢%>_d|R=z'҉\-yQL/uڕzdyI[:;q:G'ö֔O&q4&'{ foFaHPgs2μ&ك[H&&$:s{2Yg/VBFS.WKCŨ՛r:i(խw=}{NR79$ⶽj-rTs]ܲI#(~>nJ4 WxqvSW{;[ZQ%zEEDvXS{t\fŖ$In>M eW-r[;O=sbCVNSɤ j&U0NA[];eosp`ߺCOޙҒjӵxhֽ9wIΚ>C \!?,\[),еk6rY^;4KH[8t(z`dqd3ҜVSSxZj~C^ =M_ڃFu @kHoA%g覠@}SOx+^ٜ`\.f=ȃ. %[£Ƹ~΢ڈú\\Og$e-Mć;E[.6ry[Cnw5aT7oIΑGS _)R&3G[@U!R`FUy1+S3r&'YQIP?}VL11,ت;ORKe.5@ hs)Y*Z}.KPxD Af$<$5aIl"l̉>cxBV5,!AS?F$h&, .,Rv`Lc9\idfs8"fդ1{z0#e3MݟtBvmɾۃHݠl },Վd)AM[-rHJkx~h"Y.k.qbi+pJrn`NzˎbupJ$9>K8Jd{ڧCʽBL.SaS<3;nj~@!}+71J3x{9K~c(|+@g `۝pUl2̓5s} >hIҍU "ީ]^i8g!^m_4M3,1't"?}(r% KTlPj5%&q^/d۵*I $`i^1B6=]Ir%g/JŁ5B{ׅA ȂفŴv|JNYP³"=qʄrN'k`s\2Yf_e#OD_^tn佲,%9ߌ/ 9X4tT9R9u Dm |3]snim*UKXDʞ7fsZC$MwW.dW̢(״nOiVc݄F"hAO2ddQpB}7{pvL'|D6گt2?ooÖ;cUIxC-RV $q-sҝ1&~;jOT3]”DzqG .!_LG U-iK:Լ_UKZ#[VRTLV5NU5Rz4&sQ+~z )nU#-O*ľAA 72;J 'uh bX%Mv>pݸ5kB%ѵփK7,j^P0z$0N  }1""wLַj= ^Be/|iHRWǦ%u}fuH9ʋ nkRc%g|TND]WE XHvӏOĵ^M,Z˳yJOCxKb#l(GeAVd6pqZɗՁw9y']3? c~dAtY5XЇhM>7dIXEc8Ml~s&ޖh${wzXumϥչiݸT&zkZ>kCsgy;[zN퐔5oڜޓAs^e(|v{%w?9A1{&^Ӂ9颚PkW#&.ż'c:>2Ϫ`x$u):$RC2 p狊j b;ߍr$B\-&5agb{'H+|espxW48xOXŎ]a%-3N]:sEu4ʹ8Tb%;|@:X.ȬUh'bMn=gkKr%^Xi=u`J l aERh)%̡~sߒ@}Uơ(`K"JrKld}Vs BVC9ٛ3p >\q[ɛ 5)-qjLs< \W%A`ֵ $,V_P-$ z|#. ~̈+"`3•{tF Z k ]2*G[%4!凘va9ATr•0>~g!xC,;V [aT=ѻIp1v5Y)ՊpGMuZ3'SXmhi7ZvioL|=;Xrp78X Hԓ]> =nr}d#}'&AP?w'e}k.9 F?b"> luϥVP+w-BcJ!u,Ln>nP᫬ew ~ЏP ΗYaǔQl3tY_;ĕթ8KYu@$6_=+s[H|ro_'XW0QMLl(kS#ioTH_]CQU\*ͶUx[.AkGU)m\>x@2գG\27Q%1wo58t2ZN;&Y܀Cdvu/|uIbgO%bQ="Y,9V\SFNG` C Ч_"xxKe!ˉz0E9-X_j Mp[}tdzn9.eY1_SjHo x/mz⨻FoOxI(H@_6 S̎NO`4oMW1S1f mXHO;:d6BTZ`'LT le׷h"P4?50;u B*ź]8g?1H'ݭD prz5b&]64 }>bϰ.wA6K9P煅B?' K Rf (o%XJy !8-)A}/ǼveÎvctg#VOq{\k/9݆ok~f^hÊ3C!o8Sj~FәHTt&qG>ǐQ@A'֛ (8 s졦7"Cy ^&;H5  /^:qN O426#W0Ne/=tYlǮ _4FʼnVYa@ҥ;_c}ꃛ+Vd󜒬Se=- `-mf~qdɁ|݆Tj13wS(ʎ+R-Y+?myVDiJvcxΕk o;ek˃ wס@vWLFHIWX勪Ik4= ju)e1ȕ$oS>6x̱pq',L2F"s0oic oہm@hXԕEr <GXd:})Xz+>^sFm=KwY2ǩNw1PjbFþ:8~sz۬V i=lnt[呪yr sF{E6d4[jo{+u({/=Zc&L鎤y{.rz "]B@ =$lNti=c¬3~tO#R 6ӊ,|.n`M +I5x**@ΞVoIפd`+ qa!` OvՌI!{م{? eIR2dHw3Jl2K:\t4ck:BP@@?Unč ),p i4;;nH MÀ WPA@ ݐozgT6̱e“|_q}{u*_ ʤP9;mUȢ-`kꡰG2gF?Sڟ9 eF=\z V +#rGf:#l1DjS#P5' 襼[HIQ*p= 2oqQ23c=ww GCϖN=\\\9M;~t.7 R_] F텹DjiZLJ.{B޷.ۏ&፦"`$uM9,6{];64 7 &&1ƚ+uPJqL}o8YcU R54p{X 7"o5G'@҄<.Q!) DnR@ ͶϙktZ?ó;>2x?$Z(ó MKR HۣK>j'*8"MF(fTæˣ Ҍ #bRJL-s\YP>{{98"4NͥӌM6&4U9'Rp_ocx粩ƺ`VQmuzɆɹ~ӨCZ܄`xޖ{f{H{7ee4"S]j ,,;HҕqeLϿ. HrK.nFO jYLfTtX)oo.i; ȝ9Uᔒ0`=;âϐu[wwye-逛 4dZXV1[ҷJd\Јfj\(;ډ)Oȟr|w mh;/nJ5c$d)9Ez?!]-r{3u x p'Cצ aJk {Ùf;UU͝ MF9#[Э6AG:0A񴙊p6J~ Ob}ָ=6鳃>| 4*nRZ{Fdf a1+Ri:[>&OAuI҈t㛢/7Nf:صGGo5AZ=Geޒ ȑB9a`HŐkMٞ&IHPML,/*gAP r PS|DU>}=hEHHV}I|/*xЀT~hV{@uUFc٢dQ1BMc7y[K  GN>H$KC Cxۉg+Vg1&8If&ł-k,Ú9j)T(\:,Ƚa.I sS@ڸltרʆ*B6ݺ>5b&ƺq7#30i:]y/= 1n<>?|7.ǹ+էz6(s} /Y}z>k"} @MxA}5ђ]/>}PakۮF=A9tWǠM&iZnD"=ب|R^g|*EɓBj?iҀ_[M!.i+UޏjճL2v2F}u)嚴w~B$\PٮJ4@Ň4gu"4ѐIcgUO~$k!xjӇIg/(   ] @ ?%wBzO!15s2A28Y呞gsn] Bߓ8 ie] M?/5\n$QfZW#CY}WRK'C$a.Fn繍%dR-]+dTؖ!wK=28nl(n<<ݡ3'ZOǕ؊iM[ {Ƅ"aUd/2OR ŪR`_5\>1Q^O`!w>P:Z&yzY~o 5h=EPq_fy]9QR}BFmFiT2vd_}B8'%j't_zܫqTϧ }nj1߸fptIƞ=PrTdb&Q{dQ<rI8khRߌ.<.RE~rnD략qChOvOD[vtseu# }mZgNS }.'EL9Ү{J 1Bcbή b&}ͻ52:q԰G7(y:}VXT$Io~󫰡0Ư^ 72QwRNqî"z-FY_W3v!UܜhqKbD~K/E$?ģ~;=GXſoI=btiʩD q0BxngC]EfmfMAtP_ͥĿm޸h\qĐW3O@^w]CO50UE)z[V}-&iJ ~a\6 "hZSLϘCn OW%i>G$ ,v-7BIOkB?( if$E1R)[[xpL{_6EDf[$CXYB~!0~C)òxo[4L *͢\:xx.VͶ`--,wEhs'4*200i3aAOZ޿eT~*E߸WQW7r)l\y6(NsR+S?;!c'y@鵯 UvO{u_I\ Ng]0!Z|(jQcvMK$߶3k}//- Iy:{jwݺYe߽b/n 2<&cjm~/VP{z ^ԷQ*7yS4_*Y]X?|[0gʼKtBS|ܦ>sE+ELnoFkeߗ5܋)gE\?a(Qk?hDYF\zRnY/ ir"db4WTy=\)%Xs2L=ǓZl)UHV.mУ6_JĚy<;~r!je|2fly KUh[LT\.,Loߪ8G(cG-_-D][[TV,嚏>X]5's>~DI]\XSDG~ѹò7m//(]@uROje]ĵ xߠ)TW#&wօJl"ucCfE@, @Pըy@o:M*,׳zr W^ QXvQWv5Yw- 훥?q[|@U-Cu.J}^\>ϭ7 ῼJ2I;fP F/"K 'c$ƽ\[,z1뫹D]BL{fKtoQQ/:L?QmH\[͓Uޚuz}(L t%Ip[V<%"̓$q|D^o 傿>fz5 %~7 >ڌzy~U>|űJ)Y+aSB9&jFOuUj;;<:|l};jksꪓɢ(8 xlI=NQ[,֋8dP#w%%0 %0=iq'~<3('^fuYϪ9Z~{X@u3&N7$mn)߿]5%)]'}/UO>K_ #,coN6aA]泺1?>ugڼgile`=_ rThh+ _b<{êW0chUURX _;_b}+-=!LLcǞL9e_~~ lx!$+\Jyufv[c&Vhl0U:ksk@|uz*N'h.dod:~wyfsAQ] Uز24ڨ2jw?cUʥDLA6݋!E)hGϾs/WO˗H^A~]8);tQM \(2M8W=AAv./@kU{l=z@́QO=/>').RWE{ꁂ6U y+D¯k7.vOO)r|yUoU' N{g }!]AZm4(P{?6٠@WNƀJ%CX[wђ e^Z }a_ ylZckkV\%ogQdF>K\뵶z\>je#dakN0yMsPgTL0p"^gXVՎs`Hqr Pc=#/Ƶk `ޝL;TRӏMAAh}xp6 β':xB<_8˴{3Un_cy%CߥB V-cy(DG(s[Z @/SpKD @ kipG5@lم-tyz7Ȇq<Nh_")Sh p =>aÜ>q~ k,/ٹ}DmfV7Ic*5h>c~nv2Zfs?x ua󴸛Ľ0_u2Vk v>V[ ,0uHz֭20H,7reDΆk?mߌj!v֡Xz!l%q}qW  ֩7>{3_{xУ@F`>FGFI儆k >+BAm)SSqV 6ZwG 39@|rV|!,ÓkKU_5a|wD+xQk::{e$= aG-&&>8xnSF$.kIH4_ͽQ7L?rcMH'yaj+m֕z Hbu.)xTGMY˃XlFn74޴TonW`Y ,P 2RnF%&_-bXT (?>F"ww,74/ .duD2o@s4k"ƍIW8,sEߡFU2Foc9ܸ)s3˨zhk ,k^2%/9" :LI<^<1<lwV 9ׄVb쏸 |O'tݟU$yB var_S\$e\rΉG+\$l2/Ν2!!4ug(ڪg%66M(vy=H/-ɸw" 9 VVd /ۧmu6w7?.2f3}vj+ѥ>@|ի{O&^2Cрv|1Vg\HFRRJ+g ֟]eHTYoΊ?R;0ǡ??S}~fXSFR wCt7bs^LzS{ц!kP ъw(41ncn8tPݣr֌ce|*uʚN(c7bP3TgXq$pҮ7J'԰Og~\6d1cΦl3/cLva ~Iª(1' Jc "RYhVgX )Ӂ%k_bE )vH@׹%= CgTs6ni'~jԋJ uwDPglfpIt5ˆe%hO⯿6O;uR2] :mR9)DqBZ^~D3{&݋z=SڙiÔ@ jm#MFcҿ#Nb%6Bx2{l/2fqmSR=tЧDlݿI;Dzj؆ x~;Bf5]֞pY`#3ai}5j$%>#yf3<=q.+bͯbEo?p_ D6-ltF{+`16ï~8b$~if}FB9+E/:!P?[c}FWIKMe\eIf s =w3ʿIvg]JË`[eڛ `5`G!x 2C s4Gk~"_q̄X*z)(%+mɇA{3ܡ";m|R0˪;QA>/X6]%Ճ;.e|Vfߚ=z~8Nq| &j2cʱWv( "`Yjb&jt|1c{tSe@ HlJugmiOvbu;L+h LwO:#~,\{m-dT(KfrEGiR&%}bULΌZ3`KEʯ)a}GMߛq3[r?O~-jɉ$_CXBwy2PA# 0?ImjbE [R5@Q\]"486Y۽&l "Pj/ -0@3[Q[uB{T>/"Z͜WNFRnZϮ&Ir)s͎&JG5K]񸇏e]v\pՏo %zX^ԯAK>0IgVnӌJPՄJ'Z j_@9SD#Wio,\a|E>,\9,#1=##^bOȤ5D4$~e-d Po&~leg֍o3;teMRv | 8!+ڇF6=?,ϲ 4mĘWcfJÔDj@v@9|XwpFv$"w~N*hNĩR.XhdZS2Y Op6Hnp?;㫕R-&c++?&?0w X}| @TܓWGtlj =?OMrȂI U2it18;G6w(ִNt[1Ec:! ׇ7햊Yvd0f'(}# @8c33_[f_^G4?l^SoIO江yvV'"it@>Uҭ`=T[x,gryɿ=] W$㤁l,eRq';'U0=>iT;X~QN" K#!gޣ(I>zKV5ܖTa:{K't\xrš3I,u*E>A5' |brr&:K5GIzHjr\9+˞`w,wu# H~ $9P.+3,L%6rޭ#%/_֍642ٙMaohS?4ȅBfӓfUPa>){ \fhbלdMnjAs6V cc>9(+QeO;uhZCctļv9F<鬤7J!3z1Lpo昞d>U&et%zubOzIS=ȝ/raYl43.5L+v)omHGVocʎ<L$Z.3Σvp(mf;m_g9Y珌N랛K)[Zn3@U Zfϙ͓u jy:&^\ӉbJYl; vI#cmu6fMzF|qץqsN2p ]?Ic^AYZ mn<)x1-xUS7[wT[ุ?ֆ C|#N_ ً' p:9VطvBoB[żqcd,wx=TcO]mAtKzh4rzdPsKs4 `z1ڐ}Q9sвQ'Rra b}ZVVvb_뱹Y_@© 39H r/μaYulFM,Mܓ3SwC2 [;pܚ3PdMT%CS|TO,pk8;(\73xҝTAtq' m 6yZ-cb'G74xj=&/7^s1/A,|1.rg& zm[ow]kY[`h:wvvac] fzjMΛkJrnD Y,3Cw.4^ԫAQv}yCU{7,e|ƓtZ;emέ lf|sW:F`wPڤ#¥eA〸 4Zps;`efHRvv( fک2K:l.4 Lr -zAu#Υ!J\v׻J3eZI,yy55%K@b8a9$ۥ*ȯ[ɠ (Wru*-ʜe5N^==V9dy'HcS48W 9VL9#7k۝^jD>YEpbI*Ϛs K`4-砎J>9*Em_FrzBrڵZfFΪ\aWgnn= QJ|t>%Mj*NKiQI5gC#="NDvY*; 4Y W8mcͬe۲r,֓Ӌ4K2Nlg˃d'r3*|zZ 5P^bq9Ǘ& f3'LeYLSY劻r.( P|=+'v4R՚ɨ;4 w0u+E8ߩv֖=zݶDqo}1ǣXg/Q!ddZ9e7~; TƴjkOjbLj,$HKVTҩ= jEOI)n|%K1&0wq zغ ^ϒLAɱṗ w![ye0r c'Yz (ABm[ckjw#~xκtT5~&譖p2noYמm6)AV겶a!V~icw3 6ݾi/ķ=an s>pkZ--f Offs|,FptmIrB. !Yrz_t)y |D;7>ɎMƹ;ŝv߀>!{ɲ1i.=CDo8J).Ycpu1^J%-/I& gwEl)(xNO/L`EpIiq`k JX|S_hVsvRj9^9>('m%&qY|&I6ݥYGrt.n@ ( ho@XKĪ85S?\rJ+Wc2'FM_AI$ǙTYJ,gF\]ұhT\\kJ rht23Sqy~YfJM2]%Eq?dn5/#:WoQ2S]\,-_;igZM!"MK663Xzz>Q;_2I|;]{)q.YpXs{Qv{t;#zL|nVDe]w^N ctӵ~w_򂋨NjbC\ԩ~eRXCځhQvxUj廸ĭ1>J(;Y ݥ֠]*Mcp{3Jcerd^dgYi'ե@ F|tJ#;XU3viziNߤ$CF|5_:)ZpuakVyvWnC[G{J]b1Zh FX\wF(5V~LXA%םRڈW/94Wn/PMC*/KRo7y; k`-4~Z4C8YP#UfA>(uVS*`Swhgʤ< ́2ڷʒC`v{~BoQC83;V/]V͹Кw $Jh&*ǜ„;CG!_Q'{q4*V4C{VBk'ȠۢtװץSxM̄m`i[ѺlivV'W(H̋1ȣƑIߙ+oޮ 7X媳zְCH6o70ܫkgi˫E=:;qgF[جZ zQ(O'~5b/1V%_NeFPqasiڥnZw<-K"cDϮD\ ]ۓL:xsj0Gwfؕɨ_sg F[_Ǘ 8C+ѲD%>-Rn pP1n.!F!TӦuGEFM#GN&CwMGI/BF5&v3{5[[b&vllAg nZ0֡lN%Rlςc=}.n -4kkǽF*[Q&B9qGјXj69ONa6f|Pr7jx+.jyBv`X K _vU59˟2YhG]GRΜD&3.ytǚfA/'xõOVgp9T+دRm~4Ifmy΃'<*Q+as`E5/@ڤXW':PRiJa*5tl9K$w c6Zƍ. x"ٱ u:KѢE>-1Vzan|[uo-Q El7<6eaji*4I=U̹-[N8\4I뿊Ug;\a8_gq7p opuIf1MRe,ڸ8<ƚvKa;rϞ x wbBLv.VG1hlUqyuJ~|~ YAJ/ vh mx)_~;uSo2o_unfQj}oquC?LA:u z^kd9o0_c`NިD70LZz}xOnoea[|HeE/{U_&6ePURo-~pbڿ|tnt3|٩oe误˯Ol}s}V&:fLwzn>vl'׻?^o0V\y$D뛯w|̩u@%˱ ! ns&9Sw7_~"! `/MH$@뻵õ2~v7P'ޘ PJ CX3bDrŧh7ĥeJC]-Ko5UyN9@d/ 1W[@ڛj 4P&PE$aJLh5,J9ᘒ4q䂗Y*M CHa qny 4R+ &"zEe*uZLJk3ko?z_* bI3OIW^S*X8bLWP0cZaBn )%f0P= ۈu XbԩT%1LK%]KtTMn/ H$0a̔ ij@!=Qr4 Rb$5U' UrSp%?"g!G*8mxc84ho# Ā`/ʠRx9~3 _#156+L? Y`ZZ ſSU좬3dQ˹h׿w]+ Lb|h<43cCHr-M@)?`68@1J@ , A7̻5jv3˰nyk{ӞpA~ϷbdƵ' j4T9ݬ+7`IТZ R0v>WDs2AE➊~Bd4EUQ~O9<x`+( 8`Rrf)aT`Ehp a\0{CYv jLԪiM0+ p֛*M H` #PWT]3$D[Q:A8GgI ,`^Hj-`'0j@>TW:[AI3:/5E<|pqÒ I#3֢]ɦ>aC:a|eڛLṌ ^ Bsh\%qZy`P0(65˵: ?ѿ/7l OS/l^2  CI>U~zFZ:Z~ҵ4Dxj?A%VУRP`UY| OC*LaSJ[4bascR-AM$1.ZK 01u# @A r#L9u/)MW*'+7?TM3V ilFZpPcDL0VQ7 5_ N Lf,*sd2eQjxC ?f@P%T"Ģg$Tc)YA=4 2 c#8tF"`-MtGwlJ/M0hufW_RU8""zO#u1#U?|;m#AT9HY%Q2_W $F0SC4Y#-%24Ʋ0jVU+`+VOw9g0ܷZT {kM EucE-w ;J~mpWwBa*8Tvn;aWke)/o|5`2Ȩ 092>W&J3"d>e`qT{?Zi|=A]@ykBHK%7 47ccR~HccƉJ1෱a(z 71ybAҸS)F=?'^>]|B-|]>BqoG,:P@Sf52'Ԝ)EA"=E +[nV!h =x5w+BN"{R d i|*H+'Fs*r0OIFɕq$ʹ2g1\=LʞcR 0#5>> g gBR>TPYA.A-Q04kכ.g%MUЮrx2L$Gj܌97JZvrfܙGEVeT< S ZlJVnHD$q\)SZ'ͣ$H#a}扚&X!Xp(F$IφRFFR>d:V1_Ẁwj敖./w)3^?HSc͗&#kY`HR e!YTFVLB+WD7jMiz}&4о g$S*i4^ELU~{)6⡝f. i|1uDD@*|o ) yz~M+Nwy,RwEqƈT/n<6A wmj#(zbIVDJ[E.J,KOʅR8ZFp+΍IiZ h3:V۾YZ,CQAГMTfVYBY5t_n_ g.g{JQ0gZ |(- bPPJMG PCiiӈ" go ==$]WǴ{HqqqЗ22P ?nIMrW ڬz/1^.+ "^ByDE:w+Aoۋcn쟓O|?7c>_[VZOו&2?]A#gVX^HLl ?.ڐP$\nb{Ac[TR-t0fT,uz}Y^AmrRĂEG^ܠa2ZɅFhpK1-r[ }v ,$)L%A>ɰqC("jy8R-萖@ҒѼQELh4"n*ޭ*uDzD(c2=)"eS>LDqItӣȍ6hc "(ӌ(fPq:-2YLņZFi( kVaPM3{`,2 t q3DpYRD38 *%JTQq(ʆ{qļFѢ*R_XGېEI 3B󟴴xkgĘD1z3I3קL,zLx9'"j&}İ^ԑ?d4Z%aݐҹh$ \]M -&ZZe 5Cߪ<uҿu$¢C-{D/UaTW8qhP_nМE(00 E\ OY`u kF4'8),ꝴhJmHE3LfFгGkPG F%nP"y_i6M(Q顉:TX|"])hoA*ehJ?$OSuꟈhTgQm HrL`HJm( EZ '::& kE΃Z5 V[).׺CESL9OMJWIkf?aՒts  }?A ӛUtԪuhX%[_~'ٞ/Zc}^,4= " "o>/fU|)XOַ[oE܏pه9L9/f|^?܍Ǿd 4wCܪ:f{_RV`j}~NA_Q"敩r+6 "T[hPE}Eq+E矷JW dȌ4 Sp,@{eq0{ֈƍk)R[o`AU{M,bQ qKR1S}bO>o]a翢ԗ$}z4"_vSmR/oXDOEx8jÿ- z/P|c1 '.P>$s67%GICV|Ab$b'c?0k}&d"ŠNexb ?-Tvwu8#r-y Ujs^WG`wAGvC>$jA?g~~&_E~>F.K`uXFRXi1xEgvxɫ;kE૫o&sRr_ڐF;A-`b_D_Q?I; K~4cGMt;HIkǔ 37)EG z$↿2@&H֓HE |#WGg$l ~ϴSZV mtE=e0}z86'ɰ>kLw] _M&06࢘-t~U>R" r1E$0"%j-FRAFM@bjΏFJΟ ' h5W\WςT~FJsjнIul"hlڇ`^YV ,OX I#AWN+q~5}&!+Zbƽ?#n长 iͻFҙj¯& 5 _)4љ+Lz M!\{) ~?O#R}<߇`‰Yײ>:-"3An>|{)o$ xGKmqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/0000755000175000017500000000000011347002066024113 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/22x22/0000755000175000017500000000000011347002065024671 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/22x22/qelectrotech.svgz0000644000175000017500000104354011200647463030302 0ustar laurentlaurentHz?OSSj!,n %U]m4PKq/A&2wv-߿G|^>C_OӗI??Y}?x_6Pv[߆We@iSsi%/Eq ]?oo$a~m6?Glt/O_nG^/iq[{~yۖcn_%ŧ.Oq7 Yϟn^~(ؗPwa/ Fpw3߻|xp1w45Ǵ׏8YY]ǧG&ssۣ?Y}~,Ӷ?>koxgw0X8[; x8ܵwbthO?O}Ke÷e?Ng{Ϸ~+o?b(%2coo_lv'?&cO󟏏P(Uw2~!i?o*t 1E/EBJ0P[Q v 43g6̃UyryLF˦/ʕE˔l1쾤$TjƚC?RC< DA% ]PxFX#m*,K *L|}6u?R*/=!UKMj#";.ݹɱ@@.\תo)^YF5KAyӫ9N-r_ @lzzfT{8+X(Κ c@YUljױPcX biS{VK c飂lCJlІ@cQ-{ǵr~I j{W׾u~$>^tsc9 D<4KgxꪽƮlc+0:&h816kGՃEŲG;/3yHf9)]{CF8DڕPi6IKFN:˔Eh{e"9vtL^ۚhTr//?+nsW+RC@1k1;w*O)UH{?(SActmjDN 4NpSJq@Qzi( ĵ?U~,a }$*0de$u0J -]v6l$kaKG4ZZ}M2k9g6Vp 9-oG_ @@q9)cI 5}tϖ¯@%Ek8; `qSƟ~djjR͠'Nl=2ҔU)Fp[g2uqY+_1)w$EG<Vl|=ELuNY>! h\֠YgB؇Jk[ݩS<^u#;B[ Վ3IoN]^ z)$JeTnOd ^8{٬N&}% h>AV;Sgly~ڡ6k^s#%S~Ob:jb70Lq ) ՁpK^3qםc&7d.P3PDmM4BA(,蔝}7خ=f9g9wMҒ"#5C<1HlQT68͔ԯpPN\74!\HTI5Saʧ@o|jq]1# ݁bxԼo,}aTq} >P` {+qn7Ku*ٞ"BK˻,-{Ư|c6;gQ-hBo h´o4 !ֽ6y/QZAa?NQv+m'1ɝH] < ^.zΖMk+.mq/@Ne<{>u>ԴL0XahV +'3gd rՆ9zeIn;);5ЪE~{vFUt3s&T˻Lڣ)L}~6#=R LP5 O!X'z.`^tT`d_[PSub6xT=\g%+ M;b%<;̔:ڷ%sBtF sDב]|<}Cwْ$\KsD0ȑ}>cAZ~1Ă;)pLeXGjJua3ؽ_?'i~ * %2`N:|jh)ai[X&6(?K쪩J}6:Z?nܢo;Kv}&1P_0dSVuTT#Ucyof-au:]CzޮooW17R,( bMǺ:њ.CSV" ) }jc Vc_"+gGk-?^X@v-<9<YKCi`9F*ƭ[Hhw*l25K, (ER5Fpv\X T{Fnh1,FI3:`KE[Q[t`ƭ'cUڸ8w{KYŐgL`u,ڻHgS9Dg-C'*gsVم7d^ 4ͯ!Gk^ߒ:7`+{<[su=CX\z~I &OL°x5>#2p(??iZ:=)}კ" op(i`s¿so3b.b t[IJ {&*  IuBRutC#ai--+|"t{B k0a~^A.rV107qD= B}{%? } pw#);h V}N0-݅e<:挽ؠ7==C\ ul.AL?Cmvq6!b]Ws#7&:QR1X ,W`NKGML%*Ք{w^eT5m:m Pb!]L (СY/ߌ8dCw>Sΐ%s*BK BԄx+3q4l~bQ c7G96poEYo=u-۵FP&rT0w,^zV4}vJ\j+UAvnAحA*lL4 I wy pew.`x[HafY]=͘-`ʮ5He8 MI-)6wX7XuCY7hRQ\-gּ~&|0 ;uC> +rvjoЅSoSq> Sfx/ƃFd7teqiiHh(3CK%y|4áJҁk#̲g%hǷLX*u *PxƗabG7ՀKJ8tUrgFyB/GĶE_ wY礼;uM,qdN152*6H6=l¦bQvge|G]QydiKF 5YH9ˈ! 13w|e vz(SYB\22bA}"I9W{~A8m;$<Ã4Py&PpTfm,!E>SSy—Omi2:ߪr^sm+'f_ bK &"Yᡖ0[._y'L*:jz||"Ea$VǏϰS oWF<;olTmeQ0:f̼ӵ % _,|uy&T zM[db+@wZS{j+]@Zq*NKmtP 9OԦ/<=BR;#KuH]$.R=-5e5QArvIdNhO^,{tHYQ+& Wptx(>%\#v'90|JP6WAji !*{# pVvb".UqcC:v#]5e>z 3/^in@e^E7֖jLbJLS_Dt=x~1W;%TyX2:Wbwی3W(hjTJ* 2 9Q^.sd.{.IiA>wy;0xtgwyQuﬗ_MTCҔVL=ϰ{ET.`wϖ#DהwMاo\=eL̉x(h(u+{G)`D^% ZOY?^^=oSbQ^s8זDlt-K^ޮ2gYeʟٙ,xM : 0Wn(Ǐc)օKT\B7Zi6ؙ/SݗfpwCZ;1Ww?dFpd:PғmhT^n05dӀi7&]? >pw4eDZx4txY;ŠfKRݡӿwŜ /V q1;"6?u_+ӼZj|ͻ/k" P/9?o7Kt;2Y^rhZ&D6S-!K-Q]%X2C}a!Nt_I>ݺb}FhI?A\jKԓ$G2W Z ߒ V7%Be$HѰNcG!>=3n\RuEbo~kUq/S&\X|CXо\cΕ8w sGy{Ѯ--G\&eXAtm,;yS)H؄;LJD'ZCz/q^y:@|)ho`S9 KHlB,٨!P `%*Fjck+$h*9 ;nCmi< r|hIA/Dy`^ ]pJ:}$%rPtDŽ\ڎYS܅_FFhlA/*i0Λl|-yٔ7\Z C%rpMSq` '/2Ir)'CHn0%<_s8ǤƧ*|jˆ7. Mpp¹_P@c3[0 @fN#sB4-иҜlJnB;}UQRM"PW~T`Go99,z/.kT9IޛB-bpI̛ªƒ,^7V;B@$#ݣcnL4w4)-Bڞ%|i.zl/mI ~$)`Қxۻv7v'MUߑ9&eyG@c@=T9u=~|wiKteԌP ~շ~LQ8of RQ$@Wg4|tpL5F"w:(k^N[Ȏvt/?:('܆o~5\x.ō@9S#@1dT TQWӷMQÎ5H)3Ǻ+ 5; Y}"N3 f9 p7 #~"cloЉоXвgX/uF!m*攧;, =ӣPH+m ~KHrÐn낍^4r)i=#T_WH3ZmD5J>apHo]2}qpM-$5W>5վ;kooBmٓej{OڰqJXԀK^$ ۥX^|+x##־ '7ݥyӆ0UTueAHܜ7O2![v"& /ܲbw ~|O۪#[&2.1 uZk<ƙĮo(1n`Ծ S"/K:+P&n3\R#Mt%4U텃]qܛf4qFZr=+Hz,%8CZ =n {0 imZ}X8aJyK ӻm՘2.벊^-$oMM{r3LD45N1{qs:Fo=)\^Ȕ&l!{Wvx\=9j4)VuH!݋$qC˂W2m[26־䉜9ڶDkZii+`]YԅtS6w)dHdzK&2B. *r6|sUnTqO )vHhvHģ R.EEey(0=Ng?XdpZ>]wfn6Qgg&/P  (8aG 6D-GoDj"&}`~gr*fy_GbQ\ R|, S\73!X3yCXV1/9"フ-*l>*< E4\wF8N}2\,"aURq6@wP%Kw[ @ળvQWQ!g9U;vr="G𬞃FIWbP @lg7nZty! I@sȚ,2a(9 ,IKM,F#f(hbfJ!i݉l<"*{u F=M;>A YA ; ^jؕ?24q`;Wfs8x_wEoC,K Cj;y]5/Q}-uOi B\0vqD:]f&Jecɬ51oy0{"hHṶͥ,MÝ6$s-s؛/~L'b˶Wg dPDoc폧7*E?ޔGKp%H s33D o&K0wV̵4@?aޘc7r4n]Ve=fJHe{qbbs\RYV _Ӥoi>o~w8JIJlyc5Qh%qK%Z- :y#r4tߊ@M747MY!VX+Ӂ ?Lcszc:$+-Xּ7^'7}幅83jtEai,Q\6`5C.HeOLR\|7󝉂!1c=~3S 1{\Ewkt'Ycxh<y+ot6c9~q" VIP\H8B}ceϑ^nqCB$؃m_ %}q ; Pog7g;.B>d47N3;+kdpz܂[9:ܔ,QRͤ <+,U,SqG*|x1xl~Hot``( rH%JBϛI_w?R<'ᾎuϷP:A^} 퀹-5ero75 砞V҇5d{+[^OIcnB/N XÍ^~*Runm Zwħ/1ͪu n.oL +: s!5+O.S7z|r|mm07_q$l4x( ѱ1U'#ҴQѯ #%#k@Jj9kF0o&K]RV~ |8݆tθȖ;ƷKPG~`dkdYg57MrLiD&s&|>|<5Gj@'1}.ڤ^hۥ$*R,2S-_B#^>,O+mia.6{Zr#bw2nKqCG3-jSr3ie@9=Zc8a7ZEUH""7EqbW:c2oHi\,(\+:ϼBC K*=O0Mz./#Ή[dvͯF=:TyªHü{uGЭ|7LkH34řQ ӣAoBQ!W:$CGM MKVi\ə+z$Ս KuaE%>S"T;q]P 4㛉F)8@.<.ɀG R!Ȩ.LBSy&Uط~Gl$)u+ jP+xKhG*+ڊ>đ7:|9 0D'\,n];'ɉ,zXYT \YIh8-ﱮEAZ 3嵧Ę*$Y 'y]O]s ΍~ҩ_ eFm5?zL(G@|«F_$ uq[y)nH,YC<$B_)?w8aZ 9oNY-%dC% 3NzNP4H'2c!sDc `kOd|?3HC 3>%A1GE6p )KL9FSK-m;!477}7. 塼G9[-2^va,9{ܲCcn2>4NNts}X uXOnZЌTW\C{ W:zEhynDM[ψmzbiNN@R{,5>׮ڬ~y`f[AL”/='fcpBMPHsC4=ʂBTe U:`t ,?hF-Do72t?HF+&&ID[D1c6i'R.X_ v.¡Cnc G0Q҂3;5^Xң鮍4<#g<>[m{^[P!d,̺(V*H &;)V3" e`sRz2>6gsCv*m&&Ty}^Q:13< i+tq~dAQNAGgLD|EhGNW޽Zi]t* sl_8g\m ?Jy[_^o܎J]v@vN);?ɡ+ QW,ҥ|u0od,/;}69 Cq/~-K0_whjF`ExbxFozA:M6ٶrht7 QӐcJ؟oαk,uCy>v{2_4^Z+bGs,0|8Dtr|pEF9@Q2vK7{Ym V#}G}ϭ=xSkEǶ*B >pNL%c^/?5[Wg2J ߁z왲EY`4J#썱W2k᜚xxU!v[^:Rppq0=H/7ޫZĴ'IlVdP ywTx>(e +,qC}86_#-vaݝݪ\A0<#6CLԭސo48M,!hpre1T[Vͥ+:F`^sf(4Q#\ I6GX#;H; gK:ykI_fHs_`f i 1tMk\] .H("=jR!v}?._ Urt&mkeĐl"pJ9z+}"a3h)4jêtf`:yzrbE2n"ʿC [QJC|9<4I4_jX(ҵJ[",ѡ}~ ᆛ#u֦d̐wȳKso%Um0K>?~_TwdUz7"4rWuKByL r[1uۃ\im{-_Sy-AID0tk~TWҘf5}XQD|ޠZCzIT~q ivW%8V J)Žx須q0i02kEJ4ȧ< _9g]/^Bya !l+j" k!t>%:),Ƀ"xafl+$R~ZjL0<.W$S*yx['OB{Z,V4F},} 0y%[~)vfzn >-U"8W1*r]i"xʌX wMShk {'4meE%;[̖b;/)xZ1^-8&SL| Ĕ~`(!E,mvR~TԎZPx˾&o~ϤԿDī1Ccޑ_i}[0( ){#=*ʉ#*͞dx2)AH!tBkݼDCuLs4T'[Tt;aŇhK dQN.^c t .kU:/".Z~*e{'Kn? m/h霐u?Ii(k!&ITxkVs/b]$ <ͥfґtCY!u5y ZsG0p2ᾶe[I6{IoM~šeS`޵|U-\oocaIo X,xqHcKaPZH?4#eSZ+g 1n!ؐP ,*ɥsܸnc W,Nց8C7&JNr p ||%Z@X?"]s&g/"!a,OngmA\*T#G[rk&@ߤq-AEhx]!'Yc4wr \nL)Js4iwyؚI%'\ SK mǿcU&One'gťs4ûB Rq W~PR{U@eo̒S{MY^(k8hTH_ݭ}:"/u`5"@ lѦ0CDl *n5~bb@@Zw7h23W!/clT $f/"%6醽CLeᴔ|m|tw-Co0Y㢠#z^ t`I$ͯ-Q"j[EsVKqS8H\l?Na0 S 4ٿ>s*pe,3Q #J$o B)#Xm=~ |4}&#t^΄}qX_DTRUkR:LSGTzQx)ܹJV)붠v1`򃴇+jLT *Eޘ|Jaߺ;_==z74hELTb\D u8e[k[܈C# `] ˣ?0es&5Fpj:1ɢlec6SԌRlrGvi1iY -d%&E1r=yg\o,m'M҈hrIww @uk>+a=x=y%Oeo~!\t 'MyJH8ۧX!̻ȟ**& r~vE-k4.kO{˦v~S#le?\x릶[#"̐eGacP}< a'8T'7&O0=xͽ0m1!i+uz>-Baݷ _H/ 4ucDQP  s2{{_ Wܵ3KPHX/w80wx:,4HK, 6%ԓ׌2Q+ !݊NHy,uO苙m~4=qH:OJڮb'Χ୤5ZƧM[ٓd%G݊z"9LYG;zd/z̕\&)3;7[ BXfp0fjUfPk6S4|?ǞCkp7.s$M}hEtX2bp8+P(m!"%~p82SU$݃~R[jT/7eBA.^TRG d*WX% ~ql>񏃡nIFދ>;īlq2>>&,-i|oȘ1 ?# slFTki:&,aڤ.7in}kprv? ܐ4k'Ǔ[;5pUȼԷ"7xqW`!ah7OOO#C 2Kp}ǯv0;T5a`"Mؐ$"2Qc挲vv 3_*}P\ΦP]Z}_ [!3f0&9b~s,ƽXsz7P;AbnZXT=kj*^!B~ ׁTzFQ3YbXRJ3bd \6ބV曦8;Vd BR"\LE62)L'z䁡fG6ΠN*ˎCiy38o~ (f"vtǒd6>hVc^̉UOn-MA̮EnRKu \|L᛻5%h{F1OT뷵'BG.;yJҴUFl #ïȐٖU*Y$j^1Sta!3m%V"ߜyA\''K|=߈>knVgF1(4oko4MgXaU/pA'8A7 i2no=8 G$kh_&Β[ik|D*/Z=T{MQH5E@5tѽYꃈYk,33>-1'OY P@r0|b֠)oq!O;oS \=,< 4#/G1Uks$ ^s?(0%]X{Xc"L̠_Ƙspt:ƍN!a٧r !AC.|r% _AMު_MR<73U ťbNE=^v~/GA6o/{sp;ɄrBl0an!I8jd#y(δ^E˰ҷǐ5[OEfHZy- [N١PLkI7_1ytwN۵q.l;β1x_[jnYүh4ƊaҔ5E 7kLޗ'$?|=v^-q5cff Ȏ$Prq ГW Y$ :Ww^Kl8?hTz>X6i("syyV3;lY%*;<:r5`ߠU B4&I08H9E\(Z&CEY)u%He(:dޥ=k"˔&YWOqSj]":LhV>Ύ8f{8඄@PaӰ O{CQAZV1N Gs*ӪJbe-,89 ?> ԣV9Ѓ!`w%B{slHA;kѓ\zCa#f?:dfI w|2)&§M/=:&߂|J8oZs^L|[eQ *㑼] _%dMwgwΛzJ6[ b"B1~֭.62_#g֎$ɂ|(Мw2./NI9 =7b1tAgr"^|e䰳n3HK}^k,ڗ'X"S+RFlZwi!M:zTak%agnRQ qy 㭺(G0QC$aB^$wR}C6X{__7,:W6gJ;KIJpjؗ⵩]]ңzGialZ8M5 U²s_=]mB;>FE K>5z 'MoCmü怜skpߊmBѽ0nmg3 I}KC #Ijߚy>E:PR ӠAGkYoTIjpՆ3pJ `k>s@$S(mؙE@KzryR=W+l\URMĘѣm !2rK~ѣ ;68tHc|22W !ldҮaۢbڍ1U$B^SaZtĩʿzĩրܔomRsW4RVHfܢJ[/!?4e* `XphZ?sKDȰ 6e>Iee[آU:RGKWj!1`T 3Ds-LD22€EqVF]:2񼯥8ߠso 5&}B L$3'/Ѕ}"6YCV^WCSǭOs7"Ma .bJ /!ěM=9ٓ0AnL> z,1b?ِ~/™WÙMƐ> `V_3?/Q_aA~TڢO䢗0'-gު8*t10ٵU ! 40ŜuNg͚̀b'2]=Un/ /v `kuI5 f0/R/DGBd3C!2 c;z՗Fo ) $Sr`"U_9D AM<+nHGfmq]8X, I75S܅ jK[J AI uz{ 5xl|F!40&zrPR:7?-QB!R.ņvʸ]F6Ŀz3#M㬫Cb}=GY&y#wl[pEDvywbi 2\e .ޡkD9us9X"opkb0 r6bRФd$WRj8 8:.[8 OR8B>ސN67J˧]ȱX}\>}U1m\Դi+Z͆f.*{!cEC %/r_> M<Ḑq EBFeki%A)Ofռ9ff^CY c3j(y_E$]VHYܶz6%ލ"d[yzGq.@l mjr) ¯k 7^зJ%s:JݞN!r;%}a!PIqk[mPǥH&z쵫u-d!W#;^4_z9,bB*NBhH@.2<$_b9l; @ h׾4<-)1E]ʥLt3gZͅGG qf_`bv͒_v`(* 9W~IUꒄR\uÀh1Ik !ہpDl*Sk I -kc9\(\g|4pL5J\zwmI >ԋ[pqij/l|Ұb!DiFtOdb5Q1`Dz2GR}PbVtZTc߈97pD|uPH:$Xm\*l[=Ϟ;U%"~>,1r|KnO|,5 G![dzz: EJjsU@AԖjrf|W7K :C@(VoU/Q]#QD?3j 'c-[A.DWM9oWN"k$ |,JyL2:'O|H mϞ/迆Ys`)!6aFA՘M_=C\ƖF r([(1I@yѝ*jk2Z[:ZU ̤͢h $tJHzcbYyT{]R;8\*]rnζ{fP)ngT-`̰A5H)"|1A(O,z<o+edtV?K5Ыw.:^$bHK{hqII\DBxXbNj՝@]?#O0 ?_9Nq>s{) Q l A6:owA&gm!)\f\M`+Č6HB,SlXw\_P9#d5"WpfIRLOwTn w@-श}Z YI5#y_:w\2[!] 4<`D}ZCOY>K= H' ntK,LSJO*9(dO۶fDrn]&qƖRKX"-T{ (G8!:3_ tɹ+R6{adQ-eʓo޾ߚn=caBKm߲`5Kb$e}΂3#&{(9)Tْ:%ƓX7)Cڌ&^@&Q d?#{wv0YF׽$ &qڷQZ~ޣԐ0#j#dEݗv?VCԫ|/m*&idG)61- {L2&,hJUj>Bj sd AZ1iAnj8تzp.et3Iq N6&sN=S4}Zib J؋v"V0iא-̄#t=izl,4+TYk N{(w};EX^^ޗ | O|O)w/*~R0M~bxϺ'dsѦg9j~uZ~Rp!!?lUbl B!=hFk.{}D:g?Xͱ1Ʋ#~EقrTp0-Ǩɝkh&J<9腃8R9k?K;pVM 4MNK a=SWݕU4@-y7Z`ik{SWH$*[⢏{R0tIYKs %\.k9JuUkKއlcuv01zZD>?r޼_fȓY-QF;31PG~^{INW`<مc۳vQ퉝2 Zu+27Yzoyp0mʲb4YG%վ1T]?;p6U7 IPO_өp* Dyl^Vh:*2&1;D R<-w_Q& 68JO-d8=X.2߆\(We[A4|?Wm's.⇫ `?F_jv,2YE!Ń9"a-|2"Z4(8A18O0ik tSRQn[έATq Ceϒ3 8Lnw钃`JU7׉|UC9mw49VeUqY)S܏ |njb WJZY#`| w~FuA+nH<~[:u#q u3Q="Fx,*,f.Շ9EwPupC{ v݆vPQ'",, wx`@yDV46֜z"-:9+X{6n^C;;XuWYO[1__"=_A;2Nnz#ƌ@zsci:ܷr.`ΘrO.˜!8һ% $U:za~4eGb$7<Yr&<{oˬk,+UEHd;Xɽ6zy`^Wgb|WL l7=|2 o]kE. OcE!Yc@ Ȗ2!]!bgxK^^qMZ1z )1'L@x5 G>{LQ}=C!(2 u~/S,"rx`+V+ct K],jS8Hb=+Orrx(TM:?IbaHr>Єra୹gdܯ'6fRY3ؿcP4rK>0-l'hQ?ra(.PHS}VYSN njTv:NrrkA]ƦIsony=Nޘj.ևHYN__:!(\wmd~^#fIɱZbuȤkapBEK:_^ymj+U_銼y - }E!^9.:Mڔ6^YS/#zhY<}DPB۔)fJ>s1vEe;E^Ns?9ͫkĶ9iv'$ X٘ᘇt?tf}DKuoB^WA@Ha cv9}μyQx>'2=9D"I&aw?Q[锪g-WEgoײ);IG ɩAu̯sq{j[!M&+4e-rz*סkG{Փ*%\y" K^=ݲK OB;DIUkr pmrq*/\xAt1~H DO]jKFCmri!r"Elupf,F]TGD&d1rQ##DM`^7Т3AW-߂꒪hECӲ+ۍͧ Yb _]M{&Z]@Z65ohXs|89jla6 ')8nxE[(#(&߂~ +DJ5N5֟rvCL<'zȢԏ=%$f:пF Chd RGXJKݐ+!sJ{Ee>P<)!z'_Y}C՝* {% ׌2H/9ԯlj J# i^o!"_4hOsuW;uJ'8:X(ιg~ev&vEpc_~)usf.*4GYw#` ƍqv qrNQd.6sg 凄HiuWD~ɿV^p#ׅ@(,?kcr>"ơaS *05"W|JOu{*5p?t(Hy%'t_B&2 lt?D7)KgO(&u+!gXg8bQfs5P,"Y2@yxUQD|C^Y!_rK0`*s"pN!,+d֤-ʏ3DcZ)"审r,GP|Jiz9k2Eb NkxڶT3B([7S&ۺHr& Q@]!kLjuV,A| Ju{%b=|\DsU9pvw/Fڄ5m$.SE>biv-U'{!)@+ʚaU;I{Fgt[ˎ"!z-m$tA*!So.GIsF¦7gԓw)hPBtnDzeg$yV@1ehn?IL;5 J==Q#tI94g~OXi޿ɶ>W~3\GV  w1?qkuPI=76OO. >awYίWwOeppg}Ŭ$TXa]PiI =C1hǘK:v*XBK엎47r ,ls| 6cOc!t0:>Yy߃)PXbly}$.g I1Hbii~*2c]lYJ!% 9n3i2ILy[1Ѱ2nx k_XZCPJݔcnAeM/gJU/d"o:S/Q5P zIJu#x$x;֊p}\(|t|# eߢ⬞]u^vc7j#a0H;0@lYd5 X+EqvIP~IM_NL)=d$aZ; (vL R5,QduRwhGO|1+n LE+o3GLPv yMsx+m̨Yc~!>qp:|f^[f*fZ)۲D$?~8U10ƿXW2ojP}ISV):Ν`^tz1]7vIEx;![[,yv,TGF\'6){.)F^Fg ߟ+<]f|;""AWh='1A3t_^e$^0"׉e rX/AجrB+֧ OA@m5,d|K,3 NhH#@Q+;N%Z.|J5Sp?G!u/8,ldSof•G"ScZhS:fF. R= MBs@ZŞ#gϋ\n~'VHB%lOؚq=<{lE.2Jj^Ԧq\6LMkVcݿz>*T4`Fikxj/N_Q{I;doqtb[Ђ *{9=w}0뉈=S uy}:>k'če3tk<,4wǒ .wZA64xt1-$ӽh \t:AdR|Z{s漛7$E _,p ?>۱~ iAp)f#lEo-~[ XÎɶKWЦ9'Jrwmdq΢&JGk;d\c=cRUQ_,Sش ȀԠfr]0!8U=ܖngNBjsBͣr%ADwSix}Ii CvxPcc4/B}EZRzy(7}о;LxCJƩq2L&dDli4x4nx~CwkяfUc !V?4&,]XfeQd8U X8Xp_>>!qքըé $nyJ6l{(/(Fq&𤶝 c'%̊M8̸,ַ,z*̐|4@o>#a!pZzѧ̊ sik=ʉ'䍨ge_\']}?0 ƌT|> a[@mH)yg+ζ&i@ϯqzEMMz.yFK*9H7 ,,pBMƼ̜ $] 0w*on(Bn ' a,˙OT@6Wr#; vi{\MEL\hp:76Tk=c=$\kpi*=Mȕ'g'd1躪DNnaXN_@jm1FmuǿF6sF׉]N4nXQda^ē҈HH¬~x\~Vsyyidf}lcOs=,x*EFt-l=~ zސ"|љF\}du]LPDO0FUnhRƙ :ˉc6@6qH{i" ijLtc76Q̞u]D:w%*"=U3kKĚ }OIk[XK?e' 7>g~}#Ѳ[ a&3$$' ߆':g/7*-e*4ꟻ~u3Ԙ)*A%JhcNiCX~ckE2)^_ҁ՚oN/2<%NJ['32w~@ kkj+!ÊEb0,V:&R$5Cc w|,TxvE Anb|T337w63k23u" }zhzzERa~P@t ل'Ol=e dӓ$O۵u]ifMѿ'M)瓥gb1_G:|!Cvœ#r /7QmҼ FPnsAX[c:DbtD O C#z$P8fM#ޗiqkqBZ"FΓ&4P Y<4eD|7XӶC]=WdaM@𑒐VIKkjJO'u5Hě#%FT\t| Λ/f[zK *>S +?m At!+%Ll >roe}b*%b 7b") &tIw&Bi [LBFd-\E_$ֱB`Ft {l̀29adZxtqfpp :E"㣐וwqs>p,@M9"m؁ ӃTe)\*7dc-5%Gr lB@K?+W(rGngz:BĔ7j>E;2[{=Fs.։uݬ '[+}iXMP/'ƥJZ](7߯g_5# b̾0]>H=DW )hHz w3FgF\Mб!s% 7X^?Q;Ḫ{#^HZzΫ_"G0 (@ NmTJH`M?>V2ڹSwI: r6:}|WALC&蓝m'P̻LgIkoL}[1 |ź~GXUi#[+O7Q@rAVӏc!(+jhҼ"22K+5CdF4n>]~NMWGcg>oH )!&a6G>gfkOD?u Y ѕkӸnvŴBE^zM<Y9<3yG[*Nmp΍na>&ב!{辳)}= 4I=)3p HaRlaK3Ai-heHBF1exOTKĆ$/16cXL֓-霓{,[vlcџ|lflx;[N'N::IL#hapxicm| V@6L!\124R~"-$ lo*E{z}a5ݷp5ʔ.xaod%*}o{mleM@E"Za诃l sd^Z%~',[b{q˜(޷suJ)0JJ߀CNPǭVJ`]Ѡ<8meЦVV!ڀXq`\IEZ/LJ>}-)$:TN*f)T M?!ɿ -]ٙn~tto520 69%)A.(N -<)e:M):Z- קQ<M^!RJ&02.Ij]rb̗B&ן9| ~t\bkuV̼G'4h߀$V hD8o{Ķ}=@cZ.,B^:SsANbER*ŶUj!% x@@(doY0ICc㍙-M9;ِ׏ͥ.[qAԋ-BrƐRH]GFbx+q{}*exxOǣ, |&4-"8) ɳޥrdK.3K 2X7(D2Z$yj:<{[$NW !n)Ҁs [aZA1{[xF} N;kTV.@2IR@L&"+g1|vu52#̜6oX/Q7Ss-ti6Jt6w y<(j̍=[<9nO -iiǃuρљ)%Gʚ61!Ѿ+I#=pWÉ/neE4ropTё}/9򸈞vx[zY֋vbb"6:컜eoB/j`;XTV;u 5r0TG=8m-b/%6̏'(w/F/?2f4c>QyEtOy) + sw/ /V*p\_|$B #jrK%2@L4阨ؕ3ߜAz16ӶMaNIñMᣑ[.Q`9fؒ .Oe"%=A C^ o`_ޓٌ"^C>2̟ԹN0|:H4 teb|YZ[cD5wt-WC!:nz|@8֋LJnDޚ<Z^qxFYj/hF}p1+V>ɑwzn@eefԪ ĝaٹ̋=`UI#\^h̼JݙZIu^8L;Ls԰0h"sё]0^uqPnO`OAWWqX]v1VI>u{kS*ڲ 3}-Q?ʱhC<vxWrg6񭿥,إ7hf;( Z${/\ÚpŲ6ڿNZKzj s[ Ag>mf1`B`OUӞq_kN}zȎMoK(* Cϥ7x-n훲"t p4[{+qp%WS Aywzb+6!~%Y8&M.'e!Gc@oU%'_M #GObgBԐ#dB̿륔i ?fSb-Db|ޫaJVl6!XEd >^hlH;=Nnimdt#=HsH+K?2çK9z)JӍ~ȮZ}VshرoӅ$нf<67dA3.s+k@G)Oß}"Wz`ifl:t2Ve&a$ƶ-#^; c"j=.u ALe֩N7vzN[7'u5$?7"M lpcRf`塚LJCI0 f[Ո$e'd7'7, ;~(2G-khϡv߀Y}jBZ<$Jhα๾Dӡ%JÛՓ'o?'bfwٿDHEQpÐ57x! Sm8zH=Ol_ju'9=o^UP u^zRH<ʦ#a Kp?1׷7?WsKhx%E+Ql:#KG܀w7_uu}z^U!h;L3-As\TKspz%eoWn1o*s游"J>s|HwW:(zHh__' o _ L59ʄzD}D@)±Ky1}z-DuɜJazx@~Ɨ'KHF,1zn5K3xPt~hJG.m&}B=$fQ8 RS\}si+uyp-)),&&R"e S(ݠׂ~*63RAډ|dpb΅(-LuY7񘃱u}XaFB+ 6 1^ґ&[qVԕio_7ࣷ}?ww' pUYw"P]on~㏓$kh~WE }MIyzL p`G@Ež-1 o;GXaN?Db"ZMTUPVf쿺Ĝ"t 00շU 4+P6_: 83՝Nܝ朰oWg݃KJ{kҐQ,w? :52$x'e);gύ cÏZl|Vvن@ѥ]||C(=,A ̡} nJsI/$n߿²\+㱦0]L왹#)A6.7߀8 aYd?-yYW=E "^{Fcd锏puO38f=[uT#1ʫUR>?-΋CMיe7u#W1%S 8JܺXE)cz Њ,+.O2’)D(IEԜ?ucx]RxTv]0:\ZL9_z8GYNۼЮCW'uu̜\59/\!f=rCXkfGe;0Y!]ExXLT}fɚt~`W,9vvhX^*[#U|""}X&h %ϥd21\+W 꼣IW,a)f~5@_ Z}؜?ddU]Id+b=2of$?{+mOoĸ7>&H Y`d (+#~Uq/MLt}^4O7)bxG=28dUIs]esyM \Z ?-R<8G:O$ύZ^oe'j{pneH+bMJaZ[KhrMєI7Q-]cqX]" J!e.5I,.ήӟ2R}jTֶ @1bs+tƜ`gϴ&{JV@1 dzJd'T\[aF8 L0Dm U}G*TU݋7:c3~|.>5ѿe3*53p>aWDvQdҵPUTc-/!)pQE>~5$bb|kG2yS52 aK@t9x?2b/OhoVՓVY[+v[9Jw:K#Kwbq4p (ǥlߡ#ƚ=ˮf1ek)G#:@qZМzy0ټ"Q8xs"[%, S!N yV U3Sl)C2>@*&w=v&&G (˪|6Pm`@e{_0O@{űMtdhabvuNwnb e6kR+ǁQȀKn9Kݼqr 3iK4cܤTmM-;T?̩?4lvڛYR]dtv:v줨Ud8 XU b-Vk?OKB˺ko$jaAxK&"na_a6/pҔz{-l*U5OQTzf^I=7Z*ɽIaփ OZ'y=H{uS2, =jTgcՍ"c1,/m֕D>/iYuZ\ zel-7`WpF6>qqiq!xB*K0~%o_@+*)! Nt) JӲ$,n[5|m e*A>"pr;%kt;.>y8DZ~~Iۢ`h'y?@II$fэ>J4%VҚj/zcF-Vlt/r *H,Pw]A_?/N=D52n[7cQ1cScDa}0 vGt9ɏY*?xƳ^U RrA ¿>дyv8ă2T}*U1P)j*%>֧+B%AG0& N:]ޡQ?j؞RA{f Nbܪhu1)&UIDJ?#0!]x{9=5(XogEQp@m{k_0#.فU҄/jd%J'F? jTRG9F+.es5ٗda))mR_-NtɆ=ruN~?8;1+P`g! @ * Rg4%1:z1,w_W׶U>w:֫z_B%IR6?V_VyC|=1⤬5_wvśtk,lbBQgHQ׋ꐸj'1*Y-)6vRv& @\{z[D7}ftzQ@d5e1FK𲺯 F%mUU7`=C?U-JSbk |3Ì-TEIŚ,2hAis& gNZ #/s|$6w|E/7+̽<5P-ε9Pw)EFڎILdY~ 5ǣ7X^:ӟ֝Z.;nm n8AP:B|4JV`geG{`%Z? &`%n W3ȔKEj~XL #|Ih:ZakDdcD5kȿs0t]>on-(0+tI8SiFNF_:s\g{p3 ?"%'!6e_Ikox},20 RD%+73P}nbхmgkX(Q) v_Fx,d1hyʾP}e JwԤ}{O`&KJ_d?GY>ܲj!yj$\f(ѤJ ß+KQn]'kR`0a8<˼eVvA~anu*BExcPMj6XRԻdhZޣs17@Wd B.~n;zglΟ$2ԅBPJ}#/Hv *huGܱ}\GwYCp\8.[}` 峬 ,[ -,zI6~~g.|Ϣ5N״AzK@UwWM%!rCbʊB%[h&&E[7VK|(E*U͵"4 |kTJG)Yc3`%>h"IiF%ƴÔF jփ,%%uZuH#X4qB-k佫ؾ `6(SؖH+;[},%"%L|zIs&Xگ7 Z(j qVeXLهGp ,:Jrߔ; m 똇/pc7x$?@[%˵uu}A `P9@]@$E.+-eC›cfkY?Z8DҧXFZñ_}?IiP:&OVH_a^< +!u`2(wY>lWY.tl9k/3z8ֈ=@؉\/P&`]/1[~Lc)=T PdT4$͏f+9rE'/`=t)0)ꙉ))uK Fߧg%}CN_( HepF,;gtԭ__ \OχGDeyj]C"cМĭЙ(C,$bO3@V`߱|GjsGW'^è>Y<xR*ʲ?öOcyt=Lkk~'cBT7`})(˿t]W+i%%GrFsj>(E^ZCbInj?ZZٔĩK*?+^JbZ.\y%ocGu:X=[K!c`H⑟_^h2mƍn0nن.S\xH pztpJe#d۾!""A-i楰#1Gl5{˝BBRx j=Zz _bֳk%`riw(Ǔ6&lg)5> Μgntk-cX.k ^vj¾Yuځ˼VU~,LDd ]wȣzZUK+1f8D) bO&^E9!27}}ԋ9IF1gNZؼM7|4bง NkU7(LV01/ 'p)ۦO:ddx(AfC#+}U כIjRhh\PsbF2[g๚ u% k۽9\ԯD$5}Ӿ!`$/9] Y1B">% d (_>8>g\'B^{<͔Jim&꺿Z7&%AyF=ݢCB І]J>=+Nd7HN+ ,5 lnm )4Td/WZ2Voy/?2**з5ۤY?j}GElnR&lٱ@! se1Yܽڭ?&_zSDLbQl/ ;P@2`YF\8 #O_L<vQab3sYv"[ɎrcTefI\fQ{VJ2"~f`>5gD3dѼ7+uX[!s^ϑIzy6ݨ6ӑ㲣n)>{Vus~+ʙ0+9FZG:ELCemD|{M0_]l G $+Mp5Ň[}/d[,HqEЫGy-d!z=%__̗ G[8 Wz [,_B,#?\fÕEW{),^Kh|j7MJ6G$k\51R}aFS@yvpe *b{!-|[JӦTY߉)y[)`86Y|gCDڭq?*D8I"?ܐ9'H">FzNfKWLnIX[+Ղ*uCvBD&ײQ8sWH6Mku}7>_m/N^dX@ݵZ%'5jnh(?C)26&G.ULj.)}a nBvռx[eXRd/FHr(5kX3ӰEw,yu/$gc-мPR,c@L%'#.)wWm[5S>F2{>r\ !*kk*N3Z|o{N◝t]EW <ШqM%+8DZkS0yW,z$>Xs!߰oܽ\o7>cQʴe+6lUυ_U}Og)٩~Z_a?ZmӣP&TА2SrIY_є*0 x9yv>ۡRY,„&-]2-ej&+C݂0>[}A*$B`e{# tp>>:ϿDY!p/?'fl&bS7Vg5yQ-ijlmI1YRzS#d]GLz-Q}h6%AeRެTV ]+S"Q/lEJwvoLu顡;Pǚ--:tx`%L3U*qEw-2V͒P#7hE'8z 肶VUub ߤ(F"#ZU#:|2ȭEljh`?jzgݍ_`6,H>5SDr͈ؿoqfGA#.7"el}"#Zc kdye ݋tOLޣӗ FQput ^j"Fv!/qæVvCz֏'ݯr9z61KU^z_FH3>>Ka'9H H}? |GZp%T$FEdNul= !ܲC,-\`>y ]q?GmEP,piHbCZm>u\{4hFXg +s8_p}fݺ*6uF^*쩾4h~.l=C=O' P?p7ߍ鵸O‰S$-8z87Fk)~-uX> ;ٹUVkt؝;R kCY!WfGӔm :#5[µ"؎ e#@,YBiUǨ`ʊ)5J^vF&sMI9 ٣GhyF Un MJJ}4 ݔc}h[H&k POӏV~(E*Y =<7GrK1`cչiǝ3ζEuuC%%p(A4yŰv}T~qXQЬȐ3L! !b6Ns1҉4V { jӼ'K:@mk\2 GXhzBr&w<Ý,ݤ@0: !_WW43g;l}'N8=@LU1|qah4d<>O8_8y<=HumK'wɷ 1SF JT Z<$U^9`~.*gT-U5RI`jJce&CO+o%wlwmӲ~SEao.]ݦ!;̳E띫: |A#י0_K+%d\Z Dh b5 )[AJjB zyy<`E0Oe^mE}ˤ>LoYjd# D讏M oa} ^b k ƯugߖĻ툚0CFxS_3A=NJ;섄$ F>]SWRM#4h/bdԦ\ig5N-=ZRmvM벯#9}h_/L ; B_[2i,I59\WZuK`8/JLrd`o9#4x̲sQ`2Q%܁U+4BbepUKP}_ׄaRTnE[!OCwnKhLJrb ko:oiR Y)p!gu<fH qI9cD/&F'{ smyfE67ֆtN B 1~gdE whk͛gs)OJޔT|&  ёMuUއqG+x '#j)~,E lB].OZvU FHlf8k/U[qW}8ﲖ+2wsm~Bobya!D9u:ϧZ`mx 2w'!_0 [a_{EY֞OlWd5Yřᗟ< ^#[ySAaZ2Xx @~DC=OE;$9t1Fxq̜[i2P}3ȵDd?EQ7t Ɋ$_UFs.c]7G O6tx+a'kQ )Ѿе4*dI0;מm]y[[V<\s."/-#œ2ޢquܭ]äΡ%p>SHkOwUH(-Bᠴ6VVѣ0jZ97f/ qhQ ;UgE>h T>w" e&Gn8u/9?{Dͪe nS0Pq5ӐL@vؕ>imüz+҅yi1 S]{'RKk,Y{tʅuv۫fRH-#FkA.&Π.ZsZnHDkz0q8:`1p1-eExMrf?4?E^d_9Kn&.V \MED>WG;@6:E e45zeu?vR*g"@RLw什lGN֣2in-]-~(o6aVv݈'5gLzF騐ŽХxo~'ɾ*kN*/Ogk=T)fUn%LD&O~刔=Ű ߰RRL9{lpmaM+h6/_\SXIQm3iGu3+Uz:(r@,wW}>MGN=m,=Dȯ=j8<ܿ챶Ǔ*'C. nb@H=oB5܌/MH ֮_Wod#\لD${!XYMM#?W` mUo[rBTgoHbTkX`ЄyPo2=-:-ey2$G00_ rYpӤ}eõCS7GTVد#S6u D Z AzR:S=}J{"uZbVu%ѕyXzCKщRDl}Df15` /iJmjR *,8jpvWCF`]7rcyL.3`r >2̹XM,ȈB.',=*agLk b`r  eqAÃ}>ReȰX.֗h9+Z"uY;2BۍQQ2$K𲃷g[wf1gѰ1&ry^ |:t̅&ܢxOx&hpJį"Zڙ, 0ADbEhziKPO0$8f7/PhE;c12:sf#v qqnO:R /F 3_^O27Kƴ@_.-V)?f4V^凃2~`Lgs>¬}p/@(EnT~)D3%IeRTg%}>bI ӑؕvKe:kid5y~]#Ⳏ5%mΐPY쨞iV3[}4_(n5iMtgG)ag<ٶ3͖YbC]_ $BR:ty>K:\la"V)$ GQ\f[q_Q[`\_y]~H:b.Cǃ6ac!.xQ9p|rמ4]Ϭ+w1ߴ^ۊ.qm•&|p*h5ڒgˆ/iWu~wSJ}R-Icknd5[i/ C%XnR5O],ި3X!3nXK7ba̺XȊC E(9,K._͍v~#ODP*sFцQ:`RL7O5cr~>^;FjFc snU(Ar[m8{Tkji2ȘmFְ{V!HK4ȱѪIű ׻"ɥ A1j.Յ#LYTv1j81"G 6fjvٓ@P cea<%M$o^Ɔ%@M`6e* 9~0|uZ-O0$F5?f鷔`=ܼjHpg31$$Фlzv>a8qĽ vأJ|!OY|ka,k%<iKxJ⽷(4S.9,L)TO(4w&%A(W;DjDj>Qyx.]hrTM{VU`[tT"jkl" < ~v0o4g o鶫ۺ*'/*' e5m_Vcݤgj!aچ||tV: Fx<}AۓƘ2$S͗"B%^O8E= #F%0 ~J UI~AdDTI ]̻%H%_~y%H4[8ܲmN8MȞ0 &j'p>fT%[ iK|6hJ?Usew",B%;ˁ'2i`nC ^}j`w/y~@rFSC,VE FUnO0g͂X7+,isagK9NŶ<ZC󀖗A+ qټB2t*y!"w~MU]&Q̘__ƧFg59[689۟eLs0lXt{vo9H!+_Q\7 מ*JٳxR%G.(byk ߣ Lts()7՜r+̑BzphR{TYJve#B]{].e:(%ݓ}$%B*\7כylXCׂ]Ѳ9ĨxR\YY?!Y̬a!Ău#:H`q췶xafDm.h_;vQgőQ^E0co}w~"j~N}fFK+yn~ 7zG/ܗ}sK-CBٜw@) kV9:=.!GB2my_=Q@sr͏f{|tA sG!Q(=zJ|%:al87"L"s@$B;G7$8JɓݓlvS\F&3環/\.M4sŤXY'Gq[ zda"/a"S™b$e3~'0"NdV 8Cxvѿ/iVo9͚ 3^(F{x %`ӭC`DEO*o1r)B\k6xͬ|]sc23.eΝ@\9nqtD^ʕ,}Lpi`uf GbMi'y{IwOxQR 7z5CƦ8<>9g+3%JLw(?ىh;Z=JN1U ٍ y> Z)"]||]A}26rmI:dEmL!FTy1/Ƈk}}.8eYr {61'[ͼ<)gʞb2~UщA6VT,uNaggw7,j;>LhME9 DfDȣ@Sw#&`;a`/ze?pׁ= :xl)/mRk+c6t֑'%v 4X.'7UrvP$&BJ&$2[ugr)+0ʂ2`WA$CF\g6m38?nrus&p@?hQ <2%r}AkXgx \:.Ȋ,Q5Ǩ &TVooV4~<8"4j4YpΣ(ge+xI`5!cB䉮FCSW5x[$->.WC!3cX|K:Sf ِѵnDqdnK0FST? mGEN-xdV)D VX@|uk-]+WAwOP,+OƯ ?XgY'JXeOyBnF:xОsXu baH 4!_@ta(։Ts -Pc0!˧( ΃'CTN#!'n޴A9Es?2b.rQ\ᚶsͶLA2_%yQlVGuR*)bY9v!1U.SnSm69oېi7vt߆ceJ%Wo 0DsjDg`b*w4TvK/"]TQiNjʐ* ۣ91@3;qK#]FC_}K&љJQ ];246O)CBAP+(?H&L6}OKEkwN}$!$gxsL|쳂k\`"m:I7]]aG*16EӼ_%J%f>yO5S?CoQ5wGߚg0ef$17U`|Ob=ָ=DH/IlIX{xOnG"! s eWG9q@RA W<[/L[’kMj'R1jMm*|N=Z3knj9&O>eqFܵ?h:޼;/MOZRT8;ҽT x6Q?huX;4lnJ {I g_Xp`PQ<]DƥMwwZOT՟0ɫ ESNb%|&.B^lu$kH`[mKFf4Ec#Ҷu5p^K#<@2Ēph3Xuy* s߯lJKrum ~v毁Q3]L A/ePcwhz_3"8g.JY#cO\k[ԼW44 JUtQSFި#ײ&ݾjaZ"© nMp  /'uǗ3 ee ɓ ayljz}6>̋ʊ4D'h.}zzc\cK3[7z"_C/QG_/x-K郼Xnm^jpi\BfLTttxk4T WZ_I\^vm-08QS/ťR~MaIe]9oafyʛ)cKnk1"\s9E?^p19nz>jg!T ݱOږS}oNfѴ? !zVeԴ] =ba1gE!׾vKuK xPu>IBD>ޥ7M .|`m.{zH!Øw $@AN\G[D/f#"}I,Wr~"فazKzƚM~Pԁ *P0WV#~Hh$9  kAɼj{P*PHtv(af{_Q++%VrYV 0Y(K}[Aqd.p-빿h~cێT:o\y:'Cwh6c ׭:a84rEc#~1߿@'u:="[B2EF|4G<0# 0-)֧nNjһ'3n:'\amUKjͥ&Wu*m|^|CSR&M&rMl*ߑΣxSF ^,YomS#Z܈<( iwGM-FDd2Mw*]A4*tʼn}I6oU{ލA[氐Am%Zc(o˂Ys qrx8ha7߮f,ijo,nw@!n_r:^jvǤzOxn'ucO`ڿ>oD-6\F~R* Z,M}A}z D@3@F@/'Rl: z@Y_agak̿V [Ͼڹ7:7İbȐ^GyޥK- BFL adb>Rem@Dc =Lbf*= ^d \*s_?|8-Zȶ}Tx_-S0]|RĴ^? g_"AǦ(#쏠pB˃ܯ_@ +l7u]`a|Пvؖal, mVm[>bώAG5Cx.JUܯLS`(牄Jp+kʳIÙR77{ɄTx0}pj1~?bxG_U%qC%oªv&8󷁸ry|םwHsR;{g]=ݔYΣ6m= >S _% =ĦkispZD9WuLmOvY;:(hRҀD'Ԏ`LJ#x~L8gz5Ƈu- aFуBgX7 7Qe'6|AڼH"X)W,@mP&ls&_I FY(YbF2T™GBr\I}s7uaNkEp>2|'/fu.rǠ_b __WАE/F+d392 {ыu0ַ#7>i; `֫thƽL2f%ˮ,߀g")(i~R4(eh8.|~4&^3T,͔%NjJ^$ msOPDkd %R|#X$xe`JhIv9C$B](Xb~j Hn_Q'÷[Z->K>i)xQqik7^Q_6, ďA58pm_(;LX IgSv,~PA{@)s1;lS#?s: Cxd.:L4!X 6=QCI]H|B#3KWdvP3? u,E_/ {pރ07lFk:zX/gHFj^}5!J 4V֠E291??XBg 9~}ˠ?u^bӴKOKLʙS0 f%k:x@5H2FaSԇ {C[$˫6{K8~ )׃M^ADljZT_W~v*sß CX*}`e_ڸ=r\>x5J>KOs:HZCbuC}SvǢ#:a9`GM"̓U7&砛~?_!UCƂ)yv`9_>H.~8{.2} uu x_)ׯC-B؇BfJ;D)}ySu9M& {K] ੿ɡeP_vsvU)k} 5Q>BA+QEf*ח*a*CJ1$v 'GLn>QNgi{ԋ'u,'4Z!F5Xq}64hS`Kh϶|FȔڹ/P{KS% yLE-ٵ ?(m-!Y|!|7c߷Qm1urd~Qp'qN]Cor$!k񉪭DminX)jVdCk*^ejPahcU Mvm%qu_Q0Na y;KDex|Y}혫m*kUhw~\~l):{ūJk_oB)4}԰{/TGp惠U%ArXy43Ś==i̅#mSB8ZA.y|qDRz>x( _Fn?eӖhߌ8dZxG?n~M]_v %:?N`b*qJR̜7 m.NMv,ߨ 2 1eB:N Z< *Kʩ.Eluz[.vu_o%k7 3|\ ra?6@v}:N96C al!2He ђk}VR2TӑcyC#/{)Ҕ )Rha5ڞ-Y%(V`QohRё=o$%9)D<^~~PߑUŏE>uYD[ͣ2uL,λi=#C^K7wק^>v2Wk"Fތp ueFD8HEI{.B'] QzY((] J<̾`[q5&cd&sx4@LZ7[Pٵ&zp Px jVdàꇭtaw`Ŵ[3oOa!Fh2bצ>7%Е:2&40q[8{%lNIqܯvDb_/$(QcEyݟ:b˟<\a|+!kGojtf c:m*l4~BB[5[DMėř;㍽o-,N.#'A`1W([۫z驷r%6]/ہ+)zu''4M <b45TQLoq(E Ո{x{G/(hͼs" ӗQ ,Κtf_"Z%xtp]x,!yH/#^ea1zIUȵ}icQ,-!Ѵh|.ߊd~*k]XY5 6(h-;cOxcy{KgsZwhpEްJ ~Hv@| iVcY sH^>[xzZqs ĕ{T:ہ7Iڮ0{M^Fzͪ+|-k=ȪBs%r$^+IXt5TAoݘe;DBTOsv)tn[90"[:Ls䖢IA9?ij! 28I޽6w d[7MYj7j^@?a^:Vԛn%|r=\?q#W\ch<Ƒ, :xjP6ؓvwюTn fm+M'ʊz~-$Gq>SYf?5훉q@ko@]rڟ]D1)<󺺅pXR0:i.|gA!9oI.Oni :!!v-a ./2BM 7f')$oZ6]G ߛ .gI c|Gxv?F."g]I5=OD$w}A!=~!rSS)-e7[nW^+swdW;Z ;_F3E0m$Ma%٬n'fY(巍$绀a0wM"M&!(̲bhz M8 lu'FI/b%d ;/96 `D+u^M2b(ƗYw?%t#1'}ҟ)Cx"ƫ7NFΓÌTI~`FpLY#a,beDp! t1BW9u,J=`cP7_{_q@8K.]x𝰓S,AbenfڟIMf|vWBp:c/vv횱(I1>5eNt:0|ѧxi1„4e}kEp9d~8vuo-Jr%pTjGo@ʈطr)ߧh^mWy>i^rҷȦ*ruNJg"v ugE.')}fg=~Ϗ}q':J޶(zQX0)nN׳8&[W P*!f_6 M)-DSΉHnw iAEfNIlۼ~~^uYrz˱ZM9"_&q|toؿɞ;kd>r1.`\(˝Cd 1Ʋ 'ָ@' je_AK"}swT4w?aۯzos<QSĘU^ nv{[Wv=E97 }|A>;Z*{|I/Cya@?XQn #lP3(XWCNބ}Nk~<}uCZ&#PQΚ+ ‘!Vgk~@eZyBeR4 f!C[tlG1bt`K~/gJhz| n"*襴xJ?U!F7s);a<]6YP $\vՕW7|ostۑ6P~8X^f.L䚮>U,>=cQk?FhIw|vhLO.P,XTF1y[ <3;/bNTKF^$Mѵ5o}lG B.S ys֭~fn}WHc~\L3N1re:B\$UTKVxPi7`ѝVtyg 16Cw X 4!pvMᆒ-UqJv=o ҢY2R'tOpN+NշGy&b^{3SI8ڂh& vSQL/dD_(tɹCǐ HĬ-I>$J3)D`okX`RQxѷAVJ rVEaxjAfЇx*pϓu6Ss\6v݅y|V>_8N)-S z#ґ7z\;cyHC!ꡜZCQi7aK/Bu7;suAȇלeZ븪$#}:?']~S}w]S" v3G6Pvn;Ci(I}R["Em=ߕ Ltf8 A8z99Qx=Z%>>'j@?a~yZ-yS#޶sN-RKceIe|ߡyQR= DI( /=&w~q}77]*^vR߉㣎ub(y D9A$K"bKn^|goo!~1 +ސ~rڃDB~*5[H)k9f4(spv@A lT76_na=Ƀo=v܃L+:W#~/OQ6x ]Px7{)sC<;4秿R穈rnv`FT\BNc͞z62,eąf#`?#L{њ&b/I]w_YS@J~ _s<5V0EROrx`Hsd#8^ZrpGKfhBF^(ꍙps`:]BPy2TO:&gb7_GEh45g<"62SM9< @9(7V.#['裯秧^rrα;ę0d o{RP1E7ɐ! uՋA`|"`rHh@i1#Eyؕ"l@Tu+F9}+a!{c[H28EQG59/ g_` ܦ9 G5#qƾHCΪ$`De%07 (l墂D%n(")oLn`/bܩA6f M7?/uڲِQ鋧Uͅ]%iK;"@(Zr%TyIoIg}@)(¶-܁lmt9ilXT)h:x-fOzvfg?ٻKn\,@\>'O>F/I#{>=P-XS/~|mPP!LbIjޠI0Bg}ј_( L _Ǘ.pSz)2;%k߫[H:{^q<&Yq0~0!9L?1dr߈O7eʎƋcر8k!/^|4G|nKY$0:x~XKK #kC 8'FEM(: %Eyו,g#; b@3߄w@]|럘[e-{|cǭ^aSx7ǡx3|dydVSPzk!E|9T1]ͥwhoC^RYR6? H.:-/;lG~Z>O[T:{;^vЁM:;N;k:Sqf>./}O(({ BŠ%5 2շ7BiJhi5/vJf~V.+?Q2eD,l47|s?P]Xb{ 7U~k;v*fobp]?{HvL a$6y C׼zFź-_ 5?~fּ׽KV]ΕXwrG:$/uc e?/n2հGAqXӞIFd5h ИMo;0x=6˜lC >` Xx$6Gx+KWb;9Qx]',)@ܕ%,$mzO/8daZn'_y v)G(i,pŌl248bP10,f$g둪=Hf"k[Pr)V3x ~^OiS+G9 (_k2֑\h)2xl[g)/c!C(<\vI0uI>is&"S)~Vs-.ʵe֕Eh)`hփ$2+Q[nTC= ̌?|CWoMN2quy^le{_p !t2TFDS߆997f}T,@M>", MEYV_4#C;MpI$铿v^C=;z[/̠4K߂ݝ_ǔ ޣywc6iߴ ڻgHd>tlK#:lpt@+m%?Ld8|aJ$<1l~mx5NJ c`oj;G{ǝdyKhs0ƃdB?qkecLd,҆C–U3,Åg q\AΡLRI_}~uoR-k Ϩ_ ĀVl&nD)ݳV "rˁ;&Sj 뀟Zr"ڑe*8|G͝3x/jؖ\ ?Ttc<"cjX~#װؑ5Ҕ*̱i\jbt8xkj X; 3yMd~2v{p34GM -%sqoX2 `߽};TGlx؋jNM -^oI৘UDs7PX"DN:㬓w#-9|ao_߿St:L r#Nym<:˓r2-@7A\BPU^>_șf~X'M?f\AEA 9T a *9ěj=ıp]su$z~1ŝ+i wÞ kU2!}؎Rw@`sR2.9dF5,v  )5vyOV8௲>;AQe<%ۙPs F_rUb};.IN4_ɧ6$of+uP^JQ*LIIӠOձof=`1'f0k}c@)]Pϵ9A!AO1z,{=%rCf RFo*7*Ny_Rە<t0_ ĞzK@TX=i%u`:7NGkP$eGši~,yuSkUJ4x26^ z.Y%&h ya9RTͯ_FPk譍W@¾90;}C{hS>Y:~ /`0 Ir`V56[ho/oڜrJӝV2:˯|u^8b/Ʀ!x@7M(Ӕa=a2Ҥ$s O -;'>M6j=.Z}+>>x|9:90wʼn>4љi&F/\Wt Y<]I|Z͗v'Vd%?"܄#Y̖ ,m'Mj.Ў`2sAG#8h4_W ݅~fIg^OHsZd@Մ[3_tDm>ť|}}qͤLb|^`*aJ(F@T}\WCrY}Zh*uXTX) _Sn7:T %لLIv͓ܒσ~kGwchhP97<@\FlIKRi #Ozv jOF)0GP_+uĖݲ\Dr 秅j;^G iλ.CF4<m9{o[@!#'}\Yc=3l5 ?h8}Rv_XK+6€g Wn91{{2}9_ѥ^E T\s=5~@0O@жΆ懈y=|[%.Zű[>r;ꚃ2/ ~G |m";i+:Uhogt1O{g6oKiFK+u<ֹW,RDy7*ڶq<ou×z|_y!=jOy0Jo#Gs?l&ޞieJm-fo){qWϣR_L%)]O?T0 ^%>W!~g0#n~e0Y&~d.'ZhoTnJ3iwehoB HEQ)3/,`e5ssmg231e?nǡvu hbcӵDv z(F18pV&O^mմ `낥k:T m>h!ίr0-(ׇouB20I2Sy VW~-l9lЅ[5ldLȶpd"{JS.jo~⑎b,; d ë77G` ]w?!|uͲ0.8:3Chc9[Z޵>.qxp ժEMX {UAqK|DS'5 3ru++{/Ugf3,In5#}}w4LBq";{RɄ"1p3d ޖIJg=V q:!,@ J 8$s*٫=$`K<-4> n@ʱ0ƅ1C=/IX{E j vrBN!Ur7TYϵm.}2[rH\IӇS\ *z'!G#;9{*L@ 2 nɌXHfO}N9V Yi97y},XY9|C>g3稯/stgi^N=]f$'O fniK,{JݜiŸOTDH:˨4Juu{|/ZJoH@][47E5&\3$Skk'.^#z%2B EFl6@- f4@_}T;۳Es)ފN)䛦\4BfLn<;3𳏻AB"|å5*uad{ι-߈E ZiQYEL$8fug^ K/jޖ 2umHyNYdKI{o֧c=qW_`)/QR04 %Y0%(["Y|9(򥝑$gw4 G@]\E˸fo2GEQs= Xܷ͏|]ѥ֖8Ng!0Do뤨Svkx4͉=U*~s8*rW=#59ǽWZC8ƂYX82&p=op6i(J˗;lБ ZyNgpJ.'Pn]f#;tW/`襅[B.?`CF KD6^ u#ݹѲֿHj=fq5ƔLK)PR`%\IP4[h7Ŧm9cMZEϑɫ:[D (yu뽣j;~!Ul~n⌫D\6`i[E\< [˱w˳R I+C mi$ bJ>[ "uwj#92u>ig Rʿ]jq =|`VfrgEJshچsMn++d8mEQ9LN|lemeNS/-}9rY\תSR.T:W C{m 0K`,.z??3;e iD 1zvE}5eL,Ὺ||+pE_ůJ הIg"C&my $cǏ/0Ag<`c|Pߺ_Z4[k>`ʼNc.v⺠X_9@xY{sVnΌnPxf|~nl歘`E@XܼQƿ™O.lU{/nY.PmaͶ0,{?..UKrY"e 1b:.5S%'表Y9bo[ ^ \gf26c^Dk]r59T'b, ;tx3 o{ǿȀ0.R~ϲn"}DL›<`=WS[]9קּP(Ո߿!k>wH$n^v< ^\ã|C#.q:$1 ;m7[ܯ֪5]6ʆNҙ "a;D 5'U<7蒭:FT@V$RttHsY>N7<{\|Sa }P?şi|6­رjuO2)Y"lTmR0X}T|]=zn \`M2J6R_yi'cDxUZU@s5W{![GY@Br@5ASwCFBXPjSQ;bW)~݈&M?m(.{/&]j&Cϼ9zEP6QEum|M&d@U^uqŏIe],AN( 2D׈>ɭ֦}}E;aSs@o}KϻM_*8,FМqVZ:@Wn3(w_W Al1HY5(S# Aۜk^-&NW[V VHg0eMj (׋YBxdI75WgBMHg7 1DgQEEi4 8( T'ѫp;cսKn窬21ǚ]UvH\LD!J‰J/Uwև9Fq4%(_!{nu-V[޷wޙq>E67[(H΅E|P-cIt @1wڸ|F&} WиIc EO.R4m3Ɗ( BQF;53֏Kuy2#-1f?OIJ7wBQ(sS#)i(1KA w]mC^:&y7!n>7?澗KLkS.nS H hXJ,I]A᧑R6Ekz˰D0IЉ8pT/k_ɹWVuC2iO]ڼ9H4N4l#Ȳ}9 &߰f \7ߦ7}te`~~%f uyZZ\;yh ؞G8m^xo)UR_ t)yAB`/a%J.k[03Q[2)tLX}$c1{ ڷQs 5X:!aqr^ۜ}ɞKYNײPxe\ƂzLPeH|؜mLd🰎IA]O$=fW벿Y34?* 8J^;8;8S5| GήO uZ ~If\(?6H}\򽶬9? f Pԫ]8o""kSr4 2K~6SH_#Q/L<iÿ*c֔hiW\D>pqaHYR s2)[Uu1)'v-xw= q{{k F̶zAq'\?~uj=k_t:i>:.3STKqHKl!UmEc̘̓Ko_ dK&>dъ!@{p0'љ?[J!&6REZqyc<4]L,h۲ba J-&f|wzKH3&l>P>ٖ-rqحi,Q]XoKwDϜ꽾VzFee[Ȯd$..&)dʇv*R)1Ў@A1[le9N=_ eiXKo$}FGO>3:ww43gr>KˮB-I=͙0!<\!LyeX K<\֯^P`|53Jo|ږlX.D`/3{\:x"vğP*!JJsYG>;V+D-]c˓ < ITYN m6";-}]z>NN)r2y /nYXBdΘcu3;QX`9 ^m۲q3+ZN^_uhW(ZbDVh>9M R~9.@KXJRr)|3XE'W*Jт6Q fjtlBVYaIW/3NqʿQ_ ?]dt/E Uk<[omr&>F6{ w|O߄&e؋hm -/DHLsIyߴtq؍_w!C#ewQ^N Qx{lB,</_]_nfDKWnylLb?ˑ+~QbŬr|+hmgCD_ \IRy=ZgB8/ ;l3-@OZ$-(ְ28]cɣ%#@RSɇHu1#`f-2XP#:c#?{)[k˖^5Ï oTK;Y251\E=p5>0㵴8{1IIm)zFO2.mmk=53`skVr³LKF+T闘2!9yhsN%LJnZCjgdG\@DV.x1q.#G*(b[@~wfcuށ1BUEG=͑;D2~1=.f%@Djep'e;"dQcNY1楏.S $%ig(w^,4zWy!~&j9'R Sn_ rWOj8ǮTۊTy_<}8yNVoJSiB SJ|xZg*]JC`ELlK| ;,5gyrG7^b,=vqnc5[# n3)a ?)+vF7{,]5*zp401UD+G`LAQ]YGAz珔^KV#>wϪ=g" vnm U rf]x˪akԙ&'G-\я֑b3(/6EΎ[d:#zTe*:л=67n2$;&l.Xɚ9۟6H`ػ` BNDЙZ@ J4*Ц}%Z6N AuL 2ö٪︽DR,쀁0O |كZ{?ѫ5}F.x})-U*"5ZyY%qCư.o2Q.e`&w%=U9#4˶Po4j%C%iLuI:ũԾ޾Il*v_^ta+7cHZrCrC!7 vb]TAa{Ss0( ?HA5}z{j:۶ۻq$$&eTWHzp&u!g؛, Z#Я¹*ֶ\nEލxF> J=,Sb#c,$:ir6r|ӓи[k,oݫHcGX( [N jb|jzyX<ߡ 9SVyq$.FȨuc'ޥ8f3 5^&ʿһHņݱPy|4N>ޮ!iI+ Ed%\6i:qyXn{4b>KL9 v!C sXZ/S>L*˜@QJ+{ 8:U ~ԈЪZǷߌ!({VX!= +4 .z7M=dTY՗Sk.MKuDF/K ]vR I,zCL {"Ւg#gZ93YQ{pPN"¸#Ym6~;04W-OoW2- 3";0) ҆ r Aqڕo}EIfmlwy`||SfuCօt IшgQ yEF/a _t8+"YEXX+[.9J/xr`^ 9Q#}EꕒhD+51z[.`Kz4 $nSώ>|K\.wWS01 Zb%e ChۆBTr:7$sؾpJdfN3@x 2(V׼3 6Iꠚ_X>EC,d=K_"z*膎7h/va[& I Wl|LoSϫSB?{ͶWSf\DW (ɊG{2W ۴i6Y&$XX3t`}4M~.xul'bYuX@^`~䦋?][LsTsy~<>BsE#o'0ҽ1cw!;+*f+/nM i>?y^]ahF9SkBIߨCF{]@.~%*Lf7 lPR #^-XK|n;^S -9DIՂ b&hTi5/EX#}g5!NuE-/9zJR~'Ŋ[倍%5mJ5oUr?0,]@vCͭ f-nh2u s ^O\0>(\p^_m?cK$2)V蕼"^w/O0Fd)f)}(yl%$OEF53J#6-#aUĨgc`E5$SǬC9:̞(7A:b˦%?YqƬq#x:%A¸13-6Is0ռiեOB#>òtWn 5QFn8Z&9*1md3Q7GۡvBdz|\xRqw m!̩޽jN]\,wwJc$H6feaMS ʂ-}{v"x= 8ކ2|F\,bY;޼^T8y/~ab֨ |%ULE}(ww=,qLt#p1h Nsw"tG# *t##:>l 67q#gqQmقN=nk&;Os|9Xh2)c8II>w_0e͉M@-B̟h-WyYe:EmAY%{ :|2 "eͲZ:zt>m\_q=R [/ෳ֢QtY. k,wAj3c dYSP2̇&-֢6IqtrCz#@zvOg_N4[]Z\m3oZ9!"s~)ȟSF*7.M4c_m2' R2T>~@ wi݊t8d9V: )1Bџo"K]nw{m#wMwmV)Q)xyY(eQ=JZ(,a]rG U״X7IDW$%9h#ybA9#iXyMP`XXȅ'w̦ӁJv6}c;*|d~.vNP#[Ҵ$^f&1I 0XE8H"hg*b;yY+K· _WrA2C"i,eu*/ "I⧖N|(t;L lHlήQdͭY78^E=oDOڼQaD?MwE90dcn.qqCV^].D.Ϗ/3$#0Df\Ь_gۜ35B_yvt/A>NYEPu<~%q>Q$aq%Ru~RCL 8 vP<8鵱<調Bu4ir䖒7Ct*Ȉ$, D6<6 f]]"sb)YqtdO INj<{+<,o3 'RZOs5.wo:i^/y"zDj訟iʜUޝe)F:oH v w\نմkdF1]˔E` @N+Gt=swqHq*3ץ/ .EE꼿#a0Ckg ؃m_sADƸc ˗G=hi|#.?x>0'cjxzY2,^ tK+ |;44U2m!ԃ mj=&7jElUʷѫ 7*r,Pc#Rw qtBպ?ޭz{Mvau9j%.pQ0ȼay&`.<uە_v'cM7eF1G+N!_K1M2!N|-ωhC/UWݭwO:-A[SR,kaWlpMFaZjX lqўrwWѿ#S9/5w":,j_GDW@A,vF(#[}:ƞa$8]"~\Pܼx-%aqӇ2mxYZzIh|1 JY%%{-Ifm#!냒CwғFPܘ6Pxd> g֓ݎٺJl},5@_ݾgb0Gƨ6JMeV'0°b΀3S Ymmg`$qC3 {lel5&<3*%i7 &?QG9 ]exT9VC7l!umNb4 -4/ ]Ddx0 6max~l0iO WQ|%  >=+ؙ aqX{-kh/ DK~^v9N:繯e4F5Ntf[y+M;9BC_/" }>K 2Y{P٤4Δ=G{#T6ْS D~nupnfݼ1eC1Jbz !ףdd,)ǢJRPS;_S+*I#ʞf;|5ѐZCg|й/4w10A""{V)t["<#84  eࢦǹcJ‚j2@=C{A'1myCM,)L6=zEqOP_+=T(HK#Rh[$s9\$뉺57.6P޹@:U<WPjԨYPVUTSqė!1%^3ɡJN8qmH h :~D+ G0Hr9 4E4pW<_rI_ofLwZv/rT`w i{Z$Y30O#IdUYQ #ŅJtG;Ic $޼qGC9< n8bi|v(e[(Yyڈmiha9<밢-_jz `KKB pCjz,߯I3s*"[siwfA6vLqbJ~<FoCWb3r]B ^XAz7+$\]b~@[lǢ-ΐW2'R.X^ vM⾳pY knX7RҌ3;1^GmhDyx19Fx|vs5tw2#w&Bm*י$K w/U7`1ntP{1 ;\Ѕ?v\Z_Ԯx4;}6F5CQ'~5 0_)whcj1g)`T%i\t N픐G ƻʬ(^[tsu^m{ʛ K݅X 7@ _!3>szfїվk @w%' <~^,a,BY).L3[Dri s/-~ȹﰷ况/S'/T:EmCكʗZU1t^N-ZrɔK{ ֚]5&G5?2VOӼ!(U4:O˫蜉oTO VH/N3Vn& xc(R*#W/<49&!P'1E>ᑓ8Khr1)JLw PW ,lʑ4Xw@Bl&.KEŚehMMoKe,|uh̺L#$=h\cTKg__O$<2]s70b |EsoǒY@GCŸWfwKbo=RMY'*' ṿjSq2CJÝiZò!߉9MtYu?c=擥K7CLg@&SD| Ĕq`( E,urBvMIPu^]hGd1=aj~/w<#P  J1%WaEz!}`#$X~RF:2),Tڔ,Tpϧu% 4bV]Wq u&5JU`1H/ O: yv JЖd>m&.^a tf .kUz ofJ->^ڥc7B}Zуr NmSpFB_Mx^ ṗ ̒j9dR~3 _Լ 3܄ y|L eL݇]m>`N܇㛆AS_'eGQW~Jw-_U?MdnXPM=];0qRx/TR,PYfi`o[a٧E@ՙt+zE1:'1|H=熸\;IxV8nB c'{:rx0{}im~%e͇eaPҘy'wsu3n/'/ǡe_woZQzLwYT8G@?) 2o/e=p_pgrS\,9A˿腌RۼsFdEJ"}<ʧnΓ-YVC 5cp(:7C4{IuYƾ/F{ΐns W]l\Ax&%npOB 'xIdϕ˃`$՟*wĴ$5_E\hv9'*ݰw0ϜbwaAJw0d&n|=.TM3;I,#ޛn%+E>gj k.8D]g ጃ{Gh3?16pAC3%ZfI<.>ҐE|Fp8!4_AHA(aո 5-K9M>ca_d!T=]YJ]/ oW=؞;"!} خsYg? }Z"/ȶ 3?ĿoaߔtoU uvkDLD`\DU8eϭ5܈#`]›?0e3&%v#{|8HaN'2E(yN!5a34rQ_grhY -+g $&!LbJN{BǸ(ߘIVEѥyfʡqx(G K_ӱ]g{=z%O~z!\x, uTyJH8ۧ 6;ϞJ*F1r~y LKη+O:˦6#;.w*mZ,3t)Q0(<5 aG8T'W&Ϡ0=xͽ0m0"I)ڵ2 eSqlsI /ǀ#4ueDQ}a(޸a½\䧋/LM|Q35o&+d]N #s+I0Ҝz=\w^=*w6`pBH~Hc*wՆ(|}:1WiNbH!Xq[Di{zbq|PlDS^s׼J~GfDK ƃ4P?|jr&O1qh1e}鬏H!sJ #6'\ə{ԃ[ԩl&hˬH˰N3K?2 臍L*폦ݗ;C, mA4ɉO|P[άrd$JI4OX^=B'#S5 P@=ū F<, /1gpB UfWI 3╟2W>^X%r~vl>C>5y>G[l~2>5A}Ls#~MX9![^2Łc~HG ٌ P!LY¦5qg?"X^C^?X?xđ[v?dq(L|CR/go퐿W"\J2 'C &F},@>CS>lPUUxE؊4b}H M:3LE?+',TF?@Sz!/MW:6JւC4f/sqԀM@+#x{[fє 0b%uҸMc,P|?xVS F6ܧ6쎊Ic NѶB@^5p>spbSo~xr[V<7ҽD[*ì&W,#%=60OOk1dV)PA}x=eMgzoO`s"qY"9|6Q&8 C 4=a`ᨲXq7񯐳ny4ۣ88$#A;f_~:1#2T>5gEZ81TJ ղGs1vX u;0o '&ל_=rq(}B^F?'_c3!@(IVNz#E&[W)ei|{ELiT+L[|sAS3oP>RA }pO~u.r|3".QW F`Hʄq;aQ8:!YG34q\ F_mBGd?COw/ I@&ـPP|1!x[v}HKJ:7N+O (Ǣ{!3^/dgZd# $w,aKL~VD>$`(}0m<|# 1h>CrCܞy~HbN똻Eຽu,K*7OHn#~KCGaD򛛧r$6 ^s;_aaK:вHAi#0wwqtGdj-'k%k8Jٰp,L̒$[Pu1SW ~ՀE_iZ@^ +ZzK^GE`.O0f]rbǦZd07mDi?ܟﯔU \4&I0srLP4Gc/L(rSjK8Fk(:dޅeK"&Y` FǨ.A }4DS.yΎj8j{<඄@P`Ӱ ڮ_׾!Ty-ޒkpBp IY&?dy489 k?> ԣ9Yу!`wS-M,;IC6H{o_^7j(*SV' _8u|\ԮQڎ±0_ $d* AiҺvʞo|X!ۜHMc~#ZnK>5x 'oCużs{k[qߊlBѽ06nlg5 Q[mMCbj #DqhߊY\6Z:P ӠAGiigTq *՚3p, `¹i>q@()+MةyQcN.v&SS ?Ss4쥹EiY"H >&X"b/;7CC9W)c6i'扷RP$7b"Ç|OneMöEŴkc,7Q$8SՀSι*_m5\ǎ09^HQ." rVN?\CrwwhOT& No0Z<{O=]eJ͂2rXED/!`O'Oު8*tSTxr^w[O``A wԘǍqk.欚p5?ohָ; dEv;IVlnU]˹NLj,MgCn5aQ"\t,D6=/c߯M\uid~&sCO¶@wpYlL(40AKS!Z1HN|5B.se!&Z;v@mNr @ #>i^;la6:ɐNJC3&xerO_P:7?. B!R̝zʸM]ZVĿz3M㬫7b}=GY&y#7l{[pDywli 0\e ߁$KD9quʷ9X,ρ' ao#a m,?%IH<VL~l+pN]pbċ?q{Cz8nd7|n` !}!#r #c#$0sjUŤ!3Qʺ)i 6k;VolOaTP/V|4\Z2K Ce.ILdY̛hFkr8%0ˍ ? ԫ,:Bk,Nt̂.v'3~xe Kv F0 .V]@'ҿo: t1--Bw u>> L&(zD[K8{o'M4Mu'K[l;ZB6*^#;^Ԇ_z9,b\*kʅVBh5K@.2<$_~|iDS1^@HP*:'3ENiQ6?=M!<#q>n8gȔ P@҅ga_"{DB!ˠ AX-e%R=Lt~ }ԫL/x"O%K3I1 k|kX %nȹB&_K*$̆j}|DY_*q4_FbUX`Ndha^G; .1@ Ad:3-\,d·жVgл i ^|Y S@Lz q&T<z#O}"43ƢUSt48sd>Ӣd0Fϸ#ӮK!<'re,RaC_9@i~+sF.kdNW̍OB~$}KD78)韈Tja2TگfIO.Y-ߣ/-nj&XUDbt'!d[n].SA}N"+N6Qg%ߌ2:O'|HjmΎg:4S}Z9PW*CqUsk1B8yssco$E-gSpiX*Mheƥ D[ >U[NJal0 j/{`~?|~o%mSߚA<ߑPE_e0FoW/%l Bxb L [c^[>LzHe#Dk5h68L]t ]@%Đ洙JG .43}1;NK#*HSy]aO38Ib|;OQN1Kntux=${cP|ODϜ cҸ:I^uuniJ![~w73 x>ua{B V[tT'5H$o6[/;@hYk.9r_^'w-- LVvTyԶ۶[Mcl=Lh[fRI_J Uָp8RōyP6!(=IgyA x;Blf*^"O|ϵO5oվͨJ3'ID?\'a#~5}Es񃻫 L?]Y˒6!C~I{Ց{ߪ5Ї ʵRkX@!C*G^ß 5+:fD< p-s5#<U +Y,Aogw{g5AVD\*svhùR ״!| Zp2H!)Мq"ےp;.BڛW\"~.o?s!Up{>m˦z3Roĵ6!Rm#/Wj-'#;|u5?C҂ ת?Xz.eu3(8z'T=Jğ%?>`cAuc)qC"ڎTU\rn :?hr0_AYc@S:SᇀA2|ngHN/ČӺĤ5ý;W$)X7ΉiCɨ8T`XgͲ\`8L&Rn8^ai-t7cRv!oyUmVsbWdk Ӵu<1'{"Y:zWoR֏TL.$vöWϻARʃ`yNNzvOC,Y>WFP9W*؜)-j8A0Hr&U 6qZ5siRj\UfQ_?wq IyixE_D/1ܧfaf)͕  (5W-i돳HEac~z~E,?~F!RdHlƂDDFCCK sy&8]OyDgbڃc_ȼ@%80Y/ al&zӐ i)H6֗;do>5,}0 cnr}pm~&ϫ#|r)ςUQ07D޲L GMn^1ЊDk࿆E/O8^'p5c:)I)ύn[YέAVqByΒV` 6bos w~)M3% #YF1W _X ;z.Wq}hI! 1fӁ]E1aWA~%~╋V|݅Qrts.'S0/ Yߨ$:BDpYͿo0lRߘʒ(046Ym8|eyy@fg?ď_S3꼛]{ǚ}?8+)ow};9xuW{ *s'<ӽ?xPBxnz@zSjfۏr¹sc|qQD$(r)9Wv2Ybcx#3NI;Ƭ7?%-(e<܀dca IC/;2'$bGC<j u ڻ$[ i}}S9.ByCdz+">U{l%3!ybq ";sd9 Dm|e!<^?:wa-w! U^=tVӖ@ȣ?[.ptۤK09w=4R{Kdc%@x7̽)!͢lf/p5뇊&#BۊT-U]3y Yj%99 :͇{ygʸQ;F ~xP@ EʻN7;4'iZĈ]^\8WpW':Te(׌u^(~CU >QD2PLTLLxm}FVȫm{=UΠp59tjZAs#dY zw WO,M3$bP+%)jF֜9ý%pjƖ{f4#m.r2\vyڢb< OrMH(-` G6k"m mڡf/j-Z mΧBdXҀbZvҦd<T ]\H^u^1Y[G^qp.9T:&Fq`P2$o"\9]DIN(l"Ƹ B-A~JBKP_o']NE5Z0ƿ*57vO5D;~f+FMELs=fO9'?cF+Zz,@r L&5<}- Ӯxp!2 Ӟ"q7sϟ\3 ਲmRڪwXT9(iN1S]S< }_H.\M.(N~7fnaE< Z&Vf? f{%֌t.. !y\ʌR0Z{ |f)%Eo=NR}+嗉@;!I3,:w>axB[Zlo] @Ds>( qF1yUvhT`w92NZtfs=mv 3(}URW6_ͥUkW#꿽#pNl?Q_G67bq ٳ0b˶ 1%tRvl問m<dbuۭDx܌x%*={EhPb3#`Ѫ01;ivQaEP v׬-n?9{];cpONILR6߄KuR̟GBί6<,mǿ 5hx*)}M Yy8X^| fd5q!*3庾MQC[X2!+PM\(6@6*>M@?AD㦉#oBG巒ܾ$)NJ3s[_^{T ]_zWaݜG 2ya _C~ܴ\CO<`w9 3gCBڻؑZ8jR-XAi wXQ9@7ޙξ:٘"7ս "A8#hn> ΋'WU{>&p?t%%'jc24ꚔTF%bX PV!N2zB|"O̘!VWF6 Y[ILaGEnÛY\䙈 F,oBU&f>P8>jff[*2^o<08&\WH ]vuX8w~i11< ä8Fw_C+鍹1&]N;DI` *S@Zw'B)'MچeVs ^9latZU÷kT I8_Vѕ;Z/lR[իX<Jx+8?VjJ@`ߟygwL3fK|coߥXOc@Nr̻ bNQKS1y$#:WVKª~"VG~ Z}F v6jlܩOD^2Orb╍oWvNg$0ƶ*]TʠPs7>xÇb1|bzY.oO'Co$bTWwR UF|X}g 7$YŊa8Kt 2"W\-X#\_r͋X L+ʄ#ޮ>:ߛ\r:wuHa|K*#NMlYv !>K*>aWV7\!ss]L?|)$SfDv '[."jGZq7mSaOpfHWT`*Hyg]G.8_t(0dj]0=Ћy_"{Jo&[G"iG-׿7ҥ`7J  fE4UlNX!DU7.={M񖟙r1wҥqo4?Gb4M uA$.>PȅWC [\A>,0)CQ#P_Er Px(l5xd&,>S {@u 翠E΃p`>+qE5d_^I(ץ9͙B kN8K1pMA~RkX6U*K{" LX$CQŒ;WwDVpF`NP!J̯RQݚ C5vl*BC+5H+:>p\2uI"Ɲ=V͚n ;r! _(3DU < 1u:VMqo- %CJwfG"QCe]Zd&f:N- hb5) RLs@F%Чϋ \f^ΑS +$soM ^ tdSݰMƍ#,:~Չ׬V=֏ 9Xߘ]k/'?%]YD+ &Q;eAhczAIBu𢡄pƼpOgRW QD5kd~P'L]K_x0eKYS=W/0 NØ WR46?#IB XH\=7.y]4 ^Z{^~s n#bzyo#- Ax ֔h|(%K4YP%MyKanUGHDyH4&c<:hGO(CYC[-Ѭv(_Э_>Q]`W?t*QQ\Xꐜ}_o($pKq_ T 6¹4ƅ K3}KcM:dX Tȭ4GF̯:p&f9fPJ[P٠prYqۢ:iQ%cARΑxp8bn# (HՔW#$ly6l닚ӂ-H,r40P?Jng2#qxΛS[]o=<aO8@Vz呰C)v0^t l*gJe `c uF]^Q@#χ1DOǩx_ (X= 1+]#)`~6(ɶSoaKv~s/Rb# KY8m7'\󚁒*ՑAH, A=IBY2bVGj'/p_\p+:JMls&*]_Op{Bh'4TݗS3u* p`-X :rS0ѿ6/AHvf+wxPZ3In>̗,ʧ&-?暌W|& 5?"3d7عܧI\SY <JF6PʨAy51˂0X )a S({'fKL<&?TyA)H'otNrH9n% 7EZM :sji|ȧ[s#1C•z|޲z>&dٺ ?kt@N5RaƼ<JԶ¶Fomj`կHp8ћԿmdb#FeǛkSlD~}?z2n=9R&-`KfrRF[SV|S ~+!+uT#Q?UZGlS7H/ʐBt\'V|)saXff^(YF_w8aLgT9`+ju-z2DEFӸ ,py1e̵?]9-1H5B7զe[t"։w>7b.#Ϻ5QkR] jm8qDQ/&We^L#l)޹ i7r *P$?yx`61/|-)8YsKKx"K~ "KHcH} 0b!}<$sY\4wr+ =H@1+::8;\|Yޢ2 7r&x7_ŹC2t=c$^=hlr/N?98ɔrd?)XӶC-xa5>q#%cKk+ZKd; uT- #!GPd\4b —~.Q7@"L'"sVCmcb  5!U7Bx"'i%Yӳ^imO ʰ хItdm1#]Ǫ8 } 4lp&W52©ÁHN4ծO\ZW'ɢAz<7m nn4lMfb-_v"w?7Tv /5i1f5D2YfƗѷ Mf S mVXeVkƱo!Fk^|Φkz~^44op:}"'/>pYtVoÁ^Ƭl^KSٱ2I^Y{(F,ͅe Hc#lؽ.Ne }M}0v p1mߛM>v -aqŊFLEIʚ4g4ɗA;k(g&o+J"fb쨰;`6~$L]\D0^Cp-T^"~bQ؇(کS In(E~#ۯDD&:7d̩1Pr P-MAxգRf9^050& nj }? ]ur\哲VR&3M`Vx[=o&T|X  ý%gx .uJJǭV1F8GF3Ɵ<)b#`7W3}7Sd=G3Wn/e)jWVN1',`d8E69F$P  14۸+sbBGV<'X|เ/H<9٭={aEkqn9H2_*;IWˉs\lZ8JM]FgE^p$+RZjjJ~DJ;0≦|^5曫5B"H!fs\gCHed ׏Y`4rbe׃(tl=s)+gbr~0C[$hhvbfaS%+)]bz4!sTV'm¤"үwm5?A'lA<ΖS2P qkmUlu[1 |E~GXUnC+4OrAVYcJc§%.)dK^oK81G>zL=UA4N K'N_uz b[xTA:BiA4WgFkMF*[;|i&o95I˺HcO0bV|ݴ^TrPqp%g~TZ=3YN+_w1lla-d;OOicDyucQTc:U&BYSE^)mٸoߡj氶baeGvpw)*oϿO<,PXɸ&RS@6q~0^hBWqs~4E!IY[%:)87 6%Pwxbx!wO!6y2V?\0\I;z@zx}H@R +T&hǘec}=d_변?VDUgj hpoQNA'ؼVsнi%6hLWV}'s,<0"Xhdbv'R'PRxm h(.!~&TT)j%tQ2,{)a:_C!j%rʮjZN"i*MY4E57;^tfc/)]s-ꏉJPQR l&7 /W,dC=&LmAO㘶 i. ?<(GfgKNqG*QǑqGito}-0SC磍M)!C_=Ė%h-"xPzFIR_ҤGcVd?|c",ecm+=dh6b[=k҆po;Ɇm.Qȉ>sG*/<85.LH BDP(wBBSS}_Jǫ#M{v#Z]47MQċtչzC[~b5"i|73%?$xD~^Q} Fb[UI}FYב?O>3GcZݘ-\* ȁb3ї=Wq7oq:ةwILCQCńܱrO"%2M0I#G_c] Ɠg"8$ny|@x!9z}p(GVK{ !1Df_yǿJq_%+eVx9yh\9R؋{%Ȑ~}?P[#ċF>brxB'{7f5R'e%_;qEQ`;F`ɅzYƺY$CJPy@B@^9[-k!c.WWCP4I{#Vs=1WUzL`RדbyTMơg` RbOy~MIDB 8Mnap^ՈCč[.$J7K?L/WbI}ⴓ<0/[Qn3i}VF qQr 1rR5r kBB|ZTc\@,׳ȏ+[Ie۪f ,6`89?<ŒL#@4$Q\5^OrVcYތ(|u}SCF@ImXJznK6ݾ)'AD~){Og+pI]*݅ꭊآr/x>B㘲>Gx4JN:pkY=sn~,j[fFr TC%O"㧿Ƃ%^Zʖ !:/Oۭ!FP+#^LST *VY|MGu}*s;F1+(v;-{'+S7Pd"͸{$ag!y9=R0퉵5Ht:a&ߡfYUc)s-:Xv 6qlZ@VbJ2LplV*$[NaWVQFRiM$ "w5D>u w@J1Nw!l?'jqIщebMOo눦6ou h+`o`lCIn-jF'dM&z0,8Pd|a05b{ q>ԯ;Դȃxp+08s^8=fB{OK/N hV#M {WGB-K0ayt;3 b`Ũ|X[+ .tz'5`1sYv*CIZFTǸTq%.,U?[!~-8R6|{AMQJ43,Fi) 07?\ݠ0ODž*<̶n4,'$t!X* ,[|yu7`ykTYZ)*'1އ K]q_^~5G0cM4iLwAhi-u6+uQΞLR$N2Fז@~,"мJ ݵbTT!My}0k &_Q!%-CSRe(bN߃|܇Jazx}z.bP7 #/!_׹,9pFWMf.f7nE_3ӵ<퇴j(4s>es8T62:xgtw|6f0}, &_Gh $%d2!\ [괡g{ PԏzdGTg#Bdl&VU]9BD !.o_JP{7wCs`r i!T*;[|Se.iEϼ*JI]+};1Ќ*IPK,/!ɑ7{TY)Iw6{}jU#: Ki%3\%a&>%N#+V_ ]H󗎕l YKaBt=R%坠֕3c̕܏9uOS4y=@5,edO"8Ʊ1ͽwZj>q]룇˓̊ϫŲIByKu8kYVNG,wG]ESpNʙϩ#Ģo"nB/ g@a&7L̅]Xty:tퟘx#bun @djB4sD$2>e\:E ocQUpa]9-YL@tD%Ν57 0)1{A6ϑFptU _+qJ /P6 S iJ9IKѥJ/.Gl(Q[^/T©}yT{rd}}@lX껹ꊣbF9+Mr]ޢ]2QӮ<9_)ixV`_jzo=n*o+o:;;Qم!}SGy+ѭ7&ׯ%3Јj-o/[0m]999B!Q ){\مT!coA&F8aGn}8^₋@1br;tگ5L${,*iOs '=TyJvż } Ӡt:u|g?aZʿU[VԚÕYFrʧЫ(dqS6̊Aɝp "%JF(6K/:1r U;h[-ɾP|ӪL~M@tYЈ#Z˓"a7opA($S4Fhb۴ɻmѸJ1Kz$^Z.Bf =w-}S.|(o|'[\<aq~>@"񤐃Qft>ە^Ϳh;~HVdR|b8RlF(dI ܱk*.AҺE< py솾s%GT3̢iw;{v~4 )pz юaX$].lޘY<&=? H,@֥Q`pDeVUΧ ]NJJO(2!zPϨ <Ȥdrb>V*HZs5楖d~.IR_ NTCɊ=d')2;p\<Ii`ȏk795BmPk+r| 2~9w W|z$bP_ W4U  rU)dRYy(pFH?+t0DϷ~AZ!c.UAgXQ6-ݟ9*@6ɣF0򶢢}f0;LaiF9'3?Js,G; t5@Zo FێHM5Aek'%7xR:om?yNؚAx3Xf3ɡA%eF1Z ;lm@c@QYjnlp#_DA_*>.yu&_IjRܞ_&UM8L>Q/'ݪm2(*"y^2Zƴ5?eg(C8)]8>T[뷠"0(%-Sem Δ$Sfzb^nX9mdHVyvf<(͞B⯳Ȅdi1F}5#Z3Jn۟@ԦZ+ʮSQ3Sx)Jbk]!|♦O2["bIf {T69k "S^1wHsHIѮD%D+ql!A]"C<&W^>L'֮7-臶5*x"{yj8J&Wܹ`fj'~a"]Ξo?%=ѭpZ1oܱa5onx5mGm"<(|G^BS+vbHZ#`%n 1×5#EE.͹hgW}/vi/ȂR ^ӷ K} G:j #g-켚4k Y e]*u!NYH%xnV]n 12tH2,0WL/>2ZM֛_ If@3eӽ];ž"{-`^G'bblh.JS 7 㗯TKRQ+!{y4Ʊ `+NQTݢƢ\j)>YR`v5rd_0n0MyӜ4WZ៘1@ZuTxyQs~ISx>RgNYu֕2%Ħ38q%NZνZ\V{(R{)滍nQVI-l<,Iϟ+֚AW~;O\hMb4{PF[u&uBM'JK7+mo01g^01?" DڶY~#pY?Yahn"E5z#GwX}A)L@=0z=d +6!Zx`ֈƿTӤ{ܹ~@~{yw`um'-g_$|󭸏93{?7ETf.c{,[ 'U0FJ̡I{N ^ ~J@CA­v*JlI9u#II#-y$GpSO@~K*P6P87dx~=sz$-YĒE/Nқ^[I.Dm+]Yjb،9?.%_NEwrjY\;r8+{%)8dkT])ݶ o/ /°,=2y }{[U쳵Mׂ`rNBLhe9~c)_ɾAn~p}݄qWB mb=Ř\ϲ) ~{l!? c#lg%J83H8_]ϲ@$yWwI؂UE0WeD>-|4[ `"V3̟!^ 0.(Oレn]Y(Y|hf/D"EdW=5Nl|uPJrKÒ=D~'Ƭ{M:T nzPNe%s*u0ˋ׭k}8NV/nceΤgkw;`\Q{l|O:u̞n$[TJoTFבc JEX7~=bBw8Df$omҖx/G([Z[@]{dr-g/ܑzE)4p*R=׋eo|boH>i<^|c,y]Xid3y<@uR#Г nHJFаҶ qd^ӊf]f{EA>yFMb  {ͼPWDI{Kۥя"\5D~-BN[h3'!3hyYHVY8 x~~첿=u֫>h4,똃/`c79|xO%6uu]A ouP g7KEq4q%n^:Á!mm%e V!RCmeP$ WP#r.VaF*׼ػ>m*wٲ%bCIHEfEAH)"!N(}`Zfu} ~3‰, 蘔R9hml9F„6|fLP*=*ibB6!M<;gu'׍ __ʩ]Ãv%QٞZ[@w2IJ/7W84Yx\)K+X`R;ie sl1^gYEǫ@;!@s2`=jl̰tѕȴE!?pGsqVL,~.xN6@-PP> MRrmKf>VFk%ˎ0WSub+Ѭ7ɔQJ=BQ-K-Xqm Bi j9;rͶ2BiOSiƋބ!U+O)`WHGAϵmT02? =C5(!ϗbz+# O rI١BTw6d?"jLԎŰC7Z%ű?>çkxR| n`(DF%<Ԫ:^A]0Nt^`q3MhXyYFʣHiLw{¶BnN7{l$yoE_[o'p0U(K2Ht& Ԁb¢f&>vihK-ezR* 0TEJDE(IF&ؗ+p"j=!Y~SkG^JG(*GAټou,usDbppnP9QC}>'@rK/Q ]q߫u[*,]KeK^)<άu*RöoHBCP"=E -MVԺf <|Vw&j]#^F S~cmDsgc4mhC&vypT<*o4 xm;AҦ1Kt-TK$,s3#mqc!GPjԔwΌL{5d&z9W/$t5l!oj#ALiEqq{Q[22qi'XEMo*~ |o+zq0Sv&o5N8lάJ0%x;:"G(VJg{) peVMR)UFH )fo΍`h|-L;|pŤ 4ז _pp},|td 95z _?ԇऩ[MxÓ=h KJ X#x0lAk{ Y: ;p2Q'Pl0o%GH@ցj{3V.'yM" _Ïfy#dEOY0&Оnؐ"~d|nl/v~} Ղgtc5v.,0< Dw$\{ߨ&JOSg}^{I6?V4 !yWcW$S_/- y.b#2f1#^3 Q/>-ֽQ|DυYm wf(#ˠPX5* uDbW>%,߯d^.a/(aLv烇g1꒜m%*mazSTe[ )t_: )+_Z:?S 66-ط'*ݤ;Lff -;v9 7 }_.Na'sMj>u Jۇ!4b2k ߉UŎ*-NEGrB0G.X+CzQ⒫8%)U||[ l]{P';[Ay+P=$,]JW'4.}~Z= RŸ#:~4gX&S0  52u'rSe+ιzH)yp @Q{ #h鷘T.%$RϩH(ڡ=@=Pp⫂ xk \$_A66Toǹͧ]R,ꢒ sA>[N&H{oe/j,a[NF)u6♉OfDLo{O{Vx:$мn,3Ei *nwi%`rPwڍ%Y+XQXV 0gGYIIcF^lEfɵIqn(V!3T 3dc=X^SuYҾ7Xj[VJ>Jϋe|K5%4z!=# ۽dMYF}rm-7On0 ҇{9x[QF,}K>`6o4L5҉"#[#:@e͚u,Woua+ AF]íR¬4Bv(*x2s;>wϼ"_d#dg\~vF$s[~uY4G-,+z؝ ۏ[fm[߈` ` 'ӕ^ 0a.K/dyD m,Ӻ:1͖ W滸P#cLq z]>\ro.-tRz9S6pQp'Ji硪Y̤GcC#֩ḹݾ {V^9̿ڐe)FHzas Ԕ,:ozXT}|ЁTZ1kC-$ۮɿ?}/V3}%8u7J.OA!'>ٗ|ϣa#h6}b T^6x O$r8CGRK4=q#!Wx'9:(XƼ=G h9ɡ(3{{ i:j G1gW/HclP_wRkY A &0hMHB?ȫӭc>D2s>r >*kj*NYvajw3JK>g'UWzpMn&v4+c8!D\jU0yO,:Վsé$gt:k޿߰_b%_[vx##TU,pNq`K-FUOp.U/pZ W3/zS'8dze^{SH.vF=XRFg#''Q }8T:EpFJsLM Tկ{ex[KB1C6:d7NMM?FCv6xO2O #3+D-;QF,.۳Heٲ&vGoV+/Be1Sx)XXn,in7°U5搅=+낷ZR+ K7Dڥ'w@ 1 DV!'Zg^_{k3o=x@|uq&6[?ߺ/Zj֞ ߧaKȫW5;E$A=+- hSh¥>&NUd Bu`l qI\KÄ#d xAn&"NhV̘u\il~DQc(BE 9j߇ş~;@3tt~F0IiO4RR 11qA+7Kt) (]|zkhz0se`qvBK9+bi1EQMAfh < ьfHDQ)V<apr'M"c7FPNE\^d&L6leDZ*φDhp'2xE1o#{Eei,l!VXiHtCTޫ}v`uj(`L ;66u-cv;X0 5N`|}~ WKq Z +.k'm`!XIC T, 8/$ &XEVy-2\')J$ !eM[hJi}`|b|v VNc3,1'CP91WFqOP.ba(N>F_3_j'g9m0V$v9wS 9-O<<|YE<2<2C6TҎ\~a7,dCt`@3Z>Ռ.vf}@^q\cbߏE ZEP((͔>g}xyhjZFZx#4j8O7 LDQȘMW6RSQ& N5MrEru_ TYtn4 rUus-UTE`T cHT =py'{-J[B {UtBR ^>zB^B#^2}w߂؋r#=WoHS { )0Qr[[6bU`wuONVJ( '\-:ñ&ۨ s>-*{MXP/pc5=xD48 00,[*.q1 xc莽-ОPοLr s J4#0l)Î*-Y7Q}tKnđkI柄<\Go+̵W oL^{d P\>hǾl8ƍ t-1r$Q׈+֪޷ 6 IMwmӝ]p1އ7]5J"n^ϯ@,q+*ŸWnxuN¸]C; ~6M1Ʊ_{C9ΙO \Ty'>W>A>?^ " z=osˡlerXP/@ fRęQ?arkRnid?˛T@i6u(iXOQm7tC>3^c̟|Pe^?-xҶi0e(@OX le-Jh~l%8ž925RLa<,o81F8PCb-^b*&!*$5J|N^`FYxyi"(zO5](. 8nX HG&ebcRϴd~5pQn-o;/rS{ =n7 E?m)qLiFH! '+gAزƀp+ʃy0(TW]rȸ:Z;zBXz|σA⚍l<\+ˈ1zXd3h(䥫=<Qw,! |( E?pBޙz<rjzߘ 2~G6=:K>p(˂Wڇb  e3.by=.dD#.C<ҤL~H~qZKȡ ~DY׋z߭%;kޔئy/d-XtDcGxto~ɑA%ص9^[. Ddf|T-auar-\T!@R>-(JLHb؅/XhdSkeHث'EݾЂ=`E NTG$g}55 &ßS(3"kf,obyB2Q&̐.^vn2Vp=:O]b  r _%Hm+mG:g^i> A}qk;9 9z}7o{dO=\Q⠎[hNhzqO(ݘ?*vp+4W #2B[5p;ڋ[?` T+1\;ƵtW)GyO fp>OǢ魌vN[z\)i3$1A(kyj1hB"lP7Y߶rԖђEC5)&bQ?14f"Z \IJ@g|\~oc8(k( Z'y'VgZSom|E+ʙ>3O"u#+n%5yD> Dgҏ RÜz|Y1CSl8K$Tqey=8,"w ~CF`ӴJkE¬1n|>7an !6\M*BۮvV Ap wAFkAyRB"۹͛RSe*6TΚh5+z*y( 8YFQ*G 𲃷 :v1h w|>>Şsw2oK\T,ܧ܇h̶^9{hĪY' iNnmCf#}4@Q3 OuW<iϯI2RChݰn t[QFͪgB"{/esIDŽ'qHm 1A0  Qiz'\T:&W+*oT*_Z{6݃+Ck߇>GPG0B6F^ר8] `YVOj['Bp_;—3*N #dmHFvF降\k|lw%!^+f%ZEV8 LVkNB+ǀc#$s#4D7{Q|YR_KPHRScj6~E2ZZXQĞիJB\; Ɋy]Qε7˞nBxTxefzdZ>,[ \X`׫P"6/ lz}/2%$G٪})SmKؠOr%K'L}:<ɐj]>|{el8Ůt[Zԥ@g$" %%hOIwzh`rGt4-ȵj 5qp< LQZ ZSəY^ndYkF8qܙo, &bw)մNw_cOM`;=/s<sj)ۨX03+kKһc+(w=2Cf)x|7a08E? ',g|_WRzuuZ4\}׽vFgle&̸R&uzw' i,Rj,xXNDމ:a Qh y-RwkEݡuC u + Fl]YѓRM跠choڥ{1o\Zc;(N;V4Ulipڻ~93 x15#M~ P%V\Z1 ŸԱSI%mooh`WRvNp<%C}07Įm]"74M/uS4c\J[xR$씣E /#183BQ*^۝J\ ;:LFYic|<,#z"p+W 0$"y0Og=8R4D|e1 p4s!.ˎ3ά~M5F[)!؃]+TM*M83ݵ;7]ןn澫 [6V " D8yFU\J[4]m|}w"}PИוJ+|Ϝ߶'Q9x1cW\/;n6ܲ >ܷQ5$ȯ|K(.慽G6Y?cNCt'L}ѤÊ7˜TѢut j$"kSgM)ɠ|qxI{{Wl +mʵ'wЬsn󲬵Z.I J$N稢s}_X?N2ra^~V{T~X^ ~<2v@yi0/LPmZfﱪVR D%E\֒5%xxeʴ4(Q9|}!0p-`*H TslB{i%zpf,պ})WzfNתQsJ *X'%XyD vd{ƨ@_>z`+5}X^W@(m#zE~9j&6)Ֆ%2 Ul(tEʹ Qsw~"γCF&/t&{_0 {&hz@@N8en)~ rH檜Mwd3"ef,?A/vi@C:r;\b&|fo[mS ksaZoͬ_0Tn= ݺDlc]!k2k gސ*N\Ow<$!{ V& }2OßOj@M-1Ԁz}9ڝJ GPr FI 56 mH>90kVNOb/D+k@ =ج/A`4qH^AQ\tK,}s6oyV!'%_Y7ahtD>h9WͿl$GGNE=dSf3.o*!ǦjF¬ k|rt_˙WeXʺ`kWGQ޲OXܹ }3{fɁ](-bR3gZ Q(ʭUXc:Ӟ'*UO / yׁIޱQ <-ʌHk)8{~C_ pP&~ٿeBD w\;R q$K@W'oWC'‡' l=D7.8he)b=Y @\}̊uLwRVPf}N76 ۸Pёrw ~7c 1:d I)7͊ Ў}4 5ߒ姪oA]gP\ ^yDѦy=;3{ ?峲'2n}-tNXqY w7 Oٿ?HMelBe73}dkP9l[yyv+Q U.6avq~zAmۏe t;Vb(:+ Ξ[{F_w<^ev+B[%׷fɣcmBIWp EgcbPA"x"1aLHu)ih:O,d>?M$D.~H18$_>˺N1Hd1E[fh16|{\+7:&΂Us&H_Ie;RY_,ǽv[& b/MwÆnQ4*wX^3[ڬng >=e8 `'HohdԴ*H-kTUz_ .ܺEoՐ͸1ub@b?qIR4~,OM'z5OG#"1yt;fN6PGr‬6d2$pƖ#cicO "-T"]O- e&%~~b'lI֚4 RPeF?h:ނ4 O>OZ2Ԡ&ndx>ѥ0MT+R,jCB0aoc•ξak<:-y=G4qxIe=uw{5| f>J'YTv@KXxZ3JQ0I+q-O1;}LjC,> M:4zw9+2opLJO7Fa&=sE#߫{oקk" "փ|1HaDezЋ'C⽻ޗ`& ݾwZ5H( BjkKUԺDdosNzl"kҀ͞U<jȵ)td# ׫tkw0hXcS<% 5&3sހzi(R%s0X@݊Reyg(lYf5e>ۿYG'km'!@bx730]Q2)6/m{Q8h`I6M_3xt-¢̹ATy\Rg2)v2kJ.v0ag]B;<5Eq+y9Cad:x Egn_i ͚Eo~5|SQ åT0rVet A"f_CL5sLMQ|֡ʓi#GCy7KEis jWWM?ZsO>56@9:rP@,[r@-g24M,cTC_/;x8i%e>Wl!|cu49o.-og3eGޒFb60+ڿź1 :ڡmHE͏2~e "m;NiC7pAƣ;PkT%71rK#.Xz%;)U_⻯eg}қҚkG "^ ~eJz%?PX'0IkWM}?U ۍ:bV ON۸o} .l٘6[B^b"wH[,5F@},T. C _7?MWv)""Z ۡ)܆dQ[~uг"yX?)ߡ[(󼪁Df94;kiA:@@^TG&mfK|qA(yTzT/z) "33ًˇŸQI_} V)u8Hf^c[d/@u}|Ă$ۿO980Mm1͙woі^(ͤO1RL5ц=$%:\tZ寪&𼀁[G}tof=t'JJ;=>u'x``טGf!q@3-T@B?Cкc<\(* 9cҌ&?}]W#UJtR\#w!d5ϲT 1C>(r8@:@q^\s=5d Fa>EK T{L@4K4zO%y9bYc3 &>[#%۸չ!3D*269]jk;Ul8}}xd[ 6H0#زHL$S BG 5|s+GɳX}}4>. L%c%_S1iW0}5AG)']Y/[vͼ)a5y 0UKյ*HZ4OHSe:|,! ,4d5JO9օQ Oֿ~ 0xX#!~>5ǘ+Lt`5/w9Ť+N2b5f4nSAœz^Vwd]EG3Tdnuz/*86j1#qrҤ+uCmb-WHi8)5%{ooS'g#7ѱǑQ/xi&$˔X`֣Jh4C?t2*/dejZbWn?[wD. >V8GwU4~ʿ(~H"8$)*ls޾gS*$RSobhNSB?iAaUI;[c@\kw@ENޚbiO8p^Q>˖|XӛyigJ~!aMUO/ : >mh^1o0殄9~gw܇ەS@rڜ4S9>$-LGX}!ђ qJ@RÌ/NC,0ߝfx*;)~81r1o.Fi ?6h6R-s "W-puVd %Ш|K%1#pb5#]X,mLvھwL$|[HW&h[>]x 1'I'HUEh" #X-lWQjMd;4J21MBM[534-H*qpD,djx-eO QRv$\+Ո3Tg)f;Y{~>@voK$-z 5L 8LFؕaߋ^GJh[ߪ;_; `g֩#E0+;q/c?n1>~2H$|z à~RSx% mǧ܅6P`ڏ 3am@)a}4'?d(~59C)]ʁ!bgvG$;xe: ap0!x4^wqxN=SHNma "]ӭVY JyL)>9who@q3my':9*.= Ƌ(,K>!&5#uPM0Xff*);AݣK〘^L|ܬ`п2^$.s>d0CYGnT>wE9`\7vR*՟z() g̏ڛOc>]#. ITKy*j- 8H*SCk}xZFe+#w: '_D'b֐X]|tPԇlh vHEvblXd,hz*bSHs`iQո=&&ϭFqв ' g٫GX$K!g;v_9]ʐ"Rqu ]n[%i$ tYIe0Q }i' X?`Zn$L;3uku)7* lSQKvmp3^VJ[lrLض{T`[|z zD\5H!I\)dЫ;/\c:I=i(f׃>3j|j -+%PA z\ uq@qR.̠֫R;_ * ,hQ~}Ad#ZXVWعӃ8-NJu|eua|@VY^BӯLcK+^UZrzH1o3mIT:R3, 2̣)|!T$yE^TN h_a#rJ(|u<uK?W3uh M5u}6a `:1z>u#+%CGH3SngHo0C~O5.mXߨ 2 1e궷3 "},0/y*BDBmanR7$J+RތV\ӗHR}s'ʍ}'na!2ԀƦ"$;_-I/J]Zj:pWr,Aphc ra;EMWFXۓՀ5v6$X £"5<mYʰ Z|C"}CQ:E+o>+RٰN7:v1Cvhy)1 ǭek@~[_;@+~]ݽ5#doaƄ2J#zh"ܤ=@7] Qz((]JO`kq%&c`&sx4@LZV[Pٵ|=8PA(t^O5vkaPÏta`W̌[30b#xYN@z4J^KS(| 0&40qk3;{oJV'Y8pW;"H@Rd 4rEnOo.0]mnX Gɚћw8٬7r<alZ'_6?!!5?05%J!|};p&I Trr h[Yuy{Y3WhNDī“p! =Zn*P-+37yh?rVq >-Jnn:E5hޜ,}9D^u򇢺QA8?i}((epy#m8 7MYj7j~Y X/L0eq`/*@>yT9u.蟸i<Ƒ, Zxhl'm-91/L45++]<4$%}>SYf5훉q@Kg@]|;ۈbRyu3b=AmX `㈦OtCroI.OAWNrK4zÐOa ./2BM #76MG ߛ.&I c|Gxv?."g]J5=D$w]A !=~!rSڗS~ɭ FNaz^+s;2 מ-w,GD6LcVLFlO,f[]0ػa& ?`&m;f^~}@[P4> ]6HR 1Dlp' `D+u^M2/b(ƗY{?%t#1G}约ҟ)Cߎx"ƫwFi'8CU:zDG5!4$bvK8d U!ƫ[ 0 1(ۙ--RJ ^9@gZY.=y;9D/V_VfF*>ct]eƧ~v%O,} 9gs,9nd1H{ O}D gb46Y*:ϳ3?2 xY $0DJ&{}\^/-F  ?@~~8=@0 ůWzټ~n~[}8f\Iљ(49<)21o\ʷ1pUަ#OD7Kt-_Cn,0 P +b[P{]U omD+~%p j|`f'\xu bhꆠy=cқNlf~VTͰ6( `:o!qhjFHͮ!uND=tpӽI Z-2s>~KSgcVh8b7AޥrTkJ)_57/_ȸesW=<@66c) X`{;z]P FbY&^He.to5Q;:R`],[ƍ[܏C >Gj"òI|ۤxjbB>䤃c'E{iA4s_[]}譅SW+Ef\_N~k" w,՝7/HdgW= a)軔_񹚧JsUM?=>IqHagN{|o:(ϹҷM^=363}i_?{=)[/ h~7/4~:8<샏ei\` tAsg_`_2Zcن k͎nL5 ?/L]9QϹ6Q۪;W)(oqbL*/Lr;3ؾ p)| H A){7 }|A>[Z*{|⿅!IC>\~pF; }\r e%A.?*;, IAY ư봰6y<g7Tt'н>Ĩf)eG,{F"˔R[+_0@йr\P^*f0o1mgK6I:L\{"9X3fev1G#YFc?C$cQkhon-򐁏%#*eq"u7K5NT>wDo]ԛ~i%lHEƼ0.~ rO"BI V3GǪ Jm=jBosHܝiWꭆ.fnTlU4n.š\Wvq%Oh~9gP-u/Nkz4FԿm - ;Lu0,k%![zͺ:F ܀,bp71 񨨽ⲟ}GMдƒRMKnͻ`"DCT3Y81 4]rj1|:Hm)1V"kVG0Tj}5gl.HeO+w|%ރUQ?N/3C<nѧpۮiߓu6S)N Z<>+pͯFV'ݚz)֊[{+Ky1ve`T$^ءUPNR̡4u·7`KȝR2ݛs :UkJ2-uu\UӋFBx>']~c}7]S" v3G6Pv Ch! r4uǤY>vxdY*&| i .n7m*̡=H$Y)%{)GeΠ24V)(UJ$^ef֓Q=C&Cjx0ԑ/{/FЀR#cPG*+CE؀ͩWra(3n!켯mR#Mp} sG\$~ uh2pP2("a9ޓQX0ZHwAasP',|W jk/~=CР#u j_Uw0hY}K|5 Zex:PEќY^"=g#ԏb^oPWdpmjfK-)vyGȫ2?|%7˻{ T#(ힷLm"":adrO#+\kx|t,ۤBx)xlR>vȆ^Ch#b[WNF1kOsP{CVa?-܁v~ b4v~wv|4Vfb3 tY3}?Nd. . 7GY񗤊zlz Ŏ.<7*0Zn[ %f@ORM!m:CmGc~(0-|۴ŸߞYg{*_XDn"):\Aa!Ǎe 8[3m_ɼ+-vO  T2C=ydoo:}\w:6\q5?&Yq0|0!)L?1aEb9oħm}e}uEJ1wh^5[G{x~qg_ՋݪKsp'O9dXWQ4^o[: _qadpH]Qբ ][(o9.\v[ɲkܞD~o+|Į6鵸:7B^6FIy&#um!^mW5zqXj;x9q_LӮ$P3}ezsO1F p| %G^Y(N[K5#EJgʤuqoS?-@ J[ج ]sP Jy4g,(Enҝ +Tߣ6h')e}CmfK".,|RjB% L?e /E㰿ͮ w~zg|7{ 8ʆtv{Vg䶞926ꪴ\+*ޯY>09hc8i+K]!2 HݡW!.+zV۩xloQ/-⠰4[4A/NÈ`?f3c `fMC}mzK4ZUqݡ>i:1QvֹgǎF}3 q$ =RߚyHpR2h:pMd u8تe kp|u{b>v"kl5f3xMQY zOCjlP|u5R ^s ,n:KgJ$T8/ĝ=\t[_ɬܿADwp1)/ [OUGCOPR!w?{^DO>`+0~ܧ3f)?%] "Ciփ=i-wֆu ei!|6<[c_ L#S?P.lW=֫j8cY-GSo[3qyYdeG)-5ryPH^wb/| |w!I*{Ÿ dZj,O֘gLu |s\ՠ0rs:òsE:BbSi!ct"7%!M3eޯO>8P$r%B%r>ɷ%nޤyWnG/c|h@*TV\K3g[#OTD̄& l:, ü>Š%5 2v4%LD_?/vJf~ZΧ+?Q2eDί? -h=|uS_(.,1u牁Āxνﻸ{qgFE!M:/^;Ɏ|!L |)sqѮgT{RPPU0UM¬86vĂwq |ȾQkI1l;u0w ,ܜe2ac-`m@1{;0x=6lgN!}zF,q>Tocvpz̾K5}1٪Ios3vPSBچd엟mGkB YXnpK񺘱nK tߝ 0e6_I,|VNXrYo& c󔿄ks}Hb7eF+pU@ >0yJ&t#zk%U/Mk;ˬ-;S6I:eFI@z@GM*>^#ߚjeJ/zP 6qBdD S4srj:Yڛ|DXh ؓ9.<=iFNE+"d/lk7' Ky~x St ?_krHk&ɢΐ>b>{?҇z/cg0No6֣֌#) “Jq|>vPrȪTzғ` jh>^2\ CV"[6GuVx]>|u|Ε%3Q@}o 4:w9޼ZSmT$k7$&Tnafֲ},&{TV^Q.= (0D9M g?J.KNh&~f3If8>ց۬3cA`ꑆbFg1*󯯕;!w*-U1C4E$p%.̄hNoV"c'H#m΁5)~uL6?v~`M~t^|AkzBDCG<Ζ߶oҤZGIW@J묄͉*ŷ1tP}6h x~H .wGxt t>߷Ъ2i%I)U]t$6dQ2?#-G<21̉O%?LdX8|aJ$:WJZ^:MN-7S^mc13W$56:z$1 E+V}a[.I"M> _!X88 #g kJb5ſUT^KDthc^I&LnՉ||+peB;lS27 BTOE~>|fZBPK<5Yǻ_ hIT3G5-@V4K[2Ϲ{F~Wez|x8N0a_ @zҋ= H?mwQanR*;8 bRѐbdqghɂʅ ڽ k9[/>`fn;7 fO!NH1le.@W̽ة;^1r3!(쁗mh$w4I U$łX3 T*x̚ _p/ޘe¢&7Befy< Mc6po7ѻQ M|?ٚ~w *n!\}R' s- E嘗vM:?DJW%-Tp.Vwͬ=ҖܬW%50 mQ#V 6Ǝp#Ty`MRO`(Fؿ_+8N@a^"uϘ'.5{/.}Ƒ)e$|.n] KF!㗟wo :Si@aC5ūM=!1uhnF>J_$ՑIyuv?rR}wJBgAn䗓еYI7-q^앣 RB$Pĭ7ub4ݐ=rU5RG6#>V(s7z 7cB:"%Y3̻$z~1ŝ+i Þ KU2ۗ!}؎Rw@`sR2.9dF5$vv  )5yOV8/>[AQe<%ۙPsF_rUb-V}sK|z#نCdL~JK)C\)I3Gu􉕩:66p4,LU"u/{TZjuO=yIq0x##t}`GȲH'bHìBAJuHM@)/q'EAI<)){b-QaatOp}ˠ{:ְHʆه5QӊX0jǏUEv 0ZsaȲ@>,1 G;'H CL]SK4w#&vFPk {W+K~R5Hу3]c}+z^jD'_q˕g;iqsP+XD=@mbwп!ozBKu`މ7j*rr ތxGǺEц.2M( cxhir򮺏r\eT8ݼ?r֟qWJjeZNET|D1iHܨ! =OkeЫ"sC-Z;_MM&lɸӡu(|-\O1ةO/qnv9sĒ=#Jڤj xuMӱ0k/7o(db :h>"N!mm)YwW,4 }`Zo f+)I+1GX_:mс0)N+9Q=ae}QAJV_8f"~I$٦JG كc5v`) S l DN%rgS|u>3`}7&~;"{gT&ѧa'YS~T}r%>|wf%8$* H\IJK\`>5Il2x*؉6!΂Yp}LVXܵ>yxEۃaK6o!ޤwHX.@{z8 R WDzZ1}6 IrV~) vE5șX>zƮыLs:U뚜CrL7 6ʈ\*́ 8nyOY\f9AȌynku"P'B/Cyxe}I,, 5Wz_n,^li]ӿ¨K^,Vws[Uaߐke~!'F"_E\.҅]뒞htB/jد@?fDhĖ.-SpDt BĖ_ W V{ٱA0@4is,C90HƝx_x^R}UF@A)cQOeHƼT#7RFV3.v}$ˎh Zm]e}7ᔪt/:$3.4t4~40Lm]?-dt8"mj8L~'I0K7# KD}Ax*8[+c۵U[A)gɤk0GXA/˭5TWqp)T皅#>c傤,@/ysG܋̔y O}hn:˄,YOKk4Z.0ruJ%GJLI8]ds^)2H !ǰk_"mP̾? V/폒nX{ R0ar ^jdF4]#75e7Fgp>bf Ԇ)hwwX- {`lV,:{mr"Mltv+6tťD$+fuXn撞JTi{|Np;sr)@#nb2e_,we`a\g2u5h g4kNy \{4rMl.uN mSoF4X`tmD63t7lHD<Y :k^.{uM<#B^bic*2k7S\*O5k?n ?c'3{BtWXnW[P*xh<<CԻA8Zy׾ʱ<v]lZK^ҀMMYMWԼuJ.hmY,#мPQ@&^Qxr=ڞ"PdU ,9BBBڞ|qJK: XJ`v[d&WYtyGp ś%-.e$2:=WMoBb"_j'a7>S̼=h<|h`}a HX +cc[b8l8A?g4С͘ p^uYD {y Z) ~~fkƥ}u EgLۻy;jVjk%d_y$:|i<e7u6Sbw[Re_-jj}3nL81h{|͓m,̹LY}O7}D"Fb.,Լ;Š;R0NИ}v*;z4 w>#=mvYM@^;!1n$s?-JTr?juA`mzqn,@jQS/Zd {`3S2NpFղBQ5y.DAT(ā^Υ@+M(-JCQWX7-y⟑qyS;5kKFUWll-~Δ>v2o_D]qvtn61Eb,D JFAM8&CTF&k kIfOTg[{ݡwl$:+pZ||lpybh1}kψfw^Ȯ'= C6e0|U6YNUtZ 0ox*„#f᠈`ئb{"LpLo!e6d-Kǖ hܟe>f$^= R4&ƅ?ć@&}šMraG ?)aun5e:rQ`U!jpCܞyf5qEm0BgFhQnbm6: 휌x3ŊoyGPb-qd{m:hXDU&20.zM"=4˶7A[GFKz"Ʉu+_dǼ` &{1Qtq͒ϙweOuݛA31^N($\8@FD[?qGcmgEؙ|c}Jp^!ҟ+-ޓџ؎coy c80fpDi+)D~!4^ܻדrT2[Ϭ3a/SC1UoibYF{HH9\DBt1L۪;;襚inp[]SJfX|*ZKqw* %"&"y!_D']шQjklOꦲ͛D1#h(hak; )8>E$G&4]fԭ|=|RSBqXwUqQƐט0V;D GJ7Fq3ZfhhhB\^0|l;C 4R͇sRZhQռcWueݏ= J8]zؑ!.4i[6 MRL(k*+ [v:> SoS T\@;ϏYGwc<.( _dzK|:$\5xCkJmTQy%Gw^!S$cek3'ܤ9lB(Wv#R^diCTRmzst;2Q$<nss`ED]FwR+oSaSq {w:f,@ߡVQF T-;9M|> KuU֢9\ڈ&OI@\q^q惾}Go[ڤ{zH.-,jg0Taܖ:&cEŋ$w^OBAp5eQ!mM!n|O/?Q𛪋 'pOGˬ*AsV %/mg$L8J!o׿s[ y>g˟wq^6㙿Mv~/q=CÕ$=Ͽ T}꓿z C⿲go?j$~C1)%ϟ}ưKY!AQBy(ƾ9/Wg~qd C@ o4~gk2[|̿녤 Sz"~@п>j$558s~0z'FPgOG?@_σ8Hg#^oW߬s6ٗc3wo} GP Gw08?~[X}Y xOçze/ 9~ʲ;ҡ~?~ZҬ_\vC?W/*Yj99-|^wsF`51e7,$Fژa8Xaױ~Dߧ_71<eq-1S^o,FV9)?Z[74,CΔCuqZ! ,Vx|%={K\?,<_y8r, ʨ{!e{Nv ? dߓːWO$H֚k| h7yJŅr~zumKʄbٮa3=b&T %Cu.aK"(厔 ށva9IЍF˘r+t fT 7HYI |' ^g:th-b,y#2+/t;N˯ENj@mf1'٭* $(D%D+mx?m A08SMN?y%l6)S*a pd5Ӌ 4[sz-87Ď:GK:߶,U~JyTr3nꂍ>T(rS2Fߊ(s:XkN#bbX$f.+{{M[އX\zl F SF7dmYfRXqR)LSMGԱ90b _wrt6H ;Kٻ؞6~ȯ[t~@qd> sқX# H6g4n\=%%Mes@#z-@ftYαpP{ 5[ng y4gqIaq-=ڜK-TIvZ7&%`Vmo:c MVPP?{^o9Æd-eNP䦧y9,]ךCގP%sm_SHbo#ͫk-+QVc UZ7i+;)Rf }mVVJ]˛a8Ov}4է7cLM E' y'>u}їHO'uXAA^fȶWͷ[}ހ]|k\pU$E`&{L0Of|q~q3ƈj7d1P;` `IP'$LsV1Pd@5b|lwFHL7:쳑K,Ee@pqa&z{q#>XYٗ{(A|D Zgnɘ3N/=ˆǫMe6EqEX[f^ #Kñg`)G[) wv4n1 橡ڕgqW=4icrR\}姾K=Hvc^J趻33 y!mvˤWK?E{M9S/4q$[K~U-dh62&zl d<և~lPAaHBqKǺ1&JqzϏW44"~HTWYՆfD,9&៲}< wO ;yc/n?z‡.LOB%Vt- < o}?6\(/my5_ao0ef˕F'>fqj^3Qk(X[sD^doE=lëO1!#cU;z} 0eˤI'zSY%ɀux/xҥ(&BY_c i3:q}yaO {j{Y ֝=pպБμxx ֝N$&by0LN%}oR PYi´o y`i2RC\/[-Y~p NBYP1Zw}) HL9Bg|`Lo,8M/npRg :{ymO.>z{; v)(.%b8&5D4/!7JAmYGrN A0g'蛳cfn6VYN>Eb.xs/0!Hr'ȭ!\8-%5U&r`)Nt>K`wwl58d#+%>t3c1<`A_hoхLKNo/~Y.:g~1cޣc N(W h$kgH1*> ~Y"Z- PYmظ/c *%I:ęg1[TkҠU0}-CDzQH?O.e1ɽyj\gN> =k2eZBN;AilU.[6mل1{r🲮R婤"w̝CKYtuhwcZ3w?%MMI6MAX{bxxqğXڝg S$JeJuM HWc7wYqCIrChr]]ui62zB:J0HX1bK)oaKK\NTa+]jw> "Ԭ uV`WT'b2gxSo7red e)H(ڣhEO.i1"Nɐq[Ee.^%ڤ |@y nXsQ!/UDHX4gyz2U1z_V*xKcQ$;|2>((G#@y e^6DJy/}5GܣUng0ƓϧPԔ蜜OCd[P/1y(k2ȆEK-(j  x]j*B); ޵aʎ]H:Jd "WDU#־Zp ,JM]n8`,:΅8t?{EArU$*>F0x5i7gF& [lPt,/e8j$]Ks=k.E074J 9RC<65CX*~~W KߞՕ7dK }=溂;!ReId @ŪZ`Y U%^!W4/޺Ux-KEwGeQ[Հ%MW" -ӜH϶ uE@.vl0jC{ 2v!2?!8 f†{ g_6n+o⧡~^U,:¨#3t|HS?07erjQDe/:}-͜kdҮH;8~Ɛ!]]0Ӆ\[`܏vDf0|9_ ?:ܪq73~[eG<.\ &U.9Ef$;=Ȭπ<2ۆ Oׅ ylg"! 6d1//LdƯp`8^?:aG&*3$XbҊCv zZ^ D.W q}ءs1))=^7c9MM7'e\(jT^@Hzޕm<9" h3JCƏzڻB\JM;Ev8T$ ||_o߁}νz_$o{pZyOR}Hھ1@MQcB"+5i2G͵Js4\.Gv[ >!@<\l;žH|i]ՃN:<!:4L]*KTγB9oTol}0S]'i('w胫8HC5=$g E@^>C+|x}_.F0$r2>q0|IAD9hU@[<MWߍL|t6l6GurSy}ʎ./ALj>'Ҩ.5 hOZ5ތ^&}n/wP8AEZFw{oԘb?fÉExH29DzHWrOꇑYpMs"ׂ65ܰzȠ>{Ah]>/oTd!oN{葂e.2 }l=xX{a9( Et9Xd">!}|1]E~^(wVFB_wn{0RV^o*,8&ayGe!G(r #u1ZD{܃]>ïaԗ>X7]7Id^drۗy\@R=7pOsN^l+:uTmq^.#~Irm +Gj,! i(D>z! n,Wa"DJw̺UHO}%#}`*"cFa [G^&7m_ΞOُyw75=5Eerd#|٦NAsؘ尔ZUh{"6K9;bE~ d9̄1eѻ۞Ȭr gư\Ԣ֖v2.S]:i;0)HHԯOjIn o;d)~(7nXxc5#AZd|95/nM˴r#3 WyЖnq*hp~j%H,P5]@˭#/ADyqc&abp7`% /+ZK+ XyEM9`e8 U|=D^1w{5`& \,gUao5ՑʘhRY9ؽ=HxK8*ښ)A}WoRHW$h!jiB@2@usvм)L 3␶]ן+!Ĕ P6g*}XW^?(`j)7%%茟$`-!{\(j12= v[`#!-G|K+@A;[ݹorF0NrtN6ea耢֘~M *AQ "#5x 6i^層o`7ISk /c{<_dt}quqn&G !)>K!π:ҷq+4IB ߫>D}E?RPepd]rfp#ѯ>ܷƛtp@V>ϒ/CJlIȤYЄptpdRz,,dy !к0[K,'9 vHU5&؝wD\ -}ݾ[K;;_HOWP ܸj,*#b=t7̐|z4oWslT-(~$ [sjҨQ~DS pn)46g)1s11po}:g&eC(tSD)a>;?KٵEFa"tO*?m Rx0![w)`]%GnG}zd#!iL  T4_2Zq[lqMPMaصts>]X .yd^K$R^!i֌CCأ&ڎ R?@!A~/LغV#wuoMٕMdMZK%޸{Ԥ0\ȔYG󑁽)32cUl8wǃ>g_ Kjs3NGzn?rCLϚ]a9<ѓv 9XvxƬ-|0l_90PfmhƮ!5ӯi \wEWmcPKJA]aR*S2;"fD;h9! ?߽;(Kgp؟!3-1͕D#`DAa%j:IhR/}>KJtC͟+[#s[5G|'VnuE r f>8vYJS= N SҸ-ƅX=ɞ֊d}ٞCTe9&[;n+/&X[&Hc{b=go1kN2>#BhO剬w'9jiN ':tUsahkXI" f@Uwޢ@>ϰWyl3|??YDk!kX>izTWuP~#D^fsQT1p{ L YsJ粒ZZsXJ2Z˽v D"jseDIp&}5^iEA, ؓ,t׎+¹ M1;/Yx6لs OMCd-eE:RRΥШcqMk-I}EklH:(v j^bqYmwn}1Yg?dfK$7blTx# ιya]ג\+FHcY'mŗMx~F@- Ґ'nSj3M=*MۚpDyM BW;ŗ`@HQKX^Ƿc)SMw9wm8R\Ӗ4h<w2&2뒸.ϰIcX4V6wT̖fu\m>Ҵ [ODgS]lFHqՙ.eЙva,=ъi |>kgeĖY/r뛿{ M29$.N܄l0^ b u,z]A&&cnd 0?&4[ذ#".["0NP_㵪$+]=#au.77ϟ'7s| wcIUBA| t1\uԔf=H4"虗 ii1g[~+VG0#U/XX R왿 y EZ]h{D3e=N\>O=9'?cs | wӫΙe Q^>Du|1(xqjCr)\25CgH&)uV ãyBأ/L-DWtG4[q= |q[u"|G$Nc\)>dDnSϫU|fmd}eopل10m)%:Y z\&nb_jʬm:ا*1I4ׁkW*⑇h݃p+$%>MHEu&7a 3KP^t >ܿ8K*(i^%\~43ARS]Tz;cلx}ok~(݊J~Q|6+mLi]*_]encZ2>(ڜE,wNRUl'DEM yj,G˂^u=\¶JĤ516.qywQGǢ\CaU4D$cECGG [%W-^~G㝲q( szfB!)ῼnp|?i0sD M r~ZU?|haY}7I  P`r|#q᷄75L=Q|u h_μ2ĭv{q#cҰ h@'X}ni>&@r9kJ?QRQ9#.\&ٖC1RdϏ:Fӛ4ƿA'4I0٬zЃ\&HiJx %[/`XBkР}]-wYj%TA$o 1eu^A"PZ$gil'!sD'| ,CtJfp祒˳n-Af;Ȏ8$L_JFN,&H3ź0k @wCu-B&tr*QoRqKŧL[~7(Ȁ[#|3x 21K]>;YG{i#wE1WŠ1MԨEE3[ggZcbn C%| )Lu e.?;0ȌB>d٨;[nB(;ɷ1(fNFWQ&iAD1JiϠW$s=qɁzqo5۾RRNo=,:OR¾rz![jJ j ^iN8jL`VHM oHO4,PNW~lENI$+4RFB(4$vt=z;1.ԙ[x-ϧ.̧@8?t/<#fCDreFOêLr>T@%T;Z;52TŠ..Ra" lz$?]byos\jʊ}Au |1+H]3/i WY8n25o!Ίvj*D^;NƊ#G{bCν}gKjk]݈ dl?P۱eڥ"Uﻎεqg&I?N׻_'4?>^ˉdX\̡F-#KU, #Fz,|7y;?ي|"|Qj05^zK03J*`>A5z;1WX XۗL,ՇZ3E ,07RRv>EV[j)Zҽ'rf̀Y,[ DLZx`{$iL&?@9 &5P^C78\!umqnb 3 - / ]D`HRkH\u[0r?ZLJS,*+w( /'FCx%S ;, U믥} vaᷴiqd |k٩=׍yf-CQM9{ RIN!Uaͯ>]rK 38{PQĴ٤3 Ζ3G–{+Ta}rdf T#WyYSKu*612G%X|1EГ ⃒ih逪ʂ50s8:y fMUؿcߐi=d"'X~2&ˣT+=D<<E,ץW-bd("?_*填m<g5/Fi:UԎN䜱$sd2nߗ>%U.*bpzg`! }Oޫici*,%wC/乊V"s.#Yt5"IX%|}pa˼mƠM;QrqF48ªО#H}A7Dj?ۺNMd=C"y k`'9ȟƸ>m= S̠Bd,Vן@?l,5%7Q?5<= 9[D" )M/P8{.eP]_[64VXs⒜|>!i a1m Z݈wGH~c I6I=-dKZqU .XHI+#Xا5e4汖B[[{{~{qfQ֓B_- ;Ud]δ,)\cdhv]()U|njsoepZho dҡ]3>F+Q&,˪X"gNeP`42fsxQ֚(4Eӟz[Pce])rzJ8 DŽלW]^#τN֝/o$- 3jn7v]lOrDnho_Q|ϤYl bag8'\weAiț|}l=m'F; sF>ȣOuB1QqUO.NXM]ܼ{HA-ّO.m>{Mtӻ,W$x%ؐg\,X D /XzKE⣱S5`Tȃ1d3\t N픑[ƻ䐬ʪ(6<^[tw^m8TYKB{aplkLV9=n3ݾc @w$ <~^,aV,B]i.L3SD_ҫ_v$'aSc/S>Z&B{ádP~YٻS)ȍU~nɱT\~,Ŧ 0B$eu*m|xUf`vs9y8?؇!' J8SHW4kB OgE ̂y6}u:h-Aȹxw4ZtW|{oQqz,:i3'JGS䕽*` VCBjSA7GLĀLָ:X:Tϋ?}B!b\$ ,'SY&R.6S-L&ٜRxb\uW鮼1fXX6ZA׸t5c2 ֗Ǿǔu;_O'hc6&ץt^R@5gz=8|d@~ksq)A>>88GE_ /j+^MנNk,!/Nm/-cӾ{_0b ”hk88]Zno[ZفڤK̿W K.]!/É9u A :wtESvW +zx{@|"d9!LkŻTky].N&gT=hx!0'EI7o&1.!X z-,I&7h@&Η{]Xw1M~kgd.3Z>j۱iF>\2MF:u=;sUy5DTj^*߾c#́b*զ UhnWH}*)=Ut؋t ,X ?qÛ2r~˅C1@d@-܅z0w2ٯ^S^^tD)c9͙yzH"gϼP[i,ɂ2u~V WFۼQ̉^8 <3q{ya ?=O-?Gw~Yܽ߾ixg߆yi. @ZU_eGʌwE{ÛJ⾨RqW w10p 0nV}U^Ȫ#8dT_$[LyR]"%ZH}UeIriyd\bG IAዠ͋?H'íNr4/ere0r!)-)zzQ%Zd͉7R<3'Z$lmX*| n>ZJɝb~j\M^h"O\5L;mBARTCȁb'c4 սSp m倒dcu*3U` BZT)V9nɜ_h,; nF1cAv2Y>IU.qb۳T+K &PEꟽUNei*W |^Y(?H{x賓K%rI\IJsb6I~9~! ًL}?|~}ͯ7=<9Ze-`` <,ԍD):/i;d'lsv[ުk1AIIF;耩gcFٯ@b ?c/y\~bN&9jZy/?ݳM ՎChDW _暎?p9!'z/tFϱEa)r0`1E{?Ḯ @O^)oY  $%)P#l7#ygȴAq}De Xx }_?⊀X"[0,}#@wa$^L S}@i7zǣkˆ1INկePX|e[_ɂ~$L/, 2?̓wظKt b[I/zƿyq {&X /OPQa"O)#}`tמ-G鸓dWkU?ڍWM J Z NwX] 2+UV3=j+ ,5yҔG"'U8U]AeϡcЛ+X˃1quQ!sX26;\ɝ{4Sii\&˪/ande(Y7KwY?]d{>>,n_Ч746XV$_7?~zƐKah[.G)VBd#eqMy*՜ X!]d5jaI{ielʭAvXHaBnXMoyB,Ds}#]R#~(0 H"p<|!3DdTQD>?q&SM&F{*@>CS9ތnPU]xM:tPTwTlpr,tE=Gơ7)5E0̣c)5n~֪@#by"2dmؔ&ìY_,#%KNg 9;8 j7;h 5bF uS;|iaDa}O%8 dT4Ot@gAzvM+}۹F`? ͆$ŮΣ`N UwfϙuCf,ErC2nX u0weך_=Jq,}RY8_0c3~CPa1#~fLZ*kwEl1iT+L۱rASoP:ܤO.9:|}>rAP8]vgD|]ߦ:3)#i 9> /sZ8'2u# -g=qW޽$($ߞdCFE"BPumC6^o!/)8G*wObLI:N4zukQ* ߹s<-;K8 Q@nacaȢCGgZ[ĸpaxdr-7~3#_N?> #t_H EГ \&MբfELB\z(Omxz"ʓ&4]ig~DeK-ϬD9|Zg0NL CY!ydoQ=Y{:M\?\x(㾶[  ,!.)Ibu Q/w`bpHk+uzFÊ1VQ$ Ecِqy-Y웶Լ9qGߟwϯTW416s",`zh^YP5dևyVu7E;˖U$-,Y`LVǨ.AL~ h.(_`'y:Si>n\KCt}0Ty-ޒ KxKB. IY&?y48yk?޶9%Yу`ٺgIOTr:iT+bf%}p\)}D8 iQ]1iaMMrǵW3x#UFuRs. a~?. *r eLUԒ6n㽱GWpRBiܮw"faӿonoR(Fy;ougoV"b{nv&l)teƇr!xaUZxN6?z`B/snP-2&f䙲ؑWPž;wpod~⶷RQM i~ 6Ac*$,qcJ'\U줋4">v7O]QU>ϒvzXUv.k+K3'Gj' 2˪~Q7pz,EӧI%;|M|󓷕͉Fh3k)I.Y|੼<(dyFߎR50.owHQ_] mMCcjM3Fq蟊,qpC5&e2qxQ\nz]{y,+ q:&L?˂pnde<JyjNjG)h1'7Wթ%r9sZx壴,r$ l9@]ơC\󣎴9$97b|NneMq$rjs,o$8[IՀӍ rFݯQ2HQ.XzKv<\Crww(&TɖNdZ;R&e,)lhx~zY׈[I|*Ɵ) P*'KA%]gVmE MM.&'e0=d.DJkk߽H{٩J6&-p|2ay;@6 hږBn=qBpX ~oK7U=M TpUnùl$\Zb2 FfpHN|칭5"> ':w\(fe䖀ns 1o{| ^dJ'-C뛰zrLu(ix=.-YBZνͅzʄOYFI|.Ռg Cp. Qtͱ6sf7X_B= {-z'!ˇ"zKA&wZ tNxO d2ߺ"m€pmh ')E5[ SW8 5)7'ލ_kF xKs_(CDjxrs}]5}41m\i+FGa[+U 3B6؋ !R&4,͞J/*ȐD]&r"Yeْvz&ADK2unbXgᙡGЪ6˜Q[k@Nb<>^Bk"b Mmk\S/R7VVk3-1c0`W |. Xcу@f{A_} c(u[:ڤo |k=N!Г6 8T_O$m'M C_yͿϒ_m(QBD!aYr~C8 wGV1O׾4{_JZ9H>}'Benm,u$Gҡ2P=#{{Y&wS&wRO BEZ~\x6ɥt7 5rM"C+X.`zb1όZBav ~*$ՒbU,Wb%&Aw&DmGo]KcAmJ>jSf|$;72֞==_x17fׁߨN Ѻ guë\r LP=?C"+mOF=x %(0i4P2,բLVymJ*A9A}\/:ޠoIOù)d7 >. )1|9X) nƵsnҚ% ag$T3#!`찑I"5H)"|pA(QO,wBҹו2*E| Q۹0Wo!:^-K|ؓH)Y;m)ZzEt_dw%2 j\Vwufv0 <\9q=s˞w%  lڡ/6N/WCo m!)\n^C`皇 Ĭ6haAc?c\XqgQ=Țd5,WH.VŘwTnwŰP)j $3٢<)fb;OJ1K~t dM<4e &8?0@Dgu' ںfH! 4p7$H'O·tp)^ՄJN?p8Zki;I%ʶ+>K'(o{Ah]j*>4N[4~˹o%GG}[mu2{9 -~ʂmY $A.,8&b3QuM꜐XHb-a~,Rn E&;l -?1ēTL-ك#V)^SIs2]tO;*ҵIQ9gxrLDqp;qp0EWa'򎣾o,W=K;`i/j[DE1K("F$"y͊3K"KOpKz>v_)ޅkZ˞؃HD m8yu~ߐh8M_Y &4W#,_ {g;&QkgߖrQ(%1_K2&o·XJՇ+_B#;|0ͻ]TNӿc)"#~4JG9018OأtJssV 6_;n 1_Џl#UJUaTldq-#^O?hu sJgZ#vX$m q$XQ{ڗ#*(O9̲9w^JH\^AEyǨ9doMo6Bw) NЛ*Km_x٧[&loƞsBذD󎣞5}r`G{ 21'dxJ6Y:F?ݯnҊ6TJ>$2Dvö Ti*A?gOp/6`3)6l__A0Cy\\5`sr/䣋8#)eꙄ]~To. IjTԼ4qQ _?wWiMY}nֆ{ѠWh$&K#UJ߯5U)YJk `$B.k9J j[ކlc?uv}ᄟ;?"rop#ܔG9DlƂDDfCCK |}ͤ!jY/d^R`tEd/+LC9H߄06Z#hH ^}q$D[@+=QĚvmͅ1n?{eVVȶVk sv$wN2GzYTg7kV w ) %o":nAЎ${࿆EL8^'pX7c9)I(@-L$ü^2gIqN 7 <|N#e)s!apִU8H]>j+KqGEY27mU :5"l9jz?f;*ȏlBT^UrQ& SHP4Kސ @ݥn(5x Ӄ"f1׼ o,ߣqD7 kべZcڽw3ú\;1 D(WtX)GV9{.n࡝{ *s'sK:(k0Mo^gQ\9|}.?1O".Z<]Y]ne*uJ=;C&Z}9#wU1֋cBAGh~aFwq, +'׊~KBMcgg?qn)䣏hxR+zguQ 9}k/ ~d6 U IDoVK7 ï^d 6i;3bSr9ݢ_ SO=ƨא4do:?01sX~Ec#Nza/c  륮`Tģ7&Xn O^ p歘22: ;"F!aUY@]# uz\$[>ɡ}!iyiW]>^vTsQ؊0X,+֯#?DHsd9 Dk|e쐯)E@;9%}%OʼnGX3L bߜ\})j%ӱx |x7̽D9!͢^%2vJ#BJT-Ֆ]ŕ3e Ejds676uZ+*z &&Qpv.1Dr)"x!:ޘ2Ӝi#v}hZV^wI\=]Nr0A7{l U 8{Gȏ|bJX8iΙ<6bBYף_  Qc% >7ʁOAy5 "o!P-;ﳴޚ` St+4"7ѧ\R #Kߩ3[/6ikQ泫V'+-E!/ԍ"y꯷\y%iNr%ۦ|TXJ% g}"oj+|!cH_W~nW&b6mFV{K5|`ưN& =QTLf AN'QR5 1BPfƹ08cIVtcwgj}vy8銖%u"/Ҩ!K'0~c_>FxǯlgèE%LVyz]ᾯaá-tZc`e1ܵ|NӇĀL{|m=W>0*ۦlŦGYw򌙊7ţEt䢎pcVTdQ֥5{Fe7v_eFJ^YBGIDeSޭIotieтqb!-L*?ՠvΩ}\-Rۦ( H9O,27_7c&ʒk4=Kި\9<2N X"=Mh…dz aD|Jkp^׷XBM4 T{|;Y&dZ&ߞGfA6JERt k <0)3ܜ;2Ujc5;'O垾;1ɋ&k+/RU_#ڿ#?5z ?>mnx+g aĖ@6 ;bzrl問m"dbۯ Dx~6[*JM~Ah8!נ̾A}Jỻ NGL,B*`t&z_s<ķyzl l~F]p$(وw RJ#< awVfD IcXIeM>56@~`-^'=j'_>_j )@X>D@$ 维53ez}a)/f\3讔~B҂D,Ơ]Q,Dn&Wr86hOv2NPOqU%ݣMsJлbS8]T VG<0(= @Y 䇄(\#ͷpHVZ#Ӆ'@,5<ֵ$Qy0`_ lL~^  47 ދ'WU{>&p?t+Ky%uꚔTƀo1)8I'X@dT TN=\/G,Iٮ7k\Ȧ$+A]`1I INBȁE!({}dF>D\2g&ҾYdąV߰RL>x WgR?]7OpcH4&Y2[_нv<0$?|Io̍1pڳ$JJ&!#W1yʜ(sSk aeh><ّyF UC-GP+?d xϏߎRd}ANTm·#^]VjF F~t {SmU՞@(b!d=o0GȂ \+WZi3w)916[=$Pݺ %4v1 >w$쪓#`У jxHal`xN}"Ǩ &R>*ՋW6r.H0ƶ]TOlo30SxrXvvC{=EXρPY]I0TQ_[a]@iI/?=phtUPc$0^۰N$ ]r͋ L<ʄ#8^ȅ(WP8'$M槤1 ѕ;bV|4ħJOUTMD'\6SF/o EqۊȞA+Vh ^u*x)M9 LD2\6e@s6tC=_}"Յ g$[t G=YkX">z>BvF?ioqVϾo|V\uơ?N~򇧔LYW>h7?}i,ߌ/Α=xG`^'axmCU; ERoϋTaiJ_];VS]*?f#]DSJز7  !r[-uۄ RqN!s&KV6aQL~ Zd<3.wQ]3MC2xчNB.CPo'Ipc&wH^,Ju;o4uF/`Ă:a)gITrK%(`Fd^Ը~]n]d!D? 1`UX׀֚I{K3|x7_:[^|kt.}m G/T,&8Q ;G!NǪ>ι ?^0lϝ`zHXׇ->keaU]f$T=dTC\T3rjX! ]ak'Ly Z蠓m2nX)LN!fǞ̏D2)wk ksc !Z6!h1µLbO(o',^mV.ɂW⼀HB.pB޾ևGw;^pϋ /bf'ńX^>cĺ5.=`]A"J[±UMhEM֕X[$v*9z$D /%7"ӘW.N@=2qaB zܖn͞hf O??2o% ^## xbCoBgIM`+8 L?rpy03yо{߆_ǝdlj@V~HG#FW8@>U"0+J[ؠprYqaQx(QH9yXԃsd(i#Hk?;|+<[u"8pִpFG{&9Pm›Ҷ3`@81n"xe)tK ʨ<7x;]qa.WŶ=4bzSA_gej\] QEucFU*p>Jy;c9DL"s0ǰV&+`GR^wl)[{2(HF*JC{ZWQrcJbnUZ\V4M{yߡ ''54 Gtv 5W̊M_\Sdr[ (gAy5)eA ,k{ʰs&<.AZpy3w%Go*wPҽ z_N=ɹ1dpF@MBƒMEVNƜkp~o|>P.|_RHpmoN mBޔd\[R# דq q?<υ3y[]j ,׼D0nOEs9OirN&dd+uN;M^Gl6H/ʐ?bt\'V|)Ϳ}aXfV&ͭIz`o883 j<{AƕMsE <o|;$Gu dxq|LDkmw_Μ-e? PM>%)na.Q$huCvEed뙷ʖ1bMjHIMߧ ' (؜hѢ̫Vhm6;wWcԞM*0Oa _K6^쒅-xiDGf%K1q뤱&1}eDH(x<\$̂K.me"2AsIo>~`h πRk Gu./95a{ߍ͊:t=c$^"?hlrD' ?Mʼ}BdvB0W|^uQ]1=Nwm]W89mli`_DsJhd\'QW[g0KOB3TNgwĪMWnU{ʍp+!uLY BRL|iҦGf[t=T&jp)% ve:*TɌ4%1=Fg-hf@= Y?4T|5ȾSm6;zJO26{_) pk\Zk h=QрPhy& 9s U ^G~,;}𥽳%H\Dn,6 ^K0?B|YJYm#H)rGF( Y<;K)V$ ](O1:V5(H\(I7 Li-v۴-;$3kd0׶h]$TWd w_ S4 k&JF{>F' 1&.0<Ӫ~QF ybj{-JFG+l( 7q|o_.:"ߍoop}jҎ;[" [ 44op:2}"'/!y pl:oZna8+ݘUыspio,AL!﬋BknxŽI1R6+o> 2>Ҿv\ou p?9mߛM> [4K)J5i/̓w(PLRD \lI>ad_Z$(nvճQS P#;DD :7d[=̩)QGz|[B GrD`3&,mO*zʹLlf4ᝢbx#M._0`L$Bgz.ԥA+_[cWzŘl+82Z1I # w컹ͥ9瞵2]ԱSίBmbNY7tlrII%v!lACHchqiWsbBGQ=NMsW^x4R}5z=[{2)ơ5v@FV1OZNObKQn5]קJqp$+Rꢋj="% I}ZoD7>gCBa!_L93_HedGhDlf g2R#JV/e68UR %ƏGF;jjyW0c==9MR0tH {ٶ*ɾd?Y~WNrQr0f3H<֏˰*m3M\yvQG1)jզ1zL95Q^˯=N~pd_# OPŦufag`N=>f)|D)f60+צk NzqbBI]zMti{bo\g[ [:Jl̍n7~ZS#:Ey[xzk7qM$!Vy)_ [pM|*X$t߰Wj=S#7\o!b.J!Oo:s\HdvzrSR|"X>閮qߋMr+}M31oNynesrf _#8 &bdz?bQ(œ`K@okuM|w%*oS6_}+d|i)iB[|Е,'{#kc?[$,R-JJ͈u0JpnKl2K<á%xbx#wO!7y2V? 0|xCzx㗑+[| VKclg]O0)(C;.aL0!C08vZ:?HVLI!fE~EDPpR`{2 /.DYIͰW Ы%^/b2ң #]کFn}luo4869Jޔ~&/-QI!Lo2{ Bų3'8V]Ԧ;߁J!, ţgI9A Yu}.]ybtʬ 6vI!R6_vo[!BI^6xW@#ϤG!/^s{uW~RƩDuG`3_rb& gW_PRreǗn[N>JVn_~T!SuӗY ~$pK^bҔd47ÌijރbN|ԍ N*7k{a3AKS(BĆL&C+pxvEʚ~S#QԜok n:|[ Rxpo?)"(? BSS}_^FtP7c@"in6;j"bKkD ȡ73K~#`NP@–r'Tei@_Gd),Uҵ91$U>%@A`|]cȣO{"n_6kILẒ*7rr?nD44ǍiSEQby˗2dv|4c!︆۪Fl*]c |h6$ĭ̏"ʽ#2mʿLquhY' u}% ]$E6G豹4 z\'ǙKnY@XIdz %voP>DC[Lw$E k~;Dh2+Q8 nqq0/4RM=08=\g:>F^F~A:h&,4Rjo=1> Ky?H]=@4Xl,4]E#tQŕ2aM`٦74/t\xvҙOOz6ӶuaOMñK_ /I%ÜaɵNu"%=ͫ!":!\]¯ImVC_{°pN_e:"DTA`Ad-ü7!;f9LLsob5TJD|mK026['R&P>\&υ>ۇ8d(S+[VAX3xF~Q|͋;K`pu{apVsQ+mpT}pzZW `$?O.5!Y/ e[Zeax$l"2($*k~"2O}[stc~݆d9;SAzm9׎v4dmC__oO JWpg:QWu/7sn[ifⵍJarˑ`i3pC/L_da/rT;xCbCºϭpL%{ =)06} D[}1wor;>R&"na_ d +LQ$蒱`dWjjwUy'x;-"@fHH22=%#qAuMXp?"~hoa.WDQMPhM{ޗHxaw_u s<\z0-ݿ3IM_,L  \0Ƭ˴c]qqEp_AҥC/ C~o~+f1=#Fh^=ܽ5NÜok·x'p{wϚNB+ͫ/;f5q_ J\䠠)`eMdFp:#iH)cz@ 8x)>7KZ(B; SɋҒ@yvڒ&K<&:P \Y^j;b^؍~4$c$C%jCS+L I ;FJ)isaw{[FY^f`58ϓTa?)*P?_lJd 9W] nJSJ0l)F?ӧ LYj#~k(B7v1eJHp:5[+0&d /iz WnDT…uWS8&ݗ [tT{ cr"S˸T}0MY?]&߿ Z#fĠK=OtYqS"~osޱ!0]}ܩoE;j͒s #V-RjĜ.ß:ѿ6.P ^}<*ؗƛWSc F>9N,"Pxv}_Pu5+>/\>nN1.v}k bky" hQh{=."\p( ~md8/]+$0CoAux*Xl̠a?n "[YD!L1C>ICTc6iCcYBSL@Q?"{2bF`XL+̲81h]\s_J[bOēMӘ ߢx ,vI+}4UR *ZᐭfRI{Jl\HeQ>6N"e$b0C4@,7 .fC| Sp GVb:暎tXƥz^ŎxHjTlIy'(vu$sY:cx6i7y=@5,d&耋M"8F1ͽgJjq] I{› By&Ky8dkΦILJ=Fߌ;#)?k D+gbuii3 X0}\WB>/jgR__r!memW16GCeCq>Uo7`"#3Yz Fmg {xM9Ð?88s+eNiJ>y!Q~M6Ф7i>/#G*a;Rt˽c3kН.񇲬g@A?аn?@ցTF;uGr&֑U׫umƟG;WVrEj4axk> | 4O`TFh<:xؘD{$pT%(\.wSiWժǓsLURWnmcڱ$W1rʱׁ0J0/K X,ugp}ӳ *~cK&"a_b{# B7eonu6'( HGkTI$ċ]PZ̿J}>6XθJkQHV-HW;|̉m^)*䚒[JnT>dY#;:ܽ#>?RVButcxo:_׃[Ź" #c8PУc@)_&R0.9wrn)&m]o8CFKѪ $$ n36xl4g£\v 3Դȏ3򠆛ytE ! >h+݀v-8'p5`?X<(aFɒ3mUTTpуy'yD;%}P0~ص#i*qӠ`>k'wA^H©͠ v R4%R rzcFV<_&p5{O*Fnz':2 )7,‡J]D $v}?D@HdWި{ewz.=S ?T%V (AT="e?L3:r G٬ΠAu7*UȊ)d _J SNP7* ^{;Ei'UhUqǩ6IWRO*o1Pa!_G>ŏwdrd[3 !2D]3) ۍ1NRJHJ35楒d~.HmR_ NTC=uOL8V/oߤ40EDx(Qf%9CuweWt|1{,DžmKTKBc*d\y(is#FH?+yo4ta_q (g.ZYABZ^:WIFd=p@2z[XtqT1H5񽗷Udoy{uJ\QaE>쐃[\{jPho/'ȼgys ›6a^Pm+.gVɦA% YeF1Z y'hF,T\%gZxw/"vNT|EMrU)ԭd$O5P)Mܞ5P[ꨆXZ +U kq7 |y^Zƴ?E}P9k ,w<`{TmNkAEaP[K [$QEm $}fz"^nH9s mdPVyVb\ 򉌞BȀdk4ˊtrY AԦ\K*SQ;9Sx O|k]!|3M T.dEJ2`AP7CJSY1IqHJѮD)+ql":<@"Ckd] 璮qnכ~ |ޔWNPꪩ\Jq^q朙e$腉tq{‚ox_-xF3Wz8+í5c8czYWunxmCmU<ǥk%ͱWʡK.~]v5)eKyb;!csT-7no%$wP||so\ᶱ7$wڿKG4b"5~V҉DR:3sr*&[N5? b/g8-}v8YqC#>Q-Bʖ5^~>1CMz"I{۾'DUi,b9{.(5vI/ȂR ^ѷKu G #w,#7 B3ʼTB$;lr˪!%G GUU\p*w*;NqCjm|d;GYd m438Șa+_p/)a!67 9SrEm< ~ʣ(y "WdB.ߺYZj'lʞp?$ܼA]ݛ)wg; !ɰܵ\c?t4x2Jכ_sIf@3eΒ];ž<.{a^1Zn>I:4f Xuu~mJ4gK-U2+džg T Ța8ze8ZrK5 v}-zN$R$T 9\ȗz[ݹf.t *DHK_/gMgRכs9n/ % oBA ?1-xc^1~ѻg%?w!9g0C@n);:8b$: 5(a-ݬ`ފĜgY^k%c~E@),FfM7~׷Ӓ/BC:YͅL ꆶbZA31 WtHgsͯ^d-LWd[C!C*`ս{1>H~v0:><ԥ?[P%H0[q_K9isjE}?7AT~\,6 H~O^6eg|Cf$(x1z Yifr+/}ԍ7 W+@Wr N=Xӿ>)/UBYC5{h4jgw" y<ګՔޑ",QL9JJ{w ە!MycpP\DDONSekbݡi+qEY'n֦U wUxkaxyeImUU6}_ v)9 -q#WRߏvp狳 Č-ژ\jκ57lM(8pxMN뾏}2 ,[ 1zI6~~$g`jYϴ @zK@wׯ+C%> 3-xaʈ|ņ{h&&[7~VC"Wx*dE|r5fd-򱙱^ըN8zimWKrKsaaJy.R ?ʕN tcT{MT72/ˊ?. = ?Qb`]m~c8N+R/q}gRѱi0n#H=6XRgUĞN([XHoTFӐl}rLE%}X7~=bBg8Df$om’hϯ oe#-.{0-/ܑ膠!4p *R> eow=boH:i<^|6n"k\rPguy#C0x51F'\x)G !am;/BMŗϷwtI4}"6Ŋ) *҂t5u9M^F&N>THڮ7nrzf8s2;d=`Wa_Kc_a~){YYxqB7QD')`ئ*}I^+*G S. <kD%|Zt ^Y5 n坤 -l",}Y4_w@|4j.ɗ".Nu7F Xo01|hHHfPt[%mm) ͻDdZcOiUѡH/B9H]Ƚ_c=:TeKEliԣ\R )$N0=`ZU}s~kX#F/}5)%N+svr m 2tA,@<,Z5lBx<vٝW5 *v-`jDijU|»#ьJŵtщ#PŎh ϰtjSG[0 OXQ}18c{IP2M.Ɏѩ`íN;ê'c--mRbU!|H;i e! sl1ngI˫@;{;RކxCj{>ao=)aaB<&̴Y,yNAMPLWɱv UI!T9R涊c3AQK·% 1V[vb)5QJ~@%F_u/ Aȱ`B/@}aZ̶\%̭{cݛpڤ*rI-Lr)x%{n]nnmPWF6_B:NHH.k`xBsL% uc Q%Q}b%V.8*)> EO4_Ag@PwC!*$_MSPM0Vjoq Dz5J$n =%4'񊚗 DjD!}r~sQUR`{p,BEkW .\orjy~,/kr7ΒʀxG1e<ؑZ u&(dUXr&vN[BiI27=BA[yqEƷrr@"Y,\!|݄WǑ*xNxWMk$'u ,j?rq+ LI =VR)_.u[wg{;1~;ej0@mpbƁte/v?GQ&?$2K)KLꂽZ5HyƧW5&.ToFUMX`h\RyK{>bcem0\+!=0xCGNM#Uxqf-!I"aVѽ*$C`dI6+t!hb~A3Pnc1<]tS2jg%0 5SW-qeE0ܡֽp7b FJtÏa Y?JN6X{'HH',>"'.'7 'H9!GH36,?_B'`EEѾ 8 2 }3L 7ҳ=`^{,~np?C\؇/I^6)Gvbe9Վ@˴g`QpOoDb7YoH2S;-BE*PKzNΡY)խ _编қ_Եd\/aLvg1|`3zq|i C'f[tcٰ_Dى MDٖͧmoe􍁙Ѐ,y~(J ZkU^ͤmb՗D6]ܬk:ĕ&ϱmV 9G(D_aς,`I9##(m5UU Y1A",>m,iP ^ry~h 7`iEZuqZ2/ >ūjH *k&]0ϝE5tDURlTiՅM5N#U񷥡 KI+儶vX%tT:_ZZ7!PgkRl@HPƭ~$q*iel8#LGf86x )8'Jf7 4@z ͣT`wkU %I齢ٰםo?` 1lP!so&w>ª8+;}Ï0­1]3gO]BPҁ~Ñ ]MK_ROV H$X l_,O*9\hb'F5}[uٛcP`JG;*Z{(#OQ,ꡒ 9ޠD-'Y1o/j,5Su{ΞF)u 6҅IȠ{"w]p|^HV|>@_,YgG ^3=)n2 PU.z$bZ a&RƤ3yd'/isȭIqn(y71T#36 3dc? oQ<%o"bՏ"Е '$J[УlHzǨf_XںJ bkद-s1әl@G5`]Kq!uGEֻD^T@@x~`=@ gB3d{lɼ7ˆ{Vz8h1dN7>9åO8 eo)bvs~+krfcDm k݊.!]y0 NQ2&z=XY6 F˷*7@#_PGbޖ5 _c$ߕK]%X,Ax?#Ş%qE/;ccEK7"w0r\}-ɿ*T!`R!: oD#I)FHx1U3x*YOuEsR;oLP#gLq>^K-trYz2P>rRhI`q+Jy͗Y̬'1!lj~xϾV^ސc9'HzasԜ:;?rbhv`!: ʼR!f}%97}bcW}1z[ͼ ͔&sZ_&/&b_ l&~&}m$0C'Z4 -q=(V0/K~( ={ i:jQ輧z1g HQ6OC5Ƿ)"aih0dCg$!T̜QKgX]!ڤ9qs}.vcu?ۙW'6 zp Mvw%3G?4y{`4#Ln\[U0W>̫6S`:k!߰o޽Rzv|cTM]5Mn_mKL%Sּ jl\ CW!%dnElc%5`Za1qr&vP>KF["a"b32%mj}ߟ_2* cU}I(&acka.$ #`2dg+T1>6C8Ͽ!G~ YYKCn؜W|B:4:o7\Z'8U6kIA)k|֗E{~-p v$6^6y9Us5PbT`J[zr1"yvdǕߵ*LJjBiOѫ0po}9P:%j@ \.YU,$f$_,uXڋHSM#hGoVM/kbe1Sx)XXXτ M4E=O=e>@CwJ]tqT(X8f3C;P׶2".pBݽeW,kD[L۽quo!qY<ٸ9:hЉlF?V goJwB~iR8FH,f E*:'~kJΊxoA0v} N c;N>βu+ M -D,ߧn;V=/g?ZZC$ЈώHc-Ӟ]ֱW]>i N8N_:G}sf`p/nhܯ aF\8oM K0J#$y8#bJ}~PF| C.Km Y!u2 ] Zơ&"\6%(f67$PiAog`E5S@gv١1,=`>9=q?G}EP,%/7(6-SK R~Af?aKDoSl} PSqmo'Rje/gGn)BlO72>9n[ij_u.n..98J:'B.h1V违UHAXI!H(t*aF>e)k'ok[X b%;UcFlIP;imH a]޿%_XWh|vfw:Ý //t#\(5&sW@5 'mKnA-s TH`Ppx3N#Lk_:92?ȃK6zN&"/ +4'nJ4ؠ' h)—TJH&Bz%?+sKzaǏ{>M/.vϱl_o/N MY{*A >AZoh'E۝m60\E#[0WgaS2.^mpy"{ԼMrZRwKC/d.5 !΋/^#AC#?r ˜?N} Hz`Q'B/^ >3 J;Ѿ!c(?1vzFɕ;,UK JცEΡR׌zJiֳv~UA v`m>+.zyI?6%'P&I Τ>>ɂ-5'u)Rlma-BH*d 9*-/z<0Vr|a&o+WoE&<+|': hI]a|7Պcϯ˾N~0Eg03T~ ]OLeX)*PM59\WZuK`^*zȖ `o94x̲sQ`2;U+4BbepUKP}_׈aRTnE[!OCwnKhǗrb}.t'(LS?@SjBp(646@l+ⒶsVǀ!=ZZ n)صpln  @CCϤ<1L F< '7ϔR)L>]#`/)ͅZVNTK-GRP@U\,(<` p&_"p,pZ'WVu!1dism~Bobya!D9u:ϧ&E-cmx~zmpJ{#2 _{EYolWd5Yřᗟ7мE'{3e'+jKߣA` PیoהRF3fu`S|DS%F,֡]r9Ұe=nƄd&D$9z%o9Ö 6+: _ 3zf3@wtcRF~}wwC3GU'111B 4 ]ksh2L&üsYPܦٕU oOڍeͣ*~Ku\eDC[T8.Q5Lztڰ$N`zipyeC((-ժUj%y V8 (yU@# U;babG7 h|cai-*sBѾNKNY BOݭ{f? aX)/:k39/"RAt]Ep3qJlJ4,"|T:WXֹ$(b( +1jl.b|G $x?8G Ȧ?zLY zT&ݍ;^&;q9i7 dtTHaGR?d_~صٟN*/Ogk=T)ƿfUn%LD&O~刔=Ű ߰RRryeN뚵=]o񼚁  v~^>g׫1z5qepΫK<1CAl~ϟhح1;;PO% {g,k,1bYT>{lpma+峟|P~^rMa%jI>Ƹ_$"G~5Q>ZFײUNDit*uy_v{rɳ }b^ꛐ]`)wYF2" ?j݉*h++udbe6ÔF~D㯊 25ڪM ߐĨ$ٿX`ЈyPo4=-:-ey2(G00_ rYpӤ}eõ-IDQ{}uNQ V[a^wl LYx!JbC@Z$ɰ*[sa5T&ԩjYqS׏-c7D0(Hz,f:Sf%M-zB’/ 2뺑czp}ڻ̀A$}t'0b7 #v]N^YY,zU ,.FQΘP5L@N[9c1?e𑊤.CrqWDXޑn""7\7 x <ۂ׾5q?AƘD8y-HU I%e l(lgG}=>)}Az:Eb{T;`;8tT.7LJ-sڛɮ<ՔAaj) +aA_b%1~p@5;N9cq  1$Y2I [ärEl[U>;k$sК1fxF1 2;5v`]k>ɝ[^b9,3x& 8;eI LUӡ-=aす;C\(okR-]gNDXU2'~-jhei~1~%f.S'Yv]QK] 1$CbXl&YzC=F+zOFBٛ"-)=@)PA0+~y=0 ..M]X[ BSS~R_I|#PԿ Z lSOz_ۺCu3fMTt*^ ýud֏_ lP ϔ&q|J]Req&¾S&OG+YuH9 ~2y~]#Ⳏ5%mΐPY쨞iV g'z |DyV45h+;r5#gLÔ-KĆw0H)R1,tS3bcy9،ϏYX,TZL;qx5K5 @i凤)~M1$}F~]Vƃ]HVo3{( ̆Lx!8'N E 4m4^CV~K =UDZ+?ĠC~%t1F&ȀU q}:ko^ ̝eY+O nY{oPiTaGa\xsXRS$Qhn9 L.u?K@(W;DjDj>Qyx.]hrTM{QD-_HY*aNZ0:!3{qM\TV& _ ɬKC+o 4XKt/h3e;(YIg/Ze5!|sNan3O!(ZΌod>4>C5x%5C#\m?klVK"$d| rUb̖Ce? 5a_+SD7R Yb\ Fk"㹳tsQ'8 boup\Oto7ws۶) ɛ ,2#xel pmp0Cnw!ASܸ׺ OsW=i2XlTdM9z+|,'xxǤF|!Ѵ.vFص6z`̶%+aN㍐\ c؜y½W0?;qg? ;oA2067\c#۫;0mWuU~G/*'kngꭰ`ڤO7tijҩ[Im1-96&eH10"B%^O:E=dЈ}#];BU_UB-Ft1n R헲_^ !MVO~o6ǿ]&d>&j7p>fT%[ ig"GO4u%Xߪ}X9f;iɝ@mW40E!A{/KG'. kY |RYxJ)zUm}x@t *DҳfA i[md%zb[sy!|}@ˠJC\?zc6ﲐ ;*ܸtQXy S!k$^ɋ$f~pK9s5J":#c/IF$pN_K/#aPf)eۣ[dvĄfEЎu9ߢ ŷn Aը8w8cJO wv=ijޥd }{H5rÜ@gڼ*,_g*D!T寶3"2f-X 4CF xUa%h랟k(Pe#X7qt>F9g8$5kAs#ZmŇTWZgn^׸Qvq5{9W k.. zd55SKUҕ_<}KYvb׆=Aue҆夂|m> a&viy>a Kgt0\R!bڢ.Se_5.3$py.әpɖ.>X{ )'usz{nuZ+Z69Oj~z<;>35,XnDW =:/c5̌MVzkhupQi .*{~˘sQS'={D;)5vӍ捗V8b-s!Tpo_l6}sK-CTl;&+; >DEWcB2my_=Q@sr͏f{|tA sG!Pzx~KFE75)wo7'jH=>B2,7 k0 lxraO`!Wy2n vЃ4 Zvog0He[T]Y/jฬ u9.ΆpVHr^B K m(WPgOp컭4BSUeeYNAfyWsNiy{m# X9>)v_F*#=mL#Y黶@}'Vӌ &4H[*[n.gJ)Xo}jEfo!߫l,UGɈń՝S,Ɔs3 $1@"{4~CRȜ<=iv+o!_%ata"Z>`i/ Hpm0beAD[2ȌcV&B+2&!F@9 Y6w bz؏mՀ Qۮ:C>%vꍴF9f#t 7z5C8<>9ga%o߻pÃD4MKN1U ٍ y> Z)"]||]A}26rmI:d2,i|}JIfԭfƋFAI1إa@Utb|`9&KSع`};n XVւj>LhME9  DfDȃ@Sw#&a;a`/18>~}K{~ꙛ tzS /mTk+c6tׁ'%v 4X.'7UrvP$&BJ&$2[ugSS>+0ʂ2`WA$Ce#.YN_?Ѻ9 Bx&p@hQ <0%r}ŏr,s1t +ZD^*(w:TQ7sSYe)k4~|qEh6j2.>9ql \HA$)cX>*G*a4t ?XgY'JB0܌\=òw+T( Cd хX'"zS-"@?/X>dqOp<Rşu 9v}S4s,S*ҋ.{kr ״oe &tkF ZIA7eɯ?єݿf;1h-xUC~,/~$ _QPX /6^Ws9ru_myu Gx%c<}91s( ?[ :?xuVJ9%ID| Ʀb^S@eBSD~*xu!4MxQ%7{4GP<53fSnnpx|k~/a8w> .p>SsTJ ηQIx @Ɗ ˃L:}OsIKwO}$ZwpLt}αm0<gmwJ λ0#qZB ݓwVtSwwެkj=5M 6`.Iac˒z\tɂc-^n%am@8rlڿ cSmPugKx~/3?$w&؝iKXx~icrc@8 D"f@cM\E]- 'A '-#!1GՄ͓~Hjt4n^F\G$%(tg=|y T0mG d> 4%3bVLjϬu{PQ<]NFw[OTş n1#@ntT>g!j*% a)&%GdC3ޖ4cl#Ҷu5`K#<@2oRXuy+e𦃽+b?/^E?M=ͽjP3YL A/e(ft7pf@A}|S?UP돓_\eӘpj(M>ÈjMDLvV\vqN~usol!&g~&(01=t;ԍ/&: -JaerɓZwh?)s8YXtgaC9z0;S֧\Ef< D ^'A.0OM/aƭ^81E]mo+ g=l%Fqgi>AHšxtD,A B Xݿc`&SqF9 C4JS05=YH4(}lg%%Jpc,%YuT A-;'iҽJɲ/MfղC,tz7s!_DXlSd*y3] _y^#72~_^kĀt)uںCrIԼM ? % Rtz礿H4 z~j܍kWt&PV!cc'#i:AP #Tc+C^ܒq^qq>?\)ܽYUڠDΠ'iQL'lԿ&VB(Ҵ TA`@|^oon{]Ժ5Bi^˨>BwuhDH4_cTp U I#'\9VBaw9Cwm1xG m/BQ4hkM͊~KfDzfn`?7oߚ!HbXfUs𾼇AGk? ?G"I\vA(w(8u >ԤAV:dpxInH_|n;IKD=NXNf|Czz2xLЭJW@?P&3I˒z9yQ,O>X0He3)چ_ՆAw\,XOA'v-/ h<`hˊ7(DKNО^kTIc .Q$lhKsHȶ޼mjS`hȝYͳl9UC)>v@sE_nB赫I삝!1 caZ̪>ncb5G") ^WtpiV*6 p[U=y1C0K3n6B_Ra X[OOPbX1Cd^,sHAoѥ\{ὄH^žGuݻOO/S+DԾ1Ͷl&#*%S;T"> lÇ}B ʑl,ex yod_*& ?&GI>V3$wݼ+K2.i~eL&*cVI#B/l?5TGKxK}VVj} zP'ReB֨N'j}%C=UQ(FٝpB_˃ܟ_@68 RU'۷Ad> 0x^Y#!aXfByv":6P^ٻ+N2b5&4nSAœz^V7d ]EGTdnU3pI *lbcFI+ uCmb-WHi8)M<7ߡ$N:Glkcŏ#yZ?6L%; )G"-GΙi_1dT _Rʷia܊_ȧXMWӰ*ەj*s=P nA8$(*lu^gTHҏ߃SE'|+KK9I "HZYIafFs*w6`zU+Ty^ cY<`fx*XC;xe {k؞\A 䗋QZ -F\bȧ=U g&v*4*#ߒWI}$~N&{ En4VYzD__f0 b=Bos|a1>FC}.|AڼHiCH)* VJ)ls&:?I FIib2ֳ9C3L -g>vUwAʎkq:2l#k'eZ/OqЯzh@믯+hHעPԀΔn]_>RFZd#_Ns'=N IK7Y,|$-%YଇЌ{!`psm\Y|D'1SP,]2&<kPq|Mi% ؘhIQ0h_ :GI9~~'Ci; 1It*8{HY !GsڅHBV^(UXl>b5H_)W7# s.):ٖ}ҬPP~n"d2l±i^b?2[en~ afrJFj> ݲc) (=J=7ej &P'E9X08lC@3(ttJ3zwPU.y aNR!ꡤvP1;.78K/z9}:7G՗4qO[Z Yq *<׿^@YĦigRJM8HH'3#6eXw D_o:ekM}C.Ej`9"x=hĢ5Luzq.vkDEAo2kA-\KNю?}|tsu䣃>fEyC*jZa9aGM"ŃY&~?!Y'CˆR8^=r̿| \ a=+8{N4 uu x(?E-B؇BfJ;D)&}ySu9M& }K] ੿ɡeP_VwU)k-= ؅蓚DKng? P)o ?Ef=*F]Wv|Ay!E^]#&jJzIb( ˳=EǓ<#a ~,8.O)v` M5HR#wە뫯=ԥl _ܒ<3^Jlr_MXwT`[|z zD{>uH{qWdJ);N3XNRx'SOTm&ڿf(m=.E8DVbUfP ݯ5([žf0vno0Na y;SDex|Y]U֤)0ѣR*MG=A:^*S, 2̣)oC.I&.D r1CF e CQx0u)s~؟eL!<&ٛ Rm0J `z=YT:B#ongHo0C~WjMZ=1QdBqbDZuk'8%DYPa^TNp(bt]˥Nﻡ~(Hx3Zp=O_,IM(7Nb8fȎ*Pzb |YC$>d+wio]ʱ<Q=iʅ)g4]iT,Z’wcF0o@f)Zh#at7I DjtW}>+;R7ٰN7:v1C֞vhyob&[]˴מ!z\Sm_=e<ػ{k"F(a p\,'vDiF|\w+q^15ţfҼv܂ʮ B5zK] ~C Mrd&ߚmaBf;*ezM=7%ѕ:a"M>h*a㰗fr0(C*YdvDb_/$m(QcF bc>uĖy8tb&#kGoj|d^`i?xzU`BB?j`$j$lLΗ,5jaȀ4Pusq V4P7m̮˫zX鱳r&OtuWRP_$7V[Oh"V?y :4SLER0^f zt=o@AkM$8b0Qlۻъ(Ftm !nu7GLBck}w-vBuOO>푊h4k ?11(IA׸/UXY^}Aabο9nK_}d}6ug ˩$) "MM[=e v8$.JJCaBӊ'_+~c ?gR8䖯ob$ jPN|6yam55u/z ՑxUx>$aGBKmP}LM!NN Su7~O˟Nqe Z7'FD:K'8ȫ.(VчbR'ɫ7҆S@fi"̺TQbzwL)#{PQoqSwRs<\?q#gӜy2#Y  c! ">B`O[-91/|Si=jVV_<4$@),3ɿi<~ffPj961v"\l6G>(m|u|4S ݐms7Е%ܒ;^0$CX $psS&7"͇ͻ~QfmCnS_ׯ$vO#<;ʝHݭKU#2yWPCdz\~vzJ|ܖOPv3uH>/w؟/ʜkσx;y D#"E&ISXIA+&[EV'Gf3 {ڗd|" =wآ:.ld rLޗ5 E?P0nE`;)5`z(A$n8z w~pG޸|'Zj/,> ,b|+w)1+y ?b75^I:Z&aGƍWYAoFi'8CU`FqLٯDG5!4mM+bvK8dU!ƫ[ 0 1(ۙͽ\J ^)@'Z.-x;9D/V_VfF*>kt]dƧ~z%O,>:bk7 3$=>3C1U, 3; BD<Ҭ`h~WoTT"%Ng/}#LhHSم ]DK g[L C^V}oLV+OR;:^7ǔ'WF<ƾ- K:F}BntdIcE64sMyd*!6ElKj϶^my)]fg=~Ϗur'ZJ^(zQX0)毬nnY^-v&lH(kOEkք,__܇i Wfd[D$C7ݻ{4Ѡ"3Iy?ZuYtz˱\oDEN2i߰y~!Nn^{.l\d  z)`)AIJLH#DZX}=Hd'W= `)軔 uTM8 :{K2'!= Bp^e8*Oү&/q~4/?4OQVRm 24bgX.0frC A ߸//BlÉ5fGrn"Pebٟ.ДH@ߨ\_WB781&kwӼ܎`;o#u _Rg~ٽ>>h }|uܭrg=x>g߃!,l=@7-s jkԣ|54MHٯnW7ω}>5zudG**븳ʂp$xՁ)_3E$,T+!TjFnsָܮyޤe8ۥ[-w}w%x9SB>egg_/J[Nad:s\6#ӥ3'6Vee#"(ˡ`3V{CvG ?:3)}|CEw ݳCz?ne2ny 4纰E%t08Wʸ4̿[@7xk%/I:| +؂ErŧgLpmcfqGjƔ*wQbI̟Ǣ234癩Z!K>GTRխ0Eo7hm5|0'!>;7Ii%lHEƴ0.~ rO"LI VGǢ3Jm=jO~!w8nδ+V@Zů.fTlU4n.š\W6q%Oh~9gP-uNKz4F:؊p]: [fݗ:F ܀,bpj1,񨨽ᲟFUдƒRMKnͻ'sRl_뫍8N)%Sj:#ґz\;cyHC!ꡜZCQioD-By7+:U뛦eZ븪>%#}:']>ޫ.);#(;mˊ!y9aAc,ai>vxdY*&RY"E-=ߕ Ltp2pt0(s#3h)h*$::c4PqE>tjUh]k3 D/P}= e)g "Ҫ{rIHGֈta~p^d/S+N{뛇^c [e~97.J-&;zn; F'}DI4d=βKG<~7_47'컹RN4uC1+m] o)n[^/˶L یG,vx5i8n>`+aDW6 !EU09 U"k d]ӠT™J=%|HPIe7nb=Ƀ'o>V\L+:/F!,Rɟ6 6 ]Px5{1sCyqy6q Ni8y*l<8Әo^G즞D{ )q؍fS/ZSD$m.+s(\tVMa7ScP$$d<~G6 Q5%ǎs8ZȜ^05E2FQg| [6̓~ 2ɂ>Ĝ-QY+`x f9UsncP $feX~dK%P]y~zZI :/k(CFam*F78dVÃ<{v /%.0A')î a_6 ^16AaHθ"o~J4)m4?&%,K,C4A1xD7 {Y5 ҠqZFA\TM/8QNT"$_nn{A="F~lz`F(]m+ԗ++ /RJC>x:Cič}UO/6.! ?%nW$0:Yx~XMK #kC%qN\-PuNJ+eGx1,DYmIWB1Gk^{s#t*`$n/o0I'k{| b[ыb P!avE.@δMU]&^r?uz2}'x9z=fg;m1_944)R*'SCA=zU !}̋h kr=./xv:f/o KB#z̷Ё`2@Q׈q3)m MR(Do.6o#㓎'Xx 6Gx+KWNJ" u2Pޒ!,+/}RHCzCߗ, [$TڟWa-ʑ*JZ8xb\o1v%TuH[L6/z4+D-o R>&w(/ <B7lο㧴v~S`푄I{.ʗ{5@N<6 3З1/c!C(<'mߣ`@%8}3l*nl", ME쯬9.}Ҍ4bڞ$N.kON3LE-d~/!-#Z#|:C,~F*H4?<βa_lGGR*AlWECU"JSޗ69ki_A27\@LOw|l ~{dgf9WնX$=:sm9^Ea!ŬZ͗eSsK&I:ѴѕUo7lˉ ,VfiF;s aibot[e]luQ.ScCilۣ.iwp5z8D8*?Yhil|HZIf0 ;vׇӻ&]=KxM9e>b6s޴jXz[=*먱FxtFWiOeTA4g;jZ(ol/ 8\_nM h:5WDA#ة9d<Z'U'fny) ASdd63 ~2\^Y3 \5Qv{lpYtAeU!@gNՋحvD)Jm[B 6-iKUTl+Eg1V[-n4 B,x4yۈ(JWIJ8ɐ,,д_?Z N#A-Վwo:?=ḘXIII8j]Ekn+XZbͼlYͩF-bz;BuЉ]+VW L[N1 S?v{N^c=3 ۤc( ~C)*k͛ cVe>ٳƮ[p ,[oA'G[?zڀa浮ʃ)^vˑ4lxW)¦4%i koZusuyQ\D]rഫ3rYZGˉQ+>UZ7ZIq,[5OHiGm NQtWFnv{cY Qxם,Z}lEba [C7J`VzojG ko^/7wqD74X1q5F?F+1[y=X.O4י}PMVsqL&*飞n)eUc3j(餜k Y_N˂_'tzVP zPY2Qrl'뭶w;m x1+g;zj ] Eok i[7w >W4s̱flڌ2װWqj1dϻ*lз#KЬ&[a(bOۥuc26VC&L2ӁkZN'fkא%nŬZ癧R׽X}i&1iXUYl@8d${K z۝+Q"]NY[k=NƉ,8SBݖkSN^Gጝrjۡɮfj So#=z-+OSDoor0瞨hrWdLj#ƍӝtЌҍGkZE\vkܛ^dEVB`Փ0JCճf6؁`2н~9[HYK J]k0(K&˦% }&k0' df_M$=;t&kzjcQ͍ |{j,'L}Wִ҈'q ] هЍGwv۱q#([$;xۑ\lSo4J;wq(l(E=[n+)SǒY6!:Q!E!ՎM{ RrZ" pϣq#3ћ|B"Os&;RgtIei)ͣS幠JPÙiD~jzbrUs޹iYgfB7Ş-U+]?֝a}Ddy.i6ZJ}/en6('rblȱX jhTֆBpFMmIͣD#t,s`<鵄DUi놾uHqQ;nm/= J-KFm08Ҥp|. DӼ7S)d qOPΉuE n[]Z>X S&H*8tƇVm"UKkq˳n]nuڮ8]/sCq_^mƝztxz8Yw8M-p/<ƗV5騹ȼ)R:Ci\ӣxyM~#l5p{4;u=qItp\k>M<%ܼn`-I 33bXE̺r_(Krč&/53bQl6zHμEb&;6BUhL;ˣ9:c.^xm ~y~ImiVqz^oK ="P_Oj N Hl*$)3[ja8R; cD\?&ƞlZE-RDYbm8GN!v|,Z gMc1-mH6bTvj Ꝧp.A P[;b\d E 2Df% ; 5۵}9٧u -^r6Ƨ2ͮeL whmv-;Z|[=z ;{TXVaBJl " hs}5IOok^!jݒ,PnIVa_jI]3riBcpc8He2ӱ~gb Xqc)ŚX\2^ɛjmoY_7F`-(Nc8Ț81su"Z٩5VG;WkE>ޔTMسY0rh.=(v\j9bzi!Kޭ&nSWY/hҺ [ ;nK8,Kyz2$ ez ?p}d]ݑ IWLtyQIF!9bjhLJy--ќr"2u̫Z֦p\d7dmwq[dU}~b]zkd]h 2^G8I{!d\KZ!Z.KsdAصB'Ђh7[y9#mm{(:YŖ{$GߝUlVD(T)~ٯ8ʂ>sj}(vLVmvhOr`@ƋzZxw} Xw{krzZ%uՒiҾ#sULsWjN U1鮖7+햙?^t>˴kmgݣ_FZt %˹[ݜ]YiYPuzJ:}0&d -~:$UhRe"SgJJ 93QX+Vn8PfݟAu`__H׵cU!붪6GEwqupˎ1%ugxͱw@'j(H[M++$SÕg&?؊ŢXaɲU;G?6hU`+ %7"cÉ)59Ym>Ku-Gk.w& }#' Nx0/ AgPM_زLz.Fl K D5#^uUdS1Va/.9X0RhְwȨjǞXfߞgrk2Kô'(Sp8/ !rd)ծ]ZmE,~Wģ^sd;nMŶA3}T4`Z؜o&Uwޏx=:QvdKnA #] 9na3/V4/lfyxܩܬGd}Nק< lC a~5N{GK}#K(ɤ},.g\xV] dwqʾ.w07y\3 A歴U[o>#m4uIқI;ɡV;i^t`4ϏaM,\.0?s+}qo~[W~.ڹvV|w+bnG~i77|ϗ傌OY+\My߷/ȽI${翮E xH?/ͺ+n$Yd^iMM_77+7 "cܟ~@uvTeX ޥOxe@;Z< 'I|YQ$2% z} 2yE҉f͟~y" i /ϏOixZn|{q!4Xğ ? 8z'2we0Y}D"uqЃAKys A"1h1B)RP1[HHM!6`1 $Ng K{r2g[^%"'2EE$^d8gF a5\ò@@ !onBx@|'܃LnjĻAF9Ib@6n^\H'2q_f d񣍀(w(3 pJwFHyD*&2;E bz`"~,pŃ aIY˱Dc xhLX{6xp$=xߞrZ =p#7xS4aPWr+PbjVzy+A0+$~udAx ~w_Q~H'=`;w $|'`X @)#'N:„kd^.>DDo`,!F I0X?D~%.0ֈ"" ޹?Q ]E]~ɂ($V(CA%hBx͜p/3 @_D0{ 8Gx,ʼ@a <{<Ln^t7RXC H#* HA0 Pxw8پa5Dzw#X+^A\_G߉eAW}$A_xޟ_bag-l˳ĄD&@rZ%t#IH| 4JJK/+"+͉7G5S z/FJ1 cnDǁdY$q!'TGGJ˛K,y@F\20+r<{< 뼢O M=Ȅ/2o~L3Kd *? WOdCh-I0vuh M^<ɲH$Bhf:̱3b4BY'ƒ#"o)ZC O4 ,R<$fD0'AEݦCw4_ X4 G*aƗ~Rcao$%()tz4L90 7-+MfIh U4A(<&Y|M!䮹mڰϴs"b[jޕ&jvDBLl2t7't%wu)Ț4N2$A~*4TF4YQl|yWg2 uOsErK9᷹?O"+~֗_4ԕW:L7} 8#'Q@{"z2Q?`#AD6$|?} KP. '~=@O&cy?\vSv܈N}.mZٷs?,R.<7Tx?J-"qHnA!`gߗd.|_1%{R@'I='>N:n4^W ,-#C] ,qXAFQ#X!X0` B:9~7QDc3H HSDIP~3IYJ@M ( |ZOHI+ND_S6Q&!:Y@ys@ZD$Rh$}B, uMGD^9 Ҕ}0yax 4dsSQEZSJ%Ox%0h¯&O~Gw=3&W=>+OXPNijd^at3>x;3 t1q?8Ah(8< a{n%U{DGQʝNCf' CuшGdHQw@dD@M%VJp K~wxWe =[ CH3_]!0Wd½=J("<KF'1HϢHPBB1R٢Y"^cpq`?Ldh5]Q}-K/GgH%^G' fA!ę/<9gW^^EA Nʮ+g! 2˯e*9p Ut/AHgd8Pt9C[LW4]Ҫ1&CA =MX:.@Ȕp[PO2o&MhYnxYfAK>Q." g2hVKBh)t!MNWե]PiPA%z&FX KS1 =B$[K> 5rcQJL$1f<L i|L[A+Dhst _#tHy:O5Kt}`C7 c"JBׅb6FP&WN~gLQ4_P ZNy;N^-/"<$g)y>$xAeuV"t]{ֹX~`/cw׹_.u*e}G[!\?m--~mO'jp]<]XY;']/ҟV ,_z^l7/vCrE&yʣy[g2U,_[~~[oD= 7}(s?j"A F;?zYLWP8<^xΪʣ{%y.=O>['y0,忝ŇEhG9P_P0 ;H?{%9rtN ("PnN@dSGQPTN@} ɇz 8,v (B"ѓ% R)e("CȲ}@'s ze] ~[?9K^9@^-'vA"},=Nܸ^?ݜ}~IO3ɣ$H1p޺Άs@5=uۧ߸y {P+:x:I7n\ u<v#Fmm?S?9\S:KW%ɞVK8{]>/u$ƂK=͑mxZ$~u9)H.]?QMZ]RPl)<_8dww^'׎f}'߹zt%k;z<|mMVo{(\JZr;>[ }CxIgtZ8/ |&'قiZ\G+M{F({>nq)_˪;KQdb,%| %1 13uRexiЛA }GW~v=WfOAJ+ ,! H{D`>>;|~Eu'h7[qP1пHn4w&}ħǡv3  WԑsA9nb{w;G_$v9|RZ,ѷ` 9 l_S}~L>U<­7m&?=y{skC/fDo4YD\ߵ-| 2/5-raM4Fi[6FmoΛǘFwXmzŵ՘ި3cHozוrv^|,ḓe'tZҙ s}`^`Kvpo:Cf^Z\#?SrO~kw 9ey]Y~̎Y57dĤY#I^Km|mbUixJYa-Mt6drvGx>Uvmsڛ6Wtb.ǁn%A7Emkw VBZY2\S -t՚Ysfp VN{AOn٫h`j.\qy۷餡ώBfږ\'5)+waY[Q+s NoVu~`n4(뮣߯Ğ ͋7SbQд+ Gà[gqXn/"M-/Ӎ ~!=lU6 5}[Ҩ8 C~ :9w:2}+bw/|0٩nb\YX6WڴlM~D^&/kT?vod +v>6͙;ijv98S;X=x)b9; GfwqU;֣PK.:>Vf5۸ yXpJwyhZ( s1?4^2Zbti9wHWSh9ɛv?qdlIhFR!(,5\ ڧ\bD<̦^vO9l!ި꛼ [M[X曬m@k`dz3ٽ:j螬FW^,mUJA1tJݢ[hޜ]:3lf/z`_:a:9}6uoUM>z'sNr}8ϭs蝩o*F\ Ym3A AfM+:mKvSl[ts B5e(iM)';W`NgfQkTʣt@wr~ Wۮ+E"2뱷 dpUkf" nJxON}PVΧcO gك͖c?W!TrafX2jVZ^{')qRP1klcr35\4uqj TcG[];7ڬI-WdVr\lBYl6Rf'9pf%|V_txU]3 uUli67U?{YqSrc/3 D^,ü{P?k+uZ18q8ۤFl8N3Yl?fdNiaMuѻݢe)k3Ϲ5LZb>icN u(U{zz-b&C20'68c1t=^twF!w\ض [퓎CZa)iExL\3FS*ޠ?ڿ٩)dd~̣٢{-aR/S1%"qEBBܙ/bvGʂQ;V i8ye}VS MA70Ns&:SS60tX-좓:X5k2^1.ؓlDemV-bu7]\W'Foг׬sZ!SbҐ L3¢#Ӫ 05^sunFOۡ0,- 태aE̸Uet@s768硨 Y8j:Y#0њȋYla6k hp\ʒިTo;-QY s0Ӱn$"DVɰz^y\8,ݳ5UX?Bڸ=rNu1Z S 5;L1P]MMD7KR߉g5FKRkVу̉;ZuRp˟A7dWy睡[ڋy.v\f½DUݩ`\bSњ.qD(yk741{n.+LS3>c=G.,fv@ة)\ϲ;ŗ2Rg!t$s0Yh."-F~Kw1>b[ÊVmoIY5TF5Q oEn!cuUYMǍpǔ˲HՊmyTP ] /y`j"/pwBZ:PSw}!:ˎefgYO˜,&qHiTfp빖vpR2p!/|C6]bvJ4n{ #xRnᥓv.\F'1N<'QhbZ[eu'<Jg1q1qَI*Y Nb#8=W1Ui"#2 #/Ȥ?ƟL8&D? 5`|mI|DK\ߦ6_; .6Gz؞Z>]Z;ً8ؘ{j?2!6;G8Z$ۙe0FC=sC \j%Jmkk`M @ch.1l&3r o{m+nt 9;[rCOyuh{.K|B9Rrݖi5iq]nfeCŬ#O  aFjn?bm|tU EVI(7Ln% ru ?=l4 h|2,ӼiP>#r%J'߻=@<+ w:Ak/-U3{aSS! %kz~ LӫR|O\Ze/9 ZMB-: .$[[޺㴻IKeȨ#-=Ƚ/TSЙҽ}C]!R亵ͼ*W3&C ㋠8IMH>VL1%)lYvG]`ڔT٥=<> .H\O%²9Q qo:B}Pvj|B)7?(^3ݏ> .ĶR̺5&۬ $ 2VaADtJM1f^_lrИ*91X>v!y _f,!i~@ w`wO$ v%w&^贮 0Wq^8vցgsMӌfLn)$.yR5bzA Vͻ$$kCxA66% 3q @,`Sg1Rf1 =eܴP v& 9,tj@M l"eC`5Cv7->*ʗ֪Li/4f{f% DYv܋KI,?\] Mؤnz.层[wf|a1d`Z>(iV) IfW˳J$i#MZ4Vw Wm7 5gngđf!ef5Ul{m)AD^0#W|=:Q1%qc~-UV)FVe̚x)h!+ECB6a12vm;tr.p:a9Hd`J#Uy{XJ#Ĕ5 jzRk+ތ`TRxFXD=ةd1Ҏ7>0# \BZe$[ږ v]V'V%-Ynym>gnjRuG4/I霙1K^HXMڡy UbA^*E7@i9XJh^ɓSoUlY5d B!uęZ{zq2MfDcY\ɦDZVQ+AG&57WvyD^ R'4*egӒy>h J59@}9SR4UC:p7`݁݌.PL I`Qh%CFo١!/H@yۺWQdVC *?H2jL}XuӼ|ȃtf7U嫥 {~E8ڃ }݇!F/7vv< 9>,ͱGHiӍYqb tʐl .!&\qy&x^OW! 2hVK`򌿣4"۩ׇA(;&$ jQKN26 u/݆29/}#Խ{IC"oU1Ftַ hmII6M}˷fЯ;Lyw:c}?Sf݀o~?wqkX9cϏ5hfu6(v~+{AZlQw,m/r - 2ͥ͒iۻʧ<)WW ,}tyO/-ԡ\}VxoV@@7y)23}.ˉ\͙@lqYnA%x_ZMpDf5:\pˉe-2zFϛ"b{MlԞP(qxN[vl0cEe!괋tRr@:xtִ*rR)D2k Ə/O< 8Gn0-FMnҴA}bCJȽeHzT%yȠ>1jO"%H\fAB\Њ[>ī5h+H <譊YRDfRǦv455J+$g vڅ2AR(F^x5ez|=Mv̨'`3ܓⅪ{lF!Fj ]r:GGP† "凜ìv v`=ńL4?AgoN:Oz,WPbPkj7Sg|߫~f(O.i3!:ҮN1Z_Wk4vfop7uCI(./f[SܫGVvC;4q===cC6/\ɭv) w@H[GYs¼cVm~nXj 81&orXq)F+M*|Qs0|NBzŽcdҩ'TN#8ڮC1]l65 Ml]qvlG-e.,SSW`LIO 019ҪbV\:N2v P6]Uv(O-у߲vƸ{N;fH:Mr(tۤW]e{3Šn.NTR- 7y%t8/eP [1J}ƅn! \.!z+' 7 `iBfFF5 vUɺo1HOW\.oHNR5iD Qw. |:L;NE;>77f1qIbXzeB&bv-E6/)TuV/gpWvv0Y\ҡf(T-)`=[C֙03{~DԵI]DzIFFcNlرnjw T'smfn<GaM0ӱ42x0:h޸[6)Ind1At/ rZ(7DX\zU`6ѓgqN|2! &Rؼi(ۨ_g c2Z呋4vG"M\}dlBG3`!y)~va[q['/Y{#'=,gKwxet1{ |1Z, 5[G Wp`*Oq{c%m8a2{pmyaW~ +&+*g@ vz;OfmSzгDg)IKsB+jp0&^ 5@7P;t)nה7'I`9I84f+Ie)#[H;m3BWvhU< KʎӣonKy`l&1m4`fj#?9dYzgm͘q7f˜m/iiSkΤ%Ьtk?2!6d;8<0Cńr6;S4-Ջp&v!!29(5Ns\Ŧ'`"4D@vKEG3x_ђ*L rd,@gnz%7oFΖN= G&\?ȕBAkD; laԟI!|,'J^`Rzv߃Pщ~duht0ܐ' C8 laSL>g.qEhpb7:+Hn"WUqԇ𺍐mS' cjXA&`<n2v]}8kFWy0םxV(VZ24 VSl(PN$_A+&!b^VTQʗJ6sr1;x%:.sd3=.?)Eo6 [Aydqxx;ߕHx4L幚\Bغ_Ty ]Qz89;UEN0ˆ{735S s&^*s/\_L4 )Eҷ"yX$vC'p* m wzUVnulq\hΑ ]@Yڀ\_[O50 >m+Wݎj7gt|y6iTjم8ip]*10o!"6K U= B^ߢId7}v&BK:56CqH.XUYd~={Vt#6U!+Ϟ5@"6rlյ+ZE?]k켋wPKz֍mVϙ1Tf(PewFtcfԖAPټ3k8E` V˛ܼsc :jK]Л,"hmA>*wp i֖S%~b[K Vԣvp+ŏ/CR gNdTGyL>t(Ņil./iE^.m97e!;f TjwY~WN?q73ta*YG $9!{@52͉IV/=UjnUڸYSuW8 U7"Μn/B pp4 yzΞeCiB+*};~}h9$9ˌtY`%Tai˙Ҍ~O9 >ƒt΀QwW;\lYomul|{t> tvJ8yQ0 Fk޻0b2[0\Ϯ o<JR.76:ZyHG7iqӱjsVXTE/a(!..7*21YwZ]Oq/v)F]P3w&!UhH$OfC tQ?Q\9^pˇ45[8O?J!/bbGpֶ.N[$;k/yk2T\vk<kRD~d۱Y Q+7]Oނ3qUIF6[y[ ?+YP г$Voh}pW-ˬN9 tZʛs4\lM?_W3iAN0w!-̝і*`VVU (}Oڱ(uX8rE³H~oi#R,iwslB-Fra ?c_RY/ޱS]xЪ*3]651l k'_pƛ7U-p%Iύzk[@UїRo'U%Eh[ 7ytخDy<};uอMQ֏>_h(xI"PzsB+rU^\bT{JcYC LJ6j03OW8S3}e>F(巭tKS,Q7~[>>*5E{l-Vm*NK6s]Bb5͕GR ^]e'sQQAe+Ms΂hcIgN~r JNn YCϛ|V`ZRwC6]JAA{'2bSw˫idn1@U6¤KA(ilv}BAslѦ~W4r;Z`SuOAP66 yck/)Q{dnRctˍ7U2Kzqy6xS(Nm0iA8^~Y'4OuH]W[ؿO[ȺJrmA}Y.{'RU-Wn,]RyxoSvS(G~=ن QNE:D/ϓzHo̯o-硞-X ONs-VOꢴXFg#e4ڛ; g'js 'bdz^i~UQ> KHߋ?z^WSv_ʯ_y%T2$*DGN lT{[jy2ϯ>R|A*4s*^w˗TZeC8?Պ*_6輂'"gRwrbՓcCAs~y=Lګ]&ׇ:Š*5k'],Y< S@cĶokNsdYT/iߖ[1.\)<8ۧw_.Y;VZTɉuɿnGrd,Q5eVkC)nW4?a˹Vlc~?.g4X g_B^75΄|Қ,͜,,{=o>]9a*Z 6ע؄[«5L9Ͼz+_1x+TtC t-NuH5x"1&M[$s6_\}۴xݘ]P/^a)`G~a_}dy?rK [J.D9W4C~'U)' \S[ۻhhɌi?PKõpzlCf>Ej͹8H"A7s7\<_ѳ(Eړg%_(3Y-H=s7(/vj`\6޿t~.?o&6Ղ[gzujbbndۤ4:ThlCA:*#ےin^f[vOȃ_熗Vzwhu'X;c E2*(k:8a02}/  5Cb^h^AJufrŨ Zs'ѢxAت\C5 :=TKxWHA2'lwF}t ޼h_Uԫ4Kh2Zw;cE˥D-Ѩ 6:ݓ%Qϸ h^xGϾszo/WO˗^{aq]x롸tqM {Bh*Mx_a=9[ Bת([c"=.D?%"Aʑ{L?536=}~_U~Z^nf*:t5C_$ r/ev\2G2c|PNj6NEbP~jeVsmC:mLucm{D$uaOCh>.jgtƌg~8s\*a;3Yz\/cv.]?KԻ꘬ٴ<{Ne)D?{u.e8'8^u?73 1/u]Sr7ߙ5HC2L7XD=t;ۖ1dz"\wG #2ݹ-<Ĩ/[]p!d 2@ kp5@wT|v+Lyz7+Ȇ <ˆnhbPa1Sd pr. ?1Q~~ @,YOŽ>ٰ]c%mv'4Zic 7Xs"1~~2ZpVs;xa[b<m2V2j`w!V[ ,0uʚ|>׭2qڶo)PE~~o}3j*ۇcWrrob`s:A~)X|_h۷O7*kn^q2CeV&b{tZ+G1o  쵽'`SX@;CV]>msd/LGJVKdg Y:ޟ˙+j\ݕS~|~v ާՍ֙Z%O("RgLST_/Ϥ5AfT16Pi6f 9\q蠺ǔ>[s;_T53&(o"|4;dK>_j#iLXɕ@:龜I'1EG2hPopG LnPD2:dÕ d؏"hDیY=th&ThK}5}`oT2ٙIT ΋. ҏhmjx| ؄.[C8oUϏ1M;LX{_5+u}VΑpĿn<'[;.~5'ɵ7Ȫ0'@/QZ8UǛ_oicM PbYӽ@ 4~9aofޖrÿV9rGCPK6Ґp7TLR0,weQW@bͽtgh~N e^G5chP$yZtrZ1{|12iB)HZsGmny 'J3:jlw O6olYi^H'ZȬX3Αp}#q􂍬*5\Nc~=3fϠՏ.(R_*vF)ucoz&l+R>F cW@''C~ }=i 1;IKV'yhRҗ/ꍀ:dˊǻ%` h8Bk-ؽg:؊yتƧ36\B^aQ@,V:D 얷[_t7EZͺMF rHx/Oz}种 Z]SZ_ ۧO}hQ 37Ր5T 'WO9aܜO4irW''VH8{@̓gY&ffpcZoR>$ZRikJ6eC)cCI2!d-b0h&T˝|wM`f:;;teC=3 Hg"B9+0oq Vh՘[ҰeaVe/T!ԫe&|]E(U 1:}b:>ZWQጊ"|- k Ob.9eAD{|लg'1`e@?%ՅUо0?VB:0q+n2px{d܆l4a[z8H>;Gy6XpiβOl˹k*1j֢fk VHG]4tK.;O\:3>*ƎTsL+Zo/ҶC^.G퓴|.0 ;Is $)^7^pBę~=q¢6H wާiыI9z˚^51ܖwRa;gjZW~%}f_ O,JU;tac* D τڧMq. ߠ(Itc;OJ0 \_ z8͈[Wl=<ȋ@ɛ/c-&ă ~yhq;<˴\.h J|*sEeM*ɚyj#3p{iGI/m @ _?H:Nu2p Eг6g $DˊDbcsmtCW؆eG[Hەڦ՘8 Fl0 Zda}) GtMhW$VLAoayyTb1d\łթlǝw7kN㐣cwF&~s'8U`voDvRkp.1I [nd#òz90E(p 3:"Eؚrյ7dSi:MęTI ^/Ue+Gc:y$= FWD^j=-"YQgtȹq!X~Ta}I*sy0t8&T⼍Ё'.?n%e3">3۠exJyR$>?<\iv-Ə|JNIx|M&)ôAbL*_Nͺwtju2[Yʈ}c#T@vdg{Zve_<%&e:dLIp>=Fojά*BO{['KOX>v֘~hbc^??N[DrOc^y<ꑸ2ϴsNhH˲+o#p$@ׇw}CՑlf" 6›GWCC7^q' Ymv)n,{Ըԏ5(ĵ>W ?h?j r@B׫q*((Zm'BOq#D*iR(F8l6\T| F%b\K aH3C#EݲOnv=y9+3@ <}M!X`T^ѩ-PBSb_(AO̥x *8p]F5pSc%~U*”t\qu'e}=;䫳K턐ADm΁LY$M vBs͟i%Lq!˜L/6ȤݵIn͘J ޚ OݼN4fUKְgt\MVYCB2"֫&ofqY"Ӗ}AYVnz8QZz){ռ砆(ې7.E =jV5CIii: n)*&e B諒5DVE`1`58x /j8=NΤmrbT^S W'T9?8s1>Dوܲ*cc&y較>u}Nn)'foH=J8p !0QO\jtP}YIWpI0\E *ɀ{G~hS1Ȇ=GfdI+&!= &!ѵ ]FįE?0o )$)O*LJp{\ҀmҖ vY7.'Mj7k4k~_}{>:1oM}3sXձ8x_ *8IA܇r@Y֚X+Y͑W&rhhC6Cc&LKw<@lJQsj:;[ [[š72`]X-oL7QN2BX$8n3-tjg'gķT F xNV1Yvo[Ӆ7 A>1zj6&{1)N܇畊&ǩ%Lu}few~Il wzQvlMQ~̘;뛍Ujʍe G}Y:O i]1vvF- ^ [!=$3[ogD WS۴ M̔Dž/-)=nώq!*TNȁYLD>\ͳEf ؂.޴eߕʻ0p1(;+mnIݨ*6{!If7gQsiyPMj<H LKtD٪ݱ7?xt`Mܤ/MQEZ(f};!DT'~S-ج^ٛr_Z#s#I5 4ۧ ;r›E/L"QOEYZl1VԤ롧:O jTm4uD5O4Sa' : Iar3D.'r1I*BOKd;׉"'%Gj x@i+*0B WWg،|\Ѿ7$ .&7|$,)>„RSږ'ˡ87a=q_6bG{޽&dk#Q[^y5sF(fB/SZM4gZԅU=+|7y=bke g%BFSmtKAzCt4[ǵ0p t茦<+|դ?1IQO#AP'$<-r2m۹ {2рɯt"N=P9w[]I4T;L|b],|ѓ> V4u[) Pҭ, Xz섙x"s/or/D ]o"qzi֦<򮟝"%CAlC BonKas%[F$e8q,44]g-~9怃$5^F{3ܝ)vtDgLfoB3~KH0 fm-"Ř߆Wv\MX,팢Ҋu**mT.]ۺ و; "^N"T> ޭRMj#V OM'pg`x2E>UT]6,jB#@ho I[jp,9's_qFyw-u,)dhˁ0|V'U1z.S<[yޱliZ,g2V74۩m |ifߔB*xhqof'7>ORCe{W|HĦؤ}r\<.0u<[C2 b ht'\(72}nq(dnGؗ5kբR*T"|oS js9BdE; akݗ0_[&bP:cgu 9=0+bzLwLjTk/)SIT~D㿔{AH~Ih:sΉ|E T ȒהCjGk3#V]tŠt)ʩHݘ@}[w,2P,9ZԮ%lF#YzP?.{w2ߦ'Tğ~iI܋5pxvPZUXGn/3o PO) jaft8;];\LG ndn۹Evb,W4}x?*}rOdzkBi7òuq| b\bvL[ZD,7w*bU٢?r$o8>~d$}0 O9;Dx~;4% ܇_0o9D}/a35Y߾莑8YD}vHFq#"!)oΉ/o(I>_Z}5&>n)'M_ڲ0K^>4}i?O_?~:_8/NK?g]ɵpko:sZ&޿{ >[~xE֊<"+.N4I_u86^(Bd?f9&C} 0<|; X(l$2Bw=+[æ%a8 #1<;K%q%vi CLJ`:>BQc/CM`h@GĻHa$K1"o7]~ຉ҇$.π}(XkBb%cf?(i0M}A橷O6/ ?36| 0?8_rxtY; DK?~sDۂ`Xv3g%a,L ;-H! `q$0 dh`=I-~ %#X/(ps Z~5LuTzyV``&d,>ODGKGqBAOB&XH1 K`h5>$AqGw$AfqH<2ܐ\e_skQѴMDx7\W96M8gΩbⱈb08XӁAu)+! ij @C<Qdya#\ƀKXH +?D Ֆ~kpG'p"k q`A$~5%3O YC":%xK~YָDއ`d$~S-0ºvSXaG;bB=X! 432z%΂X!x/)̰ųt|fĊ#ݰYѾYK炀_~iemPOXĈ8gjPCT` ' EdtاWC5۹'q4'>ZB|tAא/d:zE1Px ~7TA -P  }E"cLJZ_'J T_4įHɾw4Rxk(I`z2 S 12B$!$i 9-֙-'"?Pߏ!Ÿߋ1_}FM!:zy{} ˙};|?`Q'@6-@,.ޞ?2 S`f`B"ny8\]LS@ ϐB;( vo4S>oS T$ SF<@"0Ug@ߜ",=Èbo1@KXybi=%jR7ͽa` 1χ=0G7F@|>tj„KH5_MqPE#JD 㱥>ߙ<->6@z停B.}b\w*h|BaphseDž55%H}Ewehj5nKp~; 4(^H}48(+ عY4 KH#ܠ~ix$%!5P {2(H9 AD,܆ɻ @@Fw̿Q4bc(]PuZy4V_>#$Yi$~@Ѱ*8X!@Z> WX.IC #rYLA% fzg;D;( H,Gu  #R3x(b>;xPb8t~,KC؆@MG 7EV`6ķ \u"nzD O Q&`0!h0! oH̗x'j̦D8 n  SC"+NPa<.|;0#4 At HcXoϱgGYbO#raf8QO'ԱS B 8$0yAC'ޞ#G@] y0Щ0K9G Ѹ>La!ӧ^;`үh"NpJB<gJwQI@%:{^vLp!6c cOpD=fx,I'!󬀙WNa;42%~ 2SXbF/:< >x"5ǀh8}wݴ1Ea: Wt:>˾_a6z?o6/,=?L(ww}!J1 h>USx_) HMr(X{WPSw90#+"?Ӑ2(?y.WixU ?K8nx>|~Ͽ?y8i<-мǓH0)E*Ҟ9i_;?6\HگqwQgϮ?-Lt?{Th䟏~ %IѨ$|Ygqǯv p<74&#<"o1C@9 #٘}<fHy0HK bJW_|Oqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/32x32/0000755000175000017500000000000011347002066024674 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/32x32/qelectrotech.svgz0000644000175000017500000104745211200647463030312 0ustar laurentlaurentXv|: FN#\ȁ8q!ȑW랞`#ŷXE+>ѵ7'' !zyO}C~?π͆$Զݖ!Ap}qWng~u?/0 pۧq??ӿ-?du2%P]ޯ @?ey盧C ~Z߁u}?|o78 S8 f}ݛ {'<]ۑJuk&__7Vo'Bo3"]8˼ q\֏?!._,^]{{N?<-M scُǏ8ǟUY;0xO oksۓ߭Y}~lӶ?o>k'W2X~[;x857lth?O%6XrY-ޗ1-.\_;ן~1ŒgqЏշx{}/ߓ*k?Z&x3L'yQeB$}oO*tO1E6 _w. ES(qB_y$@$@$@LCɱW!!AsW,jo gYx+I܍?iě~jow! /E1_~_hda8ݽuoJI#ӦWYo(݈w,#nwm,zm΁q,π9_6r3T'AZw/'WO ?~4KN156,YuTVٚe9e{{BQ~FgEuuU`{9vXaYT;\J}om8 +{u-YbwQ%slʱ{K%)azP"IDY6Cs'UQU?V¸>Jv#Xd?A 85Q)j-F#V6$M>i(/B_R6~_Exɓ#KKua'ʣ2c`3PXI\|7FV\ߡSӣp?<*t&FyDl0 OT54c{ĉ'Þ"/LѲre2%[ /)% چf*p/O6H!QP BW*)(^H u|۷ *tA>#~?_ 'r_tݏKOzȲ@R%=ZzH˲vwۭ߅ ?grzMSɮ-NEej厷ME'*C uGBrCt^v14pB\Iq XY{|-Y֐!LQ1x^6EcJphedjB)]&2%ڋِPIBк/Zt5D- X`q{*Z>N]øOf4a f[SD#woeؔlX{w,=E#UOݎwT;OTW>븬82GZ-;+Ԉf}qy:Ȕ;/v~p}cz5ǩeW"bMRlbjCqke"Ӽ8v>~l3Q x_:6j4K_=mjjzt,}TPÑm_) ڰ,Ae3BV/]Am/*uUWΏGދrB'13{IC}/S{ Ł Y^O씾c%@lB9AߵIkwiSFzp:rSt,GhǛFS) O]u-ut w_d]-Yv 2f²zPXvh^Qe& t޺),"EkπcY€H*;1I^|ɨ!IabhmOL䡀2g򀩶=p[sفC Jr}EgmJpEJb Kք{Ma VtPpP;dK ٤1/& >dWD$-b|1)RQמwJU#=E3i>X;H"0N0TA,4ō@OW}u4ÃEspz f-b?fcΞ[x# icep"(z])s .7pR)8J6 0GC z܏%l_DþF؂R2C4Kfx-|i&CKIAr]v-̦ Nu7GSe ^7h(2'}>.:RZ"5"YwqH^~ vWqG,q;YcϯL_M<T~ĩҟmܴ\[F*rRN|Lx 8K~kt9&<$g~Cє7蛩 > '4LpW bm+;pʚǫsdGh[q&ͩA>dCA3l?>gw/\ r䷯7ҧ|:jGb̖-O;fkrNQ`$´a*IL]0]M[)^Y!:Pw uf93x1w F0ecs۵=,|IZS^$t&ry'imt2}>c&rU砙Ҹa v#ɚ+& *?r*LO-5k#wD3;p] /wӖ/#[j og* dx7. bN%۳VDS<}|0rye;JySz7{,ʲUm>AcWY#YM"&$Һ&%J"9]܉5"jrP93ZxYt4=ksav\gaEoZٲ~bEAץ-0?Eȩg|`߇ + uaAx3Dc Anܡڰt7G:IM`'5Erxw`}TZ/1w#ȢnvΤ wyI{4)Pޗ5׋. ,k 1vNjdiZg^V32@`C7yN.Yd(:kgrco4[tiN>Q92gs,Ho3Xa:#ibTMiS.=~{#o"aSxC@UDS)V[] Tm1%=m $g]5"#AFGMV[wm| tۮQ]ل1 qJߪʀz w,/`,e:.@vРRu(_ 2&]x8 QFQ_V"'vW19aȖ >Mk Gu?`'&&G+jLÜ͠>=6DkKeNtFU\'Y:>{|G4Vt)e!n4QNQp X#>j84~q1+@>.4>p >']dhv%aZ% H9x1ie@{V7̾yLC9@G;:&Rr "u8LS2;# '̥; Pgn;յ)ɱ? òE[T!d=B#_UohLxfK4('Jtr`뫘~Zǂ`lYv3-i\d g+kMt'§@?XW'Z%szJRv^!!cOm4q Ċ~Kdlhk}+^_nv=']!T;ˑqGna:SQ)atn}rJ< KX#1;P&;Ig0lffSYjT7t0@5iFl ~;j wJc/\~}3x!˲LiCӾ%@{wrs?psDs*Ka<85h[VtqO0g+x_/ɒ IogA[g<#B Z''/|0_ NC# lYwtT_;0n+IIAtDE764 NHnh$,m_eO0?ySȜa &6O+;1Eݺ*&g$WoO Vv9W7n$Eq G_ǜrǽ_uTﶎ%(7@gܵ.㾓:X,>=jrn|xDG2*}CR6y6KQ ")r|RȠii@忚zOk|?Xjv ]>c}j^ 7KՒ:T4 3囱<lhgҺ>"t~uNEw!Soe"كMB, Pa,Ӡ('6mH8g0TwڤWv} .ߢ8>_؊FPu ϢNbTKmUvjW8.:hs2 U[%3)>@#;a`Q^5|+)/?,+ãLٵ 4}i234#6en(M[!=*W̚/݄&ysng2peR.W p y*Xauxی#/8CeVvx0N,.39> pEC[`f2S~~$ςf84ZI:qm$Yl >\վ[.!X%t2Lv&4pI g@lH:4Cȡܔ#]HDV>. tǰ#)b&\FeɦGV T, 5(ڿK0*68˜,mR1A5 )?gQ>$4tvL b!@B/e*KKF|_33/Z3`7iq"j~/g{Ggxݔ1/[D~ 잹%䡨g pucVt*6Oɺ-MTCQ[Q:۫xN{e:bвAlc@>D=+<Ԓ{R4/ ZC_B'CMOO¢( a*ѿ UCGuTqm,*&XgÌ{6rD%ϷW# DiL1_lNk*^z`O{+07^<[ixNjҀ$)a8|3T􅳗'ccGH tQ_=sd)n$BBe6ҲFӿơ<*H..l mi3E)4c`}Q1ŧdcRy8P ] ?H-ퟱ5@p Zeu$NlUe*n|LwH`nKF1ݼ,`pGaf4+  ^F[mIL^iJHξtc8&r41VFGJnwf|Y=s^"JesWVIEc]48 ۋeeo%)9HC on8/37!!W1 =":{:5SWm>^tO>|Hx$CAr~ش+}DgX2]݌o<`]8!8yf~\뼙  pcy=Λ z2eIҋPE  u׭Tm $L}+GzBnof,^|GlC+{ &zpߜ 8 qf0`gӫm QS,qG@蜍QV`UX? "9L>WS63;s/I!SpPF q2źpusKv0O+Z4;Ey2 N}Ukt0Jl(7lV*_zR9\ RՓ{sl!. ۋopֽR]@!D.m]=Etr L-6KepH%I6m ozkC#n 㤠.l !*f]{c'Uw > ;YF|p{?e2 |`xogJ Fv0ճ`ܤKg.xX >/ wDZY,w4aI ;sX?J>!sG$NwkeW[X픗y%xM[dS b%fN|G@U4+]MːЄfE6pt4J2KK&Yr/1,I68[]o:i'KmzRH*#@+o֯=W釭~TK<X95@Z3r9coht@ZWh;+ +cV[<2+zr5>otf.DJ`Q* !s([j"ޮh~ pUica)Eܚ aU#OoڑPQ eLFz[#%wy885/{k}ȁ_F{>,kS`fۏ脰)?kRu"TQ/t\ 5v;]ˏ5>k 5^4z0+b*iX8~ I:X󑱃]<*f9s:kn7=(/.|Ǭv*%Nڛ| Aϣ>seM@;z&>cH uie "=dws/<@n\-B5 p+/Z`L9"aHG"Ð.$f"C7 #UHe6)f%@ja էT[2AdYCi1i (<ħgƍKʼ@qr[͏sMj9eJ7UW5 H9G m C;5%weʝFjQ}~#utoҝ"sv(Nëgg ڷ{KϸYHga)U H?R a{Ӊ=IP@g̹71!҃{(a2Cq_k׺ `4HݕYBE_rG!o* pIAkH% #/:@(/\ߴ#=b*>Gc mYE"5# C?@Hm XP{-þr7_%9{Gm=Md@nR \>a;̋ N]iC5T.n^Q1{p-5薹EBYe" yT%O82Kka^rVγ qڟ8lE1I.d >э@ƲkUU]mٰE nNB8 h,xw fh)d{|"R"z5]MMOhW*J]*8ԷIꪒaߏjm4'ǃEqMsЛ*'"{ZQ n0IySXCxثF׊qT>ޗNdxJk:8;C,k9AͻR\3^7qip!kp>cP)f~DS.u|ڛc4H&C`k,Ry|Țt`*14:`M| 颎 PEK/M,.\\v*o<ݕoOD!RMpPAj[ +)gV0qͫGAv>El6^enX]m'ACMvWg[Mv'7[l|i&r-PzTHoC0`y ?v`R"oT[w}.&5 pqS)Dd9̷܏P|غ 1ŖVwil77*P]Ex!{;x ǷvPqQ-ߠdwg[@rlひFrkn \DZ+j0Bn6"5M,{Vxֆe>p /*_lF46wUX{le$/l{H=.j@!SѾ>B@$#ݣcnL4w4)-Bڞ%|i.zl/mI ~$)`Қxۻv7v'MUߑ9&eyG@c@=T9u=~|wiKteԌP ~շ~LQ8of RQ$@Wg4|tpL5F"w:(k^N[Ȏvt/?:('܆o~|t-i &Mn$CwBIip'hy?>XX!Ղ").`ȕ%U,/D#(+*w}n k 񖋟]7cCzws|s|G cHɨ jo/ﱛDEk*Rfu#Wj(w WE&]g. ͜s?#Dmo,>GDRޠ}e'THQC^ e.C1ےU)OwX z*>SGݛWns!1h8R6xy{Gx -S<)*W5C>B7ps:WF(UkDtGȓCs^ax5 _ E8%] 0FF=-#Ԡ*Qs$V7^IN8mJ 99Ē@}"\~6Y$[YT򈛸Kꞟ<> TrT D{Ȫ LgúFں\oY>㏯ק± 6rgұވI,ۀ.=CJVóI])Xc( ͨk6ʲ$J+B ]Q"5jV|RuAzu7@ Js_Tnӿ ƷeOz!=iNč+aQ.RX;k,y]>z.l^c]z㍌X trKX LTQ1UzOj"Issޤ>ɄHTo5iƚT$pN?29m:[lLʸ(,j m|ggǬ6බ_gQ*kLtx۷?,dBprIJ#J;{R@4ՃJTvRkpo=i*j :fK"鱔Pt3i9>&[KT$hpykzcQ␧)}-U0Nm8;Wcʸ*{#ξQ45Cf C2!.h:mxs;8kpCz!SPس|]quklc䄫Z!lw/fW^t=/X!Q")0JF(vI0: O|beE kmXhVwݙuDWM07C)*< ㄍn7XӮ{)j'T4r! ]T}Eq*@K(Nrs$`Jcn[ Ǽ|Ë2}r;S'Hrqm8upPh烋PFuNkWKYGA:,݁7nq6t&6E^E tGHT5&z%]A2Y_2GKyGki=ׇ&'!kF+|/˄z<:(n&-6ŲdͶׁ)njp7)$fdt*Hz=N~`aNcWz0ā\ ~=D,*| | StDϷ >}?- I sY8ۡk]JtAa8*MMb$ִkĸR!_V7>0nHS79o[Bwڐxzz bofEG0 Un|.~ C^]/̓Bo^ GI?ިxSf."V x*̔-[.Iܵ[1&ْKtzcaȽӸwu[d)YV 9#iQpirKŚ'gY*|EXOʾ(%*aDDU6rng RP3ŃFFqtǹJ־~̯b-mfX i z:ͱN^z< Gk<+.>ϘU0vc jbʒh*2Vۨf;w"Qq ;7<꜉~tΟZU,7PZ8G{cK'6rNA;4w5_9!=[vSukXB3RȻb$eVNIM4sk]5[GcgAt  rv82+ ̻2Ϟ,(ech:oT*#^GAf%_?> hg傂t"q$D"O{|R e!,h5+"Xɳ{WdT4<6S76v fX!bL bbG[כIvw YiwոW侹(-}ǙAP[ x. {NCg"HI䆟puqF*{cڔa},tL~O#$tb;J.g[?YC\U!Ք\y36 )!NG@>ͅrzD#.3|w 1lZ(EUX/\hx;ux]8=7q$BA&S0Iq ^d^#cl<$fp0zh&M_^q edk?8Pƛ^ ؿ0>d3?pEZ}=Fl@C*V=|ތNy9u<(Ǭ~B *8]kXn̥o)_ ސM|k$wI8t">!K_R}OG4w hxqAƲ6n2sUCpvol0bc& >eooV|xNpvycZfXo\Yp4 x\ |wz>nk /#q`+FQ= <:yQ82F~T)a^VR,]6:y[7Y쒲Co6phT@$>.1]z:bH'[_$ˊ=qmcJ눦'2||'Ȝwn_7 !wߥ=R@:s&eB.-',$URgΖߜlZ&jfh7P]ZvT-pomi?&&a`a?'T@Fqq]@8=kgقU.had)4F)6'GUz?I[$%9h29g0g-v>ͼc$Y0|?l 7I|  >=+ęKXZkmMA~G& &!×>^/v9N:Thjܶ&$Vywv~ ᎙~"0LhLReOUk>rϠ؃(dMF8S{IP PlKL )󗇯ꬒa6 \BՀ/-OT1dC渖p EMUGV@7f#+4FBhah4fix y )~@f~uϯ^:`[{ExŋGt -!ֶ6ͦƴeJ][a`q+߼c@TU#ihy"/Ӫ=SJjBxny}r0^UۑؿyH콆ȼme:`ͣ87L%6 Ü;|qݦ[ruY?:CEdʅ8'U<с,#|^r?;eggpK|fU=TNA[H,R1n Hlj3jdDsF(hDGf"7ߙx"}C:nxy8~|}~r}~;Əu#3(M =sFԮDNf5 l!Yca(Z?V4W!+} hV0@rZo_gtmHLi]ʅr-~胻-mjsϴMIڗkmFx hl T"8P>.sI]ɼ!^qMXrJ>b4,/?Ī?X.6Fypzrv :'oQ5asPs "mAzBXL7nߘ2!gF1L G\L 74/YqGs5O'g豪xtT76ԏ/9NR;uA5lo&q{\Jx.'5HE#0~ }O%dVaB^T\88ԭ,B-/Cd.Iȫܣgdh+v{BG<";+ =q vy@쀞$'mceQM2pǦw8d%٣ᴄǺiSZ*ϔמcrГd!'u=Uwb%3487Hg 5 *~VCj1ip}vx,ug~ z:IF:eדL (őocc/lC#d}i2 缵;eL֖BJq,P8;Y\@,"]^kSPw}7i-[ ZR~)WUn-DP  0b$muلOܾ_=*KH(b}5Ȋ WqR.8DI x-cI.6NИrvkoK{:dFcoMBy3Z ,l Z0,IY0u>x q5e;Z_'S}zIZF8F#njNk̈3|U7S!IE9^?]mO n1)?fK;u#<^y^juѩKG4$:0=nx|AoClros-(Yj l|z=QKp;* v9K9$W('D]tgK|ǻ{%Xl7 sXĽ/D|eߡOEł ቱsKH4.c6Erd~J9磅@RD4Dmk; OC'+a9z`=?إ#ax; kMV%;Z^5Wj>]iCK5J>ru$3=GYU.`eutZ} ߏ8 =VuNG ۪x~ 59a"0*z8Zҏ{9^ȿ|{@Jbgn!\_m\+%x_| gem?^!*(`O7^ɬsj>DU|Flmz\kӞ4O'Z}ZC1&QE8C68ۨ~T1OuwvƇs%)f d'X‚K3q.w)|438XRژtz1QzCm"Ҁℯ~h49f$VʕPmY51czUt1INД\Ds 2&9a`"'-䭕3G#$unlu ͑~M*6b5r=tM4"IqTad*n&|ThIәC=+OGٮ1nl냣}XӴ} Wqi"a,ɰcSl(+p FnEqW( _$Kx|a{H:(mg{odL@FB#4'n B^7Y1C2"] φ.ͽTk>ߧ/8N|Qqߑ'{Tݨ*Ti^_٣I*. i絓2%ml|mr'|MeCi%ЭQ]Kc[Di`E=3mzh%QiF-]alv[%T*xd"! äh)Oӄ"(H~dtͿx JLwP7 j4Xw@"l&.KņŚexKKkm1|td,L.$h\S\K__O4:am> i LX*_9,BuV7ØlRśG9/Te^ oǨ=ʪw1)3b92܅6M寯5+rxXдIKeX!Jcl1[A0T|{]2k4{+N#@gl3%SzB4ϺϷqKiJ:RR;g?jA9sC.rc86H5<>Rb-O 5zG~9o$X~dZZ+'Xb#7{u# 4b^_WӇq u& FFh 2;bj^RIlyS5^V-*|xKEM:5x1Й3EWkHNDgxDPjZ.2ӊsBו8'IOނg $=P{Z Ͻ\ftuN+4ybKGf eԹה]`^8&t?Tϓkg}nȄC7mQ''}8i4M kZ~My~UƶXrݾ6^&ݾ1`ؗ 3! -Bk"ЌM?haV6X/WbCB1z6h&qQ@%\8!X~$ܘT+yG8aJ'-񕰿Gh `iwzrx0{{<ŻݞRq<*R-NtKmɭ)C}ƍS;F|6ew퇜daQҘE'PsWdu3/(qUk`kv'7Lp-(0OP}< KY"-\:OB9K}tW} 1KNQ5yf z46ܣQ#JϷw[rO}Ո.sG q3DHыs$iݠʰO;#N$)pz4*\<5R.Uf>kȊ^4Tؤ1RPLEMTvݵ zd_y|Gҁ%y4h:Dt4mZmVN.QǙw>L9 rm4}?:/tL&~d̩|:YrOGZG9F+(T]2`5'{@z9aa~Q=JUI`3U+O!"QiE柃|s*YۂBǀ :g52Ql4C{cf+%}J|DhݰӠY0S9Ds)x׍/k6}n zoq#Y?3ӃuNR+,nΙhV&p*S$ټO=2S3JI-! Pp;e 0zQHBB7U䅞qQ +׳4K#Byfʑsx$G -j]ԥدEٖ L?c6:9lpѱv'4 S+#I~lfc2" TC$}~_Ur82E zP\s<-!Oɏ! pNl J0CL)O|@4,i@W#afj"6 0 z#-YF$POo^3^.GTc t+:!ih䡲x]$?/f޷cӘ!<+Qk:&k1n 6mgOU v+~&v;'ᇊFP0e9둩he0Wr-hl9axeU}BǯLNdTI{:­: ̑O6]])wЙbhA}fDk5;tOz8kUzx5b9k&~VQf@Jʈ~D_hqo4uo#j>BؤضSUNv9I'ZH,XQd,Z@IFDțGH 'LBTstIAo!oP*Uޔ% !|xF*SI 3P>_MLcZޗ(Ƿ/e8Z6?}&qx/^ncI{; xV,rB8z!c,,QP RD]k~DƲLx‘~([v ?dq(LrCҬOgo퐿9W!RJ: e^!3z :<==<>u`-ː.!)_PׄUzE؊4aCDm:3U?+X~:A#^p9Cuvmk>-l%h^ŒM@k#|b=d"iC8iaYRܮ1zJAb!okS` !@(IVA1#Cf[JWdiz1{LY‡̴X|sAs0oP[VDҚupx@}XmTaDvf"vngQU{Dr>eE4CB Gݧ,~8~A[s9>-M[&_pn[HȲ{4|zh:Ǿ>4~\CT9>ئnd3{-SwSOOtuc9a01v*Gcyb7^:MpQ̖g m$7g|i7zz^5JpV50^9xc7{-/AxfiW\$bI94&Zʅ Q?L~$삫񓭏Pq : :Ӫ{a$/K?Czl=5I"i4n9BfC1I%|q;Lѥ ~: Vn~Es86]"l 3ɻemKj+zKS:vֈz1KU2z_=ɿ4F'px y(%ܿX$o6dO”rq3XDjcydoK`c;qV\PfCp g_ gVsN7C>0Z"fD~eRj>^J>8HyЫt9`Td ^wW5x 0 FRj8ַsmK8Vv$7~4k*wTb"$+lt*.\ O|& H#fxG B7MxXܿH/ ͸szƶ,@'X| x3W_9_6r'So/ N1}8WV}s17u@T֮i S"%}EPEw`Q,$LCXs>2`^-bTKn (`hWp;'-֍/ ͆tR`v˜p~;_1>CID! 8Hj*)6_wuE^.ό4ޮV4gT䍜ޱ%ozÍ =yމ)Xpᗁxޚ%{|t }`CΩ`9&N4ڈYH;|jKAK\yH)7蜂lĂK>I{Cz8ng>\ +ZB,v!#r S#ǒcYb"0sjUŴ%sQӪh 6WV;l-R&|76}4BƁS2K CUiLI<}V zzx jg- p Ȣi>~tZ KD ]^fCs-۔x7F̓meƹ= L˥7Nџރ@d{A*u S(u{:YV}r@:B"'ĭqn A"IOh9N׮nj8|R_uz:mZ6) j:l{" 0t**P1F'^@HPv*:'3e͜iQ6&`8H2i&(01g/ޟGga_b{BʙB!˰ 0*#֪BN@&ygzwV }ԫ\}QPM_e0N lHD< LڷƾT?|-b[F>.kl@Ixa.n?ؓH!-Y;lO$%=p ]j`fb~8^Vwu>'4Kh"|8Y%/{uB4GD)C? 04ޑ O!<~L^pzz q94ykj D3Z  hOilb:ADsADPVfw̋\%}K1=]R)߹^4idA{T'I֌Xi|1*FrɠOoOw1`Sj]= Dd,2& s7n-0M)8?|O|ssTC=mVv īɉ`S_OPuqL[J.}VcLfR큠 ~X;k-%RXK Ea vFЎ*Oھy~ki: -}˂,Y Q 9; ΄PgKOb5^^T j3t{@.Z8F1ĒT @z#lf)^"OӒ(H6d!m=$"q-ٙ)ϥlܱyROGjFrK9pٌKz%_A A1-Є]nbl\7IOv_^B[Q o=XĴ61N)YW_W| =G,̩w)kafƤoުTNӿc9¹"n͈J$18٨Q:%L%?h21vs3P+a/ډZ0R*]Cn0ayjb,u)T:%2;6rMvzfԞ%%pdžXRfwܜ?NJH\NADcDaT`ۧͲ\?L&SeM7;8a@>ۛ9b]dbcH;zy]{_1P_ d%=E΅FUjqJIW"{s7U}޺Lp`a7˖e ʅRa´ v'wJ (DHL®|?4.IZ5)495.UF+3]?Oݿ_?wWVW-42hVM_!D2o>RʿeH֣'f-M p(5W-y}فGX8 iC Yx~F!OrdD ΀ƌGFCAk S}y&I;]doE'v:,\Kh׭|dSoBD̷)ˊBdo1T~ǔSuT4$Aq_?}M!QoxYR^谫\fls7&=(H }qpD0@0+= 2`M|&rsϮ^oUa*f\ J?*~qٱʼ:f^戊}r{1Њ$kl,Ҡeư<ä}!ONJEy:mg:Q%`?K20a"&c"FB2K"h)U݄_'QW 崝T?<cHrH8WqPєe}LfișVu?],rүefLKTջ#d^{c%pyi\]^13-߸w\$ w3(>r(?d  ;Jt"[ʄ,vنd -9yk{d 6is-^|2Հ01EdƆ ˀ7xKWL#:ǂEX¯A -S^/u}RMNkm!org =-|ymͧJeDTQjZz~+2$-ц{帐sr4akSfo|ZUON0rq/? ط.ՃPV?V{ w.-< :ׯ*'U%WvUXȭ&ģ9qI``Gr 2sH e h!-T:>u'v]R/R%)ʥB,.  qY䚩Bs;tRrMF<9S7Is[7z}\|Қ^?@ZP^R KY/#Nˮl766Xf M. }~2nWy\hoH@}"lcRq.bҿ b{4U Ȋp9:aiW9#6eb$Ҹ>]d+E@kT,?c :% ,O֛J͙qtМeݭx &7M)U:E:$ @]%?3"rk_%ZEz\DW!׏NQ/8t kGv~_!Cs;v)9?G_ ARKj"7ږ\xlB~ $ 9oGƇra$c|&p `c[H3-BKP9hX] <݈ h8/^=dc@Xm`EI;}dFh.(? ,;XiZ⺏j}XoC6Q@~~r*Iڧ&l;?k:P͸ 8o Llk ADBJ>*+OGu<1gY3(!핈L2q?U1ߩkFiִ*sb~kLivu#{TH]oT(kboT$%yJKo.;`\*a_LA`ߟ˿m&uzT ޜzhROboߥ؏ۣAJ ѭ !e֓䁿N8ZǔuU]$A0ԈT(i|?_xGm>&:=aŧx&R_p;Y)Ъvf$ƴݗA%m4ć>DCe9,;^}{=‰=!_PM^cmu#e`Pf.ӧYhg }3_BcV=pPǟ'$ %Ҧ l9kteg+@#lLz̮f`z&L<$ͤȐ&}2mDG^?pʸZ %FyWc)kJ}B+uS#5QL'*(i^WPOqCľG_@- p[_W(<%o$+ ୓u||Z+!sхⶫ7o0=zvy}ڍ]ߨ0#m:)B f1c ڕ'C%7~91P(gi$11H  Wְ;;RlKX2DY\=>'_3߻3TVEiSM[B@!<4 C:$Wv.e@=d&j~ʨ0rmMfܐ1wGÅ P?/w xl8| q%ϻCxQ\J߭aE)Nty“0D.Y-& tV.ZyeFD$}K d;|dҺ:A+~^"ҶŃC~f8F܆ktU{~K;R߃lbHSғϙ m4״{ ov}qAUlA)[dnb>`_k^f+B>|#1F*oD9?dAY2f~!>$$"KV,7^o Zd lDviǛS<  džt@RۃAU%Z_"*ZYee=Bҵr1ML))+|x{^ A@%MY=8wy5ӥt}%GsLXlm˲L慎.!S-qظD﹤y-~teRIׇW2@.F=^ <ҭo!{xVC\'^!(|sF*Yban4 ]xXZ<!;aװl:uE.`̀:k i 5F*毫8dHKɅ QߺkR,Ua V=L[k&!NWBY:>|t?\T8 yI&=ͺn0-k G:(LYtx"Dئuo6M㜿K:M9 WDLhNd,K̒/|7 )SϽi{@=/*rG|hX! =akLȤ+yQq0y4joY[wiPYЀ9;_|EKSw]\&]숓1rDKuB="oA .쫘rQì'"pO)r %=x~7Эo\K_\teK/i^hl#QƴL'lsyJj̙nޘ%Db|%{oǪ71eagyR\L~m)` ;&۞/]M@+[ܵ:+>I:UVsŏHNJUE\v~]Lbӎ& &R6sav„Wds[19 ɫ O7ʕ<iN- C'?6&ݷBҎFмM_Vx@jIeRXbAj3 ) ǝ0UҨ;ܻ ϯE?U"G/t·ZИtib>EuT+"r7'=|EsutyhPy^'3RuDPV /78w"q~JenHk38sj3} $ f8+n_)$2/&)XGa%徽C-krcJb^ ۲@[R4#Mk}QLGhHv8yp3Ai'5%XH7? {35"K %]bg"[H=,Ẃ>$QVpsr5Ȋ^] Id8*{2BH>˳_0u^rJM5Q =\I{{1Jyeo|jDsC^cB>N5ܒc~`oQ^ɍ`|SQ1sF7ZO 2s| lP_RHp%mcDcFuyOnJ#"ZR# fq ~XQW=ؒei>IKh.6EIGU4U0yC&#:GgkWsUDօw1zCY-?Ô__ VUzIkg>3+.'5Ľ_ ɦ+$ 1эD3{uEH?|Wͬ-kf$`=%)oa.Q$h?u \W(1j&: aQ.zW~BKVk;J,;)o0Vcܽ1܇$dK[H_qlu%F7Fb<4O}x|_ ى si/DI*eBa`o%"yWR-4?<]/ I葴C 5U7刴a^<$LR͗rNt^0j?dTu,_dyfV=9ĉV%S(M ]c֗($ܮWC!,ߍp^rF͖~~^ G4ol2d=IB AF_߲HÁ~%b~RKS;8i ]]W%=A{nx\ c 2e:+ҾwLoh wSZ<ĜۈyMʧ~က^;:Cc4RM#vf,MVwtK I_'%A+u@fT p)7SR' w,vK+WD1VZ/$;f4B!qd~<>BA,02do!sCdՁdn}Hm j$//`Q{o`Y@x̨%On3BV.tg3pԎ afm5xi!mz1> nBG^r8zj~I״ƾr_h%'%x$b-8WJ4bWJ?UZk6Hda0M',$>PJɥ^.}YM6. \\UT%~^ SިYpjlQ!,['J"1v*@l1c6A*jv|~]$1t+#]]-G>#A{S-0\y "Ϝouq5A*>;>0DdN`=z$ @D= V0j"[OI\x#i):~9 d0ԫWy4:)'S+!U7]b[hN߭:O$8*egm_{22C  xOv{JCf2f3O%eN\vj^3IlI4Jcƌ*|ޞaWot95Q^U=N~0 d#'48DӧC donQڄghN=j)d\L*fՖ6/DWMwOӻӊ ym5,sd瀇kn8w r87x\Gfuo4'𿦌% IK!{U^W--gts)yWY" itjz`Xi=1S.=،aA3/ZOC*>sN_lAKD~z=RGbXn8itK>88D&1^+Gw$}MDsQu^Sq/X H3lsШ?H1גd][AW t29ZFX(SfOㅕzpGﵱϖed37ׯ!fDphZN1 bȒI{iIfx8x__l98 ƥ;/sz߾ύ?!J+m(U(Y;c 9!CYchZI(m#uE&`ZPv_7CZiXC`xkbقq'k]33)^m8^0“Glgd~R9QP57 [tN'6veg&99=ҡPt,$@"S8H@0EN7[>P1Rݒل!DTd|O4u8 Hh.k_vPD D׋7yuKMS(*mT$Ww1ˉ3_ \8!ks$@q=bY1qgƓX5(-hq_9i;k؟ yL9IM:,?[sC7qtdC^?6hgHlElR YS/v6?\JX MrCblN$?H!Av]KNƮHX\m|x)&fZ=op2hd4ֶ8*p.8'{JHUYt-_w[X./tȰcYOQ` nk+!Pm#J QG[UGh2$)_/:%,~#Or+%'ߍ~Ew:o=53Dw%eMK1YhQ7D(v"c.))ü[/s~yA$&-.-MjXZ37X'1,.ϨqQ_XUXJ 4'xT{0sGc'ۈ]F7>櫸{i4#p~%qy_Y@w>Is8D5{hɮeWpKTONWs+FIoL;]5H)o1icŜm}QJ38G+&RA[M6h&J#0 㛈fe-̓R<ȌT2s^ ؼaDL}IfX1I;A#/٦=ҺaL(Exjb|*Mck"17= 0Xx~Y} !Zf[SI>}'fU7z?r%F ?cZÜ܄"J I" qT Hpx+yEHiUZ +@9];\.Mk}vW;2q\lYe)?nуP.B4iEWܜ=pHR4#6V I@~PEhEw-n7ۗ- WOL(mVdo܏oHb=k<5H7RJW?Fg)k.s4BnچG'!\ 'jֿs"<ȱR1FG|z>"zYngY/钢 \뜞߳rΖ )xN@cR?XJxׁ0b| )3@meotY<0~õ3<<pp[HWT~H˲DwddƾɳpjLEHDbH\ؑ-dm/O䁫4W-`𼹋+*?giPTqm~'5tg B-qX !AHoMr* XiX2BwwȤW"(nA٥,Pn!p.(qYN_IS@|EtR9~^]FôGu'~[X{ U*##w/ʅDYr=RLq!ort.8 GV2= my!gEЬc$cWtps=L79 &b4F Nn0Di aK&63>5 ͻ{Ax-uٟzOrg3(zs80NVP:¸ "y*v 4/^Ζa޶}eim9Ykդѵ\ ^@[/2J( Eykkyƭ=dWW0c ŬHZ=L$GU*s4qQ*wmgf3/EW%`pu{1*ugj\* U&֕{00I)S&~V%EG~txEB>=aV V_]aMvٍW[_Z%ԵvqOmp^GORk2tAtF("^f?xr Xؽ_YtƷ `>^ܠO h=cmr kFh*:j,}|꫑.GlTa$)ƀqI=UM{.a~+:Ꙧ;#;:4Ế.! o4 )>⵸Moʊ)oY^?7wɯ_N2݁ꭊؤr.d9.\4y>dGx0Y%@lU`|6n~,D= ic =RC&q_W mB0RJ1@M'VWi#ea{ކ!(Y}لHcv+xE|!~n# "m#^_;Ʀ +S x" ag!,ȼ.Kt B|*ElL7Z!jYuYpcsM:@BސqcLZ@ϭDax< Ŋ\遥y'r ˔XYT~ZS x,Ȏ!|)%2MZ;i/F %9967ƎݜNA(h:܈\G4-x]S]&Jy.jNK2R+}%EsoiW#6ޜޘƒ~3'`lQ=Bڹ~^dw j+1:ǂ{L֞(ZoVO (Yh{asg6G#b#iErC0a?N`0 NUL "M<usnԅ_Wl,bE8{-njWA)̒yI!IKBw(ʎȆ%ж/}:\\Ή/yD5²i6댎T/g sT|eIԕ:X1yU(+ܿ3ʹqQ.ճá;%t]0ƼիGʋb +yϡ!E\RVhH-f+>r_3ێ p=K!޿bTu)v_qbKM({O&1|a%5Vw:p#uw3@L] )b_X|}}0̚5|5sR@0פ^(.JPļ~%A s's+Uj_^,"l@'.!CC1'na7+ sI G⸂4H1OioryQ΍{er* }7bd4;tV«K9X8(N.j t*ޢ_ VxDKiSRj'1ڋu.';0)יsd]_QpBBcci 4L$`{IGv[nUIZRWqk܀B9ؿ9m2_'U}6z>.g@yvJ}U?NRMyoi_q5i$1=`0?~G(DѫgwKp[V=VU?I\-bosV>-LztJZNTnW1Ь@5{|Tw:}f2rwҞs¾A+C_1vZ,* pHC2F0T;לʐk4QXM?7v7xG`W9z ?jXej~V Ev g\Td/H^/d6rR3C)&h>@ rǚ4v]Lk0mgTWr,aX|r(e%.o˷}d]A&%֋frzu5S>=MΈPvlQ*VIݫh3ߋ8/5Q_gnXVԍ\bƸO%T@w*zspb%ZD|/ ƏNC+Nw<=gK4բ&qP=Ss~ KIvwIFzP.QվBwv_pk?0S0 @g":mB/ ^/<ו6f1srD0p90?ia=èfB#8؇Цvcuh0SѲC'kŎ]}KlQabzilTyH`c-J|<*p\1&_/M;<3k9Kbs>eVu'tI⊞|H쭴=!x>~.|"d;%#EoUKI  !h (|Nnn'>Y7eL<>:i̷\IV% sTc K 5-pqC}A4Yb-͍>h!3{!.lc}'h=ѿtjL.Js"}IXGDs96@q<#7+:6W9T{&-ŏ쎪t fqrtuY6!zSz p=x4'D4#}BapRBqR祭ΏѤR%E}u4*+dqrॵJ:ߍL*]/M}ůQVW&j!,I#CW-%5ʳ Rg#Õ#WCcA}+rѥ!)sN Oݿ"ӆsՠ0t½(R?7~_L8,6F-rãO?WJRt~7a2y\R#?ݤy%{(r8ғWzf'}wv=557dFs뇣K@{j1(J`7jyA/¹Y NJ5)]{CކjJtkm-ƣ5FS&>D|WbwWavtJ/*= $p;N{ȘKu0٫Q5k[^< nćĈͭL>s +6>Ӛxq(YU0*+׳jR}nNso7T3uäUI'TycZ{lPW!w/T6^Jά*p״+DQ~fF̨xhq_ۥFvJBSTer[$R{NpEXsּSw;o,N|4-)MxX<) YUOZeo+GXmU/k(/ /݉wZRxul/kD/ rX,BȮ߿qΒy.} E}5f9B9}򗽱Ӂp%L}reARQM\0z?שe5DPh(]nG!F;bO(7oXRۼISUhJswܶ8T ?!GuzSGy%W8hA&:&[6<-#ǿj Myn4=P6U7K=İ_`)[WikNvLľĊf?di~sd?9{I6:$ B'G_FiDŧ}tC ! >/dއ_~| h3r;ѥX(QN˒mt\1yN b{SޮG{U)HQ%h BمK3p\SZ^PVA8Xxp Q78tyFXe4b{BKQT8YҾOp]ӟƤOfhT9'R(kHhFH__vQ>OV`徝E}RK0^!DIDgVUOH*Pd@^ 3xRIBTd_ZTFaZK}8-'POXSu:3J CA\c.%&* H!3|Lh{pA]]^ZXVX}E T&q'J2,F: ]`#2 PXUSmU$#2<8_-v5''Gh>@z [XqT r EHo ͆,{uXG7D~iʱv(@ys47M"n+C.a$uO&6{$:18+߸P@IgB`9K»6c]Pc'gޔ!l3¨RF ZZ |oZFx Gz!U|DMT)m#IjR=&U 8~B %eP'TDjA^ڴ~jaCPd3jI[ ax]Ё;`\/C檝ƨ+[hgqIٙƂrK9lыPӅYGQ$3ƫEtX`!jGtƧ/+7UJVVܼ xW0(M!Rmpt82f(L#C8J`ZBqPܥ`j;&1)Ord)%hZbmxgL[wj /f,B@>(Y7Ua258?M'hq3׬!uZۿnTi$L99}D*pr&[46,m^*}!,g,r˪䉪sD**8.E]uIi#zkW,1Zy=qTrUlRhDa %vC6Նb%KabR:iyϕ1?\)xM}I9s^ȜS^{ !@)GM`fU1+C$/nR+SddT{cTTWa_O ܷ |=mh\ RvG;w9B'JXk(Xe8g'graL_Ă(2J9he>%^*>m>b;- wD6/WӲ&,MhG| j#[=O&5_ڇү ׀vR-8>.C:#H~y__z{w`umĞt% :B'&rfmɌOOMu>mLK?8Kl,*uCv /"(x)Yif#nAZR7~d-+\]&jg>_QS^T1_ m5sgLK/k&ʋ(yPWo-1eыfqPNO^{/12r,.%JE|1Y+^ՙsw&pVJRq˸"@;}<ZYAĕ8ncCqQ:e+&Rux>S)WPɁRa;8Ǿn"%ԪУ}}nqq5ŋfq)o@#n} ރ-ϲ&>lT+IJ&UE>:_kd- V_^V*7%(ʵ*+ 9nVqoZ->T6^Є3TR+ gQLHD'uCF:[ S(ҞŴFVڬA%:>mpP~`) Ӻ2p.]U>1v%OJzJKD٧Cku6P^"ڋ_}6YŠdGsIR]_e64*5[_4d)ZD!_ϟQ1Gn-_Zra:9t '7|&բ匚~+7yhHBhʠT"k[_uD{k)>/7k cT"-8॒m,!K%(BHxqrst%[$BvdK o.ndEp'(zFh,oIbi n#cP$C,g|2o?-zcX YBz +t(&]>*peos۟e^Bd1u笮QdX#r.Va':nrپ@ujvlYc2ͧxӯRA&@Q4?" |bELvֿyphg&-afp~:Wy.:}Tz& U^bFWx$씟ѝBP-Ds?>ծ_\Puo|UN@s:CgZ =SdY~z_Y 5r]>ޚNȞ8z gkcIT*˲ >͏ѩhS3VNQ`Q+\Jf+/ S mv]_GRX!3&IϩF,z!k%3hieS,Bj>vX( 8]AKNm=ID{ t ?2d. 5rC>%DS"Z}S,MY;XxY% 7A aJMVXTu2`]P6'XY:xElyi?Iaʕo_b+}Ekq--C-kM//x/$z*jr-B vQ.;d=}iS꫓+|a/6hPp *V/ȗK1M?4BRkjʰُ2tƋ 4ndz$ojy৯xNn=( zYyg8UX_ɡpO_|$/"yۈK?ƃC\Qӽ P u]O0=5 I}*LPfT-gG@BC28ᘚ"k =8!^ZFC`{k$xq2ɉޖ_Ȼ<*+ `l]/e!t#G~~c7~{俣}4T/]g37 fLFp"%™B)=n ?%RxɆŽĐ",w a QTJa:({h-~*v)ZϮ}NX2cmoކO8G)#Oŏ*o wԝe 4L#ݮ_5Aښ'ŭgj2u9RbM"@Oo8亅.WPMor iM1ŝQG!_$M׀UUMе>V~śńU^эB8i>Y\P{XiPY窎 %&b mmjP/ȒL\^(Iߩj- +|tŤ 4 ]IBswXNL b,@'щWj.6/rZ/;M%kf0UY~F>YRWO5:F{6Z{#p}6vWl`ڲQ;PՄl0ﯹBC$Cg\vm"䍍D+VbwDOY]7&ЁؑaWrrνwJLL~!,R 15CLy5%@v1-GߐmR; "xēiu+y8Lމ^ohUg/2򟕹[3[X_<wpo% ɴ_sd7!Zas HY#X4:!Q9Mνҏh\fQ诹saNE[]XZi=1/7pq:Ƶ~۵i\|r Ta)Sp>9Uރ1pMJ{fac\g,CmUk֥pJd.|eW|0 2+qX:ā5=T緀=װ:dlѿ`&ܫC*ǃp_]XI\l_ڪ5Vf+y1i}sXxzSϮV3'X<ޡ0Opг9 W ZG* :szXͫ->X*`h{EĹCAHV7g}}dyݫ~:0LAͷUeX%0@lD鮵b5x!D۩ f}#p&i/ [T 0Bw!#6CjUa.Rǘ~ 63Ȼ+=]>z`x{S/J\j$'ǜ9Aha7шՂ&@@;Uݠ<2X\PZ&p}Jꐑ] gf~h - U7@h_ojV&I墱rCωl⟁j4l֥^&' @ow" CNt1*F{2*fԮB8R ?#yP*:<.'4ط>Z'??P_}񵄹nMzK!eaERo`֑]/l#oZ|25K FÞ(]d-@{G:K/Ո7>?-՗=?[tjV4XmG0,+#&3"T.ߗ*JL}hXs4djй{j(+y~v\|H!(h<&Bט/>lgQ`#ͳ87C]TA5"=C_ DmWe_fM+u2ㅍ(?:"fvY`Ӂ{{E<3Iō#rH=493S/­wO+oS,@jMɼW+ˊ@v}ioLJZC@v32^ 5 GŕeMAK{d dGa8,̕p`;gsj|O1}O0Ds JUG&ҋB}L= ːgUr.,>}1vl}vWGU)w hel%;%Q:4w%s9HhEYQ*D 7eRל̐^^G#}bm7 OlЇ΅ {=GN']\itLGˎںp`Y͵w ~+g¬Ni51떵5YDu%V4}7P4}nefu$o*tG#]C~'b^%ׇHT|}2_&G00mOo(\-z0n];rT- +Wr W_\{-ɫA6)h q >ޣJMQ1Õ-.TS\C챆nYso)MSZXf}'r]hm _WR?dg-EiFa$0rC:d 69 -B;\1u&=RbmZV ` >:R ՚\˂R F{]!7m|8yF8y`Jp/vNk\8ר?d PjFFxWl0o.rV3=f|'o ّWrvmm;Q,cI #= ?dxbYϸNݭSF=NXԝt<Ǟq$^K򏍶 WCBKb:Xi0 OWXlvt"B^nL8q);@8%rϰ kUfIZ;e _vu_1tZN{w|4C5mQDz jQNA u_Y̏(.cmz~ psJuƒF)&ULGذ)~W=~U=dmj}ɇh՚fNBPCC~xLEfbׯi$q Bg}m^GS4lClJWHiRg>gt=ʴ?u >JJ(&ncytS#I%,q`<Qg"HMmXZBD9ζަotiɳo'-TZgqھJOu1Diٔ ?WIzRY5p cvL,Fm)۽u 2K@)>`kJ곶 2Tߵ Z5KB1p82A-( JZ)WGjk0|898|LhUοFY βGq u7>jذ8 Ѷ[b_ڍOkUۦ kQ:oqGh(0Y=%ԏ-P4B-jgB_"0I\:{; Yԑ(Ts25q?q;>,KvB#)XM_w5 86~i8ƀHgD:<'K~hcuJw} HknO X/ 3s\YAE"Li5#NcB|ǙDUz܈V ϊBh]5ey4t/=]2pj^xN_G]=ur1{vH a\Z UoeX?tJ#yd/!V{~OP t#͘,CL.m!e4 m|~*+h1kBboS]8;: Q0sXw;s5D&NwAå! iQԝrx?Uc%K⛮x|%V up9AFv:zIPa*dsI i>|7 G@˿z7>M 'Om̷ɾ ^pe`Aѐxv<1Vز{9W"׵1s,U >%ߚ3PfO7(aShw/h̓T{oj,rIRTըK'郩)=aL?=zOaiݵMM WwwvtfBP3w>PЃ\g|qNo/Qϖ@|gs+1g!c0vZBѕLQs X.> Cu/+gNv3,y~:l4g X գ=W]Jku x'ьK]\(+bc/z7%ľ.X|{9S& 0$R֝e?~[#jVҿ AqO~oWT83+֓$61tQO]J5'ގР\>A^Pr!q[B+IWN4@Ot̸( *U8:G wdGrΙl _J+4xmz>է^Ľgg3儖8E8ɼ*Sc M =WJXT@vas3hmqRH?`ƒ"7DQGf+m1(ږ.(~}YiO~nIe*z2ɑ-Vk2J0˾޷E4G%pV8 b =bÅGW.U@3}=,_KiRz ĺZm]t> ݑ%.7̯]輥=NJP/~d}Plil 8Fѫ w?!XPjyV1!MDzWn]!XpZBأSt n\{_?^B*jik߮'k܅;Pڃ|-ÀlO~eY{B?_dgZ_~ȃx}Z>oYNjEk!`1'Ç_?*2%i <W,T9v760SiKdoITP㣪c_+%w5y9$m'1zv|Z 8/Um ]a0w.Hwx?Y,;sꃏG*p9+(+mǚߩ|'g`cU:^yUςI5rj`ng.eCvYXs޹EZ6KUi\xoy~9]ΔTC,}8E䃁 Brn3u\SJ1tvL׆աMŞa_Z.ib*%< # _c3m5&%5!zW&ѳ\Ɯ=l`c?ih3soqɯ7@͐ zPQGc,@'+|t~=V~e̞|yvFwܲm&?e"!ǯE%~?TDBZ &0\{ivlB[v#lY}󨮊Csι8s~4>{ %qw ;N LO]" =uaϬT |@>ſOtR8](7 o:K\X#VpZFײO*҆t*u˿#ɳ }p37!-X~|6R^ٓdDpeԺUL J!U #Bcj2l6)նESYKE/;pi_uȍ1Fݻ̀A$}t'0b6 # mX<(X]L1j%ʁr0&begHER!b[_kvtrjem7FBGbx.{mkŸEƘD8y-HU IKxw=l(lg>rhxX{Aʾ g';OEb{R3`;:tT.7LJ-sڛɮ<ՔAaj) +aA_b%1~t@IjRw@sz<'A44HcHd1IJ)ٶ ;k$sК3|"PԿ Z lSOzۺCu3fMTt*^ ýudO_ lP ϔ&q?|J]Req&¾S&OGbWZ- ꐎs!AuQP:֔I|'';CB3fzMjGcZ~@Ϡo!z |DyV45i+;r5#gL7[bg va~11R;bXlK%,~fpŦrYX,TZL;GqxDo}Em͒E~s} ZZu!G_S Iۘqzӏ)EF@I_{dt=|zo+ĵ W|7u..éxhK #꾤`\խn݉OfZ+Ik$U毹!l^x* 2bbHavF>"ϫW`? BD-a2zݿtS1o*}.4%" ,['r 󌐈,)P0D+ã/&DyVPJ|D>yѳ>A[G}7ӦqF.ma=صB夢#>SmhNIkiJh9 _8caybO/' -T4Vմ*XN{Y&HWҵ˳A[ܶpT^jشӞxĈ20eOA |0k²_Ն`4UxFt7/#tQ'iH<URyhtsE"ÕĠC~!t1&&awd*>eǷ_}N@󲬕.۳) ҨÎN氤2ߧP=ArA\~L岓:T`X\5H^4wG9i0+w P7YU'nBR 8rZ-A5aV!0[z2Ԅ l*V~SLK&ZPȲ8s]/o0b_ߑ!2?ΝP=a_0{z OV<۶E8MYM$^`|`ˌM%շuCgޅ,>~W$vOAr_b&T=Z)ۗމHL,oʤ- 2{a->ttrݽ=pS OA%֫h[EƃoPU='5 J`ݬ|]݊m$/8 k Z^}4e7f. Pѩ汇l{*Q5UW96"wDI_0c~}a״?o闢j[wlǖe3+cs7aٽ ԇ|]Fq (B_{(eIZ9摯1X~20yZTsȭ0G -٢KQ{g-s*aOQԝz`MBugau.3?2JT6v .c@sneӏ2b_X&VVc?}Å!?UްFeC>*ܸtQTyʌS!k$^ɋf~pKrcDt|OmXs$ D8CfjǑ "<U+a {{z~!1YQ<=b5FAkηhx)BP5*☲RehaήG0Mͻ55R`})\<lWe\渺9\+@Oa ձ}$[6e|Lg49!at弰XS/X0L-j+>2*?u aތeP#Ase!ԮO'0xWI[LL-UvRHW&K{z.=g o N .$' !z?뗗IR ff}üMxƕaX flHQY 2 h,^"t|ԏA$@ػqxR 5_At*RE`/搪V. x +@e[j1p su+X+߆x&^qSDJn"y7<瀭ihns@=F,_T^4 +wǟgrk0352cطM֧%zufuDOd~} n"ӮbJ&"n:AॠވH]9O|Mg;&IO ~Xڊ%kLJܠ*lP>0%3: c1mQ)qu veRn !8NuՐz}Ʉ߬'\[DÔ7M&>^q.:ʸ*C6Z4hZIS oR]vedq@{|XGnt22@8Y!=!x1 ,/E/A=  ʘU\99YjM.`,L%S N?2>NTFzڔ Fxlsrܺ/=M]oq%v;V]%Ԓc?vGΑ=n'L F憻*2'O~vOڳeLsI$g]ȶ XڟK¾rYbt6ITbeAFDmd&UrƿL gj?pBˆ^8A[5 A0jUgGnZ7k28h{9E+080j|Mm=e|teƴʥ$6[ qP7>u5w}a(F?&:wry)W";23mM2w 7W+ q#V$ >F9fGLK{+`*o B =4:NSO怟t(y3%d'iJh(9T1d70hpt5v}n^SDg `hpȵ]r$Ly%xoIFP:wau4p ¼s7B@>!jSI@ ~1av,'CRdžWNBD8T^= {PVfI SN-5pXne66^l6 S){] TE'ٌ[cRԑ; ƟuqdlްZ︷T0բ545`I"ݏOݍtaȂs6Gq|5^R/37&2$R_PIm\hyZG`6T`O>dWuA_o %*p˰nՉɡ#|'( fȀ]9 2q uشt9Q³E'T3Ȕ!c=,s1t +ZD^*(w:TP7sSYe)[}FШmd\f}d9ql \HA$)cX {'J N]8rg Ynx|\[D;0^b.Oᖚ Z+|fC2F׆o﷣f_Yr.)NRptaGT;/{ ޒ{X3Xa׉j uT\e>AW >i.`Qe*cI>qaT =B{aٻ*!}B2T@lXхX'"zS-"@,v '8R )S?:I@NlQxE˔bEq:k72IltkF ZIA7eɯݿf;1h-xUOX^$_QPX /6^WqLO]Nٺ/ڶ:#nC:}:f+C^5:viΩy1qP- 6wQ ^5Fi/*C$nj_dhQ`--T;Ou",Dg+F*G1cw݃ڌ>n 0Aկ ķJJ#S#(~>3٨sQ6>/)9-%hbh]n1 sIl \\\oR$پ`+tчv!Q]OjL-(VJ]=zL Ey}k}PT=/XɂS#^&A%a}D8rj?}=G2?07?%<_I-*_l32m KRϯ5 cLnYoH|jjhIc$61;drheϬvL83椚Bs9ϊ : EV UƳ9,tϣjHp)iV.5{?_ԩ|y NKyS8ڛ4a7G:SPJM)xd1Oc\k^r#'odp?+vD|cr6%6Ǔ7ݩt} 4eh6Ӭ؏_н'R3 &X-;Vy7mBualh. ǵw`Q᠅+r(|ĺ!}):z]aa>ṝ!c]<yhn!4pIKH+$𸳍޽=mΟ`~i]Yͳl9SC)>~ G$I$2D,FP]OQkѲf6vC%6R>g͋Hapꀬ_Ke}YSq2"[20n=>kNހÊ9"C^zC z.635x}4`H{HADg 3q-$x2Hsυ~Yhp;R z;kj""OQgGC}~Ѳ`XN2vQuK7zfHH>63$w۽+V2e}~w)fXM_#LR+F+m'~j2Tu>JxCCՌVjC -zePcNkԂcgoh}c})P?zU~,r.1l6IެfNvAڥb[>04dX#%~5>5Qa")<;=rb;&_Ư<芓D5Mcs&^۔لфm|lq/6uT FK?eJzX49s͐v KrY[C+oԊ?;"Y~GI*qVr2M僡0ʟ'*ȯ)& gJ:,Ʈs'R"|I|W I "HZ˽[I$~cs%e0ֵE^ E cY<`L3)[K)ӡ2 cȘі.>.|O`̧X8UIy{~РxWFJLјxP4S/* {?~/CYU?.bHUp{?b[)'t+s OWkXn{tH_c}5ւR"i~eDQ ~oij;z,=r&YFťi௱zxGe|;bؔc$X?6;en~~!(739c%l'5Nٱ CExp^ZM}df &T+E;X08cB3(g|F 3zP&u!y a׏,FJ^BI(qK,DW!' #\ y &N탺Oc!]xe|ք$*M%DXZ2||$p` '_<2ox/ԁzM.=.2)gN8HH#3]g_eX׼."Il=NZS&쑲m,-<1؎^Z4Az7i2S]۩4 a _Z4#~ jr]rn{(},>F!Z i GM}6jTԯk ƆE`df="6 47VUތx;nbR~k|lV^ - rpٽz@"zV?X'-w~ͯC2n_ a~)!XEKO4QT/wu7 &A1K|٩U{P˧uaL.F_D= Zr8r0GY?[F__Ҷϫ )*Wǐ5.1QRK@Gix8]Q/zTֱSk`ǑtҠM,=#Sjj_C.e[N71d78ckfiQ\ :<}>GEŧǨA*UMD^:RJv5Vc8bv;x s'߷`vWO[.(UzBAV 6ʏ/7ىe0v~Eң8-dž,u|ec IWSq'*MG=Q˾L^*S™Vaqk>\`1T$yCطATN h_arJ(|u<uO[}3uh M5u}5a `:1>u#+%CGH3sngHo0C~;5Wڱ;c> ~g3.Ĕ& m8%Dj,0/y*BDBmaR7QIWތ6\ӗJRr'ʍj!\VLb; 5) ޗ5DKR%[IK|SMGW6 `JS.lHHj{fd6X Dx4yCD7K>DGHq@o6Jxe@m=DCzGV1UFg>f>mi7ʜ _3p:Z [{-]zx^!{3N 5&ԕ1RH#&h ,vDe&|\w5(0Yo֘TA̚Y 3i݄^~;CnAe B5z[] ҡ%Q_2 No=a jpңT]ߔCW^plD|TPao`Q쿗8T9&eǁsA}ڗ{ D?#(Nw-pjw{ůp'NN0Mp޶ n,oajN5y_6g&K7vxd@g:ջXEuV4_<򭼻m *?)KWBbS"Bؠx=_㥏gb`,ٟ%jݡ={r*~ "-M[=ev8&.JJ!y0oi5W>e ?gR8䎯ob$ jPN}6yam5 z ՓxUx>$aGBKmP0ewc&mpG. Su?Aӵ.mAˆHo3!['x 5P,P$y&p-l}4f}ݨbzwB`OE;[wRc^)44++]<$%>\G눦='< r[r1xڵ+MGz7Enxߘ@4iټve.~oj&x%4}Qyԟu&< ܁5HVOi_OD Ln]o0t]2x̩qha_"Ra4db2UdW}rd56̟v}[4Qg6h3JݚI(7u&AםUP0'y ED7d;4o\`y5Ɍ>O_Nf]{Ѝ?I38(yۢE!`u¤X"!h?;m^n3_ib3D nCA_|*X[@@d}7.ۘ/z45#g@f O:'"A{m9-&m}h {} 8f-#T].jk5|ĝe\Kӽa [F/ytig="kP'ۆjN612J*K#-+ƑXUdh<Ь=*@P[ ]&V*M!+u%'Ms\>(ҍӭMCߝ0K@p.J_ÊV؏11UyE\d }Lf)"uOǾc<1F~A&aK5_e?tpUu|eNCz7c?+u^lQ [)}_20P;nƇ5wB%6JP>X&{F쬑LnhqY[hk/w֞*6XXnv".wş\&(!(f%~a-zεQ \I o DyLcVy.`iZmp^k@JL܀vDsk=5^$xx Yws`CF-tA͔`z4o_ M|:{c; kbj-V'G,~h@E<;k,GX]nRD_j? Jӈ|*5.Seo} LjA-)I233YҖS`},+%Ri_Vee#"(ˡ`3V{Cv?>t"gK7 W݇~9exOtSdRj_C}TQ.vhZA݀FwZ}%+,Hc 9;3H~`]V΂Є%k#4'J@JVh>W+%HfɈJJ,z?9-8VF횈e{U_'O%Ïk .QL4ME1=~@%aC"$8(eϤw uaz9KFGryo@*#xZ1+7YuAp{>Ozԥ"xLŇqrUwY9[~.8 lO63HGXse윏+#C" rjbEwZވ:i/! }֩ߜkU"^si^4KʞtMuyO(I@L\'a{&VgO#R>&6Nʨ]և"/weߝ ?656]fTHmoidlweDW G32ҙ,?d`P$GfD)h*$::cWrcpEZtj9+wK5O_,f %HqE q { Ð>3S+N|_ݽ$9{r9S|K-&;zn{ F'}DI4d=βO'X6<>oLewx}I}'o:ዡv.Q\o8^/˾[nGG,vx5i8nZ0;(lxCa*sh ADlA d}ӠT™I%|IPI#۸~$^0G|3B9rS2kܯXf_cX ?EleT/vmBUݔq߇ ; Ӝ:Km`"ʹͦJ `Ss 94{n LʰMښd֏ 0Ek $ueM=~*%LC~X<I=A#ϑHxkù?- WdNohXMJ y٣7f΁|k/w AYP? dCebNXP~Q[;`t f؞phL97'Tx좐wX K#ۏlɟ;{ȡ:. g) >I=C&Cj|0ԑW/y^u %"GǨRUaW/S a(3Ȼ~!콏mR#Mp}F sG\$~ m2pP2("a9ޓQX0ZH79zB U Fj1ɗ['olPϿ p>814 tl@%kfCGb/TQ4vQJm/כjqJLSv#)'BW%lC-L"x%M!yU'œϲD`ywCB`o:H"~b$J=S;Ȅe&~ٷzx W-۞ *d;&cl9+=6"vuu+->Ql6%ߣrw p;uS4_bSHL2?YA5S8g.w"sq`>itmnO魳U,n")Y:\Aa!Ǎe+X mɼ+=澞 Le 4ow+&rDxZdaȳ=;qÄ20ǐ!/˱~#>m+ԗ+;/RJc>x:߃Z>z -qC8g K*괛fKM{koc`.#.1Ik6#J3:5\~+T_Wğˎpkc9Yvf'_ k&z+΍С׫DQ<?{4gA/'>_ؼD z⺶WOxoū8, ٹiWDUY}ezsO1F p| %G^Y(^̹CC"3eVI[geEԏw| P.vB?\TCRD!J|htD=?M!KvY;YZj7;y~.w1gR*IPCe9O-/cx}vmuS{-z(uXs\\.ԨsxҒ!d%karV p^ћC (@"v^aK +{m3G੻G؋nuz #jiLͶ1Qvֹ-ijSOxK۾8E[SoM<\$8)aO`[l~\\LF2-8Jz~ub>;oC13xMQY zOCjlP|t5R Ys ,nzKgJ$T8?";{|c$U>=27!UƤg%tnڪxҟRR!#7 ȼp- .ޗ{I6b^``YCeSB1j'xSPN ;>e>//H!$\s!syta;o^DO_ ?Sb7q^i.?QoR!zeA7;:?Z_'o ʒN5"CǙlxvƺ c4?j@~ 66j8/c,GSX3qyYƇde?Gw+5zyPH^b/|3 |$BTqAɔֺ[ Cmkcso3?>k籽=W5() ް윱3~iNTZM 졬sH|+DSN[N^ |;rM/xv2FݶW|g_ko#㋎1L۩WZ;iڊt~|"1=Z.IO6Qcv7^2|)(*H[_ѷ.aVZtAx;Wb_i |>Q[K1zuF0X9dPWaM{&5֠@c#75ذ/s10 4` Cte/m_U֊"gFvu {=O#sW"~@9Eys9n&<`#V7^?><7ú1혴# ᇯBl7ƘIQ[aOAE Pq>TocY|k]jB|1٦IK3~SBǴd엟]G[B EX nnCɥx[Xtw`d5of{u?sFL|IX,ע|^ίXGrEofc?ksmڽ'Jq$3l*n_l!CqQ?Ŵ {?҇zcg0Nŷ7QkƑY8H{}D!0:\e 4Gf=Z;Z^kYZy~n/caxJs0tN?^f2; ha/|>W\P:=kY@[n|2ԻדzW U{M< bqpoHbBff;"[WHLO`#UB([Oo'k*+^oP,ZT֧O/]S^mۿR3m>LT냥N4XlX`Si,8K̰OKސ8pш\Lq.UvЩdzpB 1֎1ga hrnӃ3(1wC1GƀPUoz=B)°ew3t%:);$6W`}.2t]ziPa$4r.iZ?J.KN|& $R[Dm 0DC1J8=ke.jȽp a`qMQ!&zɁ !?ڣS;@&Io90>H[׿s`c,} vwS v6xݍټ~b׋/H{kQ3#w,Ǜ4kղC'QҕR:+!ls&/t] ?]5 g(M/Zk[im5wHC@g6SZUVǶ|2 ޴$8Xwq^-ʷl蒖Ϗ7/}@R0kC*jo!bWw`N"2 qKs )ҳ<7ߗkǰEwZF+63eC{=fPmc챏w i. č]Sm1Yz}ďJG [VȲ 5E pr6;2JIK'5~ 2fK - ><^%J[S/c@[Q`u yׯA~$R ? : acp02{!@\$V#QJ!눈Px;$lh&ՙ||߷W8;lS27 BTOU~wlZBPK<-٦қ^ hIT3G5m y'Y%B-?[# =v>Xǜ^,S[{B t~~2+Sls)'9cx/VFr>@PEP, ?OERǬiXqx}V+,ݨBbz98N}9~Z|NiAl35ȍr"88{({8VT`/O̷q U@)Wy|!g(֛b4=rMUo5R'6#wPLon•vtBK9YlYOF <wv毤){{Ϋ7 |W \a;J K߂Iɘ䐁x)ܿ~7]s?Yb_F-lg.C]7}u^NxeVyg~wW$};|_$vphLm?ɯB x)E{菫0%i&N>2Wu^NfޚŜJDtaag'䃚Z57NSydHj%?](Ht6ڔ;$~ĺX&kZLrE?Tߕ>'>.ƿDgp]1V\)td!7w&!j5_َXӓ_lXwrd#3["P﷝ 4@;'=pӏӘV]ᷦ6`wB'{9?"Ouk sUF#l ^|13]/*zv72!yP +4~|R Oq:b߽E^N{=Z[tD1]CAo=𵀇L8E^ v~AUQX?k?YƌPJDId8pg<=SSy>f0/Z$B/+ǔ \9PɭRgi hֵGcQY`іSħ.03wIKOP[/Pof2&5OrK>z]A,b|la:v9'G$ l`Q8'fwf$ 3l/1$yU`+9h_dͶC (>RtX~ۼBj 0PPWgfp"A87os&A4/I%܏<=U7 h=QdC~}{ ׵^[vr%@6V{19<>Qh|Ez}_$PqAl8<A:f"Y*mٗ`h:jo}— ŗR\k~0P:-h6Lqd젦+^fP/W%?~rT/wY:?Zۼ.-\b^WXn_ɳPKoU|ߨhn0~PG _J!}M?9*}qr % xy{a*FiFŦ_=J="2/v ^?Է>HR 0{\Ň៍r؎uQdh[Q)luERu+ El|O>x ͵uh ĔUp~%")-{9ObYSh.豣@STY>yUz3H P-X* Y#_V\?_9-yF 1:Q?S5=0|)Be= dt/~i2V mz}^ 餖Sd岋'?SK*`G8{}𥵼_<5<>=>5ӜBWޏU;]ky'ܡb-];I΀2HSo{T4%ƴol&~$嘧:Y kXlW [Q~h?$W^ޚM9-(c,cs%Scuk̀m}Qn)+xQ>!{09'ù)#;'Qz_fOzG҂6D7YX T#PR3Izf@]|+=&o4;fgAD/_+ @!<~cui{WL֌+WobP=1ViJZ<*EZmh_9JyY^ͦvюū@*;5AMk"4_MƺXZmEvZags'aW+o,Fhs.k-h7$_Pb9Dst[,^qz^I_ZT3!zR)HluE 8ʍAD\- >$LA]4X]MVfXyA&~ÛmeDS1#۾!)N黨q %K(1ǻ3dlkkow-l`ɛhr󗸢~xn<S+ߠG85@s;Y2S[qh$y\9.%6OAhp ݈XN05>3<]&ބnXh£w%𡻧׵7z fԸ.HTm |V\O['9"ph֌&TK3:_8cK8Ɖ{Jc$XƏ…@&ELOx[&n+ X[/p-ꄨn".(&̙jfzeb&/x6})p$gdSc1ª1 9b8~Tv`TE3@y?vfSE+P9 Eϰm, TMXYF**G*گ|~a!adH| 3u&M4P!s}%CUIQ[E>߹y(`txܺmN7x11Z۰6j_j~/fNb& Ub%;""^iKSC7E{&iʲ8\Г"hSg9G<׶h{ɘoa qp%M&jOmr+e(ÇDx0)0\'3b#=9&X7G6L QfJm`YW=bg&eu*ΜVo UgziU:tᇓ<}T& G&/2D)us:֦6k>Q-o#,K(MqgQh)!5uoyH s͐,>LIGp ԯxaBnחh a(7;%U8h |QilͥCz+Z:or1mw> }prvרׅ}8T#*Xk=:Egi1q>\՝z/8/sqx[OsqP-(Qf={տzQWՌ{%{0À؃&!!Q9vhAN¯eP>%mm5a;'ǜzp0S9u]Sݘ帮vx-޺ 6i$xB=.QF[̍6/vEz%^o+m \m58,^i2ߟ7upvRj D]ѕ n36!,' 1Xƙ [ֈ*u*k۱|DJ R~~j@ mk_.| V9bSGnZBkkW1[3iL/tZs*+qu>FZQfp$ȼcqK#=9e12-a $yp][cH] yRymn}D+#o=kIA۱ 5|FM6NշSwо|/83<q񵙤0 G?t}Ҧ zQ%{}&HZ'73TiNe(^aC/&-EìMwmQ\a `_^?Q_>)s :ZuYm/a89Xa?!cK y3<6820ɳe3_δR[foiY /?-Os22/LGxGzlUصTQ BgsO?a \H˖HNe@xFnFoy _JEjM6c*ʂ9f޼bzі%G MhJc(T={2Ra5MуWaL/c:%3%ŁU;$Q_avy$L[.!b}Ye_zyV[AՠCز)`jv.07 ߑΩ*$(DI$m<](C08UPt,DgxSo|(=U9|42Л}m|Wb/9ƮW-&`T~+osQhLf|ov6 ,M&M_=:>{##&b WEp-h&ق2k  faS̋ς"yWJ(-_AGR_d7h8)ML@owYožSL\&9n | % .x1(ԍwFZr"ezHkj8=f8S2!s, 8BG;HYep%rBlUW&& cض'Q4i ?Gғ&l5L^!RΫyfz?Tv.^3)sـ mep<(Zl--JK$)& !3 @ؿu3r3)l)D"_ݩMn|8I8~˘׭)Hi+v10V?KwE[Q9)͡!h5r\wgWF߆P08MCG9!ӷN eq]NIPӿja_)\ )R?%.̓PLtj11K}՘z#2 ZZ0/6}o*74:~z?\S&/9?xo;3Pʎ?` XߣA |WimUr)::0:[QNcBHgb/Q[93C]eÛ1bkJa=pD g>_T5elCy=5°x"W-Qg >ĈԈvN ƗhLآ.gXm1Sx%sE3̀"¸tJ=ƺ%;3 oڶ \_M1ot強CT#~B^"!yI0xqg1QX$1~0[PlsZRtU(:!Gx,Kg*(Q77/l+NjxT8BpkF~! 劽}]+}`foX ɽ% ld[kX"\7{b1f}j~֠yA~$bx k29[\iR@9)_F7 [rm]ph\0{(<QzۃjJ翣KQoXHѕ#ANj.d 8KrM}?[t B@pp bǪYױ> BpdaPzMHPc9Pau-p (j6(ِJ}39Pca/jsUiWEՀ_=H|n?e M5+CO  -bA-zOGۋ]pu#6uR,GQ ^¯j_tu=PQ:B= FwJ?= җ6CWxי^^?FZ"&w9,Ȕ _#$Z=P&My. ->6}AsUwXiM_gt!T"%2m_=*>t߫?Ri ]gL>PL NJ<*lmsFyEZn\cT;]oi[9|D$hX]Ó#5]t.&d(fV^/rd c%HK8zhCΫ_m Q6i3#d7dD xڶE .ь: 4⠀PDB}ϏW.Q$&Ri\kwUeڱ#};s1Ƴ~* n 'ί'*9WYm^ y GMاAJwKX,1uŷ yq;䛜<,^:/+3˯M <RO&"1&aG+|N$ѺTjR 4Q.[o=jW-Wҭa&ͦ7 HRS/ y(:F4}nCFÉuDd(ŬP<_PL@&uIWOcF* OKـžkt6s~"JWs1%/'A'ݦRʿ}%^Y׍ɤ=vq wk#[Ӭ:ܦ#2K _0渒 3sÚ_P]n7p|_xЕM̛'0ׁhis5j`hq+`{so3"|.>8pyپTmIedXҥ"  ՃBw(Sg׻=nD RodƿڧM3?c5*kF%7bɑc{ms"aR${R /g9]B pqg 1A!!5Oas1)y:z7'=u>`U\fyЄs$(zrXDL"");>.ԝk73%< k.rD#YU&s ڲ .ԛ60BUJ8RvײmދNw4<.fL!}!@FaBL2Lw YS5O_]sLmu"mgIɤoW h[y$صkYL+-2۶UcPp o_֩}? NOQaH/ "-ITڧ1c2O/!c!-E+Fgs|<q&hDg>lQ( {HTKODhi5 QpΏPt3ݳ8$>b&mb|Lfwa{+g w-яj#L=0CLLd[LanDvaO.Zb=s"6v[n^t":<\f؛ )23%_Jx@; m2" is09)?NjJ(kAQbwft~؏6plX&*:7M:zAx7a\cڗjs%@;L#-CHs#ZÆ!5_DG,#\iMڕ *a8b`"RMధЭb}9<UuLn)6h0W'#}àMmmG]~#ӧ?}Ymipr;%jI` b_ {K]$0^QowA]QDFdz ИArRL,ch"ѝ!yH~*,RE f1sC^׌rJ~?@퀇i9)1 P~>Ck?%3SZTp?߼n} yyusWSF0X/|S"^i dh\Ek4kbs~V#N(@pw;Yd{}=W(!$@Q\cbH/N]?%A*2@ʺq+V~"o[Sz9v@{b&rzQa&L>䓢m}&s0|W\zBGW1-Ybrp{'D;1Y$eINro̦`WK2z1?,^瀢Fc-=;eF\ lzOP tkCK@d"}?s?c¤ l y:o YXn̬KlzǷ u(UA[zC5zFtVی<Gz󫙚fL$ ] e\ 0=FlBo;I :y:a9,1V[U" mxP=YDܝY؟/- $h6gpt3q`,rl[2wx @lL۫j*^j[ap:`)-2s#p0qBtdn*u+ fEv*s;\J^[ t&w-O.;&3$ Se9وȂ榶u891Ʉwb)@emb tޒ:cFUcy$zzjfzon z͠+0&jQG;Az׭cvH^ hEA,~+^Xmc/gdhF2r"1QM$U"|>c7~ ėYEy:54F}d4ЗJm~MtA2 |Zûكҏe-]a~B2Qu*,GMGfsh;E̢eٟqwe)pM&Jih {.tBj[=iƎZt7%"JM'")nj@(cYB=Ï萺 Jl-[{ɺ:n ?.EoP-ed}߃ cspn!v =acbGOH]dE8&h7a? 'BzX nUT8-=4y_)BbK\׈+2(]PsX>2 T24f߼2Xap-ZE]FFW!e[Vi`WZB/rצ|cܰ9j=qaH u|@LJzUc-xJ oVԼy ue 50?gfC0b̳h^)~kO #YS!l :h+3ԡދٵc"Ov@J6kko\T$5cPX:ڪ]0"Wi3豚ҏl|Dtl'WW؇?@$gcsBSWZP-4K\'k!cQba~_/9>'>H__R|龚Gl RPEzD+ g4_ ]ՈjMӠ-ttV'%YrE4)?ɸulEd @JZw[˽ 2!,5JyP]d_bʄt9k1:qsX{[@i{j!!syK,ir 4[EQf( J؋no4ݙg"*y\ UkTy xK6G:b5aeުGMF:AgŤ>ZO-q@ O[ySl.:^uUxί6v^H{ 7cSjHML}5]?8R!n+RKk 8[N[cTP)ozNh *L)Y ka2v9xC*q0.IXGa~b /찠RrxŞΊxnLfEo[Ǖ[KǏMJ֤n'c{̤5xpSC؍O GB<9t רpsFTt 4W1EB[tfZ \e]@?R¢Sz=l.YŎ=~wp0ع1T'\k톂w ,+oQgڛIsE?ZG͠ ${c̏a:;nQ0@ |+߸Kː옰c%k(n#a)Jc(t 9Agndk(!Шh@&h8%Uԥ3.ܻ|fڿoI1?uo*PhjghͶ |DyUTInelZlƅGԚh#uR]!u{X,bo4j=@ ~f0Tp[rMpkdz7GqD;d+( LJyˡyNOF@nͳw"mܻc4l9)>a|N/LLY_./] X.~Nh̛"׍ ۟t{XJ_-~;n+H{8(jP:0H>#bWw=B_vp;xĦES'up_ؤ|9=cSt/=34íRbip^Nm0Gc],FsnC{K++V+Q#Bj!ߦ~3K ңu6Zb`Y<(И*4ԓQeEwW_zNMHwed>K$Hs4"GVQ25%S`<$0C cEv]@6ٔ~,H–38& V?&ǖҊn\dٿygh;@S@~L4-QE, د.T~Gg|tQIgV'$ 26>j-BWK2B8v柍0iGdEWkC9֋ GcKΎ,g 1|5NgtT_=?]y:TkDl*̈ '0bKVRDe+iWQ %g-~//kc ?nL!eSZI.$PV&MB7GD#E5($~" 8fa{cno*P#y5:rG {j)WJh}lEXY,ٛ+$|B:O=;-=s7{sQ_M4hnAX.1mQ cu*C\A8%k>g-~좤3[]`+8t[/=$ªj~aEfU0) /}p!D:R#p_|9 na&$Ͷc\1!K W3M?Ny `ֶ5^ N)qa-_%L'+^ٳ>SG'^^Zn3lӶ٠f|+`aAvЁ!4Hձ4eZ}cyك->.wm-2SՖx %[ BuDHޅl\=Zh5~@0ZyuA@]:L} &}y{UvU0QO߰:2Al[K%{R&`~;/Az9N͒*򷨳w'V ~R)P_Oz;cEՄ81g~(J+n6ۚ*ּWqÌtٙki7.3!#|ԑJ+̩r*K{=>r1/?țhs)B){*BeN-Hˤ(ZWn{e<&K^M?q<]C̤NbG+شU E ْNeVf<2{KM zz/ƂP(g!rRg]S ` z̴xJ$a W~U> @m_95DLDyLk=," Fªǰ G]ܤm= Ut}HsJmߍXt0z9us)Y\#iۘA97'ۛwVO j7c<lqt #N?߸4ь}nh/l>П$xoKP= ^#3wvjUnRv+ӅL[›XyL G[|3*p Ebb,u{ EhD?5Ku MZGY>gE(iH!B$v7TIMy+8QU)0@I&d9gXcf|Hi`ao5AqVdzca!ҟlߙ3Nr|(ى`i-oGsܛ2)؁r:Alr{HӒzl$E^ 4Ě` ~j;i l $dU$@j/ vx|^&!DeLS/%ש74`b$Zvl,:HӡZ2}3̳!SNB8F5:/fx>]g9B|chAʝ~{cz~ Kk}#>{5&f蜜(;iN0j2 `Va !@׺nHOT,37>ٌ;) ߈ V Ei%qm 3.b6k(^ɷ LWX(ߢFZ)dD&}1;d_?GHhMsA>=ms}QѽW;Y4f}@D;swnǕJ}J1)<7$=BFd^8< Ѥʵ[JHLVk #x(7KC^3_T~TD8wwt9ڊqߋLf]wLa!|=d$9MO>8ݯG#,'4Jk|>ո4ޡxy 7S%~M*s&z VezwF$f;bgel־G/$z/б/H*L;EDTɴP*TH{eq7s`~W*F.lߨi``CI b@H)ށܿ Ux5i=?簫=pAF#^v噀 EoW^|ٱg`5 _Jjr!BƐwPd8 |/4<8X>'i W]e8w=9Lm'f|*OI9]5%2ia}3aWE{I_qDL?|Vؾ4߉@a~V]I2r^lc_{it}>u_pAq㵔hHENʨ ۲?fj%<6 [_+1fp8:o'ݪX|J!_>KOo{]Cqc8Cu'HYOv;f+aa KPt}uҞ *5]IZ4 Ê9L'$[d)ޫ*1k 8+ ՘@x?N3ߖ4Лh^F;x0tQ>@Zy Q~@`U_Ե:tNK7~wacCJ[5Zdஃش:$=-mHCl~C/wf7{M-Ĺ ΄f".( 2$a<09I90(44wrZM7˼|xuF'eI;s qGT8ªО#H}^r?ۺ;a'ҡcp}fQ=TNAK,ROa\߶.fPd qoHa!`^~k╈Nt5){u 2 եź`o=>jywyTlq76U$p$7ڼ-5ٍgx;? hqKh:SV2V a?҃yJQ@ckZ73sxf9U ʧ144W~ ^1Gȕْ 1/[+¸㥪[AʆڐN^X*rJt*i=qc㍣g\;̈fZ ,55/W-dߍi 5f\iӃu |Lο\ /99.6tSrm~$qk~&eyہiBoII Ĉm&\ G?PЁ>DKZ7-<>o('?Ck{L8k.@،FaP$T!ǂ=ge}(n+07C؊$ ^^@iagZ!ޠD %XU?*Q] NGNNgB2z;7U^>4*d0o%b v|i i(7azu`>*Jdb_HUw;S||*GKCM|Nt 'UÎ\+{DCnkKh BAƿTXhVydX toD<([kC6~y~) j5SKxKhJw; mDǴ=v -N4]#bL0Cq nIr"˟:U=[dzCAVPU -{PKSbLn:s'.޸@u|zFTL^AQgA/o[T-RYO&r'B_6ƳdWz=$*m;]hG,>9"}^J']Z4!' U䜷v'ҐRQ_ 2w{N='}Yzdz (E$3i۽`Qhbn1)OokMgOd|?${[ Ue_7GI:,p *ILFcCp&Aw: z?9\Qth2d ㈥yfodi#AprJhÊ|~ɪ+Xu*kh/ G/ - ( {l|W$υPlΥ-Why"3slj):!dz ha^/g*G<uct ~Xv(xUb9Zެd~p t oM:C\eˬ'j/Ӟ*KH(by5βCd%S~c)rHI3xS]VLM lٗu tȌHOGݚ `fVy4RN:6Q鵊aY(~;#ůg}O[%Va4ҷ|룤Uo?$6<ʺ[X %i):1! =m哬;WLH*frN<ڞ8cR޾c?g)'f O;/ NӺDڤ#c6h3<>70gԷ\g~,596 TߨŸVA;oŀR rwvC@6&sj}a:S,{%ؐgl sX D /X|ߡEĜ)cc7}S#ZOq1:]SB`?-B&*_Zxp >zm9yq(og4.uwb y_3|hbVE_Vٿ~N6Fޕğ.@)zqG ef0oʥU+̽tNo!޾jLhSkE2B>pݫ %#^ޝoHAl̈́ ГmK?c3e. QiFW^ȴ3j:DU|fluN;ލe0`{'6Wh+כ.X*7OǑZuFZDM}*O)_pd捳áAJq 1uvFsŷ)}f 'X6s1q.}45( YRZtz 0QjE=D= _h|dM4ID{e)Cڼh.9^٧!#zQt1QN<8eʘ`{5s6'W)ծ4G3KT(L ٌk\:z6hu%BevɔD},#FҺK L/D?&g\FƸ-`ѮiW&ܫ"~ɠejS/q FvAqW( _8CR\\/qP$ɘfn #hOڹ$o6}ߍcey@my jS W\|8ھS kf*_kUi{j:5 {2 k%S.mvr|\ SZkjFwt WyrXxX=M󒆠$׷KvWҘ&> ,&s&rpugP=-X!$*;P[4+HՎwJ䏌^ WDV8d|4w ZB:GNB3G,kڣ9ʕ(}2`6@]-)G`A޹f ASBLq<,!kFY56-Fxա129xqQI.}}=9˨w k$*ͽ"dK^gy ^A/H=7e9̷W|+f1J2Mi"x Y( wMShk {g'4meEOb;V/)[xR2wj?+N%#@gdF%SzƁ4OϷq 5%AyvٓZPx˾_C)~K(x|*% Z^jՆJsނ)`IȤPiSNPEFfv$Ó?ԕ4xYu]uH-4͛XBT _+";PTiw UH>*1+.>(A[U𮿶etjގx1Й1W'3tE")z-k|iG^38?LIbI (K!7z-^.382K~xI<6#^r S.0{r(f3N0p2wve[Q6;qoM~E]9*a޵|U4-\ocA6JoX$vxqHcsaP}JH?0CeU+c!n᳇eJdH(BOԦUg9\;1 Ot!r!'9 YE> -w,Hk9`r˜Dmvss޴%"H9;/=TvڒS4 Fưsԕnt§6r!BIcz ǟ@Y^֙θ0{.?[Y}>{kh ߂y.CwJRkD1egQ/<9p~}Yso Oq%-j_gV2Jm=8)|{s+9OK dzX /3w$d % e=Q:CRֻ5\tqq`pD?I 1%>W.TZӒ̇Yrىt!œuVRK, oΘpۍ|#UP:ɢlC:mcLԄ-Rά|GM(Sp;e 0|Q+0ϊo+9 \~cV&)jZiEF晉*JtnD.}Mv֢1wٖ #L?c6:l=pᱨv'5S+#I~lf㯋30<{T(C}~_e|682-yzP\_;2<,>kOȏ" ީ릶k#"̐ӥGa?xÔ>\4=P\?J5´eo$Ih^2Ou>Z²%0пxޏԕE@ "zy r.0l+7E͸kgנWHPn.w8)77xZ̭$Hs#&cVZzkƋp}yـÁ qlZ? !ݒIxUʏm~_59qH:O.#m\SZКcmѦ-wIJފzB9LY;:d.z_*)-!,58ҔCzSO(_)J>CXǡ5Wt9b>~":)m4H,p)'gQoR/"],:/ 426֗2{?:Lv_Ч46*XV%''?qA}nІ*;>bp8Q(m&o!Gyo0 YHp<C^Cg\Lsu+ *|o4* 8Ğ3? 7З!xdoudO[kAVVa+҈q,"#540mn[`R My轢r6]ת+y[X ј0υQ7?a뮌)pnmGS*jmM K6qS@ YE ?DHO1vٔ:pJgبW;*&-8E {+yMy̑~hMMiic5n~*ZcF D<ߨjJ"RnDLzd\ pkؐƐX@CiFH"ߟ[7=mfTHJ1FFe$p@=0lH T~~ʲcQ_XĿB[w{t LnNP<֚}1ČP%d֜I>^ilR]*5TJ\a-+.P/\sMvV"ig y]HkC[rd㚇$M[9mDF?>l)N_qF19KRx2Vl͙MUAp>@wM3LTK3&m=&qĻ˭ΈXG]1ܦ:#)GԆdm|Yr- %-c=qW(޽$($ߚdCB"W4ǼlVnI!-)P8G: o_?%Q:N4zu[k, 3߹<-1'KX P@t0돰ۂldƠ Ʌglq{!K;c1=,< ԟ#5/%WU on$nh3{)SwO~u 1.@r#abmT$ybV^:MpˇQ̆g Ar,PtTˉzAՄR+s5I@=<sJꩍ5i{Cxj$/-<{{HDޛshMƬܙ<*(Dds3I']l@9j=3ʗamocH皍F"I3^(--'W`vYo(&5n<PG)avw'3;tm+}/X-|f5~7yW5cEДEՓ7JQK㿶t g;¯(fÆñ31K |XomdCEk(NL^~w$UI;b%kyqڟ4h=-y5OMr1Wx#VFeR/~g?.2eLV7v㼱G'WRBqܮO(&"da~ߺ#ޤZQ$27="x̀'IC>uyQ|ҴwtߌEvlʱxi)eć_qWML["y-mHo賈q"}nx]ߨLY}@v|XU/s+S;'G"k; Ҫ(~Q7phZ$EӧI*{bls"}4k).I)4Qr-l}+ Ez :\#$@gFmu#05YN@5ڗy}+Zxgqj@H&LއΦuP20"Wk, zlL4b&w_G9iNM)kĹӰ+e#1fhb}̊য়wh5_eȧ'JAm ވ r=ͺ=6 Ӯl'F1#Ne%VN5\;o|p;8zI#E$`-ZY;Drݡ!<-PaSF3:EcBߑҧ5)cQfBSd\{GS$}LufJ :6X橆ļFjLWiW74E7 qpTX3P_iᐮ|A\ip-+J(rz`nBZ9B~3HnWQ{R}mRb^vJ%"ja\=&G0o8 аMzA.tμpۃK Ny`wڗ*5 ˥b}"|?I}A4D. 8H1wh()6]wqjEZ^. 4,V4gD䍌ް%ozõ >yˣޱ)Xp:ޒ,{|t{ }`C)`? ^3Li3T&&%#RX1:9w‰/Ĺ#c λ|f8W5X=oxRC޳J[ EcsizOˀ/]$ai$V0K“g1oc较,7Z,JSB.x_ ᯱ;2 Foغ!TdlJOQf3.ۡ/H8*k,zN. FʕK }ms@D^5Vߛ91Fº_"37>- "t]gdo/\">S䎫 Pmho&'Y>f?Z|3buVՋ5۞QK?o"vQ jOM_8;J@Du~32޺ʀ?c0!If"pe9;?n ۯ?Nj5k|;@]Use\ZTϥnlO ,Q́bݪԟM!åcYD7js>YmT}?o9R_(=yCS,x28BJa=A;dVX{$(>arTc~ס'C7غơFB"F jB!M1\ٟQUU,Yۋ`+МU JiK.fARDw}Dnv;׋fUpR[? w +$Ɋ H'{ E%)~ nO"(dO[ׅ *'DrXcn]GqRKH"-nD{ (C8 :kgiT˕~)zܽ (3nS{X QQVonM7YG0o%KA>H>g3C&}(9*TY*%H7 C5ڄ&ݞA' 1T @z cGyEx< L_=>9NW6"*m{П&y sopup[v00AV^L.wRf-Kڼnry%VGbXX&@@*(FJ?c[cy&C2CZ"׬蘝\*xKH{H$ǖJD= %Nx?zQ#Ȋ+Ueٵ>.Jq._Zv,dF%Xfhǯ @sh_nKBio"^Is%r|u!έJW)/b<R^ak':nWYe@x"ܓ`(Zd\Xv_eI-[?R1 >J R]=JU(^^;g:>ySl d_6/_C9\1`sr+ "؃#)fʙV* \A_gk(ϥIqV!F!|K!]^ĽfF2n^$ҧ㝶[ ~VNaBʾD.R_sO[4WF$T\?6""O"4Je"mdA  -DswtwF>ўiv:_KjԭJrRT齤SoBGoӖIq\TN&JƠ!r?_j&A(~! ^2dDn'qњQOC2X`Hꊃ#!D:X@X_'ִiDj.q+ղBA r?ڎdI? Wv F}Üj޴?y2%7Et7[#y,C+.6iPp@Px',?7mg9Y ;K[e $L؈_ϱ/X# 4eΔD2 Ъg\5v|Ec)yx^QJ&Y<24GĘMvPnjb_ يW.rZY#b`|wvFuA([~r`Lql,d e5fTR  , K7c~xv`(K:ی?fwVD\ U>Gx?~m<0wNͼ[d n_wkN:"]R⨯=q\?[-ݞL\Ac =+;yVN1ϫa2o?} rORIEY+M R\١Cgvghd=RJЏ`f gd[ͳQd}BH!h͐\*4N֓{}63yi\]pLw,7-|2 o]jY(ȔH |h@u%:eBlC2PjqP`8&wG|lL prԓy1!h64$ YԿ[9J,njGoA-p'h]xԦO8:Hh2a84V^BP4~Z.@`nPyn윯ʜxh^!Lq(1hxn)IMGEI˯Hg,W!^^:vT`΄P届Y@W_?7Ph ~ϑd*sku`O._$z19|,Tym毮Yt ߷ZM[#\o}n.pCd+fKUk,M\Ώ)NW0 xH790Oå׬*H} n+/RT]vV *[dR#,do,4V  +Fa]$ R)FBqV3 *:2Ҝi#v}hZVN{sI\=]Pi0^3>:yl U;8D@>t@1V,R3y2UUZ!W9}Cҁk9zύ|-fPf 7( R_q?4Μ` C4vXswR Gé1[vuzTDsU jZpg؁>? b6I1j?e^lohUU02t NчȀL{rtm=VcpҾ(ꃣʶ/Ki>bQƣ9yL:tM(}#ݺp50;9ܘ",jݚX @X3-|(hwr*3Jh}Y pGT58Iܗ_&5:X',ZwyH  ok.v)S H7G,7]ICH%WizۡP ep:RgI}UOZ1h1r?$ʖD o@uÄ́OQQeO s/x ^ILӾ P?@Ǵ4{nLKn^Ԕ~>P+wR!ʍ 7'V09R,).hğ*\0>|P*8Vdp ^ŧQ%D]9h؁~m^DpFb5e{ڵ`V>'"0+t#=čo…ó ~"lc8Z׏|M4 qTy|Kכ_D2gMv#vY5 c=1^@& qޟ0r--WmLJ )5pG6'QWy {Br jљ!U؁̠IZTI]|7xW\d j8D~m% WdnÈ-۞:,vĔ_IڱW>]Vxl 6 ۷asWԅRnb yhs3mXd l=&1 Q og9rg"bJ+NYQ C/W0:@"·B r~Joe˪$D{ˆpuo_!5 _:t)vבb <g<ّ֡yF U}d#b(T <|ǃoW(UM/M*6iu_VbD/F~tMǕjOIJJv xt1GVQv7gA=[OHjX$#-2\%pim6ޝx 4AfNk HRYU1{ngӡjU Qӿ0&|aZIGFWv\hCKo^Wc0{+gTZ9m*}煞e3e̘cOZf/C~M}b=i%:MT36E8EI/M䁿p O(\Y- cx&˔?>ՋW6E_-9]~W۪Sw5S)BYY lrKH XΞRQ]IY0TQ_[aܔ8^~fm+>zЎ/i)ʈ`^r5`Hp%~5/Nb-0p( oebwֺG 4m!ʿ|zt28NvrM]xd~or!ʕj}}PBP";Ҧ-t8k4y!f-@C|,]Ya p |Iu]o3hrvy}0 eA VD f`[ؗFhÇKdn2rJ!BAJԜ `E䐣,m T(FY::O}J(&1/bmՕbӝb8\;~.i(X7f #՜#ebZF I|-486ߍ66+SXO1RVޒUX&2 }f[~\e-8pPNv{h!$?J{ 4ZʔI߱ d)@cE n/a=c+w(\;o&^XU!a_єm8ussBdY~ٓZ+!oC>Rr4T[9}s\`͇I>V<5Q·[~fNC{<Kƽe0Ҩ2r6zbn'dk߫C!_c 12ntr4ZקZ:h?4 /6F6كK|dH~r# O|GłFjao*$5X9q|B[{ }Wz4%K==#>/lPP)_LGI5|NJ{tΟ2wGV¦i|n^›TGBk.hByE'א9%+LQ6>Eԁ,:z ]bHok{RDzf C\'\˟t7g 7Iz;,L‘6]Y:JvnïaTeF/`Ă2a[GuGKT_Q"Y>68A}*2HGuk{7 ^$YNB (z. R6?_b|?ˇwranZ'uwV[7kB!@7H8ʅ'T~dUQ' 3X5q93!· & )ܙ VD u}haؒIx~8,`b7H1Uν@>/*pEx9GO5rY.5Փz&F>{5tI}Lu67hU'^\[w [?*T `zcj‡vSte}s2|G픕BY;_& 9;B™sW~ =I^5D׬qؓvB_f0Ŷv-~s pu,g!NM\uX֦G+8 c*\MJp.Fo\'A%`j#r>NܸDBt'D{i}xoyEk$qҏ\LJP4KmO(XSbТ9RtƖp,f(ZgA49V-Vk>b"EV="ј [ 'Wjp8_?ee=nn7aODrͣ|B~Dwj]IЩDuDqaO `Cr--qǙ-h`R* S.~.^b/9%r/=69.&>k븓a&dS"0CW?A72Z쫚RcCY_*mCeaefaynEҗDJzoh#I=8G6IȻ&`p WSS^ϓU)"7/jN g ik0zóȁhLC(?ɌcM:oNnuYJK4>0CY_GpOxUl{}3' +i5Ԃڏ]*}Fuy}FE,p>Ji??})D"c0ׯLVt6=٠$:37OBJ-}y̽H$8`8qYYo@Mkm`LVQuŭj_ !6MSgOB9 HսM/&$ݽ:IbiBH6;5'f'To$}TAc$ȞH{͓O!8,fߜrkJdVGr]D~"$$N Qf/CXYdt}QsM‹O­Lc^\+n^7ewXu5b|> IR%*w_N!_{* 5~`1E;Ou_,bGZؼ#M+۹؂cCk$Qf0_(|lk2^6`V̐dcr2&s}Ne݂t(@). V`_7S3O ׂH[/1=Ps#K +l:#A`D $$< k5Ϲ}#n%Ę Wj|?܆y}ɏg.'Po+3"q 7;bKwkv7\(Q" ۊſ}=4VN"YDor6_Sn ͯrtnI&oJB2MYNXɸ]K-鮚5O{ToIqk\oOYu9OirN&dd߯D@RDTi9<Oh O*CJ q#5rX4΅Q` {Mcg}1aPMث 2deֵ Pɠʆ7~ﳪJrM.A1׶tl"ypSToщZ'g`߈d>DrGIu6~ĹESΓ\[y2ͦx. nn2HCuuhSy7Ƽjd..?Wx/N=7/4,!N[#3Rg/@$kk+Edq(ɥLD&hb" @JXp fyʀ ȵ|璞R#ao gTT D%#`z V] 89h,R'Sl}Etj8Nu]zSia@w ε+N!e_rџ\GE^m~萞?g$`ˉ2ܬ0CC+懧=i}M#nͶE{)Olh%9}+-6ؕiP>C&"(E,F(٭vlc!{v4X]̜3zsiJI(6pGn^'BӑŌ^swpww(7 #'!,Ұ^=whwHbnd nb#9T>)2:ri]9k$T޴-0=H7)|ىܹސz^#Sa> seTȐ'f_G߂7YL1=Za]YǾk/\pLD>zp}Ҏ;i;Ay ~мK{gy[}/#< z5zq.Me"G$~zf] HV{_s7vDHT.' a.vw815ZÐ_IN(2bƴz4~ob6 }3i+R3%)kҜx$_1P( jti+p3-vq}{IBRy^fcG=`kN/$㻡 l՛ܐilvg22:ČHCɁ@6WJ5{¯&3&,tmqOZJLld4YᝢoYGG Ra5\l0` $Bf/ԥ*A+_[WZ+g򤈑'^\Nr\_񧈫_YZ:Ŝ, ,œJ@+:4B؂XlҮ Y۞` .0#h*jzd(zeSơcQ< ![}'_-'%r%j_(5u߯Ky!ziHiw .))1oH2Z'Y.{Cטo;d"Czq}9!97^?f^"fұg2R ˑƃ%n!ى=NX_wbΝRZe(ʶKޑ'<8C Dc;[fO}@jf3oƭvTtJVInq82xi֞aW o<ӄ> <[bLJd9/'+Ncx |#sJܾ.{m/y>J@I1Tф;-,mk8}y%ȾF*poPŦuag`L_5>fYɧ\DFX0צr1'zӊ%um5sH#wتQb)/`n4XJ|SWz%*ۉKD4 1l@n$,"E>IˆIZUuzRU'vAar q#RRiH@G4\g;gD2;|==Sb|"X>p>iq ERW(V5gc^GKkOyle㞿E|zq@O25gݥLпa?>>@[b=$HMI% x ]R|}ߛϽ6,&!Fd nQRhF ` *ؤxvȇCIi=!teL4[ ̱oÈ cVj7I؅xHCoJe?e%Py]@m/dˋ]\J$˵ p<HEt~PsEł%eFg }+CF6 _zoG\\^A&E'mX]\GVY3MaJ_Oj{quSAGpPW7%H ?<6Y& _z6ʺ5 s{W#7n\bH(eԓ/Ct"\02\%}"NlE5JϤ:HS[9NFSޗG5'I-B aR;wkQqYb\"?Pn%mzțh؀,TMF#4ݖ2a Q0lS @/͋fU 4?mS>H7^1bfֿ5Ixfa r4rKt%"`3`##Er5SIIOQм:":w yV5IʂphU??aV&V_]aONُW[_JfoXې4iӘ8זchbh"Aff?8`t%o gpf![K [xi-bC2QR3Y5R\,k ܪx 3V3]Ï<_V?G)js)xM<ɭXey3M uVd%a)n/At"(=J;&uTv*c˽V8HcPrz}6~|(9íid#9tuo9'/F?<{ zR QlhAU 8{2MQ&Tj[%f! *~715892Ŭɯ4MLq@4r̓}HXz'hV{")ٚ|=d5KV=<`)#N؅0_ai="<[]+!,|2iu.NXZ_i.pl9 ]YE~I5 |ߓ.莧-e*U,Ơ;ibWc܅`q1Z/'_G'bkIE6=UE~D#"ؐ)Z)( :n˾R+s%Es N7ƒ~f$COCCyԳiPP"bQFpL%{ =-17D;|mv>@[X;79] ) ( .T熕P$qB abGjnn4̺Ίּvy_g^[UT d A~ $iSRŕVxlLg|xo1?0W̫wK5E+̰lzK$XD;BsWw!RQ4Em ìW/$|-FlH MN)?K;2WHO };s*Uč,Jjhf`fX1vn5IȨȒ3|_12/m$g6W&=r%@m3S6As~=A*O̹OjS8D>w[Rdu? V&K=PX$(IU)k t*b\ ^t;iSyr$ʥQ1:}.'7)יsd}_(o~_ׇ@Ji$or&3vK&2?\Ux]ueދ +k<|uU_jT8>"Rgcr](i/;^VѬMyo w`$¤|])ezH?#Q61Sn?_bڙNOJ_ʹTm+F_9#0ѡNRNFrGa;VvH]1N̫Q1?! ɰ7 S*C҂bcb!GGm&>;S͏np')~R\jP?lJd _90Q%MU( -|( æ?k u1cɞK=R]G[^Cٿ, omKEhG-5\ vS)o6<]Έ㘌@6l1P5ɍUNSgPLl?/(MFƄq-aW@{`*rpb)ڧD4޵!<}i`;s̠K3Qm&o>5=\?tݣ6)K^Y;]+p{}-GX[ S1#빈A9,"Px~}^P ]5k{_ݸb Wd[U]wI `5І羁f|s+MGBЇb܅́'K*7Ʀi̇Pɫn[N}  >f( (>&wp@3b$'=B.MoT'Gވ"Re$GVQ,qOo,Sp8X}%t!_:V9k3d/. =*wFHŖwbw[WbάO1Wgs?Fס?M?K?>ƒ΃?:7)^kPun>.O2+>4˒' Q.y\t㐯e8[;m3f.wM9]+g6?*_S<+B- ,!Ɔ|22vbQKЉꋶb ZԞ_xxԹ] Pgt{*vDMV|YAO@yhxǎ\t6䦼te 1AgؕK+2e[ B'߳8sOl2GXQLn1=ce^K)I-/dDkN͠QK|`9EFzbFլ;ZӒL+2K@{EQǾϻ * QDMj gz2.*Mb0mڮDԒk>\h̤C#=SL_mXwXhC UjF) r"fNfPf39?RsU㼆U@?\{ ./ĈL>kC39Wlx諪xY7O<-䧞S}J(^DCXOjHMUj*nT9nF&ZrRkWrfݧ)J@My g^F~2+E'w}63H4x^+]}*x,/\Gn 'lTj<5oB$bbkCO251fB#vh2gb.O|hnF5FyM3?;rn%wk(9NnIUwxyeW\DۣVv5)kC~p42<}]vqӏLdd&^QYx}G7Cs I:g bSg*(]Gx^C>;Ipp/kǾ>DQj9xHU\ $blDswC%QKs_q^=pͰ S^{a[%aRɱrd4^>_.o "RiG7@i#<i7ڪU]"|+sX8J f7Y}QZUjzZ^o!-W7Z:W<-#p?Hܫ" #c8PЃc@%&V(.9n)!CIo8#F+Ѻ %iwW79[J_،`{3S;{FdE銰ǓBFA|lWx!7!ZIAj|KyQ%1`pǮjI> ObkƏϕަG}P0=}WEZ{4(X̺Nb{Pru3¾F;aeLt%VҚjzcf͗vt诒r+ H, P7^xŌMm{wM; C,DzƈFo~Nvzo#3y?Txv (ATVva6&ߝ:r 5٬awb4*UȚL(7d _ISN{S'kS^;*Di\8THW Rw $*o1Qa?rz ّMծNB<9| ,z#wͤ(.`O/8=YھGNXU;&\w9!*)UZ$?Ȅ0A='P 9!X u.kdZ$UZv`JJ}58R '+xVqbp|[&!?p& A *ȩR'{a3\uꑈCI=.\m\zXVm6*w$UiWIe}!LTkiR+ P<]j>WIFd}pp~yWj-fdzjlw}`Rn߂Là@HwLadƖ 18SLNybr3ry&"ZQB(=;6{ ":lb)YV$hͰ+-n*KRj(oNEzpO1(->Ru_z0D:Z޴֨WMP橙 \*q^q炙e$ty:{ʂRxFV~t-֦Wkk}Ƽqdž֨Ѻq״Mz?t>U{ M!yWKh;Y70xxLa/C*R|m187 M% 'X"r,łunsKAr+^orN3 &2^{.H)9_'gbzkr3QcG!xIG}8?I =`虜uNcr-| QĮk _2SI]84N$e,_vC .#;GECPe J1xM&,uT 24R\2Jj[-@Ff1uԅH;gm|dՈيD**\pp:?GGg7Zq ÒWJ^Q(+Cl^Hr>Պf~ dTo45Ms\ F@BJjAގbVFǼ}kݳSEݯ%QDN!yHe]7;m+g][Wʔ#Z HzĕC:;k::jqYKE 6E0[Z%dS³>EV`$=Xk]y;0C@mo);>8b$z 5(a/ݬ`Ĝ{Y^kXPif)Z^e47Ogd\9CȺդ EbA0  Gfk˓-_WkEgY#RNyrz>Qu|tֵeH` *~`ͷ>j dQ[Dt=l )/uXBلoC5{h4jg"J}8ՒfK8Ioz%o%ɻDvebea3$c|5;SީOʽZf1rM앤㼓qA*{S:~w{t*0 òl$)oU6}_ N)9 1ᖪa8\~%GQm_?w_mB. 58Gg &^cxsy<˦k'puG=0XbR*]HϜ! w??kdK ^џ_w'a VK|z\KLl-,v-X0vC"x*亠>Ejufdm򡙉]N8zA%+-KQvO6PN bZs4MB9e^`\zxj%,/^IJ:J[DK8^HqsDW?Q @v1{nQ)ޓPOS]GRw+@W*M6]" `s  9| ^J[n㽸MP|+oimuOO[pGyJ]/ yګ#rO!Xzݛ/O+6Ztih"6) *҂t5B9K_FOa'u_t,mF?pr 9ilm9̆Πer!kd!Yf$XuaReZ5Ӱ7kcT#覂5=e !sv+}Be_aDR~IQOɧ8o[uGȎVIzVh IbY G+Q;dvIMt_,g\2iVH7П,abĕ{" J_؇?+4ZJ ʖ 2C0_AٳX]ػ_cKtܥ?dv2i'y g<!w 2c :9^i]W)ϰ '(^zcRJW춱 P 2]tAl@mcE,mxPkxeQ·DwdTD=}3>%zDW"Ӟ}]MXY3b>û9%@0C%ǯVXTM2`7JMNȱ2u,Z9o n,;”+_OՉqJF&SG)G, ~?`E7 ./vȕ7  ?VNZq/3{NTV貛? \A#eR#*=N!?PXȄh7zaz֠f>_A$nDH.3t<%9p&e _R߉ 0qS;h$ '!I#7~j KPxq~tj8}xp6a#~cmd ^'+" 1 ' 9IO$o%_g\g}|mu@>`AT@.I }˛$PZ~o n=pڥ-I 6Pe(Iz P~s"Hn &`_1~xI2dzM=A#{)E<4Z1f9N1cpy ъfáJAFg 8x/~Wr/G1ts}׍n|vu/U!,\xH:֩FtJed۾!"!vA-4YQR[ݙ5wx!J*Lz͝_ją[X8:%3˛AYR?;P+ൡE CJVV.1SmP#/Yp2hwжeYJhpAQQSC#D!;32oRoq8^XMnְe1ŝQG!n՟Ac5ݪ%m]Yb¨N٩B816m:*œP($2o[)͞K,½vZ5IyƧW_L\!5F(I:723_U.f_[ޖ/uɾRё7tԬ}2|wP+kRfo5[ O;l,)c89d=/gf48V?5~+&XnVFBFrP"IY=X 77| ?X=e97 @{Ex`C7󰒓-6V贔iL~M,RcrT{92>pĺi U*T ^IxҍT۹ '7ޑp}(=A{Ley"s{&Z,^,x__LlSط&!ݎ@ʘǴghSp{h+xDcXOD2u[>fU1ܙ /Cbըԭ^6_|.>YzQ*1E^}ǨKrZf"Җtp0uNMQ͗na2`Ld)|0dB|iNdts˷c t?t3I+(p0߀ :$Ŗk4}\sB"&0 &\ggW`Rz3xT/Z=rJ~9tk=w1_Ԃ?n"p"l]u7b*$LwGdB6xrk~ŮD+mJ燘Ҝɬg/~'V7;c: )`#vqEK┤WmM,7u+_CXl8`n偮 &bAb w)j So=CѬo8$UBOй]^J.v.#\}_&kSG$' @{qlBf!>מq[0眪B|eFw|0%2 = K/˖8< g]G!,i/O3%.{Ք>#yݿR)AyDAɇ5(]~ W#U JRLnžfMZ3Pz%<9}K-LՎȆ_0+"b-@Pz$ /0g^ڪY~' ?H:ǜq$^ }yVCq|I1e1 Kc 6! ) ZO0a.G8%?;gم+?މ(-ĞT]EU4[.8Zm4Q rQVALg?W; ,E}(.c{z~pw|m ttRWb=:Ł-9WU?m¹dWyjI3P_ΠLMAꕉxmN!ɻ z2`IF0QPKJ,a*m32%65PU]nA~/ e萅J857 =y<'ll x"G+Eμ4; Y}iGΧꀆ56묷C*-J遏_I}uDէfcR+L_WE?selٵ3%iA$l[@S)W2o~|+EhcYC}bK#dn"K<-EfRUu@^q7.Nي.R.opKb`(`FD=oH~n"eˮ7GQSku7ÿY5XЦ 9LIXbIb)[!݈ ^WC vhqKoh(0.uߜ!hoܙK3#Ǭ&yXxLBky~8ϼ+jt5u$-l2|k}Z{&I H&Lcp&G^oٜ&c4HȒ;7Y.R9"^'_oE٥4VN!eλOaT'o q/d W$6F6=1h~(D3"!KEX8˝4p;AAv:eT syQb0۰*k}?Gu]TpaƼ])1ʶ.8zbRȍ^Vf?o.ˤ恳h'-i^vҎ4k2{ wXy5ݞ_-F]a52@TŞ(=z/K6<о?ù u~V< jc+|w5/g@QU~ι$CXa"ymW^Ryr]q֩0+/puSRǎy\۹b2:q Ճ\u?,yR%h-@䯝sqnC b% !R34XX^؂(b BX @sTߧ$+(Ɋ6mM*)K 2dX9ُ ̰`C/Kl`Ĝ^=B >:lX}ͨ XfX8p%PM5 4qEI!4v,>Z6cz*R˶l]<-nuDl(_,c'jUilmt]49{p UAcrN#K# A8dbua}T,At0ROvc ?~[vSjVfJK!𸿽yL7{d+*#3[$ly*o5a飁"f ^ErP_p1dVY:B/WE54BOt,4ʾUnO'|s Q2$azŮ =ؔb):onreM)`ߋ 5ҽ_sn&CTL-^Ji4_v'Xa=Aƍ8jWx*e _|]C6P%k[fѹ,:W:U̅TR"EwSM4,5#S].yh*m! ߖ/W =ڊJW/lxo> M^"{ x]a| /c/˹ ^yQ IL5X M'4_GsmmوU ҃D>=99Z=2+p0zK/$ZHrr ǚl»#R x$q8ޛj4#bBeYSK,*r°l,9HX7C㭏>`;#C{B93w St˙ *3*ь^X:ð;d\D1}ȏ.'GQ&fsev%0ז^ B, ÿ1y)dǖEk[`sN Z5|ZW(&jCsi6V7r'$w0!|F]#ҮT'KZzn>&+$q.7ݵMwRbv Wxtw(S4Cty>qƭわ{0KD__U+mox9ɷƶv`&|!_4!~8gB?%smPS晟_At{-|ފ$ -6bcAE4KE|*@.[ŃĞ.?U{\mʳzR:l>#Nq9xb}R}PUڵ1o$z9J`q)_)hP|6ӡ-ܞ[毋6GEN|5ĕ e\։>4O@>0O6 fj-hQ*vk#\V\֚}lp㰲}ofo>T@x}{ @*ggp50tM}R!o Ӭg"G}!e*f@X+},|zI[cP;zLCB9H]\fh뷫*+3־L:M~)"L&7dh]vaЇ.iHgϷcKt}i0 '\~`6ZhYΔvzVl_#<6?o^zW&Gl˭Ih,ornR1ژ 6c R?Ec ?x{1>Cq"0~{ Iۦ1?a%~(="wΞJ1-h4RƐv(K@ Mz枋H#h{˪Lcwx\dw'(8zGdg+J;AԎv>yhvW38V6a/ "Ida_+I=_EŻ b̿$M]'p~z~+J( ݾe3A` }aF­g*ÀP^wq OkY b띣=뻋k6~pH/#a .͠zFi߱+0a i{gLa 4}cV2' -h~.I4Z_=~n. v(^Ck\C$\?IWϸ@FN"`yP uhHJ3Qe"bAIk.!fe]/Q[~ƖԮ{Sv?cWnbX `-fF;Gx7_ѽM &'Gu`{il,<ՓYQօuSrlRI(1%# .a:`yOy$nw=]o>\ĢZ V`gYJRvC ZJz 8+:1SEaΟհ, ` NVDiG D0CN"nxmaOAʈZ}•?um(.\/,yR#]a<|y49ơ]&07P} }dﵓ&?r|HD:n;ǣ{_kw7Z> 2i:mUt frߒĸ΢屪Š 銰B9d{|uR[GK:դG04@ jR*8pabu Zs͎d"lBmh&k_䝘#[iM Yts+gT?IX/֍̮%F[җP4FnrX@AJ?V'JsJOZ fӶҺ=N/Pi+ǁ܁@)M*= Ƹ܄A$. Ct'شr6b mY9, T4l)'zL bbz II To粎7oHMїb{gHP9k~Lz*fAG"b5&&cżL&&R{ϑExA.qUPfrr1B{Qf0 :=Q

&5>cvK "O ̢uvxS*mF5 [p27ϻw%%[fF& g")2@ FGpQu\Ro~ktt ~q@aa48 {{]vwp{{gFX)>sk|o1ޞd٫K6_L@8]&ߒ!&r6ݕxMxݗhqZ4h2[Z9 q0EL Ek%g9KAׯk8j|ij.Ac agHMi&gshGhů7c 2G1:g{Vr+ qL6*T$+uE9ޤ?P,{ Q !Зy0EUzrOn#kOl7pAk`X_C9[`ۼ4qvrl$꒼oDerabL-QW`>E],0v2kLt(&CuU|njQr0 zBBsm`?%Y ꡁ55k3Ӝ?: ת oz~xE 0EiY$;/hM%ggyESCAʢfQ|qgf;Glsw K@sܥT::}QIg?3+6u_X̩lb!¨^9Jk#yzpow/DK% 0 Az1h18+n}u|]A3K}ckɶKXp+}#_c80Kuߝ,huJADa;y'c봗O2DAf]wP3H]vEB/ԝ~/T71v]ldEOJy7߂b]iίQ si=c8[єW} jlH3+ ׌4]1hBXpj09(~kLRǞjOc&rգ ,_J9%񈖈  Z{8v!F F7MuJЌq}+m KTx?S~Wpl uDxmw*{;\s1$0igfOO廏, \ G3.vhf,;8>7?r[h~ nohcvP5i4toL.y=;TDvC8f9azGKW2E+Jn c^SAG֡;-OyM@7&CT;p cđOH%mXw=_ kT'Ү}(מAY!˲jnT'5k+fz;ҟa|b8qQziYT^Qaz5+LNdAGƒF0Aib>ǪZUHE+ELgRq53[K dvGUE7+vNď^TrGQoM"|R͕[  {MBtÙT j^e;_bxD(``罚7U/iԓ핎}{~oԾfh_`7azi:Fr^)rT"`T:_T[җ,T=3Ui**DA_`̑Q! <;6{$}4셚N.UU9EvHpqЋ)9!śrBP7ݑFϋL3{Nnx#PS ȍp%}o9LyR߃ͅi7&%8 B^\Pl/tN+uqre45*7}{Cf8r=݉rWl /X Zp>J< N8/"Un_:`kO&fwhfۮm몺oܓBF΍pKhTvÂ(Q6jmxUKްTBHdD ]!Iǚ8-ș0-4OBͰiA)1l>m6S~^a/Njw*1 B[ˁ'+,E!a$'Y.:=Ͽ=ܮw 4Pb]m>H yEq]8y",۳͉wڼr[s|iN2gql߄a<"\ ?zc799M}DC8ҪF 796~-gN_a)뮃a/^Ezz;?apX.zfJ%@v.^#I䞩j5pxZG!(VbE,VܣLL{V?5 +SbFxvh{\&yFF +3"MX[pPpwe~a#_~&^nUB{g 3rH%đX.^cFh_eo/X'P=*޸|4TEƎ瓖!Ǧ^+8fM?8/9s1+">'1m=HYA"p>9>Tx7l BQFGݑ&̞ߌӒG&8;]V/$4+z3@; `4tp|Ki41; qqɋ k8:B,G2Z>3Crɭ,_į* oſ#:Z7ϟꮗ/TeS 7Jq-p~C Y"V 0RJo}sNǬޔ=L-qeL#3vݒ.!+Gq,l^2?$"~O#gЏ{Eg58(|p?M"Aʃ^^(PQ\zRC@FNߝ^.o J)vUD?$G갪6M?CTABQHy$A:/٬)7֠/eLy'L(zE!D|3w%ȷ߻= F1CkY_%A_v*Nj}ؕS" mh]Ok&+y_lg ȠD$rАQ/S?6o6ڤk;gT^I p^䙵G6aZomZrcmwQqsקL4m3*ԫcH6 |SO6 8DvjgΫ@6[ʗWF]vWDBрD*g̴A儺OenYU5+D%WTȮ(C]Ke[J \ֲ["6H > }L`,F?;r%_!7ss+5]RCw YLSڃN+T`HQ0r slՍ}ڏVؔYq6DC:,~sT-xz 2fGGl@N+~vgH`W8b&9#2m`ӥn)XbrYs 歨M>RtX{7;…_' i楈~GZki86UEIC3CT߯!Hy|1!\>_{N:˺PQpZmѠ;"+YIr9תR,c)hs\PT;/UI(GN!G_Î ͆]Bp'[2=^bQO1Jx7Tea|nf,K]p<i &].@c4q3͊]@Q>$pp:1;g#y+SN7q2 k3(V/teʚ3$!SK5[WAuJ,s%5^{9ƅ LMm_:w2F@DJ3Nԣ|QeN62`nȌ F#F*Ub\-(45#Mzxlrcs.caYH'<6{NDSSaG&4Ӽ߈%Z#Vv>qOv5{5"<5u>#ĸ~Ah`ep;)>?W@ ɉtXl,O[4?5. @dR1t=798UŊwg#'!\BHXk,HBzOCRmx bm;ˬ):vە„fv 8pͯP =!K 脪Y<y4kb NE%VC R K˅[Q,20wofL P~ ,j2Ɋ1E4]+GY*OiS ,E͕n6~^]6hͣ?ԸF\lpiZB)l9u@4utVQ }տ 8×\ˇݏ_ь?缽F)"XƟAr:;rQ`g4ZN4gͿE[{4>%4K1T_WD6@;8pif,o-nbґJu>ӝ(I(NP0)_c :9o|B~R2 }rfvC,ǖ_9!9gL1$Ͻkj]R ͗Jq܅K<˖S:Dh~tˍXC~LDoyqԐ- hfS_7@Pm1Z"/e=h^儊 ~WdUr^(+̚or o;wTV2׫0Rpt^x{z0RWI㨮{ wemn3d Ìbf"=R2UL*3/ }͎?|'͉N&b}P_-3]|RMŤ^lrIfSPnweJKo5||5Te,Uת"iĺBhtp6Egw!T1Y~]"轲YZW:پ,zjmZNecU :5J̳3q-(jh88ˈЛYTO= s>?CVz9+[ݑuW?Lw+{6SWUE齨gT#بƌIxDw!91a[_!@הxn5_ MI,uDdžGbGm{.Sc E[*[O3 i'bɨ2ia܊_ȧo;XMWӰ*j*sy"܊⬓`DM#:w{zNHOSE;My %>RRU$lqoq-$*ޮ;htR9у{km=qnyaD,[cMoNzdg)6WA{*9I 3: Ʋx|sw&GXk~ s@%ؠJo%|K^}Yi1lB<-wdÉqdta1͗*kY3=hEn#_m!wChm{/hrz' "W͋d6:_b_²]F5e⏓x.D+7= 7m\PFz"zpaRP>2xFƮ.#HّpW#T#SUYdvy.P, x%05l3m&cW~/zQ)Q{o}?2C#zG'[$lR >x¬pxhƽ0f ,>g"œ)( IL Oz0yr@Ii?6&ZST,̄%6wdPִN 1Kt*8{Hq,x#v9C$L!9e&tOZ}f-(%FWJU3HcܡKǥha423NsZ CxdG.:L4!P = g6Q}qK|B#SKWꡤvP1? <#\jo>q^@rti/$$Qi/!J橨@F3 KW?>?ǯ/ͼ=S*$6M;Tʤ) !@hVX>ۡad^2$)_oW:ekM}C.Ej`="x=hĪ5LuzqvkLEA)j햭V.w%gh/>: ҷ9:HZCbuvA]SvŢ/!Za9aGM"ՃEW&~?_ EgCˆ(yfa9_>H.K=7epw񄺺R<-uHfwQߟׯE-B؇BfJ;D)f}ySu9M& }K] ੿Cʠ%llݫSZz g5QξBA+ U~L Ӄ{UPo*䃾*CJ1$v'GLn9.QOgi{Ћ'e(G4Z F5Xq]64hS`9'[wj82Fԕ۫=ԥl ߨܒ.yLE-ٵ?X{Z)m)>Y|!|3cQm1urd~#QD'qN]Cp$]!K-D47@5nq-2!ŵJX2RH|50ТF}ۓ(~ka[a\mc.*N@+^3iKTǗ놹JiYeMz M3=ڏ-E'xUim˭>B!` w8y$RHt $@3fX\8RɓMc[{Q:%4b~)`S._m8C֡7x4MUjQ+FZ !eLz!y#{b=m8aI{c>~k3.Ĕ-& cpJ(˳¼䩜  QVǷb]K޴~(Hx3Zq=O_"IM(7Nb8fȎ*Pzb |YC$>d+wio]ʱ<Q=^hʅ)4]i~cmOT,Z’wcF0o@f)hC7n F" ^PoKݢ7fâj: zSͣ2uL,λi=#Cvjo=eQƂ bc=uĖytb.%kGoj}d`i?x~U`x,Ԕ$j$lDpo0{d@g:չXEe~V4P7nz豳r!OtuWRP_,7V[Oh"V?y :#hyFvʹ oi݁`_QÚA Pwr o))U6812 W>ys?YN3H[/~3S4+/]A |8]>SLER0^e zt=o@Ak͜IwD5̲8k~݉hEFtm~ !nswGLBck{w-v'ӧ-`ƳEm{"Zp;/;DJtLk;|+JR5+sU"gfe׬>ؠc1{wb`,ٞ%jݡ=;r*߿AA| iVcY SH^>[pzZqsĕ[LA]L*Y̛$PmWɝ&/LmfeU\9: OÅ$,Hh  Bu< nYb))]נuxsfDtyFx cXI捴ᔿ[ 34f]ݨve1`;L3t7VK9~?Ry,F.9GdGѳ3hƢ 5BD|Ήv|篷xǼ pc0!{ԬwLx;(> ='9Q@oHw`cヌ-3D LBAy%nMC$:pt NJ *(^<J"w]r4uo\`y5Ʉ>_Ff][Ѝ  ))w: m>symSaBKD2.D"]c8`2^~_go-Jr% pTjGg@ʈطr)ƨ^­Wy>i^|,ҷȦ~f lC3ĮmBvW+!@:x#EJ1>fσm_'c4s 5^V'L% Io8K#!Rp- ZS7 $5#䋿a^|գ#b4hx*_9 M$M4h`i^/MVuY|z˱R)"_*q|ܴoؿD2'!=+:pT?Ɏ;kd>r1/`Q6Ν}}NhbeN,q7;u3O.30uD F=Doh(~_^ Ɖ1Yw08c/8Q5 %r&ѧ݀6Dsnk9%^<<`a_ݾGXBQn #lP3(XWC#ք}Vk~<}uC+ߢLPG4N]ǝ5W#ICLη]PD;BJݿۈz>t`}^7>BnCvivxe ^Δ$p$ETsi)> LyndT`DΪ윲,t$Ye9T,rjoȮ—L`FcPѝ|xBޏ9lx.a,SJmvMx [[A sAyA[t9VPV?x,QLt'l3&rWוֹ`OϘ:*↏f)ӻT.Œ?Eugyb3SC>|[חa|s8n.8#kP#`B}gwQouFc# f^X/j"5?m+ &3hHD&ZGOz,(i=C!usw]&NvQFU-лK k>p]A?5Ԟq @d8MC]kS6+0}_X7l6&)xstۏi:©P3LǣV?3_h~J6 C J5,5Պ6",1@XaA"fٚARtFD6Y)1PR@ӹH5N>Xɮ!@Z4KFTRd. q>xɴ6(,X~ =ᩤuwV~ah& zSQLdD_(tɩEǐ HS|H2[gRjo-kX`RQxלA <xrVEax8̠UDm}~O:ԥ"xLŗߧ8*lh; |5WYq6RtkmZ+nuG#,2vؕ!RzaBVC9J1p9ވZi/!wJXwo56*W)M˴qU}NL/F t~ʞttyO(Q@y_7 ѿ&.0 P f K'x~e#wL'eYڏE؟;^f =65Vo-3 7*|426DP;[3z$ؿ#ңv^Lp2p|0(s#3hS{J^E1||COZ>WrcpE>ϛ_`rRhݼk3 D/P}_,~ePDU MIJGֈta~p^d߉)c'ohcs/I1}ݼuy9Lk-RKcaI6e|ߡyQR= DQ(//=&q}77>*^vR߉ãub(y D9⾇} l_?~ /yĒk_ٛ[?~Cwʦ7d2 Jd|ak9P8P[OV *|o`{YOx['9## 0%xu"ň3=@*S_M%=k&T%L` m}9s9}4Yj<Qn6EHcjKi,xϷT#vSd`=TllF~d~/ZSD$m+K(\tVak HI x|l@k_KΝh^"sz}ܬRME1.׷Lk#+e'C_$@e}9)veAD[DgmKc|#k)T}\Sc̹q24=H4eeX~dK&P]{~zZY :/k(CM0HG St 2PG^X~FKDBJ0A')î a_6+^16AaHθ"o J4)m4i]spz%֡ mCɠT<g싄= KxOTFiPb 8h-~#A\T]/8QNT"I =zCzE;5}&W~;Qf}.l2j}-fx@Esfgz dP?yC_i*{;]rR [OeI/Q; !DI߀n,n_H_WP$GF{2eLHf뇑}=ڋpaZ|۳o I!bNJ{Cm]BO8Ŭ>g}@)Q 9[_p2s/bRx[%&dozfeN?K;X|XO04:}f=_*~K@i[z w (X;Vߨhm 3|QT=I4 Y u|nO_{Jg5Ffb[gpQ''7-SlʹU~'붘=5,R%@ i~`}-&rDpZdaȳ=;uÄ20ǐ>Po Օ)%ܡe^7SIi,h*Vu 06FىZh| ;Ỳ)X'ܞH-~k""I]5ݒe['wcl2bTyhFVIx >~ט:8: <6ws?GGMf+}>e RҳCU\Jqw'D{)ڻPz ,e_+eP|Dwpo~qGo$V>r=27!UƤg&tn>Ug ?CIL3 "oJ0Իx_ 8$ZiQ.9Ƴ:x@(7֙pc ~2O>k ܷO&GHށ()SyyA %$EK?ʴ7 `0{!ދ*fs=u➇oqO{tQz*Pxa+[:p5wt{,.VNY0%jD3le~3h~2UO@9]^X!Tӷw[c1ugU6sUu ?9LѩܔZ4|6˗yb>@ȕ~ J8$ǻy ^idgDSY+rʳwrm/π>o#㳎ػ!';f=w-ynoJ͔w0URIJ`)}mciKKpӕ_CMp6A#-ܡ R]$|f BV@OÛ'k"~ T[V[HtI˧Ǜr_ڐE> |֫[@|0'>"2 aMs )ғ<7ߕkǰE>R? ċ9Tlfvxss0֧Eq9*q'Yq q/OA4=u37K6q~t_yь,pC\+7P[P&^)iy/6=:ATLy>Ϩ_ Āl&nƝ& +.kp翺+n-x|@!>(,/GyoP/؛6dkޅ2.yC>pMf%JT~'̵V0_c^N6WC\:\)]і8.SG;$[i6RK[“r^JcږN"7|g^=XD}X 2K/x;2BR96KM>-޾cnGP|X; 3yaJ?cLppDG`u 7,p_~fٶVLD #6fD_,O+cè?V]/9k/@'h Dυ5!$ !/ }#G3]vvM/܍-cͺ^U,\K mDtByh~EǙ.WN}ǕƷB"VkN$bwCo#z*%ڐC6tʅ@9!,oT!?ˋ|Əu ]dPQ]u6˨py?1&ZHYVq7c k1cҐQC8cK3%zvuaaWcE>Zv:LFq CP$ ZɹDybdaS^@\|] #r%ӑ){FLI{{0|.$^S-c5+`3&A״Y+_nQBAmu* }}DC۞RsYh HG)<͚WSvV(cLt&A60AU7a&lS3Vs){090ˈ ]ͣ역.95,vq<DnHZ7M?^*5uIA#j3q'v=e S<LT:Ks!Φ "|ggnL"2wEX0LxaeON.ܧ;K}QJq,qITx/}j˓dTTomB&Z㱸k}6rÖm6CTѽIbn] `q\؉G(bm[|/%ARjj<3|.$;]131t$9F 59Ç0hYn@^Am(W˓8U"ڛnq:9೸Ds'"E"jO^z]4F2XXj)(*+YҺNQtXʝDQþ!"COD^z\ 3%=ѐ=}1 ^԰_#/~͈<|&--]<[اhAb܉--)RI| rgc y`i%#Xvr5a>;;kɍ'lb!,S~aA9 vs6y;,oG|-og:f\^t& Hfg\ćii Hi+1haM=ں8~P[8% &2qEpO 9`Lo.FTp:iWPҷkR FI905` [^[k%S> $5 G|xIY|_ȹ眏) |i2st /X(i<]ta`k,$u{J$ғ9qF 3罪Sd: &qCXa׾E=ڠس} ^>%;ܼt{ya z|{7՜%:h<5Fok.o% 5|̦)A SЖRZhͫ[tCea7#7.D٬. E/YuDLǛ&Vl~KYHVܚ%=fI#L9v(HkKS80KG|:'dK1YNø~>eZ)w 3j@>iלh+Lz\7 Nп8Ə?hD;|ۈlgNohb#jWyu\xەG>*̙*8-|qTdn3gk%U;j6aX;s OgԅJ<>eܮͷxU)x yg1#w?WeO%U?qܵ}+vcy<`Oٴ@/ y/]]ڲxy(YfGyF+1bMiXY^P{=KEȪXs\C=i?ҵ=< -3t|=>117 S1x/1Z9toZJ?#vvj$מ::[Ν)}0C&HuV~NQ}1^Z "1bE1_={&{ ]Oz[l azOH--l<n9_:=``T( GsAM=(TEB&*l&Ɏ[~˛-и?M|H{* ,iL: Ll|C*3ۏR*^jt:<C=?Nq 6?9Pk^`,jϮ*ѢNĺ\+mt(9f3v0['2ԹZTuISBhh t3w'[&e& YU?g8'^ 1}޷b<<1rԑs4>cU1wLwK5&XлQۧU>. ^TJEMDz;MnqC=86Ov$Ծ;؞Me7I|ac,GPΕ9 wA{Sp2]}21$I⻏Lh0u[[yz%d,oc;-zEV'!1+a4{v*o{gк EKn߽'`rw;zce39ai3A[=Q7 .琅ѢR'yǮ8N "˺ {@!6`q4G#C]h2*7Ӷl2k#8x:QT:[qWt}P13ߎݥ'rl8^w1xxzC].Q9&tIjć֔j`9 ۨKJn^νCD'\I4$@gOIshP27G`/i-(҆>OJIvzeI97ly h3`-2TTMVGߦyҟڏpiF[*oVpNaŎTʆPm(G|OaU~mHv1]^U[ͩv rH >v, Z?pI `O/  ֿ˟ߟq'ϺG0+y˖%~^zGqJ8nH#1 b$x~~ )$?=Ŀۿqa.^j0M7yH-F%h(;0?zΦ}ud3}~9ޗo?n?8|P5ao~9 C~G|3 #5;%+jd%T`MTb??2KF{0;'o"2Jh-`d^͓?3?2Sy=7O{` :E/KK/qeh,#.^+j%??i}8! $N%_w$~*'ύ$BNǗ-O.H%H_{<E_ ?zp'׵Ə?5b`N߿fTƳǨ./s0cOeʿ=1/ddވ86%J#S>]H ?f=Ӆ}zo=Yl/fF4J` q^]3dNO^@revߥCZY?g)2~^NU.r/s[ Խ%/B;+9 kcn"Y0,cI15pXd9FdV^v_a &6 *vڼ͘cOC/1R[]UH$P\Kɉ$V" @bap*@q7~-JvmRTrAȢk48C}YDi۷Zp8o܉#ttJMmYɫmJ f } 3QyeQt 9hF|+ıH ͸]WQ ؊1&@ا"uqo4? TH8=S)ď2cs< Pa2! !78'w lđAvwyЌ҇!˳DCd^laMOM B/[n-%Vnhk6S։CqP֯C5%z#Y "5;Әc I-;s K97+ON/Z}=mt_-.m$|tGA7F4alhZvݸ,zKJV:Q-%">^ $G>5F[PKOc%ǧᎡjn~ iN1EZ<>z9[n"MJڬt\譠|.s ɂ[˜MO#x OWFUoASrp%}NK=.@ GWyT}sX杻5J۶&0wGWD[V6ƣaЫjorW0KwS**:$W@"7"pxAh^iܫOoǘ0 $3N>N| /qZN"8mQmo$2>I܋jLۙ`" f6=`Ioe / bwp(FNNH>_+7b&m ? k20`o\ung#%XNj&f m$446MEFV} ]/Q6n<Ζ ܾՓ1g6^ͷ{ W ʤmѳ0&%.~̼@5FcS &4!S @Zi(brs SCe+[C>> "zhb䤸O};ˁzƼ`mwgf?{B ڂ3U5v)I1%2b,~`s^;:ihH4"#[:ld:L.^s xt2sʯ6Dg|c*=bR^Pr0Yp; ^{t0-d|\R}b%(wR+ ,Q$\JľqMkzLiX_C2o0b%~7 mwDa<Z)N7g"|yYmNݳ|4\.[F_ NaBߑ [O[wCqf[Jk3D[M 䘏S|@b*kpFVlk!J }f(bx$lv v_\tRb GlPůyЬI)[bTU}F!8Dyi+PZ$wA+q;:t_&8PT`yK(YruƉ3Sόc~׾Axta[^=h20]]hmohjч;-<eVzH%2Hm,=eK 'u0=`xcVR(&b:Š<-- n} N!.Wb9|@DYMB5'LO" d(,EDnSݑF;%QGy시*]&"7,b۷E!-{)$,"\ZKIYF6確C6^_Hi,q!?7en+5c9U4ǼIwTd}Q %QWtGj˸lx^jaG#2a'O)s99<巎 _cQd ZP0v-pXuН q4SU>3J:ѫHTDaQ}j#aK9wjni?PM$[)nǷ7Y^p:Hܻ{\`rohr xmjU@U=qQ+o<7'Lzu;wBz'#UOޥ:fEJ$BHWi4C)38lI_uNY[q;ˢ)K''L'E[9+mw-R]aDՆ8dHCd~Blq  1 ξmV֕=߲OC~7YFauQ =Gf91R~ aoբ^uZ9ɤ]vp dgc=!C껺&i` 4MM5k`s2@~tU5ngt-ˎx\54@M P3]\s+UH}{Y]}yd/ g A~tDBm@M6zB mo?s 'EX_j26@H!C#5M&:\C-bR2MXWiE7oB xup1)PMЩ ύ( lI1R?.,RoCPXBqo/Rzis*7`_1Ňƃ{$)ďr b @ AL~$Iqk38y *lV H/*.AQ`{&Fv[&Ԣ |llH:{ E)Z:g~lg=Ⱥ*(+UQ(q15n4k $h8?hf }[H]p NN涰nX7ukÁ5dΑ;&+]nU&s1mȩ!tip=Lɛ~4ø0 tȑE;}qk ?mtr97)t.pg8#YeM, A%gg*lzI0![HɆ DSVl*KXFm0}Buh 2UۗgrRߨް`8N|QN.Wq{d jzq؃΋е 1~͆Nj#>dr<䪟#xhD0mjai3իA}NI}A9`}^ި zCޜ#m5\:}Se A(0zCi3>-r0QgA1|sl+X~<.E}?CWb$㥫`QT>8b`I 6TXqLC:jQ 4sA؃G$~Sc<壻|_+è/}nnȬk%/󸀤l{n:3OWxu "Ewý\FnJWXC,j1-Q|aC 2Y@/-4~EH\ojzjV//Gʁ925ӑMuKƃK15pw-a);,тKE!lz9rFG vĊP!$sP c?ʢwi=oGYs"qόaEU-ke.]Z(uv`R"O; n_Ԓ-vR3P0ro ܰ1:.BjF"P>]s2"j^ %՛@9i{Ff %-/rݺT t+ ^+uMXϢ޸k#1~0^s4{a=  {ٗp,BU45YSޤItCXd[rm*UD s0(~Qb1S׋#LoJ67IeiK?It?ZBZbY?7u>Qtcet{Ah$T!-GBt9[`W9v@-}s䪯ōT[a7ֽ霦=mEGϭ1CH@U~0E$ GklRӰ/;cI'n 1^-P%xԛ!^7܄MޏD0uCR}]OCuo.pW1I=iD/63 \zW}FϥɺZC%+"% F>_i}o7A)}yM3O%%=B_:,!.sI \ȤxYXBua.TyniGaw lv6uwܞ Ʒ 'Lr(wvg{Wꡓ- 7sjfAҁ0&"̵n sc{&8CҺD^@tȶfjxMwٹ"$wG 6csg\4KT (CP %,{? )CGhﰊ6':|l^ԤQ(1N..: ʋS.il m*ݙR-c`cc>ޔt5MK ˆ-P&馈2S>Y97\}wܳk {5I eߍH >EU~$`6}PC ӷ9S@ `KjFC*6< (*W&o4>FhC)s;7 ,%9(W[ˑX/ N ̉ۺ/e/V5[!O 5fzUPuA/~ 5s.w/OXݗꑱ=,9o7*S槚dsc3ڞql(6|o-m[i4x dL|/e%q]a3 ǠɃoi*lY1-8U}#$i{ .ZeϦ،P^ynGߞY4age|ޝ5,3]36Xz0|..ʈ-^7er%I\䝸 -aA &Yf߻LtM a~L0ia5FD\D'ա!%{t|zrt?N~+6W3! ZM1 }hbP2$3XSe2y娯 c!O\|&k l3MRȭ/'GQ9BG_~3T[Y/2@)h8 Dsy{x8|DHR`} ǫݦFuWrL;6- b`+RJt=3>cLxum4,Sh-ڷ>G*4#i("/7̙⏸kKhm>y XT DQG( tgr|R}#pu^\obY۬uv=!OoUbFSiiרT#Ѻ^ESW{IJ6|DI呀5`L^o˻*f2 4m '|q*TQҼJ!7i'f˥Z}uQt4w = 25|)P )l(3VژҺT*Ƽ|/y~!s5r 4_ LP!J,ss=R|((ed}P9!Xv =mO-(ϛJ v}%Y'O2n{K1K=Gc5"*mﯝ!안Ikbb'l\ElêiIHpNJY l98f~髷Jz~[b;eP|/>8`CR qy "~ a\m瘉}a$9j£b>òtSn 4IA87R8ZE#3Fo anj${v6x;*G>=MJAg!9sݪI|-k@97E+'8 ҉pc{ N9!a+'zd6 ׾_1sUE,K$2;-1Ug,+f0)BT³nOPX+^\,D#!hKq/=KN}oCJ鰁L'rE}/оqye[9FƤaPMрN>,!݀C=|Ld7r)a7fG^rF\3eMM@-b(95h ')t_7iUO1[/hLߵaYM8JJn?(3_֠AtZb&K;ʃ;HIިb хEס7h)sǤ"!K RF}ʂ]E*va|ȼQ!2wPvo1?Q1'! cxd /nN"G=IlLbbev?=D 4W6vT{ W Z~oI>^WrQ 2GY˦i,ew/X2I⧗NB(1thwDپٔi f56/vx]?b޸3eC4&yr{-`2i7), Y⇬d-+2?^ *gI*Wf*;ǘ% ljs3D?:ۋ%'ecmRL1;uQ!ҋ FaLvƕ,`: я❗%,z-tI}Q̤T[ԕ1M Ӗ <'bX7ҴA;$I>zZ lk}v!L|-,zXt(}m?{c|C"q>{5&V3(7~8 q"b7B=;'9sÑ0!@0ߐLg;wiJY3?>يHVhs;bQiZI{vyP?isx; :ʯWpu)p? % !\BKTl2ѹ}'b"c_Ъ_co<<0jsƪ:?y,BNga~J^;^xߌ'#6q^گ\]^\?axXC,EsYB|nS#x9Dw(Jߍ-v];0ɞB2ajx s+|rc]3'RZOk5/]pOq~^/y"FLji˜Uѝ|~ #e7$T:O Kw0\فwjdA1]\ÖE` @I3"x9m~;8$ʕ~21>cW>@Qg/x: `|_V_xc|óTG+ɞb4>7O'$)bԈGܕY}oGI^``"8#_L%VB?P!Ѧcrs(;́F^ի$^[ѐӚ] mR]щU 9'j?פ&mNއS3 wX Cv{IxQjauCzޱB&A>_3q 4k}^Bz*pۇѷe:k>>5UBJ)ϝ=* ըUwG{ ֺۗ6=/#~+"6c}#˴KEwk0M~wgN .h~^}ɰșC6jN GYoxv~aۭ-Dz ajԗ`g563Tnmp:}9j0dwbnv4 %w W/XS1_f>:ɫXVa1o™|3R{OW8ỳᡛcqX:߱*Hn*M~4/s~QMokN<(o p*/Cx&gZ^@0f6b0 ax~Y UVQz%  *>^NJ1vvX_Ke:oi"2DS{W6[l^'&slxɓ]%Cš_/"}>( :hcG!g/p3i7 ióIg-+f-dW"L1Ʃ$G,㗳b>Tlbd0e:/=KD5Sc'c %]Uk"a"q&u094|p!zD ^;S)D8O.ޫeM*GHW4{xxd3$Y09jE9(44&Jz4yy A)vb2!iVqU=Gn*~uWWzJE>EV@>yqO.sH?q}>{2?AX(WS?~ نYjJo~.jxzWqr)]DdWSA'X$_pv]8@ ?>XliUDj%99|Bz$AzcqyaưAl~,{Zf⪺"]VFOk:hc-ލlxRp9ъ g0t4W ݏ/@r0A)\+[Q.ʅRA^*FLi=ţ,Ə33V$IZ\&Zk^62lƋ4Ō~sthA:(a=Һ D˖H_mi9Dolk+e IN>MhI8 29pۄ[64L=12/?˛j7Tsu<65~ nfb0+OSi *ɐU3ɹw7ؕL"!nEU // ia{Z1ޠD PJO|iNsˌ7g2ry![mW띛DŽ,s9 i2X0W{E0!0eS1J}F1{'![w$v)ҝiYR>ǢPӻPhSr#ʞ:|АZȤCg|й/2WMXx Ҏ= ɍ-)A`#x;BGEqZrp3=L7f p$8YHۣ#tOmʆǍ\Sף'KpzPt$o. qd8#PU(/%1FD{)EJ}ꮯ%~ȽRFZ&MkL l,)Ug-+Pez$:m;CG,>ƻ|AN']Z4 y0W' 5]BNmxi(9 Y;xH=͓xntzN/ZJT7ќ2;okMgN"{SX[LU_7GI:,x4lcCp&Aw * FCo\.eCyiJ:?4Oxﺉ㈥y f QJ۠0852x20`U_޿d,ETk/ (I= (#hrB+gPlΥ-Ŵtm<(㥔z{\ t dKT-<)uc XvxUb91ڍڈѬT}#.f8 uʖ]w/ӟ엔[ukUJOv=˿`FZq 5+OKzrY06QFkf'd7[pM\FשС3}w2*EU99T8|F+U9DFI˜hdlC5Qh?$<ʺS8'6pA 9!F =;_lH*[frn<ٞ8k޾8ۣIؔp$O${;+˂D+Ӳ/&7ͽ{.LOw&|G6, c`K3@],Ɲ0yq/Z#] |nū ܧwŃߧY̟IK:!ϸ0Y :}^Jٿcg0*M)#gpw !YUݯQjm< x][چq:`=хX 7@ _!;>Zsz|+f.}_?74 JIwx 48XY^ . ]f§W+̿얱 IO!%޹n^}2鵒ckMX #&c*ÇCɾuw;=R3 0c[KxYM`I s+,T=J=36:2 rp~=CnO M,3qd%^^|giQ˅;,[ځsq=ip ތ XtfN:1Õ9޹VE!G+{Ul&vYȧԠ8ko*!quT,3u0TKw+t#=0B,f=*IXOgIL~]l XZLZ㑳9t'ŸJv ]yc*QlFg+qkd@˭/9 8})w:H>lOT/2lL*K鼤j"{p#x`~W穣C=A~PiېFgЄ5 CEiIֈ`,(%L q7lkkUӁ|a=DӷxOu/iHZ&}dGy+moqbj";wSw&3K )4^%5PK5bj'*q#3Ôc dbׂg7$b+dymjʦ)I$w*9)zB -aO]YoLb@]B( bZH{}%Y[=ǓLoL7;/t3b摛4@ޏZ=;]f*}նc/}e uzvu𫄅kڻm| T}"+|'Gj=TMڽ*_+ ~=,TP#SF1z6:aAD9X(&9~$7e u8c4/-񑱿[h `ad_{&/<\%^ Rhs3 >'E Ϟy3X?d?70L#>ͯ-48yS"J'pyghyyg.r,z(C[~{} k;҂c]@*I\'ڏ> 7}QΡ6 Kc(ga ` ?ݘ$(W=UkGqɨJI;۷򙀟DjK!r9{ʒ,&ff/).믹/y2m_Af O[8i)^,9}`!{;CRZRJ>:ɚqo;xg^O8@Hf{a%Aw۰Tn|<>\M3;l#ոޛn54+EgZk.L_owڄ ̓"֩ؑ?ZŬO:F?h{D9Z8%ɖ# Ug DS %h];Psݒ9Y'w @b"ǂ2e|\ŶgfW@(M>RG׋?{O}xvU>l׏P~SI/J*؅`iacdq]R޲'/9H~ KSbIG(ro2F6/i#Ѓ|zȯ~BtEb`XF H0K.E=>nG jeO ' # ӗ c>)$_{9/$Zd˶>1H][YI~_X!e6~'q/ KŶr^L4 Mr]^έ r;I!DXyNbD{L?n嬥߂n7ȫ' Tc LL1 @ENTmCǡ7WbƗ=㦳1$bC由d'lw;hӧ4ӸLԏUQ_,:/2Q:o.6|4}XܾܡOori lTG KInz57S?n15ŝ!4=8o\RL3+G㤛T9H} B*kÒxA6?%b^ Q{+R0a$8>]._{7(V􏃥oMVo-6E #͍`Eos {}!<[ X@ܲnĝ`y E{Y`ƷG>oťFP'aziEx C\Cg|Lsu |~Y c:ȨNi$000pp5Eq8 ۛWnsύ<@ I ]xGz/f?bF̞3"-\EXZn9#eܰvaz  '˦5Ϳ&{y3Y.qOa-fz92Z9cFf?>9N?T1I"؜cxV;c *fnߠtI\r 'uB-}6\IO4v=qĻΈXGC5Mu05fR&췳Fţs|4._) 稵pOdFJ=![A/zP{IPH=&<"pE֣ۺlV߲C^RʥqtU^8Ř@9ݓtX1i~!75?{עU fus&dy[fwCp!$K Ǯ?n E2$9.)ϴq?\7(ȶ'[n<4fG<4~\}Ft1,y:`R|C別HNxbpn8LxR_h9{Xc$-̤^Dwwqt}yQ|wL߬EL&ͱRbSˌ'-C^50cê(I iE:}nx]L]}@%*\ւW~gNEN d4Un$Y OKnw'o+͍2g)R w]6Syy$PrύЗ79jx`B= \.8j 鳣ۚȇ"\'"t՚fRaˍ&sTb/37sCCGis6i'I?rP;",NopU%Vɛ`HX6'G)3bIq62KsU_-\Ǎ0λ_d\$ Z,荝y*mQL0--#Nk<0vsMXRдWյy:)uE>~ '}0U:Ս?]5LS\TyOԗDK<ҕ/ޭ|ۊ]M+Oa{I\v;-%־{S+10-g53%}mL~[d<9‚yvm2tѴ-4ݠ{= /1:yt! x.+݄/ G% q{uJYf8ܦɵ9O`)-~cr,>+@ySvFFN7,1W)辱U343⼲wVOҔ%8v43Ӡ؇RxM0YG( P+?QO 1ސDO;*0{$vL({ٔnlWpjg㱲XEϳN ׃%/k䓙%NY ~\40Ѯ-k01 Xͥqk.t5?o|67R 5)dE岹ոXwz?"#H:oG( 9^@J =[V-BÙ"929uѮGnȵ)/szPc]B@k$xk|חN ڇoz܆s1Hh5AeA~0%s[kE|t%AMO? kuG P6z-%LAbһr{) .>ɔNZ7a-$(?ΝPV{\Z1F{ u A.8"ߓ\.\]8"ΛcSm̆o$4z$@T5[Nl]C?,D2+t)Ll0k  E*voW](bUH%ŔXKTM*L&!<+3:޺Ƃڔ|$Iv" od={zbn7_Qu,W?5Z/z~.us#DV(o;/fzJ, P`D}iMeYE;8x>۴Trc_tA+ sE1@S.oL} ]$Rb8R6SrRk3oݤ5K@:L(HfFB.6a#DkR. $EPXF=?&݅s/+5eTtZ?I*s/`T$,Ct0[@>'PSvB;3;R0RKge04ۭ$ >a%y4r ,_{撗=8!K#/8C_l^ H'-BRg?F/#ܼ5-2Y=l8,4weƸNV 5{P95#?Lj(+3?Y] ׋aSJ_HfEyRT͊v.bϗ *Țxh Lp2?~J/a$ꜭO@u ^AsunCZi nH>NTS=ɭo>uR V ~@6qҚ}KmQ7W|^OQ| %dH88}hùR ״=![rp2I!)Кq"˿1!MD=iFYOnnwnM>D |ۿ-~})ƣ8QJc,\dMR}#Wf/;υ;G,LwP)kabI w/Vé|ZSD)GhX/r`(c]mRa7ye;Urn OL ތ=a׵%G=k1)ďB)|=ec 3N<$0lt.,Z ;_eݤm|H{em)UϷATʃ~Ϟ^^m8g:6>ySlbQrat0ιjVNi5_4G% pGR3 V \Aըϭɩyi2VY!r>}勵,^3# ?/ 4ɥ wAӯI"LLٗG_kR0 |S~*@H\rն > "RUY ?wD=E,~F)rd[_63ؠ͉̆@y;-q#dh;e%CV e9n^k7a`iێBe8b.iNdc%~bД|WIC!c_ȼ@å8p^VÇs al&F4Аi)IWzdo!5,0 c~r}pm:pAH6dʏUlϬo׬5@SJlzwgĘ5`sE5,@{Q}= ١ٯ!i6u~`c:(֯snjGX^ 6K] ܉Go M&L.t'A[1eetvr-E 0|?B(<>;竲&$bG(@< :I<vi}CS9ڑ.ByCd;/|! 熣a򛉡屆Y@W_?G4r29㵉n:0!_S<^;o-w! U_s:KvK џq*g4vEaž9=4R{՚K%.ce@&n"{rB>Oh1jc^^ s?%apƒ(>ץ찙p-9KD^QCnOJaƸp#}f͍S=_ QkdK|_Vݩg}_C7[鴪T-_bR3kYEvU ۺ{~%}FaTP+r!q]UO ^+)ORL1yo~hL{x+1C[pMAQ#D}ӱA/kv#ŀN:{~kѪ*"|&"*'E{HЄ g#:*?,ր 3toh\6<]iw,^oaM(M=̂m󵋤f )0y>j;`RfH9weƸkwdOW/xA-:3=}w 3)cMV6_ͥ<ͫ G2 kG~:j8D~}% Wdn0ˆ-ہ:lvĒ.T+.Q;62Dl70Ŏ+Cma)w_1<3mT<;x@İb /6#V9kO+Zcf}_GŽW_v6.) B*!;daG1:@V0E̅ 6.dgږ?ʿ&<;6:ˑϔ6ہZ,Wx6.De|?԰C*yHu K=)8M>qouih1te`&0uz-h:ᆢ88`5h_^i7riRol<@)Çw3i kMrsE7 $p &_qIOͤ8`>ZTOY38ipA%XUJW\y~ki7J4eTjB3|pBA }'&`I7!"ww6 X^wUhM迠c&xo *t2HP%@_ iF>y=26h)kV8/%!|jl,Z<[N"<{@-5 Ob} #\IS7-R|H^wik TgʈX ;Š'XS^H4_scmI{ (InuA,)Jzij=&c}BY*ZIU' i'F'BG ôW̝ۗDQM}bUl$_+9]+`m5䩻ԟJY)fa>l 삇x{"0!Ÿa6úҔ4^~fo+=zЎ/ӫH`^r-aHp%'Vy G6y 9Ƭ_[>=: O;n}p1vb UǑ QT[g p8P>O@ @I4oK3OIc|+w6ĬhO%雮O9ɹm_@6㔷=ÏWƭbd-6"~;G[TS*|r./elb1yK`lNz,@(vI M u|x{֒{E|(|xa~#߼$⬞}y^vfa:Jc!@j8a_KA]y .2rJ_N;?%ю_5,OP~dug뙯8={W@1yVր_1WC.6)ϕ vΉPڈUiSB~@K5\Lψ_+MwfI`*.KkwY "VWunB5\be`Gnc{.aPޏb N"0Y_T:Pْ _L !K,IWTv{;6PQ3v8&^XU!aPє m8usbd~ٓ6Z!Y@!DhӎZ'mE~K)T RGJ~VE4Ủ_X_$odn\(-03'ϣr)}.`yNLϑ,*3g{ vBp^;}*JcJiUwK4(ђ>pH(lY,;qlz:~hNmW +mk2;ȅ3 NnlۥJ=y8TeKCauK'ְ'ug&ɆY]q@bL*^Г:ro+|""2CCq+%j/-O)K} ,-"co&p8C1X{U_d#o1#{zI)O#.T'ysV9t dlַ_zoLzMlT넟:ql/zTM2i?Lz1q>b{$ǐ[g- 4'هiY=) MBC7D. [_D%/T[ų'p߂.:DS^rBD#O{g)Ame)Z샯.-ZR8*$tXyi|B'ۆ=w`ޞi5(ҔV_w&䭦T>~T'QG?lg=:ᑵeo&C:Z6+ M _sA -ԝRCLl3Ea(dygf] hflC eJ9Y*qz]7|P9OX9,L‘>]Y~ v~ï߲iHUq^AuR@ 3FJoW_1Q"Y>yTKq!ɹ RQݺ C7~lcBC+J5I+:>ߗg~n:>̿ uIƽ?f]l7!_YLpw"b3:CLU0}s= "~J`Bٔӟ;J#- [2 o}֜SªTIJz=Ȩ3g6^_=wIW6,Ӈ;/wr KB3EPiP3*&幭9}'0뱈?SUCoy:=o'ԉeSlkk<" Bt5emCxcLkI)(QN B XH\=7y]]ᄄ}/v|A__I:UNsďH^JTEn/D1Q&?\4_R6{d<~9„89-=8~+~&e룋J~FTG6:dgnK;kA^Vp@8~0hqs2{)af,}iA )o9;-$Ԁȭ4FF̯:p&?]}43EaWA02<â:Q%rvI M P !}w,x} E5Ѫ = MasJynbPj_ -,UW_a,}EAG>`-vKϺ}կ[+In>Y̗")&-?W|&j:"3عܧ\S] <JA6PΨDj|RΡ˂0X )aLx ]ڵ({'fKJ<'T{A􌿜zd s7 Z'`c$<3"g&9t|\ӭ!JPM;ޜ*ۄLyPAY ';ya:s(ݐYm @l!bDU a6Ƴ!6 F@S>P@$;kyKwb! 5RID<0Q1to -G+b ujQܑPn@A'!,Ұ[^=i[vHfaf mb#9T>)2:ry]y{>IenF@9h,MG~5>2} *K.OcL \`y9U l+K[&k3)~mVPVoގ\t,Dz?85wDX.Ay : iht2dD=N^BEGtVk722pW1أTX b$BYY?$+ (FLͅ e Hc-&l~wWY}#Ne },}0$'M)tQsn#u7)|f?i*R3d9kҜ$_1P( ZdGչٌ/+3-q}{bryIQ?+gG#`kN/$㳡FvX,tn4z=SR&@D5TJ5:x׏!60 - 8fLYǭ۔+Ts-h;E9GG Ra-\`-I&Ϙ]HgwKSV@ϯ|#?#ws%K1r=kev{cJ_YŜ, ,nœJ@#94B؂؇lҮH z`"03h*jzd(eS7Ckf `@1m ߫U*5}5~4n-FEf[>a(g*_yaUP?g'GVc.(SMcxJ"䔑x]R~_ڐ[6ڇ<qb }sjd_{xcy%ȾF*N 2M¤ >90[{"}̶SHR̲-lбaTWM1'iń6\9H2޸F)I"-B ݃R=4跼$e}U$$I1Iaٯ.{bTGnJ3CV]*'o/C::uV/縜dc;Ek#۱}-]$<0j=|W)V5gc DK= ^6~=$BaFq@1L2o-,(+ wV,MqfJT&߰o`z)K֌ 2vi&9=ԡPL.$B<*yS:rD @0EN I7W<1"P䪡/aiأH ;pLa*Ͼ> `5P]_J$uEbi"БN~[Nd /:`3qC*}Ȁ2Q J=jW{蜔~8ad.Px94b!#h8aIMzǴR\,B]:[ANy\Q2!Ά␎%ŷUn 5Ǒq_DitoE4|BdCc磍-Q$"Μ\  MA{P 7BYG"s A \蘕YAB^}߶Cff#ޓ: ( F9I5Mcmr%B^ C~T!#\rg]0.Ŵg؅yC|'1Ⳟ͜|-v Զb(#0yFGaLU@#D.KqQ_kD W$'gbd=c{Ga6jQe5O*_2jTQ$BFKI(Ҿ&\iȤ@w?o bhI/VpKM_ 9]iR# +$*!F MHFQ?H<=(w N軏Zmpv9c44eЊ"*D$n22Wn [WN?5Oy1,`K#fG=^ '6HA 2Mu};QmCیsO'_W@~?^uDr)ж|D9t4aF6ϱ:+4՝(l#wykoyOu߱Yu`GNRuh1ɍO$A,2J}}xJޣ}qgqN/t6Kb2\*&)m>NP^,7ăP.5yEwvAg0~NW 5\pҕt`C~?#gFϯnawb4٢?͎-P1_Ml oV(P9yn@-ii'u )eۏ5mCm%`}_F##=p_!;|?ˆxLˊ1IX|)Y #]J6=򸈞q[zYKv$CLN@cC+3bzU27)g=p(uC/N~-3Ua~S[5Lq ƇqzB.kF=FQ'MRcʂmy/Jq~mˬr=mul)a/>+  !?xH'/dˋ]a$7 |ռ(V5R'e%'Tq(XC,8o$!ne~tP1TamPeWvD:iX+ U%(KRtZyorο߹Ȫuͯ{+n7$˱ԇީO kñt~tFc 3l ~9ؿ-(m[tHƯ*}3>Z\ߟj!(^xt,_T5=Kp:7*<>HB.G˃4lLUcyb.= Lqؕ@5MwFw>4~.l,%=%hQlSD^~n n 쯪e @ewj+#+29 a8(L)PKc _P,s6l^$ۏ=i=@OU- !K`Mc1/.] 2RC|ͥ*eHۭ%I~u̟y*}ӣz>+*v'Lk'-Qd"}0SWy¼.)Kt !6;yM:X'AQlR@RbJ28Ox1ohixĜ~@5YE57 FGB80.Q iԯktFċd^E?_' *^V3:}zXG]]0WÅߪ8iqMܜIXFHo\==``RhT-߀1f^-3j, _G.JVC\x{2o~+f1=#Fh^=ܽ5NoRo$O$#ɽKpϚNB#/;f5q_ J\䠠)`ԆFw+)kSυ?B0= 5;zy ;xC]/~y*UįW丢]oqS~$P >@3 ðɦ$rL*0gbiDsW<}/>]Gp,SD_=1=&KxIӫZliu%.?41lآګɉTN-U?g4gm,jwn^PN:zFQ%Aɗ@s`(rp`%)ZD osα>0]}ܩoE;j[f9A_ЅjĜ.:ѽ&.P ^}<*ؗtƛtWSc F>9N_/"Pxv}_Pu5+w_|ݸb\?|vۄDЪPv!{]E`_p^MW'%]mū`1LF%hldqH0b6NE$JIuŖah,Y&'QGo,]p݇8Xut.?:R9*#`. =,v"=zP!坠ƑRag܍N:}e) <$3QG\o14n;SVR_.N2Ϳ,O3Y>[|-6p6On7>1 3L '3h(GE?DԦ ܦ^&΀cLfK5n?:G{򋇍 !IĮC7IU[bU}6{+jɹ&* ʫWklcڱ$W1rʱׁ0J0/K ,:3K8wYT?ab{w# B7eop$Lڃf"YrL*P/&^f@z?Q*Ե#yi4g? i7ڨem C|u'sb8jJ $~z2YPZUjzZ^[])^+_6tcxo:_׃[sE@FpGXRXL:a(]rwrv)&m]o8CFKЪz $$ v36xl4g£\v 3Դȏ3?a'4{ݮwn-8'p5`?X<(aFɒ3mUTTpсy'4X?"por wӒGC>Eu{?޽#i*iQ05N;wG/$ff R%iJ$uqdaeUzcFV<_&p{O*Fnz':2 )/‡J]D $v}?D@HdWU;.\/?zlU%V (A=T="eO3&t@*^^kRkyEU۩$KSu %hSNP7* ^{{;E'UhUrǩg ů )UR!a1Pa!~r|?ޑMծNB\9H)!u.*xJ UZaJK}8R5 +PROXSec bXҡÅKTKBc*d\y(is#FH7+yo4t_q (g.ZYABZ^:WIFd=75r7 -,\ڿ84l !w a|mEE*ᴊ=ɺΌXG\(ʰHvAi97>o$=[ n+|%&fS#dN-.\`47Ǔȼgys ›6a^KW\W//'{4ghej7u=*RqUciID*Ɗڵ8R5U}P%$yJijըE`R`-n&2_="T/<0K:Rߘ֠hAz 3k R.g\=Ck-"e.:<>}|"P!,2"FbQeE Bܿfp(CP$.גJT&G 1yaz+~LH)_Yf<-(~uFk9+R|@ :f6 ٹLؚBh ..y&,2Fc?a\`:5|zڍ^`ϛ J]5^K)7ξ)Μ30.N{OX o;̕p`mX^/\7N!mvU<ǥJc`C[`%\?~mv)dKyb;!7?ZnބKHѣr;MmovIKG4b"5~V҉DR:399-1 ~_K:}GˆO]Imc;g?>")l] ~T]T'C <1׾3*}? =TX 4- ݲ()!0 zCeqrXcmV[Zpә;|{1YU.}2*E߈ZIS#(~qDŢmslڀiT hSf~ɇ94*W$F5KzL3 ;^y̓_n$I(!n:\:șGr':`INoৼTb e sT /k柅Gޅ(8PõW)#ELYt8$ncA|o9++m%C 8 #=:R斍0wN Eąe5RZ Tѧ-ΥFᭅU\e;#YƷ]W~ ~JkLQIP#y0FryI@am!;1c&&s |/1esl! cA|M̳^h_əڏp;X!^o Xu`e(ća/QϰprMd7$}`D@*ruWL Qħ+[S*L@"{ AUtlT~ҁܒ\vR@@RҊ@FWڤA:CG685(f3yYVqY;gmxl7C(n-,6./mLY*:V#5yɻ+_wbPң %t {?}@)kMe4 ) . ^$XtA KXЇ}'&p&Cd@x kD{~=LP|#imxx'`-ZNq_#q ACh}T:|Z!Fqsv'U__ )] ýڴzQZZU:7Hey4Rq-]tb.c%23 3~,5ݡT!aT4t xR*LӴ=Mc~tzjv}|X0ZOW.%5t~#G_B˶}Hr?ǢУ[#@˧5"p>'c--mRbU!|H=wtʀ1! sl2nkI4˫@3{=RކxCj:.~o)aaB<&̴YX>󜬃 QK,T= *&0·P:#H*xE-m~;hsnL+Ĕ+[oيQJVSX.G)Z}~[0"{ 6,/vl˥;[ ?FaKhS?ӽ MB#tB.'2(P2f vo_Jhd.J섄ylӿ'9g$l_"KPPg;vUbշ/&NYbE[b[xӰ_D?!>z g(Diz)f?֪<^~_Mqa<@O? ~?mɱrӔ2HiLvk2nlf$4_E_w푯+G0(IKd T&b̢NߡYj.SаJAbo= ajį5%j?O5D$#KՔc8_𐏞eʐVoCx-!Q9Pk. <8^= 䝏4_@u[\[ >eh?⑝C^:bgY͟Rnzj3?*L]XB8w ufS!`z H}CD2 A I0=e#=Qke\;T8r+=[ @ny" ٷptKf,ej#=z oY=kC xml$nFH[R$e f!W-SyqEƷrrUC"Y,\!#˫U%f5HO@YEwVu@ȏ:SC.Fʾ^M/ƌm)j[3,=ݦ3-6x 9ڎ2I%vGXJatl\"e"V ֕ӪA_6>ž aBU`ʁ4Ͼ B԰2oiGWQL@c?f_[/õɾБ7tԴ<2x ǯNj5?hN LUq{'zh K/4X#x0ΨF+ Y:u;Տp슈뢑Q;+Q0o%TGHdOVj3V.;u,9? gy#`DDOYM7&Ўnؐ,R"r)xi% =U(T^AxxҵVT۹ 7>p](=:o c|85n揄dKeAa?o- AfH]9bf.ÿ=d[,!i@.UZwf]һt pMn_l?D^9xOz ~!c#_<8Qޝщp֌K[~Ʈ:E?I1 ;?E^C]N^`|IKV&_;'H'J;y|pVê(YT2YAy*Op6djV?[*ksʂ!]Xˍ=ӆ Ja#`Ŧu69ޏI/1c%lP۹Y+uN9+!5IMc۸<(+Y,9gvdE-}J^J*0c|E41X|ӃX"Ӑ=@b nҊ:wg_e^(}WK;mTL8`;'ak0k袉Fبv 1jFF'`oKC$/UV m5$v}OޥK -_uõnC֤z t[H0]-mTʑ7,qFtvͰqlASpxOn 5i>G-n ˟֪`ZAJ{Ea;%@ bz:#BL|=lUqVrw8Wa[Och2rgΞ&(#hT)%dOH,ڱؾ@YݟT,sMNj<.7Ǡ 5vTPGtXC%T3=qsA>[N&Dc_h X L_kǃ`-=RO.l AaDJ僚ཐ}ΥY[T%fzreSoyy#%e0`*]vgI 6 Â/LIYgN^b%[(Q0p%o@Yc7)7!Gfl@f9<YypK?E$F1E>>y%9*^+NHG`0DũU/,Q;SMu~IM瓯Փa=Zb3}ـ~G)z)0jX;Bꎊw/,|ɽj%^2"wRM -zτf.hyWo!FqcȜo }sdKvplyIk#GkR,f;V45҉~: ׺]B|?,7w`s-6ģd$#M'{Jj >m򓍪oUfopG|+>-kvex%'HDu)+ח.KXdFt=K^vdžƭ-oD` `ZfӓU{4B,Bt.ވFlRbxkf0eU/L(4[w8ߘnu"F Ϙ 9|R[z0er}ђDoW/cUYOcC֩񸹟}7 $%8̿!&s6N69-"'Z1uw~XTBt$"iuyB̖QםJro_tݽ#ƾ 'bvN)eѹy) qLPL^Mž JMZ3PzM%oSK>VyٸDL7B|K ܊XhGKjbL0퀡@}ҡ14E*D&-gdJ@M?d>UƪPL(F"\:ƩIFd2W4cSc|lpQ'B#Reȅ93tm9M4tjit^gn^nOp:JOoI}mBגS*L/ č[@vBIlZmI*r:j ݡRŦ4՝8'cD2Z+9kUjՄb18ҞWa+:stKlk0\4Y8IH(Uο&O7X$^밴*7GR[߬p6, _hbR*$[!x _^M7hYً{x۟HK{0|xGKExmA䏩P6#=qfw meE\{;+jY7{w#}kmCz{!!xq;suz!ٌԙݕ(` 86ӤpYTtN/3 0?9$"3?؃`wȇ}eW"ZX~kOw{_0܇I;Z="Zc 믺}ZAz+3pz t0)^@_/Ìhc 6qd.͗`?}G: I`-pGd?#V-s5mΙ]< <_Cd@?(C)MDlJPmnHK҂"2x@ǥ>5~*9tOÖ*ߦ6N" >^ΎRJX3Xuoe|sݶgȧ\@PI ]7]^1,i[sp'/ uN4?"5\b;*SKBbQ@7DQU:Q'"|}RƃO+ֶuJ&w(9jyيg=vֿRºK7Ft8;? __F~9 ~h6O8>e1^:1.@|gv}#(0'CP~b􌘓+wY(20U C.Ҭg V${5|Y-W8\6~lxЦmݹJdޚݯ_T7mFGesPI穊x5+Dkڙ GQ$SC=[.Yk kAwINwܗeApi\ N|ujђj/nǞ_}ӝd#za`pgl $=RTxz]y}jr#>U(ɑ-d+5s%ie_dwQ%VhZ11ƒ\*ҥ4gm=bt-.B:Ў/̯]輥=NJP/~d}Plil 8ѫ w!XPjyV5!MDzWn]!X}OBأct 7Br.tO/!uMZ 2wG!ecq=Ưkԋ3/?ỹx}[>oYNjEk!`!'Ç_ڿ*2;4z;z?y}wIr>1Fxq<?qX FҗG\;r_b H~;Y,18?X7-*UsV,AWڎ5S 7$O`t 󈫞I5rl`n'xF!;Źwnas{3|oyN g*N¡WG "@e{9:):gkPbO p0&K%XC sa1zL[A -rlM^IrKޘsV-Wl,VtgfJb`>3~gHcO!$cby_⌥ȟ֧OFI ,cHoƍK[H?JRC%b~0en4CCC0z}h4)ۆN?~%u$}-*A|GcJ)A>AiPeL0 yڳM+7`zaGuU4꜋hKˈ0L#軷p\hw+MkaIx%S|U-R#JˆPQZJ]gUJhA4^PqQT3GwĎnnYofӈ[?T>4so2Cã}7 =QjŸ[;~&vy\4$v lZgG|弴)ٮ)%\^=:BHs`qۮz{Oieh-(etU nS'uwj`n{8~et5|XLf57}0 S^t$gCs^DE&<fo•ؔ%i1YDxujCsIPPLSWVc.]\ R$~H ~q|M1~LZ}wrW.zK۱Mvr>+;nȚ3&=#騐ŽХI|o~'ɾ*k?84U^& I zR `[Kə։L/*/)!5{aڿa3Sˬ>5kz<*y5 )D]|΂W!y-Xc 'hkaW(ybi%?Ѱ[/4c4wvΡOJAXXcIJE}vڰq%!J Vg?V8*0JZ6f}qyfJcW2&+g d1Ǘsw4ξ}%ԓF/qb|HD*jأ[}e=)>?*vUp#5Ŀ#?|gp37!-X~}6R^ٓdDpeԺU0e#aޯa$8&%8B#I0믇k1Z < ~T C,Ha9U㷴)jLSQ[]kcoAc?8aQ (8[u12Y.t#I] k.n}iىɩ%R##E_E*o do /;xy}k~1pZ둪@?KxwQ@ٴaVR}cyw}Kc#jRw@sz<'A44HcHd1IJ)ٶ}w.׎I5Kc bjdwk 6|nw;43s\YfLݓ@>pvʒΓ˙TC![2{*3wXP֤[4dGdNZ,ժ) .h[cDJD/\MO5—b)*bIױLn'~zV997;E[Sv{TՁRx1`\WzaN]2]󻰶Zŧ:޿ F ئp*!Lu6[g:s͞fU{,mi.uؠ!r)'L*-~<,Q+M:<}L04aWZ- ꐎs!Ad(G(gkJ$>!Q=Y&5 rjAϠwO'Bq h,hk<;HW w?kFY϶އ)[bg va~1#1R;bXlK%+ ~gpƖr<J!Y?(w73y+jk,۝k"h2Ig=REbHx<ӛ~H18/ 67,_|yO̺B|_M[uzj&\i}\\cd;і<FM`\խn;D~3Z5* 'l^ǽx* 2b6y`Zvϳz{c8a-߈1b!+z4߿&`,去xN8֡Tܣ unY o5cr~>^;FjFc snU(Ar[m8{Tkli2ȘaC)(1^.i cU.c'Hw5ELɥ%k\ Gb0x,KF+j{3T>3< qH3+sx2.>D>"ϫW `?慈Z(̙N7d8 #<ݿtS1o*}/4%'EAYLOc$3B"f,Ƨ@=D E"W[5Cy (!ѳ>A[~noMR_]]cQ&zfB` #0 L΃9NtcspJ>Şh_OZBKaiiUtY&HWҵ˳^ݷm!7.qM{#rV޲L.{*_]}6«gpI < ~v0o4"~vd*`moFWw`ۮn8^UN2O״"|[aIri/L匿n> 6S5;1 c[rlLʐ;boa6E0"K t6{#F%0ve$m 2"ZHc/e$CʭP8޲m8M1}Lo|0:K~!D|7hJUsew",B%;ˁ72i`nC ^MŗNN5]<@rFSC,VE FUn0g͂X7+,ӸagK9NŶ<ZCAӕcle!?v*y!"XE;?꿦*F.( f6L='yKUfs'g?,i~} xw3l{vo9H!+_A\7 מ*JٳxR%G.(byk ߃ ts()7֜r+̑BzphR{TYJv| Tq騍ţ@Χ,C xII,rkDtLG6,9^}I5==HWxL82|^Gޡ{%̜SPI!GYퟭ. ͊"1 :XsEoYQqpǔ*FzԼKARc-wk#%9㣁δyUXD\H=:UۉBh_mgELeZ,hˇÀKV=? P1l:}F oⶕ|Fr`qHv9/k ֹ" pGڊy?੮ ڽq!̛ѣj$bs,jR]']+$-j&k;+=x sa!N .$' !zˤ IE3f}üMxƕaX ftF$~¥EG F/1"w P0A\&|.Tr˪9(ȿ7^ʮ)dZ o\ F;'bj.o>E6i*B:{o/xN瀭ihns@=,_V^AV-m'A7(\,]t,Ǧ6[[#6ۭ/@X7Fz$֖k*PB޺mLe(_Էc?z^p^gww||'6#˅Xe(z4(Z2Bc菗qo j>Rn !8NuՐz}dDYo-"a&f#f/8Cjt{xec`-iv$ҩFaʎN.28T_= 7:qY r\ ᬐ뗢PΞJw[giɧʘ҃*,5pFL ms}L%S N2>TFzژ Fxlsrܺ/=M]<ƦV]~f T8YaA: _q έ+BNVz,ھa]0(PTLӸf+ jɱvW΁7ǣ#cs]D%4!f0 ǵ (d}=^UwmsفN.T7v|Lht9)UP_ \8g_B7R0[, QBj+W$*&==#Y ;Y29 f@IcD(cGhU)9y{ҞV.CʿK"9D|^6e1(a@S=+&ʂ >>eǬ2L7% WdL8SCsl± ڪ]u|Kaiy&ʧw/_Qsluh )LJJ[fL8\JbZVk͆{C SFq0ݥ>0ѹ+ǭ0KݙŴ/VJn6p>`00nVN+8H}‹ōrEmL!FTO_4IDŽ!@Zߟ}.8eYr {61'[ͼ|jњr0$v]FL:v0d9_cq|5^R/37&2$R_ڨ6W4l<O0J@?l*i\Oo'HL/ළn L8HeXD#|Va3dH?F\g6m38nrusMh~Ѣy`J!cYbftAVf9TPt4n榲z|STMiШmd\f}3sE)>,[9ŃHR}2&T8v>{]wZA-5W>]ߎLD]gAʹc:oKe;Y;کeNxKar@cT_'6آ^׵RqtXA}d&~(ϲNPqI>yaT { 9e~_WP. Pb= CND[Eho !^|1'5Rq Yz}kl]VST%ϳ ZzxQnKۀp|O- a٧۠0r<^f|,'H*hQM֋;CӖ8J0Ɗyp@D*ǚ4b#[r/[`O&NZ`GCc )'eq#Jܵ=h:ܼ9/l͉I|KP z*B<`ێ*(|iJ|g'Yp(&XO?R%'ʦ1^Pw#|^K՚ٙ"_A%U >oɝl -5BL0LQlab,{vg;_Lt@Z0iʚ'Ic=8 ~)qSp Py^VFߡݑ5ކOL zThȼ@|б(PerawO76/z4x.YPGN`\`T9^dÌ[p;b&VzJƏ|- C*Y:G)L _ҍ r)h6& a;2ȃ#%`jzq'L iPtJ4J˕Y0^ K|4Zw1NҤ{3eI_>Lͤe9nYx%oxn%,6c5JqC K`G90澨`/F*)7O>5?Dn^H jv+R* l`.*olHYڝǑy-X|/« fƺ-GY( Z$n/9n.q(N4NJ3;TOEjHȸOMpQֈˊD[>*ź_n48d*X/.Ŧ~]9{ӥWQ>LjW>I-ZDe53)SHpueq\Bt[@Iz>ň۠=P*X{G:?KSm?WneL+ZtOM[o&L^S8|BymKkTwؐ5Tf%A.Gndp^ֺRuy'@bJ%IU8hA 0kJMbCN G23tG \Ws%13㼶 |~ ,*2S7{]'$AA OuӢN٨M@3D-Piy:u+Ni3$;sk%0]Ӽm;VQI|bY2h2DŽz;$b u!FNҹs- 2gs|bYڮ_ɛ03A_̙iИM1.q.>͈D~6ko߾5CH7ύّyU .Ű6ͪ%5\}yg :>/~~.D\3 G;& _&VPJQp vcA|I#̓,Yfu#ܐ<+> hwړ{-d([n Mf%`sX(0}`!ߑjO7hgR5S ÿdC ,X2o3 NZ;_Єx@#oP= &D擞I2#]̣@{H pK%dBmqgy:Ԧ>w<T).;[ gr@R| G884kW'";SCb>Ú4U}}Aj D@S@Fo@Ӭ$/'Tl8 zb@Y_ag~mԿxع:7İbȐ^Y搂&K { {}5wpw<^YVz? :} cmLGUJw_E|e~9i#Y6>㵇߂a99SE-ſTLZ|M 4|f 9IyW.d]ʮ6'XM^LU\u+F, M_~j2TU >,4d1JO9څQ O{5ǘ'Dt`5mw9NWWejMi*9á|+ۭnȲ=~'*,=gT#بƌIW<0Zm@}pR s[Kxn5? CI,uDNJGbG~mKw.Sc E[*[O3 i#bɨ2o¸;4pO-_%5p7!<ɯaU,+TF{"܂uqI0QT"v =HOCO(VחrVE% ĵ{̓xviCǤm.%P=hF&Fϲ%_;*9I 3: Ʋx|s3lUv?)vװ=/4S[(􍖹v?O{Ϋ:+M2UhTG%H0:GMHpti8?;3`$+56-{:b|&]"yLӆ\狑R,',U@譔ZS&8َ2? Mt6 A|ӓV egs*R g qq& 'ZϨ}2 ?y5Lu02UřeF֞Oh7˴^s9_b __WАE/gÝ)h30 Y}Df3 qۃGֿ&NzV:Γԗn+J?X4H[K Y.=tF-Y'Zť篡xEt'd؄c~d ƁA@L唕|eR/Q{2{n6!9/𻟫LO$[?rpa¥qن" fQ8K#g(\®L-B ^CI8cv <#\jo>q^@rtn/7'$QiMc%j Jӷ@F `+TxK7jT^׵c"sd00DÞT EK*/MA71)?~5>C6rvO pٽz@"zV?,qn\it+KT7! QF}^{Z\u?̔wRLRg$rM*@jSCʠ%lݫSZz{ '5Q~BA+ S~L Ӄ{UPo*䃾*CJ1$v'GLn9.QOgi{Ћ'y(G4!F5Xq]64hS`_[6j82FϷ+W_{KR% yLE-ٵ;g,`-6u, > \:X\5}$$ɔRwŝfr4;O=L-+%PA z\ uq@qR.̠֫R_ * -,4kQ|A_d%}),q-`Dac v:>m|Y1W > IWSaG+^UZ|zH13ΧuIT:R=ZXd řG3S\8RɓMc]zQ:%4b~)`S.?m8C֡7x4Mu7u}6a:1z>u#+%CGH3@=ϐ`ȇns18bI{c> ~k3.Ĕ-& cNpJ(˳¼䩜  QVǷb^KwC&QR_ fzƟtY $7>Qnԧ>!p,4?.vU06$DhI}|VR2TӁcy C#/{)<Ӕ )Rh`5cm-Y%(V`Q/hRђ{G7n F" ^}WwnaQ hntb|=)WL,λi=#C^zx^wuD/= 5&ԕ1P@#&Y|O"DDpGIW fcR91k2׋Gd)̤y:0]++уBkzTc&U?HvF}L85: (v ̪wңT􊝛j{VoJ+/t8D|TPa/`Q쿇8T8"eǁs{ ž^KI>Qƌ?#(Nw}-pju;M8bG Ըtf c:>؅x,7II|٘/Y]kiTbeݭi6<yu?YN3H[/~3Hi^0p+}ا&1; haqo @$S{v|WH6pĸ1 aY w'QG'/CyC"nx%U!Z~N>m3|,j#ђi6a -~cb\[Q̯q__6>+{bŠŜs܌>.7cl.Q SI RlDIC/zpH\0ü7WO\yVеϤq-_żIvl4kVk^V-#$0?|0IB۬ "(Tg=݅C흜*n?%77oNtN1pW]PT75+1@ NWo o`k{Duvmŀ*ߙ SG Сl[. 㞧=y,FΦ9GdGѳ3hƢ 5BD|E;[sRc^1"{Ԭhxh"I<%m>SYfyW8ع3 .>rڝmD1)c{]Dl`|Pr.,)8i.8m_A!9$'n+Kp%waH퇰pIUMo`D Iwچ_I c|Gxv;WYo[.RMGd";P󮠆?l-%frz|_?3_F=9;-2 מ-w$GD6Lc,VLFOf/.`E zEu]$ذ$D䎙/(vk'`ԁ_wRjPA"PHp ֽq^OY$_Y|Y W2kR\c|WB7X~ok*ݽLYuMX{24::O3Rq&ʫj:z_wk3CiWl+7ccDp!t1BW9,J=`cP3{{q@>9SN2][8l#vr%^͌T|\!tȌOqJX} 9fgu,9n3g1H{ O}D gb4VY*9wgv2 xY $ 0DJ&{}^^+/-F  ?@~-8=@0 ٯ+^?5{V"/$WGvt& MAn)O x}[@.*u r5M]!}lzmWi搛 :T䤙 O,Q:aR,_YN׳8&ZM oQ* &! Y2M)%DSΉHnw iAEfO4쟵>B*.uc_߈|ĝe\SӾa C-#ԝݼi]Zle$2c\SDeRB5Gex&Б՗ѕH,f*Vn4Zv14[ ʂ *m iS &9.֏VQ) v@~o%v crLLU^Q(q}rǮ@*|:Gc߱T;#{eNCzc߻:npTSUr!_M^L=36h_>[;)[/ h~7/4~:8<샏ei\` tA-qg_`_2Zcن k͎D5 ?/L])QϹVQ;;e7(oqbL*/yljvlG8τ 7{7 }|A>[*{|I/B=XV{go[BL9 ֨Gkh^_ wmߏnȟS`|k TToqg͕HSc?fH sCYVCQYԶ7x;ܮCWq]:I6pt"K{ [.Kr' |ȇhB_D= `Yt.lFKfOmN)BGEPCE1,g:- v~t6#gS7 g݇~Mˆ=e#LeJ@iuaJ \]9ap*(~q3h˷n63p K5_t&rW﵋`OϘ2*⊏j)ӛT.Œ?Eegi b3SC>|[חa|s8n8#kP#`OB}'wVoJN: iQa,]J5嚟6Eԕtv4$"&귣E=fF4{՞BpHܝiWꭆ_]]\#تi\%5 mtKz{sj8Z2?&!iu- Lu0,k% [zͺ/Kwu<ֹY4C>c(YQQ{/e?RE%ۡivjEwxN Sm3tl хMFh_ 7/'Hd -%#*)uLg8dZ}]D,?W:yFx*i?~?`"DCw('p/bhEǐAjs٧$8(eϤWd^Zְ=R/9c<7 <x rVEax8̠UDm}O:ԥ"xLŏ߾qrUwY9|%WYq6RtKꭧZ nuG#/,2vؕ!\zaBVC9J1p9ވZi/!7J~Xwo5VhwuB7M˴qU}JL/F tvseOc}W]^S" v3G6PvږC߃h! r4uǤY}Hut =i\ɍ |Û?`Mzk<{|} q||Wt(lxCͯa*sh AD,'@Jɞ6A3 3 z Jd0ozO#|>U)x5W,u,_=CX ?El3m*q\6*jJcP8$io HI xl@k_KNpT/\9 `j)&di.׷LK#l+e'C?$@e}9)vaA[-V@ >s>.)154=H. yw˰9ȖKhޓ@5t^.:vQ`%6 3TLэn2$pȬCyb_K]. (;aJ]O@qEv+ 9dl iR7h0AtMKY X6(i%bQ n/j(,= PA5 㠵D 'dr_p6P E$I =zCzE;5&W~=Qfy.kH([Ӂ*Njfɴ)vyC_i*[;]rR [OeI/Q;/8B^ͿD t`ywC!VB5iԖ-"2!s#{XϵY_#wmB> ~UW/eMPgW>ڈaϴDSQSprb*;~ iHcʊicǧJA!k(6ҳ$5.k]މz!s7a4I-=Ǧߣ~pp繀nae OGF lPP!׌bIjޠI0BgmhOSoyB)uEtѭU$E=Kb5( 4<9l:'k8w]橡`*QbHl-mQ;uWSkm!J b9!8l{$CF|V/WVW^s}Yu^lV]C>A|JίHapuM񦽹31XF $5#J3Z5\~+T_W2ſˎpkc:Yv۲ȯmb5 #\FU(IL_ˉah;BO\* ŶxWםC:+4]T%:i,ӛ|M4~12d3N.15kwصAOY&!lHgaUqqr@nxϑQ3 _U~}KK? oA[7a|%&Dz>o8X۵`F}Vb/ NE"4й 6g=mx2HoMOcFV*;T'-VY&5F0N:@Ҷo$N>"0j@)yV|.IEG\RX N ^~WzйTE={0ꇒ L1 "oJ0Իx_ 8$Z,5]rg u<"NQo,ƨA2O>k ܯO&GHށ(L)SyyA %$EKL;seZB,-w>[DO>{|KW`7OgS~ym%]Sj!zeAΖNt;k:Uqf>1O/X}O((ۅ{uB0y,oU J +73,;g,_tZ#$0xިHvL a$6}(Ah;|ymzFź/U?4u?}yfA's%_KHEZ^Uzaۡ3a`,A-] {5,DvK.Xܸo5ذ9Z}AO@Ńm!2V䗶*í iD> dܽ%%y9Dz$ϻ )ʛq%\ tW޺+X\ zL^ ƴc0fQ%_= 2%_1lL } *BXV^A8f/Y@ɷI`&?<\c;[#IU+pŌl2;b4JV됶l_$HUQsiWZP3 s}MPr)^f3xn^Oi"l+# \/\k4恜h)2xl[g/Mc_ Bf} Qԉy?µOھGJq$fF+pU@3>0yJ&7w#lzoK%UϿUk;ˬ-;S6I:eFI[g@z@WMw|CWoMNxG˸޺U]#Uqi+3椳7D7^3f83 q(8")r{A7jх(u7 l![[[i*Rq ,Xce0d3kdVh2zC,'F'v%]:"0gZȽεB[V̑LeNcH&w}48jjZFaB\JNSRTP]]k^3mhjǡgz;7xxw %Onگrɺ/v/*jU[F8(yUA]w[FjpUlQJZO TIdOb,֥lUãR4XޯTZtwdu݊t,xE[ˍb6v,Vټڂ= } iM.Z!Z%)j\jZzقo΂c+޲ۨNK P4Q!WO86DƄmJ&c&jphUJnwe>ƚk,cO7k Ś= x3 ⩉,iwAin}+%r*-^;ϏKE|>\M u'{M:j-ژEs^yZ.F< :մ*z4D$8aghPl˒"IeMJ0RlY^ T/C!VKL/벞vƞ$Y(lUZtTN_LWZ[ >{U: ygSC6,Tx;V+nG7Ӛ'vÕ-fCtYGup FJťz κattQκFcWE|azLvf4n+ I-Ͼ6:. ,z}nL]c]4yvL4g~2yT8* 4RllXZ ~a-OzBܿ*U03+Re9Ͳ @ W(Nvj 둓Mҹ.01wY.PoR]hU}clY|ݐjmgk5k-Y뉙8Xvwvc6˫j̗ʦSʊdw;NXURyBS9w]V'x6uŒzrEsJ́3gSm{qm7LKb7ˡ0Yڣ,~Γռ96~ZêVry*D"?̧h~l,}k⻵əaʻ4MWd۷ʬvv16:Y,hĖ)JR$!Qc v=s۵?6kpQ{+ @Rkrb~3S۽Ɍ$^γi߲I{ԫFũ%UJt":r6Ksq4̓M))zt6AE`M Ҥ5Բ.LB fbےyt fH3EČ}𬭹F[[UUzX }μ5vNַز=a~cڬ8llR6l ݨP'-7UyPuSKі 6sWňTmQ$- A1)a$f>՜q7缬O TO|^N.|\Rcxfax)ZZԑhFFmb-sLGQ['}uݴ(ڑ$).LBR. ̾x9H]wR6DT{dINV.dn-a8%#&+5qm8,ZR]AlMYiV'9x1퍢`pV˅S|XhY?dzh}CF\* d'cbO}ѲR)iM*DHK+:wj }3ʃz pV] 5clc_䃡1Q HvꅁDʝ8kV:v([Q :k¦Ai=kZ-*ҰF/őAezͤמY#1R%q{x"YNww,M6v]6b1Z)gPh_)NMIe1.|~?*+8=E|Nn=Zv5BJɠxMZS5V2ֱ+\Vi[,큟YYL_Q0sY)X^m6T5k]v4gfwL]UmNbU*#$IaRdr95BNE[hE FTG]˴eu3$Bn4d8QPj,࢖}{˅DY2$J=+1V@I[K?PƲ6}M6c^ LqmTotsy\ $/֤T8~g7,ʪ[gе,-rKA$P+ězQFǎՃz閎8vFRԘZZQ'lv, _t6@J]B!!K(ɡEV]z؞: eLEof31e'ȳh,dUS{Қ7 jvjprzLGNAFŬ" VJ䗍=?l϶WG-wCz_jc -Dۛ}p=gYAhiתo@ x yI=.V`g}J6?\d5'݌QS}5=*W)9RƻB C?p qT:=ԍj ;RbTc4ݤ 6xa?㶹YeTaDg,㤶,|Fg#nQ?(=,΍X*r)SCLgvU*V()Ml\|/ĝOz)mWB2 lSb-Xf(ߵLgqv<jN5-lvʊ:BZߋ˄)X"dy{+hG$4{rvXaM}Fw<\P2^Myө fKjz-uE9odQXީIT- - 5Ci.֦)INkGx^L%=i^f]Vb6}oݭٟCCnZ1Vv/mmi/~~ g`6+v>?yoj4˺eiU8ȹa\JASk ډz J6{Yɱfw\\0)"4*ӹ_~mCʮeqyzSz.Q_[iGd4S\uR!NsMZxL0nHYOh[)Jrd[[Vhӛ,C%JU>h~mlF^k%3#`QV "]qX"q>*.FheRjʗ-ڝ#N}a01`@N{qFf^joӛv?v(vZxZ hRVKOY<V#qnUrIϦ1s Ӭ˴n0 u$Xtp Bvwڵ#_&m>/%dycv.$IÕmifYaTв(7 _F#8\ǽ)!2N'[Ͱ'IS?aG0\FgټF6gTZ)XʾQ_1 ۢ1NԖ!SC-SOهJW/σUcB֚=N5'̜O>m) ڳ!]9IԘmNaԕbmmKq8m0ERu(5(B) /ڪ`MY+@C]VxلKϐ7a=x%} *̦Ccff[9g^ziu7OS)꽂w̒Fe7 q܊uIeV<ֱќNjl ZP7ֵ[@*6³=u:x:J<5Kގv0*Wi)x.gx)vf-R5J؎fM68ygBƚIvBd~Zt<ֺ:wMRs2,ѓDnV/)ṼrnX̛=ilhK5ŔuLfBճZ/6F7fl.nN{T/o^J{oY0 4F @!)IX1.z;?]#m#me ؜|^mW=ýp꧗52tI8ꭰjpI$^bVwg.nW$C'O":Fx^ܥ9bj+Kݚ,3ֶa2qy͊)'?nT\J@+LwD5?22gnde OMSgk-3ݜxE:=L s[un:)Rm0rh7 ԯYf쨷H I ㌤ݱhS䬕pںRpukoMIOT씂]%D-vM:o{|#^  `Yiu/ ;-Wsl6El$ӘM9[~.9?ӺkG Gmѭ\Bi=yz魣]jg>iFƶwH^ǞZk]VcܜDAm9?R% s 1XLd4DThY")C hhBE = i48V`~qoo^-B¿t&JozL \-2W_rtbX#*1,? oʿ WAHKDB ga"dvTuA 3R"^&sE(1zON.,݉]0Q;<9DŽ8TV(a0[QG٧>(ۏv-8QQA(7!YF ok}]@ʓY L-K=xKoa @}}~bB'iQ[rܟ+ E9/&+2`+ܠI?^0ҽv3oiKHcK fz+ 2k`HlQ$s@!ȢJ$z@BlO+V}RoF0:d/H)ܣCݎ? ?3j@uk+V#QT j8 [>qjeF dYQ_ > +pB??EaS'-l(<0cZST|5(U)5RLKgESWQ͍WFこo(t'_HocD׍9\/"P"V8HeN:eH?בVE{rUr7waD$2p%E=ٱ+y$˒LZ&GUTQʟ7'T$~[ ?ȖU~{ fdkLG,vux QlqN=Tƌ)H/GHTQR*"h%>x@ 2Qo|8ƣFGQi6 !px oTpiIB 6o95Rclsc fY`jo;wuƚ8NLZŪ B eD>6Dޟ~O$r*֭ޫ/[s{/%_[>)Y=XXϿx?&|:}*jSLe6l_aXS؀%"!  V8hRM N@3_hJ`Nru#̧SMG+T&-Q0|àMfO3\o=nq¼G2y$ }yuLD x(b@wxʉI>uTA9 | u~=SyL Px*aԢQK1B8RӝrǗDDr8lF\ s!F) iTVS<QP HhWxOOjP_i irq+kAR[nqQ$㋘\',T3+x(,FN[|9H\/u,%.+ 7;jVuݲZ~Ty~SXQ(?=h/8 |Q=ˡzy{x)(?j_QUD'0ghڿMqJ׍Z/|ny|@2~60%='>.u (6ƂIϳ]pD)ԗ]3Mv쫈?+O;H<߄N>C€b'H(^@DėU@d>~ $$ 4ȋ)UyZi9-Pמ`b"|&|ZE]P$-(駒0e{"2R%&`K `bLj/*c'`rRnB1N,G0f P[|y|N 0BK$` _#!>P-򍣼jHE&{ MTPG> Wb(@|<^7Ckf+D\_xYVf+XwܛS$E;A2/j|h3P " m& fJxS`4'A7s'Y5Z\N%R鹩$1 >00 81Fy:0zJ2_yK8a**n?H a|1ʘbPyP C&0/C*IH@7=֬q|ZP')=LD7F2(͜ V"e| *W _%C[i?(K2!!I00W"?vY$eș@׸QB񪔡L}*Q l %'@eIѾip,R+yACL>I9yH`8c 8C!SHsκX.\>qsyso *qJW) APRNG`(mΕ.8~,,52uCc":x` J ǼX%xE~EBr\ڔϗ%M6/E /SG"}~*cy ȷ!,R2D< ] @AC?ɢʫ \H'`r>ĀT>ڜDyKa,@Q8r9Cw']ˮ̞F6*Qw@y*%E*]§\|Qy)%2Am9 âzJQ-z`U"Ptu{ԼHjU_oV5glaVvًx5}c:)y{MEeonY?o(z??O+v {>-WOMWs7Kޅ^]]{^0椷I{gT-W˯Lq%_UqUzWrI\~Xx_Gi9x_z ( ?`oor*JQny^Yii7Z*ܻ(|LӽRCouJw:[QxESGyS^LQ;^("]-x|=֏9.2 ~pW*y?+c߶mu~e>SiO/s}zR.~ߩ5+Fj |E/&D~ ośi[ Sy^7->ΨM&&F;2uNzWcay!?d-<Ͻ< -"7IQ|Ŝ> T@~DdI@+c|ɤk^V ~{qUJwYRohQQ6D[K*,f#L&`g&ߏ9ݴC4x~{ |w}doXU`HoIu㜑πRd?tSo$kςo.|?ݯhᗠo^/JQ姯;-g^l$͘+(J%OF0cVW^Qb6)^bn7~rO|5y?Vo$^[3 1EA䎟U(zԫ^ۇby;w iμo⋪5% 1 L(45Qd/`D#T%>JZH$ߦ"We&wrn?Rna|evn|ՠ[Wv˝Źx-8gOs;ov 3M/߁)$GY|(O~ܤ{hPPQqѾX9\0(?'ވǘeɈzn~,q@>k&A,5W ^ p TS$)DDV(<8e/N~ bcf_m ̾Eoh|OӉJ'@QCe 4"fR~U(+>|t<ߚJ$ AлBYK@>yWIPIy>gM_}{K >J 3EVL[=W<*ŘyV*`I499C6wbSD:M,>\KJT ?k Vq/a0 ۦt|L}L@+=^?w{tݯ_Dg>G73]P~N' XQw4 ,uTm7?Ӱd(Og)뀡> ?c @Rn M @l5%!btYo>G7(?;?QgiU3?!Tm @(ei-7@Tr?[EdJMŹ,!W@lQ~#_1y_b2b"#)_#V' K9P|6R4e~D?1 +| 2^QA[<.|kƏ"|!&K__R0B/RcIRGLό2M᧧;RaV9YeLUh :#G Y+1g30wI~7?ډI~~ή]*)!։|2TrRBO[1( m[p#r/1 M*E-Y,@:9Ϛ"*HO^*aY䤥 GŪBIi4{oQŸX~oWK?j%^<7&O0~UowdtK:t2xK:)0$m7OwbE}+~u lߜRe ?˖wyʜwq?nb~yܤLK^ a<_6t!J 1TJvx|/8ϩ g7oc50jsa <x*yem49KJK446?hJ'}6utw-?gˮ/OO7%-PDHU bϏ} ^,-S@*m@\_9@ @nҎ<۲[ aa'y]o\A*˭K>?Mxy9RiOl J5T_Ff^3*uJ8D͢X9SO\'heКwhYTjCyhJ¸ՖZy+0e^\,xFO[',C8$r>ã79YYkymAٖlO㢗jQ]zHKTJbiaX):ƌHk}2I9/heg dWuz)c c2Dx 8LzI9(1͑eцrV{>ޕgبR+Ud PfjUNbwA:Tb4NuTp8W#`Bhp]5&5ʬ1=.El-/) T82馞֋C֜w6.0;3[XȗZYS ce"i!R]sTZf4뚪iQPf mXlnIAo58nRh.ȶ7uǢnˬ&t l$ v9r&uSyhr%`,[ټĶHŅ[LUծ7RUhGt\f%->[=6J&F4.~xt/l1]^ Dvl#4R;XȬsN^ujt5sw1xPf;D=*k|;u܂S*f3q|D/輟)byx74eQCp88$xs=ɠ8if~G%)ʱD5fլkqyAOzyk>u*FaZQ/ I*0O̭Gi3ny,bֳ;Uv 鷪`T98sH6v'ƹKFPNs'K*A]y P0&ULps/cڏZkESW +\s)nZ<ݸT"56FͶJU|\3…h));NV!zl&=lcmFδK7-aFG`䴷Ŵ9W7Qt\cՆH\Qu6f@~0@E4sP[@EJ7 w=:XuѾ+-{nW!.>b :LphCmhK}nf!.QUM:nvM 9.VbjUď4B9$bRZ@.1Qt%qR 8mQbKm4.8Qu,opuf{&M+ 6܅o%90PLyzb=XutbfEaB}0 %iUDvڄ(]̤z0:iEX:m< 1mm_,lްGr{]w6ܭs9O[@}8 V6ߎ.?U[iF+$΄J6iO]KY9jXesh]kd_퇵d v@&(pԆw):FқdJ(թT;*ב(žf'@x /OBbז;8Npg@E{S:HKiHLa۟w{cX5tK@}MZ.#z{|iq zB@—dL<+G4}!o:6u%«YChȕa6LQ+j*+tqOcrrLk^SdJctGnۧR%AcۜbaD_s "Wg@U_Tj#=$d Vwh(lC&\^Ͽ9=&.$~ORY>#2i3LA=Qn;^(\!Mm[5ǷivwSdN9٦H˵K_y|K z!p#Q)>` 3u͞-ͫI0&p}$:?7 ,@hZ"vz DᔔGXN"HѫIr|2ql=VO{·]x5¦!xfL $wPݦ/\63C.Г[*,rERSG^9pB$۾hf?X 5c|OEvPJ,ҩ#ؠjK L>6^ɶkTnI8Ӭeb.l*,zB/%J^kݯ CӳiP9XMgEzZ 妝JOXO?}}< d~!/3'VG!Vp}6{e!..3Y$#Js1_rh騚 ra{rd}%fjyPU-=׹o 뵃5(H(L\&]ɮܙEQhiq?6=(ӬO EЦdx89ძg( *#Tm3% wQ1 D~Ő}d"#ȣ*n:-;Nv/TUm_|e~ކ-wƪwPy $Z9H[H5;cLΛv՞xf,%4)5Xh1\Bj[Җ2ty]V TIF65rC3.F3kkiL=VR:$GN[U/}/>1hnew(OF IFEJ|.q k6 ,KknYN6`Hba09r?cEjE5o@;YO1{@T=I>z1^(MK)r,.JhZI$9>7&-OkY0g?$M1(OFQ8}lA/'r,<=(Njg~2qA+6~B .ky,@IqmpN1ΕgnXTՇ&1TqԿ;SP֔MaJhg]0D#4/:U==Ab.$Acgn4F2v Œ =+8j뒿 @[0 0˨Ls|$К|T7nȒ @9pM-IIl :۽۞Ksk>qL8 S}Π>vvs%1.N͝(!)k޴9' >ҟP"Kfr܃(!S]ocLyOM fs(&4E5%֮p GHM8pk]SyO3>u U}dBUYHSuId֥՘vy冽Iz!dV//Z}7LDkT* mOhsqJvt]YUNK)Ě"|9x!zx9^ Jg%҄{랙6غKt*cl/Ys ~:O*36PA3JN#xB)p[S;J_y4HRFd6^s %,񳝃ܽ> 7 g;Boq<< nSƝ3Mj0 |! rO57oi-/fQ>qCMo.DNZL8w# k_W+,t. ::!"+&ielGR`)y^z{]/i#=,KwxbJS^:`Z=M_,p%]GSd`*WvhkcDI,8fį2}p.SmUݠ+jkdqIt(R ;f2 T(4l|?D.R)JDRS8*1kmJ+@΋,/ݦ̿N#U}I_5>l~#pi>'WP_z6LIP3#]L{,8Dd(kozH؜$`{ƄYg5xFzlYn<~]@V<˓jTJ;GU¯=5j `I;tBWx d;/C8ϟW[Y?BЃم{? eIR2dHw3Jl2K:\t4ck:BP@@?Unč ),p i4;;nH MÀ WPA@ ݐozgT6̱e“|_q}{u*_ ʤP9;mUȢ-`kꡰG2gF?Sڟ9 eF=\z V +#rGf:#l1DjS#P5' 襼[HIQ*p= 2oqQ23c=ww GCϖN=\\\9M;~t.7 R_] F텹DjiZLJ.{B޷.ۏ&፦"`$uM9,6{];64 7 &&1ƚ+uPJqL}o8YcU R54p{X 7"o5G'@҄<.Q!) DnR@ ͶϙktZ?ó;>2x?$Z(ó MKR HۣK>j'*8"MF(fTæˣ Ҍ #bRJL-s\YP>{{98"4NͥӌM6&4U9'Rp_ocx粩ƺ`VQmuzɆɹ~ӨCZ܄`xޖ{f{H{7ee4"S]j ,,;HҕqeLϿ. HrK.nFO jYLfTtX)oo.i; ȝ9Uᔒ0`=;âϐu[wwye-逛 4dZXV1[ҷJd\Јfj\(;ډ)Oȟr|w mh;/nJ5c$d)9Ez?!]-r{3u x p'Cצ aJk {Ùf;UU͝ MF9#[Э6AG:0A񴙊p6J~ Ob}ָ=6鳃>| 4*nRZ{Fdf a1+Ri:[>&OAuI҈t㛢/7Nf:صGGo5AZ=Geޒ ȑB9a`HŐkMٞ&IHPML,/*gAP r PS|DU>}=hEHHV}I|/*xЀT~hV{@uUFc٢dQ1BMc7y[K  GN>H$KC Cxۉg+Vg1&8If&ł-k,Ú9j)T(\:,Ƚa.I sS@ڸltרʆ*B6ݺ>5b&ƺq7#30i:]y/= 1n<>?|7.ǹ+էz6(s} /Y}z>k"} @MxA}5ђ]/>}PakۮF=A9tWǠM&iZnD"=ب|R^g|*EɓBj?iҀ_[M!.i+UޏjճL2v2F}u)嚴w~B$\PٮJ4@Ň4gu"4ѐIcgUO~$k!xjӇIg/(   ] @ ?%wBzO!15s2A28Y呞gsn] Bߓ8 ie] M?/5\n$QfZW#CY}WRK'C$a.Fn繍%dR-]+dTؖ!wK=28nl(n<<ݡ3'ZOǕ؊iM[ {Ƅ"aUd/2OR ŪR`_5\>1Q^O`!w>P:Z&yzY~o 5h=EPq_fy]9QR}BFmFiT2vd_}B8'%j't_zܫqTϧ }nj1߸fptIƞ=PrTdb&Q{dQ<rI8khRߌ.<.RE~rnD략qChOvOD[vtseu# }mZgNS }.'EL9Ү{J 1Bcbή b&}ͻ52:q԰G7(y:}VXT$Io~󫰡0Ư^ 72QwRNqî"z-FY_W3v!UܜhqKbD~K/E$?ģ~;=GXſoI=btiʩD q0BxngC]EfmfMAtP_ͥĿm޸h\qĐW3O@^w]CO50UE)z[V}-&iJ ~a\6 "hZSLϘCn OW%i>G$ ,v-7BIOkB?( if$E1R)[[xpL{_6EDf[$CXYB~!0~C)òxo[4L *͢\:xx.VͶ`--,wEhs'4*200i3aAOZ޿eT~*E߸WQW7r)l\y6(NsR+S?;!c'y@鵯 UvO{u_I\ Ng]0!Z|(jQcvMK$߶3k}//- Iy:{jwݺYe߽b/n 2<&cjm~/VP{z ^ԷQ*7yS4_*Y]X?|[0gʼKtBS|ܦ>sE+ELnoFkeߗ5܋)gE\?a(Qk?hDYF\zRnY/ ir"db4WTy=\)%Xs2L=ǓZl)UHV.mУ6_JĚy<;~r!je|2fly KUh[LT\.,Loߪ8G(cG-_-D][[TV,嚏>X]5's>~DI.[X\bwN)#u?\H%uo}QfvDy:D-zrPkm-"%X H\ڸ)'l5A\L.utUʝ= gs2+bdFz~inWa鼞ՓKPŲzZJ{oWo,m%v9U0:6n)MOINҠ?=6Mr -TIO읿ߩ4ˆb0)Yl8 i7Erb)cCB}~y\Tܫ]" ƿ}|PjQh!__͕ ҷb35X{,xxٗ4fo˭~Fj֬ӻCqga+Ld{8J,a$kdwS%zK.7?a(۾fdc]Cu+ͨįTJZ 1P#5z'tDRݙe뻸V_TWL]D?OHoDcK`qb˖f^V'Jn>/7ێx.y\.yX(؀WIp_vFs8㹜A <2#>BxVZe5ۛ$vpmH1w!i#wK쪬I-FO2>)eZեhݤ%Rywe |Y |Mac|u 2ܦh7Ս5S>= H3g+ W םV#%:5tEC\fZx5'.>pVrC B&S{:nYw",$M_9W!Q1,o:9 ꇀR\ L>:+C}}-rS.m0%$qvC"ϷΏaxс?|R(p)DŽ/-kŃܥ{FKguyLJiXLn5Qc_ } p ܾ-K`oGxҗ#]Kȷ-c?>EݾrHī7\5IYYkƪ_(٣+^לcW+1]QO0| p:/i7A~-+YPM+ꠡϮbnxڸ4:'WbYo ,E@:X #Il߆VMȃ_ZrȽwbh&Xm y^ev{zJ9@+`z~p:Wq;T jAYCQr0T,N:[H($un/h>jfpBXc\*d~; 3Yz\]1V+%L [}wtچlZ=#`g]:DzvCox1u]d7ߙ<~zd~\o GgB/t^p>!%/YV_r&/.`m3,m%@!j>B|@ٝҊtW8J~6xk^"7\Z_Hc?z^`.r7L*'47_k^Y JoL`Eҟ3MGX8Z?Eܞv|/ೀ{m`И^K\zr #M^댲]+{%7>gqmn;BW>h141!#?p/5 'viXKR-GlMj7qLeԖsnB8_$ [uV_17nԓͯw|AsHģ:?o"\zd3v3y (v }g՞ϯJL`QzO7HЗ t4(1OlzܧeHF4LgyYVv$#~] y0nlL`3/5D0zCMѨsx^FUCk\^`])y! ` laR-M1/`;:^Ή&zcMW_wĮh<(g~ H$oK~Hu!6^nS[).3=^~6:a5`ٶ: D2R_9=L V԰//kDʒ}sVAځ9͟3w7jg# < A@bԛs6 W<-_\V@Ytوu4<sknHġf(kF\SStB#”:Ŋ@ q`\]ߗvEQBd>Y5 7:;$䊶)%s6fy/c K^ L:VE>-Q+`mt .LB3b=bH,Y2+bL1 VퟭDz(-mGo:Ku7oqC|N;cW^UR&?c7p|6K. ^6((9`F{Ű9m|ޡJpױהOwoI& G?'3^C葜Le_p@W@XmchG6q/ c|7ȼFo ">%eOZ'қ0P6d0;6q<+EP=)h7y KQS%)%4G`+tYQVk~| Þ!o;l^V݉ *x:H7Iu,.Hdx%\9g7n ̾3T-$R?@3Z3 aisR>Fv"NTW6OtpYZF& !:e~Ar~_@E$%oP7X_ٸ%0 @3X^8LkcX<gSLV]|jlvmEL:n̖Lc818,CuB=[޺@Q-b T>yLkT̲s&18A)i:hџͪ*ٶO dBa` w&j^9U5oEs$dl3Id.yhnA3$"d/V:mO1ܘjƉ嶼FYql(YitydR*w|SsPf[qk=z-t&R㬡ʶmAh<y N^k7ǖ~Lrli{%R݄pRT{J?zeoboԝJsՒњZo oGى/%W`q=<^i~x4v Rħޙ/+rB(Ey_) ~eS7TwB y57/ mR,GZζʭYҎy M*Jfn/@щ7j6t(Y+V[x(p|?ˡ֔l\۱4TΥ6ٌ͋tѷ+Y_ :q٬-E:uav*?leuɒ쌴ћֹ fϗR?(IQc[ Xs8z3cÃV=EKd |͡Z%foE =ߺFqc|_\ڸmR3sxL >^~<N*L{y%[[ 耗<"!:nH`VGE 5mt͍%ݶ ƩxVVYe떷Ux}s 6l7BDe֥7m*#<_uV$xA;T{xHI o9r.dA ;WMfQ2-EIeaV;iP;D$iweֵj:y/`#*z~^lG7ItI W0V}MtۧWarqQ[bf3KZMNžZНK%]|2dyh=@PaҞ̒uå巋2k3Eْ,^{Qc|1]j*T(2 Nf-n~m|8O5RpV;٭=wNr=1JeZAԡxzî}*˔Sڞ&@aj&jqBp\-V'~.[킥 <܌^0{!WfvzTGhX)zR@DNs+Zʥ^0v"tJ-Y:i3u|Cx\y{g7VNR5(3 79U6{ml?;M7B>ײXvl`n9NA1i%̯XhAhm!Hjf)+,:3xOvN2VWzU WKO$ZXp!\}Դ-;Ug_NV[g Y)1T$ ^!5RzMnhBlJ=Q7D Ͷ2҅R݅R/FTQ֜(YrX sm=ǤߎUjg'9K>-4 >5(5Fޟf}{/ԁ# 6iGfSAQb-ো6'P9¯Ѳ VaWLCii]k讧zFR6-68Zw !|9u3{UJW~:qc}AsVѨ/龿CFh/V- o wQ{P[ݤz JODY)V#uFK4Lid(9v,^Pl@jkѱEw/,#(< pA3^jo!JriyˣONNv"n_6}sc֮"^jw`/az=,{#󨾻 =Bfjդ/E-Z8:yydsx|KSUW?yWhTl $'O49 ߶z\}Wv2PO;dS;/su}x4mUN:6q.9%[aH9WdzPV{؄!'H$?.t(V3]!+וtuJ @kKmTn:\Z۽RcR%hD6 q|Zǹضzj`vA0VQAw$hOSdi9el~+Ql'B\&>;{!I~|.GsL{޾ԍ醽qXVZ!)钝rL3R 5̺g[5qA]ч^YZiuNPkEQ#jP3fӥXAme|ZXF?k}~dl=}~, O<;x&6Q (ycĬavjC\`P(OyOS~o:~6DA׌i8],ׄշ9f cj>=30Z\mx훵Oi;gd U;;8 *G,z4rq^5{DBM>2Ua@`KIӤI^hVm=hJ+A{S9eijd 60,jIѭh c t`wwܧrخcOi/TZl)m2;lzhDW$|vpӹkM{M:Cgш.16DFc,1eqt X4}#{ thʧK,1tV Jf46HսѦ1vZXO:G2l!ǁe+'v'!0j6GvE8erݰo?RןHE`0AޞM 8u3>MP\fWy- D̚;7o7A;\Ziy\̍(.HۺgOI:| 8mwtS5'w.Pݟ;=mHIdSGN` N0pu71جү9i"L[ݞMM-C,yH吽1Ktn%bm\޲;P%qc cܓ2*{hTEhC;qVr;%qgIH/c12jk։D }Ѫ$U-q؈xN&Ku.m4X=]#P :f-Yz~PH?jgiM-2-.6 Un"0R;.[s9qzi'4֭e};[jA~=DHܰ[(2Ne*Y:vI}鶶%Nļڎ >uNHd6kL6ftHўLq.95T?7@iMPE7RUԗڟ[ť/bS^.|Jz|_?8O?_ؾ^]A¹ؿt_:[~uW]ڟܚ~b_,3WNt8'?ݱ%qRlEP%`qJտtjoݸ$D4}slUɋ(*ҫHdPgSч~גB^ E }oQ^F.bD++ݵB'wUY؟~Db ^ m-qg έp 1fWR\A]4v;b+53{0W62My8mčAu_M8.lhUއ84>t̆}~WHp3 s?,ʋHDy4Xݳ{ bD8 !oI̍U\d08ÐaQW K"a ՀJYOs2" f֋TQ8UCE "W) P/d+9/~e@$JH^@<*b%(ȧ$zSx+1sPB)Nv! y Do 1MaT*~dlHv;$үE:̀( 3 *,.((6)X96Zf2-;_B%ݡHR0dIRR {{WVeT>=|߁{NorN腊z:aJo_t Lj+ a9DTOGwC~;vTŘJЄ$"!TqIa1Tj"~jO4 &5HgRT',T DD5~)wJ,cG E)TH+)CAd@`|NL_d@NAUzRքI ]}!*rɢe ! F*Q"H"hW}Z:x~cZߪٱYe A HX7;9̒Lh2 _EEXxB0w|OL d:&pCB d,jL !=',銀2T9PerL@#P P1%`jcC|} B*eCTE.={-$AZ*H*{El{ jAT@2),@ N3 H ^/Q*/.T B^+a,]RT)WzljRE2 T%3iI=j@1{({2} _ \ ,)T&THU<%b@>EgM; `Zc->8`Z~$hY !Dŝ}rKuzJMX\ֱ9AV'h_#Q' CD2U~`+P p, P?+_ZKU%t" {IjV()Wf z e3/$~8Wy&&( %MD6 \C|rObΛDiE w-S+6l6y d!E`"%{EAQ"ns"D+qf)@QdpND)`pxaHFŊT@U\}%PERKpP؁H蝸BDYv @A֝ ?Z(VʕPc>Ů3 sSi Y u f`Ԫ`D% K+0P1D &UaI$CtǁRw|xcV!1Z~/kElAAQ3?C 0*E0RUD'>Fʬ&{8  S6+؋aO݅u cԂck~7P! eBQ PZ"U,0Zar0 ~,Mo^Qih>–R55Dd^5$ A9YβҗpQTEߢ}{ EAVԊt)AX` ><_b$#" f 齉,XQf %)T;Vr NTRas MX9g~({E/1V<|O$J,={~[RaB={~a\}u۷&H1RQ02y1(ƛ.f.(9F̂Sv *~"VFw*Z>z2:~޺A/T !3HpCM?6}ۃ)Obp,X}TC+3 ۿ7=TVց؂O55[|kb|~= T{9OJeKg*d,nwO{A=z*o%{ [$AC r-GvY4}qelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/48x48/0000755000175000017500000000000011347002065024711 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/48x48/qelectrotech.svgz0000644000175000017500000104732311200647463030325 0ustar laurentlaurentXv|: FN#\ȁ8q!ȑW랞`#ŷXE+>ѵ7'' !zyO}C~?π͆$Զݖ!Ap}qWng~u?/0 pۧq??ӿ-?du2%P]ޯ @?ey盧C ~Z߁u}?|o78 S8 f}ݛ {'<]ۑJuk&__7Vo'Bo3"]8˼ q\o˿+;HN55տ( 4S07?x^tqvؿAf=w=kXJ]?m&鳶*R~g/sɋ+x}_/gy]s~JS[n#0e-0~e=R?~_p}? ;X,#?z {_C{gցR?bw{恩yQ?:?J2!_HmOI0Ơ$ B~h %;N@#!/___Iy<9ke?Q5?xs/?Zu40A`4F A_7LNMw")OcB}O/? ѹ?տt͗Xo904 _nFj[7HN?>y$z_W Z~_{vo_xI_ pu&Ҟ%˱ʪ;[;'xcO]:ow}(#luO"8,˖oՃ+Sͱ ~!{z1%K.dM9v/}dߚ>%>UjB$=u|?xHyD*2 c#J5Gip">Ǖ&?6: >UQ;QFDM*vV9cF #kƴ'wV u ~.̎k7lzMKP;[6ѯCh;躴g?(9앏P1`Z.,|^h7ȍ;T9_5V' C줦HnNJCE4xYTΙ4Sa .2i0gE`H6(G3A6Cv_+Lh>`)X蹜7֧z%B_PE}mA5NՉQpT4PL+ w&;;0S~hƗ8 E?E_GvMLn,~ ߁fKp.͉crB4J Gƾlis< >;Xg1 u`U)sE\`~toM$l o*`z9j@*m QmaX,BDcd<(hy s/.1j+?00B}=N[uR0S]T̾E PTty]AģK`<G!( *TD* g6R=3çimA|=>Ȼ.d\>v dhx[is#?džh ` \v3ՉN蠶*W7 A'u/`?q!Ɗ.1\,č&)7=*kćW R2^/962x9b@9Ð߇ЅgC=D ͎ѴDv: S_\<'6<,h78tr((hG ֤B Z!\$i Rf'c$ᄹ`4bc_ u|#6V 9VaXֱh*Gh* )ÔV6l&DUÒB\Lq}Ok?XBU"|cƲ:홋ѣ,xeD4G6Dkbu_OYX+4dl&Xqۏ}x`͢;x/cͮd+"䂊g9#.Ha-]g**;mO:[Y@:=} s$ajd>0I-Rl !K̹XJ7sx63 N+e{Z8=|61,zkXUkuIg"&|`P ضEּEy=>qU߁7~Q!_4pjm&.DB3&ZzYX |/:M~{l-GG#ag.ߩU$N..$a$JyIgrbz0Pݳ}=^& -aoyGmс:Ui=~쥖o|>o/=dYC^i2-9x{hﮚ"]Nu16Ҷntq[eB; y)G7Gy}Kހ:iFlaq}%Y2Pa"[W|[[Ŝ^ 퉗P.1GPuލ(!3X9ӷt3bB.q*ֱ}3 xwRvǃ\^΍pHFrHS&c)z3J^A9E.OJ4m3mWSV){Mr Qmnܷw,3OBmߋa@t210ZR@faFR|3T> mL9CZGdίΩ.5ģz QXQ { ]Ej2etDM g] J׵nrAU~ݮoP[g Gx[H2ꓲn#bYT8)Q*sʮTM E9Z b~Nj14\p&%hd'Lla1JK⹆oE"e㇙euextw4c:) F—o74Mf&5^F{Ħc]cb e; iK=GVp Y:^sB:/0| ,\L^BNaw9O+Loqg_ZNfЩe5ǧ!whbLz/Y B+I"2RR햠2aǗw%dnBQ_YބFT.) UȽmiCSf9bK~geAVb5|đ9P Ԅ˨ ȊVEEZw F]-Q*6Htv޲f!,#ʇ$4 D,H=^eLe =BsȀyfe_Yɔj7T2]g{}lPGl}Z6m,H'<ܛ|gZRto\q_۟0AxKCwwRXX?>>>L%7|_*{H=*οurSEl1rO0X(|jS5m)拭iMKytefkݞq8-}OCmV0\362ܣX콎$QZىM^lVō lڍt)(W 1쾜z_yak6Z[bm0+1MIb ^QPa=(]m3Ό/gK^鶣lqQ*(|˴Ga{̑-$=Hѡ weGNRѻ^~5SUbT#dHSZa\Ѓ3<~QYXûdrY=[nm^S5cqҗy21'9v$ڢ]DPU v{g{>6s$ Rk >_gubqp4X.Sj2j_d(;QB*X}l<.+AR@a'B{Ҥ)ݎD2w&$dJ|;FRնvCDgco^Zv~j+iP_ s8uH04CoxH +_Cks4̾ ''lޏk77Za=yAp|}|;yAoT,IzjBsV`=9.[#? ST2׾O}hUOӍ,+:ڞhbmheoDD1X1L_,LTx=ozM7 tEy=h^[q0 ,q{y:ßA$g1*ʦvfgNe6)dN*4è^?UX.Qnns iBKۀ2cg(Ou_ƚiޱj.\m<F@KO*˶]j?Rz<ҚcO:{-Ea{ΑӺW(ȥM;Qq0 &t .#ɦ-~?@Mo-}{z`čZ;a40M0Ds0@ koҿ.S'~ #`'=4HϷnR,qt5 U1)GIxȒNzLߘt)e\єwWk>e82nSЗf?,Iw>Os.Z)!pdILj} 5ﶾib4t @~S̿,щbʐfyerˡiLȆ.FbVvi`$S%9}&;gv붋}U'q-QO\%68scc$h%jPX:Oj{_=fW4Hk<<_N4W2vK V! ֌0r.T|-&Ņ/U#NdԾI{!<yxw 0~GdҢCwG|̼¡).ͻAVnhͽ%;Yne\ 6w2g1P$ ]drЅ YdAwv{$ 7;L]X-,~K&Zݔl4 qX"-F:!?̸qI[8N`qziT-?YL&ra)gAm0c7wLsUy_ 8/o..MYSdwix< aArTuo9 ,,%jvp7X*ay2lo:'6 9W=F6Dzv!AF^෰b(qZa#KⶱK~:M a0)8h yvE󥠝 vUzgVLH_`,!- (#Td`DCa'A jeؗ_6|4's墨 ^I MXj$5ھ=ly1w+mtʥB rk;*fuOq~u2wHHV7L:orj gS>pi- K1y6!NY-4&ɥ #'z@XX| |`»u-V޸(4 X~;}@n, ]\3#;bAD XdZO&BKs)ݺV VE K6C]UHCt}JޥO{st8z|!E*Yߛ.,Q%F]gRa0]qQ`yte#\8EzҔKخP卧M(d\ }J#HmKa=*&y<Ȯ5s}f۫ #u|>hl$Fb/D۹_ΰS*I_mz,OS5LsP*_dc 3c~/DƘ!}.=n*<Ȕ㼂 ?[!*.mԝ&W=[ʸ/dO.*~T4 lQMs#՛5E({*b|܇U<(S8dv{t7Ս&?sPQBh]۳4Em?:4>#$ YZu{W`ܢ@fڿC;2gd,H5}` *Ǐp9m̐*֏) 'ͬA*J촐&6HN_em#i G0͏erU5MBܤ-Q~d;NT()-Y"25 +Z0@1 A Au5ceEmu>W!8rbqcl(Pno.!>~ )BUm=vhT񰣨z _E̱nJC ΰB~!*Ӥ8rc$MG`#X*t"6?)j(KAEv8^B&hRN+j͝CVy7!I`5'm؉Qr%,jE kg%VυkK/^wqk_taR mU-IEј:C]oLb7u 0j_`)Oq%L({b7vNB.)CiyW{a|W tz^*A8Yj MG8_e^-A qI$=nt{B!-DŽz~bN=4϶sTt, ]?ϼ Cݶ vjLuYEy/}c7} zC&"EM' on9U#t.xH/dJ {Ґۀ+;{0?A39ʼ#(.Vh)>ܩBZnsݛ,P!r,r+[zxw_OnpP@rbur"\.N; n. |pȰyb8u;(Z璥;-BN p~F(ի(~_FR;9#xVA+B1(A 6 K3r 7}- |߄$9dMhee[OGVͤ¦X|G u3s{M3T%_ѐ4OxkDan6 G̽:P#M_  ެ N]t5IzʟWF8vB3@Cbx^QSWY hvL~iFip2h'UοFK7'gkY.u~ kChb_ֳZ:}] Q=R y?X,lJթ0Ɂa_ϷأfH}l,6@>=Aή=GfEyW3][_lOXMXPe+(^#7H߬D7TS:,W\P_$.~H`//]ꞡ,8]F:oER yxffܦԬ+D@_Lcszc:$+-Xּ7^77}幅83jtEai,Q\6`5C.HeOLR\|7󝉂!1c=~3S 1{\Ewkt'Ycxh<y+ot6c9~q" VIP\H8B}ceϑ^nqCB$؃m_ %}q ; Pog7g;.B>d47N3;+kdpz܂[9:ܔ,QRͤ <+,U,SqG*|x1xl~Hot``( rH%JBϛI_w?R<'ᾎuϷP:A^} 퀹-5ero75 砞V҇5d{+[^OIcnB/N XÍ^~*Runm Zwħ/1ͪu n.oL +: s!5+O.S7z|r|mm07_q$l4x( ѱ1U'#ҴQѯ #%#k@Jj9kF0o&K]RV~ |8݆tθȖ;ƷKPG~`dkdYg57MrLiD&s&|>|<5Gj@'1}.ڤ^hۥ$*R,2S-_إA[dBj¸珈#Ab0^~UվqKuYt-1#CL_iŨ*uѦd̕OQ5(Ѡ7+!ѣ&%4wi=VUƆ:簢)@w.D#nKi BAֿTdVydTЏtDt:h'H7-hF|aIH+ "< J 7&g6_` ''P=kWmVK0 E&aJǗ3M8c!j(9!{eA!@`*GJ2M0 ^WXAz$Z]~@[l$-ΘW1Wq S^E/fcYQ! v1n{Y#(iE~,eut S^Ύ3\b-¶}}@̈| I2af]@+Cm\AF29)~={ObuFc}ݳ!NFlSKd*⼏UR[_/I(hipqZOfj?D2('vBiЍ3&V{""Ռc Y{nt+TӴ.:v鈆Dݹ6 /hph3A}m%Kw/U7` nG|P.;{ ;\Е?+nlR:_xW2Cy!q뀸?%;4 C}X"<1vNzy#7S=u Ep̦HnlO 9|pH~Mbgi1u%7XZ5ǡY=}/ /x~-1ӣɊd[k}YK |T~G"k9M>}czIFGndf(oʥ̽tNo羣Ωh㵢c[o@8'LUECK1r{/ןoHI-+ҳmkXaL٢ 0RTEi+pN͇h<ψm-Y?cG)J88 ݗU zۇk-bړ$6SCXkWc(QӁ;hzկ a;np eL#KXvI{1=>ffKJsՀN!&VUoȷ CDS@&GBLD4يPU2-R_|#0F|L9F3iry.W$#L%rfhn9үI0BҴ]WiQ^R$p]5)n >Ld/]c9w:_bHgv8~% H=>0홍|}pvaU:j30]<_=\D9}"vL7zycs ߡ~Nѭ( !>Dk$r o/5,rZMl-I`HPh>F?pM]Hҋ:kS2f_] Х6wxb~%?Չ/*;`d*_Uyj9 +{t: [ťs!vr|RZԘA46=䖯 x gwfrtMoP-X!$*?H۸4+̒NwJ^tPDV8d|4 ص"pPS ѯޜ/q<0CcfVm5 εH:b~e ذX3oiv]}m5&Ee{k+w)FgzzS-Ax3VH=7wW~+`GY4F-bpϔLK v \lfO2<n[jP:nnR:AU9G RK*-oF^ %YziIP1:s*zɉ oJ-?^ڥcB}ZуqtN$Iq[45|o]+ṗˌ.iRq3O  :WԼ ܄ yr9L# p_{Ʋ- }~w$7 PIaMˏ~U0Z~K7շˤ7,wp,^^]|o0x۳X .GEʼn΁~-5E~Ȁ{oҸqzGf|ڠL4<,1JH9r. Bt94ܻrK֗@_`hSu6nh 7U}1z1td \qq`rD$ENQOFRG|ḞYqً t!&pZIпcj>R!S7qsqQБR=/OH:$PM(^"9{TM %8·)g$QFrG0yՄ[_9QG2 @NIuQHK_(pЈ~% Cw6Zvq>>dH@/g¾8,/C"G5)lj~)R#*M|(sb{\%u[P;B_sYg{@A^&*mfq"tpoaߌtdo]۞Mv"k}*h1Tb."er沿ϭA-n!gxzIj29?#r8J5TDNedQ1GfjV`6iA;rnWO2ʃIHfӞ3.7azⶓ&QtiD4LU9Rz;HRM~_50rpcȞ<D|LƲR7? }.:Vnajx}XIz`^͐4U: jdSqsI /^$1(oe(޹q½B/M۫]|Q % j$vLWƗT;cXǡWUt9ɦ>}":S,m4HجhfgIoR/&],z/ъ4 HIk=.폦wS͇X[VxjS3?IA}2`D iCE 1 8eV(Hhy ?8dYvA?)-^5d QEʛd! O/He~*)#b^Q ހi@ew6GPϤ# m 8io?OP܊_ENHG4q7dLy9J6#*4TJhkmۏVXvV45T8t9;InBIC8*d^[IGQѸ+0{F0B_اѡy%8>Y Jo[&lHM^gsFYw;z/V>(z .guή ~y篅 3Bq1^wmY,zLdv=Mٛ` QR7-,K5AO5SgY/!o?ras}*a, j,)^1k.gCoBl+MOZOnp+Ny2T3!VTFUC7zhtT%b~C u"Z_jCHڊ4ICF`-'Vnx v*B%Rh\S!).d"y&=P#gP tC'GeJ⡴Ev?^ XH3?:cI2?HXk1LX/D*'\JG f"7:VX}.Ǝ[in} pьz=pX#ȋ}X'mm*ZZl#<%i*h#6`dlKI*,MO|5f)X:Kz[+oμ h %eroD7+3q#@xڷJ7ܦ 3 k tpJFW[}4/_Igɭolhz5J>"[Az~P*޽($ߚd"B&~%hϏy1&gݪCZ3ҡqt8 Q:l^,~Am`,~OH}pY–اRsH(Ph?tGa>1hk|7?ѧp .m YTroOZ\Gؗ҇Ək*5X9xSԍl}ezn WIr㒮t,=1&fPN/Hc9UL8:Kn0SV9`p!>͒F/&YO\o &TZ)ΪR1o}fYeE?̗#̓ 󷗋D9I_8fdOQP!g6 ޏ0$]p5~<{AGAgZu/ĢeX{ۿcH"I3^$-Wh`(&ɵ/n<P;A'SH6qgFk}/X-|F5yyWm4cE^oiJQ"}JQK֓glg;o8ñ33k|DldGEk(^SL_vI,;b[ yI64i=,y4O WVUӦ}oA>y%b9/`R&T2(lnH.ET&⻳;M=%{u~}U1!{?}VLxie̯n3kGwdA>h;s^Y'$ͿۜQZޠ[L9/ a^FrYM7ꙃi V%>Kz,FPC~)U#6&=0Ax鰳I7XO(󈁸pA@V]S(!TR j;`\>!^ՏwR_M+3$_%85M~\Ԯ.QƎix0_6-* aYڹ~Gʞo|X!ߝXLcy#Vn% =7!a^s@ιmo6@A[H7tH̤mcƾ! UwXrHoM q!xO_CH +>}Zjie\KdawڶP82.Dk<|oOیo,6s>,!~[|}ӫ)֧9כA0SNA1dͦIR 7n& ?H@p =O m llsg1ΊYʟlHnL{ccX0_V/}ٯҰ \*Qm'rK3oUz:l Z~vpHJMxX{bκm ފ3܎ffM[e⮞*_LVdd͗Ne;뵺xxҤ~z HA\ pe!wTO֐xh1~=oK#7YXz)fj0ЪҜ~"_ V7A|JO.P,J)ksG P{-% ns |ֺqa6>ِNJCBN=ҏs 9g()?֖(DT)bCM@Be;e\NH}ET=qq!1]#Š,;-Yo""?uWf.Pd.jZմfC3jJpG 1!XʄF/r&p\H8x^|"|ʲ5I ֔'jD3Z\CY1nY<ǯ".x_+o?,yhn[eHy<=Xã8W[cG_6I\5Xtp׉5{o/[Β9a nO'|꾰OHSY5έ6R$aIMS= :MGOJݑZ/YGaM=Cf1E!UB'm!4Z$F n/Uc6QCc \hkBs߮URdL3-##؄XA p&<#BS_V6^lOH9S>dvFeZR)Ȅ0L꾣z5 TQ𢏧RJT";#kuXj/0bf/fV0IfP↜+b`U*uIl)aA$G@z"6a hm5H|D˱@.DM3>ubqm8A&| %ZP};LҶ$׭m4Ya6>idJ4#:Go'2TKcz(I0S" \=gaKG#d(1ic:-*ٱYHoDZ8">{T(Z ~6.6[Bg`ym TOJZ9Hu'Aen|VD#鐭~2P=={{Y"wS* wR LFjK~\59Kjn>{Xp! DvD^(ۭ bU &Ŝ+'5~pGgvQ]%`A&[TP'}Sfq>$N`gO __ì9 mְFw# q Wj&/zy.ucK#xVZg9ob|-$N -R-Z̪fQfRiJ~q:A$=E1@sȬ-,wj$ɚgglIIˋZmF@QzBn/ E (XAB=q;,#^i`Z܆L8]Nt-pQjHL5ϑu2Q^z?9^k;y(+k9`i\}Lz NQaM%R#L9܇8d$T$E1;3%T ;6o\ipȟ};YH}׼=2.rZ2!H\0"mY f>i"~ X?s!Up{x6mGKۆ=&~]~C 4%*_Vs!㈅92 zz}-̘q [5wlU=G82XMqB鏤8'U9JĞ){^4fNsnc|%[;UTuFJŴkfB21oZR.ZǀT6bABn N/،Ӻ5ןW Ii);|(=J[zy=YKtp⇉ĕ|=;̾ҁg{"G _l I}G/kK>'_>zjJ{; X]}^WL?DgݓPҹh35ʺY-[?R) |*]dvtO1zJ45ý[w" tҳ,lclAPC8LcTNi5W4W%)Iصݥ8z[&&ƥheW+*jeUU-0ش^)+rS-qGJ Y:z߬ .檵%q:;||=-"}ha9 o/3I,Ӗ(#Иh(h d?$i+0s1YNGv -COց,r[ht86eYQh1,#jr8*$(uT8D<6 /+4\ v mq☝D[G)`aһ/(`f|A2RioDn.v+Բ LL9A_gUQ/N5;RW¬QְOn~>fZd-u{߁EV'p5c:)I(OG-L øޡgIpq_&Ld7p[;H@StAMc0pD^>ꪡ;J񇜇m*Ҹxʬq)Cst^G>cFDBEu+W%,‘P0>Ի e?At:]|~Rv$|`Lrb-xȸ KນOvA<XTg3Ƣ~x»`:!P=f^~na;(Th |;ak<0w^ͼ[ nz~kNt=Z?g=7'쭈/// ͝EBd'7{cF jIZ4~]9{0gL9'`aLX]Y]i*yJ0? @ѣO1 , 9jGѷeV\ALތqzwquo^bNB0/ 1>+zvB>X7᮵uf'@eDZ1Ra ag`]NdK.ې DZZ%?{m8&˘o_& #= !do:?З)]r_Gw}}Y9Q3GJ YC$ok%MiڮJreKEzd>9<{f(YZ;J)Dqy$xJXB 0&xn7&R @fV4uXS^M^<?WV'dm9<I*&opr¤`Pݰ$9DhIWzl3}n2׎u3z1 y E9%zf4(ƟL90klBJR)_>+K) 7ZwAYo*^q`9.cS7<y NoL5x]LjCwEI'˯YG[C[62Bhz?/ȑ$g-:dҵM08r%/ͼT6* PMKϯtEԼS"ڐVwqn_&l}mʌ_)dUq=4F,>Hn"x@m3%H\r"ӲV"/ϹU5b4Lk,l̎pCMS:>Fx%:7a|!ի 01 P>Rg<(<ik l$yz_ٰλ߭tJճcꖫ_ۢ37kYEѝ򤃣T ۺ{Wsʹ8GVml`&_9=5獏TC\ F.Td֥zjԞn٥'_U太D U„xT8698  ܗ_._}AXyl_M? ]Gܧ.XK]J䡿6EBEe9|6Y8\3UB@qn.X#"Urɨ"g&i}k0FOZhQ «@JoAuIU4"tdiٕ¬bieӴ1CO*֞k-_ ~O$ʝ\ʦzuC_c& $F!/EEg |SJt؝)(F>4js3ݸ=PY z<ӳ)tᷓ)|E_?U#K!mB-d aTY=t+u x>Ga>Zk"z kpNlt>2 "_(S󽋄f T g)>j;^Lrswp2uz~WC-29;1ɋ&k+S, O~%Wa#ڿڑAGW Nw>>m^t%E+QTmO%뿴3cjzv-0!g$&ж dShq/f;+Kѹ ^[ߗA*yH*z.3807Q\%Upu(GFf=,+3QE%{PS`"Q 3e @w a_XkŽ+,ncRI u>4M+!a1uҦ=`-ai-ى7~׹ >j6F0^ J7-ـRao MGu" ZdOy \!ŏH& Qc=dQےu_|Y_{!4b#~O,n̕A9"2(UA֓,q>áN@s=VÎђk YWICtif_ }qE/x7y R/G|YDW?էV¹z| jg,DܳDԿ2ez"1/\Ô93n󣬻U0߄zƸi?8JXd|2`tȹ gCB:[as+"_R/8XCc wSԵ1Q90`)ntYA~ R+chnxN>%'뺽:H vIPMFے ؓ[Hw/!=@.8 dCܝ/NAl, {KIcEh *0PKRq~zA[ڟє Ћ'wL: ,3(38z QEߗ(t(ۑxVn| /Epkno]sB;"x*:&̫Bz 9 ( x,m }<]*(">\Em!cLBGrZ9%09o8`i'2GkЂ׌؇Gek" CK\SKrP # (O@%V45"1ۄm5G~m[ׂX!c-𛁩sm]} $H9݁HhC]ɇ[(5&L:+ WV>~%ĺ^I\C>.Z*8;;|h#mܚ6[wN@ub)"4n{=eM0Ľ~3Oo e`QWs RPe l)sp7rvͤ9NJaӛTYImq{4(Sia!ua"2z< G+ S $q %qp\Ǥ]dzp'd[ R|#+Z쁄BژVҵ:'~'uh,e׫oX8Q>bWw o.{g4$WHc̿%q;h ,w%KS\_z͋ˋR9F6 1_çY ̿uT: Mv,Cz[,J߼G>D1Zڴ4?1gp p6x%hMIUT Lτ~4~ҤOhNRK<Ĉ/j,eSɡOpn1Wzd&ʗɳDUb%K*27)yؗ(ETqn ^ $d[uZkE[8c.~>RvF>Yo}RqVϮ:O0]b^@G 6E,P?c_W8B$|($/' 20-XD;&)a`ǨQ2hunu7Tߢ7`#&jd;Isrrwݦ ĕ6fTk1Lw{8o|R s|8]>3JCAcl `sU3m^e"i Y܃? x NfKbʷpZ ~ ߭KQRITD6([2Il2:׆%IW\rv{뙸6_K8Fq__5&vOFJ_7uHA?/|\?~Fj,&>hӎZ'cEn*.TAo, +dpH*a1E z'w~\rlDU#iS;0eŐo7a5)[N0fT=O"?u zYݼE;D{a#ٿה=V#y#ճOBztL`3I ^>Ph+u uY?}2/JVy2oz@e9K?ї l֍f9 uPkc o6MSGNȥ?T'4c $ƨRu?zi56b4ߗA2;[_wM%8* SJһrkM$J(_#൛ G!>C֤Y ¿E-qX?ODCƺIuw6XTzIG)g73Jv#1^-4S)l}~Y#QuY&!ew bEE.q +$p'lM q`="t%@5/jqp8.&_ 5w_=|* W#Ǵ5}_cD)\gCϏ2wwkk cI;- y s^r:JטV^WmR: 2B)XX=9sS\_c}X|?L8l3Oꑋ 7ُ-aGdS hS؜x%cb8^gQu%#Ij ~ӱIί )TTldDSjf\39.W򪀞lnK73'R!y9Qۿb"ͻ~tѩea4>⤴!VY(1[1 >"]-)=}޼\JK>h_sPmz&!Ta&`2"ʴCwg<{7<;dG1WY.M,3r粨^Nz}g]Q{CQq,p /icXkBjTTVWy<%XZq_XӂrJrsȁl\G8xRtñۓfd&f\S[[o=|fH>fh j7呰C-Sfń45T GAFԳdhΓ. > tׁcFUh>J?c9B\bsQ$ѯ_  ymgAMuo g->^f2B9E+Ӝ9ܷwz_}VpLWP ի|[hk\j|iR= ͻ.'8<Ny"H: & fdo}UdIKL9b ~i6'9d1 nN=Yѫ+!? _R| G{OFgya"ƀn@ 2^NI&J֖2)qoq/]i7os"US@uNppȫ{Lhڧԩݗ[}OKFL76\ dAc)wo[xyRϺ9# \ke0-6KЁR$唼g\N4t8b&=TPټ܋?u %x[$Z Y8|[crhf΅ ԮC;7sRv!7[0s'* +lo V;J4ƽ`v{.T_"pY D&c.4]85K~ Ѵg|P&ʓ `}Wt]DIDx7R},CK߯M }J A_cWw9C#ZY.Vd'y7f wpgu,h~uWslpۨN20/MiD$_Kj$aV}?z~uDL}mj>CHӺ.&YCx(u #*J4)vMgf1_ =4W~E4_5&pfϺQu^Z۞滋|b͌5-,%g3Ghzέ0fheosA3ΗB2Z~ fM] DȺTjP ǒ %4F1D!,J"zE//YHxjMx^[er'%ʙ`LwW? ӵ5GaE"1dlzi+)pH1;>*<;LzY" 7WKn?{O|ə;͙5 ؀:T>X4=qDPx"0e?( h`lB'K JxG|߲]I z'ں4\ds&R_CGד&єҳ#ck~!;qa9M6i^UY(7̹ ,D1"O1:Jj懧!=v(aG˴E8LL}Zv]jURDu(A!ReURLA5%މ9(sp_ 3$ ,B E2~"bd iۡͮ+sRӰZ&p\HIHDƥ_ `5XE:^${i͑CW uHu> 3}E%NHLnY6 DT }6Ʒ>11چ@@;c[w!4T  DhyX|lb2Y/VL VxX!C0Wb#I=fz~MۂC2-G 3_8m{8"qQٻ8Y96AtXI F.,Ocl߾Ӫ8'#8Qۊ}%o2ћq۵j(Dׂ׋PSֈr_KCሂMLp'[Hy!6U[via8ЯQO pij'8':?bؽ"hmQ޼+AzyL1YRfLvίE>T%R M|7=nCKv8I/kWgh ^Y yL Nbiļ# 2hȌ*!W:fJ2D.nih2 R+dnjF+`OR&{H!ζՓViLl&ɳ̉Nk>-F{̘QQb]X?#,~( G}vYGaqiNi^o VS%!m}Q7XG.?&J֫ӣʱlj3fQ{$h~ՐL͍0J q'"Am:IŬ]ʵi\|z7bZQ"Mp,PәV{-8AF0T쐽NQt͔הy$p)K갥n442K$!MN[M ~2M'f*@եbT1,cerZ~pHct=w -hOXO1RO>S 36 -'n'^rH$&`d߰H}N8B_rq[>+ im.)F?CZ^q"~=>A[f|8X èIbR776ٲ l& Zb"،0A 6A Y2i/--`1G=teNB:D  %ocg!'Dw([x V+ mdhDLK ЎA2hS+ +~ R~mZ8[0W"buf&Bt؋ Px`luWLO*'Wu@3CaΉ߆@ڮDb7g?G:NEHCDʔ 'AIhHܩ fGj65R[rp=0*B2stz B(z&ΐcijEMu$.f9w~S!O^V>|wh?:@Gz:+f#LoxW4C=[bۂ 1mg-sy!/ ?"IVgcnyGb*QbrGXzR rJ2%n˥v,I_"Jmw-}E<JM߶~\W>8s˿MdV@2EXG<$۞T]O4rIRt{7o}N-Aܲf}Ƙκl2ӲiI7F3 -JN$c=;9rt~e//$ޤ"eQM} SzfTSf $W9N5k˺C 8K{!*zvhl$}xШ|w#{ђS35++WrG5iHzb~>2S})i*sxn7h=-ii9-Fy0-r-Jv'heD*h+xf$`W)}a|[l׺yRXf΋a7,ݗ›9L:+b 8p'4H 45uSv6"۴GZ=\ߕis4%_O_^MRSvilqXYd5G6ϱ:+՝!DLwuk4Ĭ*&@/GNhsx_kXXI2I$JA o%?)JH0ڸc2Kҥ a O.*|'R=nT0,EǍ! 59ꥒgDb sz&4-SMBu1GƏ`v|rƂ'cNnɓ֏)`wY莒 XqQ,78$7%._ Wy:i N7Oz߫ 7_x#0@c(N1rr=r kA[BedzEX5KgW)]?MCXnpVsqŃ٢(J}_&2Gг4/(tLԃdvʙoN xǘ^i[&0'X]H-F(mQA3lfZ\ק2㒞yw/N0/__IlFC^s@ \'ZWAD>O2V,-1KqmT;K7s> hE~W AH"oM\|-/øu<,5frla}Iwi;=~7²JBe23jUNհxŞU誤r n/4f^PL]-X{cʤQӺr/V&9bjXDJdȏ./ۺB(p'' 8.j@$Z=5⩿ T?U@jmY>(YK4C!kQ+9?3RB`Njviag 򽍗BUaR8HbY_E_P}5҅9- 3630!ii8/SX5qE>``U=tgdG^&\7%^ !^MY:8-=88ۿѩC;PU\\,Au&ԇL#Kx/֦͏裧`a1mlbóCGj2njMRJ4qD"mU c>l0%o6i"nO?T4c{DDsыYb'~ش6a~ea:O$9%x}_[YCOFkp?dW>N4 nXyηBC^3xYXu| cIHrt ־X+=436TN:ar2J0cOk xٱt~5:٠DITx'Wwd='fqc뭛vщ:ebMG눦6kֱ D)30PwQZuH`N^3-jD2`ƛSxpQ`vD?ͣ54PH;oًU5r!Z-v}%4FX\_x%PkMɓe13mu;lsDl$MXآ(xCaȚF<ĩC d_ɀ'6\nnԍpԜVy_rS*(Y:/=)$iiUeSٰV\Og|aۛ+9q%v"•FX6fё% an~;B:R>}=*eaps9.ԥzv8tĒU_tƘz@Vs\\yYLa%o|9t>+^ʊY ix=BelGTnkfQ|#7Q~0 B=N\l_e`$p1Lb5ܳ @._Uty&!\ $4E ۀY󷆯qN &ԋeB[>" إU O>:~~dc0=[m^] ?q˓%U$Q#=%D`[q(F:čS?4ufc#{6>is3BW)) T.>ʹqLN:xBt0M#Y̘y/x˭ 8IPʴ7NTq[>W;绍CfF^(O.\]7}|I 4_?"n&<= ψ8:$G ^= [b vxœ~艘D.L Emu_]bGIONIZKzZI*F/bcZLFN{X~sN7he}+ƳA%[%[iH(JzGsSV+lC͏jqA.R\a잋Je FNj>}7٤7|_VaY.XSƮs m\uݑ~J Lc˛o@n,SDm+ĞzLW=1tGqJ:X*{U͟s{š&j ˊ_w[Lג R%[on]D딈{Z1=}ih?  aɔFZ$j~jΏ :1.)HJ}<*W.k~-b F=,\Dm^hW!L:fNuF.vGv9!,GPw2S|,Ph."L>v,PϒRE2W+u$+03/`GTSgyq->`Zl·2̪$ӕ1]\3'ķBbO$փ,`uyUvjI:ir`a!=d-oqIЍl, Jp2 tjL) 1)uhNH4{RYLN1X.A\* ᗦ8lX}%L!- +ْ>5,HAŎpa\:3c$ϖa1|4+xyo_Od#Epc b'GwZj}.',y}Z'Gg(p&z8 B-dfc/qbU%<4bb}'NE <>t#@dV7i+hsS H"Η'rsx[g&;o/֤Q5.D7~lT2Nn94b;˦<VpCu}\7NDpf$/@[( 5VQ(NTw:XDO8ھΖXe,^Ri^qI>õePYCi5*tꊣW6=62q$~}Edf\y3RJ̰}D;`rjhx,oE.T6䶼4e)A)VdڰvfN@%^*/q+fՈ"_v_bx񉕑W8ZIn&L@&>/Kj1ObE\Uz2*[줹oήDz&hpc cR-E)x#N[xKW_F-5]82 qX& s@۰\Mn%x4&hʤ{Ǜx_xX}B_ʱ8,ю.QX$NzgbsB>{5y Crkۋmbsgy]cNt}gZ=%JC}YX~z^ XPMi.@0y#jnt6*Ͼ@wL  *śJK1^ə~?Qs>VEvq_2̈њx0+"y(N_ZbLnqD*xԉN"kn?КwJrG11ӵt ߩ% :]Ot@u x'Ex7I,e;A;NK nM8mRPcMeWqD8- uhN=XRR-wލ(qhVC, EQ#Kj8iJ MI`sv6'No*3 -h^Ǥ0vEqW$) YAGXc泱Ft1} L6eJ"mNؗX̀փ4zG:wg=2pO6FQ^D0H8#M84p۸nwMOPbҜ,MC ު?GS5dX #t.ШkFlOh=J3' 1@ nU]|yqӘ Y *@R %W} Mk]ծW^B<=`cJܷO@_j{ ky ȶ=I/^j i5RC kaB*)٣X R~ݹZK6LcQedj9 kN'cfp^Yia(kl0xхZDW\P3dfÒ mW|T=?;௫kKU˪B_;zUH$D)1BR0gʃ(lY yIB\@x7fc,3 jL̛2$mFUY~A_?/S`p>]јPqR֚;MK:561Q^]3OI*EMr|$)P TʲgĞ!֓/CH޻ BHm} H:_O-`ʟxF x:i@?!Toҽ :P~lEuH\qe ,Ζ;);X[ V.w==G[Y-"z>3wb=(dpxubcWwȀ2uC ∀rwExY@Զ*ڪWQ*)db1Bm>aOzW*[bM kմ93oK^Sg 9vVtmj|>Qe@t;bo"DKqb"v.e4)w `&4|v36LzΛG eidZILK("#Qm$&2iR|,EX[ lOyN-^7Ѷ׌E~7 (!Y>c%+02ƣ=G߄y}~G+qdץ"5G~?,@$40`Ɓ5~1r5ჹX.]k7߂^sʕC:$4#'g/H9=oB^~˙ƆGILOY_paѲõJ7W<>CXb)mے~fvlL>7xDH1d Q3Q,edtx/uYfnut 42T jҾ'B0K/D,_EnYSRSf?B` =2C؇ʒJ`:#K aϓc糸 THg] V.aWTD k 6]guDLn>鋀XeYF)̙^güYŇùyGlEjZ -Ș/zQ Vwd$ռ+6^0@pn7C*`ݿ5ݥvHg/5KoM]ÑsUAGDլ-))'mـi'gsr{MY{h#un^S/ % 1b­~U@=HUFO#y%݀+DM ;8r~k*K-"ÿp v e 3$xPy%>{͔ޱ!,zql5JIwK|S6:ZX.p%!#y[/&k~:~ܫ:#`AI {Zvc/_t"X++ț @qlh{B7w:Bg޵PSs~ń[w= *9_*}]MX[$Zz޺#>#xѬq!8. b-{YքjX$JW?3g]'kZ` w%}`ת;K؊UĒE!1WeE!-4 a"_%>"x*Kpj5Zv,걙I4]4svYcHrKscaJ#R"_ړ^֨J5Dgۇ o B9eApZWfxj'&}c AIU^i(4zo3ѵbR!Q{ &T?Ԁct# ݣR*K>ަTf+_@U"Z(53 3#2{ H߭KK_q=LPB'up~OZQo&/ i`CmP^d3| 0=q/ ~-'1G'nz@TFFlcA뒒::$ t]o85XiU|uNli0eKd뿩KUl S@XU->rN&>9\L,כyp~-j~s82~,Z&GCUڣY8xA_ voKH^I6tfmu×JVtűT|ں:dt E0{U O Ns xkD|ގ!ͱEЍEW-m"S,#X/q>@rt j}؟$ִ?s(z| OEo +$[诰_/abĕˇWE0^,nURܫ}WP:fյ=|B kDΞv DM._Z 0ٮ-^?|U~@*(2*BGAdo|X{9ޢ y[W?TQ Ĕ%lC#Sdz>!E/J28 ^bO䃝3Sր/r.}ã JtK z]a dͮ˕cB#9`s#95҈Q@"@/d-!pc-lJT%BHm; eXK9hݩg4irOPn|?CG&ВEFnHcv\ۇvĀhJdXKԡPc 3kT+s/d&/LWq ʿN+KWұ1oa:큾'ɴ"L ^cUOh-nR~eMPieEto|eD/@%S-[Œ7V_1 Weg:mJ}urŔ/5 >PJ|7ߺ}A 3cSr)邒!iB}W 񔠖ٔ+GJ5 p'n;B֣J6c✧V쭺qMRlO~ |6̌PCgGFTH*|M3PM0VAq~ڛnx}|xM-ɭg^/+PҔ K69鋙%{Z_:o{x0]p(K2J~7AA?jA.b¡&o|2?a>0TE JtE([`(V&8R1SScM!gw7DQxN191Xuy~6Ge#:륐L0q$_o/WrwflfFTrclC.R~[8T=:8m~ǠDZ4PRؑ#=[N!Lx!J)^!BF׀Ǒ 5ZwA5 ҁ;(Ľ2qi* 6]oxSu+?Q' -=3 jK=mRJ"\ձDDdQ JeYr@+]#ѫ2;U}#mؠo /CO>1pjzf#[;I]z3޿AQ{VDgN37+y Z ̀q`x8TCT>?:欯,?{/>\U_)jvf 3Xh:ݵױS,/h;5aԬo:ue^wasx+߀b??"C^\;DQbf=s[*Lޥ@_ob3sXfywKWփSb{Ͼ>~qEKm✤X3'-l^&Կ|>ZpG+Vk`քnOǔm'U2KA< MC|PA*MRJ$5)\4V.w91#R-@3\uͺׄDv]ޜgjuxMWf">^i0B,!_t`KdCR/Vf[ZP3!nofJ%}Fִ6quRdCɇnQ]!!CrhÉ.F%h{_fb`UŌڕT@_JCGy$ZJB_vR66Gkg~sQ=0Ͳ Yo)l@9HPʖ:rK]ԲrMU^fX?6xi!h8}KH~rsHQv}qý秥gN͊&Â_u@eDZ~FJݙڅTVYI?7cS{N]B#P~Ñ,] :sO |%RϮ)#ZŷmVw_PDX[Ňm,ty6C"FsJ2&Zxs DxH"]pѣb`J㰬5]kiepU_zgVGn8x:}wh5g1asWf"gfreS^i%mJAwY)*_`E`YHb/mMIIkN]bF˵Af(Vi7h)WtX 󐅹l,xc^/Z)"& (|NA ~\ȄPz^ GY`R0S#Y.хőا/B?^W O0Mc1♹,@dG12[[s. M|=+J%H_fTCBl0C 3"Kh՛`䕺O-Fq عPAx餋K}< nTqQ[=noL?҉~##"&!rݲ6"&U\.Ċ&\ۚíR̾D~^T-Ren׸"zoD#\v2rWb/}]ƣM-v+ZZ[ƭ{[nE`!` C.ʿ"a@4>y5ț&%#~5{Trھ0) \;fŅp 1b=p`>k-iSvU ˬDΔ }KRZ G}Eȳ!"uW" $_nHrќ$f#=%@h+NӤGJ-_jA!`;GGJ!ZkYP Ĩyu+$͛{'/wG2u_ NZi5q74Q|ŸJm@# 正EN*Xzb&5LԔm0W7!;j^Nnms2e,)R|2#9?qQa_,iآuj 3kxIі@jh^{)Y A1 I~͎~P;_ȫӭ)#=G9.`5zhWva}lw=IklN"+N if~hԸq]Pz"JXYA5)}u+=KvT_Z@ec \oX7^pXɷXx1(eIJ 6¯Bt[M/Z 6Q(rhLl|u9$NAhJfMb;`WP )@^,alY25PU}nAGUI d-t> vj`!0鲽ÿđ:NXx_"j3V6Zi\m4Za ߠ2)\o_*d̮)Ũ";cnAvQ|:(pc^C}֖]cP:<]&*AfI(nGU"EtA]I+*ZCH]|1 WoR#G*|C>k"YT4n5uWM$V0Cz R,qKqr }:vxTa-Jm;h]>k=Dޗ FEQ LBk[& Pgogyx5:˟\:cv66:yB_ݺ#: ."g7non@hD2#esns0&x!o= )~lHx>r=}BO!iP! :k}>%^!vfp++^X9hHD41:|)"M^fI{_783܃[j>YW ױ5<2bEK&BN  An:w/puA;їaS+xy| ǓW {d=y%Ī/=/S ?~Ceh%`?;Or^>ƣ|UH8\LuKG҂"2xVG:J6fn١Knw.0Iஸ"(}4$!6US[=B4j,Ⳅ~AP|/Ċ>Sn]:#NG/ T_J_4[?Leln6!mܧDWwzc^Zܧi x=WQn#5:zu,e*+Ƶn:)Ά+c#wXir]^-Zula2@[^ ,KMP|L~4cYvW ZeŀK˔GǚvU% /e@}v}Ϲ$# _ê`D}~> Ӎnʱ>4-E $5X{oGq^O",J#dܴzgB"}:8mbXT`;ϾP`x ExƸWm (hVwgdșf{L AY[hwD TCu1G'^}9טY yJEwh=Ai^%5cyH A߿HQ{ B=!9;NnR F+z+3mtc6ʾ'E f*y0hp42Oq'J[v/[~ |HjteFlb&ο,&H' ~n? cp9d &.@K9R;8;jr C1|a}5RtUyacLnfEq7U@?r^Ò̃~kz* SimnQ!=qʣԲ-AAr;?LdI.j5vZt(~qLt]T<'۬ܽ? ^sK5‘U"Ft_lbpE濾ط>o/gjׄ^Q׺ oKvDJw!W#<կ '`f%vBzD\#F.+RG12 jS.P<}Kh%i艎T~X_ y8 Ws 8sȘdLeVZikCW{vwէTӋl212Yej)G?_ J H@"ޒ}nMt-nB__z'Xb@qXCF=Ly|<X/u/A>ɂ-5't)Rlma-BH*d 9*)/z<0Vr|a&o6Dѕ+T@[ O@/m೚W-K;oZquב>O4 wo-S4G T_d^Cuj+-ĺ%q0ćby\%XO&9JcQBIiGW&غ*CJsa֣yfR?"t6zU!.' J-;Ϫ?X#$q63IH*ܭ+>twYוU]{t 6}7Ͱ:pKH]_E-~6LKS_K%XCsa1zlƄd&D$9zKޘsV-Wl,VtgfJb`> Heٙ0~gHcO!$c01<qyֿCFI ,7Ƃ"7.m!(履$KĘa^ mvU[ix5ӒL"/ANXi~r^×H2|>_7pi tZ~&\&oN;㖭 ysսRi>"k' mfN-4F}(ҾRZo"2X":zHdrNկ*\#﹌S1ᮛ[vMl:]妁u#]6yKC"rWQ5 [HZXIeQaN]7RCN W}ݞ\7yVnƗ&k׏/F]֫7{lBZwZ}qeLҦu?GE ivS-zl!37$1@5Ikyl0hB<@x7ݖ|2ѼXrvzc/΄Il` ,ЈiҾ2Zc FKsu~!Q^_ߩ#j+뎍) Oպ- =dE ˩Ҟ>=GOVC:U-1+n :ڒʼ?RM%Rć D)Dc>ad"]xLMm0ۆ4ڶq 5k||xQ\~`5q8 _;?!#<׿{0DA\&d~mtV e wԿ3&T10S9VƄXc H2dX[,wuqK{NNN-,(B(R|\@ %{ÀWxۀ}ϳ-x_hg<> $ɜsInCyM#h&Wޤ1:sĪ1iavl$MJG}}GQ3 k/h\7dhQL}"|~OJ~lGΗ 8IiesN{S?#ٕ2C4W-c6{a%,7vw>K߷D8Əh>IMhX\o$tiIL;f0\Qi;"Vqz{dtoZ3>9>baS ss]lVеpܹ)F >qe9J㙴'+|%V/gRϟo [̌a:By[znrL'tҤSwH_JVkA5z42<.aJYǚ6dgHz,vTOִI ch\x>DyQya/К4Ҋ&Ƴ#yŰG\flۙ}fR,./v!FpT mDB% r^60?cJry(~3-Yrow/DC˼.?$H1k!Az0No1(8>i9k{goZSmE6JFEp8Om3aDݗ4m;QLk>b52ĚODBF^_ )n'.~_VVy@oԙ~o70f],dEOR~ס߄"iϯF;'xu(9#h(i[Vwu0)j19X C #T5G1Y`9*U 6= {n5^dLI6GkX=+ogCJ$JץmC}hդK؅ ]MRl hy5,*h}`M5|o`֨seD2ow0-swx4B1'B9XGy ,Ga^e9tCS2“ѳ]n*FЂ BRυpܒ$55RdteD>" `7e1=&R~hex߄(1O~ߪS@ '=z6';hf4=(5?e=?73BVTTqgmvv9i?M7V ^:uxZ#^>ɠIcLp {@NI`GL)KLk'dЄ}#]?e$m 2"ZHc/e$CʭPC~n6]&dO5tz8o3c_뭅%>GO4u%T}X9e;iɝ@mW40E!A{/ŇNN5]euSFŹYSV -y1&Z "%֜˙GJ sǣδyUXD\H=:UӉBh_mgELeZ,hǘÀKW=k(Ɂ1l:}FOⶕ F9g8$1kAs#ZmŇTWZڽq!̛ѣj$bs,=ڵT`ID =2 zɚNdiO/>\uإ, ĩ塘!DOg2iCrRALt>~۬=rI]y{ظ" pS=> ?Ң#Rv}KTNQ;({ .O>HNELBeR Ue/aeWlX-anke_]+}HmUt58~&W=m-m{(y`eثYds4{Ln FqXwѱ`3)0Col;]`ݘ[[կom_dU,Cڤ[ϭA'`:+lG$ uK[|aݚIw"w4B |C%- ?dyFa,"-2%nU=CR G2 wlſ !ͼeuC֡khbTħK0ΐ#^<^7X;{FK]k;tQSK,hohs|N5p\VFȺgC8+Gz9/`!6#R8aYau2pUYs +9'Ǵ [񥧩K\GljpމNiJw{yl@/'9(V_a "D¹uPȯեRƮ>Qk _lmK΀$I2OM\uغ;i Xg. .YաޑνR\>[7zfVg9Dm*Izُ6& ~Sos#xRuICʋ|>2,i|}JIfԭfƋFAb3eOK x+rL?:rs};n XVւjZ "3 ]WQN0 Y0wx2Oox|R_zDF^D 61:OPO;ۆJ,Bɇn9;( mD[w֭:Q39T{de + !Of#.YN_?Ѻ9 Bxc8Zjc> ĵ|\a.fvNdEk(ٚcKNJfn*7e|}o?|hMˬ c8Q3ͲC Q<$Ep ѐ1bDW өG d%)RAKylHvT7`"8 27V%#E)[*΂"jU:Q͵⿮ܠ'('mvׅ,ʳT,'Ƨ"ŵ;žDMmK 9&>xY}.m0A?6M$~ uś..0#i^J 'A^\ПÚ;oMS3Oz\ꘛb0'ek܁"Ypj׋$$=GN'|׿O#hUCQ繿2+8 E+sSF-aIaM5UM ms5i&ƶv^b'L Ў cƜTRȀ' ~Hjt4o^&\'m-I|*Pz*RW<aߏ:,|6o7%ƁF=a$DŽ3/uT0[~(QvxqR&V;;'} \ӄ)'@iuT>!/z:m5$a6%Gd#3K"1vz]iۺĚ\8/ lybI8ɺ^GkeDvOb4x>=1M.1K%ԙ-M=sEﯡŨcqڣʯIN<wA^dO6/z54.x!Y3RG`\`]dL{r|3eS3,Es=l%AqY1CAP<:xV 'kl@10Wl'tJh!MHE؎) AS<}}OrtNʒtVJa!qG$M7C)yôκZUo5ȭJݢ\r-O4՗c̺$^)X{s=೎Sዪjp-~avx"6gl!l"u>o/5flq5euoǒK}a^0kʻxڕk1돆n ViQܶj$b0]zxD<"G^~ZB0W-ݠߋԁ8Cs[B_V4?ms*·Pۼm~!Z;{R4_STq H1V0H9I"R Ș_:ԏlOh-~] #Z[>#y\M[cSEoNHF fЙC~K7MٓyT .Ű6ͪ%R}y+:6>/)Z~)Tr G{& _&6PHQr SIY#/A76橑rxKnD_ Ng;ҎLXΦf|#z~"x2;o濠 fU` Dj>Q`f`$QEpǪ=ߠ-sXHՠN6 17e98 {9<oWE@3Ye7X7;/9Ez]K5;cR='<:d'y``w0M7Df[.}#?i) Łwq1ӻ֡á/MU W y-g t ǏAї$Dzԙ₽1 ca-Z̦n>`b" ~_GltyQҗ)6 p]U=y C0k3B_Ra+XƭggPbX1GdARjDog-VMd[>*h/ZV )Z.Jn)fbYlrIffSRnwJFOoշ|? kXSyE҈uвO4UƑG _0|aȳ*SMWc(E *{)S>bZpy ͳt cSqGPʏA/ f6ɛպL.00>OTl0x6rF,kįfاf>4L$_gg[nPl4]q7y |q4˭ r^#뮾7k(W6SWUEO{U-ب&idBw!91a;_!D'k|8Y<0 ?Ŧj}r'QLI54u6tF;gNĴQ1zIU.+q+qh|-ZgG k裚!<_%NêXW|0FDB%5٤LQ@盛u=sdB*U~b8ZdO1#/ÿ7iAaUI;_@\kw;Z$9fmw)A3.֞unyQL,[c}NfdgDHxebSVԵ98d-:&?WҶ';tiyC] iV]ۓfjLJd{`z{ndrl3|ús0Ka,̀i盨c-O -8Gj+hUHll$خPF%x;(a'͟ԅ%"%d?_]gvEy傶Ewyo-y>idkm^$vbRk 6Jm(LI]̯$C#,߬S 1G# |D*PL#f!S{n9.ä>@iD90c'µwQO8SLInb3ڏ:oKw9cЯfl@믯+hHעP̀Ε~]E}R:~[} A0wqfՉptsؘMѢ'>y` !Hɫ?P2;@(ə1.uX:o-g% 9^@2a$wo0ٌ]uj]uCz3k#ϚDh+QkPZςd,]³T] eП:PqV/iåԥR&) |dRwwBҵk  @$IMzǰ)[kÄ=R-U%?A&H/|"65Cf+^?x;ƹO! >tVs2گ{Am\K.M}|tw񄺺R<կuHfQסW!C!3%@۾~驺&j =DsЃ2(}/;9*j> ؅苚DKng P(g "S3uK}_v|0y!E^#&j\JzIb( ˳=Eϓ:a ~,8>N)%g[[z#qdJ[ܗk=ԥl ߩܒ<gl`m, > \Ѷ:Xj2Cb8؋Z'SJ.ߡ7wYuz Pn}a5DV47@y5i+2!ŵJX2RH~50ЪF}&;Q¸ ί_ztO[2<>vUd5*4z;?.d?U鯷z>j=|ٗK#U8A* 9,vr06$hIʵd+wio]ʱToEI 2}}\.,uVsϱ'k1 =t\ %D;4goXN%Ob?A|P;} 4bCII9$/-t[=ʇLA]L*Y̛$PmWɽ&/LmfdU\9z OÕ$,Hh  Bun2 nEb9h;tE-\-}9D^urKQ$ ĴJ$DN2&¬O5{Y X0eq`/+@>yӏT9.䟸i.1y H?zvXtAAAZ(Iy;hwzA*q 73¶&ؓfeE=Bģ߁D@),ȟxW8ص7 .Z9.ay]Bj`|Prm,)h4S\ ݐ}$'~AWNrK4ÐOpIUMo7-îޅM$vO#<;WY#o.Uݤ'd";P?))sߔaɭ Fa+_F9;m2 ם-#"GD6LSlVLFOfF]0ػa&?`&m{fYC@[P4= 6HR 1Dӝ엜pg?R~:&qgIW1KɬKqNJ?K]S˔!OOKтU<qUVP{F'QZaF*$q@yU~?g0@l^,b`0 M{1ʍvGK8dU!ƫ: 0 1(ۛۯZJ ^_%@ZY.oq ;+yb!8~lXݱ;IvXc$ TiTP'qgg~$e,2H>I\;" ))w:m>{ySaBKD2>D"b8`2W^_u{am}qb%|8*7Q h usLyRpeSrQS4/ᶫMGv4~9 [d{f麎c3W҅WxBt^F>cU3|3\͞@NOǾ8i`%o[(NKDwV7gY-pf{+MlHw(kOEk ւl/eWfd|[D$c74Ѡ"3$m^MvϺǬp~ KXm/~Ski7_quE7zy.lZd Z`{?z۰P FbY&^Ie)to5S_ut8 Y"LGj!Krۤx[Ŵ)|䤣c'E{iQ4s _?[] ~X 19&*(W̸R/قc Et]Zw,՝G7/HdW< R"w)25K4"NʷO>IqHOagNދm>h }|ܝrg=xfߋ!u'ܵ}?!ML ԑ ssg͕HSc?VH P\~pF7 CRr le%A52]*0"˪쒲,t$Ye9T,rjoȮ‡VL` FcPџ|xBޏ9甝l|.a,SJmvoMx;SA KAyQ[t9](Po?x,Qt/l3&rMW { (#|4ۤ;>Qe4Lruy(y,*}m<-K{ڝE2ZA8n]_-Rg|㸹F{$AXN8q&z/$K+9e&(>2MƩtG_(Dk]++&ݗgАLZ8j}l걢4ڥ٣N $ݛvjH8bNEVLC.)u+.xo1%irKښ>\e‚d`wY?3tc m?. ~KxC2{|}.g**%M+<(մN+@ubzl;ggJY]8dmpCIH *8@b%i,QIeB'8'裼]l =ᩤuV~qmE4Jy(p/bh!cH|Z$b֖^"|Au5@`0b([ O HeO+Fsp|%90< 3C<nQ[]t\T9N ;<>+p˯EV'z)uֆ[={Ky1ve`V$^ءUPNR̡4NQ0%R:sUkN2-uu\U_ӋFBx>^ٓ.>޻.);#(|Cσd!r4uϤY>vxdY*&IkP7::|l8}Ǧ Ý - "ζJh]A:3  Ȍ(\<WDQGg ГJn 5ΰHk?V-g厖~I)@տ"eB~٬i=Ha3.pdoґ5"6}gf {xoa$b}vo[_9'o%ⱲФ_ӍvD<( YV$ˆLJMsI;?̾_.o;DQ:|1ü"K %{wk]%Q/7׷M ?~GѕMopQw}W9LeA"!?HȚ-h최`o9P8P;iO6 *|o`{/ 񈷞OrFqU;GA`J&^|KLz KT򧨃 t xJnatD$44Uz③J Ery0䐽-WjIϨ\tΣ蚜˗/A]PnJ8c_$!gPX{02JkAk6wCOrQ}HMr77&rw70 1Tנa\3&qڟȺD{mlH([Ӂ*.jVɴ%~zS-C_i*n<@芷$meI/I; DY߁~,n_H^IODigj#{=X=Y_#q^}۳Y qRؤ| u5g!FĮ{' bf>S{CNa@_~b4vVV,_vz4^b3Y'=; @R3f %Nd.? . 'GE闤zlzzF (X_ tᩗIB?U((ϐ^i&Q1O $5o$Cf3Ծh/Kg{B~)uvEtխU$E=Kbw5(4<9l:k8w}SCU Đf NwE!D?hZZk, yVg?n^2Eb9oħm}e}uEJ1w^XG{x~}UG/V]C>A|%n,ai\Evxiio ?| ,%|y%5!It`D wF#W&kvoꢼJrnm,'nQs$+}[#vCDoŽֹ:tzhw0Jg/ ah7AO\* ͶxSv׽C:;4؟Ju8wLo57Г81 Tk9Tshhoj`P܂np\kXjH|Sʣ9c9D)m7ph<ޠ]i7D{I.u9+TKfG"Ϗ.,|RjB% }L?e U㰿î .w~zoEр~eC:zrſuS?cX\Zr6d-Lc P?zs_H$+l``E |Bq1xV)P<>S#k?-\E'_@=Vl;&xG'Gb흵aCYrکFz83 Xa>'S CA=zU !}h krF=./zV_/o KBEޛosБ`2@QנDH0.1b4ZwK`~}lyTߟGgV<%ᕛ3/:- sJ <S)=uib/~|@ȕ~ Ipk|uGݼI܎^@ш4WVVσ\K3``xd|ё'*XAfB6w~]u qYUaŒzx4%LD};KM%3f+(D2"}Wɋk6Czb(.,1u牁Āxν*gu5Ɲ vr;JK7M[1t^.T$;GC˅0 <~l!k^F_=b]/UI?~3k^?% _.`oJ,˻~9m#ه:jyKw1] 7g j#ؠ8iϤf#4hpy߷eN!}vF0,h(_`tV v|إT Tqn48)0$фC/9pa!G{t֟QB=-fGiwlocJuѼ1w4oZzo]3~f$2:qTxf Zvd8JrbW_g%dm$U}%.+Ekm s+ܣ)>}f BV@OÛ'k"Ϋe9U]teH fmȢZe~Z#?D<21̉BP&q2nidz0%CzVrwHqNTCBcflhW0 cm{=QN<%9A2kz1&Kooq]S]]i~a˪Y³.V{P&^)iyƯ>?:AƷTLybgDIxkju Hb@^{+V675$#΋X5lKQ.m OW*[W:JAzh1a5P,]kXlgwi H4.5qlC1:} 5wMGP|WXqUüUaI?cMrpFG` 7,p_~fپULD#6lǁ}Q)as;[9)2u#o{|;׏r'+B KWYz ҨYe{  *x1V o'nmɷMG3:C(/~q$$]i'V΋7[3Uε>1WvRtG6;ԓ7.(Z א =B=@|vۈ! )Q#7D/)w@Ny:/bOL% *,nܴ:xoNd5l(`aMb?<5Y{%<FZ/=, Tpw0|j~׈/[E5׫[k a_C聝پ!PM}|H),X I|y^0As$9]e]zH`|+WO-4˷7m΍tQ9%ӏN+SHW>:Gw cӐ|PsZ@Y&Fi00iSMKNVrdߏXd>Bi[NHve^4+j|:,d.$>[K;+`z2mANn‘`df] &5ha0ùģnqr+CB?3Z3{/ZYn-at2jHc-K/:cfeRؾ_P8yBfR&D1>/00TaSo#@*^{>.[G7C۫riǹ_kv.T(&k(b'𐩼;GzB@ \s/*BgmT6˘Uȿ18Ǣgj>olfe_DeRy+!U >-{cͺz,* ,zF{/b)}*xjlB&$InAo˵#;144ڛe#T8,Y>:cu6m,= Gd|}݌$a%  o Aqדt%3ǘ ^3ٶwGoBH޴NXd m.#6y$%WZM|P#c(үtKbnY."bB5t#4]G!GVP ǶR7yBeYA,o籞X̌әc4IPL~A]ڥba@3+G7ʜMS*9G? ' h[g C<˞PE-l-XGWRRʝ uA؏J_s]͆ib>n64r veg?4OCη3:[秽3^kPХ4WK :+yj)"ͼm͸vOꈷK =o5_v}'^[sUW@#Gś}l{lZ|*~Ҳb:a@"ʭ8e/ׇs9!}#d87erGD=[LZv[HZFX{eY%[l@5 Hz(U=3Hg$}%׋}o3iJcv6A(r.m@P}ɚq=U' xt:MBKY_eH X+OI2/C2]y߫T.ڱx(S{ǠF39i9RCd?X!XwuKkMȮX\p\K|6,!t|$Lʃ<`-aE|$TBJl1hn~f'qg՛#0Mxğ>tfYOGRjA!sL-sh T8<MjUZ&,= yQ>" }GߓׅI:=—O`j3 ~$7~PT͚Uľվ;x wx[ g z !8q}WWydBQdQ oˤm+pθEUMd]9SMUO`~Q%[_Zo XΡЗ$Ylj,"[X59z!YǏ* 9a_H#ob~nt2lpJh*#aB{m֐ !HB"(^E#tO5L4 $,a²d *q$r*?)H@gSV;P#,XUY ^0s[w:&#qw]\K6uֿFK ̉qV]aJQD#W@$Udp+z?iz4h$MY2 0zRm*,6^m>b-9 $DMOae#Нh=& KdF,~$>'І ?ʬV͜l>kG[,D{܃!³Nřsj9m:L/JU.3ph34%^f=nN|Wڴbft'*m$ei:=>-7f-›"ixaEP҇)Nⵁ5B=Lm! fd q6gPpZ]U/>*٢bAoEKMS.!3n7s ONn}>0ܖ \oDVkGǴ,"&NGUR~N5oKXin1J=>w4 ,yW/J^qp}0cIMG1`]Yj]y*{fݿ7ldm.c1 _/330ͱFk 6V%ҏ=~{1уF2rcuH`~+iI@vog хD4pgC4cH{OQ–rhõWx  <ےS+ԔeY ȯ{ԳB~.#'%U_9wTW4j&eLeOXy59jǾ4B:wv#6̖Vn(jW<~ﯗvqyk38;ӟ 3 |]H6| f]#R@Z?_f@A2/\Bj)hvdbg{dV_c;$d5*:-I ʧd lsQf55kӸ5܎@[W>_6&^ǥ3 zc+&Wm = F ?M=R.NZJ 񜨋?7RAqmܣ;DW!8`QE.Bes;0W@ʯۯR H}a?2y˅/*Gl2íZ[;x-M7"t#z+ubT&NqNe^4Hk?,WBwֺx6ni<,Ff%$n`QӷKwSx1+$P7O*'e1Mz;j̹]o&I{Td,Fcj}v[njcܢœ;릦n%x]Ql +\ؾG}:mse~D u'|{:)x;IvNڗe=G{yw1#.6CFA\ANy/Y#Ao}13d3[ݶ)Xk=y*ͩ,}?c1wTzHvHbu3-+?,A At/??8?K'e$_G.?!GݪДl[ ?lW%So6f_N2|->?:?Uϓ}牑9xk/WɓsۗW/>PoZÚ-yտxa+/uo8?f{nߪ%/_ɖ?)/4Ys? 06V>%20 !1 6dl韝a>oGfz8ylF˙VaLx?2- 姥cY`^Y&c [h]/RXoc~ 6U*JA6 Bn)g9lᯑy5 #`߉ -ٝPKAyX}lREYP0s̛Q̂\obX>ڒx()-^i ݱ'xϳ_F!)z0lyLdf8jg$5Nxb4/q7 }˥3DWO1_+C//Jw+[]2xTP#B;S395U$(4?Db e( %W}Svqj2"GACz30o<*X%C"ʷ̖ܶ~oeTV'ؿ-Ct p)E^Q `s5 xVE4&M"\ⰳz7 1{Lmvdat~5i贄@YE*S]-Qa0+Q8BDKDBw+ OUA+H_xSOKt(([9^V!W0z2jKͣd/>~39ռq(4ǥYUs ,m.5>ɌcM2B.A流^ic+=~qGg}${$53]PY,Yy$[0^F[E@_ YK\"c)HT)J#T b(CTkF4pֳڿ;2:쟫tRL9m!"ŰAc啚ʋpjk/ ()h ~wԒ,~Z {٭D,vk>zHx;#l Jy."[A}oe\tewp7W|"GdkK'3F^w"ouRԃ)O|E@WMFOkJߤ3P!6< qg_ٱ d낀r{T1>(o]/-5Q0e^VUF1Vy~;jq]w,Y/ Btu=W9v+7gF\7OڀbKlxb>{c]?u76FVL0c@ n^(_̧q6=qBm(f[OT\@9,@w2UQ) [P,k-a tch33^GXjXz/"]]*V1ZH`:hhч_d@\)gX7V~>dg&MVk)-u(c]j_BWА5ZK~ۻZ$7/{|;/.`LQ>! z8Z6ur `AkUQjeC'eLq_"mx*G[1X8`ڈ׷}o4$\7okLMv09DlkWQ~ G%M J0)g: EByy*_;d%<ѵov3Eαi:LUG[pO,Ƭ/QT/;/ȏDC"aM7Rx !5mXv('#E^ˈFcP Δ-5k{oq㛇~?Jx{PM]wtVQ{#* +R)pC$9hxe,[A~Y.O0c>gAOh4>VVX5:֧Q,~6 *T )}j>*l=.0TE &%R/Ѽq4s1lE _n*@H p⫽-Tǣ, !I}eך)ѻ!#XE,(E)t{n@ݦN刟6JP|KUMVn5ءgj=ʢ_GGd^sר"N纇_UA&C2x*/:S[8H\$. wR"kD܃VkSTGİ9 ŷپ%wݦ/#hNZ+-n7JCdDmG Ӈ{Xj6,ޚg)@XGҠmN5H_Kڍkj+- + bxr}35 LR@En,!d`(1'Z r`ֈyFZxy/r@V舉Nͤ{:uhtEf щ;m\>#ah\Zq$')le6iTcEW}wyWrӥӺּ?Ypʘo3P܉ѧM^b뛻}!}4\I`ni ໮!/ng|ǐp7^\қsK%xe&}aq7B)Y$4h%щ2;ZJM*F9Je+GޱTJU0̸<$t)q^Bsv*%6Z!{=sX'2-rh8(‚@b jiܤ.j tlHEwi)Ps `"U~ΏY@ j5feX"$DYT*S+!'.Nnmsyk{U'VtdYfi ƾWraoX oӛ> 2I?y3:м--}F pLdO za%,kY(<2.nlcA=&(2fi>l6&B2oOXG椇.'lu,vNYZNhXD>#|gݧs-f`gpE.Rh$dP^[VڅzFJ G.VZ{SS_)nҥL^)/(XߗyI&鎴_1kJk.wY}NM,)9* q:ۘĔ~m=K5rEfV{=j 8RA? :5Xݞ/SQp:4D )* 8AT6鐪6Q1fLI7d/%@h wϐ^8DYLqQ- %} ~JwhbM"F8 <1@j.t{GdmY샏`10covQ p3>;%Qmҙ F|(l˖i8Vލ4Q.,7%;@ ClgXB^_n~+=}-׋NdWg_\K@} {D2CffcDK)hSAS&b]D!-tN&2e@V]IM em#(J.ԌoFz!`4W_ ?]+c_E1I'U<(82YxlXSRMbcNhpisinDq#$]E`+-p9)]~REt1PTL@ZDX u5Y/'\w!Е 0Ŧ 7Vq$/p)M/p{$]xt/- .{_tgWS- ,!A+woF0.#q:Ȗ BW^3XNu]1CJe MdZ 3D ut:OEJڼta8ynQNpG0}<'%A^p"ghMWGdcJk_*ӭTD8o3njϗ@ 'CBՙH`B{;k39eWuLn2,%p_mW/(`͙{{U[7ЋXmK6 N,q"E\ƙ=uo.F<;O@ @n\¬HTx]engKK}+R䮱Ʌy{g]d$qar,'6YԖ.=''9pU<M,![Qg̱ިTc,O0~CZpBT͌6TmٍAtR-j~h'H\/U4| `+C 1J؃h4UwB&TOQ)Uvm,%k)~9>ƫ cshAtU35:VZ! NǸP_/t~g2U"*y56S9O#@Sg aj'o~km^R46 ]UN$&깉$Jog~Fݯ;aҡ2˻(/X(=!lRɿͯ.Ta@ ax7{PQb+YfJ}[@W9,pEW**,j\y|TE^7ڔu:['n=za ]B b,ߢB@)m4ꜚ"/N ?'~lH6BXyv +eO\qiЛcs$: k*[ Dme:{ VylTHrrr퍜W$!c,;CG[ Wr U*1m=VVbӀQOCЙN  vsQtSBhjSk fd-3S 3EU0gdgk}_sQ[O!2W(mDzHt כ&x"XQMiEYbZjq$K_F#'V s^nsWY&Fc#KLY<4a9F'Ko 7 ~O-D!c532ģx.oEzB "MXQf{8 ԑÌEA {1P-Vt;QD:kq "OS#vHGf3 "Q2쓲[H(1Z'H`tR v43i;/` E\Ы V}΋W?iofl^Iq|)+g5PcW*mBK<@`-3RT.{HV!"&%> ? OTس<#RY1ύI mrz 7}UIך-`}lRsnj{ @AH`ߛ=g.]s8n׈ *#0(ShL #|{GJXtC%gγ;6k P.ze`5L{#uGHpbdo"LqWg-Q=2FdowiBqdOay|0]0_i Ns!'"Lo- % h>-tׅ{WalUwM")fv@M >Q-vҟ՚>#*IGMlHΏђyGKcX7ղY0В*e~7YxFAY4i$STjj_o_?6gx/yՋ1_N$-!D吊[Q Pt| J;y֮lʠԽ9D jx|wL>{ml5m[ݸhZ {U+$S=8`׺NqK3QMCc  nk[Q n"RLH}]5[<, 򅉜)+e<ظ d qySdTanRK ޙsm{^P~_ Jp`T}TbCL ؿG(˼u>CNa'oشhN48v,{j=1Yg!Mb9PZ,˩maL(pvhoi=tX*rvw?jDhU-ozub`A]zF[@ , ҐS}Uz2Kީ5I: ߧiF=j@&|:~J,ǚ$BY"s軁ql(6VB֮5h}#5tQRqc$AQXTZcl07om` I%[:zhԗ%PՅvq. ;$}!^&GeWYj_F3( a={8{('z_ah{lّ,ps6fO`PZ+Oj MܔaFliJl8J\7>$w]pe<0C>_em ܍)d c@VB:ɅʤYhDrѳҼ"DR]/:PXQ^Ǭ",}o-SJR{d0RZYuO"eJɁR4P PK0%{S=c\O7YHgGgnfo.}; )M1!Fm!*9aC|l_N%2{\3xl O]tfklr EQXuP/ !2|a/Pcnb=~HtCGJvYNo;ށ0A-^ބvL+F6>oj&Q)bf+W)e3.R`+ٿd#{g=shīKmm4,oe,,:>&? :6U ºo, /{0G^rᮭE~ҹH^/ǩYR^Vu"S$jO?14p\4"[Opg>:s̗[)bŭrc}[S6yYۚV*p|_ ;w!me7dO4:Ri9UNaiGԧ_.gysm.EBHV8e]a_Tɶ%iE[+J^m;B'}~ukg<6c{#RҚIhy]bѳ{x1[r"|RݩcB!GfO~雿x]AOeXP8`cVNꌸ~qw a\]Ci$9jҧCzhaY+}(#o7QV Q`Es\d\XvAtѣPgjYq. ׻8v&gRtD;Q#ܑv:ld_~d_Y6ۛFRḑ3߸lA'}\H7Xϵ؝L@,4N1$$;\/&Ŗb!JJZb+2 W>hD͊fm-Cl=v^|K6XB)J-} zYBkѨ,apYj5;Ǝ r1Ή)(}\CEqAkQ$ a:!=X =ʳ /b'ѭ.k-F.Vx҇ԷP-Cvf}Gb9a)G&/6Egm)b?a kdNMnErXi Txs+IkS}FAO @7o;yOuὶ&~NAcI(˔<{,%-0D.9P*ko[Y¯BOIJr0$CG9o4s;F4P,&(S Lo,,B;sf@%;q>} h{Sf2ov?;PPN'-VniZ[/3͘kXs,"O yg4Mr<^Z_n۫~ ȡi{E:L $SˎE'>ic:TQoy6$6{ IHg(VŬ/7 @"'m(x{0 ˦^L E2C7~!+.Y uD"Bg?mʑXya1kIq"T1܏b}nI_TDCnNJ?^z b$y]d 8MW!2E84 bUC9I|=O "a90gЎ+ Y`AiC[ee)*{GS}#Ha^sr/}c[db xg,4seG7é&B[Mf#>a <ҳ ^vž=7,;ĺbZ tɟ*{_9{'E1#J4vt=z;<Pasx%[W4v ֫\:]a ? %[[+ld@/uZBi "c.h߳mڙ?<; jc'Ƭ(:?8(BV~gm@O!&fG[^h܋X{t_:TvrK!b d~fwH"vw׏js..G[9{1qɬ8L:o'$iG5~\heę[rx-ƒϧ;@p`4/<=fC"DtϴIeDO @貿j#i7$dET; lj52TEƘ.Re" lZ '#x9m~;8$J~ֿcoҢ"uߑr\0!53]Fe^"xc\1TGˣb4>v~wwkc0M~OgN .(n^} ɰC6lain_31#cT\2IfaX1g)d3B0{oW8yMa6òXix`ےz˨t.2<S+!lJ6Y'^1i.L`Hbk2FluY0|?䴇I+u( _ucL8T r5񗇅RIO?f'vW2ZhZ':- &ޝ]!!U`կ>] ~و%ZtXQH,Lڍ=ȋBZlhgʊ#~=r]XlI)B?dUeWԦaMtQe (lװtDlh T낓'ghm x (:2SJ"XGlL v%&t[Da ȵ3- L+ a?j#>c;_%ʾk2bXy^Hf[x!fVE A:DXL7nޘ2!MF1L{G\L aI]Jxgj\cQ%hv/)NjsؑkeOhms d^3>J  Š= -Hg} rmwȆPՏ2pQ1vaAMfj~b o s @B^pYǎʼnyDls&|?nbq=INd[Ң'|Lp(ȊSJ|j@4Q^sJ-BGcDXOPwz *+(5jT,(mށE*)D8X\x֒UJǙP@mE8Ƕ_KKw?C"p#$ʀU"^R 8+AzG9㤯7 [xvEd;vbL9*MM0f;4=~ i'$Zx2c\(I}XnBU:#hl$hcWGUo#G ~P^!S^]7a4>;̲CCm:һN[P!`,*ρFI s&;*V1" ~gi2F6cq}*M&WGY~Ko}$-tcB5&Q3|uʛI%ӃŒ\ AGۓgL{{,g,4c1,ᩕweAiZHt}=mv&|C6;FWuj:`ýS@ rA.Ύ|z|Hs|d.^/LyjW<}x !qk?;41C}?ExlwxFozA4.C:rSvJ]CRHDeVk[ OG-`9:`=?إnqB{ap okMV9=Jj_B5z| »?E/0uW̬t|-"WjҖI}?wXc)qjhZF[{áDߐ~Y޻S)Qp]~z-s)g,^?ylQzB!" 6pFMh<όMiӻLtmezK%b82CHW3c@4Oe)E ̼q6}u8:_#ra=np ތ# XfN:19>fE!KJ+sUNo&VYȷԠ8,!q,3e0Tͥ?+:t#=0|D/9F=IgQ#L _lxF0cdҙ*WzH{cf i5:tK\] .P(<= v}?6_eTZ~ٜEr#l H6>,5jդ`:y{_D}"L;xYmSߡ~9N.( !> q8]j+e6J[",}~ C;ͦq`̀;6ҾM2o!Umj ~Gۗ|*S!Aw:m/RMBFx}aXFa-dʥN˽a [kM讚 o#Oni^DvɎ*V`[S{ҧDtDη ?Dej+7f{iڱn@)QܫJ̜ѐ] R]"I~uh%tM{4G^&̻?PS6H,;L !| tTI6A%D"b2W&q&vҷՈ`x:4f]&41*Iܥ'T?au.rd\U7rXc,o!+^;T7c,Bʃxs|;FXQV8QO!δi }aY`ÜMZ,úQxcR q%eo[J3N|eédxh"bJ80P`"{iV:9n^$:/.#{P ʘ05?sٗ;k(o~ OĿD˒ث0C"ڐ_I}[0ߑ,?){#*mʉC*̎dxSBo1鸅ƺyKjk%Cdj*Ms0T'Tt;f%hK ׶LNQ0:3*Z=DtH3RY_qR!>A_ 9Zz'?IRwy}8#e !&UWZeXfoO2)džtd WuajfCnBsC\.$<+QwW^ԃ~=zLN^zyx9CӽHn|ΛփD)g'<{N[rc&@ߨqv N62C0D(iL<;˹@S:s`s2gk/7to` -=[P`x#/58exUI_|s (c=L;,*~2[/UC9 }p W}).{cĿ_k BFm^ùGG"%>oon7Iu ,[!Z]`s18CO!$Ậ]c_=JgH z+.6. <8q'I!SQC0ZK;CbZ"K.4;ќan;xgNKX@1 z;h m2|7jZR򉝤J\M^h"O\5L3m|pAu#~ ןM8ku`-3$[WPiȢ >#8ѯ DRvq 0j܆C&Or1qӋ/ ːQr ۞Tͮ,PxDQlϝxvU>l׏P~>SI- d[_c70oJR{ط*Wu ;5"k}"h0Tb."er֚_ nDgxrJje2n=>o w0Q'"YtHm쐉EʙUo9(3E9y n3~&Y1r%=~c\o$EM+҈<3QP8<# h]ԥخZ3FC=D'|LBW? .<nf*o4'I ~_Ze|^ Zsٸ-`x"ڴ=IVrTw[S8Y>T(]6")`\EC/k^%e?ӣ~E"ArVVoj k59EQ's8 x2G>tǏv]@g9̓i.=TUT6eVeX%ZF?RR]&@sOYGST!FŶ ʿu'N>O-Pegև\ C`ٿr9J2$'{,!Nʑjg UA^zޘ3 !|h*xOG+}ހi,Gev9?w6GfԏnIF<ŭ 6?io?>&,-h|O1 ?#sslFTkhZ&,aӚ,h/oq` Ns!){kmc6**"lE>Ed&~͢t]*)W\Φ@\Zu% k!3f8j&X {ݕ?^=-`Bh^Cvw~iai\vܦ1zJA`ֈ2\s3'@Ҹ,B Ip>cȨLa0O0ppTYv8 ˛WYns<@ I YGZ/F?bD̚3"-YM_\jY#;Z7wwekNjC^8mL>!K}mh}ZLv\ i+_"-4>NՈ"&g4^oB&ڊX9󂠩7(N':}iqFj{ ӾU':xbU^sk+T]#0`$e¸0(ڐO8K]}#6^#eqq' Ż$ [lc(PW^f>M<~-;>%%'H[@Gsc=JڙFSvz-ߑaf;wvB%d`?t +TJ0>6f>vv[ 4!!ns;ɘ;ӗGl0c`n&I8r#y(נ#SgFbQ2=} \H$i ג : $tm0G t?%ܮdfcQ w%Ϭ=/FcұB^z2FI5}zNcl[5lPXc8a&fIo뭍lhź)w +ۏ[`j"uuGd- /Ng%"0 x.j9cSZ2|X~GQOzSWʪ B.o9@9y\(e&Ay Y)%Heiy|k2Mюjee {,W#cTZU?b)~Iqip< gGKRdgp[BNV(liXN@m/kߐCAT}GoɵE ӂA !8 ,YѼqX5˄lQ{{|;E$B{ulP@;mГ\jEa#?:=fA |<*+&.§I.=:&߀|9oJs^|SeaECy@Q9Ɋ\n76]_(D "[xěT+DfGϴ$ɜ|(М6"./Q[QؚΠM9/ a?eK7򪉃i V9[?zmc,FP~lZ7i&M::Tk Aظ'Ty@_E0#xS(!TXPq|It0P!^ RWu)ԓ\j>e.xejy(_dmGؿ@Zu/NMk2Bh4i]bCWe7y[YmN1r-EQ7% <7!ٺb^}@ι僭oE6POAK7tH̨cƶ&! 1 UTXr8OoE ,qpCU\߄i #ٴ8XF_cjwt8w}0X\48 ɕ&UteE ENUMH+GH{ X*Jo[ PJcNPԜQ-0c YI#EӶtΙy{~cP8'wI&|N8_ {Xq)af/i\6:1!>ao3{2wPL]Dd$nJ^ N[3{"MDZ Ο<l_C,V:rGaL\|JDj~Gdߖ&.?sf,51̆p gS+8!`}|-Z fv.Q_fA~TڢOd0'ɓ'oUz:)*`iU-k'0 FRj85sVMC8՚z7~4k\KwDb"$+l6*.\Ucs}& TH!fptGB7{z.: w_"QJXu XF SDc&4Wlv`Ha[_ ;8,\ &U b%o]Ay$LDJ>B!9ytSeaΝHyr;6QZz'C㿂[?nvXn/y0dH'% A?ӎ<ҏ2 9Ƨ/(?ET)bM@e=e\Ц.NH}ET=󙁦q՛q1^#Š,-YoB"ۇ[)p}by IpZ $S(c}F "n'δ( &Eqɑ8dҌ7 Q`3d_(OBZI3ٰ{="D!e ,B喲N@&ic:d?>pUGN&PB}صqԋ7\!%KfCq> /8U#LIkpK , D0'E2M#Zr n|љSSK 2[h[+Qـ3b4YP/ME{ E=a*? >]AHcQ) H:I9EIM2iQIB2~#g\iץBt`tC2p 4yn9#kc{S2'Fȿ[Xws+TdƧEAA?ھ@UOgq50 M3$K'ܬGїcAt@Q*_z1FvÐ~2j c-[@.DW)ɾ '~ppS ^γ{oFF[TP'y fq>$LN`6gG3^ߍYs`)>\WfojL!S뀿8zԍ͵ia!99PPl[UԖ)d4t,Kh&Vyg42RsV-p-S 06{h ZNA=E0Cu˟EzJW?n6so͠TS[H Z/2~#`6I@'"gN1i\{H4ԏݐ|ID?;⛙ti뺰=!^HNXz­h:PuIe7߭hegDg ?s,@ a/Er&mj+A;"ع`&BʬeI׍\!=ȽXB oDCRH5Auw sk,!#/τ}CFzHRKDSS"Kb iCɹ#<U +Y,Aogw{g5AVD\*w^9v_)΅kZˎ؃H -8u~ߐh8MmI!MD+iDYOn7䟿ݹU*8_=s6eSGG)7cZldMv̇XJ՗+_|jST @!iAnk՟uwU=Exčq|Cq SϒܟK㏂U1Y 1Ĕ۸_zmGjHv M{oxMNVc4k9K1)C `l>7o3$abFi]bҚ~ޝWJ,sĴ!dT@Oo{~G*z03fYh.E0I&zWvRyM7P0 x@:ۛf)zhŇ7~}bxQ6G~1+S5߅iu@O{= E, V=A7qG*&g^a[ T A0XSu' @'='o!,+ (+FlNQsE|5Ad {p$L9*_?8Hle4)5.U*3D(O{/䟻ˋ H͋U4Z`ւAïI"LHٗE~^kS0t |Q~CTRꚫ֖AD1 ?WD=?["Rp#ܐF)L[ 6hcAc""%h9NbߧmHͅ1n7{eZVȶV?WqAUۑl>9ɔ_gA؎oSߛVY"oY#p{7ehE5_" '/8L1樂F-, øx^Y$SQ QPQ{?[EN+tD O>BN(9]N}9eˏB)헅,oTpw!"ߌT7cEUq6q_oρU eIWzǬ^Ί6(k"BrweuA+;u mGJ1P 1< ly#כ])x-+Uߑz0|oѽVz7/ 5EuƝ>VMK-k?)C۟X;Op3D'LmHB*Y-ޜ z}'ؤcր2n@z21F0͆!ˀxW}9Gex\~]߷-T1u⯋`T Gg M&L&4y p˱VHjOEL#׍0 UO]#! 5:]~->ɾ}!iieJ= BNw=Lڙ3 ʢ'Df_뤙E N;0ia`U!z-.^|cRa9 Eظ~#i* BOr;4T*C'U<L8ɠCoI+f-fCDْhA .yi:2ʴviynO!W2iW!'vsԍi ~CoڧsB*$CuWSCW G%-S ӇSފLVZB40+ ;0mЋՈ1QTvO̪"G>Dfb$Mpx6Rï1@ėa4{ g[&<5oÃ}ЕcIzkHFn`wĮ<2 ߱!Pt'kH"!R%`I!$jc5~dOW.xA-:39䞶 ;>I*+/RO󪂵+LޑAC '(ïM^zeS΁K:)U;ǶK otya2LcnP]XVL"<mnFRG=TL"4pB1_`ih`Xÿ4" ( ;k֖ٟ=.B 1[''ZT& )o%l{:vc I#d!W6_ L<&<d/GSljT C۸r]_&Ŋh!-T,SHPox06.M{@^ַdAOY #P#\gR,^ rqˋ"F* MB7hZ~=}`M9>5@Jq&.Hb KooNhBd&  qD7N#X[An_NzU _R9-/nHo`=ڄ.d +V0nN0nx ס^qno.L ޡ' 3!!|~Z]aq-R5wTd 4 ;Kxum, 󨜇 QLg_ lL~^ 47ۊۓ諪A :ˁyDǍ^[tVuMJd*CB}1,(+u'LɋB=!oHfL+@kvvOWϫKsAl#g{av$&#"j~M,G.LD Aii#K7p!rh*BH_s[V(Su33CO`Ys7c]qB+dK.;:S,G]aREyͻ~!\C˕. Kh0?R|)'"!Y"ۚvj I2tՇg:0;r<=HZr}X 廂C6_ǀx E饴Ie&|;kWȏn27VU II|.8NFs,pg^3)T d5ԓE{d Fӻo!֔ѓ&imCI29q/ҍT0lt:T[5*v$S/L+iszHCʎ 6h)-~Ut,qq%Q A+gM% гlu{LI|h~ӏR'1D'j(饩^a#n;Lq g'"{d'Vz\Ʒe; sc[yf*eP(9C1M>ai1P,ieܷǧI7s_j1;) *kk#>>3rϬbG0q% u:T̫W /IeDMxL`NZh}VFq-D7v1ONfgN˜[oWlM.DRmػÁY}JHJG0%s&p6,hO%++O9ɹm|m)o3";qǭPcd5#86שధTB3+\[0I. #N/`Cw:S.QxEPi Y6 >v M e7}ix@kɘ".z>BvFio}aVήH{Go9ɾTN2 W5@wU E@2|x#A%U< > :>{p *{ʴMyI OL'''ML@Rۃ~}R_Xh=BM?"T䢦+'Ohzq϶_آdzE *8Ր (&3IԑCi."SJ4 ݴCxsꨑzXc"T9|W(gQlE,&%0CRު#|G_L$sb gB$dUpx #S '̡-?쉖hVnv|yY/(^_M+:(., uHξ7%8 LZw`QK%D΃ձ&ggr|w2,dlCV~G#FW8@_}U3Y al(kKvlP8 ,8mQx(QHVI Ms H_A;„S1#I,\fT֞dbx#ldĸ*hD"yt)dz%,6By@IHO$$S!J},e 1#̂]/JbVxI`lt c}W&˿F'8=!4_D)}:k\\f,hE]_ ~Iyc;u[p;b(~s~$j7L^KStmsM+>W̊l\S$rϩ[%#(e Ѽ_eA ,k{ʰs?)AZpi3v%Gp*wPԼ zzd s7 Z'`c$hs"w&9W5o|>wӭ!JPU=>oY=TO2l5eF:bf'S̿~)ΰ}MSc^S %j[Qba[q`6F0 ]$Kv8~MFk 6U1QΑm2IxMIHƵ)6"?ɾkz=Wk)X}%Ufi 9)qK)>)MɄ C(*#6g $WsPeH Av!N{C^+Ô߹0 ,3pA~Iz,c;03  {Aƕ c̺ R=To|}VUI"i8<2ߖ @!n}jS]-:W;u1gݚ([n5.5O68pbsyR+z2Z_AMi<<.}TMv 0OƘ[m9%\%G,ovCV\S_Rj!ጊx|@THa1 WX/j4qQ6' EJuBdJVB1~(߂.ZI໺+To9-lh`!"¹vI0l2K.ȫ3Oғ $_p9bQƕƞ|#rH!|hVqEtSS68ݫmI ֍l@l$'j'EFG.+gdQ =VXʛF|7b~3EC`/;;URk|d*@]^4ǘ@qrN ,3TK[&k3)G+25qطc Hw5[/vCO]CqgS5myGV=?/CB78t>v|xCy,:o׷ed@tcVF/Xb$BY߬=BknTŽ1S6}nv2ܾv\kk; 8w_F ]Ԙ[yM̦~YOy8bEJ#~$eM3wtK 53%@3AvTX0n?men..ox!8IV*/K}L?1_@uCԩ$x|7sW"z2LFTZi(9ߦ S`BQFtQz/UbcƄ.~ܺM9IYZ)W&0+S-7hD*> ޒDh3tvT%hkkqV#}쿃#O1p0)\\+k2q+PKEAu02"xR@ (~E][m\9xB#+z,|a>\f$MX_VE b8tl}7ʜ$qk/ĹD.D- ]ui"/Do8 )5E5%?"% I}ZkD?>eC|a!WL}H93!22,09s2ALvX: BFʔ3~9r?xСĭV}44;1ǩK.1~=C۹SWEٶaRz;䶚6}HA bqg쩿VT lҸԎN*:-G}˜^R"MX#,*vg'GyVQW1adi Oq^xӒoydyNiW֥Cxַ%Gi#i= pm_:oHE1- ش L r߳&G,:(( F5T|?D^|Z1M^w~iyb\c[[:J,s̍f~[C#u J_/We;qC(&!߃R4跜$e]U'I1IjnZ_ N98@nB3}VTJ*-^ xٙ^~HfGpJo6S˧[N'ԴO<:(\~1Ū߿fphi"mlP5tsX[O?H2YA; 7ߧS]}Kd\)iDs?Bu/4x+Y{r[$Ĉ,R-J ͈CcRp;i~d E~Oyj)b?c_P ݌2|Y@d{+"ת35hbzZm(Z Gl^g9d^\ډo4N+@R|9mdJ 4rPFC1 ]pMgl4s\apGwXZ:(z=sxlfI_9mgCeWG5-QWK4aDGIR՚vd[/:`3qH򗔮9D%(UV{ ㄅw6mL+2!۞D_жqLYIًPV`ݟxW#L%p8#a hrm[HN|(Hϣ4>BD{& BG{Nwю͡/bKvPAU4 OKNSt>jiJG2aFXA1[pjz} NJ{Vb1gL;M C0 썿Wn[$+&ꉄƼ&dlulj7D!"(;AB/ݦ=TM-H&(zEfRT^MDb-?~14QPx"Xj>Tw#e*c,u'Y @ƣJ~nLNFe.@@`TPpWQ 8FwmBgc$&!ʡbBAXL'msyF&GB Wø9])/|p)Jҁ  #>Gfό_!Rcw٢97͎s TUXWAH?UH/&d9Η kJތQ#D%x=e"<_%K8A/֌˒2`O<4DmFМ T)F@BdH -SEQ#|yKdv| myЬdzmtp} 5FLס=I6",AFOn0qC s}ldHFUu>))jWCDT:!wy &XYrgс=29'ӯ2lBQ4oȘ_C x.|I= p Oԝa7¶K37kM^|;`14Y , n]Pl]-? IuaNMsʥԴqNdQȏ>/ǾC( ''ؤ8)j^Ɍ1{ku& r,;C-Y:Y$ !G?쟞m l:$[KxUp/^:vڻE@qH&6^*]y=FemU[Ozaj {WAg T(ŀ]M{.a~Y',oFw>t񺾩!Ίl6,%=%qnߔSD_Pe}']Iӕ8\uǤ.BVvlsq_CJq< !qLYZ SN#OFU%'@w5`97?-3@#b9gAO'_W cA/X-e@M'Pm#g^)Y}sلcQv,DE_:ݾF@B9GP?;Ɩݕ)(2f=03WyҼ)K tB}:E0[]{*9ߖ,Eb{}y p||˂8q6g ]g+k%@Ox8pI|K+^?Me-'+t#)v{WCt";Ltx'Wbj]pv5N8F$k\l2iȦȏuDB7E:eaXr}0w70ZueHX`NPAv5#Y&X=SxQݏ {~(~>z0C1=x؀s8cjZAVLY,H?׀ͭYYњw9,kq tja!$-#p*c\@۪ς-?ynx%MYovXuGxnP'yMQVf{ 7g F_gd,L <0Ǽ5c]qEp?_CzҥC/ Ch~pGQvo#x_~1&մۻ 4^4Ŗ:(gO&)|'#LkK U{ JZh^%||DZ1D** >a5cjdEԨݒI)g2p'A IIq}gC0=[}>PAI ̌+έ=? YrƗ+F&्$R?4uʤGm|>hGU4H@ ؓ97I-[} g'b.vKNDuG ~0J"܂|m$nP[k ?n9` OND4*8FgB6e:sϛK< ݏ?sHɵ4VM$`{DqQ ,{dtgހb>п9_m _GDl|\ڸ4Փ}c*4ND#L2g$x f٭Kڙ B; Sӿ@umEC+|&:T \^=,w}+Ƴ@y5J[4'!#~4T6TZaJeHZ5XlC=_q^=!`gc1 $U:OK sQ_ As$>b+'5}F> J> atScA.fL56ٳs ԶG*۹+>hk(7B71v1mIHp:5_8cc4SVYb*"MÆqH-1ʩURw1X'mje/u#רטp!%1 hS%[nn\"E&pػ?; xgXVyzNti&M:<' N{Z&e~ޫ:kǃsnoKuK?b}9`3 }0y=1(㛅Xϯ\ʜ^Y&bK}S]g"hHCZ 9d˹C_KWkto: ;UX^Jy3Adۂ@av#POE2U-zu3Kj(G=#޳܇ؿs!X26sAl.tL7ьPbnQS(YA90D|i9^F4*y-zZީ`b"gLS%Ǥ⮕ھhFldGT`=_D;>*%B4 t'\‘.KJ6}m,ť~^Y؈zؒNPcJluՙ1Jla:tvygxyGXRupy'X^;k-5.͇IfUbY$!<ӥ:Ox,rg+xm}Fߌ#S)8kLTkgb7wYe3 0}BWB.Z,je6B, _ubPCia&9ꌮboQ.iW4<+hi?yؑ՟׆ܔLA3&iEL{c^W{VgM&H]#>;Mx#Ga «b)%Lt?hͩa;*bxIL1"ﷵh9[ǪugC\kZiE&47~`0b b/w=RطtОy77T7j{IzBϐ^Cž)UX[ƣMՕ֛Zrtz}hD5-UmyJ(=rA_I *l搱7 W`nWj0# k/qEx1gz}`&p\=}UO4'~ԓwϼZ %b >vhiPM_:ɺIZʳ0S-@m?ܭDVNjJάt#9S U׸)DOfEN`qWۋ{koSTet套w@K9MᄍC͝GRh~d_Lxm(Uz~>iUY&& :,Uh-P] ^IͨF(3iFgGX.mW=n<'݉-?/)|>zb>g-.6'2<4c"U}ImkWV;CLڴWպs,UR]ԯ:7؇c'I%c7T`ρ1J1KDX, >`h}賳$j~cK"\<Pk4t$Lv"]YrB* 9^ր@Ҟke DdP;H_`(m}!F[cK^Q}cNG]WЕ4RrL&/9jPJmݻ8BO-埕 ^K0vEqI{N&#g3pKVA Lwox&|xa?#]0pu ]xR(O?:J/_?@+2)>ZM1wt)6O#JS$ 5\m i"A Blw\vC㈣fQݴ H;}]KpOY8Q?sJ|BRNn]_h0I^JZSWC6V WCo̬nUR~EWbftw+q"a[MC@tNúi\?0{gCTdXQ9oORbNϕmx1G/Q%h?,BQwBG&6WF>JY %q1^q̝+ "YJro z-z/u_#vkU^Gq \a_*ND%R-&*l'W^$;IG2/ᙅ[O?V`䮙E}%> R( 0A8Cuӄ.'W%J'F=gjdR2G9D1+e-ܹlRK2?JLCPdԓuO8V .oߤ405֛Dt6(5Q9U>T@Yq?o;r+X=1(DžmKU˪Fc*2,Ot#} :MCjeWR^UXV*Ɉ ΏgMMH(aG~ kQY#{y[Q\3Nqw&ٰ|}͓%9V٣ g:L ⷆdmG\t$&} w25PE F||yp<)߷c<'l fb, Zb˙EfmJ61 ,5WNYtK̯b]/yQˊvrEp{QEtIjSeWͩ(XO)<gb1@굮>LC'Ճ -}R$=P*|5ss^]g)~/;$ӹ|$$hWw"DOqA8sޏ.fu[+]/HW[kכ~C[<ʽ <5_ZK%U?΁+\0D0.OgOYPU؏pmϘ7ذ~7Z7N #]6|U>ǣJV`pC;`1$\?~ ]~G7o⠜)ecHEj;#$zaKD9r%X.m|nv)Ht~k:MWi&Dk|e/g8 ,vqCœc>Q="ʑ5Y~`mKf"I ډd4Quneoh̴dA])ۄNJAF# 5z\3Vv^MaH,.y,_ O8[1xhTBџ 0sQn]'S`Z(,6yxY<2aX*V)+ Exe IGZqL'Wɏt]2U%o^yLBő?mP9 g?9%17<7 z+q7:$+ YM&ͯ$3ڙ2ޮ|ϝb_`T0/ӓ1^1i64VYuu~mNt)fWed%^Wftz=p<ؿ_xWY(d{nwc~.QY@B˔S,ċ|W};Jb] u9?/D7ꍦiN`HYHI-рPOJWBo-ֺ{Vr*(u$)d蠔&[^pTlmy qhlw0kD_Q*`i҂=X\_x ԽGҼ;Jκ  Ė3T/ VRMa"pk3ñ-Rag*CYYoY}=' /U?% ! RV;x%Pe IC<#8)xKr' ?NKP(offSUC lnEbnTR\ѧw_M^s,TM>43""'6^>:}baIR"?ʓN tc&*IuASb7I(˲B9wtOVV> AIW^i}g3ѵi0n.
X}6\J'AȎ:fO7-*7{Xi*HUꎱph TƢ RRD?1;a"36\imף Jo--\.i=29s3rH=o"Дz8^E27S{uD{>7$]4xG/>[.O42< L^x:j ƃl7$% J H#hXiL8|P{SiFK3.= ͿtYĦ\1UEZf^(gH a"$NG_"?@B!'m4ِL0 :>Cw@DKQ_OtLJ[ 46#aBj>A?( HG^x1!&I򳺓Ƅ^TpݮAm@`lOk- ;VYͩL\+7D순|&jB; }Mwd0;=dH6/ubʥd&p~WYw3TPpXVPHbv}zHI+ XA~A<.zCJJ0DGcߴ2`y̿ѹ Jb6r,"UP莌w9HOcfXӇqDJdsԢ +kTVgx<'dfu TʿI&T 9V涎c3@Q+5T]eGr+:1ThdJ(%A_,׸64^Nf[^[!4Q)[4xto鐪]v0+H{L |DţP6* V!LK1=čIeV9ΤP!KQ`;qTb5p&Nyjbء؟dt^D5d<)>~bo70BRu#CMՒa sjU Q{\'/0Ҹ&L4r~OWqܼ,#dQ4da[!7'I=c ^7̢c8*X%IO}yvj@ M1a GN_4\2=a%_o{O"xN D$#KՕC8o5PUƐ^5£xd/%FZ l^7:w :a"Z1L~8TVB 7((>xGo ^JZ(^{-\Ю2% I[g:ˆV|a7D?!!(&+j] 3}>`;FX./DWI)@6[TK6]4S#psoGd]~yTb ka8WJ>c>:2UObxZCpT쭦{KUIva4C%%x^g6젵,BO~Db MʨW(|67\Q$@r @+&G V2bע,fAhOlfVr #ZO^)%X}LN]^_^@#jor?C2>GX76m;Jj3 O1};pd"X;oT'}`>Odn=$[+Eϼ1a+@) ݄/PR{oQkvUH>ؤ6^<\by˃Ul,RJo>ޢ0e1cZGVɯ^{=G?G۸( :FPիm>S``{E sǹ{p,?7j.'[?jZ* Y1'wu. ٽ@Z_ND߼m˺aF>YşL]n-@QboxֺUhC_Ss15 *bG` B#9!#rcp!N(qU*x>.qa L׭Uݠ<XT?(Z^.%R"sCa_SgV~: BT :"˫~B3#^}sodmj1D6CRso3Z3mZ,DR6n+FSu_П´ `毰D!G8xz#ۜ:?-Uk) 3~,|C)\ȈeVIIc\ ~n=XvaΔؖ'7}|ýk\\(rJ͎ھ%Yf kr&BD^|ײfMD:]0]mlG H#cVV)aVWG{!l<ʿR;g^w}2lu^3.Wvc;#9- _?,b ƣUލ[=oΆG--oD~0p\~͓{y/冏E0%шuT<"^oop6܃Ji]QEpf+]\}1=.7C:^ h)y8GI`W8P,fң1!~pnU=+I/v_mHє #$9jJ}zM L7=Rbihv`>~>@*DTr-J5CR}m{끟+wd@%'}]DKэ >]Ik_Q_x'gS?Сo%}+f}ZQ,c^ҞJvqVa=4][5otAIǣ3īϱR6Oj(;),ai` ]\Pbva4&$!UV1"9F9`55zhg,ve5;UVس=}7wEGy;}]A_mF"JPYA.5* 'jUThO`v_o/_-;s*CyIPis"L|8#[pFdϦ۽K<-U% PS&!;'oℍyO#beșf\:޵3-|VбyvbHe}U)=+tlLjɟ"qhg8!vD6^:q r2J͏}wWq; qOlբ;cl2MdLJJBthW ?Npwy)[Q:Eb֥@ \.~IQ ,Ë(U_  YlUu|];jjmAf7_T!Dz)iK,I,k74Qa^sžu-n) ¥S"Rv;S`iz"+Iu3//G5^pENrxfDظw-~RƟoݗ}-O\VkDӸ9ɿS>Ʉw,(` 8|6ӤpYr& E*8GKvDm!0 x7 ;二xX:yiуlY,(+6ݝN `AuZ)<\ᅕH6"UƄӰ%U+pҝ"̠q)4Rp Xv'*2u :uA6ePZ8d.%oaP|2<} 7c'\D}t4+f:.pܴ}Q]x?_x1wOLQZ"OSX5Ctx@?ьg~ |:B?l#$g4'I~Ph)~S\ۘ𸌠%”eFE.>5u4l =BBeG8g;j D!NA4ኘƢ(&ݠ\4hF3X$d R+8_s&ӱ~z#(N {a./\ 2Xu_^"}~gpk8N<٘24FeGOVR*k3l~Ser

e=kRڑr\_sMfQk0٠?נ3⋽eܨˁ8XGbɦ1g8Wϊ=UQ-qleQh:9wgY+oVq[`X{[kQAq5|+luױ΀ /Kzq[}ヤ*7,+^ّͮrFG԰Dncs۶X>Ȼ=@PYe)>fPׇzd+4Y$z!ՋY*Uk;N:_0^s兝ztBt1v;],Q~^'na>zN%Oʸs6N`H^D!DP*|fK [PP"@<Vxd%2YѦwI4>e 0A>1>@|Vf +'1̡`eӫpٸU(0]' C/|6 gw'Kbv!C*iGr?0UtV !:O0o jF~yRf8.1fGĂZ"PM{fZ><_`ݢ4׵[*hLidr$A5 R@.%=Nz^np,oKnJjPi)7IPflEzdf+w8ܜ}4Vl˶#Rzb .X*CGehF艎%Fٷ-?Dϴ^z.4>JĞ;QU>@R,ES?> R!%{$QKvd K){N+̹}3hRQ ǀS^O@%ѷlAK~Puds,:q]T9XЖ*Q*U"nf~˅8ͼ_X-d*T`G[Q@@ /g=KdU/;oezyu9ב+7 $鄔[(t-WYz0C݇''GGftFo^WI|~@XmTxwP9|z={sZ&qD,CS1FtѥD75ʤ`O x.L}׎R+pAd7&=2\زbUw^h~~rMu lu.)XAQ >Xϔ@_TX(y.mcfcJ6pFd:9֨kDڕD`IkUo$妻NJ̮{bÛ%zfрN7/W VԸb\qo}fje7 :'a܃.ޡ̄?k&C~/=|ܡLv j*<\+H ]b[@FL29x,U@}T#OEzˢx1xyvMyVOP*[Xmt#pDI74.OW*Q3<^^Zb5捤]/G L>n;+u9 ]f:TB{KD$>ݏm{| Wk^' +$zkBB-c"~f+?X*"`2ZajhZ1޿Ÿb?5\yWڔ Z܃oi[hޡ_{5ᆳU '2+j0%C1` rPJnJ'sufЉrX—:؇()fA~LWC-Jnm^JKZsx-WnVog*b`=HZ=af)sO !dmauTL(68AE }P8~šo!X/1{q *cGi(T9˒ mv[eExڷӒ B)/E䆌Ͷn? Ѕ ,vlY7 &>Aĵ0ӑ F+-ܙNoފM>k'KV0|t5)42MSR*4FSPF4c,Aꧨ~ !U1O^>Gy(Nw{cP0ú0JM )P%dE1BV@2冀2;ލ9#]ͧ=Xr|C ` l"KInhBq0}Q_ PZORxR'f#paO)x s5 3v8T D|ԛBݷv2U.~w(qP-w4x'xocc'nLlk[sC+͑{zo-}lIE ֭@ťlrB pZ:c#J֧ufq38Y اcQVF;CZlC[ Y\k.1|SLD?[Masd3)7Q6KP>r"ntLʙ' kEݺh}K?X[[M 3BGjQaNi =Yk~VZס)6c*m8𲼂zp;h?!#iZ"a7{0E7a\&T}mWRo;+ FcM8儻_ ݠ#ALRtԃ<)i! \)2X_l i*gOIO=<\a,#Hr~R\DLߣӄWxۄwlx_c4\Ʉ\Db9RֿH7% *CSC4f[h|^c/=4b٬Ag7!葾(X: +GBzOtŴפgntb]oÀYnv7Sz[(Bf3!`N2cyuˌc8L6^ 4.nS*mVYۯB~=C#(#p!fd#pkTvSzo,+ŧ}\yno-ӓ 8{u˙it˄[r26$#;wDfW -"`]+TK5'Wc@\1Aw Z,g)u G/M%t $ )䱂L5sn"-f,A(F bUq~!.^ݝIFZ dEѼ(ڛeO7Uu<*a<2QcJONMd--S.h ,CU}x(G~l6=Nξ V] ÃlU>LLД% lPKߒԎ>BF_rmIdH.ʽ26OWbW-W-Rn3sfCuQ[QZ{Β]M짤;KA=4VFfmfGZፀWCH8(-DqL,hj72HY,r5# 87_r una vrj\Gڻ/j1}fpŦ 9Y9mT^,D?Gi x|5OZhݱDACs0f̓+z})b:}-VtI uo^| GSx;32f)_uWPZ)5Hh<,\s'"Dw{ɰ?T(Lwsۼ_:C腺 {utr#6ƮI)|&[Pq7սa7 @t.g]{+64xA]?[ ibA6[b.HP 1Us-OgNMoۓo 7an@P ۨi>%O`~ޣGy n֬1'LsZ!:hcvZhaEߍak*h:tgu55) dP|jn>a8i +6aRڕړ;h9 7dyYZ|O-mym%PY QOcRsTѹ>S'Q~90J/m?+vJ=*r?,Twe?PӉ`}?<]]x&6-3XXU xWiLj"ffkHRjc~beΉkJa>>8a Y$Ox `aIn83jݿD+b=l'kU ς(9rW{F;zzccT/|M Mp lƚ>Z/ YH+ EJR̶"u?`UXjKg`f6"MT( 9; ?DGs@#?}O:~/P4i=Ej v 2zQ7?g9xsUN;2yic2 bj ;4!qu1Cd6)O{b{07fdXA‹ *UbnI"6vű.NصLƵF`oHu'Y;QWnj=+S\AKBP>G ge֣Yʍy~B',tml۵m]UWⓟǵ5붳f+1n{/i~Əw 5" &V|E2eCCZ6eщSZ&RUdPǝ{r@hˆֹn RSnX4FmV ϵ~ 3jX ;;>X_9F|\(0v9(#ͧ 5 ڦcjO=>}IN%Ab w9#ֶ?$a[~5E'Ǖ5~NUJlVuї k $/٠( g:O|{о9qN]n+𐂓/I,0_4:" ^Y+Go_6#"G)hhvG7TYZވcS5#a5>9:Ưi+2,eu5+(BoYo'\˅Uۙ[ @.eЋc13UO(d*ZŊ{Ti*㧆A~yJpfEp:)+(3TN> m\WB(H;tZqgJfESuhGA>ΚoS7Z\;' mg껃Qt]aw97zj.3b-}x07yt4[$盙仆zIl R&tήkbL8:Lq}-<10mo I..3О>wPaoWG <ٕV9[5)y3[CE^la.#Z@:tW $4`r&R3=vGoQLv3b ~r @y6>}ۮ3 Xp([`/ļR"hK=Y Nd:F',@,\DTW'Ϧ2SEZ!s Mh jEq$B߀жɉ/m rA&E@Mx֑e_whx~5;'޳vkեvVy~E˽u荬5|Nn-Ѽh^lX0. \]1-{9W_IE0'fQ~ -QB^c xmߘԗH¹5?RE/ wwjNKm?!Q娶TV>۰ q^^Fz\HBчf#xG!..y3xmGGHBKۇ#\1csfH.Ue3፲#_=9=}7@VwDG`[Ô=`WlJ6_F)?..p}@6;Xq`JF*Zu/~ӛr%̗iDpƎ[9Dup@ruW~(؃X[$]¯5 I{lqohGNI$Pƒ90Byp܋_j5 ZOjȷ(ӫ"TE>mA)EA7DHVu֦AgjR>HȞ; )2c8H%5%be܃ӖCp ) 堿]OHX;D`bOByF{ڼ:ܹ7Fuh;k$2VeI^/r<@d| + 7{qEY \M؃DR5JeGf_quF]umY}ʋ:.Ӌ >NtNfRpx\{Fzyɘކ/CW})>¦N[yuHfKTԨˎ:J[H8:6TS67V~,>QS5P L-˼ f啨S uv?|7 &GFK*#dųNeDP d ZoZ^7#?fDz^R^;bsL{sG`hcn@KQQd*ْ|T0|'YS;'ŗy:9JLfAMc $(&hYh=v-c&%SiQ8z1`|.ReKҳ$c@[?'&'ꂌ>wGlT%VdJyKG䁄s|4GiLnSr Kaf>xq̃q*1/Y1BGy lQWwC ZvkrT|i\!Zb?+fӿ~n<~Wjs(#v! IvJV{pi>8be 45 7ʳ?Fζٿq/RqBԊ|4:NӆhHPů|E;^T/YhHriE` # ݒS$gDmc- RL.+x2X>7yӼUɇ]b_kfGZ+|a_<ͼoֲ PKs>s]B¦j(_q#xHr{h55/&D]kskPՉQgYJ2 N-tpX~e76I.ZyBe̴3%m 겗jG* 8()DOkqdٰ^UdT QkV,i9`[i"3Oލle G7+͇gL[9/h\5n n<@jH?Z:mB4NMnyHB$"ζ&\$s_ f][='1چY*VEdSF\"o8?ᠿ`usUGMh~вSyd+Ho1ic^bg QQvӭ=FRQ;TP/2E[16ۤ+{"3|ƱY ( <NN0&~l:oeb44v2ӟɦCY^"qU?Pue]~]ј-ZRV_^LěSgAƪ{2)pt )~y-_@%G5+%$mG%T*$1YZ.LXA{f?~="{QSG%]6]PDq#VioU!H=,Rfk0 H %3fmѕZ&at=H,~IaJ8*XvV%`"(\(ZTkz^B-|Pɗ&廈aC7MOZeQ,FIC􎿙-{mViKHx| ȏ|`k2 jZ[5X*/SSm[u89~2Cmf6n^YcmJr0LYsfD"`jw|*Qe[ko"r Ǹu$);69Z@\;K#.SF](Qi|zR~]; c@x)چCBA Q\(xHjPl>}TmKMIkקőf_|/M{,q%uL6, i'fac C}b!rJQ;d֡fWsDk'N8{G4|8hÞ{gn]ע7jf\Rۺf1aeոDq$)HZ?GGߧߣzd<ML s' #9q@@ 2mi8cˑ4F1⧆pAL*Fq2GbGJXNVVz$K kMT(P ~Hj 4oA\L'\'l-E|jPz72dJWCcCڎ!s~&WXCp7B& |z%맛Q09ӌݑPս7gP vfA`E02=œ!CK0^zn;PP$|bP!5W5%*j]"uq27'd@y6N|5ifD* Z֔q:zOKTU;4XWZؒeyǙbo@ D ?)9w,nE)S[^ @ cڿY߬# cg 1[^T(K\엶 ́rHr4$Pצko<:e aQ\t x<.x)3^hG`\`5%_TN{BU3.s2duiPuߩ `R*a vbp2:E ތiq3ʯ؃EM&Y9kP>@ɴ#Mqբô͆Vo5ث+æy'tvHK ֜ s9MKR E-9gb|೎SHj1~a<4v2+tU1 :眷H7EK3hux[TxGΙG2MuoIK#1ofu^_bИGnNPܶz"BG|a 2 gL'ᴡ?ldt5h ^ZI|Q]# 08$ry?a"b*~ReRk~s'u-yr|[IyMi͌PW#pyC?Qbr}VBUC {Fo1Z'mPо nlL\!/Kx; d#>*!zhX\&_[hoQH)+1l)C TY=&wQ^?S3VmCZ9req %pAP&""yҷ>!0+ҲuҨa$l: 7rwv߆A=oNay'=j۵Km^_tyLz-4֔ ~x"R~LU, ANʽul<7d.>[qǓ>:dKH> [v+a&[(G 5AД{[RgnCuC- I^Yx<} yP^-So y^@Gpɝ4D|_CŊnm H/hwNX#b3%M k<*^Ea=QF`AnczCO٨~vx/>G +:lȐO$3^L1-2T>>lbA ~' Zkx߉̻hz/fҧfp)ޚ hFxVG.Z:W_ЌEx^@# CPL:R7g% I :<00ḳAw3Cז^O^*UF_y ϟ]R}h]{c<\(* 9cҌ&?}]W#UJ?<T){ gr@R|͏!}q qhOH 8/.ع20a֢l=&VKd L͋Papꀬ_΋e}YqRB[mz}b?Ê"C^zfC z.5 5|TF*6iu>>y ͭ~@tQ c[lLGUJw_E|e9i#Y>> տrr[+M #ir ʓm,]vI-fށϰZW$XW-'~j2TU >D}VVj} zP'ReB֨N'_?i}%CAǦ(#쏠p.*&˃ܯ_@W68W RU'۷AOR YiYlaXfByv&:vP^ٻb'~z3kJ aphqJ/g~;gb|eƙyj : `RJ|ؘ89i:!6F1u{+$P4Rύ)ųۛH^l4~|eJz,QHsQ}isf!d@L:×Tf25-[C+;["Y~G #*pVbRM}n?O$T[_]uti]no3C)cpj1~)?{YJ\_v4*1m ܻeC%ucY]J"'z|oM'M8/(eKv=łaU?)) ?<_^6SW(I0DkDb>Nw2?ٚiC!f._go3# s2N08<;y8<]y)$Ұ̄BbVϬDrJj~il;7 vIͶh:knXW;~u];X 16,2GC4=H`PzjtV d#׸hlhP3#,ɥֳbs.PWנX%l2UPCL y'(,u/ϲ_z.ڤ~龫Ɠm 0dkN-7Gȝr{m[6%6k/X+-EG6K9o&l=*r->="Vq_o$$ɔRw՝r4?D{I5>Qhޖf(m=E8DVbUfP VZ4(o{o-,q+`Eac v:>m|0W > I/WSaG*MG=A6^*S™VaqkT`~ G*yI|lk/*_qv\/ⰑBY9|P:`:~ҥSq:~ Rm0Jtb0z=YT:B#)7P3$od7\ bq6,ipwgoomu܅DqluN >byT^ZLb[?j@cS A@/kǗl%.-M5+_^9G 84?G M"傦+V#oɂj;EKXbu, ,eX[-yH!]MR("@wm[lXTZu!_[O|Jy4Un┘y2mgd^?Nޚ7a0\cB]Q= 4RnҞ~ .(=H wz%'_0810Y^< Ka&-oy-Zy> :^ x50G:ܰD0+@fQF?@z' =@Lإgn At~HJ8쵙=C%Rv8 })I2JXv9"Alt76C,_܅#dMOWl9 06ϯ DMėٙZ㍽ݽf H \:ϊf]m}UZ=v^.󉮿nzJkej Md'OX "O:6}!;L+^>4jX3H6jN.X-1f>ƱcCX#o'iri?obf+c!@K!!ߺ܇}jH1޸ðQƫ DN2(hʹS" ΀Yg:`3د;<:8وo<yw<$mNiYXh^Rrme$4;xmTDKnt݂h\ qmWoEI 2}}wJ̬,uV|,۞cn!ݴ>t\ %3D;4ggXN%7H R>o$ a,k!qPRx ˇy .VO+n~)(kI[8y$ C9i׬׼Խ+4["WGUI`~` -AYCDPzݕC9+TL8?%77oΌtNc"?CQ( oĴ}> 28I޼6w d[&¬K5n,?Pyi&8bpfpI rڝmD1)<ڙp]YR0qDL]p'A!9$'+kp%waH퇰pIUMo`D IwֆMMo$vO#<;WYo.U]Fd";P󮠆?))s{JDs?C#@'? _F=9oVkσx;y D#"E&ISXIAV+&[E6'G3 {.`C zEuHaI63/Dحi(qS$IAsԋ@ "YDtNKN?Tv:&pgQ1KȬKqNJ#澿s]S˔!oGKьU<qUVP{NFΓÌTI~`FqLI#aM{1ʍY;߃%Dw*]U-ROAޖdC}%3,Ed<b /+v3#1luuH:ݮ2S\{'>9bk7 Y2$=>@1U, |ٙ BD<Ҭ`h~WoTT"%Ng. }#LhHSم V]Dk g[L Cˏ+l^?7EX[^3[I$_JLzS\v\T. A*oӑ'k%Bگ!7]mx-]=.*z6"HodH8_5>y tD|~lf.p<RFыBID4cuC~vڼ1'wid3D nEA_|*fXA@fd|7ϸz45#{@f O :'"A:݃9Lb?)n1+4oBRw9V[5E_%/㚛 /d2B9xͫKmYDb|,0}phXJhc#,/2:򷚨@])0.obFӭeG!fbEYa٤qmR`W1m !_aWr1"=4 j9n/Į_V~L+"3Tn'?`5H]WRGHq;Nb$h+ﰔH]J u\td9Ȫ_8G~0P'=bTgrH[&/q4ޯ?4QVRm 24bgX.0frC A ߹//BlÉ5fGrn&PebٟМH@ߨ\moB781&kyǙ]vlG8]΄ ٽ>>h }|uܭr-g=xdBҋ,=@7ʭs jkԣ|jhޚo wmߏn_S`|[ TTé븳ʂp$xՁ)_k?H sGYVCQYԶw~]χ,Yr?PfG(m.5nﻻ,˙$!.C?C8 z.m9Vއ ]rݍL HYS$,cXX uZ}JҁRf+L pCvPe +#́X*5 36S2;AΪ( !Sm״\T'W ?ga?j#+FnMZkŭ=t䕥ޛ.o);#(;!e9aAc,aiuD;<,cn餌>K}g0tt z٬ݾ8}ǦeFvFƆHj}gkFw@z4. BPCEbpdFm|*rVɫA3oIJn 5ΰ~y ZNݜuyc{|} q|oQ]4 u6T$TYO#lvM2gP gj+*A%w lòs3IךMT O_<hV/aL۞3G17q(+Q2MeoSN xK L3Öw;j<#US>q uDHv[l iL`0o'؁R{ґ5<>P:Lo{mR!Cx}<6);dC]Ii!|^h`٧̹(=!x@;[[]1}NE;?VV;;>U y+^DM >swɟ{x'2_ FǣݬKRo q=6=K~sb@z-cBAyo3yZ'y&6 1?Sm OoO鬳lU,KVu .y֠0АƲbt/dޕvs_D!D;hZk, yVgnÔ^҇"7ӶrM}پᾺ";/Κ#=xH@bXZKCWV$y~`^N|wؼDz⺶WOxū8, ٸ/iWDUÙ2DKN#COo>#G,P~CC"3eRI?κ87%-]l Dž9W<3PA[C"vs 7N{*~EvC>w 6% }S> P)5ad W&S2עqfQ;{?e3>Eр~eC:zr[ſuU?cXTZri~d4}ƴ.i{wH$+C_+t<{qP_{-AaDe|?n릿s!ɾ6=%-~[ŪPu[f(;QijcGx#K۾8EkSoM<\$8)`K`[ln\MFl258Jz> ox=1];oC3QA[¦nCgV,`ӧtPPuCZz6sJcK)h}9Q{7JO̳kl~*ϗH.:-/dB]ߠGfp"d;ʘׄέק*ޣ~(vd^\8]zKǝU+1-X;*%'xPG/(e:n/9@҄;>e>//H!$h\s!s~ta;=x/{Qz{'_N ?Sb3p^iy.?QoRj!zeAΞNt;k:Uqf>/|O(Q+U5x)VC#F蔖ƊZH~j($/OB [g BGG^FAω$b\nch2e-oB'}bsk3>c9qc}{jPR^na9cgB!11:UAY됦f2W'(OZZ p9[ݒx7oҼ+1>P4 l~*+~EAyNгxd|֑'*ZAfB6w~]u a^TaŒ;xPZZf@&fޯ;IM%3f-(D2"}Wɋd4/{:@b@bތ o]ܽƸ3Nn_iiT n cdhh&AbٔG B۹8{h3*ս|)(*Hk_&aVZtF{x;Wb;帆tH>^d_5ݤ:;n2հGAqXIJd6h Иō3'[þc@# ȠxM>D^ƊUb99PN[R˹)KS#yhNQ\;݄͠$RLJgjX76q4U2C( SO1ٍ1fcRVSP,$8 71;8dafZfslU$7QI9rewh)ZmCbYLH6#UE͵_!jy[B,,E v7yCɥx]Xt7``%~Jk$rKQs+h,9Rd,@Mc_ Bf} Qԉy_µOھGJq$2l*nm", MEIV{_4#C~6BۓI%`? B`t(@dUi*=KIzw5F|z{e/Bs}n.+-{W|ޣ^:p]l|͈G {kY:>J(L{ɜNPo^Gm-V 6Q*S5ЛK*03k>zE*+%i8ӸV7q M)mHb][~O+[(x}m)!"zGȏP%,h;#o:vgn* ^oPw`*``ӧg1_:JR;I ,UmC4 יg[o%Yfإ&jgHyhB.N&8q_pXJ2 =wzL8!߁kØ30d49TP˻#c@SW!kJ0l[ mq/& *<X˨ ]yby"oߦF3`͉K[%VRu}~`?3$P[Dm 0HC1Op[`ʊKՐ;K{K*!CM8fB~G~ aLnI+1ԓrxa}ֶ{Xl:mȟ~;?{0vȦ ?MvOa^/ 5=wB"#gKo[ 7_i~eN+Z quVBVDR_biNk ξQ^x1 c^`o(~>a_8$=\B!%)_.C2w&f&8֕?Ώ6/e.>82!E6)r!'"? o>rv-I!%隬ݎc _y/$ xĈm y+Y%L-=S# =vXHsԔв\l>.%O ;֊HAtĆȩ4U|& ~IźL47  /H$ދ<:[i9N) [s>j;AA 7IZ礛זPu8VT`/O]qU@)Wy|!g(֛ٺyOOnFr|#jΑ~+9k=ıp]su] =?k~Ɉ4csaOyA*Wː>lǁ}Q)as;[9)2u#o;|;׏ڼr'+B KYz ҨYLe{ *x1+~澹% }=ޑ|láM2?ih&Pg%?”ſ: Tywp8{Ksb*Ӻ֗=Ie*-EydӺ8wAI<r x>0#dك$}f1aV :hhxS┗"m~ {[=10'{Ke=VGkP$eÚi~,yتe;ghdx蹰?dY$䅡ohKUή%;[Esoreׯ^i#zpk oEK @D/:tlw:;4}b\s"KntQODoȆ^(GR]:$w⍚;$7gy1nQrJ=ZfN7π'"d~U)Z~b*|qSu=}-&?`L7j'cl)|DϮ.,=2Z:#j=@NW`SI=h2.thd!_@49(S@<,vK貛+a`Cd:20eH6io8Zoekt3bw$(60k%[ J(x<~~my@zsȾy3~[Jwq~. qvyB=;YznwJy$~&Ft9ămrJ#zx:Cp&Gzqġy~%8㷹Ɨn5Ǡ-_IkfQ?z.)}~``X bb=ݮ,Az ”'i*S|I?c.ٔAD5_3XlߍIDƺ!c6s7 /lyIŔtUs O?*ߝYI1%0.2WR<B8XOry z v"MȄ`yӡUu<wv ^n r |f*7],- $^5΂w;Q>ELxk>_]mQ'r&ޅd+r"|\ $~h&g9+ +( 2by2JD{s-['g|YhN2q^DĹۚyݶH0TPK|&hY_R B99EŗC[`%"`0CZio20j9Kݜ(jrp7Z_d~׫~W/taF׺'2]:ċk0O'/Eg~ -3H;=E׻#• ^nlvl!oL#4dbPNy<'yqg-1#4-w_U,рe#PP|/,(gTn.~&1/b卽QՌG ɲ#ߩF|n:VxWYM8*Nj΄˟0M bz?)M|%M9L{"i>G[Ǐj 25]&NHC!G HҢ7Q_ V' XvmVPh2)L?V}xkKr~ CMS^r\S/KF0éq րh'o0)=] - 5QlD*O@Κ^~]OqG9CX/T; c&l~ }S&ykgϘ P3ǧ8  >O!,P{쩤G=V޵o.r,],4)ָ4`Sb|$sU75z A[//%<>4/Ԩ{%cT1PW=+k+rgiuYrk#Pcf^ނmJ_sAٚqt_]}'p½ydnގZ#W4_-@ D͔X:$g%TYncbẒ*.Ng-G#ZEdK;snSV_A |Q7#즑 {E05S=4fJ#޽( =%G݃EH`]VS#?9xzNHL;tR<O7Zv]Xs)z96;˺8osT=TÅT?z "p~ý?\QPT |i Q%@77C5qs)Њ~S80#GK|?Pԕ?MKigd.u\NQ[3[g ߹3 zW8rW=G.[ dLxa0)ȤQwӠiĽ(tqIUѾ%lUV`w$ɽ ܯ)61_+\^aAC0ZLh>gd3;YaݣIp|+cuÐ?w"L)E@S-'+V 0~@8(|?Ş [HD$qoyұ%4gٿicOeT%Iq7a#moqhSe?b}fwAJXk[MN\05gypPǩ#n^;'jM\kEٵQ%ZԩXwk%sbB;'c1ތ}b[Fr8`uD\:6:Yw2t0?)=QL~HO<8mqR)~2a?+kςZ,Or :: < HNNJ쮍qٹsD`mEZ)DҤ 6YVrD-LfM܅#k=㨗Y7ct{{׬6S=9Tkܵdዓ;1/ذD ^L0]&(Gs]{wfoLL0 y% V}XY#Gvf>%r;097{_WH>J .0q=${>դ̤3Ld؋3PL՛GG51FQu6>:uݧxL#3*zfzWb9jҶ>ʧe҃z띊rC Hozi-nH@W5nD4`wۓl>`|ù27ǚ!;7po NkðOQ&$I| F>uסv7uk+o0_ߺ씐-clGe9]UA|15f5x/Վ=QqR cQ\Z7Z>hW :_n2[yPColF?;,Tab&hƠbqT.5U m#g+#o"Oo%# 4CW КR;8d 6TwI+׹wĔ+ XdL 7)s6J],%Yi\)=)NLT "-mE"Qѝ>(K)w5~T7C.}ˎ|vOlx+Rv}s3F`kWw6bSGh?>WܨW\pћh,m6K ,k~|& U"e3~XQ"IݶWPo\MY}ȪfcӠa?o~sӋ_T?" 2roU!_eɦK[Y< S~oj>R/2'3C]xoӡK{\p%j9~/s?$|䯬p,ٛ#n(hLt}-cJgD_}1GcR4w~`APhP?pJ1GyU_GȐ;‚9,oz!i7uBn<`"n4pG{('ϿL~T;It>I#Oߡ?%~0F/S4.VvU/r}"Ϳ=@`??>|g/;LUQ/gaO|=Ss_ʱɟ ]gBG~6t/C(o]~GU]&] _̫yg&G~j2/ϻFCs)u_p WA?AE{ p3qe?+qB|e_=sG' {'$9ĉO_ ۻ)e+`OG({ d'Wo7AVq[ qIt׌xՅ@?sofL3FL'2f߹DiQq~ܧkia_GlG[o>27M9__~ÑF)L4N+kyl_)^ HNptV4@:eW׻˩J֥_{ ?WĿ]~g?'?At a cM$? e,6fB6cu=?6i׍o 3cYcK (UN )2 |3{{ܯyf{Hˤ,_0lIO2>ƶctKl1Lj 3Πk ltbA@?.P7s{%Fjv>b ?9J$B$OHP,1 N(nSO2xhY9.vfQYo$>!B>}b~p D\r2s@rqa:'xi)%^bnť#wO(&~?,M+E@O1sIjSY'"wBk;Dޡh =|)]~s"41^B֭ۙ¯A6 Y)迷v!`X\LJ@O6r UMII<8UXk~ΰ!Y0x}zDOVzzʈx=-uJX$^/ávti%*ʸ{˼s׵#zUVMZ. f|JTYB_~䪸zR$rfX/v+{ fa~CdIGމO:x]:~u%.6@IVDPY-*7bV7`ߚD&@է?{Q-޷t;L|\_Ƽ1, 9lD .h) kӜU "Ĺ-Ga[F1k-l$K8xqDlY?&7&scئh*+VuV Jѭr۷z2 vϲjaS=zvF\ߤĥ=xp ALn{C!"yjvepkG܇UDa\2pt%}^XFz^bug&\nu>Dwt3/6}~~ B|nސ q>`|6KfC&l?oaugئl^A Sl sdV0[>CX˖KG_f!öSP,o VG]l_ʫ}*S>51& Nz?a yԙ|b,savKj!^`]J{e%K7s rM/;" kwH捿c}F[Fу#.St(C+ى7X/"/kթ{O |)L;R#\ax rnz2lKrMshq1syʶR,][ex Ȋm-D  X $X7nt#Ӓ._bwN_(X378o5Ù?e+RB(A=/{Vˀ.TV}6nG* ,o %kR8qf7zq/Aڷ4o.L_uː'qxk&ϓ/K@LroיOc³@Ϛ a0P'b}UM[x6a nty*sPR<@Z ݘVŏlzxf iSmMSǞX"^D>^F<"'vg>," n/=|ǧRu>mS}U]tm\-P~z>jWoW]$@DZ^yN 4oR d@[GXGҠeo6U)J]35iBs]U#Xs ż(ۍ\xwxJ;h~9 (/}SDEZ@{bt2$}/DܖcQYAkI86)+xu;( Pނ["\Tw+s)b1V40Y%.dLmEfޗ15G^"f;wT= 5̾0$ zPm^Cv /`w_>(d[=)T=5ex|.:'Ӑ61D`;ʚ aR ^ZJdyʎdwrX#&|7n%F;n7Q!\GRSۮN2Ks&8 rZ{Ҝ`KL C_M_R'.ju &Ri_`NTdcdPXֻBǢìhUW)*f(E|-鋷n)kR#ngY p5`IdȽBx4g%ҳnB%r0P걋3#=О iO-a!úA^{ʺr[6i=w&(:N0jaL< ]9F*3O!>cMZT"Qًx_K3"+Nl1dH}W$-w4t!7{-cсL8~Nȏf nEz0ׂIqck`eQ*`o|2/3 LŶl}u!H/HzMG 5o)A'{p/kX kJ e:a$֫غ>]½BpA꫖3_B,n\89pl.v\Ldw aMXNSӀ 8 u?~!.6wutOND=C63?Ґ㹞-Rӎc# _;=8wvs^/ \VœT4/m>PznSmꁺz1Gjof~kQ><:Bsr4 2KđOn!=#>?/Ʃ'+ߺCZh+1]=EMm{A$ggSqP[H8mn-`Z`w/kxT|?R[şSRpޥ'i\:?c䙗҉QS!/&"L;-HX/ $S")no>Aup ނΧ.a H+UCWF&i2Qp|䢦DkrHELJ[^ #^M[!.ո; :5`r30m")&]EE*rqp\K(XX W/ʹqntuZK7xa/6Þ$LqQ_ABL=ah!(ob>5N}m'"a@ÖmЊuEe%( u/WnքZT6c4ܕ/ mCSg/Yz!H;YKϓ#Y_E#Ű*? %1bmZ~C a {y" 0i Knm8l9c$bE+ӍJdn8<|95. )6y`pϗF~w{N=9ho~zx9n 6N4f6΅ g$>~^r9K̞) տDLeM: F>u0vK)ِbʢԊMez ˨ O=6 DWy w",PN6z T qo#*~/쐷AMI)2rcPЊ.E/K ;gL;_Rma~?Q8r2GПϽGdw#"] "F#MQܔw^A K05Z~%+4*KBړ磖wͺ7;IFu';{yѝA8!5Opx>@ b@\S~5ad#o浠M#7,mz52i iZ/(lWYo`ț޸"zsK5} c0E&[~(m&#^C& ,1F;om+I`Q`HQ1f.{Dojў'|tke|eM a|-e|M'b)2\c NUu5v{[䳻rzˈm{[;ʑzE|C?%=8#^|3À[xA& ŕFدim5Ss_dHeȘ|1q֑&Ix=wWScpMM@MQ~cEx\9m :'n'XKH^,禮 §< nn203*ᡅH.}Q>R=Pown\j+b:ƺ7ӴMY:5fbiHJ/3fTC$p Mj60%#~sy,MҔa9FZKz3k]_F]_`nHJϠ10q3m8<'fv} +C6QrO"TY#:"3 :YB#̅ ?M4敷.@Sx!ѠBw_.l 7V=tş63z^,H:D:XV-aW^qwgHt@ZH; L /N ;YHfR|̟bfJE!}(Zj[e[!emVf#C aYËGnMnpF[>ǂ 52˶IN>g)aD1v)*5}0WwrBK1C_֒`Ƽ]g[Sveٷ|RI7n᭹25) 2eQ#g|d`/{c?LpX@*Wiұ{œ #)d&|bXDk@%f$B&!1k  [Wy++ٳ{sl'|ȯq.0sZ]a{q)tDo>-RrW Nb9Z@NHhcw3 p.'isHL@ Bs%H!QPz `$9…ڷN/s&bgVȜVxuu Ƒ3k]qٶ݁i gTjO:B4.sq6uO'|hY_g(/Uth6ɖ[8KI8VFֳ 1؞vϙ[Zψvy"] DZA}0;jUeq2vH3~՝(O3՟8A^'LFzoz6m(5*$UZYٙm)=x,D $5ipO%9v]a=tAu:lӜ&O^)+-g20P4:Qg|rq VӚ[-jWLmh_˜[@O5M6BSaKY0r(six4j'X\SmuKR_9,JŦׅ϶͎g.h7or+0E$ CG9l ;L@"|(p7"joN i(fޘM/AWҾ1Cz}?*Аt/{q-w {.$!nuGZ0IIQ'Zw:3>,},LϻE\u9{?8tFKObfťAe֋^CasL$ 7![%3:X_?K,{Wɘق>̏ &`6ƈ˖:,x#( {WkX9o %_ylRzH*]G%AE5%Y>.zeB7O9W.)ڟPX+y8w7sZ_(`=LHKi=+&{oH^CVh43zZ-焣:4rd3SO±7sņs&Ak)aYBTsm]1_ ^\dk WL&5pL57P)dq;-Y~RIJU(*gP( /}jp#E&( gVh.oo;8_!o!W l8x5ԨjU.ipY%Y_c6A rE[J@N2gug OqNMۚfe BCև@hw[P_p$ۂ6 Eef93]wm-4D 6j(e=1Z[\zOo۫Z2k5ήG068J }h!c*-ux!Z ܫh}puqJy/1IɆO(<FlMaywBLf$݂z9NŒ"6JW :Dƣp9?MLqT.j.UX#g6!^[fs/%xJba#_ eJSZ WyYۘ%O8>dwFnx搶wf}(ym)e}ɩVbmH~R;6D_%?3 6q+G]qȘ4) ֧@%pg&|\ "R:kvTΈ0Wr) hP 3u-ټ$5Q &;*|"׶ 'Ri9CeƖ?~ 74hpnWK]dq }cGyi4B dYbP6:-2IY*dI=,yiK>~롮*#3r? %6R:S@߸<Ҍ}n*h"l>Н$xsPp :iԛTܒu8+J>%u# *)!B @L{R5NQ^s{]{U1h i5jfGQgy[$?$t7CA(o4CYp O; 2w6*DΖہNm0G;*$~ L9 t7ۉZHշt=헕)VLԵ@C,H;y&^ ƀNrj/AVU Dүm7_.A&(k8:,NK&IcI%Ɯ(7<2= $,Ů/Gwx& Sól|=u1_n|`L&"Ÿ?v\Wu%2WNjAeß>IVCecԽ6`8~nf(Gg{>dlM)fTu<<^z(L:}θR2E 8CWr!QE84jkUC9Ia~|=~wr'r`QL+F3h$@O\kr<^vmͶﲔԽ#EΓܽ?g/cooV |g*WroS!NZF7:X(xgUEWOgB¿b$$>Z(vM4:bS]1Z[#c@dp ZqbvY?S3'g_mTXU^_^2E̿#5p?V"=ԾOik 2=BAd_" WK'X<k"#(xc!K`8/m\?y6 g(E[y1qŮcT&"4SHf3T~Onx ± a=uVj=^i .)8;3Ke8O)=\=mrӰ*03/x?"P}#@)?#Aa f+>;N v19>ز,[( rFO׃/#ȇcb!N|-KhC/UVο[=y0L}ǧf|*[H)]r55ia}3aWG{οўsoYaҿZ}7b٦=>[qOtTvodv}1>>rsmIҏ."Iyϫr#9sц'0oR2KHo>xQm@^bé( oqtO"l59_oBs>L  # ƶqʭ-@'O1G f?N-Vb6f= y*FgQ'yu*L;M8OZ{FtzI80ak;C:qM$ \1ΤN&Bo7$}Z(+<|gz* E{ IflcF$GuuUϗJmyo+-BMD勀jN9g,IY̷h)=O `K\-oHCnC Fػ~s K y;a\HA`$l6&G H0go@ 5ww_o"pƃ2/oA1(cNl\Fv?3*j6rR_ Z%϶nꪓpYOб>h('".e)1OgA3(4j'$0KM`@E O*1Cx>"+HjJ10~3ޮK(TփM>M4\$>ĭHa3-L{O+ Ha?Pt q2ܵ pvpLFd CNն$.EcpW3-K3X4Y:Zjz m`U#ߠ[ ?\n_3\[|th:7QJ O$BڱQa[b70%2%l6Q޽@:]<WPj֨^P#8vUTӤuė%1e^P@mgHExq^/KR!o!Jx#$ƂKw©M/ %;̶ќ0!JVi6rZ8Fޜ|OEؠ*M%^A%gaEWB~Czm=CNבxEp|*8C-ѹjw3QY%1[8>wRorQa;ri~\4~a#J,!FQ1 o$\]b~@lǒ#WٲeyWr.\^ vMҾsjpY iNqwH3DbfiIO.kf&шbr͌c{k::Vbn]Fŀ}<9\ϨzŲ"?(ٟ1v3m7}& M TGY~Gㄱ\11c5'~3u˛Ie˃ŒZ A'ۓg-g{_3ir±XdoW|zyYhvZ$&awE 9C䜑ߦrA#r lT|iFŸVA&7o<ŀ"RP r1wv㡋p a^x8x4˕3 }I6F5K<Q'5 0^)ҀGj)~hwxM '<`  !Cu;eփ!9$k5J'?ݼkW0=|VҶ'^4\(+d'UkNoe/Xffv=>])IK:˫PaW: LWj22I}?D;#˔O?V2}l-+s$`^ep(7!rnV}G rcU~&_afrlk)q3 {6;((ye 0-$.4?T'}͠S41 $5*ex%wnPE50׬G% K ,T` T Ikן)5P*'&K^gyp^A/{\H M+nf'%VcGզ Fmwf,Klc{go<b6틔d!7.l$Xl%6dkw?X2 ^]`F>2w -w,̝Lk%+9+DmNss޴'H93/#TwVK Fưsit§6ojT!B)s"N l-/Oq%w^n^XCeqѝ_wozsTHmɲR5D.gpUYšb~d,%e5X#Q&CR1k"bҳ,p+'b8M?K%G\=#~\}gHJKJ^TɇV'Ys" { ":x=(nJ<­~LJi|r-{{-yHS+WqE7N$yPd:;rGuI Cu(\kg[9$X]C}pC<ĸ({Cmqj[2><۟QLsX]LORK\,'TzxgoS/rڮǀ}{*%RIC'0|R+ǽ}Rj}\Xt_#q`rCe"j___nz`(<2xOOVbYx ,"c#Xm7ÅF| u#8QhCKt []V*>cLPRN(:`YQ+0OK^|c(SIV% ODSBP# 藹cb\~ȉ slQGyDz,- x34z cўO8kW[;>"/a<{ T,EM}~^e|682-yzP\_7oVtCoBO" Ht Kȵ0] fӥGc?xGPyzAlAdaaa'ESk/e|$T+ֻ:,qW``|<k++I2 K4D60]BaVnҋsi\^!A VbB.+˹bTn')D+o^Pܛhǭ[yـÁ*yl? !ݒ)ȉ (||G:)WmNbrHůCx-ݵghQ:8ZoOv#xӡ|9d2VLyL$KMƃ4QzI>kxUWP٧sX8 @G}t6Ʒ~]Dl`2 rrg`T&w*eX[%_FY?JV]OYۗ;M. hA4)MϳqF}m01R&pQi}=A{>Hm}O1?䃧rkV4k[6mqӛs,h/`>v_H㭸Ԉ=q$L|C6R/s~(k/in5$UϏ@"+G ={ӯIc韑:'FЦOT7cTmi^o*X2C f1v .7ДѫF(_a@JׂGtv/sq-j&X ݕo;-`CYES0b ҸMg]mP|?NU A~;lO3{9+6mŅ=+]y{ϑqMJMi xJہ@+PzaH'jL/!Y60@p әGC($N>&!Mk*E4?oTxf=bw-hX_Sh xlCi"͓#@w#&Pn(G}a{ yovQ01H!=9CA?o(XoG22Cs&x]KuQ-'}=z.L/]zdwc!/r~&KT֥1׾6L/G_!b;g_"#磖<>&Z]sL/Պ7a#cvܼuAT7KN$N%s~ߴ8F=s".2:xb]_sh淩F`LʄvÈxtZCqf>eNL}B'dY?COw/ @'لPQȽTz|[M<[v2sKJ7N⑾ +Ӣ(Ǣ{!S3^/g6Z $ìw܄,al~NB>ddic0xXGmA6hc2B36=%11"Fٶ\~ˍ@ȗƏˆ.77O,Yjoi|O ~u _k-ck ?C#ǰ i|j) AwP! D<إdugpGFNT(neڦO$]+U^"i RKCR*h^8},N^mAEIV`)>>XiG6dR>k:Nڠ'ՊYI_/2WJ|*s{&NAhxTWLZDXw\Fq- HQԜ$@عOzBS䟍xo)U!\TP/0E۰xěT/Da'ϴz(К6"//Q[ݙհ؞ɤ96[J,]:~~rxȫ&flXl}6͏ج œ?T 7y,&v;j!E߸TT}@_E0#xmИ I(#tXq|E=;b|=CH' rWu(ݹ^8uռZүQډ±沪_ $d&Ai~_S< GjGğ*Ӫx#ypI(EbF,8Vf_R5tcµ{Aૣyk RDVޒ3O-:"0 Ee$i!Ǝ>}IK 6"z߻6O'c3Wrǯ0O7^5Vc_J񧫆iJ"! hqIGٻo[QBS˃IyI8 q ) Ѯwǹw/>^vj%fcᅪo \=6GX0oxаMzA.tϼpA%&V'.$xRe;!tqң\S8]46 ,oL'bo\(/B|}HܡvC1u擑Q7*768jx~yFWIǖ َp&PJ})6Z&1j'i! }'P@y;gg e0m NvP&.5 V0eewTjKohqOҩApM?@OS¶ bp.& ָ;~ @4ѯS${nk#8H6'a]{r;>YF/%?1H<@Lz[n/_g4IKp&ǹSJ*zKK"Шsos.2!E}Q{E5#kBr}#GDysl*͜ ×dFꞼyˣމ+xᇅHxޒ.%w }†.7S<yE̷.済x0 o?FA-<-ZF#/9IJQǶGN{'n ?^ЗF%{:Jݖ6)%6sS+$%WS4_aI= ߥ =d!zÑ(9Gϗ~-{W- j:l{eXx\tߐh|*eݑUn/0b&/&0If0+b aJ]Zo0 |-n?螿(_䪱9- udaYm rnrY$6a6ۈK 2X(qՂ mKQIIJ 졘f-dZ K+brFB tIQ) X:ZM9IKs7QɎFsy2ץA!QPLhjemX9Dia V.Q95VOiIP[;+K"It T^Vɻh]T| P2~4,^}r)͇mqF|3bP 5t2ؿE3o߲ AtrKXxIP%$ 7Qg%`FG[XP>8$N$A⍌gO3^ߍٽu7SvCzÙŻA}&W\k3Tϥn|nĐJmQBE t/)TL"KhoguJwPNblt7hDp(h t?dCJ @<_c@Vxۼqm`=f HG H&;l$bv Rʥ\Jݨ'¤оtun_'_TEvěef '$jJsN[hq|Gp]` fw?f՝@]!ݧ0LCd8 &"WN0vk\'x'dICyDy>v苍K鐠śB[HaP7عB1 xa)*VDTfq*'f)Y ee4U23!]z1,r AɌ~6OYEA]Y͟by NFOe>$Y ȸ>hn.-qC+ ҉j*'?S-݇ {.@W55(܆8ZZ/cb-ϫR A9ʛbrڟg,AJaͬ@F6r.|[IQVonݰ̞rBKt['I7 ΄ 0jTF]:'$!Xg[}BAQz EO d;y =FvUFiz\L8]ӎt{_?!aT{\'Q+~-{EwûoL?z ?F0 9F'yvOX&'KZ{QQpǨE}"5! )^AέɇhTܯ/xe +Q q N,(UCL71#0[HURa).!?ٸyvˈi5F*ZƜҙֈVce~j!oz!VԞ%%HDž{ "S|)+nΝ҆WPq1p|F*F[gͲ]`8,&~R[n8^a @>ۛg9\t࿐26A5=QwM5#?Q(޲uu}{ dƉ'=M΅EaO⸍#Iy ݰ-Ź7UJyS9 '2 @'='o_,>WWP.P9W*؜)m8A0HJz&aתߛ8H_595/M*+D\`T§ݕEk`dEV_&=0n^4hZ9I)HkCj>o9zoZZRCwږ8ODD*ka8玨6/7Ql+f94~^{E1NW`Sl1Y`LuxH݊#'uMK^x&lT4;/mQh,G%{bک~rlO j_3p Dyl hn uq7!̃ĈRC<-W_< 6:Jπ-d8>w&rsaO^Un1\杓LU* qpB[{9[P2#ɞrac/(  XuJwR*3m >ӹ50/?WY|ܪl"aFMu>FHhʜ)yd5m2RZ(RuQM[By\#ry+ NNGEgg|U$DrWH`BGAW>.Orh*G;rE(/zHZy}@>c">Up2L~314<ְ8 gYN:g6-_Y;vJ"3Ыs;ck#vNCgɁ|nu} ķ2pq"Q3 .p;7篇&|_|Zst,H15}5@soQNt(a3F i ݡH߯Pnඒ"hKemWqLY¹E/oĜMʃނ|,b Ѹ\ ܘ󻅿/0UYԾum ?jĞ~٥MA;8WQF+W*"dVQ-em5֟e3v8B|"DqO E;~Ig0!4WOP<I.-qM?@ L@^aGXk '+С Ql31h@8mT2 ,:AD#N#ڟS)A$~Sjfg$dgo Ļ"ejܿ1.XÔ95~´U0_zi?89Jxx>7w3!!z:Wa-R5Ud t ;+Kx um, v~TC(0L.3WA'SߴW!C4`kǟIUޠ{9JRd^}clA~F-`z]@&e21g2[ d?aNA 1%"1BSKKR͆mi;6)| agW(zLb{P8r`yrQf"bJ/^YQC/Wa,t0L5;o񶴯aep(Y.qU7h a#gYh}C:S,G1( ŀIitニ>O(s1 _scLx(,AHUL+z2g-= BeXEϨ}havxz&2D}b)T *|Djf&U$vW׶Q%%:{3pT[U$%'; m<#yH(;Y¥-OHjXwPOa}8/ޝx 4AfMkHRYU1{ngӣfWQ/0D&|azI[ב7.w_[U,%Q*AdJ@`ߟ~g}2g;`O]ʇk~Mb?ie:-T6%8EI/M䁿pO(]E+ $A0ĈD(b?;^a#u6j2:S1jɶOJb╍ke; rwOP!V0R6<ژ5Qk QG'3i'2ޭ5ƮWl8r!ʕjl!g (1(fmi~)txotwΆ 齤v1}5 >'9u͔H&y"gwʸZ,FoGhk {J/tS¥5Q7MtY,&P0oi, PO}}*! mu!B.{io/{`Z2a/]OQamMf̐1sFÁrT?by^ sw{Q7LaV$0+PT/񒝪X@<Io_/&^́sr=e$P9m9˴gC?Y?B~>IhH%a+ȁܳeCJqx}[PqۅVhKN|"`b=1C׸'ݬA[Q>= 5U; NTCNDlQgӱjsgaCOL(rsg6Xx$55aK&amϚ3pjYXU`b7I)UϽ>&'VH%mWؚI=Er:+>aOPqu4j/Y{*rW#õcj‡뺧R{9.ʆe05}_e2~SVd^yf*-sFp_ń<5}௏f={ !ӽj-9Y':Ѱ`mZ@/XBȽ~Msoup-)%ӹo9J "A(W gvƕ8/ K#ݎ/"HI?r1!+ni` zKmO(XWcЦ9RrƖplf(ZgQu%+Ii ~1K4&*6S*fL3y/GP27'ZY}ϣrD|̻z}t[¯׈&P[⠐miǙ-h`R+ ?-.\{n^f/%̌%r/=69!%>-q'7$Ҩz½UPkfc!V?46(\fvgXT7^'=Jԡ$R.齡i<$wڈ'&# 6ҚFEꏮNeߊ1OVHk#6ܼ>5-8Ѣ?|Iff:GLf$=.Nu8^nmYJC4zx*R7C?2( j!aW\ UAͯ!T}Y~ٿZ4c}TF]Q@#χ1D޾Θǩx_(\= 1솕Ɋ>&:3@bJp>}?^F2J8R`xi!ށk[վ-!5MS{wiB= IͽM/'$ݽ:IbyCHz-' f'`&}TAc$rKHs͓ehO! x{/f߼kJdVGvDCB:Xz O'@(N2c@j'o(&Z'V /u.^I?Mls*]_K]B!J4#_{+ u廯h3G@,¾Ŏy[W>sY=^1s|k ͧ7KЁR$g\$BMUbbt;T0ټ}C)wh^/@9tYƶKڼ!Ş2 $KPeD~Iot/S,trFwA,wv>PaSQ$1.|5ߗ>c=$\ipiǛSAE{)g./R}tDLj;,y@y.hmGmǿߺkD+^#Eۉ8r6}֯MWD9G$ 7%!זH¬$~d\~sL^`t׬ŧ=*H0 x5/Q8̢[S|S a+!Jt_N3 2O ],׉aJo_UIsk;+/ l^aqe\mE4O56`Ϊ*Qbt^QZݗ3gK43pӭOIk[XK?E/ Zx琱]~sz歅fXmR)nÉs'z!6'7*-m(aM]E/OT*PA ?ϕ'@ ӆrגbWt+d!~K^i;ߑ|Yd )RL:i FL:{: C:%K[L7D@)cǥ'-n(3ZQK~KNpwcx"`N$]b0B+o5(5Go2o0YP, o>W]/AvzAS$][וA*jND\$r6Yz!uT'ғ $]p9jS[ƞr#2JH!iVqEtSI(6G5 Ɠm(bE ṻU 8;J (H>S6yݫ6m Ɍ6l@l$'j'EFG.+o'ɢAz>7H75 AZһ/GDeI|  ;/紪_Q!CmZ|}dm2 M8۱򗋎w7[/rΖEV=?/A!! NLHKHܣ:j톖[FxJ7f{\Ku;des(5#Azl>iԄʛ>k{}©|#.jNmD&eӰϬ<疰4RE#~,gM3pK J53%A+쨲:0:}e~>.Ox!8YV./1J[~b]@hCԩ$x|6}s+Q V'3sC=tߖP`BQFrQ/51&nj0}u|哊^r%3M`vx(7hD> ӽ%3޾ .uijǭ^1f86V?yRGogn@s)FgLn/uTi+P۠EA 02"xR@ (}$][m\XQT,~`>\ĕf&MT_^ŀ bq|,sǭ4v̓Ư/pvwic FɊq袺sHIy|Fq[<эk|uػfW$=dnaR?,09s2럄Y쨱|lg`%n!K=NT_woHE1SxTABiA4G?gfkOPRצ^`8k?G^V疎[} s/ͲTH퀻NQt^M\oSg~# IEH{U^JǗf79\_4$ #&i57,եxO씃 W)["|qتK%tH@Gt3v܀3llamd;wODy"cS\u3=jfphiӠG^oٸ\B9Hp8H1XGg(E_a0%h '7յfi x{&W~ ] t !_GZJZn|+_/t%K ^ Zϖ(d7 12TpR=d04_T&ijK>=NZ/G<zrݝ9(ogucJ771ܡo14[-eA0)(C;/aL0!C08Z:?HVLI!E߆{u "(8)xlt=N$fةtՇL/1cߚA.D#7>:7IEDHG%oJU?UǗ@Ζ(()!'&T\j\5%tQ2,{)a:_C)9Z%rק U:C亮H 7Md:IBOwqˉ3aEl?9~HýZ&*AGjo',lv /W,dCG#,i@O㘶R kEYKg+~~0O<+U&[ґ4 &~@8# ( rRӛGU_xqj1ѯm=0|ؐDzܟE%ÄYtҗ%@\%ۖժwȏ*/;BSGlֲ(a:H53%AV?Bμi._^=#UL< wk:gK3| 0Su?+Y ~$~>D%6Ĩ)ho0gŜn}Q Qnb9g,& ZQă]!MV\j2u5 F9/la~dlu˷X)"(?ABw'j#M{u#z]7IQjsG֫Y.(##(F9VgE桺3-{.o-O;6Ҁ<,%@A`|]ϣO{"n_6iwILZCQKc9G K"e`FxŰP&.LJyᣆ NQlԏ`'8sdU-?N&[ttٱ*櫉 J%t 8'qBAe~<4턟N]W\<0:;|"M\#zm+ yd+$~/GcY1& k?/%kAxKɦB3yK?K{N{~h hzhszFL^Ͻ9]f&xuHE Aԯx*o*Qx #.90?AP5^e^_|ܨ(ʑ}Dp鞲Bb QY-sWɒ0NүuwUc0^mCМ 4%gD# !2>iSEQby˗2df|4c!o۪Fl*]c |h$ĭ̏"ʽ#2mʿLquhX' u}% EIN+M;wcsY癩k {W6N3 :z8 ,AJ^|(&;dH$_2wwdVC0E~ՈCčۅ.1In!x.yYN_Ē>$ x`^:߼0}.R')CAu~+/\{ ߄%FJG?ȒEf,~cWy3 0H`q6n82^t?aS{"v6 @/͋f5t?tS>(?^1bzֿ5Ix8Va rԲKt%`3,W"UթNdgSP:"_]'kV5)ͪtU?<s*! jl2"Slm,D1Qeb{;R"7s> kE%^W4hlu|t-a:2C}p<no>$]8ƣxNPnYaa ) D[73ss5/,Eo~߂ *;[V`!/3=fSEVZ6!TF {/մtB zUb|$?os7PŶϑqzTgON~$imdE:Lf{1O%}霎X^!Dڣu1VV|'9?v?ϷBK^=]8>~5R? "MHYJZ a9@ƾ8/`a\)8Ḻ$Vi&zA(ET4]'xE,'Vɭe*QLF;byW߹`<96׮Ǝj[o܌ O0;^G8-!]7S&Fy.Ӝl=c˥ZWK4KviV#-Ko9ѽ1o.ABs@yҚI{_]y >13?##&Hxox1󳉶ؙMy;bs$|LDпCȚkV:۩LQ$蒱`dWwUy'x;-"@7fHH02%#qA4uMXp?x70̫sGX5A+~AQJvFG/`Q 2+"y[0-ܿ3IM_t,L  \0Ƭ˴e]qqEpϡ E]RWpHo[V=l;';߫O~Ʃ-Oj= d0^|Y)YhD~A%wL&RR4g/Tنi7 ^I64L > 14؅ ,܊\zw>X*HF/gxMü3έ=; YrƗ8#F:~gce#S|w6Sea_4gQ<.?67PD΍B^'Bظ|Hr"(/#]a?&QI$, *oz~-x%m#'aO!ʉ+כ^s99Mؿʜ#ODG;2=s0+HPlar:Sv &4\喹xUiZ K]<s_jP8ﺾ"RVggrV](%Iͳ/[^VѴI~oOg$ $1(h%]n$E딈-p9 ;hgX a+,9' 0b"_AmucS'9wE^ܫ:GeNxj`suLȇ3 }4y=)XϮ\ʘ^b S]gBnpHZ5s>d2˾C_K[dˠmx6m, &__Gh$!x*S1\ w괡,) z#5̃ؿsX0q~ -6d|LzZ7aW 1RV(9{wx`4f}dez.j$Â9]Ҋv3M_Fj?dkcT&RY&ɖ7wDY)I7.2 %D$ .'\‘ΥGGJ:g]e,åz^ŎxC@5]*68[^Uj~;,1<{_6i7y=@5,d&耋M"8F1ͽzgJq]I{› By&KygkΦIƇ=FaƝӵrmsų臈4@4b,Ɍ>ph.+s!5Y\"^FtY]5ih5R{2L6sB}-Js_2GHM,!8]FˡL孍 P ூkҜ/nȊNf?l&,Of}06I }Eu~9ZZwGYEy;N#~? e08U[)z>?ɿzi:T>h-52c+[O8?gU >l\^_4j!zmP^Ql,T(gSñ" IBqBޖ-%ȓ ѕk#=C#^oVskCKS&ctF]"Se+t=+\3INM&HU! _&|% RzN*YJ+AXHEˉ~4"f;s(J_g5mX6ǜxZ z$~_ݮa{.U*$F-5^83QX_Bya9Z]IhrZ1N}o|nŽr}y#Gb7:nR30J..Ջ8n?No9dy:Ve uȭz I1^( Lfn3G:ɾ"#؅`E_eɓ4͢>_ێMa^gR֡+w϶LYk򋣡D8wuh~0|=6ر wݿ&a} q9ו24cƃx(~M6Ф7i>/# T-f{cgW;m>eYUǀ~aC~=$ *볍M{ >u#>=W栊Mğ4G;WVrE~ui# bRhh۝rcGh<_~1!$uH&jKbQ_ܱOF{Oo[:<9d_E!Uy*;}L;va*^0W}C9V~:1Ff%UqP"Y}f .= 7羴5l"\lzaA NI{L#?TI%ċ]PA5syyY}$/q&|G!F"_acNlGMV!הPr]O!SJm98BO#{˾+k%܆N`ֽO[zw_q2=+P 뗉T' K.bXn0ۤ+ ';tbIZuRﶁY}Z7pNzƦ6#Lx+Ρ^!?qQ@/P%Y̳s߄(QE֫kMPj-赊};d)"cJ"};×DmwJp FZ%!Zkt/u_!ײjZ8LRU4TJ*<,*l7O_;IK2-wO?V"g䶞E}e#RY( 0E8]+u瓘k/;W)%Jd'F=Wjd\0Gч)%E%ܙoRI2?J6LcPxjY k'mg#70)5 yQu3^JxEYIN:Af}o7߷-F]g,DK:tp5u}iJ`iYܡp,WBK8%m{fz2 .5+.,_E+2(WH_W*Ɉ w3&Yr|$KG5D!h^E6V'Y7ߙA1+3%[V93-g獤g mϴ$Č{u w2%ӡ xR:,/y}؜Ax3f",5 b˙ Ed|mL↼4G#@QY*j3-pB_X|Q_*>&d$O5P)Mܞ?"Q ( >VdP'TjyIWjT|-A9H7)[LA2'ar D̙gh-E̳ՅZGݧOdt*EtX$HC0껬A!A[(w 7eJZRVݜȡA1&/L>Ru\4~Rr)K<ˌGX%¯hߟX}w?gUgLgA&A㲑<;7Y[S-Wt!FOdJ]:S \g}F]>'brTc ƜKZxIGu8?ñh+s8pl' `'G"}CZ$-k]?}bkpG$o~HJe[= uAat,+}W R `Hq}z0}2>Ϋq-l{ D0K.DSx-&8[2)x|pT\}G9r 0npH}a?Z^7^~w~f3,y%>"^2$gjZ 'Wt^2Uy%o\YvLBőkTCMٳGDRk ;3p':$'& LR\Pm^doVN/0K^s"!$@̅tY~V][E/D Yf~a*`c֕cóB͆^*bd02cOr 2kE>|-zN$ڿ* Hxr⑹x/_q^w!V!&GWXz9h:R^W;q},~) (y+ Z8ĴyyG ^!9g̓m!B W1{} ~k vDNvV0oEQ~b,AxOӒ1" DZQ^-si7i>`DžLzduC[h1-Bnzd+QvVseW/'LWd[A!ćT}K w<ԥ[P%H0q_K9isj~"nXm\0- 8VAm20&?2_$(x1z Yifzr+/yԍ7 W4[ M+R9HS,_ *QLA,pn4ve ȻPq<jj5wd)n'7S5m,-ve"daS:$cV"@UAܲ1f1rЉ蔸𢬕qFJkS*йt(0 òlw$*U]W v)9 ~8U.=iH?l w8;c_p'flP}}a[oE1Ɓ`?7lv^}t-aL`:Țy Mp#93~@Y2~+d- V_V,%0̴9*#N際$oHE*T4A=ttk5B Zc3co!b>("QqbӟJO:[ Ss(WJZqڨJ4@'uh7\w2/ˊ?. =v ?Qmc`pŭV^"EMI7KEjwƸ9|r#y`K] j@zT{:na!|ǻ(e!e+P.Ha KozĄ΄qHa’hϯ od# CoLE)9 w$;!hH oJuCkӀ,Gp,*L C UMfeUJPVݔFyTa+DN@5P{[[?ڣM.1[\Ė~I=ھPhĿbJH0kjh Cu^AZ7痿PJw\3ݺ nmt@ lÅt^4ym KdI lwNC֣J,6)K]t+pURl3|h'G 5MOQC5eXZˏ9.ITgor~-9V?z@液)nm8[fq\!qWl$7f˾k=ur2IRzl? jЄyCYtva;4Kͅ[b*V)H쭇2LMP&D牀Bdd}y ˣ"ѳLժ~: QxR?D<6*jyۅ~'?gfˡHNykz u8A@rK'Q ]v>s[MYmG坩 Kn!<άy*RZYoH!1(;WԼ',xV'j #z S^cska4-:]Bq:SV>cɌ Y헻ܿqTz8G-Kxm3A!¢0t-iK$,s3!eqc"/8(VCjCD!+ߔߜ>$qdy ^ā?ެfsyU bI;\ʿ.(qBq|H׋3ŘQS?0@mpbƁte/v7GR&?$2K)KLj{Z5HyƧW?L\ !^?W9P67sYHV-*Ih k˚a8WBza:2GUxqf-!I"aVѝ*n$C`dI&+t!hb~A3Pnc?]ut]42jg%0 5SW-qeE0{,oĂ)˹ ~ǕlBNwO\ɇ%X ?]DN]\?^@#?"|x|8"ذ! j5O};rqdf:"'Ug{Qg~-Yܘa,/]_L l6(Gvbe9Ռ@4g`Qp٠|\|Ws7p9 BE*ZPKzNΡY)խ _编^~?4B//~Lvg2ݻ|`3:Κq|iۯ5C'ǖ0?Ʋaky S/=iiJdk$ D5>Ti7.jX26J&+4(o[E0߀ ΆL@܊`Ke|Z}[Y0 t|ڰA)z;,< =t&YX |9Aa<b|4f\]{ .uo㢀rfcW?`A O ϝejJwGAHV"܈F}80[j;P6y=3ĆiN4J˪2XCԬ!'?u6e^wnx-VG7f=Bw(s]s]ҏ߅A_|QobRUŖ*L@VE9!#b̕c`>J0vU)x6~̉6/q嫽 Јł&@@*oP,ab oMǔmSkWhx(^]!Y "@z^Pr2AČPWh1iXlCf|C1z ]4Qը`su!vSͨHlmiD16oC9ᾝî)ֻ4{=U# 'uC:qZl_+>H Rtzh6,u0BAL/['xDܛɝ*JN#pu mWFStp -9W*W#U"E;V( e؉QgߖE]Ǝʴtnz$j'w7( Do-Kk0xTޱQ8z…ta2(HtW;\|>z?w<й7K`a*тLOnl}-orkR8 F (zL&%&$Ȍ ȌB8٘'p`;k}~=|Iᧈh#'?G+6te I20#8u71)Ro#8|z9,A\t/_(Q/F XkR\HQ"o6U$+P^._)E1X¿ %m2Ͳ0"ޣվ(?` S zp-/i|dh[ ?lg} šX:oxbp[BgZKGnL|>ņxԀd cO5V-a֧M4B~Q5, ȗy%QGe.D.w%6Re K0lψngI\ذظuvH 2s_lz z/F%TeшmR<^ oop >ޣJi]QEfӭ.TĈ!Sܣ6_j!\o^L.?Z:{mR^ej3I r|q:57A7d ^#5!e@D+NΏX;݁*CAB$.2Tr>s_Ik||Xy7dz_̮)l?:V3oC3%@!n j֗K !_Ik_I_yG3ɹ= ɻ2~ ~BvDx nlos2Kd-c90JCa^umZ7:iƠqp̙&5Rpl͓P GJyH!`X<'(88IHf;=c"3CR~עw6iN\ˮX/Ov&i-$~IM\CSysQMޞ/*>H#{ۢ"eľL`~MT5X5=r0{7wT)XD'i&%8%~WMW>R3mj{ɇԪ5/@}8:#U~}I![|;{hI VXL F0O:4FіHE8ؤL_i_ןG0XU_eXZK857 _3Y+q%w RP44GS*L3yE@[_v6pm-WoVU# 'I *)k"RETup?ZjQCw3U 횘cY̔4^J%$k743kӫ!+{QzoiiOh(0Н!h]1 f' PA!!Ե- Pw~gxU-:Z6Sv.5{}$oݛ}mH\Vo/D4O6nG|Z/$t":[,]>~7fw ="KBu |"=z'D"w{sxX?ӣlpBBD om["ε}?Ϡ&q4 4b#RX˴'Wdb5BulaUOZk5HC/{e|Noӗ Eq Z"2%~m,qæ6ΛlEûLǽH! %zgĪRz_3:-}9aAk~H HW|Bq7?M J Ib)TZPD(XGc$]v(} -C/{ONGd$pOQ_Kb6^ؐ7ՎwE: a\rV|ţ`w*68[kjQy٩DP~ύMטn)wHWiWTp.;Oc }7A4ѓ҄ vT0;0uT*{MQkwf67iGlZkgIw]o_jP͙WE,V MDܡ1WͲ=UVL-ytiHPUr:T u[jdrB˰ J0}MfҴB'_O%:iR@6[_>TFۉT!qѠ<=[JkM?tNt *)K+%mkΉP ZogbUE1~jiP"ֲcRR, (JG#DXoOYR*CX/cƨr=ڠ>ٝpA' Ja MCIasPFhz@,,ǹ1y)(|h2=+H,SڗN%|p`%SK ͉ 56(tzZyv%Ub&/I:y} ܒbezn&|K龋s,[#4Sk~S֞JЂOZIvgۣx#L/WQUb'X򔌋W\q;<5ocyC KBgb8~W@@ȏ2'ϱm@#X 7ߧ,>K'ƥ NoF}O ]srNx~1 weCRas5ޥRcUb*XdoYtvI|,t]T>'j?nK6XKƁ!߲¾Fn?mSp%ڻ__ҭ Tέmoۖ̿0C&xSg\3'̆?YHpuzHZnGdR~)H#l<2e6IURF УTXVj|͔Z&rmDzPO{`sKM*|I]*{X:P" ghN 2F|ˁ8_%}*g[ O@/_g5N-=ZRmvM벯#9}l_/L ; Bד-S4G T2T:wOMWbݒ8~ćbJ%9el% s$ 1}\LN=*a X@+`#1\xpR?s5bX&UଭAEEH[\ Iԏ,ДZ3:M3 $ۊ휇1}H/FG{ iGW&غ*KJsaփyfR?"t6zU!.7 J-;ϪX#$q63IH*ܭ+9ﲖɕU]{t n@߾ЛX^fXQE%IQXv|p>nQG[;zMzqp@'yo-<©Vܰh-[~,Ƞ,}/6[5Qg4~mY*T).&?dIuta4,|Yi+1E. k2Ipsjw媂Ŋ×򌿞ٌ"P],GT_ߝ}oQiI"d|LL5Kt4I {Vb,x͸qi G"PZjHDOmWflί]3.)?T T_яfA_*!|ًt~)ӆ9OSp{o 40y w*l;O@͛JY3>?2|9ʷ8 HfHk`(n1 I:UW~2fO]>yvFwܲm&?e"!ǯE%L)%'6BZ &0\{ivlB[v#lY}󨮊Rs1q-76~ii}Kni ;?6, A D\{xEjDi ?JKiljZ m=ƫ*{C0jFqC u}Xͭ?-_ٗ_1vmSA9ZUalk ?9S: œ_e9"%xA1B7?ccv1}jǺfCOWGsϬT |@d匁ӓ,~~ٷdwz%.Y,^{ȑ_E {x+pxO챶#eQC.  nb@W}ݞ\oBn&kׯ/F]֫7{lBZwZ}${!XY0⿰GE ivS-zl!37$1@5IFKsu~!Q^_S7GTVدS6u| t2,J{=EX uZbV#jK+bm =h,'>L J!g#F&2مh3mxISmPDE/;py4|퀯䇌n^#\.3`r >2̹XM,ȈmtV ewԿ3&T10S9VƄX}LJ3|"ːam\ŭ/5;rV:9D검wd!HeMp1< ^eo=϶~bOа1&ry^ |=RH9gInCy? ; (6=G:MrYIcpzPUcҖ{H8QEoπO6~ ae_cѢd!/ 87 p1t~rG+O5ehXZTr]WTRW,_BE@L?ɐ:V0~o"/Pъޓ;c12:sf#v qqn:P /F 3_^O27Kƴ@`~PԔTWR~?4V^嗃2~`Lgs>¬}p/@ #EnT~1D3%Ie/RTg%}>bI ӑ&JVkA5z42L_cMA~r3$A=c;'kڤ15vAU?x4_(n5qMtg)ag<ٶ30eR,./v!FpT mDty>! r^6c"V)$ A\f#}Em͒E~sMd?-~Zu!G_S Iۘqz)EF@=i2YWkikNO]ڄ+Mp,l5ڒgˆ4moƵRT FX`[ĚODBF^_|R5O]^VVy@oo70f],dEOR~ס߄"qIs#<:ʜ{a-:S 5wӳfL/+tUhLXpέJE0=Hn cBÞj-WSR}ѣ5,ߞⷳr!%%6̓>rlj%rqB)CBP~}ͼKuSx] ~`֨se@2owg[2! 0ifbNOeڇB9XGy ,¼Qr99 dGѳ]n*FЂ BRpܒ$55 9˖|yFHR Hy|H<}f(O%D>"]?6iO|pa8qĽ G;2`lBeۯ>s'yYJxSۥx{Vl7wuuXFN0EGey;գI3W(2¢󸷃l*Cgb2Ґ=ʪ[|::&LqΥ JV뙦VYwMDÜ{XrS 3;69P ^wuWO[1êR8$_fPُ(CMb:'"5QԂGű2xd"0mɊjvex#$X/6DޯpG'fmYď~~L̷M tm]ˢIB隶Yz+!6_2=it5 'aچ||tV: Fx<}A#cLp {@I`GL-fPd דNFz5 4bDcfN4PDFDP)u̼[TrWzHS[o #FuM=Ϸ1Uw/BڙQM]1}rپ/ND@drg9=&U& m~H ɩf vš_Tn;Rx z(^E[|ߪ(6$x¨<YPfe7w8Vl 8ǩؖg\^k2h}ޘͻ,$CN6=dShzGTY\ڈe%}95<5:Æɴ?o闢j[wlǖe3͏W/anc-i|>d2KFSE){O%e2\!|{n2ƚ@n9RhqT ]j*;8kTɎw{҈dkr;8 ksy^/snDQoc2& ܳHG2b_X&VVCM<vj,Ӈ 7.x0h2e1 Wb>Y@\~p؆9KQ/ 'GϋH;TysJ*)8(% 1YQ:=b5FAkηhx-BP5*☲R(:]`w)7H_jl.Rb͹yx0'~|4Й6 (—Gg;Q-vLY%8M~Q^yp Z40-ToMܶ2ϨQ, .={:wPanV[!<ՕVY[5.y3z]C^,~ΕcBZ@*| wEdRU`'teA_{:s>ĩ塘!DOwx!@9h&:۬=rI]y{ظ" pSֈuO舔A]e#~T" 5#5~u/ҥc*S~Y5TB`vKXٵ4,"Vm@[ZhGDL MܧF]$hƙ\řߟ2cԦp~zufuHd~MJ[M~iW kvl? RPo n 쮜G>َpI7?,mSuk&%nP܉P t~)&O’ ׆T˔}WF I2\t&AKGHJ p\o-b~z슖M!Fœ e7(bf !ABO3cX 3#jv1E3Zg8%FEG⫽ a,2f?|E ~N}ftyؼD\tz?U|ۿMnbRP=U(h>} }=GQUfxCE_ϟFМ\#^_?]PABQH~,ߒQLyDl%gHrnsp{=`%M֮5D:( R)%`WF 7u9>F8.+d]!#sB}R{ S)0n,:pUYsSzY^cZnۈVmβdJrWƇHOSsm0W5C> [񥧩K\Ҫ|l'9 V_a "D¹uPɂRe3X7 jʚi[b,cUA-93j9x`Q7zln˟h&9 F8;ḶAbTeǫy@m.7;PɅj.4# .'%+ +Y(R [{k8[HmD3uD0KQ~2b1au}"K3 0xeߐ*2'O~wOڳeHsI$g]ȶ XK&R,1\:f% hgŤXY' 2#Urƿኌ gj?pB€^8A[5|ƒ `Զΐ}I;ݴz#-odqr@E+080j|Mm=e0T8ˌi5'KIlT qP7>u5w}a(F&:wry)W";6y6[&nbMi'y{IwOxQ'i)zb<$DЃ1N@#1dYsDɛ.9 ;MSzGǒSLCv#HV H)_cWw5Ft| \%g@$YGxW7N7Y CK`SH^`.-̛}=w3+tYQJ}j(} ;d9*8뺜&; 0>X9߻2K_0ppRna&"u+b3QGRL}1v)cX7Pd3oEIRGv.C c%֢5UǽڇS-Z|QN_CѮ+ ݈IGN,;gx2Oox|R_zDF^DjKƘ u F (mC% MCvUIP-  V(T{ϊ}3` ؕcɐGوKæmomt@an -/ZTpB51L\_#ĵ|\? \:.Ȋ,Q5Ǡ FTVoo)|`ˬ|pΣ(ge+xI`5OƄGJ O]8rg UH< [`}\>-C"ggNK:cf 'k÷Qh,X9`Qm 8 :@aT;щ=oP=R~~ D5[ԋV*r2X+lvY ?.'!*q6{C'@ta(։Ts -Pc0! O;A)O_g$FBN '(ieE˔bEqޚ5mmd6'%yQlVGuR*)bY9vO45U\&·.lmlrjk{Cc<݅x)݆t=1tJ*O^:iNyP,67Qy ^k3M8^TD,.OŒ)72ڄ EX2xSTϥݵ*CK=>8U.-~TR"C0z7g1:wE\Rb_"F%>bQ5!|c,nZ)M;׺㑭91o =YO;_^#vQ|O;@oA13kݰ9.5SA[@!>Leul狉H w1R0m@Y\$ic]3ZOԋҊ;;۰irX^B \׾1w]:%u~_^z LEW%k35 l ̓*gӋlqGLQWۄ0 Y[QYOлdq(Qe8KÂPc5Vh IT\A:Ƥ?"lRypdLM a> J.YFIvX: kaɷtoFBPK8ItoR,ˇiSt,}1- ݢd Oͷ՗FcLS)s HC5zwUUCTE?88|Sxޱ 韗Q }n%^jZe EMuޑ )kC82׽E/Yx5X7w5 Bc5^As]ˁ2;#N#eىF0i]UpF}9PI`n/j}pY6xGEXKm&x>5WSk㛞ԯ+g}yo* ':ܿE]9f&yʛ\ c,Knk"\ȢC6I'ѿ7xcVJkHGqimޭ4i^CTi+ ՟{+b O\>mi.2T#r>JLD ֦YƜ+"/!lAP9yőkFhg҄k"Īb ]< NAn,5iy% Yb$"^uҗwy%'[N{}t1Ő 8%?t-LҲdl`~Nw^Kfc5;Ri3mLualh| @mFaᠹ]KO3(ڿ|IJ QD("|s=C;ÿyh7} n\(=l|7o{[.C7?*%rgb+AV,[NA AїDZzDD>4`zj@؇}X4 X͑h -h儊 dUq^(+̒ۯro;wTV2׫0Rpt^x/{z0RWQ] JD't 3r-JTN2B,}4aP/':;mr$֡PzdlF TCW.ǩX 5M[c0s8or Y6tW1@QѯV8G7U4vʿ(vO$T[.: &J:[4®sߙ7cbh}y %>RRoªv8󷁸|oy|߮;mhͥ*rͷH{݄ˆYk9Gu{@|t  =u[Rd`6r4 c+iNX;<]%!z%7[9fiNGX!ќ 9g|U%g aFށB!Xoo'cx7Wbcfj 2"iyYgIư] JȷUsɾFbnc.Uggz&Y~e惿eO<_XP|c4|4_uP6/iڐ|1Re Rk'\O!oz_ڪlNE*Pጃ#b!S;n>.ä@aD]]F#Z'FF8L1 by~.P, x%05l3m&c=lVw!n{w@ISGy~eV) |t` 23~sZ CxdG.:L4!P = g:R}qKtBصTHz() gNgK' ^N΍xe$*MiDAi||$8t #;~}mן:PqV'iԥR&|S0 f%s :x@'$k=NZS&쐲 m,,QCk}avZP Gt@Oܿe Oc$!:蠮Ycg^퐊vblXd,hz*bSHs`iVŸ;&&ϵgFqв Ɠm BkkF7Gȝvku)W*6%6~猥#GqW?u9^8&D^:RJv5Vc8bv9xxGTU¥`=v[K.(UzBAf 6ʟ/떬D/%q=8Sy,xATǧ-Q_V/+*d5*4z;?Lh?zūJkӟoB)4uа{N#TGpAK 8hf5[`v G*yI|K/*_qv\/ⰑBY9|P:`:~ܥmSq:wnTۆ?^'FO02bdd)c7 m.ߕqV,ipsgoomu܅Dqlu N >byTr,Aphc gra;EMF}Հ5v6$X £"%<mYʰ Z|H!]MR("@k_ zc6,vӍκ]̐'><*s^7|񛘉y2mgd^>~WO?;@+ޚaƄ2J#zh"ܤ=@/ ] Qz((]J}_sL* fMzh,4/B'!ky%zp PxM/ཞjRdàsn 'f`[Ga#xYN@z4J^sSm*M A~t~HJ8쥙=J'Y8pn })I2JԘ;rEO_0]nX GȚћ78٬Wr<alZ'^6&4jX3H6jN.X-1ߟ<ƱcCX#'iri?o)KWB8bc"B2D4Ln]o0g˨2=~ǡE~󠥰~ >NQHцIVRplŊVU}bɑٌe ?Ahΰ6h1Ӽ%nMC$:pt NJ *(^<J"w^r4Q7.V0뼚䋣><_Jf]kJF+bÏMuM)C xqUVP{F'QZaF*$q@yU3Q{\/S+nb`0 x}mFclC"@.F*ǖE p vfvsos2!'g ЉV" r6ǃmNNы՗Ϛk:$n)_y^ ?쬎%gMB~5IrᩏPL*Ku?NP"!4=!1HIdookEZ"Ҕ!`v!ȯEYǷ:s~ןfo[1JԎD)1Io7= ERQ[6}Ҽ&阣+oM*ryYgM҅ڳWx#Bt^FGJ1>fσm'c4s %^V'L%+izǤW I#!Rp- ZS7 $5!aZ|գ;#b4hx*?9 M$M4h`i^gcVh8b7Aޥr6W/~Skj7_{ȸeSW=K+1YDb|,0}ph,XJhc#,Ϥ2:R:R`],[ʍ[N!fbYYa^qmRaU1m !_aWr1"=4 j9׮ϿĮ?V~L+"3Tn#?`5H]WRGHq;~~bdg5ɕ{7XJ$.sk C]=>U{d9ȢIqHa{P'-bj*Sn9+ɋgFvfg+'ek|OS/Tgy硂}LvBCvivxe ^Δ$pW苨ҖS`},+%t U)eYHr(X0ސ]=fL` FcPѝ|xBޏ9);b|'l)L)ۡ@H5 .l_ +' Nկ2n o# ~Z@{`Kw6D vz`2\YFE\Z-1ez]X籨 b7MAyfjyǒTu8on:9Z'yd *r IO7MR{Z)[g46@av1-58B&\ӦH2nn\e‚dVoYez:7 Kc(ڧb >t<*j;~gQd`;4TnR[h.ԉ$bm$;X 4"pMᆒ%TzEdD%N WLoϜ_'O%]D4h.7DNEMR=Hm.1Z"lKVG0Tj%gl2;oAΪ( !Sm״\T7N Z<>+j#+FnIZk=t䅥~'͟+1Ԁva|xZ~;)uWo x TDdeBnlfYf\/.pd/ґ5"6]z1ca$~Vo_MK+RKcfIe|ߡyQR= DQ(/MF2nn|T<7GP J[[A$Km ?6cKn磮^|goo!nѕMopQwuU9LeA"!?HȚ%H)s9f4(spROA ,T7}`{捛XO xě'9## 0%xK'zKT򧨃 t{M%=k&T%^M` ugx޹MȾSNs~,y(f7,i$1O5%4f[g30*_6yJ\hk6vY?2T0;Ij ʜz ݠUwSć$X<I=A#ߑ Hxkɱ+27AL"%~фג} Zex:PEќI^,=e#N17q(+Q2MekSN xK L3Öw;jGȫ2?W_n,n=$ڪAF##Q=ڲED&uadrO#+\kx|tξYׯ I!l~j‡@ۺ:(p 6Y} ΔRQ 9[?pt9iXY1mT)hmr߈O7eʊ‹cв8kxx~qc_ӋͪKsp'Oɰ4 NiV4޴7w>k<Ț$`D wF#W&kvoꢼJ7snmL'.Qs[vP Z!`:xJ;%Cۃ? z9`>LmG_C>jXv0sHg~]$P3m}ezsO1F p| %G^Y(N[Ǘj G ϔJqUa_$@~[e>//H!$higL q\Ȝ]Ŵ·q 3U1ޞg/| L|8Z޻O[{@-=Vl9ْzщѲX:y{gmXP>gó5eϠT=>oep^UCǩxzb!8ǚAk5?$+];mNii[B,^;m~!t PpTn?5b zJ$r F)ku >ۻ͵1Ϙ3)+?AIaxveN uBTEnJ`eCf>˼_1|pHJ|?jn%s|uKݼIރWnG/c|h@Y+TV߃\K3g[#OTD̄stYa/iV}Kkdaӗ7BiJhiz|^Wj*ٛNWػ!o $+vMxxj;V*KKCS1t^.Ɏt!L oEs74mz9/MϨXW򥠠8X0U/U¬5;6vĂ7q |~QKJ1l;u07 ,ܜe2ac5`i@11'[þc@# ȠxM>D^ƊUb:9gu =O#sU"ȿ]y9Eys96n[w{KA/ɋaݘv=d᫇PA$k7ƐIQ[aOAE z_|3|"l% 3< ,Մg@klgr$i~qx-[zG] jd{~*j. Q[j&a.OJ.lƢρЍ3۫)_D-X}e{$ak}< EM )` KXȬoa>6:1OG6I(P:$vh>hs'&"S)n֖VMW| rmGpe#|g چb>{Ż RC=dm7QkƑmJq|>vPrޗ59siϯ zn gA !LOwn&0x;¹82NGWb쒎mwFGx&Bc8iOʆ;nwڿ4iy)V u?dپY4Wإ'ak%A)".<6/Kg0;kx^V;ն[]qX ŮD:ܛKVZh0*4ޮ3Un#La&ǽNҎ.n/E:,*VuhWYDeT̘ތS2z̈́,*Xӓ >Zjky*Q8VigCI^wZt&-dkttR i8PRm1  SmUF[oEp|cpqm 1z*kYYU>sƮQNsPsl&\QKhl\5GQ_-YU0eU.O$zN)"iu (M.ʶrd';k4P3杛r <;Aԯr/v/*jU[F8;gJcclGm+VZ(\-{U}6i(z'NIpdO,֥lUCR4XޯTHZtwtL1e^~]֛y*^`/6qFHe*K\ 4uTQJn/K(m=npl\IQ3zJ=X=g}4+t,dٕ0c(b6,Vټ=m } iM.Z!Z%-H}x^h5.5aoTNP*o j6j-o>1ӒNu4/ yTpģy]YlB1aq] t`D] ?ju6^i(P+UP 즅?K}Sf]IFi %m⢹YK/*<-`pb5*;r D0A3j(e`E}q% fZJ,>Y9⩲/6jIe]Oݹ< D {[tv<W-oS6GUd>GƧ$Vg P?lj(|`*OPj% quxf,Ip{k]QBÈ z]\j'oSo]mT].i"ӻY+⸒Y\&VgEqza\Í0}97Puݺ r2l7maTMWGz%0mVKl[cd}-SqJ;9U'͚⩔ C791WkIKh.Bfʢ1jnji;TVfQ܃R#rR[FT$=9eu9ۡPot;yYRm<9oH]F {음,YImD\!t#ј([明.U\6Iӝ Wø_ x>K7kg=uF:1F<5AiLя^ZEDCBy/*5gzXˋcY?#'QP$'JnTJBϓUȚ _ٓ*:+{TrZz2L恠kgת㱶)FN" {O̊8i+eqn8I.jm >.6vCߍv{ޤ֦L:nLZhݬvPk,HGk0m}vO}EhA2t,dh-`%`G꺃bYoʦ 'KtR5 p'uwSo ) XikÁخe@ĕ cKddJUfnuZНCiONU"ᬤ Bj>!}s;; ' HZ,D3Xq,w! D)5;q=uvQ*(u蟙 MB+6zP-ZUa _J"^:I=FJc+$u{(V,dJMq &Rs Xn9;?6f@+6` nجєչh\"*щoǓP\ec6GCΧi`om7 _-ƥtP<;f{ЩD+@sj.xɴU$lVO6AcTFV Rcx^jJUхnGS{fvTVp1V2Rj0VjJqO~!JnOFzש[]z- A `6~C&㶲PM2Pf~~YFvܐ2x8xb/<i:۽ƨd ZP4Etrr3Q^SY՟RgT$;J<.2e|zVbc9 N'+ {~66׍eE-8]Mx*mB>ƍNQmvڟNz#XK!!GƥwLV:ei[ %Z_JIE0ltDݓMt@YPcliQcVs$-4>)fطQ#ƫCGk.n+vI 1_*Fyt_/J 'b{fhx0DJEܸ *,z$m6#[yWF-Fc1ŻZۓ֬Ik˩ '(vkg: 2*a\WR%l$qXf{O8h҃V>p[ISil~ BL`V=f@zR,!:YVnyV(j8Nqʣfjz W'76c ~^ia qT:=ԍj ;RbTcFnZt}uDBx\edj/kfDjvJ"*Nyߥ~KuG4OϨ;i wݵ7~6當2 c݊7qXGuʗQәOڶT VqR3/fyy`[=UŭSIW4ΌgJ4mb'SQ~ڒ5p>:S9 2ՅV6-55Ed)@?AW)W#rIѦ}tFa=&G4ҷN "ɵłR`iOqu]pꕴa礽z\Z/|Zy[q(dcl|cFFɮ+I~ihj5כJ%wMhtZC|U)ǻ8O}Ԋz²>^\4i%';Nv;0YfݗZGmMkOg8*g +k%ʭtgҬz:XcxSתlKu^%$ɶ͹oIVRK w=[K4zbYfNuIX~epP{[u`йe6(CxIOŴ>+f܎KRY\7ݥ!JەEwNJ'ixw+!)Fc1JGbZ ތ30;wfjrKjͮj!Kh6;fAFT߉˔'DrVpidm'* {Ra py:Hx4M.-%IS3&VGh0JFlLOBI7E:ti +q4uWѐv~I}sY &&hs\-L/uV؍|wl֊di7_qmi/~~ g`6+>?ygj7˺eiU0a\JASk ډz $mo@;. eY.T4*_~mۨьeWղV<=z4,&^e7hF{\uNH8'Ok!ER7"6Qb ҩ;:aP.JfmڰBӀ92DYZT&i/*z Kȫz-wV,wf8. eb,Ud-1bH,$f|9 gd֌Vx.:jaѾ %NU Mj'R1UQk5Xl09ͺBY+:q^W Ml6H^Aj-djy]+9-.l&i]≟NFK1>d{B4\ejZjYmGŽ+RcSƳN0h$sQͷ'fu=[+`hS4K/ֶ>BAwiy:𸬪bjl,J5Z/4Cm۹JVllDY:h~sK e3ܮƥcD̤/Rk4( p2A}VŰ?U]VA59Nx0}(e臵(uw)̞ -;;be)R;jjpYQtpK7N4Yt'su]=6JR]ۥ7l`u$AndÃqmp0Z Nw8[pI}&޶of{q΋bА~,ͺ}+.{ITFDW˾,}2齞iPK: uuUz țE_~Rɽ,>RHe9J#Dg}L\>TaF~MqW̽=Ď^l~ic/bU?SFD0&w_drEI_9No ;]]_pD#rO/xE(+=? >$_y$ܟ8rj_$3,t{BU,J#|E"JN(1UCP)RU&|NWd !0(a\" &~IV2e2b;X&%IHz ^B-)4ρ'U$ D)c#h&#*1a*b+TD?$B"U *}"s\K*/!! "E%y{dP{JKWQDDI|vS^: O%=3~./$JOʳHZXiu"~?\E#-~ pPz# p7B H_'i~~ZOnoz$ȧ')gLݕTYF A"(X$ KªL(44,= i48R 0?yۼWnK`{Bt& JozL \-2W_rt cbHE#*3< oҕ WAH䎡{,K ga"dvTu2rÎ l ) /~uWǹ”khzW,߉]0!Lc *J8LVo@@`Q)]r~ ν %.PIοY70 o >?1B'i!ʭ`UOW~TyB RN()Ds40bt3YU%'@t/,)4eIcK fz+1 k`C̍dLp@!(,z@؞?/Wތfu(I_"ܣCP)j/fԀ֭ODQnPqi%7+P,37h`(D}E*H*8j)*>IoaSEY'331?EYEW#R;\)"`R^*>/2͍W()E)|W'_H xE,F1q?E|dr'2<(uUQu^\iQ$+ daHOv}+#-Py! 9]gTR7U?- d+*= OVU;:< ↇn(6B({ /R m$BG(d;*D@(c~TTyK*a`Y6xղ1m2RVUf܌Pz)!-0@ > ģ|8ƣ$?@FyڬAQiyp[y4Ƕyþ$*ж `c-Qxs0Sxޡܸ3D0qb2*RX _Th(C6>zD~QzOVU>/Q0@`P_`xCHp+2/ Y)F K\H*l)_ZA2|h )2EBn),]AW1~ UmEy/dDVoE<8c6h|k|׷gHi8}0r'Z 2 t;#E剢`Mom"0CW[OR{庎m╊ltKyܤ*];/R4)i뷑/I8!#?a$}yuLDYP=('&+?tx毬#nDY.#(`S ZaEL H=ZNw/C$a 7꯮$x( ߐ!R \"S9ߪ|G((N?XG+}^'ޡ'|54BH״}8ZHR[nqQ$㋘ b|. 3+x(,FN[|9HI:я+ 7;jVuݲZ~Ty~S҈XQh՞@4gN|(zP=G K7@TȸC R)NQbMT>﯁ cBXFÈSe Uj]#Πx9] /˟V3I򽌹+K>` .ė44 21_J.@J8'I+rA 8!|/Jԧ80y!߀ |#7 T+^0+U>DS$9',sgĞA}g(d<mଛ?d>U7`w:|F`q^|h0Ο%x A0%gW`3z}^oZ>Ӯ"CBIO.$2Y}T|Or ͇ ̸ɦ2rOY O-">'Md9UJIOU^-O`dF~>{)sH (L1̵^U(?@| 73P5G`@;gHkٕC;?/]%L9|Q'ebPR^0-xXT])Jyס2@1]5/ZרU |e*r]^κ_r?/|6N?'!Zc?zY }cޯ$kDzy^n#.EE\o6^q<|qm41uUGt¯yM&cn^[QMxL ДNJc^0nSHiӬrz;q=?ZVWOMWs7ߋ߅^]]{^0߉{gT-W˯Lq_U ?y1p:xߏrTΧxބm+o e:uz#˦7,}P > Wo*or*JQny^Yii7ZWh]E}\Fg>^@!x7:ߎ޻W-BI#ռ)iW`(w/R`T^֏9.2ۏwJ+߂1o[6Q_A:{ET?)4ߧ9mI=K|G?TQ1{5vo~ aݷB4­I(z5>M3~S;)}?^շXsoA_aO4Yi?dso5O}E|x~˶?&? wRT58߅g1_ky~GȷW,zPTQzo~a9P~EC[ ň䕨4 )~g ub5?J {_> Uom@h{O_%}I%{\ DM!|>DHRm= HeL } Xk6 ďq!Qz~ɯ4.Vd/֌ yɷUTdf{FfC؊/!7Q?3~;/~Fog m/t^7 +{vL`Gn ___O&,(?cwK)\~~F } 8_xT G7l3T P6C; s"UXL\D~Սjmh{Rp!ʑgD-^K&_uEf69c|hu|o'6$8}$.̈9 zhyU#~$.9X{J:?iV'cYoss2߇lŦNuķK/lb7ZR\Kжȍ{.3a6d1A^3]w{ guyO?ubNVMqt@9:,`I?GQ="(4kNƻOSxN(OÒ,>Cc,$?0#9Hs4+}V,);R9@iݧOǧa?KP @} ɧjo GY|(OD<P}gX>oV(~D q7fx/_{E}(Ex;wC\U0Nǥ>&/9@۔>H}R/Tw dDjMd5La/aw|OZ!eR%gF{XF)~w~x`VQΈFaGx ]͏vbXa뤟kc?:8~( }7ȿC;is eAGVd*@G&J , wܜwfgMkaRIAO^*#EEIXGE*Hw`[{X~=(OJ]r,?Ƿ%o}RvJЛo'[*̷;{`]E% :HE%vARu];]Q_p~De17Cg2a?OS#{.{hV4giizZQ7<|Q;ܖ ;+(ns5C;\']_j.z4ղ6m)ԜLm?:ec(OUʯ 42LYJ4,1dpmp",4ZZN-ktҴP0nm%dlJO4فNCRO#e:5iϫMkNmVZ^[ qv4)zV[DNVZVaL8fX^xHӠV^.F<FC&Z^T,hcVՁWp}s7Z9hŘlqs5GCl.udG'Ŭ: =oQ{$HIyofe.[-K T:R&㦵W"մ[;¸4DT۶w ~M[,:)R6[ZX>ϽCyFgܞ̜Q+Oh(lX]; k[4Uj-z۝v4'UFbuHUص]ۈ&]lnG½RkMۑ'JYY'-&QqHmn饰NJ2P&V$QgKvNͩoFxr6GiXN+[x[!ss`bzKuG4ԭ. ngͤzQ/H}FޚOh}}A0pԨY*0̭Fq3ny,ֳ=Uv [xsrk*ll9CێSQtOKFPNs(uO)"*T8\R3 `L{x'~[bk7jd,BV]WRݴyI\ug14jm\-6q͡ Sr f (*S\wӳBj{ŝinZ0JuiS1s.Y2ovC74BxA GNum̀+` l\AAoQ.'YqILiZ_ah_Ҳa]l좃9*6ڀ Wm }vD[s[4 QNy=5/[_uIǍVÎ׸`mcߚnP"&cf!&Ĥ"O-J!(7]lJmӑ[rF-ҸD-K抲1ՙ ~6,<pJ,wÀz[uJ:U1{s`Mr0DV>M˅@SUTڄֽI`=vj)NOuc.d0ec0n_,dްF h 6gV۹av- ZSToGw֟*o=ss}ܙBVN zgSWhV*t5:h4Z Vaf:x5x4Ig4]Dg(WzswӠl&S?!>.ΪJud; $g!Y" ^ S̛^T,$!͹12?BD#ƵN*p0/}FSV :Ptxӧބ4_pD܂fGP=+/n2:$nd_Hlx@]b֐b6reXj6ĩ] /lvlT0zh_.ZKK[AW-rQcX^ gQma[Mj'և3@2 C&q "-]޼!m0*؛$H#ɩX)- ʪtk)Z} #઼)V`vZCOI񍓬$T(pS+PY&uiclj |\]t2|S jZ>ʥ}n(<"e 3F͚0w@L$6KP6HtAD~1<!oߚʁSKѠt#4 P\tFrrC;0&Rzj14}9gnjҘ==AE2hO:wqɶd_A\nr6sjG{{2uEZǦ-P?ZXY5ϕܛLי ʽI%13c}A8*J]oɚ|9־wouO $Vƪu\TԮQW4lɶH:Bp]>j˄t*q6(wOcmZ[x04qY b!?Ћk $k=qBŠdbZ@;ThVS>%,(YVeBiӏ5y_09.Ǭe3v_2̉'_"Fe/q:7\߀ ^YlɈqo,A:ft{^Y_ 6|9Z^6T%o~K"euuuz9z`M-!& ӻ+IW+wfQtzkZiMk'41nBfh 'N{N6wAoja= >5q-LEhɲuT !<(a/@r`_1$w2H( N=8Nt@"UUWb:_ap<T^}ɡGN+9Rbji@'^K .aJ V"Z|L#FE/kچ*m어Lej^ׯUժD%-mcЌ@ *&DQyLi)t(|{|?gpɪӖh bߋO ZD kn:фBRQQ&; Enš5DB!˒uZ{rS f=XeLNEZ;FF &|z5wSUw~Rxp^!B4 i$cӒ>p 7K 3ZV{R*'i"",y`O IS}ǃ'?G/Gc-<'G!zySG x2| +2|Pt ϼo號t\_j ,,Ck}$ Pq~Shsw/>(U@l="f9je9Eq9lΔ%5eSX>`|$uq ѩC{5{UzqO$tjy iG{;Bo"ͽ̿¸}w60cl7(0@OBJ?o!c"P,8L*%.2*;- &Í$ei"P1g69@oKRm=»Nvo,:RwGn\*N5C-z|5!ǹ3輏]=\hkx}Ss'vHʚ7mNI9k>Œ;ğ JT{=@SC tQMb+\RugbޓꌱOHUgwV0<q@uiEk5f}Fao^ك `}iy_ հ`=Gۓl$O298+Vqn'B b؁.尒.H9":\*rC>j gzmdV*R q7_q^3^ץ/,Y4gfb0%MnҰ@}"]J4ܔeP|DoyJ>ѪPJbM% fL~LYlPSS>D9`!+⋡͊RV. Kέq859r+ Wvi~\+F/QurpFT}s{?fgY J=:#-5.F` gtaI NoCAZ; 0S|*\9Jpu! +í0$Ty;r,jh#:׿)u yv64]-dԷR&C,9TaUZ]w.q@ŅvH˾wssLX葾t ;Yӓֲ>5lnsZsr aip1t|b I :GrRAP^(;G~Fk&F` P7Uֲ?~`ˬcʨ [:լK|JT:jzQߕj-E}$>`+ƌ &Áea& 5)ޑ7*/.(ͪnQlf۪QEuȠ5ȣ* ՔҶq.:jfkr[R2erؘɩCrR<6=q]#'Hr$$ /)fp''Rc᷉dЃ 3χwwA,R`fd EsrV*e-N&j W*i62s[M J(X!b î r3Mv$VK "d89_o`Y1vt.S KDt>R1gx։XċzBNM)FЌp,o<ބy >җc^;2aG1w٧=nC75wl`?3w/mMař펡[)DT?qgL$D*:AZ8#c(ܠbq} MxZYj9P ӡV/AB? @/ KøNN}Hm녧IwT+ }޲^i,6cWimfD+q@ Kҝ/DҔ׀V}hO/F/K~\IQjT_7ʕQbR# +g9wKT[w7ʯAZ9`AR%ʥN{E@c= 5 5T<T22 cLk|[,@ҊХ"K)oϰ^sJn>W+KoyNIV)hZĞH\}3e8[c@anC*WSAٻIYVeGׁP 謕<+"Ҵ[%Ӏehny57㝲FRεA;C q+&#YZ@$+,Eդ5rດW2Jm7@)KQ ZڷRsP#Ix)@a8I`l, `4<,CTFB$(*Z H! U)whq~4cl/H8-SK|(o>6A|}iԷO^8{s4!.'#CSDlvŨIA1CǹZy$p7V~k,rwziFN9B8$'5uOΰ3d]]^Y-}k=@+K:&mg A̖yr:s|5;(94O_$R5tLPlM,8ojj}ۃrܥI NTVZ 6Q-4Άvb<'?ߝB۟e=΋Rff)a aoNOjWm FdL$yPButCpuibqsgzQVj5tyPl`)CATkXڶk?QsOzBml,1hSt9xbH6*E$';8>_J"lFO4 x?7V|g9puKڊyEU`,)c_A]J&_6W[{PcA$8CZYB"K IaTzP֥uՆTcĒ@xцyn TKAln >k9&BRL.Ψm~6ʪ8Ow I֦Sq%qbZSV1v`*ًSsqWMvF{D.W紐qLԯdȝŁi,.®IE^n1y;ZO!=fTjxtY^WNTdQA?]jfIe`=jjd$c+*6*iը~z(DƧo쥀?ZG!kL7t9Y8]R,gO!\!ldYfT}{4@%ڲ7c` ˤTnFQ;ߧ{}[ >Ѻgm܅ړwQegV\tYovlsGTd>ttK 8yQ( Fk޽BXXķ/3I_{N\?"5lrуA z5Nߧw!IR[_*l5kFuDݤTAouܰ;^˥Qו8A}~|k7eZf\⒲X%ѠRKQ :NV[Rχfgr%Qr'cFِiW!jѣYhk[Y@wSa9Wss5@h2ov7.Z>|g5W1$>U4AP]=w?e L@~QUv>IZ+9;t|_ן;*:93mIwQ8p7 <{ݤFK96?#Pg<ӚtBZ2IQL=nǼ`tV^.@hgٖ4V7G_Eo@.bgPʰ,i%V1 (9uJ)gmXK=;]QF%܉2e2 L|LDPӮoUa_JD76oqMD~<=uਭ @?_hXIPzkB*b^b!W{BәC+L# 03n/ڽwؽ]}?zIdZK $%hREΞݹe}q}jV`w/, [ ɘ0|ۄ˫+ž^mJ>3M#"JVOx'V_a+ 2ңy;)ϜtFJQ'ۛZe}l|87} .Y"i1>|~OJZ;QaԾ[VK#Csڬ2{'_@7 U!Uejs^t/5WEG~j +L!{d_#~JDRK3h9͗fo/,u0_9cZ) =:[~gC7g- S+7* sؑqlWt)yv Q߱=U&@-(9KO{VwekI蜥>f+k؝S}H|9:b5aIeop{__-QQ뤞5+`[˺kI?AR`1ש6F [MS s]r=dϱ7E&\dž̊X>Q^tUX:g9?q.bGޯjR[7Kz@[z ]N j#D}͟[oJy4ϯ>jbFAG\|y d:{w*Ͳ_JE/4Nb5H{X`DyؐPoq8jpo_;Z!{Tmc#|%cWs-6Lg(/ ޢ:^cu%>~r+߅*'5P@cJ27,Y^3ҭxKD'IT`z5}2kJo@|DYX|F])ci3*+RVpærLHd ;+ѫvfwytF.wF|1}U'E-Qpϓ ؒ>;z>.迷Yqɠ:EGKM%+KK^a(2>|e?J=6`{*嗧݅Nx.gPvC)ÖUsC!z 0x+F[%0;RgLnHR<*kRKSOx u~Vui^sat,`fE|>{F*^k]@t;;w&Y뛂 m@eOHKu>xpigen K9K"t[ Ksm=PP?'_#Pv綴b!biy_~ 96 $@6؏jb)l 5Ϗ[>n"7 Qsy ! D^E|CSvaz|FÆ9}"׀AGgY~%m3_s{1A-822yvͬ΋oTGQT\:Fkc|~lcjdٵma~$5rӳiq7{`BO. eN}|<1Yoh^8]>d<߀Ie_;eBBrG %h.QU]JmmTPOG_#z  9_Zq E<#`s:A|)l_(ݷO7,mn~R]ef*V KoA#|xLO5WMNe` !Xub$2WN825?? +dߜv`C~v>ݍH%Oq0n"ܣ COנ~5A!6Pi6bz 9ܚۃq蠺G>Zc;H{,O`ٺᓖw& 8  wkC=?9zJQ1TF 2ڍgjTIJ"}Fp kgxz8 ]VŚ_dϋ~,m07Z,Wb mS_M_q$,IҶ%8>AsW_tB=߷*f}&6˸ʒAAzf_7zթκvӇʴ7#O0@/Yj0UG'XB-Xetin~ 6E,G= STRQ7KK9}ͽW4ے+gCEv`UwJ}2^&QmK+v\B;5{p|^LeVG5c(PDE+jLvf5/c誧ˀN'ٔHҞf"vWEQtF lYI^ &ZȨ3)Qd`-.0䊎-LJc~#ŪfPg* Fؽ4!0$yzڭ/z:Ȉ]ٛp*;^[jYq#S%]n]y۵\TznR,| EX)@g: inWG8 O{@iCd;%{Db;`bz*B}\5+p+1hN_DhC;Kw Tzڼ9lkh+ @wNu@jO͓$ ϛԙa;۟w3E9A80#v1pHkKhܚ7SSjGw?pʴE+\ϧ*>YtO)gQӋ;!ܨcG>0~!cY/<;J}D^u;ŴX#'8+d"j;iMG%۷lhC{"}ĐԚyA޴M\Sቶ7޺muXN$nwYzYk7"w3(jbU6,s2',G~Zq_K$^v+%q@DZq¶^-'i >E~|8Hg3m7L[v4m^.rOt/cwuIf;:]@D+%٠ k&4;2fN &yw R5[ rAx<]b~?B-%NVh[u ,c>i1waҧ~x EG IGUF?ģ'!le}kccŁ:I }icޡA8ev ;@3q,tti(88੧s'}?XtZ7:v9-HhP%I! !q cOI2mT?B_zbk'HPݮf^o,n [R0DG+5؟ _\@>Ok5aM%zP=t `}75G]*OR~+W0t.!Yۑ' 4bU;لF^^.%DUMg-f^pK98II[(,E#ea vڸټ5d 1iVGdAPNU4;EQ4>nC{1UT[XiVz̦C]ꭁ)M?SR+=c{t՚t|iʋΟ;rjZm.6j]͜KS{ wh~_ ![YC:t0_L;D `y`Cqzq ?kKAMv\ٰgv(wz1`Jx4sBWF׶Tl2)ݰjՒ0͝X m-2lβ\3# 7J$qSШ."RJVuӦ&FTS n|p=ծ ] 7\H(bI2ǗS޷FD؊ 1jLJ󺹇ė%TȎ:tdGi١2,Jٲz 2$ԶhU=Vl렧d4&5uw͆_3<$| Z̈YRz{&XQb")=;x'}}{ǝtm͎C((4eg\j/0s5[Ԅ.7Ҥ}knL5Mv۵kaڹK}Kṫbk?N2 eזܣVd8%k{)l{PTZKST=rqz [;~JۇAINQu!d=[O=Z֣s7eChDcY7.a7=2e ^w=TkI4.r-j؏I[Ͻe56r |IqDeq-4k;gsN^\׽$vd߻~{ﰹe!ukSRDazle]+OaKY+9޻ʰ݊st%C*О5^Sm}90ljJU8&4mۊw7 !{g{kp;Dg x2ZF, !ƪ60^3u>J9Z\.ۉt|zq朙lfcoYi;HO\gkz0kI=P ֐@Gu'Yߎr[5ix~CGzzN^کfؔ0"fg+j貞~"x|ȸ^g!y5&,Hw5t9I'hXow៍RDfͭ:c饵ri"@1BԹǡߚ_O'359.(xv#R۷ y94~[hc{zW( ok7?wS#2$H=JԘ!;vBk 0ȽA' Z9qT?fN^m{%qQN&nnfʦBqY l9=ϧq|2{o$+.i:jBց`V)ņ/ CoPS ӄzPM5B&]]|FfC݁JotWy!k l@ ukEYhum1pFrkN ƹzI<뎲ZRMNS:闻e".EPq/Nޮ@!HlQyT뙜N-Ў⪿85NkbuYz3ҮuW=|k9z_+ۺ* 4:X)V7No8t;4{ tk1|MO L5C.R,df#΍>Ѳн_u-9c)* cvjn`u,4gMKQgrjB?t[y%%C0<kVs;iӘt;Cx颷%jY}vnuRlb.nG 7wfh /o{dv,'kvQ2H~l.7%Q֑C,ڄ|;.şѮkGz183;S^+cCOojwKD:[_dp[{]pԡfkGVJi5=_tѽ[xӒZ}pcYi!u/q]sb]13Z՝??zϤih;Yg3Rw Gb%:7asd*܏ T}`ƶ6i4/)P_l+貽Y x}f3cm'~cDZ|\y}͑1qf?ʹۢe?-6ZNWnr6Ԟp6pMO}~"P^ 3 )}~OGѢ:flcF[=sueE7Qs=$۶]*ݡ/H2'.؂0Y-;BOdtecse\՘<[l |HͶ:{:t4AY+ K]S5g:iB0):E^?zLC+f/}J ?Cq H69Jӵdj`>cюSM=\lX[m&)QnR]7ԒKeZ)'1b16"rVWei/#LoV2X\s"ԥ$__Xn,!4fS膗iȬNW%zzOp^Vkv v=֓PCi*GG7mٸ,\݃bU^Zz-=+ú (Yʪ] }0EA IImI8(gUZ;I=Nֲ)y}\)]۱%{}su^]BPwB)ɴvuuιu":Z',~u E>eW]krI6 1Mr`X^p*❯#uIwbx9LlxlT 0@lpmhf- 6nYWFpjH2 6]/+wT\4A(f8jz ڭ3]_KM/"M֌FéofSvhۥlI3TaKբu6Ѷgә0Sؚ7;>wT%ߕRqUè7;c^M"g8͑/ Ә]LA-.i4z"PԚ7k줝6Zyu^̝(.HSۺo u.HIHow|G3u'sP6847EZ-[&qvcmW(b~G%O CqBy+ml wnV{Yv#n|ޖ;"dY\o"xEjlC2WzJ3u${7I}~?8Sa߆K/8~:kq>|98oN[ݯj\[GLߕ?to/<ջ콷_-ť7S^VD0gL/ωNލz~LTCΔ ɲ$JE_"Ʉ ">%WEIJZJD~eDC)âZ E@, CTQHu7d3fK*?0_F?/R+eq7ezHY$q Ld xԫ*a* uaEUXU0oۛ*WI""^L*hGb:ʱ  |:dhX3ݩ./2zDD(~/rV?GD%*HeWQR*E@V kU}8%_)?SKk@Rb"DJ0o0%Hb[HM0JM",+W^5p>0]a"РjxQx ECr'{̑)%*ƍ1C~0&&&40/K0y9{PAAHQs[w/J,D$RFH D(XQ!!!b&|7 PXAb ZCB*R(t ^T)INa5aPaZ /xMR$lqJ`%hr?m "=ʸdy$ӄ?I]XGkKCh|Tfl*cgIc4fP+'A$ DqHZ2.e߯/jL+ okp7)R?{ ƕ <'! Nv[* 0 ÈҪ -_I^)B*dUB0UOH%"(^G7: UǤLw>D(?/8_Z{F%Ct<eNy0=<6=DBܽz*w%P+x p+ ]yBV` zDL$A8W-'ce@UxB>*QI r%QCMOy5I$ 52&p!/!dD 5`^~!A,>Hk ]BGO(ĝ)6< rR[U`bITE,G#PﰊA*C wT=J$hQAt_>ނ'tMB{ŃR * w W*ೈ{ 1H6aq1 ~`>[9Pcф6+ wS}ЈہwBTU' oU-ʀ߿ (l>Wru-SC5>pS%K+`4n 9pFɇ&h2 1d(y 뾼y{N$*wWZQ{_ B ңBpA<,= [u+_8Pb` 0֊?My+j8eFofo-!cZ9 AI+uF* UxQ}t /@dQ 5yU1U,`>3ނxYAL[ޭE>i+{RL YlUIL<no~?éH}"|@zJ@ %} e-Rw'UEs4;zn@BrU5G}Z9yQS_[~FPU!B42zw@x)  ,K"9 H0W(Nߛ8! %l IU ̄<T *,k }ĸqyoG#PLˌ|or~e/C6 籠kߛ i( @YJU#,fyR;8g޹Z`<8%"ǂcJA"NJcjݸqއA/OT xٌA9)hq>=>XzQM]/Oʃje}.`MOUޠ+ջT}"Ƚym#r~X~W{_hI~n~Jx!"Q[? B'r0|MKmaqGKrrQ4j=R.ciﷻ w|)vV: R6#&}U`?LH^:TDMu gAP>KRj.V5#T:pV>RgTA P *XTn# %|QOA+W V^5ؔ(Dp@~07Ȇߛqd/S@@')En|ۇo |K2Qw _0*8yRJQjU@%^I Jx'b歪ZȪ p,KNcӍ/nCJK_o5(I_DcHEc0}N S%DUao4Ho T`uo[RI}saRGP4"~i BӌgUash|f.zWweMf?d$CRb 3|Ճ(fDp^ƱB5fȢX|ld!P#x~T0 7ZiB)ߐ!DzJ-HrTUr%V+Նi9. :)=  +0H<UT>dE "ȴhgO{Ģ`UЈ1$ PL=ߥ>~{$VVE_oTU!? ]KͿL&+e2[u;pS71}_YB_`ƍƑgz)P!ǭ&Ʒ'g=BREdj7%B]ÿt"?]I\mexW>mbc>ɷM~R%_/!U[ Tyȿ_oR'~ 52g0wO{_A_ݹzT;'{ ;ASϕ @zo{qelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/16x16/0000755000175000017500000000000011347002066024700 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/16x16/qelectrotech.svgz0000644000175000017500000104420311200647463030305 0ustar laurentlaurentXxOIH΄w]=oK<o ?*)F1Z$|O?!?y٧/˓~5O?O˿?? y:̿l6$9  ˀxüv?=og 0m6?/|V_~?T+2%P]ޯ @?uy盧C ~/xΊm0 |y95>~h+ 0tu?ףTfOˆ?~YmNޙ+$x_&oB4;w2i@'Om;^ҿOY};7 `A&[v~~O~`˟8my>߁q}_O?s׿(k{NY~_fC p6Oyvmǚm7m}U" -q~.>mP5t94~یpHh82wpCxoC_ƾlCA~A8{q=FQ=}ʯOAO_an~,1'ӽ*KtqvڿCf=[hj]?m.鳶&V~?.sɋ+x}_30gy]w~/JS[o#0e-0qe=R?~E=j";X,/#?vo$GCuQ__jO]%tY/$M6M0ƠZ!{PrP4 A' eB7&9 4]~ ^_Z M{88tV <srƒ$N"1r%-qQ3f7#b]x*~xǤ#N<E~a|M_+)b}I)I 65S{Ň~bvx@ J@R!OA F۾U(VY T99m~ ޥT&_zZ'C엚-3GDw4]s}c]y 4욨otZtO]v[x۔]4pBɡ2PX7~$4(:Dxe9A'ĕs(J⑋#bA~7be ¿4 n]4V&AH&_aUi(_aJ i L $IEWLrYA +%+K5daM#BkFp5U@7pVMVwzςدI\S4jZ h}GUSH,z˚s JPM}TU1߲SxNKkOLb7WsZq).(:*f(&6.q:WQ/2͋CAa#6`'~ծcjKtӦ*0HG5ن"٠ Ǣ4[ {;#<kRѯRW5}%H|.)xB34=?Hv]*Ds>]vVk=jy~.c*|!x(jP`>E|Lr&yi4U{]7RJrW`uM52jiqb8-z]lH9/,{/*~ˋe1v=^f B筫"r(R$ ?>) p+Blŗ t&)6D D (+s&*j{58P.'_$_~V=ݯWd!x0pdMةFO?_`ECJ.MBm`ۋALveiKt@I"6"%a޺uwTQ9Sd1fꃵ$ CCrMaXh:q KyWG>1<([4:W+ gk]7|b"c6vU9Rx8vQ(2Ո2hr(ʁmP~ k 44PXHUaH4`-(e-AZ.s;/KlHۏȗFh2d$umrlPws4[߼`pv*{-sRAji -U%[#_/q7 JG%pnww*1?ZդÛA7N*M{e))a9R G-ķ*d('⌳DW,ܿFןcSHBqx&<Myc{ :ѝ3}B@ڹA΄w ֶSy0GvNgޜ S0I6:Cݞ[qvY՝0.7L~Jz,}ʧv$C/O4f Kws/ġvRS$ݍwjy'GU"s<,ZfhL 0{wGS}3m0FzTp!Rk&4BWO,\^Ss/"ȾclF{JV@*vJx&m;w)t^ f?oK袟ōA戢#&x&7@%Q HHD1@{9!`%#cO}6ǂ9c v3R:*FՔ9e"g.{~N7&67T WJd0U=bu yI|6S(ӶLm,P~US!12ltdEyv@5ەMc`: Gp}f̢[d *u_]N߮ cnѥXPލ0xeeey*"xiws3ƁlPӴ K~]v2.mX;n2oq4ƴ9 ꃑcC _fD'otPXu򫛅8apDcN_F唛ǀ5ëCc)/WS1 ԜaCB3 gyXc~EfGihZ";U/.GCyV guWOda9qC^kR!-w.^׎4)1p\J{0 n1ʯ uvC>ݑ_]B++0,XEBVz#4UvaJ+mD~aI!.秵q,F`fhw1cBnE~FDw"|#uu5]R1D,eR26F@ǾDV<0fZ~֗ŁfW[ysߕyOrAſy$0Q3F6'G  ʏNp9CiS]$xsmf6cg Oe9rtO]kꉊۊ=->X5^@o*$FJa0r(XRl"kޢ8@Vߛ ? Ũ?d86x"Bx!uYa-@?OŬLx}> ڇr&U̍[=#ޑ3nMTتek'YP0Auch/Y@Ӎ Tft0P[OzǪqq?R7> 7㋗,!/4<=~YwWM.:spi[7NT:8猏 nɼ#h_#ZCּ%iu`oNWj4Mm #xz,(Mak|F0eP~~jm1"uzR3qEQ=d;ؙNWg@\ž\ 鶒TMLTtA]rԙ~]l<;CsAV/FGn8Lt$9)emcA~=%YQ "' 6ZKT)& Cʨ6ikpuڊ;'0 {CD^-)QCE0#)_˃q*Ɇ6|!K#2IWT|Q= Vf,(i=.Ģ5y2 :or"m^m&x.zMZ|k9Mz?xn7`-3#Xh$IY7 \1,*(FVeW&x"[?'RU٘h.84&6L0%]%\÷"B̲2w|.s W&rkyJ/@Y ߜ |\83/q-_fe3nT2ӚӐ@ wQ4D f&s=J,hCCFre)) AvKЎoUU2ˏUB7(/ ,mmoB#p ϶L3^Mm1%dzAd3 +Q1Iw X>Ȝb(jeTmlz{dEY+IŢ~P "Bi.Җ(k:;loYsCKcOWog"/2Pdd<3E(<vW-r =p۾wInyMi M7(* XB:}Wg?fO"k/IdJ5u*lUY害t۾WO#;-6 $MD>޳C-a\.8/OOU<%t!;;DN),HaP=$ytYwH_:vʢqau6̘yk,GKX|n}5LpAV`ԼW s3nU>'6+ OArb7{ME_8{yR1 =az@w73G2F?H1][/Zo-D{H[6j3/-k4jʣж!P;6s:Y H8VLLyo(#P|J66.GOs`ZmQBU^G(p&/QE\6~t 6FkͫG}fv_NC/ʼ5od-6䕘${Hl1ca(wJJcet qgƗ3%rtQ68wըlT>eZAJs]z]]Ҟ?$}vnaP2ãZ'w)GY/詪X12)0.za,, ]29,-7qG6W)O߸F{z<QX;m.QW"(*w3R۹K) ӳ:1[y8xP.6EJԉ֠@)Ұ=inG"g;s2y%#Zsj[;!7/SSQ;u?q5HL4/zMȇэMG:$D!7MkG$p!ӵ9s f߅Gj6ǵΛ0 \>w>JI>ܝ{߁ɠ7*S$ 5Z]pޜ R~M`JȄ)*@kߧr'omwx@_P67K`Ki zoaN/ o|&*7zަ:Ţp4-[Uo]ec s?eS;3'X22u' aTP*S X7nh m@3_/c4Q؇P[v@ c6@#fu'e.^_^=yiޱ'?=⢰Fi+U B&ӝ]D(8TJbTT^dӖ}|`_;=Yj =0F0N {`yzbص7vb_u`?eSv)vcT΁êsB^CqW裤|`jdl\= oMwA|2hʌ׻iMhpw Ar)KC9_sb8wDm$zVyNyw[_B״Ef1:?)_r~nwT1 TeH29д MlZdCZJOT1+s4Kd)@Bo3}auž֍ѪV{Ԗ'uId 9ȱ1xfZC5(,~I/_+5S/' {NX+3FHFg uؐ=2vj˼`#GK.WsKgBt 2E+;Z1VNRdȭV5v[ 5Ho l2^V1kpie<ˆ^b|H9*Qsևic̲6l<nHo >Nº#*n*U'BBG*Y ?PY3Poӵ_볶>\%IGQ A+ǩ45;%SbkFs9ocvу~*mR j_綠f^ЎP]֠Y+Ov7 |EQ͝,T2ht;O(td.2 ~BMb,2tpӠ;=^]e]mbYd{.P}Ju]%dnJ68I,aƐC|zfܸx-' 8=4{,^MpSuUx~ 6X1SSpW9kUO ܗ[7^M,)2g4z~V}}Kxۜt\5xs,<7ѓ\|Ɯ+q|#J"=h ]/Z[X1EfM~˰F]%TqX%wdo?R wN^P;tR΅M;*=3+s$/A0ؖX*QC00h J TƠ 2/W~S IUrwT݆l/$y@&,pm_Ȼԕ6tH:KPCR {  g:Qn_$$U&`79N5Z)soJ%g<|N^dRNБpx= Q ,`,Kxp^ >0IO]U :Ֆ +o\V,s?؝>Ƃgq`.Gf "h,2'Z\qѥ9ٔnT+v~`ڥC}D*YVAsr%Rǧ9Fs:dr=V"LJM C30.( ]Tiq."P=ui%lW`]ID2.Մ> rvi ׼~jdXlkUQz:>4dwxdw{xFȗFj/gթwHN6= mJy( /M1UpחYb"\cL`ΐ>7 Bdq^A| ŇSli~6vxreUԍ'ݼ# > ~|kޜ8Rn_?* ~AvhzN(Ǧ?(km${˼FYE&+f#RIJggmX E;&kOȁmC:z_:[*fYFR1m񀍔O,xf ={K>*d)PJ2B{=:KND|GB9(Y!YWVҶtiGB ,+\nQ iwp3hjg~T!\j[Iyt0SLSWXOxwZD\fHQ}~f %KD~yvZHGo zTso$r崅hPHKrrrmw M2! nD\(YA2|'*w,fYؚR- ˜\ ZJz\˺BBMԚ1rFoy~e||16wq77~wDH?j6jI4xQT"eX7wzgX@!kϐ~QiuY9C1N#0zOd, :X ZVpB5 _";-YŜtEx3uzq޽y-/'I#xϣJezʑ.u'@?$Ej4]7Pin7NcjbBa+6Ъ+¯ٜ7iK^u*F4I}<9t>WS,p̀_s_p`d32J Ձ;>Gmus 镔8ۖبXؐL`?I,> 'aCxE ;Ou-QѰ(jH%WL5B4t -|!?o$\lNQ_ ??z}* l!g?zV9+ hβ 3ͯoj>dL=!"M|^܆7Ü}O <2 =[imޕ=W6vONZ-qJ}RȶqbxEwA; iP$ e|_[ L.2/1y"`<'ǡ-3xZOphxA֏ |!ѐ\YL?iNQn"hiB:r+fO[_jЊ{~\hESGp7 +O3XW>alu!ݔ w & ȅ1e#si{%"(*hbKQQs^. L'V&Y$\`i:ֆfuם[My~3¹A:ʳ0N8Ƒz 0jKћ"->.|vHEI EeבXhT!-7׹LbL9fzG=Ȼ/c '7{k 91:9}od.S_  v>edXvUTuĺ xsxn!A'lr?n]U`HwYD/AU#oox}o&n2Lح'ʣsB+fRaS,Kȣº ZŹؽGhH'5|w07}Jl{(⦯g{ӎ{@oVHNĮf$=vϫ #MU;\!1</CdћR{ǐjj?EWMKT|Cl_yS»0z6?ѥN64{پ$F2kMFa-/̞Reysss$ 8|(p gw˜ l_oqDIXp~0٥k<*|$ۘd)x7eQm\ .kŀ~L9›ɿ]sm2 -)Ow7F+`+?y8~Wg~YOn@ve`<>žF)T9zrW54[ϛR8A4[AMTe,6~ E 0Z<`dT@Gwd!*f(F9{{;խrTȳ]h7,Ə,R(czlsPx/ՑsS١ΙX@8NGUEx嬅sg;&Lqb#4X8*LJ{_%Лڳ~n:U!4 Y-|>ˮ~(),JAR6YkT@c0ǿ/[Qu>6pDg_] gמ#+~Ȃb/]6'~,&NE2}oV"*)v+W.(kL/KQiM$D.uPOaRVj Nވ\# "e)<{wEFEj3|3MnSiBjV"t /&vu1DiM~,kQ{W?~E>BwU"W4D}(RD.Dni ǁ!_W m?M .ODAd1Ξ]?LB@)Ș "zֻ5:|Ŭ1[< UePMɕ7`:o1mpRr|$zd\(|L$>I12x/p!! s 8]Te…FJ3PGO@Ջ3xNb!d2S'əN528=VnAs{ nJb(?׊fR*O >h^<܀ K6sh?PW 7:z yad9yh%_Ozw}p_ǃr:}[( b`Ev\Κ 9ķvArǛ{HXsPOw+B-/'1Ks7!΀'d,kF/Y?W)^[:g7c-;fSjfՈȇ7Zl7e GùG̕@ͧ~=9>w6Pq8_o؃ـ㪓{neiڏ(cI5 j%5Oʂݵl{O.)+?>OnC g\^FE|^dKrߊۥ#?0z}5XzEس&9hz"w9npzun Ybp]#D^Z>mRV/rBr[)}yl)ɖHi1)jv /p95hGE܂Xg܏IږShbvF/s"IaaT.IѺy/Yq-XV@".J9`Ęrks|^uخ;;~cx#՜ |+d$M# &\al.ҧw$'V <q0Q!''8s ?X^km9-)((d$dknإA[dBj¸珈#Ab0^~UվqKuYt-1#CL_iŨ*uѦd̕OQ5(Ѡ7+!ѣ&%4wi=VUƆ:簢)@w.D#nKi BAֿTdVydTЏtDt:h'H7-hF|aIH+ "< J 7&g6_` ''P=kWmVK0 E&aJǗ3M8c!j(9!{eA!@`*GJ2M0 ^WXAz$Z]~@[l$-ΘW1Wq S^E/fcYQ! v1n{Y#(iE~,eut S^Ύ3\b-¶}}@̈| I2af]@+Cm\AF29)~={ObuFc}ݳ!NFlSKd*⼏UR[_/I(hipqZOfj?D2('vBiЍ3&V{""Ռc Y{nt+TӴ.:v鈆Dݹ6 /hph3A}m%Kw/U7` nG|P.;{ ;\Е?+nlR:_xW2Cy!q뀸?%;4 C}X"<1vNzy#7S=u Ep̦HnlO 9|pH~Mbgi1u%7XZ5ǡY=}/ /x~-1ӣɊd[k}YK |T~G"k9M>}czIFGndf(oʥ̽tNo羣Ωh㵢c[o@8'LUECK1r{/ןoHI-+ҳmkXaL٢ 0RTEi+pN͇h<ψm-Y?cG)J88 ݗU zۇk-bړ$6SCXkWc(QӁ;hzկ a;np eL#KXvI{1=>ffKJsՀN!&VUoȷ CDS@&GBLD4يPU2-R_|#0F|L9F3iry.W$#L%rfhn9үI0BҴ]WiQ^R$p]5)n >Ld/]c9w:_bHgv8~% H=>0홍|}pvaU:j30]<_=\D9}"vL7zycs ߡ~Nѭ( !>Dk$r o/5,rZMl-I`HPh>F?pM]Hҋ:kS2f_] Х6wxb~%?Չ/*;`d*_Uyj9 +{t: [ťs!vr|RZԘA46=䖯 x gwfrtMoP-X!$*?H۸4+̒NwJ^tPDV8d|4 ص"pPS ѯޜ/q<0CcfVm5 εH:b~e ذX3oiv]}m5&Ee{k+w)FgzzS-Ax3VH=7wW~+`GY4F-bpϔLK v \lfO2<n[jP:nnR:AU9G RK*-oF^ %YziIP1:s*zɉ oJ-?^ڥcB}ZуqtN$Iq[45|o]+ṗˌ.iRq3O  :WԼ ܄ yr9L# p_{Ʋ- }~w$7 PIaMˏ~U0Z~K7շˤ7,wp,^^]|o0x۳X .GEʼn΁~-5E~Ȁ{oҸqzGf|ڠL4<,1JH9r. Bt94ܻrK֗@_`hSu6nh 7U}1z1td \qq`rD$ENQOFRG|ḞYqً t!&pZIпcj>R!S7qsqQБR=/OH:$PM(^"9{TM %8·)g$QFrG0yՄ[_9QG2 @NIuQHK_(pЈ~% Cw6Zvq>>dH@/g¾8,/C"G5)lj~)R#*M|(sb{\%u[P;B_sYg{@A^&*mfq"tpoaߌtdo]۞Mv"k}*h1Tb."er沿ϭA-n!gxzIj29?#r8J5TDNedQ1GfjV`6iA;rnWO2ʃIHfӞ3.7azⶓ&QtiD4LU9Rz;HRM~_50rpcȞ<D|LƲR7? }.:Vnajx}XIz`^͐4U: jdSqsI /^$1(oe(޹q½B/M۫]|Q % j$vLWƗT;cXǡWUt9ɦ>}":S,m4HجhfgIoR/&],z/ъ4 HIk=.폦wS͇X[VxjS3?IA}2`D iCE 1 8eV(Hhy ?8dYvA?)-^5d QEʛd! O/He~*)#b^Q ހi@ew6GPϤ# m 8io?OP܊_ENHG4q7dLy9J6#*4TJhkmۏVXvV45T8t9;InBIC8*d^[IGQѸ+0{F0B_اѡy%8>Y Jo[&lHM^gsFYw;z/V>(z .guή ~y篅 3Bq1^wmY,zLdv=Mٛ` QR7-,K5AO5SgY/!o?ras}*a, j,)^1k.gCoBl+MOZOnp+Ny2T3!VTFUC7zhtT%b~C u"Z_jCHڊ4ICF`-'Vnx v*B%Rh\S!).d"y&=P#gP tC'GeJ⡴Ev?^ XH3?:cI2?HXk1LX/D*'\JG f"7:VX}.Ǝ[in} pьz=pX#ȋ}X'mm*ZZl#<%i*h#6`dlKI*,MO|5f)X:Kz[+oμ h %eroD7+3q#@xڷJ7ܦ 3 k tpJFW[}4/_Igɭolhz5J>"[Az~P*޽($ߚd"B&~%hϏy1&gݪCZ3ҡqt8 Q:l^,~Am`,~OH}pY–اRsH(Ph?tGa>1hk|7?ѧp .m YTroOZ\Gؗ҇Ək*5X9xSԍl}ezn WIr㒮t,=1&fPN/Hc9UL8:Kn0SV9`p!>͒F/&YO\o &TZ)ΪR1o}fYeE?̗#̓ 󷗋D9I_8fdOQP!g6 ޏ0$]p5~<{AGAgZu/ĢeX{ۿcH"I3^$-Wh`(&ɵ/n<P;A'SH6qgFk}/X-|F5yyWm4cE^oiJQ"}JQK֓glg;o8ñ33k|DldGEk(^SL_vI,;b[ yI64i=,y4O WVUӦ}oA>y%b9/`R&T2(lnH.ET&⻳;M=%{u~}U1!{?}VLxie̯n3kGwdA>h;s^Y'$ͿۜQZޠ[L9/ a^FrYM7ꙃi V%>Kz,FPC~)U#6&=0Ax鰳I7XO(󈁸pA@V]S(!TR j;`\>!^ՏwR_M+3$_%85M~\Ԯ.QƎix0_6-* aYڹ~Gʞo|X!ߝXLcy#Vn% =7!a^s@ιmo6@A[H7tH̤mcƾ! UwXrHoM q!xO_CH +>}Zjie\KdawڶP82.Dk<|oOیo,6s>,!~[|}ӫ)֧9כA0SNA1dͦIR 7n& ?H@p =O m llsg1ΊYʟlHnL{ccX0_V/}ٯҰ \*Qm'rK3oUz:l Z~vpHJMxX{bκm ފ3܎ffM[e⮞*_LVdd͗Ne;뵺xxҤ~z HA\ pe!wTO֐xh1~=oK#7YXz)fj0ЪҜ~"_ V7A|JO.P,J)ksG P{-% ns |ֺqa6>ِNJCBN=ҏs 9g()?֖(DT)bCM@Be;e\NH}ET=qq!1]#Š,;-Yo""?uWf.Pd.jZմfC3jJpG 1!XʄF/r&p\H8x^|"|ʲ5I ֔'jD3Z\CY1nY<ǯ".x_+o?,yhn[eHy<=Xã8W[cG_6I\5Xtp׉5{o/[Β9a nO'|꾰OHSY5έ6R$aIMS= :MGOJݑZ/YGaM=Cf1E!UB'm!4Z$F n/Uc6QCc \hkBs߮URdL3-##؄XA p&<#BS_V6^lOH9S>dvFeZR)Ȅ0L꾣z5 TQ𢏧RJT";#kuXj/0bf/fV0IfP↜+b`U*uIl)aA$G@z"6a hm5H|D˱@.DM3>ubqm8A&| %ZP};LҶ$׭m4Ya6>idJ4#:Go'2TKcz(I0S" \=gaKG#d(1ic:-*ٱYHoDZ8">{T(Z ~6.6[Bg`ym TOJZ9Hu'Aen|VD#鐭~2P=={{Y"wS* wR LFjK~\59Kjn>{Xp! DvD^(ۭ bU &Ŝ+'5~pGgvQ]%`A&[TP'}Sfq>$N`gO __ì9 mְFw# q Wj&/zy.ucK#xVZg9ob|-$N -R-Z̪fQfRiJ~q:A$=E1@sȬ-,wj$ɚgglIIˋZmF@QzBn/ E (XAB=q;,#^i`Z܆L8]Nt-pQjHL5ϑu2Q^z?9^k;y(+k9`i\}Lz NQaM%R#L9܇8d$T$E1;3%T ;6o\ipȟ};YH}׼=2.rZ2!H\0"mY f>i"~ X?s!Up{x6mGKۆ=&~]~C 4%*_Vs!㈅92 zz}-̘q [5wlU=G82XMqB鏤8'U9JĞ){^4fNsnc|%[;UTuFJŴkfB21oZR.ZǀT6bABn N/،Ӻ5ןW Ii);|(=J[zy=YKtp⇉ĕ|=;̾ҁg{"G _l I}G/kK>'_>zjJ{; X]}^WL?DgݓPҹh35ʺY-[?R) |*]dvtO1zJ45ý[w" tҳ,lclAPC8LcTNi5W4W%)Iصݥ8z[&&ƥheW+*jeUU-0ش^)+rS-qGJ Y:z߬ .檵%q:;||=-"}ha9 o/3I,Ӗ(#Иh(h d?$i+0s1YNGv -COց,r[ht86eYQh1,#jr8*$(uT8D<6 /+4\ v mq☝D[G)`aһ/(`f|A2RioDn.v+Բ LL9A_gUQ/N5;RW¬QְOn~>fZd-u{߁EV'p5c:)I(OG-L øޡgIpq_&Ld7p[;H@StAMc0pD^>ꪡ;J񇜇m*Ҹxʬq)Cst^G>cFDBEu+W%,‘P0>Ի e?At:]|~Rv$|`Lrb-xȸ KນOvA<XTg3Ƣ~x»`:!P=f^~na;(Th |;ak<0w^ͼ[ nz~kNt=Z?g=7'쭈/// ͝EBd'7{cF jIZ4~]9{0gL9'`aLX]Y]i*yJ0? @ѣO1 , 9jGѷeV\ALތqzwquo^bNB0/ 1>+zvB>X7᮵uf'@eDZ1Ra ag`]NdK.ې DZZ%?{m8&˘o_& #= !do:?З)]r_Gw}}Y9Q3GJ YC$ok%MiڮJreKEzd>9<{f(YZ;J)Dqy$xJXB 0&xn7&R @fV4uXS^M^<?WV'dm9<I*&opr¤`Pݰ$9DhIWzl3}n2׎u3z1 y E9%zf4(ƟL90klBJR)_>+K) 7ZwAYo*^q`9.cS7<y NoL5x]LjCwEI'˯YG[C[62Bhz?/ȑ$g-:dҵM08r%/ͼT6* PMKϯtEԼS"ڐVwqn_&l}mʌ_)dUq=4F,>Hn"x@m3%H\r"ӲV"/ϹU5b4Lk,l̎pCMS:>Fx%:7a|!ի 01 P>Rg<(<ik l$yz_ٰλ߭tJճcꖫ_ۢ37kYEѝ򤃣T ۺ{Wsʹ8GVml`&_9=5獏TC\ F.Td֥zjԞn٥'_U太D U„xT8698  ܗ_._}AXyl_M? ]Gܧ.XK]J䡿6EBEe9|6Y8\3UB@qn.X#"Urɨ"g&i}k0FOZhQ «@JoAuIU4"tdiٕ¬bieӴ1CO*֞k-_ ~O$ʝ\ʦzuC_c& $F!/EEg |SJt؝)(F>4js3ݸ=PY z<ӳ)tᷓ)|E_?U#K!mB-d aTY=t+u x>Ga>Zk"z kpNlt>2 "_(S󽋄f T g)>j;^Lrswp2uz~WC-29;1ɋ&k+S, O~%Wa#ڿڑAGW Nw>>m^t%E+QTmO%뿴3cjzv-0!g$&ж dShq/f;+Kѹ ^[ߗA*yH*z.3807Q\%Upu(GFf=,+3QE%{PS`"Q 3e @w a_XkŽ+,ncRI u>4M+!a1uҦ=`-ai-ى7~׹ >j6F0^ J7-ـRao MGu" ZdOy \!ŏH& Qc=dQےu_|Y_{!4b#~O,n̕A9"2(UA֓,q>áN@s=VÎђk YWICtif_ }qE/x7y R/G|YDW?էV¹z| jg,DܳDԿ2ez"1/\Ô93n󣬻U0߄zƸi?8JXd|2`tȹ gCB:[as+"_R/8XCc wSԵ1Q90`)ntYA~ R+chnxN>%'뺽:H vIPMFے ؓ[Hw/!=@.8 dCܝ/NAl, {KIcEh *0PKRq~zA[ڟє Ћ'wL: ,3(38z QEߗ(t(ۑxVn| /Epkno]sB;"x*:&̫Bz 9 ( x,m }<]*(">\Em!cLBGrZ9%09o8`i'2GkЂ׌؇Gek" CK\SKrP # (O@%V45"1ۄm5G~m[ׂX!c-𛁩sm]} $H9݁HhC]ɇ[(5&L:+ WV>~%ĺ^I\C>.Z*8;;|h#mܚ6[wN@ub)"4n{=eM0Ľ~3Oo e`QWs RPe l)sp7rvͤ9NJaӛTYImq{4(Sia!ua"2z< G+ S $q %qp\Ǥ]dzp'd[ R|#+Z쁄BژVҵ:'~'uh,e׫oX8Q>bWw o.{g4$WHc̿%q;h ,w%KS\_z͋ˋR9F6 1_çY ̿uT: Mv,Cz[,J߼G>D1Zڴ4?1gp p6x%hMIUT Lτ~4~ҤOhNRK<Ĉ/j,eSɡOpn1Wzd&ʗɳDUb%K*27)yؗ(ETqn ^ $d[uZkE[8c.~>RvF>Yo}RqVϮ:O0]b^@G 6E,P?c_W8B$|($/' 20-XD;&)a`ǨQ2hunu7Tߢ7`#&jd;Isrrwݦ ĕ6fTk1Lw{8o|R s|8]>3JCAcl `sU3m^e"i Y܃? x NfKbʷpZ ~ ߭KQRITD6([2Il2:׆%IW\rv{뙸6_K8Fq__5&vOFJ_7uHA?/|\?~Fj,&>hӎZ'cEn*.TAo, +dpH*a1E z'w~\rlDU#iS;0eŐo7a5)[N0fT=O"?u zYݼE;D{a#ٿה=V#y#ճOBztL`3I ^>Ph+u uY?}2/JVy2oz@e9K?ї l֍f9 uPkc o6MSGNȥ?T'4c $ƨRu?zi56b4ߗA2;[_wM%8* SJһrkM$J(_#൛ G!>C֤Y ¿E-qX?ODCƺIuw6XTzIG)g73Jv#1^-4S)l}~Y#QuY&!ew bEE.q +$p'lM q`="t%@5/jqp8.&_ 5w_=|* W#Ǵ5}_cD)\gCϏ2wwkk cI;- y s^r:JטV^WmR: 2B)XX=9sS\_c}X|?L8l3Oꑋ 7ُ-aGdS hS؜x%cb8^gQu%#Ij ~ӱIί )TTldDSjf\39.W򪀞lnK73'R!y9Qۿb"ͻ~tѩea4>⤴!VY(1[1 >"]-)=}޼\JK>h_sPmz&!Ta&`2"ʴCwg<{7<;dG1WY.M,3r粨^Nz}g]Q{CQq,p /icXkBjTTVWy<%XZq_XӂrJrsȁl\G8xRtñۓfd&f\S[[o=|fH>fh j7呰C-Sfń45T GAFԳdhΓ. > tׁcFUh>J?c9B\bsQ$ѯ_  ymgAMuo g->^f2B9E+Ӝ9ܷwz_}VpLWP ի|[hk\j|iR= ͻ.'8<Ny"H: & fdo}UdIKL9b ~i6'9d1 nN=Yѫ+!? _R| G{OFgya"ƀn@ 2^NI&J֖2)qoq/]i7os"US@uNppȫ{Lhڧԩݗ[}OKFL76\ dAc)wo[xyRϺ9# \ke0-6KЁR$唼g\N4t8b&=TPټ܋?u %x[$Z Y8|[crhf΅ ԮC;7sRv!7[0s'* +lo V;J4ƽ`v{.T_"pY D&c.4]85K~ Ѵg|P&ʓ `}Wt]DIDx7R},CK߯M }J A_cWw9C#ZY.Vd'y7f wpgu,h~uWslpۨN20/MiD$_Kj$aV}?z~uDL}mj>CHӺ.&YCx(u #*J4)vMgf1_ =4W~E4_5&pfϺQu^Z۞滋|b͌5-,%g3Ghzέ0fheosA3ΗB2Z~ fM] DȺTjP ǒ %4F1D!,J"zE//YHxjMx^[er'%ʙ`LwW? ӵ5GaE"1dlzi+)pH1;>*<;LzY" 7WKn?{O|ə;͙5 ؀:T>X4=qDPx"0e?( h`lB'K JxG|߲]I z'ں4\ds&R_CGד&єҳ#ck~!;qa9M6i^UY(7̹ ,D1"O1:Jj懧!=v(aG˴E8LL}Zv]jURDu(A!ReURLA5%މ9(sp_ 3$ ,B E2~"bd iۡͮ+sRӰZ&p\HIHDƥ_ `5XE:^${i͑CW uHu> 3}E%NHLnY6 DT }6Ʒ>11چ@@;c[w!4T  DhyX|lb2Y/VL VxX!C0Wb#I=fz~MۂC2-G 3_8m{8"qQٻ8Y96AtXI F.,Ocl߾Ӫ8'#8Qۊ}%o2ћq۵j(Dׂ׋PSֈr_KCሂMLp'[Hy!6U[via8ЯQO pij'8':?bؽ"hmQ޼+AzyL1YRfLvίE>T%R M|7=nCKv8I/kWgh ^Y yL Nbiļ# 2hȌ*!W:fJ2D.nih2 R+dnjF+`OR&{H!ζՓViLl&ɳ̉Nk>-F{̘QQb]X?#,~( G}vYGaqiNi^o VS%!m}Q7XG.?&J֫ӣʱlj3fQ{$h~ՐL͍0J q'"Am:IŬ]ʵi\|z7bZQ"Mp,PәV{-8AF0T쐽NQt͔הy$p)K갥n442K$!MN[M ~2M'f*@եbT1,cerZ~pHct=w -hOXO1RO>S 36 -'n'^rH$&`d߰H}N8B_rq[>+ im.)F?CZ^q"~=>A[f|8X èIbR776ٲ l& Zb"،0A 6A Y2i/--`1G=teNB:D  %ocg!'Dw([x V+ mdhDLK ЎA2hS+ +~ R~mZ8[0W"buf&Bt؋ Px`luWLO*'Wu@3CaΉ߆@ڮDb7g?G:NEHCDʔ 'AIhHܩ fGj65R[rp=0*B2stz B(z&ΐcijEMu$.f9w~S!O^V>|wh?:@Gz:+f#LoxW4C=[bۂ 1mg-sy!/ ?"IVgcnyGb*QbrGXzR rJ2%n˥v,I_"Jmw-}E<JM߶~\W>8s˿MdV@2EXG<$۞T]O4rIRt{7o}N-Aܲf}Ƙκl2ӲiI7F3 -JN$c=;9rt~e//$ޤ"eQM} SzfTSf $W9N5k˺C 8K{!*zvhl$}xШ|w#{ђS35++WrG5iHzb~>2S})i*sxn7h=-ii9-Fy0-r-Jv'heD*h+xf$`W)}a|[l׺yRXf΋a7,ݗ›9L:+b 8p'4H 45uSv6"۴GZ=\ߕis4%_O_^MRSvilqXYd5G6ϱ:+՝!DLwuk4Ĭ*&@/GNhsx_kXXI2I$JA o%?)JH0ڸc2Kҥ a O.*|'R=nT0,EǍ! 59ꥒgDb sz&4-SMBu1GƏ`v|rƂ'cNnɓ֏)`wY莒 XqQ,78$7%._ Wy:i N7Oz߫ 7_x#0@c(N1rr=r kA[BedzEX5KgW)]?MCXnpVsqŃ٢(J}_&2Gг4/(tLԃdvʙoN xǘ^i[&0'X]H-F(mQA3lfZ\ק2㒞yw/N0/__IlFC^s@ \'ZWAD>O2V,-1KqmT;K7s> hE~W AH"oM\|-/øu<,5frla}Iwi;=~7²JBe23jUNհxŞU誤r n/4f^PL]-X{cʤQӺr/V&9bjXDJdȏ./ۺB(p'' 8.j@$Z=5⩿ T?U@jmY>(YK4C!kQ+9?3RB`Njviag 򽍗BUaR8HbY_E_P}5҅9- 3630!ii8/SX5qE>``U=tgdG^&\7%^ !^MY:8-=88ۿѩC;PU\\,Au&ԇL#Kx/֦͏裧`a1mlbóCGj2njMRJ4qD"mU c>l0%o6i"nO?T4c{DDsыYb'~ش6a~ea:O$9%x}_[YCOFkp?dW>N4 nXyηBC^3xYXu| cIHrt ־X+=436TN:ar2J0cOk xٱt~5:٠DITx'Wwd='fqc뭛vщ:ebMG눦6kֱ D)30PwQZuH`N^3-jD2`ƛSxpQ`vD?ͣ54PH;oًU5r!Z-v}%4FX\_x%PkMɓe13mu;lsDl$MXآ(xCaȚF<ĩC d_ɀ'6\nnԍpԜVy_rS*(Y:/=)$iiUeSٰV\Og|aۛ+9q%v"•FX6fё% an~;B:R>}=*eaps9.ԥzv8tĒU_tƘz@Vs\\yYLa%o|9t>+^ʊY ix=BelGTnkfQ|#7Q~0 B=N\l_e`$p1Lb5ܳ @._Uty&!\ $4E ۀY󷆯qN &ԋeB[>" إU O>:~~dc0=[m^] ?q˓%U$Q#=%D`[q(F:čS?4ufc#{6>is3BW)) T.>ʹqLN:xBt0M#Y̘y/x˭ 8IPʴ7NTq[>W;绍CfF^(O.\]7}|I 4_?"n&<=  ?#Q Waᄷ#0z"f1 *(+Emu_]bGIONIZKzZI*F/bcZLFN{X~sN7he}+ƳA%[%[iH(JzGsSV+lC͏jqA.R\a잋Je FNj>}7٤7|_VaY.XSƮs m\uݑ~J Lc˛o@n,SDm+ĞzLW=1tGqJ:X*{U͟s{š&j ˊ_w[Lג R%[on]D딈{Z1=}ih?  aɔFZ$j~jΏ :1.)HJ}<*W.k~-b F=,\Dm^hW!L:fNuF.vGv9!,GPw2S|,Ph."L>v,PϒRE2W+u$+03/`GTSgyq->`Zl·2̪$ӕ1]\3'ķBbO$փ,`uyUvjI:ir`a!=d-oqIЍl, Jp2 tjL) 1)uhNH4{RYLN1X.A\* ᗦ8lX}%L!- +ْ>5,HAŎpa\:3c$ϖa1|4+xyo_Od#Epc b'GwZj}.',y}Z'Gg(p&z8 B-dfc/qbU%<4bb}'NE <>t#@dV7i+hsS H"Η'rsx[g&;o/֤Q5.D7~lT2Nn94b;˦<VpCu}\7NDpf$/@[( 5VQ(NTw:XDO8ھΖXe,^Ri^qI>õePYCi5*tꊣW6=62q$~}Edf\y3RJ̰}D;`rjhx,oE.T6䶼4e)A)VdڰvfN@%^*/q+fՈ"_v_bx񉕑W8ZIn&L@&>/Kj1ObE\Uz2*[줹oήDz&hpc cR-E)x#N[xKW_F-5]82 qX& s@۰\Mn%x4&hʤ{Ǜx_xX}B_ʱ8,ю.QX$NzgbsB>{5y Crkۋmbsgy]cNt}gZ=%JC}YX~z^ XPMi.@0y#jnt6*Ͼ@wL  *śJK1^ə~?Qs>VEvq_2̈њx0+"y(N_ZbLnqD*xԉN"kn?КwJrG11ӵt ߩ% :]Ot@u x'Ex7I,e;A;NK nM8mRPcMeWqD8- uhN=XRR-wލ(qhVC, EQ#Kj8iJ MI`sv6'No*3 -h^Ǥ0vEqW$) YAGXc泱Ft1} L6eJ"mNؗX̀փ4zG:wg=2pO6FQ^D0H8#M84p۸nwMOPbҜ,MC ު?GS5dX #t.ШkFlOh=J3' 1@ nU]|yqӘ Y *@R %W} Mk]ծW^B<=`cJܷO@_j{ ky ȶ=I/^j i5RC kaB*)٣X R~ݹZK6LcQedj9 kN'cfp^Yia(kl0xхZDW\P3dfÒ mW|T=?;௫kKU˪B_;zUH$D)1BR0gʃ(lY yIB\@x7fc,3 jL̛2$mFUY~A_?/S`p>]јPqR֚;MK:561Q^]3OI*EMr|$)P TʲgĞ!֓/CH޻ BHm} H:_O-`ʟxF x:i@?!Toҽ :P~lEuH\qe ,Ζ;);X[ V.w==G[Y-"z>3wb=(dpxubcWwȀ2uC ∀rwExY@Զ*ڪWQ*)db1Bm>aOzW*[bM kմ93oK^Sg 9vVtmj|>Qe@t;bo"DKqb"v.e4)w `&4|v36LzΛG eidZILK("#Qm$&2iR|,EX[ lOyN-^7Ѷ׌E~7 (!Y>c%+02ƣ=G߄y}~G+qdץ"5G~?,@$40`Ɓ5~1r5ჹX.]k7߂^sʕC:$4#'g/H9=oB^~˙ƆGILOY_paѲõJ7W<>CXb)mے~fvlL>7xDH1d Q3Q,edtx/uYfnut 42T jҾ'B0K/D,_EnYSRSf?B` =2C؇ʒJ`:#K aϓc糸 THg] V.aWTD k 6]guDLn>鋀XeYF)̙^güYŇùyGlEjZ -Ș/zQ Vwd$ռ+6^0@pn7C*`ݿ5ݥvHg/5KoM]ÑsUAGDլ-))'mـi'gsr{MY{h#un^S/ % 1b­~U@=HUFO#y%݀+DM ;8r~k*K-"ÿp v e 3$xPy%>{͔ޱ!,zql5JIwK|S6:ZX.p%!#y[/&k~:~ܫ:#`AI {Zvc/_t"X++ț @qlh{B7w:Bg޵PSs~ń[w= *9_*}]MX[$Zz޺#>#xѬq!8. b-{YքjX$JW?3g]'kZ` w%}`ת;K؊UĒE!1WeE!-4 a"_%>"x*Kpj5Zv,걙I4]4svYcHrKscaJ#R"_ړ^֨J5Dgۇ o B9eApZWfxj'&}c AIU^i(4zo3ѵbR!Q{ &T?Ԁct# ݣR*K>ަTf+_@U"Z(53 3#2{ H߭KK_q=LPB'up~OZQo&/ i`CmP^d3| 0=q/ ~-'1G'nz@TFFlcA뒒::$ t]o85XiU|uNli0eKd뿩KUl S@XU->rN&>9\L,כyp~-j~s82~,Z&GCUڣY8xA_ voKH^I6tfmu×JVtűT|ں:dt E0{U O Ns xkD|ގ!ͱEЍEW-m"S,#X/q>@rt j}؟$ִ?s(z| OEo +$[诰_/abĕˇWE0^,nURܫ}WP:fյ=|B kDΞv DM._Z 0ٮ-^?|U~@*(2*BGAdo|X{9ޢ y[W?TQ Ĕ%lC#Sdz>!E/J28 ^bO䃝3Sր/r.}ã JtK z]a dͮ˕cB#9`s#95҈Q@"@/d-!pc-lJT%BHm; eXK9hݩg4irOPn|?CG&ВEFnHcv\ۇvĀhJdXKԡPc 3kT+s/d&/LWq ʿN+KWұ1oa:큾'ɴ"L ^cUOh-nR~eMPieEto|eD/@%S-[Œ7V_1 Weg:mJ}urŔ/5 >PJ|7ߺ}A 3cSr)邒!iB}W 񔠖ٔ+GJ5 p'n;B֣J6c✧V쭺qMRlO~ |6̌PCgGFTH*|M3PM0VAq~ڛnx}|xM-ɭg^/+PҔ K69鋙%{Z_:o{x0]p(K2J~7AA?jA.b¡&o|2?a>0TE JtE([`(V&8R1SScM!gw7DQxN191Xuy~6Ge#:륐L0q$_o/WrwflfFTrclC.R~[8T=:8m~ǠDZ4PRؑ#=[N!Lx!J)^!BF׀Ǒ 5ZwA5 ҁ;(Ľ2qi* 6]oxSu+?Q' -=3 jK=mRJ"\ձDDdQ JeYr@+]#ѫ2;U}#mؠo /CO>1pjzf#[;I]z3޿AQ{VDgN37+y Z ̀q`x8TCT>?:欯,?{/>\U_)jvf 3Xh:ݵױS,/h;5aԬo:ue^wasx+߀b??"C^\;DQbf=s[*Lޥ@_ob3sXfywKWփSb{Ͼ>~qEKm✤X3'-l^&Կ|>ZpG+Vk`քnOǔm'U2KA< MC|PA*MRJ$5)\4V.w91#R-@3\uͺׄDv]ޜgjuxMWf">^i0B,!_t`KdCR/Vf[ZP3!nofJ%}Fִ6quRdCɇnQ]!!CrhÉ.F%h{_fb`UŌڕT@_JCGy$ZJB_vR66Gkg~sQ=0Ͳ Yo)l@9HPʖ:rK]ԲrMU^fX?6xi!h8}KH~rsHQv}qý秥gN͊&Â_u@eDZ~FJݙڅTVYI?7cS{N]B#P~Ñ,] :sO |%RϮ)#ZŷmVw_PDX[Ňm,ty6C"FsJ2&Zxs DxH"]pѣb`J㰬5]kiepU_zgVGn8x:}wh5g1asWf"gfreS^i%mJAwY)*_`E`YHb/mMIIkN]bF˵Af(Vi7h)WtX 󐅹l,xc^/Z)"& (|NA ~\ȄPz^ GY`R0S#Y.хőا/B?^W O0Mc1♹,@dG12[[s. M|=+J%H_fTCBl0C 3"Kh՛`䕺O-Fq عPAx餋K}< nTqQ[=noL?҉~##"&!rݲ6"&U\.Ċ&\ۚíR̾D~^T-Ren׸"zoD#\v2rWb/}]ƣM-v+ZZ[ƭ{[nE`!` C.ʿ"a@4>y5ț&%#~5{Trھ0) \;fŅp 1b=p`>k-iSvU ˬDΔ }KRZ G}Eȳ!"uW" $_nHrќ$f#=%@h+NӤGJ-_jA!`;GGJ!ZkYP Ĩyu+$͛{'/wG2u_ NZi5q74Q|ŸJm@# 正EN*Xzb&5LԔm0W7!;j^Nnms2e,)R|2#9?qQa_,iآuj 3kxIі@jh^{)Y A1 I~͎~P;_ȫӭ)#=G9.`5zhWva}lw=IklN"+N if~hԸq]Pz"JXYA5)}u+=KvT_Z@ec \oX7^pXɷXx1(eIJ 6¯Bt[M/Z 6Q(rhLl|u9$NAhJfMb;`WP )@^,alY25PU}nAGUI d-t> vj`!0鲽ÿđ:NXx_"j3V6Zi\m4Za ߠ2)\o_*d̮)Ũ";cnAvQ|:(pc^C}֖]cP:<]&*AfI(nGU"EtA]I+*ZCH]|1 WoR#G*|C>k"YT4n5uWM$V0Cz R,qKqr }:vxTa-Jm;h]>k=Dޗ FEQ LBk[& Pgogyx5:˟\:cv66:yB_ݺ#: ."g7non@hD2#esns0&x!o= )~lHx>r=}BO!iP! :k}>%^!vfp++^X9hHD41:|)"M^fI{_783܃[j>YW ױ5<2bEK&BN  An:w/puA;їaS+xy| ǓW {d=y%Ī/=/S ?~Ceh%`?;Or^>ƣ|UH8\LuKG҂"2xVG:J6fn١Knw.0Iஸ"(}4$!6US[=B4j,Ⳅ~AP|/Ċ>Sn]:#NG/ T_J_4[?Leln6!mܧDWwzc^Zܧi x=WQn#5:zu,e*+Ƶn:)Ά+c#wXir]^-Zula2@[^ ,KMP|L~4cYvW ZeŀK˔GǚvU% /e@}v}Ϲ$# _ê`D}~> Ӎnʱ>4-E $5X{oGq^O",J#dܴzgB"}:8mbXT`;ϾP`x ExƸWm (hVwgdșf{L AY[hwD TCu1G'^}9טY yJEwh=Ai^%5cyH A߿HQ{ B=!9;NnR F+z+3mtc6ʾ'E f*y0hp42Oq'J[v/[~ |HjteFlb&ο,&H' ~n? cp9d &.@K9R;8;jr C1|a}5RtUyacLnfEq7U@?r^Ò̃~kz* SimnQ!=qʣԲ-AAr;?LdI.j5vZt(~qLt]T<'۬ܽ? ^sK5‘U"Ft_lbpE濾ط>o/gjׄ^Q׺ oKvDJw!W#<կ '`f%vBzD\#F.+RG12 jS.P<}Kh%i艎T~X_ by8 Ws 8sȘdLeVZikCW{vwՋl212Yej)G?_ J H@"ޒ}nMt-nB__z'Xb@qXCF=Ly|<X/u/A>ɂ-5't)Rlma-BH*d 9*)/z<0Vr|a&o6Dѕ+T@[ O@/m೚W-K;oZquב>O4 wo-S4G T_d^Cuj+-ĺ%q0ćby\%XO&9JcQBIiGW&غ*CJsa֣yfR?"t6zU!.' J-;Ϫ?X#$q63IH*ܭ+>twYוU]{t 6}7Ͱ:pKH]_E-~6LKS_K%XCsa1zlƄd&D$9zKޘsV-Wl,VtgfJb`> Heٙ0~gHcO!$c01<qyֿCFI ,7Ƃ"7.m!(履$KĘa^ mvU[ix5ӒL"/ANXi~r^×H2|>_7pi tZ~&\&oN;㖭 ysսRi>"k' mfN-4F}(ҾRZo"2X":zHdrNկ*\#﹌S1ᮛ[vMl:]妁u#]6yKC"rWQ5 [HZXIeQaN]7RCN W}ݞ\7yVnƗ&k׏/F]֫7{lBZwZ}qeLҦu?GE ivS-zl!37$1@5Ikyl0hB<@x7ݖ|2ѼXrvzc/΄Il` ,ЈiҾ2Zc FKsu~!Q^_ߩ#j+뎍) Oպ- =dE ˩Ҟ>=GOVC:U-1+n :ڒʼ?RM%Rć D)Dc>ad"]xLMm0ۆ4ڶq 5k||xQ\~`5q8 _;?!#<׿{0DA\&d~mtV e wԿ3&T10S9VƄXc H2dX[,wuqK{NNN-,(B(R|\@ %{ÀWxۀ}ϳ-x_hg<> $ɜsInCyM#h&Wޤ1:sĪ1iavl$MJG}}GQ3 k/h\7dhQL}"|~OJ~lGΗ 8IiesN{S?#ٕ2C4W-c6{a%,7vw>K߷D8Əh>IMhX\o$tiIL;f0\Qi;"Vqz{dtoZ3>9>baS ss]lVеpܹ)F >qe9J㙴'+|%V/gRϟo [̌a:By[znrL'tҤSwH_JVkA5z42<.aJYǚ6dgHz,vTOִI ch\x>DyQya/К4Ҋ&Ƴ#yŰG\flۙ}fR,./v!FpT mDB% r^60?cJry(~3-Yrow/DC˼.?$H1k!Az0No1(8>i9k{goZSmE6JFEp8Om3aDݗ4m;QLk>b52ĚODBF^_ )n'.~_VVy@oԙ~o70f],dEOR~ס߄"iϯF;'xu(9#h(i[Vwu0)j19X C #T5G1Y`9*U 6= {n5^dLI6GkX=+ogCJ$JץmC}hդK؅ ]MRl hy5,*h}`M5|o`֨seD2ow0-swx4B1'B9XGy ,Ga^e9tCS2“ѳ]n*FЂ BRυpܒ$55RdteD>" `7e1=&R~hex߄(1O~ߪS@ '=z6';hf4=(5?e=?73BVTTqgmvv9i?M7V ^:uxZ#^>ɠIcLp {@NI`GL)KLk'dЄ}#]?e$m 2"ZHc/e$CʭPC~n6]&dO5tz8o3c_뭅%>GO4u%T}X9e;iɝ@mW40E!A{/ŇNN5]euSFŹYSV -y1&Z "%֜˙GJ sǣδyUXD\H=:UӉBh_mgELeZ,hǘÀKW=k(Ɂ1l:}FOⶕ F9g8$1kAs#ZmŇTWZڽq!̛ѣj$bs,=ڵT`ID =2 zɚNdiO/>\uإ, ĩ塘!DOg2iCrRALt>~۬=rI]y{ظ" pS=> ?Ң#Rv}KTNQ;({ .O>HNELBeR Ue/aeWlX-anke_]+}HmUt58~&W=m-m{(y`eثYds4{Ln FqXwѱ`3)0Col;]`ݘ[[կom_dU,Cڤ[ϭA'`:+lG$ uK[|aݚIw"w4B |C%- ?dyFa,"-2%nU=CR G2 wlſ !ͼeuC֡khbTħK0ΐ#^<^7X;{FK]k;tQSK,hohs|N5p\VFȺgC8+Gz9/`!6#R8aYau2pUYs +9'Ǵ [񥧩K\GljpމNiJw{yl@/'9(V_a "D¹uPȯեRƮ>Qk _lmK΀$I2OM\uغ;i Xg. .YաޑνR\>[7zfVg9Dm*Izُ6& ~Sos#xRuICʋ|>2,i|}JIfԭfƋFAb3eOK x+rL?:rs};n XVւjZ "3 ]WQN0 Y0wx2Oox|R_zDF^D 61:OPO;ۆJ,Bɇn9;( mD[w֭:Q39T{de + !Of#.YN_?Ѻ9 Bxc8Zjc> ĵ|\a.fvNdEk(ٚcKNJfn*7e|}o?|hMˬ c8Q3ͲC Q<$Ep ѐ1bDW өG d%)RAKylHvT7`"8 27V%#E)[*΂"jU:Q͵⿮ܠ'('mvׅ,ʳT,'Ƨ"ŵ;žDMmK 9&>xY}.m0A?6M$~ uś..0#i^J 'A^\ПÚ;oMS3Oz\ꘛb0'ek܁"Ypj׋$$=GN'|׿O#hUCQ繿2+8 E+sSF-aIaM5UM ms5i&ƶv^b'L Ў cƜTRȀ' ~Hjt4o^&\'m-I|*Pz*RW<aߏ:,|6o7%ƁF=a$DŽ3/uT0[~(QvxqR&V;;'} \ӄ)'@iuT>!/z:m5$a6%Gd#3K"1vz]iۺĚ\8/ lybI8ɺ^GkeDvOb4x>=1M.1K%ԙ-M=sEﯡŨcqڣʯIN<wA^dO6/z54.x!Y3RG`\`]dL{r|3eS3,Es=l%AqY1CAP<:xV 'kl@10Wl'tJh!MHE؎) AS<}}OrtNʒtVJa!qG$M7C)yôκZUo5ȭJݢ\r-O4՗c̺$^)X{s=೎Sዪjp-~avx"6gl!l"u>o/5flq5euoǒK}a^0kʻxڕk1돆n ViQܶj$b0]zxD<"G^~ZB0W-ݠߋԁ8Cs[B_V4?ms*·Pۼm~!Z;{R4_STq H1V0H9I"R Ș_:ԏlOh-~] #Z[>#y\M[cSEoNHF fЙC~K7MٓyT .Ű6ͪ%R}y+:6>/)Z~)Tr G{& _&6PHQr SIY#/A76橑rxKnD_ Ng;ҎLXΦf|#z~"x2;o濠 fU` Dj>Q`f`$QEpǪ=ߠ-sXHՠN6 17e98 {9<oWE@3Ye7X7;/9Ez]K5;cR='<:d'y``w0M7Df[.}#?i) Łwq1ӻ֡á/MU W y-g t ǏAї$Dzԙ₽1 ca-Z̦n>`b" ~_GltyQҗ)6 p]U=y C0k3B_Ra+XƭggPbX1GdARjDog-VMd[>*h/ZV )Z.Jn)fbYlrIffSRnwJFOoշ|? kXSyE҈uвO4UƑG _0|aȳ*SMWc(E *{)S>bZpy ͳt cSqGPʏA/ f6ɛպL.00>OTl0x6rF,kįfاf>4L$_gg[nPl4]q7y |q4˭ r^#뮾7k(W6SWUEO{U-ب&idBw!91a;_!D'k|8Y<0 ?Ŧj}r'QLI54u6tF;gNĴQ1zIU.+q+qh|-ZgG k裚!<_%NêXW|0FDB%5٤LQ@盛u=sdB*U~b8ZdO1#/ÿ7iAaUI;_@\kw;Z$9fmw)A3.֞unyQL,[c}NfdgDHxebSVԵ98d-:&?WҶ';tiyC] iV]ۓfjLJd{`z{ndrl3|ús0Ka,̀i盨c-O -8Gj+hUHll$خPF%x;(a'͟ԅ%"%d?_]gvEy傶Ewyo-y>idkm^$vbRk 6Jm(LI]̯$C#,߬S 1G# |D*PL#f!S{n9.ä>@iD90c'µwQO8SLInb3ڏ:oKw9cЯfl@믯+hHעP̀Ε~]E}R:~[} A0wqfՉptsؘMѢ'>y` !Hɫ?P2;@(ə1.u7:?[YfBNG A ?L65tWuWz3k#ϚDh+QkPZςd,]³T] eП:PqV/iåԥR&) |dRwwBҵk  @$IMzǰ)[kÄ=R-U%?A&H/|"65Cf+^?x;ƹO! >tVs2گ{Am\K.M}|tw񄺺R<կuHfQסW!C!3%@۾~驺&j =DsЃ2(}/;9*j> ؅苚DKng P(g "S3uK}_v|0y!E^#&j\JzIb( ˳=Eϓ:a ~,8>N)%g[[z#qdJ[ܗk=ԥl ߩܒ<gl`m, > \Ѷ:Xj2Cb8؋Z'SJ.ߡ7wYuz Pn}a5DV47@y5i+2!ŵJX2RH~50ЪF}&;Q¸ ί_ztO[2<>vUd5*4z;?.d?U鯷z>j=|ٗK#U8A* 9,vr06$hIʵd+wio]ʱToEI 2}}\.,uVsϱ'k1 =t\ %D;4goXN%Ob?A|P;} 4bCII9$/-t[=ʇLA]L*Y̛$PmWɽ&/LmfdU\9z OÕ$,Hh  Bun2 nEb9h;tE-\-}9D^urKQ$ ĴJ$DN2&¬O5{Y X0eq`/+@>yӏT9.䟸i.1y H?zvXtAAAZ(Iy;hwzA*q 73¶&ؓfeE=Bģ߁D@),ȟxW8ص7 .Z9.ay]Bj`|Prm,)h4S\ ݐ}$'~AWNrK4ÐOpIUMo7-îޅM$vO#<;WY#o.Uݤ'd";P?))sߔaɭ Fa+_F9;m2 ם-#"GD6LSlVLFOfF]0ػa&?`&m{fYC@[P4= 6HR 1Dӝ엜pg?R~:&qgIW1KɬKqNJ?K]S˔!OOKтU<qUVP{F'QZaF*$q@yU~?g0@l^,b`0 M{1ʍvGK8dU!ƫ: 0 1(ۛۯZJ ^_%@ZY.oq ;+yb!8~lXݱ;IvXc$ TiTP'qgg~$e,2H>I\;" ))w:m>{ySaBKD2>D"b8`2W^_u{am}qb%|8*7Q h usLyRpeSrQS4/ᶫMGv4~9 [d{f麎c3W҅WxBt^F>cU3|3\͞@NOǾ8i`%o[(NKDwV7gY-pf{+MlHw(kOEk ւl/eWfd|[D$c74Ѡ"3$m^MvϺǬp~ KXm/~Ski7_quE7zy.lZd Z`{?z۰P FbY&^Ie)to5S_ut8 Y"LGj!Krۤx[Ŵ)|䤣c'E{iQ4s _?[] ~X 19&*(W̸R/قc Et]Zw,՝G7/HdW< R"w)25K4"NʷO>IqHOagNދm>h }|ܝrg=xfߋ!u'ܵ}?!ML ԑ ssg͕HSc?VH P\~pF7 CRr le%A52]*0"˪쒲,t$Ye9T,rjoȮ‡VL` FcPџ|xBޏ9甝l|.a,SJmvoMx;SA KAyQ[t9](Po?x,Qt/l3&rMW { (#|4ۤ;>Qe4Lruy(y,*}m<-K{ڝE2ZA8n]_-Rg|㸹F{$AXN8q&z/$K+9e&(>2MƩtG_(Dk]++&ݗgАLZ8j}l걢4ڥ٣N $ݛvjH8bNEVLC.)u+.xo1%irKښ>\e‚d`wY?3tc m?. ~KxC2{|}.g**%M+<(մN+@ubzl;ggJY]8dmpCIH *8@b%i,QIeB'8'裼]l =ᩤuV~qmE4Jy(p/bh!cH|Z$b֖^"|Au5@`0b([ O HeO+Fsp|%90< 3C<nQ[]t\T9N ;<>+p˯EV'z)uֆ[={Ky1ve`V$^ءUPNR̡4NQ0%R:sUkN2-uu\U_ӋFBx>^ٓ.>޻.);#(|Cσd!r4uϤY>vxdY*&IkP7::|l8}Ǧ Ý - "ζJh]A:3  Ȍ(\<WDQGg ГJn 5ΰHk?V-g厖~I)@տ"eB~٬i=Ha3.pdoґ5"6}gf {xoa$b}vo[_9'o%ⱲФ_ӍvD<( YV$ˆLJMsI;?̾_.o;DQ:|1ü"K %{wk]%Q/7׷M ?~GѕMopQw}W9LeA"!?HȚ-h최`o9P8P;iO6 *|o`{/ 񈷞OrFqU;GA`J&^|KLz KT򧨃 t xJnatD$44Uz③J Ery0䐽-WjIϨ\tΣ蚜˗/A]PnJ8c_$!gPX{02JkAk6wCOrQ}HMr77&rw70 1Tנa\3&qڟȺD{mlH([Ӂ*.jVɴ%~zS-C_i*n<@芷$meI/I; DY߁~,n_H^IODigj#{=X=Y_#q^}۳Y qRؤ| u5g!FĮ{' bf>S{CNa@_~b4vVV,_vz4^b3Y'=; @R3f %Nd.? . 'GE闤zlzzF (X_ tᩗIB?U((ϐ^i&Q1O $5o$Cf3Ծh/Kg{B~)uvEtխU$E=Kbw5(4<9l:k8w}SCU Đf NwE!D?hZZk, yVg?n^2Eb9oħm}e}uEJ1w^XG{x~}UG/V]C>A|%n,ai\Evxiio ?| ,%|y%5!It`D wF#W&kvoꢼJrnm,'nQs$+}[#vCDoŽֹ:tzhw0Jg/ ah7AO\* ͶxSv׽C:;4؟Ju8wLo57Г81 Tk9Tshhoj`P܂np\kXjH|Sʣ9c9D)m7ph<ޠ]i7D{I.u9+TKfG"Ϗ.,|RjB% }L?e U㰿î .w~zoEр~eC:zrſuS?cX\Zr6d-Lc P?zs_H$+l``E |Bq1xV)P<>S#k?-\E'_@=Vl;&xG'Gb흵aCYrکFz83 Xa>'S CA=zU !}h krF=./zV_/o KBEޛosБ`2@QנDH0.1b4ZwK`~}lyTߟGgV<%ᕛ3/:- sJ <S)=uib/~|@ȕ~ Ipk|uGݼI܎^@ш4WVVσ\K3``xd|ё'*XAfB6w~]u qYUaŒzx4%LD};KM%3f+(D2"}Wɋk6Czb(.,1u牁Āxν*gu5Ɲ vr;JK7M[1t^.T$;GC˅0 <~l!k^F_=b]/UI?~3k^?% _.`oJ,˻~9m#ه:jyKw1] 7g j#ؠ8iϤf#4hpy߷eN!}vF0,h(_`tV v|إT Tqn48)0$фC/9pa!G{t֟QB=-fGiwlocJuѼ1w4oZzo]3~f$2:qTxf Zvd8JrbW_g%dm$U}%.+Ekm s+ܣ)>}f BV@OÛ'k"Ϋe9U]teH fmȢZe~Z#?D<21̉BP&q2nidz0%CzVrwHqNTCBcflhW0 cm{=QN<%9A2kz1&Kooq]S]]i~a˪Y³.V{P&^)iyƯ>?:AƷTLybgDIxkju Hb@^{+V675$#΋X5lKQ.m OW*[W:JAzh1a5P,]kXlgwi H4.5qlC1:} 5wMGP|WXqUüUaI?cMrpFG` 7,p_~fپULD#6lǁ}Q)as;[9)2u#o{|;׏r'+B KWYz ҨYe{  *x1V o'nmɷMG3:C(/~q$$]i'V΋7[3Uε>1WvRtG6;ԓ7.(Z א =B=@|vۈ! )Q#7D/)w@Ny:/bOL% *,nܴ:xoNd5l(`aMb?<5Y{%<FZ/=, Tpw0|j~׈/[E5׫[k a_C聝پ!PM}|H),X I|y^0As$9]e]zH`|+WO-4˷7m΍tQ9%ӏN+SHW>:Gw cӐ|PsZ@Y&Fi00iSMKNVrdߏXd>Bi[NHve^4+j|:,d.$>[K;+`z2mANn‘`df] &5ha0ùģnqr+CB?3Z3{/ZYn-at2jHc-K/:cfeRؾ_P8yBfR&D1>/00TaSo#@*^{>.[G7C۫riǹ_kv.T(&k(b'𐩼;GzB@ \s/*BgmT6˘Uȿ18Ǣgj>olfe_DeRy+!U >-{cͺz,* ,zF{/b)}*xjlB&$InAo˵#;144ڛe#T8,Y>:cu6m,= Gd|}݌$a%  o Aqדt%3ǘ ^3ٶwGoBH޴NXd m.#6y$%WZM|P#c(үtKbnY."bB5t#4]G!GVP ǶR7yBeYA,o籞X̌әc4IPL~A]ڥba@3+G7ʜMS*9G? ' h[g C<˞PE-l-XGWRRʝ uA؏J_s]͆ib>n64r veg?4OCη3:[秽3^kPХ4WK :+yj)"ͼm͸vOꈷK =o5_v}'^[sUW@#Gś}l{lZ|*~Ҳb:a@"ʭ8e/ׇs9!}#d87erGD=[LZv[HZFZP?dYV`+P$C%JU 'IwIb[L옝MA|$pr.m@P}ɚq=U' xt:MBKY_eH X+OI2/C2]y߫T.ڱx(S{ǠF39i9RCd?X!XwuKkMȮX\p\K|6,!t|$Lʃ<`-aE|$TBJl1hn~f'qg՛#0Mxğ>tfYOGRjA!sL-sh T8<MjUZ&,= yQ>" }GߓׅI:=—O`j3 ~$7~PT͚Uľվ;x wx[ g z !8q}WWydBQdQ oˤm+pθEUMd]9SMUO`~Q%[_Zo XΡЗ$Ylj,"[X59z!YǏ* 9a_H#ob~nt2lpJh*#aB{m֐ !HB"(^E#tO5L4 $,a²d *q$r*?)H@gSV;P#,XUY ^0s[w:&#qw]\K6uֿFK ̉qV]aJQD#W@$Udp+z?iz4h$MY2 0zRm*,6^m>b-9 $DMOae#Нh=& KdF,~$>'І ?ʬV͜l>kG[,D{܃!³Nřsj9m:L/JU.3ph34%^f=nN|Wڴbft'*m$ei:=>-7f-›"ixaEP҇)Nⵁ5B=Lm! fd q6gPpZ]U/>*٢bAoEKMS.!3n7s ONn}>0ܖ \oDVkGǴ,"&NGUR~N5oKXin1J=>w4 ,yW/J^qp}0cIMG1`]Yj]y*{fݿ7ldm.c1 _/330ͱFk 6V%ҏ=~{1уF2rcuH`~+iI@vog хD4pgC4cH{OQ–rhõWx  <ےS+ԔeY ȯ{ԳB~.#'%U_9wTW4j&eLeOXy59jǾ4B:wv#6̖Vn(jW<~ﯗvqyk38;ӟ 3 |]H6| f]#R@Z?_f@A2/\Bj)hvdbg{dV_c;$d5*:-I ʧd lsQf55kӸ5܎@[W>_6&^ǥ3 zc+&Wm = F ?M=R.NZJ 񜨋?7RAqmܣ;DW!8`QE.Bes;0W@ʯۯR H}a?2y˅/*Gl2íZ[;x-M7"t#z+ubT&NqNe^4Hk?,WBwֺx6ni<,Ff%$n`QӷKwSx1+$P7O*'e1Mz;j̹]o&I{Td,Fcj}v[njcܢœ;릦n%x]Ql +\ؾG}:mse~D u'|{:)x;IvNڗe=G{yw1#.6CFA\ANy/Y#Ao}13d3[ݶ)Xk=y*ͩ,}?c1wTzHvHbu3-+?,A At/??8?K'e$_G.?!GݪДl[ ?lW%So6f_N2|->?:?Uϓ}牑9xk/WɓsۗW/>PoZÚ-yտxa+/uo8?f{nߪ%/_ɖ?)/4Ys? 06V>%20 !1 6dl韝a>oGfz8ylF˙VaLx?2- 姥cY`^Y&c [h]/RXoc~ 6U*JA6 Bn)g9lᯑy5 #`߉ -ٝPKAyX}lREYP0s̛Q̂\obX>ڒx()-^i ݱ'xϳ_F!)z0lyLdf8jg$5Nxb4/q7 }˥3DWO1_+C//Jw+[]2xTP#B;S395U$(4?Db e( %W}Svqj2"GACz30o<*X%C"ʷ̖ܶ~oeTV'ؿ-Ct p)E^Q `s5 xVE4&M"\ⰳz7 1{Lmvdat~5i贄@YE*S]-Qa0+Q8BDKDBw+ OUA+H_xSOKt(([9^V!W0z2jKͣd/>~39ռq(4ǥYUs ,m.5>ɌcM2B.A流^ic+=~qGg}${$53]PY,Yy$[0^F[E@_ YK\"c)HT)J#T b(CTkF4pֳڿ;2:쟫tRL9m!"ŰAc啚ʋpjk/ ()h ~wԒ,~Z {٭D,vk>zHx;#l Jy."[A}oe\tewp7W|"GdkK'3F^w"ouRԃ)O|E@WMFOkJߤ3P!6< qg_ٱ d낀r{T1>(o]/-5Q0e^VUF1Vy~;jq]w,Y/ Btu=W9v+7gF\7OڀbKlxb>{c]?u76FVL0c@ n^(_̧q6=qBm(f[OT\@9,@w2UQ) [P,k-a tch33^GXjXz/"]]*V1ZH`:hhч_d@\)gX7V~>dg&MVk)-u(c]j_BWА5ZK~ۻZ$7/{|;/.`LQ>! z8Z6ur `AkUQjeC'eLq_"mx*G[1X8`ڈ׷}o4$\7okLMv09DlkWQ~ G%M J0)g: EByy*_;d%<ѵov3Eαi:LUG[pO,Ƭ/QT/;/ȏDC"aM7Rx !5mXv('#E^ˈFcP Δ-5k{oq㛇~?Jx{PM]wtVQ{#* +R)pC$9hxe,[A~Y.O0c>gAOh4>VVX5:֧Q,~6 *T )}j>*l=.0TE &%R/Ѽq4s1lE _n*@H p⫽-Tǣ, !I}eך)ѻ!#XE,(E)t{n@ݦN刟6JP|KUMVn5ءgj=ʢ_GGd^sר"N纇_UA&C2x*/:S[8H\$. wR"kD܃VkSTGİ9 ŷپ%wݦ/#hNZ+-n7JCdDmG Ӈ{Xj6,ޚg)@XGҠmN5H_Kڍkj+- + bxr}35 LR@En,!d`(1'Z r`ֈyFZxy/r@V舉Nͤ{:uhtEf щ;m\>#ah\Zq$')le6iTcEW}wyWrӥӺּ?Ypʘo3P܉ѧM^b뛻}!}4\I`ni ໮!/ng|ǐp7^\қsK%xe&}aq7B)Y$4h%щ2;ZJM*F9Je+GޱTJU0̸<$t)q^Bsv*%6Z!{=sX'2-rh8(‚@b jiܤ.j tlHEwi)Ps `"U~ΏY@ j5feX"$DYT*S+!'.Nnmsyk{U'VtdYfi ƾWraoX oӛ> 2I?y3:м--}F pLdO za%,kY(<2.nlcA=&(2fi>l6&B2oOXG椇.'lu,vNYZNhXD>#|gݧs-f`gpE.Rh$dP^[VڅzFJ G.VZ{SS_)nҥL^)/(XߗyI&鎴_1kJk.wY}NM,)9* q:ۘĔ~m=K5rEfV{=j 8RA? :5Xݞ/SQp:4D )* 8AT6鐪6Q1fLI7d/%@h wϐ^8DYLqQ- %} ~JwhbM"F8 <1@j.t{GdmY샏`10covQ p3>;%Qmҙ F|(l˖i8Vލ4Q.,7%;@ ClgXB^_n~+=}-׋NdWg_\K@} {D2CffcDK)hSAS&b]D!-tN&2e@V]IM em#(J.ԌoFz!`4W_ ?]+c_E1I'U<(82YxlXSRMbcNhpisinDq#$]E`+-p9)]~REt1PTL@ZDX u5Y/'\w!Е 0Ŧ 7Vq$/p)M/p{$]xt/- .{_tgWS- ,!A+woF0.#q:Ȗ BW^3XNu]1CJe MdZ 3D ut:OEJڼta8ynQNpG0}<'%A^p"ghMWGdcJk_*ӭTD8o3njϗ@ 'CBՙH`B{;k39eWuLn2,%p_mW/(`͙{{U[7ЋXmK6 N,q"E\ƙ=uo.F<;O@ @n\¬HTx]engKK}+R䮱Ʌy{g]d$qar,'6YԖ.=''9pU<M,![Qg̱ިTc,O0~CZpBT͌6TmٍAtR-j~h'H\/U4| `+C 1J؃h4UwB&TOQ)Uvm,%k)~9>ƫ cshAtU35:VZ! NǸP_/t~g2U"*y56S9O#@Sg aj'o~km^R46 ]UN$&깉$Jog~Fݯ;aҡ2˻(/X(=!lRɿͯ.Ta@ ax7{PQb+YfJ}[@W9,pEW**,j\y|TE^7ڔu:['n=za ]B b,ߢB@)m4ꜚ"/N ?'~lH6BXyv +eO\qiЛcs$: k*[ Dme:{ VylTHrrr퍜W$!c,;CG[ Wr U*1m=VVbӀQOCЙN  vsQtSBhjSk fd-3S 3EU0gdgk}_sQ[O!2W(mDzHt כ&x"XQMiEYbZjq$K_F#'V s^nsWY&Fc#KLY<4a9F'Ko 7 ~O-D!c532ģx.oEzB "MXQf{8 ԑÌEA {1P-Vt;QD:kq "OS#vHGf3 "Q2쓲[H(1Z'H`tR v43i;/` E\Ы V}΋W?iofl^Iq|)+g5PcW*mBK<@`-3RT.{HV!"&%> ? OTس<#RY1ύI mrz 7}UIך-`}lRsnj{ @AH`ߛ=g.]s8n׈ *#0(ShL #|{GJXtC%gγ;6k P.ze`5L{#uGHpbdo"LqWg-Q=2FdowiBqdOay|0]0_i Ns!'"Lo- % h>-tׅ{WalUwM")fv@M >Q-vҟ՚>#*IGMlHΏђyGKcX7ղY0В*e~7YxFAY4i$STjj_o_?6gx/yՋ1_N$-!D吊[Q Pt| J;y֮lʠԽ9D jx|wL>{ml5m[ݸhZ {U+$S=8`׺NqK3QMCc  nk[Q n"RLH}]5[<, 򅉜)+e<ظ d qySdTanRK ޙsm{^P~_ Jp`T}TbCL ؿG(˼u>CNa'oشhN48v,{j=1Yg!Mb9PZ,˩maL(pvhoi=tX*rvw?jDhU-ozub`A]zF[@ , ҐS}Uz2Kީ5I: ߧiF=j@&|:~J,ǚ$BY"s軁ql(6VB֮5h}#5tQRqc$AQXTZcl07om` I%[:zhԗ%PՅvq. ;$}!^&GeWYj_F3( a={8{('z_ah{lّ,ps6fO`PZ+Oj MܔaFliJl8J\7>$w]pe<0C>_em ܍)d c@VB:ɅʤYhDrѳҼ"DR]/:PXQ^Ǭ",}o-SJR{d0RZYuO"eJɁR4P PK0%{S=c\O7YHgGgnfo.}; )M1!Fm!*9aC|l_N%2{\3xl O]tfklr EQXuP/ !2|a/Pcnb=~HtCGJvYNo;ށ0A-^ބvL+F6>oj&Q)bf+W)e3.R`+ٿd#{g=shīKmm4,oe,,:>&? :6U ºo, /{0G^rᮭE~ҹH^/ǩYR^Vu"S$jO?14p\4"[Opg>:s̗[)bŭrc}[S6yYۚV*p|_ ;w!me7dO4:Ri9UNaiGԧ_.gysm.EBHV8e]a_Tɶ%iE[+J^m;B'}~ukg<6c{#RҚIhy]bѳ{x1[r"|RݩcB!GfO~雿x]AOeXP8`cVNꌸ~qw a\]Ci$9jҧCzhaY+}(#o7QV Q`Es\d\XvAtѣPgjYq. ׻8v&gRtD;Q#ܑv:ld_~d_Y6ۛFRḑ3߸lA'}\H7Xϵ؝L@,4N1$$;\/&Ŗb!JJZb+2 W>hD͊fm-Cl=v^|K6XB)J-} zYBkѨ,apYj5;Ǝ r1Ή)(}\CEqAkQ$ a:!=X =ʳ /b'ѭ.k-F.Vx҇ԷP-Cvf}Gb9a)G&/6Egm)b?a kdNMnErXi Txs+IkS}FAO @7o;yOuὶ&~NAcI(˔<{,%-0D.9P*kvVpVS`L4Бs} h{Sf2ov?;PPN'-VniZ[/3͘kXs,"O yg4Mr<^Z_n۫~ ȡi{E:L $SˎE'>ic:TQoy6$6{ IHg(VŬ/7 @"'m(x{0 ˦^L E2C7~!+.Y uD"Bg?mʑXya1kIq"T1܏b}nI_TDCnNJ?^z b$y]d 8MW!2E84 bUC9I|=O "a90gЎ+ Y`AiC[ee)*{GS}#Ha^sr/}c[db xg,4seG7é&B[Mf#>a <ҳ ^vž=7,;ĺbZ tɟ*{_9{'E1#J4vt=z;<Pasx%[W4v ֫\:]a ? %[[+ld@/uZBi "c.h߳mڙ?<; jc'Ƭ(:?8(BV~gm@O!&fG[^h܋X{t_:TvrK!b d~fwH"vw׏js..G[9{1qɬ8L:o'$iG5~\heę[rx-ƒϧ;@p`4/<=fC"DtϴIeDO @貿j#i7$dET; lj52TEƘ.Re" lZ '#x9m~;8$J~ֿcoҢ"uߑr\0!53]Fe^"xc\1TGˣb4>v~wwkc0M~OgN .(n^} ɰC6lain_31#cT\2IfaX1g)d3B0{oW8yMa6òXix`ےz˨t.2<S+!lJ6Y'^1i.L`Hbk2FluY0|?䴇I+u( _ucL8T r5񗇅RIO?f'vW2ZhZ':- &ޝ]!!U`կ>] ~و%ZtXQH,Lڍ=ȋBZlhgʊ#~=r]XlI)B?dUeWԦaMtQe (lװtDlh T낓'ghm x (:2SJ"XGlL v%&t[Da ȵ3- L+ a?j#>c;_%ʾk2bXy^Hf[x!fVE A:DXL7nޘ2!MF1L{G\L aI]Jxgj\cQ%hv/)NjsؑkeOhms d^3>J  Š= -Hg} rmwȆPՏ2pQ1vaAMfj~b o s @B^pYǎʼnyDls&|?nbq=INd[Ң'|Lp(ȊSJ|j@4Q^sJ-BGcDXOPwz *+(5jT,(mށE*)D8X\x֒UJǙP@mE8Ƕ_KKw?C"p#$ʀU"^R 8+AzG9㤯7 [xvEd;vbL9*MM0f;4=~ i'$Zx2c\(I}XnBU:#hl$hcWGUo#G ~P^!S^]7a4>;̲CCm:һN[P!`,*ρFI s&;*V1" ~gi2F6cq}*M&WGY~Ko}$-tcB5&Q3|uʛI%ӃŒ\ AGۓgL{{,g,4c1,ᩕweAiZHt}=mv&|C6;FWuj:`ýS@ rA.Ύ|z|Hs|d.^/LyjW<}x !qk?;41C}?ExlwxFozA4.C:rSvJ]CRHDeVk[ OG-`9:`=?إnqB{ap okMV9=Jj_B5z| »?E/0uW̬t|-"WjҖI}?wXc)qjhZF[{áDߐ~Y޻S)Qp]~z-s)g,^?ylQzB!" 6pFMh<όMiӻLtmezK%b82CHW3c@4Oe)E ̼q6}u8:_#ra=np ތ# XfN:19>fE!KJ+sUNo&VYȷԠ8,!q,3e0Tͥ?+:t#=0|D/9F=IgQ#L _lxF0cdҙ*WzH{cf i5:tK\] .P(<= v}?6_eTZ~ٜEr#l H6>,5jդ`:y{_D}"L;xYmSߡ~9N.( !> q8]j+e6J[",}~ C;ͦq`̀;6ҾM2o!Umj ~Gۗ|*S!Aw:m/RMBFx}aXFa-dʥN˽a [kM讚 o#Oni^DvɎ*V`[S{ҧDtDη ?Dej+7f{iڱn@)QܫJ̜ѐ] R]"I~uh%tM{4G^&̻?PS6H,;L !| tTI6A%D"b2W&q&vҷՈ`x:4f]&41*Iܥ'T?au.rd\U7rXc,o!+^;T7c,Bʃxs|;FXQV8QO!δi }aY`ÜMZ,úQxcR q%eo[J3N|eédxh"bJ80P`"{iV:9n^$:/.#{P ʘ05?sٗ;k(o~ OĿD˒ث0C"ڐ_I}[0ߑ,?){#*mʉC*̎dxSBo1鸅ƺyKjk%Cdj*Ms0T'Tt;f%hK ׶LNQ0:3*Z=DtH3RY_qR!>A_ 9Zz'?IRwy}8#e !&UWZeXfoO2)džtd WuajfCnBsC\.$<+QwW^ԃ~=zLN^zyx9CӽHn|ΛփD)g'<{N[rc&@ߨqv N62C0D(iL<;˹@S:s`s2gk/7to` -=[P`x#/58exUI_|s (c=L;,*~2[/UC9 }p W}).{cĿ_k BFm^ùGG"%>oon7Iu ,[!Z]`s18CO!$Ậ]c_=JgH z+.6. <8q'I!SQC0ZK;CbZ"K.4;ќan;xgNKX@1 z;h m2|7jZR򉝤J\M^h"O\5L3m|pAu#~ ןM8ku`-3$[WPiȢ >#8ѯ DRvq 0j܆C&Or1qӋ/ ːQr ۞Tͮ,PxDQlϝxvU>l׏P~>SI- d[_c70oJR{ط*Wu ;5"k}"h0Tb."er֚_ nDgxrJje2n=>o w0Q'"YtHm쐉EʙUo9(3E9y n3~&Y1r%=~c\o$EM+҈<3QP8<# h]ԥخZ3FC=D'|LBW? .<nf*o4'I ~_Ze|^ Zsٸ-`x"ڴ=IVrTw[S8Y>T(]6")`\EC/k^%e?ӣ~E"ArVVoj k59EQ's8 x2G>tǏv]@g9̓i.=TUT6eVeX%ZF?RR]&@sOYGST!FŶ ʿu'N>O-Pegև\ C`ٿr9J2$'{,!Nʑjg UA^zޘ3 !|h*xOG+}ހi,Gev9?w6GfԏnIF<ŭ 6?io?>&,-h|O1 ?#sslFTkhZ&,aӚ,h/oq` Ns!){kmc6**"lE>Ed&~͢t]*)W\Φ@\Zu% k!3f8j&X {ݕ?^=-`Bh^Cvw~iai\vܦ1zJA`ֈ2\s3'@Ҹ,B Ip>cȨLa0O0ppTYv8 ˛WYns<@ I YGZ/F?bD̚3"-YM_\jY#;Z7wwekNjC^8mL>!K}mh}ZLv\ i+_"-4>NՈ"&g4^oB&ڊX9󂠩7(N':}iqFj{ ӾU':xbU^sk+T]#0`$e¸0(ڐO8K]}#6^#eqq' Ż$ [lc(PW^f>M<~-;>%%'H[@Gsc=JڙFSvz-ߑaf;wvB%d`?t +TJ0>6f>vv[ 4!!ns;ɘ;ӗGl0c`n&I8r#y(נ#SgFbQ2=} \H$i ג : $tm0G t?%ܮdfcQ w%Ϭ=/FcұB^z2FI5}zNcl[5lPXc8a&fIo뭍lhź)w +ۏ[`j"uuGd- /Ng%"0 x.j9cSZ2|X~GQOzSWʪ B.o9@9y\(e&Ay Y)%Heiy|k2Mюjee {,W#cTZU?b)~Iqip< gGKRdgp[BNV(liXN@m/kߐCAT}GoɵE ӂA !8 ,YѼqX5˄lQ{{|;E$B{ulP@;mГ\jEa#?:=fA |<*+&.§I.=:&߀|9oJs^|SeaECy@Q9Ɋ\n76]_(D "[xěT+DfGϴ$ɜ|(М6"./Q[QؚΠM9/ a?eK7򪉃i V9[?zmc,FP~lZ7i&M::Tk Aظ'Ty@_E0#xS(!TXPq|It0P!^ RWu)ԓ\j>e.xejy(_dmGؿ@Zu/NMk2Bh4i]bCWe7y[YmN1r-EQ7% <7!ٺb^}@ι僭oE6POAK7tH̨cƶ&! 1 UTXr8OoE ,qpCU\߄i #ٴ8XF_cjwt8w}0X\48 ɕ&UteE ENUMH+GH{ X*Jo[ PJcNPԜQ-0c YI#EӶtΙy{~cP8'wI&|N8_ {Xq)af/i\6:1!>ao3{2wPL]Dd$nJ^ N[3{"MDZ Ο<l_C,V:rGaL\|JDj~Gdߖ&.?sf,51̆p gS+8!`}|-Z fv.Q_fA~TڢOd0'ɓ'oUz:)*`iU-k'0 FRj85sVMC8՚z7~4k\KwDb"$+l6*.\Ucs}& TH!fptGB7{z.: w_"QJXu XF SDc&4Wlv`Ha[_ ;8,\ &U b%o]Ay$LDJ>B!9ytSeaΝHyr;6QZz'C㿂[?nvXn/y0dH'% A?ӎ<ҏ2 9Ƨ/(?ET)bM@e=e\Ц.NH}ET=󙁦q՛q1^#Š,-YoB"ۇ[)p}by IpZ $S(c}F "n'δ( &Eqɑ8dҌ7 Q`3d_(OBZI3ٰ{="D!e ,B喲N@&ic:d?>pUGN&PB}صqԋ7\!%KfCq> /8U#LIkpK , D0'E2M#Zr n|љSSK 2[h[+Qـ3b4YP/ME{ E=a*? >]AHcQ) H:I9EIM2iQIB2~#g\iץBt`tC2p 4yn9#kc{S2'Fȿ[Xws+TdƧEAA?ھ@UOgq50 M3$K'ܬGїcAt@Q*_z1FvÐ~2j c-[@.DW)ɾ '~ppS ^γ{oFF[TP'y fq>$LN`6gG3^ߍYs`)>\WfojL!S뀿8zԍ͵ia!99PPl[UԖ)d4t,Kh&Vyg42RsV-p-S 06{h ZNA=E0Cu˟EzJW?n6so͠TS[H Z/2~#`6I@'"gN1i\{H4ԏݐ|ID?;⛙ti뺰=!^HNXz­h:PuIe7߭hegDg ?s,@ a/Er&mj+A;"ع`&BʬeI׍\!=ȽXB oDCRH5Auw sk,!#/τ}CFzHRKDSS"Kb iCɹ{mt[*A, ³;=_yӳsF +"T9v_)΅kZˎ؃H -8u~ߐh8MmI!MD+iDYOn7䟿ݹU*8_=s6eSGG)7cZldMv̇XJ՗+_|jST @!iAnk՟uwU=Exčq|Cq SϒܟK㏂U1Y 1Ĕ۸_zmGjHv M{oxMNVc4k9K1)C `l>7o3$abFi]bҚ~ޝWJ,sĴ!dT@Oo{~G*z03fYh.E0I&zWvRyM7P0 x@:ۛf)zhŇ7~}bxQ6G~1+S5߅iu@O{= E, V=A7qG*&g^a[ T A0XSu' @'='o!,+ (+FlNQsE|5Ad {p$L9*_?8Hle4)5.U*3D(O{/䟻ˋ H͋U4Z`ւAïI"LHٗE~^kS0t |Q~CTRꚫ֖AD1 ?WD=?["Rp#ܐF)L[ 6hcAc""%h9NbߧmHͅ1n7{eZVȶV?WqAUۑl>9ɔ_gA؎oSߛVY"oY#p{7ehE5_" '/8L1樂F-, øx^Y$SQ QPQ{?[EN+tD O>BN(9]N}9eˏB)헅,oTpw!"ߌT7cEUq6q_oρU eIWzǬ^Ί6(k"BrweuA+;u mGJ1P 1< ly#כ])x-+Uߑz0|oѽVz7/ 5EuƝ>VMK-k?)C۟X;Op3D'LmHB*Y-ޜ z}'ؤcր2n@z21F0͆!ˀxW}9Gex\~]߷-T1u⯋`T Gg M&L&4y p˱VHjOEL#׍0 UO]#! 5:]~->ɾ}!iieJ= BNw=Lڙ3 ʢ'Df_뤙E N;0ia`U!z-.^|cRa9 Eظ~#i* BOr;4T*C'U<L8ɠCoI+f-fCDْhA .yi:2ʴviynO!W2iW!'vsԍi ~CoڧsB*$CuWSCW G%-S ӇSފLVZB40+ ;0mЋՈ1QTvO̪"G>Dfb$Mpx6Rï1@ėa4{ g[&<5oÃ}ЕcIzkHFn`wĮ<2 ߱!Pt'kH"!R%`I!$jc5~dOW.xA-:39䞶 ;>I*+/RO󪂵+LޑAC '(ïM^zeS΁K:)U;ǶK otya2LcnP]XVL"<mnFRG=TL"4pB1_`ih`Xÿ4" ( ;k֖ٟ=.B 1[''ZT& )o%l{:vc I#d!W6_ L<&<d/GSljT C۸r]_&Ŋh!-T,SHPox06.M{@^ַdAOY #P#\gR,^ rqˋ"F* MB7hZ~=}`M9>5@Jq&.Hb KooNhBd&  qD7N#X[An_NzU _R9-/nHo`=ڄ.d +V0nN0nx ס^qno.L ޡ' 3!!|~Z]aq-R5wTd 4 ;Kxum, 󨜇 QLg_ lL~^ 47ۊۓ諪A :ˁyDǍ^[tVuMJd*CB}1,(+u'LɋB=!oHfL+@kvvOWϫKsAl#g{av$&#"j~M,G.LD Aii#K7p!rh*BH_s[V(Su33CO`Ys7c]qB+dK.;:S,G]aREyͻ~!\C˕. Kh0?R|)'"!Y"ۚvj I2tՇg:0;r<=HZr}X 廂C6_ǀx E饴Ie&|;kWȏn27VU II|.8NFs,pg^3)T d5ԓE{d Fӻo!֔ѓ&imCI29q/ҍT0lt:T[5*v$S/L+iszHCʎ 6h)-~Ut,qq%Q A+gM% гlu{LI|h~ӏR'1D'j(饩^a#n;Lq g'"{d'Vz\Ʒe; sc[yf*eP(9C1M>ai1P,ieܷǧI7s_j1;) *kk#>>3rϬbG0q% u:T̫W /IeDMxL`NZh}VFq-D7v1ONfgN˜[oWlM.DRmػÁY}JHJG0%s&p6,hO%++O9ɹm|m)o3";qǭPcd5#86שధTB3+\[0I. #N/`Cw:S.QxEPi Y6 >v M e7}ix@kɘ".z>BvFio}aVήH{Go9ɾTN2 W5@wU E@2|x#A%U< > :>{p *{ʴMyI OL'''ML@Rۃ~}R_Xh=BM?"T䢦+'Ohzq϶_آdzE *8Ր (&3IԑCi."SJ4 ݴCxsꨑzXc"T9|W(gQlE,&%0CRު#|G_L$sb gB$dUpx #S '̡-?쉖hVnv|yY/(^_M+:(., uHξ7%8 LZw`QK%D΃ձ&ggr|w2,dlCV~G#FW8@_}U3Y al(kKvlP8 ,8mQx(QHVI Ms H_A;„S1#I,\fT֞dbx#ldĸ*hD"yt)dz%,6By@IHO$$S!J},e 1#̂]/JbVxI`lt c}W&˿F'8=!4_D)}:k\\f,hE]_ ~Iyc;u[p;b(~s~$j7L^KStmsM+>W̊l\S$rϩ[%#(e Ѽ_eA ,k{ʰs?)AZpi3v%Gp*wPԼ zzd s7 Z'`c$hs"w&9W5o|>wӭ!JPU=>oY=TO2l5eF:bf'S̿~)ΰ}MSc^S %j[Qba[q`6F0 ]$Kv8~MFk 6U1QΑm2IxMIHƵ)6"?ɾkz=Wk)X}%Ufi 9)qK)>)MɄ C(*#6g $WsPeH Av!N{C^+Ô߹0 ,3pA~Iz,c;03  {Aƕ c̺ R=To|}VUI"i8<2ߖ @!n}jS]-:W;u1gݚ([n5.5O68pbsyR+z2Z_AMi<<.}TMv 0OƘ[m9%\%G,ovCV\S_Rj!ጊx|@THa1 WX/j4qQ6' EJuBdJVB1~(߂.ZI໺+To9-lh`!"¹vI0l2K.ȫ3Oғ $_p9bQƕƞ|#rH!|hVqEtSS68ݫmI ֍l@l$'j'EFG.+gdQ =VXʛF|7b~3EC`/;;URk|d*@]^4ǘ@qrN ,3TK[&k3)G+25qطc Hw5[/vCO]CqgS5myGV=?/CB78t>v|xCy,:o׷ed@tcVF/Xb$BY߬=BknTŽ1S6}nv2ܾv\kk; 8w_F ]Ԙ[yM̦~YOy8bEJ#~$eM3wtK 53%@3AvTX0n?men..ox!8IV*/K}L?1_@uCԩ$x|7sW"z2LFTZi(9ߦ S`BQFtQz/UbcƄ.~ܺM9IYZ)W&0+S-7hD*> ޒDh3tvT%hkkqV#}쿃#O1p0)\\+k2q+PKEAu02"xR@ (~E][m\9xB#+z,|a>\f$MX_VE b8tl}7ʜ$qk/ĹD.D- ]ui"/Do8 )5E5%?"% I}ZkD?>eC|a!WL}H93!22,09s2ALvX: BFʔ3~9r?xСĭV}44;1ǩK.1~=C۹SWEٶaRz;䶚6}HA bqg쩿VT lҸԎN*:-G}˜^R"MX#,*vg'GyVQW1adi Oq^xӒoydyNiW֥Cxַ%Gi#i= pm_:oHE1- ش L r߳&G,:(( F5T|?D^|Z1M^w~iyb\c[[:J,s̍f~[C#u J_/We;qC(&!߃R4跜$e]U'I1IjnZ_ N98@nB3}VTJ*-^ xٙ^~HfGpJo6S˧[N'ԴO<:(\~1Ū߿fphi"mlP5tsX[O?H2YA; 7ߧS]}Kd\)iDs?Bu/4x+Y{r[$Ĉ,R-J ͈CcRp;i~d E~Oyj)b?c_P ݌2|Y@d{+"ת35hbzZm(Z Gl^g9d^\ډo4N+@R|9mdJ 4rPFC1 ]pMgl4s\apGwXZ:(z=sxlfI_9mgCeWG5-QWK4aDGIR՚vd[/:`3qH򗔮9D%(UV{ ㄅw6mL+2!۞D_жqLYIًPV`ݟxW#L%p8#a hrm[HN|(Hϣ4>BD{& BG{Nwю͡/bKvPAU4 OKNSt>jiJG2aFXA1[pjz} NJ{Vb1gL;M C0 썿Wn[$+&ꉄƼ&dlulj7D!"(;AB/ݦ=TM-H&(zEfRT^MDb-?~14QPx"Xj>Tw#e*c,u'Y @ƣJ~nLNFe.@@`TPpWQ 8FwmBgc$&!ʡbBAXL'msyF&GB Wø9])/|p)Jҁ  #>Gfό_!Rcw٢97͎s TUXWAH?UH/&d9Η kJތQ#D%x=e"<_%K8A/֌˒2`O<4DmFМ T)F@BdH -SEQ#|yKdv| myЬdzmtp} 5FLס=I6",AFOn0qC s}ldHFUu>))jWCDT:!wy &XYrgс=29'ӯ2lBQ4oȘ_C x.|I= p Oԝa7¶K37kM^|;`14Y , n]Pl]-? IuaNMsʥԴqNdQȏ>/ǾC( ''ؤ8)j^Ɍ1{ku& r,;C-Y:Y$ !G?쟞m l:$[KxUp/^:vڻE@qH&6^*]y=FemU[Ozaj {WAg T(ŀ]M{.a~Y',oFw>t񺾩!Ίl6,%=%qnߔSD_Pe}']Iӕ8\uǤ.BVvlsq_CJq< !qLYZ SN#OFU%'@w5`97?-3@#b9gAO'_W cA/X-e@M'Pm#g^)Y}sلcQv,DE_:ݾF@B9GP?;Ɩݕ)(2f=03WyҼ)K tB}:E0[]{*9ߖ,Eb{}y p||˂8q6g ]g+k%@Ox8pI|K+^?Me-'+t#)v{WCt";Ltx'Wbj]pv5N8F$k\l2iȦȏuDB7E:eaXr}0w70ZueHX`NPAv5#Y&X=SxQݏ {~(~>z0C1=x؀s8cjZAVLY,H?׀ͭYYњw9,kq tja!$-#p*c\@۪ς-?ynx%MYovXuGxnP'yMQVf{ 7g F_gd,L <0Ǽ5c]qEp?_CzҥC/ Ch~pGQvo#x_~1&մۻ 4^4Ŗ:(gO&)|'#LkK U{ JZh^%||DZ1D** >a5cjdEԨݒI)g2p'A IIq}gC0=[}>PAI ̌+έ=? YrƗ+F&्$R?4uʤGm|>hGU4H@ ؓ97I-[} g'b.vKNDuG ~0J"܂|m$nP[k ?n9` OND4*8FgB6e:sϛK< ݏ?sHɵ4VM$`{DqQ ,{dtgހb>п9_m _GDl|\ڸ4Փ}c*4ND#L2g$x f٭Kڙ B; Sӿ@umEC+|&:T \^=,w}+Ƴ@y5J[4'!#~4T6TZaJeHZ5XlC=_q^=!`gc1 $U:OK sQ_ As$>b+'5}F> J> atScA.fL56ٳs ԶG*۹+>hk(7B71v1mIHp:5_8cc4SVYb*"MÆqH-1ʩURw1X'mje/u#רטp!%1 hS%[nn\"E&pػ?; xgXVyzNti&M:<' N{Z&e~ޫ:kǃsnoKuK?b}9`3 }0y=1(㛅Xϯ\ʜ^Y&bK}S]g"hHCZ 9d˹C_KWkto: ;UX^Jy3Adۂ@av#POE2U-zu3Kj(G=#޳܇ؿs!X26sAl.tL7ьPbnQS(YA90D|i9^F4*y-zZީ`b"gLS%Ǥ⮕ھhFldGT`=_D;>*%B4 t'\‘.KJ6}m,ť~^Y؈zؒNPcJluՙ1Jla:tvygxyGXRupy'X^;k-5.͇IfUbY$!<ӥ:Ox,rg+xm}Fߌ#S)8kLTkgb7wYe3 0}BWB.Z,je6B, _ubPCia&9ꌮboQ.iW4<+hi?yؑ՟׆ܔLA3&iEL{c^W{VgM&H]#>;Mx#Ga «b)%Lt?hͩa;*bxIL1"ﷵh9[ǪugC\kZiE&47~`0b b/w=RطtОy77T7j{IzBϐ^Cž)UX[ƣMՕ֛Zrtz}hD5-UmyJ(=rA_I *l搱7 W`nWj0# k/qEx1gz}`&p\=}UO4'~ԓwϼZ %b >vhiPM_:ɺIZʳ0S-@m?ܭDVNjJάt#9S U׸)DOfEN`qWۋ{koSTet套w@K9MᄍC͝GRh~d_Lxm(Uz~>iUY&& :,Uh-P] ^IͨF(3iFgGX.mW=n<'݉-?/)|>zb>g-.6'2<4c"U}ImkWV;CLڴWպs,UR]ԯ:7؇c'I%c7T`ρ1J1KDX, >`h}賳$j~cK"\<Pk4t$Lv"]YrB* 9^ր@Ҟke DdP;H_`(m}!F[cK^Q}cNG]WЕ4RrL&/9jPJmݻ8BO-埕 ^K0vEqI{N&#g3pKVA Lwox&|xa?#]0pu ]xR(O?:J/_?@+2)>ZM1wt)6O#JS$ 5\m i"A Blw\vC㈣fQݴ H;}]KpOY8Q?sJ|BRNn]_h0I^JZSWC6V WCo̬nUR~EWbftw+q"a[MC@tNúi\?0{gCTdXQ9oORbNϕmx1G/Q%h?,BQwBG&6WF>JY %q1^q̝+ "YJro z-z/u_#vkU^Gq \a_*ND%R-&*l'W^$;IG2/ᙅ[O?V`䮙E}%> R( 0A8Cuӄ.'W%J'F=gjdR2G9D1+e-ܹlRK2?JLCPdԓuO8V .oߤ405֛Dt6(5Q9U>T@Yq?o;r+X=1(DžmKU˪Fc*2,Ot#} :MCjeWR^UXV*Ɉ ΏgMMH(aG~ kQY#{y[Q\3Nqw&ٰ|}͓%9V٣ g:L ⷆdmG\t$&} w25PE F||yp<)߷c<'l fb, Zb˙EfmJ61 ,5WNYtK̯b]/yQˊvrEp{QEtIjSeWͩ(XO)<gb1@굮>LC'Ճ -}R$=P*|5ss^]g)~/;$ӹ|$$hWw"DOqA8sޏ.fu[+]/HW[kכ~C[<ʽ <5_ZK%U?΁+\0D0.OgOYPU؏pmϘ7ذ~7Z7N #]6|U>ǣJV`pC;`1$\?~ ]~G7o⠜)ecHEj;#$zaKD9r%X.m|nv)Ht~k:MWi&Dk|e/g8 ,vqCœc>Q="ʑ5Y~`mKf"I ډd4Quneoh̴dA])ۄNJAF# 5z\3Vv^MaH,.y,_ O8[1xhTBџ 0sQn]'S`Z(,6yxY<2aX*V)+ Exe IGZqL'Wɏt]2U%o^yLBő?mP9 g?9%17<7 z+q7:$+ YM&ͯ$3ڙ2ޮ|ϝb_`T0/ӓ1^1i64VYuu~mNt)fWed%^Wftz=p<ؿ_xWY(d{nwc~.QY@B˔S,ċ|W};Jb] u9?/D7ꍦiN`HYHI-рPOJWBo-ֺ{Vr*(u$)d蠔&[^pTlmy qhlw0kD_Q*`i҂=X\_x ԽGҼ;Jκ  Ė3T/ VRMa"pk3ñ-Rag*CYYoY}=' /U?% ! RV;x%Pe IC<#8)xKr' ?NKP(offSUC lnEbnTR\ѧw_M^s,TM>43""'6^>:}baIR"?ʓN tc&*IuASb7I(˲B9wtOVV> AIW^i}g3ѵi0n.
X}6\J'AȎ:fO7-*7{Xi*HUꎱph TƢ RRD?1;a"36\imף Jo--\.i=29s3rH=o"Дz8^E27S{uD{>7$]4xG/>[.O42< L^x:j ƃl7$% J H#hXiL8|P{SiFK3.= ͿtYĦ\1UEZf^(gH a"$NG_"?@B!'m4ِL0 :>Cw@DKQ_OtLJ[ 46#aBj>A?( HG^x1!&I򳺓Ƅ^TpݮAm@`lOk- ;VYͩL\+7D순|&jB; }Mwd0;=dH6/ubʥd&p~WYw3TPpXVPHbv}zHI+ XA~A<.zCJJ0DGcߴ2`y̿ѹ Jb6r,"UP莌w9HOcfXӇqDJdsԢ +kTVgx<'dfu TʿI&T 9V涎c3@Q+5T]eGr+:1ThdJ(%A_,׸64^Nf[^[!4Q)[4xto鐪]v0+H{L |DţP6* V!LK1=čIeV9ΤP!KQ`;qTb5p&Nyjbء؟dt^D5d<)>~bo70BRu#CMՒa sjU Q{\'/0Ҹ&L4r~OWqܼ,#dQ4da[!7'I=c ^7̢c8*X%IO}yvj@ M1a GN_4\2=a%_o{O"xN D$#KՕC8o5PUƐ^5£xd/%FZ l^7:w :a"Z1L~8TVB 7((>xGo ^JZ(^{-\Ю2% I[g:ˆV|a7D?!!(&+j] 3}>`;FX./DWI)@6[TK6]4S#psoGd]~yTb ka8WJ>c>:2UObxZCpT쭦{KUIva4C%%x^g6젵,BO~Db MʨW(|67\Q$@r @+&G V2bע,fAhOlfVr #ZO^)%X}LN]^_^@#jor?C2>GX76m;Jj3 O1};pd"X;oT'}`>Odn=$[+Eϼ1a+@) ݄/PR{oQkvUH>ؤ6^<\by˃Ul,RJo>ޢ0e1cZGVɯ^{=G?G۸( :FPիm>S``{E sǹ{p,?7j.'[?jZ* Y1'wu. ٽ@Z_ND߼m˺aF>YşL]n-@QboxֺUhC_Ss15 *bG` B#9!#rcp!N(qU*x>.qa L׭Uݠ<XT?(Z^.%R"sCa_SgV~: BT :"˫~B3#^}sodmj1D6CRso3Z3mZ,DR6n+FSu_П´ `毰D!G8xz#ۜ:?-Uk) 3~,|C)\ȈeVIIc\ ~n=XvaΔؖ'7}|ýk\\(rJ͎ھ%Yf kr&BD^|ײfMD:]0]mlG H#cVV)aVWG{!l<ʿR;g^w}2lu^3.Wvc;#9- _?,b ƣUލ[=oΆG--oD~0p\~͓{y/冏E0%шuT<"^oop6܃Ji]QEpf+]\}1=.7C:^ h)y8GI`W8P,fң1!~pnU=+I/v_mHє #$9jJ}zM L7=Rbihv`>~>@*DTr-J5CR}m{끟+wd@%'}]DKэ >]Ik_Q_x'gS?Сo%}+f}ZQ,c^ҞJvqVa=4][5otAIǣ3īϱR6Oj(;),ai` ]\Pbva4&$!UV1"9F9`55zhg,ve5;UVس=}7wEGy;}]A_mF"JPYA.5* 'jUThO`v_o/_-;s*CyIPis"L|8#[pFdϦ۽K<-U% PS&!;'oℍyO#beșf\:޵3-|VбyvbHe}U)=+tlLjɟ"qhg8!vD6^:q r2J͏}wWq; qOlբ;cl2MdLJJBthW ?Npwy)[Q:Eb֥@ \.~IQ ,Ë(U_  YlUu|];jjmAf7_T!Dz)iK,I,k74Qa^sžu-n) ¥S"Rv;S`iz"+Iu3//G5^pENrxfDظw-~RƟoݗ}-O\VkDӸ9ɿS>Ʉw,(` 8|6ӤpYr& E*8GKvDm!0 x7 ;二xX:yiуlYqB8:-G( s qwg$XoGݫV"+$WH6"UƄӰ%U+pҝ"̠q)4Rp Xv'*2u :uA6ePZ8d.%oaP|2<} 7c'\D}t4+f:.pܴ}Q]x?_x1wOLQZ"OSX5Ctx@?ьg~ |:B?l#$g4'I~Ph)~S\ۘ𸌠%”eFE.>5u4l =BBeG8g;j D!NA4ኘƢ(&ݠ\4hF3X$d R+8_s&ӱ~z#(N {a./\ 2Xu_^"}~gpk8N<٘24FeGOVR*k3l~Ser

&5>cvK "O ̢uvxS*mF5 [p27ϻw%%[fF& g")2@ FGpQu\Ro~ktt ~q@aa48 {{]vwp{{gFX)>sk|o1ޞd٫K6_L@8]&ߒ!&r6ݕxMxݗhqZ4h2[Z9 q0EL Ek%g9KAׯk8j|ij.Ac agHMi&gshGhů7c 2G1:g{Vr+ qL6*T$+uE9ޤ?P,{ Q !Зy0EUzrOn#kOl7pAk`X_C9[`ۼ4qvrl$꒼oDerabL-QW`>E],0v2kLt(&CuU|njQr0 zBBsm`?%Y ꡁ55k3Ӝ?: ת oz~xE 0EiY$;/hM%ggyESCAʢfQ|qgf;Glsw K@sܥT::}QIg?3+6u_X̩lb!¨^9Jk#yzpow/DK% 0 Az1h18+n}u|]A3K}ckɶKXp+}#_c80Kuߝ,huJADa;y'c봗O2DAf]wP3H]vEB/ԝ~/T71v]ldEOJy7߂b]iίQ si=c8[єW} jlH3+ ׌4]1hBXpj09(~kLRǞjOc&rգ ,_J9%񈖈  Z{8v!F F7MuJЌq}+m KTx?S~Wpl uDxmw*{;\s1$0igfOO廏, \ G3.vhf,;8>7?r[h~ nohcvP5i4toL.y=;TDvC8f9azGKW2E+Jn c^SAG֡;-OyM@7&CT;p cđOH%mXw=_ kT'Ү}(מAY!˲jnT'5k+fz;ҟa|b8qQziYT^Qaz5+LNdAGƒF0Aib>ǪZUHE+ELgRq53[K dvGUE7+vNď^TrGQoM"|R͕[  {MBtÙT j^e;_bxD(``罚7U/iԓ핎}{~oԾfh_`7azi:Fr^)rT"`T:_T[җ,T=3Ui**DA_`̑Q! <;6{$}4셚N.UU9EvHpqЋ)9!śrBP7ݑFϋL3{Nnx#PS ȍp%}o9LyR߃ͅi7&%8 B^\Pl/tN+uqre45*7}{Cf8r=݉rWl /X Zp>J< N8/"Un_:`kO&fwhfۮm몺oܓBF΍pKhTvÂ(Q6jmxUKްTBHdD ]!Iǚ8-ș0-4OBͰiA)1l>m6S~^a/Njw*1 B[ˁ'+,E!a$'Y.:=Ͽ=ܮw 4Pb]m>H yEq]8y",۳͉wڼr[s|iN2gql߄a<"\ ?zc799M}DC8ҪF 796~-gN_a)뮃a/^Ezz;?apX.zfJ%@v.^#I䞩j5pxZG!(VbE,VܣLL{V?5 +SbFxvh{\&yFF +3"MX[pPpwe~a#_~&^nUB{g 3rH%đX.^cFh_eo/X'P=*޸|4TEƎ瓖!Ǧ^+8fM?8/9s1+">'1m=HYA"p>9>Tx7l BQFGݑ&̞ߌӒG&8;]V/$4+z3@; `4tp|Ki41; qqɋ k8:B,G2Z>3Crɭ,_į* oſ#:Z7ϟꮗ/TeS 7Jq-p~C Y"V 0RJo}sNǬޔ=L-qeL#3vݒ.!+Gq,l^2?$"~O#gЏ{Eg58(|p?M"Aʃ^^(PQ\zRC@FNߝ^.o J)vUD?$G갪6M?CTABQHy$A:/٬)7֠/eLy'L(zE!D|3w%ȷ߻= F1CkY_%A_v*Nj}ؕS" mh]Ok&+y_lg ȠD$rАQ/S?6o6ڤk;gT^I p^䙵G6aZomZrcmwQqsקL4m3*ԫcH6 |SO6 8DvjgΫ@6[ʗWF]vWDBрD*g̴A儺OenYU5+D%WTȮ(C]Ke[J \ֲ["6H > }L`,F?;r%_!7ss+5]RCw YLSڃN+T`HQ0r slՍ}ڏVؔYq6DC:,~sT-xz 2fGGl@N+~vgH`W8b&9#2m`ӥn)XbrYs 歨M>RtX{7;…_' i楈~GZki86UEIC3CT߯!Hy|1!\>_{N:˺PQpZmѠ;"+YIr9תR,c)hs\PT;/UI(GN!G_Î ͆]Bp'[2=^bQO1Jx7Tea|nf,K]p<i &].@c4q3͊]@Q>$pp:1;g#y+SN7q2 k3(V/teʚ3$!SK5[WAuJ,s%5^{9ƅ LMm_:w2F@DJ3Nԣ|QeN62`nȌ F#F*Ub\-(45#Mzxlrcs.caYH'<6{NDSSaG&4Ӽ߈%Z#Vv>qOv5{5"<5u>#ĸ~Ah`ep;)>?W@ ɉtXl,O[4?5. @dR1t=798UŊwg#'!\BHXk,HBzOCRmx bm;ˬ):vە„fv 8pͯP =!K 脪Y<y4kb NE%VC R K˅[Q,20wofL P~ ,j2Ɋ1E4]+GY*OiS ,E͕n6~^]6hͣ?ԸF\lpiZB)l9u@4utVQ }տ 8×\ˇݏ_ь?缽F)"XƟAr:;rQ`g4ZN4gͿE[{4>%4K1T_WD6@;8pif,o-nbґJu>ӝ(I(NP0)_c :9o|B~R2 }rfvC,ǖ_9!9gL1$Ͻkj]R ͗Jq܅K<˖S:Dh~tˍXC~LDoyqԐ- hfS_7@Pm1Z"/e=h^儊 ~WdUr^(+̚or o;wTV2׫0Rpt^x{z0RWI㨮{ wemn3d Ìbf"=R2UL*3/ }͎?|'͉N&b}P_-3]|RMŤ^lrIfSPnweJKo5||5Te,Uת"iĺBhtp6Egw!T1Y~]"轲YZW:پ,zjmZNecU :5J̳3q-(jh88ˈЛYTO= s>?CVz9+[ݑuW?Lw+{6SWUE齨gT#بƌIxDw!91a[_!@הxn5_ MI,uDdžGbGm{.Sc E[*[O3 i'bɨ2ia܊_ȧo;XMWӰ*j*sy"܊⬓`DM#:w{zNHOSE;My %>RRU$lqoq-$*ޮ;htR9у{km=qnyaD,[cMoNzdg)6WA{*9I 3: Ʋx|sw&GXk~ s@%ؠJo%|K^}Yi1lB<-wdÉqdta1͗*kY3=hEn#_m!wChm{/hrz' "W͋d6:_b_²]F5e⏓x.D+7= 7m\PFz"zpaRP>2xFƮ.#HّpW#T#SUYdvy.P, x%05l3m&cW~/zQ)Q{o}?2C#zG'[$lR >x¬pxhƽ0f ,>g"œ)( IL Oz0yr@Ii?6&ZST,̄%6wdPִN 1Kt*8{Hq,x#v9C$L!9e&tOZ}f-(%FWJU3HcܡKǥha423NsZ CxdG.:L4!P = g6Q}qK|B#SKWꡤvP1? <#\jo>q^@rti/$$Qi/!J橨@F3 KW?>?ǯ/ͼ=S*$6M;Tʤ) !@hVX>ۡad^2$)_oW:ekM}C.Ej`="x=hĪ5LuzqvkLEA)j햭V.w%gh/>: ҷ9:HZCbuvA]SvŢ/!Za9aGM"ՃEW&~?_ EgCˆ(yfa9_>H.K=7epw񄺺R<-uHfwQߟׯE-B؇BfJ;D)f}ySu9M& }K] ੿Cʠ%llݫSZz g5QξBA+ U~L Ӄ{UPo*䃾*CJ1$v'GLn9.QOgi{Ћ'e(G4Z F5Xq]64hS`9'[wj82Fԕ۫=ԥl ߨܒ.yLE-ٵ?X{Z)m)>Y|!|3cQm1urd~#QD'qN]Cp$]!K-D47@5nq-2!ŵJX2RH|50ТF}ۓ(~ka[a\mc.*N@+^3iKTǗ놹JiYeMz M3=ڏ-E'xUim˭>B!` w8y$RHt $@3fX\8RɓMc[{Q:%4b~)`S._m8C֡7x4MUjQ+FZ !eLz!y#{b=m8aI{c>~k3.Ĕ-& cpJ(˳¼䩜  QVǷb]K޴~(Hx3Zq=O_"IM(7Nb8fȎ*Pzb |YC$>d+wio]ʱ<Q=^hʅ)4]i~cmOT,Z’wcF0o@f)hC7n F" ^PoKݢ7fâj: zSͣ2uL,λi=#Cvjo=eQƂ bc=uĖytb.%kGoj}d`i?x~U`x,Ԕ$j$lDpo0{d@g:չXEe~V4P7nz豳r!OtuWRP_,7V[Oh"V?y :#hyFvʹ oi݁`_QÚA Pwr o))U6812 W>ys?YN3H[/~3S4+/]A |8]>SLER0^e zt=o@Ak͜IwD5̲8k~݉hEFtm~ !nswGLBck{w-v'ӧ-`ƳEm{"Zp;/;DJtLk;|+JR5+sU"gfe׬>ؠc1{wb`,ٞ%jݡ=;r*߿AA| iVcY SH^>[pzZqsĕ[LA]L*Y̛$PmWɝ&/LmfeU\9: OÅ$,Hh  Bu< nYb))]נuxsfDtyFx cXI捴ᔿ[ 34f]ݨve1`;L3t7VK9~?Ry,F.9GdGѳ3hƢ 5BD|Ήv|篷xǼ pc0!{ԬwLx;(> ='9Q@oHw`cヌ-3D LBAy%nMC$:pt NJ *(^<J"w]r4uo\`y5Ʉ>_Ff][Ѝ  ))w: m>symSaBKD2.D"]c8`2^~_go-Jr% pTjGg@ʈطr)ƨ^­Wy>i^|,ҷȦ~f lC3ĮmBvW+!@:x#EJ1>fσm_'c4s 5^V'L% Io8K#!Rp- ZS7 $5#䋿a^|գ#b4hx*_9 M$M4h`i^/MVuY|z˱R)"_*q|ܴoؿD2'!=+:pT?Ɏ;kd>r1/`Q6Ν}}NhbeN,q7;u3O.30uD F=Doh(~_^ Ɖ1Yw08c/8Q5 %r&ѧ݀6Dsnk9%^<<`a_ݾGXBQn #lP3(XWC#ք}Vk~<}uC+ߢLPG4N]ǝ5W#ICLη]PD;BJݿۈz>t`}^7>BnCvivxe ^Δ$p$ETsi)> LyndT`DΪ윲,t$Ye9T,rjoȮ—L`FcPѝ|xBޏ9lx.a,SJmvMx [[A sAyA[t9VPV?x,QLt'l3&rWוֹ`OϘ:*↏f)ӻT.Œ?Eugyb3SC>|[חa|s8n.8#kP#`B}gwQouFc# f^X/j"5?m+ &3hHD&ZGOz,(i=C!usw]&NvQFU-лK k>p]A?5Ԟq @d8MC]kS6+0}_X7l6&)xstۏi:©P3LǣV?3_h~J6 C J5,5Պ6",1@XaA"fٚARtFD6Y)1PR@ӹH5N>Xɮ!@Z4KFTRd. q>xɴ6(,X~ =ᩤuwV~ah& zSQLdD_(tɩEǐ HS|H2[gRjo-kX`RQxלA <xrVEax8̠UDm}~O:ԥ"xLŗߧ8*lh; |5WYq6RtkmZ+nuG#,2vؕ!RzaBVC9J1p9ވZi/!wJXwo56*W)M˴qU}NL/F t~ʞttyO(Q@y_7 ѿ&.0 P f K'x~e#wL'eYڏE؟;^f =65Vo-3 7*|426DP;[3z$ؿ#ңv^Lp2p|0(s#3hS{J^E1||COZ>WrcpE>ϛ_`rRhݼk3 D/P}_,~ePDU MIJGֈta~p^d߉)c'ohcs/I1}ݼuy9Lk-RKcaI6e|ߡyQR= DQ(//=&q}77>*^vR߉ãub(y D9⾇} l_?~ /yĒk_ٛ[?~Cwʦ7d2 Jd|ak9P8P[OV *|o`{YOx['9## 0%xu"ň3=@*S_M%=k&T%L` m}9s9}4Yj<Qn6EHcjKi,xϷT#vSd`=TllF~d~/ZSD$m+K(\tVak HI x|l@k_KΝh^"sz}ܬRME1.׷Lk#+e'C_$@e}9)veAD[DgmKc|#k)T}\Sc̹q24=H4eeX~dK&P]{~zZY :/k(CM0HG St 2PG^X~FKDBJ0A')î a_6+^16AaHθ"o J4)m4i]spz%֡ mCɠT<g싄= KxOTFiPb 8h-~#A\T]/8QNT"I =zCzE;5}&W~;Qf}.l2j}-fx@Esfgz dP?yC_i*{;]rR [OeI/Q; !DI߀n,n_H_WP$GF{2eLHf뇑}=ڋpaZ|۳o I!bNJ{Cm]BO8Ŭ>g}@)Q 9[_p2s/bRx[%&dozfeN?K;X|XO04:}f=_*~K@i[z w (X;Vߨhm 3|QT=I4 Y u|nO_{Jg5Ffb[gpQ''7-SlʹU~'붘=5,R%@ i~`}-&rDpZdaȳ=;uÄ20ǐ>Po Օ)%ܡe^7SIi,h*Vu 06FىZh| ;Ỳ)X'ܞH-~k""I]5ݒe['wcl2bTyhFVIx >~ט:8: <6ws?GGMf+}>e RҳCU\Jqw'D{)ڻPz ,e_+eP|Dwpo~qGo$V>r=27!UƤg&tn>Ug ?CIL3 "oJ0Իx_ 8$ZiQ.9Ƴ:x@(7֙pc ~2O>k ܷO&GHށ()SyyA %$EK?ʴ7 `0{!ދ*fs=u➇oqO{tQz*Pxa+[:p5wt{,.VNY0%jD3le~3h~2UO@9]^X!Tӷw[c1ugU6sUu ?9LѩܔZ4|6˗yb>@ȕ~ J8$ǻy ^idgDSY+rʳwrm/π>o#㳎ػ!';f=w-ynoJ͔w0URIJ`)}mciKKpӕ_CMp6A#-ܡ R]$|f BV@OÛ'k"~ T[V[HtI˧Ǜr_ڐE> |֫[@|0'>"2 aMs )ғ<7ߕkǰE>R? ċ9Tlfvxss0֧Eq9*q'Yq q/OA4=u37K6q~t_yь,pC\+7P[P&^)iy/6=:ATLy>Ϩ_ Āl&nƝ& +.kp翺+n-x|@!>(,/GyoP/؛6dkޅ2.yC>pMf%JT~'̵V0_c^N6WC\:\)]і8.SG;$[i6RK[“r^JcږN"7|g^=XD}X 2K/x;2BR96KM>-޾cnGP|X; 3yaJ?cLppDG`u 7,p_~fٶVLD #6fD_,O+cè?V]/9k/@'h Dυ5!$ !/ }#G3]vvM/܍-cͺ^U,\K mDtByh~EǙ.WN}ǕƷB"VkN$bwCo#z*%ڐC6tʅ@9!,oT!?ˋ|Əu ]dPQ]u6˨py?1&ZHYVq7c k1cҐQC8cK3%zvuaaWcE>Zv:LFq CP$ ZɹDybdaS^@\|] #r%ӑ){FLI{{0|.$^S-c5+`3&A״Y+_nQBAmu* }}DC۞RsYh HG)<͚WSvV(cLt&A60AU7a&lS3Vs){090ˈ ]ͣ역.95,vq<DnHZ7M?^*5uIA#j3q'v=e S<LT:Ks!Φ "|ggnL"2wEX0LxaeON.ܧ;K}QJq,qITx/}j˓dTTomB&Z㱸k}6rÖm6CTѽIbn] `q\؉G(bm[|/%ARjj<3|.$;]131t$9F 59Ç0hYn@^Am(W˓8U"ڛnq:9೸Ds'"E"jO^z]4F2XXj)(*+YҺNQtXʝDQþ!"COD^z\ 3%=ѐ=}1 ^԰_#/~͈<|&--]<[اhAb܉--)RI| rgc y`i%#Xvr5a>;;kɍ'lb!,S~aA9 vs6y;,oG|-og:f\^t& Hfg\ćii Hi+1haM=ں8~P[8% &2qEpO 9`Lo.FTp:iWPҷkR FI905` [^[k%S> $5 G|xIY|_ȹ眏) |i2st /X(i<]ta`k,$u{J$ғ9qF 3罪Sd: &qCXa׾E=ڠس} ^>%;ܼt{ya z|{7՜%:h<5Fok.o% 5|̦)A SЖRZhͫ[tCea7#7.D٬. E/YuDLǛ&Vl~KYHVܚ%=fI#L9v(HkKS80KG|:'dK1YNø~>eZ)w 3j@>iלh+Lz\7 Nп8Ə?hD;|ۈlgNohb#jWyu\xەG>*̙*8-|qTdn3gk%U;j6aX;s OgԅJ<>eܮͷxU)x yg1#w?WeO%U?qܵ}+vcy<`Oٴ@/ y/]]ڲxy(YfGyF+1bMiXY^P{=KEȪXs\C=i?ҵ=< -3t|=>117 S1x/1Z9toZJ?#vvj$מ::[Ν)}0C&HuV~NQ}1^Z "1bE1_={&{ ]Oz[l azOH--l<n9_:=``T( GsAM=(TEB&*l&Ɏ[~˛-и?M|H{* ,iL: Ll|C*3ۏR*^jt:<C=?Nq 6?9Pk^`,jϮ*ѢNĺ\+mt(9f3v0['2ԹZTuISBhh t3w'[&e& YU?g8'^ 1}޷b<<1rԑs4>cU1wLwK5&XлQۧU>. ^TJEMDz;MnqC=86Ov$Ծ;؞Me7I|ac,GPΕ9 wA{Sp2]}21$I⻏Lh0u[[yz%d,oc;-zEV'!1+a4{v*o{gк EKn߽'`rw;zce39ai3A[=Q7 .琅ѢR'yǮ8N "˺ {@!6`q4G#C]h2*7Ӷl2k#8x:QT:[qWt}P13ߎݥ'rl8^w1xxzC].Q9&tIjć֔j`9 ۨKJn^νCD'\I4$@gOIshP27G`/i-(҆>OJIvzeI97ly h3`-2TTMVGߦyҟڏpiF[*oVpNaŎTʆPm(G|OaU~mHv1]^U[ͩv rH >v, Z?pI `O/  ֿ˟ߟq'ϺG0+y˖%~^zGqJ8nH#1 b$x~~ )$?=Ŀۿqa.^j0M7yH-F%h(;0?zΦ}ud3}~9ޗo?n?8|P5ao~9 C~G|3 #5;%+jd%T`MTb??2KF{0;'o"2Jh-`d^͓?3?2Sy=7O{` :E/KK/qeh,#.^+j%??i}8! $N%_w$~*'ύ$BNǗ-O.H%H_{<E_ ?zp'׵Ə?5b`N߿fTƳǨ./s0cOeʿ=1/ddވ86%J#S>]H ?f=Ӆ}zo=Yl/fF4J` q^]3dNO^@revߥCZY?g)2~^NU.r/s[ Խ%/B;+9 kcn"Y0,cI15pXd9FdV^v_a &6 *vڼ͘cOC/1R[]UH$P\Kɉ$V" @bap*@q7~-JvmRTrAȢk48C}YDi۷Zp8o܉#ttJMmYɫmJ f } 3QyeQt 9hF|+ıH ͸]WQ ؊1&@ا"uqo4? TH8=S)ď2cs< Pa2! !78'w lđAvwyЌ҇!˳DCd^laMOM B/[n-%Vnhk6S։CqP֯C5%z#Y "5;Әc I-;s K97+ON/Z}=mt_-.m$|tGA7F4alhZvݸ,zKJV:Q-%">^ $G>5F[PKOc%ǧᎡjn~ iN1EZ<>z9[n"MJڬt\譠|.s ɂ[˜MO#x OWFUoASrp%}NK=.@ GWyT}sX杻5J۶&0wGWD[V6ƣaЫjorW0KwS**:$W@"7"pxAh^iܫOoǘ0 $3N>N| /qZN"8mQmo$2>I܋jLۙ`" f6=`Ioe / bwp(FNNH>_+7b&m ? k20`o\ung#%XNj&f m$446MEFV} ]/Q6n<Ζ ܾՓ1g6^ͷ{ W ʤmѳ0&%.~̼@5FcS &4!S @Zi(brs SCe+[C>> "zhb䤸O};ˁzƼ`mwgf?{B ڂ3U5v)I1%2b,~`s^;:ihH4"#[:ld:L.^s xt2sʯ6Dg|c*=bR^Pr0Yp; ^{t0-d|\R}b%(wR+ ,Q$\JľqMkzLiX_C2o0b%~7 mwDa<Z)N7g"|yYmNݳ|4\.[F_ NaBߑ [O[wCqf[Jk3D[M 䘏S|@b*kpFVlk!J }f(bx$lv v_\tRb GlPůyЬI)[bTU}F!8Dyi+PZ$wA+q;:t_&8PT`yK(YruƉ3Sόc~׾Axta[^=h20]]hmohjч;-<eVzH%2Hm,=eK 'u0=`xcVR(&b:Š<-- n} N!.Wb9|@DYMB5'LO" d(,EDnSݑF;%QGy시*]&"7,b۷E!-{)$,"\ZKIYF6確C6^_Hi,q!?7en+5c9U4ǼIwTd}Q %QWtGj˸lx^jaG#2a'O)s99<巎 _cQd ZP0v-pXuН q4SU>3J:ѫHTDaQ}j#aK9wjni?PM$[)nǷ7Y^p:Hܻ{\`rohr xmjU@U=qQ+o<7'Lzu;wBz'#UOޥ:fEJ$BHWi4C)38lI_uNY[q;ˢ)K''L'E[9+mw-R]aDՆ8dHCd~Blq  1 ξmV֕=߲OC~7YFauQ =Gf91R~ aoբ^uZ9ɤ]vp dgc=!C껺&i` 4MM5k`s2@~tU5ngt-ˎx\54@M P3]\s+UH}{Y]}yd/ g A~tDBm@M6zB mo?s 'EX_j26@H!C#5M&:\C-bR2MXWiE7oB xup1)PMЩ ύ( lI1R?.,RoCPXBqo/Rzis*7`_1Ňƃ{$)ďr b @ AL~$Iqk38y *lV H/*.AQ`{&Fv[&Ԣ |llH:{ E)Z:g~lg=Ⱥ*(+UQ(q15n4k $h8?hf }[H]p NN涰nX7ukÁ5dΑ;&+]nU&s1mȩ!tip=Lɛ~4ø0 tȑE;}qk ?mtr97)t.pg8#YeM, A%gg*lzI0![HɆ DSVl*KXFm0}Buh 2UۗgrRߨް`8N|QN.Wq{d jzq؃΋е 1~͆Nj#>dr<䪟#xhD0mjai3իA}NI}A9`}^ި zCޜ#m5\:}Se A(0zCi3>-r0QgA1|sl+X~<.E}?CWb$㥫`QT>8b`I 6TXqLC:jQ 4sA؃G$~Sc<壻|_+è/}nnȬk%/󸀤l{n:3OWxu "Ewý\FnJWXC,j1-Q|aC 2Y@/-4~EH\ojzjV//Gʁ925ӑMuKƃK15pw-a);,тKE!lz9rFG vĊP!$sP c?ʢwi=oGYs"qόaEU-ke.]Z(uv`R"O; n_Ԓ-vR3P0ro ܰ1:.BjF"P>]s2"j^ %՛@9i{Ff %-/rݺT t+ ^+uMXϢ޸k#1~0^s4{a=  {ٗp,BU45YSޤItCXd[rm*UD s0(~Qb1S׋#LoJ67IeiK?It?ZBZbY?7u>Qtcet{Ah$T!-GBt9[`W9v@-}s䪯ōT[a7ֽ霦=mEGϭ1CH@U~0E$ GklRӰ/;cI'n 1^-P%xԛ!^7܄MޏD0uCR}]OCuo.pW1I=iD/63 \zW}FϥɺZC%+"% F>_i}o7A)}yM3O%%=B_:,!.sI \ȤxYXBua.TyniGaw lv6uwܞ Ʒ 'Lr(wvg{Wꡓ- 7sjfAҁ0&"̵n sc{&8CҺD^@tȶfjxMwٹ"$wG 6csg\4KT (CP %,{? )CGhﰊ6':|l^ԤQ(1N..: ʋS.il m*ݙR-c`cc>ޔt5MK ˆ-P&馈2S>Y97\}wܳk {5I eߍH >EU~$`6}PC ӷ9S@ `KjFC*6< (*W&o4>FhC)s;7 ,%9(W[ˑX/ N ̉ۺ/e/V5[!O 5fzUPuA/~ 5s.w/OXݗꑱ=,9o7*S槚dsc3ڞql(6|o-m[i4x dL|/e%q]a3 ǠɃoi*lY1-8U}#$i{ .ZeϦ،P^ynGߞY4age|ޝ5,3]36Xz0|..ʈ-^7er%I\䝸 -aA &Yf߻LtM a~L0ia5FD\D'ա!%{t|zrt?N~+6W3! ZM1 }hbP2$3XSe2y娯 c!O\|&k l3MRȭ/'GQ9BG_~3T[Y/2@)h8 Dsy{x8|DHR`} ǫݦFuWrL;6- b`+RJt=3>cLxum4,Sh-ڷ>G*4#i("/7̙⏸kKhm>y XT DQG( tgr|R}#pu^\obY۬uv=!OoUbFSiiרT#Ѻ^ESW{IJ6|DI呀5`L^o˻*f2 4m '|q*TQҼJ!7i'f˥Z}uQt4w = 25|)P )l(3VژҺT*Ƽ|/y~!s5r 4_ LP!J,ss=R|((ed}P9!Xv =mO-(ϛJ v}%Y'O2n{K1K=Gc5"*mﯝ!안Ikbb'l\ElêiIHpNJY l98f~髷Jz~[b;eP|/>8`CR qy "~ a\m瘉}a$9j£b>òtSn 4IA87R8ZE#3Fo anj${v6x;*G>=MJAg!9sݪI|-k@97E+'8 ҉pc{ N9!a+'zd6 ׾_1sUE,K$2;-1Ug,+f0)BT³nOPX+^\,D#!hKq/=KN}oCJ鰁L'rE}/оqye[9FƤaPMрN>,!݀C=|Ld7r)a7fG^rF\3eMM@-b(95h ')t_7iUO1[/hLߵaYM8JJn?(3_֠AtZb&K;ʃ;HIިb хEס7h)sǤ"!K RF}ʂ]E*va|ȼQ!2wPvo1?Q1'! cxd /nN"G=IlLbbev?=D 4W6vT{ W Z~oI>^WrQ 2GY˦i,ew/X2I⧗NB(1thwDپٔi f56/vx]?b޸3eC4&yr{-`2i7), Y⇬d-+2?^ *gI*Wf*;ǘ% ljs3D?:ۋ%'ecmRL1;uQ!ҋ FaLvƕ,`: я❗%,z-tI}Q̤T[ԕ1M Ӗ <'bX7ҴA;$I>zZ lk}v!L|-,zXt(}m?{c|C"q>{5&V3(7~8 q"b7B=;'9sÑ0!@0ߐLg;wiJY3?>يHVhs;bQiZI{vyP?isx; :ʯWpu)p? % !\BKTl2ѹ}'b"c_Ъ_co<<0jsƪ:?y,BNga~J^;^xߌ'#6q^گ\]^\?axXC,EsYB|nS#x9Dw(Jߍ-v];0ɞB2ajx s+|rc]3'RZOk5/]pOq~^/y"FLji˜Uѝ|~ #e7$T:O Kw0\فwjdA1]\ÖE` @I3"x9m~;8$ʕ~21>cW>@Qg/x: `|_V_xc|óTG+ɞb4>7O'$)bԈGܕY}oGI^``"8#_L%VB?P!Ѧcrs(;́F^ի$^[ѐӚ] mR]щU 9'j?פ&mNއS3 wX Cv{IxQjauCzޱB&A>_3q 4k}^Bz*pۇѷe:k>>5UBJ)ϝ=* ըUwG{ ֺۗ6=/#~+"6c}#˴KEwk0M~wgN .h~^}ɰșC6jN GYoxv~aۭ-Dz ajԗ`g563Tnmp:}9j0dwbnv4 %w W/XS1_f>:ɫXVa1o™|3R{OW8ỳᡛcqX:߱*Hn*M~4/s~QMokN<(o p*/Cx&gZ^@0f6b0 ax~Y UVQz%  *>^NJ1vvX_Ke:oi"2DS{W6[l^'&slxɓ]%Cš_/"}>( :hcG!g/p3i7 ióIg-+f-dW"L1Ʃ$G,㗳b>Tlbd0e:/=KD5Sc'c %]Uk"a"q&u094|p!zD ^;S)D8O.ޫeM*GHW4{xxd3$Y09jE9(44&Jz4yy A)vb2!iVqU=Gn*~uWWzJE>EV@>yqO.sH?q}>{2?AX(WS?~ نYjJo~.jxzWqr)]DdWSA'X$_pv]8@ ?>XliUDj%99|Bz$AzcqyaưAl~,{Zf⪺"]VFOk:hc-ލlxRp9ъ g0t4W ݏ/@r0A)\+[Q.ʅRA^*FLi=ţ,Ə33V$IZ\&Zk^62lƋ4Ō~sthA:(a=Һ D˖H_mi9Dolk+e IN>MhI8 29pۄ[64L=12/?˛j7Tsu<65~ nfb0+OSi *ɐU3ɹw7ؕL"!nEU // ia{Z1ޠD PJO|iNsˌ7g2ry![mW띛DŽ,s9 i2X0W{E0!0eS1J}F1{'![w$v)ҝiYR>ǢPӻPhSr#ʞ:|АZȤCg|й/2WMXx Ҏ= ɍ-)A`#x;BGEqZrp3=L7f p$8YHۣ#tOmʆǍ\Sף'KpzPt$o. qd8#PU(/%1FD{)EJ}ꮯ%~ȽRFZ&MkL l,)Ug-+Pez$:m;CG,>ƻ|AN']Z4 y0W' 5]BNmxi(9 Y;xH=͓xntzN/ZJT7ќ2;okMgN"{SX[LU_7GI:,x4lcCp&Aw * FCo\.eCyiJ:?4Oxﺉ㈥y f QJ۠0852x20`U_޿d,ETk/ (I= (#hrB+gPlΥ-Ŵtm<(㥔z{\ t dKT-<)uc XvxUb91ڍڈѬT}#.f8 uʖ]w/ӟ엔[ukUJOv=˿`FZq 5+OKzrY06QFkf'd7[pM\FשС3}w2*EU99T8|F+U9DFI˜hdlC5Qh?$<ʺS8'6pA 9!F =;_lH*[frn<ٞ8k޾8ۣIؔp$O${;+˂D+Ӳ/&7ͽ{.LOw&|G6, c`K3@],Ɲ0yq/Z#] |nū ܧwŃߧY̟IK:!ϸ0Y :}^Jٿcg0*M)#gpw !YUݯQjm< x][چq:`=хX 7@ _!;>Zsz|+f.}_?74 JIwx 48XY^ . ]f§W+̿얱 IO!%޹n^}2鵒ckMX #&c*ÇCɾuw;=R3 0c[KxYM`I s+,T=J=36:2 rp~=CnO M,3qd%^^|giQ˅;,[ځsq=ip ތ XtfN:1Õ9޹VE!G+{Ul&vYȧԠ8ko*!quT,3u0TKw+t#=0B,f=*IXOgIL~]l XZLZ㑳9t'ŸJv ]yc*QlFg+qkd@˭/9 8})w:H>lOT/2lL*K鼤j"{p#x`~W穣C=A~PiېFgЄ5 CEiIֈ`,(%L q7lkkUӁ|a=DӷxOu/iHZ&}dGy+moqbj";wSw&3K )4^%5PK5bj'*q#3Ôc dbׂg7$b+dymjʦ)I$w*9)zB -aO]YoLb@]B( bZH{}%Y[=ǓLoL7;/t3b摛4@ޏZ=;]f*}նc/}e uzvu𫄅kڻm| T}"+|'Gj=TMڽ*_+ ~=,TP#SF1z6:aAD9X(&9~$7e u8c4/-񑱿[h `ad_{&/<\%^ Rhs3 >'E Ϟy3X?d?70L#>ͯ-48yS"J'pyghyyg.r,z(C[~{} k;҂c]@*I\'ڏ> 7}QΡ6 Kc(ga ` ?ݘ$(W=UkGqɨJI;۷򙀟DjK!r9{ʒ,&ff/).믹/y2m_Af O[8i)^,9}`!{;CRZRJ>:ɚqo;xg^O8@Hf{a%Aw۰Tn|<>\M3;l#ոޛn54+EgZk.L_owڄ ̓"֩ؑ?ZŬO:F?h{D9Z8%ɖ# Ug DS %h];Psݒ9Y'w @b"ǂ2e|\ŶgfW@(M>RG׋?{O}xvU>l׏P~SI/J*؅`iacdq]R޲'/9H~ KSbIG(ro2F6/i#Ѓ|zȯ~BtEb`XF H0K.E=>nG jeO ' # ӗ c>)$_{9/$Zd˶>1H][YI~_X!e6~'q/ KŶr^L4 Mr]^έ r;I!DXyNbD{L?n嬥߂n7ȫ' Tc LL1 @ENTmCǡ7WbƗ=㦳1$bC由d'lw;hӧ4ӸLԏUQ_,:/2Q:o.6|4}XܾܡOori lTG KInz57S?n15ŝ!4=8o\RL3+G㤛T9H} B*kÒxA6?%b^ Q{+R0a$8>]._{7(V􏃥oMVo-6E #͍`Eos {}!<[ X@ܲnĝ`y E{Y`ƷG>oťFP'aziEx C\Cg|Lsu |~Y c:ȨNi$000pp5Eq8 ۛWnsύ<@ I ]xGz/f?bF̞3"-\EXZn9#eܰvaz  '˦5Ϳ&{y3Y.qOa-fz92Z9cFf?>9N?T1I"؜cxV;c *fnߠtI\r 'uB-}6\IO4v=qĻΈXGC5Mu05fR&췳Fţs|4._) 稵pOdFJ=![A/zP{IPH=&<"pE֣ۺlV߲C^RʥqtU^8Ř@9ݓtX1i~!75?{עU fus&dy[fwCp!$K Ǯ?n E2$9.)ϴq?\7(ȶ'[n<4fG<4~\}Ft1,y:`R|C別HNxbpn8LxR_h9{Xc$-̤^Dwwqt}yQ|wL߬EL&ͱRbSˌ'-C^50cê(I iE:}nx]L]}@%*\ւW~gNEN d4Un$Y OKnw'o+͍2g)R w]6Syy$PrύЗ79jx`B= \.8j 鳣ۚȇ"\'"t՚fRaˍ&sTb/37sCCGis6i'I?rP;",NopU%Vɛ`HX6'G)3bIq62KsU_-\Ǎ0λ_d\$ Z,荝y*mQL0--#Nk<0vsMXRдWյy:)uE>~ '}0U:Ս?]5LS\TyOԗDK<ҕ/ޭ|ۊ]M+Oa{I\v;-%־{S+10-g53%}mL~[d<9‚yvm2tѴ-4ݠ{= /1:yt! x.+݄/ G% q{uJYf8ܦɵ9O`)-~cr,>+@ySvFFN7,1W)辱U343⼲wVOҔ%8v43Ӡ؇RxM0YG( P+?QO 1ސDO;*0{$vL({ٔnlWpjg㱲XEϳN ׃%/k䓙%NY ~\40Ѯ-k01 Xͥqk.t5?o|67R 5)dE岹ոXwz?"#H:oG( 9^@J =[V-BÙ"929uѮGnȵ)/szPc]B@k$xk|חN ڇoz܆s1Hh5AeA~0%s[kE|t%AMO? kuG P6z-%LAbһr{) .>ɔNZ7a-$(?ΝPV{\Z1F{ u A.8"ߓ\.\]8"ΛcSm̆o$4z$@T5[Nl]C?,D2+t)Ll0k  E*voW](bUH%ŔXKTM*L&!<+3:޺Ƃڔ|$Iv" od={zbn7_Qu,W?5Z/z~.us#DV(o;/fzJ, P`D}iMeYE;8x>۴Trc_tA+ sE1@S.oL} ]$Rb8R6SrRk3oݤ5K@:L(HfFB.6a#DkR. $EPXF=?&݅s/+5eTtZ?I*s/`T$,Ct0[@>'PSvB;3;R0RKge04ۭ$ >a%y4r ,_{撗=8!K#/8C_l^ H'-BRg?F/#ܼ5-2Y=l8,4weƸNV 5{P95#?Lj(+3?Y] ׋aSJ_HfEyRT͊v.bϗ *Țxh Lp2?~J/a$ꜭO@u ^AsunCZi nH>NTS=ɭo>uR V ~@6qҚ}KmQ7W|^OQ| %dH88}hùR ״=![rp2I!)Кq"˿1!MD=iFYOnnwnM>D |ۿ-~})ƣ8QJc,\dMR}#Wf/;υ;G,LwP)kabI w/Vé|ZSD)GhX/r`(c]mRa7ye;Urn OL ތ=a׵%G=k1)ďB)|=ec 3N<$0lt.,Z ;_eݤm|H{em)UϷATʃ~Ϟ^^m8g:6>ySlbQrat0ιjVNi5_4G% pGR3 V \Aըϭɩyi2VY!r>}勵,^3# ?/ 4ɥ wAӯI"LLٗG_kR0 |S~*@H\rն > "RUY ?wD=E,~F)rd[_63ؠ͉̆@y;-q#dh;e%CV e9n^k7a`iێBe8b.iNdc%~bД|WIC!c_ȼ@å8p^VÇs al&F4Аi)IWzdo!5,0 c~r}pm:pAH6dʏUlϬo׬5@SJlzwgĘ5`sE5,@{Q}= ١ٯ!i6u~`c:(֯snjGX^ 6K] ܉Go M&L.t'A[1eetvr-E 0|?B(<>;竲&$bG(@< :I<vi}CS9ڑ.ByCd;/|! 熣a򛉡屆Y@W_?G4r29㵉n:0!_S<^;o-w! U_s:KvK џq*g4vEaž9=4R{՚K%.ce@&n"{rB>Oh1jc^^ s?%apƒ(>ץ찙p-9KD^QCnOJaƸp#}f͍S=_ QkdK|_Vݩg}_C7[鴪T-_bR3kYEvU ۺ{~%}FaTP+r!q]UO ^+)ORL1yo~hL{x+1C[pMAQ#D}ӱA/kv#ŀN:{~kѪ*"|&"*'E{HЄ g#:*?,ր 3toh\6<]iw,^oaM(M=̂m󵋤f )0y>j;`RfH9weƸkwdOW/xA-:3=}w 3)cMV6_ͥ<ͫ G2 kG~:j8D~}% Wdn0ˆ-ہ:lvĒ.T+.Q;62Dl70Ŏ+Cma)w_1<3mT<;x@İb /6#V9kO+Zcf}_GŽW_v6.) B*!;daG1:@V0E̅ 6.dgږ?ʿ&<;6:ˑϔ6ہZ,Wx6.De|?԰C*yHu K=)8M>qouih1te`&0uz-h:ᆢ88`5h_^i7riRol<@)Çw3i kMrsE7 $p &_qIOͤ8`>ZTOY38ipA%XUJW\y~ki7J4eTjB3|pBA }'&`I7!"ww6 X^wUhM迠c&xo *t2HP%@_ iF>y=26h)kV8/%!|jl,Z<[N"<{@-5 Ob} #\IS7-R|H^wik TgʈX ;Š'XS^H4_scmI{ (InuA,)Jzij=&c}BY*ZIU' i'F'BG ôW̝ۗDQM}bUl$_+9]+`m5䩻ԟJY)fa>l 삇x{"0!Ÿa6úҔ4^~fo+=zЎ/ӫH`^r-aHp%'Vy G6y 9Ƭ_[>=: O;n}p1vb UǑ QT[g p8P>O@ @I4oK3OIc|+w6ĬhO%雮O9ɹm_@6㔷=ÏWƭbd-6"~;G[TS*|r./elb1yK`lNz,@(vI M u|x{֒{E|(|xa~#߼$⬞}y^vfa:Jc!@j8a_KA]y .2rJ_N;?%ю_5,OP~dug뙯8={W@1yVր_1WC.6)ϕ vΉPڈUiSB~@K5\Lψ_+MwfI`*.KkwY "VWunB5\be`Gnc{.aPޏb N"0Y_T:Pْ _L !K,IWTv{;6PQ3v8&^XU!aPє m8usbd~ٓ6Z!Y@!DhӎZ'mE~K)T RGJ~VE4Ủ_X_$odn\(-03'ϣr)}.`yNLϑ,*3g{ vBp^;}*JcJiUwK4(ђ>pH(lY,;qlz:~hNmW +mk2;ȅ3 NnlۥJ=y8TeKCauK'ְ'ug&ɆY]q@bL*^Г:ro+|""2CCq+%j/-O)K} ,-"co&p8C1X{U_d#o1#{zI)O#.T'ysV9t dlַ_zoLzMlT넟:ql/zTM2i?Lz1q>b{$ǐ[g- 4'هiY=) MBC7D. [_D%/T[ų'p߂.:DS^rBD#O{g)Ame)Z샯.-ZR8*$tXyi|B'ۆ=w`ޞi5(ҔV_w&䭦T>~T'QG?lg=:ᑵeo&C:Z6+ M _sA -ԝRCLl3Ea(dygf] hflC eJ9Y*qz]7|P9OX9,L‘>]Y~ v~ï߲iHUq^AuR@ 3FJoW_1Q"Y>yTKq!ɹ RQݺ C7~lcBC+J5I+:>ߗg~n:>̿ uIƽ?f]l7!_YLpw"b3:CLU0}s= "~J`Bٔӟ;J#- [2 o}֜SªTIJz=Ȩ3g6^_=wIW6,Ӈ;/wr KB3EPiP3*&幭9}'0뱈?SUCoy:=o'ԉeSlkk<" Bt5emCxcLkI)(QN B XH\=7y]]ᄄ}/v|A__I:UNsďH^JTEn/D1Q&?\4_R6{d<~9„89-=8~+~&e룋J~FTG6:dgnK;kA^Vp@8~0hqs2{)af,}iA )o9;-$Ԁȭ4FF̯:p&?]}43EaWA02<â:Q%rvI M P !}w,x} E5Ѫ = MasJynbPj_ -,UW_a,}EAG>`-vKϺ}կ[+In>Y̗")&-?W|&j:"3عܧ\S] <JA6PΨDj|RΡ˂0X )aLx ]ڵ({'fKJ<'T{A􌿜zd s7 Z'`c$<3"g&9t|\ӭ!JPM;ޜ*ۄLyPAY ';ya:s(ݐYm @l!bDU a6Ƴ!6 F@S>P@$;kyKwb! 5RID<0Q1to -G+b ujQܑPn@A'!,Ұ[^=i[vHfaf mb#9T>)2:ry]y{>IenF@9h,MG~5>2} *K.OcL \`y9U l+K[&k3)~mVPVoގ\t,Dz?85wDX.Ay : iht2dD=N^BEGtVk722pW1أTX b$BYY?$+ (FLͅ e Hc-&l~wWY}#Ne },}0$'M)tQsn#u7)|f?i*R3d9kҜ$_1P( ZdGչٌ/+3-q}{bryIQ?+gG#`kN/$㳡FvX,tn4z=SR&@D5TJ5:x׏!60 - 8fLYǭ۔+Ts-h;E9GG Ra-\`-I&Ϙ]HgwKSV@ϯ|#?#ws%K1r=kev{cJ_YŜ, ,nœJ@#94B؂؇lҮH z`"03h*jzd(eS7Ckf `@1m ߫U*5}5~4n-FEf[>a(g*_yaUP?g'GVc.(SMcxJ"䔑x]R~_ڐ[6ڇ<qb }sjd_{xcy%ȾF*N 2M¤ >90[{"}̶SHR̲-lбaTWM1'iń6\9H2޸F)I"-B ݃R=4跼$e}U$$I1Iaٯ.{bTGnJ3CV]*'o/C::uV/縜dc;Ek#۱}-]$<0j=|W)V5gc DK= ^6~=$BaFq@1L2o-,(+ wV,MqfJT&߰o`z)K֌ 2vi&9=ԡPL.$B<*yS:rD @0EN I7W<1"P䪡/aiأH ;pLa*Ͼ> `5P]_J$uEbi"БN~[Nd /:`3qC*}Ȁ2Q J=jW{蜔~8ad.Px94b!#h8aIMzǴR\,B]:[ANy\Q2!Ά␎%ŷUn 5Ǒq_DitoE4|BdCc磍-Q$"Μ\  MA{P 7BYG"s A \蘕YAB^}߶Cff#ޓ: ( F9I5Mcmr%B^ C~T!#\rg]0.Ŵg؅yC|'1Ⳟ͜|-v Զb(#0yFGaLU@#D.KqQ_kD W$'gbd=c{Ga6jQe5O*_2jTQ$BFKI(Ҿ&\iȤ@w?o bhI/VpKM_ 9]iR# +$*!F MHFQ?H<=(w N軏Zmpv9c44eЊ"*D$n22Wn [WN?5Oy1,`K#fG=^ '6HA 2Mu};QmCیsO'_W@~?^uDr)ж|D9t4aF6ϱ:+4՝(l#wykoyOu߱Yu`GNRuh1ɍO$A,2J}}xJޣ}qgqN/t6Kb2\*&)m>NP^,7ăP.5yEwvAg0~NW 5\pҕt`C~?#gFϯnawb4٢?͎-P1_Ml oV(P9yn@-ii'u )eۏ5mCm%`}_F##=p_!;|?ˆxLˊ1IX|)Y #]J6=򸈞q[zYKv$CLN@cC+3bzU27)g=p(uC/N~-3Ua~S[5Lq ƇqzB.kF=FQ'MRcʂmy/Jq~mˬr=mul)a/>+  !?xH'/dˋ]a$7 |ռ(V5R'e%'Tq(XC,8o$!ne~tP1TamPeWvD:iX+ U%(KRtZyorο߹Ȫuͯ{+n7$˱ԇީO kñt~tFc 3l ~9ؿ-(m[tHƯ*}3>Z\ߟj!(^xt,_T5=Kp:7*<>HB.G˃4lLUcyb.= Lqؕ@5MwFw>4~.l,%=%hQlSD^~n n 쯪e @ewj+#+29 a8(L)PKc _P,s6l^$ۏ=i=@OU- !K`Mc1/.] 2RC|ͥ*eHۭ%I~u̟y*}ӣz>+*v'Lk'-Qd"}0SWy¼.)Kt !6;yM:X'AQlR@RbJ28Ox1ohixĜ~@5YE57 FGB80.Q iԯktFċd^E?_' *^V3:}zXG]]0WÅߪ8iqMܜIXFHo\==``RhT-߀1f^-3j, _G.JVC\x{2o~+f1=#Fh^=ܽ5NoRo$O$#ɽKpϚNB#/;f5q_ J\䠠)`ԆFw+)kSυ?B0= 5;zy ;xC]/~y*UįW丢]oqS~$P >@3 ðɦ$rL*0gbiDsW<}/>]Gp,SD_=1=&KxIӫZliu%.?41lآګɉTN-U?g4gm,jwn^PN:zFQ%Aɗ@s`(rp`%)ZD osα>0]}ܩoE;j[f9A_ЅjĜ.:ѽ&.P ^}<*ؗtƛtWSc F>9N_/"Pxv}_Pu5+w_|ݸb\?|vۄDЪPv!{]E`_p^MW'%]mū`1LF%hldqH0b6NE$JIuŖah,Y&'QGo,]p݇8Xut.?:R9*#`. =,v"=zP!坠ƑRag܍N:}e) <$3QG\o14n;SVR_.N2Ϳ,O3Y>[|-6p6On7>1 3L '3h(GE?DԦ ܦ^&΀cLfK5n?:G{򋇍 !IĮC7IU[bU}6{+jɹ&* ʫWklcڱ$W1rʱׁ0J0/K ,:3K8wYT?ab{w# B7eop$Lڃf"YrL*P/&^f@z?Q*Ե#yi4g? i7ڨem C|u'sb8jJ $~z2YPZUjzZ^[])^+_6tcxo:_׃[sE@FpGXRXL:a(]rwrv)&m]o8CFKЪz $$ v36xl4g£\v 3Դȏ3?a'4{ݮwn-8'p5`?X<(aFɒ3mUTTpсy'4X?"por wӒGC>Eu{?޽#i*iQ05N;wG/$ff R%iJ$uqdaeUzcFV<_&p{O*Fnz':2 )/‡J]D $v}?D@HdWU;.\/?zlU%V (A=T="eO3&t@*^^kRkyEU۩$KSu %hSNP7* ^{{;E'UhUrǩg ů )UR!a1Pa!~r|?ޑMծNB\9H)!u.*xJ UZaJK}8R5 +PROXSec bXҡÅKTKBc*d\y(is#FH7+yo4t_q (g.ZYABZ^:WIFd=75r7 -,\ڿ84l !w a|mEE*ᴊ=ɺΌXG\(ʰHvAi97>o$=[ n+|%&fS#dN-.\`47Ǔȼgys ›6a^KW\W//'{4ghej7u=*RqUciID*Ɗڵ8R5U}P%$yJijըE`R`-n&2_="T/<0K:Rߘ֠hAz 3k R.g\=Ck-"e.:<>}|"P!,2"FbQeE Bܿfp(CP$.גJT&G 1yaz+~LH)_Yf<-(~uFk9+R|@ :f6 ٹLؚBh ..y&,2Fc?a\`:5|zڍ^`ϛ J]5^K)7ξ)Μ30.N{OX o;̕p`mX^/\7N!mvU<ǥJc`C[`%\?~mv)dKyb;!7?ZnބKHѣr;MmovIKG4b"5~V҉DR:399-1 ~_K:}GˆO]Imc;g?>")l] ~T]T'C <1׾3*}? =TX 4- ݲ()!0 zCeqrXcmV[Zpә;|{1YU.}2*E߈ZIS#(~qDŢmslڀiT hSf~ɇ94*W$F5KzL3 ;^y̓_n$I(!n:\:șGr':`INoৼTb e sT /k柅Gޅ(8PõW)#ELYt8$ncA|o9++m%C 8 #=:R斍0wN Eąe5RZ Tѧ-ΥFᭅU\e;#YƷ]W~ ~JkLQIP#y0FryI@am!;1c&&s |/1esl! cA|M̳^h_əڏp;X!^o Xu`e(ća/QϰprMd7$}`D@*ruWL Qħ+[S*L@"{ AUtlT~ҁܒ\vR@@RҊ@FWڤA:CG685(f3yYVqY;gmxl7C(n-,6./mLY*:V#5yɻ+_wbPң %t {?}@)kMe4 ) . ^$XtA KXЇ}'&p&Cd@x kD{~=LP|#imxx'`-ZNq_#q ACh}T:|Z!Fqsv'U__ )] ýڴzQZZU:7Hey4Rq-]tb.c%23 3~,5ݡT!aT4t xR*LӴ=Mc~tzjv}|X0ZOW.%5t~#G_B˶}Hr?ǢУ[#@˧5"p>'c--mRbU!|H=wtʀ1! sl2nkI4˫@3{=RކxCj:.~o)aaB<&̴YX>󜬃 QK,T= *&0·P:#H*xE-m~;hsnL+Ĕ+[oيQJVSX.G)Z}~[0"{ 6,/vl˥;[ ?FaKhS?ӽ MB#tB.'2(P2f vo_Jhd.J섄ylӿ'9g$l_"KPPg;vUbշ/&NYbE[b[xӰ_D?!>z g(Diz)f?֪<^~_Mqa<@O? ~?mɱrӔ2HiLvk2nlf$4_E_w푯+G0(IKd T&b̢NߡYj.SаJAbo= ajį5%j?O5D$#KՔc8_𐏞eʐVoCx-!Q9Pk. <8^= 䝏4_@u[\[ >eh?⑝C^:bgY͟Rnzj3?*L]XB8w ufS!`z H}CD2 A I0=e#=Qke\;T8r+=[ @ny" ٷptKf,ej#=z oY=kC xml$nFH[R$e f!W-SyqEƷrrUC"Y,\!#˫U%f5HO@YEwVu@ȏ:SC.Fʾ^M/ƌm)j[3,=ݦ3-6x 9ڎ2I%vGXJatl\"e"V ֕ӪA_6>ž aBU`ʁ4Ͼ B԰2oiGWQL@c?f_[/õɾБ7tԴ<2x ǯNj5?hN LUq{'zh K/4X#x0ΨF+ Y:u;Տp슈뢑Q;+Q0o%TGHdOVj3V.;u,9? gy#`DDOYM7&Ўnؐ,R"r)xi% =U(T^AxxҵVT۹ 7>p](=:o c|85n揄dKeAa?o- AfH]9bf.ÿ=d[,!i@.UZwf]һt pMn_l?D^9xOz ~!c#_<8Qޝщp֌K[~Ʈ:E?I1 ;?E^C]N^`|IKV&_;'H'J;y|pVê(YT2YAy*Op6djV?[*ksʂ!]Xˍ=ӆ Ja#`Ŧu69ޏI/1c%lP۹Y+uN9+!5IMc۸<(+Y,9gvdE-}J^J*0c|E41X|ӃX"Ӑ=@b nҊ:wg_e^(}WK;mTL8`;'ak0k袉Fبv 1jFF'`oKC$/UV m5$v}OޥK -_uõnC֤z t[H0]-mTʑ7,qFtvͰqlASpxOn 5i>G-n ˟֪`ZAJ{Ea;%@ bz:#BL|=lUqVrw8Wa[Och2rgΞ&(#hT)%dOH,ڱؾ@YݟT,sMNj<.7Ǡ 5vTPGtXC%T3=qsA>[N&Dc_h X L_kǃ`-=RO.l AaDJ僚ཐ}ΥY[T%fzreSoyy#%e0`*]vgI 6 Â/LIYgN^b%[(Q0p%o@Yc7)7!Gfl@f9<YypK?E$F1E>>y%9*^+NHG`0DũU/,Q;SMu~IM瓯Փa=Zb3}ـ~G)z)0jX;Bꎊw/,|ɽj%^2"wRM -zτf.hyWo!FqcȜo }sdKvplyIk#GkR,f;V45҉~: ׺]B|?,7w`s-6ģd$#M'{Jj >m򓍪oUfopG|+>-kvex%'HDu)+ח.KXdFt=K^vdžƭ-oD` `ZfӓU{4B,Bt.ވFlRbxkf0eU/L(4[w8ߘnu"F Ϙ 9|R[z0er}ђDoW/cUYOcC֩񸹟}7 $%8̿!&s6N69-"'Z1uw~XTBt$"iuyB̖QםJro_tݽ#ƾ 'bvN)eѹy) qLPL^Mž JMZ3PzM%oSK>VyٸDL7B|K ܊XhGKjbL0퀡@}ҡ14E*D&-gdJ@M?d>UƪPL(F"\:ƩIFd2W4cSc|lpQ'B#Reȅ93tm9M4tjit^gn^nOp:JOoI}mBגS*L/ č[@vBIlZmI*r:j ݡRŦ4՝8'cD2Z+9kUjՄb18ҞWa+:stKlk0\4Y8IH(Uο&O7X$^밴*7GR[߬p6, _hbR*$[!x _^M7hYً{x۟HK{0|xGKExmA䏩P6#=qfw meE\{;+jY7{w#}kmCz{!!xq;suz!ٌԙݕ(` 86ӤpYTtN/3 0?9$"3?؃`wȇ}eW"ZX~kOw{_0܇I;Z="Zc 믺}ZAz+3pz t0)^@_/Ìhc 6qd.͗`?}G: I`-pGd?#V-s5mΙ]< <_Cd@?(C)MDlJPmnHK҂"2x@ǥ>5~*9tOÖ*ߦ6N" >^ΎRJX3Xuoe|sݶgȧ\@PI ]7]^1,i[sp'/ uN4?"5\b;*SKBbQ@7DQU:Q'"|}RƃO+ֶuJ&w(9jyيg=vֿRºK7Ft8;? __F~9 ~h6O8>e1^:1.@|gv}#(0'CP~b􌘓+wY(20U C.Ҭg V${5|Y-W8\6~lxЦmݹJdޚݯ_T7mFGesPI穊x5+Dkڙ GQ$SC=[.Yk kAwINwܗeApi\ N|ujђj/nǞ_}ӝd#za`pgl $=RTxz]y}jr#>U(ɑ-d+5s%ie_dwQ%VhZ11ƒ\*ҥ4gm=bt-.B:Ў/̯]輥=NJP/~d}Plil 8ѫ w!XPjyV5!MDzWn]!X}OBأct 7Br.tO/!uMZ 2wG!ecq=Ưkԋ3/?ỹx}[>oYNjEk!`!'Ç_ڿ*2;4z;z?y}wIr>1Fxq<?qX FҗG\;r_b H~;Y,18?X7-*UsV,AWڎ5S 7$O`t 󈫞I5rl`n'xF!;Źwnas{3|oyN g*N¡WG "@e{9:):gkPbO p0&K%XC sa1zL[A -rlM^IrKޘsV-Wl,VtgfJb`>3~gHcO!$cby_⌥ȟ֧OFI ,cHoƍK[H?JRC%b~0en4CCC0z}h4)ۆN?~%u$}-*A|GcJ)A>AiPeL0 yڳM+7`zaGuU4꜋hKˈ0L#軷p\hw+MkaIx%S|U-R#JˆPQZJ]gUJhA4^PqQT3GwĎnnYofӈ[?T>4so2Cã}7 =QjŸ[;~&vy\4$v lZgG|弴)ٮ)%\^=:BHs`qۮz{Oieh-(etU nS'uwj`n{8~et5|XLf57}0 S^t$gCs^DE&<fo•ؔ%i1YDxujCsIPPLSWVc.]\ R$~H ~q|M1~LZ}wrW.zK۱Mvr>+;nȚ3&=#騐ŽХI|o~'ɾ*k?84U^& I zR `[Kə։L/*/)!5{aڿa3Sˬ>5kz<*y5 )D]|΂W!y-Xc 'hkaW(ybi%?Ѱ[/4c4wvΡOJAXXcIJE}vڰq%!J Vg?V8*0JZ6f}qyfJcW2&+g d1Ǘsw4ξ}%ԓF/qb|HD*jأ[}e=)>?*vUp#5Ŀ#?|gp37!-X~}6R^ٓdDpeԺU0e#aޯa$8&%8B#I0믇k1Z < ~T C,Ha9U㷴)jLSQ[]kcoAc?8aQ (8[u12Y.t#I] k.n}iىɩ%R##E_E*o do /;xy}k~1pZ둪@?KxwQ@ٴaVR}cyw}Kc#jRw@sz<'A44HcHd1IJ)ٶ}w.׎I5Kc bjdwk 6|nw;43s\YfLݓ@>pvʒΓ˙TC![2{*3wXP֤[4dGdNZ,ժ) .h[cDJD/\MO5—b)*bIױLn'~zV997;E[Sv{TՁRx1`\WzaN]2]󻰶Zŧ:޿ F ئp*!Lu6[g:s͞fU{,mi.uؠ!r)'L*-~<,Q+M:<}L04aWZ- ꐎs!Ad(G(gkJ$>!Q=Y&5 rjAϠwO'Bq h,hk<;HW w?kFY϶އ)[bg va~1#1R;bXlK%+ ~gpƖr<J!Y?(w73y+jk,۝k"h2Ig=REbHx<ӛ~H18/ 67,_|yO̺B|_M[uzj&\i}\\cd;і<FM`\խn;D~3Z5* 'l^ǽx* 2b6y`Zvϳz{c8a-߈1b!+z4߿&`,去xN8֡Tܣ unY o5cr~>^;FjFc snU(Ar[m8{Tkli2ȘaC)(1^.i cU.c'Hw5ELɥ%k\ Gb0x,KF+j{3T>3< qH3+sx2.>D>"ϫW `?慈Z(̙N7d8 #<ݿtS1o*}/4%'EAYLOc$3B"f,Ƨ@=D E"W[5Cy (!ѳ>A[~noMR_]]cQ&zfB` #0 L΃9NtcspJ>Şh_OZBKaiiUtY&HWҵ˳^ݷm!7.qM{#rV޲L.{*_]}6«gpI < ~v0o4"~vd*`moFWw`ۮn8^UN2O״"|[aIri/L匿n> 6S5;1 c[rlLʐ;boa6E0"K t6{#F%0ve$m 2"ZHc/e$CʭP8޲m8M1}Lo|0:K~!D|7hJUsew",B%;ˁ72i`nC ^MŗNN5]<@rFSC,VE FUn0g͂X7+,ӸagK9NŶ<ZCAӕcle!?v*y!"XE;?꿦*F.( f6L='yKUfs'g?,i~} xw3l{vo9H!+_A\7 מ*JٳxR%G.(byk ߃ ts()7֜r+̑BzphR{TYJv| Tq騍ţ@Χ,C xII,rkDtLG6,9^}I5==HWxL82|^Gޡ{%̜SPI!GYퟭ. ͊"1 :XsEoYQqpǔ*FzԼKARc-wk#%9㣁δyUXD\H=:UۉBh_mgELeZ,hˇÀKV=? P1l:}F oⶕ|Fr`qHv9/k ֹ" pGڊy?੮ ڽq!̛ѣj$bs,jR]']+$-j&k;+=x sa!N .$' !zˤ IE3f}üMxƕaX ftF$~¥EG F/1"w P0A\&|.Tr˪9(ȿ7^ʮ)dZ o\ F;'bj.o>E6i*B:{o/xN瀭ihns@=,_V^AV-m'A7(\,]t,Ǧ6[[#6ۭ/@X7Fz$֖k*PB޺mLe(_Էc?z^p^gww||'6#˅Xe(z4(Z2Bc菗qo j>Rn !8NuՐz}dDYo-"a&f#f/8Cjt{xec`-iv$ҩFaʎN.28T_= 7:qY r\ ᬐ뗢PΞJw[giɧʘ҃*,5pFL ms}L%S N2>TFzژ Fxlsrܺ/=M]<ƦV]~f T8YaA: _q έ+BNVz,ھa]0(PTLӸf+ jɱvW΁7ǣ#cs]D%4!f0 ǵ (d}=^UwmsفN.T7v|Lht9)UP_ \8g_B7R0[, QBj+W$*&==#Y ;Y29 f@IcD(cGhU)9y{ҞV.CʿK"9D|^6e1(a@S=+&ʂ >>eǬ2L7% WdL8SCsl± ڪ]u|Kaiy&ʧw/_Qsluh )LJJ[fL8\JbZVk͆{C SFq0ݥ>0ѹ+ǭ0KݙŴ/VJn6p>`00nVN+8H}‹ōrEmL!FTO_4IDŽ!@Zߟ}.8eYr {61'[ͼ|jњr0$v]FL:v0d9_cq|5^R/37&2$R_ڨ6W4l<O0J@?l*i\Oo'HL/ළn L8HeXD#|Va3dH?F\g6m38nrusMh~Ѣy`J!cYbftAVf9TPt4n榲z|STMiШmd\f}3sE)>,[9ŃHR}2&T8v>{]wZA-5W>]ߎLD]gAʹc:oKe;Y;کeNxKar@cT_'6آ^׵RqtXA}d&~(ϲNPqI>yaT { 9e~_WP. Pb= CND[Eho !^|1'5Rq Yz}kl]VST%ϳ ZzxQnKۀp|O- a٧۠0r<^f|,'H*hQM֋;CӖ8J0Ɗyp@D*ǚ4b#[r/[`O&NZ`GCc )'eq#Jܵ=h:ܼ9/l͉I|KP z*B<`ێ*(|iJ|g'Yp(&XO?R%'ʦ1^Pw#|^K՚ٙ"_A%U >oɝl -5BL0LQlab,{vg;_Lt@Z0iʚ'Ic=8 ~)qSp Py^VFߡݑ5ކOL zThȼ@|б(PerawO76/z4x.YPGN`\`T9^dÌ[p;b&VzJƏ|- C*Y:G)L _ҍ r)h6& a;2ȃ#%`jzq'L iPtJ4J˕Y0^ K|4Zw1NҤ{3eI_>Lͤe9nYx%oxn%,6c5JqC K`G90澨`/F*)7O>5?Dn^H jv+R* l`.*olHYڝǑy-X|/« fƺ-GY( Z$n/9n.q(N4NJ3;TOEjHȸOMpQֈˊD[>*ź_n48d*X/.Ŧ~]9{ӥWQ>LjW>I-ZDe53)SHpueq\Bt[@Iz>ň۠=P*X{G:?KSm?WneL+ZtOM[o&L^S8|BymKkTwؐ5Tf%A.Gndp^ֺRuy'@bJ%IU8hA 0kJMbCN G23tG \Ws%13㼶 |~ ,*2S7{]'$AA OuӢN٨M@3D-Piy:u+Ni3$;sk%0]Ӽm;VQI|bY2h2DŽz;$b u!FNҹs- 2gs|bYڮ_ɛ03A_̙iИM1.q.>͈D~6ko߾5CH7ύّyU .Ű6ͪ%5\}yg :>/~~.D\3 G;& _&VPJQp vcA|I#̓,Yfu#ܐ<+> hwړ{-d([n Mf%`sX(0}`!ߑjO7hgR5S ÿdC ,X2o3 NZ;_Єx@#oP= &D擞I2#]̣@{H pK%dBmqgy:Ԧ>w<T).;[ gr@R| G884kW'";SCb>Ú4U}}Aj D@S@Fo@Ӭ$/'Tl8 zb@Y_ag~mԿxع:7İbȐ^Y搂&K { {}5wpw<^YVz? :} cmLGUJw_E|e~9i#Y6>㵇߂a99SE-ſTLZ|M 4|f 9IyW.d]ʮ6'XM^LU\u+F, M_~j2TU >,4d1JO9څQ O{5ǘ'Dt`5mw9NWWejMi*9á|+ۭnȲ=~'*,=gT#بƌIW<0Zm@}pR s[Kxn5? CI,uDNJGbG~mKw.Sc E[*[O3 i#bɨ2o¸;4pO-_%5p7!<ɯaU,+TF{"܂uqI0QT"v =HOCO(VחrVE% ĵ{̓xviCǤm.%P=hF&Fϲ%_;*9I 3: Ʋx|s3lUv?)vװ=/4S[(􍖹v?O{Ϋ:+M2UhTG%H0:GMHpti8?;3`$+56-{:b|&]"yLӆ\狑R,',U@譔ZS&8َ2? Mt6 A|ӓV egs*R g qq& 'ZϨ}2 ?y5Lu02UřeF֞Oh7˴^s9_b __WАE/gÝ)h30 Y}Df3 qۃGֿ&NzV:Γԗn+J?X4H[K Y.=tF-Y'Zť篡xEt'd؄c~d ƁA@L唕|eR/Q{2{n6!9/𻟫LO$[?rpa¥qن" fQ8K#g(\®L-B ^CI8cv <#\jo>q^@rtn/7'$QiMc%j Jӷ@F `+TxK7jT^׵c"sd00DÞT EK*/MA71)?~5>C6rvO pٽz@"zV?,qn\it+KT7! QF}^{Z\u?̔wRLRg$rM*@jSCʠ%lݫSZz{ '5Q~BA+ S~L Ӄ{UPo*䃾*CJ1$v'GLn9.QOgi{Ћ'y(G4!F5Xq]64hS`_[6j82FϷ+W_{KR% yLE-ٵ;g,`-6u, > \:X\5}$$ɔRwŝfr4;O=L-+%PA z\ uq@qR.̠֫R_ * -,4kQ|A_d%}),q-`Dac v:>m|Y1W > IWSaG+^UZ|zH13ΧuIT:R=ZXd řG3S\8RɓMc]zQ:%4b~)`S.?m8C֡7x4Mu7u}6a:1z>u#+%CGH3@=ϐ`ȇns18bI{c> ~k3.Ĕ-& cNpJ(˳¼䩜  QVǷb^KwC&QR_ fzƟtY $7>Qnԧ>!p,4?.vU06$DhI}|VR2TӁcy C#/{)<Ӕ )Rh`5cm-Y%(V`Q/hRђ{G7n F" ^}WwnaQ hntb|=)WL,λi=#C^zx^wuD/= 5&ԕ1P@#&Y|O"DDpGIW fcR91k2׋Gd)̤y:0]++уBkzTc&U?HvF}L85: (v ̪wңT􊝛j{VoJ+/t8D|TPa/`Q쿇8T8"eǁs{ ž^KI>Qƌ?#(Nw}-pju;M8bG Ըtf c:>؅x,7II|٘/Y]kiTbeݭi6<yu?YN3H[/~3Hi^0p+}ا&1; haqo @$S{v|WH6pĸ1 aY w'QG'/CyC"nx%U!Z~N>m3|,j#ђi6a -~cb\[Q̯q__6>+{bŠŜs܌>.7cl.Q SI RlDIC/zpH\0ü7WO\yVеϤq-_żIvl4kVk^V-#$0?|0IB۬ "(Tg=݅C흜*n?%77oNtN1pW]PT75+1@ NWo o`k{Duvmŀ*ߙ SG Сl[. 㞧=y,FΦ9GdGѳ3hƢ 5BD|E;[sRc^1"{Ԭhxh"I<%m>SYfyW8ع3 .>rڝmD1)c{]Dl`|Pr.,)8i.8m_A!9$'n+Kp%waH퇰pIUMo`D Iwچ_I c|Gxv;WYo[.RMGd";P󮠆?l-%frz|_?3_F=9;-2 מ-w$GD6Lc,VLFOf/.`E zEu]$ذ$D䎙/(vk'`ԁ_wRjPA"PHp ֽq^OY$_Y|Y W2kR\c|WB7X~ok*ݽLYuMX{24::O3Rq&ʫj:z_wk3CiWl+7ccDp!t1BW9,J=`cP3{{q@>9SN2][8l#vr%^͌T|\!tȌOqJX} 9fgu,9n3g1H{ O}D gb4VY*9wgv2 xY $ 0DJ&{}^^+/-F  ?@~-8=@0 ٯ+^?5{V"/$WGvt& MAn)O x}[@.*u r5M]!}lzmWi搛 :T䤙 O,Q:aR,_YN׳8&ZM oQ* &! Y2M)%DSΉHnw iAEfO4쟵>B*.uc_߈|ĝe\SӾa C-#ԝݼi]Zle$2c\SDeRB5Gex&Б՗ѕH,f*Vn4Zv14[ ʂ *m iS &9.֏VQ) v@~o%v crLLU^Q(q}rǮ@*|:Gc߱T;#{eNCzc߻:npTSUr!_M^L=36h_>[;)[/ h~7/4~:8<샏ei\` tA-qg_`_2Zcن k͎D5 ?/L])QϹVQ;;e7(oqbL*/yljvlG8τ 7{7 }|A>[*{|I/B=XV{go[BL9 ֨Gkh^_ wmߏnȟS`|k TToqg͕HSc?fH sCYVCQYԶ7x;ܮCWq]:I6pt"K{ [.Kr' |ȇhB_D= `Yt.lFKfOmN)BGEPCE1,g:- v~t6#gS7 g݇~Mˆ=e#LeJ@iuaJ \]9ap*(~q3h˷n63p K5_t&rW﵋`OϘ2*⊏j)ӛT.Œ?Eegi b3SC>|[חa|s8n8#kP#`OB}'wVoJN: iQa,]J5嚟6Eԕtv4$"&귣E=fF4{՞BpHܝiWꭆ_]]\#تi\%5 mtKz{sj8Z2?&!iu- Lu0,k% [zͺ/Kwu<ֹY4C>c(YQQ{/e?RE%ۡivjEwxN Sm3tl хMFh_ 7/'Hd -%#*)uLg8dZ}]D,?W:yFx*i?~?`"DCw('p/bhEǐAjs٧$8(eϤWd^Zְ=R/9c<7 <x rVEax8̠UDm}O:ԥ"xLŏ߾qrUwY9|%WYq6RtKꭧZ nuG#/,2vؕ!\zaBVC9J1p9ވZi/!7J~Xwo5VhwuB7M˴qU}JL/F tvseOc}W]^S" v3G6PvږC߃h! r4uǤY}Hut =i\ɍ |Û?`Mzk<{|} q||Wt(lxCͯa*sh AD,'@Jɞ6A3 3 z Jd0ozO#|>U)x5W,u,_=CX ?El3m*q\6*jJcP8$io HI xl@k_KNpT/\9 `j)&di.׷LK#l+e'C?$@e}9)vaA[-V@ >s>.)154=H. yw˰9ȖKhޓ@5t^.:vQ`%6 3TLэn2$pȬCyb_K]. (;aJ]O@qEv+ 9dl iR7h0AtMKY X6(i%bQ n/j(,= PA5 㠵D 'dr_p6P E$I =zCzE;5&W~=Qfy.kH([Ӂ*Njfɴ)vyC_i*[;]rR [OeI/Q;/8B^ͿD t`ywC!VB5iԖ-"2!s#{XϵY_#wmB> ~UW/eMPgW>ڈaϴDSQSprb*;~ iHcʊicǧJA!k(6ҳ$5.k]މz!s7a4I-=Ǧߣ~pp繀nae OGF lPP!׌bIjޠI0BgmhOSoyB)uEtѭU$E=Kb5( 4<9l:'k8w]橡`*QbHl-mQ;uWSkm!J b9!8l{$CF|V/WVW^s}Yu^lV]C>A|JίHapuM񦽹31XF $5#J3Z5\~+T_W2ſˎpkc:Yv۲ȯmb5 #\FU(IL_ˉah;BO\* ŶxWםC:+4]T%:i,ӛ|M4~12d3N.15kwصAOY&!lHgaUqqr@nxϑQ3 _U~}KK? oA[7a|%&Dz>o8X۵`F}Vb/ NE"4й 6g=mx2HoMOcFV*;T'-VY&5F0N:@Ҷo$N>"0j@)yV|.IEG\RX N ^~WzйTE={0ꇒ L1 "oJ0Իx_ 8$Z,5]rg u<"NQo,ƨA2O>k ܯO&GHށ(L)SyyA %$EKL;seZB,-w>[DO>{|KW`7OgS~ym%]Sj!zeAΖNt;k:Uqf>1O/X}O((ۅ{uB0y,oU J +73,;g,_tZ#$0xިHvL a$6}(Ah;|ymzFź/U?4u?}yfA's%_KHEZ^Uzaۡ3a`,A-] {5,DvK.Xܸo5ذ9Z}AO@Ńm!2V䗶*í iD> dܽ%%y9Dz$ϻ )ʛq%\ tW޺+X\ zL^ ƴc0fQ%_= 2%_1lL } *BXV^A8f/Y@ɷI`&?<\c;[#IU+pŌl2;b4JV됶l_$HUQsiWZP3 s}MPr)^f3xn^Oi"l+# \/\k4恜h)2xl[g/Mc_ Bf} Qԉy?µOھGJq$fF+pU@3>0yJ&7w#lzoK%UϿUk;ˬ-;S6I:eFI[g@z@WMw|CWoMNxG˸޺:ZTEtPԝfcf6mי^m b64)*}L{Ճ9[XI(rݵ1@w{x&S8+) 7lcvX6+4k,MeeC,xf},afhs{?;n@BlV>6r\&ۭ;<9%nXrbBZ4:n4ʌ۶S?m&UAjdxӌ)7:^=CߍJ3<..Dc7r&[5ӣRvߎ(L7l#jRU+grQ,Wy5]4%kӖj0tl>ډ ׯ6Rg/}qG{M5 HZEY3^kdn,z5/^UzŤZv k}Ej6NfyFWU񳊍=Ş8lTWmviRfV\介\0FdmɪR+=F$HSe2ڹpxHQ lαy.]&/U8O܏2l.7YY`Mj|gQMS7o~nDJh cLx'eHpS ~#e1&RqZhZ.F5jm<9؛i)텛$Ƃd1Y-1|keE>y#vf]uUPJ;`Ԓ X3K;B^ r<]#KY/ϠWUl jbՙ&2h`xќwޡM=;`VjQGmp EۙFbՍ7\=M,lN8H,*ۣ!Px/㸑,e9{,bT.p;Xv;ư<;I;yN=v6Tu>nKiAsRC(aByV9EYpu24b阚χk QɽeXq~(@K(u͒le b>>σt-tUowƼrgu=I&7Jڈ4Ÿ58k#`v,+a;Nզ[Cc jiFmATy&4P0Q917D˅hdU<[^ݝ3u'JX6Ou"-iqutS)͔YQGŸZ||\,:1V|IWJҗ [0ZmZ?j2E?dN Y96=lXET#~SQHMވ쮾- ;hƺX]s5k[;vP)g}-};Bwؑ8w5ͬ`V"FI󸙛i4<#mzRgɢlH3V[ZA,M ΅X2f|ƭWzBPNdα؜%~-^mm6EHY$SOJ}-{qit&͢=HNl?e#gG6#He:\$e\Wy>S5tFYCdU}'[t,2?^̥ @}EPE1A#-6kj&G&bޫAQ %)}7Lڦ!vzk;#Ӹj-4΀?vYJ*ǵ1_Ucs͑_xthJԂv&5q;HF֎:r5-*ٝqkPrji?a׫l=ζThoT5.x\6 ,mWFԓhz~"Sw0qݼ%{~+#,7UP4S[wwlPŶۋY,Q`uRyu-!@_9GQ!#cvZq0)} 'Tvާ^/+Lat4 ׎ЄwvRm!gl&x(l;52jѱ>`GQb6ǩmTlRV c@čZ\u%]Պ6AQڸz n]'1RL|}:m `K74ݲU_g{a=CRC6u08UvFټNΞԞ}񩯯}o7ײӎ3uIRrP/g]{5[\3IK/QK&! ɗfp(,iҔąftůlH{r :{ng ``I0I6U%9Shwt6oqNgfY_ssr'pxg &Z7b骀 NGƷ2l2 cm1)bTyly^ߔj_n󠌦\ϾuwnD٢5f. ] c-tGQa(a,Yu~\K6άZ%(q͸-K3bfXQ8+)ikX9FOF\_s!}4ÄS6M\W &}?Mh:ڍSc?WF_m oz,%8K$kmCV+ChE))6[ 1coھ7ӪM&.7D7Q5p[7v`c[xyZ55u/QP |isl$ t[ouFa o@'[u𣾣 W:hGcxG33k+ܪ^QM"`F@M;JbiZIi-VCuμC{>ZOzp"2<ȐE,yfA5ZVÞc=X(Ξ-mXsw+a0Znָ2{wM%Lcs _raq>vnX$cHdݶ@ުk< fA7 uȹJ6nE R =NdTRΫAUYo_U]SWu๗g1>)Hv%[;0q+^CK.:BVh4s5Of4Gou'%.n6詓T%c˹L3i;V:tgF3?k<= V{\uҷ!Fj>t#G)H ^Y53\7sc\.*;đz9PKYd6kz[V-@ŤuMxy02 P7[ՙ H{ܐkYmڡx!69Ym:JUs*bAFj^9g;aZЃv8,<%ebKappЖ<,^iӪcѐ4zcu+z6(WҤ;oxi ډ]cVQ̵f4ha]6wi4Mo:_i=Y0 4%s[)i%LʩfضeKc09cAvbjKͼxӲe.9x|D]MQ F0 :a{14'k7ήE ω`;tYD-ϚOif ]UnXُ;R<  b8-`Qs"ljУ6+UiU2).rVFѠS* E],G{Lc ('qjQ9wC^~)ق_rBg3f|2 48lI[WvzևRRF{3c2UNxߏ3za+ X9n>҇cpxMbAXza1 q)4K5#9c""H?"_X@dY hI| fBxEYB`^@,/j )r$O#^扌eY$ bVF_ż@[ߠ9 qS@lC$`N$z@09nʢNa,´Ag14@]6X 3*hg%0<BLYZ"hȉL"A/E2J~aJke?ABߠ߄Hh :K{qtx+(S +? /*!^{{xad4?[ ȿ|@%V 7J@Aҍ*ـH_yD&Rtд~HooF"hOQOE<0\HyDYETa8⁇$/X",4&,=+i,8D~i 﫹w%0QG@K?i%^UMĕ܌ Q}[ϽS1h1$!Ù Me$< PoU~EA%͋_dy?>̤,MA܈#( #D| Y5Ņ 9~ʜ]l0ǟBCg&4 9$V)!0 [GO}0,`p-qx(S xC!N`)xE V)D!H~("Jd[)΢=  }[/O2xCgmD)" ָ?_Y CE]~ɂ( V(CA% =9glv(`&:0O"x cQJ60+aʳ;sٞ?uW$$ȳ3%R w;S+}8nѾn5DzwC5GV-ฒj ՀXQn}$ W h?$Yk|O6O!x&bZ%tIH|5WBJKG+"+W@'p\.j0zV*T/6Yp�HqOEl,|Oe^|4HKt~Ē'{qaF/e "c;;'∂M=Ȅ/So~# d *< wdk-I vi ^ <ɲH$Bhḏ3`, A-@P|)b}@R_"H""n.4W1iJ,R2NzrsLsp_4 }DXE AH4Kpŗ"XHۦJ'"VS d@܈)1,]⍬]  `Mz'^E ?W :*#,c,""/ yud=,~I[0Wz^&J q$gna^ rŨ}&@oN's,0>tJK)-8"@dC1Kcx`X 'B& 6"(cXCcViu1M=+ YGtg )zdž^=bځ<8{s\;#F8Yg8e01_)dŏ0U@7@E/P_pk z! A3UcwSh[ |%&H2<@m f])n׭iYQTR} g\{'8Kċ]t̢e.( 'j6u߲[~x~KH0Tb?`~z`j_I*8ӝ9zv!jKѓxŁJ"+S O#e3+}n#d=h>fӯ_LBYoXi@5eR9\z D!.bO9SMTgJ<$,?$2p3j~& by +p,GUIwH ?$I@>J 8$y'ֻ#A8@ِɡ!LW/%=eE<+\~.)!0=J\gWH/e'2$ 3Fts K@0Wz#qP ]eK-$( K|e(CKЄ,};.p (쯢=.GiӘ9`2#]8D 4pkP@%xtlhW"\>ڲ =HOɃ, |ޜȋ,_dhZe[,U}Bw0A_IXL1 &Z r|!TXo.51E(\j/]Ša`Bu  !"wY=Jy)9 PD3VS?X4?P&="tJa9 @ @:Kf_Q/U ĵ"_9]<B>LOsA``a>tiQm(/{ kU@eJK"SF@x#:N_4xQ!d:ҵ+O3Nny/C<aD.hʨ3K`"(Q. f:e |6@P,e xI~GjN%>2l݊NDZ&>OLr/;$Y<}G]Tl/pW&.DB D @E'=`]hLS$ѹ^HGBɗ-0`Έ@<RS]eY~Tсbzڿ$_55/ e"F%[ ]pѥ.e ]xnfk+G v:ܣH<#]xV7~e/Owx} ߿^ =J6_o ؋^<QUx*[[Jx-O}*{F?R\"W_]wF@L]1ۉ.KYuzfea@\n.7kd79d7v(|dVI 6n{[ y+GY|\qZI=ޕ#Yr^i)s4+z+ ;UO-˂o^ܻqKwS, ~daD0mNW]%i Ig!ch_Nܽ2DһFAKg蹏q-pΜ?q#o4B4>.Z4}XdYwXp3e3͏d-7'{y)ǥf1%AA4@=D; wɳ^χ G{ {")}gw=D"H'Dh{J­5hu;VUxxw4E՟lwBLto~:* Kˣ鮐9ABoc}rYqD|Z#(#ИχM`V~OHh,-~c#D_Xw?=^⾇Ѭ( X{ύ 6c3x!l8D!@ߙ`8tӋ;/Ѡyy]XJ#VW 7Y#^{ֹe; H|w!I=`rpM!bs.W86^D12z߿t?jwK0ZwGZS)4 m'B93aLWx #cѣt _1M% b{ۤx0w{{NrvcݬG3?_Uɢ/]!<5ߞ{9W s>3wM|.{o~Mdjy|}z^H&N|C'zΐޯ ]Mׇ GQJ"oY{G|uOଛv99-.'֒0 et(3A"oO?ݣ؆cƒG!= ^N^ ^8RKɬ9vڽmI}MMp9qɈG!K&-Ms ś.$D`.3_peQM'"t5J顲"o- m]jQF2J_Ǽ\ϰĂN.BOWtg|`[7xu#R/j-;7L3^Oߜ0&\0( BJϣ忌ŧyh?ޤ{h*X~E`p?>r9bVxz3O.ʯ(%_A>\fQ JAӵ;3{k?ʕ)|jzt(V'Yz]4!5P%bza$)~'"\|=ܫ)0ix^`*?>7:=xee,th\`atPp{Dޛm~9^J\A1(j[rp1ty83YHC&wߣ?st&_m 'Fnx!ә🧂dƒJwg|Wʯv͢>/](˫Rw> }u U<˽&'/ܣ-0/#˷L)%?Qe& ,tUq14,G}/Ye"\0c?yf/qС׹g{l.,@#e>dg@^xgI%ac~.Oyy+G9p=[o]JģwX p9z`LL,/~LhZ!OA,=9dvIdǒ,/DZ}؆-)?&+$c(oD`QgY[Kw%Y|?$˓O/ciY%YO"_$[];n&FkO-r/ZקP#yo?-GOqҭu`.xrrusNPvS|{WVqvWŗ%0ߗ#W<_τ] iϗeqk7/S+%|I.5K3}-<{܋o.$Zcx'' 6)iŵA^<׏\Z{W/{&WVx ƕK'Y-?S`Քl.+n˜ފ2z#ԋ,(Z?]D{J.t6& $pf,ɲy __I }">؟XZCzǻ^s>n%SǎA:\)HJ44Q*7WԞQĻO *4Oӱ&ށQn7 YBejme֯hԠϨ7mOW+KZ~/jb)3hn:S~!z׵ބǬ\S^j!;1ݺ;]'NLDԜg陳\QZSaOj-dFOT$9Ȣ1Du=u,ܬVʹ;=Z֕gĸ^MInKM|#UJQidȘl xt,EЪo6qg\_2)zznU\N66p2JnS ihjG6Q<;&㎧Vt?+slU8ꦵ { ӃQ)N92ApV0aL6є9fY\,|#l4S6fŰLɩN*bV¸ ص-0k-U|l~!i `5lv"+YE_Dsʴ}r$uC zϬ)FJDVm.YXqkBF[uT1:#Kzw`XW,Q0=VDOҮ4GSfoڶֹ7A75n!l-QLpt8~6#i=N8׬zgsJf}vڮ(޼qJ{oT+25NS1׭NZ?*IOSn,{L|խ_ OB1dc{F=3A)LB/;lye 6IC¬%ijݤ\8ZZ탱5a)n|ÍS84#Oj@hrd:SroV5ݕդZ ҍ䕻)SҬQ:L%vޮNj0Oέ[ Ȱf/ .8 ,u#SNrQ2|՜OwZzw-Fޔ֡NC1nu_xsZ!TkY [MA!5qTUYb Ƌ:JkG:T':bHv=fNfKdfj^-50!9C-%:vt["wPo WOK蓊ܬs[;1[ 5VYiҭ =k~:^j4=MKf;;lԕꕨA|Nfroz!։usob 1lenZxbQ #ը5P5N}uo|qȚy?z 5bGͽa۳8e4zEx _s8 <3qdCuB |ջՁ!2+lQ^S3+sWݥN,2BgGU#Nf,lF2L՝vfP,>2͞H׷",Ϊ 1v@QpaZ~T:B$~=nsn9H#77ZqTpÛ6aѱF+eG=L[};ەƳŁ;3rXsQ.Y%2%VP擺xʷ-zD)ɃmN|tj6^Ā'A`ƽl&q V>?vM!5w{:zImia6qYVVZAy%[~ɚ6n'UΙ6B':ިI0ku qk!E%[#:m2b^r^oT,뇮lӅ?塦Ly-#*t/N~h6L]ǖ@7G$@8‹Vx|};y=4EOw>}* k? ┞[j?'\=HV!L!'mXXgT2DCIg2Fz7q {bw!--I{` "Hz-wB izlpŮ?L*٠fR Q67 k8D)-:]lݛwD.|_9Tb2Ò(5i0%]lf#eCCWr '!ɏFGJf=#-l55ǭE}V(7%r4?=hT4F`Trn ԇ8w|_!⥝_\͙ ^ÕFo6,R=`^M'3(]?MI'n7._:ٖ^=t ZF~RhoOT+j'wZ+&7-F ?/Vz ʡ\xu @4{BG.߇"WB`N%V.^b`iM]r Oƙf?.sA,$`Sgzu-$WrTX#'~]Ԁ,XL+h jʧ%<+תL(7Tzz&1g%㘵l xY09z<K,?:NA+ qq9X"Q30E#HGl{+S +AԆ75VK܆RoIνN|c6YE9DDazw2Jv,jNB{M!iDf5Mh -6$ii.7 \>;GQѧ!0"n-YV!ݖ%Ԝ8%H.+#C@AW!wigwtη;~9HjJ]L+6l3VGʫO 9"i@2GYL-cr<K5c)%LJDkw8菰RetT0] ݒ頣L*^ZH5em(uAńh5><-\TX#Nc=r輪 !YQxcAqU;=󓙎 2_Y>WMD\py؝X}h̓dJ"owvn?s>4G 7Pl4(.ݙl GTB<.:!:5q~xyQO7ɗ$sQM5 $ ߿эKerfE08wǘ+m qqjDIY=i+&ܳ^L i͞0=^]+U晛rY¾7(->O 'Z`JXҸI$bq)ԏ)Jvjڇh5,dE|19YQ;#`;^ ʥבaɹ9P4Cu^. m]@܏k"J°NΨ=r`nj">#1K=!\ɺGg%~Ul l@c" )M_~9Hk0acO+'\ wR07IJ1xapFc;*oGPeR wT:#z2eNu<نvl6:XdYߣ%w*lU w@=%)oNvn.Q =wn"p'kzZGm[kCp!, a..cXV!}!^H\j8( RqG"4v=^Hz&y?ZvW^|vL~;cKu?S O\)[UTMbS{{#2X-=' j]1fllG5/S 3]WtqO񎤽Q!qtqGiVvCPsrgt6V*mD]A Tas*TP>sɠƚ[~`GNweDIh9`dqe~]Tֽ;M4m_L%{`y>,mS b!=6d$c(s R)kypUt0QslRPL>y{^jU_TBѨHu*^_3 V3ȫqʗ4bؑO[-*|Egk L۵EL)lh ,|J؟aÛ#\r׃r['>cl/Ys ~:O*36PA3JN#xB)p[S;J_y4HRFd6^s %,񳝃ܽ> 7 g;Boq<< nSƝ3Mj0 |! rO57oi-/fQ>qCMo.DNZL8w# k_W+,t. ::!"+&ielGR`)y^z{]/i#=,KwxbJS^:`Z=M_,p%]GSd`*WvhkcDI,8fį2}p.SmUݠ+jkdqIt(R ;f2 T(4l|?D.R)JDRS8*1kmJ+@΋,/ݦ̿N#U}I_5>l~#pi>'WP_z6LIP3#]L{,8Dd(kozH؜$`{ƄYg5xFzlYn<~]@V<˓jTJ;GU¯=5j `I;tBWx d;/C8ϟW[Y?BЃم{? eIR2dHw3Jl2K:\t4ck:BP@@?Unč ),p i4;;nH MÀ WPA@ ݐozgT6̱e“|_q}{u*_ ʤP9;mUȢ-`kꡰG2gF?Sڟ9 eF=\z V +#rGf:#l1DjS#P5' 襼[HIQ*p= 2oqQ23c=ww GCϖN=\\\9M;~t.7 R_] F텹DjiZLJ.{B޷.ۏ&፦"`$uM9,6{];64 7 &&1ƚ+uPJqL}o8YcU R54p{X 7"o5G'@҄<.Q!) DnR@ ͶϙktZ?ó;>2x?$Z(ó MKR HۣK>j'*8"MF(fTæˣ Ҍ #bRJL-s\YP>{{98"4NͥӌM6&4U9'Rp_ocx粩ƺ`VQmuzɆɹ~ӨCZ܄`xޖ{f{H{7ee4"S]j ,,;HҕqeLϿ. HrK.nFO jYLfTtX)oo.i; ȝ9Uᔒ0`=;âϐu[wwye-逛 4dZXV1[ҷJd\Јfj\(;ډ)Oȟr|w mh;/nJ5c$d)9Ez?!]-r{3u x p'Cצ aJk {Ùf;UU͝ MF9#[Э6AG:0A񴙊p6J~ Ob}ָ=6鳃>| 4*nRZ{Fdf a1+Ri:[>&OAuI҈t㛢/7Nf:صGGo5AZ=Geޒ ȑB9a`HŐkMٞ&IHPML,/*gAP r PS|DU>}=hEHHV}I|/*xЀT~hV{@uUFc٢dQ1BMc7y[K  GN>H$KC Cxۉg+Vg1&8If&ł-k,Ú9j)T(\:,Ƚa.I sS@ڸltרʆ*B6ݺ>5b&ƺq7#30i:]y/= 1n<>?|7.ǹ+էz6(s} /Y}z>k"} @MxA}5ђ]/>}PakۮF=A9tWǠM&iZnD"=ب|R^g|*EɓBj?iҀ_[M!.i+UޏjճL2v2F}u)嚴w~B$\PٮJ4@Ň4gu"4ѐIcgUO~$k!xjӇIg/(   ] @ ?%wBzO!15s2A28Y呞gsn] Bߓ8 ie] M?/5\n$QfZW#CY}WRK'C$a.Fn繍%dR-]+dTؖ!wK=28nl(n<<ݡ3'ZOǕ؊iM[ {Ƅ"aUd/2OR ŪR`_5\>1Q^O`!w>P:Z&yzY~o 5h=EPq_fy]9QR}BFmFiT2vd_}B8'%j't_zܫqTϧ }nj1߸fptIƞ=PrTdb&Q{dQ<rI8khRߌ.<.RE~rnD략qChOvOD[vtseu# }mZgNS }.'EL9Ү{J 1Bcbή b&}ͻ52:q԰G7(y:}VXT$Io~󫰡0Ư^ 72QwRNqî"z-FY_W3v!UܜhqKbD~K/E$?ģ~;=GXſoI=btiʩD q0BxngC]EfmfMAtP_ͥĿm޸h\qĐW3O@^w]CO50UE)z[V}-&iJ ~a\6 "hZSLϘCn OW%i>G$ ,v-7BIOkB?( if$E1R)[[xpL{_6EDf[$CXYB~!0~C)òxo[4L *͢\:xx.VͶ`--,wEhs'4*200i3aAOZ޿eT~*E߸WQW7r)l\y6(NsR+S?;!c'y@鵯 UvO{u_I\ Ng]0!Z|(jQcvMK$߶3k}//- Iy:{jwݺYe߽b/n 2<&cjm~/VP{z ^ԷQ*7yS4_*Y]X?|[0gʼKtBS|ܦ>sE+ELnoFkeߗ5܋)gE\?a(Qk?hDYF\zRnY/ ir"db4WTy=\)%Xs2L=ǓZl)UHV.mУ6_JĚy<;~r!je|2fly KUh[LT\.,Loߪ8G(cG-_-D][[TV,嚏>X]5's>~DI.[X\bwN)#u?\8aY6ޗjfwK.C:'w ֲ.ZҏoЀXuB|~V;\GWis rz:ױ!" ?@j<7{YO\=ׅBT,hպ]MV{˿B|fOoPhK/P]˩Ҁa_a$ϷsMiBx:OrGM(hO/oLRbwtNY6KeX,Iq/ 4O;^QTTn3kR+xjmlD;@\d jtQ3e[TT }ξħ1ӏ|[n0R%Vdf}<c8]If%+k!V>`$I\##,[BvO~Y^q C 6#뢠~_Ϩ+=_q,mF%~R} nؔPѓl]?og%z4([Ψeo!ؽɵ0'k.L!_~I<%D[ cN<_}]^\oxrT$Bj#eW.o8>86ݏGX)rUr)S뭲}vbfdyw+*}:ڑo\gƢ{Kp %Rns|~?]BS< & 4w~2vUhnvPP PhZ^<[OfG=*Ps@>S"b>K9IǴFdUe~mz`MUC0DuJk~-ZM/Sʡx^ycۆsI:=B_HWV 2Om>`6(ЕS1`Pw:E7EBٷW sxxa}@{qWCކ6;ڽW DTzZxH/dbf軣6Lg!> 첈?oRxgHŋq.|w'1q0#z}S=:;~d )y2ްL7XxP=wPn˘ain- QkܖV,D,-/¡5P#\sѦh=FQM,Ѓ:mvq']MD!#j|.O!׫ohnZB";Ch0Oq{_0,˯mKvn/&G=QF&oۮy(jҘ@hb `د}[ 2<-܏^nz6C]c<-&q/LE]!@ t>7UV D9*^u -AM\|6υ{z7Zjuh?y- w[`I\*xrUeluvMtތl.~מa<(أ%wfR91ZϊGPP:~gJ+ǔGir?Œ)s-~sHndfZsWMѼn ^g횎^k='p/ 9{FksCA! 0~Q8 |KZj>WdsozTc:-uI^|%&@dت=-tul~#XF 'QyS!4#ͻd=͟.7-UmpG[Uf;|~%XVb2 GT=EƗ~b>.C2Od'f> 0'YМ' ڟȳqgc>ywQ$ ƅj(7noF圣2ZZL o~`[&$/Crc;~xkBHW1Gt pW>AƃrF~PJGQ|: O*<;0)n.2K9D#[}6@NQp ˺3smU׳Boh&QȼxF$FΗdܻwNa+atJ cӍD6˺dTl >;[o ^>S ս'`Sh@;XCV]m3`LA$#))%3bL ϏJ$,7gdП>??)w#v;R Sp! wd/&@=hx5_MhE Ew^7@C1`D:Q9kƱnz>:eM'K1B1(LiX8]dU8}iW%TOFUSj`w3CBhR1gj6 1&aUKxژHBFrD{,4+v3p,5}obE )vH@׹%= CgTs6ni'~jԋJ uwDPglfpIt5ˆe%hO⯿6O;uR2] :mR9)DqBZ^~D3{&݋z=SڙiÔ@ jm#MFcҿ#Nb%6Bx2{l/2fqmSR=tЧDlݿI;Dzj؆ x~;Bf5]֞pY`#3ai}5j$%>#yf3<=q.+bͯbEo?p_ D6-ltF{+`16ï~8b$~if}FB9+E/:!P?[c}FWIKMe\eIf s =w3ʿIvg]JË`[eڛ `5`G!x 2C s4Gk~"_q̄X*z)(%+mɇA{3ܡ";m|R0˪;QA>/X6]%Ճ;.e|Vfߚ=z~8Nq| &j2cʱWv( "`Yjb&jt|1c{tSe@ HlJugmiOvbu;L+h LwO:#~,\{m-dT(KfrEGiR&%}bULΌZ3`KEʯ)a}GMߛq3[r?O~-jɉ$_CXBwy2PA# 0?ImjbE [R5@Q\]"486Y۽&l "Pj/ -0@3[Q[uB{T>/"Z͜WNFRnZϮ&Ir)s͎&JG5K]񸇏e]v\pՏo %zX^ԯAK>0IgVnӌJPՄJ'Z j_@9SD#Wio,\a|E>,\9,#1=##^bOȤ5D4$~e-d Po&~leg֍o3;teMRv | 8!+ڇF6=?,ϲ 4mĘWcfJÔDj@v@9|XwpFv$"w~N*hNĩR.XhdZS2Y Op6Hnp?;㫕R-&c++?&?0w X}7.'<-0b!{~t34E[γ8e$mb/bqv A m0PiP!閱.cT/hhu@*\<&[*f9JbAQ4w4}P|lI{HSqe/:sIiV k%J{%Ǖ$]U`3ŝ;׌ZkF*PZ!0(5]YPw*ngZpqOizf~pZ"͎c/BkGUiP `f1qnuYu]`Q\r6v8l52k,Fd.TĹO͉NjZWMߗ[oPWh|rgt&-n8I_ybaP,?wF3*%@)[ZY4N4;+y=>$!]15xt;/)hoQR!s7['m*~:َr$.*H6;mޜ;;mk绸d# tj[7̚ڭ7EegԬ;"F't=J33=tr? >\_dP $E6Zea2gv |vN2V%B$ឌO'6FVB?oKCs_'q{e)wbD T0]:K*,QsEijxK^LE%M{GnLc}p(s%<%ZYmKӗI)R_"ZD6{N@26QB~UN6jg]jR.aUca-,Fl9s>6=rg#;sPVOq&[!~G/!ڝ}PSl<N5F ,M ys8m$ _NtTJ]Eέ'ARIM1^lyOۙ>" u(ES|X͖gdotD}wk\~ǭKOC 纇V=t8w~(~ A2*i6މv,UY_z]/63 V-jDX/;XF╯'k܋͏!睝.4ڃV\EμCuݤwSsb;Յ[ig6ߟ :V4 L_RLI#E8s_RkZt[֨"-כ"O yIR26gtA}^S@1璏c\\ꁁ1#W8m{ھ6἞gCrso_Ƌ+<0Om$/ ,̶{r;?6GV{s8~=U{U,WhN^%zjnGHc.|{a o4)(kw=Su˲b~vΝl>KZ͑zgh_ݶ]G!>:9hbv1}OV¥1Ju(2`%fr;LwSbM>>ѕƪwDw\߫,Aw(Av%Dg ^WwYVˋj:v@"5ifH'Ok1^{'ӹ3V &X 2+Ŧ_ICV?,x\Okc?68坣e+B;8KWF Te+]KL\-}3=ل̤G>ZWY,qڞYDT[uGs>rӨ5`^mm:3#/i6$ű˻kMEW= ]ߴx{UpkR] |nڋ|1ڳQݞu5.D]yuڼ]7!ҋ|?8jT(`^94!:c-Ȳ^fxTkn鹙:4PƏG|Suhp8Y緗zݏ%X-tcv(V:+H';_WӌHjĠKuױ0(.Ԡd$7ZKey!?`lV"DOʹA;STMBJE Ȕw1dkR31ttӃz nuVNi"rSugs~V"^#6<h/2]/CQy\jc;?ƻ*Lq*ڇ_:zJ}CkF-JK9:'Ym E-KMgU- 5N1XOu?MKDjG| UUnFg{z~-՚V0i+kdu+muYYrj/{&wUc_,sp%ZSqzPi߫1vu?|^݂'[͕?_^fS-XMe10nPCVMMuiZߘj__`>nR5VS7Dg:7WvS؝lN/mHqE#S;.MrB;-M7(-2oxܯ6g^|*}6vYԳ7nbmW=}o*{V#+D"^bԟ[Z5~uz>T+n/%ѯĸr)AVe08vu%1[e۶Ib|lޠbMԏ8~*/4 +lɱyǯy$gxH["RuV>UlVT+pJ&ho5*x:=*lxMmYCC~펳a]},O, `gJE~0 OEp.|/M#n=՛To>~x?ipAǠ,˽AgUR`Aq5Qp*zX[P~^>*;W}< |Q5q7+( \_5>q?*?|?ɿrKeo[VWO~'~k2Ma[w]VfѭW_Ǧ$6vx|أ8R~'~z]o>qlfN䎢oDq3hp|JIQ" V+؜1" HAMuW[hD ? J|3$7911J7e>0O%J7A)p0o_xW.rd>3T ÏcʅR7!8^)Ȱհ4)-Evq4b EOZPa*p *Ɓ9Sm% F֖V QWF5371Hb{x!L5831eRc&L-DMסgc^B fPb߭0oo kaݰkMf&-p dxiAQU@1Ә`KS8x̾򀩗P nq#A{ G[_~ax08952 5 ܈.F  ;!,i_z#Qè-v!F iGC;xl0p?pPl_ 5#(2/(m,%̔X  b ̆y\#E4{T17(y6=c ٿg9E` ?_;` 㤂 A+iPSE /qxWHYDնaI rL` kwcg+ P5-܅+8-6R !i0#QgnsP7T5DV?~U}Ҏ?MAZ+~}ޥv )_1jGTKECd SˀƅŚ* N荰 l b/J ܷeԆyGKʄD[ɡC@B2p^P" bb@ʁ  *en!au:`ĭTy|qx %O Q,*&* ) BVS?~X e`fI<넍oy6/ x ylR&_W ( hy IsBR^E K M7y,0ž/G#?TCۏ˰ "OA.bYkFoø?gA۠@JnI.#tq&ը#NԶ;f*`yT#mQ6|X"Cm064PM; &*x'h%8*naйS")%1I; }(7o;50S¨SC"rgaN`W¢sN~ 4=Xza8 OK8(^oH-0B~( ~y4CAp0uȑ2ՅX}{ ΤMzSJ>j l՛PoΣ0AIi MKÁw#wpo15- fdG62fA(OE  81eV6(?ԡuƆ B,H 7"BNJiPj-͋Lj݀AAEGKk%]+/7!7Pɗpn:^JBݴMB/5IJ~x7 cN!0RsY@S٧"OEv(*U165@tR(3l!*-kFQq5kbk\FiRH;~0*1>% x:7Ʌ8ɰf<% `sjb⏂{L`bbN3,}{Ink>!n'6YbP?^jWʠۤYm&o ng6~S|Fkʔ2e%PQd ' :/SBmdI+ ^yay*(27jݽj`j#7^ee𻔆.W3cdT>jދ Ti@HO*JoR5?}&Uϴϴ K+G@6A g;e[Q@R`*W8uMԞ eveqcC1K{Q+Cɽ !P,p8(?X@+co&. !2XcC>R}fG JJu$t{+wN;'2@ТRlNov2s7JޅReNI/)Ao?Dƫln,#Agy\#z`;/KmW΃~ |&V}&.w efBoM}5>!Oخxe)pN{=r@?F9f'13Y?>nܘ0>$BC/‰A= 5((*kYhM;l4*&8Ѕ04Xx!Q)1+W E\I.I}kI7)}u|ujaf ]A 8ȤhѢZnVoܱUCsį^ىi /6k"XQh߉wZX7R] $AٯI  [{, CC {p^fܾ?>G;?Ώ|W/ҏ{{ w8_nd },,Xtcr/0} (lĺ&A?eț,':ZZ8 &Dv# =kքQJ xp5"vݮV(m-MRkNj{B B6fB<d;!vAYGd;Ile]Qfu`D̦ݠSLPBUkfz f(A-J`Xvv8i;knafIL/2qJ6D2X L&Dۚ9"fU4[7#k6x`i/n0ȶ{ < $*X "µNw6gQN(̴ஂo v &Acu h-Av C(myBY[b 3dvrTfD0OX8!ncRԂh%YF ߗ/CE0L)X z`faH(a~Zj!IF$vǿ^O&QϬCu0?Ŭ0A3Dʪ67C\E۠Xa%БL!Ӄ䩊aMDIpnm۶wfd09m"A1FLL!\0 ޶rmUʾlQvM-A$H@f̸" C"-@@, !fG"H,2יI3n8,x=mw p5hG0.)e7 l2j͂`=Y_ e?̛j7_li2Rim^(EvMmt*6oVqimѿ[}`}~t_! ׸]e1L0mS3!KB3}"OϥTO\aaݮݤhU跅ElRGVkАby8ڈ}}ٜd t| g8|rV890lK|q 1 }mB_3G=5fK%Ԣ8퇽hx2>e>Esk%HM=_Z ^'«S;_m2;J턒EÓJ0oDK; {groܲ~eX!f#fh]0^vmf< U?ݫB[~ $m! ]iԗ,}z0"_\<49?10cv)5.,\7.b#G=l2{؞ՔCд?2MJ # ɿX?v-PϬN"I,tpPƓXؽ_œ6G]@/f!1ى#ҮjLc``oDa,XdaDܱ'8 :X`>5P{ɿ 4'@f5}⌘rzgoX,/y8ܱkC>! f6›'WLQ?:>F304jЛyEÙkm b59a fw_ |f7l޿g>0o 8̬'AĔپ̺^ϴX}1)Aq \iNJfMا^p% @R6{a"U@I0ϾRUQ?U_ v5ÝQ>_ hMvF(zT8r?mYޔGjsE[ k'  < xDF%wMϼ3VPn\CQ !g.﷝Yc37g~acg}o8o`;a%CO^GP@C(mΚ~ X d,O*fL35ӤQBQ_X7/AF4qaֵMVп~7o_Q?iG1l "j9`s+1q+Vc/gkk$;xM߰;@q1u*Q+t/}yfHɈ ʡ: ?4F1?8a'>Nd~TAσ~a࿜D I4N?CP!bVfXhخ37W; 3/=eF!f _7EZi0/~@og?c*W@@>\.cacc]<<>>ڻ;{qqaW=3~%v*Grj^0 9??^{JezY{vvFo~&"z)M~Ƙv [(q@ 4 E8ӂIENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/22x22/mimetypes/application-x-qet-element.png0000644000175000017500000000157111200647463030571 0ustar laurentlaurentPNG  IHDRĴl;sRGBbKGD pHYsϐtIME;1crIDAT8ŕKKOUwu!?V /&p'<|_ёIҋQ\ @AH9qzn,&8$M7ůo{6Id7=Z @&;;㋋ <==Q%bk-iʍF0佽=Z:k|YmRPJ"}jeu"".lᅅ>99ac 9cjqy勋lQ +V$JDI0qEQ`sssWs !\ׅ2<appR fC<|RJ8RqybvvcccXZZB2nZk Ck l6!<@D C`z5jqZJi21qZeffk-'I§v\.}H)R0@J>JZKc+++ѧ?*^RJ|i5q c 677Q.E^/ OBo"֚1i˴GGG͓_\׍>:D5㠕q]:Zi:\xu]2uٳg"8(Zb$bgg ?yL"Lp93;w\N<{ly1qǏu\v+WPTX[[#!:vo&>} EDhHٔz. R*j<ܔ˗/KRTZ+}ߗ $y_ìZ\ݻ nD"wyN!̘~8*q,vﳷ0>>ŋ~LFk}q̍6SSSG333T*,/|[5ԶCTYG1BZ%J̕RXk$_ OV`IENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/32x32/0000755000175000017500000000000011347002064021051 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/32x32/mimetypes/0000755000175000017500000000000011347002064023065 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/32x32/mimetypes/application-x-qet-project.png0000644000175000017500000000264511200647463030613 0ustar laurentlaurentPNG  IHDR szzsRGBbKGD pHYs B(xtIME..c)%IDATXõoG&m,#*H((GN ;gıꭜsıB9 *$R䃂|b*L)NHٙ!e$1ʻ}yy!L|DPp7)@?6| VJ%:;;B447XVsc< F^(;;cE= ]#mI#c1 ,Kx<BFڵkxR۶"@e h,!0Z<uTkO `a)k"`Yfe@ k"bYe+jW^E1c>0dԶQVVVx%'NTo/籺 ia#2;7ϕ+WH ]m~5|yygb!Hd;L) ZOT嫶D®D(R2H$ T*۷o?6X@_K\%1b14 H$BZq4"T b0cFGGy)Zohm%-MK1$I6667cr qȵ5IhcX,  ɐQ(8~xf}}J~B\%1>|Tpp=PJd n7%9sy.\8Zv0hh"ly Bp/FZϟ FGGR" H)}PT*C\ŶmjmsIjH)<c 0G{&RR`\ׯ.jjʻw2"Lr {@1ܚG[t`s]_(pdiH6Vfffn߾=ڒNm,$zH))J.ߺu`n7󇔒=[fF|z9˩Sٳ7n l|Ln3Ƙm2Zk6TUiVWWܜY\\4sUV۽`yy(Z7h?㺮arr2w͟J~3ǝ;w&w@=ض}ZJjgz3\_ൿ;_@K9xڶmttIENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/32x32/mimetypes/application-x-qet-element.png0000644000175000017500000000300511200647463030565 0ustar laurentlaurentPNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATXo3D *J*REA]X! Pbـ"]]+>%`!8·393va{!-^#y9ϼs4Mtl"m@$|`b? iS` |(iZW^93i;HӴ0 ]רjd2t$q7}D^7 ~WR*̻F]O׻2,BH$\|0$6SPm]ເ=C9uFF"MҝD\nW)*@4J4ED V p^a1n±.ZƇe:tA$t!FGGb{t]of&Lr D"묭>X,ܐN"u]޿&`޼y8J%< \NRbH>gee$X]]%"ϳy8,--166F2xGZ а,4MckkCCh-BÌ3\Ŷm9zh>I -H\zH$.GFF?~ L (JQ*8rH/{Ъضm cl6eYA*4X,i=[ FinY>Ӝ8qGu`ssx<=m_iL&Kz,gΜ!S(`vvwzVߓ@6ڵkS)p|sdǏ} C!|\E >`a;, j&}L)|_RiOF$Z9Th>NuxbHZq{q\q$z=! 4\_O]:` t+$R+|Sxx^@qcDvWR֤\LEKR"$ +H]v]Bt<ϳ[;S޽##(PJÇ5J>mWH¶ma\f;@ C2q0l6K6۶CZk }RLMM144Dq{}$w,CqmRJj@Ѣj9-rU*E:B`6R) Lӌ)%&CzMGJ)< m)QJH$y&Zkr3A"uVoE " 0wH$U,222BR ":bF䷱= a;ּx񂁁lfޯq%;֚[Ʋ,Ly!#1Q)2yCxGVٳgiΐXY'~ \Tآ,Q6ByJ)x66y9|!}}9fffkzH&Z5FQK--]eph*O>^VW_P(º}$*QJlhw벼&o>Ǐ-mRU$_ m۷qd2ضFcV&dض-Ӵi1d3[+:帮˕+WPJN,+v([-|!ub˖-޲,98l߾DU?H)64;zT*1;w)Zc&hٱ0W̍fHZI\ƶ-**nmfffJZ ~qP9lẅ1,I~TMuS|hEӅө/"d չIENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/128x128/0000755000175000017500000000000011347002073021225 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/128x128/mimetypes/0000755000175000017500000000000011347002073023241 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/128x128/mimetypes/application-x-qet-project.png0000644000175000017500000002571411200647463030771 0ustar laurentlaurentPNG  IHDR>asRGBbKGD pHYs^tIME"7 IDATx}yTUwYYKB"<ƍ~   "nm;.F/FwGtDǼy13;ZCEۆRAyhb"VUTUfw9GsܓffAU6ވY{|.qc:Z ktSsP(­5T,vmB |~Aׂ0S~:3ݯ~˨&;2..agk6 dB}j2 #. pm ({iu,2 󡶶;#d03YvV<2 !+pB~ۏZ $I444g9^ox(J$Kϣ0=e u%42l E/L6 R ~NT|o-gB ǥEST@4꺠^@A8,uxi/)bawᮋ ǵp?CR{94X(d=%;g̤rQUB!PL{ bn򱸭 iz0)ږ0, pm*n^єRєD" ZLDk =GJ|hyCUUs簇Y qaX,SlC//e-B@, i´,Ja) L˲_/nqcBvԃO>+_GH l( eH8'+ro#i?H&~@ xHDKv" ~Rj/X nnEQQbII k&~H,_kR ,8O"EC8n S* "Y/C 'AWQ,iH^̟~\7邶\BQ B <'wxt| ֬J]a.=#|7.-?J9@.qtm@ Ւ4 HE:<Ķ |A L|Ƞq;%\F.6].&3 n^X"w5k%Z.6 {PL_9!?_Ua=)wDԛt)"ߔ"\ۅW$m--B --aOnQRm.@< .+("mDi~ʸKn@ 9 e1)FB\|W^?-s"+.x|J)~[w{A.Łh"4 \M ,>5~j- كkWՊ{ 麎뮃sI.5ϣV px@gA(.e)c0/,*g2躞^Q|?%T%řX,H$B/ʥ%\Cջ^|) p0 oظasO*&i6$ d3B?!|>xl Xs ΊPx 8f LӄaBi>Oa( LÀi[#c&,[ E+gPW?0òE08,(/?$^@II$?FN\̸8]3w1̒C@#rcЅq4˚$?"xY3ZKPxn\V+2^cXS/(kAV4 0c&仆{)RN?`-g {׮ 'R;RU%/gˤ&&98vN<ޞ꫘:u*f]y%4iVl`~)!P5 ==8rۋ;wb3f+M'B.R B)>3ӦN#?_ת #&LUV%_V,D~뭘:e ?ھ "icى{ fBm(=Cmm-f?>^z%?~I)u뎢>%Na* +a/*0sNq ^ 7mBUUKp!B,/r ޵ mmm8vȁg}~ܺr%ݹ*z(K:t7t:;;l6ظ=8 D"7(}m/K@4bǎXގckMU+6⦛cr9{ Kq|yfbwc":0`?ɓq\'L@o,ZT.nL:3fo MEGGVY@ իVa6XպgNM]eQF@>GOZƍ7ǖ^Ǝ̟?Բw<~?})ҙ Lo޲,9z&L@oo/z|r/ĉ'[a:LČ3pY f{Mp)7ӦOGkk+`^m݆`477c`` OYs ZjtEEfHTcc#= ]w@u>KAki51h_8Յ "l"`ĉ.B.O66mf'Ě5kdSTTPP|(.tB",ߏd"B2H&w^,[ ˻> !򽉌CLG*k{/@}}=rߏL6t*eo&!uuuaعs] $-p ?#DE%f_*-!:0T: (غu+/Z3foUU4hzkk؈&456ӧOG4C0ӧqqxhoo{gD"jYH&OԔy |>,*^s9sĐk;KP\`G^@M0x_Y-Xoo/fΜ?׃I'cҥطw/ƎƢ6|>}>h MUqŌ8{ 8z{{qwBemسgTUʼn'P[[X4h, s޽{*:::j*{ԩSڊ7|>Ĝ9slPDH{.`aAb-Fh2D&!sw9{-B$A]]55" ix`&.Y3?4 Y/2Ǝ+W0Mԇyok[ .P@0w\lذ7oƪUPWWWh 0}tm088u(qm.@zC=|9FIn Բ`:[Z[VaXre~'u755a޼yHRH-;j446&NږH$`|DuvmugΜw3PUލFrJ躎j?;u+~[{`Ks3z!{@8BKK H$0mt. ,t^uU6mZ>i?~<~?Ν;J),XS)p}2 @cc#~?^ڵ _Ԅqbhiiwmo,@ޮVԑ'´,$I;iB`,Xχt:M6uaBSǫA{d2bxL,A NhMMM0Mmmm4 xX~=0 Y+p 'b=M)z[3/j ɷBNq)嚖ߏǣ²,C"M ,eYuP~PW娠)C?_UUG#H5Z_J &V#ŭ-b鹕-:EjhM03? q RGA" F`"hanippl'$uø(xxU^= |G3T(.DS~ ?wff v~O_4EjA4660B{6@SSc,B&!RATdYB-BcA('b1)6R-TK0]¹ ;˩ ؙFijMѿ xg [IzQJH$@$ 0@)3Tfq(EC}=~C@\68z^E,7\{ pp˲t^р n{bT*@˲ !e d  98FO9_@山pIt |^ZdDJREf8KW4J9&\.MX/x!d_ ~@%u.T8Ml6`|p(yK .qw)P" Îw_ rHJ ~#UBևOHP$q3nlTZ[nBϵku@xc-Xo(BP[[[|ٯ˄P${l BCZj+N 9>?xNfd2 2 af mT3ס'O|8'tb%rWjKqRJ=ltG9X"D/Ʈ]Ap'HH/ 84xJҶn%Ќ?&oLN0nrɣ{2QJpB8p9}1[N]EBeY{PSJ2yU 4l$JӰAFL#͟9gƉ'=T-?wPQdP4RR(j|8kv/|qV:?O?Ο?ᄑ\rlM*%yC%k%TQs UU]&<X r9Uvaـ"B‡ijjBccc\Z~vD%}Q{e B eďuWyLr@~=aCbXº}_AqnBP))tp9#'"seR.@/bEz.1Ǻd-ۯMt!WǛPDw*8TUReM$rѳobp{i6ϗls\hvNH4#G"-[czE` (ضmΟ?oԄ+sZNAOO8t:mŋ-fQ88Raf% K*Dj ;euxchѐHq,xW0i$Z444`֭71c'KS|VXp8[nӟl+100.u]0 * O}٧ivp)CH) LlIRKoC2>}?D?rܸq /?c{C,/\wwwcY?~;|I,]SLA RcǎEGGcZ KCGG~1{>\xX ݈D"k,,UYNjkk;X"cܹ·|fJ)z{{ig裏#`Æ X~arD"Xn]سglW^yׯǁD0a{$\?VX{>?^x;N֭[q=H>1Ltq_#W P1IĵFĸ i@a0߃CE˲lFEQmV]vaݺuøa3gbڴi6ϩSԩSvW^ 7܀cb͚5Bww7 ݍf^,B4E,î]fD"zj,Css32 rt]oaBȅ˧+(@8܉C?yƎ4ML>~)2 v܉uV7|36nχwy'?3QO4 }෴؟vZ߿===H&wxز,\s5xWFsN]a  [b6nMӰm6̛7$2^_d}U U!GYhz{{g_ޑBގXx1j_wq~`6:۷cڵE=}}}, 'Nxwpw0 3X?(b(OJj*Xeh4%K c4`*Lľ}0yd\%Aw3n@)"pzI -F/5ɤ4{#Rk׮ʼn'/0 Aq;ǻM(<v؁/pSnC"xQ v8s z-icppPK.ECCсJ *.:T&]- pRk8>A,644]xep;t]GM4A Yl6MӞ*Bi{(ED:+H?|pŊdgP`de/ < L&F{ڟL&]AǦr EAGG}';94au?@ SNSNY>$mά@n`؋A.A0\TU1~x߿hu__VrC =6E?7Ln*i0 r9,\{eY8t WD\lLtL~*^HR)ӟ;wl6 4~gϞ |.I&\<MaYϟǏϮ" gOC$Sicn³,R4Rڮm= cFF@Q"Maf0 oƦ{n/=&@q!dBn&dRq0 MMMd2z&#C4 M!\y^>E8/ Jzk\a0LXU!ɠ0n\ "MM1rfuG )YAD,絁Ğ?4\AR)Dn˲}rhgSWWg7b^L&T*d*5 (ǹs݈`ɘ̙3_|?DI~!_8~ˉW:F:vd|ޗfq~PQl+p _2}=Bߏp81c.Z[[mJ!%LګyIPީ3TN{]\]ni*}[/'^揘#]ǖw|>|>\lq%}v&nY̜xexȗ3[D&x˴r9O,{K_T.]ƗԮ8Ls=ޯ('6 iA7 KϬ5 ő#GN $o\L`$f_*W RVq˴`Y&,f 5W=L>,5M?l"aJ/%n3+>-Op7`3&&DWtk&ٴiO?B5?%${!_ߗ3 A߼O8ѡ% 7׿´=*"ɨr[ɡ~Pp8 ^ѭ8pga]T Bϰ#6& ^,i,Uyw Q1ca4?ȑ#?|Wݭ-@5n{KiN]\u])2{8~?8E=½!/T /o.(bGyoba?c=ΘT1GrؼxGJ CD8*Yf)e0|! !|?%s# %w|[v$?ӭ<\ x02e ᣌoя~{/!HhVd+!}ͪF2ay/{ٴiӟ_ma>_qGLTUu 0Q" 9$OrX>B@%gw\B Qx@Xwy y(7yz['ppۯūtXׯ/_u_lݺ0.F폊0 K,RXD"a|>˺ΞJmjd*B2~L&sO<>|[a'9Zlt\k衾Fw 7h\m4h}]1007/h| 6lъ(ɷq8}֭op6s]p+WuU2!{F!t]Dl5ȑ#[_(/ 㫖.v^GȓMwvv裏= {% !QIr@QOߧ~z7?&1}y^Uˋ6! dK3a4JY?OΝ;IagY!W5_P|'_L,\Bj嶗/F Q8w}Ξ=˴'wD?jݑ*npsq=E0rQß,Y_z27| !R#T5BDTUmdA&L,2E)[.nLKP ge(9>}qYU2 w _qHgaܱ &`e+pΊGj1@p\& XC h:A q*i .C+orIENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/128x128/mimetypes/application-x-qet-element.png0000644000175000017500000002355311200647463030753 0ustar laurentlaurentPNG  IHDR>asRGBbKGD pHYs7]7]F]tIME% q_ IDATx}[]U7\}%tNNBb.@#&PZH0J,7B/EwYSER(T=n|lE :! Iȕ\Nҗ$ݫm9ycXsKgugVuZ/rrrǽ ]9sre{Ixqr4@eW^yb|.r1\17 '*jL]\k0i 6۸<ξ>-I m@-F-A]%u]9 O@#(782h !,.a8`l#3r#2١ax^N.c&o3߶mYwطݯEǽ?^\/ !H$ ~bJg%P"X`Lg̼=}x ¼-|-kl? _ McMPN\D01b@AnɐY!(B?qB0P` msLc ڤ xL9 A^Kӟ8w‶^wQjMa!%y5S]O{z1 #ѯ OҌyo m|Cz)98 + l9sǤ!(J]=E{QW!i@8LTmhX~yzypPϊIy;g,L$cрz"(1*(6+2NP<A @9 pOØq0׀ WqeԐGxy!Y)*Q]3ϣ?0- pO0bE*+0<աt"hH˫,-l(fWXu*~={с;w8n4%LhGD=8 BhФuz~=O"C M^%W!P5*F>Bd \#w܁y桳<7HyᗴyclƏ8 FsTDȫ#@;\ i/L Lֆ/| |Wŕv6,4 >$FH4% eiy*%aql/JᥢU@xF)D|ˋ#II`<~\=ؚޖ#.0oK*rAn3rby^oil|&wŀ',QgNdH-r(" RUoi˧bya,& ƁNc:2۞D(6?S"Wʠ)@q8NED6ˏ` dr `)SN:#i)2HQ̝|[ 8 xӃG} _VѼ)I  PmTiP@'HTc2PQ|C@$oWJr_3Wwjт:~ R]X%*AWH(1l`=6k'Ly,?=8 &&'[Q.B^p;a4 !ӊ2 eL$ 1;|!":Mթ?GEd2i0b5Tց3K O`#pC -W}) /ǁoqoD*B

2\ H$ZPw mkT>L&Lx(Pۃy=s,qff \璼ں:ա>LR 8ϛ2ۛK/H>59Ԕ1Bu}Q/B NcLף",c/`w)<'uG}M("5ӹ6 Z^`0L"͚Dz GF'Bvd2Hp]hjj8L{,& ^Jമ{nChR`hMs)0^}d2&WBkQ_WDD‘3J}\.L&9NgccHc޼yhlliV\pQ-֪KqαqF@o__xRϘO8@H&FإB hjnI"Jw$ !}S)LNN}8CQ4աcZfx(ςX껩 @GFGC e M̀5. [ 4cYjy8hmmEkkљ|"GY>U:4ǑNȨ@/hll4T8yIvca0phI+ ?vbb¨ o;g2  D!ގ6pm'XrA5 pzt54 bttl(놇ڊ0%1Jx*ݪK}|{o=f:gL&qySPXp!ܚ/ET/F2Q%'&ݭS`a+HVPq!(r24bϟ? t IƺNaW <Sä[8OsK qzp\NO:/^_l&AhLOr~z 〧QD% D"Q 8 T5&ƍֆ՘!`D@ypO< 8766&o@.c24pKmO=y`+ChkkCd*ޫގ'x7oq_+W8}}}cA`pph1c 3y͜b j.b},Ѻ"+VD]mV3 >IQ +&WD}C;*-[u$y* **P!K3g4 [e+F{A흪w,; `֮]vy\+~ !0<Æ hhhȋQB*U9XHuw;xcFPDyԤ ܈4}^{-:;;y~#cxhllbujE~?w:j,eajj \ i \btuuHyz-ݻnɘP";~#B/[D 7d jKmoQ Łoڵko&u57|6ċ)*fޘr. J6*0D _"p0PHSy1QScn$ eDGr!vmhjj*jTvlM$ HNHeZv('*c}Pj smJ%\{0>7p Cg:*D}U_&Njl[m2{OnʉQ:ӧOٳ2{1ƸKŴ/fĎ;>N“;Oɨ QN s8=o<~!9>n~;m(cp<=yqH;6mڄ&[}}}?0};jkknUHcEt!BMiC?I3ԩHW?> rmۦ{3)c *cǹRشie˖&z e\ћL&8XKɓ'<м~z,]?\Ct(c—e˖U50k2"! .D-dq8q pwҥKҫZ)bbhhH{< -鴱] ~鸶2..\htFGG ԰H?~8o߮=s}cz_G'xW񲱱1; … ?8 E¯XH4zX c;vL|=ܣB:e,('okA921cL*ՕGg{ lvH(cL .sQSSS4q=zTB?pGBZnذ˗/7"K/4#=?q嵥We3dB Q]A1F88rs|(~!nu$f]b888C-h eΑ#GSOzIX #c_^ReT1۷/6*8t;w_Q]\+±5֭[505e˖zUSٸRQ1:,cpG8qB8pAT Wo+W W^py{ ]Ϩ.9<6mһd-[X.&-`- ׯG6;rz`]ܼyEo|T*nvmۖW$ ݻF߲eK,el/uo_$vaoc4<(àM.Zz)^@ mnnƚ5kǜ;wN/tbϞ=F'>XrR-܂իWk0m#p/-`ʕF(N0sy6Y2zF׿p]vB,+%+=[jժpMܮ^Ą/`ӦM6}qQIc^@4ɞD">#='_D8VGGGuVkjjvZܹDB?ӟtN ێ7tDRJ]wz4ӝBt\n88|0Oqu@Zp!֯_opw6r?Rz}(FIwqJWA6lذ*mϷSkwcѢEyau]<#kqF-('?Im6Q@F.P5 JϸMyf_ SjW4WF }ǖ-[k』QTLMs]Յ=͛'V=@שR:x"u=R|Fy?9O-,M+w?*=9l6gعs&j6o"WAr V˲K/رcz(!p=EKidx뭷[oC3=C0.z[ y`}!2F\X'V QPfN$ؽ{7^{5rvUW(,Y{ MDzD"oxƐ_=Coo/~ǥ8#_hooc") {p*QsrڽK$Ë/Hc馛f;JH9QR-_߳gvڥR` =cClj*6|AG׮]_\0Yd‡OS೟,͛wK Fuߏ_=o Sq-YK.Eoo/zzzJΏOƱccppP45r9\{yd! 8 ,15]E*'N;* 2d;P+|tttnêU _ۏ/A>C:U544MMMEmm-|G&A:(&''QSScKa-g]w݅ 5q͜N޺Np<tLpq>dy9w2gx0w8p>soݍ{5 "ǻwod29B)BO@W~ݺu[0o<m#>. ^ϹT{]A&A:s/o yK Mu, )@\dKqA{FB1XaGD"+WbժUktWʺr{!灾O9uuI<m)$R SS=L&D,Vs "ظq#8 FFF011d2+[ZZڊ6\uU!^R6NP QГmcrn۶?$>M~Jb~yQGShC<#""y=A@{{d3̛7]a<L\l;{ %R_#@k.0ԕ' mUQpHeJM!Ji GsAxRjсޫŋ^Aiaf6yrOIDAT>cOI%IU/ʦu]W/p MQU@%@.VJ~VpThGEL&qC:]]]F@'x;,CO~K?g'q؃tLۙLcccxG"Zor,tS"|s^{7_% L&9l)앢e)nW#Nx.s'ަrR+qÇG>$Z |Z/2.:͒.pg$P Ҙ.O?7ON>FO ~=JY vJP3V5Rk;+dptX4#xEC^ݑWd"/pEA6糈?E\/ ?z˕Ku_?=@IENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/128x128/apps/0000755000175000017500000000000011347002073022170 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/128x128/apps/qelectrotech.png0000644000175000017500000003017111200647463025370 0ustar laurentlaurentPNG  IHDR>asRGBbKGD pHYs7]7]F]tIME R# IDATx}{ř/54=Gk% !!0K`Y:󐱱 o#8Gavc}6 a H Yf$@C03WwuUeUYU=B'!z{:~ߗ@uTGuTGuTGuTGuTh7<3?MMM?:s9S=qQmTޏ!T#,yuv?Jf!}ӦMՙ([;x 衇;::W՗31T*˲`YR Ns E88P(T*Us -[ϝ;oذ4}H5@]]݌6455^>؈Fy^WW7:R7n,uy<ϓ bHTC*lvyp]1'|M@CT 4lF6mNS&&T*B!cǎjT*!NP5B5vX3mò,J%85w4ipRV5Q466qXuQ,ISSSU> KR0mۨ &xW*|ut:\SN&Tl]-{`P]Ass]਎N1Rv˱+_ggN a0gJ4W0J hpJ)%ux>P_{)U0 "h€JuIt* (B Ðc<ûviӧc߾_;vX Zd| T:L:YD0(8As.mvT[D5ᵄ52w8w?-JO8R \Vz_}k& W J3`Vaa^@>wIhΕ*rՉ$3QNU1pJkIsBb_L`@_'<.sG9;c sASSP_ill:/ͷ{{Vֆ_=z<\s͵;NpVw) ⫾%$\V0E$ PD+!q 8 ?xN<ض J)J5k&onOi.6BP P&EUgF1."a@)c1-L0Rպy c\˂pW.׏H',x9vih4 }6pc䌁,?lF>GTB*vDe˖?5 {s4Vl;@^Y$&+LJhI|Ed.``qԷ:xp`G?w }2 ~&J|)TB,+l&t:|>n|;{ク{~7LQ,\2<UxDSsJDi/~ \xQ[u@FS: r9(e"g< +.AdJQSS;?5w_h ANꈽ?A¡}Qiu%( G hooGCCnvx̓"ISC>[Cf!.څ?"#溮$J@ A:!w޹1/~VUhFnq跇cP,q%h/@GGΟ?u!q ޣ8iT'B$41G;("`,4oǐN5(AADέ[<ٿX~HgGvM(/wD uOERhnnB۴"oߎ MSW_ݏ9sf#Nk Gz( !6߉;1a hm}ŋ◾l&{, O>$6m۶<0|*M1X,epT7]I@i}j=B ?|B4%`nTMł{4- ۿbPsB}4܂`43Sz 12fHq0ۋF,XAC`J]R R]}\=b~yk. J)Ţ0"T&q#1 v LTX+ZR O$b1 bĉ|Æ ϶)S׿> `JXe&,&LhFFag߆"s4jv_s)&02YuUSǘ} P<1tS-} My%W_}5^w} Gн|60 d2)t:#DMiKbR6ObhhO<n*ݿ?sguYAi,q, }}dNq<<6ܲtiWVZF? 8`r5T'R'Ԏ`ʄı^1f@E YJ1q$8O޼C"JR<А?$z>];t`<(Y,(P!.7nƍksx$tt҈^ d5Us$2lPfaԫFM(tV+礢H!I{R@Jwqx\_L͢G<"IqΥ6O(R#{"&XFJiXJ"Fww7^{5L< Tp01TNch;Y-9ep!>|5ԩSpD[ˈΓ>iC@DbjAIU}8LhQ|'s5f\S۰ʫš5kP*o뻄 6j?Mp⒋BugMj a%~8N>oBӧOӧ#$(D5 UZ2{@v gH|OŰEAL]=TIefs\t Ͳ_No[o1c?3gJ,;@DTy~saX r'VPJm6 XbE#hkkÅ1aiœQ(>:"j!,Q& fj`!..T*ŋ/>oQ1El== @VI._Blp'?A.)SvpF6m{/ۇ~[cǎa߾}7o^aR5((HUbzs`A*Z{K/R*@cE e2 [*J`yY|?Wƹsގq\8q6l@KK|A,X  f4!DjX]<F$,o.=r vXi04$A܉öm,^Νɓ'NgpA 1ø^!j1.J,qI)( 0 R GŹstR1c`޼yhooG.o¸qcFhqI:gS0aaE+!I90l>Z @SE{n buG.,YN8q·$֐\X_Da><#`a p?~< }lذ]R`_@$7'- U4ae=8J )QIW1hjjB>xaXhll,Yxr2BPÆU0~zN!ʂƳj+E"QsN* d yӃ}{b7e!N<ڵ cƌ EԏDael!yhD`&^u>}[lQx)'Ć f9㉎Dj202YK#aWd8>3)-FGPRIDAT/ ӲPWWbцaf8{,>dD &I?:љ53%s(k!Qmۆo-©S4AqŇ[5"M^*He GG{5?]  '@kZ i(aMV\J):;;1~xL4Eٳp0 "B-@Ωߘɴ,xNvؼ/u]W.~mm J%sSjNmkBR.q-dU&RX#Qk =zW4y>4`G,š57IJe0m4(ƍk1~DGDdcr144."Nˆ47ow]|3Amm-c#(N U`uw\Y?@a`Xp!:͘!GXðT/LAar9[I-xǶm݅]ǺukJ9 .[Yf4 {Ō3"N/LB93p6mFP(F3VQϾ0P4 YmM ݻc4aƌ馛}6HjغEY*M&"ɀ1Bbҩ.^42m6p [oE{E7|&L "0w\Y@{v# Q:W/'LQʳuBqy cǎɓe5muq47}M) ]rҨ)BiӦؾ};VX}'MxgpYT*3#GnD-0kp5I9[b$|>L&럎 "1qif>w,c9 UV^DUxUW>o nHxXﶳ8|[܈1ulK{8x]0ɖ+T*ףJa=YHg߄}D!_ fl jڗIHrghvka `@J-c@+dRJc1rL[}kO!PL]|]Bv J(\ljp;(M@ P<0 Kޡ2XAv]kF.lc#@tx3f/ZVj1'Kl} ?yV]-<)_ ur h5Fl0fah /񔸆 `ů{+-?i^cGwv+3c3cRBǏUǨ: 7`fiH fVQCR`ןp!nu>+"688vttP9V^-Vt9<!{EoooS/TQ~f3ʼn73 JXQ%$l@ڦJu=*e_`pܴdcflNsk{@G=o.sNLbHl _0bMm;m4km}dlRE!~ls=? $I@ ![n[ B0_簦^6}}}2qdI4A?4 0p)e5ѮTR4 h.8h>'%Kz-RT=2 R3 nݺR^0!^,hކ^$)%yUEAvqD ܾBvWhZȼ"cP}"kxrVB-ܱh^CsbR/d -3%hSLX "\ۚAVRSb&Bl6KL&뺻T RB@#‡5 % J!],H)… <- B|Vh{hzl DLiTUg̙3m`J%gqqW^y-$[!Z&gS\,rgnl?W^{T*ժ\3<4_}/_fpp)%ڬ0 95\,r2FGI&Hk9夔(tocm077ŋ-It]]oq7 k:oFJP#wK4GgttR P(u)* \_~L&,a 3aB$ewvx饗pd2I.T*1==n ay <^|E666X__a . NXH$r+0t}槧)ˁj300b1>ylsܹ +' <[[[>WӔJ@V FSTe9sf4 r[[[LLL`&333mGqO׉P$4Fi-Aⲳ|>7nܠT*yIѲOȶ,RT[ efҸf*XuG!T*Ehi(\.I)1MotDӴd<\ j(v|<tuu.ež@q~cc|>O&!ϳd[QZBPV[`Wבc )mkkk{>ym߿ T>(={b<)elT%8:---qܹNʹ;2!dYYY %|\&afa' H^'ĶgŷdY4M2lٱNzyH&3;wBZQ(]re:7n`{{|>{׸žQ*㘦s=eY퟈BDs,ˢD"j88񫯾mmmЉi>#͛7D(wμ8z7x]RY{5q0R)^ݻwf?{t:M"lRXYYP(h4x"###pݖkmض->%L&>`y/### {nqQ2 ?8CCCm8eY4 %,zu橧>O?D$ FFFtRJuo&l6(4i6,puL&COOR)Jsׯ_ `#8p5ߑd2xRʶyz;PY__gcc??ND)'Vp<qh6ijT*7POèj3T"RXz4 i4J%岼w{{_@!qD!7T GײꜪTaB-jUΞdssr,[{i )%7ol[%sl2Rhh6kkk,,,wҀARk: 8ۯ4D 88eۭT>O|N?!4qR|oX~_vO~):UvbLRsQGVT/ǵkz4-' VBY]/;ptlf3.Þc]>. 4#~Ώ8I'/9SIENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/48x48/mimetypes/application-x-qet-element.png0000644000175000017500000000522611200647463030612 0ustar laurentlaurentPNG  IHDR00WsRGBbKGD pHYs a aJ%tIME,#a IDATh՚oTe?ϝ;?cRfRh jQRWWj 1b]Yƍ$C6nI74.MHike:v~{g_̽wnh7qodf{|!*^ôdd$ %bB7BPX,N٥X,6*{{@PK##a t?"!B8WG8| M!Дr;s=!dc}=Mj) G"#@J￱(8c>Õu`uEK&&dd2i{\y~ϓe@4=< Ve$Ӵ:xEQFbe-0ZeYSH4!0 9 0 !NMM %YV oGHy(TRD2XNj?L!GujkkEu,),ә A]gӦMb2"@H2ysXܾs4H-[PS[rnlZc# tllL&CKKEx$m%*du` pkx)ٱcUUU%zx &JNӖ-"^i=0i ľh@!3=iD\jv4yH)pV躾j躎z]'&رcqggK*b@^ MPJq5 044&w @(o?yټ@}}=[̵WAkDJɕ+WB<ÄB!ZZZ4MkmUi>yqrmmmH)QRd2 w|2p{rssK0L_2:;uɉ уAW,)ٶmN@H)#O`م,#,p"`* d%tb{ry}%"w.~d"`vvU%^YuuueVNjjjػw~<;;K4]fN Q\.aT7]lܸ/Rʲ'f -Dr{si.mzxR[[-w @)UQL*"BiH)9}[9rȢ{#裏bYO㫯gA4,*m:R,HL&73[[[ygioo^[P {ZyG)>M/^$Lꫯ\ӜqHٰ@aYq>8x =P缺M.\[xꩧ!ϻ믾Be/iJ) `Ϟ=<;w'O 蠡X,tׯ333C[[oD|rW{!|ͿtQ4RJk.%d'`yT_#a&''! ORWWTb|>areFRr o)Z108y$xcǎqS0-мY)"ibYiذaHt:͕+W?`ir )[Dwr'g%$391A*r;ݩ)޽ˍ7s?CJ/Bc\髤+="4M dY4Sn?r šu1Wt^KI+)DQ75*ϯw$|"woIENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/48x48/apps/0000755000175000017500000000000011347002064022032 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/48x48/apps/qelectrotech.png0000644000175000017500000000543311200647463025235 0ustar laurentlaurentPNG  IHDR00WsRGBbKGD pHYs a aJ%tIME2b@ IDATh]U{s?aa@** Hh;TI564<4>؄>ؐb_|imZ8#0*bBJ!C{=g݇sΞs?fxƝL9^{ٳgwߨMr?11|gonT>[wu){; f]z!5.ػwtccޱcߐϫ=[TWW , g1 @km}7sܛ1/~RD9;BW?}Yf}'066&1h) P(Ic@>3;$ì^Yfsnő#Glr}o… G4Ji### @8(cpD(H+yb5gΜg7~ہSude2&13:\ ͠0I!$#ǩy !l6+zٳٳgߧw Q8NW?k^z˜;~'X㱻,ZPJaP(pi 95tZ,\<oܽ{S;` F F1ʳ'y(*WUF̘~1\g!JJ)͎;600p{[[۩~xDfbݜ O ~1X,>~ {yQ,<ޏ? @)E';#kNbܹ'<{W@lF,~yqR)gϒfi]! $/,\Eth(rżk˗/3eB힌HzM$ڵk8puYxq1DiKHF0#h8H)ży{zzWDD+pB5X;B)EW$kGk%$פJ41)d2V̙3e3 Ƙ]Jv]:.xo1=gYb,6\t~6oLmm455Ygc";cu]|֬Yω'v 3>>G}Ē%KʼnW$>weÆ %EwQZ[[YdIRH99;qݖrR8VJ>HJ|Ǥi4bfiu}322Rd;Nq] ^S]g8úuغu+Gt6nĶmmB4&R9"b›jf5],h0cf2\ܹsQJݍʯ{k΃fo[~Ӳ3`̱c*ꢒrCmή+z`!?{OvFIL9)B`65h# XIENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/16x16/0000755000175000017500000000000011347002064021055 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/16x16/mimetypes/0000755000175000017500000000000011347002064023071 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/16x16/mimetypes/application-x-qet-project.png0000644000175000017500000000126011200647463030607 0ustar laurentlaurentPNG  IHDRasRGBbKGD pHYsu85tIME9 y0IDAT8˕NQs#Q@R%A Mހ6~"BIܤJGQ2 Р%0"\ ršٳ`&S#|MAlfޗ (jHhHFf"ŧ4$D$-mO]`M&C/_G(k{>9 Z1mL;BZ)1my0x73C6 j;Cʎ\_e}})^liؠ?ephcs\.Or||L^'˱E<_@8zI4TW ]c Z)R# w?UzObzz5R c Qu?U022*d{ZqQ* (QjZ-\.3;;{2MNg*G✓Z&BAX,JPiq,>Nh4$cqΉHX^㚐gTDD*2O KԛvgYc?v.3IENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/16x16/mimetypes/application-x-qet-element.png0000644000175000017500000000125411200647463030575 0ustar laurentlaurentPNG  IHDRasRGBbKGD pHYsu85tIME69ؚO ,IDAT8˕?KQƟzWP;CŎc )R;TdR`NvEI{}ӡ&FI>p8<ι< |oFFmk^a߷ypp`t)uLyfffP(~Zfgga_5 a8("6 |3Z jz"5s c١"Be# IR,c1"H$ EVfVryLa Oc 3tIR)oO'9c("#S'",6 tyyO1DQJƣ/<5Qn IENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/16x16/apps/0000755000175000017500000000000011347002064022020 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/16x16/apps/qelectrotech.png0000644000175000017500000000123311200647463025215 0ustar laurentlaurentPNG  IHDRasBIT|d pHYsa(tEXtSoftwarewww.inkscape.org<IDAT8œJ[A; !$ԅ)hv!@]i$pkr D̝ELj.z`7Q"{Jk7`Zh=R(Jp8ll4ߗav98kZZvtVUEA{c41L&DQ#gsٌ|>o{MD<==MER "1JrZ?A)(+HN9??RUdbBcpcwoa6n)xNcDQDY0'!^( sxxFlllF)֚d2("$IZ./SViۼpuuEc +пܴJ"A4/.([[[:={Jbk-q\=<"0zR)ˑfq6p"B,d2DL& ryL*00 H0m]_LeIENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/64x64/0000755000175000017500000000000011347002073021063 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/64x64/mimetypes/0000755000175000017500000000000011347002073023077 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/64x64/mimetypes/application-x-qet-project.png0000644000175000017500000001034711200647463030623 0ustar laurentlaurentPNG  IHDR@@iqsRGBbKGD pHYs^tIME#,WdgIDATxswv?4FEɀ",ؘ൩bB>/CRFJ٠,9,l$0o)[O&A8b hh/D/{E!pQ׭ka@aT*tvvm ֯[{lAW~H^zj/G{A0o滸-AQUFFF)8MOoXQ1L?{d2a [ }xM4 UQU!A#%6 ^4 % ZUlM |UwqYj*g'&,ϲW_QVK/;wӲ8wׯ_G4EG@{9?L\ɧ2Mʥ~)/k*:y~KlO?'$N7 Uѣ}B۷{tٳENhOEQ V4pdnnJ2>,uRJ6l@oo/],dL:ͥK8_՗_Rub߾}te|~>b~~j09;v@oUlh (j5`jjbȚ5k_`YVC&oT*zzzxW0 Rtww3>>N&iv,+P( !==hD!,nts;all ŕ===(B^ݻ f#N8ŅgrmY~`lppaSUJs^sTU]KI41ub8N$ Rlg'JK.aFG x]m(B\0 8xB(#hG"n݊8?@ d+lg'\L: @}abHww7?bV[1W$WfaHI<k@)hD"mMF EZ tbH4a)Z@uDDT*n޼间k'[V.,$1U(XnO< !#$Izɤ>8ARJ"n'(tFX8BwO/]B4n ަiR((>ۇ:hH$R|xm(ض/]jjA^;3i-G5<O T1H("QYy0ݞ{*s_HR6R22<̱c@F'x1!8aVbAS@JHn#2R fD{'5ă"mYј.tsg&.\@uٴidN4 388<~ܼyZΝ;k)}  !'q~R2??ϙ3gattx<"g۶m$I>='N J㏳m6>_{~FXUKuøh4J.#ND" {&011={uLϳsNczz0r {errrmWe-Q!Sש&uիh旫}}}199޽{Y~_uvv( 1?Ϩjܸq/rfggٷo[nѣ<3R)bSSS8ŋټy``1y2^Su֮] cccJ%&&&H$~ ;;;KGG py|ڵ[nqFׯ'J.^8\~l߾˲mUUbmضȇ/mqUU}#neYDQ._̮]p\.Dž طol'O{SO=ϟgbb{F ms TU* 󌏏s5j)ڲe/[:@}9[o%VFXd2Mj}k.Rd-J\])UJV]eKIT7im0 xEQ@+&Hm;BT*. k\.wtpo~EeyAUw;n}}}y?>|7Bs;~Rԕ+W50 Etuu5p q0Mj,wX,233;pb8NA׷ٞyzzz|ʄm~ ᩿JBoo/J/;rɯ<9*Wofj{UU(?~ؑ#Gy/?<@4=Zen<· TdhӬT  h%v#42Mq p ʿφi*UqGo3.lpՐ۶i٘&>j(с :3z9n4h dΝ&()j{T=Lsu! ?|!`)~PΥK}fH}nBXҀ Mb:ЉȽ W 5qRHL@ {] CxJ7J`Ǣ YSy8ԩSXq+upæ5UF?뿁V}05=hz뭊a0Q - ,ᔪx?o`T6Jye˪ MT#B{9oWh!@L۶WAT/n,lְEI9cY xL  2HY"[---$qbBʪX75ګKuglX: 4]Ha"==M:b҂cX>K%2rL&8,^x,V HMz{{5@d_MT.3>>$[[iM& }J\.G:P(P(,[ |m*R,[Ze먼2 L0,i&>D˗c > -R:J>gll\6˝\nY\q PҰ,ML`l bŲeXbtFu:RJbk׮!CCCP4ڍf[L˪ >S#B(Uۘxx.RkX!o߮d?'K==@ r{()\.suJ7Xrx4,qFGGbyn#7J)XEKirmtZE2dH)k(J3FA\7Ms=b֭cʕ8C.c||ϢEhokC)" baBm3Ų,FGGIRĴPJ~zRYcX@1X?q8t|mU nLa8i$  6OH&QYV y!+9[ZZXv-RJF:l8x Ǐöpr#wuuaYW\uK.?ή] V 8a6_~%<?bݺu IJY7룧!e%`͔e._\槟~̙3ttt{q,#GTT*qy B8V"xmZ0 [n4MB8.\```BXGaqػw/m_0>>a;v 7ohXQņ'JRڌ;vP(8z(/^tvv_H֊ۻw/is FFF0Mm۶EXFjꫯ-Yz5[lallӧOŞ={^Vu]]FXdΝ5M H_ڼy?yؾ};SSSܹs'\ej=6߳m .NBK2_ 5f96(3xJ@)'8v˚5k2E@|>ϑ#GHRH)룻; ʎ :0Dez,8c݌tog_~ǏWS+WkvՏnSSS9ssa&-bϞ=$U3CW0 c'p 4L~yz{{+]j{ǦMذa| .]bxx˲xꢽuRf͛e+K/DT NW`Jl[y:z 1 _(0t.-BY;aYb\XU1hnڴ[R.R=)Byϫt]|>Çp?7{@:+E2@.ףnmkI)IRLOOS(PJH$hoogŊH))UT*Je{M ׌5=b!BQ*BRIӤi2'x |ㅐ^jQ>Qс(JU?S(d2 o\QyF@56 _\R)(|>kg2?]:_9zhl78:WotB 24ag2N>} րz̹:1u0PJ"X*d2dY555U~xx~/uBٰZ1U ~, ϳrJ=zD6U7==}ç:~t6Ź(j !~?~pQ,mf\z޿ۿ bk_n԰m));9T@uaUg~> 0ơC>O)oK4\Ă$qYMvs@;: 1XjSR'H܏Je4Py,A噻?_#TIENDB`qelectrotech-0.22+svn897/ico/oxygen-icons/64x64/apps/0000755000175000017500000000000011347002073022026 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/64x64/apps/qelectrotech.png0000644000175000017500000001075511200647463025234 0ustar laurentlaurentPNG  IHDR@@iqsRGBbKGD pHYs7]7]F]tIME  v@BmmIDATxklV՚k^{VA8Жb)=E8x;I&L͉!mfbrbL>x͙q ZJ@EZ.^k>˻{VbxxXRI"t7x|>F<׵Z}9!DlkӧOoxRK-C+ܹs̛7q"R)Q(hkk+id gRƩGϔRBX7ο8&믿O?/go&7VccHF& BBcǎhѢh.<'.;@yQ'I;??i&* -J'(deoYGRF&NdjR);0ݴaYV^Z)-,K -l˲BDKiE{C!7FJ)֭[>䛍7e˖ j`)Ϟ;x&'&dضm+W,>TlìX"B־{ ♧!ɠ²l>3ϟm!).( &jpMM ---D WZo߾ߞ~L"dk`زɜ"e ]$R474>(16e7ծ.c[~&⯼)cv`һW[GG~|>뺑 5PNEaD52 rjkkQZPF@ȑ#!d2444@*"}kguOMy:,qO\|Wv%q ضu]rh%*zuRw^FFFt|w@JHGH)ȑ#;wt:M6<>cN8A>ٚlO>Rb"D YEqBԌq4_}?hYhQ4r4Q`YضMgg'pB8zw}7R"@+MGGGd0wH&4668K.xx< h`X RK,R)vڵ}OضZ EL333477b vލ֭[L˲H$ض2DeX_#eB1Z5+=ŋ̟?l6Kkk+}<B뙝%HFIo,we(tk`<8K]]-CC|Ӛ3gс:DkR~H$y Aߗd4\R#KSJaYL)Qr`!zL$ !顣ӌw,Xy'ٵkk׮eff^!HBZHZ(R DTBڜd1y]bʕ,nm+WpѲޚR $ .Yd |}trY2YXUj\Dy9ٹ9jYX ۻC 7;— ajYimm] |'M>'JE8f/qiw5ݫ"xIضm=@&%ϗk Bwh(VyO'r{F:s $RτP m.JL `*AGMM /_}SOk.077G2qDZ` ̪.ڃ"իW1x k'E@JɪUp]xoL:\xvhrD1@S䲢mWlf#{/ͷJp79&(pŪr}}=ǎczzNam_;v젥e\.ZJ* \0"ZcUeIFe1nDZmۀ% 8tt),X@[[kY~0@]2u ܺNaH4X0޻:FM@9)EggRZ y F=3d?rQd(*GH<@TڲL2R5fRkX*ΈMBߐU%4R[bܠ+ebB E'(I)PZO \@WiVsv #222{`aTcDJQڿ֯ ضLj HXit ڊKjYD~"ٌsy85vBfgatI9~V-!ɠ$B!_;Nd2U|>r).Tz˴_< DRr2,XNFGGs2RWW=˖-*badC>ŋt;wŋm|_}BR28*dv "auikkfˇu!^%T^F-vEغFDJoq}:6ASSSE)GʂyY^FEHDea0 BLl'Hlˌ/*M<,&IZZZʈVD'!>bXr\?>p7fQ1d.yv˺B;ʏ(_!TbN2V#4^nĊ{]l_KG# ɤqdffڨKR/, Copyright (C) 19yy 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 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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision 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, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This 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 Library General Public License instead of this License.

e=kRڑr\_sMfQk0٠?נ3⋽eܨˁ8XGbɦ1g8Wϊ=UQ-qleQh:9wgY+oVq[`X{[kQAq5|+luױ΀ /Kzq[}ヤ*7,+^ّͮrFG԰Dncs۶X>Ȼ=@PYe)>fPׇzd+4Y$z!ՋY*Uk;N:_0^s兝ztBt1v;],Q~^'na>zN%Oʸs6N`H^D!DP*|fK [PP"@<Vxd%2YѦwI4>e 0A>1>@|Vf +'1̡`eӫpٸU(0]' C/|6 gw'Kbv!C*iGr?0UtV !:O0o jF~yRf8.1fGĂZ"PM{fZ><_`ݢ4׵[*hLidr$A5 R@.%=Nz^np,oKnJjPi)7IPflEzdf+w8ܜ}4Vl˶#Rzb .X*CGehF艎%Fٷ-?Dϴ^z.4>JĞ;QU>@R,ES?> R!%{$QKvd K){N+̹}3hRQ ǀS^O@%ѷlAK~Puds,:q]T9XЖ*Q*U"nf~˅8ͼ_X-d*T`G[Q@@ /g=KdU/;oezyu9ב+7 $鄔[(t-WYz0C݇''GGftFo^WI|~@XmTxwP9|z={sZ&qD,CS1FtѥD75ʤ`O x.L}׎R+pAd7&=2\زbUw^h~~rMu lu.)XAQ >Xϔ@_TX(y.mcfcJ6pFd:9֨kDڕD`IkUo$妻NJ̮{bÛ%zfрN7/W VԸb\qo}fje7 :'a܃.ޡ̄?k&C~/=|ܡLv j*<\+H ]b[@FL29x,U@}T#OEzˢx1xyvMyVOP*[Xmt#pDI74.OW*Q3<^^Zb5捤]/G L>n;+u9 ]f:TB{KD$>ݏm{| Wk^' +$zkBB-c"~f+?X*"`2ZajhZ1޿Ÿb?5\yWڔ Z܃oi[hޡ_{5ᆳU '2+j0%C1` rPJnJ'sufЉrX—:؇()fA~LWC-Jnm^JKZsx-WnVog*b`=HZ=af)sO !dmauTL(68AE }P8~šo!X/1{q *cGi(T9˒ mv[eExڷӒ B)/E䆌Ͷn? Ѕ ,vlY7 &>Aĵ0ӑ F+-ܙNoފM>k'KV0|t5)42MSR*4FSPF4c,Aꧨ~ !U1O^>Gy(Nw{cP0ú0JM )P%dE1BV@2冀2;ލ9#]ͧ=Xr|C ` l"KInhBq0}Q_ PZORxR'f#paO)x s5 3v8T D|ԛBݷv2U.~w(qP-w4x'xocc'nLlk[sC+͑{zo-}lIE ֭@ťlrB pZ:c#J֧ufq38Y اcQVF;CZlC[ Y\k.1|SLD?[Masd3)7Q6KP>r"ntLʙ' kEݺh}K?X[[M 3BGjQaNi =Yk~VZס)6c*m8𲼂zp;h?!#iZ"a7{0E7a\&T}mWRo;+ FcM8儻_ ݠ#ALRtԃ<)i! \)2X_l i*gOIO=<\a,#Hr~R\DLߣӄWxۄwlx_c4\Ʉ\Db9RֿH7% *CSC4f[h|^c/=4b٬Ag7!葾(X: +GBzOtŴפgntb]oÀYnv7Sz[(Bf3!`N2cyuˌc8L6^ 4.nS*mVYۯB~=C#(#p!fd#pkTvSzo,+ŧ}\yno-ӓ 8{u˙it˄[r26$#;wDfW -"`]+TK5'Wc@\1Aw Z,g)u G/M%t $ )䱂L5sn"-f,A(F bUq~!.^ݝIFZ dEѼ(ڛeO7Uu<*a<2QcJONMd--S.h ,CU}x(G~l6=Nξ V] ÃlU>LLД% lPKߒԎ>BF_rmIdH.ʽ26OWbW-W-Rn3sfCuQ[QZ{Β]M짤;KA=4VFfmfGZፀWCH8(-DqL,hj72HY,r5# 87_r una vrj\Gڻ/j1}fpŦ 9Y9mT^,D?Gi x|5OZhݱDACs0f̓+z})b:}-VtI uo^| GSx;32f)_uWPZ)5Hh<,\s'"Dw{ɰ?T(Lwsۼ_:C腺 {utr#6ƮI)|&[Pq7սa7 @t.g]{+64xA]?[ ibA6[b.HP 1Us-OgNMoۓo 7an@P ۨi>%O`~ޣGy n֬1'LsZ!:hcvZhaEߍak*h:tgu55) dP|jn>a8i +6aRڕړ;h9 7dyYZ|O-mym%PY QOcRsTѹ>S'Q~90J/m?+vJ=*r?,Twe?PӉ`}?<]]x&6-3XXU xWiLj"ffkHRjc~beΉkJa>>8a Y$Ox `aIn83jݿD+b=l'kU ς(9rW{F;zzccT/|M Mp lƚ>Z/ YH+ EJR̶"u?`UXjKg`f6"MT( 9; ?DGs@#?}O:~/P4i=Ej v 2zQ7?g9xsUN;2yic2 bj ;4!qu1Cd6)O{b{07fdXA‹ *UbnI"6vű.NصLƵF`oHu'Y;QWnj=+S\AKBP>G ge֣Yʍy~B',tml۵m]UWⓟǵ5붳f+1n{/i~Əw 5" &V|E2eCCZ6eщSZ&RUdPǝ{r@hˆֹn RSnX4FmV ϵ~ 3jX ;;>X_9F|\(0v9(#ͧ 5 ڦcjO=>}IN%Ab w9#ֶ?$a[~5E'Ǖ5~NUJlVuї k $/٠( g:O|{о9qN]n+𐂓/I,0_4:" ^Y+Go_6#"G)hhvG7TYZވcS5#a5>9:Ưi+2,eu5+(BoYo'\˅Uۙ[ @.eЋc13UO(d*ZŊ{Ti*㧆A~yJpfEp:)+(3TN> m\WB(H;tZqgJfESuhGA>ΚoS7Z\;' mg껃Qt]aw97zj.3b-}x07yt4[$盙仆zIl R&tήkbL8:Lq}-<10mo I..3О>wPaoWG <ٕV9[5)y3[CE^la.#Z@:tW $4`r&R3=vGoQLv3b ~r @y6>}ۮ3 Xp([`/ļR"hK=Y Nd:F',@,\DTW'Ϧ2SEZ!s Mh jEq$B߀жɉ/m rA&E@Mx֑e_whx~5;'޳vkեvVy~E˽u荬5|Nn-Ѽh^lX0. \]1-{9W_IE0'fQ~ -QB^c xmߘԗH¹5?RE/ wwjNKm?!Q娶TV>۰ q^^Fz\HBчf#xG!..y3xmGGHBKۇ#\1csfH.Ue3፲#_=9=}7@VwDG`[Ô=`WlJ6_F)?..p}@6;Xq`JF*Zu/~ӛr%̗iDpƎ[9Dup@ruW~(؃X[$]¯5 I{lqohGNI$Pƒ90Byp܋_j5 ZOjȷ(ӫ"TE>mA)EA7DHVu֦AgjR>HȞ; )2c8H%5%be܃ӖCp ) 堿]OHX;D`bOByF{ڼ:ܹ7Fuh;k$2VeI^/r<@d| + 7{qEY \M؃DR5JeGf_quF]umY}ʋ:.Ӌ >NtNfRpx\{Fzyɘކ/CW})>¦N[yuHfKTԨˎ:J[H8:6TS67V~,>QS5P L-˼ f啨S uv?|7 &GFK*#dųNeDP d ZoZ^7#?fDz^R^;bsL{sG`hcn@KQQd*ْ|T0|'YS;'ŗy:9JLfAMc $(&hYh=v-c&%SiQ8z1`|.ReKҳ$c@[?'&'ꂌ>wGlT%VdJyKG䁄s|4GiLnSr Kaf>xq̃q*1/Y1BGy lQWwC ZvkrT|i\!Zb?+fӿ~n<~Wjs(#v! IvJV{pi>8be 45 7ʳ?Fζٿq/RqBԊ|4:NӆhHPů|E;^T/YhHriE` # ݒS$gDmc- RL.+x2X>7yӼUɇ]b_kfGZ+|a_<ͼoֲ PKs>s]B¦j(_q#xHr{h55/&D]kskPՉQgYJ2 N-tpX~e76I.ZyBe̴3%m 겗jG* 8()DOkqdٰ^UdT QkV,i9`[i"3Oލle G7+͇gL[9/h\5n n<@jH?Z:mB4NMnyHB$"ζ&\$s_ f][='1چY*VEdSF\"o8?ᠿ`usUGMh~вSyd+Ho1ic^bg QQvӭ=FRQ;TP/2E[16ۤ+{"3|ƱY ( <NN0&~l:oeb44v2ӟɦCY^"qU?Pue]~]ј-ZRV_^LěSgAƪ{2)pt )~y-_@%G5+%$mG%T*$1YZ.LXA{f?~="{QSG%]6]PDq#VioU!H=,Rfk0 H %3fmѕZ&at=H,~IaJ8*XvV%`"(\(ZTkz^B-|Pɗ&廈aC7MOZeQ,FIC􎿙-{mViKHx| ȏ|`k2 jZ[5X*/SSm[u89~2Cmf6n^YcmJr0LYsfD"`jw|*Qe[ko"r Ǹu$);69Z@\;K#.SF](Qi|zR~]; c@x)چCBA Q\(xHjPl>}TmKMIkקőf_|/M{,q%uL6, i'fac C}b!rJQ;d֡fWsDk'N8{G4|8hÞ{gn]ע7jf\Rۺf1aeոDq$)HZ?GGߧߣzd<ML s' #9q@@ 2mi8cˑ4F1⧆pAL*Fq2GbGJXNVVz$K kMT(P ~Hj 4oA\L'\'l-E|jPz72dJWCcCڎ!s~&WXCp7B& |z%맛Q09ӌݑPս7gP vfA`E02=œ!CK0^zn;PP$|bP!5W5%*j]"uq27'd@y6N|5ifD* Z֔q:zOKTU;4XWZؒeyǙbo@ D ?)9w,nE)S[^ @ cڿY߬# cg 1[^T(K\엶 ́rHr4$Pצko<:e aQ\t x<.x)3^hG`\`5%_TN{BU3.s2duiPuߩ `R*a vbp2:E ތiq3ʯ؃EM&Y9kP>@ɴ#Mqբô͆Vo5ث+æy'tvHK ֜ s9MKR E-9gb|೎SHj1~a<4v2+tU1 :眷H7EK3hux[TxGΙG2MuoIK#1ofu^_bИGnNPܶz"BG|a 2 gL'ᴡ?ldt5h ^ZI|Q]# 08$ry?a"b*~ReRk~s'u-yr|[IyMi͌PW#pyC?Qbr}VBUC {Fo1Z'mPо nlL\!/Kx; d#>*!zhX\&_[hoQH)+1l)C TY=&wQ^?S3VmCZ9req %pAP&""yҷ>!0+ҲuҨa$l: 7rwv߆A=oNay'=j۵Km^_tyLz-4֔ ~x"R~LU, ANʽul<7d.>[qǓ>:dKH> [v+a&[(G 5AД{[RgnCuC- I^Yx<} yP^-So y^@Gpɝ4D|_CŊnm H/hwNX#b3%M k<*^Ea=QF`AnczCO٨~vx/>G +:lȐO$3^L1-2T>>lbA ~' Zkx߉̻hz/fҧfp)ޚ hFxVG.Z:W_ЌEx^@# CPL:R7g% I :<00ḳAw3Cז^O^*UF_y ϟ]R}h]{Dpt[J~ 1iFDLx>C۫v}[H%T){ gr@R|͏!}q qhOH 8/.ع20a֢l=&VKd L͋Papꀬ_΋e}YqRB[mz}b?Ê"C^zfC z.5 5|TF*6iu>>y ͭ~@tQ c[lLGUJw_E|e9i#Y>> տrr[+M #ir ʓm,]vI-fށϰZW$XW-'~j2TU >D}VVj} zP'ReB֨N'_?i}%CAǦ(#쏠p.*&˃ܯ_@W68W RU'۷AOR YiYlaXfByv&:vP^ٻb'~z3kJ aphqJ/g~;gb|eƙyj : `RJ|ؘ89i:!6F1u{+$P4Rύ)ųۛH^l4~|eJz,QHsQ}isf!d@L:×Tf25-[C+;["Y~G #*pVbRM}n?O$T[_]uti]no3C)cpj1~)?{YJ\_v4*1m ܻeC%ucY]J"'z|oM'M8/(eKv=łaU?)) ?<_^6SW(I0DkDb>Nw2?ٚiC!f._go3# s2N08<;y8<]y)$Ұ̄BbVϬDrJj~il;7 vIͶh:knXW;~u];X 16,2GC4=H`PzjtV d#׸hlhP3#,ɥֳbs.PWנX%l2UPCL y'(,u/ϲ_z.ڤ~龫Ɠm 0dkN-7Gȝr{m[6%6k/X+-EG6K9o&l=*r->="Vq_o$$ɔRw՝r4?D{I5>Qhޖf(m=E8DVbUfP VZ4(o{o-,q+`Eac v:>m|0W > I/WSaG*MG=A6^*S™VaqkT`~ G*yI|lk/*_qv\/ⰑBY9|P:`:~ҥSq:~ Rm0Jtb0z=YT:B#)7P3$od7\ bq6,ipwgoomu܅DqluN >byT^ZLb[?j@cS A@/kǗl%.-M5+_^9G 84?G M"傦+V#oɂj;EKXbu, ,eX[-yH!]MR("@wm[lXTZu!_[O|Jy4Un┘y2mgd^?Nޚ7a0\cB]Q= 4RnҞ~ .(=H wz%'_0810Y^< Ka&-oy-Zy> :^ x50G:ܰD0+@fQF?@z' =@Lإgn At~HJ8쵙=C%Rv8 })I2JXv9"Alt76C,_܅#dMOWl9 06ϯ DMėٙZ㍽ݽf H \:ϊf]m}UZ=v^.󉮿nzJkej Md'OX "O:6}!;L+^>4jX3H6jN.X-1f>ƱcCX#o'iri?obf+c!@K!!ߺ܇}jH1޸ðQƫ DN2(hʹS" ΀Yg:`3د;<:8وo<yw<$mNiYXh^Rrme$4;xmTDKnt݂h\ qmWoEI 2}}wJ̬,uV|,۞cn!ݴ>t\ %3D;4ggXN%7H R>o$ a,k!qPRx ˇy .VO+n~)(kI[8y$ C9i׬׼Խ+4["WGUI`~` -AYCDPzݕC9+TL8?%77oΌtNc"?CQ( oĴ}> 28I޼6w d[&¬K5n,?Pyi&8bpfpI rڝmD1)<ڙp]YR0qDL]p'A!9$'+kp%waH퇰pIUMo`D IwֆMMo$vO#<;WYo.U]Fd";P󮠆?))s{JDs?C#@'? _F=9oVkσx;y D#"E&ISXIAV+&[E6'G3 {.`C zEuHaI63/Dحi(qS$IAsԋ@ "YDtNKN?Tv:&pgQ1KȬKqNJ#澿s]S˔!oGKьU<qUVP{NFΓÌTI~`FqLI#aM{1ʍY;߃%Dw*]U-ROAޖdC}%3,Ed<b /+v3#1luuH:ݮ2S\{'>9bk7 Y2$=>@1U, |ٙ BD<Ҭ`h~WoTT"%Ng. }#LhHSم V]Dk g[L Cˏ+l^?7EX[^3[I$_JLzS\v\T. A*oӑ'k%Bگ!7]mx-]=.*z6"HodH8_5>y tD|~lf.p<RFыBID4cuC~vڼ1'wid3D nEA_|*fXA@fd|7ϸz45#{@f O :'"A:݃9Lb?)n1+4oBRw9V[5E_%/㚛 /d2B9xͫKmYDb|,0}phXJhc#,/2:򷚨@])0.obFӭeG!fbEYa٤qmR`W1m !_aWr1"=4 j9n/Į_V~L+"3Tn'?`5H]WRGHq;Nb$h+ﰔH]J u\td9Ȫ_8G~0P'=bTgrH[&/q4ޯ?4QVRm 24bgX.0frC A ߹//BlÉ5fGrn&PebٟМH@ߨ\moB781&kyǙ]vlG8]΄ ٽ>>h }|uܭr-g=xdBҋ,=@7ʭs jkԣ|jhޚo wmߏn_S`|[ TTé븳ʂp$xՁ)_k?H sGYVCQYԶw~]χ,Yr?PfG(m.5nﻻ,˙$!.C?C8 z.m9Vއ ]rݍL HYS$,cXX uZ}JҁRf+L pCvPe +#́X*5 36S2;AΪ( !Sm״\T'W ?ga?j#+FnMZkŭ=t䕥ޛ.o);#(;!e9aAc,aiuD;<,cn餌>K}g0tt z٬ݾ8}ǦeFvFƆHj}gkFw@z4. BPCEbpdFm|*rVɫA3oIJn 5ΰ~y ZNݜuyc{|} q|oQ]4 u6T$TYO#lvM2gP gj+*A%w lòs3IךMT O_<hV/aL۞3G17q(+Q2MeoSN xK L3Öw;j<#US>q uDHv[l iL`0o'؁R{ґ5<>P:Lo{mR!Cx}<6);dC]Ii!|^h`٧̹(=!x@;[[]1}NE;?VV;;>U y+^DM >swɟ{x'2_ FǣݬKRo q=6=K~sb@z-cBAyo3yZ'y&6 1?Sm OoO鬳lU,KVu .y֠0АƲbt/dޕvs_D!D;hZk, yVgnÔ^҇"7ӶrM}پᾺ";/Κ#=xH@bXZKCWV$y~`^N|wؼDz⺶WOxū8, ٸ/iWDUÙ2DKN#COo>#G,P~CC"3eRI?κ87%-]l Dž9W<3PA[C"vs 7N{*~EvC>w 6% }S> P)5ad W&S2עqfQ;{?e3>Eр~eC:zr[ſuU?cXTZri~d4}ƴ.i{wH$+C_+t<{qP_{-AaDe|?n릿s!ɾ6=%-~[ŪPu[f(;QijcGx#K۾8EkSoM<\$8)`K`[ln\MFl258Jz> ox=1];oC3QA[¦nCgV,`ӧtPPuCZz6sJcK)h}9Q{7JO̳kl~*ϗH.:-/dB]ߠGfp"d;ʘׄέק*ޣ~(vd^\8]zKǝU+1-X;*%'xPG/(e:n/9@҄;>e>//H!$h\s!s~ta;=x/{Qz{'_N ?Sb3p^iy.?QoRj!zeAΞNt;k:Uqf>/|O(Q+U5x)VC#F蔖ƊZH~j($/OB [g BGG^FAω$b\nch2e-oB'}bsk3>c9qc}{jPR^na9cgB!11:UAY됦f2W'(OZZ p9[ݒx7oҼ+1>P4 l~*+~EAyNгxd|֑'*ZAfB6w~]u a^TaŒ;xPZZf@&fޯ;IM%3f-(D2"}Wɋd4/{:@b@bތ o]ܽƸ3Nn_iiT n cdhh&AbٔG B۹8{h3*ս|)(*Hk_&aVZtF{x;Wb;帆tH>^d_5ݤ:;n2հGAqXIJd6h Иō3'[þc@# ȠxM>D^ƊUb99PN[R˹)KS#yhNQ\;݄͠$RLJgjX76q4U2C( SO1ٍ1fcRVSP,$8 71;8dafZfslU$7QI9rewh)ZmCbYLH6#UE͵_!jy[B,,E v7yCɥx]Xt7``%~Jk$rKQs+h,9Rd,@Mc_ Bf} Qԉy_µOھGJq$2l*nm", MEIV{_4#C~6BۓI%`? B`t(@dUi*=KIzw5F|z{e/Bs}n.+-{W|ޣ^:p]l|͈G {kY:>J(L{ɜNPo^Gm-V 6Q*S5ЛK*03k>zE*+%i8ӸV7q M)mHb][~O+[(x}m)!"zGȏP%,h;#o:vgn* ^oPw`*``ӧg1_:JR;I ,UmC4 יg[o%Yfإ&jgHyhB.N&8q_pXJ2 =wzL8!߁kØ30d49TP˻#c@SW!kJ0l[ mq/& *<X˨ ]yby"oߦF3`͉K[%VRu}~`?3$P[Dm 0HC1Op[`ʊKՐ;K{K*!CM8fB~G~ aLnI+1ԓrxa}ֶ{Xl:mȟ~;?{0vȦ ?MvOa^/ 5=wB"#gKo[ 7_i~eN+Z quVBVDR_biNk ξQ^x1 c^`o(~>a_8$=\B!%)_.C2w&f&8֕?Ώ6/e.>82!E6)r!'"? o>rv-I!%隬ݎc _y/$ xĈm y+Y%L-=S# =vXHsԔв\l>.%O ;֊HAtĆȩ4U|& ~IźL47  /H$ދ<:[i9N) [s>j;AA 7IZ礛זPu8VT`/O]qU@)Wy|!g(֛ٺyOOnFr|#jΑ~+9k=ıp]su] =?k~Ɉ4csaOyA*Wː>lǁ}Q)as;[9)2u#o;|;׏ڼr'+B KYz ҨYLe{ *x1+~澹% }=ޑ|láM2?ih&Pg%?”ſ: Tywp8{Ksb*Ӻ֗=Ie*-EydӺ8wAI<r x>0#dك$}f1aV :hhxS┗"m~ {[=10'{Ke=VGkP$eÚi~,yتe;ghdx蹰?dY$䅡ohKUή%;[E5ֆ̽Y׫ʕ%^z1@=/5wͯ8ʳ9B(VĊs͉D, b6d;ߐ 7r!PĥtH0K5wHl99ob<ãcݢhCz1<49yWG92*nޟ9ODV%RVGiIJUX-"zZL~>"4$nNRL]]XzXe2tFX{9!&zd\:Bir.QާفxXԧ8e7W;_WD9btd`ʞS%mqD< ߺ& TX fx IP5m`J@P21E|yf~|4Cv}g+\>z0Q7vOsy #,/I LPՍ@s'匕FuJ(L0 2>CW( %eKqos/jA3[`$`lOףd z]RLzI]xY0)O6jU"~\)j:gپuCsf=E3m*n^XS򰓬)?>9vy~T;bK`\Fe$$ %y.pt$6CVx,A<@AܢA%@pUtoһX$[dH=Xje+v|Q=g->c$9K+x}PڢOL, NcWE @ IuM!9 ZsVWPzUed.`@[Nμ',.ќ ds5mma!pZAeG4ǿStNm6>pJU ?a@ZB~:RJ ?rxDx|&w.EekLn65~C$%ӛEo <NԱڪdzdRL5~#B֠V*u+8yO*sB1rAR@\7e @-O]Z9: @^pyh#%Is{N.z2QyjNG$`cص/o{6(llfߟG7o^^|Ȱ^9ލu5t2pN#Os}zw { 8G1sJjǻԻV,ZPYq }ȍ=x0Q6GCQKqv6q9& uGV":,wsIO%*YSN>'wJ99 _7zDnRvL2S0jσq~:x4|5= S^6:}'aS67#N0:6"aS{Z6Aj$؈UG5{/d&v sf /4N _1vALE {ΧMX7ܟ1=ug:O+q@,+nm-(^<} BY USIՏ{wkߊ]|yXw.XhS6q%/ i?,H榫njK:%},^^Jx}nh^QJƨjc XizV֨W8H~g%_fyt %͂TL;ޭ l2p Oū,Jm:#Z] seM2F瀞M֫&b?v1/o0Cgbf~4X>gf4YN~‹j$S1-]^ o1]T6VA m3fLMY8/:|N~ֽI-Y۔Z?5龺N{eȢ3ݼ5+jGn|GM#1wm_`j}at)zh>;kFb{Q{\Kǻߑ6PG~srǝvF79x*9nn 6=Q[8S Msvmwuq 5f{ҩ-2 =x ^E{'@]jY| D|W޵gDwr`G/dדV!2DS>RK*χ,[NW:N7< a‘\3pP~0lS1=U&8@ IcKh4ϲ3ǞKnF >Цtİ#⟃:2(`j0*|{5nϏSGܼMwON3Ԛ6!ڳkJS76JJxvNbbŌ#(g1p umtֽ6Ud`~R{,*O=&xqe›㠭#ǥX=S |Kd:V/7X@tt;Zx  <2%&/]mos ۊRIl+^[,p؛v 9vF u ȽBc$]\CݜjWHl] |vc^a؋P|(a8 MPf̻2ǧ:uޠ`A/yC'J. #v8#𱶳F"|>Kv`dsnL%8i|jϕnIyOBlDZ<UKopVsW4yʕ"}D/]` zIp9V}IIígVϙɰf rߩ741,kdc\ywl|$u."! OFgmURʹ V78-r)mm},>rO¥;Fj|Ӽ[ܐdNk .hD(5'uSm}x"_ 4}40sen5ClwoLaL I#|C]3pnV`u l))![؎r˸s8^ ckJk^~{#^-3n4|BR!w udÝ󎡆Xٌ~wXLVOyTd b9da)-xjޱ:SȲyC %X.Q`ʹ-ZAȦy)^Ny5Vܕl};fԅ|A̷xw鉩\k@.F ΀WÝG ,£ûE1PKFht/2>y|<5wq6*Al<ңۻWsQe)W@25ЙnRl6Z!+XD)/KZ !*6=R{R^@D [Lo9"Xy E.U;US}QxrD$\vFkVa[e:U3SX)!T<đ=_Szs_q54A]DD׵`AՖCs\9e]8H .X˃ȃFUn3>fwܙ8U R߃k\-ا~ eWjQ}׭xRܩc ͽnh?F} v3SP+kpW#yo\&>V:fdkQjm$uрA| QqdAᾣ7Xp-FOm==$RKYR pEkHM?0Enn gbEܻm' (iUͶǦAq{a zD7~߀?>?^ME8eV 9s^KCz˒MxUe}7_ex-Of<ϻ8/GߦC;LˡJr_~I*>_Y Ao_Y75FPј[Ɣόc؏D{Ki,(M Bo~yD~=?ik PP_wON5^yњſϿCR9?= (3'#gcp nc /|%G ir:w/Q-N?H ǂ?Bpr? Ok_"4oG)|?w0L }^/)F0~C A-Ja4_i~_]>ëz__D7#{}r8/_#_l_Mv_z HMN 抭Y c?X?τ l_.Q0L&y_g ?ؿ>WL d^38wύS)NR'0gq9Z#K?WgĿ{8)oIďO9|e%NH'r7?q# ?2s'>eK8w5S(7?e W({5CQ2On(uO'ῷj՟1 ~Sof 57/Ne;s?O8kþ,㏦utae}ueo9˱ѻs7㿾#R(~#;iW?-`gqf ,پSS?eٿw?Vit wSK5>ux˻PΊN9#ƲH~ X#mL0l,0?{"clدygƲ8Ɩ)7 Q#~ك-R~e@!]gJ!:_-fsIYf+<`ْ=% e.}my<9_eԽ2o'quBvMO2IeHe'ZxJ`QkõZ˼\B9?:%eB1lװҞ G1r܉~zS:հ% rGJt ~@ ڜ$F`[AeLN:3*ŁY[^\ͬz}{qc/3:E4|qykM!oGxĶe7ݑ5(v|wZƛ\ 6m+UqC+PHͰ'^P;W1&&"ɌutK\l': N/n@[Tndۭ۫>o.5L.8OZ0ov&'3>BycD5Xrx 2(\0 ѤS 9(Es[ 1>;~#c$& D[HI%pD ٲBہ Mn8M8ưM=BѸU|HW˽A [od̙ h`e¦2i{"IK{-3/Pسy#q -EV| 7BDrPYЃëy19).Sr`$1j%Xtݙ޼kLUM]eRL ث%"&N8-ͥ~{2K\r2|C?6]`0$Ovz%cZH+Gi ?$Z߫jCKSG3D"A OY>B_];GJGIM@qxgCV'l+ cf?pn.uFq072 ^s85Ԩ5,Bùfz"w/cYQ6Ƨ ^1z}ϪjVT=7~>nH6UklsM,\.ebXV"8doe=yOJG"R4\A1D`LРLszeX e Ťqy=~K,݋d:AyJҍ'=5,Mj|HYg^M7f)(ɬ4aڷ|<4)!.-C8mkY(ncJؾWT$3|kc7LN¦^783=}aGCI#ڼ2n/^"a}#Q*A{Szj\tNΧ!m2Oc(B}29pDkfεE2iW?XcȐIZhB.-MSS n0Zb;3q>/nq͸p-|#caP*TLלʢxU3fdVW_g@pmB_63bq2ėk2qRxO80/^ְ#HE tHW_uiE}t!{=W-/Eg"qXܸ>fqrN]йt䱜ppc2~.5*b/C\l $=tJ6xԉzmf~4!Es=]![c";F*w{qַ@>^=/7^@B<'i$m_ۘ}ܦ(1uG@cʕ̚4g|ytZ%9id.J#}-CzG|6^SaOV u.A'Wc޻T{哋kIό"PpBۀg[OZ) 9$e?9_:wJ/~<&ॶ?;/KOҸtV3/1B^M, E6v[^@HD<ISޞ}8A8%Oo\@ s V׫.5MP7Ҭe51EMN5hL1!FZ ›PC-^\ ;qww ?T*tjs#/g`۰ERL6g-(Tn&x.3P ^i;5ؗnL^l=I ""3y<{4.#BP< |k N?E€ʇ-۠ҋ(KP^֭ lh+_ <6^BdvΙ'sF8忊 GaU~Jc @۴D# (Ic!!o/DC_E,R{#\aƽ-,M#lp` ـs$ƎIŊaWG}qxp).rj]\Slट/0, $6z,rdN}rOl0\il ;H|r|=}sS Aٙ$:^u}`"R!*ѭEQm,L{l}& @%D*Yb77l6>x4F;U^$!o3Rd"|/]>_/D#Z}9TQwpg8v ~q4d*?-{ȦG&ErDqG6⍣:)">eMƗaj&V^KVNiTb'[G-uoFwR>Ow"t-;~q7Cjyq"|<@Ĉ$"=$+jd,rG8&9kAGnXL=hjdP@ |_Pخd7*7qEHA[2NwckTƂa>LPL|KyG0LYbw: Vy2fxϐU.hx"o/{ջ+#N@;=sxG+7|02ZcC9\-=OA.0r$2k/2Zx <. )[NSdF'/^:jgw]8p/$w#5Z4~LK{p"GogLЋ+g _"O;f]*kȒ>0`10 b#MDyzvgω<;כ做Ջpx2őr`L}tlSR @9RylL ]rXJN*K`Rb^ΥQzGf"?z2TjɜThfÏ]mOQdV\H3cX.DjjQUjkKz;ZK֩.J$B['$Cˆqq 7ELKP{ınTOW2CpBDI&PeZ^ktƄB+yhˋ\{84 J]y5J`(.u b1AmC]XJRc1`gЗ -̥`[ja<âF2ކ*"/ڻTOzw.h*ǰ7HeL_)M^XGwž~$b%PMmM֔7)Fh4C!VE V uC;h^  ċyqHibJ\Jx\, FjXL05ӛ }RstOOֽXM]A.Oyl5ݘae{a-Zg0 UC ]Nz}>إ{Pk-z7kq#V'9tuo:i}0t@QskP?&~_f̨zIh<4l`KxGNX7)r𵄗1y T=/2fF8ƍ87aQLݐ~AW%c`Sg@۸ ܕq xROы$ AWUl>џs)EG8uxP Hr 8aWZC[M`P :8 +xdbz^SgIЗ!}eb6E\d,hB8|:82)=^Efzt<hG Ai]6[+o]);~1'm8|B$A,%\]UAnᅭzd?mgYt ts([ܯX^ ΐh.v/^bߝlAv.H/ɝ푂ͤ?y!DBP0f:^xCБ#;G_=²50A|6-@ĥkdm퓜}$ϪCSˆcl ST;k"a^儖bn߭%yϝy~(ZDžMn\IH5O@bUPIțLfH`>ir=jʷ+m96}{u5i(Jo S)KKNFÁKBJ@wfD9ؘ`y7>3MR財{ Ib)̔OVN0Waǟ{%Z{^GMD"Cw#GOwE:'B6AFk) =Ð C /tn-E&0Zb^D9.,gޯWW(gb6EN4cWc_W]a"+1S|Z% n0)`)r3rƆ^g%]38O򙖁JB00h Hr o4_>%%L:ς9{٭z#f>+7׺"9sm?tӬAJ Ԟt')i\ Bm,dOLqGkE l!Q^2 zmd-Vq\p` ŭgb=13L'!'DֻapOw PA:ժ9e45,w$3rg ;oQ BgX٫?q@Nl,Pj"5j'UI%*43SzYԷIk"%ࠟJ2r4% {tئ9/M#dSVZd`$itQ"ߕ|5ZԮ=8v'1ӷkx,д =}s~fd:(crۑYl r/Թ(އW ={ W&RP,O9\-9,%-K ^;`R5e$S^8>4 QIMkލ J\榘v EڬzI}< ilB槦!2–fa"w)Pj)_jhN汸5ꖤsY$M;5 1m9\,ѢoHWL7_[QBOP#ebvKOcrDfPܝ"n3E5۝tsP);15"n+_]_ }c80~T!EY ^Z2o]HХCgX`lN=Vy<86k>N 3RNI@ӟ 2JQuϛz16CP |\m΍kIN.ʕc#b~ru1KsK&K2bˬ߽pEIy'nBtKguŅ:~vY ]17}L-lX-tY(ZGP\װsv 9K1ؤ*~! >TJ.:jJs}$]^osٯT]R?~W@}0dUq:c.n洘3-P+{*ԗr {)WL"hxg.=[ Guh2r]'g.ݏŹco> ULH~S ²nl"ںbL!L9bLp9kqK78li劶,e`ꌿX=.x9}b`55s 3" H*am4(sf#ڒ'o[>h!.l>8Q0zc8r6T\]W1/Xe6k|]`HmpSy[CTZ5+CAWT^b &Q_y$`":כ0̂%(M[/Ir%El4uG~s~rV_].]b=͝FxlBE5_Jr?nFJ%(>ʌ6.į 1o-Kp|\ ;6!my7D4:by\) sY}myD";E]a)}O*BK""R酼]_{a#eA۞R}RQXy`H .akg{%bҚ؉`~cQ![*wrR"ܱ"`B!ibΣ#_ꭒޫߖX/N8K9=3!ؐ{B_^B8v4HW9f}_& cw?X,þC$MR΍ԅ`~(C{ 9[C؁I&ݨ C펅g>$ƻpϧrGRYusmm\,ja$_:$eaMo ΂t")SENHɩ^.@'d õ/1`jՇeNLY$ˊl~.LJw~Dըlۓz>֊Wxm<;3H|RFS߭Ĩېv:l`߉\QK/~\g^lVF㸑1iTS4O>KH7P4MD@5EXtџ()쨜a FYSdlˡ gl)G ZyIj AMv_UEy $wmlVg=}m$N4|r<ʌ-rzo,5h>ݮػ,*Ǝ h7Ȳ:/Šltau( Z -yeT4ѓ9"ғ{!Yj%3RIYӖ 3}C]U dGcg~Jl&L/t #wοqybvUD5|;I^炡:i^!u:9Ө7%Sq-RWP}J G>OTRC?n.k߽4 "b&j"͎Nj\-1i1H!~Hn>Q&tߺi`otQuvdFcc!2lT̝-y!`ivTIH'h+rnhȑoz/+SkXwY, Bxe ^ pRi3i'#(uuhsLzO a%V4gЎ+I9@yC7ۚme){G7_ ') a_{~^Xn=ߐH5@\^Uh5 ʍ4BH}؍|ouPDxy {p$Lt}&L7$']Ȑ(+Fk"b$)NX~V;:G'Ok.y)6k:lzU.\|~0τB HH:}jP htry =bG:ƀlX~fO2Ϯ (ܩ*d'ߙGkDzC}׎7e{屃ȿ(Ep+4W*O~)3xX#+PEF' `QǜCp2_T~tm"@@2Q6j)$^jZr!BwPd |W >BZlд^ {amOxURsgE kz5jdpEg"VR'c=1!޾nM{| ㈟ X2Rb||]oڸ3L]Dٯ WDG2,.rPG O`ޖe|ڀj}hSQ>輝lEvk>b r(5B|x/=%Ft m [[0\Ns c~f=ٝ[Ć݇m,B]K{&TWϢNUv̛pf));"--^U9q^3`xfXᬀr\Ά"`&wl-{<=[ zht_exTS/!J87^1.Lt0 XAg$. :-{^&%~B;q^ J!ݩRN;[ڴ8@H5Ԟ_93S Dq*<ةO:L٣K,QMTx"|AI״v4ht@UeHcI'`Շ@ꍴw4Տ;V\EwV+pՑ?,ImLb`$, ߀j>D0}e^ނ6AycPǦ(~HgUalhO"JmU'&ҡcq}v<5POE\ROc\)fPb!i2OHaƛUcx}EJW"Քb` &ɗg(]2P.Ï֭|iyU+,ZqI}>y4yCqq|n߻#sA$1l$_j|$}p%nc,{$,ӚXow㭭===T;\bƒ.loAFit#l)LPʽ,ʷ1>*V>r>T`PqvJ7jZO|!č lV+W "A1윯2BizP4~=rX+0k"9%ayZ[6Z_Ê`DtBRO&NL$Gl6%B>Eƿ ͯ.o}O jufħgh x ٨: TJ29GlLr v%|[Di kgZV@7(~&>>;_eڹk2c͙\?y^V[z1!)fNC oѰ;D8̰iGƔ'hRQ 3ިI|mI]tgZg.htt;.ڔFA@~rȷg_-4V2.tnK̕(F4H$cϣ*n`rcKdJxF1^Q>jz.kL/S* d/(+;ܡg,h# N$?-n4]blCq; I':6]= [dyKCv>81T$KIjk@4^sʬ/bGQc_멺kb l|l>A{tx&rԬQ齠GpzI+`!/K cpUY "T+3ɡNΐ8>(_ h CC"̕ G0HryS"^Jx#CzGyd.m"d23^Ӌ.M4g3 {ZbӢ8+g#ED8QRư +"͇jv2G1ؐ;I #W ~P^!S^n8bi|v(m9a@C>6as6rF#9#ѧM: lkGب8Ҍ'Pq'.Lnx܋=EbȧC@6&sj}q:]i+gl3.jyNzk`,R" RT)@Oy2 .C:JSv]CrHdeUkZOG-`y;a{*?إmqOt!ֽ0h P5WȎO&֜Jn_bz| ûR?M/0~+uW® tB)z /eld~wG)qzdZF!VIؽPo(?BnzݬݩNƪL~B7R?g.^?ybzb!i2\: 6pFOd>RόMig0L<tmeFK%acLYWg+Y@r!KOѧ3ԢYGf<:\fv \\iH 1j`YJYҩ,Gd֩&xlNFo) 2H O?Qϵ[ #]ׯ&kPWE'QA˶Ֆ1i_/i1ſbaJ45u~Io.-Ue6.X!SEb6Hh>l.%|?WSk&T O M*>:5^NU''XD=?e"W+wN5K2M& 9(XH%x3ȗm)3Co\>٪I߱zJm1GxN'Ȋ&C" f_.?mߟY'[h׮ Ks Ȟ` eGyX}w23XP&!eu] ط`a Y-|T@mҥe +%dNgĜYû^"{;+Ό= >e`]<.oy 3qggp~o ~Wߛ7PB,X{^_vpeV$}4e  g˽.,ݻy& ?PVNp }Dv4Kbuco&C~E]9*aȔQ Mm:EsXvc,I΅8M9?B!N p2͋pwK ||dZB=X;_K@//WpIsW"1ڜi=O$Irvóg^F4d:?aj+Ok+i mԨCRD /@Z^Kܼ'㖟;,o43xoCڎXj{JR/#e߻Ϣ=M%q_Tx{sḍR;Y{oOr7f+ JվFϪ@/dt2*peR|&<.ڒea->@k\᪲$C9ɼYK k qFޣL ctEgY“V'Nd9p~2K~_2{Fr^kΐn=kND\)P-^E6uX zP6,x[h7-%W N1?[H5&[D 4uV⚋n&۝6!Hxbu!vVe1^)Qζr@I屺HC_᪇x0q!-Q*B +DWzd/}4y?H L,*pYٕ%JOvSߪ}2^]+c/,=TK䥒 9va$AO`.W{TڹnXW$FR?O E&]վ^~QydWkeIJL}YDF0nf \AFpr鴍29doU5}Ƙ$O#QtԳ1W 1a⟊1ǗB~Q .?1T5믟PoqE@,q-ka 0R/KQ~>|4=QZ?5eØO$I^2IVwu>Yⲭϯdy x?RVVdid;l%aRܤ=_<ӸBrz\t}Wsk'ŨNR0V߼7ӏ[9k/Í'IÇU؄+@_C%S 4PU*Qt$uR:ۜ8$'yZ唑_]Z0kmSіtIqɿުJ+FCr%-E';d.z_*5H<iʣzY䓪?|j񪮠OбqAelo(`9e .=4M4.eU˰NKÿ~蛋,.=M/w\Uтh,+Rޟg ԏb=`LMqgcȥ04Mp-+Ly2~8_"\j2H("FEV8z懩_?#?=u`O Ms!{koc7*.&U>%d&~bv]o)WPT6}#ՕP40[ѰާJ؆2D'F聁pG:L3 =\MQ\;&߾s`b0fCn{rbWhQُX'ed;LH W!v3V[NH{~7]^ kMjC^8mL>KcS}mc^Lq!B(0vΘz3E&GG-y|L󵈻"64^oF&ƎXy날ٿ7(n'ItPK>iqFoj{ E?]|Oaeu.r|3".PoSL G贆̈́}9j-xROȖų~Ћ+T^oO H"\{!!x|շd搗r郇o#}]W;ΧE1&PE$CLg_Mm(~GHYܹ Y–%r}(`?~돰ۂldd gli{!K3c-bE8׍0< m wM/'W] on!X$a9b)&q.cZI 3i}~$݇*Faro0SV AC>x͖1 ^:Duh],B:W+4 9߃1]~+;KH/3$2^6fe892cyR.PY Vw\ty9șT/9TL{+|gvCxZ$Q "IJrVM.jQ|C}"&`!O.='6hKXyQ ?2F%gVcK>Z3'댆 WoE ӆA !y,UrѼqX 5oۂIsR}|{l]l3ɤ|u'*C9AOj1^8e>T"LZ 񨮘&ZB +*}: M9Isi9D2*j?#SrBt~4n;_T 3`0߷a7^ vOi3IQ9P5m{Eh_^<흷37ar=;IslXt2I oWM<ذ*~-mUG8j997QČXq ĭҿjƄk\ՃWG Wq#((V%; zcgJ[.!;tD`*LdHtZ'B2-)}\264ml`a ]4mK!M7y8!8KLN]HB`wI5*Kǚ#d&y c/M7=~n) l h-ps`뚋=!j`=ߺ=͍TD`|;YQln5e^又C#鼕U *x!Fx+3GxoF[ gC3gLN]jQ+<#r&`=AFEqtmOZv@}.^rK@ Scxh^ =/h2~cnMX =ʏs9:U,DLQ-B]@Ce=eBЧ,NH$>jF?!8hyFv(T|9,/~! =yG[W L %]J Q ; @ ]n:zy'2o]q6 a@Z[x ZF^rʓ-m)+xzPjܛғzFw뉯5#S%/D!"5s<99>~HܚP>T.zմ#Vð-*[!cE)Tfk}%yd i o". TTҬlI;d H%}SX71޳#KhUgąí5 QUD1ek!5NLV5Z))j+fh+ε薘1G0>}NA~ />Kt1-mR7KmHWI|IKPǧh&{KW\76zB>*^#;Qr4/.-C1+)~ [ɴAV؍>D~l]# >;&Sts>n0Be'ׯKB5 !vsV\[Ï=/%sj$ҾۓX2wV:D#WwN wһ\;'"eoiYdR}i9f&u,jkd=1gF-0rDejI1*+UJ;I@o6Jy6%5})q>IHkϞ/g{oTh]3wUrM~քg&K܈!6΋4Q_uShiDj&N+޼6m% >o7'\Q xaBTMyԁy{[7i03  MvH$KI> 'QOIw}JM}G"O҅? +7/%OI$Ԕ欝N -="/ 2ŻY.v;Bv3Oapp@MD`8 מeO;NȒh|h 6+!AI7ُ Ho7/nsC bV K1]ٟ1SU83`TNdSʌi+$pdn)fƻ?C*bXWlQmUb%J?&?2s|I :gqm]W}p][V8TwO~r@[Au]jB%'jUP q-f_Ƥe[Wr7= ?YZc.5reY'p-l\vɣ޶ݺa=Å^?e,O o  `ԨЍ&uNH,B$0?)K@A6 v*&@ z`W$ Ϲ.qQ̿~SC$T3kGJ~0P=߅e}@ȌO{2< %, V#ΟWY7iqG*%g^"a[smo4ryNdNzOX}ԯ诠\ݡ<.sU9SD Eq`2L®U?*7qz5*skrj^UVO{/䟻+ &ϋM~7z`rikh+rS%**L|r, 0!j-oq:;TU>~pQϟmh9 _nʣW 6hcAs""%i9Nbߧ<لc"ڳv1NGvI=CGN6*Mبhv_ڶfuYx7K~ŴSu X4%Aq?վfR5@,2/p)0:"&!$oB 4yZJ8x-lu[(q|bM;6L\߽2\++d[5bj;;'#=,|U35h;M psZehG=_" ^P&/8,ȱTg|ska^~zP$U'D„؛}>`|2Д9S08Bk*e.sPN,{Eכ*dxsU5@3G6! *j^(ie)]( %oil]pRtr`L}2vo eΨNHI>XTgod  ?J 2˄*vن$d7ٛsB^?21f )9؜nQ/ 'cT_CvhkHMhxtE9J,?prx1'V1 RGGm*wћGB S,{K/] }Fm|VLjwGL#ߏ0πI  :B=}-]ZTv例P^4}j+./D;}lefbhtyaq"$9Luxm[ v"EfWG[˝wBFpΒoe'D g,&]~wXo_M.^}XY4-+׃һ$qH'9Te}Pʼno`Q6~@ LG>t@1^,4LLxUz_ѯr1ށv '[̠?Ƿ R_qRYZZoMI0ńUzSwXsS.A)ܑ%ԙ-zT(DU "enFFiKUM,c%ÒTҳx]75_KAu~1˯+?+Fj6#cx{+k=%>0@cXD ~|~( *^LS AQ ϓ()iuCwrĘWWmr3OI$+;ʳ5u>;lEl]Cb@=yU>n߫s{QOmS_VCpbSƣ;yLQ"FujrQGev}1+w _`}R~^=#K˛vq^;ׯ2T%VnTDȬ!ţ$xq$UзCp_Ljubhd1ȿ &vjc;>v) mS ͅH'`㯛C1e5v肥 oTdC'5<L8ɠCwh길~_DْhAP]%ùnzj0viynbieӴ9C.4L3*=6%7/\j~~s.O%ʟ\ȦzcuWSCW& $G%-iSLSJV?{SP~iԈa:Q_tC縿eЋ䚮H1SZ솉 I&4H">K5`8 ]n,&x*׽ >AWZK[XD2g-voO# jm%{|"YFd:@ʵLRn}y~1x'^PΌrO_LʘE͗xsO/LڑpNl?QG67bi ٳ0bvdKz9zǶKo ya 2LcnP[XWL"<x-&?4P11,ؠvË gF~胥Նaabw⊨$(دY_jEDwqUK~r HGeyHN$YmnL%<2Lsa¿ #6e!8ώNr3vV0 0 QY)5lPJ~RBŒA1E%Nwe\[G|x0ڸ@6eY972/am+FG(+Τ 2X|y #FZ+\Tn'zayLFZvF\gE\b C WaS3i0X&0SxL*Dwyd` aW罣)a6-}GA`hMM< kPsf߉ XR yH|]M'{#&W]!@0Z:s=/hX VÎ ֔R3O.tWJ?CuiAgc.pBۨd"{7Yu胈M+G|9BG?R{W;U '(Hx|8*H{vw{EzQ&%c]^R)sj.* i# `ƍvrqr^QM}o ,xg {gCBiuؑ[8joR-XA wWX쀿Q`\fsN6Mi BtHi׎?ۓ諪A :sn@ɼؒǍ^[VuMd*c@D}}e@CYQ” $b, wKE2cX*?l 5v.mdS  ήP$$'gqD^>dy "~_X`kv3mi_,P]BoXd)@& [GF<τ~ K.{uX8w~1c P$,/} ;|Qb7ƘvQ8Y%%⫘V^< LeZ9{ک5@dʰ24Q<#Mdh!#RTǃoW)> MH6im+_5JKt #?fꏽjOIJNv xt1GVyQv7 #dAK[+-cxum)oX+9vNg$ kc[ yf*Rs7~olr[{I'**ck"|Nrz)×7M8mEd q+YDHߎ:< _K &k|o.XL`t9Xtӡ/ P> ?zUB@Bֿ³]BB-_:^G#d,^= ^X!nz4x@7?8g_קݸ({AF 2E-P?:NEWRGhWÇKbn㻌S(iΏAI#,e T(F]z'N0PLf^5pWPMwsݦs 6bU/kԨ(ky_"{joЭq#봣p_DaUB-A'UMs76"٪[&y x+g\C7XtS,s$&K=p"qNߦJ.$-ƘRdZR%: id9O)!9ʵxĴ"[N\t=^Zm}U)%|ۚN!c挆75.v!xb8vU}k|nlɫ505 BݙIaCWx~?ӡ'H+ȺbPu܊bnKK?SRGK\P4^popG^#G0@ʓ{0D{bx2ф=Yb{PwYોEE#-0E %]+V^I*_آdzEZ 4/׮ y.3IԑC."٩sNxdm%lY 9פֿi:mBS\xFg8uԐ9%+LQ}Y&?-2tY(ZŮ&v!{RDzVC\'^!(f T$isN81pOA~_l:RU\D0bAP3$CQW wHDVpv^#2/j\jrn.cTzT.GyM*,Jk@bkM$i뽎%F_>·B}RDqoO5Y >|{bjṿScL\†R/P6lR=H$jjC ÖLl5gԲ.U3GnR{2*L!}.*Mx9OO5Jۮ5Փz&-tIW|Ls67h ^|[ [?*T `FkՄuOr]ҕ ajοd2mvTZ$T oynk_ z,B&{[r^cO uaڻ?ڵ59H_{-s`Y4zSZRJs1'|sD~P6R+`d+q^@$!FWF8!aoKã/_E1\3͓~bB,/W1bL۞PƠMsF-*̦Q΢&JWk;dc=b"UQ iLTl WTf8_0ee=nnK7fODrΧG功nwDwⷒ_ŅM<1ٷA!Ҏ3ZWL9Z\ܼ^JK(tk/)|$zH6Tӎ7h烊6!S6\^o+ۙ87bKcÔ߾0 ,3pA$J=vV7^5Ľz ʦV]"ijlx7>̝UU:28>&û/gΖif([l(~^:!c"2[ e&5$ڤS݆NBlNyOnrU4ZhQU+46Ꝼ^3T)*&|+1jO&{ 0慯%VvWvB4{w"#BRuXy>u"$Y[S[uad;OX}>(_.I໶+T՜640z/"¹vI4lC.Ɠȫ3O'!*'Irbզ+*=sFxde:C|Ӭlja)xDb4riȣ[-avA*[i5ZNo䔃2DYD[_T*dƍb{Ȟ]_#34 ,\ER~*>rd)XӶC=Sxj/dz5.5tW(hs(4I< he犆xێ#~ys>QYaC$ tz" o7dgh[HXQUBuM!FtMxìF$9O#,ZҝXHCl+|Qm.kA'BQŊAswqw$.P} 4lWm52mkÁHN4ծO\^W޿OEك[}`*o+2/fnj)|}wQ_yLeR듆w^iU(B<1 =% d_ۣ6՛qc/ Fo^8>5w iǝ-z~^CB78 >vGyu6 - 0n*947xX&}w 5QjLxo!!tw͐H&R{/22֣׏Y`4r"be? Qcf3 )KQ ˑ?Jj%GC@2{*YI̿ǣy a{zl tlՕk5t̉~'|Z1Mp:z4ҽ p7y-%yAF_e?בw׋-<=5囸ߦF @Hw`p/-os& `Y_i, IFLjoXK5)URDUIK萀'7s9.g$2;|=)g>Nv,~xitK?8EƦpZgz>&B7~AW߲q9 P3tsدbpb e[Gg(E_a0%h w7յfi x{&W 7)ԯC2P-NP ?^J-MQfobd%fD׊:%87 6%]Pw<}E<л'̉F}?_ WNQx= xH->q16Ic e0VV! Vg-R\ Ԥ3o{u "(8)xlu=N$fثtՇL/1c߆A.D#7>:7IEDHG%oJU?UǗ@Ζ(h()!'&T\j\K鄣dX%(Ru&>Sr$J~(Sק UzC䦩H 7Md:IBUDЛ6~H}:&*Ai@jZ',l ^T\in{}MXRۂ1mg9PV`3xW#L%p8#a hrm[HM|(}p$G@Q[@ 7yЁhcgjYљӓ \b_l.jSrTEm~nc3Ȝ HyB,><1:feVi)/W߷Yوm$IBz<+rgRMX\ɣ}/9=:PfL)bm0|/ŏe?1wJ e()J@KD-'%SU/?wMYG #\rg]0.Ŵg؅yC|'1ⳁ͜|e-n -j[1SW<5l,lQuQX!P qHpg)9N9k(C95Err&ZHɿJ'`>;}뇷Q;*kxbViѠ€"}0ZJbF6JsF&|y O@lqv?]ngةՀK,?u_%QI 1ji@2aFYA1C[pv'h㽰Xɥ)V`W!bC&Atq8WtLx"eMrB(xj΋a5Y7[>-|w\ËmU#uR6QqBL.1K>4ʂFVGg CF6J_&zo:O\Q.A_{#v}\GVyfp=%,A$o2=K;7( "Y&;"5"4(u^8Dܸ]r]@D)I炑 J,\Ne+S "Mm8m$Ny מH3T#T#or4~X)%͂XNUǮf ,6ws~x"bxװæD0lS^j:.~<;vLקxƈYi[:԰'&X}%/$oaΰ\FfZTU:㒞M w.[פ6JҡWï`yс=aX8'˯2l yv 0 2^̖aJU&ɹck*%q{"^TXLdGƭ)Kc(q GDY xO)v- ,L8=+so\J X񲭋I-20<YXy5E?^mu?Jѧ9DZBnC{KCĩ NKokG;v 26!@//g+xK83ɨP9 lU3DKKװf9HUs ZUFr9Zqf??T5~8R 8gRd)S‡&^W2jJjRs^V'"(= :&qTv2"˹ Vȏ "Pbz~>i eTa^>zcj dW˜" V 4~>=fSEVZ!TF {/մtB fUb|$?IsPŶϑqTgON~$imduE:Luf{1O%}非X[Y!Dڣu5֐V|/9??ϷBK^=]8>R? "MHYJZ a9@)O#}q_|LWO%qcI8KMPl/hgAwZ01]x؀s8}ߡ 1!aV8fp&pD{֞Y^ >l-v@[㎘;79 )0/P憕v( t^z0e+5\zW5Ѝ*׼VGy_w^[UTs`tA~$$nSőV&Ogtx?0̫wl{AMPFP4ҦSK$XÂ@;늯:rH.}=V__͙Ze/az &V_~ ce1s游ʢpu E]RW!^p[7?#M4~?Eaη޵G{ 14؅ ,܉g\z$_??|RRU6^p+ϾQ7)f[{v2*/񗏌KI$^`ILm<¾hã*y\~'Wmot쉜)Nqo V#Cgȉle#tE?D%|nAJ6d-๗HN?+'v\o?F{\6a*s&GXx̟U}XAb+&gmb0e`B(XnIYZT5nn#猦EM. _ℎ^aCTIbP%'J,8XI)bX.>Էa5p[f9A_ЅxobNOdYI{s>]wzmM[X[r1#΀|DloF`O_1ݵ<j(4}ej}.862zӕIdˠmx6fm, &__Gh$!x*S1\ 괡,) `GXkz#`,&ZfYU]BD ..oÌ@bnPs1ń'Iĭ@o]I<s>ug*) ȿup@3b$=B%6.M?oT'[ވ|Rfo{}be! KIh3\A!)N#+V]1KsMGJ:g}e,QRPc/bG_@5]*:[^Uj~{,1<_kN4kxqWH2uty&H^3Ek%5_.Ɇ$=bi!<ph.+s!5Y\"^FY]jdM6sB}-JP2GHM,!8]FˡL孭 P6_֤9_ݒ$7~LXП.]`Ѐm @pYdh# 2c+;J-ڙG,A F#D P+  lwH mP}NJU쒉vJH5mfQw_+tй!7ť)ߌ1:#D_X)زW:h.{$&y$ժuA~_&|% RNmUWnʏ@*:_N418GC\Tj4:[Ǫ9oNDz9ӊLhGG.^jZ&]iJoKnr;+=Q녳 =CZ*7 є֚JrGtx[>.ͧ_/޶W/wHpC TjFɥzgөm1}8/Tc UU@\{/˃ĐɬT>mks+2q]vYUmU  :F,#Z˕BZ\XyGq_YT?k`r?k!ԛ27V:PNI{N#5*Ǥ ml.\_^@DV{K,g ߵ(qh}$w+ ՝Z>6/pԔjrMI|o-%7d*PZUjzZ^[])^+:s[:[V<÷nAܭ\1d(Q{1V/NJaq7l7!#%EhKdiwW7[J6~^،`s3QF;{ jDDyPMfEu{?}xZxߑ׋W iP05N;G/$fz;AOr}I)IE]\YX9\1 yt/rJ 䈽'#W7s^GxŔC%m.{wTMxY;W C$GFzoU=AK;=K)|uvx+C *Je2&ϙ 9PlVgڠ:^*RdEƔExE2v/%d ~)]}(iLGh =Jӿ墇4\*8TPri ~'bTHߐZ_;IK2-O?V"g䮙E}e#RY( 0E8]+u瓘.;W)%Jd'F=Wjd\0G1)%E%ܙoRI2?J6LcPxjY k'mg+ϷoR N f"P (J!uT:~No;+X>=6ͥE*fBp±\ 2.MO#ʼ7t0׳|~Aʠ\!}-_$#2܃8?75r7 -,\8XC$ ۊf*t=ɺΌXGHn(ʰHvA8s0>o$=[ n+|#6fS#dI-.5\`47ǓYd޳ 9asxhd/63 EdmL↼{@#@QY*j3-pB_X|Q_*>&vW2H n-uTCF-[ߛ |Pm(5pR;~_6^'[뵠"0(%-W(L٢6g > 3~/7@\Μz62[D(P+<+W]h1uyhDFOBWYd@E5FbQeE Bܿ}QtIjS%eͩ(XM)<ɧb>@굮 >O2]"|gkD{sV!]),$Ӹl$M%hWgBDKpAv8s6g5. sI˃8zMk?z>ov+s'(uT{j~.TN8b8s2VvD8=a7BP}f`.pߛ]r;_NХ#gt?I?+uD"O)p99-1 ~_tT3㏖>MeNj;ɬ8!H|ШI!eK/l?L{&Su n==сmIi4Z=QdA])ۀNJ@F# {\;v^a ! e^*u!lly6eU|DՐْI㣄**.8y;U^'!6U#,6yxqd̰䕯R0xj6X^?҉{TQGpeC+2 !GoݬrP-56ezslKbnHn.͔3bddX`ZL.:='{*^xd.^K\3y :kir}e33)MŹ7W΂ҀZ៘1@?ݳQ׋_ÐdzAe]7+i+g]WCZKu{đc:;s::srqKEROޢ- 2]lmh!B  W1{} ~vDNnV0oEQab,AxOג1" DZQ^#si?i!`BER_duC[h1-Bnzd+QV{eW/+2!Zh`֐k!҂=Ϙ\}^x$WzwcUe-c_$𭸏95 pg.mc{LK?'fUG2L>̡ɏWqz{ NoPS43@KS@>HuF曄+[ m+R9HS,_ *QLA,=pn4ve 5ȻPq<wjJbS(Nnz%k%ɽX[JE@Wæ<1u8H(V"@ީOܲ5[f1rЉ蕸𢬓qAJkS*tлt*0 òl$*TqϏPwk圄p ~a8\^){Gam_?wb_mL. 5Gg &^csq<&k'puG>B~Ƅlg$ G?3H0k5,gZ`l {%y`;I؂0GeD>b=4]s`B?!R `2MPD">}9ݚzePa[XHjTkh=Q%00<)JI'1& *Iu~dSbnzPNesʟu 0ˋ̮61Bqnaظtik3fXݎ47OTn$|)ѳA H*bO'-,7{JYm*iHYhp9h T&Ƣ RX’>}?13a"3 6\amʷ_=uSrH\wtCАz8x^)27S{yΉ7$]4xG/>c7My]X9I3$fr}#)CqK"{K>G l/xXٚVNRsp6w X/q >ZfĊNK^c?Ӻk Ik7KEq4v$j^( :Ł­綃y`]"RA1eP$_!r]ŒTޯywUn*wiٲ%"4KM~.Hz)FIAH\SD}^S'Gk0 *ݾ95‰s¾舔9hml9F„6x{:Dz Qi|B6! <;NޫϿĿzSu0χ| \to>ݑhFZ߿(}bGdg4PAgXkC 5BΣ-[',nwè>i= T(iwMd{ ӍVEFaUcQu+&\JjP 'w)ԛ#G_B˶CHr4`QQmq81㏖6)*>cݴ2`q̿ѹ Jb6r3M$U)oCs<`=j lD̰tєаE!wGs~fL,gp<'d&X;jA$d)s[EұoT]΍ire+-;1T p` (%?Pނ [`yS-f[.ْWV=1 [EkWM8mRZn&p9iAT<=N.?PXȀl7z`z+PB@#/p!Wb'$$C^g5t0}eh?#;Vn{>מg5k' fj*M]XB8w ufS!` H}CDCj xEKaςGl5{>9?⹨*p0=Vz8wv JsݢƵ+Do9e5gmmm톡aPTS-L䏱l/ZrKOZ:/ 669GB?gOU?4RJ&+(o[p0߀ ~ڹ+4sB,i]}XxzrcM峲+P)rxx4Kb|Ǵf\]{ .uo㢀rfcW?`A O- ϽejJwGAHV"܈V}8SF Slڪa@@d<:d+-O>_]ĄfBp"l]u67b2LwGh@xr}%{5*]X/&5!jX'V7;0}:`]0Wq(q!WqVl l^W{@# :ZAyK)PX=,]BGSڮܙ. (J@aAZr&UʥF|i S)'E$v/Ph'.4|SaϾ-1(0#l=ib'(PILO\oP@,Qߘ75Za:X˽cgOSq: $dP=һv}>x/$~x>fs/n,3Ui v[xI(*X uYuB- uð xf})~cR֙]__L+[Hj=s璙=A_U}F&JXEE-*} +VOsdkjzH` ^o7^Rn=;>fᱎN*&MJxGq`KF&B6}fUk^p5uF6.!ͫxB2"v61ђ089j;`(Pth %@-m0pFIK65PӾϯ?za$ʰѱ0qjo0ÿ̕y*!F#?ȬT,r!7lf+>!]w[N ZlWc.NR~[R_m$Ŕ S>"qj`i8]PV/lEpn ιqqCwT~*0Mug%-=zt<`gL|fVJZ&Z5XGizi Uf8z聎m(u5Z ߬FN3JUS :,Eb&x{~ևf7&\ K51Dz)iJ,In,igBצW CV'Ҟ2 RQ` ^ۡ;%B.8c*HOABBk[x~8βZtm"-]jH_ߺ7Zې^hl܎o^HD6#upw% X|B!o|4)Az$Eq"g?D˵{ ?OHgE< 7 ;>'~taGgٺ&"ڀSDk+3~ğA--L!hhgGiOkG.|j^xy A/ @k30o7EdK0#XMm7٦w%{y_%bCXK<1ψU>@tg(\ tp#E[>sf%6׬:OJ-o~ k.|3DR 3P")H3P[n^0I"(l!o65q۫[>GC!Vu ¸0GUlf'qH6ՆA2S ˛4185SZ|/f \w0՟~ AnGO?y^|di'#  p=H`v`:?_跩Tcw!HlN1oҎ:ΒޠԠ3Q%\Y2cCb^u+>O6Ee{*Apm[ӎt꼋9ԚY>a`Xs̖iqO@e JluӰJl)}(꩸H5CⲏAyzdR!6'Vݛrv-/:P7TRBMW K %gH +Īb$ҠxEeuǤX: QTy~GԉH#dyʿ-~]Isƪ1 dA}Z^$Y}T._ƒ/Q{+A}>;;O:.|9+ē6%7栌XX*sc$RQd(8<'zVX/SKNJ%\=R|LC7%jlPFÓLeK %`Ms_$n !U=Wu%= 0=FLB}XF Wilqa= 7ζGF_֑-I3N)6i$ F(nb!οOY|NK/|h 1b=#ʝb%ʆ AUw"PkFKi4YǪ łgU6d y~Vyͼ.A*GwR7z0f2>DZ.GН~3<%nYoڵ1ނ]YEJk"{GTܜ 4 Ȍe<4IQIzqwhYT<@}lU%m*G y\1rΖ%7N}H-X躨@}Nx{ ~m,Ce}dاKw 1> 5[2xF[6-; 9+aRM θf:F9O BS8 6,61P_]Fx7ݎȤR>F#yd4 l G 6 өJ "e={=)-'L)y {dV9lLod7HR¢kDn?o>7&J:7!UW/=,1 CqXCF=Ly|<X׉:ߗjd疚Tfʓ)6UudcLE$2`ќDteP=pY+ 0rK|7 Dѕ+T@"s ^ڇj_Zz.0jűe_Grt'?ȿ^3v@*'[2i,I&d^Cuj+-ĺ%q0/s`=JrdJcABIko:oiR Y)p_!gu8fH qI9c@_ZT- l- v7LsmyfE67ֆtN B !~ghE whk͛gs)OJޔT|&  ёMuUޗa+x '#j)~(E lB].oZvU FHlf8k/U[qWsye-+2ݴ6}7Ͱ:pKH]m6:69]0-彫K͏J0_Oڎxr7@+aⳑmѿ+,掳ץ_f~ } hJqscT >~"vF#=X*/<'`R~&+ ޿ŸlH?5Glq[Xe#\Ş̅?qhޢ`Ù2p砈|0AY(^mƷkJ)fip:TS\>L~ɒpI#P.iX 7VPcB\2[|e=7aU/={ERX:رl#;; *XDj8c<'+hA2˭84X,қqҏE<Ԑ|8kۮj+Oٜ_f\R~@6Y%?өTK17T΋CN-Sȧ su > LhaATa3nz=w77^+#f|~dh3soqC͐ zPQc(@'+|u~=5/^e̞|ew?M ʶEC_ u]?I_JQRJPOm94T&La޹,(n *'FزQ]?ͥ:b.Znl2"!-*(ZJ&=w~:mX'@0=u4}<_UԈҲ!~Fj*1 /MH ֮__Wod#\لDI:B2JaJ#?Wa mUo[rBTgoHbTkcyl0hD<@x7ݖ|2ѼXrvzk/΄Il` ,ЈiҾ2Zc}C?|n_;6,l]f >\|dsX;A.',=*a#gLk b`r  eqA2gHER!b[_kvtrjem7FBWbx.{mkŸacL"z*$sϒ2݆p@6vP6mz3t1\ {ΡƤ-p4+ >rߞlxX{Aʾ gGǢE1=*QB:_*hpnc&9MdWj Ѱ^ydTy/1~m?8'МI  ,$w̆aRvE*iKc9mhRr3<Cd;5-/M1LWGi.28K|JOa)̧#MؕvKe:kid?<.aJYǚ6dgHz,vTOִI cj\3] G=BiP~Ck"1R q́#_{dt=|zo+ĵ W|729Xb55[q/ C%Xn0k8+:,ި3X!3nXK7ba̺XȊC E(9,K.F;'xu(9#h(i[Vwu0)jg͘_ϡWј,B[*`{V=7[Z 2tGkX=+ogCJ$JץmC}hդK؅ ]MSr)l hy5,*`}aL5|oQʀe ό8eB@a7 Ŝ6˴хr$X:"鏅y!0 ssfǃ =g{h/Tf;J %qIj7k>IAAs-9 󌐈,)P0B+ã/&DyVPJ|D>>yl8OwЖۛi8WW}ma=صB娢 >Sm`礵4X%4/ұe'ZGRXjZ,7] ,ҕtW-@~mln[ },o/ l\?ӞxĈda4S˞,`pׄe#. .i$y7\=fCXbX~jGW" JR6!HrE"ÕgbIHI?:|qd#p{Tgwd*>eǷ_}N@󲬕iKxJ⽷(4S.9,L)TO(4w&%O\vR  ɋf"P5"wX(<OC9c'k7@-gAw2\ls 뚡v5b_[ӇU~Uq2H9*1fKߡQʯu)NDj,c1e.#5 yY(P OۓSS7j:8'dӻm[ӔM?li6nhСl7w|û )HCnqk]߈p'ZbS4`,6HMD>}_Ꝉ4KPr zM6Lۢ f{S񥣓Sv5Ͽ,>ܬw<Pb*UQmet!.1wYH⏝ m{ȦH3VΏ$Jskxjt iI+~/Eն-|gǯ)re&lľL:9…'yEն7(xYn\:jca,Y{0ol4Api)v%*BGGDkGj>_K"U\!jj2 kh +YEۀ0Wюꉘ5˛xŹO)xھ'a 9`kG{l5Z9PA2n?WiUW}zKI3035?e>y /8㱩M%눩v 35֍ɾ_ n"ӮbJ&"n:Aॠހ@]9|8bo ~Xڊ%kLJܠ*l&(RLH0%3: c1mQ)qu ve5" H3qg6Eu`dbN)EgcùaB =!)}U dNgː/H00m-AMrYbt6JTϊI OmdF1 !| #~ ᜅ,;1pGjAmW!vXiFZ߬ ?)ŋ,W`p` -n*zaqj,N*Zof}jÔQ1~w)=Ltq+#RD`wf1m23mM2ܴ ƫʅN8+pAbq3ORsLuyb=IccF@ljcj0I `7]r8Av"V%*F<N.>RƮQk _lmK΀$I2&:ol4oXޑνR\>[7zfV6$PlGQ)jwr%^M ljEVf3ofl LcRưo*:1>f0ފꏥ)\0Y7@ KEkhZy{kAZ࿆ "3 ]WA᩻0 Y0wzepׁ= :xl)61:PO;ۆJ,Bɇn9;( mD[w֭:Q3)fe + !YM,oܟh!8"4j5Y GQ86V.$G 1j,FG #t0:q@nx|\[D;0^btpK->O2D׆o﷣f_Yr.)NRpt+vjYţ{ ޒ{XXa׉j uT\e>A#V`Ʌ,ʳT\eOyBnFC{aٻ*!}B2T@lXOPm[`Bȟ,v '8R )Sſ:I@NlQx>)9)sV59k72JlOK5lꤠURŲrׇhJyl{3۝IHEcS1~C)Yz!)ln^?[fqӛ=X#] )778Rnt d4yKk|GUfz w}8E]qH)9z%\f[D<` n cφc&t>ڧ$ťžD㿻K |8&:x>6w?6U %vC]`zHM8-bR `مIC~+ǩTܻ;oV5Gߚg0E01e`|Gl=q:d^/^Twےt6 96Sv EBX63?%<_ˉ Z;{Ebpnд%,N<41bq^ y"Aʱm"X֮ؓɠΐ|ĘjB xY?$R:wm7/vK#u#[sb{` wPOG* c2wƁ1~c gֺas\=ky(P.vhvBGV['ɿsO\gGILX7:@ *xj5Yr0ؔQ#doKC16zvmiۺĚ\0ۥ lqbq7)ɺ]r%t’o,:*q4 dYҗӦr3jYb[E=^su~o/ Ƙt ~RP{9&g푆j2/2؋~5qpcMQ?/ïvJԴʛ@#=R8‡vqd{<_ jٽn6sKQkƤ?6{k4J:纖ee2;=KwۃKGFʲ`ӺҫGs0SѡZ/#/2SS%_ryE'5ಢm*񖏊z..嗲6M|*k% 7= v_W tU1:OtRֻ*ss>~L 76\]Y2"Dg9EmO~19nr6hgn! ޑΏcnս[i iSVv(?7W湐}^/]",6dF@~M{o}2p.xK\E/{/nb@:m]!$Cj&):ps_U$n=vC5ZƵÃARX(+y4*@1W!nnIL888  k^ɬ*{mP"gP@tݴ(a{6_ QK+!Fr~iZ 0i >s~7.j݊S{ \m !Ls4wqێeTXi;:Coc$1dN8nɿXݪcvt.+!u0ٻġv{~!==p_Ntv`H6y냲Mx`XNT2vQuK/zߟf#H$ BNAynޕ i4k } VS1W]Ei#UGՂ%K+F+M5YRqNv!kTc5Ͼ!@AǪ(#NPA/ NlՋû蠿\ YiY<{ŰO|C]3<;rb?F]S'~zkJ aphq=J/gvlgb|e_ljyb 7}*86j1#qrҤ:!6F1u[+$P4R&{oP'g#5ѱǑQxi&˔X`斣Jh4C?t2*/d۴0n/zSld \@ }&poiXJ5QH {]uLti]f3Co*$RS"~J|iߤU$lqoq,$*]w<1iK TDo)ā l׎}s:`7 ;L/$/~4@{? : >mh^1>SWsӜlvxJCJo@rҜ4S9>$-|Cs9e0sJ@RÌ/NC,0L3<[EO <25lo (-j }e.DӞJaDoɿ$>}?'Q=҅"d7],{c=L/rIm ˞9yɡ>idim^$Ӵ!b vz+֔?NH͟$C#$俴Us1CCyٜTGBw|\I}3j eGµO^8SLUqfb 2'|\8W=4X4$kKajpgJ7L. /zV)Q{n}?2C/zG'k$ʬR >x,pxh=0f ,>g"œ)( I|5(ah8>&~lLX Kmn/J {#?QִNs$R|CH$w,x#v9C$l!m+ Lx /*,6n̚QJ$WЯȫιC{bKl>iyVqik(?7^Da] 64~/27?hqj~03S9e%l#5nٱ ExpM}ef j"֏\,tpiC zu::pH;(*鄰k'SKWwPR;@(ΘڛOc># IT'DXZ-j-,8Hq` GxwR S?uNbӴKOKL`$$H]JKgt2,;O"I7z >L!e"Y^YyCOhnGbQӚ?du=8 ;5|"Ї7j浠.w%'h>: ү,9:HZCbuuA]SvƢϼ!u`-ذY #UĦAҬʋqowMLkϐ\ݓeCA~)yva9_>H.nK=Wapw񄺺RDsЃ2(}/+;*jBnIM%7P( "S3u[k+m;>ʐ"Rqu ][N%i$ tYIe0fQ }i' Xm;0֦o$L;RTnlSQKvmpK/X EG6K9ၯ&;*r->="Vq=WMf:$8u2zqk\'p< rsϩ'6Ks3J {P"C]"P\T*3(TW @ l?_-Yb_ K\ j3;7Q7zpXO[2<._VUO*kUhw~~l)W֦?#Ri aiFR/T|Vaqk~!T$yAX^TN h_a#rJ(|u<uK?O2uh M~M]_ %e0wN`d*qJR77P3$od7\ b+5&Xߨ 2 1e꺵 "},0/y*BDBmaخRPIW-/]kɍO'wOKm3 dǏ]nCd=M1DIw!Zr_Ի7t|~XiШ A 4v3.X4X_ kl-aIf;ձ@G#7DKx |aAޑC"}CQ:E+׾wlXTZu!_kO|Jy4Un71 ǭek@|ׯ~v2W]ݽ5#dcp ue FD0HEI{._@4Q#Q>.QһꕸY/TA̚Y 3i^N~;CnAeJ@@^{=إA?ҡ&Q_2No0!FꝀh2bڞU 0&40qK39{!,NHq^;"H@Rd1#w]:b˿]qYx0شO<*l0v!!5?0M5y_6&Kpon0yd@g:չXEyYw+bM(6QfUuK=Yx9']Oˁ+)zy'G4M <b Du{mt;CZw-O5|h԰fl,\[ cJ?yc0 ÕG^O *7R p:.Ex| r@pIz"dzG)ZF\3[=:]5& 1n jeq֨6݉hE d#6PCi#^ea1zIUȵ}_ӧO['HEdv Aw5ƅ@}wV k~D,>ؠc1{7MX>KԺC3zvTA퀦&@ЋƲ; %%!y0oiWޯ1t3tr׷g1oB]a('w>0Ug溗U=stKH*<  g#%6k Yewa&mp{''OMÛ#"o CUw?Սr AL+C@)i)[ 34f]ݨve1`=;w”t7VK)~;rw.蟸iN<Ƒ, Zxhl'~юTn 45++/HqrEߴF}3U3(v vgQL^W;.6#ܶ Ky:>h NWnH69\nɝFsi!,\EFh8rչ)rbvB](!/Wq;H'UE֥Tߑ@Լ+!D=D.;[=}>enKh'(ܺ`$;̗QkeN{C AKa@K&D)CB_.%-o&!uyJ?O޾շkc&+ɕ'QASPcʓ+#cnzʥ|>x!\m:yMt1GWH"^U9<" g?E6^Gl.cU3|3\͞@?O:9i`-%/K(NKDWV7m,Ie;~F6C[ʧ"n DAHkB/ô GS32wF hv T~s"d=Hhb$ӼMgϺǬpn KXm7"_"q|ԴoؿGj üJtۤx{jbB>䤃c'E{iA4s ][]}-SW+Ef\_F~k" w,>$j+oH]J@z|JsEU?=%|nN[|2TgrHWaSό@Dw?VN˟ ͧ_D+6CcxF,3i ]EKotV!Xw#qk7(2AA A1O ShJosUTj?u٫{!ʛ`li^nqbg۷u:)a3a? heA4q:~lVX=`:uYseA8t;Y!F7s~SvIJzOtSdRj_C}wDoɝ՛Shl"cZkKqRMdMue&ݤx DcQ6}'h?;R7wgڕza Wn3W*ez7uIa+H8^^4Ĝ3:%zHki}|lE B.S ys?֭n]#un@nq1MP8O}xT^g wp~TQ*vhZA݀FZ]%+,Hc 9[3Hv.+EgAhDtl %K %3=g+)HfɈJJ,z?9N8VF9UNJZ|gFi2]n*,.m1{\$b)I>$J3)D@5@`0b(K O HeO+w|%ނUQ?N/3C<nѧpۮiu6So\6݅y|V>pɯFV'ݒz)ւ[{ Ky1ve`]\ٓ.XUW̑ e`s}g0tt]!z,ݶ8Ǧ= Õ , "Ζ Jh]A:_8 A8z:9Qo{J^E1|BO?Wrc8":X*w4uS5˄~̔i=H`_\$^#kDl0c?8/2ߗ)c'hcu/I1l2|Wl}~=L7Cz2gYѥPL ^?/ewx~I}'o:ዡ敶.Q-HeA&Gm#G];4_B700 +ސzrڃDB~*5K RrͮiP *CLCm>Y$$n277OrFqU+GA`J&^|K˗g#~OOQ xJ{׮MJ=v9!8s8}4Yj<Qn6YHcjKixϷT#vSf`=TllF~d)`"v69.At_0Iڛ㩱y(zF2#(גcǹ?- WdNoEJ yZ3w AYP? jdAebN]XPn(`|ilxD0}m<3p`97~1MO}B]c2,al?%k.6"uu3->Ql6)?r .nn,)NɚhN]i׭1yj(X0Jl#x ~[&rDpZdaȳ=;sÄea!}PoՅ)%ܡe^[mXUUI˿`lI-@<;v7S$4O=ZDE/v ,:.'[ b@3W+^.tȮ`GgY 0dݎ1uq tx+l 8vG֚GMf+}>e RܳCU\Jqw#D{鳏)ڻPz ,e_+eKp>Dwpo~qG$T>r=27!UƤg$tn>Ug Bdo>Bp459jHVvwqXQC3ϗ^ %IYH!vvB@0kĸIR 6A&S\j) }ӷwkc1ugSVYsUe ?9LѩܔZ4|2˗yb>@ȕ~ J8$_ǻy܎^@р4V9;֗g@Z˷ IGBg }5#貨^( Ӭ+<$æ/oҔ221~دT27K9x(eʈ ^%/~^_3נ}M}@waC<H WܛM~w&ɭTf7ͧbp{]߻7*ӣB @e`/ͫ~O_^Ykv m\o>!xtcv( anX9dP wWak&5 Ҡ@c#7[;0x=6lcN!}rF,<ú1#{TWdLI>n!7@o`)$ġgDP!KfyX +0H|%- N&&Z"WV{_>iF~V E_Y1n mOx'I'"~2З䐖LE>!}qQ?|^#w҇zcg0N/o6֣֌#) _v |+" ѡ*UcKŵϯ ~J@ z';xcL` 6l =3UY]wj[,9Iֶv"0wbV}UᲩ9%$hJӪ7ϛ[Dhnp_D[}4Zh9h|qŰ4]t1`7uﭲMN[g(4 Q{gδ;8tds }IEF4yoY$ $asYx]d%?ͦi21joZ5YpuWqJtDud#kk<:{#42*ڠu5-7|T^xY/J{bYRL`[4I+՜cw2MGWX쪓eh3e` q)22vfl.XQ(v=oA8,J Fyjub3vEV;kV-}!rK4o%˪ *E6J ^ Sm!co<u ?R f[^7zMzr 4T7k^a2mC'\O&'q3 }0A+2mb]k`gu]Yvh[I |XUdJJ'{ m1V|؇p_EIf2YcWc8i |n@7 򓣭x^ mP0ƌwZ_LoHE@|mq{un X!Ĩ]p$Z}ƻQ,"X򌳝yAmwgY ]&nQO2ŪΙf5\tRN뵄,w/e:=kg(fs=,}(u6KVo`黝6S <͘Z]k5.]V^"54+9^XD36mk+wƸ?Z]6NĥlhV V1Nۧʺ1hv!i]fuYõmk-VkHura7bVSLv^R>44o,˪SnclB ]kM2ug%p(P.XOSvf|W)R[n˵)'pN9dQ[i|En!f?xW-sQyZVu/11P ~Oa~&ZsfJdzd鞌LpO77IsOT4+HJcDI]:hD#{5".vWM/ MR"+U!|IZ%ZYsWNi@p0h WB-%%.VR`%eS咄wY5smR/& [͍:s5{}^Zk^1}=5+kjiērD.Qt{ۣgXy`ΝV d.H])M׌[CY;8SWMHޢ^Xc,I(V[񐢐jǦam?Gj-N8ѸMkqCYhs'q9xO3:Aka2L{ݔѩ\P%c(lL4?FGJB?5vE1Lzx9ʪU\\ЍIzʴ٬3rbOz.kN԰>g|mTY- z27UQqxv9_r[6vL,j4*kCB8&TVYW۶I:~Eco0CdxSyZBnΪȊBK4{uCߺ`$oܨttXqמ?Ɩn#6iRki8>{"i٩y_Iqʸ'(D"[ k-uYHˆ)x~aiv`CC6lpӪ58Y.]WmW`D# YzKBLY<Baݎ\^occٮ`5е9N pE|lQb tlM-%H_Wɥ@I!g:iհ+G} 'R9d~jLa| oMьnZo*gl[gzjUBy07\G]WI+p[j5Ǫ4SqѸ=IW͐kTj1꡹YtCp:b͛p1"_ϻ-euHEbWnn511{y:b$aNǁ<׭&ȝ-o4#a5jV^mWiuӐ-lk]TNN&SiNR3xįjIlr :[1tENh> Y8HS'%|bC"RJ ZUó0 !B=89$fkL=kZKȴgjwʱICYYغ?mQ8|Mk61hIĔdV/zrySUOOP޺qZ*8!Qsr 7.]#ac`|1vóRW5uzyqZ)܎O!@CM.FՐ]T}mjn |nhIjF6{ΨX~0\4 }mO`p.c =r#^C=//n 1ЇN6436zim /,YAtLζ)P6fў㺚6^_lC㌧E\tOƶEil#+J*ϻxhb΂εCwh&өm6ɮň7ixqIiesk:;̃m.f7(̈=ζNF5wna+/w@̢UjUFPMj@t1>sÓ/^]/!SGVV+$+<+լdݥls]NPU&;&_9-/ 6Bƫwel:.EJ= v Re})GvzL$_n3[Q>4Ve^ʵ]7vF-px"{*؄}a?2@HS8YLft*Rްd|Zqk3+WsES,mOul\sbNk]<'cnmM3ܯ>hX[SUXxjED9/6N=gvD ܌iuJ:p]}W-H$HBC1Vf*;5wRWNSSq{RcF.ujjt"p"IrYߌھӁn/|tSfͲ ;y4Ƕ\zZ;di-yNL=*T,+[!%6g|4Pg>]Ax㤧E̷5/UwnIq(f$buh+0L؋/j4nIc^1c$2J3Qt\81zɩ@,.kdso?g,C#Z{\1dMwޘEyXT r@靫J׵jY~oJ&,FV94Cc;R5WXb4wYoe VO˥hVACFIͫyo4HSiݍKFz-u%BS<=ՆvLY̟^htc{ϤD+&Ul$LԐ15Ve|ü͖hN9:tU-t]KkS8``aٶqɻ-̪>?\jE5.r4ioA}w#=se2UO-}s ZhAUڜؑ66CY\Kbʽuwc#N*6+"]|\z[WmeA}9c{} [L;q6V;4ϧ I90 \EMr={>W~pJA_KȻD9ByMfnj4i_9O*@AĹfc{dRª_tWKǛvC:l{eڵm/Dd#-ܭn.CˬN|,r em%>E2fvg?fYc423 XQ˅Ù(~Z+]7GKW}3SQ*KY\0R|-lN~7f;p@GWS;]%7.̰+arG<RSA] c6K]̈́0LrQ'Y=m#S>ǑtSctЀd>[[P3X].<. YOWt8e_t7+?\ _N+M1s7#?vߍxrAF,OpHz&ۗe$Q_ע(JORByr-xg(U豟gttwXܯYvyI姽?eY&cgP J>fC"DAOjE"y8qϿsA⠥<9p IpH !` c͔E nXa)b-$$~&O uFTBC'a3y=`9X^dz­D /E"AE23#J~H0{aYDi OD7h7u< \Acq L‚n$|1 ? 7/.He8s3OF@DFwFXA8;#Yu$Yψ__d FgkD{rܟ󄮋"ᮂdAO+H! ĉ4{HF xܯP{<χ/DI6 bB"qO9-$B$B> N %GqEpD# Eagr%_HEsЍ`1Z7"p׏@,8ecr*#@Zb%nd}s( P=zJ0 aW@^> vtRP(Y`w  '1}<K``(!|ܳЎ K>}.VNi u)|;nD}J6-۹tf )zNJ^*bր%<_VW+pG̅tp,K``>APaj:op_JޗBz~f>62woƾmڇ1DٶW-eL&Md3}2Dgs@%L'OApܚ Je-E wQ@~-@'ċ"/aY$'.;,hXzN:ǘK)|t8$D :? ˃k%_ H{4E{i -x޼9;/<w p^ox89YI D{J3|_j8y$R_ ZK2}/ a| )N$] 'pyX +!N,s Rè[,j,Bu!s?(lX@tF$)Xt$($tJY&ZY>`@'$RVٕDSIm)P(q_WIl <9  -K")h>!R N@:M?ǣ/A~i><0}h)}"-)]' kI|cfe9{-=]!LҷJ"n۫K*f@L{[ J\dhHe'2$ #tkT &p`x'}~eו׳nIPv2v]WQ*:ك Y32OMs (Μ-+Ki՘f!n &,t D dJ] Gɭb('l b7B&f`Gn7,HSE %(Oy3Ek U ZKf w!tn EڌEӦho+RЮWW4 mw=#^Dzt n\!o-%hH@q豏( tN%p@D3P XMS?Xd4>P&-"4Ja9:e/zC:O1Ez%B1] #Nd(ͫP]ZMD(R/`n-@'UB\dSJKZJr.Aa|HKt1i > k1\!򵅄 8<*`b{{ lt!_ iVRej`J.z΂q4Z;It,W(:9tGP@;UH^v5 P fyQqs&ӟ.%Q(w-d*p1+λIoCKx=*Pt#ҵi^oW(ަnûztgJ/&xs_$~tn𿟅4?Oe/w!Lj#Ћ-ߑ-H7WRzwº𫻌| Ƅ9W߷kϞ3)MO]WjwȜc'4Qx|K{2g?p+[ty4B~Mx:׿W ܕ7O=ۍv|@+~s\Wt*/%#7ɿM1l=;%9x_x Y?}V*%mky>I%o4 kwX B7@CkrFSn;R2|̽鈮tٙyW*`냝uB7/9{Qx̋TMy3R#t C?/ޣ _ُ7;W*yG?+U^W</o7,{'do lnxyU?!łoFG>j+VF*_*<ُb7RLڠy@hc:,}_nM~cTNQy{U_ 0'r@h[O^}qߎ6HDJ4.oS>߲74R7Z-}#E}o$x IJ|U>coޟ$bf{'fp藺5!BǾ ]+^y=ݹ>Kwyi o!s~/Vt^'2'`T qLng" z|NRt,gF@"7|ߊN&pzkgзoC[7jwx^$O׍V^^,x8$ ,˻Z?]H+ MbAWrPzܜNޟrNz~շ~c?fw,`(r݅#t+b^]9 +qw%>u"Έ,]<jo/f{9cX& m+?/]}$OF)XUj-f{mۋqd-z ٭.Fz- 0ɟ,`H0R4~]k}o[@&< y_ѵPu iU"% X:MFfҢW TŒ?Jc|Bw u=_[`],^c1ܯ^s\G>ʣ< tVH }. |Qx7Raby_c\ QGxbAzc9]!d:3KN[WѫxŧzŸ-YJD [*aL2r:zP"WD;ogaڏ}#+ Ѿ^2JOB^qȓԷU`y6~זt58..Nz,}|,m坃ד.pOoK\n Kg/o =jX{;F!_"?@-~xx t*~/-c?7GsLV95t hǝGweu j_G&ϫq(|//(7_6m|ܵXœ^х ɣ~yx2=^xKk/a=/~AwpoLӕ5oHǼ-yec||G!Qzz\^;s|m7Yp)iɝП<%#o#e}?<? Ü_-6=qUo?{$[K7ʿahYиqY 6nq>ˌxEշwg雉 Sd%mDCw} r!z&l_{4 zt3OO}X 8õ =H@$0yX\St3%tI2} GpOf*|T@w<߁&2o\’8`n뀼>?m|Oy-=wWm=iN Nr(o7O'}'pl.?>S/J*M1*܊_yrhsѓO/g;VP?E>FC찻M][· RSY!Klesg)zit7ކ۬W\[^;3v9{].g^ΗBZvB E(0g 4`Kv8d:I0c18E(vp;^G'8USxCFL<Ԗ'&AĹlx<-VMp? Zzzn|V"2;1xÖ\iPѷJ)='p`SmsS.ѷ2!vڹ+F=u%ikszE8M;fT:Kn2( N5QoFprjgn!nc3+М뻓fMOcX-3#xۃM8,Ӱx$mvY`=:c.clV`,λ[R~,tVڪ)8`<CӞ%)VqOHstu<0UiGGk4f$R*XRnZõqh?l}U(IZcl騑jtPAuk2̋ r[EopؽM*OlΆ4c-UMAm̎nLFFDPK-Z-&9[D%!6$\grY/"F[n2^>;+C s9mC<N׃ՊL~,}7m4q̵m@@>8R[vnMQ-^5c45/r jS X:"NF<-]&^:U9iq_"rGZ$+tɝ"fwD,mߚ3WFg5uBdqc:g"3UY:eX>kk{M.:^zo:&r=ɦ=q NTfZ"XwE:Xnuub=; p:8eR1%V- Y 4#,:aaZZZȌ[u~PF 4w#N{aSq`剈A65cٯx0Uf`V ]_,鍊@V:r|uJ5р8? F.BYNde + Y7Džù=[XC(䪍*`T3*/1uPȴ50 Lt$xf.]c$i=ȜHC{['yzJv5qeMޭ(YGajxʼnjF!KTeJJ؝v*fM==GRG6zCsIbz>5pH0s~tbav mmoj,k.OS|KȬ(#u2MG2%R<-b+{+hbY}'s#5XkѝtZA9jZս0VR;V[1twL,TGɡAЕɾAf; w'0.Q 9u⬭qYf~`E4.b7䰞vKmkhw'%<27^o*f'D3>709+h,^:iɵ j{yō&ơU&^}štqxs*wlG$x,n'@xJX~ yӫ~ݘ4 $ԙrs\?_P,ϵ-h ۴T;yAfH۳][_yKK|'{1aOG3b:D>@t?GWd;S,Hvg|@<6y2 _Dm|y #>x%d&\aMt}mŁÍ}:=0ggK[n)nm`5We^7}4GA.Bv2 7xV71C\KsvlԲL~趘pq!TqbȒXG }* % ۭ$A.<#Xe7 C:gDD{gp[[ ~jf/l`*z=xY/Q@y\ITvzUo "Q %`PIEx `+[5bvRV#=  u*u :So;Z\VwpU"V@tƞDv2Cz|'))\ }*T)7 M98W: ȱ -u\ƟXЁ5HəVi)\d#P(:3 a!߼ HNb{$DwTAޘ a7a!me[#>SDD_?]P9'FqOZaߝ^Kg&78=?_4#b^"ovQ0L?냅Ǯ{GUbl޻ jɧp[*LJ! DX6Ǡ~3J!M^G՝y.?{BOH FV y~Qrܧ[3bvX*Y13AuuPsD9,XI0FL;˚^wݕ@SB<1gnˬ֕b%$ \oAwD.D ֵ"nË:P\li܌-eb%CU*f\L9ڠS/a֪y{{m>yhS>7dԗq dl*,F,j!Τ3#goN@ á鹁M"v|nGEZ)eLxܿuy< dp:~!(r7ю{I8@v^ ԭQP^fD5AKQklvKRaŽtժD%-uPtBJv&0%433ft6 I+~z}_;4{ؾWTP,s{;#^e|ߠH^ #Ki4 +yr_8FLA(y8S=x|U~B/Nw 5{h,+Tx yP8*{%d`[B;U DJq$F4 |Z2vM\`V P:'/gJ &QغrQ @<;q?= 9Md}(!?x҈-;4E (O#\[<}jABF-סw/yLc|ta@toY{!<(ueNΕߜG<9`tYՇ9i4t<Կ:K1R,q!N B`֥0d+6.8/;Y?AfҊ@` ,Ww&^dV#U|;0eD~0`}\-ju)^CCpV&G]e5x^pb$Ww/iR P=h.$M-)&Io {c=:_Vg̷什wRYnw 5g1OЌs~e!(B~}Rp7Aj (H&'F]`Z8I$iœ,HhZqkއxmtE)RxgU;`;^HLشN_<ҖƲCu^$. }]PC"Hj o:ƴQ/O2@ݎ$,}Fr{RPu(Q KNh: @ؐ}TD37sa̻^'lB! PIU8]E \ bMFwj ܑ/{ڌE>m8;Dg@թcr_#+{&P[&_)ߔ+Ύᨥ݅eJ`6q 5i&fOy"^ZU_Q,\*˷U].!02Zƹ RҎP>%z[~`Bw© ITI%n` ||w{o~b3͗ɃYJ*z\EX!gvj3@aߜ9F20[ ϸWpM";D1ZoD?f=PB,Mtè=~n}*Y>g? GreJXi@JҔ&_wf2%3 >!`CNvusX &0z2#ֻ,ΉYf dDZ>-8qv%bkXd_W+/.y<q%6Qucou6G9 lOLЁVc xO/F+%׾"fA}5 .L).co$Y '@s;ң7/ʯya\y`Cr%_Ec Nzɬ9@c7v*^oz6 #2itNh~e] ƄыJ.M]D6 ,7ɹCPbE9:t8?E깜)"5 .ŝ^"P% e2 _MMa貪;V@f1>1 Ӫ-F?Wv-Og73;v/xy^N8{2ӥDFy2_LK[1P+Keem+K@uT/cGC5η;8XM6%`_{H]$/=q(P'edˁBi粍qFVGx)Xqxzmmw})<Pcᠠ-$sqqlՌY2pA^{:Gܾ?=Y7>3nFls%Ma=|j͙nGF\8ĆlGgofHpӣ[Fyg*7xFzn<~YО@V3A7D&g&Bvo˰עUhc+q'iJw%a LNՌiJh<!g_ejB]g[*+$TFڙz%>aL0Ȋr#% " }ФF^Е˚S=_9Vr}-?K~au:Z=Y:h+MNf1f5Brw #޼mN裲n{OB%a ,g̝OyΪc"vPՈ-t^#)iClqԕonuGoT<}L nzhphF+ZRE$^N,8\RuXDMҩ#h߀{R^7hhݛ-@<8)DYkLJ.{J3:ѷ׏.$a$u-vx꼘,5{Y;u^NlFtEɍ=WJc6^޿m d`UM+HgUƮc : eJ YFQq ʉdr@ qXKv\?w>$:ysX0Z(#$8o̔L1Ezf~C[‚`x^zv{`Ym e<)sAƘӛrՒV0JO ԡkpz -Sy<3t܋]H2=ɛQ5Lo䢽}ڙß@n/)/bg {&iљ6]|K_"{3oM'(?`/$DvVQАS{Ê*J|_FbN.&О`Dexŗ'=5=bãv=d+_3(l Zz= F@?)}W#K^nH4^M^N@o!ʭm> m9RSCt~&߬(E!YksdP1#nQ/}RڱF0Ҍw6eKA3_4`^Ҁ:eËL^7-y/)A+뚎P@b;C/@qYFc қr`7~QM T5 1Kхb# iO*B#K+~Y$p ] .9V狱GM'(}z ~f)klƙW"2="i^ldHvfwͬ$MN>[DU7-AbM*53U-n__cvUӲMTA0`Ao vNRX*Ưld NWT6iR׼_jf8- 67=5֕q[YޘS[|S8t-^[Vwsaykݷp}RTSi(.QGj )2o厶^yiCc/mS7!2ݻM6m-G3ج堸FT%;V6J@%X#ʁҨX 'Kk+ħm>ѵQMGEB.W!mRbj}/VlkIAz4.z}6PJa^",7'P!>1%{]3'FL8d,P 2ʉ'"f.L%A9'rYx9^f9q"zJ7JͭJW3Ab1f6QęE]!А!OSl(ThEֵor﵏CW?#!=g. *#r9SQ)^#7'VCx0A{?w"rqg -]m{ГOp>s:>Z·SN =Gi[q&٠J?ihߦ]v?ogt% Jzvm^~6ͺ߳et顜1^A^Ky&MIǹc9*7z&m ȉ\&]>.b4Rʪj%I; Snג3Ax7;/"\-mD%nm@h@.bgP*"%;v osZUsֻ=&^Ͷ`-`+.7Ux&ʃ6$0iQCo]J}NhE{|ڋRL6jOi,t; wrIF CUwj涯hnU{@|"t /}߇gV}3pOMa5zFq3ChZLHJ+lwqd71?lCpt#=Ym,~IܐO.4}2A^Xɩm~!kݽzyJ6LA.<`(զK)(?h$]FBzJny/Lmv]2U4h4}=\h;c-ԯ ٛB3xǃ^l)4Hv!oc6#%jQ\ ]px[>XftIOw>8φo ei[-&-/7s~ѸqWt)}t Y62^3U.B-ϗ5˅`{VwSjMc⏱V*oW}Xz9:t (o'p}!/ʵ閸<@yRO<Գ x]} i* []lF{qlRmS$@, @PոCo:O**磜vr O~{G^jnK7~z@[DCȩҀajsUm"x:OrR&G]|ѢV1(_B%f._nJlhZQWDL~\_lz}ul(w8I{_Z[\cm%kgsaz5ض-wi/ ^~u%?}r+F߅+tvWB8k'JW*9V.Cq_5v:ujmBڊzoE+gͨ&L΄/Z%L1133{t.rۙYXMV_[Ϛ A!ْ'hoD'[~bӑv^fVJi>/oW9nu HQ`(6!z?J7`0~'~<7iaL V,uUsC!f b(x+ɿ%0;Zlh(~| vU֔vMҼ^X{i~Igq&1,E!'1$29 ^tKTR`[ԙOZE%Q٧+65L@RfZpUx&)?pUob+0^u#9>oܣbbNYe"Ѱs^T;䳔i~v torOKJ2+:lu/쫏 O\.`aKE(:'~`y_x?d`*P_2~[wjW|k{w m1ו1-Gxc` qiNmȌ>5!l!T/vly{GgHH)}ŶePg٧(W9g^<)SxNP;_b}ԛ$+zgl#H\EVr-_B2O@_F@EA7C!FvWK>Hɱw 0^uAk9Z7[Kכ7S1 P _VzUV~fzSZFnǽChy%V9tF{S3 Լ-f&!楮k `\;3f>Ug7cI:˄O8ӧ)s]rc&˃(Y.`g2xV$܁A|D9;2']КeW 9lpAhbmcN&Sx)Oqِ5A=qPM U"6,6f_NQ\΅g47&ϯttW6멸'֢k쾤md F ~5m,sckpN$f?O}] _jnGZ/7=c9LvC\' ^JFm7pٟ.$jtF\YU&SAM<b6Qo=oFQE?`,jZ@PI}qXɏ r֭7>z+rI{ D㍎-eg}FʍL ZN:b<22?;~,Oy$V,x8XyI{[q0u|/QR[)m ^Ͼ|vrj)x#VMQq]13$7?g~i(7B>)41%= ޑ00Z4%#3BE5kи۲@9^61Uy#/%"WM -a&\6rH?ϛȝ9jFiuo^%8To>?]+Êxc~  d=7 R4-@-rX/Vt <>FWX2u-v,4/ -tu%*o]8q[qOt1b#ayFb0F@E9S( ht۽[05D ⇿ސr.ȘG\ 2/2  d99eMr =k~/|a}3J~MG lvN't:%; sF2}Ye]r+Cf( AD zNk(Fz 3`{!]lwUh{'mu.}Hj|3\!K#{9s%SMwun}9T:S \)zZDR@^^i&Ȍ*&ʢ7f¬!kss@"T7ykng7B JܲfRceX uM]lNrݮ2MB"dB)Sqഌ6~R+f"NZ K#8kq G!S.Wq!YcNf+a%*58ʘE u0,:Y‰і ~I8 /SWg+;J [`{ERO[(\/N''tA%'q(-:B/_ۣ} 9uZ љ@%s1|Κav(|du50ˢ{kR&xigZF˝{;-Ņ'26vG:Zđ`~Gl)gK-6b=6 }s?HY@2qu$&HMjqb: jHCG^~tՃQ$>-SHq"Z"+ڙ̈́ʔmw1b핑Jf6;=XTy?Dq]p@murV 1qМar("Y>Fi kf q9r ^sků$VY5<*X xy-t) C,tc߷~D/8wv5<#LRNq׊7G`c2>vJ2c)FnJIsT2HU~S`޾}oÉ{̫X赦zj6C2@VB=nVc_R=f|/F>M(tCkmM\>>!Di6oFzCT.fM- !- i[ F##9ox9^u[%fy,دT'wT@V(nMO~ۤm%ׁ\?{L7 Dyȯo"7¡PA!ܣ pG8Iu j$ZJR%S@QB[ yYQx۽l?!2 GhWwq@;[![ut>>&A5KX(#@: Œ8JhAvK2R~S[YI`(_AӠETo'-Cf̳ [JYD^VHa~GWS_i$x fRdg/xܢtP:B 4kJK>^T5+@Pq-ʝUc67J5D"15P<'53W&-P*I9}bhyR;c nLkS*ǐD R*mMɦ~?el Ic5@El&4M$p/.xuٺ Lggx'`tg[ޔqaa|'_7 uPIyxhMc≌s,[D9g7n?fvAgtW6OLpYZG0*Q^dϺe}³Ar Ta]љ_@1R,hTl^S Flxڸlc "gSJW[&nBf1\^No< 0՝m38lKig(t .Y m9wBE8F ZlM"hwneiKsqG%Qtرg>-:C@M>epbĒZ1 fn%3拾`iGgBZ#Pe~?46]HۇqiEuEXږv(7C+4R|H~o"}6F~ߒ{a'wΝĠ$+BNAH8ӏ~'NX r&`u䮠40z1)vVoYӫ&NY;v,StR$۬6ޜK鯃Sa.l Z>]PT)^#r%I#}Lx⩸C &+]q늭aڻy3(yeքx0a_/-ncKE}VD`/SeH+&Gdݿ}cd9fhA,B"&$efUWWٞnp/N()E.+Iqj^ug*>_b]m-"mWjVc*n(kh=ï\(3!5]]{TZ]2y SẸ7':/vNdŤ8$%y] wspP37};qѯ{#"kz E^&vp)HPr#hM[/΁)rGkx(B֔!ÝJui%DJJziz([y='^\,PNRsRoqE*R(e:dLƫh zMysV:0v@W,?v_}1z=W~_ѵ#oJ9G Z=I¾1|PA"l&x ͶsOcbP=e$X!vZ^o]]x |rc%ʑKU4H0ZV '䦒Yw;z*@VF([(@M9dGD_ӕKx^ VmO}oS{>`>NgӆAH2kqą;Q :'r¹7j;"9;!? ܄iv8_r"kو<@pS}MPBf#\{eQ$iIs'8 ]]U/\ 7]A#WGK@tpTmprIΡ3c1 (-/2 .n>^TGGVÑP{=u)Ηìցz~VƼS˖mi.p6S{gOk")6''RH;6 OȎڪ+D~r%Sig~m9!(,>99*_A$4M?K_!3NL;FK.K,6Li H t}(~g}7dQP9yi&r`s);>qD54t#w)L+Xvl'ϲwJKPQB\K}T$,ldE.`$~%v-;9.7+=RIIT&/r`=a= yfJ5iP7`Tb,Ƶ0֏404B?8[-+fדӺ2C d# LR -4u-[\ASgN:Hyn BwLįJRZ2?fzpllόkV] 7R Uz7Y˭KLTi,zntt43-SN{Aj&9qԑ'߈ш\6S3?9]rAͶL@M ډ6>#i.wb6-s܊&@]RB.mQ{̜67&$~Óֻ^>Ty]/@v0jy8;TcZsvhamOtWrwdi8 %y?cD&˕pSϵ1X(*S/Vm3YE_9[^ΔVd2A۫LhҌE[w5mQ1 uJ"C)ȯ)iy+q3ao5j^(B:eT`dRF!jd:gBheU*pӀ^gP}ГA٥vBŠ E6@,xG&OFHD͟i%Lq!˜L/6ȤݵIn͘J ޚxPާUnDF'{ixC*%kÊ3qV:.Rl&`šXrnU73, Yi,mO7Ys^Y7 A8Yjot]ԖQ8_{xHm o=e9) m~K]Mm)bpVF φۀhw$ qfoe$?3`U}:֖*9 @)Hݯ|=KqWP{H/zߜ5>wo;9V/#nT/uݓxaˣ&jqDq d&11_4I"kKA7W#y(6g!uP޳ZS7¡Cj#j,hm+`0Y7۪91W-h&֣jmַR4c(!/d,n>nWZ⪪2; Y-i o-MR Y(&Tz8QVKS/%\c`PrWse26%HQGmߪfO0) 4MM1CӤLA}UFא 3̐{nO.3iTt Ul{\LE~Q6"'{Ű*lťؘI9: d]-%9?֬\RbO'>\pH: }TWCT_Vҕ?SJhfвN^zJRC ^ƗEk'i4b q:筳kh歲苽Uh6 pk:Y>$asycD DoemcǕZ}^,PKF3c]\@ʔDs1熗AO~SjibDJ$F!HW+'u=iu 뵈}Y[!ph/{mJb9ِcGyŒQsP3i03ֲ67!YPSd9:$v9Kڈ`q#sZ-x!Ô$I%nAwW^ڲ. 䣹I~t:V~ϑ`oGG FMi"cz :VУ+YCG2)"hR.(Zkb%9T-PmQww}V$ܓ}qnԜǎeeq荌a(XV Ӎx6̵L -d;-UâUL֥t.BO"nM)^Luʼ(yq*)r eGrohٝ_R[-^q)${T73fFfpwxrccYQ_ӯDBZnW9浑NȤxDqvڸ<%+לa4'Udf DyjvXBtL9q\R(޲FlK%fv9PU: ևyȬ][śvrYy8ebՍ#Ufs/d6Pl;zb0C, ~.-IMP|b'0!H݁9Qziw`{DS37KSsJYFNbQ=2Չߔf56yyW\Ȝ"0lHiR{Cc=M&ᎵF HbbQVk+{̆>iSu`*c6d:'u{zlVK$0"y E֤sxq!\ ֧%HXƓBV’Ej5 B^ybuE!{ϫ3slF>.h_Yfft>ug Utad)PydmIZ困8IE/WУ=^aR<^f9o}v#3%&3n-*Gݞ̍5~C {U!uŊn6%H∠Vҿ١b:v 3[ǵ0p t茦<+|դc2QO#AP'$<-r2m۹ {2рɯt"N=P9w[]I4T;L|b],|ѓ> V4u[) Pҭ, Xz섙x"s/or/D ]o"qzi֦<򮟝"%CAlC BonKas%[F$e8q,44]g-~9怃$5^F{3 ;S4әR~gNaZ8 E^uӭ15 JK`,팢Ҋu**mT.]ۺ و; "^N"T> ޭRMj#V OM'pg`x2E>UT]6,jB#@ho I[jp,9's_qFyw-u,)dhˁ0|V'U1z.S<[yޱliZ,g2V74۩m |ifߔB*xhqof'7>ORCe+>JXbS} l>Oe9 hkm.qu:! 1~ht'\(72}nq(dnGؗ5kբR*T"|oS js9BdE; ,2/alfo%PB됿Վ64¬/30ImSSQLv'Q=R!&69''Pe K^S>o cŽXuqI`*"ucUR nݱ8CzdGWPim/IqEox%5LwBa$'IECe\Sv~Z~~=ɴ-pmOH얳K:ZwhhQҖd @fCԗT'f?^caJ1ǽ4(~gD07fށ,۳sç7V$ *l- 5Eo>yI, G/ _3}i?Nߟ8/_r*ߝ8?]/KCݟ߹]?o:sZ&޿{ >[~&;؊@="EzNtwuxg'`DJ/<;s(`Jo Ns Ak;(p5-ϵ`)t̼Oքd5~sM/Ea}޹RX`PbRBHDb}̌EX(aga|VŪ8uGN7`c_<~:Ki mm8? Xb7s+%}H`O;c-H)QXD(Ee%Mi0:$aEp%-y8Ɍ~80DsM9bAk}J;x!Am$qgA 愗QѴMDxƫ}Eb ueXD{(}p[, @ J:cyZ삔`j``d Ӗij @C<Ryl`O$v_#\ƀKXH +DlK?\a9#M[8`!+y,C\XBM?`S!LªiP*y:ܧ /r, C02?]|sZ> f vOCLa܆zĺ{X?B0 +2j$Nx.]C/pV0R\|Ċ#ްY3h_49A/?geȰ*? H@=e/?b#SRK E8!w-!>۠!]|rO !+ash!Lj|Ad_Ο INx,d8` (,)fg=@VbB> Kdx;y _FBxR t5$y2S>cd B'HBlIAFsZ?3[C@%xOCuFC+a\|g1M(0)02-ԍBĢy_UK z aqEKFK2 (1Ty< !yj_L1sWB L alZ|AX00](=MFYFyC.l8&ע<ߡA t??fs?\U9 aȾ1*)iG8ь9 g 6 >@!¦="  e>m1zwEIOR~ pQQX dj\u{jFA5?4tC?/cEķR8؁8#A*XHO =8_`17 40Q<(i!  QFq_4kǸj:, l>DX"aavK0TW~ A(X:^v ${wBĥ5bh %QD (;31ǂSS,6Þb"8ZɊԗi1]F+Dt|A~% }vI>Xhku{ԗnxӧK?>D@g7LG4e`, o4<CaT"Ǘ$-M3b> X->%a!L(7E40v`CC:bH6.(LP ag"w(  {#ᲅzI'T ag"/aC=X[G46_D1JQ]U|Gpg`V4,g{)i<ݹs{3`?Y[ :Tmʷ/5:ޒ , uXE&=LE֓2#0tF " X(j.w#2|* .|& |o_=]=]/\w;  3sO뭈3,{OE x`i"P¯EO<˲x y=?gyoL螴࢐ǣFf29(uPp3| 䃰i$O*ɟ_o"|>/ 0dpJyǏ%ly2f8n<;g;T44<`5"/"r\Fie:ǩuKTNЏ܀XOc0,<'i($noជ,v(w@<)1T =Ms<hN]x{S$(n`柤GO ?;;bBP19G@F.Ń#1@UHo+qG24v=TR_5}!+Vǧ``ؾSQ)r\ ɽ_a <7_W04ުDN=r28TP(~wYujnS8cP +NP9qwwY% =5t ,&~7*񫇁_A <tC7=l G̏FFEEmkϷWL|Rqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/64x64/0000755000175000017500000000000011347002066024706 5ustar laurentlaurentqelectrotech-0.22+svn897/ico/oxygen-icons/scalable/apps/small/64x64/qelectrotech.svgz0000644000175000017500000105433711200647463030324 0ustar laurentlaurentXv|: FN#\ȁ8q!ȑW랞`#ŷXE+>ѵ7'' !zyO}C~?π͆$Զݖ!Ap}qWng~u?/0 pۧq??ӿ-?du2%P]ޯ @?ey盧C ~Z߁u}?|o78 S8 f}ݛ {'<]ۑJuk&__7Vo'Bo3"]8˼ q\֏?!._,^]{{N?<-M scُǏ8ǟUY;0xO oksۓ߭Y}~lӶ?o>k'W2X~[;x857lth?O%6XrY-ޗ1-.\_;ן~1ŒgqЏշx{}/ߓ*k?Z&x3L'yQeB$}oO*tO1E6 _w. ES(qB_y$@$@$@LCɱW!!AsW,jo gYx+I܍?iě~jow! /E1_~_hda8ݽuoJI#ӦWYo(݈w,#nwm,zm΁q,π9_6r3T'AZw/'WO ?~4KN156,YuTVٚe9e{{BQ~FgEuuU`{9vXaYT;\J}om8 +{u-YbwQ%slʱ{K%)azP"IDY6Cs'UQU?V¸>Jv#Xd?A 85Q)j-F#V6$M>i(/B_R6~_Exɓ#KKua'ʣ2c`3PXI\|7FV\ߡSӣp?<*t&FyDl0 OT54c{ĉ'Þ"/LѲre2%[ /)% چf*p/O6H!QP BW*)(^H u|۷ *tA>#~?_ 'r_tݏKOzȲ@R%=ZzH˲vwۭ߅ ?grzMSɮ-NEej厷ME'*C uGBrCt^v14pB\Iq XY{|-Y֐!LQ1x^6EcJphedjB)]&2%ڋِPIBк/Zt5D- X`q{*Z>N]øOf4a f[SD#woeؔlX{w,=E#UOݎwT;OTW>븬82GZ-;+Ԉf}qy:Ȕ;/v~p}cz5ǩeW"bMRlbjCqke"Ӽ8v>~l3Q x_:6j4K_=mjjzt,}TPÑm_) ڰ,Ae3BV/]Am/*uUWΏGދrB'13{IC}/S{ Ł Y^O씾c%@lB9AߵIkwiSFzp:rSt,GhǛFS) O]u-ut w_d]-Yv 2f²zPXvh^Qe& t޺),"EkπcY€H*;1I^|ɨ!IabhmOL䡀2g򀩶=p[sفC Jr}EgmJpEJb Kք{Ma VtPpP;dK ٤1/& >dWD$-b|1)RQמwJU#=E3i>X;H"0N0TA,4ō@OW}u4ÃEspz f-b?fcΞ[x# icep"(z])s .7pR)8J6 0GC z܏%l_DþF؂R2C4Kfx-|i&CKIAr]v-̦ Nu7GSe ^7h(2'}>.:RZ"5"YwqH^~ vWqG,q;YcϯL_M<T~ĩҟmܴ\[F*rRN|Lx 8K~kt9&<$g~Cє7蛩 > '4LpW bm+;pʚǫsdGh[q&ͩA>dCA3l?>gw/\ r䷯7ҧ|:jGb̖-O;fkrNQ`$´a*IL]0]M[)^Y!:Pw uf93x1w F0ecs۵=,|IZS^$t&ry'imt2}>c&rU砙Ҹa v#ɚ+& *?r*LO-5k#wD3;p] /wӖ/#[j og* dx7. bN%۳VDS<}|0rye;JySz7{,ʲUm>AcWY#YM"&$Һ&%J"9]܉5"jrP93ZxYt4=ksav\gaEoZٲ~bEAץ-0?Eȩg|`߇ + uaAx3Dc Anܡڰt7G:IM`'5Erxw`}TZ/1w#ȢnvΤ wyI{4)Pޗ5׋. ,k 1vNjdiZg^V32@`C7yN.Yd(:kgrco4[tiN>Q92gs,Ho3Xa:#ibTMiS.=~{#o"aSxC@UDS)V[] Tm1%=m $g]5"#AFGMV[wm| tۮQ]ل1 qJߪʀz w,/`,e:.@vРRu(_ 2&]x8 QFQ_V"'vW19aȖ >Mk Gu?`'&&G+jLÜ͠>=6DkKeNtFU\'Y:>{|G4Vt)e!n4QNQp X#>j84~q1+@>.4>p >']dhv%aZ% H9x1ie@{V7̾yLC9@G;:&Rr "u8LS2;# '̥; Pgn;յ)ɱ? òE[T!d=B#_UohLxfK4('Jtr`뫘~Zǂ`lYv3-i\d g+kMt'§@?XW'Z%szJRv^!!cOm4q Ċ~Kdlhk}+^_nv=']!T;ˑqGna:SQ)atn}rJ< KX#1;P&;Ig0lffSYjT7t0@5iFl ~;j wJc/\~}3x!˲LiCӾ%@{wrs?psDs*Ka<85h[VtqO0g+x_/ɒ IogA[g<#B Z''/|0_ NC# lYwtT_;0n+IIAtDE764 NHnh$,m_eO0?ySȜa &6O+;1Eݺ*&g$WoO Vv9W7n$Eq G_ǜrǽ_uTﶎ%(7@gܵ.㾓:X,>=jrn|xDG2*}CR6y6KQ ")r|RȠii@忚zOk|?Xjv ]>c}j^ 7KՒ:T4 3囱<lhgҺ>"t~uNEw!Soe"كMB, Pa,Ӡ('6mH8g0TwڤWv} .ߢ8>_؊FPu ϢNbTKmUvjW8.:hs2 U[%3)>@#;a`Q^5|+)/?,+ãLٵ 4}i234#6en(M[!=*W̚/݄&ysng2peR.W p y*Xauxی#/8CeVvx0N,.39> pEC[`f2S~~$ςf84ZI:qm$Yl >\վ[.!X%t2Lv&4pI g@lH:4Cȡܔ#]HDV>. tǰ#)b&\FeɦGV T, 5(ڿK0*68˜,mR1A5 )?gQ>$4tvL b!@B/e*KKF|_33/Z3`7iq"j~/g{Ggxݔ1/[D~ 잹%䡨g pucVt*6Oɺ-MTCQ[Q:۫xN{e:bвAlc@>D=+<Ԓ{R4/ ZC_B'CMOO¢( a*ѿ UCGuTqm,*&XgÌ{6rD%ϷW# DiL1_lNk*^z`O{+07^<[ixNjҀ$)a8|3T􅳗'ccGH tQ_=sd)n$BBe6ҲFӿơ<*H..l mi3E)4c`}Q1ŧdcRy8P ] ?H-ퟱ5@p Zeu$NlUe*n|LwH`nKF1ݼ,`pGaf4+  ^F[mIL^iJHξtc8&r41VFGJnwf|Y=s^"JesWVIEc]48 ۋeeo%)9HC on8/37!!W1 =":{:5SWm>^tO>|Hx$CAr~ش+}DgX2]݌o<`]8!8yf~\뼙  pcy=Λ z2eIҋPE  u׭Tm $L}+GzBnof,^|GlC+{ &zpߜ 8 qf0`gӫm QS,qG@蜍QV`UX? "9L>WS63;s/I!SpPF q2źpusKv0O+Z4;Ey2 N}Ukt0Jl(7lV*_zR9\ RՓ{sl!. ۋopֽR]@!D.m]=Etr L-6KepH%I6m ozkC#n 㤠.l !*f]{c'Uw > ;YF|p{?e2 |`xogJ Fv0ճ`ܤKg.xX >/ wDZY,w4aI ;sX?J>!sG$NwkeW[X픗y%xM[dS b%fN|G@U4+]MːЄfE6pt4J2KK&Yr/1,I68[]o:i'KmzRH*#@+o֯=W釭~TK<X95@Z3r9coht@ZWh;+ +cV[<2+zr5>otf.DJ`Q* !s([j"ޮh~ pUica)Eܚ aU#OoڑPQ eLFz[#%wy885/{k}ȁ_F{>,kS`fۏ脰)?kRu"TQ/t\ 5v;]ˏ5>k 5^4z0+b*iX8~ I:X󑱃]<*f9s:kn7=(/.|Ǭv*%Nڛ| Aϣ>seM@;z&>cH uie "=dws/<@n\-B5 p+/Z`L9"aHG"Ð.$f"C7 #UHe6)f%@ja էT[2AdYCi1i (<ħgƍKʼ@qr[͏sMj9eJ7UW5 H9G m C;5%weʝFjQ}~#utoҝ"sv(Nëgg ڷ{KϸYHga)U H?R a{Ӊ=IP@g̹71!҃{(a2Cq_k׺ `4HݕYBE_rG!o* pIAkH% #/:@(/\ߴ#=b*>Gc mYE"5# C?@Hm XP{-þr7_%9{Gm=Md@nR \>a;̋ N]iC5T.n^Q1{p-5薹EBYe" yT%O82Kka^rVγ qڟ8lE1I.d >э@ƲkUU]mٰE nNB8 h,xw fh)d{|"R"z5]MMOhW*J]*8ԷIꪒaߏjm4'ǃEqMsЛ*'"{ZQ n0IySXCxثF׊qT>ޗNdxJk:8;C,k9AͻR\3^7qip!kp>cP)f~DS.u|ڛc4H&C`k,Ry|Țt`*14:`M| 颎 PEK/M,.\\v*o<ݕoOD!RMpPAj[ +)gV0qͫGAv>El6^enX]m'ACMvWg[Mv'7[l|i&r-PzTHoC0`y ?v`R"oT[w}.&5 pqS)Dd9̷܏P|غ 1ŖVwil77*P]Ex!{;x ǷvPqQ-ߠdwg[@rlひFrkn \DZ+j0Bn6"5M,{Vxֆe>p /*_lF46wUX{le$/l{H=.j@!SѾ>B@$#ݣcnL4w4)-Bڞ%|i.zl/mI ~$)`Қxۻv7v'MUߑ9&eyG@c@=T9u=~|wiKteԌP ~շ~LQ8of RQ$@Wg4|tpL5F"w:(k^N[Ȏvt/?:('܆o~|t-i &Mn$CwBIip'hy?>XX!Ղ").`ȕ%U,/D#(+*w}n k 񖋟]7cCzws|s|G cHɨ jo/ﱛDEk*Rfu#Wj(w WE&]g. ͜s?#Dmo,>GDRޠ}e'THQC^ e.C1ےU)OwX z*>SGݛWns!1h8R6xy{Gx -S<)*W5C>B7ps:WF(UkDtGȓCs^ax5 _ E8%] 0FF=-#Ԡ*Qs$V7^IN8mJ 99Ē@}"\~6Y$[YT򈛸Kꞟ<> TrT D{Ȫ LgúFں\oY>㏯ק± 6rgұވI,ۀ.=CJVóI])Xc( ͨk6ʲ$J+B ]Q"5jV|RuAzu7@ Js_Tnӿ ƷeOz!=iNč+aQ.RX;k,y]>z.l^c]z㍌X trKX LTQ1UzOj"Issޤ>ɄHTo5iƚT$pN?29m:[lLʸ(,j m|ggǬ6බ_gQ*kLtx۷?,dBprIJ#J;{R@4ՃJTvRkpo=i*j :fK"鱔Pt3i9>&[KT$hpykzcQ␧)}-U0Nm8;Wcʸ*{#ξQ45Cf C2!.h:mxs;8kpCz!SPس|]quklc䄫Z!lw/fW^t=/X!Q")0JF(vI0: O|beE kmXhVwݙuDWM07C)*< ㄍn7XӮ{)j'T4r! ]T}Eq*@K(Nrs$`Jcn[ Ǽ|Ë2}r;S'Hrqm8upPh烋PFuNkWKYGA:,݁7nq6t&6E^E tGHT5&z%]A2Y_2GKyGki=ׇ&'!kF+|/˄z<:(n&-6ŲdͶׁ)njp7)$fdt*Hz=N~`aNcWz0ā\ ~=D,*| | StDϷ >}?- I sY8ۡk]JtAa8*MMb$ִkĸR!_V7>0nHS79o[Bwڐxzz bofEG0 Un|.~ C^]/̓Bo^ GI?ިxSf."V x*̔-[.Iܵ[1&ْKtzcaȽӸwu[d)YV 9#iQpirKŚ'gY*|EXOʾ(%*aDDU6rng RP3ŃFFqtǹJ־~̯b-mfX i z:ͱN^z< Gk<+.>ϘU0vc jbʒh*2Vۨf;w"Qq ;7<꜉~tΟZU,7PZ8G{cK'6rNA;4w5_9!=[vSukXB3RȻb$eVNIM4sk]5[GcgAt  rv82+ ̻2Ϟ,(ech:oT*#^GAf%_?> hg傂t"q$D"O{|R e!,h5+"Xɳ{WdT4<6S76v fX!bL bbG[כIvw YiwոW侹(-}ǙAP[ x. {NCg"HI䆟puqF*{cڔa},tL~O#$tb;J.g[?YC\U!Ք\y36 )!NG@>ͅrzD#.3|w 1lZ(EUX/\hx;ux]8=7q$BA&S0Iq ^d^#cl<$fp0zh&M_^q edk?8Pƛ^ ؿ0>d3?pEZ}=Fl@C*V=|ތNy9u<(Ǭ~B *8]kXn̥o)_ ސM|k$wI8t">!K_R}OG4w hxqAƲ6n2sUCpvol0bc& >eooV|xNpvycZfXo\Yp4 x\ |wz>nk /#q`+FQ= <:yQ82F~T)a^VR,]6:y[7Y쒲Co6phT@$>.1]z:bH'[_$ˊ=qmcJ눦'2||'Ȝwn_7 !wߥ=R@:s&eB.-',$URgΖߜlZ&jfh7P]ZvT-pomi?&&a`a?'T@Fqq]@8=kgقU.had)4F)6'GUz?I[$%9h29g0g-v>ͼc$Y0|?l 7I|  >=+ęKXZkmMA~G& &!×>^/v9N:Thjܶ&$Vywv~ ᎙~"0LhLReOUk>rϠ؃(dMF8S{IP PlKL )󗇯ꬒa6 \BՀ/-OT1dC渖p EMUGV@7f#+4FBhah4fix y )~@f~uϯ^:`[{ExŋGt -!ֶ6ͦƴeJ][a`q+߼c@TU#ihy"/Ӫ=SJjBxny}r0^UۑؿyH콆ȼme:`ͣ87L%6 Ü;|qݦ[ruY?:CEdʅ8'U<с,#|^r?;eggpK|fU=TNA[H,R1n Hlj3jdDsF(hDGf"7ߙx"}C:nxy8~|}~r}~;Əu#3(M =sFԮDNf5 l!Yca(Z?V4W!+} hV0@rZo_gtmHLi]ʅr-~胻-mjsϴMIڗkmFx hl T"8P>.sI]ɼ!^qMXrJ>b4,/?Ī?X.6Fypzrv :'oQ5asPs "mAzBXL7nߘ2!gF1L G\L 74/YqGs5O'g豪xtT76ԏ/9NR;uA5lo&q{\Jx.'5HE#0~ }O%dVaB^T\88ԭ,B-/Cd.Iȫܣgdh+v{BG<";+ =q vy@쀞$'mceQM2pǦw8d%٣ᴄǺiSZ*ϔמcrГd!'u=Uwb%3487Hg 5 *~VCj1ip}vx,ug~ z:IF:eדL (őocc/lC#d}i2 缵;eL֖BJq,P8;Y\@,"]^kSPw}7i-[ ZR~)WUn-DP  0b$muلOܾ_=*KH(b}5Ȋ WqR.8DI x-cI.6NИrvkoK{:dFcoMBy3Z ,l Z0,IY0u>x q5e;Z_'S}zIZF8F#njNk̈3|U7S!IE9^?]mO n1)?fK;u#<^y^juѩKG4$:0=nx|AoClros-(Yj l|z=QKp;* v9K9$W('D]tgK|ǻ{%Xl7 sXĽ/D|eߡOEł ቱsKH4.c6Erd~J9磅@RD4Dmk; OC'+a9z`=?إ#ax; kMV%;Z^5Wj>]iCK5J>ru$3=GYU.`eutZ} ߏ8 =VuNG ۪x~ 59a"0*z8Zҏ{9^ȿ|{@Jbgn!\_m\+%x_| gem?^!*(`O7^ɬsj>DU|Flmz\kӞ4O'Z}ZC1&QE8C68ۨ~T1OuwvƇs%)f d'X‚K3q.w)|438XRژtz1QzCm"Ҁℯ~h49f$VʕPmY51czUt1INД\Ds 2&9a`"'-䭕3G#$unlu ͑~M*6b5r=tM4"IqTad*n&|ThIәC=+OGٮ1nl냣}XӴ} Wqi"a,ɰcSl(+p FnEqW( _$Kx|a{H:(mg{odL@FB#4'n B^7Y1C2"] φ.ͽTk>ߧ/8N|Qqߑ'{Tݨ*Ti^_٣I*. i絓2%ml|mr'|MeCi%ЭQ]Kc[Di`E=3mzh%QiF-]alv[%T*xd"! äh)Oӄ"(H~dtͿx JLwP7 j4Xw@"l&.KņŚexKKkm1|td,L.$h\S\K__O4:am> i LX*_9,BuV7ØlRśG9/Te^ oǨ=ʪw1)3b92܅6M寯5+rxXдIKeX!Jcl1[A0T|{]2k4{+N#@gl3%SzB4ϺϷqKiJ:RR;g?jA9sC.rc86H5<>Rb-O 5zG~9o$X~dZZ+'Xb#7{u# 4b^_WӇq u& FFh 2;bj^RIlyS5^V-*|xKEM:5x1Й3EWkHNDgxDPjZ.2ӊsBו8'IOނg $=P{Z Ͻ\ftuN+4ybKGf eԹה]`^8&t?Tϓkg}nȄC7mQ''}8i4M kZ~My~UƶXrݾ6^&ݾ1`ؗ 3! -Bk"ЌM?haV6X/WbCB1z6h&qQ@%\8!X~$ܘT+yG8aJ'-񕰿Gh `iwzrx0{{<ŻݞRq<*R-NtKmɭ)C}ƍS;F|6ew퇜daQҘE'PsWdu3/(qUk`kv'7Lp-(0OP}< KY"-\:OB9K}tW} 1KNQ5yf z46ܣQ#JϷw[rO}Ո.sG q3DHыs$iݠʰO;#N$)pz4*\<5R.Uf>kȊ^4Tؤ1RPLEMTvݵ zd_y|Gҁ%y4h:Dt4mZmVN.QǙw>L9 rm4}?:/tL&~d̩|:YrOGZG9F+(T]2`5'{@z9aa~Q=JUI`3U+O!"QiE柃|s*YۂBǀ :g52Ql4C{cf+%}J|DhݰӠY0S9Ds)x׍/k6}n zoq#Y?3ӃuNR+,nΙhV&p*S$ټO=2S3JI-! Pp;e 0zQHBB7U䅞qQ +׳4K#Byfʑsx$G -j]ԥدEٖ L?c6:9lpѱv'4 S+#I~lfc2" TC$}~_Ur82E zP\s<-!Oɏ! pNl J0CL)O|@4,i@W#afj"6 0 z#-YF$POo^3^.GTc t+:!ih䡲x]$?/f޷cӘ!<+Qk:&k1n 6mgOU v+~&v;'ᇊFP0e9둩he0Wr-hl9axeU}BǯLNdTI{:­: ̑O6]])wЙbhA}fDk5;tOz8kUzx5b9k&~VQf@Jʈ~D_hqo4uo#j>BؤضSUNv9I'ZH,XQd,Z@IFDțGH 'LBTstIAo!oP*Uޔ% !|xF*SI 3P>_MLcZޗ(Ƿ/e8Z6?}&qx/^ncI{; xV,rB8z!c,,QP RD]k~DƲLx‘~([v ?dq(LrCҬOgo퐿9W!RJ: e^!3z :<==<>u`-ː.!)_PׄUzE؊4aCDm:3U?+X~:A#^p9Cuvmk>-l%h^ŒM@k#|b=d"iC8iaYRܮ1zJAb!okS` !@(IVA1#Cf[JWdiz1{LY‡̴X|sAs0oP[VDҚupx@}XmTaDvf"vngQU{Dr>eE4CB Gݧ,~8~A[s9>-M[&_pn[HȲ{4|zh:Ǿ>4~\CT9>ئnd3{-SwSOOtuc9a01v*Gcyb7^:MpQ̖g m$7g|i7zz^5JpV50^9xc7{-/AxfiW\$bI94&Zʅ Q?L~$삫񓭏Pq : :Ӫ{a$/K?Czl=5I"i4n9BfC1I%|q;Lѥ ~: Vn~Es86]"l 3ɻemKj+zKS:vֈz1KU2z_=ɿ4F'px y(%ܿX$o6dO”rq3XDjcydoK`c;qV\PfCp g_ gVsN7C>0Z"fD~eRj>^J>8HyЫt9`Td ^wW5x 0 FRj8ַsmK8Vv$7~4k*wTb"$+lt*.\ O|& H#fxG B7MxXܿH/ ͸szƶ,@'X| x3W_9_6r'So/ N1}8WV}s17u@T֮i S"%}EPEw`Q,$LCXs>2`^-bTKn (`hWp;'-֍/ ͆tR`v˜p~;_1>CID! 8Hj*)6_wuE^.ό4ޮV4gT䍜ޱ%ozÍ =yމ)Xpᗁxޚ%{|t }`CΩ`9&N4ڈYH;|jKAK\yH)7蜂lĂK>I{Cz8ng>\ +ZB,v!#r S#ǒcYb"0sjUŴ%sQӪh 6WV;l-R&|76}4BƁS2K CUiLI<}V zzx jg- p Ȣi>~tZ KD ]^fCs-۔x7F̓meƹ= L˥7Nџރ@d{A*u S(u{:YV}r@:B"'ĭqn A"IOh9N׮nj8|R_uz:mZ6) j:l{" 0t**P1F'^@HPv*:'3e͜iQ6&`8H2i&(01g/ޟGga_b{BʙB!˰ 0*#֪BN@&ygzwV }ԫ\}QPM_e0N lHD< LڷƾT?|-b[F>.kl@Ixa.n?ؓH!-Y;lO$%=p ]j`fb~8^Vwu>'4Kh"|8Y%/{uB4GD)C? 04ޑ O!<~L^pzz q94ykj D3Z  hOilb:ADsADPVfw̋\%}K1=]R)߹^4idA{T'I֌Xi|1*FrɠOoOw1`Sj]= Dd,2& s7n-0M)8?|O|ssTC=mVv īɉ`S_OPuqL[J.}VcLfR큠 ~X;k-%RXK Ea vFЎ*Oھy~ki: -}˂,Y Q 9; ΄PgKOb5^^T j3t{@.Z8F1ĒT @z#lf)^"OӒ(H6d!m=$"q-ٙ)ϥlܱyROGjFrK9pٌKz%_A A1-Є]nbl\7IOv_^B[Q o=XĴ61N)YW_W| =G,̩w)kafƤoުTNӿc9¹"n͈J$18٨Q:%L%?h21vs3P+a/ډZ0R*]Cn0ayjb,u)T:%2;6rMvzfԞ%%pdžXRfwܜ?NJH\NADcDaT`ۧͲ\?L&SeM7;8a@>ۛ9b]dbcH;zy]{_1P_ d%=E΅FUjqJIW"{s7U}޺Lp`a7˖e ʅRa´ v'wJ (DHL®|?4.IZ5)495.UF+3]?Oݿ_?wWVW-42hVM_!D2o>RʿeH֣'f-M p(5W-y}فGX8 iC Yx~F!OrdD ΀ƌGFCAk S}y&I;]doE'v:,\Kh׭|dSoBD̷)ˊBdo1T~ǔSuT4$Aq_?}M!QoxYR^谫\fls7&=(H }qpD0@0+= 2`M|&rsϮ^oUa*f\ J?*~qٱʼ:f^戊}r{1Њ$kl,Ҡeư<ä}!ONJEy:mg:Q%`?K20a"&c"FB2K"h)U݄_'QW 崝T?<cHrH8WqPєe}LfișVu?],rүefLKTջ#d^{c%pyi\]^13-߸w\$ w3(>r(?d  ;Jt"[ʄ,vنd -9yk{d 6is-^|2Հ01EdƆ ˀ7xKWL#:ǂEX¯A -S^/u}RMNkm!org =-|ymͧJeDTQjZz~+2$-ц{帐sr4akSfo|ZUON0rq/? ط.ՃPV?V{ w.-< :ׯ*'U%WvUXȭ&ģ9qI``Gr 2sH e h!-T:>u'v]R/R%)ʥB,.  qY䚩Bs;tRrMF<9S7Is[7z}\|Қ^?@ZP^R KY/#Nˮl766Xf M. }~2nWy\hoH@}"lcRq.bҿ b{4U Ȋp9:aiW9#6eb$Ҹ>]d+E@kT,?c :% ,O֛J͙qtМeݭx &7M)U:E:$ @]%?3"rk_%ZEz\DW!׏NQ/8t kGv~_!Cs;v)9?G_ ARKj"7ږ\xlB~ $ 9oGƇra$c|&p `c[H3-BKP9hX] <݈ h8/^=dc@Xm`EI;}dFh.(? ,;XiZ⺏j}XoC6Q@~~r*Iڧ&l;?k:P͸ 8o Llk ADBJ>*+OGu<1gY3(!핈L2q?U1ߩkFiִ*sb~kLivu#{TH]oT(kboT$%yJKo.;`\*a_LA`ߟ˿m&uzT ޜzhROboߥ؏ۣAJ ѭ !e֓䁿N8ZǔuU]$A0ԈT(i|?_xGm>&:=aŧx&R_p;Y)Ъvf$ƴݗA%m4ć>DCe9,;^}{=‰=!_PM^cmu#e`Pf.ӧYhg }3_BcV=pPǟ'$ %Ҧ l9kteg+@#lLz̮f`z&L<$ͤȐ&}2mDG^?pʸZ %FyWc)kJ}B+uS#5QL'*(i^WPOqCľG_@- p[_W(<%o$+ ୓u||Z+!sхⶫ7o0=zvy}ڍ]ߨ0#m:)B f1c ڕ'C%7~91P(gi$11H  Wְ;;RlKX2DY\=>'_3߻3TVEiSM[B@!<4 C:$Wv.e@=d&j~ʨ0rmMfܐ1wGÅ P?/w xl8| q%ϻCxQ\J߭aE)Nty“0D.Y-& tV.ZyeFD$}K d;|dҺ:A+~^"ҶŃC~f8F܆ktU{~K;R߃lbHSғϙ m4״{ ov}qAUlA)[dnb>`_k^f+B>|#1F*oD9?dAY2f~!>$$"KV,7^o Zd lDviǛS<  džt@RۃAU%Z_"*ZYee=Bҵr1ML))+|x{^ A@%MY=8wy5ӥt}%GsLXlm˲L慎.!S-qظD﹤y-~teRIׇW2@.F=^ <ҭo!{xVC\'^!(|sF*Yban4 ]xXZ<!;aװl:uE.`̀:k i 5F*毫8dHKɅ QߺkR,Ua V=L[k&!NWBY:>|t?\T8 yI&=ͺn0-k G:(LYtx"Dئuo6M㜿K:M9 WDLhNd,K̒/|7 )SϽi{@=/*rG|hX! =akLȤ+yQq0y4joY[wiPYЀ9;_|EKSw]\&]숓1rDKuB="oA .쫘rQì'"pO)r %=x~7Эo\K_\teK/i^hl#QƴL'lsyJj̙nޘ%Db|%{oǪ71eagyR\L~m)` ;&۞/]M@+[ܵ:+>I:UVsŏHNJUE\v~]Lbӎ& &R6sav„Wds[19 ɫ O7ʕ<iN- C'?6&ݷBҎFмM_Vx@jIeRXbAj3 ) ǝ0UҨ;ܻ ϯE?U"G/t·ZИtib>EuT+"r7'=|EsutyhPy^'3RuDPV /78w"q~JenHk38sj3} $ f8+n_)$2/&)XGa%徽C-krcJb^ ۲@[R4#Mk}QLGhHv8yp3Ai'5%XH7? {35"K %]bg"[H=,Ẃ>$QVpsr5Ȋ^] Id8*{2BH>˳_0u^rJM5Q =\I{{1Jyeo|jDsC^cB>N5ܒc~`oQ^ɍ`|SQ1sF7ZO 2s| lP_RHp%mcDcFuyOnJ#"ZR# fq ~XQW=ؒei>IKh.6EIGU4U0yC&#:GgkWsUDօw1zCY-?Ô__ VUzIkg>3+.'5Ľ_ ɦ+$ 1эD3{uEH?|Wͬ-kf$`=%)oa.Q$h?u \W(1j&: aQ.zW~BKVk;J,;)o0Vcܽ1܇$dK[H_qlu%F7Fb<4O}x|_ ى si/DI*eBa`o%"yWR-4?<]/ I葴C 5U7刴a^<$LR͗rNt^0j?dTu,_dyfV=9ĉV%S(M ]c֗($ܮWC!,ߍp^rF͖~~^ G4ol2d=IB AF_߲HÁ~%b~RKS;8i ]]W%=A{nx\ c 2e:+ҾwLoh wSZ<ĜۈyMʧ~က^;:Cc4RM#vf,MVwtK I_'%A+u@fT p)7SR' w,vK+WD1VZ/$;f4B!qd~<>BA,02do!sCdՁdn}Hm j$//`Q{o`Y@x̨%On3BV.tg3pԎ afm5xi!mz1> nBG^r8zj~I״ƾr_h%'%x$b-8WJ4bWJ?UZk6Hda0M',$>PJɥ^.}YM6. \\UT%~^ SިYpjlQ!,['J"1v*@l1c6A*jv|~]$1t+#]]-G>#A{S-0\y "Ϝouq5A*>;>0DdN`=z$ @D= V0j"[OI\x#i):~9 d0ԫWy4:)'S+!U7]b[hN߭:O$8*egm_{22C  xOv{JCf2f3O%eN\vj^3IlI4Jcƌ*|ޞaWot95Q^U=N~0 d#'48DӧC donQڄghN=j)d\L*fՖ6/DWMwOӻӊ ym5,sd瀇kn8w r87x\Gfuo4'𿦌% IK!{U^W--gts)yWY" itjz`Xi=1S.=،aA3/ZOC*>sN_lAKD~z=RGbXn8itK>88D&1^+Gw$}MDsQu^Sq/X H3lsШ?H1גd][AW t29ZFX(SfOㅕzpGﵱϖed37ׯ!fDphZN1 bȒI{iIfx8x__l98 ƥ;/sz߾ύ?!J+m(U(Y;c 9!CYchZI(m#uE&`ZPv_7CZiXC`xkbقq'k]33)^m8^0“Glgd~R9QP57 [tN'6veg&99=ҡPt,$@"S8H@0EN7[>P1Rݒل!DTd|O4u8 Hh.k_vPD D׋7yuKMS(*mT$Ww1ˉ3_ \8!ks$@q=bY1qgƓX5(-hq_9i;k؟ yL9IM:,?[sC7qtdC^?6hgHlElR YS/v6?\JX MrCblN$?H!Av]KNƮHX\m|x)&fZ=op2hd4ֶ8*p.8'{JHUYt-_w[X./tȰcYOQ` nk+!Pm#J QG[UGh2$)_/:%,~#Or+%'ߍ~Ew:o=53Dw%eMK1YhQ7D(v"c.))ü[/s~yA$&-.-MjXZ37X'1,.ϨqQ_XUXJ 4'xT{0sGc'ۈ]F7>櫸{i4#p~%qy_Y@w>Is8D5{hɮeWpKTONWs+FIoL;]5H)o1icŜm}QJ38G+&RA[M6h&J#0 㛈fe-̓R<ȌT2s^ ؼaDL}IfX1I;A#/٦=ҺaL(Exjb|*Mck"17= 0Xx~Y} !Zf[SI>}'fU7z?r%F ?cZÜ܄"J I" qT Hpx+yEHiUZ +@9];\.Mk}vW;2q\lYe)?nуP.B4iEWܜ=pHR4#6V I@~PEhEw-n7ۗ- WOL(mVdo܏oHb=k<5H7RJW?Fg)k.s4BnچG'!\ 'jֿs"<ȱR1FG|z>"zYngY/钢 \뜞߳rΖ )xN@cR?XJxׁ0b| )3@meotY<0~õ3<<pp[HWT~H˲DwddƾɳpjLEHDbH\ؑ-dm/O䁫4W-`𼹋+*?giPTqm~'5tg B-qX !AHoMr* XiX2BwwȤW"(nA٥,Pn!p.(qYN_IS@|EtR9~^]FôGu'~[X{ U*##w/ʅDYr=RLq!ort.8 GV2= my!gEЬc$cWtps=L79 &b4F Nn0Di aK&63>5 ͻ{Ax-uٟzOrg3(zs80NVP:¸ "y*v 4/^Ζa޶}eim9Ykդѵ\ ^@[/2J( Eykkyƭ=dWW0c ŬHZ=L$GU*s4qQ*wmgf3/EW%`pu{1*ugj\* U&֕{00I)S&~V%EG~txEB>=aV V_]aMvٍW[_Z%ԵvqOmp^GORk2tAtF("^f?xr Xؽ_YtƷ `>^ܠO h=cmr kFh*:j,}|꫑.GlTa$)ƀqI=UM{.a~+:Ꙧ;#;:4Ế.! o4 )>⵸Moʊ)oY^?7wɯ_N2݁ꭊؤr.d9.\4y>dGx0Y%@lU`|6n~,D= ic =RC&q_W mB0RJ1@M'VWi#ea{ކ!(Y}لHcv+xE|!~n# "m#^_;Ʀ +S x" ag!,ȼ.Kt B|*ElL7Z!jYuYpcsM:@BސqcLZ@ϭDax< Ŋ\遥y'r ˔XYT~ZS x,Ȏ!|)%2MZ;i/F %9967ƎݜNA(h:܈\G4-x]S]&Jy.jNK2R+}%EsoiW#6ޜޘƒ~3'`lQ=Bڹ~^dw j+1:ǂ{L֞(ZoVO (Yh{asg6G#b#iErC0a?N`0 NUL "M<usnԅ_Wl,bE8{-njWA)̒yI!IKBw(ʎȆ%ж/}:\\Ή/yD5²i6댎T/g sT|eIԕ:X1yU(+ܿ3ʹqQ.ճá;%t]0ƼիGʋb +yϡ!E\RVhH-f+>r_3ێ p=K!޿bTu)v_qbKM({O&1|a%5Vw:p#uw3@L] )b_X|}}0̚5|5sR@0פ^(.JPļ~%A s's+Uj_^,"l@'.!CC1'na7+ sI G⸂4H1OioryQ΍{er* }7bd4;tV«K9X8(N.j t*ޢ_ VxDKiSRj'1ڋu.';0)יsd]_QpBBcci 4L$`{IGv[nUIZRWqk܀B9ؿ9m2_'U}6z>.g@yvJ}U?NRMyoi_q5i$1=`0?~G(DѫgwKp[V=VU?I\-bosV>-LztJZNTnW1Ь@5{|Tw:}f2rwҞs¾A+C_1vZ,* pHC2F0T;לʐk4QXM?7v7xG`W9z ?jXej~V Ev g\Td/H^/d6rR3C)&h>@ rǚ4v]Lk0mgTWr,aX|r(e%.o˷}d]A&%֋frzu5S>=MΈPvlQ*VIݫh3ߋ8/5Q_gnXVԍ\bƸO%T@w*zspb%ZD|/ ƏNC+Nw<=gK4բ&qP=Ss~ KIvwIFzP.QվBwv_pk?0S0 @g":mB/ ^/<ו6f1srD0p90?ia=èfB#8؇Цvcuh0SѲC'kŎ]}KlQabzilTyH`c-J|<*p\1&_/M;<3k9Kbs>eVu'tI⊞|H쭴=!x>~.|"d;%#EoUKI  !h (|Nnn'>Y7eL<>:i̷\IV% sTc K 5-pqC}A4Yb-͍>h!3{!.lc}'h=ѿtjL.Js"}IXGDs96@q<#7+:6W9T{&-ŏ쎪t fqrtuY6!zSz p=x4'D4#}BapRBqR祭ΏѤR%E}u4*+dqrॵJ:ߍL*]/M}ůQVW&j!,I#CW-%5ʳ Rg#Õ#WCcA}+rѥ!)sN Oݿ"ӆsՠ0t½(R?7~_L8,6F-rãO?WJRt~7a2y\R#?ݤy%{(r8ғWzf'}wv=557dFs뇣K@{j1(J`7jyA/¹Y NJ5)]{CކjJtkm-ƣ5FS&>D|WbwWavtJ/*= $p;N{ȘKu0٫Q5k[^< nćĈͭL>s +6>Ӛxq(YU0*+׳jR}nNso7T3uäUI'TycZ{lPW!w/T6^Jά*p״+DQ~fF̨xhq_ۥFvJBSTer[$R{NpEXsּSw;o,N|4-)MxX<) YUOZeo+GXmU/k(/ /݉wZRxul/kD/ rX,BȮ߿qΒy.} E}5f9B9}򗽱Ӂp%L}reARQM\0z?שe5DPh(]nG!F;bO(7oXRۼISUhJswܶ8T ?!GuzSGy%W8hA&:&[6<-#ǿj Myn4=P6U7K=İ_`)[WikNvLľĊf?di~sd?9{I6:$ B'G_FiDŧ}tC ! >/dއ_~| h3r;ѥX(QN˒mt\1yN b{SޮG{U)HQ%h BمK3p\SZ^PVA8Xxp Q78tyFXe4b{BKQT8YҾOp]ӟƤOfhT9'R(kHhFH__vQ>OV`徝E}RK0^!DIDgVUOH*Pd@^ 3xRIBTd_ZTFaZK}8-'POXSu:3J CA\c.%&* H!3|Lh{pA]]^ZXVX}E T&q'J2,F: ]`#2 PXUSmU$#2<8_-v5''Gh>@z [XqT r EHo ͆,{uXG7D~iʱv(@ys47M"n+C.a$uO&6{$:18+߸P@IgB`9K»6c]Pc'gޔ!l3¨RF ZZ |oZFx Gz!U|DMT)m#IjR=&U 8~B %eP'TDjA^ڴ~jaCPd3jI[ ax]Ё;`\/C檝ƨ+[hgqIٙƂrK9lыPӅYGQ$3ƫEtX`!jGtƧ/+7UJVVܼ xW0(M!Rmpt82f(L#C8J`ZBqPܥ`j;&1)Ord)%hZbmxgL[wj /f,B@>(Y7Ua258?M'hq3׬!uZۿnTi$L99}D*pr&[46,m^*}!,g,r˪䉪sD**8.E]uIi#zkW,1Zy=qTrUlRhDa %vC6Նb%KabR:iyϕ1?\)xM}I9s^ȜS^{ !@)GM`fU1+C$/nR+SddT{cTTWa_O ܷ |=mh\ RvG;w9B'JXk(Xe8g'graL_Ă(2J9he>%^*>m>b;- wD6/WӲ&,MhG| j#[=O&5_ڇү ׀vR-8>.C:#H~y__z{w`umĞt% :B'&rfmɌOOMu>mLK?8Kl,*uCv /"(x)Yif#nAZR7~d-+\]&jg>_QS^T1_ m5sgLK/k&ʋ(yPWo-1eыfqPNO^{/12r,.%JE|1Y+^ՙsw&pVJRq˸"@;}<ZYAĕ8ncCqQ:e+&Rux>S)WPɁRa;8Ǿn"%ԪУ}}nqq5ŋfq)o@#n} ރ-ϲ&>lT+IJ&UE>:_kd- V_^V*7%(ʵ*+ 9nVqoZ->T6^Є3TR+ gQLHD'uCF:[ S(ҞŴFVڬA%:>mpP~`) Ӻ2p.]U>1v%OJzJKD٧Cku6P^"ڋ_}6YŠdGsIR]_e64*5[_4d)ZD!_ϟQ1Gn-_Zra:9t '7|&բ匚~+7yhHBhʠT"k[_uD{k)>/7k cT"-8॒m,!K%(BHxqrst%[$BvdK o.ndEp'(zFh,oIbi n#cP$C,g|2o?-zcX YBz +t(&]>*peos۟e^Bd1u笮QdX#r.Va':nrپ@ujvlYc2ͧxӯRA&@Q4?" |bELvֿyphg&-afp~:Wy.:}Tz& U^bFWx$씟ѝBP-Ds?>ծ_\Puo|UN@s:CgZ =SdY~z_Y 5r]>ޚNȞ8z gkcIT*˲ >͏ѩhS3VNQ`Q+\Jf+/ S mv]_GRX!3&IϩF,z!k%3hieS,Bj>vX( 8]AKNm=ID{ t ?2d. 5rC>%DS"Z}S,MY;XxY% 7A aJMVXTu2`]P6'XY:xElyi?Iaʕo_b+}Ekq--C-kM//x/$z*jr-B vQ.;d=}iS꫓+|a/6hPp *V/ȗK1M?4BRkjʰُ2tƋ 4ndz$ojy৯xNn=( zYyg8UX_ɡpO_|$/"yۈK?ƃC\Qӽ P u]O0=5 I}*LPfT-gG@BC28ᘚ"k =8!^ZFC`{k$xq2ɉޖ_Ȼ<*+ `l]/e!t#G~~c7~{俣}4T/]g37 fLFp"%™B)=n ?%RxɆŽĐ",w a QTJa:({h-~*v)ZϮ}NX2cmoކO8G)#Oŏ*o wԝe 4L#ݮ_5Aښ'ŭgj2u9RbM"@Oo8亅.WPMor iM1ŝQG!_$M׀UUMе>V~śńU^эB8i>Y\P{XiPY窎 %&b mmjP/ȒL\^(Iߩj- +|tŤ 4 ]IBswXNL b,@'щWj.6/rZ/;M%kf0UY~F>YRWO5:F{6Z{#p}6vWl`ڲQ;PՄl0ﯹBC$Cg\vm"䍍D+VbwDOY]7&ЁؑaWrrνwJLL~!,R 15CLy5%@v1-GߐmR; "xēiu+y8Lމ^ohUg/2򟕹[3[X_<wpo% ɴ_sd7!Zas HY#X4:!Q9Mνҏh\fQ诹saNE[]XZi=1/7pq:Ƶ~۵i\|r Ta)Sp>9Uރ1pMJ{fac\g,CmUk֥pJd.|eW|0 2+qX:ā5=T緀=װ:dlѿ`&ܫC*ǃp_]XI\l_ڪ5Vf+y1i}sXxzSϮV3'X<ޡ0Opг9 W ZG* :szXͫ->X*`h{EĹCAHV7g}}dyݫ~:0LAͷUeX%0@lD鮵b5x!D۩ f}#p&i/ [T 0Bw!#6CjUa.Rǘ~ 63Ȼ+=]>z`x{S/J\j$'ǜ9Aha7шՂ&@@;Uݠ<2X\PZ&p}Jꐑ] gf~h - U7@h_ojV&I墱rCωl⟁j4l֥^&' @ow" CNt1*F{2*fԮB8R ?#yP*:<.'4ط>Z'??P_}񵄹nMzK!eaERo`֑]/l#oZ|25K FÞ(]d-@{G:K/Ո7>?-՗=?[tjV4XmG0,+#&3"T.ߗ*JL}hXs4djй{j(+y~v\|H!(h<&Bט/>lgQ`#ͳ87C]TA5"=C_ DmWe_fM+u2ㅍ(?:"fvY`Ӂ{{E<3Iō#rH=493S/­wO+oS,@jMɼW+ˊ@v}ioLJZC@v32^ 5 GŕeMAK{d dGa8,̕p`;gsj|O1}O0Ds JUG&ҋB}L= ːgUr.,>}1vl}vWGU)w hel%;%Q:4w%s9HhEYQ*D 7eRל̐^^G#}bm7 OlЇ΅ {=GN']\itLGˎںp`Y͵w ~+g¬Ni51떵5YDu%V4}7P4}nefu$o*tG#]C~'b^%ׇHT|}2_&G00mOo(\-z0n];rT- +Wr W_\{-ɫA6)h q >ޣJMQ1Õ-.TS\C챆nYso)MSZXf}'r]hm _WR?dg-EiFa$0rC:d 69 -B;\1u&=RbmZV ` >:R ՚\˂R F{]!7m|8yF8y`Jp/vNk\8ר?d PjFFxWl0o.rV3=f|'o ّWrvmm;Q,cI #= ?dxbYϸNݭSF=NXԝt<Ǟq$^K򏍶 WCBKb:Xi0 OWXlvt"B^nL8q);@8%rϰ kUfIZ;e _vu_1tZN{w|4C5mQDz jQNA u_Y̏(.cmz~ psJuƒF)&ULGذ)~W=~U=dmj}ɇh՚fNBPCC~xLEfbׯi$q Bg}m^GS4lClJWHiRg>gt=ʴ?u >JJ(&ncytS#I%,q`<Qg"HMmXZBD9ζަotiɳo'-TZgqھJOu1Diٔ ?WIzRY5p cvL,Fm)۽u 2K@)>`kJ곶 2Tߵ Z5KB1p82A-( JZ)WGjk0|898|LhUοFY βGq u7>jذ8 Ѷ[b_ڍOkUۦ kQ:oqGh(0Y=%ԏ-P4B-jgB_"0I\:{; Yԑ(Ts25q?q;>,KvB#)XM_w5 86~i8ƀHgD:<'K~hcuJw} HknO X/ 3s\YAE"Li5#NcB|ǙDUz܈V ϊBh]5ey4t/=]2pj^xN_G]=ur1{vH a\Z UoeX?tJ#yd/!V{~OP t#͘,CL.m!e4 m|~*+h1kBboS]8;: Q0sXw;s5D&NwAå! iQԝrx?Uc%K⛮x|%V up9AFv:zIPa*dsI i>|7 G@˿z7>M 'Om̷ɾ ^pe`Aѐxv<1Vز{9W"׵1s,U >%ߚ3PfO7(aShw/h̓T{oj,rIRTըK'郩)=aL?=zOaiݵMM WwwvtfBP3w>PЃ\g|qNo/Qϖ@|gs+1g!c0vZBѕLQs X.> Cu/+gNv3,y~:l4g X գ=W]Jku x'ьK]\(+bc/z7%ľ.X|{9S& 0$R֝e?~[#jVҿ AqO~oWT83+֓$61tQO]J5'ގР\>A^Pr!q[B+IWN4@Ot̸( *U8:G wdGrΙl _J+4xmz>է^Ľgg3儖8E8ɼ*Sc M =WJXT@vas3hmqRH?`ƒ"7DQGf+m1(ږ.(~}YiO~nIe*z2ɑ-Vk2J0˾޷E4G%pV8 b =bÅGW.U@3}=,_KiRz ĺZm]t> ݑ%.7̯]輥=NJP/~d}Plil 8Fѫ w?!XPjyV1!MDzWn]!XpZBأSt n\{_?^B*jik߮'k܅;Pڃ|-ÀlO~eY{B?_dgZ_~ȃx}Z>oYNjEk!`1'Ç_?*2%i <W,T9v760SiKdoITP㣪c_+%w5y9$m'1zv|Z 8/Um ]a0w.Hwx?Y,;sꃏG*p9+(+mǚߩ|'g`cU:^yUςI5rj`ng.eCvYXs޹EZ6KUi\xoy~9]ΔTC,}8E䃁 Brn3u\SJ1tvL׆աMŞa_Z.ib*%< # _c3m5&%5!zW&ѳ\Ɯ=l`c?ih3soqɯ7@͐ zPQGc,@'+|t~=V~e̞|yvFwܲm&?e"!ǯE%~?TDBZ &0\{ivlB[v#lY}󨮊Csι8s~4>{ %qw ;N LO]" =uaϬT |@>ſOtR8](7 o:K\X#VpZFײO*҆t*u˿#ɳ }p37!-X~|6R^ٓdDpeԺUL J!U #Bcj2l6)նESYKE/;pi_uȍ1Fݻ̀A$}t'0b6 # mX<(X]L1j%ʁr0&begHER!b[_kvtrjem7FBGbx.{mkŸEƘD8y-HU IKxw=l(lg>rhxX{Aʾ g';OEb{R3`;:tT.7LJ-sڛɮ<ՔAaj) +aA_b%1~t@IjRw@sz<'A44HcHd1IJ)ٶ ;k$sК3|"PԿ Z lSOzۺCu3fMTt*^ ýudO_ lP ϔ&q?|J]Req&¾S&OGbWZ- ꐎs!AuQP:֔I|'';CB3fzMjGcZ~@Ϡo!z |DyV45i+;r5#gL7[bg va~11R;bXlK%,~fpŦrYX,TZL;GqxDo}Em͒E~s} ZZu!G_S Iۘqzӏ)EF@I_{dt=|zo+ĵ W|7u..éxhK #꾤`\խn݉OfZ+Ik$U毹!l^x* 2bbHavF>"ϫW`? BD-a2zݿtS1o*}.4%" ,['r 󌐈,)P0D+ã/&DyVPJ|D>yѳ>A[G}7ӦqF.ma=صB夢#>SmhNIkiJh9 _8caybO/' -T4Vմ*XN{Y&HWҵ˳A[ܶpT^jشӞxĈ20eOA |0k²_Ն`4UxFt7/#tQ'iH<URyhtsE"ÕĠC~!t1&&awd*>eǷ_}N@󲬕.۳) ҨÎN氤2ߧP=ArA\~L岓:T`X\5H^4wG9i0+w P7YU'nBR 8rZ-A5aV!0[z2Ԅ l*V~SLK&ZPȲ8s]/o0b_ߑ!2?ΝP=a_0{z OV<۶E8MYM$^`|`ˌM%շuCgޅ,>~W$vOAr_b&T=Z)ۗމHL,oʤ- 2{a->ttrݽ=pS OA%֫h[EƃoPU='5 J`ݬ|]݊m$/8 k Z^}4e7f. Pѩ汇l{*Q5UW96"wDI_0c~}a״?o闢j[wlǖe3+cs7aٽ ԇ|]Fq (B_{(eIZ9摯1X~20yZTsȭ0G -٢KQ{g-s*aOQԝz`MBugau.3?2JT6v .c@sneӏ2b_X&VVc?}Å!?UްFeC>*ܸtQTyʌS!k$^ɋf~pKrcDt|OmXs$ D8CfjǑ "<U+a {{z~!1YQ<=b5FAkηhx)BP5*☲RehaήG0Mͻ55R`})\<lWe\渺9\+@Oa ձ}$[6e|Lg49!at弰XS/X0L-j+>2*?u aތeP#Ase!ԮO'0xWI[LL-UvRHW&K{z.=g o N .$' !z?뗗IR ff}üMxƕaX flHQY 2 h,^"t|ԏA$@ػqxR 5_At*RE`/搪V. x +@e[j1p su+X+߆x&^qSDJn"y7<瀭ihns@=F,_T^4 +wǟgrk0352cطM֧%zufuDOd~} n"ӮbJ&"n:AॠވH]9O|Mg;&IO ~Xڊ%kLJܠ*lP>0%3: c1mQ)qu veRn !8NuՐz}Ʉ߬'\[DÔ7M&>^q.:ʸ*C6Z4hZIS oR]vedq@{|XGnt22@8Y!=!x1 ,/E/A=  ʘU\99YjM.`,L%S N?2>NTFzڔ Fxlsrܺ/=M]oq%v;V]%Ԓc?vGΑ=n'L F憻*2'O~vOڳeLsI$g]ȶ XڟK¾rYbt6ITbeAFDmd&UrƿL gj?pBˆ^8A[5 A0jUgGnZ7k28h{9E+080j|Mm=e|teƴʥ$6[ qP7>u5w}a(F?&:wry)W";23mM2w 7W+ q#V$ >F9fGLK{+`*o B =4:NSO怟t(y3%d'iJh(9T1d70hpt5v}n^SDg `hpȵ]r$Ly%xoIFP:wau4p ¼s7B@>!jSI@ ~1av,'CRdžWNBD8T^= {PVfI SN-5pXne66^l6 S){] TE'ٌ[cRԑ; ƟuqdlްZ︷T0բ545`I"ݏOݍtaȂs6Gq|5^R/37&2$R_PIm\hyZG`6T`O>dWuA_o %*p˰nՉɡ#|'( fȀ]9 2q uشt9Q³E'T3Ȕ!c=,s1t +ZD^*(w:TP7sSYe)[}FШmd\f}d9ql \HA$)cX {'J N]8rg Ynx|\[D;0^b.Oᖚ Z+|fC2F׆o﷣f_Yr.)NRptaGT;/{ ޒ{X3Xa׉j uT\e>AW >i.`Qe*cI>qaT =B{aٻ*!}B2T@lXхX'"zS-"@,v '8R )S?:I@NlQxE˔bEq:k72IltkF ZIA7eɯݿf;1h-xUOX^$_QPX /6^WqLO]Nٺ/ڶ:#nC:}:f+C^5:viΩy1qP- 6wQ ^5Fi/*C$nj_dhQ`--T;Ou",Dg+F*G1cw݃ڌ>n 0Aկ ķJJ#S#(~>3٨sQ6>/)9-%hbh]n1 sIl \\\oR$پ`+tчv!Q]OjL-(VJ]=zL Ey}k}PT=/XɂS#^&A%a}D8rj?}=G2?07?%<_I-*_l32m KRϯ5 cLnYoH|jjhIc$61;drheϬvL83椚Bs9ϊ : EV UƳ9,tϣjHp)iV.5{?_ԩ|y NKyS8ڛ4a7G:SPJM)xd1Oc\k^r#'odp?+vD|cr6%6Ǔ7ݩt} 4eh6Ӭ؏_н'R3 &X-;Vy7mBualh. ǵw`Q᠅+r(|ĺ!}):z]aa>ṝ!c]<yhn!4pIKH+$𸳍޽=mΟ`~i]Yͳl9SC)>~ G$I$2D,FP]OQkѲf6vC%6R>g͋Hapꀬ_Ke}YSq2"[20n=>kNހÊ9"C^zC z.635x}4`H{HADg 3q-$x2Hsυ~Yhp;R z;kj""OQgGC}~Ѳ`XN2vQuK7zfHH>63$w۽+V2e}~w)fXM_#LR+F+m'~j2Tu>JxCCՌVjC -zePcNkԂcgoh}c})P?zU~,r.1l6IެfNvAڥb[>04dX#%~5>5Qa")<;=rb;&_Ư<芓D5Mcs&^۔لфm|lq/6uT FK?eJzX49s͐v KrY[C+oԊ?;"Y~GI*qVr2M僡0ʟ'*ȯ)& gJ:,Ʈs'R"|I|W I "HZ˽[I$~cs%e0ֵE^ E cY<`L3)[K)ӡ2 cȘі.>.|O`̧X8UIy{~РxWFJLјxP4S/* {?~/CYU?.bHUp{?b[)'t+s OWkXn{tH_c}5ւR"i~eDQ ~oij;z,=r&YFťi௱zxGe|;bؔc$X?6;en~~!(739c%l'5Nٱ CExp^ZM}df &T+E;X08cB3(g|F 3zP&u!y a׏,FJ^BI(qK,DW!' #\ y &N탺Oc!]xe|ք$*M%DXZ2||$p` '_<2ox/ԁzM.=.2)gN8HH#3]g_eX׼."Il=NZS&쑲m,-<1؎^Z4Az7i2S]۩4 a _Z4#~ jr]rn{(},>F!Z i GM}6jTԯk ƆE`df="6 47VUތx;nbR~k|lV^ - rpٽz@"zV?X'-w~ͯC2n_ a~)!XEKO4QT/wu7 &A1K|٩U{P˧uaL.F_D= Zr8r0GY?[F__Ҷϫ )*Wǐ5.1QRK@Gix8]Q/zTֱSk`ǑtҠM,=#Sjj_C.e[N71d78ckfiQ\ :<}>GEŧǨA*UMD^:RJv5Vc8bv;x s'߷`vWO[.(UzBAV 6ʏ/7ىe0v~Eң8-dž,u|ec IWSq'*MG=Q˾L^*S™Vaqk>\`1T$yCطATN h_arJ(|u<uO[}3uh M5u}5a `:1>u#+%CGH3sngHo0C~;5Wڱ;c> ~g3.Ĕ& m8%Dj,0/y*BDBmaR7QIWތ6\ӗJRr'ʍj!\VLb; 5) ޗ5DKR%[IK|SMGW6 `JS.lHHj{fd6X Dx4yCD7K>DGHq@o6Jxe@m=DCzGV1UFg>f>mi7ʜ _3p:Z [{-]zx^!{3N 5&ԕ1RH#&h ,vDe&|\w5(0Yo֘TA̚Y 3i݄^~;CnAe B5z[] ҡ%Q_2 No=a jpңT]ߔCW^plD|TPao`Q쿗8T9&eǁsA}ڗ{ D?#(Nw-pjw{ůp'NN0Mp޶ n,oajN5y_6g&K7vxd@g:ջXEuV4_<򭼻m *?)KWBbS"Bؠx=_㥏gb`,ٟ%jݡ={r*~ "-M[=ev8&.JJ!y0oi5W>e ?gR8䎯ob$ jPN}6yam5 z ՓxUx>$aGBKmP0ewc&mpG. Su?Aӵ.mAˆHo3!['x 5P,P$y&p-l}4f}ݨbzwB`OE;[wRc^)44++]<$%>\G눦='< r[r1xڵ+MGz7Enxߘ@4iټve.~oj&x%4}Qyԟu&< ܁5HVOi_OD Ln]o0t]2x̩qha_"Ra4db2UdW}rd56̟v}[4Qg6h3JݚI(7u&AםUP0'y ED7d;4o\`y5Ɍ>O_Nf]{Ѝ?I38(yۢE!`u¤X"!h?;m^n3_ib3D nCA_|*X[@@d}7.ۘ/z45#g@f O:'"A{m9-&m}h {} 8f-#T].jk5|ĝe\Kӽa [F/ytig="kP'ۆjN612J*K#-+ƑXUdh<Ь=*@P[ ]&V*M!+u%'Ms\>(ҍӭMCߝ0K@p.J_ÊV؏11UyE\d }Lf)"uOǾc<1F~A&aK5_e?tpUu|eNCz7c?+u^lQ [)}_20P;nƇ5wB%6JP>X&{F쬑LnhqY[hk/w֞*6XXnv".wş\&(!(f%~a-zεQ \I o DyLcVy.`iZmp^k@JL܀vDsk=5^$xx Yws`CF-tA͔`z4o_ M|:{c; kbj-V'G,~h@E<;k,GX]nRD_j? Jӈ|*5.Seo} LjA-)I233YҖS`},+%Ri_Vee#"(ˡ`3V{Cv?>t"gK7 W݇~9exOtSdRj_C}TQ.vhZA݀FwZ}%+,Hc 9;3H~`]V΂Є%k#4'J@JVh>W+%HfɈJJ,z?9-8VF횈e{U_'O%Ïk .QL4ME1=~@%aC"$8(eϤw uaz9KFGryo@*#xZ1+7YuAp{>Ozԥ"xLŇqrUwY9[~.8 lO63HGXse윏+#C" rjbEwZވ:i/! }֩ߜkU"^si^4KʞtMuyO(I@L\'a{&VgO#R>&6Nʨ]և"/weߝ ?656]fTHmoidlweDW G32ҙ,?d`P$GfD)h*$::cWrcpEZtj9+wK5O_,f %HqE q { Ð>3S+N|_ݽ$9{r9S|K-&;zn{ F'}DI4d=βO'X6<>oLewx}I}'o:ዡv.Q\o8^/˾[nGG,vx5i8nZ0;(lxCa*sh ADlA d}ӠT™I%|IPI#۸~$^0G|3B9rS2kܯXf_cX ?EleT/vmBUݔq߇ ; Ӝ:Km`"ʹͦJ `Ss 94{n LʰMښd֏ 0Ek $ueM=~*%LC~X<I=A#ϑHxkù?- WdNohXMJ y٣7f΁|k/w AYP? dCebNXP~Q[;`t f؞phL97'Tx좐wX K#ۏlɟ;{ȡ:. g) >I=C&Cj|0ԑW/y^u %"GǨRUaW/S a(3Ȼ~!콏mR#Mp}F sG\$~ m2pP2("a9ޓQX0ZH79zB U Fj1ɗ['olPϿ p>814 tl@%kfCGb/TQ4vQJm/כjqJLSv#)'BW%lC-L"x%M!yU'œϲD`ywCB`o:H"~b$J=S;Ȅe&~ٷzx W-۞ *d;&cl9+=6"vuu+->Ql6%ߣrw p;uS4_bSHL2?YA5S8g.w"sq`>itmnO魳U,n")Y:\Aa!Ǎe+X mɼ+=澞 Le 4ow+&rDxZdaȳ=;qÄ20ǐ!/˱~#>m+ԗ+;/RJc>x:߃Z>z -qC8g K*괛fKM{koc`.#.1Ik6#J3:5\~+T_Wğˎpkc9Yvf'_ k&z+΍С׫DQ<?{4gA/'>_ؼD z⺶WOxoū8, ٹiWDUY}ezsO1F p| %G^Y(^̹CC"3eVI[geEԏw| P.vB?\TCRD!J|htD=?M!KvY;YZj7;y~.w1gR*IPCe9O-/cx}vmuS{-z(uXs\\.ԨsxҒ!d%karV p^ћC (@"v^aK +{m3G੻G؋nuz #jiLͶ1Qvֹ-ijSOxK۾8E[SoM<\$8)aO`[l~\\LF2-8Jz~ub>;oC13xMQY zOCjlP|t5R Ys ,nzKgJ$T8?";{|c$U>=27!UƤg%tnڪxҟRR!#7 ȼp- .ޗ{I6b^``YCeSB1j'xSPN ;>e>//H!$\s!syta;o^DO_ ?Sb7q^i.?QoR!zeA7;:?Z_'o ʒN5"CǙlxvƺ c4?j@~ 66j8/c,GSX3qyYƇde?Gw+5zyPH^b/|3 |$BTqAɔֺ[ Cmkcso3?>k籽=W5() ް윱3~iNTZM 졬sH|+DSN[N^ |;rM/xv2FݶW|g_ko#㋎1L۩WZ;iڊt~|"1=Z.IO6Qcv7^2|)(*H[_ѷ.aVZtAx;Wb_i |>Q[K1zuF0X9dPWaM{&5֠@c#75ذ/s10 4` Cte/m_U֊"gFvu {=O#sW"~@9Eys9n&<`#V7^?><7ú1혴# ᇯBl7ƘIQ[aOAE Pq>TocY|k]jB|1٦IK3~SBǴd엟]G[B EX nnCɥx[Xtw`d5of{u?sFL|IX,ע|^ίXGrEofc?ksmڽ'Jq$3l*n_l!CqQ?Ŵ {?҇zcg0Nŷ7QkƑY8H{}D!0:\e 4Gf=Z;Z^kYZy~n/caxJs0tN?^f2; ha/|>W\P:=kY@[n|2ԻדzW U{M< bqpoHbBff;"[WHLO`#UB([Oo'k*+^oP,ZT֧O/]S^mۿR3m>LT냥N4XlX`Si,8K̰OKސ8pш\Lq.UvЩdzpB 1֎1ga hrnӃ3(1wC1GƀPUoz=B)°ew3t%:);$6W`}.2t]ziPa$4r.iZ?J.KN|& $R[Dm 0DC1J8=ke.jȽp a`qMQ!&zɁ !?ڣS;@&Io90>H[׿s`c,} vwS v6xݍټ~b׋/H{kQ3#w,Ǜ4kղC'QҕR:+!ls&/t] ?]5 g(M/Zk[im5wHC@g6SZUVǶ|2 ޴$8Xwq^-ʷl蒖Ϗ7/}@R0kC*jo!bWw`N"2 qKs )ҳ<7ߗkǰEwZF+63eC{=fPmc챏w i. č]Sm1Yz}ďJG [VȲ 5E pr6;2JIK'5~ 2fK - ><^%J[S/c@[Q`u yׯA~$R ? : acp02{!@\$V#QJ!눈Px;$lh&ՙ||߷W8;lS27 BTOU~wlZBPK<-٦қ^ hIT3G5m y'Y%B-?[# =v>Xǜ^,S[{B t~~2+Sls)'9cx/VFr>@PEP, ?OERǬiXqx}V+,ݨBbz98N}9~Z|NiAl35ȍr"88{({8VT`/O̷q U@)Wy|!g(֛b4=rMUo5R'6#wPLon•vtBK9YlYOF <wv毤){{Ϋ7 |W \a;J K߂Iɘ䐁x)ܿ~7]s?Yb_F-lg.C]7}u^NxeVyg~wW$};|_$vphLm?ɯB x)E{菫0%i&N>2Wu^NfޚŜJDtaag'䃚Z57NSydHj%?](Ht6ڔ;$~ĺX&kZLrE?Tߕ>'>.ƿDgp]1V\)td!7w&!j5_َXӓ_lXwrd#3["P﷝ 4@;'=pӏӘV]ᷦ6`wB'{9?"Ouk sUF#l ^|13]/*zv72!yP +4~|R Oq:b߽E^N{=Z[tD1]CAo=𵀇L8E^ v~AUQX?k?YƌPJDId8pg<=SSy>f0/Z$B/+ǔ \9PɭRgi hֵGcQY`іSħ.03wIKOP[/Pof2&5OrK>z]A,b|la:v9'G$ l`Q8'fwf$ 3l/1$yU`+9h_dͶC (>RtX~ۼBj 0PPWgfp"A87os&A4/I%܏<=U7 h=QdC~}{ ׵^[vr%@6V{19<>Qh|Ez}_$PqAl8<A:f"Y*mٗ`h:jo}— ŗR\k~0P:-h6Lqd젦+^fP/W%?~rT/wY:?Zۼ.-\b^WXn_ɳPKoU|ߨhn0~PG _J!}M?9*}qr % xy{a*FiFŦ_=J="2/v ^?Է>HR 0{\Ň៍r؎uQdh[Q)luERu+ El|O>x ͵uh ĔUp~%")-{9ObYSh.豣@STY>yUz3H P-X* Y#_V\?_9-yF 1:Q?S5=0|)Be= dt/~i2V mz}^ 餖Sd岋'?SK*`G8{}𥵼_<5<>=>5ӜBWޏU;]ky'ܡb-];I΀2HSo{T4%ƴol&~$嘧:Y kXlW [Q~h?$W^ޚM9-(c,cs%Scuk̀m}Qn)+xQ>!{09'ù)#;'Qz_fOzG҂6D7YX T#PR3Izf@]|+=&o4;fgAD/_+ @!<~cui{WL֌+WobP=1ViJZ<*EZmh_9JyY^ͦvюū@*;5AMk"4_MƺXZmEvZags'aW+o,Fhs.k-h7$_Pb9Dst[,^qz^I_ZT3!zR)HluE 8ʍAD\- >$LA]4X]MVfXyA&~ÛmeDS1#۾!)N黨q %K(1ǻ3dlkkow-l`ɛhr󗸢~xn<S+ߠG85@s;Y2S[qh$y\9.%6OAhp ݈XN05>3<]&ބnXh£w%𡻧׵7z fԸ.HTm |V\O['9"ph֌&TK3:_8cK8Ɖ{Jc$XƏ…@&ELOx[&n+ X[/p-ꄨn".(&̙jfzeb&/x6})p$gdSc1ª1 9b8~Tv`TE3@y?vfSE+P9 Eϰm, TMXYF**G*گ|~a!adH| 3u&M4P!s}%CUIQ[E>߹y(`txܺmN7x11Z۰6j_j~/fNb& Ub%;""^iKSC7E{&iʲ8\Г"hSg9G<׶h{ɘoa qp%M&jOmr+e(ÇDx0)0\'3b#=9&X7G6L QfJm`YW=bg&eu*ΜVo UgziU:tᇓ<}T& G&/2D)us:֦6k>Q-o#,K(MqgQh)!5uoyH s͐,>LIGp ԯxaBnחh a(7;%U8h |QilͥCz+Z:or1mw> }prvרׅ}8T#*Xk=:Egi1q>\՝z/8/sqx[OsqP-(Qf={տzQWՌ{%{0À؃&!!Q9vhAN¯eP>%mm5a;'ǜzp0S9u]Sݘ帮vx-޺ 6i$xB=.QF[̍6/vEz%^o+m \m58,^i2ߟ7upvRj D]ѕ n36!,' 1Xƙ [ֈ*u*k۱|DJ R~~j@ mk_.| V9bSGnZBkkW1[3iL/tZs*+qu>FZQfp$ȼcqK#=9e12-a $yp][cH] yRymn}D+#o=kIA۱ 5|FM6NշSwо|/83<q񵙤0 G?t}Ҧ zQ%{}&HZ'73TiNe(^aC/&-EìMwmQ\a `_^?Q_>)s :ZuYm/a89Xa?!cK y3<6820ɳe3_δR[foiY /?-Os22/LGxGzlUصTQ BgsO?a \H˖HNe@xFnFoy _JEjM6c*ʂ9f޼bzі%G MhJc(T={2Ra5MуWaL/c:%3%ŁU;$Q_avy$L[.!b}Ye_zyV[AՠCز)`jv.07 ߑΩ*$(DI$m<](C08UPt,DgxSo|(=U9|42Л}m|Wb/9ƮW-&`T~+osQhLf|ov6 ,M&M_=:>{##&b WEp-h&ق2k  faS̋ς"yWJ(-_AGR_d7h8)ML@owYožSL\&9n | % .x1(ԍwFZr"ezHkj8=f8S2!s, 8BG;HYep%rBlUW&& cض'Q4i ?Gғ&l5L^!RΫyfz?Tv.^3)sـ mep<(Zl--JK$)& !3 @ؿu3r3)l)D"_ݩMn|8I8~˘׭)Hi+v10V?KwE[Q9)͡!h5r\wgWF߆P08MCG9!ӷN eq]NIPӿja_)\ )R?%.̓PLtj11K}՘z#2 ZZ0/6}o*74:~z?\S&/9?xo;3Pʎ?` XߣA |WimUr)::0:[QNcBHgb/Q[93C]eÛ1bkJa=pD g>_T5elCy=5°x"W-Qg >ĈԈvN ƗhLآ.gXm1Sx%sE3̀"¸tJ=ƺ%;3 oڶ \_M1ot強CT#~B^"!yI0xqg1QX$1~0[PlsZRtU(:!Gx,Kg*(Q77/l+NjxT8BpkF~! 劽}]+}`foX ɽ% ld[kX"\7{b1f}j~֠yA~$bx k29[\iR@9)_F7 [rm]ph\0{(<QzۃjJ翣KQoXHѕ#ANj.d 8KrM}?[t B@pp bǪYױ> BpdaPzMHPc9Pau-p (j6(ِJ}39Pca/jsUiWEՀ_=H|n?e M5+CO  -bA-zOGۋ]pu#6uR,GQ ^¯j_tu=PQ:B= FwJ?= җ6CWxי^^?FZ"&w9,Ȕ _#$Z=P&My. ->6}AsUwXiM_gt!T"%2m_=*>t߫?Ri ]gL>PL NJ<*lmsFyEZn\cT;]oi[9|D$hX]Ó#5]t.&d(fV^/rd c%HK8zhCΫ_m Q6i3#d7dD xڶE .ь: 4⠀PDB}ϏW.Q$&Ri\kwUeڱ#};s1Ƴ~* n 'ί'*9WYm^ y GMاAJwKX,1uŷ yq;䛜<,^:/+3˯M <RO&"1&aG+|N$ѺTjR 4Q.[o=jW-Wҭa&ͦ7 HRS/ y(:F4}nCFÉuDd(ŬP<_PL@&uIWOcF* OKـžkt6s~"JWs1%/'A'ݦRʿ}%^Y׍ɤ=vq wk#[Ӭ:ܦ#2K _0渒 3sÚ_P]n7p|_xЕM̛'0ׁhis5j`hq+`{so3"|.>8pyپTmIedXҥ"  ՃBw(Sg׻=nD RodƿڧM3?c5*kF%7bɑc{ms"aR${R /g9]B pqg 1A!!5Oas1)y:z7'=u>`U\fyЄs$(zrXDL"");>.ԝk73%< k.rD#YU&s ڲ .ԛ60BUJ8RvײmދNw4<.fL!}!@FaBL2Lw YS5O_]sLmu"mgIɤoW h[y$صkYL+-2۶UcPp o_֩}? NOQaH/ "-ITڧ1c2O/!c!-E+Fgs|<q&hDg>lQ( {HTKODhi5 QpΏPt3ݳ8$>b&mb|Lfwa{+g w-яj#L=0CLLd[LanDvaO.Zb=s"6v[n^t":<\f؛ )23%_Jx@; m2" is09)?NjJ(kAQbwft~؏6plX&*:7M:zAx7a\cڗjs%@;L#-CHs#ZÆ!5_DG,#\iMڕ *a8b`"RMధЭb}9<UuLn)6h0W'#}àMmmG]~#ӧ?}Ymipr;%jI` b_ {K]$0^QowA]QDFdz ИArRL,ch"ѝ!yH~*,RE f1sC^׌rJ~?@퀇i9)1 P~>Ck?%3SZTp?߼n} yyusWSF0X/|S"^i dh\Ek4kbs~V#N(@pw;Yd{}=W(!$@Q\cbH/N]?%A*2@ʺq+V~"o[Sz9v@{b&rzQa&L>䓢m}&s0|W\zBGW1-Ybrp{'D;1Y$eINro̦`WK2z1?,^瀢Fc-=;eF\ lzOP tkCK@d"}?s?c¤ l y:o YXn̬KlzǷ u(UA[zC5zFtVی<Gz󫙚fL$ ] e\ 0=FlBo;I :y:a9,1V[U" mxP=YDܝY؟/- $h6gpt3q`,rl[2wx @lL۫j*^j[ap:`)-2s#p0qBtdn*u+ fEv*s;\J^[ t&w-O.;&3$ Se9وȂ榶u891Ʉwb)@emb tޒ:cFUcy$zzjfzon z͠+0&jQG;Az׭cvH^ hEA,~+^Xmc/gdhF2r"1QM$U"|>c7~ ėYEy:54F}d4ЗJm~MtA2 |Zûكҏe-]a~B2Qu*,GMGfsh;E̢eٟqwe)pM&Jih {.tBj[=iƎZt7%"JM'")nj@(cYB=Ï萺 Jl-[{ɺ:n ?.EoP-ed}߃ cspn!v =acbGOH]dE8&h7a? 'BzX nUT8-=4y_)BbK\׈+2(]PsX>2 T24f߼2Xap-ZE]FFW!e[Vi`WZB/rצ|cܰ9j=qaH u|@LJzUc-xJ oVԼy ue 50?gfC0b̳h^)~kO #YS!l :h+3ԡދٵc"Ov@J6kko\T$5cPX:ڪ]0"Wi3豚ҏl|Dtl'WW؇?@$gcsBSWZP-4K\'k!cQba~_/9>'>H__R|龚Gl RPEzD+ g4_ ]ՈjMӠ-ttV'%YrE4)?ɸulEd @JZw[˽ 2!,5JyP]d_bʄt9k1:qsX{[@i{j!!syK,ir 4[EQf( J؋no4ݙg"*y\ UkTy xK6G:b5aeުGMF:AgŤ>ZO-q@ O[ySl.:^uUxί6v^H{ 7cSjHML}5]?8R!n+RKk 8[N[cTP)ozNh *L)Y ka2v9xC*q0.IXGa~b /찠RrxŞΊxnLfEo[Ǖ[KǏMJ֤n'c{̤5xpSC؍O GB<9t רpsFTt 4W1EB[tfZ \e]@?R¢Sz=l.YŎ=~wp0ع1T'\k톂w ,+oQgڛIsE?ZG͠ ${c̏a:;nQ0@ |+߸Kː옰c%k(n#a)Jc(t 9Agndk(!Шh@&h8%Uԥ3.ܻ|fڿoI1?uo*PhjghͶ |DyUTInelZlƅGԚh#uR]!u{X,bo4j=@ ~f0Tp[rMpkdz7GqD;d+( LJyˡyNOF@nͳw"mܻc4l9)>a|N/LLY_./] X.~Nh̛"׍ ۟t{XJ_-~;n+H{8(jP:0H>#bWw=B_vp;xĦES'up_ؤ|9=cSt/=34íRbip^Nm0Gc],FsnC{K++V+Q#Bj!ߦ~3K ңu6Zb`Y<(И*4ԓQeEwW_zNMHwed>K$Hs4"GVQ25%S`<$0C cEv]@6ٔ~,H–38& V?&ǖҊn\dٿygh;@S@~L4-QE, د.T~Gg|tQIgV'$ 26>j-BWK2B8v柍0iGdEWkC9֋ GcKΎ,g 1|5NgtT_=?]y:TkDl*̈ '0bKVRDe+iWQ %g-~//kc ?nL!eSZI.$PV&MB7GD#E5($~" 8fa{cno*P#y5:rG {j)WJh}lEXY,ٛ+$|B:O=;-=s7{sQ_M4hnAX.1mQ cu*C\A8%k>g-~좤3[]`+8t[/=$ªj~aEfU0) /}p!D:R#p_|9 na&$Ͷc\1!K W3M?Ny `ֶ5^ N)qa-_%L'+^ٳ>SG'^^Zn3lӶ٠f|+`aAvЁ!4Hձ4eZ}cyك->.wm-2SՖx %[ BuDHޅl\=Zh5~@0ZyuA@]:L} &}y{UvU0QO߰:2Al[K%{R&`~;/Az9N͒*򷨳w'V ~R)P_Oz;cEՄ81g~(J+n6ۚ*ּWqÌtٙki7.3!#|ԑJ+̩r*K{=>r1/?țhs)B){*BeN-Hˤ(ZWn{e<&K^M?q<]C̤NbG+شU E ْNeVf<2{KM zz/ƂP(g!rRg]S ` z̴xJ$a W~U> @m_95DLDyLk=," Fªǰ G]ܤm= Ut}HsJmߍXt0z9us)Y\#iۘA97'ۛwVO j7c<lqt #N?߸4ь}nh/l>П$xoKP= ^#3wvjUnRv+ӅL[›XyL G[|3*p Ebb,u{ EhD?5Ku MZGY>gE(iH!B$v7TIMy+8QU)0@I&d9gXcf|Hi`ao5AqVdzca!ҟlߙ3Nr|(ى`i-oGsܛ2)؁r:Alr{HӒzl$E^ 4Ě` ~j;i l $dU$@j/ vx|^&!DeLS/%ש74`b$Zvl,:HӡZ2}3̳!SNB8F5:/fx>]g9B|chAʝ~{cz~ Kk}#>{5&f蜜(;iN0j2 `Va !@׺nHOT,37>ٌ;) ߈ V Ei%qm 3.b6k(^ɷ LWX(ߢFZ)dD&}1;d_?GHhMsA>=ms}QѽW;Y4f}@D;swnǕJ}J1)<7$=BFd^8< Ѥʵ[JHLVk #x(7KC^3_T~TD8wwt9ڊqߋLf]wLa!|=d$9MO>8ݯG#,'4Jk|>ո4ޡxy 7S%~M*s&z VezwF$f;bgel־G/$z/б/H*L;EDTɴP*TH{eq7s`~W*F.lߨi``CI b@H)ށܿ Ux5i=?簫=pAF#^v噀 EoW^|ٱg`5 _Jjr!BƐwPd8 |/4<8X>'i W]e8w=9Lm'f|*OI9]5%2ia}3aWE{I_qDL?|Vؾ4߉@a~V]I2r^lc_{it}>u_pAq㵔hHENʨ ۲?fj%<6 [_+1fp8:o'ݪX|J!_>KOo{]Cqc8Cu'HYOv;f+aa KPt}uҞ *5]IZ4 Ê9L'$[d)ޫ*1k 8+ ՘@x?N3ߖ4Лh^F;x0tQ>@Zy Q~@`U_Ե:tNK7~wacCJ[5Zdஃش:$=-mHCl~C/wf7{M-Ĺ ΄f".( 2$a<09I90(44wrZM7˼|xuF'eI;s qGT8ªО#H}^r?ۺ;a'ҡcp}fQ=TNAK,ROa\߶.fPd qoHa!`^~k╈Nt5){u 2 եź`o=>jywyTlq76U$p$7ڼ-5ٍgx;? hqKh:SV2V a?҃yJQ@ckZ73sxf9U ʧ144W~ ^1Gȕْ 1/[+¸㥪[AʆڐN^X*rJt*i=qc㍣g\;̈fZ ,55/W-dߍi 5f\iӃu |Lο\ /99.6tSrm~$qk~&eyہiBoII Ĉm&\ G?PЁ>DKZ7-<>o('?Ck{L8k.@،FaP$T!ǂ=ge}(n+07C؊$ ^^@iagZ!ޠD %XU?*Q] NGNNgB2z;7U^>4*d0o%b v|i i(7azu`>*Jdb_HUw;S||*GKCM|Nt 'UÎ\+{DCnkKh BAƿTXhVydX toD<([kC6~y~) j5SKxKhJw; mDǴ=v -N4]#bL0Cq nIr"˟:U=[dzCAVPU -{PKSbLn:s'.޸@u|zFTL^AQgA/o[T-RYO&r'B_6ƳdWz=$*m;]hG,>9"}^J']Z4!' U䜷v'ҐRQ_ 2w{N='}Yzdz (E$3i۽`Qhbn1)OokMgOd|?${[ Ue_7GI:,p *ILFcCp&Aw: z?9\Qth2d ㈥yfodi#AprJhÊ|~ɪ+Xu*kh/ G/ - ( {l|W$υPlΥ-Why"3slj):!dz ha^/g*G<uct ~Xv(xUb9Zެd~p t oM:C\eˬ'j/Ӟ*KH(by5βCd%S~c)rHI3xS]VLM lٗu tȌHOGݚ `fVy4RN:6Q鵊aY(~;#ůg}O[%Va4ҷ|룤Uo?$6<ʺ[X %i):1! =m哬;WLH*frN<ڞ8cR޾c?g)'f O;/ NӺDڤ#c6h3<>70gԷ\g~,596 TߨŸVA;oŀR rwvC@6&sj}a:S,{%ؐgl sX D /X|ߡEĜ)cc7}S#ZOq1:]SB`?-B&*_Zxp >zm9yq(og4.uwb y_3|hbVE_Vٿ~N6Fޕğ.@)zqG ef0oʥU+̽tNo!޾jLhSkE2B>pݫ %#^ޝoHAl̈́ ГmK?c3e. QiFW^ȴ3j:DU|fluN;ލe0`{'6Wh+כ.X*7OǑZuFZDM}*O)_pd捳áAJq 1uvFsŷ)}f 'X6s1q.}45( YRZtz 0QjE=D= _h|dM4ID{e)Cڼh.9^٧!#zQt1QN<8eʘ`{5s6'W)ծ4G3KT(L ٌk\:z6hu%BevɔD},#FҺK L/D?&g\FƸ-`ѮiW&ܫ"~ɠejS/q FvAqW( _8CR\\/qP$ɘfn #hOڹ$o6}ߍcey@my jS W\|8ھS kf*_kUi{j:5 {2 k%S.mvr|\ SZkjFwt WyrXxX=M󒆠$׷KvWҘ&> ,&s&rpugP=-X!$*;P[4+HՎwJ䏌^ WDV8d|4w ZB:GNB3G,kڣ9ʕ(}2`6@]-)G`A޹f ASBLq<,!kFY56-Fxա129xqQI.}}=9˨w k$*ͽ"dK^gy ^A/H=7e9̷W|+f1J2Mi"x Y( wMShk {g'4meEOb;V/)[xR2wj?+N%#@gdF%SzƁ4OϷq 5%AyvٓZPx˾_C)~K(x|*% Z^jՆJsނ)`IȤPiSNPEFfv$Ó?ԕ4xYu]uH-4͛XBT _+";PTiw UH>*1+.>(A[U𮿶etjގx1Й1W'3tE")z-k|iG^38?LIbI (K!7z-^.382K~xI<6#^r S.0{r(f3N0p2wve[Q6;qoM~E]9*a޵|U4-\ocA6JoX$vxqHcsaP}JH?0CeU+c!n᳇eJdH(BOԦUg9\;1 Ot!r!'9 YE> -w,Hk9`r˜Dmvss޴%"H9;/=TvڒS4 Fưsԕnt§6r!BIcz ǟ@Y^֙θ0{.?[Y}>{kh ߂y.CwJRkD1egQ/<9p~}Yso Oq%-j_gV2Jm=8)|{s+9OK dzX /3w$d % e=Q:CRֻ5\tqq`pD?I 1%>W.TZӒ̇Yrىt!œuVRK, oΘpۍ|#UP:ɢlC:mcLԄ-Rά|GM(Sp;e 0|Q+0ϊo+9 \~cV&)jZiEF晉*JtnD.}Mv֢1wٖ #L?c6:l=pᱨv'5S+#I~lf㯋30<{T(C}~_e|682-yzP\_;2<,>kOȏ" ީ릶k#"̐ӥGa?xÔ>\4=P\?J5´eo$Ih^2Ou>Z²%0пxޏԕE@ "zy r.0l+7E͸kgנWHPn.w8)77xZ̭$Hs#&cVZzkƋp}yـÁ qlZ? !ݒIxUʏm~_59qH:O.#m\SZКcmѦ-wIJފzB9LY;:d.z_*)-!,58ҔCzSO(_)J>CXǡ5Wt9b>~":)m4H,p)'gQoR/"],:/ 426֗2{?:Lv_Ч46*XV%''?qA}nІ*;>bp8Q(m&o!Gyo0 YHp<C^Cg\Lsu+ *|o4* 8Ğ3? 7З!xdoudO[kAVVa+҈q,"#540mn[`R My轢r6]ת+y[X ј0υQ7?a뮌)pnmGS*jmM K6qS@ YE ?DHO1vٔ:pJgبW;*&-8E {+yMy̑~hMMiic5n~*ZcF D<ߨjJ"RnDLzd\ pkؐƐX@CiFH"ߟ[7=mfTHJ1FFe$p@=0lH T~~ʲcQ_XĿB[w{t LnNP<֚}1ČP%d֜I>^ilR]*5TJ\a-+.P/\sMvV"ig y]HkC[rd㚇$M[9mDF?>l)N_qF19KRx2Vl͙MUAp>@wM3LTK3&m=&qĻ˭ΈXG]1ܦ:#)GԆdm|Yr- %-c=qW(޽$($ߚdCB"W4ǼlVnI!-)P8G: o_?%Q:N4zu[k, 3߹<-1'KX P@t0돰ۂldƠ Ʌglq{!K;c1=,< ԟ#5/%WU on$nh3{)SwO~u 1.@r#abmT$ybV^:MpˇQ̆g Ar,PtTˉzAՄR+s5I@=<sJꩍ5i{Cxj$/-<{{HDޛshMƬܙ<*(Dds3I']l@9j=3ʗamocH皍F"I3^(--'W`vYo(&5n<PG)avw'3;tm+}/X-|f5~7yW5cEДEՓ7JQK㿶t g;¯(fÆñ31K |XomdCEk(NL^~w$UI;b%kyqڟ4h=-y5OMr1Wx#VFeR/~g?.2eLV7v㼱G'WRBqܮO(&"da~ߺ#ޤZQ$27="x̀'IC>uyQ|ҴwtߌEvlʱxi)eć_qWML["y-mHo賈q"}nx]ߨLY}@v|XU/s+S;'G"k; Ҫ(~Q7phZ$EӧI*{bls"}4k).I)4Qr-l}+ Ez :\#$@gFmu#05YN@5ڗy}+Zxgqj@H&LއΦuP20"Wk, zlL4b&w_G9iNM)kĹӰ+e#1fhb}̊য়wh5_eȧ'JAm ވ r=ͺ=6 Ӯl'F1#Ne%VN5\;o|p;8zI#E$`-ZY;Drݡ!<-PaSF3:EcBߑҧ5)cQfBSd\{GS$}LufJ :6X橆ļFjLWiW74E7 qpTX3P_iᐮ|A\ip-+J(rz`nBZ9B~3HnWQ{R}mRb^vJ%"ja\=&G0o8 аMzA.tμpۃK Ny`wڗ*5 ˥b}"|?I}A4D. 8H1wh()6]wqjEZ^. 4,V4gD䍌ް%ozõ >yˣޱ)Xp:ޒ,{|t{ }`C)`? ^3Li3T&&%#RX1:9w‰/Ĺ#c λ|f8W5X=oxRC޳J[ EcsizOˀ/]$ai$V0K“g1oc较,7Z,JSB.x_ ᯱ;2 Foغ!TdlJOQf3.ۡ/H8*k,zN. FʕK }ms@D^5Vߛ91Fº_"37>- "t]gdo/\">S䎫 Pmho&'Y>f?Z|3buVՋ5۞QK?o"vQ jOM_8;J@Du~32޺ʀ?c0!If"pe9;?n ۯ?Nj5k|;@]Use\ZTϥnlO ,Q́bݪԟM!åcYD7js>YmT}?o9R_(=yCS,x28BJa=A;dVX{$(>arTc~ס'C7غơFB"F jB!M1\ٟQUU,Yۋ`+МU JiK.fARDw}Dnv;׋fUpR[? w +$Ɋ H'{ E%)~ nO"(dO[ׅ *'DrXcn]GqRKH"-nD{ (C8 :kgiT˕~)zܽ (3nS{X QQVonM7YG0o%KA>H>g3C&}(9*TY*%H7 C5ڄ&ݞA' 1T @z cGyEx< L_=>9NW6"*m{П&y sopup[v00AV^L.wRf-Kڼnry%VGbXX&@@*(FJ?c[cy&C2CZ"׬蘝\*xKH{H$ǖJD= %Nx?zQ#Ȋ+Ueٵ>.Jq._Zv,dF%Xfhǯ @sh_nKBio"^Is%r|u!έJW)/b<R^ak':nWYe@x"ܓ`(Zd\Xv_eI-[?R1 >J R]=JU(^^;g:>ySl d_6/_C9\1`sr+ "؃#)fʙV* \A_gk(ϥIqV!F!|K!]^ĽfF2n^$ҧ㝶[ ~VNaBʾD.R_sO[4WF$T\?6""O"4Je"mdA  -DswtwF>ўiv:_KjԭJrRT齤SoBGoӖIq\TN&JƠ!r?_j&A(~! ^2dDn'qњQOC2X`Hꊃ#!D:X@X_'ִiDj.q+ղBA r?ڎdI? Wv F}Üj޴?y2%7Et7[#y,C+.6iPp@Px',?7mg9Y ;K[e $L؈_ϱ/X# 4eΔD2 Ъg\5v|Ec)yx^QJ&Y<24GĘMvPnjb_ يW.rZY#b`|wvFuA([~r`Lql,d e5fTR  , K7c~xv`(K:ی?fwVD\ U>Gx?~m<0wNͼ[d n_wkN:"]R⨯=q\?[-ݞL\Ac =+;yVN1ϫa2o?} rORIEY+M R\١Cgvghd=RJЏ`f gd[ͳQd}BH!h͐\*4N֓{}63yi\]pLw,7-|2 o]jY(ȔH |h@u%:eBlC2PjqP`8&wG|lL prԓy1!h64$ YԿ[9J,njGoA-p'h]xԦO8:Hh2a84V^BP4~Z.@`nPyn윯ʜxh^!Lq(1hxn)IMGEI˯Hg,W!^^:vT`΄P届Y@W_?7Ph ~ϑd*sku`O._$z19|,Tym毮Yt ߷ZM[#\o}n.pCd+fKUk,M\Ώ)NW0 xH790Oå׬*H} n+/RT]vV *[dR#,do,4V  +Fa]$ R)FBqV3 *:2Ҝi#v}hZVN{sI\=]Pi0^3>:yl U;8D@>t@1V,R3y2UUZ!W9}Cҁk9zύ|-fPf 7( R_q?4Μ` C4vXswR Gé1[vuzTDsU jZpg؁>? b6I1j?e^lohUU02t NчȀL{rtm=VcpҾ(ꃣʶ/Ki>bQƣ9yL:tM(}#ݺp50;9ܘ",jݚX @X3-|(hwr*3Jh}Y pGT58Iܗ_&5:X',ZwyH  ok.v)S H7G,7]ICH%WizۡP ep:RgI}UOZ1h1r?$ʖD o@uÄ́OQQeO s/x ^ILӾ P?@Ǵ4{nLKn^Ԕ~>P+wR!ʍ 7'V09R,).hğ*\0>|P*8Vdp ^ŧQ%D]9h؁~m^DpFb5e{ڵ`V>'"0+t#=čo…ó ~"lc8Z׏|M4 qTy|Kכ_D2gMv#vY5 c=1^@& qޟ0r--WmLJ )5pG6'QWy {Br jљ!U؁̠IZTI]|7xW\d j8D~m% WdnÈ-۞:,vĔ_IڱW>]Vxl 6 ۷asWԅRnb yhs3mXd l=&1 Q og9rg"bJ+NYQ C/W0:@"·B r~Joe˪$D{ˆpuo_!5 _:t)vבb <g<ّ֡yF U}d#b(T <|ǃoW(UM/M*6iu_VbD/F~tMǕjOIJJv xt1GVQv7gA=[OHjX$#-2\%pim6ޝx 4AfNk HRYU1{ngӡjU Qӿ0&|aZIGFWv\hCKo^Wc0{+gTZ9m*}煞e3e̘cOZf/C~M}b=i%:MT36E8EI/M䁿p O(\Y- cx&˔?>ՋW6E_-9]~W۪Sw5S)BYY lrKH XΞRQ]IY0TQ_[aܔ8^~fm+>zЎ/i)ʈ`^r5`Hp%~5/Nb-0p( oebwֺG 4m!ʿ|zt28NvrM]xd~or!ʕj}}PBP";Ҧ-t8k4y!f-@C|,]Ya p |Iu]o3hrvy}0 eA VD f`[ؗFhÇKdn2rJ!BAJԜ `E䐣,m T(FY::O}J(&1/bmՕbӝb8\;~.i(X7f #՜#ebZF I|-486ߍ66+SXO1RVޒUX&2 }f[~\e-8pPNv{h!$?J{ 4ZʔI߱ d)@cE n/a=c+w(\;o&^XU!a_єm8ussBdY~ٓZ+!oC>Rr4T[9}s\`͇I>V<5Q·[~fNC{<Kƽe0Ҩ2r6zbn'dk߫C!_c 12ntr4ZקZ:h?4 /6F6كK|dH~r# O|GłFjao*$5X9q|B[{ }Wz4%K==#>/lPP)_LGI5|NJ{tΟ2wGV¦i|n^›TGBk.hByE'א9%+LQ6>Eԁ,:z ]bHok{RDzf C\'\˟t7g 7Iz;,L‘6]Y:JvnïaTeF/`Ă2a[GuGKT_Q"Y>68A}*2HGuk{7 ^$YNB (z. R6?_b|?ˇwranZ'uwV[7kB!@7H8ʅ'T~dUQ' 3X5q93!· & )ܙ VD u}haؒIx~8,`b7H1Uν@>/*pEx9GO5rY.5Փz&F>{5tI}Lu67hU'^\[w [?*T `zcj‡vSte}s2|G픕BY;_& 9;B™sW~ =I^5D׬qؓvB_f0Ŷv-~s pu,g!NM\uX֦G+8 c*\MJp.Fo\'A%`j#r>NܸDBt'D{i}xoyEk$qҏ\LJP4KmO(XSbТ9RtƖp,f(ZgA49V-Vk>b"EV="ј [ 'Wjp8_?ee=nn7aODrͣ|B~Dwj]IЩDuDqaO `Cr--qǙ-h`R* S.~.^b/9%r/=69.&>k븓a&dS"0CW?A72Z쫚RcCY_*mCeaefaynEҗDJzoh#I=8G6IȻ&`p WSS^ϓU)"7/jN g ik0zóȁhLC(?ɌcM:oNnuYJK4>0CY_GpOxUl{}3' +i5Ԃڏ]*}Fuy}FE,p>Ji??})D"c0ׯLVt6=٠$:37OBJ-}y̽H$8`8qYYo@Mkm`LVQuŭj_ !6MSgOB9 HսM/&$ݽ:IbiBH6;5'f'To$}TAc$ȞH{͓O!8,fߜrkJdVGr]D~"$$N Qf/CXYdt}QsM‹O­Lc^\+n^7ewXu5b|> IR%*w_N!_{* 5~`1E;Ou_,bGZؼ#M+۹؂cCk$Qf0_(|lk2^6`V̐dcr2&s}Ne݂t(@). V`_7S3O ׂH[/1=Ps#K +l:#A`D $$< k5Ϲ}#n%Ę Wj|?܆y}ɏg.'Po+3"q 7;bKwkv7\(Q" ۊſ}=4VN"YDor6_Sn ͯrtnI&oJB2MYNXɸ]K-鮚5O{ToIqk\oOYu9OirN&dd߯D@RDTi9<Oh O*CJ q#5rX4΅Q` {Mcg}1aPMث 2deֵ Pɠʆ7~ﳪJrM.A1׶tl"ypSToщZ'g`߈d>DrGIu6~ĹESΓ\[y2ͦx. nn2HCuuhSy7Ƽjd..?Wx/N=7/4,!N[#3Rg/@$kk+Edq(ɥLD&hb" @JXp fyʀ ȵ|璞R#ao gTT D%#`z V] 89h,R'Sl}Etj8Nu]zSia@w ε+N!e_rџ\GE^m~萞?g$`ˉ2ܬ0CC+懧=i}M#nͶE{)Olh%9}+-6ؕiP>C&"(E,F(٭vlc!{v4X]̜3zsiJI(6pGn^'BӑŌ^swpww(7 #'!,Ұ^=whwHbnd nb#9T>)2:ri]9k$T޴-0=H7)|ىܹސz^#Sa> seTȐ'f_G߂7YL1=Za]YǾk/\pLD>zp}Ҏ;i;Ay ~мK{gy[}/#< z5zq.Me"G$~zf] HV{_s7vDHT.' a.vw815ZÐ_IN(2bƴz4~ob6 }3i+R3%)kҜx$_1P( jti+p3-vq}{IBRy^fcG=`kN/$㻡 l՛ܐilvg22:ČHCɁ@6WJ5{¯&3&,tmqOZJLld4YᝢoYGG Ra5\l0` $Bf/ԥ*A+_[WZ+g򤈑'^\Nr\_񧈫_YZ:Ŝ, ,œJ@+:4B؂XlҮ Y۞` .0#h*jzd(zeSơcQ< ![}'_-'%r%j_(5u߯Ky!ziHiw .))1oH2Z'Y.{Cטo;d"Czq}9!97^?f^"fұg2R ˑƃ%n!ى=NX_wbΝRZe(ʶKޑ'<8C Dc;[fO}@jf3oƭvTtJVInq82xi֞aW o<ӄ> <[bLJd9/'+Ncx |#sJܾ.{m/y>J@I1Tф;-,mk8}y%ȾF*poPŦuag`L_5>fYɧ\DFX0צr1'zӊ%um5sH#wتQb)/`n4XJ|SWz%*ۉKD4 1l@n$,"E>IˆIZUuzRU'vAar q#RRiH@G4\g;gD2;|==Sb|"X>p>iq ERW(V5gc^GKkOyle㞿E|zq@O25gݥLпa?>>@[b=$HMI% x ]R|}ߛϽ6,&!Fd nQRhF ` *ؤxvȇCIi=!teL4[ ̱oÈ cVj7I؅xHCoJe?e%Py]@m/dˋ]\J$˵ p<HEt~PsEł%eFg }+CF6 _zoG\\^A&E'mX]\GVY3MaJ_Oj{quSAGpPW7%H ?<6Y& _z6ʺ5 s{W#7n\bH(eԓ/Ct"\02\%}"NlE5JϤ:HS[9NFSޗG5'I-B aR;wkQqYb\"?Pn%mzțh؀,TMF#4ݖ2a Q0lS @/͋fU 4?mS>H7^1bfֿ5Ixfa r4rKt%"`3`##Er5SIIOQм:":w yV5IʂphU??aV&V_]aONُW[_JfoXې4iӘ8זchbh"Aff?8`t%o gpf![K [xi-bC2QR3Y5R\,k ܪx 3V3]Ï<_V?G)js)xM<ɭXey3M uVd%a)n/At"(=J;&uTv*c˽V8HcPrz}6~|(9íid#9tuo9'/F?<{ zR QlhAU 8{2MQ&Tj[%f! *~715892Ŭɯ4MLq@4r̓}HXz'hV{")ٚ|=d5KV=<`)#N؅0_ai="<[]+!,|2iu.NXZ_i.pl9 ]YE~I5 |ߓ.莧-e*U,Ơ;ibWc܅`q1Z/'_G'bkIE6=UE~D#"ؐ)Z)( :n˾R+s%Es N7ƒ~f$COCCyԳiPP"bQFpL%{ =-17D;|mv>@[X;79] ) ( .T熕P$qB abGjnn4̺Ίּvy_g^[UT d A~ $iSRŕVxlLg|xo1?0W̫wK5E+̰lzK$XD;BsWw!RQ4Em ìW/$|-FlH MN)?K;2WHO };s*Uč,Jjhf`fX1vn5IȨȒ3|_12/m$g6W&=r%@m3S6As~=A*O̹OjS8D>w[Rdu? V&K=PX$(IU)k t*b\ ^t;iSyr$ʥQ1:}.'7)יsd}_(o~_ׇ@Ji$or&3vK&2?\Ux]ueދ +k<|uU_jT8>"Rgcr](i/;^VѬMyo w`$¤|])ezH?#Q61Sn?_bڙNOJ_ʹTm+F_9#0ѡNRNFrGa;VvH]1N̫Q1?! ɰ7 S*C҂bcb!GGm&>;S͏np')~R\jP?lJd _90Q%MU( -|( æ?k u1cɞK=R]G[^Cٿ, omKEhG-5\ vS)o6<]Έ㘌@6l1P5ɍUNSgPLl?/(MFƄq-aW@{`*rpb)ڧD4޵!<}i`;s̠K3Qm&o>5=\?tݣ6)K^Y;]+p{}-GX[ S1#빈A9,"Px~}^P ]5k{_ݸb Wd[U]wI `5І羁f|s+MGBЇb܅́'K*7Ʀi̇Pɫn[N}  >f( (>&wp@3b$'=B.MoT'Gވ"Re$GVQ,qOo,Sp8X}%t!_:V9k3d/. =*wFHŖwbw[WbάO1Wgs?Fס?M?K?>ƒ΃?:7)^kPun>.O2+>4˒' Q.y\t㐯e8[;m3f.wM9]+g6?*_S<+B- ,!Ɔ|22vbQKЉꋶb ZԞ_xxԹ] Pgt{*vDMV|YAO@yhxǎ\t6䦼te 1AgؕK+2e[ B'߳8sOl2GXQLn1=ce^K)I-/dDkN͠QK|`9EFzbFլ;ZӒL+2K@{EQǾϻ * QDMj gz2.*Mb0mڮDԒk>\h̤C#=SL_mXwXhC UjF) r"fNfPf39?RsU㼆U@?\{ ./ĈL>kC39Wlx諪xY7O<-䧞S}J(^DCXOjHMUj*nT9nF&ZrRkWrfݧ)J@My g^F~2+E'w}63H4x^+]}*x,/\Gn 'lTj<5oB$bbkCO251fB#vh2gb.O|hnF5FyM3?;rn%wk(9NnIUwxyeW\DۣVv5)kC~p42<}]vqӏLdd&^QYx}G7Cs I:g bSg*(]Gx^C>;Ipp/kǾ>DQj9xHU\ $blDswC%QKs_q^=pͰ S^{a[%aRɱrd4^>_.o "RiG7@i#<i7ڪU]"|+sX8J f7Y}QZUjzZ^o!-W7Z:W<-#p?Hܫ" #c8PЃc@%&V(.9n)!CIo8#F+Ѻ %iwW79[J_،`{3S;{FdE銰ǓBFA|lWx!7!ZIAj|KyQ%1`pǮjI> ObkƏϕަG}P0=}WEZ{4(X̺Nb{Pru3¾F;aeLt%VҚjzcf͗vt诒r+ H, P7^xŌMm{wM; C,DzƈFo~Nvzo#3y?Txv (ATVva6&ߝ:r 5٬awb4*UȚL(7d _ISN{S'kS^;*Di\8THW Rw $*o1Qa?rz ّMծNB<9| ,z#wͤ(.`O/8=YھGNXU;&\w9!*)UZ$?Ȅ0A='P 9!X u.kdZ$UZv`JJ}58R '+xVqbp|[&!?p& A *ȩR'{a3\uꑈCI=.\m\zXVm6*w$UiWIe}!LTkiR+ P<]j>WIFd}pp~yWj-fdzjlw}`Rn߂Là@HwLadƖ 18SLNybr3ry&"ZQB(=;6{ ":lb)YV$hͰ+-n*KRj(oNEzpO1(->Ru_z0D:Z޴֨WMP橙 \*q^q炙e$ty:{ʂRxFV~t-֦Wkk}Ƽqdž֨Ѻq״Mz?t>U{ M!yWKh;Y70xxLa/C*R|m187 M% 'X"r,łunsKAr+^orN3 &2^{.H)9_'gbzkr3QcG!xIG}8?I =`虜uNcr-| QĮk _2SI]84N$e,_vC .#;GECPe J1xM&,uT 24R\2Jj[-@Ff1uԅH;gm|dՈيD**\pp:?GGg7Zq ÒWJ^Q(+Cl^Hr>Պf~ dTo45Ms\ F@BJjAގbVFǼ}kݳSEݯ%QDN!yHe]7;m+g][Wʔ#Z HzĕC:;k::jqYKE 6E0[Z%dS³>EV`$=Xk]y;0C@mo);>8b$z 5(a/ݬ`Ĝ{Y^kXPif)Z^e47Ogd\9CȺդ EbA0  Gfk˓-_WkEgY#RNyrz>Qu|tֵeH` *~`ͷ>j dQ[Dt=l )/uXBلoC5{h4jg"J}8ՒfK8Ioz%o%ɻDvebea3$c|5;SީOʽZf1rM앤㼓qA*{S:~w{t*0 òl$)oU6}_ N)9 1ᖪa8\~%GQm_?w_mB. 58Gg &^cxsy<˦k'puG=0XbR*]HϜ! w??kdK ^џ_w'a VK|z\KLl-,v-X0vC"x*亠>Ejufdm򡙉]N8zA%+-KQvO6PN bZs4MB9e^`\zxj%,/^IJ:J[DK8^HqsDW?Q @v1{nQ)ޓPOS]GRw+@W*M6]" `s  9| ^J[n㽸MP|+oimuOO[pGyJ]/ yګ#rO!Xzݛ/O+6Ztih"6) *҂t5B9K_FOa'u_t,mF?pr 9ilm9̆Πer!kd!Yf$XuaReZ5Ӱ7kcT#覂5=e !sv+}Be_aDR~IQOɧ8o[uGȎVIzVh IbY G+Q;dvIMt_,g\2iVH7П,abĕ{" J_؇?+4ZJ ʖ 2C0_AٳX]ػ_cKtܥ?dv2i'y g<!w 2c :9^i]W)ϰ '(^zcRJW춱 P 2]tAl@mcE,mxPkxeQ·DwdTD=}3>%zDW"Ӟ}]MXY3b>û9%@0C%ǯVXTM2`7JMNȱ2u,Z9o n,;”+_OՉqJF&SG)G, ~?`E7 ./vȕ7  ?VNZq/3{NTV貛? \A#eR#*=N!?PXȄh7zaz֠f>_A$nDH.3t<%9p&e _R߉ 0qS;h$ '!I#7~j KPxq~tj8}xp6a#~cmd ^'+" 1 ' 9IO$o%_g\g}|mu@>`AT@.I }˛$PZ~o n=pڥ-I 6Pe(Iz P~s"Hn &`_1~xI2dzM=A#{)E<4Z1f9N1cpy ъfáJAFg 8x/~Wr/G1ts}׍n|vu/U!,\xH:֩FtJed۾!"!vA-4YQR[ݙ5wx!J*Lz͝_ją[X8:%3˛AYR?;P+ൡE CJVV.1SmP#/Yp2hwжeYJhpAQQSC#D!;32oRoq8^XMnְe1ŝQG!n՟Ac5ݪ%m]Yb¨N٩B816m:*œP($2o[)͞K,½vZ5IyƧW_L\!5F(I:723_U.f_[ޖ/uɾRё7tԬ}2|wP+kRfo5[ O;l,)c89d=/gf48V?5~+&XnVFBFrP"IY=X 77| ?X=e97 @{Ex`C7󰒓-6V贔iL~M,RcrT{92>pĺi U*T ^IxҍT۹ '7ޑp}(=A{Ley"s{&Z,^,x__LlSط&!ݎ@ʘǴghSp{h+xDcXOD2u[>fU1ܙ /Cbըԭ^6_|.>YzQ*1E^}ǨKrZf"Җtp0uNMQ͗na2`Ld)|0dB|iNdts˷c t?t3I+(p0߀ :$Ŗk4}\sB"&0 &\ggW`Rz3xT/Z=rJ~9tk=w1_Ԃ?n"p"l]u7b*$LwGdB6xrk~ŮD+mJ燘Ҝɬg/~'V7;c: )`#vqEK┤WmM,7u+_CXl8`n偮 &bAb w)j So=CѬo8$UBOй]^J.v.#\}_&kSG$' @{qlBf!>מq[0眪B|eFw|0%2 = K/˖8< g]G!,i/O3%.{Ք>#yݿR)AyDAɇ5(]~ W#U JRLnžfMZ3Pz%<9}K-LՎȆ_0+"b-@Pz$ /0g^ڪY~' ?H:ǜq$^ }yVCq|I1e1 Kc 6! ) ZO0a.G8%?;gم+?މ(-ĞT]EU4[.8Zm4Q rQVALg?W; ,E}(.c{z~pw|m ttRWb=:Ł-9WU?m¹dWyjI3P_ΠLMAꕉxmN!ɻ z2`IF0QPKJ,a*m32%65PU]nA~/ e萅J857 =y<'ll x"G+Eμ4; Y}iGΧꀆ56묷C*-J遏_I}uDէfcR+L_WE?selٵ3%iA$l[@S)W2o~|+EhcYC}bK#dn"K<-EfRUu@^q7.Nي.R.opKb`(`FD=oH~n"eˮ7GQSku7ÿY5XЦ 9LIXbIb)[!݈ ^WC vhqKoh(0.uߜ!hoܙK3#Ǭ&yXxLBky~8ϼ+jt5u$-l2|k}Z{&I H&Lcp&G^oٜ&c4HȒ;7Y.R9"^'_oE٥4VN!eλOaT'o q/d W$6F6=1h~(D3"!KEX8˝4p;AAv:eT syQb0۰*k}?Gu]TpaƼ])1ʶ.8zbRȍ^Vf?o.ˤ恳h'-i^vҎ4k2{ wXy5ݞ_-F]a52@TŞ(=z/K6<о?ù u~V< jc+|w5/g@QU~ι$CXa"ymW^Ryr]q֩0+/puSRǎy\۹b2:q Ճ\u?,yR%h-@䯝sqnC b% !R34XX^؂(b BX @sTߧ$+(Ɋ6mM*)K 2dX9ُ ̰`C/Kl`Ĝ^=B >:lX}ͨ XfX8p%PM5 4qEI!4v,>Z6cz*R˶l]<-nuDl(_,c'jUilmt]49{p UAcrN#K# A8dbua}T,At0ROvc ?~[vSjVfJK!𸿽yL7{d+*#3[$ly*o5a飁"f ^ErP_p1dVY:B/WE54BOt,4ʾUnO'|s Q2$azŮ =ؔb):onreM)`ߋ 5ҽ_sn&CTL-^Ji4_v'Xa=Aƍ8jWx*e _|]C6P%k[fѹ,:W:U̅TR"EwSM4,5#S].yh*m! ߖ/W =ڊJW/lxo> M^"{ x]a| /c/˹ ^yQ IL5X M'4_GsmmوU ҃D>=99Z=2+p0zK/$ZHrr ǚl»#R x$q8ޛj4#bBeYSK,*r°l,9HX7C㭏>`;#C{B93w St˙ *3*ь^X:ð;d\D1}ȏ.'GQ&fsev%0ז^ B, ÿ1y)dǖEk[`sN Z5|ZW(&jCsi6V7r'$w0!|F]#ҮT'KZzn>&+$q.7ݵMwRbv Wxtw(S4Cty>qƭわ{0KD__U+mox9ɷƶv`&|!_4!~8gB?%smPS晟_At{-|ފ$ -6bcAE4KE|*@.[ŃĞ.?U{\mʳzR:l>#Nq9xb}R}PUڵ1o$z9J`q)_)hP|6ӡ-ܞ[毋6GEN|5ĕ e\։>4O@>0O6 fj-hQ*vk#\V\֚}lp㰲}ofo>T@x}{ @*ggp50tM}R!o Ӭg"G}!e*f@X+},|zI[cP;zLCB9H]\fh뷫*+3־L:M~)"L&7dh]vaЇ.iHgϷcKt}i0 '\~`6ZhYΔvzVl_#<6?o^zW&Gl˭Ih,ornR1ژ 6c R?Ec ?x{1>Cq"0~{ Iۦ1?a%~(="wΞJ1-h4RƐv(K@ Mz枋H#h{˪Lcwx\dw'(8zGdg+J;AԎv>yhvW38V6a/ "Ida_+I=_EŻ b̿$M]'p~z~+J( ݾe3A` }aF­g*ÀP^wq OkY b띣=뻋k6~pH/#a .͠zFi߱+0a i{gLa 4}cV2' -h~.I4Z_=~n. v(^Ck\C$\?IWϸ@FN"`yP uhHJ3Qe"bAIk.!fe]/Q[~ƖԮ{Sv?cWnbX `-fF;Gx7_ѽM &'Gu`{il,<ՓYQօuSrlRI(1%# .a:`yOy$nw=]o>\ĢZ V`gYJRvC ZJz 8+:1SEaΟհ, ` NVDiG D0CN"nxmaOAʈZ}•?um(.\/,yR#]a<|y49ơ]&07P} }dﵓ&?r|HD:n;ǣ{_kw7Z> 2i:mUt frߒĸ΢屪Š 銰B9d{|uR[GK:դG04@ jR*8pabu Zs͎d"lBmh&k_䝘#[iM Yts+gT?IX/֍̮%F[җP4FnrX@AJ?V'JsJOZ fӶҺ=N/Pi+ǁ܁@)M*= Ƹ܄A$. Ct'شr6b mY9, T4l)'zL bbz II To粎7oHMїb{gHP9k~Lz*fAG"b5&&cżL&&R{ϑExA.qUPfrr1B{Qf0 :=Q