From 7bc18035816a2eac15dfac4d987eb9bf43f90ef6 Mon Sep 17 00:00:00 2001 From: Janne Koskinen Date: Mon, 28 Dec 2009 13:47:46 +0200 Subject: Daylight savings time for Symbian take 2 Second try to make this work for all S60 platforms --- src/corelib/corelib.pro | 2 ++ src/corelib/tools/qdatetime.cpp | 60 +++++++++++++++++++++------------- tests/auto/qdatetime/tst_qdatetime.cpp | 7 ++++ 3 files changed, 46 insertions(+), 23 deletions(-) diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index 9a15bf1..7f33791 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -35,4 +35,6 @@ symbian: { # Workaroud for problems with paging this dll MMP_RULES -= PAGED MMP_RULES *= UNPAGED + # Timezone server + LIBS += -ltzclient } diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index db6435e..240f0cf 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -75,6 +75,7 @@ #if defined(Q_OS_SYMBIAN) #include +#include #endif QT_BEGIN_NAMESPACE @@ -3721,23 +3722,32 @@ static QDateTimePrivate::Spec utcToLocal(QDate &date, QTime &time) #elif defined(Q_OS_SYMBIAN) // months and days are zero index based _LIT(KUnixEpoch, "19700000:000000.000000"); - TTimeIntervalSeconds utcOffset = User::UTCOffset(); TTimeIntervalSeconds tTimeIntervalSecsSince1Jan1970UTC(secsSince1Jan1970UTC); TTime epochTTime; TInt err = epochTTime.Set(KUnixEpoch); tm res; if(err == KErrNone) { TTime utcTTime = epochTTime + tTimeIntervalSecsSince1Jan1970UTC; - utcTTime = utcTTime + utcOffset; - TDateTime utcDateTime = utcTTime.DateTime(); - res.tm_sec = utcDateTime.Second(); - res.tm_min = utcDateTime.Minute(); - res.tm_hour = utcDateTime.Hour(); - res.tm_mday = utcDateTime.Day() + 1; // non-zero based index for tm struct - res.tm_mon = utcDateTime.Month(); - res.tm_year = utcDateTime.Year() - 1900; - res.tm_isdst = 0; - brokenDown = &res; + TRAP(err, + RTz tz; + User::LeaveIfError(tz.Connect()); + CleanupClosePushL(tz); + res.tm_isdst = tz.IsDaylightSavingOnL(*tz.GetTimeZoneIdL(),utcTTime); + User::LeaveIfError(tz.ConvertToLocalTime(utcTTime)); + CleanupStack::PopAndDestroy(&tz)); + if (KErrNone == err) { + TDateTime localDateTime = utcTTime.DateTime(); + res.tm_sec = localDateTime.Second(); + res.tm_min = localDateTime.Minute(); + res.tm_hour = localDateTime.Hour(); + res.tm_mday = localDateTime.Day() + 1; // non-zero based index for tm struct + res.tm_mon = localDateTime.Month(); + res.tm_year = localDateTime.Year() - 1900; + // Symbian's timezone server doesn't know how to handle DST before year 1997 + if (res.tm_year < 97) + res.tm_isdst = -1; + brokenDown = &res; + } } #elif !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) // use the reentrant version of localtime() where available @@ -3812,23 +3822,27 @@ static void localToUtc(QDate &date, QTime &time, int isdst) #elif defined(Q_OS_SYMBIAN) // months and days are zero index based _LIT(KUnixEpoch, "19700000:000000.000000"); - TTimeIntervalSeconds utcOffset = TTimeIntervalSeconds(0 - User::UTCOffset().Int()); TTimeIntervalSeconds tTimeIntervalSecsSince1Jan1970UTC(secsSince1Jan1970UTC); TTime epochTTime; TInt err = epochTTime.Set(KUnixEpoch); tm res; if(err == KErrNone) { - TTime utcTTime = epochTTime + tTimeIntervalSecsSince1Jan1970UTC; - utcTTime = utcTTime + utcOffset; - TDateTime utcDateTime = utcTTime.DateTime(); - res.tm_sec = utcDateTime.Second(); - res.tm_min = utcDateTime.Minute(); - res.tm_hour = utcDateTime.Hour(); - res.tm_mday = utcDateTime.Day() + 1; // non-zero based index for tm struct - res.tm_mon = utcDateTime.Month(); - res.tm_year = utcDateTime.Year() - 1900; - res.tm_isdst = (int)isdst; - brokenDown = &res; + TTime localTTime = epochTTime + tTimeIntervalSecsSince1Jan1970UTC; + RTz tz; + if (KErrNone == tz.Connect()) { + if (KErrNone == tz.ConvertToUniversalTime(localTTime)) { + TDateTime utcDateTime = localTTime.DateTime(); + res.tm_sec = utcDateTime.Second(); + res.tm_min = utcDateTime.Minute(); + res.tm_hour = utcDateTime.Hour(); + res.tm_mday = utcDateTime.Day() + 1; // non-zero based index for tm struct + res.tm_mon = utcDateTime.Month(); + res.tm_year = utcDateTime.Year() - 1900; + res.tm_isdst = (int)isdst; + brokenDown = &res; + } + tz.Close(); + } } #elif !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) // use the reentrant version of gmtime() where available diff --git a/tests/auto/qdatetime/tst_qdatetime.cpp b/tests/auto/qdatetime/tst_qdatetime.cpp index 1140402..32fa398 100644 --- a/tests/auto/qdatetime/tst_qdatetime.cpp +++ b/tests/auto/qdatetime/tst_qdatetime.cpp @@ -147,9 +147,16 @@ Q_DECLARE_METATYPE(QTime) tst_QDateTime::tst_QDateTime() { +#ifdef Q_OS_SYMBIAN + // Symbian's timezone server cannot handle DST correctly for dates before year 1997 + uint x1 = QDateTime(QDate(2000, 1, 1), QTime()).toTime_t(); + uint x2 = QDateTime(QDate(2000, 6, 1), QTime()).toTime_t(); + europeanTimeZone = (x1 == 946681200 && x2 == 959810400); +#else uint x1 = QDateTime(QDate(1990, 1, 1), QTime()).toTime_t(); uint x2 = QDateTime(QDate(1990, 6, 1), QTime()).toTime_t(); europeanTimeZone = (x1 == 631148400 && x2 == 644191200); +#endif } tst_QDateTime::~tst_QDateTime() -- cgit v0.12 From fdf463ba74b2e00ba5f9db10f43585e8b15054f7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 12 Jan 2010 17:39:25 +0100 Subject: Remove erroneous warning in QFileInfo::absolutePath() --- src/corelib/io/qfileinfo.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp index b4437db..e90529e 100644 --- a/src/corelib/io/qfileinfo.cpp +++ b/src/corelib/io/qfileinfo.cpp @@ -573,10 +573,13 @@ QString QFileInfo::canonicalFilePath() const QString QFileInfo::absolutePath() const { Q_D(const QFileInfo); - if (d->data->fileName.isEmpty()) + + if (!d->data->fileEngine) { + return QLatin1String(""); + } else if (d->data->fileName.isEmpty()) { qWarning("QFileInfo::absolutePath: Constructed with empty filename"); - if(!d->data->fileEngine) return QLatin1String(""); + } return d->getFileName(QAbstractFileEngine::AbsolutePathName); } -- cgit v0.12 From d5a3866d20507967e14ed34930f08ce6248000e5 Mon Sep 17 00:00:00 2001 From: Carlos Manuel Duclos Vergara Date: Wed, 3 Feb 2010 10:14:26 +0100 Subject: Adding my changes. --- dist/changes-4.6.2 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2 index 4f46a1f..0548e98 100644 --- a/dist/changes-4.6.2 +++ b/dist/changes-4.6.2 @@ -128,7 +128,10 @@ Qt for Windows Qt for Mac OS X --------------- - - + - [QTBUG-7312]: Menubar and dock disappear after hiding a fullscreen widget on Cocoa. + - [QTBUG-7522]: Drawing fake buttons using QMacStyle+QStyleOptionViewItemV4 lead to crash. + - [QTBUG-7625]: Calling showFullScreen() then showNormal() on a widget results in top menu hiding. + Qt for Embedded Linux --------------------- -- cgit v0.12 From 4f97685cef49fea0ea0614b6972241c497b4b1a2 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Fri, 29 Jan 2010 11:12:48 +0100 Subject: QNAM HTTP: Fix bug related to re-sending a request Thanks Nils Jeisecke for report and proposed fix. Task-number: QTBUG-7713 Reviewed-by: thiago --- src/network/access/qhttpnetworkconnection.cpp | 8 ++++++- .../access/qhttpnetworkconnectionchannel.cpp | 27 ++++++++++++++-------- .../access/qhttpnetworkconnectionchannel_p.h | 2 ++ 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index fff7097..cc6a1c8 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -688,8 +688,14 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest() if (channels[i].resendCurrent) { channels[i].resendCurrent = false; channels[i].state = QHttpNetworkConnectionChannel::IdleState; - if (channels[i].reply) + if (channels[i].reply) { + + // if this is not possible, error will be emitted and connection terminated + if (!channels[i].resetUploadData()) + continue; + channels[i].sendRequest(); + } } } diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index b80ae9a..70a301d 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -674,15 +674,8 @@ void QHttpNetworkConnectionChannel::handleStatus() case 407: // proxy auth required if (connection->d_func()->handleAuthenticateChallenge(socket, reply, (statusCode == 407), resend)) { if (resend) { - QNonContiguousByteDevice* uploadByteDevice = request.uploadByteDevice(); - if (uploadByteDevice) { - if (uploadByteDevice->reset()) { - written = 0; - } else { - connection->d_func()->emitReplyError(socket, reply, QNetworkReply::ContentReSendError); - break; - } - } + if (!resetUploadData()) + break; reply->d_func()->eraseData(); @@ -712,6 +705,22 @@ void QHttpNetworkConnectionChannel::handleStatus() } } +bool QHttpNetworkConnectionChannel::resetUploadData() +{ + QNonContiguousByteDevice* uploadByteDevice = request.uploadByteDevice(); + if (!uploadByteDevice) + return true; + + if (uploadByteDevice->reset()) { + written = 0; + return true; + } else { + connection->d_func()->emitReplyError(socket, reply, QNetworkReply::ContentReSendError); + return false; + } +} + + void QHttpNetworkConnectionChannel::pipelineInto(HttpMessagePair &pair) { // this is only called for simple GET diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h index c30c236..75ab50d 100644 --- a/src/network/access/qhttpnetworkconnectionchannel_p.h +++ b/src/network/access/qhttpnetworkconnectionchannel_p.h @@ -151,6 +151,8 @@ public: void allDone(); // reply header + body have been read void handleStatus(); // called from allDone() + bool resetUploadData(); // return true if resetting worked or there is no upload data + void pipelineInto(HttpMessagePair &pair); void requeueCurrentlyPipelinedRequests(); void detectPipeliningSupport(); -- cgit v0.12 From a9ffa944f8599db0559e9d07509a3778f49bbc2a Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 3 Feb 2010 11:36:14 +0100 Subject: Updated my changelog entry Reviewed-by: trustme --- dist/changes-4.6.2 | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2 index 0548e98..d768988 100644 --- a/dist/changes-4.6.2 +++ b/dist/changes-4.6.2 @@ -40,8 +40,8 @@ Optimizations QtCore ------ - - foo - * bar + - QXmlStreamWriter + * [QTBUG-6893] Fixed adding extra Byte Order Marks when writing to a xml file. QtGui ----- @@ -49,6 +49,9 @@ QtGui - foo * bar + * [QTBUG-7029] Fixed a crash when re-creating QApplication object due to a + dangling gesture manager pointer. + QtDBus ------ @@ -118,7 +121,9 @@ Qt for Linux/X11 ---------------- * Fix a bug where QPixmap::serialNumber was not set on a transformed pixmap in Qt/X11. - - + + * Fixed a crash when an input method tries to create a widget after the + application is destroyed. Qt for Windows -------------- -- cgit v0.12 From 48d040b3536dbce06f54c90da489a5308bee3870 Mon Sep 17 00:00:00 2001 From: Bastian Bense Date: Wed, 3 Feb 2010 11:57:38 +0100 Subject: Cleared up QEvent documentation for QGraphicsSceneDragDropEvent events. Added the "(QGraphicsSceneDragDropEvent)" behind the documentation of the QGraphicsSceneDrag*-type events. Without this hint it gives the impression that you can't access the data being dragged within eventFilter()s. Task-number: QTBUG-7547 Reviewed-by: Benjamin Poulain --- src/corelib/kernel/qcoreevent.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp index 3f69b4f..3500b63 100644 --- a/src/corelib/kernel/qcoreevent.cpp +++ b/src/corelib/kernel/qcoreevent.cpp @@ -133,10 +133,10 @@ QT_BEGIN_NAMESPACE \value GrabKeyboard Item gains keyboard grab (QGraphicsItem only). \value GrabMouse Item gains mouse grab (QGraphicsItem only). \value GraphicsSceneContextMenu Context popup menu over a graphics scene (QGraphicsSceneContextMenuEvent). - \value GraphicsSceneDragEnter The cursor enters a graphics scene during a drag and drop operation. - \value GraphicsSceneDragLeave The cursor leaves a graphics scene during a drag and drop operation. - \value GraphicsSceneDragMove A drag and drop operation is in progress over a scene. - \value GraphicsSceneDrop A drag and drop operation is completed over a scene. + \value GraphicsSceneDragEnter The cursor enters a graphics scene during a drag and drop operation (QGraphicsSceneDragDropEvent). + \value GraphicsSceneDragLeave The cursor leaves a graphics scene during a drag and drop operation (QGraphicsSceneDragDropEvent). + \value GraphicsSceneDragMove A drag and drop operation is in progress over a scene (QGraphicsSceneDragDropEvent). + \value GraphicsSceneDrop A drag and drop operation is completed over a scene (QGraphicsSceneDragDropEvent). \value GraphicsSceneHelp The user requests help for a graphics scene (QHelpEvent). \value GraphicsSceneHoverEnter The mouse cursor enters a hover item in a graphics scene (QGraphicsSceneHoverEvent). \value GraphicsSceneHoverLeave The mouse cursor leaves a hover item in a graphics scene (QGraphicsSceneHoverEvent). -- cgit v0.12 From 7cfece145418864b415a91d5b872e65660eb3090 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Wed, 3 Feb 2010 10:34:46 +0100 Subject: QTcpServer: Clarify thread affinity of incoming QTcpSocket We had some bugreports and support requests related to misunderstandings about this. Reviewed-by: Peter Hartmann Reviewed-by: David Boddie --- src/network/socket/qtcpserver.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/network/socket/qtcpserver.cpp b/src/network/socket/qtcpserver.cpp index 47a998c..404eee7 100644 --- a/src/network/socket/qtcpserver.cpp +++ b/src/network/socket/qtcpserver.cpp @@ -513,6 +513,10 @@ bool QTcpServer::hasPendingConnections() const 0 is returned if this function is called when there are no pending connections. + \note The returned QTcpSocket object cannot be used from another + thread. If you want to use an incoming connection from another thread, + you need to override incomingConnection(). + \sa hasPendingConnections() */ QTcpSocket *QTcpServer::nextPendingConnection() @@ -543,6 +547,11 @@ QTcpSocket *QTcpServer::nextPendingConnection() may not be usable with native socket functions, and should only be used with QTcpSocket::setSocketDescriptor(). + \note If you want to handle an incoming connection as a new QTcpSocket + object in another thread you have to pass the socketDescriptor + to the other thread and create the QTcpSocket object there and + use its setSocketDescriptor() method. + \sa newConnection(), nextPendingConnection() */ void QTcpServer::incomingConnection(int socketDescriptor) -- cgit v0.12 From 05a1573eddc6dc404631c9d16474c81aa4cea569 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 3 Feb 2010 14:56:15 +0100 Subject: Fixed QFileInfo::absolutePath() warning when running "qmake -project" Task-number: QTBUG-7176 Reviewed-by: Benjamin Poulain --- qmake/project.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmake/project.cpp b/qmake/project.cpp index c2e033e..4ce8ba4 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -3067,7 +3067,7 @@ QStringList &QMakeProject::values(const QString &_var, QMap Date: Wed, 13 Jan 2010 17:05:45 +0100 Subject: Fix regression in clipped icon text on Windows This was really caused by a change done to the font engine in 4.6. We now return a pixel less for the font height in multiple widgets. Some of these should be addressed in a separate patch. This patch simply ensures that the text rect is not clipped, but will not alter the height of the widget. Task-number: QTBUG-7662 Reviewed-by: prasanth --- src/gui/styles/qcommonstyle.cpp | 2 +- tests/auto/qstyle/tst_qstyle.cpp | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp index 739a70b..74d3ec3 100644 --- a/src/gui/styles/qcommonstyle.cpp +++ b/src/gui/styles/qcommonstyle.cpp @@ -1608,7 +1608,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, if (toolbutton->toolButtonStyle == Qt::ToolButtonTextUnderIcon) { pr.setHeight(pmSize.height() + 6); - tr.adjust(0, pr.height() - 1, 0, -3); + tr.adjust(0, pr.height() - 1, 0, -2); pr.translate(shiftX, shiftY); if (!hasArrow) { proxy()->drawItemPixmap(p, pr, Qt::AlignCenter, pm); diff --git a/tests/auto/qstyle/tst_qstyle.cpp b/tests/auto/qstyle/tst_qstyle.cpp index 51fde74..a76c82d 100644 --- a/tests/auto/qstyle/tst_qstyle.cpp +++ b/tests/auto/qstyle/tst_qstyle.cpp @@ -52,6 +52,7 @@ #include #include #include +#include #include #include @@ -445,6 +446,8 @@ void tst_QStyle::testWindowsVistaStyle() if (QSysInfo::WindowsVersion == QSysInfo::WV_VISTA) testPainting(&vistastyle, "vista"); + else if (QSysInfo::WindowsVersion == QSysInfo::WV_XP) + testPainting(&vistastyle, "xp"); #endif } @@ -460,6 +463,7 @@ void comparePixmap(const QString &filename, const QPixmap &pixmap) void tst_QStyle::testPainting(QStyle *style, const QString &platform) { +qDebug("TEST PAINTING"); //Test Menu QString fileName = "images/" + platform + "/menu.png"; QMenu menu; @@ -538,6 +542,19 @@ void tst_QStyle::testPainting(QStyle *style, const QString &platform) pixmap = QPixmap::grabWidget(&mdiArea); mdiArea.hide(); comparePixmap(fileName, pixmap); + + // QToolButton + fileName = "images/" + platform + "/toolbutton.png"; + QToolButton tb; + tb.setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + tb.setText("AaQqPpXx"); + tb.setIcon(style->standardPixmap(QStyle::SP_DirHomeIcon)); + tb.setStyle(style); + tb.show(); + pixmap = QPixmap::grabWidget(&tb); + tb.hide(); + comparePixmap(fileName, pixmap); + } void tst_QStyle::testMacStyle() -- cgit v0.12 From d43178ccaa38b87698e2f5a9fa0f2fb4e5f9f0ad Mon Sep 17 00:00:00 2001 From: Aleksandar Sasha Babic Date: Thu, 28 Jan 2010 11:28:53 +0100 Subject: Using RunFast mode for RVCT Now when we detect, by looking into ARMFPU, that either vfpv2 or softvfp+vfpv2 option is used, we will force using "-fpmode = fast" switch as well. This should give not just some performance improvement, but improve execution stability when vfpv2 used. Task-number: QTBUG-4893 Reviewed-by: Jason Barron --- mkspecs/common/symbian/symbian.conf | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index a2933e9..b5d12fb 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -147,3 +147,19 @@ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v5.0.sis MMP_RULES -= PAGED } } + +QMAKE_CXXFLAGS_FAST_VFP.ARMCC = --fpmode fast +# [TODO] QMAKE_CXXFLAGS_FAST_VFP.GCCE = + +symbian { + armfpu = $$find(MMP_RULES, "ARMFPU") + !isEmpty(armfpu) { + vfpv2 = $$find(MMP_RULES, "vfpv2") + !isEmpty(vfpv2) { + # we will respect fpu setting obtained from configure, but, + # if vfpv2 or softvfp+vfpv2 used we want to force RunFast VFP mode + QMAKE_CXXFLAGS.ARMCC += $${QMAKE_CXXFLAGS_FAST_VFP.ARMCC} + # [TODO] QMAKE_CXXFLAGS.GCCE += $${QMAKE_CXXFLAGS_FAST_VFP.GCCE} + } + } +} -- cgit v0.12 From 297e84fcfed524687455d3d94161bf2a32f62d37 Mon Sep 17 00:00:00 2001 From: Iain Date: Thu, 28 Jan 2010 11:05:06 +0000 Subject: Update default FPU flags on Symbian to be softvfp+vfpv2 Reviewed-by: Aleksandar Sasha Babic --- configure.exe | Bin 1178112 -> 1178112 bytes tools/configure/configureapp.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.exe b/configure.exe index ed2b0b2..e64af40 100644 Binary files a/configure.exe and b/configure.exe differ diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 7751143..8342fbe 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -1482,7 +1482,7 @@ void Configure::applySpecSpecifics() dictionary[ "QT_HOST_PREFIX" ] = dictionary[ "QT_INSTALL_PREFIX" ]; dictionary[ "QT_INSTALL_PREFIX" ] = ""; dictionary[ "QT_INSTALL_PLUGINS" ] = "\\resource\\qt\\plugins"; - dictionary[ "ARM_FPU_TYPE" ] = "softvfp"; + dictionary[ "ARM_FPU_TYPE" ] = "softvfp+vfpv2"; dictionary[ "SQL_SQLITE" ] = "yes"; dictionary[ "SQL_SQLITE_LIB" ] = "system"; -- cgit v0.12 From 7060118fe35b358ce6739734d03a285708127b60 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 28 Jan 2010 13:24:01 +0100 Subject: Shortening and fixing previous fix for QTBUG-6371 Shortening: Use much mor code from CommonStyle Fixing: Subtract PM_Layout[Left|Right]Margin from desktop width. This fix is anyways not relly useful. It heals some Ui designs with sizeconstrains which do not fit into mobile screens. But it will fail In following situations: Widget, and a too-long combobox in a horizontal Layout. The combobox would be cropped to Desktop width but the widget(s) left and/or right of the Combobox are not considered. So, that the Ui still is too wide. The correct fix will be for set the size policy of the combobox to something less greedy. Task-number: QTBUG-6371 Reviewed-by: Sami Merila modified: gui/styles/qs60style.cpp --- src/gui/styles/qs60style.cpp | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 78279d1..8dfe867 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -2400,21 +2400,13 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt, break; #ifndef QT_NO_COMBOBOX case CT_ComboBox: - if (const QStyleOptionComboBox *cmb = qstyleoption_cast(opt)) { - const int frameWidth = cmb->frame ? pixelMetric(PM_ComboBoxFrameWidth, opt, widget) * 2 : 0; - const int textMargins = 2*(pixelMetric(PM_FocusFrameHMargin) + 1); - const int smallestExtraWidth = 23; - // QItemDelegate::sizeHint expands the textMargins two times, thus the 2*textMargins... - const int extra = - qMax(smallestExtraWidth, 2*textMargins + pixelMetric(PM_ScrollBarExtent, opt, widget)); - sz = QSize(sz.width() + frameWidth + extra, sz.height() + frameWidth); - int maxScreenWidth = QApplication::desktop()->availableGeometry().size().width(); - if (sz.width() > maxScreenWidth) { - maxScreenWidth = maxScreenWidth - (extra + frameWidth); - sz.setWidth(maxScreenWidth); - } - } - break; + // Fixing Ui design issues with too wide QComboBoxes and greedy SizeHints + // Make sure, that the combobox says within the screen. + const QSize desktopContentSize = QApplication::desktop()->availableGeometry().size() + -QSize(pixelMetric(PM_LayoutLeftMargin) + pixelMetric(PM_LayoutRightMargin), 0); + sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget). + boundedTo(desktopContentSize); + break; #endif default: sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget); -- cgit v0.12 From 08c1c9ef6f30706cd574eded656f4d65a1b18db5 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 28 Jan 2010 14:06:48 +0200 Subject: Added support for ifdeffing for manufacturer in generated pkg files DEPLOYMENT.manufacturers variable can be used to define manufacturer identifiers. DEPLOYMENT.manufacturers.fail_note variable can be used to define a file that contains the text to be shown in case of failed manufacturer check. Task-number: QTBUG-7695 Reviewed-by: Janne Koskinen --- bin/patch_capabilities.pl | 25 +++++++++++++++++++++- qmake/generators/symbian/symmake.cpp | 40 ++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl index 9daa13e..8afe776 100755 --- a/bin/patch_capabilities.pl +++ b/bin/patch_capabilities.pl @@ -108,6 +108,8 @@ if (@ARGV) open (NEW_PKG, ">>".$tempPkgFileName); open (PKG, "<".$pkgFileName); + my $manufacturerElseBlock = 0; + # Parse each line. while () { @@ -133,7 +135,28 @@ if (@ARGV) # from depended packages that are also patched and therefore have different UID. if ($line =~ m/^\(0x[0-9|a-f|A-F]*\).*\{.*\}$/) { - $newLine = "" + $newLine = "\n" + } + + # Remove manufacturer ifdef + if ($line =~ m/^.*\(MANUFACTURER\)\=\(.*\).*$/) + { + $newLine = "\n"; + } + + if ($line =~ m/^ELSEIF.*MANUFACTURER$/) + { + $manufacturerElseBlock = 1; + } + + if ($manufacturerElseBlock eq 1) + { + $newLine = "\n"; + } + + if ($line =~ m/^ENDIF.*MANUFACTURER$/) + { + $manufacturerElseBlock = 0; } print NEW_PKG $newLine; diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index 20e2d0e..a23ec60 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -94,6 +94,11 @@ #define PRINT_FILE_CREATE_ERROR(filename) fprintf(stderr, "Error: Could not create '%s'\n", qPrintable(filename)); +#define MANUFACTURER_NOTE_FILE "manufacturer_note.txt" +#define DEFAULT_MANUFACTURER_NOTE \ + "The package is not supported for devices from this manufacturer. Please try the selfsigned " \ + "version of the package instead." + QString SymbianMakefileGenerator::fixPathForMmp(const QString& origPath, const QDir& parentDir) { static QString epocRootStr; @@ -354,6 +359,17 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile, Deployme t << endl; } + // Begin Manufacturer block + if (!project->values("DEPLOYMENT.manufacturers").isEmpty()) { + QString manufacturerStr("IF "); + foreach(QString manufacturer, project->values("DEPLOYMENT.manufacturers")) { + manufacturerStr.append(QString("(MANUFACTURER)=(%1) OR \n ").arg(manufacturer)); + } + // Remove the final OR + manufacturerStr.chop(8); + t << manufacturerStr << endl; + } + // Install paths on the phone *** should be dynamic at some point QString installPathBin = "!:\\sys\\bin"; QString installPathResource = "!:\\resource\\apps"; @@ -428,6 +444,30 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile, Deployme t << endl; } } + + // Close Manufacturer block + if (!project->values("DEPLOYMENT.manufacturers").isEmpty()) { + QString manufacturerFailNoteFile; + if (project->values("DEPLOYMENT.manufacturers.fail_note").isEmpty()) { + manufacturerFailNoteFile = QString("%1_" MANUFACTURER_NOTE_FILE).arg(uid3); + QFile ft(manufacturerFailNoteFile); + if (ft.open(QIODevice::WriteOnly)) { + generatedFiles << ft.fileName(); + QTextStream t2(&ft); + + t2 << QString(DEFAULT_MANUFACTURER_NOTE) << endl; + } else { + PRINT_FILE_CREATE_ERROR(manufacturerFailNoteFile) + } + } else { + manufacturerFailNoteFile = project->values("DEPLOYMENT.manufacturers.fail_note").join(""); + } + + t << "ELSEIF NOT(0) ; MANUFACTURER" << endl + << "\"" << fileInfo(manufacturerFailNoteFile).absoluteFilePath() << "\"" + << " - \"\", FILETEXT, TEXTEXIT" << endl + << "ENDIF ; MANUFACTURER" << endl; + } } bool SymbianMakefileGenerator::containsStartWithItem(const QChar &c, const QStringList& src) -- cgit v0.12 From 01952109596f7563b43b12554fda0e4abc9a51ef Mon Sep 17 00:00:00 2001 From: axis Date: Thu, 28 Jan 2010 16:24:08 +0100 Subject: Avoided the loss of preedit text when losing focus on Symbian. It's annoying to lose preedit (e.g. underlined) text everytime a focus switch occurs, especially because it can sometimes happen while inside the FEP menus, such as "Insert symbol". Fixed by committing the text in reset() implementation, rather than discarding it. Task: QTBUG-7439 RevBy: Sami Merila --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index 793bcde..e5ab300 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -101,11 +101,7 @@ QCoeFepInputContext::~QCoeFepInputContext() void QCoeFepInputContext::reset() { - commitTemporaryPreeditString(); - - CCoeFep* fep = CCoeEnv::Static()->Fep(); - if (fep) - fep->CancelTransaction(); + commitCurrentString(false); } void QCoeFepInputContext::ReportAknEdStateEvent(MAknEdStateObserver::EAknEdwinStateEvent aEventType) @@ -290,7 +286,6 @@ void QCoeFepInputContext::commitTemporaryPreeditString() return; commitCurrentString(false); - m_hasTempPreeditString = false; } void QCoeFepInputContext::mouseHandler( int x, QMouseEvent *event) @@ -765,6 +760,7 @@ void QCoeFepInputContext::commitCurrentString(bool triggeredBySymbian) m_preeditString.clear(); sendEvent(event); + m_hasTempPreeditString = false; m_longPress = 0; if (!triggeredBySymbian) { -- cgit v0.12 From fefbe54d8c511951da79569770275451199cd877 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 28 Jan 2010 18:20:05 +0100 Subject: Remove left over forward declarations Commit d8ad9ac86dac9489b553e6416329308ae7d823d0 fixing QTBUG-6408 made some of the forward declared classes unnecessary. Task-number: QTBUG-6408 Reviewed-by: Alessandro Portale --- src/gui/text/qfontengine_s60_p.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/gui/text/qfontengine_s60_p.h b/src/gui/text/qfontengine_s60_p.h index ff819e2..4748497 100644 --- a/src/gui/text/qfontengine_s60_p.h +++ b/src/gui/text/qfontengine_s60_p.h @@ -58,9 +58,6 @@ #include "qsize.h" #include -class CFbsBitmap; -class CFbsBitmapDevice; -class CFbsBitGc; class CFont; QT_BEGIN_NAMESPACE -- cgit v0.12 From af8b3c9d911a7ad6722bfa587b8a2f48c4254de3 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Fri, 29 Jan 2010 17:32:51 +0200 Subject: List item margins are too small due to invalid pixel metric value Pixel metric values for PM_FocusFrameVMargin and PM_FocusFrameHMargin were based on AVKON grid layout. Apparently, AVKON has a major difference for text margin in lists and grids. List values are almost double of what is used in the grids. Original values were poor fit for list usability, it made the text items very close to each anothre. Task-number: QTBUG-7258 Reviewed-by: Alessandro Portale --- src/gui/styles/qs60style.cpp | 16 ++++++++-------- util/s60pixelmetrics/pixel_metrics.cpp | 21 ++++++++++++++------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index a40a84c..fc435e8 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -92,10 +92,10 @@ static const qreal goldenRatio = 1.618; const layoutHeader QS60StylePrivate::m_layoutHeaders[] = { // *** generated layout data *** -{240,320,1,15,"QVGA Landscape"}, -{320,240,1,15,"QVGA Portrait"}, -{360,640,1,15,"NHD Landscape"}, -{640,360,1,15,"NHD Portrait"}, +{240,320,1,16,"QVGA Landscape"}, +{320,240,1,16,"QVGA Portrait"}, +{360,640,1,16,"NHD Landscape"}, +{640,360,1,16,"NHD Portrait"}, {352,800,1,12,"E90 Landscape"} // *** End of generated data *** }; @@ -104,10 +104,10 @@ const int QS60StylePrivate::m_numberOfLayouts = const short QS60StylePrivate::data[][MAX_PIXELMETRICS] = { // *** generated pixel metrics *** -{5,0,-909,0,0,2,0,0,-1,7,12,19,13,13,6,200,-909,-909,-909,20,13,2,0,0,21,7,18,-909,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,3,3,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1}, -{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,-909,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,4,4,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1}, -{7,0,-909,0,0,2,0,0,-1,25,69,28,19,19,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,-909,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,5,5,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1}, -{7,0,-909,0,0,2,0,0,-1,25,68,28,19,19,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,-909,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,5,5,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1}, +{5,0,-909,0,0,2,0,0,-1,7,12,19,13,13,6,200,-909,-909,-909,20,13,2,0,0,21,7,18,-909,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,4,4,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1}, +{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,-909,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,3,3,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1}, +{7,0,-909,0,0,2,0,0,-1,25,69,28,19,19,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,-909,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,13,13,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1}, +{7,0,-909,0,0,2,0,0,-1,25,68,28,19,19,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,-909,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,12,12,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1}, {7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,-909,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1} // *** End of generated data *** }; diff --git a/util/s60pixelmetrics/pixel_metrics.cpp b/util/s60pixelmetrics/pixel_metrics.cpp index 705c0ec..93873fb 100644 --- a/util/s60pixelmetrics/pixel_metrics.cpp +++ b/util/s60pixelmetrics/pixel_metrics.cpp @@ -50,7 +50,7 @@ // so that we can keep dynamic and static values inline. // Please adjust version data if correcting dynamic PM calculations. const TInt KPMMajorVersion = 1; -const TInt KPMMinorVersion = 15; +const TInt KPMMinorVersion = 16; TPixelMetricsVersion PixelMetrics::Version() { @@ -855,19 +855,26 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric) case QStyle::PM_FocusFrameHMargin: case QStyle::PM_FocusFrameVMargin: { - TAknLayoutRect gridRect; - gridRect.LayoutRect(mainPaneRect, AknLayoutScalable_Avkon::grid_highlight_pane(0)); - TAknLayoutRect gridRectCenter; - gridRectCenter.LayoutRect(mainPaneRect, AknLayoutScalable_Avkon::cell_highlight_pane_g1()); + TAknLayoutRect listScrollPane; + listScrollPane.LayoutRect(mainPaneRect, AknLayoutScalable_Avkon::listscroll_gen_pane(0)); + TAknLayoutRect listGenPane; + listGenPane.LayoutRect(listScrollPane.Rect(), AknLayoutScalable_Avkon::list_gen_pane(0)); + TAknLayoutRect listSinglePane; + listSinglePane.LayoutRect(listGenPane.Rect(), AknLayoutScalable_Avkon::list_single_pane(0)); + TAknLayoutText listSinglePaneText; + listSinglePaneText.LayoutText(listSinglePane.Rect(), AknLayoutScalable_Avkon::list_single_pane_t1(0)); + TAknLayoutRect highlightRect; + highlightRect.LayoutRect(listSinglePane.Rect(), AknLayoutScalable_Avkon::list_highlight_pane_cp1().LayoutLine()); // The difference of center piece from border tell the frame width. if ( value == QStyle::PM_FocusFrameHMargin) { - value = gridRect.Rect().iBr.iX - gridRectCenter.Rect().iBr.iX; + //use topleft for horizontal as S60 uses different values for right and left borders + value = listSinglePaneText.TextRect().iTl.iX - highlightRect.Rect().iTl.iX; } else { - value = gridRect.Rect().iBr.iY - gridRectCenter.Rect().iBr.iY; + value = highlightRect.Rect().iBr.iY - listSinglePaneText.TextRect().iBr.iY; } } break; -- cgit v0.12 From 94e5195c84cbe0e7b37550af3eb1540b22bf2b4a Mon Sep 17 00:00:00 2001 From: Iain Date: Fri, 29 Jan 2010 16:17:06 +0000 Subject: Remove warning about Symbian DEF files when running configure for Windows Move SYMBIAN_DEFFILES definition in the dictionary into the Symbian specific section of configure Task-number: QTBUG-6556 Reviewed-by: Simon Hausmann --- configure.exe | Bin 1178112 -> 1178112 bytes tools/configure/configureapp.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.exe b/configure.exe index e64af40..b89999b 100644 Binary files a/configure.exe and b/configure.exe differ diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 8342fbe..599c13d 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -317,7 +317,6 @@ Configure::Configure( int& argc, char** argv ) dictionary[ "OPENSSL" ] = "auto"; dictionary[ "DBUS" ] = "auto"; dictionary[ "S60" ] = "yes"; - dictionary[ "SYMBIAN_DEFFILES" ] = "yes"; dictionary[ "STYLE_WINDOWS" ] = "yes"; dictionary[ "STYLE_WINDOWSXP" ] = "auto"; @@ -1475,6 +1474,7 @@ void Configure::applySpecSpecifics() dictionary[ "XMLPATTERNS" ] = "yes"; dictionary[ "QT_GLIB" ] = "no"; dictionary[ "S60" ] = "yes"; + dictionary[ "SYMBIAN_DEFFILES" ] = "yes"; // iconv makes makes apps start and run ridiculously slowly in symbian emulator (HW not tested) // iconv_open seems to return -1 always, so something is probably missing from the platform. dictionary[ "QT_ICONV" ] = "no"; -- cgit v0.12 From f512c8a279518e992ae59c13c17453ac2769359e Mon Sep 17 00:00:00 2001 From: Aleksandar Sasha Babic Date: Fri, 29 Jan 2010 18:05:39 +0100 Subject: Fixing benchmark for Symbian The bidi.txt has to be deployed in proper way. Reviewed-by: TrustMe --- tests/benchmarks/qtext/main.cpp | 10 ++++++++++ tests/benchmarks/qtext/qtext.pro | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/tests/benchmarks/qtext/main.cpp b/tests/benchmarks/qtext/main.cpp index 9854a9f..d4f3165 100644 --- a/tests/benchmarks/qtext/main.cpp +++ b/tests/benchmarks/qtext/main.cpp @@ -51,6 +51,12 @@ #include #include +#ifdef Q_OS_SYMBIAN +// In Symbian OS test data is located in applications private dir +// Application private dir is default serach path for files, so SRCDIR can be set to empty +#define SRCDIR "" +#endif + Q_DECLARE_METATYPE(QTextDocument*) class tst_QText: public QObject @@ -129,7 +135,11 @@ void tst_QText::shaping_data() QTest::newRow("lorem") << m_lorem; QTest::newRow("short") << QString::fromLatin1("Lorem ipsum dolor sit amet"); +#if !defined(Q_OS_SYMBIAN) QFile file(QString::fromLatin1(SRCDIR) + QLatin1String("/bidi.txt")); +#else + QFile file( SRCDIR "bidi.txt" ); +#endif QVERIFY(file.open(QFile::ReadOnly)); QByteArray data = file.readAll(); QVERIFY(data.count() > 1000); diff --git a/tests/benchmarks/qtext/qtext.pro b/tests/benchmarks/qtext/qtext.pro index ce4f604..9e8860f 100644 --- a/tests/benchmarks/qtext/qtext.pro +++ b/tests/benchmarks/qtext/qtext.pro @@ -4,4 +4,11 @@ TARGET = tst_QText SOURCES += main.cpp -DEFINES += SRCDIR=\\\"$$PWD/\\\" +symbian* { + TARGET.CAPABILITY = ALL -TCB + addFiles.sources = bidi.txt + addFiles.path = . + DEPLOYMENT += addFiles +} else { + DEFINES += SRCDIR=\\\"$$PWD/\\\" +} \ No newline at end of file -- cgit v0.12 From ca3ce9263eaef963d934d221bd1dec37e7bf0871 Mon Sep 17 00:00:00 2001 From: Iain Date: Thu, 5 Nov 2009 13:32:39 +0100 Subject: Catch by reference rather than by value Catching by value causes GCC to use the compiler support function __cxa_get_exception_ptr. This is not available in the compiler support libraries on Symbian OS prior to Symbian^3. Catching by reference avoids this problem. Reviewed-by: mread --- src/corelib/io/qdebug.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/io/qdebug.h b/src/corelib/io/qdebug.h index 1c68716..bc68599 100644 --- a/src/corelib/io/qdebug.h +++ b/src/corelib/io/qdebug.h @@ -83,7 +83,7 @@ public: if(stream->message_output) { QT_TRY { qt_message_output(stream->type, stream->buffer.toLocal8Bit().data()); - } QT_CATCH(std::bad_alloc) { /* We're out of memory - give up. */ } + } QT_CATCH(std::bad_alloc&) { /* We're out of memory - give up. */ } } delete stream; } -- cgit v0.12 From a788f7e3a04ec741d59ef458a40e39d918dc1df0 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 1 Feb 2010 10:28:00 +0100 Subject: Designer/uic/related examples: Fix source code scanning issues II. Fix spelling errors, foreach()/QString usage, explicit constructors. Reviewed-By: Joerg Bornemann --- examples/designer/taskmenuextension/tictactoedialog.h | 2 +- examples/uitools/textfinder/textfinder.cpp | 2 +- src/tools/uic/cpp/cppwriteinitialization.cpp | 6 +++--- src/tools/uic3/converter.cpp | 6 +++--- src/tools/uic3/main.cpp | 4 ++-- tools/designer/src/designer/qdesigner_server.h | 2 +- tools/designer/src/designer/versiondialog.cpp | 5 ++--- tools/designer/src/lib/shared/qdesigner_taskmenu.cpp | 2 +- tools/designer/src/plugins/widgets/q3table/q3table_plugin.h | 2 +- tools/designer/src/plugins/widgets/q3toolbar/q3toolbar_plugin.h | 2 +- tools/designer/src/plugins/widgets/q3widgets/q3widget_plugins.h | 6 +++--- .../src/plugins/widgets/q3widgetstack/q3widgetstack_plugin.h | 2 +- tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.h | 2 +- tools/shared/findwidget/abstractfindwidget.h | 2 +- tools/shared/findwidget/itemviewfindwidget.h | 2 +- 15 files changed, 23 insertions(+), 24 deletions(-) diff --git a/examples/designer/taskmenuextension/tictactoedialog.h b/examples/designer/taskmenuextension/tictactoedialog.h index aeaaaf4..3d810dd 100644 --- a/examples/designer/taskmenuextension/tictactoedialog.h +++ b/examples/designer/taskmenuextension/tictactoedialog.h @@ -55,7 +55,7 @@ class TicTacToeDialog : public QDialog Q_OBJECT public: - TicTacToeDialog(TicTacToe *plugin = 0, QWidget *parent = 0); + explicit TicTacToeDialog(TicTacToe *plugin = 0, QWidget *parent = 0); QSize sizeHint() const; diff --git a/examples/uitools/textfinder/textfinder.cpp b/examples/uitools/textfinder/textfinder.cpp index 855f11f..1b7c14b 100644 --- a/examples/uitools/textfinder/textfinder.cpp +++ b/examples/uitools/textfinder/textfinder.cpp @@ -116,7 +116,7 @@ void TextFinder::on_findButton_clicked() if (isFirstTime == false) document->undo(); - if (searchString == "") { + if (searchString.isEmpty()) { QMessageBox::information(this, tr("Empty Search Field"), "The search field is empty. Please enter a word and click Find."); } else { diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp index d9aff1b..8099ffa 100644 --- a/src/tools/uic/cpp/cppwriteinitialization.cpp +++ b/src/tools/uic/cpp/cppwriteinitialization.cpp @@ -2787,8 +2787,8 @@ static void generateMultiDirectiveBegin(QTextStream &outputStream, const QSet map; // bool is dummy. The idea is to sort that (always generate in the same order) by putting a set into a map - foreach (QString str, directives) - map[str] = true; + foreach (const QString &str, directives) + map.insert(str, true); if (map.size() == 1) { outputStream << "#ifndef " << map.constBegin().key() << endl; @@ -2797,7 +2797,7 @@ static void generateMultiDirectiveBegin(QTextStream &outputStream, const QSet *prop if (prop->kind() == DomProperty::Set) { QStringList flags = prop->elementSet().split(QLatin1Char('|')); QStringList v; - foreach (QString fl, flags) { + foreach (const QString &fl, flags) { QString e = WidgetInfo::resolveEnumerator(className, fl); if (e.isEmpty()) { e = m_porting->renameEnumerator(className + QLatin1String("::") + fl); @@ -1283,7 +1283,7 @@ QString Ui3Reader::fixType(const QString &t) const QString newText = t; //split type name on <>*& and whitespace QStringList typeNames = t.split(QRegExp(QLatin1String("<|>|\\*|&| ")), QString::SkipEmptyParts); - foreach(QString typeName , typeNames) { + foreach(const QString &typeName , typeNames) { QString newName = fixClassName(typeName); if( newName != typeName ) { newText.replace(typeName, newName); diff --git a/src/tools/uic3/main.cpp b/src/tools/uic3/main.cpp index 6acc94f..1ebb76a 100644 --- a/src/tools/uic3/main.cpp +++ b/src/tools/uic3/main.cpp @@ -338,10 +338,10 @@ int runUic3(int argc, char * argv[]) QStringList globalIncludes, localIncludes; ui3.computeDeps(e, globalIncludes, localIncludes, impl); - foreach (QString i, globalIncludes) + foreach (const QString &i, globalIncludes) printf("%s\n", i.toLatin1().constData()); - foreach (QString i, localIncludes) + foreach (const QString &i, localIncludes) printf("%s\n", i.toLatin1().constData()); if (impl) diff --git a/tools/designer/src/designer/qdesigner_server.h b/tools/designer/src/designer/qdesigner_server.h index d522056..90cc624 100644 --- a/tools/designer/src/designer/qdesigner_server.h +++ b/tools/designer/src/designer/qdesigner_server.h @@ -74,7 +74,7 @@ class QDesignerClient: public QObject { Q_OBJECT public: - QDesignerClient(quint16 port, QObject *parent = 0); + explicit QDesignerClient(quint16 port, QObject *parent = 0); virtual ~QDesignerClient(); private slots: diff --git a/tools/designer/src/designer/versiondialog.cpp b/tools/designer/src/designer/versiondialog.cpp index 51f546d..d9b03aa 100644 --- a/tools/designer/src/designer/versiondialog.cpp +++ b/tools/designer/src/designer/versiondialog.cpp @@ -113,15 +113,14 @@ void VersionLabel::mouseReleaseEvent(QMouseEvent *me) if (!secondStage) { m_path.lineTo(me->pos()); bool gotIt = true; - QPoint pt; - foreach(pt, hitPoints) { + foreach(const QPoint &pt, hitPoints) { if (!m_path.contains(pt)) { gotIt = false; break; } } if (gotIt) { - foreach(pt, missPoints) { + foreach(const QPoint &pt, missPoints) { if (m_path.contains(pt)) { gotIt = false; break; diff --git a/tools/designer/src/lib/shared/qdesigner_taskmenu.cpp b/tools/designer/src/lib/shared/qdesigner_taskmenu.cpp index 608ecd7..cd95f5b 100644 --- a/tools/designer/src/lib/shared/qdesigner_taskmenu.cpp +++ b/tools/designer/src/lib/shared/qdesigner_taskmenu.cpp @@ -675,7 +675,7 @@ void QDesignerTaskMenu::navigateToSlot(QDesignerFormEditorInterface *core, const QString signalSignature = selectedItem->text(0); const QStringList parameterNames = qVariantValue(selectedItem->data(0, Qt::UserRole)); - // TODO: Check wether signal is connected to slot + // TODO: Check whether signal is connected to slot integr->emitNavigateToSlot(objectName, signalSignature, parameterNames); } } diff --git a/tools/designer/src/plugins/widgets/q3table/q3table_plugin.h b/tools/designer/src/plugins/widgets/q3table/q3table_plugin.h index 9c02467..0df5e0a 100644 --- a/tools/designer/src/plugins/widgets/q3table/q3table_plugin.h +++ b/tools/designer/src/plugins/widgets/q3table/q3table_plugin.h @@ -51,7 +51,7 @@ class Q3TablePlugin: public QObject, public QDesignerCustomWidgetInterface Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: - Q3TablePlugin(const QIcon &icon, QObject *parent = 0); + explicit Q3TablePlugin(const QIcon &icon, QObject *parent = 0); virtual QString name() const; virtual QString group() const; diff --git a/tools/designer/src/plugins/widgets/q3toolbar/q3toolbar_plugin.h b/tools/designer/src/plugins/widgets/q3toolbar/q3toolbar_plugin.h index 3b47f74..3a2ffe0 100644 --- a/tools/designer/src/plugins/widgets/q3toolbar/q3toolbar_plugin.h +++ b/tools/designer/src/plugins/widgets/q3toolbar/q3toolbar_plugin.h @@ -51,7 +51,7 @@ class Q3ToolBarPlugin: public QObject, public QDesignerCustomWidgetInterface Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: - Q3ToolBarPlugin(const QIcon &icon, QObject *parent = 0); + explicit Q3ToolBarPlugin(const QIcon &icon, QObject *parent = 0); virtual QString name() const; virtual QString group() const; diff --git a/tools/designer/src/plugins/widgets/q3widgets/q3widget_plugins.h b/tools/designer/src/plugins/widgets/q3widgets/q3widget_plugins.h index c750cfe..f4695de 100644 --- a/tools/designer/src/plugins/widgets/q3widgets/q3widget_plugins.h +++ b/tools/designer/src/plugins/widgets/q3widgets/q3widget_plugins.h @@ -133,7 +133,7 @@ class Q3DateTimeEditPlugin: public QObject, public QDesignerCustomWidgetInterfac Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: - Q3DateTimeEditPlugin(const QIcon &icon, QObject *parent = 0); + explicit Q3DateTimeEditPlugin(const QIcon &icon, QObject *parent = 0); virtual QString name() const; virtual QString group() const; @@ -186,7 +186,7 @@ class Q3GroupBoxPlugin: public QObject, public QDesignerCustomWidgetInterface Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: - Q3GroupBoxPlugin(const QIcon &icon, QObject *parent = 0); + explicit Q3GroupBoxPlugin(const QIcon &icon, QObject *parent = 0); virtual ~Q3GroupBoxPlugin(); virtual QString name() const; @@ -239,7 +239,7 @@ class Q3TextBrowserPlugin: public QObject, public QDesignerCustomWidgetInterface Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: - Q3TextBrowserPlugin(const QIcon &icon, QObject *parent = 0); + explicit Q3TextBrowserPlugin(const QIcon &icon, QObject *parent = 0); virtual QString name() const; virtual QString group() const; diff --git a/tools/designer/src/plugins/widgets/q3widgetstack/q3widgetstack_plugin.h b/tools/designer/src/plugins/widgets/q3widgetstack/q3widgetstack_plugin.h index 56dd7fb..d61b4a1 100644 --- a/tools/designer/src/plugins/widgets/q3widgetstack/q3widgetstack_plugin.h +++ b/tools/designer/src/plugins/widgets/q3widgetstack/q3widgetstack_plugin.h @@ -51,7 +51,7 @@ class Q3WidgetStackPlugin: public QObject, public QDesignerCustomWidgetInterface Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: - Q3WidgetStackPlugin(const QIcon &icon, QObject *parent = 0); + explicit Q3WidgetStackPlugin(const QIcon &icon, QObject *parent = 0); virtual QString name() const; virtual QString group() const; diff --git a/tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.h b/tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.h index e8cf4fa..f96ba74 100644 --- a/tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.h +++ b/tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.h @@ -71,7 +71,7 @@ class Q3WizardExtraInfo: public QObject, public QDesignerExtraInfoExtension Q_OBJECT Q_INTERFACES(QDesignerExtraInfoExtension) public: - Q3WizardExtraInfo(Q3Wizard *wizard, QDesignerFormEditorInterface *core, QObject *parent); + explicit Q3WizardExtraInfo(Q3Wizard *wizard, QDesignerFormEditorInterface *core, QObject *parent); virtual QWidget *widget() const; virtual Q3Wizard *wizard() const; diff --git a/tools/shared/findwidget/abstractfindwidget.h b/tools/shared/findwidget/abstractfindwidget.h index 6cc7c94..089947d 100644 --- a/tools/shared/findwidget/abstractfindwidget.h +++ b/tools/shared/findwidget/abstractfindwidget.h @@ -70,7 +70,7 @@ public: }; Q_DECLARE_FLAGS(FindFlags, FindFlag) - AbstractFindWidget(FindFlags flags = FindFlags(), QWidget *parent = 0); + explicit AbstractFindWidget(FindFlags flags = FindFlags(), QWidget *parent = 0); virtual ~AbstractFindWidget(); bool eventFilter(QObject *object, QEvent *e); diff --git a/tools/shared/findwidget/itemviewfindwidget.h b/tools/shared/findwidget/itemviewfindwidget.h index 9d63d62..2d06df8 100644 --- a/tools/shared/findwidget/itemviewfindwidget.h +++ b/tools/shared/findwidget/itemviewfindwidget.h @@ -55,7 +55,7 @@ class ItemViewFindWidget : public AbstractFindWidget Q_OBJECT public: - ItemViewFindWidget(FindFlags flags = FindFlags(), QWidget *parent = 0); + explicit ItemViewFindWidget(FindFlags flags = FindFlags(), QWidget *parent = 0); QAbstractItemView *itemView() const { return m_itemView; } -- cgit v0.12 From b5298dcf3d29b253a31974762cc9227b25f94e93 Mon Sep 17 00:00:00 2001 From: Iain Date: Thu, 5 Nov 2009 11:22:28 +0100 Subject: Add visibility-inlines-hidden for GCCE on Symbian OS Reviewed-by: axis --- mkspecs/common/symbian/symbian.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index b5d12fb..8760603 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -30,6 +30,7 @@ QMAKE_CXX = g++ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS QMAKE_CXXFLAGS.CW = QMAKE_CXXFLAGS.ARMCC = --visibility_inlines_hidden +QMAKE_CXXFLAGS.GCCE = -fvisibility-inlines-hidden QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -- cgit v0.12 From e63ea3587444e122242a137a699b5a717d3d26bd Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 1 Feb 2010 12:51:38 +0200 Subject: Fixed no-timeout case for QProcess::waitForFinished in Symbian QProcess::waitForFinished was panicking in Symbian when timeout of -1 was supplied. Fixed it to disable timeout and block until process exit, as docs indicate it should. Task-number: QTBUG-7667 Reviewed-by: Janne Anttila --- src/corelib/io/qprocess_symbian.cpp | 41 ++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp index ddced73..75cde51 100644 --- a/src/corelib/io/qprocess_symbian.cpp +++ b/src/corelib/io/qprocess_symbian.cpp @@ -919,34 +919,41 @@ bool QProcessPrivate::waitForFinished(int msecs) Q_Q(QProcess); QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished(%d)", msecs); - TRequestStatus timerStatus = 0; - TRequestStatus logonStatus = 0; + TRequestStatus timerStatus = KErrNone; + TRequestStatus logonStatus = KErrNone; bool timeoutOccurred = false; // Logon to process to observe its death if (qt_rprocess_running(symbianProcess)) { symbianProcess->Logon(logonStatus); - // Create timer - RTimer timer; - timer.CreateLocal(); - TTimeIntervalMicroSeconds32 interval(msecs*1000); - timer.After(timerStatus, interval); + if (msecs < 0) { + // If timeout is negative, there is no timeout + QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Waiting (just logon)..."); + User::WaitForRequest(logonStatus); + QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Wait completed"); + } else { + // Create timer + RTimer timer; + timer.CreateLocal(); + TTimeIntervalMicroSeconds32 interval(msecs*1000); + timer.After(timerStatus, interval); - QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Waiting..."); - User::WaitForRequest(logonStatus, timerStatus); - QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Wait completed"); + QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Waiting (logon + timer)..."); + User::WaitForRequest(logonStatus, timerStatus); + QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Wait completed"); - if (timerStatus == KErrNone) - timeoutOccurred = true; + if (timerStatus == KErrNone) + timeoutOccurred = true; - timer.Cancel(); - timer.Close(); + timer.Cancel(); + timer.Close(); - symbianProcess->LogonCancel(logonStatus); + symbianProcess->LogonCancel(logonStatus); - // Eat cancel request completion so that it won't mess up main thread scheduling later - User::WaitForRequest(logonStatus, timerStatus); + // Eat cancel request completion so that it won't mess up main thread scheduling later + User::WaitForRequest(logonStatus, timerStatus); + } } else { QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished(), qt_rprocess_running returned false"); } -- cgit v0.12 From 4beac591e47713121ad00ef3df744f7f4d11f2fd Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Mon, 1 Feb 2010 13:15:17 +0100 Subject: Only set the _WIN32_WINNT define if it is not set or less than 0x0400 By checking the define before setting it, it ensures that its not set to one that is actually lower than the value currently set to. Reviewed-by: kkoehne --- src/corelib/thread/qthread_win.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/corelib/thread/qthread_win.cpp b/src/corelib/thread/qthread_win.cpp index b276f0a..37d5b87 100644 --- a/src/corelib/thread/qthread_win.cpp +++ b/src/corelib/thread/qthread_win.cpp @@ -40,7 +40,9 @@ ****************************************************************************/ //#define WINVER 0x0500 +#if _WIN32_WINNT < 0x0400 #define _WIN32_WINNT 0x0400 +#endif #include "qthread.h" -- cgit v0.12 From b67bd25be08b54c3e6e49b2b9429e54ff58db268 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Mon, 1 Feb 2010 13:17:51 +0100 Subject: Fix a problem with overlay icons in the fileiconprovider Adding SHGFI_OVERLAYINDEX will append a system overlay identifier to the hIcon member, giving us a unique cache id for overlayed icons. Without this we could end up with having random overlays on icons depending on which one we loaded first. Task-number: QTBUG-7663 Reviewed-by: prasanth --- src/gui/itemviews/qfileiconprovider.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gui/itemviews/qfileiconprovider.cpp b/src/gui/itemviews/qfileiconprovider.cpp index 360ed14..fcc61e5 100644 --- a/src/gui/itemviews/qfileiconprovider.cpp +++ b/src/gui/itemviews/qfileiconprovider.cpp @@ -65,6 +65,7 @@ #ifndef SHGFI_ADDOVERLAYS # define SHGFI_ADDOVERLAYS 0x000000020 +# define SHGFI_OVERLAYINDEX 0x000000040 #endif QT_BEGIN_NAMESPACE @@ -248,7 +249,7 @@ QIcon QFileIconProviderPrivate::getWinIcon(const QFileInfo &fileInfo) const //Get the small icon #ifndef Q_OS_WINCE val = SHGetFileInfo((const wchar_t *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info, - sizeof(SHFILEINFO), SHGFI_ICON|SHGFI_SMALLICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS); + sizeof(SHFILEINFO), SHGFI_ICON|SHGFI_SMALLICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS|SHGFI_OVERLAYINDEX); #else val = SHGetFileInfo((const wchar_t *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info, sizeof(SHFILEINFO), SHGFI_SMALLICON|SHGFI_SYSICONINDEX); @@ -287,7 +288,7 @@ QIcon QFileIconProviderPrivate::getWinIcon(const QFileInfo &fileInfo) const //Get the big icon #ifndef Q_OS_WINCE val = SHGetFileInfo((const wchar_t *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info, - sizeof(SHFILEINFO), SHGFI_ICON|SHGFI_LARGEICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS); + sizeof(SHFILEINFO), SHGFI_ICON|SHGFI_LARGEICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS|SHGFI_OVERLAYINDEX); #else val = SHGetFileInfo((const wchar_t *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info, sizeof(SHFILEINFO), SHGFI_LARGEICON|SHGFI_SYSICONINDEX); -- cgit v0.12 From 59d3c69f0294f930c81ac14269ba20d376d1c13c Mon Sep 17 00:00:00 2001 From: Aleksandar Sasha Babic Date: Mon, 1 Feb 2010 13:04:30 +0100 Subject: Fixing test to be runnable on Symbian devices. One of the cases is using too much memory so it had to be trimmed down. Reviewed-by: TrustMe --- tests/benchmarks/qscriptengine/qscriptengine.pro | 5 +++++ tests/benchmarks/qscriptengine/tst_qscriptengine.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/tests/benchmarks/qscriptengine/qscriptengine.pro b/tests/benchmarks/qscriptengine/qscriptengine.pro index 22bbccd..df6dbb3 100644 --- a/tests/benchmarks/qscriptengine/qscriptengine.pro +++ b/tests/benchmarks/qscriptengine/qscriptengine.pro @@ -5,3 +5,8 @@ TARGET = tst_qscriptengine SOURCES += tst_qscriptengine.cpp QT += script + +symbian* { + TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 // Min 128kB, Max 32MB + TARGET.EPOCSTACKSIZE = 0x14000 +} diff --git a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp b/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp index b42a355..6c6f0b1 100644 --- a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp +++ b/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp @@ -256,8 +256,13 @@ void tst_QScriptEngine::nativeCall() QScriptEngine eng; eng.globalObject().setProperty("fun", eng.newFunction(native_function)); QBENCHMARK{ +#if !defined(Q_OS_SYMBIAN) eng.evaluate("var w = 0; for (i = 0; i < 100000; ++i) {\n" " w += fun() + fun(); w -= fun(); fun(); w -= fun(); }"); +#else + eng.evaluate("var w = 0; for (i = 0; i < 25000; ++i) {\n" + " w += fun() + fun(); w -= fun(); fun(); w -= fun(); }"); +#endif } } -- cgit v0.12 From 60ce0571065f11d8a6bf4fe40c059bd6563d9b42 Mon Sep 17 00:00:00 2001 From: Aleksandar Sasha Babic Date: Mon, 1 Feb 2010 13:13:46 +0100 Subject: Fixing benchmark to be runnable on Symbian device Deployment had to be done in proper way. Reviewed-by: TrustMe --- tests/benchmarks/qstring/main.cpp | 6 ++++++ tests/benchmarks/qstring/qstring.pro | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/benchmarks/qstring/main.cpp b/tests/benchmarks/qstring/main.cpp index 298c784..12826eb 100644 --- a/tests/benchmarks/qstring/main.cpp +++ b/tests/benchmarks/qstring/main.cpp @@ -42,6 +42,12 @@ #include #include +#ifdef Q_OS_SYMBIAN +// In Symbian OS test data is located in applications private dir +// Application private dir is default serach path for files, so SRCDIR can be set to empty +#define SRCDIR "" +#endif + class tst_QString: public QObject { Q_OBJECT diff --git a/tests/benchmarks/qstring/qstring.pro b/tests/benchmarks/qstring/qstring.pro index 6aad1c0..2e7c86a 100644 --- a/tests/benchmarks/qstring/qstring.pro +++ b/tests/benchmarks/qstring/qstring.pro @@ -5,8 +5,12 @@ SOURCES += main.cpp wince*:{ DEFINES += SRCDIR=\\\"\\\" +} else:symbian* { + addFiles.sources = utf-8.txt + addFiles.path = . + DEPLOYMENT += addFiles + TARGET.EPOCHEAPSIZE="0x100 0x1000000" } else { DEFINES += SRCDIR=\\\"$$PWD/\\\" } - -- cgit v0.12 From 9904192f956a75a3e007e1aec99ab7db433048ce Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 1 Feb 2010 14:36:44 +0200 Subject: Fixed the URL of known issues wiki page in docs Changed the URL to be version independent. Task-number: QTBUG-7295 Reviewed-by: TrustMe --- doc/src/getting-started/known-issues.qdoc | 4 ++-- doc/src/platforms/platform-notes.qdoc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc index 5503ab9..b73e15d 100644 --- a/doc/src/getting-started/known-issues.qdoc +++ b/doc/src/getting-started/known-issues.qdoc @@ -52,7 +52,7 @@ on the Qt website. An overview of known issues may also be found at: - \l{http://qt.gitorious.org/qt/pages/Qt460KnownIssues} + \l{http://qt.gitorious.org/qt/pages/QtKnownIssues} {Known Issues Wiki}. \section1 Installation Issues @@ -160,6 +160,6 @@ \list \o Check known issues for Symbian at - \l{http://qt.gitorious.org/qt/pages/Qt460KnownIssues} {Known Issues Wiki}. + \l{http://qt.gitorious.org/qt/pages/QtKnownIssues} {Known Issues Wiki}. \endlist */ diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc index 6ea3df4..e08bf1a 100644 --- a/doc/src/platforms/platform-notes.qdoc +++ b/doc/src/platforms/platform-notes.qdoc @@ -490,7 +490,7 @@ \section1 Known Issues Known issues can be found by visiting the - \l{http://qt.gitorious.org/qt/pages/Qt460KnownIssues}{wiki page} with an + \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}{wiki page} with an up-to-date list of known issues, and the list of bugs can be found by \l{http://bugreports.qt.nokia.com/browse/QTBUG/component/19171}{browsing} the S60 component in Qt's public task tracker, located at -- cgit v0.12 From c830656616977d417972e2497ff3135bc562a660 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 28 Jan 2010 21:32:20 +0100 Subject: optimize qhash() on any modern architecture, an 1 out of 16 times needlessly executed shift (even if a long one) and xor are less expensive than a pretty much randomly 1 out of 16 times differently taken conditional jump. so simply remove the conditional. ~15% faster on Core2. Reviewed-by: joao --- src/corelib/tools/qhash.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp index d758325..6231471 100644 --- a/src/corelib/tools/qhash.cpp +++ b/src/corelib/tools/qhash.cpp @@ -68,8 +68,8 @@ static uint hash(const uchar *p, int n) while (n--) { h = (h << 4) + *p++; - if ((g = (h & 0xf0000000)) != 0) - h ^= g >> 23; + g = h & 0xf0000000; + h ^= g >> 23; h &= ~g; } return h; @@ -82,8 +82,8 @@ static uint hash(const QChar *p, int n) while (n--) { h = (h << 4) + (*p++).unicode(); - if ((g = (h & 0xf0000000)) != 0) - h ^= g >> 23; + g = h & 0xf0000000; + h ^= g >> 23; h &= ~g; } return h; -- cgit v0.12 From 0d772fe5d362861c0b59374a25ec4d0e0ba05181 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 28 Jan 2010 17:38:17 +0100 Subject: micro-optimization move up the headerdone setting, so the compiler can do tail-merging of the branches --- src/corelib/codecs/qutfcodec.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/codecs/qutfcodec.cpp b/src/corelib/codecs/qutfcodec.cpp index f7d3b06..f88fa8d 100644 --- a/src/corelib/codecs/qutfcodec.cpp +++ b/src/corelib/codecs/qutfcodec.cpp @@ -326,6 +326,7 @@ QString QUtf16::convertToUnicode(const char *chars, int len, QTextCodec::Convert ch.setCell(*chars++); } if (!headerdone) { + headerdone = true; if (endian == DetectEndianness) { if (ch == QChar::ByteOrderSwapped && endian != BigEndianness) { endian = LittleEndianness; @@ -344,7 +345,6 @@ QString QUtf16::convertToUnicode(const char *chars, int len, QTextCodec::Convert } else if (ch != QChar::ByteOrderMark) { *qch++ = ch; } - headerdone = true; } else { *qch++ = ch; } -- cgit v0.12 From 3c0370bd3d0ee83b84ea7c1cc579be51768df183 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 28 Jan 2010 17:41:13 +0100 Subject: remove pointless conditionals we already know that (endian == DetectEndianness) - we tested it 1 resp 3 lines above ... Reviewed-By: denis --- src/corelib/codecs/qutfcodec.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/corelib/codecs/qutfcodec.cpp b/src/corelib/codecs/qutfcodec.cpp index f88fa8d..7655c51 100644 --- a/src/corelib/codecs/qutfcodec.cpp +++ b/src/corelib/codecs/qutfcodec.cpp @@ -328,10 +328,9 @@ QString QUtf16::convertToUnicode(const char *chars, int len, QTextCodec::Convert if (!headerdone) { headerdone = true; if (endian == DetectEndianness) { - if (ch == QChar::ByteOrderSwapped && endian != BigEndianness) { + if (ch == QChar::ByteOrderSwapped) { endian = LittleEndianness; - } else if (ch == QChar::ByteOrderMark && endian != LittleEndianness) { - // ignore BOM + } else if (ch == QChar::ByteOrderMark) { endian = BigEndianness; } else { if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { -- cgit v0.12 From 984689f01ce31cade5452633dd43f676bdb75b73 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 28 Jan 2010 18:01:47 +0100 Subject: remove duplicated calculation of length --- src/corelib/tools/qlist.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/tools/qlist.cpp b/src/corelib/tools/qlist.cpp index f1df9bd..c302857 100644 --- a/src/corelib/tools/qlist.cpp +++ b/src/corelib/tools/qlist.cpp @@ -208,7 +208,7 @@ void **QListData::append2(const QListData& l) int n = l.d->end - l.d->begin; if (n) { if (e + n > d->alloc) - realloc(grow(e + l.d->end - l.d->begin)); + realloc(grow(e + n)); d->end += n; } return d->array + e; -- cgit v0.12 From 45591e13862963fb29c13e0c5bfe39330883c579 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 29 Jan 2010 13:07:28 +0100 Subject: document QString::fromUtf16() slowness --- src/corelib/tools/qstring.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index b9dd4d1..44e4d16 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -3857,6 +3857,12 @@ QString QString::fromUtf8(const char *str, int size) If \a size is -1 (default), \a unicode must be terminated with a 0. + This function checks for a Byte Order Mark (BOM). If it is missing, + host byte order is assumed. + + This function is comparatively slow. + Use QString(const ushort *, int) if possible. + QString makes a deep copy of the Unicode data. \sa utf16(), setUtf16() @@ -3923,6 +3929,9 @@ QString& QString::setUnicode(const QChar *unicode, int size) If \a unicode is 0, nothing is copied, but the string is still resized to \a size. + Note that unlike fromUtf16(), this function does not consider BOMs and + possibly differing byte ordering. + \sa utf16(), setUnicode() */ @@ -4669,6 +4678,8 @@ int QString::localeAwareCompare_helper(const QChar *data1, int length1, Returns the QString as a '\\0\'-terminated array of unsigned shorts. The result remains valid until the string is modified. + The returned string is in host byte order. + \sa unicode() */ -- cgit v0.12 From e0fda52fde32458c4a42f04bd62b5e37f14c4bfd Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 29 Jan 2010 16:44:12 +0100 Subject: optimization: get rid of QString::fromUtf16() usage QString::fromUtf16() is slow - it does a BOM check and optionally byte swapping, which is utterly pointless when converting internal data structures which are raw utf16 in host byte order anyway. so replace it with QString::fromRawData() (for short-lived strings) or QString(const QChar *, int) (otherwise) if possible. Reviewed-by: axis Reviewed-by: mariusSO Reviewed-by: Bill King --- examples/network/qftp/sym_iap_util.h | 2 +- src/corelib/io/qprocess_unix.cpp | 2 +- src/corelib/kernel/qcore_symbian_p.cpp | 2 +- src/corelib/kernel/qcoreapplication.cpp | 3 ++- src/corelib/kernel/qtranslator.cpp | 2 +- src/corelib/tools/qstring.cpp | 4 ++-- src/gui/itemviews/qitemdelegate.cpp | 2 +- src/gui/kernel/qclipboard_s60.cpp | 3 ++- src/gui/kernel/qdnd_x11.cpp | 2 +- src/gui/kernel/qmime_mac.cpp | 4 ++-- src/sql/drivers/sqlite/qsql_sqlite.cpp | 4 ++-- src/sql/kernel/qsqlresult.cpp | 2 +- tools/linguist/shared/qm.cpp | 2 +- 13 files changed, 18 insertions(+), 16 deletions(-) diff --git a/examples/network/qftp/sym_iap_util.h b/examples/network/qftp/sym_iap_util.h index 8079d2c..41e43a9 100644 --- a/examples/network/qftp/sym_iap_util.h +++ b/examples/network/qftp/sym_iap_util.h @@ -298,7 +298,7 @@ QString qt_TDesC2QStringL(const TDesC& aDescriptor) #ifdef QT_NO_UNICODE return QString::fromLocal8Bit(aDescriptor.Ptr(), aDescriptor.Length()); #else - return QString::fromUtf16(aDescriptor.Ptr(), aDescriptor.Length()); + return QString((const QChar *)aDescriptor.Ptr(), aDescriptor.Length()); #endif } diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp index 0bf7d3f..5119ec0 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -783,7 +783,7 @@ bool QProcessPrivate::processStarted() // did we read an error message? if (i > 0) - q_func()->setErrorString(QString::fromUtf16(buf, i / sizeof(QChar))); + q_func()->setErrorString(QString((const QChar *)buf, i / sizeof(QChar))); return i <= 0; } diff --git a/src/corelib/kernel/qcore_symbian_p.cpp b/src/corelib/kernel/qcore_symbian_p.cpp index 5d2a6a5..0257ac4 100644 --- a/src/corelib/kernel/qcore_symbian_p.cpp +++ b/src/corelib/kernel/qcore_symbian_p.cpp @@ -71,7 +71,7 @@ Q_CORE_EXPORT QString qt_TDesC2QString(const TDesC& aDescriptor) #ifdef QT_NO_UNICODE return QString::fromLocal8Bit(aDescriptor.Ptr(), aDescriptor.Length()); #else - return QString::fromUtf16(aDescriptor.Ptr(), aDescriptor.Length()); + return QString(reinterpret_cast(aDescriptor.Ptr()), aDescriptor.Length()); #endif } diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 005dedc..5c65416 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -2219,7 +2219,8 @@ QStringList QCoreApplication::libraryPaths() TFindFile finder(fs); TInt err = finder.FindByDir(tempPathPtr, tempPathPtr); while (err == KErrNone) { - QString foundDir = QString::fromUtf16(finder.File().Ptr(), finder.File().Length()); + QString foundDir(reinterpret_cast(finder.File().Ptr()), + finder.File().Length()); foundDir = QDir(foundDir).canonicalPath(); if (!app_libpaths->contains(foundDir)) app_libpaths->append(foundDir); diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp index b7e6ea0..7d1e1d3 100644 --- a/src/corelib/kernel/qtranslator.cpp +++ b/src/corelib/kernel/qtranslator.cpp @@ -633,7 +633,7 @@ static QString getMessage(const uchar *m, const uchar *end, const char *context, end: if (!tn) return QString(); - QString str = QString::fromUtf16((const ushort *)tn, tn_length/2); + QString str = QString((const QChar *)tn, tn_length/2); if (QSysInfo::ByteOrder == QSysInfo::LittleEndian) { for (int i = 0; i < str.length(); ++i) str[i] = QChar((str.at(i).unicode() >> 8) + ((str.at(i).unicode() << 8) & 0xff00)); diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 44e4d16..3388500 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -885,7 +885,7 @@ int QString::grow(int size) QString QString::fromWCharArray(const wchar_t *string, int size) { if (sizeof(wchar_t) == sizeof(QChar)) { - return fromUtf16((ushort *)string, size); + return QString((const QChar *)string, size); } else { return fromUcs4((uint *)string, size); } @@ -7751,7 +7751,7 @@ QString QStringRef::toString() const { return QString(); if (m_size && m_position == 0 && m_size == m_string->size()) return *m_string; - return QString::fromUtf16(reinterpret_cast(m_string->unicode() + m_position), m_size); + return QString(m_string->unicode() + m_position, m_size); } diff --git a/src/gui/itemviews/qitemdelegate.cpp b/src/gui/itemviews/qitemdelegate.cpp index 6fd26a7..9069ce4 100644 --- a/src/gui/itemviews/qitemdelegate.cpp +++ b/src/gui/itemviews/qitemdelegate.cpp @@ -1033,7 +1033,7 @@ static QString qPixmapSerial(quint64 i, bool enabled) i >>= 4; } - return QString::fromUtf16(ptr, int(&arr[sizeof(arr) / sizeof(ushort)] - ptr)); + return QString((const QChar *)ptr, int(&arr[sizeof(arr) / sizeof(ushort)] - ptr)); } /*! diff --git a/src/gui/kernel/qclipboard_s60.cpp b/src/gui/kernel/qclipboard_s60.cpp index 71c355b..f07e066 100644 --- a/src/gui/kernel/qclipboard_s60.cpp +++ b/src/gui/kernel/qclipboard_s60.cpp @@ -164,7 +164,8 @@ void readFromStreamLX(QMimeData* aData,RReadStream& aStream) TCardinality mimeTypeSize; aStream >> mimeTypeSize; HBufC* mimeTypeBuf = HBufC::NewLC(aStream,mimeTypeSize); - QString mimeType = QString::fromUtf16(mimeTypeBuf->Des().Ptr(),mimeTypeBuf->Length()); + QString mimeType = QString(reinterpret_cast(mimeTypeBuf->Des().Ptr()), + mimeTypeBuf->Length()); CleanupStack::PopAndDestroy(mimeTypeBuf); // mime data TCardinality dataSize; diff --git a/src/gui/kernel/qdnd_x11.cpp b/src/gui/kernel/qdnd_x11.cpp index edab6a0..33968bd 100644 --- a/src/gui/kernel/qdnd_x11.cpp +++ b/src/gui/kernel/qdnd_x11.cpp @@ -617,7 +617,7 @@ QVariant QX11Data::xdndMimeConvertToFormat(Atom a, const QByteArray &data, const // so it should be safe to check that the second char is 0 // to verify that it is utf16 if (data.size() > 1 && data.at(1) == 0) - return QString::fromUtf16(reinterpret_cast(data.constData()), + return QString::fromRawData((const QChar *)data.constData(), data.size() / 2).split(QLatin1Char('\n')).first().toLatin1(); } } diff --git a/src/gui/kernel/qmime_mac.cpp b/src/gui/kernel/qmime_mac.cpp index 0431f2f..071f80d 100644 --- a/src/gui/kernel/qmime_mac.cpp +++ b/src/gui/kernel/qmime_mac.cpp @@ -431,8 +431,8 @@ QVariant QMacPasteboardMimeUnicodeText::convertToMime(const QString &mimetype, Q firstData.size(), CFStringGetSystemEncoding(), false)); ret = QString(str); } else if (flavor == QLatin1String("public.utf16-plain-text")) { - ret = QString::fromUtf16(reinterpret_cast(firstData.constData()), - firstData.size() / sizeof(ushort)); + ret = QString(reinterpret_cast(firstData.constData()), + firstData.size() / sizeof(QChar)); } else { qWarning("QMime::convertToMime: unhandled mimetype: %s", qPrintable(mimetype)); } diff --git a/src/sql/drivers/sqlite/qsql_sqlite.cpp b/src/sql/drivers/sqlite/qsql_sqlite.cpp index 9dbefaf..9fff552 100644 --- a/src/sql/drivers/sqlite/qsql_sqlite.cpp +++ b/src/sql/drivers/sqlite/qsql_sqlite.cpp @@ -245,9 +245,9 @@ bool QSQLiteResultPrivate::fetchNext(QSqlCachedResult::ValueCache &values, int i values[i + idx] = QVariant(QVariant::String); break; default: - values[i + idx] = QString::fromUtf16(static_cast( + values[i + idx] = QString(reinterpret_cast( sqlite3_column_text16(stmt, i)), - sqlite3_column_bytes16(stmt, i) / sizeof(ushort)); + sqlite3_column_bytes16(stmt, i) / sizeof(QChar)); break; } } diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp index 5f12b55..3d63f88 100644 --- a/src/sql/kernel/qsqlresult.cpp +++ b/src/sql/kernel/qsqlresult.cpp @@ -136,7 +136,7 @@ static QString qFieldSerial(int i) i >>= 4; } - return QString::fromUtf16(arr, int(ptr - arr) + 1); + return QString(reinterpret_cast(arr), int(ptr - arr) + 1); } static bool qIsAlnum(QChar ch) diff --git a/tools/linguist/shared/qm.cpp b/tools/linguist/shared/qm.cpp index 8118576..de1284f 100644 --- a/tools/linguist/shared/qm.cpp +++ b/tools/linguist/shared/qm.cpp @@ -594,7 +594,7 @@ bool loadQM(Translator &translator, QIODevice &dev, ConversionData &cd) return false; } m += 4; - QString str = QString::fromUtf16((const ushort *)m, len/2); + QString str = QString((const QChar *)m, len/2); if (QSysInfo::ByteOrder == QSysInfo::LittleEndian) { for (int i = 0; i < str.length(); ++i) str[i] = QChar((str.at(i).unicode() >> 8) + -- cgit v0.12 From b8102ec6d2f01a0aedf2ecd5bbf16d3a5f6c296e Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Mon, 1 Feb 2010 14:52:17 +0100 Subject: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( afc4c208fe296f5a1dd0e73f2bd1273bd22d9b24 ) Changes in WebKit/qt since the last update: ++ b/WebKit/qt/ChangeLog 2010-01-28 Kenneth Rohde Christiansen Reviewed by Simon Hausmann. Do not set the combobox font on Maemo5 and S60; use the default instead. * WebCoreSupport/QtFallbackWebPopup.cpp: (WebCore::QtFallbackWebPopup::populate): 2010-01-28 Andreas Kling Reviewed by Kenneth Rohde Christiansen. [Qt] Support kinetic scrolling on Maemo 5 https://bugs.webkit.org/show_bug.cgi?id=34267 Patch by Ralf Engels and Robert Griebl * Api/qwebview.cpp: (QWebViewKineticScroller::QWebViewKineticScroller): (QWebViewKineticScroller::eventFilter): (QWebViewKineticScroller::currentFrame): (QWebViewKineticScroller::scrollingFrameAt): (QWebViewKineticScroller::attachToWidget): (QWebViewKineticScroller::removeFromWidget): (QWebViewKineticScroller::positionRange): (QWebViewKineticScroller::position): (QWebViewKineticScroller::viewportSize): (QWebViewKineticScroller::setPosition): (QWebView::QWebView): 2010-01-29 Kenneth Rohde Christiansen Reviewed by Simon Hausmann Disable auto-uppercase and predictive text on Maemo5, just like the build-in MicroB Browser. * WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::setInputMethodState): --- src/3rdparty/webkit/VERSION | 2 +- src/3rdparty/webkit/WebCore/ChangeLog | 14 +++ src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp | 2 +- .../webkit/WebCore/bridge/qt/qt_runtime.cpp | 18 ++-- .../webkit/WebCore/platform/qt/QWebPopup.cpp | 2 + src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp | 104 +++++++++++++++++++++ src/3rdparty/webkit/WebKit/qt/ChangeLog | 44 +++++++++ .../WebKit/qt/WebCoreSupport/EditorClientQt.cpp | 7 +- 8 files changed, 181 insertions(+), 12 deletions(-) diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index 128df75..2a3c73b 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -8,4 +8,4 @@ The commit imported was from the and has the sha1 checksum - ca7b2e1e1ca558050cf49dd8f7c9b35e4b9d4df5 + afc4c208fe296f5a1dd0e73f2bd1273bd22d9b24 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 40a2149..bded3d8 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,17 @@ +2010-01-29 Oswald Buddenhagen + + Reviewed by Simon Hausmann. + + [Qt] Speed up the WebCore::String -> QString conversion + + Use QString(const QChar *, int len) constructor instead of QString::fromUtf16 to + avoid BOM checks and byteswapping. + + * bridge/qt/qt_class.cpp: + (JSC::Bindings::QtClass::fieldNamed): + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertValueToQVariant): + 2010-01-14 Andreas Kling Reviewed by Kenneth Rohde Christiansen. diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp index c39b3af..09a1544 100644 --- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp +++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp @@ -127,7 +127,7 @@ Field* QtClass::fieldNamed(const Identifier& identifier, Instance* instance) con QObject* obj = qtinst->getObject(); UString ustring = identifier.ustring(); - QString objName(QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size())); + QString objName((const QChar*)ustring.rep()->data(), ustring.size()); QByteArray ba = objName.toAscii(); // First check for a cached field diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp index 6887325..ee7aa1a 100644 --- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp +++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp @@ -305,7 +305,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type return QString(); } else { UString ustring = value.toString(exec); - ret = QVariant(QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size())); + ret = QVariant(QString((const QChar*)ustring.rep()->data(), ustring.size())); if (type == String) dist = 0; else @@ -329,7 +329,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type QVariant v = convertValueToQVariant(exec, val, QMetaType::Void, &objdist, visitedObjects); if (objdist >= 0) { UString ustring = (*it).ustring(); - QString id = QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()); + QString id = QString((const QChar*)ustring.rep()->data(), ustring.size()); result.insert(id, v); } } @@ -404,7 +404,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type for (int i = 0; i < len; ++i) { JSValue val = rtarray->getConcreteArray()->valueAt(exec, i); UString ustring = val.toString(exec); - QString qstring = QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()); + QString qstring = QString((const QChar*)ustring.rep()->data(), ustring.size()); result.append(qstring); } @@ -418,7 +418,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type for (int i = 0; i < len; ++i) { JSValue val = array->get(exec, i); UString ustring = val.toString(exec); - QString qstring = QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()); + QString qstring = QString((const QChar*)ustring.rep()->data(), ustring.size()); result.append(qstring); } @@ -427,7 +427,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type } else { // Make a single length array UString ustring = value.toString(exec); - QString qstring = QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()); + QString qstring = QString((const QChar*)ustring.rep()->data(), ustring.size()); QStringList result; result.append(qstring); ret = QVariant(result); @@ -443,7 +443,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type dist = 0; } else { UString ustring = value.toString(exec); - ret = QVariant(QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()).toLatin1()); + ret = QVariant(QString((const QChar*)ustring.rep()->data(), ustring.size()).toLatin1()); if (type == String) dist = 5; else @@ -485,7 +485,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type } } else if (type == String) { UString ustring = value.toString(exec); - QString qstring = QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()); + QString qstring = QString((const QChar*)ustring.rep()->data(), ustring.size()); if (hint == QMetaType::QDateTime) { QDateTime dt = QDateTime::fromString(qstring, Qt::ISODate); @@ -534,7 +534,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type */ // Attempt to convert.. a bit risky UString ustring = value.toString(exec); - QString qstring = QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()); + QString qstring = QString((const QChar*)ustring.rep()->data(), ustring.size()); // this is of the form '/xxxxxx/i' int firstSlash = qstring.indexOf(QLatin1Char('/')); @@ -554,7 +554,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type } } else if (type == String) { UString ustring = value.toString(exec); - QString qstring = QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()); + QString qstring = QString((const QChar*)ustring.rep()->data(), ustring.size()); QRegExp re(qstring); if (re.isValid()) { diff --git a/src/3rdparty/webkit/WebCore/platform/qt/QWebPopup.cpp b/src/3rdparty/webkit/WebCore/platform/qt/QWebPopup.cpp index f6a8167..48bca19 100644 --- a/src/3rdparty/webkit/WebCore/platform/qt/QWebPopup.cpp +++ b/src/3rdparty/webkit/WebCore/platform/qt/QWebPopup.cpp @@ -36,7 +36,9 @@ QWebPopup::QWebPopup(PopupMenuClient* client) { Q_ASSERT(m_client); +#if !defined(Q_WS_S60) && !defined(Q_WS_MAEMO_5) setFont(m_client->menuStyle().font().font()); +#endif connect(this, SIGNAL(activated(int)), SLOT(activeChanged(int)), Qt::QueuedConnection); } diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp index 1d4b46f..79538ff 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp @@ -57,6 +57,106 @@ void QWebViewPrivate::_q_pageDestroyed() view->setPage(0); } +#ifdef Q_WS_MAEMO_5 +#include "qabstractkineticscroller.h" + +class QWebViewKineticScroller : public QAbstractKineticScroller { +public: + QWebViewKineticScroller() : QAbstractKineticScroller() {} + // remember the frame where the button was pressed + bool eventFilter(QObject* o, QEvent* ev) + { + switch (ev->type()) { + case QEvent::MouseButtonPress: { + QWebFrame* hitFrame = scrollingFrameAt(static_cast(ev)->pos()); + if (hitFrame) + m_frame = hitFrame; + break; + } + default: + break; + } + return QAbstractKineticScroller::eventFilter(o, ev); + } + +protected: + QWebFrame* currentFrame() const + { + if (!m_frame.isNull()) + return m_frame.data(); + + QWebView* view = static_cast(widget()); + QWebFrame* frame = view->page()->mainFrame(); + return frame; + } + + // Returns the innermost frame at the given position that can scroll. + QWebFrame* scrollingFrameAt(const QPoint& pos) const + { + QWebView* view = static_cast(widget()); + QWebFrame* mainFrame = view->page()->mainFrame(); + QWebFrame* hitFrame = mainFrame->hitTestContent(pos).frame(); + QSize range = hitFrame->contentsSize() - hitFrame->geometry().size(); + + while (hitFrame && range.width() <= 1 && range.height() <= 1) + hitFrame = hitFrame->parentFrame(); + + return hitFrame; + } + + void attachToWidget() + { + QWebView* view = static_cast(widget()); + QWebFrame* mainFrame = view->page()->mainFrame(); + m_oldHorizontalScrollBarPolicy = mainFrame->scrollBarPolicy(Qt::Horizontal); + m_oldVerticalScrollBarPolicy = mainFrame->scrollBarPolicy(Qt::Vertical); + mainFrame->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); + mainFrame->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); + view->installEventFilter(this); + } + + void removeFromWidget() + { + QWebView* view = static_cast(widget()); + view->removeEventFilter(this); + QWebFrame* mainFrame = view->page()->mainFrame(); + mainFrame->setScrollBarPolicy(Qt::Vertical, m_oldVerticalScrollBarPolicy); + mainFrame->setScrollBarPolicy(Qt::Horizontal, m_oldHorizontalScrollBarPolicy); + } + + QRect positionRange() const + { + QRect r; + QWebFrame* frame = currentFrame(); + r.setSize(frame->contentsSize() - frame->geometry().size()); + return r; + } + + QPoint position() const + { + QWebFrame* frame = currentFrame(); + return frame->scrollPosition(); + } + + QSize viewportSize() const + { + return static_cast(widget())->page()->viewportSize(); + } + + void setPosition(const QPoint& point, const QPoint& /* overShootDelta */) + { + QWebFrame* frame = currentFrame(); + frame->setScrollPosition(point); + } + + QPointer m_frame; + Qt::ScrollBarPolicy m_oldVerticalScrollBarPolicy; + Qt::ScrollBarPolicy m_oldHorizontalScrollBarPolicy; +}; + +#endif // Q_WS_MAEMO_5 + + /*! \class QWebView \since 4.4 @@ -153,6 +253,10 @@ QWebView::QWebView(QWidget *parent) setAttribute(Qt::WA_InputMethodEnabled); #endif +#if defined(Q_WS_MAEMO_5) + QAbstractKineticScroller* scroller = new QWebViewKineticScroller(); + scroller->setWidget(this); +#endif setAcceptDrops(true); setMouseTracking(true); diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index 697570f..1026ac5 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,47 @@ +2010-01-28 Kenneth Rohde Christiansen + + Reviewed by Simon Hausmann. + + Do not set the combobox font on Maemo5 and S60; use the + default instead. + + * WebCoreSupport/QtFallbackWebPopup.cpp: + (WebCore::QtFallbackWebPopup::populate): + +2010-01-28 Andreas Kling + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Support kinetic scrolling on Maemo 5 + + https://bugs.webkit.org/show_bug.cgi?id=34267 + + Patch by Ralf Engels and + Robert Griebl + + * Api/qwebview.cpp: + (QWebViewKineticScroller::QWebViewKineticScroller): + (QWebViewKineticScroller::eventFilter): + (QWebViewKineticScroller::currentFrame): + (QWebViewKineticScroller::scrollingFrameAt): + (QWebViewKineticScroller::attachToWidget): + (QWebViewKineticScroller::removeFromWidget): + (QWebViewKineticScroller::positionRange): + (QWebViewKineticScroller::position): + (QWebViewKineticScroller::viewportSize): + (QWebViewKineticScroller::setPosition): + (QWebView::QWebView): + +2010-01-29 Kenneth Rohde Christiansen + + Reviewed by Simon Hausmann + + Disable auto-uppercase and predictive text on Maemo5, just like the + build-in MicroB Browser. + + * WebCoreSupport/EditorClientQt.cpp: + (WebCore::EditorClientQt::setInputMethodState): + 2010-01-28 Trond Kjernåsen Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp index 34241f0..2d1a1eb 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp @@ -615,7 +615,12 @@ void EditorClientQt::setInputMethodState(bool active) } } webPageClient->setInputMethodHint(Qt::ImhHiddenText, isPasswordField); -#endif +#ifdef Q_WS_MAEMO_5 + // Maemo 5 MicroB Browser disables auto-uppercase and predictive text, thus, so do we. + webPageClient->setInputMethodHint(Qt::ImhNoAutoUppercase, true); + webPageClient->setInputMethodHint(Qt::ImhNoPredictiveText, true); +#endif // Q_WS_MAEMO_5 +#endif // QT_VERSION check webPageClient->setInputMethodEnabled(active); } emit m_page->microFocusChanged(); -- cgit v0.12 From a70a97cceccced13429b88f99373650d39da2f75 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Mon, 1 Feb 2010 14:37:57 +0000 Subject: Deployed QtMultimedia.dll on Symbian Task-number: QT-2813 Reviewed-by: trustme --- src/s60installs/s60installs.pro | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro index aaecf6c..5318693 100644 --- a/src/s60installs/s60installs.pro +++ b/src/s60installs/s60installs.pro @@ -114,6 +114,10 @@ symbian: { graphicssystems_plugins.sources += qvggraphicssystem.dll } + contains(QT_CONFIG, multimedia) { + qtlibraries.sources += QtMultimedia.dll + } + BLD_INF_RULES.prj_exports += "qt.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(qt.iby)" BLD_INF_RULES.prj_exports += "qtdemoapps.iby $$CORE_APP_LAYER_IBY_EXPORT_PATH(qtdemoapps.iby)" } -- cgit v0.12 From 00c4f1dbd8484ec887aea259021f5089334f45d7 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 1 Feb 2010 17:03:12 +0200 Subject: Documented limitations of add/setLibraryPath(s) on Symbian OS Symbian OS limits applications to loading libraries only from /sys/bin directory, so user defined library paths can only be useful for locating Qt extension plugin stubs. Task-number: QTBUG-7517 Reviewed-by: Janne Koskinen --- src/corelib/kernel/qcoreapplication.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 005dedc..e3137f0 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -2267,6 +2267,10 @@ QStringList QCoreApplication::libraryPaths() \a paths. All existing paths will be deleted and the path list will consist of the paths given in \a paths. + In Symbian this function is only useful for setting paths for + finding Qt extension plugin stubs, since the OS can only + load libraries from the \c{/sys/bin} directory. + \sa libraryPaths(), addLibraryPath(), removeLibraryPath(), QLibrary */ void QCoreApplication::setLibraryPaths(const QStringList &paths) @@ -2290,6 +2294,10 @@ void QCoreApplication::setLibraryPaths(const QStringList &paths) is \c INSTALL/plugins, where \c INSTALL is the directory where Qt was installed. + In Symbian this function is only useful for adding paths for + finding Qt extension plugin stubs, since the OS can only + load libraries from the \c{/sys/bin} directory. + \sa removeLibraryPath(), libraryPaths(), setLibraryPaths() */ void QCoreApplication::addLibraryPath(const QString &path) -- cgit v0.12 From ff8e8af2c16362ab0bbf7ea14bcdd83b711ebd46 Mon Sep 17 00:00:00 2001 From: ck Date: Mon, 1 Feb 2010 17:41:13 +0100 Subject: Assistant: Use const references in foreach loops. Reviewed-by: kh1 --- examples/assistant/simpletextviewer/findfiledialog.cpp | 4 ++-- tools/assistant/lib/qhelpcollectionhandler.cpp | 10 +++++----- tools/assistant/lib/qhelpcontentwidget.cpp | 2 +- tools/assistant/lib/qhelpdbreader.cpp | 6 +++--- tools/assistant/lib/qhelpenginecore.cpp | 6 +++--- tools/assistant/lib/qhelpgenerator.cpp | 16 ++++++++-------- tools/assistant/lib/qhelpindexwidget.cpp | 8 ++++---- tools/assistant/lib/qhelpsearchindexreader_default.cpp | 16 ++++++++-------- tools/assistant/lib/qhelpsearchindexwriter_default.cpp | 10 +++++----- tools/assistant/lib/qhelpsearchquerywidget.cpp | 12 ++++++------ tools/assistant/lib/qhelpsearchresultwidget.cpp | 4 ++-- tools/assistant/tools/assistant/centralwidget.cpp | 2 +- 12 files changed, 48 insertions(+), 48 deletions(-) diff --git a/examples/assistant/simpletextviewer/findfiledialog.cpp b/examples/assistant/simpletextviewer/findfiledialog.cpp index 939d90a..0f7bbae 100644 --- a/examples/assistant/simpletextviewer/findfiledialog.cpp +++ b/examples/assistant/simpletextviewer/findfiledialog.cpp @@ -119,7 +119,7 @@ void FindFileDialog::update() void FindFileDialog::findFiles() { - QRegExp filePattern(fileNameComboBox->currentText() + "*"); + QRegExp filePattern(fileNameComboBox->currentText() + '*'); filePattern.setPatternSyntax(QRegExp::Wildcard); QDir directory(directoryComboBox->currentText()); @@ -127,7 +127,7 @@ void FindFileDialog::findFiles() QStringList allFiles = directory.entryList(QDir::Files | QDir::NoSymLinks); QStringList matchingFiles; - foreach (QString file, allFiles) { + foreach (const QString &file, allFiles) { if (filePattern.exactMatch(file)) matchingFiles << file; } diff --git a/tools/assistant/lib/qhelpcollectionhandler.cpp b/tools/assistant/lib/qhelpcollectionhandler.cpp index fe0c417..cb7e457 100644 --- a/tools/assistant/lib/qhelpcollectionhandler.cpp +++ b/tools/assistant/lib/qhelpcollectionhandler.cpp @@ -252,7 +252,7 @@ bool QHelpCollectionHandler::createTables(QSqlQuery *query) "Key TEXT PRIMARY KEY, " "Value BLOB )"); - foreach (QString q, tables) { + foreach (const QString &q, tables) { if (!query->exec(q)) return false; } @@ -323,7 +323,7 @@ bool QHelpCollectionHandler::addCustomFilter(const QString &filterName, idsToInsert.removeAll(m_query.value(1).toString()); } - foreach (QString id, idsToInsert) { + foreach (const QString &id, idsToInsert) { m_query.prepare(QLatin1String("INSERT INTO FilterAttributeTable VALUES(NULL, ?)")); m_query.bindValue(0, id); m_query.exec(); @@ -346,7 +346,7 @@ bool QHelpCollectionHandler::addCustomFilter(const QString &filterName, m_query.bindValue(0, nameId); m_query.exec(); - foreach (QString att, attributes) { + foreach (const QString &att, attributes) { m_query.prepare(QLatin1String("INSERT INTO FilterTable VALUES(?, ?)")); m_query.bindValue(0, nameId); m_query.bindValue(1, attributeMap[att]); @@ -400,7 +400,7 @@ bool QHelpCollectionHandler::registerDocumentation(const QString &fileName) return false; addFilterAttributes(reader.filterAttributes()); - foreach (QString filterName, reader.customFilters()) + foreach (const QString &filterName, reader.customFilters()) addCustomFilter(filterName, reader.filterAttributes(filterName)); optimizeDatabase(fileName); @@ -499,7 +499,7 @@ bool QHelpCollectionHandler::addFilterAttributes(const QStringList &attributes) while (m_query.next()) atts.insert(m_query.value(0).toString()); - foreach (QString s, attributes) { + foreach (const QString &s, attributes) { if (!atts.contains(s)) { m_query.prepare(QLatin1String("INSERT INTO FilterAttributeTable VALUES(NULL, ?)")); m_query.bindValue(0, s); diff --git a/tools/assistant/lib/qhelpcontentwidget.cpp b/tools/assistant/lib/qhelpcontentwidget.cpp index 3986afb..a80dc39 100644 --- a/tools/assistant/lib/qhelpcontentwidget.cpp +++ b/tools/assistant/lib/qhelpcontentwidget.cpp @@ -253,7 +253,7 @@ void QHelpContentProvider::run() const QStringList fileNames = m_helpEngine->orderedFileNameList; m_mutex.unlock(); - foreach (QString dbFileName, fileNames) { + foreach (const QString &dbFileName, fileNames) { m_mutex.lock(); if (m_abort) { m_abort = false; diff --git a/tools/assistant/lib/qhelpdbreader.cpp b/tools/assistant/lib/qhelpdbreader.cpp index 904124b..6dd949a 100644 --- a/tools/assistant/lib/qhelpdbreader.cpp +++ b/tools/assistant/lib/qhelpdbreader.cpp @@ -515,7 +515,7 @@ QVariant QHelpDBReader::metaData(const QString &name) const QString QHelpDBReader::mergeList(const QStringList &list) const { QString str; - foreach (QString s, list) + foreach (const QString &s, list) str.append(QLatin1Char('\'') + quote(s) + QLatin1String("\', ")); if (str.endsWith(QLatin1String(", "))) str = str.left(str.length()-2); @@ -567,14 +567,14 @@ bool QHelpDBReader::createAttributesCache(const QStringList &attributes, bool needUpdate = !m_viewAttributes.count(); - foreach (QString s, attributes) + foreach (const QString &s, attributes) m_viewAttributes.remove(s); if (m_viewAttributes.count() || needUpdate) { m_viewAttributes.clear(); m_indicesCache = indexIds; } - foreach (QString s, attributes) + foreach (const QString &s, attributes) m_viewAttributes.insert(s); m_useAttributesCache = true; return true; diff --git a/tools/assistant/lib/qhelpenginecore.cpp b/tools/assistant/lib/qhelpenginecore.cpp index 0911d59..b651aa3 100644 --- a/tools/assistant/lib/qhelpenginecore.cpp +++ b/tools/assistant/lib/qhelpenginecore.cpp @@ -362,7 +362,7 @@ QString QHelpEngineCore::documentationFileName(const QString &namespaceName) if (d->setup()) { const QHelpCollectionHandler::DocInfoList docList = d->collectionHandler->registeredDocumentations(); - foreach(const QHelpCollectionHandler::DocInfo info, docList) { + foreach(const QHelpCollectionHandler::DocInfo &info, docList) { if (info.namespaceName == namespaceName) { if (QDir::isAbsolutePath(info.fileName)) return QDir::cleanPath(info.fileName); @@ -386,7 +386,7 @@ QStringList QHelpEngineCore::registeredDocumentations() const if (!d->setup()) return list; const QHelpCollectionHandler::DocInfoList docList = d->collectionHandler->registeredDocumentations(); - foreach(const QHelpCollectionHandler::DocInfo info, docList) { + foreach(const QHelpCollectionHandler::DocInfo &info, docList) { list.append(info.namespaceName); } return list; @@ -531,7 +531,7 @@ QList QHelpEngineCore::files(const QString namespaceName, url.setAuthority(namespaceName); const QStringList files = reader->files(filterAttributes, extensionFilter); - foreach (const QString file, files) { + foreach (const QString &file, files) { url.setPath(QLatin1String("/") + file); res.append(url); } diff --git a/tools/assistant/lib/qhelpgenerator.cpp b/tools/assistant/lib/qhelpgenerator.cpp index 324f67d..4b94ebf 100644 --- a/tools/assistant/lib/qhelpgenerator.cpp +++ b/tools/assistant/lib/qhelpgenerator.cpp @@ -203,7 +203,7 @@ bool QHelpGenerator::generate(QHelpDataInterface *helpData, addProgress(1.0); emit statusChanged(tr("Insert custom filters...")); - foreach (QHelpDataCustomFilter f, helpData->customFilters()) { + foreach (const QHelpDataCustomFilter &f, helpData->customFilters()) { if (!registerCustomFilter(f.name, f.filterAttributes, true)) { cleanupDB(); return false; @@ -367,7 +367,7 @@ bool QHelpGenerator::createTables() "Name Text, " "Value BLOB )"); - foreach (QString q, tables) { + foreach (const QString &q, tables) { if (!d->query->exec(q)) { d->error = tr("Cannot create tables!"); return false; @@ -629,7 +629,7 @@ bool QHelpGenerator::registerCustomFilter(const QString &filterName, idsToInsert.removeAll(d->query->value(1).toString()); } - foreach (QString id, idsToInsert) { + foreach (const QString &id, idsToInsert) { d->query->prepare(QLatin1String("INSERT INTO FilterAttributeTable VALUES(NULL, ?)")); d->query->bindValue(0, id); d->query->exec(); @@ -664,7 +664,7 @@ bool QHelpGenerator::registerCustomFilter(const QString &filterName, d->query->bindValue(0, nameId); d->query->exec(); - foreach (QString att, filterAttribs) { + foreach (const QString &att, filterAttribs) { d->query->prepare(QLatin1String("INSERT INTO FilterTable VALUES(?, ?)")); d->query->bindValue(0, nameId); d->query->bindValue(1, attributeMap[att]); @@ -687,7 +687,7 @@ bool QHelpGenerator::insertKeywords(const QList keywords, indexId = d->query->value(0).toInt() + 1; QList filterAtts; - foreach (QString filterAtt, filterAttributes) { + foreach (const QString &filterAtt, filterAttributes) { d->query->prepare(QLatin1String("SELECT Id FROM FilterAttributeTable WHERE Name=?")); d->query->bindValue(0, filterAtt); d->query->exec(); @@ -704,7 +704,7 @@ bool QHelpGenerator::insertKeywords(const QList keywords, int i = 0; d->query->exec(QLatin1String("BEGIN")); - foreach (QHelpDataIndexItem itm, keywords) { + foreach (const QHelpDataIndexItem &itm, keywords) { pos = itm.reference.indexOf(QLatin1Char('#')); fileName = itm.reference.left(pos); if (pos > -1) @@ -773,7 +773,7 @@ bool QHelpGenerator::insertContents(const QByteArray &ba, } // associate the filter attributes - foreach (QString filterAtt, filterAttributes) { + foreach (const QString &filterAtt, filterAttributes) { d->query->prepare(QLatin1String("INSERT INTO ContentsFilterTable (FilterAttributeId, ContentsId) " "SELECT Id, ? FROM FilterAttributeTable WHERE Name=?")); d->query->bindValue(0, contentId); @@ -798,7 +798,7 @@ bool QHelpGenerator::insertFilterAttributes(const QStringList &attributes) while (d->query->next()) atts.insert(d->query->value(0).toString()); - foreach (QString s, attributes) { + foreach (const QString &s, attributes) { if (!atts.contains(s)) { d->query->prepare(QLatin1String("INSERT INTO FilterAttributeTable VALUES(NULL, ?)")); d->query->bindValue(0, s); diff --git a/tools/assistant/lib/qhelpindexwidget.cpp b/tools/assistant/lib/qhelpindexwidget.cpp index 6757805..270bcdd 100644 --- a/tools/assistant/lib/qhelpindexwidget.cpp +++ b/tools/assistant/lib/qhelpindexwidget.cpp @@ -162,7 +162,7 @@ void QHelpIndexProvider::run() QSet indicesSet; m_mutex.unlock(); - foreach (QString dbFileName, m_helpEngine->fileNameReaderMap.keys()) { + foreach (const QString &dbFileName, m_helpEngine->fileNameReaderMap.keys()) { m_mutex.lock(); if (m_abort) { m_mutex.unlock(); @@ -178,7 +178,7 @@ void QHelpIndexProvider::run() QStringList lst = reader.indicesForFilter(atts); if (!lst.isEmpty()) { m_mutex.lock(); - foreach (QString s, lst) + foreach (const QString &s, lst) indicesSet.insert(s); if (m_abort) { m_mutex.unlock(); @@ -317,7 +317,7 @@ QModelIndex QHelpIndexModel::filter(const QString &filter, const QString &wildca if (!wildcard.isEmpty()) { QRegExp regExp(wildcard, Qt::CaseInsensitive); regExp.setPatternSyntax(QRegExp::Wildcard); - foreach (QString index, d->indices) { + foreach (const QString &index, d->indices) { if (index.contains(regExp)) { lst.append(index); if (perfectMatch == -1 && index.startsWith(filter, Qt::CaseInsensitive)) { @@ -332,7 +332,7 @@ QModelIndex QHelpIndexModel::filter(const QString &filter, const QString &wildca } } } else { - foreach (QString index, d->indices) { + foreach (const QString &index, d->indices) { if (index.contains(filter, Qt::CaseInsensitive)) { lst.append(index); if (perfectMatch == -1 && index.startsWith(filter, Qt::CaseInsensitive)) { diff --git a/tools/assistant/lib/qhelpsearchindexreader_default.cpp b/tools/assistant/lib/qhelpsearchindexreader_default.cpp index 1bc5feb..d08efc3 100644 --- a/tools/assistant/lib/qhelpsearchindexreader_default.cpp +++ b/tools/assistant/lib/qhelpsearchindexreader_default.cpp @@ -166,7 +166,7 @@ void Reader::filterFilesForAttributes(const QStringList &attributes) const QString fileName = it.key(); bool containsAll = true; QStringList split = fileName.split(QLatin1String("@")); - foreach (const QString attribute, attributes) { + foreach (const QString &attribute, attributes) { if (!split.contains(attribute, Qt::CaseInsensitive)) { containsAll = false; break; @@ -235,7 +235,7 @@ bool Reader::splitSearchTerm(const QString &searchTerm, QStringList *terms, void Reader::searchInIndex(const QStringList &terms) { - foreach (const QString term, terms) { + foreach (const QString &term, terms) { QVector documents; for(IndexTable::ConstIterator it = searchIndexTable.begin(); @@ -254,7 +254,7 @@ void Reader::searchInIndex(const QStringList &terms) DocumentInfo info; QString title, url; QVector documentsInfo; - foreach(const Document doc, documents) { + foreach(const Document &doc, documents) { info.docNumber = doc.docNumber; info.frequency = doc.frequency; info.documentUrl = documentList.at(doc.docNumber).at(1); @@ -519,7 +519,7 @@ void QHelpSearchIndexReaderDefault::run() mutex.unlock(); QString queryTerm; - foreach (const QHelpSearchQuery query, queryList) { + foreach (const QHelpSearchQuery &query, queryList) { if (query.fieldName == QHelpSearchQuery::DEFAULT) { queryTerm = query.wordList.at(0); break; @@ -541,7 +541,7 @@ void QHelpSearchIndexReaderDefault::run() // setup the reader m_reader.setIndexPath(indexPath); - foreach(const QString namespaceName, registeredDocs) { + foreach(const QString &namespaceName, registeredDocs) { mutex.lock(); if (m_cancel) { mutex.unlock(); @@ -553,7 +553,7 @@ void QHelpSearchIndexReaderDefault::run() const QList attributeSets = engine.filterAttributeSets(namespaceName); - foreach (QStringList attributes, attributeSets) { + foreach (const QStringList &attributes, attributeSets) { // read all index files m_reader.setIndexFile(namespaceName, attributes.join(QLatin1String("@"))); if (!m_reader.readIndex()) { @@ -577,7 +577,7 @@ void QHelpSearchIndexReaderDefault::run() QVector hits = m_reader.hits(); if (!hits.isEmpty()) { if (termSeq.isEmpty()) { - foreach (const DocumentInfo docInfo, hits) { + foreach (const DocumentInfo &docInfo, hits) { mutex.lock(); if (m_cancel) { mutex.unlock(); @@ -588,7 +588,7 @@ void QHelpSearchIndexReaderDefault::run() hitList.append(qMakePair(docInfo.documentTitle, docInfo.documentUrl)); } } else { - foreach (const DocumentInfo docInfo, hits) { + foreach (const DocumentInfo &docInfo, hits) { mutex.lock(); if (m_cancel) { mutex.unlock(); diff --git a/tools/assistant/lib/qhelpsearchindexwriter_default.cpp b/tools/assistant/lib/qhelpsearchindexwriter_default.cpp index 108be97..70999e5 100644 --- a/tools/assistant/lib/qhelpsearchindexwriter_default.cpp +++ b/tools/assistant/lib/qhelpsearchindexwriter_default.cpp @@ -104,7 +104,7 @@ bool Writer::writeIndex() const return status; QDataStream docStream(&docFile); - foreach(const QStringList list, documentList) { + foreach(const QStringList &list, documentList) { docStream << list.at(0); docStream << list.at(1); } @@ -226,7 +226,7 @@ void QHelpSearchIndexWriter::run() QStringList namespaces; Writer writer(indexPath); - foreach(const QString namespaceName, registeredDocs) { + foreach(const QString &namespaceName, registeredDocs) { mutex.lock(); if (m_cancel) { mutex.unlock(); @@ -242,7 +242,7 @@ void QHelpSearchIndexWriter::run() const QList attributeSets = engine.filterAttributeSets(namespaceName); - foreach (QStringList attributes, attributeSets) { + foreach (const QStringList &attributes, attributeSets) { // cleanup maybe old or unfinished files writer.setIndexFile(namespaceName, attributes.join(QLatin1String("@"))); writer.removeIndex(); @@ -266,7 +266,7 @@ void QHelpSearchIndexWriter::run() int docNum = 0; const QStringList documentsList(documentsSet.toList()); - foreach(const QString url, documentsList) { + foreach(const QString &url, documentsList) { if (m_cancel) return; @@ -347,7 +347,7 @@ void QHelpSearchIndexWriter::run() const QList attributeSets = engine.filterAttributeSets(namespaceName); - foreach (QStringList attributes, attributeSets) { + foreach (const QStringList &attributes, attributeSets) { writer.setIndexFile(namespaceName, attributes.join(QLatin1String("@"))); writer.removeIndex(); } diff --git a/tools/assistant/lib/qhelpsearchquerywidget.cpp b/tools/assistant/lib/qhelpsearchquerywidget.cpp index f2bb816..5782c12 100644 --- a/tools/assistant/lib/qhelpsearchquerywidget.cpp +++ b/tools/assistant/lib/qhelpsearchquerywidget.cpp @@ -148,7 +148,7 @@ private: << QLatin1String("}") << QLatin1String("~"); // make sure we won't end up with an empty string - foreach (const QString escapeChar, escapableCharsList) { + foreach (const QString &escapeChar, escapableCharsList) { if (retValue.contains(escapeChar)) retValue.replace(escapeChar, QLatin1String("")); } @@ -156,7 +156,7 @@ private: return retValue; retValue = text; // now realy escape the string... - foreach (const QString escapeChar, escapableCharsList) { + foreach (const QString &escapeChar, escapableCharsList) { if (retValue.contains(escapeChar)) retValue.replace(escapeChar, escape + escapeChar); } @@ -317,7 +317,7 @@ private slots: QStringList lst = similarQuery->text().split(exp, QString::SkipEmptyParts); if (!lst.isEmpty()) { QStringList fuzzy; - foreach (const QString term, lst) + foreach (const QString &term, lst) fuzzy += buildTermList(escapeString(term)); queryList.append(QHelpSearchQuery(QHelpSearchQuery::FUZZY, fuzzy)); } @@ -325,7 +325,7 @@ private slots: lst = withoutQuery->text().split(exp, QString::SkipEmptyParts); if (!lst.isEmpty()) { QStringList without; - foreach (const QString term, lst) + foreach (const QString &term, lst) without.append(escapeString(term)); queryList.append(QHelpSearchQuery(QHelpSearchQuery::WITHOUT, without)); } @@ -339,7 +339,7 @@ private slots: lst = allQuery->text().split(exp, QString::SkipEmptyParts); if (!lst.isEmpty()) { QStringList all; - foreach (const QString term, lst) + foreach (const QString &term, lst) all.append(escapeString(term)); queryList.append(QHelpSearchQuery(QHelpSearchQuery::ALL, all)); } @@ -347,7 +347,7 @@ private slots: lst = atLeastQuery->text().split(exp, QString::SkipEmptyParts); if (!lst.isEmpty()) { QStringList atLeast; - foreach (const QString term, lst) + foreach (const QString &term, lst) atLeast += buildTermList(escapeString(term)); queryList.append(QHelpSearchQuery(QHelpSearchQuery::ATLEAST, atLeast)); } diff --git a/tools/assistant/lib/qhelpsearchresultwidget.cpp b/tools/assistant/lib/qhelpsearchresultwidget.cpp index a3f5aed..ad540c6 100644 --- a/tools/assistant/lib/qhelpsearchresultwidget.cpp +++ b/tools/assistant/lib/qhelpsearchresultwidget.cpp @@ -73,7 +73,7 @@ public: void showResultPage(const QList hits) { - foreach (const QHelpSearchEngine::SearchHit hit, hits) + foreach (const QHelpSearchEngine::SearchHit &hit, hits) new QTreeWidgetItem(this, QStringList(hit.first) << hit.second); } @@ -118,7 +118,7 @@ public: .arg(tr("The search results may not be complete since the " "documentation is still being indexed!")); - foreach (const QHelpSearchEngine::SearchHit hit, hits) { + foreach (const QHelpSearchEngine::SearchHit &hit, hits) { htmlFile += QString(QLatin1String("
%2
%1

")) diff --git a/tools/assistant/tools/assistant/centralwidget.cpp b/tools/assistant/tools/assistant/centralwidget.cpp index 055fa1c..0e4096b 100644 --- a/tools/assistant/tools/assistant/centralwidget.cpp +++ b/tools/assistant/tools/assistant/centralwidget.cpp @@ -1118,7 +1118,7 @@ CentralWidget::highlightSearchTerms() QList queryList = searchEngine->query(); QStringList terms; - foreach (QHelpSearchQuery query, queryList) { + foreach (const QHelpSearchQuery &query, queryList) { switch (query.fieldName) { default: break; case QHelpSearchQuery::ALL: { -- cgit v0.12 From 4a22fb03ff1ab5d63e51dca791155b249321bedb Mon Sep 17 00:00:00 2001 From: ck Date: Mon, 1 Feb 2010 17:57:17 +0100 Subject: Assistant: Fix spelling mistakes. --- tools/assistant/lib/fulltextsearch/qclucene-config_p.h | 2 +- tools/assistant/lib/qhelpenginecore.cpp | 2 +- tools/assistant/lib/qhelpsearchengine.cpp | 12 ++++++------ tools/assistant/lib/qhelpsearchindexreader_default.cpp | 6 +++--- tools/assistant/lib/qhelpsearchindexwriter_default.cpp | 6 +++--- tools/assistant/lib/qhelpsearchquerywidget.cpp | 4 ++-- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/tools/assistant/lib/fulltextsearch/qclucene-config_p.h b/tools/assistant/lib/fulltextsearch/qclucene-config_p.h index 729ae72..0c70718 100644 --- a/tools/assistant/lib/fulltextsearch/qclucene-config_p.h +++ b/tools/assistant/lib/fulltextsearch/qclucene-config_p.h @@ -529,7 +529,7 @@ configure. /* Conditional Debugging */ /* #undef _CL__CND_DEBUG */ -/* debuging option */ +/* debugging option */ /* #undef _DEBUG */ /* Number of bits in a file offset, on hosts where this is settable. */ diff --git a/tools/assistant/lib/qhelpenginecore.cpp b/tools/assistant/lib/qhelpenginecore.cpp index b651aa3..066e4d5 100644 --- a/tools/assistant/lib/qhelpenginecore.cpp +++ b/tools/assistant/lib/qhelpenginecore.cpp @@ -168,7 +168,7 @@ void QHelpEngineCorePrivate::errorReceived(const QString &msg) it is removed by calling removeCustomFilter(). customFilters() returns all defined filters. - The help engine also offers the possiblity to set and read values + The help engine also offers the possibility to set and read values in a persistant way comparable to ini files or Windows registry entries. For more information see setValue() or value(). diff --git a/tools/assistant/lib/qhelpsearchengine.cpp b/tools/assistant/lib/qhelpsearchengine.cpp index c28947b..7c2635d 100644 --- a/tools/assistant/lib/qhelpsearchengine.cpp +++ b/tools/assistant/lib/qhelpsearchengine.cpp @@ -214,7 +214,7 @@ private: search term The QHelpSearchQuery class contains the field name and the associated search - term. Depending on the field the search term might get split up into seperate + term. Depending on the field the search term might get split up into separate terms to be parsed differently by the search engine. \sa QHelpSearchQueryWidget @@ -238,15 +238,15 @@ private: \value DEFAULT the default field provided by the search widget, several terms should be split and stored in the word list except search terms enclosed in quotes. - \value FUZZY a field only provided in use with clucene. Terms should be split in seperate + \value FUZZY a field only provided in use with clucene. Terms should be split in separate words and passed to the search engine. - \value WITHOUT a field only provided in use with clucene. Terms should be split in seperate + \value WITHOUT a field only provided in use with clucene. Terms should be split in separate words and passed to the search engine. - \value PHRASE a field only provided in use with clucene. Terms should not be split in seperate + \value PHRASE a field only provided in use with clucene. Terms should not be split in separate words. - \value ALL a field only provided in use with clucene. Terms should be split in seperate + \value ALL a field only provided in use with clucene. Terms should be split in separate words and passed to the search engine - \value ATLEAST a field only provided in use with clucene. Terms should be split in seperate + \value ATLEAST a field only provided in use with clucene. Terms should be split in separate words and passed to the search engine */ diff --git a/tools/assistant/lib/qhelpsearchindexreader_default.cpp b/tools/assistant/lib/qhelpsearchindexreader_default.cpp index d08efc3..d2241a5 100644 --- a/tools/assistant/lib/qhelpsearchindexreader_default.cpp +++ b/tools/assistant/lib/qhelpsearchindexreader_default.cpp @@ -180,9 +180,9 @@ void Reader::filterFilesForAttributes(const QStringList &attributes) void Reader::setIndexFile(const QString &namespaceName, const QString &attributes) { - QString extention = namespaceName + QLatin1String("@") + attributes; - indexFile = indexPath + QLatin1String("/indexdb40.") + extention; - documentFile = indexPath + QLatin1String("/indexdoc40.") + extention; + QString extension = namespaceName + QLatin1String("@") + attributes; + indexFile = indexPath + QLatin1String("/indexdb40.") + extension; + documentFile = indexPath + QLatin1String("/indexdoc40.") + extension; } bool Reader::splitSearchTerm(const QString &searchTerm, QStringList *terms, diff --git a/tools/assistant/lib/qhelpsearchindexwriter_default.cpp b/tools/assistant/lib/qhelpsearchindexwriter_default.cpp index 70999e5..6d09fb8 100644 --- a/tools/assistant/lib/qhelpsearchindexwriter_default.cpp +++ b/tools/assistant/lib/qhelpsearchindexwriter_default.cpp @@ -126,9 +126,9 @@ void Writer::removeIndex() const void Writer::setIndexFile(const QString &namespaceName, const QString &attributes) { - QString extention = namespaceName + QLatin1String("@") + attributes; - indexFile = indexPath + QLatin1String("/indexdb40.") + extention; - documentFile = indexPath + QLatin1String("/indexdoc40.") + extention; + QString extension = namespaceName + QLatin1String("@") + attributes; + indexFile = indexPath + QLatin1String("/indexdb40.") + extension; + documentFile = indexPath + QLatin1String("/indexdoc40.") + extension; } void Writer::insertInIndex(const QString &string, int docNum) diff --git a/tools/assistant/lib/qhelpsearchquerywidget.cpp b/tools/assistant/lib/qhelpsearchquerywidget.cpp index 5782c12..3c3919e 100644 --- a/tools/assistant/lib/qhelpsearchquerywidget.cpp +++ b/tools/assistant/lib/qhelpsearchquerywidget.cpp @@ -155,7 +155,7 @@ private: if (retValue.trimmed().isEmpty()) return retValue; - retValue = text; // now realy escape the string... + retValue = text; // now really escape the string... foreach (const QString &escapeChar, escapableCharsList) { if (retValue.contains(escapeChar)) retValue.replace(escapeChar, escape + escapeChar); @@ -533,7 +533,7 @@ QHelpSearchQueryWidget::~QHelpSearchQueryWidget() } /*! - Returns a list of querys to use in combination with the search engines + Returns a list of queries to use in combination with the search engines search(QList &query) function. */ QList QHelpSearchQueryWidget::query() const -- cgit v0.12 From bbe1a089c43f0b706d33bb08fbeae256b6e34d30 Mon Sep 17 00:00:00 2001 From: ck Date: Mon, 1 Feb 2010 18:10:50 +0100 Subject: Fix missing namespace. --- src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp index fed1658..6cb76ee 100644 --- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp +++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp @@ -42,6 +42,8 @@ #include "qtextureglyphcache_gl_p.h" #include "qpaintengineex_opengl2_p.h" +QT_BEGIN_NAMESPACE + #ifdef Q_WS_WIN extern Q_GUI_EXPORT bool qt_cleartype_enabled; #endif @@ -243,3 +245,5 @@ int QGLTextureGlyphCache::glyphMargin() const return m_type == QFontEngineGlyphCache::Raster_RGBMask ? 2 : 0; #endif } + +QT_END_NAMESPACE -- cgit v0.12 From 55ca7d36d35c8ecac27b6866f40a5f2de799debd Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2009 17:22:06 +0100 Subject: qmake: use isActiveConfig() instead of hand-crafting comparisons ensures consistent handling of CONFIG values. this is incompatible with 4.6.1, as it removes case-insentitivity from some of the config keys, but those pro files wouldn't be portable beyond symbian anyway, and symbian compatibility guarantees start with 4.6.2. Reviewed-by: mariusSO --- qmake/generators/symbian/symmake.cpp | 26 +++++++++++++------------- qmake/generators/symbian/symmake_abld.cpp | 2 +- qmake/generators/symbian/symmake_sbsv2.cpp | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index 20e2d0e..63676d1 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -261,7 +261,7 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t) writeMmpFile(mmpFilename, symbianLangCodes); if (targetType == TypeExe) { - if (!project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) { + if (!project->isActiveConfig("no_icon")) { writeRegRssFile(userRssRules); writeRssFile(numberOfIcons, iconFile); writeLocFile(symbianLangCodes); @@ -375,7 +375,7 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile, Deployme .arg(exeFile) << endl; // deploy rsc & reg_rsc file - if (!project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) { + if (!project->isActiveConfig("no_icon")) { t << QString("\"%1epoc32/data/z/resource/apps/%2\" - \"%3\\%4\"") .arg(epocRoot()) .arg(fixedTarget + ".rsc") @@ -444,7 +444,7 @@ bool SymbianMakefileGenerator::containsStartWithItem(const QChar &c, const QStri void SymbianMakefileGenerator::writeCustomDefFile() { - if (targetType == TypePlugin && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) { + if (targetType == TypePlugin && !project->isActiveConfig("stdbinary")) { // Create custom def file for plugin QFile ft(QLatin1String(PLUGIN_COMMON_DEF_FILE_ACTUAL)); @@ -509,9 +509,9 @@ void SymbianMakefileGenerator::init() targetType = TypeExe; else if ((project->values("TEMPLATE")).contains("lib")) { // Check CONFIG to see if we are to build staticlib or dll - if (project->values("CONFIG").contains("staticlib") || project->values("CONFIG").contains("static")) + if (project->isActiveConfig("staticlib") || project->isActiveConfig("static")) targetType = TypeLib; - else if (project->values("CONFIG").contains("plugin")) + else if (project->isActiveConfig("plugin")) targetType = TypePlugin; else targetType = TypeDll; @@ -521,7 +521,7 @@ void SymbianMakefileGenerator::init() if (0 != project->values("TARGET.UID2").size()) { uid2 = project->first("TARGET.UID2"); - } else if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) { + } else if (project->isActiveConfig("stdbinary")) { uid2 = "0x20004C45"; } else { if (targetType == TypeExe) { @@ -788,7 +788,7 @@ void SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symb } t << endl; - if (!project->values("CONFIG").contains("static") && !project->values("CONFIG").contains("staticlib")) { + if (!project->isActiveConfig("static") && !project->isActiveConfig("staticlib")) { writeMmpFileLibraryPart(t); } @@ -841,7 +841,7 @@ void SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t) if (targetType == TypeExe) { t << MMP_TARGET "\t\t" << fixedTarget << ".exe" << endl; if (!skipTargetType) { - if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) + if (project->isActiveConfig("stdbinary")) t << MMP_TARGETTYPE "\t\tSTDEXE" << endl; else t << MMP_TARGETTYPE "\t\tEXE" << endl; @@ -849,7 +849,7 @@ void SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t) } else if (targetType == TypeDll || targetType == TypePlugin) { t << MMP_TARGET "\t\t" << fixedTarget << ".dll" << endl; if (!skipTargetType) { - if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) + if (project->isActiveConfig("stdbinary")) t << MMP_TARGETTYPE "\t\tSTDDLL" << endl; else t << MMP_TARGETTYPE "\t\tDLL" << endl; @@ -857,7 +857,7 @@ void SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t) } else if (targetType == TypeLib) { t << MMP_TARGET "\t\t" << fixedTarget << ".lib" << endl; if (!skipTargetType) { - if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) + if (project->isActiveConfig("stdbinary")) t << MMP_TARGETTYPE "\t\tSTDLIB" << endl; else t << MMP_TARGETTYPE "\t\tLIB" << endl; @@ -893,7 +893,7 @@ void SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t) if (0 != project->values("TARGET.EPOCALLOWDLLDATA").size()) t << MMP_EPOCALLOWDLLDATA << endl; - if (targetType == TypePlugin && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) { + if (targetType == TypePlugin && !project->isActiveConfig("stdbinary")) { // Use custom def file for Qt plugins t << "DEFFILE " PLUGIN_COMMON_DEF_FILE_FOR_MMP << endl; } @@ -909,7 +909,7 @@ void SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t) void SymbianMakefileGenerator::writeMmpFileResourcePart(QTextStream& t, QStringList &symbianLangCodes) { if ((targetType == TypeExe) && - !project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) { + !project->isActiveConfig("no_icon")) { QString locTarget = fixedTarget; locTarget.append(".rss"); @@ -1267,7 +1267,7 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy // Add project mmps and old style extension makefiles QString mmpTag; - if (project->values("CONFIG").contains("symbian_test", Qt::CaseInsensitive)) + if (project->isActiveConfig("symbian_test")) mmpTag = QLatin1String(BLD_INF_TAG_TESTMMPFILES); else mmpTag = QLatin1String(BLD_INF_TAG_MMPFILES); diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp index d1e63cb..033bcbe 100644 --- a/qmake/generators/symbian/symmake_abld.cpp +++ b/qmake/generators/symbian/symmake_abld.cpp @@ -172,7 +172,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool releasePlatforms.removeAll("winscw"); // No release for emulator QString testClause; - if (project->values("CONFIG").contains("symbian_test", Qt::CaseInsensitive)) + if (project->isActiveConfig("symbian_test")) testClause = QLatin1String(" test"); else testClause = QLatin1String(""); diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp index 5adf30d..e081b19 100644 --- a/qmake/generators/symbian/symmake_sbsv2.cpp +++ b/qmake/generators/symbian/symmake_sbsv2.cpp @@ -106,7 +106,7 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo releasePlatforms.removeAll("winscw"); // No release for emulator QString testClause; - if (project->values("CONFIG").contains("symbian_test", Qt::CaseInsensitive)) + if (project->isActiveConfig("symbian_test")) testClause = QLatin1String(".test"); else testClause = QLatin1String(""); -- cgit v0.12 From ac323ef4e9d018aa9df41d8f7e81b58a3e373dbf Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2009 18:37:04 +0100 Subject: qmake: Remove macro and simplify string expression previously using it also fixes a warning Reviewed-by: mariusSO --- qmake/generators/symbian/symmake.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index 63676d1..caee2db 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -54,7 +54,6 @@ #define REGISTRATION_RESOURCE_DIRECTORY_HW "/private/10003a3f/import/apps" #define PLUGIN_COMMON_DEF_FILE_FOR_MMP "./plugin_common.def" #define PLUGIN_COMMON_DEF_FILE_ACTUAL "plugin_commonU.def" -#define BLD_INF_FILENAME_LEN (sizeof(BLD_INF_FILENAME) - 1) #define BLD_INF_RULES_BASE "BLD_INF_RULES." #define BLD_INF_TAG_PLATFORMS "prj_platforms" @@ -227,7 +226,9 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t) QString wrapperFileName("Makefile"); QString outputFileName = fileInfo(Option::output.fileName()).fileName(); if (outputFileName != BLD_INF_FILENAME) { - wrapperFileName.append(".").append((outputFileName.size() > BLD_INF_FILENAME_LEN && outputFileName.left(BLD_INF_FILENAME_LEN) == BLD_INF_FILENAME) ? outputFileName.mid(8) : outputFileName); + wrapperFileName.append(".").append(outputFileName.startsWith(BLD_INF_FILENAME) + ? outputFileName.mid(sizeof(BLD_INF_FILENAME)) + : outputFileName); isPrimaryMakefile = false; } -- cgit v0.12 From ec69e5ab5b74064feb88bc1f1096673227f51caa Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2009 18:37:45 +0100 Subject: qmake: fix warnings missing braces, parens and spaces denoting empty loop bodies Reviewed-by: mariusSO --- qmake/generators/makefile.cpp | 3 ++- qmake/generators/makefiledeps.cpp | 34 +++++++++++++++++----------------- qmake/generators/symbian/symmake.cpp | 2 +- qmake/generators/win32/winmakefile.cpp | 3 ++- qmake/meta.cpp | 5 +++-- qmake/option.cpp | 4 ++-- 6 files changed, 27 insertions(+), 24 deletions(-) diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 7424d1d..f1f2503 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1824,11 +1824,12 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t) cleans.append(files); } } - if(!cleans.isEmpty()) + if(!cleans.isEmpty()) { if (isForSymbian()) t << valGlue(cleans, "\n\t" + del_statement, " 2> NUL\n\t" + del_statement, " 2> NUL"); else t << valGlue(cleans, "\n\t" + del_statement, "\n\t" + del_statement, ""); + } if(!wrote_clean_cmds) { for(QStringList::ConstIterator input = tmp_inputs.begin(); input != tmp_inputs.end(); ++input) { t << "\n\t" << replaceExtraCompilerVariables(tmp_clean_cmds, (*input), diff --git a/qmake/generators/makefiledeps.cpp b/qmake/generators/makefiledeps.cpp index 40304a6..21e1273 100644 --- a/qmake/generators/makefiledeps.cpp +++ b/qmake/generators/makefiledeps.cpp @@ -397,7 +397,7 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file) buffer = getBuffer(fst.st_size); for(int have_read = 0; (have_read = QT_READ(fd, buffer + buffer_len, fst.st_size - buffer_len)); - buffer_len += have_read); + buffer_len += have_read) ; QT_CLOSE(fd); } if(!buffer) @@ -418,22 +418,22 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file) ++x; if(buffer_len >= x + 12 && !strncmp(buffer + x, "includehint", 11) && (*(buffer + x + 11) == ' ' || *(buffer + x + 11) == '>')) { - for(x += 11; *(buffer + x) != '>'; ++x); + for(x += 11; *(buffer + x) != '>'; ++x) ; int inc_len = 0; - for(x += 1 ; *(buffer + x + inc_len) != '<'; ++inc_len); + for(x += 1 ; *(buffer + x + inc_len) != '<'; ++inc_len) ; *(buffer + x + inc_len) = '\0'; inc = buffer + x; } else if(buffer_len >= x + 13 && !strncmp(buffer + x, "customwidget", 12) && (*(buffer + x + 12) == ' ' || *(buffer + x + 12) == '>')) { - for(x += 13; *(buffer + x) != '>'; ++x); //skip up to > + for(x += 13; *(buffer + x) != '>'; ++x) ; //skip up to > while(x < buffer_len) { - for(x++; *(buffer + x) != '<'; ++x); //skip up to < + for(x++; *(buffer + x) != '<'; ++x) ; //skip up to < x++; if(buffer_len >= x + 7 && !strncmp(buffer+x, "header", 6) && (*(buffer + x + 6) == ' ' || *(buffer + x + 6) == '>')) { - for(x += 7; *(buffer + x) != '>'; ++x); //skip up to > + for(x += 7; *(buffer + x) != '>'; ++x) ; //skip up to > int inc_len = 0; - for(x += 1 ; *(buffer + x + inc_len) != '<'; ++inc_len); + for(x += 1 ; *(buffer + x + inc_len) != '<'; ++inc_len) ; *(buffer + x + inc_len) = '\0'; inc = buffer + x; break; @@ -448,10 +448,10 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file) for(x += 8; *(buffer + x) != '>'; ++x) { if(buffer_len >= x + 9 && *(buffer + x) == 'i' && !strncmp(buffer + x, "impldecl", 8)) { - for(x += 8; *(buffer + x) != '='; ++x); + for(x += 8; *(buffer + x) != '='; ++x) ; if(*(buffer + x) != '=') continue; - for(++x; *(buffer+x) == '\t' || *(buffer+x) == ' '; ++x); + for(++x; *(buffer+x) == '\t' || *(buffer+x) == ' '; ++x) ; char quote = 0; if(*(buffer+x) == '\'' || *(buffer+x) == '"') { quote = *(buffer + x); @@ -475,13 +475,13 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file) } } int inc_len = 0; - for(x += 1 ; *(buffer + x + inc_len) != '<'; ++inc_len); + for(x += 1 ; *(buffer + x + inc_len) != '<'; ++inc_len) ; *(buffer + x + inc_len) = '\0'; inc = buffer + x; } } //read past new line now.. - for(; x < buffer_len && !qmake_endOfLine(*(buffer + x)); ++x); + for(; x < buffer_len && !qmake_endOfLine(*(buffer + x)); ++x) ; ++line_count; } else if(file->type == QMakeSourceFileInfo::TYPE_QRC) { } else if(file->type == QMakeSourceFileInfo::TYPE_C) { @@ -494,7 +494,7 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file) ++x; if(buffer_len >= x) { if(*(buffer+x) == '/') { //c++ style comment - for(; x < buffer_len && !qmake_endOfLine(*(buffer + x)); ++x); + for(; x < buffer_len && !qmake_endOfLine(*(buffer + x)); ++x) ; beginning = 1; } else if(*(buffer+x) == '*') { //c style comment for(++x; x < buffer_len; ++x) { @@ -558,7 +558,7 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file) *(buffer+x+keyword_len) != '_') { for(x+=keyword_len; //skip spaces after keyword x < buffer_len && (*(buffer+x) == ' ' || *(buffer+x) == '\t'); - x++); + x++) ; break; } else if(qmake_endOfLine(*(buffer+x+keyword_len))) { x += keyword_len-1; @@ -579,7 +579,7 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file) x++; int inc_len; - for(inc_len = 0; *(buffer + x + inc_len) != term && !qmake_endOfLine(*(buffer + x + inc_len)); ++inc_len); + for(inc_len = 0; *(buffer + x + inc_len) != term && !qmake_endOfLine(*(buffer + x + inc_len)); ++inc_len) ; *(buffer + x + inc_len) = '\0'; inc = buffer + x; x += inc_len; @@ -594,7 +594,7 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file) int msg_len; for(msg_len = 0; (term && *(buffer + x + msg_len) != term) && - !qmake_endOfLine(*(buffer + x + msg_len)); ++msg_len); + !qmake_endOfLine(*(buffer + x + msg_len)); ++msg_len) ; *(buffer + x + msg_len) = '\0'; debug_msg(0, "%s:%d %s -- %s", file->file.local().toLatin1().constData(), line_count, keyword, buffer+x); x += msg_len; @@ -706,7 +706,7 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file) buffer = getBuffer(fst.st_size); for(int have_read = buffer_len = 0; (have_read = QT_READ(fd, buffer + buffer_len, fst.st_size - buffer_len)); - buffer_len += have_read); + buffer_len += have_read) ; QT_CLOSE(fd); } @@ -720,7 +720,7 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file) ++x; if(buffer_len >= x) { if(*(buffer + x) == '/') { //c++ style comment - for(;x < buffer_len && !qmake_endOfLine(*(buffer + x)); ++x); + for(;x < buffer_len && !qmake_endOfLine(*(buffer + x)); ++x) ; } else if(*(buffer + x) == '*') { //c style comment for(++x; x < buffer_len; ++x) { if(*(buffer + x) == 't' || *(buffer + x) == 'q') { //ignore diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index caee2db..4d610af 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -1515,7 +1515,7 @@ void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &ico if (!numberOfIcons.isEmpty()) { bool ok; numberOfIcons = numberOfIcons.simplified(); - int tmp = numberOfIcons.toInt(&ok); + numberOfIcons.toInt(&ok); if (!ok) { numberOfIcons.clear(); iconFile.clear(); diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp index efdf8ac..9d3b4c6 100644 --- a/qmake/generators/win32/winmakefile.cpp +++ b/qmake/generators/win32/winmakefile.cpp @@ -467,11 +467,12 @@ void Win32MakefileGenerator::processRcFileVar() resFile.replace(".rc", Option::res_ext); project->values("RES_FILE").prepend(fileInfo(resFile).fileName()); - if (!project->values("OBJECTS_DIR").isEmpty()) + if (!project->values("OBJECTS_DIR").isEmpty()) { if(project->isActiveConfig("staticlib")) project->values("RES_FILE").first().prepend(fileInfo(project->values("DESTDIR").first()).absoluteFilePath() + Option::dir_sep); else project->values("RES_FILE").first().prepend(project->values("OBJECTS_DIR").first() + Option::dir_sep); + } project->values("RES_FILE").first() = Option::fixPathToTargetOS(project->values("RES_FILE").first(), false, false); project->values("POST_TARGETDEPS") += project->values("RES_FILE"); project->values("CLEAN_FILES") += project->values("RES_FILE"); diff --git a/qmake/meta.cpp b/qmake/meta.cpp index 1c71d60..5b36682 100644 --- a/qmake/meta.cpp +++ b/qmake/meta.cpp @@ -119,10 +119,11 @@ QMakeMetaInfo::findLib(QString lib) } } } - if(ret.isNull()) + if(ret.isNull()) { debug_msg(2, "QMakeMetaInfo: Cannot find info file for %s", lib.toLatin1().constData()); - else + } else { debug_msg(2, "QMakeMetaInfo: Found info file %s for %s", ret.toLatin1().constData(), lib.toLatin1().constData()); + } return ret; } diff --git a/qmake/option.cpp b/qmake/option.cpp index 9577a28..5522a80 100644 --- a/qmake/option.cpp +++ b/qmake/option.cpp @@ -630,8 +630,8 @@ Option::fixString(QString string, uchar flags) string = string.replace('/', Option::dir_sep).replace('\\', Option::dir_sep); } - if (string.startsWith("\"") && string.endsWith("\"") || - string.startsWith("\'") && string.endsWith("\'")) + if ((string.startsWith("\"") && string.endsWith("\"")) || + (string.startsWith("\'") && string.endsWith("\'"))) string = string.mid(1, string.length()-2); //cache -- cgit v0.12 From 470b2de3e24b8eca056a31728a5e1039a9a25d79 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 18 Dec 2009 15:22:42 +0100 Subject: qmake: subdirs template: make distclean target use QMAKE_DISTCLEAN patch by David Faure Reviewed-by: mariusSO --- qmake/generators/makefile.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index f1f2503..69e1d8a 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -2536,6 +2536,7 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QListisActiveConfig("no_empty_targets")) { t << "\t" << "@cd ." << endl; } -- cgit v0.12 From 94f5f21ac88de0d940d6ac27d222f1ef8e66d939 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Mon, 1 Feb 2010 18:03:06 +0100 Subject: Assert failure when setting a widget focus proxy as its successor in tab order Now we check that and skip it from the tab list. Auto-test included. Reviewed-by: leo Task-number: QTBUG-7532 --- src/gui/kernel/qwidget.cpp | 2 ++ tests/auto/qwidget/tst_qwidget.cpp | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index ffad38b..4054d2a 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -6414,6 +6414,8 @@ void QWidget::setTabOrder(QWidget* first, QWidget *second) first = fp; } + if (fp == second) + return; if (QWidget *sp = second->focusProxy()) second = sp; diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index ea90ae3..1fb323e 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -396,6 +396,8 @@ private slots: void focusProxyAndInputMethods(); void scrollWithoutBackingStore(); + void taskQTBUG_7532_tabOrderWithFocusProxy(); + private: bool ensureScreenSize(int width, int height); QWidget *testWidget; @@ -9783,5 +9785,17 @@ void tst_QWidget::scrollWithoutBackingStore() QCOMPARE(child.pos(),QPoint(25,25)); } +void tst_QWidget::taskQTBUG_7532_tabOrderWithFocusProxy() +{ + QWidget w; + w.setFocusPolicy(Qt::TabFocus); + QWidget *fp = new QWidget(&w); + fp->setFocusPolicy(Qt::TabFocus); + w.setFocusProxy(fp); + QWidget::setTabOrder(&w, fp); + + // No Q_ASSERT, then it's allright. +} + QTEST_MAIN(tst_QWidget) #include "tst_qwidget.moc" -- cgit v0.12 From 9258959f4f81b9c3efa4418aa344a5be5f9d12ab Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Mon, 1 Feb 2010 19:55:07 +0100 Subject: Fix QTBUG_7714_fullUpdateDiscardingOpacityUpdate2 autotest in qws-linux The two views were displayed on top of each other, so some repaints were not triggered. --- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index ae038e7..7b54a3b 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -9978,6 +9978,8 @@ void tst_QGraphicsItem::QTBUG_7714_fullUpdateDiscardingOpacityUpdate2() origView.show(); QTest::qWaitForWindowShown(&origView); + origView.setGeometry(origView.width() + 20, 20, + origView.width(), origView.height()); parentGreen->setFlag(QGraphicsItem::ItemIgnoresTransformations); -- cgit v0.12 From 5a64033f89e07505bb77d3c172597b8df3cbd762 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 1 Feb 2010 21:29:47 +0100 Subject: Fixed text rendering via scaled QPainter on rasterPaintEngine / Symbian Text rendering in Qt for Symbian looks very bad on a scaled QPainter. Instead of simply using a Symbian font with the right size it followed the code path that is usually used for "tricky transformation": Use the glyph outlines and rasterize them in Qt as QPainterPath. That's slow and especially ugly on Symbian since we do not (yet) get the glyph outlines from Symbian. This patch adds QFontEngineS60::setFontScale() so that QFontEngineS60 has one additional native font handle with the scaled size. The raster paint engine will call that function in case that the painter is scaled. Since we already have QFontEngineS60 specific code in the raster paint engine, this patch did not have to add #ifdefs. http://bugreports.qt.nokia.com/browse/QTBUG-7614 Task-number: QTBUG-7614 Reviewed-by: Jason Barron modified: gui/painting/qpaintengine_raster.cpp modified: gui/text/qfontengine_s60.cpp modified: gui/text/qfontengine_s60_p.h --- src/gui/painting/qpaintengine_raster.cpp | 9 ++++- src/gui/text/qfontengine_s60.cpp | 68 ++++++++++++++++++++++++-------- src/gui/text/qfontengine_s60_p.h | 10 ++++- 3 files changed, 68 insertions(+), 19 deletions(-) diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index 3f2322e..bc56ed0 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -3081,6 +3081,8 @@ void QRasterPaintEngine::drawGlyphsS60(const QPointF &p, const QTextItemInt &ti) QVarLengthArray glyphs; QTransform matrix = s->matrix; matrix.translate(p.x(), p.y()); + if (matrix.type() == QTransform::TxScale) + fe->setFontScale(matrix.m11()); ti.fontEngine->getGlyphPositions(ti.glyphs, matrix, ti.flags, glyphs, positions); const QFixed aliasDelta = QFixed::fromReal(aliasedCoordinateDelta); @@ -3097,6 +3099,9 @@ void QRasterPaintEngine::drawGlyphsS60(const QPointF &p, const QTextItemInt &ti) alphaPenBlt(glyphBitmapBytes, glyphBitmapSize.iWidth, 8, x, y, glyphBitmapSize.iWidth, glyphBitmapSize.iHeight); } + if (matrix.type() == QTransform::TxScale) + fe->setFontScale(1.0); + return; } #endif // Q_OS_SYMBIAN && QT_NO_FREETYPE @@ -3269,7 +3274,9 @@ void QRasterPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textIte } #elif defined (Q_OS_SYMBIAN) && defined(QT_NO_FREETYPE) // Q_WS_WIN || Q_WS_MAC - if (s->matrix.type() <= QTransform::TxTranslate) { + if (s->matrix.type() <= QTransform::TxTranslate + || (s->matrix.type() == QTransform::TxScale + && (qFuzzyCompare(s->matrix.m11(), s->matrix.m22())))) { drawGlyphsS60(p, ti); return; } diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp index 4625667..9dd4af7 100644 --- a/src/gui/text/qfontengine_s60.cpp +++ b/src/gui/text/qfontengine_s60.cpp @@ -129,26 +129,62 @@ static inline unsigned int getChar(const QChar *str, int &i, const int len) return uc; } +CFont *QFontEngineS60::fontWithSize(qreal size) const +{ + CFont *result = 0; + TFontSpec fontSpec(qt_QString2TPtrC(QFontEngine::fontDef.family), TInt(size)); + fontSpec.iFontStyle.SetBitmapType(EAntiAliasedGlyphBitmap); + fontSpec.iFontStyle.SetPosture(QFontEngine::fontDef.style == QFont::StyleNormal?EPostureUpright:EPostureItalic); + fontSpec.iFontStyle.SetStrokeWeight(QFontEngine::fontDef.weight > QFont::Normal?EStrokeWeightBold:EStrokeWeightNormal); + const TInt errorCode = S60->screenDevice()->GetNearestFontToDesignHeightInPixels(result, fontSpec); + Q_ASSERT(result && (errorCode == 0)); + return result; +} + +void QFontEngineS60::setFontScale(qreal scale) +{ + if (qFuzzyCompare(scale, qreal(1))) { + if (!m_originalFont) + m_originalFont = fontWithSize(m_originalFontSizeInPixels); + m_activeFont = m_originalFont; + } else { + const qreal scaledFontSizeInPixels = m_originalFontSizeInPixels * scale; + if (!m_scaledFont || + (TInt(scaledFontSizeInPixels) != TInt(m_scaledFontSizeInPixels))) { + releaseFont(m_scaledFont); + m_scaledFontSizeInPixels = scaledFontSizeInPixels; + m_scaledFont = fontWithSize(m_scaledFontSizeInPixels); + } + m_activeFont = m_scaledFont; + } +} + +void QFontEngineS60::releaseFont(CFont *&font) +{ + if (font) { + S60->screenDevice()->ReleaseFont(font); + font = 0; + } +} + QFontEngineS60::QFontEngineS60(const QFontDef &request, const QFontEngineS60Extensions *extensions) : m_extensions(extensions) + , m_originalFont(0) + , m_originalFontSizeInPixels((request.pixelSize >= 0)? + request.pixelSize:pointsToPixels(request.pointSize)) + , m_scaledFont(0) + , m_scaledFontSizeInPixels(0) + , m_activeFont(0) { QFontEngine::fontDef = request; - m_fontSizeInPixels = (request.pixelSize >= 0)? - request.pixelSize:pointsToPixels(request.pointSize); - - TFontSpec fontSpec(qt_QString2TPtrC(request.family), m_fontSizeInPixels); - fontSpec.iFontStyle.SetBitmapType(EAntiAliasedGlyphBitmap); - fontSpec.iFontStyle.SetPosture(request.style == QFont::StyleNormal?EPostureUpright:EPostureItalic); - fontSpec.iFontStyle.SetStrokeWeight(request.weight > QFont::Normal?EStrokeWeightBold:EStrokeWeightNormal); - const TInt errorCode = S60->screenDevice()->GetNearestFontToDesignHeightInPixels(m_font, fontSpec); - Q_ASSERT(errorCode == 0); - + setFontScale(1.0); cache_cost = sizeof(QFontEngineS60); } QFontEngineS60::~QFontEngineS60() { - S60->screenDevice()->ReleaseFont(m_font); + releaseFont(m_originalFont); + releaseFont(m_scaledFont); } bool QFontEngineS60::stringToCMap(const QChar *characters, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const @@ -251,12 +287,12 @@ glyph_metrics_t QFontEngineS60::boundingBox(glyph_t glyph) QFixed QFontEngineS60::ascent() const { - return m_font->FontMaxAscent(); + return m_originalFont->FontMaxAscent(); } QFixed QFontEngineS60::descent() const { - return m_font->FontMaxDescent(); + return m_originalFont->FontMaxDescent(); } QFixed QFontEngineS60::leading() const @@ -266,7 +302,7 @@ QFixed QFontEngineS60::leading() const qreal QFontEngineS60::maxCharWidth() const { - return m_font->MaxCharWidthInPixels(); + return m_originalFont->MaxCharWidthInPixels(); } const char *QFontEngineS60::name() const @@ -302,11 +338,11 @@ void QFontEngineS60::getCharacterData(glyph_t glyph, TOpenFontCharMetrics& metri const TUint specialCode = (TUint)glyph | 0x80000000; const CFont::TCharacterDataAvailability availability = - m_font->GetCharacterData(specialCode, metrics, bitmap, bitmapSize); + m_activeFont->GetCharacterData(specialCode, metrics, bitmap, bitmapSize); const glyph_t fallbackGlyph = '?'; if (availability != CFont::EAllCharacterData) { const CFont::TCharacterDataAvailability fallbackAvailability = - m_font->GetCharacterData(fallbackGlyph, metrics, bitmap, bitmapSize); + m_activeFont->GetCharacterData(fallbackGlyph, metrics, bitmap, bitmapSize); Q_ASSERT(fallbackAvailability == CFont::EAllCharacterData); } } diff --git a/src/gui/text/qfontengine_s60_p.h b/src/gui/text/qfontengine_s60_p.h index 4748497..78f8a9a 100644 --- a/src/gui/text/qfontengine_s60_p.h +++ b/src/gui/text/qfontengine_s60_p.h @@ -117,15 +117,21 @@ public: Type type() const; void getCharacterData(glyph_t glyph, TOpenFontCharMetrics& metrics, const TUint8*& bitmap, TSize& bitmapSize) const; + void setFontScale(qreal scale); private: friend class QFontPrivate; QFixed glyphAdvance(HB_Glyph glyph) const; + CFont *fontWithSize(qreal size) const; + static void releaseFont(CFont *&font); - CFont* m_font; const QFontEngineS60Extensions *m_extensions; - qreal m_fontSizeInPixels; + CFont* m_originalFont; + const qreal m_originalFontSizeInPixels; + CFont* m_scaledFont; + qreal m_scaledFontSizeInPixels; + CFont* m_activeFont; }; class QFontEngineMultiS60 : public QFontEngineMulti -- cgit v0.12 From 669d23710f449617a327cf38b7d09867b28335ff Mon Sep 17 00:00:00 2001 From: Rohan McGovern Date: Tue, 2 Feb 2010 14:38:11 +1000 Subject: Fixed maketestselftest failure with some MSVC versions. The generated `tests/auto/tmp' directory was causing this test to fail. --- tests/auto/maketestselftest/tst_maketestselftest.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/auto/maketestselftest/tst_maketestselftest.cpp b/tests/auto/maketestselftest/tst_maketestselftest.cpp index c674202..ef92c56 100644 --- a/tests/auto/maketestselftest/tst_maketestselftest.cpp +++ b/tests/auto/maketestselftest/tst_maketestselftest.cpp @@ -92,6 +92,9 @@ void tst_MakeTestSelfTest::auto_dot_pro_data() QStringList subdirs = dir.entryList(QDir::AllDirs|QDir::NoDotAndDotDot); foreach (const QString& subdir, subdirs) { + if (subdir == QString::fromLatin1("tmp")) { + continue; + } QTest::newRow(qPrintable(subdir)) << subdir; } } -- cgit v0.12 From 0db6060e54d8d5862ae0b7ffa4d3c187d30fd159 Mon Sep 17 00:00:00 2001 From: Rohan McGovern Date: Tue, 2 Feb 2010 15:25:15 +1000 Subject: Fixed compile of framecapture, simpleselector for symbian-abld winscw. `QT += network' is required to find the network headers. --- examples/webkit/framecapture/framecapture.pro | 2 +- examples/webkit/simpleselector/simpleselector.pro | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/webkit/framecapture/framecapture.pro b/examples/webkit/framecapture/framecapture.pro index 6f2f093..11960b9 100644 --- a/examples/webkit/framecapture/framecapture.pro +++ b/examples/webkit/framecapture/framecapture.pro @@ -1,4 +1,4 @@ -QT += webkit +QT += webkit network HEADERS = framecapture.h SOURCES = main.cpp \ diff --git a/examples/webkit/simpleselector/simpleselector.pro b/examples/webkit/simpleselector/simpleselector.pro index acd0ae7..3ddd6db 100644 --- a/examples/webkit/simpleselector/simpleselector.pro +++ b/examples/webkit/simpleselector/simpleselector.pro @@ -1,4 +1,4 @@ -QT += webkit +QT += webkit network FORMS = window.ui HEADERS = window.h SOURCES = main.cpp \ -- cgit v0.12 From f5f62c0bede7b4558b35b595b3b9bc11e0232fac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Mon, 18 Jan 2010 09:14:12 +0100 Subject: Improve raster graphics system performance on Mac. This fixes the qmlviewer "sluggish animations and lost mouse events" issue by making sure we don't block and wait for for the screen refresh when flushing the backing store to the screen. Review: Richard Moe Gustavsen Details: - Don't force repaints, flush the backingstore in response to a Cocoa paint/display events only. - Flush once per window. - Get the CGContext from the window (don't create a new one) - Don't call CGContextiFlush on the context. --- src/gui/kernel/qcocoasharedwindowmethods_mac_p.h | 20 ++++++++++++++++++++ src/gui/kernel/qcocoaview_mac.mm | 9 +++++---- src/gui/kernel/qt_cocoa_helpers_mac.mm | 2 +- src/gui/kernel/qwidget.cpp | 15 ++++++++++++++- src/gui/kernel/qwidget_mac.mm | 19 +++++++++++++++++++ src/gui/painting/qwindowsurface_raster.cpp | 4 +--- 6 files changed, 60 insertions(+), 9 deletions(-) diff --git a/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h b/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h index 1a265d0..7829a4e 100644 --- a/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h +++ b/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h @@ -51,6 +51,9 @@ NSPanel, while QCocoaWindow needs to inherit NSWindow rather than NSPanel). ****************************************************************************/ +#include +#include + QT_BEGIN_NAMESPACE extern Qt::MouseButton cocoaButton2QtButton(NSInteger buttonNum); // qcocoaview.mm extern QPointer qt_button_down; //qapplication_mac.cpp @@ -185,3 +188,20 @@ QT_END_NAMESPACE return [super frameViewClassForStyleMask:styleMask]; } +- (void)displayIfNeeded +{ + + QWidget *qwidget = [[QT_MANGLE_NAMESPACE(QCocoaWindowDelegate) sharedDelegate] qt_qwidgetForWindow:self]; + if (qwidget == 0) { + [super displayIfNeeded]; + return; + } + + if (QApplicationPrivate::graphicsSystem() != 0) { + if (QWidgetBackingStore *bs = qt_widget_private(qwidget)->maybeBackingStore()) + bs->sync(qwidget, qwidget->rect()); + } + [super displayIfNeeded]; +} + + diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index d255604..2c35be2 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -520,10 +520,11 @@ extern "C" { - (void)drawRect:(NSRect)aRect { if (QApplicationPrivate::graphicsSystem() != 0) { - if (QWidgetBackingStore *bs = qwidgetprivate->maybeBackingStore()) - bs->markDirty(qwidget->rect(), qwidget); - qwidgetprivate->syncBackingStore(qwidget->rect()); - return; + if (QWidgetBackingStore *bs = qwidgetprivate->maybeBackingStore()) { + // Drawing is handled on the window level + // See qcocoasharedwindowmethods_mac_p. + return; + } } CGContextRef cg = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort]; qwidgetprivate->hd = cg; diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm index e06a810..65c04e5 100644 --- a/src/gui/kernel/qt_cocoa_helpers_mac.mm +++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm @@ -1162,7 +1162,7 @@ CGContextRef qt_mac_graphicsContextFor(QWidget *widget) CGrafPtr port = GetWindowPort(qt_mac_window_for(widget)); QDBeginCGContext(port, &context); #else - CGContextRef context = (CGContextRef)[[NSGraphicsContext graphicsContextWithWindow:qt_mac_window_for(widget)] graphicsPort]; + CGContextRef context = reinterpret_cast([[qt_mac_window_for(widget) graphicsContext] graphicsPort]); #endif return context; } diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index ffad38b..78a25ac 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -1660,7 +1660,13 @@ void QWidgetPrivate::syncBackingStore() repaint_sys(dirty); dirty = QRegion(); } else if (QWidgetBackingStore *bs = maybeBackingStore()) { +#ifdef QT_MAC_USE_COCOA + Q_UNUSED(bs); + void qt_mac_set_needs_display(QWidget *, QRegion); + qt_mac_set_needs_display(q_func(), QRegion()); +#else bs->sync(); +#endif } } @@ -1668,8 +1674,15 @@ void QWidgetPrivate::syncBackingStore(const QRegion ®ion) { if (paintOnScreen()) repaint_sys(region); - else if (QWidgetBackingStore *bs = maybeBackingStore()) + else if (QWidgetBackingStore *bs = maybeBackingStore()) { +#ifdef QT_MAC_USE_COCOA + Q_UNUSED(bs); + void qt_mac_set_needs_display(QWidget *, QRegion); + qt_mac_set_needs_display(q_func(), region); +#else bs->sync(q_func(), region); +#endif + } } void QWidgetPrivate::setUpdatesEnabled_helper(bool enable) diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index 78c1562..b5888b4 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -565,6 +565,25 @@ inline static void qt_mac_set_window_group_to_popup(OSWindowRef window) } #endif +#ifdef QT_MAC_USE_COCOA +void qt_mac_set_needs_display(QWidget *widget, QRegion region) +{ + NSView *theNSView = qt_mac_nativeview_for(widget); + if (region.isNull()) { + [theNSView setNeedsDisplay:YES]; + return; + } + + QVector rects = region.rects(); + for (int i = 0; i Date: Tue, 2 Feb 2010 09:04:39 +0100 Subject: Webkit: Fix missing namespace. --- src/3rdparty/webkit/WebCore/platform/PopupMenu.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/3rdparty/webkit/WebCore/platform/PopupMenu.h b/src/3rdparty/webkit/WebCore/platform/PopupMenu.h index f2fffb5..c150a94 100644 --- a/src/3rdparty/webkit/WebCore/platform/PopupMenu.h +++ b/src/3rdparty/webkit/WebCore/platform/PopupMenu.h @@ -44,7 +44,9 @@ typedef struct HBITMAP__* HBITMAP; namespace WebCore { class QWebPopup; } +QT_BEGIN_NAMESPACE class QGraphicsProxyWidget; +QT_END_NAMESPACE #elif PLATFORM(GTK) typedef struct _GtkMenu GtkMenu; typedef struct _GtkMenuItem GtkMenuItem; -- cgit v0.12 From 3c5222864bba1767003d5f4dd2cdcdc31b8df71c Mon Sep 17 00:00:00 2001 From: axis Date: Tue, 2 Feb 2010 09:25:34 +0100 Subject: Added some missing documentation. --- src/corelib/plugin/qlibrary.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp index 7112043..f2c2384 100644 --- a/src/corelib/plugin/qlibrary.cpp +++ b/src/corelib/plugin/qlibrary.cpp @@ -539,6 +539,7 @@ bool QLibraryPrivate::loadPlugin() \row \i AIX \i \c .a \row \i HP-UX \i \c .sl, \c .so (HP-UXi) \row \i Mac OS X \i \c .dylib, \c .bundle, \c .so + \row \i Symbian \i \c .dll \endtable Trailing versioning numbers on Unix are ignored. -- cgit v0.12 From 7b7f13d7ee1d5f93ee63a635c875accce918896a Mon Sep 17 00:00:00 2001 From: axis Date: Tue, 2 Feb 2010 09:26:41 +0100 Subject: Fixed def files on Symbian. --- src/s60installs/bwins/QtGuiu.def | 4 ++-- src/s60installs/eabi/QtGuiu.def | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index da65230..155e3e7 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -5527,7 +5527,7 @@ EXPORTS ?invalidateChildrenSceneTransform@QGraphicsItemPrivate@@QAEXXZ @ 5526 NONAME ; void QGraphicsItemPrivate::invalidateChildrenSceneTransform(void) ?invalidateDepthRecursively@QGraphicsItemPrivate@@QAEXXZ @ 5527 NONAME ; void QGraphicsItemPrivate::invalidateDepthRecursively(void) ?invalidateFilter@QSortFilterProxyModel@@IAEXXZ @ 5528 NONAME ; void QSortFilterProxyModel::invalidateFilter(void) - ?invalidateGraphicsEffectsRecursively@QGraphicsItemPrivate@@QAEXXZ @ 5529 NONAME ; void QGraphicsItemPrivate::invalidateGraphicsEffectsRecursively(void) + ?invalidateGraphicsEffectsRecursively@QGraphicsItemPrivate@@QAEXXZ @ 5529 NONAME ABSENT ; void QGraphicsItemPrivate::invalidateGraphicsEffectsRecursively(void) ?invalidateGraphicsEffectsRecursively@QWidgetPrivate@@QAEXXZ @ 5530 NONAME ; void QWidgetPrivate::invalidateGraphicsEffectsRecursively(void) ?invalidateScene@QGraphicsView@@QAEXABVQRectF@@V?$QFlags@W4SceneLayer@QGraphicsScene@@@@@Z @ 5531 NONAME ; void QGraphicsView::invalidateScene(class QRectF const &, class QFlags) ?invalidateSizeCache@QWidgetItemV2@@AAEXXZ @ 5532 NONAME ; void QWidgetItemV2::invalidateSizeCache(void) @@ -9555,7 +9555,7 @@ EXPORTS ?setParent@QWidget@@QAEXPAV1@@Z @ 9554 NONAME ; void QWidget::setParent(class QWidget *) ?setParent@QWidget@@QAEXPAV1@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9555 NONAME ; void QWidget::setParent(class QWidget *, class QFlags) ?setParentItem@QGraphicsItem@@QAEXPAV1@@Z @ 9556 NONAME ; void QGraphicsItem::setParentItem(class QGraphicsItem *) - ?setParentItemHelper@QGraphicsItemPrivate@@QAEXPAVQGraphicsItem@@@Z @ 9557 NONAME ; void QGraphicsItemPrivate::setParentItemHelper(class QGraphicsItem *) + ?setParentItemHelper@QGraphicsItemPrivate@@QAEXPAVQGraphicsItem@@@Z @ 9557 NONAME ABSENT ; void QGraphicsItemPrivate::setParentItemHelper(class QGraphicsItem *) ?setParentLayoutItem@QGraphicsLayoutItem@@QAEXPAV1@@Z @ 9558 NONAME ; void QGraphicsLayoutItem::setParentLayoutItem(class QGraphicsLayoutItem *) ?setParent_sys@QWidgetPrivate@@QAEXPAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9559 NONAME ; void QWidgetPrivate::setParent_sys(class QWidget *, class QFlags) ?setPasswordCharacter@QLineControl@@QAEXABVQChar@@@Z @ 9560 NONAME ; void QLineControl::setPasswordCharacter(class QChar const &) diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 05f620c..a9a69aa 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -4671,7 +4671,7 @@ EXPORTS _ZN20QGraphicsItemPrivate18setTransformHelperERK10QTransform @ 4670 NONAME _ZN20QGraphicsItemPrivate18subFocusItemChangeEv @ 4671 NONAME _ZN20QGraphicsItemPrivate18updateAncestorFlagEN13QGraphicsItem16GraphicsItemFlagENS_12AncestorFlagEbb @ 4672 NONAME - _ZN20QGraphicsItemPrivate19setParentItemHelperEP13QGraphicsItem @ 4673 NONAME + _ZN20QGraphicsItemPrivate19setParentItemHelperEP13QGraphicsItem @ 4673 NONAME ABSENT _ZN20QGraphicsItemPrivate20removeExtraItemCacheEv @ 4674 NONAME _ZN20QGraphicsItemPrivate23appendGraphicsTransformEP18QGraphicsTransform @ 4675 NONAME _ZN20QGraphicsItemPrivate25movableAncestorIsSelectedEPK13QGraphicsItem @ 4676 NONAME @@ -11639,7 +11639,7 @@ EXPORTS _ZN19QGraphicsBlurEffect4drawEP8QPainter @ 11638 NONAME _ZN19QKeyEventTransition15setModifierMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 11639 NONAME _ZN20QGraphicsItemPrivate18siblingOrderChangeEv @ 11640 NONAME - _ZN20QGraphicsItemPrivate36invalidateGraphicsEffectsRecursivelyEv @ 11641 NONAME + _ZN20QGraphicsItemPrivate36invalidateGraphicsEffectsRecursivelyEv @ 11641 NONAME ABSENT _ZN21QMouseEventTransition14setHitTestPathERK12QPainterPath @ 11642 NONAME _ZN21QMouseEventTransition15setModifierMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 11643 NONAME _ZN22QGraphicsOpacityEffect4drawEP8QPainter @ 11644 NONAME -- cgit v0.12 From 787824cb4add4d45a0e90fd736a54e75fa048475 Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Tue, 2 Feb 2010 10:18:15 +0100 Subject: Fixed missing textures in the boxes demo. The boxes demo assumed that the current GL colour was the default white, but the GL2 paint engine set it to black. Fixed by resetting the colour to white in resetGLState(). Task-number: QTBUG-7779 Reviewed-by: Trond --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 35e95be..406112a 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -561,6 +561,7 @@ void QGL2PaintEngineExPrivate::resetGLState() glDisableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); glDisableVertexAttribArray(QT_VERTEX_COORDS_ATTR); glDisableVertexAttribArray(QT_OPACITY_ATTR); + glColor4f(1.0f, 1.0f, 1.0f, 1.0f); // color may have been changed by glVertexAttrib() } void QGL2PaintEngineEx::endNativePainting() -- cgit v0.12 From e8b6c949c006393ab690aa3e890cd48defc97b77 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 2 Feb 2010 11:06:59 +0100 Subject: Document that QModelIndex::child does not work for the root item Reviewed-by: Thierry --- src/corelib/kernel/qabstractitemmodel.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/corelib/kernel/qabstractitemmodel.cpp b/src/corelib/kernel/qabstractitemmodel.cpp index dbf422e..36e4af9 100644 --- a/src/corelib/kernel/qabstractitemmodel.cpp +++ b/src/corelib/kernel/qabstractitemmodel.cpp @@ -1006,6 +1006,9 @@ void QAbstractItemModelPrivate::columnsRemoved(const QModelIndex &parent, Returns the child of the model index that is stored in the given \a row and \a column. + \note This function does not work for an invalid model index which is often + used as the root index. + \sa parent(), sibling() */ -- cgit v0.12 From 54de7595a54e67efb60cdc9eb4c4ff15596c3763 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Tue, 2 Feb 2010 11:32:26 +0100 Subject: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( a733444d3be6605552471f047558927495ff62b7 ) Changes in WebKit/qt since the last update: Fix up cherry-pick of backup restoration fix --- src/3rdparty/webkit/VERSION | 2 +- src/3rdparty/webkit/WebCore/WebCore.pro | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index 2a3c73b..f627d9e 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -8,4 +8,4 @@ The commit imported was from the and has the sha1 checksum - afc4c208fe296f5a1dd0e73f2bd1273bd22d9b24 + a733444d3be6605552471f047558927495ff62b7 diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index f364d3b..7b0366d 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -6,6 +6,7 @@ symbian: { TARGET.EPOCALLOWDLLDATA=1 TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 // Min 128kB, Max 32MB TARGET.CAPABILITY = All -Tcb + TARGET.UID3 = 0x200267C2 webkitlibs.sources = QtWebKit.dll webkitlibs.path = /sys/bin @@ -23,7 +24,6 @@ symbian: { DEPLOYMENT += webkitlibs webkitbackup - TARGET.UID3 = 0x200267C2 # RO text (code) section in qtwebkit.dll exceeds allocated space for gcce udeb target. # Move RW-section base address to start from 0xE00000 instead of the toolchain default 0x400000. MMP_RULES += "LINKEROPTION armcc --rw-base 0xE00000" -- cgit v0.12 From 087d79578bf3e0c8cc6e53b5babb2e935a4b9c91 Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Tue, 2 Feb 2010 11:27:23 +0100 Subject: Add a warning when there are duplicate aliases in a resource file. It can be confusing later on when the wrong resource is accessed, and can easily be avoided by an early notice. Task-number: QTBUG-7812 Reviewed-by: hjk --- src/tools/rcc/rcc.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp index e41cd55..1f6e58f 100644 --- a/src/tools/rcc/rcc.cpp +++ b/src/tools/rcc/rcc.cpp @@ -544,6 +544,8 @@ bool RCCResourceLibrary::addFile(const QString &alias, const RCCFileInfo &file) const QString filename = nodes.at(nodes.size()-1); RCCFileInfo *s = new RCCFileInfo(file); s->m_parent = parent; + if (parent->m_children.contains(filename)) + qWarning("potential duplicate alias detected: '%s'", qPrintable(filename)); parent->m_children.insertMulti(filename, s); return true; } -- cgit v0.12 From 11bfc79b0f832f6544843ed13ef0efbcf51b22e9 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 2 Feb 2010 12:38:57 +0200 Subject: New Symbian signed sqlite3.sis with backup_registration.xml Sqlite3.sis was repackaged with backup_registration.xml to support device backup/restore on Symbian Task-number: QTBUG-7518 Reviewed-by: TrustMe --- src/s60installs/sqlite3.sis | Bin 286192 -> 286452 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/s60installs/sqlite3.sis b/src/s60installs/sqlite3.sis index 1785365..11e069e 100644 Binary files a/src/s60installs/sqlite3.sis and b/src/s60installs/sqlite3.sis differ -- cgit v0.12 From e4835d58381cd33fe067b05bfd6301d2246e3e67 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Tue, 2 Feb 2010 11:46:54 +0100 Subject: Fix missing non-unified toolbar margins on Mac The tool bar appearance have regressed in 4.6 for applications that do not utilize the unified tool bar appearance. This fix restores the margin and spacing to their 4.5 appearance. Task-number: QTBUG-7831 Reviewed-by: morten --- src/gui/styles/qmacstyle_mac.mm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm index 7a680f2..c2e5871 100644 --- a/src/gui/styles/qmacstyle_mac.mm +++ b/src/gui/styles/qmacstyle_mac.mm @@ -2411,7 +2411,10 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW ret = 0; break; case PM_ToolBarFrameWidth: - ret = 0; + ret = 1; + if (QMainWindow * mainWindow = qobject_cast(widget->parent())) + if (mainWindow->unifiedTitleAndToolBarOnMac()) + ret = 0; break; default: ret = QWindowsStyle::pixelMetric(metric, opt, widget); @@ -5715,12 +5718,16 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, break; case CT_ToolButton: if (widget && qobject_cast(widget->parentWidget())) { - sz.rwidth() += 4; - if (sz.height() <= 32) { - // Workaround strange HIToolBar bug when getting constraints. - sz.rheight() += 1; + if (QMainWindow * mainWindow = qobject_cast(widget->parent())) { + if (mainWindow->unifiedTitleAndToolBarOnMac()) { + sz.rwidth() += 4; + if (sz.height() <= 32) { + // Workaround strange HIToolBar bug when getting constraints. + sz.rheight() += 1; + } + return sz; + } } - return sz; } sz.rwidth() += 10; sz.rheight() += 10; -- cgit v0.12 From a8491158527e257142a4d7c5a7c86385f80a6d9e Mon Sep 17 00:00:00 2001 From: Aleksandar Sasha Babic Date: Tue, 2 Feb 2010 12:00:44 +0100 Subject: Revert "Using RunFast mode for RVCT" until compilation erro fixed. This reverts commit d43178ccaa38b87698e2f5a9fa0f2fb4e5f9f0ad. --- mkspecs/common/symbian/symbian.conf | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index 8760603..b1ef354 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -148,19 +148,3 @@ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v5.0.sis MMP_RULES -= PAGED } } - -QMAKE_CXXFLAGS_FAST_VFP.ARMCC = --fpmode fast -# [TODO] QMAKE_CXXFLAGS_FAST_VFP.GCCE = - -symbian { - armfpu = $$find(MMP_RULES, "ARMFPU") - !isEmpty(armfpu) { - vfpv2 = $$find(MMP_RULES, "vfpv2") - !isEmpty(vfpv2) { - # we will respect fpu setting obtained from configure, but, - # if vfpv2 or softvfp+vfpv2 used we want to force RunFast VFP mode - QMAKE_CXXFLAGS.ARMCC += $${QMAKE_CXXFLAGS_FAST_VFP.ARMCC} - # [TODO] QMAKE_CXXFLAGS.GCCE += $${QMAKE_CXXFLAGS_FAST_VFP.GCCE} - } - } -} -- cgit v0.12 From 36c0ffcae4f209d6524e943b3edd09c2c5890536 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Tue, 2 Feb 2010 12:12:15 +0100 Subject: Remove PrintDialog frame on Mac On the mac, toplevel windows should not have a frame. This patch simply removes the frame on mac only. Reviewed-by: trond --- src/gui/widgets/qprintpreviewwidget.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gui/widgets/qprintpreviewwidget.cpp b/src/gui/widgets/qprintpreviewwidget.cpp index 747a227..45b15ef 100644 --- a/src/gui/widgets/qprintpreviewwidget.cpp +++ b/src/gui/widgets/qprintpreviewwidget.cpp @@ -151,7 +151,11 @@ class GraphicsView : public QGraphicsView public: GraphicsView(QWidget* parent = 0) : QGraphicsView(parent) - {} + { +#ifdef Q_WS_MAC + setFrameStyle(QFrame::NoFrame); +#endif + } signals: void resized(); -- cgit v0.12 From 5c8be23e6b5fa732f4c799c783a8b22a85992211 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Tue, 2 Feb 2010 12:13:07 +0100 Subject: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( 69dd29fbeb12d076741dce70ac6bc155101ccd6f ) Changes in WebKit/qt since the last update: --- src/3rdparty/webkit/VERSION | 2 +- src/3rdparty/webkit/WebCore/ChangeLog | 15 +++++++++++++++ .../webkit/WebCore/platform/qt/RenderThemeQt.cpp | 22 +++++++++++++--------- .../webkit/WebCore/platform/qt/RenderThemeQt.h | 2 +- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index f627d9e..c304876 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -8,4 +8,4 @@ The commit imported was from the and has the sha1 checksum - a733444d3be6605552471f047558927495ff62b7 + 69dd29fbeb12d076741dce70ac6bc155101ccd6f diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index bded3d8..18d119a 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,18 @@ +2010-02-01 Andreas Kling + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Use the fallback style on Maemo 5 + + https://bugs.webkit.org/show_bug.cgi?id=34376 + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::RenderThemeQt): + (WebCore::RenderThemeQt::fallbackStyle): + (WebCore::RenderThemeQt::qStyle): + (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists): + * platform/qt/RenderThemeQt.h: + 2010-01-29 Oswald Buddenhagen Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp index 501a28b..6a1eee8 100644 --- a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp @@ -125,7 +125,6 @@ PassRefPtr RenderTheme::themeForPage(Page* page) RenderThemeQt::RenderThemeQt(Page* page) : RenderTheme() , m_page(page) - , m_fallbackStyle(0) { QPushButton button; button.setAttribute(Qt::WA_MacSmallSize); @@ -135,6 +134,8 @@ RenderThemeQt::RenderThemeQt(Page* page) #ifdef Q_WS_MAC m_buttonFontPixelSize = fontInfo.pixelSize(); #endif + + m_fallbackStyle = QStyleFactory::create(QLatin1String("windows")); } RenderThemeQt::~RenderThemeQt() @@ -143,19 +144,17 @@ RenderThemeQt::~RenderThemeQt() } // for some widget painting, we need to fallback to Windows style -QStyle* RenderThemeQt::fallbackStyle() +QStyle* RenderThemeQt::fallbackStyle() const { - if (!m_fallbackStyle) - m_fallbackStyle = QStyleFactory::create(QLatin1String("windows")); - - if (!m_fallbackStyle) - m_fallbackStyle = QApplication::style(); - - return m_fallbackStyle; + return (m_fallbackStyle) ? m_fallbackStyle : QApplication::style(); } QStyle* RenderThemeQt::qStyle() const { +#ifdef Q_WS_MAEMO_5 + return fallbackStyle(); +#endif + if (m_page) { ChromeClientQt* client = static_cast(m_page->chrome()->client()); @@ -758,6 +757,10 @@ ControlPart RenderThemeQt::applyTheme(QStyleOption& option, RenderObject* o) con if (result == RadioPart || result == CheckboxPart) option.state |= (isChecked(o) ? QStyle::State_On : QStyle::State_Off); +#ifdef Q_WS_MAEMO_5 + static QPalette lightGrayPalette(Qt::lightGray); + option.palette = lightGrayPalette; +#else // If the owner widget has a custom palette, use it Page* page = o->document()->page(); if (page) { @@ -766,6 +769,7 @@ ControlPart RenderThemeQt::applyTheme(QStyleOption& option, RenderObject* o) con if (pageClient) option.palette = pageClient->palette(); } +#endif return result; } diff --git a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h index 617c875..19337ac 100644 --- a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h +++ b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h @@ -138,7 +138,7 @@ private: void setPopupPadding(RenderStyle*) const; QStyle* qStyle() const; - QStyle* fallbackStyle(); + QStyle* fallbackStyle() const; Page* m_page; -- cgit v0.12 From 7ced77b654eb46af1221a55e315795c1be1753a0 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Tue, 2 Feb 2010 12:17:19 +0100 Subject: Fixed potential crash in mac style --- src/gui/styles/qmacstyle_mac.mm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm index c2e5871..aab16cb 100644 --- a/src/gui/styles/qmacstyle_mac.mm +++ b/src/gui/styles/qmacstyle_mac.mm @@ -2412,9 +2412,11 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW break; case PM_ToolBarFrameWidth: ret = 1; - if (QMainWindow * mainWindow = qobject_cast(widget->parent())) - if (mainWindow->unifiedTitleAndToolBarOnMac()) - ret = 0; + if (widget) { + if (QMainWindow * mainWindow = qobject_cast(widget->parent())) + if (mainWindow->unifiedTitleAndToolBarOnMac()) + ret = 0; + } break; default: ret = QWindowsStyle::pixelMetric(metric, opt, widget); -- cgit v0.12 From db5f673ccf5a56772ff83cad52beab7b14cd9520 Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Tue, 2 Feb 2010 12:46:52 +0100 Subject: fix whitespace --- configure | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure b/configure index dc23392..9a3ee32 100755 --- a/configure +++ b/configure @@ -3369,10 +3369,10 @@ Configure options: -debug-and-release . Compile and link two versions of Qt, with and without debugging turned on (Mac only). - -developer-build.... Compile and link Qt with Qt developer options (including auto-tests exporting) + -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting) - -opensource......... Compile and link the Open-Source Edition of Qt. - -commercial......... Compile and link the Commercial Edition of Qt. + -opensource ........ Compile and link the Open-Source Edition of Qt. + -commercial ........ Compile and link the Commercial Edition of Qt. * -shared ............ Create and use shared Qt libraries. @@ -3765,7 +3765,7 @@ Qt/X11 only: Requires fontconfig/fontconfig.h, libfontconfig, freetype.h and libfreetype. - $XIN -no-xinput.......... Do not compile Xinput support. + $XIN -no-xinput ......... Do not compile Xinput support. $XIY -xinput ............ Compile Xinput support. This also enabled tablet support which requires IRIX with wacom.h and libXi or XFree86 with X11/extensions/XInput.h and libXi. -- cgit v0.12 From 64581bfcb285a2c51e5bb0facd9dc82fb53c6875 Mon Sep 17 00:00:00 2001 From: Iain Date: Tue, 2 Feb 2010 12:10:01 +0000 Subject: Revert "Update default FPU flags on Symbian to be softvfp+vfpv2" RVCT2.2 build 686 crashes when compiling the drawhelpers with VFPv2 enabled. Until compiler workaround found, back out the change. This reverts commit 297e84fcfed524687455d3d94161bf2a32f62d37. Conflicts: configure.exe --- configure.exe | Bin 1178112 -> 1178112 bytes tools/configure/configureapp.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.exe b/configure.exe index b89999b..21fdcfa 100644 Binary files a/configure.exe and b/configure.exe differ diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 342e47b..8d1b640 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -1482,7 +1482,7 @@ void Configure::applySpecSpecifics() dictionary[ "QT_HOST_PREFIX" ] = dictionary[ "QT_INSTALL_PREFIX" ]; dictionary[ "QT_INSTALL_PREFIX" ] = ""; dictionary[ "QT_INSTALL_PLUGINS" ] = "\\resource\\qt\\plugins"; - dictionary[ "ARM_FPU_TYPE" ] = "softvfp+vfpv2"; + dictionary[ "ARM_FPU_TYPE" ] = "softvfp"; dictionary[ "SQL_SQLITE" ] = "yes"; dictionary[ "SQL_SQLITE_LIB" ] = "system"; -- cgit v0.12 From 3cecf1548ff6f6255bd3d6163758fe7950c0a2f9 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Tue, 2 Feb 2010 14:00:21 +0200 Subject: Introduce of QScriptValue autotest generator. The patch contain the QScriptValue autotest suite generator. Based on an input it can generate expected tests results and simple tests cases. The results are kept inside generated autotest implementation file (cpp), which could be included by main test file (tst_qscriptvalue.cpp). Generator gives great coverage for isXXX, toXXX, comparison methods. The generator should be used manually and it is not compiled by default. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/testgen/data.txt | 116 ++++ tests/auto/qscriptvalue/testgen/gen.py | 203 +++++++ tests/auto/qscriptvalue/testgen/main.cpp | 40 ++ tests/auto/qscriptvalue/testgen/testgen.pro | 18 + tests/auto/qscriptvalue/testgen/testgenerator.cpp | 644 ++++++++++++++++++++++ tests/auto/qscriptvalue/testgen/testgenerator.h | 55 ++ 6 files changed, 1076 insertions(+) create mode 100644 tests/auto/qscriptvalue/testgen/data.txt create mode 100755 tests/auto/qscriptvalue/testgen/gen.py create mode 100644 tests/auto/qscriptvalue/testgen/main.cpp create mode 100644 tests/auto/qscriptvalue/testgen/testgen.pro create mode 100644 tests/auto/qscriptvalue/testgen/testgenerator.cpp create mode 100644 tests/auto/qscriptvalue/testgen/testgenerator.h diff --git a/tests/auto/qscriptvalue/testgen/data.txt b/tests/auto/qscriptvalue/testgen/data.txt new file mode 100644 index 0000000..8e7026e --- /dev/null +++ b/tests/auto/qscriptvalue/testgen/data.txt @@ -0,0 +1,116 @@ +# Data set for QScriptValue autotest. + +# Each line is a c++ code that should return a QScriptValue object. +# Lines that are empty or start with '#' will be ignored + +QScriptValue() + +#Unbound values +QScriptValue(QScriptValue::UndefinedValue) +QScriptValue(QScriptValue::NullValue) +QScriptValue(true) +QScriptValue(false) +QScriptValue(int(122)) +QScriptValue(uint(124)) +QScriptValue(0) +QScriptValue(0.0) +QScriptValue(123.0) +QScriptValue(6.37e-8) +QScriptValue(-6.37e-8) +QScriptValue(0x43211234) +QScriptValue(0x10000) +QScriptValue(0x10001) +QScriptValue(qSNaN()) +QScriptValue(qQNaN()) +QScriptValue(qInf()) +QScriptValue(-qInf()) +QScriptValue("NaN") +QScriptValue("Infinity") +QScriptValue("-Infinity") +QScriptValue("ciao") +QScriptValue(QString::fromLatin1("ciao")) +QScriptValue(QString("")) +QScriptValue(QString()) +QScriptValue(QString("0")) +QScriptValue(QString("123")) +QScriptValue(QString("12.4")) + +#Unbound values (bound to a null engine) +QScriptValue(0, QScriptValue::UndefinedValue) +QScriptValue(0, QScriptValue::NullValue) +QScriptValue(0, true) +QScriptValue(0, false) +QScriptValue(0, int(122)) +QScriptValue(0, uint(124)) +QScriptValue(0, 0) +QScriptValue(0, 0.0) +QScriptValue(0, 123.0) +QScriptValue(0, 6.37e-8) +QScriptValue(0, -6.37e-8) +QScriptValue(0, 0x43211234) +QScriptValue(0, 0x10000) +QScriptValue(0, 0x10001) +QScriptValue(0, qSNaN()) +QScriptValue(0, qQNaN()) +QScriptValue(0, qInf()) +QScriptValue(0, -qInf()) +QScriptValue(0, "NaN") +QScriptValue(0, "Infinity") +QScriptValue(0, "-Infinity") +QScriptValue(0, "ciao") +QScriptValue(0, QString::fromLatin1("ciao")) +QScriptValue(0, QString("")) +QScriptValue(0, QString()) +QScriptValue(0, QString("0")) +QScriptValue(0, QString("123")) +QScriptValue(0, QString("12.3")) + +#Bound values +QScriptValue(engine, QScriptValue::UndefinedValue) +QScriptValue(engine, QScriptValue::NullValue) +QScriptValue(engine, true) +QScriptValue(engine, false) +QScriptValue(engine, int(122)) +QScriptValue(engine, uint(124)) +QScriptValue(engine, 0) +QScriptValue(engine, 0.0) +QScriptValue(engine, 123.0) +QScriptValue(engine, 6.37e-8) +QScriptValue(engine, -6.37e-8) +QScriptValue(engine, 0x43211234) +QScriptValue(engine, 0x10000) +QScriptValue(engine, 0x10001) +QScriptValue(engine, qSNaN()) +QScriptValue(engine, qQNaN()) +QScriptValue(engine, qInf()) +QScriptValue(engine, -qInf()) +QScriptValue(engine, "NaN") +QScriptValue(engine, "Infinity") +QScriptValue(engine, "-Infinity") +QScriptValue(engine, "ciao") +QScriptValue(engine, QString::fromLatin1("ciao")) +QScriptValue(engine, QString("")) +QScriptValue(engine, QString()) +QScriptValue(engine, QString("0")) +QScriptValue(engine, QString("123")) +QScriptValue(engine, QString("1.23")) + +# evaluate +engine->evaluate("[]") +engine->evaluate("{}") +engine->evaluate("Object.prototype") +engine->evaluate("Date.prototype") +engine->evaluate("Array.prototype") +engine->evaluate("Function.prototype") +engine->evaluate("Error.prototype") +engine->evaluate("Object") +engine->evaluate("Array") +engine->evaluate("Number") +engine->evaluate("Function") +engine->evaluate("(function() { return 1; })") +engine->evaluate("(function() { return 'ciao'; })") +engine->evaluate("(function() { throw new Error('foo'); })") +engine->evaluate("/foo/") +engine->evaluate("new Object()") +engine->evaluate("new Array()") +engine->evaluate("new Error()") diff --git a/tests/auto/qscriptvalue/testgen/gen.py b/tests/auto/qscriptvalue/testgen/gen.py new file mode 100755 index 0000000..fddb853 --- /dev/null +++ b/tests/auto/qscriptvalue/testgen/gen.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +#Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + +#This library is free software; you can redistribute it and/or +#modify it under the terms of the GNU Library General Public +#License as published by the Free Software Foundation; either +#version 2 of the License, or (at your option) any later version. + +#This library 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 +#Library General Public License for more details. + +#You should have received a copy of the GNU Library General Public License +#along with this library; see the file COPYING.LIB. If not, write to +#the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +#Boston, MA 02110-1301, USA. + +from __future__ import with_statement +from string import Template + +class Options(): + """Option manager. It parse and check all paramteres, set internal variables.""" + def __init__(self, args): + import logging as log + log.basicConfig() + #comand line options parser + from optparse import OptionParser + #load some directory searching stuff + import os.path, sys + + opt = OptionParser("%prog [options] path_to_input_file path_to_output_file.") + + self._o, self._a = opt.parse_args(args) + + try: + if not (os.path.exists(self._a[0])): + raise Exception("Path doesn't exist") + if len(self._a) != 2: + raise IndexError("Only two files!") + self._o.ipath = self._a[0] + self._o.opath = self._a[1] + except IndexError: + log.error("Bad usage. Please try -h or --help") + sys.exit(1) + except Exception: + log.error("Path '" + self._a[0] + " or " + self._a[1] + "' don't exist") + sys.exit(2) + + def __getattr__(self, attr): + """map all options properties into this object (remove one level of indirection)""" + return getattr(self._o, attr) + + +mainTempl = Template("""/* + Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +//////////////////////////////////////////////////////////////// +// THIS FILE IS AUTOGENERATED, ALL MODIFICATIONS WILL BE LAST // +//////////////////////////////////////////////////////////////// + +#include "testgenerator.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + + +typedef bool (QScriptValue::*ComparisionType) (const QScriptValue&) const; +static QVector compare(ComparisionType compare, QScriptValue value, const QScriptValueList& values) { + QVector result; + result.reserve(${count}); + + QScriptValueList::const_iterator i = values.constBegin(); + for (; i != values.constEnd(); ++i) { + result << (value.*compare)(*i); + } + return result; +} + +static void dump(QDataStream& out, QScriptValue& value, const QString& expression, const QScriptValueList& allValues) +{ + out << QString(expression); + + out << value.isValid(); + out << value.isBool(); + out << value.isBoolean(); + out << value.isNumber(); + out << value.isFunction(); + out << value.isNull(); + out << value.isString(); + out << value.isUndefined(); + out << value.isVariant(); + out << value.isQObject(); + out << value.isQMetaObject(); + out << value.isObject(); + out << value.isDate(); + out << value.isRegExp(); + out << value.isArray(); + out << value.isError(); + + out << value.toString(); + out << value.toNumber(); + out << value.toBool(); + out << value.toBoolean(); + out << value.toInteger(); + out << value.toInt32(); + out << value.toUInt32(); + out << value.toUInt16(); + + out << compare(&QScriptValue::equals, value, allValues); + out << compare(&QScriptValue::strictlyEquals, value, allValues); + out << compare(&QScriptValue::lessThan, value, allValues); + out << compare(&QScriptValue::instanceOf, value, allValues); + + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); +} + +void TestGenerator::prepareData() +{ + QScriptEngine* engine = new QScriptEngine; + + QScriptValueList allValues; + allValues << ${values}; + QVector allDataTags; + allDataTags.reserve(${count}); + allDataTags << ${dataTags}; + QDataStream out(&m_tempFile); + out << allDataTags; + + for(unsigned i = 0; i < ${count}; ++i) + dump(out, allValues[i], allDataTags[i], allValues); + + delete engine; +} +""") +qsvTempl = Template(""" + { + QScriptValue value = ${expr}; + dump(out, value, "${expr_esc}", allValues); + }""") + + + +if __name__ == '__main__': + import sys + o = Options(sys.argv[1:]) + out = [] + qsv = [] + # load input file + with open(o.ipath) as f: + for row in f.readlines(): + qsv.append(row) + + #skip comments and empty lines + qsv = filter(lambda w: len(w.strip()) and not w.startswith('#'), qsv) + + escape = lambda w: w.replace('\\','\\\\').replace('"','\\"') + + for row in qsv: + row = row.replace('\n','') + row_esc = escape(row) + out.append(qsvTempl.substitute(expr = row, expr_esc = row_esc)) + + result = mainTempl.substitute(dump= "".join(out) \ + , values = (11 * ' ' + '<< ').join(qsv) \ + , count = len(qsv) \ + , dataTags = (11 * ' ' + '<< ').join(map(lambda w: '"' + escape(w.replace('\n','')) + '"\n', qsv))) + + with open(o.opath, 'w') as f: + f.write(result) + + diff --git a/tests/auto/qscriptvalue/testgen/main.cpp b/tests/auto/qscriptvalue/testgen/main.cpp new file mode 100644 index 0000000..389a725 --- /dev/null +++ b/tests/auto/qscriptvalue/testgen/main.cpp @@ -0,0 +1,40 @@ +/* + Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "testgenerator.h" +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + QCoreApplication a(argc, argv); + + if (argc != 2) { + qWarning() << "./prog outputfile"; + exit(1); + } + + //Procced + TestGenerator gen(a.arguments()[1]); + gen.run(); + + return 0; +} diff --git a/tests/auto/qscriptvalue/testgen/testgen.pro b/tests/auto/qscriptvalue/testgen/testgen.pro new file mode 100644 index 0000000..47709a8 --- /dev/null +++ b/tests/auto/qscriptvalue/testgen/testgen.pro @@ -0,0 +1,18 @@ +QT += core script +TARGET = testgen +CONFIG += console +CONFIG -= app_bundle +TEMPLATE = app + +SOURCES += main.cpp \ + testgenerator.cpp +HEADERS += testgenerator.h + + +INPUT_DATASET = data.txt +dataset.name = Generating QScraiptValue autotest's dataset +dataset.output = autogenerated.cpp +dataset.commands = python gen.py data.txt autogenerated.cpp +dataset.input = INPUT_DATASET +dataset.variable_out = SOURCES +QMAKE_EXTRA_COMPILERS += dataset diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.cpp b/tests/auto/qscriptvalue/testgen/testgenerator.cpp new file mode 100644 index 0000000..199e84b --- /dev/null +++ b/tests/auto/qscriptvalue/testgen/testgenerator.cpp @@ -0,0 +1,644 @@ +/* + Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "testgenerator.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +void TestGenerator::save(const QString& data) +{ + QTextStream out(&m_ofile); + out << data; +} + +static QString escape(QString txt) +{ + return txt.replace("\\","\\\\").replace("\"","\\\"").replace("\n","\\n"); +} + +template +QString prepareToInsert(T value) {return QString::fromAscii("\"") + escape(value) + "\"";} +template<> +QString prepareToInsert(qsreal value) +{ + if (qIsNaN(value)) + return "qQNaN()"; + if (qIsInf(value)) + return "qInf()"; + return QString::number(value, 'g', 16); +} +template<> +QString prepareToInsert(qint32 value) {return QString::number(value);} +template<> +QString prepareToInsert(quint32 value) {return QString::number(value);} +template<> +QString prepareToInsert(quint16 value) {return QString::number(value);} +template<> +QString prepareToInsert(bool value) {return value ? "true" : "false";} +template<> +QString prepareToInsert(QString value) {return QString::fromAscii("\"") + escape(value) + "\"";} + +template +QString typeName() {return QString();} +template<> +QString typeName() {return "qsreal";} +template<> +QString typeName() {return "qint32";} +template<> +QString typeName() {return "quint32";} +template<> +QString typeName() {return "quint16";} +template<> +QString typeName() {return "bool";} +template<> +QString typeName() {return "QString";} + +static QString generateIsXXXDef(const QString& name, const QList& list) +{ + static const QString templ("void tst_QScriptValue::%1_initData()\n"\ + "{\n"\ + " QTest::addColumn(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_makeData(const char* expr)\n"\ + "{\n"\ + " static QSet %1;\n"\ + " if (%1.isEmpty()) {\n"\ + " %1%2\n"\ + " }\n"\ + " newRow(expr) << %1.contains(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(bool, expected);\n"\ + " QCOMPARE(value.%1(), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(%1)\n"\ + "\n"); + + if (!list.size()) { + qWarning() << name << ": nothing to add!" ; + return QString(); + } + + QString result = templ; + QStringList set; + foreach(QString t, list) { + t = escape(t); + t.append('\"'); + t.prepend('\"'); + set.append(QString(" << ")); + set.append(t); + set.append("\n "); + } + set.append(";"); + return result.arg(name, set.join(QString())); +} + +template +static QString generateToXXXDef(const QString& name, const QList >& list) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::%1_initData()\n"\ + "{\n"\ + " QTest::addColumn<%2>(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_makeData(const char* expr)\n"\ + "{\n"\ + " static QHash %1;\n"\ + " if (%1.isEmpty()) {\n"\ + "%3"\ + " }\n"\ + " newRow(expr) << %1.value(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(%2, expected);\n"\ + " QCOMPARE(value.%1(), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(%1)\n"; + QString result = templ; + + typename QList >::const_iterator i = list.constBegin(); + QStringList set; + for(; i != list.constEnd(); ++i) { + QPair t = *i; + t.first = escape(t.first); + set.append(QString(" ")); + set.append(name); + set.append(".insert(\""); + set.append(t.first); + set.append(QString::fromAscii("\", ")); + set.append(prepareToInsert(t.second)); + set.append(QString::fromAscii(");\n")); + } + return result.arg(name, typeName(), set.join(QString())); +} + + +template<> +QString generateToXXXDef(const QString& name, const QList >& list) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::%1_initData()\n"\ + "{\n"\ + " QTest::addColumn<%2>(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_makeData(const char* expr)\n"\ + "{\n"\ + " static QHash %1;\n"\ + " if (%1.isEmpty()) {\n"\ + "%3"\ + " }\n"\ + " newRow(expr) << %1.value(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(%2, expected);\n"\ + "%666" + " if (qIsInf(expected)) {\n"\ + " QVERIFY(qIsInf(value.%1()));\n"\ + " return;\n"\ + " }\n"\ + " QCOMPARE(value.%1(), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(%1)\n"; + QString result = templ; + + QList >::const_iterator i = list.constBegin(); + QStringList set; + for(; i != list.constEnd(); ++i) { + QPair t = *i; + t.first = escape(t.first); + set.append(QString(" ")); + set.append(name); + set.append(".insert(\""); + set.append(t.first); + set.append(QString::fromAscii("\", ")); + set.append(prepareToInsert(t.second)); + set.append(QString::fromAscii(");\n")); + } + // toInteger shouldn't return NaN, so it would be nice to catch the case. + QString hook; + if (name == "toNumber") { + hook = + " if (qIsNaN(expected)) {\n"\ + " QVERIFY(qIsNaN(value.toNumber()));\n"\ + " return;\n"\ + " }\n"; + } + return result.arg(name, typeName(), set.join(QString()), hook); +} + +template +static QString generateCastDef(const QList >& list) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%2_initData()\n"\ + "{\n"\ + " QTest::addColumn<%2>(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%2_makeData(const char* expr)\n"\ + "{\n"\ + " static QHash value;\n"\ + " if (value.isEmpty()) {\n"\ + "%3"\ + " }\n"\ + " newRow(expr) << value.value(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%2_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(%2, expected);\n"\ + " QCOMPARE(qscriptvalue_cast<%2>(value), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(qscriptvalue_cast%2)\n"; + QString result = templ; + + typename QList >::const_iterator i = list.constBegin(); + QStringList set; + for(; i != list.constEnd(); ++i) { + QPair t = *i; + t.first = escape(t.first); + set.append(QString(" ")); + set.append("value.insert(\""); + set.append(t.first); + set.append(QString::fromAscii("\", ")); + set.append(prepareToInsert(t.second)); + set.append(QString::fromAscii(");\n")); + } + return result.arg(typeName(), set.join(QString())); +} + +template<> +QString generateCastDef(const QList >& list) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%2_initData()\n"\ + "{\n"\ + " QTest::addColumn<%2>(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%2_makeData(const char* expr)\n"\ + "{\n"\ + " static QHash value;\n"\ + " if (value.isEmpty()) {\n"\ + "%3"\ + " }\n"\ + " newRow(expr) << value.value(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%2_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(%2, expected);\n"\ + " if (qIsNaN(expected)) {\n" + " QVERIFY(qIsNaN(qscriptvalue_cast<%2>(value)));\n" + " return;\n" + " }\n"\ + " if (qIsInf(expected)) {\n" + " QVERIFY(qIsInf(qscriptvalue_cast<%2>(value)));\n" + " return;\n" + " }\n" + " QCOMPARE(qscriptvalue_cast<%2>(value), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(qscriptvalue_cast%2)\n"; + QString result = templ; + + QList >::const_iterator i = list.constBegin(); + QStringList set; + for(; i != list.constEnd(); ++i) { + QPair t = *i; + t.first = escape(t.first); + set.append(QString(" ")); + set.append("value.insert(\""); + set.append(t.first); + set.append(QString::fromAscii("\", ")); + set.append(prepareToInsert(t.second)); + set.append(QString::fromAscii(");\n")); + } + return result.arg(typeName(), set.join(QString())); +} + +static QString generateCompareDef(const QString& comparisionType, const QList tags) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::%1_initData()\n"\ + "{\n"\ + " QTest::addColumn(\"other\");\n"\ + " QTest::addColumn(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_makeData(const char *expr)\n"\ + "{\n"\ + " static QSet equals;\n"\ + " if (equals.isEmpty()) {\n"\ + "%2\n"\ + " }\n"\ + " QHash::const_iterator it;\n"\ + " for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {\n"\ + " QString tag = QString::fromLatin1(\"%20 <=> %21\").arg(expr).arg(it.key());\n"\ + " newRow(tag.toLatin1()) << it.value() << equals.contains(tag);\n"\ + " }\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_test(const char *, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(QScriptValue, other);\n"\ + " QFETCH(bool, expected);\n"\ + " QCOMPARE(value.%1(other), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(%1)\n"; + Q_ASSERT(comparisionType == "strictlyEquals" + || comparisionType == "equals" + || comparisionType == "lessThan" + || comparisionType == "instanceOf"); + QString result = templ; + + QStringList set; + foreach(const QString& tmp, tags) { + set.append(" equals.insert(\"" + escape(tmp) + "\");"); + } + return result.arg(comparisionType, set.join("\n")); +} + +static QString generateInitDef(const QVector& allDataTags) +{ + static const QString templ = "/*\n"\ + " Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)\n"\ + "\n"\ + " This library is free software; you can redistribute it and/or\n"\ + " modify it under the terms of the GNU Library General Public\n"\ + " License as published by the Free Software Foundation; either\n"\ + " version 2 of the License, or (at your option) any later version.\n"\ + "\n"\ + " This library is distributed in the hope that it will be useful,\n"\ + " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"\ + " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"\ + " Library General Public License for more details.\n"\ + "\n"\ + " You should have received a copy of the GNU Library General Public License\n"\ + " along with this library; see the file COPYING.LIB. If not, write to\n"\ + " the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"\ + " Boston, MA 02110-1301, USA.\n"\ + "*/\n"\ + "\n"\ + "#include \"tst_qscriptvalue.h\"\n\n"\ + "#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr)\n"\ + "\n"\ + "void tst_QScriptValue::initScriptValues()\n"\ + "{\n"\ + " m_values.clear();\n"\ + " if (engine) \n"\ + " delete engine;\n"\ + " engine = new QScriptEngine;\n"\ + "%1\n}\n\n"; + QString result = templ; + QStringList set; + foreach(const QString tag, allDataTags) { + set.append(" DEFINE_TEST_VALUE(" + tag + ");"); + } + + return result.arg(set.join("\n")); +} + +static void squashTags(QString dataTag, const QVector& results, QList& tags, QVector dataTags) +{ + for(int i = 0; i < results.count(); ++i) { + if (results.at(i)) + tags.append(dataTag + " <=> " + dataTags[i]); + } +} + + +QString TestGenerator::generateTest() +{ + // All data tags keept in one place. + QVector dataTags; + + // Data tags for values that return true in isXXX call + QList isValidList; + QList isBoolList; + QList isBooleanList; + QList isNumberList; + QList isFunctionList; + QList isNullList; + QList isStringList; + QList isUndefinedList; + QList isVariantList; + QList isQObjectList; + QList isQMetaObjectList; + QList isObjectList; + QList isDateList; + QList isRegExpList; + QList isArrayList; + QList isErrorList; + + // List of pairs data tag and value returned from toXXX call + QList > toStringList; + QList > toNumberList; + QList > toBoolList; + QList > toBooleanList; + QList > toIntegerList; + QList > toInt32List; + QList > toUInt32List; + QList > toUInt16List; + + // List of complex tags returning true + QList equalsList; + QList strictlyEqualsList; + QList lessThanList; + QList instanceOfList; + + QList > castStringList; + QList > castSRealList; + QList > castBoolList; + QList > castInt32List; + QList > castUInt32List; + QList > castUInt16List; + + // Load. + m_tempFile.seek(0); + QDataStream in(&m_tempFile); + in >> dataTags; + Q_ASSERT(in.status() == in.Ok); + + while(!in.atEnd()) + { + bool isValidRes; + bool isBoolRes; + bool isBooleanRes; + bool isNumberRes; + bool isFunctionRes; + bool isNullRes; + bool isStringRes; + bool isUndefinedRes; + bool isVariantRes; + bool isQObjectRes; + bool isQMetaObjectRes; + bool isObjectRes; + bool isDateRes; + bool isRegExpRes; + bool isArrayRes; + bool isErrorRes; + + QString toStringRes; + qsreal toNumberRes; + bool toBoolRes; + bool toBooleanRes; + qsreal toIntegerRes; + qint32 toInt32Res; + quint32 toUInt32Res; + quint16 toUInt16Res; + //toVariantRes; + //toDateTimeRes; + + QVector equalsRes; + QVector strictlyEqualsRes; + QVector lessThanRes; + QVector instanceOfRes; + + QString castStringRes; + qsreal castSRealRes; + bool castBoolRes; + qint32 castInt32Res; + quint32 castUInt32Res; + quint16 castUInt16Res; + + QString dataTag; + in >> dataTag; + in >> isValidRes; + in >> isBoolRes; + in >> isBooleanRes; + in >> isNumberRes; + in >> isFunctionRes; + in >> isNullRes; + in >> isStringRes; + in >> isUndefinedRes; + in >> isVariantRes; + in >> isQObjectRes; + in >> isQMetaObjectRes; + in >> isObjectRes; + in >> isDateRes; + in >> isRegExpRes; + in >> isArrayRes; + in >> isErrorRes; + + if (isValidRes) isValidList.append(dataTag); + if (isBoolRes) isBoolList.append(dataTag); + if (isBooleanRes) isBooleanList.append(dataTag); + if (isNumberRes) isNumberList.append(dataTag); + if (isFunctionRes) isFunctionList.append(dataTag); + if (isNullRes) isNullList.append(dataTag); + if (isStringRes) isStringList.append(dataTag); + if (isUndefinedRes) isUndefinedList.append(dataTag); + if (isVariantRes) isVariantList.append(dataTag); + if (isQObjectRes) isQObjectList.append(dataTag); + if (isQMetaObjectRes) isQMetaObjectList.append(dataTag); + if (isObjectRes) isObjectList.append(dataTag); + if (isDateRes) isDateList.append(dataTag); + if (isRegExpRes) isRegExpList.append(dataTag); + if (isArrayRes) isArrayList.append(dataTag); + if (isErrorRes) isErrorList.append(dataTag); + + in >> toStringRes; + in >> toNumberRes; + in >> toBoolRes; + in >> toBooleanRes; + in >> toIntegerRes; + in >> toInt32Res; + in >> toUInt32Res; + in >> toUInt16Res; + //in >> toVariantRes; + //in >> toDateTimeRes; + + toStringList.append(QPair(dataTag, toStringRes)); + toNumberList.append(QPair(dataTag, toNumberRes)); + toBoolList.append(QPair(dataTag, toBoolRes)); + toBooleanList.append(QPair(dataTag, toBooleanRes)); + toIntegerList.append(QPair(dataTag, toIntegerRes)); + toInt32List.append(QPair(dataTag, toInt32Res)); + toUInt32List.append(QPair(dataTag, toUInt32Res)); + toUInt16List.append(QPair(dataTag, toUInt16Res)); + + in >> equalsRes; + in >> strictlyEqualsRes; + in >> lessThanRes; + in >> instanceOfRes; + + squashTags(dataTag, equalsRes, equalsList, dataTags); + squashTags(dataTag, strictlyEqualsRes, strictlyEqualsList, dataTags); + squashTags(dataTag, lessThanRes, lessThanList, dataTags); + squashTags(dataTag, instanceOfRes, instanceOfList, dataTags); + + in >> castStringRes; + in >> castSRealRes; + in >> castBoolRes; + in >> castInt32Res; + in >> castUInt32Res; + in >> castUInt16Res; + + castStringList.append(QPair(dataTag, castStringRes)); + castSRealList.append(QPair(dataTag, castSRealRes)); + castBoolList.append(QPair(dataTag, castBoolRes)); + castInt32List.append(QPair(dataTag, castInt32Res)); + castUInt32List.append(QPair(dataTag, castUInt32Res)); + castUInt16List.append(QPair(dataTag, castUInt16Res)); + + Q_ASSERT(in.status() == in.Ok); + } + + Q_ASSERT(in.atEnd()); + + // Generate. + QStringList result; + result.append(generateInitDef(dataTags)); + result.append(generateIsXXXDef("isValid", isValidList)); + result.append(generateIsXXXDef("isBool", isBoolList)); + result.append(generateIsXXXDef("isBoolean", isBooleanList)); + result.append(generateIsXXXDef("isNumber", isNumberList)); + result.append(generateIsXXXDef("isFunction", isFunctionList)); + result.append(generateIsXXXDef("isNull", isNullList)); + result.append(generateIsXXXDef("isString", isStringList)); + result.append(generateIsXXXDef("isUndefined", isUndefinedList)); + result.append(generateIsXXXDef("isVariant", isVariantList)); + result.append(generateIsXXXDef("isQObject", isQObjectList)); + result.append(generateIsXXXDef("isQMetaObject", isQMetaObjectList)); + result.append(generateIsXXXDef("isObject", isObjectList)); + result.append(generateIsXXXDef("isDate", isDateList)); + result.append(generateIsXXXDef("isRegExp", isRegExpList)); + result.append(generateIsXXXDef("isArray", isArrayList)); + result.append(generateIsXXXDef("isError", isErrorList)); + + result.append(generateToXXXDef("toString", toStringList)); + result.append(generateToXXXDef("toNumber", toNumberList)); + result.append(generateToXXXDef("toBool", toBoolList)); + result.append(generateToXXXDef("toBoolean", toBooleanList)); + result.append(generateToXXXDef("toInteger", toIntegerList)); + result.append(generateToXXXDef("toInt32", toInt32List)); + result.append(generateToXXXDef("toUInt32", toUInt32List)); + result.append(generateToXXXDef("toUInt16", toUInt16List)); + + result.append(generateCompareDef("equals", equalsList)); + result.append(generateCompareDef("strictlyEquals", strictlyEqualsList)); + result.append(generateCompareDef("lessThan", lessThanList)); + result.append(generateCompareDef("instanceOf", instanceOfList)); + + result.append(generateCastDef(castStringList)); + result.append(generateCastDef(castSRealList)); + result.append(generateCastDef(castBoolList)); + result.append(generateCastDef(castInt32List)); + result.append(generateCastDef(castUInt32List)); + result.append(generateCastDef(castUInt16List)); + + return result.join("\n"); +} + + + + + + + + + diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.h b/tests/auto/qscriptvalue/testgen/testgenerator.h new file mode 100644 index 0000000..d3a2196 --- /dev/null +++ b/tests/auto/qscriptvalue/testgen/testgenerator.h @@ -0,0 +1,55 @@ +/* + Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef TESTGENERATOR_H +#define TESTGENERATOR_H + +#include +#include +#include + +class TestGenerator { +public: + TestGenerator(QString& outputpath) + : m_ofile(outputpath) + { + // Open output file + if (!m_ofile.open(QIODevice::WriteOnly | QIODevice::Text)) { + qWarning() << "Can't open output file: " << outputpath; + exit(2); + } + m_tempFile.open(); + } + + void run() + { + prepareData(); + Q_ASSERT(m_tempFile.size()); + save(generateTest()); + } + + void prepareData(); + QString generateTest(); + void save(const QString& data); +private: + QFile m_ofile; + QTemporaryFile m_tempFile; +}; + +#endif // TESTGENERATOR_H -- cgit v0.12 From 88c4000c21be7af37bc490a2edd9d1f481b3a862 Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Tue, 2 Feb 2010 13:20:10 +0100 Subject: Fixed compilation of the GL2 engine for OpenGL ES 2. glColor4f is not defined in OpenGL ES 2. Reviewed-by: Trond --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 406112a..07f3159 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -561,7 +561,9 @@ void QGL2PaintEngineExPrivate::resetGLState() glDisableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); glDisableVertexAttribArray(QT_VERTEX_COORDS_ATTR); glDisableVertexAttribArray(QT_OPACITY_ATTR); +#ifndef QT_OPENGL_ES_2 glColor4f(1.0f, 1.0f, 1.0f, 1.0f); // color may have been changed by glVertexAttrib() +#endif } void QGL2PaintEngineEx::endNativePainting() -- cgit v0.12 From 7f31c6969ff27320b088e214b0ae6bf1ae36ecc3 Mon Sep 17 00:00:00 2001 From: Pavel Fric Date: Tue, 2 Feb 2010 14:42:06 +0100 Subject: Added Czech translations. Merge-request: 440 Reviewed-by: Oswald Buddenhagen --- tools/assistant/translations/qt_help.pro | 1 + tools/assistant/translations/translations.pro | 1 + tools/designer/translations/translations.pro | 1 + tools/linguist/linguist/linguist.pro | 1 + translations/assistant_cs.ts | 1074 +++ translations/designer_cs.ts | 7051 ++++++++++++++++ translations/linguist_cs.ts | 2023 +++++ translations/qt_cs.ts | 10362 ++++++++++++++++++++++++ translations/qt_help_cs.ts | 395 + translations/translations.pri | 2 +- 10 files changed, 20910 insertions(+), 1 deletion(-) create mode 100644 translations/assistant_cs.ts create mode 100644 translations/designer_cs.ts create mode 100644 translations/linguist_cs.ts create mode 100644 translations/qt_cs.ts create mode 100644 translations/qt_help_cs.ts diff --git a/tools/assistant/translations/qt_help.pro b/tools/assistant/translations/qt_help.pro index db54ae6..1012f3f 100644 --- a/tools/assistant/translations/qt_help.pro +++ b/tools/assistant/translations/qt_help.pro @@ -41,6 +41,7 @@ HEADERS += ../lib/qhelpcollectionhandler_p.h \ TR_DIR = $$PWD/../../../translations TRANSLATIONS = \ + $$TR_DIR/qt_help_cs.ts \ $$TR_DIR/qt_help_da.ts \ $$TR_DIR/qt_help_de.ts \ $$TR_DIR/qt_help_ja.ts \ diff --git a/tools/assistant/translations/translations.pro b/tools/assistant/translations/translations.pro index 95501ab..d29ffc3 100644 --- a/tools/assistant/translations/translations.pro +++ b/tools/assistant/translations/translations.pro @@ -42,6 +42,7 @@ HEADERS += ../tools/assistant/aboutdialog.h \ TR_DIR = $$PWD/../../../translations TRANSLATIONS = \ + $$TR_DIR/assistant_cs.ts \ $$TR_DIR/assistant_da.ts \ $$TR_DIR/assistant_de.ts \ $$TR_DIR/assistant_fr.ts \ diff --git a/tools/designer/translations/translations.pro b/tools/designer/translations/translations.pro index 03c1415..a1b99fd 100644 --- a/tools/designer/translations/translations.pro +++ b/tools/designer/translations/translations.pro @@ -129,6 +129,7 @@ HEADERS += ../../shared/findwidget/abstractfindwidget.h \ TR_DIR = $$PWD/../../../translations TRANSLATIONS = \ + $$TR_DIR/designer_cs.ts \ $$TR_DIR/designer_de.ts \ $$TR_DIR/designer_fr.ts \ $$TR_DIR/designer_ja.ts \ diff --git a/tools/linguist/linguist/linguist.pro b/tools/linguist/linguist/linguist.pro index c902aeb..693bc71 100644 --- a/tools/linguist/linguist/linguist.pro +++ b/tools/linguist/linguist/linguist.pro @@ -97,6 +97,7 @@ RESOURCES += linguist.qrc TR_DIR = $$PWD/../../../translations TRANSLATIONS = \ + $$TR_DIR/linguist_cs.ts \ $$TR_DIR/linguist_de.ts \ $$TR_DIR/linguist_fr.ts \ $$TR_DIR/linguist_ja.ts \ diff --git a/translations/assistant_cs.ts b/translations/assistant_cs.ts new file mode 100644 index 0000000..2156187 --- /dev/null +++ b/translations/assistant_cs.ts @@ -0,0 +1,1074 @@ + + + + + AboutDialog + + + &Close + &Zavřít + + + + AboutLabel + + + Warning + Varování + + + + Unable to launch external application. + + Chyba při spouštění vnější aplikace. + + + + + OK + OK + + + + BookmarkDialog + + + Add Bookmark + Přidat záložku + + + + Bookmark: + Záložka: + + + + Add in Folder: + Zřídit ve složce: + + + + New Folder + Nová složka + + + + + + + + Bookmarks + Záložky + + + + + + + + + + + Delete Folder + Smazat složku + + + + Rename Folder + Přejmenovat složku + + + + BookmarkManager + + + Bookmarks + Záložky + + + + Remove + Odstranit + + + + You are going to delete a Folder, this will also<br>remove it's content. Are you sure to continue? + Když smažete tuto složku, bude smazán i <br>celý její obsah. Opravdu chcete pokračovat? + + + + + New Folder + Nová složka + + + + BookmarkWidget + + + Filter: + Filtr: + + + + Remove + Odstranit + + + + Delete Folder + Smazat složku + + + + Rename Folder + Přejmenovat složku + + + + Show Bookmark + Ukázat záložku + + + + Show Bookmark in New Tab + Ukázat záložku v nové kartě + + + + Delete Bookmark + Smazat záložku + + + + Rename Bookmark + Přejmenovat záložku + + + + Add + Přidat + + + + CentralWidget + + + Add new page + Přidat novou stranu + + + + Close current page + Zavřít současnou stranu + + + + Print Document + Vytisknout dokument + + + + + unknown + Neznámý + + + + Add New Page + Přidat novou stranu + + + + Close This Page + Zavřít tuto stranu + + + + Close Other Pages + Zavřít jiné strany + + + + Add Bookmark for this Page... + Přidat záložku pro tuto stranu... + + + + Search + Hledat + + + + ContentWindow + + + Open Link + Otevřít adresu odkazu + + + + Open Link in New Tab + Otevřít odkaz v nové kartě + + + + FilterNameDialogClass + + + Add Filter Name + Přidat název filtru + + + + Filter Name: + Název filtru: + + + + FindWidget + + + Previous + Předchozí + + + + Next + Další + + + + Case Sensitive + Rozlišující velká a malá písmena + + + + Whole words + Celá slova + + + + <img src=":/trolltech/assistant/images/wrap.png">&nbsp;Search wrapped + <img src=":/trolltech/assistant/images/wrap.png">&nbsp;Konec strany + + + + FontPanel + + + Font + Písmo + + + + &Writing system + Způsob &psaní + + + + &Family + &Písmová rodina + + + + &Style + &Styl + + + + &Point size + &Bodová velikost + + + + HelpViewer + + + Help + Nápověda + + + + OK + OK + + + + <title>Error 404...</title><div align="center"><br><br><h1>The page could not be found</h1><br><h3>'%1'</h3></div> + <title>Chyba 404 ...</title><div align="center"><br><br><h1>Stranu se nepodařilo najít.</h1><br><h3>'%1'</h3></div> + + + + Copy &Link Location + &Kopírovat adresu odkazu + + + + Open Link in New Tab Ctrl+LMB + Otevřít odkaz v nové kartě Ctrl+LMB + + + + Open Link in New Tab + Otevřít odkaz v nové kartě + + + + Unable to launch external application. + + Chyba při spouštění vnější aplikace. + + + + + IndexWindow + + + &Look for: + &Hledat: + + + + Open Link + Otevřít adresu odkazu + + + + Open Link in New Tab + Otevřít odkaz v nové kartě + + + + InstallDialog + + + + Install Documentation + Nainstalovat dokumentaci + + + + Downloading documentation info... + Stahuje se informace o dokumentaci... + + + + Download canceled. + Stahování bylo zrušeno. + + + + + + Done. + Hotovo. + + + + The file %1 already exists. Do you want to overwrite it? + Soubor %1 již existuje. Chcete jej přepsat? + + + + Unable to save the file %1: %2. + Soubor %1 nelze uložit: %2. + + + + Downloading %1... + Stahuje se %1... + + + + + + Download failed: %1. + Stažení se nezdařilo: %1. + + + + Documentation info file is corrupt! + Soubor s informací o dokumentaci je poškozen! + + + + Download failed: Downloaded file is corrupted. + Stažení se nezdařilo: Stažený soubor je pravděpodobně poškozen. + + + + Installing documentation %1... + Instaluje dokumentace %1... + + + + Error while installing documentation: +%1 + Chyba při instalaci dokumentace: +%1 + + + + Available Documentation: + Dostupná dokumentace: + + + + Install + Instalovat + + + + Cancel + Zrušit + + + + Close + Zavřít + + + + Installation Path: + Cesta pro instalaci: + + + + ... + ... + + + + MainWindow + + + + Index + Rejstřík + + + + + Contents + Obsah + + + + + Bookmarks + Záložky + + + + Search + Hledat + + + + + + Qt Assistant + Qt Assistant + + + + + Unfiltered + Bez filtru + + + + Page Set&up... + &Nastavení strany... + + + + Print Preview... + Náhled tisku... + + + + &Print... + &Tisk... + + + + New &Tab + Nová &karta + + + + &Close Tab + &Zavřít kartu + + + + &Quit + &Ukončit + + + + &Copy selected Text + &Kopírovat vybraný text + + + + &Find in Text... + &Najít v textu... + + + + Find &Next + Hledat &dál + + + + Find &Previous + Najít &předchozí + + + + Preferences... + Nastavení... + + + + Zoom &in + &Zvětšit + + + + Zoom &out + &Zmenšit + + + + Normal &Size + Obvyklá &velikost + + + + Ctrl+0 + Ctrl+0 + + + + ALT+C + ALT+C + + + + ALT+I + ALT+I + + + + ALT+S + ALT+S + + + + &Home + &Začáteční strana + + + + &Back + &Zpět + + + + &Forward + &Dopředu + + + + Sync with Table of Contents + Seřídit stranu s kartou obsahu + + + + Next Page + Další strana + + + + Ctrl+Alt+Right + Ctrl+Alt+Right + + + + Previous Page + Předchozí strana + + + + Ctrl+Alt+Left + Ctrl+Alt+Left + + + + Add Bookmark... + Přidat záložku... + + + + About... + O... + + + + Navigation Toolbar + Navigační pruh + + + + Toolbars + Nástrojové pruhy + + + + Filter Toolbar + Filtrovací pruh + + + + Filtered by: + Filtr: + + + + Address Toolbar + Adresní pruh + + + + Address: + Adresa: + + + + Could not find the associated content item. + Nepodařilo se najít příslušnou položku obsahu. + + + + About %1 + O %1 + + + + Updating search index + Sestavuje se rejstřík hledání + + + + Looking for Qt Documentation... + Hledá se dokumentace ke Qt... + + + + &Window + &Okno + + + + Minimize + Zmenšit + + + + Ctrl+M + Ctrl+M + + + + Zoom + Zvětšení + + + + &File + &Soubor + + + + &Edit + &Úpravy + + + + &View + &Pohled + + + + &Go + &Jít na + + + + ALT+Home + ALT+Home + + + + &Bookmarks + &Záložky + + + + &Help + &Nápověda + + + + ALT+O + ALT+O + + + + CTRL+D + CTRL+D + + + + PreferencesDialog + + + + Add Documentation + Přidat dokumentaci + + + + Qt Compressed Help Files (*.qch) + Stlačené soubory s nápovědoun (*.qch) + + + + The specified file is not a valid Qt Help File! + Zadaný soubor není platným souborem nápovědy ke Qt. + + + + The namespace %1 is already registered! + Jmenný prostor %1 je již zaznamenám! + + + + Remove Documentation + Odstranit dokumentaci + + + + Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents. + Některé v současnosti otevřené dokumenty pocházejí z dokumentace, kterou se právě pokoušíte odstranit. Při odstraňování budou zavřeny. + + + + Cancel + Zrušit + + + + OK + OK + + + + Use custom settings + Použít nastavení stanovená uživatelem + + + + PreferencesDialogClass + + + Preferences + Nastavení + + + + Fonts + Písma + + + + Font settings: + Nastavení písem: + + + + Browser + Prohlížeč + + + + Application + Program + + + + Filters + Filtr + + + + Filter: + Filtr: + + + + Attributes: + Vlastnosti: + + + + 1 + 1 + + + + Add + Přidat + + + + Remove + Odstranit + + + + Documentation + Dokumentace + + + + Registered Documentation: + Zaznamenaná dokumentace: + + + + Add... + Přidat... + + + + Options + Volby + + + + Current Page + Nynější strana + + + + Restore to default + Obnovit výchozí nastavení + + + + Homepage + Začáteční stránka + + + + On help start: + Na začátek nápovědy: + + + + Show my home page + Ukázat moji domovskou stránku + + + + Show a blank page + Ukázat prázdnou stránku + + + + Show my tabs from last session + Ukázat mé karty z posledního sezení + + + + Blank Page + Prázdná strana + + + + QObject + + + The specified collection file does not exist! + Zadaný sbírkový soubor nelze najít! + + + + Missing collection file! + Chybějící sbírkový soubor! + + + + Invalid URL! + Neplatné URL! + + + + Missing URL! + Chybějící URL! + + + + + + Unknown widget: %1 + Neznámý prvek: %1 + + + + + + Missing widget! + Chybějící prvek! + + + + + The specified Qt help file does not exist! + Zadaný soubor s nápovědou ke Qt nelze najít! + + + + + Missing help file! + Chybějící soubor s nápovědou! + + + + Missing filter argument! + Chybějící argument pro filtr! + + + + Unknown option: %1 + Neznámá volba: %1 + + + + + Qt Assistant + Qt Assistant + + + + Could not register documentation file +%1 + +Reason: +%2 + Soubor s dokumentací %1 nelze zaznamenat + +Důvod: +%2 + + + + Documentation successfully registered. + Dokumentace byla úspěšně zaznamenána. + + + + Could not unregister documentation file +%1 + +Reason: +%2 + Zaznamenání souboru s dokumentací %1 nelze zrušit + +Grund: +%2 + + + + Documentation successfully unregistered. + Dokumentace byla úspěšně odstraněna. + + + + Cannot load sqlite database driver! + Databázový ovladač pro SQLite nelze nahrát! + + + + The specified collection file could not be read! + Zadaný sbírkový soubor nelze přečíst! + + + + RemoteControl + + + Debugging Remote Control + Ladí se dálkové ovládání + + + + Received Command: %1 %2 + Přijatý příkaz: %1 : %2 + + + + SearchWidget + + + &Copy + &Kopírovat + + + + Copy &Link Location + &Kopírovat adresu odkazu + + + + Open Link in New Tab + Otevřít odkaz v nové kartě + + + + Select All + Vybrat vše + + + + TopicChooser + + + Choose a topic for <b>%1</b>: + Vyberte námět pro <b>%1</b>: + + + + Choose Topic + Vybrat námět + + + + &Topics + &Náměty + + + + &Display + &Zobrazit + + + + &Close + &Zavřít + + + diff --git a/translations/designer_cs.ts b/translations/designer_cs.ts new file mode 100644 index 0000000..ea33a57 --- /dev/null +++ b/translations/designer_cs.ts @@ -0,0 +1,7051 @@ + + + + + AbstractFindWidget + + + &Previous + &Předchozí + + + + &Next + &Další + + + + &Case sensitive + &Rozlišující velká a malá písmena + + + + Whole &words + Celá &slova + + + + <img src=":/trolltech/shared/images/wrap.png">&nbsp;Search wrapped + <img src=":/trolltech/shared/images/wrap.png">&nbsp;Hledání dosáhlo konce + + + + AddLinkDialog + + + Insert Link + Vložit odkaz + + + + Title: + Název: + + + + URL: + URL: + + + + AppFontDialog + + + Additional Fonts + Dodatečná písma + + + + AppFontManager + + + '%1' is not a file. + '%1' není soubor. + + + + The font file '%1' does not have read permissions. + Soubor s písmem '%1' nemá oprávnění ke čtení. + + + + The font file '%1' is already loaded. + Soubor s písmem '%1' je již nahrán. + + + + The font file '%1' could not be loaded. + Soubor s písmem '%1' se nepodařilo nahrát. + + + + '%1' is not a valid font id. + '%1' není platným písmovým ID. + + + + There is no loaded font matching the id '%1'. + Není nahráno žádné písmo s ID '%1'. + + + + The font '%1' (%2) could not be unloaded. + Písmo '%1' (%2) se nepodařilo uvolnit z paměti. + + + + AppFontWidget + + + Fonts + Písma + + + + Add font files + Přidat soubory s písmy + + + + Remove current font file + Odstranit současný soubor s písmem + + + + Remove all font files + Odstranit všechny soubory s písmy + + + + Add Font Files + Přidat soubory s písmy + + + + Font files (*.ttf) + Soubory s písmy (*.ttf) + + + + Error Adding Fonts + Chyba při přidávání písem + + + + Error Removing Fonts + Chyba při odstraňování písem + + + + Remove Fonts + Odstranit písma + + + + Would you like to remove all fonts? + Chcete odstranit všechna písma? + + + + AppearanceOptionsWidget + + + Form + Formulář + + + + User Interface Mode + Okenní režim + + + + AssistantClient + + + Unable to send request: Assistant is not responding. + Chyba při posílání požadavku: Program Assistant neodpovídá. + + + + The binary '%1' does not exist. + Proveditelný soubor '%1' neexistuje. + + + + Unable to launch assistant (%1). + Program Assistant nelze spustit (%1). + + + + BrushPropertyManager + + + Style + Styl + + + + No brush + Žádný vzor + + + + Solid + Plný + + + + Dense 1 + Hustota 1 + + + + Dense 2 + Hustota 2 + + + + Dense 3 + Hustota 3 + + + + Dense 4 + Hustota 4 + + + + Dense 5 + Hustota 5 + + + + Dense 6 + Hustota 6 + + + + Dense 7 + Hustota 7 + + + + Horizontal + Vodorovný + + + + Vertical + Svislý + + + + Cross + Křížící se čáry + + + + Backward diagonal + Zpětné úhlopříčky + + + + Forward diagonal + Vpřed směřující úhlopříčky + + + + Crossing diagonal + Křížící se úhlopříčky + + + + Color + Barva + + + + [%1, %2] + [%1, %2] + + + + Command + + + + Change signal + Změnit signál + + + + + Change slot + Změnit zdířku + + + + Change signal-slot connection + Změnit spojení signál-zdířka + + + + Change sender + Změnit vysílač + + + + Change receiver + Změnit přijímač + + + + Add connection + Přidat spojení + + + + Adjust connection + Nastavit spojení + + + + Delete connections + Smazat spojení + + + + Change source + Změnit zdroj + + + + Change target + Změnit koncový bod + + + + Insert '%1' + Vložit '%1' + + + + Raise '%1' + '%1' dopředu + + + + Lower '%1' + '%1' dozadu + + + + Delete '%1' + Smazat '%1' + + + + Reparent '%1' + Přiřadit jiný prvek '%1' + + + + Promote to custom widget + Vytvořit zástupný symbol pro uživatelsky stanovený prvek + + + + Demote from custom widget + Odstranit zástupný symbol pro uživatelsky stanovenou třídu + + + + Lay out using grid + Rozmístit předměty tabulkově + + + + Lay out vertically + Rozmístit předměty svisle + + + + Lay out horizontally + Rozmístit předměty vodorovně + + + + Break layout + Zrušit rozvržení + + + + + + Move Page + Posunout stranu + + + + + + + Delete Page + Smazat stranu + + + + + Page + Strana + + + + page + Strana + + + + + + + Insert Page + Vložit stranu + + + + Change Tab order + Změnit pořadí karet + + + + Create Menu Bar + Vytvořit nabídkový pruh + + + + Delete Menu Bar + Smazat nabídkový pruh + + + + Create Status Bar + Vytvořit stavový pruh + + + + Delete Status Bar + Smazat stavový pruh + + + + Add Tool Bar + Přidat nástrojový pruh + + + + Add Dock Window + Přidat ukotvené okno + + + + Adjust Size of '%1' + Upravit velikost '%1' + + + + Change Form Layout Item Geometry + Změnit uspořádání prvku rozvržení formuláře + + + + Change Layout Item Geometry + Změnit uspořádání prvku rozvržení + + + + Change Table Contents + Změnit obsah tabulky + + + + Change Tree Contents + Změnit obsah stromu + + + + + Add action + Přidat činnost + + + + + Remove action + Odstranit činnost + + + + Add menu + Přidat nabídku + + + + Remove menu + Odstranit nabídku + + + + Create submenu + Vytvořit vedlejší nabídku + + + + Delete Tool Bar + Smazat nástrojový pruh + + + + Set action text + Nastavit text k činnosti + + + + Insert action + Vložit činnost + + + + + Move action + Posunout činnost + + + + Change Title + Změnit název + + + + Insert Menu + Vložit nabídku + + + + Change signals/slots + Změnit signály/zdířky + + + + Delete Subwindow + Smazat podokno + + + + Insert Subwindow + Vložit podokno + + + + subwindow + Podokno + + + + Subwindow + Podokno + + + + Change Z-order of '%1' + Změnit Z-pořadí '%1' + + + + Simplify Grid Layout + Zjednodušit tabulkové rozvržení + + + + Create button group + Seskupit tlačítka + + + + Break button group + Zrušit seskupení tlačítek + + + + Break button group '%1' + Zrušit seskupení '%1' + + + + Add buttons to group + Přidat tlačítka do seskupení + + + + Remove buttons from group + Odstranit tlačítka ze seskupení + + + + Morph %1/'%2' into %3 + MorphWidgetCommand description + Přeměnit %1/'%2' na %3 + + + + Change layout of '%1' from %2 to %3 + Změnit rozvržení '%1' z %2 na %3 + + + + + Add '%1' to '%2' + Command description for adding buttons to a QButtonGroup + Přidat '%1' k '%2' + + + + Remove '%1' from '%2' + Command description for removing buttons from a QButtonGroup + Odstranit '%1' z '%2' + + + + Change script + Změnit skript + + + + Changed '%1' of '%2' + Změněno '%1' z '%2' + + + + Changed '%1' of %n objects + Singular will never be shown + + Změněna vlastnost '%1' jednoho předmětu + Změněna vlastnost '%1' %n předmětů + Změněna vlastnost '%1' %n předmětů + + + + + Reset '%1' of '%2' + Znovu nastavit '%1' '%2' + + + + Reset '%1' of %n objects + Singular will never be shown + + Znovu nastavit '%1' jednoho předmětu + Znovu nastavit '%1' %n předmětů + Znovu nastavit '%1' %n předmětů + + + + + Add dynamic property '%1' to '%2' + Přidat dynamickou vlastnost '%1' do '%2' + + + + Add dynamic property '%1' to %n objects + Singular will never be shown + + Přidat dynamickou vlastnost '%1' do jednoho předmětu + Přidat dynamickou vlastnost '%1' do %n předmětů + Přidat dynamickou vlastnost '%1' do %n předmětů + + + + + Remove dynamic property '%1' from '%2' + Odstranit dynamickou vlastnost '%1' z '%2' + + + + Remove dynamic property '%1' from %n objects + + Odstranit dynamickou vlastnost '%1' z jednoho předmětu + Odstranit dynamickou vlastnost '%1' z %n předmětů + Odstranit dynamickou vlastnost '%1' z %n předmětů + + + + + ConnectDialog + + + Configure Connection + Upravit spojení + + + + GroupBox + GroupBox + + + + Edit... + Upravit... + + + + Show signals and slots inherited from QWidget + Ukázat signály a zdířky zděděné z QWidget + + + + ConnectionDelegate + + + <object> + <Předmět> + + + + <signal> + <Signál> + + + + <slot> + <Zdířka> + + + + DPI_Chooser + + + Standard (96 x 96) + Embedded device standard screen resolution + Obvyklé rozlišení (96 x 96) + + + + Greenphone (179 x 185) + Embedded device screen resolution + Greenphone (179 x 185) + + + + High (192 x 192) + Embedded device high definition screen resolution + Vysoké rozlišení (192 x 192) + + + + Designer + + + Qt Designer + Qt Designer + + + + Unable to launch %1. + %1 se nepodařilo spustit. + + + + %1 timed out. + Překročení času při provedení %1. + + + + This file contains top level spacers.<br>They have <b>NOT</b> been saved into the form. + Formulář obsahuje volně stojící prvky rozložení, které <b>NEBYLY</b> uloženy do formuláře. + + + + Perhaps you forgot to create a layout? + Přidal jste rozvržení? + + + + This file cannot be read because it was created using %1. + Soubor nelze přečíst, protože byl vytvořen %1. + + + + This file was created using Designer from Qt-%1 and cannot be read. + Soubor nelze přečíst, protože byl vytvořen programem Designer ve verzi %1. + + + + This file cannot be read because the extra info extension failed to load. + Soubor nelze přečíst (Chyba při nahrávání dat ExtraInfoExtension). + + + + The converted file could not be read. + Převedený soubor se nepodařilo přečíst. + + + + Invalid UI file: The root element <ui> is missing. + Chyba při čtení souboru s rozhraním: Kořenový prvek <ui> chybí. + + + + An error has occurred while reading the UI file at line %1, column %2: %3 + Chyba při čtení souboru s rozhraním, řádek %1, sloupec %2: %3 + + + + This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer. + Soubor byl vytvořen programem Designer ve verzi %1 a bude převeden na nový formulář pomocí programu Qt Designer. + + + + The old form has not been touched, but you will have to save the form under a new name. + Starý formulář zůstává nezměněn. Nový formulář musí být uložen pod novým názvem. + + + + This file was created using Designer from Qt-%1 and could not be read: +%2 + Čtení Designerem %1 vytvořeného souboru se nezdařilo: +%2 + + + + Please run it through <b>uic3&nbsp;-convert</b> to convert it to Qt-4's ui format. + Přeměňte to, prosím, příkazem <b>uic3&nbsp;-convert</b> na formát rozhraní Qt 4. + + + + Custom Widgets + Uživatelsky stanovené prvky + + + + Promoted Widgets + Zástupný symbol pro uživatelsky stanovené prvky + + + + DesignerMetaEnum + + + %1 is not a valid enumeration value of '%2'. + %1 není platnou výčtovou hodnotou '%2'. + + + + '%1' could not be converted to an enumeration value of type '%2'. + '%1' se nepodařilo převést na výčtovou hodnotu typu '%2'. + + + + DesignerMetaFlags + + + '%1' could not be converted to a flag value of type '%2'. + '%1' se nepodařilo převést na příznakovou hodnotu typu '%2'. + + + + DeviceProfile + + + '%1' is not a number. + Reading a number for an embedded device profile + '%1' není platným číslem. + + + + An invalid tag <%1> was encountered. + Byl zjištěn neplatný prvek'%1'. + + + + DeviceProfileDialog + + + &Family + &Písmová rodina + + + + &Point Size + &Bodová velikost + + + + Style + Styl + + + + Device DPI + Rozlišení obrazovky + + + + Name + Název + + + + DeviceSkin + + + The image file '%1' could not be loaded. + Soubor s obrázkem '%1' se nepodařilo nahrát. + + + + The skin directory '%1' does not contain a configuration file. + Adresář se vzhledem '%1' neobsahuje žádný soubor s nastavením. + + + + The skin configuration file '%1' could not be opened. + Soubor s nastavením vzhledu '%1' se nepodařilo otevřít. + + + + Syntax error: %1 + Chyba ve skladbě: %1 + + + + The skin cursor image file '%1' does not exist. + Soubor s obrázkem pro vzhled ukazovátka '%1' neexistuje. + + + + Syntax error in area definition: %1 + Vymezení oblasti obsahuje chybu ve skladbě: %1 + + + + Mismatch in number of areas, expected %1, got %2. + Zadaný počet oblastí (%1) neodpovídá; byly nalezeny %2 oblasti. + + + + The skin configuration file '%1' could not be read: %2 + Soubor s nastavením vzhledu '%1' se nepodařilo přečíst: %2 + + + + The skin "up" image file '%1' does not exist. + Soubor s nastavením vzhledu '%1' (nahoru) neexistuje. + + + + The skin "down" image file '%1' does not exist. + Soubor s nastavením vzhledu '%1' (dolů) neexistuje. + + + + The skin "closed" image file '%1' does not exist. + Soubor s nastavením vzhledu '%1' (zavřeno) neexistuje. + + + + EmbeddedOptionsControl + + + <html><table><tr><td><b>Font</b></td><td>%1, %2</td></tr><tr><td><b>Style</b></td><td>%3</td></tr><tr><td><b>Resolution</b></td><td>%4 x %5</td></tr></table></html> + Format embedded device profile description + <html><table><tr><td><b>Font</b></td><td>%1, %2</td></tr><tr><td><b>Stil</b></td><td>%3</td></tr><tr><td><b>Rozlišení</b></td><td>%4 x %5</td></tr></table></html> + + + + EmbeddedOptionsPage + + + Embedded Design + Tab in preferences dialog + Vložený návrh + + + + Device Profiles + EmbeddedOptionsControl group box" + Profily zařízení + + + + FontPanel + + + Font + Písmo + + + + &Writing system + Způsob &psaní + + + + &Family + &Písmová rodina + + + + &Style + &Styl + + + + &Point size + &Bodová velikost + + + + FontPropertyManager + + + PreferDefault + Upřednostňovat výchozí + + + + NoAntialias + Žádné vyhlazování + + + + PreferAntialias + Upřednostňovat vyhlazování + + + + Antialiasing + Vyhlazování + + + + FormBuilder + + + Invalid stretch value for '%1': '%2' + Parsing layout stretch values + Neplatná hodnota roztažení pro '%1': '%2' + + + + Invalid minimum size for '%1': '%2' + Parsing grid layout minimum size values + Neplatná nejmenší velikost pro '%1': '%2' + + + + FormEditorOptionsPage + + + %1 % + %1 % + + + + Preview Zoom + Velikost zvětšení pro náhled + + + + Default Zoom + Výchozí zvětšení + + + + Forms + Tab in preferences dialog + Formuláře + + + + Default Grid + Výchozí mřížka pro nové formuláře + + + + FormLayoutRowDialog + + + Add Form Layout Row + Přidat řádek s rozvržením formuláře + + + + &Label text: + &Text popisku: + + + + Field &type: + &Typ datového pole: + + + + &Field name: + &Název pole: + + + + &Buddy: + &Kamarád: + + + + &Row: + &Řádek: + + + + Label &name: + &Název popisku: + + + + FormWindow + + + Unexpected element <%1> + Neplatný prvek <%1> + + + + Error while pasting clipboard contents at line %1, column %2: %3 + Chyba při vložení obsahu schránky, řádek %1, sloupec %2: %3 + + + + FormWindowSettings + + + Form Settings + Nastavení formuláře + + + + Layout &Default + &Výchozí rozvržení + + + + &Spacing: + &Odstup: + + + + &Margin: + &Okraj: + + + + &Layout Function + &Funkce rozvržení + + + + Ma&rgin: + Ok&raj: + + + + Spa&cing: + Odstu&p: + + + + Embedded Design + Vložený návrh + + + + &Author + &Autor + + + + &Include Hints + &Zahrnout rady + + + + &Pixmap Function + &Funkce pixmapy + + + + Grid + Mřížka + + + + IconSelector + + + All Pixmaps ( + Všechny soubory s pixmapami ( + + + + ItemPropertyBrowser + + + XX Icon Selected off + Sample string to determinate the width for the first column of the list item property browser + Vybraná ikona, z + + + + MainWindowBase + + + Main + Not currently used (main tool bar) + Hlavní pruh s nástroji + + + + File + Soubor + + + + Edit + Úpravy + + + + Tools + Nástroje + + + + Form + Formulář + + + + Qt Designer + Qt Designer + + + + NewForm + + + C&reate + &Vytvořit nový z předlohy + + + + Recent + Naposledy otevřený + + + + &Close + &Zavřít + + + + &Open... + &Otevřít... + + + + &Recent Forms + &Naposledy otevřené formuláře + + + + Read error + Chyba při čtení + + + + New Form + Nový formulář + + + + Show this Dialog on Startup + Ukázat tento dialog při spuštění + + + + A temporary form file could not be created in %1. + V adresáři %1 se nepodařilo vytvořit dočasný soubor s formulářem. + + + + The temporary form file %1 could not be written. + Dočasný soubor s formulářem %1 se nepodařilo zapsat. + + + + ObjectInspectorModel + + + Object + Předmět + + + + Class + Třída + + + + separator + Oddělovač + + + + <noname> + <nepojmenovaný> + + + + ObjectNameDialog + + + Change Object Name + Změnit název předmětu + + + + Object Name + Název předmětu + + + + PluginDialog + + + Plugin Information + Přídavné moduly + + + + 1 + 1 + + + + PreferencesDialog + + + Preferences + Nastavení + + + + PreviewConfigurationWidget + + + Form + Formulář + + + + Print/Preview Configuration + Nastavení tisku/náhledu + + + + Style + Styl + + + + Style sheet + Předlohový list + + + + ... + ... + + + + Device skin + Vzhled pro zařízení + + + + PromotionModel + + + Not used + Usage of promoted widgets + Nepoužívaný + + + + Q3WizardContainer + + + + Page + Strana + + + + QAbstractFormBuilder + + + Unexpected element <%1> + Neplatný prvek <%1> + + + + An error has occurred while reading the UI file at line %1, column %2: %3 + Chyba při čtení souboru s rozhraním, řádek %1, sloupec %2: %3 + + + + Invalid UI file: The root element <ui> is missing. + Chyba při čtení souboru s rozhraním: Kořenový prvek <ui> chybí. + + + + The creation of a widget of the class '%1' failed. + Nepodařilo se vytvořit žádný prvek třídy '%1'. + + + + Attempt to add child that is not of class QWizardPage to QWizard. + Pokus o přidání strany předmětu třídy QWizard, která není typu QWizardPage. + + + + Attempt to add a layout to a widget '%1' (%2) which already has a layout of non-box type %3. +This indicates an inconsistency in the ui-file. + Pokus o přidání rozvržení na prvek '%1' (%2), který již má rozvržení typu %3 hat. Ukazuje to na nesrovnalost v souboru s rozhraním. + + + + Empty widget item in %1 '%2'. + Prázdná položka prvku v %1 '%2'. + + + + Flags property are not supported yet. + Vlastnosti typu "příznak" nejsou podporovány. + + + + While applying tab stops: The widget '%1' could not be found. + Chyba při stanovení pořadí tabulátorů: Nepodařilo se nalézt žádný prvek s názvem '%1'. + + + + Invalid QButtonGroup reference '%1' referenced by '%2'. + Neplatný odkaz na skupinu tlačítek '%1', odkazováno '%2'. + + + + This version of the uitools library is linked without script support. + Tato verze knihovny uitools nepodporuje skripty. + + + + QAxWidgetPlugin + + + ActiveX control + Ovládací prvek ActiveX + + + + ActiveX control widget + Ovládací prvek ActiveX + + + + QAxWidgetTaskMenu + + + Set Control + Nastavit ovládací prvek + + + + Reset Control + Nastavit znovu ovládací prvek + + + + Licensed Control + Licencovaný ovládací prvek + + + + The control requires a design-time license + Ovládací prvek vyžaduje licenci k času návrhu + + + + QCoreApplication + + + %1 is not a promoted class. + %1 není zástupným symbolem pro uživatelsky stanovenou třídu. + + + + The base class %1 is invalid. + %1 není platnou základní třídou. + + + + The class %1 already exists. + Již existuje třída s názvem %1. + + + + Promoted Widgets + Zástupný symbol pro uživatelsky stanovené prvky + + + + The class %1 cannot be removed + Třída %1 nemůže být odstraněna + + + + The class %1 cannot be removed because it is still referenced. + Třída %1 nemůže být odstraněna, protože se stále používá. + + + + The class %1 cannot be renamed + Třída %1 nemůže být přejmenována + + + + The class %1 cannot be renamed to an empty name. + Název pro třídu nemůže zůstat prázdný (%1). + + + + There is already a class named %1. + Již existuje třída s názvem %1. + + + + Cannot set an empty include file. + Název pro hlavičkový soubor nemůže zůstat prázdný. + + + + Exception at line %1: %2 + Chyba výjimky na řádku %1: %2 + + + + Unknown error + Neznámá chyba + + + + An error occurred while running the script for %1: %2 +Script: %3 + Při provádění skriptu pro %1 se vyskytla chyba: %2Skript: %3 + + + + QDesigner + + + %1 - warning + %1 - Upozornění + + + + Qt Designer + Qt Designer + + + + This application cannot be used for the Console edition of Qt + Tato aplikace se nedá používat pro konzolové vydání Qt + + + + QDesignerActions + + + Edit Widgets + Upravit prvky + + + + &Quit + &Ukončit + + + + &Minimize + &Zmenšit + + + + Bring All to Front + Ukázat všechny formuláře + + + + Preferences... + Nastavení... + + + + Clear &Menu + Smazat &nabídku + + + + CTRL+SHIFT+S + CTRL+SHIFT+S + + + + CTRL+R + CTRL+R + + + + CTRL+M + CTRL+M + + + + Qt Designer &Help + &Nápověda k programu Qt Designer + + + + Current Widget Help + Nápověda k vybranému prvku + + + + What's New in Qt Designer? + Co je nového v programu Qt Designer? + + + + About Plugins + Přídavné moduly + + + + + About Qt Designer + O programu Qt Designer + + + + About Qt + O Qt + + + + + Open Form + Otevřít formulář + + + + + + Designer UI files (*.%1);;All Files (*) + Soubory rozhraní programu Designer (*.%1);;Všechny soubory (*) + + + + %1 already exists. +Do you want to replace it? + Soubor %1 již existuje. +Chcete jej nahradit? + + + + Saved %1. + Formulář %1 byl uložen. + + + + &Recent Forms + &Naposledy otevřené formuláře + + + + Designer + Designer + + + + Feature not implemented yet! + Tato funkce ještě není provedena! + + + + Read error + Chyba při čtení + + + + %1 +Do you want to update the file location or generate a new form? + %1 +Chcete zadat jiný název pro soubor, nebo vytvořit nový formulář? + + + + &Update + &Jiný název + + + + &New Form + &Nový formulář + + + + + Save Form? + Uložit formulář? + + + + Could not open file + Soubor se nepodařilo otevřít + + + + + The backup file %1 could not be written. + Ukládání na pozadí: Soubor se zálohou %1 se nepodařilo zapsat. + + + + The backup directory %1 could not be created. + Ukládání na pozadí: Adresář se zálohou %1 se nepodařilo. + + + + The temporary backup directory %1 could not be created. + Ukládání na pozadí: Dočasný adresář se zálohou %1 se nepodařilo. + + + + Please close all forms to enable the loading of additional fonts. + Zavřete, prosím, všechny formuláře kvůli umožnění nahrání dodatečných písem. + + + + Select New File + Vybrat nový soubor + + + + Could not write file + Soubor se nepodařilo zapsat + + + + &Close Preview + &Zavřít náhled + + + + Save &Image... + &Uložit obraz... + + + + &Print... + &Tisk... + + + + Additional Fonts... + Dodatečná písma... + + + + The file %1 could not be opened. +Reason: %2 +Would you like to retry or select a different file? + Soubor %1 se nepodařilo otevřít: +%2 +Chcete to zkusit ještě jednou, nebo vybrat jiný soubor? + + + + It was not possible to write the entire file %1 to disk. +Reason:%2 +Would you like to retry? + Soubor %1 se nepodařilo úplně zapsat na disk: +Důvod: %2 +Chcete to zkusit ještě jednou? + + + + Image files (*.%1) + Soubory s obrazem (*.%1) + + + + + Save Image + Uložit obraz + + + + The file %1 could not be written. + Soubor %1 se nepodařilo zapsat. + + + + &New... + &Nový... + + + + &Open... + &Otevřít... + + + + &Save + &Uložit + + + + Save &As... + Uložit &jako... + + + + Save A&ll + &Uložit vše + + + + Save As &Template... + Uložit jako &předlohu... + + + + + &Close + &Zavřít + + + + View &Code... + Ukázat &kód... + + + + + Save Form As + Uložit formulář jako + + + + Preview failed + Nepodařilo se vytvořit žádný náhled + + + + Code generation failed + Nepodařilo se vytvořit žádný kód + + + + + Assistant + Assistant + + + + Saved image %1. + Obraz byl uložen pod %1. + + + + Printed %1. + %1 byl vytištěn. + + + + ALT+CTRL+S + ALT+CTRL+S + + + + QDesignerAppearanceOptionsPage + + + Appearance + Tab in preferences dialog + Vzhled + + + + QDesignerAppearanceOptionsWidget + + + Docked Window + Režim ukotveného okna + + + + Multiple Top-Level Windows + Režim více oken + + + + Toolwindow Font + Písmo pro okno s nástroji + + + + QDesignerAxWidget + + + Reset control + Nastavit znovu ovládací prvek + + + + Set control + Nastavit ovládací prvek + + + + Control loaded + Ovládací prvek nahrán + + + + A COM exception occurred when executing a meta call of type %1, index %2 of "%3". + Při vyvolání postupu typu %1 se vyskytla výjimka COM, rejstřík %2 "%3". + + + + QDesignerFormBuilder + + + Script errors occurred: + Vyskytly se chyby ve skriptech: + + + + The preview failed to build. + Nepodařilo se vytvořit žádný náhled. + + + + Designer + Designer + + + + QDesignerFormWindow + + + %1 - %2[*] + %1 - %2[*] + + + + Save Form? + Uložit formulář? + + + + Do you want to save the changes to this document before closing? + Chcete v tomto formuláři uložit před zavřením změny? + + + + If you don't save, your changes will be lost. + Pokud neprovedete uložení, budou vaše změny ztraceny. + + + + QDesignerMenu + + + Type Here + Zadejte text + + + + Add Separator + Přidat oddělovač + + + + Insert separator + Vložit oddělovač + + + + Remove action '%1' + Odstranit činnost '%1' + + + + Remove separator + Odstranit oddělovač + + + + + Add separator + Přidat oddělovač + + + + Insert action + Vložit činnost + + + + QDesignerMenuBar + + + Type Here + Zadejte text + + + + Remove Menu '%1' + Odstranit nabídku '%1' + + + + Remove Menu Bar + Odstranit pruh s nabídkou + + + + Menu + Nabídka + + + + QDesignerPluginManager + + + An XML error was encountered when parsing the XML of the custom widget %1: %2 + Chyba při vyhodnocování XML uživatelsky stanoveného prvku %1: %2 + + + + A required attribute ('%1') is missing. + U prvku chybí vyžadovaná vlastnost ('%1'). + + + + An invalid property specification ('%1') was encountered. Supported types: %2 + '%1' není platným vymezením vlastnosti. Jsou podporovány následující typy: %2 + + + + '%1' is not a valid string property specification. + '%1' není platným vymezením vlastnosti řetězce znaků. + + + + The XML of the custom widget %1 does not contain any of the elements <widget> or <ui>. + Kód XML pro prvek %1 neobsahuje platný kořenový prvek (<widget>, nebo <ui>). + + + + The class attribute for the class %1 is missing. + Chybí vlastnost třídy pro třídu %1. + + + + The class attribute for the class %1 does not match the class name %2. + Vlastnost třídy pro třídu %1 neodpovídá názvu třídy (%2). + + + + QDesignerPropertySheet + + + Dynamic Properties + Dynamické vlastnosti + + + + QDesignerResource + + + The layout type '%1' is not supported, defaulting to grid. + Typ rozvržení '%1' není podporován; bylo vytvořeno mřížkové rozvržení. + + + + The container extension of the widget '%1' (%2) returned a widget not managed by Designer '%3' (%4) when queried for page #%5. +Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget. + Kontejnerové rozšíření prvku '%1' (%2) vrátilo pro stranu %5 prvek '%3' (%4), který není spravován programem Designer. +Kontejnerové stránky by měly být zadány výhradně v XML vráceném postupu domXML() uživatelsky stanoveného prvku. + + + + Unexpected element <%1> + Parsing clipboard contents + Neplatný prvek <%1> + + + + Error while pasting clipboard contents at line %1, column %2: %3 + Parsing clipboard contents + Chyba při vložení obsahu schránky, řádek %1, sloupec %2: %3 + + + + Error while pasting clipboard contents: The root element <ui> is missing. + Parsing clipboard contents + Chyba při vložení obsahu schránky: Kořenový prvek <ui> chybí. + + + + QDesignerSharedSettings + + + The template path %1 could not be created. + Adresář s předlohami %1 se nepodařilo zřídit. + + + + An error has been encountered while parsing device profile XML: %1 + Při čtení XML profilu zařízení se vyskytla chyba: %1 + + + + QDesignerToolWindow + + + Property Editor + Editor vlastností + + + + Action Editor + Editor činností + + + + Object Inspector + Ukazatel předmětů + + + + Resource Browser + Prohlížeč zdrojů + + + + Signal/Slot Editor + Editor signálů a zdířek + + + + Widget Box + Krabice s prvky + + + + QDesignerWorkbench + + + &File + &Soubor + + + + F&orm + F&ormulář + + + + Preview in + Náhled v + + + + &Window + &Okno + + + + &Help + &Nápověda + + + + Edit + Úpravy + + + + Toolbars + Nástrojové pruhy + + + + Save Forms? + Uložit formuláře? + + + + &View + &Pohled + + + + &Settings + &Nastavení + + + + Widget Box + Krabice s prvky + + + + If you do not review your documents, all your changes will be lost. + Změny budou ztraceny, pokud se na formuláře ještě jednou nepodíváte. + + + + Discard Changes + Zahodit změny + + + + Review Changes + Podívat se na změny + + + + Backup Information + Informace o ukládání na pozadí + + + + The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them? + Designer zřejmě nebyl řádně ukončen; existují soubory z ukládání na pozadí. Chcete je nahrát? + + + + The file <b>%1</b> could not be opened. + Soubor <b>%1</b> se nepodařilo otevřít. + + + + The file <b>%1</b> is not a valid Designer UI file. + Soubor <b>%1</b> není platným souborem rozhraní programu Designer. + + + + There are %n forms with unsaved changes. Do you want to review these changes before quitting? + + Formulář byl změněn, ale změny nebyl uloženy. Chcete se na tyto změny podívat předtím, než program ukončíte? + %n formuláře byly změněny, ale změny nebyl uloženy. Chcete se na tyto změny podívat předtím, než program ukončíte? + %n formuláře byly změněny, ale změny nebyl uloženy. Chcete se na tyto změny podívat předtím, než program ukončíte? + + + + + QFormBuilder + + + An empty class name was passed on to %1 (object name: '%2'). + Empty class name passed to widget factory method + Postupu %1 byl předán prázdný název třídy (název předmětu '%2'). + + + + QFormBuilder was unable to create a custom widget of the class '%1'; defaulting to base class '%2'. + QFormBuilderu se nepodařilo vytvořit uživatelsky stanovený prvek třídy '%1'; byl vytvořen prvek základní třídy '%2'. + + + + QFormBuilder was unable to create a widget of the class '%1'. + QFormBuilderu se nepodařilo vytvořit předmět třídy '%1'. + + + + The layout type `%1' is not supported. + Rozvržení typu `%1' nejsou podporována. + + + + The set-type property %1 could not be read. + Vlastnost %1 se nepodařilo přečíst (typ: množství). + + + + The enumeration-type property %1 could not be read. + Vlastnost %1 se nepodařilo přečíst (typ: výčet). + + + + Reading properties of the type %1 is not supported yet. + Čtení vlastností typu %1 není podporováno. + + + + The property %1 could not be written. The type %2 is not supported yet. + Vlastnost %1 se nepodařilo zapsat, protože typ %2 není podporován. + + + + QStackedWidgetEventFilter + + + Previous Page + Předchozí strana + + + + Next Page + Další strana + + + + Delete + Smazat + + + + Before Current Page + Před nynější stranu + + + + After Current Page + Po nynější straně + + + + Change Page Order... + Změnit pořadí stran... + + + + Change Page Order + Změnit pořadí stran + + + + Page %1 of %2 + Strana %1 z %2 + + + + + Insert Page + Vložit stranu + + + + QStackedWidgetPreviewEventFilter + + + Go to previous page of %1 '%2' (%3/%4). + Jít na předchozí stranu %1 '%2' (%3/%4). + + + + Go to next page of %1 '%2' (%3/%4). + Jít na další stranu %1 '%2' (%3/%4). + + + + QTabWidgetEventFilter + + + Delete + Smazat + + + + Before Current Page + Před nynější stranu + + + + After Current Page + Po nynější straně + + + + Page %1 of %2 + Strana %1 z %2 + + + + + Insert Page + Vložit stranu + + + + QToolBoxHelper + + + Delete Page + Smazat stranu + + + + Before Current Page + Před nynější stranu + + + + After Current Page + Po nynější straně + + + + Change Page Order... + Změnit pořadí stran... + + + + Change Page Order + Změnit pořadí stran + + + + Page %1 of %2 + Strana %1 z %2 + + + + Insert Page + Vložit stranu + + + + QtBoolEdit + + + + + True + Pravdivý + + + + + False + Nepravdivý + + + + QtBoolPropertyManager + + + True + Pravdivý + + + + False + Nepravdivý + + + + QtCharEdit + + + Clear Char + Smazat znak + + + + QtColorEditWidget + + + ... + ... + + + + QtColorPropertyManager + + + Red + Červená + + + + Green + Zelená + + + + Blue + Modrá + + + + Alpha + Alfa + + + + QtCursorDatabase + + + Arrow + Šipka + + + + Up Arrow + Šipka nahoru + + + + Cross + Křížící se čáry + + + + Wait + Přesýpací hodiny + + + + IBeam + I trámec + + + + Size Vertical + Zvětšit svisle + + + + Size Horizontal + Zvětšit vodorovně + + + + Size Backslash + Zvětšit zpětné/obrácené lomítko + + + + Size Slash + Zvětšit lomítko + + + + Size All + Zvětšit vše + + + + Blank + Prázdný + + + + Split Vertical + Rozdělit svisle + + + + Split Horizontal + Rozdělit vodorovně + + + + Pointing Hand + Ukazující ruka + + + + Forbidden + Zakázáno + + + + Open Hand + Otevřená ruka + + + + Closed Hand + Zavřená ruka + + + + What's This + A co je toto + + + + Busy + Zaneprázdněn + + + + QtFontEditWidget + + + ... + ... + + + + Select Font + Vybrat písmo + + + + QtFontPropertyManager + + + Family + Písmová rodina + + + + Point Size + Bodová velikost + + + + Bold + Tučné + + + + Italic + Kurzíva + + + + Underline + Podtržení + + + + Strikeout + Přeškrtnuté + + + + Kerning + Podřezávání + + + + QtGradientDialog + + + Edit Gradient + Upravit přechod + + + + QtGradientEditor + + + Start X + Začáteční hodnota x + + + + Start Y + Začáteční hodnota y + + + + Final X + Koncová hodnota x + + + + Final Y + Koncová hodnota y + + + + + Central X + Střed x + + + + + Central Y + Střed y + + + + Focal X + Ohnisko x + + + + Focal Y + Ohnisko y + + + + Radius + Poloměr + + + + Angle + Úhel + + + + Linear + Přímočarý + + + + Radial + Paprskovitý + + + + Conical + Kuželovitý + + + + Pad + Doplnit + + + + Repeat + Opakovat + + + + Reflect + Zrcadlit + + + + Form + Formulář + + + + Gradient Editor + Úpravy přechodů + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + Gradient Stops Editor + Editor bodů zastavení přechodu + + + + This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions. + Tato oblast slouží pro úpravy bodů zastavení přechodu. Dvakrát klepněte na orientační bod kvůli jeho zdvojení. Dvakrát klepněte na plochu kvůli vytvoření nového orientačního bodu. Použijte tažení & upuštění pro posunutí bodu. Pravým tlačítkem myši se vyvolává nabídka s dalšími souvisejícími volbami. + + + + Zoom + Zvětšení + + + + Position + Poloha + + + + Hue + Barevný odstín + + + + H + H + + + + Saturation + Sytost + + + + S + S + + + + Sat + Sytost + + + + Value + Hodnota + + + + V + V + + + + Val + Hodnota + + + + Alpha + Alfa + + + + A + A + + + + Type + Typ + + + + Spread + Rozšiřování + + + + Color + Barva + + + + Current stop's color + Barva nynějšího zastavení + + + + HSV + HSV + + + + RGB + RGB + + + + Current stop's position + Poloha nynějšího zastavení + + + + % + % + + + + Zoom In + Přiblížit + + + + Zoom Out + Oddálit + + + + Toggle details extension + Zařadit další volby + + + + > + > + + + + Linear Type + Přímočarý typ + + + + ... + ... + + + + Radial Type + Paprskovitý typ + + + + Conical Type + Kuželovitý typ + + + + Pad Spread + Doplnit rozšiřování + + + + Repeat Spread + Opakovat rozšiřování + + + + Reflect Spread + Zrcadlit rozšiřování + + + + This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop. + tato oblast ukazuje náhled právě upravovaného přechodu. Zde můžete upravovat proměnné příznačné pro přechod, jako začáteční a koncový bod, poloměr etd. pomocí tažení a pouštění. + + + + Show HSV specification + Ukázat přesné vymezení HSV + + + + Show RGB specification + Ukázat přesné vymezení RGB + + + + Reset Zoom + Nastavit znovu zvětšení + + + + QtGradientStopsWidget + + + New Stop + Nové zastavení + + + + Delete + Smazat + + + + Flip All + Obrátit vše + + + + Select All + Vybrat vše + + + + Zoom In + Zvětšit + + + + Zoom Out + Zmenšit + + + + Reset Zoom + Nastavit znovu zvětšení + + + + QtGradientView + + + Grad + Přechod + + + + Remove Gradient + Odstranit přechod + + + + Are you sure you want to remove the selected gradient? + Opravdu chcete odstranit vybraný přechod? + + + + + New... + Nový... + + + + + Edit... + Upravit... + + + + + Rename + Přejmenovat + + + + + Remove + Odstranit + + + + Gradient View + Pohled na přechod + + + + QtGradientViewDialog + + + Select Gradient + Vybrat přechod + + + + QtKeySequenceEdit + + + Clear Shortcut + Smazat klávesové zkratky + + + + QtLocalePropertyManager + + + %1, %2 + %1, %2 + + + + Language + Jazyk + + + + Country + Země + + + + QtPointFPropertyManager + + + (%1, %2) + (%1, %2) + + + + X + X + + + + Y + Y + + + + QtPointPropertyManager + + + (%1, %2) + (%1, %2) + + + + X + X + + + + Y + Y + + + + QtPropertyBrowserUtils + + + [%1, %2, %3] (%4) + [%1, %2, %3] (%4) + + + + [%1, %2] + [%1, %2] + + + + QtRectFPropertyManager + + + [(%1, %2), %3 x %4] + [(%1, %2), %3 x %4] + + + + X + X + + + + Y + Y + + + + Width + Šířka + + + + Height + Výška + + + + QtRectPropertyManager + + + [(%1, %2), %3 x %4] + [(%1, %2), %3 x %4] + + + + X + X + + + + Y + Y + + + + Width + Šířka + + + + Height + Výška + + + + QtResourceEditorDialog + + + Edit Resources + Upravit zdroje + + + + New... + Nový... + + + + + New Resource File + Nový zdrojový soubor + + + + <p><b>Warning:</b> The file</p><p>%1</p><p>is outside of the current resource file's parent directory.</p> + <p><b>Upozornění:</b><p>Zvolený soubor: </p><p>%1</p><p>se nachází mimo adresář se nynějším zdrojovým souborem:</p> + + + + <p>To resolve the issue, press:</p><table><tr><th align="left">Copy</th><td>to copy the file to the resource file's parent directory.</td></tr><tr><th align="left">Copy As...</th><td>to copy the file into a subdirectory of the resource file's parent directory.</td></tr><tr><th align="left">Keep</th><td>to use its current location.</td></tr></table> + <p>Zvolte, prosím:</p><table><tr><th align="left">Kopírovat</th><td>pro zkopírování souboru do adresáře se zdrojovým souborem.</td></tr><tr><th align="left">Kopírovat jako...</th><td>pro zkopírování souboru do podadresáře se zdrojovým souborem.</td></tr><tr><th align="left">Zachovat</th><td>, aby se soubor používal ve svém nynějším adresáři.</td></tr></table> + + + + Could not copy +%1 +to +%2 + Kopírování se nezdařilo: +%1 +zu: +%2 + + + + A parse error occurred at line %1, column %2 of %3: +%4 + V souboru %3 se na řádku %1, v sloupci %2 vyskytla chyba: + %4 + + + + Open... + Otevřít... + + + + + Remove + Odstranit + + + + + Move Up + Posunout nahoru + + + + + Move Down + Posunout dolů + + + + + Add Prefix + Přidat předponu + + + + Add Files... + Přidat soubory... + + + + Change Prefix + Změnit předponu + + + + Change Language + Změnit jazyk + + + + Change Alias + Změnit přezdívku + + + + Clone Prefix... + Zdvojit předponu... + + + + Prefix / Path + Předpona/Cesta + + + + Language / Alias + Jazyk/Přezdívka + + + + <html><p><b>Warning:</b> There have been problems while reloading the resources:</p><pre>%1</pre></html> + <html><p><b>Varování:</b> Při opětovném nahrání souboru se vyskytly chyby:</p><pre>%1</pre></html> + + + + Resource Warning + Zdroje - Varování + + + + Dialog + Dialog + + + + New File + Nový soubor + + + + N + N + + + + Remove File + Odstranit soubor + + + + R + L + + + + I + I + + + + New Resource + Nový zdroj + + + + A + A + + + + Remove Resource or File + Odstranit zdroj nebo soubor + + + + %1 already exists. +Do you want to replace it? + Soubor %1 již existuje. +Chcete jej nahradit? + + + + The file does not appear to be a resource file; element '%1' was found where '%2' was expected. + Soubor zřejmě není zdrojovým souborem; Na místě, kde byl očekáván prvek '%2' byl nalezen prvek '%1'. + + + + %1 [read-only] + %1 [pouze pro čtení] + + + + + %1 [missing] + %1 [chybí] + + + + <no prefix> + <žádná předpona> + + + + + Resource files (*.qrc) + Zdrojové soubory (*.qrc) + + + + Import Resource File + Zavést zdrojový soubor + + + + newPrefix + nováPředpona + + + + Add Files + Přidat soubory + + + + Incorrect Path + Nesprávný údaj o cestě + + + + + + + Copy + Kopírovat + + + + Copy As... + Kopírovat jako... + + + + Keep + Zachovat + + + + Skip + Přeskočit + + + + Clone Prefix + Zdvojit předponu + + + + Enter the suffix which you want to add to the names of the cloned files. +This could for example be a language extension like "_de". + Zadejte, prosím, příponu, kterou chcete přidat k názvům zdvojených souborů. +Může to být například jazykové rozšíření "_cs". + + + + + Copy As + Kopírovat jako + + + + <p>The selected file:</p><p>%1</p><p>is outside of the current resource file's directory:</p><p>%2</p><p>Please select another path within this directory.<p> + <p>Vybraný soubor: </p><p>%1</p><p>se nachází mimo adresář se zdrojovým souborem:</p><p>%2</p><p>Zvolte, prosím, jinou cestu, která je obsažena v tomto adresáři.</p> + + + + Could not overwrite %1. + %1 se nepodařilo přepsat. + + + + Save Resource File + Uložit zdrojový soubor + + + + Could not write %1: %2 + Soubor %1 se nepodařilo zapsat: %2 + + + + Open Resource File + Otevřít zdrojový soubor + + + + QtResourceView + + + Size: %1 x %2 +%3 + Velikost: %1 x %2 +%3 + + + + Edit Resources... + Upravit zdroje... + + + + Reload + Nahrát znovu + + + + Copy Path + Kopírovat cestu + + + + QtResourceViewDialog + + + Select Resource + Vybrat zdroj + + + + QtSizeFPropertyManager + + + %1 x %2 + %1 x %2 + + + + Width + Šířka + + + + Height + Výška + + + + QtSizePolicyPropertyManager + + + + <Invalid> + <Neplatný> + + + + [%1, %2, %3, %4] + [%1, %2, %3, %4] + + + + Horizontal Policy + Vodorovné nastavení + + + + Vertical Policy + Svislé nastavení + + + + Horizontal Stretch + Vodorovné protažení + + + + Vertical Stretch + Svislé protažení + + + + QtSizePropertyManager + + + %1 x %2 + %1 x %2 + + + + Width + Šířka + + + + Height + Výška + + + + QtToolBarDialog + + + < S E P A R A T O R > + < O D D Ě L O V A Č > + + + + Customize Toolbars + Přizpůsobit nástrojové pruhy + + + + 1 + 1 + + + + Actions + Činnosti + + + + Toolbars + Nástrojové pruhy + + + + New + Nový + + + + Remove + Odstranit + + + + Rename + Přejmenovat + + + + Up + Nahoru + + + + <- + <- + + + + -> + -> + + + + Down + Dolů + + + + Current Toolbar Actions + Činnosti současného nástrojového pruhu + + + + Custom Toolbar + Uživatelsky stanovené nástrojové pruhy + + + + Add new toolbar + Přidat nový nástrojový pruh + + + + Remove selected toolbar + Odstranit vybraný nástrojový pruh + + + + Rename toolbar + Přejmenovat nástrojový pruh + + + + Move action up + Posunout činnost nahoru + + + + Remove action from toolbar + Odstranit činnost z nástrojového pruhu + + + + Add action to toolbar + Přidat činnost do nástrojového pruhu + + + + Move action down + Posunout činnost dolů + + + + QtTreePropertyBrowser + + + Property + Vlastnost + + + + Value + Hodnota + + + + SaveFormAsTemplate + + + Add path... + Přidat cestu... + + + + Template Exists + Předloha již existuje + + + + A template with the name %1 already exists. +Do you want overwrite the template? + Již existuje předloha s názvem %1. +Chcete tuto předlohu přepsat? + + + + Overwrite Template + Přepsat předlohu + + + + Open Error + Chyba při otevírání + + + + There was an error opening template %1 for writing. Reason: %2 + Předlohu %1 se nepodařilo otevřít pro zápis. Důvod: %2 + + + + Write Error + Chyba při zápisu + + + + There was an error writing the template %1 to disk. Reason: %2 + Předlohu %1 se nepodařilo zapsat do souboru na disku. Důvod: %2 + + + + Pick a directory to save templates in + Vyberte adresář pro ukládání předloh + + + + Save Form As Template + Uložit formulář jako předlohu + + + + &Category: + &Skupina: + + + + &Name: + &Název: + + + + ScriptErrorDialog + + + An error occurred while running the scripts for "%1": + + Při provádění skriptu "%1" se vyskytly chyby: + + + + + SelectSignalDialog + + + Go to slot + Jít na zdířku + + + + Select signal + Vybrat signál + + + + signal + Signál + + + + class + Třída + + + + SignalSlotConnection + + + SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4) + VYSÍLAČ(%1), SIGNÁL(%2), PŘIJÍMAČ(%3), ZDÍŘKA(%4) + + + + SignalSlotDialogClass + + + Signals and slots + Signály a zdířky + + + + Slots + Zdířky + + + + ... + ... + + + + Signals + Signály + + + + Add + Přidat + + + + Delete + Smazat + + + + Spacer + + + Horizontal Spacer '%1', %2 x %3 + Vodorovný vymezovač '%1', %2 x %3 + + + + Vertical Spacer '%1', %2 x %3 + Svislý vymezovač '%1', %2 x %3 + + + + TemplateOptionsPage + + + Template Paths + Tab in preferences dialog + Adresáře pro předlohy + + + + ToolBarManager + + + Configure Toolbars... + Nastavit nástrojové pruhy... + + + + Window + Okno + + + + Help + Nápověda + + + + Style + Styl + + + + Dock views + Kotvící okno + + + + Toolbars + Nástrojové pruhy + + + + VersionDialog + + + <h3>%1</h3><br/><br/>Version %2 + <h3>%1</h3><br/><br/>Verze %2 + + + + Qt Designer + Qt Designer + + + + <br/>Qt Designer is a graphical user interface designer for Qt applications.<br/> + <br/>Qt Designer je obrazový návrhář uživatelského rozhraní pro programy Qt.<br/> + + + + %1<br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + %1<br/>Autorské právo (C) 2009 Nokia Corporation a/nebo její dceřinná společnost(i). + + + + WidgetDataBase + + + The file contains a custom widget '%1' whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged. + Soubor obsahuje uživatelsky stanovený prvek '%1', jehož základní třída (%2) se neshoduje se současným záznamem v databázi prvků (%3). databáze prvků se nemění. + + + + qdesigner_internal::ActionEditor + + + Actions + Činnosti + + + + New... + Nový... + + + + Delete + Smazat + + + + New action + Nová činnost + + + + Edit action + Upravit činnost + + + + Edit... + Upravit... + + + + Go to slot... + Jít na zdířku... + + + + Copy + Kopírovat + + + + Cut + Vyjmout + + + + Paste + Vložit + + + + Select all + Vybrat vše + + + + Icon View + Pohled s ikonami + + + + Detailed View + Podrobný pohled + + + + Remove actions + Odstranit činnosti + + + + Remove action '%1' + Odstranit činnost '%1' + + + + Used In + Používaný v + + + + Configure Action Editor + Nastavit editor činností + + + + qdesigner_internal::ActionModel + + + Name + Název + + + + Used + Používaný + + + + Text + Text + + + + Shortcut + Klávesová zkratka + + + + Checkable + Zaškrtnutelná + + + + ToolTip + Rada k nástroji + + + + qdesigner_internal::BrushManagerProxy + + + The element '%1' is missing the required attribute '%2'. + U prvku '%1' chybí vyžadovaná vlastnost '%2'.. + + + + Empty brush name encountered. + Chybějící název u vymezení štětce. + + + + An unexpected element '%1' was encountered. + Byl zjištěn neplatný prvek '%1'. + + + + An error occurred when reading the brush definition file '%1' at line line %2, column %3: %4 + Chyba při čtení souboru s vymezením štětce '%1' na řádku %2, sloupec %3: %4 + + + + An error occurred when reading the resource file '%1' at line %2, column %3: %4 + Chyba při čtení zdrojového souboru '%1' na řádku %2, sloupec %3: %4 + + + + qdesigner_internal::BuddyEditor + + + Add buddy + Přidat kamaráda + + + + Remove buddies + Odstranit kamarády + + + + Remove %n buddies + + Odstranit jednoho kamaráda + Odstranit %n kamarády + Odstranit %n kamarády + + + + + Add %n buddies + + Přidat jednoho kamaráda + Přidat %n kamarády + Přidat %n kamarády + + + + + Set automatically + Nastavit automaticky + + + + qdesigner_internal::BuddyEditorPlugin + + + Edit Buddies + Upravit kamarády + + + + qdesigner_internal::BuddyEditorTool + + + Edit Buddies + Upravit kamarády + + + + qdesigner_internal::ButtonGroupMenu + + + Select members + Vybrat členy + + + + Break + Zrušit + + + + qdesigner_internal::ButtonTaskMenu + + + Assign to button group + Přiřadit ke skupině tlačítek + + + + Button group + Skupina tlačítek + + + + New button group + Nová skupina tlačítek + + + + Change text... + Změnit text... + + + + None + Žádný + + + + Button group '%1' + Skupina tlačítek '%1' + + + + qdesigner_internal::CodeDialog + + + Save... + Uložit... + + + + Copy All + Kopírovat vše + + + + &Find in Text... + &Najít v textu... + + + + A temporary form file could not be created in %1. + V adresáři %1 se nepodařilo vytvořit dočasný soubor s formulářem. + + + + The temporary form file %1 could not be written. + Dočasný soubor s formulářem %1 se nepodařilo zapsat. + + + + %1 - [Code] + %1 - [Kód] + + + + Save Code + Uložit kód + + + + Header Files (*.%1) + Hlavičkové soubory (*.%1) + + + + The file %1 could not be opened: %2 + Soubor %1 se nepodařilo otevřít: %2 + + + + The file %1 could not be written: %2 + Soubor %1 se nepodařilo zapsat: %2 + + + + %1 - Error + %1 - Chyba + + + + qdesigner_internal::ColorAction + + + Text Color + Barva textu + + + + qdesigner_internal::ComboBoxTaskMenu + + + Edit Items... + Upravit záznamy... + + + + Change Combobox Contents + Změnit obsah skupinové krabice + + + + qdesigner_internal::CommandLinkButtonTaskMenu + + + Change description... + Změnit popis... + + + + qdesigner_internal::ConnectionEdit + + + Select All + Vybrat vše + + + + Delete + Smazat + + + + Deselect All + Zrušit výběr všeho + + + + qdesigner_internal::ConnectionModel + + + Sender + Vysílač + + + + Signal + Signál + + + + Receiver + Přijímač + + + + Slot + Zdířka + + + + <sender> + <Vysílač> + + + + <signal> + <Signál> + + + + <receiver> + <Přijímač> + + + + <slot> + <Zdířka> + + + + Signal and Slot Editor + Editor signálů a zdířek + + + + The connection already exists!<br>%1 + Toto spojení již existuje!<br>%1</br> + + + + qdesigner_internal::ContainerWidgetTaskMenu + + + Insert Page Before Current Page + Vložit stranu před nynější stranu + + + + Insert Page After Current Page + Vložit stranu po nynější straně + + + + Add Subwindow + Přidat podokno + + + + Delete + Smazat + + + + Insert + Vložit + + + + Subwindow + Podokno + + + + Page + Strana + + + + Page %1 of %2 + Strana %1 z %2 + + + + qdesigner_internal::DPI_Chooser + + + x + DPI X/Y separator + x + + + + System (%1 x %2) + System resolution + Systémové rozlišení (%1 x %2) + + + + User defined + Stanoveno uživatelem + + + + qdesigner_internal::DesignerPropertyManager + + + + AlignLeft + Zarovnat k levému okraji + + + + AlignHCenter + Zarovnat vodorovně na střed + + + + AlignRight + Zarovnat k pravému okraji + + + + AlignJustify + Zarovnat do bloku + + + + AlignTop + Zarovnat k hornímu okraji + + + + + AlignVCenter + Zarovnat svisle na střed + + + + AlignBottom + Zarovnat k dolnímu okraji + + + + %1, %2 + %1, %2 + + + + Customized (%n roles) + + Přizpůsobeno (role) + Přizpůsobeno (%n role) + Přizpůsobeno (%n role) + + + + + Inherited + Zděděno + + + + Horizontal + Vodorovný + + + + Vertical + Svislý + + + + Normal Off + Obvyklé, vypnuto + + + + Normal On + Obvyklé, zapnuto + + + + Disabled Off + Zakázáno, vypnuto + + + + Disabled On + Zakázáno, zapnuto + + + + Active Off + V činnosti, vypnuto + + + + Active On + V činnosti, zapnuto + + + + Selected Off + Vybráno, vypnuto + + + + Selected On + Vybráno, zapnuto + + + + + translatable + Překlad + + + + + disambiguation + Zabránění dvojznačnosti + + + + + comment + Poznámka + + + + qdesigner_internal::DeviceProfileDialog + + + Device Profiles (*.%1) + Profily zařízení (*.%1) + + + + Default + Výchozí + + + + Save Profile + Uložit profil + + + + Save Profile - Error + Chyba při ukládání profilu + + + + Unable to open the file '%1' for writing: %2 + Soubor '%1' se nepodařilo otevřít pro zápis: %2 + + + + Unable to open the file '%1' for reading: %2 + Soubor '%1' se nepodařilo otevřít pro čtení: %2 + + + + '%1' is not a valid profile: %2 + '%1' není platným profilem: %2 + + + + Open profile + Otevřít profil + + + + + Open Profile - Error + Chyba při otevírání profilu + + + + qdesigner_internal::Dialog + + + Dialog + Dialog + + + + StringList + Seznam řetězců znaků + + + + New String + Nový řetězec znaků + + + + &New + &Nový + + + + Delete String + Smazat řetězec znaků + + + + &Delete + &Smazat + + + + &Value: + &Hodnota: + + + + Move String Up + Posunout řetězec znaků nahoru + + + + Up + Nahoru + + + + Move String Down + Posunout řetězec znaků dolů + + + + Down + Dolů + + + + qdesigner_internal::EmbeddedOptionsControl + + + None + Žádný + + + + Add a profile + Přidat profil + + + + Edit the selected profile + Upravit vybraný profil + + + + Delete the selected profile + Smazat vybraný profil + + + + Add Profile + Přidat profil + + + + New profile + Nový profil + + + + Edit Profile + Upravit profil + + + + Delete Profile + Smazat profil + + + + Would you like to delete the profile '%1'? + Chcete smazat profil '%1'? + + + + Default + Výchozí + + + + qdesigner_internal::FilterWidget + + + <Filter> + <FIltr> + + + + qdesigner_internal::FormEditor + + + Resource File Changed + Zdrojový soubor byl změněn + + + + The file "%1" has changed outside Designer. Do you want to reload it? + Zdrojový soubor "%1" byl změněn mimo program Designer. Chcete jej znovu nahrát? + + + + qdesigner_internal::FormLayoutMenu + + + Add form layout row... + Přidat řádek s rozvržením formuláře... + + + + qdesigner_internal::FormWindow + + + Edit contents + Upravit obsah + + + + F2 + F2 + + + + Resize + Změnit velikost + + + + + Key Move + Posunout s pomocí klávesnice + + + + Paste error + Chyba při vložení + + + + Lay out + Rozvržení + + + + + Drop widget + Vložit prvek + + + + Paste %n action(s) + + Vložit jednu činnost + Vložit %n činnosti + Vložit %n činnosti + + + + + Insert widget '%1' + Vložit prvek '%1' + + + + Paste %n widget(s) + + Vložit jeden prvek + Vložit %n prvky + Vložit %n prvky + + + + + Paste (%1 widgets, %2 actions) + Vložit (%1 prvky, %2 činnosti) + + + + Cannot paste widgets. Designer could not find a container without a layout to paste into. + Prvky nelze vložit, protože se nepodařilo nalézt kontejner, který již nemá rozvržení. + + + + Break the layout of the container you want to paste into, select this container and then paste again. + Zrušte, prosím, rozvržení kontejneru, do kterého chcete vkládat. Vyberte jej znovu a proveďte vložení znovu. + + + + Select Ancestor + Vybrat nadřazený prvek + + + + A QMainWindow-based form does not contain a central widget. + Formulář založený na QMainWindow neobsahuje ústřední prvek. + + + + Raise widgets + Přenést prvky do popředí + + + + Lower widgets + Přenést prvky do pozadí + + + + qdesigner_internal::FormWindowBase + + + Delete + Smazat + + + + Delete '%1' + Smazat '%1' + + + + qdesigner_internal::FormWindowManager + + + Cu&t + Vyj&mout + + + + Cuts the selected widgets and puts them on the clipboard + Vyjme vybrané prvky a odloží je do schránky + + + + &Copy + &Kopírovat + + + + Copies the selected widgets to the clipboard + Zkopíruje vybrané prvky do schránky + + + + &Paste + &Vložit + + + + Pastes the clipboard's contents + Vloží obsah schránky + + + + &Delete + &Smazat + + + + Deletes the selected widgets + Smaže vybrané prvky + + + + Select &All + Vybrat &vše + + + + Selects all widgets + Vybere všechny prvky + + + + Bring to &Front + Přenést do &popředí + + + + + Raises the selected widgets + Přenese vybrané prvky do popředí + + + + Send to &Back + Přenést do po&zadí + + + + + Lowers the selected widgets + Přenese vybrané prvky do pozadí + + + + Adjust &Size + Přizpůsobit &velikost + + + + Adjusts the size of the selected widget + Spočítá velikost vybraného prvku z rozvržení a přizpůsobí velikost prvku + + + + Lay Out &Horizontally + Uspořádat předměty &vodorovně + + + + Lays out the selected widgets horizontally + Uspořádá vybrané předměty vodorovně + + + + Lay Out &Vertically + Uspořádat předměty &svisle + + + + Lays out the selected widgets vertically + Uspořádá vybrané předměty svisle + + + + Lay Out in a &Grid + Uspořádat předměty &tabulkově + + + + Lays out the selected widgets in a grid + Uspořádá vybrané předměty tabulkově + + + + Lay Out Horizontally in S&plitter + Uspořádat předměty vodorovně okolo &dělící příčky + + + + Lays out the selected widgets horizontally in a splitter + Uspořádá vybrané předměty vodorovně okolo dělící příčky + + + + Lay Out Vertically in Sp&litter + Uspořádat předměty svisle okolo dě&lící příčky + + + + Lays out the selected widgets vertically in a splitter + Uspořádá vybrané předměty svisle okolo dělící příčky + + + + &Break Layout + &Zrušit rozvržení + + + + Breaks the selected layout + Zruší vybrané rozvržení + + + + &Preview... + &Náhled... + + + + Preview current form + Náhled nynějšího formuláře + + + + Form &Settings... + &Nastavení formuláře... + + + + Break Layout + Zrušit rozvržení + + + + Adjust Size + Přizpůsobit velikost + + + + Could not create form preview + Title of warning message box + Nepodařilo se vytvořit náhled formuláře + + + + Form Settings - %1 + Nastavení formuláře - %1 + + + + Removes empty columns and rows + Odstraní prázdné řádky a sloupce + + + + Lay Out in a &Form Layout + Uspořádat předměty v &rozvržení formuláře + + + + Lays out the selected widgets in a form layout + Uspořádá vybrané předměty v dvousloupcovém rozvržení formuláře + + + + Si&mplify Grid Layout + Z&jednodušit tabulkové rozvržení + + + + qdesigner_internal::FormWindowSettings + + + None + Žádný + + + + Device Profile: %1 + Profil zařízení: %1 + + + + qdesigner_internal::GridPanel + + + Visible + Viditelný + + + + Snap + Zapadnout + + + + Reset + Nastavit znovu + + + + Form + Formulář + + + + Grid + Mřížka + + + + Grid &X + Mřížka &x + + + + Grid &Y + Mřížka &y + + + + qdesigner_internal::GroupBoxTaskMenu + + + Change title... + Změnit název... + + + + qdesigner_internal::HtmlTextEdit + + + Insert HTML entity + Vložit HTML znak + + + + qdesigner_internal::IconSelector + + + The pixmap file '%1' cannot be read. + Soubor s pixmapou '%1' nelze přečíst. + + + + The file '%1' does not appear to be a valid pixmap file: %2 + Soubor '%1' není platným souborem s pixmapou: %2 + + + + The file '%1' could not be read: %2 + Soubor %1 se nepodařilo přečít: %2 + + + + Pixmap Read Error + Chyba při čtení pixmapy + + + + ... + ... + + + + Normal Off + Obvyklé, vypnuto + + + + Normal On + Obvyklé, zapnuto + + + + Disabled Off + Zakázáno, vypnuto + + + + Disabled On + Zakázáno, zapnuto + + + + Active Off + V činnosti, vypnuto + + + + Active On + V činnosti, zapnuto + + + + Selected Off + Vybráno, vypnuto + + + + Selected On + Vybráno, zapnuto + + + + Choose Resource... + Vybrat zdroj... + + + + Choose File... + Vybrat soubor... + + + + Reset + Nastavit znovu + + + + Reset All + Nastavit znovu vše + + + + Choose a Pixmap + Vybrat pixmapu + + + + qdesigner_internal::ItemListEditor + + + Properties &<< + Vlastnosti &<< + + + + + Properties &>> + Vlastnosti &>> + + + + Items List + Seznam prvků + + + + New Item + Nový prvek + + + + &New + &Nový + + + + Delete Item + Smazat prvek + + + + &Delete + &Smazat + + + + Move Item Up + Posunout prvek nahoru + + + + U + U + + + + Move Item Down + Posunout prvek dolů + + + + D + D + + + + qdesigner_internal::LabelTaskMenu + + + Change rich text... + Změnit upravovatelný text... + + + + Change plain text... + Změnit prostý text... + + + + qdesigner_internal::LanguageResourceDialog + + + Choose Resource + Vybrat zdroj + + + + qdesigner_internal::LineEditTaskMenu + + + Change text... + Změnit text... + + + + qdesigner_internal::ListWidgetEditor + + + Edit List Widget + Upravit seznam prvků + + + + Edit Combobox + Upravit skupinovou krabici + + + + New Item + Nový prvek + + + + qdesigner_internal::ListWidgetTaskMenu + + + Edit Items... + Upravit prvky... + + + + Change List Contents + Změnit obsah seznamu + + + + qdesigner_internal::MdiContainerWidgetTaskMenu + + + Next Subwindow + Další podokno + + + + Previous Subwindow + Předchozí podokno + + + + Tile + Uspořádat jedno vedle druhého + + + + Cascade + Překrývat + + + + qdesigner_internal::MenuTaskMenu + + + Remove + Odstranit + + + + qdesigner_internal::MorphMenu + + + Morph into + Přeměnit prvek na + + + + qdesigner_internal::NewActionDialog + + + New Action... + Nová činnost... + + + + &Text: + &Text: + + + + Shortcut: + Klávesová zkratka: + + + + Checkable: + Zaškrtnutelná: + + + + ToolTip: + Rada k nástroji: + + + + ... + ... + + + + &Icon: + &Ikona: + + + + Object &name: + &Název předmětu: + + + + qdesigner_internal::NewDynamicPropertyDialog + + + Set Property Name + Nastavit název vlastnosti + + + + The current object already has a property named '%1'. +Please select another, unique one. + nynější předmět již má vlastnost s názvem '%1'. +Zvolte, prosím, jiný, jedinečný název. + + + + Create Dynamic Property + Vytvořit dynamickou vlastnost + + + + Property Name + Název vlastnosti + + + + Property Type + typ vlastnosti + + + + The '_q_' prefix is reserved for the Qt library. +Please select another name. + Předpona '_q_' je používána knihovnou Qt pro vnitřní účely. +Zvolte, prosím, jiný název. + + + + horizontalSpacer + Vodorovný vymezovač + + + + qdesigner_internal::NewFormWidget + + + Default size + Výchozí velikost + + + + QVGA portrait (240x320) + QVGA formát na výšku (240x320) + + + + QVGA landscape (320x240) + QVGA formát na šířku (320x240) + + + + VGA portrait (480x640) + VGA formát na výšku (480x640) + + + + VGA landscape (640x480) + VGA formát na šířku (640x480) + + + + Widgets + New Form Dialog Categories + Prvky + + + + Custom Widgets + Uživatelsky stanovené prvky + + + + None + Žádný + + + + Error loading form + Formulář se nepodařilo nahrát + + + + Unable to open the form template file '%1': %2 + Nepodařilo se otevřít předlohu s formulářem '%1': %2 + + + + Internal error: No template selected. + Vnitřní chyba: Není vybrána žádná předloha. + + + + 0 + 0 + + + + Choose a template for a preview + Vyberte předlohu pro náhled + + + + Embedded Design + Vložený návrh + + + + Device: + Zařízení: + + + + Screen Size: + Velikost obrazovky: + + + + qdesigner_internal::NewPromotedClassPanel + + + Add + Přidat + + + + New Promoted Class + Nová uživatelsky stanovená třída + + + + Base class name: + Název základní třídy: + + + + Promoted class name: + Název uživatelsky stanovené třídy: + + + + Header file: + Hlavičkový soubor: + + + + Global include + Celkový hlavičkový soubor + + + + Reset + Nastavit znovu + + + + qdesigner_internal::ObjectInspector + + + Change Current Page + Změnit nynější stranu + + + + &Find in Text... + &Najít v textu... + + + + qdesigner_internal::ObjectInspector::ObjectInspectorPrivate + + Change Current Page + Změnit nynější stranu + + + + qdesigner_internal::OrderDialog + + + Index %1 (%2) + Poloha %1 (%2) + + + + Change Page Order + Změnit pořadí stran + + + + Page Order + Pořadí stran + + + + Move page up + Posunout stranu nahoru + + + + Move page down + Posunout stranu dolů + + + + %1 %2 + %1 %2 + + + + qdesigner_internal::PaletteEditor + + + Edit Palette + Upravit paletu + + + + Tune Palette + Vyladit paletu + + + + Show Details + Ukázat podrobnosti + + + + Compute Details + Spočítat podrobnosti + + + + Quick + Jednoduchý + + + + Preview + Náhled + + + + Disabled + Zakázáno + + + + Inactive + Nečinný + + + + Active + V činnosti + + + + qdesigner_internal::PaletteEditorButton + + + Change Palette + Změnit paletu + + + + qdesigner_internal::PaletteModel + + + Color Role + Barevné kolo + + + + Active + V činnosti + + + + Inactive + Nečinný + + + + Disabled + Zakázáno + + + + qdesigner_internal::PixmapEditor + + + Copy Path + Kopírovat cestu + + + + Paste Path + Vložit cestu + + + + Choose Resource... + Vybrat zdroj... + + + + Choose File... + Vybrat soubor... + + + + + ... + ... + + + + qdesigner_internal::PlainTextEditorDialog + + + Edit text + Upravit text + + + + qdesigner_internal::PluginDialog + + + Components + Součásti + + + + Plugin Information + Informace o přídavných modulech + + + + Refresh + Obnovit + + + + Scan for newly installed custom widget plugins. + Prohledat kvůli nově nainstalovaným přídavným modulům s uživatelsky stanovenými prvky. + + + + Qt Designer couldn't find any plugins + Programu Qt Designer se nepodařilo najít jakékoli přídavné moduly + + + + Qt Designer found the following plugins + Programu Qt Designer se podařilo najít následující přídavné moduly + + + + New custom widget plugins have been found. + Byly nalezeny nové přídavné moduly s uživatelsky stanovenými prvky. + + + + qdesigner_internal::PreviewActionGroup + + + %1 Style + %1-Styl + + + + qdesigner_internal::PreviewConfigurationWidget + + + Default + Výchozí + + + + None + Žádný + + + + Browse... + Procházet... + + + + Load Custom Device Skin + Nahrát uživatelsky stanovený vzhled zařízení + + + + All QVFB Skins (*.%1) + Všechny vzhledy QVFB (*.%1) + + + + %1 - Duplicate Skin + %1 - Zdvojit vzhled + + + + The skin '%1' already exists. + Vzhled '%1' již existuje. + + + + %1 - Error + %1 - Chyba + + + + %1 is not a valid skin directory: +%2 + %1 není platným adresářem pro vzhled: +%2 + + + + qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate + + Load Custom Device Skin + Nahrát uživatelsky stanovený vzhled zařízení + + + All QVFB Skins (*.%1) + Všechny vzhledy QVFB (*.%1) + + + %1 - Duplicate Skin + %1 - Vzhled již existuje + + + The skin '%1' already exists. + Vzhled '%1' již existuje. + + + %1 - Error + %1 - Chyba + + + %1 is not a valid skin directory: +%2 + %1 není platným adresářem vzhledu: +%2 + + + + qdesigner_internal::PreviewDeviceSkin + + + &Portrait + Formát na &výšku + + + + Landscape (&CCW) + Rotate form preview counter-clockwise + Formát na šířku (&proti směru otáčení hodinových ručiček) + + + + &Landscape (CW) + Rotate form preview clockwise + Formát na šířku (po směru &otáčení hodinových ručiček) + + + + &Close + &Zavřít + + + + qdesigner_internal::PreviewManager + + + %1 - [Preview] + %1 - [Náhled] + + + + qdesigner_internal::PreviewMdiArea + + + The moose in the noose +ate the goose who was loose. + Palette editor background + Los v chomoutu snědl husu, +která byla volně puštěná. + + + + qdesigner_internal::PreviewWidget + + + Preview Window + Náhledové okno + + + + LineEdit + Úprava čáry + + + + ComboBox + Skupinová krabice + + + + PushButton + Tlačítko na postrčení + + + + ButtonGroup2 + Skupina tlačítek 2 + + + + CheckBox1 + Zaškrtnutelné políčko 1 + + + + CheckBox2 + Zaškrtnutelné políčko 2 + + + + ButtonGroup + Skupina tlačítek + + + + RadioButton1 + Rozhlasové tlačítko 1 + + + + RadioButton2 + Rozhlasové tlačítko 2 + + + + RadioButton3 + Rozhlasové tlačítko 3 + + + + qdesigner_internal::PromotionModel + + + Name + Název + + + + Header file + Hlavičkový soubor + + + + Global include + Celkový hlavičkový soubor + + + + Usage + Použití + + + + qdesigner_internal::PromotionTaskMenu + + + Promoted widgets... + Uživatelsky stanovené prvky... + + + + Promote to ... + Stanovit jako zástupný symbol pro uživatelsky stanovenou třídu... + + + + Promote to + Stanovit jako zástupný symbol pro uživatelsky stanovenou třídu + + + + Demote to %1 + Odstranit zástupný symbol pro uživatelsky stanovenou třídu a přeměnit na %1 + + + + Change signals/slots... + Změnit signály/zdířky... + + + + qdesigner_internal::PropertyEditor + + + Add Dynamic Property... + Přidat dynamickou vlastnost... + + + + Remove Dynamic Property + Odstranit dynamickou vlastnost + + + + Tree View + Stromový pohled + + + + Drop Down Button View + Podrobný pohled + + + + Object: %1 +Class: %2 + Předmět: %1 +Třída: %2 + + + + Sorting + Třídění + + + + Color Groups + Barevné zdůraznění + + + + Configure Property Editor + Nastavit editor vlastností + + + + String... + Řetězec znaků... + + + + Bool... + Booleánská hodnota... + + + + Other... + Jiný typ... + + + + qdesigner_internal::PropertyLineEdit + + + Insert line break + Vložit zalomení řádku + + + + qdesigner_internal::QDesignerPromotionDialog + + + Promoted Widgets + Zástupný symbol pro uživatelsky stanovené prvky + + + + Promoted Classes + Zástupný symbol pro uživatelsky stanovené třídy + + + + Promote + Používat + + + + %1 - Error + %1 - Chyba + + + + Change signals/slots... + Změnit signály/zdířky... + + + + qdesigner_internal::QDesignerResource + + + Loading qrc file + Nahrává se zdrojový soubor + + + + The specified qrc file <p><b>%1</b></p><p>could not be found. Do you want to update the file location?</p> + Zadaný zdrojový soubor <p><b>%1</b></p><p> se nepodařilo najít. Chcete zadat novou cestu k umístění souboru?</p> + + + + New location for %1 + Nové umístění %1 + + + + Resource files (*.qrc) + Zdrojové soubory (*.qrc) + + + + qdesigner_internal::QDesignerTaskMenu + + + Change objectName... + Změnit název předmětu... + + + + Change toolTip... + Změnit radu k nástroji... + + + + Change whatsThis... + Změnit "A co je toto"... + + + + Change styleSheet... + Změnit předlohový list... + + + + Create Menu Bar + Vytvořit nabídkový pruh + + + + Add Tool Bar + Přidat nástrojový pruh + + + + Create Status Bar + Vytvořit stavový pruh + + + + Remove Status Bar + Odstranit stavový pruh + + + + Change script... + Změnit skript... + + + + Change signals/slots... + Změnit signály/zdířky... + + + + Go to slot... + Jít na zdířku... + + + + no signals available + Nejsou dostupné žádné signály + + + + Set size constraint on %n widget(s) + + Nastavit omezení velikosti u jednoho prvku + Nastavit omezení velikosti u %n prvků + Nastavit omezení velikosti u %n prvků + + + + + Size Constraints + Omezení velikosti + + + + Set Minimum Width + Nastavit nejmenší šířku + + + + Set Minimum Height + Nastavit nejmenší výšku + + + + Set Minimum Size + Nastavit nejmenší velikost + + + + Set Maximum Width + Nastavit největší šířku + + + + Set Maximum Height + Nastavit největší výšku + + + + Set Maximum Size + Nastavit největší velikost + + + + Edit ToolTip + Upravit radu k nástroji + + + + Edit WhatsThis + Upravit "A co je toto" + + + + qdesigner_internal::QDesignerWidgetBox + + + + Unexpected element <%1> + Neplatný prvek <%1> + + + + A parse error occurred at line %1, column %2 of the XML code specified for the widget %3: %4 +%5 + Kód XML pro prvek %3 obsahuje chybu na řádku %1, sloupec %2:%4: +%5 + + + + The XML code specified for the widget %1 does not contain any widget elements. +%2 + Kód XML pro prvek %1 neobsahuje prvky. +%2 + + + + An error has been encountered at line %1 of %2: %3 + Chyba na řádku %1 z %2: %3 + + + + Unexpected element <%1> encountered when parsing for <widget> or <ui> + Na místě očekávaného <prvek>- nebo prvku <ui> byl nalezen <%1> + + + + Unexpected end of file encountered when parsing widgets. + Při čtení nastavení krabice s prvky se vyskytl předčasný konec souboru. + + + + A widget element could not be found. + Nepodařilo se najít prvek. + + + + qdesigner_internal::QtGradientStopsController + + + H + H + + + + S + S + + + + V + V + + + + + Hue + Barevný odstín + + + + Sat + Sytost + + + + Val + Hodnota + + + + Saturation + Sytost + + + + Value + Hodnota + + + + R + R + + + + G + G + + + + B + B + + + + Red + Červená + + + + Green + Zelená + + + + Blue + Modrá + + + + qdesigner_internal::RichTextEditorDialog + + + Edit text + Upravit text + + + + &OK + &OK + + + + &Cancel + &Zrušit + + + + Rich Text + Upravovatelný text + + + + Source + Zdroj + + + + qdesigner_internal::RichTextEditorToolBar + + + Bold + Tučné + + + + CTRL+B + CTRL+F + + + + Italic + Kurzíva + + + + CTRL+I + CTRL+K + + + + Underline + Podtržení + + + + CTRL+U + CTRL+U + + + + Left Align + Zarovnat k levému okraji + + + + Center + Zarovnat na střed + + + + Right Align + Zarovnat k pravému okraji + + + + Justify + Zarovnat do bloku + + + + Superscript + Horní index + + + + Subscript + Dolní index + + + + Insert &Link + Vložit &odkaz + + + + Insert &Image + Vložit &obrázek + + + + qdesigner_internal::ScriptDialog + + + Edit script + Upravit skript + + + + Syntax error + Chyba ve skladbě + + + + <html>Enter a Qt Script snippet to be executed while loading the form.<br>The widget and its children are accessible via the variables <i>widget</i> and <i>childWidgets</i>, respectively. + <html>Zadejte kousek Qt skriptu k provedení v průběhu nahrávání formuláře.<br>Prvek a jemu podřízené prvky jsou přístupné prostřednictvím proměnných <i>widget</i> und <i>childWidgets</i>. + + + + qdesigner_internal::ScriptErrorDialog + + + Script errors + Chyby ve skriptu + + + + qdesigner_internal::SignalSlotDialog + + + There is already a slot with the signature '%1'. + Již existuje zdířka s podpisem '%1'. + + + + There is already a signal with the signature '%1'. + Již existuje signál s podpisem '%1'. + + + + %1 - Duplicate Signature + %1 - Podpis již existuje + + + + + Signals/Slots of %1 + Signály/Zdířky od %1 + + + + qdesigner_internal::SignalSlotEditorPlugin + + + Edit Signals/Slots + Upravit signály/zdířky + + + + F4 + F4 + + + + qdesigner_internal::SignalSlotEditorTool + + + Edit Signals/Slots + Upravit signály/zdířky + + + + qdesigner_internal::StatusBarTaskMenu + + + Remove + Odstranit + + + + qdesigner_internal::StringListEditorButton + + + Change String List + Změnit seznamy s řetězci znaků + + + + qdesigner_internal::StyleSheetEditorDialog + + + Edit Style Sheet + Upravit předlohový list + + + + + Valid Style Sheet + Platný předlohový list + + + + Invalid Style Sheet + Neplatný předlohový list + + + + Add Resource... + Přidat zdroj... + + + + Add Gradient... + Přidat přechod... + + + + Add Color... + Přidat barvu... + + + + Add Font... + Přidat písmo... + + + + qdesigner_internal::TabOrderEditor + + + Start from Here + Začít znovu odtud + + + + Restart + Začít znovu + + + + Tab Order List... + Seznam s pořadím tabulátorů... + + + + Tab Order List + Seznam s pořadím tabulátorů + + + + Tab Order + Pořadí tabulátorů + + + + qdesigner_internal::TabOrderEditorPlugin + + + Edit Tab Order + Upravit pořadí tabulátorů + + + + qdesigner_internal::TabOrderEditorTool + + + Edit Tab Order + Upravit pořadí tabulátorů + + + + qdesigner_internal::TableWidgetEditor + + + New Column + Nový sloupec + + + + New Row + Nový řádek + + + + &Columns + &Sloupce + + + + &Rows + &Řádky + + + + Properties &<< + Vlastnosti &<< + + + + + Properties &>> + Vlastnosti &>> + + + + Edit Table Widget + Upravit prvek s tabulkou + + + + &Items + &Prvky + + + + Table Items + Prvky tabulek + + + + qdesigner_internal::TableWidgetTaskMenu + + + Edit Items... + Upravit prvky... + + + + qdesigner_internal::TemplateOptionsWidget + + + Pick a directory to save templates in + Vyberte adresář pro ukládání předloh + + + + Form + Formulář + + + + Additional Template Paths + Dodatečné adresáře pro předlohy + + + + ... + ... + + + + qdesigner_internal::TextEditTaskMenu + + + Change HTML... + Změnit HTML... + + + + Edit HTML + Upravit HTML + + + + Edit Text + Upravit text + + + + Change Plain Text... + Změnit prostý text... + + + + qdesigner_internal::TextEditor + + + Choose Resource... + Vybrat zdroj... + + + + Choose File... + Vybrat soubor... + + + + Choose a File + Vybrat soubor + + + + ... + ... + + + + qdesigner_internal::ToolBarEventFilter + + + Insert Separator + Vložit oddělovač + + + + Remove action '%1' + Odstranit činnost '%1' + + + + Remove Toolbar '%1' + Odstranit nástrojový pruh '%1' + + + + Insert Separator before '%1' + Vložit oddělovač před '%1' + + + + Append Separator + Připojit oddělovač + + + + qdesigner_internal::TreeWidgetEditor + + + &Columns + &Sloupce + + + + Per column properties + Vlastnosti sloupců + + + + Common properties + Společné vlastnosti + + + + + New Item + Nový prvek + + + + Properties &<< + Vlastnosti &<< + + + + + Properties &>> + Vlastnosti &>> + + + + New Column + Nový sloupec + + + + Edit Tree Widget + Upravit stromový prvek + + + + &Items + &Prvky + + + + Tree Items + Stromové prvky + + + + + New Subitem + Nový podřízený prvek + + + + New &Subitem + Nový po&dřízený prvek + + + + Delete Item + Smazat prvek + + + + Move Item Left (before Parent Item) + Posunout prvek doleva (před nadřízený prvek) + + + + L + L + + + + Move Item Right (as a First Subitem of the Next Sibling Item) + Posunout prvek doprava (jako první podřízený prvek dalšího rovnocenného prvku) + + + + R + R + + + + Move Item Up + Posunout prvek nahoru + + + + U + U + + + + Move Item Down + Posunout prvek dolů + + + + D + D + + + + 1 + 1 + + + + &New + &Nový + + + + &Delete + &Smazat + + + + qdesigner_internal::TreeWidgetTaskMenu + + + Edit Items... + Upravit prvky... + + + + qdesigner_internal::WidgetBox + + + Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML. + Upozornění: Vytvoření prvku v krabici s prvky se nezdařilo. Mohlo by to být zapříčiněno chybným XML kódem uživatelsky stanoveného prvku. + + + + qdesigner_internal::WidgetBoxTreeWidget + + + Scratchpad + Skladování + + + + Custom Widgets + Uživatelsky stanovené prvky + + + + Expand all + Rozdělat vše + + + + Collapse all + Složit vše + + + + List View + Pohled se seznamem + + + + Icon View + Pohled s ikonami + + + + Remove + Odstranit + + + + Edit name + Upravit název + + + + qdesigner_internal::WidgetDataBase + + + A custom widget plugin whose class name (%1) matches that of an existing class has been found. + Byl nalezen přídavný modul, který obsahuje uživatelsky stanovený prvek, jehož název pro třídu (%1) odpovídá stávající třídě. + + + + qdesigner_internal::WidgetEditorTool + + + Edit Widgets + Upravit prvky + + + + qdesigner_internal::WidgetFactory + + + The custom widget factory registered for widgets of class %1 returned 0. + Závod pro uživatelsky stanovené prvky třídy %1 vrátil zpět 0. + + + + A class name mismatch occurred when creating a widget using the custom widget factory registered for widgets of class %1. It returned a widget of class %2. + Při vytváření prvku byly zjištěny odporující si názvy tříd: Závod pro uživatelsky stanovené prvky třídy %1 vrátil zpět prvek třídy %2. + + + + The current page of the container '%1' (%2) could not be determined while creating a layout.This indicates an inconsistency in the ui-file, probably a layout being constructed on a container widget. + Při vytváření rozvržení se nepodařilo určit nynější stránku kontejneru '%1' (%2). To naznačuje jistou nesrovnalost v souboru s rozhraním; pravděpodobně bylo rozvržení postaveno přímo na prvku kontejneru. + + + + Attempt to add a layout to a widget '%1' (%2) which already has an unmanaged layout of type %3. +This indicates an inconsistency in the ui-file. + Pokus o přidání rozvržení na prvek '%1' (%2), který již má nespravované rozvržení typu %3. To naznačuje jistou nesrovnalost v souboru s rozhraním. + + + + Cannot create style '%1'. + Nepodařilo se vytvořit styl '%1'. + + + + %1 Widget + %1 prvek + + + + qdesigner_internal::WizardContainerWidgetTaskMenu + + + Next + Další + + + + Back + Zpět + + + + qdesigner_internal::ZoomMenu + + + %1 % + Zoom factor + %1 % + + + + qdesigner_internal::ZoomablePreviewDeviceSkin + + + &Zoom + &Zvětšit + + + diff --git a/translations/linguist_cs.ts b/translations/linguist_cs.ts new file mode 100644 index 0000000..32905c9 --- /dev/null +++ b/translations/linguist_cs.ts @@ -0,0 +1,2023 @@ + + + + + AboutDialog + + + Qt Linguist + Qt Linguist + + + + BatchTranslationDialog + + + Batch Translation of '%1' - Qt Linguist + Automatický překlad '%1' - Qt Linguist + + + + Searching, please wait... + Hledá se, čekejte, prosím... + + + + &Cancel + &Zrušit + + + + Linguist batch translator + Automatický překladatel (Linguist) + + + + Batch translated %n entries + + 1 záznam byl automaticky přeložen + %n záznamy byly automaticky přeloženy + %n záznamů bylo automaticky přeloženo + + + + + Qt Linguist - Batch Translation + Qt Linguist - Automatický překlad + + + + Options + Volby + + + + Set translated entries to finished + Označit přeložené záznamy jako hotové + + + + Retranslate entries with existing translation + Znovu přeložit záznamy s již existujícím překladem + + + + Translate also finished entries + Přeložit i hotové záznamy + + + + Phrase book preference + Slovníky + + + + Move up + Posunout nahoru + + + + Move down + Posunout dolů + + + + &Run + &Provést + + + + Cancel + Zrušit + + + + Note that the modified entries will be reset to unfinished if 'Set translated entries to finished' above is unchecked + Všimněte si, že změněné záznamy budou znovu nastaveny na nevyřízené, pokud není zapnuto nahoře zmíněné nastavení 'Označit přeložené záznamy jako hotové' + + + + The batch translator will search through the selected phrase books in the order given above + Automatický překladatel bude prohledávat vybrané slovníky v pořadí uvedeném výše + + + + DataModel + + + <qt>Duplicate messages found in '%1': + <qt>Vícekrát existující hlášení v '%1': + + + + <p>[more duplicates omitted] + <p>[vypuštěny další vícekrát existující zprávy] + + + + <p>* Context: %1<br>* Source: %2 + <p>* Souvislosti: %1<br>* Zdroj: %2 + + + + <br>* Comment: %3 + <br>* Poznámka: %3 + + + + Linguist does not know the plural rules for '%1'. +Will assume a single universal form. + Pravidla pro tvoření množného čísla (plurálu) jazyka '%1' nejsou v Linguistu stanovena. +Pracuje se s jednoduchým všeobecným tvarem. + + + + Cannot create '%2': %1 + '%2' nemůže být vytvořen: %1 + + + + Universal Form + Všeobecný tvar + + + + ErrorsView + + + Accelerator possibly superfluous in translation. + V textu překladu je možná přebytečný akcelerátor. + + + + Accelerator possibly missing in translation. + V textu překladu možná chybí akcelerátor. + + + + Translation does not end with the same punctuation as the source text. + Interpunkční znaménko na konci textu překladu se liší od interpunkce zdrojového textu. + + + + A phrase book suggestion for '%1' was ignored. + Na návrh slovníku pro '%1' nebyl brán zřetel. + + + + Translation does not refer to the same place markers as in the source text. + Držitelé místa v textu překladu a ve zdrojovém textu se liší. + + + + Translation does not contain the necessary %n place marker. + Potřebný držitel místa (%n) v překladu chybí. + + + + Unknown error + Neznámá chyba + + + + FindDialog + + + This window allows you to search for some text in the translation source file. + Toto okno vám umožňuje hledání textu ve zdrojovém souboru s překladem. + + + + Type in the text to search for. + Zadejte text, který se má hledat. + + + + Options + Volby + + + + Source texts are searched when checked. + Když je zapnuto, hledá se ve zdrojových textech. + + + + Translations are searched when checked. + Když je zapnuto, hledá se v překladech. + + + + Texts such as 'TeX' and 'tex' are considered as different when checked. + Když je zapnuto, texty jako 'TeX' a 'tex' se považují za rozdílné. + + + + Comments and contexts are searched when checked. + Když je zapnuto, prohledávají se poznámky a souvislosti. + + + + Find + Hledat + + + + &Find what: + &Vzor hledání: + + + + &Source texts + &Zdrojové texty + + + + &Translations + &Překlady + + + + &Match case + &Dbát na psaní velkých a malých písmen + + + + &Comments + &Poznámky + + + + Ignore &accelerators + Nedbat na &akcelerátory + + + + Click here to find the next occurrence of the text you typed in. + Klepněte sem pro skok k dalšímu výskytu hledáného textu. + + + + Find Next + Hledat dál + + + + Click here to close this window. + Klepněte sem pro zavření tohoto okna. + + + + Cancel + Zrušit + + + + + Choose Edit|Find from the menu bar or press Ctrl+F to pop up the Find dialog + + + + + FormMultiWidget + + + Alt+Delete + translate, but don't change + Alt+Delete + + + + Shift+Alt+Insert + translate, but don't change + Shift+Alt+Insert + + + + Alt+Insert + translate, but don't change + Alt+Insert + + + + Confirmation - Qt Linguist + Potvrzení - Qt Linguist + + + + Delete non-empty length variant? + Smazat vyplněnou obměnu délky? + + + + LRelease + + + Dropped %n message(s) which had no ID. + + Byl smazán záznam bez identifikátoru. + Byly smazány %n záznamy bez identifikátoru. + Byly smazány %n záznamy bez identifikátoru. + + + + + Excess context/disambiguation dropped from %n message(s). + + U jednoho záznamu byla odstraněna přebytečná souvislost případně přebytečné zabránění dvojznačnosti (přebytečná informace k rozhodování). + U %n záznamů byla odstraněna přebytečná souvislost případně přebytečné zabránění dvojznačnosti (přebytečná informace k rozhodování). + U %n záznamů byla odstraněna přebytečná souvislost případně přebytečné zabránění dvojznačnosti (přebytečná informace k rozhodování). + + + + + Generated %n translation(s) (%1 finished and %2 unfinished) + + + Byl vytvořen jeden překlad (%1 dokončeno %2 nedokončeno) + + Byly vytvořeny %n překlady (%1 dokončeno %2 nedokončeno) + + Byly vytvořeny %n překlady (%1 dokončeno %2 nedokončeno) + + + + + + Ignored %n untranslated source text(s) + + + Na jeden nepřeložený text nebyl brán zřetel + + na %n nepřeložené texty nebyl brán zřetel + + na %n nepřeložené texty nebyl brán zřetel + + + + + + MainWindow + + + MainWindow + Hlavní okno + + + + &Phrases + &Slovníky + + + + &Close Phrase Book + &Zavřít slovník + + + + &Edit Phrase Book + &Upravit slovník + + + + &Print Phrase Book + &Vytisknout slovník + + + + V&alidation + &Schválení + + + + &View + &Pohled + + + + Vie&ws + Po&hledy + + + + &Toolbars + &Nástrojové lišty + + + + &Help + &Nápověda + + + + &Translation + &Překlad + + + + &File + &Soubor + + + + &Edit + Ú&pravy + + + + &Open... + &Otevřít... + + + + Open a Qt translation source file (TS file) for editing + Otevřít Qt zdrojový soubor s překladem (soubor TS) pro úpravy + + + + Ctrl+O + Ctrl+O + + + + E&xit + &Ukončit + + + + Close this window and exit. + Toto okno zavřít a ukončit. + + + + Ctrl+Q + Ctrl+Q + + + + + &Save + &Uložit + + + + Save changes made to this Qt translation source file + Uložit změny provedené v tomto Qt zdrojovém souboru s překladem + + + + Move to the previous unfinished item. + Jít na předchozí nevyřízený záznam. + + + + Move to the next unfinished item. + Jít na další nevyřízený záznam. + + + + Move to the previous item. + Jít na předchozí záznam. + + + + Move to the next item. + Jít na další záznam. + + + + Mark this item as done and move to the next unfinished item. + Označit tento záznam jako hotový a jít na další nevyřízený záznam. + + + + Copy from source text + Převzít zdrojový text + + + + Toggle the validity check of accelerators, i.e. whether the number of ampersands in the source and translation text is the same. If the check fails, a message is shown in the warnings window. + Zapnout/Vypnout ověření akcelerátorů, to znamená, zda se shoduje počet znaků obchodnického -A (&) ve zdrojovém textu a v textu překladu. V případě neúspěchu se v okně s upozorněními ukáže zpráva s varováním. + + + + Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window. + Zapnout/Vypnout ověření znaku na konci věty na konci textu. V případě neúspěchu se v okně s upozorněními ukáže zpráva s varováním. + + + + Toggle checking that phrase suggestions are used. If the check fails, a message is shown in the warnings window. + Zapnout/Vypnout ověření použití návrhů slovníku. V případě neúspěchu se v okně s upozorněními ukáže zpráva s varováním. + + + + Toggle the validity check of place markers, i.e. whether %1, %2, ... are used consistently in the source text and translation text. If the check fails, a message is shown in the warnings window. + Zapnout/Vypnout ověření držitelů místa, to znamená, zda se shoduje používání %1, %2,... ve zdrojovém textu a v textu překladu. V případě neúspěchu se v okně s upozorněními ukáže zpráva s varováním. + + + + Open Read-O&nly... + Otevřít pouze &pro čtení... + + + + &Save All + &Uložit vše + + + + Ctrl+S + Ctrl+S + + + + + + Save &As... + Uložit &jako... + + + + Save As... + Uložit jako... + + + + Save changes made to this Qt translation source file into a new file. + Uložit změny provedené v tomto Qt zdrojovém souboru s překladem do nového souboru. + + + + &Release + &Vydat + + + + Create a Qt message file suitable for released applications from the current message file. + Vytvořit Qt soubor se zprávami vhodný pro vydané aplikace (soubor QM) ze současného souboru s překladem. + + + + &Print... + &Tisk... + + + + Ctrl+P + Ctrl+P + + + + &Undo + &Zpět + + + + Recently Opened &Files + Naposledy upravované sou&bory + + + + Save + Uložit + + + + Print a list of all the translation units in the current translation source file. + Vytisknout seznam se všemi překladovými jednotkami v současném zdrojovém souboru s překladem. + + + + Undo the last editing operation performed on the current translation. + Poslední změnu provedenou v současném překladu vrátit zpět. + + + + Ctrl+Z + Ctrl+Z + + + + &Redo + &Znovu + + + + Redo an undone editing operation performed on the translation. + Poslední zpět vrácenou změnu v překladu provést znovu. + + + + Ctrl+Y + Ctrl+Y + + + + Cu&t + &Vyjmout + + + + Copy the selected translation text to the clipboard and deletes it. + Zkopírovat vybraný text s překladem do schránky a smazat jej. + + + + Ctrl+X + Ctrl+X + + + + &Copy + &Kopírovat + + + + Copy the selected translation text to the clipboard. + Zkopírovat vybraný text s překladem do schránky. + + + + Ctrl+C + Ctrl+C + + + + &Paste + &Vložit + + + + Paste the clipboard text into the translation. + Vložit text ze schránky do překladu. + + + + Ctrl+V + Ctrl+V + + + + Select &All + Vybrat &vše + + + + Select the whole translation text. + Vybrat celý text s překladem. + + + + Ctrl+A + Ctrl+A + + + + &Find... + &Hledat... + + + + Search for some text in the translation source file. + Hledat text v souboru s překladem. + + + + Ctrl+F + Ctrl+F + + + + Find &Next + Hledat &dál + + + + Continue the search where it was left. + Pokračovat v hledání. + + + + F3 + F3 + + + + &Prev Unfinished + &Předchozí nevyřízený + + + + Close + Zavřít + + + + &Close All + &Zavřít vše + + + + Ctrl+W + Ctrl+W + + + + Ctrl+K + Ctrl+K + + + + &Next Unfinished + &Další nevyřízený + + + + P&rev + Před&chozí + + + + Ctrl+Shift+K + Ctrl+Shift+K + + + + Ne&xt + Da&lší + + + + &Done and Next + &Hotovo a další + + + + Copies the source text into the translation field. + Kopíruje zdrojový text do pole s překladem. + + + + Ctrl+B + Ctrl+B + + + + &Accelerators + &Akcelerátory + + + + &Ending Punctuation + &Interpunkce na konci + + + + &Phrase matches + &Slovník + + + + Place &Marker Matches + Držitel &místa + + + + &New Phrase Book... + &Nový slovník... + + + + Create a new phrase book. + Vytvořit nový slovník. + + + + Ctrl+N + Ctrl+N + + + + &Open Phrase Book... + &Otevřít slovník... + + + + Open a phrase book to assist translation. + Otevřít slovník kvůli podpoře při překladu. + + + + Ctrl+H + Ctrl+H + + + + &Reset Sorting + Řazení &vrátit zpět + + + + Sort the items back in the same order as in the message file. + Seřadit záznamy ve stejném pořadí jako v původním souboru s překladem. + + + + &Display guesses + Ukázat &návrhy + + + + Set whether or not to display translation guesses. + Zapnout/Vypnout zobrazení návrhů k překladu. + + + + &Statistics + S&tatistika + + + + Display translation statistics. + Ukázat statistiku k překladu. + + + + &Manual + &Příručka + + + + F1 + F1 + + + + About Qt Linguist + O Qt Linguistu + + + + About Qt + O Qt + + + + Display information about the Qt toolkit by Trolltech. + Zobrazit informace o sadě nástrojů Qt od Trolltechu. + + + + &What's This? + &Copak je asi toto? + + + + What's This? + Copak je asi toto? + + + + Enter What's This? mode. + Zapnout režim "Copak je asi toto?". + + + + Shift+F1 + Shift+F1 + + + + &Search And Translate... + Hledat a &překládat... + + + + Replace the translation on all entries that matches the search source text. + Nahradit překlad u všech záznamů, které odpovídají hledanému textu. + + + + + &Batch Translation... + &Automatický překlad... + + + + Batch translate all entries using the information in the phrase books. + Automaticky přeložit všechny záznamy s pomocí slovníků. + + + + + + Release As... + Vydat jako... + + + + + This is the application's main window. + + + + + Source text + Zdrojový text + + + + + Index + Rejstřík + + + + + Context + Souvislosti + + + + Items + Záznamy + + + + This panel lists the source contexts. + V tomto panelu jsou ukazovány souvislosti. + + + + Strings + Řetězce + + + + Phrases and guesses + Slovník a návrhy + + + + Sources and Forms + Zdrojové soubory a formuláře + + + + Warnings + Upozornění + + + + MOD + status bar: file(s) modified + Změněno + + + + Loading... + Nahrává se... + + + + + Loading File - Qt Linguist + Nahrává se soubor - Qt Linguist + + + + The file '%1' does not seem to be related to the currently open file(s) '%2'. + +Close the open file(s) first? + Nezdá se, že by soubor '%1' souvisel s již otevřenými soubory '%2'. + +Zavřít nejprve již otevřený soubor(y)? + + + + The file '%1' does not seem to be related to the file '%2' which is being loaded as well. + +Skip loading the first named file? + Nezdá se, že by soubor '%1' souvisel s již otevřeným souborem '%2', který je rovněž nahrán. + +Přeskočit nahrávání prve jmenovaného souboru? + + + + %n translation unit(s) loaded. + + Nahrána jedna překladová jednotka. + Nahrány %n překladové jednotky. + Nahrány %n překladové jednotky. + + + + + Related files (%1);; + Příbuzné soubory (%1);; + + + + Open Translation Files + Otevřít soubory s překlady + + + + + File saved. + Soubor uložen. + + + + + + Release + Vydat + + + + Qt message files for released applications (*.qm) +All files (*) + Qt soubory se zprávami pro vydané aplikace (*.qm) +Všechny soubory (*) + + + + + File created. + Soubor vytvořen. + + + + + Printing... + Tisk... + + + + Context: %1 + Souvislosti: %1 + + + + finished + vyřízeno + + + + unresolved + nevyřešeno + + + + obsolete + zastaralé + + + + + Printing... (page %1) + Tisk... (strana %1) + + + + + Printing completed + Tisk dokončen + + + + + Printing aborted + Tisk zrušen + + + + Search wrapped. + Hledání začíná odshora. + + + + + + + + + + + + + Qt Linguist + Qt Linguist + + + + + Cannot find the string '%1'. + Nelze najít řetězec '%1'. + + + + Search And Translate in '%1' - Qt Linguist + Hledat a překládat v '%1' - Qt Linguist + + + + + + Translate - Qt Linguist + Překlad - Qt Linguist + + + + Translated %n entry(s) + + Přeložen jeden záznam + Přeloženy %n záznamy + Přeloženy %n záznamy + + + + + No more occurrences of '%1'. Start over? + Žádné další výskyty '%1'. Začít znovu? + + + + Create New Phrase Book + Vytvořit nový slovník + + + + Qt phrase books (*.qph) +All files (*) + Slovníky Qt (*.qph) +Všechny soubory (*) + + + + Phrase book created. + Slovník vytvořen. + + + + Open Phrase Book + Otevřít slovník + + + + Qt phrase books (*.qph);;All files (*) + Slovníky Qt (*.qph);;Všechny soubory (*) + + + + %n phrase(s) loaded. + + Nahrán jeden záznam ve slovníku. + Nahrány %n záznamy ve slovníku. + Nahrány %n záznamy ve slovníku. + + + + + + + Add to phrase book + Přidat do slovníku + + + + No appropriate phrasebook found. + Nelze nalézt žádný příslušný slovník. + + + + Adding entry to phrasebook %1 + Přidává se záznam do slovníku %1 + + + + Select phrase book to add to + Do kterého slovníku se má záznam přidat + + + + Unable to launch Qt Assistant (%1) + Qt Assistant nelze spustit (%1) + + + + Version %1 + Verze %1 + + + + <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist is a tool for adding translations to Qt applications.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist je nástrojem pro přidávání překladů do aplikací Qt.</p><p>Copyright (C) 2009 Nokia Corporation a/nebo její dceřinná společnost(i). + + + + Do you want to save the modified files? + Chcete uložit změněné soubory? + + + + Do you want to save '%1'? + Chcete uložit '%1'? + + + + Qt Linguist[*] + Qt Linguist[*] + + + + %1[*] - Qt Linguist + %1[*] - Qt Linguist + + + + + No untranslated translation units left. + Nezbyly žádné nepřeložené překladové jednotky. + + + + &Window + &Okno + + + + Minimize + Zmenšit + + + + Ctrl+M + Ctrl+M + + + + Display the manual for %1. + Zobrazit příručku k %1. + + + + Display information about %1. + Zobrazit údaje o %1. + + + + &Save '%1' + &Uložit '%1' + + + + Save '%1' &As... + '%1' uložit &jako... + + + + Release '%1' + Vydat '%1' + + + + Release '%1' As... + '%1' vydat jako... + + + + &Close '%1' + &Zavřít '%1' + + + + + &Close + &Zavřít + + + + Save All + Uložit vše + + + + + &Release All + &Vydat vše + + + + Close All + Zavřít vše + + + + Translation File &Settings for '%1'... + Nastavení &souboru s překladem pro '%1' ... + + + + &Batch Translation of '%1'... + &Automatický překlad '%1' ... + + + + Search And &Translate in '%1'... + Hledat a &překládat v '%1' ... + + + + Search And &Translate... + Hledat a &překládat... + + + + + File + Soubor + + + + + Edit + Úpravy + + + + + Translation + Překlad + + + + + Validation + Schválení + + + + + Help + Nápověda + + + + Cannot read from phrase book '%1'. + Nelze číst ze slovníku '%1'. + + + + Close this phrase book. + Tento slovník zavřít. + + + + Enables you to add, modify, or delete entries in this phrase book. + Umožní vložit, měnit nebo odstranit záznamy z tohoto slovníku. + + + + Print the entries in this phrase book. + Vytisknout záznamy z tohoto slovníku. + + + + Cannot create phrase book '%1'. + Nelze vytvořit slovník '%1'. + + + + Do you want to save phrase book '%1'? + Chcete uložit slovník '%1'? + + + + All + Vše + + + + Open/Refresh Form &Preview + Otevřít/Obnovit &náhled na formulář + + + + Form Preview Tool + Nástroj pro náhled na formulář + + + + F5 + F5 + + + + + Translation File &Settings... + &Nastavení souboru s překladem... + + + + &Add to Phrase Book + &Přidat do slovníku + + + + Ctrl+T + Ctrl+T + + + + Ctrl+J + Ctrl+J + + + + Ctrl+Shift+J + Ctrl+Shift+J + + + + Previous unfinished item + Předchozí nevyřízený záznam + + + + Next unfinished item + Další nevyřízený záznam + + + + Move to previous item + Jít na předchozí záznam + + + + Next item + Další záznam + + + + Mark item as done and move to the next unfinished item + Označit záznam jako vyřízený a jít na další nevyřízený záznam + + + + Copies the source text into the translation field + Kopíruje zdrojový text do pole s překladem + + + + Toggle the validity check of accelerators + Zapnout/Vypnout ověření akcelerátorů + + + + Toggle the validity check of ending punctuation + Zapnout/Vypnout ověření znaku na konci věty na konci textu + + + + Toggle checking that phrase suggestions are used + Zapnout/Vypnout ověření použití záznamů ze slovníku + + + + Toggle the validity check of place markers + Zapnout/Vypnout ověření držitelů místa + + + + Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the TS file. + Vytvořit z nynějšího překladového souboru soubor s hlášeními Qt vhodný pro vydané aplikace. Název souboru bude automaticky odvozen z názvu souboru TS. + + + + Length Variants + Varianty délky + + + + MessageEditor + + + + This is the right panel of the main window. + + + + + Russian + Ruský + + + + German + Německý + + + + Japanese + Japonský + + + + French + Francouzský + + + + Polish + Polský + + + + Chinese + Čínský + + + + This whole panel allows you to view and edit the translation of some source text. + Celý tento panel umožňuje zobrazení a úpravy překladu zdrojového textu. + + + + Source text + Zdrojový text + + + + This area shows the source text. + Tato oblast ukazuje zdrojový text. + + + + Source text (Plural) + Zdrojový text (Plural) + + + + This area shows the plural form of the source text. + Tato oblast ukazuje množné číslo zdrojového textu. + + + + Developer comments + Vývojářovy poznámky + + + + This area shows a comment that may guide you, and the context in which the text occurs. + Tato oblast ukazuje případn poznámky, jež vás mohou vést, a souvislosti, v nichž se text vyskytuje. + + + + Here you can enter comments for your own use. They have no effect on the translated applications. + Sem můžete vepsat poznámky určené pro vaše vlastní použití. Na překlad nemají žádný vliv. + + + + %1 translation (%2) + Překlad %1 (%2) + + + + This is where you can enter or modify the translation of the above source text. + Tady můžete zadávat nebo měnit překlad zdrojového textu. + + + + %1 translation + Překlad %1 + + + + %1 translator comments + %1 překladatelovy poznámky + + + + '%1' +Line: %2 + '%1' +Řádek: %2 + + + + MessageModel + + + Completion status for %1 + Stav zpracování %1 + + + + <file header> + <hlavička souboru> + + + + <context comment> + <související poznámka> + + + + <unnamed context> + <nepojmenovaná souvislost> + + + + MsgEdit + + + + This is the right panel of the main window. + + + + + PhraseBookBox + + + + Go to Phrase > Edit Phrase Book... The dialog that pops up is a PhraseBookBox. + + + + + (New Entry) + (Nový záznam) + + + + %1[*] - Qt Linguist + %1[*] - Qt Linguist + + + + Qt Linguist + Qt Linguist + + + + Cannot save phrase book '%1'. + Nelze uložit slovník '%1'. + + + + Edit Phrase Book + Upravit slovník + + + + This window allows you to add, modify, or delete entries in a phrase book. + Toto okno vám umožní vložit, měnit nebo odstranit záznamy z tohoto slovníku. + + + + &Translation: + &Překlad: + + + + This is the phrase in the target language corresponding to the source phrase. + Toto je text, který v cílovém jazyce odpovídá zdrojovému textu. + + + + S&ource phrase: + &Zdrojový text: + + + + This is a definition for the source phrase. + Toto je vymezení zdrojového textu. + + + + This is the phrase in the source language. + Toto je text ve zdrojovém jazyce. + + + + &Definition: + &Vymezení: + + + + Click here to add the phrase to the phrase book. + Sem klepněte kvůli vložení nového záznamu do slovníku. + + + + &New Entry + &Nový záznam + + + + Click here to remove the entry from the phrase book. + Sem klepněte kvůli odstranění nového záznamu ze slovníku. + + + + &Remove Entry + &Odstranit záznam + + + + Settin&gs... + &Nastavení... + + + + Click here to save the changes made. + Sem klepněte kvůli uložení provedených změn. + + + + &Save + &Uložit + + + + Click here to close this window. + Sem klepněte kvůli zavření tohoto okna. + + + + Close + Zavřít + + + + PhraseModel + + + Source phrase + Zdrojový text + + + + Translation + Překlad + + + + Definition + Vymezení + + + + PhraseView + + + Insert + Vložit + + + + Edit + Upravit + + + + Guess (%1) + Návrh (%1) + + + + Guess + Návrh + + + + QObject + + + Compiled Qt translations + Sestavené překlady Qt + + + + Translation files (%1);; + Překladové soubory (%1);; + + + + All files (*) + Všechny soubory (*) + + + + + + + + + + Qt Linguist + Qt Linguist + + + + GNU Gettext localization files + Překladové soubory GNU Gettext + + + + Qt translation sources (format 1.1) + Překladové soubory Qt (verze formátu 1.1) + + + + Qt translation sources (format 2.0) + Překladové soubory Qt (verze formátu 2.0) + + + + Qt translation sources (latest format) + Překladové soubory Qt (nejnovější formát) + + + + XLIFF localization files + Překladové soubory XLIFF + + + + Qt Linguist 'Phrase Book' + Slovník Qt Linguist + + + + SourceCodeView + + + <i>Source code not available</i> + <i>Zdrojový text není dostupný</i> + + + + <i>File %1 not available</i> + <i>Soubor %1 není dostupný</i> + + + + <i>File %1 not readable</i> + <i>Soubor %1 není čitelný</i> + + + + Statistics + + + Statistics + Statistiky + + + + Translation + Překlad + + + + Source + Zdroj + + + + 0 + 0 + + + + Words: + Slov: + + + + Characters: + Znaků: + + + + Characters (with spaces): + Znaků (s mezerami): + + + + Close + Zavřít + + + + TranslateDialog + + + This window allows you to search for some text in the translation source file. + Toto okno vám umožňuje hledání textu ve zdrojovém souboru s překladem. + + + + Type in the text to search for. + Zadejte text, který se má hledat. + + + + Find &source text: + Hledat &zdrojový text: + + + + &Translate to: + &Překlad: + + + + Search options + Nastavení hledání + + + + Texts such as 'TeX' and 'tex' are considered as different when checked. + Když je zapnuto, texty jako 'TeX' a 'tex' se považují za rozdílné. + + + + Match &case + Dbát na &psaní velkých a malých písmen + + + + Mark new translation as &finished + Nový překlad označit jako &vyřízený + + + + Click here to find the next occurrence of the text you typed in. + Klepněte sem pro skok k dalšímu výskytu hledáného textu. + + + + Find Next + Hledat dál + + + + Translate + Přeložit + + + + Translate All + Přeložit vše + + + + Click here to close this window. + Klepněte sem pro zavření tohoto okna. + + + + Cancel + Zrušit + + + + TranslationSettingsDialog + + + Any Country + Země + + + + + Settings for '%1' - Qt Linguist + Nastavení pro '%1' - Qt Linguist + + + + Source language + Zdrojový jazyk + + + + Language + Jazyk + + + + Country/Region + Země/Oblast + + + + Target language + Cílový jazyk + + + diff --git a/translations/qt_cs.ts b/translations/qt_cs.ts new file mode 100644 index 0000000..e184f64 --- /dev/null +++ b/translations/qt_cs.ts @@ -0,0 +1,10362 @@ + + + + + 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% + + + diff --git a/translations/qt_help_cs.ts b/translations/qt_help_cs.ts new file mode 100644 index 0000000..15836f1 --- /dev/null +++ b/translations/qt_help_cs.ts @@ -0,0 +1,395 @@ + + + + + QCLuceneResultWidget + + + Search Results + Výsledky hledání + + + + Note: + Poznámka: + + + + The search results may not be complete since the documentation is still being indexed! + Nemusí být ukázány všechny výsledky, protože dokumentace je stále ještě rejstříkována! + + + + Your search did not match any documents. + Nebyly nalezeny žádné dokumenty, které by odpovídaly vašemu hledání. + + + + (The reason for this might be that the documentation is still being indexed.) + (Důvodem pro to by mohlo být, že dokumentace je stále ještě rejstříkována.) + + + + QHelpCollectionHandler + + The collection file is not set up yet! + Soubor se sbírkou ještě není zřízen! + + + + The collection file '%1' is not set up yet! + Soubor se sbírkou '%1' ještě není zřízen! + + + + Cannot load sqlite database driver! + Databázový ovladač pro SQLite nelze nahrát! + + + + + Cannot open collection file: %1 + Nelze otevřít soubor se sbírkou: %1 + + + + Cannot create tables in file %1! + V souboru %1 nelze vytvořit žádné tabulky! + + + + The collection file '%1' already exists! + Soubor se sbírkou '%1' již existuje! + + + + Unknown filter '%1'! + Neznámý filtr '%1'! + + + + Invalid documentation file '%1'! + Neplatný soubor s dokumentací '%1'! + + + + Cannot register namespace '%1'! + Nelze zapsat jmenný prostor %1! + + + + Cannot open database '%1' to optimize! + Databázi '%1' nelze otevřít pro vyladění! + + + The specified collection file already exists! + Zadaný soubor se sbírkou již existuje! + + + + Cannot create directory: %1 + Nelze vytvořit adresář: %1 + + + + Cannot copy collection file: %1 + Nelze kopírovat soubor se sbírkou: %1 + + + Unknown filter! + Neznámý filtr! + + + + Cannot register filter %1! + Nelze zapsat filtr %1! + + + + Cannot open documentation file %1! + Nelze otevřít soubor s dokumentací: %1! + + + Invalid documentation file! + Neplatný soubor s dokumentací! + + + + The namespace %1 was not registered! + Jmenný prostor %1 nebyl zapsán! + + + + Namespace %1 already exists! + Jmenný prostor %1 již existuje! + + + Cannot register namespace! + Jmenný prostor nelze zapsat! + + + Cannot open database to optimize! + Databázi nelze otevřít pro vyladění! + + + + QHelpDBReader + + + Cannot open database '%1' '%2': %3 + The placeholders are: %1 - The name of the database which cannot be opened %2 - The unique id for the connection %3 - The actual error string + Databázi nelze otevřít: '%1' '%2': %3 + + + + QHelpEngineCore + + + The specified namespace does not exist! + Zadaný jmenný prostor neexistuje! + + + + QHelpEngineCorePrivate + + + Cannot open documentation file %1: %2! + Nelze otevřít soubor s dokumentací %1: %2! + + + + QHelpGenerator + + + Invalid help data! + Neplatná data s nápovědou! + + + + No output file name specified! + Pro výstupní soubor nebyl zadán žádný název! + + + + Building up file structure... + Vytváří se uspořádání souboru... + + + + The file %1 cannot be overwritten! + Soubor %1 nelze přepsat! + + + + Cannot open data base file %1! + Nelze otevřít soubor s databází: %1! + + + + Cannot register namespace %1! + Nelze zapsat jmenný prostor %1! + + + + Insert custom filters... + Vložit uživatelsky stanovené filtry... + + + + Insert help data for filter section (%1 of %2)... + Vložit data s nápovědou pro oddělení s filtrem (%1 von %2) einfügen... + + + + Documentation successfully generated. + Dokumentace byla úspěšně vytvořena. + + + + Some tables already exist! + Některé tabulky již existují! + + + + Cannot create tables! + Tabulky nelze vytvořit! + + + + Cannot register virtual folder! + Virtuální adresář nelze zapsat! + + + + Insert files... + Vložit soubory... + + + + The referenced file %1 must be inside or within a subdirectory of (%2). Skipping it. + Odkazovaný soubor %1 se musí nacházet v adresáři %2 nebo v jeho podadresáři. Přeskakuje se. + + + + The file %1 does not exist! Skipping it. + Soubor %1 neexistuje! Přeskakuje se. + + + + Cannot open file %1! Skipping it. + Soubor %1 nelze otevřít! Přeskakuje se. + + + + The filter %1 is already registered! + Filtr %1 je již zapsán! + + + + Cannot register filter %1! + Nelze zapsat filtr %1! + + + + Insert indices... + Vložit rejstříky... + + + + Insert contents... + Vložit obsah... + + + + Cannot insert contents! + Obsah nelze vložit! + + + + Cannot register contents! + Obsah nelze zapsat! + + + + QHelpSearchQueryWidget + + + Search for: + Hledat: + + + + Previous search + Předchozí hledání + + + + Next search + Další hledání + + + + Search + Hledat + + + + Advanced search + Rozšířené hledání + + + + words <B>similar</B> to: + Slova <B>podobná</B>: + + + + <B>without</B> the words: + <B>beze</B> slov: + + + + with <B>exact phrase</B>: + s <B>přesnou skupinou slov</B>: + + + + with <B>all</B> of the words: + se <B>všemi</B> slovy: + + + + with <B>at least one</B> of the words: + s <B>jakýmkoli</B> ze slov: + + + + QHelpSearchResultWidget + + + 0 - 0 of 0 Hits + 0 - 0 z 0 zásahů + + + + QHelpSearchResultWidgetPrivate + + + %1 - %2 of %3 Hits + %1 - %2 z %3 zásahů + + + + QObject + + + Untitled + Bez názvu + + + + Unknown token. + Neznámý symbol. + + + + Unknown token. Expected "QtHelpProject"! + Neznámý symbol. Byl očekáván "QtHelpProject"! + + + + Error in line %1: %2 + Chyba na řádku %1: %2 + + + + A virtual folder must not contain a '/' character! + Virtuální složka nesmí obsahovat znak '/'! + + + + A namespace must not contain a '/' character! + Jmenný prostor nesmí obsahovat znak '/'! + + + + Missing namespace in QtHelpProject. + Chybějící jmenný prostor QtHelpProject. + + + + Missing virtual folder in QtHelpProject + Chybějící virtuální složka v QtHelpProject. + + + + Missing attribute in keyword at line %1. + Chybějící vlastnost v klíčovém slově na řádku %1. + + + + The input file %1 could not be opened! + Vstupní soubor %1 se nepodařilo otevřít! + + + diff --git a/translations/translations.pri b/translations/translations.pri index 8896654..9c70557 100644 --- a/translations/translations.pri +++ b/translations/translations.pri @@ -17,7 +17,7 @@ LUPDATE += -locations relative -no-ui-lines ###### Qt Libraries -QT_TS = ar da de es fr iw ja_JP pl pt ru sk sl sv uk zh_CN zh_TW +QT_TS = ar cs da de es fr iw ja_JP pl pt ru sk sl sv uk zh_CN zh_TW ts-qt.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \ -I../include -I../include/Qt \ -- cgit v0.12 From 94b3918fb52858064811c4993dac6392d0043b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trond=20Kjern=C3=A5sen?= Date: Tue, 2 Feb 2010 15:05:54 +0100 Subject: Implemented QGifHandler::imageCount(). Task-number: QTBUG-7514 Reviewed-by: Kim --- src/plugins/imageformats/gif/qgifhandler.cpp | 235 ++++++++++++++++++++++++++- src/plugins/imageformats/gif/qgifhandler.h | 1 + tests/auto/qimagereader/tst_qimagereader.cpp | 6 + 3 files changed, 241 insertions(+), 1 deletion(-) diff --git a/src/plugins/imageformats/gif/qgifhandler.cpp b/src/plugins/imageformats/gif/qgifhandler.cpp index 6f049be..6cd7841 100644 --- a/src/plugins/imageformats/gif/qgifhandler.cpp +++ b/src/plugins/imageformats/gif/qgifhandler.cpp @@ -72,6 +72,7 @@ public: int decode(QImage *image, const uchar* buffer, int length, int *nextFrameDelay, int *loopCount, QSize *nextSize); + static int imageCount(QIODevice *device); bool newFrame; bool partialNewFrame; @@ -645,6 +646,234 @@ int QGIFFormat::decode(QImage *image, const uchar *buffer, int length, return initial-length; } +/*! + Returns the number of images that can be read from \a device. +*/ + +int QGIFFormat::imageCount(QIODevice *device) +{ + if (!device) + return 0; + + qint64 oldPos = device->pos(); + if (!device->seek(0)) + return 0; + + int colorCount = 0; + int localColorCount = 0; + int globalColorCount = 0; + int colorReadCount = 0; + bool localColormap = false; + bool globalColormap = false; + int count = 0; + int blockSize = 0; + bool done = false; + uchar hold[16]; + int imageCount = 0; + State state = Header; + + const int readBufferSize = 40960; // 40k read buffer + QByteArray readBuffer(device->read(readBufferSize)); + + if (readBuffer.isEmpty()) + return 0; + + // this is a specialized version of the state machine from decode(), + // which doesn't do any image decoding or mallocing, and has an + // optimized way of skipping SkipBlocks, ImageDataBlocks and + // Global/LocalColorMaps. + + while (!readBuffer.isEmpty()) { + int length = readBuffer.size(); + const uchar *buffer = (const uchar *) readBuffer.constData(); + while (!done && length) { + length--; + uchar ch = *buffer++; + switch (state) { + case Header: + hold[count++] = ch; + if (count == 6) { + state = LogicalScreenDescriptor; + count = 0; + } + break; + case LogicalScreenDescriptor: + hold[count++] = ch; + if (count == 7) { + globalColormap = !!(hold[4] & 0x80); + globalColorCount = 2 << (hold[4] & 0x7); + count = 0; + colorCount = globalColorCount; + if (globalColormap) { + int colorTableSize = 3 * globalColorCount; + if (length >= colorTableSize) { + // skip the global color table in one go + length -= colorTableSize; + buffer += colorTableSize; + state = Introducer; + } else { + colorReadCount = 0; + state = GlobalColorMap; + } + } else { + state=Introducer; + } + } + break; + case GlobalColorMap: + case LocalColorMap: + hold[count++] = ch; + if (count == 3) { + if (++colorReadCount >= colorCount) { + if (state == LocalColorMap) + state = TableImageLZWSize; + else + state = Introducer; + } + count = 0; + } + break; + case Introducer: + hold[count++] = ch; + switch (ch) { + case 0x2c: + state = ImageDescriptor; + break; + case 0x21: + state = ExtensionLabel; + break; + case 0x3b: + state = Done; + break; + default: + done = true; + state = Error; + } + break; + case ImageDescriptor: + hold[count++] = ch; + if (count == 10) { + localColormap = !!(hold[9] & 0x80); + localColorCount = localColormap ? (2 << (hold[9] & 0x7)) : 0; + if (localColorCount) + colorCount = localColorCount; + else + colorCount = globalColorCount; + imageCount++; + + count = 0; + if (localColormap) { + int colorTableSize = 3 * localColorCount; + if (length >= colorTableSize) { + // skip the local color table in one go + length -= colorTableSize; + buffer += colorTableSize; + state = TableImageLZWSize; + } else { + colorReadCount = 0; + state = LocalColorMap; + } + } else { + state = TableImageLZWSize; + } + } + break; + case TableImageLZWSize: + if (ch > max_lzw_bits) + state = Error; + else + state = ImageDataBlockSize; + count = 0; + break; + case ImageDataBlockSize: + blockSize = ch; + if (blockSize) { + if (length >= blockSize) { + // we can skip the block in one go + length -= blockSize; + buffer += blockSize; + count = 0; + } else { + state = ImageDataBlock; + } + } else { + state = Introducer; + } + break; + case ImageDataBlock: + ++count; + if (count == blockSize) { + count = 0; + state = ImageDataBlockSize; + } + break; + case ExtensionLabel: + switch (ch) { + case 0xf9: + state = GraphicControlExtension; + break; + case 0xff: + state = ApplicationExtension; + break; + default: + state = SkipBlockSize; + } + count = 0; + break; + case ApplicationExtension: + if (count < 11) + hold[count] = ch; + ++count; + if (count == hold[0] + 1) { + state = SkipBlockSize; + count = 0; + } + break; + case GraphicControlExtension: + if (count < 5) + hold[count] = ch; + ++count; + if (count == hold[0] + 1) { + count = 0; + state = SkipBlockSize; + } + break; + case NetscapeExtensionBlockSize: // fallthrough + case SkipBlockSize: + blockSize = ch; + count = 0; + if (blockSize) { + if (length >= blockSize) { + // we can skip the block in one go + length -= blockSize; + buffer += blockSize; + } else { + state = SkipBlock; + } + } else { + state = Introducer; + } + break; + case NetscapeExtensionBlock: // fallthrough + case SkipBlock: + ++count; + if (count == blockSize) + state = SkipBlockSize; + break; + case Done: + done = true; + break; + case Error: + device->seek(oldPos); + return 0; + } + } + readBuffer = device->read(readBufferSize); + } + device->seek(oldPos); + return imageCount; +} + void QGIFFormat::fillRect(QImage *image, int col, int row, int w, int h, QRgb color) { if (w>0) { @@ -766,6 +995,7 @@ QGifHandler::QGifHandler() loopCnt = 0; frameNumber = -1; nextSize = QSize(); + imageCnt = -1; } QGifHandler::~QGifHandler() @@ -883,7 +1113,10 @@ int QGifHandler::nextImageDelay() const int QGifHandler::imageCount() const { - return 0; // Don't know + if (imageCnt != -1) + return imageCnt; + imageCnt = QGIFFormat::imageCount(device()); + return imageCnt; } int QGifHandler::loopCount() const diff --git a/src/plugins/imageformats/gif/qgifhandler.h b/src/plugins/imageformats/gif/qgifhandler.h index a6e520f..830cd38 100644 --- a/src/plugins/imageformats/gif/qgifhandler.h +++ b/src/plugins/imageformats/gif/qgifhandler.h @@ -88,6 +88,7 @@ private: mutable int loopCnt; int frameNumber; mutable QSize nextSize; + mutable int imageCnt; }; QT_END_NAMESPACE diff --git a/tests/auto/qimagereader/tst_qimagereader.cpp b/tests/auto/qimagereader/tst_qimagereader.cpp index b1a5d26..debc090 100644 --- a/tests/auto/qimagereader/tst_qimagereader.cpp +++ b/tests/auto/qimagereader/tst_qimagereader.cpp @@ -765,6 +765,8 @@ void tst_QImageReader::gifImageCount() QVERIFY(io.canRead()); QImage greenFrame = io.read(); + QVERIFY(io.imageCount() == 4); + QVERIFY(io.canRead()); QImage blueFrame = io.read(); @@ -876,6 +878,10 @@ void tst_QImageReader::gifImageCount() QCOMPARE(blueFrame.size(), QSize(64,64)); QVERIFY(emptyFrame.isNull()); } + { + QImageReader io(":images/trolltech.gif"); + QVERIFY(io.imageCount() == 34); + } } #endif -- cgit v0.12 From 5d17f9735ab30983d71fc4bbfc71c8ed4b563585 Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Tue, 2 Feb 2010 15:05:40 +0100 Subject: Revert "Improve raster graphics system performance on Mac." This reverts commit f5f62c0bede7b4558b35b595b3b9bc11e0232fac. Breaks the build for the cocoa port. --- src/gui/kernel/qcocoasharedwindowmethods_mac_p.h | 20 -------------------- src/gui/kernel/qcocoaview_mac.mm | 9 ++++----- src/gui/kernel/qt_cocoa_helpers_mac.mm | 2 +- src/gui/kernel/qwidget.cpp | 15 +-------------- src/gui/kernel/qwidget_mac.mm | 19 ------------------- src/gui/painting/qwindowsurface_raster.cpp | 4 +++- 6 files changed, 9 insertions(+), 60 deletions(-) diff --git a/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h b/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h index 7829a4e..1a265d0 100644 --- a/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h +++ b/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h @@ -51,9 +51,6 @@ NSPanel, while QCocoaWindow needs to inherit NSWindow rather than NSPanel). ****************************************************************************/ -#include -#include - QT_BEGIN_NAMESPACE extern Qt::MouseButton cocoaButton2QtButton(NSInteger buttonNum); // qcocoaview.mm extern QPointer qt_button_down; //qapplication_mac.cpp @@ -188,20 +185,3 @@ QT_END_NAMESPACE return [super frameViewClassForStyleMask:styleMask]; } -- (void)displayIfNeeded -{ - - QWidget *qwidget = [[QT_MANGLE_NAMESPACE(QCocoaWindowDelegate) sharedDelegate] qt_qwidgetForWindow:self]; - if (qwidget == 0) { - [super displayIfNeeded]; - return; - } - - if (QApplicationPrivate::graphicsSystem() != 0) { - if (QWidgetBackingStore *bs = qt_widget_private(qwidget)->maybeBackingStore()) - bs->sync(qwidget, qwidget->rect()); - } - [super displayIfNeeded]; -} - - diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index 2c35be2..d255604 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -520,11 +520,10 @@ extern "C" { - (void)drawRect:(NSRect)aRect { if (QApplicationPrivate::graphicsSystem() != 0) { - if (QWidgetBackingStore *bs = qwidgetprivate->maybeBackingStore()) { - // Drawing is handled on the window level - // See qcocoasharedwindowmethods_mac_p. - return; - } + if (QWidgetBackingStore *bs = qwidgetprivate->maybeBackingStore()) + bs->markDirty(qwidget->rect(), qwidget); + qwidgetprivate->syncBackingStore(qwidget->rect()); + return; } CGContextRef cg = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort]; qwidgetprivate->hd = cg; diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm index 65c04e5..e06a810 100644 --- a/src/gui/kernel/qt_cocoa_helpers_mac.mm +++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm @@ -1162,7 +1162,7 @@ CGContextRef qt_mac_graphicsContextFor(QWidget *widget) CGrafPtr port = GetWindowPort(qt_mac_window_for(widget)); QDBeginCGContext(port, &context); #else - CGContextRef context = reinterpret_cast([[qt_mac_window_for(widget) graphicsContext] graphicsPort]); + CGContextRef context = (CGContextRef)[[NSGraphicsContext graphicsContextWithWindow:qt_mac_window_for(widget)] graphicsPort]; #endif return context; } diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 78a25ac..ffad38b 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -1660,13 +1660,7 @@ void QWidgetPrivate::syncBackingStore() repaint_sys(dirty); dirty = QRegion(); } else if (QWidgetBackingStore *bs = maybeBackingStore()) { -#ifdef QT_MAC_USE_COCOA - Q_UNUSED(bs); - void qt_mac_set_needs_display(QWidget *, QRegion); - qt_mac_set_needs_display(q_func(), QRegion()); -#else bs->sync(); -#endif } } @@ -1674,15 +1668,8 @@ void QWidgetPrivate::syncBackingStore(const QRegion ®ion) { if (paintOnScreen()) repaint_sys(region); - else if (QWidgetBackingStore *bs = maybeBackingStore()) { -#ifdef QT_MAC_USE_COCOA - Q_UNUSED(bs); - void qt_mac_set_needs_display(QWidget *, QRegion); - qt_mac_set_needs_display(q_func(), region); -#else + else if (QWidgetBackingStore *bs = maybeBackingStore()) bs->sync(q_func(), region); -#endif - } } void QWidgetPrivate::setUpdatesEnabled_helper(bool enable) diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index b5888b4..78c1562 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -565,25 +565,6 @@ inline static void qt_mac_set_window_group_to_popup(OSWindowRef window) } #endif -#ifdef QT_MAC_USE_COCOA -void qt_mac_set_needs_display(QWidget *widget, QRegion region) -{ - NSView *theNSView = qt_mac_nativeview_for(widget); - if (region.isNull()) { - [theNSView setNeedsDisplay:YES]; - return; - } - - QVector rects = region.rects(); - for (int i = 0; i Date: Tue, 2 Feb 2010 16:17:53 +0100 Subject: Changelog: Added Designer/uic3 changes for 4.6.2 --- dist/changes-4.6.2 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2 index d35f945..7ab2cde 100644 --- a/dist/changes-4.6.2 +++ b/dist/changes-4.6.2 @@ -143,7 +143,12 @@ Qt for Windows CE **************************************************************************** - Designer - * foo + * [QTBUG-6965] Enabled editing seconds of QDateTime-type properties + * [QTBUG-6757] Fixed bug where selection handles would be affected by + a style sheet set on the main form. + + - uic3 + * [QTBUG-7404] Added option to preserve layout names set by Qt 3 Designer. - qdoc3 * bar -- cgit v0.12 From 39233f76647e166961c97b38d16f612076eeb9c3 Mon Sep 17 00:00:00 2001 From: ck Date: Tue, 2 Feb 2010 16:21:52 +0100 Subject: Assistant examples: Fix missing QLatin1String. --- examples/assistant/simpletextviewer/findfiledialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/assistant/simpletextviewer/findfiledialog.cpp b/examples/assistant/simpletextviewer/findfiledialog.cpp index 0f7bbae..1f11f69 100644 --- a/examples/assistant/simpletextviewer/findfiledialog.cpp +++ b/examples/assistant/simpletextviewer/findfiledialog.cpp @@ -102,7 +102,7 @@ void FindFileDialog::openFile(QTreeWidgetItem *item) if (file.open(QIODevice::ReadOnly)) { QString data(file.readAll()); - if (fileName.endsWith(".html")) + if (fileName.endsWith(QLatin1String(".html"))) currentEditor->setHtml(data); else currentEditor->setPlainText(data); -- cgit v0.12 From 3d2dbeb65089efaff4b92b7d13c13c1a234f71b0 Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Tue, 2 Feb 2010 16:39:40 +0100 Subject: Avoids a possible crash when saving the state of a main window The crash could appear when saving the state of the main window in response to the visibilityChanged of the dock widgets. Task-number: QTBUG-7838 Reviewed-by: ogoffart --- src/gui/widgets/qmainwindowlayout.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gui/widgets/qmainwindowlayout.cpp b/src/gui/widgets/qmainwindowlayout.cpp index d1e7285..fc75c92 100644 --- a/src/gui/widgets/qmainwindowlayout.cpp +++ b/src/gui/widgets/qmainwindowlayout.cpp @@ -1627,6 +1627,13 @@ void QMainWindowLayout::animationFinished(QWidget *widget) tb->d_func()->plug(currentGapRect); #endif + savedState.clear(); + currentGapPos.clear(); + pluggingWidget = 0; + //applying the state will make sure that the currentGap is updated correctly + //and all the geometries (especially the one from the central widget) is correct + layoutState.apply(false); + #ifndef QT_NO_DOCKWIDGET #ifndef QT_NO_TABBAR if (qobject_cast(widget) != 0) { @@ -1637,13 +1644,6 @@ void QMainWindowLayout::animationFinished(QWidget *widget) } #endif #endif - - savedState.clear(); - currentGapPos.clear(); - pluggingWidget = 0; - //applying the state will make sure that the currentGap is updated correctly - //and all the geometries (especially the one from the central widget) is correct - layoutState.apply(false); } if (!widgetAnimator.animating()) { -- cgit v0.12 From bcd979230af769b49a1e3fdb1c9e1103ce2348de Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Tue, 2 Feb 2010 08:06:43 -0800 Subject: Add changes for 4.6.2 Mostly DirectFB. Reviewed-by: TrustMe --- dist/changes-4.6.2 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2 index 7ab2cde..786efcc 100644 --- a/dist/changes-4.6.2 +++ b/dist/changes-4.6.2 @@ -110,7 +110,8 @@ Qt for Unix (X11 and Mac OS X) Qt for Linux/X11 ---------------- - + * Fix a bug where QPixmap::serialNumber was not set on a transformed pixmap + in Qt/X11. - Qt for Windows @@ -130,7 +131,13 @@ Qt for Embedded Linux DirectFB -------- - + * Fix a bug where QPixmap::serialNumber was not set on a transformed pixmap + in DirectFB. + * Reimplement QPixmapData::scroll for QDirectFBPixmapData which optimizes + QPixmap::scroll + * Fix a rendering issue for semi-transparent top level windows in DirectFB. + * Make it possible to fall back to the raster engine for stretch blits in + DirectFB using QT_NO_DIRECTFB_STRETCHBLIT - Qt for Windows CE -- cgit v0.12 From 85578c6c37d9e4eb0da888937b20ba93a26d8805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trond=20Kjern=C3=A5sen?= Date: Tue, 2 Feb 2010 17:39:19 +0100 Subject: 4.6.2 changes --- dist/changes-4.6.2 | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2 index d35f945..2a884fe 100644 --- a/dist/changes-4.6.2 +++ b/dist/changes-4.6.2 @@ -46,8 +46,14 @@ QtCore QtGui ----- - - foo - * bar + - QBmpHandler + * [QTBUG-7530] Fixed an infinite loop that could occur when reading invalid BMP images. + + - QImage + * [QTBUG-7231] Avoid an unnecessary copy in QImage::scaled(). + + - QPDFEngine + * [QTBUG-7249] Fixed the encoding of the Tile and Creator tags in the PDF engine. QtDBus ------ @@ -64,8 +70,14 @@ QtNetwork QtOpenGL -------- - - foo - * bar + - QGLWidget + * [QTBUG-7213] Fixed QGLWidget::renderPixmap() on Windows. + + - QGLPixelBuffer + * [QTBUG-7476] Fixed a crash under X11 when drawing QPixmaps to QGLPixelBuffers. + + - QGL2PaintEngineEx + * [QTBUG-7203] Reset the GL stencil mask, op and function in resetGLState(). QtScript -------- @@ -121,7 +133,8 @@ Qt for Windows Qt for Mac OS X --------------- - - + - QPrintPreviewDialog + * [QTBUG-7481] Re-added the Close button in QPrintPreviewDialog for Mac/Carbon. Qt for Embedded Linux --------------------- -- cgit v0.12 From d5d882280fe9577c580d41f1efb5abbd5d57f6dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trond=20Kjern=C3=A5sen?= Date: Tue, 2 Feb 2010 17:57:19 +0100 Subject: Fixed a failure in tst_qgl. The assert wrong, it may be that the texture isn't removed from the cache if it doesn't have the MemoryManaged bind option set. Reviewed-by: Samuel --- src/opengl/qgl.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index dd977cb..fce9fdb 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -1683,7 +1683,6 @@ void QGLTextureCache::cleanupBeforePixmapDestruction(QPixmapData* pmd) { // Remove any bound textures first: cleanupTextures(pmd); - Q_ASSERT(instance()->getTexture(pmd->cacheKey()) == 0); #if defined(Q_WS_X11) if (pmd->classId() == QPixmapData::X11Class) { -- cgit v0.12 From 335284df68b726bda40094c866c53547c13423d2 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 2 Feb 2010 18:01:09 +0100 Subject: Add auto-generated tests for QScriptValue tst_qscriptvalue_generated.cpp was generated by Jedrzej's generator (see testgen subdirectory). The idea is that the old isXXX and toXXX tests will be replaced entirely by the auto-generated versions, but we keep them for now (with "_old" suffix) until we are sure that the auto-generated versions cover everything. --- tests/auto/qscriptvalue/qscriptvalue.pro | 4 +- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 158 +- tests/auto/qscriptvalue/tst_qscriptvalue.h | 410 ++ .../qscriptvalue/tst_qscriptvalue_generated.cpp | 6347 ++++++++++++++++++++ 4 files changed, 6836 insertions(+), 83 deletions(-) create mode 100644 tests/auto/qscriptvalue/tst_qscriptvalue.h create mode 100644 tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp diff --git a/tests/auto/qscriptvalue/qscriptvalue.pro b/tests/auto/qscriptvalue/qscriptvalue.pro index 9efde80..1588cc5 100644 --- a/tests/auto/qscriptvalue/qscriptvalue.pro +++ b/tests/auto/qscriptvalue/qscriptvalue.pro @@ -1,5 +1,7 @@ load(qttest_p4) QT = core gui script SOURCES += tst_qscriptvalue.cpp +HEADERS += tst_qscriptvalue.h - +# Generated by testgen +SOURCES += tst_qscriptvalue_generated.cpp diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index ef960d0..f83cf58 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -39,14 +39,8 @@ ** ****************************************************************************/ - -#include +#include "tst_qscriptvalue.h" #include -#include - -#include -#include -#include //TESTED_CLASS= //TESTED_FILES= @@ -55,62 +49,70 @@ QT_BEGIN_NAMESPACE extern bool qt_script_isJITEnabled(); QT_END_NAMESPACE -class tst_QScriptValue : public QObject +tst_QScriptValue::tst_QScriptValue() + : engine(0) { - Q_OBJECT +} -public: - tst_QScriptValue(); - virtual ~tst_QScriptValue(); - -private slots: - void ctor(); - void engine(); - void toString(); - void toNumber(); - void toBoolean(); - void toBool(); - void toInteger(); - void toInt32(); - void toUInt32(); - void toUInt16(); - void toVariant(); - void toQObject(); - void toObject(); - void toDateTime(); - void toRegExp(); - void instanceOf(); - void isArray(); - void isDate(); - void isError(); - void isRegExp(); - void getSetPrototype(); - void getSetScope(); - void getSetProperty(); - void arrayElementGetterSetter(); - void getSetData(); - void getSetScriptClass(); - void call(); - void construct(); - void lessThan(); - void equals(); - void strictlyEquals(); - void castToPointer(); - void prettyPrinter_data(); - void prettyPrinter(); - void engineDeleted(); - void valueOfWithClosure(); - void objectId(); -}; +tst_QScriptValue::~tst_QScriptValue() +{ + delete engine; +} -tst_QScriptValue::tst_QScriptValue() +void tst_QScriptValue::dataHelper(InitDataFunction init, DefineDataFunction define) { + QTest::addColumn("__expression__"); + (this->*init)(); + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + m_currentExpression = it.key(); + (this->*define)(it.key().toLatin1()); + } + m_currentExpression = QString(); } -tst_QScriptValue::~tst_QScriptValue() +QTestData &tst_QScriptValue::newRow(const char *tag) { + return QTest::newRow(tag) << m_currentExpression; } +void tst_QScriptValue::testHelper(TestFunction fun) +{ + QFETCH(QString, __expression__); + QScriptValue value = m_values.value(__expression__); + (this->*fun)(__expression__.toLatin1(), value); +} + +void tst_QScriptValue::assignAndCopyConstruct_initData() +{ + QTest::addColumn("dummy"); + initScriptValues(); +} + +void tst_QScriptValue::assignAndCopyConstruct_makeData(const char *expr) +{ + newRow(expr) << 0; +} + +void tst_QScriptValue::assignAndCopyConstruct_test(const char *, const QScriptValue &value) +{ + QScriptValue copy(value); + QCOMPARE(copy.strictlyEquals(value), !value.isNumber() || !qIsNaN(value.toNumber())); + QCOMPARE(copy.engine(), value.engine()); + + QScriptValue assigned = copy; + QCOMPARE(assigned.strictlyEquals(value), !copy.isNumber() || !qIsNaN(copy.toNumber())); + QCOMPARE(assigned.engine(), assigned.engine()); + + QScriptValue other(!value.toBool()); + assigned = other; + QVERIFY(!assigned.strictlyEquals(copy)); + QVERIFY(assigned.strictlyEquals(other)); + QCOMPARE(assigned.engine(), other.engine()); +} + +DEFINE_TEST_FUNCTION(assignAndCopyConstruct) + void tst_QScriptValue::ctor() { QScriptEngine eng; @@ -330,19 +332,12 @@ void tst_QScriptValue::ctor() QVERIFY(QScriptValue(0, QString("ciao")).isString()); } -void tst_QScriptValue::engine() -{ - QScriptEngine eng; - QScriptValue object = eng.newObject(); - QCOMPARE(object.engine(), &eng); -} - static QScriptValue myFunction(QScriptContext *, QScriptEngine *eng) { return eng->undefinedValue(); } -void tst_QScriptValue::toString() +void tst_QScriptValue::toString_old() { QScriptEngine eng; @@ -456,7 +451,7 @@ void tst_QScriptValue::toString() QVERIFY(variant.toString().isEmpty()); } -void tst_QScriptValue::toNumber() +void tst_QScriptValue::toNumber_old() { QScriptEngine eng; @@ -529,7 +524,7 @@ void tst_QScriptValue::toNumber() } } -void tst_QScriptValue::toBoolean() // deprecated +void tst_QScriptValue::toBoolean_old() // deprecated { QScriptEngine eng; @@ -626,7 +621,7 @@ void tst_QScriptValue::toBoolean() // deprecated } } -void tst_QScriptValue::toBool() +void tst_QScriptValue::toBool_old() { QScriptEngine eng; @@ -723,7 +718,7 @@ void tst_QScriptValue::toBool() } } -void tst_QScriptValue::toInteger() +void tst_QScriptValue::toInteger_old() { QScriptEngine eng; @@ -810,7 +805,7 @@ void tst_QScriptValue::toInteger() QCOMPARE(inv.toInteger(), 0.0); } -void tst_QScriptValue::toInt32() +void tst_QScriptValue::toInt32_old() { QScriptEngine eng; @@ -946,7 +941,7 @@ void tst_QScriptValue::toInt32() QCOMPARE(qscriptvalue_cast(inv), 0); } -void tst_QScriptValue::toUInt32() +void tst_QScriptValue::toUInt32_old() { QScriptEngine eng; @@ -1078,7 +1073,7 @@ void tst_QScriptValue::toUInt32() QCOMPARE(qscriptvalue_cast(inv), quint32(0)); } -void tst_QScriptValue::toUInt16() +void tst_QScriptValue::toUInt16_old() { QScriptEngine eng; @@ -1239,7 +1234,7 @@ void tst_QScriptValue::toUInt16() Q_DECLARE_METATYPE(QVariant) #endif -void tst_QScriptValue::toVariant() +void tst_QScriptValue::toVariant_old() { QScriptEngine eng; @@ -1346,7 +1341,7 @@ void tst_QScriptValue::toVariant() // unfortunately, this is necessary in order to do qscriptvalue_cast(...) Q_DECLARE_METATYPE(QPushButton*) -void tst_QScriptValue::toQObject() +void tst_QScriptValue::toQObject_old() { QScriptEngine eng; @@ -1541,7 +1536,7 @@ void tst_QScriptValue::toObject() } } -void tst_QScriptValue::toDateTime() +void tst_QScriptValue::toDateTime_old() { QScriptEngine eng; QDateTime dt = eng.evaluate("new Date(0)").toDateTime(); @@ -1559,7 +1554,7 @@ void tst_QScriptValue::toDateTime() QVERIFY(!eng.undefinedValue().toDateTime().isValid()); } -void tst_QScriptValue::toRegExp() +void tst_QScriptValue::toRegExp_old() { QScriptEngine eng; { @@ -1589,7 +1584,7 @@ void tst_QScriptValue::toRegExp() QVERIFY(eng.undefinedValue().toRegExp().isEmpty()); } -void tst_QScriptValue::instanceOf() +void tst_QScriptValue::instanceOf_old() { QScriptEngine eng; QScriptValue obj = eng.newObject(); @@ -1625,7 +1620,7 @@ void tst_QScriptValue::instanceOf() QCOMPARE(obj.instanceOf(otherEngine.globalObject().property("Object")), false); } -void tst_QScriptValue::isArray() +void tst_QScriptValue::isArray_old() { QScriptEngine eng; QVERIFY(eng.evaluate("[]").isArray()); @@ -1638,7 +1633,7 @@ void tst_QScriptValue::isArray() QVERIFY(!eng.undefinedValue().isArray()); } -void tst_QScriptValue::isDate() +void tst_QScriptValue::isDate_old() { QScriptEngine eng; QVERIFY(eng.evaluate("new Date()").isDate()); @@ -1652,7 +1647,7 @@ void tst_QScriptValue::isDate() QVERIFY(!eng.undefinedValue().isDate()); } -void tst_QScriptValue::isError() +void tst_QScriptValue::isError_old() { QStringList errors; errors << "Error" @@ -1677,7 +1672,7 @@ void tst_QScriptValue::isError() QVERIFY(!eng.evaluate("new Object()").isError()); } -void tst_QScriptValue::isRegExp() +void tst_QScriptValue::isRegExp_old() { QScriptEngine eng; QVERIFY(eng.evaluate("/foo/").isRegExp()); @@ -2718,7 +2713,7 @@ void tst_QScriptValue::construct() QVERIFY(!QScriptValue(QScriptValue::NullValue).construct().isValid()); } -void tst_QScriptValue::lessThan() +void tst_QScriptValue::lessThan_old() { QScriptEngine eng; @@ -2812,7 +2807,7 @@ void tst_QScriptValue::lessThan() QCOMPARE(date1.lessThan(QScriptValue(&otherEngine, 123)), false); } -void tst_QScriptValue::equals() +void tst_QScriptValue::equals_old() { QScriptEngine eng; @@ -3005,7 +3000,7 @@ void tst_QScriptValue::equals() QCOMPARE(date1.equals(QScriptValue(&otherEngine, 123)), false); } -void tst_QScriptValue::strictlyEquals() +void tst_QScriptValue::strictlyEquals_old() { QScriptEngine eng; @@ -3456,4 +3451,3 @@ void tst_QScriptValue::objectId() } QTEST_MAIN(tst_QScriptValue) -#include "tst_qscriptvalue.moc" diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h new file mode 100644 index 0000000..6215506 --- /dev/null +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -0,0 +1,410 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef TST_QSCRIPTVALUE_H +#define TST_QSCRIPTVALUE_H + +#include +#include +#include +#include +#include +#include + +Q_DECLARE_METATYPE(QVariant) +Q_DECLARE_METATYPE(QScriptValue) + +class tst_QScriptValue : public QObject +{ + Q_OBJECT + +public: + tst_QScriptValue(); + virtual ~tst_QScriptValue(); + +private slots: + // Generated test functions + void isArray_data(); + void isArray(); + + void isBool_data(); + void isBool(); + + void isBoolean_data(); + void isBoolean(); + + void isDate_data(); + void isDate(); + + void isError_data(); + void isError(); + + void isFunction_data(); + void isFunction(); + + void isNull_data(); + void isNull(); + + void isNumber_data(); + void isNumber(); + + void isObject_data(); + void isObject(); + +// void isQMetaObject_data(); +// void isQMetaObject(); + +// void isQObject_data(); +// void isQObject(); + + void isRegExp_data(); + void isRegExp(); + + void isString_data(); + void isString(); + + void isUndefined_data(); + void isUndefined(); + + void isValid_data(); + void isValid(); + +// void isVariant_data(); +// void isVariant(); + + void toBool_data(); + void toBool(); + + void toBoolean_data(); + void toBoolean(); + +// void toDateTime_data(); +// void toDateTime(); + + void toInt32_data(); + void toInt32(); + + void toInteger_data(); + void toInteger(); + + void toNumber_data(); + void toNumber(); + +// void toQMetaObject_data(); +// void toQMetaObject(); + +// void toQObject_data(); +// void toQObject(); + +// void toRegExp_data(); +// void toRegExp(); + + void toString_data(); + void toString(); + + void toUInt16_data(); + void toUInt16(); + + void toUInt32_data(); + void toUInt32(); + +// void toVariant_data(); +// void toVariant(); + + void equals_data(); + void equals(); + + void strictlyEquals_data(); + void strictlyEquals(); + + void lessThan_data(); + void lessThan(); + + void instanceOf_data(); + void instanceOf(); + + void assignAndCopyConstruct_data(); + void assignAndCopyConstruct(); + + void qscriptvalue_castQString_data(); + void qscriptvalue_castQString(); + + void qscriptvalue_castqsreal_data(); + void qscriptvalue_castqsreal(); + + void qscriptvalue_castbool_data(); + void qscriptvalue_castbool(); + + void qscriptvalue_castqint32_data(); + void qscriptvalue_castqint32(); + + void qscriptvalue_castquint32_data(); + void qscriptvalue_castquint32(); + + void qscriptvalue_castquint16_data(); + void qscriptvalue_castquint16(); + + // Non-generated test functions + + void toObject(); + void ctor(); + + void toString_old(); + void toNumber_old(); + void toBoolean_old(); + void toBool_old(); + void toInteger_old(); + void toInt32_old(); + void toUInt32_old(); + void toUInt16_old(); + void toVariant_old(); + void toQObject_old(); + void toDateTime_old(); + void toRegExp_old(); + void instanceOf_old(); + void isArray_old(); + void isDate_old(); + void isError_old(); + void isRegExp_old(); + + void lessThan_old(); + void equals_old(); + void strictlyEquals_old(); + + void getSetPrototype(); + void getSetScope(); + void getSetProperty(); + void arrayElementGetterSetter(); + void getSetData(); + void getSetScriptClass(); + void call(); + void construct(); + void castToPointer(); + void prettyPrinter_data(); + void prettyPrinter(); + void engineDeleted(); + void valueOfWithClosure(); + void objectId(); + +private: + typedef void (tst_QScriptValue::*InitDataFunction)(); + typedef void (tst_QScriptValue::*DefineDataFunction)(const char *); + void dataHelper(InitDataFunction init, DefineDataFunction define); + QTestData &newRow(const char *tag); + + typedef void (tst_QScriptValue::*TestFunction)(const char *, const QScriptValue &); + void testHelper(TestFunction fun); + + // Generated functions + + void initScriptValues(); + + void isArray_initData(); + void isArray_makeData(const char *expr); + void isArray_test(const char *expr, const QScriptValue &value); + + void isBool_initData(); + void isBool_makeData(const char *expr); + void isBool_test(const char *expr, const QScriptValue &value); + + void isBoolean_initData(); + void isBoolean_makeData(const char *expr); + void isBoolean_test(const char *expr, const QScriptValue &value); + + void isDate_initData(); + void isDate_makeData(const char *expr); + void isDate_test(const char *expr, const QScriptValue &value); + + void isError_initData(); + void isError_makeData(const char *expr); + void isError_test(const char *expr, const QScriptValue &value); + + void isFunction_initData(); + void isFunction_makeData(const char *expr); + void isFunction_test(const char *expr, const QScriptValue &value); + + void isNull_initData(); + void isNull_makeData(const char *expr); + void isNull_test(const char *expr, const QScriptValue &value); + + void isNumber_initData(); + void isNumber_makeData(const char *expr); + void isNumber_test(const char *expr, const QScriptValue &value); + + void isObject_initData(); + void isObject_makeData(const char *expr); + void isObject_test(const char *expr, const QScriptValue &value); + + void isQMetaObject_initData(); + void isQMetaObject_makeData(const char *expr); + void isQMetaObject_test(const char *expr, const QScriptValue &value); + + void isQObject_initData(); + void isQObject_makeData(const char *expr); + void isQObject_test(const char *expr, const QScriptValue &value); + + void isRegExp_initData(); + void isRegExp_makeData(const char *expr); + void isRegExp_test(const char *expr, const QScriptValue &value); + + void isString_initData(); + void isString_makeData(const char *expr); + void isString_test(const char *expr, const QScriptValue &value); + + void isUndefined_initData(); + void isUndefined_makeData(const char *expr); + void isUndefined_test(const char *expr, const QScriptValue &value); + + void isValid_initData(); + void isValid_makeData(const char *expr); + void isValid_test(const char *expr, const QScriptValue &value); + + void isVariant_initData(); + void isVariant_makeData(const char *expr); + void isVariant_test(const char *expr, const QScriptValue &value); + + void toBool_initData(); + void toBool_makeData(const char *); + void toBool_test(const char *, const QScriptValue &value); + + void toBoolean_initData(); + void toBoolean_makeData(const char *); + void toBoolean_test(const char *, const QScriptValue &value); + + void toDateTime_initData(); + void toDateTime_makeData(const char *); + void toDateTime_test(const char *, const QScriptValue &value); + + void toInt32_initData(); + void toInt32_makeData(const char *); + void toInt32_test(const char *, const QScriptValue &value); + + void toInteger_initData(); + void toInteger_makeData(const char *); + void toInteger_test(const char *, const QScriptValue &value); + + void toNumber_initData(); + void toNumber_makeData(const char *); + void toNumber_test(const char *, const QScriptValue &value); + + void toQMetaObject_initData(); + void toQMetaObject_makeData(const char *); + void toQMetaObject_test(const char *, const QScriptValue &value); + + void toQObject_initData(); + void toQObject_makeData(const char *); + void toQObject_test(const char *, const QScriptValue &value); + + void toRegExp_initData(); + void toRegExp_makeData(const char *); + void toRegExp_test(const char *, const QScriptValue &value); + + void toString_initData(); + void toString_makeData(const char *); + void toString_test(const char *, const QScriptValue &value); + + void toUInt16_initData(); + void toUInt16_makeData(const char *); + void toUInt16_test(const char *, const QScriptValue &value); + + void toUInt32_initData(); + void toUInt32_makeData(const char *); + void toUInt32_test(const char *, const QScriptValue &value); + + void toVariant_initData(); + void toVariant_makeData(const char *); + void toVariant_test(const char *, const QScriptValue &value); + + void equals_initData(); + void equals_makeData(const char *); + void equals_test(const char *, const QScriptValue &value); + + void strictlyEquals_initData(); + void strictlyEquals_makeData(const char *); + void strictlyEquals_test(const char *, const QScriptValue &value); + + void lessThan_initData(); + void lessThan_makeData(const char *); + void lessThan_test(const char *, const QScriptValue &value); + + void instanceOf_initData(); + void instanceOf_makeData(const char *); + void instanceOf_test(const char *, const QScriptValue &value); + + void assignAndCopyConstruct_initData(); + void assignAndCopyConstruct_makeData(const char *); + void assignAndCopyConstruct_test(const char *, const QScriptValue &value); + + void qscriptvalue_castQString_initData(); + void qscriptvalue_castQString_makeData(const char *); + void qscriptvalue_castQString_test(const char *, const QScriptValue &value); + + void qscriptvalue_castqsreal_initData(); + void qscriptvalue_castqsreal_makeData(const char *); + void qscriptvalue_castqsreal_test(const char *, const QScriptValue &value); + + void qscriptvalue_castbool_initData(); + void qscriptvalue_castbool_makeData(const char *); + void qscriptvalue_castbool_test(const char *, const QScriptValue &value); + + void qscriptvalue_castqint32_initData(); + void qscriptvalue_castqint32_makeData(const char *); + void qscriptvalue_castqint32_test(const char *, const QScriptValue &value); + + void qscriptvalue_castquint32_initData(); + void qscriptvalue_castquint32_makeData(const char *); + void qscriptvalue_castquint32_test(const char *, const QScriptValue &value); + + void qscriptvalue_castquint16_initData(); + void qscriptvalue_castquint16_makeData(const char *); + void qscriptvalue_castquint16_test(const char *, const QScriptValue &value); + +private: + QScriptEngine *engine; + QHash m_values; + QString m_currentExpression; +}; + +#define DEFINE_TEST_FUNCTION(name) \ +void tst_QScriptValue::name##_data() { dataHelper(&tst_QScriptValue::name##_initData, &tst_QScriptValue::name##_makeData); } \ +void tst_QScriptValue::name() { testHelper(&tst_QScriptValue::name##_test); } + +#endif diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp new file mode 100644 index 0000000..6a59509 --- /dev/null +++ b/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp @@ -0,0 +1,6347 @@ +/* + Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "tst_qscriptvalue.h" + +#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr) + +void tst_QScriptValue::initScriptValues() +{ + m_values.clear(); + if (engine) + delete engine; + engine = new QScriptEngine; + DEFINE_TEST_VALUE(QScriptValue()); + DEFINE_TEST_VALUE(QScriptValue(QScriptValue::UndefinedValue)); + DEFINE_TEST_VALUE(QScriptValue(QScriptValue::NullValue)); + DEFINE_TEST_VALUE(QScriptValue(true)); + DEFINE_TEST_VALUE(QScriptValue(false)); + DEFINE_TEST_VALUE(QScriptValue(int(122))); + DEFINE_TEST_VALUE(QScriptValue(uint(124))); + DEFINE_TEST_VALUE(QScriptValue(0)); + DEFINE_TEST_VALUE(QScriptValue(0.0)); + DEFINE_TEST_VALUE(QScriptValue(123.0)); + DEFINE_TEST_VALUE(QScriptValue(6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(-6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(0x43211234)); + DEFINE_TEST_VALUE(QScriptValue(0x10000)); + DEFINE_TEST_VALUE(QScriptValue(0x10001)); + DEFINE_TEST_VALUE(QScriptValue(qSNaN())); + DEFINE_TEST_VALUE(QScriptValue(qQNaN())); + DEFINE_TEST_VALUE(QScriptValue(qInf())); + DEFINE_TEST_VALUE(QScriptValue(-qInf())); + DEFINE_TEST_VALUE(QScriptValue("NaN")); + DEFINE_TEST_VALUE(QScriptValue("Infinity")); + DEFINE_TEST_VALUE(QScriptValue("-Infinity")); + DEFINE_TEST_VALUE(QScriptValue("ciao")); + DEFINE_TEST_VALUE(QScriptValue(QString::fromLatin1("ciao"))); + DEFINE_TEST_VALUE(QScriptValue(QString(""))); + DEFINE_TEST_VALUE(QScriptValue(QString())); + DEFINE_TEST_VALUE(QScriptValue(QString("0"))); + DEFINE_TEST_VALUE(QScriptValue(QString("123"))); + DEFINE_TEST_VALUE(QScriptValue(QString("12.4"))); + DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::UndefinedValue)); + DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::NullValue)); + DEFINE_TEST_VALUE(QScriptValue(0, true)); + DEFINE_TEST_VALUE(QScriptValue(0, false)); + DEFINE_TEST_VALUE(QScriptValue(0, int(122))); + DEFINE_TEST_VALUE(QScriptValue(0, uint(124))); + DEFINE_TEST_VALUE(QScriptValue(0, 0)); + DEFINE_TEST_VALUE(QScriptValue(0, 0.0)); + DEFINE_TEST_VALUE(QScriptValue(0, 123.0)); + DEFINE_TEST_VALUE(QScriptValue(0, 6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(0, -6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(0, 0x43211234)); + DEFINE_TEST_VALUE(QScriptValue(0, 0x10000)); + DEFINE_TEST_VALUE(QScriptValue(0, 0x10001)); + DEFINE_TEST_VALUE(QScriptValue(0, qSNaN())); + DEFINE_TEST_VALUE(QScriptValue(0, qQNaN())); + DEFINE_TEST_VALUE(QScriptValue(0, qInf())); + DEFINE_TEST_VALUE(QScriptValue(0, -qInf())); + DEFINE_TEST_VALUE(QScriptValue(0, "NaN")); + DEFINE_TEST_VALUE(QScriptValue(0, "Infinity")); + DEFINE_TEST_VALUE(QScriptValue(0, "-Infinity")); + DEFINE_TEST_VALUE(QScriptValue(0, "ciao")); + DEFINE_TEST_VALUE(QScriptValue(0, QString::fromLatin1("ciao"))); + DEFINE_TEST_VALUE(QScriptValue(0, QString(""))); + DEFINE_TEST_VALUE(QScriptValue(0, QString())); + DEFINE_TEST_VALUE(QScriptValue(0, QString("0"))); + DEFINE_TEST_VALUE(QScriptValue(0, QString("123"))); + DEFINE_TEST_VALUE(QScriptValue(0, QString("12.3"))); + DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::UndefinedValue)); + DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::NullValue)); + DEFINE_TEST_VALUE(QScriptValue(engine, true)); + DEFINE_TEST_VALUE(QScriptValue(engine, false)); + DEFINE_TEST_VALUE(QScriptValue(engine, int(122))); + DEFINE_TEST_VALUE(QScriptValue(engine, uint(124))); + DEFINE_TEST_VALUE(QScriptValue(engine, 0)); + DEFINE_TEST_VALUE(QScriptValue(engine, 0.0)); + DEFINE_TEST_VALUE(QScriptValue(engine, 123.0)); + DEFINE_TEST_VALUE(QScriptValue(engine, 6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(engine, -6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(engine, 0x43211234)); + DEFINE_TEST_VALUE(QScriptValue(engine, 0x10000)); + DEFINE_TEST_VALUE(QScriptValue(engine, 0x10001)); + DEFINE_TEST_VALUE(QScriptValue(engine, qSNaN())); + DEFINE_TEST_VALUE(QScriptValue(engine, qQNaN())); + DEFINE_TEST_VALUE(QScriptValue(engine, qInf())); + DEFINE_TEST_VALUE(QScriptValue(engine, -qInf())); + DEFINE_TEST_VALUE(QScriptValue(engine, "NaN")); + DEFINE_TEST_VALUE(QScriptValue(engine, "Infinity")); + DEFINE_TEST_VALUE(QScriptValue(engine, "-Infinity")); + DEFINE_TEST_VALUE(QScriptValue(engine, "ciao")); + DEFINE_TEST_VALUE(QScriptValue(engine, QString::fromLatin1("ciao"))); + DEFINE_TEST_VALUE(QScriptValue(engine, QString(""))); + DEFINE_TEST_VALUE(QScriptValue(engine, QString())); + DEFINE_TEST_VALUE(QScriptValue(engine, QString("0"))); + DEFINE_TEST_VALUE(QScriptValue(engine, QString("123"))); + DEFINE_TEST_VALUE(QScriptValue(engine, QString("1.23"))); + DEFINE_TEST_VALUE(engine->evaluate("[]")); + DEFINE_TEST_VALUE(engine->evaluate("{}")); + DEFINE_TEST_VALUE(engine->evaluate("Object.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Date.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Array.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Function.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Error.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Object")); + DEFINE_TEST_VALUE(engine->evaluate("Array")); + DEFINE_TEST_VALUE(engine->evaluate("Number")); + DEFINE_TEST_VALUE(engine->evaluate("Function")); + DEFINE_TEST_VALUE(engine->evaluate("(function() { return 1; })")); + DEFINE_TEST_VALUE(engine->evaluate("(function() { return 'ciao'; })")); + DEFINE_TEST_VALUE(engine->evaluate("(function() { throw new Error('foo'); })")); + DEFINE_TEST_VALUE(engine->evaluate("/foo/")); + DEFINE_TEST_VALUE(engine->evaluate("new Object()")); + DEFINE_TEST_VALUE(engine->evaluate("new Array()")); + DEFINE_TEST_VALUE(engine->evaluate("new Error()")); +} + + +void tst_QScriptValue::isValid_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isValid_makeData(const char* expr) +{ + static QSet isValid; + if (isValid.isEmpty()) { + isValid << "QScriptValue(QScriptValue::UndefinedValue)" + << "QScriptValue(QScriptValue::NullValue)" + << "QScriptValue(true)" + << "QScriptValue(false)" + << "QScriptValue(int(122))" + << "QScriptValue(uint(124))" + << "QScriptValue(0)" + << "QScriptValue(0.0)" + << "QScriptValue(123.0)" + << "QScriptValue(6.37e-8)" + << "QScriptValue(-6.37e-8)" + << "QScriptValue(0x43211234)" + << "QScriptValue(0x10000)" + << "QScriptValue(0x10001)" + << "QScriptValue(qSNaN())" + << "QScriptValue(qQNaN())" + << "QScriptValue(qInf())" + << "QScriptValue(-qInf())" + << "QScriptValue(\"NaN\")" + << "QScriptValue(\"Infinity\")" + << "QScriptValue(\"-Infinity\")" + << "QScriptValue(\"ciao\")" + << "QScriptValue(QString::fromLatin1(\"ciao\"))" + << "QScriptValue(QString(\"\"))" + << "QScriptValue(QString())" + << "QScriptValue(QString(\"0\"))" + << "QScriptValue(QString(\"123\"))" + << "QScriptValue(QString(\"12.4\"))" + << "QScriptValue(0, QScriptValue::UndefinedValue)" + << "QScriptValue(0, QScriptValue::NullValue)" + << "QScriptValue(0, true)" + << "QScriptValue(0, false)" + << "QScriptValue(0, int(122))" + << "QScriptValue(0, uint(124))" + << "QScriptValue(0, 0)" + << "QScriptValue(0, 0.0)" + << "QScriptValue(0, 123.0)" + << "QScriptValue(0, 6.37e-8)" + << "QScriptValue(0, -6.37e-8)" + << "QScriptValue(0, 0x43211234)" + << "QScriptValue(0, 0x10000)" + << "QScriptValue(0, 0x10001)" + << "QScriptValue(0, qSNaN())" + << "QScriptValue(0, qQNaN())" + << "QScriptValue(0, qInf())" + << "QScriptValue(0, -qInf())" + << "QScriptValue(0, \"NaN\")" + << "QScriptValue(0, \"Infinity\")" + << "QScriptValue(0, \"-Infinity\")" + << "QScriptValue(0, \"ciao\")" + << "QScriptValue(0, QString::fromLatin1(\"ciao\"))" + << "QScriptValue(0, QString(\"\"))" + << "QScriptValue(0, QString())" + << "QScriptValue(0, QString(\"0\"))" + << "QScriptValue(0, QString(\"123\"))" + << "QScriptValue(0, QString(\"12.3\"))" + << "QScriptValue(engine, QScriptValue::UndefinedValue)" + << "QScriptValue(engine, QScriptValue::NullValue)" + << "QScriptValue(engine, true)" + << "QScriptValue(engine, false)" + << "QScriptValue(engine, int(122))" + << "QScriptValue(engine, uint(124))" + << "QScriptValue(engine, 0)" + << "QScriptValue(engine, 0.0)" + << "QScriptValue(engine, 123.0)" + << "QScriptValue(engine, 6.37e-8)" + << "QScriptValue(engine, -6.37e-8)" + << "QScriptValue(engine, 0x43211234)" + << "QScriptValue(engine, 0x10000)" + << "QScriptValue(engine, 0x10001)" + << "QScriptValue(engine, qSNaN())" + << "QScriptValue(engine, qQNaN())" + << "QScriptValue(engine, qInf())" + << "QScriptValue(engine, -qInf())" + << "QScriptValue(engine, \"NaN\")" + << "QScriptValue(engine, \"Infinity\")" + << "QScriptValue(engine, \"-Infinity\")" + << "QScriptValue(engine, \"ciao\")" + << "QScriptValue(engine, QString::fromLatin1(\"ciao\"))" + << "QScriptValue(engine, QString(\"\"))" + << "QScriptValue(engine, QString())" + << "QScriptValue(engine, QString(\"0\"))" + << "QScriptValue(engine, QString(\"123\"))" + << "QScriptValue(engine, QString(\"1.23\"))" + << "engine->evaluate(\"[]\")" + << "engine->evaluate(\"{}\")" + << "engine->evaluate(\"Object.prototype\")" + << "engine->evaluate(\"Date.prototype\")" + << "engine->evaluate(\"Array.prototype\")" + << "engine->evaluate(\"Function.prototype\")" + << "engine->evaluate(\"Error.prototype\")" + << "engine->evaluate(\"Object\")" + << "engine->evaluate(\"Array\")" + << "engine->evaluate(\"Number\")" + << "engine->evaluate(\"Function\")" + << "engine->evaluate(\"(function() { return 1; })\")" + << "engine->evaluate(\"(function() { return 'ciao'; })\")" + << "engine->evaluate(\"(function() { throw new Error('foo'); })\")" + << "engine->evaluate(\"/foo/\")" + << "engine->evaluate(\"new Object()\")" + << "engine->evaluate(\"new Array()\")" + << "engine->evaluate(\"new Error()\")" + ; + } + newRow(expr) << isValid.contains(expr); +} + +void tst_QScriptValue::isValid_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isValid(), expected); +} + +DEFINE_TEST_FUNCTION(isValid) + + +void tst_QScriptValue::isBool_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isBool_makeData(const char* expr) +{ + static QSet isBool; + if (isBool.isEmpty()) { + isBool << "QScriptValue(true)" + << "QScriptValue(false)" + << "QScriptValue(0, true)" + << "QScriptValue(0, false)" + << "QScriptValue(engine, true)" + << "QScriptValue(engine, false)" + ; + } + newRow(expr) << isBool.contains(expr); +} + +void tst_QScriptValue::isBool_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isBool(), expected); +} + +DEFINE_TEST_FUNCTION(isBool) + + +void tst_QScriptValue::isBoolean_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isBoolean_makeData(const char* expr) +{ + static QSet isBoolean; + if (isBoolean.isEmpty()) { + isBoolean << "QScriptValue(true)" + << "QScriptValue(false)" + << "QScriptValue(0, true)" + << "QScriptValue(0, false)" + << "QScriptValue(engine, true)" + << "QScriptValue(engine, false)" + ; + } + newRow(expr) << isBoolean.contains(expr); +} + +void tst_QScriptValue::isBoolean_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isBoolean(), expected); +} + +DEFINE_TEST_FUNCTION(isBoolean) + + +void tst_QScriptValue::isNumber_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isNumber_makeData(const char* expr) +{ + static QSet isNumber; + if (isNumber.isEmpty()) { + isNumber << "QScriptValue(int(122))" + << "QScriptValue(uint(124))" + << "QScriptValue(0)" + << "QScriptValue(0.0)" + << "QScriptValue(123.0)" + << "QScriptValue(6.37e-8)" + << "QScriptValue(-6.37e-8)" + << "QScriptValue(0x43211234)" + << "QScriptValue(0x10000)" + << "QScriptValue(0x10001)" + << "QScriptValue(qSNaN())" + << "QScriptValue(qQNaN())" + << "QScriptValue(qInf())" + << "QScriptValue(-qInf())" + << "QScriptValue(0, int(122))" + << "QScriptValue(0, uint(124))" + << "QScriptValue(0, 0)" + << "QScriptValue(0, 0.0)" + << "QScriptValue(0, 123.0)" + << "QScriptValue(0, 6.37e-8)" + << "QScriptValue(0, -6.37e-8)" + << "QScriptValue(0, 0x43211234)" + << "QScriptValue(0, 0x10000)" + << "QScriptValue(0, 0x10001)" + << "QScriptValue(0, qSNaN())" + << "QScriptValue(0, qQNaN())" + << "QScriptValue(0, qInf())" + << "QScriptValue(0, -qInf())" + << "QScriptValue(engine, int(122))" + << "QScriptValue(engine, uint(124))" + << "QScriptValue(engine, 0)" + << "QScriptValue(engine, 0.0)" + << "QScriptValue(engine, 123.0)" + << "QScriptValue(engine, 6.37e-8)" + << "QScriptValue(engine, -6.37e-8)" + << "QScriptValue(engine, 0x43211234)" + << "QScriptValue(engine, 0x10000)" + << "QScriptValue(engine, 0x10001)" + << "QScriptValue(engine, qSNaN())" + << "QScriptValue(engine, qQNaN())" + << "QScriptValue(engine, qInf())" + << "QScriptValue(engine, -qInf())" + ; + } + newRow(expr) << isNumber.contains(expr); +} + +void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isNumber(), expected); +} + +DEFINE_TEST_FUNCTION(isNumber) + + +void tst_QScriptValue::isFunction_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isFunction_makeData(const char* expr) +{ + static QSet isFunction; + if (isFunction.isEmpty()) { + isFunction << "engine->evaluate(\"Function.prototype\")" + << "engine->evaluate(\"Object\")" + << "engine->evaluate(\"Array\")" + << "engine->evaluate(\"Number\")" + << "engine->evaluate(\"Function\")" + << "engine->evaluate(\"(function() { return 1; })\")" + << "engine->evaluate(\"(function() { return 'ciao'; })\")" + << "engine->evaluate(\"(function() { throw new Error('foo'); })\")" + << "engine->evaluate(\"/foo/\")" + ; + } + newRow(expr) << isFunction.contains(expr); +} + +void tst_QScriptValue::isFunction_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isFunction(), expected); +} + +DEFINE_TEST_FUNCTION(isFunction) + + +void tst_QScriptValue::isNull_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isNull_makeData(const char* expr) +{ + static QSet isNull; + if (isNull.isEmpty()) { + isNull << "QScriptValue(QScriptValue::NullValue)" + << "QScriptValue(0, QScriptValue::NullValue)" + << "QScriptValue(engine, QScriptValue::NullValue)" + ; + } + newRow(expr) << isNull.contains(expr); +} + +void tst_QScriptValue::isNull_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isNull(), expected); +} + +DEFINE_TEST_FUNCTION(isNull) + + +void tst_QScriptValue::isString_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isString_makeData(const char* expr) +{ + static QSet isString; + if (isString.isEmpty()) { + isString << "QScriptValue(\"NaN\")" + << "QScriptValue(\"Infinity\")" + << "QScriptValue(\"-Infinity\")" + << "QScriptValue(\"ciao\")" + << "QScriptValue(QString::fromLatin1(\"ciao\"))" + << "QScriptValue(QString(\"\"))" + << "QScriptValue(QString())" + << "QScriptValue(QString(\"0\"))" + << "QScriptValue(QString(\"123\"))" + << "QScriptValue(QString(\"12.4\"))" + << "QScriptValue(0, \"NaN\")" + << "QScriptValue(0, \"Infinity\")" + << "QScriptValue(0, \"-Infinity\")" + << "QScriptValue(0, \"ciao\")" + << "QScriptValue(0, QString::fromLatin1(\"ciao\"))" + << "QScriptValue(0, QString(\"\"))" + << "QScriptValue(0, QString())" + << "QScriptValue(0, QString(\"0\"))" + << "QScriptValue(0, QString(\"123\"))" + << "QScriptValue(0, QString(\"12.3\"))" + << "QScriptValue(engine, \"NaN\")" + << "QScriptValue(engine, \"Infinity\")" + << "QScriptValue(engine, \"-Infinity\")" + << "QScriptValue(engine, \"ciao\")" + << "QScriptValue(engine, QString::fromLatin1(\"ciao\"))" + << "QScriptValue(engine, QString(\"\"))" + << "QScriptValue(engine, QString())" + << "QScriptValue(engine, QString(\"0\"))" + << "QScriptValue(engine, QString(\"123\"))" + << "QScriptValue(engine, QString(\"1.23\"))" + ; + } + newRow(expr) << isString.contains(expr); +} + +void tst_QScriptValue::isString_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isString(), expected); +} + +DEFINE_TEST_FUNCTION(isString) + + +void tst_QScriptValue::isUndefined_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isUndefined_makeData(const char* expr) +{ + static QSet isUndefined; + if (isUndefined.isEmpty()) { + isUndefined << "QScriptValue(QScriptValue::UndefinedValue)" + << "QScriptValue(0, QScriptValue::UndefinedValue)" + << "QScriptValue(engine, QScriptValue::UndefinedValue)" + << "engine->evaluate(\"{}\")" + ; + } + newRow(expr) << isUndefined.contains(expr); +} + +void tst_QScriptValue::isUndefined_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isUndefined(), expected); +} + +DEFINE_TEST_FUNCTION(isUndefined) + + + + + +void tst_QScriptValue::isObject_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isObject_makeData(const char* expr) +{ + static QSet isObject; + if (isObject.isEmpty()) { + isObject << "engine->evaluate(\"[]\")" + << "engine->evaluate(\"Object.prototype\")" + << "engine->evaluate(\"Date.prototype\")" + << "engine->evaluate(\"Array.prototype\")" + << "engine->evaluate(\"Function.prototype\")" + << "engine->evaluate(\"Error.prototype\")" + << "engine->evaluate(\"Object\")" + << "engine->evaluate(\"Array\")" + << "engine->evaluate(\"Number\")" + << "engine->evaluate(\"Function\")" + << "engine->evaluate(\"(function() { return 1; })\")" + << "engine->evaluate(\"(function() { return 'ciao'; })\")" + << "engine->evaluate(\"(function() { throw new Error('foo'); })\")" + << "engine->evaluate(\"/foo/\")" + << "engine->evaluate(\"new Object()\")" + << "engine->evaluate(\"new Array()\")" + << "engine->evaluate(\"new Error()\")" + ; + } + newRow(expr) << isObject.contains(expr); +} + +void tst_QScriptValue::isObject_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isObject(), expected); +} + +DEFINE_TEST_FUNCTION(isObject) + + +void tst_QScriptValue::isDate_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isDate_makeData(const char* expr) +{ + static QSet isDate; + if (isDate.isEmpty()) { + isDate << "engine->evaluate(\"Date.prototype\")" + ; + } + newRow(expr) << isDate.contains(expr); +} + +void tst_QScriptValue::isDate_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isDate(), expected); +} + +DEFINE_TEST_FUNCTION(isDate) + + +void tst_QScriptValue::isRegExp_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isRegExp_makeData(const char* expr) +{ + static QSet isRegExp; + if (isRegExp.isEmpty()) { + isRegExp << "engine->evaluate(\"/foo/\")" + ; + } + newRow(expr) << isRegExp.contains(expr); +} + +void tst_QScriptValue::isRegExp_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isRegExp(), expected); +} + +DEFINE_TEST_FUNCTION(isRegExp) + + +void tst_QScriptValue::isArray_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isArray_makeData(const char* expr) +{ + static QSet isArray; + if (isArray.isEmpty()) { + isArray << "engine->evaluate(\"[]\")" + << "engine->evaluate(\"Array.prototype\")" + << "engine->evaluate(\"new Array()\")" + ; + } + newRow(expr) << isArray.contains(expr); +} + +void tst_QScriptValue::isArray_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isArray(), expected); +} + +DEFINE_TEST_FUNCTION(isArray) + + +void tst_QScriptValue::isError_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::isError_makeData(const char* expr) +{ + static QSet isError; + if (isError.isEmpty()) { + isError << "engine->evaluate(\"Error.prototype\")" + << "engine->evaluate(\"new Error()\")" + ; + } + newRow(expr) << isError.contains(expr); +} + +void tst_QScriptValue::isError_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isError(), expected); +} + +DEFINE_TEST_FUNCTION(isError) + + + +void tst_QScriptValue::toString_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::toString_makeData(const char* expr) +{ + static QHash toString; + if (toString.isEmpty()) { + toString.insert("QScriptValue()", ""); + toString.insert("QScriptValue(QScriptValue::UndefinedValue)", "undefined"); + toString.insert("QScriptValue(QScriptValue::NullValue)", "null"); + toString.insert("QScriptValue(true)", "true"); + toString.insert("QScriptValue(false)", "false"); + toString.insert("QScriptValue(int(122))", "122"); + toString.insert("QScriptValue(uint(124))", "124"); + toString.insert("QScriptValue(0)", "0"); + toString.insert("QScriptValue(0.0)", "0"); + toString.insert("QScriptValue(123.0)", "123"); + toString.insert("QScriptValue(6.37e-8)", "6.37e-8"); + toString.insert("QScriptValue(-6.37e-8)", "-6.37e-8"); + toString.insert("QScriptValue(0x43211234)", "1126240820"); + toString.insert("QScriptValue(0x10000)", "65536"); + toString.insert("QScriptValue(0x10001)", "65537"); + toString.insert("QScriptValue(qSNaN())", "NaN"); + toString.insert("QScriptValue(qQNaN())", "NaN"); + toString.insert("QScriptValue(qInf())", "Infinity"); + toString.insert("QScriptValue(-qInf())", "-Infinity"); + toString.insert("QScriptValue(\"NaN\")", "NaN"); + toString.insert("QScriptValue(\"Infinity\")", "Infinity"); + toString.insert("QScriptValue(\"-Infinity\")", "-Infinity"); + toString.insert("QScriptValue(\"ciao\")", "ciao"); + toString.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", "ciao"); + toString.insert("QScriptValue(QString(\"\"))", ""); + toString.insert("QScriptValue(QString())", ""); + toString.insert("QScriptValue(QString(\"0\"))", "0"); + toString.insert("QScriptValue(QString(\"123\"))", "123"); + toString.insert("QScriptValue(QString(\"12.4\"))", "12.4"); + toString.insert("QScriptValue(0, QScriptValue::UndefinedValue)", "undefined"); + toString.insert("QScriptValue(0, QScriptValue::NullValue)", "null"); + toString.insert("QScriptValue(0, true)", "true"); + toString.insert("QScriptValue(0, false)", "false"); + toString.insert("QScriptValue(0, int(122))", "122"); + toString.insert("QScriptValue(0, uint(124))", "124"); + toString.insert("QScriptValue(0, 0)", "0"); + toString.insert("QScriptValue(0, 0.0)", "0"); + toString.insert("QScriptValue(0, 123.0)", "123"); + toString.insert("QScriptValue(0, 6.37e-8)", "6.37e-8"); + toString.insert("QScriptValue(0, -6.37e-8)", "-6.37e-8"); + toString.insert("QScriptValue(0, 0x43211234)", "1126240820"); + toString.insert("QScriptValue(0, 0x10000)", "65536"); + toString.insert("QScriptValue(0, 0x10001)", "65537"); + toString.insert("QScriptValue(0, qSNaN())", "NaN"); + toString.insert("QScriptValue(0, qQNaN())", "NaN"); + toString.insert("QScriptValue(0, qInf())", "Infinity"); + toString.insert("QScriptValue(0, -qInf())", "-Infinity"); + toString.insert("QScriptValue(0, \"NaN\")", "NaN"); + toString.insert("QScriptValue(0, \"Infinity\")", "Infinity"); + toString.insert("QScriptValue(0, \"-Infinity\")", "-Infinity"); + toString.insert("QScriptValue(0, \"ciao\")", "ciao"); + toString.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", "ciao"); + toString.insert("QScriptValue(0, QString(\"\"))", ""); + toString.insert("QScriptValue(0, QString())", ""); + toString.insert("QScriptValue(0, QString(\"0\"))", "0"); + toString.insert("QScriptValue(0, QString(\"123\"))", "123"); + toString.insert("QScriptValue(0, QString(\"12.3\"))", "12.3"); + toString.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", "undefined"); + toString.insert("QScriptValue(engine, QScriptValue::NullValue)", "null"); + toString.insert("QScriptValue(engine, true)", "true"); + toString.insert("QScriptValue(engine, false)", "false"); + toString.insert("QScriptValue(engine, int(122))", "122"); + toString.insert("QScriptValue(engine, uint(124))", "124"); + toString.insert("QScriptValue(engine, 0)", "0"); + toString.insert("QScriptValue(engine, 0.0)", "0"); + toString.insert("QScriptValue(engine, 123.0)", "123"); + toString.insert("QScriptValue(engine, 6.37e-8)", "6.37e-8"); + toString.insert("QScriptValue(engine, -6.37e-8)", "-6.37e-8"); + toString.insert("QScriptValue(engine, 0x43211234)", "1126240820"); + toString.insert("QScriptValue(engine, 0x10000)", "65536"); + toString.insert("QScriptValue(engine, 0x10001)", "65537"); + toString.insert("QScriptValue(engine, qSNaN())", "NaN"); + toString.insert("QScriptValue(engine, qQNaN())", "NaN"); + toString.insert("QScriptValue(engine, qInf())", "Infinity"); + toString.insert("QScriptValue(engine, -qInf())", "-Infinity"); + toString.insert("QScriptValue(engine, \"NaN\")", "NaN"); + toString.insert("QScriptValue(engine, \"Infinity\")", "Infinity"); + toString.insert("QScriptValue(engine, \"-Infinity\")", "-Infinity"); + toString.insert("QScriptValue(engine, \"ciao\")", "ciao"); + toString.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", "ciao"); + toString.insert("QScriptValue(engine, QString(\"\"))", ""); + toString.insert("QScriptValue(engine, QString())", ""); + toString.insert("QScriptValue(engine, QString(\"0\"))", "0"); + toString.insert("QScriptValue(engine, QString(\"123\"))", "123"); + toString.insert("QScriptValue(engine, QString(\"1.23\"))", "1.23"); + toString.insert("engine->evaluate(\"[]\")", ""); + toString.insert("engine->evaluate(\"{}\")", "undefined"); + toString.insert("engine->evaluate(\"Object.prototype\")", "[object Object]"); + toString.insert("engine->evaluate(\"Date.prototype\")", "Invalid Date"); + toString.insert("engine->evaluate(\"Array.prototype\")", ""); + toString.insert("engine->evaluate(\"Function.prototype\")", "function () {\n [native code]\n}"); + toString.insert("engine->evaluate(\"Error.prototype\")", "Error: Unknown error"); + toString.insert("engine->evaluate(\"Object\")", "function Object() {\n [native code]\n}"); + toString.insert("engine->evaluate(\"Array\")", "function Array() {\n [native code]\n}"); + toString.insert("engine->evaluate(\"Number\")", "function Number() {\n [native code]\n}"); + toString.insert("engine->evaluate(\"Function\")", "function Function() {\n [native code]\n}"); + toString.insert("engine->evaluate(\"(function() { return 1; })\")", "function () { return 1; }"); + toString.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", "function () { return 'ciao'; }"); + toString.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", "function () { throw new Error('foo'); }"); + toString.insert("engine->evaluate(\"/foo/\")", "/foo/"); + toString.insert("engine->evaluate(\"new Object()\")", "[object Object]"); + toString.insert("engine->evaluate(\"new Array()\")", ""); + toString.insert("engine->evaluate(\"new Error()\")", "Error: Unknown error"); + } + newRow(expr) << toString.value(expr); +} + +void tst_QScriptValue::toString_test(const char*, const QScriptValue& value) +{ + QFETCH(QString, expected); + QCOMPARE(value.toString(), expected); +} + +DEFINE_TEST_FUNCTION(toString) + + +void tst_QScriptValue::toNumber_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::toNumber_makeData(const char* expr) +{ + static QHash toNumber; + if (toNumber.isEmpty()) { + toNumber.insert("QScriptValue()", 0); + toNumber.insert("QScriptValue(QScriptValue::UndefinedValue)", qQNaN()); + toNumber.insert("QScriptValue(QScriptValue::NullValue)", 0); + toNumber.insert("QScriptValue(true)", 1); + toNumber.insert("QScriptValue(false)", 0); + toNumber.insert("QScriptValue(int(122))", 122); + toNumber.insert("QScriptValue(uint(124))", 124); + toNumber.insert("QScriptValue(0)", 0); + toNumber.insert("QScriptValue(0.0)", 0); + toNumber.insert("QScriptValue(123.0)", 123); + toNumber.insert("QScriptValue(6.37e-8)", 6.369999999999999e-08); + toNumber.insert("QScriptValue(-6.37e-8)", -6.369999999999999e-08); + toNumber.insert("QScriptValue(0x43211234)", 1126240820); + toNumber.insert("QScriptValue(0x10000)", 65536); + toNumber.insert("QScriptValue(0x10001)", 65537); + toNumber.insert("QScriptValue(qSNaN())", qQNaN()); + toNumber.insert("QScriptValue(qQNaN())", qQNaN()); + toNumber.insert("QScriptValue(qInf())", qInf()); + toNumber.insert("QScriptValue(-qInf())", qInf()); + toNumber.insert("QScriptValue(\"NaN\")", qQNaN()); + toNumber.insert("QScriptValue(\"Infinity\")", qInf()); + toNumber.insert("QScriptValue(\"-Infinity\")", qInf()); + toNumber.insert("QScriptValue(\"ciao\")", qQNaN()); + toNumber.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", qQNaN()); + toNumber.insert("QScriptValue(QString(\"\"))", 0); + toNumber.insert("QScriptValue(QString())", 0); + toNumber.insert("QScriptValue(QString(\"0\"))", 0); + toNumber.insert("QScriptValue(QString(\"123\"))", 123); + toNumber.insert("QScriptValue(QString(\"12.4\"))", 12.4); + toNumber.insert("QScriptValue(0, QScriptValue::UndefinedValue)", qQNaN()); + toNumber.insert("QScriptValue(0, QScriptValue::NullValue)", 0); + toNumber.insert("QScriptValue(0, true)", 1); + toNumber.insert("QScriptValue(0, false)", 0); + toNumber.insert("QScriptValue(0, int(122))", 122); + toNumber.insert("QScriptValue(0, uint(124))", 124); + toNumber.insert("QScriptValue(0, 0)", 0); + toNumber.insert("QScriptValue(0, 0.0)", 0); + toNumber.insert("QScriptValue(0, 123.0)", 123); + toNumber.insert("QScriptValue(0, 6.37e-8)", 6.369999999999999e-08); + toNumber.insert("QScriptValue(0, -6.37e-8)", -6.369999999999999e-08); + toNumber.insert("QScriptValue(0, 0x43211234)", 1126240820); + toNumber.insert("QScriptValue(0, 0x10000)", 65536); + toNumber.insert("QScriptValue(0, 0x10001)", 65537); + toNumber.insert("QScriptValue(0, qSNaN())", qQNaN()); + toNumber.insert("QScriptValue(0, qQNaN())", qQNaN()); + toNumber.insert("QScriptValue(0, qInf())", qInf()); + toNumber.insert("QScriptValue(0, -qInf())", qInf()); + toNumber.insert("QScriptValue(0, \"NaN\")", qQNaN()); + toNumber.insert("QScriptValue(0, \"Infinity\")", qInf()); + toNumber.insert("QScriptValue(0, \"-Infinity\")", qInf()); + toNumber.insert("QScriptValue(0, \"ciao\")", qQNaN()); + toNumber.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", qQNaN()); + toNumber.insert("QScriptValue(0, QString(\"\"))", 0); + toNumber.insert("QScriptValue(0, QString())", 0); + toNumber.insert("QScriptValue(0, QString(\"0\"))", 0); + toNumber.insert("QScriptValue(0, QString(\"123\"))", 123); + toNumber.insert("QScriptValue(0, QString(\"12.3\"))", 12.3); + toNumber.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", qQNaN()); + toNumber.insert("QScriptValue(engine, QScriptValue::NullValue)", 0); + toNumber.insert("QScriptValue(engine, true)", 1); + toNumber.insert("QScriptValue(engine, false)", 0); + toNumber.insert("QScriptValue(engine, int(122))", 122); + toNumber.insert("QScriptValue(engine, uint(124))", 124); + toNumber.insert("QScriptValue(engine, 0)", 0); + toNumber.insert("QScriptValue(engine, 0.0)", 0); + toNumber.insert("QScriptValue(engine, 123.0)", 123); + toNumber.insert("QScriptValue(engine, 6.37e-8)", 6.369999999999999e-08); + toNumber.insert("QScriptValue(engine, -6.37e-8)", -6.369999999999999e-08); + toNumber.insert("QScriptValue(engine, 0x43211234)", 1126240820); + toNumber.insert("QScriptValue(engine, 0x10000)", 65536); + toNumber.insert("QScriptValue(engine, 0x10001)", 65537); + toNumber.insert("QScriptValue(engine, qSNaN())", qQNaN()); + toNumber.insert("QScriptValue(engine, qQNaN())", qQNaN()); + toNumber.insert("QScriptValue(engine, qInf())", qInf()); + toNumber.insert("QScriptValue(engine, -qInf())", qInf()); + toNumber.insert("QScriptValue(engine, \"NaN\")", qQNaN()); + toNumber.insert("QScriptValue(engine, \"Infinity\")", qInf()); + toNumber.insert("QScriptValue(engine, \"-Infinity\")", qInf()); + toNumber.insert("QScriptValue(engine, \"ciao\")", qQNaN()); + toNumber.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", qQNaN()); + toNumber.insert("QScriptValue(engine, QString(\"\"))", 0); + toNumber.insert("QScriptValue(engine, QString())", 0); + toNumber.insert("QScriptValue(engine, QString(\"0\"))", 0); + toNumber.insert("QScriptValue(engine, QString(\"123\"))", 123); + toNumber.insert("QScriptValue(engine, QString(\"1.23\"))", 1.23); + toNumber.insert("engine->evaluate(\"[]\")", 0); + toNumber.insert("engine->evaluate(\"{}\")", qQNaN()); + toNumber.insert("engine->evaluate(\"Object.prototype\")", qQNaN()); + toNumber.insert("engine->evaluate(\"Date.prototype\")", qQNaN()); + toNumber.insert("engine->evaluate(\"Array.prototype\")", 0); + toNumber.insert("engine->evaluate(\"Function.prototype\")", qQNaN()); + toNumber.insert("engine->evaluate(\"Error.prototype\")", qQNaN()); + toNumber.insert("engine->evaluate(\"Object\")", qQNaN()); + toNumber.insert("engine->evaluate(\"Array\")", qQNaN()); + toNumber.insert("engine->evaluate(\"Number\")", qQNaN()); + toNumber.insert("engine->evaluate(\"Function\")", qQNaN()); + toNumber.insert("engine->evaluate(\"(function() { return 1; })\")", qQNaN()); + toNumber.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", qQNaN()); + toNumber.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", qQNaN()); + toNumber.insert("engine->evaluate(\"/foo/\")", qQNaN()); + toNumber.insert("engine->evaluate(\"new Object()\")", qQNaN()); + toNumber.insert("engine->evaluate(\"new Array()\")", 0); + toNumber.insert("engine->evaluate(\"new Error()\")", qQNaN()); + } + newRow(expr) << toNumber.value(expr); +} + +void tst_QScriptValue::toNumber_test(const char*, const QScriptValue& value) +{ + QFETCH(qsreal, expected); + if (qIsNaN(expected)) { + QVERIFY(qIsNaN(value.toNumber())); + return; + } + if (qIsInf(expected)) { + QVERIFY(qIsInf(value.toNumber())); + return; + } + QCOMPARE(value.toNumber(), expected); +} + +DEFINE_TEST_FUNCTION(toNumber) + + +void tst_QScriptValue::toBool_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::toBool_makeData(const char* expr) +{ + static QHash toBool; + if (toBool.isEmpty()) { + toBool.insert("QScriptValue()", false); + toBool.insert("QScriptValue(QScriptValue::UndefinedValue)", false); + toBool.insert("QScriptValue(QScriptValue::NullValue)", false); + toBool.insert("QScriptValue(true)", true); + toBool.insert("QScriptValue(false)", false); + toBool.insert("QScriptValue(int(122))", true); + toBool.insert("QScriptValue(uint(124))", true); + toBool.insert("QScriptValue(0)", false); + toBool.insert("QScriptValue(0.0)", false); + toBool.insert("QScriptValue(123.0)", true); + toBool.insert("QScriptValue(6.37e-8)", true); + toBool.insert("QScriptValue(-6.37e-8)", true); + toBool.insert("QScriptValue(0x43211234)", true); + toBool.insert("QScriptValue(0x10000)", true); + toBool.insert("QScriptValue(0x10001)", true); + toBool.insert("QScriptValue(qSNaN())", false); + toBool.insert("QScriptValue(qQNaN())", false); + toBool.insert("QScriptValue(qInf())", true); + toBool.insert("QScriptValue(-qInf())", true); + toBool.insert("QScriptValue(\"NaN\")", true); + toBool.insert("QScriptValue(\"Infinity\")", true); + toBool.insert("QScriptValue(\"-Infinity\")", true); + toBool.insert("QScriptValue(\"ciao\")", true); + toBool.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", true); + toBool.insert("QScriptValue(QString(\"\"))", false); + toBool.insert("QScriptValue(QString())", false); + toBool.insert("QScriptValue(QString(\"0\"))", true); + toBool.insert("QScriptValue(QString(\"123\"))", true); + toBool.insert("QScriptValue(QString(\"12.4\"))", true); + toBool.insert("QScriptValue(0, QScriptValue::UndefinedValue)", false); + toBool.insert("QScriptValue(0, QScriptValue::NullValue)", false); + toBool.insert("QScriptValue(0, true)", true); + toBool.insert("QScriptValue(0, false)", false); + toBool.insert("QScriptValue(0, int(122))", true); + toBool.insert("QScriptValue(0, uint(124))", true); + toBool.insert("QScriptValue(0, 0)", false); + toBool.insert("QScriptValue(0, 0.0)", false); + toBool.insert("QScriptValue(0, 123.0)", true); + toBool.insert("QScriptValue(0, 6.37e-8)", true); + toBool.insert("QScriptValue(0, -6.37e-8)", true); + toBool.insert("QScriptValue(0, 0x43211234)", true); + toBool.insert("QScriptValue(0, 0x10000)", true); + toBool.insert("QScriptValue(0, 0x10001)", true); + toBool.insert("QScriptValue(0, qSNaN())", false); + toBool.insert("QScriptValue(0, qQNaN())", false); + toBool.insert("QScriptValue(0, qInf())", true); + toBool.insert("QScriptValue(0, -qInf())", true); + toBool.insert("QScriptValue(0, \"NaN\")", true); + toBool.insert("QScriptValue(0, \"Infinity\")", true); + toBool.insert("QScriptValue(0, \"-Infinity\")", true); + toBool.insert("QScriptValue(0, \"ciao\")", true); + toBool.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", true); + toBool.insert("QScriptValue(0, QString(\"\"))", false); + toBool.insert("QScriptValue(0, QString())", false); + toBool.insert("QScriptValue(0, QString(\"0\"))", true); + toBool.insert("QScriptValue(0, QString(\"123\"))", true); + toBool.insert("QScriptValue(0, QString(\"12.3\"))", true); + toBool.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", false); + toBool.insert("QScriptValue(engine, QScriptValue::NullValue)", false); + toBool.insert("QScriptValue(engine, true)", true); + toBool.insert("QScriptValue(engine, false)", false); + toBool.insert("QScriptValue(engine, int(122))", true); + toBool.insert("QScriptValue(engine, uint(124))", true); + toBool.insert("QScriptValue(engine, 0)", false); + toBool.insert("QScriptValue(engine, 0.0)", false); + toBool.insert("QScriptValue(engine, 123.0)", true); + toBool.insert("QScriptValue(engine, 6.37e-8)", true); + toBool.insert("QScriptValue(engine, -6.37e-8)", true); + toBool.insert("QScriptValue(engine, 0x43211234)", true); + toBool.insert("QScriptValue(engine, 0x10000)", true); + toBool.insert("QScriptValue(engine, 0x10001)", true); + toBool.insert("QScriptValue(engine, qSNaN())", false); + toBool.insert("QScriptValue(engine, qQNaN())", false); + toBool.insert("QScriptValue(engine, qInf())", true); + toBool.insert("QScriptValue(engine, -qInf())", true); + toBool.insert("QScriptValue(engine, \"NaN\")", true); + toBool.insert("QScriptValue(engine, \"Infinity\")", true); + toBool.insert("QScriptValue(engine, \"-Infinity\")", true); + toBool.insert("QScriptValue(engine, \"ciao\")", true); + toBool.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", true); + toBool.insert("QScriptValue(engine, QString(\"\"))", false); + toBool.insert("QScriptValue(engine, QString())", false); + toBool.insert("QScriptValue(engine, QString(\"0\"))", true); + toBool.insert("QScriptValue(engine, QString(\"123\"))", true); + toBool.insert("QScriptValue(engine, QString(\"1.23\"))", true); + toBool.insert("engine->evaluate(\"[]\")", true); + toBool.insert("engine->evaluate(\"{}\")", false); + toBool.insert("engine->evaluate(\"Object.prototype\")", true); + toBool.insert("engine->evaluate(\"Date.prototype\")", true); + toBool.insert("engine->evaluate(\"Array.prototype\")", true); + toBool.insert("engine->evaluate(\"Function.prototype\")", true); + toBool.insert("engine->evaluate(\"Error.prototype\")", true); + toBool.insert("engine->evaluate(\"Object\")", true); + toBool.insert("engine->evaluate(\"Array\")", true); + toBool.insert("engine->evaluate(\"Number\")", true); + toBool.insert("engine->evaluate(\"Function\")", true); + toBool.insert("engine->evaluate(\"(function() { return 1; })\")", true); + toBool.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", true); + toBool.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", true); + toBool.insert("engine->evaluate(\"/foo/\")", true); + toBool.insert("engine->evaluate(\"new Object()\")", true); + toBool.insert("engine->evaluate(\"new Array()\")", true); + toBool.insert("engine->evaluate(\"new Error()\")", true); + } + newRow(expr) << toBool.value(expr); +} + +void tst_QScriptValue::toBool_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.toBool(), expected); +} + +DEFINE_TEST_FUNCTION(toBool) + + +void tst_QScriptValue::toBoolean_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::toBoolean_makeData(const char* expr) +{ + static QHash toBoolean; + if (toBoolean.isEmpty()) { + toBoolean.insert("QScriptValue()", false); + toBoolean.insert("QScriptValue(QScriptValue::UndefinedValue)", false); + toBoolean.insert("QScriptValue(QScriptValue::NullValue)", false); + toBoolean.insert("QScriptValue(true)", true); + toBoolean.insert("QScriptValue(false)", false); + toBoolean.insert("QScriptValue(int(122))", true); + toBoolean.insert("QScriptValue(uint(124))", true); + toBoolean.insert("QScriptValue(0)", false); + toBoolean.insert("QScriptValue(0.0)", false); + toBoolean.insert("QScriptValue(123.0)", true); + toBoolean.insert("QScriptValue(6.37e-8)", true); + toBoolean.insert("QScriptValue(-6.37e-8)", true); + toBoolean.insert("QScriptValue(0x43211234)", true); + toBoolean.insert("QScriptValue(0x10000)", true); + toBoolean.insert("QScriptValue(0x10001)", true); + toBoolean.insert("QScriptValue(qSNaN())", false); + toBoolean.insert("QScriptValue(qQNaN())", false); + toBoolean.insert("QScriptValue(qInf())", true); + toBoolean.insert("QScriptValue(-qInf())", true); + toBoolean.insert("QScriptValue(\"NaN\")", true); + toBoolean.insert("QScriptValue(\"Infinity\")", true); + toBoolean.insert("QScriptValue(\"-Infinity\")", true); + toBoolean.insert("QScriptValue(\"ciao\")", true); + toBoolean.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", true); + toBoolean.insert("QScriptValue(QString(\"\"))", false); + toBoolean.insert("QScriptValue(QString())", false); + toBoolean.insert("QScriptValue(QString(\"0\"))", true); + toBoolean.insert("QScriptValue(QString(\"123\"))", true); + toBoolean.insert("QScriptValue(QString(\"12.4\"))", true); + toBoolean.insert("QScriptValue(0, QScriptValue::UndefinedValue)", false); + toBoolean.insert("QScriptValue(0, QScriptValue::NullValue)", false); + toBoolean.insert("QScriptValue(0, true)", true); + toBoolean.insert("QScriptValue(0, false)", false); + toBoolean.insert("QScriptValue(0, int(122))", true); + toBoolean.insert("QScriptValue(0, uint(124))", true); + toBoolean.insert("QScriptValue(0, 0)", false); + toBoolean.insert("QScriptValue(0, 0.0)", false); + toBoolean.insert("QScriptValue(0, 123.0)", true); + toBoolean.insert("QScriptValue(0, 6.37e-8)", true); + toBoolean.insert("QScriptValue(0, -6.37e-8)", true); + toBoolean.insert("QScriptValue(0, 0x43211234)", true); + toBoolean.insert("QScriptValue(0, 0x10000)", true); + toBoolean.insert("QScriptValue(0, 0x10001)", true); + toBoolean.insert("QScriptValue(0, qSNaN())", false); + toBoolean.insert("QScriptValue(0, qQNaN())", false); + toBoolean.insert("QScriptValue(0, qInf())", true); + toBoolean.insert("QScriptValue(0, -qInf())", true); + toBoolean.insert("QScriptValue(0, \"NaN\")", true); + toBoolean.insert("QScriptValue(0, \"Infinity\")", true); + toBoolean.insert("QScriptValue(0, \"-Infinity\")", true); + toBoolean.insert("QScriptValue(0, \"ciao\")", true); + toBoolean.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", true); + toBoolean.insert("QScriptValue(0, QString(\"\"))", false); + toBoolean.insert("QScriptValue(0, QString())", false); + toBoolean.insert("QScriptValue(0, QString(\"0\"))", true); + toBoolean.insert("QScriptValue(0, QString(\"123\"))", true); + toBoolean.insert("QScriptValue(0, QString(\"12.3\"))", true); + toBoolean.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", false); + toBoolean.insert("QScriptValue(engine, QScriptValue::NullValue)", false); + toBoolean.insert("QScriptValue(engine, true)", true); + toBoolean.insert("QScriptValue(engine, false)", false); + toBoolean.insert("QScriptValue(engine, int(122))", true); + toBoolean.insert("QScriptValue(engine, uint(124))", true); + toBoolean.insert("QScriptValue(engine, 0)", false); + toBoolean.insert("QScriptValue(engine, 0.0)", false); + toBoolean.insert("QScriptValue(engine, 123.0)", true); + toBoolean.insert("QScriptValue(engine, 6.37e-8)", true); + toBoolean.insert("QScriptValue(engine, -6.37e-8)", true); + toBoolean.insert("QScriptValue(engine, 0x43211234)", true); + toBoolean.insert("QScriptValue(engine, 0x10000)", true); + toBoolean.insert("QScriptValue(engine, 0x10001)", true); + toBoolean.insert("QScriptValue(engine, qSNaN())", false); + toBoolean.insert("QScriptValue(engine, qQNaN())", false); + toBoolean.insert("QScriptValue(engine, qInf())", true); + toBoolean.insert("QScriptValue(engine, -qInf())", true); + toBoolean.insert("QScriptValue(engine, \"NaN\")", true); + toBoolean.insert("QScriptValue(engine, \"Infinity\")", true); + toBoolean.insert("QScriptValue(engine, \"-Infinity\")", true); + toBoolean.insert("QScriptValue(engine, \"ciao\")", true); + toBoolean.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", true); + toBoolean.insert("QScriptValue(engine, QString(\"\"))", false); + toBoolean.insert("QScriptValue(engine, QString())", false); + toBoolean.insert("QScriptValue(engine, QString(\"0\"))", true); + toBoolean.insert("QScriptValue(engine, QString(\"123\"))", true); + toBoolean.insert("QScriptValue(engine, QString(\"1.23\"))", true); + toBoolean.insert("engine->evaluate(\"[]\")", true); + toBoolean.insert("engine->evaluate(\"{}\")", false); + toBoolean.insert("engine->evaluate(\"Object.prototype\")", true); + toBoolean.insert("engine->evaluate(\"Date.prototype\")", true); + toBoolean.insert("engine->evaluate(\"Array.prototype\")", true); + toBoolean.insert("engine->evaluate(\"Function.prototype\")", true); + toBoolean.insert("engine->evaluate(\"Error.prototype\")", true); + toBoolean.insert("engine->evaluate(\"Object\")", true); + toBoolean.insert("engine->evaluate(\"Array\")", true); + toBoolean.insert("engine->evaluate(\"Number\")", true); + toBoolean.insert("engine->evaluate(\"Function\")", true); + toBoolean.insert("engine->evaluate(\"(function() { return 1; })\")", true); + toBoolean.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", true); + toBoolean.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", true); + toBoolean.insert("engine->evaluate(\"/foo/\")", true); + toBoolean.insert("engine->evaluate(\"new Object()\")", true); + toBoolean.insert("engine->evaluate(\"new Array()\")", true); + toBoolean.insert("engine->evaluate(\"new Error()\")", true); + } + newRow(expr) << toBoolean.value(expr); +} + +void tst_QScriptValue::toBoolean_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.toBoolean(), expected); +} + +DEFINE_TEST_FUNCTION(toBoolean) + + +void tst_QScriptValue::toInteger_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::toInteger_makeData(const char* expr) +{ + static QHash toInteger; + if (toInteger.isEmpty()) { + toInteger.insert("QScriptValue()", 0); + toInteger.insert("QScriptValue(QScriptValue::UndefinedValue)", 0); + toInteger.insert("QScriptValue(QScriptValue::NullValue)", 0); + toInteger.insert("QScriptValue(true)", 1); + toInteger.insert("QScriptValue(false)", 0); + toInteger.insert("QScriptValue(int(122))", 122); + toInteger.insert("QScriptValue(uint(124))", 124); + toInteger.insert("QScriptValue(0)", 0); + toInteger.insert("QScriptValue(0.0)", 0); + toInteger.insert("QScriptValue(123.0)", 123); + toInteger.insert("QScriptValue(6.37e-8)", 0); + toInteger.insert("QScriptValue(-6.37e-8)", 0); + toInteger.insert("QScriptValue(0x43211234)", 1126240820); + toInteger.insert("QScriptValue(0x10000)", 65536); + toInteger.insert("QScriptValue(0x10001)", 65537); + toInteger.insert("QScriptValue(qSNaN())", 0); + toInteger.insert("QScriptValue(qQNaN())", 0); + toInteger.insert("QScriptValue(qInf())", qInf()); + toInteger.insert("QScriptValue(-qInf())", qInf()); + toInteger.insert("QScriptValue(\"NaN\")", 0); + toInteger.insert("QScriptValue(\"Infinity\")", qInf()); + toInteger.insert("QScriptValue(\"-Infinity\")", qInf()); + toInteger.insert("QScriptValue(\"ciao\")", 0); + toInteger.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0); + toInteger.insert("QScriptValue(QString(\"\"))", 0); + toInteger.insert("QScriptValue(QString())", 0); + toInteger.insert("QScriptValue(QString(\"0\"))", 0); + toInteger.insert("QScriptValue(QString(\"123\"))", 123); + toInteger.insert("QScriptValue(QString(\"12.4\"))", 12); + toInteger.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0); + toInteger.insert("QScriptValue(0, QScriptValue::NullValue)", 0); + toInteger.insert("QScriptValue(0, true)", 1); + toInteger.insert("QScriptValue(0, false)", 0); + toInteger.insert("QScriptValue(0, int(122))", 122); + toInteger.insert("QScriptValue(0, uint(124))", 124); + toInteger.insert("QScriptValue(0, 0)", 0); + toInteger.insert("QScriptValue(0, 0.0)", 0); + toInteger.insert("QScriptValue(0, 123.0)", 123); + toInteger.insert("QScriptValue(0, 6.37e-8)", 0); + toInteger.insert("QScriptValue(0, -6.37e-8)", 0); + toInteger.insert("QScriptValue(0, 0x43211234)", 1126240820); + toInteger.insert("QScriptValue(0, 0x10000)", 65536); + toInteger.insert("QScriptValue(0, 0x10001)", 65537); + toInteger.insert("QScriptValue(0, qSNaN())", 0); + toInteger.insert("QScriptValue(0, qQNaN())", 0); + toInteger.insert("QScriptValue(0, qInf())", qInf()); + toInteger.insert("QScriptValue(0, -qInf())", qInf()); + toInteger.insert("QScriptValue(0, \"NaN\")", 0); + toInteger.insert("QScriptValue(0, \"Infinity\")", qInf()); + toInteger.insert("QScriptValue(0, \"-Infinity\")", qInf()); + toInteger.insert("QScriptValue(0, \"ciao\")", 0); + toInteger.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0); + toInteger.insert("QScriptValue(0, QString(\"\"))", 0); + toInteger.insert("QScriptValue(0, QString())", 0); + toInteger.insert("QScriptValue(0, QString(\"0\"))", 0); + toInteger.insert("QScriptValue(0, QString(\"123\"))", 123); + toInteger.insert("QScriptValue(0, QString(\"12.3\"))", 12); + toInteger.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0); + toInteger.insert("QScriptValue(engine, QScriptValue::NullValue)", 0); + toInteger.insert("QScriptValue(engine, true)", 1); + toInteger.insert("QScriptValue(engine, false)", 0); + toInteger.insert("QScriptValue(engine, int(122))", 122); + toInteger.insert("QScriptValue(engine, uint(124))", 124); + toInteger.insert("QScriptValue(engine, 0)", 0); + toInteger.insert("QScriptValue(engine, 0.0)", 0); + toInteger.insert("QScriptValue(engine, 123.0)", 123); + toInteger.insert("QScriptValue(engine, 6.37e-8)", 0); + toInteger.insert("QScriptValue(engine, -6.37e-8)", 0); + toInteger.insert("QScriptValue(engine, 0x43211234)", 1126240820); + toInteger.insert("QScriptValue(engine, 0x10000)", 65536); + toInteger.insert("QScriptValue(engine, 0x10001)", 65537); + toInteger.insert("QScriptValue(engine, qSNaN())", 0); + toInteger.insert("QScriptValue(engine, qQNaN())", 0); + toInteger.insert("QScriptValue(engine, qInf())", qInf()); + toInteger.insert("QScriptValue(engine, -qInf())", qInf()); + toInteger.insert("QScriptValue(engine, \"NaN\")", 0); + toInteger.insert("QScriptValue(engine, \"Infinity\")", qInf()); + toInteger.insert("QScriptValue(engine, \"-Infinity\")", qInf()); + toInteger.insert("QScriptValue(engine, \"ciao\")", 0); + toInteger.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0); + toInteger.insert("QScriptValue(engine, QString(\"\"))", 0); + toInteger.insert("QScriptValue(engine, QString())", 0); + toInteger.insert("QScriptValue(engine, QString(\"0\"))", 0); + toInteger.insert("QScriptValue(engine, QString(\"123\"))", 123); + toInteger.insert("QScriptValue(engine, QString(\"1.23\"))", 1); + toInteger.insert("engine->evaluate(\"[]\")", 0); + toInteger.insert("engine->evaluate(\"{}\")", 0); + toInteger.insert("engine->evaluate(\"Object.prototype\")", 0); + toInteger.insert("engine->evaluate(\"Date.prototype\")", 0); + toInteger.insert("engine->evaluate(\"Array.prototype\")", 0); + toInteger.insert("engine->evaluate(\"Function.prototype\")", 0); + toInteger.insert("engine->evaluate(\"Error.prototype\")", 0); + toInteger.insert("engine->evaluate(\"Object\")", 0); + toInteger.insert("engine->evaluate(\"Array\")", 0); + toInteger.insert("engine->evaluate(\"Number\")", 0); + toInteger.insert("engine->evaluate(\"Function\")", 0); + toInteger.insert("engine->evaluate(\"(function() { return 1; })\")", 0); + toInteger.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0); + toInteger.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0); + toInteger.insert("engine->evaluate(\"/foo/\")", 0); + toInteger.insert("engine->evaluate(\"new Object()\")", 0); + toInteger.insert("engine->evaluate(\"new Array()\")", 0); + toInteger.insert("engine->evaluate(\"new Error()\")", 0); + } + newRow(expr) << toInteger.value(expr); +} + +void tst_QScriptValue::toInteger_test(const char*, const QScriptValue& value) +{ + QFETCH(qsreal, expected); + if (qIsInf(expected)) { + QVERIFY(qIsInf(value.toInteger())); + return; + } + QCOMPARE(value.toInteger(), expected); +} + +DEFINE_TEST_FUNCTION(toInteger) + + +void tst_QScriptValue::toInt32_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::toInt32_makeData(const char* expr) +{ + static QHash toInt32; + if (toInt32.isEmpty()) { + toInt32.insert("QScriptValue()", 0); + toInt32.insert("QScriptValue(QScriptValue::UndefinedValue)", 0); + toInt32.insert("QScriptValue(QScriptValue::NullValue)", 0); + toInt32.insert("QScriptValue(true)", 1); + toInt32.insert("QScriptValue(false)", 0); + toInt32.insert("QScriptValue(int(122))", 122); + toInt32.insert("QScriptValue(uint(124))", 124); + toInt32.insert("QScriptValue(0)", 0); + toInt32.insert("QScriptValue(0.0)", 0); + toInt32.insert("QScriptValue(123.0)", 123); + toInt32.insert("QScriptValue(6.37e-8)", 0); + toInt32.insert("QScriptValue(-6.37e-8)", 0); + toInt32.insert("QScriptValue(0x43211234)", 1126240820); + toInt32.insert("QScriptValue(0x10000)", 65536); + toInt32.insert("QScriptValue(0x10001)", 65537); + toInt32.insert("QScriptValue(qSNaN())", 0); + toInt32.insert("QScriptValue(qQNaN())", 0); + toInt32.insert("QScriptValue(qInf())", 0); + toInt32.insert("QScriptValue(-qInf())", 0); + toInt32.insert("QScriptValue(\"NaN\")", 0); + toInt32.insert("QScriptValue(\"Infinity\")", 0); + toInt32.insert("QScriptValue(\"-Infinity\")", 0); + toInt32.insert("QScriptValue(\"ciao\")", 0); + toInt32.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0); + toInt32.insert("QScriptValue(QString(\"\"))", 0); + toInt32.insert("QScriptValue(QString())", 0); + toInt32.insert("QScriptValue(QString(\"0\"))", 0); + toInt32.insert("QScriptValue(QString(\"123\"))", 123); + toInt32.insert("QScriptValue(QString(\"12.4\"))", 12); + toInt32.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0); + toInt32.insert("QScriptValue(0, QScriptValue::NullValue)", 0); + toInt32.insert("QScriptValue(0, true)", 1); + toInt32.insert("QScriptValue(0, false)", 0); + toInt32.insert("QScriptValue(0, int(122))", 122); + toInt32.insert("QScriptValue(0, uint(124))", 124); + toInt32.insert("QScriptValue(0, 0)", 0); + toInt32.insert("QScriptValue(0, 0.0)", 0); + toInt32.insert("QScriptValue(0, 123.0)", 123); + toInt32.insert("QScriptValue(0, 6.37e-8)", 0); + toInt32.insert("QScriptValue(0, -6.37e-8)", 0); + toInt32.insert("QScriptValue(0, 0x43211234)", 1126240820); + toInt32.insert("QScriptValue(0, 0x10000)", 65536); + toInt32.insert("QScriptValue(0, 0x10001)", 65537); + toInt32.insert("QScriptValue(0, qSNaN())", 0); + toInt32.insert("QScriptValue(0, qQNaN())", 0); + toInt32.insert("QScriptValue(0, qInf())", 0); + toInt32.insert("QScriptValue(0, -qInf())", 0); + toInt32.insert("QScriptValue(0, \"NaN\")", 0); + toInt32.insert("QScriptValue(0, \"Infinity\")", 0); + toInt32.insert("QScriptValue(0, \"-Infinity\")", 0); + toInt32.insert("QScriptValue(0, \"ciao\")", 0); + toInt32.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0); + toInt32.insert("QScriptValue(0, QString(\"\"))", 0); + toInt32.insert("QScriptValue(0, QString())", 0); + toInt32.insert("QScriptValue(0, QString(\"0\"))", 0); + toInt32.insert("QScriptValue(0, QString(\"123\"))", 123); + toInt32.insert("QScriptValue(0, QString(\"12.3\"))", 12); + toInt32.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0); + toInt32.insert("QScriptValue(engine, QScriptValue::NullValue)", 0); + toInt32.insert("QScriptValue(engine, true)", 1); + toInt32.insert("QScriptValue(engine, false)", 0); + toInt32.insert("QScriptValue(engine, int(122))", 122); + toInt32.insert("QScriptValue(engine, uint(124))", 124); + toInt32.insert("QScriptValue(engine, 0)", 0); + toInt32.insert("QScriptValue(engine, 0.0)", 0); + toInt32.insert("QScriptValue(engine, 123.0)", 123); + toInt32.insert("QScriptValue(engine, 6.37e-8)", 0); + toInt32.insert("QScriptValue(engine, -6.37e-8)", 0); + toInt32.insert("QScriptValue(engine, 0x43211234)", 1126240820); + toInt32.insert("QScriptValue(engine, 0x10000)", 65536); + toInt32.insert("QScriptValue(engine, 0x10001)", 65537); + toInt32.insert("QScriptValue(engine, qSNaN())", 0); + toInt32.insert("QScriptValue(engine, qQNaN())", 0); + toInt32.insert("QScriptValue(engine, qInf())", 0); + toInt32.insert("QScriptValue(engine, -qInf())", 0); + toInt32.insert("QScriptValue(engine, \"NaN\")", 0); + toInt32.insert("QScriptValue(engine, \"Infinity\")", 0); + toInt32.insert("QScriptValue(engine, \"-Infinity\")", 0); + toInt32.insert("QScriptValue(engine, \"ciao\")", 0); + toInt32.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0); + toInt32.insert("QScriptValue(engine, QString(\"\"))", 0); + toInt32.insert("QScriptValue(engine, QString())", 0); + toInt32.insert("QScriptValue(engine, QString(\"0\"))", 0); + toInt32.insert("QScriptValue(engine, QString(\"123\"))", 123); + toInt32.insert("QScriptValue(engine, QString(\"1.23\"))", 1); + toInt32.insert("engine->evaluate(\"[]\")", 0); + toInt32.insert("engine->evaluate(\"{}\")", 0); + toInt32.insert("engine->evaluate(\"Object.prototype\")", 0); + toInt32.insert("engine->evaluate(\"Date.prototype\")", 0); + toInt32.insert("engine->evaluate(\"Array.prototype\")", 0); + toInt32.insert("engine->evaluate(\"Function.prototype\")", 0); + toInt32.insert("engine->evaluate(\"Error.prototype\")", 0); + toInt32.insert("engine->evaluate(\"Object\")", 0); + toInt32.insert("engine->evaluate(\"Array\")", 0); + toInt32.insert("engine->evaluate(\"Number\")", 0); + toInt32.insert("engine->evaluate(\"Function\")", 0); + toInt32.insert("engine->evaluate(\"(function() { return 1; })\")", 0); + toInt32.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0); + toInt32.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0); + toInt32.insert("engine->evaluate(\"/foo/\")", 0); + toInt32.insert("engine->evaluate(\"new Object()\")", 0); + toInt32.insert("engine->evaluate(\"new Array()\")", 0); + toInt32.insert("engine->evaluate(\"new Error()\")", 0); + } + newRow(expr) << toInt32.value(expr); +} + +void tst_QScriptValue::toInt32_test(const char*, const QScriptValue& value) +{ + QFETCH(qint32, expected); + QCOMPARE(value.toInt32(), expected); +} + +DEFINE_TEST_FUNCTION(toInt32) + + +void tst_QScriptValue::toUInt32_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::toUInt32_makeData(const char* expr) +{ + static QHash toUInt32; + if (toUInt32.isEmpty()) { + toUInt32.insert("QScriptValue()", 0); + toUInt32.insert("QScriptValue(QScriptValue::UndefinedValue)", 0); + toUInt32.insert("QScriptValue(QScriptValue::NullValue)", 0); + toUInt32.insert("QScriptValue(true)", 1); + toUInt32.insert("QScriptValue(false)", 0); + toUInt32.insert("QScriptValue(int(122))", 122); + toUInt32.insert("QScriptValue(uint(124))", 124); + toUInt32.insert("QScriptValue(0)", 0); + toUInt32.insert("QScriptValue(0.0)", 0); + toUInt32.insert("QScriptValue(123.0)", 123); + toUInt32.insert("QScriptValue(6.37e-8)", 0); + toUInt32.insert("QScriptValue(-6.37e-8)", 0); + toUInt32.insert("QScriptValue(0x43211234)", 1126240820); + toUInt32.insert("QScriptValue(0x10000)", 65536); + toUInt32.insert("QScriptValue(0x10001)", 65537); + toUInt32.insert("QScriptValue(qSNaN())", 0); + toUInt32.insert("QScriptValue(qQNaN())", 0); + toUInt32.insert("QScriptValue(qInf())", 0); + toUInt32.insert("QScriptValue(-qInf())", 0); + toUInt32.insert("QScriptValue(\"NaN\")", 0); + toUInt32.insert("QScriptValue(\"Infinity\")", 0); + toUInt32.insert("QScriptValue(\"-Infinity\")", 0); + toUInt32.insert("QScriptValue(\"ciao\")", 0); + toUInt32.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0); + toUInt32.insert("QScriptValue(QString(\"\"))", 0); + toUInt32.insert("QScriptValue(QString())", 0); + toUInt32.insert("QScriptValue(QString(\"0\"))", 0); + toUInt32.insert("QScriptValue(QString(\"123\"))", 123); + toUInt32.insert("QScriptValue(QString(\"12.4\"))", 12); + toUInt32.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0); + toUInt32.insert("QScriptValue(0, QScriptValue::NullValue)", 0); + toUInt32.insert("QScriptValue(0, true)", 1); + toUInt32.insert("QScriptValue(0, false)", 0); + toUInt32.insert("QScriptValue(0, int(122))", 122); + toUInt32.insert("QScriptValue(0, uint(124))", 124); + toUInt32.insert("QScriptValue(0, 0)", 0); + toUInt32.insert("QScriptValue(0, 0.0)", 0); + toUInt32.insert("QScriptValue(0, 123.0)", 123); + toUInt32.insert("QScriptValue(0, 6.37e-8)", 0); + toUInt32.insert("QScriptValue(0, -6.37e-8)", 0); + toUInt32.insert("QScriptValue(0, 0x43211234)", 1126240820); + toUInt32.insert("QScriptValue(0, 0x10000)", 65536); + toUInt32.insert("QScriptValue(0, 0x10001)", 65537); + toUInt32.insert("QScriptValue(0, qSNaN())", 0); + toUInt32.insert("QScriptValue(0, qQNaN())", 0); + toUInt32.insert("QScriptValue(0, qInf())", 0); + toUInt32.insert("QScriptValue(0, -qInf())", 0); + toUInt32.insert("QScriptValue(0, \"NaN\")", 0); + toUInt32.insert("QScriptValue(0, \"Infinity\")", 0); + toUInt32.insert("QScriptValue(0, \"-Infinity\")", 0); + toUInt32.insert("QScriptValue(0, \"ciao\")", 0); + toUInt32.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0); + toUInt32.insert("QScriptValue(0, QString(\"\"))", 0); + toUInt32.insert("QScriptValue(0, QString())", 0); + toUInt32.insert("QScriptValue(0, QString(\"0\"))", 0); + toUInt32.insert("QScriptValue(0, QString(\"123\"))", 123); + toUInt32.insert("QScriptValue(0, QString(\"12.3\"))", 12); + toUInt32.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0); + toUInt32.insert("QScriptValue(engine, QScriptValue::NullValue)", 0); + toUInt32.insert("QScriptValue(engine, true)", 1); + toUInt32.insert("QScriptValue(engine, false)", 0); + toUInt32.insert("QScriptValue(engine, int(122))", 122); + toUInt32.insert("QScriptValue(engine, uint(124))", 124); + toUInt32.insert("QScriptValue(engine, 0)", 0); + toUInt32.insert("QScriptValue(engine, 0.0)", 0); + toUInt32.insert("QScriptValue(engine, 123.0)", 123); + toUInt32.insert("QScriptValue(engine, 6.37e-8)", 0); + toUInt32.insert("QScriptValue(engine, -6.37e-8)", 0); + toUInt32.insert("QScriptValue(engine, 0x43211234)", 1126240820); + toUInt32.insert("QScriptValue(engine, 0x10000)", 65536); + toUInt32.insert("QScriptValue(engine, 0x10001)", 65537); + toUInt32.insert("QScriptValue(engine, qSNaN())", 0); + toUInt32.insert("QScriptValue(engine, qQNaN())", 0); + toUInt32.insert("QScriptValue(engine, qInf())", 0); + toUInt32.insert("QScriptValue(engine, -qInf())", 0); + toUInt32.insert("QScriptValue(engine, \"NaN\")", 0); + toUInt32.insert("QScriptValue(engine, \"Infinity\")", 0); + toUInt32.insert("QScriptValue(engine, \"-Infinity\")", 0); + toUInt32.insert("QScriptValue(engine, \"ciao\")", 0); + toUInt32.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0); + toUInt32.insert("QScriptValue(engine, QString(\"\"))", 0); + toUInt32.insert("QScriptValue(engine, QString())", 0); + toUInt32.insert("QScriptValue(engine, QString(\"0\"))", 0); + toUInt32.insert("QScriptValue(engine, QString(\"123\"))", 123); + toUInt32.insert("QScriptValue(engine, QString(\"1.23\"))", 1); + toUInt32.insert("engine->evaluate(\"[]\")", 0); + toUInt32.insert("engine->evaluate(\"{}\")", 0); + toUInt32.insert("engine->evaluate(\"Object.prototype\")", 0); + toUInt32.insert("engine->evaluate(\"Date.prototype\")", 0); + toUInt32.insert("engine->evaluate(\"Array.prototype\")", 0); + toUInt32.insert("engine->evaluate(\"Function.prototype\")", 0); + toUInt32.insert("engine->evaluate(\"Error.prototype\")", 0); + toUInt32.insert("engine->evaluate(\"Object\")", 0); + toUInt32.insert("engine->evaluate(\"Array\")", 0); + toUInt32.insert("engine->evaluate(\"Number\")", 0); + toUInt32.insert("engine->evaluate(\"Function\")", 0); + toUInt32.insert("engine->evaluate(\"(function() { return 1; })\")", 0); + toUInt32.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0); + toUInt32.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0); + toUInt32.insert("engine->evaluate(\"/foo/\")", 0); + toUInt32.insert("engine->evaluate(\"new Object()\")", 0); + toUInt32.insert("engine->evaluate(\"new Array()\")", 0); + toUInt32.insert("engine->evaluate(\"new Error()\")", 0); + } + newRow(expr) << toUInt32.value(expr); +} + +void tst_QScriptValue::toUInt32_test(const char*, const QScriptValue& value) +{ + QFETCH(quint32, expected); + QCOMPARE(value.toUInt32(), expected); +} + +DEFINE_TEST_FUNCTION(toUInt32) + + +void tst_QScriptValue::toUInt16_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::toUInt16_makeData(const char* expr) +{ + static QHash toUInt16; + if (toUInt16.isEmpty()) { + toUInt16.insert("QScriptValue()", 0); + toUInt16.insert("QScriptValue(QScriptValue::UndefinedValue)", 0); + toUInt16.insert("QScriptValue(QScriptValue::NullValue)", 0); + toUInt16.insert("QScriptValue(true)", 1); + toUInt16.insert("QScriptValue(false)", 0); + toUInt16.insert("QScriptValue(int(122))", 122); + toUInt16.insert("QScriptValue(uint(124))", 124); + toUInt16.insert("QScriptValue(0)", 0); + toUInt16.insert("QScriptValue(0.0)", 0); + toUInt16.insert("QScriptValue(123.0)", 123); + toUInt16.insert("QScriptValue(6.37e-8)", 0); + toUInt16.insert("QScriptValue(-6.37e-8)", 0); + toUInt16.insert("QScriptValue(0x43211234)", 4660); + toUInt16.insert("QScriptValue(0x10000)", 0); + toUInt16.insert("QScriptValue(0x10001)", 1); + toUInt16.insert("QScriptValue(qSNaN())", 0); + toUInt16.insert("QScriptValue(qQNaN())", 0); + toUInt16.insert("QScriptValue(qInf())", 0); + toUInt16.insert("QScriptValue(-qInf())", 0); + toUInt16.insert("QScriptValue(\"NaN\")", 0); + toUInt16.insert("QScriptValue(\"Infinity\")", 0); + toUInt16.insert("QScriptValue(\"-Infinity\")", 0); + toUInt16.insert("QScriptValue(\"ciao\")", 0); + toUInt16.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0); + toUInt16.insert("QScriptValue(QString(\"\"))", 0); + toUInt16.insert("QScriptValue(QString())", 0); + toUInt16.insert("QScriptValue(QString(\"0\"))", 0); + toUInt16.insert("QScriptValue(QString(\"123\"))", 123); + toUInt16.insert("QScriptValue(QString(\"12.4\"))", 12); + toUInt16.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0); + toUInt16.insert("QScriptValue(0, QScriptValue::NullValue)", 0); + toUInt16.insert("QScriptValue(0, true)", 1); + toUInt16.insert("QScriptValue(0, false)", 0); + toUInt16.insert("QScriptValue(0, int(122))", 122); + toUInt16.insert("QScriptValue(0, uint(124))", 124); + toUInt16.insert("QScriptValue(0, 0)", 0); + toUInt16.insert("QScriptValue(0, 0.0)", 0); + toUInt16.insert("QScriptValue(0, 123.0)", 123); + toUInt16.insert("QScriptValue(0, 6.37e-8)", 0); + toUInt16.insert("QScriptValue(0, -6.37e-8)", 0); + toUInt16.insert("QScriptValue(0, 0x43211234)", 4660); + toUInt16.insert("QScriptValue(0, 0x10000)", 0); + toUInt16.insert("QScriptValue(0, 0x10001)", 1); + toUInt16.insert("QScriptValue(0, qSNaN())", 0); + toUInt16.insert("QScriptValue(0, qQNaN())", 0); + toUInt16.insert("QScriptValue(0, qInf())", 0); + toUInt16.insert("QScriptValue(0, -qInf())", 0); + toUInt16.insert("QScriptValue(0, \"NaN\")", 0); + toUInt16.insert("QScriptValue(0, \"Infinity\")", 0); + toUInt16.insert("QScriptValue(0, \"-Infinity\")", 0); + toUInt16.insert("QScriptValue(0, \"ciao\")", 0); + toUInt16.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0); + toUInt16.insert("QScriptValue(0, QString(\"\"))", 0); + toUInt16.insert("QScriptValue(0, QString())", 0); + toUInt16.insert("QScriptValue(0, QString(\"0\"))", 0); + toUInt16.insert("QScriptValue(0, QString(\"123\"))", 123); + toUInt16.insert("QScriptValue(0, QString(\"12.3\"))", 12); + toUInt16.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0); + toUInt16.insert("QScriptValue(engine, QScriptValue::NullValue)", 0); + toUInt16.insert("QScriptValue(engine, true)", 1); + toUInt16.insert("QScriptValue(engine, false)", 0); + toUInt16.insert("QScriptValue(engine, int(122))", 122); + toUInt16.insert("QScriptValue(engine, uint(124))", 124); + toUInt16.insert("QScriptValue(engine, 0)", 0); + toUInt16.insert("QScriptValue(engine, 0.0)", 0); + toUInt16.insert("QScriptValue(engine, 123.0)", 123); + toUInt16.insert("QScriptValue(engine, 6.37e-8)", 0); + toUInt16.insert("QScriptValue(engine, -6.37e-8)", 0); + toUInt16.insert("QScriptValue(engine, 0x43211234)", 4660); + toUInt16.insert("QScriptValue(engine, 0x10000)", 0); + toUInt16.insert("QScriptValue(engine, 0x10001)", 1); + toUInt16.insert("QScriptValue(engine, qSNaN())", 0); + toUInt16.insert("QScriptValue(engine, qQNaN())", 0); + toUInt16.insert("QScriptValue(engine, qInf())", 0); + toUInt16.insert("QScriptValue(engine, -qInf())", 0); + toUInt16.insert("QScriptValue(engine, \"NaN\")", 0); + toUInt16.insert("QScriptValue(engine, \"Infinity\")", 0); + toUInt16.insert("QScriptValue(engine, \"-Infinity\")", 0); + toUInt16.insert("QScriptValue(engine, \"ciao\")", 0); + toUInt16.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0); + toUInt16.insert("QScriptValue(engine, QString(\"\"))", 0); + toUInt16.insert("QScriptValue(engine, QString())", 0); + toUInt16.insert("QScriptValue(engine, QString(\"0\"))", 0); + toUInt16.insert("QScriptValue(engine, QString(\"123\"))", 123); + toUInt16.insert("QScriptValue(engine, QString(\"1.23\"))", 1); + toUInt16.insert("engine->evaluate(\"[]\")", 0); + toUInt16.insert("engine->evaluate(\"{}\")", 0); + toUInt16.insert("engine->evaluate(\"Object.prototype\")", 0); + toUInt16.insert("engine->evaluate(\"Date.prototype\")", 0); + toUInt16.insert("engine->evaluate(\"Array.prototype\")", 0); + toUInt16.insert("engine->evaluate(\"Function.prototype\")", 0); + toUInt16.insert("engine->evaluate(\"Error.prototype\")", 0); + toUInt16.insert("engine->evaluate(\"Object\")", 0); + toUInt16.insert("engine->evaluate(\"Array\")", 0); + toUInt16.insert("engine->evaluate(\"Number\")", 0); + toUInt16.insert("engine->evaluate(\"Function\")", 0); + toUInt16.insert("engine->evaluate(\"(function() { return 1; })\")", 0); + toUInt16.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0); + toUInt16.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0); + toUInt16.insert("engine->evaluate(\"/foo/\")", 0); + toUInt16.insert("engine->evaluate(\"new Object()\")", 0); + toUInt16.insert("engine->evaluate(\"new Array()\")", 0); + toUInt16.insert("engine->evaluate(\"new Error()\")", 0); + } + newRow(expr) << toUInt16.value(expr); +} + +void tst_QScriptValue::toUInt16_test(const char*, const QScriptValue& value) +{ + QFETCH(quint16, expected); + QCOMPARE(value.toUInt16(), expected); +} + +DEFINE_TEST_FUNCTION(toUInt16) + + +void tst_QScriptValue::equals_initData() +{ + QTest::addColumn("other"); + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::equals_makeData(const char *expr) +{ + static QSet equals; + if (equals.isEmpty()) { + equals.insert("QScriptValue() <=> QScriptValue()"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(true) <=> QScriptValue(true)"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(false) <=> QScriptValue(false)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(false) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(false) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(false) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(0) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(0) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(qInf()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(qInf()) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(qInf()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(qInf()) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(qInf()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(qInf()) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(-qInf())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(-qInf())"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, -qInf())"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -qInf())"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(false)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(false)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(false)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(-qInf())"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -qInf())"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -qInf())"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-qInf())"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -qInf())"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -qInf())"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(false)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0.0)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString())"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, false)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0.0)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString())"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, false)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0.0)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString())"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")"); + equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(false)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0.0)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString())"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, false)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0.0)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString())"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, false)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0.0)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString())"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(false)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0.0)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString())"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, false)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0.0)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString())"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, false)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0.0)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString())"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")"); + } + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); + newRow(tag.toLatin1()) << it.value() << equals.contains(tag); + } +} + +void tst_QScriptValue::equals_test(const char *, const QScriptValue& value) +{ + QFETCH(QScriptValue, other); + QFETCH(bool, expected); + QCOMPARE(value.equals(other), expected); +} + +DEFINE_TEST_FUNCTION(equals) + + +void tst_QScriptValue::strictlyEquals_initData() +{ + QTest::addColumn("other"); + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::strictlyEquals_makeData(const char *expr) +{ + static QSet equals; + if (equals.isEmpty()) { + equals.insert("QScriptValue() <=> QScriptValue()"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(true) <=> QScriptValue(true)"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(false) <=> QScriptValue(false)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(qInf()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(qInf()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(qInf()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(-qInf())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")"); + equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")"); + } + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); + newRow(tag.toLatin1()) << it.value() << equals.contains(tag); + } +} + +void tst_QScriptValue::strictlyEquals_test(const char *, const QScriptValue& value) +{ + QFETCH(QScriptValue, other); + QFETCH(bool, expected); + QCOMPARE(value.strictlyEquals(other), expected); +} + +DEFINE_TEST_FUNCTION(strictlyEquals) + + +void tst_QScriptValue::lessThan_initData() +{ + QTest::addColumn("other"); + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::lessThan_makeData(const char *expr) +{ + static QSet equals; + if (equals.isEmpty()) { + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(true)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(true) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(true) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(true) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(true) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(true) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(true) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(true) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(true) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(true) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(true) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(true) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(true) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(true)"); + equals.insert("QScriptValue(false) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(false) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(false) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(false) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(false) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(false) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(true)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(true)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(false)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(true)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(false)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(true)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(false)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"/foo/\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(true)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"/foo/\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(true)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"/foo/\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(true)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(false)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"/foo/\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"/foo/\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"/foo/\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(true)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString())"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"[]\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Array.prototype\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(false)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0.0)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-6.37e-8)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, false)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0.0)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, false)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0.0)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"/foo/\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"/foo/\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"-Infinity\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"/foo/\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(true)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(6.37e-8)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, true)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, true)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(int(122))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(uint(124))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(123.0)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10000)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10001)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(qInf())"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, int(122))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, uint(124))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 123.0)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10000)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10001)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, qInf())"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, int(122))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, uint(124))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 123.0)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x43211234)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10000)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10001)"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, qInf())"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"NaN\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"ciao\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Array\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Number\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Object()\")"); + equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Error()\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(true)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(int(122))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(uint(124))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(123.0)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(6.37e-8)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0x43211234)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0x10000)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0x10001)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(qInf())"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"NaN\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"Infinity\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"-Infinity\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"ciao\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"0\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"123\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, true)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, int(122))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, uint(124))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 123.0)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 6.37e-8)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0x43211234)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10000)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10001)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, qInf())"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, true)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, int(122))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, uint(124))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 123.0)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x43211234)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10000)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10001)"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, qInf())"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"/foo/\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(\"ciao\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(true)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(int(122))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(uint(124))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(123.0)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(6.37e-8)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x43211234)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10000)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10001)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(qInf())"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"NaN\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"Infinity\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"-Infinity\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"ciao\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"0\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"123\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, true)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, int(122))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, uint(124))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 123.0)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 6.37e-8)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x43211234)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10000)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10001)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, qInf())"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, true)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, int(122))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, uint(124))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 123.0)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x43211234)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10000)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10001)"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, qInf())"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"/foo/\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"NaN\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"Infinity\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"ciao\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(\"NaN\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(\"Infinity\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(\"ciao\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"0\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"123\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(\"ciao\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(true)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(int(122))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(uint(124))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(123.0)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(6.37e-8)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0x43211234)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0x10000)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0x10001)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(qInf())"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"NaN\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"Infinity\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"-Infinity\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"ciao\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"0\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"123\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, true)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, int(122))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, uint(124))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 123.0)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 6.37e-8)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x43211234)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10000)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10001)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, qInf())"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"-Infinity\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"0\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, true)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, int(122))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, uint(124))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 123.0)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x43211234)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10000)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10001)"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, qInf())"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"-Infinity\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"0\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"1.23\"))"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Error.prototype\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"/foo/\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(\"NaN\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(\"Infinity\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(\"ciao\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"NaN\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"Infinity\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"ciao\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"NaN\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"ciao\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object.prototype\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function.prototype\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Number\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 1; })\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Object()\")"); + } + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); + newRow(tag.toLatin1()) << it.value() << equals.contains(tag); + } +} + +void tst_QScriptValue::lessThan_test(const char *, const QScriptValue& value) +{ + QFETCH(QScriptValue, other); + QFETCH(bool, expected); + QCOMPARE(value.lessThan(other), expected); +} + +DEFINE_TEST_FUNCTION(lessThan) + + +void tst_QScriptValue::instanceOf_initData() +{ + QTest::addColumn("other"); + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::instanceOf_makeData(const char *expr) +{ + static QSet equals; + if (equals.isEmpty()) { + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")"); + equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")"); + equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")"); + equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")"); + } + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); + newRow(tag.toLatin1()) << it.value() << equals.contains(tag); + } +} + +void tst_QScriptValue::instanceOf_test(const char *, const QScriptValue& value) +{ + QFETCH(QScriptValue, other); + QFETCH(bool, expected); + QCOMPARE(value.instanceOf(other), expected); +} + +DEFINE_TEST_FUNCTION(instanceOf) + + +void tst_QScriptValue::qscriptvalue_castQString_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.insert("QScriptValue()", ""); + value.insert("QScriptValue(QScriptValue::UndefinedValue)", ""); + value.insert("QScriptValue(QScriptValue::NullValue)", ""); + value.insert("QScriptValue(true)", "true"); + value.insert("QScriptValue(false)", "false"); + value.insert("QScriptValue(int(122))", "122"); + value.insert("QScriptValue(uint(124))", "124"); + value.insert("QScriptValue(0)", "0"); + value.insert("QScriptValue(0.0)", "0"); + value.insert("QScriptValue(123.0)", "123"); + value.insert("QScriptValue(6.37e-8)", "6.37e-8"); + value.insert("QScriptValue(-6.37e-8)", "-6.37e-8"); + value.insert("QScriptValue(0x43211234)", "1126240820"); + value.insert("QScriptValue(0x10000)", "65536"); + value.insert("QScriptValue(0x10001)", "65537"); + value.insert("QScriptValue(qSNaN())", "NaN"); + value.insert("QScriptValue(qQNaN())", "NaN"); + value.insert("QScriptValue(qInf())", "Infinity"); + value.insert("QScriptValue(-qInf())", "-Infinity"); + value.insert("QScriptValue(\"NaN\")", "NaN"); + value.insert("QScriptValue(\"Infinity\")", "Infinity"); + value.insert("QScriptValue(\"-Infinity\")", "-Infinity"); + value.insert("QScriptValue(\"ciao\")", "ciao"); + value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", "ciao"); + value.insert("QScriptValue(QString(\"\"))", ""); + value.insert("QScriptValue(QString())", ""); + value.insert("QScriptValue(QString(\"0\"))", "0"); + value.insert("QScriptValue(QString(\"123\"))", "123"); + value.insert("QScriptValue(QString(\"12.4\"))", "12.4"); + value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", ""); + value.insert("QScriptValue(0, QScriptValue::NullValue)", ""); + value.insert("QScriptValue(0, true)", "true"); + value.insert("QScriptValue(0, false)", "false"); + value.insert("QScriptValue(0, int(122))", "122"); + value.insert("QScriptValue(0, uint(124))", "124"); + value.insert("QScriptValue(0, 0)", "0"); + value.insert("QScriptValue(0, 0.0)", "0"); + value.insert("QScriptValue(0, 123.0)", "123"); + value.insert("QScriptValue(0, 6.37e-8)", "6.37e-8"); + value.insert("QScriptValue(0, -6.37e-8)", "-6.37e-8"); + value.insert("QScriptValue(0, 0x43211234)", "1126240820"); + value.insert("QScriptValue(0, 0x10000)", "65536"); + value.insert("QScriptValue(0, 0x10001)", "65537"); + value.insert("QScriptValue(0, qSNaN())", "NaN"); + value.insert("QScriptValue(0, qQNaN())", "NaN"); + value.insert("QScriptValue(0, qInf())", "Infinity"); + value.insert("QScriptValue(0, -qInf())", "-Infinity"); + value.insert("QScriptValue(0, \"NaN\")", "NaN"); + value.insert("QScriptValue(0, \"Infinity\")", "Infinity"); + value.insert("QScriptValue(0, \"-Infinity\")", "-Infinity"); + value.insert("QScriptValue(0, \"ciao\")", "ciao"); + value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", "ciao"); + value.insert("QScriptValue(0, QString(\"\"))", ""); + value.insert("QScriptValue(0, QString())", ""); + value.insert("QScriptValue(0, QString(\"0\"))", "0"); + value.insert("QScriptValue(0, QString(\"123\"))", "123"); + value.insert("QScriptValue(0, QString(\"12.3\"))", "12.3"); + value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", ""); + value.insert("QScriptValue(engine, QScriptValue::NullValue)", ""); + value.insert("QScriptValue(engine, true)", "true"); + value.insert("QScriptValue(engine, false)", "false"); + value.insert("QScriptValue(engine, int(122))", "122"); + value.insert("QScriptValue(engine, uint(124))", "124"); + value.insert("QScriptValue(engine, 0)", "0"); + value.insert("QScriptValue(engine, 0.0)", "0"); + value.insert("QScriptValue(engine, 123.0)", "123"); + value.insert("QScriptValue(engine, 6.37e-8)", "6.37e-8"); + value.insert("QScriptValue(engine, -6.37e-8)", "-6.37e-8"); + value.insert("QScriptValue(engine, 0x43211234)", "1126240820"); + value.insert("QScriptValue(engine, 0x10000)", "65536"); + value.insert("QScriptValue(engine, 0x10001)", "65537"); + value.insert("QScriptValue(engine, qSNaN())", "NaN"); + value.insert("QScriptValue(engine, qQNaN())", "NaN"); + value.insert("QScriptValue(engine, qInf())", "Infinity"); + value.insert("QScriptValue(engine, -qInf())", "-Infinity"); + value.insert("QScriptValue(engine, \"NaN\")", "NaN"); + value.insert("QScriptValue(engine, \"Infinity\")", "Infinity"); + value.insert("QScriptValue(engine, \"-Infinity\")", "-Infinity"); + value.insert("QScriptValue(engine, \"ciao\")", "ciao"); + value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", "ciao"); + value.insert("QScriptValue(engine, QString(\"\"))", ""); + value.insert("QScriptValue(engine, QString())", ""); + value.insert("QScriptValue(engine, QString(\"0\"))", "0"); + value.insert("QScriptValue(engine, QString(\"123\"))", "123"); + value.insert("QScriptValue(engine, QString(\"1.23\"))", "1.23"); + value.insert("engine->evaluate(\"[]\")", ""); + value.insert("engine->evaluate(\"{}\")", ""); + value.insert("engine->evaluate(\"Object.prototype\")", "[object Object]"); + value.insert("engine->evaluate(\"Date.prototype\")", "Invalid Date"); + value.insert("engine->evaluate(\"Array.prototype\")", ""); + value.insert("engine->evaluate(\"Function.prototype\")", "function () {\n [native code]\n}"); + value.insert("engine->evaluate(\"Error.prototype\")", "Error: Unknown error"); + value.insert("engine->evaluate(\"Object\")", "function Object() {\n [native code]\n}"); + value.insert("engine->evaluate(\"Array\")", "function Array() {\n [native code]\n}"); + value.insert("engine->evaluate(\"Number\")", "function Number() {\n [native code]\n}"); + value.insert("engine->evaluate(\"Function\")", "function Function() {\n [native code]\n}"); + value.insert("engine->evaluate(\"(function() { return 1; })\")", "function () { return 1; }"); + value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", "function () { return 'ciao'; }"); + value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", "function () { throw new Error('foo'); }"); + value.insert("engine->evaluate(\"/foo/\")", "/foo/"); + value.insert("engine->evaluate(\"new Object()\")", "[object Object]"); + value.insert("engine->evaluate(\"new Array()\")", ""); + value.insert("engine->evaluate(\"new Error()\")", "Error: Unknown error"); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castQString_test(const char*, const QScriptValue& value) +{ + QFETCH(QString, expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castQString) + + +void tst_QScriptValue::qscriptvalue_castqsreal_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.insert("QScriptValue()", 0); + value.insert("QScriptValue(QScriptValue::UndefinedValue)", qQNaN()); + value.insert("QScriptValue(QScriptValue::NullValue)", 0); + value.insert("QScriptValue(true)", 1); + value.insert("QScriptValue(false)", 0); + value.insert("QScriptValue(int(122))", 122); + value.insert("QScriptValue(uint(124))", 124); + value.insert("QScriptValue(0)", 0); + value.insert("QScriptValue(0.0)", 0); + value.insert("QScriptValue(123.0)", 123); + value.insert("QScriptValue(6.37e-8)", 6.369999999999999e-08); + value.insert("QScriptValue(-6.37e-8)", -6.369999999999999e-08); + value.insert("QScriptValue(0x43211234)", 1126240820); + value.insert("QScriptValue(0x10000)", 65536); + value.insert("QScriptValue(0x10001)", 65537); + value.insert("QScriptValue(qSNaN())", qQNaN()); + value.insert("QScriptValue(qQNaN())", qQNaN()); + value.insert("QScriptValue(qInf())", qInf()); + value.insert("QScriptValue(-qInf())", qInf()); + value.insert("QScriptValue(\"NaN\")", qQNaN()); + value.insert("QScriptValue(\"Infinity\")", qInf()); + value.insert("QScriptValue(\"-Infinity\")", qInf()); + value.insert("QScriptValue(\"ciao\")", qQNaN()); + value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", qQNaN()); + value.insert("QScriptValue(QString(\"\"))", 0); + value.insert("QScriptValue(QString())", 0); + value.insert("QScriptValue(QString(\"0\"))", 0); + value.insert("QScriptValue(QString(\"123\"))", 123); + value.insert("QScriptValue(QString(\"12.4\"))", 12.4); + value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", qQNaN()); + value.insert("QScriptValue(0, QScriptValue::NullValue)", 0); + value.insert("QScriptValue(0, true)", 1); + value.insert("QScriptValue(0, false)", 0); + value.insert("QScriptValue(0, int(122))", 122); + value.insert("QScriptValue(0, uint(124))", 124); + value.insert("QScriptValue(0, 0)", 0); + value.insert("QScriptValue(0, 0.0)", 0); + value.insert("QScriptValue(0, 123.0)", 123); + value.insert("QScriptValue(0, 6.37e-8)", 6.369999999999999e-08); + value.insert("QScriptValue(0, -6.37e-8)", -6.369999999999999e-08); + value.insert("QScriptValue(0, 0x43211234)", 1126240820); + value.insert("QScriptValue(0, 0x10000)", 65536); + value.insert("QScriptValue(0, 0x10001)", 65537); + value.insert("QScriptValue(0, qSNaN())", qQNaN()); + value.insert("QScriptValue(0, qQNaN())", qQNaN()); + value.insert("QScriptValue(0, qInf())", qInf()); + value.insert("QScriptValue(0, -qInf())", qInf()); + value.insert("QScriptValue(0, \"NaN\")", qQNaN()); + value.insert("QScriptValue(0, \"Infinity\")", qInf()); + value.insert("QScriptValue(0, \"-Infinity\")", qInf()); + value.insert("QScriptValue(0, \"ciao\")", qQNaN()); + value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", qQNaN()); + value.insert("QScriptValue(0, QString(\"\"))", 0); + value.insert("QScriptValue(0, QString())", 0); + value.insert("QScriptValue(0, QString(\"0\"))", 0); + value.insert("QScriptValue(0, QString(\"123\"))", 123); + value.insert("QScriptValue(0, QString(\"12.3\"))", 12.3); + value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", qQNaN()); + value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0); + value.insert("QScriptValue(engine, true)", 1); + value.insert("QScriptValue(engine, false)", 0); + value.insert("QScriptValue(engine, int(122))", 122); + value.insert("QScriptValue(engine, uint(124))", 124); + value.insert("QScriptValue(engine, 0)", 0); + value.insert("QScriptValue(engine, 0.0)", 0); + value.insert("QScriptValue(engine, 123.0)", 123); + value.insert("QScriptValue(engine, 6.37e-8)", 6.369999999999999e-08); + value.insert("QScriptValue(engine, -6.37e-8)", -6.369999999999999e-08); + value.insert("QScriptValue(engine, 0x43211234)", 1126240820); + value.insert("QScriptValue(engine, 0x10000)", 65536); + value.insert("QScriptValue(engine, 0x10001)", 65537); + value.insert("QScriptValue(engine, qSNaN())", qQNaN()); + value.insert("QScriptValue(engine, qQNaN())", qQNaN()); + value.insert("QScriptValue(engine, qInf())", qInf()); + value.insert("QScriptValue(engine, -qInf())", qInf()); + value.insert("QScriptValue(engine, \"NaN\")", qQNaN()); + value.insert("QScriptValue(engine, \"Infinity\")", qInf()); + value.insert("QScriptValue(engine, \"-Infinity\")", qInf()); + value.insert("QScriptValue(engine, \"ciao\")", qQNaN()); + value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", qQNaN()); + value.insert("QScriptValue(engine, QString(\"\"))", 0); + value.insert("QScriptValue(engine, QString())", 0); + value.insert("QScriptValue(engine, QString(\"0\"))", 0); + value.insert("QScriptValue(engine, QString(\"123\"))", 123); + value.insert("QScriptValue(engine, QString(\"1.23\"))", 1.23); + value.insert("engine->evaluate(\"[]\")", 0); + value.insert("engine->evaluate(\"{}\")", qQNaN()); + value.insert("engine->evaluate(\"Object.prototype\")", qQNaN()); + value.insert("engine->evaluate(\"Date.prototype\")", qQNaN()); + value.insert("engine->evaluate(\"Array.prototype\")", 0); + value.insert("engine->evaluate(\"Function.prototype\")", qQNaN()); + value.insert("engine->evaluate(\"Error.prototype\")", qQNaN()); + value.insert("engine->evaluate(\"Object\")", qQNaN()); + value.insert("engine->evaluate(\"Array\")", qQNaN()); + value.insert("engine->evaluate(\"Number\")", qQNaN()); + value.insert("engine->evaluate(\"Function\")", qQNaN()); + value.insert("engine->evaluate(\"(function() { return 1; })\")", qQNaN()); + value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", qQNaN()); + value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", qQNaN()); + value.insert("engine->evaluate(\"/foo/\")", qQNaN()); + value.insert("engine->evaluate(\"new Object()\")", qQNaN()); + value.insert("engine->evaluate(\"new Array()\")", 0); + value.insert("engine->evaluate(\"new Error()\")", qQNaN()); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value) +{ + QFETCH(qsreal, expected); + if (qIsNaN(expected)) { + QVERIFY(qIsNaN(qscriptvalue_cast(value))); + return; + } + if (qIsInf(expected)) { + QVERIFY(qIsInf(qscriptvalue_cast(value))); + return; + } + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castqsreal) + + +void tst_QScriptValue::qscriptvalue_castbool_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.insert("QScriptValue()", false); + value.insert("QScriptValue(QScriptValue::UndefinedValue)", false); + value.insert("QScriptValue(QScriptValue::NullValue)", false); + value.insert("QScriptValue(true)", true); + value.insert("QScriptValue(false)", false); + value.insert("QScriptValue(int(122))", true); + value.insert("QScriptValue(uint(124))", true); + value.insert("QScriptValue(0)", false); + value.insert("QScriptValue(0.0)", false); + value.insert("QScriptValue(123.0)", true); + value.insert("QScriptValue(6.37e-8)", true); + value.insert("QScriptValue(-6.37e-8)", true); + value.insert("QScriptValue(0x43211234)", true); + value.insert("QScriptValue(0x10000)", true); + value.insert("QScriptValue(0x10001)", true); + value.insert("QScriptValue(qSNaN())", false); + value.insert("QScriptValue(qQNaN())", false); + value.insert("QScriptValue(qInf())", true); + value.insert("QScriptValue(-qInf())", true); + value.insert("QScriptValue(\"NaN\")", true); + value.insert("QScriptValue(\"Infinity\")", true); + value.insert("QScriptValue(\"-Infinity\")", true); + value.insert("QScriptValue(\"ciao\")", true); + value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", true); + value.insert("QScriptValue(QString(\"\"))", false); + value.insert("QScriptValue(QString())", false); + value.insert("QScriptValue(QString(\"0\"))", true); + value.insert("QScriptValue(QString(\"123\"))", true); + value.insert("QScriptValue(QString(\"12.4\"))", true); + value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", false); + value.insert("QScriptValue(0, QScriptValue::NullValue)", false); + value.insert("QScriptValue(0, true)", true); + value.insert("QScriptValue(0, false)", false); + value.insert("QScriptValue(0, int(122))", true); + value.insert("QScriptValue(0, uint(124))", true); + value.insert("QScriptValue(0, 0)", false); + value.insert("QScriptValue(0, 0.0)", false); + value.insert("QScriptValue(0, 123.0)", true); + value.insert("QScriptValue(0, 6.37e-8)", true); + value.insert("QScriptValue(0, -6.37e-8)", true); + value.insert("QScriptValue(0, 0x43211234)", true); + value.insert("QScriptValue(0, 0x10000)", true); + value.insert("QScriptValue(0, 0x10001)", true); + value.insert("QScriptValue(0, qSNaN())", false); + value.insert("QScriptValue(0, qQNaN())", false); + value.insert("QScriptValue(0, qInf())", true); + value.insert("QScriptValue(0, -qInf())", true); + value.insert("QScriptValue(0, \"NaN\")", true); + value.insert("QScriptValue(0, \"Infinity\")", true); + value.insert("QScriptValue(0, \"-Infinity\")", true); + value.insert("QScriptValue(0, \"ciao\")", true); + value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", true); + value.insert("QScriptValue(0, QString(\"\"))", false); + value.insert("QScriptValue(0, QString())", false); + value.insert("QScriptValue(0, QString(\"0\"))", true); + value.insert("QScriptValue(0, QString(\"123\"))", true); + value.insert("QScriptValue(0, QString(\"12.3\"))", true); + value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", false); + value.insert("QScriptValue(engine, QScriptValue::NullValue)", false); + value.insert("QScriptValue(engine, true)", true); + value.insert("QScriptValue(engine, false)", false); + value.insert("QScriptValue(engine, int(122))", true); + value.insert("QScriptValue(engine, uint(124))", true); + value.insert("QScriptValue(engine, 0)", false); + value.insert("QScriptValue(engine, 0.0)", false); + value.insert("QScriptValue(engine, 123.0)", true); + value.insert("QScriptValue(engine, 6.37e-8)", true); + value.insert("QScriptValue(engine, -6.37e-8)", true); + value.insert("QScriptValue(engine, 0x43211234)", true); + value.insert("QScriptValue(engine, 0x10000)", true); + value.insert("QScriptValue(engine, 0x10001)", true); + value.insert("QScriptValue(engine, qSNaN())", false); + value.insert("QScriptValue(engine, qQNaN())", false); + value.insert("QScriptValue(engine, qInf())", true); + value.insert("QScriptValue(engine, -qInf())", true); + value.insert("QScriptValue(engine, \"NaN\")", true); + value.insert("QScriptValue(engine, \"Infinity\")", true); + value.insert("QScriptValue(engine, \"-Infinity\")", true); + value.insert("QScriptValue(engine, \"ciao\")", true); + value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", true); + value.insert("QScriptValue(engine, QString(\"\"))", false); + value.insert("QScriptValue(engine, QString())", false); + value.insert("QScriptValue(engine, QString(\"0\"))", true); + value.insert("QScriptValue(engine, QString(\"123\"))", true); + value.insert("QScriptValue(engine, QString(\"1.23\"))", true); + value.insert("engine->evaluate(\"[]\")", true); + value.insert("engine->evaluate(\"{}\")", false); + value.insert("engine->evaluate(\"Object.prototype\")", true); + value.insert("engine->evaluate(\"Date.prototype\")", true); + value.insert("engine->evaluate(\"Array.prototype\")", true); + value.insert("engine->evaluate(\"Function.prototype\")", true); + value.insert("engine->evaluate(\"Error.prototype\")", true); + value.insert("engine->evaluate(\"Object\")", true); + value.insert("engine->evaluate(\"Array\")", true); + value.insert("engine->evaluate(\"Number\")", true); + value.insert("engine->evaluate(\"Function\")", true); + value.insert("engine->evaluate(\"(function() { return 1; })\")", true); + value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", true); + value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", true); + value.insert("engine->evaluate(\"/foo/\")", true); + value.insert("engine->evaluate(\"new Object()\")", true); + value.insert("engine->evaluate(\"new Array()\")", true); + value.insert("engine->evaluate(\"new Error()\")", true); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castbool_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castbool) + + +void tst_QScriptValue::qscriptvalue_castqint32_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.insert("QScriptValue()", 0); + value.insert("QScriptValue(QScriptValue::UndefinedValue)", 0); + value.insert("QScriptValue(QScriptValue::NullValue)", 0); + value.insert("QScriptValue(true)", 1); + value.insert("QScriptValue(false)", 0); + value.insert("QScriptValue(int(122))", 122); + value.insert("QScriptValue(uint(124))", 124); + value.insert("QScriptValue(0)", 0); + value.insert("QScriptValue(0.0)", 0); + value.insert("QScriptValue(123.0)", 123); + value.insert("QScriptValue(6.37e-8)", 0); + value.insert("QScriptValue(-6.37e-8)", 0); + value.insert("QScriptValue(0x43211234)", 1126240820); + value.insert("QScriptValue(0x10000)", 65536); + value.insert("QScriptValue(0x10001)", 65537); + value.insert("QScriptValue(qSNaN())", 0); + value.insert("QScriptValue(qQNaN())", 0); + value.insert("QScriptValue(qInf())", 0); + value.insert("QScriptValue(-qInf())", 0); + value.insert("QScriptValue(\"NaN\")", 0); + value.insert("QScriptValue(\"Infinity\")", 0); + value.insert("QScriptValue(\"-Infinity\")", 0); + value.insert("QScriptValue(\"ciao\")", 0); + value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0); + value.insert("QScriptValue(QString(\"\"))", 0); + value.insert("QScriptValue(QString())", 0); + value.insert("QScriptValue(QString(\"0\"))", 0); + value.insert("QScriptValue(QString(\"123\"))", 123); + value.insert("QScriptValue(QString(\"12.4\"))", 12); + value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0); + value.insert("QScriptValue(0, QScriptValue::NullValue)", 0); + value.insert("QScriptValue(0, true)", 1); + value.insert("QScriptValue(0, false)", 0); + value.insert("QScriptValue(0, int(122))", 122); + value.insert("QScriptValue(0, uint(124))", 124); + value.insert("QScriptValue(0, 0)", 0); + value.insert("QScriptValue(0, 0.0)", 0); + value.insert("QScriptValue(0, 123.0)", 123); + value.insert("QScriptValue(0, 6.37e-8)", 0); + value.insert("QScriptValue(0, -6.37e-8)", 0); + value.insert("QScriptValue(0, 0x43211234)", 1126240820); + value.insert("QScriptValue(0, 0x10000)", 65536); + value.insert("QScriptValue(0, 0x10001)", 65537); + value.insert("QScriptValue(0, qSNaN())", 0); + value.insert("QScriptValue(0, qQNaN())", 0); + value.insert("QScriptValue(0, qInf())", 0); + value.insert("QScriptValue(0, -qInf())", 0); + value.insert("QScriptValue(0, \"NaN\")", 0); + value.insert("QScriptValue(0, \"Infinity\")", 0); + value.insert("QScriptValue(0, \"-Infinity\")", 0); + value.insert("QScriptValue(0, \"ciao\")", 0); + value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0); + value.insert("QScriptValue(0, QString(\"\"))", 0); + value.insert("QScriptValue(0, QString())", 0); + value.insert("QScriptValue(0, QString(\"0\"))", 0); + value.insert("QScriptValue(0, QString(\"123\"))", 123); + value.insert("QScriptValue(0, QString(\"12.3\"))", 12); + value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0); + value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0); + value.insert("QScriptValue(engine, true)", 1); + value.insert("QScriptValue(engine, false)", 0); + value.insert("QScriptValue(engine, int(122))", 122); + value.insert("QScriptValue(engine, uint(124))", 124); + value.insert("QScriptValue(engine, 0)", 0); + value.insert("QScriptValue(engine, 0.0)", 0); + value.insert("QScriptValue(engine, 123.0)", 123); + value.insert("QScriptValue(engine, 6.37e-8)", 0); + value.insert("QScriptValue(engine, -6.37e-8)", 0); + value.insert("QScriptValue(engine, 0x43211234)", 1126240820); + value.insert("QScriptValue(engine, 0x10000)", 65536); + value.insert("QScriptValue(engine, 0x10001)", 65537); + value.insert("QScriptValue(engine, qSNaN())", 0); + value.insert("QScriptValue(engine, qQNaN())", 0); + value.insert("QScriptValue(engine, qInf())", 0); + value.insert("QScriptValue(engine, -qInf())", 0); + value.insert("QScriptValue(engine, \"NaN\")", 0); + value.insert("QScriptValue(engine, \"Infinity\")", 0); + value.insert("QScriptValue(engine, \"-Infinity\")", 0); + value.insert("QScriptValue(engine, \"ciao\")", 0); + value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0); + value.insert("QScriptValue(engine, QString(\"\"))", 0); + value.insert("QScriptValue(engine, QString())", 0); + value.insert("QScriptValue(engine, QString(\"0\"))", 0); + value.insert("QScriptValue(engine, QString(\"123\"))", 123); + value.insert("QScriptValue(engine, QString(\"1.23\"))", 1); + value.insert("engine->evaluate(\"[]\")", 0); + value.insert("engine->evaluate(\"{}\")", 0); + value.insert("engine->evaluate(\"Object.prototype\")", 0); + value.insert("engine->evaluate(\"Date.prototype\")", 0); + value.insert("engine->evaluate(\"Array.prototype\")", 0); + value.insert("engine->evaluate(\"Function.prototype\")", 0); + value.insert("engine->evaluate(\"Error.prototype\")", 0); + value.insert("engine->evaluate(\"Object\")", 0); + value.insert("engine->evaluate(\"Array\")", 0); + value.insert("engine->evaluate(\"Number\")", 0); + value.insert("engine->evaluate(\"Function\")", 0); + value.insert("engine->evaluate(\"(function() { return 1; })\")", 0); + value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0); + value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0); + value.insert("engine->evaluate(\"/foo/\")", 0); + value.insert("engine->evaluate(\"new Object()\")", 0); + value.insert("engine->evaluate(\"new Array()\")", 0); + value.insert("engine->evaluate(\"new Error()\")", 0); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castqint32_test(const char*, const QScriptValue& value) +{ + QFETCH(qint32, expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castqint32) + + +void tst_QScriptValue::qscriptvalue_castquint32_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.insert("QScriptValue()", 0); + value.insert("QScriptValue(QScriptValue::UndefinedValue)", 0); + value.insert("QScriptValue(QScriptValue::NullValue)", 0); + value.insert("QScriptValue(true)", 1); + value.insert("QScriptValue(false)", 0); + value.insert("QScriptValue(int(122))", 122); + value.insert("QScriptValue(uint(124))", 124); + value.insert("QScriptValue(0)", 0); + value.insert("QScriptValue(0.0)", 0); + value.insert("QScriptValue(123.0)", 123); + value.insert("QScriptValue(6.37e-8)", 0); + value.insert("QScriptValue(-6.37e-8)", 0); + value.insert("QScriptValue(0x43211234)", 1126240820); + value.insert("QScriptValue(0x10000)", 65536); + value.insert("QScriptValue(0x10001)", 65537); + value.insert("QScriptValue(qSNaN())", 0); + value.insert("QScriptValue(qQNaN())", 0); + value.insert("QScriptValue(qInf())", 0); + value.insert("QScriptValue(-qInf())", 0); + value.insert("QScriptValue(\"NaN\")", 0); + value.insert("QScriptValue(\"Infinity\")", 0); + value.insert("QScriptValue(\"-Infinity\")", 0); + value.insert("QScriptValue(\"ciao\")", 0); + value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0); + value.insert("QScriptValue(QString(\"\"))", 0); + value.insert("QScriptValue(QString())", 0); + value.insert("QScriptValue(QString(\"0\"))", 0); + value.insert("QScriptValue(QString(\"123\"))", 123); + value.insert("QScriptValue(QString(\"12.4\"))", 12); + value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0); + value.insert("QScriptValue(0, QScriptValue::NullValue)", 0); + value.insert("QScriptValue(0, true)", 1); + value.insert("QScriptValue(0, false)", 0); + value.insert("QScriptValue(0, int(122))", 122); + value.insert("QScriptValue(0, uint(124))", 124); + value.insert("QScriptValue(0, 0)", 0); + value.insert("QScriptValue(0, 0.0)", 0); + value.insert("QScriptValue(0, 123.0)", 123); + value.insert("QScriptValue(0, 6.37e-8)", 0); + value.insert("QScriptValue(0, -6.37e-8)", 0); + value.insert("QScriptValue(0, 0x43211234)", 1126240820); + value.insert("QScriptValue(0, 0x10000)", 65536); + value.insert("QScriptValue(0, 0x10001)", 65537); + value.insert("QScriptValue(0, qSNaN())", 0); + value.insert("QScriptValue(0, qQNaN())", 0); + value.insert("QScriptValue(0, qInf())", 0); + value.insert("QScriptValue(0, -qInf())", 0); + value.insert("QScriptValue(0, \"NaN\")", 0); + value.insert("QScriptValue(0, \"Infinity\")", 0); + value.insert("QScriptValue(0, \"-Infinity\")", 0); + value.insert("QScriptValue(0, \"ciao\")", 0); + value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0); + value.insert("QScriptValue(0, QString(\"\"))", 0); + value.insert("QScriptValue(0, QString())", 0); + value.insert("QScriptValue(0, QString(\"0\"))", 0); + value.insert("QScriptValue(0, QString(\"123\"))", 123); + value.insert("QScriptValue(0, QString(\"12.3\"))", 12); + value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0); + value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0); + value.insert("QScriptValue(engine, true)", 1); + value.insert("QScriptValue(engine, false)", 0); + value.insert("QScriptValue(engine, int(122))", 122); + value.insert("QScriptValue(engine, uint(124))", 124); + value.insert("QScriptValue(engine, 0)", 0); + value.insert("QScriptValue(engine, 0.0)", 0); + value.insert("QScriptValue(engine, 123.0)", 123); + value.insert("QScriptValue(engine, 6.37e-8)", 0); + value.insert("QScriptValue(engine, -6.37e-8)", 0); + value.insert("QScriptValue(engine, 0x43211234)", 1126240820); + value.insert("QScriptValue(engine, 0x10000)", 65536); + value.insert("QScriptValue(engine, 0x10001)", 65537); + value.insert("QScriptValue(engine, qSNaN())", 0); + value.insert("QScriptValue(engine, qQNaN())", 0); + value.insert("QScriptValue(engine, qInf())", 0); + value.insert("QScriptValue(engine, -qInf())", 0); + value.insert("QScriptValue(engine, \"NaN\")", 0); + value.insert("QScriptValue(engine, \"Infinity\")", 0); + value.insert("QScriptValue(engine, \"-Infinity\")", 0); + value.insert("QScriptValue(engine, \"ciao\")", 0); + value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0); + value.insert("QScriptValue(engine, QString(\"\"))", 0); + value.insert("QScriptValue(engine, QString())", 0); + value.insert("QScriptValue(engine, QString(\"0\"))", 0); + value.insert("QScriptValue(engine, QString(\"123\"))", 123); + value.insert("QScriptValue(engine, QString(\"1.23\"))", 1); + value.insert("engine->evaluate(\"[]\")", 0); + value.insert("engine->evaluate(\"{}\")", 0); + value.insert("engine->evaluate(\"Object.prototype\")", 0); + value.insert("engine->evaluate(\"Date.prototype\")", 0); + value.insert("engine->evaluate(\"Array.prototype\")", 0); + value.insert("engine->evaluate(\"Function.prototype\")", 0); + value.insert("engine->evaluate(\"Error.prototype\")", 0); + value.insert("engine->evaluate(\"Object\")", 0); + value.insert("engine->evaluate(\"Array\")", 0); + value.insert("engine->evaluate(\"Number\")", 0); + value.insert("engine->evaluate(\"Function\")", 0); + value.insert("engine->evaluate(\"(function() { return 1; })\")", 0); + value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0); + value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0); + value.insert("engine->evaluate(\"/foo/\")", 0); + value.insert("engine->evaluate(\"new Object()\")", 0); + value.insert("engine->evaluate(\"new Array()\")", 0); + value.insert("engine->evaluate(\"new Error()\")", 0); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castquint32_test(const char*, const QScriptValue& value) +{ + QFETCH(quint32, expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castquint32) + + +void tst_QScriptValue::qscriptvalue_castquint16_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.insert("QScriptValue()", 0); + value.insert("QScriptValue(QScriptValue::UndefinedValue)", 0); + value.insert("QScriptValue(QScriptValue::NullValue)", 0); + value.insert("QScriptValue(true)", 1); + value.insert("QScriptValue(false)", 0); + value.insert("QScriptValue(int(122))", 122); + value.insert("QScriptValue(uint(124))", 124); + value.insert("QScriptValue(0)", 0); + value.insert("QScriptValue(0.0)", 0); + value.insert("QScriptValue(123.0)", 123); + value.insert("QScriptValue(6.37e-8)", 0); + value.insert("QScriptValue(-6.37e-8)", 0); + value.insert("QScriptValue(0x43211234)", 4660); + value.insert("QScriptValue(0x10000)", 0); + value.insert("QScriptValue(0x10001)", 1); + value.insert("QScriptValue(qSNaN())", 0); + value.insert("QScriptValue(qQNaN())", 0); + value.insert("QScriptValue(qInf())", 0); + value.insert("QScriptValue(-qInf())", 0); + value.insert("QScriptValue(\"NaN\")", 0); + value.insert("QScriptValue(\"Infinity\")", 0); + value.insert("QScriptValue(\"-Infinity\")", 0); + value.insert("QScriptValue(\"ciao\")", 0); + value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0); + value.insert("QScriptValue(QString(\"\"))", 0); + value.insert("QScriptValue(QString())", 0); + value.insert("QScriptValue(QString(\"0\"))", 0); + value.insert("QScriptValue(QString(\"123\"))", 123); + value.insert("QScriptValue(QString(\"12.4\"))", 12); + value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0); + value.insert("QScriptValue(0, QScriptValue::NullValue)", 0); + value.insert("QScriptValue(0, true)", 1); + value.insert("QScriptValue(0, false)", 0); + value.insert("QScriptValue(0, int(122))", 122); + value.insert("QScriptValue(0, uint(124))", 124); + value.insert("QScriptValue(0, 0)", 0); + value.insert("QScriptValue(0, 0.0)", 0); + value.insert("QScriptValue(0, 123.0)", 123); + value.insert("QScriptValue(0, 6.37e-8)", 0); + value.insert("QScriptValue(0, -6.37e-8)", 0); + value.insert("QScriptValue(0, 0x43211234)", 4660); + value.insert("QScriptValue(0, 0x10000)", 0); + value.insert("QScriptValue(0, 0x10001)", 1); + value.insert("QScriptValue(0, qSNaN())", 0); + value.insert("QScriptValue(0, qQNaN())", 0); + value.insert("QScriptValue(0, qInf())", 0); + value.insert("QScriptValue(0, -qInf())", 0); + value.insert("QScriptValue(0, \"NaN\")", 0); + value.insert("QScriptValue(0, \"Infinity\")", 0); + value.insert("QScriptValue(0, \"-Infinity\")", 0); + value.insert("QScriptValue(0, \"ciao\")", 0); + value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0); + value.insert("QScriptValue(0, QString(\"\"))", 0); + value.insert("QScriptValue(0, QString())", 0); + value.insert("QScriptValue(0, QString(\"0\"))", 0); + value.insert("QScriptValue(0, QString(\"123\"))", 123); + value.insert("QScriptValue(0, QString(\"12.3\"))", 12); + value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0); + value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0); + value.insert("QScriptValue(engine, true)", 1); + value.insert("QScriptValue(engine, false)", 0); + value.insert("QScriptValue(engine, int(122))", 122); + value.insert("QScriptValue(engine, uint(124))", 124); + value.insert("QScriptValue(engine, 0)", 0); + value.insert("QScriptValue(engine, 0.0)", 0); + value.insert("QScriptValue(engine, 123.0)", 123); + value.insert("QScriptValue(engine, 6.37e-8)", 0); + value.insert("QScriptValue(engine, -6.37e-8)", 0); + value.insert("QScriptValue(engine, 0x43211234)", 4660); + value.insert("QScriptValue(engine, 0x10000)", 0); + value.insert("QScriptValue(engine, 0x10001)", 1); + value.insert("QScriptValue(engine, qSNaN())", 0); + value.insert("QScriptValue(engine, qQNaN())", 0); + value.insert("QScriptValue(engine, qInf())", 0); + value.insert("QScriptValue(engine, -qInf())", 0); + value.insert("QScriptValue(engine, \"NaN\")", 0); + value.insert("QScriptValue(engine, \"Infinity\")", 0); + value.insert("QScriptValue(engine, \"-Infinity\")", 0); + value.insert("QScriptValue(engine, \"ciao\")", 0); + value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0); + value.insert("QScriptValue(engine, QString(\"\"))", 0); + value.insert("QScriptValue(engine, QString())", 0); + value.insert("QScriptValue(engine, QString(\"0\"))", 0); + value.insert("QScriptValue(engine, QString(\"123\"))", 123); + value.insert("QScriptValue(engine, QString(\"1.23\"))", 1); + value.insert("engine->evaluate(\"[]\")", 0); + value.insert("engine->evaluate(\"{}\")", 0); + value.insert("engine->evaluate(\"Object.prototype\")", 0); + value.insert("engine->evaluate(\"Date.prototype\")", 0); + value.insert("engine->evaluate(\"Array.prototype\")", 0); + value.insert("engine->evaluate(\"Function.prototype\")", 0); + value.insert("engine->evaluate(\"Error.prototype\")", 0); + value.insert("engine->evaluate(\"Object\")", 0); + value.insert("engine->evaluate(\"Array\")", 0); + value.insert("engine->evaluate(\"Number\")", 0); + value.insert("engine->evaluate(\"Function\")", 0); + value.insert("engine->evaluate(\"(function() { return 1; })\")", 0); + value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0); + value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0); + value.insert("engine->evaluate(\"/foo/\")", 0); + value.insert("engine->evaluate(\"new Object()\")", 0); + value.insert("engine->evaluate(\"new Array()\")", 0); + value.insert("engine->evaluate(\"new Error()\")", 0); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castquint16_test(const char*, const QScriptValue& value) +{ + QFETCH(quint16, expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castquint16) -- cgit v0.12 From c186c0402781ec6ef6ee97e2168d16f0b043044e Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Tue, 2 Feb 2010 13:51:43 -0800 Subject: Make DSFLIP_ONSYNC part of the default flip flags. Reviewed-by: Jervey Kong --- src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp index 6b251c7..cd4d5c2 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp @@ -921,7 +921,7 @@ void QDirectFBScreenPrivate::setFlipFlags(const QStringList &args) qPrintable(flip)); } } else { - flipFlags = DSFLIP_BLIT; + flipFlags = DSFLIP_BLIT|DSFLIP_ONSYNC; } } -- cgit v0.12 From 9647dfb6d363812c59bd7ffb2a6c4ee2a34035ce Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 2 Feb 2010 22:57:39 +0100 Subject: Fix license headers on these new files (and the generator). --- tests/auto/qscriptvalue/testgen/gen.py | 44 +++++--- tests/auto/qscriptvalue/testgen/main.cpp | 58 +++++++---- tests/auto/qscriptvalue/testgen/testgenerator.cpp | 116 ++++++++++++++------- tests/auto/qscriptvalue/testgen/testgenerator.h | 58 +++++++---- .../qscriptvalue/tst_qscriptvalue_generated.cpp | 58 +++++++---- 5 files changed, 230 insertions(+), 104 deletions(-) diff --git a/tests/auto/qscriptvalue/testgen/gen.py b/tests/auto/qscriptvalue/testgen/gen.py index fddb853..c14fe86 100755 --- a/tests/auto/qscriptvalue/testgen/gen.py +++ b/tests/auto/qscriptvalue/testgen/gen.py @@ -3,20 +3,36 @@ #Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) -#This library is free software; you can redistribute it and/or -#modify it under the terms of the GNU Library General Public -#License as published by the Free Software Foundation; either -#version 2 of the License, or (at your option) any later version. - -#This library 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 -#Library General Public License for more details. - -#You should have received a copy of the GNU Library General Public License -#along with this library; see the file COPYING.LIB. If not, write to -#the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -#Boston, MA 02110-1301, USA. +## $QT_BEGIN_LICENSE:LGPL$ +## No Commercial Usage +## This file contains pre-release code and may not be distributed. +## You may use this file in accordance with the terms and conditions +## contained in the Technology Preview License Agreement accompanying +## this package. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 2.1 requirements +## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## In addition, as a special exception, Nokia gives you certain additional +## rights. These rights are described in the Nokia Qt LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## If you have questions regarding the use of this file, please contact +## Nokia at qt-info@nokia.com. +## +## +## +## +## +## +## +## +## $QT_END_LICENSE$ from __future__ import with_statement from string import Template diff --git a/tests/auto/qscriptvalue/testgen/main.cpp b/tests/auto/qscriptvalue/testgen/main.cpp index 389a725..fe35de9 100644 --- a/tests/auto/qscriptvalue/testgen/main.cpp +++ b/tests/auto/qscriptvalue/testgen/main.cpp @@ -1,21 +1,43 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ #include "testgenerator.h" #include diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.cpp b/tests/auto/qscriptvalue/testgen/testgenerator.cpp index 199e84b..d852ea5 100644 --- a/tests/auto/qscriptvalue/testgen/testgenerator.cpp +++ b/tests/auto/qscriptvalue/testgen/testgenerator.cpp @@ -1,21 +1,43 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ #include "testgenerator.h" @@ -364,24 +386,46 @@ static QString generateCompareDef(const QString& comparisionType, const QList& allDataTags) { - static const QString templ = "/*\n"\ - " Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)\n"\ - "\n"\ - " This library is free software; you can redistribute it and/or\n"\ - " modify it under the terms of the GNU Library General Public\n"\ - " License as published by the Free Software Foundation; either\n"\ - " version 2 of the License, or (at your option) any later version.\n"\ - "\n"\ - " This library is distributed in the hope that it will be useful,\n"\ - " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"\ - " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"\ - " Library General Public License for more details.\n"\ - "\n"\ - " You should have received a copy of the GNU Library General Public License\n"\ - " along with this library; see the file COPYING.LIB. If not, write to\n"\ - " the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"\ - " Boston, MA 02110-1301, USA.\n"\ - "*/\n"\ + static const QString templ = "/****************************************************************************\n" + "**\n" + "** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).\n" + "** All rights reserved.\n" + "** Contact: Nokia Corporation (qt-info@nokia.com)\n" + "**\n" + "** This file is part of the test suite of the Qt Toolkit.\n" + "**\n" + "** $QT_BEGIN_LICENSE:LGPL$\n" + "** No Commercial Usage\n" + "** This file contains pre-release code and may not be distributed.\n" + "** You may use this file in accordance with the terms and conditions\n" + "** contained in the Technology Preview License Agreement accompanying\n" + "** this package.\n" + "**\n" + "** GNU Lesser General Public License Usage\n" + "** Alternatively, this file may be used under the terms of the GNU Lesser\n" + "** General Public License version 2.1 as published by the Free Software\n" + "** Foundation and appearing in the file LICENSE.LGPL included in the\n" + "** packaging of this file. Please review the following information to\n" + "** ensure the GNU Lesser General Public License version 2.1 requirements\n" + "** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.\n" + "**\n" + "** In addition, as a special exception, Nokia gives you certain additional\n" + "** rights. These rights are described in the Nokia Qt LGPL Exception\n" + "** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.\n" + "**\n" + "** If you have questions regarding the use of this file, please contact\n" + "** Nokia at qt-info@nokia.com.\n" + "**\n" + "**\n" + "**\n" + "**\n" + "**\n" + "**\n" + "**\n" + "**\n" + "** $QT_END_LICENSE$\n" + "**\n" + "****************************************************************************/\n" "\n"\ "#include \"tst_qscriptvalue.h\"\n\n"\ "#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr)\n"\ diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.h b/tests/auto/qscriptvalue/testgen/testgenerator.h index d3a2196..8f4a357 100644 --- a/tests/auto/qscriptvalue/testgen/testgenerator.h +++ b/tests/auto/qscriptvalue/testgen/testgenerator.h @@ -1,21 +1,43 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ #ifndef TESTGENERATOR_H #define TESTGENERATOR_H diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp index 6a59509..1d105b4 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp @@ -1,21 +1,43 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ #include "tst_qscriptvalue.h" -- cgit v0.12 From 89377dc65ea505de568bb7243396ae260f435438 Mon Sep 17 00:00:00 2001 From: Kurt Korbatits Date: Wed, 3 Feb 2010 09:36:41 +1000 Subject: Updated changlog 4.6.2 Added bug 7044 to log. --- dist/changes-4.6.2 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2 index d35f945..d743f10 100644 --- a/dist/changes-4.6.2 +++ b/dist/changes-4.6.2 @@ -85,6 +85,12 @@ QtXml - foo * bar +QtMultimedia +------------ + + - QAudioInput + * [QTBUG-7044]: QAudioInput stopped working correctly after suspend()/resume() on linux. + Qt Plugins ---------- -- cgit v0.12 From 0c73b18d0750bee9da4b88de595aa6093b5be820 Mon Sep 17 00:00:00 2001 From: Jani Hautakangas Date: Wed, 3 Feb 2010 10:46:53 +0200 Subject: Implementation for QVGPixmapData to/fromSymbianCFbsBitmap functions. --- mkspecs/common/symbian/symbian.conf | 2 +- src/openvg/qpixmapdata_vg.cpp | 94 ++++++++++++++++++++++++++++++++++++- tests/auto/qpixmap/tst_qpixmap.cpp | 45 +++++++++++++++++- 3 files changed, 136 insertions(+), 5 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index b1ef354..7162bad 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -70,7 +70,7 @@ QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lhal -lgdi -lws32 QMAKE_LIBS_NETWORK = QMAKE_LIBS_EGL = -llibEGL QMAKE_LIBS_OPENGL = -QMAKE_LIBS_OPENVG = -llibOpenVG -lgraphicsresource +QMAKE_LIBS_OPENVG = -llibOpenVG -lgraphicsresource -lfbscli -lbitgdi -lgdi QMAKE_LIBS_COMPAT = QMAKE_LIBS_QT_ENTRY = -llibcrt0.lib QMAKE_LIBS_S60 = -lavkon diff --git a/src/openvg/qpixmapdata_vg.cpp b/src/openvg/qpixmapdata_vg.cpp index cc0e5a1..3087b77 100644 --- a/src/openvg/qpixmapdata_vg.cpp +++ b/src/openvg/qpixmapdata_vg.cpp @@ -46,11 +46,13 @@ #include "qvgimagepool_p.h" #ifdef QT_SYMBIAN_SUPPORTS_SGIMAGE +#include +#include #include typedef EGLImageKHR (*pfnEglCreateImageKHR)(EGLDisplay, EGLContext, EGLenum, EGLClientBuffer, EGLint*); typedef EGLBoolean (*pfnEglDestroyImageKHR)(EGLDisplay, EGLImageKHR); typedef VGImage (*pfnVgCreateEGLImageTargetKHR)(VGeglImageKHR); -#endif +#endif // QT_SYMBIAN_SUPPORTS_SGIMAGE QT_BEGIN_NAMESPACE @@ -425,6 +427,34 @@ Q_OPENVG_EXPORT VGImage qPixmapToVGImage(const QPixmap& pixmap) } #if defined(Q_OS_SYMBIAN) + +static CFbsBitmap* createBlitCopy(CFbsBitmap* bitmap) +{ + CFbsBitmap *copy = q_check_ptr(new CFbsBitmap); + if(!copy) + return 0; + + if (copy->Create(bitmap->SizeInPixels(), bitmap->DisplayMode()) != KErrNone) { + delete copy; + copy = 0; + + return 0; + } + + CFbsBitmapDevice* bitmapDevice = 0; + CFbsBitGc *bitmapGc = 0; + QT_TRAP_THROWING(bitmapDevice = CFbsBitmapDevice::NewL(copy)); + QT_TRAP_THROWING(bitmapGc = CFbsBitGc::NewL()); + bitmapGc->Activate(bitmapDevice); + + bitmapGc->BitBlt(TPoint(), bitmap); + + delete bitmapGc; + delete bitmapDevice; + + return copy; +} + void QVGPixmapData::cleanup() { is_null = w = h = 0; @@ -510,7 +540,49 @@ void QVGPixmapData::fromNativeType(void* pixmap, NativeType type) eglDestroyImageKHR(context->display(), eglImage); SgDriver::Close(); } else if (type == QPixmapData::FbsBitmap) { + CFbsBitmap *bitmap = reinterpret_cast(pixmap); + + bool deleteSourceBitmap = false; + +#ifdef Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE + + // Rasterize extended bitmaps + + TUid extendedBitmapType = bitmap->ExtendedBitmapType(); + if (extendedBitmapType != KNullUid) { + bitmap = createBlitCopy(bitmap); + deleteSourceBitmap = true; + } +#endif + + if (bitmap->IsCompressedInRAM()) { + bitmap = createBlitCopy(bitmap); + deleteSourceBitmap = true; + } + + TDisplayMode displayMode = bitmap->DisplayMode(); + QImage::Format format = qt_TDisplayMode2Format(displayMode); + + TSize size = bitmap->SizeInPixels(); + + bitmap->BeginDataAccess(); + uchar *bytes = (uchar*)bitmap->DataAddress(); + QImage img = QImage(bytes, size.iWidth, size.iHeight, format); + img = img.copy(); + bitmap->EndDataAccess(); + + if(displayMode == EGray2) { + //Symbian thinks set pixels are white/transparent, Qt thinks they are foreground/solid + //So invert mono bitmaps so that masks work correctly. + img.invertPixels(); + } else if(displayMode == EColor16M) { + img = img.rgbSwapped(); // EColor16M is BGR + } + + fromImage(img, Qt::AutoColor); + if(deleteSourceBitmap) + delete bitmap; } #else Q_UNUSED(pixmap); @@ -593,7 +665,25 @@ void* QVGPixmapData::toNativeType(NativeType type) SgDriver::Close(); return reinterpret_cast(sgImage); } else if (type == QPixmapData::FbsBitmap) { - return 0; + CFbsBitmap *bitmap = q_check_ptr(new CFbsBitmap); + + if (bitmap) { + if (bitmap->Create(TSize(source.width(), source.height()), + EColor16MAP) == KErrNone) { + const uchar *sptr = qt_vg_imageBits(source); + bitmap->BeginDataAccess(); + + uchar *dptr = (uchar*)bitmap->DataAddress(); + Mem::Copy(dptr, sptr, source.byteCount()); + + bitmap->EndDataAccess(); + } else { + delete bitmap; + bitmap = 0; + } + } + + return reinterpret_cast(bitmap); } #else Q_UNUSED(type); diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp index 8bcd5e8..d7c6ad3 100644 --- a/tests/auto/qpixmap/tst_qpixmap.cpp +++ b/tests/auto/qpixmap/tst_qpixmap.cpp @@ -145,9 +145,11 @@ private slots: void fromWinHICON(); #endif -#if defined(Q_WS_S60) +#if defined(Q_OS_SYMBIAN) void fromSymbianCFbsBitmap_data(); void fromSymbianCFbsBitmap(); + void toSymbianCFbsBitmap_data(); + void toSymbianCFbsBitmap(); #endif void onlyNullPixmapsOutsideGuiThread(); @@ -1110,7 +1112,7 @@ void tst_QPixmap::fromWinHICON() #endif // Q_WS_WIN -#if defined(Q_WS_S60) +#if defined(Q_OS_SYMBIAN) Q_DECLARE_METATYPE(TDisplayMode) void tst_QPixmap::fromSymbianCFbsBitmap_data() @@ -1206,6 +1208,45 @@ void tst_QPixmap::fromSymbianCFbsBitmap() CleanupStack::PopAndDestroy(3); } + +void tst_QPixmap::toSymbianCFbsBitmap_data() +{ + QTest::addColumn("red"); + QTest::addColumn("green"); + QTest::addColumn("blue"); + + QTest::newRow("red") << 255 << 0 << 0; + QTest::newRow("green") << 0 << 255 << 0; + QTest::newRow("blue") << 0 << 0 << 255; +} + +void tst_QPixmap::toSymbianCFbsBitmap() +{ + QFETCH(int, red); + QFETCH(int, green); + QFETCH(int, blue); + + QPixmap pm(100, 100); + pm.fill(QColor(red, green, blue)); + + CFbsBitmap *bitmap = pm.toSymbianCFbsBitmap(); + + QVERIFY(bitmap != 0); + + // Verify size + QCOMPARE(100, (int) bitmap->SizeInPixels().iWidth); + QCOMPARE(100, (int) bitmap->SizeInPixels().iHeight); + + // Verify pixel color + TRgb pixel; + bitmap->GetPixel(pixel, TPoint(0,0)); + QCOMPARE((int)pixel.Red(), red); + QCOMPARE((int)pixel.Green(), green); + QCOMPARE((int)pixel.Blue(), blue); + + // Clean up + delete bitmap; +} #endif void tst_QPixmap::onlyNullPixmapsOutsideGuiThread() -- cgit v0.12 From 7d4ef9167249df5f00831dc07e57705eb1ddd22a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 3 Feb 2010 10:36:15 +0100 Subject: Update changes-4.6.2. --- dist/changes-4.6.2 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2 index 58dcf0e..292b3ef 100644 --- a/dist/changes-4.6.2 +++ b/dist/changes-4.6.2 @@ -49,6 +49,10 @@ QtGui - QBmpHandler * [QTBUG-7530] Fixed an infinite loop that could occur when reading invalid BMP images. + - QGraphicsEffect + * [QTBUG-6901] Fixed performance problem when translating items with + graphics effects. + - QImage * [QTBUG-7231] Avoid an unnecessary copy in QImage::scaled(). -- cgit v0.12 From 2a8d20453926082062246fc4cc788f88ea3c59ae Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Wed, 3 Feb 2010 11:37:24 +0200 Subject: S60 softkey refactoring (support for merging, priorities and menus) Implemented features: Softkey Merging: Widget can set only one softkey and set flag that rest of the softkeys shall be taken from parent. Priority Handling: If multiple sokftkeys with same role are set, the highest priority action gets displayed. Custom Softkey Menu: By setting QMenu to QAction and assigning a softkey role for that action, the native menubar will be displayed when sofkey is clicked. Softkey Image: Initial code for implementing sofkey image support, the final implementation is still pending legal acceptance to use eiksoftkeyimage.h header file which is under EPL license. Task-number: QTBUG-7315 Review-By: Sami Merila Review-By: Jason Barron --- src/corelib/global/qnamespace.h | 3 + src/corelib/global/qnamespace.qdoc | 15 +- src/gui/kernel/kernel.pri | 53 +++-- src/gui/kernel/qsoftkeymanager.cpp | 209 ++++++----------- src/gui/kernel/qsoftkeymanager_common_p.h | 82 +++++++ src/gui/kernel/qsoftkeymanager_p.h | 22 +- src/gui/kernel/qsoftkeymanager_s60.cpp | 366 ++++++++++++++++++++++++++++++ src/gui/kernel/qsoftkeymanager_s60_p.h | 109 +++++++++ src/gui/kernel/qt_s60_p.h | 6 + src/gui/widgets/qmainwindow.cpp | 2 - src/gui/widgets/qmenu_p.h | 7 +- src/gui/widgets/qmenu_symbian.cpp | 34 ++- src/gui/widgets/qmenubar.cpp | 2 +- 13 files changed, 727 insertions(+), 183 deletions(-) create mode 100644 src/gui/kernel/qsoftkeymanager_common_p.h create mode 100644 src/gui/kernel/qsoftkeymanager_s60.cpp create mode 100644 src/gui/kernel/qsoftkeymanager_s60_p.h diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 38e1886..177bee4 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -497,6 +497,9 @@ public: WA_WState_AcceptedTouchBeginEvent = 122, WA_TouchPadAcceptSingleTouchEvents = 123, + WA_MergeSoftkeys = 124, + WA_MergeSoftkeysRecursively = 125, + // Add new attributes before this line WA_AttributeCount }; diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index 871dd5c..6627c76 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -524,11 +524,11 @@ receiver are in the same thread. Same as QueuedConnection, if the emitter and receiver are in different threads. - \value DirectConnection + \value DirectConnection The slot is invoked immediately, when the signal is emitted. - \value QueuedConnection + \value QueuedConnection The slot is invoked when control returns to the event loop of the receiver's thread. The slot is executed in the receiver's thread. @@ -1243,6 +1243,17 @@ \value WA_TouchPadAcceptSingleTouchEvents Allows touchpad single touch events to be sent to the widget. + \value WA_MergeSoftkeys Allows widget to merge softkeys with parent widget, + i.e. widget can set only one softkeys and request softkey implementation + to take rest of the softkeys from the parent. Note parents are traversed until + WA_MergeSoftkeys is not set. See also Qt::WA_MergeSoftkeysRecursively + This attribute currently has effect only on Symbian platforms + + \value WA_MergeSoftkeysRecursively Allows widget to merge softkeys recursively + with all parents. If this attribute is set, the widget parents are traversed until + window boundary (widget without parent or dialog) is found. + This attribute currently has effect only on Symbian platforms + \omitvalue WA_SetLayoutDirection \omitvalue WA_InputMethodTransparent \omitvalue WA_WState_CompressKeys diff --git a/src/gui/kernel/kernel.pri b/src/gui/kernel/kernel.pri index f2bd288..0993b86 100644 --- a/src/gui/kernel/kernel.pri +++ b/src/gui/kernel/kernel.pri @@ -7,7 +7,7 @@ PRECOMPILED_HEADER = kernel/qt_gui_pch.h KERNEL_P= kernel HEADERS += \ kernel/qaction.h \ - kernel/qaction_p.h \ + kernel/qaction_p.h \ kernel/qactiongroup.h \ kernel/qapplication.h \ kernel/qapplication_p.h \ @@ -37,8 +37,8 @@ HEADERS += \ kernel/qstackedlayout.h \ kernel/qtooltip.h \ kernel/qwhatsthis.h \ - kernel/qwidget.h \ - kernel/qwidget_p.h \ + kernel/qwidget.h \ + kernel/qwidget_p.h \ kernel/qwidgetaction.h \ kernel/qwidgetaction_p.h \ kernel/qwindowdefs.h \ @@ -49,6 +49,7 @@ HEADERS += \ kernel/qgesturerecognizer.h \ kernel/qgesturemanager_p.h \ kernel/qsoftkeymanager_p.h \ + kernel/qsoftkeymanager_common_p.h \ kernel/qguiplatformplugin_p.h SOURCES += \ @@ -84,14 +85,14 @@ SOURCES += \ kernel/qgesturerecognizer.cpp \ kernel/qgesturemanager.cpp \ kernel/qsoftkeymanager.cpp \ - kernel/qdesktopwidget.cpp \ + kernel/qdesktopwidget.cpp \ kernel/qguiplatformplugin.cpp win32 { DEFINES += QT_NO_DIRECTDRAW - HEADERS += \ - kernel/qwinnativepangesturerecognizer_win_p.h + HEADERS += \ + kernel/qwinnativepangesturerecognizer_win_p.h SOURCES += \ kernel/qapplication_win.cpp \ @@ -103,30 +104,34 @@ win32 { kernel/qsound_win.cpp \ kernel/qwidget_win.cpp \ kernel/qole_win.cpp \ - kernel/qkeymapper_win.cpp \ - kernel/qwinnativepangesturerecognizer_win.cpp + kernel/qkeymapper_win.cpp \ + kernel/qwinnativepangesturerecognizer_win.cpp - !contains(DEFINES, QT_NO_DIRECTDRAW):LIBS += ddraw.lib + !contains(DEFINES, QT_NO_DIRECTDRAW):LIBS += ddraw.lib } symbian { - SOURCES += \ - kernel/qapplication_s60.cpp \ - kernel/qeventdispatcher_s60.cpp \ - kernel/qwidget_s60.cpp \ - kernel/qcursor_s60.cpp \ - kernel/qdesktopwidget_s60.cpp \ - kernel/qkeymapper_s60.cpp\ - kernel/qclipboard_s60.cpp\ - kernel/qdnd_s60.cpp \ - kernel/qsound_s60.cpp + SOURCES += \ + kernel/qapplication_s60.cpp \ + kernel/qeventdispatcher_s60.cpp \ + kernel/qwidget_s60.cpp \ + kernel/qcursor_s60.cpp \ + kernel/qdesktopwidget_s60.cpp \ + kernel/qkeymapper_s60.cpp\ + kernel/qclipboard_s60.cpp\ + kernel/qdnd_s60.cpp \ + kernel/qsound_s60.cpp \ + kernel/qsoftkeymanager_s60.cpp - HEADERS += \ - kernel/qt_s60_p.h \ - kernel/qeventdispatcher_s60_p.h - LIBS += -lbafl -lestor + HEADERS += \ + kernel/qt_s60_p.h \ + kernel/qeventdispatcher_s60_p.h \ + kernel/qsoftkeymanager_s60_p.h + + LIBS += -lbafl -lestor - INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE + INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE + INCLUDEPATH += ../3rdparty/s60 } diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index 354f90b..6d108b0 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -41,34 +41,18 @@ #include "qapplication.h" #include "qevent.h" -#ifdef Q_WS_S60 -#include "qstyle.h" -#include "private/qt_s60_p.h" -#endif +#include "qbitmap.h" #include "private/qsoftkeymanager_p.h" #include "private/qobject_p.h" - -#ifndef QT_NO_SOFTKEYMANAGER -QT_BEGIN_NAMESPACE +#include "private/qsoftkeymanager_common_p.h" #ifdef Q_WS_S60 -static const int s60CommandStart = 6000; +#include "private/qsoftkeymanager_s60_p.h" #endif -class QSoftKeyManagerPrivate : public QObjectPrivate -{ - Q_DECLARE_PUBLIC(QSoftKeyManager) - -public: - static void updateSoftKeys_sys(const QList &softKeys); - -private: - QHash keyedActions; - static QSoftKeyManager *self; - static QWidget *softKeySource; -}; +#ifndef QT_NO_SOFTKEYMANAGER +QT_BEGIN_NAMESPACE -QWidget *QSoftKeyManagerPrivate::softKeySource = 0; QSoftKeyManager *QSoftKeyManagerPrivate::self = 0; const char *QSoftKeyManager::standardSoftKeyText(StandardSoftKey standardKey) @@ -105,7 +89,12 @@ QSoftKeyManager *QSoftKeyManager::instance() return QSoftKeyManagerPrivate::self; } -QSoftKeyManager::QSoftKeyManager() : QObject(*(new QSoftKeyManagerPrivate), 0) +QSoftKeyManager::QSoftKeyManager() : +#ifdef Q_WS_S60 + QObject(*(new QSoftKeyManagerPrivateS60), 0) +#else + QObject(*(new QSoftKeyManagerPrivate), 0) +#endif { } @@ -115,10 +104,11 @@ QAction *QSoftKeyManager::createAction(StandardSoftKey standardKey, QWidget *act QAction *action = new QAction(QSoftKeyManager::tr(text), actionWidget); QAction::SoftKeyRole softKeyRole = QAction::NoSoftKey; switch (standardKey) { + case MenuSoftKey: // FALL-THROUGH + action->setProperty(MENU_ACTION_PROPERTY, QVariant(true)); // TODO: can be refactored away to use _q_action_menubar case OkSoftKey: case SelectSoftKey: case DoneSoftKey: - case MenuSoftKey: softKeyRole = QAction::PositiveSoftKey; break; case CancelSoftKey: @@ -147,7 +137,7 @@ QAction *QSoftKeyManager::createKeyedAction(StandardSoftKey standardKey, Qt::Key #endif //QT_NO_ACTION } -void QSoftKeyManager::cleanupHash(QObject* obj) +void QSoftKeyManager::cleanupHash(QObject *obj) { Q_D(QSoftKeyManager); QAction *action = qobject_cast(obj); @@ -175,137 +165,78 @@ void QSoftKeyManager::updateSoftKeys() QApplication::postEvent(QSoftKeyManager::instance(), event); } -bool QSoftKeyManager::event(QEvent *e) +bool QSoftKeyManager::appendSoftkeys(const QWidget &source, int level) { -#ifndef QT_NO_ACTION - if (e->type() == QEvent::UpdateSoftKeys) { - QList softKeys; - QWidget *source = QApplication::focusWidget(); - do { - if (source) { - QList actions = source->actions(); - for (int i = 0; i < actions.count(); ++i) { - if (actions.at(i)->softKeyRole() != QAction::NoSoftKey) - softKeys.append(actions.at(i)); - } - - QWidget *parent = source->parentWidget(); - if (parent && softKeys.isEmpty() && !source->isWindow()) - source = parent; - else - break; - } else { - source = QApplication::activeWindow(); - } - } while (source); - - QSoftKeyManagerPrivate::softKeySource = source; - QSoftKeyManagerPrivate::updateSoftKeys_sys(softKeys); - return true; + Q_D(QSoftKeyManager); + bool ret = false; + QList actions = source.actions(); + for (int i = 0; i < actions.count(); ++i) { + if (actions.at(i)->softKeyRole() != QAction::NoSoftKey) { + d->requestedSoftKeyActions.insert(level, actions.at(i)); + ret = true; + } } -#endif //QT_NO_ACTION - return false; + return ret; } -#ifdef Q_WS_S60 -void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList &softkeys) +QWidget *QSoftKeyManager::softkeySource(QWidget *previousSource, bool& recursiveMerging) { - // lets not update softkeys if s60 native dialog or menu is shown - if (QApplication::testAttribute(Qt::AA_S60DontConstructApplicationPanes) - || CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog()) - return; - - CEikButtonGroupContainer* nativeContainer = S60->buttonGroupContainer(); - nativeContainer->DrawableWindow()->SetOrdinalPosition(0); - nativeContainer->DrawableWindow()->SetPointerCapturePriority(1); //keep softkeys available in modal dialog - nativeContainer->DrawableWindow()->SetFaded(EFalse, RWindowTreeNode::EFadeIncludeChildren); - - int position = -1; - bool needsExitButton = true; - QT_TRAP_THROWING( - //Using -1 instead of EAknSoftkeyEmpty to avoid flickering. - nativeContainer->SetCommandL(0, -1, KNullDesC); - nativeContainer->SetCommandL(2, -1, KNullDesC); - ); - - for (int index = 0; index < softkeys.count(); index++) { - const QAction* softKeyAction = softkeys.at(index); - switch (softKeyAction->softKeyRole()) { - // Positive Actions on the LSK - case QAction::PositiveSoftKey: - position = 0; - break; - case QAction::SelectSoftKey: - position = 0; - break; - // Negative Actions on the RSK - case QAction::NegativeSoftKey: - needsExitButton = false; - position = 2; - break; - default: - break; - } - - int command = (softKeyAction->objectName().contains(QLatin1String("_q_menuSoftKeyAction"))) - ? EAknSoftkeyOptions - : s60CommandStart + index; - - // _q_menuSoftKeyAction action is set to "invisible" and all invisible actions are by default - // disabled. However we never want to dim options softkey, even it is set to "invisible" - bool dimmed = (command == EAknSoftkeyOptions) ? false : !softKeyAction->isEnabled(); - - if (position != -1) { - const int underlineShortCut = QApplication::style()->styleHint(QStyle::SH_UnderlineShortcut); - QString iconText = softKeyAction->iconText(); - TPtrC text = qt_QString2TPtrC( underlineShortCut ? softKeyAction->text() : iconText); - QT_TRAP_THROWING( - nativeContainer->SetCommandL(position, command, text); - nativeContainer->DimCommand(command, dimmed); - ); - } + Q_D(QSoftKeyManager); + QWidget *source = NULL; + if (!previousSource) { + // Initial source is primarily focuswidget and secondarily activeWindow + source = QApplication::focusWidget(); + if (!source) + source = QApplication::activeWindow(); + } else { + // Softkey merging is based on four criterias + // 1. Implicit merging is used whenever focus widget does not specify any softkeys + bool implicitMerging = d->requestedSoftKeyActions.isEmpty(); + // 2. Explicit merging with parent is used whenever WA_MergeSoftkeys widget attribute is set + bool explicitMerging = previousSource->testAttribute(Qt::WA_MergeSoftkeys); + // 3. Explicit merging with all parents + recursiveMerging |= previousSource->testAttribute(Qt::WA_MergeSoftkeysRecursively); + // 4. Implicit and explicit merging always stops at window boundary + bool merging = (implicitMerging || explicitMerging || recursiveMerging) && !previousSource->isWindow(); + + source = merging ? previousSource->parentWidget() : NULL; } - - const Qt::WindowType sourceWindowType = QSoftKeyManagerPrivate::softKeySource - ? QSoftKeyManagerPrivate::softKeySource->window()->windowType() - : Qt::Widget; - - if (needsExitButton && sourceWindowType != Qt::Dialog && sourceWindowType != Qt::Popup) - QT_TRAP_THROWING( - nativeContainer->SetCommandL(2, EAknSoftkeyExit, qt_QString2TPtrC(QSoftKeyManager::tr("Exit")))); - - nativeContainer->DrawDeferred(); // 3.1 needs an extra invitation + return source; } -bool QSoftKeyManager::handleCommand(int command) +bool QSoftKeyManager::handleUpdateSoftKeys() { - if (command >= s60CommandStart && QSoftKeyManagerPrivate::softKeySource) { - int index = command - s60CommandStart; - const QList& softKeys = QSoftKeyManagerPrivate::softKeySource->actions(); - for (int i = 0, j = 0; i < softKeys.count(); ++i) { - QAction *action = softKeys.at(i); - if (action->softKeyRole() != QAction::NoSoftKey) { - if (j == index) { - QWidget *parent = action->parentWidget(); - if (parent && parent->isEnabled()) { - action->activate(QAction::Trigger); - return true; - } - } - j++; - } + Q_D(QSoftKeyManager); + int level = 0; + d->requestedSoftKeyActions.clear(); + bool recursiveMerging = false; + QWidget *source = softkeySource(NULL, recursiveMerging); + do { + if (source) { + bool added = appendSoftkeys(*source, level); + source = softkeySource(source, recursiveMerging); + level = added ? ++level : level; } - } + } while (source); - return false; + d->updateSoftKeys_sys(); + return true; } -#else - -void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList &) +bool QSoftKeyManager::event(QEvent *e) { +#ifndef QT_NO_ACTION + if (e->type() == QEvent::UpdateSoftKeys) + return handleUpdateSoftKeys(); +#endif //QT_NO_ACTION + return false; } +#ifdef Q_WS_S60 +bool QSoftKeyManager::handleCommand(int command) +{ + return static_cast(QSoftKeyManager::instance()->d_func())->handleCommand(command); +} #endif QT_END_NAMESPACE diff --git a/src/gui/kernel/qsoftkeymanager_common_p.h b/src/gui/kernel/qsoftkeymanager_common_p.h new file mode 100644 index 0000000..460d0dc --- /dev/null +++ b/src/gui/kernel/qsoftkeymanager_common_p.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QSOFTKEYMANAGER_COMMON_P_H +#define QSOFTKEYMANAGER_COMMON_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +QT_BEGIN_HEADER + +#ifndef QT_NO_SOFTKEYMANAGER + +QT_BEGIN_NAMESPACE + +class QSoftKeyManagerPrivate : public QObjectPrivate +{ + Q_DECLARE_PUBLIC(QSoftKeyManager) + +public: + virtual void updateSoftKeys_sys() {}; + +protected: + static QSoftKeyManager *self; + QHash keyedActions; + QMultiHash requestedSoftKeyActions; + +}; + +QT_END_NAMESPACE + +#endif //QT_NO_SOFTKEYMANAGER + +QT_END_HEADER + +#endif // QSOFTKEYMANAGER_COMMON_P_H \ No newline at end of file diff --git a/src/gui/kernel/qsoftkeymanager_p.h b/src/gui/kernel/qsoftkeymanager_p.h index c901a29..ce902fe 100644 --- a/src/gui/kernel/qsoftkeymanager_p.h +++ b/src/gui/kernel/qsoftkeymanager_p.h @@ -63,6 +63,8 @@ QT_BEGIN_NAMESPACE class QSoftKeyManagerPrivate; +const char MENU_ACTION_PROPERTY[] = "_q_menuaction"; + class Q_AUTOTEST_EXPORT QSoftKeyManager : public QObject { Q_OBJECT @@ -79,26 +81,30 @@ public: }; static void updateSoftKeys(); - static QAction *createAction(StandardSoftKey standardKey, QWidget *actionWidget); - static QAction *createKeyedAction(StandardSoftKey standardKey, Qt::Key key, QWidget *actionWidget); - #ifdef Q_WS_S60 static bool handleCommand(int); #endif -private: - QSoftKeyManager(); - static QSoftKeyManager *instance(); - static const char *standardSoftKeyText(StandardSoftKey standardKey); + static QAction *createAction(StandardSoftKey standardKey, QWidget *actionWidget); + static QAction *createKeyedAction(StandardSoftKey standardKey, Qt::Key key, QWidget *actionWidget); protected: bool event(QEvent *e); - Q_DISABLE_COPY(QSoftKeyManager) +private: + QSoftKeyManager(); + static QSoftKeyManager *instance(); + static const char *standardSoftKeyText(StandardSoftKey standardKey); + bool appendSoftkeys(const QWidget &source, int level); + QWidget *softkeySource(QWidget *previousSource, bool& recursiveMerging); + bool handleUpdateSoftKeys(); private Q_SLOTS: void cleanupHash(QObject* obj); void sendKeyEvent(); + +private: + Q_DISABLE_COPY(QSoftKeyManager) }; QT_END_NAMESPACE diff --git a/src/gui/kernel/qsoftkeymanager_s60.cpp b/src/gui/kernel/qsoftkeymanager_s60.cpp new file mode 100644 index 0000000..67ed8b0 --- /dev/null +++ b/src/gui/kernel/qsoftkeymanager_s60.cpp @@ -0,0 +1,366 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qapplication.h" +#include "qevent.h" +#include "qbitmap.h" +#include "qstyle.h" +#include "qmenubar.h" +#include "private/qt_s60_p.h" +#include "private/qmenu_p.h" +#include "private/qsoftkeymanager_p.h" +#include "private/qsoftkeymanager_s60_p.h" +#include "private/qobject_p.h" +//#include +#include + +#ifndef QT_NO_SOFTKEYMANAGER +QT_BEGIN_NAMESPACE + +const int S60_COMMAND_START = 6000; +const int LSK_POSITION = 0; +const int MSK_POSITION = 3; +const int RSK_POSITION = 2; + +QSoftKeyManagerPrivateS60::QSoftKeyManagerPrivateS60() +{ + cachedCbaIconSize[0] = QSize(0,0); + cachedCbaIconSize[1] = QSize(0,0); + skipNextUpdate = false; +} + +bool QSoftKeyManagerPrivateS60::skipCbaUpdate() +{ + // lets not update softkeys if + // 1. We don't have application panes, i.e. cba + // 2. S60 native dialog or menu is shown + if (QApplication::testAttribute(Qt::AA_S60DontConstructApplicationPanes) || + CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog() || skipNextUpdate) { + skipNextUpdate = false; + return true; + } + return false; +} + +void QSoftKeyManagerPrivateS60::ensureCbaVisibilityAndResponsiviness(CEikButtonGroupContainer &cba) +{ + RDrawableWindow *cbaWindow = cba.DrawableWindow(); + Q_ASSERT_X(cbaWindow, Q_FUNC_INFO, "Native CBA does not have window!"); + // Make sure CBA is visible, i.e. CBA window is on top + cbaWindow->SetOrdinalPosition(0); + // Qt shares same CBA instance between top-level widgets, + // make sure we are not faded by underlying window. + cbaWindow->SetFaded(EFalse, RWindowTreeNode::EFadeIncludeChildren); + // Modal dialogs capture pointer events, but shared cba instance + // shall stay responsive. Raise pointer capture priority to keep + // softkeys responsive in modal dialogs + cbaWindow->SetPointerCapturePriority(1); +} + +void QSoftKeyManagerPrivateS60::clearSoftkeys(CEikButtonGroupContainer &cba) +{ + QT_TRAP_THROWING( + //Using -1 instead of EAknSoftkeyEmpty to avoid flickering. + cba.SetCommandL(0, -1, KNullDesC); + // TODO: Should we clear also middle SK? + cba.SetCommandL(2, -1, KNullDesC); + ); + realSoftKeyActions.clear(); +} + +QString QSoftKeyManagerPrivateS60::softkeyText(QAction &softkeyAction) +{ + // In S60 softkeys and menu items do not support key accelerators (i.e. + // CTRL+X). Therefore, removing the accelerator characters from both softkey + // and menu item texts. + const int underlineShortCut = QApplication::style()->styleHint(QStyle::SH_UnderlineShortcut); + QString iconText = softkeyAction.iconText(); + return underlineShortCut ? softkeyAction.text() : iconText; +} + +QAction *QSoftKeyManagerPrivateS60::highestPrioritySoftkey(QAction::SoftKeyRole role) +{ + QAction *ret = NULL; + // Priority look up is two level + // 1. First widget with softkeys always has highest priority + for (int level = 0; !ret; level++) { + // 2. Highest priority action within widget + QList actions = requestedSoftKeyActions.values(level); + if (actions.isEmpty()) + break; + qSort(actions.begin(), actions.end(), QSoftKeyManagerPrivateS60::actionPriorityMoreThan); + foreach (QAction *action, actions) { + if (action->softKeyRole() == role) { + ret = action; + break; + } + } + } + return ret; +} + +bool QSoftKeyManagerPrivateS60::actionPriorityMoreThan(const QAction *firstItem, const QAction *secondItem) +{ + return firstItem->priority() > secondItem->priority(); +} + +void QSoftKeyManagerPrivateS60::setNativeSoftkey(CEikButtonGroupContainer &cba, + TInt position, TInt command, const TDesC &text) +{ + // Calling SetCommandL causes CBA redraw + QT_TRAP_THROWING(cba.SetCommandL(position, command, text)); +} + +bool QSoftKeyManagerPrivateS60::isOrientationLandscape() +{ + // Hard to believe that there is no public API in S60 to + // get current orientation. This workaround works with currently supported resolutions + return S60->screenHeightInPixels < S60->screenWidthInPixels; +} + +QSize QSoftKeyManagerPrivateS60::cbaIconSize(CEikButtonGroupContainer *cba, int position) +{ + Q_UNUSED(cba); + Q_UNUSED(position); + + // Will be implemented when EikSoftkeyImage usage license wise is OK +/* + const int index = isOrientationLandscape() ? 0 : 1; + if(cachedCbaIconSize[index].isNull()) { + // Only way I figured out to get CBA icon size without RnD SDK, was + // Only way I figured out to get CBA icon size without RnD SDK, was + // to set some dummy icon to CBA first and then ask CBA button CCoeControl::Size() + // The returned value is cached to avoid unnecessary icon setting every time. + const bool left = (position == LSK_POSITION); + if(position == LSK_POSITION || position == RSK_POSITION) { + CEikImage* tmpImage = NULL; + QT_TRAP_THROWING(tmpImage = new (ELeave) CEikImage); + EikSoftkeyImage::SetImage(cba, *tmpImage, left); // Takes myimage ownership + int command = S60_COMMAND_START + position; + setNativeSoftkey(*cba, position, command, KNullDesC()); + cachedCbaIconSize[index] = qt_TSize2QSize(cba->ControlOrNull(command)->Size()); + EikSoftkeyImage::SetLabel(cba, left); + } + } + + return cachedCbaIconSize[index]; +*/ + return QSize(); +} + +bool QSoftKeyManagerPrivateS60::setSoftkeyImage(CEikButtonGroupContainer *cba, + QAction &action, int position) +{ + bool ret = false; + Q_UNUSED(cba); + Q_UNUSED(action); + Q_UNUSED(position); + + // Will be implemented when EikSoftkeyImage usage license wise is OK + /* + const bool left = (position == LSK_POSITION); + if(position == LSK_POSITION || position == RSK_POSITION) { + QIcon icon = action.icon(); + if (!icon.isNull()) { + QPixmap pm = icon.pixmap(cbaIconSize(cba, position)); + pm = pm.scaled(cbaIconSize(cba, position)); + QBitmap mask = pm.mask(); + if (mask.isNull()) { + mask = QBitmap(pm.size()); + mask.fill(Qt::color1); + } + + CFbsBitmap* nBitmap = pm.toSymbianCFbsBitmap(); + CFbsBitmap* nMask = mask.toSymbianCFbsBitmap(); + + CEikImage* myimage = new (ELeave) CEikImage; + myimage->SetPicture( nBitmap, nMask ); // nBitmap and nMask ownership transfered + + EikSoftkeyImage::SetImage(cba, *myimage, left); // Takes myimage ownership + ret = true; + } else { + // Restore softkey to text based + EikSoftkeyImage::SetLabel(cba, left); + } + } + */ + return ret; +} + +bool QSoftKeyManagerPrivateS60::setSoftkey(CEikButtonGroupContainer &cba, + QAction::SoftKeyRole role, int position) +{ + QAction *action = highestPrioritySoftkey(role); + if (action) { + setSoftkeyImage(&cba, *action, position); + QString text = softkeyText(*action); + TPtrC nativeText = qt_QString2TPtrC(text); + int command = S60_COMMAND_START + position; + setNativeSoftkey(cba, position, command, nativeText); + cba.DimCommand(command, !action->isEnabled()); + realSoftKeyActions.insert(command, action); + return true; + } + return false; +} + +bool QSoftKeyManagerPrivateS60::setLeftSoftkey(CEikButtonGroupContainer &cba) +{ + return setSoftkey(cba, QAction::PositiveSoftKey, LSK_POSITION); +} + +bool QSoftKeyManagerPrivateS60::setMiddleSoftkey(CEikButtonGroupContainer &cba) +{ + // Note: In order to get MSK working, application has to have EAknEnableMSK flag set + // Currently it is not possible very easily) + // For more information see: http://wiki.forum.nokia.com/index.php/Middle_softkey_usage + return setSoftkey(cba, QAction::SelectSoftKey, MSK_POSITION); +} + +bool QSoftKeyManagerPrivateS60::setRightSoftkey(CEikButtonGroupContainer &cba) +{ + if (!setSoftkey(cba, QAction::NegativeSoftKey, RSK_POSITION)) { + Qt::WindowType windowType = Qt::Window; + QAction *action = requestedSoftKeyActions.value(0); + if (action) { + QWidget *actionParent = action->parentWidget(); + Q_ASSERT_X(actionParent, Q_FUNC_INFO, "No parent set for softkey action!"); + + QWidget *actionWindow = actionParent->window(); + Q_ASSERT_X(actionWindow, Q_FUNC_INFO, "Softkey action does not have window!"); + windowType = actionWindow->windowType(); + } + + if (windowType != Qt::Dialog && windowType != Qt::Popup) { + QString text(QSoftKeyManager::tr("Exit")); + TPtrC nativeText = qt_QString2TPtrC(text); + setNativeSoftkey(cba, RSK_POSITION, EAknSoftkeyExit, nativeText); + return true; + } + } + return false; +} + +void QSoftKeyManagerPrivateS60::setSoftkeys(CEikButtonGroupContainer &cba) +{ + int requestedSoftkeyCount = requestedSoftKeyActions.count(); + const int maxSoftkeyCount = 2; // TODO: differs based on orientation ans S60 versions (some have MSK) + if (requestedSoftkeyCount > maxSoftkeyCount) { + // We have more softkeys than available slots + // Put highest priority negative action to RSK and Options menu with rest of softkey actions to LSK + // TODO: Build menu + setLeftSoftkey(cba); + if(AknLayoutUtils::MSKEnabled()) + setMiddleSoftkey(cba); + setRightSoftkey(cba); + } else { + // We have less softkeys than available slots + // Put softkeys to request slots based on role + setLeftSoftkey(cba); + if(AknLayoutUtils::MSKEnabled()) + setMiddleSoftkey(cba); + setRightSoftkey(cba); + } +} + +void QSoftKeyManagerPrivateS60::updateSoftKeys_sys() +{ + //bool status = CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog(); + if (skipCbaUpdate()) + return; + + CEikButtonGroupContainer *nativeContainer = S60->buttonGroupContainer(); + Q_ASSERT_X(nativeContainer, Q_FUNC_INFO, "Native CBA does not exist!"); + ensureCbaVisibilityAndResponsiviness(*nativeContainer); + clearSoftkeys(*nativeContainer); + setSoftkeys(*nativeContainer); + + nativeContainer->DrawDeferred(); // 3.1 needs an extra invitation +} + +bool QSoftKeyManagerPrivateS60::handleCommand(int command) +{ + QAction *action = realSoftKeyActions.value(command); + if (action) { + QVariant property = action->property(MENU_ACTION_PROPERTY); + if (property.isValid() && property.toBool()) { + QT_TRAP_THROWING(S60->menuBar()->TryDisplayMenuBarL()); + } else if (action->menu()) { + // TODO: This is hack, in order to use exising QMenuBar implementation for Symbian + // menubar needs to have widget to which it is associated. Since we want to associate + // menubar to action (which is inherited from QObejct), we create and associate QWidget + // to action and pass that for QMenuBar. This associates the menubar to action, and we + // can have own menubar for each action. + QWidget *actionContainer = action->property("_q_action_widget").value(); + if(!actionContainer) { + actionContainer = new QWidget(action->parentWidget()); + QMenuBar *menuBar = new QMenuBar(actionContainer); + foreach(QAction *menuAction, action->menu()->actions()) { + QMenu *menu = menuAction->menu(); + if(menu) + menuBar->addMenu(action->menu()); + else + menuBar->addAction(menuAction); + } + QVariant v; + v.setValue(actionContainer); + action->setProperty("_q_action_widget", v); + } + qt_symbian_next_menu_from_action(actionContainer); + QT_TRAP_THROWING(S60->menuBar()->TryDisplayMenuBarL()); + // TODO: hack remove, it can happen that IsDisplayingMenuOrDialog return false + // in updateSoftKeys_sys, and we will override menu CBA with our own + skipNextUpdate = true; + } else { + Q_ASSERT(action->softKeyRole() != QAction::NoSoftKey); + QWidget *actionParent = action->parentWidget(); + Q_ASSERT_X(actionParent, Q_FUNC_INFO, "No parent set for softkey action!"); + if (actionParent->isEnabled()) { + action->activate(QAction::Trigger); + return true; + } + } + } + return false; +} + +QT_END_NAMESPACE +#endif //QT_NO_SOFTKEYMANAGER diff --git a/src/gui/kernel/qsoftkeymanager_s60_p.h b/src/gui/kernel/qsoftkeymanager_s60_p.h new file mode 100644 index 0000000..46e3596 --- /dev/null +++ b/src/gui/kernel/qsoftkeymanager_s60_p.h @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QSOFTKEYMANAGER_S60_P_H +#define QSOFTKEYMANAGER_S60_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "private/qobject_p.h" +#include "private/qsoftkeymanager_common_p.h" + +QT_BEGIN_HEADER + +#ifndef QT_NO_SOFTKEYMANAGER + +QT_BEGIN_NAMESPACE + +class CEikButtonGroupContainer; +class QAction; + +class QSoftKeyManagerPrivateS60 : public QSoftKeyManagerPrivate +{ + Q_DECLARE_PUBLIC(QSoftKeyManager) + +public: + QSoftKeyManagerPrivateS60(); + +public: + void updateSoftKeys_sys(); + bool handleCommand(int command); + +private: + bool skipCbaUpdate(); + void ensureCbaVisibilityAndResponsiviness(CEikButtonGroupContainer &cba); + void clearSoftkeys(CEikButtonGroupContainer &cba); + QString softkeyText(QAction &softkeyAction); + QAction *highestPrioritySoftkey(QAction::SoftKeyRole role); + static bool actionPriorityMoreThan(const QAction* item1, const QAction* item2); + void setNativeSoftkey(CEikButtonGroupContainer &cba, TInt position, TInt command, const TDesC& text); + bool isOrientationLandscape(); + QSize cbaIconSize(CEikButtonGroupContainer *cba, int position); + bool setSoftkeyImage(CEikButtonGroupContainer *cba, QAction &action, int position); + bool setSoftkey(CEikButtonGroupContainer &cba, QAction::SoftKeyRole role, int position); + bool setLeftSoftkey(CEikButtonGroupContainer &cba); + bool setMiddleSoftkey(CEikButtonGroupContainer &cba); + bool setRightSoftkey(CEikButtonGroupContainer &cba); + void setSoftkeys(CEikButtonGroupContainer &cba); + +private: + QHash realSoftKeyActions; + QSize cachedCbaIconSize[2]; + bool skipNextUpdate; +}; + + +QT_END_NAMESPACE + +#endif //QT_NO_SOFTKEYMANAGER + +QT_END_HEADER + +#endif // QSOFTKEYMANAGER_S60_P_H diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index 1163055..735ca7a 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -128,6 +128,7 @@ public: static inline RWindowGroup& windowGroup(); static inline CWsScreenDevice* screenDevice(); static inline CCoeAppUi* appUi(); + static inline CEikMenuBar* menuBar(); #ifdef Q_WS_S60 static inline CEikStatusPane* statusPane(); static inline CCoeControl* statusPaneSubPane(TInt aPaneId); @@ -270,6 +271,11 @@ inline CCoeAppUi* QS60Data::appUi() return CCoeEnv::Static()-> AppUi(); } +inline CEikMenuBar* QS60Data::menuBar() +{ + return CEikonEnv::Static()->AppUiFactory()->MenuBar(); +} + #ifdef Q_WS_S60 inline CEikStatusPane* QS60Data::statusPane() { diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp index 1622191..269cd12 100644 --- a/src/gui/widgets/qmainwindow.cpp +++ b/src/gui/widgets/qmainwindow.cpp @@ -119,8 +119,6 @@ void QMainWindowPrivate::init() q->setAttribute(Qt::WA_Hover); #ifdef QT_SOFTKEYS_ENABLED menuBarAction = QSoftKeyManager::createAction(QSoftKeyManager::MenuSoftKey, q); - menuBarAction->setObjectName(QLatin1String("_q_menuSoftKeyAction")); - menuBarAction->setVisible(false); #endif } diff --git a/src/gui/widgets/qmenu_p.h b/src/gui/widgets/qmenu_p.h index b7272f7..aaed6b1 100644 --- a/src/gui/widgets/qmenu_p.h +++ b/src/gui/widgets/qmenu_p.h @@ -71,6 +71,7 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_MENU #ifdef Q_WS_S60 +void qt_symbian_next_menu_from_action(QWidget* actionContainer); void qt_symbian_show_toplevel(CEikMenuPane* menuPane); void qt_symbian_show_submenu(CEikMenuPane* menuPane, int id); #endif // Q_WS_S60 @@ -87,7 +88,7 @@ QT_BEGIN_NAMESPACE typedef void NSMenuItem; # endif //__OBJC__ struct QMacMenuAction { - QMacMenuAction() + QMacMenuAction() #ifndef QT_MAC_USE_COCOA : command(0) #else @@ -124,7 +125,7 @@ typedef QList QMenuMergeList; #ifdef Q_WS_WINCE struct QWceMenuAction { - uint command; + uint command; QPointer action; HMENU menuHandle; QWceMenuAction() : menuHandle(0), command(0) {} @@ -340,7 +341,7 @@ public: QList actionItems; HMENU menuHandle; QWceMenuPrivate(); - ~QWceMenuPrivate(); + ~QWceMenuPrivate(); void addAction(QAction *, QWceMenuAction* =0); void addAction(QWceMenuAction *, QWceMenuAction* =0); void syncAction(QWceMenuAction *); diff --git a/src/gui/widgets/qmenu_symbian.cpp b/src/gui/widgets/qmenu_symbian.cpp index 28b27d4..eae97a6 100644 --- a/src/gui/widgets/qmenu_symbian.cpp +++ b/src/gui/widgets/qmenu_symbian.cpp @@ -81,6 +81,7 @@ static QList nativeMenuBars; static uint qt_symbian_menu_static_cmd_id = QT_SYMBIAN_FIRST_MENU_ITEM; static QPointer widgetWithContextMenu; static QList contextMenuActionList; +static QWidget* actionMenu = NULL; static int contexMenuCommand=0; bool menuExists() @@ -224,8 +225,26 @@ static void rebuildMenu() } #ifdef Q_WS_S60 +void qt_symbian_next_menu_from_action(QWidget *actionContainer) +{ + actionMenu = actionContainer; +} + void qt_symbian_show_toplevel( CEikMenuPane* menuPane) { + if (actionMenu) { + QMenuBarPrivate *mb = 0; + mb = menubars()->value(actionMenu); + qt_symbian_menu_static_cmd_id = QT_SYMBIAN_FIRST_MENU_ITEM; + deleteAll( &symbianMenus ); + Q_ASSERT(mb); + mb->symbian_menubar->rebuild(); + for (int i = 0; i < symbianMenus.count(); ++i) + QT_TRAP_THROWING(menuPane->AddMenuItemL(symbianMenus.at(i)->menuItemData)); + actionMenu = NULL; + return; + } + if (!menuExists()) return; rebuildMenu(); @@ -271,10 +290,16 @@ int QMenuBarPrivate::symbianCommands(int command) void QMenuBarPrivate::symbianCreateMenuBar(QWidget *parent) { Q_Q(QMenuBar); - if (parent && parent->isWindow()){ - menubars()->insert(q->window(), this); - symbian_menubar = new QSymbianMenuBarPrivate(this); - nativeMenuBars.append(q); + if (parent) { + if(parent->isWindow()) { + menubars()->insert(q->window(), this); + symbian_menubar = new QSymbianMenuBarPrivate(this); + nativeMenuBars.append(q); + } else { + menubars()->insert(q->parentWidget(), this); + symbian_menubar = new QSymbianMenuBarPrivate(this); + nativeMenuBars.append(q); + } } } @@ -284,6 +309,7 @@ void QMenuBarPrivate::symbianDestroyMenuBar() int index = nativeMenuBars.indexOf(q); nativeMenuBars.removeAt(index); menubars()->remove(q->window(), this); + menubars()->remove(q->parentWidget(), this); rebuildMenu(); if (symbian_menubar) delete symbian_menubar; diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp index 0e14385..9caadb7 100644 --- a/src/gui/widgets/qmenubar.cpp +++ b/src/gui/widgets/qmenubar.cpp @@ -667,7 +667,7 @@ void QMenuBar::initStyleOption(QStyleOptionMenuItem *option, const QAction *acti \i Application Menu | About \i The application name is fetched from the \c {Info.plist} file (see note below). If this entry is not found no About item - will appear in the Application Menu. + will appear in the Application Menu. \row \i config, options, setup, settings or preferences \i Application Menu | Preferences \i If this entry is not found the Settings item will be disabled -- cgit v0.12 From 7e46016d55a80e9d49797efe34779893d80b71e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sakari=20Peltom=C3=A4ki?= Date: Wed, 3 Feb 2010 10:42:54 +0100 Subject: Proper Fav icon is not shown, for all the links default fav icon shown MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added two functions on QtIcoHandler(inherited from QImageIOHandler): bool supports Option(ImageOption option) const QVariant option(ImageOption option) const implementation of these functions make possible to open fav.ico eg. via web browser. (if using fav.ico icons via webkit, browser should initialize webcore::icondatabase using QWebSettings::enablePersistentStorage() ) Merge-request: 2150 Reviewed-by: Jan-Arve Sæther --- src/plugins/imageformats/ico/qicohandler.cpp | 24 ++++++++++++++++++++++++ src/plugins/imageformats/ico/qicohandler.h | 3 +++ 2 files changed, 27 insertions(+) diff --git a/src/plugins/imageformats/ico/qicohandler.cpp b/src/plugins/imageformats/ico/qicohandler.cpp index b2351fa..4edb87a 100644 --- a/src/plugins/imageformats/ico/qicohandler.cpp +++ b/src/plugins/imageformats/ico/qicohandler.cpp @@ -53,6 +53,7 @@ #include #include #include +#include // These next two structs represent how the icon information is stored // in an ICO file. typedef struct @@ -772,6 +773,29 @@ QtIcoHandler::~QtIcoHandler() delete m_pICOReader; } +QVariant QtIcoHandler::option(ImageOption option) const +{ + if (option == Size) { + QIODevice *device = QImageIOHandler::device(); + qint64 oldPos = device->pos(); + ICONDIRENTRY iconEntry; + if (device->seek(oldPos + ICONDIR_SIZE + (m_currentIconIndex * ICONDIRENTRY_SIZE))) { + if (readIconDirEntry(device, &iconEntry)) { + device->seek(oldPos); + return QSize(iconEntry.bWidth, iconEntry.bHeight); + } + } + if (!device->isSequential()) + device->seek(oldPos); + } + return QVariant(); +} + +bool QtIcoHandler::supportsOption(ImageOption option) const +{ + return option == Size; +} + /*! * Verifies if some values (magic bytes) are set as expected in the header of the file. * If the magic bytes were found, it is assumed that the QtIcoHandler can read the file. diff --git a/src/plugins/imageformats/ico/qicohandler.h b/src/plugins/imageformats/ico/qicohandler.h index b9ef27e..394a5eb 100644 --- a/src/plugins/imageformats/ico/qicohandler.h +++ b/src/plugins/imageformats/ico/qicohandler.h @@ -62,6 +62,9 @@ public: static bool canRead(QIODevice *device); + bool supportsOption(ImageOption option) const; + QVariant option(ImageOption option) const; + private: int m_currentIconIndex; ICOReader *m_pICOReader; -- cgit v0.12 From d53315d30b38352db11063096ee3867a40bdc234 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 3 Feb 2010 11:30:20 +0100 Subject: Revert "QAbstractScrollArea: Wheel over a scrollarea that has only one horizontal scrollbar" This reverts commit 46a3e518b3070cf7cb4cbbb2cb58254454cf169d. This shown to cause more problem than it solved Also update the changelog Reviewed-by: Thierry --- dist/changes-4.6.2 | 3 + src/gui/widgets/qabstractscrollarea.cpp | 11 +-- src/gui/widgets/qabstractslider.cpp | 2 + .../tst_qabstractscrollarea.cpp | 97 +--------------------- 4 files changed, 11 insertions(+), 102 deletions(-) diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2 index 292b3ef..4127e13 100644 --- a/dist/changes-4.6.2 +++ b/dist/changes-4.6.2 @@ -46,6 +46,9 @@ QtCore QtGui ----- + - QAbstractScrollArea + * [QTBUG-1760] Reverted horizontal scrolling with mouse wheel when vertical scrollbar is hidden + - QBmpHandler * [QTBUG-7530] Fixed an infinite loop that could occur when reading invalid BMP images. diff --git a/src/gui/widgets/qabstractscrollarea.cpp b/src/gui/widgets/qabstractscrollarea.cpp index 87f6c83..1d496d5 100644 --- a/src/gui/widgets/qabstractscrollarea.cpp +++ b/src/gui/widgets/qabstractscrollarea.cpp @@ -1134,13 +1134,10 @@ void QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e) void QAbstractScrollArea::wheelEvent(QWheelEvent *e) { Q_D(QAbstractScrollArea); - QScrollBar *const bars[2] = { d->hbar, d->vbar }; - int idx = (e->orientation() == Qt::Vertical) ? 1 : 0; - int other = (idx + 1) % 2; - if (!bars[idx]->isVisible() && bars[other]->isVisible()) - idx = other; // If the scrollbar of the event orientation is hidden, fallback to the other. - - QApplication::sendEvent(bars[idx], e); + if (static_cast(e)->orientation() == Qt::Horizontal) + QApplication::sendEvent(d->hbar, e); + else + QApplication::sendEvent(d->vbar, e); } #endif diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp index 2874647..77c5a01 100644 --- a/src/gui/widgets/qabstractslider.cpp +++ b/src/gui/widgets/qabstractslider.cpp @@ -697,6 +697,8 @@ void QAbstractSlider::wheelEvent(QWheelEvent * e) { Q_D(QAbstractSlider); e->ignore(); + if (e->orientation() != d->orientation && !rect().contains(e->pos())) + return; int stepsToScroll = 0; qreal offset = qreal(e->delta()) / 120; diff --git a/tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp b/tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp index 3e062b8..da83826 100644 --- a/tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp +++ b/tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp @@ -71,8 +71,6 @@ private slots: void viewportCrash(); void task214488_layoutDirection_data(); void task214488_layoutDirection(); - void wheelEvent_data(); - void wheelEvent(); }; tst_QAbstractScrollArea::tst_QAbstractScrollArea() @@ -298,10 +296,10 @@ public: setAttribute(Qt::WA_DropSiteRegistered, true); - startTimer(200); + startTimer(2000); } - void timerEvent(QTimerEvent *) + void timerEvent(QTimerEvent *event) { // should not crash. (void)new QScrollArea(this); @@ -387,96 +385,5 @@ void tst_QAbstractScrollArea::patternBackground() QCOMPARE(image.pixel(QPoint(20,20)) , QColor(Qt::red).rgb()); } -Q_DECLARE_METATYPE(QWheelEvent *); - -void tst_QAbstractScrollArea::wheelEvent_data() -{ - QTest::addColumn("widgetSize"); - QTest::addColumn("initialOffset"); - QTest::addColumn("event"); - QTest::addColumn("movedX"); // -1 , 0 , or 1 - QTest::addColumn("movedY"); - - QPoint pos(100,100); - int delta =-120; - - QTest::newRow("1") << QSize(600,600) << QPoint(50,50) - << new QWheelEvent(pos, delta, 0, 0, Qt::Horizontal) << 1 << 0; - - QTest::newRow("2") << QSize(600,600) << QPoint(50,50) - << new QWheelEvent(pos, delta, 0, 0, Qt::Vertical) << 0 << 1; - - QTest::newRow("3") << QSize(600,600) << QPoint(50,50) - << new QWheelEvent(pos, -delta, 0, 0, Qt::Horizontal) << -1 << 0; - - QTest::newRow("4") << QSize(600,600) << QPoint(50,50) - << new QWheelEvent(pos, -delta, 0, 0, Qt::Vertical) << 0 << -1; - - QTest::newRow("5") << QSize(20,600) << QPoint(0,50) - << new QWheelEvent(pos, delta, 0, 0, Qt::Horizontal) << 0 << 1; - - QTest::newRow("6") << QSize(20,600) << QPoint(0,50) - << new QWheelEvent(pos, delta, 0, 0, Qt::Vertical) << 0 << 1; - - QTest::newRow("7") << QSize(20,600) << QPoint(0,50) - << new QWheelEvent(pos, -delta, 0, 0, Qt::Horizontal) << 0 << -1; - - QTest::newRow("8") << QSize(20,600) << QPoint(0,50) - << new QWheelEvent(pos, -delta, 0, 0, Qt::Vertical) << 0 << -1; - - QTest::newRow("9") << QSize(600,20) << QPoint(50,0) - << new QWheelEvent(pos, delta, 0, 0, Qt::Horizontal) << 1 << 0; - - QTest::newRow("a") << QSize(600,20) << QPoint(50,0) - << new QWheelEvent(pos, delta, 0, 0, Qt::Vertical) << 1 << 0; - - QTest::newRow("b") << QSize(600,20) << QPoint(50,0) - << new QWheelEvent(pos, -delta, 0, 0, Qt::Horizontal) << -1 << 0; - - QTest::newRow("c") << QSize(600,20) << QPoint(50,0) - << new QWheelEvent(pos, -delta, 0, 0, Qt::Vertical) << -1 << 0; -} - - - - -void tst_QAbstractScrollArea::wheelEvent() -{ - QFETCH(QSize, widgetSize); - QFETCH(QPoint, initialOffset); - QFETCH(QWheelEvent *, event); - QFETCH(int, movedX); - QFETCH(int, movedY); - - QScrollArea scrollArea; - scrollArea.resize(200, 200); - QLabel widget("H e l l o"); - widget.resize(widgetSize); - scrollArea.setWidget(&widget); - scrollArea.show(); - QTest::qWait(20); - - scrollArea.verticalScrollBar()->setValue(initialOffset.y()); - scrollArea.horizontalScrollBar()->setValue(initialOffset.x()); - - QCOMPARE(scrollArea.verticalScrollBar()->value(), initialOffset.y()); - QCOMPARE(scrollArea.horizontalScrollBar()->value(), initialOffset.x()); - - QApplication::sendEvent(scrollArea.viewport(), event); - - if(movedX == 0) - QCOMPARE(scrollArea.horizontalScrollBar()->value(), initialOffset.x()); - else - QVERIFY(movedX * scrollArea.horizontalScrollBar()->value() > movedX * initialOffset.x()); - - if(movedY == 0) - QCOMPARE(scrollArea.verticalScrollBar()->value(), initialOffset.y()); - else - QVERIFY(movedY * scrollArea.verticalScrollBar()->value() > movedY * initialOffset.y()); - - delete event; -} - - QTEST_MAIN(tst_QAbstractScrollArea) #include "tst_qabstractscrollarea.moc" -- cgit v0.12 From 787a20b76b7f6e0dd6c7a6331220b46b5eddff79 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 3 Feb 2010 12:17:55 +0100 Subject: revert to fromUtf16() usage in fromWCharArray() this is a public function, so changing its semantics is no option. in fact, it broke qmake on windows (for symbian-abld and wince50smart). Reviewed-by: joerg --- src/corelib/tools/qstring.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 3388500..3ef0e66 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -885,7 +885,7 @@ int QString::grow(int size) QString QString::fromWCharArray(const wchar_t *string, int size) { if (sizeof(wchar_t) == sizeof(QChar)) { - return QString((const QChar *)string, size); + return fromUtf16((const ushort *)string, size); } else { return fromUcs4((uint *)string, size); } -- cgit v0.12 From cc585886ba9da17064a7fc858f5d717967da6e85 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 3 Feb 2010 12:47:34 +0100 Subject: QStyleSheetStyle: Fix combinaison of border-image and border-radius Regression since b4d642e639eabde5d72a4 Task-number: QTBUG-7737 Reviewed-by: Gabriel --- src/gui/styles/qstylesheetstyle.cpp | 2 + .../baseline/css_qtbug7737_borderimageradius.ui | 44 ++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 tests/auto/uiloader/baseline/css_qtbug7737_borderimageradius.ui diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp index 498313b..b36294a 100644 --- a/src/gui/styles/qstylesheetstyle.cpp +++ b/src/gui/styles/qstylesheetstyle.cpp @@ -1125,6 +1125,7 @@ void QRenderRule::fixupBorder(int nativeWidth) void QRenderRule::drawBorderImage(QPainter *p, const QRect& rect) { + setClip(p, rect); static const Qt::TileRule tileMode2TileRule[] = { Qt::StretchTile, Qt::RoundTile, Qt::StretchTile, Qt::RepeatTile, Qt::StretchTile }; @@ -1142,6 +1143,7 @@ void QRenderRule::drawBorderImage(QPainter *p, const QRect& rect) QRect(QPoint(), borderImageData->pixmap.size()), sourceMargins, QTileRules(tileMode2TileRule[borderImageData->horizStretch], tileMode2TileRule[borderImageData->vertStretch])); p->setRenderHint(QPainter::SmoothPixmapTransform, wasSmoothPixmapTransform); + unsetClip(p); } QRect QRenderRule::originRect(const QRect &rect, Origin origin) const diff --git a/tests/auto/uiloader/baseline/css_qtbug7737_borderimageradius.ui b/tests/auto/uiloader/baseline/css_qtbug7737_borderimageradius.ui new file mode 100644 index 0000000..089cb76 --- /dev/null +++ b/tests/auto/uiloader/baseline/css_qtbug7737_borderimageradius.ui @@ -0,0 +1,44 @@ + + + Form + + + + 0 + 0 + 207 + 69 + + + + Form + + + QPushButton { border-image: url("images/pushbutton.png") 5 5 5 5; border-radius:8px; } + + + + + + Border image and radius + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + -- cgit v0.12 From 80e114ad0b7974894858a17153d6f54546835066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Wed, 3 Feb 2010 11:17:19 +0100 Subject: QGraphicsScene: Use QPainter::setClipRect instead of setClipPath if possible. Using QPainter::setClipPath results in complex (and slow) alphamasking so this must be avoided if possible. Task-number: QTBUG-7790 Reviewed-by: samuel --- src/gui/graphicsview/qgraphicsscene.cpp | 18 +++++++++++++++--- src/gui/painting/qpathclipper.cpp | 4 +--- src/gui/painting/qpathclipper_p.h | 2 ++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 842d368..4bfe9ad 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -251,6 +251,7 @@ #endif #include #include +#include // #define GESTURE_DEBUG #ifndef GESTURE_DEBUG @@ -4765,7 +4766,12 @@ void QGraphicsScenePrivate::draw(QGraphicsItem *item, QPainter *painter, const Q painter->setWorldTransform(*transformPtr * *effectTransform); else painter->setWorldTransform(*transformPtr); - painter->setClipPath(item->shape(), Qt::IntersectClip); + QRectF clipRect; + const QPainterPath clipPath(item->shape()); + if (QPathClipper::pathToRect(clipPath, &clipRect)) + painter->setClipRect(clipRect, Qt::IntersectClip); + else + painter->setClipPath(clipPath, Qt::IntersectClip); } // Draw children behind @@ -4801,8 +4807,14 @@ void QGraphicsScenePrivate::draw(QGraphicsItem *item, QPainter *painter, const Q painter->setWorldTransform(*transformPtr); } - if (itemClipsToShape) - painter->setClipPath(item->shape(), Qt::IntersectClip); + if (itemClipsToShape) { + QRectF clipRect; + const QPainterPath clipPath(item->shape()); + if (QPathClipper::pathToRect(clipPath, &clipRect)) + painter->setClipRect(clipRect, Qt::IntersectClip); + else + painter->setClipPath(clipPath, Qt::IntersectClip); + } painter->setOpacity(opacity); if (!item->d_ptr->cacheMode && !item->d_ptr->isWidget) diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp index 7997e77..5702ede 100644 --- a/src/gui/painting/qpathclipper.cpp +++ b/src/gui/painting/qpathclipper.cpp @@ -90,8 +90,6 @@ static QPointF normalize(const QPointF &p) return p / qSqrt(p.x() * p.x() + p.y() * p.y()); } -static bool pathToRect(const QPainterPath &path, QRectF *rect = 0); - struct QIntersection { qreal alphaA; @@ -1660,7 +1658,7 @@ static bool fuzzyCompare(qreal a, qreal b) return qFuzzyCompare(a, b); } -static bool pathToRect(const QPainterPath &path, QRectF *rect) +bool QPathClipper::pathToRect(const QPainterPath &path, QRectF *rect) { if (path.elementCount() != 5) return false; diff --git a/src/gui/painting/qpathclipper_p.h b/src/gui/painting/qpathclipper_p.h index 0d2c049..b900862 100644 --- a/src/gui/painting/qpathclipper_p.h +++ b/src/gui/painting/qpathclipper_p.h @@ -86,6 +86,8 @@ public: bool intersect(); bool contains(); + static bool pathToRect(const QPainterPath &path, QRectF *rect = 0); + private: Q_DISABLE_COPY(QPathClipper) -- cgit v0.12 From 09fe8e377fea67b4279521e3cb08bb937ef65474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Wed, 3 Feb 2010 11:26:50 +0100 Subject: Optimize QPathClipper::pathToRect. Patch speaks for itself :-) Reviewed-by: samuel --- src/gui/painting/qpathclipper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp index 5702ede..bc81514 100644 --- a/src/gui/painting/qpathclipper.cpp +++ b/src/gui/painting/qpathclipper.cpp @@ -1691,7 +1691,7 @@ bool QPathClipper::pathToRect(const QPainterPath &path, QRectF *rect) return false; if (rect) - *rect = QRectF(QPointF(x1, y1), QPointF(x2, y2)); + rect->setCoords(x1, y1, x2, y2); return true; } -- cgit v0.12 From ca57a6e6bb48b468631576c3bd316f6c2b24e0dd Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 3 Feb 2010 14:07:35 +0100 Subject: Compile fix for non-Symbian compilers Putting the code for "case CT_ComboBox:" into {} --- src/gui/styles/qs60style.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index fc435e8..9025e5b 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -2399,13 +2399,14 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt, sz.setHeight(sz.height() + 2 * pixelMetric(PM_FocusFrameVMargin)); break; #ifndef QT_NO_COMBOBOX - case CT_ComboBox: - // Fixing Ui design issues with too wide QComboBoxes and greedy SizeHints - // Make sure, that the combobox says within the screen. - const QSize desktopContentSize = QApplication::desktop()->availableGeometry().size() - -QSize(pixelMetric(PM_LayoutLeftMargin) + pixelMetric(PM_LayoutRightMargin), 0); - sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget). - boundedTo(desktopContentSize); + case CT_ComboBox: { + // Fixing Ui design issues with too wide QComboBoxes and greedy SizeHints + // Make sure, that the combobox says within the screen. + const QSize desktopContentSize = QApplication::desktop()->availableGeometry().size() + -QSize(pixelMetric(PM_LayoutLeftMargin) + pixelMetric(PM_LayoutRightMargin), 0); + sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget). + boundedTo(desktopContentSize); + } break; #endif default: -- cgit v0.12 From 71e2f9d35a922fb0ec8fff40bdc7d2d47d42dd8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Wed, 3 Feb 2010 14:56:43 +0100 Subject: Compiler warning in QAbstractSlider. --- src/gui/widgets/qabstractslider.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp index 77c5a01..dca44a4 100644 --- a/src/gui/widgets/qabstractslider.cpp +++ b/src/gui/widgets/qabstractslider.cpp @@ -214,8 +214,8 @@ QT_BEGIN_NAMESPACE */ QAbstractSliderPrivate::QAbstractSliderPrivate() - : minimum(0), maximum(99), singleStep(1), pageStep(10), - value(0), position(0), pressValue(-1), offset_accumulated(0), tracking(true), + : minimum(0), maximum(99), pageStep(10), value(0), position(0), pressValue(-1), + singleStep(1), offset_accumulated(0), tracking(true), blocktracking(false), pressed(false), invertedAppearance(false), invertedControls(false), orientation(Qt::Horizontal), repeatAction(QAbstractSlider::SliderNoAction) -- cgit v0.12 From 14ee2007fd2ada46e5fe30af838f5a7fcb7c6f4d Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 3 Feb 2010 15:39:43 +0000 Subject: Corrected namespace for Phonon::MMF translatable error strings Error strings are now part of the Phonon::MMF namespace. Reviewed-by: trustme --- src/3rdparty/phonon/mmf/utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty/phonon/mmf/utils.h b/src/3rdparty/phonon/mmf/utils.h index 56ccafc..acad55a 100644 --- a/src/3rdparty/phonon/mmf/utils.h +++ b/src/3rdparty/phonon/mmf/utils.h @@ -44,7 +44,7 @@ enum PanicCode { class Utils { - Q_DECLARE_TR_FUNCTIONS(Utils) + Q_DECLARE_TR_FUNCTIONS(Phonon::MMF) public: /** -- cgit v0.12 From 4b059682ddba4a1fb90c656d7d829680779a2e60 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 3 Feb 2010 15:52:14 +0000 Subject: Added descriptions of translatable strings for Phonon MMF reverb effect Reviewed-by: trustme --- src/3rdparty/phonon/mmf/environmentalreverb.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/3rdparty/phonon/mmf/environmentalreverb.cpp b/src/3rdparty/phonon/mmf/environmentalreverb.cpp index 89f8d60..4a6ce29 100644 --- a/src/3rdparty/phonon/mmf/environmentalreverb.cpp +++ b/src/3rdparty/phonon/mmf/environmentalreverb.cpp @@ -140,55 +140,75 @@ bool EnvironmentalReverb::getParameters(CMdaAudioOutputStream *stream, TUint32 umin, umax; // DecayHFRatio + // Ratio of high-frequency decay time to the value specified by + // DecayTime. effect->DecayHFRatioRange(umin, umax); parameters.append(createParameter( DecayHFRatio, tr("Decay HF ratio (%)"), effect->DecayHFRatio(), umin, umax)); // DecayTime + // Time over which reverberation is diminished. effect->DecayTimeRange(umin, umax); parameters.append(createParameter( DecayTime, tr("Decay time (ms)"), effect->DecayTime(), umin, umax)); // Density + // Delay between first and subsequent reflections. + // Note that the S60 platform documentation does not make clear + // the distinction between this value and the Diffusion value. parameters.append(createParameter( Density, tr("Density (%)"), effect->Density(), 0, 100)); // Diffusion + // Delay between first and subsequent reflections. + // Note that the S60 platform documentation does not make clear + // the distinction between this value and the Density value. parameters.append(createParameter( Diffusion, tr("Diffusion (%)"), effect->Diffusion(), 0, 100)); // ReflectionsDelay + // Amount of delay between the arrival the direct path from the + // source and the arrival of the first reflection. parameters.append(createParameter( ReflectionsDelay, tr("Reflections delay (ms)"), effect->ReflectionsDelay(), 0, effect->ReflectionsDelayMax())); // ReflectionsLevel - effect->ReflectionLevelRange(min, max); + // Amplitude of reflections. This value is corrected by the RoomLevel + // to give the final reflection amplitude. + effect->ReflectionLevelRange(min, max); parameters.append(createParameter( ReflectionsLevel, tr("Reflections level (mB)"), effect->ReflectionsLevel(), min, max, EffectParameter::LogarithmicHint)); // ReverbDelay + // Amount of time between arrival of the first reflection and start of + // the late reverberation. parameters.append(createParameter( ReverbDelay, tr("Reverb delay (ms)"), effect->ReverbDelay(), 0, effect->ReverbDelayMax())); // ReverbLevel + // Amplitude of reverberations. This value is corrected by the + // RoomLevel to give the final reverberation amplitude. effect->ReverbLevelRange(min, max); parameters.append(createParameter( ReverbLevel, tr("Reverb level (mB)"), effect->ReverbLevel(), min, max, EffectParameter::LogarithmicHint)); // RoomHFLevel + // Amplitude of low-pass filter used to attenuate the high frequency + // component of reflected sound. effect->RoomHFLevelRange(min, max); parameters.append(createParameter( RoomHFLevel, tr("Room HF level"), effect->RoomHFLevel(), min, max)); // RoomLevel + // Master volume control for all reflected sound. effect->RoomLevelRange(min, max); parameters.append(createParameter( RoomLevel, tr("Room level (mB)"), effect->RoomLevel(), -- cgit v0.12 From afae62256897a8ed14e3156df33838082c6d4b98 Mon Sep 17 00:00:00 2001 From: Iain Date: Thu, 5 Nov 2009 13:16:41 +0100 Subject: Adjust rw base address for gui built with GCCE for Symbian OS fixed during merge to match new style flag setting. Reviewed-by: Janne Koskinen --- src/gui/gui.pro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 4215f97..8ad3bac 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -54,4 +54,5 @@ DEFINES += Q_INTERNAL_QAPP_SRC symbian:TARGET.UID3=0x2001B2DD # ro-section in gui can exceed default allocated space, so more rw-section little further -symbian-sbsv2: QMAKE_LFLAGS.ARMCC += --rw-base 0x800000" +symbian-sbsv2: QMAKE_LFLAGS.ARMCC += --rw-base 0x800000 +symbian: QMAKE_LFLAGS.GCCE += -Tdata 0xC00000 -- cgit v0.12 From dda8a57c085216db609f822837c50bae38006b4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Wed, 3 Feb 2010 19:39:17 +0100 Subject: QGraphicsWidget is painted twice on the first show. We want to discard all update requests when we there's a full update pending. The problem was that 'updateAll' was reset too early causing update requests to fall through. To prevent this from happening we reset 'updateAll' right before the items are actually painted. Auto-test included. Task-number: QTBUG-6956 --- src/gui/graphicsview/qgraphicsscene.cpp | 7 +++++- tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp | 27 ++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 4bfe9ad..66707fc 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -373,7 +373,10 @@ void QGraphicsScenePrivate::_q_emitUpdated() } } } else { - updateAll = false; + if (views.isEmpty()) { + updateAll = false; + return; + } for (int i = 0; i < views.size(); ++i) views.at(i)->d_func()->processPendingUpdates(); // It's important that we update all views before we dispatch, hence two for-loops. @@ -4604,6 +4607,7 @@ void QGraphicsScenePrivate::drawItems(QPainter *painter, const QTransform *const if (!unpolishedItems.isEmpty()) _q_polishItems(); + updateAll = false; QRectF exposedSceneRect; if (exposedRegion && indexMethod != QGraphicsScene::NoIndex) { exposedSceneRect = exposedRegion->boundingRect().adjusted(-1, -1, 1, 1); @@ -5166,6 +5170,7 @@ void QGraphicsScene::drawItems(QPainter *painter, if (!d->unpolishedItems.isEmpty()) d->_q_polishItems(); + d->updateAll = false; QTransform viewTransform = painter->worldTransform(); Q_UNUSED(options); diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp index d3132fe..526486e 100644 --- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp @@ -164,6 +164,7 @@ private slots: void polishEvent(); void polishEvent2(); void initialShow(); + void initialShow2(); // Task fixes void task236127_bspTreeIndexFails(); @@ -2881,6 +2882,32 @@ void tst_QGraphicsWidget::initialShow() QCOMPARE(widget->repaints, 1); } +void tst_QGraphicsWidget::initialShow2() +{ + class MyGraphicsWidget : public QGraphicsWidget + { public: + MyGraphicsWidget() : repaints(0) {} + int repaints; + void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget*) { ++repaints; } + void polishEvent() { update(); } + }; + + MyGraphicsWidget *widget = new MyGraphicsWidget; + widget->resize(100, 100); + + QGraphicsScene scene(0, 0, 200, 200); + scene.addItem(widget); + + QGraphicsView view(&scene); + view.show(); + // Not using QTest::qWaitForWindowShown(&view); on purpose, because there's + // a bug in qt_x11_wait_for_window_manager that prevents this test + // to pass. Denis is looking into it. + QTest::qWait(300); + + QCOMPARE(widget->repaints, 1); +} + void tst_QGraphicsWidget::QT_BUG_6544_tabFocusFirstUnsetWhenRemovingItems() { QGraphicsScene scene; -- cgit v0.12 From 9962e2d96a212c518054220167eb6f61e1052bcc Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 3 Feb 2010 20:25:38 +0100 Subject: Autotest: to be sure, generate .cpp files with the proper headers too --- tests/auto/qscriptvalue/testgen/gen.py | 57 ++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/tests/auto/qscriptvalue/testgen/gen.py b/tests/auto/qscriptvalue/testgen/gen.py index c14fe86..7161e6b 100755 --- a/tests/auto/qscriptvalue/testgen/gen.py +++ b/tests/auto/qscriptvalue/testgen/gen.py @@ -71,23 +71,46 @@ class Options(): mainTempl = Template("""/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ //////////////////////////////////////////////////////////////// // THIS FILE IS AUTOGENERATED, ALL MODIFICATIONS WILL BE LAST // -- cgit v0.12 From 1677382148ed9e8d037d03a6fcc7bbe40458d69a Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 4 Feb 2010 07:30:37 +1000 Subject: Optimize single-rect IntersectClip in OpenVG using the scissor Task-number: QTBUG-7791 Reviewed-by: Sarah Smith --- src/openvg/qpaintengine_vg.cpp | 46 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index cc9ba77..bff3328 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -188,6 +188,7 @@ public: bool maskValid; // True if vgMask() contains valid data. bool maskIsSet; // True if mask would be fully set if it was valid. + bool scissorMask; // True if scissor is used in place of the mask. bool rawVG; // True if processing a raw VG escape. QRect maskRect; // Rectangle version of mask if it is simple. @@ -355,6 +356,7 @@ void QVGPaintEnginePrivate::init() maskValid = false; maskIsSet = false; + scissorMask = false; rawVG = false; scissorActive = false; @@ -1664,12 +1666,12 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) if (op == Qt::NoClip) { d->maskValid = false; d->maskIsSet = true; + d->scissorMask = false; d->maskRect = QRect(); vgSeti(VG_MASKING, VG_FALSE); return; } -#if defined(QVG_NO_RENDER_TO_MASK) // We don't have vgRenderToMask(), so handle simple QRectF's only. if (path.shape() == QVectorPath::RectangleHint && path.elementCount() == 4 && clipTransformIsSimple(d->transform)) { @@ -1679,8 +1681,10 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) QRectF rect(points[0], points[1], points[2] - points[0], points[5] - points[1]); clip(rect.toRect(), op); + return; } -#else + +#if !defined(QVG_NO_RENDER_TO_MASK) QPaintDevice *pdev = paintDevice(); int width = pdev->width(); int height = pdev->height(); @@ -1711,6 +1715,7 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) vgSeti(VG_MASKING, VG_TRUE); d->maskValid = true; d->maskIsSet = false; + d->scissorMask = false; #endif } @@ -1731,6 +1736,7 @@ void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op) { d->maskValid = false; d->maskIsSet = true; + d->scissorMask = false; d->maskRect = QRect(); vgSeti(VG_MASKING, VG_FALSE); } @@ -1746,6 +1752,7 @@ void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op) vgSeti(VG_MASKING, VG_FALSE); d->maskValid = false; d->maskIsSet = true; + d->scissorMask = false; d->maskRect = QRect(); } else { // Special case: if the intersection of the system @@ -1763,6 +1770,7 @@ void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op) if (clip.rectCount() != 1) { d->maskValid = false; d->maskIsSet = false; + d->scissorMask = false; d->maskRect = QRect(); d->modifyMask(this, VG_FILL_MASK, r); break; @@ -1771,6 +1779,7 @@ void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op) } d->maskValid = false; d->maskIsSet = false; + d->scissorMask = true; d->maskRect = clipRect; vgSeti(VG_MASKING, VG_FALSE); updateScissor(); @@ -1781,13 +1790,30 @@ void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op) case Qt::IntersectClip: { QRect r = d->transform.mapRect(rect); - if (d->maskIsSet && isDefaultClipRect(r)) { + if (!d->maskValid) { + // Mask has not been used yet, so intersect with + // the previous scissor-based region in maskRect. + if (d->scissorMask) + r = r.intersect(d->maskRect); + if (isDefaultClipRect(r)) { + // The clip is the full window, so turn off clipping. + d->maskIsSet = true; + d->maskRect = QRect(); + } else { + // Activate the scissor on a smaller maskRect. + d->maskIsSet = false; + d->maskRect = r; + } + d->scissorMask = true; + updateScissor(); + } else if (d->maskIsSet && isDefaultClipRect(r)) { // Intersecting a full-window clip with a full-window // region is the same as turning off clipping. if (d->maskValid) vgSeti(VG_MASKING, VG_FALSE); d->maskValid = false; d->maskIsSet = true; + d->scissorMask = false; d->maskRect = QRect(); } else { d->modifyMask(this, VG_INTERSECT_MASK, r); @@ -1829,6 +1855,7 @@ void QVGPaintEngine::clip(const QRegion ®ion, Qt::ClipOperation op) { d->maskValid = false; d->maskIsSet = true; + d->scissorMask = false; d->maskRect = QRect(); vgSeti(VG_MASKING, VG_FALSE); } @@ -1844,6 +1871,7 @@ void QVGPaintEngine::clip(const QRegion ®ion, Qt::ClipOperation op) vgSeti(VG_MASKING, VG_FALSE); d->maskValid = false; d->maskIsSet = true; + d->scissorMask = false; d->maskRect = QRect(); } else { // Special case: if the intersection of the system @@ -1857,12 +1885,14 @@ void QVGPaintEngine::clip(const QRegion ®ion, Qt::ClipOperation op) if (clip.rectCount() == 1) { d->maskValid = false; d->maskIsSet = false; + d->scissorMask = true; d->maskRect = clip.boundingRect(); vgSeti(VG_MASKING, VG_FALSE); updateScissor(); } else { d->maskValid = false; d->maskIsSet = false; + d->scissorMask = false; d->maskRect = QRect(); d->modifyMask(this, VG_FILL_MASK, r); } @@ -1887,6 +1917,7 @@ void QVGPaintEngine::clip(const QRegion ®ion, Qt::ClipOperation op) vgSeti(VG_MASKING, VG_FALSE); d->maskValid = false; d->maskIsSet = true; + d->scissorMask = false; d->maskRect = QRect(); } else { d->modifyMask(this, VG_INTERSECT_MASK, r); @@ -1965,6 +1996,7 @@ void QVGPaintEngine::clip(const QPainterPath &path, Qt::ClipOperation op) if (op == Qt::NoClip) { d->maskValid = false; d->maskIsSet = true; + d->scissorMask = false; d->maskRect = QRect(); vgSeti(VG_MASKING, VG_FALSE); return; @@ -2000,6 +2032,7 @@ void QVGPaintEngine::clip(const QPainterPath &path, Qt::ClipOperation op) vgSeti(VG_MASKING, VG_TRUE); d->maskValid = true; d->maskIsSet = false; + d->scissorMask = false; #else QPaintEngineEx::clip(path, op); #endif @@ -2043,6 +2076,7 @@ void QVGPaintEnginePrivate::modifyMask vgSeti(VG_MASKING, VG_TRUE); maskValid = true; maskIsSet = false; + scissorMask = false; } void QVGPaintEnginePrivate::modifyMask @@ -2064,6 +2098,7 @@ void QVGPaintEnginePrivate::modifyMask vgSeti(VG_MASKING, VG_TRUE); maskValid = true; maskIsSet = false; + scissorMask = false; } #endif // !QVG_SCISSOR_CLIP @@ -2096,7 +2131,7 @@ void QVGPaintEngine::updateScissor() { #if !defined(QVG_SCISSOR_CLIP) // Combine the system clip with the simple mask rectangle. - if (!d->maskRect.isNull()) { + if (d->scissorMask) { if (region.isEmpty()) region = d->maskRect; else @@ -2187,6 +2222,7 @@ void QVGPaintEngine::clipEnabledChanged() // Replay the entire clip stack to put the mask into the right state. d->maskValid = false; d->maskIsSet = true; + d->scissorMask = false; d->maskRect = QRect(); s->clipRegion = defaultClipRegion(); d->replayClipOperations(); @@ -2196,6 +2232,7 @@ void QVGPaintEngine::clipEnabledChanged() vgSeti(VG_MASKING, VG_FALSE); d->maskValid = false; d->maskIsSet = false; + d->scissorMask = false; d->maskRect = QRect(); } #endif @@ -3398,6 +3435,7 @@ void QVGPaintEngine::restoreState(QPaintEngine::DirtyFlags dirty) QPaintEngine::DirtyClipEnabled)) != 0) { d->maskValid = false; d->maskIsSet = false; + d->scissorMask = false; d->maskRect = QRect(); clipEnabledChanged(); } -- cgit v0.12 From 4c84020bd1c049ce82e0deb77196829616b91f4a Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 4 Feb 2010 10:12:14 +1000 Subject: Use OpenVG scissor on 90/180/270 rotations and simple clips. Task-number: QTBUG-7864 Reviewed-by: Sarah Smith --- src/openvg/qpaintengine_vg.cpp | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index bff3328..6813d2f 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -1544,7 +1544,28 @@ void QVGPaintEngine::stroke(const QVectorPath &path, const QPen &pen) static inline bool clipTransformIsSimple(const QTransform& transform) { QTransform::TransformationType type = transform.type(); - return (type == QTransform::TxNone || type == QTransform::TxTranslate); + if (type == QTransform::TxNone || type == QTransform::TxTranslate) + return true; + if (type == QTransform::TxRotate) { + // Check for 0, 90, 180, and 270 degree rotations. + // (0 might happen after 4 rotations of 90 degrees). + qreal m11 = transform.m11(); + qreal m12 = transform.m12(); + qreal m21 = transform.m21(); + qreal m22 = transform.m22(); + if (m11 == 0.0f && m22 == 0.0f) { + if (m12 == 1.0f && m21 == -1.0f) + return true; // 90 degrees. + else if (m12 == -1.0f && m21 == 1.0f) + return true; // 270 degrees. + } else if (m12 == 0.0f && m21 == 0.0f) { + if (m11 == -1.0f && m22 == -1.0f) + return true; // 180 degrees. + else if (m11 == 1.0f && m22 == 1.0f) + return true; // 0 degrees. + } + } + return false; } #if defined(QVG_SCISSOR_CLIP) @@ -2351,12 +2372,7 @@ bool QVGPaintEngine::clearRect(const QRectF &rect, const QColor &color) Q_D(QVGPaintEngine); QVGPainterState *s = state(); if (!s->clipEnabled || s->clipOperation == Qt::NoClip) { - // The transform will either be identity or a simple translation, - // so do a simpler version of "r = d->transform.map(rect).toRect()". - QRect r = QRect(qRound(rect.x() + d->transform.dx()), - qRound(rect.y() + d->transform.dy()), - qRound(rect.width()), - qRound(rect.height())); + QRect r = d->transform.mapRect(rect).toRect(); int height = paintDevice()->height(); if (d->clearColor != color || d->clearOpacity != s->opacity) { VGfloat values[4]; -- cgit v0.12 From 264f4451667e7da90e63cf87a2b4a6eb72a14d3b Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 4 Feb 2010 15:02:41 +1000 Subject: Rhys Weatherley's changes for 4.6.2 --- dist/changes-4.6.2 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2 index d768988..00509ed 100644 --- a/dist/changes-4.6.2 +++ b/dist/changes-4.6.2 @@ -67,8 +67,13 @@ QtNetwork QtOpenGL -------- - - foo - * bar + - [QTBUG-7490] Better support for user-generated binary shaders. + +QtOpenVG +-------- + + - [QTBUG-7791] Optimize single-rect IntersectClip in OpenVG using the scissor. + - [QTBUG-7864] Use OpenVG scissor on 90/180/270 rotations and simple clips. QtScript -------- -- cgit v0.12 From 39523f9f78a7c93643924711b1ed8006ebfcf5ce Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 4 Feb 2010 09:54:47 +0100 Subject: Fix the QAbstractSlider autotest. This reverts part of commit d53315d30b38352db11063096ee3867a40bdc234. --- src/gui/widgets/qabstractslider.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp index dca44a4..defebb9 100644 --- a/src/gui/widgets/qabstractslider.cpp +++ b/src/gui/widgets/qabstractslider.cpp @@ -697,8 +697,6 @@ void QAbstractSlider::wheelEvent(QWheelEvent * e) { Q_D(QAbstractSlider); e->ignore(); - if (e->orientation() != d->orientation && !rect().contains(e->pos())) - return; int stepsToScroll = 0; qreal offset = qreal(e->delta()) / 120; -- cgit v0.12 ]x H l̟\pIJw:'6o th@vO7rv~!Yd(EX GLA~UeY=i:=/:behIO7ý}k? {{_]XnK**jx!nd>FA 8?DEaͦ:Bra1}|b12 E<҅=f)& Fۨ{ 3`5Nd"1*`ţРTqA+=Q!~JaAݡU^ӡz`/ف,oƫ7Cs`D(fL/ C?^#iqY:66L#q^ӑO2Dj0LJp`XKCJXkBQAk 57BE0нT*p#cj٨򤘗5Z5H% LO}H@*_Vwa/c(>b:% z (!!F=~KzԢ7ݾy$` yxBo*!|;oC6 C;6ڐz*lA&6rZ8>P+ ꧋S?BhhqBA:/j Hc'3N!C^8 xnFl0hXMJQj ljm0Ptkb}\WN ‹ϝ]xpO@!\7: 8"uL>#ac4 G<5B/U>]rዑ/x>țgn&2VWI9TRZQc`Cczx_$^CdO &jaPZBE@jA0i@Ny@VŐ)TJE.fQ`GK/pAbr7ؽB)OG Bxm{HR0࡮C1'0Mhx~ٳ{z}u_֔{V{%(ҁWQ J|]9fp)3ܜx%gJ{AV=˟bffᦉm /"H z/k'+7Bx\J/ <H1:#Ddq"*ږ jyP# ]"Q h/NizG8M鬸M0 z:#߸fa@Џ5 4 9͞^_u9ׇT+Q g"y\|{޶͵OtسNf0<6W eaEO/ܡ'A<??~fzUB"6R !P;JRuTօbNAx~fx|;O iNh!WC %H$V q@#ѧaه~?~q*{#T(vfsMn#5J[o~^G_Lt|#hj8w'YB]l&bىmH;f:Ni WKjiRq8O(< 02~pF`hX)TPA䀑|WWN>k/HzO|EWW/xS>xtvO%'g׽R+"BI ϿOv=%Xre7aRsukrC5C d H$Ru jҨR,m.`Ӭ+4%~~I/*>TQk!]%-Mjvۋ6 ^f]Sz+kJЭm6˅`Qff^HJ_ȤD&'K,j8,VͰW-+e[‹ˣNM: }HKSRqtLLIf\[yQS)ܹ!Y8#Cr-ImV6-{'Pհ:aaĭ!]@,8+I@]񠏼H3@s1%CXјg~1Zݤ˷{~ճCi4Sgt@?.#V_x$Z䈂FJP<8Vy-"T~9ȎJ)d*nZ,- ӭLB*mt}WP-­}!R/+c)-]iEYTGHD5!VBڑ% Ґ*Zw-02+rGnTS-d"*Xƾ%{T./) ѐw`8j$:l(%\a1Xtt ~PJVڀirK0ħv̬w$u9l^&$x}ξ'U!boN 5`X] ?9'ĭYyж<,(ako}:[= zY›R3FeJ֝Ќ;',$_WwO'|Z"P9% 'R}ΣnԺ KTQ p Q)Ψ%Q@9E9 TA^P*!R/6Hˀ5A9cf0kFa ÖȴK.5z MtSN"JLjss;K A+Zw1ha׾zO7,z2jxJ/9և ǡ!Ml/#\#ljƥ6XtUʻegJڒ*L_gKa-gՠc7;QGD0Ϟ 5k鵚dx8 e8-xW&0AL!g./ju ӆ,Y X{ _8&Ĥh$׽R2$Xe<_xs|]= 4JX36 B!PA;G7cmH v;K&Rky%UewADcw=3o_bYkMu*לyaQ1`VB 8S4b&'{C݇A<Zg&{eOoJiTq:no[;go|" [dQ zRv2׌2׋Ե A QAot3'ZY>[h{P6>rb<\P6ƌ+%E#'qbSSʾԪ5()2wWAvl]_jx=XΧץb5YXn]ku^=ݵ2Fuvv,మTcpHې6emWH /ᕬ^70议c+UBo=u1;h9ʗRQ'+m.U*^g$Rdhe.83%|u'YlAnMK!JDY!x~b&7Pru4 8x /+~ yq"cSb+zΔ=nґQ]G)q<|]ꮴuƒ:4h$<$5B%S#P&ST+l/%l~Wcnf˚ =m@ILyw21_7Z&yޯi"9k[o3Υu0K;_X)Q]ja4:^0^dqB㡪 X !GwerRo)rdNph=Zì*(vx*5ڽ`ph{i #s h; 0FJ(s+e{|g,'oW%R<]+0cY4e6i%IIO7Puv5f^#A޴q ֥) 2MU΋G֬&:[Ϫz&%z3;O܉cz#k2V}Bq|^fjyG^B%>Un!5&AE^}>֏d 5mX"0h^{P C|bm0Z?3*;s qYD̶iGꇇG]?KqD'ݿ0FC5SAG$F!ȴ)٢0D*w }'~?}͖|LZܢ|DvNt:ߏRlAj翼߿~`nDxݪ'?VW . ^0p0eL%%AJs0s@3JqƵf=XbP}͜ìIx~pp0H@#A#{=jr(IX)#NV)3P8 ]dTJp 485yPZ&EX@joso38ϤTX:L{Ke/{lzGu 4OHov_vW^㈝;ZҚ56wǴRdOk gOEӍ֯suEUDU^TRCV<{ۿe#a ɸ@$CP"$ ( 9zLC$>T6cY n]%t"zTU8j0O@~^~e`}Y|R}Ph C*MŢaޔn+w(z25"'G&`Nk{w.i&W'~s}O @RR{ J (DGa1qfH/ "kF < y ϷAAQjqwE}8gEpPsó7ӽ(Ɵ߷'ؗ^@XTeߺ(")nrU\߬L@4. QO_QS-1b܁gcIVRư *cuz(B"Rנ"/*{Q&MbpP"O:fqTp 4;(GC:$TR/* :W/w~~}/];É0CE?"=%Tb/g݇/ay!0P\$ĒFg_SҮ~>{xZFwo+(\޵47YnUhQ#rsy^0%RyC[3t{>Q(S;\zJ{yjJyFz/9 ? ,@BiQ$1.hj-kADHhCJS) q-*5Qj4~{$57SD:Yڟ3C Bl$pס42;HD}I/}({~!|TR;^@;wףNh\$kʆP|Z*XNپJ"?à *7Jא9D J55"= C)QȪfOIb«]hpOic'|Ԥc0oG|$Y ΩP)DKȊp@*U-&9D49nP]^;/" :"R'QC6y| O&^} ccΞp,\ ?˹R}3{臐'xN$Y/@,rmf m4jmKJС;we+ Gu*QH7y,zerEgRV-FT24|^k=S9]yZ2@ aQ}Nlho\]irɦi\1,!1/}kJ#{f  YC":۽^YeiSF\ ϳ*hI~yBUaI<߾fݢ&i!?eڝ7}Q{`AhqBޑuN 3$dخ⩨a Yz:74hӳ:'ղԍ=uz]WmPs6m >i&^i*2eN M7a悲O[;8~6wS뚃 7 '!>B'3ϘRdUN.4|زjn.i:}6ylդu)r=ox8ϽʈqhyIHAo%H @Rh!Y/iPuV+Eàt|s2vY ;-$K$QA1e (E!3d J] t Y >iSow[>Y{5ZOnlzz.kY\EwU5ҡkаQdDL$ MHąۈ*ER$'R)zSiVXHS!DQFfS` ^\ 'Y[Y(&:ҕhS[ъ̶ap/WN-9GTM 9tRW?jSvVa~s6k{1(!FG'~"֗L2IJ]" x!0@GIEd }!ȉK %2|⌕9[W0:HF M*srҽdۜ.a"lqTsB% 8!Qň(:$NH!R`S& }g٢IB@UQPU蠹4y/<&"M!qnz?}@}C'Z+G@Ưt>>U_tgJ*Z(%9Qx4N(o*5r*NKt ֱ&qET5|>&C2{%0HRBշd—$߸DGG#sdxVν/rİZ#)qE[ =25DJp=J{i,ޖ[ J"9ڸ3T՜5J.`e{3=[Ҡ=WwpÕNLsS+/3o6 '"A,HWr"{QU)>|}ع*X9+Jbϳm)w=QEsh3N̥;ajPu[`J  .k)O0_f1hVkHBdx)1j=3Avw*iP7Źħ䏈1H53x1pl!ޒ5PVG\P d9Λ2cB$L7mx*ڴB~Y,Wk&(:?^]V1.~u,6iNi=h3^V36;J^4/IyǙ7^ٽ4.ko=VE2dM$zOy͈b2!աX㢂Qnaz^$bQ{xuJյL}frPdIcul3雾Tp'y>7X~/l݂\ ,_X՗:<ד,d٨=̟gMgneطCJ+KcF^{V ΉvVTvjTg5lq,yXz EGnULhq@UXx MNc'؋"j 鷥Z%n=tH-jfunL/,z_!+q7c_T]2¦NWc'6>d:^ /2^,PW`td LoB-lSHs7k/8rإ`[VM7JO*-t ۗ|-]azrf[b4A| Ď+ tD&d5zV,-x]K3E . \~dyAd T,!̪ 8]O!I… =bN{.c9K3QbU̪ʴT7FAO9N6kinw/"GDef2u ;e.}0HMQCCI1@i书Dd|4L R]0nѽ@=J Q3x{ 4!`7 Wc؋Γou׫M7I&CEi1RXy_cm,svmiY>yn{ >n7Gn5׬{i8X ,T8138U=y lIMv2C<, ~ʷdѫzVPOz_goBUw I18 E٢7ȧ>}w`>l>xga,Sឡ֘o0/Xp?:iҥ<)U 'u w0ppqKV,A)!WP׈/ BhP@ a )BhwBBPxߺs_oFX"Cve>-Mx!!/7nU Axh'DI"⮓8Żsni"'.6ۤiX'5E8nbE2f٘,a7!X_>#PY#<}jݺ8l!s42Qω?#AbCor+U;v߲ycdeRA~U%=M#3&D'my(R@nKU&m4dn=T]Ic=lʱaЫ%O VK^ՀeyT⭡PC8;nDXAGPʡ(XF- D%Fhj P㻳R M"Kt*AvBs~}r% XRx$٣]zYf:tUިTC <}CE @<+@COlA1|`RQj-nOr1;=s 6:=ׂ(il Pd J`bP*J+`hᶅ8 L0/+{:)Dp'wppP"1FX^(%CSoZd}td^v^]]R|LY7wMϘo5Ew?S:~'28+!QL4;LYԓ2h[P=VLW1i>4eD'KowpYw  0EO!5BH1Pc4BVvuZZ4"^x98(@xBjV/UNR `C4CPUyj?ӣ{MQjs?uN93㯗3ӽoдqD^ka`6֟^C̾ϭܰ_ZÎm.zV:Mʅg/lH7u$.H`::4`|ϡtU^(1rPߡpJ>ϻF p©AB`3~y²XFPOu㵹޿8J<4ƸMo=rg|z<*yE CN@r/#E 8TE9Uw' 4>E^|=yJ'vv|4H_2:,26cTmg'm~˓dLQa g&CIm6ü{`l`Zt7pR'mN0`" t(3-UF%umeX]YSIk3e`ͦeRb@_N_Lß8 %JњUfpc{qĈ1E~1|P$qfQu"ͩS5qYb(?WƲZֶV2 }Ϯ0&2RYV/wek$*NXm \iu^oi47ţJUhŨ ^Q}\T`dH*RߜuN&e2)[onu֩zTXF2Hhhb8vfkӱ}G]8cƓiú EɧRκJ/'|&;jtՄS.h31yϊǬznKSe-]_ow>:ßN D,@\D=r 4*#^h)ͨnc*aK&6jé@x{m9z$ Oe5sqe)MO'wsNNT7W_-0'Go (22a\J }[JtҖMYq.^eJxnk,~J4= yOpd*貾RKʱCɈf/AW! ֹkΪ5QlSe3t7]=2:- +ݣzO6`Tzˁag#R{l yOLԌ{s^pzo䇤酋xfpR)f2:BRl{yՌx朖? xha\L/F3<~9fܔe2'U%ϱ{<+z5^hWz9G>{VX1\hS]"lD>Ѳ{DKň7+fi)_[)pzgd00 u*Lc " m7(kvy1] ^ c>Oى=_<@*=D(¹Bh WN- PZ)@H:rrDB p*ZQpW>Gϼv;{h ۜpԵ24 ~ ~סkQܶإ:޾w|PFauȁŸY^-}$HA{3{,189yj缤Ej*א{V` CJ/8CwEe^p\HyH3RkKLaGZzBas\EbũչjXA{GQG;ll55-x}i!I{a)}BygD8xJˍʂӓntmB%5==~ftūWuX-=E+1<"##MJEJ!e`t ien[*L[7g/cROL^y42;l]r]^0Z)*e ]+EV?'lq"'/DlV'đYaN ^P1K散m-o7s5mlzd;~c#Ʌ#;i7,RJ8b\7SW6陵@uA-ͤkQ__`E:򩇏]grnήW[6ED@}h:)slŒ{7;ˎuRU_mYStwmul뭨qׇuC;5UrpFx{v+e΂oW/S .jP{B(pՌjPcA;a>TW]j?A &$|1xuVxTu{o%\9%{;\vtrvSVs}KJ#T,ڂڛyڸyNS<8B/CɎ5[xNA{fDiiGkvioRBpCɀ3@6B.u |Q!gJ?8e˻٤b{O;o"ӡMΐZ9_!{4"5Tܨ;n: ܗ1^K|Q3Kn-m4;c2f͸J8K7n1g]dNC~F.p{g0nY;v;ds`gh;0|t է}TIRj#YbA%ER@Ա#)+Ua0>z/ ?ɾ O<+7 HNZ'*u~ΝdrzSִDsL']Ư|ȃ2;ȑ:ĒZ4jrh4h$9>ŮS=iN S8y00,)5/<_O} D(<5 P,\N"'!j T =#orNʵ[W D〴'TG_ "& #ޞQ+3s|XLoB 4lҞ $x 4 ITch XFnw|p/$QNd޴a=Ň5H. o#ꚏ]A)q*h*^̩)Zx^ NAh#Uf,M̏- >ĨOxww]>W]-y}w^G j 3ҟYed+5t1X(&n}u_ O<|C 2ĂqLjjlj ]wARMY@lg~ys6onxEUwV~לT6 [Ӽ=W}2|sԟKx#+Uٽi wfVzgN_ײI|lUŶq{A9:_) h({A(3 P{$ _CQ!y~3ƁL 4G>\;]e$WuiG40qRE̓K||amARL"? e814#<ۘs휰VC Mzx9r`f&t7Pcvfphfu& j@&P\pPƟOlxOlNTpg,痀P4:Pu*˨$پ= 0όJk a˻3t׍cw i+i2]jyIYXye `x=ؐzO~ZԆt$F$wCDmDK +Jhe!B Qzg?I:(nCrGЫ'\NilUɮAWY܏h+E !A{$~ O_KlGw"I|e66G`(x@6#P6(#fl a@F |N> q#sܽB3GCօQ Z4J0C rz7PMDK|n؊)0{11ɗ&P&1tu"\;)A`uҥ&`E*k"7k`E[GPg|NCpTZVYG^{0s^P, VB <z{ ( !8lr7Vg\$'דx;X{lLCkʢ: R{h},4XEVb }Bry\:-l^SD^^ɐ!(vUo,L\v x2#: X"rN9bQl.R x= z-[ZWި ٤p 07nOT#1 ȘCG0[YT6?IZ#+;C d&8*eaC%%k71^9cHyGTkKfqHm\{wQvx=ϣ95>z?7Oz"ŞK^w{:RXf\ڔ؋"|9ɴB8GoyZX]*3ßPr liG>Y-lNR]V`ت]Mx yvC: O<&r{YGv<<4'skVv,~6yԸSut|NWNkxj̵4{(EMy̒rlົ]\7;> J*NpȩjoX^Rܾ67TF$2XarЇѵ,ΕԴG%%V!_lH$GJVfҧbgSN4hD,x};̼X } m9(Ս(_Al{}5NMe}p6G3&Ųڦ$:QrҚaƛ'7d[4h]&M CCH  iq{_#;ǥi #cdR֡7X.m[[Ӫ@|z/wێDxP%GHn}뷴w/h*=Jvtx=q=V-yKiN[hċuU]¥ˡK(^CVUrB<Aq^W2AQޑypkw7iՔV4<5]W!<||Ig}(N$ [VVOΣhl­>zU،uHzr'rՋwI+Y8dX9wY:krTnߨBKnkqfNzbڧ6Ugk8͒I@^k(Mk=7wQV. wٙ'(6B AUw@30b(ڼXpܘ4z!Ӆc~G7'T:HՋqȺuXer2kxsڷ4քo}^9gx6nY/wqQqxw Hȯ;b tFStamlЄ0h= P8V(X3i\Q ˳[=#65O\W3X^y^Tʅٴ[)= jHaUw={PS"|+ԟņ砞Uj=SxՋb0^٬.<ы-}kɨx{[X~Q`C"sC7G+G ծ}t} +V[YלʃavQi5!itzwwCJ@Yۦkf{<)yc,Bux{]<,Ջ 8G1ΊLj9B]Sy(d,6V :!QV[dw˷[.wJ PZLcu.U#H{Qt|a={.i˫uLA+gչdY}/4W U"sVm1}lIV=*᧐߭gR!ޒ^t)tNKݪ~g3&ɶ==_O=oAwn_?@^wlhVBJٵ)3ݷ#BC PPEsAwTOX*u{']x* DF a?Mn|ߪz!4"3Ê3/ߩ:ZCgns~ʚMBܘ QU`I\ gj^8uDmN$~l̹&Wm>$}?EA>-R/l]2;4~u;ǾNqP' bD&朿)Vds[VzMd6Wt+U8M *q1 'MQnɪ(he:Rj{^}NI0SpRv<{N*~XC݇ 6zg=!=" b>)a89r+ |&D@X彋`*7l|t|jL{7jc} e}DQC4) 4p̢w%zFɮTOjO3zz$O`O*O ĵ`J=1lW@; DA`+Lxhn7<^Arᇅj+Rm{}uf*пUypt=<<|Y󌗗0Y*3aa_!\OfPryG,8LJO[dsw}d֑"҄ CA"m*M#w4X&P&I|՜~.L8۠1:ACIu5\\q#38eĪ6d%'тۿNw>/h ^X'>g7Y#H[kow< ;91qtEtI'LH^*wA ,1|OH RF107v}LQf҃iUi֒F;HkVP$od)gP aDY<>fyUe= x=qu*hwa)@ `,4ܰ 1jM_9 88fb) #N?uMɝ^Sx$KqI# slkC|(Pn7~5Cg՝yy%C||ץ6G=o8q`MT> PT]s{+HoL[ Ub1^5t*2ʑulI٭}N{pQyqW o׳ǯ|maO-xpSKYT6{sPy2sGvӯsמ4Zf[Ntbu]$P4s0)P[}B-TCC|V{s[t}ZKEp􊘲Ӥs9Bi!O&8(DF&v;H6ˊjm֍ʹuR4cn=?|!AsXA髤7P"s0fa#]S4IoT;~w1%@LJ;o^e]ԗu0Óλp9,w%n`K "&~^o~.{{y<~`F4:5|uae:;JX鋀3׷Ǜc ݲE^L^X<32 }b^Ri 0-[ +YEžq5}9ʢ}}]?hbWKVD"c|DlUUg'yX/o,{-QVs|Y8\YOp*Vm!i71fY;;in'ңacPB蓏w{|y"1OY̹Xڎm'[+Ĉ҆Rܤylu>ջK򃜹¬[12zw@pQ|ZSn! E|:;qi#;&$ȲUo,:^7 V,CAy\[^XGqpnx"]@fi~ؼ0 .#c"M.}4ZB◨x@I>*&Jm}6P73`仯{^Mo'Ѹ7f,DϣD;U ǜ륤 *N4 ԥtYWts.vӣa@7w$?{C_r5ͬT4͟x }!*iEems^(uc~S!V@vsˏ0CJtFfp~ۊaoD^xY)5'X'%;!"FYWOdˌaT(ܸ?q={iEA }Fڧfj{Za$UybhkTsֵzHnj7s{T0<-Wn湻fX{rςzfT/vSX܈dH`qA[)/vb727]YެH.1k+]L֗9^ #!ަ-6 19v8BDFqwrI 7viY/%X"#%1vQ|V|ss j.b:ëwAuƂ׹^u w}nv< Ì/sK6n{9dՖD>_qYXOy^ຈ8>cѶ<ួs)mܪæet9b dZ5mY\k,2 joAUt2:J+M޵}rXV/|(.P;H#I4I98(LC g i6z"""KAb+)ɏ8cv<4VP}gg귋/m{٪G޳%G`OP9c y; J /a7b +:: g& %5/FT4w8Dn0H>"^EYR or~!|+ h|i7u~H'Lb$POCJUSri-yޏ40nC!s^s]xu j^^kݱGhҽIV/ﵛ%ւRB!yFa41xܮwz;9Rm`H s:܃5fY y)9aw[s 5w̧k{P4LT5a.Er+Ź1;' yے Lv;&Zԁ4HGҧ2 Ai["T,!X-YlPxOᩩ\$Z,/eEL|x/x\͙t!oߩGׇ9d/>q>bY5>>W[Ef3\.nw߰FBÙpA^i/w/tawxi1n@c>LYfm+!. >O`[Okyx@;w?oj ȚR aX: aTW@-Zw1Jb ԮE2b^>>~@ 5٤:9ѽHҬ&`hP!ΝnvN&d`G<-bQ5w sjdn44Gyua#  :BbD}u3#ADrFzU`0q^{W[j4U( <:麉驪Ւd"%ZȺ[RCf Q>rN trA1DJ5){8Z<@Z+|:+ D$JߧNI9ϳٍgw(O :־gGlĚdn֩UUH/lTF4%}= f]jv}xXgYnP"˄;ҺV+.7팭{kaPD53}D>EWi$*P 43)kTᐁI܅D`RfI]n `@) &܌- $i[??wpN(gM>GV=4$R=;:M&ߔꜤFc Oxg=Ɵx+G@v+QrnZC^ :x ? = kW_lf/`=sl&AiJ}MTNe@PYҎ5Fm)Ra` <O%@B`A `R$bm!J MhhM *5ZNhp>ÛCh' &>$2ZMM2=D_?'zɻ^&;gUVٽDt.Rw7RP6TQm޾5hZ V!DCɼKb+ 2VBB)W=q4z$.6?ܿ+J AQ @R#qN49Z;,T2J@ Dj"ywA`S0;yS7yԘ)ĮnP۹>>yPuE-Y>!C C ~PspnxjAry+3Ey} ow&{ݞw x Q:H}NNm,Q[#,DTxV Ǭ>ޯG;ZႂY*)X`:t^U9h)ukVyFY""b`Ȥlkp0@\XO05 2$Raa##W.1Zi*yHphIFf )Q+u{J3D8u,>w,2d/ Z5˿Y9ۚ5k4a,@S(NY2 kǹ]VEXjEwruT('ݳUtZ "amBꆙnV嶔D# B6IG_ &DFjE ~E@hC _$HCAkƠLg0\"'C(`8L$ȬeL"**DajƱСDF@V"AdĨ)[CLK1E#M;F 6Θ^kM}[4o**߹ E? ;OWy0 n5-wEPl>0+]kXpRK">duN{=y$m;QxUswt׾s eӏgKXkvUsH'sL8RԮLdD{÷SL}ΠVjE^0}lH9)ZCL!W0PB E?Bi}8d$ؖ(C %D7" 'xuk7 FF>!v2zx_XXj뻇*Υ{I6F,g0Hz=F= CYZ]ɲ첯r,G.N9p;Jﲈp8{/D^ڄ\φӽsZ|Bww3" z ⶾ&Y}L䨱kT&ۥ݁MYNaH]1b7nlpT,kr ,k5^=U(+jCl_Ǩ{{~JF~H] pgF@JGv=o-<81Yy#6>~L!D~F'S O=ܸ̐ۢ @>d}jijP?2JL# 2##6P;7I^o#оOpXw ]>Vq֗-f– bbߛ@ѵ c1 xXHu,yn,'zk/ɳ~xp  #h{sEdh1)bjq! 4! $ 3'mJ̿rwT73Z McS/ݰ7 1[xKbF+bK"bYym[}$bBGi NW;˺2CWU}2&moB/xi>FKIĽ;B0rCGI]+qA<T;fgoUDBYa V}Q)KqJTUemGp]ϣ<+wcҽL2t]뵌4Tpp_0ޡ苡\mwB弻˽\(3vWJ]|ʣ:FQH=isIe _`0Bm)E/t_AP9MmD՟k2"0C4|r6 '4ɿk;K}nOMp)V2a6y3ѓ6y|=٦IAeraӣvYӘgPڰ}2:<'NQ;KaYtTˆ ~nb/jtbgERMrƖ^+OaIY 4SB+ ¼͘aϮk.i˸Fm8ΓjA`O֓769D_-ej{juı+tï Hf} <|td"4;ߎ|" ɦ/39tT4X1.*+$(<βUTX $vf$^Z` ̓H\ǝ1`wQ81m$^HjJHD#;N8 xN7"09^;a1b@͟/rs{܆mP̿ZcYD/]=i=}ϏY!RZf I]OBgzQ3/>~fwOv1l:\C)*db{LJņ!ԨiBsVT"ޡU60* q6ɊAf_82(bdÌ$Ć<R ) GWP+PJsh ro 5 BH/<*j`'0 *=Z'T(#84A?N;-| S㜍9~TF?9wuI5&Iaf`C{w4Խ}Z}礨_Zǃ]Vz/CEBDx|j<bZqBF{^ o~k"Le}y N^xу+duATԸ.]Z!$T\1TTVQ" TJ)(PwGZXPQ@يŲMMMۻZӽd 1%kd0@k/ l3vpxks^lf`*U!QH) D@)RREQB TP֪U"*U&ͱ%6^yy%BBJQ*E(PJU T%k)H TERjUDR*P J )RR)$$TUUD(IPU@DT(QJE QD"*A*IV$T RAm$)BJ FS4^@IPk IPmfde1 [uv*t6ꪨ]ZmEI f͊hMd$ٕ]qOGxe.xN=|s%T>^}VErFhimp|O9w<qL;u#\o;Js{P/kliMLLձѡ6d!%s}Ϫ<ꇾӼo@뛜=;n9U=ރ{(&L[2DVE1mT*fա6+(HM|O={C|}Gr;Ǽwx/q}>Qm4I(Y+,ɦfL`JRWǍ޶ǩױݚ<:{|*UTVŖ4 Qʊ2AQhZ1D,Jƍ6"a6SkjŪkFڥʵ6VͨclV-QV"Uԛ&4Bl)J5&cT%(ҚKh#FQԛY6JVm%"ee3 ʑA&adI-*bSdRbؚiV)jMU&-*$liYLĤS"jJA443KeJ%&E))(4&JRQ#I3L&ԛF3iQQk&,ֆRkMȴjMѳ"MI 4ɛ3%$4ell4H[2kRLe(1%% 4F͚4LJ&fFd++*i *K( C6`C&6J(R J fYJcFX2ɲfL*2ư&&QIH%bfRLieKB5ESiSViDfL6j6E$&fRͤ3lK!M,i(b3&SHڒڙ2$IfƌM)J,٤14$6Y24C$%&)mTmmMXie2SJDiHIf%%2Sd3)$Kf3I3Zɂ3YCedYXY)IF3)TPdMEM6(5LM iVZT͊3-͔+ hM3!hl(,RCI#R3@f40ē!IeU23"ie,Yl%&$,$M(CQ4HI),ٕf&bL҂("%&jR)Je$+A E0K-$FKEDTh)&d, 4C44Ib+!3(R e2daK%ɤM2eM%ZkU4J4ɚM6)2&T),h2!2b,نd`4QU0b( fLiMM* &dȣ&))2j̥Ii332hdAf$Rċ 4ёKe3H&1fMTVQJiYcL̲ 3YlR1b֛JMSEQƥ3*SclʔM5b[$,ͲcZfKZ% mdiZZmSU6[-MVe[ilbi&X[M62͌%E3i-)i$XVBM(ђ4Jl%62ZJRS&fRXXRjP Fb[6Jda)LQ)1(bIȤ%&DI&EMR6$`IjƦU5V̐đL-A&f&M&dH$))4)RkT`!H52RFQCd̳$&a4ʤeLѴYQU2l43dLb0I365,2cIŲT2%$4̒0L4Thh$64JLJ1&()RI&"ʘ, *-"&VФ(R I(HҒ̴db L6U dl-$fċJM)$ؓAcQ,l͵35Zhc43L$I&A dƈM!"P%(521)!&Q̂ iDbFBjkMI3Z6fda$*H%&$Ɍ,cdTԚddiQfclV(ڐVe(شmmhJlM5IXYQkEEEXHThldclFH1QjM2EhQL+3FlllA2,ة6k-LثCJ6M&֔5j+Y+K-bQiѬѪ+Q)V,hkQFѵ-&5Jm1kPfklQX[TVʵբ+T[mjlT"ɭĊ,bVl[eZkjmjb)ULmfjZZ lFQJ-RV*mEmX5e-Ѫ+QiU5jZMѭIڤ%mVIki6-mZ)-jR6mTkX5MZ5U5*UJږ%cmS55Z6֍b*kZaƒEk%VثjMVɫlmjҖZiYXUJjeMMֶmlҵ-EƪfjMZfYZ+jj*&ZeheX" 3k5)mZ[U`ֵf[jUQiDm-֫EحmfmT6բ[UZ5Lԍ6+U2KmljKmViMm+kXFUj3YM)-KUIثhJ-[%-UIkRMHVZjɭRmjֶ6ZlS[IbVm-#XHE!D$[Z[ZV5&VVmZ[ikRUՒZ55RLZإ5+6ƭ-MF-b+kUVTZSmJ-I#"F$B*Mj jVʚZՊՂX[IZYMRVֶMJXXڪmPEUZ*klʵmֵ+EQkPm&+%lZMVKJe*JFfEFͲUV5*BcTd6V4[3f,i1S 2fiY)Xb,QJ"JJR(be2i6BLRk"&fR&JDTbiS3hʒͪ4-e4 iДRQmiS̉4QM6FąIfm 4ңbT![lQXZ(Ѳh55MeMjMd%iIcRla4eJh +-* hС1,fMd& )S`mQԉ+6KdIf2Bh!2#JjE3eeQ&dTiFɂMQMũ,)TZeEIhՍ6&A)RUUg4Oޓ[v8 3Ȕ5 GKw3>bBZqyEyod[x]foaSUغ܍[־фmc^۟cA>`{("[,Yf;}? Z폮]UļPUMF{aS,ʹH 囍2 ]u&Si{BVUcnŭoxnBY+sLab0Xڮ'=\U"\l Ì,g1Ӟ-ݽ{k%(%A[So9cnW$W[n^Wήr8@Lg~-BaTugqW\}Eݚ=̫4w3b0q &]cu̖-7J&<$Eu0>Aup`&fV|YܝmMn&GZX1p"fVȳs=xmWE)Uרߔ6#Bhst\&eb wÝ15|DݢیAoh LNS[^$_/tf[Yweٜ"闝":3Uq7&aYƪ2nnա qt6iw0S|狶cbQx~bG2\^8C5Y bem8kni{ϯ!$g#~3e.iF:/szb>3s[NvINbYйkx5ٽ{L0>G%ٓ7FD6NѪܑx[ok׭pt%ҠNk6̝ftO^سw9ɪ9F@x^`}@eS"ĵ0kĽLFFv2_/i?b]Ho-b=9L~ #Xa .|B%э^{:&rH؀ MKiaE*m ~dr.W&gHcpv<6L|@@ Un;Y츽9UG3d:iP;ǃ ݙXYB9dF]o;bEaצտe]!G'Z9fCAd]ԅ?FR-F^ &}Ӡ3NqA g 96I G+; ,< \:4{eD4<<.ěGޙ5@$ִC ~ ÞT H,NRR!N'y`CjPჇ9լ bx%E¤P X zfgIEx?>w+Qj\NDT0ػ\O҂7Rc 53IݗGbw-2 I©RNy7k-&:홙 4BtXHØ/(gd}8Cx<Cr9!5>e\f8Z{|۳P* KS@K%ڜؖ^P 5pİbkVx:qps=uI;#-=zzT(Ę4ҾsSJܠ1:J.jkñB{۱[~ =ޯ !€Cc'fsTf $ɷu:tl9fEԅŌxTcV1@s37JxhOu=A|ݩW$0V);~c515QX^Y/5] '-GOG h!p7r4XFݠ]J-:)NƱWƺ72BbW>uzkC%C (`#pQK4!jUOUK/_|q;n aCBI2tSa"3 JP0M1vґզ۰_`\/vVdmo0yZ]F<)x٭jchjyKEB/屺OYU@\_Kxy La""n 4oxIWEl.r+kv$4`rW8'aTDM`4!<Y&FIUg::N!JD#o)'4,u.4+t}^Amd\&6նF=65LR4!%m5znҴ!4A DߜYіᗆXY72,$`]mM)~^r/٘aPOg H3Om(cc"ϊQ ءRÎl]ܲ<"§rl?^*`l#dzia˕Fi"ZFucID~qݒ6kۭ9,wrڌl]HBgqis{M/mmu]%j- _ߓEm_)EsNv֟9\\!&suOPCcdP">D02&D=@c31O'<' r>5U"գF@ J@ѰjMh1 %Ph#JHQ7gjmSJlmF  Q %UR#TCZkck&JQka4d(-*!TBP\ۗog 3wy`z'&p0N9P~[;_q#u냠! fq yt Aim%$DcFL%6*;n`2|hCx C"Ұz`. xWoYw*ΡhjŎos,$E*y0Lq)LjKDF\$#H8PBcӼG|ؘ_gˆ$GKスRѢ6TN8&2f fh3 ξ\N q|UVL~HBx4jbf Χ]֖!ƻ&wP\s$N8gmgFOETdzXhn4:{2#Ro99`Ba ;DK%y:} Bǻ{j1o"*#ttڊ{h'ۯcqZ4Lrut4ޙJ6nꮽGHdro#!`X5T׵wbf*}ii蜻/D9*SGnRUC9kv=mPݮ;yJ!̽fٲf'|5:=y9 }*~kv_}03L^mAm`#>sG5@}"vCTuZ/b;ه 0A*tk>;M]0ﺕb]ޝÉF(Q_/u"6x㧟Zn3M[ϚyUq_kٜ0,KGck 7#sb5U1r#J8fL!u Y{\1Uݎmbwŝc7uq]%d%AՒ1@1iCz.naoNR Lj.T94IWΕb-4U}[eMw~E1lp Z+2=dN!r_`}4Y"%:svFٱס08]vGd62QJaz3/fVWijȮNdgYN+nViʶ9@8w9 M-{PGbjiF 5h:3דDBv{B7bNU.ܒ7]:1-c #,\ek0'TNhv l\A{`[14댌~Eޚӄe 19L|[*]l袄O>Lؘ2yV9U.Ɣ(֘P^WݹA_>hH%@P ☊/PR C))H&@g}~,# E{~1pDݯF)u6e!&}~$y||ޯLY3M]+վ]oyo0 'wy4ie烋6޵f*{˧_5Ё{UH(F4#dUAc\'@ ?n#" uw$,bA;t6Us=Mw΃dD_^h*!E}%FĄ$͹&ѱT׿2 4RCF}}Дi4b+ɔLyMˣ(#ň6ߏ߹1H}/V()SEJBD0AB?@ BHoKȱ+qd@[4a"7wLHQ3HB &/E(Ro`!a g"isX  dģ T"D),HI&TL( gޖtEMIwi{gcE&DJFT~?1HEfRGҖ$64%2%1zI_O^^QXk%;ݸw}^)؍^?`4X?_(*/  4E^*O}\Pךhv}"8+[f+50m7Ѱ m~/Iѿf4.)$قxIJ]3rKj{v -S>]! |Tٷ3u2۬U R8I2e2,f <8T rָl]rVW=4\=c2-  #qRP[֙mވ>֐MH3ݼ@g֌ yP׾S֐8]fnO2¬gȮ5kcV|uqҊ6Y iB*VkwV$tƲ$^F"aqYLTDΨ ."q7= &Xנkb'+멝X+"D*s#䦞OŁ!5cJ8@:iI>[w'(9)#HLuJUJEFI`bK>bcO6rH"A2%RFC ƎGitO%/t$;J"F5-JTċkj\KF끸}2UWVyf T\*W C1mKt'ڳ#g/d/Fz+z v7I@ 4<~mit՝zѕ^\Ej(Mˑ1.t|&;o2Jk| $3't#4g7@xUFB.W>m]̚H(QP.gojUOP-e|'5xY{ťzNr s2Zyv5Z2-, +g}k*fzHOf`=y7)PJʱr(9TVy8]Ϙsd޲*a)EtJg,cgv,r{ 鮬RܧdA>X=GL |Ѕ=WU/*zUy\G"YwmPՀƸih75sqeM{o"xج>gҰ}m"gjzGuOnr29#j>Q2NC"uj =Fb4s(,I/eyc)w{B:)#vȿ6>OoOi>a/efv1Hgۤԋh,"SvX!|5ZAKu%dyprMh h'O\Ҭf3L C  O=+$NTT^= 2hYwDqy^QzF:|+<axbw- ;*#(Yr0\H?CDŜ:BՁa$z*a E>ePvO-_Q45>ҡJX=zim|צ 57g':Y*Uhz]:'̲<'vEi~d6Lx,bQ/0Nl\L"29%,t؁= ^$?cg@0ĠVn'|2,u`qBYv "b |GۉclrcN. ~sΡb#,Iy{{َoL[*I=ɬntȡ(HAtrmkDt.TUiUJ ZN}w9׺~YVV4 /jwž_&O+>ꧬ'Ày"GHJry{'F5)'sէ3kɕ(6UsAχ*K-:CZWjr;yVݹA(@pgci[خwtZ\g6o^|:5Lj4o֯6jH:* U|*,:r#m}7 ŒQ- P[H1( VG[%(Ka (EQZ@m QPBIR (Th5Jj %DN0]Ͼ/=s e4| ؚ劺!"]RWI{Ws|,+W׈@].{} !_b?/D? !3삙#[q3_"0 /1$|{)aWqbmj_#8 F~3 ̾kbCie Bx(*i'A>uU|H**۞~F ]THdi#ƥ͢#T3;wS&fB |\_/{~կ/H[otaF >OiX*PB T)dfbi(TjGMphFSua!dRK&lhjt) -*@T(t(BDd@_NVNg+/(Fv[_*e !P}~:idgp,-A@=}? cf~9X}ծ ;î)xexxt]inRLHYw ${9$>̷>l,a!dlR?7^UΈs6-4Еgtm wv־gw#-U}ѹ]thK]\žjلdA?RD*(٦Z]m J-R`J9 B Jt@VF)l Z+JVkDDuo_Ae랩1Ob)Q_p̏ y]B;'[[Oם/لD%!.iy,|ܥ˵u毖Ļ]wZ_= D~޹w;U.~ph&m^93EȚM7(&1O<DAaJdhDVBKZV-7pЅQ!,&Y(BuKHKFMƛaKcdjM'^8SCEua6x_4 C(`Ϙ0Dwbh~ ;Ƕ?|5|]L {k ZյjБt+K۝8#4 l?llzxH=u˂{nj)^*gW"Cug֢}i6J'P(b}ݺ~8\}Xw5ϱE΋|>޽^[~jv[F~jZRW-Uy|yvw]e?m7M *9aRVM)pPhRPaFK+mi`lr)c4ZJTI)V|B)16+ߛ\ԜuwR\6bqwtZ+ 9뵯i}s-}}>_* rۚ&Vkl!YRci RȆABvMP Ԥ!RM-a(Pi ZS35Q4Z))TJ ڹ3Ufm~;s qbPP#/:D7"Ut `3 @GqWYu\W׹R**4'|Wj@rBN_dh^2(_6*^;b(Il":LA6[';;{>M^[2tW^h|NV} صV |L??)l%Mn…mjmkcZլ%Q6:`+AҕkqMiP;*"On&} (.AuYhab|@!:=pUI]ֵ@B/}HͷżC܏!v 莨κolM UK]v~K@-2L~6gn=fe?#sG'|bs2ݽ4É56Đ^S_YZ*X {NFo\U JboպMKzx7أR=|>Jm1X\、#L˺ 14{Ï[r=}[wkW{wzK:kYzE۱}9G5ZVWhOy:׭t6ރ  -BU<×Lwu{հYȝ1lna3X#"1գy,%0\fItONPvX-d4lmYUkOr,@qXm}(rH#!sBfrd7WM7)׺ JN:,Y퇱37F6/fVm;-kl =d0sŸx{.(+hZʸH&>[Xsޥ~/:" ZX]68=I(;u#߽1\{jrƍYesB[ĎvV/'g{M>IN{6=ƃK/\']a9 f}z}V8ӷ2%44};Cb-2e~#(dwx}Ȧnz=9شVE Ǟ]Fi8m4YvҢ,$HW?OfmaGfگ V{5c]&M;n/ßm8^'R8ekSyruEV֧a˛:q:uk3a%{Old^RVՙPő]]o*PrJ3aգFWt7U#/>3׍w8!B9cS˴3;LZk ;γtzu`T܍yV}#9˘okv^ͫ3X(Oq*I9kH=&7tg*GskQyLPyu{8cj{ٝP9BO*%K̥_y,W[SQ"7ps/-b<]l22SB tq.kܡG\rD2;;3i Ao mo_#;ǽˣffK$R\/}aPeɏjӎS^M9bbf 9jzZu[%{Pa=rc 5{\'t%&{7(SgY3cvvR1XpAZ'&5毶kXݸkW}kSdc7RqTToxbMzM.ӏe0 ɫV]q]4m}C< ܂Nk=|_S 'F|=fMƙŸi]]Q:[4iݶguĝܪbln0+!`fT=; C{^:rU#^XBfٞ>QyZdfZUw+cxƔEq\zĿyYNֱqrr^;Ts S>ʘ#ɺՑMu S{ >=Sj|EQ0]emm6It6V,5ӳdnyw>hŲVj T=Ņsle7z(m͜:Ƶo&*+{>ׇ9{]:hڮz<!G4UB.o9Hjق??RgŻNDM͚r%OLӣã'bm8Aü2끩pƷ&$;H1м{l.{eb3ݝ;pPۗ:( уrij]ۑL-}JyujúN#o] L4I݌\"ڽ͙KrntX<Ƶ9- .G)k\~Z05\>̛zjn裤ݰěWXVd{gs`f}}t\eѬ8S IÞĻT-PTk ص.+f1 ̸pT;T9lBPCSe%UwaD9#{P"(CHJt+Ev~3{[ QF $GZLO$^-Axne򌆍^-oD / 6ЋpS];Eshsk${t*,}GooqϤ}<ɻkA^VkJ:$iH"j"F[ƄS۽^>k t k_,ý+ZOCeSN5:dž =v!sʱS Mm"*[evr68+MB+rwu?~r-f~$_?e5z!w3 fX\ {_]{Cߕa^ FQ{/6ma^z,FzGk@%aG6:pd4)jh38$.5]7tMա:`+J =|L˨`pc9Th/gju 3 q8 9T^ k4ʴOuYw-V^@ZygطyFMn5oN~ a)ûh^+g{kJ˔AV\{P#oꃦ8G*ܦf1g%F=/d b*:ְIJ$Eʄ.o1 Vۇ+C%g,b:"BZFl^P{ 1̺AJL'efYKɺ/Xiò]c;PBםUr9%% BߣܟAgc- nMsЍeXVс|nem\Tqٸ0:W<'&w]W1 IKrWa,vlɝҩgcA~4+ <41w׹gpWR0ۡtۺ9v.v{VW=*vЛl50 ˪QQʱV4;;Ֆ\_|%_$1`; m VE\.JUw.E"gG![GW(&mmM>crPbyvV{ rB]K.fV|<b VL)8^uӪuIG 7N"sxsX @=mnZV(!X@V,KbI}1TPѣ(^y2*~ŏy2x >o]0ӋTM:{dܜK5}4`1vm' R)N2E5kcγvͳ{ M8_Stgv<˹rB1HwC°eTUW qFoZ/) Z ڧyy8qWid*bWd`y^ N_5O!${lޛ˳@ma`JQ*fky"F\Qn-rQʵsM9o%❊>UCu"z_4}j<%2+6vUT}C` "A4Aۓ:`6݅+%.ߟKރq+|Wmc뻎19[9UYx2`f1 Nuwp{<>E CH2dA>X[&iq`iivB3{= \Ŕ{)=HpU5m]CxjXC6nXX4N(dse7};sګnWeK.jw;m B}zmOhanx4+9ܙ!d5q{6Af Wf9Ƹ2BPܪ#s9w!(Cn༇ sfqdבq|R6בk<&Jd,nAmes.h8iRj+6Q`6q\m@VV ]5kc;ڋ@q$#J:mG뱖v1xh"> J{5_'e]R"U:"#jM;\^K+@*$ƞ䠝o"`>ӄwmؽ]ח4V}I$I>[jKܙCN~-ّw * D~߾ŘuPRÂBHV4}*\˰{YhV _s|U@+I_[.:7YTjEbh1Qh ݦRpaA'-UѬ'kj _=;dE> o.L,|;IJ幤cAWݑue=&Tw3}l?twhAO]S|fmbx]7=|2I\HH*iP@@ ],~;ϻ4WJgŅW{͞Ҟj.r'uޝȎaGn^T*؏^K}2q|eyΕTjv vM7sn9ޜ@eMC&+n:krA3lӻ 1 =F LwV}y0Ke].avcyP/:kcVz|.K\9'Cz?9ub/4̙1ˏ bpwv<;+j= -rW9__:pʏGI)^['erbkV1w'G-⻳%ib'}ǤWoGZ1(njk:V ׾,7o$_/X8 ڍI=Wb:Z6' gZLAꎜ~39xhξs `m:DŽJxs'wyerYO8c>]vZR밠LRw;6]Ra1/dἰD+g䫷=jv_f^^m%n=f &1SʹY1T y6X.oR6uT۠ռp)}gܺ\#j[MaH^+`z=ZH]ln"x*U\vlW&7^λlU-1:W#z\j!r{|$ȵz|g@^z;|rVO-N|>Ǵ2+ݏxy-iPoprAvocNm;<M u Ťǒ23q=q0 ,7àsɎ]$ެ6]ط> L[F`N1 qg(x׹۝3s]r,bn=Rhׯh&2MtVU=[wc/`]d`53^_8zOT6aMd9bq%U9pSS74=>5gmZWgs'Ro2;M>lʷZuwfXu'͵dpAZNbq ϸO/*1sspzhṃ/}n/m=5摒K]vw-nJ>գ7{nƉ9{7h$YG*^K&zo-/wk#eŚd3=0{3.y_ܛ2F]kpn3_nbɳ Ŵ_t^hb/(qx? [;¥ 54I|ݨwVP&5O2vu"FCw}+]0&t+!Ňu<(0^=80?r6A=g}Хވ[yǸ,%G$T7!32K\vq v&dLxV1oY]{+8ċ7K0q9]-!px%dANヽN¼'wc\!wdo,Y*v9efPixMO>ĝB8NFёsK-FAg +k-+GRm6ܜ6٣\9 &cn钥b%cЙaj rU"oG;ݑBtz+w .w9jے扭O`ɍ}L>/zldMJx )^U,VQ+g 1cn)07s0~3<1?^ǨTf ۮYpQl9r33[9BUTj:f7jwPPM4}%7/?\]ܽ+i;7 z٦ @<Mzʈ.1O" 3 O/o#S`\{׷aeS|.流^`nθZaqw!mf9pѬء]SX"t4PN79Vp-m)N,#c[]#o+]QPeiziX4f oYT2>QϚ6Nâþ^2"J{N ).ܕ\R?h=瓱p.͓c\(u!UlNӗ^yUmR}]݋}XFDB-89Yeؽ4O9^gblm~^3kZ~o/s˸38Pׂl);S{R5ɂouڥ~v8qez.eC,RZJ'q.KD^ -:r;&ef%M$t35n4bviK\ ym!f]6Mzwu.TY{bi융\o)JfNÚ8QZ5RT~.uP9;Hf -/=ڏpU:[Wfjzagј׻Tv,s]7$8sayY~9^ ؼ'ʝwɄϩCٗyUqS ZSj+5cYg}ޜu ZG4Q=~y ߥ\8ܛe=0,kRk^kټ''eX/r}9f% {erYvHxi[s;YuM 5Okޙ=.fQ)<<;/7&vyqW~9GCiȵZt܃8m.nFd*-olc0gs [/$iKWV5)M3`tLn ;Nag`Aj9 J&W NlI-.vٗj_ja>WZŕ՚$yEfRY[.Z&wV[vS-=S:3LegRY**Zj7}ϖ^)Kd nyWz*P(ҏGۏ4YZ6EmEʗ.:')W:u[.̌%lҩjT4s9򦥼:슩=hӮ. Fv(Z#T|}ɉq hu{By{V`80S$goy4kX`/f#\rd:Mݙ v+QS/ `NF}Ml, Ym*ɬf'gG s^/K ;Ni>e4aGvTȻf'΅7ij]rԨ#IAff6ŢG7=g6%$j/^;sɆ,|3Ʀ9=E=%1H}8DJ捝pCnyhtt-F`YP?S5<ܸ9NrT|y{OM&?JYQUW=庘ݹf^aU܏ lP(gk4nxOsaȲ\9˲o{Fw3;SAyRv@Թאf+1`&uW &\Ɓ.X fZZE]U^zHa,Uv앮7=XBFcNR5`ò\eKDcQ`=ـ(,$ 'כY%~&ܑ iqH'} 3 vf{n)ޥ ع Q{[&W7]ӌۅf =˥nH#:;m{v6&Jӆ;}QVwS|-e0ZܳuIN2wfQO]cZpow$/$6[mX o%3̫Od}4s4y\_$7#0x0b扌-(>ݚLkپ|m.^u0wi7s;k4\#DН#1ƳٻTlT9ׂaw5Y᳛ciQi C>+կ7,NȻ;y 'w(qK1\̻7}}]uumwSSV5vo6U77ǩl7z\޻异9$TRgk3mQ%7mi#$U2&Kȴi𾺟L}cfyAպ`瞶f{?zH\q~oX9k.IKr)ifYeԠi} rtF-䢘fW \cehr=h]py5>țƸ8\ecNS_^f-TLJypJ)fqN]U j(NfʃZahbգBGsq\ʳVeJw<ۧVՋE*&lmwǫ>+mj`m!d6yr@QÑzo\Hn^ytv 0jXJSYm 5C><2q/+uo];ݞTXc%ZW1%Uئ 7$faP*رrtמ^[/:R93xT/n=q 7wIC.NmiWcz8|y "HX7cUʾS0|+z믭ؚJwhrj n߱vu3{pb)tJg^^{/s1]^)ⴶbcf7smq6Q3%l1b0Pc [7*HX*O]뒭:ӹݖWi}f-3 h]UxNS)iknmcmnO 2 :3mܪw9lki$T^W3u5hfîtPCwk Tb_ޗ[y^^T)2w쪻49s{vz3z˛+imћu@Vbsԑ;tvכ2Ņ4b-ʺ}S,ND7Lv1/^j7[Y-e?n;#ݎFWr/]B/$_.2HNWrLjnPYEx#CvgN3וo<*b׫cT 3f:S2nZL5ݞWE=IwvJ >򳂯IU1DGJu&NYC#'SpLg>q<;2x赼7c)< B3eUf)LtЙq=r /Տ0hRO/:;0;vJaS\ŕWY:t>%N.9;^ _03];'XVhN; BEafeU!ݰɓ+#nu#,o-2AGjf0dOouAǞsWTmës>YȻ[2}HuFY'A\D/YQHb^FSq\oj/jB4ӏsZlfwGvSmKckK?vdUCo٬r_}lAQp:Bu<۰:ccTNFbڸ3ߩi-yFp>"O. L96 yg%4}z$.4hnzb+-J66ڮUL ٵӡ{=m!1Ax_ [GM(Mo5!lFN Nj{Q9{LXIEkde^ƞ9<Ϙ]{VUg*Ժ}Ky V1`͖x%M~,9HU.V3Pw''Yqn4q~-r^~њQF*|wwu&ev=L5xyfbЬ_vʩ}}>\f/_;>Qpu9_ىܧ/|+kZ¥ ^Dw6Ud@qK]B1ߏðvz(uW'SPwk%f8Zgm>4yI֋ r&*ˁ!Ht\5W3:֡XC;<=L}nZF٪<%!k2ŭ(3>Hdg 룟 0Ҹj7\&#[KMZqO!w3 }G). ki[zЖcs$ꮮ|,_עTjŔP+jTU5gUP0eOvj]z1D/tX VݵZ:L8v#EF_4Wn4"{ՐR%ZjTXf3hDq (Ǵ4 N $̓}WL3Eeߎ 0P^e۵[fٖKjAp>5<,-f{V8[՛ʹ_} > e-6[nudʆa ;;+i'"=[w'>%=#\t7PtN/RѽA\߾+>b[ܼjԪ ]fp"`t'ۤ4[^ʼXOcDڧgz10fS,L nEKڮel>yʞ=sս¶viO>۵zf6kA:v??9m9EX)KjՑ >!|kUe?}\>9tܮ^3tᱡE'mUt.L=:RHJͭUo97q4ٲga.\ct1P➺Br)ADP I7ɷ~Tf;wwưU c}(k5k6xXY/\cު֒c5q.ž]Kvg-4x䂕1碵G' SFnwݹ|puщȲ!\͝VB'gqժurMKJ2΅٫Ŗ;.yvK6qL;L)^IsN^G㸓pqBZ-NfVOjQ-8u?ow<շJKh<^97=;2\eg)oaH;nɆvZ EㇷbmwW; BFD' $3bf島coDz]Ɉ :[C) 2QJ,#zjLԒ9پaݥ_:̫WCbDe9}+ HUyͥ; ePI=/6QԲmnR@,ae E^T֦r$w)JV3F7]O3qCN Y6n}< nޟ#Jyjy::.t)^Y| c%&se<)q`i4fZ{y[[oFbKsO@Ӯ'AD,ekss,O;Zۅ`]x"ϼ] br].A W+q(Rୠwja}Rm\U ٖd̲CZջ,-栯dVUDzq *[vZ5,e;|CgQ`~<bIxf틻Q#{|ls7.}"m=ccm&{a*z&/$Ekf־ @v2fm˧紑RQ[S}Hq3< GzE)Ufie nZk/d9J=WX"t$zS#Wgcjɬ/ng5ԽE`٭LIk]N;|,I/|WA&Wa!4wl#PdoŝsXzf+L\כr(Ȍ5yw`7q6ژOۛ»ҭ9f |FCezc$/'fNN3r={}уs%8A]t{ >m>l+[%^]]}d*‹%^U1@ϬIef{`dj eq֪U@oe+eSwdI sytw.I! ǏNze%L8:K+[TeZAZ6SYY#9l^!^Fx\c 9 dhJu1&t R$^DG.d~;g,ʴ GT̾|eLUvc}bkD^ɔuYzf []H6ʇ12ircfdr-@/)eUxlZu Xou4z2+-c[Vp2j94&,׷<~VŒ1+l=wpmY5_QfJV#aRStw#ٗթz`)8,RlXQV({T|ajo \ORRR}y+{mmm3 aW_`(::b6 UgP(އDW!t˧e^A\GFuFmr}.y&'Zld.Ai}xD~H\7%w,moP|^ =I'}rm+W rJȶ)k%A E]w>U/U#V* nUM=8e >u.ˡYxhjFo}]rL%-]Gbfl*oI 8w}aTW1D5`,^! 3[EpzWC)ó궲W\:#'vɸpIQ\`gV.% ER t;QlA\7f+.ܾp]wȶ[{ ڔV#KL݅+ʠ\N8-8dY,ȱc:nm]ϜF{` Z6D&gmR*3[YK^=ҊWJeqY}Xj9=:oϽn3[9+!dĪX L}-B=֋0ncƛ]s3nu_-CKי..9'ErƱ l9O,{OX6 ֝(kG 1VtQ Brun3-IiVJmȯkkq0Nn`غܱR0X^dnld=!X=D⮳kv>]z&Ny/:f3ߩ/lU$*kA#ށW"4;jKVq<2in~ ɾyJ>YGK֌gItU9ێ=0]`80y{VXׄYR97{L7:%,7זxRt*j^;|٭š,ى$.wTƗ'=Pչ 9{18Vd=sܥ>O DZ5PtV1i;w!V 3!>2_(uwe>P~ߡBiQ)/XF(͋viz2A;0PAm7"7 f|p;whg{lbqG1Ffp^λPv~P" "qcQZe-}2ɺ c+xo9Lj\^<ӁP+v 0s2p3X!GbvGc`dzMձ@$uUܵ`WF!9v<2aW~N*P/ Nꐪ*].&R^^ƥmZm yt4`[.1 ;,fݍhsvk{SPJBnWCQ9U*f@A{2Vٽb.ڝ륮P(%;ydHnjk uFnjźӓx1nPg!{ci*ó~%mzY6 53i$0^K)rrv%"SZco8'-g!x(f<N)b'}KڝtZ# n˻ vrAWb sgݣ7bmEMmQ'SGS=Ͷ5c͆RCGQ9WzqҷPMDž@Ť==y).zVxF"m9V+޸=h D&1hpj.?6r~fb[KS$ǤX8*33\%< pcMp˦,JC7i2:&Ԗx6|`s1>9/hgOr7k/ձXr1*@{j3wjp?WQ)\i5@8H]B5$[qe!yG<0}k,Abv\W.LJ0_qG3s6WэujlfaL`Zγ+R~]_n>Z:nk=o0IgTs;lb]R(&4N-v)1EBVCXRt'`ٙś]|Y" [S\?WO~9GILX(_)`.RP7ʫO›yVaε#x|qW4kC|Ϲ +j7R\kKL^()X8g=ۍn[}Vb=ByQlLH*=ˢp^ DA,B,G{{5tӆxee4(}mǙO.猙l_M^{rP"&S4T K4_ƌ3}cz6'77@*ٶ7r<&bKfqrc1MnW谛`q>aY|3ғ{>zqTI'^N*S qfcd)6A,(7 &hF i3 yy2촦({׿,"9*ҿhfW% zSQpXFua*b+Bց |L| | (UBZ,Ee_WLcrWD9(tL.}ǯd+fx,T覬FmMMq:}DkCGL)*lp8:eqk3Z]/^pC&\&f=G`a_l#GC731.*;:Y;KH^$U mN"΍=s1FNtxyklg)+h}Ҿ3`T3VKR36͇.㳇{Og\+8Off87xn t=K7k [ՁN0;;U]MW-d銋Wqb1Y{CY`\Señ('CK!]ɘUa0boOV;ƞMBɲ{tNKwn&^`,QEz=[ [a"ᾹUj-CVꙚs݊l=^7;oUq;麯_ e]lr}n4k\E@mN\z)֫_NXAys/rt.o). }Y:,$ njA{r:^8 K#Q6Բp&dG{M~ &MfL_ 6+:}ߟ㸲䨀,JH"5jh {İy@8`T{TKhXמb4 ؘ >:w~۰0jmXLRK_/@"~$&b\)C!Hw7׮YUxh_ e@(.~>d4{yvպh('V‰}2@w^)Rk[Z͊1U}7TysMnG;C1pSqpiT -"зXWbTg/fٛ(Pl+Ƹ"!ndJo8 ,}ҹѾU. 񺓖JT^n&+26(Vd$3̚c%50C>谒>33=C|?3*R=xhǐrGOן~}L9}?]'F,ӊ1"k YV%P@Hs a&{2vnD&ȇ~g M&']WmWwjKn\.W[nW.wumD`"~WlP*V*GP搣Y)ԭ7 Dq)Bthjj =uǤ58j:U^nZC~?{KMr_>}FP}w^N>DeR[Bdqr/dq;򽗡7"A.2'P1<UJY^Y;.20v{ɑy > q"1ƱNGoe#d]M EK4@i7ے_Lm6pGN:;VAtSQ1]j#V:.nrbz1nC&Kј\b6t:|_OhƥȩRq<#.̆"$— ]^Kњf<6faߒ@e^\O, h+2wʲ"I| grjtSܳZs`Ѣ$, ί bldn Tԋ(Ҕ2(Y^w VV6 b5u_nزv(T@6E`0l 7咃R{o\l㼛a-0e&TB,-AB7yY~%X6b{G&%&S0Ғ4yMo8"W̏CH]}BB¦iE劏+jtY]Vyn1EVubFyw%KHaiѣ6R\-FDj e<ΥƲ-ԯ)˖y>H?bJ}DZGRj?G6uwÇƻ#fưPR*G͖XyZ{.4c%a%gcsqA&X+ah 97>gBpoe5XyLrb;Sa ]܃hXhuzŬNKg]7@-_/h y<ĵ&a!/"V,}pf9cE!L h~yQOvBp@3;D"CBVoX l5oȂܷ6,Raƛ}uښAb42t ֟`N~7 LuUbR1ƅu;\)!'2ō2+Kl)jSH1 mg/6*;]cΛ\,n3geݜe>+PƚJp#+r,ty#ADq>ۈ}ǎЩ<"Лyܞ\}yʡO  C7ζ Y& όi"i7?%}wp9A9=)y8̵g:>*V{rX[XW΍aEQmʨR% @2ڠ^)y^Zb-ȰXZYtn<Ts,ZѠE3J==#82^)-~#i]zh 諙UbEq^%SkR$Y>!IIllbH`}Tz罖}ywԏ~OI,OL@I@SN{ђ-1\([V+  SBVƴԪ! $UTABbUCg_-kw∋wl9M}n[r%a$'1=}=?>x]哖@z\Rg''! Ta<8$LNZmN$x8ES DB{g_?wu?~v9.뿿Jgw UAz}wç  Y"A)@ J0ƷUm/=y1[CbKB?qvM fۨ@|&a#~Q}|w\6f־ѳ6b{_1_꾿?~YTw7rʼn7Z簲tpM9E/4.=)R¦0hiʄs:FRjjW[ãr 7N4'we'~:"HXm8f=ݓf,PD/Rh' *(8Д66\&ubiޅ h ZTDe=(j!/|{t_? !s/,꾥UHr}g$ $~a#WCg6$}mGtƼ!Bx_K_*ܴHqrUx< k$FJjW_.ݷ/s\}h~>O~Ќ(UpF99 ZPӊ4J-S+dZ%W Q*P8/J%ZWjyڝc(jwz$pyxa:mS0Bܮ*佾[~x #nѡb@3IE>?O"led/*Owo+!272 _mk}}_}pJ%W qdZ!--kF%l Ăp4ACarhU"ťFU ChP@(R*Z!ʡjPBAT'^7$dS&j \2Ȏ7¸,UwmJŢ4cocߢO>tC>ۂ֏I=ay:@I>ly0?sBK0=لbqb8'(|=ę&L pCۛ>bI#?Ѱ讵mͦƇ)9p馭I²-h5N9sSi(*BQNPiRSeB#D*Q8Ts˴"E QJr8dgx͟ThxK_}Y%:~@@( aXd0#Mnp|zVLW }>q ŧ$3Km/5Sjܻm4&%MxH0$,L! vϴ[o唾lwt'  Bj&rwF6y5Vo$hɲ PN8xB4M]]F6yji'I5kjcŴ7GxS`m's3G-UNU-A MDO߿E%y +&ry)T  2s-~`OYƝRykpIvIZNJ;)+ӶDߢtF'1BRfqH]?|8Bk`ފIB m<aXKMT`ǀEK1 H @h U~˪n`i{ $ŊgkɵWKn|_˗OM]}wu͏| M\d#¿CiA: b"UÇCZԶ+Du *A DyPKҴ%Ҏ O-KAQӗS Uh)<<%GUj.jxѴ,T| -f~ #{423KL܀wD24 irMjʐfau wW{>V>T{-ԯi AW1&eg@u㬄^#ɓrՇ}|{zo,{6}Ēmѽ\y޸g`ȏKt1֑`rE)K\^5% __oAmA_@)G7/Wuѻ":Ľۜ]"J}b/<3ݕiH A/Xits!kIKznَ;%r ϳ\!0P~Ÿz{szB"< L@`,w]q9٥S.'vJά둼rAPQ| vxv5޳gf{dpQV53ɅWmӵ oEcf3LS _GjY(2A1WޝH5];3ŎpdnuOWXx;s]Ū"&;LaFP&neN̙1¸QI:k puN`r[ͨֈ@> OK=[hD"Vo=03UlWέ$W؂[*=wO:_Of_M n2&Rp]a;o 2{;R_qY(NJoX)%}fz7Fa7 v LY -YY%p@:o`d~Xb\3Ih}O+d|}  a O֭(roј!Q1,={F,O c$j3-ؙtx%=0]W~/_mm]%"W?6όyzPYôeʾQ\ ĂSh>vM5vCYd8$G =fyLA%^1s!fkK< ~pXG >_wݾO7HsV$T%0fHvh.d<;'~K,iWxCcJ}bQ/]#,uw$6:C}_]T`CkR\T+n3^r2ۉ"2'qKG |.Wt+>]Yܲ|Au5Ǩ[*:+W]@"|qy`D%_L  tPS_Zspg7~"DiMmyrE>g1Id6c=_CgZ%Cy"{pxq_O;u _\Bo`ѯ7T46A yĶ1+{N5ۄe-)Pؖ ?d칭c0<Cr{zhr(c+Wrf9 $]|'m.^frڇ͊M)g,zvFg 8Ծ;+Վ3&!,?gF\Z۽!OB;PMh>y|0e%LTgmŏԷrB^yD):[`;gMɁ:=ɍ}oueW .d'H31r^D,&Ē@eIctLbN6#Ne(%<ּܶ,zN*p3B^#z?]S>CعZvlu:] ?z_GYvoT#v9Sj2#Q_`/DB{eԂHk̟ ǯ`&wko{W=rtO#g@R@2|C^F?XX6:f`L|T2Ź"0ϳݕY4Cbs50SͼߥG\g^!ZҜ1@-dt[/⠠JPUaP*,,瘝HI)?.qO,wqwv?mX/81^7L7WAUE+{FN7F۹K6F>pA]f ϒO8|ۻ~ }AzB[ym MEmUR$kU'() ~˞zJ>| Ʈ* ,zU<4`ό='уf?`LsEpffCH'>pL8OAsC6KSFt B)Q&@Z@NU{ ؜ zqѡT9*a9BrNHP6{Fi9RSvը@DTA4-߬"B{kG-,%+*7"QJ |M߈}Ā>ؘP'BBz9˛>;4 ; bzJȬO p{x{>P4r}_'m{ǜwV(|~5  aȓ03>ba3=>~d&9a} k%_(Z[ْv BQyPSS! hk#ZlX2X[Jw9+XJJwqJQSKkNtuM^8 +A JQţA"s?Cu_5%?kuك|ZiY=ym ,֙5w~0c)˘A&݁V 7Av'2-_ ľT1U&qRe/lv(OO{̊LԪk>W˓[5~~ 7'9?'T4Zc=jޯH&Hٟyu"C`F WbtC/jJ~q`2ffrcНw:=D2 4:l=>A3,7dx^}}ylH%jίo}}ot]57NVDKSDiM(;St㸥dQU(CMt;4BkReZ%}?͓̚9Ӓ0Pj'‹g{wx?W3Z7: H2-垇}PBa!1pYgw|ܲ킷LX!{%-{vaJ}~_\mW0[ 5}|?m}V!BVGKDu:@P u팚' P85ѣ@8Gm*IQ[h蜠WРըp(&~ܫ=}۵@Bj$(_-$.׃~9e&ܩJtTvUlHvslvRQ>L"r)JQDU(AAj_* !Kʧy;m֟wͷwW武 k@KsPSt8N@pw@"r^)r*"R jӊ*"ᙙ}pgt(g 9FϷ`߿{LCOC ҒF講:1ϥAFz %"U2 wmQwݯ{~߮=`1= Д ͔<5j3FI٢t6Yeg)IT#`wGG=>D!-o{_FDdžd='B xx&j #mJ@* uJ!TRUpc-:{cVÒ9juXeh/ƺ g3_i3n#*ngCوd=}< 1AܥY\ VG5'p= {.#nLZdXA@v_δۖB: FroU◺TT䶹[e%b }=^E{qxnM~ q7=0zC(܁/tgǵ1-* O 8PtiV_Ajyk>gwsnu o܄%B,O4­  GWB/R. _}Jpr H"l|^zo7}<g9|0TcI߾0?#{dfqZB lkF>:۠F׀[Yo+DmnBQl5c k{^!;o`*6]^] /kPl[G:.0ݚ]OrNq3^}7XKZBڽĩjj3S@)٧mvKgkb;پCJOxvȡ=ј;@OpcÌsa PiAף$ !eӃjM(㍖&@Lt깐/w@\Z V,YjSHQuưYHJ>6JExJǾzzi"b5rnn#;^1WY3ܢYzh컎{ѥxS5ZݜNLgU#Q|)-(LIvׅzjSzca.pؼ\Ɉy W<v.3ԤeL>|(n~UQqûnZ#:kG+ܫZ4q>X̉/ <{iB^XVm>}4z8̍dׁVB"a:hqq[^|7R#z`$Ҥy{7Yĭ!&?aS W׷rCuWfCHZDaݾ:M V9hbyj8Fgϲ\h#xd)NZ>"뭫$sW:Y}C= ΞPv~L\q.b}|;ɀyy(𹃳4y[%1k 'X3 䨄;V !r%%Ϻ`e$N$~I#)5(nv@}[xc"q#_1>&(M:ԣ}u|Yc!nHqshؔǙ|Mo1䑠Zsh~[9bL͕]8TGkPPg(ۙm9֥`|bp*ψM 1|W .C{{du>4W'0asOgBZ/H\H߾oo3KrK|14@H4PCHy?4KfxLQ`6pyYǔ>O0Ş-IRYHg۵EW )SbKPtϳ2DVxD\rАg/)x#I끈ދd* %bHLn0z?/s ًH{=]DF% nU;))&`O NeVPN Wl|k_"D(3R{k}+UN5KH-IY(v4$ |J ɵ N4+./v쀮ڱ{ڮ&}K-S)dٙP`p JنiʆL:LA{m)T1eoV]،1J=ս#+_~buˑrEwyp߰U&&c>XV t5;/k˫<776ѾoCZc+##i&n&r(iq 4 Jy*T*(ww=jPbE*ryJתѩȂ?~y'$K!'7ѵ=lT_=p_m쟧zFx&@`Df%m1'=H1sc[UXTB커F/GU@^%Qgξ1 =O~F/~2~f?~>g0*9@m)I@WkPGSҕ NZqJVWGp^D/*M8hPUyty}~'[JyJ~PL6g_4 zz KץcY7P!%W026tPrO؈W4@h\ov|*S12O>rL[B$O5uod}6ll S'}8Rp :')0;m̦FqƴXRo&-89hRѣG2n->,+=?qeUlIY| +}ߍ;e$2@$.VQWSfZxb nC^aH+qEW;2?ߪWȚKW!ďI *qϘPP5MMZi}yitVc؍_'5[c{tx@pZ¡sFPE8~Ee/ˇ𺋱 ȠGWW~TOԇs 'Ox !0C'!9YBD)Gx]nL +][(@SDAJ}w_ؿ/W_v7w)*%kW B@bw&sZm ^U ֻQ947^蒭ȃBt44N^CwxV.KԕJ5NPnaoi%[U( >YO2f 9G1@^ DT]uզB[dUc)]ef)(u#iS_6 Xē5;w޽RM,mFP־>"W=W~EJ(TUrvymFIJEjT[vNC P;9NN-jmU:l-I8\:`QN UB q8t4EK OEN}@VtWQ hNq֛aXiY^AYt5Ђ6Z+{7k4Wu'9ΪUS+۪e(-WrtkJk`ӬΒp45N ^|&7ouOup$9[7{TUPڭ[򱒑+F0*- *g~o?@u>|'>#RGၮ,~]MkZ<kۓڽuz1\Ɠ2gOp&柮.]A{μ$0'*:UκvލaȒ,]3 lǾE+tx 'z]P98uJGQ}!{Dx Lॶt[v;α.7WѽI. ?$SM.gQ_o U>&"K\W^[sW~W=OL_d3,[JԧTÔk}v,fo (/ C;u,MLmBA;z'YvYlŇ;$s>%kNJLH|[αj]wv]g."$kgYPlUؕPiwɣȤ` %M?o 3ƈ=zbTƒ !F r.8 sj|9 ,Wۛ+9fomAPcXQDʧBbgLp[ާbp؞AMcM.- CmR} qi-[Gc+Mc[V^V55sܰN^N;F]ުr| n_6>|W75mboN*JwO}1_\pXupcO\6WyBG=/3$utbqIlƢ]u7+sOR `Yd){9mKغ.=#K.f) 0KX f[Dk9''<i3ixr5I<],J 3X[jp|O 2=\PwV2Vhk:'柑v{zHYi@(&&"b;e,F{$irmrބ馼g_t}Fa\G#zheH EXq)|%dEW;UN#K~İ({Gf,nA#:gcw=tNz+*PEa}/K"*_[Iz]d"A#j [GyS"WKֆ=Ws&F SaiT1+fI|Ѷ&[z/XފLUb;x֜~TF\Awfz a=ȭ$\Fy0AI* QW}1: 0PY< <(,vMh YXє56'6BbUvsDAhȵPs HfȻcnnG1ң'J|ic!Z ~wto5VK],${¢tݼvH=mÅs iqC S@Jv{LUk:Ƀ޹7jsbʇW66}VP <Q1QUrP+>vCZlMm?:PCe}zE'0`%T3E*foT97/8"$f ==&<\=-f|jfmCzg .OƷÙ}#ɂzI:Vxg:/{|g'd^~ 53>_v_K[ؼU4eD(xZK]'9R}nR=Sťy\ %$`{|uh>u[BR+x\ڍ,GD8[0WAC]86zStuXLLO}ۉޘioN>,fLe&L3oatx2{ nyP,Z\(lZGZ|+TҼ%mcR\Tĸu蟝Gi쒗2)"T~8 `s5nE}r=fxd}]D]Կ.rwTnj̋ {"9r+J{ܑƋ7`X\lȓ=-}Yݹwn@ U\}jkX@T-~;8뇵} _^aN旋sa~$,a{dK8,k*mOD̊~Dq^P@ F QZ %’ ]ᄨj>"GfhooPՅB|j91gUF ͏\USi~( qfh Ŕ5+ |O{@ΐ)JT QA>I?CL& < ": l ~LT\QW7P^9m%!D )hƆhꋹΎݛKI«iRpwsY4mMW@v |ŵT^UCV̕ D9JhGTO|?g y!<ܕyhD~@ޡO v;fhWû>HH SѹRǦ%Y@*&Zp>1c}n|OMI.*wzCo&IT~|I3%Va%xCj J(-56 V pIZDL^xNL;T8T{tT/"#Oz<'eyoO+35#%8VWp3COO@Al?b> e<L< &uZT`iS2C'y_+FM7L_ ͯھϮ}#$C~B‹օtr BӝT8U4ӎ+Pŭ+vլ6mZTq*NACuu5C10Gp%J)⻯gnTJoECVyfO9ꁅucsJw &]j KG<6gVCCa}3 z41SEkOċH߿ljJCT/NiF¢duRGMdt5 ِ" ӞLWtD)jW( jI$ۛJj|fvܦi6RAJ/{A- Ȉ&ODA% Q}h@IkЂ]ҟH`nuy}[_2w7/a$!zSxZ'".ѡA 炵Pʫ]7! sh^-ZJ5+kMglLk|V@'5J ^$:߿*f<Q\σuZ|-z0?a5C7RoSSՀ^f"]}.}}ݷ2 ߢ>>?777Xy캴r=h]PT8UԣQʨbgIT *krNQ9{ eWh ^dv~,h=OxxZI(r_|bDB A R^}ZÎw[)P\+ O}&}ސU|C KCL^ 7K*v6d A>$?xWߒ $τOQ*M9Cp=J]:" JR+V*VMV{M(\N:TtB( kBZmʨ2j_ϯ2˹C>>GchwQ͐>g/=Q.ƝEwLXWzZvw}.Uʎ~l4T4 |RsZ2/\XIaRRR]I3k-Bݯמzm<; @+IfR,uᩪ+'"w<Ҕ(4@[Ӟ]P@)MӖWprkZ5Z<Ku:V¨~7sw-;SjШz }iٙ7* {P~9}Bz[!U3wtԲU׳s+|5J\R[K\2*䂯z־϶WsVe&"ȟ #?FH߿{<M {aT:kI@*"AU*r(RѫcC[l# iwYWGJFVAPzJG^?^tĞOXm=7sC 7bIB仫ǩBӶG,<Rɒ N* ]u$ZBյMɔV\')2]bJ;PB7XXSV;@nŊ ^+q+橮V 2i`qI+(EРK±akuGRP@D$R4cR;VmĔBѬ6'{w,Nwyj3ZvdCRο0{;]Eɑ),K7eߊ J1vs~?{s= $N=ODBŁ 2*աE>EQ}iLιzr\Di{4Zt]u/N"\yzoLxQ%`hH&(|oB%=u')'i~H?2J 6L`U'UXϖ+dsMO֛Mqg;,*\=n|ؾz(+D߷3y3 ;4rāNI΢NcҽW eqV}BeUM\ٻR,[n˿z}IMZ+_}Ͽ~ 7|_.2?/$~2=dS"{29a? iIի l8⥬Gv+Z7B* fKU/D@-Ǵo]Ԣg@SA Phj1_{/iS>vzxTֿطo;G>mzBs $ř&Zֺ߯|߽]ܞz/]BJQ1B3wݼ S>}>X$-tS7ީo&6xTGK[N@oNWQRWXt7uH7ZNOھ԰ F^pI ו:{ңi1O00HI}bwހD-BRܘ>.(%7,vO x_j+EzLzt8PA!'%3Jus]wi}hI-AI ^!D_"lxc;H9c$ ZO{-B̨+$)N-:Qur"C)Jm}(|n{=U$G{haTQ'$G 4zmz{$ou1+:f M.|nwܐ t[p]ʶrL0i,k8yR ?'7hUUz3{Su:.LAS{s1SW,X}GD)V-3y $e`"ڇ Uny˷оBXϚ{ s83H'Oo5",bz~.˓ٷ*{l۫FME;1yHtDK'4LI/'m(BTWJFs+ G{Q}9npG>XVQR=8$]y{)Ds|bq|w\+ɤ#EZ{u`|F YhS6_H 豍D},04\i#%k_0 ,bLiL_e* kۏlϴ/[8t]ʼa3㯃p64jFgϏ-#kY,̭Q"6[.Z,6#C[nLʣ-F˼۰npJ^/waZS=yyHc9z3}e٭q=%/ڶ(x^SUoLZ!k=uX Y # #=lذtͅi 7V#*^{*¬nؠZ\%N7`,/ w>b5Z{zۍ90IU.w߮[X,;RRߎK|5KhB2zJ@[Oqv-L:|(^,U!Lbh=DV6@#¾V|| &$hC(0*5EZ>DM}"~;?oQVȀ^烴TʫԴӏ[%D16568id䣶_tfd+#&D8Q8{Ͽᱹ%iÍ舂w 3j CȄA CF @.5Ev6&Ṟߤ%P41iI;ٮ}L|}$2uS+}wu1WāD"|'}=>) yHh RWEnV9 J"PSQ*8DM4:GWdy9P4N:Ihr':eC=Q4:2mYK &]$N>w ^3`0XJn{7 4Xؕ\"Hx2H,JHmhPoE[5w[Un}{/߬}ajK[nmBxm s#֔D@#Z*WMuDA"΁rrwwuXDSGt986CGωfRM0}p٠$F:辦 <u/$ކ LolqD-z4 &}'33!)I쫇ϦPo\}j%W֑z*? 1'"v6}kv-W4l0syi(jk}JHѣy8)5*8T8LM]Gn쁨qqƛ :!jpq$P -Mz! VrT*rޓ Uֵ(TY@xРetbP DxT#psVG@xjU+Ej  WTA?o}UP #y�/79@mO9]\J ;-KDXIܣv^>u@i`#֗/Rh}P_O8&PQ~i&՟}rˣMrϫOQC,Uprw')iAhDyCPT'[ж.㓑ZCNyE!'#pmsUƵp(睙?'q=7PV˛mv- @R]z8Z寅($+*_fOrYB A`e Ȧc`+AXaNU)sO|g.>9)|lo}GLYoN=CA8^PPEPVn6y1j~}'ƻدU_(߹ !;(`iTC}$PV|LhE&ptVy6bH| O34i0Y&vG^;,QUL{t6oNV#fP y8. RY{0Wؔ 8D],}}.01Rǫ jӲV'SJ h-i:U?1|;nUYw% )nv>0L|eA,bum>FSv/ nYQhՖXK Wmȧqv69vlu[YyVKY1 h#y]N%,\ɭV:jւd]-Gu ߙ=].^͗~5ٚzvL,^3oHҥǏh̜3}hش+uejiKƩ>Xt8cVLy.]Qt.ªPz㒆mHwk=9KC8bkJt{#JGyzADgƞ{}sl0IeV]uIoEbM4O'|7^9{7c`eDY4-X۸]v'+m=3 A%j{&BN.G}6#A.2Y*Mw\ttqU*ZW`yXIUhzz |r=,f1MEF{=R#q |dG{%ɴ jT'>,w wNgĚe<< gZno]e:jݝN[Z#w %G>4KP,1/Ülaj),']fGyLaD~q3zӇ-l|nLJ4V%f H8Ͻ* X%)BmmȅP"gԻh>[51x! E*3vePu{n3=VgE3qj%)OR c,gH*/<~F=7qLPy@Gu{]rM66HujɬFUCVĈ˥9{m³s5"6Fၛm1*OlB>YD\}kAW~BG1C+<֕.G,!_"͂^1Vw\ })|OGvq[8_j>ӆRyDg&pPpFDr1N=X^vCY۵/>a>qe 6ǻb,8 ݗ7usA ̣ݥH_L;F5Iוة y5b sxq2q_Js{᧔yȖsWFfxܞb˗XK k7SJȥlfӻ|s d]b[;t"JU6 ҳd(;BPgNwc/f&Ȼ8p 3.x$ե^)L)tmMnVU12yTl"X<^E=qP(Ҷn9Pڇkjjr2׿K+u)Co:9 /c_GϚ!_C6Ov9o+9?`akżF=])^S$!)Ly-J ^ԭ[g5 ()1,j d9EC^=g^Eyk8u8{i_N'V{y{40 \ U\J8cR\l<\/T컝]#^ 4I@ gw}gX-1x( w wZ-suةcTtzywֳJEQUN _ ppOus;W_Ho5|:?;EP9uͦT{`^^^As@jUī+U6$M6$=?f&6r H @m]R 3 }΅ ]]=Bo(]犽 B⯤ $Hw>ĚxU╵ڟ|h(ld]o􁣟^P~z={*aP5 usSU8&j0NhcS@wuZ%㴃ܚ@3ILғ`# sRcvk}PԳxզ,0Zc$t |'BINJ^ʡ[Q ?`̑>dohO_/]|u ||Q)cvSQ;w55a6AG/7gi!Trw; ܹ~%dOT>dW~M-D0PAx1e$LpiRbMrjCtcgrEL𘚩v%|VŻoM¼o/Z?}}~7Yh8{MwD;34t烎t5N8R;Z /]þàBg(k~yv;j}ci ]U!aҶ T-kPOzXU/*+)B4yb."cRL_PVk*7k-EE/I((RUfSǸ][kiŰ%CۡPɀ)ƺ:&=sluMFjwgum^ʕUV/xo"QIo,S٭g%՞ Pgș哞) U³E^1mZ}u&GϺ36N  ~O0rsZsD D%+SME;48 D+mRSCME烍t54kiFPAtWZ0Ϸ8N;R6؄lUHsVJ{eM'3=~Pd {8DĠ Y뵘I&wiykV+mەy.~qw,(țؘ;|e3ZvNJVw)y{î?a'j*l$*@t ȃyºZ,j*lLXw|vjT D([#Z9]b6.z^hf[!M8KnD˯2cv%ZFMdBCϛ3YPOhD2uދe_&-i=;ztF#o)\P*FGyċ[*w$bB2pjo ,hkčQQtl6ACĻf"n\Ż?ܫ|>o7xu_W߰o} >>LtGP|89C:GA[et4uYH!֚Py iԵ5l4tN;9!w{{JfE/x6g{C ]I)oEa>RʡˬUr@054g.)^tRSU'+D;uh0]eJŰ|!=0.LKDFWMD=m"TB' *Hn=hV6R$ùϚ>6*nJK&|6<́ ͖O(:N^C~e/!3՞&j/LM'3F=oNs={ 5C]j^m"_gs^WZ{ǴTYdB=^!Wq'l\I/ȉ~Lu˝VHq;{'*NN`%s.I3xHb$6;a=XmB;=$4yx|ل%41<ؽ%cwNkaxMzAծμGb*x6Nj:ٗp,Od(f@DCho,>Hִm"RK{/.1NEaG:p1h%Kf.v >.iWz~ĎHJ )J:͜EѸǍH_Gc偅{TH)w'RPͿ<OƼ_cZ1 P^6 '!X'" S> c >KNn`Qa:( eY]9jX9E+|%P%͕s]mpY8;5 o&/ft1{e>S,Yމ\ɣ%1Im|;FQ1i%c/ Od|)ۢڊ;Rr>Cmc&{kuXRA8cQp(^ŵ%Lu{Jt8Fo77ދFo+odTYJyߓ3[uVH+5 0y>t1;su9+(_ yDGd>S ~rDE"MISΰl/M" @]Ĉ"dՕ6GIBzma$qw}C} %hj-VMA˓Uw`כs9,}"+|#_nt]׬ֳݳܧzůP~|.SYf}+b̬>&,\:Iwc}F#P.$>OO2%<,AnӁMU!AZl0P0(m T+E'S6 HS?.7;ݔo&+}Ucϫ_=޿_a]W˲( *ۆk:'q;ws22]sYXa6Xi\BCP A~/a Mb,Ys3h584R4NSBl^vH'k! Y!} X1z??GC$9~v/ǿ(w*)u@84G,uM fwTiW! Vf@('nSUKNG=ztۜa`z<V5`$W0ry5ݽ8aM> ''W%=;|hg3i "[bd2'Huy|}޹T|Hs ^0b&Of?z=u4CC Cdj )GE)%[h^Ùks>Zaw% GU}<,߾A}>o ;Ct U`9U,j0z|2řQ\P} XO' qYY𕖔4Mn& lJxޛW}ϵ}d14~}za루;MCAҸf8&P&@jA$j4HSCS-wF : AS# L]@P$UqM4S%; $E$T^?}\_@!:=wu++lÁĂyCAyz̼iԖYSw]ciɘˇ,/~e;`61x,UvZ !;79^ of0Ӯ' w /쒒 ^+1PnE1$RW6Dush~|~bb@1HBƚjj- ^Nt^u痨ڍw:hsk5ړD.a j z#ӯz+H /)SU^]g!Ђ؆X, (Ѓ=QnC^~ޔ8Y+̺'Qwa'xz]wbl5P\{u0ΒcAwLo|{$?~麦SM2 mtGFJ:Vжh:-.vCD)jw-jo"_n/ 9m]'W,j̖1MA|S_;Wa[k=*z.C՞v V}H5ٟ,ɣB}^ʼnV/96tܳh_6$Li6&Kt6yK?>qoǏ&!Mhk hY CDs RŊӍy:I8 xuTǿLJx},ƴ <5{J7FN$gl `O_Xh9Gj~O0m βԡ_Koe#'Ǔ۹ _Ejb7$aAcL m _|V7DUǓbLo>Wo:'l5 x;@&rp[@8xN^( RSA(w/ $ 4WW!Vd\F+Μ!JUZp?YY͍/'c&3jPgëm/q($HU(|gDl^[R򧈐e]%E'P a>\/ZI{ĸE/iU'bF-*"1>czi"3H!O'ch+(r٩rLEbֵdň;N,Zl1eޏu2^"ʆv6,XM6ljX%`pV8Q`>Wwe;\~lS%OY}p^&fO%>5 [gAE *wW)@)BkR5vV1S;F0afLLh&I|e6%h:ܯsOH 5Ry}WV^yx1KNV*w ֕^r'w#aDbZQnpZkݫ0znWK˗Q^gy霁psŞ%zL0f*ʠI6C[}%fEf ArvfaeV(K,G8\!E` 3n,AYoFB k6 T}p Nͷ'=Q`@r@pAygy4=#q|Uhn'yix8 wJחw7_F-PTT41>|?.j-spf_*kgʍ_{{_'1Y &yZ *[nl2Y*ѳcCc+#+m662bLѶڶ13ޖkuk&FJ6e`z0Qme2Fg??Bg䊔̾)uh^K({/ w$g՛ڨx76-}sKjȇ3Tjxӵt-eg\RF_CnK duЏ(˥KVLPRʭ'kXhfO^pdVvq%Kή#`Ҭ56OsCFnc,Ybֲ1^qo1om8/j]pRfo{p Xp!1o5m#D=z:nl+ ֟z[qˮǎb©0Bmը:t#Í"B~X} mx|׆`d\Q _ySz|((W}_9Ղ[H#6(:, >hP,:z6w'ӺʞRlZkAH gi{Jԗro)tn&bʹlsN.һ !Ϸ=.ZoP/ۅGyVo 繹A^paƶvVoZfheG]ÝBvw/U(cA4Qɛp=Ful)"W062n|yaJ<i8/(!I|,_cTX^v5]?9 a2ؓ^]O{}(LK{e<"fi7tr븳/NZL}Iv?wWZ:BfQNJ\HZ+w7* g-5a.S u啼PPaTݟ[/UX#$_; a}&Դ~^+w%{Wm$Ѱgb9'5goBV)RGKe/Ws`@$a-l^wϒ@@J1̙t4ad`% HO!~x3)( gnR$ B'8@xQ XG)oW>f$4)$KNw0Hɽ=(lD'^3,#E8xp1rUncA{23P4xI,2؄ lCfnjd_L#Ge7..I^+kEj\@cL -ԥ;}} 3nbۏx_`}%kEc*Ř?{nv'#tnw)dH?k^2 湝H4"[kglRd|Tz' 2)b瘒# Hæg&aZ}o Z+ٹ)oU۱k1q#vݫ3ws2iX$a^13R2"zQsJYB8>ϼɀ6ƃ!MPe.j]Bc'(|qc~b>/{bB4BcES @|&ϡ#Q,fc +q-Xb-Z(m#<6>g_wἰ=GV/UyJU$vM7w=(e6L H-cpZs6}^=byI;*•bX/:ZPIA|'I꠪ Dߌ9q2/tU~k 9>l4$C_,CSMU{њ-5cmL[gmZH@9!Z颥*WUEѝ]/c>E"kkPQ%*ބ$6Uďp=%O~p/NcU,ܯOQ+'[>> 9D n<‡J&Q?{^_صLOe_Ϲ>\yw﫺 ?} $$` u0&\L U4C=1ZܲxoƚbM894u[. ۦquwK%w`5T"[&j]Lx dט: 0oxh`![.űFk"=ы]\#V-8*JsE(b>}N?"} aH)WPRL>U&_}ݵ|%oEOh驠 kM =ccUumhVM]]Rp6MNz{YhXd!'/h{{ܝo KH,3'y= zN^nU.]^*}A|u G,9 'RZQKn okU#VFq$&%A>2)}tE9!ݭ}}$FnIEgdz?]RҎjպ7]Zٹc#ɋc2`8hMLU&P.☔ub*>πE3gWfŌ5=`@k~)|H=Y)0@rAZ.xcTu(Z1XGFA`j@2_[h*ex_K$m_jk~L5*&$i#UMu4%WwF1o%|WH|^tj|Srƙ fYYaXi[_+V3 c, <(Q׮4u\f6&e …_~spLÅEG[K8珂u^/HEuw=;>>ݫޒd70p2#ZƎt 3fhR~u}AcJT('W Θ)!)ݮo||DW]9 _n_}]QGG[>6m}_!R{^CGMFqG-J^Z(;Sd55nnMDЅIB֥8[¿{xzoilΦgC ;ũ7@v⵫7ve_Tԫy|}<^P! ǘCO3ts]Lk?i% +%4TVƩZ _ RgZ`-wRV4iB/)_+{y Xdq`zd ~_~]Rm+[|c-|dʍ&U%nj¥/ԤhRG4MCDͯk!RƵjM4@>}|8+ZπϾۏ.Wh|eν[x$>U;9t4Т #Тh<}*Ř@Jx2N; lЬ}˞ɒ@>@ȏ}m[sͮb&+-^d]ηؒ5;5w~F1s%չ}e/U%yyZdOG5 ֘8,biaՔi0j4 P!j 01:pS44 w=&\ yQ\ ݸWy]eWnDZ54Lٵ\b<`[ ,OV%ScmiO3JM PXM1BzjXɱE.c2=M]Үlol|n¿Ȇz^X}U9^wMqf~9,D  ~a 7՞k2GBJ+:5*w(-']S;t.v,]T[0oAW.+hDP}osG\N+Ep5y=zp޿?1c=}xQs&od]ٖʮnH_V.\Y6OG|}]%jeX/}VۻY司uMg->5Ww[ (fPuv\J%DEcxf/7ҼJk,NrK)ܷx.ZD'6= !Hb;7+T]uq>T![a5ϼNoP}#Ay&H+[s$3C I }fw0uMDEB>Ϊڠ( 1MdDjꄩLVLay,E/c?Ww= HʺP,=r>@u n ]B|"-/H qz zEߡkDUUuX2j20U[QBn4^5o:w ʜ hA/cPsw}f\=?Yows&T"mYs-~y_ |]:omVM>|ޓ}VRJKDk#`H&gO )s BɵXno @1,m%(*r ťU%GߦdX'Q)tiAuQ$'XV[sS[MCT11qJVVC HI -s1楎x"6ݍ5BxhsSj\yjuYhaQºޅ.@ޖr7bRRvgGq/ 0|Nգ.O@Ir5Y`WEz$"7yB+Im"uQ]Pҡowsye"̬ΐ^un.S iJ7$0e47fKo_k&fD1Ry1䷊wk@7"|xR w8XӧOzTO'=~9@nw .JNÀj2ԆDdX#l <|A%ozh% {ONyoLS;{c4UiXPdSˎbi83Vڼ[4\@B8Gvu rmƈhXe"LΦN8#{unkisgb{"s/ y\⧐1_bw̱>0{8ʲ% – (oB~u0ǫ.^+W?׻nǍ'bw:m.nzB}1_b/ࠈP^ u{]ۊN3yq\;T# u oh^ؔ lqờvÕY٠^e[\=x}a#ܖ0KVٹ>%.(Be% gj,$m(D9 #yS H0U 6-[J̽j\ {YSjP"SS,kM;J Jĭ! A_e]z4Y}-Q ~ڹŖ&=X){* ܕ|[mn4<)+,IKG  bl\ aCTNLY{Kpe{.! _w*}惯Hӂz )sZʐ1Tš/1@ Lnv+ -*ʯP\ݡ4)Eh/3T瑭48>2 Qg,4wmqȠsOsŽ[ x g9ML Bd>x.6XDkϜj6/Z'MnZ5Z}娵$ y,_ {s@ xc~v.|^t0AY{x+Tg(a.vnSuxe6׭0Gb ]Dԃ+u[QkV̖⌡!}f|-d|X-61u~FQWѯ/ypt2w@H|:E<^,/mM^<Nq_O+ɟ^n]PA/g2x["l[J3\ >ЦLʽ#kܝݾ[@4R䢨<˨CY뚆xq;¶7B<d{ޏW?OJȂiЕDM{any )s< }۲ϰ"w"Z`…RgaPcВA! pkD%|`c$D=cING[1\/k{ݞ{8tUokWkd,Zc|=Y̳=Le2v25 Z>|>-]1ihP ] nS.v?0UY^-:n;#μ<>N[\YJ Ru< B\LbfIgȒ'|zzI'']@3sjhgeUQ5++`л%Ý)+%tT$ =v|ڸw)b~kR_!{A@ ELN\njpQ]ܒ^j}s-9)w6C"˴2Iiojgndśkf{C l&&!FM#jk!]]¦;[i]]iZl&;{2>fipikudRTU{?)J5R&uVۤ-K">~>D==c( Wf Q=I癗mPjKGc)Xk}K+hJ ^ ɷl*Mr�x_9>FU>vr/.ƿoW{&EIBra#l$}땮26_: *F*t|MCTiKi sنQh]5t--.m4 dd1Mhh:VWQѢ=~Îv?~Ƈ2B)A}[K z)^՝]m-ū궫oΨ1RVy4h+>~}/ocm b{]K`!<<4>UPM׊J1I=c)|=|m?_U?^W~2 [$C]Ӿ׳D41,#ɖ|޲x}b}͑=c08(}ͱFR'7IPU$Dh7Σ{Vn{r6,UzB0$r{>\1]~ _\_9]Em j6>Zj"ZMraZe6<0򽝵#|yaa\<^M{[GfGhRҍ;ب'z7~y {5L!Wk\$uX7w{e+ȭ{[9͵|ocWoܛr_1w=ͩ[mk_} 8䡆Tbݵdeebt5uqljնGDt{4t ~8Ov(H)o,֭rWJҪ(RMҨW;y۵6rq{ȧǩюB>-}}Wƾ}ݭ}}WfgJ ]Ti:70-2>ebtPWx~apC`{dˡ@B} >Az̄HlG d?d72~\N}m{Ą2W:BFD]A: ~Xo/Q_|v7Rĵ_q4SZ応@8  #B"!!ȧϿq~?Lș='bCREKJUӾɞgf V,ҫ|t7ͨ(}-j/?K$7}ދ-b3.vQ*_6ۗw>fI=le# 6EmYUͺu7Zpt5«WוVvSF+ܓ{%w[ylm-_L,lّ-]jU2,ɵ[2ZilSK%[lmdYUb6[n1VTd6Zm !KU.y.~)/QZl|DLx:hOrzzr(Tuq\#usmT[}FWݦ1DϑgW8AךTB ~H2Lym߯BIX)R}$ zt]6EgН_Z9kbuWJf߻mX{ܶ/WMm|9lkuū|ڿ[(j&qjkjly_|~#b#ahabD٭ g^%d[-5M*dFiFU2ʭ65LL+2hMc*{e&j 1SSmF%_R?Q+541f"X1 ,`Pd%RV̀ bM Ʉ!LX$,ͱJ`LIRj5" &)-&RQiS5ґɲ[EAQ&RV,Ij--$h@fX)5[&12#FűEش͋F!0K%cLl%6cIR2 #3#$l #$0(Ɋɣa2Q `DXE0b)BHF61B$Xc"1hƠѨ cZBXƢȔIY51ml#e"""66KE)!$S1mbѶ) 4شVѵ&-51(5S2)*J*S2 lkHDm&RPZLlŨQQU6Z) I(i&PQb1@ ؍RE#&Mc QZKjR52%h[!TX*2h0iXLSJ),S"F4(bѶQmQb d(HU@Q*Ed#bITIhJZM1F(6JejƌX`cdM1QAjS0MQ%RUF6(HF-%Ai !bibU1bPXI%ՍiJf-EFcXMEѨڈh$4ѲTmmXVŬZm5AcmF֋lmEX53 Jd (C5d+`2l[&ڍŬlRX֊Zš6,j-dcVKmAlkEk%"B%PfDT[Tkc QlZFсdEM1$h5A24Uɠj-"mCVEYiQX&0Qci) e+&[E4EͣTETm5-kQZhZcV6FQmkcThֱmk1UD[h6XmkU6+j6hE5ڋlUQjUQhckLhcj4[Me+655Q-EتƴUMZ6ѶֱmZ-[hmXֵj6*[chլm[KEiXZQmX-FƢXTch+ڭ4Y#klETi5%kI[&Z-تض 6hbŭbƵh%VUEVU6-jƍcQFƱj64QPlhfV65CQi1m+j,hŵDZHSdɴLК66ŠьmLɱѵQT[Xlk((m h2klZ5QhhjXXֶ5QQAi-k+`hm[Dj5[F*j-XlTckQmEbcmTZkl[EjĪH"(H*"ZѵbLmE*k[T[jj*cjj)Pz(Ƞ*H" #k6EX*QmTUmc[ZыTmFhV5bKdصF!TVRkPb#EjcmZ5mdժ-OzJ=P{Uhl[bZ*4kb61VXcAbEFI4V2FԚƍ6 bch-M*mƬmTZUUUFնVUlZZ(ڊ*O1AY&SY}E!\`@ bxz) 5kAPU PP( (R!B)@% PU!@ %QJlAdوwvuT<H!CmB6wv|}aJЋRNZJDRѤʤ5lZfٴ-hJ0//zKws=]}}x@v`y: !JA$JH$UR@ EI* ( "(RA $$((RR PU%JUPT*$U** "$Q*DRQ QU(JJ!$BEREABJAT(IJH*eQJ$T" " J$J(*TB"DR $$$U*%R$(TUJIU EP EP JTPE]ԫ7xxX)"IFb J&y>#n|wAp{^kz8aDM R hUYJkLfG9x'{<#;y=7g7x 9n{vIq (  &SJ&8Nq;N y ;;9o'TZxRb i3d4f̆xw{;#Mw{7p=x16bֈ*Lxw HRR iS&[,نgyǏy^<9nMdRn=zI4TB3Q6*iY]=;y9\>kzz}Wz{yw*Xy=(6թRPSLQ$f֚vŶ*S>||>u}9}=7#o_`}sA60a2)JiJHL@OT{URd)Rx$T"BzCӾK?UAd5]̀J1jG{Dd 1EXdŠvF͑{xf+ϺZcerM6tۚ5JSfXvMuL]oYvǍE^(ш6u6ݨeJn3;WmnMc]uvkdoNI1]fL X  ]F}K^6Y[:4h6mͺ4g۶v66\Z깳RlUFg*x׉Er{މ=n v.7DDwF>d/.n&[c^XԑNuwkwN+RKۀ$DQL,10HzHnmwzҒI SA`$V $թ dF@%# :&Zo;JVJWurJd,qݺ.۷l#[0Iy5Kb6*ƺ[ʤֻT۔[EEnګSf5j5j5շMZH1 P*[Xhj5jMZ6BE*B[`"Z@ LUV 4AVg3=yGykjݶڋmbmk+vm\]e-hլkQnulUWv,ȀmTF%J[[mbtַMOz(=e)ƪ6Ƶۮ-hmQljmv뭴Ub[Z-kRjMmcj+hkVTjڊձTH"*Sݭbw]hUPhDeйqR\tlQwV=kS P*i0H" $.R"6ŃejY+iDmK`ֵr.CBE Њ"eTlKm[U۬ ]Wr+N;Ewvg0$];딺;rQJ([K"-^sp{wkjc1]f%tԲj&daAELV룙9s^M8\7.SH'9t˺Ws̶J b&(+yn+lLf5*#RԔˢRDQBmmeJ҂Vʭ].+ ĴFKVїy!\;*.%9koņQsus sv ;ۋfć]ӛZ!˧8 f'w NW,S ajl+./pڎ]w m@9EU[oo@9#`ۙLki "]Rإ[E%H[\S#ik][ J[QI΅넖ѹλY(vh{vbH%2r"pݯwm;w B^g2vF#+wEF^EWJnSnv͋zR&/[NuwvX-.5s\bA`vmȏZ2hnFr^{بWF ]IyF*Ȩ]wM˚\5{[4zۦ1sW6]Qúw[Q;(7`,`kW1k]sAQ᫚ Y((7zLsRvk*vI}׵0me&n˗򮷽t,Q6]pcyr7u}^_\޴ bi+ETz5]2׽Fj^m/ZIk]A,$r-dkHS3 eff]Ԇܮܺsַ_5[`wRDr啸[,ф .qܻ+\lz[=mKjJ”Am`w=[E^] dFkȽӮt<79sn.}\fbd&Fҟv吢wuӶHb(h]DP.L0v=&FخtpcQye֢e8fZutu\4=7Q=MsA.p1Ȯk;o9r(lQjfbvyc%]G*:sc]fmsb79Q͈$E3^W5y#}j r$.(iCB[$X¯\=D危4D]s^ء#M \ۦlEs!Akr(:Qiu͝rkyGkQ\nlDXъK1:5=opc_^WwmDRu|˖sp]FƄرxy5kY#eyh뎡 $QWį7JiQ}̈́>]F1nͯ5IssN^U`9o-neC1EheriQuݙ!g,˔n.C(m;盞A\ܜ%2[PXV^c"k]ww7]L5\gn.%vEEsnI\ͼr4mUm+ h#qKq\c=\v.s.h;wf\*,U6,ղ[emwtks<˻ŢEF^Nt;މF G.m[ X(Ҷ%hZTKV:97.H޾Ltb `"5mQ,)KE\2Յ[h6Ҭ٪Պ4QѨ[PDs-J[јɆU9jGwH闒VKh(VU6(W2AKJڶUiQ]Ш IaiӎIeaZrەȣ}+%u`i*ViWŠ»[oU93 "4W{קz̴pdӊ1LeqXRwgmh$˗t9+uy]&u˥ sFNU\1mѕ.\ uޝ*wo]{wrzX0b#mf."4ծقˆk- \n;NVհU((Zi*QlRs(&y/^ï==݋ݻ4]ҖD.(.!Z5W2YmPř 313bR\!H[V*IJVf 5E [PXȡbRT̪,q[ey `%a,M2i\V5HɉHKA,ՠ=7zy2;Lh́Ө؈mbˡXM&f'-uQxnnuQ5kJ6ZAV&CZEb:T 2(RQؘB,DP 79+hR:pi3nMhMYhPDnjLd\ՊF<\W{ܽ|8Yh.aZ,u"lQ4ntw\;sr1]h_+ؓsvc;ͼ{cbL5:ޮ٣ed 7-s}u;h${s{WV4QA҄urrKv#vbb1םC!ZTl̫ CfI%*RBǩrnNݢJB=殲.D\ˁJ̷wJfEu1E4Pj%&d(h F* YdUES3Lmp-dm;pݖin!#nb1N4b,W׽“sWuzkRd_XncKۺj.( (Aumʂ*RJID aX+ђ=k—_W Fmnu\*LLHF'qt2Z$v-uELĔo66R,EfU ů]ڍ dh-t+βd`2F{ۆ1!2E^ة#DZ#C EzUč& hQ-BƤkQUAm@66-Rlle6i$*ƨ6dTeAVAV C V5km6Z$ׯ^ &K5 &#`j(!dlj+!2kLj#MTbM3FAhԑHm6)4hbQj4F2fmEcEv2&`LFk&0X1LLc%u\QуݫѓmF)^ɒU!o8h(F,mz&6#$TbfY"}vh("4Flm4ڌ뫉 #b6X.ĴRd# 1r"C%gw6Ѩš4l;vTlIhZLF Qh 4cY1`b)4h$h aIŋ6E"ጚfb&0E`QaD"Ld$ƤI4QEDmQX5b4[&4ƍI3#h6)9\XJ6- L%.&6-4$hdhPTjE )6Llbѣbk7J-c06P&4h؞m,Z5(ؓQjoͰ2cDm$4bcPZshhQF[ƒ #%Pڹb $5F4lX\C E1 XFfbF5$XѲk3m&6B"ɌF-+ hأQ`6Q"( -ED(L2Xű%D"$!(A0i$Jf4Lb+3PQFC#IXY- %4@h)*lF DTS6XdhQ6hLPb#E#k54Yz6onEFb "#X#Q,QlFT"6(Z)E5!k$3IA3X1+l5(Rh,FA&lVH)\ZV&Z(1( hXXhYfԒ]5sEFfh 31ĄlX#(kF5 A FJdۥXѶ1YQ Y-1dѱ!EvQ>665Xa-I-2%%%r)ac&H4X5bƱm᱌Y Ei(Kn$5ȢXLhJ#FZ+e*,hnXѰIbhV`( YZ*J$l#TAC5 h%Q2&dI k"6(* dZ1 cQl;Rm& ,AdK J`&4DcA51QDBFiL6 F""bƂbљdł޹=,Q 1!% %j D-A%MI#LьjE-%! FIb$E) RPRB`Ql2Z$Y,hj4Qe`˝QA,Ƣc%]ە IZ-FH# lS16 EֈhQl؊ATݲ* PZ)(3EAi)h0\ Ze!4E/yr^S0%bQb,H]ӵlXJD]!c,Fm0sIDAUBmН&6`)5F A6#chY!uBQIAY*B1Ť*,TP0TPcbƲcES4A׺ F6*@ɬI"`+ lDl(cI 6 6 *64,3hփF3 h  `@-dkEP4jfXh(cQFHĘc[LUdؒ,BUA]nD}گ)$V`)UId " A6(h$IPb6 #& $PV(Hld,R-FlZ 5j11 -"&3$jKJ% 6MDhB[&4ٛjQH j4QEFREb1`hبMdKfF ]]-b6 c&6M]f-4ID6ҺT" %-cIFLHZ)}WLY F6cjFhؤb$ή`H6`5d8tE6Z1e6(5FѴd1.BbEIbѴZMS4`0Tup 6,Y"ђEIJdƲZ#IM+0Pi&Li"ƱFI`hnѨ IF1FF F,4b)DjJLZ31*Dc`ѴT `H$FII4A RC @lLRlJh +RjRQDQ4I$A[ATDEQFE(ƈ6J-DXƀDEFTA VEh(Lƍ*MTHM1(5F4I{^]]$xQfɍ1Cc hƍ3& $4bTPlVi4XM LbXX1$2,dmQTF*6ѱ&эllk&M$cTQI،hDdfJ1Ff#F#%"ьb3I 6iPb4A40&61F"mhI(Ԗ5Eb[]:2RDFKe"ň6JEXbZ4ik#fh Ĕm3(dɤKX1KlZ c" d$Ѥ`*6Ȕn1(ʼn)Qb6Kc@Tlm ƦF6CP&"TpڤA%S E&;vfŃdF؉ $H0PVJB [&(XĀ(c %QH *JQ,RXRdABbEV"ѴF2JFFƱQ (Um&MX14m`lREntAhTb,l-6(b F-b $4dQFh- D֋&M2bđQh#PE+4ƒ6H4Rh%h5[%QL#E֍E$)̘@QP[AXV1DP4HXɍذF6AQc0T"L-&&b lIDeDi+#(Ȇ))Bemc&"AQBmZJ)ḥjD4Y#TEIQ (ŋ%V#lIPj#FH ̨lZ0 Kb$Ѷ(ĒQi(-ũEk!EdQLU&[$Ii$JJb"e Lbɝ%0`mM\+"đ5b `ѴR I2b -PPF1E,[Qwvƃ%(bţF![V34K&ɩU$Th2E\1ij [Ph ccBJK]vXƌ*H FA$ E3QGK]5A`a+ ʼn2Qhhؓcj$2,d&*(ش͊&ZhQbhѢڃHJh&J KE(ڣRh*dA@ D y[y&ƍlj %BSM FJU%PE EIb4a1a*,dMue(DThѶLAF4lc$AdJ6++&JIhF-Ɗ6u,j#la6MHY Kbbш{A #P’4T dQ{X(*ΛIEfcDfX+%2Rѐ4%blQ޼EP J-HEF(wtѬJ\55h&,Z#$`$uuK*M آʼn* nWJ61 (&V*-$\bPZB#2AP(EdX(IIZ$,T`(VlHbMEd5E JcA5d-5hFKI0 ZA-#- %6ƂAQ #$m6Mfl FZ@@mdd@lQXK&Cc(X<Ơ-L6&EADT[bD610!i"5&JmRZ,pmII`3I-LE%ĆŋA#! .nbah-Q[Yk0XHVfł*(#b K41dE4`"dZDQf)-!%XƐƂLlcdܵsXDUCb1]+#cQQ% شkdQAhTd$k2&Z1-h]nb`5(FTTlDmbZ-b,QY-mQL%IM4XƍRFDF wV,$!cX)K4(ڋ&e EŌ¦DQIk1Y4ccE$3Y4@m"&R[26űF(HAɣl$d6E(VE(Qh &&`J"%%EA RE-3*cZ5!,QI3Qj*2z#o\V#$B6* JekD)liR1F(HEY!4De%66C"b"Ѵ[XD,Pf6&Tm"c%*60d2dC&l!)#XPTUQP,**,ȤB"(k4QCH!jMRTDEf6EHE$XBbJ666BdcB1&ЛE4Fm(dF64b2ck%j% %Ich5A%FѱUe$6,D1Rh*"HFIش1ɈJ6جAc6 5b3#i**KT1э2H3Ra*+%XPlviY 32*55F"!&mĘZ4fb63%jBT6J5)XcT$lW]W#FDXhm%h)(5`2$4h"0&PXƱu7LbB j(+ۻDEEIEF+Y-Hk&^.kz c55I&0E(ĦZĆ4PQIhPcX2Y65Y bce$˷,I32EB*ZKQ2CIѣcAj %3`6@"ԑ-DDAbFIuss&dcdъ(di!EL]lhhқFCj(̰EFFd,&cYgnTmeB[ cS6X+'kʒJ("),j421L QPBAw.ֹi )4Z11A(dkAZ-FMbL6Af5KdBEb+r"![ %4hbj%FI(!(TEcIj cM12ji%1F(ƨY#$QQ$Y*6$-S #Rhf$I3B B+QV aU6M)hL5_f.IEF(Y FV`Qh"0j#b i&fHc2mcHVXd2jЦ65Fb`AF ƋQQD"Ƥ(6Me[vFhɶJ$LdSHJeBAEc!XbLZ,5DVĖW)0LҖ2(cEFclI[ 1hՈn1Ei4ƙDb1TBINu\Z6BmndƦXSH\BwwnlJlݹNc"b(60>ϱ[BQ](QԝuW,Xɒ5pٹ5 FvFXNṿFnʹ$j`++F6]wlD$ lcDF -eE`Ƣ"$#F) db-F`-`Dci(FMQCE"ƨ0i2Qh+F2TI&Z1#3& ,XĆ* أ3F4T&KFIvlP͙E a *L@F,m( C$ƶ&QlcS,RTk%Ed`%$1ؓl ђh)$5Q6LdJKTlZ"Jѭ&IAd)f$QY۵\Ka &Ѧ- F41kflfl"bZW]2YQi lZHe"4e,lbm€t]H lXѱb#AٺmAE1Q6*6 ZK#bHlElhRY6DX4j6KhhIe c2SdƱEbE65Ij AEn6F54T"A(X-*6 4TTQ]tnQTPb,RQHTD[Zh0aH2DicML!VLRQ0cLf74,j`!AmC F`b)E,lAELfTf&-IbH"ѭ"ӫʋIHȊ,بZ-ZdXEvU%Db&h-Pvj 44a*+lĦFԑ`1kTE15ō$`JIk2(lcDD)FDwl[EAlj ,,E&0F+&IM"F%(cH1lY-%1dlh`ŴIQӋ -эc&"#0#A1@HTh1 i0AXHE cU%eDH4UD5& bX Ri"(Tlb,J&ŒcmIi"4Y(hɦXE1Q ,`ɣFɱm%I$L3%)!md QF X)AhX Mb A&#FԚ(CE21M`+:ZEQ1&TX(6؈X, ER@Z6#v[, j  $XE` 1hY-m&cj"+mr55%24Vj,`-FQ$ EAQA+3a5MBTI&Ll `DMRk$6'NlRV6%EbdTh-FƒۚS i6"ƍlg]\cf0dʋF(ؙ@bJTlџShAbbcQ`MJ21Iu+ԖNͮ$UcC"u\XIɤ46 QA#Q"6s1d( 6i6i2DǾqE)li*526;ȶ5#lDlͤ6q"04kIhIеFD`sdGun2E)r5TJToW"3xtn{']]tv (hՈoER5c#l\5[wy%nǕq0ŰqSwkםzgE(Ys0PlTBR,ե,+  \.ӪR%biMjUKr(*^KBM1w1[QZCBb34+ [c\ƅ ˬ8xTW/KL+q+iXdER.n;\5Ʈ5m mKn$\r+.AETuy󻠹aIemjUjmեQT(SD@CEv5UaTl +EmHME` VfFEe1dQQFZ,3MDT6LFh4KhX1J!)YQFES$F&Jd!&M%IBd i[)TVȈ2S# hQKLlLQMZS `6 bS34K,R(QYZYVFK$"[)A!MF# a"4ђ3M$J!$`)D̈́,lB)d4C& E5iMY,iDb3Q6!PMIFb6MkcaY&PJVH@RkM%I$)%$PR 3JJ3kQaRPTM MZfdMI&-I2B)RTd)ɱ,4b%$)5H6-Rjf,ŋLcQAFM1&dR0QFfXcIM!$RcEFԦ,h"%(,$٤ڙRi" c&L1VĖ4S@fA6ԢZLɓI"VKRfFɴZ0$lL")d6lZ-hPdbh) 4ɶi&m&#m%cFRJ[6lbc%[*,Y-fҡ+YT֚dd)15F)*f-AZbiI,U4(ee(i34S& l& i&UM2l,3LHd-#44-&-S-56)dT&2iFҤѡ44$ YDlJadL2@Ef- e3lYfh S!3(e)$$RhE$&ŬړidcYm2CJD"lQ%-ͪV6)(`MŊ%(I%I&)6ٶL4[Mh Xed%Ic$Ee5-1h1Jh1eRҬ#X1!6KMhZ3UQZ%Q66T[,ʕEXlkQKXmM[V5VmjQj,Ѷ%ԊڍJ[J՚[ZլZmhL֪U[Z5X`jEikbV5J%mե(ֵd5MR5ZEkm6VVFՋmdTXZITѭi5VCVmjZԲQmmd[kQ[Z+m&ɫi5[4֦ٶҵmkdlFmYhUiI+55ikkbŭ65f3UQELՋQ[l5ʭ*Ij֬TAdUE`ka*6ڣ[j*e[h2d&fkkթmVaKh-%k5*նJZm¨'zHDiͪU*Km6m2jS[mYRڵV*֦ͭ Zڣjŭl֥5V6ֱZMUTfZֶ$K5mk[IUjm5ejRMmV5V-[XfŬTmjRЬԭͪeEMKVkQkQejDZlֲUFk*dUKkm3UjZTkkiB@TH$URmZfjRTjM6m)VVՑ`m[(jVj&ִڵ)Z,k`̫diU*5mm UMVe-mV#[j5ٶ4T[m!UZѭ1ijlViՓ[VMԅ犪zJ=$==QzCVVͳ[i%RKmM62a5QU2֍UfkS*VZ6-5MY6 &%4MHZflTQ&̩*lВ- I-҃RMd̉eLəkHPM@lE 2HUfm$&MSfiJё-LdX3eF(jem,h2QJb))4(4LP j"%4(#dF2RI2mRldYI2l4ɳ(̤Ff,VZ-Tm#1)d#2L&L4H&%Z%kS4 $DƴI$EEe(Yd +5IU,JjZ#C3D$M$QdM$&ѭAJLY1,fEJ#L%6$Mdb6SLX WjڵZE~6K˨sfJ<"ivvYp-fP6 EXFb}fQ āU.vBR=oI6hNcqQ{Qb u1k(60\uUyp-/RdVݬ'D:aX. 7u@t+K'*(V(Yq/]Fez]clXwX̒8jڷ{]lܼ+`V4e->A.SODFSpC <2yCЊ>&JFM"!CWF$S-ֲu:Y6q,+*ݵۤ 5;#T(7f `T҈7S&o [.V2c sjZ&fM[Z"oA7l>6o\n#Bfg/uNTC=J(̯ @A=BSPny4EʨYv(wBhT^$N8 ft&B$^eR[vr–R%E2o*).BMa* DBe7ϲݓ/\ĬC̚{氫5M [pT!X]a \/I REIٰn;638.!/fQ+5d֊wv$=BVxf}TvB!,7F0/(He(ihr7jqvjD*OWyp"L6[^eM͘#E 5 n-#L/Gҥ# Q5IB=B :n nr ŃSs&aێxIk#̒ ޯm[b2-֢؅  !"eх_Ugxl4㈈Chy{C_a|ݚP؆ L,X'3[f[7ڭɅɤm5ܫVaw %T='oۭ oO4cCjP܎cHѶTPQkL- *˚ނnw璍cBjKoIKu<"Lae"S*u !*^<8P^ D0[Pd@OAh  &vPeγRj@ }jPeE,kPA{ 1l&7P^ , m0@TE;Iyi(*&́e;O)B ^swz WHm3lnOekm!Zc.m$0ܶ]y.gPl&8\5*¶ZIW)YkoIXj Ś]2PM^ʍUan7 ՉִQ^YAcd,nMJ0Q *Fzj{{~ٺa^OI ͻpV20T'+uCG&l Z{u uYFQ U *;6`֘ w jbZFZVvƴaG@۹eaN҅a{ni3ʖw1fZLt0u"t1{YyXɭ3fJ6,F@\*e HfՊ[xM. Yca(MdhO!L*ē/PGCt/r,2DKқ`q{RI[ܓ+oo+ЯvVljљ[c Rr#o*nKO&aز oeYP,vyWl63f8/J,_u~[^,`h=h?7NEc*./V[ckAbgȇi[̞m'WN=F{{/YdP/|X959`$eY% AS0C\y"-MiԴ YH70(,ID#|HX(3>4/$eEg4C^P Z‘!IH &9j=Y,./Hx[C(wnLB^9̆*A 6[0C>Hj"ȬhJ*,Xank@9dr4֨d*ÑPT\w%m;DClbjzϹbjS쵛E"]Zu9 t4@~+I@HOa0!SQE@*M&ǷWm!PG*y+ >MiZ hTmwYgf0vVR˅- e4!;*HN'`l`J,P5 Kt3:C]DnqF !eM4c:ޒ4綜1]Hh̰6ׯ!j%(D,̧OR@.nDUANNĊү' CMhZDJ ԡL*HJW4RϤKHTn$`t<>72AhDQȖIhSN;%/sN8^ה{PBH<'*2Ȋ9Yb/[`Iڸ&PP`[qKɧ{π~JLȶ GBr9rUIMShBq`)[J!UD\5Ɩ(_TZ6sE˪?uH_DZ&*?"bT#"iQؒCɾqqS^25*0XX^Fl Zjl{Kp`cVTv44nѾRڦImkK%욋i4Ŕnha-{VOziMDJ zK:k&r`Q:YA;zn1rM=ʉǽ;pS-EUEXs|ٲ6E6A0&Hj+OA={(T3;ǓBEb0˯oZ̾bM\UX1V1]}ǭ6;UAnA!1#!Ss0FHUUT8{wb̾xsv"9x+g-f " nz{qٯ}pUwzDI(toUDQC=no>y+QTkY/uի/#ˁQ(uSwj*g3&.=ZDBIn"A}] Z0(X N+H$̥UKu>>V+b47;& @wswr %]&xSXXSLU^Mn@ >C[MWL`CW4V;(c}WV}Қ\sfw35kt=H$ )LdrK׻Ou|2BfC֬+o-D |>#HfM]hz#5Dȭ@'C<0O$CQ݆tx]63 ۗcR{Gl{Z^3 χ~QDV )'9^FY9Q NQ{bq I O>+T+*+X{WkebAHazQ gt85VsdA h Vc! 66$ q9nI3]z%DWڬCS$@  <(xu۳eNCNI`jodgR$z$A ժe4b.<r[Q}o#>'4#@!Fj=m@HzE 5uΈ<}AiBmNUR]!;F.GJiS~X+(²NRWAv l%fc Sak4^2tv3)^d0]RjXQ'VD8qۛfRέ8<ޥº1͸ۈR*=S}K|rE*UZ٪9d}rAMWOhk5d1tz*MdMX.4LJ;BivULlG8Ԏܮs2b|d`Mn]wryȖQe =gy4CHt:c+Da;#75ͳ,(|ۘU8إxl]Mv:O VsLFeY܉Z]tX#5[-ۥoٳb)T Ui/y^޲A uoinDڷW7;f*AfS#u:Uc^<6TӇC) DzMλN-M(ueX#sNY9Tpn :-:CΔLKqXpv$ݷ]# g`1o Gh ތ,Qi,w9=TfJXԧEUwu*Ad˗r gϒNVN v昝Uζ(4Nr1]w*Zv1 blg3^Se-WD(# (_;\kb}iOv5c=ǂ8VE%](u=ggR2uuKIˇCmFYMܫVz '$]kH01=JL<"p8lZ&Нw\p!y{NU"|0:${Th,<Rۄ4Biԥ/*`%n!׹8A "YO9M:^:wvu\Ɏ"\o5/V(MF v@Qգ]pQn6Z >D[ϳӽYR淬$AO]ҩGXXt55Ő| t,QCQ*.QD 䗸u<\sliZ:i42麂[I"OhDjג"()6p˅)\œ#mICRlC/DK̂AW}fSYw3S * #+#X=PSC\4V43qk8k5`I$d6%G :1)Kǚ }cӬz]kFlX NB1D@|A-"A#j04Ȉ 1F6E'K^D~hs,=}owl "+/.;-_nq"d(#P\DlVm6+Q}0:sT4!,wvG;VIYڶKpt2ѥ3sdOj7 IYUdžT&lQyyZ.m@熟P;RURp{ǹ;c,OBQ2?lE̪3*.-G@de%nU X/[+Ouվ22!Tp׈^zsHR?a "N(_}gĬۇ5qReD=__p{Kv::ֆK2Լ qD8qYy q UUSPu9"AQb^ xHƁԽ9C0`V, A ya1﹀zE}23o &rվŁHs!o2 ͐'PK"Ջ\"= ǝ0A2u+ he^ss׶_;唷\T_s^uq>L҈E m"/Z;G]Iwf&*)ϲ"XɊ2.jfTӾUɥK^~6#y\8tj|ĘTiis, g92IKΗ&1+'~m(P<&oXNsWiu &O YAL}u-ʫa>tq NZD 2lp¯p&!KnUv<Tp@DLBfܸ3kDg:uicPb 2(qV@ V̡!HIQ i]!XW&8>qߓ2Q!XoS%@@C&]"2"0 (B`Q^Rs]WnNIp).ofͶ[sMEtlvFR1Qy]KЌ=Zltr(3.SbFH'Ne^q,.eVu 癏JNehDzܞ'S~gf."((S w! |#x캩MLlbl]Xq6˔ѡ}L X:EݕbH1;{iCV(n> =AzƁX"AV2Hi11kXbgiwCx8]:QgܦJwbYJ l!HVK;^Vv( έ۫ܖ<|Íjq*JJAI'^;V- X&o ךLeQ7 lSx+ԋbyHi/= wf`tiKGV`Kl 7r @oCft"iC t&6g:B6f8߹B# cE3GECBUQ(=XS$bz] ]Cn׍m}K*CkHѨgrL=f/=oZ:2G"H_MT8̐pLP )جSCsUC7ğd¼BDܞP(|\ x QO##xjhP䆻jjh;Ǯ͠&IT" ]J@&u$=)B@AU5h ! dm!jJE_[O`dMZX,f>q՘\*PP}d9j ؁QZ+\\dW*|mͶ/]br. Ȋ{ ӈ`57|y^SbnիfZi}y׼VMVɪZlnd5Mbzj47mֽihY&aLAϕUg-_p9rsw)W .b@ŐpC!qHrr^T`vn#&Oy'))N9|)y9٭f`>'2''d@w]Ε%́㊘DS7.Yd !8\f3$YVcZ6lm+E `OSEM8AH}VO2d LdPSEmEkysݽ1Fֿ5|mZF@T Cy9aShܬLy-aa_^6M 5[-kumj5-V6SRvmVjnc[&M[a"ւ(GύN!(&M02e D"1,,yFP)+`y@=aM:1Y&0Hh̘T\h /l.W`PQ%ķrBh~b*Vsl6a-_9ʼr~D>'_{3I)2z Cr-j+E`Đ`o8[Vj֙ijd=ijm[0O֟6[-ZF)PA_p J>[sn@ֽp 5i)19}ћuU@:Kʍn6, Z\LETZ[k DR8>@Al`V>H0q!<C7~F+M%L"uSoS%Xj[~ _w_Z1y#qJ !ٸ̷m6XڴfyfaiSkrֳތ&ַkFb`KN9`.7aj沽[@!Ra3dڢ9~[ׇ7ǎ )LA;{5;S#Okr) #Հ {V!+HgޣExCe9MkQ_IX (+q!Y؇,l̵62OIj(u_eP@j*pRy4cd0Ac'&)Pc 3(kyVj5SLQzL}Ü9d#b&ﵦ|ͫk7jk[6v6Z=366||+!X6mnmcM}p 8 'TeO - 4mˁfI K *tN'O!<8"O)=yP<ԃA; gr[ 2 O,Gl0ieXog.N֜g1%@y0J (-]>֌$ի"s@1S&CTJzBO |gkזkl٩hLK=_J P/d'Q\SV,u_/ϳFA MMjk0єSloZefC427o<030f1Eq 5jRo"%k,.EQ~jk}+gB{:Iv=F9R~/sn]wS]MX}ʖgg'zI '} kփ&O db\"πF|-;`umB*j+V* utI_*"3Y*W+M$7.G{6靄N c NDDcZVX׻ͯ[ː0ʪ$<C5#!xn&}46nFիݶ7d2aa a PjkFW Xw#p"fg2( zv>k1@]Oaz3P5N9'YE'G6+ :ͬ{x21b>ikY[@Oyֻk8#Z)ZfZbEϥoقi+`y%\(y+u C̀BCTAb3AZj3[dUI1o{xtuhlWre(ŚE&X&MI [Cadm~a bZcAToYnl7𼡵}{@mF.7vYƐ4ktn L5 NL06{-@oɬ~řҎM>2OU^O{qeoV]gor tҥЅ|JUKo+rc8*(.\f!lr uA |Αs5}6Thu֫6_rvPaZK*Lvnԕ9vYhP:R"TgY}wd7o5ݑ7˖=wWEuH+3a*FUbd3rw3MnIӝ,uI*(_N 6vU ZA9%BelwmCoPj3p}cuQʒ\IHJrCљM"TfW<83]\jk:؋w]d5J@^.6xQZ5..q_p(jYpGםg:V }^݈rk]Q|e>UU9Ωhv<CaUJAϠѷՔb+NVm#&j.ވ )n;eee0q2KD}Ƨrӱ8mkzog `\d ՅmgzkzRUvJ巒u+ᬺ8Lŝ)Ma{n|T]87tpq{*ъR^.)e/!fw֍+UUEͰ/z[QxI}k[ĮYf^w,r-L-[]%7]' u&dؾcs4ntI([x:Mm*FiF5WmI7%E:fM ڮr3 ;ͼǣhB1H÷jsp>KanI٢=%Ηi PgV?VuuPCܾ;ki˔NXd‹vsoΕf):/-6WH)`Q&^e:]**C59s9oNԫ⪫ڕU^+]ETӶ9 2(hOuʜhP.NNңV^syIuҌ/7|vN[D]o$쫢p`'b\UM`gn[ȸ*堬),v~!ULu׵6wRD{c os#|N6S2YZ]׶Es *ZOh>X,~lӲiCwѮ~Y1su6KV.kaUl$B[lbP^Id:Ot^<ϏN[K]$ѝ$9zNémjgMƍn 0-&Af3Pu*#SSB{ZɄ]aXvv[Bum^ |TޮWO{EgUI#bVn:]v'B@Y BSy{{ 3T S6کNQ鉷[˚iܛZU``Yi>+tYŷVc |̼6R[P}! [5) N!x6K;.'+T@m.g*CL'oAu@'{Ԩy"[TIqӴcsWV9sD,T(ν7T$V˻́I[(mvWC`51TDY6m_j3$#NK/e2ՎYm_{2[b@]vwn<:bW*$ow-;HE||UmvVͭĕiD$m$m5iL Ў^nAFrʚVmqVUۘteӧXtj^<)R\-OtЊZ whں6 NtI.YTvYә^ѫd86qjmI)UqQ=-naGByOāe]nc:7FIsM"^zkx7[XԊYO2׷ 0k˔YU{ bJlefoXo,UvkO*T$]ܹM[=" HR6S}(;;ؒ咦6̋by)rB ~٥VJgr//k9D1Vɘ͊Yu:]ۏ YrܧT⩅ݢ O#~q>,i@|&%DGDžWٜD hwTv:E|ԟRn[Nqʱ׀.7νwD|Nt[zz}1@ܣcO7\&,Ku[Mn;T 1\{Fc݂iCm-hD蝌g XU8$=kU,u6Y,YշsyM+gvT b9;Aіcs_=c'*!I Ȭmt 0f E$t!ܥ@k7{tZSB|0KVVtF^6Ly#U:1q{z*G˝zZz{5x9)Z:C;1|0{ MpC%k^3!)43RQ{m;>veP CA ^MyW[`ZکwVR޹~D/rd&ؠ_eQ&Agv[5 nJ nJ÷Vl ,QvٗSXp^~;LimCnU84y^O%rWi 3IQN60dU,WxznAi z5uɕ]6#:tR&6^,xgwXX4s^X#@|F; !Ȋɷujl^ pHx|n{9%˞c8B9ipP弹PzLeOjfj//7fB2JbKؒrQ$uՉʊctOaؒŲ\Nh?>9 !NY !Rj|aQY8 [fcv xZo6 Ky>ެ''{ڷMt0T+I5L;|s&cB{@R ^y0Srfr0oc\V"ɬlo5;BZpi}w֢J7ôŌ7IG2r噧 ks7-_w,O. {7;r<:i,y7'^IS*ZuQT޽nܕ D6X=zv3~?xqm)0;O5^ b6Ĩ\¿P٤h˙dJ xr\Ͳ4j#qd|4ի-VCS:mwt9P&`;Ld=r,Wi)/+Ui&tT췧A]2.2Psc8WLe)jMԝڂm;:jὲ@G,nk3Gjw[˖nr3HU+o6fZihG6iJv 5.D4acPdL԰4^ M @1I aׂ'g-B| YC౽L1;/$ڍ,息+*|#ǼGjv%cNC;K鸏a0Kbi>\2葉̷^\L6:ۛ6;}QI̲5/[4=b'HUyRb!&Vh!B v) }l,m*31̞Z9'Rʴ{{w'NӺ";8ų Ϧ2ަ^۱S]r\xpMɈ=[Ldeƴw4&i[Q-6tc׭kP3ABV|<绻/][q%JS9Z9c'=諮,ӶV鍬7T//XsO;K1$*Z>CQs(`7,W:i !V/}L`0I۾;#jhQW4WQxudUZh FJi쮕9SU sV]v'VW\JؖྜྷC.*!o>WCQ 냅VwpҎϹMmW./W>u%V4;2H;Qzc9Doxrr7 CW7#*65]\:蚣svP}䋤f,Tl +{R4 vT &GXeL{$z:U% K)qVA@mZ6c(u=]ى:SG;VJop?lwWq<СTV7s$%ʉs+u\coOFTql+j0ÏU=Pͭʬ,Vevsԣx[*)#ξV }C!<LnN[GF_5ݝsd$$k3f6fQL%!Z]B]ۂ=Z,Y&-ӎaᇉ4]n+"2i}rE`}[{UNtM;no(/-aԃ嚳ݚbNdזkWEz۝&Ѳn0Vzk ۷&!*4WG9],!wSڇ;>:Ș]>2ڳRs;Y(1[Ejna֫h콚s=sWIפn"Sw8ԸtL\Go1`Ҥi_fnky* O2KFrigg7o0)7UUoovwf0vez\t, Vߜ"P{WZ0Je' (iog,F"Ť4qZAtIoYΜ3H92*8gNVJ\-0dqE""̇Rӓƶ;GE3܃'r',EAk=GtkG_ 䰥ҲY;GdڒTy!Yɢps:uK^Y5IwYk5s;'iqʠ:F7}X,6mv:ۋuQ]1'Vp{1*=o8 gdu>T_F6-T~b볖oƲUYP&IPk1HoƅoYf!wmc9뢟 z6Lz6oUe}^%Y]TGn̮׵U&WMG*Mڳ!hy՟LF>Jot]Juʼxü'svGe8h=zU+`iS]Ռ=7'6;P '3{nfN="7)Xt@ǔT͉[ؘvEWE \c}weح]婝qvƁb WKrKV M#)2(^Yݻy^͎g'ɋwT9w1o+ݸUywG|}Y.zEpT;K9{=2*Ȁ4k7V-u;Pqom jQŢpvgV YWscؓ1)];'a:eشS:)v!vmM}Mui>5ۺE[,nn[aoVj]Ӽcm)}/zS]k\ˣJ4 ;URpa)ZE=d:І52K:WQkg]+rS&ǢA96s3XF]WQCg7ī L7iXhjvvo3 l-yTe/%$PHDTFZ& )BuE}sέ5KSj*g7Hx}uZݐSK=N]%Φܩf$&֍ur󑸵!޺g be;2w[wץ[wnMM%:Y 2G{s GRg-p%kr7\Ll(mJMNUvh2cR!xM@ 2tNoVi&ؠxdvӀvq|-nXy{c,3^\̴7[kpelկ&Sԍ,Yu6Z#rN#NNrf7+VȯE3J72WŗyS3jT&~{T;*YVCJ|lHd/״6+k)tzjl8ng {|];0IS o;>]\۲v';fWWCl}U|PlRbə* gEbn4"4*j@tuv0߶+]CfbT(#iyR]TU6[9+knهnu]1qY.cS^ax`YۢWݲҪA6唍ZY^mЙ%;3Y+xY#Owj8r)Enq.|= -@yL֥۠ ۑ~^Pj;X>mcGPy^.f% 2mŞ!5II-ٝܵ2*fgmgrj3b{1Տ*1\oQ׈J"w-*& b[\D6Jf\ΧS%H^ʻꊙZ$ėXGsU6e$Wu%+dW'^Ы/9%=u/mEtqTĐZTu@pkGBUݽ7]P}8 +5z>Аue`+iwD6lq;׷HmŤMMzfqxi_J妐9.6DsWh^ZL="3Ak']{u7{{9fj8;")v.\6ʼuPr6MDkuaD_TJV4+)ӺFv={fv S_Ii`6y9]L|Gyg Y!FΗ,dĿ_O-qm$vZ' ֞]NͻM\<\1] 6PJnS |ϱ󮰚7py+)mY(zrCԷ)sȒʽ'lpnzn+ םpT;MUi&;l]j}ѷjodC9noJɪ}t|5|݊]r=\uf6Q" vt2"1FNu])hR=dzxu]:һ_fzjvznŏR4Ěuʻs{\ۯ.+`Vncf(s;lOIо3lG*䘲 ׽)WYQfNm E̖Z5au9$;*Mgl@a|y+C' kʺ='@ekksq7-rh}e*엝H0彅 aͬ':u뾹=]#g5䶊7Zy/kXq]vH\NKL̼To˽^湫׮a3"1GVG37f^k! f;-UcLXάOvOv棷"}ʐc넿7([/Qnj)$-f]t3Xe՝$9k̓1k/srnr:Ux'vj-͖eR¥QTUMN.Z;rݪX3ݸ3VN:xeC[M,wᢆAWr&f2ј!FֵT=5JSvg!L :sf>u{=Ul\rWkduEbsnyEKQ[lp^7cTޔ) iN鯘z6K\^:YrnL6澗ȶU%rBBA-mQBAuU"pX{f޾y -*|^T{Tp!(ZCvT-3;h-ugfe5[ +ibwظF4TӔrm2}=SdŪ[sdeX[ze \ŰG" [c| +5%%զ5VaW{N$.\֊PJSC(JJ]ähKӃJgdrR2ڸ{ &1ộ(i|ݼ#[ʰ[Y6'[aRJTfT/T37fm殏%і%vs5e:JRҲq':â(STu ʈ}x͇y΅ZgVV/sy[6_b-ǁuK*_ك,"д_LVݙD\awM}umphΡ Ai}­E&&r5υL$d i& 캬NFg)ppE{UsȞ܅%׹їIU{K&t^e|zܦeU # 0ls}sn8Ě(q!tr1&KX/}B((tr0Lmk޾Eַc%[i眒rZ]@hlB{YlN;oT&4{sbKT pKš:{hQ*l:syZORy yW֌nОv*](Ӧ`w ,=36*"$6T&>rpA`b;sw<:&mVzWwʥ^ayt;}/i/.{iSj\\r@B 5JT9UN"U7vHNࡍ[u&8qj;It/v #Ns ijsYX; lHͭ[u u8n}y.8D9wsY˙c9P=볊ƭ:Ӟ8mnǚ7/my>FX-g&r,IU˦'Ǧ4L׳{WLE"'6_*%.'-R`éQirވ(9;YG7EG T3ӹt:-pQfAY٦4WXQze*bcTw8VE5wVl7oT]XNn-ẽ'Cgff>)uV]mFxU銁NBS3n+K~,q#=x/z20Cf5q8&`'۔vV/Xw#ngZo/\0HZQ'74s%x˜cg,7~CJ^Gu],P0y\I-EVwpOb;KAh2U*2u:ܝܤ"ڮFo'+Pq#^Qj{ݰ:h;ʶf6y-Bbж4WuCɋm)h;#it',8N"i_Ua*aկ|"UyQIMޡ`;7k:Z{XDd4ʬ"N:ug=j׻qVFαkC'ǧc̫د4Onıv.0bҔt;d;3e#zS4%ՕV6>T#SQ+Z}-jU{ܨkMfM<cv^{UW-Gx3(DFr:1,CFDaO$]FS-cxu]:{/.Ӗmz,X}VB[჈ݣM_r∕Kʐo[{ rlf*l]/*Lutt:JG+#Kifmj]Ӎ^V]Hw9aʊM鮪rVeKuYc̭sIaTpKCTt%-R6+wr;& \8,Iݶ&X[hviE+vVUY}k[F]*;KV]T*ʕqdҩamCV pveԸ"`uw cP, dƱkUΉJ;穮 #^(%&u;jMQ]ظnߥn%J:x*赎S,a21CayUc&X8VVRnM1A"BΆ1}لH{ZTLMeqD "NT-^;LբQP(]];sZ0ϣ\G+aԆ:Wl%6nweziN2ەoSTH;ޢqehram-׷o]QE]6stꐁNQ0:MO8^jzB*sObBr.ƩҼsk՘q8qP෣TeE]Ҡuln5Ͱ3y멼gNXNλ>yd'C8w.,kKjgd@]/v;m+oL5n5X7 :NWDCx K<٘8@oyT{UZ&C~#V8>U3lM4ܧ2f3 sLrUD6|ʑ]V;4\=ܬ߰NG'n*3\cx7獜p.KT{"ɒn#us\W\h+_*+ ;I5Z# MtXU7UNת0е+uC\ϡէ-$eTx99:/5N7ܐzexKxa*R8("zH9P(tȆu,Z=Hf[KZ7V.r91SUnӸkS34Lʘk;'0wsrzXagwN]uO(K7k,I;-c&u7{**+r9XĺK8զTw9-H]YĐǽz]io Mmvw,Rzqޚmy57pճ: ub5xw +fn$l6pQKvb;+4i%9vZ{ڬa D#1ǯfU4v{3'u5Se+dD*$"qnCWA_C\ym2 gyQl:a*lHT iX18Y>؆7i!`"8by[b0<3Ү7N[7. Q-KS%׊*e7+J X;`nU(FD5{ȟC4|\B{EJN,e88 r{g;wv};<< Cnn)Ty井9A|TNk0v]7TRlhJܾrUE6]jZVqsk:PêĘE6ã;b(Kw)FW(Eut^g]t }nm4T)uxgGubJe[2mmAswW: uq٬EFV^=ɯJPPUYl̰ĉ;`;-wl5UGMvNh4p8۔nnk1VPU!jsM-)yPMMfqjWUŧ0V4_'Z xs՝4$HU-78t!z"mG/'sݴUX9c狊%]N\mMzeGk44&;r-OS/,&MA|su7*V>uULΥ;juU]kk SP^rP#w#oAzlYTsH8u>.RJ4oiWO-p::l;wZk(cQJc-Ÿ83׺JIE}.MNxn oKw6S³2MffA c^5ɺدm J7T޺Xu{l%\{(3m"č'Ur[T(CXb\#rٹV嶵C1u  R=Wcqmw C17Sm fOB##iFe:FYgZ Uۼtۯw'^m) /h:.֮K4NolQ'fe"D:\$$PN,q#fÔqڠK&1]KNLʨ,xO44f 8&`z5 #D3W.04۶@#F kUF(AXQ qpHm3vc;g'Ů˚ovyꭃ&\.BK̰ Sz\Mf*;{&BGi*f͌Ё*OsC|jj"@ʶC;ɼśoǽWPS̘Nkڦ_e2t\12-QUl;8ST*6M ju>!(%!shtBu~m8do}z=g3,1+G3H WDjl5Q'IDgswRGO(1.*`. VQ2{*\HUw:oZ] Z0x/ r=cNۭшh6zOsBd0bsnoU1/q:i[=s|zY}xuj+ KETL6P!a6eov{o{FPG bO{8v#jfԷΫ"FFJ zf=<4pyo7K @{lWZީiyfM۵q5 p XYHosElӐc|:Rfeۭ/k ( V:Xi,wf=]6эQn  5ӹ~AoUʼnGuH4vt,X;hs76\R-rfYK;-K|teq%]UF&AؾY٣]T xb<-G8 ;[)5uM2ejH)t=t5)[6JItųVn3T;/5[**PFD4n/rL]CfN#; s46N7UR[nX i3AaWMJ 4=&>3ˬ5zHi;0DR6[eDutjf bMFqΤ[[ "˒vcsN3.v0mŗyx-$Gvl #c@nzkuBYV]:4K*(_1ZMFwBH`yTf\25naP>ݻ;4\̾0g}FGnꔭk[ ਻eͪp+4%ww]F%toUЬ;%۹ܮNY=׶EƜ(r1O3eZuO L"f.fY]=-{ RiKCJ.lqrpIySW!lz7QiQ":}xGt}T\ t9ٛ߸=aʝ,)\]M߬CbS5mGb*Ӕm&'6v㌎ME4)h8:/-ч4FUQ½1*,\$Ѯלּ :{2Yصg C;ȠuhMu^6UM1v^fmA Ц'znڐY$9-T{\'8ҪYGK]'vׅ͛=PN}Z]7MGq1:R^7ƶЁvPCn GU=9*̧]y f`48Nѫnӓ-bvVk7F.x֕꘰Sҵv40XTTSdu5Wձo1艤F#'I-L:ͬvZ 4jk죵ULH ۘbkuy=v63zިzLʜuX@PHqIHeN$VFv,NV6t4LY$q&j8{dRu}\)Yv0C6BaAq˄i̫ڮCjJ0H +շ VmE%Vp4DwηXjf8#&jU[G7(p|Nu9o Lnjؓ'#Xzhh+Hu;A7bs%gFnc3M<2RIu[vh6L VwFnap{vYT䲝iYYdjm6uU  smcfA=Qdz!l7W\5HE2 ٢Qmr[V])SueWttxڎqWԫujrܛ7V)Δ0kܾ̻M)PZ n~%&q:zr3C^}Tp2)Tv+Ŧ,:ГB.q5U%<5] xmX UfYӬ%@JD!30Ktnn{{,T˭*OoS R*QLZd;Ï`{Y&jbVhG|PcqMś tgJo&^oY,ݵE['(QJ{aY 247W[K%ZPݳiweg Towl)+Sx9tzqkBL˹\Mr 5rw#oi<pt9Vʺ8SrlO|)Zڔ/\M坝]ޙ]& [wtDm=SXt  $;HtGlVӹGo.\Z%c.>1.].fb/믜`*f=X۸t顸Y/^B1CEsh|Ÿ[F>|lc#_#uk_>:v\;z<2>iZ!o+6}ҫkr,BnHi@m^q Ӂg;װ^7U`⧼9QU5\Zc^Åjt;.7+hE['١]h]X{`{{ظ:V[c ^6,@9oVC!С.Ω'\orޮ;|3-*}hzjNj:F:uQ̐os闧s_rms7y J]5I}:fQ&|} ܘ0D^. A}L*Uy.vwY>Gn.Ҷ7t˔SZ &c. 9xRAVdW;CwդԠ.z.tLkSE(+.mʊȘk\"]"eƽ2U(dEڅk2$'Su34wx}lWVA^KjH}]b|,U5j/;IwdEؔAE9lyT{\N#:ȅ>7T NWn#Ӧ9 (LEY+ܻ;{"yAJ1Zf"D6ƛUV6i2ߛŵn^T'1tGpȦۈ_hSe+)K#:3u'g 3R5QV9fݷD⪠0fa nrkʖ7绹ֳDaUKi1Yij[wx,MQpV6ۮ .93_U\X9Ï.L͞6ۥs :"N: Rۤ:vwG.&_>z(q_rwyUuLI0q68 j"]Uj]vUE[I3vF8x[ɲ:7K Gzmd bTXbntm^"P7{ K'm#ٵA`ڂ]DHAՎJcn4JیY<ʤ/9XteԽz4Ec\/.Vqg5YՊm&Lv S9 ޢ'_7m5lzS/j7w.OuHzF Ѽ>!NGf߲lpp\7 j=t{%3nĻ  ce_3V\`hBwjؗSݔ7+=2l|!9,Hv [aRfRKًͽ6:-5wqy5>sbGxMu.ud͚junF .rkʆuf ސ}:WP5*qaWNGV/\ǞW>suvӾ$|*UwuvL;z[9*o&1JLƏpԯM{do~繯ݱL8g>0K{Q+3;h=&NowCQ=zKk[JsLR4'XnZH [FcDb?[#[9KͥXfq)7o ^[iP~3oZmYuc,GզBK)N] sdgf 29|NVS|tML%Vl<=s3sڙ$T7΁6j0qo[؆" YлP^ӕNew-ϝrbגj;ql5envXYY~!:RuRrVzڻ bSXq[6WbՠP\-KY^čN ddWwVrE>U/ 0qH^շ\Yp !4qy7IC8W^zSz=d͕[eߴ_/nM͓TwkQ ߵ{Ja.|3L<^7Ѵ4+2œE:FA@mx09<)[ƧϰaXQ45DXHa짋2JȱId9JXȗ}{rBlK :dʘjScUl{VիwsVUˠusV64|}4w{{BWe|tɇ)\IF໾׆7:Kf%pЃVBuc+0QKơrVRD ˆ.棙7)ȐNlgz0@[6Ho+Y;1elg*h6〓^pSt`SZ5W*^0jUU棓$aoܛ!OڙsW^V+MYƪf^CzAudX_^gؗ(WʃO4#, ߱7SNj =D t1G^6hɷP3p6 4<Ӛ듗 >Vs[ K5І.2:VbllD 0 >C"T>k#u۝ ژn(77d'ܚfL+_B[W=1u,\HUʞwnH뇞 >+4q w3ol8f-kJ}6O6hpr|㹽/8\nȽejQlQNm| XBkt!o^y4QSGlڛw1,fMFSF4ar7LҘfuc `OwĤM5:лLϺPpAl\tTpm^ޛfR,7D(Ht jNbԊ״H\N˖M%peB8kHG.:gqyZТ5G0,鋛:Ji )2E!ܽD1qLdvףğ?"Y!ʈf1u4#rYGMSVie Uy 傧v:qxXNfl4eQsTGV]MeI1jTdԖ^r;xu;$N^Ok  WUFkڊ%~# $>ra,qTNof6iMl ۛ)`vǔ(t‚3VۅZ!7a YbweD>*e NҖUۤSOxTUTuQS .Fu h[G5AS.PYԛ*-귐>Gi"R Ъ}6V3LuRln,a畬vBNS*E *\;s݃7((^gS""{߯:M $ 6̻DAYQMGmaUh Gӱ T*|8q56ʤUUƬ#\cB>:ar30GCE@CoJ+.'|4*Dh*add%c{n䏳J-^2欈0KYjc>˪QT'2r⦟hw XkXEfYyY6=koAzh5veGPxtwh+ƛbwv=~ߏ*xs,4BpR u8dbqyޥcx]v>sc]+7H4QPȇcgjuvSn{믝O=G>pcmE">^!xI0ErP&e<ɏ@\%ɤm6hK@4FZ;#޽#u ׺` =*f%Ba.tU,ֱ0LtIf s;ZYuʬ;n] ChZy?ד@G)u~ aLjvIS+50F_9byD1W]/{H4 Ŏ2 W?WܹaaV+Wv2(kaJHeFX\ ^W+'SP TF2,}VԍgK{7uָ eVL]Ӓw9bqhƋ$*յ>`fHf7Z ϒ/sɭfW36c0b+O0WVQTCts=-dx0%FdaN嶫%dEYYM|~l6ZUn]kvy5i]ϣ1dM־|i7=ilۥ[ڤkAWXul?U ۉn~=Tֽs=a5Q3g5;$;#^3Gy .skrn_SLz2lfXW:{ą^9yr+R ݸw0)[X4yd=+$8ϵLA5I $p;؝{>By<8YwT5Ų7M[1X)ǹسj5Y4w\8&ᔯzLJ(l8yPs0S{ZkzaT_^]bOwFG4qar+/YQV*=݄gi6b[DhQbEX(x7Fy"zAIk-%cVۉdPYvBU+Skgi9NC/>[+#dY2 cf, l^_KhY]Z:Z٭g{[oCzQ}mL8rq-F:nc,U@ LaI:"nP)rj9H*EEEHr7^M[qZy݌5b9`#tW|T8hݾ"i;n8 橉޾iioz1 ؽ7 Ǘ%N톽hbiCIUE[;^ "H"$8*.ZRrA YCʞ v/+DjF&K(]jd.&TeIʝ U:S,58.գUUL2[޽i!ҎJh_f&4*h=k̚C&ʶMW:é3@#If z6 ʴ+Ư\c5]XYmͷr27'gWY>+*IVR:@@C-;s3]jʎT'Wg+ w1Dok|ӂq@y7sۻhO58kMdY]9)1l54HD+`cN(=jdE˵Kҏergb*ʕ}#Ԇ{׶ٽEp*+ AܢDca SK]u]zhrF;gr`}S2=˗[N~HmHL10L%ufJq14%ql[33*|PͶVk0Uh4*CzuڶU:RM⫪wBvtႵtPA=)S;}ϺІK$&o[ ؃T9.Ux[ hE%F 5ԥaF0ک7"Z Pي0 nweܕ:iN\~N^e+zkKaX@0tqOfptd4/dfPrWV#$B8IxS]u㝗[/hw^,2c/ZQqp"Y7ȤhZOht2ϳ{jaX3TkT z >@" LWmNljH1x`A=c0+IVx2B+rҗH!\Pfe_zg5!>.Vv|T`^ #mBL봈PWᅁQEg؇2O`;W6)YwqAS!942ig4:~}@ ZAKVD,}Q@"d, s.o8u =*#W@[)<|a/tty00tr>ǵreT8ww7G@D^06&;A}4ż`CGFr[qr[he!Ybm`VEVEON޶ ޒ]kSI#es-U1Ѵ87 6_CL.ڹ-&eZhѪ^P _UZ,-l,sdF.~<i {Ǒ${xngaP⅘Đa!.Mt s W%TbV>)< gsWӟYN'mx; wWGxj$BBGt:>t lqCt&MkGVb1M, SwVOljmN3af.,G)'svw=eLeh*h)ϦQ_a\Mq5 Y7mޏZ-ϊ퓆H{78SnۥFݽ3WX+r"5Bl{- IV`?UoN\F݈zy Xj}zk˒9B)@w>LV;hqp^S+m7k,L]}lm,fmmjuZ2a;^ѳU}}okSПc=7%|6kaAB0{5{3ﻁxf |'{} q񝲰Cگ8+f)1et_m>X}6ii`y2xF_zFﴚ|VIڨ&+'ΰo~1O2NZ`y9!Sw!ݡi`nİ,>VK6328ʺV]{Fwiw{[>cuiۻ3ѣQkM]l::D/c oȊ"NCb95ڝ ZkkĈ| ~kieJ$JAS(+jl;2yN-rMM<'UC}C ekսs"%`2X\daL!j>c5qR(Cf21yX}IE4ɊPmP=C Uea ! 5t!9<--q6_ZCŗ#ݶϳ՝Ku=RcX]&4.N,ӬNZ22PYXq_߾ZvnRh;=~qO"gN}$5=Yx=Fr<{^+x1wuؽpUl P$Z>^wZe iɯ.T_5uk{2*#R<վ+!zx4iꆹqJ!k%L~QO2JgJLb遀)=d=noᷛc`ZeaN& ]嬱eY{wV;~ٷP2o ZfZvƧ#vGi٥) @"eYWwW97awtuW1wեm׸nN w{zRse@fpy]hZ4' T \5iƵ.VNv׺7N ]=޲jS-x8Z PCH|vLd5tY î&g(PB@'of׎clڜ)~e[CZݮe1#sZW+];5֌wʻwSm.pbb޹+/}2&%_ecse=4sh B|NCZoR´\thed<^:CgKYt4 ,_\V^*LsSHtOGUfLd!eOW&H,Ki4m6Hjs/jeEl[G\ n߲Dzv !}>F>d EEr0=^u3.n Tװ{Z'IWJkkNl̯/]̭ `r%t(xx'Sj},'ͨwnƪ ~#h{؞EfsQx5,ЅCN),iIBĞ4QZˮι^]qkey7P}\xs*F]XB(JH]&"iz^V'6\J /bWfmbv4ϡ˺DGLBM8P.@6 7tCOTgL17ok5[BI*=z5{ۘgbN!P堎[m9gi= Idd8/Y!">nxp:8U"Rj݅HRor[%YVꎐ}K%NMf'MéN]}]eoyU(}k:d*=}M\ 6iv u#ß%3b5FuvEMWM-b5k ^_XRb3Mf LDuLk1gDtb1hdIY&C+&EA3WS&QQ {`5;{ '1IKiƄV4-]`G)ǹ\9-+x`|lOg(M(gEp*p-C5ՠ4*"#ߟj6uCUbUom, Igr@f[CyYhJ!"=m2`(,;*"rNtb:Y*tԺ6<R)'3w gI a׵,o<5b.Gl-@w^|e{(淺"9S!9"v>K;agpdKRw[ύHɇ7C½ sxmõk{xRx3gb.v\) :kXbR]umt*RgrSe6 ďP ;\-#q-U:}]ET5vįjL& kMY dq']Rz,\DsSװ Id˸SvT=Lu׸x{1i|Mo'eW<#DRl6ݔVgOh]۬B--J/i0>'61yZ‡A81z2.eU{\|vIOƭN-dut4hk.Bq V`N񓃇_$L)h6:gd9AQ*.lw&~YM^w0w/1a`bRǵr6Aʺ߶ktrܵf0^fO[7Z=RwٳNڵڍY[Eb afTWÖS"oa&oE\+U׼3Ќ+u@EFݛuu.U9E4&.^.:#Qk3%3"s_M0jN)K C@FhH T(&#W)`hPECO97i!nfp8.ΆɧyX-O7 a^Xkȋ>(6-TuQ/A¨Rtͳ]fd(gPDC/L_ZxG+ LVB:YA(r)!gng48Nf|s կccu͈|PP Nlf"$'c,7dHVvS[P%"eSGGf7%5OU+:Sf/ /;Sn yˍg8x٤5sAvT CIYQo+;j*b7RAYe>4B%J@H^t7zBP4f̕q*kiD@ 5A VecOx.>f;>dXU iVP}=TT}ֹpQIn4t!ýG>" c-PRtHR m뾗C*=Wbo hVjQEDT+=^O x{cT=ǙY2BYာ|T?,~cVQ616]Ͳ|yեw(xɈKgsյ# D߿M}|=Yd;F܍QsS9yܭa߉ߊ4t^B#ӆe0$ 8Pcc4)yD >҈:~ֵ{̬_bÈPr>^ϰʀ)WG |%3Za_F+1g16绹V&Tk3{wLMBuM 7,NJ=d5,oW7f#oZzvLnggg[2`A)=~xdzml3/*~QL锦WV]Qkh|*fO7nXk؞eе"a O`0_ \071]-hևdzϟ/*njla~MH~lֿ7Z5] ӯL-c7j"ݶiƘ+QPowQw>%_8M˫b^S‚{]*o ;ņ$2aiXQ@2qK^ws-IUEETHvIӤo RO5eO$Fyz"޶{KҨiw{7Uԣ/sWӂ'e2w9ee3mvfH[0tSVXe5Zi9J9nn?}A(H \1 $a6.ICW(o풽|_ij8r ў078lB<5JX4w\]2?xQSe՘N {}%TfW!zI!xZ:'ߟfʗe`dllڸՌVҮZ|>Oջ 7MFKa.뻆 lS>7u5M g2vᛪẂhZTn/}79x{0@N~s:":#q\f旘D 0]h GݠD}C- :$ I:Յ:ڨxY<5IQH_hO5:zh]`%KTݍMsU5-H'wSO\Tnkj+>mrmKj6䥂_R)(VK *.Ii]7T5+BWj"iFPJ_ߛMBW PAzXZ*wCa |k%^Zk$Yr 93L(43}z ^8l@S*.DH$Xo n³$"rCw7ӻAxXHLUL}T]$A1،^}PL.U\Oζ<˯vl*5,]Prw%2稺GtjS#`[۽p/x5 36\"ǶIvjն ԪvC[U3[VoxMՒ5#5Q^Q\Wذrw]g=םbj[_?kŭ`&ca_dm*wЋ**uEX+OO2I*G~I#]}iNpmTT`e2RLHتu8hZLp*ԚVt*㺭`Ut v[[,2VQlZV`-1iKխbL^ 嶤'nC]|EsVꯄ[LvkЮeu| "Pͥ#̭@lJAk\"stFѴY(3RpA6FuB\~Ք{ xE$˥:gbQ5˪.sՔM˂JvV0 "tQ-2 2yCIzEz7PjDD[wIAnC!jBd3OEĄ莛:1f˻LhEb|<.{Jk-*^}6aޱKn.1st̝ wtn#;;xq1GcXvfxưwvAƶ<5zX|IVcXţjK]K<训B]iKq .uW s{: 1cuIأ6$1Y7]*nʍm&, !|O'E-eMpݧR̥yr JB7uevpOq5]C\Њ#_4*2)w::[3*qSmk{U6ݳG%fUJ.36YqkjTَyttwm<qCB) g)@Q1]ɝpx7yOB=bTBqUkI*RKىu1{j bwtHZ6i1Y;xN0kVr_ dВ FOpӸ3w7% EdNYVnT&Dl+eh9]9UZ*6V]5oD-9|Aa: :S8m3vn"(kMo dd!DXVPiuYzYR( 0S2Ԁ Fv5wyaHaU BTb=QTRZ3%< V&m 9ٕ3)dl#nʤY6(b3iuΰRnb#mݘT; $d6 lm,t:Ԭj'TcXR'M:ےℋ= Ys |g9{ֶ87v!m d6і@uL(4h4CIz ;A"LWpw0ի Ԟ1sB:(2IHK[DO,Z!;4{AB0}A|6\trܙ}ļ##= W0gГ=_Q@+4qa^;J[#%5S4h`aԷ;trϬAKh*(]D3=ChyfCz 1IO2Qd 2_T_QZeabZ!2UյCj)ld,XQCX봚GJLd}&RV]6W7?oW]wPͻ13  ߼D9%4 xgjH{VT!ny2E6& 0ߨ|ï`{m̷le%T'P~+=f{c ;<!"{_ 3oJNG;ӧ|_'t,1eT1L-$ZsQm8.nZWHaNdMfFol EϾq{9[0 ڭyA0}/vC-! 㐎 ؎wزC0'LoUb\!>ds.+YCZ1QT*K>A%R=|ߎ ,*EPI5MM2vJyrR,S0)MuۭMCN'0XH0 -rFauUr#-) 7KKWzᘷ4GI=Vo.AC___VzjnZ'@Z'yk t UmD$GQ r > EfQBB|CKtk$7He#dMEZvwyP+K*!Ԑ麈Y<;:q2?jtˎƇ"K8U[0cʺ֧omjIZH'{͍`1̿fP M¤'u\ hyT'+52_zNּ[ɝ9ߥyw ۏtߞ&yCC/{W+k*X{HKۜo#EPȰzٞ }c w"XXGkFBT#>nd.5i-ܹVȾLI>e}|(nGCb8_;k\N|ftLַ6e.bP1>dp=/gxz\龀g\F]!u[s6FXeT`tGkk,+ C啀jirճʡ)$"x}T(Fz!www'7fee0JYf6TKZZXPۘe*vk1bmu>MH2f˪'UaAA"+o>u[K=g !xDOr N7$+gOHSOD4to;Z5^J0c7WR*fg0r0p,"{=i9$TT(F<; AZ:xz0=x2£iո4,`* igL``0 ᓽVZ{4E>s/t kP_v) BVCoI=". ̙o67gkG ]y]\R[ۘYm m&HVguQvMwXur@Ōo^hm82O~?TDmR馜}3 2|omi~v(W6sRK*X^F8&hjZ6rgP1Mn&.t[aw54&AM-nJTlCZhjZj]3)C6};MZnB S)KDۤiT5U#Ns[m B|nܢϒѵEMX+7dw޴]71\v62FXWASrâ `ekԐX^ tϥb&rqp>MFkD'uLf=C2:QYn.USma5/5f[udanT)P%E0)BFͩ W^:!U!*1 +B i@JOIfߕb¨*/ ts YWxȨJL/ Ӧ $f"b ktWjuSJ_Ib rY C+=ĵ&9~f9R%ppA,|{ҨL e$Q^Vq`)yQ` EYzˌ$Z^ okT`gYGkj02֑$~W_ 2[uʉҶE]:%l 63Ċ9^>T5x-"3L =E\ɫd,ù q;93yᵻt5[|(wчٗׄ&?%CqD@`%In3ő}"aQIfnu+;AS`D V(5HD%,CfЬspYB dw41 Qa >} C =Mqvy4*1R%hGݱ͖tA[7O (CJiȦ#>IuxW>`5]# 9 oJ,zhq z*۽kk} Y[Rd̷%M*-s+vvU.ֲ-֟ud޲s6f5w0{82n<낱4D>aƷv,}7 ٮ\t tLːCU.s[\{zT(FbHlzSYʉ1p$NUO޸P' &Y#>d]jR"jxKcǻ/u+Rl8OF%$>͓zhNA3`>b ݪȾk-b<T:=9aibA DQw(ý%&th{W,F-=2W[\H|ٷ吋ܷ^O*y(Z|6&A^HN%Ah)]%iCjvZWȹ4.Z,xQVo<^O`Ho/D$/-^7t(e/oc3YA B]RV&1EڥvMph-JAz-F'pJ۱k&WX3mJn }l"T鹏 U#ٖ IW*ǫIgukmND]=<.Ḙ̈-=esz0=Iz&E/^)2I%'/SP"BTvw]J+pghel6-˽bE8T*{˫=/gR=ƵsD.D'(H8xzoܙG3X;ηת:r.e uVX 'cb@1BhגP 0fQDŽd^xh˧`k8uUV+q ~)] n/rYkבIe+$Arp}{/ |6J%;1P9#л3R7ם+j#i4xKh&ZRfHnՐHTf4^7 @iaYd.0IZb殂*->-oK]ef4 .-˰"W9bˠ廴)X͏M(8vGLK7PKD1@oēsr,%+mqaxcH rɈ]K=[^QAocr4a$OF,MP3V:l+[9Pqˮ" ٶ")B"#{Pɬpe)s-qcPQRD%C#52ω ީ3zQV0G(ShS}NArNb^4 EL-l(<bh6FVU:%6%4q(iAb qȳLk5ʌ9bMtEdYءqO4aTn]8k  eRGGf_*LuFwO]+0@4][eBkYiu8k3#5GuwdStytkvt%r9)OEw E5VLB͵vfMa|{֭6㥆?V5AI bruʭm >u ì.^!&vawj0ݼf,lftV+[+Ђ8/RD^p :hzBA`YN QŒ!<ueqg'=H~ };lYbȻ[d ꂨ" +ܗ$S'ZTDvIMZkѤFPx9z$…Eͱyd CCyf߷Nʢ ڊb\WhUrיs:Y$Ւr1q&"U6Ȁg"@DфWs]آڭjJ-xHwpa$#inWbr.`y/wY8=M>rvzi }υs]"6XM[ҭ6ػmVk\k;<֝(Vcy'w;/]PۦZ}Yل^|ʒR!^̼2~]yO<\0cqރNoGwًT(|ϖGNd}J$$"f? "@Aq^p8<\cZngx\tTr[Zjk2c&4 7st̝5ʨfi\04*(2*O -S)Xwxhv@d0'0#=8$|sHud ύJZ.'=\Scvo !\s-ZgԤg%|aF dSLw_M zC!ؔPilf][:D21ΕMkcuSRebwjc]T,w9Ud_KYw"}="Cc/(0Yۚ͡+ \< Oj30;a8 "n>JOةՃ*:f !dH-*$1^sAnOc+7$ӝjXx (rO|&15%wu K.O-lߜ7'|vMp[̘uYuU"hu4]M8oj"k̬c|P=u\X#~79xAoVgG/=kM_&0BCHTklgV/c%kF$Q5Pu1wtO#k:dNb{U-|$@O GcD5f¶kN/6cd-ӾWݷd'wVdho5SJ:_NgD1/wuk 㜾Mo1J <% [eI=whI=\Ԟ~ ~1vkgNZK)k{֩jqn2Y/rrkl22[wZjmrZ;VF+ÊOQ$"#HOguT>xx|ȬP*~-FFvz?cW¿ Cmna2Y-[b34lܘVɓ6XinF+ lÛ1adnڰ-5& GRsTB4ٚw, E G~*;8~zt^Tڙ :'Ey&4!C Zk1GrP_s|<֎+"Ml!+k}=ZT<aͰY !şxy颐{ `)Gl}*w$EɅ* x/#-(eIekخ_%xQL p[fSq-PvÇb~tL]`Fu5,s< NCz-v6j]S[["lcO ]{4Ч^/HoMqiv0T,>2rRݞNFg SϪ`j8Ae6r A Z8 [a]^U:3 ZuEŢ N Y&-N{+&Wmɖگ$:g L>A ٩"1Hp휑US"]s+nܴԧu7JByxT1+Hja۳awU݌;9hIq;T[-JWY&1$9کڦ 1Z:YzR JGۼ>,:+Ny:%iRJ838@oJʆ 5X#olGRBx5y4=GrE%FH­9 5ȌC& AL]kQcMTˠ7N1B鳲 %Tb[c %)o/W+:`G(&b,VfǕ fo\$s)ZN Sֵh!H aղZk؋.56#{wWAddۃc&BCm- E+aQdusLj]ϫ0?WV,o3,qjls0I1޻ܸ3MLk#]T*t,g,bbwS l's oY]l_r@}8Eဪ^޴t(PPVo(8P3s{4sNVzzf=Ia%5'ܓWUQ~LeKs|ơ|WIȄp#g`Qg-$-y؇ɗ+VU0k rq@8m]Ki*$;;Q>s^^91ܵ=i_C *$ڊnVMU] [x[lc[K!wDk^%W[NX(' bu41N!;h|ê*Yȉ$L>D2Ǫ$ue&(:^֑ͶPT## [P/}%}zsp̘v@gK}(s5>[3Ji̛Pq!d}5k"#D 2VFy;#,/_׆ +Ux#]N.'ݯ3z\T%q L#*.{٣u;F*wr >TV ^3i#hSnF3evUu bXVkLm⺄ۓoꔏ(@ u%>wt94-2# SPG9&S@h{e*ܺ8'SNaי:b6O39f:^,PpBFRR] EMr s1oUaB|mCVZq))STȋTߨ|otuᬮ" vt&Zۃ+mᆌ}\8UHԩQGε4QOD0Q^|7xXS1fuy%PƒEKd@"svZjruk[0Sy箒i>E"1sA'h`$- 8#mɕ|h 6D &$7yeWd2&Y65TjL9;*Q((Yϩ|>L-&sNyvz35zP]:ylλGC$ a҅6a`f]%D|_pC,;,U#4pvcPH,Τi axSzumT ܛ5ѷ{uj#)Zb+dM@Ih:&҉rĂD ^ _+`"i}˴dٽعf;' SJͥLo>aAn*y|'G[+HXE{P6Đ3D "t7Oϊnqr1ͷ."Vc*O)p18!F xx{¤}|Jd:^پuqMGqYݚɼ8v܋3_@z:/+r^LCH@_y,M`|'n%G;d5'a^v@"[WI"xG{VM{eJO"cN_'x$0W1 cmYS*5]aXW-ٳyiީۺƵ-9vY+պGfebi2;ţ:T?dtԩIN 5`=ߧ}^d]nnh֘B `B6W)٭}e*tJaTͰ>C݇އ$Nuj@|֦ӦZ[-\LwmmluƜV3歚v #m;+%ιkjգs}ceG|lUBAx1j7AL0#wꡭMO4ջ "@^^(J(`Xi{ <,x3+$DzEJ;4l}8ӳ \9۶Mi|Ӳ^w[uY9vf:k{kG:n*_׿WEI2yga"`dd O{t8GXBol]|<2]i=8f ޯlb[ST)#}5.\*%H=Q } 6s7{w][7lŦt{*є&rѧT[˾{רc;1dEvNZrU-~cP'&=!,5p64wt4OAdOxY/GpOx7caTǦo:iSv`T4)*[ _1<WƵB7g {6l,з_hՔ%6NǶ|F-rr1ő粘;zѤ5yrs@\n@+۾VkCY(T I==3b!, ʬQ P0\ZsH:ʝ z9,<ɵiע=f䭡f|Hէk`pX?ncyF]70bY=zw{Vdvdg]yzIp h5YUaP{}VLQ:9;G{N#o o7CJDCvϟ7H д|H" Y4xVy6әa:M3X5]Ul<x=`[RE8'|J$=|{<Ӷ  l3SZJ]oZؔ%.w9”Yv߷TLͪ=W"44?zA"jCA!gJWG'{Y>$nXEtM3U"DY`r ƚAD<@;KvgLM9aĹәzB}Px48)[> $T!}Xch((JMbEw}S6 },_v 5빃+oklQ}>@6qIqYé"~߼Ck%V{tP/@{w^^CB$*;8MEou9q}ڷ9PY\&8 =v -zLJIDz_2 @9> ጘ3Z]|Od<&];)ivсa;#$ߙ'qC6mNb0Xҙ/ o]n{rii"<|AݤLD$18Z%|W*)a QV&n\e#m"t42bt{x2LJŽ;:Z8ɛhHed] ;v ;#)YcYu.׼R,~LUL7rorWGD0&$g;%'\o+xq&P;5G`g+n9S.멶A]mͬ تO:4Qs%3±QGD:kت}nLm BM PNYY*Js49vhn4qǶe!$Q]أCQb鑣{C+ɍh:DYhiCM !V}H+',,lN&IɲPXoLe;1 !BT ᆁU`FxQՍ[uVabiZte]\vD ^}F/;1N]INFJ |b %ԩkkB80U w,Î,{&=H $}ibS`Ѣb`zW+)I!Y:-l\K9I(rжöņ鬡o=ocQ3A k+H B`\ |TGHG CDԃIl2YMaH1+ ĩe{0Q_#d~<(Kڑ(nn-HNU֫uN+r.tZ٥7Q`flʰ/u,|Vp4w-Wc Db8BXuVަspU >õ{1K´8r_ LO.*>xI'd;HmXr.≺ .tn4){IxaIuVuxnK*#Ussqw {[WӨ>Tuu=ru::YW[hmI[.`:<|? +be5|YL]BFJAK4RD53m u8Su NRҪХ&rYR`5F*o @a\5DNDh #W"KHm(z׌Iʣێ]'#Mδ01#L9iYc ʷNnG۷98w|h4Nzz-cV]]&0; ;|: #<3=`F؇C2[@V2{C[;`(rX4c4H׻ҾhH8{34MuVEz0ΘMqk֗f1wF}+ˮEmݏ!jM*zqͬԔyHv2|CO5f 5i[q lS=pPu#tS $jŲ\w+ ]1 @i0l#[+q ۶ ~܈!4 ͈HE=S5{ ~tm'{ܞhaXk[ym 3[.Լ}o J-$kGHTGUSFQRC6H7)7Ι"5 h41EpH@* rHBs^bD,E^)3@؇Gށ驑YpL(T+{ 9V6FZSWl{{޳3c+. $KZF$uii$NavMc_y dR߈t>kCr^:>N<߼⡇̣ZnUfFkd 0IoECzY<}w/G|i|JͯSJi_0r/ zT*OGAۣM_}fawF0ߝb>4əE ulѥż.1~Փs^'f$ڙ{/+{So$k$zuā~^L!<+Rξv䚞P2drNyզ wW4]S٬LJ()Y~}7`WCb) 1}ٹ$'e.Ep;~PP{HRZvwLf}Nm7}npbnϟKq}.흷\K,pUYU 0 >!xo>`Q&Ymݷ!yIP . 5{@nd*/z-&h1e,ç|T'ڴEESוGRΰʤimJi/RXXƒ[SZ i/EHQ LsK) N#%w>ēI?@,[vDCPͥ=Wz<{d]ߴWm^CH:n;;LdB>\(ɴsBfR$E~`/fݨV#'6+oPv mnnrX`R)K+,ʴ- i Jڦҕ 3.)i 5͕*ISW5f]f:Š%a*C-"1jM|Pج%#Z,^!%O\(;zs}2Dp #~+Jrzy-zAѣ4Bd TᛸC:V&FqB"[{U5}N0穏ݰ9ר,0XI)km|i9`^Ћ&8yexʢk{3 \x]bZsA,__v21]̲n ;FkkJ@ړt[MUU" ?y,}aD%dp |vh +tnuֽÜf7"y|h2kݮM"lm0Za:6F*, X(W=6[+g(}`!`RyUEf$.mo{#M̵X]Lϕk'Hژv% sʱ\s_&xT: Ը{yNjg7$'Ãk.٧[1Y1\ZmUdYվN䇘zMeTJ>u'*CO5Sf!SĬv+DX 3 (Ga>7i;,s&gwں_ni)0i[Fnp^'UN]v:],R%hz^צ8{Lӫ8X㡪ʻ%ܽd_I橚ndfN1 ᫙N{K69fo7>jhȲ!N|墬4G5nX<>=- iocH%$< ]b۟{||>Nbf!9ӻGn22sTln&VP']Z0/N(c}sgku׆A!yKry5HtSz;pg|O'=hGFv3rb7[a2BY8ЭKQq53L+3ܼB*bXHM0y+d;bayE6ދ5ab$v!J+Qtq~>JVb_``b;JFK=|ðO`ArISYU,$ H 6,Vj۱҇Ju9GPݲȎ}O2a,F¤HZ!#}#߰&*Rm#7Z#<35V6Rzք`r0 @ ڗ%I"SִּiA`(:aw7wkf@UǮDEJwz/`]͚T k/8v"6)+yZOqyV;Y]}Vw&IC'-'ì7ZDp|}SehAO1儽S;$݊>$4muwN\jl61M j~A,"Ӊ1L+8`Y\Q텵Qj9L:LErHy:& !)˔< >$z+Xq{`2ľJ2[aQiYK,4YC 8MLC 1*)&S[RwuT+])։K/K;w]مMvkV[9WI6WR8}v}q"`l>ꪙ6^rڑ:I]t =mH=崯ޛZD䑯6+tU jc/{f ,o8EbbN/Qڛ^_ѮFv)V`L"ƼM NжBuT Iے5 9:IPO/ g9Cs3fΚ4sUɉ DB!G5ⓚśjCȶW"up =FԢ@46u۬p_7i;ZZ\#\Vڏ\0ġpHuΜGn8z+[ 6pF[p)߫exw=[IZڠNn U7ff;=b23G_hكUVZ AnLv\np;tZw7yxՙkSHoIy}KӝuؚR:ImSswfcoTE'gٜ8{!Xkt:m7e>"(mk2ʧmpGbJJ/V5dT4ꮡuւ;\&[9LqGr5m7(ca\HyxtsPزZ [P̶{3+ejy3V&6'8婮\d tR4eYFb ɡs[xODKNfbRpfBtP`5-BK3J끣,̴{ZGWM+9qI]DVj}}wotGэn p3ZZARWtFozBzi ԷC V,p-K-|I$Qed&.-cy29gu ë;]#;h(.0@mVױ0zAXN] bXםr4;i>0m]RH}7x{kڭd~' (n& InV1-ágSuq\ESD)/z\2ùmdۺ\*%FF ڨ 01hܮ] pS揃 Y|NxwVJZ9݀ځbDh!tcQϲ,1sojPRd"H[f})B @HHMtZYCOƷ]D0} >ԁ8B KچҢIhӥ8chrYZMЃAgA[/gWc6dn6GtA4}_36IҕKDt, V\4OFj^fQz|Q8z@#jjv%C H UM] ɪ_Cm@Q0U|!*fs(^ EAnYPZ^]mcdb&vEX Ow@ 27~+2e, |³&,W}T YVb`}/}|}F(zV2e}HaZ-@1N]{Gw*p%L6T8(A꫺9&4 Ozu2'9o5xy2q>̋:l25Z=e-!aLUE{h]\׎k9̤;( +hANvN=A}ݻw;}Q)j*^S +*s",=\xtAjWTuP3V}H*b [!~VY-}KEɼ'%O w>"*xL=>ӡAn wv8P%2`٭m1Vk>Rnh\0\T\Ȳo|U:ՁqLĝ5pqs+UZQ;M)I̺G9y`? NQONNM[=|qd}t>n8f\Iq=wca\DYc'd4*BK6ÖPŌ.\@Ԟ]U^*:CaQMVZa+z?\-a1=_$FVʄrɖ* ?<!0&)̱qn, n(F/15}>YnVCuv@PcRИ}8|_ Ylc"nUT=(Wo>ӝTF C$pIEa G>§zH,ϸ ߚz}Є.?`b8j[E1a%f'[]YHTuj@[[PSeoߒVߓSJ19I:9'jY '"CѨn.Ac1,Gϖe[Zgi_Kmk2ߧu(LX7=Xzs&qٸ$W^OpI_Ph>HTsv :;2f>ZthI E--w^٭5:ʜtn.e>.*Dco>щYieIyJB䤥=_ dS$ʃ5oֲ'H(kP`PgOŒdb572XZ mݵ22_6 e S iqAjG#zM>i/2~jݡ}eut̤0x|O>R"{9,ɫfNj@YZWGްs?X$Ϩ6*ڰ{~K L"T Q~= 7q3c ҅xĝ{Q,3|{[1u"T('mY$9h \KÚp1%`gOhIj3lK0-.)sr{we5aћfhv7}CW9F|"3C=_qꓞa"Q|v}]iSztk ux>˭ 3Yt5\udCJs4uV`Ù1a+&_Tb"@>]]Z`znė_5aJm漭_#k~l<@{_Ψ4,MZΙC ۷_Uid||_6#Yb>g&׼6bӍ=P!"O{:CC5yr.}py*b^|n68E䩼FuH󫻞G[VQ$C:umk֦nK/p3\sR>p, Y8UAi)CLYv{}wڻ9f ѵZKTQW_[qVWY o3F^°2}' cP. {L:ޮӢx+$I(#㠈ðy^+\RC id\*.fgIuJYqEdeȌQN>a"J0 !3-DAVuu]!]sLm[ ~ZFsjwcosk?o!'ώm@IJ,Umv?޹vE5tc,Q|ޏvz.6SUUW10<7Gujκ=-h̵"Uuq6wY>x\)K*{#y}fU3d@Qh0eoTLWQ0SA1013HhAN ;wd!6kohaCY"{in.P Rfd!R6bd 2ѾgV=Ww%U&*,.W0 o uObMqNMCҙ(TL,`Gr&Y}t㽜&ھzٳڎ|=;Ey~7>ݒ(fukCz.Y5 1_dޚr2Kͥd Η)\p^&8K:RA%x WMO *LDEiV"mN_E; ۅtkFu[D}%x pݧ}b >IY@վ^Rz&v&6lPɗlG+rmesv*M]k2A4S\ x Q&+}+߶5`,O483fS([4v{3rˆkKo+zΜ7A_+M)rkv۝.96T؇ayr E5%ԱRy;  2Z.Ք;Daҹv&/Kuɡ\ۚ mtAC[T|5-ה`46|( B(d7}i2rAtr{/TF l6&F7FƛFJdGPz5!` (: wuaBZ^79]56v{ai":G^׏U''{dtuXލܺ9"w{XonBeE%3uVxݞ ̘9v(4|iî Ψ0D;f4֪6ڽ[s)fq(4!^d x;l>B^a,NBY4NFk%HbvnIԶuG$Yrm,;I\[5&bi0DzBrjj\a լ_^Hbt BFʹii(^*͚]i#|I 8z>IVY2VSn:op1>kq!J$Y:mIK&FV'L*AqyrIX=v(Q"6: oH9}^1?sD}bY0 9wF()VB^@Klyfp}~Zr7H=-@͝3-ؗHL!%+BE Gyx@<4X6tB,Ъ|lTs, JfJE8IK F^ݧ4b (@Ҥ/o.Ԡd)}[X `qZC:T1mxn;t}kZREKH*&ԻލHAɸbY^ofSc ^Av'Q0)uJ1cM|=iTy 2,h2o[3{27wcwܘlۃZDY>JCBtL?KyG%3euB(tL5Q>{.!H6U=فHҏD {gqC^mTeY'rtY&2^ ,Zw:HqJc ׬t^ )EHR`z)(B&+>WL:˙5.Yز [=ʛ:.ђ|v6KVw*!B>HӿqϲhAc,od" ?aL~l9mȍEV憐H-Qح@PRq7~ӷvC|>b؟$Hz<(P  )'IZEG!>b:gW\zQ$vâE=jBۺUCFYHiR =b YZ\feV鱄I$Ej=5&!8didHT0|ʇA%L>2n@XOC͑Z-o~ӻǝxh~'~k5 Uj^džce-#F%H9&#@54ݵvab߯FUpZm*.pֽCWJbձ&V:᳜ 9Shl ^!QzxED2@:vQIȁE*QbdyrG"<8\\ c!RUBt}Lti1gdWLTR*Fu`i[y::l\n뚍_O2LZ/HomW6Ŋj`˻gצZZ[7t鬲YFV13 (uǼXޝbD֔ѽS ׏du;Rw]QаmCs+9ܡ&Νs'/TrLmU'J x|ը#~7 }<ߚn7M675qdd:sӎG@'|}P1mWYb=X+>HVMVm+,P֌,PYk1 CmaR*(TI!S)6V",XdQ@eZꨕZY!*\"+P) -h ,U"&32yLd&Id``V y'=zM.ktyoѵ欍IH nyуݶce`QlVXZm $ַ۬+SZZ NzLVXayLKfr.*Ϣ͎KVjW/p\ɮrD\,N9d$="r1_OF"w^5B<~sFc6IXN!1 "sJE_1L+5<_&P@LeXTįȡtMvugi4 IVqᕌL:=UBq'YzQZ' d*O*HN80 2P&Aaar(X,K)dɦg*)7܄X嶕r1Y0v:l67u&,S i,3ެ&Ujh2!W־_m1NT/ jwxhvnA-[s&k%a_%tܪ' %+Qvn'HDC=HH^;޷=s&en57$!USF$R֌OG*S*D>ͧĵmW0LV2Mգ,%in16f Yh֚Y>hŒي=販tidyYaVi,wܛW]B@mɕ}W K /M{ {6i$u@32L@+BQ !Y"Iń,'޼ˣu?:w[Ѫ<,/o3Xa1rBlXAI'5QCLi`2CTHQ!'-?/;ջ&"<2I']%Bdb m(Jc35( NV]nn*֬V|wNAZQlP0jўz%dVUjXM[ڶYPʋkC*U6nѵ2E2R,{4mE}*`--i[K3{2W_!4la2FL%S ABBC& %#E &%C$ FSZ$ 2KI,4* h2*1Rcb؍Qi2#-FX6bFEJJIXPhM(3`@2fԐEFVRS@JRB 12S$6$Pb1F422*0M1$1ITMLf-2%I"FIh,6cfhmbfؒ(iQdXb C,hM3,Ad# c&m%DP$I*ɫ)#Th 64Xh#hi# `&Ll`6J4F`LJ1ILjaF*,j-Bj#[cF@,m*#"$BL "LMY lb&6 "F"Ơ2ZfdkEQ6 ъ[ٚ(Ѭ%PkHh&*-i#B$(-%S j1&* 6kcXh؃ E Ɋ#TU %2bJl&Z*jkcm4`%!4M1$Lͪ-cf$4[h*P5AL4kbhh65&klh60Qlh-lkDdjM6QljhجDTHɩ,Y"A46fmbEj-VAAUh)IaCHVűi$Z6+!mhصDL M1AHmX dhH mEPLɥ-FJ-bM04ŬIA2(ڍmj"#PIZ"*(XڄP#bj-ch֥42$̠ $ّi&  P3V64d$Lj5Ae"6IUFP5Xԕkmc[cVjثQhVQj5EjmQVZ6U5mQkXՋj(IjɍiƨQXE[FmQ5֍k+kZ5QVZjƬmZ6TY2i5D`h(R jص*ګFkk&VXm4ѵƦbQmZ65jF"aADdѶ F6-ƶVըTE!TZ4EmM$mh[EVd֍[b-MZ5hձY(ƣQIY"(ت h&-hY6lIBj5ZѭjXQZűj5EZZ*mbE6XjѵkckT {Ч) 6֪ыVkjbժ+mjmV6-ZŴZ-6EX,QblmFՍcjɠ-T[b[REEC$cDœEBj !5-RQFhh5FZ+b5EFV5[kEm6+j5QcmUITdPVEBE@ATA$PTYdFŪ-XmljƭFcUF+FѴmEQVTEi(TX QXVe&-Ec#bA&ڈ5 , IhhՍc5DjصQF+hjkb֍ыlUQEj5 {Ѐ{e5fG04x{a_<`> vr٠Wx39iex-JJoN;ou.Lw}|ͮg[jo{oӅ)PUN}U^Szon>鯀O2{tlswt%'-x4ݞP=Y;cҌӶzxz-Fl1F>Ǝ7ϐM v=nvMilP@h(kNlA [=hG@:=8QUvx7`@uJC{:S՘WiZ5齀n@Yk*TeT4 oJنv\}u>nM;nk{vpܵ;:y#v:$JId U]TbRczṀ%ֶ7uvw(Jl mmEiZ*aԍtOZvI{ҧvк){;cl:=ujt<<`@2qw8vsny^6x}SGדȻfI{%^} Ջ,,:F۷sk/\\ {D͝w0ՆmZgwqxCmٛuնIgـ)l2i=zPJwdٻpGf;mNٵ|{}=s6[Y]%C{p ,ﻑ -/E#Sݙfɣ'FGnݝb޽]h >D:&=9U">WӭLZURzI`v[R: [vN^Aʚ2tLnTO`'JWLN 7BcپB=B`^h]ntn.R:gͶXlkvoWh6ȶ!UۻSkn56AW^;Sl#[RQK֐usv`nW)VtHwT[I] %mͰ}}gݕ&t. ]c:kjIkwS@9Xgpwz9{j13E%[9Q(5&LܥPuXvsQzRfcWJ_Fw8m8h==s{uهVǽ/m,}}zwO%bE݃g4z3V [J}hQ}ڱX&#WpZWdl!sF[J-8M9,q f֎kF7@nEiYqחӽ{ƝuH{ơ@ u+ZVZai7#dN:1>yth4-m7Xu@k}g6 ]-wn'h7\ haX&U^sk4IݵcU}V0qYaWc;P9ulYF=soXwI[[a[l׺W)Wzsgzt'{lÀ(0&C!4MF`zc ɂ0L4m7 1I $FTG)bzQ@#F0ѦMM @4F@biiidFDHhh!6TLOOJ~ҙ{Se4z#Ia42 Fd  4 4i4F4h@$JID4iLjmO5OHLd hDMFd@LM IL&ѥOڍ<'?JdޤI='Sčz@y=S=FHGQ$ @ MF&M0&?&jCRoԧ#7 ؿ߷tpӴ`  gh"ܱP&uZ;eE9]ϢvedŶS,kNǛ"#$'Aй=o( DDa ."ۉOE읔z]W*OayRc#_?6LZ&(٪#E13 FTh4#?~r/aCkFa&0Ie@A1pC3a?#dI ڈ ((,OmWSoye1XB^k_C4[˝䏡c$#} z2ϡCh2"m--mjH+e) 6kR+-j64ZѶ+sQ;LD/]֦ /.hTZ#c$X@ ( ~`k=&}]݂|(Io} >BOOz?*9TJ} 'Яё?e2By1=>wE%K(ZB>>ICo:HO鴉'вxUJUK%BH#zDRGТ'ФNJ *DpE,CT#,) 2I='пCbU+Ye6m3-I)$IRŷvV,Z"5dO4UZ'С ,I>A*d}~X_7!8} A">O0L& ba!{ &0G'g>aa>y'|a?a>a%z!PD0} a>" L#xL& a?)v|"a?a`;g=f9;0Ffa0L'4a0L& a0)/?Q FF/ DDŽ4QJDTGhyj(5 x. 7P{K,|W,(H/ӑ4Xd b8 )]D?;:~ooc^|:$^v[m *;Q8uX&<hӒy{=DF:FXK*  9? 5!UA1q$z* e !Ny~,z@*6ިԸD?(=1Q'T4*{J[O6"q?a~N'ߕ"tM!>4KMM):ٿ.k*%̛$[Q6L'rŇDW}h ?xۉtOL2PDCoQK~1n1r(&ڷUrڍmm) s >JyUuuDQJ"V iIJZFRҲmM2ʛSIjhԚ5PM}mBUԭ-4GG-?{MlQE:|rH܈O")Ux4B\@x.X}ي`%9} Đ)c}pʔQVU/elONUͤĥ3 =ܦ?l4V1I]`!5~^斖Se&)Yjm)$fBBRRT(QHc%|j٥DVTK*)XƒɵMLLKe~ŵcT-HiIlV(L#M˄)RZU6ɳIQJ*T[(XqqCTYiRe*Srj}GP_f͘{yf܆SҕJjˢY(Z UJhOKGdXhz11K#oNi֚rV)-5 i >`\OSʯ_ܲژ:c=B()T+ رLJJ+u~efVRUH- 0p2)$݂Z@)4!R>R`d]1vͤI 3 AHHH'G5::k UѐTIjXM%\Ddz n$J^{ZIe6W7tRciR$IK(W^˷]؋1Z瓘o2AA =wq0 ⦍K"ByљљNW^L=o("I$Uzl4mwխiRc0PCn$'T,_C C #xMcrF{FDT)*-`X/NK\ǂZӋN$/yk(*͕sssAzu TĄ#Nt1:gTI\i*%JJWN1#ɄK)# *͸hQv7M[-J:1*aLj-m'+4h%2JU16FM aJf&))\@ B` U4c u.{1\h*X%M''"ZFj;_m#xvj1Nv0IJGR}c ey'oebʪMMvTaPBnj6h^ʚ9 f3rVlhn`'7OR|hfˁfmYp9H0}9GIQzm}vL)JƵJR;yuP7o iDL5jq.~Qyt0 Ctc+ 417 m'Ht6kǗ#nl8õlaHS*Z"HgO( raA.{sn_N eC]I+U:(^3,u tU:%e'+ܲ)^O(r<Ho#ؾ > $_ E 0@P) F' ;EAX3|784NE9q焧"ߡ=R$D:"/\ MSw'sM&h/GtRnR;ҲVTOll“w=E6iEj gp.-Yp|`68I!F7c8GC @T=p*uJv JQܣ!r] .DO`M,qˎmLTqsk&8od <'5Lly_%)Ct8D\$fϓ mD!>bwja3(&HD !$L]YyLlT4ܜWIJae e</ TpB>S5̽-j*Z '+%o< /C+qnt!V[|!X  K 4.g\˔$2$%M2i/׫^狔󻞼][W(-ȝU_70ʱ99S6d /XB܄3h@[͢y)mMk$8$S))s3(ҐHҟLoD{Xh(Ƙ*O a~%+1ɊŦQJg%Ѻ0#m%n% K>Ybuz[|" - 3jC)/ yU©?a&l]Z]-fbiXS.jvsM3ˍwJdjY{6 uݿpA&8k&TygTBGgnͤr$),BXP! :˔+]=w7YmwqD5]2].tNJoW-n&,@WBd]+_ $'{r' 5 `GptH@BiJL"C-Kt\B!0!H‰fe04ᙆ{F6ʱ{s)xq4W-B)b !bw Ku7u^^IJI%秒|^Lfl@!I )r: BQgLȘPIt <(U$I7~䥳ȶL<;26 7,93,\`WnGlꭵG1%UkWmw{||AFV$Ȓ{^R3i~jL759V &$ڋO+G|h)VaE7 fحz` }(v!Gxf@:??WLueU}S,g/KQime\ _?vݾ~}vK={O#)/TbnyF"ʸ"2C,PQar͸KVube{عZprp1zȻc"Ȱ$웥e*I9Z㧾4'_--9BILe 'S `XIv7r™fXSVSLfR6uRDܤ!kK)1LI#'Y*bPcJ׆1o*2d9mo&ɣeXذC89r๽jYIU%6|;5m;n"JB8/L7 $0Ꭶ!þf2d.!8T!\+:hyGo4=ˉ 8jD$x'"m,&+1ƷgDB@1_.GM:0X蓀|R+\~L} "cF հLBY }}WXQþrK)84Ȅ)P$$H}k|`#ŀ>L-ֺ5f-iַY(Zp1ϰz=4$5bv*(QPZMN~nf&?ciAU%5`!SԦ,MsӍv.˾ {qV-`9=ǜ;#L$4kQ5YCQ&6ֿ\eYY/E;x䑔즆YJӑƙ렘t{.Y:љ^u{N46'ŧg.1&ᐌBsg 1/ 0 M+aMR8%j惱>I )†o30R4V 4It#*X@rhQ(4Rb1lr污ytcsvn7)&@" h1 1s.:=o^9۶W7ӯf'}S>"TH!*Ŋ$BFEP)\ȟC~;%I A.9W#9mhn'sWoo)öXA[ؾ6~g Ax W2prӚAUZR/zDՏmcR\ UU~ X1~YmoGbty=3psئ[bx &M>D|\S|linSJ MߍMrc9=s8;ٳ5ݻ+ӑ^O;\65+e:+M6y]FfG9 U76ց1f*!-)fΘ՟%e-{D>u6"iLJH/k4Iot 9#^[GYJ^-cJ7M>'7}W=mN&1fydѡC!DA,A^괨qLecS!lgW1s=87c:'WC)W.WL'ۇw[ uu~v#:pQCRy}ONTiDbbMcĐ'^>ږ eXI@鍾w\Kr]ض6ff6m@(2E,W A2V65ZfmTmU@ V@@Z-۹N}_ߓr(iD-d̪I:9~.y0+8WWC*KZ-,b9i ;iH]>ywwcQDɀj2'QlԬ] x=Wϑ1D!>k!P!R=aD,M.h(.cOyFM!Bί)8Ch]ٻ C*$4dm!$s*-l0\-(n81{Do7x3[2Ŷ=,LOkV|39p&aa5uɦ"[~ł2"9 LΉ*/m|9N==:ϡZ1&4۸.19 GzaGtY@H_~ϕxq&ȱr%G9h+AO: d%xjXѣiP,|8rtæ7fn#p#\~a.k׀Xv($4{ɃoK{p @\wzu|.S:NiB^~"D@aźY HKv|x>]!wG%^$H]Iu;7nσElgD$SL'4)b&QCCN&R7iGn4$FB#&Zľ L]@(~z7V??7,wsD^׉g cOqSDO&Z+tbs3tHuH-]fuMRQ* y)ȱ`aw,L|n򴵪n.|Mab bbV1G'>lFHOGy*!iHG~t]|-4ZWBB\Z}賙4ExnV.3}o}^wWuKll! r|nCr(ݰ㯃d7td.L;Y?[NC]/g&7ߥJn8-㊭b흙hmRTLs~>`5 tdx<Oj fcm_6AyNvW[ ހ/d6Eâs}GR(x>~2k~lJ2~+-bCΘ4lo9  0;5eB& ba8d;(x1yl RW|<ϕsN0>zBm+uosݼp711Ӡ/rØĒ|]k$3dY28ȭ.Z hέ1}+H$HUHrܔZR֖aT^,O5 5{_%x>k'_@cZ YCd&9ְo %rF .9DD* oQhB|݌z# O##ƅ^M9ҰOM#gʷ;fJބؠb'LS9|8MI&Oxx㚿lء @ZJе1KiET(i)T(O>L|Mb"A\OA:g?G B ~:E@" ~|"o#O]w3wKg2*zTɿ1O8 (Or G"5^_يd{]Fyُ}3ѣJ'bc69Y򲲛nD}yNIY-pttgi G6lѢddL.dddd=뮽T}x"CDFTGDQ6v6+iZodcH3>hzVe_#Zjjo*եKg ۷:wN_@̚j\~"|j4hпzK|\zgm$ EΫA۹o.ݻv۵kKB > d3g6 qsGjjUVVM= zzmK4t~xd y!6Aaj g+VZMtk}׉>6V>>>>>>65~Y{|Pkۉ }׽,$W`` 7be?B׳ DWપTEQ_Ɓ^܃HJ-,4˓uIhM":P'm}h#؈ԕy9r}+v>˛lӛ[~fP1 b@逪Ђ>x OAͳ~} !'StD| j۩RI `Ob"ǷKj)piCtDDV VQ<{w$rF,LTYHQ0H!(ĒֶXBr#@*%&Ll!B9u5ӥo%+*-Tco߯גq UAX$`D-<%&YŃj,&aCQާ>ݑɑ mL%¬|a$E-M d49ZcRʶUۛo7vCBa+$B*XҖ寡eebui6TڑRY[1CE }Z%ךPjmmk|RKcM5SMm-Eii-uŨiHL^]K&S#yhdHUN0{st`4 ĪUL&͕Y"@Ŋ޶dU5uMYڽi+6l,cZ=SdZơUڲIY,T|sZm7])@ H*HH@"$X+ s aתU8HHZ-R4_5by%{2ρUɞ\BR BOQdc iCݡ{sT@;Bb1 Gk oh*V!t\C.֖HXnQrP!P % qœcT֡Q7:R7YVAjEz @:"`12I! T\6ޫ2裶sA? bSoN6Yzy3'6D3KUWR\Q}['/F:ĬoE螝49ń/4 L#q[ā`ᒧkMl&_y ׹1cG9Y[wKAםb -("ر` WytHn3~RLLUZd>#O6@ZmhłjֺW6-T-KJiyIi;b|r䏜2.EkYddOxxNF0ؔۄ4`P,F(@\oJ_llTCL"1!!6߻ӞGiϻ)#pYVDC^k%[tne[VR:-TFMvb*2Ei*VdI&JDhߡg nɽmzCB|6lAB h-t&I6ړIT-ш`>PI}wui^0~ Ъ\fyG,!:5-!qw9ixbG,#jYր5߮y`LDdzѧ#BF/)`HLN;"8GQ.'!2>,H-v;RУ ɡ lA1ƛV9bﵒXOƧ64#p6QajZ|=yݟ鎤I6F" !`!D>F$Eø s\tv2 7Al0fϋafPcu g lxrnvgq㶿PHAl/M': p,rIsfݦaMݘ'cUH&;*s2HXE$Z]L7༮I_rQ2Sr:0Fo^5 q YNMaf75Fك(,R2L𣵳 =/ WW4r S}')ĝ Iq&\boXzd'/m>jK5LKK -.DS>` E,=F A&Ǟ<徰0u/H}n~wآ꽮N!۠ 7!9s΃=# E(c1n8ssyt"$s= 7(ـُhz``-RB\ K}L٠rTaŻi]YLi2Blĉi4CM*a+I +?CK(s˝+FJ| ;9;rDѳ5d)<cS/w#q =J1dDz8pD2[%GFx 6vϣS225(0^Z6^YwCpqޝ`90;Lo6ܴz;ooɣ:YÂ|sZ&<^ p)S'dbti%M>j=xmѠ'{@dq4v8 +D}^*cy{7>)<;;knC  ~*'1DtaUT)V F!JzGHZ]6,|íuf"XxQUY PԌ¤d`b,s\H縊TT$V& X@9yen9$2J=TbzL|N bFYa8WGE\R 2tyy˰;×Q.gy5pph@*q;Cήn:v-yKp yDtO#$3ɼ,rв=Pr*әFT,X>s{oCcy}U]Bk1~hsJ!É8>Āf|pxk~y8y8osxy}f]t S"ma_!Y `Qn%Úquiq݀@lCj:;5_n[!VY|߱/X%G͸ gxJÃcuQ/hxiIcïF 353ޣtwޢ(X 7yvtsn8Ǒ FȪ7J  p7X||vӷ{*_Uݳ#B;1Zɹn1B)G%VY l4سu3 BM][p;`  A}U*@twYP?{{(T>o3.ڐo^Le[YJ2LM[4$) K\̽ŧ]ܫ6Lx&cM+y^ݿ<k7^ێ2gͽGyr3~ wBp̥Ռ}s++snV4joIL' -nͪ phJ\ZѦ7K V%.Z1ݧF Aʋf etuSmo^q~'G-1_tW狻GW{ɮgv<\sgX[^j5.ɔN+ŌE6GrQhe{;%sۏMkc]̷}S2+uY\.yO uQc;Uݻi^]xr8\së9wo^ێcN=}Q|:զVF^I/}uQL裶W X݊y-O./4Ⱥ2fWfWY"Fw<4~6=2tpݺǬC>ND0KԱwk -b,!v69߉ G &2n# BXȽ̢%^^'UkmC_ ߇FQ52w mEos"n*,gFcvX04tl-=(8[Cy̍Poɗ UdHWjc-+/4 H8Q7/{;Ǥq7-r9B^ /uԄͦ?L(Kl 1r^g*{6ikL֦K[idy<8Lƙ9A(l_"33.IcO& @y+lbH6h -+FZÁ<蹬dR::k%Ò֝DZ黒 k[ׇ1qwuwӪ>OGOwY~>鷆0ӝnp1y"z 0n! Vj5m{q1cHF!,emY7k~7ם+AIysڀcؐ 4S2p! G| fm4.FOr㟏*ItS&g< ڐ!fژBb[H)(mBm"!!x!-tܫS5 e,Yא[))_j[!Ii/^4 ,Xae3Kȩ)^/<~!289;nv0G%) Ia*\nR̴VR/T3! %a!iyu]FEn%W0o;yדei-ΛJjWQh!5热/.N^8 rC- !FfN/1b-Ciz l* 0mNX"m?O?[0ůCn~*lkxnXL7 ]슝 𛍞=\pJpY;{~2)Jly^g ],-ֆ&cokGO`6jX-Mz5nkhYLr+tJ5qbY3PȧLҗD5a 8Lmb&j_ =Cc#LhkjZ=9;5h?C:=h$0H%CHCԱ:wT%k0 ,i!)lalr*Zcbm3Gy#vq(x1d2YbċXF%y,eGr"e 8\a'll3f%4AA[klE8AGr~I֗^ns}uYߎc#?0Lj ¶LYşH)Wa.AI+|wBČ!sWc=?L`Ԅ#ߴZ?Mmy88lD Q|*!p(d&aOV3q#t@ѥmi_En̫̋X*ĵ;N,g ]83{YZĝ屻elHH # 1/&PvT&.1 B\rH3$,{=̆6k^q{5^;6׻Ϯp{oϸZ!1>6uM?GFlvnXf:ߪr`9M1sf?;8x;Q"IfLο  8sih`uIbcM A;oaNFyErȅ4m:h'y\84.ۗ_wAaAy&Y Ck촜 iуȮ3 Ƞ\)`瀅@h.&v?]>-;ɷ`H183yqN5)\r݇5ڔ_dwPmN\7:~#"^\-S6Vg UL# F PbY|< 䄆P4H$ -M(\PyEʤȦ*C,,|0H\ywL ּ'z~7|8틾1pn3{_`χ'o{ѕZI}cH+)#J]9KLkEg pe׮Jobm&涚9(P7p9>g uxtVQ:=Ӻǃ!^m*Tҳ JecSR, H{cGP2Ps,w+wSXHHHHItޒK/ynڴ<:-};Oǥ5F}lCVBZ *eŖa2[Tq豻泦Ni?2Nʪ7TLMjyŃRBҍL7) cobu@iB+N|u̳Ju9'S4u3A7hX8njN騡gߢjei]W23.2oώ#Gga\;5 xy=Yϖ ·菑OqN4VH%,'m+tLkU<]6Ϝ;Tv'~:+ZDW|UiY/|/S\xQT='A7cjK#k&'`{-1 qpp4ӹӓeJP8ň=ʙ`w؛,*bmL[ڠFyt܅p6ZNOYmp+"YlTxo d`[A@=ykעt&oz1C_EyJ<9y{wi// -! %"TM|6 xAp9ofٙ! hY Jc`5!7ۺG\e-7vCa;t/- j9͢mspT>:k"&px zٸp6,yS=H ?*}tYUjUI}>(,V@H2bI$=Cͨq>YG40fS`4\>g_m`jKpNp$'9Fks`3XmƇ1t:/|HyYgYDS$!q62'mO9jlaRb<8"TI2x fn>'? يL$:b+UOONtc5 {NG238˔6!<ϋ srMUC|qno[gכs!`}) `&MlZ3:dp~`͡` Qy Z9: Sct,] >]bek{]tW'-Rڀ'QM|QZYU/u\Զ;rϬxOnié; c| *اn}ڭi$ly(T˯ʂK1D-%DLAhc3z bC繕|9SK)Oƨ:huh##C{Ck|mzjK+K2$~:@3n~Jm D,.o#7jU >,7^P=H7qvό9[ar3/Q8Hzm7x8E1V x.8ff|h{]Bęx>ν{"<juÙ.FOU5K@7d\Ǜ~bş-HmmyC<)\:ϢCѻӘ.e 9ddCvG 6y bȱmd)x\po(4`7kk>U?6xݯwXLk-Nu.~ n:,\XrtN0ްk<{ 1c_[# dۥOY͌\i7 FeVоK[M؞Lc,x;wbQ_vdy8uF_ee?DE3f b0b˔uZA{Q>"NJ;iiFzY ɷoUo{$!%cLsq('@ٴtld. jbܠKyl+ppmjN=d)ہozG>Ǵ'>rW+_y±;wW[?zeVfmaj~.uW=-}^w{U8,y8O@F:Jx-T1W&s!Tq{A0Uq |=gMX'y/8(7`q4)}sSjgp7pן5zRuc;"0 {0pN=&Tqfc:qQ!U-4r23js;r&< vgD.wfhZY+T뎶DA!a5k4K\ԩqƆDF,#pg$ &IcMR [|RF!E .HQbi`k|1'1nj|/xߊc,ђEj;>_*Txi]9o%]קBMHVN sp{ވ^:5;5 4뎆t2 v'?i =L}.w  Lx:i`0:eR5l\1B bRn%zawiںs5oF'W V{Xj.G}u9vu{ySnL!è!9ÀlG3AZ2V(&0RxyF,jFt-o/j;O`ʏkǑ՞#@3!jn!>};גdӼ3БwS}x{ \g!t2HNx93gE?ws}wj:x'aNCP<;?a^}*+S^!iwkyZ{쒉,\v"u~ yT-BF+Sd܈j;pa aҢԆ RU;RG3q} DG-v̧{nیqPףy􍎯|F`Qq34FszW=<2Q:YD¢k!`؅x}Şj 4X>K_]1잾7%Kf.n2FmI+1Zo@j !P ' dBݼwjgswc=zNJ=o vd%뱂su4.L8jV-j-6_޶j|܇׿Gl&(V[4qJ>RZ|xˬ|zxZΚX[ld(f\À oԨ3KZ̯dBTyPףt^N%uApŊ̠ȵk/f$lqF~lhFFccKX<,ݾL2~Ծz&MJs#fa~r6$>BPva5[tgL9pg7uK lϧc-f<LGWg?oG}.,$5 H߯ YݮG٘鴖)sluG1n (n7]o=;[>Oz\'5\O&9eJdpƽvC+Q>sU&y{vy,ǠfXiow!c-A5V!fuj4$cB{d;*X}*382|4tuyKcy /'p3-(59Aȏ7r.fxX;x98BrjprNVLyĽww!F!@]w>ήmkqssCh}Yvw9cnNq[0wB;^s_x,S䣨9GQsj,t +lv^UԳo=c j TG$sXFK%aG i9`- HgJq—2Ӥal9Z3(cP*m> ;tF^\39\Lc۱w3bˏ#>971Tbrշ e5\6;6Ӛj>ir~_z ZʯP0{]ۼoކh?'dP##Rbiw <*4J@rR ds,k:xz,mnL|ʩsM'4M' 8QGg]gtzxlW_ݭyc~4g`w;w9VɂoJ'?U7c\jn>>WPem5m)h(ےQ}_ CE_SjōAGEi9oϛTMEs5pqk D=49YDl/?M/Ixxj)9IhLq$ 1GHxI<}r1UZv|}Bަd95*P C#/7v?muC? g8ԆYf(,z'g=讀KGRn>y-C78X(13(Ko4;42Ά]>nD9gKxȠ @(gݟeX9pkS,L;[|!wR|Lp! \2֪zsq2NIy`l: n"0y[ۭ9]|߆n=n:StL=fT2{3eC/g,C{1%}X':'Dk}c2ǭsOܩv%~)JWiM0 r39x !i.iZ='qk㸱sٿ^bl CMO n8^gc/6sq|+fSi9{DH^C?z( Xr2ϮYskXϘ=;/ O-KXae񝖷uQ5?_`p{ h9qe*2ͻ:.hO;Un;c#/xBT]X]%z,B6Vly:0hYīdX4e6ˇ#@i p8_,c05Z<ԆF1:=/n9ࢵdm8be Uzxljq<fGc* @P:zszc:a틭j}yH]B ?{jl mڜnqKU;P29'^oͮw7|AcSp܌9k&^;a }Z fGo1잡p Ϸ˒b>}>_xҎҩi+f|x3NbǑj,/OyJ;G3灮Zjwc VDfD):xsyu(R8wCC#&)RGneͬPC9bNwϵ7wfk6oz¦WszKNOo^mmxd.:bAtWs7us?i|>KF5f]6XA߶wAV+:/~}.XJgX;z!^:oy[= ?)D+[=$ S`AԪ552:\t@KfZ=t*떽ISFf<+0bjW\ YO?ԇfCN7ˀ ] 9'v[ya͛2!\.Ϩr&cpˏ竳vNuUlL915<27=^bc{{IlӱǸñ˜g{ݬv/>ϗZٓ47W_S]&?5v*NOnXdmZ3^χW 4J x|Ls uC~Zrj!{zLk̉! \X79]9Py%ud\+E ?.8c}, f;:9j'NN}k.w(Ou=ZZ))DT}NQΊ[,=fbaRW4+ g$pmq&dVY-Ӣd:T+s[ei]&3*^^)bf[UIp kg0Bp`44K$X@hY^`c!A߾sCVҰ@"AN(X.6Јr+CЄWy|>!VTjQ轂TGcMy] 7zS#'.\>F7]cCfa>xʯ}uccui.}uQٝ6,nk=bFR;({3#ωMug o8wSjcq$޸`C+R\}bT#B%%3Sɿv)*i<(Ig+nWqRT{Ù3d2qQDߐc(2`Rc C!_˜. Հ,],vAP#} gMg7=5Ep{{<6^tPMs p:퀹9FT ֆWw+Fy}v>"ƛpONjD5˴κjB7g-ֲ-~eфKGf9YVfy,󵝞!vcɴN목Ҙ%]܍Ҭ&Om8<:B;ot* nLX<8S_a6|(e-s;cNsOO󯇟:=xΓͱۘW,>gs(Cgãd߲^m81MJy <QCd0Nȫsk lp.vB~5_.+(`bMO`jN'+ d5Cr݂=!1cf78cGG9se~Cv'gvvr1g9K\õ=PF߀:1.hO.'@KI %%op2 DÃܭ߿6gL&zXرSpiNNƗדvz97xQ8tM5P@"%P"24n)z]ћٞg*A`ۀpz&=$%s ᱳ뙩F'j^VgYjc`Sl2zu܍fG8bԅ:RNt/N\PL=55 s_9O5E=9iΧn~{3wbGyدs8t#I;ho:owq243fKqMM/-:8o9FQy!z+1v]=nL]Ta퐨Ns.ѡd` \ڍƗhQ:lusr{9z3np18BDMuwަ_>v.øs229h4j^nj{! K Jx'&B6]Ŧ/Ŏ6Ytd4(ND~" J YkR~RTB s.ݦ3QӠnqhswB,Wc&6^l o,Sxg6M8C,|BJG-.S:NeQ:\c}؆SGtߓF 9\-jƞKBCtH " YThUb=`裻%sW{HCF B{Gm} #8jX&\1'6I ̷Tش˘4̦mc]/L~\;yy G7N {wߑo[R՘j= s4=M E9V;\=m&ԓhUuET,ȡ '=&^oLSJH0*#6calyc${d7^dK=& @OaX߇Fxlozk I|s1 :pVmm#IM4i6#'1sL2aM7_-XaO0&yiGS3.@\6=Bt-1ǡcGQT9MR^ᆢX;s(Ǐ'տp;-||~xgR}hBGޤ䤎%+# A0ćR>k+ E00W "nu# 9dG7f=<ڞ5$9BÐl*a/c2 %((z4[lvLc k}]/YFPyUj%pѵv 9E鏏'ߢpQ0{~p >!]0B\n[946C6~;psדw9i;ڮ*pO&|pm]1.)8.V;ƦT&Z8N!y0#GAA42`,ADA(0\@꟨>mr9yVsN}xܭ((}Ofȿ}"F< =#8&f{b iLm8_&s]s8`-(2z e dB7|d#jucȣxkΰ[| ƶa翯+2.N\pY>o6Q315s90U^:cC9zlϧ7;|Ol{nyy'^*mÑmW,Wd36i#h68Ws|nA8-ÈNqr/X0Zxo.Nm/LzX5hZFC᥂k -w}w)ɱDcfx_9`߯(ќ,T?r1:؞{ny28[#L?1rW2LF ] <.6Sp(ppqD|l2A BcyBvil\-zv /p[ !,GND/M,{fdCa7l{*WS#Dn x v돡wrc=1ɦRfm~trrhoo5:jܿ1w;Nu;9=yϔqI˘Xs48K2 o!$ܫ7tmŃE.G 2Ȭmσ<XRf.}]N88-b/hc+J9MZIȢ\Ί /XV#Q67/ji5fc,e2d^}ztaMut}Gq=\im6.:ө 0tKb" QA JjI1CNJ>^|Ztiz,ut͂my/wM}8 sL6'I\f_Icg(Îxq,7X-ǻr ۨͳSo ̣>rfu cVLlW ϽŶGur7ClG%7hr ܗy1ڂB&ڢC' ek#roYV_{?MgseG}c6X,fE: \s2>Ftlw$þ_Cǩ}bXsL&crKZ7x8ZX=yc]v.x8/=MO`YZsQ2BזVYp;x%#'6HO`KΗ؊jcv;f"OV.~ié JIe%$S,Q-LƲFε[f>aEuv՝yMl9 a=|wɵ%jf\ɒ+IkEahži+lbJV(UTYn݌G*[;` .b>7ְTxt4_'$\kE!9"jGB)L1 P-| .9x O=[Z  R ""{[5}"1֚\x1A5t n5u?s9#[f3p5-*Wg5L%~N~l#I~e5 Ib"b*"u#C AȺ1l$JsLuqHB* CB R!*o}f"X2~=sPk̹A9 CClє7֟MۿcX:Ϫۄ-XyƯq!8*NM`b0NȌEDm *X1+ ũK"R,"coO3;Ů5|:p׾8#!F e)vy#;ζ#&D+7G_7+@煸{a*jeͿ'xOza}ci֮y_Kgp5ҵzf!f<ھEEX` +8n2 }4!l!2$V6B NhbHbe H)RiS#hYK$2XA͂ał1al;ڳ#tzIݺl#:k D٨_m=6w0H"1u3maY1r,+Egc$kJ1TrxȻx/aà!9y=stXb捣g:ߙrC su#KCI QB 9\x**E.PiavyT$9D`(2Y\1 }O!.:MD#A(&MЧt_}$\Sh7졎Pl$q7A&=c t>Iq$1FG|``398|;H;P@W"4Brþs!KHo/=>5Nx}8O(yToHbX*s2233 ̣+{x7҂6N"|YJm_G&H!!0wyEtUQx 4D O߀_BOPt~TCҟp:0cE_60Vϱ{a{OCCQ EDLDEa@2W&_#yez`;cOmO: *jnϲ=We}F Ch EQ6 - B O[b!D^Z;X/ܠ.BXRBo%SfL+eEAs1"(jI4Ͷ@(QֱG1FH IBZxJ\،t 7Cu>\PdZp4pRV#\m}[8~!ع.~ٶv!sJA~jA{XBTQZ:hеΫqsdsO!#%Di$ޭ%VYlhw0X2:ԑlzzG096[BqI^A{y?OVʵUMk|̪745}6Kߒȯcd݌ҩSUYٱɣ);5 bF2:J9:%]4Jq!SA8.VTStgOpۻ~cR5z fG8bIv"%˜9M䭤烴f=0$/ Lx{ &͉suT4Ä;[ ?9֝hl`"bjbcxɩ}Nc 6( }_%9[Hߢ$i$$LchEHcu AU /tck_M*T0UaK)SS~t.H 1aL{5}_#UhlO6*nW xYUX vA ')pI̧߆熮Yoܬp 1+} {9_Xjk=B&n< H CI8;{YJvq./&9x]}n*mb9Y63"6]:Yh$3zpA8G֝]wҷ_:'E. 1ԀI@qFJ.%):DHӟNv(IbqfB<}jAUb^jzQ"TUc2U]PvvDKylv<4ĩVO5E:8gz y9 {;(~d~xP =?oeV@UU|K?H#z{+Pd~rM${_6IaY:5BA"r );R:WhڟAߟxY⏧ާ#a~W{?(5>n{…EaR ,$sw |K,KZ[+oyffe*>MR7izd}U ^iX!yԽoZ|0cF2%}rϠ(w >=g@Ȇxԩp;L8ս 13޶`9t,`LOU0 3;64!AqkW7[윛s.c^zߎ`}4 ctT~ }@b9 DM~У.~e9't#(| =) KGDFŭgK53{gw>mebQiV=zSJzD4h=$Qn4;V`X [/!9/{·0 а$ ĩ@ Kj /8 6HU9iz^ $iDG%:>JiY@ HmS|dj$VH%Q$?E.@&L 魹 :nFX,1),Z]}p{Y>7sxw0>hs^uy7tݱGoEL SV}m7fq>NYhmƓGqndwRtAC(:ᩞh`cy)3TlltP#X wvc>va~GcsVפY/[Cnyozkθ#q19GA_qQHV'ޏEiS$4ƄUFIcQKJ PlpVJKFriFDXo#z&GGkأJ:jL1`0A.6MӬ3mehf3 z}`r 4!S\{K8N9GsnoxWw<3z: 7c ozxc>:@DdȬ64kMDT`Q#%$ŃI+@0eL.R` f!Jڻ!ڠe*I0o%/{]35#Ln<ᘁ%Ʈ:kc[TV~Q*Ȟ1cpg/!unLzu^#(ڶYb  Z '!cxvлbaOOOCyxR+gE sT-tn}L$ɂ%DKm;'г, 10""D ͈H@BEOq+i*{:o4UOS/A ;_pmB0>\ >W6# 7BbxqYľ%ҭ՞qtՉenS4߱6X.͐6Yy`~.&'fhJaF( H"DW^%CvJ9V+n!ΞpZj$#qbE~@V$2D)$XmL"߃S8<ec/~{pQMz8_vZvwqhtm զ r^At{#΃т_W<67Fgͥ흎\ֹȪ!NA:Cd_^`ڽmߡ]hA|w[S2˧]܍NgwL|kV{G_OЇ$G4E-7M0Vgj'9ŒN-Ö:2$2=$L>u.l< GV<[9Š1DƔlԔńV6*X2`&(Uj[s{k=m5]|f'o25r||Nj'ƪO]7x3 ^3,O.<܉@2#2I \q#ϪQ$AĞFjF멫ݷ.9QE_6g8pޯU-,{ʏtdzMLmC &ˍDdy`TX,#ӗO>k\b_W}}'AaRxRgС@ 01L?r]]u `R1RִSiB Wߪ@z0BBuՌLNcE**PgIs]sɃ QȀ6 iH(1\ ΫTH+QdZ*mj[Z*%lȌ` H V(ҭR*Ua_^AKd X Ya$AŐY1˩y{{vm4e4WCb*E$%iQj%OYlZߞukԠ mQh֌J F"49P) (d@RQY"J`BD,F@d+z`976Gi#&i^+jdxܬciQ$@$ 2X"HF lE ,-l$"%$X2 B)X(<1WXb0ȘbJT\V\cīe[\rjIǖ2XHqoS0LYhV5v,gN#[xXfVIwayL [l6(XEd€ Q#)_ b!ǸI{p^aVP'@0F,39}Nٻal~kkKաBG(:"(W`#"xE{8o{M b3J 0ķ8n2OG 7.lPJЗR4{H & *DD= *DC }3y\qJ̰O=,vǮ? En AB(!B9"E}r7%,$N_4ԦGOWdY2 e̋HD!mstvg<"UBY2[RYIjFӇ9W'2;,-:9vvkckco!ōxf1Ȗ&Gb`S2ݿ2"G[7W&eFSw-ƌ;K*%""gKmҶ-Xaj>GXH~9?%>GJ-)F T2:N`{'><6۞D)j D <*-)PN,xN#ã'Eq "$4PmuNj +i/9z;ymGs222?P(o${T(mL,?H=J.6ޓ'K1Vзv>_9OtB]\\+R@_>LL~wiO\fHAʵPKBRRTZ/nrk9p93S p`sd;&="o,5 xΠ>6 ot6C7},C ub?uص&c*ψ ls<?2⠋0TVnm8зΖKX>`agB9OT7?G,fykYS ]|__j'%tΚ?ovѢ(JuI5<6,;&Fd2ow=4-4އ_wa?Mj$+ ec 8c  ي: 족 0G57C?n8sy<̣sa:w_Ҍ^%GŸ5c b꼀qr2761RJ6I͑AN;MHZV(2C쏍yoGmFfFMͺ4:G\ ҙDgf7n'fs^:4>Pzhd0gf{ tnj!QIzyq|L~cb:ȢkE1ø;hT2/XsCcA'oo~7l Hq`*px|y4M6p)I{OݽzۭS<[;n[%>V3 Tvс?Jlt7E ]32i TgY5ѡo>맞>Gθn% ƹ%W/6sZgJ]3Meχq RJ$x[0\W@ ?py;OÇM,}/Gj2(UY`D cZ 9n9 iIjI$$& :B+U%9 иC!qF 0Q$;T , GU2Q_}{49X׳%8m7Wsszpd/ ]8;x8:{^ҹ>msJLSo[Lz*wIk;fCA-MFe{)ޝ2lNGYtkv#27d0B>q2z, !BPc ĘB9CrTIFM͊8298Aǚsw<<}]| CyI⮐9uwtt%8>0  G@vN&F;I xW!X9x0EGEx&-nǎ@Z+.4] syIf)Y.>ֻ6<,>,#2FE@Cp8b5IHtc)8u1 QcRTPHtLH0Ea," 4Bh嗉;8xiLqYj(S[pI|(u2,D y8LqP`ZfCd°H#!]$x۔gFiCX@+QEtD 9[bb pt t <C*K11  ̩qU!IDblOqeV)Ҩ;c7~=s|t-i1 nQLw# E D_G~1ގ K /j24(Ѷ]xLz!ﶌӍo!)OϐCy"H:1 Ȅ hm- ɥ)Y(#8"!cJh ˆdȺ5fT+Kl݄K 1XRZi7mk1֦wmZc^eW#﨩!!#>^^` 7 J򊵭VI_M|?,C`I'ت),;γ[ Z/ḻ[iV~`tdSxIk1t0Qy4 @l2 .gg``G2<p:Ʒ߇@'"؊sD6@|a kUע"1Grr(KŔq7MzӋ?&Ovmfnas_<Ւ?O_ǚ^8m_u"$ s!EQ_A|'q тE~-ʿc?ySfV'ERN%}ɻ6_僚tPlyyU +Ϸ9eYcmNې̵2`@d FAL 5MQ +sHBijҘ\5_1ȏ(X@-gar.j?7] &3C'44,vmc#wX+UM<ρɎrNr:7t(ѻgG7WSWG@ͳԹhxxU/gy*oHI$IUy"v#OG7q>E͉#.`~|lZtt9ީǎ989ͽ"&O{9QGӃ ˏ gw{%gwceu>px?^{s:*^/ Q-fv> s`q[74lP'yǗyvI?~a}$?%)dj;UZC}uxG>Q{>&BUebS?־oFO<=sw҅bN!>,c0dERI&d C!YUQVƙ Ĕ1ܵ!m"@}F {`$ ]е%geयFfXɧo_{G<>{!5 kfFTrEcr%Z\xMdn.2syQ$PR/ ,|Na=eȰK0#LffV4UYgFp3T]ґ,QbmFm61VЛ,VX6il[,VFM-Eªd!tͣ_VlF+Sfضj5*1"7H &9$VF QQ$TV1@Sقe DDU %PdB,QQBP-9i8HCHRBUBB-$HkFfRٵ3mI"-"D D*@7}kGyDV %CRjժjBifg;T9LVu&V>m_UQ&Jԟtgjj*R `K[MiEIe1 _L}a S/MT$:@@ʊIbiV=ץn9a+wZHEv~I/>kj)qHg Vik=-ucutWE*iѧ&~sGІ7p i2sp;ø{89dNOLNNS@ U(RpR@#=iJ 6AB@HtH SZ6Jۦe]5)}H.ksUY ^Ń hAU :y C`yYr$Xf%'>[?WɚZbcicicD~bs:l#v<_wd=Wuh.x;es46'bV-g7r5"7Uvǽn>r5ͥb/7n=;c6pÇ+"9CP%: KŃLƒ~1bR5;p;r8Y\n_?u]UQE~PV x*n(@h?'dA'H)G辸v!fC䇿Ea $" > x@gֆ"l`5]V[׿ ^oL%M*˅p !~ ,``bpҠ)~!"?$#f$V1 2 ܩ(0@HQ"Ě 2s1ωԼGCFj7ݶuky3cޓ{] '[`v, frHv8F* A! 5 7bLXc6q S6ߟf"Ƃ4 h(uI2  0%apݹyaɐekj)hfKtk?S@̮&Dt,1S}$eJ.hcF B ~??jZBG,Qqh^滴bQ+ ex$;A,d B^. h!@Aő4Bcq4nhH kj^\lQ$ BE(I3ψ_{ɶu,u'VfnӣL /=wn;7)LrK XFNFh.aЍ186R`\?Pa ?hzП6+` MBY^1 b.BfW_>GvzWK^ՑDar}{nf27^ [˚xK<+_>}|B#HwS;钥WkZ<Ľb#RԜߝ鯙]S?64{^-v 9}lu3(keXw]nJx W$ZCV[tP{{с!z9< 7&y4ڇA]߾@=yq?yͳM65 #M lG$}ϧA {( 2TY4"~c_tEu]WRfsFmw ܳ3I~,?׳\6BpCT#U^㺜Am nDZu+u{"H@YLa($*+d'|^m~Z?bWc~SY,]αj'bZni~ ,RzdFoM\Ba"j͍2֕7kk1^ؼpIjYfYiBRaB {"鱉V SGp~J]gc8F= 8y%gQݠn*E {\ń)l`\"*\ݣY=9g^ש_>Χp~/X ~dVA2ox}_Ñ-"s= !z BM%BIGDJ${{F !R /zOSic]^ b_䶹[;_*ܱ.Y ФrnmU0@ !XőiI $ LY8͡kUenicj4*++ 2f:sungvrh SY `y"m^㞒i f#gDA4t4t4]$ffLۙnjԄ`F i%Jx4Tp`E[\aۡtK &ޠJ΁Ëh + 0yq0(4(\Py`90qqU00*"""]~"e>9 ͒!IOOCCrf]vm:s%L/,t^ ۪dƖ@BX"vfe\"RTat$УQD)ҤR24K7pl5nzUڙE,叜*X(J:_;h2;5=4Up;UT%=B!bv Y ηYӣm]Է%.n]=bݽ|\;j]MgT;-α' v^8R#icjX6Ñ2;1d*n tXFMIń.ލv-7ԌCݑs:VHh݂$"wfF21fdRf] 1&tP!ٍ7F!,L4F n2h$)6ipd"ԣ7oqQ[Ef]V`5RmG0MfyBCJwL`phLҵS PCMa@c0=& Q̡z=h;F@<4hHb`FK'o YNptMXT(&kQkkQ)`f †P\ F j Q6pư TV('B2S:OtDtr9 s\9#fc-[:1F nV)cĤ  ͘$W Pv(]@&/ *H6 #@"ƴ$pPhZ7PyIέrd&2UZBቍԊfT ӛY124_[֪k-Gjv؜,2n*? ynmr$ԭj!|wG/~zesV>ȼu_M몞=Ƨ\髖.ٚnWRײM$*hݔ(9/P֜U2BSϰA'SYܻZMg ,V066k3m:aE!V{īv\5+oL}޻޳N.XJ&WSyh;+g ʙzuV\̬K=nen'sW][8rMir\ubG:©l)%Yɜ&nϷӷ3uBs_-5D\1W^<\K "h/ ҙX&]Uy;ϭQ"C7GX{oR*yJ.gzfSywV)LeS"w:ZDŽ㝺ocūmv&\T2C6j'{z3GmRf ɜ_ ֛U9US֯9$ѡvzEl\^*Q6^P̝g(#Q)dt 4v^NHxq3)詎x6/4n҆sڷ.>NHOqXUwVBl\flwinrtwmN(NU7QFI/iӍp;nl/1VgU:zJsm5Ӳ^T}<^v, <4*,Q\)J{3;h卼7xs*dOZ&[únƽoؽʩz jmTlr@늓˵hY=OAZ Zź\uZ1{5 ɽB=}5V˔żν‡X+&UM븭ȱvTE5Ts9VvvVUԬm`]ԥջgo'r:3(ٮk0kXtXD{rC4Wb7]'O^ .%PdXI:&yՇ=W^*)!M^P+]c15U;h+{G$ᗊVڳyhOl%4[q}SݚDԖMvceljfj/Mu²k',l:.Nyp0U+⡙}f΢R+BlٔE;o6vT\jf)GN."m.''wTxE[]hJGqCo55O}eQJB]^I aם[:q90,Ԧ蹩Xoqڧw;-֕͝XS&ܱ6E4zq;SWlZfvP.̳DpZ=X [A4j*VPΞR,_2H0L*GgT[%M wR nq̭.VLjș[iI:yErX.-8\UXnWRx(U$LSfP̡3&g3VlxBvPbqEͱ^S Naɞ:sײI&ddvt J|⅚+YZHf0Gq#;kkNeyu&WI{ԗ>y7V#vo-Go^$nȡadYi ˊ6a'ph,WA_^^$RYnZ7ʶt<7&h&gF.jY{ ג ٹ2%K‡` ,]bIڨ+B]z&')0Cb5lnh g0v=Ɲ{Nle`! N].*Y9&re1 왓yW+uRdJUmur⚧\rѓvuOg{C;Ef1uhi}74Vd\mk2݄uNV:άsocz.6@M,CL7)wYwa)ݳ/.eUҍ֌qnqakxw_mpy84C}.=jt>ɮŷ7W}AK;3nkIgSsEMac/ \+=^QWG{渌g4D.v뫔ͩu׬H!9Fm,UN]Jv|2=5GWe;I.a=|l #7ȓcoCa m6oZ puSE'Iՙh79N[Ւ.:*Ibb`us/TSyKVoZxwzE0)mlNJ7N!-!s!݂L(Lܫk]9fW3 u9b7zj an@_d :<{6t(\g[u.gd+ʚ2x}pc-Sz鹑؏1emf>D]^dWiX Nd΅4.l S4NgISq-ԔBbo5OY6&})2u</2tV:I pҽsG{&%3'jN%[0Vry ]+s;&gαk%%Aq"k$jƧw5kxNvjhq)^K(u!ɩ]mٰnpzL{{p:[yfUbֵyS:3YLM!s5Co!2ٚ;G[dNbk ɛ( v;Wa=ơΜ:h[V4*ν`&Fwkn:M x- W4C6&Zl^+/'3$\*rgnGU]&V 4jԊ ۙO;,Y5j[T!;3|x邤WQ禥TC.ƹ.]ML9!bry[3ۘةRY4gj,Nu݅5hh,XS3bzoV-sxìHZ&siV'O8ɥzX\.Dzb"orjH\}YV(#rltu'W!U/@ƞŤT(v2xؘMԴM-]Z҂7F R&ᐌVaxyԡ7o)XdLNo  _'nM@]B#dw`| c7g\yRjΤWU7@;Bz[eݝe%O *v,ȫD$mchӐN[I"O;Kv: HA\N43Rkl!Ss]11;hrqSƯ*L#q'UdR]ܘK#˛^J"rMD8*OcmUN9a7ϗ.<$RfJCzws=ҊF{E;;Yqve]kMje̻]6ۙseH"{hf)^3}{1XK ˩H%bs{piø#zdu )wٻ>6h4 [[]%ogdVjYZj V$6L 'e>c]t DvD8P,xŐM]=ǜ"N@C8ʚɛꡑ- /ɡO%gZdգ_K/y+nˬ3 m/mNRS^vqF,K {ڥ=(qkLy\v;&ݬ]{ܧ,51[dWfsǫEo+5mr t(q;V9;&Y13/Y7yC;wVzysrw&d](e Rtx%44dGės}܎v»{XglPotnF\vH͚8橐UsrCɗ֘Kf@HɆH RA vnɽ(l^[jbTC힜c1u#se$bq$F^v\jTq7{W+tܞOgH=eǪZ)׿Z4#l3CR&_=MΖ][l͈evpbvG \Eq rCY5_OxXqݟ3;s6m*N02,٦&8ژof (yivUi\V|̓PUCv*~bπşgk LBt@:\(^e <#J@PFb4',,'| A_.!HNULDp }X1b%,Y#?>D+a @dF6>t{A#&~fmM`{L}5xLO``V $;vH7N1`  :TLАML4$)i~ۊJFq[oϖl'a==Bivaգ [H7BÁμ|n}HzpBa3NN-Xdb6a7f)tt]v:O^%ȭXx0U' tA7#Qv%ulqOD_^# l᎐M3͘ԈJ8VGm2VpNr453:S}צC໴qARsf-꣌܋3Ӗ(BhY4 aElڰ)+ZivM0 zmqA/$i{`: ݎ[㱇's3))F̆eb sqf"C28-oѢY$*YPP/SσhtIEjeQ6V(QdEڒ=BiċRSTIbL-oS0OgQ=I@ &ӫ<4 c$y8$HBD軔' rXFIh |OaPBM̬rOq.$â [nюIB!AQ(13CI#h@d&II)p@ I,"2pFF [J.!2&0yps9+TiVdZdvJD-╫A|¶N'[CY bH'4-24Ae馀3(+{4u%dyIj_mH9}ktR:IFrËӥŘi î#D|Ux+ɝ# 0F$Ƙf%i ^^bUBg637빅p</hp)Y#{"ϫB~,\ 'Abm]`gD@Q wcE)\9aOqAz#'>m.LNpƗ5C0ŋ_e;z(lX&-W_>n ]=9ufdX233LI@L'cz]G03 |Ȟ|w "z:8ܻSL5u`SpJR/\śbӛ2rnD Elօ=Wy"dr9nqdf$ *##e5]Rj @4fBQK^}n/E3 pmp 0Xl[ mnszV(/sءBTl$`P;Ev@CY$$u\fjjԐ\<);,/&% W8k,Ia9|ǿ}^}nfajfAtE@D?| +rbh-xK&H]F $讝5͎OEmVm5nhW=37깡rSɓD&N9Kw}'a `H߯9T d # pA@ 6#(]F45GE LdW1Z602RnmZaw\J\(SxbSM\p32q~G,`G3Z$yȀ+2t2pB087h`i`fQu1 -Z8caPp±Ġa|wQE)Bpe0%wg tFLǂ CA55GDtCH5` !Mj  D\qŘP ]3Q㋊w]D! b  D(q&Q "2 F0҃sRvM€&$IV$dUTp#k'*V'?(F}/يfDރv?zd-JUUUrJ(> ZR4D 2Q)f`?_6Ft>۵ՐmOa"̩yS.~>mTݣ yh}!5 D_ J, bEX[[O<>pEEQGxKer7۬r $ Ycp(h24p;x]{cvo< Xߪb#C**iJ?vÛp佩T/UyjKS$R7~$* Jb62DUܸߌϫsiD#}# $r腟(Q Atz䰲KpBU`9S77.́/4IQ!ޢhU555a)hPCd:3 4Lpq @S"CsCT4GOќǣ GWChan;P">zoǔ%J@vB0S([ Ud1͐V/Ss\}"v:r f͔댤2MHD6*ݘ!&R8;6q` %rvHD2͆zS%XJ:ðxhg]9A긻rFMq44YU!XIrgRǓy')"+dʛ.Bw8x⨜wzds(#)a )YM@ CG'E:b#oKq8EF$ cAF9Tv.2'LEL4{0:yƘDK8Qyb94^:GT'K:e-kwRX2+jrQbx"FLXLx yt^\XNF%Һ;HF̹#ICi4!C- PI &™.YՈ`$#sEF3o1D6F'$Lˊ`Ehz@XkP0J1FSQ"_JF:[`$wRoX :'<A@&@=.UR( u wTPڱ !#zwxryDz, ss$ 攲RO*I9rsz9ܺcʒ ˊ5Oj̧BrxdzZQтbxC&h@z0F ;TD=!@i9B6NHYYLDP920L#Y(iBJD!Fe[Ժ892#)Ǒ3=PR$ Ni#.8h!eDlg%#C wN@ah{&]3(U(g0u͛8&:c.V. z"+4 # )C=BWn nwGGMA! V#H&;ߞ顚gHcpӐ@915暐"tK95h,7 s,1F'5<@bv& 8n\DQh䆚&ei VIM5D*iWC]48B uѧG4ގ0)VFT.4BsV(en=<7wt''(`!T bf;mf]Jb;,Y ˖[\hJg\ê-6p54BBMF+t ɳ]"$i7ٴ67Mh0'ZE=||>b>3adݰ$}"fȤcp@%>d9 jjljF.ɓTBl}¦pՀ?9΁^ Xutn30y>Aӑ:Nǰ(L;y6DL06"ztj:ihڇ`h6 Au ¥$h"uZJirKfhfZlПې^mH`.nLrMvss&yɘ! jhdD ӑ6OAtR:`!Դ0)Jip[Cx< Hi& 2=qE$`Hcc@qP(t CU3ssrf>\O/3!R)&f`aijb.q{)(ÁQ7ȣ-J+oK]"ǁ- 6 nxB!FfgN~ ^хD+)-q3PIG$&(>R^o/9>tnogAD4flV]f̫,'iyE,T\V? )~5;ĆtM7A5Mj4=^ en@xRx)5-}!ŬaaDDPbqq"A&۷EVT>hGtQU3ʘz!#h:". @ћ)ւ4B\32.@GLUMj(\UMpFOtש ڪtњDԺڊ2z*9g0t*-3g3x_f"&CȰbp3H( c-R`G:U&G$ܒe2uO`u{\zulV*2x(.=Vaч H TtM@Mu5v4ڌV3U0n'7T8nT.dR UqAG=E."mmwnJJGJ>]Ɗ@Y@ѤD5IZCYE5uHBGj!ff l]H_خx` SixYxxWNIͱW8VoamBl(lIƌݍ`ѣ4lP)ʾP6{.dxs@Wx<v:06:\AC" 3]n@Xlh =@r ktlD7`Cp`顸47\3 IB*Dz>x;L Bņ4+y"oD q# 4G4nn]vT66i RPmb R0` +CR" [~BLZ,r&9%p6OA#`p DAā1:KH\X$kdQ-C @*f8"c` b(Op!##K߱3zUq f99顰MnRA֨ndcPnLU PQ n E3}3KI!プV MNGSvZֈBA "4X c_HO) a ./.@"8V4S3 L"RHW^]Vx9AS"5 kchaT( 24#0n $F7z-ҏn_L" /)8g&2(&m6wp-Br$!7¹ \%)wH2bM+,W5( M%E"ȓ%<J$pw;١@时D ݢH̪5f lV)ZI@oVɹ#f2]W4 "(;+KWʚc粯2D*rgؔ$a@uhfaWJ*T|%<:7_LZдГ4SVI0SzR9.+WG8iS̜MBY]4*[Aj ւ"$蠵@@0hK}z,2 !8f6( SoQ%JCb68x@&H3k>R2@!MsDKf\s•H/ rfèa]c2By"ѴLHH+zd:X޸ (p@;y<qW)"CHCW0E2L۝ǝ,WX[2$TӬ"ep&&uP Ie2(%k Yt]I02("/Laզ 3zFlmXEƱ$ړ8)&T$ZDjA˼SSeH9L0Ă$UQ¤"JF53`cFSMЛ(ʋud9 Rin&M¹SfPaU-yfo&]AxGBcz:GT55fhM,MʇuAh2A! 0P%mL؋n  VlX j݈<B`dTxhL542ss#(Xbq"PvvH9*85Ԫґb4bD-rv! PT^뒻oN^!$XHUL@360iPԫ@ȡqApPGKcDB͢Cbu`.,nvً-zATG::f#@mtM:&GhD)6MbeG}C$ddi Qiiqj3 C"9(@I "n4{sF :F6Qa.DuM鶔J@`B  $!B@TGA*iQF4RlU 鑖\7癙 G0B, 88>4 ::!`!VMRI֚4WJ4Ge`N] (RZi&c5CZDҁQPbȱ7W+Dd8^ j&4IQ%($F( P(;rԸJbP ֭`9ro]<> ,1i@ h hf:& hj6F%wM RG1i0/DW4@9N8ˆTAA_]i#&w/bα]>"D@` &6ɠ:Zt]:+AڣaFf1Tm!3L Tb DhFA'a00Q _?q!C$JH*rDEHڜu> >ϟmA=B6fnhWUG ',(|ZhU10olMG~D,O7LuqFN2 ^wqeXG}3ۚGW\}3u{~X4Ѧ= \2@$<[ ƪBWwt')qbF%Z[" R =L&aD2tIͷ0b hYNRP*=櫬\{Ќq dprp(H $b2`eP'=\ԭng=zfG c; Ȏ8yzi/vg &pX H4TJ 逑(:KQ6(}?S舙+j uyz5pղPR"+m΢M18\<}QbTΓ}ZM_ɐNU]F:qs}wo縄"ފ֚484gfcd_Y86݇@*{q$ sOҁ%*Jz& `񺄾XI9 6kD 2jcT'br`7 yCp)Ghn*R ҥM(Uh>7#,)hI1pH"FhuaBvjuVf{/YN]*7Cۤ#.ե|:sͮv%R (x,滍 jPKB;vuB;/u2p #F:FantyYF2'5-4;{ufʓ% ,S;rt"rnPvlތz]e(caYDkVRA5'F#:+ZP@!T_bg]!6#"f(CF] w#qE,%Uj gPLXOggE!Ta`P 6 qIFu59)Dл8^eS},TAᤊ]I"I:x1F#J*OiIai.Fp }7ʣ!=CCjNx&'m T '*[e,CR}-+. uCP zE'<8g H1>7Se@ǵ+*.zGRLkc XHD Ix2 nJD`B,fI#VD>$F5)uiSJ7 IN+6)4}8haMg[&i]LL3 !d (P)I, f H47Ldhm g+T.p-팛ɘAe%zb)3&&z73x*{TƚsoLVU @^YPh4`wGкp!%2B`V(H5sp.rC T ϕJ/Ufn D[#:8p7nf2T! ChXaƘbxʑ[3UOU¸ qI8`Ȏ`:$z¸ҍ$vvaA L4L;og^\h݁{r>Zt=#Mt;(@-chtTdd 8fCm!'{BH'MB,&H~u)ۃۈR_} /72OG:*4(<3,|_%Q-,IbFУ"^E,̥es)G`1@,`V@)g:jL,j?(@5G0 )+h3"L^ӗX8O]`wÀ6n|% -hm[$d&Ҿ<G1 5CrA6:,tp88;':;%9jY2c5"@j%!LwTŊn7ZDhO{Ep:Kc> 3 10UfI()C0b,QQv˰TUk伿ԸgNOw$bM9zWӡ}k𾔒a9F[TDyyNl{׽׮?Cnk^|?Sb}O>ǭ?o?G{>}_o{?>}~//?ߩu%?ak>f~o??߽Onm_+S?'>_[T{/^>x__y~M1[j4Ebn>jlaOhgG?yJq|/#S2# +"ȨƢ1&jnD/?CNmh̠5FvòOs|5 <! F&"#::T4ՈĒ ,*e*YjQՃAJ!oto5SCTؕ(8|\4- Xtg:];48fdؐ ᫔U"r.&БZ(IX1*:H+8\S@@"֡ c5ZpXbf .y+R:]/%k-`!:KZ[ͳ*\nݚˮ rA:[jCbk*;u|-4qBdɠam!::[VI}y\%(ULI8n#P;-=IEۓnKUTY/.rcdm)/):3zpՉ4ȽGjj.HcL+ŵ"AHh3REBĕFcSj [8T`:,nHd3]LNx-AmQPZ:9& M5(!%$w\ɸR$H(4`3$ͭY!_3ȺhpY&匝4 DKT(@3nQ|E1ΙpbyY6Hɖ{N&k  !-0=0I `!R)F8f{j#\jdͥ Ls Kq&C)wʫ1IYڸ.XBp].P$ 1&HH(HRYSRSFIj 4YNk_&B n9 Š0zuiGD@sX%NZU 0eǜ#rP,-kq."bo`)Dtzx/HIF!Є#VѪZVխ"DݮeP%Tϣ'ZH΋v7dNs4G 0lq;8h?n)K5 ccVb.7W^Iî $4\XD #À8GGTA,&f8cd2e`nwꪎ%R $#&G7;scX4`E;Xh#/b Ji.zʛ54A $Tqj@x`oFL$h4k FYûH::t褱2NWmۆ4 -iZVPCDXkGuBSD@e )(xr1x> Ky,649a*sJ:xr`$DPϴ`Qd*HtnZIFÇѣI4 M 4Ԃ-MX5ԥ_bRhy@RPg݊b)>  +\j} ioSs=:4`i 860ƈ\S9tE^#%YQQUBLj@F!r#;jPUtڭxD8J$Ya#GDaDuCP543!%d$C2 RU~n)Z U)B*-(+U(*Z#DBЪ+SPf?;nzyO<:뮻:=qF7H{4ZWDETmPi/}MUCGl `ь84Q5>h/%=f.VO^ퟋ_UU"P{oİFIZ,t5 w1c``#8jst.,qxh :$ &AF5F J)BjDhQaЪQ("CGg׫8% .!gGEp]wi3Houd4oQ5+d9Ny[e`9!i(r1 0p,v"804QT=t 7Z O)* Cޫel"@ t!Cԑ;SOq@ 7nv*kS9N[&iQRG1xœn:sٶ Pxrwu#GYB# Rw3/j&W M0&smGq0RR#E{NՃ%j=Dk4U=*rn@uQl; @Qs,i3c$7q7(-m@ps!$dA2i&"I|Պ" X\&mʼc @шK0$N5Jd($ ;2ɪ0Ln ZrgvPvxL]\Y$3s]HE6ԭ"RP-(P30 )ҕXETz`  cm0X3+KAa,ci!#6É\;A UG]iJdhQLȎc0T<'2cbX $trmrv8t:ueG'8&P=BՠH0[mU`,B  SRZ RP :(yTv brLo#pID qattGâ q AGCESMC m =6_#/;no+w~:{yPQMm17 &8mT @DR FЃ 5 |MؚW=|x^\T.^;%ŻN$<, 3 eH"2Q "Q `MI(I!CXƜC]|S[ ||_@J$6d\bH0f8Z=f6(?G-A͝ܜ~\Pu̇C單݌q!Zjvցr0k*:n> *=JKP: Ș˴&3*@"3,('($YQkyE/6f`0…TH}JX5s`vM=wt㒩Rfvf`@m%6Q=nPhWLK[;u &kBUfe4p[fqZF,*vurٙ8G Hu#*Kg'BrƋ8k4J#Hc6򐧶Z Vu ҁ+]uwXr+L:{D6@Kʶu0o[0[$tsdkLM2F$(d1̃=Z:Þn@ЧD0|uRpcy)GUܔ28ya\CRc5@݁i( !g]bsF#b 0c [ I n"݋ IT2&&3ՁetH箓$:)oC #.2B>BH+Znգhal UKxӇ{nwר/ i8 060^\2$7P0 tqC`F;XKj7] EEtĩ4АCO5K B$3 +Z `_^7]G dPD,XiNXD25qct 1`&B:b#gVƫA GTCHy[kma!h H0Ans3r-&iM 6Ѡ@&vwP NK:1\ݫk2:I9t9njtfeUh"aV+ZB%Gj*P!(P*R݂e Øb1(i]Mqy{@VDe@mΊ@f$@$n#!SBȀ9 j8] WI`TPҿZZԵ|YP{;;X]^=c?iÅ,jNUA5/4>֓'8;U>36֥]w0 /V8G#bMF=7@zt߬+,' " RDWކq--`uz聺&7c2L!$\~7{efĜE\9?oA>cx61w>Ç'<CEs8Q[jvטy;/3c>I& w<#*l!ۗgE7Xx4'O4R)K @\@; wžZ! !텁=^ہnua 83} #):f&&D.sx<9=GQ6S[,sr"uom&|&Re0 *+wL%>|X%b%dLx&3 -@$!26b|=Cո{=wyko()ұ.mC&6$uT/Uvn1%_ٳˮbd#:ײX1 .z3͵vj8NFqIeO\ΒPuN[5/? ;ӟ_uQZM(0I3!|5lZʪvrTCBX}Q&ÂQAZ.,1); %! W`/Xw񞾇=XP!d[Ѥg:aNn ,.Iךޡni̼9̆ (=&5JBM/rccmNgp8=xcS4wL.&,ֺ7\7!K)V0dv&)A1Bhn_P 4`e8U1(% f! 5j CRc Pxj3W$FJeBZTZm5JmD hʬooNJffŌR *C{XxKk nNۊ&1q!G#h)`#11פFdJkf+6{2O]z,6˙vprڏc;ɻQ~8`m 2UkKUWL3_sRxsέ+` (:L&g.z~:u[-/l tiHjB!z/-SFa{~v\?wI󆩌xmd5Ԥ;܍FM<qf"gdi<%L ŚM!MMqS=ٶCBiĶxhfo݄rWj9NbP W8tGNoF9jrz C7x%WL]8~Lq9 `8xe(ֹAH>hr魭4[\~I9!+3΋_enzil̨6"[_Mf5u,h?c\\9z;K>5&gౡswOTjAkhNc<@m LFB](wڸNhu\vsN< gs[͍oCn1Ǒ(mc7w22=F_wSn=b9׈΅DJf qFB!`%B( 5З_qۻӏp?O 76MV N6i #)Sӛ}^mV?zۿq12_>C܇QЃ|t}?pzt;HoqK)lǭQG_~iݛ嶍7~=Gշ:shD9.dM& ܛm::hi倆 x. Q[ퟎ>d{xT.tMŋ'[- C$ )!y<1ˎ5@,XcS(<0Q+9Q&(4'0Xjq,mzݮ<=ѻGy]g^}~/:ߥsI•I_?GAfZF_%͗":fA:fE1AVv# YŒtQYVv+ mU7zU@H9_fyv-zO3AnV 6_Sڵjb'`'0 _k yQ@6k:ǟ"DD~աRUR~|Yv-##cOKzz| IS^1Z.DZ{? b"nӠ@; E6vXJijhiNқKD|---,=EϩŽQܧF$9) MVrigg7Cw8eك`8`9M1Gf1Y 0vpvy;vNj?a6w'~atrp{x>6υ1U6CH?snɧ1_`ҹ1S?S~>C| R@hgLE~g4OAadz*D C,L:Br E_?#=K"Ylzi_E wxrW KLIOTv@1V%Md`,}k9F﷞!5~sh_tW0Cò6E?:@_Q?U$!25SFĵ6IS*Z8b*UecbT C@ !uKPª\mpdb? C0tS!A#4Ҍ)އ i5C2 @*]U{wč.=܅#a̚XQ)"o&JA5x9( NO29tSz&A6N+Itps'G&yq]`(tp\M"4 3GxQ#RlKvAP08o#oQȐkeb^:X9G:>W[aZN111TD$"i."g(llpk`/*(`O~ Y ^}_xh5%b0CC$I,)JXtmhlc[ N2w\e_ UH /W|3i0 A O=d]:䔟 :@_CgTOzv;𑩴^q7O`Ѝ Q .#gnN0}٢ضT((CR;N:1f[7ǥiĦb(2ACC_ɮY ?Z:O(|dF ˛ P7h~ # y  =z," 49/zs4Ǔf{f?~ݹ /- }|`0< ͅ4$;CȑIIFy>wg"v5=SG; wU*MFʴ65!axE76p ioE9/hE4cэ7u%4Ans1c#p gt744ۊ< `?t'!^Zhu!6jLD> }=?JJvϤbys̀|(ͭ_KɂW&P)7^t@4槧l@D'/˧N_x}}xj6CZHb{Ǿ`zq$G!4{>?D$-,ces2Z?䫶RG%~ŝ(icMΤ6 KcaO?hflȻ\hwqF>En՜;kf3;m)Tڴiɺ'4ºyNP42/4rO[_̱H\nFJ^ Fuz9.UcB2/eY_G#F}@7m˙7pYD?=8x?pw ?2ˣBKyԨ ~BD,ٷ+z6jߟOf$qv>>e?yG7:O/;);dbDhưJP:VC bTi1b]3xTjNvabEDb;2* TfxhbB>w'TN*i00Xzöp M'9.NϥaFB0-!6xr<O>Zm#۞W4`N9ɈWq9CP7h,_ !00EhFȸ\sP`BhReζ7XvPĤ&3S%"8qoBD uh #,!'(wn=e&PDi+1 dr$Gnzx˶ 7Y'?I2D2BO)u/:dF,Z^y2oζPly)Uo6G~ p7dm˗_ׯӺ<6?nlcnC<}T@5ʈw!PTsA"w"Q>܈,i4zЂLP>z޷gY,?WCix.&*FL}pC:(ENS60,1 bPZzlsdt!w%h&qC8i'fٳN&ɡOl7sL M$6:xqlqơ8?OcN77BGV${bn%>.`xZ{+223x"(U8C8C*\ >F5yRDC ]IE>¯N#h1#9؉$]"<ѾnQx`@ ,Sv5qO2!ըP"ozi[<{lPUhk0$hsl\ #=zy82Lޙj% o>p+O[J=5,QQ9*'OYɏPpo!A= (`ATAlRC$j!1H4GaYȮcb5+ovnë*إB"E%{#oK0Cǣ7G1cBZy`d!$$sR1ڹmLʆ[BHS'Iq@I*@Ȃ*4*UO8 t9W+8xn/E21æCdN쿟tQH%BF%}c0r5BB11MrFZF H.__e> ؒ{sԈh < 44s ^6-Dx T5IjkQXorI&8ODGxNuFJrLR.Q3A`&W9pt'"r :gAXiLiꈣTJbN&I=m69z}x;("o?fH_ ԁGS _jiL#kE$_V _,za ]Xfԑ%1[w1>>o JVҴ Ad2Q:dӓ(K&Ouc%McUOucZ~7&Em~%!g{|֕r2fɐ"XILaj\)ێ9F909HŃEO͒z+*vf8I0DwaaAC?WQ "Wa'`G=VT=8o/ZXWCV&1ˠCC^CSP K <,'S0-!-j.C[>-{^O/_Mݪ*(A $ajT~<]r# V*QTCLj* TJ.RfNh0gFZ-#OsQY(i ĉNɩb{!0BpOR~H"BSX;(R:"F$,i څV`#f]̑K^>/+|p%0$Oz]c<ТK @c024v ?>҅%{O:>hpE:ØR4PwHQd!MJc6`zX` !MƒxfX43UܰH-*!Ԫ2(1y φh$`B -;wBr?>T;!U fd%^r+ s t 7zHYn8rbw=XxF Pԑ2%3S~zwo QhvW(ç`*"#** 9A(|3{_3~}ދp]C3Csf44gsӂ4'Q2u3 }:>&ǷftVÐq̜?!R@=?7g g` E[`@99;_o"*^/?sq+%#'AXꇋ 'ͷ85@|PX|#{_2>AGF# F4@3xɲ,YdcG҇(|6H"~HyZ*&B=LJYyFdHK"@07 IV4 $9g9~G'u{g bkVlaWX}I8+[eUlwSxEn H`Y,ŘAH=,ٖYS SQ;tF5aaQbʤ0R] NYp A‰5Hr&*9G"lm$+D~Ɲ+%tyCz!ٲd"W+V,ia62K[Eؗo9H[hWc)>j$"i) (*B5ȟM^}ŸC0ʯRq#:M~i$alUt>l<0D00_AKKz3c+oˍu_3{1Mk6s^ew_׽j ^Aeo 2Xc =驄U*bYӲRkv(ofʁS't! \' oί@~gX4 7`ۜ`.g(~5r3wp(&ad;AyH`%;sbLox/$R{TQ~PSll{.@ήpܼNH~[`Tw:?wLp`z_X9x3|zeٻPtaU ySҊ꣹wOL#cM6cEf_FD0M%F0Ѣm?°/rZ_)u>{6-@Gۋԉa?8 EG`jUlT/y5iz7_q8NwE^|#yO34'|,s=⪙JWSv7{6v^;{r?6/wl CV,q:7}ᑃ#Xd-udC9u% o2,s0 7{ퟶƆ=Y2f6I!$I$=4׀S]Ӂ0K) 2#2ͣnkms>l)1?0 H#Xvۆ9ӗ;m3,]f8s-Ye[ C&br N٠\ 8` a#DL F.E\=Fm{A^] c]„aqQѷpe$\nDw0w.gqAT}fƎ4q BWmwn; xcF=M޶>j'8# IaVK4?6yӰ8DVG"5H읓4uEav'X=#rw`>`\PµFs*~I"S7{M=Mlju>eI_W9nB(z ~$%e?ѕ:\(BuYHqd5#Y $'8,PEH&vAHG#0 ۍnm =gnfoĄU]:b+A)ݺ DW3?Mgi6TIJ-Opma9Y' z]^s1Q3S?LaVb{z B;j" "xѠF<({ E,,/?6`}1I MWS"Zܣ03F=<V`6=dݦ?*"R$8RP:c{O+U\8[}.\; $~Xf!͹_ILvN<< 5Uvm)Flm!ezY „U4!QO%]4ݺdO-ܴGVa&M搆3W0Վ7%h^}:pp!r~gsf,,dl6cC!N!ް'Ll 6Iym^ * sK]YYR똆yYqBP6  Qk ٣ mdA5.LϕѶiV4lApE`fM)A#pUx=AΎgAj Т `z=f҇X'U8)j  6WCE`<;:;r>y>Sa0t (C0CU|`B2%1"Uu(pcD+lWuKOQxXy"TW,ŀkm#!ct4>A8̄}RY 0uBsA U(#nF bn@i?li_l/[@'iXEЩ#Gv/Ƞ:Ox#5*DIĭ*,j~' q4X0D`0U@DV*j t]>1Nz ޼~[c>Whi%5 "zgnР 8rBgx 'b#C6Tb>9jA%&CR$ 7r@5~C{?].s1c>m0"Y4W$IM %߯ ButQhEBPMцPTGc.<&Oc:#@IO&~C `% $鑠x!Bp᥏ CBK(?!ԾpZ p-Zٗ2# VKCѮfB9ɥRM23hƪ8W.}pE 0U:+H^A6ِ+BUN=4 fpP.3"췷>61k{r # HYgc<1~$Oy*jw60;`S((zcEPR0Wh8|"7dQ ( a(cO#Z=#ѥN #"`Ƞ ]_A=,3|8P`#E3vp:pS\.Cwއ+?unD (O8iAao??YCCNOãc7 "1q 1҇_Md1@941 8|}_3=,lqDT^g(ATUdC D9M`d"c?~,]W׆(>VDo"pSD)b*꼷o[n7_T %&|?1?Н9 >ʫma10wH`:;0dF<ڮ 9bA^yc~{ySt, w@OP4;r9M2 p@ y9CC|j?W5?ۯS=kIx?͛Ρ 6|c2x_f[7=C rxC7ݦ b <}6}+uVYI,hVUUTW) :'T&GnD (W诘LD”aA*Y!5X D5 -%k B)ޱ7I(%kJ\`dz4 dM&~Cy)B$Xm!w!'K*|eZRM3;4ULdYZ,E"XY,*#4.d4-Jk_5JHW^2VfeW?#H!9@O) BocS%AP# )\q3aiii(*ԟ1xG ~lx*jn8 7m,yOG m%rमlzS(5kP(ǀDy`J5Vز&6::>䲬$(1MVHV1RQVb7zGia#IFA7u-!|&_`I &-HY6 a7hmMǽ< /lmT`Cy$Jm ԣh3$dKG7 8<Ӝ ~Ɗ?e<ӷ4 aj0iSss pۖ *t7iScsfuMGC^RJDIzKk؍! UU,A IeP,v;K;R/)q9w y#hH;MEZR!T z!2,#NʭI1L5͐0lc씋h{{Q43Oof7! ,@( )QBZ4C@KLg Ӝ&,—IUQCpAHsD3"~ $K;E]O.!W01N1ʼn#ymKU2JӽU+ 4ׯK|bykڻ$ڷޯIM$gcdS/,Yzi{zPT]u2$YUV|VVF=bG܈-H6;=q"{2Շ2jXcv/Y WTB;dܹ,)!;0,aWpo^Ӽmo6lUZG4 gw )/Pa}}eX4-v1e)Op2OE9Zvd;[M],%))|;PD QaQI83Ii93'+ C7 OcI=|w-%ЬI-V 1k~ }^A3e$R Ymދ_&Z1w;\[b0`P4,hO?p-) M P;nE}[ا&k^鲜`X>@ ª=2mnÌp6cҺ*8Sr2a8no!ʴ}vrzhpd(Eƛ5L3ߛhTs(ʲpnl8DT[eW_V@'+mqXmprMUm9px̎)uRYMU$$I$III4x=b9GNG7sl99S4B&(MK':lƫHBvCZ%j >aNNOAif;U[91yrAS]wJ@0&tN +s" 8^W-{Ǭ@ C P94 E:t%I8jfôTbzS±[[ovm5[e4!XvO?|NޯEU29SS{n^<L:O~ev]VO< =/yL ^ n0[Pd~D/}.pweڊ`*(VVVS$"#h'dT$Qe?I ~AR~Ȓd3ll)3u/մ62zW/-EG~#"Ҫl$}_-s|{^N"H'Yb{u; -P{x=GXS”' l6~Cj`L18GZ\`. P!=;ۯ}xG%iy6Ǻ͗VOsȨjڕaūTL~)la$BˬͿ}gSɕ[_1c`?x^ 1<3lO*j2"TIGr)?*X'܊q ڒ` L! !#DElU֬q_F?D$ =ħaWX~&̏gJCL~=1: &HKYӯQ#&8A FB(ok(5=OVVB#:PDz_+h>3ThLDT?V XVŅ{+c!T6 L--jƄFTb 4,T;![[Wfގka&Y&gbK* ra4Z.mWjRLƾbom\acs,;SU*9ڛ,/1dE.&  sbb04~w sr:9 0:mmN{e2؛W)Xd0ڷH-yS.0 F1}zQH,>łի^h翃CRTw6lݏUbª7%J܇5$FC(tht0(chGV# j穲Tʐ0KaWCYf[nXݻ3<WCYQ&jirWm%[ŨڊMYOe}$Wi ?0̉nɆr]eax^&%J HF2'bci8a Ӈ F{4gV#q 6Q ,A#:MaXcO?y@<1jtE#Ghj-hl:Aц?M3c!`+DGlñjCTV@4`9 ` o'f,dzC(rFP֨ۜ\O 1)mݲ :A*' 8oܠ)v'LqL.J t4RtbȩC2dUAG3}rxQE}eŐ=.ע>dDxmfR'HZ 7"'D+dͺkB .x  4A[@!$R*ԊM͵'U}z3.%)O ܸp"隟bl?F?pŽqSVԟͤcD;wgӎ,DP; CpvP_ U#id$Rń p"c! D J4 e>΂v0g L˔ܡ?24/&(9PzO $XfNӎ+Jjɨ6xegC 0u1iSv%D ӵgSݮsWݿ]b=dM>Sͫ %Ӆ-Z4F} [*7Cۘ,'r'}Ƞ2LVx)#c0CE?l*)?B>n$Hr5U~\?~[I p $$S- 4jnr:23P@ݚcz*TJ12S~OɁzibδEewN\nRƤ5k w,5[:2N"9X'eWcywi7P&Tpb)HnCH06d]iگn~M'H/mg7lWRk3 N~8}zK~2YG)gm({бx# >Q:">ڃ݂.9ٸl7/ZX:ahKٺTd  z+ 5<'GyJjG_jMG?11>S>"njOR[L#H*J*3H)#ʤHՒ|xx=ʖqՃ <HK xHRdO8TX}k"dž@)2P[a h,!IA [L1 XQaD UY)0QEK HB X,.DA!ǟj%J8{Đ1$a!G,:nA fxrX:0CB7{LG7`1jфS8?']tJh@)!pa@!snYWZz|B7)~8|3|*?f+qܳ/a wmk&+! B70R 4'cmq 6.9F7v\=s4x|V|Owi7m8zC̩'(>N5~1>39 b>@PϚk&۽w񄼜j;0! S vzAŹG܇+ nm|z< VVZ6/ճCGu;f}y,we1n\#!nZӿWicQݮ_j }%a17o辴ȅ6GGJD1Aey 7XaVG9=2G.jH|ĆzS]=ϡT E=@jX?t~u?_6N+226 ~|M5%0Vn<ر`/v[=YG'̇7O0z߅%Vh`}L!Z$)Ww ?ih`r'333=W;6zK$$Pz#56F-(g>MF ӯY!,tHo(RK *İ]2Nؓ+VF Y(;s%#OϽۡZU)l-u]Z4"  `A'Bش瘟H80zR|bΙiUKأ܉ʚ`blӈ"6YTJB@B)k?=d#+I Yv8G6?WPqXN P3@r aȵ }Lh41, uߣSsmvv`k7 ZXJO8g}gsySH.;#VprkϞ 8M-$jSM $|J5ֿoL d,I,X!I7CY1`B+Fe-ՔK˒,2M2+ZYI ÞNޛQ*Ȼr+&AR$Ƙylڐ)J`޴Jb;7#{ :Uڑt[ G9njc)ZW3 mm.Ublnv-y,qabhiFԘŪdu*i4CH؞$uhek*)pc-NLbmW\OV{Gxl͈cd A(HxF۔-N[G'SCZm 0#y3pZW ^L45TP PXv=3yFCk*qR~c`Ň^v >v)ئ2F hg c g$;ܟ#U ;dH` L~8q9頀Jg b9HRRsʉk<'B~6īT6(PPfF?)LT[ by%Pr$*joF XȂʶKM̙L\aEHxꁄ` B1,A F51c1OA#A?kG-?rZ~wHJxZ2ck&X ao3UDVE !#dm3I5mć/>ejB534WMJ&ر`(:p`X},t_nU𝃘H`:TW|'!UEw$FHe캫2f/R[/{E8ܹ{tog[w@2ķDXPEyEy D6 bR!9vz;bm;$=I0pd1HaUX~YUH:O$7ސ-uCR𕟵E=yxM]qfݳC+]- \бj6k_g*1~Ji0eyzi .?4Anl9uc>V͛w4 jg'_}*Y6pө@! y!`%q1e()gL*,g1M9<;ƞgvݜ[bP1@ a%x;INM*jR%U1,qЊ}t|Oc "}ڦT<(CqZ|đ;&9:CeGFAP`Qe70~CxV;{<Vx /71BQf#89r,0˜4OD_, pn3ۥ4O; -1sĦIL7TH!,(="yGq{)$h#01p>#Y+ Jy0 WILc!"j >x2;ɳ>|I>ǺL<oX[;ۅ=6ڭZ4 X -}Íޛ5E$T1X.0ǿ`BA >|98&7!wfv1`Ⱦ1 ]r98pb Cj[ja\Z8nۺV7a24g Ro;E~N;c6[ݡPg[flW؆ > MmRV n.Ö-4M[MuVay+K8w1{a ӱIF`pmJCD)$#`#``XT04If/"FG6-̜ZiZnr )J0ౠM5> R:%,\66SbcG o7kScpZpiWTϡP4`T0pHyt l9XyIc`ކH$zA;wHxAH10=*EǝYM8;'KaS4DP Si"G^N#A{ag3f6k:Sr<+-G6ܴX-tQ͂; k. H떙pKSqSpa0Cm 4h;pƄ)Uͼ!ʼnHƤy84R]9%b@mMϘnWä(r UQsJ%uy^:Nbu"@8b!_0CbCnPOc t'a '{q Z9ċŵ kٹ[;oU|=x lp/c~O9m#b2nՑK"aEo^kiQ~Bcp)zA@^ÈGH`CNa@Ysq^:epߖ 3 !qeqkAu紞cs,g:n`";$V0x<5ݸ߶ 2 Z(2o:9jfm3G|9H 1"3iŧJ͊q47)]g~5e ipn"!e `)&xC/Ϗ"il7='Sss(;C(i8vǁEBYgӮqwȓpȾx3 )l頒)CmY 8BCȱ}^0/`ݫx:[NRi76Bڵg)˜o#g33]kQ%Z>s`G$g1N&q|U,`镹m. y?+Zs呭5j4Wt'VQ} !CFW]f@sё`ldYtt tY7+l`j[<皶ցg9wwX0=tZM!ѼKr}Xn0$xic{p:@30pPBΥ*Q58r3Q3$w6-kQY݉F͎CsF:uKȉp6"7RAQ+B=21`r Q]Yd&"mfnp+gz5 n UtaƇ9_gL8sweN,'eG73<<vF$ P%d!EeP{ m 7G.6̖62c#B/T^FqU׎v !c $*H6(r1bӇFu  obna  Ƞqthxωc)dzhl̷S}Sy);[c>%< jaYrν8N3-IGHSϻY̅Hb5&@뻎,fo+/O8q OcvaFMfpSlbY`B*${2umG4LXO/9&O,η Ljj[Ybf}dml}ǯpaT2p ȺM#|ܨmp=\!nN`x=_ǜ{׃ca%=C=4 pa@\Wq7"GpyO0nh&U ,fp0U k!CN 0ǘ&wt=Cb}x+ Ne\'StCxqJ!wXtV!90D*2͙n7Z-bsƕz6x!tĐERr3\ e8GW<@gߴ:? F ͗`t^ϱҠw Tu+eQjor,H9d$yh@ʸC-=MlGYÁ|nJֱ-7#P>C9,|Ɍ[^_dǡJ5Pd cQdL̉@6!s*pޢ\ܛ1FD͈ fȤ6iƂQcq˔ð{qOgs#nJp>7 xcnayIxȻ%U潵[Q Nɧ`ͲU_ƷRy=>Oaz9h/u=ttÕ+`hA|"5hz.X@M=%"Ź`sWp/CUV)"dzAn\~uݖhUnMj9dhdGqFX7KG!>ʃ΋AۗJ_pi"6i{Ap? 9P;حxI:](U6>c/6䚐i3 s{le!*PX,='𢸨Okڊ;"54-|'ˮKe tΟRe~.at +1x$ _5dU\B9t=jhQET,=/+B18\Z ^C}pRÌ M11$?fgc>_bN M%, ,8O[G֓?S 7œwYg5!wS(whzzN*0_ v?M 1aF^҄ ye:l`*YR6ZM'ˉ?+Z3#]M_|20`AOg߼k@h:$E EyC`$VN( !&>~q>cjpqGdՊM5y>lW6u$^pZVeqaJS!N@v>HaQdXTr1iTYiq2ntMRtCZo"[(@wjCJp5Pܜ'N 1X|u4*s4VѸ\f\L{|X-b&̌ SXt^j%OzD|a92OcO<| ,X( !/I#6mU~%pOR6>XmD%i9jJٹ9;$_0:\Q@ 0mGXnxqF.|ϙ\952gF$dNU㌎+"ȡRKaI$5ش1(<CB ]&\ۛ1[0Ed21@Ƃs |}8] l`7Ikn;:ͦcjXرGŔI\B捸#nn9^sG%a7Fs\sᣙtqnVL33nuճQ\nҋZֆ\ՐokmB1.ekǫ)F"Nm2oR:'BB0$#'@'"+^6;egYdxa:*6X:@pddL HC%k2l)*{˴j!,6&&E-Yj -E9,VY-v[e =fT`Zle hAΔhPct\ȍRX6y6ޒoboFyȨSҞ2J**k^v[RɩW١d%6Q[Rhb B9q1Ew%@pdiۭy୛b Y", bX/!HA U! I"Ubc&+c5ynʹ%TU**-X2IG+"2D~9h@zrC0aNBE @pJQp0D[G;®~'AeR$Sf[`G4@HDuzH7UÛL2":؉(%H[da'ǖt$ ƉB xbn$8VGl-$C .Mx:{g{aϽ4O:(S9`=_R\wO}}|dSLj$I$Zhg0 ? K@Eيkk*TS  cOZJA1U5x za ~0?)a DA,A3TDPTOM{f&ޫ寧#GRS% -f-rS Fy (HB*#H*? `" s[&PnmH~\/wP_,3 VS[44O0E=feK,ȋ N}#i!qV]ݤKJ֛tJp̤G(Q2&PQ*(3"RH5#"4^HXr=3m-%j7QHH'!!(MX!)d&bEt Z@l6`(Ern4nZfWUDJ3#I6 PR`T M7;?0oǭI SPR"a~.M=LET]?9kHP"``+Pժa7D2&C Ѹ!”0,?f-2HziEb5%RBݭ*rM5'|N^xɌ1UK`cjԊb@R#| 'T"B!ynkDy$"*IꎦA!E'S "b z n3R0o}7ԷQBTRFR%" aP ~s[,">F?]DOV{Zrz7$/oUL*^Ke .3q ] {JNiNl]Wh"~xfdsL~CN`jIL*1ōfsYz8ѧS 0md c7T%ncmű,p'czvn$68Ɠ|~:a) d+MԔ-]mJYV覱Y6.K&YRZ]IݍFScJ,r· 3Wޏ!~*0qPHM9̀(J8α*o"xAg e+&6dڱʥUݢԞXv,,qDpd.11/ Ab a~%?0񀶂$8'Գ&!lϳ X~zP ך6" pC8$bsrL4N1.;\)D%.Ox]2RwCS0܆X3JiTj,>w *rvg,ع+y *qhsr4#roL|[_(@)Li- iG#f2d9^7v! 4eTwuRHF  1;  ԰RUIdUFLgݏ\I oIEpH˰a9^Z?[Su]CRA®cVJUaXpoMFcSB)L:inu <:>5$C ]B#OI#j CCu`y ^]ZnƩ o74"E >P:ڀ選S~]aDnH[Kl̗ - 7AJHˆ`#?S{pDޖI:gY|z.M&|7 )椉԰bŁ| ڊ> '֟?HO_HhTkTeYtX v< "43ء9ݞ`neS+M/=O}nxz-k\egIT%˙SB i5Ҷg3NdZ+wEm:L0HQ\7Zuv#*_/>C1XF Vȣv a RG*.{{~BϹ90#&?4bA9}x^ %|C0#X#ovA0D`B&u| S9կ_s9tkW%"@7HR*FьMi`X+AԹY _`Ck2P0IX FMd݅ŬX+IuGRF`]ƚ(; *H̒cZc8M6~.)yV)fBh!8c $&D(/"\|djxߣߊjȒV U9 *r!6C48c^Gy+xSSK&4Klٳ R\4&d6I?v7GD8p0Y5]/8iuqT7RMfo7H&ekjklb K~sh}Vζ״UƛV[[1yΧxFalXlm OyO'IqJ4 27:OM$bT$ 0)tZ<'ov)|hYQB,:,ʷdXEjV@Y״%D:E_ )Ē(_6I#z?yECsKI$!%=yQ) OߵSww kPd~gCW?ftx+d~Oo>9_cnD#WFuCC~ݴiEO24" ~k $єݮvem5immkL-IU&ڣTPk]M\Iԥ.V%l̫ͨ&ͭ5&QQuZtŶKY-QI2l͔6mc[ch֒JRۺk)KIj٦d EIj*BA"f |nTUK%}I-A[R8N;l6g[?>cV~~2fmۊ!kJR P sbL^H"o/ł@c.9!#DhHZddWf蘒hAXJ}Op?v2s/c ̱:uv"2J 8QVbīm+jWRL*4VRi3KFfƳ1Pc"@1 ȉS$Vt9JF&#nŷF1c1"EnEjDH*`XLɖ~ [CL 1ՋQb QdiA"=?j&)=b[)OG2B2r~'f-^mחԩf]2oZfI&Tl S |x:=FAdA:! +(=._ߑ7HN@LUQ+ꨓK~,sQX2BϔnM`G#vB>~%# %tރI|,>/eTKY:>!_myzǷL5w|ڎ1} GhY s(!_Wٹ 2+MCE&jCL@QO5'6^P{멄vU,BZ00,`'BX DF1&*JYD ++ʍhR-Jf[}v֯|S z(TI"J< 2O t3D"g/wfTm?9ERFVdQcm$H"qR7p>Fl''4n:!—Nt& F,B! BAZܓb-yKjYZ-dA\ &A#H YmJK l4Q4d$,X7 !iDiEꢭ}q` E^a$(@,K{?jo7qf)-'ӑ*BRYnY'!AQt? DN m%[e4U"%QGº *~8ڭmFi3wdUY {s,`yl%7J̅XOadRN(%n!*iYܶ0kY'(vmmƅy а7.QT-EC觩l9&q\ aBˣKܳep /t/@qB>pj92Le3m)l,ZR[bߒaB~=fO9#cbz }3  +Ydmbf\ =^$40sYR,~@&iZ%Zfla{Zz3P/d*ldY.18kWw(Pbel+e/d-ūV2(Bc֊ohȾ3J*b&7K0PCs1q85?#xigPػݿ Ub4D9tIeÉxӍqaƊ0L6lr2P +92H#  QͩÃGsFDɫTG ,"V\ :Tۙm;bҖ-*ٶeS%nɹ d;!w:4u7fHiyҟƦW%3eW h]qaf*ͬUơ͟} mk$FY"؛wnLٹz:Џq`ňcXzC~> 4_ JNn$zVqT OI7>gi/C( =z}OW Vֽ7ṪWfl~ 6sx VV餍~q~UzH }:W1}/opL 0e&iLKo<$CҔͤԖT)RUԤ6L֒#TA6&IeLJfTLRl$HMV浒- cY0ѶRbX4ZnhM2i5>57DI=-p|th4|T̿Y ʖHH ؅ .|pP! j (%}e4'ɳiyyh'F$a@->ʐHnkW4љR&K]蹥V$jDLU1[JjJ-$ZfT+6&%*J,UֹfE珳 P]|J}  T'ZV2>ܧx \"ùL}cx`;bH)'9Z$OZOvbGA'|7 ..=-ʣ~8}@/킫,{.283-`||w d9You?Z}d2 @Z".xd`4xF\<pI)D@EU ^M\>64. Uܓ C0xDiWv3L$aaTtI:Ec2am=OiYcbp^ IrOS$AQUR*{f2JY)M?.o%kmr*il PG2&aתCJJ&K1SmyH1y];RZjoj"U CABiEK,嫴nFR4! V"V2C*9]Qh֙[i"؋VeRUjd6Ɔ2Lʃ ЖmFjDm2y]'?oad Hjj ())?vjati>O:& mVoR"$t"!4mQf4g+(*5|hf  nY87麟w\?U,$Y~U ڪ*37f\X٥b$lكޙ0c!fy&Z@ qe;z앛 HXF$`XtzU  HOQ3 rXl dVo[[<\~_׫z[j]Q,j?sK"Ӆh`&K'lX_sO_scX n@ n%=02%U{ǨW,$U2I^͹2NuxGhYF猅8 }t77YwoŦL~&%:hy磤aJ-_{%01}n"`2LE[4o ӗ}i؃EQEBsS<.L)a::T~4G mpR`HI6ʢ@@\c 7ݸl~+8jfJH2,ͱBd"T mQ!#)!$;ȝr QԌ§clW'":3=v2dd46jC"wBev`>O@wY@8`~ՖAj?\l*^2|NÞ#v b3PI i_OE\`kGqzRHZR@a4Dn,vߛj+FbR"\$UsK @#ȸT#̭a-ΊCIS# CJ2 N7!u?3- lHF0ȌGYzRX'gq=}:p x !2"`l4{ E{{4}8ճ2QJTR^0! ( eֆ}FC :daǾJlq4fva Nx')x4\Hɡ )ep da"V֕ QLINND(5Q%$d7a2C+gp!uŀRNލapRnSL@ `  C b"U'992Bwj d):@syTBGplCG#&9$G(Y F' (ԄŊ7R6A0 F1IMMJKie,I4#pvL?j8DҚDJ1#A*+OԜ"t(ZOҪ7hj)TzhK)D~XK}2 A2-k[/N>b0y:(|,Z~ZHڡHpFz=VztK"GK_R_cA0[OgW&Cƒsh~!5a#ձ7Z?x<^馚iV|;,cI%RcdCP׿Zuk*=JLIba;HcO4Ħ殢F`Wy'N{L=#͞{i 5>H#OA<ۜ9uOqIC 8+Y7 Wdu`0|^3!G]_4v'];yjKf̀b ٳBdV 5vr*' 9?=<=wݾaxI,>>)Jx_ZW4^e]y6jR XNɁN*## E7{GB GϕBrG#Ĺbe2T%,+kim+d JQUG Bhԫ@R)X`[GqH M֦(@MLfj .FHX 7KØ) S"Ma{CQHi6ԕJM判ბ  $ @w)aHA ., M%{o%Q[q30ɳIPh,XI H>A2ī*W,Tl46Yjj+fV{>ݦ? Hđ2!0 ЌDRR"IKGnzM73~~}yYkK軡&+l;oeH"d{i>xM&Yjf +jKie6l5KCZ46 k䨵Z%J5(CQ&&DTג[3$ʹkU&X[Emią,J=6heIGEL嘯qaKMZEDTzwE_jP5("I !T>ÉHm%ՖT%V%% ִ[JhD"REjIT$^yF5)2HBIKZtL$G3\F$ FV AH@AmPuiYgQ9}ԇ*v*#"S,G*OWĞ֝ ϊ Yzbg"HA W v)#C?GhgRKe6x$_S[ k66Ѯ]xQ[j1BjabdMrHmD5%٪ hX`dUY #)Å ^dԼ6Ѧ* LclڲiuVyݙM6uy֊mҋ`ZLŁ1nci*TZV-%M4yʺvwH2eU1*6a%h!JA$`@Y`ԈڍB[! )"!4SIFJk`LXB CŊmJFɣlnJ aSu273T-+y(|P4ظ81@ĩc$<*@*Lo-R{d칞]#**ɪڎ6l1gE4Zf˥M5G]ϧ#CfXw"ֵ/HJmjmUdGʵBՂOD9EGX}X$2¤Ț4*?{{/DB*[~w9:wu|_ّ)~ocJ~'F7u~CX(⿐bdH-0HCL.̼ӱm#nmj' aSeI$qF#)A[=,+tv~6oѻOo?hSqhB5O6#ɴaҫKШIXͳm:{=%,FjA EB 4")SqTa#<zo$E-J x+7Qy+FXa F, ?(ppaUaR@PHȈ4{NZ#UWK&Qu 3%i)K)YLٵ ,]JES$I,;%dTr IDl4aT-KZ1Dd%/x!F_C?h"SE<0T D@=kҬU aŖQ(,)8lJU4@*,+i\ՔDnl(ڱ>D+ al7hčeTCxv"Oh}''IjՕS$GYWOIO{Ecj|؞}n4v /69͓P`4IʂkJTCv~Kb_ q[ 9Gx?G9aѭN%jOv6p1 1xӣ3SӱkHnÞ"aȣD Ŏ3rq)DY-UVŘ0J0:P™C3\ hm-a2a !iBTHAML[)2[RL[a' e")"6N+iڵesqT}V25pU*kirP .Ť@֌RK!;eq&r=A؋mp"J8,׈ Q{)P>=1LJ F蕵Y0H4+r'1zL;&$WJqdNjR\r]`İ&V4Yօ2b*~q@ ;) Ok (Wla>ֵ B&DލEMcY~^Il ?lNlo) ܘ\3*5%fd`q'WJ+&憔,qXŘTͱU:V7onsG|r'ӊu`K@qGku!,Q!y}c)|4UP!kg~aD1ڧ \$dt~]o%(Sq{&q?/"im~;w=KOiIEGSYNhJ޶!HꢩM:{AA5>}v.478 d1ƌ@.(g  1oݕ[qs8\J&7) #F>`.%,N%^aigxS/q1&\&-]M Y$ Km~]C`\lŊ tL.x`>ġQl,8p:Ei'>iUUWbb4JFz4Oπ?AX8q!rtpWT(8w!u m;MX) f=\l!P`jC2=i h:BIB4zx6 EU⊏ײS0l6o^AP ԤHCC~|O@L`Aoe;UJ9dNKH\˻>|a1ӼaBi2”G$0̤[c #bq2tO&u$!8 p=Z/d Q Z ur+eVO/3!;=('=>xsw*Y!J"6/V,}""'~XY`ݦ629gv{eRX g6];fO٤ ]O![p~hQ3\,7 ߽4й#d xu2-4y˫ G ۙl%[Y`WyGd2}aI@Crƙ|{^4HX.N9HCCd-ׁ?/e]0e0zm!(":u04cma3;CcX(tӁ0DSsChQ@O\>E \ B)v c}D2D`7bDJ`^jSm66#*P1Y2f y}.Qy.H!K ?Q*^1DPj ) U4+! ԅ>Qty98G 96n-*{"KbD-IidQ- U[V+,۷&q*cK-s/˛R(vLrۥx~#q?:'Džhb~ $MUL,~EL,04H)r#  W˙!)6BM}176}V9cIoh6nݷElXvjզ!~vigVQ|ٺOI8gERd@N A B!b19fSy][c˶*pp0G`5iY(\ߡ?!?~ Kr ʎAFZEQ2HU @QRܾV 3X t}Jb}A;USEH(?}7Mys}^>=Opӣœ ,[x6!yiDU@EK"4*]%/>7]N+oom"㻜0%QJd/<\02$YEEg&5ں$VI&KWw4u|*Z17oi‹ U+q5X02i X `Nlcbb򬥀0׸RˆJr[I,Mu"8` `-X-J= }C{KcZ׹X0qSURFi6k}EkKl!aeJU(U@QF$[(PNVSA_Ke6M,cdlJKZVjl-m@*H2XE.Ł7db Dj2̏XF- {KξAx!)BS$5 dR6-+M-&͚m)-VTY'{4fE YzcWh촥mRXmF[䲫uKVAj!y( x? 8=Dy x(>_%妏JlrcL^%utQ[n%7q+1i[g\{Hd q`h,BspnM8sGlsaUfWeqv&-(lj8/NIa zo8v ǟXe]]nzh,h(Lc}Ukf >(]1/H{mzp%)b Ef],'qapgz*VN.Y_ʆl'!+ ĨsgtX(u ;Hu.HSǴK ZeY!1FG$W#)1 .5tHV~c!zO9p˟>jՁ7Ezq5{kW&s,Fr)F8HBiA1]`^`$ r2hGpb<0/w6b G *ܜtSc i SLYa2#rnrj/L;vd8dYLg1K*qC#x_frTS_bQ͋lC9SD`lA>!s]*F71vEUjj#bR:aÚm -|37iaQ gJ|%6r3%8'ZciR| آ 1 #ɲg/I'E%@hYB;L!i^"j ,x,7;{Ŏ9۟Tnٱ:*8i&-;J+79ÝC\rCFƹ^`؁\ lȅ4lNF_GMKfbP12'Ts{he#+<{}Q26w28& qѻj!EHqbZspNJrqD$1u9\0ܨvbC%uV odṺ"͍lмgT )&PX<54a92 ׫,zqK}*A/K/[pvݵk< ds8Mq E* /Q:g6t(8o+!#Lbeñ'cUC` QL)>@<UXB^7я2CCmadq<12ģHgEVTq(L%8e~c,5}BAF YPA@! \#3*C̔K$iʼ3ǀpO1=MC82̾E4ԔQ*D~ty4wC<b)7hArQnVn@vN#7#!*>$Jh}_wp'BDDb"($|}:PExv#sb'2w$8퇀QlOi#HPfdS6&FȟXSlo. zB?*AZ3\B_T{@*H/a)9UqHl0 fe!I:3cX i U1xx9)a;s99\wjΰDoZtWƐ#2BtC 0љ pC-s!M :3*ob5-lVF!'4LAC*b>d ,ewϧ~fé6IG?&Gl<Tثk͌R[-,,v|Vj3 nI,Qcc0|YKwC՞7cRCI*2Ȕ#4ܔk\f_J}8H@`*P-Ρ`!XLYeUQ=d h}am;5Ld3STԫ Z*RwH x%^STyI Y%eL~1$&D5RB8դL 8%J[hx—"dFI@E$^"Ȑܚ+6)1i$RUHTR] 3:vtQ10"c3 8ykKB⻬ԆEE\oϧAҒCk(\s {X:ڦv{fGCð.x9Zm*5 c CD4 zzm<%D19vO$ƻEv6c{{&H5Y2DZQ: WS /_ŘpOF"$b]A}(aW4^brtҽ]ZFQmP B!'ts!pB2lFb+"[km4 s]NHdDHB!ę8cԳҽѬdle-3=8UT|'d%R)a(P-\!2Hsh~Ʌj..%Ym*]m$ʦI"-3(!;HF)"xŎV}N>!ܿy\f>OEp67"XPR_0N$d$4~=C^dW'LAv7Mn?}O4$uK{gz}݅}E>=v%[_PĐNqX/3ʒ5,ʞnarlb'AKǛ$S# 4<17M\.tCzCx\sxN8Ϗ;/o=kz̽ n$ı `<ER>&MLZρ-cR R.`Lb-2l QY#ŒR"N`l<,>y9Č0:\|zԲqX۞g5KVT [pƟd zcXFaHk0 sp ΂᎐h@:L$$xb:0wN0;`&/|HRH%Y.,*Srh&%>vCz_r9.:gG˹P5 C. h"nRłZL/˂RZ([O[(lC ZڂOl̇%ŴR Y(,dM#1<66Jӏ?A<¹]"ň@A'Ý|[hYi"xdre(MVne[)JͰ˼b 8 6IA e, ,&K9Y p$⟎Y{bR]&^4HOX0Q=;c[u8O\r PO"<cO} |xrFQx}2#UvUU봝2I2_}䓵jF;a򱅭zjj>:cvzNg|je+,jًQ R=d`CI@7 `:s!, Pz4넮HSS~< *('tB'-nP_@:`XUs++e8ɬ۽lM;@oh9 J@4-tr:>3}%"|Ȫ1E[S*/7˻Ws !NzmyDBć#BhBHH ؍~orB&&J/ʰ& ظD#0P#N[\! \ nwp.- b;Xt/@3P]~k8a̘ A*Ι |M4 4י Q#bİ's{4%g323)d pY|dzq6@XC(R$SO-V(rlseY^Q 3=!JdHHR=:X7'eFi{[ϝiUPvFTS1p[|Xwփyxv Q&ߑ`}vݱtGR@Є`rpH[mMmn:c|c[@2t3̘@݊s^o5 }%fYnA4tUne;kLpx}456 8!ٰ[\”Pku\7,st,evIszN/ /;qŸNp(5p+^!BNM՗0kS9Vs84f&I-A0t޲&K=9i_û22je8F',__}ʼnL7{nG&yLKUf;4hCiTVxr)kXFFfТC.LmnȱEʥZ(kȠf#`[tTd0r⾆/qZX)37ii l sk5]ˢs uݵtѣ58s6iOCxKE 0$NB*SB?_;E?/^u i:@oTfѓIZɶemKKaY#YHdR""2}w#[T.! LʞdG)F8,\Džy!?8\*)D(@kL1)qTaTO-&I=YH_LCo$FQb@`.TFB2ګ'M4WL)CBHM-a9Ca$maR٤mFBP'>p!BUJÊ& &4FU C G$ ,+Jf\<PI%F%%0;CNt!ֱhDPAR{TCax ntJ!d9 ~IpηRT(,!{筞7ijFO_.\5᏿m@!e$jѶBuI"@XR!FbSm*M[%&TGڳ(s=mM"m6 bS]`idE3"iJ sŌTC T|ZS9T :Ƿ{/ܘ̇fM_F J,T=al4=?5Zi+Jz[lۦ KtCSȀ HJ{nNfރ%ev>9>^i@$z K3? *X e~Uj,JPBT0E8RO:v5 dB*A_^}AճOыz{Ƅ0B &k3/ą+(T略S pLr$.:4IR KRXJh*!qvȑa%1 c?vrUS"2(h9vFAldLi ʧ !~^Ĉ*"O2UE% PSipj,RdCC>cC3EU/OjwHj7T dO"J1r (&uUWTe@p0@ڑ&_~6 -Jd$Rb##*dU$"(en^õ!-S$ې94F0$ "429Oa,QPOġ(g2+R,??zd#gFiqnE?8JNj@\eKO֪HШHio^ؙHR `F PL0ܠ2BE=H#GJt;q5$;](Ԩ.%W:<2f B\9J B"3Y{UlEEG|%2F[Ʊ#bLOhE'g?F3viڦS&ITʤN|G?2wѩPD쉶5,L|qHv͈7^R/Ptt?bb~D)) iW]R&I0l=% FFl?;ֵt> ܢ61pJֽSolUUlUFcvN~?MdKş|T#$VzoUB} I)8YKU# >%22 e5ӧ]]:,V,7Mc!¤+XWj:+ n1? j#/t,B% X$"5,RJpOΖ'K"ag0Ȫ1p,=ffwU~)MfX쵅6 Ժ9|.t8ͪJ.~ +e *.\Fkʐўa KREX`hHv@ =9XJ^{x0{}#6z>N}=5_%X6Յ Nh`1/@`5:H+̕1V&7%O վ*ʢQcy4v??OsۉSbGX; |=GG)~8 =ϼ?_~<'!jdSPߊ]_hB\{J!61._#85@`Uԫz 0=DCDv:1V]AUbsXDHuɉi2Ś~ɔL$!ãnLpq*BG7bA)]B㰴=/~W4HѠ~ 0 0ff`D V/ŋ ۻ2W  E1|ӽS OʣsI6Mӕ<{ ~^.듻q~ucYF/nDi2O'?"^94-ZF?"K6Fo;CyӋ(R X8ءc<`H0C 1!/Ĥ-8j2kD NaLi[[iuS%7YɬV쑷VVs;a1 2*Bi5P\x>gf#>7ip e\ h4dll1yNv' ;u虡LK #g0\\(N "j!$ž)9z-xMX2hD@6=KRBߣ*i)*6ҍ_}mʈf]8Lܼ (_]K2ZjI4Z5lQ+Ӗ换XtkƯǪ[z\]&wϱIx۪lpȕR&HI C-)$R8lĉ4(&3%@1Zpho4]iiotw0`~~~~~w=%dPQTQARQQߞW7{︌ca3_Is*FȈ ]تCzzb޽޽rV8烿0{[?_Dߌ@h(UXi5(@%9\EA!r 0*r#sttʴ[B)B ե9$]]`R4Ki֋-е19>?6 ?柤}abRZYacgfH)W :> g;~}۱kpӘWJ3xYWǟ8l5Iv4de},if&0.\QfSG$Q<#'A:p:sCl3kʵL+.+>\WhPSMWhRK^ 2(J>Wޯ^|v+ׯ^\NK/F|?YI򲲡n뺏1~w\իveI>1fJZ<"D6d<봥`7NnO.sK!L33f͛5@&a_ Teѕ*VK˟licc0S'?uWn}o0.ū+֭^+aZӳilر³J%~hЧO5 x0TRn%j*Uɨ*}yjy}OׅDG& Lt$ac'qre}ʡBMnz~o`iˌ4>W$#vѻv۷n\V틻9Vmمw_ŪUn0kVZZW[jիVZ?x-5.mjjZ~LK: nk ׵ofܿ~ܻZk{kzwͷ۹_.\a>ۻnݻv˖-۷n|?fkXycl8n~;nݹrەnػv[wX//5 0f={WDZbŋ+pkQuZo//////,!zv}e/_{OO77O77776{z>$^zK\=p}?Y6Mؑdtax=9Wbs*:TK?̕/+59gK;{@ɡǢ!(0k׳212'N:wƝ6gqGfUNv;>'Nb8""uݶGΟ=MȩBj<؟3n6/pNqn&n=tGzf_]W!๟]+јff0^{r׹>ʾJ݊ܶwy%:ѫVzk4浙E,;]ݻ\2sҡ~juםU UVĥ['+'1JqjTիUڵY@_or?jիVn֭:zg:۹_et;/}}ZkTdQQ= :Lsz1…_%kӫNTvUjZⓏhTF'an9PB|FtӾQFoFD7ZQߺԪy4ӧNi6mMŜbfOJ9B>{ c<?/?ڴIq\ȡ>tXE 'z(P>zjh!4oihtwJ Jw'貝JOB.^sn\b.C;χcqo` }G{/>ׯIyv۶iٳf͛5j$Ta0k1gȯݻv4hoe)Ti2p7S|ST2eEɧSODT'ʟ]7bPPvB7~ YWRx ,<>Kۨ;C)߽:KE_ͯ.fffR7&ŚyVl!Xa3qrnt#\.٭!%CN jծҫѮ{9دVe+Xbm>gݿ61б粰W^j5jd9?'B03 *dӏjsTӦmm˽VŔ #x<ۄ[O6Ҷlm2f.'5z_gku8皾[[WWWSSSjjjjjjjjjjEh`Ҭ7Kmh}?60|߿ͿsﶹL}[|g0C߻C;s`isѹ?x|9\|m]]MMMNWGձgj5xl vk7;,1tttt~7}COOjji^kP7K OOOGG ߽ Oz?]Sn |7jJ2uq }}~{cccc[koiiiihѣz~~vvvvvvvw>Y'^z^߿s ndF74?i{$cv6>ζξǫl[8 }}}mm޾~=ĝكz=?=kgw[=6{?[?-waswo<.m7"ϱz3l7Z?ێj __ԭZosk^իVر+ï^ݏ/f͛6lٳ>/Spa.1?fZիg6j޳;:ŋv(,|95>߬Q%_г vo'G++3R^d zׯ^ҽzUwi';g_:e^.L'HT<''_9~f)Ĕx{M/[[[[y'񿥃7y?D2؟V,oٳN͞%c*fs\W.\m^;3#09y]_kvYwrr Y}.^^]LOBp.ֻv nջwW+S++++(T wKͽW^}mk޻v7Mt/Ka-_O[S|j+WGA ;/lIEa8LK?.%sM]hOݯc_[[ML b鶺zp\Ilwj6 jػ}_/sܞN''W; ~ӻy}w.3ٿ#OOO1="i`40`4444444;33ٙ^^^]Zb~bɡVuZnߨr˗$۷jֵqumoS*۷5unp7l\DVû3HZggf߱zٙ^ֿ~e[רm2߿}G38ffi^ϯ|Gs};:>~vL~~~~|;;;iA04ttttttu|#Fa&gTϧ*޽{k~ͻQK}r\nh~ĸsֻ?ӕ<1]ʻrvn\KR<2rYY|'uɕKc`3Ɨ>;[, 3ggssg`7fScJ1ޝē߇{Gѹգi ;nحlֹD'l0Vݳb9Z(PCvp lf(زgc_<*?AJ*&21l:留:t_9RJ4XS *|?ZG}ZqƮ9}Oxxcz5vMG|"lN_֫V:]e4'x3}/3icac{ރ1z9YTdSJyPr? ʋYj²s=_2LtjTR :t{&qFNuJGҥr{:4h(Pc#QaZOHݟ'7R{Y9>]9ߥK+!aӧM|bRz,R윚2iӧN7s)O3& pYIޏu>7hڅْM ޼;bhtEÒݶTzWnʻr|{qP> 6kήX01Eˍ be~zիfׯ*M7^mzȡG6!?>ݼv[fXoR|jdҥC)K@'?o.7/F[yNK=weZ>뽳?W{=s~/Ko_|o~'}_/C_e{|^xgzo7~T<.~Ga_Kߣ_}?i>WG>yMwr7Apǵ9o_?;U>g_?o?%ˇa<\?\>szx|s?.߇8pÇom#{XpÇ_y9y\!?x8ԗ0:4K'ErdOC7Uj<8_sFnf%t 9W.\mbݻwtX(ܹB5vW.?ZvcJm. qFr%)?sIkt%}'^km7]nkckvYX6HiMUƠE6nd*;E е2$M:_՜^_//;נIw3sx6o]n V%,6bL$LH wQ;ky@S=-vn^o=_ ]|5J@8's}Qz*X辸鷝"份O=cnk{|9@ӕa'Q Ko{ףi v*춣2k@{^v+&{|Dc=h=>Pwsmvݾn}3{Zuz2- =>N:U+uRZ}{y瓯lF콷n>|=}|vw2C 6v"{4{z_N DI_YT(݅"{{m 굕^ERH}5QH/P}0@6iIB*.Bb+Vby !ֳhLݺnQF(PUJ)%$ ұBRA@@Em*"(A7ݸ!]jD֕M wx{_>:S9ףu]op۷W{={역h>v=}[f@(޾PR]+g^l.{=Р }97NU7,wB ( BS^5lJ}ka}ݷ)l {y>u>wu}x >>M>4u>+} JOYw{^| Kϻ^Yz(#ﻋܣ澽sy{s'%K{m}LowoF|3s;7ngn}^<6hvwZev|zlͱ{ /v=ͭl{m6kw= ڽv[ 6Dݮwc%vǭa}5HOJ5}ovpmۨnާMϗ/]`@k::Ǻw.{s( C@tu4z4݀@4 jϷ9ٛle:{vRH8JȯzDZ(:/bN>iV@r =k{i6}|.o]X׽c^{n׾|y_}]{[<+4@Mlg ǞAξj^bu=F>`vg/mKAId^.y.@ VQ@w4+Fk׻`}S6o\;7P=7:U6ŽB:W];6%@zw…-mbՀѧw7tm6c]ڹ EJTwnҾ^7髹cͶMj Vek K/;_m˾xu]lFҕӱ᱀sw[rvUuX_{p _O>JG2zvQ)%Oۚ=V>t8y ;l}m{ 7*{xcm%U=tm&j E'=@9#M.[6ڋ[Jm Z@n>Vڥ)ΝڽPאֽzw'9'Y8v;na$@@#F LC4)4?HѤDA!CBS`Si0)yFѡAB 4CM0OL4Fɑ9"jb\2#1,Fai)]Qp^klewN߭X"gU/u\8pm2pg"#s`<ú &?Eu;S/tHnShHi)8T'zDzi"4[Bb4 !JxUmSh M.=ݩowP?}QmN1T5Hk~ y#4P=+!)J!([OC^Ӗ3l`-U,W*!lG͈cUs.K99WP]*3B ͅ2yc1ri UQ)}v^('ö~hrם5 fӎgK5<ΙIvÍs<5-}ƞ9u׌QDF{ ?]54@:UOLsٴ|nztڔ&AQT^!u&y<+=̑;}'QCE흣5Gɰ/SHa|\cZѹc쏒cm?gH2ۋ&|_"SdwL0ɋ>5{!_Q۴LJsgla=kߎӢ>_=qͲtV|?Jk{U 4 ;w>!ǞD[+s&OF7=_:Znpr#smĤ`ҹ:BYhrpl fUn,F_0s򖖕zc׻ vEmfelt~wQ3P\9_GGtf=|[?gH8c]5eT~ω᫣^>QV2h$6v;2zy=]sǻF ÇBй܍s7/Gɹ6O'O<+]pe))TT*4JhB aDLAi/~QJ<6Kq-;OS `-jXLL*/?Tx)s1enjqcs]w0IkMݗCm!/ҩvxuvv9aIq28oe"cV |}ₚyp|:O 7/A1#v30V_~O9w@(Ρ y\88Q1Q\-C{Y\ɕ:NBv ɵ̓})}_9%c 7F":"N0יәx;/6#1osqca4`\x4UFUDO-<|fMUO!8G <{Ot3@WɃf~k翪97s_[\9U*<ʼn#YEɀЧF`:q׉gl~Os̈́t587?/SmٽLN\^}} .?bNs߁ʔ*o܇_muzm.]( L 1y`ú?3/(_W?;3 pc;r{g)41D,;~ae\O_6;?/ƹx1WZƝ=sl"rj;cb] {g̚9h$& c!uG ,~?E7C$j At ۈJd5WLE-?70ؽ~`2 ʛx eQ]r-;H- `\*ǘå7פ)%uaM3K_Q=qO?l4Z>+Kc&6CSё ]ֵWJNm\/*ReFXL!@[`RkZ_2x!#k يQHv߾g)1c3}(I04PbAtLçK$GeB_P&$DJCf^{ Uō&"Az`:+m*#`z9x|[7K.Z(w/2%h&AŖa)o/F &dQTP35+B4TCE$wT}1y4ww͜[SR_c[.>NjQReʶ4d bqe@@ه!Gof!mvz=_T,Hl[~XҵCZ0eeUC_=Gq1\u3K*>%qSB?Up#\Б~K!M %HX8Yоɓܹqo #m3M7CUh蠏.@vfi瑏JM l *`UA f Lbo<4>q|ѷq U4ԓ&hNg?_XD-̙݅7iRe6PMH QY&97 ћk|n h\UqcǗO$ (?d < KMV펒3AC!ǧꞩȗ FY ?uxWn^9[BM3MPL&p.ש}j'm^m՜R;Z1MؘՇtz7[Ց܎[xs"94&FwW~/\w$/1fd%!(!*<=m$QPU% Sא3D8:`yfMK ȊA Oz>p^K=M9|ĜPh;058D^}>:?ve b?-OX9Ꙫ5U擗 $79 ̣3 _P_Mⓩ#ߜMC7-|}զ_ 4~vaW۳(ϩ݅~s͡+KE&K619Wg# Yq%)a()d=!FY_7 {"nZ2E _mߞC$گ)JF P Tv@ru.\J/o;9r 0v Yfɱj/YiO92SM9k(oсn@뺞g3xuBPlk<8gbʱ4]yw?lعb\"kuz: Twx~Ce&*2WnN_LLQH20 ?s_dZ~)ͼ47Jdn4)㨏8÷,s፜@=HFC%qy ͬYpRDh`A_a!FEVJBTԎI], b甯 nWbSC s^  Ğ@aHTbV7yU WtFÃmMyp.HJr>s_z^BwZCi1ͰL)z,C?#qGߙe#Xب|/Y3 i5c5u)3WDZ]t"1?'x׋OĔqܶ(rslI~$NSEf2qsy9q>1i[8;-lO|fgfp蚅t&|G9Kȗa3=ЇK334AߨwyjȏT>=/IQ86irg$b=1.IXC1>~*RV$ dʤ$boIj wTFb˘ جVǙ~q^ͦc}_ҨSL)0cerđI,"\6mExV9ZP[p4aUe8 sՆbHzN1PUy^`-$8c'w  Y-ېy_aR87a&l. 7m`n i?|\Kf[*aRlQ H"40̓4GUf Ğet\.N8K9C~tc/A.`j&EզȖ#zzKv~4:w71z#GAiF~(uH<)~O˞ 5}?up^b CvhO%LT&fȹjͪ$aܸvYK!FI%Fڭƈ}tùzSyc 'ki[̓m9m62@vY󽐿[tpߢKC<Lpǟ߂y]7y23gԛ^Ƭ)𛬃z>Md7\<xx#8v7/qj|GGo7G$71}frU*2~6qp=ñ9qb*kS_8 rɋτ#8CI@ f6jkꗿPajWNH*!2E8d%0da2K?])oּVUWrpgRV }C*\ 24{`FWOi~&VK cG UAC*nH^u-jC%0L/,B,$wNqD!գ"io4g7m\9; QLwE- ]|_ G@dz3$2LQЩ_d|37rxJur9i;[Uͧ I?Nd y:b h~D5٣xe JUɎWa&'j "287 va;~XApɵgd+؃J@9e hARb7%U#?ҹgʐx䷮%kJ/Q$w*^9T|M#:UֱZ'21llqW)7DڶjbO n=wiR=kճ>by3bvnGnIo&.;8Y03]d Z roht1ͭmӗ)60?$ QM:oO$4$=lU$BBI$HBI$_#dcGTS浆,w/A| =~LAybF!G$@i#agHU'Թ hm8HX} /.lz|i:vTd &G[$OS(s~ծ kXq_ڍW !d%P[~1~ .㼘G1QD'¢42B`֘zkU~n S::M ]9?sw/"yh?sfO^NR "5P|wk6Ւ?wX3,Vo"I(oom:tq/ [^h!궒p?VD!-O4[{ɳw7E_2l^8;LB7o.-V>*;Rd۵S'o[AqvBάay7K3Z .F ?H!REH1R@]8I'b4oPy kmr}1pc *,c>G9".D)aYVn9"}5d=Z?+-aa^Ψ0Ħf1<#|/T;_,t GyBFqGM<ժVB8*Bw?txk! ?"8C<҃l8^(2C  $"k"X# 'DeLbeb %;%E \x\> E%EPRS{wE$>LA{O^ẼG)1G "+8H7?fQWY,2KC(b|r5 Hj1Q2O 4/;Ao;Wqc Ʌ= tPR̴$4̢RRGHL ""_ .fCIT=Ī<0>E:w)I dB4" @AH6'̐"k!wDDEoDNSi$R("`j A >L!m`B$2 9S!\TA0C 5 1(4)@>\FblTbŔ494f paB:1)mN}ɭԱЅ)<{UEuY/oly8Z 'gg>F =WXrL%cn1HJ>W|pL2@F6o F?Iv\B[(PG-$)t e"NCIJPވDJRVIp$>| xm4JPi0?J"*"&((""d JTo 44" 56]0je榍Lx݉/EpVۈrkG rߗȮ9A'e%C>n oS-kO[rX气9R蔩ϏmԢDKU჻ܬDV0鉂(+ `G>?bIŁĒ|Y ZOFC_$%Oe3 >I_ixJ!/<ǁʠM A HRH *V%"m4"iOʢ<"w)` N.Ȥy #|Ј}!Ali6LR΍.d1 A02LLLBKED#4$UEEQED$ KٍF!1͂F*sG$$1:O#3$LLCvIa @͔z?Ǭ!W<%\ær˅Y }zjW*_ii"CcuN R4Pf#wM:$ZtHSp`p~6V3h;ɓ]dd[(Q'43NاRY& TZ'de|\5\a~:XmOjɐؔ==XpN]\`TrP6史11x!sS(OK~~!( "&Q؟ʇzQ\[` F媹/nyzjGdN_2?$F#ۇSCEQV1Qh~ůL{P N?Ag^LNeIz3{x(&'$:".ޏVT%Nuԍ}4,"N7Kh Zȡ'.4YYχeԍƚOl @5JR8h0&}g! O/Sä?3_6܇ Oyp@ ¡Bţ1v$NJyZAv PD,,)sfs0㤘N "C$y4j n0 _gt7ۇګ!φ1I^c4ԙ%g`QqZaڪH%F-;1ŵxb|G$O;0cMv]eD 6fFq+"XfvAPxV k5 ,%e g?gI 2d̿|lc[Jz=>,dB"o0d+EQMOf|{A\c&X&F:H .{*oހ[KTL}&9ע@q So ;\-_Y9N"qm*# &%y aOo7Ν\&^gv'i??xl6nN*zCtB,R $8F/q8f#IN,ub:-#p cQxAheZuՑ&ЉbqJOs]j]ggYfffTLhi98R37"-{8^^bnι9: 5Ocv zNk!t5FsLGU$94EWLgH~\aZvV~{Gy LNp $a_!? x\27^2w4eT) c d>* DL S%fo;͚<8ZPgcJpOyb*hO;h+P<8rO! tPX7s mE˓"eo9Z`JiaTG1Q=2D{@*$!BRBd!Eȁ@+ROLB$#!bB;OnjM6P a` H@bx[ߣH,@IT D 5!CETHXtP"" a :S(0Xi7:]x3q4*hm =Oy~HGC.3($o=t^VMKe^#t u|qE )ny7k;Yid].j/a3P_oZqcwSzM͂:nM(.WjE3C6Z'~nr41o'.+k+8|ktGG~tNnYV0au6'J2}_\rNgXۂ.?Ѥ"&vCrn̐BN!1bF9U4%#Z'ݤ 0t?c˒nj_v!%kcom^jX_d99#}<(ZOQ'Bg,u~ Ʈ]f$0b6>փsFn+km\+5*ja]Xٖ.i.ibM7lLI ~T==־7]uQ[+hL8}u"\oaE:ZӇ*_4KRŁdc$?;`]DKt֬(;M%Ҍ*UqMqͤ*1q[֒^jK cs[& Suikz=sfH-Um h-aG݉Q!ZevQi#aYXW' aZ+}M%ir}[ai  Ƀv=0 HSHXX4IM\8sEef0e#,1j,׳Pz\鎃1n +!G  ȧ{3JWњrtm9gԹ' Z!d'_{uG, 2_'qP: #?fl젃&muIcp#a~ i[kA= hYzCuKH߅'j]EˈQ"M?l7auLG.~γd̤o=B)Մ2x;:N8;gy" _T:1č%4w2KR5rlmwhHhЫ><֏]Nc'c`;73 d@$ 6Փu1oVxyԈ"\IHP.&qc'2ă6&d5?4f<^bթ-I 3(n8{ޣ,<S-C y!^'In\>9$GSz .d4lI%::!}*B&_-OO5)K,7I2`4G'W1gu?[M `F˻Wj6 vrihK`lks@L~38پʇ`RŊQJ7zi u8iX(s*Ċ546ݴI*v $]X#w玉7IdhM$#Q ,Nmj>55$}}JʵLe'ViTl>}YϤm. Δڒ%D/V$R, KGE^Vl|S {%7πu@d:B1IjaFˊdX;6y徟3t&f??{K$xUqqr66)iJy[83 ,%cáZnF{Pæ(;h h=ŏT#Ǽ>Z6Ǚv56}`M}: pאy ψђ gCvkS3T:_Oq(p?rv>ٍX[xw7MLж"F *EL Bp'c5 !OuI߽‹#|;7:mK BHsޕ/>#mMyz}Qq'mtL-)L:b"V < zhFԒF|~9 _D`cGCA f9EE܁:dIHUű(fC@x:C`YD© Uu$n61&q vg/'ѽՕpd%%b  0"?V C5UmByl̜2 YQwh Pi0'idyeNkG9>`ZzC0y_)<:Hox#UKR̡!4WQXOk;ʑcӔfJ ' 0dƴ}q^ h?#n˕{IqA4sa7p[ln{GCL|Ox">9O8?1yf% C [[BPQRB b" N4hf|'%~]4ʚvmfFF/Y C<.DeBdKn¥Yc-3<LJc?xByzDoc ۰.Dw5&"0>#.@bb ¸(F26TC.K5ZYd/1$CpQ8u7]˳Y@OI!j@SL1VøU{k\X0굂K`JAƑFÞKtfM뽊ތa18[,"d'~9e { V>tD̦b1WJmtzQ&9ldC9S X\Y&1 C?cyS[L07d]@1BdL}\nǹQ K~9j-_͙8QYYV_fp,iXt4Dh?1缘ou5l3X)LʯIPD;=`I0:ɎI-P֭BUSଲq~aj7J;ѮV(1$XxǓ8Z[ -)E*3ƌAcMWR\xvCD8bhKM M6陘waf1n9dIGZCϏ80,dR1Ig9tE4 &KA%{BP٘t[m[WhC's&4oX #$r1WAJaQյaI,4܂XPw:?ae.1$=#!7 yAC(j)n+&`b$# \LѺ 5.Cc Clw+3| RTia #RaA[Y܄qϚ`_sxBB"[|MY7k oΛO1 Mq3Vs5ӰǬ asN@ rLIa]Ow/ Y~^[n=|E,A.-UbԸ0#e8 v&T{ ˭j-@"~Ϳ:*kQV4!=j7b۸>}'?/޳7S 2&@ۓ"m!dDp r S%IlAʩA"sݺ(q*tkc@ΓlG[{C8I׈/oSXaI啶ե'"xP^5F7ĈS~&g"!]/Æ `@21 =oZD6lGΓ(#tY?61v׳ӣdxm$.Fɠf0M˨÷ >5x1}} HPb2?΂&{Kuob?)zRLȽdo ,q'~8 [W[Sٔq5wL(u AyO5<P"a~X~EGfPFZ mʙ6~z'W~0sud C)Ԩ-uǘQb|F^W[-5e~,"h7pKO>L4 aI* HoDBeEf !f a?+ |b.QKXכcFB&$AL!_/͌ ,Q3MR8[gDD3QUUUDDD}p⇏h8?2H5}S31-4y1禔/Wlv8[oL`0`HrC+%8f wC7?UQz17TEJNogm5?s^( cHC&Df؞f(f~[3)ܟC 06*ZNό}/m>y._#jUPNS_r ѝ %q-.y!/>T6%E\ ov) $Nlrq%A^BL&{1 fGTmԴ!xOgwD\ZԻS4n9<- n/%a4-3cϾ U.6kl|=8iG[l&ڮJ:qKXRZ_+zq>9K n^qn9Ž^0͓IB-e [0L[/M@e$A2f1/uj"pۘCK eV(= VIb"A<!lfMO[dJgX CC=B  Z!f֢s)K0'$q y̋qzl3_b:HۦdH_dY*}~s0@ ߗEΐ@0g/I&;5HEX 0:ƕx\Vzr)NOJ%wΆmmw~ۀ-w;\8qP`b7nN0iO[ ւ#԰{ Ϸջ?llۼYe\-r`PA nNx?V/$)L=a%N+pDS!yUhD}`6?QLɳLGI)uz(3P\@>g.~谾h.\F~23v^jԖNlAu{}Wkv|*qds^24 ^ LV@O.`L<]{lx\S]ONle3;yQUrDo`ܐHfiĤ Q (cKb\&6G聥(9c X>wOW-2 zȝO#oKI`0E03)[~gN5 ^~^re4 ݯ˴5Dw!gJL]J䶤Zĺc  NWȩ  9Gp|EDUUp몚Z5Tx8XrRF"9X醱SbgN'Dy.T͛ysM s62 VU=rH* M~vI\Nz//ƈAaU~> xO']+jg/.b洵᳚fnD7!Kb5Ʈuϝ%m9JnEU>q$N,1rDˠS D@ X`ltv~7,2˭a6(㎁+)ff:rwy^{6ll; ۋסfjE'~~ ޡ;fE7KCW>h]*G~hleV:gZYZƍu9YsfTJ?L>X4B+x/b<4t٢qg̼^!gA֦s:}i},G8cYަG q3O8t~\( Z0>ʻѣ':/T's_D]ur =֋JNdd7©8n{K?!w[u^O<rKXDςdӎgU՞oq9&#Fmj33bnk.C&QϴEbzcF'};%)J]EszN}?ǻ8316=jfێm`uYgpB;F"ڵOqܕ!j4❔PZc!v/Р5g`P;GZT``Zy͝R~BaBLE q+vRUԈᄒG#'OoT8E'Yj D^ei?1 GO|W8:f|EJf'L We~Ls&,zm(98%p"%2]kntgCES'l&Rd~MP?[Bd5 8CɡPN3u7^F#G %,H|NX~c*93_w;G.FD6~q])F޴( 3haM4{4i2i,M&Fl6¡$7enAN{fkjn/3 gNɐ{FyMmmцԃT2CT 5ko޾7o~a亜op~ϪXKʅ_Aぞ6\_#YGZk[q[_\1c2"ƫ#_'ě;fPpَl];ȕ#16lEknϞ53L|O5E{\{sa6FodE1 I-o#зsNVտgh7؃Z:%Z@f$bو [=E+h)E-ӣpwP] ^aPmV!yq?siRGV6V'v`.j.ewG|~6)E!j$ſ8 ;f?OQgxqUNg~g'*)&@vVr{|$XkItsvRɔ"[XQ)ͮtܲ Vi"Wp{? yI'.fgkʹr,jWOl_UmAE|D7:#6_ڌ X+BbIlKe8p )fyɏPxrץbqO!oɏw !^FJc1 ˎ:6uYX> /{d;k[QxbHE#qS2Զ y<8Nliᯃ@wNdacNLȜQ{Taɪ`sBl'I&]#yFn.SV01 #]Nd4TM/fLG~3&58 PqJP~G06] $4iTBly×1#j@Pu$(`x5]hŪ]`Ǘ'zkGI`=w߰|Cn`dzN\f $sZ<3B]ڱ a*!ҖswWpQ!(/HnU-UUUSu ,yiP9rs0M؆ jʱ2JL,.aRJ)DJQ4S*">ԝgwޖ1KF@ɹdztU!`14]uZgOT6BC*2 ETa:{_ yrq+b&&DKqb#0~ݗ&9aƫrɭ -}*U Bp?(Æb=pSp0kTx1yA.jHPcfyBk]d3_u E#O]ά,c kʴvɠpkJů^@@ţX>!,L0Rk PN&4)ttdVˊl-DP\7cD}ڈb Li 1}59M$gBKϜKW$U!C@Xl5 K /#7կ?li⿋^Y̲3# ˔ -%a m[p:PIbI!<T''p-E-i;C ~1h@KEpo+QT ȮƋ~޽:Q>J31? pوrL)ZS"?GZ-Bd/IHfnFR&l2s_t%~g o4=aCgvy3Ҵܱ`I/qO$8r ytx#wSB{ϡ<=g*$ղkNUoCzDE#T!$SǖZ!9dMp !Ūi6Q,V\H>^Yy,4ZK=Ѐ].n59PBX;|e\ĥƒZ1JSPچhTe|$!B)Xў it8]OQ-8s{ I2eVwZ#'\q%/?Yl6 :bL2H+Tȳ k;WյIrN|KƏ_&`E1moz@bZ58|މ-re(օV t9"FtӔ$Pe3!n.ŋ捳>0L caJmRqɞ&fE(SG0\"طaQ?a}ɖ- i9Dw'ZV˥}]g7t3-Iҝ4uǮ(~[l%\ňY<?OJ-L.y2}ser]x mڞz\ZdLrֳlnR9IթLc9٣>ǚN" Y¨>kuQY[vVh8-٧ ^z_>𑁆tmx}ghu.h.0"h6${++[id49vq֞ݶE`L32bAyUge$0!hEw 8)s!9,H khg8F |U"U c gU{@,q#A@i<=r\[-PCmw> _ f#s%mv3-\5RkUZh*Q]cI`f #`J/dm_t{|C=2l ԏ1?XAf.X!ToڿikJaw$xg[ӟQZC~Wi62;dDR$HdͨIcMA,$ O?fZ]Ćك8Sׂ | D7@GB]hrh!T.4;<5[;p< 2m.sae΍T:Q(0Y# fVJ$ĉku|c{70`G:g]?l7ݬAeK'qU~}gP@e-l?q~AA{ )~F.e"_b$+pQqt^ xaT%aVK S(cCS~ AǾz(T0Ukc\.+ΟXF6>E3aL`ז-͓]ˮ2&#D&$=0(İ!^kiqoF|M<ۆ. דF_Fl-*jJ'(`(}o3nF?0CuLI%~.2`_PfZWG6|=kM9y]HemF›QYHf:4y`3#`ݏVbtM-r4FfX{ᝇc[I1 P!‰bsq3OsΟU#dd8Ib{'S+O\S4n&`L[|V룻BWbc<`Ƥ[σ,h: o€[VHn dF,W ;\Sl>lA )*L}䅝fH8[T?rfgc1ǂPIP [ '~ _0VQNIfAvST~%*%XJJ vbbT_o\j֊D|ߞ]@n#"3yM*D`Oo$!ܕi?ThagY92w\2A]od &?+|_\ƍxL=$HD;;8͌iWn=ϻM{χZYjpWjqwXz Q, 2Mt b\0nH sY~6p>mƔfǢheƅ0;9˗挓d&.ұ57uVMd^0RI?$Ef4-qGLJ6i,Bn~;jk 0@Q)HMpG5^$%S4RPqV-s; rV"a_Cl3RGirúُׅn,AČ8gDD~ï }e{''dۃ(&РeeF^G3d,Ƈ"q?׾4nN@터-'$F6TV%rmz@qI{Y,S漑?W3P'Q;ۍA}If:`PstO'L#sIiP`aa *{Nr"D6ݗ}`wp!ٴ g%ֽ\#m18n3`6MA~lmʷf㕬\{zg 3J$ *U JoT`w+j.8z2ID[70ՑE3Þd= g:s9M{Q/j.tRI,DsmOb|krhL<@jL2y0lƅiH!rG, Ngy0x]h]tB!JsOvo]֠CCXZIhDFxƏCGj8<0S,dVk1"aN~K34^L :9_c i2oieeMWA(]~Hb {٪E[(teF0DS% d}AmF|i}uX51UkNpi%`|'/ X]SfCڹmFSt0Ox;"g9Yv_o)y`-ˉYs44@*K)MhLJ'#L!>pB]xy П~ךּg\Da8kT#Aswj]bqsXƥIaΓ&b8ȣL jt%T>K\䒫@9Ev/N^ K)捌?񣠏&&_Hk赻+C)doiC+3x"qQH޿,MxM-.h˗(ȹp&x54JJ&-A]s~Ȟz'Un-TB*:,Y`Li$ǯ`a1-YQ RC)x8\I(3' /bul2ne1`]zG2xņG뢈W9Au'cTm삋IIQ!s<ӗ9gNU 7r2WIp8\I̤sO[5_Xs(5`>m@xjD ]~8G᥉ǼN2_BMx›'.h0J3dYI>F:|-`LȤhmįc /d~v|у(hRy0[uԆ _,AaNXVH2^ΙM.RsCeC%~~|L~vg>>AMK\G9hc`Fasbݟ8SAvWFx zWOT^0!EJQƑ4ɏps^Njl%.]h`gS|KNG=#goq%~JFm¡NH(s)Urb՝1"TA7A flOrP%<Țl(kR(ktp4b-/Ԗd)Qؚ˞]lכa؍$PQ9~ 7Vpm^"?k J9?W7|Y$eDJ]B/m"3J("7Ӧޏ63 v?.Gi\9h|AC  ZqȄu` Xdjmɖ hٺ?6 `=c6<`Yxhu爹cTU,R4gq|[R7F|3tjXSX./ƙil|C>}v{Pcy22&\\|zL{H`r1WqvHԗ/omө!H $mx2=ׇUvE1Ş$❍\dDWj ֋ y_ipI'G!KmݢnOn0O锦[-3wx0.sj+Z阊Q0 +l Y`_a@;U F  p Ƕ-\j\7u;놩;Wde[9,|9'0Y1n5qԅ\uu6<~Pi8_Ir\5~/z# 5mlPg/?0A4y&)C_y0c "2|N S$4茟&Fbra [aC57"iTe:#h 2F?SU2N{pCl/`b}l6 eۡ_VD2P1ݾvrdNz hᶹh{I7Ֆ~fglrO$ŵ#=>o&#ɲPMPGt5Knа?Ǟb? r:Pr^,OZ0?e(ǂGp '֕5**\Ycl^N,aXPƄA$8f'O4el#d;*=z5kfa[op -L_TMG)G^;Bl{[æ [(;7֙tu}|l+SSÒ{Jݟk3hy:DrCMmb_Tb} vx.ï~Wuq6㖲DgDuj%gSĐEr5#rW[;7o_"(a%8ɑ]{>8lnLu.-8s {Y.fIܾVre*pFz7;+{ErM/fy;'8@EJjV< AƗ,nxtIr=Ƹ2,Dz|sgas^Jцx$Q Mб3J`o_D(hWM@h[ Ҥ^C6 mWJR, _<'AЩ.SLt_X/! WךR`n;qyzkH aG]_Ul+<9Eg~cC1Xc sC׮ne8 }* i!+<_GۯK7%̰ʔ^RI* œvCO ChO˳58r@jդ"٘$[=}%be[eDrR`?Z/?޹"'D4u.|4y<,>mj!36|2`YI\Gy+R&rqj>1)lª[ uxk+g?U2 䆴rrcl5nU(]cέDH5^j‰da*`mDu>3_q쀉i99-Q.O$p^ v$Db`Aujۃܰ2MBK/XGebII6 B#KfG30XlyqCYI~k(ǝ_(;d&[!DuH/$ .z_NX1.>[(8gרw0?~fST~.;YD%n{KYΣwP)~uL @pkbpQ̠̀|Eן՗" P҆od#!'pDvaI+ٙ$ɶAY&F; \a*01'0#4l8=ae+^aRמ21!]9a#/IXV~ mEhO2; g,s)[G>|O{j$snxɦ>n!. lC" m*|[K؏HL`ɟ[ZA>Iy 8Y s[GppFZss% ,ey~{ >7+W1TMtbn:RknɲEW!?=pz&Sn–Ef˴]1dAM?)cSűtfP:ז=1iu^\ )Jr(bᤣBG;C3 waPǯkQVu^dAE3uTϘn̘E!C|%=x[&Nm_OB UO七 (*B"IRG*Dl n5"(z,#vwM_[u=Є|ي# 5X){;aN[RfU_L1ubzX.})rz]3Ot&h,dվ~?s QSbdcB*xiBo0bU(d5Z5r^s'N(8m3jc1vCbH3VzikC`T1H䳝i o2Fdd]?mM\bFhg2LeƖQޔ(}v8A"5ԇ Mܽ)(%hš^:*9H:5r @fJ&jMqavcHzSl[dczB۞}w=aef]{ٛky jI!jzdu=f9.QavٓAfHvKS˘ѱ!)X$j`tbf_ n1@d ( Od9H9஌GXIJI D C+I{^?TTǍ&dW{6lư-q:7(=LƉ9(&pI. e@\S8mo&Lɣ^ԏXFcx*Y<vwh3Zn"T@R29jI]lDb#YtQjlUY }һYD%tzXk2CIffҧw (̐}QNU-fIU:u! RLٸ\2,q2Q hFB$JCLb:qy!kF(=A;+*;ep@NnSpTT'5T5&lrV\01pI9Vs%ʼۆ#Z{ctq SFyss6Yr"h53:$ NIJɆ?G3irrIh=>h_q5S|^#g֭Fd8&@A&xyR/0m`1T>js4}tI`/|ǀ5bI) o'"Mld"g# Ij{ZT*%GR6@0|uAG䎍~ndZpqY[. ɣh F%dScmfW:)tK+ >(e|)fdtwͣ,ys7|oE7S'dc$I7l/1e W58FóC{H\Ip BM{I-ame+%:O-R'4~/V߬; z3qs Q0q& [ ?{:5V)TѬ&+vС'Vu;O*oV]\ ~vhB^5~vHǧTq;eF`޴iR`%f# R0%k6UtCo쁿ZqL U'rJyH㖅4"9,`f4*2O;u濢q8ib2g,lFcUl}#L s(Pn(*p* ǿżUUxT>}=ce"1%&LF"]&L '3ƥ=4PSm;hC "ݿlaO!~\lb5f-18 ԗ$Fu5a~lKӂ>STɖQf?Z\0+YƨQiO jRa/b}ke LHB\`۵-vJ(qD]!(-M/ea?*$K^v!а`fB6PZ>0rz2je#iɅ!KG{,z>zEKJ6GCԈQ2$[$27 |!E8q[ ع 0˛w=d[8WBX)h@}X?ril13ͮG*T̞ev |ڕT,-t״l/,Ae"]''.cZKC`M./g!4V }ɯNR  6vqCj!蹆let2(@ÐkƔrf@d5ySB,ތ|)uL&>FcɎ1I}nJ$-8g)I&b(͘G$0BqoVuń]󅆇|F#h%Rx\ɽuqpV4k'V,á Ly{`Z1E2B hȾ/h\mObip0SDN-Hd2;$8{Yo"5o5|iꕦx{4HxdETxʑMMDnEUv5L7L^&C fQuf1F,eKC)y C*nw`#78řVQbMwN=gIFVY!ǩ_`WJZ߆h&2ׁ;':[Nk9jZŤ ̞Q5դ(&bŌI>B=^4qt~)DO0Li-YAl\bmeyG*RPWf0<=-5{ǜ/R ƭa+1*JMd0;K3#a~nVP?G-#.T2 uσ(T} yd$B">Gq;'_4`lju{s?~(Ӈ!3j8,l!!ܟV){w. 5SD!BE #BGID0oZ@fېI<ȡ%F[YC۔carouwdYyty)K phgVC DY[H@C'a Md.91?VVKAw? x]Xk0LRGWu\zV1h7K's2^rB`9FUjJgl|gBha'.wС'wn &i$R1Re<0 ƃDW({|cyd 0s%CՄY  fkkO%U=B׬Ԡ|bTu-&ō۳.^^=/Ȏݏl3<`cBMTj31otVD.e+5*3֚F0\$CqWNrɘ|e3Μ6՞Q猽[Ϟ.W/^"xw&{g#^2*Z6Dy?'q3/"N'ENd܈%q'^#ZhՖjx\+h{/{.cƮGG]Yw籼3u*S5.Ww&k0]^usv}$UhlɁI͙$f),]y+Z$pf" 4u6OF9޷|_-hT͏uͨSxKu%V 8q9Y!ɿ1Zs-p-;9a.PePw)Dz|ۚ1`ψoDֽc8m[ ͔Ἳ1f" \. Hӕ/V ,(ҕ6@=]ɨ{p ٭:c*_dy^;5Q8&1ÍgD!NE_{3gGY 3*l.1'szXLzm7G$ mAW߭MIdX78dbD[2kTh@4HI+`|n>BGXz7.!]fPkJ6GѲ?kv< h4IU4W D2,8ӌfbHrAQ&-xblڎ2x"~394sDx1c?+صn4tc Rs8?GQ{~Tl3qɹ{kj)JǬH!ZV֪rozJ ݔ;; "5hdZBTr\ĺƬĭZGb5^΍2JOWM)2ZώЇYX2J.Dcc\av<qP7x ~qˁ?/`v5!s7%6:c_V':o7ӏ>g~=p^;) E{ăytgVnh6D02d~vpaLD mV00h}Bdcyl󛄣7疐3nchz㎘⇒'1 HfbzdsAK '+jEO)2-N M|Tm?{ JPj0e7pgZ?;YT'틒\jdE\U`4u-86= 0 cbǟ:&݋k @—ilz_ 8܋4^29Um3^Oc^N2Q6jQ!MeKD6s&ZZX'IՒMcՍ汉:RAк)Xԡ bLM6I_H:\wŘې|Y6iqpPw0ar: fϔcg#jFE/hL&Kw1R'MDf~0q ެp@? .s0Ft NOg-vM`ɓKk~I4Sm,fpwsX&+ "F8C.ĺe2wwwwSgh]@ P@~]1tn3ǟ-ecP_ Mhq,Q:R-TM~|hFQAg tLHs&yP43&za " `a0q־P/|֌Q2MNI32r+^.?\C9i ?.ٖ/=K"*@Hnq*3Ja45u a3g*W5E !]2rs5`Y =#L{ڌ Fq0ga [_fddX2;qzxYӬaA 4)|O^uƜaT.I&d MsBȯnLoqdf>odTVl8!Dċs'D7B~̈,ZfmӲYJ{Z)i\tOhdE? Cm]앉j+\Fb8M/]I?O`\qrSE32(t4] ˦e<,[48+dHRĬx)Nq6àpNzn{m*BIgL(B>M J")Y?%M# uf-BTŴ뫂XJt; zVA]?Zҙ+tٍ%kp>eK9xGD@_=", `:lɢZbefQsD~x^r`̠8/a/COv#} OR)'<;JCTt9-2# I^|6VOJ8q&qr oڣ ȂHf4KRk|;ШJO҄6l19]w:b 8xBKH$ix]δ8F62zrYgy18CN<w6p3r|u?F42;i> (LYl2h|̉2-12EDRmd$>D)onCREΨ&Hr- 2ږ?/KН3 wFJ(GL"tkGau c͜LĠhSKf"uðx[Ea(q /S/94*pR Ql*lDjuWgKs]KϐcB*C4f!zZH`AjQ.R@B #l Q&t)BRFR)88hHKĒ6$%(lCO`*Oh VjwǓB B &&h$( [Y}+vWl]}d,wZC Bڀ'%T o;9)ԄP@{l c\0 J

ЃH~XWB?Pq1/7: L8:@`12sx ov6MbbO[fwLT`T6D0d3>o^HA2pE,IGk jb(>m ԇ8`Yu%7:B!W8aJDOTt 9)t휏NC!m: !$q5Ҹ ^ny8%ݔ#h<"66Ewb{vk@8M-Z-gFy54v E^* 4nH8aDAmhIe}bE"P4!|F 1܄rI._@ILNkŠF"q^3؋Xh|]&} eƻO{>!VQ%6p[;秈Ҡd2QҝRǼ|;)Ow8:B@=xyEM"Q][FY%XC'}'JZz N8|2)ǯ8;OO1ǂGb6NftD *? PPmy4jp:#=;4Q^'ĈJh8WJY2 Lx O<@P,q/q.XPêp4:F(r9)p}<`> " a@t:N^T\9^RZ82"i+hhD8ة#ɜѐF×SU89 vIܔG$ &AM!0dލAx+ K1*O*6/'}0MC2.#TP/Z%A_sѫ(ɏm&jW㒓i#T4s@10}F0vs'15abd4 5 9SYU9~ B 3 E40OCFD߆GT*z )V R8TXѷcZ\g O8*ǫ Om0NOP hfOR c^_/)4lp;̝<d: /1X?{a= YeC9D2! Iȃ`NCA E%3>C!"ȂelTiB B)d@`$ZRdA@w1 1EQBdebZ)Icɂf*ɂ "ySçJ,V ׋ y^*[ .a+#/J>B nd֏ϐPw ͦ]ur}HW'Wۡtr/d@!E00Pm>:%SLL;׾Sʎ(o @}RsaH@H_Mv `y voՖ:3r*6N E!:*Hbms>T[YqqB Dh~REj:jѩ<ȪUAצ!鋢t*-pp2v<8|MD8D DNg]HjtUCLq5X,424b𡩩V?.1=>hD23P ѣrߓq4!7x@t'/ Q4ED EG.҈2# PèI˒"b V1TrVUd$Lw @9dmPqfXfC ,,L Fւ&5l8g "CjAt#Gú0TDLvN;'vR8#G顱 8ŋ|`NKB DG @ي)̃ET  8\/CC2%=0A ,ҨR"O @ Ā1CuЯ 0}\>S7'YR3 .3#sG]f9Os4j>{4 ҭ(yZA~{QèFhQ's0$JT ??(|ff8A}NcyR4P=)KC"`nP)s q"s  9w.GX%vB~WLn@8!WPbo8dn&E8s`CЕkXgrt:H[q" $AHbz'cv&9dl:yH cS+'2ukt"&5"0%(ˁE/Tdhr!NU:: Jv7{ bj&UGJ &fX%*7_5À]&*$씊D8BA?z!$?`?@c~V TMο 6tުbv6gm&xWS:H)rNrZnW) yN۸8=˟AGx`8U&n^9˜, ` ;ƌrug;:ki4ysMchцw%"#N`9=jUD(61 HSHHW1u8HxqBsꚦAyC"(}i ?RP9s@_x SH5P+B#BR@J<_ DHHJ#B(Dž0MS?viPC@=qABBHW@tl \K"d@<"9= d"H(A, P̊P!5@b%8N'>JAP2 қHTPiφT>YCB&q0یNJufD~Rha :88K(RȦ0OtߣӒ(vXNh##SOHX.xmN:_6BS ؿq>G=E"r)}x"}0cqs,q_ո{p\#D fpi&3{A*x,(ҘNY'to;B0D2@) וp5dB<&ZCO{'f( _)f3t@s+I#RE'n_B>%` !t6Ro P2 AsN[;BtΘPԄKו4B BaXD8x&*GHG>/4/*`$" @ @cbHZv03(/ǯ^_Ozy'qRȯCsx;Ϟ^g S D_O$.Dҩ%֒C~~Õ#N7MwRdRZD%OLt e GщAQ0%LS1I#AAyDzO0-Tff{SiWT6=>z@:@(1i!(PN- B@LJ 9'VRR<?~8+Y P "'}Ta!F@&vHA)z S0i ) EAف#uǯZ~wnzk$yAnGՋNb~QrtL I$AHR /ceU$F hfɠCQ=&i8Iͣp<|(w0P%)]20TaIÆ TG\'!99jnNλFc*Qqj $-KNhESnXQ@eeBE7 Iܮ*98-R#H۲T6i]aú=^:@, HEefELy'EFPUej0U PahZDl9U3NBfӶ=5>(\}Ch*XPDG;B20Bq§ p8B (Lg:'$(0?-NV\dxr2ǐ1D I`6lOcER zUw!/FWIoHƩAAkF&aR'Z׻m`2)oϗ|N]Y0U$mjZ\>P:`X H(m`h !&I ° aP C0FU i)iKh|y\>aC?D\nJd!֞ x'=}zT"%_T2PN߫^ z+k<0*wzC9/R.\Bvy\AX"w?`_N O^r)o81V X[o f2,4d䴶EHشYD[ f_s''ªZ+ѰQ "d$`(%b1IlҟW9 D/=JmXoc<)' e Kx6tI3N:Ho5NiӬL4)IIŸ}Y̽0'nf>$DL@!PBK-BD1u#\+;q%#&׃NMC9,k 3T <CCADD4aL$% A1'boBc dʴ>޷A Cp(6i9 K=y0|ұ42E'™, E 0Q@A%N9"!"%`h&(HifbI(&z4@ DD H1S*TJi 9$RFv s$P̕^/jƈ5PR>0S걨&)hLPPU+DJ@ 0xc IDQ^< S4Ay,SL$D2KJSI@RL R0Q*PP JФ<NzzP@RqhZ #MZ"H :Be ; 2J"PN\͛vhz`G\TUhfRD[:.-:I7[ _pN8wwCG=G1qD=HUO M*zؑR B PQOT(`5`%qG9^vu'B@-6($ P,!t( 0'`N L9 2E̥H8%UG4EA&16Ģ[iQ B50>S OeJ R. ܢ& 5H y?a HnoXrDA;J?ռ=ALAB MRI;U)u9I* A9~&)eN0=6N. !'!OYa֪lL" aF3}>g,ዕ&j"l ְt> Qa/)Wp0@".u*BAp;>T@xF-:M>5pN] dX594!.i_}[ z瀆yhen o yQe #~/OKmŮ ` tN֤f(?OQփK-^rEú0 (JX"&DM1ސ&%Qб }@8ԃ@R  "LHR" %O1*yϿ CϋC)'/*Hn"csp9W &KqjOɃp`( F5$ Ph$JlX3tzQ^Mp)(t"tZ"( ؀{H&K@->pxum`ְ]QvA7}t7 H'Tc_*kjy"`H ) i Ll&tA)z(1#P8`8<}0PeDhR8W>t8Tlba~q SNa-#vZGuB >͍hJ B >JDgFE*D>7ZtTDD+WnM*ஈq8e~ b#!g<#&q_^U@>LLPM@ҏC=cT8ʱ !4 I/L13{ѽ[ {$)n?"~XJH1^)YS #7:-#H,KU<?eƑ Id>DU=(YA(ED3L~#c@" c;UC&N`7TS)w4k/3E% 1 '򐁲;3P>uD2(*@($rүJ/Y;birE^s6:jB #`; a?yGĞu͈~6Aڡ1i AzO[>-CɫB^B8;XT6aȉ i8-<ݛ8N)+͍sbG3xsćb 5@ԔSA1-,3TKPP0B4PQ3M%N$5EKUM@M$HBBG>S2В$}O ;@IC` D &D4'" xCI A `9C1%AfT@*JhJ"RǜO0 %xA bbIUJм@?a̘ p'j殄h#vW,n^*% D1"X%$Tk-N2%9;ME!^IK 2%+)MI ?ck"9^եF&'9QZPT.ƪ`@ 54qeLZP hFP"]>pŗO2^pލꞸK+=L- o{78Y pFZ[mgE\rko|=Aq zMϸ0k2|6lt,Vq3b!]eialHxtXZ)hY(FX$@jl8FAwzф ؼgѮpYX h*B5IrI(UM*C7$sbՂwhFi8Th!t@'P*'L% W-QT| E4* Ѣc鞖qU)$Gk-QAc8 udbٰJuЌn3ƙr*C:4ҪlXg0-VEhWFT;亣l : $5hENA?;CXM}|l !pd|Pպ͌ʇP#`)23(J~ڪ̲ϖFmAʀY.ǾCs5F. A-bJw:j񝭱Щ(p8KE $vOFAys{$ (qً첢 w"4i%:v@\ƭ> &Q!#_ 4*;6Q_=ANS>"\G)rT[R8 t.8~TiMك|t"={9 Q_!A*ZPBeU3f-98YH6JJeܪ_\$orf*;оU{YeMzH]Y7I1" zV$ jñdI+k挨^='MIFsbŁ!RsU.USH/>jrnUrfcu Mҫ+UOpi׾ŦebtUrRP]Js 4Eru{tyIwU ܠ޺iZ}jDa'*eϞO O}J0TP$QS Zbvf*sOӐםdxFNj-z%oO YW)V"Vn,&5D!tʓk>(|"I$w6FEZ'E,<L$}19ٱE$̨%1RlTB}B}GlfC#yIqDR\aUH5ezh zUIIw)j:->2dX-F`9Ky:FmAuGfi F8*ws~覸Q^q⎸%Ȧ"b`.yG%#wS`EVf Dy>eP쏰g!?7tؼOA;_7iAP vWd p?ͱNdd Jo`(a3(61OoTB$a]]e P(BzāQ4yg{#,ætN#2z4< D\{|g 9]tkQ̀>AiM/4ɵVľ2bQsLU/pGIGu'*y"Bb奡"Fp* 8ek*.vˡb4aX./#B!.µ-]& rc̹z5};=wV2ۜp1"B!yh2zvI0%0PW}l@&٫H"Qc/4TtZa HR(I08Cv=(&ȩ Oʬ9.iFT $BHT(V&755 ܎DgOѱ5@Мl cH.ʭU8ٴ|{n\Yܒu/﯈O"#$K'dpyK_Jd(" )aUBU烈A!,`"ȶ72cx(^x##)ZHJ`&"G=t(FO8[U};J}Nx"< !ե{NgFy81IljJ{~l=Yh $Ma (JHMhC] btV t8ǤKTZ]i| q *>=B rl30i+UDQzcLqb e+]3PrCIHΎ+>+3bsb#L->ffK",We~Psh\F^2%^=4fN0ĢjfycOP۬TY3yTtCQy"Л)X4='ZwjuA2!h0#9 .k{݊(mh #BaADUlUV-,-X@#2\5̼xw> YJTS@XJ$E iOە%<#{RTTeއN{52sv8n8q-ut\yq/J" H pJhqh #&{>!dOcUy76,3ËlO%%}?HF+2$ET HOH}uS`dn>H~yȇSJp9y Dk_7OA6ayţӖ sIX4T B806w@fR8j&C?NHC}}w!L$~xH$$" CB0T4P@ԤI $*52EҲ154"!DRB S 1R@< 8`aAcyǒyq\38b Cks@ Ϲ )``R;>}7k! Ĕz4jJN5L/Wt\AkNLBkZ_FC{ ]cT N|Hnϲܣ;┑O R]7 pOxdH !gO˜'_Sojbsi~E4 i}QӝjԞ!!暣ȳ":2y-EKOE3|a&|F`Yv5Ap*up{3uz"-"STEL PBIRC'DFP՝Yul1 mwnVVNCJ \7Ujs :(m:!W(=qe/3,A.9 G 1L*RT788yJz45l<f7^|hتp\Fj(A^@JV)%٢4*j=V2! USIʭokS/7MiB֥R@Y`SR V *A0hHRrMT(U d41vl3. `h8Ub1IT2$ sxULJI\4_ ĤUJ*'_+8E:ꪴN<we`Lщ|NC|6\ DB[أEKݭ*Wi(UʾmSq.s{̞tɇ{a'&4$,$ҋ>$R%V~c̀z ]PzAH9^*ya;d šj|^Dd^_*zL ]vśzᔪ Uv׭*4Vm hTx 7 ޸ITC%aUj|([9lZeV42 1讘`B 34MH4Pav͑@듞huTR+$BͬAy ]Pq2Fj!{;LY;AѱhsB^E}E/Bh`VQ {VʡWlH4{jƷaƸ{Qr鵓ӞyLrwJ8{fh08/{( u-W U<vO`*[8 i#P6hc8Bp<f-W?Qh'#*[-!] Dw]eK0<\K 4hfcv"0Ew a)sfw]sB.J[3&*5CG8MN{+H%$o{1VL<}!_=YW_-#N%c 5Ѡ:]1=HI:j"/vGPD \9L 7/ٍbӥU4UX\-XacMkD`Y;UB~s+ VvfXX4VNHȓS;7oxzo;e'')ńHb1[:v7KHs.p מ QƛAU0v9R 2]b޴xlIn*3aR5XL0dDwK=|rºlБF`q5:H^)_'30DALi@ySZJ.1/WF$3v I33Ia̕0 "Ga)*]xE LͶݣ=]B䡜AFO0Cpa3{: BxEM#xc|mOiCEN7k d+x07kf A>rL*zN00K^{2y P)t: M" x@H=HU<}-u5o2vf#/Ku r45DQ *DTo8.xA# HT.M'ɖWZ囱? B>z%Hѽѭ/"ya}v݀J-j;TDT-TKI  H=_ ԛwOvgx9#CU ʱw|'$lb3yr9N龺ٖi5ա[ֶ`\5|][\R|,*PpjhS 9`SUd1"&rҭ 5 ːB1n:"3e2DL8g҇JT*xΕ (+cz3Dž\Qcd2TRbpM ظTqohS4]ź4mV %tiVSXu犨-sRS Q1DtN_:OXLGꪉ:CX+DɈ{0>~L8~I pO%EFLŽG5r {~_j*x~qr& U@FDDeU](G6MS?Gs4 00 S{ &Wr|dr7H|ƑHzp3$ :DQT[ZuJ$|+9 F@q B}M''L)ctd|IX@h8%~46ƖiE9$ Zq+02o")f*vc2E@tA].DL,ҫoQUu_)^_A- u6 K d wȊa(x'GJ"QU.(Z nr;I.%py=uVSISշV9+Y%&lCXa<Āq_|!2dϦ ѳWK@P PRNl4Gցyߗg;cFlN&ݘ&x2g }QuaUN;AsW|# B d%Qy>8e0''<8}Dcfx*/_R)C*J, d61"bO3 /x4PP ؙD~()$bb&"/@RdXG؂(Vc[<@0v_DR GAs4}GTچ\=Ų|!gq1MPGklE冈%<qCbW2h ER9'/G= 3k×ҋ\QSEے@=a:#ע7dd7)o&d Xy6|/i $D #EP4xВ0h548G2di}1H9f{c>!9 SP HAd(8CQĈ4 R@IDT?:)R* D*"I Ps);'5f`FkƎ)(f&(w2hG&MbRJ^v1 ~Oy,_sw,3fCdO. C?2 b$?M1AC9?*v uALQMB>ѡSXR'4@th"; X!B#QhG|l lVHay.R*uYsp ("db"A2J$( @}`-h<Q6"h@Ҋ |cB:C!MqG[pl I: o\':Մ;nG\[& sǨ8{ (O{kB} IQ3I` Ir>/s$)IK > !{`j6r(Bp<whτ'C&HNxXz(Y?}vې@C=F) `z JF t/9Fy @B,d?5.@h5S\;FBLgCNMԵJhA$LlGJ &1^*y;c

_2@E7Qp !a &<ƃ~IgԌ;L E@ hB VH@$Bi  ܨGͯ5QTCpN=D#/ t{ؾT (3$%$0!8 ` 624HiEJB&"BE:JPMJ(R<+2K@ 9p@ʽO^7 50Bx(dāz6qa8 @ pn kjWafⱘ&o%84:w!BND-ToEYZH"Zu}URYR4h((+$k;2DU@ @@!E Po{#\_wh}<wєZJ::4;޳I=sj_nn>^;7U{Gz>NM6lo 67n]BTh:7)PUJDw|y}{y}w֠#XUWNG7Lv;۶w{=FV]޳* @ }EEJuګYHJ"A֩.`%U%M[R{ށw RpK"w v&6탶MېJP"DQR !6UHRm_)X B*}wwzQ{^w{z|l^;vZ>QEsҀ &kA|but7xz˝+4iq}{al={{%{ۚʥ@^{ŷeO0CH ُf̓my(=i3 n}gdo|tɭi}Ql 1gػ){hKyW^ou{wٻmD}>ovWo\h8 wpp3}|={ӟw轌Μt֚]smlZ+6ϻsm:]ͯs琪=۞}^k7kw,r;qu1yޯԧ{6}ϚơT5^ꪊ|麺tۻﻛH`kVRul/wa޴WxvmrǟCf9홭sBԆzxϯN˻oeWCRPX֕2u{.:#=_=ÅEFvܮEocWE A޼{]F:=}Wv}g{Y}G=f( loyzzqp;sux$i# >w3@SFQcMC[n5X `1CJ]wHudt)Ork6bNU]g \oُmAC֞l}]-Xȍ =vtm^SF֥/޾w_mRWt4tt7njFox-zztrd(x[WEU϶tmhӧzitvtNmtF s׼>yo]=}/;=ލ٨ |/Wv$:խX!uPP6drx<6CWtcyӷ;fw8c57cڝwި4|]\w$A# )%?DD̘0e'iDBMj`2hjiS‡Fiz#!JDI24S2C 5im@M12hѠh!%A4dIOLDj=(iy@B 4M4тhjazijmoJxIz h!H$hOLTL4ީO*yO'C!FOPi ?L`?|Husr#fœUQ~uRKCC7 FU]f"I"jeH* EP 1_\Wn?*B&"%U)oYy2pxЁͫI 5PxC0eB@Pt4dE"TM J0HdDfzb*V(!DH <ʇ x8@M0d@M|nGjB~𱑖1KNkdR45Pf`e?E3{>_;{?VY0*SI@tiM>kjs,DTk??z($ǰ%EPLJ!w# 1fn%t["Wi)p|`mez% 5n?k?8E*8TË5wn뭷wD$q@e$@Jjs4u*~u;l3TWx:_ {־BFV+ePӆi]e7!"† Qc7fbm2*"鼼Wt^: :jIwæXO ~5 &|C !#'OMFFPAmyZhl`0PKC{!r=_M!2'J(bN !\#F.D|~J|> Ca%5 S12 @D@?ڦͳ]+ymWIt!oPA凷Bd6<> b/]KkO##&ƛ1.B +p"jm o1Flc .{?Ubָ:5qiS|`p ⰻ0!}LI H͕iS*X#?3LB̅ MS5G{6/C/Ptd#^B AH|;+bca]<1Dv"C,ˎ\ -QLcz0>3 lB& c ddK0==Q\:D'lQ棿8{X NZrt1Q2}Kce>IYYgqڛM=!grCtKqFgbh='.u #q ZP iNۚ|z?kfe̵~}s?jqE?Q \߆CLCA0c# RA*5TCD5EUH"y()Z@qJx$4 LaH) gøIQ6IJ|Dž!H$_Ie>%X;v#Vxd{OlJ/m>b8-Yb;x:%΃0Pn}NsT7Nǡ)4Jg 4荤=}yS-ig2w …B!G?i$K3,1sϠ{wQiѣlFEa$dzvPcw|p-J)0fSU?TlN%>zӳ׎߈d9aD]YM3$V`A߯'܀tnShI*fY|`4y4>k!Hm[+__x= yJ #PT ybDwصPk#"CXCuBiXX3iq "E0鳡KYbtS⣠(DJ]p/4z_8>OIo*`BU@"}(lH]DQ^!_)SA!@R|UEG;(_ ` IU ---40DLS *R" 12M( *$(fxt ^sszxӃA`ƶ~OKVlh{2ua~`lNܝO%E0[=LLn6Nyv"*iR ݾW.wSlQ8S(:_ T.(v?i7r v!`|SUWc(zr9c[X }1>\H(gG!YI*(E@O}g=pvR%`&Xl1$:q?G+4P*)ZÜՑj ±P%%6LL='їN(b2NᏮ4zyotVEJOgcTu[ƔĈk9Wz\Z/c>otogyIwOYJxGNFB`]Ľo"Opr@U Ԁ5f%0QKS%QJPğy}UZ-KD|4t0i6"A_7#2#F-&RhFyb mec;.ςGQp$9c%S$N[-Tfq֠DOC"S Nsz'!7w6}.+ z40AMA-v3VzFq嫧Yvv3UaZa NkýyUW9AWeUԄף77U{E!@ sTYvHKdQٺ/@Tc)޺o%܄y 7ǯEv|'Zz}3療#B] wpqx[&15uM5B_+02U/|NsGe\{rڍEf1KصTY*}HZUU.Aɔ Uuze;<@oN6.ZPRz_›ʪ̥\2d98L+{L]ף#UjQDDB׺2_n8E&ܳrbG޻d\('0{UREEd4GF' >Q;谢`Ț.ư= E9p"*/WSދR܊)$[.yyec)-*YO3-j9bX -46i挀M oÙ:Iid>,CNgnANppRys`v4U3)Uw`{ܾ_.`'wtD j\Ns}'m̩IYǏ "wk̡x cm49qT[uy˼}W#Cx &nm[JʄSF;0hPh 11Xo7^~zw$S'/ȏy,_C!hc%Yq{ BU=$N͏=1'găv &K̇;nwϚ-io =LVB~6q/T}+"v[̬In; =G%?wȉ̈'9݈'+8IN@>1qh"zcd4xO<=y=qHg %MDQEo94XD? N~HlN^Ձ?c^mHX'̾!7II#o{e wf7R8cӌk8TGf|;(Xb]. NeAj#~.ɢC i6fYM~:g91h7j͕Z%5]l9덴pղ0ޠQoFG9Ņ2ilZa`Mg6u$Gq#6S)qFݰdӓtE_\kz~uhZ)O藉]%Dz63*7T.v BKܻDF4'i=B(y0! AcfCUbޥ$A-I-LlK"  jVl>s| z,GsT"rg!Bp2U%#FukIz_\O,+5*pvfjGXD_;})>cPgφ$UypK;wiV d“8LtaPL4 nR!D$pxF-!AGkNZ|w9odvҞ5}e!+pk[B(\P e=~ImUR*Uk/)^0l~䧮 C5t,3!0>/}~Vӹ2L$O/S\~9cs5\jk!5d@VR>{E.lC`Rm@"j߷i y Q,JW>oìoì[/Sbm,h1PQcE09#&p`'uU-7z  $$)*H@}ID6#$i""Z*h1kIT#TPURU PTIBr7}<QC3EJErZ!^*/?sоߨWvFS`H_|.B^< '#E@4(iHRTV6ő¨ Q̯X4?+& l # > zHH{e%A&GJPSAICQ  'x "* 0T! +HH"H J.8cK_,x.Lx{ BH,X" t1^_<čBAdWNFw| fl@$b豢@ B_lm@@w K ^ 6(jD"=>!)>aۤ-GZ'%MP.x+;":p&Av:")DH!S2( AJ)Mk#Ӭ੿>< qWOӶo4("` B(&*TPIP@,JUEUUU@UUUPUUESH TJUU JUESА@UUEPITХSBA$($i>azJХ'B0 *CJB+B0*b TVEi)ZJHA(AB@EE(&HhD|$i;4 -ޕtJ+H( A0 e4|ҁtaA2p!Z$' 8wv0~Dp62ɀ6?^ 'QHG )O<0+!`%TAߙ4p#?,XkGy=(mC𚥤((LNz{?o90Q 1qm˳ݸeږ $2BdBDžgfXLbDB=[bM0?l`Y05T!BqA(H'i "'GEdTd(+)lp h@"HGKewC ވשyu&weS%SWi޽gsmd ՇAGtᘏr?bҏWYh?+FS*p弸{c鹖irb\u1$m|Fa0=ޤvI\LWjRi&H F( ^Y:b^l@Ԉb)@=p=f_#.`53_ 4#)Ojz+\M\w|AOd HZ=^+.HB‘UPJ|"8}?L\ *N?^z3  ;H`E^P6!8St!#EPP H Ȼ);Zz#Q/o׈xvVҚM oB6iGJ"CC}Q ,)b\YsB tj̺0!CB b?VYt|\(yI<ܧNhAI"#Co)qB~8?]mZlsYb$k;rZZ &RH jl,0s+q~3} E,5c̻t c9! 0?Q 'y:br4 1bAC$H3_<ςCIcח=}Z#ώ-z9}t_ObIVai_d b~1>qO%LbC%Χe-d+/ >肅0c8G936;PMbtv 45qlodwFQo) ` zbx̤Fn$ۡ v]9Ie ZlT/]= 4F\L%ߘypF& ,_h8bйjظϥxP?X۪-`Qq2L_oP?R_' `ig 礘FLobcN=R+ߘ yz:ӈF$6DDzc/ )}mEnrSꧺCYLTq=HjjX=@P"$#ol"@dl}vn-ljDH 3cPK!:Q ~P0" Hr_yxνǒ%0Ӹ J&0H5 O3NǡJ O9A[Pa.( "d\ʶE4iS2L1$!Dz2yxcJH+E&_ JM6g:V4~v?bm7Tu~^cbN/HT{I)cȔp'QCqd6_}ISɔ)mM|$(#_OU<=gn UT:;w)_S)od;JtQU2Gh>9FyG0un=z 3{e`3t6\7X {+U[4µ eig_+Vd+;"qꉋa mlYyϿ$I[S'F1x~ӳxs./WSxl)ЁO[OE*;an%0[a޸[+7ОRhq['uݹHtWOPQnʡ6"mg%pCla}ovŸNhUP&U3R>:Jmn)=~rzĔ᭎18]/~çs,hkZ0ԦV}]qv)vN׼J;W|vF/7z WSH24x̋sd-"N>ڴ"| {kjNn<~?Ͼ|u4̣[jng[s%^)9`qw~Ŋ+Qnf±{Hgf'}?'|%G&t;n8QH2tp` .ΘYRJ{N73:[lh-ۤ0ёۤRvr}O,R%AqZF}VVUɽ tYɾj908NoP}5m#+~ӉSAQ 18@u\8g,zQ|7H/9z8#Vw;%lb$6@a>Xb)*JRCQ;.'?07%&0sGMAv3sާӀ=&a&&*"`PV$(SA HiMu8擂X/022B JYPM /iR<}8`3L1ǓA58wL,HT";82#M6 fqBn c6 =zb!_m RE4W/_F W ~o[Q3yV[#;OPjm(kj zkuTZhr0R5N@y"kwMlꠀqP*lv_>y$~ =gתg`D5J2#E@9d(18#?zqfj&E( 1]<Џ?ZKa]Q35?uÒFʞv o6'`ttfyip-5Ƌɽ~33Ff l Ar5A;7 f_ C>?|>f| S?^b?YR5~/%`"l!'#*0(4tÁ!IA\ ⭌z[UK]#ڈ8JiES2'JKGTP.>"x9fהP4/, $`# ;b4a4^ urWNq\䁙7ǧq̣q=`|3bWp5g Z)$A@.Zג`KBr^A;~~z~ICQ_H2Tail?]WtoЇ NI)IgaQue붲ڳN7j19[) q#9IR6^`tގ`is!%AȰtL$*ҰOmd46̢a@*etd7kn7מQ~ZBbUZ2{M}[$5eJ/&j1~WRSA* lAlNqXa+80M^0l)+RDG@sǞ虔oyX)j;C[&ix8_5+ʙp %i\..oZ6G xStbU^ub m:70[>LY|vglA.V'a-0٥xd+72 Jn3r)<+ֻv9~j85 lИt+6xlHI4{|,alw_}J=H^[L!|}l { E' $Рg)dt7zx7DGR1Jh~mՁ}1Dv Vk# M ;kN{ds{T)8y{V?w|1V ~~yK^/sÉO]o R>_9?JGu(oo&}yJE]"#rnx%%&h@hW%rh=np0Gi"K"*F$ů?b:yg]>R<A HDy g.~d$Ą~$ n~`Oz/7x;˟?vG`nHtB aOi(KT 1#faPd +=BC1xsO>z;4 "g~*5@/w[u)hv"]HL 1AQ9/۠ O נ$ (z@yȂx<t^{ Q~A@$pƩ`vl!mϟ= GP5[(ikKZU*KXW=Zs.M;n hkA;i*ݰ<./;xpL B>L^BrO M`z'xڒ7n'M$⊧@u*$T_l{|="7Wl{yLrjSM,8+P;qP[+QKnՑ}5*E..c_:^BR'UUsj̼A82<*x.f*-*G4DU@"}=!: !)+]X!@ lU41BIw Ao##L!A)/o[+&Xn!XMׅJcc%0L_$Nrd ${}0/p?Wx H$"҂i4 #9{BZ.#L:1YBd$D؈gL_4܍ ~@z!$5 %1`M f6St -WW4Մ2 Z9z01Ƙ'߈0Dz"|P9ojp B $ "ͷ.~9o|FCo`ERD@] 47T&(P/=9O>>o9R=H ̿1KiOPLqAt9@B`ND0A8_㜸Q. `밉`>y "L ~PSڞ^ݢXٜ{=u=,ybi/M#B傞ûHꈡPakn (LH""#$D܆| 3nr=F4yP$=}:#0䕛56pNo9޳^sѺV!AG:&ts6'_x_8EÔ>7SA Qu fnmWTbJXwޔo0ٷRab<| (#*cW1 Mq`Ibގl[h\ oslO^%b1kus-2ʱwopexbm-8HFPu>sЃS&@U~?5To~BMY8v**|1e->FmPբ$_t)Qpi!}#yd-X0jt+߻; 4B+{n 3y8zW۫6ּZ6Z3`%)p_.hj<ߌ[42 2eU:6龐/=]B3Ur8KNYd_wGdP8"~9 Vc6Ik`ۿљRTU:6f6Bu HA^㧳h˻Zӕzָu40c/3 ..d'($еG,MєI35h@R0,[32)2Z7RE /ߣ_7^&&,\/}y>3Y{qFbQ2![-m6\aVe$)JJ^^&kJ612*2:0*Tf׽EʢIJ5٬.k(YVT-(I!+O흤oW[E7Vu#V $rqL e\1Nu#sɴ@f(Z]G$эH48PVD HS̘/% ޭc=61"A()5u) hVv"Ԁ)z5񑁏SkSrzx@VaH b"`U:D'( ϛ m^ usa?$3$Pa g!Fm/8flQIJZ9DZ)2~%y_/lO"S"TM/)VfngZ/47#zYz1zrC՟rNW_bmlob;0#wЊu9':FxdeuJc͡ VѴ͚}BZ\rSoJgi`W8mgYV1.5Σ9p〣3Kr@OxvYrV*r21"JP󔛋zwoۤJ1I+hYSLrQl/5()@HkɨߋZỤoRoCbL@I$srlFBc|4~>G.>Cy6ME芯XW3k18hl5ߑ?z) ҭ^4ƫh? ڰsAgd8Pwm(bvNE"!Oz@Y d沇~YE17TWCsPPi*E !^v&.}}|RDY +mz4 /سi꯸ݵô;'㴞%'iYWVQBƌ2TP DH 6νtV4H2mb>Hk< xyNɐ0>m_uU SpgA_(cJV5 gNKl+W |RjU[D2eH L(;X7 I#!rz?Mp!i@6uW#ll5LM'%VT|9ߜ*ZDزkFjP7 p*``pmdTCӉ]=U6iYiR&CȖb„3XN K9:g hA/1i;E܄]P=R9R V(`ESDLj~(9QvJ8f<7 h=aACL!1´,/aqEqĂW !aR$RGPhCCyIllD"aB  FJd^Jm_|ט*׆~HLZ$] #m^I?L/‡ȰYsB\%m| ; K>]S3UP@Z[U@$I bq!zd|إ95\!v`/i+v<3bf״53Pew3T+/wB-%"l6Y[u=w:I+Y)z׉=HsU GEw_b:f,N0H͋f!Wы$3< ߢ);N3s4\Z>iP0N37/N[jxĞ)KH["ZU   ďhsԚ$g/ [:y/8B 46[i%!ULfbPddhj.ez)ۆ?R=܉l&ો iR!wa *[5. c'D7S*zKRp6>U 2E['.n7N>[BM;&[PD(i~'"E5,zs꣮?z;׾>ԳQd"TݲOmҽWN.IWk%MBDt*l㢙щEzv8 y0D5hcNpY{iƪ3TT]z+Kvv1Bj^7X!E$ﹺ%#{"XsJQ\zw8ᶙ$MtfR-#G)̫DZzw~L:ctꊠ黠Ko-g7RÇJP< fp\a(qfx0ZOmOEئEBN\ aoUV{Vƽ6B mZgXI¬w [<Ǫǂ4YXkz=θ_w:/UZJH![C {h}TSGy@hT ,19^ 9 ` 6F g "ZH#9;.Z?Jpd7GߟVlH1_&yۆBԵ^2!PY_0AHAwLH>kB8I?lR+rt\˷˿GaJVxkr׿VD5b,Tj/8εBZP0VBJTr—s_yu*d54 f0لxks\ ">k 4W!j?;֞[hA] &/CoC7}{ + 4--VI \)ωoM&=j:ی<0BB8NsUFmdL{`sG d2DC2Dܶ)nfT)B7ryG#r * Y)"bRVH )Nf$ >z Uڙ4;AA nE܄?Mk쵼vwJd^O69)}.%f G?RԼ}\J ݑ,A3'y|Yo8Nڿѣ4SO_9q6 PG ԚG/[vݡuN 5K`h<趖e't%ZiP:1sJg_Lf~XE4T.3mPbjecHfAbH.͌8;&r]͝.!|}/YAխVhLD鄷չG^UîӴf#}E; )r2G#_ɲBf@/ȤMKW]Yڠze,w:יeusp[Qݪp"j "8`3PA`3;Hȫ(V45]c/&mP80VM$I#bveG*P_K8QUG80w8X+NZ*v;8pm6q&_5iZZ` ISE4+ i?J7GE|Nj,X)nshy;ͯPZ\, jtV, *atC?)"YCc4i9h]z,!/i*aM$TjkQT`Mz"7QA)3?-%֗}QqK4Gt~gS,5S #qEo3og/D+IQ{ԤBjΌA~ꕺ^ !uSGE?Jq9ODD|@egDreN'_&V-D8ӭ>FvL K`DA*"B{b"%_$O t 6rא`eDȊG0$/j4]j֡mv]㦜Ndd=3Nɿny"'D+\43tUwį­ |';4a.ٕg-7׉4¥{29aL Wପ߶ޖXb8ZqԢxn%[>##-e_M鹛g6|4,J .m'c9$L̯{7w~E u׬ݝwsS 2PKHC(z;Z|Sihmue3룒RNܪa wv$>FZa"J,e L4?k\f,T߿5 *ٵh>o61Q̰"*iw Y7j!MImyVQx|TjtW 5,W/.|9Zr1{xvOv*d2m-[z?_w]g(r{H_ NL+$\|0( 3N:<`7dchlΟʈz#U}2Vɝ˞_! U;P|6{@lj̘bF-JsiޫZrxkwƫcӜ~,{kۚlۣ3!⩪o)Vgi3'5<8!֧TDӤ#Te5PqݞRwgUZ^Xun`z}+J ptjT_9_ebo6Cb*CrsV{O}oFT70&'.NFϹTgC&\Z^ʚ\OTQ\R U硓g$ 4 A:*9皉وYCc7GItPp0"X-3WQo,T1wa+zK)wȤ Lz0yޅ4,ts)Hm#YdJc7.w+tZ fʩͽ{{ihQu&peH>ȑT5P/Y^tRrF12b#K:ɛk-vЃ ɟI]*)NpqT05utl8OI/ P3esjV g0o$4fV)QiZ[qlm. Q4L~EOoxrRF'%=_ ʬ8֫|S b&H%4d=yb_69ͥ0Dp hpS"F]aIURNE|@$Wu1 ƍ0?(ZN'Or+Rz!)Y3}|ܙaY-|AEםP{R)FC:LѸyK?p6tsAuK#"mMڲv [c[QZ9z/N<櫒#ohoTa:4@`#MDi.Vj /lG)%e$p h(á 6v54 m08Ж4% <W\/ fA,3,DL2C hOF@.* k Vp^e3;Z9 0t |-XNÍ\mE`"PaYY_cxgȩ歼 eRyXcZon 㡥h]`RY7Rf>V{LOw zeǷ5<4KGe"0΃hdE%'JJ!nsb-8>dE:4 bw{.J94ybS@z')/WDAaӴsyk IqZzj$8&14s HTe& A ӕpD \ZJb(ʕW1rzVuut1zڡ :kq4;37t.f7 W tq3*KwQ5"uFpW|s[kvx3NƘ޵[6c15UCE,]&~8f%E+g갯]|3i]tIH%)eC_.6#p^[=?<k+'`_s^j0H*&5]@}:~{$nPĦ"Gw9cm vssgs%Ա6rjaNq_W`B}0рz}VkN_qъ;ڃ|з,*KVx_I{C ϻy7(9jGQm̹Mh_EZLpO4lKF|մ\I1-UaIze-NjS̑oum.ɛ?!T%"[7}Tk!/κ?{Ɣ]3R@5ģ_{.^S)lMݬ(SI{5񪅅7>x>``z<ӯ]4Y4 1;/k&lgVC Im4"}q񳘴T!Bp7 pwR ۦ9hh.FXY H˴N8!ɇ -*ӔR5 Vd2됉6p˫~mꂚ20QֲyH0Uߦ( wE[~a}ƶu9vEu!)U嗜pli hg4Z_D tpS^&pfG GB |u4mBm欁kSt"v)1HAr'[+ɪ~\Y#קJV1pJ8*z*S{Y֞-4 #\=AkZSVv^fyV2Fr!oq[W.H27X7&SQyq~NMkm5e*dS2wvZV\QAhAa~6\oǿqQyΌJF,44Ѓ3ET,*mW=[fiPY[csgiWfXS)V5L鲬]zO%5'M]w,iT-!ލhTucŁ"j޵XR 45P|{,Т4b{(M/S " ޹O9F %%4Rjq-I@ ɲ"^RP7bBz1HrJX8ޱ7L֔b;-QTzh;R.3`|N,7 {U#^ñ  ܁'aۜ1M{[}cuz+caG9"jgoU6Q*ڗj c~X{%GW(B 0! ) }կdx5U+Mg\i U*3uo02(v+ܶ9k|u2d!}/dg(Zc=holk9tEJJٺܩxÝ4].jk"[)nRdp#.mv\ -q+~'S'e3ʷތ,{Uw~^e !\>4,I8ϡy8.9u~(-)s3#ڟ42*R%_LO; |ZA D =aNؾy bl5v4ux,<'5gN4YuL*d to}-WJ|ڦ_U]*(7G7.5uxhrZW&= ȁ`Qˍ"휝*QF6ayB8*p !bO؅^P,L‚Eemf``P7i_56)8عRK{6pn6G_;+WV9*W`U*Hs²0p!v@Lk;j%b %Rm]ICܼz\h|SpǷ >&K@ ƓYJXMGy|SְRt!v)Ǽޖ;aӊude^iEV+&e! =P.¼{̮=W/{;he"NЃYvzs/xOB})7DC QGV}WC8nR@ =*YH ]nRPVsRTh&*p ajsVY JD& b".>8Z'pNl ԁ PdI7E@j@2h80ID6y3͏m=ˍvk=\T J 9d̵v $`i84r3.4kG2eB x֡e 5h oG4susnpz|X;%㑱(yҢ2 U͏^=p$af}w~{+e( В}/igp[XzN $R7 قr }0]]#ugyb&Ώ0t6K#i;MR0Qu]Ml $LIޥI";idqkޗotʔE U'/wx˭>) +AׯǖJi˲\g'Js%*w9srY2vя>8`zHke~4Bˎ1p (+T!B0PB ME42DB04@ !8u=cz*>-@L2d${B}9&ð,W>R.wA C|Ttq Dlz~c62~Vxs)|?3zKr_L6Pzeͣ3^#LpB X/QttYRb;EQ ES0rhe#q^)Y0|hUZyg*J*+p7 WGN;"嚏 uw{(BbAeAh}R LJSHJSE)"(*(JКh !h>h{Q3گe_W m铢=4}\iI/NL'kv4C o ցWm`l4HđH 'Ǵ҉Nulw~%9xW`%,>-c6,™ث;ɽ6haZM `^s 1ٓ*}PBT%g_a=Wʟ|{(泻+sy迆~_vr٥ _9w|A?x;v ^1l:`WGXF|dcUrT jw^CgQ1r `ۧQh5Ju^%j-yMo-H>>,,yGN]6!joĤֿDZZcy+h#?iX8(otQ?rňe!&&[%#@Icp v:[ \[9DW*biq)Y~ac.;gDoTKLFvgk/B_ 4ogR " U BB[!z @XN3Ġ YhЮtPup\-^!Nb5 b鍠@Z(hyʛC""JH#DhUwaP!d ADɥ4HHfA+U@Η'C1lRxo@d!v"H?p@mL$JB$# ,H!@5Y h! $Y i${*445IP0@EQ'DbANT3C1T[Г'Z`D D9$0>~_ǜ0j|"4lnt>ʈ~M!&ii!4ϸ?D}*Pa(eU0^8ͶE<(`よی}ե(9o[E#D΂r'ֈz%_>:Q\,SeW_}hZ[e52' !rCr9'b戕ӉKðЙ1PYN•~O,S%PW"%3iMuv΂EHٱؗ6k(?01}!HTb;.MNR>YPfSEUL_b˪I{ctUqçUSuǙ׵lR+׻7^ru{[ƿ&ߋ$)Bkހ| (w[Y9aU}ImӻF֞kcM *H9s֊PT a/3G c:`{Ŵm[ڊec nPΰEf3'?|՟]o-ϐP;MTqF4%HuqG5]x|>ϋe+ng|Wƫ˗ӑJ4 jϏ+_9RKH80!Eѥp/`3pU޺yZg֝C*4ZȈ !@ɸPw;pe2NYvjޙ: |Ip^>@pD4-ۣoSUf%AZwp|DTقz)5pSwm2=vn`xG-OP'E/&]i[c]wz1TOD_k8M@_X0vV fD(;:L4G;[J]m_C;(A{M{r.)PtHh3՚BT!^ɰZ|)")a+@wx<) ٙ(ߩ3tCC!"i] eB`(hSsoOεM.Γan|E_Ķo|fxĐzp$?_.Ei! *lw>%DXg5?L7jʦ3">wdmboQWE( b +\#k?6Co=VmC;eC(C7y.Y҈(Uw1޴WB-6~XÎMU*m7(u.)̞p!Бi] SH{~w;t<v!?Ty uTWmD=_[XXlTM!ZYlu4cfdBtCӷξyzHZB~y7-8M5od.F<]~|T뇾_R|AS|S*vܑ{<~NUD{oSp{pw>_C :DhV}U"<C;oǑDfNDf8wO+kjJ-8vq#U+ 3Z I~ް\Ŵҵ2zU^6+wn8$1>rdt=] Aǻ8z:ߜΖtCSdUBiwN^dp7ߞ:# Sd-UQN_\r9-7 Ɋ`!=Vb5DPI'(WzI߶TLB<t4b٬jBkNFx$ߵaæuGNO9%wo wä2}Zθ:2$?[߷|.GQT<:JN> $ۙQD@DMDTHQ(_n#")S}`~bG~4wȋSj?񺽨5/z~ &Q 8 $p?}|a$rbH>=EjQ= F{_s,9/w[ÕixTBܦir1u__Ooy\}I2^@P]%0fW`sr;;5Og~"8*x\yZm8g^FYԊ}eK;1!}/Sr'qI*O"\:f6f( khTAf݁aoZc5orTjR",_fo9r9)uTc-foSTt=f 7}sgYNgw"v)Tt:JK{26/֧S,0z&|i; BXM\)g.:z{("2Lǧ~2|3ukqtqOgˑh~u^/_9d樂;zz>ϫsD(O"Z)B[Auwg/;KDŠo׊O> k˾s}{yxKp{Iθ\c78l;Ƒkq7"^2ܛ֔^p%|Yn5&ICKv&_,'셓P*?0'*+t MIAM)ztVuu(%VA}.W^A |s=!HfH@,a섋\s-n))$PeS>ϤQ_5zVUFI~$c*μ С(6I\M ,fL]c%;'^Wc=o5l16Kb*޽o+|uG 95ʎɯ{&[x:\!F>?GcshZ1C m–iO oWNeHxÉ/7jyo9Ͻтt  `l(/lom T+g783:k}N[KR<#MGEJܒ $s^\1 }^%Tzg>>uz^0MJI}:t?V.䈆~wgnwn56]ZG ^Q>:/6}-lW:ȎYE}<[ulSrpHl}omxn:rq_2Ki+eN}[JB&q5]\`S,Ck>ӡMSZ֓434Usٕv_~}rOO0-Fp=ZI,귳gg?3+)8\b$j= 'Yn3Яd>i9ho]ZNL+%FR4@̈=&W3sc/9n.9yvNOQ{8匓_^#Ӿ^}-uv(Z)Vrr}}/MtyVOɆQi%ݨe^ټ?pœD*]aZW- _Yi>v84z_.3%)Gnq9KagμhJ Nā>}p~ln)}<-S{'˲^|w;k{>ʭ(ң m?Qyu5Nއ^[IKz~7Q+~(h_#LӒHUl3w֭틉uoSR|(>6>3_7>K?74dzn{z,K9$iaV?"jvOZ䡵܉ij RyJC o  DLHH @ Q *~C9 p?&8R=f+sw[|T&/};ϭCRH)z̗dr "H*`23u"R#;&D!zBdI!^R 4+ܼ F7(q(<!CK2+0hh$Пa=! O6<dPa )JE(d )hU!T( !D zC@'Ĉ!@) B(9@IAQȅҫH)OdD2mkK$D<$)#Mb <ʑ:S^HݚՉ hz(2Ji*D p9ԤSF" k_ɔGAf`WErgpvzah((Tj2@2TuLmmEH_`"?n16PT!R^@Q^AubY4dhiZ` Rh DЧ*PQB|4 ! ZZS#C/T|88~X$>rJrDQ;Ϯ:>b侒nS솁)n,!Bh>HiE]H=ؕ`'-$?;xg%sD J1[?U(fbRDb@jbAC0u*dat{@4 @cDW{ 9#x:9 5sΈ{:e ~MD {=|?S&kcmvS`Lr˵1擪9tP< mn]T,ѹI3^<==LIF0dtռVjvQ6>03u7v& F剌Ϧu-#§$-($/BD`XfiE=m&G$byjBB8c^;,m|Ƥ꽁&UB]x~uH0pD !B)̤ wMd+J2у>XRCm2O{/@*:'eEx9vq#\27BPMv0 trGҜD*.0\_LH1_*&g?΍d/ hJ +$@+Ac@䋡"WKh\Ⱥ  bF*6Z8vwH ILhWo#^&IW;~b)BUr nԑnt1(؍fqvҘ[D{UrAmbޏۭfĠb9؎0oyAkKN}{ٓpk/.봼3Dr~P"~?3LOf4Tg,?A!Tp% r{ObeӾӤn}uò$3KGzM:%l{/$l^ a2C;rJGQ|=_!7#=(xGAJ.O1`rlX]ڎSA/mF8s> R4}gm(pW]1olJ]%/;vp  `тRI %=\^ ˵ 22v "G'هOٻ`f*"rߎU2][$i/'pK[ѳr)ŷi>~O1"! ̓i0]8(&CH,t (ES~! P76 QϬ5.R>B tK v7c>{z?.vܱ>_B?fR93%B}n׎+%;^J!A*Vwcv[0# cO-+Fx( o@Rt5zn+` ªsVotlyNyNPA:|{O«P.eZ LP=w\\#"ŠUtXkwIo3 Ě j|4q;z\ߜ[Gі{URebh-"nE {NMYŲ~aL⪠[퇐Fb Ns RD̓$P!C!:K-u8NEs$E+ksWj:̒i$X "(rgɎ7Zޒ%V669;ȃtIuX. \AD]q]MkSL98jp@ lbiT*P=:#c6F9 AHbyCH̎RqmJsiFdĪmn!h5D l(?z]8Q$(1N Ԃ'/@ 3W GJ>=jnIQlRwk0Eױ&Mv_.j}P.̺OGWM2(g}x78*]=FB(e+H4Dc%eT%fh l]gͿpTTn꠾ߴj0"䌭uЂw>PN$:͈(O?vv$cn*2 bIߍ?H?bTBsE<$t ӄ?;%Dl̚~P,i`ffdb| k"t[ZFSU-NƊ:Gh :lcmJT* 5</Z1^tMNV:OA~9QQD>zr o( Kh94#p5׎H(ZVTxA^SElĄXTgQQ.]4$8x!뫛:OPk}v:+|1SuT7CNEl^~_a3^Ћlbi(SvSWNrAXϖ0^휽6UV)G~I@?_% 8tg_G/*呞;g7UNJRh(ލU1 H@E")CpBnIdEbFjK<SZt'<`Gs^^!XE6ywW ;HкyAo8iU rc8%KнqjB@z,d׿ϑl>ES,JA:O hBt]|l_ ?,+d  wx} 7tք2 2k//nqլ̑Pz9?Կ}fk>z755Wdq?֟0UO( 3aҾ.?F˪(iMs;•1ȓ-P`#$sQV4szmk} ֍vqt}g-)"6dٴQ8UtVbH/|MXCˢpzx; Hjۛ#y /ϳYw-2^9ܩǫۊ#cvmPhAI9,n$ B|3 Smh&'~ɖp474LH LH4R%<j21 TRKX!*Iv2iR6@j:7&|')QK&26"^vAԪ֜ߤpU[inDps2H$P34 `pgU&U7%SyYݚYm|Ol\cCd7,Nw WyMg%iMq\S3-'=zb`[Xm; lYP]p@`Kﺎڜ!* $F@HȒDpY%84 ؋H| XH0wL@Q0DS˚R{jdd.&+zL+Fd$,V@+=!J$ji[\7Bu ]qx4< \[7Zdƽ\#ώJ5 w|lL/7,1*X>2"3`-{ u$(Y3tA4LMЋS(V֓m'>Br -LƆ )C|5g@-ji*~7MWM5̆]dνu#:|F`֠ABk*̇7R1~"ݶ(dUB*ӵ1 2﫺w]z yfXTGwjꌈJIPwe+M}w;:$j`;1P TW9@QK'lj2V?Ьs=cu"_[W}XZsƭA Y d۽βI6".tA~s–-DޯP9mxG5vn.Iu@VUtpDFy vaD4ʨgJER%d=`q*SǞV~ܪGD-W7GQntAQU V˄9DKͷƣuIXtmWPtmw:DE"/s{/|'C߿Fuxs||dkng_"ϵ u;Ш2)&e*`E•*[oIYfE0|k|}]dd4`wԠ{fM;Q)K0:dr `"(崇HuJe"Ga{SQl0@GZ giߨ_3<%㨩Uklv%e4j!(O`>CED5"HE $>zwխHϣm^sl0g\񋗔 X@a{öVFw6G{9#494/lDv ?(ک`^BCw_Ui~?-K\U,Ȳ{~'kZJNֱ@Cfݿq=]~?Qa,#zlK$tIxDA d#!i!~?Ce]L\ TLNm62H ;"!t} %ܘXȖPzTVƁ>YGEЪ09r! <^g՘sppC;$.oCER pW $UQ"nמ_* "G 2>GTe/䵄6<uR4*mI6 kQYx!El- z$Qc꒾/0}<~m|Li6I |:wϺL9~-Ϣb&rh.vޣLwΛz\E 88z~Y. ~Oqё)IY]:g{SܴXXybjVoMIi|ǷIVJp;b"Kv=&e9T/)gSdM M6J1-g?pu,f#[BIQB 2AH:|q"/ON.I f~xv_D;'m@Np0 溁Ŵ|JѢx$gA#sNm4j@f}A'8?Cg_$4%ȍ]+;0菳Mq5ЂLϳA-_fU[#QUR?afbSنmD8(.xsZQEJB p٦tl(Nۄg$v/DDDDbSEnJdxhA˥I!\$!pB UQԝ/$$ ]@zPfnMdH<<; k6Ť2t2ZBZgRt<ʒP]^ 4n4.}|8"*i &J!+X?n ׬!eYK xyf"R:)Fl: 4fF2p͂ fɖ6@}AAbbzzgrė!$K~n{lvtHUvĺw*|Ca@Vq [I+$1 + z/RSx&ۀ)v5˞U(-a6 >R q*pR X {A{96#7-ZmLN*hQw;hZ!koM#ҎKA[?yj9x\D(lSZGluOL8>H[A-/\zN3)W͙;'-;{HЭ#^/|idy0$ R{#˫VD:(7Ag56hՆëQkAf+8Ay Ni Y z"~E*>颕NAQMU:Oc[滏oŇwρ4pL.ķT_#@h#F}lx]qjlG 7~8 GrWvd L,!Gw>]nդr^Y(v<|DyJXlbEgʡKg$Z8#pmjto=0Lխ%#Y;g WbQ/w]G02^ V|6fH 3ѷ ]Rƽ5 wwrZJg-fK)@_4EIT +qReSC炵B';e)Es2$/cy9ɇފεvȕ}PpiA/όq|̙S.hCc).qMQYL_'$џ~W>s/8+y㿓}SO̭[CNYF9K)H:λ+hc#oQe2Rb~OKY0GrN8p&MK՝$&npJi 꿧];tQ+t75 ~HQ^9AoD7ÔOhmY3zh#AAlg=l!1tgb;\S?I}oݳW'H;h>XGVdv{(*kVn[sT8ʆ%W8DVsM޺9ÃtF!vȧy3{1gƭXA"ZA᜶9c`3mz"!?D92@b3a ASSd`=[YФ/%9ED;N\Xh\sI'%ƏsNW?(E,P%5. ?I%dMvVў,c{׭tw/_L밎vHW6]̥>Yt:w29z+:JhZfq}Fq4OI2?.f!)N Z. Yyt֊%QzHu_Enf/}N{=9 U [ Rj¨vs Fjo6ּ]᯳b˘ p-+bw+c{ز%•chqx]ţFkxGܝa pvu׉B (IP)lxt7 NϘoỆggg eƁsEoebm[8vOxZL\&GkFwʼ-i}Qunaϖ"YfHQe8E鴩8tvb1m]C?5Hn.O yL?<#G>||mNYziW;\A͵l5pSnX veLLL~^C|//Pz xykGPM_ΈZL2oNAf;T]w;-J)ە0t,%60+.ÿDv.ЀK5DPz&0<ʢ퓘̡ WF';ۭGP}R`Q&@f%>d 4UQCQ$hPGޱ/kge[6غ BSC 0S.CATؖT$B@|Idz\_ cD2$%I@e~{B{a798[E=HC,M@\z̈H/E`qo}-O:* fZ,nH`=ap8%4#2 O;;h)->*V<$CCwUUEUS)LDM<48R,^zM%H[u!G9M ` GRMPDuqJHh(}yoChHǾo.+;wRx(R` đtjC=Ss,+=XQ}@1%6xu/uBqp$hPtD8%N( HOIJ 9xrwTo *y5=ր&U@`G=&;i}aV8%6q(+Hʐ'*R?iʊ}<0J$cM5 qs:tTty ʹ"1$|YeYeYe}%A(%o# UX2 +fuY3ϝM e^mR`iUH htU[N*# R%=~|qT&] #ǝ@ٸ77O|JB^#oePBKC΋QZEƞ^c2[ i"285w)B-] m Bl74̍cS\+-*QaW$H[7`A d\wín!M3q)%&ESPĄ0{ƗWA-j:)MxMcmGB ,0fukkc`("&6xFLOQ4 ;lU#?TO؅R '#lL@_x|<?{W{ V T 䬮 $c%a˽QI0TGTU{>-kF'7BD%CJ)_7i@5Alغ4z Cӗn  Og,o 68TLDkY>"}ꨉ!)8Q %Ժ:HYЬk6PT{AH- !J@=aN2 qDG11! b @pb8J`8vΡSQ(L  /B BJRB&&S*k P"wSD`Yծ =h 7q-CqH@ekZtʃmL`#; ;@ӱ?MwaŠL HJB*ĂH@hٱT&!LO\¹'s_oM(<ʉ 4w>rCԡ+ .H/mD(^!7&&2n;DdN /$'[oGJ{2A`OAIT֖<"oAy?]:V 'wa(zNw`(zN%I݀;='vU*!d/݃,]JxgiT{e|$ hm*DW]6pOۻ3/2I#\z331u%eʒI*8ܷwr8GWrݩRI%G$Uw %ܒI%ȤI*9*r\wlcmlprRI$c$.I$n;xe˼.컲:t!:px4 $qvYr97-ݕ6P}>q.{quhR[QӞt1u&12J+$4z0}.QTtxX'ONsDq% rTphsyr򣒣9QǍ7(f32%*8J͙k5;5D0n:([^]]$rTqPtU{2eTrJI!"%jh/2Iwr˙ݗwwweݕ+.H\]Ps]Q6z^~E@$m8^{xH>!oDX`'ptlM1@Ov]  Ca[R>$1`8.n2#U _(Q(BNJ B ǡ fxR8)Z&!bQ $}p8AU T, QTH- H QAT152$+ D,E LUQ5 #@DQSST4S04U LHP%2TBQABE:, BcR8R (@hGA "0kC!D!\ڠF*B@ 0 `Ui)X G aBD Ꝁ`&Fg7`@OBxrad8\HC>w֒+=Halt0 4`(" /0B21A(b0LBʨ(S XgcI _B| 3<8,)pӜAӎ.vHAQPSu9:ppt7IOޔ]8 *==xB>|x͘Q boQe+~)OA"yˆB*IB/t(bmXD9*EA8W3uUgQA~8~aטEAEK[=B x09cxhF} HӴ&(R݁e_pWmF>??3%.5@\ RB%HQvЊ A~/w &)T8`'`!J(j>O*?|ǰSIDnOi7~R8ø@,` t/dJTAܐ# ]XZ N@AQJ`BNYgi OH)T]j Is!HKRIdY` 'n3#݀qآ~U"  !)0@U~>"xGVdQt0GIP)(杳 3(LU!4L#NX~v$%! )K25lܴS''jozb(8"*%(X)!( BY `` ""X"F7@IaD,@)tDUPx(;3Qzlo*`j*!{USB!"*x"%?A${IS~G*"'pSw¢,ªx'0L +{ڞkɠ+f2#(@1R1;0`2&1Jxxn y ,$\@ƯWa$k  J?>b UM٦Ҩ,b{ #R`IS gz}'ccErޜڼ[ } _NQ$1,e[7'Q峄\U~'@:BaÒ^ӯ|iR9$QЀP؇E6}/ 3^iK)@ Rߺ(eCHKD 0BD^I_nb SB+ }cqǼ,&;5->(3 n/I4vȃ`D4BLG Or-H{`+HO|3 clz2$OZ>ЀC$ ]azn4̩$iQ>@`zzr =`'+q;!rfC{]ZkhZHt۔:H6 B~R!&4_ "˜'{%I{1~4ZuC3w?\huocC6k݋LjnH %` R (0@Y 1-NxZXfb#"T yS#D$q!# |RMޣw/ t tH <B cIΏh/ࢿ8#ws☏C P=} Hb. gȂ64*kx!bTr[}ߕ[lPBm͹W,c_0g.]\'%(/ifĿ.B#eaui0Qh/ 2ʷ*S(&]b2)G~W$+B\aAOl潾!DaA ~O M"!ߜNJ&h@䎐o1kwm|)O"=<P) 5=`)DT?iCLIo=Nb]JwC`I D&0`\B 4 $pK~P Hf, V6U$42n#nwqUG H?bH@H*U" BЁ~ i6;~SԶ9$ ,0õ]U.2o+4wrbP,`!0l=_}ze!A_~HO S O1w51,#eCw <1H@NJp c0'B~$ᱴaD=jD7@B{UߘhA3 F/leQK_(FJdr%7JM~>鈷W7lhAFM$ճs'1@~e`Eb,X2 0eQd4i3$;KTW}RN%oC6B/]셶y52PC_woQx[ζ$',>W oY^A?' `XgWoӷ/ *G Cl}85]"MjTS BP.}5H! B߄{zߣ>ȹ'zuQ;c.l3+XSQqںgѳ7ľ[Ϋl k}zm^za|3@A}8`3 UqO_f~睭'THG#(fts*#J bΠ)Dԉ#OӊW@kЀJozF-|dJ*s4FHGBl9]d=5UTDUU3EF]oT_icXm, 蝟 h:aV~q  Ӕǯ#`jEYGff__IqfׂM1=:/H9T@?X־_hQ ^$0W{ON.䁯!w\S't:(3P  PPБ + R.9 rG 2Sި@DA$ kEq <4BΦM@ pfhNYߓF8y/GihJLGKm qxkg* L.d3UdZeQg"m"|s[~>њe ϓO% T%xHAYW씷/ ݥ$ԇCH  )hN"EP0$q]$4 aĸ1ywwQ#֮ Um1_&ZeG,[wj=SlLz]Yh'DfJ%S>wq';6ѪO]u׎iଔ@`^ 8Z]항k[0)/f|8$qFoMDBfpH iSAur EH)DF8cdIY (8sFF\N'8RLIIu4p3eU]JS8{=^>xj.t5|܇~|AZsOőTW]sNx(ΰ]ooy;}u!կ|EL9%O+[ĢndJ-Leds.'NbOdB3wκ?V޷jL+uXqW9a2k%t{al |M$f=]H}j%Kl^G]c2@mǯN6Jioʗo;%oOm/yPkVCm;[/<7pːj#Om"5޲i?}*1H|z)0;cDOc'̾mk3io &Md$5"&Q nFlc'~UsNuqu/,CN,;Tņζ81dPh2(@ * .| U v}A~<>~sGrS(l C2"iRQl0^@ >:nHb+pv6 7C4Wt7:!Kh41= I2Mˆ!RГ* (]`Mn`>QErMCڐf; K.u˻IJ#D)_I`H DDȳA}WGJLC< lO!d.gj= eETUUDJDDp*vwMh ;'Vix#K#?zeZ# .hf'yUfQA; 9qP d]QE_/:"-Ar*VSA6 P"Qv$q&I`mK,EX0k'2sӺFyUN65+~E_cwn]PG-kִhӖFO9 ]>YW~ BWui}BxW(:-՗HݎaFd T1%ATe:/y+[,AnB l*G2 +C ̣Ǟ#*ScH<|XLMkiK75NT/ZwWcf&D~*wG#!0 Ȓ^aǃ`~l57@QE>dQTh1 AOUhe˫e)\v.F]˹qbr+[2lN[.Ev^ECNROF36cF(tϭS# SEzW3ѩSeCACG,M(W\`eHѠ*JZh%h>Ě ̺Z(o>.p`݄Q'Pw]dhWqCi !Zw%8ZAcsR-ITdJҴ}_ZMH*;T V!VL6h=E*M#;h#pD8:Ki-|n’ Kh 4\{?rEhI2,>b}5ʱXHgMogRyh. :ZR6/'LfB1(i/zNP8Ѧf!!$ h`Ji J9 I!WQJHB/? @E$ b(aI@31#釮'F$@/'":!U(Rt/ڈHL3u91@p`ΡDCpԑ5ahx!1; PD 돤>@*SH` $1JQ1h* .~. !s찰O(pTRD,pN@`( !G 4LT( Q%t|RJ Pf^MBBLlVFd"VPXaF!Eh !ڒ;$MnJj(B"h) A92Ib!`B  SW}7ӎQ,w8+$dG_'[kcGlRAE=|xmzBt~u{֨*u^%3?\Чөp ?TWХ_5K!ݡRLu4RnPcA,lՖ4PPN;]=JRh0@b)Rl)3Dp.!*s`>G_HhUꞌ"w jMm`߽ͧWQb<P ^ Sh ;:)*wh G<X{ë7 Q/r ЏȀ~Nb余9y3#K''Ch( ՐBdV VC@'| P)A4DiCJiJ!*. *\1 @f(q4{qMiHIJ2, 90P:'6k{ )"Or G[!i*}.@; ٔ"^YT:7r4'O舔PNIDH#!$FTd/j|]mE dCQP}|DFIb`4e ?hof7>Anh ;O6b!ĝ~chF# !i<9!kѐ?U<.P`iH }ޜ0}G}ϔK9PRP/9?^_)(Tώ/]B42),)&f a9aA`hOF :"{@_:;`yU@RJlZjC Oht׏i$XG1ȏܾlqL J7/F`N@+[rc+E:;`IɳEAPi/kF"*r;OuoaTbq`I/0CI%ɨ СA(~W%?r 4,QHҌ "UJT @K A 1(̠~%쀵?gft*D?,!t C+H:`@BD,"*i # p4 HL4? AL@*$ B!$ A$$MR)q:ax4*Z oALY(ܺR:)jcg,ګ)dٹ&4%g*r $ %|wIcs g巏EBQ4{p]BvniS~hNySޱ #Ҿ'>vlԻIg0O'_bG}}OXˢӁ]븗Dӄa%E&;sAS(@{֖K6aeKv e$`ub yšZRdd"(WGcD2`1O@VB8~Y>݇$o`EhLkqificDf[ t ,EHU`4G (CUw*`1aJ&UQ}C5R~G`&X*)3+?gZnP~Mb1PXDDOAs'7ũ2eX^skelIa plKDf4"~"t@r~GM>~A"@< z$ʐ! B<)dJPH.ؠb`CS>`d\w$ÿ {Gm quSBP$Ok!@lZS k@qC $-&`?Ot3(D*ϽSĎ5NԘH*A}h"Ca&&@BI)L~~s|:> |6n("ULQJV  4AHPTHĄE3 )0 @DR"Ȱ,@I %)J +%a@ Z컚H!a!Hb4- (t0!rӊb'دk("dB{ǵ:9@H\W.㒀_K]B"2eE gU֞f")*ʩ* @6ѱj.p[P ("+4]Q)Qۡߏ<cHID{cHgA} !%=@#"W!!ט'@Ro⏁DɰhB T8|BJ""T4ASK%JI4JMDLR0q'D!!0m,HTJDHʄw:Ws *#@r}hD?Ȉm5 vZn."HS@$^&%! r0 0{OhiP~:$YQ<o١R}>5¶ѪT4n<;o}`T!%` )%a$7& ?*RezB%R0H 8I i1 R($?0!ADS0 "v[ (M"ie$b 0A0@ {KEwopqC?-eO4 R HM h !FQ=uN{s<>!M^Ҟ`C D*{cA7vr5T(yz3;\Ń2!E>M5컧8 808CGDG|l<"D8Ŭ<_e8Bei`#qg.:%fZ獺 rnu $h q-勸]tA!{kǃ'LfESD2xt{Ʒ+ġa9gII=xa4Q bGx> '4^ D&[yZOKn%<c\4# 䇱(i^UэS<,{Le`<Fɡ<$M %r]{]z.q]eǭZpSB.88dU@BE^ /V}>G@ xp?E4Qq^ү8E͆6ӽTҘ2Jj|m[MB^Ff`&vWt"z~I;{:;.M5EW|WkYMCOs=RE 적c C$(eµ$fD؈cLOzͻRdxgOßF!~/EuC4}SF}71*YU|o}B?x4H9Ǵ~ϴ<IQn?Xoz#>&'uaqCD0! PH J@!*(x/_}FH>U8EZ-̯&ik1_<|hU;d9~ҡzH3Y@&GNXjn]Q6$?]pFf?lIydVЛ3SQ3TVE{xψěZ""!bi $ @GFK;I\wQ8 ޕIN~q|ă۞tSHƭ5E>N.,:u5Emhw ⫫Ʈ躖ܫYǒo2u{ÝL̡gPֈB醟ŗ)qヰhw O+Md(i!UUAUH*,:9ꖇ-̔x8ItG_~H+ ]זk{jS@TlzC^mӌ}6UeUҫ6>dl m$ƲD i#00HCTSQZޞt;צ8·NXBvA99D罾vn=RZ0UX P =SATU4\ g :`hZ1詳0: 4;9H߇'=N9( clRS̡lquC*޺N;N' bj*E10ܖRق79;67]\.tiIR8ăzF Am.κ(4BD68]kc<@&m:i:;hStF蔢<0=Y># !#g.5L! 5T>36+B^ƬA4wF7PbkjCoIӣERb 0but9f٘+蜂yM#J"f7n3y kgi:e֑l*fMh֙Ԓr*qTvA1 I ;؅Xgh]9q5aЂ4nvH3L4h[#*j BCkBՠ^r# noh4hQHL٩-RuRc߉,#Ih.Ȕ(:=m"#Itv*| -$f67`D*(؀+Qߤ_~X'NtJz}@20sa&S*ZV19`2o꺶^i[ r_"4Wq^ <0djh׽zTR{os╌ڣĻ7 ;9֙bJT|c2ኣhiNhm,1jhZ@)t Yk |Qejnsy z`5_t^ PC* 1dwSL`T"4=*k54(#DhǘuM`tzǩ0ü3#اF譍%NM"!6=V1+=E kDb.Pp8k˱Fou е|Q (c 5ؓ̔@b`”]H6ѝ#+YT8-:*= v *QkH^8Qnmo%ֵ=:M7VK^ 3*ܗ *dwV̶pc}u5[mfl C!IMwxo~aĀi)3ST59h1!UqA(-2 ih(Vӧ9YTgI\%53`sރ+ȶ7RX0h(锡lIAu&,C% R:\0(烾l;(.+\c趷ffcT1b~QW8Ut;8]uBhmV=-y*Sŏ % Qcm|R m:sJjӯ6wE%Cuu *UeL2B Rix%kiBJ 8m5Ut +NEW U&)-8Ì$%SlErQHrˮEfxOc̮@ĝ:j5'&L.,Ezo<9_=z<%4@kUa[yLp qL .IT3)0 `= 5z%x8+-BUy<Ʒ3S8t=4-ZY?Z6ֳvpwqNkŠ^5h|w\t$/ Ip1"ڤj7ݣD|\=tTC;Ec'n+g ]ײC0jƝ .%ɽrČfE.e 5<^BlG!*xJIsS)A?{F^|Q] -)Wņ2e1Aǘ/c0{bKDrUė` tu|</o{Ʃgлcb ZSQ %:H6-^ @]uKuwCA ˁ9!+.ёB *RB򶏄$zKV-qJ$nl` $ }(܏uS4o_HhӁs|o]w5w ]q|{(jZiZǮǁ^iw[0:sPq1h"F o 95MDdv wfr!q@ّ5initHH AReYPB`EP:n¦i wo=?(?a>O3Ѩ+Pu+bIlbZT^פ4S2.d=^&Bq ϸһ!C'.Нaī: SJŦ+'w}-t-7yM be#ʅRAu"2DWZk];esS̠D<-a;b(,(N;pU33ώЃgG; xu2TjJF /[]i+i0Eb% 561R!TD">tQ)"B C `N2 /u2oC)(}OөbJ)%$|L*J"$H4 bOH<@SA Ǘ ;Sa~Is?_쥿{ٝ&52F~8^)U1{$|>V`DX kFaGHևTT7U8'TpB@w4Cc~JVDWo&gQ^Sw*jICkZϗ Y\V 2C6[Ԫla9b|~{!2hg)??d?-݊V\B x)r1 dj"HJv H i! Pb$Д0A;zOJD0 gvJQ@ K?XEYamCÓ{&73aD W og~y/:*JB $bF 0{@c400K ȃ4@ >t @|LLB8S!)= J!PqfISWG* (t~T"" Hq ]z_ oݤX3Qr)$l&AG\Ա q0"Z V;~&޴b/CRZ-CȡA`A1&/"cF6i"qǞ:lɲ񀚕i0ۤ;9L+EugT0 PDB<|ߕt: @ у{@r @y?dFzZGvPjCjpJL1 XBZELag^NRHquQk+OΏy)tw]O؏cPv_U^^V!?IMm" -&M(F5DBU1,v[a,*o6fjwو҂ h0%LOZ&4"l;I|uw?>ab!!p(<_[^΍wE,o2ǕH(CA;Jow8 ̇ϜCTr3mۚ m4Q{|F~f';B) >2iO=p"00(ly|13MUQ6a5k AR>1y"86BôES{ Ap x`bXRF# f "xAA&byl\1}EL2PA1A4% 4 HDms$&BR!Q  1! (=#IyO2E 6w3l-oe'X+**Nٍ!g'[f}v59Hy4&R;;u.i*M@&jCdU͍jl=۸:&p~2$ % Hlj*Y54PN6) ,̺-f7=jj+k*ٕvfaDf  *DчXf~;pt7JC[M>3Y½筆Jh5(zʀt3ZS{YF]FܳQ)o!nܮp'Hb{f}QCҰQlEo7(,UU!\m#RTkUa. kWTS»wZ) 9z` (1ױ)!Q0 ` aA E +AE43'MIPQL*5kp)BF>!A%$$V!R$()B"  )`fZ%*"(RRb(!bBq3)) ~< eÏ$ r}Am<:U_l#@PB o,;!r$OO9#ˍ``q5 * 7wHE*Тȝ"öbA<_2zppDDI;<=+T4]pAMTA4HI2xedͿhvmDe" & A@FR$6ߏ@%&{d~8u!x䄤$)cǪiUA{ ~1G߁D8~+^RCAWtv`hSHC0X~CD)$" HhyWΞ ?H&FQIrgJDysBG` |"ϞͽA ""c\8Htc0T0]a4 !uPDP̩B|Ks$@H ]!Yq}8 ;~ =1!fIh0H/OZ E;4D֡) &#b`\"óB"BWg%3BQQȇOw<@('X&SJ$H$)I03A6#* (,T+W7Q꓆|(S5 'HCJH9QIH8 8r(&j-e:T t_94bKBB6'9:W*0"N0hcM+ =_UO0@: :*THaG%B swIR!x4," ,?!GPïz^}< (?lw9h1À?^HrWگ~z(KL叝A});g){&ftLo/?]:Q)_-6PݎFӖ\AÛQDDbv]<\&4#G0EilAAhB1kU-[xKD3zսUH?l &[<€rd<=~4{ >)Wo'#K:;y"n=K %,X%2)ZNݬPؗ5`N\*!2<~@QϬ~HPzS9P33Qty*%u!Bj'01Υt&I.5 hR])Œ à.K$ riWhs2q - f]zA >Hs V$y"_&LR JR&ԘH]J 4(iD(PoV"( ;zR^%( svɩ: I \“d2C)" #XDӰHĢ+)qD/o!B trU@7*" һ ҀP0&KB!H'8D+> 2*1fH  :u RO^-tU"*B1P J  J/jH8@ P "B 3Rh4SAĢdMDM (@|y <|7yOQ4a HH@$(Z: }B;:+ PQS tj06Z C`:aCh0"Z=S/*zdh Y%|1|a]=M>Nf=P*P=SJ&*29g8(`=>A0W@0'w@PCHb h^H&a(hUh1D%B4,< 8$j ]}ofPJGW(2ts8%Hp$SJWrSL+C!ʇE_\mdHBQ✞à/}!'k8ru ݔS47}8"!#`rG.3P_T-iQU%+R RFl It#B,+ 0@'I(0}jxA*LCRSٛò'"H`b(MD"r XZ%(F ESB'Z'Iu. $x@ ȉӀIH0´y8&P?O;/߳_~I/B ?Sa/w)3s(R% P(ĨHA LP2@BPID BȄ,0LT (D*3&!1#B!@D @R"BPH$(NHDI5D@!B!B * #J J&1 !H @! "B*$@4H2 (L%(@JLd$ߔTO㈁$OJ?ucمvCSXDg\š FxygBЍR+ CJ P@RP4S"H%A"L($lv` Hň PM BA!2BTdex7'aĿ$+S~*~DADQ%PQA$-$T$4$5!LTE(@PR(P M/u*iv"bJX0CR?Ѥw'qdCh"͟6U5 4Љ|y\y OoCc'aeax8xs'#jm'S@̐0!% E Q@0 ?m§=GC₇>;B?&hCa_A'CcNy,`cS.Ί/uDU$s xs(ȇZ@P"QCBRBzA`xy`ha#Oi{Ö 2PO}qa?jՇ2U!SkyvLDC>~ʇRB!8^ j~!lsc*<voI ^6(g *3UJf([`iDC's}WOh& uҢfb0'lsdJzA6(q#X%br7r`ƳDG잲R&9>q̀ihZ 4%):)CC7 !JCM獼ʁOv _]P~z$~ a/xD[ cV!Sǟxz(z(1`ORM7&tgB 4N}z8/g?h*X%D֯KnU$ A %E*ʡHn &+s\ܒ) @+m)$'M{PZ.G}#:P2oȕP䢈25.yvX`.Rz^hh)*aLuJa' jlxխENJ2鲰:9,TlaUSIr/4nV-˭Oί ixGu׹c(`,z*ް0JpW>;| ^}< ˵9;:3 `  }j) TJzu%@eQyH$8kOx@c`bIC80@ 8B|O Gn8^<-*UYf`P4%Tzʾq"0_')?\{H@&B *:PM@ DS bASE^O̻ $PgVg8O T &H$@C{he&U  !*j"PЂ'aOp%ܟGӣG͗i(?!OBEQ-"  vvA0@R`{=pf)Xu*bxĆzLJB#=50(?Cy+r_ISn'F&4]H&B'2'0;?U (8K13׀)Dt+_<"hC#~/`A TO$G}R/@U8{"+P_5  .ĞSP>i Cx:ߜnf8ALFN!#!ˢ Sa#Ɣp1iɉ,@DBP}(D$BT]7L}?)$ h\aUAp뉼#S{a80`pg9xL>?^ĭ1ݻ-ywrb8kI y 2t_~Zy)yB?Gu@`}cĩR!yI%9 RNr=s43v>i+!+y$^N; C6/O gjud3`oڋ60+`l{j4i6&,Mq[pSP)!>x\# 2/Zm-pXyίhƫI5Um;0 E؁g@0p=ebr%Bh(jP?63B=|hP";_湕"}v^|4yF kEH٪Dۢ1v9FU[ , h(߂ .XŒ܀Ѻ;l=xpt!JS"8COGa=臸91]_:F&J V "&@B!!L@A%B HJ A E'II2E  P10E ʁL@ & HH!(FPR*($&XiA"PhF.G%NBf}OZLIBCg|P+7}0_P*BBO ́TA2S@P%!P1,?$ hTDJԉ!JDP@Ą|2Q(BZ XH CjU ed"_g߽WԨ8= >, %~>PW柵"Ѓ`T FXB (i"bE!F*4q u6!2R$N-F igY"/㎙B%K玍`6l}X}#C*mƽ/0LkJ',P"  %<%jx 3HnP잕̐NĕWSb."Q*DDE30< .Ї? 'l"A@ARJ`͊%15$TS ,SH pXTWPWJ"TX\t@<`1QΆ+(*(|m1SA-$4B a9)YP ,c!Qܧ M Tcb6% @BNj,BU|(Gl'MM@KC Hmb. [dHXZgBR~#q82E 0o@Nd!|9 ^!Xw> *6S0**T0HДUP$R 4@P D6 3'D6I~|)C `vHXsOhxPT2PP^, {$_8Ls0PTA;`ENQ䄉J=dz &|1[BL{:x17#N TҾ0CM(x0xn>G&J/ -E{j"))JF .A3Ht׈^92@7b`?=lq D%(ʗ#m6& j(`|J ΥYe;( i=I+AJa@C C$ު." _ū@$$U߸DBAa@`hPhs&}Q؆ҟ`pOQ5ffy@͑9GA]ߨ"&Sx΂B%!޿O @l}7OVg[)y"*t`@%K6 Bnj $'2.Q(YBn:WG}z0#Γүzt8犙 BSxh3kj$a .֨tڡ!@ O *9$'~ BQ؈xbbW('T&!KIBQiUdf $&LLyJB I9  7% gy>rzJ_q''"\#pyQHN#2@PhL@\0D\U D?U8IBR4 J*?PԪJדk~;'N!/G' ܅8 ,Pj/~'#Jq'AnuM$ekJʃ~G^dBeF帄+Rȕr[|=ILތ)$!!q5Cof ,tCT0ҟ492Pצ@peA FmɌ I(p:J~ݔA ]h! $1QQk1`Nc' GQ GH0+J@]ʄ +"/@~`zty/~Is˪E0mΤ#ejB2AV3* $S)X@Gw\:஡x3 fN10+lYbL@aEZhwH2 {M(7|"g%E>s@0zAAQ_7{LAܠxVN< f4 Zrae &N`?(FqXK[>;8g[b(}q';C~p!^ =3M QKhg nCvф&lEh $ ZDPHi(B(f'}*8Cmj&5JA#PL00 䵣(&(K͝“5b˚&@4epALeÌbOB!X("X ("@fTJBEi*"&$O$CKJҡDUUDUTTQASU5 U %PE IR\\O.0h`$JҞv|`~TOR"0P dmz0@c! d\hmz9r0D! )i@ 'hkݘ}ws#МơIòE?ඇk&FV"ZMkqBLbbkpDTЩb̡İT.M rՎ$ԈIYVsIg[e|`c=uoM C{h&>w6C64'셡̤@LhѻN u`I't)2cα@nqdh߀Mp,/ x?Ӈu ˬykpbw HM D(3KçQtHG7 uxsS8yg @hABvN  H*DnN )@E|d>xuaD>].F |3oS3Br!`X8ă#C '=`H>CvGbuR N)H|s1TX.q]*i:0!$5] R IH9@ R!B~hC\y@*D3j$l3ZTvO.ߧ绘..UO': Bz^&:'~g>/pN[ AqwesIF#ĀNJB{%!A:1T@x#!`0qO~;z!>1N \@U>V*RSSTtZm4;no j)1ۧ*eY{;|<<%8!o;Dv_'YCwwv0DL:PhUZ@^0 .p0E[T64 "ʃJhh:ME)41 @9H1_EY|A" 'pdJÊc&aXJW1Rdq<E4 +?!-}3uUH!G#  'BF46pM4C'CR--~e߄y=O<%pqE&80b9ŴVԱPDLd EdQ5i ?{Li5Ec =ZstT2e?/Cz@t&//1N)өH-IN>>B(m.'SD/FǗǝf5 "v8\e], رTMb7|qY߄z~] J\X. d{ऌ(i"3NȽ @8~.G-%1A"ĕC!$DCTDSPQz<1LHʇ_tTkLFrBH,%<\`"4:0Q8SB= q儒|9d22}Tu%UU U %T# \Ӏ ڠ"JT(@S{15!,J8*='|3 0 | 7>5~H5L6{wϤBAJMC`0)dIad)UI(i@`@J,%BC{OSZ L+aQ 氹eD[P؁$B􉒗uiq%'#G RS` ̶q]xB& K>I #>8hy'ȃ{+28 ax -n~]$'d{ҖXM[D` }TG@@PI(X* DF$Ȏ$|pΠJ1@P+c>?I%s:&N_Sa4K9c.c!Oj?'ݏ^l7UPTT3H]C|Rc&E@xY*O @ׄS88@qa0&}?>2# Ҡyā@#C?ǎCHHt} x4PPJi_ ~$zRr@)ić`~L8HsP霥r !$|pC H(0@E l5'cl6lZ6|7C ef82_4_TCINa sz;*gA(Jy`!QyF2 z:D6rV VA쑽t1YXclrGY|:%>PP=T؟re89:-ʿ1eemHxal54܅찀qЄu s?O->@7y"pyḮ(/}bD+(b19C?`7"C/;)UdPiBQ"I*(>C\ }0"bHHMDא.@saܳC̒W>қ0NM+}ˤ>OI ttל AN8,v^cOT<b"'ںȟi9 xJ$@"F R)`Êd$@3R_1t(`dXJXGD B)CH)DQ E DBĭ"5T,4b4+N(/L?>cʞB??BBQ@`ENA(()~mԘL# U74ȆtqD(-%DLHQ_bC78>l!#}i}P{xkB Ú!I sg "$)諸r'|\ 2\k1KiT0LQDQ3NlI{?fPU<8}ny<>1`)ad&dБr$n=̈h D!䔢s?'?3N`b^0R :b~Тz}Cp>A\~~>? "XK&ZuH hP8S!_@Yc*ar/oR΂}3 KIJ h ˼x薋||_,t OcJg.p#x*VZw'(TC&N } CPrd(%lNl<5bsFjM=b) ysffsA uDOg~o]@!*0kGAvQ1i6 RCOܴOp4pka^.r-' wv$Gh}'O5B#[&#?BTU@S&lֹ~(ywD!xII=SA)h_&U r 9w܋U8 2}ʇA?C=aT8q.#,N:V/JHc>@}X0ČPDo7b BT`S4I脠(!}EAR*{FWD:HtU: !4Bӝp*# NI<"Y<8#_`Q)^HlHn P4+AljII4b*1A6 hd{GF }aџǎ2W["< R#ÅP;sW JR Q!/eD/5 &D#UK=Г E(?)UU_'YW=dČCI0 Or~0;4(I%FJD'I))@vs4Kp1r8A ]^7ϟok<BA@5 $aJf` "h iZ@IRUQoܦ"8E `l A2b' |fJO,$@r0DDP P4Д%0T2ACAX;w9 Y7d$V % N! ED" &"ja_\ pTAH$(ܽ6'+BS 5CPS*jKDE  \+D4D@40J,P9P Q'0Ԓ>8:(X fh"*bfo33 DDD4 Ð4P R%RT@2(P9(iX+hgE$$ B*iHeJal!E PD S@ą$AQ5 ,A, EqB,ݦ%eR4)m;eh&Ba Bh &JfٕCM.% uEA\`#oέ*hMCbHG X"E$y D8Ȫo!,)]LDN\ d%|<$iVPrppCP/N$E.tBUSd#"D.9n4T,y~B!CJl U6&"` ҡ.X( tpB-ȩpɠҧ* 68mQmD?4̼͟Bjz('N~@^U!Ty!A<_i"C ~#d pxuN aQs8IG8Δ$pGIr:Ƀ_7o)ORw#1zvͣ'6±k!V.TPQn =: ˎIf*Y5lExx% 0D`23e=jޡ13/Y2a.h***UΔ(abIS}dga~I?Tʈ{l^2JIoaH!e7IDE.ULgLQJ1ED I?#pm2̸pJlȆ ,!Bf5!Q! vj"N^#x}f\%(@?D>&xs\ 저+KD{懸ϟ@qOނ8)5CBJ|Xd`*CX$F$!J>GLJ~_4 ^~(4΀iC:(H~M=qط_Cʢ_RӡY9lS W砱5mX~-+Tٿ ُwőe㝚L؆xP?ns~\ k A٘C JpӠ5 ӭc')C!;B*pB, / }/ΚH WJ;J |3@Ho"(<_2UMMt!lʄ!B#PDcqXf=PT~3HLzxġ5* ʟ}~Q 7?p\(G 8 B!(PP! ኻBUN%OQ 9!!AH7+H-PUS!,,*B H(vH@.­7y> -"HLj QQHAD`DC'%J<@N8?H>YMaqAK+$7(QG􂒇@RP|lU9Qd}DGa)Xޱ0^Ad&L‘!, (ĉJĊ L(CAq D6D@ rBFOc8Î^(v @iq&.rEŌt;OzDx6x'᷑D | Y'ۏxBҩ3 XۛtR-\=8e΂8$P6SaSŤ69_):kk=ZF"u/&2/#ΣfO(W׉q*k8+Ě-ٔf)*! THqP#U3eql62][<"MaTggUEg;2WvS@6I4 BM(~{=NjR/J`;D cn}٭/Z9ag[#*C}=fHe#-Խ^걫e]jVVE cur\/ j{X|W_k)FqEB~h8p h| =~3-a\,#.0M^}}ѷI:~22h ,ˆvܵ2){k:wy*̒zsYpM|\V/8F[gCq)4NQ }U/nIzg`/PImF|ߚ_oI&+)W&w~H (-U]J55\׍ \|BhV+):5@'C@.߽:TfZD{g 0h+-\“2aM Z^2 ̡Pն<QmmA|t쇜/=0zvU*Ux "IvCBhjF\*Vf(ڤUm ^މC9U9)"S>#n 1P4qWL3 eCyCIVɅczPz}}c};6Ou*üYBJw hr ATA\I.]1Sph]4Nax⼃p5@MP5%LCfp"ރqQ T•lFwim(Jf:-U׮P0޸l*Q`ǢZc;"Ѓ1Vp -2l~ 6zőRЬf,c,kMU4GAwCڸy4Ҵѳ܌İKE\]W$T+=*]:PXwK d۫qG-ONRijn72'OzY5ClO'|caW 6Ē$ Љv3F*MZ$E 5LThY7Ši yUFl)K&0"s@hw8p1o a! $  >Ef`nh8AĄ"B1ZIDK aF)|N_'6kGwQ FQhTVU 85ÿ?whp,K'ŝXn߫yC/5˒{R!xG0dB2.| ?8Aqy=<:vfϥ5JZ63ч8qw@sd%TBVS}ZdcBA8Kpyx:$ P0 0ioFiްe" +򉲽 @0JP!2% HMMETKDEHTS)E%PHDDE- !, 5SDA*L"DP,4Q,@)(L B L%RJJHL#@M IBU%T4 q N~KVv\?S%[Z=2hB}S,L@ <쌅7uy r|a{HXHw(aE ԫ1хPcP==p) dCYCp}.(9Oqev:imGy08<UEA!׾!Ne{X3 :_ٗ\)3.ͺ0 #|(o4֩!()БNs0{efq̛ӔȇDOR}IS,NӪD$2zJf+) 8:iCt/9,R>UD'!:*\( ޼/ qZ/Dwn7(fw=~f#"Hr HR9(61z&G5_~ŭ_QKf,q,oֿ2WG Pp!F=PLgZ*>(^V3R$e (aJ/$>$AK iHDHPDCA,@TP+, P50IR0@** #!H?T4I>[IWBdBs k! 454Eڒ0=B6X:r "KbPBK|XU*q&!2O3~=DŽ ׁ5"|8!V^W2BA gY`Mu!tU`) /2:SHfXjt)&tB"y/7U](Q  NdSwD?^O|"T]2r RQt12KH!yT<R?5QQ5SDL.h3r"Shh{"Pf)ϗq1:OE(tr`Q 7PHH50OJd<|`ALMMAWG12b3O~. 懅R;7T *N':mnRID*fsS67<1]n Kٯ=;琭 ƹ"է/yfimk:5ɺOG8 D9xA98*ةohA*ôd\EQD6ê+k}vjl)t:tXk^7@ڼV"Zh$L[Ȣ.,&^K^! p-+NwL,ѥboSacUJR8ԲY+8[IS Bm l!\͝RKαBT5XUʿ/PZ02DDtGAfZUKS1t ŝ_,gA" PGNch9JĔ)$λF^(z*hOk[㢸ĻhE15ObX" x5A|KJĎ/ZYV6p`hlM,`ZFrR ,-rYw;w֥`dm6Pi05UtF;(m2J!Vv4ުαᱼꬩQ ڐP2xeӫU;b} $5ƨ@ۤhM)8Ƒb%5txpIĪv][RFl7=:0ULV]B=!̉Íxi0j;''Pj딚kWյ6OtﱁY:gp6 s G &qQ57Y䰒wayIO LX) dTflXׁq%T ( [RPh;aW!|qh!qx!G8p4w$&ۏf %c{=ǛB@PR;dҘ$oXOqϊbm'ow`3 Q̭Ui0{uf dJ"؉5HlI [v4ZL9#tai>BT1!gԊQDC@5C CtлO:SMv Bj+puD)#ݲe` :@EqDń]liOdDp|d_#"x;zA("*鰈`9C7{A{^Z.p|?G`2""X%#CdhZl 0)@$P@"@b(PbO Rap{ݼ^㜲y7݊uL daic# D$ 変n'=.C/\ԊD/1@AAGeL[^H@Aq,4 )hZ4+C8u4$K^G1nK@rh%r`T3ǖ<Fɉ.qBz!'q(02SDҜ(|+"^{tQ_nEl &c~i5Vk1Bh\]zamSl1:Qs!,ʷm ]A墛;0IRTPSQы rIO{;8CL*xf"CNX`X* !jCzSLWt;&D҇@|"zhhARO vS<JLv]#k7M,J@?8PU1 rdN$tzc D%N(*jfMxLl6p'Y"*""Y;v( ;FpYv bS]pb߉c>ND{"=qht$ʖڧ&H6O\'|65Jul4f&zqARv;wAR\E>T%Ai>ϧCdWBrP+JA4)NRr MB* C e )Aˊ# }& @_HH>x:y@ zx%MS=$EID,C3j*9"a@rpva{L9 SuF ($ Ctfh9I)p~0džvPɠi&`~t oŷ$ÀRvFbh>24i)} |TQ{|Ip: h%6DW&0bz4T mTI$FLkJYHA#{!(y)@=dWڊ4&!@iDi>2vS2r,J13"0Ir!BA^Q*r! C@J"q C紈pIحlؐas@V EfE )aB*`:ه0}zY 0A2SJ(*e >dt @2)cxp6Š/׺;$W) cvv2eFo[ E6e2!=7Q1eQ%h3InoF鵺W V]luE"<@bQDh~(($ A5D@%#AILLJJ 4ā+ {%@۷'QN*qք`:X NCKC؈?ɑ߸,7@ICA+U*;or!/J<ܹʱ4hU_ D"AƐ*#?}LB|o:dJ?{G@n=H|`YG|羾gx`'l5?6uT_j-YTh ˪E^wݺ=P ҨrDNFE=,9(#LB(& @!REIB/DU@Ԣ_&>c=ϻ8OZ"[E4O03stuܧ`В?QDME hfAOڒjbJҡ)tD\54D1稝{yQ Ќ}.!۽¹+l_櫚q;QL(X(],cq6t!~ Y0p8L>2 |A3$ JVH4$ @2uKitB_t0G(dU"53hb@r(8@ ?li((i*YR|}Mh 7 aJ6'Qz! R (K&Ksk?fO " $/D3ԈG>!ONF78SR~v2 u4ym Si ZFP 8QGW~;?>=e0ᐥmsd`F)BA DEe*d  EO| rJ=>Ъ+Q_b8pu8t"i CV DH$IP {%2G_&T=ɫԔ"#3Ә胋M#dѲQ{Bxyb;)'K9@݀v E"R@BI>Q$VL-eq`I6 z4E1ϔѤZN8Z( `& 67wvfi'!N "8za"N "i!?p[O> yffLVM=.-mTl?:ctQpR<`ReTD@&"*"֨j**hiB4]y1bjQ0@%plE)h2?8 ɸCI3/nC5LÜ-m8T -r`#K>4R!@i)%<=2|Q{cB'BwWӽUN;)] vSHЭ PS@Gpw#ڗ?΅*É8*Wv&0g mpIvpl1z7UZ#(*.Pf[$Z;3;EoѾ nm"Ѓlv7bj!S-r#9)C, v /0K#B5 EGB5npRg-Ttpc8l 4 38O7Df|dִAGB^HtRO$ N<Gy yLDJqp#+4Mu+0NZ#L j5;!oqd X4ho0٤m1b``S`i!0eX6PM/F2 yENZaوA*:A "X6XHT(|RAs!Nc>'?RZQb!!']wzaj zn1I3!he •DDL*D%4ER)=` 3(I'|ܑr E, JXl#$lA~Q,KHBQ~ ̻m=/{痽ᑾ$>mOϠ黾.n%M󶛷_L`h[e}Ѷtl@J@ >uWo{o\HUۺro{޼7u-]o'续Ҽ%lv2˻6$UEWT;j!P@ dzY)hԪBI@).ݹRVROv*bHl({2UuJHU(R$PBݸUuv J{^}^ OQ4WY *"wtӮt>t@HEte=B}S({>ml;ggƺ+7gcBE\u\z{ \mAIlCH}>+ݽVZqPύY@u]o}!{ }}z(ro'Y*kʮ/]0d@%:{A{SVmaAFgm)$Q޻F@O`) oCQem0$n8{:{fG_k`nɮ;1mo|}o)s{0L{VCn77^}_+z+Gg| l*O:ΆU/l6coLk8D{^i7bݨ֍v.ȳ^lݩ}{A<gs(vnnK*ziz{ogMӺ-m4CH@(l1S mF v`}{ֹ/lk 89y!&Cn;{yϷ{v;}4d]F\Ԏg}]}WU{iZtWzmUOwRl;50)Y@-[yλu;e'OJ}2]'סOE8{%{7::Y WY61Я}b)o:ozOBRPBSkM({ۡٺ>Zi[l.|A͵@(PpOzg>y}k@x\( ;W^! u5m٥'}ZRz n(L<}p[ft__rv_^PocM %> [=;` NAﱼVik}:_.}jj^٠L>Z|pNャn uzCgӯltgopݽdzY/>+z6]_kcMv%4@ C@0F@mMOS2fީ6H!D LBmROS#yۍ$j@Hx6~{qaGNDLLDABG/g~6߈AI>4m폙la0wwx㬂dbdr;a1PhP: GA[YEⱌLwi GB^ $@Pi(P FO_jIpXUZT  e:f0@ lHaOVRӫ18СdS%֮vysɳ~Nkn&[hbJ*9 &AsNٲFHU9Yj-WX&Қh'.)JԸY1? xJ'#ɣÔ r $zWpa=zn\9 9͉EE2"1Jd?1k]l(6865(llDwT`ݙ[) M5wz5FnȮUG;)4? ɷ&㢐+c7&u<2حJ 0 Kі)jŶtDޜ]T@7>GN[M7S e|LLOWvG( R:bo߯#_Yɳn};i0{<ټ=VzܽJ2rKΑ&7,k*dr>4ʼnJhiu>26PҪhB24dF5x6`]'n':\_%!(Ӣ\9 —B9aV5ݑl˵C4©0pnE,˨%KRcm>n?OӴ:8.^yQ"<">JWPgHZtD($ªn:jޖ (ۢ0,eHUrb7 70 iڟJ#mƚCiUHR]}G\28:)MULLNSY}Urx6)]vHSZAn8~ \TdMXȊ"g#&Y! /퍔fcA@QCF[ P ۳XI"M>ٿ4hE ]^Ŏ 2ƆF|X}+*cowWϿ3&2Pɒ4bYV$ƨ۪",p# 4eUwJb<m6ŤW:F\(3 8g敬EJCxوGa8<l( Fac>60S0lXdfe2mP@ٌDǵϸ\_m>8wdWL4$ϕ:y{qaKNUbp"'H248CNiJVQEE D-z;[5pڬ߱}$ ddHDj{_Lo Cq7"_s)%Oh$*R'T!)xr=#XL ϯGf! C5 g';d ?yo\[tsGp3,E8(VCqYO,Iee;N0t]4%]'CvwC42zLog 4 PYc|gmG?v`&_mԃflHy==|;7x+SϜRw{K>WeSmU pS#vun^*7^xv7ؓb3xW*6ۏU~BD{ݾ_EH4q[N=Z]{$^ط x.o۟(zcwu/?Pk[iPKKǮ,@fo"Bs-$b/=hBW!L35Зنg>qws_?7/|=a։3L:~*4O .uzru@YgfwyR$- !x7D6sC  Hמ~)>mSw@6&7agp7w8@XIU;>"d$I2OBJdgmC"P=aK'q/`S ;.GPffO뛬7)ϣ+AQUa _VEJƟtwSmYQ=]YT6xqFi'2[D=$+}iP 9kܓn& ɫY[/ _YRTvٛ1Yۿc"g]5OugE:kba?΄$Tܱ&A$0 HD!E$9:YgNm>rRm28їArpo#t{ebop{\>UUUUUU@~}/w[=ۗ*.N%o-^$I @3qVcRYC7eQSPI/r*ERj7Ii56(G+"~i@銙 !IRU085 `o;?/1IV#?m#SaB=5$>񈔔XYE,tBB38C>TL3IGEV FU  BP *4'kG#_b$XQOј)Nh^H\OwӋ]EHwm+N崝hMQj-ԭ>э*EQfˀm[}ά@PE{8<&b !Obw Dp~bGDB&QiC!4+62X06DcWjk#& ARP$>E:‡rmDkEi+-E57uԔci,m1bZ,XUfԢ1TGPSB'C(@-!86pB$BCI P@aW誫#!&<ʁ@; )А!a*U= SΈOW]!}#y*j&JC JyrRtʧAxl2J\(A$C@+iI66d@$A0b(OD ZQ|B#JP{0pLu(9u.m(-؈tD= R$$sO?D|*wT%C&O>7!C<cg&~[}:S$F/S0o9{װz$DDFb={zunG *^N`4m;#ph #цJ/Gydx3R+! 'c . 818zLDSTO,ܠD* )pq9 L`A{J&ޡ ܨ{Q A \R1P䁘?jq Û1 5%'=E_ez zz6!vpqJ"@v4%E GҋBR$ă3+vEHE8TAb>Ad@ٌ/GјA535~ yzlXJHD9昢( 1yBrs3A k!8%BB7+/aFeEwP=<\/7^$_S ;%LYi VZ3wGl#hfY}_8ABY/RDƐɹ*j%_?JlnJ:Zq?:,l㬂3I}W||OKg$_uYC@x@{d=eؖW$^]q{)&8ڹg' t:.kfLt/72bL?pݟ:3;g6q)hesމ?L~}MH7;X&7~F5JmL~i|Nnكno/)m$|F0A  RG%/ fs)D(̀3esAmSKY6g+(I#1b @Hdڥ ((n GcOh{Vz=kQ 0@n͇gql߃7=c<>uSŰO{[ʹ]fXx#Ek vǪi;Nd?1>@d 0ӳbs8'HI %D:U GX:6 2zFħV>YATpeiP$YB7k';1s:6MAׄ0PCǸqHr8Ƌ;n)&viAKFRa}{n h}۱E'|xU0{ 2)2fbB.@( $H(<DճCVYD? Մd~]nX$*h8 A.$ ~ L|Ll4cis S$tr*pjo'HHA~|[W^U KɎ!Ɵp'nÛX<_6}귏M%T=O'HmiVaQt誮x4ScU@2AE/8.隐*Xp]5MMcTG ctp1xs{4Ȩ5$CMd"m:~AݶW3{E[T߯$lp|y~ߠ:N@盖zN\K ExLR]P_ƬD9Hi178-wi,󬰪L+T(>?:]-Tr÷ddžzDܷs:^uGF0yrmŶ׍ܢ0~6Iuvgıն m,RF~-_/k1ڐ:{e;<5\Xwêg]_͚l|aqŸߨD}gu pmh}_0nUq'/AȄdm!EIX}lgp6߳ 72d ᮩF p8YpyqV-X̫2ĭ(MKթRn/v,rSKܺMSmZ'RMV&S aE lѱƥRdG;jNڑi!9jE8J9̙e)dfY`)NtnK.rVf! 'z*KBi#H%5B" braBzިU[ZZJ5ΜQ}Ym'PYNvE.>yIf`o92Aī|~fgƎ/_r0#sWtF$nfsV*C t;Hdd4ѝQ;q'tںоQܼ |j0OP5ڼhM,eF:_{ySPm \PD&EJ2CLkOdǕfbd%f9qx؎f1%7JW+ãbW='/W"uňΑ)1 muGAA:v=qYZ*qyUR̍H&-a Wic@t'|t^zpj2J4z4(W2V;`BuYՒXv-U}4JI>3CSX́]T΋G''*B;),IrznS\U&J9~Ս-̰=vdz%U ! D1@nhƦ~"^<ek_c#4kpĒp, Iʘ'ˁF7Ulӄ֓'7 U_^<"(hz (բE5)\czⵇ:^/ )vaBCX#X:vt:(\Kk ڼ/S!!*aѴ~:Ey9gm'$2$ck5<6rHf6P3[;.>';/*SN%|rx? ieUc eڠbtE]$e}.b/]3ٙ 2]ga#t!q(\^%1I Lrt  ' @CR` X(l\$3<~Sxܐ "H$rhU9PvUa t0iN!:1HȘ&*4"S27$!] .#ބW@HG*P(PL(vaL"NbƉRI9v2?|%&Tj;jf< a~3AcYr,}~yop$&CEJ"(8c!6]鎡2?Ј]0V*(}uRW&]GD(ADJPo>m3 r?5nF>󯔽(Lvz_2i}=ZSGOx@Ѕ%)\dbUXf "A4rRINȠJYi3/}w7CG1 3!24wMT&~:7,XUR;4{d&8qמ7Fw d Z^tjW9*xq ڳ}m57txPP=y3v^q>rgsV z'ʔ9"fF0jMi3&IBDNS jxWKL<^(asĂԜVħ|x_&MϿ|0Q4AZ}g 1,4*"H+Ή?_ِ*XKnEh5&8T6!ɛQqj{|xյ*f3^Y4w|Y 7MؒE\}eTjr5;/qzd&1l RԔ%iIlA|s*~2t)% 'ZJќ՗vC`d* PrةjQ6]xCH@>M8RUĊ w_j0 fftqv%($A7mHz 7TL1c-ֹ {6^`ү!3z64I]s0\C~.fTzfҧ0 ;JG_꺲$6a?IPSf%qGQϋU'#t]JMo}!_SO5zil|g%G!PԵj0ĭ'Os=ӅwևFoRz.g-6yB,!E20_ 1tE;Q 'H;Vr>+ƅOCNH#C%^;u,gQSƃKfA " [3(\oyt۲" ukkOEDzN`( ""(),m.(> 37f9V-KF-ikKZZ֖,ikikKA-bZĴ34)~_է)qyZy&P^o'Du䃐ncXzyikOϋd1A>#L3OR4ؤ0JrU,/IFtXȅ'?_8h Ko~K D({΀D^ZH2Ukࣽ?oEt(”QDjA_w*EG柏ۓ \sNiq;kAEQfZkq,(Ӗ|]r*8ؔQofz"jQ`woέEEAynb1Fڞ<5V[TQTZU|WH< #3W)I2I$4Y4qC(#Kz$xI&^!!!!!#sebg{$Qp0*"[ur4nm. Adj1QwjʨA<"ɁbHDFd`0 x?5Ƿ|I$m<+^Wzԫb_^^ǮZm61VPp`uoή7ܕ>]>_1cmW?}H2dŲjĭUuG<9hs蘜m}}ѷDF`ٽ^nj(.nDE˗o@tGQQOM3EKb@=A cm^1Ec6p0[t2ތ8.!&@fI'SPVy4ފq `x -(p1M 1Lth;<)\ ,FצGah6%a)1'Ei^h?^4ǒ\N_hOza0P#Bu< t>?.kde:.Uu@.h(QG~O>{jkksE~}ՉB`>}H"(b`18~9eܳN! P;GX4Y(sL<0zQTԉb_ݥ5E&6YX)JY-F2BI19=TLB(DH [xL Tbn PחxRM\PTwcoCʇ/wMjk1N\h"+ȁ ]dʷwKKQ--"4=Q` gyfW$s+Ju*` %vA(Ha[ D3K`!8NtϏfk 1Lz/?\{Oq==Pϑ h˳Lcb8v=0FR):Nz"6P3:{P95~PU=|:D^#G∧ٿ5zvp x6J1*bA2HO5zUFzT+x_?w$F$I$IC>ݟ}0>ymxK*[.RviÆ-~:ÇǞ#5+-c<+qO#.E4z.lZ=7d9#<`ЂRoQ^}hS;V/*,2RUEQԢTřZɹbW1ťx+\zٕ׃*UNHHmMsxŊEGQ1D$؆ÁpIҳ&4[T0g?\o~tOe mkQ8+V (|Z,ʼ*J;jD9%;{XjM=V0k DY  ڳh9m-2Vt{n$.( A<6^#o?˪:g!۞ajPgt{t+Bx )NSm+]Ci)6ꆤ >4oWe'< ACqb'kqc;a!4Ƶj]rf^ׅ kfRAn&;;GtMO:,C Бz,.tȐ||qG ƌ 7Zsdh>51㎲"kYAϣ95{_&@ %. .¯4$Dٵ ]8{TCAZԱfح.*k'gm~|; ~N9˻1|?_ L~N'v.;Ԥ)ӈB|*>RV@y^9KU|iH~;ׄrёҴNe)iKfy0pm`SgdPإ *C#$>\J4skڡT")1?iha؇CyoTFэǃVCUd/ib)eb{Aڤ?HN.?ūu"iY5D2_ѽpŗѦBLDlQuOgؽyǮHH)H^r|g;Xi&(?gϋ,JjQeC|n\9TpuXIfPRWQ[1PCуnǃg{%C6إA,`+ٻe>T|)cyuFc%lFo ^Zl/e+WUSMmweQB.Ѧ1. \)]'es_,km^eq;YI50({$a!Z ÿquW2 8E*N{(qO{rZ8,6iN(yvR?2LK)^qwAGc]oRn&JܳOq3h#!$T)}sJ$uK6Dʙn"8"P]M\vї֜OEEICyqP=id+'oWbh7oUϪ_اBwt݉ _J(} 0²N_3(U%̠Arf2HIPYaqcr3@$.ViԸLNsbh˰C$66C-qu'Yݞ@Щw.kΞc]ٳ{sViªQa,7mbN)%JT%2'4F0[aOu%GCHfk:a G3F7-[Aw-l0Gfaa + 7uV7M;Ylo> GMdQC7Ȕ 6OW ɬN"Yq`~<&4PJ!MEY۞mU2BWbto 9FlYCBH5e4"Z9ةޜ0"y'w' ccV:g4xjm_%:gsC-. 4\ u~B*(}tAjSƖ:tpO"q,Œ֯qF%S_WZ3a0ȡMk6& `r\8)?9eVF_rCFQdَNfP7kK=DB=$I-ݿX)ۊˠ_ߺ#laXAa#mr 074# t9Y=Gɭ}u?.7 LGA!@$HDx>x=>eL|2hSD\l֡jm>6Ԣgv=uv.dL@О^9dy=9Oy;ˊmE釥hI 'X<#e&kZGJ}ӝ.*'G5,8r85`F6:bxϐtGX5 d/ ipۇOB]⍮ֆh#(P$ 7 &@uLjx=l4!YER+( bn?Mr5\ gkcPľ4l8o΀ ^rB,%c4A_\lw Ocf03^`ޚio @*!l ў^4=\Dm1&"PHG/U8'1 ae%N?xbדgUL Av ײ 3/5D1ӌbH!"2kcG;dL HkpW>sS#3,oӹU0͘!8AsN"nۋT<Qnm B ) ! mBEPВ E O6#,"<""-,4JSJ0!/VDžŜoNa b(K9ş1hR Da:t:P]@>kmnǩfEdjkأ4Vq8c'!ZcZuqc9->{"P{3U| Mn'> W; <ճD){>\%mMKm l<]zjܮP d!D<sAr`vs洴G'řGWٻ[G1I\J̽| =*8vuX3S|5(u ‹p;k-Oi{JϙI$-DD39 X3/~S9{fƏ{/Xƹ ]5L)jf^zDžBE1V12mb~/pu89!f+7gnꮓɵV&|}jW 6O_,=IA6[}$ JذEO6xCdmݷzyՀ}Кힺ䡵W\2m4""b_AA\k_'&z_bf,?!:ڮǾO);$_9m`29y%IDԟkJht,1/6hUޭa6ΨVu,숞p)4M!4ij ҫ5w@w f'Aۅ$* sC |Qu u@pL$TTT+Bm[{5~\a:nLDinnJSȫ5H*r4]&TjP動+('/ǘ@D'I=fRb{[tз:1~0E='_qH-۷B 5>'u'u_̝% SΖI+$FveDX(h>/zcg9^eʆ?cZ$v@ `pt$#~V٫jsd~ϱ53~V2VV=sx17h57i ülue{" مr f,h,5LT{ڲL ^V\M;3d ƌ{~ϥG^ϴP ;cK$Y޾$0dKaBw!j4o!QP?AcHSpª㒝Jv7 oTMG]7S0cZ-~uZ'[%؏Q˓茫(ev&HBd#73L­?`aoH뒿v$\pe'3eeϲaZU6J 8dlgw"TZbЋќMZ+F{3d4QݮZ@pnC$ٺP鸥wQYj^g768C 1|qaz74mSǽ;I;իⲙ&HT 4O#[v҆K붅dfj)j~z,HV3uK [6zLٕiԅe LJDwq(Ψs!M)Wpl‚RZL ㇕M68wg`S 0 VV8L3w !S:h#xje/B J`/.Imd8NNʓΓK6f 8x6<5Zh=CS"6@L=d\g:"0~I J'NC$T2.Q93gsIuɢ~ *Y):1RF.`IliK!++b|[|c$ӣ2k r| Y/ϮTy&B sPЁ᛼رK+i21>2#H#&m^ddI6+fT}|!HMƭHMβ u~C[&{$$<~f8 lG^$F *T|5A04=/_1x\Cq;v?cESTY~]iojd~DhSΝ:sYA(KTs')lq՛Gwhm5J[$A?eтhC6 Fji`޹᜙'؞,@"Sl[(4QMjZ-Z"/(~zB%ʽ*e@2a -_7 wVc^cP ^wRpsSqrzh}+5FW4nʗۺc}.ZU^lȟA_I%1wR{P!־CLscz10u h R{yzPX_Y}|A9ĉMݛp)V0'\ʮ|2wu"ބ}7uM zmP(F/ھnjQ>0 7Dˎ[=EZ]ѽ蟓fmu:'"ZlXz>j-؂nqʨVoKOLC iZdшZ{]q`ȸtQ1>4IxCб +]y5Uɨ&3U]w 4Hn|-Q{g!bmlwgomԐh}f|%ȞB;fG6r~}2E| H(lJH2vf1ߎ$D@#Q9c|A/''KoNc@xJE;b I҃"܈y'N*^$IUDΣ /&ƈ)ʑ*3UE-^Ыx`z%sL+g;}b+]Hl H&syqw6y7j [ڡzL!J|M&yEυ7dW;pB&v dCPWEΆtVLGYj A${HX&MC*it{XU(.pRM>X춁UرDE){VvC;N_nsv[9֣-Jf͝F΃P޴la[׎Ⱦmrwٯ8WG:79b{(ǂsZsjXhqweېu HdE޹y$ fwYeDe b4gi"* WE|ydrzLFMU/i6~³Ln%N 5G!e(f Oƅ}MFj Nۏ)>o,r05|Vz6yv^QeiSI7uzYM/=̞гRy<ӏz'33FxU&Tc f RL8  4rbi %'M6n d &o&Sa%2[c>͜a7{Ĩ|4*A 醓ӉVYKS /f a֨)+3A+rul#'HR ~| Pw#{ijzN܄՛<:v& ,3d,T,f5:>DLҁС.,`NCr@V1 ѽBb:JRd͑*Nm~+Xe"ȼl~S̢|]0aU)Mg5UNW#PZ`l)׏PW@L%Cb򫁱0={!cdi1͞%q[ucATMi_lD0N}99<{gy ~TzEszZ9/HU6#nhQB4YEs/% OevDr3ޏhJ8 %灆Vc0Vp"ȷ*QӇ ,=}|7^b;9HcƦ¹J-ϐȰZpU/a(:T*(^?G{j鸈ug&;6z13֑{!2(:ס7Pv2ZvҪd$<*~0SkݦT80hvV)DƑ`L3Yw5 ӿLp(a>ccl#z Ra Иsh<\5z`eb+;ChL#-RkpQQR?GiXf>,g)OrVb&ɑc>x:Fy\f@-TZz!d[2fIVw۱fc$v`LB `6Hc<{Sv㤭ML{ As9LZGB`p:" QAqUWLlR!C Hv[hǃ `LT@UqSˆRT3v4&g-͗Kj@3gN$ #zF NF8$J]Bmҥ%oPM5GDK,5XMrh$"8%S*BG^{Zk7Ś3gFXvflk:)Vz̈Ώ&e{g(¶3B=Wݱt3z"vudo(Ebl:5 . W"\)M!jM8R`ϔ].|x愭}˖kB\jr F_Lq{֓&j=I9`Z>1* T%(j+-|]`EŽQW5tѬ.9&cw7#kC&ƜuˎOb{F(hp$5sTz~&8UH{ADvz[4_#{s9.yPLYt%+~[O6mGm/e̪/zF_Vul!&І~קMQÝK84}N:@&ǴϘE!pvEŻs]pR]5j .w&h0hX{|NWὝ 9p4Eln5*ʘuQÜ:t@&9wOoq_vt3g7\Nj`'w)A`ȳ$LXZ5rׁ]! tTC٪ 1kwj!qHOL!:G-XD:PԄBY/A6!!dLy"e8|$.nL}-۲jTFp2>eCyĊkfUݩ|UPC=; 慌].%tWwh߀'H;Ľ!?H ~gҟ/Y3qFp'Gss1QfCܔ_\:\9 ێOv3kSpsiO%Q4=:5pt.]IMH<ޟ*P=.7'ak'hnfwPk37@ݎ[L&)T5!ƭp{c)v@gҹfZ4"}7 ؀h5P!_oa^vgdE]B6c\WD'a[`-5bY:gLkGе4W,J`"3KZ])U.G^ ʂ0LqY,C5}l9du) i9Ԛrl(ູY";ѕ'r+C5&ŊSFO#w>!<ꎎ'ַҒ4LIȕh$en3^7}JLB9ˏ>3(6!bߊSPl۠ j~x|j\VyH%F.>Gcׅۑ6W}Fیgh;!6~:(Jc*XYP+DF5SGCG1!]0p8YULI-0m9;܋-G!!"ۏF,HA1TDry{s~WO̷;}}v~_ÚGS\IoCjׂO^ -",?ϭyB [B\{讀)՜_=f,~r2{=45YÜ*|؂w/umtD`о&C4I0JJvI~we)yGQM#}!NdǰPU&L侵34TfBiwvChmM@IL?_ ܅lc[A1;;M܅CsgoUWw\Rʙ(YF,+4A!0hBpQ wXpgPHGbt& 9DTiF(B⎁VR{62K)!m$sGE LLanzy\JF3Xqk>s?)ōSJ~8/zhR7 Y(%4>WTĆ|b2h4 c=5I5_ԈR8B/Ͳ2A.$NmNxY"%YW0| 齐Vt|~w Y.NN]u&]$)p} Iqa<;sžūD:TG5/K̻QDzM!|> p0*H $r%F5QY lr"i4hآ(h曘-ѱ3*`T"QBEr ~__M7)a3>ܻ$|oFY^ߙtü2n10j{ǮM'vDN?\tcK眞bMPU;N>kGWŞ*½b~JGGsq7Sy__Z9=oj[gA0/zٯfɹ;`WIW[Q;;&D#qgH>.G|Ṥbbwi@ꏎ!ba _3 y8vvo5.՟[)Pǽ!=$y=wߚ޲9k5ջ- 1::+GOY-]µ9zG38 G>4fu6T8qαZ뜃mQ$\z7Womq[uje1jnB.? ͗ZpO ~ya߈c8O̴Wf LinPA!LW=k {jR,[^^ιub" @0kDl*H$j3*@}p:c`tz Qق1@T͇_˯'L3+bl]ø-D^_#|\m6c%vzC3MP%2co"fֵ=o ԡ%BF(2 \┖,%(w,s š1L4onHʆDiXcޫWlQdGEQ HA_|Yԡ_(R}i;luϟ:g؈?\\s`L/,L" B5h v(A?8dxu? EG=9z*Vlټ&5402`9Pjj#и욑T{MBA-$&AIRS& ¤utX9?6E%L?C5%#ڊ(mȑHE/vx\e8 -#h*h $7#~!Rʔ#HmF0U~}K>ˆ0j1v;墴'"PL3]k9n?u jيH0lQaf= }0,}NYLaht;JBa0xC?&qsQ $!{DG)?8#v[O*Y;!9P&[װE/)"2p?#(`͐( (znaJFrRByL^*3wy^pKL7G^.@EN|$#[1ȫ3a6HD% iodGܓQbR>=0á0}똜?ߩ]Q>;9Ჿ~>;ߠ'r;̏6T-$jG1!Ohh># Da>oIW>t"y<{5'?:[|&xo9|z|oz<৵yD3C-dКe >dE$ *uuӝ {oҤ@}r !g$7hA?2aĺWgDZ`rkL~z.oFN-+ig}-Yoz'{oy:Ʃ\>v^$kmOQp=R4{x?Ӿ(G''~l418@#n ښD$P#6 bb$\.BV l<lF0D3@_~U*ؼB#61 7∜v6Bn{8r%ʮjf]n3OU]t EAD7Pb8 X_]8["G_O :o/M6O\<_W9^wͤ5Ć}XA?Bsy/D3 W=8WqPbh훖;fڛWiVvu LW=L-V<ţHp1~QB&F6,Zi} +3Ǯ <u|cDk~T;:#SfM 'P'/.933C9kN xdPbDivtYlۗ㬁 d!N;[lfPv%A&Wwq?7?J[ri2֤1\ U6;%)` ; h;F$#v(!a%TTY'_xipֶ)J;sȕ*3tBG:."z7uk͊2*ce5Ll@BLa6 ;ov[G9w]JГJShjrO_/˷6Q"u Ƭ^NT+h<2kv'i:I D8#^PE$ɚaBK7}P%Gύ*%0?$3Aأ =볏mN.ãν)&BBKQ4337 ǪT*׮;"I iS*K yɾȨL_[IH<#lUPNuvr3qȍ,Oz*H yIq)t(ԉ%y ˑD2UejmiZv=zNpx*~ 2C[DƊ(EF2Lnٽyv7FoK/o;wrUOq}j~Db~N)Rz5i% XX {K&?}v{?*#m?ڛؤֱC{ޏo9R;I/l818luIRߛ3h͢H ihu{fLL8k 8z|g|SN\y5,ERgNG0_lu*iβG6ΧG+-e7dߞ:Pt9ht~;N Bq RDS]7=]yM$niݶƳ*)3U<4PGѾw&4 sdn=M8W^wsM3Ȝ.c&VnjB YE\}';n1%'\uZngZd6Hc4'fjQk'.GXO*'/:ܲetJdp'2gsx;j.HH5^dSooc3A%q߶񵯦Yt)'HoI&o{(Q)MgU"ԠQɧn/ oX8m/Ilb6,'fBdh0}9Q>%K|!DƗ;?V JrLLtA0@Gb8e+n`~Nt~SJE!D:*^Ҵ$ "f91>~) >A3[$$lW6G$x[ϡUK89 I2I L&uwsyjߏ" nGzM621VO~x|~T(!Hjw5+M)بxwcum2W8"KOQ9~H`Sj>p"q"5&GXq6cSfkMQb{?O>\&^ϩ{Jx=~R>s\q~>-%tAO Ҙ R>19hkᙔ{l]D'Zӭe흩+"'ۮS6w#Sn(:[V,i7f~Lν掏hDgT獫-Tk3RsdNDQ@;yOt4w rvݵM)3?H۳'?#C)Rprljw=J]҃쳰R19S#a[-ăn9Ry߿&%߰u蟞Rܶ3ƽܩn˥JacT6)zHyQLVZtpX2ppA97BTk8uD+]<wN7󬋯$eo>=̍m.jnz=x}\m]ixp1s4ޚ*{xجkw.-2P[yFm᪆ﶘRxYA%Jĩ4Pûؙ8&t٧=U3oT31o;u;K9n{='j;"}EkŤnDwJ>n˾ vɿ&;KbYxfε$$o/lδ϶'bkI^և+nٽ!ت̀1]9tDg"%JrgYvk))_V9Z>kTcL#Hjonr-wdIwwS̤︎p֨iFNZwLƔm~=J]գ.G˱{o G2|sϲ֫\.a. yPFpPn^-^*Jn̞㶝ѯx݅vSecEx&pm6k*jȉq!"$[q[ l&sQd%(Ƹ~?Qkю7 >.aH!O kr'#*# Hi#dOX>ȥ㬁T<@4(BD "Ңq'w,?Ip`Q;@bp:@ JE4jh?{H# B+C`@*4R'_liEP}p-BRR届@Z+hdҥ )A1 `ʡ(ZF2?.HR2zA]@H.E_| @GXUYX8 ra^ħ$FE̝n@B kЩҩJ&N + LRC)EDI cJQQ4$ŠHFzCϓ D @ Dfgl@cW ߴOK0 5!㸓x( o-H2߇da;4@$gC!AቝD{ Aʅi舧HON^ d85Gч^ 5d: su)*70AB{Pycȁi9`Bp>zFGHraH4B@F'M 0aCQAD%;<”vЧ'LOk#LkG!&op~mn}B_0N>Aoa N2"\'D TO%~_nIZ=mG*;R9X}?QĔx}:v0luqFSTYےe%01:>.~X8$.>?Ii u|ؖ?1ɿrO#8aиfHG%y֜Q"$8me" F6SM:o;Rp qGc]Q,M7 R˺.$f{MVEmO,>Cc( >Mٞln565D#opB}CqO8HI ?ӈnCQ6`pIISP> CENCZQʇHT2&? }wO/cτoZ(<130U,|@Z 1*e <ٯOoݼ" )<H#9 f" WĐ~?C(PU95ǞFpbz94%7;V6сPy/ ]c8IDӀ )zP,>tp`qţ"??Q^߃u滱3*:uʠG~{,Juk0DԈGF1U,TL+cQ;[|py]v6'䶇oH<9sKԈ8Pwj3,DXVes!<шLxۜ 1ti߱Sȳ4MTTL5fApP]{)?hѱ ‹Y?@;rN:t3\ AR&T .ȡBE$XtV~$/}=,`hd?e~B JHrަ IhHMӏaП |;0rf߄ ̊Iﯧ|8HGjYJ%ʝTu_=Iol"EW)Ѭ_|~{kow,c 0 %ljGBve†F]O#BYGDxVӋKdSjdJG&G&3.͛;yXt,~"5WL;&_Գ"- A^. =v5h>r A# y#jek C5LuPj #O-$aaJ 3N(ms;usRl . %h #ˋ&A#*ED7z&30pQtl(;csYF$s*xj,虶_[2:w31nG<xQ9]pUR& 8x7^Kx"QL@d0pxq.}^?kiv=~E c41Q?˔Y*C5&wBtdyT2`JGh?tzJ߼F\V {$+7a05]]vkN]hw.8a`CzRYI%5pݠ@Տ2]kvjyCq"'* erH0๰$2tfHtD`f-΢l.$$Xg0U<۲ ٚL;C$Fy#͛^|T׽pݘ3 aBHHBi&W26,ӓ 1ZSCնTӣF<Ðpߝ.GYĝ')Ɛ޺f@pS2%& ɤ-Hq`acÝ81rAG2wa!(sS7|d }idU'ݘwesa Ud| 3VI6s,$ŻfΫ{4RDY7 R{܋d.s5OwBGm¥$7n3bC>5c4zpp-ڎ~ 1{`:3t8xM5k {$t|CLR 6ȟLv~ lk&xܧnӎ6XC M|Gp4X .99dysׯӀxTG+$fi{gKjXeءRp&8 a0F''lFkݜ8V~2}\cH_p4Ga _nM2>,DqgS{;1*pgΑ]uf86.b֑qcbq+Q!FMX^ZE i |Mq O#D ş˲)|T0NJ_ƦXq'932<` n~V$GsbJ`OW{A'3s6ia:m"g} <6)fm#M8W\+  ?pƿ⒚B,`B8py. ỹլK "i{OIܩb|NwCgZꥢ6 \q%fݶ;VNVYAϣfbPxeX0ƒ/q !_["ހ!umWa[o$&70%fp0 <=o~,]_=H_,)|u3λ8-t^f lFE =`ZCZ /A(?d„KI8^s:{ŧjRߢ$PːP(SWuK)R꩏E*mfO~5y4<%Bj5(==Pj ]J(ӸȌEiisUJzJ;yf$Y.+YfwιySEf5N%J8[_#!M.wRݞJ ]T}blu~eOf6iS3 $ ɡAر7&7r0Z-3LU',2$&*gIҗ[>)KUIR#VqF5|~5G3W<666umRNʅT!Qxݔ"xB !.4?_%w.LTa'c66 >˸q2&Z7GS;x`~7 ̖C aj!D>eTSH$jfv>sJ}'_\wvmTiU񢳍Zl;{=?pB<a `|uNc~ v=‰eSxM!edմS7䇕`qz{g7XSC݀~I SaH#!Do`pfm@˘u#e{|붽s׺; *1A ?S@7MGuF_]6p!.p]3N|d)ګ%kM_ cH2m['n1ͳrDk(9dm?59<]L T˜dOĐ+ChO>bd3aCSQHhO\>w!ukBCx3VVX^u'aQRj|u~w[Цmrȼ]3N$YDw(T2dL]mӬۮŲyb;@Oc^FI.j mNHJ!@B[hcY%'ͽ7JFB-tݳ Ӕ$ID"o48d@ѿ]L$u{Bci|m[ia>y*6ga08(BL;PpΚ(U"CۂH,) nYDfPv' `MGǎowV 5֟8Cv?BHH3CsXUs]sOL31f{T8cTh^awJI6Uk*hs|^h:54 槄pb?1p% vmx\שdk4G nLp5}Ć2NsT; wE y'>xfq8r6FQ g*5)2BwN cyp 2^M듽h--Sc]<쬞A)Jz4be']IA(p(,Նxx:Iv+>ҵN/CV+~)S ϋ_ >>v3]VYj4&OVw9oS EFq$%;|+T$ dqM $&>t>1mHhhQosߎ_iALO[g0֋VV74/k<I$CVx}mϚ X~pDaM5חKK)xF$羼hqߏ^ޏussB1 T1ϕ+FP*666:0Q0z(=dvwgb+j͜L ןTGJ3/VRZ]5n7O7% uUDb0u;t"7"# 8$,}H*J"bͧ/!mAcfCAfצ>-@|ӆIr:pуY_FNCZB %vб z7淏҇$^'E"P3w?i<$&0@f5:X>=*"@!)!?o}0@0kTed4,`߇{:pksi%HAU?_¾?@ڍ&Ȧ:inu;`%#&P=J-q-E $Q<>=gt:hu|w3~YqL0Zx04] saq[/S@#@C "r|cnP*^GwӎdC ]g.͉C@2wΤ_\Ag:29c+0#:@/i8H#R! @uO$H+&085 dQ L)"th Dd)Q!???R@;;un[+MZ'S$(_gO,'Q@ҁ>v_x-Ii <#D Qˠ5P4K`lttiL'86@[+)>N53L͒QrlU2׮nɍ4ףޣ%ϙLJ2)4)5Y4?UwĘ`ޝ1} ӈw_w;mbBf@'qEt=d<r/_I|2 ֠(8!FD՞i$:fՉP9pS3/M$a'iBK]|4?q(;|O:uNKN%I(X":JE|AK:vq^;zg *V`P,>SHATUn$OÌޝbb3,]&p0E=ʾuvfvӎxk!7StØ]#I ӟB-|J=2pO[q힓Ԝfcnbn;FSADi-|ʟWj|]ѝ=`:z:_=Q9XsYm䄚pGGƺRx5~Y?Y<\#&,dct8:<;QtCJf}LSOˍN7vm6nw>_:g7I_fȃsKp7d6,בvR_g.!36 [;YQ9'derm h'.-&i.^+|YAAj&ȓ'hOD,Hq&`AUQ&M~ǐ`%Vrs'\!*6;ʼ缫Л,ets򯜻Phx28ZWXbͧQF rmuC\ᬸ fI> Wdi@F;J#77NVDگr-Z⬐)#A`|+ Ցt~t<HV*mLJ+;Wcxk_ 1 OYl#oÐc;g95;Cɣ*a'GDZ@g>=aH+ϧSK*efqfW6g[#J5";yL+g^ N YrV}N.9c6:FhcT\|'?>z.М߳*_ n-}W۳g57gs pvB=_Έ^ 6R A&c|/>B3M[n?)9#C)G6` rsqtdI-Qp~uXQ7a331f1.D.Mh7SQbLBȟL>BHDG`XP]on'+cvi$QK(i6[?׆X1TN0J wwwõ9YL&ۆNՇlćiiKs*G?+HHT3S)ifZJHQΜލupk yVW9hlUثEI A )na= ,aB3>=&2(GwP$í3@]ڤ5Ҧôv 5cB2xk;vSxE SCL˦\br {%w;p27c("q5Lxg 13SO=w  m*zY,&CO]B &x=03C0'DC㧧aBNG#Ac^S'B7DS?1t??k_?x8@# i НT;S* x(=T}@Gl(z*?"৲NـnP1a<D (;q|2%C5^gq3}0 $0) B# $ZbR"MT Pڧ*Bp>K'u"iv:@4Hw舦}9bJIt,xe)z;@2Pb:qJO`=O0=?8%Y3q'F!9ջ}:±.|}FU")xyD .SνWH=G|ͨvcK563 }#8c DHjE=DGl4rz$8 C:JTP!ERRiuVrCVIQ磌`f{Aߘ:XYRǷc`$_X==:MC@ +}Zֶ}&Ì0;m鞾r  v`}$>9U[޵r$tC!C)Ke];A&( *.lۈT.,_JLgIꉘ!JD",d4ZD4E  o>*!$hcuX8Dd@8ǪJ,R? Y2 1qV #ʒѭR4X+h&Hf̑C(OrH(&r'ڝ@hl?Oj>4-+4H$Pi;H47ʊtG@G™H7L!Mx~"c:T^y]'8a)ya>D/@!P0p#b_= >$>k46Gb.foXU\%BfS ۬s 4gxB-TChikȃY@<]:ǜ0d!ZIDbCPDqg| t4ѢaRlfcciK.2pYہ h(5`[諮6BؓefuKd`6j^ƛ6舄c}itȺרyz||djPhT0IAa@9=Ppm 0Vxh= R!iDZ84FcFUtZޖ)ixBpBvBc94! +h^^确D's%QXAgSf 2 豺G[T")6& TI^AgnlL>]ye>$xtKr28!+v">nߘ q˺&'0)>gj#6$vԞoUk t&180(@M>Đ6z nU`3Pv(S@DJ/_ X9nڼiؗ"V% ^vh#@hQ>VΣQ(  0N_@:?:u#@qH}dҧ*cSyEDG`ܚ`L91Ј10MqQWq< E' SRCU5^ze6ţZʹlk6 I W‹`$`O1$ h6E=y@N3.ɉݡZ"?,AO^`)"(FV*m\-.Tv:e0Mr\zIJ:Jɠ9HϘt[w-kVe"EpSJ{8H@ّY<s3jT&-N$Dz-Z|:\ iP>0Cw*ڈ{0]!Q |VB>j%ODQ}ZMRRPL %ZTDȒKn3 E |: :8 1$*)J*; [Ot3Od_~;#8(FpQM] A= :ҡO){<;BQ_8CPA $ϗ4aF^$XfHYC@ ?/s=C)Z" ~#n#f(R,@ c^="ݛ<Fb ȆD>Ci!=GLQ{ASLM^8| :vC}AKC)酣7 QQ`=cn\ID' =$pMdIFт&zs&MflCt:NGL Fs*K!57\WX&g ]`{$hɾR5a#bi5RI[~: CqdbEYY@Lg0C BTLTG(vyf$0ᄊ#mZ5cXJK9KAB]4)JP <#|֏P@ь#mζl9FgikJ pAhwIUl?3RJ6-p0ym k t~|ω{AbpP R<.v:`iHo$YTS.ȭ,F8&r2B-۶%GFvv$IU'.\x.s7S"xd&"9]Z-TyP-QBl/L$s$2L$}U_4R]OdR1?w]XQmzqyQLGߨ"$cu)RUJk2c*Nffe0̫jU3(f >绻˻I !N7RW*]weS%:lӻTB}Ѻ]ۺEmNqSF٦)XDɹ(:%o;\H!ȚQa$aI%.ï7\s;hYuBЉHh$9]wvv]ffe*=^w.uRU uPY)֮wLN**SUPU t٥W[*ܧTJrB鄨&"[:Vu2S*2VJ#C= n;!۵;/dd;R;\u7bI**S*:@&L.V**lGcr;ӫUUUUU:fݻwPʧUUU+.s]ǻN8缎.{뻮;{xṷ}q۫v^yssw3?WΎ]>1zQ/2VTP=u觏mjp]ݲU˹w.岪Uwly>v;+0XgGw<&؆/u)MUJe*wʗUQUuU+`A5wֳ yRU uPU tJ:tj<WSpMR (bo%ݖx wr0#".4sYS5ww{E&@̼eT/0˪I + a1P*Ywweݪ{o-;rTUE" (CH֨˻gt[*2rwewwvhb٦nNNp(zyX4 GzztӮawuN)RW*8;vT*>'wqw/!GwysT*Jurc]S()TL`5 ݺN]K.{ffawzWHs4edpC1&kL4˲ܦ{|ݠ$*s4QwUݻs32ިU!RTGl|)TRmifWfwweJ~jUJdž2WTVRnqn>}y`oZ﮹u$)D#FΓ$;^w in8nO>;Ҝ)TBQ uERwT컻JeQ uER!NUER*Uݐ{ε:5uUTV]ݺ** %U\.GPN듼ꪺ{xxy*uU.WVfd)^7J`2ӿ7ouFʩL%2ʢU\+.%2ݗwE*QTwr*N3!UT9N%R*QUW%ˮ*'zi ;Rreю*ƝHtU'G\ 쏇ZAzĂ(>v9{#Tސ82 (4X $CieQw&e:U]ܪUUUUUW$I+*:aCV5Pe3u`Fjm&bdB_'d XA p}.:4|^@O6"H']$Zd^|<%RI0AF>=̮L )ICbSSf644T0apv> ˜}to.j*nP(e&wu`%!2D7:H`cpr}^ծ;Mͤk /źѓ%

276<.$6DEvSL1w3l:qv;)VvLa;^2Fن5* pN%xrƦ8ltD^2Q-DehZE(:ChZYbFsM2C\vۯI>d;$P$DEGc*լddD2`9e$.{甸 b@-}">1t]'DZ)CCPTRҬ4Su+AĊ+4R4.X.t;`]mz( #{LG֌)!  9dŔeO~8c#{$'F0*NI&s8ޒM p=#>^H|q'!W^"  |n|'tID׺ hH'T1 `]eE#X>p|>j!9EQ=K"  Dv zDO#Njs} C} B"`gǰE]PQITHQE+ET3b/h$7˸M6w`IUO0~퇇PL>웄]Co"بH<?as4"HGK!:HOGDxȞ>Hts$ ƯԌ &QD>LbT?()Fg "<4cml֌)$~?m#$HZDpjc! ʲd-}I) ĝ?]QUDU%$EUEM1E@:8WCi< $[; 1E)?_? o{G||>M@r# =#,9f? ɕ*$TxϲT٧hqOĀY>{ŒFI;DLG2A`z`2]LB<@}XC8 Yꃥ2-(-`dS[ݤ %m8=! &x .D0RQC@RxHo\+(y!WM<9Jx"LP,/$C4}pi f'euB#򷐃syϦ$3< @$QYL2I_Ѡ8fjwtoW.kR'w|3:)lsi$uDEB$ L0ɥLIFʿ,+HR&\ `U!KK"LT܈|MFhR'4`nBB& B52$c FKzz$D+h*dD$y {|OᾥSiTR* 0;x:+fCԌ̑4~5Yclbg"~oJl!]wyffKI@^C88yḏ'!j*R,ʫ=_^ݾYRO;- ,}ٲp)l)!WZ$CI`wWFsUM!QANkHWumke2I6?JMØpH(n*aC ~$Ҏ] Q 9/15Z1hţIHp8 1H uIIX[#L[1t712exx;vǤ W_y|ݿ.9 "WeDOС>rʉ'C R%$RSO'o[q,p7$N/'BIK!!x)G=GmZVZQYFjQA~B<A6/?h4􈹔hJz>=A=r RQzIA Q\N =7 C(OF `>kH2cyGR+JH(%̚\7gh*:=G$eh:HRȟA~}M52"$<&FTGPq1C})خ&'8dЎp&)'6F$H7 <3888zSO[5&Bb*H̱ q$h#Pbʫyz*:bIDX`Ң+%^L zP;Gqİ)Q) C0@|>SJ F9$ 1> Hfwz~/Dwґ= $H@yIHyBR"z|9T^0S:X"V9u~7h B`HW~H33&-Cúߚe//0ehD4 #=$^_8%$pCu{'iQ걕&v|11axPЁRb<>_/7%HA Q2T7%,| 28禮oKay ltQ$YP*fa{ģDw1`;0H90;yA#[Dm6,9D(, rAbG$Q8a T^4D$2L% z&pܓI(Q%pIOGz>/Lɣ LBsJ#=9#NV0BEtp拏j_i l ~9=iR9=qE{VF'(%:Ir*tzDZP`*ӃfAQJ찼89VWz9mcrn|h41 h*:YLQ25jimw`ZeNMI=3bmw)[cWw%_(1 =ԕf.yݍg{ Tvxy6Aɐq{&6rqìzfJێ+n;:w.š5XZce =`'>u[w5UfcKdMZLl#$ 6(=C̬%}d'*L1 I"I I-6 O)-qFYjl.m!LїR@%~zmfc$~ʙ_%pON S<˻S_|sn9{s/G;/^ꇧ?/On=_0'?swWyQ(1PPXy,5$A$I=y ʃ$I$X &ȂHp MWyFQ(il%cIoÛZvA9UT&88MrGf:&8)߿zro6ԬWt*6/W9KDecI"/{;t&' ^XkR^!j1+HZMs Pp0b?,-%Uvl$OVd`6^{w +f| 2MhX-.J!E Wߜ=+i;D㧏j\ z@GTjH;y;0:HБ@÷}Ksb9Ѵ<hBNt%2@$@,gg a?UOwwoWɍf]d#NxE}RB]ueU8LiS c< r}I!$;1ouFܸ $g4dSnmǎ;z׊U\?IgH Ч:oKC$ff>pq:T4">qD5`&'xzl;~ٍS'EI%σ\;{B&EEID0SE1E!^> cVFś`o>Up~O8yu]4OS廖[0ɦkYײ d;Sz lPb!eQ)8'$G8H#DwBzЖKnqX"Mg !4=#Ǫ0 Yc 0:pHnTssun֬֞G/%*欔) S`Дuv|'}T4<>~8s$؇ lb拜WOR ʤB0CD+p&UE$S*xc3.WGDM3gV("ª:ABIt$M{U]rAE&Tr;tHrIgHeb̾@IHKwOۍVd^g2:6 #AG Gu_wwwwwwwwwwwwwwwwwwwwwwv!%HG mJ4m6E)𢯀 IuY$2[m-Ԕ8&E `8XMW1D(%P] 7ՂDb!>E{TbG\o\NҽJ""" ""hV&$M^U|״efZy/ڝ>ö"N}֬*I%T4|Є`UQQ1 !DEUӊDD8 Om;єhF2xM-.SgjNdEWJS! 1]Tbxoo *F@Ir6XZlCS<$B <ҾQrs탒v'EG 1> a$Vᔻ'&[H&G,ASLqzvxT;뛕UUUUwn*b@6=n[UUUUXrY֕<Bd$ZA*}=p!8URv*p' ,:)ҹUUUDUUUUUA@W'Bz*# U<#QI 9#A^cP0Rz`x{=Gw}i*6<ǰE_ 2r=i&:+!O[`/bl3,I5m{Xܾ/~`!VBH(TfIYKNKpFpQL- E(Њ g#w/Kd^8AK{4[Z@N0Y‚3i蝉{,-$QtFs/@@b[%9iDlZYBE(l$#5ak]r{xσe\q0)e 酔K<7|zQz36<ps6Xm"SMtNz W58V4aV$a hc-K,p;0!goׯ޹ЉBtN`*싙#hi,}ܒwww$EeKVXn]IY"v l~H4#C4!"DJk-{DD;wq^ĵxjRS<'9DcN7™Ze33.60g@bYfg2 b_,jC 6ِPi&Nx`pᦊ[n7Rſ[#;EB|hKV=j17uq  @VeʞKM|mg0%)"=}}o'x,-wl~ 0-PC,G# 1a v2)t1 ʴ%PgXa2*Ddu0N4N:V׶'{9%>aGǴ=fZ]9: !M)`$Z& ^4: Jퟜa*} rBcK2߬9DىX;wd2~8w~\ƪ RYP$*R9rgCŒ$ #9>k}q'> _<.dXrㅮ8z6݇ †;ND+a+ˊ&ONzN!^TinqbZd "ږGC悚 JUx'DxaR$ ?(Qȩy*ƀ!VA<H){G $YWC#h'r|?xUa1aT8_=a ަ8V )QHmG`ʡz{ HguЗx>8'rKFiaV-e}0TڲmdaaTIaIn* hgkq p ׬*yD.} 5^Uĥ@)EO*CCӝ6ͦIFaPjV]=JIaW@s4SGD }rwyC3ƒ;|JQ!S p4T9*&! 0ˌ&/XO`>8޸'TP4HJQ\`}P¡a$O:">G)8xǠÂ3,@S2Cv(G|I۴azywJy~,0:@fF q>IAε·Ra 7`b|߭IG:kQ` Ja>pjBArh"LEBepAT (8zI':Z*?BA%%&tC1cd l$3PQ$0C!tB2 :!P8*JOR)&D @("J*&D"iT` `ʋ Ed&TL'΅]j~Btf`1لӊ ;&QDLl0R$gai5'!(hF"JmC d.[cMS][sfSN};E- l劼rSr(bp*3sp5$Y ]k RI>)>E\DL1WѡPG| 'Rtz(+5*!(+ ° K(ȳ1 ʰ|aQe\dY+YQeaXB  FHA`VU X(!XV bOc~d=&Hm=uH@11.Ov}xb.c΀uÉP`j#e }&@Ԍ"x?AÚI?=9x$"b?# UAw~#gsքLG 'I}fD\wG׏pl)fC<r ا21=S8|Ҙ‰§ďD:JDppp$6?&8% f)E;~T~v*-yyK%ZtL%O 2rD^L6ߍ[lBWap%``Dk#=>C"V0g3MS\[8.;%C:*o"ӔYUfbU!@u!*ĤGPBEz*#F(Qj"uj z=2>EG:k|$sebf\bTQV@oKp#'ȏG "Q@~vb^X}ʯ[?5D{hR4.lhV4&I󌍷AffN _'f~/u7;;GNWX#-!lAiP1h4Y%44-sw]̡ sE 5=bC103 H)135"$$4H(*UI>(<|#!SepCex т!@b)pĤ  2~@A0*v޺#>ȏ~Efw#?ĥG噸nl_Imph\;A802wa"'Z.'j|آzܓA~8,&l55QnռʪwDp!PM0'>B>-,Muo}\գ{&0wKM5ecf Uic%kkV*bB"A}%;>U:NjUUU EUmP(^`j} d>[Q"qv9mHmb\y:wB{o8߀O P=[-U/ C9z ra &ccpdǷ_Q(B~ &7ڤP0B@$T)#0 T,EETD# 0 ESA~ĕJU 0AP0TUI, 1 MQ,u={$&, ~&IlOaؘ4FxbPQ2“  4JAu0@jcR۰(6 ћ66wm wUR"L$ @!l#$鎿p/t>gt_2MGX1t;Z<1ABkŭMiX!`XWd٨Dk&ѼXbkXmbr!qEs_촊 t8P%)hʨJ`GQ h]' ޤsE4outtm2[4I  blMQ(,]:']T46· q t RE$1[2BqG .,>fX]3 >yx` :IncLIB`=J\P"SڕѴ^THan1'<΁S"₉NJXtB*gEt@ku-up

7 }įcYg%5@7#ʿQ-"tOyBi>-b+hx !b ʶN?@(aI U}-QV#)jõ *- AyfJM)J~,+,ST4#$> @=àS&.8u0=W>_XB#fr鍩 UO@:+Oʧ%| W'>9S f-&_U2VJEHR"RT"ƃ Re@Q2T(@z]PP AcBd`QweW !LfyuLYL=w0CjHvuz䄒:H0eL"'澾)hԈM ?M~:PYl^C 2dvH@ N$k+K _;G8G[40T!>m"ȉׂy؂‡ |FaFmWq'H(˳>Lw@k[>J` "x goOf$2wC?0vAC`چ6.3sHUJjqpliGi&H)DYD%wpz_4'sXSXju]ɸ`¦H1ځG^'?j*>F 6T&]{R̯ Q*^4 ݂͋y8o`.6o2y(υS(lrx˄s$/ޒ_A`Obt!QQ̠ 8sҪ+U|;x5@$N^,,N^V+11I$Z2I ˖dbwis9!RC<;#Mba;.œ{IuRREUb!"|#ޭB.I*^#Mfai-l[IAM аGW\,8J ;*^43| kuEV!bIMNѢ]qNPS7Z{!8 (i';}< ؒӠ!0wXZC0 +d<9OMyeUǧ AE2yݡ#ⅆ*Lbx΅}Z\@/4Kg)*+;,U3hB~hi#~dh ӛ=c9YtvHW+MĬX y#=9/_{@}2Y^py4[ 5xJS7FD+F8CSZL:)!"b2G͗;3Iyg{}O뱓{@$ؒ0{KHǾM;##p) 'I" mm44F&CD]gt0čFh( 6;VBvuchhҝxj&=T$.UDm`5JZ:s^Pd H㵭NF=oOjYTy.*I; |9nؗţǔDaBćB-2hbfEaic ]Z s٤A={HGxN,qPpzQ.H$- A E͇M{hkr3Zwߍ2ƍs :]AZ5d\|̖ mN#A5$iWc²@(& UZW860& ($ ie76c8MsDİiɓ @IٚE$* {"9D6aMGC(# 15s=lp;I*DJ!J OBYO#{SKM AX]6(&0$ɥ]~ٍE:cMQgI=2>SR]'0 1U` څj&:Np4iuV mp;ՔJqRSsrbh1֗$ 999Kf{U0UTHl Y X&={=RVf9p2WYD3-C( )d~Zc-g)ZAkvB+Y!o `* TFIؕ0Ӌ6wlYXNTwohsFC.ƨH(Z})v|X;'F11i@XAxNݖBz E'$ WHH{22;'G<,VI@ITJփ,jj 'UCTxyU/h쎻bEbjؒLX" uat`ђ2=@,!ڒxO 䢊&tD8X2 #QWY97*nBژ04В!ԥd䚍JE:TVf(LD kee͔;DEQBI EndJDu'<> b,UZ u1$A &z "|d!0'%%0&cAT5o>rw/RY?ѨI9]BzЂVR6̈́Q}W8f5#q64,(SX**DM(0JP@`jdHa$H༊!АL(o6xfd2Uن J195CCc8ŵœMm i(Tg ߏ:IH4J%USBE$ /tZx24kV ]MW,S<B@qkUnIBC\D { :AX vo>1"/\s|+Oe+B:kAYL6abk R3R{sǬ\VsW /'^}8RAu~0zPm[Ihy@(|7Bӕ:\zW(z (g4=ЄPpa'z4/r = m5Qa(,u/j5-늰Y Y( RT!M.52g. /,[^n"i!"J"FNlkV6\H9 ' =PtI=?HggOz'f<8|& 4¥>)ii:6?61/r+)bESIL ē+K$SlLj1) {n6>z|FvCaEy_eJPWL]`ڡ{(|B*˵4(:$MU緼|)td=R=̻hI:*/qWr=‹*͢;i'1J#7$K#aR_,hΖɃw Y[O0e6 v9fe.ww{R> @vFeQe &DDLHEE$>fUDNs؟I>kZ'ln0\A5WJ7X>21#Kz-Žw J5%zɈJ hMlq[d-TJblEW|l֐B^6X@@U6;ܒAek*&4R(y,tL6 \ *T88BQ !3J*H; `U?0ՙw€ 7? )gÒH".Ǡ1@!~Oi/oJ62 k is PF.&_'(?k<[Z!Η!Tb8jT洯(iN" ÷TcHp;shJeB)C&H0Ur!!McưЎY'd#ßV/vp|Nۍx9K z2 C=RJJ,̑LE<dr|byET"~z,%< 24Hԝcx?sMҤ H R`Nc0EB(>Y'HTHB(R@ >xywF#sss ž[c$gԐHW(ڪ~@2sVT{+N<ݹU4 1aK '~,qP4oM9,-g9͢zj0UMdwɧ{XY?oDV[ozu^57I4z6ݝL~@T-^NxЅ=,F2:c"&v6dWJݵŽy|'8k6а(M/-lJ FtpSb8 'A}}PS1C+!)#zbsB rGl!N pځQ,j}#FIHha==ô$2,ڑiUU*vGޯy?xFkx & C_iO)ܿZ,\5YgZj95ZsWKp)'A>>D[9-8?3'PU#k]iAۗO1'zαXh0 W )Bhttơ βqLݤ谛ry@d(y7W\\Ad6RE@I$F%H I$!2 Ф!"b2 ỶkIRq[3"\D5?9DTi$m$=g<{ȭ"Y$UE2i̚1D.A "SЙPLLe?կdRڤx@!t1EU"X6 yPP1Q,h"~~< xRRj.LinRbLbI$XȰFQ<'^ɼvhs i@_(6l!BH!&&ϩU$F+‰%E>N(,^ݮh$ DHဇO؉ԓ=.#F WѾ 0bhހԔ愚aRN! W2J(2QM!) /9J}S]ZK8`9Yd } 1m DYo1,v@<f lO=r}uf_bDe*S%)R'ڈUp)6Hpދ9]q PBR$C0>Sܐ#iJ ^ O¼ŏ>%L *rϥ4A$nT}a3;+Z  xza^`z9BILsnt/ :1C)#AgUW֩$Npd=+?bM8כOT=LI~ٿ~*Ieu s/\C¾Yaf,JEb$Ya-+&XFY#F@K Hu̡ Dm$r*8c`}!= LxH#*9*c ^x*T>Ňs H##$9YaVBL?Ĉ9xw,H:Q$X"cUUW[trO8r55ehotA!䨾#L OC#EtA4H'@r$ìkVeg,p-fs&M+]u-l'DB`Hbunph9&.C Ú˥n-@x]m JӒjXЙz~=ıG35[CN $`H@4 #?>YQG=t#"u7G~濺_kQ=zG#Z%I 1/:hD?`_@ Ț>tÇ3ЩSۙa"8?Ogٯ?G{4#k!*lbJYdQ"t"PP(W@ @[,"V#TYR@Bb lJDR4(lX(RT%q`%I"Āh@y} J)DT-h"F&hWԍ/#hB=q$;/8Jr6VaaU N. =Iىr_(}_p Q43a!{+P YJjf " iILO$½%@`QU*9*>j!/Gl & ,HС2̣HЅ@1FDrREIkWP\ȰTEI'FC;iFEۙVaz9C$d|s)9`(m=9DN̪R7(WGwĜN@~]~:vG՘ B«%-X0w~962O ŸRw&0x_j@xriğ` ^`? \SqJ|Os+!!$L$ޕRA_;{$:iƗ+B*[@/h(M4E CtȾf΢t$a >Jz[zu'{]Z#1 9;LzI!76I2KP  q5HGX"&=TC^h}QS2+Wh"-PA@@!`ZAI#QOF^f?%P 4hـO8䔥KdFBD(WEx6Ș~On|S$A:=D.$$I$ iӆ,>^AGِ;I 1b@|蓐WS.7\E϶x $[`nIN'ȴ1FrHHCz[k|k"#,G 'NR#"8ŽH!@Q\3CICg~~΀NRS!.A|`h$ЪU>h|Y?r0F ـ7\ITߞ$A&<Qj%L)80??Xib~w)+3A cFxg.(:Ȭu6wiߟ jVT:?lMk3YY+c)wk;6ڄ44+U7 @,lJoH2-@4Ҥ4/OmϩOrR$"P2YqmPCU\t8 oMMh"]~ HFA F}Iʭm~h6kAt$Ĉ@f@e Qe㠡0۷/wx;ǃMV6B4=Dk7 ᇁ~>'qϟP=2*DNP ߷O~?Awy`ٕz<{IlhrB$ ;.v5R( &P#lD烉;xNNVW 7J;PAPLeWqd]H=S^fJ:/}E6(%`܇i ۝]CC,dx m"#u"'kCP1BW"HS91 "$ 1,`Q>8tZ~IQe)^Sqy!':>ڨv4 BH sKCHLP>kFv| :q,8a(pcdv'UN:FESsr4oAt1X(4 8(0, Iܒ+% ,*?4N= rF3CB\4-BKG&8Cs>hy'xQGfD$*=&Xxf+9reyJb5!_+PHm3b\U4zN `H,߉ RBZXO=WI S^A3a7 |;*+X֣q9O(t>bReD$K#H&{-vо`P~CX]^k]A_`m ,QRSh:oD^x/}A7GP?KTH@?6|>-x!|RCf1dP`0c_O".cPB K a'/eǾoybDWyQU)f#q_To3+PT=µZk*2P ,:Y!=EOg~ RqGi؊I&if1 &%^!DzG؈RL{GC"Xrܯi@ky.qIOjcU-W=UҀLI'$48Crf1TX S~̓bzMWzYrV0t`L1U#A?NGx=6eM%CA'P8x<Ϗ4Ҫ透@ Ot2 /$w&epj?6h+6d[H|(!!DYt"漛3CCZ:s6q*cӊxpJ\E !lL'} &a>!9!Rg w#'E9sp66 Ӄ2/qȓJg[nmGP0afSjF,lLіDu!t1 㱱$8;JB v " W*AMEE$ Y/ȝɇՐ UN`SJXFi[&܎5 :cf4F6PMffx-QH<%i ^UM쏚OƖ/[R)Ș8y[A%8g aYdgEǥ{l]S ^ɶϵ`|Ox =L6'j)R`!tICq[ѡ](%VD&K )pN#uؖSt#ZQ3}ʔ*ȥp SE P# t!2"nO%?1.FHZ0Hz͜"zVOTdr~8p<'p|,z$gAT@'E2 $Ov(*$$i5! S"D|< @ﶔHݽ  , ,!9 3p{G(0%JR4 AY9@lj 'raH"npD`T 284\SHJ̇9*Ji:Gg! Ҫ!feZM$C>nb"zy'.H:gFɽ2Tz"=I$)D>|>X"M`lXY9qC! akO!ԍt2Zi'N;H;SF_iLab~I0~% o:uS! d$zq#:ߪD[a)($e&D(de l U+:GҤ>I"ZBQ%PHȱV*&Ġg:1-uLJ7]._;@}Ңk!PDВ '~1>FЈOQ#Q( G#{=ǐH Q*IƉG4 ̈wԝ`҂HDJBr=$xn edbBI!84u? $IGbiHujHꐯ,i/RL4Q=?b$,8z^}KbA.f})VD$r"#Wgt 2Hbx4Xx {ͲiHb)DA?]C m`qWR>RfdH↓GLib$-pt] x~#xzò4@\kX6Z; iMåEBÚ? 1r W`%*._*3FW1GE;%'&E|?IV>+Ʀz/WϹҒb”"2ƒb*?p1R8-%W+B~]0\/ :yWGĆ!rTJ\Q%a)pIWW`z+,"HTI"id #}GCk$a6ǻ9!te@G?] @Nȯ{ PȒZz/o#*"fJZr2: $ElѠϯ]G'UT2]`CxU!y$&=p96 >_Z>4Oi9;ٱr-o(i/TͪB&#‘8|zcΥ~0iS#&-zDK O <5!miR^i&a;pjKK"}NqpJK"َ%&; iF_n'% DɶNnJ \F+$ %N<2Cut82C ^6* .؞-Ha\l% d *<ab 5`K;+;2mkFfq ht@M-0Sz͔N2"i:2(b|c w5E&8PNTk␰;&& L$K\i ih h&IFR\P4" W'{#cfjP0@6(.U)y 'yyk JzW8P6 fa#'8uEJE DҐc(Y8>٩D4x$lNImtBfHUE> % P#P4~ʊl: [ǏUWpR>\F>eҠp@H`~b80:2.'ÓS,E0k#~ABG66uHG;EX  {N]a1@t|fpdfx5wAztb)o &|EG"mSC3_KtHc6lF%{c3T0PDxAQY';dh&Ydēa JKʜ"ϧc2!C@`qDYEM>Ѥ~H/^>jWZJu'$ i}lVPQI<u[4~ebU^>$>|ȆDgt&T:5C!a;#ϝsˣ#8SUXV`)(lUj}/h\Opg!/eE$I^x:=j@24:*>iÞs8@ka}$G{;` OZ' BP~&|9S\t~I)> !BL'>U||'RzV* UUЉЄA!RM,M ,}M-- $$,0C@?2SKLʈ9ʙ 0 $s/.z=ZnDX E>Ńgy86S1!i蠾93vO /Cz:2^J_`3 )ʁ! 'S kkX,`.T_NY^&"_Z9ڢބ|(Km/j<歵:Hƕ3 AL4? e 読f=KRa yf/Bj]>舎E (9& FQM< 2 M0!;,VRmw_V6D9֪IY:3tn*ѫѰVLh(_ӈ,3艹AZ̮A#e\O-4˦TQVAWT1b 4kVc jZUA w/< W1'dCҰ9**L@44vҧ4529ېl. 8^2{Qx!ێDof̆g|n>4 *+BQoRERţvi$V-vk hۃp2L'JK DMwlz)M d)Z4-h& >3,->FPX1#3 )fyt“]<+E`U+L95T;.ƭLiy{ѬG&e[k:pCDSyc\aLQPPPPXZKIZy p:G;qp$i,͗ & i.)i3y֪6Ej% m[;0(;щUaOҔ}գzxt~WUx7Y) d%1 .Hbh)68x$4iu80sjJ)'YD r m5 u&ԣauM&tceX0ٰ&H U. c qВ,6Bt^6~}C'#i?80 >4:CP׳ Sy70:A̡C$7%,6{TL- BZ4BfYhjU fp̋$**!H=#ɮ79ps 19*s$Ԗ?R?XOsдQ#@*$!@̨Q%&Ѓ~;R&,YEw1pg?g[vvHn6*hcA"BzZB( d!F;uD,ϴ~8XD ."ܷiX RB}h=/W[6_vVKt #'O i\\ FF0W6iSeag%rdQAdH%܉ď> "r;I?a"Y$+z81Uc8I%גr8p6H>tufU]Xшa% SC " IՎZ Iô_TMEvoҧ=ƴXHvX*~EWv3L\f>D:P*A(7gA}a`b2l-V'T܇ E;ӎ# R^JI#y8z`Iϣl|Jwd},UU51VZ[dCF%2c@ |9Yʯ^pF}:]qJh@PIC !Q2jV)V4)C ,O}1IiH%,&~= NGP0bD@m FA ]D00 }pf֮FR}BEU[z!}rxX,} w*EK;o~^GX:3$hvc!?ӵ`z6xe;1[35{svƙ.k:$EB{x'^-ܜs;X2C C;ZML BIdQe"J lT $EHU WA5LQdg*raX,?|Ƶ*,Ę&H˂4p8@wXAz<]22xp3 ]q]bAn'SԀyˑfyJ;ȋ2<"YTe F%b} /d>D@v %Drw.Иyv's`_.w.p+QY'\=s=@HI,Hw}!'`TPA)%XN A RD48T8 b<Dw^9̉e)yK^ ' 5D`S< Bf,$в,)i%|c:k4gHygf8i6!0)(#B 6g(҃3+]t`=:ixٗD hTh\v"|D HULkvN:9Xf#!,P/`V\eFն LE M76TJjŚ|6 /oLN+Wc64 DHБhK`,u\,^Ŕ*3JyUtqĖt ,o]7W'qW *o@m{5 KB6X "#-by64I66B=ՎB$$GCg4uSTK2;n9`d0BȵTw6lϋ\N MI PH`ץ8m*ӤLD*4I*I0BDzEȓKn%Ӛ6;I9Yۄ)3f,%T#XXPm%lXK IY(0T|]' T(K;Q0;€l8u~xUi`m#ŠEPTtmVhb1e QBb;83rT1< dUw!'{ZœX4(J7j]  1p6g"*IQ"b !r2D nCN"Lj R/"NLJwURc,0ɐȞR8_V Bs"ƤY8'}ptf!xp 0v'I#Tgg2FV|Tr5G#oR bDB?HBuPRQ _dFD/x؜^^wh&SR!CІ>$"\@/ 2`,n[%HY$uGP)N`\=+3"- 2 :P){swrPsLw>D:5 "&A#. 0in[ sC 6g&2bEEvRcH [:Aw8lnEع`P+?sC^ot@v;N_YCB]81tc:L\RĬT:SB& ZWNMTIH;6@DT1CUrĦ>J\Ɣ$I ? >Ēq$s¤XV+aQ@YK7*?:m28Ƨ] rUUUUW2g .0 m x$ W.>UC=c/N"|B~?+Ŧ+Mt[u#ojHWWy9"@"[O?ŝz^hU}(!bBJ * *d*SQD8Th2>m%cHڏ눲OXٯ|W~#h #TQR6yV"":J~۹ pu~x*X!X!H"Bebh"+VIQGV#pd츋? ? TJ$r B4ڗ@N!k6-^M7H*\!|<=yYgpv4aU5*,sP`5RA:lD}A8z(8sX %DI 7 .i-ʪ:CD4nh|`\QXX*c}C=LJx#S"ϸ4k}@" M@N@HYDJC"TMO0FAd룃d!>'{ԜEzχjDY"D 5)od\d:nPܘx!(J RDPO:9kC=n~sxjSrX'*衐O@>5 vT¸ꋀ#-:]Q B4a4UjǂacNam!ӆap< 7 hKTM*&dY[JJv: uvQV%^ˤR4i>߲N~xX0Z4yKJt!AR$}v0=AOrh[DkPJ@B&4V?@"USgX4qEq-;Ī8?e&}= ?C6'8`\~O<`& %8S<@zBUnHGϥA$ #Dx[AX? ΍C4BH (%(E"X<rD#ܝ9/=Ok<$=tZT2*  DJI h8@Ai6>,S#V&Ref_MUD!/ce݄=$=(b9Md~kϭCҺ-a3\YʔPp `$;(%?u] uDKa}yԏmJS FvBW?:t\YDR0Isف`YGo̙J`~F $#D`?4GsLn{.P$NOPIŷSsA<o_r\\`} 0w 3'I͂C<ޝ SpE1LB A:Nu/D4 & @%$I ,lPKHõy{8]ᨾ.10O:UU#m#nye`mE\dsբZ'UY$e!h]kwll r5DQ~ 8p9&Ƀc:哆8Dr%ndHd19a@Ւ;+oiH@>(u:suڄ@9S$.n ֏+9= $$&Fb>(dC;t6k]]}Ha.M=@Z )}cJ-EBKm"![DW?)Ւ9sI幄< 4k_0SjA|~`Ы! zX[<;#+k]Ul|U9@AzxydGyNô JCL+RHHQ$#@AT"E_._ÁAqP$Rđ@|q!/1&b)<5A%N "!2 3%.OhNj;}`Djd D$K>_TNF]S>]- 2G.*ѽ)ȥFM j *ؚmĚ mgHkJesC"] J@ģD EٔŪ@j}R )/Llu(o񀍄VCzЄ.XQ!Z&I%1"(ZS›{9 E .ޓhVKLܤ}A1CH.XQhmI (|x%ԙ/F=Tx0qD+e'PѫcPX L0F &4qƘoJ% C 'D~XihHRyNùb}UCGY?X2Iʇ~%VOk'T4~Ģ#U"@B hD^)Ѱ)#Z\= buHKL!xe&z0(Gҥ*I_^X^.Q = ZGD IHK8SIE*@1sC7[ThLrآVTp&$7I*OUW0v@U S1"jSt*2'h*hy̳U 4PST QD$D!B$+ ) D$ `oi8vq,Q!nYo` LHldY Dt2d&$0uC^m DSvgg'3J'-/?twUn }e7o\;60$a}':}7u}6Ht@:w_Q_wn@,!k')!4{q-6\A[>(wsE*ŠK/aU1B*!FugFk6noSy۷oN(UݛwXsJWmK65F2Mmdj ;Vf hk[o1=hoN -ֶݛZmUCmh66t^N@4: @W]hIp77fsݷe;Z5bksaM rv)GT19*c}E]^VhmKAIfF=:s4Ȉjͯ6X(06`6l HE4v6m4HSM [8D޴NnvBL1\Nu':ډR4.Ļ]&໥]U` wWʮ󳧲kM*[eQzڹѓoJk5RJ駭ocAmJ <é-b{{l~}o[c㋎s׸/muv=?uq-;ǁ ?x?y^W񍜯/''/z_M?uyϽc?~Oo_=}׻{t |?|?oߓ~Q~~n3;q~o#|z` cwq8'q8N'v`nݻv۷nݻvۀ ѻv۷nݻ c`ppqnݻv۷nݻv78@8  pp@8@8 ,`q7ݻv۷nݻv۷pÀ `zpC{p 80 `pÀ8a0`p7p15}fޣvf%bMTVr(SO^"! lYjVEQlO/]_8(8%RtMNU;;28r p-&RK"&$-!hU*VK*%fԦTڔDd I"I5JijYJeeMʩZʿ4)KBiUP)YYP) !h)%%%aQ BY,b i $@HZ D !K,JD%)dJy/c5-z=_?=UU_?+7n5UUwuj|*"UUUtC|O>-U~Ī9ۍv3ob~H gXMt͘ٳfpvwUu5UUUUWU}]]UUUU^*UUVu۳;q۳n1fm۳6|vc=vHwO.ku^jWkWoUUUUUUUUUUUUUUUUUUUUU_}UUUUUUUUUUUWjF1'-UAH tD/LX @@YE0Q^*BD(9OA0R i a[bJ]k!Ք]w$(EQQM[NQ+m{jW%):_`"_dvl(s ˹\Qo;/j<M/Sa! )B!F4]a =ᘇHdf&Fh^P;'G鲺/ &ػДY b6%wwEfxlXܮT3'$i4Z7GN<֣%"i0'[_/5M!hܻ#7x!08m&2L7Vp^"Z,]F?; x g:'O a@I m%X&eX&b-Ib(.h#@s\UZSs3mHQxb3AZCZR*$֕=lWr6kVf.'F2I+ׅ)pc}%Y945[ifpzXf&4DSavPѳtؐ(hsJa*U2p"cf3Qh}[;Vqthexёh12X2DHh #pKi6,E V)DId#M:!\*ÒGqb'O~l`ɓSy=08FfCR6f4ӆƩdD"j(7`jI3 Gt 9$tprJ: eXJ$um6ۙ5!3"&2M&VA, K$F-e Xwfd) 8 Lw ,ռ0*Ql6KRF;Tex%-2#YumFk6VLD&U ۮm]-.J0U(a*cfEB4dah)60 ͣ\%1K5ljTͱJnRpS,-&,*rKeMufd@e-  sj5U &4k F w DA,$(02ƃFC,KEJXZVF:DӘ)Q )BFѡm(0#U,P&0`qD8ιqph*b)c0uf4o.Bj#}fD֚$]ӑ5Mh$l 8SF@ KKx.+6ԓ-,-$+dցiF卖ed2ᳱ%%%/ M65H7Z]ʨ1F Ie9]bhut9]҅kIQ[&KP3Xhb5p$7RBIeXo4w"& IVYI,]#5afXmN2LhUJ" $q svpM,8u k @rDZ61Qqb~P)2p2`%y )(JH?8.׊6Z AX AiـSi]B Q5E -TRZ1;B"a(2ZSOR lZAi]1t-W#Gu Z1 03 Pa,,JSsȍ[ 9r̳3RU4xN[`ѵo9 жuNiь$"Q⨚:OX"ԹqSؤvs+d9vf3ihM VcA)ll],xg|.ƹ*Մ7 dꡳT T͙'\4vDF# * ԥuM#K6g7 5Al@ oˆnVX#E:q$ӧ9mL-DNIPsLH 49Q+60q"*rH  p! ˙M(Y%-LSftj֡ʌS )+\v5h@D֗Q `NFR :T-6b%D`֛ jIMYfjmddc7ncUR`8!YX^% Rm-1`j\. JZRS lne`f- bTiƮm&C"XQ3ZCfIL0 !IRT,1&d@u8줚6hpPnì+8Z̶%1HRKKf42D0.&l(eVDKmwjR0uѭI%%V!PeIt6"Z`PZ""A mtL} "M"`0@ hlYI FC&0!%t9qA!n1pIХ :QsBQsNĭYen {* 7q8Նfa33 Mf2ӣNRfp2E'VٶȘ0+kAû~繝r '̸մ2nDi3ĸܮ\)MQEfbb h)BpCJpme9 c`(Rhr>:4!c\uj@5G Wfm4:gHcKpbIoWwt{v$b ~? tql{}mBp6oSLh5f˸mQPsh2nOEAŬAe-cn[lm;ml)0M]`aP0d5SѲ9~O Gl?f[{[>% A9($A$J[2U?-݋ d:U)Hbfb+Ee;]ߧGT$a;).J~0jRwM/zdtSfNי"댩8qi&1ZX:C;.ȟ~"'Hl`t T/]̿bP>T_|Br6h? "!~\B,FUՅ9id1ҞjŚX)xhwf9Q2F<]pxNzf v-"4@DD όCC.HXR2F*՝nT<=w{^ȐRRb ZIJ@ZAЋp @#BB‚(qpA% Q,%k@4i@ٗcesUV&BLE9jޒCL"Mq @&CM xȪ1;_zGR9; R8T{oH~2NĂT`c[AʩhY(`HP(X-+6ҒkJypB% b VRJRTVSXU"KI2lT?f"Hj$E Gm> 6:c}%)$GH\qOߟ:Γ_oc_ \%Pnf"X`Re;&, Cgvw;]U;XbKBA*a !BaTG* H`iab BAO SMd6Ckj kaс6-J8o*  Q*Di0SE ͤI-TR"EJJIaCg& MY"M ֺTaSj̭6J Ѣ4`\,LDdnLX.)2YVƄ  7:Ou|jH@["LDw-azA*r{oЊr^SJ^4F 6[!h>}_"y!K ` r0sXФM* H*BN!jt$ʏWJ NU)fuBJ;@ܡF#}=FG_mulL =OTuw*=UJA{}GEtOmRWǹ+d I inli>cPjEm{qljTt2tJ]n(J:M0)iR|$nP׽E4[Z \Ėw;/s %dsrz2F31ω6zOCP<*o]BBl $MpBH 8* J|2>O̿"_BG0V6Nܽ6$?2@„q} qR־14y>h->K!ƛѡ\w1}-=[m!(*pJ2R#~8v[HwE1E?c9ZTS% ːԧ.}6 PSo$n / ,y-7Az8DYuD & R l"ǸXB*85}_R.ߝp $-m H]3F{b'{X1봜 R\Xt$,lõOgda;Kۉ:CsCO17U DjEUn×l5R=BBy~4%G!='jGˡ7+IDHK!CO" "yלz!$("Q1QNCPMv:b3ZqFiGA&d&Q=8'숉Z{]u k{j5HOf1+s`iZ`pKXM͇UdM162a,ڛ"ׇoB,HdFyn u[͉ < <:G3Ydzbcw;Om#}I]2(mdo> z8#dZ ` l){Phwx^ٍ0<|xČ}92O>=:1\N& MaUr12r`NVQ p v\ƗJ}]p \D +jIԼݮ%76]@0dc/tUZ_; } RƩpoTRJIKp6CIn]p%A$6qtX;tYlhAA[탲܈|5ۃf#*N[q5b_٦Z~N *m Hc^I Mv`Zǁ>M~d& !q>0\8r4 jqR9) \LUɢF>o_fP~Ȓ$$ B0$.p_}9)dFu>X;fsD4QTY mR!5[%+6Kwbzzyw0  B LĀ\*XHDHPDcJ S(P•)"+WХP2Wo~яsGv߬$᭕Si*%ť`8⎤OtբjhoHvW>0 e"9 ธ06-qw.Ϫ,PƠ5?6 W#<,cr%=UE Rё `2$m4+„Nt:|vHdbz?ׅJSVUxO^Jo%Q2qMvzZrPrT!@a#q7[: ɲ! 4_{:u ;a8-5O}MP c B> ld YSd` :Ctza"Ѧs:ĜESWBU0uF{ƏNM`c)QJh9Eq{{}pŃAE,ӈ>M%ߍ @ig!Sv'9ESE2z scL@&6 rChdHA"ىl` X`2'g"H5L`Lꆅ]:ѲF2 ?UgVaHIPS(wg5B5R~p/U",-3=(CM3>mr0(|cCB_tGeC0h|R~_oe|;:!qRE^B)HGDjș?[hlLhPQev6Ф`a J/Ns1N0q}K`/H̺i)vF)BiFѶIw dB@h-!nO u.t6',x7փm1r|Kr~Agҏ\[HmǼ 3$. lNCCR~oaq! ]X:ئ!q0+B|$9bȈ^ 6*&nԼ9T.k  e՛LfMf VEzh1hH0ϜB`q;ut#&4˟ĔyyPc>ΰ]I vEJG6hIǴm eQ4ҡFe"Г*r J:HĽ?v!r3}aG d \@A:~·>ȩdoJW4~ =O%EH'\a>2wT؎Qr9]Un $,H*HY= T'#Gim"%bqRIjlS*fJqfE1Nrn,6KsN$jv 4!D,,_(,>2rTTTT_ܝk3v<$;{vI {Y7&Ћ#ZM,ox}R{A_MN8!UIwLIDo`Q56Ș:0E1ES *d5(~4M!ʒ#mjI+c7cx'y-ĝp@$CЭr|\f|؈-]:] ) 6[gVH7sy-&b^dʲ Hm.Ðl3=j~ UR >p!@ůibW O?Zf_OUmGg&@y* PJ@i ) afLURAC URAURAJH *7Z`?d!Px̰x,귮֪%Uk}9Mi$b?)"&D& !> ~2B4" {13P:daFb!!v~7 X5 ξޮU(8JpTx>AB,@ޑ ހ0_Eg7!HW@6i\_ a+-|O>5ldP(( G,|]`'0D/_G @$rAVg;Bȑ2eɒ)S NAϓx /) +#>Ғ)PT |q;N'dt|s۱#{W)J'r^b<Y^)zPQP<0cVXk)W;Mm &>΃fnDt0ʒ0"@`H̥?"#*滙CgkR>9e.Aç4 k(0,=lv=O8*W.rw6;9d- |z[*}G0GGc܂|hwWβw޻呍r7{'ת[4?3{ z#D I/rL,~fՐ6?u'Bd*$ KMHIf1o.^_z6C__<$J"8qBrs#|:/H<`lZ9G$*xEzC#)B;IvMj](\RĂ({22b:}'7,H>@zK!,<9]KŻ;`#(k}4&.}r44 'J.zg7o=,\*K ~TFFudAux4&$AmK )d$P\[=ӹqj F D?[&)%X ٌlIyBxf)8r bVrC$!.$l,:e%?j4@R_>HcDb/L[ܓA{GA;!벛A+\,.)bV|8K <H0Ј/o[ c^,$ On $o Ɖg;ߠRRiC l4  KKv`KL¡@(2Y5$ dLf0&$jsϷxhwIg/:r:Nr9jgk젾I;}Q[8\cw#] ~Ekg vz3So$`&F%X Y8qEXHvle% (Ń`2s(WxQA r7jnR֍ylTpTٴ]H$M"KDĒ9KZ w2@^CM;'\ 2W I4*PUPU e$`{Jpbӆm cPLxKYkH$1Z ѫԞ o$Do x <'Ba o>y81#%wJXӏ$qoJk `G@w Ũlk5gKd_HG0;{ - Ôsk%$HݯfM RSG@HhP[V@ą|t58I 5dNi:.7%x"@sV7z]Z6D1+3db(t^~D/00/@&"qp0D-r p ~UzЂUs˕hW6 !#kXX%y#}t:]$Lb*9o)i@Hd1adUN *M 41.HưGPA$xfE#w'rB&\,]P%!E(1Qos8eD fvO~8ch1IQi-Jt).< p _FynpCUDCOS~z<ȦȄKoGW`-aaF HD377:bQcɘj#/F-rN$3my 5܈cK?_` l(3Ye/8iErϗIcE#1˂7I yK4!a1To/#T<ΔPr`jYBKuRzܦvPWhX2iӃfMsr^D S N~hIsAgxGhBK Ykz* Lld'H2q|o9B؁l!' [H4$.譴07^$ S#-;VđC9[Bͷaz{G-E{zKW`(,Z}z(y$P@!{.( SX"%&-TtnѰO;vC-h)\˙Ϙ 4mϗBj-S )ZBζR(o pZx:섎eʱ;]ZB%(:y=X$ ͋1X&2;<2")J@$udCJzrԮ\"/,|ZHm#V^5Ycvp (&su]~gz<毚iQ}wdEYt֍#+8b:-v( no;ռ:gaĝ:r,gI U`s&iWO2F#s^Y{IۻXmO9o`铰fñ`j^osrp8}qkLVcEs-ti3S琴U!"bp=$>3pdߐnҥNSH*pH9 Q|4V–qRn ׉!dpP:[9+'c:LV-G#Y Z4$N1 }6b:A*wذ_Gc lѴpkkn>:]e٦$1kIIJ6Ԭߝ%4uHɪrrHdBKfIIT86nۇny2{AbDm Em 9ڷ1{rVy-^=.G9k/us}UE6#Ss!ˀTK#/$s7a \U b5l'7:5{0v,I! 9%$fPz "ôr%F@~+I~[,q]vg2.nF6|E轳$:2u[H04{+b~<:Dv efH.oݧBnZK\5$GH\b >1(6K[2WȱoMAb:&hXc\Qle$,nf7^$gE)ȆRI-17(n]⠍/i Y3t#'jnNfۗhmmil#yXLv>21 )m [*1vA3;Z @/2i%ʑܭ" m~e J2]p{\|%!tUtN`q3`C4Ζ -# XR]{)$g/6m5/W_Г&EľiI{!MܵewWh#\9{Bg42%TŒ{|h珇RCcd7&xÝw CVgTcv 沽0zUK Śzł@4!I"{nL#&ƨM6$cm#5}.3;aV[m@X CAX:GJvw@RH ~7Ź`I0Mm)fC7#3m$R(E! U,4IJoCzW^>2SGq"~1gnwOg4](D_ڊw?~ xDv~f1_#0bX?gA`aC JV{僒'I2CN#Ynֹ-#>_I#>($ w_lY>])kHDDs/Rr 1R3hZ<4kjYc.g{sO?N..cu,W,{=ǂ6EIGWϧ.Ik KheX vԿC6]P_uXnlaS lbYl:7f_|";)(,vVŠPj{N 2\=p?WO/eq&J)B-(pO[ CEWyI'})rNK@={cXi6/}zvAR &Vݏ65ABb<{?̏j,ȯ̈A??7뢌;V<*5u?-`uOjOZ}E࿙RTR,V rl-d=(}/!UT;=ݦ 1~ڬwNz26H: jllvٝ}I/Ssb fUhي+i}G?r;DH&B~Si: ղұ@a`_Q C0\}1f~ V$$ZPXXq `&YL`RK h)V̨̬̬rR$؊1!"eZ<~q#*mse R D)-*4UZ$v?Kj*ڲYd$BdI&,7{Z"?]dN\V?Lt&Ӱa4ndLO^^_/9g+3ןy>ןMu]u]u]u]u]u]u]u]u]uu]u]u]u]u]u]u]u]u]u]u뮺뮺뮺뮿;]u]u]u]u]u]u]u]~ϼש_y~u~ٳ}v1#fȈbɶܠ'q srs{OgA5^Qk 0}8'u!Dt ˷hIDJev[w=xpILlm>v}o[O޷kUUUU^ªcUW[*zy.Uκ^NOӪ|?w͘ٿٷf|log`Q`hdJ$C5*i-B!RW'lhdUid:1Cjh x9C"M Vzz BNPΥ?Da6O# ݡmO,·Gp (wPyN@b6?'JzهŹ$-0b^&UEQKJM-i]Vrmj2I_`Cg>/bs9u/gChml29GiTϫ?k_R㧇\-5oӴ:ݞF!\j?$Yeq=`eiY?kons;: orPBI/>V I-X)Rij0A)L`5!>ȒO'ڹ_ F™4Ab(@ԍRgpe$0Y*N!󢢹ٞ H \T"?J@W~pOk6D>_)vu8l8f:wR(F9p}t(W٢Cki ̰q›O9 L2R%)JHGv`jZiBzʜ-"EzJ軹(Y̬6 C%%E-!deQEe4&M5KJEct1Shbѣ?GzMW$?'[/X[r2IiWL[^/7l cL_PwGydzSЄ\B''X8[ " 1i!!Q[ds̍+P,JJ@)e h4;Kdd04-s)RHX$6,/˕ ]OdM}̟wpkà{%\A'x톷6aG/.sN1nt:hڈ4va:6L:r*,`e61 ӏ} d6qN*LSɬ&3j̈6QQ\#Փ!5@5W@ wm-D@5)JRR[( /e.LD~dj~:w::J[Qmx̋f[fL^8UVA . 04 Y~-_˯:ȏWǚtH+>$jFlW>9٘K訛p=Ѷ̧F8Dq;^ )?t <z}H G1TQn%9ẛ*M MT!$9q4&Q J !$!$$$ 71M{]bv55ywq =[uYf):JFH "ACI  L\4#rHje%}c6޾b@$ o1 ;ͳEξ_tFx XBocӡ||yIGkR9u۱ ."d8"Հ0Gaa_Rw3c7͒<8ċ,Աr{ZclQ_vO0#A"G)B)f!BRADшܱAB*zcy^!,swѼTYnCuPd}A%`[y= ; bSS<AL"c<:mzDE!#5*} q2lDD$$7yjJm/[Br~ *]Ѥcqj7䪤pEE;"js w_Tp6> 0b< *KE"~Fbl|67 `:"8JkBoϽ]b\C~yj]|G n=j=͋_7Pbʰ@z(d Y=ϛ#,GIAa>MxERL` m Eqv``JI`1*^ᬃ,/1_1Q$MH{ a'*z3`apؘc7EaFaAsc& ) w $4v3N\+깧rZjll1v@Х7xY ;0R2tv2~hErT;!h>EbƑQ 8mdHlDTT#aZ_9 =I2DCN׻Iӗy\j7=2oi8:%qy/BeR?/uozvgmWUUUUxž׬w;ivk?{ɪN?׌|c}.+ӡ>M/o~+SRC*'p^/%Ѱ}_EIX#Դ+$LZ)JW4Q $9 #oּ!pFUR*(dИ5&ek'e4R!HR-+FA 2 qт hDaM&m{=]/p <(zW$c,#Ev KuvJz<_usV) JTg{&Lo/J?@;G޿?u;nЍČɬ(ڻn^mny4ɋp,Ɣ`sG?C(vkyꮵ;y4ĵ XY9T4]go?chAfy/(p _lDmץo⾭GRqgQ-w&AQBZ0w# r_5 6@N}דv]KvՈvp͸@;i\K'@\̛]w{P|4 Kl#4ڄMceH|ސ1Nyk p.di#H=%H!|/%=J6yMJ[7]>>$yOn8I9=Ԟ0$1jC D4Cl4@Б 0Rc?'EZ{%H qIyPyywh=2.\|R6CV@@# I9?yQ9 f,8 *& eK 6' _qeTUȇFϿOme8nǸhIІXso[tjC9‹> `ْ):>{i{U_R y#NdxɹI&"Sv 6o5#k1yr \`k#{bxD+2Byo4ˑhGlp^Nmt4{o^z4 -FdUGz.v67Kɟ#)qɋXt &dpW{DwݟhSHVkv9^+Rc BY l&'*[vA) ҉z},x̞(E0[ƞ'׺*+!|:/KQiyJ\dSj#0#{+>'Y/kwDi[6+A+ЍXG^+_FPëI{SӘ+~ei`1d4{2LmN [zvvG5jSq?Z]'W/WMgw>>+t:? vBRE,ڕK-J\LZѩrܩq2q-nĸR*RR*\Ip8. \{KZJddE\L%Ke=1Ԉ^ځ!.QJ5#%'"R#2PPSV8{tr,YN*/5;7|c6ġG[4xǪ{MBcj5IMRjlj"@JQE0XZ0XZͥЎ\CKuRqi.u:֒GZKi.u`%!`$,i*Iڼyz;{~;ܡs(>r>Vx/W`_5Kxd|c}}Ϯ_7DH-Ovt 's PF¿f(D=?;wJDD Alb 'mu. qMp7Gf޿"'Z瘑-%vA=d]H4<>cr։} ŕ=Au wuuJ CjDltiHG۸w'&bBrx`sc|"P!" &c Jl&ۮ Ň8p Ef(.s>~+D{FOIm2a \|Z¿k]Z`;c9=>؝6"q+e cpn}vµ x2;Orqr;xlt| н7}ދnq]RHV}bn#~IG1!k_;=׶ܙ Nᢋwݚ|4Ϫ@z½~ ܵJg>ףyyu8_Yjծg8ӻy6}L᷻JsqywpCD-x/;);~;p {%3IlgY*ShRC0 Ue#dz_>j'M mJ5Ԣ"%lJ*\j6"Clt)tB(kâb):(5%XAd_X)*A* _7c]ih7OoCġsM/ҺG>߇DHtLt:Ѿ+9-!,D=$ƹlp/]÷/)xS /`dVY`VUśyCmW q|}wۖ qk  e$#`&8O#] MS4>$ACNiennfhdi72\/n.EY#0!xq q~fJ!"QC0́O)5p uیcffΧvޫo8Y{]UUg9w9|/ss?Wqs9s{3畟9\n~;z~1ٳ8ݛ H6 HBH)bDOQPsQ lQCg#6ZIF$-\M0Q#,D! 2Z2W܀SSڡ4*BFe. X XJX3 TED#&XVWid $X!4`` p4y 6JS\zH+'eK$ @'aBKA&1(ܘa'9CFrI`;%8 `paBĄ^p]1JHC&[Ӱ)TE˘qt5ӬZs!%FF ; R11FSG?ī5d M"8dZjہL ]P4CÔGSbI ("#8Xˏ5 ;bEl,5iɺ={4)WVh)䐀wKQ``TؘmI0 W9UwTŶmZ eT`!!S!iqD(H! %FO@*)q-HikPHP1VJT) Rmfƙ9(l$V6@//g9vE$oDd5*[v0ME]>e,؟-IϦtTgSZ`E^<~MA|^6gengS<}HvQ<1bq3S܊ 3+ERYdĒ4j0q(d<?WoHˎSk m5#TaL4Y  ~VB,z!d- 씄Htbb#yc%;H?młmA>t#&g4X^YS) R=\Mg'P#>Կ>2ObO\GmaFj]8BH-%"4˴"f CZZn7ɶ>9H,2,~Yb=I 䪋B:zc_AG Ӆ00VEEwLGRE2""dBU !JoG}w+y$x#gL_z~<9;!г8yo Y56D!r_6hB_%x?d֯1b;P.1]ISBEG6b|`yn"@  v_8|v_{f%cD|nsӟ]3 \K})I}m`( F-j:{\'.H)SY8] ߮6PN`>U{~ffU232رmdkvNzh8yQvo.V20ͤ-YkLͤ,MխF̛]>u@W/kĬz2sza@h=%01Q88 ͞$MKk9Ue@fg=pd뮭ekVlmmH/j0F1$6KP0'x`c _]?Ma͚lOS?-s|r Co ]7΀S| Bq@8UW5+,&eY\&k\7ʙmr70Ô4<)R+۾"ژ{$q ?H5(7#Q6Eweg =N{MO#lA6FƫD6d1i$zK&t5=e/6ta@m=%N; y4ΰ=X64hh_9Lhhh2_\ ɖZMc&[ kNL 8ElRdG &Km&[&LahύE^X>"6l{_lvB3Orv|~''rKn/5''x QB (*7E3A_<p͛F M]CǢZjz G4-=:|N'ă&j69cm۱%_b|r9S}/'*dz 6tW{{lphm=6=\;,_n|܄ޏ(ixtB8/Y0clq;I[%d6OLwzW pʛ«<2 >ܽ]{QJ씑_GH}FQ'Ҡ2~I Mz >~|K$>g2ʆw9Rǫhšc1FEhOL#r{T$O"0FhEĔ\Y3 UݢTN-tBPu:x2wP [H?7'Vh@d ~/R>Hp!C!X?UbI!Wjoqbt{TŒȎ)Eďx;Zd]xxqcAuUM0P&9Esa`sMBd0DEJ%"ۭ9:"q{v?.=i=`9Ϧ $/Rk>S[ߜZC8t;Cs\ 5&GI!=lGh!js_]PDg G {|oǧsn;-e>*=i^`Yh9==>gt<{o}/ryhK tuՔ? ^r=Xܜ9鿦~o.zXQ0HPA=dfd}:q? D2Z$' f#+r'yͰ;#FN匃_NGnP)IX 0cn#Jɼd2Py1/w Ç~&v.aFp~].wY.r[F݆,Z%! čaS|c77jM{N%! D!nJlN{"f;uczoǏSzO6%B鯯 NS ;eo9w,o]^ioӕ P(Mٺ>Oqk5L]doA?Gԫ grCIn%oG_X5Ú(/^RWJ39DmbA6 ݜIQQȨ. hPн__7y^p/\/7((]<M]cQXCQe"gAVP;+x#e^΅܀%@?dOO"CwifI1c8!F»()Itwa?fT$KZ4O>þwY6?ęGhHI O߷8ބnq&~ͥv䄬u+z8df z?oFcLy]?QJYn2d 3$dgݘ䮣%ވzׁ6_oMԝG¤$=`z@ ;ӈȚi`7v72ujnFZZ 6~_%AG3'nN;) 1h(=Oyw"$+|evz"#AĕsXW U4[ б+gG$Z_7?`Xh1 Il1OB/8gntuZL_\_O~S qpW|M~!tutJ'xo]䤋D7MdUqy L}'`M!!l%Qav $pՅ4)BPr 9*I&A,-{5bMJZ2 11*Di)0\Jk$+Vub"-5f};2ǛUp 30gLK_7s:X%MvJ9pYm[m.ғSFnk'kn;g91'<SUfh&6ƚa71I/FuZ@ nDC?s_/լ^,С- 2 MP}m`F &VM!k4=z|r S{e@md;A$PfgzpJՖڭHv$1%baPAz@D9:NZ|-l5Y'z \wS|kJhMluP~UH=GMc,!l%X}͟˜~o_շoQѣѮt0em|u|tR.-$Qƞ2 f$+MkcÚ9DCAVKOʢHܧ2n'm4;m Sޛ>cQ} !+&!w]1⊤ @#%Ar¥Ō2X{!Ƹ6٥zp[˗27?*},S cԺ7 ZLQX̾>_Q`O|'waW巰i1v+qd"vI* Ƕ{bG(qy(k@406D#*W@y{F̻owHz}'^һ5CMM;!zٯ9>cեIz ?*5$N^߉W з@YTqb?r_\Hɋ-0*6Z^\Bo=Bo]_MPi6l^Q-zY`J= od8Qlp;=|fvq,SlSxh_ϭCi Q` М`Je"T 46a ?[E Ur}XrAKI=-됶̶I=*IUbT#jz,['i*|D>.}S={ .Wyia*cJDi]3R=uBoҍ7^85=BumojܶJJ *V0«.g*99X\NchwX}~S픟q7Fq0f wE!&N0hX71iX/R-kXE$pɯ*`azTy%];+gQ}HelC&$؉ _595'gT.T`E~EA$GaGNy~2l~oݔ`1x4QBymրB6+Zguk)aƒ>~ɾ2NCVPm |ff~pN IPK(H|=%DAU #{.>r,j4?6sih ha!>/KDMh~GL?ǛQOv~Ĵ ӠnOo};jsIQ/l_?xncq(0 D|/I 4}7T NF 6#Ž=_@+.}O^'Pyrh%) 5D`T~X%$ 3A ̮|bGd>xY;π+ ^rRИr'{'?W$RwJ(L ]of7)tՆg~BppcH+;֐HM(s[6[_/b+sBϷ@s80Q*koEF$$)QQѩZfgh5+ AxCVeo%zԍ"s3濨ChzoHfkYq簻oxyzjӞ.H5164^6>5\lw˒q`|p۴<2Mo$ p[\Ti, 4ym|^bZ PI$MڞqbHGI'&|{|3QfK羽D֣GٱwZނ;!sȳcmI)Ӵ{=ijk._'qbo$,~=\};p(( Y\(耖R^k=^xy={w [JK;DBA􏳩`ˮ%dק@RZc*#7 w.B c\YoAd6 |~eR-}$T 4l !^ <P}NX{IescmEm$ZLmxjm'J] |H)H@X(| $> O<y&'(P.%H_|j ӔKY|Cz ͳڧX_~IzEǡriqɆly]sy _9^wxNo~~^F1#%q8*Wu[G#}vS$52RZLMYMeYbRV2y⚣&3ѣI&ڴcQ'C851UTSdco;x+#|q6߇$RNFݜXrA2tJR^}FO,7\MJǛϞdS=JA3 S<9zK;ƱLr6ұ>'DM`$Hw$Jt|AqǙ]>}yoqSvb>Kn;j_$KD= ,Hl} ޿0 )չfp8HFeI$}}=5UVlc ϟ 5utג&M˫rw{R) 0vv@hq賈4mJ`Ps"ɀ+-NO+\~3N687NGy+]9s9N;x6Z!Q%!P%)IɷGfk ]? $|~E A| p,vB<tC'+!"GvAܤ~/|!"=W'vo!=vI+X*Q)uE#OW=!rszox4ZuHV=?EE%'MY\?ELi;|4/ͩ},D.օaEt!IZm7y2yJNIg${̼d\tȒv\!ZII_Vk? ۆUShQC *"~j6p+(Q [kC3aP@ 0 _HEOFjR¤ * Sb H%3Q2rL$U %Ie cFئD (">d$1 &7lhX#F% BP惾6!PUeJRTRJXL$DNm3EEQ%Pd.(r-*Kz`8XIf9qpFaӘJ4YDc#d3hT3FA',R#~!/,w X>bdxE>cB>{!i@ϻ+%qn(%:='4pM(nX*r Hyw×6\+UM$w$z+vnu!1blɵbPMOa9PKw#H~~>^y_SUl8#=Ny\*fd%t>!3ȧVǡB V@Π mV<9.G@ pԇoJ#$aшHUq#J Kz&|pT2MH.BVY||r:b&Xa4矟aӅ/na)zvĞBY*R<7P|E1h`{~[;{UAِ5_OwuqGG"CFK9~@P1OWkY<ЁPHTmSI/ "Gyw]z㋔%k(67FL*s]P:&gTKk'Iٺ Ɓ:R=aDv! Q2T$@uR1#ð;QH$;CHmˑ1m#/UC'cȂ+bUȈz<=C}47 n@C{_YNzV)P'K O,B*KH{J+A!262z 0h^ a]=b+*hce'u_C^r G!i?Ew^)R˒\8ȗ%Ȑ2DC!zb P 'tLv2G&Hkpx`xz ⮎@8UD|R .d JR(j9ǯ|k 坺E@>vFJ Tk5$7pf˜i |Th$2K@J)ښi Vj̨{,0ˇ7HCra1Dn{ Ŭ0'.HnokCVT%"d2\є`iXRn.`t/a 0N T1*qOW\NQUuX,q6%͒đb7Ё#CuE]b8űzۖ)0)A+łK @l%U78='P2QVڛ-I MD%c%6MLbٴJdT0̸qG&s5 \,Mk0᰽6N[s&rfC}jip7⎔-Ӛ7Ku9l+lغT-RpBBB9"Eoqv۩a|wY2 2\`؛9Ch2;{nնA$_8d8"n3/^ulLG#S%$)1`aıf(;$^A[a#[s.)VEieЏ( Q'rG$z;0% L$GW|mFUU:J=Bvgd9brzW*9_eI[l@:שPPG%~SRYIdآ0QH\Ga; ֪[h>,z =nĄHCu'Y s=1MHx'j4Cxy OCP',iHD08LMb8qLWJqq & b xi :@:D-{x󂥛O\D~$KHe HQ!B!00-A BޒU/A_Scˆ"EwQ| 枦v!v@;I"Y d;kׄ8 {jXCiQ~TauAV-<>#Q,&12E^:QQ$R%G/|#I4~HV%#h0zK9A9dmTq{Q2 fB…7mH 8Z#8B'~N)>uS%A! |"nC/4zMl/>, 8}-qaFz#$y5$9d<*訛38I߈P9wsԿT,* "lΑ$#vm<{''׵wbN?j;~V9_Yh.Ǹ{>TL14!Fѯ2ɭP&ٶJIh,xHÙ\ ]]0eLH$Yh  !*u첳) =G*Yq>?z1"{=\{4:UUC>ޟR=1RA]ɒEidM<%i$EJ^IO;>4jCc 6ٗ<6,MTTIN͑Nj6"5$ NB5βqU JRђ#*% a"u;e70)J$r%#͋!"'ؠ@! k~|Iw>{x~g~SyOy_Q}=_gzusikw_oi{.r||+>W?s<_;iiiiiiii~M44M4M4M4M4M4M4M4M4M4M4Ziiiiiiiiiiii7~'50i~#6$85j7M]rnyə$8q4jEt4'P؂ Pdr a\US\R'{]jAbYRAhIzV tl([+0a`$`"adc /wa!iED5'? nAPH퓱΂/)PTGeҳ3#! % Er H@G?iKA=}B#nTeiȲ;w1w9'XiM?_?OC~?_WU{ c{+vUUUWmUU]}]x ^ \Ǫ-UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUY>}e=.sбI$@?z؇;@S*5 xCԒq9?vz@7~{"~Gw!Zi`> #ʉ6g?Üy"GpTqE%^ܒGqX4?0O@8Y{UUUUW]UUUWꪪw{߾}w]|*UUUUUU_?ۤB7f~?+"s?ʱkg(RNDwOWKdE#?]ԝO=|%^Scꘐ0' EGdGlFUUUUWΪUU\Znߵ|/jEUUUUtjZ$@|?FiD)"ݸ~Fcf7 s9<9s9s96{Q?#E0IdkXTaKZlDКVF8K)HF0 ^jPy,n-#! =Ȏi lr'h/DⰈQߢN@v!j|9Ldzyi$N!tXildL1 A@NNU*$,(7 ,1;=*1*i̡P5!JA@D剏{PwB^&ɨ-N2Ny; ]=;;hZl,8q&*9?d- ~28'c}<^^Bfz *= 1-!-brfDb$<^@S0^/Z?OX6>xhCeSߑ\͍iGuQ=haض% ɕi7@br StTZ;'R[:!AL%3Fdc&H2@0IrIےp]M\nDI9iuW9т!b: 2)pBj-"[QmVmEk k, Bf]0H$|!d$DBD)C K% ]"RQ'7BDHibd|}K!; \>~,'*.(b)HML_FAhT*+RZѹD-l(B#+8d+%S#XIV":Lu!RX*+,jR0) 0b@"ă\q 4TչQ#0Wb@8X\zvP=;n*x(pI$;}Q{8>#&: p_gHdDG5@^? (GSޏwpu)eHH 'PiI5 e zIS$$d ̤Y."0Ţ##02q_2I!t%gh o%\TaD'47&s'PTWD?(hAL!Q#m5mF'G$_mHI%)j-%HR7L̉ ]I!"L40yHz {$r7: 2 !h3Q_R<9H XJF)ArCvWlҹn!A[1 {gXq/Ù& "#f}$8x>w^Š=b O9,OS#vR%J 8lCl"3w.g U46f5.eU#<Dx<ߒ];<_@??Q'ff,Cۈp'vpk}$rz N{n!oL)Y~2" щ~I?oe6AJ ]v9h:"Ii+ ˠ`S֋Qf.)LMIRhh[ U]+^3.]64ˇyCqI]`W.EnB6_]a!n\{+Bo3pyh\$D%{v`-v=ɽR"d$QbdD P~O&N'6ti'"~SCkmA_?n7?N=m{:IȚ?=߹_>-?ϧ[;ߋN3:7q=??{~<P~?G1DH ]2wȞAyDxVkAwˋ~F&1)Se I@}ktdnҍ4[ؐř`>+rr+'andIdǥ{v >-5vyӀ3Dש3ONk_a`tY&0Z"ǦsN y 2GMkRx| 5e++1!Kd Ἄ9\@ j1)6>2RLG2ȉs3MBGqi6: ArZFK_څueKVTTLY#Kfla_ kh"`rtNl60AB 8S$hDuUdxt,mgRcFIN2?׃,|OqwsprٿHt +FmFq0Hx|޲ae=?-zG"Ç˧Yf!UT!Ďgx/h(HFhq0/4 (D^a:еЊ%Ui(E X% 2iQ0TId$/.NoF%PO.T&KHvr` #J lU) ٲ6F%kl4R6ZQb&kB6%f4aV m6ͪEMEK[,mfYi1S%E٨-j+RR5VZJJ+  ,2JBB  BKRG4v S<> j(/0TzUbwbTx,P y| z%T_hO8%yԎ2GĞ(> nQk I2ĖH,,ӗ(l&8lm iDNgM9J r!6=)7UiT"b$TBu]t]5F؇I @7m*,B^ZX'GNEMZᄎpЂ`"\Ieg䬢nnH*kw/P(%~AIJ{ .pVޘv, `-JX]=\M]9*0$z l xi XNT-y@AriL2u&ueN 8R=T膅qG2@+s`\CZjIbLәkq|I*NV蛕6;Rhڲ*%Q!m?<}E 5S)Mfpؒ,I $oB>UH||oC?wxX/Nc)7:ݦW8DЁ~r6J!(w?Vavv B `6n!ƥc*kNԑmUϘ ߰UMMAU'6Ui, =TU"l x=1rPyXmv0I!/y0m_ lXy^oEXa a옣]7Yx [-yn<$1¨6ۙ)hH@Pa1)==ёY1*9x3l충b*ֶn +vƵE=!ުP望 {y<8vR%mETKEIa}Cp8ESƒ|†(9k26,SYS89'UUR0N82s=#StUITub`@`,`ҨZ-nɖ(sÄLi5+{2*!f+ʘJ,ڍi2{x,xd!pjs:TH@# a$6 )S-2&h#ɮkAAejp!2SXn|9˵Z֝u6_kN(7I*s XW`E2fsҋ- V4G ŤF$D9!k֥MmX5%lHU $BB`+Pu ᎙Ց"sHtUɹC9)!a}0siǓc%ԑ&C!za2=},m⪬C*ˏ:k^uT;r(mV=HvGkܫj!̢< %$ed0ec2YD=(pNPQ1C Cd1QNЦ9hNI$f\QlƱ (k^QS if Txy˵tr4]j6rMC`k8ѩo%)dI$I$I " &aOP~/da'I鲌%R71e.Z' z8z?A v!!Jo(Q``!&LNB\ȸ[Z (Bi^#vb/8~6dЬ@pRACBߵ3?p0%'^W?Hwh~C~%R˘Q򖱏 ~W614u|ʒ4;L2Rɒoƶ~IST |jrU*KNXAJb ?$5 c`[޴zBee>ҧItBM5d$hzCZdzrC_QZ)Bge{0/ =D7,ӣA,OU&$$3"?O@󌠷Lkdɯ iW}o102JFrBZE(س: @J밄0dL\TX MZt`'c9 +@H8 A8 +}-lW{[!#TQw ?HOt!Y`}Q)a=UfI}X1eIUTXDYORBH^.qֶq2C|>*iR4VwJw16i b @ FŔ>Ecv%ڣx1~6&z4T ,̢$| DM}!G/59a650$<$(&`D'#dbx[@?bOczqS#'=QJ`'n8Er 1-2,ECı* aE+F'u@+ ;JS032 n)b!DHP %D`6 ȳbFTvGX( DJ-X…P%&ڔ;fXP8fL氜EH$He9a8gI#xDV!0` yM"YeImN*fqIo|1ȉdI)J ()*DSlIǷՇD!OI"H"~8ybBG#p4C+vʦ˜XYL()WRh?5+עNR@RU;TBJ֘_)*r!rQ悰;MIhb  X&$Zwϵ?#f?>5Qbr}I4{7Pex]BVGȨi7&7a\rrπJt>q! RX_Lpu=K %DFe6`FAED,IRC>t;"t^s~`k5/vQ/EJ? :J>wO"Qs ,:'o3ѳ;u !JEVaRI@aTbA!RP G @b X&!  a;T $M&DLN} ~7j}*xMϥiv]+M1MXpB=lDɂ{(⬸f3 ¼lH4aiKܚY7ʦ9(~Ռ%H`M«,ңK A3Kv֒Pb a1*"1xeeilfV$r0b"P ]Z#JP*c ExҐi"%$PHk1 s*\(YD6 ,R0[ q; @G᱃Ri!4flŢ ++0%BTS\2)ak'G9M&g$L$LJ75`c0 4fŦ\ȅbGL!C3kmZ$YYcF(p0š !ab8!r9, ` CL,*EPMIO,fvD ͤ68Z'V.T`HPp҆~í6!RGljdTmd^8!Gm* NYeN:okF#ZkdI\8DnbnAsq2f&.Y0{()mȥq,mX(نҚGhR^ ]./ M3'!1m!t8{lb?:6R$$! Q"R01>U C)l lݭK]&"dHƮ4*E$ @Ok͒jby"SHHA,b  "dn;|.N,T% {rɏtk$8 1u>.ǂ,MZ$lllNHhݽHd{?GQ4Fj'j$42({ `iƘBf VL$nsQRTUezdMd3%$d("ϩ=I)k*4]'䏾aGU>=MFV[*ݫͭR[neeZnF_v?ĎUsUVH~9K5ɉ^ pЊ>#-'hpugGΒ[cKh!ѽZTU#rhMD{JsQ[rDĩ9L>OH?`TyJPf~ cv2d>mtrJl_D|z?|y8]tB3=7ŕZYXSUHD1Dc4eh16Q͵Jk%Q͉`&f, , 0NVrKibn\ eqR6)JK\r3j9ZfH.\555&BQ&5)D. D +P"HZjUJsd bxz |$揚}7nYn>UZZo@, J5eB#Y%m90MV(IsQnF| i WњTRo'lDNZAKI*2ԝOm8Flp5RH8%_Q7"gmj2hlAe)9!I@d"︘su߶ƮTr':ܜH9I,!da,0 oRb jli20YH¦FOl>ovoDr.}3}u8E4BZ>"#h ;5ꋮD2)  ҟr|p)@6B_y":4ڴyQKCObv>?G/5CFD4.GP*#sTHq$* Po/d1]<ᒕ)*h&P4n;f#D;ˉ,Dݢ$3 F1NfPVI CTu"jLLP4ΜMrM$'ZA)0&dXT&B vؓ4dݴ]gP `$+*uD kcgĩ\ W lAD5RT5 "8)#8oS֪1WYV ʹss֎"Ylݜzf9iMho!&բX*i ;MpeKi>[PV+3'-X" \0+U;a`Q H1Lי]ŰۊcЖa%ƷdOHO!<lb869erNɉMIg*^P@=[[ 6̌ĺLSl B%&J:QT! ҔrQ:N Yg@2 97Š6Mr&I׍G{M6JҰ'UK@ص9FFYVXJ̦,qK'"&!<,@hET_BF)hnB 6q[\+;Tl!)0D1f Rĥ+=Ȕ,%8pP5X9$u3Z`BHO^<%mk$n-"ꀅklZ0 |N4M7ã˧8(膅i0j D2 0mSFoKdJp&Xgr[M5} *VhR(fw7$oFƦ)JD.<#9 Z! :+{ 2'R~kaΚ3ϟ\Ӊudҹ- 9ea4vC TV) M$7t/)AvV÷˱c8f]&0S|̱\7 bHl|lhcjԥ3jԋHRhy X+bQmI Ava F,u*KP@% nepN"l mld܄ ռm}n4k3Mi (1\v<+kϮUtHP,-jmIr-l櫛SqgǬ# k;-eU\F師sTpE*0ӢinPs'rHYR4ԇ'#lYL|myܜy S'qUfDEjNbI8+1|@ۈpy,ٛD'.L4u-t7IɒFBU$qiJM-JјoW'lsw),$!=yQ?PAڈCB-l!tپ| L 5*R*wb"Hk@Tdb%.3" 6I$2BH?pqQS4YӯcèRw2Np#Poef4 f=D˄K#c`nUn* m2H:,1#@X$DlFRJ/7wh6H89F>d`2A POؕs.\}qHMɭhљ ~sW,@k$"ard](a& f,EW 18lB`lUչK bv p9)hR=Έp%qd[ ]yH.Z= D.3h727HXT j:U&x ȩK;I;ԌJ9>Ԛ}'ZPt= SPz%^$w<"'K$,i!gך9I;͔t:tjm\ށyzDU"I8#쟇!ؔ\y_C}yWl'!a17h4 jTHMf @6M-i؃@}>'/wA pt$*Ȉt#=~w]2D7E>!%շ3&&EI jD3a3db)(r a X#}>AXaHQtA0D""BO9$ot-|;)QRs1c ) ?3CY$8T jiYu$HД'AL#[t*ې@)ŕ&mZ00 @Թf A! B-,EmjB( RE$Σ/ z}{6nH1'7Nq#~dDaD$1*"Ԃ`H;"`y#qwt{ݙS Yg߾I]!gkl~"|1R"_u$F܍59Y~Ӌi li^a H^i/ j\FܰqI/4 Ma4mf0pȩ$N٬$`C(Uњ)3d1wLqC9wAԤ%'%i H5#rijF@NGRcII M $`GY #tUPSR)$:õmS:*{VUbH)#lWٍW]^Ł~M|޻{f YNϥ7Cj8 7|1Ak2de%mtR #jdʙcji􁱜l)e /"ؾ! kgf\[,2e@yX̃Sâ@dfTN^`L)5G" $tT[jUYBȟIjMZ4$Ή1)є.H>KNT'-2e"2-[Y0) 1Q nN  *cQc`"UEߤH~)[ĝ(W,R#Kuc**j5Yl*Rki"WߙyQP̘Ui _qҰڙdTF`biћ hɕ1ؕ@$JJC!#P۲; $BKK`k+RiMVImY$J2j%0̦͒TU\FF+|Py(,ƻ=JTzMY׉їu@wE=:|}=RD8|&Np#D F4CR5Vx=D!6OTI\;wӎqk%~<;# 6wrtE&&IŪIizz~oO{JGpL~+P_1teU %}Q6CH:\$ў/΀Ry;$TP)-*`$fj jRLQlMGe)ZH#w60޷2x#9JL2Ȋ0Z<:͔VUD* 0(|Nx@iWLU< |f]_ٛXB² {3@KIDEH-wxNY<4q"OK*')|f2YZ&Ia~C& dP=IܨyL 3ȴƐ$#E0AbETiQ" H̊`蕐R-"7͘M4J" TOGB.3)E"%UKr}̤L0'ad}+xH;lDU#(ЎXET(0; EhATrH%C5XLÒdkH[VV>&$$q#0&$kv" $t$s)m2C-D}K2U2d\yl뭠.kvcYBTe$fAR)MU!*ֲJTR@ !RU⨻3H ԁ "#!" ԁM)J&Hw㙥E # j  22^(*%7W?S^&(v#,s]S"ErQ}O@#Q:Q2z="Z߈Y "`i@lT<*{(O&1Znl"DY,RE4.[X,6q(Q1Л_d7V 4mn9&&J*Hgn_Aةo%I'v~y"B"DA@вjd6 ͅPԐC10j-C%YXc!LTeqd)%{zbmϐ58H^ekj$ETAHx a >4_t;"ζDtVrgY$Px stH%Gs0mFIMa" zPIzN>rT< IG,-ӌ X4(fw~vGoSpG"$T-HEBBD(bE U)(Dh i h;{S"amrj-HĒ)A .br4,@H8TM:P2̐)%0H"ca\N^E7Yh;>xtHBP6s VW( $`8[ ŅX:/" m z:B(/k"60"KF$dyI>S ~=OJ8Ic,CVȩJ}WOx~Z3FTH3MAul+;3Rs~7xQTd.Cv9pLSiSRg.|4 " iՄKXbK c(1VV LZkZŋ&.6e'lxp4@HP\,fT,&aBA!\D"v*LC 1(>b|)EWLDyGeDOT09&Gj!ܑH@*HQ_*az=JƩڌmH="/mLЀb1_N lXLa'D"VWu&Vdփ 02p)5u)dlqčA$؜1\XFI%%%dbi *kX*dF,e!LZ#61&ż ]+]mW㋐ȡ #JL2Eȴ%*DN!BbK1"bW-ĻZHLT8,0cJ.ɰb)"0F# 3 dsFʉDI3\Eh+fbdղmSi8ʖأ0W$1KYS!Ljh &̉j%eXdTݜ=TSnl}aR$Ul|B!YA$"Ed"BeP`PDXf373"`6Id਒S~]T+BDȫPH0H*}c~ɘpi = o@;Gd{ov͟=H22ͩ]/dRH)$H$MF {Pa}>X $|0,*#At@k3n#oF X1b>#&r2XP((p =M^o]*>kd00gV5yD 䝔jUUlXv X1D>#EEp8TpusGB>@JJ6,*ʲF M&$,YH4"$֩IJ[eAR&"mm$,f֩) fZRU\"D {Ƅ5Gœ'2II+)Ib,X{IH)*iDhD?@;:vbPJR2@HRKJYQdEXMb#d}o{d Nf:ǑEU'oԭkPhEDµQrۛ20ਊXXyȒyZ# DFd}^^mqyJER UM 秌$Bk=t\$!.;v Gt9sRJD"%ae@UrI !df bģ$DY=c߈~RvG1B싶MBPx51:Do:*T $ҤdX 9Z_ZJ̾MbfFOU!gH1$VkP)Z(PhvE%ifTLQL0ElD839rgq` pT{nxjȁf#O1Yn)xIV R-I!׵NR2Yx ~uU(a"bP֋rPshf6nZ@6GkO\Gܣ&v)d{O:!0X=Ns$CDBˋ&`( K$N SCp5* B1) FdG 1ɉ BJVH`"K 2 pM )/yv6p R$0\`X0(pqQJ$DkLZZJH1b-JE6,B 3B!DbۘআUAI`Iv8:Y"B()2" o r̥ȟndQK%mU$0J!XC(,{K 'R?SDW=B Ip; /FHϡ."̃*&*! `Cy"o6&JV_~>!o :>$;Y21bbLO6w~,r Ȗ&>eZˢ0{8d b&mqV*,ʁ) $bD`#-J.LM`$DP$ Вfbx#f(ZdK  0.*! %2XbHCa$,LNq|ǘEEҡRrD>ԀJhdS$\K^Vǖg2'X1,M/ǏtCj:^.K%nw:q\D$Z888㕭kZֵkPBIT1XUƷkZڷ^9e:z|J-HIJP"!af",ᆭbzlXMMhJ4J(u*a:=i22 m(l'ʐW-zpm&YY*ReKC)G@{dZ*H1l>aT^!"r򐓝}P}x㵨JANPB=Tu4=,&tLR šJZfHVAh$gI}{%,=ѓ?V)5M/B$G3N%j itX sKR|2>:H[e"TI>T|u@Qd3.f$ K hVEs A'l8u0/Lϵ(>N裿hPb|7CQU6蒒udBx;O]}+Un4/I"h&rf: IHL'M?ɒk;Xde6lY=${<Ē% xH {q'jUYy¦M*l*֪@,80bQ T( x4RH@M$)Ӗ,$-%ک!멘et}"} U_g[;?OX;|SͰy\Znw݃$A`>d[$&.0I֊#Db2"L%`S8b"d"L@NzT߄ `et$V1g75 Ce@-ib ,~7i1kyҵfr$0u051"%ɕ*`;@SC dGBu% +B\ZU !我E6E6p9ffڪ@)\ŕ 74ဖZH-rIt%C4#(Xma ɶRVSCF!ϲ`-694b,r;D¤U߶υ"* A QBМ2C fQ7ۚBJ[k&fM䵨kFdmmS3\ᛉB,-HƄ  rbD5))0 2Dgn!cj]J8oYNΆ H$Y@9GJ8CI DUe01MEp C`c(((' $ Ф IM 4&*4ʤ&Mn "4 ƒ'Y'lI4 _k_q*_iDFD#?ظinI L x5#2Q6W˙j te4iઈsNPd٦dPH$a0#JiT2; ThY+th8V;H%DDԠS66vƻ6ڼ'-3 Jl ! ;8/GL1D*f;9l6 NƷj0jG1i o8,f5,!jD?D;$|z =UR f$13⵫~ip`BVG`n +0 SStL!B 3"0q ET+6qQ&WsI$:Xȟ/'b8}vH H9b!+(HĂ4J@ 3R:H\NHn8*X,$Q>"{>d+$[9W@|:i$n^%K>wP_3=ta@"dB9D<ĭ.A4 GŒ*BF-55 w$J$zȀ ZR!TM"" BEJ!JȤH.Й#`|#]%d;ϡ#M4&I4H qp1|]2B%Re}HP7>$KL3fHL ,a!р8<8t$X"{m_d>܁7ˇ|kc9[<;0j~TNX@<)ӉTJ҆ i /dCGCaQB"`(hEAUVΰJU! X"TB/lR~nA,dRoCbሒ |;x7Nɍ=0V{8 RORDKHD ,Bv0_G=9Ȧ7@BEq?_>@ph=suv*CXXfNzq!-8$ӯPЛIfRB!;QˌP!F%Q U9\=|#!%DRVUCpǰA(Iy;xX0DDQyU}UlrK&?#I[L,yu)AYQMHH؍'_!V!S  L_ @CB&'c"i 4^|唿d衺*ZooU'MJ~>_"KbĠL($ab$!)’* HMd-(Zӏ_I=\;.۝n+}bDCI;ryAF3| aAA-0D`-<4O[բ !"R'nB#+Bd͑GHw!ʬ|$”!C+Jd ieFLTIؔ bi9PT;5Rv>>ġ#5!P85d,yz@sOE\ky >93z؉!->p RȎz]y'>勆Ll 9NĆL 6IK,! 1-,V&@7fbeCdN&IȨ 1$2B ֐5f8Eb9ʘeʙfBL@TpX Rb-ۉZrҮ6Bi+CBfΠ֍u,rdTMf+&aT7\ubXQjS(fjɿ]qaMiH`D1&HWnƜb&ȍR$F:r 7Lə#ޜGTb.69+YGB 醌G|A@W@;>nhXqaU!5"H!]JЊ#A\ꉶo"U )1XbR6,"stGDT߆.tZ7D>$F%ZGnrSR@*Đ9!ꇌ+KW ?Tӵb$\}yV:dIFAEd? j*յJYD)XC`0D `qWn!@ogi9=ݓF-FQ 5։5I B%of u8jDƳJf4Y,A~ 2D~jǃ1r}[q,z$`*ɴ2@BA`BD]($EVFa]F$UO/c|GC ? yH`"ed1M;VztpASW`tPtH2fx[$A(oݗލaD@6<$lO[ì,kO]"w|&@@H738*ѸqtnK88DU8ֶ+Ѝ۰&o7M#EniL5,@dJ6%K)湺_X1YA61AX ej/nplHE(c$ͽ Aŀ#gup>Ps;Yz i~R6ڻ+#X) Ɣs(-Lebd.,i<+)T'3ۅũ"!JDGD%P"ţNR bQb@kII}cppA崰LI*ܠ"AgH{酥fU0"w9-sq:6#Q$HLqʹu{MnC1Lr]H2; ꈄ1)E| (I, 5)kIt:Z:3Z 6E!9mv5`$Q\ɱrEt2VC3tI%/W.*xa)nN/0,J|Ik 6-M`m&Ts3lM(EkQqAv|[gw6uBe(fIG 0[@:4 ^3DȄH)9MQ0S;u-JlRYؠ:ik3WV b=y;cȜGWUl4 v7FB sR b$4$0fx8 T3E N6B lSIYG i'cQCy ΪV&ˬ $UB$nsJ_"+Hw ĈDwr#h<ɑguAɨ掓JRItffu%%)~rb$p"MyxhiNH8rҼTc( kmP7'AlMڦi v ,+!IDFD Sl LX d;Rٯq[ zI*» k/i); $'w6 oͅXDvh49WYݦ&Ӈ7TЇБhyk ` ,8+g/Rbtix4w5ƞY Ya<ʯnB22+Ah 9ͽäbp qDD%h(> ""2${H ׮m$mi\o]\j]aJY5Ec"b;Qa"s2R 1(e7j5FIHi! <*:h.llbʲc\E0X6J̒1І4A*dn\3,|JDw=T#~Ef+aa# f@1ԩ˧0uj=Ds*PT Uk=*D |xH?fquM"'2P)m+yy%l֩j*K@qxepq*7SA4fV/qNi0"$%w6YEҟB DQ2ђxթqjDL(NYBTt(l)mv䴛ԄʎRF*4qh?D[:Zwd˼3&G<>Hhf N2:x{"vBb,'zJHD i^,;mi(D%P02#%܂-tñ̒򡛸,r"' wx}lEZ"mVvT40ɓ/ ML;G(2WH[ QjϵOױrEJ~ OpJuu\N+tL:2_T9h!1LXH`XB4 2 CI Xb/ 65umUU-UP LJG`D`c؂,JM_"<)ʶ8Q$ cQSh3$ձTϜ>YP޹?s6e Pv [tʷT0rZ@2M3(h42A&2`8""M8#oP*k`31jC 1*cAl7yda3d&f.B8h,LfM,,!$ "2C zvJHP4 =)+%zG*[XD!v;IH8L1"IHH {KI51X60"WBALg IfLIq1&k 1i9HSP$2Ȳdukhj,H3c~֑cXsMBFYU%["P9<G#?lT!xk]RUtgg" 0Ji %= % 4Co=Փ19ĽWѧ[SsP9Hdd$\5T{ &qIzvHlX;73$cZ$s<ɉbXYdY`)"cw=&ʤА4\hC`B1oBD@4 \:HHE۳;h"HXZ()JQI$8H)H&RY&ӫ "܄v/+"3a5 Ke "Sl4BŹyJv$1P JRbjI:6Ct,>*2l. 4D6`;/:䌌?f7MЦĜ7̒UYT9FG;I Q# ZӗF9Cή1.7^DagSIFm!MR&NvԐ5: qD I"M4(ԊR@@ lvª00 Zdt%T.6(iv8B I#6āp&K[6P@ŹZ](Qc@f&ݐۗYm*9yCi-0*hZ8]KY2[PL_jHD@F@봫q:#ܗ9Z%5ΨA/rũ)dh$Fpljwk^%sn Lpp n:DphCz dڳ /Z%`w`#]\F/d8(;f.ECΊ,# 5whhKbDA29 22K`-/ԫx,khQ;ض Zƪ2"-h[^D:r]10!)WI*pG&465Oeww7@&3iJ䅢&Ja@ BnL73pE,tb!(+%q6<5d4)ֶ%d5HڲGDL BH86#mo =t%8EZ/P(i 8XIiQOb FpBI*HBuA)2=.<,#!"+LJ'S#K:MsۂMՖZc^8]'WL4.lox!UZLU24Ej< K$1:lѭ%3FPȗb0ڤhrk-EߣmPhe%bZK.m50!ӚZiA+7gl1); `ZPE;PJUFҕF[QV*6et1Z\}Z+NN`8Hl)----`jIrߣt7I%:c!RрCq *2FBvA`i5%^BSmri}unɼYe,fv͢͹ec CH榊D0 3SK)lG9S) )eᩌ"֍S4W[BLfqԦroʒ.n9F.`BB,vH.}U=ہ5VR7G':.OVQ;Y<{{4M"ӓBv,wDNvlce[C1VLĠnPvj ^$RNM rԘi&3h%0GwP ][ZB$.UlݥcI#bĚJ)&A"t4Msvew-lI9@0ę60Dx,gȰ,lUD(GMbR04^JB\"vҎ I6өʜBh)$`q)&C038!4*RĖȒsH4ci; !q7o5 I@% (RIdFhi {ANI\ Gz=ju-#$!;'C2D,DT*⹈(_"IC݁#D(@u0ju tH5;JDB:qX,*d(֡0D L+ @a &EED{FLRٔ8.K.PC`ʕڢ,2bcBXMjAߗmsrWsXH |ҥ$M8a$$wRt9$ApB18fDwxu34h3+N;Ih,mV X8@@`?X~qUUUUUj2spfbUUUUqUW+*BARI3;!7oXUy9٠7W3)NiUUUqֱUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUK2bN2.Lڪfffef5YL;@I C< {}Q@>Zh w݈sĈEJ<%%JQdtNY*sO>[Z4r,Ta794@wvU<¥4-*"yQ`Pu&J3"JC {'j;iLw}i (Gu>nFBO!hU,,9$=QC !Va T}0%ʅp9\%9- D`\lRI:H暟o?vÔ> xcnXLPpudF 0u"tkiLCG`m@q$O'to~wK fRW[ž32D& Af- Hy5Q[6ڛFLXڍT\XYPL (+11$ JB=#ܢZUO8/@Jszy~>bԘZGߛfUz8 \N!c0YCʂ }՝ &*B ­Z)ԛAlY`I%=10~mZDM-Oֿ ˶گpBFxdH)R3X$)@K ]X RSVSZe aPCFTJcFxI/%C 7GؚME#$%,H&ǑθZYe4 W-q{ђFb1D(W- 2ع t4@\iw褜ⷕ6+cB&Y0,9, DC 2iTƌ0I#YT9^N@2lڎ:` L T|U!'Qm|NЕNho zeEJaH `Sا${ Qy?F> ւ)dVCUh|sGXR}G^ͣm }{rئLJбe Ok#ڧqw &RwHT2!$C%'Cl?t'僻 ?O|?+|O?W9z[iv{UUr/ǹ>%yǾm#j-KQ-8I ^q8uO ~Q o1SDW~{~=UUUUW_xϮiź*Uw5UUUUUW"/+2sUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVv~g1ß>|hP8 ,{i8IgW| ?M%]:zcY;tZfaSd qQ9!'A?(hjo%A;/8CI " WRRL̈c?+_s9s9s9s9Nדv_y?/yys{S_?\ NZ4h'@d(lDkl`xidFT@EdՄR0h% l2ENn!)zv6/1 1 +^В```)h_ ,ez,7mW 2I0Db+,(N/L$Cl% km4 6 S!`P@H'hpN * %F8<|R@& o!$O!DeH9IؐٱD?coʦ@r%CRQBFL2R4P)$Ԣ BP=p"GȈxe,--EOiHh{ `@I ,A˯i'XZsQ`e!(<6 dTxj q^|yYɴaE) 5md#m.ZF"3!52YGlUS""ww$Y ƍJZi!HvAI0bbٻms ڧw+?Ntu@(oy)`DC{`EV5*0wk 2DS$[C " bBRb"Gx|_=ݜvo_}A}yo$^yg*u_qޟs@ }mw8{J\m Pͱn1]}5όscsj]T7S ӶjvԬhVNaݎ{_}Rpi{;)i+W` =t* R{jOmo.p[^ou-v3>4>`-w{KMu>빸|_o]'}x7hO{&t]v;6:=S(.Օ;`U.x/{Vn oGsUBe2{;S1T} Nˍ[5hKPxLPm}{vW m{\կi[cGw^wn\owѣʊtq}}}ͺwmznw]A[ֻA6Cә]R owͬu{n31&/fUm37l+j*FvJپtL Z OC@vi`Î[Ma  뷼<㳯{{=@[k'<onͨNt=28vJ6bίnK\G f{iZ룽<p@t9րMU (ݤf2GS3hs}> _J V{_]uy^ k:=](KeSvlc+݂͘ U5gS{j[6Z1m"&clc}7<dwu}*szL-ސւcreuo* mnoyްTWl>݊LY^W6<޸g{/X^>'s^7HQn=ЯzߦuL݀Vb<{AkAl| 6KaXB?ɂH T>r&i>@J*>ϥ폘Mg4H Q03R8'4绷m΢{JUCvtuetYǹ(?ù-2O gIhjd}o>!? =!'ژ6L5v̽}~~-{b30Ճ/7cӍk Ju(*dpس>:)[r+O}/ ?0G_/o0k-}M>\~x pA"LB|;%<%4tH; eMѠIJfjHAUlLY \X`PJ7TL`Xۧ/ u38G<`LTI 1DSLQ43-J4$JMRĤ JDPJдA4B0@Դ_2sZ6FA7WY}ݸFHs4wq$C>3{=nd:pz#L^6_`a!']u!VOf%X.ER<56@cDG^|^"ksrKbhk '>a>vym9g ))OAM~.Q*j&b@(JB "A(:/䚤DކB-i `dI0J4EL~\&>H)jE$tvOьzmF`d4R0]f9fP3)'%D K40I>AԪi/@]-͹w iaXhte jcMi*Ł@8 nF-R!o13pٲA5EI"4,?W>4S>|<s8 8'\nALs `=JUmiXzMbB?/¾5Z'3iU2/!a(\1D膿pE" *O [t8Hlnuv|;d#%BPxQAoNhL,5w?6,LLF#mC\j,(nUU&ā@Ie:;\,8je0N:>ue{?To%-LlbJR[^fDjrvkv jb#{\ ((bϯq64bqpsx-53]zVe<5"P1*L<9#)Ȩ "f @f;?0CfR>?āl~@c]M6N8j:юPcO!I_[Enrkfc#v?i2Mԉb_ܝj[kǪȨH#ˑa9쪬me!L`C .Lg||!IIDE 0%!ӂW#ҽ1Ѱrݻ/t ]^nla3 Z1 CX---JPhw#A/wwVcSKI@S$abB:}*"9s[-ZJV\ƈ[Y [>I0\9ܘ@8Ul)I .(@U&çBa#CHWmh8Me^GAɦ\e1".< Ǝpyb)2Tr>N^"y.9 8SN5kpq DEU-p9ƁØbdZ\@f+"PF`3bmݷxRfx@\ïVZ&; Vlpm4\rJg< Ãe}s< h֭a⯩CN#ؼ/. E7;>sPb  gL)X-%:MAEw{gEw>by#%g/ *Dy"Qz9q^+ߘ:]h)<))=$QȠ/qHp h=$ bdHns^1^ǃ>$ cSUT1hJZ ]nh [UQDQqU&(6xXIwמf+y̅ZJs fcp^wc6bJl\D@L5D[ b 1F Q9j0qW pu&;N;\u; c9Zb9BY#1`R + )hY"\T#7z݁w|e;ދ+ȸm3Z_ū%U!]`W .u99JqC{DʰU.g/K f콄~% bHdPшҼbT7>K}x4Q R$TUo=<,K(2)d,@y_E:;gPTb D.'B%lhA\x=iM%u0]pLKElElƒQ4Si?B'd;*RZQҢj9!"!+' Ur I@شǸz`{ M(<&CJ%+no:BJy3ҁA);Z"xɉ`0 K]$S 3\Arð\j 㜍ޓaۡTQl>VqӏFw$^% .9k(xHINaŁةg9#'.5OӜ6D)I)S\Bw]яҕ%mc19ѠlPo${ЂBYqZ޲aiJ³+(CixaDHV-` ::oAqUUUW+7fJGdㆯ, ZLHrMP-ڻ8X&6QRVŠu$ ;dLA$!+6 &[)JJĆe+:s SE--& ty\ qcW ͪ<sQO 8VR>ļ+#$bdrE"+^&-*aKXvgj=IšAY`C;X&/j\%Êb˦ѷҊ;j5NuQa @YČɣeq^& >V Z҇'@W!J,H ŏ.<6[pLF((9̄R4?U@҉*D7ubR}SHW/1"dlme d]3ȕg;褵yĖ>_[vtO}-^M}ErS5[Yg}`Saameh#P Jy@/M7 w򟧿ZҥD:RD}c@D 洍-# Rm7H;ގ>xd|cIqʖz1{)V9}> 9CB[t(}`60aD JE N~G65o:@d`;^CkyHCR#]ZH(hd52% 6D3s5;8ȦիWZܸ9x\VPK@RR$rL ˏ&1KMNu)Z (q:a5ӹHRjiBbtq=p"7HfHm#ٔm{%وx'l%(`YJ _:NxRՑsXi9.&ۏE2m YK jf֒Le.:L-:Mx4RځZ3XXqEH/sמ:8;/=RE B*G``nuh*Eo^jiTe4ۻ9+B\{scêb՜Jvc)HW/qO1 jCb)?a6kOOmi&ZNEH1FH.VeGj ʪDŽ1PUE0Ojł< &,-;[E0dK_Sl][u׮}l>AJ7͙?O?a?!ڇPIU$ ah~# #(WKP%)Qi(8`+ ASR&@X W?s# AL' DD4ܠ<1v;d@C)"Vh%Bʡ5,T X,P(Oà,(9}2 DRC0ؠn|BEt%)@ ]׾?7^bs8rÓ \808B`Bsk wx 3 Z{w.sigXPywH#vqdqIF)n Dȟt $'X% ĠND"=)fݥPDmV o=%*s8Et1,KD,Z^"W4;D|^ɿ1a%??oz|==|& l |+7>q_i5FV}i)ZD/!>hW']3C`GN't6UE U<5 /('ԫ'Yg.'l2ca_Jgv(u"Dq9cSΜ'x0=<ܕNL#R$U qaz8%NCctww4pڰOB|G5Sz^#m4/e^#9'A-顚 Ԝ(v|bi!43V@H^ek^72I=r~B D?Iэ~;5`BI#?H7I#=4Dߐ>X;TpBjդn r#94 h((tNӡ"ne4QCxlC<5FQd 6o $fjZy4_u]|0${F</i)ciłb|ʄ%'G#yWƬNDMy:(|v?$`҃6G[AOc/,=;r`hbR6 wNT{7pl`Y=ZI\^=}TbKHFx+ꞁq{:KM(JR7fk*!cF]'ZKVȪ_Boi%)FR9$(8h(ru{fa!C.`:۳ ;ͷ'J QS0!(BKϿ󃩞,щIG}g*b.ylQ֐66(JR~a5ۯW,(T! 7NSS2Ba/#|4k@m=&`&èRr|KNk[KH C %u0A8O>^ٟp"c ң.vz{>:߷y،9#Lb}Mak쑚ǠhS}34xn̥ǖ ơ:o+3ww; ŀSỡǶ* sy47Pqj H`LBb!HlAxy1 ë%"]{NXR奈A}#ǟp̫1P^q ]:b7ksQ_f3_uT2Y+ \ `VԞ"Ȑ7GUqs57|]Ay]f2l[$TMMף7fy٨DG;™0z=s,Zא|[Ime(`-.H ރ0 k Xh|"*Bc.õHS׷?W}׫gt#uzr%<=]PM!˲~ IH>JT%dpUZIdVЋP.bqڴ]BɔJ,]TA.!(,Q 1^S_10yiZXL|,ג|iEN]6=R&ɿ"5}h80HRP8 [9b>_2Dd"qBo&O&*^8 ǥH[NwZ5)Dw: eW^i(RzHsXeMAsb+I4:h6uI^P 䙖Un!^6&]'Ѡ[qc)p%aNM[-)u"ݔL)9]>ٖAD'i"mT}{d垼d3^8a:A >n6 oϽgTF~M~ݟ&sH> id11$\,&1!}>Z/ÃF6Km3QCh7T%džJX+ ^4Qc`ʝx#]NNmZ0`E&$i9a#4}ۗϋ.gB:ro+ w'NhKo Ru0AndQdy|pkUYĠ5mV\6b՗UّrR~Ǯ|hԋ{d\~ P0ry+'}5[w>(HaۄwZwε_Å WKߺb ދaϓr60O9HB X2Y'kh1G{Cb)UMⵥx]hZ% Q4lS4UDjoF4 c9Ʀ-Da{|`;g Lkqg\mL_As % &`_3IIyc-{l 3E{Kk&Xi~?F{=ra\ QԕGvU(mkwYixl:xo{x TJ$LmCB9e/w/#%9v (TAd#0N "jr! gA͝*ŕq81_S_[VIYH]b|&e*J"ʇr&J RQ\DR5Q P%,Q(QIP%1S,0! 0D(DB-","" $iRQB " $("hLl"O>OO{|'JU qB6˅1[˯ /+`p7+C[[=D uxI$E&jt54ayc.,l9.^g.(>b;j`@٦R,NZe𫫋W@\8>9`D SϔI-|Ҽwxu`CyLHJj_RhY:zEQ3??NτvP+1}BQ~ERCAђbP0m D+μ{{ rfT؞C`l xs1zd U-Ks؜:]E+I])).TXFo2 4i"Kbs'$|>C"?ozyH#T P}h@AyB&oDLVrr+0i@^fdʚmTܑ+sxa~0RWlȭW#h3څ$c?)dXԡksYGT29a$Mi4HR b".8:bcǯwZg8aQK2Èg=3k6!4Qs+~4ʱĠT β0 @ɤK H1g}3:9(U+ )asmRg4R~PD'uE.̱LJ}ed2* r Ku2#a[kL^l "Z/TՊbXHwU?'.שX4Lc8x3@Li1OjQ% ]!v8hJ-ڜXbe! ~aMS}3tHKiI"@, =ի: -XLLkS|+Џz GGN8b^> `MqaNT4oloGfBF"2 6nX 6`C!bEHЋ46J=Lw{Yx=sk=1Pm.iHVJζFi]0 L$Tx1YʠDڰ*4<9lyQQ؞5dL͗\ILM i6;ө?#Rǎ8ڔS[PY#,5dCA3shx+>sʳg{4[L_\<`OX1Cy#m X0PT,KV8k<.[rC}ϑb@؇G`t-%3>kqY?RGΊ x$Xi@ yڋ'C uߣ$$/-^nrQ U:\D!GBW+Ts8;͍N)\w\ iLHh8H?lW ֏݆3|]!V\xD;ffb/OFe~W)R O}Gm$ˏ=i+á 11E,H{#I7 ?^̴PM< ~.X"tmzMTq>O\h!;c b` ȭt["&2uJldmFH\eo$X'-8S⠮$ n^6n 7 7Tye?hwpP8_9d-ET=sM+-'#/g1itN"00N BH$?Ig]])$SDJ50J<$0(>C}n' Ipplg&$N"vM(!0ViUTfCH~;sRFx6\^?EjSۆ,ʨ3-wOsqUY(e\yQ};l|(yG7x!2i)LBc VmxH#gS àj|B~[m8z&`u. i ҏ7+d!ZH}=WUV#ZE8(GY"UBZ QY BG:vcmfC6(9B>|5Om? g&TxY'<c {Dw #8IFx-jqƑ?I4(I@>q(]M#kjr=:! ;!C %W\k߭ZCB_Q **s)U0U[ =ґuC2ݧ磱ēz gk^7ݢDO LȖmԅ ָM~ -DgIYxՙ9k{zжyIOu ;RYzm6o9*r׻󷔦_ CrR_.;;r4Θzt_ףgǃZV68j7')N3{S֦}~5|K:d ku-6ДvZX0p2 ( *- ܟSu:n.gQ(_T0lhYr\%7.BBBcgφ|ifiQٰEEDQQ(3ax:3O$%2!#kzHБ$J*~=K֖ p}?`M\$Wd$%)QB"RpUs&D5w%Non]A}%al61Pb(i!%bш(@L1FX?ovJ˝5Y9 Ww:@W+ LNs\-I< ֙]iD^$cʤXs GT/<5Ly ]&f"1 C8ti N KV'_kϵaJf}Yu&bUvߘW?' J\alݳ_C|+α$Sz$Imuﴛ7:H!vcrh5f*J6 I2!AYL,PH-kj(ߺ4m]CˉijG83%pִ!YIYiæwLNn& MA1ª9M70H |U_|,):aSG|}ذ !|H2Zd_yYret6>}q~nU^z*'U]|FT:zӥi|:ܠ͔șS+E `E0f90lbl9\M Bp, ~ }-:6R+zu ==fSHZ[V\#G)uϗXX Iz·vc%>9剴u".pUXbm9*߹'%"Ʀ뢬M/NƼuu8HknC/q.V`Mڢ$[ /į m7_&]/ tQ$1ןƿۑ:Q\tCE'4!ЄzDOjX>8lt,ϬI_)DhvCi'{ N<(7ů,O#|LB dI H#k??%˪5Y&a鮚\$*FYMkiyމufARy:Vt]sA#6{^!#3TO?[G!RGo H4J!΅` 蕚.1z\ٷvj_zP~y\!HBBH;2,y4LTVm]),/+.[雷f2ɍ0IkHw92,(7q.5߃ Ccm%_(uKiɪ*Df|aUyUeEUUUUUUUMoF*˝b|1>W&M`^ҒSmK"4x[>;`G6UW aTpfz,HۓWt =XKJPнn;ؙwy_odBZ$oL42VC1&hl!g\0`!ĭ>) I=Orn,HJixQUm%> MFw{VٴLdJ nJe=(dƆfZh=4wQU+ ԯ"V)M.0#.s-v D_}x6ջae b29 ԝ[| Al]wvJC5W}dT oaϕ?|ǽW0s,>`/c1 *o2ra EQص)40,_e$6KDR+F2dm:_IuT7%0qSu6cJ*?'v GhMRM00_KHZћ[/=4WU,i׻G(-e;=URbŕUn!/+#I..(~EMW}p/LfB)}WgVƓ9jrbQi_~T]TDALL8]dyu.93ofUkIv!rI'~w) {S.뭭9@TIF3G$;J^8O*F<TYfW|wJS16Ohywgcv8QJ5E #H#0 [ß*V:(hP!}rEx (Xtayj@1+̖(Šng|"jd$qDJ4Y1zMPR6ڴ:==x8A#1"}={n=7vh堪$lt#FJ<3'eMXYQՍ-ʛMm[ѣVX%/Y bF8`ՁO?9Js# T/x^N~Y!+@jOf;# c5#{#A(ɬefd-$wu_-+l" r Ǘ "ivR_s7U\Ju NY v좥) I$w0(PEB)2m^+Ѿ;qOMa4KdPExŝlI"ARdPk?@.{; i1 L@m.iur "Lu>۶W`T[j7>ZOR@3,KXIMk(8涒0t u%Y\$.@Տj+YFcF\ɘ.k9[O;dVtf= B aYp\Oc_SK)n+7]3g*.ZA>w8ScJc+y +6 .GFj$8=,VI@C$mۆ&n_xugh:,kͼJ6C_+Wlop:R+I?i_AGr 'A;،LlԖ&N]xFi@8^$8 r'C*3l/+A?ʨU $ڦSQR/UVǪPs  BTF챯7-ShD5B0Q#Kb놼H{k=nIVn-YpL;M3Ŷc1We!}Fp?,&1ؼ)W%" >p,FhvJPQH( M6166Zl̦S CG1j\]acNXX2ϡ KRi⸫`A 67MVwep-zU߮l|E6u_ Wi&^΃:}ƶS05U !L|sH1 [9) 8Uk.Y,fhׄ~۱~DDE4M(^9Ɓ: lmi'^!qY~ÉÖ,/GlIbKB'<4 9簞?^-3rQ䝒 Zt;JtkX珱{W:΂7@y׍bt1ũIퟃӣbkI_ݏ+_Hw7dɶ"KߣMnv߼ia5=:zǷqؘԜ 1l(HcV+;쩈ߑ#iP%1_N6{5()r u,`s1F3f@Tqvc,ɖ$T˪O"JIIuF8ʾo0vGbA!CpُF @cyׁt;E0GSI*M/gW'K:?$e۾4]+3ǟ/FI 怵 sdpӾ;2՘R2he&]3"  I$̣V&1: l %r?Ք` -vc?2 U)u] ϫ ]A]/pN-Oc@N!8M.8>F#B h<4 䫻e!Vk^*Ă-XQ;Q p%TLۃgZ+bK܆DpMFV(O0(+-`ْN]g21-;0"$ۈdg=yKh& FЖ(i7#Vښ#i{F{)b#΍CI֞"e i(~)tU%(G&\*ee)ɨJ26GXl$q[m3uh;P!xCSuM/`hI7&JE[>?Ls.`# lg@ cG6Qߙ yxHjX((!Ci4$M15 = nTY4@4 ]-"Ӊ5IR #'N%)(@ x6_wݻm=z{񕠿*dk_ "(IH2vDu)&=RtFST%t%;WDItˀ%b,JӵV,d܁s,~1pQ@ϸbe{$ʘm |PxE$^C%>^o(P.Ar&Vi~xj.TIT̲%<𱃎, /E9aY8%m5n6]ݣʑ24YW.޽"EB.yp>:d)l /e}5Q<:d7W+[Ēe5x4i^OLrJ @&^q϶uǙ0{8$H͚j ccӞUW8|ww'%*j$~eQGڪTٙir7)m瞡',3uLԹPc=uqspع&5S(Klfn).KK5 K9)m༵c v9˱*Gɘy+$\NYCo.$ rf4 6[µ厤s><]smls`~܉7t%7 P DbDGfnˇMbZ4 m{L9C8'->J6ҡuKcʪlp<9gy/ pbF4$~ aEA<֐mZ^Y._ [\V6(nF͌0uůr-[ `aSMMg]ZlD+2雄("Mc5sEKB\Eo8~J!F?F o% _o54Jq0!NД-L2|O\C k?5D9ZgZl6 @ kzt/_LƁA>ѻ{cc>LՒ}Xc 4UACTb}?i[:̑@3 kI̯ Eh]sgAITV7?8{=&)JI@%E6A`oA<$7 T~1 zL 0eeT0.D@⚂%f DbAT츼_a"dvAK9~ LG"T.WH$[Vw_}?a,B_~iKnѶAyyyyMti/hJ<~ c ,@`VO-NvH:= ZD澏kzO߾A.mwxt-FyuSP5~Xuބ|F PR1PZ^vOz|SX"DNZ}]u_OO>n$~˵>|3> $߄ё}? B~86u9KkJWNlF/_`0琢}w7gHn{c\UHDLTᾟ<\afM us]9qd9o9N_$pkJtJ7@k' ru]6yz؁]Oqi+|A7sO>//6gF}駍ݳ]wN㡆} f4C 0$UJH]  SF ʹ49۸z-,aUcVGtȪʑ]z|zO\6G轲;'տeܽi.xH잲?8nz斓iٿ5c`~xI}7jwgoEtY%r Wwe4}ߗ_= ҥrj!r$(1]rA^Mq›m_Lb" |u7XK[!v *^|rզ/C953Fu;~]%Cq7'C.e !0eVm‘#GY2ϺvRf)9 AEn[oY𶚱+J r=@3 S‘mrDŽqw]'9{ztÎfdA]*]%n,-z漹tn{1x,}]u]0 '9xa^os/ )']K)Iz ry`_S<#Fe2Qk]IڵլZs6$^Dz fw;xѱ$Ww5䓴`ӈv7]vc^} !wO|nsG/L}"1rHe*ޙr䤽6D$J90%aZz4#grSYw K}}VC뮻(P/RďTqqcC͸ҒNѻ!M6h<]%M|i}aov7S?28[Z_/db6{&~m?$T5şLpIt{]ȚS)J@lcq8'Iϴ~T 4Y?O(/OA P@R#H*#HR$B4#潒2)DHoU2HBM0KLQ+ ifYxCd鿥8 (fKCǘSDJ ^_Xt6?gHЉw]QEQE-[`Reu?ͱŠD$ 4*m-iO aEG\$Z(DL`@ĕDH4`,0CvX""&&"""=L !,I&(#λ```/qa&- JVc+D?ب8Nor6o=pN6rmUGhيpi|8.(0tSdR8CG3{d hɮ(x2^x8|wl $gp%$H!$HHFhJEH` SEE0" $#ai'@̒BJ2 (+=|9~&/2t>R S: bX$` aHGծ8YXHIvǗmb Rў08 A?p:Q4]#s@Wr!ևd K /7@Ip( )?%Q$1&A1bHH?q!6v"zH%2R1dTOaJ\Y'<̩bdlaJ}AXa$$*"e9K q#1ueAз,b"ih 1F@ U' []I,ˣ;H/S.5.2]gBsYn20f7*nӞȥ֎0)-g\xKM=2slmV --\{eN3H [sZ]&-noEOǃVɒhX1y~-M+i*1hhCr@L%5#{]xt9aCYNymkF=_:7}w&1^آ!sH^`Ȏb1cd; <嘞)ҵZ+''iiȹpDX0iͬRtQ%rƨj xYX$I٫-. +WBĎB:]YGO?A'BTua~xzlXn@.onĀS`ꃕa0AsAy֩F%^alZIc9#&v጑ЌL(Þt=|B&M@0^Lzywg͒C_iPT>ۏ9ه;T}ESEphmiZ}q|d6~u0¹~ FՓ%t]MNoZF{g, [ 7 fd;.}Շ`4~ƖqgG:Ϡu\v|lgvs C0h1;џt&EPyү>i#NB[zSg8{s&4o`;hUf_Y'[Ӏ8A~]~=BU?E@cX]*HtC1T&v[Q< IfSn Ma c02J-VQ>yq1ыV)Ϊ(1cy&__ޤSNiWSF5:@P,)t 16"2}Ij "O L]im;)_ MM`n5$cm<(X+hu aG"s5atיHmhCG2 "ʪ95,U)פPpgaTrH_H@,g`}|):uֿ?[!kx/uezjeځ,3 QoǦ 6!Y5Oٍ㍿F*m!Tx>>RƠ1<GP= M&6=T0Uĝp)p \$ՠ-IcG JAy)8/G'6p'_YLzqцIԒwLcNt6P}rP#4B.RkMZ61&6llØ6[ޤV.VCd5*u2WEΎ-BI-*wwRm#H293v_cB"{%Hv"9o;Qm/-}%ޯ<9*T|5|"r$V/?KG&3_wN 'OX%e^ַ%Zzk}թeH#B@4" Pyo'iC+`d{<66O£ĕhDfMS)͜fV8Mk"n9:9! DZy! &'#D_$(}+Nԙ 02Jp+@&&-Ù->ZV<+{50SaS%|ي!]<<;Ċ\qR$@ػ=x޴}r9,b`- D,,Jl'`v0auoL㦈(=I0/D `%u_:upOG?yzz}f}|~V@2>`h:(4[\CifTMB$L$SG0(y{b|BqҤB>{MT­qe{:/k!|9孠@!TuT HjB ט Wl$$ԊP+1NY[wάy栉oΝ"U!l~0{<+cgG>fuKɠ`>.ATXeR" T3}HNe# sFܲ9^^T}m+h=u!^Gu~9.\ƚ:t䙕M?~;O3锯ò rY9GY)a$6mjL츚},FwٚvGo3 VYcAa@u\g.Kg\i}' GF_7KD2Lf08:*)BVdۂ]:l{YhGՖ'W_&Qҿ1tyXdjo6SM!nf\K< niRyL/Iwj̈ DzQ(<2S'%#lpϟ:DK "'YM\&+MB %V;z\݆>,k֒gd`H!{>g3.u4R n{à Mϼ*t//qKH8 &%m"#s9~hqFf=_fW m+S׎!gz| \$w aAKJGTvٯ%MXPl/Xl~BM8#2UepDm< U3,Clrۧu{o]z(Β$ՅPRw4 EDk6ՠ!!CoS%]E\xC:-_Y||0@dVWQ@`i6訁:J*#. %6m^>o)`KೂѢ_BOȄ/C8AWxgzcp72O$zF`o dMqj%M$Ƌ L!A=D/D_"d 0XY0^HT B&\.ud9K̨N n &"cK{R0> %-]m`A/i`f>O!1E20$6$4~F 廨:g%xyį "Vx畬O2Lwo_~#gˉDl6_H5.!Pj':4:\HqdL PRD*~rz/߹|'2 Pƍ *V vzt(DP~W) X #{`?O(`8"7za5USQG@@B :e\!;hVCJ*@ENAJ0+A(񗒃"j" (! )>B!2 ^! *eAprFH Ž@Ҵi 82D(#BfD iE࢕"hP B\z}pIyU4 ]3.Ð9 BJCBkk0\׭ >w*0y; /CS#J!n50iW`xq7([|xv`CXa?"aw[>[{ 1_PI$=GW†!)E1qς51(]BPKBt#JsyMTBd 'vJTԏ]hr(Aw 5*LGֿMz44- ]UAPi=-# Q1#얕"z%<T 6>СB)8C)"$OD&h>RĔ:hEY1b$ OࡺH]@A DQ4Hڭ &dZO,Uԅ QJ dP"e Z:_~HC@;9!튢R^2{z|?pc8?d/(~3WGx Ikm!X=W۩pu[P`*ƹg .<41yƩqlCJbZCdXbލq?BnX6L0c)ZU_3aM,i}JxsM1_zh;N y:{_"W[UN:tr9,Pό5aX&qVXD4尽HCIg0=Rb-+[j۹8:GUJGԆ HDq1/;~R∂5#-'`+(ufI Zhʕ*62)돂-%n2يTDH+ĶΚb d YÜcmMZ4$L VV!"bB`Q[bԲC3$0h QJLMRP5V:N%r6튍aQEQuʅ݌"v^ M*xRbG+IAл'i6$-0j*YL"HȾT1G<@y[ȥmrpqHIZJL*4&-#`>%XUn``(V/8aQq#qWAnncW航- wpa<9s {bk&V:'E=o< Pb纒P,{ RO(pJ r' chw0-@DkVā`x4;|ԧ Z^{ ?} JࡒZzW]ꧥ%ꉄ r.Zr$ˑ^fL%!V[E7]SΏ*rew¥UsyΥYp[ As9D+\cmADW?hMPWT`vqė ~ `.Ǖ~Iy_ࡍ}~XEEM44(X;}h5.bhufITG~iDe [ ;\^ w 9d*'yrv;qB2XbM-66Q+<`;/,PhgSxqw]y8؞h5$DR :(]w)1vZAN\i#4=܊1*i, vYԥGӳdWP**P:xG6FF(Q8'O/Wz-NW yJ(If|,΀LAc$@ J:iA(PPh<$ >Yi7ݪGJRn,`VXiI2x} (@F|/wWԸUG>1  HvCvdӭ 5NvsBFyC(UTsUbBCJrV!bi6Po]y/VG-) 2.<;w,S@Wtdζ59б Oǥ_t2#Wq*kˡv@0m0Fw!x)pc4b{E>~i{7^_ Q%L^s^UR=0nXoaw*PeaYos&QK^ gl]9cЪ/' ۽P˄n>cIT@K؊Ϧ>҅9/r]spì=LJC£R7^&eZ4.XX wIwB:1PPH koۏIb#.^_&&`F(؆pe'G bݬoipAd<4ģD &q~qNy(=$^^s,X^J@ڱYGşGU"Z%"./ȕC?n<9lp^1l#r^IY|?=%EVVЀ 4f$f:c7U @oFc_ A36 "İ1HiX.X)}Dĕ>{LT#>\3.KóׂYMeԙqa%a.;`4A!) HRZ L͗n*Koc}Og28zjII^FmW19%WĀ4&öf.]BF=lJYc^\"#-4 14ADAE|{8̙" yx,IhX02ŷT OU$lxqBv% #q;aH;@ɞL=#t(C+sUOݐ4ڽ'Y(M-P^0Bu~]zo*βVf}n{*cpsR՝^vZ=ϓe`s GΔ+˗؇9|v7ȫUcjRM/zG% ӊWT( R:\@p- h[c8@~epjnvA(MHQ~@eoK{quv$U6%x" OAͤ0G_@;0.}[wU5^b'ݾܾ?gtff+1~߁~J]e< F/>!ByCﶜ̒~T:LOq꟏prSI /á1A2&  MT@Dys?S@PD $RAI ((D]O!|A?RXJZJ'4T)C+>@ O}+T>eLH{*ܘ~5wG##|ITsJgBl~۰;S/2-?4 o݉}fw7OE]*g&uOu/5uy|.QϦ=ԻLvi 7)}9|?Cood=?+ˆv"fVY'ad_q:/@k}~=+DΩDXBql4~u<lwlfg.mRndPIHIcI1%q]) .Ȧ."1%D}6jݏcW|E8F›h}K[]ReB^hmyOK{GK1JR 7y9 ͛ۄ>>TnrCf,JlwnU.gÃz6-q9Ӻo:X웻.6IVE(ؗQկJ|R^ʬ^L mLS`ILۢTBhHzÜgr7irguAV +YM3{;{to!)jzO×U2 4Ϥ@£bWc_tvrŽұ 5#@Y6yyfa%VN2תé?yq\Y$5$£FikE(i0]8:i::sdwPd1`**RNBTH[/c 5 SE4Ia!nP] x<ϧ#;xʟ΁&#Ȝp]D@-R2Բ-4xUqN(i[YݮkI=YQc #RRBnQ..|aqbaB,$Q4-pf ^=C|]Z\CݥHm+hֺ#F1L C@6%2H/~4Tiz]9q]q r3/(vc)CC }:&@4kMxžm5mxQQa)- 0O|Fz.{>8DiJ8=[BK|?mX.Kɒ s!CNqk5c%hd6U :Xd68<$js⎅(P_=inO[F(pR>(dhi>ӈ2trif)^O!C1 GYzfFaQhM%@PSM Ӎ`i|4cmm 2$gɭ4lzָ|rjĐ%QƦVkz`JJR)%,EJD! ᳂%9*)`)_~g6_K>m6/bE1U(w>ZRCX4B" lj+.YVR <ö/)y! (MY~%ɒgx%7\[^ꐇ_HBm5NMj/Z%KuN噪QKC?bCR&^PpAAJRD "BICɉIR+WߤҐDNX1&&93WQ*JGeu"d)@T5}~?gNih)Z@"V]uކQB=,tF4dRcGK՜ _?|!-a#D,BU,hvDP>Tm}8\[ &!loEY?5:(2 +l3i(wHU(* *KJ2Ődj; b;LjtG FElw>t~3W. 0cm)kW;Ӫ˳tX;4|Omh#ۯCVi083P=W|jc&5I}I"l PA7c %k+W+ 6Fg)D;HuY^M2V !|qK|p }ߏ:TXx}hݞ;HJE'N=vǰb@rJt ]PsvjMr0*t 0/0Em*mVR7PiC@îLm8ogMveCJ72yU2*0u3공7  ."=t 6' Q<$a˲5-4=E]=J 9n< }:޽^AwfTKl+lJS!ߛް;UF4=LDMRƬ!> z`T%Z%#+HoEb__C0Ler~9o;#y.%#b\lx #p;46iKdN%"YS}:ٞCX1J%#WD0V/|Z%"I-i;+ ge@(tFg[34R.Au ߌQPh`h~=>x5QNJRB$Is \6$<%|WLؤ*B$*FJX&@ 6ۡi_rFyNEnMsm~ ba$}JIے14C+qmX_ſ32mm%6>1y޻deԎq?'Fw'({px:aR~6CMR*-挢9us^n{p:G|Ow+İO+.SZZ̽)շltG؝*cpChwK ( +G_K}4M#4oeU"3XC3TicVax8ucV4cְ\6=uS))Ie(V*ʭdl" L)IZĒD A EHHAQld""jZvCHL-4 1Q4U EQE0S46'.>ɸRJ&Ӊca"j9)g`bxAIF%H9/}BR$[q?`U,Xs_[Iб6ºpDe<g LOU'2 WHRh2d|:G` m.!td h*%^ɯӈHP nj>m/Z"ZU!ؑ\l֎{IHF"c}H@n>Ϳ;&7]DKe1Ve$_} !^DM`*oIdo:7Nl6b9~vN8@BA)}6| A²Dؽ" (/m:jm΃JT(NйUl<P^&yaY ZDaЏ!`b+f5vc`ȉl* P?^aneDHfK3X'j}`>C 4ռq DF-ǾOՌ{p֝lFύ'$|Ə"CCnC'e{Li&Â9ʜx͉od^Qwme*W򿲐Z=٠")3(gOfPsat m5k6/d H0 6>-?%k/N)b  T=z wm@>{mD#(Hc~xS?W.Z ׮R(Vc>Il%Nj~KxUk';'cuk[V8HL?5{Y0a\FŖԕH`ݿO- V"=h4kqYV!^ðHaM>fq=lbeg&b"BA2C.BdfSӝĶ$%L%/ VM|j_W@#'8wV!(+8=}X^hGlx)nky[/:6$Z3w~w)Ì::l4O< @L^R$REAa #(SOۈ @a?^ ^x mɡ*͞rzݸZ0(Q`(Zf]t+$yЏIom iLdKdĸ.~iE& c#j`3/mCi(HU) #|NW~P4sA]v` /w ;4K*NazO3Hp*a)n49FqK^>.uJ천z9VOZrVxI|:, )e\eIu.9Cdu+M #(cQ.?{[}?v>{6A99#9IQaCB ,"%R Đ?I~bG3yVwzHF*$PaNs'n6OfN45UIlFFB^>oGJ{ })Ηk+m1m䐒6pHF[]\$U/" a1P.=<%դX=:]}}x ѹf}I 6xUQT +K`|.ߖ?bk_[b95͏6XKШ+q~Id[i{lcX(˂f `Ha$HAT(n"^jT3@)]LH<)*kH[bI1"τIZb.(䒰519;{@{<#U|bJr$ϚpBi @sD~rIylh "B`o??_}!,S dą RF$  pQ\3ɝc1M([n$3&F?D;`Q<G2s([|w"&- aus6F.tgČXr@\_GN魻0ja8cء s~lp|+OT;aO꺑Qh K8R%\iv3<+)`~QNOIEEfD? ͔ rgY{Js@!M4 Am 'YOťm+7L@X{w: h]yIwk1>ݴb`C};mZԞci ,ք0qudGyぴnO=8é٢:eSWA*{ $Z T>I!BЦ侨 Ú??1 nrvAb˰8 hڒ턗c )OQ徎{\uH;@N ƃUf/jp[ ^g U2l;,m6 MOŠ j~o}YO9AlMD4P1 !b-`.z5^Z_O}kB_qL>vKE\X*"wALC*pϻyyE n hf "r99YUdg3/Gya}֛T<JapT.*#Bf/ t8‡҂_f7,)oq$\VN +eN8ؙeb7Ƹo6[>W-/{~FL !CC_k$>cӴ%¼WnMGm|2uJ3K)ݺg9;RDܩ< hH_w~ד:>ȒNBMPp^yP_1G<L q>nH/X盚נף-ª*h@ M^{agv{_W6>~+@_wp&Z# 9 NtH O9M <_dӞ9=/#,W$&+F&6rGI8޵"1D™R2`䉙"P$@po 2R]D1)*br$- A4:0ȕ> >쇄`+P=N& \K (s 1 %dYI$Q y(=0 nbpUL\& )-dESEDH21 BE]9L<.p:qx[m>fO$N:%jAc9.pLIаJZ767 !*9 )) "Hd& oo(fއ]gX;^0W vn(g8xIpnep|9q~lu ~%(Pcaޭ^\Kr~.Z?Zu:h)wwmB^_}Իُ٩3x/%<~7F5=|9|HHxH$v* l^z Bx< ѥ6QF0^R !GIOO`~CUVRz}N{Q$>''뛩aû63?Ww|I<C*xE{xAC2Pw` "('8`W}$T?@'r}d'͜ !I`$ %1|v$3H͈:N) T` 7@E1uwNadDJe`$bgIhqG-PA #46Oc.&R\+>'*%ښ:*w+DGI':'XO"bG0҆PtC--:P?:$+'Nq==Q)[|$á c{#QbDvxLr@->7j )1z>$= jUUUO8 TS^HƔ#Q8tIM+TAPS ?b>[u@D$4_Tb qQQ${]vG"ɶ(r@hvG5C[=(JR%"őӺ.9v?$o!+M'TED *Ćd RT~}3J/[SB5LEO}v8Jj^ "R*b #۰P^v(P>zAC`?K*[n:k5!$}YIa &=}ҷ͝eus7\ |F`Pk&.qdS.$"CĻdF;0P0Z~^x>^K > z퍁="Ĕ^jJy N:^rޫpwEKb-lV%va55#q!ghȱBKɢ_MWG:ye,x*)]J DPG$@pjJR(I!BJ"fdIM .X)t$IP (Y"@݀(4 u s Ќ@ A +QA&IʧA/2/̚|Tp?Hȇ񺀌mMz0Xi((6X>s"bqMŠOxg1bD"Eq>!)w&Se!ER"/4 ILHEwRfCBD7lOtKRH "76ĨzQ? $'qF|Pd^A! z ؖCHU1e w&ޑW̅.!@L,5TM2D%%J6;=XR`̯C~mI$!Qo6"$YZP-)S9G"#þ'1G&18(fl6Ya?RN!8Iðo7 ۍA;_68u@v j*G[QzCƃj5IJXM'l60ar2fӋ8ќ+Ί\0Dp< RT) !`A'HbI5B 2%"q M"@D%^PQyAغos,jH* v@2$0ĪxDX054#MET"%*5L.BW g{׼;Bt`UUUUUUUQUUUA5UUEUq ) 42nġ T)Odt\c )),PA1BB LTDV)PO*01JH!@("=ppUڎ9yV5G/\*q+:m;I ŵcלQ=Ct'H8c"b/Yt*\CUEI2IC]ohԈUEQLR)h@U -hZd+*͢-=rRm ! \9tSihMՄU]$`OD8]%5ʛFRIJbjP =|Kj|4IT0H0P\|e{Go+/@=sY +%uxWֈ<DrlSֽج<⼁?W6H6 ߨ PYb%6ThБ]QIJi Q#ǯIPPZרs|1W")mtj!7=AR #6M/@)SKXޝ7'GdTyQ*dDd| N&ߤD"4"!$o;D#N-G(~.HP=]6 %~p_}>NPxu()(P$>xIF S7`'цTy36'ޛ#OP 81MŏX]#@!Xj?bhL4B0#B|d C.IB%f"(2 L} sl25 rÙ<3UwGW"ڭ21o7XI:)WJ !,'?=ЗwOCHeiT<~fGM4@!J) (P%bYS &hB5x 12 }E@{NDA8>@r8.e$ӁӤp14#d%~__ 7@TITJ^ިt"_ߵT-΍P P/ ]\ xULﮆ6ƾb\_KtAp #/%H"n4&OITHQ$,Bfl5AeOWcjFb"j`ùgu%-Y钡w$qսU4' =/RǮ;|c nK3 FͽRIL[[?ygb=0??^QCC&8%djM~ZY*(>@5Dl$_{ĉdE!5)G@pG0<!U >H8pQp|4nOĚLGi<^&Z&$#K,sI?y"u#C{bzaRpY']Ra =XE!K<ؘ.(,m>/]z{Of:̫C _j_4pQ swH"^n;+<;?:')ˮȒv sCpYhWY/js~] r~f QLxVzxԱ&GņG#K@ߋCΊS=@,9Χ3wp%''<ڨYEպHO2I}VCfhKѲ!n^P,Ӟ @AN$xBP)BA@Dҽ:WɂHAnS/H"9)eL*C\@/!T+̌ȫۜpdDOO(lnku=;EgXhdz ~"#$ '5'QM4 uH,DI{"J FX AD*EAT{8IZ"$4 }gnv7R!%;"l_\nX%ęUkZWX,_eu@wzhB[e]͈Kp Y)AR7P1;ZKI lÅN> <ޓ&#V,vqHw)}>?G|䗀YM{yYޞ !"z=A&. n}H{2N ("`%>u>vi3S:h5 vmMZP(G/)0|H b~{=?1a$2:D DK8trNŧ?v43zV6 bmH3Y_o}'SԀ!JJ 0SD}}R> ]l<|xwwЎamHԃX# &@bXp`dIS(?<;rczqGAGxO$~U*񦦗!#AZLVM*UZ\MUXihjIZaу]#H `9+$ъdPҸ@1!H% bR *8 f&!L8tfJbZ IH% c)e %a4HIH_#!JJU]$0$BQB$% $DCB2" QfQ'$XxHD%(ԃGL; o?C=sҍHHn{(;B@vQ9+{NAtyH%X2r0 lWC  Bs.Q;r;NNd4Ih{D>CG͢e̫~ le~q_}zyŠ ?mЭBPI2 {N\~!:TH0։SҤ9Grҟh"(1zPTpU;*(*'uBdi91Ub[i&fk&m(]UZwvTu/AI$ ?PDDi_xG $xyzH|&qe&P}G܎a=$nC=;S$|O[Sd=1fX",!?tv}`oFR ,>rFX<Ǜ 8>:H;)<L_ rVV$,_q<̭ h,58knK**&eZW\ eg8| }I`ZI-]I,Z7ʽbIDu b=gX s‡m5%xjé^c(夨 )X T`6D\'ԠsZ+ {ت%itunݲRJ$9}74 >P}2 w$|djd(ϨٗE <0h|2]Jl p*q."͟ M+UR4wU 5w((bcx'NGAq`Jvl[bT\dmkOb6EPV]LxHQ?z_RQ WlRtmC (x3\yL(/ @.bSʧm2Et@wb8ZvEa")bbPH&a ( H! HI)HBhi(HIYe!h JD))BZJXJ%"Y&H & &*&aj`bH"D"YbhVdHf h"JI*JVbfh"F(B ( h""("Z@a * `i)JB)f JH bB *bIUZ()% b"IJBE h*%&Z(FP$ZUbZ(RX$( bdJ)If RX&%jde``B)A("I&iZ*dZ%Q)R wGD;lEm<|H\胠.c'PhN;NgZ'Hf38/IMT 3KwX{pOqL5B1 P4Vl 0qǯi֧"O@D= r*h QJ/ AȖ͡v4H*$oT (ƼpJ'p444253U!' T)vH\X kk gԕM _vLQ<ȊB:'1-YĔ$YG(xD.f{ %Ů"E߮OmTN$ނdG-:sWUN|EQJ۲Zڔ9I\SR}4E=-㬇I0)w1wg?9+S?UW?)% }˪"3Xa1SСS>?O6i)B$''`ʂQlm,e u1!"283t d,f|NRyhm~+ZTW.[\UdC( V)-TRMm C1?xGN'QiXFRDF%)X1hF'q\}*~~~sk-ΘaTUEP ^3_3Z։%% R: &>9/1_}.rGJ}Jr+T<;VekMjSVD_2p:D|]TƄCC`pvB Fؓ.ODK{Ns[V hv\{áS'VY X*s׆NU{# ǭ  }BAaaE>2>ks璒?m+0nְAuAmX%ntPVűհF*t/@HL/uTp1ܥj`Y Q$ك*y#3{.qSc@)=v+㣅BE1cNGf.bX]./pɊ9[]4 ``|pYنm־4HF_dD GDӼ*yIPQTG^)? [1HAED 8m?w^ P CBf_;k )AWM|0USkZU]fb31UUUTiUs2mmsZպUTiUukZn 'GIEfPiFƉ%:rT/@břcXX!j<מue 42wWn]jAaW5/.18Fng'<6V#pqP1xL^;&_y$ŠԉQJ&T@k 0$(x`g.]MQ:L D <) H@% Ψ͆x<͆97 1PO/ មv;)bqn*l9 DmDthkF`:C{5n椏EkFV AqʗUlaz{)Nhoh7Ce[ ;y0\d%l |?tGp@0`u) 5E_?"}f00h N-B?m'ULr,iY;*)jbh7<*` ݱX:"hLF`M+v^{-{$&F 5XtnRj%-L1((d>yaE=>}^]{5D_+B E4 a'61mY%9kHTҽUXhulha|" $,C0 A9(Uݙ49ɵS)rHuDS{.ֶñ @9D?=mJa"f \L_h`:=2m^3*4Q`6,6k* W^6Ȃ!٠ݽn#u 5QQ):OO=A[t;%Ԓ OP (AIiX}EWܻJ6yɗu$2n <n9[%\[׍޵ z;A)<9ĿZ;Ρz ڿ?(9$֮D%g#I9"I`SG$$e2,& s'-GIxDVP7Ӕ*vP)ɚM.sZ!]GVb;bC:r9w.܊O4Lɖ%x#doFU7PR˦Ȣ]bD :AFcAd9e"j=pOU|s>vLYTmڂs6LldD.oH}FbOOAL%$$kc]RQO16&ؖA0a77#&M GB_/=x)^XWE 8kH;':W?iޝ8`QCGTh\^SMbgYL1BY11 ہZ\R$eM?r/_#̟CyX&e 5U*ۭfG%=vIiq>wu.ڕt 4;YFc \pp-d+b)X$h-5t)my&%n""8!/`M+HVJMN'|?'6`!$7@rNP}_8q_,/_x01)t{NHbJZ[>ItH4YJι5ITPT 0!S!HB*SC&hHJ??is=ej,5CSRh>myE5]o~ZğPk?chݑ ϋG#|Pl5ipdf\j̓vB$_vԉ'ߒ$ݞ u.$&IhM͌5)x|>TAzK44>znѮgdxAȉH eGdQ|!&G DP&sD@?V 0@90#G RKGx b@K@2>(a3 Iȇ@Y܄Ga1t[Ť7ɘp@|a15m^dqHxG_Lwg!`RT' <ꟕ0 +?\:L iPh_+.(B DpLk>dXbW4I<|TAj(ӄ()nJ1Mod/0cA~ 1/a{"`?O" P$cԐcɈy?T^pB"4A1 иc$I"L(P$BNHKX t: $H$($[w{nZG(VSOi&%SRt^NgX[U$)dyPH7xC$D"\ V= V1 3ʕ4=$Q m|CH0JHLHRLH@ 4R@U1 ʡ4BDP#P:\ CH K|U0EHs܄zHy/I P!.g"N WND*O2@V0PLI" dJx\ո! &9ǗWE@RU&qG ǎHvp-N{9 tobyV@dxgDj,NlXqI?RRB- tj11 I3/V" DĆlx2;HȎCu1b`#%3S3h#DG+)I(x*}D /P3âRH2Gtm7|H HǏRșa#,P/40̟I<$i^hPJcP($>v>]H)v>:c'9&BWɵ5Ӷ[$ڱQrV84޶aQeWHuKtȤ ͉ 6$"?j$deTA !}pNJ.|/Vޤw0KWhbDxȈD)c:`Ğ up#iɶ6K2kVGy2xInD % / ӯg!˹=S[)+t1cPYD<GǼNCi 5~ȫ>xhD6!$ DIwtr$@D H@ 23[rU oJ )+=g3Cn9.AIB\O@8p>AXL.^R=)"\"~>#bVNBc#(`w]h&<7^˞4/ xR ~4;q3 c|tc$b)  B@;!qXck&b\,Ɇإ@FC ۟Hkadd³IPAx8 4t8ZFl/BGÔDE)%͗@ 2d֤$E4ȗyT1{'g) 4 |9(&_qn)o Ɣc&!\Ntm)wxqՎmc`AӀ%9A$>RcAŀ8Jh*m-h2;DhCP!v[LD? ӇR "-b|?[n :mr`_1 GU5avA\6y,aM)pEU$Fa@$rA ĤZ,TD,)Ζ lcR J ƴdM4p~xxEhU)G]]Gdt=V01Q!#Xz+ ﱬVN!D DDUUU7MHheN~C_پKcZ*3B8,?Eq`jY'O𚙬MU; MrX6g'd 'ĸE҉ !;#x+Q,{C[J*b$n: G2q78:IA sjn;!Xe'X2MB֥2Dg5ܮ?*~""0^ ^Gp?Ϧ0J <ȑZa>XM7dᡬ<^S bZQ J@2,aSH.N-s,_@!=}B'ddF23GldIʍ) ~] daT1do4@2F1U S!Sl; #ul A>/$1x|10 APҤJl%-3<_  Ϊ RяB {Ix_hOOk!]!]˅PK4!L$QDՏ|ME71<`=ww ' tfJL7VnY6R֦$,L6.a_S?-+-A-IO E<1GĨv)ν1֗Qq֌0 8: (4ۡ#*O*R+Rh ӻL!M1u='2XicNRD{۞RAU~Ce(Q!PIA!\<ɯ>cF"$ <e!)!tr'> s0QFPMq} syUF@4ZE r=_o#67'[ޓeE]`RE+9(iXQ&Ɣ^?r2 Q>j=_dpb]Ur1IEAON1 [*Nl Kh߉}vuo|)zߗwk^esYݔ' DKLAF!`>uSI^o!1EQ S͝%y+2n mP gjˏSWh"`v1 hF%!.5E'I"pNB`89sƵz,kR G8uX:Ԇ֯~VZqXbAHѴaKDUG+VzyhHfe.UP^TtܤvhߓDJmBfRP7ZHÒTM%:n6;H[!޼K"][h1,aC A:]}h>߫'7EBs'+ͩR8i:.{hQGTR.Q ##^1 Ԉ+C`nqLtv,bPwT%9bv3t٤{ rr>CEC(\%:>%"9Q$5\t\(^] ,~$WUt2W3:ihZO aG(E,BIe_bWm%P*Ev{aQj)1W"5k B#90N9Bڵ=$0l KgoPrxum HƆ{`nzda3WAGH^DV^:VԲhVh2,gmD^`@ɻ{O] XLᔘ{ ]/q=D"!#?E£خZ^i^okgEg *Ei6( +9PLzc}F*d`&*ڻM3^dc@A,0.45hp4  X4f1ÇؖC4aZ҈pafD2DfZ|!>.%CC _sݺWLS6\@3IiL\8ku+z#Ǜ;mix%7CcdkS: 6@=4Sc]e ue{Ȇ]·ş qrqEIs}oS鹋;Ԃ3DŽ{)ab!sєq|&"?xzk4 .֔xaЙ#:P`2H`5oQ/9]v8l044yR6q߃< 6,h oީ[;]b2i0=0\tZA^xo :ܴv /&" W 5XtML/,Iw3 Oԋ*ϵ:q ">x4a0i.1F9wx<ɹI(hIAm$ፕa}y%Hv.Uex]ZHuC4N4 I=r^JUAl([ڸx.2zf?~TlCKgTV4wOמG;`vjd$4+ 2 q>[vQ$;%8pCEztZ``Y 0M +Bҙj ) Y!#RZExzFIA25 }k]>[l# Eqȡ4:Q _!%|(UHEqѫ3HPi%Eb֯g>^@es8"gTꏗLP qzNe F31;vfI E3Iܤ̘NC_!10 g!0B&ާɎ@'HB( Hp@p&AE0| 2ORIc0])a^3$(< &ڍ+0"R}1LD'$(aG@H"b9F@"y) apNC=dbIXI"nX']5S~uqP>%~obW"VL":h)ןyM)Ey&5줓ߥ0δB8W?T}Pi~bx^ՆxX H$u9w2 ąbihxL> t$16.m餕XȻg J]*[VHqh>-e΄NQWڞLqQ!=QO!Ng2!j U"(Xb$P%)]9X"d-G@广  $#BK}_ ~QGs@Tl9 6ch bmC8o;&vz&lc`JU? vON$A_1x Nha(K/hhF?`/+{Gr=c)7 gzӓ> lSN Nj~k $C8УӃJq1J4JK1gMnhjH"R [,8k^Y JcRyW&pHYSA/^('o㇟d -đ;%@A,̑z6Mo ͎ZJV'EI X zd#~ YjK#?1#6O=Vy>=[STϨ(\${ U*& cIYM %B FЂOҿ10L.);Q׈K 9~Q!P 4f<6BT~s d?\x5qP=JIi%d%5(H#eTD8xJQ h+_VZW݄ (6X %U*!Wj4h=kBiD #$ { [KtP܉Ĩh㮽=~Z2h4zKy~+bbj'~/[~ߠ-qr>}Hl[0Տl-@PJ93E 7f_Xfnk>!2u?2lP% ^A|Ƥ"BR̀7o}6ҟ<&b9,3?EA m&*Xd1!&*Y."URQ$u(hbcE0ILX&$H(B{tMB͙ a$IfE)P?s$!8GqP\8OKa@-sG!N5pCGC1$QdmM2)\yQB@HBIB2eB(B|N9GtE|H% yEzHHP/'H0vJ3,ZS7٨pa.z4IŧaqhS d];r͊M,ǞjZDHVB@#_kŪ+kZ+ZֵkZֵkZֵ#ߕS XMMUDT5UUUU$DU>dTCp~֨_Ch>C,Ir->ǩ@+i,(*aڍYUډI&!=z PM~'I@%TG 1g㌇ b} *OC跨1OQЪ+GHm *v31" 4ChD]0# yDCIB14Ϧzge) }3<s!ȓmKE1Ui)  n)j*Kl$ZAT: Mce7э dQLqt{||OA(+/%F_SvPC8y2_|U%C8UA RP]Զ؄lz$TJ֟?*BRD4|vy[W썡a滜HT|T0U R%MqkMHFG˥ b}B bJ*fߗ .xδ*, ! w[WV=y(RP TEQ*4%T@:@  RRP!III@P R2IJ5BCҴ @ҁH DLT3Cɚ>8) )-x\߂?#$\&BeO;{gML q ogɪ@XIbX9z WbFI4prkO&SD1 >J^1JQD SHIh "ROd l60D40I@R_'t-ًMȏa>}"q zc ΁!xq}Qo~7WkpA!!{WB%t!1htF$ɠNpro[p?rY%=P .qG蘨&ʘ D*_MP4'1)pY0S2,~WףCV<\{)8;p:QM|yҀջT$!ywwo+3Wǂ2biHP#!HPB T0e0MP}<3Ą5kry%c&Db$%++4Xsk-XӻH,LQTS#$+io~ղB|C1%Xܫ ܉HCk ϻ^xg>ـx$Ifgu F(VhF% RR%AjRB@ FhUF)i@)hA"R hhV J_א=IY!͔7G8 i7'kq (}iЃqX܉$s'^}ӫԆ6ְY;eY-%X$4z_(I%Ӥ>$3/DDp $StMDvYwix-Uա{" ` e&>C?ÜP2V2b_B'(츐izFF.^a991Mb9lX`v(lC(:R1MQnl)%hiSB),E#hCL`f 1!rlA,H="IJ_#sFFlj!W$  P@ E1 0(btIT ))c_|NG29"X >qť(b;)4|'s"fA8]<%Am0 R͎BN jc hd@eu BE.ѢvE{EyB|ODGMI3\Nh. 2D/Xب`8F$U( 4Q0sD?DXӗMm0OD&I$)CJ' Al(rXy89U:J'd("@"V{`pws=M%4{*>R#z2Ą#FÆ'wpe\ U@xsu8]JQ#YRHZrz.%$ D%"8燳Ӈ9Äg 0If"(1{azAwh!xՑp]GDGM&)J.cMbdlqcS 1JLs̘e'&{0cjKtPD)PXPR2ĶY04O8:d@R2q0 D''6y s4ooI@"HH|}=5xIMD't[Pe 19$!vIBJP¦ "DԐC$Ԗxn y iV='MdZZ MQd J ݆iQ:t*bݱ4R-ʡYh)h )d- BУHUK D0S@P"UU8 MDqv)6~.^RCsUC퉑cW("T=!*2I2!Į$D% LDJ6b,J'걂VaoȒXG?>{ȏ1҇Dsy!r#m ?!TA0'cN<{^X,ijKYXdwrolz5_òDtl?&q*Jbe+ YFIR=(=(C$J#}}bRz I+^OSܓ$&[ xi"GAd܅LC&8US$5}i#Ztv̔5W8*|}^Ѕ&=$P@J9A% ,bPJĤ#(*' '8'|ީ WvԮxVFI\C2Lr֐d7!)Ϙ9G21]Q "{zӑ*%FdIs"≡C`C RݪcJ)QaJ3&C 45x@/DHq(ijBfsp &`IR!B JPJf8'$$:}xbK,k7=tfU*a B52*ѬI-U& b C BH@ʬ $*gΏ@zYZa:9P;~EDyh/e =<ڍ)$WfBeRDdy}0 &v插%F%$:%8S@ ; BBHP,@$&Jd ϛ ixD13MπfxapH:\PzN=8  \+g1U(+T %EA% &D(@A{ێJDPB dla!9,yy ib7>ĂxyAcvNRmFj U eYPIA_(119r":\0@^cUG32f((RYDUg,D&$C - :m}xymE >R4vE >džIpg!mGuP52pWڇhz| 8NEynt*8B/jP=&E)9 Z?~Q-C_{H=P||=MKgE:xȿ~?Uۣ5|>FǬeQ_ADxHBݼC/IA nM+9}"\cP-fʧq8. R_y 2NU!%e9o&uB`42 j!RiE)TBfH74ȑ!1!ьM 0@tRv)H'dSéR!UT»eЄ0UxitÂSLjbL+AZP) @$ChaBR! |=:I&d}&!XzAܤ>JmTʼnP0Zh %h4<O|#{, g+%.>G:Dpr+&r ꩈRTpBI kOYK1$IUbCR012 Y}Yb-ťIɳ)@֡)I, ՠ~~/$&Ӥi$?Av H7t+$HcG#Db ]ZPts!)8Bpa&'߷rZ4Ƌi.Ѣ2h 6ȃ ( 9Tv=\T7ZI/ă"fVW4}ӛ `b {*@) P}*/fmQ(nH% P4;p'S 됈G|0YWANb4/}LB سI1BdkFTB*c2BxQa&Xerp̘P0GJ,"Du#fZeT,$AitLSD U(KOQ;SJ2HP!iP[+a2l$9z1 2fFR${&ԚV 0L*T(Z%(PRdVEJ(?5Dm$32$H&Ahi?Щ__: )''RQ׊>;ByUx1|ɐ1*ɐ祩2tV ?9۱а`hSIWȲJѧG= V"bZGŇ#O:Z|| ]'n@;73"BMuX^">@b#(5X0q*$q.zCT|*FCXڮprW칯D&` 0zl(#!U1wd5%TR~~k{7(Tbyxk+Ƥ!zTX$a,hTꪓO˾tٙup:A!HQ%述"}~$(VE)'{Ƅ%jRVdG%)BѦ)#J RD B%%  T TєPIm eIQ&<|{<-FYƚ=td vyPd>]kIUXOn#xn.fԮ'0Cb܍K<[FP A p(9 =qlRnM#`p i n7!#G;wO3B{2 9TFM. * . vR!C*qrنF÷@˜6̤E-'5g 'rc4GMU3ޮľ2K2yxncA0!e9Nu[]!DNTE;p0D2H 3v_=^`*Ar' R*T0Do=c5]ssTXp6 c FqV9 P.:ܘI]pzMi*Cql@Cf`mzYZ` C E q%dr1O22&68 nI;|e7M0xp2;_ t+ i;r<`w`:GʈrQ!_|'6)`Clznu_XPxc.se#HAT30'29ˢa$aNXuNRwFRzyLYӁh ##ÆKK &DN("$Ok7{(BlB/5jJF(&WN\^~J X"E4 /Ex'y5RUIzi}1n ) xG=IC1J~OO_"%02e. ՘CDiĄ7\DYKpٲB8#l8= Vs=(z`{ϥ܀_+]b6E4o.zLFm~96lR\Z40`A;U[$0:18~> n!H㈴ D!'\׎@.xJb loܱm`hAi >OOr7Q?[$e|_8iJ`~v_P_W"hꐤN dgb>7vyqd%ZI}} 0!@>C=P/ L* /䀥tBxc! YZDՇl$ d)S˄Mozg8p Ida^rLT2d(a@Cf% VJQ#eٍ C)j  V^p%R(;ȲoJo(ӔCi @%e5GZaاwr@*˩&: YGa(D1Du8OCSq׽IЕVs&]<ȎstEQO̰OޓCA*G؊dNZ76<.?;`ظ(aNl7 ɥIĚKPʐ Rś,Gg .$g4(uJETzH0r/\87.M)7vt ЄNH)B  ?/ fރ9r($"`}bHX6BD8VWN;vh{3AȎ7&*z]XAJuǢllhđ90o"ʋHU4Bw#e\x}AqxxA/HoD*U HPՑ -b zdUwi!X 4-ьԌ?DZ1\9R%Z SB+ƐȄR##픙DrI>w|c'µ'r*"1Sb}ώO@"XP VB}vO:A澿7~X6 d@(Cҋ~I$x<מp9 cIfPx|O'4cQ5?/f2hbT ${O<:T8(<^ !\44Z9/yß 3.kR!Eaxbysn$@>٨ ( H%V$AA R|H@I@A)s!($X# HC&2)(A$D#O' (8.8/$4 Ng'w(z{ۇq Jd eXVN{ʦ<Q P_Y#S˂;SSuH|lXZȜ nlzr#)N@5 @P%]ڂK1D А{"4*Y4 abVzC>r=J4bt bsʮAtIPT&"(x(})Qb3,֝CP?x: _-mR9*#CJh>]0F& QQ({`a XBxU-3QNJC }n"48(4/S>`PE3$¼TaoЬ9;bN">xHԈ0E \P ? J ?cTD T@jdQ4EQ" |a"1B4Ӳ.0ԉi$rL%0;mXDz<*81eh$:Ww9pN~_w:2MbC )ŷMxZețC`!$=NO/ DdWI 2@,$L AdZ,%UrW8xGti-DÜrrVJ e nK#P-C#I*!nUZJ a1^3v3P$L -$;B_@0xYCG " 47uw#fEֵJ&VAnQV0Sý>JC28U!?l NQH2"Ba#_* 6_$㭘a \5eDZ9LJBId4S(I(Ҡ#!"hd$BU,-IjUQf9$1@AtO\=Il\>WZ-!ARTVD>ܗCI΢{Nxh.ї s֖&މx^p{SU/)BvPyOI TIQTL@2#%DQ@C LP *>{ pTkѓ3:FCMn"j^n(R ûFbR oԟMEAJ~Q,M\" UH2V"%*(a $Ĉ9,1! "HiHDYBCJW4J(`""!*DJi"X@șxɃ8cb.~;30?  nb3H'.>ZG n }Xi^olu$rhP|4yw"L䑜Ć% fWqM+Ծ u Mo9 1IqC\?p=R<)[m6絀}0X2y$hF "ՠ`Up庮a`q(T?b" 9?T}||Nq?B !>鏮rR Ne4Tr.})7=wYfbp1}5::VtT+ЅuAq${={N& pU QQR$d=ٛ($;⇪EP/OAAv*!N;< HJ$04@JHHR1PWH֦& vJp4[+(wΜ1H0WlAAQ0ׄF9@4CCLR@+\0M@SyG6@bvIHP1$@2E$L<3&\\W,G2.l 04۰PBaBSPSAA$ ;ʐGG)A 4h7qq6\ZstJF;{L 8&l gV@iՕ.Pi KfWgO:$-a9DFƼ%b*{ym))].iڪ j092`S UċX1,Ԃӏi0= Oac/o sHB0/a8iVF;q\`L¨}OӠmH8#pEEb@GQq`~C_;l=#IK ;.) DU?yx𓠕6$[ "G~3Fl".4 !H0Q 9MtyևwCB 4K,/bQQ_zH(pÂx GţECc RhGyûG\n R9F9&C p˙Q \IuM8:,,y?$vAA|ri]ҶWT:9?")]NEYό4Zbw@J3M!$UFv̨ҎLT2+1.žq$F[*B zW#9T:h_)y*IP`Oc1O?;:~~i.+ "%"(WAEPo4Q!$$$FABP*,D-!-*I`VjJAeX &b`$ Uz tCS=hb " `N?dF$Wxw$(.񊊱O,lDN=b*eE "HDNJc. i&11)UV! -bERQUD-H8&}A>Oìx," QwGث3ݗ%zؒ{"s(0G9D)TTI~3ZӻѩHc'~?kFQ_(DF5N]. ޣ]oEn9,?pIP.P\U8鹑' a-H$m`Cy8vq|GL#16 4A.1G 3206_iҖԶon'DK)_=d^֛M1)ڔ5[ Baf[|[U2jPTNUd@y,Ӿ V[etcNe}oN:2-`w(I "PEdb4y5!V)$*.Y@],$/{0Ά QF.6|#([+ZjΧ\4Q&|qc'ɕSév2|?m]}li*F&6L&a~‹u( O{ /QyCe~4DVv}|3O!ϽT ׻;fl% W:*uΙRUu\Q6P|N1%"̄ôtg^#Nd0)4I|ҝep19ްZQtd4j5Zס;hy F8" jj[E5+GgbC $%IwpWOȂyz<.d(0I_1\XLmQ֐4yQ+Yı$e^ {A=F@m­8 J$q[,8CR1q߷4?hA4:fU΍2`ŠU>6)fn&%EVgJ]nO=-zlU. m0kh+e8ύ4 \67 풐 AظUnUT)s_eaOTᲀ4|W_JFF|dqt릧>XlL?oϕƜnkg[msIR霭JNBxJ=noꊧWА$u/}]ɶjM455zm(p(jHDpwR>#{)ZgW jH x8b9N̏Xp,j{˽s-:&wkN|_hq'rŚ& `x#A|/TO:HWu06l{N1&NXBtFhH SGF;_wC:a|MY"1#RlN 17e̲+4U@!E Ԍ@<@G !+w`4Z82 UŽL S3z|x0{:&SH J,#zG %3q lbIROx"\l9,05#Ӥ7GCHn(Kɰ3=zN!*IA dfTD9"I=խBQ߯\hg.B!s&J lW-\XێlnNrLh#T1 h^@<C(%}#LqMQ%8:X"((e "*XQ)d:ge@3'W>wN%,SI*ה"`1K;E Ԏ4c>{FuXE/|i[&I6Awٕ, Mt20R\;jVFS~z%MWsI f>1Q\ow)AkֈO2 ! 21"\u.'Nt~^w%p͙ @S%lXHDI֋+@ҡ/\dX")Zc")8BIO+v`4ydI ?w׮/PT4?"@pEjc3-*~Iu$C8=! 0's3C Lt7]J2:uLVm,iV@FA!rlȏCA('Y =O`80O (YYVާpbU>ؚOČdxcRKT3ڤth&v \: ,'rgټ(PBPaE3܌R)S@hGDCQF1CŢOUd{#ƴh%#~$WMիq'di_e=Z#28˦5,XXQTtNFDa=]gp,eîD܆&aDs @ǀJwG; C ;U#=zd#ئmnr4>cnzSIځJSd۸vOV.W&$W_:ݝB~= C(cP!H-Ot09JYHx89DK 9 :q!*K0(MCA؏$l,?P=ě!46@DR󻑛!f/Kvkdl\Y*KiJ"YH|^\ZTKtXN&`AHFy~0H9)@)==}wRX4iJ<>wW鋃&ІКcA\kf7I!Q245[). ꨔ{,YBIΚ F"[&ZmNNK8W7+a]$F[0I`NQ)bgG/`s4(RgDx_3Ew ߠjpPNkXR#ruw 6"N"]('KNSl0* hY&A,XQe,-$vڪwAVXXlDa+fV+y4o=b@ZELޠqr{MHtTHR^4h)aáhw_෢u6\ZUhڣ_v' uDT͐L֌X6IڶJV:8 !4!8HW`% &]|?2苰e+k&]giMZ,'Mn&ܦh9h'P4&kUԌr7T48(DOg[.K&AO-$Z]0p  6B 4]GVE-A, uΟ%-l>a] p8J) $ 9Ƿ]K5dsGrpv6"7"ZK)[[)Ю2t3[#0&D] ׫8BzN 5)-gG. `ҫ 8i.,WVr!":gI*tAdRsp P3qY#:PRq2`=;0>y-HzS43 (@IHQ,LEt1$Q&I =,)Ne(sKI+I83:D% ~);8 pFypV醡! &54hѴGuN,BѵFīd HRC>׏Ľ H#@SpP%v-~IHJP$)gw(R"0z4`{&da~z0HʠZ NHlH,>\.H ,p;,"" ~ pqXLm2jg5:j:nvJm%7Ga*XTxsG!!Hz1ꪨ4!J3k#QpS<A`iS"2nwhH 0iv*;h(f2H"TȉK7zJ!wL@R73@(`<xJL$CJDT ^B@}F! hH1"$0[:\SU4ŬM#" VTpA,[7Ѿ=e K<ݙVez膀'7E7 0!v`ThDhLMDl)vRi`4,В#=QT<L|/l$gL켆%J(CTHJ˫1:Mh'hHbAqN2o X qBgIAQ M C6hl"*r"!{j8@!3@t%@a7*EEUT{Kca  fuEfcZZ5kVv&SzXfEUUj奡 eUU3 m@R*GH8mdTh4%T 89FE X/"{Ip ϗ F 4 H )A' .< '1rCq^5NCs"x,;E1 'kW%󗌩d/<آ@WxQD_`WRDTI7B ŒXMI9&?ُ=$3w>dN j*1N|雐(zQ 94Dx؄_hW8]GhV\XJ `Fe ,^u+'#7߈j2 &%&e?@2""DD"GR2K?d5 ">Py܄Q+{ A ѠIsau4:ScpʄG2d;a"`?q8 C:PP<9a8"nTM*i+R?OQIZ0F1s#$(tzU= q*F&y"!s 4x3pH|J'4 $\-4A$x'Q!S9ͫ7u~qc_=0>Xk+(u_3Ap4)q"!5zYZB!)HH 鐏` ~BI.4= u~؛s1M !G@ JC%)U8!aI_"cމPDd!6`a G'W|e9hG /F_1xV҂b1]MMF (ڔ4eq k[@LK 6z6_$ `i> Su$;6DG I#·-89P/X,Pl*}-zFWX(Mw8j%+.NӂtHM(nf&he2*EEh.jAz5B/hI$ExDa/>gbΗ[12w >؅Sb$RY#ȃ$1,ab.zP ?* l?oQjY(Ai[? 9މuH/L{3B0b ,-j9%"CGh,IA1]I)V+ͅR=rq I"=xG#nM< @J(VS)ݽ^0լNS%pDMVX!-ǘ+KD͝cNdrgLRNJZIBnq9֥+Z[ڛUl 8LXt9%7shb%$2ZgꪦNj u"CdJp/R#\֬po(iW_S'A$m4UE \\B!/Nۀc[%Ҝɵ!WxAYG R0@k5s1tpcINVl GyP/,O'*+&$sYIҝ8bԪ`{S#OĐqET%J CM;[zoȂQ@#^h8_e "!0dETۡxlMN9E_}GcDOb=!"{Om6CH+t;D2_ƶ2$CBP4(W*@hE#PwfFlXɸ(RdBߛ?hz&D!E_GķuBƑGJbZ#N']7?˴ROx)JvJ1t}N__xG} ,a"I?'!x=!."@bEi,0 A`]L!HFRЋA9$*O+#Hltnrŋ93 L@@ᛌuԂ "ĘNxlXQ$:(/qUgCg_1hg%:?O^xZ*/5i`4Dt9&!Yk]Lf?٩ R@ \ve5Y!9&DD4$D|ti/z ]Uss T)P)v9E)i-(s;Z25NWlޏy^ץk!̖95۽UuޝَڜD޽n׎Ӯw)yp{֪ފewkw:$UI;7]YU]n5:[{=y:YdQb%cAL`> $xCr/hxE{4 x~`9b/~'%TFa@>Ul;!Qe𴪒p0*@415#z/m#๔e-'>>ofX]?$)ٔ7* 7nۖo A)pat;3 O>ErDPU!@$%+JҊ#^(NQ4x"sLW 7wb#˟G5 H% A ֥P- ,1]JòxؙJ\\dHhZ$" m"2gxs7LTثN!lw4;*?՚Al 8SM6(w6C@#7Ï*?I_u>cHGYR2@o|]"!$G?ͷ9^d&XI&*QNs8c*-b zD;*zEŽ zCp݁"@i2i5| 6Mi+r& μ#`rl<]"0ؚ@4I0f(n!?@:!|tDr'a RAIM&u-SWpH6 Hȕ$İ7+e/#!v(QL`׃ XdBV2dnM &f`Ef!$&@" 8N Q#c:n[ݎާE;:cφCT%-";f,iz&1104X@ICu"AUL`1P2pfcA.5:12V*jj1f!L'HaE% 1ܡZ٘L,n "@ك0v@ Z^&0P4$4CBQj^LDD̛8!$jw1Qa(j5 Db2Cu+9!xuFHHVu2'H RT`ĦXj"#FQB3Fb p\tLL1ZM2@&6zDĨ u#F42]A[h CR4a j@7)H)@` IDI$DZmjQ%$Pp6paCS@IBI&z3 ( P]fP'Y 81 r1p (^`5%"j(pH9.o$[!(Ժތ#V0ԋ0ɂdhДf8X5hi]afF %I]ZidjiOz.]Df!faȤ q38:Ѭ0 Ƃp x`L˼k2MkBrq#0 Pf@:! MEA2jXe Aп~ֶF"5/]Ċ?'*uǵ֯_|qS;*(ӦF6 `H*^Z.ݠ޳`*ȢBUH ZRbIj F=Rb=S{aK3x'DO#0B>T(QܨPJ/2*PAԩT{e 'hMuxLE *hSdCB"<"1 M&$8ѲM8HE! wMbH,1>4AtJn"Ty)((dE`J)!K3ݶ*?K£Rc2ʒ:z7V)8-*H4m$TE2rF(\5jkmQLamd١#,ъnUn 0\W!EQ8H`HrG;Г3 jYr26\9pSXjd;,knw鶢-,YƆ&eElލn`jbwNnLR *,Jc[cJPUZltF5"tlbЉ[xCBoȰBxA$]:T40j)d6Ɍ.1 `FU)j"08S h 6#,* TgpƤ! 2`kt67^SߨX֛`XI  hRV  H!0 [Fjh9a2R4Q %4JB J/c4T´D (bPENr:=c2*8r{PZ͸-dYem0X0^6`%*I~LTΙ#2Oxh Ɓ0"ѣ uLekղ*7";n\뎌,%2S 7WV `IR}?IWɷҽVBG a>wBx&./kc:]Ɵj[y /)pFSDc+%.iWWDړPxvgJWdnC`]bHblllkzdX!cAJPp*2~IS{ٖaf) *"r ,?Ox+I~wrMШ4?d&kRG6$x#|3G{A_O^>NHE.HB4o qd8!*!(2$aGZ 6%~̊@P5 (BK=Dߣ ۈ@ň}'xQ}_|Τ9zED?AH=)$$=RH_ôoړʈ02ZC3*%.$*)BX(HLB*@Ъ>O&탰+30$*%E *^+FHFT=I7*#H7 fAdPGJj`nđʥ EA*BO# #R; %5UlBȖZR?׮/!~At@[~/ &<Ȯe>]Rf1ݼC"l̹`ej$I6IRDcц8T?/Ien8da&>7rCRR #, R`f)i8'nWBteA0 !)*ܡ*H^@aJbG6#l@W0BXo%;-/;;(.ٮ @|n[E:8P5$ 2%,\EN<c@ ͆BL*;l@^:'☑,US_Q/J[J GEDR0@ @C%6)2`$2Ċ"beB F!8 ,By|^b=r7?)8+eD֦%fb7;,% a8a0_8Uʾ>!gzpP1`IH&$D> %=$Rhb$4heIBS+ W3@ؐؗ_95vK.^]:++nFfKSY>7,쳶 ?ąL6ĽNS)ʧW<\ow/.v>?h(xdA9EXuN!K(m8W pnX *2AP.3l ҋ2ȸPJ ̚Jx kimJՈScqiRqD !ud!Ж YS5gRlpzĎ,t:iyǻ)y;$NZ@qx*[*3!rhk's;~g/3|!D$-XF={N0?+:`h7dMkչ7?7m.20Is 5偃@ >X,>~'/ڐúkkuU8IU'y8U\aqK7QQ:Z|q]7ߑt66wȹgkᛃAE/i9D'DS0=?oI0D,*Z*÷C&k]Vm6u4{I x%AaGOT}@)%%OzZA$׭lC|aV,:ۚԑEFA /_#i7߯PHՈC`!g \|j SVH蔁1OoMN,SzYxAגǝotb͵d7j`AJPCG+Bٰ*+i< |n}LXa|x o^g)1 !jaZJ-2t&}yd\h~9C`B#J&X=i3J;$a穸ܑEH/$A"뇜2c!p7瑏}A*7 14^t!+ IqS-!t㾙z7zfw6iUM(ց0;6pdyYTntwYĊ_j6xv{i;o`ږi"u9ɦdFD)Xrq9ѱp }D#{ZJNF5v0*zI-`9T(IJNf휲h>KW(= Ͼ`044%R-KIA4w߷moB9+2<"[ 0a4+K q <.wkglwȞo:D& rMJ{NxW3ٯVq|;1b)RE%*=- K M4(n-ݪk t']Rh[Z )@X0-1@~_ċ cM\:{٪ .%lBb8|^ɾ_ aH2cHc D" *<0˄ő O5o.wv:B鍫BpYj??q(1{0^ԒXu$l)MO M]ۂ2 9^˃5@}qU#B %*gb8!%r|مoJnf݆ܿ<O@C`JXTX_Ѻ΢W~dZR/!:R.{>MuJ]^G+_qfƵ(i:HmeI)$CY] EKm@︈}CsN`d]r$"*L _]$.ia卖6;l}cRR@\ XOŬbh@|(pR`DlIj 3,Џ(sz\ӢiCՂ^Mr+"hMk%>AH@UBbP h" Iu !2! *#tȓG>N9Ē 1u818), (|) y=^q=_gQO@y0S<R(h]Yl嬽 4۸fBBXýy^?B!kh`|Cz$NZ*S|l(Ѐn^g"y(CE'"j,o^.U_g?hh@ج Hߐtwp%RZ^ ZDZw!\¦IoNXM6Zc[+;k4wh\nMom@A4ƒ0AŤ #Y0(,[V;0 ܒ LTZ&^ 4B6%mOI4h]pR Yg46.z'Fncoz`< 8g7`@MypG'ԖQaaE7:J5{tە$I% mʒI(llljj 4~̜e*-dly^_zn}3A;"?ӱΌKߢkn4OAE)$|E$xT 7M| U^/;ڱC@ԄTIG+#dƈܳ-P:7 1IۂnvIԒDzalbքQ4wrA Ck^`EẂ!gd=K? Bk߭uePy/Y];]9 I@3 O5\=]+W MPЂuѧlJ+y]B{LJbWiYQf=6!"q1PZ G?l.%;q3ϻk| n%p-a`†[!^FoZ~)sTkt>4mhl/r&$|f"݄ep_Ïo0w"B);__nq^Żn}TG&qA酟2U^yD П s)R1@*lRƋe$Bh<\3͇bX/kpB %4/Ozp}$'B: 'Gr!qv"]Z]C:*wT|#5f13݌Ǒ-VAM;7&#JxM -ݜt)fumڮni}'aC+EnFS r[ ˾4)G7L"A%<坄F2NlMPvfdJ-uF)j5b 0+d!/01 VJ b.x̱llm94~POK"l6*h r8_Ktt}n >J8D1OuB"n|\~, Nbx1C)xR?ʪ'<㢛cOHDB-Հ %>ɮ﨔-at֑VOG)U+OBJBoV:.d>q{5p;x=NX"vδ.0I~5䜅rH냻C/u< elG ߅ Δm.$JnEU:bmeKFrU.׆WEDxPM)DvMo{֠`d؏]RX,)cP%Ft kə*viG=:Hm2QO,Qa!r?e gX˙x%%+Bܢ;t_e0(#4$7 (\<" Y14")x:Eh$KAedv+ ܌uhO]jʦИcoMϷrr@C$DØ # D4Fc`mh҉R Kl(d/̓~hFna8"c/u&,ſŭ\>p^P:kOd^שM&$$Hk[3L&#Oln&ɸjA P%'R z D'pG4S8kWh{N2 ^{-_=!f:KG0ǰD;9<\zF努R80ԢoEj3rXMDٹeB0/xvQȔi6hHJ ^dw1IIqHÛq"< ^r$8" HScƇ oi 2X׎82/]<]34ϙfr:LWEfZ):׵0z!+mG|1SXk*-!"lt݁?47ѢyaxSb4+B-Б[oZ3 oIm}7ZJ4{##[%hNGhX&>wZ5S^xhh倡AME :n2^֢>.[go}E͕yaHAxKU姓dnbǤÂdcϩCR&""&`o=?"P=%[ v3t&DX6c[x8h{{9ݔmh%玲H/!"qq.{6z[ 7Sef*cV oD {1|D%!(leUV&Qg y184t ydy$kB]e fSe|%Xdv Bp;h@b, q@z1!/}&T_w1+ uFkPqIƾ/r[$g\[tf o ];~t .c؛O1cy2?-u߁YDG1EA(tb-|D<u66ʪH)?nq´&U#DSI?e/%B~A%{95D5 }f~gT%kB"#R$U9E& #Ap܇Dea'4"X(BMH=B2!b{#(ȅ$nSI ^q{bhIe~ P϶Aͳ5WXQ 3bUBh[3)pH>kʊa~ir!8فO/+Ep.(Sh^fkBt(Ȧ+.fA\7 4 &!#Bԯgēs &,yѱy4zktp(سn{P D," uN)ā6fHo_ccLҢ⌊tr%E$`Ņero@/+ 9%-U 0%QչSe̐&[u Qjw<~! $&a%sq 'g"p0b""'pf""*zu.1-FSrsAdO; MǴ#\m/] 6.I@~{=t,4egxE1 @W)'iSd-Yv+rYwE"io7kyBȱ9>ouaRkoKn'uaXM44hMsh$$_f$Q*@ewf)z0%{񧕶ڪ.Xܟaw7.k-J3e igڻ؇kSOǎm1S8o몪 XXk*3*+*2k:쪪eUEDUUU,k3+ϙT yhBDsRuo}|d cw(򕹚4(vmyyHG?+9#3w jJKH iFia3 9) 4Vrz897YKfߢFٰMЇWEb0QsC/n{%&:t(0ڜI\ļaYgC=9iocXD^þA{*"J 4B;Da 8Ùh;SH b<`t1&2ApzׅǑ :^cfVwQbUǞwt LjB=DŞRw9=ȆHSe@Ԩإ־2^AC3OS*t Ĕ^PW"8֨vue*D6jPsa^w]X ×s]X/JDt$AZȻ}xcg3gT%P4F(gp,:4:,20S Ha3L)VJjtl]J؉A"woYp64hMi!"dI*O>qd~_[U{ SMVU@'-i.x+i,ʠi|r;%pyz Px͉r/r=4@l.HO/vR &FmSucssdZ 6c`q](R$fb%Q* Z"bÍ1VQRGPhI qy͆X n5 (D0T}'1pRՓEI. bh&5D X9J^⾐ S|l,;_6+T4t@J PYK>  q+ \mvsp" %bq jL!Ex9pۼ̿(zDjvKͦ %r9b ZG72pRЉܳGsV~IN^=UHVKS52pwInS^Ĭtƺ K`qBZ֮53ӽE6tqQ:uO7oDItڸLi=+RT9 u ~w? ӏ-{#Jkj0|빦%U]ͫJ/$jcк=k?cbC_ e.f?c{y[ͤ_?=M}e ,v 7T~ 뇋 =`T# %*֐UUBVϤ 6,e n+5O͙6𩋋>%ٶ42t)Po&fl*>xgp(Js6Tg:ٯE 8qghW)ԓx;7'ȿTgw{'F&.HxЃ<@o3I*%ֹ20 ,MykӒzM6tzۄX@Ж+i<%}W[ONILq.h{\;pw-D e"tGy `s8Tx*xG iSMvҚL_Ӵ[3_xg uꎯQrWY='~yם}>ҶxԄY؀=F^_ws;Q J #SIKJ H@h,?cÞsFn ECS_CIuPİU*Df d 6?#9X䜂@H@W1 N{D b8:u<3FL·(G2[IJ7 /L7aR5ikA̳3 7cK,nVwByf]JW2nІ{^?|> n?Du0ښEՙTYX dh~|a^aB!$bi NGQ B!dJ@_! IHd\ >pA0Tpo}w6)>_.rku~ flUF;Za`{Rb?ɺ,UdaCRI!+O'ܣ݀RrKU(8w=Q ,QD'1狜q1Eܢ@Cc4@U%XHվ C-M |Ӟ(`n^`WbT;>O @/zu..!푤H۳`?~?]/|iK&cKs3o'Ӷ!ҒLqt6A, ۆ0}/UR*(7W:i'%=5f'+D7DS$VU(6=UR[= E\}l7":|?_̰LW.DxCf g@^5RHq4{cSbfs?evފJ'rf:()$0!=M'SLS*M09n%"E`j&dLd5#K26LrhrdIT Ԁn|y+GƷȔ/KUdyE B5?zW nQ_Y5fsb: @& `/ T PC LCo_eͮ=\ +ͱ&ayzXhq)&ό|CDK-DN\).Ǡ3앺 Z欃/2&lw(H'j\).~"YAZ"MY`ѓI:: o9擤l`$INꙏӗ&yZέ㽨 9#Aa O$#ws7V{UPƷy%ŇI Xğ0JRJ!V E/kPCza6d >"),-R9=r D_'GFvS|Ct$T+0s Fmm}8N{Ffj/nhwDh!"Uj9.G UDOY؊I+P5PVAR$" (4ԄT MfYH$(FSX^E̞~ޮI,K$'J֖"I2=zȜH!hJ$މ۽vy`dnɒCVDA)TVɐ 7e(z :I$RE<=B}50(J]rTH,7ҳ3보jbyRbDdX\Xo/|f{'qܪ0$)2,JѠ~ʟ' %r?@T4;HD9;H`0EQbb-DDLtGxDJlP[VÈRN~GofM?&r}"``(*J0^c\GJx$4d>s ;wdQz'/JȤkGgCL6@aEOTztM-gB$cn6s -8N>*ǔ\>?o$y,'`|q^*])N{*s&Li)!Y ZЕR5)C ɩ6td%5"ⰿy9N<"+,%)K$$I1RYIDFNda,-|ꑼ;":Сȁ}+ P ҦgR^Hu~+G^A= A%ԥa"Z ,4d;*;Q,Wd=2LֵxyIy=HvFlef-R($9Y N2U; *w~fZ髡. I&fnmLFѥH-2 ۃʆ\6†QKK O֩:r1'*~jLY>hJ=>ȡ|^,/pZ^VEB񘘕 EDf%C@D( ,IJ`}e5# m`Df΅mژYG'''F-&"m|2VV_7_T 1cK7|+]йr]"{*S~D +ppI>!'G!ډILU@֜\N(nz׾$1 >穷*\G}HtE(Iz%@gC B \TMh9T&Q1dvG K+BAWy2̹/35~Naaü=A#?$dx0 KܙS3ԁiPLTTsoE^2릑L p8j(.|CP= qoZY ; %g0)gYm"BTē:gFSx$ԉIlE $ZҼ70j-囍PfP[%vp~XUIXQaX16 12> OM.)drSɕ\s4S״]D Y$Uo*=I,ߩ&JrHn 2GlfhEeX_6wbH0GR%*Leh< 1ѥm{]`^$@bɴ#-w_]n #:$=B2Wlv6It[X 5p|F$%/h>fm`Jч{|cl=H-yoTb3ݨc9SuD5]k3LαTR\#E$EܯO1D V԰^=P\"28թ__ ,G#^щ[}30nJ F8NI!CBM4鲨% c7֣[H#鎜.vLćIWyAA.([P2J3TZNbJ>=*=#4׮:#!by`-\,0>Nc2̔P@fC<>D<~<2@}y bDO7>p{vۏ%YZO 1eBd&-ytVnJ0u=o$21Whu1L뾈Hh 15fؑJd4zķ /q~|Pv$XXC{!Ң݊Iv,j1\?#>R@Kn7 P"ԃNmUZ1h.Ӽ-+Cfh9~Pv#%vjWL:,jtI`3%>JHړ {dy:AL:w ˖-/; Ԫ3k9jZj,ĈaɡF?fg"y1ߎ!wϔ Ť:kֽ,,mqIdq49Kh !F\R1 F e:~}1Q.At/a_1yb$/W@ !{ 2"Nzs"i,Eg:XdPHYTf&UEC@MYD)6H$$@M¡+ +C$E Q$?"8ԂZ IVDSCUNYS g #:y`S@6–`1UMgLЇ2덋JBʼq0俳b h;f'g*U!֠* {! ܔ  #$ ?]0! ia0%pa&SҏxW)#J2jMIS@!xlW@v%(-(/*B@E )8`@PQ%0" $(Mu(A& 5 DN:CE24UH@iUP+QC>ET $=$LlB.@avrAcx"d !# cu VZ >nMF+m{ًdEpt zYEIc2GxK$p*B)bNaAr<k^U*&66p |= `Xh/ BavTw褹HGtPn.X9~=8,- [!)(BԌxĿ 06z @1bŔOV򄺎f&+>Au?&ͷGr7(CP=!?Gy(;>Nth_qXh^4g֋LkMFi N"hR>\F9 o+jɄ{iQ(_?M`kKKp5>X IId#4da҄ʮԂLqq4BRֆqNקRu΀g6o+J 7='/{Vt#ЇF!??OYy|nRnvHKr 0tgW .]"Y[(:ax$Y4h1S9¸~}\3-Bauu3 dMr/6$Hw֭}Yg^<=I+Sѽ2 tYVBB@ Ԣ0Yy #c) *]L m]Ay,b$k8 zUUݳtq;p00S4wZEaCПT* $Ph"+MdZ}\(At:@)m CD֯0(x~xm@^y1 %l:#&!܆kBE h_wgr I(R)JR(r97;MqL$6 ]XT:66J6EoNk٤!m]x;2)A5Fdr=S|{b 5⺿5ZFآl\х"Ek2d='x7=7'y<2X;E/HBP WE&Rhzp\ez<J(FTڰdmjq?sv]:F5}tLMXA袿kWLP8C*2^; 0y$['%l:- &H $mI{mG12K'J&D Ų4\8ƙ!l:2ت25ȹ9FrX:#" }tmL'Ph1_.)f'p^YКbJ2 yrÐ$1g1eDy/OZIG!(H0 ͙|4y߂qu+aCs9NMw0ev-4+RJ@JSZn FR~n ƹ琕FȣR_?cc}$9SZ:Ru@{VTyJ_iMUeF61X=UmY>C= $%QTU2  >M,k)̡ Ej57l d!)IuBD@B8j@mQA V:8D P^>Gozmݏ4$"A#j Y>@yUD? g5r$}Tp{ktտ>+xa?W[m9OWL|C`<%rfڜ@8fw_\|#yFqԴHbK+(ۇ@ZTTY4m 3m8PA $u5J)Il ~ߝgb`ۂ6zHE\AXٌ$"RVࠕm9~?k&yIdf`Uv2T(ÎGWy/()$m#"4}|Hg|pز^oGl q iPLA_'^P|>Nj$1 <h_X6D3- \@l}͙IZc$ç ^9u*V`}1<FMif:Htr[A#zw(bʥXEB(Ȧ'HbW @uX4'^PENG{e){zt^.rO4&>+=~>:E`%G7|DC(Y $B & IH8B^ϲŊ"yu_[T^#$H=gk.T>߼pF.˼Wg>S}>aI^ ‹o'ßsu6ZC5$Fǁx7WނͨUG5jjNc˜rp=m2\33)"w3Al1 Bgw}2aTR6CдE >kA 7h@4֊Kl׶tTg,VJ3r>;ggI"4\p: b<=x^,o-nR~ Mp!/p ނ3s nGhm޽ b_Ckl~ eڒ8tqoq1M[vY~lf sy& ٨@ӷ짥ԆȌN}]|d!flK5 $`ގ^$]ZHfIGE~h`6#-_[ċ $i?$*]?Og+TR?9" DI)EZ&Hs gB灖$#98npr ү$8)!32y xwAnz1dzDH3`vR7},*LcH&Ӳ?Us\s5iN52l$1)`%Q+Wx8@O9K]D֪z|]PMB$a8jhI<*LL#'K Q8cD3m6g [˕w<}0uJ_T:\n`o@|U2uH|7^+%\MbpO -7 @K=qk6]M.##h mxDv&9 I.9s/:&~υ|G(/X$_ָpO2Bs|b%?W|@}&% 9s{h*+d)G+$.6;%n;b'1X:s<)v9HClʼn,YDJyWk9I8ieXR[S QSEc7A+4 caIЅl!8sl ADjFbF*)#V#06N\$0 Fچl%Cx`%np"`MR"R6#xp^E[Ei%tIT*q^냷p ̪]8&D;`$h#!Ϝm!t^,4Jr&*!Hw p@dD޼ R<%qm[F"w{CW4]1hD#Pi:|Bi(S<d5]к* 5y]\H=d8 R V".ex7ofw<&vTF$oex2_M8>$`xXIj)Q뜱;2vaZoĖ!q4Dd>zY=keHu cDk˥k#uKa[wb M4f â]q0Ѱatˢ$Rj{I8 X*CC @y>cҺ|H ޻LB6}#[W?a !BRDC{Hmާ! GmH /OᘔmRS%&^dKE3.bFGK!*SQqiA6aDUL5}bLGh6*M =hBKĚ]`('s`EE6-̰b Lۘ*@ա#<03]rDWy iPHIl_?S쩌0yR9{zxY!vqmRs&Vah =Ӗ<$DЗ`!Apmݭ]%|zǨ8v=_}'04#< {v$Iv68q&)% :M!Aw9B?IA'?G]=-/V>jZr~ڜcuĝ%ƵtAxegf+NӠzA4579!z79l /ڴV!6 N %&B*#.#(~SNtC0:֠~͈:g3HHdf[p!ԒY*v+8L8~8o4`&%,U3*ɂOBhd5Ei34b6.2_}C֑봯J 9ͶY]4n1sFn)$z~شEGY9 m#GT941Pt( |98bK&A7iT "IOPX bPI%K Q}\&R8kfш&Z>SqCd^| '縭`izz^.^^]gR0܏AKMxqD @bDX$6c{8. iu ݻ W\GU0:Owqc[{ %_/~߶iY{vjsg)CHosU^+nw) hFY"o3"%;>ڡ wxK̀t!~/tJ$cXN ;}ǵ_̄ǵ| b M;|/9G>o"3ga#|I,Ky\M15bkbᎻ l߱E%  =vWonHr-qrd}y Jgo\6#Iw q*d>ϔ#[Oǻ$[9D$MK_Ig!/,/!>`%ATWڐv%?mB w|;TBHULR\ !? =渚;'Կ NQ;g\bYy2؋B aoZmS we@3xpߎU,}e2F;684ivRB9N$Nz"M_}| zDBG8vqPa 5 "@2H(&{%AAAA}B#IHGe۽(Ue6HB yr +fuDgMmR.=GNWg[BɫHD* ۺh0:* !;?7p;`&aQrOF0. 8yL[3&FF5(`hHl%4X0ȻQcQ5ewBN^ġ$\ qk% əPD%dM<荅6A&*?b6mӷ[hnĤ@| Wp|p-X@_Ipzc8Ρ|B*@&b b7]]K \8) -Zw:.\Dŕ^oqlEղ=$rQHHrC] ~&_X Aj䆦hR!03Vc2*r$1e 1Ya5 dLAEhG@oHU 0 LHI*048*,:zFٌ. 0P% XLҐBd 8c± 0`6X:ڎR8f*hLIU1*r}bzKB'$d,iLCcfDJtK 8υ߇cm:];|1C"f rl,6Kh @h-x|ݝgfYd#ðb=tR^D6! X%FM Z4Bd7\u߰ 3q8&"[§PA7v1t  r*\Je|g@Bt {Bx P꾷C?|Osk a>ٸ!j iP" }qUC~g뎏|wB:S%u~qyb}_B`hN䄇fB4* ؑ<$D.J6\^SOU?+Kŕb@v"{UQS]Rv+sxz)֝r{T: hYٛݲwafnݲ1Ż'C4# <=+ڪy/?~>Tl E@,ʿS1Q؄^/a6:1 h:Q`WcHnOo'h02XDrd;}a"<|Ob7#GB8T8040ı(%NI*4 rb(7NNpሎ_BN?|X)U` N.8.8BXY( ID1fi o ѴV12Uat̂$II&$b`06HuJ HI:v VEWN1Bv]`ؔ%J >N H0 +E8 o5P~?vOsD v3 ML+ܧp@=2*nX>a*QT _Y&`Yy Y"!H%|U&HPܤ'{G!tYX#?I>,Sh֢X=-tdD;naIxD%I\bduqʈRmxP# ֦`{!V"$`eieY 7Á? 0;"blKSB'=}TN{#OeYQ+c4#?)FRCtR\v (↹>K$mNJj`}C{0eGJ.ea13} ,#4dtM&uP D!Dʓ1 rORg(ZLN2;Ֆ8bqWPLAE2C23)L14%L͋JGmF&­7dZUE8֢e7S 󊣉fm[⪛@:ի(B㭗@=p¡C j ?Nv,7 fa+DG'Uؗ$>B2X&q"dOZx1h$$t =~NR*OL'h$풕#؇ vP'5Tȯt]PNuHD13"0>~QM|< M| zAFC&^$/bY9`A5A,$B|;/**@=P7 z p0 Ũs u IPzTY>($ Xe, E_HN"+zI>~a>1pQZl+8 ,-!>!툐KIQ74*,B{Tz%%>$71 Ro532DSxdtJC!'ܸ#膔W`g|fCd<7^'-a@Hh$gAADE "WL?4IKqvfkVJI"%IRI"$a Bsh01LHJA HBSmpZ3h5V$BhGj*5PH:RS]"Z +;@6 ,@4I* hCN84VaR܍2@Pw} iNEQJѤҩ%HX:֡6XcZڶQM(3LМƐud&A1 [C/L30Ha5M+.!$1UITDDDDU!U4QZ*,MkV#cQ%R,XT"p!٥t iR w_i hSJBheB CH*Lp/i8!8$DLq;[eoCBlAr( pYʼn÷ZYA@8'b4jͬ^nOvLbQ Pji!2JCM ("`3 S G' pѠ,<2̅etN9D `$^(;&!Ӿ7&ݤnf#}Uv =A&!3ņD$HY$Y8@AH S1$ $BH Ĝ#b"b) C;GfHHFtjFtٚ5uo<^B(wBQ(KP ",(>Ҙ`ŊBDpăYU).`Dಸd8 ipBdƈ101K'F:C1P[vLcz&#;M9?wbp! #l{#F:hnvT62I'Ak !$KcdzDQK UlJ`D64yw\Ɓw֟$$߳A0 "PnґzJ B'QOA0ѹF<GNI(I8>**iP%Q Uz"r|A4Cˤ&CėG\ ( iEIdUhb2wv=DD?~bP K7E~)bP bF"!H!Ss,@XcلF} H{1EwUDhf"xiɔ/BlܔA;w}'EZq%Fe5$Tw'*9O|| ܩ6~rjJ.b!sB! H \$1e2 H=Xi$O}WjFvJ #bPX x&d] tGÕw¡%``&M Mm EAe#60& bTM],GGd;v!'ZT=xHBU(~# b.KvI''Dú.&P <}QyK{%GQ(OP*Hm?c $G ֔i|pRJ4 %~Xyb; h=j'䂏A|"C͌ѩO9HbDG ._(`O@Ub Fjh*ɨn'bkLII}z$ Q kPC$O;Ϩé~GO$OaR-@BF(.2a%d#RDN~؉B&&N-m*YE(#=8c2II,8<^* !gkp'pԉ;BD'DH L%HXri! iA}?so}&} &_n]1ee1u&8.T(R+RAjƦ NYu\@@EYPs&Z SrdhD. 22 c2)<(pDhUy`:ոC ,К@?R$E_U "'pT & %M|u cnD&N0'z_8З^(*4!S&0 $eG?{wׇ.ˬ ??6+kz4,3̵ɤfЂl biExeާ2$$*P&HMӉ֠MyU[$P#ǥDUɤEllrBα^Ws0H:RA2nĉiC``JST0tk3𵴃F*cӎtªDB_EuCM ,Ii~h9(HH>n T-2|J`%'qF.`HQA$@B(DB4!!R21(3HLHDp & (!IGpHB"R$BYF AIA10) ,а0MEQ! AQ%(R02QE-ʙfELݥ X i[`;'Tȝr9iOB:e1<Uxөz?EW/Q i@zNԂGR$*}Z>RM@8AxpAqRNȐ2Y@F b+2*9&tPyf(+' .K&Tapg?O:?׈cH~s [>8zkSIGm"@8@htis?_"'y$0EDHbH* $x rQ:ֆAG=8GE\.7OX#aHJI }e>l%) ĬT*X(QB$+(hѲMV0S$4\iM6ӌh HK0`lcLTE"$|PI,I&@iN>召DO}I26jU, cѓ&3NHbыnNf~m2WYc|qv]=& RM#~plX WI[(4;qBض 1Rcc\a("rs To^xܮ.?6y(E>MtFmʪwYNNv xSA3T*PRɠIz՗=H~?Ek $Ͱq=h1.`Ucј1 QiKyyr5.wb,,#d{n X0|0 rhPLu96 1F6g li)F⢵׊}#L$w6Ӥ1im mmZMf eW]t~#^@hid Ѽ@BZ$si@ a)r7X ۳R2{VJTCO~ǿtz琡Fi  bpQBhc^֥D09::KQtY1+s1 (oU[x̒d?V G{PԊp7p}@`/E5 fw33Y Bz{IJ$M i1YB(Ĺ@u w]tD]hCv8Rm$"&%+=+<)RB f("4`B @NN(Y5tns%̎>"L!*TMTh""D 湮ő!bŋ@-La'@ ϯ^#IA&1>>=WIzaƫRޛn@{)ٌ"f4 XJ4v0$C3Lb)(/rQ\\= nDC' ; 7<ҡ:iվfDAdč^zꏜHc<;\Oh}j9}^ʒGX#I?*Tt=j/WNHJK"ĘMZ*#Ucm/;)v9:˳h2ȓԓIKb$I}E+- C!RP^'j56)80qo&SA`/a 8K#(wG 9?49W=1TIAY DO#}2;{!4 |IKjmDgFrVm/TT[ I؍:'M(!WΤI5vMqƤU,7:I-̰”Y:${F|j7.hzIƬ&pn%2dEr2t^?6yIIavtQ{[33 Na)(PD2=ERE=MTw e ݭlsQ&b!]+9Ru1;8z!we-jG$mNvG$0MC0)/^:3ckw.6P\ wpQO;`{XxD#Rzx~Q2I͎LLqE)IPDJ?6#)N$LGyH׍򦵟Ϸy}Hw B0F ;r25f,Uw"z#ٙG _* F=_&uk?p6+ifq,W0ogRr1!Y"D<!E$- ɓJ{%:F!,%TQ!(M&N1'z]_MvnTޠy{s<_SH7gآϱdX*2Hfe0D`&Pd3!_А xrD7/x@4*jV"$ y!+! Jydy-'m{>Q-'pm'RG>DFP؁!As*(v!r<_W0.UR­LdII" *2 H֡;>׀j-S $4J5 ~b`>>?ڼI0uDrd "xcߕ`X\T^BP)PM 4^0yC%WS0!5DV1!]ļՄAc!=6w }^σݮBs_p  dONq0Owp>(FaE? ѯ rv_4TРHPT,J[B#'2zv%31,1ie~1>Q8_u&kGAs[DEc>ux"c&KBY`cRDRQ4mCXpڢ@:Ym{n1évm-71NjJP4 2*eRu6hIŽQQ,$ܨ >VH~ϙ=0 >2Y|& 7*yOqbD8^|&LoU,i爭C9vI D7ϷN{Y'?:423|7?gy~?> C|VrD!Y&B_iZ@tc!I+stb]~~kKҚtht' arfE E I-[~>_&!,Do޵֫nE(1DWBDD1"Lp\IBh %\fCW"CER!2J1ag8lbHig$8ӧf~3?@Nufixt `>*$"|ГIhƥj4jD~k.,Qp8R0ALLL@DLm:] 9Yѹ+$*M,@^8P{ENyJ$z 93BQI,bC$Ts Ċh UXb__UiG4~2r>rRHg "Wa D‡Ie0ŔIGjE&'M,ѧVL5c%04 DUX1% Pѩto ,LxIY9фZiBPNMmTDA& ' ,mIHҠnI nMPxd]VI9s g hT C<0 ݨ漗|n&ΙFԦ1`lh`R3Rh"5I9{hrXcRP(5%gז6iAʨd2Vf3DOA8"'sXot٨t%Hh~I Jy=H݈,"Z$kJgDȚ!07n SE3ςO&{Ȝq> p擄O4 HܔS#b%] @, ;$OJl0Y9Gw~t(D T@cH )*  SZlҋBHSKS"!MLIiL|y᪪i(lדh#`]n=&e,-FD82f5kFx}ՑBI'E8|FVC&#S4*eHdjBf:&@aHu&#B, KB`!"hHJF"/ZaQ()PB6;xwVK¡Ta·fdYPdPb8 &T0dUKdđL7ӄRtDܐE,A PB"8R Ҍ@A : \  ֐։LpVS)I9EvyV_$CUDGgOZ]OX{low}ul٭U6&`>)Z]/c dM. g$ԁ ${MB!%#!y$\QP foM4i Yo5X5IP^HEHV,ZV8Wfdj6. " 5-6@LxM86P6 dD%I(p Y*R(Dd2H),TJ-N(T-Sz Iњу:qu!TAQiL'nQHRE~,ťw4OY| b,:D+;CVO#zl>ӆ 9JN}Ka'DL>/E4LqaJK)*"zYDGOa")™۲b=\!iAsȚ%`!ESDH>1ۚ87ˮFʂe cr!IT@VpW Fb84QoAEp!D!,J_n E8+`# ndae DzG#h~& QQ 2c0>P,o\]մpO0*W Яv%qxѽH#2NWޓXe0>:@Fx%P ct^%܌DS;ezyY}Ozm%jw|]p재3@܆C>/h}՚Hzf^,"MNg* 88pIN 0xAFJ+!0E SI:C'i/5!I* Sh.*k|_Tr@/|9PFN@%_LSebhԧmq% Qgc3G]hM x*=[0KgdDFv;#Vz)g_0|KG"m6TEPr/bZxD(eijz Gz G*idN)%C)lm|EaG-DefSGMi+NŎvTEsˬjwshjÁ-A; cqq z s"@ qzP8{4j {v]jkCb9 %l0z\@6 Cm@/EioB,+9 !Fip dJ%ڨQB0 [Ղ M vQ(P8UsoאlvXpX0[Rqڃ.~7d9 ;"mNtI@`Dw%pa]w. N!, g L[K6[~<M&E @yHD9:Lљ(sFCb8d! QI@m,i)&>DƹRIX^u"aʚv/ ڤ;JLGD <:Չ~%W30m-&P/k=ʼn#B5LYK@n׈. B2,X%px_J傽c !+$҆ŗ1e!6.(o ԽP壨g" cJzih :jI]12V4BbҦFI2W.DHXl )r=`# sx8Y=xV[[7T:(oi#mD&)(` '6:bN)a SFS}{'rbmx,m㴫"p$C!"8- V=m q*W2U$guQKchƆ^w-uE^Y 4Qa6šH'HⓇ3\L'J]2¤p U)GM)5,eJtLj1D@يYk`s: -b+xmx::hwRIUt"d6Xy7oOl a!FtNCHcjJ=:cHT' )i\$SH,} 5GoŤS]dxm#ktmi׃^.CH(!y] U Z囌VMʼnRad\#!͌Pie/#$n;CMg`hili(a<%H64oq彴v{+By=LIl_,䇟_r`9 U2dɤUm\:;3[LȘ;B83kD.-J3z_>pZ2 c^a>tZ v;; HޓN`s|#]<+i98p6]-_3F&qj'5RU'hԻ$^BU8'p^rCzߡ)<{3}^2n[3ĕE%H*N %O^ خ4Ƃ:fx0V01(b )hC/uewʍϊ& vvTIz!!}K+jPƶc/DpH5LEn›G˥sUa%Cirh+;bb(ylGM G4tei_C`B73A,jGR-\/&aF2ID4[4( A|ˤ f1`,j"6&|` (hd0ݰY "ԩ,X!h eqp \]fx6h;"R\0r`ͦ6ˆaAI@ H:=beG%݃Q,R{ʜ ^ˎwZfN3vCy$cOLW)Їw"򥱡$6$H|&tJ$:%9{AۏȊtG}Y ZXiMjX5ZBX_dI=U0TŁBG(33K)4I 2XOR (QBP4(!x H.02Vh)F .HJRP$8`b8оۤAS@bEeIT$`f(0L(FY,F,r[ D`0#!f nE &{>wwHm/Gc$-ػ6w|?! C R>JdT$ GϳD*1@,)&/'`tn4c*C 4Q¥S-aGn*T#(򳔐4t ,WH:"`J9U9$?\WP8J&2D"aV?)^YY$b${J Pb*!"i_X'~3S0M@q#0Rbb*9(zJFbb3mC`SI*dK,UUDT CR T'  Wi:S?wLCv';/≑:]xaIpx B.CH8\)uH&كZGIfRt/p91@PD[xcF0v49$M @@!BHQfd0(,),fc3eiI X :B;GXrX:D7 Wj=ULX$,SMHRcCI6Jr_dÔK)H|Gk~^J%O&=PG %|pR %)Ҝʅ*0b`A؟nsa0ɣLkSF_UIWq<=fbbaD|>E6~`kXʵar&=tz\GPB>@?z/ڋ7ʉT'P(OtbU"HXdfDI[2 Ӂ)ȲoT(%w5-bo@=4>`R^F=Y& g!x NDbM@8!aث4HV;dsd %t08~i;GyB0W|}̱M2İ@bNVrN,L80DL9m$ax:*Œ0I)y Λw>DdD`80NBb$#GL ZJb!h21e i(&_Z1> hU灝>dL~ֈܠF/=(KCNohҿ"80S!2QP (gEdaͅ1 2~HZeAJP`<_ ~%aц$ ﱒ+Ɉ.bj,E╥8o6+NN5i24#`<S@*U:qHc",',FЎC>Q{?]ƌE@q6aE0ʜ~ "B Ѓ$4>7/WN~ߒzEǧI@ dTԂʐ R Dg9 @@!J!I1+BP00EBc&"!灂`pM*ԧMV=2cy J}Νǡ6r'́S"R[X4Z "A"` &`D"0NEi3T5%*O'sCyqSVHAKހ~oGP8!_*H)AyA@;`Bc?0 PJ׵\4"ƅY0ED${ޟN*LL #ļtñp0U8OߖM:UaKEIBOꖳAѤK`G$l !#$MPa,T?)MקnAܪd,$~YIH͆ЙSH5 E ZA գo`=sօIZ?,[h$dZVss.#pC9Nzն BBJof ѠBb%`L JD'AV&P`(RJ<ZlU S7JhW]B1tXuXE$%BI !D6E6iю®ehCٶS{-5v !EaBZĉmUҡ=hݙ TA.=0-PJl%EjNg#lXu%Dke)#" ) # cւP[0cNu&YFi`a'9(6+miGiGZ$QվC+˾qi6"A&8D!E 02A1Ta13J86"12:Z2&' VXjrNَ]Ev /ΰit[J}vbMElh'QU2DUX C j2 CRQBFA6ʀ?P&%-=9b=bb+@`L^g8#A OФ /'bB(9Ԕ ҅CbV28DCJT4{u v)E|MT~"H2UEAGj`f3z bNrx`"xu[v8M$i-i2Lw䖤%qКbvSRJQڂ;AeNYqbG9 !X_) p* xPERc5 &hhb,njɀj{a/ W>pλ%D{2f'ݙshNz ?(i9$ VJM"%F3ʋZ#Lց-ݖ0'fRU&⢭դיYKD4}KA5֑y&;]|'4HJ1OT0"9&~{3AU1dF(;"m48ߒts BdjpYÌr `aclC0sB9Z"G!;8IP10 t$aT&a"EiEI!q%$LhrS ,Fa!J \F%QcHv_r)uW!ob W0 JSH3(EHQL# LxψD=r'#%w΄'#t' ]_7}xUtN~:^pHF1OX БOdmet@P*!؛*|) ev!") X;@_HQ *8 &b{lcLz}d})bDx5d÷=TJ b53DNZaPb bKAwbd#s Tb!JD1}5tUe!Q~kS͘Z L2v].щ$ +B/ a 2EBDf0L)%A2NIbw;R% BpȶS1b4Y-=Z dis"9Ĺ/Xytbqx;gx4E _&Kc @@tNx NƌiXz>K-!1DMXBKEv±$A@t>8 BS?qLHl%|2E%E TKS0"[|JdY DZ+3Hq0e`+TҺS-b)a!3nt0s]"gsPƤdi&Sv1R *)Kx$U(9:aFSM?Pi'@rMlq~|f(t#_B:''56yanKp~(ڛIVH) i 7$hԊ0Hd(UUcJCE8OQ| -<Yzn&z7iww‰X&OөRj 3#s1w$jٰvaaV-vR΃(H\Mit0vHS>p֦%TBVWpE-H3YEhBp M  62V7feĢ:q `HBU6*BDbNbD7+@ CcMHGD-'GEw6t .9lUO\dYGӽ)@lE;V(:⊥iuک^]pWI=CoxˌLjW  Ky l:޼)I6b!Rbe\3Yfds}dR(=_XBF !D/tn F$RI1F ?/MΕ_V#iT< P$=!j Vj ~+9CuR;$(t}e !zͩBTXJ!BB  F"%AJHXXAAz[- u.q4T"W NWEM nE7><:B&0lLf*EmDk eINEޚq!WE !_|Wy90(xx{R 2hc 7fc+hAt=IIќŘzۜꘂ&HNۘGYY$#0O:NgXKN,B2@GDB|a,Z"us2ab a@RD $}Dv3H8> _|3 0"ʫQ9;圓掕eB30A  0Dr$"UJH") B@ EBT(YBNp}/o )~V534FjUfI7&?i+! Vr0c"U.MmQw ,Nt*#b挒tsI2\Bɒ*̗TfjiRk $0yi0$E),a.KPLC$qsJdLd6V&QnFLj D98+2GĒ-荮: 0;W0cgmtJD$s"mKMf.0!05X'IkBBh0blՂF k4j`2lXb8̲!B &&ai"laÚ5AC:ME21lw7EЉ AIuLʕ= *p$Sv FoJ,$2@Ap @E5w\]Co}4$D@P 9+J- Җq$K{ df{*t!% S%2$  r|io MD 8@Óur c%;,m [- u .!#eKi8yإqU)"Gv~"s./`'nzT)hJA~p} =" !󄎂ppP]2߯.* m ?ҡ6.ɗ*:S׾<'|I@@N@|X\w&T Yst#$f,u`RӜ?xw IӴxRBҰ&D|!@t)fb'v]xHQ{;Ȱ2J|yz I`}ܐ*'v$zmU*Ozc=_~Gg,68A◁$"OA4_=#"X(I)o]2l 7*'j%"!8 8.P8B"X8bO؊%1|MfViPAaa%ArP`Wd(BhM*C L48)*٬D#|p#~vIli! J(d48L2G6aqD$,}TS`CؠN`QN^!_>CˀwR%^E^eQP9UYR]g8~=%CI%YB F&Co.RzI8{dt22tn_X`A(=C1`HHBP$iо>`;4@Ŷn N 5JǨ:Sx)<$5iKb4G)A4( D0A$BTDR̡L"R"!ڒb˨qOO.TCK£}D Be]aa*Ҙc=w_mgpJ3 J))J @(002R@4,Ԋ@B(A4@SRP1J A2 H XbDgOUh6L_ی*^;D?V"IiB'ϷG{mZGN]Q>~}}<3I  7 >"ht } i$$yj! W9Nxٙ[1uߘ!Ȓġ@I ">F"bg n!R b!] $ pVܣ0CF ۔R$l1T( H,"s1b@CB8 EaR`%$tS#8BJ`  ,f1qDd,&$jBk 2)LCXFS8P  i""VU<1 H0 $leDUJ-2,Xe B%fa0dEEdcjd 0 TqNIP4"X")&T),d5V0:3Ya D,lbIJ UTYE@]!R&%HIEeL T`1RJHAQREIM 4!5u DJJFʉS$`'?d3F>uu /X$#-PBF*maG)QNxZ jL֧F0 Zm|_TU 0"jE%@{1WzڨuĸSlY??2+b1Cb5geiVF+/N*!'r4i! ~mfɗVO).!+ q;% U;2pFw\ 'ݳ@륉!! d`ډ A'<䷍Ph! ^o#}Ґ{x~(XhHij d`ID$Vd Q PihB$$$$RD "PU a(D5SƂh@< @)P"A_*Jh $x|L5pUmVb a-&A#9f_#N阾.Cp $uhTD'=w }oEs$`G1M)A m"Z*EȌ:#OjRs(_Eb$XǷϨ)>" vEl%dv06l24hҚՆ*JГ6 .' Dؒɒa$&BadhsN4Hh 11ӷ4ÆI($ӌiZ ED,d_59yCo#hࠫ!@}Xʯ(A“9֍g{ В޾joy$ n^W}Etf=}I"7d3((]%9V9?XB$!$QwH>UB1d :vf ,.HRC"YI_M7 zҹbLe!b"DRos:]>=  C0!=PA*uRD@`c$~OhR AbZ[ JH!P@d%-'CW@ 8GđR 2@в4 / $.[HYTqbe0vNZ4e$N!R2$h. '#p!/$IĄg-#l()F)CiY SK!GD?N!<⽎zb`0t!1Llݣh4f"]씦I_X;icu<: `6G~Eʪ'Sf&TlΕZ8}P6l<.gj;pyDʿD17PӕS$CY4`4bcBD 2 hHcnĈGn.p1IG&Қh(L|4rCZT&.>ƺ.v^0%vCj%f'%)J7ӞZ A@kNZh>݂HOuRj*蚥;iDc %i= GFXlbc͢Chh.Dc9x8T#E:Veh½0 vcIpe/WBe )Wy}g띉^{`vGysmH!RXb ])Žet$(F˪]:O\[@oH4Cn5+%cL0hy^KTGF} H"LCfռ4mƸİ0È'n*t^l6Ro{c&R8\wtptw*4l<eENE$>"i7&D04v6qd'y(B&Z VEpNaA< Ĩ~l@xCƭ(DP"Df@)2}Cl'2RR%DCdn3&`K]& PiM`d2M4h+PYmQd!}h #MQTx*؋!kG-P\{`9nA CSwxBtJTX !l8Np{v``HiT8 CRUIc2GH]59[ BU-I II/@ܑ`BаZ0LIЂ1)d7iQ"rp=~++%ȝ$~2H!:p@!*ңwJV* hh"X"dh(vhSJWQiuҺ#c[clFF 0(ETnM95{Li LX vo΋7>hC>[7fF(vo|DQ"-F/`2@JFVRUeX Rzt✫MF!~e?ĢhH M*2p L&eH$7ҤcPdNK2:bq) <7KE@FX"PEZͨPRA$&&M"8)Aw^JY2N>jፏ0A#1=zюUT!0ԓDLMQ/˂ T !5D|E~y>2>>y# ~*=s~A*wɸ{3߉)j)QtؠC f  tjm1!PTT UQRe-:$GQPäVE$D@iB%HaDI{pM1Q *`&8B!VĶJJf-R\B22 BL& \\Z(#4ȤֱtɆ$H4EXXBH!Ffdf+30 J &E€ DWk4g!׿ eGE1â11M,پ4b¤+7[F鱚b%<(`Bh?S>HވBwdʉ<Y(}*b8-{ ]` ;mBM7.^z 2 ̔ih@$0?L }HzCoCUfc3A*y  -J\ y. F. UEW(FKyEU.諸I!.\]ܻFq5.T͐APEK] ].LܻAAAAAAB AJ )PAaV-uVS**+%EeYfad)2aߩ;BPJȽ>0ɇ>!``5 >;tN 60"l-@Ǐ}seNqI5paAi FY7yv' ^R'K"Dɦ h3 FXPLRPLp0 „)%Iū6HW "48uچ]Sn0㺪4&'^}j1vtadv_5Wq"w4!AۺG,EB,f8{Ib$!]  HYd%CHib//x *P&̉/#!z{:r |=~M {}EO@}!FvXP8~UT_~HIIOpbNRюϠ `&FO%=CTMFdbH0$R*J Y` ӧ=>O֧YNmy'6OάR|pGI`N6 Fѥh(3J!p'}D#+҆A+A$+KoB(=ϻթ#=Ѩ\DB8w8pG*D?A"Ǭ1@fG@^e%6t0>y~zzx_<#"9f$J&")X$#Cz~4G"yາG#?OeApFLnXBX'% I$}ճu'{`+YfL0X-[MBlC0 "md~8'x!.v/\y߶fƓ(ę`$6}\$z~'v Ӯp{&$ZO|$I +93Mjjp8dMgr #q@r(iJJ'8\ 쪉 B (L"=SIaڹeX`Bt_s3 00|ʘ!{jd}R<)Gp S{ #*lqP x}XRΛ &O>Y[Ψ̓*:lE*%-,RBJN=ПrCۻBs )  5k#ʱI]#gHNI($@Q8_Nbn/;RZAhbR HQ `baI96MQNw&MwH.ü,rII}[$)C .4CWyJiaU;<'됣+BR KG!*AQaL=$ޒ̓Cq|6VL.dt+$2,[I0d(?Ҁ=$:$>":tv# zx/ߎ/AN^=J@`L!(bHE1&TH, Xg6c4<" ]"PxD8u^WMHq\h(_G4k@kp71pQFgyˢsxݙ 4'GOQ;҆e5La@k6ao_n7?x =PVIN܆P_,8!8c|Zwb/m=Fj@q2z+J\{{ݝCLtL=Ol5l'6SK̷yhA1PUtݻ^׮K`#:k5ݻZWV=ӏ t{6CpHJI'vk!mfAjn::om;=8J-{=U(jB!t C@QF;@ϰ@H Fst{wƽ/G]Yyk{w:o^lEt m]k2E=onFPV+k'N- àm;ƀHݽu[;ov@twwN:ޜyxA@Z]{^<O3מ{{J6&ũ)ؿEae2~mQj>e}9A,lW :N P*ezE?R*/9O돰|IE8x;`W /ng d!hi NvȒZO(bPEE]UW@Jnm}mkk"N* ^քVc8:qU1Bg14$1 T `D_EҊ+𢦀QP%<҂<&φ''<&+X CR?'Ԝ8Jqb-=g$82'% cWOիRvWđ £)"=OM_RlDPg`C lrkDʞ&ĖaE+p4?+vw~<#l0Ɛ53ؐRR*Q(*PP(J))h) N!9>BT9&if!H6-4R4DЍ֔ (5"3C5 FFjQid"4JhA͸`F(Z9"ry-C bD ;.(\g'$(_LE^1@$䜀)J"TD*b9DhJCb &&ͅ '$AJsn:^ T$`Iq.)%(<1o6B[%$0F4H"?1nW4W&_7;η|)09w\1O.q{?c}xW}8>m`4WJ tzjU.KI>^7nܲ,q<Ќ\U>WJS>[m\BA" HPR E]Q)B  C":W"r a?~A7Jh*%(^ 2$_̢:DBYO^AB {%Nrgi@@H -,؆`"\!f1q9%688tc#dJ[ZNak܃ZeE'1Äb B$tP(h bD UˆiC8Qm&#@(.qBI)j!k;4ӌACH#(E8ِ.&ehKcdrhذe/?>v(/Ƣ$0 iFiFiFiIN-A >@% R)91Zt"LSrm2 IAJ~A4HDUU RRQҔTDEDARE A@g fZ3 0ipBh2DmUngQ5X'U6'H] D(B!D 2A1.$a솃c#sPU@DԤULAHIR1+J¨+ٽ4[M-73 ;w`3jd!pk@HP41lӪZj"93KH4&'ݾ?d{-8{jL00IYԃeNA.a`l:!\ }#bjLEU0A3+L B8d*M,O "'AI2QN 0[mHF؃[d3c51T@jщqvIb"114df 6#@i6đjմ䈝i[E`bqʖ *ck9GHev-&hBb "Cd&'!'W 4`0DiA(G @JFHצD%NpS HJQP@b l XhSBRde &e)Ĵ*,h&Z ]a@Jl#LcD?D90:8 ʼni<́@>GQ&(0@L4r j*[;E hʼnm }HVL+,/~JPHJ"EG,R ;_`}a]E/k>3 1].%ץDiq]0f)b 5c  f*/)%F$5R (*,ݳ-hҐmOuE>*rA xBAdztS@Ѕ BP% BP%w]rX\9s<9$ lnU8AM)0*p\hb4 ?Vi4՗m`2cCeY7&p8b+x$D|y(ddx9٨t!BPPChKqt0. 0yg%&c_TkVY3<>rlmX00 +ngi44NT%7(ZZQ/G68/5HQÀs6Amm+--Ӗ,:b#R FA) ı=B!H`iY Re$,(Z)9zׯ}iK<(g%G=ܒ` )=j1o4b0ܿ(l w֎0~J@x0AGv,,wA͂ UWͤq.y6XCDAZ7}"}W۳g/GCr%䩷d ?B=w>sN?^|;o/_~Qx"e<]ɯzXMedVVsa5 \erzh?"Bqʃf0ħm6D(>{.舌M~yk;l cruȥ6Oq2pHO~O?( h#T?bVIAmQ"|$,q @/RdGnԽfTCɠ^9)}IaJ͙ P-M&Ďac 1:'FYAA*%&uHYU)e))p(<K)̇@]qM I_v{oxfZ 9P`*(*(*Y8g&~ {)eOAI ȜOM"m@h?͊Mb0'3e}p}dȰȷQh~IȈ*D $$nol "B(!B6a>v'C̙1" bIPiT13CR%"B @uPLA(JBRbTHR6bf!~?|^!VFD O=H@)b:ִ!PQв}R }0J yGYb_LHIKװ5}\mXwϗz$}8HUC,|{;=0 $t AJI0L40%zO>Dmё1NC :h vߗ{?mDz~B!7aSEĔN8 ,Mڽ9[Xʖ~6 %HrpQ/H i.{{kݧb!7 ٤h}AdPPCi͠/wfaSb@f$! Q$dӾJU4m󳤒R)ӃY޲qc}x!D >| `'$I)8IKm c[9K8E$VoOzL;Z4b~6 rRIIuDhfQ`?pzN!L9hV@š}DE=!b#h8xv&}  1$C3D23B lj>\5%)s^d2D|Sٍ`! h .hD/{s8OpaΘտNN96G4BekZ} :EJfmCRQ >Bp:/;c}2o D~9k\BET` C $_M?S9B*Do!4@  (L%!B G(@Na([xt:'g!"6l4wH&qG8&Un;X{{ZDD‰Uk3<Ɨɱ%*k,\0c{SQ|$w1|#=tK5ݸcT'#XEr4^I:Ywލ="bR4֝UP _q 1|U!(KZ<_!~u{b۠(y&qJ P^jpkltA%(iJFo %0@&gxHSbߥv1p7֦-t*yF$3+ .i@-.l/5[`pa5~SdZL 6L0=jLY$ұ,BCJ(_fc dEKGxvC]qL}Ox`lyBMCQ֐}2>l)  @w5 :]+fdCM)uGX8*j.LV, yJ5y3 4fV3ӈËyAYi#9_0ÌMn A`T5gӄYa\o69UW҈ M\2OU6 uh,s6`D-VwuUP11f}?k x[Ja2!^&TkM` 8e4FSO[D]XF$^`EI# .Mfue@WC+!fRd!qFӪ7B=g~J:`# 92ml̸,/50_?'M NJeXˢEΣ0'w&Th(lDB`tC4cU'glj>4F5Vjb<_EiRMZ<-ro Hd}JP+*Q+z8QᅲE&JOCrDNL+epu!T U%\ُAYMʁs %XngJV/\mmb)SpPn99]ɛwLBT9*VTɱb:=tcSHB釫W kꑏn9G[3h.hk9iLHegdw”s Fզʍc*P+w\5+Cy%0y_zY}4\%۱!͙X\ ʦ4XZX ,/T "DhynЏ" 3*$U a'$/o>vݹEiL4@U904c9џ4b[KѢ?1z?F}Z>ZlUc"Lhk F Q{h!Զ-_ ƹNmi@/(}-u #״o8+*jaICm4F}L6i;^]3tׅU\ ׈cES2Lkc <+7n(jcsrW-61U8?8\2>DqYl']Y@=iԕT["~SdXR~/GS4gjB?2/wۆa~Cf|6νYzѺƒZQlQi lCb*+9fuG=tts^62lD32 dei&$Vb=jPd| ,[4MxelbkwHFI ,IdފgA3(_㗏Waݗ|?ן]ymOq鈦'dn FAEp -89O uQQ I`{xq(;k6!ʵꔇX#OC'.^cIAHc0Se!AU&&;28[dX?u&g)HncTݨQ GϡLKk?YՎ>icGF[ߏ:=!_k9$愼R>{םCk{kA"}Cc@;Ð43 NeX`b'x ReUde T'O1` ЂIy qK|W3?e-IٓD/ܡav@uI$$6kr>N^X xj$ve3%K bOO* X(Zr` :ؑ a vA kqLYP=PheIf:Ak!6R-?38JAa$E6tԥ9 0 YLi Z P 4bE 3LYڙV?,w,t;!(i Q}Mu?o~}s׆G!l)!^r{oce RmgQhh ƬfĶsFCb?|>4#tK 绂rH՟ o MLQ˭1\^#?a@kY%UU8 1tUQDHQːgCԈ;Y Wr_R hB\CdnTF*m_7|zMC~3HE4RuoPx8io/,8 =:BIG,BF!S8!F>`Bd_`=Q ?n9x/!d׆UOYroJ!,xs߶;h3 ?yo#cn/LvoAEy-̒<[U {)Nf]^]5v`$mdX*-N4ƫr59GL-Ou=_Ŝʱ={ɞHz]y P4(*Dy{\+",*Ew(q}Aa~mF@RB>0}yñdpHߓz1-,Ś KM{v7y+8Hbi6ē ;UT|"&"LW-$)I3F(*"'mY5ƞx K_gQ@n6U.AF&ՌbdRLzyXpp A-}P)¡ '8yj<< G@#] wJȗg@RS DbA$kuC֏SUUUW6ч[U1QED;]עl&* LQ ӭ32PPĔ1DRUQTQQTTQD0Q\ #(MZm)` 9mfi>.,jޤ"Fe K:7򷁁e↻eO#^t(m'.(-aYAтs̀_nQSM8z':(=i`gÑ!B 4@ R%&o=l3z}?iu#޲u:Y2d>ׯ`_>r;giDxc z 4,5Č xzl~Gc1 $6}qʴf\Bqb* (fFR(B "0:7_Gϱ##] A!$ְ0:Z&%v2&F]wivW c SR _0ka C8!{Od  諨j_!{y sQ_|!P1PAvzW_6Wk*@T,)( 4_e p=;ald8Ĝ h :|^=F6~y9^(KcccY杋?D[ecpKPj-x-hzcaY;IXH=U`ؗ9M^^MwZ4 -nrd,)o6k95+饥I.|r$2hZP'Wɿq#M|g'Vs]K l5[WtM buT.^]Z҆S&ˮ/%}#r;4{nr_Y Қߝ- E@ +]Q^Lz`P$E BDP$E BDPȌ)c%@VtbbM!Ag;0][:!P &g;Ѣd'kEGQ`QAC^$$ƂTi( G7/(bgh(RpGurUd@:A:j פBȔ7/J X{g1tS [*=3ӼD\vft2YXD~WSh PH]7/uy:Nq 0rh̭94[i'`(C>uSZP|/9,6V, H`p=63-!Sb:q`@ڢy2mJY^!1Yˉ"JD— b44}j'3ݣaG >9lݓ= ILO^S$GEW. a3 P^aHZU``t^Yy a48ht^ƌ8g_0li ZKZ'V<` GKjK=w [{7?tΚt#jѶdF Pl+HQ78C8ۍ'a%?=F??c]BIߚъGvI:֢roWv( g5P08tyL F !;+APpw 9AMNӘY4?دͦ/Cܬ)g(Cpf!3*9(?WM^DR9V@z-3\@Y k2֕d5n{(P<_mՏ9d݊*kI j;76ӿz8,r&K%Q?)?b ' J 7Kfyn7{^t׷`ն!$:B7U#tGAM!'X= wˡLtmxCD #QŢzD2i3cSVC%wP~Qw9` n4|-^E72nCX7Y)Y^B/U*8O3]yXN74qD[s<7f/ <暈de}py@@6cj`s + RK$(#6{ IIS"0T~\gmZy7: 98T)[P\a$4lRpд7qPAΛiFJ~atL8r>2\/[(a N Q/~M&^Wь4ĠXS|U8 ciom4֌%T=;ܭ4HKaЙWƛ ~&Pqv{g1Y)*͂ "3AI \3}QSLDkYK|kNa0#B>ߏ5oMs뀩Y<-霋aSR1Pڻ8eYqQw Z? ("F g,V1Yǭ~-buGQEUJI))UHI!$'CVS,:5ͬ q:%%*kҹF<5q'SHSGE'-_ͱ*A~ah.o$A5jjsc $wtH8[Y"]Yl` XP 5XVӛRGIK;:M(ȂPWQ6S4G A҈môA\t(p }&ñ%7geylKO>|f䮺v\d(WϭXZ$%sK i*(YcVD3PHPȕ65qk >=DKCYE3ZnzeKAR"oҝ&-6{OpY2Soe6 L=6X1? t:)<{uΤ<@ U)K<&A9ݖ29 kt6vQ>#IHe/IItZL= !RQJR 2il)hKY%s:ԝ32 PJKxCl\SB 8]+jC9Lu*b ,jYT><#UJ\Un-RA*onG\hͻO:oGј?q&}C h^wOo3LQv"J=_Pg?J wr:ţĜ6ΎE:, |_eI2Dlƈ%P.I[6cd ܲJGDHCų8z8,> rhKH4G6K ݪce!/HyF(D^k"Yex}&j]b61n5˦"]cP3 |R.y;ɿǓrH;9vUUx&ܣr`U+ixtf͌[1k-hjpϽ؆P dymHOխ_kt52*bz>rUM-v߭?Drn@2~v'KskgK +Y {BZAF$%$}oo^ξTXOwkģ(MX(?C=^i=.:{f PIbXAVgi^z 6l5$HF"P.@k!R|,enJx1 #Am f55U4R;R !Ё>k>Mj)rƆ0=o|pբ4 #L[)KԫsOB0Hƅ7&=u6~tƺ)HjPu{:bl6D ey궦e5(E&ZE&DBQ(DT{/(,)>AeS-Z9 )'t8Ǖ*#NR)T?7,bkZsu.kBjTdzKl߿ kaMNkZLsd1„hf"[@(a#9$+ SwiBd> f,PFm ;aAA4\e4KSk~q)#,B[7A3l-Izt2 r1HѭW(T:p, X0b{v8}ڪ/dg~3UvpmDn"ɮalv|5(!I5c{+9ӱ:Jp[$7>3{N!.L XD/i(`.yx`Q#Hԉ ЮgNeW(!Hfsې1fd"Qay9&ϖ*}V˘1*B` ňm8}/3\- ; s}Ҽ.dO#@x ۶b$N3VKEow\\8çQs㡹\nip^R۠iQ>)ڶ[ߍUUUkU^5{θm_woW.UUEUUVZ刈o{5٫ylW16UUUUUEEUUEMUUU3|ھ{UWݪWWUUUUUUU\sUUUQU˜\U]*6md O]Eu__?^bNɣa~n?jkdZ[O荖ŔW]sFOx٤CAi{C}vkJUE]ݏgھR ! }h==4.a?&'{r='Egd{v&UnGV>' tOB+V_zLܬcLIB',Qf6H$w$PqM{B`1df6ai#sJ3˃͍>GW z oP-F QDM|Lt2%~Q}scQl+CkxhaV>Oc.WH{6O5z5pQ;qh;fzEta L"{|*#><0!;e]zg]fmK`͓6h%(9 5Hi,b -<0ˈe$^Fe)A&6BQ^T B;2~6!y<1 Iu~_\|6 %<8uyD{ !-+597FbD4:#& RF4aPWL)k>yq_-3AX^gv1A!s˷m WЇcEBt_LUnHC[is Vj$BA˶8 3i(7rvBßQ L6~Pt|Սpc<+ZǽazFfjy4gǂ^3FfM71^AۤӦ@mB|\ه/Xi<港p+fÐN?.7Ĉ4M&VT]miFFNnAc+iz)ϯc9n6ZGߙqcDhqqA0i+"q zP:htcn5#u#T18ȦDRCFd.H'0U_6iuβA-L27 1tlZ4:pUi9Bs9wGx؊; -zVK<-&1% %CVW<VD6(]W"8Q؝yj6Cx/]6{c"T(me*6\K4-3F:G@F]UMԏ4lE)'i玹tFq8_*)1vJ$y Bhg :Y].Ϸ,4Iw(cF rh6rweFgp'tEHHR EvD Wa=n]ɖ#Dz ! I*7:54 .\JTӌa|*U[e,@X&eb(:>O!ؼ7)4 ;<LSmBJ nshkmPč롇h$K~r/=vFRDCX9]"@**R% TIH@#JR B Ң#2 JLP"ؐA@A вKB PYG*3&zkAw ݕ1ZB |X":edd+tRC!{ζ\e0)i}P;7{>Adz,H *(&=ҝ=j!^tƇNPwm}eEY3lTAR?7$OI;cDX[JPX1 QpJC`ԁ+ @ʯ G7r忖 :>oHIs5K|q<f+# K6%}d>Eʇ:p4x^q2eӢW۶3La"zXʵ0|ҹZ\y<_ {i ; s]#o ‹ 4ǗEpo;J$KM N^ZD^ 0"³%|cPLٗ¸cU] t>5Dž,tHN:D ^c8 JT=qp*V ;m=|p;eI4:asN ݅Tpa!Y,г 1UcbE2RL+A|ۜ!#a((9\8%(I{\8|%4?xY\#!$b{* Az-Z*yEl5SBN uΟ9q.80'wia@\O0ixmqRm2KwQRv0 AonI }.~3KjNY8aj:߷f]ݥ8b__<`KIhm6m(:H #?9beV^3 #^P٫b0C5P3| l.]f &`f sXYI`yz[0dh!` !l)bdϞqF)ROv~ծ汋! r|UEC)Lhco!Yר;)$VY}7ufm7R|8p> nOa<,aEC؎/6vg@uWJM]@uv!gB%crP:Tu%ֱ*9 J\D4 F9"Åa}dC 8_MqZdC&5PI\óH{I)fƳ;pC؎wCA#60F#Rd$C>x(Qss5ם҉2"c4nP#yUhNAuN9 + p:2p:=j:$%A0c6\E{RbPt9&m*F)+P5秮Lmټ. í髮/hGҐ@Hb40=/b"aw;Y`61GtLMG)g/>rb5XI|"0;2|; A PNLxc0YzL R0?j,I8o2K4 j(kV dY=*ԭfrz8mzC֏fik)/i h%)C|Aq@^%@f!R1*"%%+C@-!P IT J +BP+J B̠LR@(A"ТD J- +CJ*P cCiBc<;'l]N#" %e}G%XQ!eݗ2h==ғ SB V$w2C9"d\ݚZ8@#6clZŬZŬRZ3yӲ=xvc{ޛ7:X_jQ}8c$= ;={ѕ{'YR|`H< c0>ycTWIQ?x)Y*/C99] D(@R8Sۯ&jZք@e&k/(YUU^g>:=~Bj}|#ZّE*-㍎|"m170G8HH1 LZV>W?'*kʄI?/叮@?Yҿz6q5 #YrVy( ݸ.wn8ح& ÀC̱YA8eWw+iƃ!B1:{XӖ]XdL\zAj0 .4v$ wK<} (ƒ7y-' Yw#b{*G0h X&)u=t [-̑o^jc~uCrE|)検_*&E9: Ŝ,؃{v$#2ZL-%&4%Kvbeq?/q2: RAp9Mb218#NQ@ w. !ByCn+=xOAK٤E!'U_BesC>x +xO)H=` T9g?6I\lDONbW@˲dP̌$|dF0c>Fq[uvDg[!JxmQͅ)@΃%)Z9ϊf /d)ꗈE9 ;'7I@Ѣdʈ?deƾGF)A8PMx@}{ lKs:Z f9#☡$xpJ z"}x.LϪ".$b89* xŘ5HAeR#"z X͜U{N)-صZo[ic*>=S;8#b{,>qX`QemQ]#6Y*%({ S[u:4t/Ը,UЕ&lRheDHKD(Z,V]7k `٭feVfk+PsUUUV[ivPS }_(h $"*H,dAَNͷIiiHen^I5f,0 186PSE O aVG%|x85BDhD#'L/Db{ZđS^R776xu @]em(p'DA^+z[Zk}$cDyk.>uw&ap*6yJ#@hu֣2CF.m,+/@{(4olUUTzǦXT=>^7$Y*Y%\Y$Y$Y$URY$*Y$%UY$$$e\$ʫ$Y$$UTI%$YϷ|S&#鐦 v#a}9#H>]BIVpP7|p>CHz^M]<Ԩ^lDwXQ#֟ES?7V|B #Mg(a IS3kQhÐF5ܬI28Hc,:xe3 9^9Qzo4QD@̎H]p0EJ!qOtf[]6hT= i醻!iL (/\6z ]4`a27POVKlC" q00r$huP+,^ RL(3f^ K="3k4@L" #v%Ok xب=U¡x4sr)ir[le[}!:j^YCr0!Z4DI_l$avX ;,I>>V'IpPNK5[עTG5MW v]ۚS;Zi0baԩٯylY1u4FP•bji-2`R@MbC|] ?G#Ax52KE*TX,g   @ 42=9⒲5uP$EB% % E:JDbA$DDJ1D 4& &AWBd@!J+Q, (# Q E JJZQq- BD2 !HPifFw2SL;J ADĀ>q4zL(HĊ#v>Yy'>H_d+2?7AT9 JDPO@yR)āQ)B:QA2M 1* I2 @Y"(d`~5)bViF  V"F 0e<$H"D@ )B!=r(jD콲*BlH'9(RZQ"leDة0b_>dw{&1Li `SGMb㸟K3/i ؉HN˙M$!_^cO&@`}&sج'{"O=H'j?uUA!?6?Ǯ]t%5\CJBVD=q;;5 yB&Vzc2 (~f$n"8Of1¤p`@bKɒTK3G?;6IZmL`f)6cp`VP_L?EĨN!τg"qCڝN k`uBd$~1m?^vM\Vp˯1 uĄY7 V1 ær gO=,QpÞH6-А^idhN hT :-  C&Rb/_X-$~u9AcX$xU} >ֲIܚ洵7l<_(H6jx,G5Sii|!F!#̹/}=/%(jZ.cE FI'㌇Pv'\[8lRf] "" H!t[@4,;-z5u}|g:m*Z,%?ǜN:,)6^^ӱ]zH^}]f bU[ j^MPjLRͺWk%4B-b`4bV*3jܱ r{B"vOxx7|m!×qWv nkD-$0@*}zq!h#~;'c+S|֬piȘ >E4r9\ƈ@|oVE$H!daQ·B[=.X*,cin%Gywv7,#>s&(q YMJ*Sb% [=H]B=%\.aFHITZDFN$J闩% 6%Pd"y"E=ƊW}\ p v#<4Q"wz79qp! sAz_Վec=s îdB=y]QA8ۛB&n5!1ȍ\;*vD{Xj O(60ASk.c ;VÁ-"+m;85Y/{iu,RC p[s"ګ K &M?# ȑN,?I[;Zɨ7ӕõFz,\[1~ O=1\xLu.I ј-4j7Y, 7CqMLjz' jc?J1 %-%Są1N~\hv6ܳZ>Ys5DlU $_Q0ZEz}tݷǣ"- L6)-,Hlc\5ylvc ~yNq%@O߫Zbă +JsjB`sc:hy '((X!̷P|@pAxf?bN9 c(1d \!cmx$V`vm&Dx1/_9CDR1&P@>R(LXz:oYk Jŋ#mX|]NNv<=fa &Yk"Ģ2g>YJ$4SiiC*WA`e_7x$ѩ=TLen$i"=Jh 4z (@sU*u 7ĠMGK @&RBh~΃d%TTGXrc7=Lynx?0׉bGi_I$ٮvKzFF |tL5":(j/|Џ2|Mʥ(;;yw"D<)ߋǯL8ŋR&ћJ\u7%}Cg8 ü^ieg<>i b>ǁG_x*NDHM)xP:Kl#-9}BDFxNXRe@e] 焊 .D#X{Ea)z|H-dy>q$+t a Wƒ~y!.؊}ޟXڌ+Y[5|Bzuo2VFqһdVZUn\\5TJX0 o#D^Fbv}S;q]~Z,qM, 6!G%#\Ty32ppu(9 IG<c`zU6KW^A|q6/?I$I$KF?pjŃ5ÃO_<7Wxg\j£u<wxmwwwwww ^ :y_=h;(FB $Ĩd%K/b+g&{p.QcQM;G1kDwM.W$; Eѹ æ⍺ F9\Qq)8to5AU[mo:QsX{@DAz'qh-"fb 3 u@VKr5 SQi3hGyD=2>WDn0 dw >q6jdd9ZRm`ЈS$9R0`i탑27 nk3r<#utB%n b>lڒF?9gބIXlLټ@>Nx̳P `l8.fcB{}?.xL*1c B!ng_8!HКc`beE9 ~WDϰ^[ *ϵ%%:&hXp5C{#l]`M9`0 \N!CfvqIg8$"AV> N%<+gr3OW>hX8#JU$X ѳї:LPxUl+KrOBbw?S~'?E| ijuY-ZplN{_ynTl޻a< >2+G0I"? ªLmРRGu=w>߻?dB@& ?[ӧFѥYpmLa#7`#OeeQJI[덢cm Zcb̻ԇUĿF!I*s*b@ҏtCJKYHus8H2BJ V[#m3q* 4+J \R $"I@ 9⦒uF E*ܩ{Q ib0alF26͡r)1cx1 -EkB!Uؒ1^h6aK GWGAwKIqYJ{SRF{]*-5-K-L 'Dqd:B_W[$6&1BFY2'M s<6ߞ ƞ*9.JsQuDQvuZel:YI&"44PZ%!~]l%qC|zp\1OՇ\VnN]u(`N x(.]qE1/l|Tz-;HVcW6H0hZK,,e}MדVFE@ `/T{N=9z|Pݰ[o t|Z~NNl(Mx@C9HB@S]p&V~oJ%?P2{#hŔdg QPDį(o=Z,C?YE?G_9o %7ťQkUt04 h'dF%S hmM. JmHnaǴu_ۡj*Zh0AQԋ59R}h$0o"X.ZC_w⾷m?tk$Q}%NedΖjNoOͮHY[h3$A1墺lmBwKwʢ.]>Ra[ 8@`Zwwv|T#Fy,YV "7J^1t.0`f@{3n5Fm?Nr?$Ak~$lZf !&$ #c~g$[F"ܗ9ڜ0;OǷ8uL #Z5AO:$$B\_]XЖwqFGLiAp{OѴej|;5A?)1u|$}Iߋ_i14 /Di(,$^me`62NM+/j!%MH"  Tч*P֯ |B.oЕDL7Vd:):Qj7-<q7OEu`G\?` R|X=ɮNJ#2N&UU hl>-5sEz+RyEO%NUoB.26pv[H#9I9)D@G#SD$t(J`Į@Q9;DSO$*HS̈́0JblZ1JJ}iv;>tB؈F2bP JwŗSnhLhLhZNɌ(*=tYDnRѼ=g_(;SKX9= eLQ9 B3?C҆ :C)9.[J ڃ6-h- IxvKfg>zVH0K1*%8AÇI?<x{ ovmwhA#o$k o>蠹 'x.TklȥD j]uDz*z>FP- AN8a4$@rG_c5\p< C3<ҕYgЍ44Hۮ!UrK`` O h&R]sIRq "s?~y4VrR)dL#UPSP }& m -RA}oq8LB)TSla{=?IyN\ӑP4@Īnr4JdU$zWPm}4{$ĢO9R0@P0@\յgO_|C3#F "Z ɑհ-Z9I-DC$n#4'p9D$=*~h1: A/QQΉd_AП3JLd T>>GÇd.}(P}gbL|&4yS>(Hqa3Sq |;I&Jbw%8,ISltvcsZN(=?A4<1Zc CͪSZᜌ#3aa\*&Ѥ6%&PKgsݜr/5)xi`m lA3UIL 6((bb :tBJ3f1SAEi"1 CHcFcAl%"cySnfIdp<9&; XAɠ&FFc~BEyZf{hII,lE?! Ѕ1}k͊p1ca#zBG '$˿IGo<&Ay ȼ#il`}D$RQ``LB 廆Ւ5t < H`fZ̿w cbaGVV>fk (|z$ԉl`blOzQ> $:o6 }oO9 mA>|e dI!ybK]q vC-D+KE㥙H o]`wl6l^с(ܪDր\B0iky㟶L(Oa&Nkx3[Pք{xkj!.er eEvFKy5_˫MNRpJQ,nf D>h0HTXeˢd PTBRL:tRík/BlNȧ a&ؐfSY}#D*J^|FQLʼne V*gn3cVcmŖ7Q%mL#3PES?72-kKcZWJ[4`uĞj,!8>m\4&T.P@ Xnɢ#=w:`48~]EU>5||= |ıהZ疎׾~f70[*vvq'Skqy/a#)cfAE1R'i7H;9OθZ#EC΅T'o \lpDaΫR QwWWW/XղZ̹% >u+Zqlo UuT> OyWjYqqGZV)9loB4HAC\\.;]#P@-o(#<7JAc?|3G3G,>>v*5G]] SGt8(}A'G%gI}>A!.B(P}x|̡ÖIJb0OHZ?(Muj/B\j7? 47忠 !$$iHKJB[͎S$~"3~&"sީA8:f&ҧ(DD*!Og3JbT`qI}MQW*w _ q<H"{|$9{~? JP|A"EYh~gy2~{oPehzFfBNOD,#iIm9 '4*#l;J%?s>1ud%+ R;#A;htTppQn¤|4`#_vZ=)L_/?)W&^jn7o)s= giT%Vg:_=.1Z@m&X<~Qcb`@~*hJ NoV%xH$d[ls2U"9Y]SS¾O 4dP5]s5ȹK?#BrZQSɾb`o$ ~l^JI)P0UbblU b}cɍK?>m˾"S$]y<U-H%@0_ I | >&)m3(jAPd4 cv IXff 5(KJ#,C.UCMe zI,~jdӻp[R2¢X`{wcnnpѲyyzEE7z+GEjHUU/L7t3τmx1"@:C ~i J(H=й .^HD8z>Znޡ  {TWiSncxp@тo*r "P<,:ޚ47=p8"v3Q;0Ęe8Yl)~,C{ {l$A>D <~y@>94"#0ЊA4RKP1DJ-$RK ?m}ŠM|+j}TtRb֙ٸӵBy6.c=XNfߨ-K zc"/0Ps JV5MUWWj9Uȸک  AuMDznGL( BQoTЏCcW%n?ooa؍H;ĕT|E@;9ɏvyvrv\v Bϖ^"[.2SGc <7XkF 锹z,.KU垔7 ǞplHy $6eXHJV(&9Ҷ*aZ\<XpP {Fl n\k21̃Qe:AV[52Y1z He;19 x2 V&i(9|8@,g)kD:T[F5* Ҵ(؊Hg!6 4(FE2xfH ,J!BL*FYD$ˏ=ft_ſlBsY"R?k5梧oup8Qbn^( cX@* $4U\䅉RIPc_0lYax$\1ńˆ8LmpWD#__ fAul>sC̅EEs@ 1=' KIB׸x/I+0=ap|)8c̲GHP|${vY!`x;,VHn@{$J/QS/\vGWRF54pJ7>@{>Sr] E# =aօ~F]4u lYEen{+4GLok!,},a:+`Nޢ;zГSxŊg}|'A:H0ATR'J07F&7)BID`aEaC+;{lBVY Hi"=`5t茲n$0l6~̔H<g"CdJ]* i$?>b yW8pXYX?)k1ؕۇT3"rN$GA < #q"s(< 'g𢤈låYQ<zAB`ρ9O䫩"]_T$4Е(<Щ#{#z"+OAPOP}iL(eRI•m'0>6T0C=^ybwFkQVُɎ|ĤvyIAGx^#tduOq&#i:~=q|D}Nk˾e-GjAT$@kiDHv&"d,!dR&N*HzA®11mCX/ ʄh R ̂&i BG2PP> F Ad8tTlWG TIepaRC6V֌3$?a|9N $kx$F`0Xp& X6a$uX?G$}v>GOI$ryxb)@Z@A( v ஈXihh&("W\Ո7Yi:>|>W&$TcsM 1 嫂`0,V5au#8A:* B{6wpaRLTʣԢ x . rBG@|^ah ߔъ!&5& 8w@g@ECf1*[4?acwaT,D:R?x *eH1x\[:P(9Ҵ4PDU (E H4#H4#H4#>MAzt=N(.| !I%C/+? T G-$Y~^m-)J~{<Wb'0t0t7_DGDC"P ~oi{؀{G| 75S,BaLI=2BH4b V"^d? E7p*4;D1 T QN?hU\_9h7C@OCI) H9RY|p9?sO]#ʶbJ4XNa@43,B2@PHGRL3VF"@#3~!|UDꂍ* UCj~j!$?"dBF~Y* b`io6Z*OgP;}DcW_1_8\ ?)5;{T$T>EQO4sh_ !xORj@`?ϗNJ|R8"%Dk{+1/t#D<<"();,(w#937=ZpAj0b\A!@J@"GH  LH  "A %J QAEhGOې> hжI=1p +Cs.} 2a\7yʆaNf(E1/#lMHBQBÐl`yGcEMU-G'M z SI FEz֩|*Lc ȒywpYK-NjBTr:Îu7̡,#$t#c?hby<"V&Hn#Z='I#jH '%ЃJT6*JP@=;*JL3k @ 5Z-2!(h6%DM妀J?v`.4\mnG,yn;#)I7ܐJCEGY%O?vl$>}'~EdyPWk G`* T5>nUf ?M57<|;|{`Jx"rAOwoM 冽‡?I] ( ԖXE*>jqvk(՚&a,(3(1D=AsIQ~|I݃Ohl tr" -c$9F 6e_!힧Ad|$gGG" ŭEQ|'Gϼ.B*"uC d?2ZUJא:S>OzU#͏CMVغ8D&jH2&!MaU =GGG(j$>!t{!ð"¤v7c:]zJy4eMYEW?2 udxi/7 'TwG.DGgE7|a+LU|qu;~VVn[Dv^8T{M}W ga%ZC&(ρQm=LNι'HuhI $| #WeT|Mwf`L05QrR%$XZBdM!`Hu:l{SHR_߳K! L?fA|H $0sLiýZp {,#'sġfG N*,+ą2Ȝr5.]0<Cڛ]FhWyǥZi{-{G=xbA)bqYI|g, f LF@"pR2ae׎ɽ\xCv]zj6`>߳{TIHM@+ _  t *b@VH?0'D!S>%FFTD܁$*MRoRZ T%6.Z wpUu[tEqHh<0}IE3OhA *hIP"t m$j* O޴N <$QNbDq!""oAԀ(aI3@qU8 ćBDaHйzdO2*J=$ H7(6!!>'_kk0c*h=r6Z}ݺwG!*j j>KȇNϢ+stśyq8xXn = Mr<JȧJ/>66 GΝds>aA6n: ( n1*dddbLcG >2"[23~V_ѸD?n}X1,6lT>*UvhTJ=+R!Q3V EQF $sSHi> qJ2 0{2_aҺ"a=Hd6OD܌I#6آ9Ep?^D*'|?7 { #}!DqI݈BANW#b.c[$e$A&PUCTe" R?jR%"hD$H\ B-}~4@ 2'rߥU6Ris@ 1*h~O!r&u&ڍ?܆*I#y|Hl hwuqd>ԇII8ɺ;gs1UBGODOWuRU%򄽟 ~Ś_^EEYd!jg:~XDLe) |#&pg5A?bHL4db?n?Uu۞]zD(5h˜R3 5UPTn7( iPD)-xc[ޚKYŹČԍdT2ؔsUVޛ|40kv6lݺeRʖUB^xK H1Qh%jѠHT BDs##aiSQ7Kp I ~rtRT7F,Hl 0drvN >.;0V,T2 씕L E!f6Bnb@ Q9|- @Ce/Gaa)qGZ0Cilz12VR^ܔ&)'YٜC{RaF2Q mJTѬVYG~S}>-B7aE+ (7h2GGE8;cC T$0~b8Oii"Y;m<5o%$ϛ?E@)_=?G.|>pП>f7#Y5QͭXRQp-H~C%I!|7e)S3>y4Ʊ4dAq.LcԦBGhg~%tQZ⟟.;7EFs:m9AzrQ].u=Z`ޖ`U]qQx'T/}VVg:/\+zm{O dràl& hJ-| 5 (Eo9 $À3(t`Gُtw@n9_zTtH|%UI$0!pj ?8 %m@I >adz /;L?_b#^W?Gt%HIzysR32Oy&5ùzﮏ,yHtrpkqvuT(!H 2 ?\g@ƜeF5EU61Sb6zPqk\5TTrkZŁE-~5~Ѷ?e6ٓ氠sPR-[6t者$n <#gIiZ5{y[ ޺zH::З;v9Xn͖uAٱQ~f򵭳 r]Ֆl;޵ؘ>*"R( mPH&,-f]4ΰ9]]$tuє&fu+.h@M@ʦ󚺮:7WRK$eT/8HD`^QF?^*T~UPP _D}zqx rUٴ{z#@%%(t.! SfmS7ak\;F4ʈClm Vsn!8kAj Ixdɤ~q{Ҕ(!F+;,KonX L?:pg6n(c6aª&e2;U-nU6p&CH;D飃9YVPґgcHS'qvn})HzAuG^Cd=t ]acc*B[̵:9fN֑YeuhL:R&3*o7ɢÚ'|Lv157xQbUm|6p ;\Q߃*0.*I/s YVn\?#D"< IH&hT1zoۿx VH dZθ88l;` Ivvn| ~A}\PꪾRAR"w%|I9 !/CA腨i!ÆD)>F.%%O?$C*<xxx͑x+~aUXb94KE\gIh/)Rbb¿_?(&ukJR5TV_ZSocϊ>+=k5l{)tV$#!ª9bBlO0" ˻n|_6v&# >".kZZy@{W0 $:`:_>4X " 3řѓ$OU-FffeUTQI1U|,xC='ZOBPFIt*I1JǴ>?f*P}R1=ҡ?;4B#?{@4'A绪 +' l` |mQxe 8Wd=2K "իAJX7 phA A}Ǹ%x2\u+Rh g.A8A4'B>\lm3Rt~%@ oaFn/Fy{LR@`41\: \*,M G(6k5*1+[()%hT ,B6*oSxi5b'9Gw+wlKþb AB[mVn:FWR17W0p$>ѿ?K)yT{.Li4Ï RIV#'~ߡlzTqt3<0o+ ;[G !_(NwWf[UTnFwqx2mi:[EmO 'C0 ԬȘ+$"A^ʊ;cmz;UmF{bgs0T(0Lisڥq6fc5w WebI ZǑ8$t(>bD) MjhYO" Ĥ!t?oZׇ֬o"2hSa*Q!$p}/̏'g)'NȷpRS{r4E)TUQzuR1Q|"o> I˦\a* JPR<#8b'193SOm6DCú3.LTP%0^pPL 1z> 8EP$ׇeۂDQPH?0㒞UeT™ H˕%: P-h%<(P`[1ΊNhcUU*Cu <1l%n"ۻ.lZ݃Iv[%_( cKvSA1IBK1 llT _e%e |yo{x}r7]T+ZI 1Ē8#!&tw68ghˀ Yl`oUUUUUQo7rC6mmt:i9[|ZJ@ZZZ-AU ---R&ammm-@(8^H:`!j]'I_~ٙ9N^I plzji2H{A! obUI`դ".ƌ  cAvdeyYTm?'FNl6.ԑ/ ]\Ew _UN aׯSUEQJ;U^N a@IO_ԽZ(e&"b_D"bD(`=Do}xbm194d #HJ^fbʲS?O!(|łTYe{x~E@)AEܩ6"OO’$?dj4}9:UJR&(dSIqSM4s!zJS/`Ah Үn$^yNa>u T6{O6 R 468-/ E?*:''kZKS6MJ4*{!_@Dyi *c_ `S$kwDZ͞-w 8`ݰm2p-6,iR F9;AT{h&?hb`5D8 '`F Oz|:ZU?E1dB 22T L4$K0SJzNqNܳj.byχ;4* T `)UXNl!r-. K&DClPA f(!FaJB! V 9^(ELSf&w{SB2|BJ"NDOc>1B7E@- *G(/p(4P'Nڑ5ypyYB5dXKI.$diSS bfYVYdOz)ϲNP@!ETa,Y]9 F5$SXʾ[l0(D0u FSx>A@$HbA(ZmJ c0j[ H $|AB 2z$xol1h! 8pST|"-"kKѢ~V ~x1u'UvR2h i&+T]%UAj - $_4A !B\("M-'āxZ<5e6xim&ʩFjAn,f =Pz>pGM*~c$~bKLY ԚJ>֓1DyƶQboH@Sؒqӓ{*olc :w9"<${}ê Y*K}/sS}F(ѭ SO~A!8 )r ;B@a`ZB$B,d%e|j)nnu!f] C)""F{==ފ퓼A6 f>`b¤H# J=?dJ@b [Qĕ # "D<PQUQQTsLPU 4\(J%e@jDf AB6$+窏;//Ň`)ӎ"lJ⒊G_KH0Gh]q-R?inh"+$ɧL&hO{R/ yEE/d 2!H"L(AB&- ME EPI3B@I-AĂؒ-\PA$C!Q"QQ&fDԞ ޞN?d5/БO 9GP݆04%kJAX@)a~ghs11b$JIojn鏐hE訄87e"cHdZHK`#4j$ PQsh폢NGaH+PJhޏi]-eUU HE>xxHqO uW!b%-9%(-0 pe3gI&"1s21d +UIb(iR&Qj 9"'D) @a#t<*@F"ykB ~mVI$I$I$HԒI:t8?~}(. d% ~[n4瓌AQVq lSTǒ\jH1B+I u!UE.DžkE)i7[mn~L ! 4rr޶%УSoS&1Mn"s5uE1Nho"jYwa2x</7,zH#>],>Zd.ըqz\;TYOGxQAlĬchs"]|'ž`Jx? )lmC}h!̧RmмCgl.-,#N"up=*0;1>HmJ>ߔAX?BFH@5TERqc1ēl62#UEoɂ\p!& dMa7KIIHb~⚅ /S?-3e6JhixEER^FԖbPtlDD0/$OkZB?'i y#F};1$$FbI$f$FbI$s~"">OS$I$I$I$I%pqO)JR)JRIUҊ-mxlĚWoP%g(mㅮlZ21iY#2b!%4¼Cm$9^.*{;SHC:y DHAqЈi_A&HpH`6kC#U'4_dY!TQ'ڜ|=r9784MɓlQ1xc!d:AB$'h 8i}DQIF6-QBRADj!`` aX"%(g*\3 |g>3'&Vo,h=?G_4g"DYЦ{VG"eZݰ"J f_}*qvi۠{?.z $B(H@>FPB'z%-14 #L̃ª x}3Ww _>_m^4jz$>K-BZr=~'3E2$ uiрf`Q(R}.)l>&6?y/0eoduC6}33\պV ,yXNvE+3K*+{,C#Oz0Ӹ;E>l4Z."wDЯ/hD%IxW i[ewH,9K/n@%y(NI*gd ʼn,E+ (zP^B`dۙ/5TF&誕K`S(K/ 쬘x(wi>+FL0WACی yTs#NW/;뮊i WՈN*M&Q)(44LZ{ꃳg:Àޮxh#ɴ_K* |[| [wizÍw޹޹\;\4< o)7>|" 4P !*t`xc]p9M<.4p~ Xy JpFִxwŚؼ#qSUU>rţ##:52;5j 㧌p8t>T'̧{ю;aY$+9,q8z݂s$C\8wg @pZⶂĭ[F$44耶О.V<3muˌn7Ɗc͒4&Y\r5e' b13EV΂j3$Nq ZgEj+{WTICzz G~+A=9€t`X;e"ݵmL ljԩaDN9NsуJܞC1f/[A+oRzT(QjzvF|29;[yo[l!%I1q0cr,r1&UHK;9L8E(FpDcGvh ZKbTL<_b)&)CՍ'1>9N1:\5Ĕ4w"(qrC 03!]i aEcjQC$% m8YHj5$iv-[*p*ut5T4C Ji$uE aCFC]oa^F -ꃆĮ -@Uj%]w=NqH4pu}_\Cc'cgX 'HuA G-ZGc;9K5њc1̄'>! l-uV 9B.n#i FCnlD/dSDiJՃhW4s)z5н ƌ=n #" Z!sx1rKMGX9V35E[Sg>vdV{ŒnfJ !j+ijfvz8/t4tMG1%]y9'M/3i8 eyvK1[ PҮ+sDUC=Yh)&#bĄ&/*v:0a8}٩i|ZzL;=%A sJz8s5+jA*7p4`Շ zM#^C(!)h")55.&׮/h4Tx%Ζ{$ٍwհv*rAͳ.lCjWR0xR&C,zδPl8pX7vlhW21Q)-픖t4n>D`r5D'+^70'ԳAgc A!s8Q$3g'Άuh B6A 7Z10id\=tQD`>1Ҧhs9CrvT: GnIvNqIJLYh'i=n3G|&A,حHΔFf )ibHiW7:z3Tu3]=U폃Ssˠ喉>sz 3Zt IDȇ`p'WQ 7EqMڂj(U_' +CW7 ag$=ZHPF!mXkWeu\'G\u0cgl[#8^wx 8N t`\p3| $)2.ؓolod;a[bcd3Uu䡁lnp{m&ށ&q4D٦)'a ,;uܹr-0;- 09zu x{뎊÷|_s3#GN9yr#`v1^ם'q>HUUӝG4*5 &M 0I$!$`jIH:c"IT5* @IՌ @dCo@TE*@j@i_(T0 78 REA _>E(㱚Rl0AP<݊ͬ҃/i~DsozD{XxGI쑺Cer0a(4eN#  X4<8cXNTM(@A f(9(XQ!+V'I$K@SHa$z6kc*3FfİDf,b`~ҋ#qh 0Vxfg<lEuIԇCCcDTWq.W |j3'Sh<ʤ@JQpAʑG儒pi`h&bP(h)%#ȐdnQ@PTs)QtvTĈ|Cǫ{q7I{T.&$6>hTTE%(fhIyx-a&`.$Q_jvzY!%S>7D~_GQ+fIG*8<é|0fdp1ak D ; *KR k/&(E)EԄDTH Jr8 Iuqmڬі,ĩl2zN1ƏyPtU ҥ)IÅpP>pA b@88qyp;S >te@9!V! )AҐzcIT s|j%[$ D#H z̜.>D؊{N竫,YrXc )`ڤMc U$ClLVAdɬA80lMS%T 6 s +/BNFںC {Ϙ ( 0  أ|~}uSvbBQ4} ɣLuzϬ)+xfĩj r\H(&0uEAe;aV't x x7ʹpn} :ET+X@Q<rŃ! H)lꁺ:Y LYs7ƨ* jcHv#郌!M xb0 EaJJ]l^14݆%S@bt$:=EMS(l~Uڑ Bl=}FdD]U!)`Px|XjA͈`^>NbN`v߀H/y"Z#7Oh)j$Aq=GhԞD<=R PXVI lIaL &В/3a-~ EaLu4(Qx$UQɁy0bÒ[l)x~E?;yrw׫A\Ny|vKfB؟TA 4JT ,HоJR!TMR t}v{7c#_ Y[”|~^uz0^w%G]޼\p+ H4=LboDR7_Z :l]U &(b08 }-3V%!j4Q8pasPh"wju19>`&t*d%LC wDaW! c  JQ2-\IJ1B5IQ7p: "%Y" hH'a !*@!,J # W- B&@XB"RHJE IL@ALLQz=”І V@$e`DY!AePsJ?)*D5&WcA8]^(26*TjiRY@Ҝp@( VaFGA"$ IQPUDeZR%XP("W"Ġ%(SH2'C$d > M S$QTBmRQ!TP@ d0D()%`" )BE RJRRXhPQ (!߈ܭ`p;:P:6IG6ۤv}2IS &k29dmE#Id;3A~R7/aʏڱ_$k^A:bbdJnKD%Xu?TOLj,\>T$=JA))/ޜÅ%& )"@GH7Gp >H S$J@~$@)J 0JaF;9*Q2`}wH=Ӆm)70\(JO!0i)-²&"fL GRؖAphj2CF+dґJXt}Fw+v; }zwX~€Ľ_LQ( (j彐DD!?q 7W ->߆=G $ C{Rv/e;}-+Ӧ ((bQ% D>`YI ]? # I=CkGG#nvN *DE?CT>JC(xHDv:Ȧ QJW*BZ$xnٖRG% b 1!se=adl!=Py0bI և *dt$E( &aPAÀ1 IdÑ߹(G)A`Q~Nl2U(}G̷"43?)H!-låDϳ9CII]9 }܏PS`?U^l*0DH !OJyNCSʱdn>|C*J[pԐBf2W_&eQJ`xYM~#ʏZQܝ>Cļ4Qxh_~X9 *wgE(P1UAD!"R9fRd c&L 11'%$JN>cOk9mMxz0 ̹2Ok8d䓌ݾ?"ܙDnL̹#Q;>!$?iWN6ΰQ @rH<k9(2l`g'xOq||_ru2Y%[u̓̓_PgG#,# RE#J4 BЩH!H40H@I? M yQ IHrTw0@ "E P,*-Tªq-YmU{ p`gW*!g 3I:I:ΥXSSMi;\MJi %1]2'Y0CF1H )oNuEU4L>8sU Y2hE*S(UI),Q&v}CsZLIDz'|$ KICSFJ{):b5pT !!T_QhC:rl D"^w~1mUK$j*,B?ZXiG&H\ SJ+ԃNE~MČ;gOj"|MCG_7LJL??oqЩ&ڕ\VMtHoZxI$JTX st(P+fh|b[Gg]6fY j>d 5ި'4(ABHHSbwv^ !BS3BgFG6T Ҋ`Ct>i,g!DƜ"I (>?'āNe4i[9肤&%(E,JBg$DLB'f)ߢra`6ue%d.K`&#yQ/#T5k=!IM'bEӵcQ"dD4 lM!.A155k8&88q|YoQs8%9F: 2v(1||l|s᫚P#?LwňjVmE`osRL5UA!1 4{ YR M4ECHPLC-Hanڋ3!,C2BG H H!GDå2YULJF:T]Fd=j q`?:<$`i椽<QÀ'c]i3v,HVi.DFr(Bom@HjTT6:ЎaJkMq=AqX͐$  $g c=|c" Ѽ餹VA·\$ٻh7Az,ipi&`R(@KpzaRY׷{Pl. Q"DIYEYHT5En/d!Oo+!Tpe0mpS'V /Th rjraP]ZyBVR)$jnYkqU\p7ሌSmR6У,Z x{*P!Ab2P ¸|PaF CGX't}I?$CCyJT¨jTX$&X%&h&Ĩ2ȪQb@ܒ !N܉Twv*dij~AeqD  )p]NzJܟh ?=g@Q7D(},.AI|%!`)JcfvBJB+R-+cݓj7!{燡l ⦚'=}#CGHA\}|r ^tA]Q>iF1wňhI^ CwhJZI/LIOn\f:'ETR~8Y$ ;Dn%HVjp1[ne fk(`G1%gۍC'*kbUNP#U(']5t%Ӳxq%AS6\K v}`F3IK: zwHP 7fA;!bLc4ft(*EiЁb=7< J[W\jhoCX[1?#p)!6U7ңsUV &"hFY[ChiJQ e:<(i^ B:0]?7HB7/ PZC&oBGn"hPEdc>^['AA$/b䁴矐  U5kՏͅ @nj- @jp2pH>!#b:B-Ɉ!:Ix䎇_CjEGqf2TWS"`FZY*&YD] r~ p0/ h2@ QHHsY1L*D&(U$$d"$BgT Tp}'}b0P $`c@}oT^`ԧiv`RPjt .N' 6$A@guHО1 $Td41 HE L'C UWrn4?5 A-S0H҈R!fE$d IYA䏵|#|~oH!؜wZ5:#B}OIca&=Ih?WG~0YUjbCS9t%()_()?J$`ivH<djD~۰uzRY9i35KiAҦ߂>J˳c':c SIJ)6ZI1) h(UԠ #d~tt 100(~~q!S(yzF` %)+@}\Nkw%0YhAJ ̥XȮ=A|@x+6C#3.q)HC89b 1J @[:EFΰf0l5L-bg^5aۼ  dQ ,"E<^X);eI Mv ŕxQ.tqԐ!yiDg,AGC)TUr;'w䫐~N~k>֣|kdLM_Zϔ&}nRa@)"@xD`9k$D H-$$PL?*cbt&N&*W{H14IЬ zM{u81}Q12 2m.ZXBi ?lxG֛Q%F#N G0D Xo8Gz"JKQ aB½ HsSb]P9+@o ?Fn m* Yur% HRfKR4(s$FI#!$T?alxL4("ޖl)nNH*, 'Iw 1#0@ϧ bdb#{i8aL(x =$Yd`XMZ⤔O-_bqU;dqY~rx& 3`z{`z$ƩD^{YX۴4YQ{uENbM.ndz$>Rch7 ȩ@x$ IGzqh/Cj!Ҙ!+.f/qz xz;3IR} @B%Pх)&hf" UR` V!ZB("ReJ(Zjd%i==lWԘ䆢 sR vb J'(:@ BRd]-O/''%`7HG>K712's~R;h&세,5!" vXZZZZU----%%(fz|pApRաt; KKa= 18 @RQM =aRc9TH^y "HLRr?`Bhu ?^AU%kSPTf B*&!!u=F5X[?(`RK𺏒LYfGcdFzza)-zhY%Z0iG$"&6JeR pfCiB P䅴B+\~ݏU6@`}@Lē*p1Ę͜ori;db̜f6&.MA 4Ü %"bk,W Ƿps9lF2a%H6X6FV*8$scɲ$I׾.9"&4٦8bj6-DkX-U1a'8\ !I ^=H@ S(_˄4H"} ܰ {S$%5nyw*tΎDR%/hE xL1 "@b1S#Hѱ8qF7=qv1@{Ls84̚Ԇ R,)Uri9t;)1:0YIОZ\;3'i 緌#%3Ch(#ȆE-껁.XṮ8_%SR5eKjw# Ta=Zl^b/s@a#϶Ƈ٨xX\`r1i1l-fHrXuEP>_?Wp '?Əۆ9tu$% 眿5W(hD&.mqө>)Ds5U)^@0 '`uToZH\8Eҡ"`Hf"#0TR!jT* *N7Ÿ#qA19WȇMpy`Ѐ2h\ 4FT/i />T;=>1$#)/%4H3>IK`X%4~40@JR %!hHKRZIVXF.RL&dî6 Y!P8tO̲ !H44(6BLQRm0DLSM1EU+ 5 8*}ߘqggSҋ'DјǗb ı=Id#g &u{ q$TuY"||Cw<츶 oA})a\9$yvAA3솕hܯ#v l]!,HX$,@ޑڗHڋ 'Tq팁|Ġr H J0J A x8/pWB $H(@0"$,4y9' dƬi2pLȐARF1Hh%r B2|"n&8JB1BDLQ U$ 4%K2P DJF\ RDD6"(ӓFL$B;" H` e" TJ29(FT:U`a|D\,*oC [SԜ"<v$BL.99 J4Q3I!, )$S &J!<&Z,B@Ԓ=!HC6ۛxf2"RT%IHy D:DGUd˔I>O=bCq)_bf&FN$RֲF⊅9APykOLs`Nڤ1g+S8k#ErTݢN5p&AUJ1&t|c$:T~Kc2ڎle^,FI,brcX &yTPSVshGMu*O!m^munA:mTI"ZE>A& J0i 8_/5{Q߀9))x ?>붋y'D_hB0H㱾EMQ @4P! :F0b %CIJhi,'dET@i Ke7Q A>֥>1/!@|7OJ^MS  ‚$Ffc} .H8ZGs$=I̓۟ÿ~[_cAta lk@_$"b(AкbHyhM=M)Ț9Gf Ip!AW6![E-2Ŝ?JR>m 2H! "B(RA*R ǂT@SH&)Zp-$4(b(beR((tFL$<(Ob]P`i*7P %"*Hl5$f8D1;vHwri#)HBJ" vOD"'}?z xU|' R#킢T OaR\"ĐԂ ȳ>$n`m#M@/Qf> ~o-(g.TD0n'a3) DͬhN2lmCm1ccZ0p>?^C<,:< "C#hUBRj!QHbPJ󔒑!*ak" GRt pMp8% aEFed!<2a LaiE h5Lz`B>?{ x,Ȅ)2~!ibAD0'%"T@[Bݵ!:ܖDA9|,E)~0;)&vG}2^rO$Ub\2ecv< UȘcDLO1Հ$ߓ b9ȞdjDJ;ȟPH #gd-(QDI؝d>_ϗXLJA \pO6l Slsȱ-ndԠ!qk^h {;(+*ϥ >~o_#+F٠f%4BwHE/"'~d`d!_i.męR-=E !|h)Η^80pȘeemRN%lҘ\*%EoΒRhH$ AhU<~5dضz"X(b)&*DQn jWowO$nj8!zI]"ʆ.M/'Y+}[km{J L@KA,CLCR @2D݁K#1bɫEhY)hZ{ًJAB* P' mҦ~8X(j`RAVNJsgReGBteeXDc܄) k*nIhZ' >D=l}iu^6꼃_DBV`@UkĞt0F7O<#N_jp?._%Skqa*yqK繃bKlb#F2kY?N j LCI h74s}x.It?e]ڋQ /QRRYۄ"GFHG)UO"e͈CZj~e&u'aVuG3< "CPC*sD i RHjQ^G&*HJa^??mAw!lӷ4 Hz :V%Fj Rc2EQ2I@t!z3 =1%HLWX,Q@3R9ICQ@TlC.$1 @#RdTeF2א`J!ebN`Bd &Ӊ$i@ӚdZL0 6\M L@br.ʆcblbP9$(#T4!@]PHq!:Vc:oFx%deԊ*у,#VPLzB@5!%#1y9' 8Cgpc_TpN(HDovLʧTPt:)d)*K#-ZӒJw@@QDƝ7u!-SCE$Hi2-DІ LbJQ6bZ $T *dy%RZLxa\"l^ZE<  DA:A<2(~Kd^ 'F/r?@+ ыd 3!RR??2p 4 K~MIInۄfўFш U"@: ٢E5IͫTC# ק#P?"OGQvE J~JӖ1$jXbT@;'tHOvbAv,2Vɕ$Hdu}1G\xFCyˊLS8vkX9BLs$r:I2:w ^9Ez[rN"A ,Ub(h=7%G~PӰn7~H%DBR DBb( hYE/zc#M!B~ꝝtĢL,(3}|'jQE&(p z\]J1R1p1P' yUfm#,o\qnH$qޥ3FP<pA2zoTTEUQTTTUQTD+ Ay3 @DN9r2 )`8@i!lDmcI #Kd4W*aXtz|^"AM6X 6NJ 9YoJ4/X~aOg 2L8`D:4,B%Ѓ/Iq G-QH > Z(r6}@hd(( "RJV y% 4z@A,8h! a$R>\Gq HIB$a$WGRT 0@w_5F4JCLSR T0A$@P'aGpOXBH RXIP_0" tꊎlD u0ЌIK$)J3iF#T/Y]Y'JH}?D"LCdO¾cluiZEԱEPQPPX%BP!{#[~i#Hʖ(@@0"0 LT*"4z`S2EAHP} 8## Q$C4RP ;}¯*қBHBP@H2 P0IL:VӋ F,E8bb8G|jiݘ٩ԫ;3J*k_[ 39uítK!+H+IdZ8Qpt,y|i*erG;AjE)7T$tBzgIѲ.ofWl둵Jn\KM鍎W=q-qJ>W*$-zssp,]iT[|#+f_}B$9瀍:3|vUp9$-e/J nt.`{+4bi!@GDK_&h8/`n֋j%+=K؅S A|+8]+ S 3~܅*2].vV"@[QNƐVShKkZ2]f Gqr05 gɘk4pwὬQa(o:r<)yv|zQDWЃrHFXkr(d$IOAhxZG'F~PuOKxihm#~MҪB#``^ -m2>ۙם1Oʜ;# ƊNvRA@EW, < l"&YY[ GE:8.UЊg5h3S8{T1Lk UQVʌ{lC>P[q16+ϿPJ;'g=QzW Ø`m:f[Aq8{ȘOh/)!H4%as^NחUCJg5[ XUsnbG 0Džz5!S@" hZwf뛞NS+~:t;IQ^ztF8iucX JQ:mQyrWTZWHk@C6Q0 nHQ_\NVeoYyPٺkW'= fpX0 i x5#m:RC\J V߈j( azpW7Ĵ}֎(d0f'~k!2n cL.Ur)?50~ؘK Xӥj Y- AAGuK[ XMۜ89F.$bo)Ȑ]ϥww9AIpq&ն~qu^t(gb5%RlTf*]f x;d&x$ dpH(tMS50e2.. ' to?j* ?&) 6մ'WM$)Hx~!"w꤂,S m2C'˞M׹{݀prsd9kh5"VEhjgAGrua< rG8&Xb4'nGP 7(6Lmt."*Q<ƞrX#vV jUUXwn,; LQA(, ʀȨ B2$!0CwQzayϭBd򆇑IPo w9  Nh(!ZvXmaO3M%2h f1K"ٶz$Qҏfb:ɋ-ZZLb:<<x oݒI]eMJBE$x@ VDL1~?y86@=N>3͞"}UM(9Mf#:(ݍQ I5cISs-eG<\<A/*mIK Ja8PN7Ħ mvMBڪTǀ)WB0Ixf׿Yhy`'(DP hXH^ ` sZ,3` HСAC4@WjsP-'"b`0;Q^[r#Hpxy *!pf@3瑧x9&ؒ)"P5xiimb([m\ؘT#M\by;;n;p=UOJz:Ni)i)jBBT>S $"PL!KS(B RH4=V)eEÃcp'*xc MJš1IYhf! cCyc;҃!ޘ0a%7D3 .( @*$ 0dM\) җ/:a`85sd|(8\N9gLiy'D`pCG pf @&"JY D@M (ppNB)JV؋/5j\wUjaFCi: JRȢ Ȉ&%+QJ$RTIVd ;% f~''>JKΡUOȜɖdJdžf~~)YϨeCq!;d !9B得HH{C2b? B<*43}v=$lG$35&@5)E0T0~WBpO+ǔH7#lc+*t\-9\t6Q}OX>C`EGxs&Xd?.L aQS) ď$`}s$GG_5E\tc33) "=#GAI.ę+rVAEt :t)H>~H__A!nG3c:HҤ.ה;Év{f*i-wt~1:" ݷR_3\ rM^^BXOJ4@(r&T!OAdNa0::MNyR;$/6FAѩLE,K߮μ'CAG!2E`4wĝޱLjaZQMܫزö4:*STX̔]Qm`W38 xK*J`՞\ H$(-A*+HMjZT4*(bT1cnb4XHIT &@ZL^ݎ0"09qHebmK(c-Y+̾1h WX^qF0r,&k@-y9^-h"fIlI"lE#uP:Zahwf4#V^DD"8f8([ڰ5JQēcG%t :d7뢐56l7Ǡ{R rNgj JV>eoh`فa!i2.aގ$C*sZizSD˜;CgKh.wC~݈p[(45Y4vUPgpŸO z;tJz-H X0;x@q|H,q5:uo)f@ߡWyC0huɔL#Y4¼twi67yBtpR.kC`,,PVAQiRN pUSBm!G l3:idYN}RX\ĵcw`>[ala3tr]7t LQbr ΌD2f<28r|ujJokFm o߇x)~5/o M;i0kh,S4 t>g8:0=p%(&m5[& xY$0bhCI[ުMԻ}ҕ}W]训%*֯B(CFU 03sǷcu'Ĩʽrc4 H^ I ,isB+ js"aP:a $ $;5^$,7s"s 2 XQQz*p[m,[͢4UHTm* "#0ۏKG9xNTLq4"w-H QcUs2'aWrDĝT8Z1[PJ+iCN'FR8p"`S2IV0I! ء-sA5d<9-26҆a+CEbIG~->Y]qD؈"bRP#KXЦgÆ8\"3i+:Np91a \28SLАNRF8c,r3İ Vu1*DITDllMѹ.I Y,݂s@w2U`jccluO78^w3iI;I#d#8%6))A[-jRG,dbr$xL$sq$ %#bddXnHbd;*vH LIS2L\LD"RHĊCj01rRpSST$DD0T΃$ H$WG**""&_'+BMT(ܤUl$,K!Pd ĨRP z)H U "H"91( VlbVP SIAF!6tU4}MOR d lQ{8ߓLnRpWM<=fdQ\s 4&%Z#H 4rDIV.h*icZe@jƅ)BL]b8X!/$sF%#dn`Y6 @2UVVyͦZ4hakX*t`&gQ̦YP%6P ȼ2B"TBP%^&=&& rp!@n)4RҠBcq{zscuࣀZ x9ϓYƨEKiQ¶MK ء%שٵ1c0ByI9uXȑGxT%B;W\`\۹׌`Hrwd*6!*1 k82,D#:@0D,hY,*j5䇋iېl̖'UNWXdeɬ5Y^[ge$~_$ _.(;_920Q14Ha6R[x\\ٔηP`AAPA0_1-fAv`3& Y !A&0D˔.g]g?P\泔ɶnŜڂ       Cy8&M,Ic% u t6n$R/$uBTRR!!!lUf JA eݩH%f`,6eGQEy\>$i4GEd4l{oR7.AZ}^sG` &&S)`_+ v,"EG$!:TϭjRLKjTNINeC6 MIlYcrO7d>>$d.L1Jx (_!,7>w_i'~sOO>rKaMxB>G6X 3荶 :R9:zGp$R)WGBWSĊ5al[ k\ N;\Eh&ؒfH@/Sb  X֪"* 0 eYB"Y%7Ł.ϼ=J&܉d rԹpCNRAwF cK.na"`ZZnѕY$tqq "s=*4΃0tQGIuk݃!,tIO5#nRNC cwX™MR1!^(x=B&$Q@! R4Is!BD~b$r@8BЌ P4@ȩ|M>r eHЛUTI>S; ^*d]5H4lrH Qb)?Q8%d=m$zi~%>C"9/gfմUZLj(pD @HX#RFDUAAE"4BGu+mQ b6_'agIKwrin9'IfSd.(r!jiG]&dpej#'J) I2DJE83OOWrʧ?$up<|D7)i@ Q0W" y *CPXWDC" @JɲN&HH^} z"oy3%&|m.&J6eGE\ R =~:c-zo^y鎧HtzeIsJ8=8X$fWet654Vl6o5BaE'o9m;G˘Rba_;ؿ2yƪdgDV+zor2No׈ ‡.C Y4#kzekOSR;#)W;4Cd=9l@mPBt @>W^)}ő> " B -NyT4ĒJҴDLJ>@>7q"Ls=ba4TH ɑ`:5Oc$C00JW$[/<:U,Ԫ"{T}"E&PI!055IOTH.؊EKB,Uq}@5 JDB䑁4.7HH$~P7}A"U_t}p:B`L*DBFv ?Añͦ ,D-(DYD*d htOy$T~2;P:t@"(B[QL>(DM1p'mF7Fi-G%j?Éɱ22*yxC/0aЂbږ2,7nB7H]4rHkcPt!at)/)'fZj=GWScB7SlY%QL_`Y?J\z 8ej;.1M]##A2A4i:::JRg#w[KSYGT?{=#dҢL$CΐhGm(.Dz!fit7 4EBLSh 2ok(@׀ BHs2nxi=a|J!{p%> ةD(Au!'3`wN B&U(^Px0*İ21 bNAboCΔTUtER%X (%^~CӢD"Iڇ)NOƋ]$|{H7w\{_`>z]٥8իEؖJk6r_~$xG.Y$~4ȉ!ʑd"'j RٚAALZr DJ>JP?;$Q B3" ҢI|.SVѱ錱h6umMbZoʿ`p=Aiyn)l>Gxf.H ]ntNix? khmF BTʉ'P.lR-"ABɋZfm,hmț \vRED4_ A+]m lY.CuN1w;?02>bMrv?5˳V݋b]gTZG'{%XsO&(N͋ &:‘Säq%uUs\ihpÓf:w|ĹsE "b)d$򤈄}^KKrDx'Q5 <NJd06/Ԙ_% q؟B&Yh@*)(HI@b Q i " I,TYdR Ԡ  X@2efCJ`({?^}WхD|#sO43l֨` KVSQ8t@B8ԨLM0*I''.$j0ܮ7b".tn:60ˆ9bh# C9 "2L_`/P@O^yI2?Ƕ68ޜq:Cv8=r?ݩ#oۮX/IE%I&Mթi>THBz66q7ٲsO~Y{yѷHn⎖d*DA]AydB,VYp-]n߀8߂<rVTj&LK!@TyG"'ʿL:ndXOAQnu '>cs| ??#*o~3B>S9cc 2  0@ 2 %G%=}vxy޹٢1A:Wd{x>>CR}{*ϏC|=CtjwEƖ[t.swNg=}6cC/LC4)@Vm4A>_i$ZPW;פ<9^oP=sTo=}iz=}@==_Nփ[є=g)){*UZ8nmh>} wh/{xh҃@Me{UT@}V>}c:쀾.;){ݼ! w t*|p]wp[n}{kJPN뻾ҷdϴz A,j]-+J:}%Ӟ#=mپRP=K^}{U<@/z羶PۻO>esqxT>w^vգNNGwzw>uK}i=疰n>T;nƎwr[k.nt}׽}ݺo|ҽכd.ؚ7{{zSS@h(׽ݫș@l}ooV}4k_/0X} }{ {E_`Ь՚=Uoyu'{.=w\z>e_;B*y9DR oSޟWަxt{ulw=o+mzݏN۽zN5w>ݚ4գӯl/-y{}c⤃lht¼@=z=Vt62b(ݷ:iI< ݾ|ז>S/F7{ޗ>]ڷm/\wwC`t`urٷndz5{r`Hz}u]s'F"iOC(J|yzT筊1^-Fz}o=ug+.އOuu=4(֨*[NPc淲F2{o7qwEm3v{6}i[}vf 1`}|{}ݸۻ>c릨w^<԰]۹D@@ɠM2bjaTizi2CiH"Ahe04LM 2hzF FHH#LIjzOTzzMG)?Tm4cjChOMA4 hPBQ"! m%=OL&M&7zf=&64f)M4d=C#CAA!I@M&AOMPIOS3I=OOMF DA4M2&d)h)GF'CG?Ŝq|/E/>YH_?94PCg?۟c2?:? MU{Yg J@?R}il~H#'+Rb.~?BZF-Z`.RZ0Pҍ" ʿ_ʣ_7DYUႈ=d !iQ@(cU5bE,OŢDxEֆLM$$+M3D;{w0D{>||! IIl³x@쀓`PD‰T|U_vDN|_@(m)IeSKJQHRPSLADA%QEд[!S)U6lY5GvތSCt@!"xޔ56_6$qP.zTlRAM~kӔbpJD)p,DatW0efEbbblh'3o$:Re-42-fL (?p t!B<9*D@3(D1)@4QHH$AP KDTc(!(LDB5MR_`4(6JP!d M%21%!_ 8㪋(b+,z}4/; ܛarNr*l\ 0 \F6il^_zs|h>~3{{/;r_ר:.y0 9P9tKaLe)h !>/N%2L)T_,Cg@sRSipJ1I@g fN:PٲVd/p]wTSo9Θa4%³^dpbcM6V[㲰!G}ű9ChqZPr$F")"RO;0KfG 85XM;ڣэSӛ"|(4CL7jG %1ݎg:Q܆8q>^_[zv0@{v(cȨ0sqڠWG~]aknB4:b=Dȯn%.zù17WEm҅zgD9`iثНse|R&9۰3%쨁㠜9=8ֱL-<ͥ[yB As9cYb`f)!L;5$y+5̆ ;\\$M$1L`}bSlNe4)ula8X0>8`^¾ܺ/ V M1똆`ۛ,QX屄΂ճ}ѸyC %8yJKn :9@ZrƊ9A koZ6QHYq$ 3TTij7؈8N_0I12J!'dRR\tAQ rm] V#e)v5ӡ;wG`0&*B!`ML9E\QQ;<(Rv\.hhi/S!ys9Y R 1tCi5ٍޠCJ||1i._wgט=}>B[uQ\es pNG~ZקGO9E4@4 ȜJi͚6?"n^v1peV)Q)m =U|:+*vGsA%=7cQP@t& 9 Ȅ#tvE1O/0_#~t긑˜]6Ci'ZǏTWL]tcɜSI/uO>E>JspxK;uPD#CW۶zx HP!V>$%X Btd*̂zT R{J!"PCH'<CD @)hS4 Ƕ@ 9!`S2˜0B91'RGBHNE%4TTAbZt":0fE\y= [Rܿ`!d#Kı#K0s #NiMd"$ۑ1hLkv;*" U/?~pbd:HH:Q1K\ECTKޠa M ,J$'8<)`^qDmæ\("j(*ws8NNurʺ5pAk%E$"FdbT ʪ.$.LBHAy.6-UUV3r0R(cj"L% *a 9kLcwf(6;M`gXgchZ(W596(R@ZY=HѲ0K5.EtZ [JX hæ4l lꍉ&1!CU!3&h{Lp o}0rL~c,,P%V&$ܨ74 R(4Uֹz݃NO4h([9Ga 0#9b"`6*jk+8c#p#غ^G;̉ PB"QLP)[KUDc嶜QijUd% 6)(\SAE(r `4TAݤkAi|y}UUm.40 O܊ 0C*dh+(Fɂq kYi Hcy'#;TtMJlLbP cUL4xѹ.W4\TbE%6,9q.C)\̇rbBNEƈ Ū@aCkFE)MP[cQTjalmbVƶ Q &lh 'V&  ݊妉&drX3Z*&5N`LI$hypє 5k0{'Zv!ȍ,/E vDuШ z9BScIᥢ9<9SBjf ƌJGu1NZp9:N%ӐU!4`"601DITL.8\gEf2dexKM"L=I,F m3P=% TG0iJb";#$%] IpD@mqӳ?²m@I~O?3|/ǡУgzxIb~,;M5)(iGOLuϣƐA9ݜKT(gfN[3mkBQ*mn18?$g*K%}65NM՗Ҫ;0cs9AZe쓌#suگӉU=h&\쥭cLgbl ޭê-ge㕎NL4 JF\'>;%%^nC "*MIZi<=WrUXH)4I<IU}U(_#LlS@Xշbx%Nv(Wii"WIa)6YABkY۸捸x/(4%paS?Dmsm'a`6ȢREs@hz7%c MJK$y jk`C(gJ IA,*$00\ei7n+cQK9&xIkȕ1YǍSUAݹ3˒!5D& J%"!XkISK4rgCZs%ovDK׼vZ>:ZD8#cG O5 02mfT_$7B8y` ĔHv+D5a.UQ׏j+yr.48eYf)S !lKݸw]'ӺMjښHeP<4xD 7VZxb.a5bE$PJW;QITDR 裑2vȇh'5!{=q cFP$S^5Q 3Giݏ$0.eS։6bLhU!81\k<ъTdnF m7(ȠKMê#?<j6F͔yX,jͺ4TTi{ǡŘ&[ NUJ}1ĝj-HLbNU#^KB0'K}>OXSZ䌙/M&4}%d%)$?n*3lL-!LmnRyhy4O 6 ?c"*9Db]lDvPdb3G Ӫ6&whׇgvT"fb>={ڧ|C ݼWW#ʘO)΄g+8&>O]<߉,x˵w¾[yՖM7eUODzNd 7AF1HQx6c- ?i9 4U)V|2p\?S[TG<") H9 ?UQiq׻I3hϹs+}>Ӊ:Gp3CEeg8i#^_:tg׃ۄ{=ar"0e1fAAYg23yv $BC'9gWO!O9, R ^⭀ Β)'1D"a Z]Yī?eždZ揲 JF:xzBMl5R8P?+Q%Ds(֐aV*\cd]=^NZ"Ԟc΄>3,ou'%FZZ8g SXW&#θM^C#@5+#HH6{u9m$u9I6Ͼ,+GڬQBRaHϏuy==^Tr{3WpEu&LD^٠\&Hng;HmxצYz әR_/"w:e0z6(O,ܜU3R3p4DX Fҟ}lwb#1ș:2<>q:>2W&/*T_Ϝ5l=w#{ O>Y<)mȈ3qk{3H2<0U|ΗjǁޘFe6 [$g&Sɘc_CnPup>qzcr-ie覂9kCC͜>?|Gg>%Ǵt5a]Z3lЄHB+@= }V{PkC{h7Ih C1rDx$& IbfB BC I6sT&WYFN3%]ۉr^NI0vҔ4Cf=qm}%lZn/.LcAH5k(QRk+GA˾u.6I&;BR淳B*fojFd-쟸<|?i0۰L$7>^57KYLQäT̳bX jf# C% Ho>bI[g9pCCʻ 1 !793">9!WL7Ȃ-#mm|av]V>ʵLhȂFt/ZEP6Q$(D9A$=[o}-MTPHchL&1`ŦVtjJmA>K5Cn\5V-Q0F*(*mlb/e=xN A+MCRBiM<2lX̪S|GYGyb!RXP]Sh?dA=@u:}ϾeP̤1  %1挔(tgB%DŸT?x\mb1#!w㩆'/*$CJC~lfb9zeueg xOD\S"HMVAX , vM: 'ÈC'ʪWG&~mbi{#np'&XE@PC y($U?MP`)f`J")i`Hz1WJU(ʃN `v RPґ+ "A_U1"iPD@BÆ%dq0F2T"#B P5^ZГhLBP{*`#u1 $ DXЀiiPc1Ăj((`"XBPHI`Th`O9EW8a"@y\A)O~gR̅t מp'8E42=n`6r"^a i)PCAbbZ"a-UQEAT$̂-+XbЮpT?ȹEX%QKI%(-߿6coG BC@oPR (mG˝]_ͼןLWq4'"zHV;2p 8CiZ'#i̝<_WR67x=hїo=R[Ր7D/./ɘ1 TE9s$VNf昅⭿cYh_HEDB!cIz S_j #K0u!C!Tprv!rO~+<ҁl$ 2")`Y [|EPPD2ףbP6ditKH5 -#Р(!j ;FHqYr젎JhbD)d`B%"@iTJBZDT:_#Y0}Ў)"t-aj`d_wuCeIhy&T0ŪĿG V4-ȅ)'D-f8:ro ] [(x?cB!C; MCܑ[$jjv,_ɴHwOzS(G娄b!,1/B}8f$^_4x~>bCGcR$f4CQkںjNLR0.|7q:._apT!5=pͶ{;DBHLd)"F 1Eb O ǂ+ZHjkE*3Aڒ3{D6B=sey0mM%ݣZj#:g ("[_},2QhC(thSSΏUčV`pًqhGO1Bb*K@@-!ܖY Gij^9nu^ebŊt}w^yˑ]8>4,["-@Pg#?OR4B8<&EiB$hAQ"Q@ZAՄ]3Sk &`IJ3UxnAN)vH[svd T_6Q_oT*A|ՉhؘcH½4u[7QHoU/3pT ! ԄƈS N<|Á`aT^%VGC)$j}ȟT']/ &t~W.ê>ᤠ}WlCm"I/b^ eV =,\TNeLbrD֌6DkS#?tOoެ7beQOiuMt:ϣմ6iҐi/mh~T+ { b1Ge&;:,O=z3C 2:ryKidk8߭K>əJ >~> m)HOji odɁpB@TJJ?hKG%{ e_!O=HHh6IjBw?{=7U_NE(f}LGn-=;y~,x}Q*!C]25 I 68kИefK\iD&$D\%! CW8GIvUp$#z%T*û2~/l_|*V!EtT ,$`6젩A9ܡ>CKO $soGeOm/x6/45n ;`;s"H: g`D"?`@ $ͽqQ \!$1 Y:=Kl8R2>&^H^Ʒw,^`s>GI7ctGl <9BvAD[#-#iKy>xX>sg>Voꗻx%Ǡ!2Mj3Ýzx%pVWLB>N~pH441j+})4Y%vKힻJzd'IQ->kn[ @rh}}aJ je`P"6gͨ7T>=eaTU"U!H(LP0FJx7)e'\@EO|؎5+6T{{x->T`}{qV<@sJBHT4HkBaF4%]N 3nBxup"T4T.URU@%U%P*za\=ʝ!9 <!Qn?>:W-^ jAbkC`cpVlHza? 4F3O(H|=tkBc5$eN-%Vv{_Mlaa҆:GL!F%HهɯkuRZ׊`*UsSO/PAM&.:F.%2aQWRb|3zl'?au;#ǧ)nպi"ѱ"H2-?U@ #I\L5Ť0|Lz.0%U&SΓZЙOOl[90N}#FR$J)(}>lMnW;{]fCѩ;U (.܂%^\r 3H__?||FBV` .^!Im೰m42GvBv2ZI:H%d?MSV7ץ{72sCL=9g#=fu+"z)]̼d" dďQYqTjdLh«ђD2A.3nr|fEbD*5/KEMAJ>gϲ,٬Rxy&K;!T Y WMi)_< 4; Ty R_bm͚1i軕FܔEǒѶʼn.zX_M2{_1lKkB߬`y?Z<_sf Hu\=}(#H94%A s9ce  D`Hrp1tZu j{Z|&q>4ͿEH| sE+._xU : vU;GIx^UiḶϒmy CJO46v.ٜ]ŽLN~' oSl :& #pQ'sYs " -=q| AǗcthצzMO+)ݓLgW*zlM5Ot aaĩ o|Kx [OHI5H"-NA+RWxTy- 2]YwTapG0WMcln[L, sB-"[6pI'~V?+DIH W7WTg4%ƐR^3 Ɗ!@6.Q>Uh ^%/5 E')̲uV D*ʇҷjh< *קdgQZN*2l%Ngգ>q;j$ZSvK)^8\M`RgYuDZ{5IƌpI'FjJ"/gynwêJbr^seb>񕫥&£ԡ1AmȒ cK.5R Ghe!2J^4 T  إ_/V!Y*/GE>ʉpD[{g nS]p5-I9I?WX.lhHP=1x!/7 {zzZB9kK.ҾϘJʘV*[#z++ #mRz/KZ|6p&F. _7rR."I/6籛<ߤC B@7{Ƿ^X}GПr.pK{حآ`o{?l F_{V˔J„X= }lR׷徘}_5@\bhp/cG>Ά%(b) ɍoD9@<8$bk21ۋ;m~g ^^q!FbRT3y /S?I웷A2B1Cu- LBL!0L-D.HťHGB1B RU@?bHKlvAtCmh~22?+9u2=+mP ^A;`@Cy:,Yϗ9~!vMG3p?o$y$y)6':ȓ+ 85IHA18Oj{ɖ`^oM/ >*&#(GfܖjqJ\h d2sMW?̩Rߧ)КD8Gsq*[?>a3(O-Όǘ(k:f/YiqMQq_g,U޳;t`$ȁS> J,FL7@/Ɓvcq6u{:2t܃[5Q+/U^u>PyxEˊ#ۍy0i:|L7׍޹[VZ+ϮeP G7V25DJb7,An#rѦ,O|_f~ʘHHC?-2؀]d!`@I~SIu~.BIQ!y_pƖ#"TPHc 6}$~|8j=|KDTw97L?>?4uKOvg?'7%/ ȃJ͇ifYHbHw`Hk.6ULP7Zگ=.m%)AN>5W+;T#Փ@ QH& 7 JH勜*Q|+嗤ƃ^!3^F1h0{z*t9?i9<7#m, V<cx7}8( "Z3EHK*5aj'm j &ad͡>l;_bbvT'f$L_A{I?~ZlB5V[2|GqTr%^ 3A4QM1CkVrAi2nu WC}`ۖ|QM26 4x%ho #$i dex`a\$q@4)b"\٥hFA%O,iweI)p,j+3Dղ1zt%S=Q晴CQQpS5I}qfDF6'C>YQ/oFC$J|SGitcS;&MwdG~Xt=kbe+}4&7\4#2hfTKhaL7KnGDïzS(RJ86IH($Qrf;2ü\󌩊{5+L*^ YEJyQD8QTFQF,$O$iJb^c }R<NJXM&1AIAog>Ύ&mSPI!xtZ2 2Rma?|~IV~$||wC@kKA}e&a\29|܆(229 ]-Iż67ֵQG['2@#sxI"zVfCkb2=7 y*b -[c73!1丈D sg+5#IserW],RVh5VK!;۶@O^JhBe*m&Ξ-X ~ݽLQQlc~4YVQ}[umTd74{5V֗$A~[$Q-yȖ<:$D0m:HmS8$Ay؀= ܣ)ְ`J{{<cƯ D AB6i>Yk7>pVFw qFUYRe Sm JEv$xUm"$:a4ySH=0 $`>P^QˑJXt'"*(1XҷB$G$<2$ŚTAN=1#&n$*H|}}XT|Ai8f!B2ox@E:4Y9P̷sǝzяYH;'$ AҞw0D(X U=Oh]% "I*Jpttoߚi7œ||uH)3~L^-m10!H4 1`|bb42^a f>}H9`W>9atg:QH=9ypJTndԧ} Lh_y0;A$0kY;8Նf$W8rCG@ojg]@Óm"y*$.9)cE8hW#ɻOl~Ha҈\NNg JG '[&Q䲤vʂbhj'TPJ%(@zBkc(B3ä,%.\h IDnY*[nCN6~IĎ! \W]ǿB'53E:,3Ο>+ iS]">?('BĎ30ZJ*<:0獣CۛnR$J<lŔk8Ulvm)ɕ{40uT4"%" CVS_d%z:cL &6Y&z!%couċ72c.hH0sg*6{Ky61/uA%M|Ր_;̑9Or8NƱTt*{hAcSTc#+@ؓeUC7'rxڶUރ\{=* ߿"!n)N[CC(u9W@&!MMuDon%bd1j H a+,Q -(DNZC#'WVJpjkS6u rI_ywl"ƌmHEɶB-w߁?!!6 k]1ŒXJ?4ԿC~IbV z ξ,;go.a!jC<5k9~&Š-O.+K'iYLZd l7Э ]s*p7/)߿{Aݍ I5g m[mW)3MRA }WK)wZ$EK4[tYK2kTBH!,1C;m$ܗNSFufmb%ؕ']/mѳg8^fsM$L6S0]XVZ`8/ipA~Y;TZݢB#tB92P66>[,C7PڕO#:!ÍOB8!ka͊Tzi@mXsyPO<%!tĈ_>VݱPN$Zߝ}q/-ު)˱L$u%F'Mhi)twg]b$-A)8S$_kR%J%/c?zYtL8R qN0͢T#yzǓI,-vOG-Z(`K('=oo=|ix| \@KrMe磦+3ʔ*6OӁS0|~|bѶll-AJJ R.cuнA6NPL%97ӝ/zo̵qz=L3ƍNt7GҺnPecSmR JA ϶G-*CsؑN MZF\ǦqYqmD`nOW]&$c6wjVӻ)-d7oq0Ė$K3n66T 瞯|[!v${zg]XK$,J o*kٙ%uޣ,7S(#uHo9Gƪ//#;˜rMhz.c tCJ.)fO:ڥ;]IZ/MQ#AE6u?jXn-2+I jfgA(moj E!~^VP7h]\:ϡL1" 5Sh/$YfF]N`c1>;[xߛ M 6-SZaGSDO&~Gk,SS<:ΰ1o&y/ JgOE#}V['TCbg,†,G Nӣ|kOzFtD(S5#߆[hv.GFQ(0 ǗWDcfi!R׵4#zCQJA }uܤ\ѽQ(xψ>ZCR>`ʥm9_4〸"h E#T䢁}W{**V٤Ņf>+1Tј *ϸ]:38as,~"ԆR.Fʦ摼H(mmD9<Ԡ{sM)eĹeN^yVҎ`8;iAͱSaު (Geglj^\pG=2w^ؚiD52ᷣ@ye$Xy0ڏ UN/#{)m C9KD Zj=FXlFI i0}Bt~2-8)#v򯇱T vgJb7*%ObD_J)e5z\A/Ozã*( Yʹ*fۍj|AW-n_U+zY.b]Lɒ&eCZO(Q"ި(}I8H! :#d1@\{,є9wuz/ -@+L:)Ͻ,CbEy9Ma8t@eahoDMl$NhYsurL2"m'4`?2/bk20%}sb6ePI!Rc;rPTARbYx!eŎ dtO.)E &a|]?5uK cmsj(?[<#5z&_ |unC2pM"!\"hЋ 2Aፍ>01vΝ bLq>66'-?6f1QNj(zwͷl2&qی+َGxŏQ#:mn&K(V#8]_YO\\w!A" _ۤX}74v&Uトos+\G[~ˊ̊ĥ!=^X 0|:J='?V5Wt|Ou*А8ŋqU`1b'{~ ${K"sT d qnfƟy\seSCA92} {׿u*TLsbVH Ry ?MS@{qšV%`c"7@J,I<.Dy{ y@tW{G 9U$nP1BҜzGsa27o+/yF:k(8{v'Ly1ceL}t/Z! )OG"?K8gآ ǁsj ?uYJ1pcB#a0O:H~4&T7NHiC/6;sH'6Ᶎ YiLw&CdkFK { 4?r]K<jy݄nmf"4oP͋J3V$ȅkIT<̥(W^*jV Zt,WՎrx*~j!<9jH4DJcfKZLc OzZ\$#yyF@$tvn:%$bly#vkHhB MF2N~^˘8tD 'OSPᖡ/~tawĺ9ʱMc`GDCx*B^s' 3^|srڐH{&oIN 0 T%oP⼲6}Cw;JUUkry]$$87E7:2<ؽ(o9{[kD @kKx#}[bT[U؆!LPu0KӖre?꿗'^VǙlBMUNlL-!H6+GbPw(=j*<7rQjJpN |C uDuƌ72ZtQ=LH݃uK 2%hX9+Mϖ(-B#v;BPkłL;:>FD S3sALFT}2G*M؀ C̮B"xRIsc&)XaUq%ILXq7GLoR3Y؊"9wāVٛ>[ @9ţW#0wRj},ZRR{ ]4Q}xvǦ =Tx[lB葸֚:7"7z$tMwߌ;#el@é._<V]}d Y>ѡ%m%p;so|:Qȓ|ݷ+XZv茂I@tr<->VFL 0" $G Kn1 lm"oSZqW|rr >Gѹ#O'y5Sܚr&HwB~dPyGZёX&0IQ"s#&1 `{dGnƊvfνK%v`ߦ9>bIxm4ROvF66 ZKzm35Q1sGiXpaV帝[yOR HMro26_ŻWõ2kcpX ?) TcO!+eIrRqXX|'>?#g 'Nu״cĕ4D&2=BE;<^wI2t~C_w@<`S0EM-'*Qcv֬ r #`a1Ϗ=.[t e%wyI*X}ehb\< B78x :u;vV9Y1rn4LT+ia+7C~w7<Wt)\'EZ"gBGE!eR휟!Ï:+iI$c ,.@҉E#wd=ofp=>vhwN4e"Ngf*aa=zIL@i51yny4 U7ɐDgQLk:Br$F UU+ShTG"3.~;_>]j;ǯ,.$3  d0pφHu`(]mryp+.thSNtd].h=խz+ajtdFĔzXqdrCkJS Wa脑 ^s6 籡zee~&u84n V@K|G,NQ]2SqHzmr?A&fWJ7cr:3RU^iH$,͕{(O422Z~ 9~\wX'+~$wRԬtmLHp!9"vΣ: C57EAưE+@SJdeV\΀>M6`&6;K8uk- t-[*=ۜ-dmӨn2pdH]ykM*-J8pkG" fTܩ258)I7NQPSF&^#;g|]gm&ks3bG^{ '#s9)ObS`5#llHW*QQI# uMGQjƚ P"R6NO; #$0zC";[,4TYRwalKt/Ps]aT ur)PZf4n&~f7̘H9?(u7IIӑלY<̮e)Żk"I$u֋HFҲ"ӧG(ºǮJϮDt9sv$|{gGpCё?üx>|#̰P 4i>»c"|8]=q5bA6(jLF,>_o<`W}2}Q>Ji0cr]%Lay\*d,UɈ&H!@sfB6Bqku6y3H, <ݞ<̙:]g´~h3"iFTɡ|kyx|\W|E96G6j`H⏊wM)dȤ+]Y+ Hg\-ը c\b bPW\Ǐ=sV3wHK% "C|blirz}Y9ɍDʵfyn1+.̵!4]4İb ʰn`_<Ϧ$l:h(i.O&T,N]J5ۉu6J9vNCFc'.S9+T @Dyue@oHi" dA5X0ˊMu4夵CI:yj+4rIgp%>Ytk]y:yxp_z^/=}j-:,#pUc8ġ!tVE2-BҶKgh+N 9Z<սHnD[zN94"ӥg(>/wAkkW*FѾp=b?z*z`}ƧaopOq!{CnmCS-itV Z1A'zx,eU 3B;d @}xo&[I!nyGV}y0/R/)+LTp0)2gӔYTTa*ꕬt[RҩEG+,-)5^Ccd EC k6euRߦR"|l\ ,X*<&޹ piȧ8o][:^P)Q#$%bDHwc´7aOI'Z+d"ǶKQ;U} wƴQUjӍT N,L`yꪼ9sSq_~k/ʛu:U W1]Z+~p٤$pz[&rRx&:Ygl-׵}l-{gR#67hu HqS+M(@wo>ւ%KEG9 !ڡy ym|Wd!Χj3_BY:Z5D-If灒 fT5(e4_8mV$yt+)ېXu')lSKHM\1fbs ɷ8„tukjvlF((nmPf36JS^nxF(H՘(ʗѬP1y YI%nn(uZ-^ꥋyr(DDA  y2cH8To]n(vg'"\`l{ [FaCm?zV|>mł&l9]dc4b' 5&UҞ €u{5hIOH68"*$Lbe%v!DCStsnzzwp/A 2s)ŤL :3W#=B\twB79镤BvvSMX7:'n W䂡hRiC*|0C[y4-bLB%^]}ynw엉[nW{_a q>DǹqiڕӇ1W8 b)k+ BPS*e~b;jdT0t4@ Wt|9-/3r&Gs#^c8ZH ݋bp cZTH80R형*$V!)dU_qa\o!~S2X:#tH`Ɠ\mv*ΏI) t_3ɉĉ'pB11I^O[M=bHW [ujβߍd-@"##Rbq37(C2ԁ$i]Aee 8ysN6N/0f `1~r5_k# 1&PI`F'v $G8:\É~mQM?+']wm<iשh?Pv6h*s_IB75_u’Ɲ6$t)$h*HpeU>c|?UĄݐ$ O9ෙ g۾s05QELlo༽-ARs&F8bS:9I2o5BdKvN&uBL|Tnmݳ_)DzeFE6Cf7%(SGm(C#}hJʌ[J+n;0b+>B/.8"q82cݮ٤_|%K؁v ̄IQX*H;ݮ"p ۉC9KE\B6 A1teM$wjRrftGCyeX*7v Ĩ"4O[wt=5Ww~^g3x.$(HU,h˪7r"؅MJ[oX4yo70makf Ӌӆ'n5NP8cj:tL(Ι-۬߮`4Ji*&~Бez#DlͬD0t hv&C4[YZκtO.s|aXK丨pZHA.eά-U|nX$\.u%Ix2O}:$ [nvCy lsi6dJ&x"l"rq~]9gyEi?Xh{ X+K,MrL'HlHm!%#a_i B5'5p[zXUAyoڞ`&}Do\z9t=ݜ>m,0k|D˥2v7ĘK9[!Te3 ߣµ>y|xż&[o[s>UUץ{i3Kr(uUWyU6"kmZLYn߱BcYj##r%xOMՊ۞ uZa,A )9-osT\0sR/n},f{[nzm_|*XtgK%Q$QXYAyI'SiEk֧ ױϷsˇmknSr7P?>͈^^|xX`."oKT\z,MhK@(f^1ĘaT[crMgjV./,*LiBq*iuC8$Fy/D!Q9h' 8px8 ip0Tچv =VüQ8Hy6ci,䐲Ԩf~~;Wwua;ve49}OLUz1,k`@#ޑ[98:jzдf}R8{R&dNm6/#|a A.X]1 dxvSt?|$K7YJP~F^ùK΂;P&q%ekYcKhmg9S}3Ȥb4|nݦyWBZW3]u'0c8塭LrE8VZTFk“B9Mjddmۭ$ =$ nۢ)g=-3k[Y_ZFg+Tf*} ,ծVPz m&}:K@uȞS7-P 4ᯗh1]>+_ ]K+뭁AAX..dP++Xr|`m۠ĮE;WEͳm4uSߏޖcu˽es=v[ N[>浉UuKΧ-ôV\u :hcߎf4 JKb+Zb ȕ߳an0ȶ^-W, ͣj2-_i]+^ݡu(r5<T[7v«kkQpXJ(Qdfױg.Ɵ>5U99RAL{94QFݾu1U3 Rpfl g56&㻼m]$d[+Nlck‰!Z s)B ı>ȕζHbM$n<݂h^K$ThSZ瓥"ce+IϤR֒3"sy)vmdzhUӒbz D~6)&)5%`56ɸ E˯up#N(#$H)X; GǧEydS>F.3.ߎ`qO̰r¹U|-56=մ Fk N-3ͨ$Ac?lrVMM냴\ ]@(c9 u+,NJ5g{@C5I .3GV D,eG:G?Z~]ZˆQd.jϖk/ <?Dz RU}6#oW>[?&)tS7O.)$.,=p9̟EE8n0R .D  , e 9cЊϽy#IT&@ =qC7H!ON;d5.6k\)wty~I &y3^hKP--ѣhw[q9*2=zeؿ լK g O [_{y$V\LR>{.nW~]qB.*j5jT2I~d Gc.DC4z"sxSHvS`:ˈc^kE !Ҝ,;վ TJ72T1^+qO/&V::˅38S8hֶb"aCޥ+Cxsd c [ZN-qu37H2^zRb =mo G |.rk(C [8Y\U$0lDU,1K#z]/8vRTN'<>t-^1ɚSўQDI:t[NqЊijR]#-3Md!RxYixTL]v3DdDk[/'xV IkFt7'#E(TJ)B4,L ?h!%dz7/Ai(pj&ᑝ0GSLG<ΎT ;4%Ҭ9dШPDAĐhs}|+_Q~)0t$L[^L^c?T;:~Am58xP8g?6⧷~a-('Th?ΝbTrBItPQ!u9.|yw J B/ lh2RhG``e}6^7Oք?_EJ\r:cC%_]|H=ho a?G<;jz+ʽmLv9!x67(܏7mHҩ$;˱&2S+2}|Ӭ|SF (?6O1! #SW a.s4C~EӅvj&Ukۧްޙ}7gr$$MyD )."ccezw z3Ӵa1T-jN:u8s2YzsiFXKw6i4gF-o^؎M_CHF֫do|eb:;6-&R\z4tҍl.Yx"41Β4&kdmd i! `hBlzWatG{'^|(XEH),[oW\mn;eOwFsMJSU"Q>Ѱvd * L㇎llǞ^:ӍەGa:-+˰:i/I_FzgF*4_ ^ Sa~J-*fșA'E\Im4ڈ kơuìҾoyY,;St &_2|KWFLjEqgA Sdq&#"9 FeIȉՎ303E}4Qz8'NMG.NJf%`[Hl4s >H]rܡB~g6iFZ{*ۿ漮fZ bD0%HIi@6_ww[tZZKMky9?Og䟒/[v{ !=6Tow>K^ 6~Y|"d,)[y\~G$OLY~0g#~&&/cc+bX1S'c1b1,c+b1cűb1cqK1cc1S%cqF1c0N4F*GgTs SAU (xZtegR-X;l˚GWB=uyy"\D.n?<$0t@ii$0b@rԼ\\;_h 3Au|#97ns<:}[*2}٤h#JA8f%X@2rCS);Gp) IKE)OSqlAEH R,BҠQ@M !BQ`oN&;)E*o-ZUen$})V(!@;1!Bi$L( (B=w WĥUXƪk%QxH\g@|X+dˑ&XF0kl`s gKʀi0T\$2;"CG/%:_c&nE4?ɥZBt,˜3aRIHPX;mfJ9|z6nΗgH$ӿ0T$}_LDR/a0ǿ1":uX2hD0u <y2>xGd=vND:7U)F T{>=v+$4f`I4Mj_r;q!JWP~WҠDwP_qha7tUU/VQx8OŠ6I?Aq; 접dD6P&`(ZE?(:XNùc1͐b$0F&1&`iTG3p tX)TBt0 !Z((Z/#ӑPÆBIꀃBR1hC@_poEG|9ƚNnRO< 5-WHi~<'s=0s/~uq=>:e>[%F3}?ǟqI5JI&8?]K?ִ$J~{{J d Za&O~FV, BKWM9%0" L h֕A7TdP|GR2 DZ63#2DMiLo9lM$USRI0cIDr !ȿ P QU)is^_:'A!8"B9FĶȐ2 BQӑf T78 $IF p^; I1JbⴖJZ2y)tM$pL;^~3f􏀾Rb w%կ~O$}Qxl~ڮ1)3;a앎M𦔡 sm|H)*f"N ݾ1ʼ%i^:u2uceyPK*@a1[KZGNжӨ4ڥbh(7vS)^z3O%Z[RlpdFrM:vsDf7[ ޸Gs8ؘpJ2sRt;nESXUlKYXHv7bkY>̎Deօzҍ!UIn>oV 8;$16ďw+j8i"OVāA* GJEʄ7dHR2Rs:[:6,#'<{!c @ϙ߸+5l @:7j'J r)#C.en"gI$SZM;)m5>KUFYkNl_I}ӽ\ C`j02L,'7N1(^{!Nb("c7^TfYhCrZK?+.TbjUUY#;.La,,, c4#1-k ̎XLa4XM=ޑMEEUW @cUU&Z,IP $E`uF\$DשFA-9Vow>E`9&M'MbHԬ?:mAuvN&eV-RI?´ LcGMHHX e]#3&ey#6Jp!{Z./ufwQ)˭W'!$d{x.";&N9a$&fj 2@C@~ z#cdRZZNKswg#Lq+SqH}|<<"+uM(;CC A6+,4*qi2^SBv85tTqeiu%s~Ð{{=n "f,EŵhbGULȪkZ.ln*bHQ=j*[: LGE , ju9$g^!KuYlۆ7 z[rq3i9-1b 3Ҩj2fyKN$pPT^v;U? -DD8l(BI`~m*EҿKM$3RnM'p?-e G/vynF-K^">G_Ik#̇!EnU2:}k߯$eZ*E2itW-09V%Ww2Rei~Yk~o"Toyw<1OQM%2H&ܠ{z_>\~j$I$} ~OJH DNDX/|b18JnͅQ*);cHb4*Lo88Kʬ 'z3ЫF"bZg^g࢝D7?^o_\ }{1P=`w"OŰ4Gݥ(.G>xJUjI/FDwȃ{R}V>FNE0=~'mE< + +:>jCd3ސ/Dߜf;{zd-.?&uu_$+u9<gFBKrQtgѧ >hF(6W_eL x.JZr*WV,~yJy"HBCB@R"!@iokmvse.[Ww) LwTK)/Éqv2`s3 z97 &5wr5Nu-WR6'˜mtϒ9O -$KGQTSk[RZFg8$;ecq[OtI]_ uYHURQq  kƐ<_orMT un: Q_ӮV6v@č(1PL4:X~ d?WjlBJ0& bHS 5 ;"`DS4u7Îg.m$Vc#dg{ät U?ɩ/w).אq KXʆ?CG/{ޡ hYH8dñ2r3B TP&iR YxSߛXX׶=3[箝+muEW(M!dI6 W,r$Y!gg6ʌ9H=Nf"d6d=OXv\D:e-:.lж7(ATo$=_f<*iO V +zx2-DBn"O 8QR:Tpt\ɅL*~2)M ѣFpF? 8ʾo{:xI`g 8 )"DX(!G ib0)F#*f1Z :qo|0aum46pI9 :Ah$eAkȑW<:|G{KsYbA)A&h eab5yT롟?}={8l7& CD2& y}$~s1msb#Kʅ ":H׀[i5 ρɫoYTFX A4gD/DH_$緥ͰV b9 84:7Zل%F*gHQÃ+{,"LN!X[Q%zBF:DKC!8)$}:s.lmC-xb6dDt2mc|OfF=x(LwO o,_!bLjt_/@ў.= vMYנAS.$3bQ$w2y]%@IY\pEit7vԍA!7Ԓ[4lعIZ#x4FD"1s 7@n4 I#PH'(A ا39SȐIK崎tWjJGQ.RjG)W(Xm'퓓~$I/-:z=YN=8m+PDŽëxL,FN0Q!Đhqۺ}ā Q#hO_!( #%$BrFg{ ,1dΚ:DU#ߖFM#HЪpѹM|hbR>)xgGFq=p+|W`Q-dLdNѤvIAX[(~ ٶT#P{wӧM75~ed:99Ae.@v0^!1:WpE[Kbo僿%3J|ss%^u kLq w}R:z?yy6{ eշgץ 4}aPcj8*L>Zl} SAєj!y$ރEEk5.^QAY;mt\1d3~&ا Eaz;;1G3P\:2aUCȯRSb=|y81M\&C4l$T! [Yܱھ3}2+ׁ I1}E2G?+ ]I:M R$EjEEP!ts\O!,VF6)渕@d;g9syf,A=eD0tZb¯Vv3K[%,X,ѵܽW_0 G[F=1?]2^}rݿ|Us+*q 6W)bIwc:kYZ7V8ǵmVբmy]҄o܎MyZͶN!Wk3o]Kimi"s))~ru~g׈NK4JJTBF0 C( @8.MB*0͔"ņ|Odٜ/Ti% \S @~)I‡X@ Tj ⤯E= p aL2Ȓw KʑQ& *d~Zil>{لMi8<HxL!aQ @&CS#X e" htE,)#KKb4QJ rP4)!g"@4ҦbJ" 1 i9%%btjt]  l@2@`E{`¸(+fE^d+ p ZUJ( q m@"|sZm 'ԕ-4ضږTbv@cRs-ArOGCA*ĥ,7U\S2H*.6sn*pҶ 4õ  âܿr\JJ,iKdUMm`(S~`#@}toaItFK0A xS1H(r a\C2E["%ABa!4DXM%Eɭ:*%m9\Ș!}F|J퀏{M.İ2 nfc/$xE h~IpeNJ{(F19FW2"TZW@"hV V(P$N(**~#{ >#Sx(*@)cVJ)HI BDI0Q0Uxc J4+w"<%Z*ih)u*T5"5^6F'õ`9^ĀT?4J#JP9ȟ|)(PrAT f~Z믟wT 1R@fT }Bȟ3P_2 [4p'JefzTeۮ8~2OytzFȿ # +kzCK=W>OP.Ye`T}ləq/qG65&:F/wt׭ OFR@σ|94 *1 ~n.w' b#]bGZ=AIҲD4S 4 k+oǜh;%qbS;\4qLuoچy<IJU(+ cqvVH$pyodI<H3!me[upGA/ux&E_W񥽟Lq+*FA$:3=Yn:Q Wtˆ&ɡxF`d=7 l.g.3iR-Dh^,YLD~9V;_m;g[Re(dx} פ4%"Tq^%[]͌ѹskꐣ|#ʘ"4ay³cZħ? Ho}6Se !f9E%ydE{$R~Z6ds72}QgGPj-ZnY` CDz_.߯YFtqiUe2wt~<7NDG5zCaˇ{ErBuu;YxZ;1قr;CoNTJąa|ĠR+jmJJGlHz rr  w hrR=6%em=re9'(`*Xeay(9ĕr_ ;[sуXL)`G " #;m贙$O aN=& r ?ØSZZ]̒np8!iZ?.xpu;_ ۱mO !0N +5YlYܖ΍pJOw9X+*1uXL]}դLj;0HfcJԏq,<g<ku|eJ-iW~$# 6KUu+@KA3{5ʈ@YL`PXPw,|PM^>܍k(m UKХNpNP\g̤F3OG V!Hgek?jQv2HinhH@H_2D#r3 u$O L3jӔ\ɑ%}sg(o 7P(qMKDO|~Ibn{#I*Sֻ5x(g9eP >F\<+$V⬑ ƩOY^'<ӣ 5z-O )P{fa|kݣpbմ0nG'(pc9ڇbXhp)lq|=Fzmb†[b05e:a݆]4C'3xƛ r*ux6b[ҦZ*${@fQ>7xM;¢4F0(lAA#JNjwBAcE[*@w؊&15J(A,VV٫WNJ^9ʒ~bMAʅG!UhjPf4MhoocMnÑ3kBؗc$5{$/ج (DR i-7W1iz[zFlFl9˳% ϻFqNa4'd À@55 4WS(X`U}&ZkwrvBfb0&%eһ DSGPLԫhF<9[#t:[O_.~yK'h O^qe@$}54)|,S}E:JҬM%"g}n5xd $")#x>tO8TOs%gIkօ ^K*m4Fꐽ/.]oPYo ^/ZYGEo5n0cXߤy=:ASQ%V%67|ߣ v F~LL\Ya3b3.T 0&LK0ٕM(ARw m2CotN#İ4 .yzG>9XyeGe== o+<9Ssn)9uiLqYE~8wϳǒkz\'y9<?=B@0kJ;Q<g4S(n펮$b<R /?@ 0zƒ!M.C #Z~vjQ)hy;8CezzKn;PRePȖ_arrKONT!@}z YK!6&PG˝Be&*tspw̍ W`Aٿm yKl*4@2s]ݵny#l%.K ZuqɜM(dmV^fR9`5]^hɤa%=8FUUu{)}%Cv'mm\Yqf{!j;K-O |DٞIonAH9|vx?#~pq3 Yf{;I7sPU|J~Mq Jp]PA?R':2Mhy˿R7TO+ghK6<ͦ60bmNTƻfba'߫yn;]f?mj0lYt0{ҧ `@kR''Ga[aj,jLɠni5 Nsz_K HFF$ +0Go\ԓ=ݔZ*Igc[0eS1Av]$Q0 !J緯< Ow8 ‚֡0N L v9G.}fzsv;< 6AB@jSH^4ֺ|M5뷠X-x ;@C59k>k & bӜL2i91H NºiG4n5MjEptANDd>G)he{bS='9YR^%+D*'^LUj_)m4Sc1c}:tA3{ĚCø:ϴUZOy]tLFQ33VA@t_[FlM|LzKlX2%~~_\✣$K&:}h!aC(2qc!<FB;%UU^=2Ma )fMK$MVA2mVCtѝz]&<~g~XhxyNսkZNᡈ1->T\4q`߮jjSS#%A_hōuP#B/wk`UP*"QzV0 QbG$HHM BAxUJ ccDuA|>,32!oF[KT4׶;)ZT{%{?ɱ/R NƋtIIȔ_|9s*΅rTЂA'H++:b(8JoŜuN@}߭R*ᬅ;Uu>WYEFqIY210{v>Y,)hQٝ.˱ʢ:syHҴ$31x߮stЦWF j{/Lx!35w}Փ϶]Ε명9ΈެM֎B:&K=$}߯o3vѭYU>O>;ΫbLs,T SHW~_$96s :XH0$oחud;{!h2M~u8@.^x;n[,?FQձs୬HnHDycC9s p n+ٱhtB]1 kÈk{s =QEz ͐OE1Y9_$C«8#MRִr#u yu*w0Һ_Fx^:J9\h!w׏GT)LCfA#ln5{{)<}z(9IAz:ZNyRr:~P{r7,BatT$}pIgýRܛ$X$~Mt._2wZu^ew{2_-q1223v7 w +Yޜ ^v+fo14cShFIoRO@^-Zew}klv8aNfgwF|ۣ,A֟ǃdqI$35$0AET^<Zº}k|d34̉_3I#3>2y灨3*<7SR/`)AJJO_oyC:S!L򲞠u',eD d *@6Pͣ@I" B( (XbP[8a9rGUJA6?7o6Sπё>5i^ű F2?ttw]l,ҡZ0lwǫߙx+DE-.^N3A%f]δ)6(Zmr`I@9tdͰ! yʓHh gofl+ `?6ju'BQӅd-/kR%aͪ3Rj+bxES#=+)C]t-čhWJKn"\M sTEvV&X,!armkTbIܖԫMD'e<^'N*NЧ8{ 6'pZTV !@| N LlTll-qBӘbrP*Dv9} <Rm.s,ڝ)8=0R+tYVx7eL8B6lXcj'~w?kiPl[rvUThvį(4N 0՚Jq-(vlfl+(D8!@-4cXG3.;.&hM=C͝L†cOuK9@gP14Cq@·{xdE TǦ*3,L兰 㸆uO_Y}hy 0lqY$i^`X"B\A UvH"!D#.yeBXD pVjTh~_?cccEN+)h?̃j_Uk  rK5u3r`b Z9-B)ɡ^$5I8"+p //΁iU_e:OL! /wEǺt?bb:||H{??\̄ ,C G?N'֝O=Ҽ$aaM4q+t1 &>p+ʻֽ>}:^*?.fR!l= u`xhH:foᮓF"ċ-Y!JBIHaa 2$D# _Nnh @d"R Zk1Ryi >%c\LdR|nqkXd~N2+=aMv$D% j~X> p|iJR-%NE”jkH@&r ˼<؇=KqSivti05djgGG  Z nrN*#Uצ²HӋ:lbuT2~TtdJdplޗsG+^.Dl@LQ׿s: @K@ʄr.v#]GHɐ^"ٯV-B1tCu+&`sNHsŻby+Cjqt Ģa5iy(U; E7gG L[ޑKP2>BѤk+}qr~,M/оb_cH\"$PhG@v{ DnݍGwJ/~Ӝ"#wW~p>8Q5Qi=M4lt8Woeί)Gm3{4IPN2 K뮷^- :i1 ;)k=.kaL3!6?4JX2#!V~7E{~>~,v^M-zя2Г?T!}5_Eo'#C8r!ږy6~~KdZHz{Jb%~{T730؉YrO9=y~b#0g q̀R٥B?~R?% A,(HCF M:̝{  5(P*B: 㹢7LY~3|O^q"sI넷-~A}_`h2k7lò:e}=هVF}Y.$ :p I/~1D@Gzn wn]CK90"tTnMsCD0&2]%ό;o 0pZPj"BT BWM@iFn_׷\ZֵF-kAw`|`K #Q͉f)0F(hmU[ iLLQ1528q4 AlxZ¢==T$[eSKtKGĂ/M,`~&RնyjdSlo Nݔ{rTZH#IԱ/tĶ7$:_?=+7/Yb%q$uJ̓lFh4ppP(&L#G)9,^AWPU_2tXC8\ρ@<[~ vn3q"Kk,1jaMD X̏_Li nbޯ$, 5C@ѿP@vAzhO϶${?3bA=zEIec{~b L}_4Yg#^?kIx\Vn|AEk3~㊩Kuw3*^rhSͅ6_L}2|3Iv}Yڷqڐgg {7j\CGcGZA|2Z)KzeN{쐴zFrb6>~7O~!1h>L(?jBN}BH] A~KϏ<ɦ4w:0; >d荺z_UkZ~g|G}3YY0@'D>Lg׿܎{4P#S,*o_!Qq|5 yZrj0+̖?j66n9YKZY30|@|?wBun)jM+3|R2[qDu) i g3%m\5ZZL_7>fp_OHQB7rrPgh>Zj<{f-_D@] V'Z1%(dn$K,90|'$-] }!f~Js!h5BX}WwIOu$U I>h`IXbLHBJ_!JPegjSif /;B'*)%) ^pv덧ߕkZֽZ/mv;%U7ˑAGs8§BHV%/z5)_cI њY^>x-+49!o:ZW\L#iC|Gw~ =fm:iڕkZ-:=iiX^,Z0B+p5e9)8}#j[>>Iò@AmfG<^ vqpr4%! /2cD䰖Rg硪֫ "2žOzGk!PQH>8$v%u@URd5]A #'|{a3+x:MI#wl0:/xЛdwۺ+sy]}t0ӷvhņ\ma_)uPԢ"(dO敦Q ajgeWw7hF tpn$z:y@1\d~(&HydX}rN_N]}N<Ҁ'o;e#eC%zϗIUm}=te^HJL@V ],D2~Hw!8O`4Hyk"Y(䢬іG|_Y7.2vA0tgK~qr$MBOB=B=e.v7r_(eZY$+'ڱ1oRMCtPT&ɌMT%RoHB2QX\}FqS-+|ŀCmp&֎l3BUb3+4K=zu@8b"= :^F) „%Hmp( wI)& Ȫ(LcuT,8w_]JjYtN!5`tHu>9v(~){=-tmv#iWNYOsF@Gb A!Օ pa~DH /*q+ M '$Zb %zx>oWYj暦8Kf  r/&d6 =Nrq"*Gjմ<=sm!5{N=1)$㉬eK D#q/B1Sdi4nft DXm4;V{ TgsPF&Q n0Œ;SKp;:%՚5U9jJܻ[vX꜖‹.\֧MXv-3m3NO<'׿™CDѶ' S."|VnaB%ҽ|kHFGj3صy$!CMȳݺ#S̙hDcH^ӇE4XNtݲj.U3?=qҿ~ܳj}u $wZ {~-'m}>1 / < ek]􆨑|Pg4mF{+T*ᅊ]IpLCLj h4(4ʶx'-BZu`Ha]$@k`=5>$?ωL~L5R>O>S}*?G@pVN߸}ą@+yBM;Xl+ԚA~9G!`*;a^?SX.Nĝ&~RfS&DC e *&"ded^#K+bz%S ."lQOd FKPUNL:Ͳ&&iZY7T<bu4E^ye!"!{U-@|RC R?é0Ig%H~!h`2E>ųgNX2LhpsOi*JzBDV.`ϯ"|T":瑈?\2W?|IEL~g&/7@8( $ w)}uo4$~!x!}&!AYe.Yp5d٧iGHl<_yZ|em?53:`*aV (́y۰ ypۦ#ހH{hD[럸,rU%O,gkv=2QLJ]imLɾ?IgtL]0 H-vMsj#6tH0V3O"۬.ZϦBi9@ㅲ=NE43z0=bTЅͤ.gO:_'Y]ϽM73"$OzdD,yId\;@לK˥@$)z!tG$ӡxODlbg:/?Q`>87掎`~$&jל <~?:{2e׵T?ݔ(|UQSL' Ư"u[#^K}^侶}v3sI㤹sly0n.//JC'ֿ!D+ d?PØ/?Y AL < a^Lȏ6=ay S%E8|@hFd>}HTvH$W ,'#:|$/:Hz<&~2B *lJ$"c^?||yF Q^0jQI2Dx<5!~Cމ?G%xs&ޞEy LS?h|im0 ݨ[NAPU#4u$dAD~X #.!n4V*IgtT}``U!x2%L_j+n;W"'K2HI#$AG{Ghx$ :=Jp5!\  UZ@8`\2VEڷr.OdOFg|P23ޘ9 r "b/py3g{ eVN9nGBCOG{)6+{~*CDa|6 EUR[{=t7>Ȩo~mDz&~]\+ feY%[,R_g^ߚ#R)Ad&!Jnϧ)`&:DID P]nz@A2?h ɊK$#Qq1;048V%e$IWLHQ$ 2)5 H9 @4 s=/CRJR>(AAI4D!  hX$Z`|5 QW`ZX{!r׸ӮI`'! o&!q-6h1CWU>&HY*Jzwns!!f$.BwKscqhg :L3 pd-~GP#N݉=s0rGRԏI!dwWax $̪,,DWy*̀F~~V5w\;t%]|pWn)!OYzZ>q9jC$#CBYUOUss2^71{G es("Si"BKX4A7,4hԊIR5EHK$&M #›AOM'f~}_kVvBDAP}Y3h- :cAKwӤm$rc =G:3XTq{m\ƩUu3qa4f*W*2P4rDF1_%+hfƨ zZ1@Z4'F5bh6LxYQ}*i\L=y86* S;X# R%P/RD=/+CT*4Cԅ}|H_Ψ][}sRoWS/QrBngMFɼC=5`B6 5g}ox# PX7#$1CiSOML=vI? !\Zr8. @_hI?PB0EJ9(L bVH}(E :C։$dXPlX4 ШA:DpÿDs)0wuI {;O{|d3LԀjHKB!߳Ǟ8=yX3ޓxnݴ PCո|fN2O!9BR9X#e2S,Mi#Ŵ{;)ʼndi=;pb/x٣v{"&ln|4'\G|gt|(ur11]Ne5 $CWT}"&ں Bɉ$癜!HR0$FѯEA0 B4,c5$Yo0XY65V 5|dM;/oMWZ-8vo@xɞwZ=Q"Ѵ~zX(J0'O IHX»P_==~UTX[ H Q(V Z-%*¨u?ClcWӈ??ԝk He4u,J;/{p}`%Qxq~vi-L߱RmC3-]UDJ$>Sd5iW`$`XjTșd{t0h`[1G IZuja,{AY;kDq(:w{U=}ӉKM۶"f<. "f%~890C!+G|&A0J rCdD`ҏT?gr?SM :ВEXkM BD!}+U3#A^YA %!AO% *9RQhO|oG]ަ%.q [ip 02-m).IAMRb%ޡ-Nrƙ) !,$H0 Udq!.ҟDu"c& ' >+ I =>P̂P ^w)/h欚!.e`HF]Q~p$Ŋ 8s@HU_&M8,hMYq2('Zo $|NpIJW&i ,&F?`DQ%K1 zC1qo8:31:'` k50uxt1by`d%$9iaY;},޲'g]Q4˶;PC-Pˀn\":뗮u.YY&l7Eq+~ 5#d.p`™OJb% aq>j&2%·6ZJd >??p{qp\Al7w޺@9"J{z, QH5 >S}B<&Y2B!F@n!)ޝn ~rZ|R}8icoIo.a"v{xI4"=pH *`#JK o!i"U< {0tEÈ07yT8l6ϨqP$z9p˟Yl6${/eYjcܟl|1@ޤ8?>"x#$w}>ǢtKT) d 2 B~Bu|K(tI89;F߃Jڑx}08cz& .:GpGʚHr6T@ü҇D<äWwn=C(L~1=/Y"3ˤl!,>tmwyƁnq2aG+( JD@P1F&%cP],4exxv=|<gNR$Gp9=ꡲz컻{o[ * +vv:=+p#ƴI|V {Ĉ0pvm 5?Sp!+3㻥880@s⣦b2ʲ:RI .Q1&^&wT!"a='B>XR$/˿r=}Y/8$?LEtH z@pyʰ/c?3%%N4|^(|Q$J$un6‹OVk'Q}4s$X9''8k2BtC2K*arFm>kܑG%P~\*)وrDpt$n0;=Ph=UST M9F0?e%0gWq5mTXdA0ĭL>HGI !ff\҆XjB jY76d2#s}VdIkK-Zaj܎E(sa4 )D)>q Hěwwҧ:OT3 t`+vq'L65gj35I' ::=EisdM>x1YLt SnCS`S"gxK>/,::TOЂE,oM^AHa `z/o?܇n <~bAjw=7[ܜ ~VN!RBNdrC_ʾ_q=@2Q.#D*cF{OD;>heш(fr.{ hk";2$>{Cwu:#rxLѻ;7^k>27ET'*k_O:5 TQ_GLv/_|uADtݺBeG[OаsE>cR'^Ep$k$/J+w#C4UM`ph-8_O@H HzYWT0D H>D&vt逌C*ѻo,9?{֠x'?bL$JҠcc(^49rl.(*v*ww|h\R(1%<;\ ͅzCNf`џ^S`md9h.EԱIS!*=\@_{Hli_o57JFτQ"@ rNa8ד9n?㰁á?5mUnecX4֨e"DM;DAEN%ҪoI XDfY|,deS ߇CNwLQ8Sm @gLG EIRo^&VPQeT3@ I1IR[ q T2>bP$rݺ#VgŚy@HuDEҟä{02XiO?v訊dEt&d, smD-; ?L'1 B"yUJ/<jM@_jJaAC6eF0;}'@|aP!9آ3zČqPO~St 6/3H1T;O.aWt<@=] 2)Ж(2}vRH@_'׶ʖ[ ŇסTڇҟ_H-&u.y̤) (yCtD/\XQ'؎4 4nƇL67`ͅ&&H RH =O|EN~4;SZO#|AqWgc|'Y] 7΅٤6v]Xmމx'ԲN#d*Gdu'nDz:|%!?S"!IHBd6I6Y7>JKKӉ޻qRT谟̫1MC  ' >fv:öŅDk~ሼU"aݙ!BBSIIJU(QE' bOkjG|b'#罾fWe<ꔼRn=λX1Dz?'?8Y#~< M'pi/2:$Otq|;c{3n 2`fE~Sf\k Z}5%LkHiH̜lOԊbIZ̿ٻ }w6trӡY I;XypӿOsYO÷S=ȔO|l_O'iQ{m.1PQPF? xqx`Nj% uF̐L|k=DpOR,2s!677uNIkVut{ ӕi nFԯ%`jø9A]X`S)3ǽ`a }ueߨ $:iA&5w39uu׳SiIĉr8YvS6Eȉ2[TROj"FC 9fK 6 hғL`! m6˥ֵ+k4BFQWIS=E@'Ѻ_"GV4u,m K9Q /eR5(  8:ņa_D2l^:>,9fB2?ДͮHvǜi-{N z+w![­j#gvdu{ڶ?1ǧ;tAB~nXu)Kn>{a {E?Ї0Guq|QSB;UGnn{NCX Gm'j=H4`]lwaAXXb1gzΑO14m$\jFO7;߲&MǼs^OYQ9 .} 6x3R$p:TsU7Q u)*|Ohh{7lXNCA=ڹ3V3ȮuB h.E^|N\jyz;H<A w}XY VM]{~"6oW)zbH'巗Z c_eHIҞ,ݚg̓܎Gr|l Z-I"e~N+[K& =S#RBwOE@V!854}ꄳ,:lґ+loa8Ӳʔ7`JހG=CLTΨP!\E(}{}AO+U>iO~eLk pK'ۆȇ?5Wa?ENj DC`\% ++Zի_6 j!rpP#G!=RBBB;St yA;V&ϜҢq @Y@mޠpP ޡ]`4>Rb`4SeB R DEQd#@n 1\Y+(/ߟ;xE%QT ۋ)D0e9M/uM_<ЇSXH<ŝ S=Z`Mv Gh{^&쨷$#L*uE1aS+D) RUAA3EB2;,f;›јǝ*bERHIQPک1xhFDzBZa*}*~Kl~xm%i ͇@` 6+lp:_$cQ[m)b)NAU-RW)8arH9.\h"i(DJ$툴޻6 rwQ4s(Ff .6]Ff[̙% %Vdw.X0C(n]G%i*`hp<4#~[Xc3 Ni;> Etr:q/g;E C1b_~Z=΢t:cL=.!lv"MRO ZjLdx٭jVp mJfVBY6  S芨6>Ɍe9z^e,G;&DGzV;jը+/8Nz5'|IP,mϏn0L++yyDCx>Z"}(3 '(uF6XfMPE5/OOzmdzZ,}>5~58> Xz (*z")D:GaK)Š1!H6산zq@h5k3fIj𣀳~TWYHn b gȥI)ahgd"B4 chT:/@f@×&Sro9sIjHDŸףǒqȓ? ˁ2ܮ&$8RcူīEUs •9 X#0lcَQSbt )^ F;iagó*wYOx$IS>\z0Mt.L7`:XP!ꚶʠQTN꜇Ha^=. !sF 1&%=(&p;rت5Xhl؀ MM+ QJ@w} uC4q=˖ I qf L*[VpO1QwA,QF Rf,6nBK2RF4 PU#g2"d@$ $P$RdAIJd> (FX$3N$0It&]0# }2Tbߝ9L?T>t,cgC9{;9ΩOeΔfP@bIy;Ӕ,#2H/q'tȚU6R1(n!QLLBSvP@4w: -) i"5I8 \/X9xZ"kx#f_Ԫ?!B7=*OȪT1 )0̨EF/tE7Htǥ)$I!U$P) G]Ѫdc 6BPUpIX .Praʟ@p Ǡ2 ?Ꝙ&%g ed)ISd>}OwTBu#/X\^Z-3FFhL'j`-Bfl4KX.723%i,ټfMjP5*Rn:!؝Bb)_} X(i"jb`Sp>D>!ys8/<)I$8u|8tahw SQI ;pp%xXTC 6OB]xM!DD +Ц JJ'_OBB GPW??ӦZ $'Jv DzLbZtd^-Ngb”"p\7>bwE>F!ڦ08AB\zT&D(UO$= !kXCٷr!i8yJAi<JK  $3IH]NP=SD>HR6Sl@z8E}?{ݤFBYI2$HR8u`iR.zvQ8Ik` XIT u/cCh _BUH(5ȸt% M/99-p1#ssWYp|HR!& [ Vo8y^SGڥ*D<BQ@ 4C}Qd}YUU`U0@u& ШI># zU$,{kVJRohauIlcq#Dפ&?'I<|L:PSiTT$?D?Qi!q#z 1xAIj5ޯmkYR?GCv2i^[3e  SF$%d(8*dOWߓ`uGN:sQP}DB{,h A PH(BhBbeB%QHQJReR!JTFQV(H`a%DBUfQaBQ&$H D\zىJTIS Dy+wj.ԌTИJ)tE&o{d4`O q8 * RC3 +)}Y]1"%X;|q(F6t7INFvFc v0)4Y=ǡߨo=zʕLG߷DxRAg~R hlcI1.5~]^iiāLxw Ċ41r+xZ\'CBual ps |f_䜩$9rW^H-1[D- 2D>\ bqvcCLUĉg;Ȟ%"6 S hI7H DiA5G<<.0(|}(XS>ohtB"P⣝²((*G`YpHr Z݄C(/O_hTQ%q-]*a1z|cgwy P_(d v1A5 HLU"C\6^QҼB&&۱ 64~J}g PH\b$t$^(>@ +”d_cO8m"rAYȏ IA >Qfh*7HF|X=iz@_!9n5QghʭX˿q9`=Sm*ͅmw((!)$  ?_/frQA R*ņL $Ң evPa͢3W+fMk.lq@w7oĂc ;?폥#L*52QdЂ`}2d&q QHjTG]_7L_Z&<&8?g7}H["Tmۯhܩᓥd7Hʐ2VI3-jĆ疰RRG`7ϯ> GFyW `Ȁ [$@86Ōm&zhb!tQw5Ǿ#߈&,1A[;Av d陚CAЧ!ҋD8 0L dALF{@?(x!  n\!V%2;a6 @>8x7:r6rӛA|=ɁQEQй!>Ngp֡43= wD َ!0R-BTFe ЪSw:ߛ}eTqkuUH BLPP !75.{3Yep=!2Q^D>[rH@Bh+Yڱ SԬ{`8B1xXRO y u*2Ue"F2 L*`v@% O#q Dtn)OmˏLPӁyu2#R !H@!H2#RP}*(tn:? ȫhŵu6dLE<6!ŘiB6B`R/ t+(Y ܘ)_"DSA@DRMpsI!$Ԃ]ϓZBdɆgio {ԴVҚVUpPy$x,jc=/ .n+=`HKBQtL"t'L0mwtHjb|&QoD$-[85@ ؈3v8A/,&XJ` $ h&ZNDc+.S+҆#,Gquh#bpwtJ]8eUjn~O?慭hoo 4'3ϟn$!'Bu6E{#`XfshHzNЎ`Raq!nŊU2F Zq#3TZ  &UawleX utʖܡtS+ YtZcfuV<ڊCUBc5|5&Hi6V,TI ACdMAQjDqF9 \n(bX+@`. GАs$}/+״~aF-t< Vd:va]8Tt`O*JiB_ R 81Aǥ3;WOxp, %HJ}-$C:!vm\^?VU@׷lQ.p1! +JJ?pzE 췂 ͠Y8'd4+ fGИ2FnL>ѩ&>1'IdC*ANa, M`9?[J<$&[HOGD):][!&t#/.KٺW!&61%jӃQM=9fhmo!@0ݿɪwgϮu*jvϠbUM$L7n!#u)DH=?&Ev--RIb"Z"J@ !aiJf)`:׃B|N@iT='⟌ODDz&WzM~SJ]4dm!aC?KιC½U&E I)I$'`8H:8^lH3XlAR)0h Rʝ!JAЈ͋(IZi &V $)"ڍ*,$P΂)PÈp)DoSDЁRY}$~=n;I>FT=V^S6¾!7 eA4ԑIV1g=_frKݤxd"XP^l: IqirR$D)8S]xdqZȜt$I Bl|!Y>/0Í!F!VAm#r?F aR s0qb dJʒ1hK T:Lk y PxNk2A\@puē!Nx[sCcH&r0p&j-8͓tr;;dNG#& d4ѽն4 $dj) #lHpxO| H:ꩾ#I=< 82Ey#Iq4I8# 34QkU)rPya܌fpڙ3@NDRătJP2ɑZa^%A3l.@#aE rT-`/098V@RRd c # )v&'21E0aʇY2skÞ\rAa!{\!bbޙyz6*1] aTTj*Gq^cL/m>'w8kH Ɣ_vbb0M@ID&`5 O2b@R%%" m δVu"s;^Bsj %XG b;˰nAsąC!Z~>@˄vRIH)g%a@C}+r gsX푡R%qN!q0.}g3AJR \,Kǂģlsr 1 M6+ BZ2Vغ&^9Æj]#[9m@1!ʪxelfΛ,>=iCPc)u: R*BW<{Vi0E vrZD|nt&—RYc%ٝ!A2/O?{}ߒ14`a0[lT=2 n?6%5AJDDC&6 ZSP2!(!9\1;{k!jdQN㒘 x'bl%-R#hC8|bUN ^x 3~0"O?Hc*Rp7s1ϣ 7vɔrvVu+ 0ricm\ =iQT"f*5`S=fX?|kߛqSDEGذ 8;Vkߑޢ\!su ,eN"A pN <>HtEd?"Ya!|lp?v0C?g`hL!yiM1lG Vb-Foi j22KP  e4}sdؑ%vNa$*Lh)^ QU*UjBѽqE#ξHu?nJsSpW/q"`T<"'| I0Dt]qlYs0|A9|7~{&Lʩl4p6%|x~*[s,3 ڙdx^#p BN^uޥ=)(y8:D|,7]Vk˓6 ] \W<;i/.rg@:Nyǭ~ ..|V;ﱽ&2ːee\YafJqHI :I޸OyD)%(*ݵmWH+h_G80P k`}_Cƚ~ڟz9*`"S-k&muD,D;KB40!J z>sv0{@<2H@{c0*_Nk6ǁN̗'N{5!!!*|cH4HC\p> lD'8Q=AWW:=)3I 0*>d{&Gga?%7FrN>Q%"si$Hk-W+{Vİicmo wm\oLcE|UӬl=8JUeGt2%V[C1xƳ/|{"bHȠehb$m;`pܞ(7RC Z)-# ,"giy'~opm]{!wLsW\g^ř+ weyVl]Zxnnwc֮kki-a^5E,e3ZBZMVya'G jc(b{@B14MN `ʖ\ИĈpAiF<`A[b/xDJpqy<`wD Ua:;0=\.m}R5p#w[;1((d2eɤH{A6< vtoX hнD.3HH,t 7"+xSe8=':oD@i79"yߋetTnHk$R:' &e4-ı*QE%l@اapW}wycogb(c7ŎhIJH a2кdTe!M, 6HcߩJt#H^SCnqp䝘^V/~5a2Q-6cJ3̘YLA8(,pdJ3uڨO_R$ Aa] 4k4cX/SYPu6PG pg=,A%y !njA:&UE1iOd n{Q;p:'P/^뻾F6 YL[F7i,96=];zZn`b F\o"FUhhʘ 9Y$Mpu-kX) 3lG#2i1\Ym>@hĖ&rn3 Q1dN vx ѝRe);"e#18$yde{cvЍδ\9⫆e'FA{a./ a\2e+n 9W9٢W{[ Q"S5\R$& z1\V)a X1nJ(VH1]/;>-1w@~{,ڂ|.1ghjH %IxHV+ ,cɬl@Pz}2Cpei*@N+7]!!oׅJ}*g]\/na:\ r1a_n5`i$D8zd] j N `pa`&Z փke!XƄs=p [IUqr0ĘD fA@6xɮd9vϊ}9Ԙ 1*h5l꺺9汕^UMN{\Kkj):^W\И0 ejR!HKIhR9[ NdJӍ`xW\.h](sڕc\7Ta~pػ~2N' VM Uv] < GHYK=/heegPdN3 ЖFE$ JE"v덤I+!)R<9ݏB0pw:I$d"I:G]!(1 hsf@/Et^*5 ^r@!oGZ<T|{hdOtGԆhDy̔dn”4+a.LՒiFF-H2#e)0) tK -1SgpYPJ`sH.`petfQ0fu%G_;+|.ՒF#;n61t2 : 諾h{N%Bv XZRۙAu5JPC$%(Y ^NDl0fz'V+G#4M\\vyRq^:[$-)\BdFC3Mem2GK\pQ䘻 yC҇T n<>u dBbftt|8DQ5LUAQTx.O$, BG$"wE!BRqSsHfRI^`bDz)$y/Ĕiїa~~1wZ@~C'䊑>cJdEbL2p.@x A4+ o&р0 qon@T%$wR`) `aa9Bx+Hg33F>|7H<`N AѰ=$~{l9ϭ&Jw2NI1Jw<<Ňˑ"+<Ћ_Ht Rm Q͠fSAβ|`Uԣ7i`$ġE"4L0DB<$4*yT- dTGnPR 퇮O=$DB1?1uy_+ IJȫ`رIXom#P&4$76~\9?GY4SdSB4lNX(}6*%zI=8sqdc.]|xPf9Œ=.]Ɓ8 EnVi* HeVP^P@@].OJv&J$JH@|.( 5R)_V ~GzAAv wy!h*y|wQv8ĵ';BW]wt&_xK]Y+|V c_t0+#螹 VI{6Dh$Vd1I 9@a+>_;4q %&>ix%0q)Ս5vp%a%WDYF'zg~q﬌?aii4vMi=뀈3AMD_%܇[w3,WhmdG6Tظ굜h7uz Ap7i.7VT%H1lm`ԣ *īɷC ֝-\Vl `L#+<汥y֠u2I&Ɏ\NRTح*H8P;IwEa+PWAQx+I!qh/Y%O4'E$+/^W#sz| \@qϮ~!G>ˌT4[%V#U@Blk Tĥ+˭px/'LG]j`Dz *a$b&%iGmI4*Z'x@!o4Oઞ`<ƕOfɅnA@P)}um(R(cABDĉ2*j )m+Bm {}l=6晚")ڍ/0ɋE 0Qc] zAzE瘰4,ʊ0,H0KPtVE^@F%MWZB/LkpeSKQ碌&H2N<¦O &m1Hd鋢y)3rDf2.xrJ;-P|9JEb^$=ؾ[`scWt +80Zvok=ÅUQ}7m{7[͸hՒg C@E;q.0,) bhiHuiU4U:MvDv,lbaSbeM֚5 to@0\näRש7ڧfmY$24m S\SD[~ k3=Z\ܘ{lV:@Ջajt|2 i蕥bA Meg!~U+Li;mg 8j߲ƌJ)ޙ[6Ss\+Z8 AfsCdrfҩzc;:Vl+Vz;DGIZA00hx8bNUH9B?:OFl'Ne(voKnu}U#zJG/ڑya!] `K_%~ue0V}}`.(4q6GJiZsLCNs'xM?)(OvUe~@<.B$z.Y>{r 77f>ʋS떋L"ڜv1b Xœc Gǔ0gf?ސ!Q$0U{$j_F E27M q{޴_Zi2+'=d"C,fM]Bi22d4p<(rd ##/\򡮣oj5ڨ_Fy~CN!R y"fiwGdm5pҝt~1u(|$Ҕ`J0Pq E4B.B/y<gqQ0B-J]F)eFIi{D!`ӑdbCу:4A'0 ] @! 2ܰMn(2vzT]@;VT-rt"Dv4~T; YxJ!5\>I1(hTĥRc2p"O2:tX6}C}Q.*D ( +5 _0qd.z='@45 @JD%xpN Y s{k d:(b$w,rڝNۏ[pX0Brw"QeC0B?|bN0`N#/Sɼb\Zn5d?'2ihe&1]8t=+@0Ej!DIz3! Yɱ҄6 %8dF1EOxB@1/ Q " #lgIʘ~L2z J߇\d+͉^3}% tℛoEQJ# JbGe3{Y$ b'Յ dlIg"COø,uPOp1  kqDv%QWӆhia4qÅߜbؖbVkC!q>޼~",`@}} 4oK| -Cx"I^%ۗ*ԡ2iU=5xCAHl#GjIoX$~ ӏQn5b'@؝*>UAn "c؃{ًAF쪜 }dȯd;ᇄ"yᄡLЧ%<  v^Wy*`z#S1p† £}.XM |F0C|aG 7e%c$N}0uU,W-i$B!(O0Ϙ> MQGL 9Āa"m.װ6 }ᓠӜ4"ц`$P#d :"qL ^#EU`نP BXP@Ф,lqbiC#Ґ,ܕ??ayvSquIsaԁJ @!˹(?M{H*hGTb8.d( 2ZH*0`]h(&H/i${}PlO\K~7&diH(!"d_9/Szۉe¨RI )<~wΤaS u)('j&*2!P, r~3tC,cKQlآ6bB=i a82L$LCʚtQMUZ"< 6Hcb" [e6go^yqr|bG4'>Q/řuFEjGd.&e#*B "VbJHQ8QȤV)Yj" (f$e*adŃW6H!DN(> ,gGFfaDtyT{f[BF VQ+aQ60T8M?"\Oa;wz_ /rK$0Z!)6ʣN93*0%a_WNjQEuI_ E@=pI;?#ט) | ]GXۃ@;u@JRUUUv]TՒ|nyrO>Cq0=bP(/{]A(D=mT)#3.X.&pAjy;;h5) J}s F wxChO$y;8:wGW/KKb.˱_J< iQȯ(1Ϋ`"{bLșS( `r;+iP$29+q$.´)H[e__S3).W9@ZV2X"올WK\q!`{ O*>"<0Zrһ;67$$$A1]K0bh $cxJQFJzbevx+JkLZNpT-QGmq n/e64H]BX)xGh12eh0XDR XH8@PBd^ HAb (2 a-)R"@8H/DP%aTedf$e*rT5(yCL}[t% P}გL hQ84 T*t\(R$$/GAiyGHF"Odz/4*{&o P J!Q! ~@'> C)/SR@t`F RZX~ 4N&TBo{TTPA:d̤~Ls^ #JF1`!mhID<2,'g)&) aawO8y\2yj?Cx@h_OP(/G)x'LL)QNMϻFB\E?k7GD GbD^OH<>ܑ'֚>$ ǤT+ȯ?F;G`ݹGϯ9S࿽J]b`1%ט8G0_ٿ,Ӌ P^cq| m>ZDm 4݌VtfrYpf= eٍbPpRam.޷lZ ̠ ]ih4]Ug -g mxw͌X40myMe:joQ0Y w GTrWpveeyYtkf1N."80UwÕj4I婔U 9ctӹ*S)D$+Ϛ#)6̵ [bW |aN#" =Oݕ)>{F _{PeH%=Ϻʳ ~_GT6@$9W᷺+"_L)@OU, M aЕX!+ʔh߯w,0#Ĵ3Qq0lSOdmჼ;t`;C#ooJs* n!+DDDTڅRIXXt(ȚRԨ;R>z}s9ϨևQ-gc,ȚU ƚ%tG:R-孉N FzV8R]E (|טlO!||=P~CD겥9$HEW`A P33% ]$m'?Hj,Hgo3XbdcϲN>鬸f'tq`4:Tw`{}^: 2H#1M1iW,F&T1!%NNvҝ)́T4 !x0; a&eCcH<u&&(JdɀrdH*XH0a|l`1bFUB2G Bn'aE)vp5pҽT4] lgqg 9' 2;ͻBEN$`Y )jQ1$ E,DRTj*Mo?~00("VHWe]Fl*wɇa,-MS)pb@bŪ"?a|pL4H,8E0x;05!, {|T !PXi;!=I?0Tz(c!La$Ta @~*#pJCvM삟),J)ܘ:H9 a,*uryN D_D!T쉋xOdz}p)Pe:!)8O!۞ä& !JDLAf!Vn2T.IG$ u.ȃ%i@M"cK !NbVH9)XP0"a -!G ԓJ e+6!*HB=Hk3Bc"NEZ9nN  !6 l)uRk Bp]u͑pYcICn\Xq v} gj?M>s(vc=ِn55QGP62_,3ㇶ?@</5̒!TGt%5p@"BT}EdBr#sէ !zBK (\C;"}/oHq F1PkM&1&M;&4zx! Dʋx*$D<I`nEXYEb LYz`'F H`5b  y=W0CdHنg"ڄkgd([9&R 8<Qb į 9 3ݔ pPӠs$^g a`C8jBll)E6'v;t jP (TP\OڻE|T=`z_I#d$y@CHJh) o/Lblc`r^O{ἙH5 J4}JDcHB. iųZq[P,ygb7Dܾs( 4s~F{BSI!r}gGЉ(mT0)$ A(T 2TQ,HZZUb?#: -"fChI}P$G4kRuOB(pD#$}/ * G X"d H,?:?9׃!w(4}2Bڧ<޾̺o痞< ٔbjZrN>ʊΧ5u^jqZ)j;,ʣWZ$4:brjC<;<+[VJN ,AbC==.*4h6ЋU|+}QؠHDLM)-*XЌvF HXXS4(hƆP(nLi14&*8ϹϭGa) O11>ww0&-XӠщX5xrTʏ1˅&(ęyr3B3zpku. X)( üuzw0A+ $^}٩IBtHJH)"  GB!E*'QЎ *qŊ*x0) ; Ecd1%S_!~\\C zJa$u. 'ȞTQ)S\ ٽkG$uInf(KN=J?uF!M*uڷ3YȹvRH -tjFkG N9r҆򁏕”(4'X<:9p@_y9?>52&QVSs!˛x䥳"4I,DM 2xCJDSA);[W"i& %|Pp/fp+'U'!܅vw^-/ J%' %T(/ij_'.˗.NH$P1Om)·t/(4&2߹ )tj²K6T2dd/{w:T#S@v)BojB; YdN$6jұTOݎIZOLe&4ޏ}|ެu_}q~7zCߟeqӠX 5aDy_O-p >49 #.@/%"j^+g U$~ޚAW>gOnl%cϒzcЁ:̓a洦'79^"VWYgL!CJ闀'$xҩ8Qp? Q`xDi^rZ d ywn 2"BM 9EAM56GtN7KP;ʵ"U?⥭6 HcĐdk^zzWKmmnGNxjVIp8a-F VI{b5P{f?A>SP"@JRđ=HJ- EPCrA)Tt!iB!@vLʒ25>I%Z7T{_(s{}NP-)J;x Q'i? XsX|B;]h߉) 2HN}Cd ;[&kR ѳF`cdÉ*E,k` hj&UHrB (#)PP"&8DFaH "H]91- ^BfֱԞS֣RO g-NXc_Uf`w@di%aH 0׫L+۶")xJ+x.0|TOqE5&dGotzjHՃr>{%2JbLExz |`|gtt,d9DS( CbΡP0 Ld((0T3$vJae@nYS>H86 }؍9dIM:k ]wˊF0"PfI@. ]G6!B!A$>o_)aym $t҆)1 _K"QOƨvN1?=GKO0GHtF&2}4 O2ޚ BJ ܃|.i8r˖'-mb:hˡf6QkE†9C2RLNl@w#|69!WP:c.,xX1Cuy9Ǘ-/ N VA@p]܄3 PE_!-(Nc. S lNH04_~+AS_1B=@~bX8[$TTzG7L0?|S&pH4d R4{$HQ?bjΙ&'cܪRRq\nˁ&Bc!iOyi#L bJZ ;I4j\@đzBġ!loȂiN W ڡ=jI?b1<̕wVO"دJ́h$0e'޳+pZISSݢjQm!$D[IB$Sp <f*hsD̴4j'~Gg0+K4 nj}AG?&D=̫B (:ဩ$AAkB8IKJO 9~RR!V <X]$U{v܌C,I=|J#)Ibr.oufCQRWͱCw?̈%x~ &~ϼL?_!4@U /vLOHFyw){bG9PT?*x/2N)=~1m[LoYkoD曹pPuz ޾4pSnGc2P?+r ߐKJHsٯCW.w %OPf9*4K׼7q ǝZMQm՚ev)8Trzd0D7ct裈U.i@B;g=AS}G(<Ǩ}K=p3]2E[niTu!؜-<rBZ(%Pbap @%5$yK'-UX(- vYpPX+"~В8{'xkg>x-b@I z bB;Pc5NV.,w}KĤ{dpN'^ucd9#*NjäۙeX^ 3:!X븥JRFG$0HBP54„ȭҺ@$t{1 V$@)=ܖ#EBᡋcJCAG$ʵJL+$|pQ568/[+$ &d _͘p {BhiL C 0o3Y)*}~Կ.нZbTnޟOüt7Fb Z8SFdr3i/Oc?DXvU\p5"x}/Oy'/z%{2(X3=;`w/I(~MNHԣ|d {M)6ڻwX!v&!H ع =҃4ιډ0N#ˎ/1!{DɁg*RW 0AԯA"x`Xx93L"ʒ@2@RB(~$>HLKELx g,#ͻ!d GƓ "~ #pb"f:v( BH% &$!y;66 !ؖ1A8:.hlrpQ8*U8^$سI͂§33T5BR Q`,Gb~\ Db2(bLlLm݀\3TH1`N2V2VpPQ2IG{3Te M`R W!!(B&K"" $й9X(Pġ bKdbsn?Ol%.(CkUɱ,V6Op2U ЉQ `C|) 7O 91Eo]R(+i])6BhcO`BkM @R&BHWCzHstv1wC=8O2K!(QAxWHP.1SA~>TaЫ\ R!p2pȁ0sd6DJN#҉:Eqa@ÊפWuOL<5Tҡ>>U0cE *رb"ԩDOWȜ&zA CE2 YIB|{mJ%#Fh4wCI-(?%Hf6@ .VjhfycfD3@i{*G{B惉W/a44p!<EU\ {uߟ`C^Do]YZ蝙u{Чq3q]`!> Q]Y\1R zBSy3 _-pͫ(w:Ud T5^a &m" ͑6u%Pt+ѱ!t(mz=GG4 lO`b ;J+!$ST.\s̘!s.E%x1J9*YeD~&+ekJn0܋w>>TkF!'1gJZi}|v@jF~)yky6K*:MV=WXhO@y*'u8 4' 'ieS_O|U`< 8FYs HJ`㸚H4swᒴn7v♡׼oU!"E.G<[mo0ޱ{1P5[6/9-4ivuj|JHmAVً1"^ؐM̭1]+/[ZAL;6u` rLJe$eh*HMrldbaDL!seQEU\rf0 iW΍Ɂ:XepamBQZ^ygzYk8:(4L M')޶;PT+谢7 e)8#qTt69욝d'}Չ Hߡ*,'RBN Bb0e1UVy̿ߍX 3F穬zA8G]2@Z(|vڍaD$U %KTDUUE|ǭҿ6o&}$%}& &b( T[7k)\O\M6D*~HD&}ﻏo Q0ZIs4 ̌.)BKϽwHS@+e%zQPL iF`8cKN-?] S: 1 (/va8:AY|}G@H`{OV`;=I9Icn&V%M+"lƴlpl/pb1i'w_rOZgC*d:OGyaO"Re>ceFc'>}[SN0^s[gd*>2=zaxnJ"n5Hj\!DA2XC;!h>8c7Yh\`fhle==1}er> ;4h rSfT5188]u@=\q/C FuҠs<@zB{E A*AzٻVqG pb uXcrHұO {MBw_b!)U]`6ٌ"*zRƉ<`hpJǧᅯ1FDpe_ܸc"S oAu꽒;؇79F/ UaVTJs\9sG7y @6o"DfS$IɠFZB.օǭJ' TZdX=q¸gbKg%Ĝ%DŋairIZ< y\ C8$4sq9M>}(̀@/ħ!il zo4yRJn~ޗɖmsdR0^\NG)`)i!@ޓS'p Y$d&HaIeFPf  R@ZA%IVA9tT6&fT߹'NFۓB? I$}.ʒ.}IU S<"R.W1([4ŪN}rWf3dJ |@РH;(%;4uDܒ]U )>Xu HGb) R>rSp&J-f0 5 XO$L=q@@P=6RI @ bC~$~0(@}]>*O<ԍn30y!WƲ<6 HGL()>Zy<} )S$b/aalVJS utNP>HT)B (Gdм܅4OPwg=;~JU }O|HlQa,jƈ>L &6 TXT"OЖ/wߦ'*Fws.艋r$%`PJB云+\:MO0NmǯNz8\!ML-ܷwrwwSM 16š Za(^L0^OH?Y qZѯܠNo{֗+Î~DCp+XyG; ΍i3 |4%|TJ  ' G̡%i<>sd % &oь!%$] v,T5.ff!{r"f2lL,%+!A2Q+Tq1UPn)+: `P1nbۭe5 JaTa!XNUsh&LBV.pps~[ Ӓu!I>i?Ĺ<].=tJϫ=R4ϻDdUG@1J(I)@)"G$ŕ%A @hS!1:v7L4!'KrM!J @=p3GKBU,!bKHN4zJK瀀zh1'EMF boC%MQLˑtG`0. :JiCo T=Jpw*D;a:I3b(;)ypd1p!M4Hs- @l#$q1:P!V9VTqBҬ(9ZdO/;^ h, ,Հ4vVIY$hě22)ab4QD9%':R'ɑJ'0Pъ9sA3ɇNg/tXHU#->9aEFUJE)  % MI:MgC-[;~.SWS0׌"g4|kLi>E}pM =H?N/xxāJ% ЅX}\dOHԑ: Щ0*W! T$h>ztᦩMlsNpZWL ST&j]Mn }_;*xɒxYࢬe7gL}p*7}g4 2v8-bH ƚ'50n=P_I{ M2 >66l*(#J݁ĔŕN@ \mal3fv5hX>|~ {e)B}I Aj|2s,9F9:^f8I: Bjdi(fih [ה^J$ |W~IQ 2md<%q5` aÄĉmAJaGbRA 45PIJ's DKGCW$ &kX+UXo\WJR"u e'5H:UÇ]T, TQj1f6 C#<FYo@P (0keQt8Q _ED!Txg3֫1ɮ0+]RS-28iQPdP FE7%T LB_tx)@yЄREgg6fXo8뮵δXtqt1.be$;$ZV0>&( hJKӳȌ<] 熋`y)4TL.A}2) h!%ClLn34VKu,B⳵|.TirD!ߎظu['!rrLy8 |j"R"jgzTEe2H \0P׬Ƙ| `!h2D{L)H-x`VL@gHb,vcՆ̕k_%}ҁ[ kL\jwR ڍP>ZḄS ч gIi xF7ќzeO^x `iH(l(p@lcH;Q$:hir[WSd©;UB`41DEL-0Z7_T]<:6{uUw`nN}RʥT ˂Ņ4vl +(bm1Yڋ -4zh$3U[4Q6;!eą(۷Ӷ( 2`P0Η!FґvίCf4@eEfO: F9h6ЮT)$bHvc% Mt?~ԣƉo͈Pju,Y6g=55/n!ODG)ZqP= v>m9MW8r٪#]L bc߽/tvk0xj]abE؆kMf 8K4dorxxL9mc+,3A:b5hi!RU\Խ^в;cTmE5h] …XFд[f6cu9Ak8q3xdIlu:"d-+rδiF[7l{4KޒY+:4c 9{)c>xz`#MJZU,v8 0)0TjiHXb*)b䃞4ApΏ%ꔆ dfUjS=Y0E">l]A0v1c*XgP5 _ӭrk]G [G]X H-YI Gv2FIV$"Sz-P7pג&-TъlA*b"vhql?>axBrY3Y QAJ+ {C0>u->7#r#Z~Gdy,J'cz1d;hU~~<& " "BVK, RM1RȞ؜ERYdM #' jrDȰHqKBh$$:ċV1P|SMRDUTKUPV%{In''n5ef{mxH y!''`"!wUmU3.m(J0db,sulRAFjbp HN@!Lk{ƣls-VBYQfY"uWYZ9r3d%1/qw`=/0,tt 9CYc~, A>_ @*kZJO_4 m.CLP/59Zַ rR0̩T[ҫkb(m2p#EQ ;)C$);vNRUKEEEEEEdkZ+lO9ݖfUKt6sclhYRdz8pն:L2-S#̡!y)-: I ,Ja(O! ,Y'C_ DxZ LH#ZoхU'[He*%${|AN"y jB78([=~#ئOHiraT1 6UX*BGܵo2 8Ij2%I a!~{aYf~b&pV>07 m9G{7=@x6,R*SzTC8g,ߚ]wƁbi6JCXszeY-] )+sdc duK ̤Ĵ3F@F  t#@ րuM1Ο^)gzap` ów6fJ-20wxfb˗D:TAȪE(R11؂T! p7V^PПB>;Ί|}Uc<ZRTdP5]:2Cnp#Q ai@{` '6Ct) h^J I B%׿9z$ +CЧFø`~O뒄(U0+0?}]*J ul&l :q#d $Ȗ#bUFTV0 &BJ-4) @E A $JJ )N8` xr<׽k >:pE.Ȣ{)س=dG p:5k֙ՉVA'1eӫzD-6iCa0_hv**iPB^f1U=8!,2(n0iHI'reL\\(N-S#C Xhf`% Ʉy?c 7CΥ˼ci>P)]e`4"h!B|=2v IϯKADI@@MI< JkÊqNGI< V>e·>>;p :I$I:KE<]I5aat DD~aҚv$ЖT!*H >+WܲU=\ڑ.o3Ef :J8&xCXI#(P <8tX3#T0JFH@>{Y) ]fَ:X@5HO $`,)H48Z`ej L02Р0*" 9lE Ucϟ}^#Iv18!1L)qh} x>jQ_ O=~ d."GbdFwo8PL0zG⭇=lyWXR}pqMKb~“Hdz  A=< ,,GқFc*B*$hFioO:SNȉH0_&`0]&QX"BP3$.P:DODCOQQ*Iة[s &pC>9 0<|PoȬ{@ZR@󢴢O 1-hxm,g%&V pH)C A @J$!JF!AAԤj~qxh=lhT H+ IW|v/OPoQ*bh>cqH/SBI 0-c2LhKtagA/dS(vWZTU f%(p20̀Dya/mUs1xw#( + hSXX1)*2?`\43ˏ9N)+y4,,P9\%YHNDB"J0YLLIJ"Vϸ@Do dsuɍCZ04r9-̠${Fk;Ђy J=+KzxJjZM6cwH9$ QQEUF'H(\tCUhqNzY={#!X+dCO٧R'w_L`U˖Tbʆ13S( i *^~9Xl xxxثТdBhB9x{%ӪK?:\>蚒"T< B͏* z~0R 73#X~#9CEj}HRڀKٝ7h7g‘"#m,Eg3:mXB'a1*SpSXᗟ#0 ˁD,[.`f* IvYZ`-51PL@Jg1&)O;Ct%0 [DP m^rPESpPnP. EXc:*Ij$-tCTý12"JHanu/"n R0֔J$=Q}gdh1xi6 !gREQT be:{Kd_T0AN/ƀ=Ҥ´' ߸Z"E"Z)#Gr D31l=0zG\Pk2& $QCcDPNd2+Z LWX] ,B#$%I& im*-׷5Cd#ci \A.џnnȲ@Lb FIF &alqdCP0Wxԗ֧NQ.=2PD*F䝬P:'I%j) ZH~YP|JPzVA傅Ո8G|8 @!j|3jlQ?F8~Z[j-Tʗam%nD_DL \8a₩(Lc2g|x┛# &aZ@CtԦl"܂"Y'mӸ|9:'8]Wr@.h%5i`vb4L~9䤚DOLjc]-![O˶rSt 䛰ݮpi+j<5DH:|'nV9)nIYY|b̚X+5S`y(_ᯧKV$Ξ,ntn@R(X3/(' R,K4 R~VL )UK !5;ҒQI+ )~#4#ְ |(eG"Q?!@L$P% g RTp_=j}iއiaK2PU\ƬW[MgV]Vuޣ[S~Yq¾ϯ`1gJcɪ]l]^h`؞2u{DfɢeH{h`-]Vn4akIde@Yz`Lngtn1!C29Y^+Ih,sq|~'cǙXN sV Fд.MX\i-;@EpZeQĹ`]!׆b@{cmu:JP*4wbZ(ytW(C-Փ2. ,aEJbUWS#H1jVw|ݤ1@͙'nq:%$= ЮC`1cEDrL`+[`0 BD{< ӼHpH3{\T<EbiWn[GrȲwuFS-jQr:cE#hFwGixL ;IaD<^tFA&$SI‚m޲Cu;['/=fL+ћƄld90@DiM&f|)    <}o NBPDST"ѡ$,Dbyr(B qe)&lTaG4X>$Pf''$ ?5(PXbs%KBeAL"2W!?*Φ)c1LS5![#mڱaXȎP13T&b9gnlQDLDW{+b\@; $xI܅LД }׹cF@ K)( QJ`)O9(J;u=:y"\pv?]x Hkaךl'hK)ŖȠ879c 72T8v3 ڤ:,b;Tlɯ{"{_ߢ\Tgaj_ n1?}QH`dO_;؛3ɬ$Oϭ)Fy'kd:oO>{:]vonw9_o_z|{mg!pπT/,{˦u.=>{]`]oc_^/o}|TU{fjUTsP1^w }9}}{.=Y @(4Rb1RUY۠92g=cGַ^> !>ХoWh۫cC}}}4S:o_g{v^kâ޺H2:qvDSP"*z5o=j=_=[W3icϠ2+pCƼ($$6cl5o{H;hWsw;=tϽynQ"v Oo:f˝<>]_k滑޷͵Ե ;9gTw{{}g;I=cq{kM wz{cۻ˶t[t=;y}ڽo>Q.%{@2{Fݝz8۸}n&)}Du>>xoX.Ս5P+OgfkV׮yɗt6G]h׎ ԓfhlo{ڋ{\[/WtAۯ}ul(G}4}=]g,Y>-Xy֢.n9>V}k;=ܯv3]צ}Zs]U{owpkow|v޶]:vMvRtX :wY緾7^G}yaviݎn˻ZHkg{mmwZIMAVcn@_s>q{x @q=n4C#-U]BZzzΚV/yS\kTf{{sSo{w=vO[}^=* ܯ󺶵|iy7qzo^6}|_ioS=qKzz.mz茶wxs̀ÀlK5vz ):Axezz hW^ c{پj}ﷻ:nl7wj=*syWr7Akw`v_@{{ﱼvٮUfI{{dlw}7׻+>6˫M-}w*w1t m!* 7@1=m[=㞥 C,w¼󮞯UdQJsYU}j4x =d^oOӋ=9-ZLo03kti)vi5,WU)!CDɈhd2!x)[ 6X-{¹wJ2@RnU u~oGwN#:YgãH)13p܃TSo0&Z<~OofXkK屰淊љґ&&l AKVd0Q4CF03wq &|8U cӗGx}9im` 6JmHfc(gg_|1깼 #G$?h:f^Ճ}4 Qyp0e@E_R&60"RlcWrLXPC&ȣ\ʦbf<Ч:%7deӛ@7hWqZZl-<$iI77P["fr",DSax4 DUIO~?o~MT?q@>&iN<[d3깕?50C%Kf]fͬ}ppn.SvVU V~;QKO9?a8%P}"& ͅTSPQ G߂"ғXD-t;) +4LEX¢B@ B JP!ui >d-;,/wH; |Ii taP_L#"~Dؽ$qFA\T" X$%|?WQH\qOr4P2!Ct P)(f'rCl)J/܄<yy45ȗ(ɭ Fc)?Jk)%11(/$C*ҋB!׸  j"I(|.@H)C8;H s(9*xЅ(!HjJ #"(:b,I@% 0S,#O|3UHƀ ^,$t1X `2{89~Wx2HR `/0SFRPh.DJp4-ܑ 47r v]ih醐4a1flfc71r/iJR+6~! A$@ LB3,J'f*$UT21$PLׂ{d?@J K7@~ oPJ?g͚72R64BI)HY%9Cn `MPNs@UEQ! P He0( }SùxmY*TQEF&xiAI-,y^!BC)6hOC B`35L1 IE4D&v9n0%:0xnK"K0\�Ȑ 0ʓo2d"J;A#*{#Naev3C|Z$r㎟4 ,i5LbB{fkgA陙)Kt uc [&]iwgܸTa&u{E4(xfMh6Uو5ZVl2`Sc%sQFBSѳd92LF饠 Kf&`9 ٕעx \Y D=||3?g6!,lkZsķ .rC~-J{ k'cӅlSjc%D'} \kהgbkDc8OxZVf=n&?o%yTDa˻ !l{oAR. u>_~1y.g:jJZ-[V3 d%;@TRN&.[ ߛD\;(pG[E?rʗD &!@vR%/IYϵSGTBl~$gN36 *>^(ۏB s(rb"tPHÃ!)"WT'҉}׼vp*zݦ{߃cXwWe*cY_v#P>M.Dq*}$[/ǘ 6\7+088Ic ,kE (">:(6,+\O)H6TdzuE@ RQTUZNpۙEV4 PR?ƹ㙭1 Q\Vb&"0?5@bR@)UE*R]fAw'n̄ Lsti\!iG;i; p^a}7Qnr 0:1C\iv[9,\A+`v03Y%Xy:&j-*0@Md"Q9dhK(\Ols*˴ɐ8Iiʨܬ̫)iKTYpˡd)-34VDĩZI433A%He+Hb@e!AFY.AbRTlK|) ޮ*ST/S<= &iqkf;, 7xYMHpPr? lĽdS[VR8;@lEhJ*ZbcFҸiU)Qfc|Q[!qoE.*c{Zua^me'D77M7TɒtW :wzJ\sb 2_a NuSrr xEFfI(4Bܼ-GsɼB `1,%mVΦ61%O6{r0.vpfh#r0J  " {a%Sqݷ4n NdS1`DUNV/Wad9{z[d4YSCAVܪʳSi`Y*VBr&I j=6}f*  W"t)&hrk"L!k61,08\8G{`yo?-l}…-Ąl4143DD\02XT$ERP)E?YlyỀabQ8B#c.U2[*LfPEIGDmѧ/@xb61wۿOwi*7m# $4V=n ӑzXW7T2ڻi"iVEr\3X͢e_Cbd1g#R᳽%6J(VMLKMp顔`Z}k)s&M`DmuyYMpq ,Lvh{p+@RBx}MNi?6^dYfKH߇m :tw' kSq4gqkKM<u ',1ur7t \JGj#A]kL0soѓPSb[w($ 0 +2K2H uw}7wLbhEý -p_W׼k}(\3Dd7Õ;l<͛ixnr:Oy131H0hP ?7L^8ewQ3xv26$siݹ3ޡ;MGd{e ޺p]żDŽ6Pд%Ls&T)R&7)[cbX<=0;\MM2jI,n< &I)RtB9Rʓ,۵#w8T䅆ِ6SDaS*06xDJff9UGكCt"h߮dAˑTԯ bFlV2 enCs- }!3%) U{6H滃hg.`aHJ dle6a2fM5?ŀ8$ivZdLa8$NN[y4yQDDq 4M!dQ iLZccѕ0m&emDAXeTĸ'#K )·BãΩfvfVhh`Ț2XCP"PӼJ tdHbA6ovw]<7gs&wҩΚ!Gff`ܜ^0I7)AˁeA@QT ;n+3p5kуABPsqfaښc-(K9(Sq)5  ->%u66{IѱF 7IgQ1$0.P$g8Qcif"enqnFg1Cb[Heͳl@V&Xq&`ܦR #4;nFbBC ƞpC{2 Ntlv'^haf7%hA,*:swrI$؋bPba-VڟSCjۀ=SUYrئ GleGYF!E1CXhu >3384$O#&\oɘZUp%g(Do1JG`>f76 oHrWo6jl#fJdUJ{"sx9!ۃsCʦRRS 4Vݛ+G`[ yi{rChՕS0Q !3M [̦94\_n#룡vi(gpF$u%8—6Ì\\IjY0yx2 Q.R0LÝ\26͞i&XĘU@HwhZ>W=V,H@=])51[kPb#=ӡI87-0on4C ^g(Js  試Os6GficTx{`hl{b +m|Eb NΜʝ!L#a 3SzF54!m@ &"0=߃ϴȉj x mx(7sJLLd>1 Pv0-L=0vYrl9S !].]Q&з" 8r̭1]]]a>Sgf˴R̠ZCixdʦn' FCV``'9 O⧜a,KDJՓsJF5'aO3msCIJL#`@ZRD;KWӝ)J$I!;b'Hz=ߜ9$9(36nN"Mw0f{{:4w<=.o|iEP LNl\rZ{~ DH}w9'\. ;g %'fBNix[c. `Ch \ DEym0XW2D B'8/\wDp@ A$s$.; l@8D:u֜x& cxka6!Yu4m]DiY"hN/ņDE J#EV!G26"{VA&Ca9>o|{q:SZʃ"Ma/qgna!{Pn$̝ձlcsw]N<v'3xlFv\iCJJ5kOϭLB i6hd4Ax!>$?Tn `cGWJҜ-FiFտheV8#ag{F=32/MrǼW)4̟/!~C<>g?Da3^*ȧ:4t:4+A=,m($`ibgG$4qP4,EJ@dIɛ#r$O(}^U ݊" h/ xG_V*<=mRW"0pv#5L Κ&R 7JXO% hNd}*=j4r":D&Dy5U2Jbu;z)oW":<])j ƧTVғC'\ȚIpl<,KN %S= ӷOw{x&QYJ VxpA)JRJReǵQ :DԳo"SmDd8:@YHdX DI3o<hO|}2, 18/E}Wf#m۳:m{fcXfW+Wf X89VY.dv\̑jUg`3yyshy}sSk|;Ѯv6*-̜̑DQ|qTvGpH0\Ə ::h6#pX@᷊fpXL!YnHtŠB I&K@ŴoW^$ &4 rqBse"5SnŽD-/FInh8:'vv2[ ,YAჄVA]{p?pψC8_(d"EN3XH4mTZj&賩KFmr;uBa1tJCzD$Lb 7x5+jI&zxj{Y#-(!ѹ){"o9RGJMdaE%4dQŘBT8TTPB &YيM5Q1A SIIYpK>H2@k vnGp'ʿ|HP&&$$Gp05_evX?ݐC C59bR ES ă'4*?GF`!giـ+pMצ~c} qI@ۿ~ A=xQܦDhUbaωO˷.2 si"Y;0HQ$ڤNC0J$C'#ǧo(͌7"/S$<JĉԁH_nG>v;!MFa%>!B6єHIEJIU8J&4{gUE4TTs+L$Q J*1(DQዪF1D9%(@B-wPr"@w޷}x;檂i(( i$Gw9IP_^bR%1(J$@"P`D*=J1w = cd=pnX@FJH4DbL@npGe2%Zv!°MZp"^`zHzAzHٕUUDOp`EΫ}X(p=8Ꟈ}QNu*knRd29..&?ΆZq vz}|@<=?>4o{NlZ`hXY K&" A {*1y@Z `u od)H)g5v"&!ܨY{׊AI1[LƩ9ݡcM ø V T V;MCu>%zץ>`Kȇdc;h}Ov~^xCCV>xV}=:hzΰ0`Y9L{ {>7";5i1\ CgᕵʰFzBXX-** @{-`875Iȣڑ@tt0a28q I@i(§8B  *dd\ԪDTB3]!eE/}>+A=JAC&DFٕ\sL@h !KNNK3MOw}P !"tC DW(qhE#&4BQ+dejk;!a/xպrp2I&E-h^ !ϛǷHDxoht JT)vv`D<=JJz*d * 0 f|8Ƣkqx} bG?\LMa".^E^e))))))iii8pÇ@ڀ{;X 1Rm5V ҄? ^نgyolCC^x#֏ZhDhJP5ݿ7Df`9 zhSrC%1!F!T)D0*Eϧ<4߫?'}@#2``hStu:A$a}dOv& aF_޵vH+E↨4.IM0@+~Ț)UC/x0¢@O(n||h&:2`})N8,AQI׫EDOkk6'_+ 4=f6xs򟟤x D{GځqOVldX n䡒DH,ɁD"Gp,mĔgqQI|J#YoQH>vN4\UPy(\:5}[B=Z@<=D*[ ]6=&H7r"#c+__\#4a"2 4P]Ϝ/~J!QDcx>f;lB2ADS"ijYAd:~~՛/G\?{.ٔ{iBrB=ԆLJH&o,1X )Ӓ%t!o #:=-'S#9GDR !O}x$dha;pP^0} 3M.|9u{}Ě YB!J"88NVP!ӨÀ907Rc=>09k[_/N挑ߩ"XELC'8xv0ޙ [7F02*dF#1-sp" [{Z\d:bDAR1 \L-tJAK9-vJ#$TLT-_hRCBs9c0v2M>n}$;o! P LqL,|p*CHI1Ԥu|\ٵ LT b" 70ÈqXt͊7y pIFxIĈtkIjB Os`j#%{o=& ٴCR^8ICHHCWSY I8& hRD(R޺S`r|tާVts)dίk׸0.)BL'`CIRM'z\8 U.h289g$ALT 2)B{WtΡKc ]$ԓ<|q=:LAp+6b [(]# TI-w Wj@ @OR0T#Da r08(IDz$({%vlB(qaI[nՐk@.€i1dyߣBfRj*ħ_o5ۧ瑆EYMNDn6;R_IbQÿeOqsDG"P|~tғ Җ{)_oà{$1"j&֑-6Ę''|ID0I=)$$H"`LIjXS]UT6$D{? 6L䀖?fZW~ a, PB`V _z@`I$>Б"5H$JC@iZKE2EAD<)I@"RPd5$y1 @2HD&i%4X$XdtN)pK5'C@a-0^9䜓I&>EJc+(??6j 8${;333337>cqO*;J: %*bo:H/߄b4"sEo,rfN=-EO`%!2@$EɉPtM"v<n<> 3 2$Y$`2q!H baiL AC@#$& ?o[ "bLrj'A:UiG8i^z9GSV: " {~ pz<;/eBoXʲQ`8N<X ?څ*%B ӃXC#\sv3"C.9|/,BEΏJO,8BDJ=4<X0%(iKwcڰiȰBH!t遰M[)l.;wA4GxWGFJ"X6fJĆAlm*\Pi`؅&aᜉ A0u#ѐƏSzs*}:ڰǿkŠ_Doi>|1߫Χ#")H!U!"RxlR7*Wtwٻ-sg3\  pJB'Ov*GHU $%Ds YeZxjY# 2ȥ5ݺg `î8C5#k0/f9AgZCZZNB@t? 1Hy%ǏvC^^WabܶaE۪g^5ry1mcT'k3vmף=UAT$6=)^\6(Ǔ aE lj_H{#d&d`f:٤pN碸IOT]͛POao@Z3~=/[Rm7]#FD%|FGphae>.\m e4&n%gO @ 1m83u-m[,͓anSξzR9Iߧ1y}V{csџK }_yFaD%W/ٞ eu-t~;k$ߴl"_JK,M$ϝ n1aQuw{C*#x w9lBL $i R`(L~/&Wk3<=1m:RPkb"AmaW+C0cMa{'ytG@yL]Y-}zv)0ò3zxl^| ǃ0Ϙ"y lc_UB$(i]( FA;zǁQKt^}@+MR!GĬ)cC&/YHǽ]3`O~Pgl!u M;qbT -"(س~oNX8hԄ  4,FWl8C['ŭ&K2`T%]um$÷tSs9ro +7]}+-$!Vb)Rҝij燴)߂g?hhuϽď<?EdDvZWcaE8 <uES_]}pzPAcuČGxwY 8$fLD7ADRn~_;${J܌KI *R*شKUUV#ncL2MMt:=f?/+PAwG$((hBD5DCD_0*]C;2n~M4t!^j:>2?}W^'׵uΎ'يPd^:0y=ߔ̠N&Bh6Fcsڪ/OebMlܺw;W]K"@HTDN~)(?p dt?fRQw/@k6>c_1Pzr 1➑+ݲJ`@{B; 5n%#woxɛƩFLNi:hK(:Ƭ|#D vƺ)p]_.Qd{;[ˑ&^O9qm# : 5o]ztiD;渢KH^OPhk EA20P$o %Kc?/H%E1P3! FlU(;ʸ&"鱸P/j8@S$3o Na7)]Uq܇6Mh>)x  ޜ~B>gy)9EnȆƨWSw\뫹VI< U6xMȩ#08a.yģ1|>}٨cᑴ3nm[(,I͵REP@|Z{/Ȁ0wb>>pQ0:7Hx?H4I |'O֘O9?bZtԞdOt̓3x#:"Pw #" Q//:5&c1؂Y">Qyx jFh^wxF5.DrxKٱ]z37 fwk3zv]oI"<Π-HoYUB8sM2VFqrPd5ΡMiP jDܑ>MSH @MD)"si>tiErMӜNRD̑9&>T0'ҝI9lMRқ Ie8 ҜS)=iHWKOJ|?"`KL$L+ oLW'ko[qp7`6ƹ^#e) HG^Qd<0еvz  &`iavt'Q KEQz l)nu8݀h+!ĝ(,cCN7((kSCT1,op 9f#}nb& 8HTyzoҤyɁtc"Z] ?jLpMrEkZ SA j̀rI4LX ,kh`< )-3 c]M-7Ճ#@4z܁GI~tJ[1uo4 i%6 uܲ$g-;?b;-P)Ĉ$jVz j- dp\e5P:W8j(2Z@()?5!o#1x '/;_v!Ğ$4(pAfXTsS6%Yԍ*ZT%rt]g֭ &9WF#"zR X776GgRw@47bnհnR(`S HpʊmR912eD/C܎:^6 I$I$Wb S~>;5{I!&0m?ZG9wm;N1Hn*H%BJQs/}w&+8Pȑ- ȶy {~}w4 :u`XKppjpܞJq!'/?TɌZs5" "9zu"4q#lPp@XP@l9R;f!IIz:5=1byↇH?R ä'{@dmy;^osz&Fx{my'/=o$ywi2#qYqI *u4sؚ24&!`u{uEPϏr oN䉄䛃FG۲:{4~ }N}Rkmm?g}1Ts\YU?q(;:cӁ׭MWj[7h{!f 4?__(ۅAe̟.zR%Rd:KH=vX; $\3ßSI~n@5UkUU^ZeR**Pj**pnJa, TOڰ4i4/O^@uc,$@pyj I~3Ȕ3bN(3k&k}H@6ӊ)a-nSꂇ7W(%sAh6ښbV@*3Aho.04Rip7Ų-X,{H1B@n@/.݆&!t7V A"ru4^BRܬQ@46HԠ!p2$S4M$ITw<1%0^]Cr‚z:iCTOj`>X 4p" p\# C@E?Wdk 9ԁt2kdF=>҃042"5}+7.c*]ޠi -RY@P@`iN4yh1hL:Ҟ6RG;:Yoㄷ ,G /ˇ88e\@vT|\')ųU"bLOft_K1fu?@,deB 4ȪH2X9\5{Mu&hj+IM2d;YJ0 -5t;ȸ'DNX`U ?O06zs H))-8'RhH 1\Wځ8 d7\DEr lfgN0Gw0pB@>!NO,4^2ksPF0}eheJq= Na4|WWΪV-ӷPVl; E Ys345wo-H0-D"k2w_ߧ] ì=4f(ѵ(a֑!R oiq9(((((((4ξfuefh~G$ I$9=Y]QwPrI_Ǐ!{RTem؟l6߿~_?n-"h+i j&R?,l]4` `BZrD5(ֈP~kNs0N hJ AtbH<`1G;BHIUXP:A,m|7rL.V$n 4&n8; J'jeuۇZzZ&`slsf¤YkR2a3a9oI5fX :;kX {~䯴t\2ҘatiM1D,CѤ[$JN$-Pw@#sevgWЌ#<<8gU1ȍ;%<+FF%!@ʽk$04Sye\}Gi:kiBZIZPX5ytڒDxa2֐LBj$(HnW2 &A AI _`XBs/$ $g8rQA: ?5)*'q)au vժ@bD& 'rѮN8q= h4FxB=Zasx~~7rqC>~X7vVOd3Mo7mR*oiQ_BrQl[ܶ~=P=LWQͳ]w=ƿ4ALUEDSKQ5$5 QUUUUUQTQAс<|]{'zON"hE^h訐}aU((pS2D,C+E@qhC ק:,N̤xj`Geh0c$I]61~`FsGD<ٙ5XA# ޏLt˴d +r`& E_{FŐX&]{ٞG̉G:8r$Dqj+ u 1=3=iF`QIP:zyk5JNj+q~Mb%zgyiD[G#aCOF X㼐vA djL\ٵ?z__h G"''kS. GwN ѱ A@:SvpM\Ё%PٌW:H=hdM31Z <=/\-=uc ͇3eitN-%亊GĎ; ρЍMzO6,g(Dh?ir\C3AKEB%*|-tlIZn#zdB(Xfs" LMA'bOi8MΞLNNTOLQDPsw#iX6=.!s7 qL8!tk&l 0EGm=L jDioUƯ':IHUQUUm-d&Z'n48H%tگKv]p*|XlnFG &\aݾ(Ar5"5]TS,YnAfӇ]/1l~Δcjֆz_px$Kɶ2*fqv 8c:1{@ypbTx'+`Ƨ*dfD=q+dK)p #lMZo3v ,c-@a0 i#fwAyv>edf#h۴iD[mx<յOdi=8PF KRF l\d7m HמwG,ګ^>l9[Xo~ z;xJ}oʒN4FʂS#:7Fuj G33}|+&M~8Y.*>39(j6^.nN VQrCU o5$(>4g7ڹfOM";碌μqD>7g^M=|6mǭA*&4SG~^w*ao=DtlOU9@0=T QF p ýQ#ݍvף^pKkOg7qzOk!h+'.ƭ3E,T<5ֈA'kSx!eVGh?1/O1 L\J4Y"YMӗTIԞc6͆+'wiU\ Kf!mT bCtXuQlFڋ넚GB-=. @آ2|:)C"tbpz!fFA7p9 T/Gឮ:?*G|`;,Dj+6 - -tb9Dr q-^;&1rv7ʪV;`zjV+mLl<M1#kqʳ*I0y? :$OcYvDCXz {cqOzq" .C:蹨K&V^_r=YK(q>7@G&3tH u}Q]9TP$S ' <>UόåAnt(j:NdI 0?>mLA @xyHZT$6>lN\c<=[>*)T=,*AG5d3b2SR)E)a;0L2q Er')lɘ uj1aTљO{O#^U>(Kq j(RߨCpo5$5N{Lap7 yS6FBQAUUV( z{{q ~3M%s8 Ah(C#lN!H 0`곜{O^W;1FXBD#羳FƤ7@B~t,GZ<ң)}d~"<.wl9TF>ՠ0@Kz/FgǨLBC)+*` 9I`1kqe`l؅'Xxu Жt=9·LWP?(|AS2 d.%rKo@2 t,爦"!t\|kM"7p|b)( %|ǀ;`b$Е$0r<:wCR,,% R"0HKKYU2hׇlM?9ipr{9$֝<H"(|>rt)ӉP2MW<@xqrX#v˫%HI?D;kz Iѵ 'm5F]xZpEWs3L4S9 ei $_-_3Ĝ)6],ш#-!?27ܼzaf_*)qr)*HF(#tڑT~2'̥L}JNA*  ӹ@#i-P8 0X &E 4{QCI3%-:TMk]ȧBl'k7Pe`D5$R 0FHn)yݠ!bm `$Rbo+7}ULt>vÉ8h$VCWz!]+H !uj))K<)C(pѤOY ,&Euȴ&R̉R|ȥib"QSuR]`fwIfGśU") )"R?yd|.,/|u˥*f3_àVn I? UOP bbi,̅! G (9~uvnth3̐)gfrHqtMkF8'5C%^ RZjX@I+DB)3L0QF+lz;mr$2Cl8 ggv7{efa;cJf'n2 3R H #K[HYۚe%N;)A(22LL#n$f=S%9'` ,*hU6E!;hrMd\}xHt~>l0]8Lbp2x'Z=/Hc`^YDPH'?c=G5 ytR9=\3?|zc){ES;"&R aS51{XW^7@9HQ+3NvLC`P3Ҳ Z)~>=)[B.G(`cMpcCctei/:f S_"i~U<f)VbNqq'-26cbk,22.6sfC"F) ,8gܑ:D֥PwB-< ՊU/'d>CњD.l|lu$ǥFV1u٪xfPϿ4< 4r8:b~=dw?DtձZ>ܟC%]O314UĈDil3ݳ۲zǧ gv6Uuw=3,4qE89+4Q(g45ܕ)癤CP2d5xㅇidӆksBbXu2lTSƩ Zk,G'@!(1(q{5hgh3_ MTx;}zNӺ K2/;'r@j߇h$'R竼>bzGn,p%극GuQjUR޻yC?g˧`~M|\imG%wGI;}݇ZՑka6f]=; 3O%uJp/[kkA! {cKVu-A(EŌe0xa=q1IRC9&M[vRR02g=4=pYlo-l+}TC{P?=iYV"L`(BU OzJOl%Ps9:=}5G@߁g=$'NΛbE8i AY;`mG  2@E3 H-=ԍ#vݸ0̀в-'6%2|45Iz#;۠LCKK6p P),r-@L$o7ZL*&:v\t#@Qh~w(5 d:!3OyT0uX|,"S)ő#Š"||xhxFfiᒌ 각DD=GGO; q&")] (O0 QW`(מrU]ǥ.'6 ܑe.YLm L )ڪB!"cN-cmt++P2aDݫLji|JIZI1,e,%#AIgaErU\.rȮo=w%1FmL]8j~6х%*C$(P$&Hp`/\da#| ^*SxwCAĊӽJ*skAb=fg K>h < $^G)F K&} n$C$) H">'T{iGse6sݧo;b: dzGuwf0WA: &쉢f3oFӳrHqYP`7 VN{~E\f⬶*YUGM GYRa)ԆH&N{w剈`؛i3b [5LR݈)ŧ7o7> :>Fpn4[|d8'GNTR}6<̚w!w;c׏CH}O+|ǜ[5#E4A+bu3;wG Lu>b[42fY/yD"kbϭ͆cF]iotX5;_sZo=xIis%hJOi-"t|r1cmc1c)̹ O3XrB;4B?5#5 x!wzykdG<3w ftN@BtFITf|QC!& Pbc;dՊa ">(/kp lthKD)uu}NB͔ןs+34 x)H( NhB.&7(;!x)Fv2'FݲU1=M!".>?:*EHZQ{h#4am#7<ȃ@.ݢoԡ"lX'2JRXZZk!L/8+dHZo=zQQǒ2Wũ껓D::LJYDo綟/I'C3Sܻbeɏ-uFŲBBCAIJj.B\ cd4fCZY}aS =-/y-&i0)JR"".g˷/F"q= OɍHլl"b+ԝJwr;<}G c`|8BK5~8E0|"ݨ͆/`l,ÞME{v!ҍ0%*PhL;i76 F$slǠgM&6Xy+٣ 6>bn:əp7Q9t>%w'4  fG::Iw &d;0C#6Y?R1ymGuu!DU%m)\L7]_@'~2w(PY^*g75hɨ-!vHf;cw?/ ]SA-J3,dtۿL휆 Cџjb᷸:2 D=< (J蟏E\#}& )4η\T/Hr;8qԽcT?D;-6B&D fE* 3Sla+ O1KsE-̕Lک(/E9="d #<{T蠘hnZ{u%ָ|]b1M2T(~Ձ3.JhMlFnQ}OՌ`RwD'D|j!N^(.TYDPU3j0+KB,;O>žʌbLBj%&Q$(G51t:Lr2Q\$}OP*2a@LE 2sϸ & &E$`F=Y5=9EOs<AvED9Ebљ8mD4 kQBG )S,ob.r2A z">'WJtDv""(0 b(ST&C @SMQE5K %PT JߎE3 RT AUITgG TBbZhmh4.Sî؇V %P4zm'<܎`qe<G|Da^6 (Qyb#2-Ӳ8R#2@(}E%kyO?oĘU"H F /̢jsƩHI%uBǢY="o+P'W!< dffLR9Ht&`? -:"iTb򽧫\OQCZ[ ǖ]CIR^,Fm 9 AP+ FG7Bѣ01>l7ڮ56Ms`i!c]T'osR^GuxWGGXs (JYEmc,f͗xC%$@$^DH?YjPSDiP'EOxj8a%!dZDOgRMWV gn:%43Z wz$!? HG]SdpEʑ]}a3.gГzM_0\'q.Z9LޤN^:pmzj ved7sXzG#r5g -Dsy`O'rjS$DB2gU6)M4mbYI!RAa$I!# sp5ab/ *@"h=ɾ$H%jEq>c܆R"R-GTj2᭙^]"f5& [ Z@_9wmt^CYJ⅗QeW2Eo >m1=x=4!%Ƴך'Sqyy957G|jq,Ɏ33}%,.h>dvXED!3f`$ć0r-BTcx k?*#$OГ0ȟ})?i+>y]~~OJ;ʋ lφ-+m1ڦ-kOhnkmv '@x!h޿s<8{ѻĶoz<}ad,$/zbYL2O"˴՞ee5axP2MpB ȶD-ކ {xӐ{n˹.\m<'uʈ\M𿡉Z-G23}#N#=_&p"SP_Fk˔4HdgOi@\Ed:f_Gt$oX D d36ݥlh"-߇ x'(cdMZLua-% XRfy>M`(όaK-d 8U"APohgQ$60G~m38Hn"48G5a4FwAMGNd}NQc(m,E#f)!`X' WN5H:dajD]IWTȤ0;CY#BU D [<'`:hPD>^T.^y6mD6"Ol)%>w *`>U64f"\8Yu I $0M4G85f=na$2:JS@eӐL CB(,=@d){P!Y\ hR],=1VљƨSVƈFH^n* ߣ6/e4B F?ŷO΁JcGWL [Ӷ ,瀽r =$ȅT(|dub<+0W2KG:C}?Gvu#sC'ѯEؿ)H1G*|ijҟe-vLG` 5!19H_~{/ FADB@a$nm)#!_z@_hpNɒ Dhoˤl0QJT UЛW  SrRI#ژ'p I$Wd?`00 hI 2 ̛ &B~Dy$WDOLVI;S  $0%q> 8CA1aHR'loJ%*w1ޯ}! ~`IQ!:B@9 `'jXX/-MzfBB~ 覊j5$OBRH:$`JL'!(L$Z+D>u'&*)S!}VE<مrpe@Ԕ't;$BH$5M@?p q ]壀 q9XQIlHLp$rxRY H k(U7zIΔtOHlHďߕN1S bHG 0b%B#X $010A`Z iR%@ Gkr`]L2I. )#1a?d4L!xlrPH5ŊkiiaD9PD0qP~?ZnN]*PpoYC@q?Xe.A 5 6bȴT?< {2~˳#4Q'P4Q:  ] 䉥PUml=dZ<*GQ w-ZeHkm!yv0wXn|YL{X6i/~0@܂:|/ 1muMB 144U4i ag0*1:K? :*i2DH@V"v]`^'I"!븨: V`* ٳRld9ܼW """""*HH\p 2DPLBeCL%7"lDI;:hƑ&hdhFA곡#E!DhXjZ=ۄ䟓@WM(8\PT^LSxm;n6B݀Y"RL CR-"LnC=2M0;YaAr(bbՖӠGDŽMj!~E"׋a6OàPڸiiЗ4!xbyJ43|Ee+> "I/b~~@*/b;,!a04HBnb,nszZh;GNKAl`%@ ~1cvl/}ߞdm**rhޜ ndT|p& F ńZ@ %\IP'QƗچ `0`fa@r|U%bHx0`iwRGTn &&L+t;VX8#HR糗s| yPtGWR@)"~t 1^Cl$D_HcdL0ĝd&RWSS.z14jn/7SQ5%|$UU%=8>]w{Â~PDQrR&wxYv]fv#&a| E$ (m>ZmzX׵3OyAsGٍps!DQ) Dʆ^V}oyJv{çmJ Cu~lkw&e"q._o\ؠbnZ~\YGNIe<=Iacx<[`Ɔ>MMG w^џ.:R@$A *p DO'X $}FP?xBrX_;c"?_}7ÄBPFfAp: 4g*B! !pԩa;k^(8c4WcU_Η}wД uA,"b"c1y{! $E\v̞ UKOCʆCo45Vfb釚<-<K@tJCUL@ | JR {(4o+ >6? a*/8b((xhCAr&8"vA)h tTY9kgL-O:;ߍBaX.-p`]b ȆDAwƽa [j=n U^"=I-Az F^g3_If HVN6 a UPpp9S8 owhLoڿnd?ΩͲcG]ё,s|9}c*2Q'SK{XRWhYf56yqx!y =ݬATKqAb LL"iSELܛ26)ڄxS9 >+`!a^7op`+<)™MDXGL>t$,OҞh%㼘GFZpĘ:& |+yi6w+ƏI& qa'9ۄu1wLdX3ke4gwAUlߎ$₣L4n;|۬-(9N}GN|lpOsi>zq 7v&L$0\-*2 5P{n?Oo`Ĭ l͚zf%wCUӤBXrvRrw7^ ghrC, i~ϖ̷SI+%8U :.(cgwj$*dZ-")RYtk F1h9 0FD_˵h)IFSGvSZMP SL:Iii8'#- 7[sR2̶)X1M 0$"CQj?d!u|jT׻ L6J O Ҋ05'%qa%!wPEXWd 6=^gl)!fC)рQ7U,-gT_60 iyߛ|Fʽ8m *2 tƎ`SO6eq G xBn;ܚ}kHhz]<*lto%5s6t@WXnk 9qkEu<<x9Ws^1<2LxU0fM mrfL.Twv/ٙ鸟NP2IYw=Q%~Î2};Ivq9lzvَFUس&`M~6 ؃Z"'a˦}:OǠ o /L0_ai&m?O=ּ}k(a3ߕ~7j0O<" 7z&Iz3O V[YGJ-3݅*Ic폛Q 0 5 Smh;7RBlJbwM6Nܷ(#*2;U>_1 \&DNѮ7]:)ɐ̫wv ȗtF[kg8'VB.CgѦpGY!y-ξ[ٶmQ3 N`bPni18*[C6=|},Q9lmy; gY,!gvg]aBiЖ hq!Ǔ,'GO}2{-΂xz`_Nw< h n~Hl9f,n߀LޫR881Sxp 7d0Nld"HVW$tZTB=ɬJ9QUV.eÉKؐӍ[^qfB9mH"m" u80c;`ƚP`Ie&TQDa&`2 B3Y)TSD ۔#HD 'ߐ""I:z%FNQGZ 9b&]&aTИJfg1I q6. KIxc~SDtaǥk3b+ίn',_GΞlY1#S݌9w!jŎDŽa&4欉q -h= k<-Mv {.ʎ."+ xjVƀVy Rb~y>MP^ɲ@v!S!0'yE@u?hG@smfIw340ȩTv@?$vB?$%J|8H;aJ@{%NC|#݄BH ܩtAN??-?ܘ^k(1HuaM LPpv8m >#67lFљUUU^֣nFz./r=;UUUTUUUUUU05L~ (,UUTKh\CC #OaPwGΤVZp5!%_8FG;(>0k?Hܠ~>5(^ӈKǖѧ+G,R^Mzo4H}:|rr8':=p0:& ʱ0Lݢ ~Ii\~5jf!W9w:NǗ|%@CyS O̖C9E#?I3hBvq ;?~L)nL݁m(+)`9zEc((}W2ʉDzu֍Y3hK"xo~4rj|sHnzŒPobnN{):ŷzHȃ>' s`B7<\V'$I9+8elc BAxk-0vt ;` P!?DxzwTUlnk<۩co>|]TΚ ^4@0;0"%,gH˗S$ʕ2L/xK~-GFHhl%veq6U͠(x텶NFآrp\/Q&ݔX@N bPx0c ߿aB1GVpԪ.#ڳ|N%<7=u #'An`E4QE(s@OBqg26ؤ,@oZTfR*r4,o1h$z[֖#IK@="ǖun7dEM.ّ୸ϚQ{I7v\%/\@4mUM)EUUU%!A؂%M,Zzg44&,E@BUnq{e%O#$zH{, ,ŌNo0rRbǑ' F!044RG:0îoԖ`욨f雜/1e ԑT $,qڗube@w)LÃ('9팠O=tNi*r69J?kgv  K۾l. (.Tn0L-@ 9l|=;[/S BRQPƺ̦*3=VvjiI+C!t#iȰwL;7Smy`(3]AF=ſG 8cWɸfR墵V 5S?;[\R.|8H rxoEz6hy D[fQ/ϰw+YPǿud 3Ty. פv,9c$?@!HF^vmpy#'߭W[+xpRc_"x4p̘!^r+4 D~p?CER11 QGEj ;tu}2=H!eYrȸG4'K&ʭ%#@*e&+l֗l?b("!)F,VRځ;&+؍awEf˳(!MA5`SlJ`7Z"%KD %&xu]0ai#W´Nqk8I,9x9x3 3ArN;y2o QIX,PD^Aغ!s Vf!+D*S왳t7jÅ'&sz+D9~AN& ?ZJJ/,xbB sYY2S/͟m3o6=H]<:휕f`T6thjNJʁ<aZ FY nYϓ:F98N0$i)pVqoE<5NAzGBr|=f.>ke>?\__}ab|5JI2I$[Y=L0B^17|#c0.#δ0`,H%7v_4.=J8#ʋ+̸uwlw>XRsQ>Kb b-~k_HO ^Hrn}u7O]?I*9U]ּ^|PPw'xY)1w} vN3u/qA1a 5G89ˁ5nXdjM!+ܠ.ݭ m<9U`66666666E Cj<`(E6d2EPPPPɈ{Ad"v|4wc]ߐE~ oLP!ᱝ~(%pXȌSIʗ%l=a$A(*_ueL!MM?]YE<&;U& Hn .c4/ @rIe*$I%mLÓUavvc8qZT) Fa3gVmzarSv[xˣ=`fc XP2~0l<% QIe&Fa1P1^g%J;A񪆧arH|KIa“2]:e2kh!QV_,ۄ8#''WqĠQc49~g4TE@K}~?C<'7 ?- EL(?>ߑK!M%RQ愌sdH:@c`>=`@}ɈDIB0MZG< |&tm61b^,7*島^SUߋv`ys[>1٘@sw\+JD yf5FÅSDHX`M HY *}, V3UQ&~`OM"h2D@3'z z>ʚbHSp+ۢOW"+oP?"58808u?Z0a!a- R%FQPB()D"(&7nMa-"nW! @nҟ<@ +33Kww4+3#N~ /S~M}w>$db=&e?\Sl#p<~ *SȦ !D Wuw!\/76hsOGRpǖ3!ٛnh b{ a$I"GD"10>`a !nN-ڼ?RjrtJ:%[ob)#Q{B4ئKؾ gHq\DW"^oQΔ"D5Ҭ tūIMy(F@t:Xq}$;ߜ :@/>uK!0|a7.ZZ{8oIbl$(0s'~0ɹ?q={'Fr6=R0X8♲E%Ɣsc8t2jIS7bI  ^SOfqoT4WKIM4< do 1s5Pkccc a ꪁ雯SWA-3g4fg<#gkCei)wfSuwJ4R=eTq5ߟa+|Mh~"S{{Kgؗl@0 4_i9O63NfaBfXc}9 S[4 9(Cm4J t3U 1vzRj͚6͎ZYd6:S@ze\q9т:ec Hܟ8հ /f@& N_zzĴNqMbH%X,1HR AD")%(xP*6w{`/mjkL_3ےJp..vuMl IJTu~K|k8ΝFwg9֯:M=e1gYmkZ:5bG>@}tիva_ d1v:^ϸ =p`.}"JJW߇B>HV?x?'Xb0XhN֦BҁA@_ʞGybHv7xӚ%6Yc8D(Po CI .@ Ÿk  {aI F}&'51^!n"vGpȌupO%( 1MکNX(b5Qy-EY6G+lܙf7k6#92g%h@N0ͺB$A @1W<{t(o*oE束&Gმ:f]!tSsvd`x>[FӟZjG'Wձg 0DRAQ~OϡS2##57RچM:c#BD)JI,A~?d.aJ?#,UHBy=i؞T쌴A(M4ݶDŽOOpHTCĴ 667{WɨҸK0&& }ʑړ?D/_Ci|S;Ky&0MSff"`}l32[!{K;봔FN-i[aШŻ} Jcg\56-2 Wx'ZZܟ>C~O} gn-EEDYim"-@ i= |q1DDDDDDPEQQSES>|]i?a! ""iD9 :&B|`چD>cxF D<ŗxb\_:2/8?H>@V&5'[Q&G}j*HH!BVFBE?{A׻N:kW{1)8/ Or3L w*C̔-wMD:xibuXr?Ţ#xyd# D伺臄blISEm iIHDЩ رN%q!93KJ:54vBrբKX)?q&DxtO6D"@;ߤ#K 6 6zzA#BUG<- 'ޮ-c)I5coFt0c]U"U>=`%ncB, 5$BIU?3~/7g*J(vzjzz芛=N~?=.3信Ox;RUCBaA!I1wz>"q0O/T)BEPh"(`TF7?oqZD ꐬ1w} ux& (wJܒZ" Y&z 1qO,*[U&f~:,.XʀplxNAhJazl>cMV30s Ɠ W71j?L GIhl"6v1,@]P׿=INCT (RJdSzt}L֬\P&P8(0VN( FhAGOEw*P7t٫>^?4B&2<Bya񳟄F fS|΂GƦ#>o~,\wj„֭qsh4,~{`bG9( T CRLj,H;bɣE&:8Ϥَhp ϪLE -3F+)ҕ(cJ>8dAsy0TyLJ ց5d8?H`KAlXGpe:su__l:b9Y,gyn2P{&ٹr{/, 02 x@8ΤeƘD qĉkdzffǴ[|fh ޼UUTUQESMB 'cqpqQ=O@yxu='Q#fy hlqU>PLAXQFp6Ux5(Kҥr2qr2Xoϔ)2 XӉ`SjiF𪪮U]-'ICu憴|gˬަ [࠷I/640}Hz.]RB%aQy|x=lt0AE`ݠgi61- u)pH>! _)Vo"O@E"`;$㖗]YH2EkSP}AqK$82U>規2<';qs4}iC^QСӜ25r.w뻿w>tVG[BmlQbm,SqC;|Y06pvpc %f`ڋ5,oۿH4PβM?^< YT߸iӅv?N_=P[sJ ͮ36pnB@Wh=*a`bJaMsz3yijbجV*aww0C*ރ  hS{н)9 ( >„lrOT/kA`f)(XHJq(?~ۇ:̅0CBA7pzAl{ ->yG;Z3`&cqiBPޣQSs%#h >)x|Ig(>nS0g%7GGuqe 89C3// _H6g "J8|5UIܞ'e}|\_ݒϘ¾,\!L`B 9e|m&1Z: Qÿ!&ԥ! sSHsG)l{2fy| U27Mc+$^D_ܕ{y#Htt7ےxLmΝc!oV;\n3˕"GR p5xƆ)R @*J `rɘY H%Sy33ӗ!dϕӶ^8t8TLj HOk'$iƴP=rE:X =m8mVaop~l% weN 5`Cna8fpקQi&Jy`h׆2I y#Q7+v,];ĩl:4ؾ'C7a;qEaMd!0s o{oХwe#cOd[S3yx4eEY8ug?Sx;x [h0 qޣfh@dc`K!#`d1ayE#f&%!O5Oywf9<+M&,o1T͓G33J'yEiid;vXi˓qzbf1@C. 0['6f\ /cd`հc>}9eCFU`i|Pc+i DdQ8E"~q/>I$FK3 :g|b3"{73= ܒA3ӧIӡ:6lza9i/Vkņ =^XDdMiڛG`ALh3tefwɂ5"0u)d$$ ,  KsX⪰cd/x8?p0e_ Er"E$93J5vx ^3  9j*(0 ×UvG#y,OюPaYwUC]♠|!l!@([yo/=pb%6C9u%0<svk/,3a`\  1.C9ݺ]nS{臭!j_  F8Nhp06RNycLf΁#!_H۽n@܍7["UU]iɊ H?}1VϘ&V1,ȯ`+ݗp1~v-֧)^&LUSQ@ṗX3a<Ԇq'7fW`Ws 8''%s6Yh| ~h8$sWrE$ޝ\ pT N@ه,Ǩc#)dSDDܜ=)v&wCf sG=+{3uf9! &K˝ mPGdL _J$._? ?+8 z&n!-p!։߃46t9j:E/lwcS ȹ!ĎDAEXị4JX#.$}P'H4α5ק$.xy>0* I*Fh${ &`vc524f7|?҈MȥԮy9{ų/]\c} f8uTt*35mffcXnu{>ZP3GEL Y=K_qh>@{8Ⱦi=axV4Nv>Pʴ:@}p#H3paF*ףv̩ 6/ɳ 5p?7b#oRV2E9IO~WdAԉΛmUo> [΋2 tA@r -[0` Z{{hCaQ׆[ F_Zϥn\KűJ}:ezN?ˌjsK6IaEєfs#!$Ih[q4W$1,eyAN2q[e[ae [廒l $ʨ+|=y6|yST!f#)DdPHH@uda"%!9[P&@ TUPHXd :C]v,ABUaQAhvK}j.M '. 2/9 H*}Ѝ()d p8j!ި!'|5/4L0f4 q_@ܪ[kϘ%ՠ|x_H& !5`ZLSŒ-6ҧy(BO o _5xEVo7~USUv5urS_p y'pAړG}o1д0?OĀz7lElӢ%&h -Mn8f8RKqЖ|2 .v!-nDĠ}Ⱥdwf"s <+*&iŻ<5%hN`}?bJźzN%3 %lMƗg*΅>Ɛ$ޱ8h 3%E&+Noy)Q-klШgCw\꿏pC2I<Xn vZF$_a=0~۶֌ڪI/=\Ϗ33mVmr>O$ݸe*MqX*N$A˸;G{s?OМ0܉\ͅw kyAiOoD{pc o (E 0?{i,7Oz %zl8Wa͐Ru'%ݶm!?xܬ̵yT; lph?jZ`>DRnO?6L(@2)'U4` (GsVnNxڦS'1II'fߦ @5&f68FkHEO߾~)_IL?M}{gM'3LDD^8u[c] &|T6w.o9o&m?wۇmm}|0 nJBb%#y}ü%1E!\r|lpӅuDh {L$9LxE{uQ!we%lK7PGRtf D^(uc&]x=ῗj!35[@J0*}4ąqnp#$AYu#h>$P(4M^ɑЉ'L2A+G"*bE)62L:7|HP@I@ʭݡdmaNS)} ޖ=GgGtV3i6|tU$PȤ92dq}p݊(T Ǧgnqg*S"!ٳo<7[]t (9@i8{s'4/!T?}n4'M5|ޠG{oZ<4Ϗswi?634U9 gCg?)hSbшbk3鍉~!7t!R|s:zywUzLqP/r-fYiqͲ?x; P :řפy`}a<X1w v6ϞB&mMM c3WƔD72W۷ )z%k2/\?G˖JP,߆qY2XN^1{h_Oc5[Gq08}h ֫<#'X0=cYDؑtݺD'uKҁ wՉiͺ%sM1l~:>,X$sM:ȈA?KűTRB]^|5mUPwEFn3tfHt{Pd/\A^ e H.3d&6j4X7HN:3ofqēuAѭ3_96k,HY` cd0!Fv\ޚ1"A 'R}N9 yH=$GvW5z0,imH'qsEvMtվ]4ƙ9;dAӣߔLd3fHn萪Q8x#k(\B+l\Pk!-餅lO`\78@u)I#$E/p_" #BV># ƝѪj%nw61h)H"Տwb,&7'Ժ4!0|Z6+ǯJP3XNEq0Dga !so{v8~?Lw$Yڼvi_O<`Q*t#*Rcp3DH=> > ٔ mPS(bgNHhU< Ô8/U^liG b{䧏s t˦8ۣ5p/4]L {QMl}q4#]k)H&Š|9Mk6#5`nǾ !4GhcѻA2Jnb(vcVgBO !ykP!@3ށ ½Xp߉نstDŽg϶Ὑ#Plb{\=.I}ߚ%ӥMzt0V.(GdH@I88QL"DMx CdA (2FPߨVeژP*G&dhXh k"sLa\(H3$*"j H&%$b@n&E~ejJ* "& lje11R $A# Av I*@.n;Dd(s2\q\Bap< &*AԃtAPHJu U$e$`P$P"4:l:BDc4RLՖ=|SR+!)I5FR4KR?͢j43&;e D@}Lޞ8+?:LO{e̳E8#kG"Zxx9*Ftay,j8-tha7tR>8~&$9\u(pL P jOP0bB>a hG!upzs&}0QCλʩi({=hwSEiYA:>_|oF1|`ȇ?<9 puS}|JAQpv*꩙lA"1kuT?=jG35{8#೔~)mlD0Ɋ AB))P nho.N;DP8sU~>yBul IXCͨH44C<~~~ o-0Ƙs 98`&)9@ θhygdxXȚ(>fFtp|G"ǡϠdx@>[]Er{fTԅD0q=!N\4 D"8\ml%L¼:]9pS2"a2I9 0xAsr"2? MŝClz4#[!3zxJcX{x#"D>cc //Iz1;'?*Ryje":)0(ML&I'Nt:i24ސMh Mj&'N)~ IMA7SoNq:S I'2D䛓DD,L&ڝ&Μrl%'M2 Ԝƚ<)E~% &hN؟"H'"nN H:j?$$Al {sT@ Ta;&?? 8) Y6$lMdD4ߒjn?78?ؘʐy0?𠮟'he@qؘ!Rx%$r?yq'&N}?IwRAd%VmNC'ԍ h$&$Eԅ$1 D)ȞEU:?OVA4MTe%I$iQIY$DCn$)$);$!3E<QR'$H 'jc̊N`:W2;9dN,x~4J F ZET<ICG /rRaN)[`I@:ۈ Z +-/C 5D"G8OlR\@4td^_?HIw}WwUvY.‡RG$?󬉹"m8x VhZUD4I;HLJHiƔ _S  1LA7$5Nw>~< !:W DH$LI񗏚v'JDtH"s$W@"G#, +=0N ny!['0caZng즠pW; @S \ 7 yH Hw$)IR-@S9O$ V** UNYu҈dX?DiEл7A'[ӺBI$$wGHiE_j`=f |)w~ZxӒDA &Sՠ 3Ӎ&xB H'bIBqT9߾oHrnWI$bj'HXf'JD7 Dh<@($~(~hOVm/H-9ޤ2Z1bqv agw}WgAk/ @ya|BOQ_on%K~rb\D+BsZܚ&tD&LyuAlKF IʓK!E5upVl7DGA1K V|7;@d ;l K{2lBW0 9LGvx䭦dITeg"B =ْR= 6<9CG†4áh@J$iHl$(A>ta˜r#wPBhDH~ $M`aThv2":&@rmM%`C` 7 ^9a;D0Cο`{p3)NݑK&@ օ\~H6A.A)!Zoٶf)qNNs M B}0!I$pI#ǛS~>(B(fBM ƧQX;m<=g>SpE,, 0t@eS02&-(jz@Y"HXC}$`MhGS")x?ҿሟqw__x ';Ml>bM?FFӳg5JE`83읱@&J̉KQ+OG| ( *&Z!$[\'|O9sxy6@Oqm 8ܕ[wݛn! 3:)9$zhq D#6F'YY[jrs`ح8_]1eSQUURO/-پx; UOQ=zq):OsyuaO)oDvw#0gt(^b&ћLIIIHmECmy&dgzRs \D)[^^DYfjRpI;ȟ8&2 JA7\Q)RG@Z:sL!Hy߮3tAۭ)"r6 "hhAFZZ͘r `|;'yy$MjV xLSJ8q>4ʁBqGI>$I$N_ QID*R#`p|@zi0gIü,'ʃ;<ʹ #9F kFur1,Bб,q缎6Mɠ-aȴ(XXj}1 6k0p#u,D(2bs9ÀvQ[+AyOH3_s+fai|ԯDv6סZ6"y/5?:>x 9v|JWf I𤘘I$8i> )Vj aT %7|P8DMS$ĕĒI7lOxHDF/С z7L^^DQQV[D-b'͐=, ֱ|Z&%"xUUYRjr4ʪ *7LwM7 42L6DNFErWHpSI1*1\ 5 ^Z8!(ڄ?}, !a,U£Dj$KKJMR%+h'ND.SaUSrtvR$NsQ!OGK9O:BmHkȝbhq L aB4"wQ((#BJga[p (x:y[>zi_2 ~kH@=$DR`#A* ▕fOX`sIe00q$`'?v韟;?y $*о-Q'Gji'$>P*+J_~ O @ާpNI$*  ) RjJ!;ӥ:3 诤^!fsvL H`XNb/+=J=o Db=|`|Mň>6'HTPW^@/x! F},:KPRWO?O: 6EQEDTMQTU4S_d=M/Lf\% v9 Bڤ:ч=s]tСQ,i10b 1,| oC-^ U^zypCbN2LXm07SyL4W#eͰQ'#B8|pmXpF e914bgǨY7EQ_ɢ`cD~lB T:%@D =B@D񫻺0 E'S9&BKHPA<e R%Pr̹؈݌FmAKH A" R@gla:HHw g)06tI ̅`:tV#pLC*BD)8bXdFAtD™C ca V6ԝ(YHBiT760fTYܘ9p3\`&դ C{ 8ΚkL2\33wDԕɹ*Zad1UUUr2bV "ܤ0P!XIߊhrPԄ(pH{: vM HR"^%Ca8ɉR8p 96\}mf} H @A39+.HDMk8u=U 0$V{$-#[Ol/"A4H-7%% AZPts؟V̡K JR QEUl*A1WǞ .qѩQF槉BQFeOϜ >e_c=`$!`2kuj~5%! Hx:C&<^Y$LgErQE6|hO)D'͕$%B݋mWMj=9opMwMQ`T#HB{;' SnCpbp+Hc@-'7w6E[+˺`y (8DDH IF0;ɉ I7'jH4dF&A!Qeu9. Jv.ʑ7]( $ 'H,pwm& ~B8eu9*~f++qsbUAL6$lʪɒ컻 li14Ƙ̆1Fff! bJ)c}-iN7 Hn@g%v`Gb:,ȬKoMDBD5pDRD}v7iLAZAiW܆6Ye9@|ˈiaf0h, '竃DNBBtЛ&URjh*?I&pDnyj gu|ԡ'}@ǬHBHR,1&,e@=L;+wh=Rw ؟jWN "DA:D hΠh*Aj0Aj30dÃDh02(0yI Yd%8(JR)p9Id% (J3l)DӾ*EHj*Ӻ!/m9gr&8eC|]E+w >T)r|9hY ,a | B`CZ+\3H]=!#u0`": S$HI%b<)J=dڠz"pP|֢;rDn@JڋW %@&?eP`RD0t=L*QJjĂnH)HOwvc;s18OY,4߲:)@}zS" xL-BU!w9B>]H()ZR&&"DrZd$H]2^~ʽ 4Y $W,;Jd$̥X $R0ʘqz4Gg-P]߹%)D NT"q>4ylUTP (!safi*(H)$tp*#.+pvP `;촉$#`!~=:Gl1Rq1&I h;y x u(Ԭu#gA009DHF=$c ,dm /IʦWTM 0KJS7GżCzDޘS=$I$I$rrʫ1/C8>I%D_O=D4K)R+`1__iҚjkؘOQ!=H'/nGq#.&aI&DsN^)/L]O'ʞSe1?hN'E$  I* "A8oXpx= `RĀwVXajt'8Z&R )Mt/MDMzss%= CP@($'# *>0E)J,!W:Q:*$("*"d! B a)!Vn7'ROKҘ4{Q dVE3`bAGǢE -!/#TK4^ķƫj m!#ve!J/$v!u?>ro((w~х;d%r$M)2) )"E~dhY.#8+@8Gd]%RiwMD ]mm ])ﹲwV; &&$ࣀ! H'E:1]=tObs&'"1^[UꊬASQ)iB)IјmD ^Z0Bx?k2N#w$IZ2ѽGPMp?`=`O /@:#T@ P()>0""gJKDrpSaZ7a# &= uة2{Hn @Wlg~ҕ9 H$D&)< N͂8UԆj8 GD=R ?RxF"fUruߪ9 TO6Y,^o2L2B `Q+((d6am@\w3$,B@ Щ'qE+J"" KJY7QjIl x n, ILU$15nD*,eS 8'LLNa *eBR4w2.3%e(,( "p4W!fj,7D1&? @}E VCG1-H1̪ $>_z=,&%&]2o."R RP&#G()M]2gTu}wBCx-HARĶr@=^m&C7hM9MC*:A]Ig 6JB"wrAya$E0u(Cyv '㄃8 МߘgID0 S Ѓ\1z@<$ip|.$껿;~ԑ+G;!\vL(F!94ь:7ddOxA,SPK=0'> H&)ޟe8&ޝyXDA%9WH*;2p{ 2Kb6h}܆f0 HV0H8!xd"UE ])"# *J#Qrt<閽2 ${Zt7T(jWˑ@Pٞ l- d=# !tx. 0|sB6tPP25>B@7UE%TAM+8%DM[-0x#b)TLgTN"joMN&jt:5)5$RLOp>3 2sN úCz&TRl$X!P$+B¦` E C‘H'H@I:1bfM4k"O(T&0fT@7ʵgUIiԑ/ U1)"o teU#AB1WLI LB)&'&&!Q,GOPU0^pr?)FC(YfDM(_ŠpGO.HӜH>"!Qq0,;h^ !9oDHԽC@aCĺqR6@ @EFZd+=ha@!sH"DH$D KN (|` ڢlf%j NU GA?i294GOQRC:|*K&2JRI7nV&L̓΃Їqx5gMςa(p80_#8*?NwwvxbTd2H2B5O 6P +h?d|*&"S 'D"S\nڙ_V_/CpAO $̔H~seРu>~P* @ |)()/43XߺSSF!C~b_sYafJ,aAw3}Wn bl^2\Ki{.ۇJ*VW6@8Z ;_3S!>G5s,v{W7")Q߃'@6/35ц"W796%5=a"exתyh }!zS cKFHiAΑ^mBbcY@B╛*b-[,Lr׮u߃~ G: -*~$-FaJ(.l1RY){ [g+ sM_COђJ’vp>0j1M’??'OxMI?(' WI"T_$bI" P?3h2B$ĒI_[s_'Wb(jſG ojY\hhzM7\SGh >! ww'e >f:~Mjh is;n@OU/qqrP4Df c͟s:s0ΙKt2yh/^;P̑wqM~F|89m6a׿}NAE!_ڀ&BQ`!׳wQ┲{<~6m|ee?oMfZ ?U,).Yf?C[txܿ{t[Tɚu,4}xTl}8!L?_1zk8:h%!j'TQAwCW0B[X^6)tlzcx֏SO> TwV|#ru~gL54W |10,?9L8'u%WXMOЏg{Ed?{)!z뽨cAG]t NJ/h5I}~i̾i3iŘ]C 3  ?ffJ7dsd#YXգĴ{>NpRZk蓡S[ 1,ڢP$ .TJGcQHd|^O#Sŋ373fL,)*JjVvow|pבLX;; .wMUR5MvXbnPn3{!=KMq0@P`QBTl&m[^:giB`R0NL(RK(Udٱ@6>zE!d8.R|dًТ`st<ġJPL;p[U X]N,)4oT%|r9v H3ґ3(A##9ׅUt %>v6nDŽ`~c}C/҇1T x#<c1AM0u[QdˌOPAA`T0ߊ2{(Ʒwȯ5ZNMLPuđ^k0БB)Z#33aÁJDK0lceID1 eg%h#R>=rj-dn@*'pD},B(@ZˣM0J@29)`X@t*PKG{ZT?&8#چ!s 8xGA/#0gG? xD*&ڈiS ȦOʇ"' ?m0r'B&\A>H@GUS^ G#Z9d|!F(k22j>>A:lqz$$$A#4p>~i-Zb9gVД3AP59drsJ\}CҝBD^ P"z:xDAUC&OdπԐ3[d-E"Z=;}^oMs%3Ț?Q@, 37aS,H7lI A}D gYO$NJEpO4O):8u}۞12-AJ-HPDgVs'x+̂>tOS*y8;PӉ% pW4ՙ}U _G ab ! Nl9‚i&N nn ;4I,jI0``GGc#%|a_:*`WtD9"x790'`)!A #/7/)y(’ ^@Ժ#or'|`$&)F&(z;{vЬrw%8@yG֫]u6hϡYgl8;f^S.$+kFWO[t1|1HI5 l @BzDLKL&m---\2uO//'8Ds@P6ppȠoG;Cs$$8'z`eHZ@`fh&!6Gdaqތ(-)0}T$WHICRK#OA @@d2'$$e|&Zد (YJB v?QA0$|Efd"ț-)EP64!ZnXJ1 tV&*"nxJ%$݈HCPl~!3 x4׀yajRSڍsL"NtޛI<9֣ l^b!hd;ONlmpőyGASөPisoګLPK 0ʈo6q?I)$ X}pAqw[&0X נ(( ܁ D`&a9G1u*$;ݭkIzk@9A*Un4JOe8TnM 1ZS1f}nP:XU3t7P6k@Yr2U:FZiDM `ithQ>Tp C` ˠDb%:{pX!޺qHc[)Hb[qAV&zd;;#$s쥭ʒԊX'm3 ,vZ$%6]U0q"F:'wM  &\LE8R950`[ Hs7L)3P֘Gy=HS]Yv {o B`Zi%e+sK(Q֌,΁Ywj"th KNTWd5LpNY~^A^e©7$Ha H||ٵTFqCn۷EQ1Qqln*u򙢢t3͡ MAcp' N+CFdL "(NWlF$; tAd*IhpڠK!]P0\ml3`{vA v| 40 CI'+uӄkeŸ%4f)ϟ`hƛA>?b/Bd>ʼnV ]j6@MJV"]%Zqy%' jH@C0 ߆J:q?__o_m&Ez I@G( x22q8Ls `"@ &>:NàgQq4(Ay0D/^px< #$RCJ<~2$ 2Ll5mm#b@f D/{݆"}{wAvq;m ; Ϙ(4R"bB<TPU%yo>`"q $9nba0ϛ>*&+Bi&?%L;D0; BuPp)S%1@ RUa)VGĂ~'ȒI$I:4MI$I> J?SC㸟0L*ʔd,ʍ+, B @![ħ< @8D{#uG_U{INJ\A N,W0K2Zuy0H+@HI$2@1~ 99Bw(pmViC Itb8dݠ#L!L}v辯`*3  I~: 2 b4'{ }rq%) $LI ,@J߼S-H7?f$!eP^sn#΂B%}_ wGdH>{!Հ $VH )8$wؚ$KL)L 4]9ι Zb)F#.=ɭ2o6STr$)7J͉jtz|ai@8 HI)0=(hH/:Jf*+ЪP c꘮141S&H(XuuR'F&&!V jRI!fU+I^P_bz:KgAcXl8ݻ8\At!a/J3B.=ȧ4w#􈈒$ 3naf)=P VA>E<lG&nCb5ijOkC9ޤBHO"~bG$zWfa줱fHdOyNJ ;`Rd+HF# |tX}@7|D$3pYOڵv&|&P`d0?;i*QyvbcsU]t$׳^۷no}NMeY M8,EVZ]uJkKrGR ~}~c3yU CO3MMW}6Π'ז}{6ٳmG}%!$`}t|b`G0=nc8!$I!선-*"5?L%?|}?) a ;l򊚸WZmoyh[śSovox|Y = D,b!C4BEK$M:F!!Q@dUsέy@`Dx(wA^+poa=IgCDDDDqRNjm*h 'II@=)A݅Rr9eP( R%E(@N:Qd$HA2Fd#Eb.ƒmO\&\(6]"BgfQ#nz>."':A3QVV EF x kwٗJ!#FfnC3'|5'L8<uޟ10^"tG<RIx}(Rpm<@2S:!L> h^-'C;W(I {aBA-&7IG1棌&? 7Px$4U7/mlw'pBUut8eK~bRUaYm4اq#l?tϠ̓gF ih&@3a6Xj4MoPAPBA(c5g,oL dgn0$4 m)^;cF&KDuMSX2 0.AnzEzMۅCAAzջ /Aժ^8<5_S)>鸞BI $I'SDԒI$O&$$PO|5 q@n OӤH*:O(!JIh?Jx$NI~u)m5R<=GQɢ H0&/圙VCY8E:G0F$-1' DI(Pi_8dQnrbF;tS2@lrV>z(2@XxRY Zw)!<ʡҪW >4f&QB-sŁ`I'W :D ZoO@„lj".ү}xJA3bi@ OkDd8?>5OMzEyi5.a[&*"Jt6/(((h ?fIu ͧ\I$ 4̒Qd *Y4; t]'HTࡦII)G&p4yU"( H D`Ī}OUJ~H2elUWs 6@tv'^wS %$ILJ0 [ĵ|ş#'ׂ{5e~r2w'OR@UMBl r$bR$Ck1$q %&&~y ` TԘP?=T7P8 @R?@R$hQda z'ŒıHI>5uT2I2Ҥ <0I#S{ qxQ9kIPPfF' y h&00a#( ! expڱ*`|H<ߡ"S6:6LIG+35Ula]3wZٴ K 3NFfwXWw7]a&ĒI|]M"'L.?u0D-"Ԑ`I I$Y!111$$&vmn|ڟ EOQ SByhpz>H\.%IEDDDDDq8BnaA:ۍJJKL!B|X\!baGā Eq. qp8?@] 6.5p~,JނZ S ?a"Ѳd\هUSyq,zdG[;+جV9 -۫kmbXVXlsF%4220_cb@o 1H"Dnj$`E@}=Nq}|}Q2dB6V%0 ,vX #M]:Z)/颇J&"P $d)@ U(aD{|bQQN0Dx :ta!h@_9=-DTuݵڇ *;dto]UP`0 :5F Wa ?8bD?` խ;MtQhN(a ]#\i)u|CD.A1ӌ4;jшYd dw'l:4R:iqDL:BDf?˯ Gv &r T&Hp;"sWP)0J`n9g@]i9E9k[DYKmːF|e|Mߜ3MO0MG-1ttZ;3 D"8h@5DT-|BA tVĈӥ `Lp!s |̆Щ@iuPǔC.*M ) Lz) $^f8n&dm u!WO9+!;[Gn61 511ip^Q18rBwmVщ'ɢfhj` :ΦL ' $ W::9ybIm(7siVE] 4ch4ª/҇&_l)N&C0 i&0%> \Tyզvzᄏ3 6( d4BI"D_IZLY-ŎSI2@dߎ$ Qa@@`:92KG 0"& u! ^ E!HA1tQ]$J@j@3r`a*K+K9vAF% A$i-C.s*P3+QЌ5Ay%¿G x]'>q3ӂtMIiܛd"i,0lq$PC5G">h8jjM'J7=I>ҧ=:- Fii^.L[2 /) d$ RZaAc IPo/A&$:pNvdC7}PF AxF♱<"p>-DŴS=SI>U_ps0s0s0pªSq9t+i-28b: ;:S;vLpv"dNtM?iC\ B" /lz(=0}_GX>dF ßNE>&#Q HYSrH($I'ڡ`y#h= Ir+F?y^b]NG18G$`z8<~Ewootޭi9r]$6w-=4qR'ĸL|*<m!¿dIE-`#;CSDDy0zwVx Āt'ؐInV$~w_UPB-0w3؆W_~AIpJ>_ʑM? U@;׌}" iSwϜd~/y g*Bn,`PoڋJQĨc/1WBaѭ5ÒGmJ,LgL l@Dg201kt'7{r bD(VW/ ߀ߍ-# 19\ O( x: R kn6hXVN_An4JoI,`2J0<@8tyo#-4N b81\$RᝀKo&%q#Rt߂f㡁#bPo(D?ax;d f!55+fˎb([+_fۈjc`xV&V(9 $^*XǨc A 3]1s!JT]Rʐ(WZTC {| mҧnCd ndp0..X&jp(WBL8rDHqZ_l(䥨2 LЩZ"g ;`JV11X6ɛB0jG2RXK{:48y8Bn ܜ^d$'!08d{z{C ,w1}١wYCfv1Cu'q0|M2~ GO$vH,b 8hEb =@X(a rR&/-#cR:"Qt+]]bFc ֌AqU ][띶Ed] Gd|NH ]$zJ >}K*E2L)5榉Ȑ] E GI( ^hK7{vhdGO}Ӵg05PEՁRP`-"Al635LMNjJqAd4k GA{CA@` @RC=Hn5۔N"yΊ L #|DHBo 6ێA*K3EU9 @x'mNqzR9ܑnK]v!Q,Wr(I*5: XJehLCrc+4yg ܲ3"hÊxH%)J s[P7l/NBnp@4N:XZ`Nn]Ì$xbU{ s( JyE/]r΂6]`&,9  ̊q`HQWiΩT&4=F&, r 6yM8!"+J4j [dCX>mu_bA15&jqAS`5(iwmva˥<5EۥyN8 H@i(j4$#z8b('eP0L$ k D0 Ҿ%8 , F D?ã^J 5yq0sNiӚuV.x7!@EdOJĞDcȍ _>'>Wт5?S>'𣠐Lm[6t4 L+ؤ$I%4 L %dL jJ*6+ &PH(x8,w"6U>Dm80%䡦&#1'$1% AD0 dElf! &ȫ,3NJ٥~s`%m2́E#mJ1 H ~#z*!(FYt%^ 哶gs0}ջk&1&H|t6C*97Zb2iifd'fEʵ}agGd3| 4'{VFܒ+ ,Ԥn)gdxehۍ(lEY[1Ch]n){gЃ9ʁt-A'+&l-wwl;P$Gx&r ij#[Iu,% &$60Bߣղ3K1Nd 51"bg/ vR&dCE$NQᔰ&yF]>`rcT>ԭfaz}I$0 R ñw& )RDIII 'D&UXyINwȰX$Bŧ:##Y..Cc@}<L2"Hp$h{M l jwA`@)D U#$:@@BRQQr I9N=dx8$~~ww;T򔔞=P'.󓬪b>g7Bblm*(yCdDT#=񛮌@:4΍҆*AHD(hE!kd|f88~]PvAxG~qOBH@O8w a %H A j PkwZLa05s85+ش !SrC0.,hbY,X` "c"jlQSr$-`",֭F@3Ga"RqEO(*t i4vQ#\v2> sHH|gw% y14:TpD[MT7M,h_vǹⱊ׀t1hH1-% hPCG ! `!=H:hu':TȯTA@,q NH iYdol3`3=R/a(!C8Hb H%`H"A T!@ȗU9+5II f0b<%B+@{6ί{$}k3>ES(gy xFI13"}Z}۠m2I C{Hbao^ĩz.k!tr] Q=Hܿ~U#DfD77/Iu&z#i%-WqqC圊FfȒorbmϞ8Єg>Guؤ܇HGx?Ha%fV p#i< q0qgMa -6o7:>!ƻh:%0}TeLjHKҎG]m73]2 `W.=눁BTsyr[ 2S$L@2y׮Nx7%R`m 6RÊ)Pߕ<y>Y^v{S'z~(| JRgK|?j ㆕o7*YB@$`Pbq`zHOFaUi-*u s`Zfd$ C$ _ ;x&# j t=QidBWzRVhGpH;ă(ij~}沕^pR1xC,hOpKDjyYۘP%0+"O)$$ xJnGQ wOe$ :'H;T$&bL H11424ZqK*H* H%,_bp- 6u>:{ uDOH%P -rv'|8ām^&ZF l !NHה"}P)@E,~2RL* E-BdRXPd @H!` lI@ą$1S)&!P oH5O !T=z /{)Ʉf!1T2H&@WtQ>6>/WmrFq.Q!n{6(*E V8Zh,L$ec73Sud hв>p %9@ ܈ ԓ^*mx;*g`n1" a$x`㇆qNqI'GE_HrD%W@$IRA+q[E,]SJY%1Ct6So k0) =l~ -[! ~J67sD`akE=tEu(00d+['SZMlŐe ɪ[zsrY2^8P0`jLPea8 `}a9M_X֔q(# \WiI-IU'L2[DJZ6tJh\]$u/́=⿡e ?^Od6P4f+H9 w` 6fD>s\mNw8K'IYDrB v*%\MILY$ * A-e-gyr2`] &GPb:x7Sǰ MVMCJcQJ>z05 P  $QY:rU+KPb,{<9ǿE$v C9$'OנXS9t&aTku((3֔WOeڀB$Fwa;škڳ6ꈊ%M1t̙ *4qm* {'AWpp$ f&(}H$wuOv f$LAfa1H$Ӯ$`"'~P|2O ^')b Bj#7;wF@bhELTJ4YAHA)vdIƇ+2J&,DK$eJ0Evvޜu4QnݶrXh-9)K bpxQAZ=Q(wL%40PN5æI(#ӽdf,DMD:sNW|Z#B2-NP%9u>$#uO^΄V$PcIi;Tmyxȁ  LN`I8PDB 'K䴙xpjHf АJ-* xq$M ) sUUUUE+****(+3,,m~߉UmET[mVEQ-NS~P@r׊xFRV׷UTW Jᙊ̻?Dl ~__a 4h4ü D>v%RDh0Zp ;cD ]O0j*H]3ցLQW 6t6lhWHmO#s nDhM V@/#k+B`$H ΝTw~&'ovm7t&_Dh/(U Od`' yP45H=^aib %%_ `p%`d=o 29Hsʲe(T㊰?8V/gRdz4iĈ@"t_yϟrgXm[g`tp>|H"$&@5'`5Ԓa8zvRyawzAh!@+^_Ts_)Z}_犋l'|Ȁq&_?rcHr,"0зډY bb.Z02" fu̓bp0^C8# RQAHCcRp1'Jn@@:/Νfa!@p͙C];63McaDLE_̯F|QUDav35gXE{mS,EmIcVӮ;354tS;6 92-oNy⨺^ђpQtN0~]nI RRLHKP !K (xBh '󸚇g=$p$U 4dH̒HY>d9' D9WS0I8{ĂbRN#4 $iv?oQ^$ʪ fRf˪2)&*d"2I hz` ?PaXg` " s˫: 5qFX6*PB'߲B<` KB$-)@A$2IT@I$Rhh+' ׋DXuN JCF i$I$$ܨyI0?x @ 3 MD$YXJ&(%w{}2*c"N`E@?@>$ @>SЇVjaa|b2@'LLoX ZUa7i1 B0]gRއ 傘IKBA88S 0stS|c0 Q( F~tlD20-Y*)[ ClD/%B`lR`dّދ8h-82A#pʄH&b&  ècUL:)m7+0&liZu$Xgqm"xA @-0D%#A%1GK uƆD5fJI |3 DZs9 lVQsDkBi[ ,hY%BP7a n`*`E,5[E 2=S6Er8a!( 'g)Z$N^l "PI% a!+p, h HP\qtP2WwUqrPә``T܋HM 99G3hǣK{CAN3Ix-6^][0v]J F %bh4*DhD&4 !hX { tHu>lOO힢0C֏D&.b@CV6:0^k-.D8H~x,H!Y3=MMPWxDta24(, fT)FIE `1d=ᴼ{+$1 !1eKbp7hXSǍ5 13]-u)f*n뛰vKEi';~GgY[Œ F1Kz#)4F2H>*/NEB$&"D 7J'0Mv"E7U6 !{yRd9{TGO .626м؟u;f.s3SEa!OQ]]CEf`TIA4Rϔw\y92.4f6Paћ֊Ef,csd[c<;c\K2ѾcK!lVjUܪZF@.) >gqs8d!BDs["βoۈ& Ăn (Q@ _tFyDž_R V$b(>DBrSP "`1f +@8hba ).8a P8J@#BIJ$K#ҔAK0U4Pd"!05⣧)(`AKe*yʝIB1 ^Hdw6" !CaM_#H@(IVQ&L7bMA!!UTCWFi [R)eb#(  iu$v"P+ڜ SjRJy)pHР_z/9mxgX0{w*è@98[8`Nz{[1%4SUUEQe$}qp݂a_LȘmӖ2e'Z],G{m ùbgq^@F헕,NQE8> pJT[U)y6JfJZ(gIԔa B1`S櫩`Џ(z{(W֛P)ԝ H43bXC(3Q R]U+Ve؄l qnC\H/ +A?J:!m I'_h.l*f߆C>(iۻ'4jDa,A9I(DB( T钆4P&!Sw~b iw)Ey!hhMċU܎Rnw1nb=ߤ뢹 ㉣B<"εRkI&tF-$[ο](t-!5p,Fԭ J;>7"DS:XF! gF3ZU| :g(&z[1LCCx>7ġ|Z8Q3):pUqQnvq3(4tDo-kv0Yi@Fi^GasHyxHi_)ɂyzsOO9IN l(f ąc3HhA/>!{/ٔr=bD!$<*@'j چI+/PR@(JE={@w:ZDbv(,,. jb|p+S!q"HL LI$ * 4dD8 vI!{HRJD #R0CPU(J3a)u@'OSytaaa ֆ' 2N$i0р֮.(`=HIAMS'UW#tو_T0\4 v POހ&4hd6FUUjc˹GQdslȤxP!eHs?g|\sdyIԋ]4~)#0>ɦa#؄SPD `R}Gmp 4N'߿>(R>S,3FV2E))"ZfD"U g!h*IUeJ@hHZU bPeJP` PT"&IbD ":)=L&A> %WP*|Ez /L=>y?3L 5Cπ2! C"M),1 T$(H LDJ  K#T HPTyH=S0435>0w%BoB\S)8Nm{CxЉ%SH2EȤ@H{I*SpȊc]4J] HD)y7F~DPf!Z vh.V~#ʦDh$r+PFUp%LDP`T:fruOo;Ph* 5`N iv$~>hҠt)E;wCQDc~ h;:CC!ޓ|Åڮ/񬮡W {䎷 f~BJګɔ?Fs r7Z&6ICMI+jIv(P\cdUG%"$ENvuC$ohs~JxJ !r/_؎Xt ԘПEp6^*29I"u6'c'sd@*Z~PlDw6ܦ[;93AHp  w"X -#D3bh `s H'FCuOKX rhfbBBFGe DL==5%%C偫]E쇝 ĄOD?)ЋtMD#Øas#xm`h=@1#!0C#s'-M~)gq'II]c@D$jDF "j6^+g$$N& @j9I8G`<\'`BD$tHE`%''@.:QĽ1\>qnn1Q8UE/\1 abK$iICiUrĒ`pMD/۹)d /jA;z Fƽ!72H$|B̥ %2Ilāy>hޒ/!Ȼ$A7w89`S d$8,&DuiE v!DI'ɄC= @p-) (VY~I3Z,~c\0`NY'_!L ,ŠHFw?%43$4$T d0'*8-, 9;&Obp>DP`$FwO ND4CP!$BH#2Z}@E߱XYaKgԯP:TCuAd)n$m]Ű&<bqPX!6Ʈ UFbn8RdC )"zTPւ 0fXx\PT~LI<ݏ॰dti"SyBcIߩ4rpDQl8Dtvuf5Baj0 ;a6]hn2^@yKC #C@@GDuNDWTPCyJ !Z&&ı_֚wDXgetL;*f{܈^`Н |@;_'He-0D|)u$好;ɛY!10LI6AN`O';@}jL @Q0>(:QҖ%= PX2r=؃₊Hctڹ%Q+у>GLO>V4)IOOy,}kb$@( 뎈d;I"#xZDK1 %1' Ĉ`($f /S冷  B*P1u$WR<i!G ; ]d{ILnBD H5$77XssԒ({I %t (! QBUK *[HB dKpP"jXu 8h&R|#JA\K8o2 Q!ǒWSrN?P {ORy | %H,$$*'!{q!M0T$WTjh;^aH/8l+7bA0 (6a&||ˁ6L⩨d Q:#a+`P0;5mB(aHtM:UXYP]GR~W?^4gGHJvа4XyH-(Y#E R F ]RW/92oU@;sW@EC?>|UbP`x @ySD5M@NA7xk>ٴ@ JJ*6$D$U @ 7`B Pt̙Bp׈/ K,%.{EБgI@ځ5#6csh Mp2X`!i< )2QfUǚӇF! 0;]!'ʚFU@į&m$/w'$_+G(LީAK goGDɅ Pa؞% ݅(x'4+$4P3 X K%# <9G!|dK-%_Ajiy`K\FYJ͹n,,1`aX0!x oMb6.D%7M 0a6QA)Qg5sm :WpFټ3z SaK5ȼhN㸑^$HF BŨ"".բ 4nw/k1B#d1hVԭ&QնM&4t2d7SyDa(t2,2;& q!sg V0 *)2H$Ċp.g30 e6+p6HnAB!؅-=шnar7wK CF@ o™H "hd /Î_)Rj]$LHLN ]G!% :f@XdC `238Q:ؤ%[v8nP994&<" Gˆ- BȖ4]JV4B4Th `R$/ae4IWVU /FdY ~@z3AmLL Tu"JII@;M$-ኣ'[Uh~*T`Zy'JDO%+"H@tgppO+̻:퀚B߁Mm$h bDHE/j']l$|UN,F"*0@U!DL*騞و&Y1uoyeY-ZFcx̴j&{v,^;bǰdhE&ɎЍ ٔ'lɣdcb"H/hcHEJ?l|`DOQDIE]"}ĺbhs/pgGADI']ħ$:jPwP0{ŜÓ/#dSH(mF!FH(ĚG}k lH3UbW 6ukFfcsL{<ĵJINڮbhQ >mA0*J,V hX4@Ju!XssO)4^BX+ԚJr"l'5^Pj bAMLhj` 2R8T.VЈR !MY˝7 OUՂVDDCP =Q&g9s' =3A POjJ$;!Ϻ0`?ͦLf!& 0S@*%&_B&:pbRCHҌ@x6+ %)+O U"QO;Z;=4EQN.k0:\A8 &N1!H>$w3BچC2ŀbO+R~('>c)ޓ) #2>I$8n'h yPb*حL|<7nz!%%D BDd^7o;DvJdd1*DD`L*bCJA )24J@Q21#B* 3Cݸ; KJ # HPcj9”'E-?!!rAx# '2 8-}*aEJvQ4H(t+4{E܂ l؃ RMJT1إBKI"LIb o1Pi@)B&s ja!J's]!26B{&1H 0#d 4șff5<55RPLHT!aP5L\H``$;%A&!gG0znz~lpڷ]%!ۭ.ɩKwJBHpL lH,vcK27A`"4{=؍iGFVe򀥤tCVskø(D+P] 1l:8i0"vl *Lq L)<|ti]s0!ǁmUUEV^C9|OruWyԮe|"Oܝ(Ą !( ЀWo=bv7؋i %p a=;hccݰ#xT}-xsF$Q% k?"ld?5ˆ|y [<ɁS0$1y  N z8, (mH Sk)  A\JH% ?@?b_aP&K THpQ4aL`g÷HZ~sޗca$U|ҰjBrbv! h\"|p@!!SQ!R0ε/=πO)@s!}KmB /삄ee%EX$R"G;{; znrDO`$bOaŽx*J6GŵDTd*i+nD=DI&!ZP{pP:lBDB X)@AJR*Jb@J(PRJ bNݰ% $Re$m/TfD2t>:!ڄ; <T{` @)ВR-+zdz= ZC"tt1C!7{B€w|, W<}SF!9=fɅ?UY,|o$朗 @Xq̑&}>S腊UE1㝿1yH!"XP_q産賸o#, ='ED"hdH Tv-H(H(8~`$T?z0B.@#ICH%$74IO)rth:'ÓJ4V`crAy,&D2;}yĥFj/ø~:G.;NA0CС R(,9 I])_?a!NN"c],35 Ըd(M>\(.BnuvB/wGD001(EQFLdԁ$H"(Y88Yz HiF$ PO;"`#b I:@,Tq1`RLAdUC Rb4B22*A  (L.&8V% \S" %CRC@'ivAF ~>  hҠoaq$*@=i~e((:'C%Z%88I]4(٨|y^ &% vmnE$u{&{>xt"Y)` 'jЈeRރ'wlB(]( FT@ؘa1BHѱ{ ͠M1)!,Ө"Ҁ!CV=`N[ ,:A-*7KWp\X< K/$ yLы.dfn*9),9%6vm9)3ӜiiH=@>I{+D=[6x%+> Kţ8dLS`lVf $qO|#!aȂ#.Oy!W 7i"x<@`^hE7JEh%y._Eꙶ-n[ @nEm?l7#@²elZh# 4ovll㎼Gpxiiu!JBu4Q[x|˹ :Q0*hP)UHN+RU:0al hFsF没d OT^4̸/#6D*Mƛe\may;CRSya:3$$|_|_k<3W* lHC|(=&MRWLI3 }T89z!zsSpIp9%T&0~)9ca9/߃djHTp T4J@ *$   90 $I @ Fmz8>.Rg('nDc>ADP! ,V(@"X>YG/X (luAjV䚌AFhb\:u`EȀʵ5͵ZDЀȒƠhj@@ ^Lp˚iG^vj4 +;c< p؎b%&$daFQdPa(ѥ,4Kcaˎa8&$g݆"V!@PXiZ#JQJ)Ґu 4XIu6l0JL' a9<% p3n)L'VCh\-hTX 59\<3R&aQR|2NfE8`): :~ ?dIDTws>$ݐFm-pA.ZQ DXsq3%260h 1R3D o4pTM'T8xv,XѦ[ivR-0sXXDKȍ0h@v 0L SY ruN5 !4=z8I"Jc8DW- MGr:X A7 3!hz' v02G=~.`E.,DD$CGD\BV7C"%L-4ڟ>@R khZiM8FUh`p^ q j8r\hq&E~$qWg. hj#@C+?$|e[, @VX 1i(ώ1y0m0O/u 78Ot`=E!HHſ8E\T(DTPO/x"I(:N&~s*=qpm/4ǀՏ@EW"NeaAN;$VISJ§A6*Q!c(4*.P_H'.'$C옢))&iaHh  !SrSW@NAzb /~b*LOm$/VY?hK5p%xh}@MDN$2cDNaߗN'L;CZ *(]ApRe1a~JN~FhPr.¨ACXd)($eQ Xvk17@u~ /)H'u@;=6=R< V%bw`3ǧ|ԀRI#=DbYQB~t(}(c*D@`(dބ&(vfMZn^u4PgxF+ sL*Þ8scDC{+{="~F)]75Sm29v䡎r!*@TITb"=S5oǶ $;'2Rjbbs䢯T qIw*"4%ADL$PJPD 0Z0 J@ `2 ^^J1*e$8eA%𞜘/CoGN"s)1HF!%t KB U!%\ zg I!)iT|8`*R+$ H> zCU A;RQ}b ;r9 J*2қ~B dQ%B@!T&5@9y(wAUYvQZ)Kq G> 0 +$DJ T#JRIA1_oʘÍ-T/B~w)Kqb%[vK[>P +8j80Gj@HGDXZ-lwd܎֨;,"ALNF&Z VǡME5*w^ݷ6:sեN+o3F+;*Bv>=3)5'S2)-11w]P!>33 @GɞMfFd8S 2m\2T`2f (m9 Mx=.-o.w ш\:BÀ\$ R H1x~Va|>PkpS a fy4z^ʲRVwƬ(=2D煾bJ> y,'yYHfnղEJ&hv#K;mߝ31}k%ʨ 4KhfqI8f>h=j:G,#(e ^:cK$KGF_Mkg\4B: KH&;oy6 t:Đm$ǖhMtb4Q:hF hNƛ)6;`2vmXґ8}p%-SB( -C!1CY!Rb:b\y3M!Ө!9ܝ()f bvE{ X)G޶ Z].緆iT:&B zkM!.cYT`hh:%sD9dtDs{F7TW d5֢u_[Zĵ1 U=,9TcL$36[…~ >݇>3g~)d!Un<-yl \B;v U8'Xȉ;= 8 &EFjh± CQ`?gL̉LDr H}OIYmiZ㞯g@BlF/!ʃ$cAR6z}&<1{^ GxJ·q'keCP^<@+֐2 9AGFECQHx8&J#XHsq7F NLB#L=$w1(l-FNt Rdȅ6 3q9RDA 'Hn@xK DB* @PSdV\齆TCٓM8N)4GUd"" E;$wA0" 2Ecn}\__RE+֝g) STaZ̧-j:=7$x8@eNGGhTr):V!>GCOK!g}:҂,%. 5a.ԑ&Rn"@o(\$OC˦ؠdP9}HnLRa:%xsAU"j$I,2mEH@@ `'#eGo^$' 6جYHXBu$!  h2N؈#"J{H1(dǡ3@p{!^D&1xp Cc}y KJyȮt\wo goÆ@~NAekjC&2Y:,;{n"3)L(2Q\Ө{SnӰ:[<p-]0I RpxÈB@I٣@@2I1FE,'c`w^D1Cau2ٚ{i/$9 *FȘB$Lé<^2"""ڟ&2T& }a#-6r͒7)#DAUeaJƲ*>5{z'Ax<'ۼoRi a!bt)HLpg$ PD1  zC$NMӉKAjᶱ_ݘqIa YIU T0Fb(h <No&pq$!,缌aeSJ=a|i'+IQB `!0Uܜ~XHKMɢbCw䁙 BhhC' BdIRe rD]S}g|">]sr㻳7S;HHMt\Z(=C1D|$d}ZZ#l&$R\L n#PN&,z9MGOudp&:͒XND`T໰"0B!+ 䁨S)&I9d 5 ;BBh0Ѐ$ CЄ {PDWDY@ U X?#D {<1 'aV;PnEX?m=^b5pIk"!!m?yEސƐ$+0CYd"K%,+zʉ "Pި$yD4MUP|8 5VPRڂ%oM%H/9@=0HtW?@kFM~ hQAi>mkC%@2Áq~D%WY&(jPB8|Xy`o|iT\d3|),n& d֡!!&t4. FZ9GjoÌ  'ribb3b6Umm {ΧQE$o 0 0"L* 39 ID`Z)r68dw9bzwLPTHf",Ұ,0Zt,WD C%R@I :@]Hp{q]`DA : `NIs^jplYAXiEj=ȕ xK }kA#*S?V-5cGue!F4؂#mYUbVFbt@U61#68hYDM]j ScI mFQ JfFt^:#Qd ӂiYA7ܰk5a9%#'$]!q2ѠDia0Jˌd}E UQ2H=sķGG{0ɐ|qVel-u&5Ue3Xjtmb%E :lU iwP2\ϛy!ٹđ )E2g*!dj0!qZm!)`VD R(D<3-䡶-&# ģbAcSo#TCTE&[ͣiD #zo MhDD;nX×pɢT| vEgW,̀W@Gs;W4a׆^/,KL &$00 eM[$JjXB{l'%,PG"icUFDj{ "1xPN `1#H ɌU]EGX(f. J!>Wo#1Mmn ;ȧJ'8*t]sp"MC|Ї쭋@1TxwLc@Q]nadpZq}Tij{)R0P#存C lOvGKۥgJD4@`@sCm&a:"xz8z9QDDU3 f̈""hq^xvT>1q0m*]lc.8mi)$ <>j90H 80bcx1C5[@ A7RWS@!N1#0_^ޜ:r糜)̒A5#"["HCa)wu6L!P9$! SXN9xf hA!c&ۺV~_9X$9w4ɄbE %$Hh`HXA2?dɈ )UgE?8ة`qt8NQB64[y jGcD I$Q)iD0; ` @RU'%CDd!!Hb &"v#Ze) d074闝7FDT=)ЦNRLC0ј&$@'XKg 2c cW!jbJ:0傂bxE< @L **H|/%"HLS," U,+],Zu(JM^!%;IlJi`R0Kt5H7C1m*1:8TLɊ N~rƪѤ&BnCKFlv:xn!ۦ*;51!ɠx'(`m! Fpi9a$Ɛ`HoKрޘĠ ws,󛭺dk%(=!@W.${)%+<6K$C?u'4&SX`WH|MꗾA4P48{H/\30<%x\Y]`1"Hr$Fl<)}ȍ  4P`4A^pʨq3H* xB$0fuOA]d5SX 6PT) U0BܔөP4̠i8N0Pdԁ<'l{{x<@x >i<@hPِM BUvE1/")nՁI` hb<"e'8E \H!:}&H.ZfNFj0A{E&șnsv8ib=rG !PM2Wxb9T8ڼD8B8VӰ9+#H%!,iCvzt# / e쎻760O2ztWCa1""H(< [-;nI8,&a86 6gN"L.YAD`TacIL笆33+e)DXFI/(AH!i!DDR"H@)0# h Ci  `J.3(8a$l%50f<]fᑘHAJQ܍Avh?NR̞1C 2RXIo9!tTTEUQm686s%tPE$  O-.!QQ4 rP*R4z%&k &KD@h*wbJ3'H@V"!:xb̷iHZw`joOǘP3lW$ )(jaPcB`šP INt<4L(,-&d'|P!•K 4i4xAe"'`X; a}0ɓV>|&9J@R  bӒ`4㘄 2STQ1)4A$PTIDPQ0EAUDNO &B B EG؋Mr`;v Xh@"b^^HxdCz%;b * B JCmiUMb6:.(,@U$2PQ^N9̦345iDA_Ǚ|ۨJEBzyJh%)y4iYmd'gN ff - m9"n8m@ DPs6IM(UBw !KF'KalKkIN -)e$wL IKSX 9EG{b"3P2 IyA؋d2$b&bG9{N )Js@Lm.21=pF(^i}=+0+"1 2+*J"75f94G|}L- 0Լp0\V+x""&(<9&a|ه<'4X$"~&1 F,9] > 'Ǝ DLΖP?waH0l)TDgѐ4ɑ?8g0fU`S幞817nx #g{BQﻦ)CGCt+Xu)Hh(xeh>\c$@7z(F( eHHH _"R#  UpAI;`{@T߃}Ka]oO"8(I $2H0IB:1  dKp?y1 J)"q1 ;@7J%u b ŘfbC4giq* Dr$H Q/_3`&Q=&၂P aaeY&ap+H20 Id% q I45u"u*&fAGQO@C$ )y"'t|(߱O JB@N?4r & Ę2~A\MPGiYq t=3/ (GfRAO7&mJS,$ /m^X@>"hv}  Xa9+m5pIMIUDF3,ҕ_rOD'LD&tHp?jjङ =PdPWؠ`^r"q"!dE#$L|(7zzvxRï'*q ld`:\Իw6#62 S03zSl\p!TNSk~CԀ沊 oT=v{zಘ$Dҋ)Pi "0UHP% B$-aPJZL01+$İbd̲& U)BR\) *jPDAHd~DC(2I M@~K`>Iv` !"D({BRH  L,)1 3 I>{hH5?v(sG '70;"k8t0&Tp?wQ|0{<--xt 4OZ!*^1D^'1 ըG?A!!8!& B zāP/yĆHT 6`ٸ$VDI8؀DlL$"H #:< ij):B(Όg@dk !lHG^m5.[ N+H^AmqD-2 G@32P|q7&II'*x `%86M⒇C#CG bZ6LBQ7񉤩%if)N(20Lkn}ڲ` "F(H(f&G|"Jt[0Q鉄FI9DR(5'1xnQN)4};@'wN/S<-ox|79/ޟզ0I^G(l+vpjtReO{vj'Gi V>r% T n0AroDо1~/ߏR H@>:$&-Qp `wQ1E5<~!1ʩ!OCXG|A~FRɠ4j! ,ڊ>臚"ЉEv?@}-Ѓ?86~߹ UEE~7St$S3(?Y{h_gc|ĦprUba e10da) h!)~c6.RBbYdO#Q(2!d@OJfT~52) H9nS6%UI$ɂ)cBL=ى? tbwa:Ĵ'Ytor aTX"B0$ ",A ?Пu.%O=j(@yMɳ,Fpθ♂R `դ>U@+Hs9 BAJ9o0І"Fј9S@z[ ;% @@dEtkAm]b?`9x`i(OnBxZ94!KHn"QN*`>J+Ֆhc$Gp0N)=gЌ %trS]8e6&SӤV}jHUWцOdWh4 U&Aldggu~Iˉ&uh$KP2SeHT`F^OHFf0@L"//K&A=lRE87i1 7E!0?tND9PrG/glQˇ<Ķlm7a40LW~Q`L J_XfKp_LJjv$QOU+ ?9rBD/iĐ=]4KGFQ ?B_Ay˻?O~ҷΐ= Dևlq_/4~1\g$3QIԕq?6}VK?D`_^e߇3!_>_}_l8C oSB"BKC@ѐ(+$k. x-[UL`i{| g`@45*^% ԐI)& )4@(!*'- _\JQu6q.vpj=v ݍs װJ( LPk%Z6ʤa6'ԪdU`iݻ.mc {'m\2h;s9{qkO Gfgcu` wTioMe,¼xsћۚuǛsuvgu֩8wGy]u˧{/[)Fm併uh8w=Iyl:]sg@yV}ssՖݵ5[oz}Më﮵y =1=N}ͬeYvO^d *OP8;]gsSw|Uӭ^}_7˧{o o^vz|}٥-Gٽvmm%J˭5wyKfU4wUUAPmz(9aדEUP U2;(UF(U@=×7:]Ute8$"Sٝ<fq`2wjJ8ޚ"o-K63PAnNh̓5[cSk%7[n-MmK^X z5$U[tqv 6bGv:}6|3mdz>Р6F@#\6([-s%[,Lk+Vf8u}iTim0b K[fn,e[bU5X&y}><]{]ɷmyBaIh3][s^e6rUʫcVV|cs5fk6͐m*8DX-Vw} n܊vXm.^RӒULhM[rŊ r8Xրj*Znmv VًSf.ڀ[E\VɄ+)mnЖKf&ze*6 ]֑'cn 2SRX@%bL;NTzn]]̚ӫHfy CIf7Ǽs ukNHUk@u3n6(ը$26VB8&hAh7W`eY] r q(!#b XL[7$舞B};@%D׃ؖ"RƊa."eĨΈ\1:BPLUV,bVZ'pQ 5xYŢ)࠴ڪ-npar1t ]"{} `ap؜^0cq2ȌɌTe_1= ҍ0jX5\5! mnFv7 8Î9h@tGHt:qvs;þ<'z==!vE`=/1}%mME f ?! ݠ,^^ټt;&"ls4zX K(||9lO|_ͯ}}9VcpjEvsKCM##}Q( o F9?k9$͚=gq5p_CnO̓bt|攱oh1QwmCvJmj)\4ڑO[rz.O4 To ZJ,ga)+:rGhfmSsj0,YXU(yIZW3ڹlj$P{j&#,ͅHP.R$M1q Y O=*qĒV6A]?-e C: :|kALV,duE6快xa!N,Wd9;  [%`` *V@:?B]%][ZX갩6VLRLP̧>Ntf}Z}`׻8[+q]?o6&颃UAaR\$'wTГ TǞ`RgF(4n a#͘k?ځ{V dY?Wcz,j>SF6C|k;%Țb+l "}vHo?!;jSeD^hgw;m"(($" KED2  lR 0Y!/[>~oMhJV8_-~uUXQHX wp 4yPv  C~AbGe=_x1"kԚ<_k3?Hb!?sL#gwS?,F>E?@_ع&'L/׊pL>@?4c_ O A>xmGoCt _r>GPSo8~?d0?5%U B" {^{I<ܿ=@/Qw`P~~c?L?8?~?\4mW~1n#IE1R(~!H +O_B*a"~|FZ` +?]c~N}.WmkhNjhUi*;q5̼wR62gkر]նxuT~_6:ӲUD7akɵxZs*x00WUpLFnU]ۆtʪ;ѵj{^+ i1;FНWVzщo6+X-5v~]nim4r4Sc:oTҐ<&QW(>?7zaz}%IGOloxm5G>լ?Yg{͵ӰvR-C#V[RvI'OW-tNT5F ]Uuy67\aBįVm3eSntc~ {NJ?o@C*V%;EQV%ϵ0 1aT0~}Fh2h,-naQV_h[1E1݁/**-(b~dN;vtP'yu0 oE0QR chCgtbrh/"''B(~ܯ*8:Ơ5lU{.elP_L\jTa?;hgp٥s{>OYн^v'uNT=3W]9{(ƫtqE?WyNt͙Cr=J1XzCSWm&,M-Cj-{ 3cƁŰt2y"iRAB9]aj[IYmp!;$GGɻo=AQ?Vg?8"%OÕGhI4Q訷w/eD%I -]/ D?GSoo?$ZO 8б#9|B0[zƵS.ʃ %=(ҺW[*s1T?+BfL eư$bAm>AܜɄ]aC0M,'pFYq6%~sȘadHǯc>X\ebDM$̓v{0!"ݖjꖯEjps׮]ks Bs?KSzחzZD~Eef\`mQjT*4kDVKEQC L5VEˍJXU`Ũը*Z4 *mmږ0&8YDmJZRaZદVT+ъ+m*-mk`BkdDZFйq[Z J4֢Vխ+`լƢhTEhUQl-J2KXA"F6ҡK+-m-qC)AKKU164YE*8¹j1ekiE+JX[-q1mim-Z[e, ZҫBX"EPRW k[DB1r[Vբ67-1VѢU(aUQD&q)rK6𥬀W?0-:?nWRx;>Ve:ii$ajN' v֦v?޷:0]V7^'&v2x۶{>=͉#>697jz?O4cޫ+,6[ڡ0h č,yi$|%j){CM} -OFik j^iDO2zVepDmg;v<fQ>-ZI gWhCh_÷=s0su^=t}uww3CigQCs<̩`t+L\=~ P,=Y,_RbTM {ʹ/yӪlA49ēA@b-4zU6M.($湭+c M4ԃ_ pje" V {L)!*T\q`jBF%FsWDWo_RXWU]mR&A*Q5.NaI4Œu1wy1E>OgAʐ a%DLʎb(uU efK}RD{mAwM:aXl`{H&MVxeDc%Yh{z>&tFmz)eqJW];Q>sĿ9SC΅@҇r|~q=We NK*VNbu+j IB@vPxYr\1 g˱FC+V\rsϜ j P jEL_w/_M>g{J7K xZԆgþo=!{<<2{hv!}]bPҡ鎥Vabqi- !j|%q `&XW% J%\-,(Z[(94KRZNpEǍ!&Xv~_zjB-uMxc#@v&|<ܱ|'yoy[mjS4qS4sw5!m|xVEu25mWVa:NV}z{\~?&*xCs<Z)o f`A@)ù!b̨$;gZK$y>hl01i+9U F[Ӧ }LJ`|^uc˿}} 7(u(k2évA]eGF0x9u}:Pax;}plM2#P7+F+utG \kY5.*y%wӴyq`N&NϬ|OulǏqQe HyMץDyOIZ,j=`B4tYN) m&UY5)X zA`l@;=$:e-}S"a'{խ$64d^BP1c^֤JKJ&`顎d-i.41p(Lȫl0 AUaM2А _s K948)& )qE ͳ~7Gl \H#ܟ}쩝 Tep +e#Z(4W.;[k+`'t{^@ #V΢Iao !"D%U@sme;:&cYtB9 5} NW4drfyuVڀ R4{a#*9OEh  HWFZKJ fk. !a'c{ ƴ:׺G,ă8:s*b8h&C:q=$J {?ڒn&Ҁ${ބ֘0yҶ/y)HG=Aa2 4 ,pDG|2àru$0$7ّE{tIqg=>i/UDEw"*K؉P&Nʌ`/* @LMDk#] R,fDf u#H0+QDXnꥪN+&ĶEyU<_uHo@2~ t#$$$8P8agK^GUk{}:vpuG i=:nTJ^[ {ԅU>qVr6) Q >gEQoSB*9:KaZ-(NpoCs,,I K5dPa9¬.UBSt65zR 8vMȓؿIaG5 5I #70Q(=-$[ʨVm8l(Z'C@p(0FaX6+{h@\" R!`%21O m;-}5@)A`:s^NVy(ۘ]?^ӡ[:=Um4 ֠ NzOWW_z]gy'# &;]W)ڰȒا+^5Lw+4%ռ +l)h8 dB8$ <"z(Y?Bؤ!`0%R*Os+$N=2"େ99/7RqVT,;|`^0L6HY*Xz.23^4 vU݆zXw29m~4\*TŤ)L,IBߢxʀ hC$#sb`bkY0c ;%B ͜ݎP!bi 0VV Iu2hV &a3g֩;> xaJU8Sҫx^ϟGߨcF1zz 1x8z^t$sY+l/N\YMY.R3ʚ%*#ܣRtDC%k+,!1ȾO6êP׶!$bc&IPq)p8TdxNSRdM\U&`(i± Ac2Չ/MWǫ[8j⥵Uy_k\K(QE8*e|Ixoi $.A#[Nܣe`0Fj HC襓>xt$Zc 5"})1vL Δd1.iMš -O  <-s2;kN5;,2eVDKNmmm/ ͑ơiԝ(DO, H }o-ҋz6(3oxBM*D9: "H,4}#ʉd}Uogm('^!!s2u xArV0sS/pn-C,9%c8~$ VvQéْM(UN׿no벻 "A4AQ1H红,pD6FզKU(f+qkj Rm*pׄSNO4`k< sHFB(V˦m6%RʀV ](6vg| .3#;cM*~ 9D48:!oI")vFPږ+C&bv֊L( IA@0(@c&7aQq r(Wa@ += W#]NXY%(joQVwQ2 Zk:T j-͏%5H b8b*DT trP1% 1`jKP8wW#S|4'=ޒ8+wRYcjA -+CI XjQ1Ov_{MuD((sdΉcaSD%q0{2RgqulU~Jv|O73a\Eκ26;T0fňd$Gk* CN4Bj8oaC^3R4;aȔAQ 0 hgpjs4ce!\0emZ ~mF_2F97Ckah`Gwc>N31 xn|{zx4ߑ{뇤1F|r:Ýq0o:=~@z?C;tt b LI j6,`"uDUsao jh_~~Y*r^\?+m9~o;s'}C-A  9; F`x-z:@n`?2 }N\J=QA1AȢsA߈#Gq6#Ȃ Dǂ * bi9ED* e6~|:>FΣA E6h_t/E -7;1^uݖ|4[{2ĻL:^_~0vL~8/τ$of=gʷm0ՋKa:;hSv⣮gAqzwN>w9֟lUDTz\mjiv߱˿팏1ئ9ܧ9wtVc4xnn{gr2 Z4m|'欽nv OwUOj<[kܻzDZGzq]fSF[o>gnZ=ݶf@.h:+ےO5 kݯ"a U~X.n0{s]zϣ7PStyBm#eM >3r4ֽ k;Il-lJ&oӨ˰⿳?akZ|0iSǘOĦ?e`^W.gYF`xOF\0F3y C-SKnw"1(EQ dAbIWO̼rFA=ж?6S?(, ",c#HUW]ٱuëIRԹV`#r=!{!zIP OSŅ Q0K Q aZ$ElM#0cc`4A! @ hzH^LjOX@ (wtƲZd/QX `F`C(.!LXݏb8gkh=#(GwF^55њa 뵻!DŽqk=#=O{Gp;9ü;_!'xtGw:=H1.W'sl r h1c5X.%o&C O5qcu7y>._<{`y]/=nԵsK}"\ L|5O˪H?ogAj:N#у14RW{SE ^C{X ì-[Z<:L넾Vٴ( G=mc}?W֎֮ |)IXz0܌7nŃ?I+XߍUN_"g>[%#mtogZ0[d jjV?~+:R?;#vi {\sxwvf,1W]~櫸nC3w\?'F/D1.Jzqa#[5oKi86&o|ibb@0#wSʨ |SFK }O8ց~.!] ^݊J~ OxPS T5om(% @P0P`(.>$1FO09YY9i Oo\;kb # +>@Y+Cd?2!Qikk/B >}à OK39L@Ĵ|xV@M4fn`h8)/֊@ׇzG9Ce8[;Ò={1뎠эx_7c0ѽn_8cd:C~Xwww>C!>pxe`5(VBW0ݤ(cW1 2h nwJ-mpr Z\4 ܬ\M.NbGu' {?}?OӘ'wU~;qb45t'z#imz,,{#Mh#g#g7ۇy6-__Jo?IHG^|ag?Y]vA#~,g{v Bv,A] ,߻pTW^Y[\;^[Q~s_o8j}sr2axZ5RܯƇH߫l_]/ݨe=?7< 6{?jP7m˟]JYYM*_y ]6ޮr7[xҌLw%/H T4aHp!VV0`Y1?AQ?l1ݕ hWL<{^f.iPz--;n vJwbhWSZJp1b#pa( pZi =3g(37° d<#; f̪THB(}6buE-y~p؎1u!v˷~?-jBwIfƞu(b"NP9B4HEɌ a}AhHޘ1 ^狰+]^;؁|(ɍNaw8c-KA hsx6G ڎ(trF8#2!Οp`fvR81jT=C8aߍ  ݽVrgO<0w)2? 0`@>ֿL&%0Cݟsֱ{0R0?LyLglZ]>_>nV)Ԣut3NIq}:6j&5~Zd΍onxWk9jܱ3{^%28eU@.gp)pzEmibr?ُb=S7]L7+>2c7瘏;@{#/1*=Ǭdo `e]vyB]7i$*g!wlp 7).,|IybٸS츌-򑝫qb7"?ܪ~_7 />l6Ad+뢈5fA޴<İWz7M]1_s<3[y]g+>>I.2vWfe33ob9fǑ oL-zA FO_UdY8*J IH~5c'?Ü`e }|;n1"wD`T9;; :4f Lzܐ6qK:F`t$1>%#,aoތd` (raZ Ќ}TKkDӏ(# B$XN}K tr R HiEUw{;b1c44/jg{ ƴ}c>-[~6Xl ~q7 ^`b4 xXd6C.<}1܌oƄ|8c7QhƔuOPh$d ! !$Q_#y7Þ  o$clnǎ y{e)MKA^zMDW3l)}=[7᧲_{<ڸ.ͱy*j'CqǹZ3UBݥ[}$[Fm=y GNBa0T$KWOg! x  h ^vlpH>5XX☞2>\nVt7Gu+Vѻl5J ,!=aYYW(BMk5 O|gqt]o2zKwӥ./^-X*o|NǕ>g¬EX$\iN=dW`ڹr/FӜwԼLe/tF$`*A ]TAsMEFG-W kY,؟eh4#AcWo,:n3I|'€}A _ YGG[n˞4S Cv+?@WFE {/"={?& *\jr7( g"޿Y\3$wU6hjv}@6ke~m ?71qЏ :4M 4c;8 xrbjbr͍p;"/q@Prt\9c._qq?pLn7g(h#3㽟 mDŽpG:c?qhuk;~0oGpwl:l:]>8xǰyG;=1菇CΘ ^ nGO|4n>ǢvRrBqnH^mV5dD dsҴ^1ւכ5Y4}'vl=~ҚkmӉht푿Ofn^6;,=ra"'w_|h~FfJp}ݪ\6"_g_OѴ~ 봆!ٗ_lhmNP;}" 3{o`2^?`wZr']r͏f#))M:;,}oa7l/>>i_R_9[W•e(e>7 ߼杭ٝ}w(F5G7֟\x- F\J /s]{7{kצpUcW{|͝UߗⴖKu4;|DEɧElʸb!M[Bm}ZMX%L LO" lhd/#A=E-uD&Kb< b"8"-PL ceZ2ցz[tO=ڞsazajv I 090c*6٦!X EҎBQ`sQ".$N!!"Hbl>\QtoB)^[-pQZF`b9}4=~!n}tcr;"ݎވ ^}g4#1A`wdeGv6>QЍr}s31qukyr>˶z}F8w>>QzLJ?c;A|}}CoDD etUg Ih gH0+AlZq[;bUkZg`d567#/rtV  XX|?{$NMvY&'d8oӯpg.{_&Éb82U{ N&MgMt~~Z^ΝϬ<+++]VN4QOOk7<):gGnt Yl5dmGCxqYǁ\eeWX?\L|KY4Z@쳮8yNWK¦Cy176!95ϋ IRLMEa2g\ca4ULFf/(}g矡4\,hSc9~ dOX}>k=&, ~@lUS6{=6W`(ZTݿ~v"0 nF. 0לao+ѓa ϕB"azBTJE(7?e>Pu cE&@X1gB6C^8+:blt-o3CAk@ y: G~iC3Avݎ0i<_Fg/ê6Utk`⍞xj`pgx<_qqPgy}>(Gy>nz}w {cw+E_Y0ZíK-s8WL*Yw83[/l{oIQ W.=[P>CWfu]dma2spOG_IQ! {tߥĐ[碧khӦykVx_~#7Yh,}~*? IwG˽'ye8'ɒX<DҊό޸aLᓽ9m{i_:/_33|ds;\@x_Kxpu{Xr.%0v#I]զK^76-PY`f;髓ɊG|T7Oǻ_ݗ)n@R1 n_C7O-骢BQusZҲso!S~ivƩs"=^Kӏa-1l2źq 9>s; c9 D\o_ `TyW/+@x D 4},G~{;!$sJVk)*fс^<Aքw4?qDtא6du/>=5c!\  Y}ll0„w7=an]⎸l[4|;h:1o (7k7 珇,qdu\fޠw9,:ԮQ6 \c 'ܤid_8k&c)0gX'rPcC\84^;m [S^}H>O5X3 ׂ˴K䯁x0~빺ݕ4UN+A8{Z^_6:H#*R٤z~[u9]>KkݔZh=oWg´_88-תCOEqmm5@=}ntOӃ?b/wj輿g7sc,n罱vk#G֦A;־ap&Kb0#*^&F9kK[yu>iUW> /_ʞ i`a5.R۞~z+ X9NPK .5a jx(Dfw3.Uv Dn 8ZaLF$b2f`XY=$m'PDFK,"J`dCW2Ujxzx|FEUEb$ ! B*-KbJ1M )VR"&LSiBjƣxv%z3wEma^үl@i&2 !`ȱ5G~`~L%I%"ŘPD"_(S !ꐴHDZg=D'Bf#m| 64q%,Ys($ JL9 "EZؽpCF4.' (F.^FmD7E7!"V"(uv1Q۩!3bQ 0g͸GI2!`xM)zb9 PazXݏ\,J11xv ^`#?+΍_mačxˌ.sc#5c?ֳ62cmQ` pjxxw~8w~j<x<;8G~?C:Qz~=?/X:oX01"2%!Cp7 a#pU  Lik4fӺU[/d9#yuj-JffӶ{Z3UtW|#OOP vv:jǪ|iR6,`Z-{o*U٥QOo>ކo;kyvU^op:y&0 &)'m-);`ᔐ&i ;e2_ b/H Yh>Vn}3|MfuHLn̍ ;'MM1a'`5440461pE,w ۣ/fX1.cK&(^%0CX'h5A2eO])Z<ȶ Bf.5s}a@Q:{{Iq:Զrn7,pLJL67mڝcGk8Y7`|-FMIpJ?r;\I_63 N#m(դ*!Ϸ!4h{boW5ieynrKdTd~|ZQP\203)JM1AEuhcXܥ`rIX-E><̈0j[e--Ic$X1Tm "-Y2 jDDPgu&+Ue@QeD`EXYU?.iYgM a*{A-NE<`Xzp,T'R'iMzֵ(Ȫ,F$XmYF , Q`.32r`Y9( jaLi'/c&-ہ{}:CYv=<_#.:;f0z40r!h$g.wݦV6qudrAd>a/$,3jà샄xTFhY1q@/O3s #ޠPFVF[`aB"M Ҋ(˼ه ~0ۯ6pzzθޝ Up6CFē4\2t>3:N3Côh&2uʥoss; U= B=9|sL\)63nwapBEo~g/Zlg7uTEZT-(VpE(lae-ED٭Z4r$p`c8[ua=2nؠ&d8* ~wÏ8$P4I 5EF&<(+qi?sd>k(1*Ie枖0[cD@QoaecFAP[J(Iv2wјl#{{<`R4B0""Ay^(ֻMbn9P4U8][*0Ad X UAi-Kl1%r"5X]RIGSV¦|ohrr3lҍ [֪ ìLO~|QNL!K *'sW5s2sC9,U"GdDYpHUQfFYtnXZS{s-cco,YoqmZ` nòMRXrIq̝vtBÖi|4|(͒4V\ Y1e8Ь-)-X8ɡ ŏhb/,R(y J 0F[&F.xDղZ8E"gTUV0rEYAbJFEAc:3^AG~5A- >W};߰]P3JI+*+t_;)N^,Ɂ-l ^S0ؾv5!AĀF&Ai QzEW4Hw}iͰԴZܲ E]ϩ%vQ Ynk5 1f:bm7l~ǐ|ξĿ &o $w1`WΕYUa߰[Uh<g﯉'O*B(ٕP]2co^/xu,ȕ+i*Eu`h>rq`&yF,D {|)M6uBD2sp&RZibQFZMMPFڣ1W&mfP3U&kk.S(*xƲ:D6D?+"2$~"c3LD5^n"c\wn!6e4 C{ѩcnRALB4vpMh:۱a Ei= ʐ*e1EdHW SS#2 jf}m6ݘVa531ZoD9c94+k߂4Rf Kv!{{g_ vZWaOGq3wM0bzCdNIx0*@=O8 cO1`"TƁ̥F[̫ bX8g6qCQ(/,.uT;קSإs :֓W F-驗jsq4&܅4GMΎ|eiȣ:3n1gmu`!gdz` yw|n n c}XLtuӟ<"u'4NgzvX7U ET|FX@B0=M\%^,ᙬ072*Z_aYHY:q%lQ"f7hCǿGS7>%lٶ!aON6 c1kS}jM4Fb`)J!§oJFf؉8]o8h:pAf3Fp0:r?$菉iÇbz; t" Bktޞf< \njqΕ&0BPp`6/8l?1! S>t DJ"3b'gnYXIjĢF{R=;ts8kȌLC.|l&ERp! 2 6a 9'1 j4ԆB Y (ah#N:k1(!jHqU!g+k5MY "7$⚚(3!Joœ}CJ  aK=6M=ײ߼t&_8HާeA !]?ֶz2&=N&z;]ÆN^uyŞrb[/~OŒY᪩*:z铓ܮwD.(ڼh.~ t̗݇]_` "p کOߴPv *=ͩxCy+ڝ}Y827@6~e nbN &Mę֢Ў,1lb + Df JW^f"4ӦQ7~sd ^O4*,c{Pg V0ZݮtFZNJ×,x(bN@Tݶz,%WMދAD?OKPRV#) Cܬ'&+[3!VBzomsvzfY@Z-˿l  50хןTڪvn(T b>n\5gzn @rWܚ]&Ѻk677 e 9V@z^t,x׼k'oܒ1 ܑ;2|LLCNCuʎ@,v$ 0eDq: cY#mjvh2t*RUa=;qL˚*r-a)@JnFSɈ֥\%(DdQRg H$BCXf!X{ G&$8Kl*!% Y3*Laaal FMN%j&o$> N/Bm9|:aPB4+Ji$@ ,E4JYN/|+& l;|}MQ"/۵ 2F!WsܤŴSj^Sԋq1HFRUUQIK1N)PL}STL51`88#|jfJ1#> ii\>pvGGt/o#s8#LMML:/\;)lӮG[p5=sW?Sv?>~/6\L`u**Ʊ?JSF04\CpRrg럘fPbߧr<""-KѬ8M!Ά<2%YmfLU#'QIp:jk@g 1v:p2RN|&&bFM q:.ͻ 0j[ܡDo [})u$5z>`0Pb媪+ֶ+Z;ENFGIOY;6esxNeC9НgV[ZU+ !gߵONa Va:s΋|]o 90~Ҽt;Xl4M|x}~9_ʅNg;:80I>*,@#Tpr1E_9ZqK`%N} IG~;a9¦Z=/)U=܅P@p[ҋ݇];3, )B9;)F _3^:x/xRAuaV @/ 0=XWC %a64i+f} 7Uf5s.vQao c@ګ.W=(rG0ۜa *;L."p (6STj(6["#TՔAUǛ`':dYd^!8[#5 k-L bO/;r} ~sU)8u=߽N}On}#To#wQVq%q~ sճ.Ot_))V`dvg@1TyZ,2"#]h:d@g(bl J_ă$F r܋@`=z(@7Kř~4M}^QԴ1D{wm/*nrL-y_j֌zce>cc`ߛFp'oĖz?Вd}LHf&݊=ag$ӓI᠅.0P:KMᯫ;(X61~}Yj~bL4:JӯMqI WtKxKFP0%N뷥T`}h}H`"Pp Nh]QH\sE;;.E60-rDQDo1<ƽך:+*لmoTq/A$N8'1Z 0r>6z-f9H`0v㫊r[|5T\uX{kXЬ?]yC] (ɱ1ݧ"Qq鱤2}9vThHŠsIu.]a]k8KQq(֙k哹oza5qI} T iSخο_>0d.Y.(ao)v%x{N-\1p` q?v}DH(>LA8'A3)䨄Mc{X,.P(D^ >,G((0؉Â+P 01~tk6rپ0*;&MӁ9 8zt72W9'sʒcֱ禺!|f"(FSFG~3o}TuQ*OK*j*cc\aU|sfjjY95IԜ&@CBsHrHݔZ0刚;Kހ#"D}Gߛ>nO>Kp6C¶[8F8lk78 c@fϤo;i #0:S(f S[buLGM"$L g;{Ӣ/F"jnj:gOd3xysBwk?hi~+ϫ5y76 ew9N5'U5eU + =?U(MKvM"k=U[]"Sdkl=Hy]L 8;=Bg;l{n -ՅE4&a;ǻk%ױme9t(#48i*9YYD,mKcmVP;}E#L9O*v hGx`,~}oP gq3ig}{ ^O~Wm}mO)?b$Jӊn(Dv*nD~p czQ[=Vexq-W3d~gX6`7JF'P` cv|\(.@```eTY?[D;(}W 0WlƑ_} n@D 5N12q'ApU`xɁ\p"Z@1d`n! C➵B"$Z؊*iOC"0h#a&Q׎w`$0/[v޳e/QˋIp(b pg9d1#4Ȭĵ$(M#t&BA Q(^*!t+@A*40)12h(C xQʩ0X4rnJq?B$^|_s.:PBB׎=h((ГL @@q'RZѼmǕnQO]XB|[+g rPHwZ[VLϙ &!x,Å0\41X,I "i210 iIq0m$aWÔ:ruOUU%'_g|_a=i˗)0T,|c; )Qx?4BRD QdzXEA` D"Xʕh(/j7&#ۣC+-w%h]pww-moT0~]$G׎Q6J(BA fp]B(KBY(bņ&`D-ДPPr1$h$߿w4TG26:ugB}=ndm mf#ťR(Ds#^ [,~?Ӛ'M KHu4;{&<|wtAΙp_E/-B+ xԓ$PPw~!}}21<(|+`tdP„'~C=IJ[겮[Yp<u !5Jē:iNY4ـaѣfj]bumi;LdrFٮɦ 0˃aFApw)@ӌ&v԰Gbi 0%`X )b2E@ok~aqcEBj,Uqh^MY$ |A Ȧ8QD A$P)8mDgy075 sQ+t7r.jڊũm/myƤb4` 'q4'% N% &i2ML FO` bIbNҌ F)I:aR6,hSY'5<ĝ6( 0"`̋w)E-RwLXb+ACLg$4!):N`MA>Gsnm֞Q6wBg<i0&HMCz2o5{zm$ĥ)e)SpZ(bQ's+jy E`|1-VKD^uu';,nkb }?Dܛ< mý8fw75\2 o32РlAh z6e"74blwpwN5y4f7Wd6ㅐ8cWG磐wI1PM0c1ꏰ44J^WQC 9Z"Ѿ1s_)Dh#Xm9m鋵,H,gL?oZ.3:I 'asz <%άac;7MqfqBasmi6T$8ӝ &Tq&A!k4Vp:9lqskC2HUu/b)@$g#M6n<WTlSǰݾf =lH~33=9a57\H`s׵y妊d`Mgd职a3MvĐpS?&8YZ B3vKb;{65w;}f[il/DŽW~Qˀ&.9U!7|#}|y^;q:ڑj6c g!fݠ}OGo91v Øt~LwHtBc^Ŧd;" QrU"sDD:F' M, DYEHtDp_'.y{NlND{I>Qctl[0 F۵m6 4BA&!LZ}5#F;#GG=D;`,=P`(;Qd@OWxZX66*DnIX 8 .UK6P >p @!5 ai{J-CދqAp%ipR # cNLHEjaLqb(mkMVZ3"3>oƌU!ݲ2HM#IE/We6<+jˏO#~.}|8 . &d.u%~ ga-Pd(Jr>(yG<7uAN{3`6Q6lV!2T^2X;0NG `tN ޣG=0Әl2loc=tmǺ6ʺ"XQMqS$Dr(eu5p 2|`qTMKvVT '!2y;q@8}JV?!-klEs֤⎜2SZb%w! f,=U'^^T wANHT'x}O^TIv& 9씊PvL>jV!>V 7GA}>ez'&"B&(POPH ('!$̒h}kZ$`XR!3BzJs)\B ˮixOQE"2@!ք"Bky}љһ#8N==cu<Ѯ9D{Ovg? :SG@S+bbl<=^/(k|8ݝWK~Z]&0_ . [j%X*m*P*trwW5do$ oG|o֛Fjoa`}d qJRL8ky!4Ipғy1f}s]- Cs"[[2g{<:ba=+?@%ѡF=P`!@T&J)$d{l00/h09+ ɓ6F"R,O(sdJ%xxaּ@D7*Z ^>#NZ'{'֋phչ5t0 2ѕ2ں n4ApVqrE&8`FZ"m)W2Ξ?NБIdKPZ9r0&ܾI_z4m߯Ԟ % ]ˣN@5Mk0iSUt~uѣl$mrSŽe+1mm2ܔ=>s~֜'X_BlaT12@ p^-lv1[FBn"燰S&b\E1㎺Ka0C8,~C j38%~J <]=5D i5MUВR٫֠֍Q z7d=9:jϩy$`MWz~/w6w3S`>W'~H0SfCPIE*j3 nIRA Ё>@<qt_ gN4#S-+(k`ϰ{+@3{߫E[! 6>c4\\u@f@tAh @DSطsQ>`|> Pa FV@ ݷmcM9 adƷsK4!{Sxo3&iaU]iu-Z}0\=Q篕=Dvߠ|1]k.d9d:%Lաaj}u\|>13*M`74>x'=zO>SCZm` Aۆr<rD2fnsøXBPC[h6Z0~r/Pf ڄT90Q5?yF=Mp62=3a9Tpcs&  'R{Ra<1|[4klna91P h[ pƖM.s'>FǮdn|#CsOԟ@dܣFq)r稡Cqg#O6&N;M QNS '|t Nט>9`=: yJjOdMƃ&4'| (أcf@/m1psD2<"jkl(eOd\t`X9JHrݳF  p 4oօ6Мдso5ɬ#doF0`ēƛa˃laIa a[F}׬9\`n'^t`'bߢ.W_W!J)Jk ɏUܾՊR`KoF&p Ё~^1n\qY4 ^V-AΪV pqᶄv.mj KBYZPED++qkkF6ܧcEpsGBҬeإi5{ϱX;N][YN}92zC{S* Ѿ+m ‚Un<26%v\7~V^fɎvPQnP[m14i}l 'un)>Y0{gw9:NI:;-h9'%V_x[rhd1 F sꪷnVL \Nxڽ RYИRYmmI #YJKQ= R9Ys{ I` MX^` zrCsaAH|l>H60RE>q2}:M%%#"p948A02|d&c|!Qp6\մz#L'\hq=ӗ>2Yil|{έw+9u^pʃ"@FI$$#(QU""$XF0dF*DQ(*( ""#'oܓ88d|E?9<#y^{G駬;mL{]4VܷSlDZﵞ4A2\H,򀄇?S2AYdЁ Mqb&Ov&hpf}Ð0Snj CpC$89@y_G`J*2zBw߻yu|bs:=Oq:ZN~^=:<S=,f9-u3fN1ۃi4<$So)"=(LDGvfGӺ M湌 "L\'1_6;?236d߅3ꫮ/]>=[~ sT{́ޟ/S~>،w /s0ygsѤ6gۉ^Qފ@Y!$qF߇y]z^fbNOh\5)v>Ŭͻ:==K]`o`PyHC ЬzaH 7N&sYm^ i6xI3:A<$jOI0)mÀdԥզbR` '8p6Wh>Yuy觘u* b-u[nLփ .4S.R'+3g^mCyE^TBנa[p`(گڈ"jyH9TtW@DG6]:P^(!5]:zZ匀dۿ'Au7u˺!|D6ARA*A"zćv%A%b;6%WR;F;`2N"fv賻{H͝<ӑZ!zȊIǹ"qQ׸p{I6)_/.wÿmAná D¶P:4a3 h`va3W Hh x]ǥ=PIuD>IQRmS`YcP<*2L0Êoj^`zjF(2H.Fs,,¨:S-^CPKP9:@[p܌^\w9 cەaAhz>nA}:8>]|`8&l'=BO 8:#ћa4~;͝U>M1V$pDfig䞱p[55;ɇ#>?7K8sI;wt: ';glѱ'Dccۡ6US\Pl=XЯ`jɤrLQ;ylxwN~=]9*,#"(Y dGF&aBte-@C^Osެ,'Y0}cwmv[>="clN< 73=:%Ӄ9d8d*`ԃ(bׂ ɍCY޵6ch:KX_o ;.|5o"   ig;73YɑjiàsF\"O_z$vN]IOx_ylWCNwo G⣫ ">^C^:KV=bFACP< o b@rǘypS/{bY w8h\)̼7W+,9 2T)]yY Y6+$[ 8*V{f`-Hs{.eÙZ&jp&½Z@]Be1q큘9lAd2},wV ف` 'VUy9 ĺ )PJ>^bѝy Om. İJ'MѦz}xް'/x$4Τw6 $04o ꂰtÀH3$@:_m?^Ǭ\4hn>t2{o'=@ [$"a39^v 0ӖDpi^yi0-``d aT D VD{$vW=ː2aaArLwE|~o<-=Fne3cہF8(uMk3ql;G4ksep0l8n%9]gH4L"hWӖTa|P55[MΩM ï4wNϫٶZ+v7:w ̰;w{!;*E.6ULy Xg_VĀy>;ڡ*-#@ X*ȩUM#A"] 0=G8DQ- 1pZWc Lm{ a.#"l)0\=Iҽ3<'kҼO[ORDa:<}{xcˉe0Rl|102}|6`GgE=%}0.>,Dvc`(6I`07I`;l+ Zɫ "F`{6ix3iʯޅKi\N`d tnn9#.8}8 @B0 yQ gyC@ Pm|O&ʒN|6Q:lk3|WSJ==40u՞Yw&-QL'&Ojb`!' 2yfX:LI2x,jpAlwty49c>bT^&' QJM, \t SrͲ!}t1q#DXPDu,2=!—Q%6Lܠj6ҹAS|h&gW>{[ I@Bmau^#/9 <<w.}b rGfdPL̕U\ED0=kwʹs:q!:fUCJ gIӨ4\^E|eCga\-5mly<'JoL)}`}<8ys11cfKYp N}aGJV_T=>{ZsR!As3gJTz@FbT:k2 ` 08c{c96-Fa1bx:_ u{Txyhp1ߍ06 n ;mܡ`f )}\QEQEAwBv>?5sϼt/gg'{2AS9>] H"%J~Xu!!lPD۷cWڷ'KCXϽ3ƛ<πz3O<a=p3[r#m0:Oy<FuΞqa|#JwYkQx"pȳ^<[g:4Pr0~dY1d0aC٫1huPaP˨6ST_^Yg۲g8yt90`P45)EXst-օAĭ$ w:kn ֊׽2pSL\LT)%No_lh1Z J%3/ ]<[qN9ѤI91<_g$kcP|  t:wO_p]C(0uS0^>Gw * Qb "@ \3Iy^^-2pݮZM /Y7;Cms+<%5i.ߣ^^4f;= s8En^y$Fi,I9=}4gmwG|#><q^g)fp-fR ^AAH157b`n bz#HLSf&Da -R7[:tD2tW,H]ޠ @ҁhEpkn s^3nӞNS 1  5'.Oa8QwHe D[`ijV7/{r` PP!xbP8Îzrk9Ei4:'C=00,igҏ՜~=PT^S4(Xqsgw Șp07\` mvp|scŊJ,#*(!jxyAHp:]k|l(}CqG'sD 76?O;"ٴDwyyjSHb`Cn`gM6{; ZC gK:%&n6Ԋ'_r,͎ tNW3jgfke!4P7`,&Jˋ^J+ 6"-'*WF]{xN\#s2r;57:i5uzS3ĚMK:azm:EZ$  r^lDŽ!K˟K-#خInWE0P.@`MXcҥHI[Ylk6|<:@btXX0~ SOz)C臟ׇI zmX]Ϥ'Wm{%QJ2l[Nx4qgR!ta, heag|bCvPgX Gmk㒻Y9t3JPo*oOtFw-TJ{Fw;tٝtpi'gF6qqⷷCjÀ) Mx\NOr>]Pmw\¬@T,pML=2` )b62㤬kH܆.g]t4:NK<els 9-00ԹȠ̀$Kb|3R  $XH+f5\( Ȁl iZ Jcvbc, + @>7EX(vS>kC}\ Q-ɥ@2QI,QA4 +-MAdaSկl" <̍`21c"*EX$0Au*K"d*Nc\H3쁱X2:")?KikakNG2&pzYK5p@, w4azi\NQ~ɾd$hgQy@ Ozu j: ^owP* _K A:I5+LRjnli OQ{u$RFRw`Ta݁n]0I]t W;M÷c%l5)ӟɔ asx$Ty2.@UsVCFO%,4+}ãXC`v&|{`HɍsjխD1Gd|QMLS:qɿI>YQ;790 /544pZutV9Ev(n(9 *y0! 2X'.5.>e%z&;wP@nq5:}}D+=z1tDC }*,/ޥ 5W/ jNE14q$0W1g~Iov>_'"W025VPa& 31 ,CvW cN@bDlP ePF11A%-@x v *5n1&7[4w. p݈ft`;L:y?\ uVuu2W!I]a|HPI8$7mj7˗Q*4rP|AXg`Ζ5c= |4* q2+1IFB(H`)*JNl(R(tX DxeH/: %,d[dK$TRoz|9s' t쑧Q4MF:>|##zL#O5x&nuχMYam\tXInh6 8 l;Z&NOl_i@MF!{mRq\c^NWClz>=X,*=$EbY0N=QuM@ 'ަLϻs7k_ɯ/PsgYi:/MǾxɁ(SԲS05+?3w[kt~|\gߤq 0'ȳo7Cw:!Q4?ͣ c߫Yi$`0" ,$b,IBEZKn'*l}~LeVbtgC{*f^ i{00rGD{?#ngt0܅MQ&ɻF"g;+k  *v$_ ҟWo3SfϞpWya]t:ӱ7(=]r}| u۠|`.W'ifZ <<'~ ;GZǂh/@mEra|==I4z}V:ix&Rǯ&~-eRIW;/^G\8D-t d`n~zTQF";>Z΄')y"[rS~Tda%"(xsjh@}yr}{1 s\^oyHpGWoqr2z dp2sU^][yh2^(9Xཋ8Wnu0F=OΦS櫨Wh\,f Z!L_˯]͵C.|y㣜mCV]2M>NU{{~B 83/OQu'`S<ǜhl{>[^ 0|=ғI=t̿iЭm!L%ϻ4fzv+C]v8`1>;3(a0K1J,j e%KP'4h @M b#`rCM""=^AFblӨL0XijQ0 a1%2ژOIJsl d77UkUk=h! 2) .eyȡg8HYk`sPF#OTUL#RY9>o.fIe@=\2 G][wyDs8X~B ;NU *-8%bsP i-Q=_FRxsf#x[wʘ9Jtm`b_?30wi=$Uo(EMlV#"{iηdS(B%h,`TY 'MHRfE,YAEX-R*?ŶYn]WCܰwf|}'W_뷅/8Ȉڀ`?G\r A$/[ ` M͆%)"E)FIITK&pNIqS%9)?d#b!FJ0R`p0hĦ @{5AE4RBNC8'"!`GYRNPBYJ?x cQL 1*?L`%(dRD``:F0)><% Ntؙ%JGeeeѬJCx[y`đI)'J8ujFSCBgNQib*QZu{iih' I:JݚY??Xy' a~Dž3yoko3"BMLY9D1JE,,JONul4I\qvYD@ȅP hT/~g>Q)-rX{>}amNdM2pA>1+Ou1eTuͧrԗ'Gl`s#'CT(2K|pL+:fpIt8Zw$dEmt$Qksp؞⹡SDwes};kmQ{5?;qj Э-ݛuYGeBā)ۀ8 R x$*JXH#C"CAaY>F\ 2kiO%5$۫6f69?桁#t07;kRQ:zLſmkJ=}axo\1ieUlUJvR?R'{߁8#[wvN/ 6ĸ?@jT? Vzohɨ_nTO-]^l'gcn֞N~l2! jbbdP哣T6HVU[-E (pb,ԢvEY%TVG]7fu[{pv|N)5sp#(GK+`; ;;g)%h 57}+ω^ O߫z_k\f}VDD(~ 0{'@4E?'gW<1^/U`0R6,عƚLґ9b `c0 >3BIˊsIi>$}D0VKbb*^A*RtDH1T $VB~ !3|dvuѬ,ÄZI Tn7G0P5ia;h1#N'j(i(M+i#M!Z*:RFq@$]+˖`l2M;^}!B) ;8e+TZa'GBJ@Ԑ%( )TɝsMoאz'N $=$Qd⨥J*(**"15;< op^#q8\e#^T{eꭚl=;s 6]@T J@BƂw4 OGk6~ Q5 | bkᳱ-Zlbewe~Z(pcax۪ C >fxfY;g:վ-MT=#6PRPC}JeUz)N>zYьpR!c3dDΙKˍƼb ȫrF3? k k&CƇĉ/45l2>{=LDը.?ZxHBE vݻv;'nɾ,9i74=l p)5-50_JXǦto='k))1O #C&I)m>|(vܷ>9C!0N⑸`>IdOT#0'Hf!CJeEZjեVZ2;|{` |WWu@V-8G vvp~?#E' RSNgs<5Gg*i167&m?cR3/t)ҵ3!Ѫ:d e@{w_eHZ@OH݅6%=NjQqMJ.]=4I[RՋ$QTX [ T(QFAQu,8N8IgjgM ͶoV=|F`nS-{~Jq鬖X3@|yGo'"=Jwobd)]qd_ `d AuHv1 \LVEQM\߷tm#/M]ynٺހ7Q H@ A=Ŵ\31&J (a|u&bAMeWˌyyحb] Ng<[:6=U!aTaV p~F s7Fމ9,~'#ɧuGE8G8ӰdǴ>ab`#16)FOA8[/|8ǧգ\ߔSd BcsV2_یnÒu0;S˫APH~Dl̮HWbvwfF ʣs];qZភ:Ye^? `Ϸt =!iIeLTZܣtG fE!~żjǧv xO[Y]Qw+v ELv0PXj[랓5E%ǿ֮je>ѹQT][.RoKsd<gyG[m6Z~Sތ8.W¯N+.Df><]HM9SΡߣޠ(:!\7eџvmWXK~SeUǚv X'A0|7V|dtj? nG\1,<[>#3XFK٠,LH(U)B(f "D&Zd*iQz"0/7;,zt2a  s3" NyZ1sf_82>CvP(t߬fL d SE0 ]mLa]LR뺀r ypj1_.#)9Z:tۯ)Kb ' (+¼VO=Ӑq M{M T0paxge  SZB뼨({τ!@9E@!*ymA ]`F | -b.L朇s̭J kņM"Z>%/:ojvŸr8 }=3ZSfV@2r9:dڣn{=vi 牂Mz|a"^x>3%g\:u>_gJ^x!'v:v(s5z[X y/DOeVH0D$"b E=f bc. ]R~ }Qf0>mۦ"$|!ORz'x#GflF[T-*伒#!cux>j0y Cf'8YSpa@-)BH„( G1P 7(Qn#wn-]+:XoNLWpA89 (RvAR 'B?VcZU3I~Hl̓'>>dY6U@HX>m20]kFI?59&a @=iFuEQ VITj{vNq=(<:*%#Kjh \ v4e9rB^ Ihd_odHf1)9YniSJvGjT%*EXxm;*)uDw?vX6X:m"|ښTk] Ձ t+$XCLB z Y5!)(a82J 11*AD:0Ymz,KnFn˚#_[ ᡬtyGt#1b+5kdm[s(^ \b߱HVye3o!r4مs{P^o%b > @Az, (rC~{_jdl1kFFBZ?r3R&[*hthLJf0=XL>hsb{Ah [oFNxz?{};u t9hoGz?u ~W+x d`ڶ+)cG)+)Faq|SO\zV}}ݽc2mܪ#z-RT{,'3?C~]l=zcFbv<ː J}y~@ *2`MAPǝ/G啺#X9剒gWU9Y&)dFÛ@}21aՙfЮsvP6s6#ontho1HBȲa ~ `s~EPvD%RqtQyu(B9.@F^^[̷9B %A'=a8grp1s$V^GCu'*Je>-v^ͯn^`=u=1yY9WpU9B 5-UF,Z-K8oZ˞t<}C@i18 9">/-YvR_^u;1tG$o] =6"~\{9o򽃳C7v߭4kD݆Ci_ "f^bP$uDUB m Qd*U^Rcv'Hm LhREa`/z)}/^p6}!@3GV9u符~3!cwDC1*22A; CV{6sg7r@ax1u tʣ dy9/P-4J7_X!("g;9Px.pNkXX}<aJ@o*`;,)] ARY+R+jn٢U!Ku\»j8?ѤWb+.&L 8l+rUpQЅA~)pjd \#n+d@Tl n 8ǩ#9B` )P O-7˩e|N5vFDY FY T%"*hwQ>MCJQ .$z,urs@h2c90zx?ut˱lQ1w%8Kwoql9P`2'\!*9nΧ.pn-F؜ΝC;N3>̧ "Ayo=%A2)(-/\mG3Y0wIlnqcpz;MU9wVQ93;*d=6ö[b1H;F r!{@ͳ~sdUruu/MStv&@;cq: PE ޛc![Tk6Au_;)]3w=ybݱ;OW|I=Ϋqƶ¤ <~MD cd8'e z ힺjΰN 9, 8$D""`G_>@>?IXc/mᷖ}GArzIbhY@/t;X80|xavyP} ?AHMHT B،Rؖ[C d1F/H~,+mzҎO(_1FZg, -?\zks46LʆrH$b0EFo ica OT'}5߅<"<. C ł4.Ab4źRx# y2\ $SR@Fa%@24̘&E6u3X)u]׷pbpGCoX 5ͣ.pcm<Ed`h2v70lS|]N ep8Lo8 nlp76662Srp)fQJLo9Ϳ=Y"_Bäm(R)PpU췸&H % M$_| K:&i3s5:, Ψ7q8` م'Fyi';!} ~7uM#@)09"]hi;׏(2R(8;h4xNH|9$N9Ng#H?06$鹑+ɔ3;3H"i|$gRD,1_Z6IGL ~. 3`pHQe yTJFӘgl|13M)Wsc.-d3=-dIRd^rr103O/k8,C0g1^FO 0S99}>AĎL"ML; MNïZdu)M0֮rhq2tge?K8{vHaCeCZn1Zݵzp!B8>tsDs2X38ٔ sA{Ӏ 6e4;{.̽J8MTL/>?$ `rwC{Օ6n7ΧSPGoկWVn5= @DB)[RZ#>_bb*Q{4ݠFFLuyt|?ۍe'OWl3WTP7KbƩLBof.Zrd\PlTVԠ.gL=&Z7pq74x#s8 0{ě2L%L0Ox0 C^sA25j\wJ|ћt<;u}-Hdu*@P` ZjzzSC7ymm MUk[bcvcAG`0P)c> ?{i-m ^8l=~* 4(>C;(?7oSdSJ/KMd(I$gϱ̧7qYb~ۣŜՐ,}SKZ p8}M0>88rțwxO xN\${x?Rd0`ɫ"p8PbePl@l'IAǤS?K#Pp=Wc${r`G~ԈC>_{H atwjN[]t8zEWԘ&cC0inH8O-9  c(~@Lf LjU{$`ط??'NzrD0'4`H#$'R%0?)D#_YoW9&W[RЦH{ZJPX@ V ")MӑJg\k-#Ē };=H SA&]#^ec3,CM{W&z0sZ *XOS ̴" 0!K$)30 a% Tl-ITE^E&@ @+"  i"ZZ֨Z<]Yj zBszM*+{G`K<]{f^zT ѵl 6ߟRsS) @  Ip>?m+YS\E91TNf/>7V; NTO/|z- &ІIZݻ&3P@L @%-v yXvaASqk^Ac00+>=ǿ'#5h hxR^vNVn46V5gZ+lJ&`_Vc[H} 8_ahDrr^Z^NncDu#=uK:ܧ.^phH6::)3\Js@Ic4}ְ*q4O׷ וh9tΧȣʇ#9R=^%G10PVs^P`#M w . TzÍ]/|\yr$wq3[^0 lO.nXԳ`s v:Ik/&MwOrn<{ޚICJ X~rN ڞab~3Z%vrCۻ 3'֥ɔɪ8p8gzcȎZAz懳#hvg?hut28 pǜoAo5u/+[HĐ#sL00D*DM"T3S2 LCRDm}9;bBCoݖ1;DZa!hVsVxг]jMݛ[ ڵbNHotHc9?# A"ύ9e^mqڐmUf2hgge#3owVųWY,SjyfŐ=\LLf_~=3 +.z'uspGwϫ72a|J0FQh~!6oجQG&nL;ѬԕWGBOȀ?8e~o+#1\ټrʃ@fy[9ٯ|ĂEUkE(Pr?"_Gj7?8`jv+!$NB:kל9eQD!Ptr;BBb0#8:~s`$uphpK*TR}PoB{tOtj#벬wkǿ:j]ݚSVUtj:?O?dU*(z6E;`w|qvtοWxryyfmO{DR1`~BBA1wVCyjC4 G9h2H^R0* T 0-zKڒմgNF֎D$4ͦnZeHb 8V4قy25?-2x4׎VCZ "@-$Ryzs˽iE3*[Vً<dX02@h"Ćդ.!\y$.-t2 BLU[5ea!izDh, =| MH1feHm(EQBLyDŽXuW3ęU{DV׭"-JD$#[Q4j= 19Uֵqڕݬ0a\u ;,hk.IٚY *!P%|иa&9V%%auV퐄fdO3 bS"W] C7 jM+@. ш[+A,Id&&"j"륞6Crl5PO3BŐ,@I4gňQ1^|[iE31HnZfY(0(ZəuhXޛ.P](* D WHbVyeT͔Lu,tB hBgY t Bۛ1H * 4ڴ(qh&r\s$@ e i ba" &PD2XryŻ縉D"v0@ 8054'GϏ>%F4SVghܵȿ{;MiݤƉ/{UaW_uEevfl_~{?ʩ{Υp(S20`Zk|_Gt>P0ޱ`◸!y^`'&25GTF|XHq\OvnGn SNJspy{uO_ymY 4VLR5n8>>dMf 7c[%lXެpk GԍbF{Ud",{|Xjl-ZO)(l2ʲ̮voEN,cZ'Ŭ ̶kԵcݝdk޵k3*Ы0~Ko\{&txS42qUlb1i^W?hbbuCW}6VY2㱰&o4XɃjqYLc 8Ls"E71uzHsjc{z˫^#z* G"/P`+'JeӓNJk ߴ)  0>R yv߾ƃ%+dG+<`Wg>;^ky>i Wz_X{խed̠śg3Ǚo~Czpe] j{3m!GI6X%q.tC2fR:W,Z.r"r+3ze!hh[3;o|_Z组+d8Rt!r\cǍ2Mkk:=b15IO< }m[ۙt<3q@,uՍË> _k+|At As,!#>,*-8sS<ؙ-#-YE[9!ц=Ra͆i+JŅֺ]VEi ἐ]jԁMSe0G^fim)Ax﬐) s3$32&d"h@%a ߲j&դV+ZDǒѕ<{ C8i As p( D re'_63/[fլEc&ir90Y"d6JdIX\֬L@Lerv]]fZֵ7熷; # .0 BprЬQ@}}WsY{Z{><;w!ɽ ,1ą)DЀKj %ԩ=uEiD&Ӆj]Y -H\32C01d.wAYqKfBJJ"M'oיS S{{gLϖvocEUwZq^~_ KI0FTZ]7$XFb,U@UV bm}q @l6S*f@ѳUxjҳ4j65\5%Z.ཡ:2Fv%su?ؗXKd\#ZFvaٖA^3lViZ [$lj5ek~}d򱕘\ V8ZҟgƭU{;k?ɬ;,{V_Ql\yR`u{Y@` oH_[+꼭#bM~2\| c@~ -ےh֟]-9_6X?jB?女3A P)o_7(~Qs.u.s}8~=7pƠ}+cC6g}y|lq0v҈q@&a|,?Z}ft} Qnkῡ3:$>)H.fdaHcʀH\4LAs3$3>7&R(i5|A$UKfQwI* I31&b"k)+HkHCKZE,LRR ,4$*RLxM-7Qʔ2C$Viy95RB)M%[=+`rWX`*c75ԭYO537fhnIKi&m<;z滫"""VN&լ͓:6w-ɐ"1 ERFJAJ-6H6M$YHMxY&X"%Uv[+2"2[I0I4ad}޹֔""+ZD^"֖ޘıbr uW!dII~ۜ[fޭ湽ZVqIIImJZkZkYr=b䤙-I0mI2y3]sxroYfokFM\X5,05w[~U.//[\?Z[:#U-5.Sve^jUaX9/06.td 9~qklo4m /+vV׺[oq[vϥzq6vݽ'aay*pV04990A@~h {?6esS(FͽOQ0O,=rD */1?'"XA@#))WQ Yˎ!n}~ |Gm1E0 SP2Mjm: 4JNv}f_eIV362="!M ʪ[I;JgLFfz]eݗm^oZ"%%iSZa`0~@ :{ _#1=?@eRA2 kѹlٵLmK-""+ZDb&+Sk5y}[m iKۤ%jU1kK5Mhb"kw l;L[Iu* MKd<nNok{O_0'52/Rڒ[I8m-+|޵fokWYoz֖[S$t*vh%[V\޵浭kSVֵU\,2[%%[I2[%\\'|2oZ37ڪw-"![A&KddK[٫Y:V-3DJJU.Md%[I2[%[mK}[޸Zֳ/[8k7\I2[I0I2[H&l9-k}sn"%QFg(k =f")t"#(n@4*xPqזwթ _@"!DV{g.XR8cD 9 ck YW 0`Bt6+B՟kP ȤPIǤt ٝ9q50G?X}zuZή j%{xmM;5d@%fLdӞelVi_jV[2''zEgv?Q^y)SK&f7yytMNΜUJ_F\!u3'*eI {yDDRm3elL1Dv}` T-I'5}֮{oG7.7mڐƿ[x-T x)ݾ={*_ {c-ů |Z?B[I0I2[I2[%u8kb+)qXDM]Uff$l -k[k[k[[kZͮsyGZy[%%ҙII-%u9\[=k6u99zan-I- 2[3U[m7KV8D"%&HjfvKddKdL\u|_KZ֮-k6Ҿ=--Ԓ-:Uγ7ֳkWYozֶַ>fDKi'S'2Lئ+kb)4jD$V6l,-ӒfIlLo6Lb+)zŦa"&0 tZRKdKi&Kdkkykz{{ֹu=tƺ֖fIm$lLoJ]kˬ7o|zmkYz[}1I̹z1{׏zm]b{g^S'L=}*-r|en.0,zqO݂Pfo Dc/?fT5ߪH,׿T(V6!HQޏfȳ^ae{Ye|[/d~d 昬¿%e.!~EVa]gص:ʥ)wJ`VeO}rkl;8|/ɲfj#]"kޒԅslyVFm\w32l___7M^o汉Hzt> <ɟ$$dKddKk}l湋ZmZZZoI-%%[I2[&[L]zͦm2, PqzI2[%%[I2[%oַǭ^m7k[k[xI2[%%RRK|Jg<{kZZo7.+sI2[%%ULRʬfk^m3eQUWllLS(+iDMb"RitzfkL0iI--fRLKˬ7o|zmj3z`u)[I3JddL]fv@7ov%[K$̒--Uֵ7o|zo\}9A uƒd2L&qm!X\=PsGn}W"GXLD"' 46ZQhŬTwpܳM\Eez-oZd|l#@zo z%NRUdFs *?f3֨exiwi+Ļ׽/YwwLabzhͬ|d!M+/40OFoj^zK'VXe\sJ6vR#][,>|XZSeoվXQ-_4ovu#OV[u3\bxmKK',=yS?OaIH|Dp4Ddq0Gp2lڡ-N|+:])>̙fi$,6j}}]@Z*RJ!?J~=837LE-gzHT?`/*x,@ui~W u ͈@)@bd le8C#?uq+hcKvRcMDL{`8+&:d$J]f,k] YbØ&vmȰca1ch1m%36 '?h5xeɿ8fC1<'Y׎$"Q#HI=MtMdAۦn4919\T4+1'cMeԪth9Hjp?2u,Bӑsg]M711 ٓ7xHi R0/SUj&s09]{|OZݰ{#'Ҕ>JA?IL̶  1[vց*Gqj;DBAN@44*cr{^m)ɲԱZ/kTan¥Ǹ;:Q'FeƷյL,=G}|(]괲Us9 evEXNcKWT$Bb ̩G@OKž \Ⱥkнdd3  G!dM{86{)n5qyV|\Jѹҭc S CQC̹^|~o}&$ KXtЁ~ 94(J~_X@1?EYߥuTda,t)ۊ>:pVo`?l]r])C] %#eP/AP oTϠwakD}K d o3^Ÿw/nzl Jpbb1d|`cBnM!7.~FKV̀=cc Vtĝ`1C$AaGƣbyq3\.?XD!ic.NPd0 Tvf`T4I@<3MmmGN9kkte?2=] Z@WyWI@RhZfN*sNG{FlV=NkzM&/igTEb'_y͚팮nq.%tWj"VmN>򛂄|Q`V'ޱºv C"9ѭ4ysFA;Sj׾ɃX wq*$[&< _? ԝ^r0MȬ*Oup;Άηtǃmq = Xw~l`!땂og90)#&uk808Pˮm yHC^ny`?qq[(JǕ uf*!'(?^zv(a4Vaӎ5䦏Z0^ /y1,rSrY:ft켷Sb}3y?@ߛEL>->]2{Guv`hI ~CZ9?a bCFnk\>cET[uCwUFxjI'sդMGf0UsĘ 1MFU\39j PAΗR!X|;K"q۔}:{(0DKD!]=%AnqdLbfm 6OM1&{G4:ްq{/02`#O6h:y<`ގ] RmѻX&eR6Y'>;9s:NװphDEqQ9zXxS  _PGLf0s4F'i1-ثDwʸGӓe6[b@C,hވK&y*]z[8j7 e ӦPz)㺨M,ʖFc*Ej (5QWi qm7 'IG^}^8<mBG}w@יu]3>6:i we$8Cβ#C"R4$t8MͩFJj`0zQd4?8p'#a/w|/I%)S>'I뎚U[2{oWh\I}9I듰(v $@0PHJ-IJtuU9@AW8qDF(B7GɔIkܩs.-JͨRS`ZsUq *a٭V IRU{;/!QXيZz >^ 'n9ī8 |YyY*(O.]6s/B%uidSw:{e*w>3`Z4:._AtOufWS5uiQpWb~G9Zv'xCGυ~'=0)쳊2*)6%@?D ]RO0%?AkOm(]@ȅ[#jia1DŒ0I.LA)&X SfndiA1`Gm # o UUcCYxlk_f&؃ZhڋsaQE#7?=>3~N1ُ[l=G٦[:%54:S|a5>jJLk5V? =17{)wg#Z!'r33~_x}nGx ??gdfIhCAf_AnK^%%q!>j-ᢽ8 F CwM<+10gǀBҞ"Z4({XBH;Kw?+l&6UC<xa[x3S>8+u]qv.88sRu5M-͠rKvs88=>{Cܝ8 UT:38*X @U%"U4`|}Ξ\#Ձ8##CmJNL}⿶<~7ןnbkvwn h хnn<"w;:zI‰WEs_g}+OCG~P NJa\Sa3 ،c@O;V?#/Q?'aK(*rhx 3p,Mq.>Yܖ- *:[m aJIæsca6hbRzWdV(WImï/ sm b@l/8A{lf@{_) 6T N*|~ޏ;:ձ[Wo .1U}u%A<ӔP ^ so2"c8+Q @vb؃ws^49RDWt\i8?VV,LN%*dBoi-c ë¥]A&zҰ1 Fe@8[c*7O= qO! ׾$n:>eiw$r`h`Z j&|ڶ}>?9n}zFOίnރlq5`aCpyNޔS#|Qlzw'}cgٟ0}a%'?8iDC'fMfqȣ2 d`?|3%? G#SuC)St9lp:Γ{8 ';ndB?憦 OGJ:8Oߋ?޾E,'5R<~=qKދ D8!'$G|E(Oc *I?I1)p%*JLC?rI'~o,jI% xlt#A FiJSP^plxDd`z ڠBuP>{(n5v}Rotj]hi>wgل~Rp~w\??ݐnrE01"T?H>ď)p&ךԟwwt~|"RIJR"JAa4'BiTbI)2IO#fJdXqN0ܚ1M;GrQOD(hQ K$"ehRxu$ǦQL 8f4ɓY9Cayl8H5+RI|UUUBP$8$(!7cDp DDQuI!xyQ~ԗq,Iw>fOb١ud$ޥ?_BۀD@"B[PTcZvKNqtnLg Uū58B}Fca56Zx+SǬ{ <,xThys6ۅmO9Z-Ca<mj @:Gqy!>fP@=~V3_/O(zX" ͡]@,P@r3Pr\'ʭi7_鑱-tUg8AFYP)ԐA n &kZN*hx/~1䚹\6R]ԓZm:}q4MN{{GR<,[w^<=G0rlt0q>).ڏbq;I& &O<#Cc>HN߽)HRESg3LJSb߾? L\xy$[o LTdgY$B;q0ƔȆtl di;&iAIfk(7`k]Fzb:єn4-`9XR >yc0Lw7&ȇs647Ds @4P !Ҡy S 'k^>1T~(G sh:dc~GHAR ?#:rqQJ @ _߁0YQUw, gNU%N&E^Zp=fS(+3i!I6ǘpq&ۿpz ^rng@`_ɟǣ1"8_sz c%oE@csWU!++0I1BM3i.j>%a8@ UZ`yU%1Psɗ5 1X ~ܪ[w;ef sj.^;=myU1|ݑ2A}KzwuV;*ND;h "X`qG(Q01D qOU~9_8+"ȟqYv5R>GQR CAh2H f:|:Nw|*α#w]o-V&RƌH-}C Mi)|Oo;yIאyÿEmQV-)#A i-PXXX+ F"`d,c͸yxVD$&8e[-F#z 'FrII:E'I:)dIXDv]G0HH9/g1#)JR"àwtJoqaHVhAQ`?g<Φ熪#BX9!0<'Mo}τtǀyDl:NH*e'BCʏ)beV~nFPT9BlA2* Mdya2X懶55cN99 Cr? }&AjD]`tR.%!H6,!Q &}O,0l(XDH0(p(!a)d`d`dUgID\<[N&|'XpP$ӟ.qڽ!%Xd{`($yi[J+ʣFH='Yܚ XKeIVTQEػOzw֭vxXge?q^ZM&dq&]Az0dD<-tr30%Be}>!җPΣ#<JRsC?OfH `w; EE 0?X;p~۸اOXyg8߰DHZQj*j-E0EHEH) 5 !i D R AH6B AH)UFHU"ZYXR AHT! RąE ) ,B! R hAH) ! ҐEEHU" #T! BD Qj.FQj-ER*sbU"Z*PR AZR AH"X,H6B AH) !R Rm!R ER-EH\j-EER-EH H) H) AH) ) n\) DQr0FQj-ER.WZQj*j-ERER AH"B*AH) ) B! R R-EER-Eu,xvH0)"QDQ}iHOkWU]f/©YU|g'eۨ hV6ªEШ6).RQ{,9=ႊQ YlY,,E+hhcNl,MD*>3}gep<=Ӥ3!Ejl'Nȫ岔 د Xs@$#lH1Ǫ[rAEX_899/jua.̙e`4.}Q<tx55)N&^h'trr)L`C3 ed~Oxl{ѩoݥ0˔%.~剀_Nc \GaСˡ,0H' ǧ{xGNS$H,I^FXգ`$jpS;E` JR"#TP l҄[ehir_gO}z*G4qA#Pajv):N4E>Y \_" +w bFbn0yzsɑ(_?V@$*1c ->nhbgi1 kbfbjϥ:#0mhu|2yqo!a!o -8|+xL8H]_k4'0S> BU=bu$'NBQR0*3cLH5s@V(R~qG,.ux鯾y_w?cIv1&@ ǰ[ȡ(XjYX|F\δ仳fHHv[9\;)0Ctz\mM ^5hyVwgLU6S+ *@1Q0S jSDaLqc*ƻwK "wI$7‚^*VGl"VI|\fϬVHhx jSd$}I }&99A `۩JP&ݎ.͘ECL>%xL'A$`dtG*փC$Dar<@SDRQd))Q2F :v5"`KvqI0l*0KF#ZRE@`Q6Tl^;Fm|j1oMcy_/KNDuĂԄv*DiMU#bjjvv[Ht_OTXq`FRd bJG˺Ch{ٯwFV٭M|EDr#BhqlvȺe"VO|o_=g]EY%_Ly߆[BFtVw37( m&'v4EzO0+NIa; 2Y1`MNF1 R|~cr?MU lH ?h_g`QDMLGޓ G||)c#D@|I)EB"'<,EN$ど}GI;yJE)PE0Ы\.aQ5# S< jR1 G@>()E)E)))`z,Xm %?Cxa$spGv6d0"]ܰ.) # y`""m*WұKm޼'ZYQM/K{b۫s¼Us̰4i\'ٗoSaz/02}NF.=gu Ј>xFgl"&iޑ>΋@z_J7)1pʁmY, ,{@`LE1i}-Bz$ND̉ #$~\@.,d)bQ1u#G"~Wrih㧱 rW;TTKDqJpG4Eˆz}|c$v ,BēTS(dĆ~rt,/0 l{dIaOV~ ;A=&o"窽wA?ኣV~BXg|76]vų_Lf ܄ lC5jS73UB MIY02rp`13Ûp#hɭ6i֫󨍁3כp'&r߿ݮb;ap@`p"7/VstuG;+ɘ0r a)HAp_3>[N ,^ rh;?[ om= b?+;ne! )(}}d-}Y߱FbLr}IжҠ#h 蟌)JRk&=}Or%E'4#bP&IiDggIgQk'tx o,SpjFNn:_px*C\ϮU\:?Mp4?S'WHRqi9)攇|´*bOJ}-dmdPi"SR0Hy1`fƓshFa#^>3y~u$Q !Xʙ$E| =7'qM\X#]BM~=Rf4Gf iہ47# ij$: ۤj hLz*CǗLuu&@l&b0 _bJz9vtBs)Tx04]@< }L9-+sԷE]om+V6^ۧ->:aAcL%o܏.%<*6;vd#aŃ>1X)>Š :ih%&u1 k3lVjHY8#4RGI"0>c/?xdv NDd0DC#NRKb'oX'J~?3mO xGBCI(&̘D;3?.d~M$:I11$HtIn@q baH0s[|̋$ؾJc3 qW RG{zfNԜlI:454444:$N)zkX&<9) DV;B@ @UhOx`uQ1]H2}|EPBcA/5@vM^oA uV}l%n~rjwڼHs#@"F̾ZB(ޗu*$R)Hu >ȝ S&C&J11-*c)`EQT`FJ-Q0fN&i;?guhHg?GGiɦM LK<^8/tDL:x&OL 98]|}BU bzla,2S30|}<刍:؊T|.ɶ=V[.Mxtw&@<X>GUUU뭾9+AC( Eu_Zz0QkQ='**ǫ RV @rg9o dM:O4HX>I$>R#d<{D{G<_V8W&*2^U`"'boừ~ +үo(;&p{hIkDI<Px3A7) F{ۏ&u۔('zy:w'=_Gn>3z-Ͳn+YG3'l0kghqXV2_m\m5MJ5IU>P^7|גIb'}}pP~RFޟno:M6ZY3N~EOn#-2(F9IJ;Z2AoHb J$( P^Yp=\-CYXu &x5F-0Dw~.^Z(3(%ɖ$)[ʨͺ-WѸr4pQFCM5? dɃC)L:ätH4"@U(YuGdLE^YD焊+¨x,5^p#Gw g-Y?\zNC2xH `QL%0R0FwgIWhhi(XXPRRX b ҨcN"އ` lj<#&h)h>w[Ý0W|@1 ф\,<"Yҽi ZTLvwe]ҪD`^ˮ6smF80Ĕ001X-/2X-ǣCc*1.#>YfAQTITRUeÊ082~l!P`AxP-3h#zZhۆq}T>ƒF4ԇӲ;b N[rM2#-N{f+ZUh;,ݣr۴u{W:7,{ C:g:rs-qڻTUΦ`YtZb|6Ű oƷq$~KWʟe7jsn}lR~ȵ: Z{;;G㰏zn\Qܯ;PӊЍjF0001ӗdKѰ޴BѶ28QRaqُoz? ~O&A6{􆇴 A2꣒<K'7G`R*oV*3A;)g_MXAh>|,Σ|+R~?T'Co7Lo:tl6)c >aTΪӟاs5IHKNj\#08A!Ŕf{m{>_U0?KiE.H+w]G2~Tf悰t̾ęɰǖ4X23Gm86r9zDOKa78X*n,1﷖ƥeWcog* 珩wˌe2lKuA1}9']Js_-ug7c$%uڝveͺ3*X5E,e"+[h9Y,SV71kj}q4L ]N' _{S>YEgE@Ed` c3X 6}0L$ڙ) s.a~0:2?1XC]nύ ߟo#,2 ]wL0d<&=>WpJぞ`gDto(q5hMۻ@iQQHd\5/٦$9|[rMY#3VAhl\nQCG{ G/fy]]\ZMVs$ OIl/>C>3/NB5sb$ ML(CM " 1%?7J>Mc2zPFkǗq8O[uF郵mi8KG9 ~w~*Omp9BXUP/`HT,t,SçK'-ƚz*v)@# 4 N&C1>`2(>ib#HBN%"O AQAHڅ#wEXR:vGFRn*@LfAbuoXX6CDǒ 2P%j+pBl5;&AGJJ&5cə̀ߥJ@lɘ bU~Ҫb _.VAoz}rJ%U=s gVe^'o8#,d:b@[ޱK.3B)@~4T#2UMt2C"KaMtdC;>+3I<koã4_Ss˜A#??` 9)(&iKR,hi[TWUHn}KL=Ջ. =fgAv0` Oȱ~Չ=~Ò_^3l))J,Y_8gXvΘbfԛ2pc:;x4@Okyy 8 o2i+9 5q +%KZ}Q;.ƲM|=?;<=<JUxbsV.3C–[`6vu%;3C1d.:F0Rx{o}ȦvMv[g3n]|l< R&C%U&;2ZID^E`0FCDL.B$a5~(lm:ٞur\BChb1vw@5`I l)`F wyZ1~Lhr#U5 O a,YB6A]_7ŤP:^ oyF*5Qxj8l n jpH2W 91x/lߛS9NeanmYNߠqo+cluT^wr|y+WعzwMKLZ; жr -$%1TQuR6nڌ:ΜY+Й- a3Gg|p ¬HvFt2Ѿ^ϑ[Vxjvjڵ`ly%cq&-wKVچ=@l]9l@XX@Sb/~$Y&֣hE>B+̆vs}M6 /koXs%'QLHtBj5%Idw8 1zq# 13S4Oםr84ȑb?O6pkM i sŬXX)O1 ')ⓠXĚ񓟋9Ydja<#M&($돭[mVj޲i!BRuSB9H8NٸÜG.):C&$.ɼٓ7)O/rt&Rus:X/QM(II^uS:eL̝,#"YrYjpRy&SxdrhWY$saU"A aG8ѨûQU 5(4;v  .e)c fo35a /7.Kf*ԋz3e"I[Xl2 r# 2ۏ84:S}M#1QFܣܪ n@)&Ð&Ma3@'/g(6yx5v] p7t}B!8CI֖{Ԥ;M3'`9rHDeyz6\W jۄ "$B2<.aY005b[ t>3MՁd&X1c&QQ| Vc"r# ,TDB3rqHi"#MDMDN0"Ē a¢=IpA .:r`*$@f]䁓[Dkό`٨̓Spp, =Tu{]U`i&mc <91*"3E@bD6^My\>*)POH'?~?M{Hʆ ߤe8+LjaY Q1bm/N BOY8(OH@,+\J<׸:$Z vO#̓l>ߣwzS}W!*-N\+3#ObK:F>}hP20*@0lB$P!SQ*dXT$$$8 լ<_-q$I= >ecN~鳐D@xjD΀{?gY=At?ޒLI+-IN OϢR)44)JRfUVP1G-FDQR#h l $"P)N C ߭CuanBD D`d$H-0Q̎$| Vnʑ)/@=Yy3]g숛 `NA dV$ԴD}]"SDX2,Q?uDRRK(P<U2x\cX9 L2 @ SV &6p$8RvQq48#/bE tPq  ,y2X#K"W~:Txá)nn#(5gJeޒJ!U9di* Zm '-(A)CHN' BBp_n?Xڠ{ތLjT1qƌh՟&% Jpnh8v[m> 0NG4!a{*wI-{7wU bEPfE:t1V*$d>I4$[$;]IIGEm^P+ acG2I`0܂1/@V+*hts?P)Dh^,&N )CLHCŬy<`< A7P; [(+n P AOrՀTYTQ#eRT"DZ[6%HOb->5xs.0LBsBM>vv2d˜(3ݬ7_'3mgd}ݫkS'kEa8AGx+}`'sgM?2vf[Wl{(79A j6}J]N_ãm" M*{_uk!dS'K$=| GX%0g"T"0c),`t qYU#pv~ Cp(jh(%.4$:dČ Fr\  TJSo˻A-k3ȒD(H~,* Via'3>xyImPu\,-bBص~kZ,QTDDH"F }`93`ClfS >'SC²MPi(N890c$iI oۘ~0t#.@j ̀H5& G`!669Ctd  (q ` )4lM C_)hc`Cڍ3 hem2ɓ%)FXN ejݕ4e\ 0fU+Fdo;5 1Zr:܊ `2ugY JQJ)JRJ`JR @p[6Dz\t!#z/ P#9C-s[E.wk~qD* R0'5_Hh/2 uK_׉gAnbY&&V3kn-c_ϋc>v.? Jgq~6~m5ȶ- b1[@t>s #@uo r4OhbX+P#e!I\P q?j@{]}$_9A̕,Zюf-h¥-ii(lHB(i3)m-eqzF8?ĺv;ʪXXI/ς|S*D7'I:N& `iI8w;WUd n}7>LS]GOڴw@xzAKآPa$b S\dBb0V+領4%HX!9ShT̷!3Nq(a"ӍU0&[`^,7̤C} BDF"FF <~OiM\)*NNU]SN`Yb*%Y#L)R0R:0J`7J)ŵ׎sww4;(n~yX:Ir%ז ")4@jfP;9#I="`(,)DJQZ[@EH2TRJ,FPV )A DR,*GƒH Q2Xddd# d0P!HHRH$'KZxNJQLZYL ,љRš%,L6䆂,hS 7ih4ːiܯ__/d#H,H0rUL z,2"qW(|ew=sB1 7s \C YZ*S=s\3GkG|~p'.C`ڲ<<~9*góDnp׊dSIcN^WfBydQIE! 'R1zqO_#w,,4ws6}Oy+O0T ȗ q\~ۜ` нtD5i(U%‡^>>>#jZ'O;N.+@6(LbُYm<lb>2Xe#a ,YI'DKhwǴGr\IYP ĪTW~sjؗ2D0'pA`@0EӟE "?[ (QH BڭHʖJ"2Y%#բJ8԰,:T#(D7:v2 }dvAa !`hHLRL,M!q!dB;ˋ#iaZRn!EL^B3@iDYFlH0P`0S$&#ho$neeY_Ӊem d4\b 5$ĭ4RcOLy7ǘɱfskشEmG.ds =|d"q@~ |r!h՚{."L)s`F,,,ĭSI?FaX, %˟)!HB/DUmO@JZ Ap0[4ϤfKR11O|^C8d,E+O!vAr$a"sD8 㔬E5朣'tI @JG1 ,WyvٛHbrt2ZFc uŠ'!9* qAd6)lu!nW JW^[V,=[TƲ%NH3R(\sZ{XM,dL5h=#i72Rg#8ɓCCv4Y$)E F0EHSM E%R1$bG0jRucLGYp,>S2uتP>}oZmٽڍ{UBUI$,XbҸI!kvc=>D %IJ11\RHjIwFGJft"N͖g|S%&JvI*0(69@oLӪ1"1*Ȫ@XINR)qwwd("tU7iɊPDFTI"0v*mB((W+ȧ4TU_![UU}5=ǃl &6l%਼HgFCC۰o`|.E(&. СZ|XqM_iP1tA&l0vVv=>Jn~?{.X>"ņ*XSFqHjGȘDQd!YnL4?T+T&MAO W7!)#8%i0ˎ&\ݷ_3Y۱jBbˑokylz9<)*I@u}]W2?e'*ZFi3A 0ILyڀn&/׃Ā8t*?/^i}ylG4i 8m0b$cr8uwr0SeL@ԗ$۫D;ccws*lA3cvC^AeZB)>gYβk-Dt린%BdҢXiR^D&g`M `(*#s<$[=$SoN㝭|Y7p-`0"-%$ L9mk4*D 6 #JC)ن p Cܤ "@( *UpLqi5Epa̋ ,'.i[miFޑC,FNDNr- ŜlkYjK50 fN|W!5 2#聠Ie( 8@ٵ\ }Y\u goTyUzMabXrQ4.,:+&Ĥ)&K6Mɾ2Dʇ- !HkE_,{Ë.UYQӻG#QƦQ›eCQKG2,Laѻa]V7*[5Cs 16#n]+vZXhɓxPwUiZ9Ԕ,-H.4n|ߟ!E8ARRp@ts=okUOGVV0a3$V RDp5ĉ:bbRw3g9S[_:@DAx~nn}`9`(ǻ#td_~;iM2Mano~94 L`dji)7db#ʒ!F yd#1$j 4ɀ"``ѦY!,-!͈a\[F;<+ d= \'I  ?ÑlA{Au0?I<{oq]w2` vuAh͘G 0qyp"*7 мNg#;с‚"Bę\C/io j`|,7=ű hBq9}^ABS "5Y gR+3']$$ fŖ`7 RB$.1$h B6h1M lՁ6RA\ɘ`+p.HDpCE U\ nXa:7)|P6mꞲ{;*%4X[cdET$x&>]M>(MsYƘs b|h8 ML43$XA)MO=s!ň"I)ʼ=àd; .xY95V/YLgSFx:.#5;NPCFN}FC);F8G s= @j//'S|wF֎J{ӃR5Wu@/`/LDSȜkX 4yR%C-vts'8{Cp7O!^I%dهlvdHEqO4T=VK(S ـ@|7ί#v04J-`2!7tRNJ ؠ5Wgʾ<n>i'1 i <X?q!6CsdPSA+)9ֿݬ%7=YWb@F$(tu=gm7u>rxnQDڡб*$ @A*.x+E/= ]tP@ʈ 05X$ Oh](8-@ՉvL,Rf!dj @/ŨXZ-%DŽnRTFq!.!7ʎB,@* D)Kam! &&L ͹~g4I2֝HTHuSꐔbY#V[#ȥ(v#JBFK BĦ$ hZ`vRD>;E (؎W贚F8I` '5JBR*AzFXmӝ3 oiF!gj_H{y=~rif#g 4k#Qm]8c[mtA1`kMyǫ躶8 4ЎllJvqwf<3wS:z9#Y"~x->y`a/pl)=.püd)w;C{7asa{4I8XNag>f~gP`7F5JRjnlr^YeWT26piW"ύLj-mT6 ٶ_m8n'tu0ssOr|DGvtY2XH%C}u1$hQ7lJ14QK̰ZN8babg^;(a5/G66 dH&Z  gPp mfLKѫ5bq ^_iJJl UMPxl P` 1yO}u(m۲8$9(PEgAb-X>5ti SDjsh}Ljvۙ ¢GsNrT݊cŰ\6>xr?Y(ڢفJTL|̓b'!5ju⒎6^v6dPy(#(՜J52lh9 e(!`Nol{OQ|Uvr=jjWo-穸fz98[Nacm, >۞6˹h cg,Ai'_w4Yt*("P#N(,b F: #B«dbȈ YִH]|f3Ǹ6o!@s=u 'F' A/\h//QL Wtt3GQpeQޝIWNq,¨4oW|H6%!M fmZTpS 䅳& )N8 Jћ0R`Lآ8#q:&ļiQ\yI bz1Hj2OX]y բ` qA F*r0ا/G!~gv 7{߬^_]Wf鿹62_}`\m^G9 b/1=@`AAlQmI a bؕ$[$E"ԈXKHjRRKJS0Tht!pddd mة-`2>}L u#JH|ċ ,FF(! ,$Aޠ:Y@A~xLYnwؒTxk: xFQ[ vV`l`~ņ zL?%hEPOw"G8o:5톺jOT!I%JX%*ai,XQc?%>ى3q[y\M ,OE)JRSlIIh )_):N^ۍrVcU9Byd%[;L EY-z SV 3aD]V`DJ fVs)%؄Rڑ}V KJ޷'#cV,~4Y\{oQi<{!!n RK~NC LU\.g|Vz&<4ֵWgBz Ls(&L`&̌TBF0XwxPl ӏu:sǿy;RzG3ǶZM4^q2\#x39z(d]\#n69 y-_61sHEwyXAPd${NO|E5EY~"':B 6 T6?iSJ _ c28!{ܺ? `ImRu5lF$p b '$A5zDI2Ȫ'!0فoewj`FB&w(n,f鼊)'B&tѦN&wi6$nXV L#7qS$Dm!dQ I0Մ`0 /& n2ES'y&KZ2pe T!6l@ mZE b"DE naɄ&L$ff6v\ɵ P4{4{mxt15vh)aIh0c #QɂDl@ &+  OC皺Meq cB`(eA"*@{vGp7  :mlvs{]Iڇ|&r/dS@> VPQUI(dB`$(%1HBJ #(ȩ$%HI0 d, ,QM>0,I$FB8[Z J ЂdO͈RJ1W<˂\Bm{Z$ Q,dU-NHjL::$Dn|簙M. 8$YΥ\`16X, 0A8@~7 e - X7S/$~dsTw.xY2n4>.`eV5%X$77B);XЪhҪ @Y (L9DH7ɾIR(ـt7-\kf UJSi=[<1i>G4hmLۍ'#<\5fl|$I|Oi $ΘK4rLZQ#S6k'[#.k?`nG0v@.ĆPH_ &Pwp=D@62Tu|37ﴽ@r( h11+D M(8QZ*0 20^7 $6=v"a|Yx$E!+Vt,6)u.pl 9 fIbGBKI75'ɓ24ɉąeH( Х(2Z540u06)dmR=sHߟzݫedY ` XbYRq?pJiHHM5LK%7¢uK!C:m((_ Gcz;:7)<񥇏c HHn{ZBZ%dI $ ,G1S6)vqk_9+DpeK*,-(, $TR(jъ 2H)P ZUQQF T ZJa %,"(d2QHV(ŀe,K"#20TX"F L$J#Ds| n,HJ^3ԛ)d lY { ر-$Rҭ[$LY,) +;#~Y=^:=̇lځ4PpG< WoU;uGH؊-#IXI4fzkЃٹ>tw8:ܘ@`WXMtYϪS`!t9) L!BSM:8K!̊LQD #(WF%>_u] ]Q;ΟnEC\gWjS+DDW_C T/CCRXF`8y(x$m',G5×UJsAhڇ:G8bI'`b%R05kRv(XĠf)_,&`bȅJ(NFjX* ba?'#=9[qHU޺ +Ich\hDEHoy[qw0^>rbuM+)Zg_̹}[c5mbۨSuZ>{J R1')oHpPA?PMF}\}h=!n$ wFv ?kPBC l\*LUDBUTEB%B+2ʨd ;}7ϣǡ`S3^}`I!l{lVZv %=0;8 %? <~S<~!{ϽfN[Gp,5op6;$] Kl~՘ @>B?mI#c`o$ F8ɩ?b%4leर4pe0P+1c2O@`_VB s ۦ$( e &5Q%Q7">HAi*}eN>?ChB%H°A0+2Z6a$D6pB&YY2)@!u32$$C$ %&a Ȃ$ BItXad Ccp7.s<6(Hxf! u$澦ōp ,|򡠙v+L|,nH,X4@ `ऒS PP1bIjC@@WAK (c%Ph#iEB4si"J^[K1CpCbC *zRԨslt I؅>v!uPI""8Om%%"ԶK$ R|RVX'WQ)OR$wSӃon:Π8x`ة>Hl<vߠnJ6 `]%0Iv C«a(h+KGF4T뜄0&``i2@ӘLN_w`|񳆭 b 4*`3N^>gzv x-MPZ>eؙ?O_؎i QRX ;n%;kH g XًȔǁ,б)dХ)DAlZQRXXbŋ*3!##W.w$a9򤥈lUX-$4{pJI0a"1# J 9&0h4>}F,*$p !I6@oKV?PIڪム5:5\CGa[]6H$YO9B`C':@4Wnٙ 5k33339a52CDä;| LD!l5?-2%iRj*S=5iZC@W69.Hl6mVܦS11* 8HRBq h|5ffeB[kVLK^A0Y4K!5dnLP٥[R}V K XHjdFq dٛNf܂N& an5 3 *Tnх5"In@ 02PuWAZq4dG ]8 j\ `e!I0txJhpNAdYV `JX+7ƌ(k MTe1b Hc8nh(i9 0CF P( 4 7G2Ѕ M{D a@(>(`kFKVf\=m q@>[Q 1 牘4Zi\*N&O !4#=K#BSuAjY"J*jjXRRS f*^cz1z,1ѻ鼙D89KKd׻o=ɲ0%"c#ҌX"gpHxP NztX!֞-Ұ^}E݀vd VڐYgO$c E/FV y'm_F0. 'L@l!K€C&=t3 R ؠ00/ 9 Vzà&ȰWHZ5aTٔ8|&@ȑO:CZQB.4EFcq jk31@73-'P-=ح`YDR@[T5Ur~粫 #ۚZa3Nϭmon)DE9bM4t9`::kvz<&H;='FE@ 9JS L,Mhid $d2$(XI<$ K"3XRc$XBEG.FfRc#C1=-txH/ ⺼p},#1<̆a$PH)} c Y%XRYPl()}[&8%,HX@d"͚A%SꅑJp}Lf/yb1Ctj9>< "Q\Nl:`1N,;:NɀfsƼH;(te!F 64Y +| /c^9ܼ~~wT-!LR""1D"Ȳ)1DX RY"ģ`B+nk¸4ˮfǿMKtl')H*Ir, "uf`˜sp:d \Tۚ փeצ`EC X`A1̪{y'n)e$;{ok X,)srR>H4-dĒFȰŖZ*P ,BVTDDs,$aR9a$԰B1 B dDdC ;yyBXĩZc@݁7zo"&F5aiJu:?Rwp^U`3nkc[* p^5XR>o_)gb9==#{( * 1`t45$} E@%eF 44Q,$REڠeM]58cQB=_wG}>sy$4ML~ {ۀl|tfv{Mgտ 7} ٔ5=|>rgʭ<C]"QRX@/ (<ȉ-"=X;kk[3o|ku85thk^WimCbKaqM{7< $qw&$QgJhaGv=Z:$eq , bĸdYI$d:{U,+"ҼL%8GǤRZ,"H4EFMc1Ip*!2AVHʡX0,DLI92p7K~kXIީҰJEX RA؋p!fɻG@,zQ@\h19zԭW y}' qBa/I ; T+xM4ߪDj0 KJ }*EByGH1N2V$ ]H;* O멏 g$ZQSgi[cZTf|( #NijF zN*S#7eE1HҰ6'WD ! 3Z l4j&TƔT?{7؅Ε`p 8QD-'ʜ. ܇$/Ggv142U8"E-TG׼pXDjL 0eiQbȩR[ *4FTpI0fD6 0` SVaX"+$P4Ҫf1Dn,HI^27AxHY 0e<t.Y_b`u \<]TwI$@bD$$|5Ď"aNEw,)jZ-D/VH$!J+Bœ_8$QA-lD䄰hȥ)iPH+#S)9!E) 2>Q:o–Y򲓁b2HrwafDȺ͙-,{kJa4%"ԫ%Ey!5,:b!FJZ~iY2(D*c) Λo|p,RQW8at; B P%1 1N9s;%oT.8 ^Xø1i<;Ƒg Max&,UZ5;Om~Og1 vC#PSDf ui%8i1Y.)$L\HP!Ql EjBq%z&ZyS myu/{yX` (p,?DZ=,_]@T>H+fO-1nUlt¡mb0<3=8ym;V8{LH^HtkBtaTRrc  }5lz{lg?iY}|D>Ǘ>Ie)~)?bw,B>2<pť.!"1.p$onk #g.`>)\I,xNp4"TI|gqBߛEDWI9]>s8?Bva"EXDBF-HZH$$DG^ue\>h"oρʰ4n4Sg_>vT,:2§80I8Rg$,>0P w7$͎"T\i>\JjBFdJDUBKяR4% E2PM,Us8O%6 `"h)`,8 KF j,` ĐAX[ŌmB &e`2,#$ *Y@jUa# 1Ѕ" E‚ɻce@Ő1@eJ(2T%e@eVhK p0R@1dɉ`v i1(n>1g͂: F*FXJ! !(HZh2QJcYiukH (qm ew&h.)HsHP`(e4RCXBj!0h#LqaHVI$'ã"(Td:* cxbD; +ev~3aW @Ec AOd("HE5@mjlXčZ(IR,a"l)&L )TBR)#bش7%ɱ_pDI1_qnNz m:8 ߔ-TwG~ND,1sI#9@}ep3ҢuWFH5FQLV8 O4nbjd  n3C БnZe R&:%u%CEhfJPC{7B(4@f*n B3ضk$8P}ڏ`0" 0""O4cȌ^(GqV`>σ]i~Ͼ 8Pn0Fъ2;6OI|O)TxK븢@5_z8gO~&kHHpl0ʉppXqAt [afЇ b6Z(+4;^rDT{*Ɔ `m3$fB{ӛM Q 3 $I%F GU'H$Y$@`H$BA PA F~0!$)"fW3./a}D^r$]8`?@ y*RQB0UX$dTU$鈧fC\҅n;6v'N5ur*A$,uHpt6{4@i|Y{cs:"vGE!XWn*KQlRK#?qH;+e3@bbň$] @c ,c"35@*HCAԀ fʶ1 4ktAic&$nL%Y!j#6]pUh]EH€lD6Q# 6L$P qSZ D ɡL@D MPH0"%&,m.Mُqԓʍ~TwIH7&ڨ>{;s`_<{f%cFeoM?񳹻ݫWXru<+,EvS }3 @ u0jYGoX?П;A$7jL~R͂$5#zEBSMgO <5D2;0}[!}V0a7m-2Ihrp!|F&ib8fΝ0 j!}Jm? >y  ۙt8p,-4Ie(!L0ZMՊ5GPrn^{nQj#}3 ʮuS['c q1[tϸ)Up!&nl6Hd45$n^݌g^ @80DאY~/yĨy„8z<]ƝԼ~&x[ϼ9] *֗~ʎ<k'.}^Q !ׁ$+-.&ݦ;]Z0vaMJS ASI HD;gIP0<懬Cԙ`L&UcrPVdVx#s@\/[ ,0@6wflr֪!ϏGgXoE3:w pg QS5{h<9H]YDSsW]-`I0Lz^D;w,0sיw 'kN/PBA)W"P#))lf4sߌ5`, 3Zٛ2='qg\bhw,Etu4f0R];iJ5Ko* s2Xx;3R83}}FU'u87!TI=ûJ0r:m]nvbphpnyK̮FJ:Pd:u$n4hβkg?mz~ǘuk{!! Jb<:y8QX4F!+9CNYf'NbSSLkϗvfy ifUbN boBRgz/m&*m. '5#Y:cֈ5 ɗ<=z/Cx ,V O, g(FOpdMcGq׽'_%)\H6rg{]XPA  Mc}Iv=P }$P,ee@}H $ rīPC@M Ryiic|VdBeUd X">D^Bv\R- 4D2&Y#{6$ޚI3 L$㒊B AIG}~zz 0LO7PKH2;-ZT0wBm d)+Hx44lYA֕iJP!b  ԏ#g&fN5gtQ¥B fP0a(-)AmYJhcP%@AЈ 5XMd"bafF*{"c脓BxNLt`$|/|CRN<')ڲTmU*6$1%ѥ5bk=qcpv1:ub'ჟyYrC", S.-Āq##ϵKAh l +Hm22f T)f3U&b0.LT!" 6N>=w7l"!dY#b Taqh.!0-7"գpzQ>6 $C"ĊZ, w G څJђMP;F#PIy@&Q |LHσ|8Sr-svr0$>(Vs-J ۜ~PWjT  -)rŸy=xzs=vIe=זFX̏9 oo tkܙ EDBR]6vph@;'ն >HRMuS&I"U(t:䏊l`/kS$HP*#ZQbؤv, ͚):)aפ K{b}*5PUB4[d3 ̝*2% adXG)dQY0 5MYi6,ԩὂD#n^(,[ ,! 1LRJRUC ,,LIlh Y`nYz,p&0A0&Gz)RqMtpÜ1Uz,:)T[Yd#e) R R^s_$ 9k$&] xB+lFLR!<)'7H12HʕjC)"uZixdhqh67,af>J҈TTddFwj8*a{6ǯ`Y~KنfMy~>h  <| 2՟}OXlCg~4n$P!$jB3bnÑ2S%ʎ۱y&|蝸nsw j0-j[^ٓ"7=Z柇m$c#`AcZ eiY,,K,c}mFBHaamxDV1%K$+/ fg`DNlF[ /C۬Wi. Wzp{76r 0hOxd 0Bsj ](0ɩ;1PynoPi9Q#s0M2Mfmv2a4TXSC\*E譩`rBv&8p'ԴSCȔX DNzxP;s`QDn]lՄ`@u@՚Ɲ3ԀV!5 Yi4 3WDC| m:I8?=@&! ;e0&O_Pr7 ndYO07ke ŵ%T-JXtWy i0DҒdT4ETƂ1 gBSzLCroޫalmN1 ZLTd=ǭ"!xIj-K!Dן ].`Q;X1` W@apDDR!X$),* +]6 h=eh8KLjjHBʝ$ uF{7;0hjh0dƤ>0 HX6UA%~:H ܥ5C#}&BeQ! (Hx%DBE`6y- mW\R I!0QNYw]FVM AD&0"qNM ,IY01 Jf@0t3fAhLfL Id0gBȆa6DjL!dV*P!]!7EքOIhp[1 J @EC H CGS RL91-s+Wބv.N* !>~ $KCc)CS6%5 ll'@Y\@49b:!',b)d8TĒ*RAVڅJ15 ,1L 9!aT lD YYP% j|H|Nl.*1dbDvnР !SKRa4 .t443!dZ#ӎEIu`eN4ʼn:Chhib˲Y"J0κ5yJhMHO BC4mDƤA8j;E/2 &>:=UD QC&08"R(QrH*ς&WTj z*lbLxZuIQH ,.1XNM"wi7Cj ek3[z TOnh(A/`#`҃}s:yX&=VK=fVxȎz`{0Zo]uòنofɨ}ĄnG؎(M3Ig[#[ԝ@qFPI3X dYI̠HDc"1r0*b@`B Cg;d$Ԛ`4ϳtGӠ>[y5UY!GXH_E1S0v"4G&* I& I-|DGG@yǨĉ8i#(>; )ەDDED RA$0}!LA2d:=t>Rش*JM\(vjqÑbK{F(d/hHa?]ZIT(B"-emdNd$ \BsA7U$$_^ώv0QIN6ŵbv Oa,BJC*6"PEUU%Ѹ,J0w?j WG|{yXa.̔t^wzB0 5G,&Z6 74 T dP(ae4,JL&G=bMLv$43in& Ltdee;MJ,pמ@Y"Ѳhѡә0h]вg(1,ݠn"&xl)J4ve:Cxj &I,JBYdZ (u -yR6! C)=%tfFTFN))r8&,,doh|W|r >JE s2Gȸprw $RE'TӍd8d1q lhOl859QIL|zaTuuQVղsQINXOu@ "|)Dǰ([2ઍ +EOxD\̢ Nt^āΜJ4}9X8{~ZH>3RWwB_x! U$b$ĥdI(¤^aR''YdDYa*:ޥalĈ/6ʶ:?pը:*pNqvAP<,9'<Pz,Ӿ[ebGA(CDQ##(NF,VPF! @i֕@1d; wޕI=ena?J$TN0DN0 {@/;Xɤv(vȡmH(i/hfbI>l&BOڜ)"T;!@Pv0X xNIp[P"9Sd;~}YJ%%${>1a ƟAGw>9 <[&Ia ؁HԐa$$Hd)1Q,j2HV!Bؠ"(Y L Xj(AT$d DAb  dbL)b4D<=iؒwG)bIYt2k56 ͽ]jr6BB`\m+߇ 71!L5iz,r.:_V&{rѷlqw-7\yNxz5p{A%=w:_?1=P0PfϽ1NsBz0#BKt74 6 $@"Axy4 ABVaaA B|VjCN&9gmiJĊE;}A}sN$G>[D²4(G[SᕒaCoۓghn`x \ X;Gam{{^P/UEU}t@xs"  _-֛PP`A3` l–zCH^(+AbN#;-Q/  t]CO'4%Z!Yy), rY[ƴ;_?ތ8x |77/%O&ߔ.K?{tIU, BPT#U%=/v]Oclfbh_riMEm';Wp"&*n@^Pl2D->k)L\64szqtf@B{6IdG`)$RzCCdI$XE BL6"jKf,OXS _ ׷ /jCwy$g7D 9#5yx0/T|YԠ?ή,Xw=wLaHŵk箟euox@PEpfcbAg/x TFcƃ࿆ zmLA=q؃_(xPv8d ?Z}i|M[/súφ0+JEr$ C T%n + +d$"8I`h S<]>Gi yqb'YX7pb.(^ lyOl}6 S]Y\p<_ʂ\tjVx+VcIhN7jduYv;E,1蓮}shϗ>-96;x6f5 F8!,YMRo]75T0Pа u!CHŠ+v\TVDbT XH?k+͟:0/I q1KX5atA8ӓ2v60 R ;㋘v4 D,J $(lkO6ArHhp:5+_TҡjG&ߥ{:~ߦHnX6H 8%RiTYLI%ji%ʍ1 ``5QfEq`L8(yAHv?C=^?B7iч琐DU*/v[*>{3fZI# zkPS;<$f> VS7קp%ֺކF*&5@cbb MU\1W;[WK6/.Ħ0ŕ7 Eq`DV(22DE h5"`Ej"0)bE`"1bEi(PuxR( Q:+V*PV "(±b(E&d- [@,bTTƊȈ l(PQX?>TuY!b`a0PII!'_5OYY~m;ŲB!VijRf AQ  P8;=2T { JF{+uW.7!Lj%2[UV"p. ր+VSl8ʛ m٘`gfP HXB,KGLɫ࣭cJl4Z၌1RP fxv@h #D"|29T`QfRxRǓ }CA@屏<dtkJSAS:B:t%lf,ju1[[fca1t{衜vn`6N3@8#@7}9&DA#+#%S"׉,c@]P|P5P 㥦*$CmMJY)ؗ~6xGk0T^EpnDp21rL2Z@X23P]ehXgG:D<р9DaCq6ݷgnOi,"EFCK>yOy%:yte/oA>9ݷ Ԋj|LKQ1Uǃo t؛7zgN+NNg-h2V7 ]ݳtgG#&ׅUo8Ω*ù:0paxu{nV5k9> 2ݪl=XN6G4l&Y ^AxIѥʨJ-;^0(.ʒ 8z!VBaBxtIݭѝaTg KV+h=>^}i}K~(癩d|r%KfCc"}ylm Yyi-SU#P%m`%S zC86.@iҵa= {H(!V,$cg K;NcgGUbe]g]\2f sHP1QT1MʵLr>جF¢Q@l#O2$dAEɄwŞcwWiӗU \~"!G3Ŝ|f|CE'^p8 k`X1Dd+%Cl0"UdmIB$2<0iOMyoJ*q.Q}N;u $ajCl0 +i;2POsfpiE= +haS ˚}@)Dcn/G"&{f!WXAlxsJUTBF&advc.j8`By!o: 9\vqj8#cCޥےݾy;i%ku~)%)s6O\zpDk"?URF]2r J598bps[QUǻKjF*O\ψO9k+aC' dƫqY7ȗvI5N>FuU[9*|2mHO{eSw8!.*hv)EQ/ a2L3YoI_vyŲ+ Qe{|cP9Edl)Ɩ`?oay4VVʼÊ\u-/̵{mvֶ/B8\'b!@RN;8Ҝ= LC%&kw:LIx[ˎز\YmđQaۖ ԻPu0 re5ZFZ=y䣹3&{MįOVHNziSDd8^A7lknʍ,Q/֞Td J4O=#V- /9><ˤ[!S=}~|E7`ZP R+~Մg'J^|յ1l*׉e2\ jrV3]02 ?K;dn[AysKECoRow}HB8>.oVXR7ktʙj(3o^1yNSlTMEIlo7йD790@^gjs o ,ukնfaz@EHقY91K]k'be^=懁!qlqPݛ6\8vZL1O}/I.eYe}yU\MJZf'\z::C[+2agµUO[xR`%&of̥л[}(}?-MxxBDM\cctea_q,[$ 2 K~Zxq葝yH"Xq^S䒆l0 K8R Fwʆh7@U-@v@ t/YNK6:"ΧjijӺn]j{|}+QE5wtZ[}jk'B7 xM#jF3ќGzl4q?sWc+ jxu<=o0? x>W0QWuz\1x"گhxXLz}CR ӹcM0ikrO9bDmQ7T+6U,bHc1g$^\fpdVMc+Æq1d? 瘘Rٍ9wg%D]|ќA^>vUXx 4VP M/'49! ,?i/=dW9 WH'9;HBP~k֟K叄v9oWGÊߛxY>4EsNnbTB#i Ӥ8zXzx}`-X`'R%Xه۬k֐L-n/^Aiie\%d:svi巵\z \~_ *1*|V56icb#U:CEFDyp'vT5%,BӛpzUŠPm %NhOS2p[mʖziMu9/LUv) _NG焤m'Z~b9X.Zz_}T,v~Dyn(?H Ig 8нNeXX߂%/LuLHM@e;[ɂj\\-b^n|y:3閫n 캴LK]m2~ܯ*mCzy?b\RT4]wdOPmf޶qGb(GLւ3,-IL|r2yצ人ߋ{m|3gC^!svgir8FL~F;1hR"b,q5k[̶c(RxNSЅ 8ɤE띛gWs0Շvn1CQL[6 cAT~=J]frƠWk­14dTKsP~ IOKu}h5 =c/+q<:4e;T[<] O7f2g^@C['iީ;nފ%\cG|8OOu@ |O%sMN6rw9'nn)RՅ],Y}>UV'#+B'$H;z_6|fLar7`XɁOoT/wۿuY &zQDHY;Ύ,_kZY|@+Ƨ$T<8ILӪN9A Kɓ?_1L/rc-x󽖄&iPy.֓ʰV±ct#-vHrNo>@Dy(5YBX8ɠgc^ڟT8CcQ[XS(}g3wZ&3lkmyN|[0>mJ՞V\t OtӼ2rbG2/R@("6N0[)RL\I_clJQh]89" vL OߨE4g3OCUOuӢ0̐>pp)'`QsM-yftU;Odfn]'˛s@H)|G ~-^ߔPn_v`[Ӆe]B3emw<Gue֙(:2-{:]D:&M,[=vPcElȷ$ Nnsj b$Ѹz;nC "_jY=pifu-,@5YB$V+Wbk*׸~JP0',͵H>Hlk9y؛R4@~GuRʠoI湐y܄3ggM&=ɧ0ujSIS-[x.i+%5 i4`6E!ΑTF4 >ޛ_[Lֹ_-oNGqyfūtY6|??phAU4P*q+%F [u U(Yb1jĀU][L1̵ cfԯW̢ ] O=h g7x V_oetx74[ {K_YbObFܬHdN\! `LWX ЬVӆ-Ni ?^S˰8Պ@Z ]Wty->+˘ϥ{NEOQ`ȡ7̉2#F۬.d.eeahq,I͘3Ļ%^=@0.S@D;Oxk'վRY95˴w>G9oʽ )TKsEkVp gBÀ W|R)( Z[/µ)LvZR>X: q EYKi즗Ɖ ;*<9pVWieX'0BNޝS̶|\,] c4/4y馿5V&U[׶Tפ/I^C3'EQe#m&°,:4qԟ+< ׄfUʽ3u ªG3 1Ju3CTIxژaq<|?fDeY?J^zcQAs `($< x; X̃g;׏u]QoDUov ۙT9D v X7_ңR!Ca|խ G$ RT@ju1|BNmo˭7NrBҼZc c$\;.֤ilor^ 嚻?s^җ[-8|t8_;L v]t[L0?D1ڱʤy0=̦tsKnFgk9L h wmx*Nij5:yyPV C!@m2RVqj\&9K.2c.{_ՌMww5<NVQ o'Mp?xwfDHWɜg`$yuQ|h}m 4Wag0LX3'\[j5S>=>WOI(lRÛг=.Y~U!6A%(g= rGxgl犬`KkV /3ߨ4k2W`H?mcPX+_y"l#L=&35|/aRp i]]8ýo][5 *!ӼV7T[1Z= Fë-eM=DJU-F`h;tZ,_httm}uD.Zz}h_G;\"HF1~jY}HN<t'{1at\IlXt$sn/;N_:JbwM|uˣN!Hx9ЬEhlnE1q5m8Ma zK"LpBIPYSK=1 4._ /kbv3 rc}U^EZ #7p ?hV^ݽ{綸[s-(*WT˕{78,ۻM mM׷qtp=bӒ`Gi3ưzee:y4NJzrPq2<I(vbe!d(S;g8w?073ur}[;(\!K'w`}"-ɳ*g^7+t~?w[ioq-#8f9T}h+:`Sӣ_ÙHlȷc7E&Hs\& fus*O[5Όa<[&lnkDBƓOp Sݴ_>7n7I7qQ9IK%ŞkOu8x<=T5Ҩ?q-j񩇏Ś( C7<~ +kme'"hI MB=H@#&["( ܞ]`h N9-H?FT<71S%h [@RI\/M7hd@Fi~2^R1LsUGVYbq\)wSTX @C{f@e:fpLR'K,t\[E)SZ.qY[ [SVy++yuAJX~+rBA8۔ d؈\xr4yl!6pxK?a9 47%b9x2={-UF_]_yn^ZҖg﷮xm#>*;֏i*rp4QH=1HZ ~zL)۟O NlU^:}]jsUo+ni()bgTU6[^Ku¹1sa~֑h[2Y&+{Z*&ѵ+S#E54z6f*DoI=2!TA{-ݨ ftlٶN e\wxOY0X+\_f߽EHk+lG22j.[]~C^DwRݡcuq6u}/`ɳ^ QG6}ERYiբt9-T$\v!)ƶsVBfF`F } 7P虳ezp9n;C/.wmC{J h]87~kR5\kb[r Ve,<bzr*jBLIqhҗ)f@{yFOCn@M3+`[ԓzgB˩^ ܯZ(=;oD47*t̢LӋO?H%~nTx3[xJc,C! DkVh&`%+o LhfWj^.Tv+U\›7qyOQ窏s+w%Mœ&6"Kt? /y?ON w>js#~i)xOmgp"M|.=Ƽw92zG"02x܊ ɚy|AAPx@8q8 CH C;LQo*/dĤN>jh޻-=[(7 fΝŰ;첟qKk+jeЧ_ 6=l3[zYlmd8#95lNJ~K,33riRKҞTTgZ.> 6MzV#6Z}{ԮvW$7 ͷ]([&S) Zq7M@x-z !GjX8 W֯(\ɹ6DuiTcuń"{\S_lip }Ap@Yq+owoE Ү40-6?Z֜^׋Hj1RSȦ'fZQE\J@5ysNIYʙT,aQ w- [8݋Ùė婜I靗_߫GWoanb攽4x>WJzmWgȨzMG"A}XwRQ"vɄf-XcNHMjw^Wx=0=|M5&29)\֯B,*v7J K"yRȓmz褍ޱ;uۋ ۆ;Vޜ Ivr\zk>W 'dm9֚o8s7mu KYځ/ ;Lz5V R0b7:oTT]ڊD7FfT: 9y][e6~0c:'3,5ni+52ٝYz ={l|TvW5]$|MPYۦ_WaIO}J{E@L\V櫚>YO*M*:Ͷ)=#Tw}SA_vH۴ilz7wxUsR_OY2|z̵9gE|>'[TgY}eEl 2C.Y> O%(4$IZ a5r6{ĦZ< #Y_kw7,מo>jGW R0,~4 "ŤS"5~2fF̡){ $DdٛJ4Aknj9>`U/?r|eb{n~w&S'L۞z=Rճp- #+mLKX'WFݏŮ1(Q\#|QB K2_5@8?;kTIcf~eEFKP=K$t~MCt/a=c'Y,KVgd ;|{V%h7"ZGlms8ѕ_G>qkI_(] Fn{UXswnkjsԌfai㻤kczKb`S6T 4[/4S8yO'>|pu#vR֟S{2!+ 6&C HG'. x&H}%aeP-Ew&i kQBmY ͫ8+4r 4GR]= om4a5[ٷIVذRcq׊ lw64cWbُnS/Tb]piկt;Aƭ6)(+v;_qYfjtFU1!xJ9*;^?vo2y3TBHe1;,cʳ! i\#); Nj4֪8)~H>0!#٢Y#5\[া'f-ۣi{>yX/ 61 zϑY,g9VUwόuqB*|2=C3,Ya,'Ob˯eL~R[ztPqm?]( h&{]k9uy|<[^bM̈́3j-9?ߣURbSb6f<㶔|YpS$#:λ+D3h^ mط rż2f}uvӳoMzh]Z6IdMOדL]\ƻYd_{.{!@# yUe8Md1EI5+k~[- [V0n27ݭՏwDc[߽6m'o eaֿy9FP(WDYM\wqE!XLnAb%`O0՞*S(dδj419%|L]5ɽi.(cҐv4:McU87svT0$z#w^un|.ip2z ;}#WLdW!7mJKMM9WqJkt-irJZmSٷⴭTjY9g%RF|vٿ˻ػ\ɇ-hPAo/:|jы!daaV8D}ڰKyVܘy/qЀUʫ%nc:^mY}>Fy=Sd@U]tn%y/J^:FgP~dJA[-6K`)υ,4 5֖_cKp{l e/'8?')."B#YͯKm=9XԦc}: 1o&ͧ'gTp0(^FUFZ_ eQ墵!cvlrTƩ[Rn@gfG8yM9ˌ6iXmWRggOԻ{8ȺUaP9Ho3o®=͸`7m}{=GVm̧@/Nq&J/gX 0W٥0s/)5e썱R)4ܵ$oQ ߒXrlA16ȫV;|1_Rϫ``Ǹvs{{L0)1 ,Q<3q*ۙv0_…AdDrF0G;-7L{Eق,O(69.NCR|l0(&៵.ܪy/s$лC2̓×Sٸ]dv ~CGMGqcdapi'HM&`$>4D-l3;|-yƬE "SXw1„4g5ȑX?WM#l{]<,\?zD.zO gpC"NhfGE0$ˉU#F񉽣X4BP RV/f [KU䲠ˉ7NJNr<2},]$w7m66Fk*Ֆ-ǒB뿝-&f#h>7:Wlz-OLܤ1ȹJNd>s$Cgd#{IwK|*"QaF700~6]VMYhՕU> E/ui0FQk%jxD{3hfP&Q9Rb%̤1 =yg㾡£xG `!r+ÛnbߨpZM%s(5sd?Z'1Z.Str {{ L,SÃ7Ep\b = UW% I܃2LքuxM{kgu/Ue`q֤=b"gig9wI!/wv1L-~2_>pt0J蕌XXT!@a'?%and֧Ry-O[}ՙӛg(/Gҟk'yP7e| [ ʃLvŔ?`)tHq ] 8' _5ֆ vf^zyV.96 BK{i ؄aƠEhR`J($(Ҕ+dHs&hͅnSvT)x]ɨ#}4^Vvs LS skn%%{Lwj!b~6Hs|26D–,",xB:ڎeSb \Rf#A33&ܥ0>O"xWTqT0 <)ZSԲtm~ )q8)3ka߹Qw[򫛀oG`#;SͬeE䐚*hWdT+\`_V^/xL 4@!(oga$ưbhy7Ov=& l/NJ:4XtGrnO$H{kIdd ÙǠm4ϺYF䑠j2pu A5$  s3if?[)du]Z7>uϯhq6ǁee酮qb1o5m诐i,5Kp<kICrAy^+,7)= wFln5^I0pr={[ʑXG@7 !eοcr$W z6jFD?2DfBK+sV%I ,v2[ ٞN1A0Kt`ܡ\ʈ֝#]]!*O=9m>D2.tZ&T#$і/2cMPyhfmt+μ3=^ԧu]h\TX?u㿙a:i\xhiTRqtI̱`KS,qc"0z!Ypl.i.+%:_5CP!#x8F.z}QS/ڋ3j|fo% $yˤpب~^9gފqSQ!վς4mYΒP{ qL]mhO.Xz lTxel:z-ec)Gѭ9Z}v8 l-G#_[[>8}6}=O_!_?}3jc)=`UU, )D:ջ!tgNvtQX4U;Bm-ӝlL:/ }(Wmx8^N/Ѵ? p#vG!*Ǔb#iaphPPZ(RC%:̭2( 6.:ƲpAO!یjU.)m1Q8=vm;54*]k@Zӛ""9

|ĸڛ!6q_9)leKp~`| GAb&!jZQ|-3A\|pk 8y ~:[E3OٓE *^>_H r?b`gf '>E`Q㶜xӗpV♴j  55KH4:`#W.ثo`9m[_eF}7s]ʬyوVN[T\lF~]OYIkdoE(0[4 Jg}w􈄡 )Q(1DZ*>GD+}Nq;_<ꬱHb=6F^b8ηڸ\[~o+1'->tK[C4feL A^o] ɣi yE=~Đk~8ѥ#7"P&:[X'T劄?ekXҐ5x kQ iLB89 `&0iCb5iOk|ˑ|qחRO~m Glu3e!7Iњ2N9!ּ"|]̵jB=XQF6E?Fq>wOa}fdWnK,Yn iKiqUăQyHs rP'(a>Rv9RyA@F`[hRY^b>-*cc wSxok̏9;67]d*ݦy]?8`wlIqKL#܏;w׍{==4ESႨ?g\đinK8yF{ytqye?6]VF+"=^v\DwI/5! @{?iHI}ZY4d+I$,sqe7 -7 N٢ؒ[ +a=I?NYUo{`ccg~W'dګ5DCǝ>>(A'nPey(4c ee .i Oa((PVIB߫kDM]:P6 Pov^3?&+am;Lи+D55<zEZ'XiA9ٿTĶச :.\%5u^ͧ4(ȶ&;ª&6`XKpѐi} /OxMHUMKFֲ \Cb:ȬemOX~P/+kS kldҦ꠴mIQUAKVܲ[z:15f6exU=3cCk@F#'lV$@徼xutfYCa:vͅ-a 8X$YR@ML;\+'}ueZ؉UlBN?Lco{ΟxCdG95յ e2̤gמ4 8Hg3~ՇC1.ऑ*:wopE>n' ei8udҦ^|NL+מNMW=Έô/h\9;.WR%;O7fG4!/ ;$I! p=ywgIUX 2F tR DjI0ɑ:.MJ. d0/g*FRTۙmO6~LЎ9RFOGN%i)5+aݧV&i^9'h嘛6?%+k!bN`o)MU`c I~m1+b^$tGo%?JB,(4rNQ<YX4* ($QBVJIig%&4 #~EbJt~׾c^2:F33 reRxtb-'G7f_aȲ~T0CF'oJu Esޜ':7N+H+͹V@#cNj 5qw8EO HoR)bv}>I?תeL1ndݟ:@څR✢&}i:6+]?6[,H[.ek^y?}=cٚ#R Ś9&}=Mb?irQ=%TVS~ʂDQR$)?[^wD.8D?1k6U ExUl> OFNƍyimu7Cp&.݂,bUmH`IU*\>'v0!m$ ?ThUU'װ?PqH_19,j^(?AFA S.!_fA!;' kI̘I(ets<5Z Їߛ{UtsDiF{Hu"Z Ҧ•-B H?nHI޾O]hK B6/,@K`^֫f=3Ε۸aV)l|.x[)<42e02lq+fREcpB~vl]{(E/{M:Zի?sAװ]F}L ߘ1<6YˏnYHpӒMi WX=~LݼY^OۙsecG'T{WRnvvv7PFD7AYڛ ׄT՜<A@z4g[-DisX̞*Ľ^kAgRg ›"n海3b_$ MԨ>iq^\y0pv&VLZuSGc('n:$+F%ml tSkAd5\6lȻr;sܳHmagyClL^.K8a.Qma14K-A'XnģtE3!2<~ Pe=#X=AjԈul{)RBԯ$qILP@6Q&m4/a\0bS-ݺwLkC&B>'5;-icSU+Io0G 粲9k)[FF^33?60nP; DF[nZL2 P <,S:;P4v_aP&z F ^p :i( =`N܊QSnlIȡa"Y(q;TyFsg*G#AgEY42|0-%Yө 6֫ Ǖz*ӞTKƚp jAPQ5 .kt :J<}s/r^7z{)AH>DQI"@(Q!I"$/"!"C( <>D"> '$H/"AD% (P>@BID$ "D a>@@Ƣ!ccPC jCd|h"!A (|@B "D^CBH<$A$ڄ   (JD䏒!EOA"$IHG)$|I!Ih6a>%xP@OIP@@B,d6C! &58PP@h2A P%H^A,$HHPER@B Q%$HQ($! ID)~CA 18m1ȅ PD4eD $^$Q@I) I "P+$|GȤJ @ H6)"%x yHE|Z(J!$BA|((2Ĕ|IEQ%/ J4 ĠA!6!Ȃ2@Bp&(#OIyI"A#! I%MJa)"|IQA$E|PE"PJ!PAQ "D ^ P|) AI(%|$ K AP$ J$&[ IHAx$AI A xdPDAJ%R@R^$RD$^^,P BDIĒאHJE$E%% @ ^A|A>(@%4II(DIG@QD$P$@6L| y'ȅH@d H$IHQHP@EQ$@"H^(" R$^D"A>( DD"$Lƺ%[X-~K>nOe%nۯQI"7rJGmil!汶$G!C픒t >73%d3&5s{z^dp$POTH6:H N+tN%!,3{4I o1GOIzpgy@샷Br?>y R;#ԥ*1GHOtDp} K X(&3SRs[D_yf}j}) }) dSzR$9.fb.<; F¢fyZC1/{ǧxiQت²u%N 7qytuGN6_9S6&ܹ>q$w6j{z,mF Bt:q:^,)mb(ĂϿ A|7~"p_TMR~u1'KR7%Jr^hp#]g 6x)u[dEU-1.ԨGyКI}zWxO{kHK&ȍ285)Z&^YQ8zƥ ᕏu])_Gy.|_(u[׆yy3PӾkpäwQ:ɴyWs}2.>`"o[M;?3;WQe LKbupV"BHwotQ|?uIyQ$}Tc\8v+ҎF3PR] 2eg eKm,,` BP>[[SDκ3l*&v LꙴAzG a94sNk;!*|$" ӧ<Î]jDR|u1G_dVhqypV a'sfDP;}ʌzeC.쨸f5n¿pSm\=ܮ+w v*|'jʹY)] \>zs=81RXT^݄-B(v2Q3~"GHENU#Ȃ|A;N鷚8v 'ˀ#_ySd2PL)®.+x1A/#=lU-/5pv=^!Q.o@w2O FW&vߤўCx`t8oD71*QEd]bڳ}|k \GSBrZO#7LB+~ӣ.A^%z ;?7=Lh3VEm`PtelR9Ł[>?s\ݏ < O]3S^h`_V}l6iONr}\Gj$w"rvӻb{D*s|7Q]=`/RWvDIpA&) 0]22e 8 HO0;xB)D\B3#V6ض|Tx}_ >VHP-|yR% |wf0]rC&B8KHe!7q .=ݲ?v1Qg(;'+c/= ,Wͫ_PgZ,K)0%Mc}>}XA[ BœIY"D$"X6 mΠ^ƒT"tb)ׯn}6a{MM"Γ"ldoSB Cᄈ颮Z{Ux{N3 %F]b0HnT_-џr^I{a\>/N*/ srgt(3p9v{1rmUL_7022x:0֢Ÿ ]Tot[շ]Ć)=q !lu8O;ڮ>x+-XN:]K5YIK~;p['|{QL~d.wON}R,8l!q7SUT+|g&u'7q J={}2WN\xiw:6;$XinypOw1\=KQ"!@UO;Tk%z)x"QHG Kfb؏ 7'JN`nAvɦڍU|g{Ut[F K^ s E91S jN lT-tVub(u><%E )wwr˩줔D9߈(NOwƨD$nru uS"¤l(ܺ۠ 7Cp=^f$=s>ϙYZ}9R€BE3V ȕClUw}^AEp$,;:iw^"uuPp]Ԏ=:1L}+_Ap3Q*ݤL?3;X5tp1u2 %G- ."v Izmтf0'cMj"`uwjLic+23U :bl+^4#kS\ntl>>g`+wë38Op^y D+E6"i@E]))PܳGD}^f͘TSHVIZOH!Dۻ)4ױ&QOZ._Z6w"%\MQ=9 bbcY_k (Fa\ Qa R=za -xC^DǣpSlzu>=RiOYm-quY32Z:~]k9ƃgOkDmjS0-,p?v0Xf(K]dKd-e_w [{YZ.Fos:I2"a 2se^#` >XJ6X|TfY#bXmC57wq׵nһg]Ë2ZA\ge5 Ube G2ʲ0S1!t ,eY 1, Df,5^BH޿*4wCK=7JnX31%GX.Kr@&N1ڸsk?$=o!JuLR"|˫2N,5NUkUt % 8lwʔ0cM_`>t{A^yuޢ ZNF@kXT /<(E50yjƤ5,96۷.^\:m̦>n26f| 0nb[jkhH3G̖t(iKЪkJSx':{+"h;ػPvZS !`?? # c-qnELAEH/A2'sS"٢,!( A qrŕu䞋|u \^6 }kҎuvЎ;FӕH1u0E"4C\KtZ08%;ˠkcಢ0d=ieOLo2wqcꌠIe@yvt 9)L>o__\@, n6~`(J/V]9T]`X !b [8A_ߤ?UEbL;3Zwg!P8Gjd10nP0QS^4AlQlǦw\47jh6^'Ӫ=ⶨUߣTbp櫳^%THFS8/)P]l; knXGA,6`T8piQmx~@xh81aEx2N,M.T@ 6KhQG3]ʢ R'O%cP\]}̻ڱC#ط%>2qz&Cq[u#F"|)5C`C7;;Y;wU3|ꌭ?;mz_CM+g̀uP-.Q<ȳd$whYzZ^VF2f[q$-^*tmC%x]<- pװ8bEW9Bt`b aH&}ݢsY(5" +:* aL9J`̕I9 VJlP\c[¡YvXϘx}Z+kJ.skz&n6*w}\)-x8 +5J]&˫zǨJ89iIsÚt]gwߥ-xgF?[B^\ q=${\%qX2"9Bժl[)k:V][MPw|Aţӥ6UT3^U7c#>B;O5 6>nz_X'<3+_^b]q0SgյY9^|>fkr} tlcI^*wTh3e b.Sw7Q} 3u,Ĺ7\lNZuI)8u:ŖX#ƌ<;'`:R(eS?2Ћ Ϗ<ʨs #\ I 8:b3{렘7e :iTUXYhXryZ(j -NOHe6Wmv61mGJKGUX. obrخ!GuQ1Cvd BJ,=Kz)!SD6\^cZƵp>x{nV}^ݟkY](1y|ip\$iLP al_ cEJz:J⺜8# ]+TatJRA pfHAsxw#,?PY"ʋ2Pȶ.+<͆i:v9 sGx23$58'tT4Vqf1qmy]ʊpctF^DA̎.%?5Ms_IHZLꮃQaݠnCRиNQF_#ƈ~'-[9f)Pu< z66mA.fI {Mj۱o[ʜzObP@*bw%׍~iꀂ6!@E,X^^(*ZY/%9og(;L.AwK% 1b Б3iViޏoQk`~{gM'mZN}@$5Ff%0Fw}F&jV֙IxCo6.Bh}-TRGQvRb8ơ]id#z6.zKz(62~'h!3S=^W*('+5L{ۋNDi!_^FǏ\,/s|@dJزC{Z1")5#Ll±hoQ11J ֋"&Jo.]9 c`WWPXRR5?kHf",y~z'x 5#+җ*hďG-vy(dqć$ۀB@L#eWV_I<o{ )b4 _Si%V3jnz͊ ~RA6xטsIeY`x۰KHo=^x(n#׷rFY!U8tfF!-\sFZ# !"Q1OתY@( FW0a7>!\]I@'zn^5d &#› Nr"4-izx|ǛIעaن=Xk3jm$9vk[UhxZ9UlQSR,a:VkM>ڄIcd`+Tab-X)ox:R1D&H)b6N>#Yw$ ]B{w7X"y(Ό$P(H1"C%+m o]3ƹOJ:'xހ<E 9:ߊfd$s 7a5PUS5ҧжE;Hf4cXB| <2PA'_lTRpg2 [G,4{{j2Ѓh;-lzŔ qfH6Xut9" pȄh3lAڇe E0ғ޶Nae-)$٬+i<ЄtIP7R,o)BЛF&M[ j9592S,ؙĽPںp8K9on"ppOWe<5JgWN|)$HtwÀ ׬:2Z!YFfj6#bTJVץ)s*V5:aqO9,bsC ,FVh3ux͢V:Rs>>$Pަ/l n=a6R#ss da $9v!dS[>%=l3KI|(HmCʖ$~I7W>}/-f֋$<4r,GYUm4*0;j`ڰTWˉ9Xɥ|-8C芸8U߻9B%>F7̳?R¤ǝN֩]g3Ŏk q*PU qc+(e+c&rҟG4{n|Z+^~kN#xPJjHzvj4yN鑄a{un}JeЕ},f;弛3χgg噰'X@*:rT-Ed9bt 6o<1&B]r<-v 3"sZ[>X;Ƕ̞9 t--oEwE,Lg(c3r5^^dII<ټq _'V](+oG ]4ވթExbtЩA&\X'˚rXdʋN8:BHZq>cL>>\ ' qHCcn:55q+S9MG(nUH˰9;-@ ]Yؼjl>%m&ג`t]׃;^}E xh.XoF#5(`!?I> BlP o4p(5r8,$ԿwV%O TnRHղ5kJp2=^zqBZ#[ u88% 7a5u%:rȤ]^dv^v)/ExUUė%֖ڑ3P93P Sw UøQ:LlV,?Jvab+5E^ PTsJ&# ,!~.i`T>cw I4IǤa]Q@QECQqaZ3V%+uͦ*e칣Cp:Īubhc[ +iI ( i]̶u79W&nv9t{9L~E\bpwY]l P$9l@g7SImI-gb2tYD !ppaIy؅!|c^|,Z>7@}8t5 p`+ͫ uaЀU`,f`kgE~A!v\e)6WQx>KK{6qÆwU m;))]06S9MЬr Xn6/pjzru#yC!,(g ]=M2FAqObHQ@Ac@&2jnA|R%N6Me\Ȯkj2cdk`\"ODŽf&"K)wz,pH:=8WwR7Z QN^m1-8B4vDEDXڱnKn^ #zSFjwLnovKUW&,3Ѭ+1o %q֟gF[홶kc:|/bX>R\wD6Η̃lSY`e}5]غ'2g[e"cL8Ȑqj|MEIrH\+F*N -ϥԹ wȍW u'G~VNf|Ӭ^䠌(5} $=^Yi]E_OvZAn3Ųռ\J{Vy4f+s=NW!u,P &\ͱ3]][9 dm$l|= 㝢u,~ؗ8?%-7t;!Wʑ0%r6%2C -xs޸KLo|1ѕTG?CXB8N,jyOcG ~gvqbSAg\*E큓X &:&4Slㄮ +"xR<-F0%"a\sy#tqp9jMAaZ';hl֨{dF9s-,c_{u _Lŏ`^S ( ]xͶ+~ $<KgSkt =L10vRٍ6xR>M٘" AwLe7;-Y9VFUiACl-K}'-D_).O^.A9c5Xf\s$- Da|>+_CF—\7 %j5 'TsHzgA6ô(8E~Ə!gF!^v[_ 1Ό+c,ħu" ,ґ%aR +I@la/nZϐd%`YE!)@ҹp>t!A졷3]- a}|`r VTH\pa㓪 4k?d+وDjfcȴhsYIm1zz=\ڥDŸ 5aG=XB` xIͺt=+1^nv&B p8\w"]e3$Y6fWEh_(ڶc.pn"7%C] vV1 al) -O6!}\^ݦ9غ::v2M^аe3iC `@V÷ ,{'Q?w~(b(ᩈ^9s)!疞yl8 K#0-,?Qjo[\;'&sH\-빕lMn (6ԣU01ÀK:\ys 8щu_9Ä˥,6(j׋.97iX73%rҟ\6ts98Ps557ɪ'kl_|{CgOӜs<2PmZ3D CY$$HHQ1Y 4*4dBd?Nfk~5_E^ M20˚(֧cpa5l3bMsqYM3ý6_w2ELG˕_[2D&cGU3P2'r@ٙKU;~98V޴QA6 j5 E$m©?f'5{IF̦]> MemʋqpTE_ՎK^H?`Iӳv +ћ' 21KH7lvgTF$Spy԰g ̓ uL A~6^_|IiED{Aj(.+6 *2VԦț?d?B`SiG32_x8iᆚ T֍E}70R7m51rqh5tt3JGHw[9@Tϕ. |a =hܤ=쎉q0RPA8asJs?l(jUώ;:(!ݓ@{15D<~^u(UV[Mrv (J!:u8 ="-fTK 1M G#8,f^RcbgAgDQ,TVWeP5 *WLW:[TGwz ].O΋WڧaA`p[}^yN8lI;9LƏJMwfN/N`0YA $p 8 KS53JG ZšcYA3ђRrQNq0ԏB$ !i ko|h3 ZծJhYb.poy͟oy7MKȪ ZPꏗ&vkӾBRT"PWl5;ӊѰ$3rM8P| ?l F_`lMrI}'w:YfD7{d7\zXJ0j7Qc%๰c6_8Dg[43`V;1=KB\' Obe|/b[KKײrb9^DDHvD2bk#۩d|S a+%P<,mJz\ґd:ֹ,n=Үt0PH2 x&O&%a#]: EPW /d&"YaK4jFT}E%ϼ~-6ɞnV]vZߴ\HB*Ë=2F>p.8Xӗߠ\sc#oqH~6[2!MW3jwƮUƬp/D)cA!BE!ey#"juL'4Hٹ*Qzl`t>( =h>nLeYWS +VPyN2Wr0HpgݔY@(\AF()aԥr).nR />1s`I Q@jTf)2$ NscFXK$-ڊ@Y"=B6r8fD RO':ńtxW=va^GwMH"`%#y|fS7#}+lGSu7YӤ6b7l=k3Yz-iyW!qDLnJf<5LtL~ӱ_mGg#r;vMA- )Ur%#ΛL6g}H2n,eQ4ݺ:),( a2gʉKU];SgMR XfvW^GEߵ2c Ygp{N0b2zQLzp8Q@!wkNXS9ł3ajN,C<^-O8m.?O(Ly-` 0 ,FIO!sINFG9r>#:WbkC7uZ- {GU. Q8;>UUۡS'G⊩_NhmX ڱ7iƒLl$}?b.ֈ!۴'P(ʸ 5H(G,ˣ i*$EEWCDΡay]M5:"xYz<ވNMz`ۋNbk}Y+tn6 Kz2t㕥݄2 Zo= Y+8A" "$!+AQp ݺ\ټ@c6r/4!lzܼVܧIC /Cl2KIZ1y}sJoNc$39d2<3i% XɃIqヲ5qn̳#TEڶ,1wz,9) )#Y~#~*}Y_$=w+$;~,\8C"IܠcT?:0KņJO 4L]E#DAt"q6)4P7Lj۳"Kѯ$Z*FXS߆)W;h[.s!G#0OX<%[| ʀѸQ{Js*5)ʸphj@ #AxcO7L2TD:_3JSbJc.9:JAss>9eeW*͆*J3${sj~5p T㑕ʔ2B_8` Tج 1FTo^-5M!m1a\J+ pd|ʵ &g M(j"qW.]7:U#cuT^cTIOPTJ ;JiX15A󥮯Ł!\K\Q:C2FU.OtN59pWJ[pgC+b4AjlS7V{쩿KL;Vb9dvS)nU͍D8fF dC[؝ 9 86ςYByugE7Ev>'\v7s`2dE^C`>*YʿO6{BPgyf[9~ucϴ[sC+)^eȵ|eM@c-ɹ#޲ҵw{+Ov˫ς/weՃ"Aw!"|fJCwM_غ3eu5jT$<}CyǼz[MO#Z$N2Zr$vbzc,TʻNhf&k2K╧lb=˜gOsP3=DrQ:'AI|J r2Z_ͯeļqHrt}t}8$f^8o+6EJ/,ԥK8,,r?t;:{~@:buj/Ny XNt6n֮Z".'AʞMͦz $R$Œd\f ,UAQDzxY.WĕC?KEaWq~fpQmu͖7Z.[aETVZy^]!T:M'ky,)ތgB.tymm;nRl@;nhZkg咃%oN5-6ڦB۲.kLt?/|LyU9R>LL3gqAk]Ձ\j48FlH4  c02GwΟxU5UUL,%-. stk;m5UkM:HewX0p;%xwvkA嘌=Nܾ-h`W(H_F-H]2זy ,3gC =lx2V>5_üc| 0 l.MEEy!ט%@3NtiNd3I`\Pn8wx TNIuHW~5ʚtgiHڴąpb&xn;O:В˗]/C?ϙ'V wB }m])!FW K A9(zUQ;nl[ž3ukRr:_.CvŏƖ+u_V-qGEVe #nS7#;Y_tnwDhw..efۗݹ8_w~ԧKpR&4 ˦GRZloހv#}Y&(~z6gM>Z%8}ՏYzo%&F$t~6Ŗ.#Cj[ƛ5\AkXv o艮E6"ʡhmSh)*j[wpWMis\)o53Y.?nOyCga-jSaض&3=sPNTr4pHr.#%6tJm蹬."^_8qvW=_/gm.~NSci3ߝT(LZPiWqgҡR`UˮuU:IT2ʊ(.wIj:l9.TBv>.Hl7$iƕDz-xS(Fk&wܹ cg+cgyk,嵼s-6+۴ީ%׸fu c?k<]V|IXr_ڸ{rJ~ϙa+^(teySqW-kt.D򕩛gQPVgayd헸Z?t.տijGSz@t0jcgϥ'g6<V%;)Zj`Yi Vsi14{Vɬ?|ZS>I5$8/7_OvryBT&1|>ouzc\dOIS(u+|ʻm=شvtDnNځX۟(<:'o=˽{?f."%kۄ|wۑ}7ΝZo%hg@?)eKD;íәvfK|m\OZjkKȮӺ V..3p{_,q|?Y'Ho{`rܧojcMҠnU``8t =Bu0X2ΠV.h_vxP1X8oqQU'-sWGUYy䁗ISHe5ץ{8j󑠩\0t7 $7c1˂uFNW:y{x¼{$ߣ#c>'t /8!ȱHRo5p(ͭVCMfH`7yvRvQml{q]r ‰Bc#oE};cEԲ}-c&rγ5Hwxu3[;:n+㝳L~Y%0Ѹh i\:bv9Mmld~z>@KtP1r'pT1GiMq~x6)޷jg0Fǔ{vXtq!R[#atkziD]h=oǍk`4?జQ:V> y+6!L3:J~Uңi:?~HwTJ#@RiNjvowםI]T.O-vI/OœNabV6§jnKƗ\j5Bvd_(~]v-,V,.澱+/fn S ?-w@SͿ,0#wt>{6f~cA;WubL˞g~9 oa:)N8Jq~Ko}ZQ #huѾ9 "I+τ>N/AÆr&=0T8gU>5(5tI: DfLLCգ5b3րϢ-ٲ.>O[*EHg? nHlmT}E*BT<ܯ̺wv~2]OݧH#O1$ Ì2W?]\]XCPmyu<#0M-} A 3F!^r4V?vCj3"g9CnW|9Ԉ25L()dO7'hJGMY+ޭ>@~2Ai)#l'yXsl^e^2J09[%GGcF_'i>ɺνzhTι^\<^#>Sa5$/pjKn8WmJ啔;/"{<֞8>;~?mLE'^.SxXZ<}My|g+0*l*2V K?Wc%[/Ӏ鱣?e^Mw%[MrїB:|ūSܕ{A@M AO|uӗ";&hx}gs,.66x浱gc/7{BޥűcT]`(ӑ~)/;Nd:0]m4j<~{ ӳmD)бG0O]Sv۩T2sHxu|<|͇O]_Fp|7uлIf+YghӁS6zbsIv[{IFwGD~͓u] Vztt :׍~oyqռ Z,@Lf}trUirP4r̽yf5E%J/m?4VSjr[iW qQxD&͸yߏ=Ȏ⯀=D]WUuceۻZzsK8ZKȇ`n;]P#0!Q`6ˍ;'Kl^t b N#,4c r ҈՞jV?\7;Y]V9׃Ad뀖  L/!yOg_X|M\]Hݯ]_|yakw:掝=K ̵n)R®?IC5VWJGTX_Yܳg^ÌEP1 6_*pҽ1si^XE6!Ife8-ţo9*BT4} Sga\h&^+VZ7RֱPӴ?w?C_y ;uGu`l8V߽}Zh[FPGi"[^]c$del#⹒?F[ :ܦƽo.CcQbXWe{IA_zpv:( #-o˓mrt+6Kam]Kb,-c]``?ߊH=b~:%/}#"Xr[QyOR>M6j?3Kog \ TsLi4;C,gS@c2i^{>ms~w^?l&~H~KIjf>:L$DJ#1lrGA.ۥmyqQt{cǿ H˨)ȩ3ݰy T磘$kF##sOюvbc _&žU L4BWq7H%P?Zкw nwd~+}%=˶Cchv1uw&G R#G׉I}t7 VY%ۻE]5@qmƂվDQYߥG/JeO=x?|˘BLw +_&Z+TsX0 \C&(o_ `ҟ 1کOo7Y7W Ig||ט -L{@"0IBnip>rbJݝJ^G%" !_Coԛ',_)P+HpƂeOBа=;8 t[V`d8H,1{8ŨmgEa\9>H=jWYۿzKUz4\ϜenvXģilpJ~ezѲ6V@֨\iBS)QO;}9*\qWuNsrlzӱ=3Lsh\m~?^@]1Vj;coB;ɡnfz6eԱ93>~jYMȰLD?A2)i=2߿ KGt+oP NAnֵI]ڋ85IG>%ZxCQ^o9}#j{ˎU^ C wlWwY/#zm:Y.ݥ73^՝aGk;[/t?Lrݍ=͂}]},ҫ0/`ߺ6\ sV'K)ǣaDZW|X(y 9g@ gw鼖|wVVkFW~_oQ4ؽd4t@lWNZ.+w'vH'ǫk_N?vp|0:(bDX'*W_u,6 n/1A7y_BMKۢ3{q;B~_ejȎɿmnFoϭwVapă1Ǜ `Z9jgL 5W(|o;qOc?noUz VW'ϟn9@ZDh컹P&]"6M³,u]->|ܷE_gx{KӮ'\A$ [Oc\(΀ Q_~+vF%P{ҼIJ .3𺜈I8=BT}4>OPd]OS1Dl Vl2ԋV)`]:\7B󣛻kgmhJux֌z9x (@AQ _! g/f_@StQ89, bŽLIAy5gZt8`LҞ=8 #?4+yD~Wj/fE=mUV`j֜L|))`w[wS}W٦=yY`4c.~U[ 1v.'-C]yI{.u5|]&yJO fS.9p{zcCo|Q.\lw 0v~e>wS;;x( <&j/DTv.Aw5q|诧%*w6fUT9z3yo=l~ :ކ?y~y[x{/Сٗ&򴊴V1:LQ:}M嶃7ps5ۋ ^|6͙X;C|׳|Ʀ +qӗc,g<o;A e~VwBx~ǍlM}]n<Ξmw#o7,U$pQ08|̷Y:՝/=b:R&þڝֹZOt? ]g!Pl'mcJxigm\˅Ҝ{2{KS?*%hzWw8-977ORL^ۈHW@-oNk`Ʌj,D0'Bjj2T2@b{i# 7R*f=^^k5~<Lh§6z4+28n?T 2"8H]xu'ndKb-s>~gLQ=B,˙;?YIkY<|uaJzx ?ۄf˶Qǹ~TCk:Jq=4%設wRۈG#YKd:=[[?iWDC$h$ƌcs,-W˴Ͻe~zěk:NY}r͉#ebVG_[GM~\a2*9'`ks/*n5l\aҗQӵ6ܰtXwk!^lSo뼟n7 o-_(/)~ʡgwfnc^m~ƪZ'i}rY>+(mA{JU}?H:zTd7U*=ۍI~gBS_:G띣؍" Ս]8yf&[mZVHD9|^]?6MoS 3{JgtIiLsc==R ?WL򯠬~JswI(-N_7@UG19xMWYt2ۛhEw}s/tA48'L2,LJg˺c`IΫk0l$?Ho}Է #:\[..ݵqO/yg4ufoZnTw?;1MW3'yzzj_}̷Hpsq׊-̳x "Է)ņ?op3$4jY,ig爵ψiMaĉs_ٺ ?r>&bR[cDj<uVPᏰ?ڠc|&3%İ 5l\dV{DGˁ…TiKݚIi[hoESf񭀚&z_Nz:OOg~3إB`L:o1[ *s~{f0ᕝoL_eV7퐍} rb}Y0#1+"ґHn)|dWX#U*\>uzy,- ȍH'{vNoPv˪Bp]D$No!cWRn>>YrیIZ5ڨ~K4iy?ԩHCǗ=N1oۢLNO}{ɉPvU_Lu|_® +M/th 7}GyYa)Y8هgG!uM oy\Q]l=]R= ҵ{ϪLw鬴 ysw6~%Lah ;ERְw>ّQsteyuEg6EH]? hlg_CS㮒 (#ߍN oI꼨w ҿtbc c f:_&h NI.UT%6yE8\gmyYixU;b$/&knLW:Wxyi a-%zd_4*z@к 5_3tғCC^Q8rGXf{$r&@3rc6&`-FCiA圢SgMQL)%gAS8UL6ƳwXg0Co0r2Fy-uWI0.gC^xzM{#f)$$z?ԿЗ#-N[L͵ zU tgnY{ZdnV7]?׻M98}MhnC^V7MܢEoch[L _Tql 544Gթy-͛ٺpvГdme.j//o{?k65zݾεF ۱lH[&s}zy:ԇ'|Ix67J[RQ Nn43Eι_Q CcgshՆAX;B kWZ[J#&M5&]r>Z ,FhwO(>|>Ҏh;kj;}~ n8c||I:lTቛ:s&d%AP#U ь%dL_)NQIW>9SDmSQC7ПOmHtuv4̦;#A=xO4;#ۈ4QAML:1bN+",K=#.<: C'Rd<,v}CȠyFD?D(264X"(a|IH-,,J,,I{bEbXXXXL sQT}(>P%(SN,$T1,|7(2hr:?L1l[B(l7)2PCaD緛y؈Ѐ ,T7qAdH<\cH^8!0:W|l# RmAk61Qۓ)ѦU#΍~GϝLp,0i[U_U]_nEn0ᩙ\CTȇ =JJcHEC yu\e&HZi>}+Ů! +ePX u&) MC#2/9F3{eKt:y_5L)K-HV2B,; /BV|(w}Kjs-"Ƴ0WUhK wb--bQcf4%@><o 6՜~/&,Ttx㌪Si9&T*h~ȩ9@>OD>Oϓ>>9??GK3`D#d컝;2ֻitnk Z8GWS_G:{h_ǢFM &@Vd14yNe ]#q1FLdž^?^ P`er'ĥs1d"lIb!GBɱ@v}VS+woz<,\ۏx%􄹹9<\1\\isbn)2fKĴ,7l,_ƴXŚl%o2DԹ.K%Μ.K)sK .7slޝpver\9>'Ĩ9İ,Kc@sx #|`ꞒL|0LL/OhT i>)!H?D G{`3=g"3Y" zjDt03PP Ve ,H|IAdf !E6NRJ*>eaPU啒lpj\[=̒mw'Lߩ*7s3[~DbNx$+B$q .?ӣy4C­n-}ߕwUD-A]Xxvo+%Va\$G*s5iESQ٣,T6FI0MOPOIVGΓF:c/Osv@UMIKeȉC0~" 3@@Q&Uob9p{\Boѽa fHӃmkcWh=wߛ:AW-v||s2d2+,?. G{7"2+3"W̊EdKU8QC5k3R7]Ш䚡WBҨ(**p` +?|r:co\OIq§GsQ^y{ب@W*x7#eF'XXYaaĒP UAAE H&fIT% HnrW<|}ZćE=5L*$e#WrQJ$/[F>'>&({o5k/ޗ36USZTU?/=aKҚ4G}ܵWͅA_bžgwop5Lw$ī'2=p5ܟ[*ލ'ssX$pӤ\8̝V'8Vu-־ ^F@ pW\>h*ޫkD.\Й [X{@RJqè ɌE]Zu6d|K0&Z⎬q) lt) Vx{) HRqHv ;C9r41.R.=!Ho L!HiztteGFt4)iƥR!ϬuOҝ#JlJR])N})Jw])8%-(t ZR) CRR%! B]FsHRRE!ED=G?^ˆ^D-=$OAE?E BL2Pda&4CDRl rADJ"RP҄)Iɴ[Fʮ]I]n}˗Px\¼2</nZaswpa7dS(bVWz(a014kSx]Z'*xdLJxiz0SU DB sf>n{çNd_=v3 W73װ;UmtGm_;P"5rF*Ȑb+¨&  )fPje$gg]?qƛeOfܻͧ?ʵ5{)|.w5++0 V30]N`hBrZ+I<1p9irDE H$2q0G<А252-(}#NKؓt\xcV_*7KB3Axrf0kKh1w'!}n]}fcp؀@^ ԯoUtN4wLgZpԉV _$HM9[T¼yv41aKJ3lfmq)/ @sQj%oʎU+ya-ICpR/ٮ^M%wvg4/qo88?c6 dlhF]gI#}Թ'f|lW$D3O>O3nfN:>nTîtzY;Мc*vE9%0˾ˆ<2|zd0>ç29h`qˋ%Tdw^DŽD@@AxB?XVeaX?a VcX|O=a(UUEQTUBP$G$ Uʒ>겯J%]Y*UsYVPՓ]]]Yf42|\ӦR}<{џW{lJs!YpVK&FcDqV c+vU!1=M u.y>a0Øpѿ zN*5|]rC]ZUU7i1H`Ý EA'0b8ZbKm-YߝP7%u=d/K2yȏ q@PٜK15?aez)TTTVi5o/d3d24&[2)1C,pN0hY74XoXX֍Ac@,lB۷}~Og 1jDxC$:‰ ="BPJ9BIH"N4};';$yB<$I#DǴ{GHJ8d,(DBD2BB"?}H x%>Gl@@Bp@Bp&'ϙ'CAiP3"%)Q) ZTO]ѧ$I.%)#i$IkʹBAzŨqӰ){^^\8gi*#&/tAb]TuTᣥVϣ^CFҳ_܋5 摼=sfϢT 㸖(zKՐRRDܻr:lQvfYo ʐ|tizjiwNzޟϊk{,qw,Ũᴱz.̥Ĩz fB}M,0_{)5 {e˵D~"iftf3if\6_O[%{?33Ɨ3??K|."{0[ ()0s dvPSf`Ҝ#`8P(bE00SVe d'414ΗtXQ:b}1; E1P (rOQAAAH!PrP AAAG((Rqk5y>/bi ;-c\҇׏5Ğ{0&anIw̩LնDْQΝHm=ݗSIzN"agk,t:gF`ܵ+@^U9G9t@@5fQlܚ_Pi VC N q@:i0ud#:uN#u Q#74A fcqǂ8=R8p靳3qG䛒:09dda5@Ef" ,l"$QEx(QCao7G0:dAxTz;! FaC((;N PBaCLёIHN F A <Tr}>dP:JɋD̞&e"RǸT@d?IqRXM/)Kxn&g.[hJ4~oܣĆ\XRN| b􁦓 {6z^ԤV (G?y*J%hjuf΋^z[~;Ku2֚+{|6BwV䱪|9p:fW@&-J}kz'v:G ÏIU -U'5q:iT37GVn?*?YXF.S9O%P%' vmZ<#ZƓCz bmQMD:!'l[WWVڍmj>ⰼ ڌc5bB7!?sêmÔ"2;mʼnCQ3f Ll 8@AՈ 7 &r;S<0NO$&d%C(\r: z]4K|To;`^S<D4X;2=c_|}bd@-aD7P!CXd3.^?!`:[lI^ RT"腩OhW$Td1bcQgRҏI}&?{n ъi\#v&UdZFY1Em1-tZwDpf 0Fj\y Y@CcNdaNqduMՙ!VmFC`ƉqC!25&C#u Lle<!!ڎ#!r?!!ds{aEEU;5):;Q?LLuH;^Hx "GHHI!!" Hh@bi P K Eğ>ȠB`L&&LLӴւ] T ~Xm4ߥp9;B_ 4:iI G2+3-OψIW9 ѱ.7*e*(cxTl՝4(u=Ź6μsY>s'5S-Ÿ0v0U#]-ctg11 aAoE-4B|P6r. z&qU1aرɪIk]JO".\aDYe HɈ6e~` ӴG͒& U2'CHN94>hvL zd.Yi @p0+PHDGl"^DQ0'戈ȾC#QmӜ6ap,G` (Ad#̛;I@cc@ß5s #:n4B n8M Ѵr9B>t>ޚ1 Kd`;t];Y) Tm.-Uk¹X%K/jhSiެLyۜbm>zK_ߩ}\-QV?_3;ݹ*視7l=]`rJ,UJ<4} +.&~2=eՁ3pj/o͹B}/5:tGpj?J[qVɗ' ?!Po^ZM@6 4w;PCuLSݩ,cK@Eg!gVЍQb .7OWg B<4c++&Qyj3ا}VP=́ܞfA?acy`% 8|0xn32RP-ꈕ,$*fL$~uN9p%I\Ѽ iEL£ nc7~lɉ:EHB4:Ǘiƅ 4#GC<<ۃUS46 !06I;wǀ~NOyz_䜒$q}cy/Εҁ8p S>4,8VmmԪqp/!xa3+/ Θſ!t$ˊC fȕؒ c6$xxzU;\P5~Og7=]9P&9ZmHŢy lMΒ?GT rB8Aj;Wk_UPPE ZPe4wBEcT** YTTT_EEUK,T ɍTË < sxqarXaeA Gyã9"ǙXXYduy~h2d2<5 C!Xd2C!~adF,ΰ̆ <Ȉ8=Lc3<%ld  F(cDdS6dO^3"Yc6c33fH ͙ٔHHɁ͙2gXS,*ZHS  JBhћ1A6ͩxKSy{BqfBsGhǷOAPBG$|'X O=ˇ1y h9rUT݊<VWc=Wyruяc@BtCF2eӹLnoJ@x頻xmV(ܰ7«^Ewc5eZ&ҥ;7Bxa瓲6'9x~q{AvWߖH0~D:wg`3b/_Zžz [_掕I%amp4BKՕݚ {C}שMtǙp~ܕrۂ.Yvp]j9X}wjdd_FL!EdrYc  LCY1sdsLuXXԛ*og p`peEMتTWeT Mѱ~jU7c뱤6gYQߛkUQE qA(r,q!;BB\Ӱ$>DDN8DDDEGGǑ{Qq "GLjI!DQ==""(B'XDDD"("("(4""4%N1 ja ~5}s_?"=;}6yxY*q+e򕞵H5k\zx9B}u0DYF0|` c.ߗBM7[ڎ=)>>:w嗮,;V|/mRWݶ ]CGc'eg3W,45MmgtS.،qhb}eW{V;D< TS徭Ym^g~/F>_+?z%{2`Ow~F_ED+wPB5G^kX*q-?C.>Ķ0XۿLy^\/Pcx(|+APx\:U'K;bM'[ۯ7 A _Om`UdoOu3Tս[^Co'MW~?~j3)$bB 4~ =#+yĞl {~ U;v?$oiNʋǀWh\z)UW,G~rqr h %?m kjĽ͙aˮI=DѻYߔDLsnC%U6g.Z\^Δd{<ze TG1OFk͗r J3nWLT?8< tS=Bp|\% nTƄ  QD#`'#EnY6&[DMj&DoˈDLTD=DDܢ~0٘c!7)@1H)1"$9D""RU*-H{<>JZ;9ڪyJGN>q`@4wJe(m@43ԆjDnM.s *eV0YC]?9qv97:r]==jD>eϤΡ6c;Cj@2koZn6Ww^ܠ t>RN(ͫ.-aBF0Heܑ>,[! Cc#:i`c%"Wxk06Y|#Yysߑ3Eգukޛlb.c/noMK0NB(aoݤL2Vq6PWqp+U˚hW:&g9A @ɠ5 ad #Lɻ1B!aq0o6BJseybG%8ƇN"q "&G"""DDkO䛱DO8$ތrDGwÀ""ua|l"D=}1{%:BGw=*8y$Np)@yH;^H{HKď)HH#Id%(JgLLMy.&I&&&J̓DHH3PM4 Dˮ5 MB%}f/_Bp=S^Bfz-kĎG_ץykFÒTuwJNukc8bز== :OX5(ZlxC\\6Q~jғsi{Mf}凉jZ"ɑ>n, \N{Twzf +O.@)'#~ mnjɕ82k]u0v{]Nrn Lt@<4j~Qd@iTB+$lAg0kʮrkz?I5቉#b_fb1ۚA^_NStF#q9fPtiN3ð1Ùc4a3cub1btb8N'5 X 7kz#DrDDDQ8(C? F,F#1>uDD:؃>1c$pc1I ߂ɰڭZwnr=+d$Jsվ|E=~ؾg?w[w=ݱJ =N*mg聐$bh<ڏXB(:Pb\ѓDŮ-$/vSC@Mj( sk\b.  9p/7m(-j霰/>|a=Y/%mr|%笔Pgތ| |e|AhNc"] {Or r'O~p^LktV 2MĜ,:aoʉ]O 4{|Pat3Qw9N6n}ŏT-¦ǛA Z pzG$hD LD'T  +5 {j8ȣ 1ϴqUte/YF<%{Jo2keOP tJQk?znn5 #s\׶4_戎+tctfqypH4]u : >hB 3^(*aDQ\JiV?T:k#䒐4iAe0b Ib`/, h֍+fbƧ3,Us/i :NRWكF{`e*U=tAEX'0)`WP;a<95`ϙ7"f!ffMJfc3{qBa4P2LQ̐#pP4B/x Gf3'qh4;9Cv4n6C!rШnG7 EJ391ʨ p1B1db:<$;7xqFEcMa=TY6MQi d9Nȉqd8F!L$)OJ)Q)lH&QL}VBEX9N}F5WmW~qn , r" (=acQRyP&Weސ԰9y12iypfĪjj{_VC뽹wDwEJyb.g*6 Q^9&J +сgf|Y<͘fZ[ttaKJvr_N_2ksgd,}BbKibV9!QWSȰ{6ţ1ǒ,]y9eSNuخRU~~"}`p  ߜ&C#T1bVVVfJqʺXU[VbN-0n80V(5LUC[RT%N"=95%=9)'6v&w:[2;]")N;Shp <@u{p@zrw)qܧӔmw"rzi*jJ*G)A)!) rzrH=1Mf$}ā=cKԗQa1LS쉢p)b3)R ʨSR}ז{_d=>5]'--;^Q߿x[~l(\,!*+=uq Q||Q_sMqN?玞"MA.#|"Z\Bt5B,,\^gܠA _oizRv+ATnSuWDDХzxS|}^)P4|jlGӓ;TV#@@1rY 4$"2(3g*``u y^k:кqgU\)g~ɛ<VaX`a++ fPk%Y|*Y*$g)Y !`aPF` `b r x$'`0`02lΠcGNHb3b(38}QE]9Ѱ@@ߠ rDA@@C qQ9:>$.А=cA42M12%HؙC22J R"2t'>'i  Ÿ"|*)AAJPT=YLU U S} j;)E;`mf;WW1Y[΢ZB?N0Q5ZR2vO>cJff~RS5UYevo2· erϵ(r wl[{O/غ7}}e$Sx@?n/*.>6O7[=$v 7~2ƵʀI&n(ؠ.N?KxU_[+]wN\Ap:d,MR0B6[,_5%.I PVQ@,еW\:BDZW h Wλke U&qqósfd@̊Bba5K|؊<1ȊxŊLk0bؑcp9 *6bAQQUGSZ**7 ,yXhvddqK!2e vކC!!2d>&C#4~fxlc11ٌgq́*+2P E!H*NVTXň7?G c^lH{ZUH9u;]D5VJ,"{1v=s~GB ޫnO/;*/A_ b(ʦ#&l+h . qǏH 䇃tgpk;L$$)]S1~6 JC;8 Ԥ j*=!s1I \? o_-$fF~Afy"ZS>]zv^/ukz5-CĖ22/bM 3-#9\7M`l>‚jmw.+BG57W_siiOUJΣŹ~Iu8p )pJ~ ht['(tiεN~Qcu r%sm?C0 mנ9/aJ D~*Ыzp9 vkc#_ pܽʋ3 F!h^ i7ٗc/+*8SS}r Z*O0- [~ . BmO5"IK2,PHHK"uap0 3 0֘A``0g8 l oO9    f2!:xAE䛛u\]z/צxqFnpHLooܥ&PbRx]x)>/2]ay9 m$ +HdEEbHe8Pԟ -q}@ qϨ*jW#>8=0<鐁a|}Ҧyu":uBţv8=:lWدjA,sB^O26pǐsexYu=C'p;x݁;'9hqT$0=:$$0gY`CÕ[]' 98W/m? ӬN]#%XKNjNm 8f$9=MG8W*I  Bx(I%x<{!ٙ#0JJמTAfwiѨZi$ř#-NgB݉r_(o-Qs/p nUubO)QˣQ|Ԫǂ ̑%%BUT5 UR( PWaff+6D `I]໻w0JJne[ժ=yN)ųDި[:bFbR(SJʼn]-<6r4А˻> Wdx* 炪H, ѨbR< ${(ͅ\vg:bl˓ʩuL^m&BܛS1خU=Ŷ6J5ygvӢV*#Tx00f IP<TAfpn1X ԯ33Hvfe|$ey+1Nt+bTѽQxO)1{h bi6S[eTѲZBUV*#@I+ٙ>QØ%%TRI4IW]O]I  Ķ9dӝ"6tbK6+UjS} >6==[:bF(U=oTboT-S0v[ՊNRiG9'9|p+}#wʞqVFy8zNȗ-%!~zSE?b.[~MGw_E@>G?s{8{5$]\•05ǻzo/#%w姚Շ߭m#}"moO~dmz_.?׿(3pM:uh!2OE)]N6yz#xg~S/za{"aC}u̷b'wA5}}Q?~V{9 D+; SmtCjĤ]|m]ƧPR;ا6`nKFU~ru"&ԦFjX=>~K~'|HG韣w~Eq-# B~ݽ;{:ϢsH}!zjcsbWMMP,:X}9 _ٯ,{[/?t~ h~=스#<#XA+\γ>o{6n̯{6la{OFt/]06_byU "ߠN'Iϑ sA/BBB),”84WN{o_xտF޻{v졖;kea{wӂp"1G`8QA]=Mץlh4|l]g~C=5q;Ý9Sve^6 ]C4-!,\!!(lv*r{F@r/d Ӭi(N΋_]|`QJ}Nxo=hݹ;WGnޛsS x G lC!,ZW]iE1! c:+d`؆6!lC(뮲,16! cUUTW]U̝i6؆6!؆:]u`ELCb lCcH<wwXoi$x G c6!V,JulC!؆6!EQ]uWM6Y! lC!6 DX`]sE Cb lCb؆Q]u]svw(} bLVubΨQxO)1IQ1WfgȮU?5^FWx G$x6!؇:,iRET Z]uW]`6! `0C ("؆0Ccb6!SP!BlCb<mxG $x6! qbX,VW)Xb6! lC!]v 뮋,1 cS6! uUQ]ueV `6!SMuW:DT6! `6؆:iISQgTvI5;bF)Α1Etzut[+bV%_FWTb"$x ؆1EU;6kv6! lC! lC++Y]4زca! c1,+ lCm lC(뮚l0Chm$؆6!E",,XUٮi q!c6! uSW]dPb lCb؆1QA]uAEYb؆0C! uU*dc6! c:(+% lCbm&Ն",X,WD켩ze]Qs+bTT^S'kaK][Qs _dx x G lCbl+*b؆ǀ$xa<Gb lCb뮹lCbc6!·A]uuDYb b! cQUSP1 lCb lC++i"؆0Cb؆6!,XXNV lCb `:uW]T1 x G Yx, lCb u]ڷSQcT^)qLmF(;͊U:&kPQ]:{hިųwøQ;$_$x G$x G݄<<@C؆1UU:'a*b؆0C6!4Jȋ,C! lCb"błuW2vMlCb؆0CbtW]eu`EC1؆0;7Xo2PG -6lCvku1"6!EPW]euMbC؆6!؇bEΡ1 c6! c2+\uEVӪ[=z3VuF)Θ;hSQzOaF@`x G c6!+`5̝b `6! b,*k5MI6 $x x Gha><Gb lCb*؇U*뮺(,؆6! `:i+", `0DDlCbUUEU]5M6T0Cb؆0Ci*5EXbl6! uUQ]t2rlCb؆1tW]euʋ*b $x G;Z7XoueE HSQ{ʫ6O)ΘێQuGtRΜ8ۖ-t^tI62G$x x>7炪ƂV*< %wFWb@މ]EN]XR;l9NFS=dgO>7>E#u~~H{јTN_n̦?wCbe~? ﯯS%^MqVcw_Y>z{#ۍqlMza٤'?vMsϜdOaEaF J Y 0 3Y; $Ǡ-qvGJxϡ/u/v 3&%4AHgPM0 `HWΧ|S{.x!GQEPA<* N([b N]|V fM!ŗGq".xE:8.Nwtǂ OݺYbt7M}8(B2;sϼ?{=| ̿jg۷=blWVuGWXGvsMxUA$HwFU^x* !w3]YH%x<3J '2RU^x*h KbnVU8/z/I+d&WY3]s1ZeJzyZqfVh}+|<3%%~x73ff8jU QI >`,̠H;gUdx.$+|<3%%U炪I7]uPs+bTT^S3mTdF-kR=qwF=REEɹwP "$9tox47F I <TA. ˤמ C 3FXTIx7tn2:d7]S1ZWN71lTtg(S0v[[}=HRTGH%c0fJHUyતAfp^I f`A.2RJ|jH%c|2W3/zo+Ss0vBUU1)JUvmzOs_]XYQUcwb v  UH$Q}{Zshި[Y+bLBخTbs+T^)Vێ)T([2dxUSDx)H^y3XĀ,6 ݋H%bdJUXIiUH򏂒A%47Fq[Xs/T^)Vێ[=MꅱGLVӪ;.zVDٙldo".UPI]`̔W A$g4V*x(H%y|%BI <TA+ > ۣ8+Tb:g[7+bqVG+NuBΏRܵR{7x"B 3FXTItx7tn3(xdyDUA$af IUy˻зtx4nՊHQ4 OLvE]Gl;hSQzeRNtboT-8:bGUp<gOD`_k |=>xy늘~Oj[]o89\[50nRV>w{űq?wAspER )=Y)խ_dez3)NLcﻛ27f:RLAghˬ̦+sHON`6LUy/9Af8>qsm%BB7OˁG{ߓ=>M9Wuՙ w/k|!}~1yy|4O>9 ˻pdO߰$uw7sT/}5޷_! a{>92zcgWkB?^3k6͈gí i{ɏeL7}Cڵ(/:[#%~p ҇ױFuYë [#~~T؈}?u}Hd{R9o$GߣE k~yWG,쬠9 Ia-2ڨm,#'D9%[@O:vBݢv@%Jd>[N{1Z/j!pMf4өn]+HUNOJ3NgR CWVQݝm)S.*o@p<G)Q\:kwޝc/vڊ;@Ë0AQGbSװƐzRuzO^rDIDTQ2.:mNӌ8H99뜻X] ۷8'jΎN2+O ಎPN{ӻen;av?..<:ۄcZxܗv*x  $g (aQ;zVWU\̐0dy UK17m*TI  Bx(Iq91]2| ̔UH$w+h c)ΘQ+UOmo:3VuF)Θ;hO*)H7+9LEd wwWz<30%HQJx30f `vPU炪I<wF]ww #GW=*s:3VuF)ʓY9-lQ+d혎8GlҕBS`[ IYռ KfH`̔W A$fp:5bϞZ +/ b'3#Bન)  m,SG{h c)ΘQ+UOmo:3~?huO z 3|wFT*|J/[wr<$ 䐪#UB2RU^x6FY<7tjBx(H%@ބ{j{hިų}F:sVul791YՔzEU\)T(Ģ+Y7幙<2RJVXI VHUJH- 5b*G Jx30f fd)%^ #ʪ GV*{(vmzlu91EtNw8ݓ/((gWr<3fP 4 ]<̕M G1ZUU炩 z<30%#xFVbؘW8{ы&zvVuF)v[Պ3ruJ7 M؎А %3$hݕjU 2s < + BItx7tnfH`̔UtVEuF)v[:bEˤmr}nvK]CLXHԏ_|lCfgʖ#,EER1* -Gߧ~/B>}5oC`-f_&=~ j ~o2_י抟C_3zg q~3ySdy}#+yWN2Dҏu)t:o4rN~C}$#{Oa OPaF`>B箜B=s~¿x?91^}z#}XX lq+npߜ_Uc;Hl޷'7f?=#p*#ᘝKs_1]KLx$uw :[/XwD~qd+~S BS"Q :R?f=7A.c[S v ]߹?#sxFGPnhN\݄Շ<yHB1sʳ#>E۴3;~Ͽ&.;ڵjr`QɶŻf(։';s\SAzLqGUY[cd4a0Ƞ:l C7˷C#`4?< >0㦟@! 8g UNd /&s8M8TǪ  ?3:xz+M+j`Eܧux89^f ̑s%$(UA$'4{IUW H]`*CT PNdC YyØb΋鎊BtFF-3ٵJ+b;ztZݜ{(BJVQQ+ǃ%f~^ $II'wF꫸I$I$,6;II$H;wCnDI$$v0uH I$7XnI$I$tn $I$Iat$I$I&CII$mdQ8E:S1ZeRNtboT-S1ZWN)}fts'M&I$I'磛ēI$0hI$I$0݋I$I$mI$A&{ $A$IGq$A$I$rmga$I;I$wbq$I$ nI$I$nl6.Iyћ:bF(u=oTbќ+TzΨ9#{j{hޯ; $I$c[O+`I$I$x\nI$I1Û$I$n nXm` A$H ]I" A$+dI$I$ صA$I$w:y[I$H ܰ$II%&+اIElWTb{(vmzlWTb$I$oo:$I$'N$I$I&7[x뤒I$I$ ص $w1 $II˹c[wQ$I$I'wIOq$I$I7mI$I$ùwkI$II:QnN\tboT-;3uTpuќZF:uGtLVhh$I$ po0 $I;uUI$I$NfK uI$I$xwp HAI$Ǵy\ $I NhawkI$r I&7[x $I$&)-$A$I$pNgI$A,6lۣyx}8WE*s$+1Ntj[=yJ;qыgҺa*lNzI$A$I 9$I$MtydI$I$zv.֒I$I$uI$ $M I$ Wq$H I9\m.$I$I$ȞI$I$nۦβI$I$wcF ޘ跳G%TDf]sjWVtjQ]:{hޭ5z/J$mzI$A$t5l$I$wM fI$I$c73=ĒI$I$nXma$A$H$u{A'b $w[I$$1݋I$I$mlI$I$wrl=ݕA$I$1yzqtzOd]Q{dVuF)ΘQkg)[Cܮ5z/\$IȀA$¦㰒AI؂F II$I\حI$I$nl7bi$I$I;II$nXmI$OȞI$I$qm Y$I$wXnI$I$'1lfD/bٸQkg)['n;WJ&alWTb鍴qEtw)YE)['nI$H `a;II$@ I$I7w,ka$I$I$ HI$I$tyI$ $tnh I$1]$I$I$ņ I$FI$I$wrl>MGlWTb{Om{$_(S$MsXW#k#t{h?}}Oz#}#չ ¥3p.1:Sp&Uw)]7qI=hk\f8ƽk}V 'aNP4 zD{⏚ɤs<>G?S=w&}]ُw׵%;惰FJ̄Յ,3NE[|#ߟ}>}MݜkHm̋ ҌgP1Lwo..;|~{G~g~Q%/U?*wwD3&24 uPѦCb Jz&{5 d? #lTǾPv>ooSd2}7>"R|?qyx'#=j#+߅]Oio[㛧ٔ7/`wd} @6:ʹ6,;SaŖd 蕳}’E}7ߩH ut,?|_w}qDcGc)qξGÿ_MD|PX_/]URauR8Z8G?YC6*YMGp'Ŕ-zwlQw2#h >'J;Q+:vGk8߿ɛO$p ZwIXÓ|CB0O#Owt! A^+ٱI4;1-4:_,P 'z`IMKR'.wھCIw|.*6w__zDUvNENYN!`=?u΃0kA]7$I$I1qI$I7qaaP$OD$I I$wrl=DI$I$9I$I$Mۖ\I$AѺwvNI$cw}I$A$waQI$I=xG7JrzVuF)Θ8o9J;qыgTQ9S5EKʱT'/d_I$I$M9{38I$I$7CnD $I v0uI$ $7Xn-$I$v m⾒I$I$s2P|I$A ]7w}ĒI I$9a7OI$Aѻ[r'$I$I7x;&aWTb鍴qEtzOd]Q{dVuF)SE(u[FI$I$s#܂v.֒I$I$uH I$ weI$I I3ss3I$I$M,6b $I$N I$I9$IǏtȻZI I$NQI$I$nXmieمUW{lF6s:JSbuG)['n:1l҈Ψ[8I佄F1A$I$IG/f{$$I&ۖyI NI#|Йww $IwubI$I$I ݋I$I$m^$I$I9,6I$z A&;sr'II&-av I$:7Xn٥Y=+lF-&Bخ9g\Ru+h޸S'ElWTb B]7s[oDI$A$6I$I$I kI;AI'Fo+`I$Ia$I I$ȞI$I$l[tyI$I$tni$I$1]$I I$ņnt$NNˌ9+vd8S'ElWTb'muF)ΘQkf[}1gSNlk{/z= Z{t+鮘y~cٟd]{`>̩nIգ_pߩK+ߢ6~|eE Q8pAۇEd%{.;)Hfd@Vq" }il7UW B?'WѪ9?7pC3O޺^Ϲ?7%Ez ۊ_'/_Wb>zN;;ܥ0GJ>F}#ߚ^ױϪO19O\3%2YjKw^F9^^ՙ ˫ _+뿓w{S~&Bš?AYe[A4I t"lVX \wwZmn{zzzkw_۱?9 Y׍?KޏsK08a# naML{=來#~@ʯURb3j* mEG`$˂ 9:s>>τ?~|]]=^}KwWWo#kt.CwO?KL9Ǻ"xNϜ8=n}?}|~5pqb۶[DgB.!kv /wm*VJ@&VebeUqQ@do:{|Z(MO]aowR@*5mm/ ! EIU'd6nLSINf;<]۠$F5? Ӱ%bBN!iw : xT;gp i(7ǎ0OV`=ފz]vNV>J0mҪ9/m$VAђX۱k={t,ru0Z.-WMrtO[qWGC[0eTWJ6 g1&[%;nYҫt'UvmÂNZ]1/\Ybqm?o~H1\M(I$I$I>3I$I$IA.$I$I&a$I$IvtnI$AcuI7I$MXmI$NII$I$s2mI'4nl9Ta;7gzb+Joc-M˜ۜs=M2eTkSlSF(S׹JʸoObݯm}s3l<  l6fphۑ:<M Ѻoc ۭ aʋ͘gWN7/IQ[IElWTbo']=z/+[C mیihۑy7Xn Z<wl9l=<72π\o;>y7t6ڌU]NL-TbgLV}JT"BȮ9h]+j-lS+e|O&vƻhx0f6h]ݰwP=9Ql6^<;|'.m໻ vcoZD-S1(U=oT^)|+1Olخ)H|seq<{Aȝ 4uDcm໻ ݋^ > Z<wl6$8ww܉n./g\j+co5J'خ9-lR.#nz)l7%lRْyqS<ǂvnomHNmΏU[ u܉mpnqwha|<mڭvoT-S1(U=ouNjTZQ[GFW]jS,<3&px*a33F Э a^yØnfn<$ ۪ mpѻeTVSu=oiLb<'Tz]Qq*=p-lR+lűge)讨=c Ѻ}1̰wuΏ < :Y]w1݋<3m҈nsf+TZپ*VgP+1Nt+bTѽQxlv\C A=9M6os@ww'V6ؽ ]uwvl=^>ß:Yu3ӛu;:+Mjz/u8+b;h]QET(۞To/IO>y. Wx ]bx.l7b];˻a{sr'Gy|zww|<1p]݆owwdVuF)ΘQkf[go-&Bخ9h5ߟ|s>/[~ G+G^sW==s~ϿO㏚O3~j} iNCG\>Oӏ=1Zy1Q/GT%"ſ ug?Ug|)ʆnd\70lL~۽Cu_g#ߓ\}w9[{Ϸ'L~+7?Y%5)gԢxBWs)Su {%w׽; sy ǿX!9DZQ93yI4(nru+^~ϵaϣӿ?_C. :T:6qt 4D !e2Mz;SpwR3 oHG~~p~|?9O45èdbyT! _o>k_+{a# c5o&bSWc7.pT4\_09J9rfBso~cwWL~SR6w yވ^D}2h_~ܨO_ FIMElӶ 6mrߓ{D{ yKS6}޽}+. [ߺxRL0:o89/fa)I,dŵ2(1ȑ+zm2@= >"GR $0% z?~۵N(G^ofC!ڍӭ=xӜC,Av 0g3;QrvGvGY۱CMn]{G,0쑹N,*ۀ J2AV\qزvlBtݶ۳v, e=C'}qgW̲©uظO` .膻b޿a!>}I׊FW읓Uqey%Ըs&)}[,ۭ aiCûKt+Gy7XnmY 0/mh]a33F3Zrp+1Nt+bTѽQxO)1[IElW Scuk ލ7v|y.l7Ώ+plfg Ta Ѻv.՟qI8+b jpudިjTa7}nUh]o3<ѻ#hݶ{<u]uwvl=<s3M Q7m8{>8}1t+bTѽQxO)1[ݵʢc3.1LgW"{ss; 7t8n|3lVm+#:ToQ=ruN)خ;= Q[:bERmv8+b]GsG{@=9ۡ[i47tnUpvlVm/4ͻwPpͨ*;j[7ԥJ;|qlQ7uF)ΘElWV7?o<4 {=;6x9뇂6yyhm໷aÛ:<4aC7x7wmXqzrtLwbv+UOm{$S}Tf;w DbtWTbٸQ)Rꕴoz/0 *piف4Ѻ۪໶lfg SM/n aw306શlECsd+1Ntj[7ԥJ;|qlQ7uF)T3BhɭKkff=5 ۑ:<M Ѻw }|<>a'6&gl6xy$Ymff l6jOe{WEΛitVFTf̓q]M_R'lv(Jcoخx0orNx.msbeQ Omwtnm>]wF hx0^6h]ݰwW|p]kqLVu)v[:bERmތ[=MꅤO+'t?<-{#wAwmZ<0Kahx0f6 a{sr'Gy naɾ7lNTbQ}QqLm[ժ/TV)@k݇3>߰,_+\^C/Խ+NW!!>Zb3V_*^׷|۱gw~}>F`5^'ĄWQ>_9GϹ{GOa]1/89\Q?>@?4{4=k dd9UcS0G>|UwdPd,#M|LzouԎ+mT~w_ϟ>~|"7j)[?) }w>u Gh6'|9zy{0Gkz={;#[;QbW1U 7_BaXlIP?չ2Kz n Jo ߫GGFSc9"i~5'!R7qԌSMC_Fw~kߟhfcy:|!ezP[юA}6؇5PwtuN2S7G}ۣ~}ws;13Oq{5k#j> 6=^ӏ2fλB [%]rQPV V Hoݼ}C:l!kޙ[Fа lA 7^tfuF9ΘElWV7/I8+cfmخ9/)~;9߄|za󃛵6a[#%>doC\#k#%e=~Ws!އ4`F֯hFO]NSވTznd\[;XCp.m^^ԨNW{"^/Ȩ~  )VBW۾_ _ai#SDnzwWY+;ղ@μ˯?[ٰNX[t:Q`tt,*( hT95;qҋ:KUs?5W~l8fa#nՑL>~>ϰ2̼~gs>9H~̄Ow|}@~tBQpKLG7riLG9G+Ԇ7@,#GNr.qE]BP\#)ap5{?y0G/z&9v D'ϜaɃL1Fѵb+xn B}09y hv!B$٭ x7qhdu /p lv5|۠#qڿBxA $Mc6`v@OceZ>l2>:8_u_>zvNMzUt'N|UF`@笒tΞu:z:od!84)'hzASf8nĆQ Twp`pigఅ=ſ~{YNg[tWh6W2/*}K=Y?r v'o,m!,P‹_jVѽe~ Z<wa6|37.x.mx8unDUcl7Csm `@inS[1Y/6{lVuF)ΘQkfT{NM]Qs6>PCSbG5n{_pP mwtn @1,y06D8px*a33F܉  .F=Dި[W5VuN7@SdtvބShcMwk0smffߏ37tknx.۔ow Ta7b ƙuwvl=7{$SӋgElWTboJ7{(ս=VEvc|NfF6mpH7t6g.n6pnn l'b ۭ a=9dmy n 77n)9ʥl^j ꅱ]Qs6[ժ8ћSS'BJVQ7ѰG`|ج رxFokG{|73yGm@ !nOح ش00f6:[ժ=yN)ųD"+1Ntj[7ʥmJ9-pLe 5uÛ:<M>nanx.Xm,#>`m໻aÛ3x*yWV͊Uj7ʥq[=M_Escn\=SA[s[}FSCs6Y]݆o0!7FnGEp6 ໶3wtk wρFtמa304f藝]Eι1خu=oT^)qLVN-&Bخ9ː1][=oV\{>xkMh]l6.`mbx33apnabG6$n5l7wạlTOj-FN-&Bخ9bΩU+b쮈(EW])ޘ9EuFlLV9y<XnpEv33l<<tknx.l6o2m3C|wͰ8x7wF\<.mUM61lQ7uF)ΘElWV7/I8+cmQ}Q9h1શ4f!w|Vdyva3mfcmBx,]۾ af!݋1؊}FFsWG\N=ژnF)ΘQ9Ou^b)OިI?){X^:39˭#|>Mj"7A,v6naNCk5v(F c-7;x9Ar.lיR꽧쌯Dw[;-C^nT9Ta!RC{woN9~Ϻ|jEoQ_.??>|^إB˲uUC?#msQ>vۧj!V[\k>/`?+ f?W1ǹ٫\3[50Rˑl{zFϸ=c2~fgb>tkߝQ}"i~/nG')OG&7wܺQ_~!Խ+B)v*Rq}9?~-|=?Ї0G}z>w1OZ)o?9Qr}#'j3%9CFOq}!2;|4~H?߯wږ">NM{|߲:C u?oφ_({#b^ϩuX {X , /1\ zR77I;"6:~']e},l`7>uJN_i5o^,}`{ ܎m2݌pfIPC{I:֠xu88< J,mE39n}ˎk4Z$_G (bj笍hw +H##ǷteL ,=÷nG0od֊Qf-+$kO?}2Y,aIa aAp+%'E,@cu[oVy р e wf%՞ 6dmQƕ=FF j ̩DzwL#y֒q% A^VM[{.)EaI=FؚK9pUO*m,ֶ&,*a~gΣSB n2S[2fśJDY6wrZ:坻 C9VZ ;حE wϻX],-HÒៃQsy.?4h9V]۔w2ʅj¹@Ȃ'wSBPPo0Nt^:˕Ixw`'i03SURu~g5;V]פcH=ݷGz}$8 " \Pw.Fyit XcY揙by%u JQw- 0q\(6{y{{cwnn)nX4ԃdl2TNIМ==k5ԜMm<*? @TrB .ri05A61a$ÝSB{ix5J;]rL2(pÎׯS*5&2!u3?UV2EgΑCN> ь1b`ϚeO6jA>ᮇdRlV_݀$cꥎXe^]fZ<ۺy.UOAS3Kj)0"Wz*TpXɁf1POʏEEp8Q5ո3g̴PFE9͵MyKln=+?RPkg`Lj{\kvPΐiɳ½ex2.0 %ӟPH U2]_^*ѕ,Q%9;u +! 6\eO_LGyOof|CxPA->i2`i;->tel3Q> +KĎ=/@76[DX Ij]5H52aŤ/) Vppf/_~lШ/ 2^}-|=>u8 ^ ~d] 'Qy~[Nt-eה|{Em6\ҮT"gn]-uz0Mүmx7UT`RcD*[PG8J]tvc Q,ȃ+1twڝe xPMOf׻d`7"4Qk9PѴ]D&Xў Nثiv|:{.L`($v?B?Ea9nMV☝qmk$"ٸ|Z\&bG$;pDۑGEIHLH77ofFFڎJo[-#/V] kɯGj8Δ!X$u9CH, 4$츆9 F v%e1x-lJ&GkO uGstOzhf"ZNz?j$⏴]u^n1G eZe e]urգP0'Wi?U$3#<y(@PB6l;m!#nD#rAr̖).N/IS؂i -'F{x_VsF&9I bQEFL:d G:KqjmMlcl`11ƆmmlM6m1ƓcM4166M616uč;E'ޥ5> )"3#pD p.(2@pב ;v%e hTL"L0(og7 BԾ閛n<+ )/9^srqg.Rx6܃* N!*p|]- \˸:Aٳp?1)+Yl~|}!A@o2Ĉ׺8OT+`*^j XUfU`ӉYh5/401`& ܎<\S8H%PHQ5I DO*@[3dhmۨ}Y' Yn[<}|C3K g:J!vTЪI'^$1y4CcD58< /JB<CYE6h3ϖpy)Lrl A>s mkO}:EY1Z2N$88,.3@lAxf pˣ@$VO+PI}Iy$Ybo61]fBυݏ8.D2^N+#B,g{-1>#dMyΣt^9Jk*l 4GP3ZX#B?V`i )Duߜ9Ubqu]y3Jp̠jU'~@L"eSH3Ȓ;.o21')ypbUeʖv̢7"M.}zʖZ@Xs١9Bo~ 7r4_-.${L4kFQ4#B~ y?m4YFC43!OZx~rI]xX,0,]bD.Ik%cqW|&20qmc5MXpIPU'R)L& C@ e^洱@ 8@  9:}2FqxWfwYɔ)H Z:"j%~rwt=Je b'6ȫ0`ᦛ(5u\W w펻/63 tѦLj15N +9XUn^v暞Fi1~縷⯊%H0B[Lz cβui"\4饋d/[LPj~g:x;qkTs |#ر"ȓ<&4Tk/q[I'=Md\YX?9A{'ǘ7xjINB'~C !ɤ䓿x$ɰ=n,=#]:3=L+7Ȟ 2f}${apеtqݥ5eYhЫk:ze%dcϳ.t]:v& f|K̦2~C|pz_{mZ33gH$FiNt1~;|pKÓ;;D<IsDU ߃yW?›IP?E/,vOwzC`Sz -lSWY~(mkެhU`霾b8.Өn`AncܫɿּZqS}+?E8jI zdlPvp$aneNӧ\Lm\~q ~Al%{vvA$^O|.#G.;B^V\x0aƔsU^< ٹlYu8]Fꫤj'ۉcݰg\_'׻g qg"k ڻܨ/b%vRzmc<2߿#U-&%YuLxݯG_tl|4ҜAڕbL-BQiFyi9KOHٳEFg2⍻n*sv N(i5_*績D`%nAjgϟi Ԙ|a M\NOg;x(;vߧof]˽,{MG_Tzz<<8&L ΢_y+gթ pXOj>ax@H熮y'ľK+9M<ڿӹ>U@u ͆Ȫ8O;u1SC\ d ZS1v-R7"3&k@^ͼޔ̈́g5 r7Y ~[go0,e69m \uPps8WW-2o]ʴ{Q}| X0O H'ed{|8;҉k|5pL A}DH M `FQj[Qj\Etx3N=3hv ŷEP> еCP4=qLֲ(k~{@%x6}0c N@rNmqyª _]iba2eg" yGa(o<7wp9| +MGSW%u{1W a{^tiČS?<=UCҭ\L8W`n8ZPB6;uX/4C Z%&OzF~VVyVևoTFeYm~}Ywkv ?]1p[ypmɷxqzT%P_\~$f-2&(ش 8AyLnƊ>LJ)Vs;IG'rcxxKڗh!6Phy5"{ASO2@u-&|}Gf( &|^T5xِj3.Dn%Nr /q; j Y J5Gp}x G,@8O7.Ɓrٲ9Ռ|8% ^鼋АO3|01\5L;rtjNfN==p5+ #E}?ҧѓA\i~Dd$-j}Ŏ-T¼%JծO)͊gkՎޒiݝӃ^z<ާeSҋZ|46Jx@]c4KJ_u=v9\(QaPG!9 'ѯl=$(8] D)%_Cг`]y09zGB;4}귏q:?Y;.lQ:f0crTxF?8ezf9Y]B>_R`rvvؑ:pցduZ;b K i#''9"&^L=oGm /C"%JKPcOd"aX׳6qz:z7,Y>e*%CÈef\>qP*b0SOS}1hѰoONHOKb8ZlЀrA̪}t~&BPZ(C9 l$HwBI $BIC %q %q|(1a꧒(iG$]{cx0Գ!A)70N0 Z<ƒ]@+xY4E{TzLlM˞bySoț\0kBdd^;_*|{]GoKf^i;: $S=z8 4ʭ}CbcjbQ[ 8W!F*Q'zYf3 FhQ32{N<q~IHEFˠӗ<%5f"%uRߨh-GqKoЩ#D^ rnGLF, ZyK'Z$;63:oߣ?Kc+-H.\.r.\majz5ɏZI8d]'+_~sg󫇓koqX, {vJ9ܶrC\R%]7\#[f_S "q`eT>ʾZ #ɏ3w[A}kW#b'v=b['*o&à#`Cj ,AOtt2>ͣ!ͪ |k A>EH,PA=P<"+xGdb;tE Ҏ ʜ +I0ۏ%CmUgWkes48*ıvaU᫴ ktʿܐQdK4R5~572ӌ6.^Pr1z~rT&\垥Nc(APUP},ϯg7̲[:{6o , S=I8uU iͥD@9h A2cE6L8C:S$>{q4{߁*0,Fp:K - BW V 8 V%ȿqeZГ i7Zj:? !¢)[d~r.+c7^iڕ5WGos: NlEg&Scލ{ry me>q8%h{zW 65%ܱ0 yZ;E⭻%uSZrE]U=S=4kMtO|Se( C#c$!$TWcm|mj]D=>Bߑ(00/` Gae[B1ѓ"&פ("j@ݾ*pnw*u(eB 8_{#oYE/U)YM-tm8ylgUv \U7v;Bs̉MW_}k],[YowAl{ b\ Lд1$_*]k]zM1Zy\\By$|$o3Q8$?}T/TBPB'*0PTX4(kA'HxEݐkJENˆ:i\rnV3 %^Y9K3S󉄑_2}rI58W  O*0(ӊq_ QƮ~lA1Y1vVzGܣgn01 1J\j3 X;S׬գFVg/G< $N?KP;ݥwl/j4f+DdtEYϥA)FWT7IȤ?*FPPr* J&Q7u`@  +Ɉ?{W) ţE{=z/V>%E _ 8-,+׻+&i v@wl0f*''✜ݼHǷ܅ T֞F.\nyٵ ?gxy_$&pN b :LQdXK'+kj|}U&~#JeݳT,ÇVy@;Ԋ $ l;T%2W\@܎AJm20w>D3Fq,B$iRY~gwR3W6O[CbҾͲETVW~c֪x]f ,oBն-עZwgε"FMMɒkJs9.#o#OVViz "\U+ur8'b`#@t菒.9(IO}+G0KdT d$'V2ݷe8+kq>oZYG H(]_iB&gYL);؝PNR]N7*v=^{5waff></Ur?[S狅6pk۵A2qjI%d>ד%U~LltEWg>_ލUVv~?'ͱڷ[ ?B,1Ds2麑>5';_7}@v䃄YryZޓ~O'&11r^Jɗ LL^wlylö(D9'U?f @c7,ƍ,l nDAsqMi`R7A0(_sǺFSf0_*$mQxt(uy 85tx9NsWۿ7#Т 8#}D$Wa0E>W w 2ZuŲ-8lA'қs-T`)BomT^MS8?B@voSO\>Ck/ 눤8JJ5J*؅bu6&t5BF B>*RρU#wA9u)99?ۜ V5Qb.#e}Qvܿsi>%5i,{ZբL|K)/gpB\%MiFyXT[x A:K@N2Bu^ߓi>IQﰔb"lq[}h7n~6~Q|h痞 {}EchzYɮ,f@(?!M+ D)YНcrY ޗ=5Z2Z-!,x̭S~5^Nm)-]voʔ,?y~/wx<\{>Xd=&Gi#!$p)VT'[JT\/gH:V!|9m'l8O#g ⋭sQ-1ί譟uyX kA]D&vK9.LN)PoHy^|S86$G~n8(SP!8D{l{B'~!g%3ƪ`VnV)+{!>A ax.leX%}(d$j5pq08z(قIf#:SvMHwXGNQAhU& }+*&~@6 ao6AsQg8N1%hXGu@MNwO? |*>x9?țќ,6TJc>>'{껇Ḛ~-fa:l (f"UlƩrp!K2Q~NeuX %Nר:|ڎ|qR4+ &+)ws;G29L:F3.~P޽vJ[2=x՞i]FA=Ǚ]fÒ2 w7zۥs :7D_ EK@;0 t XA!f8qgw+ ]¡,eDG~G8w36nr shDWx@1 |_sKXzSzzF/)lu9  bLW-Yg ~&M%v$<֛GJo|TC@q2WKF/nw,Tm<-t{ǜ;ߍuoiϫ,^e4ΐnH-zJrB¦ d˳`ͬ7/@Bia pߓ؀A+RGЬގk}_T!l\o&wJqc&|Hؠ"H]kL0%Hh(*[]f__3P lH$v;:]L9?㜠.QwclvpX* vS6sӉ?תt:RY.L"[ӿ~675{ym23u&WDn&LRǎf8'n+hv5읱#ucTM)W2ܜNF4km3iw{96ɒk l3}*];XѪ}y 7} ^]FھG"bRͧn괆Hp`#H +b4@&FO:se ;Y-&9rZh &䥝ҌM轛ĤCF? r!Nz0gx\8~.xK{IKKj$t:0_`xE!6%۩|7{8lC!$}w(|7Aګt& %ĞdX)xOC)pɋP8XɶmA"g$Bߍ1ϐ|PE Mp"V8W Zcs,N}Rw5GD䆞)m#} vAkB!vFY(ПG.'+7MF[g@{x+Z"^>"7-F1p|@/8 (0H_|:.ա=:Vyq;[70iؗr?Q|=q.ebk ?kgR]w0Nrcz)E,2;LN~p tEunmixpbM( efQT(0̍&۬$3#`^\-UV}<͑ZXz|vnv'> w-%6vƒ<7tڛ0&LEYR!A [Eyȝa 1օ T"jd5 $G"7V Th!H׼E*(yRm}+=#9ʆvx@`H̯2C@$B[Xo7>aهָ}M)Q" ){ȤUNwp.?+5h8UULf{"ma$I-`TP?ӂq@`Z/;Bz4mJ͕s u"xE^ z I|sӚM'yOYLz|}BCeXfsdlvB ny,Dqt0y0*2W J >[IѺ2}< VϷNk?%,vNЯl?%oXbW-6sw 5EUmip \̌U⸴ZPs=*d)KއcP=y'9e@xD[6pk3Vl}~8KcI5l5EOQQ~RhB'_^CI1~'O)F٢ko ;R11cG /cJkŏŽ}PFG8 {?l']_s%" w(9^ [|m(qpoPZ twc7ڼ%8vP6TiҸ?g"6VcvV7ChhrRz]ߞaxxA[%9֭Sn,"DJ {G~5T >PB'e`n;Zkb yЭ܃ "2p7+9HNNL1j38MI^b r} ԫ凛G6LAYYi85ɧG<#rY`C|s=L((_F?7EcK[6w$\kù=N zrTY>n'6ku#R}3DT?JKv6:LSJm[ }^c[}Bq:/& ?_zZ_Op viPn;<<9oM0njqz C(ӯc5" %C}epP =N̹-ߐ>2`4bP yUY1Oqhp&*2SS0֒5C7& rϠ.]eR1,:pӃC_1,x۞*^ntX9C? )rqg i+qؗ?BH,Z}x*(W ֢*1usBHD?7wURt9nqmi~}(纫 >Rs/|;(_f̯bi_+ \ .3}MVqO9ϝ9,Z?c%/ r)@Dē4VQ)$e銆r+]lm p!Q_`Ûհ`n"DOD`Oö<8Q%Zc ;HW>&_|uI~QxN,Qf5sgQȉVlMc0<[Sfu<#Y a\E%7?XLZSA-@>H)%7>3 |( {NW8= &̾[$Ůߵc@7ESI JTru'1צ7$OyJ2}D}yl?DӋR+^hgo? [¡%bY2>edT+H/ym0UheڨbؘN:YXM.WSu 4-6KTɞm؅#Poٓ #ub0 }zoēZєcuӕ |Wm9Er9h*00q't.YIt5roX)~կQ}dsEۣunNvmB1C&Kwtky w@M4'pi J jo#ùW?dc$tB=懬 8쒄QW>B̻k!"fI}9j.܄u]{ٍ7}Պ7֏þբ@q+ߎ]Zw|Ejaؔôq40򻳦/_80uqh$:DȨ,\%Fו{$yI3S©UWƫw֖A<M?M'h{3#V1 &4 0.?:`>y[,$T=%$E7i) ggf>"Rs?}'zǿP__ +l`y:;prWSkc=__0 A /{7oT93>G#6CCMe6ZK,桎^I)PҜlW?I DRzґU#M QG4 O~V4T :3Hۛ,*'$CFDZz`CڕȩSڤo- 0Q|G/tQ|kZDv ߣn R40i|N:g_C*$!$,|F3c(H].pq{DԕV~iދٴܶn|O+?_VĂ2H{Y!s8~]|ϛ3d8gWg-"Tq9)XrEO(-jA_% t "=]ޏBpϤ9au8* }x@0|N֯sZT~,#d $DIuE0H r$},8^;Hċ0td}lyBɳ?Oaf;{yG-͒<&:pOfrp[bOH,~͇KR:uKoFϺzdmJPnܗ& h;_] ]u>VB Cj90uQtwzYߗ،g8$K_?LpWd(BZwUug @M$Ђ7L\ d2#DHg4#0Z37kfiN{S-SCJ*Qi919d'F9 qC Kk7(Qjݞ{UsTlvʍi(|^!"o DόRF,ɓWvW^Y-071j[_}YbjEj/fS77l3@\|O}zޖv˥m˥Ҝ2QtH@:wXa ]^+ε>>&MS #]|7 "EY, {"z2_ыD>1Ӂ@? rS-r1hy< $kB a`y?Ouzg'- U0_"Ns;>++X\ڹ›l,#R?W(?|zO3Mtlq0a"1y O==;fͱ /(1m_ cf ϛ_⚲;hȗDDoHwWI Ht'HvD<Џ8jY*YٿO~5WsB yʥ @%fh{;M2Q2JT+3I!y .znB¬ƕTm.TX `TH`uJnH. tCҲkEĂdz(NkڠxgIYYcz)W>t\>d $kH>;+(8Br%O75sv.'E yCXp1A}nm@6a|Hr3ij;ary)]?6Y<pQGE/",^HlB6@MDم?PHߑ!_q]3Q=Fq?**{_5뫸E@$E5M;Bv(Fʺ_<ͺ~0\w&۞c]@rlXxS0cIQw!h4A'3v#skH;N ӤA*ʨZ*c9,6p"nG X"F0VMU<<0G4suL` 1_CDrWƾuJZ(cm: v-u,a}AYB2e@,ٸkCdr54r)'.8~)p'L]ك `ct.ݵŚȘ$?x0tXƃ8v" r,e߷f+o:&2W!H8Q+)mEo5EC4QF>㼚2 !si( s~I`&DY"jo ]֘\;c@HקͭM,N\n,wY9N9ya;߉|-\4%x'!8b?.IB Q2p[< sByP0/x{>Oqݹu ͏yKMt~.w)/T\i ~ӈb w*Wѧ7&y]T'NOWߋM.g?#c>_k?o|wN.NGxU:U截nw{aqp^qzO"{)3gS a]]trr 5@CTa F֐`}>j+딼AÓڢCsgT' S@CnW-aah,\qshx裌kr6ݭɷ}W9q1UryGyR=dT%)݂CH'Y]k!)RvONCMn2[PW;_M$&NV#=w9x ./Bi!ΝNLOc&/'9Ek_l}1@j9Vc_A-LL2#dkECS|x4e=K֕7K2Kl5 -pt"l0g^T4b9P/Gnw.'`l<<#QZ-Nv%ܻM:BC7~oHWWɃ>ގ 3FY#}RBuXUPQ]O Eb н\W/Sgz@_H=/489R%]\R8#!Gr,ܾM (OzhHK>9D =q4sкਸ FI+~.lUHhU9tnbnۨhKA(ݚTܭs I lzS F#e88/!F/2g_ t=jd^qF*] oO %%fx1MW%U9pCv_);x;^e]ĵ?NF/oa=UW^p#|)XuUVʰNC0e{d A?b0 }ך˾+ by]Qar}_f/_.%_i>ߢAú}N)fI'O轧ae߬n`~SFe8ZP򩮹j Q [Ff.oXݙl) ][twZ\ㅝ4'V`~~kY򔌣9gPwI$!*m|R!{N\ۍxc%ʦoa\?],2m${i#B=PklޭϏ3~>>Zwn,wz!yfu1G/WlOu=xS):אZwfW24q3wJhyZ9Wh& DB*QF/R4O &$-?^(puXBԇrt%NXCx.{q ~Jv{3S]A?ȞoNS:S,^5|XRLz{:373͌(X\O/*%zia_rec?ϛ4EG& P8PP^3Fc] pͅٶ5M0ܪOHs+if$,5>Q_]N .Y*b]`*s_ X^|]ABڎ}% >[) PC߼]-á[gĀ(Mddxbi!e4G员]tHvLg*\t8+j:=Հ[_'2L9'aMY:A xoaSS3nG$ /漥Y=+}9zaW(l쵅G/nNx>΢Nt&D"}`S 8yFe0zWK\-LC-s̈́!L2 (Eal= #5%._[` 랓UӭKZ}ۈ.W2櫘ωk>,Bj(LsZؖ'9Ȃx -gݓi*ţW2dȘv*7愈!cNaa+ @8ݸy'Y\̮WYɅ$?h〠Ě,og uIP1T=5/)2H!%^ձ^oP]5{UDDK6;sid&:WVx `C`Hw\Hb 4V)ec5)U77{ %)zVeJ_l+on_Wj\K+S+F2,M6m@ $>)whQp %QLcSm: B̭-}<ObUyJQi# qvo?a c|՜aV| UKZwDue;٣ϑ- ;E~y " MNa @=%ڝMTSr$5G)$z5L0|eF%y#{2DdB:H=e03qbI̒K!pb_UY{]vz9?֖K=:9*89y0{sL\N5v]쑻:*|QVF=ˍ<&X'X7`M6AoHl% &OŷEДѱ[Nb h{Y'Oe:x(go8&[n]#fDon q;j4\V[3?)_LTZf0nR6XCĮg_2XsL `N']^<{1RH"1 .$bf;Z2}~^S}++㠻3GAdkDBzКZ)*gR)^N HFk,د[deL~ǁK{DŽ%#jyؕ<cܚ^2tiSCX?Kb47zm*GɘgWtR N-JR OgR&*N)l@&b0r-&$E@v l(c!Q'NĀhg~\Gf<[!DfK;gJlv;KgY z .E:SE'./RRot,¤2b{ su|L-$<3xO{1d2'?}"o}z<[Z ߭rx;KL[I;1Ed 2t긿# 0 zy"@D UF v]\i&}X6 VZE2/s<~t͛ V[_[-<ɳCQaE:3P^~DKr7P47U=(>fٰT_{XVZ,_/+mYzߵbaZ Z|i;x_Ay;3da]P ]q `H3>,>߷Ǭj'-B**$$6z)"_z>mَˊXQOŃ5z6EùkZ"$q`["lk)qKido?`\+B45tm]BIdV x\ uǂ;Ν`3nĽ2fpZ_&}PH@1( tVKBS)TZ22Gɲ&xyĕF3^{uwI-A3"ExO qM`x>E>ylk }F5mLv߲+pr9Z"rݛ%az0=/!O[Ik<X&v)q PqR=**/N0HԔ`F\13٪ o?$K-=*x4XxdbnRW~Y`*:`'Ge\Q5e#cs5Phͫ?[~zTLm!.{ϖ&H8o~Nw6uѽ]T5sqrsyTT9QO[](.) n{5 i.JҠu#ADBW7qqrל--HVG|M,:MyoN(08q OZM_Lű3aFdĂncFCO~V2wr<: }Xu:Cgt eJ= Ss^`zC~hעm=W3M^!vOk`6myJ귋g\WO$@7׿se ˦!NG_^, aYr98Z>I _P է hTB$*CF WC}gjUlcIETȈoA(qSJ!m'.`HW`-Q6J7`WT~ E"{)h>A?+TƝRQ^OVo;بo^Db奐o{ |URՀ TJfu2/>$~Eucuc%;6l7{gj??(6瑞O'~Ó=zK=ϧȚ~=tzFKPJAVjNA{tx5f7vb}}&*aN)]?Yj50Y8n=.69Y|$90}1VOFZcdP˶3,[*U{c{iYʶ콫 Ѻ^?qߐ8ee ]|k6%<,F2R67lOm|5wL13Y [[6ߛFn5qEBt#G '`U1!b@pS|[a̬ k<0s /!n9ێ0.-H,`z_acNE:vW^OB䦃dfIk 1^r;Bwvx:'˶w i;~/qU^mQJ&S08/d?GB x9t`y5Ir?(%yY}A[7Q<.'RW˱&g,D?>͓o `[9bĿZ(^'TqS`/VvG9|Ykta.D`ec[&w0a3qY1 ] 1PL$1ӮYa}*,zF-HRdP1@zG=ˢA&e#«WcebwEaS#Id ;K$ޢ@%?Ϡylt-F\xջB_X?J~LpheI vCu50\{1ʓ "5*G<|2bY\yPGAB(9y'毤IJ,K7[ X%pI,nG,!aU ?c=>GPr.oY}Z+ޯ2\#-@ nTT/ϥb}XL:RVE*_.yYynpdlIxLoMe?e'كlٵ D8a69H:϶x'diFL!e yW-ƣj ;zX6ׯ>RcW-3G{P;*~7/EώLƈnи-LxWQ֖֥ t][K/?V=᳔~$5϶yvٹ'Jly}gB2u+uec=fpޯ%NK d{.( KnD]&eE=sAkY!Ew ̉QE?Oa4`0{zcͥS9(,XGSҹ> `CܙSS;wHkOHS32oNZ:^|pq7ſ|YzWnr E4/ܪNDrm31͡AdV #~Cj߼EDfG eO]=Œ?(ˏm襣o CCAрB}ziX|UZٽ|Z$38z Tc'8|! axp'HbTwRpp_V4&[M0+ ^T`4^/ hǃKxܦ.8g_;㲷Ro-kƋiv~ dI@YnGqOeɢz$W8YD[R0my3s#Q >W Zٳny۴L/W @OgȦv**L/]LGj}B}WQQ|a!&|,آ D]87੯GbFQ /cm|OX`]vy$S@+D6"F0zd 6K]3!<q6BA3kz8s#$ܖԲRSk7D˵fQ~M9  ^dVaOR/2' JHNPGI`prV6"a?kfa^PMc^v7ޚiK/ v[2QI[{ez}K ?0j~ P]٬'oHo!Um0-j9YMTV2((O;M0Gaez+'; "zuz[sxL?\ww QrYYQ,} }Hug? APSk;cطa _Pyys &|FxgnqR@ޝq+ /&T@h Q$Q  ގH`.Ean]I_:!\fo ^+n^r/ff͎hՓW61N*vg ΛB^ɡ+x8rt'ZeG#Oj{/RڂWkSEAJ ፾5mr~}#Į:e=h.6?Oi\9򯙩ЌiGOt36[ ;s(7?IE ԟ1FW%u@@U_rtY9n\'pLUU͆#TeK-K8l Gd>h#0Fa_:|~d{kр,8XԇO RN9<؅j(%y 01wA -#H|0bg6ym#'D'3T*ް \|?͊mGV JM}\Dmwqw^e;b%HZO/u8FF[0=g=ѷ~9*'~9C0-wbxh*9P*1|8#IQD\`CH\>¯x/m_Ͼ;h2=,C\jE?r:֭-M{9Gd&CY|vU^WFZ/RSOwJM\tO>e|H MLR+ۧ?:[&S2K4GՊL5"Le;/2N"A4A\$lWԖ4r{$ +X?Ħk>z]ډ[WB,3SB{W+-A^6>bG9eYOc3kq2cQZO#aP^QA% mW<. ^7J%h:1\UqWŭݧS~& x>\G't nw%{I;mye!.~gtS ӝUhr l]=~KԹ ðfx?F廯BNZb ?\J9biBzSaPD$.d|CX)?Ė6MG}- 0KU#x 4=ip=t(f) &~׏%WYh ZUOJzvDYZnS*Z $ yt|PuA'mnmķCƠ:[Ng, 1*wsg0V'1*!$1 O$~}j,-:ꑲ1y@^[ރ :߱@J ۫~̯ܽSAߎT96b]ckIB"]*TH+4> #2lyki#Y>D\РypUy}Xu(9ݱVϹ}Q?;TJ3UXf6sm7xuj~+[`bAЯ+;6jRZwlv#w-~?Z",<ʞFJ`P=~gj_̻bkZG` 5Io }c3ӖOmIHaKG r~\ g;.LLSEq>])AHgDa6 5y`UDa_<ނs ioӕP|r5\鷊qPA5׽6.- 4dci00VhmD9z:/OX ڇ> ׏ӄIfxu^' $ET)-;>]O>>>xqf;}Gǧ>md5;l^ʳt_*FR/NKn9VSY#5rBӈ~J2;{ KaM#d|a28j8;O=  &|P '6x!am4!q}ٜL#.ɜAՆ{ $2Dr&ʜx֢jBBB+6Å?x JoB̽~[^|`o9gӭ+Ym=Ltq"EZHt<ԇ~ }hM|cti:ok>FjCT-!*@'>xT#wknv NC "N6I !dӀzUWVE,xURA#Lb-9oYȥ٩U",׺M/ E|.$`|?W {D.nFd#SɥVLJ8xwLA0 wy=~;_^d|ZZm4M**Gyvv5ֿ5ZG ftAB}"h^cUJ?}Yaj7x;u6!\bQ*j*O HT@#D-p۳1nˬ <;Ez(r8D !cxjhgIc#; j;z=U(}~ṽE`܍J3!=_]Ǜu7Q/1݋R$xB'N}ʏB( W9?kX=M'XP4}r~=pg 1@jŰD? @Zn?ـ'/jlCn(|%a/?o˕̑.+y:`8 -j颒ȽaUcw^p&Ƹb[I%7?,0Et{JLƸcLPr{qL;8)O&l(_9ꁥoLy7G^6vci7meB@j"/℻JxGlo&5<-zY7z[;C@q"=Sgc?r{襠42gAAxGS¦['oŧFzM Se\#Zwx*V)^2n`4&Pw  1}U7t;oQ_\:nR[bHЊ`seѼU\7dmu>hT8%n m#a#ܻhe;7+|q*DNow;e{/޾kyW.׫.q([ G3ftH )eȳ4ވ݅mJHN _$QZn4|QV5%=Oc y<;Nou.#FMFͽ7ÇA%dzLd`-rGjv6H~6U%gط-OpI3iBVwFQ6@Q0Q?c(@S<&?=#Xvݔ+&D38u@+f$51Hg&]ox Z6Uy"7a鯑)Oܠ33+V#:Ǣ))' oIPT[F!aa#Pe{֬M[zUNcJWAyekU yUjcv]aes+[piCQtҡz{GHu1ÙjD]Vuਲ۽V[ghV W0Xhsuͷ|&_zG! 4P =y;I82ؾlg|ztx]T%%bfѵ51kk ^F K~w*[QL~ +N}&:7vFy61rXQOwc`?[&˱냥ޜ"{ `_3u(̎+i+0'ɫGpdϷz8qYv}2 ߼l)XME[j_ ]>QHLBiP/$f5kV޾sW. }4q7T?":`{ADu١}i+ o_Tbxfl4wrZݢW1_pV\[-04Ie 6NlK[ "I(3tR-ysb3r^3&0`F;͕m>)pA6id-´7\\|&~ .3tO3r!gz~ ƊY.VvՈ42uEntPwsb%w-X!-uYMg♾DxQK.VZ}ʯt\%B]%OQB.b-y<V[^[KѲ ƻz|~J޷NU ɜw~H?5~x_I3Wh(2.gނ=Q/ju< iO]Dèl عɞp^=gT/ J]633T[S5Nq^c[ osޟER8O 4?Z)s[R @epR;XX"c }X:ݽH`8ϰY5[KW"NWϼS"7A@Qxd=>c;3i &ֻD4mma I_SH"dc5@0R]Bx\{ ,pxjLI‚:FݷZV1Kn-4tVjWƋDS2oHAD!&dpj/+:va; hd|/+T{X FF́Ev#sWZXcqN/`̰vqʚms} %zddryCFK3Ϙ[?|\cSZBJSR2p+bj8]P( F 9RG[@謙p"iu&`'`{v䝱pm<"zF0p<A9wJwBmqx5ƏF^+`H(m%]a<"C68'pL`fzQ2qvAAr~XZp*>9Ssϐj29PMF<)ă6.p n~( ƴ֚ zpn$E 5$Oe,kҲ_nN@vI c 웧_Ⱕ%9#bӝi=(٭6=B{:{4ӝvpH?wUl&LN17 1D6C 4Xh3Ĉ8H%Gj I5-=c;^kȻ1Um %]@Iޜ~aeoAֆYa0A b D8!n-~4J!Xs?̽*Gww'[<"mTJ Z԰|%0H 6u1>$ܵLbʬNnр=g0|aεuw{}s>dJz=HXə<_&ٸ޺BCc;|}/{ ADKK-Uz&qQɸxHʡ es4hi$D]^e F_zb=CW2a~& aq _~ŧ_PݥۍqճR4d+dzPp4@1љo; o7u"*oelr,\ؤXq~i|z{YCs#;r@:tZNWBhb׷K/z׎wKT=>*Իmejls|S s9jf;,P^6up&A/#V&d$0&M7[ *#طIU "`ȖeV/du -p29N\0"LDTi]r&Lb,o `덍ԾKYJy4WJk:KM1vNf*[^j Pu݅&k[ɈE}eUfMYyAW_IMZi! I`uճON'Y8ںekΕu;R2tN3DӓH@>?~Ot~uUͽr_u|R bZݔrqSQ 4Q4CC/$L@bEO <hfeMpw(>; z,wnB4NOL>wu'D {~|FWTiٻ5}Jg9#I-ȚG6IU4=;bzO=ٰ֡ ӶN:J1sS|X_c?f4:w@e ]v>TYB|^ mAR%@є)|!w Nj(nam6b[ M9hq}Aaʙ W$'8MIypY 35XL^L DO=NQ}33VL0_H.iB[B_/u, |;9V6ڌM!r\,J5C8&^!m+K!4ķ z4},I]yn= .gd|aH_ߪ1dMB sj=znPPO g1njrESB5ȵRhOIc+ Ӳ+n)(q`M1`{ `ji4hϢ6 3(zhȌp )@6xÒxIKr5Nx8fDu+$-LMw~=T>x((ƈ/_Ҕ#khk CUgء`lCo`#I1ӰPnîw$8[kAH[fTxe>?**'.ǝɭU0QO7#|L5,R;Nms ]+颟&8Vs JR73GNL@3ݘL<_gSQ֭zeeLv9 +K_CI7Yfuzxwf= c}GEp7nhZ'kk4 υ+_(H֓kM })\rY[M^wM?,+je !Zn21&ArעH00(3TWPj1; g=[QHY#)Ï8 n Qr!}ej]8$o[nP:&*c &Py_9l,(*T)#OZ$A'Nyo0C8 g  ]:r+v2V~4֤6zlWj\/n"gs }6)>a-Qf>rR*: )d9]>'zwg;az Ŋ<.<ƎT3ڨꨩq@W=>)}sSΉW5?`l<#u/b/̅Z@\ݿ UC&1Cq]_O4֩'*K7/c26<'*zou~usC}*e1lj휍P"[h-47J# ;.OKtG³.${yΜYiMᡏ߽lEyC.8!dRbia>%jE&E)l^/ш=v|>L"z 5W* CvWƎoHGEqW+Y&(Oao YNE!@ uV=rbRELh7m18aN!Z:Bkrow> }% }}"Քke ‹_7Kՙiߤs3"9(L"/p9ŠϬxm~lše5ol8ℶD '`bp\B{)2_^v*XD@|E#t1 '޼m%7ؿ:n"_BiHl~#b7=KslCz jYnAs(5uIИ@K|TDy2T1AhP:[1 M!)G6HLZ1 .S̭+GS٘cǏ8z&9 =<%YXP D@W'a\: 130gD[ )q={-3n!3;6(6\q^ MP~'0 ȂH2 M03S“(:3=$?oG6jmA>!*y  C5F5eCkCP+-=Cu= NXE^~S\@Vͱ7;=*.}+S#o#?2F#ꇻ_xVŘ?Θ|<ټ7 r9 ꍭIfsDI Uf~6.<*Jڍ;|RHD|ߺ#](1WlEat1V2}WO"N}FߞU^ )7Dq㌙ܵ&?s a%nkl<ÅgB&'#h)g"$gmt]>fׁ4ƢV@/}ۄ8hh"xHSJ<(Qi;lv-:%1Z>|!˴|MJZq{;r0u Kgeǫ6 0Lڣ n{* ]Y Umhy/9 I߄Lf=7{ " ~_3$x$ݎPt]26,6pn2ν雗`euS 2W8t)ؒǼS5J.nt.Bav'R a.4%"* 0{ WmQڹP2~*p<s3@-[.[!ʼnIPklؕiΘ>TrB 7tu*{S D5̸huc ф $)nӱI__.osea`]pAĜ%ڀOE4X怐'Oߵ C( "MzR|[cPMNu( ^`i< ]K2w1=."T6^Zݶ$X)Wtu#r:!g- VrzK\. 4S1l`!=Re7jmcm& 9YF,غ#|v~[hg/)]| K w.5.-=]ҽ֗i3/*XtE5={ZԜ5~{H~t[4'xozC/lݜlk|J%'@*ϫxA ?\C!+߮&R+Dv?GTjzᾫGiNYEo3st򓯃xAs،>P3YiAPs:ur+~[]x gUvϻ(:8:i짮L [h8̐IuOsqqt*V:Kn=u1qGm5>#d͊F- K<r-P茮̙h4R/;1M Z|U B;/ר/u8 R!!f4yPNOۮ2cxyK&^<^_xTe]1 E#%rQL@SՆ</E "rC"WDqOl@KG2)͒ǰk?nk$t<]1O/\Nҡr`FҚ?rxA`|׿n>8tٳ( m7C:-kxM_5ma9WC#Q"R"$x[eNi}C2X?f, }FF;4/<c˲Z` B.ɐ#{'@*܈̌QXF>k $:4쎿ޢ,Iw ~=a eQ'- kD?#0XO[B x!5~F.Aff(u1̯2&Ԛ %W*̢ #-°*ȿOxOE1b"hp0]ؠ !TDqGY\d?HM+@Se׽ϮXfKx 'kZ>%@4rr׈ޣnÙ_僂[+rIq(L'%I!_,*5Dđa] ͐O.ު NuK;W9g9)O!&dzC(9QM4rtLxv6|rVsk|yh?`$1,qٌ}68@*:8A$aR}xwXu/CQ["#=yI80YT5  G(h c6ᬿP`Zn3v MS_Y7k_^%;6j o2- ?]$OZ_`)>>nt/OF4}zs'ɰ+Xs>ɋ{];=$G|7ǍG 14O"PEYJ -R24$.9"N/YfXt Q9׻Wdɺ^Z;>EcXk̭,w 6I`O '3 –v5/mN+ ?%vug1IΦScX+m7 cQ(Qޖd!{|Zg]4ָl)Ry`O}DA+2NЪP%J* 㔦(sd~Nuw\)R>'o%U#H/琍kR!f^3$gj0!7ܿAJײd[//Zgm6R殣Yf`qShy6 Yf+b9OG홝}}_I6g֎r0€&gtĸi*9ܹ*MPDEaUY{:\[O:;B~+!ď<)xfYIbYW7_)0F [kHa}{̟A2Q8*|n1۬ZXv,]wIIdqMc<u:&:( b_{eh_̓IF[iqin6c*!OXܱR |wZ{7<΢ߒ[ Mq3ao!ZɴoQaRG 󳥻̥Ai᭎&qIԡKrMU8[JBEK;VLbN.2G ݗ4rGAPo˻V۷&C4y>\+DvAF@("jDzp@<;҅/@eɳᅭ6r3~dGߦauW!:n/>}ƙ8\t%^C8#:؍Z+.) ̎&t!!rO'|^a#I%n>O/l9]}tzIt^DtD/䙐=$V[ɯU!vLGd.!D Y =c6pÜ,z~ Rt@ NO7o)BJsO`}tj??\W7=o1oI{g=%zi]n4%w舷XQ~O]BIb{8.R7R ׿^4 FOc=~$^.D>#mjq,196_ӟpS1*]5 T]ؕ5CuIᇚFZE/FÐv};=xu?3B(aCj]6, Y~@Me@D 6mI&`2a3RScj>^Z\UmcLOLm9y8)y\vD@7V0s|>ӷsAC"L1k8aj?;n_}ke\1K_!w0)_e[A^D_$E#*SiA'+_g%2ɛj|ܖf\0 S偄aOw^o9~m7eT R8*|$9ɜׇS>_6x]C*z+xBF&!Y c‘#$Ʃ3Mp^+yHl-W7K"k,(kOu>nkAgher}{ ,%7;W\J׋o߶}-լ>Gk_pjJĶIϩ:GNwMv9Έ=ׁKi׍/G f }UVVPmD|Uyhm_ o8pk=Tveg2ryw߼{Q-R镈m(>zQÃF∧␗͜Kn// *hFtpCc:@09ݰg^Q "'\8j 0@Ӕ.Bmڀ)&lwHb(MY3Z0Mrlm.mQS7p@>uc6"K ͩXmc*Kŭ!~u'+V:KΥ'gsQWgj+wr=5 #<R !׺չUz櫯T*ujՉOzq=_,^s݇ r9ssoE%b8)__8;*Ng$DA \ϥCD|p ދȎWQz/U ÙJGݠ Hk6*=x S~*N_3/a V-!Hn|RZ݆2ĩQ:w s67_ZD 0VQ9KtB?vnv'Ԛq6IߔX|4ߪóDһ$GDqI6Z;4 ci3^FR::t J :~L Ԓ'~T\{jHhFiݿ]'h_D; ]B}.&Y˟*2cJrSюS׈45^:A-#Y>ہƔU~,mg'^~%3H/º1ՍcJ,Dޔە`qp=q% xgݒod+JEW7%o A4X˜髑շ^!p9MgLGPyb?ڄGb%ޫ=O9N7 !MSIq0ÖT}vS)\8d{ W5oyPnc!Owihw::8iOEa?t`!|GO&>iPDЦAڢߞfcdG.SB1j1q_ҕ*ΪԿH+OTQl]6SVJx Fg$9wLy7z`P=_m-m,>,RYiϯ5pqv]63 @lpXԈ.!yHbVq}' ja:ѬWm+K*Xڧܻ;!54ٸX":y)EbQ=Ƴ 6v0Y) ~TIU'v ZojOΚY\y-7o"a,jTr@m2:T!nM7=AGʯM[#smN].+ΐFW2M.kz:X_~wFiǦyeɺ:bhga>F<$q-=赂j)0ɪ NO6hDZ Q͹pS^SenѶRg$Z)S**A4'{gc{xP8FX3>eƏ@Ț?=1a8|}>;CZxJ>!6XY"x".d dmFeYBJ#L#C-Z5*k8?$I-4ԍoa> S)gO=J.Y-ZKJs-}T6[37&i?Gg3곾mvM]3pwl{ܷw~k˦ #.j_3+A "o#rh&Degwh,pÉXaȗv@UjlFAUj[~Jè6rv{.w=v,7^tC͈KX|ͭ/C//M=᧦y$MCpFJ +XmklmT\+ओe%@*o  [#A; ^ci6vnӐ&UV*쵝fg4||H򠡣O1$r;2.E=@2<+a.#Yps^#==|/֏~+$5? ˇvxd-;<?7QNCahK,cC_G0q (fS`:¤dl,{gOcZ0oVj ;e5){wn*[Tҁz`;4̚;59SmB O\m:?[X<ŢJOK<#CrƥIQ5TF{Nѿnzr}in iĽÒ/R@E.6E%X(] G#/) 6 D w`SFIcsٯ>Bт 쵩-܉mͰK bH IP| ;dh^Q@O_p(E/SgPq?,ӊ+Xn;~U~Bu'tg|Y!O5$(tDUn+xQ`D<J ]H+)z{)INc2]>ܥc{pSrW2NXD =Yt,/!}?v76ZX^UDO~~@ht&`㘼GM+%c|:E0un?(p >hMiJ@cBs,UؖGٶђD$Vf Q=pNa5,9`E@uBt<9ۧgz\~e[D1л'ߓ.Kz4f[hX[ضN;:(#*n:f1`YvW5_xAxg9h~>^? ɔ.F7tEU-٬3rtBZd1Us5:"\+ jq{i+=,"/M/ 5#em<&; -FǎAGQ@QDS# \2rBe V_=^8^okg'sVp:G -mODp =Dҏ.Ĉ# =L9&qW%(nhĶO($_UTa;DnM!4kja.rx#ypMIkmG^T6nϳbi3g (wH 倀)gTy<)B QXtB!% T憅ȅNH_`"bBnBGU bb/hί (Y0)ƂnQU6\" {8W]+Ω}A> C/Cw=(SxfzK_63_)4{d zNjT ;;<Ϗ*y^q#m~B 3rT5:u6$ыvfCu$.^٨{{7IA))8w /{<؅^@`{`$l1_@ȳW=οMޫNo4)r|`~8˺1 Dr`ubGt{ׁiSj8TŐMZIHFP vn<[ n/ | Vdݓı@3LdKX;aD(HA TVvTsjİS_8-i~Qg]LfN̅PgMqmJS/U(r 9Ϣ_H >q|t!-cu5E\T"u^!~? \/&8Lֈ"ӷ,ט1W 9:-22#'1DZ%nk/’*#{}XM%<~_ڊ<3lkR   gXp[-r Nz!M"b& ah m&Q)>%~z!N;a!JNNk0M/;(j.'4%:X3;zbh1mHZ)MG /9 KnʒyN[iqP58%b1iyP{~$eSh.ulV|C1"m7#<I& }5OmZo'iM3ޯtU$Adazk 2ß ЙfA些e9~V4h@{vLJ(-S s;C2%(h's$n^G9 JUK-mKңygy{A^˻{>+E{Jr!E2٘D e@ˌ!_^TR$A]]7|r=<< wUo*L{r|:<5)\.V|Z>Z8RXM]z)?pK[[ 1] )ZnlŚ`j7p[r U\$ik@=4-3\;.g\)Bk%A_ȧŴ\O^PRcC~_g*'џ Ͻ ww띕6)t1̻p8 Ɯ&p*ay=@-fgOwV4}i>B">Z8@% Z'FmbeﯺX{4 )Re!M3z=:B⊋d PH{.4l-J>^:蚢W^tAwg36h@xhHt5 #m m iHo C@/WHp=)9 Z\ QHKA@nY, 5a8tD>]uZeu6L0u"Z (Yݨ X w%(-r6vZ Ӣ㮒q)7 $6}q>t-%˧iLz;:[;WE6r}SoGnwT8:0u^.AJ KxS>;6o?_ D2e_8FaGe.+Q$J0"m.1|Kcσl~g.IGVX /|IG!)d-K=:,C(徻p~|Ϯ1{/M_kÄGmR>.t+G1 CcPl<;]~i)R < r]Hl,SKTp&]{mVx=ߥÇEBrٍ U>/K/5e"E Qvâ:J|&c}5Ufk=4G{;~/ -Oṿ+v͡Ԫ%Au]frdX$DL y?=;+ӺSQcQ70b%{CAvVגRPC}{7Rv :|ӇƆZw.GV޹ 9\`ZG<⢲ Wc>3&S@R%%e:%P sDM@_!$\vxb垼ggnIrr0o ,=AʍљJonbJ6 K:1ة5bb)qt=w:ֶŌ`zFr{~WB#\ZCǝM. o|B?~ηm/WZ4F̪CON0M,m3k=x@lOWѧR[%2GÿOI+͵ژ9hƬ ]d:ۊ:APM<@iTE0n1Fpcjp h#0B8gOIK_;la{H/S_ x?4Toٽ|h694mV<H&徵0JM,5[s_>%|ahbmJɆqǪKmM?bvqS^X4DT^Ue\~^CDI #yHXc+hnL86|GeLWw/CZuB8Pb $r^AF>gкgڿӧh g),YEl#Fm>VD{܊9d+8#QPKcE+bzi6\w&o5!=UW(EBG5yWNM-Kt$n׼*)d}e'zV1s|Ggp>W&n?#}~T0Թ^Nj;2(s"/OYTe`~{uqiLe\\IBPu9+{!>Dh,r!lR>Dh7PT! +˕,ufmkЁH +]{#dV;mz+sxPk "38ywқtwY,?ʏqխzpqN>g(6Q7:+S^=һtR{d5C!LlLc@kQTow7k6"6Lכ+ lk)%bbBcT`͏Ɵ0k/%Q ]v{ѯCvdty:YD418q_G0|A :ɫ/&#yAUf$(@ZBmjIH@ Vx@b˰0 bAe/E1TÀ! UGr\1ޅmCt.UIYe Nd J&U~^oH 8Gtg-1m+-[6|$dceG@㇇%[iEO|NF۸7x{9~̊V+xc$ @O'iP!?vlv_5r^-;2 KMR0z yeF̤GAiX{Fq:pqi#|.J鱨 6KhLo^FvԻk]+j^*R$Ɲ=I gPWګ$SjmLs-aXzf뉘k]&WWg6%f.@\$Zk0ꬤ$hpx@w =m~/oCZM{=UDY};D*",JpițT Z{~>UȨmFx<6M #ܨSQUW!N*\&M_],3ej93>6Mݮ '(n IxnƇD[E>/;/a͡\q)Ϻh9ͅ@-*?e*#EPNWr/ld22(!s;GPxQ@ aacO{6xuo7]&9q 'N;0_ߋCM4ut[l }dIY$&6gzzuPUCW+)SΪ^\׎WYQ8݇Aѱ-xZaT)$+"lȉ^ F~1&Jieii~֞:m; $o >D11=V`!{9j .p#-0pmuD"9z{FJ$"13o٩^>s5/S0n`.}UIKMǾbg]g:블٧7nDo(W/~%nC2;εihc$9]*W8*N,gy B!؈f{'_A0^ywBQnFE,LC_Gj7E{=_RYaۣ:wH^`ؕd^vw, D*/6̪1PaDi ݎ+1!K;Xm '5A{ >~8!J(ŽxV>j",(:zr8oE5[.{oȃk`{ʃ]:& 1ȣɎ5Օ+N+)%vU5Q1ZEpG}һx~/A]0x= ֦+הٯfxM6$}MQ %~w4{ A8}ZCWӬXQJ'JSBK_5Q /'wn7hZh42aaF$ @-kD:u[ʮ]cgԀM*2޳/05G-Qw5h᭻-^t$I r Nju7n(nsfkS&&Xg8E8(tnߥ`PrIc~w|y[o%۾5fj]Z/N5^{4~=R$?AUp8J cd0gl]x|'=wwI{5UMu.?m\ }R`!|Oڷ)USH|a ]Xӧ )z>uw%#]=;5sB$= f5n3OɋiĴc~ĂD/T|9TW"c(#n0?3N2v&[tv\f^j[b/PQy#K2R)}WH2/d{^3qp?Aa8>uljG&477|Zwl?ܖ#g٦__Y^eU7+,wS򶄍̾Pѻ+x7FUwI'QOt%5X ɿli'`tЊƨ29]:dcl0XͮZaȩx)VR;N7kïiQ0JFrێx}_A E!L:0`aY߄Gtc#&ϢYR z)R'tN5=q[ud[d[33j̿A"]= & jK^?J8Pߖy OZ`ffA;_MbWΔQR(=|Zq+ T8Ƣ2ci+r/LQ k$G͝K`y3?rz~$Rc6R/˞PN=2^s|K߄\/[S ׹zr5G>:.)4'yngO ?ZYzL^Q0LV<ב(SzUąCJ'Ȃz̿ixYTe8_=x8)%cd8wdͿPvkǐi A"9Qha=H4\ysxLU,ԉJJEXɟi<߁^v8aC&N4B!+gţm?P^QpH_I [k@X C]Z ]hJG=WWeӠ]IQhIyUG ޲~H\`o'mRBg ȍx`2+Hb "Qeg|;ͤwٺ+UﶄNb纽[ąǺQ L Δ1"y+&{ɶ!SMaX0MSG{Rt:"JpGKyoLv;>()ř}8ֵoԂG#UYYQ%P==:֞nm珱u)o9+pQ,:>C[U<5ʒ8Rw?;\-L4ϙS`ņ[̵ H<.AĆjy8fIՓ8G"pAaVy/cKӼsݲ\Z I @ 8o6zKwL=Z"\}c\8@vA& ;x)$D2>Whpwfr$sߥ'_i~}B]ŹN-'P2%k{ozX}ap{\0_Uo[5c,L:>ӽŽW#*Q|n oe)ؙ1[ǒ7>&njգBdnSKBFܕjVSIbi (T̨J'~T͝i؏?4L.L}\jٚipcZd1A~'zT+raq a.?ɵ ANJ(w7@MPj%˚MfG_C͔VfPg3.駒ڏI&I^v-I NW4Y(Hnb}A{"9/Ģ)[mn?WὉg8!F ND}3zp . uۙV:Wchy6}.Gs)}o[y<:uih̪ˍ`GaEpCA v(9eN}c96%g ١2 2Df\Xs%Fq=:u;N8;pvXrnBE̊ⓩmFځ7+Ctz81oH0w蒅1 !PVIuAurrckUE(U:-heKE)hk @Zjf5mYVZUJmf٭j4Aֆ PL" 1hL$6cM,J) ͳ 8H@8X( < JP F& P:΂e%U٤iD%&VC f0hRESZQRJSFJD $;:$QR$Ú0р#Ē$I"DBY8r"D>H rP<> @ $bH"t(|r$HJh>DD$I"hQ{ljHIE$@pI$$MxȒ$$IDH$"H9ljH$H` 0a5h]p10:r6neP%#5VsDf **HeHB*DEI#,* QAQJdJQi*J$u PlA@AR"PvRق65TJVEHMVITIDF̢"R%Ye'mEQ)Ȉes`mTR"**MQRBBTJD$*hJQT٨Ueltn!"#j%DCvdTJmc h"* DDDB *A %Mrw 4iza0&M41ba L224iC 0hi M*PCLL&24`LFFM4iiM0 L@O <==DIHji! AIbM&BM$=&&jb1ɔ'hFm&Ҟ6R*=`L& RB'  a40L0!&a5L`4d4`SdѦC@M4 h &ҧ<#LT6j!Y !<!&yBۍ7 & @n< B v& HMI O:7@ޤHorBmn~s7DK98W 3Q+KHUPdXk,0Co@W9Dfg,JWE+z:MļQ憅 Wq_dMA1\%>bFϧT9!Q.|NP֬i &cH]N]SDt!Хj'CO梴j ]]XJL*iNފ>DedLjFK+.K P8FB-CHb2iQ;}PC@`Q&Z^NxɰJT֗BbPX*NN1nj"9ZZ$O\I{ C dq~iWvYȞ sm7so)Y֔^6,A?2d?J* &S.IdsiZ |ylvQG%{Fh]?V5yu2m%3"~(o pnK6rtwf'VkF9e~wm!Ev-y RasYhIZH?2w/@6Lt|GTǢ28lA+(w4LU;r9HH )QshӺ ^fGV&GY'(4\1G6p 0@$ ơq$Bs /T"r lWV F Zy"45\5 DjRge'Ϧ-lBX_7'C`t"ͧF4"t.Y"gN0>##0e^*r94]T-jbJj#hDdE-Ix%'cotv)ϛ̜͞PLSIxXVƀMw/#=i\CHE:Vy;LDMe#y4NDLT(YHYYLs/b"cAu=bgS%'T$Tli G z3f }zz@ %䆏cu4ޭR~PGAco(k?7Whl]bhrrD#SZWb섐+7zT-ct=uHZkq~T~[BnKeg%g?c٘Iz[o~OKl23 l( moh`YvZ,5OyתoIl"L\udl WùmYaOCia~= sLO}kKR35UԜ1zY-}4Lg",+w-߽s$b̋E:pkDJ0/:[}[R6+qk +TΘ{(N7`Y6 ImVg_ԃ-2w(\`wm*x@۴ [@'Mow[K@*OUmoD8r}50(+qN[ 1YK?@` |\v%н֣ZW|@W@07nӎve Љ?ADW,{FCغ.%  |C{;}dg^&I~BZ:~6iɤJg=i5__5Wmgd28L uS~'RpжWؚ=BO e]\@vw=Y1_4|{ΣQ3S[N ƼSSO*T~~Qqtcsk_U}[BNhZPG$X G")ŀ$è63Z*<'5udNS=}/Tn>a߹a1csyHwb'@Y ϵ_O&~=&و{J}Zܭd|'fٖu!QX|_w~=Ңu{O e9;M\U%/(qèt\F6ұ F)bݕFw2y+OH<܌4zki&,4o „C޸, W{c;˥:)wU_W^v25~y *i" ^fN֥Z,UJcŃ(U (11$_UKz5?ѷ^4+Ϻb ;MX*}\O9&̳z9@Zv9ఘcFTs)jbMv >FRų{m(仸H}zS1')C#[9`ֱ(Ov nDfZa2m?҃'@@\-$aqgq=c6$2Bt.MRm2Cg{>vMv^yj;8Ђ 4=:Ld@>%-9Hj7sXoC*0vpXZ(q:6s>VJ՝{=/lI`՛l5D!=tēƘsճICyd)(pLpoZn X ÎC`hu ʝ5ѓ"KI Y0l~ɬY5)+Vuiz[WNp<*8ѧ܎j(:)g`w Ŝ;֡~-stzM蜱[]+?'M0:$`2SQ %n9g>'FC̩Z'2jP+䩬?ǩt_oC6o`oU'oeRvO-6 &:C'L [! dȚRdG(at"|p{Z)#I(EA)j ,eTQT0R*܍41iRPUZjZhD62X (* F (ڊP*%-J)XM45BQjUTUQCB)TZ,ZT[PUSk2mV RY)Vj(UT*UEJhJ(Z ZPUA*hJ MTijJFTJJkRPĢjBQT4- L))JRR EUUZCR(cB eEQVi(j(J*Z)hK FRQCP*ZֱEZJ!M%)DUUMUHMJ*RMR4 TJM5MUEDhDFiQ,fF)*,Rb45CJJU U4SijU--Vjچҥ5E¢U5Me%X٥l4+TUTYkZCT*4SkRb%UJZ*A Т*UT% DЭ+MFUBb-%)T5( -Uf[DjUQSIUMSJ#TPR'AVl2`]T-hRThhDbE 2UIT-(PʢZjiEZMESC*U -Š *J*5TTYj,Ji iEeR"J*PQ@ST%5*U*RQUUR)PU46E-A*(5VXeQUJZjSP(F#UUHTj5ERPF%+RH B DhQEL i+T*@4)UJD)EMYj4UAhThbV)XMJBQMе Sj*2U%R+HS46@hQAK)j͛UTUU@SP*UMFQTPPTZLb,JZ*Ie )ZjieP4 ДMQU*PTU6(i*UMFʹy꼚mN^(z-kck|c]|8GP1o6-,t.pGQ HQS.ř 7sg]RU(9a綍{h 6wifw3)o=CKp/k^V;YE-hָ%ݯK F;9 - hgEĆZ$VSkAy}݃wz167ש<^Ύk@iIve usYc* . lbj1o8L,=] cB ^k5 {vXJ6N0f5iN8K@ .XGv`c٫;/Iʪ!7yX5Yk^굹ܸqр:Ck-]{p SC4Y-\Վ{l>xzYץ= Ցb;|;s [26֥jj֢t-\ݫTta--LZŁud8)tm޵ mq@N̸k9LOwublVKgSх<6qЬh;]/#A&ۮV$tVS jCr݌hmn xZ}{=ÇIQcrڬӃmz½h\wn^`9^6F4S\ wΜ871[Itކb΢utvAX fCFҪP)Wɱ+!o$mR3sXs9݌g@ïTuV!^˺w{V`k{\l377{\iۤ6kI YrAb`.##8K;gX^ kOubGo ְbлYmo ʹk#e ݇^=P}i=7"@jrٝ*y4>|@WkQKDֵD4Vn4;x`Mn+t{mXޙ.fi;96ts2:ugĭKI8s hlvoqyiY,oump/yxv3|uݬѯk͘s9%A޵1-cvo:B ZsZPC$ZNGõmyw:k (mn>{/!Y{Wr!cpg.l콼4ZûXVpf w%`2m3kK,7vSzob:ěv5XXYy}ݶKnѽy v99aƝ6VFw ˰õsU[gjƋ[qX[PךXD5c݉yz8CmomqWܫuZswWvWX:ԢBY8oHvL;xVZ0+ۧp1ݳi je,1AvYcR hM>X ٽU{ʳ#vsṴlc:'-{junm_*^nW/ijDݒ49,AAs<񰵣w/: f'a<=ۮs, a>{t 3Hk,viO۱ۃtbK ˳ `ҹ6mՖcFm `spYatoA;xvCRIӚ[6q4`7Jv=9{^Hyh=n齬4-}^u:GotۣpE핏:f=+Zm.&ڏF9jxͳ`7Vf#tA=8x1ݽxO79IWdŃw|3:c[jVmټ+ٝYDsq:#@CmdOCx!j@jxV̉V yi4[/b 8%yyYC5)`f/sX:yyS\f,)W,) 2~q9b,F T84/ Z{ѡ>yA8-;y=~T%n$-TG6ҭȈhř*ɍ ,q^.v.yK״ثB5v=-Μ  4FuU.*2"q`۳ڇOIP36.OaMI]sS5b>YQS{ '޽Vr7^hݷbSgA%ןQEإ2E^dN lznǡɷ$ELgJ cТP.Û1Jlu➤ ol  qf:NOLbŻxjڅiMJ)^Q_ܜl˛|=ErUkZP[_tZŽԓUT(QWK9WHN2g%yչ?C>i@8HzgdLVTn {:U1g'SL.]!#;6*{7M*bKw $ AA'[b6Ȫ^sy'pU0.Y`GDL"X{TqUיXsQ~S/n&bIie@j !s- !m$bn[S1< v;d-5G[E,8;!@)N]vڤ2_XfіƣQ.[/%r:k.kT[IA*ʧ*Vy &qr[5S38ӝ$ZT"AʢY[! RDά/@(DB?R9njڒ^HVr9Ds ګU. zH.]l)ăUf{h©SRjd)E. aTKnb:*Zn%A y hU=SX- O.0YTCB-rpCIƠC<\|ل`]j危85O/,} &IChʈsI#[؋{ ?>FLiz=-,'P7Q%HȝD섵GD <~8}a)bQ>RqYH3= |&5?52xr[x/Ybw|hd=uw:ܺ|,FzS/å}"PM?)f"q: C!M;n7S.0Rvfp&KWDbe]% pFn5 Sl 5z ʻQ\:S4{҉*VKơ(USuU~2xbFqh7o~%/b{O%6p$Z)5 xcg8%6J#4HF4.},iF!hc@| RFW$l]]䀸w+ཾx0~\.G,J'9Ȥ'Y$54X큼ȝPHWƽN52a:#[dM 2p#ʲ:$ n< :IÉD*9ݠr.Q#2zrm*L&%1%1àmFmDuR.ڨsPH(D <'s%&k &B#QԌݯp_E#<sЩ]`GMc]` -j[iѱUU3OMq.9AHg(LĎiҁ3Q,ܼ} 8X_ Q4RsTHc"h^=)ϧjxgZ U γc{͛8 \-(>vp{3˷OL&\mm{:^tԵ9\xBr/3R;͛{, Hj֞ gT>@3L9dKT gG>}:Dl(ka̼tI`.u@3%`N`0FVb2||]Rkic:J@P]:oq8OoGN6nXmCl;{MZşoo^gUX5mgv/pl}luP@ ҖZ+կ:6U,l+招ȐyH*#4*@ aD'31i1uQUN;y^ I]@)dD$ D !\)$+wp52vDE9+mZ "B1x*My ޷1!!ϜOpA&jJs6@=#_vPTf(-B,JT4둒;̩ MEPӸՙLb'LU1!E&(4d+yRWN^sR(jpfPI%j+ÈFYN]8k92.6m0ha61|3_z`|K2~yjrd1͆|q% GM~(P(€HlOU1U@Dlv2$LЇeKVA]P+d:3`VR~w(fj({ϭ:L!QqӔbV>pof3F$+p4@k$nO%8D!sT^XdL.;\$;a(*IY=i9gSZTeqLhiNS>^l.uF!; $#^z#e61P߭, ~q ]ܕg/Ǹ8J4BMO%^xP9$ң{5\P/]sr*@$ *ʏyҹV\q\']> baڔ_8ЉLÚ720OSg5F9hr'l1ff&Mt\l$25#Wd?}`r@?o0OEa֘Ԏz~*}5_D~I,>i"O,ކd`ʯJ":&G8\]]͕I\;4#/UڭX 9}Os͚ڲt<.Dd뒐SdvkWuǖM)G?BoqGY54;Pfz4(vCL9""A|Ru[l'6WOOkIGY # )ȺVP0]2.$JQ[֧UTX ;rJ kb jϜR)L}:8D$/W2QN˦{X`*I5E6'4kKǩ0jjK}R(Vޖ X/~tB[1Og8jЂ˱X&LZiuM~.6:"B;Oe~syb *b|ׄ?۔snLg]8}3Jɻ7PUz!F#@HՃ^ę$"^q="P6BGS.6~ͻ,6uB s_%η{o3cnCLxu%n75'Т\ꋮFq2樧psR7z"zxStVvVZ<5rCyER-4Ewȗ=E@qWeY?YEVͨ QA(Z_BUg'|=ȝC'hF^PWNLԌTs7Eh cڼNs(%N ʠ8AD)rHₘ0/-atH>4Ȗ$(3]5fACZ#OKEᕐ*pƄA_ZQXBڇQ6ݟ,bamPe;sBDe DBU,QWXFQ :EkZR A#hȐ.z=gg}ܴ2μ.6͢ŷ-BͿ|lR03=XqD~k{[ +e&Ys*r~ώeNooFٲVcS\w0NX&9 ;lU# tjmR\t2%)5l;Z XE{6Ў {%nr N [.5pVVPňC*\L@aCM؊:QTF^0&~1kk{BP+{J9!0 +/ãlK>'Cm{;ӛ>s./?Ykfg~}uwf@2%D*') I5!)&$V}jw|nzxeqe<|cl BoX܃ɠ }2 ȷOkZ]TGyŲմ*鲸BϷ]W$d26BHq(~I@/dԜe[\jmr?_Ey|l4sWܤ *տqҀ8Y!ߡS~td皧M"(A=H;Q5 5:nt8hU` N= sJbx-D_'OP:ZTVP | ъ}c*dIo\a)= ("7|Hye* n{~d,w0¥Mcݖz8%*Z& 2xǕ4َܴ5. h0P ^sc#N $G:,xnxH(jf3^AHGjPkAMHS)@:^ q8=sSFΒ+6> VFw!@Ck?Mkjovvuw= vn7:Ԛ1OcAz.g(3qGc%..=7{ ֿrENvH]R!9k^9+Z's#_F|sH5V ~}mL7=bO'\SSmY7͞t^D];V4x.oq8>RY2=A5**_\GNt{Faupě6m7#50rN(>^dӎÑYF_9)6O??_Swjsy~Ėc0Ic ,Un-NDjW >H TNr2sPI2MS].b@ v Ҩ}I ZM@C/%2*Fw{Nˇ\'bG#jHڈn?fQL2͂iI%EPxN*scv;P:AáU8x]S,d؟L"y{KV[IE0Pm*/yTMvrKC޼4=1`E䭕= cUG,<$mSj)b#%V߬]+nx~|Kkqؼ8?qtepż.i>+j ŖDzL|1t)Bڜ]/>*Xms?Znlt DaaP 0CcC1u@d$y)#Z3RYԦ W}al:kZ"7:Vdd`5s!ԣq)V5E%S/&׸7?3mZMگ .dq9 {٧^Av!0^VmH;S/۵}3SU3}ݳ)'( %ۂBrC gHW(0*e+s3TuEbjz{~VCn{t؎ͮ[ e=<ݾӼv~*r]ߡ~ܫD/ڛ]m[!iGÇQn\}٨=K8u3M7cX;cN䃧)gHhkD68PL=݅xRiRC?PS 7QcLSعب)Irm&BBO|%ZH- b]e2P=pY{wj+3}l\ j[FaamL^Y5`q]) 0$fH;Ef&RD_?^.#\@<%$5́?ܐ){MQvoXs 6=lnV[wxlD"Ĝ$-,j/4ȔѪq9)DsiD2pP jdθ-HsJ1(.Wx_MY=F3GqA OQx?tX^?:tcU<1\5kKffTґbc,e -Z]_Աi>wG,1[CF ]Ώ}jN_`޺aMcp\m/O)[o_?lkރUS3 Fhq(s}a눊 {܏J 5#~Cڪ!ꤰOu!+}fi,M'6R&K)2@!_A=cYAاo겺׈#p|~>xӧ: r'vl2>{JbbF wY#x8‹ECua]ጊ[,Q/"B.`y()m/Uj1 l[bRatt l6): IgUzV _Z=gKt?3cT]F*s>VW> "7A|a!%&Ew{qADi%-̽qǀഉoӧUDlhvd{1',_ÂZ:M6B"zPSb9wy._UQ:ݳ̼l^ޑԂE0p!j.x*O_z #=gMew/tS3!HvS@qbAJDtFkR^XhrYh~ icAD +cǾH:3E֏_)YSo+c!nP,DAv UP&͑iK`+h+e/ -l!*n"W9ثJ,eSM.@k\D`P-ScnC,R@2[:1^bow Tr :@WRl 0(25)UuYJ(gy.裷j BRf Jr?-4E>} =.9 ) Ahlc9 WlHEWVU1X轘+_ gi o.j .Le,s4LHaTZI 5HH IC O}i?+᤾j=N_喱WVmè>U}WN^@,?.IvܖSս6r)Vmc%{+p>QcmavU_m{H C7JgK+NJ=]+^o5m^fjuHKR9j9[)A 2-ꀐ&@h})wgĘox}_".1fC=OnW5?E; $a$Y .Ib0:( Uu>fcyr{װ{}lNZjz<5g]uެU꜃8zjuEuYھ7,EXAk fьcm52iـ\$@d?]+ESZ H,r8-!΃UBۄo ; (erXq:Y4PAP^>Z۞fzX#cԳ\ սaU]({ʢ.`ﺻX\y5﵏>lL=&bjIseK?/hؾǨ5Ƕqjk)=jz%CO`I[ G}3`*ifz'5g;M,枔9rt-ޭS&B8&XLVSˮ(iga3Zc&WN]QC mLu|K9߿:t罙Y"|%ЀV0>=PScJ|yY9SDLcbG65 ^ϏFIJ%i-qd8U&9@ܐ;$=84JqdrAV')4kC)–C} 5&E"cK'5mO,ݸ9fF60S r; Yc LmY>h!@!VIyM(HJ㢓O8ԳE G9ntGMl\բBG3pJIRtqW@"G8⻀ό\$/~z})RA iYIgtȲ]RF-QI 't14 (J3ɭF]EXLNպWLK]~˓\c=mꗜkWڻ+p|5k2iF'hƧ z%齏2B|[-?CU$`dPE$KS⦑mP r-axv9_[Wei!UPvs R0gFYXA+zC!e5jjҿQNӄ^׌WY'uYRӿZPԞq#YP;^ &]33IK0fV@fݬxk mHYA8`_W0!!VX`W<NJ6ݝhC)Ш<X=0Wգ}v Wz=ҨejG n/`!@q3f(l_|ŕ=@I9\{/[YFcj*c̮ۜ4yoI.1k!ZQUhӕNk8>= yB-D^v%IT"xYDN,HH{ 3FGs\"@Q`1 =,f-0GwN~ϧwwK`&lh9.Ώ ]lkU>{N'oVC|n+ӵjS1dSܚcƅKX5e8,j8E#V Q/l!mMژ1*M< ʐ9EUlRǴ52H|G#" :}R*qYl2B?,QƊ`'}KR︗MvŜA^ZPMO?2^4ya<#- }h|UٜrL؞"Njvt#6N ?_cJMsXo=wqm07ݝç8|Īךm:3=eJMC5xuJMi|T3Վ#GeʽDۜWy/|;D2SXD qRZ)Z *.#õ%"4xOTk)s e^u $G}濦 rX@m( sqveкF/2QT!sV"P-FPc xZwvBfR[}!iU1 Zs0QY7JbB/f%}r@XS"P F=V m -ez&y  Q>Ѐ/ǤG{t8]ҽZ5VGj5uԋ>\{؁νn1s.sƽ`u Ykv0]u=v7KvovFr?9g>~god;R3R|U-mh2. ^/7yrNg{xӿ*-u6K%ekwͅ[ag̺mDbWM4Nֽ6 Qe*OgG c8\/l};זk@rx#+]1 k˚^ir^}<끏fyDiҾ}&O (Q#}<](f̩^[8%2o'$U}xې- -&FYǂUz $j2xe[7Nn8N'/ČPiߙL]ήW۱ F"oAfWo|8U?!r;! /_r{'[Z]#/gG9`i;e4lc)ΎVHyk1r\M=ji/dždy~C ]_+wz%%i]LI^߹JXayn[JF|9h%.kwb:J6rWwz {ȵ5)5nG[YٟGgUŞfow%".c/X.׃{t9Q53ƅ Dbg73s c`?G?*,k$lMfI +$N?&%yZn)>>_N܏f›r/{ PbWO*֟3M6OTs1@$Z|}g]n,&3x>xh3AkXjyt~CfsEx~ U P1e#z.juHp(ra WBҘN}6tv*N}3I >Hl$7$>/|%iK޶2?䙍ZwFl4ۀ2>gFP5>",am{@{q5J`^"YvAfv0Z{mcDx_P>hTڿVTx6~Eؾg5튾39ff;Uevzup r/ى{+l6?\9\sO/ϯ?ު5?^]1 df5_˟§[SDݠ1Yn'O93*8V_b{ u3+_BϔRE|,̯Յ3ESܻ U:蜪2ix*W;9 WZK7xkV#ocw~'xP4}1nI/{jx_DKN"?HOW[uaS|O܂r?ڞmiJŧa{@}:fdN2(4L"^tVԅG1clQd*Zlb*%,:N.g4U5{-3nLT[/n)nZAZv^1}{uozJ.1<~>?xͻrn5AV+ 7ꊮB_ǜAd|,ȵ27+{q[7bsVYÅhFq~{0{y=Ay,lRcS]cż < S%N-ɕzjB ?XyAclZ7{iXډM~v]>ş!h>T󑹻U; Sw+Z}?/c놯Akgw[M#;$3ݏ}͚y(z4aQI&&qkMVsƠîuZ7#/p ̸`=(./f+o{v`"zx̲tA1rlas:yfjT3oZnt8+Hjo S]wO_X=!Fw9M_Um>Se+YۆE ֊x\ŶarVXu:4s=`P'K鿗ڙW-]>>+C7~u\\=oAl>שbp*O7WoP_f9c&Ӯ(@wO T{-i:] +ԖUmK*IF ,/@Dۙ8ZҊ/o>Ng1B&ѹkf;F87ru$x9SupѸiU2e\kLp}6CFU ɞG7`[`pFo?=k*x~u"SjYu'ΝgX84<8յ}:|RXӹ(ȳ۬|{S1AI2ݑ-wety]c\$u(9\õt| 7ARH>o;8֋U.I|Z5?=6y\D6rQիO/ X[|=]Ԗd&r4\٪ ky#\we2՛ɫ~UzxH`ƐC0({xjnp0]=11.&oX?z^j*yY3iė].y?zdp,ou-7G Ub׺÷=GKUѣXwS[zH9F@q[/u]t5ݾX?)󅛱M$mc U艶qxmZ*s{^ .c1BJ54ӶiX^ZO7.*bhKvsmܤ^{X~T&]y6 Iye9[}Р޳<~R+W>-M6=Ul ]7dqx7qnL(t7_T^/ƠVܠe& 1hw%t{^Yvua+ˎ8}9Rp~ZxNӴk9CqjY_a[GB6mGw^nr}$=Wo /Tmg.Ĝڧ3r;ʿ>xtXsPП뎋=p|K1,zN6 |dG4^ngg):umBl8&/0quyH&˥|_A8~KȣQv>wM1?=Oӥި͞,@o{YPLzt=k~Uusc>eQrv^ #]櫜ȚyåCP_\چb$|to/JPW=Ԋff~]?˳r9 kPCjX*0Fg@ϻJ:|,%ORžżi\_ۺ4IO$h AQ2BYVTڼY}Q;O,{Eߥ>_CB*WR N[wȃC'x|0rUDJ]_15Őglpsa $;[˭ȁ Cn=O"BcvW/a*U5CzfVj߄?>0k+!"e9$QVOCqup[@NՊIZ;ڪܕ=n VMf/{}yoc >ny90+'ʶ+ն~ZSZyӼ̉t)?Du*xL3韷VYsu *sHCOuUaȵ~MӳR^;ʐ=L|>ZKOh [׋svvǛJɨKY.nNދ|[ʱpu-dS9πz{ X_Mn/2X̼4G'E(*|%f)t_Եuo=eKG~>I1z&uI]wUw O+UWjw] ‡w%HoA';XH3Zܬ~-Wz% nbj c= {oH7^czn9|nr`PO\^}KD.rw+P"ϩLu $7㴃mYr/DwΟUIJ>X8BG>ssRsA6[̘V5߽Cv赵<:(@+gt&xuOé[hnsoLG+Tx)+/`%:ϞY.]DEs̅ae18SVS]IVcY%UxH~gcAz{Lgfh =u8ϩCkыy'( ʍx.F-$x+9([G{v:`M7nT8)N1[d8yvu^x{4'+rTw!%vF|rl!/'R'&N-Vm.9ȟ{LVּgOo7Vo5.y#k`@Ps*xr %( *;vܶjfͤ;nYcn7ɽW3lQ]d">ly{'vP.y֌߹l+yk'"y\x_>}:bkvíY(D ^G`2uXIsy읹9NJvt>mK.;˼Fz )N.௿Ge~\^="E} O}4e 7ۛWG~I\1w|-7b ϲvCy>v|\W\˨xmm [Ů ^|yLTjJˈ.v77Po_v> a!om5Q( >CUz>J{}d;/|^~O֘'nE0O¿^>M-+|:_oGe"qU1k*~0|%ҕDwݗn'T*4Կ-RҲQ"WgE"8 _۽ێܑ\%15W=Թd!fҶڷn5Dc'(";FX8cWQݧF#~c^&v[L@R! 8BKq#@a^ /|)O'9cpx?SkC-Dۘ,:[t93SOT?7)m:ʓ%w\X4qq=AP~Y$=L}Ơu(~i}c>&k,aҰJyh5oh~_覂z;O=md5H}Z!Œ5hsHzvzdѡo4\}m`iGマ[yt;G-Kse-#yC$~YKL6Iڌ%xB-<;FV;X? zP (j4]s6IW|tztj)G5}BنaqAɢ팰s/TcYG%™%7>+|_ifOnݝx=lnQQ'M`D' %X},RY7tuvz^a]p@CzA-"KdJO~BpXH;g݅rK8fGi/oFehg{kXbJU*;? -yl1jWXQ߲>EvG'0VlsMdvy+#mo2yxL.N[8{ġ|*ɞ/xd7!7\>a1ݡ]F-. ݷ7>24Ž)_?q!v<+to=!d]wJwoo(ԛ*D Ẹg4ގDe]x]FV潥e۟𦅈!1,UKY&N#x%%;դBISTHUtMOYu Ɠeߖ:iݷomxY;ۦYOg`s[QKYNDWPS>͐mh9K\bsa5cTA#Égi87pvdDmNSnqۛOX6yEq삜[pxM9v];X<ӈ?%\3)]V߱Ů`d=f}ySC+qoVEw]nDGj։-{ty"sUgNBzn*{$^{__vKw<}LKY/Cz`k9qy !nڌb5c; _^W 9+pSD>ڟ"eѮVn@MYY{Xbe*nomЇCY :uxϴpeA/ٔݤu33lۙ%"Y?>Z#a"eD[9 ɁK.\K>G8[Q{Vqw/>t8wݯƯmge ]R]ɪTj5Xjci+,mXxN?Sq/USryl:_ƥ3yckV ӻIf P~6O3_TO:gȬRw4n{)ra/erä`񾦔*"n݁,:ޝRƝMӇܻ5 |*DRUwuvnw$ċ,mNf>aln֋?#,S6$׮,֎CuǙ6kڷU$=o@~eE|h"9kǏg. =`xkECalԺerg;]ǃ />|/jXܒ^// oAcg1,IuD>_u ޱK0lo}[uFiԪ_SGzNc8 JI`wWgf;9./z1LsX\˔1"Qjq6w k硿euW,'Խ~/wa˒2 ^rm'hӥTNӵ\+^uf*ш*a4v{/y/2ܽڄ9]]S~Psçڢ7G:,p0]\z^xnkdAp /zp2,^"3!%+DȖ( >KA.}]yUcxI6燍!P'vhq>_&q[u}lcΨPޫgϑl@wr:}ӆgnѤOt!dq 1Rq鯱Qk*$g _C\i>lʦd[).Ң:O:}OE6j/x. (iG5[Su{o >g$o 4S!Tטئ@Qgz׫IvAYlRA]>=M=C uad P@u/V[zTʚB#wkj ]5%D[/c)>:.V2ڍ?ߟ]&tzHwLcL"R s:{A;v n==[?UpEhc^։֕fw~Z[] ;n?e,[7c=O߲?B}5xX6W)wYeL|76zݜʚ n7EBP}y&t{^ݥO1.3Jq%{p bB#ڙJџ$yE|_zb=Qw .wdPz)=>[%2ZETD;7KyG.7Oʈq<3\ֲcڞ~2CA:dw/aH!MpR)j=ϱէrN+M{i6{3{_|T$׽)'+|&Q浬KܛESu e Yۮv:JUkX`Ɣ7GSIys|07Uo6@yҽ-@!EwZnFZr:rG9; :MjܵewA6O2q]Gm%UBPbܨ!л1$iDr5 ЧƵfvvH!aGA 6+Z y"GdrNp-k;qMsRAWgP;x&?vMoZ,;aX \IO=>(5kgуVYW|]Iu10lÑaIہ{6Q-:zD3 "6돧~R=C;vni֫ w~=L/dok Ie_.gYcܱpG̊2 6jc$r}}X Jrީ 4.ߠ묾|CkALih PՀ-Jd<;<0p'U}&n{%XF7-  %#3Jomuѝ76Hw uG99%yJ^ &N&O+=#ݾf||&˾Qȵ?Yʏ<5n5߆mnCMdYK{._>gޠ]&don|s֋_ig`4/RW` uCpm >\oM! V[iQITV-T\)aFir!(_'$1Dat5KOnm\l-p6Fyܯ5( G$:prAgZ>jY7 >!/ X3~]uwt4\ _sGcwZg3[`LAXd&-Fq ޣ/U~D 4|<@@& /U8EĔͲ8KyyQv~nWGX fjo29/g7=3rj]øi憀iI͘|u>V6+!&#k.o\Wx,ڶvԳsUKvvu |7QyTsdbn oEEU$knAj R+( :~w/Fk#yXY'\}_{m:?{-93Gt . b/PSIzAl-UGSܕsrZykIKت= pB Vr9a}_sVG| D]7I!ƧڨVylDtpX(زgw̆wMֹ0*NW <>KK<=Μv[3dqޖ=;{՝gVhD|<_TܟƧp4{aUՆ:ϔa﮸ ᶭd2~M&j:f$3ϐq=+ZߢJ]~U4f\|0WK]t9@UM Tt opnEs[?tUFtBj z#WO  m~ͻ Qql; rq̧[d;5Ǒo%kyHN{c}R1uE=/1=U.+TD!H'o``f/Pti )ԟ+,*Λ4^k6pϥ*͞CL@(5>FxdV"&o=I\M( jޤt< mM) M>2٣JtLӰ` uI-s8 hZS2 6lԡ.fiEvb8 dCq#8(u-CySvuRJ4}s?N"k`ђ-Ni&jgkADL?˃0v)L:x37YrjU]oBYDݨa 7C[:v*!4X::3WS tO&DƊ6pvfel4񿜌;Vd~( fdmT׾7QDɣUam-6Zo^C(:ӵ+ 7clA{bA3x)S%גܚo@sOZ:7c12x]g#~?"P`XSMh.NIꟚx:qLŌW"STۖKW/ͮUy|/m$[W(,xE%,PD-﹉$]dn~t}4 < Ǯ|gdi8U+vC*YJ*^u'XYh'ɚD3'ɬy%baВ^ۮ\6f~h؊kۗ 9sY4S5}N89:)}x.P i{ORg.oš2ԧD=P5vI/ lA,Fe[vБ[?Tg;;BxC:+5 q@(?|D"B$q7&nUMֿY.+w'QI4͡Y+x}3 +Ni&Bs Ɔy@W(ao+D<8޴u NzEg~l id;#HWla:!w.}~vEtvtǍadc!J?TvĮ# _^0$5@$Ì O9۾|μ8=xն3L>:OPOC̅"`s/,pmd "B\(*whŠ\:[cT}W^KBm8vA✶L9xIxv48mG WK2H0 W3Iw^ BnIRrf #ΒtS6EwiŔjwD%9]ZZO5֗ZyrmxΨ*M*I 9ѷtcj7v ˄rka\Rj4E7~~_7FIuIJ>B^m/t1+t~r}G$nh0N0Eg!띲M8yi>P|UDxv!I9*4¤4ߡrC4OVzYr>+ᓽ'7]ޞ3K9N5qa Q/YR*pp.Gc6ms`oB ٰ C-Y(EWCtdx $#^9$y6oTB8x$^"wWxE sX:_+xK]n_?>Z塯sBzpeKO+tFOwYwq^YVO{Agے[x[;h\ǝe' ;;RzJ,q, Sk2 XÇ2>%[aBmn"JdSï w ttg;\l 2{@JrVNMh519wr7ZmM$߇; TPn n[ V{؜M?hNY;K{GjΝ#XW`v-SEё|$]f:FbF7Ȅ?ԷBWsÙ.kOTa߀\In5)׃ތo?r ?onV]nw*gkkEF*,%0&HZ6{L0"luPSPuft5>CO*AE’ΚZ:o_8se+)r !7suW4%>WQF[穬xmOivr;aģ\"У@YRqkf{S_(7<&ec̚<~a 2$X9%m<'׺bRqj-o4s:S-h>fFrxL_æ2O[[:h}^mR9+4N-^@R<#w~(?m=ds6=Pjp\e48AQW\ƬqX" --I*VC$7nDd ?W7,$c[%-հCr l83R̐‡gbN#O\_y\ߓgdaתr*]eĚD>:9_Fmlݙ1C蚄<&^v 7>s`!H/AbTͷ=C,k}OFߴ6=eܹh`PqI 3bM~.۝Ιڼ/T`Bt|P}_.XO/ȋe,ggp`]2XER5a*}X6LiBAtZQjٶDrqF|@8ù֞AXc[p4sRhd5)۫3YUyjBd.k gOϛmː/u| Hd@$XB@BCpoFɿc|b}=$k( -_^~D~hOt#;,Lm uoĝI"E L2 yL?=5ZMΊNyl=(uO D9kOFyJ}hƦwHùPd~++Ru]/LɴS͒rH&^>IbԢ Թ>hIM&UqZ[Ime8H7pop@Ban tL {&@(@!HuddᐒCtBaް91*'auNC~`da7x $HF@2ݒf(;V2B zM3!!6&4$h$dd u I$89Ȑ $<&dd'a$M$:1Mm v?JB8זuO)Sf4Oa#Ddy ;~P=~t(zV*hFÐO9I}Cy:s!mSP-d'}-=00QfDHs9j2t#2C68"hUmMBU]g8]gk鸿ɣaOC{Ƃ/~ߝZ}M*h| ٓ⓪{>s|Id 7I=T~gBw叢 6/P^A|z7,[ZGߖyvqr˹uJ%< i/꾻!)09m֟Y`dp-? JIZGm?f= ~al|:ir*AR~MZ8ϝ-4ߐ-*x2S ,5M=r5r$87lҦ=F<7YHXb!fR/%R5m?y e,=ُ,71ZAl9j#N*ezb.Oܧ`x8s +$#Uj 9{T9>TQd ]q'L.okN"_#f8l?fW4Q#c5]Ư ձG% N`(ݻՇ WpunorTػ乛>ۿbU+ҨAgA93?g[kOB0J5?fU `iR0n&NݰmK[-p-<31-Di\/ d(Fʹmc >Gz?m6]vp؅oG<9߄@;|]';DM,U}Fr{Vs(47L6  82F y+3N56q ݚ@RO!vl{#I}cʚ+ >t&V nI|>-B%2qMu 7 'BJt_a19A3_E|Y-mi4lr lT Q4|Q:vβbT\bDTCB5Eb4q<\WI_=(V8DrXt7&ae9\8r˚8L2@q=”AKN/X ? 8z}f̈}jJ& O/WsL>sh(@V6;Bj!a&u6AʰՂJH'eHc_:pSǻ7?)20w-=g{i+JX$2D⽣h3#JG~t%ZqkS6Fͫ-i2Wt!`:~zDo"_qo8#^_1驝%/ToF#/Ga8@PZ1:YpJϒ)Z5ZSW0  3rxGPsGz:IN[V|\Q<眴qJnp.H68i;R;'똫X1rchCM/D36[#^R@(?@FiJfp9~BHHgE&@uqٺh.Go)T Ĵ!b4fٵM?`#%8*<2^KbozE s .%ALm_,r87@l4ې,dn 5)[x^8wר- T*NڻrhkzզimyԬL}V1F>v3G>>#HF"~\Me=P>$+D:y{:~@hOR(r6@` ut1'mP~['N0u; "Uԣ B@[l̛9tr-/k~3==r2G[BM|Ƞ^/SxljO'2@txdb70N-}Ȋ St+*v[PD*5cܦ5߱'dhZCjhME_fvCd1y|\1osbw gGS9HJK.?F_yj]yԖPЅ9@XEso/o17{ :[Wc,D/řXm0j)ENjKC^ac+TC^ 4DdϹ[^{ie-!5W}^ZKTh>YP@Cn%rF s9ΧSCW{)Zz L#.Hn l޷t ufd'E g6NrEcR~_bܷ,L5PDt}oR lLOIE(`:t>"s =(CD 닆1+H$hPzYhDk8IsuX8KWIeYkkgNK?]?uR@†s]"`sAj@Axi.a522]=(!؟5w;J+Î8#sYdůOH o@ʓ)ǂ >q\TuhWH{zT-VZU>L6LCe?wLh_w1oDjMS;xilm:V"84.%lU=_*$]9JL E}^6TTΆRߖWEE?"'%zp(MJ Gyľ+i„٫Wό[3='uEB釲E{^_OP׵8&ebsǃoTOca348E"i ]ԭtmzȰ 8nɦGqFU}z|4زTڒlf*q՞5d^ߓ4R硐SOKܨPiM:&y'XA 2a3fN%Hɖgy2sQ&Α5wU~$(&へ6&@O(q.cCE0Ш܀OS2|n$VZ<ϞbFjc+KA@5APۊy@l1jfşK?<,\ma5U4ݽ쯣-NMsj>cZ:H&!FevZh&]#Rqy_ XV`ZC7R5dHR&ͤ"R #::&e٠~A^DlpZCƞ1{"EK7/T[n4֫E*15QJa`OOﱺ>.ݱ-e (r\yWx0uI@1ȩXh=L6`5 GeN$}b݀׃J=0C*Q~vj!H]7Ǘ``5+HK7'7MĎ.&"_Sk1>n.}s^d-,ǂd2F'M'S&Eas-}VX29_!i]ɬrC 0k8_Z!"BHoʃtVbn60L%WpH~pID.uY,V UF-B=&,iO{!z%-u1~(]EB_ߝ/m%2&?>Dk>U}`˚tMmS=^Q*Fa;8|HoJUɸ"e rVYYy/ q/I7tqVxW~h^Bzmѳ.7*a"|UM=re# |?#m&:Tm+ )?tMR~x>o\fF>[eٵ83ΖHʖ  hTiթvfd>A@,l̠*6,'DO水ܒާ/lb=Cg Hhp x!Á۳pgf\ŵ9%nSD5f꩑́WW'=v^y@Q+:(6x9cqT?e/~MիA(Z9N('QW`KA O&oa8KTMHfS]<mrtT.)P.8 ]jτrF&Xl~" #& @ YIȴ[ O')3T6g\xN)t^#k h[ߛ4rp#E&Ȉj%@)~+&+>we<#f{o'x(4;uIg4PKv1P8-T-w* a;l(dұ54wo.4HZ?$n7t6J |"ns7>K@(e !kvyLGk_QYSmWi!/<՟=VVl|hmþA5=_w+v9zT ֪ͿlEwR]mLl P)p.M) -Ax k$cPu0;3% „7ߴ}z\}lv Be'g$B 94ݤf 3lύiXwXa';k[v3dhZp_'[~gr> ,=۶*) kXr5[EMN"ӼzyqwP~X k!wZ4 |vx率/􅑀]ZK ^燢@s> noZeZ&#@TJ`AB&SbNoMOO8p_,xrR^Vmg֋-OtF$.wAlul,56j[OTz μjNvz7eWi3*> ?$dh '-;fR&Ϻ(k: K GAUo"-A##>#ww)dZZ#=Q(5,% OMyٱIh) m]wy5-Z6Џti# iMo+şkWs;Z. gٶE! **9ɮo)V>T[`Zз`oz{Ba59Ծ!f(d~j0`$;M_qֿ\3G]t|:#6q!sO\~YKuADlRQnaļeIaCroסnWB#`eo6w{@ ~9é9ۓ<#U7.Qwǧ-e^w?p {>w4.P r7 WUP>Z{V^o=5=1nQi$z>q;+:]Q4xI$ISߚjR}lټT7C#lK;XHt5^#jx|`YO*aٟMUQb:Ú,݅]L _D,Xi% &nAO6!~q}^,3fDw˨Ao=:;#Y" gۄ?\Au. Vw06҃=<ڣuԓwÙ6:ߍ-1ݨ&o wԎ]1DvaR V$\f1$3n}o? X˫TtToU6lrܪsxxbc$$U aØ#},^Y V ߽PֶS"FI=Wůra; 8m08e3aap98blAO1Mr2xꏶ{ 43c 8._c[5C#i(vpo}Ry\ ]mktG?ARPLD 2#?")B ?bL㎦?MShtΙ$k/%1)LsFzHcIV):S6` L( х!pmLfu (i CJgJ#I4D=ǢPPtO<˰rαԖ&N7D;dh;3~Kh0rҎR'GSOEү WUry]ݺE Gp2Dq,wL=x'J-XlnݚQmtiíaŒq]al(lyTH0FQ!8t3;F*9jiϿꂝSFT. R*\X^7}sÇcDs*"iF|ҕm𼮪 G濮7ØaGqw,=ЦI>ș!A([Ђ%-vL:a9<ZPYS߾< پ٬\5Z]-![lˌ;uozq]d-9g|-*bX:ࠊwD /cmR>O|&ZJa\ܝ=S]KD P /7JȨAb.(73&eѿUSn*ҊiNk h4@h?[Qi 907@@$)ꌐ#Rtfaa6l{FVj5FFRN,j5#4|OTB06A^6)eJ"lئ=O3bhSNO/>AϾJ2Ck(',wճ :mmR#շ|8C;=4}FiWo '4;g}O^'$/ b5 饇EFtV>cz2^^{wE7L'flO; 21dL;C8}wsAn=FG+".3Ӽ۽{ rLG*WIy bD%e r~xq@QcDS#Bp8NĞp|FB88 wAAÁ) 7)Ǧzqx%}5%`֬KSѵ*_&ՂEmv^/ѳsꯟh. Iұ = ؿKk*J$i>4偡Ip޵L^X36+/k2{&L]Tubal~:Csy< LOAufFgzm9=goT䛨-D!ePU8SH8&JnX[ Ѐ֖9{WG{q oC4&zLcU?˵6Y5&nn;ftn7Fo5%ocqc-F{ƏKfGo&\۟G<-'ߙԉ0He4\}4$Y]"5oߨϙRE╤Dϸqȏ#K +(IE'>|$=:i{;C Jtav/k9 ۷nҚ"qjիVLjs[**' ڹ|o7!,T=TAf44nFj/Wqi굪ުeYw x9';ܠLz< $J$PI& JE @ْBJH̀lQ9 *RNzzJIrwܥ&6ĠI/2$ "$H+x%u )#(Q$U+HMP$!<($#J!c61jgS2rI( H,J ؁I?Mj.l}Л 2HO y{O‚J 2H1A#'rI @$'L-5 %l@yĒ䒁!8&A"rI@EsbRs6rMI {Z(%M{n ݜ}MP$)A {4kiJP$H0I("M bH,N`Y$ew.nIA!u6:Ƶk8әR';g5@{n ûQ{% /{䲕%nw( D\ DH$AP$ Y@\a1%9<ܠ:P' ?${I O_Za,䪂I{PPm/xT9'/SJ (I1(I%B62A?Wek*āec阃ve˙7}BR!a8ݐ !QB c8) ! 08 RRa8 3\D R A2dɎuH^R A! q) C"B D ɓ&8  A A~8ߔT! TAc-[1ڥBBl@$%A" ~zl{Wk0˙$R AR n)BRq˘R AH"U&Lߎ79H\D HAH)H7{8~RR AH) H)&L1 p /H)B AH) +&8u@R A! }8ߎ AR Ar~GnR D (Fqf$! [aJUFi$$l$ Y@6dP%2ghhhhhfheɎfFh AH) !zB &ff8~B) !&L[) D A&Kcf8_~RR $R AH8_~7ߗ0 R Ardɒq벐R AH"R AH)q 3fT) !B ˗1^R) 0o R AH"Pɓ&Lq-ߔ ) :6:ooUUvh Y$ vKH$~Wwɓ30kg) D ߗ&ff\q0bC%Q ) 2d~8_ AH"AH"D_9~R ,Irdɓ 0C) D rdn!  AH)B AH) qߔQB AH)B c8ݐR A! qfAE )!!&L.o,0AH)BUR ⪫;q; %)А$ ْI`t &r,K<e|kNHmn\9'.]'{pÔm3*֥ӧ^CzkoNwSӧNcVZ9,2v2C#X9Dj[c5UW7sMww{w+UUU3ow+Xa:+;m| W.\:hL1պ,E rf+Wwwq6kc)i2AU3Vw;ꪪnq]_=nw{wwwfwsA;Ɲ>yw߈(ns̳)(VYWwvͫx̀ITEUW6UNWe7o]~?93s?G@YRQQ?97{<3}ULkwwQ~훟E}wi*?UUQUTSifYǏeͳ_kESU{zw_ATUwUWuUU 7wn}TU)#~Jz3S]ۻU#XUS4|=\Avw jF5_sD#|95U3UF.g""ϣ~r8]5mww}Dz{,{,|oLy1.nO0ƃ##dsdd2_/C&Pgr(%b:+;'Hpa#J8?pq\Ã8qG!pgN,z9#;adiGYd# 2235Mt6̝ᑘ2HFFY8<#uίtdd2C$,222d FF{$H$<$FY%Ot)=2)?&OsaBRaSRP hB`W?01CW;o,+gdoxo)3#x|c9W_2{{/3D;k=i;F|nwsi:HP IuvȨĒI-GOK"kȩ@qݕ'}C3$(6] 0RseH~L2CHQUUT;b.!U3UojZ⪼UVis/_ywwqUVg|w.8Ϯk.njʀ|AH"R AH) 32cW!zAH) ) 8u`!B AH)Ba8(AH) ) +qRpha8_~BR AH) AH)&L1n) AR A_~87ߓ(AH) ArdɓpB!B AH)HaY2c7]vB0Y"R ARa8ij72$$0P-! [:CPI.K5wavI(q R Ah R A˗32R AH"Ra8H"D DL2c8e!a) ,X_~87ߔTD (E &L7l !I ! 8vB$D H) 0q%HPR8a8H) AR AɆc8~\dAH)B Aɓ&LoT֒vK_15SS5IQ" '{̺A:exC*AH)B AH) ߎLs1) rQ H) 92dɎ8!}I$X"R AH"Q@ 0q3 AH"YH)&L1e!B AH) 7~87ߘC1 D rdɓp,D $"Bq 2D AD) ˗.8udŀ) 6UUa&JZˤH $ $;Al@*ң&L˲HE ! ~92ffc}3R AH"C&L2a8va !B AH7~7ߘC0BR2dqR $Rc8~R$R A2dɎ8 Rp±n! H)B AH)B ߎ8) "RL2]8ݔ!R AH"BUb3Bl@$$ 6}CST(D͐B)!TAR 2 2 ) r8a8}e) D ̹rr_}H\D AH) 087R AH"PP1q0bAH"C"B rdɒq버R AH1)q 3f$D D\r&7ߎ0R A!#\+n!  Ap LM( N 6j[sH 0,D&El$2B E R Ap²R AH"R Aq R AH) ˗.[ "R AH%f.7ߓ(A&L2cz"|(PI{%a7yTN: nT$ $!@ tNIt LOTH$xF)5aZcj׽a]t[{U䠠~ P'\(wwwܖ֛fw[SNIvR2A"A3&dA;R ewUm֞}=V6MP$m{h{N6߽͒v{ؠI%>@X1Ueҡ Y$ vKjURT,暈𡯤|tn7‡ww{ܒA, Z%>&}{`{1AsP$ӥ_-E ^ X l$/^sަ˺.n]l(''@{Qg5@|=yJt~^m J^-{}{ vm{T&OST;eDdP$ HqG_y/:7NHpk:;Sno&\8"qhp8t|xǟֵUTuC0mK^wq΋w{.]#nb2Vs͞MۄD3,m%MUU f;ꚥFEz|f浊 wzfR$uZ]ۻu79UUPuTSUg>*?wn|{9Ƣ"=GN/s7;vQߪǺc=>XBfGl -gb..a3Cv4&p֮~rWB:5Y;1"R~ a 6IJRr8>NE"tcm$ 3(;A9A5FA GBrybwD 瑢rHuEEN"d(9 B" ʂ8@y\( TH W*HS8 G'4O@jj RRo̪NST'(#څ cxt85KN%|1fҾ'^NESwBire{'}>xޗ-]ߓ{|s3-iThǎ)dᆮϟ/nݼv&{G/E}Q>{nwlɪz3kŨf'v.׵79|}x}CꪙV|-Ǐ9C<3xiyO%^gHFzNAxzy&(6K(+{Oy(ww.~&֖:kQcII$H@- D3U3T 3uۤ 3uI">ķyOPPm/xT %ƒmU ׽J^ZlcZ@5Ƶ` IJVK( nH@2mm%+٫.NmDu"~Z)X ׽(6\(6MP$m{hD뭷[ /*R I@ [yM;It =&yRԐbGX=䠠gT{PPmSCMk[XkNXִ5Xl!+$SJR! H$PUT=JCQA*UWinV$)&c{4cioc{Zֳ8CcD@uZxI7(/$mjg:73(:@H,J eTm{*Pm{RDPh#XրMkNki-ZR-%] .DAPa!>nvI.~0xT %ƒm"(iukAmzBMkk@ AAMP \(6߼ϥ6J$$ $!@ RJS#YnBK; MP$((ko: SmmRVؠOPPmx{4}=8$@"MCR4"dA"6#=9wV:@XukR(6ߗve{oAi"b" jq6:pֺSAF:ƛZkht D %BH I@/\Ga#4j7kZ:ƴ=b'l&}{ANm{ʹ(;o(PI{$PK!6cZ s&ri($8kbL-, )I.(f\k nwp;:ߝ[x˗.\/ ⿛yy}mxFفϽv]h':TGU~U3UF.]ޡꪙÅj=9ULٺi}?9r#c;c8훾~|*;4`zwww wP~9D{3siPYzn_Wvϧ훿-8ճ]ݳ_ywLQcֿw|fkTEUUTC`;[gr{YGnvwoumwmo=߭8L[]q%3UUSѼ]WnsֽE~_wxۻ5z#@gWwlULhofr^ֵiߕT5ٖ u8sZqԌgk5UUULe5UUUVi?TETGjzjwwqaʮUkunUk>=5 ؛5Ώ5MAh KvcF5 F\H\QACv;(\1йt *8gpc MؚDZq&sDf;Hg$`o%"DnG4b5 @l AQSkT܁SxqEHQUHQD @lG|di IxRuđ;G DQVPWJ?q$EcIPQIbT'E& :R":NД ALRQfTa.uZxs6,KcX2`>D?3>b'_F"éum$uyN*}Q<þ~O%UZrO^x):@=mMs.C} frs |P׶UU[2WVuUQiUT`3{5b UUTDWU9ˏ^in*Du" a$ZciPV7,~Q9%/y(rIh"#8#Z!FIt ,, IA3"SMQR|~9\XLDhPI{%a,䪂Ig0~^&{KDPV61k@ M4cZ@5DLҪt Y$ N}'ίk4kS~^䪂^~~ZJ׽T^g&}{AC{g먀)ddb $[]A" 2Jҽwwuka$ngdm&O䠠g5@{Ԡ/y"WI{LPm{ܒA, @ H"A"R(UI H$HI%Bl?k7y{PCGt&d+IC"DPVB2"pP';b&I+[$䪂J92@i-Jmʑl؁!'($ J؉F:[]Д($ $ $$)X -$JHKR(Np!(PIIF'$'g{{$ I(:@5EL,Ԓ{?%,AlkZIɒabJE @ْBP3b'D%TJHO (d$ffgS{җH2H&`"P$ H2LI. ۬nUx7yW@+Rt* )#6(vI %$'=,@$,bR(pQ $Ji(]-$ 6J$_|˷.ҝ$m[T ><($bE8(HM$' j^&%5LLsnBI@,$9"A9%$ "؁-w= Cl% )#'rI @.A%&dtPȓB ($ $5 "E(URD %GܵJw/8\m۶"l˗5F͎?$͕tK7`7?ko7Ꙫ`f?0wvޮ޹wwW LՌJw>_yޢqs #`0 !|.8`q٢V(~Q\ v29fZs+SǧSY]ay E 4fw.׉xz{u.$!d!$$$$dFkdI$dL,& J lA$a$ A?)﫻b9*"UUU UK5fMT3Uҳ9z3~TW$bk}+?oU,Z[coW?;nYwf9r#WUTLZW9 wrGSMeޯxGf93s~?; US5]U3}e|OwUjfor}C*jTVkLS~-9|yf3.Wsȏݳ]"w3KWUVjbꪪ"}w0UlJ/?;{4UWw~O'~^OG9xf ޱW1 =c"F 1x4`3zMa_=XcM5{zl`[" 902mF3_9ߜ]]L3HWUUTC Xjf>k5TU#G}7vw}FE"4"#S3IBI2H$I$!$$6ՊHȜZVI&II@K"I؆$ % U*SRc-":ƴHMP$!<($3!5[`$:nDN PK& -DL̶u̒lA$a$ A"UET tDT:Wk۠p $&(6R@BlP$!<($HMPV"PSLȑ$% )#o&I@9H5B NI%B $A$;f]Iw:Ɠ̐t \M $Kۊ2C-!A%$dNI!6&Illx؂IIt D %Nՙ)UI"|:uO9:ƵLFq6d($W@%;UR‚J 5@$% )l'[љ(H a$c!܎$IBH %Dk{t $J$‚VT aX%"(l&T)#K $:/I=rI($A-$ aC)uDb!uJ%Q-$&L‚KdMPv6 Eo{[Ct & 2 D$90IF3ELw=Pb&HZ($HMP$!WTCL7ƒmdNI!6(dG$좦jԒjjjb $[ %zx./9$I=u}k}2$EiI BJH@$ d`$H )!,PIAHl ԙNOO- %X l'D$ u]urĀѸXyP JHRbnĚL$($R̓`rIkS33neI@I"A9$  ؂w򴱧w=O}ߪ'bTΝUS镫9|]ʪ3}Yw{sWwc4̻*#.n>^M3k]Dsn_b~yr"*`I=l9DD=1;f>ꪮ#9wjy**UZրZ'-2~`TG]5USw+~*٦=\cX=?(; H6Tc @h g^32"L\ds9Au.8.nE\\\_3L+aq}]q0x,.i2rvQ/N6:و" \9 1 !΀ Ћ<#1QdXl\\]i#E"b .%O\\\\=QuɕgD>DD (l}=.k/n>f'y)KERCdMF:cfH[+@XVL ctEA$vӸ{ }$"S !aHh?ss|TI1nST 2Hz]$hPv׽P2pP'$Ѱ'xR[$IU kS3ukS:Lm)I"z(TtND!=໲J̒Nq$DoxwXy$ tIDPm!&$A/$A%$fȤ$A9$H$  A$[ B{~]R㾯1;C^Pa8pFq>2χ|vY>DZ\7OOvnݻv>B&Z5jeZ%)ڮ&5)b3*UZ?$sf7).1ʪj0R">"ު(i*+`D>.fs~5XnC~}U1VWe9kT\.#@1[L+UYfK5T|?^ǎ3sk ZG꩚]8j/7EUUC~Wzsfv}Ϗ9{ɛʪZnUUQų\UK5U[]?nj|m \DXwxݳ\]I TU45r*eU4S-ځSL+6ʣ.rsȨTW *+ ] pTWdm͈F1A:"9G\@S>uPBFh:q<fwSn!|ޞ<":d 9H9b (;):g`x#B3 (xPPQCIc6#o`l6lyFfaϴPAI(8d@ ('J"|AF B@v?.Kn{x{1:U=|o8g9hFFPޢ`ym#@ަLI5=^]R?#X1~eXST@BSjv :np1)LǏTea~2scyzW>$kz=(/ zREgاJc|: I}/ *ϟ>eZN!ΟBBABBpDࠒ4jEae`MT@֟UT3WڹW.߾03qC1Wb/Zw3U}qMUqkWwvS5Rץo|^^^^hם>(ytUA$ l2j2HKR(N̒Rdyt '$*RBxPIC$4I$!v $  ޭᬻ.ZXFK} ba 6dt4PIlTRN'2`dtEhn߻ޖuKOwB(@L$[ 39AHI! e໲Z Ny5KgBj&I A% @&Ibm@BlP$!<("dk]ukS3#kht I@H$ tND~j5:zzz"ɒDr2pP'$b&I+[$&dR]D)!(PII it ,B&$C a$_2UTXb2HxR['FPm9 bJE @ْBPPG'tHPV2^zw==ޞ! Y$ BH$2:Jw]b6MT4ocZ4b2(2HJRFlH C($T BXCfg1o @ e2I fBrHF B ِE~^sEGw}];޼nEatN{މU‚J "Y2H XE 6$XRBxPIl ([ lA(D$ $ H.]˲: 7uDhL$m8=`{6(} A%Bj&I Kal$I #->C>$ D$@~˲!q7/f!""fa<($!5@$V)% Ed"LPo9$ؠICiֵΉ{RK$  I( H,Jɼ wP\(cnGdl!(PII8(HEI$o 5@$% )IAXRFNt ,( :@Ua+; JzNsn.s]FUP;~s~G"yre䪚UUCjn6/߾DkV96wf#~_;<9q[MUquUUkYeU3Uf 5էW9ns-wwqUwT +깟c9s.nޱK뽳s|95yw{א2s,e 2 _Ȯ 8~Gf2FX[Rpț"y~/r O 0);ms-ĸ:\L9/0@`xNt"X@2'u9X 3bFSnjş9gw8Gd\M#E,_na7BzDH~8us01:'u@ 0BD9Qc{(mFPE!0Х`A:0qQBNpS9ww,>Oo{\) -JhtwGZ/? :7 .(Opt+7*nO7|ȴ(ȵV=G⯻1\[8qB3v!8J=&NOjC(N@9%86e|*ۥ>/#aZFR`?HbiHO?aը`OX'P=U(8*Aߴd2rfH>zE>b.hYgTI.Рy@1A 810Axȗ3 :@0t***_MBS"(((5ŠAAAEꊎ<*k͊UQQS8ê(C qAAP959CAhh?  S1 LS6!X)HR)iNEIDv*"$$( \KTl^+ ٰ6٦Ͷ3Fdls65Cal:{/kl6aE/CXZt'fŅ2bh,ڴNSN)i;H8q|EN~bv~~T(r_mny{(][ip66Dm??ԥ^X^uׇpkfR˻@3Gkt`4 wtv9g_9D(֪ #ZB(ItE`##nLz3Fxp9Z}T4rW/ְj^2 CEu}n8w#5gh2{f_`h>A͛=(! Q ,IN|ݘ="C ]4 Zݺ[qVk\FmY/pKNi,Sӏ8 ;/8\~-rU\aK7~i2jB{"`F@H<'u+;Dgf4 '(P`;PΎ %-Nce%Lq^pw-jM(((O| @!:˜BtPNJ WHLrjX!aVk}w~r?ɋU2Qd=*7j1N{*^nMe˘f^s|Z${ Ym2"jrQ½U=Ci%̜͊F\#g=ZpH9FSN9}z?o񹷾$: O.\W[, :~' Yy7ˮ. JasC>ȑ-M \jH ;?. ˁh챺Ǘ_2,i95؃IL,xm ԟAs"\#../ A \\\>!r0^Ld"d>8%H<ۍX&' A8ę@2{$:7(r}n7vvqbQQQWD76'ˍ/c0yzQCGѝ`zq7}eAꝕ`{s%a3\RHMo }UsChԶd(9\vZ"eEAc!8[1{ݕn`l, Ku&pR!׷=@;J"jTST ${ Cz(/!)H"|xH'@A !^txr3D!E QAAAE"xHTTTURT{H_9$IEIRB@TR%I9HOZ!QYRғPaARTP8q&d*V |~|V#5 Og)T&}V}Fw]nZtLbfζ%op*G@ )|?]׮}5)`D!k8R:R73Nذin#pNS.%54jzUPhgؚ P?IWiZUC?#Le :  ##}l,ݪpW7fSKۖ}$63(@?Rrs e} Hw@MHӦӣkS:]Q*g W25́ ~G=6.l i#"\+|4"= 3)^/|[ุ\f ..eXYaac6D!;)$'EfIIQA8*P)FAI0ϸ+d#ݕnmZٰsWG$. (4fO(,iQ?0a=A'c_1r5pzկ6kԾQ? ?t! "irL6Kv#,W}$h6LJ4W;? [5W4s[Qm1P9i _+:"'߷ZxX:R T=p]Q&4v}Ec . $NIq"OrmMxZ%#?Ȩ$m˺пP\LtTTkOT XTTWdEUp$B3dH%"D7"X*pMXTTW (6C):b C H=D4"T 4bLIuHđ"ND;紋A.JR(lXt B !(π  B3nNDUW#WӸgu D>m-ͨ*z >y* 4+;Y} ?)%1f/ۗ6~y9'\}D}+;>sӔ+J|H#.e${@;hq\mrlfg`(w1`™todim^+^^G2qurpJeG-\l8ڸOٮQ/IBV?2Mg{N͡._{[Rj7!,>? h```YF3c08C*8n7sBh-Ɯ Fv(ۛz_敃:f4  ;%~eƼQ(nLn,plӛcDsC;```cl287 vFzc sFFFY";ۍ߼uivr Fi XX"VJDL{9q8M=B="CzeEID' v?TƏF?zJ*AAAyרϽ`x[>>gmc zu/?TԢs"ƹ])^^W\HD)-NXRVoG<%;gi,zy^')۟`G"jkFg3.X0ۜ/5ZAZc䊴2RưuiQyF>bnظڲ]rp@ ! j]C:47dga z+i6zs1< X"}fd t(0s =>?'diZC `G <N[ƪFԅ(Uj0*z?q04 ,t]йiM4/hXl`oȵ٭׺jqn8jS,o<ٕ4&N`N/755H` 6rӦ6䍆YSfC}AAANnvH#)(r_,PPR PPΘ x9q) ؘr(H$!$ŏ*ɕ"ĤH< 1d=&(LȒW$Qq14O '"D $M1B%%KN$Ix;_ňƸܚ®;rUշ6??fmTepgm3Dߐ|]eKl< 4`!G.2E:c j>eM"PRljD;|Lu4b-~Fax/q(K4hc.-8jO pJfFVh7Wn3]UO!uJ2]ml:dJ 5<, *PBla.N_uO]QJJ0iZ D-Il$JLYmbc {%ܺ..,^#'3l1``aDg[g惀c9TeNgRZlOjpsڬF|8@7qڭV^K; d*% ),վ |h 0ۖybR%;[2pG8Nzngs&AVj+y2+{TͼF54M.5ͳTBܡ enAn8d|FtC$isqu%V 7@CʇҚ"{G_7MA*H5!0|uʟpkW{kY~&7YpKʸ =Ոٛüz8Zi~p{uFTa|h7ҊʜR{ Kj0 ~~RnX[wAxe zC}ySi| &eϱIyڵzܳ%z^QG67w_QyBͼgz}gg5xp6Lgel95^M=+ N&GaL됿t\v[s3AX(}h ͂L1iGn'?VQjwwE6N^7`iͿv+NA.ee$@^5#uHDJAС;g_(Ǻi&xD G"˲6ߟ\6lyń!v0{:mI=w8<$AKDmld?8-*JngH4q,MPDc0a'.Bߠ4nqw~ɡj|Aw=4)X][4o'Cǝʹzc&Wf'{L1x #y8Yj:?j&SW5YhtNFyΏ!){j5 >{u`G*$ ?;o)0ZY!Qnkq*j Y;B2?i3?>Z-gi+QGϣ' D:oA˞b~-7A}sTΛGgnt+AzLH7I;ppjJnS?.0 l92R,)\Im}"6/p w\= x]Zb3d/TqU~,S~7ks:}3|f]zq)&M_rc#YMX3 ¯U]LFбW ܝ<*KSeټ°9@ZRdv$mgّoJӎ&{߳4L:ruM=sϠ=u!93Q3`3ʓ s\@[@bj{WQcCpCJQᖾ.=3UIՕ&[^Dմ0Om&t[~MҦ9]w#k5dk΍+뺌TtxVh(& "tѿ VsP]H:Aʚҟ{T5Z>UQCu,s;'1N\pH8A"u'eSu,+V{R E $\sy0r8Mnr(M,{__ o:'e||^1xm@zWP,(\BJkRQƾβuH4RI6ؗ(ꑛD;c16oLl( +FSwѥluC駛c^!2GRZP=4[\"1 @J[pm&?|ב!rm[f8Xl=M4L7()H6_$0aH[S'&Ǿ0y_|7S`DIMLM7y=BiU34m5oRb^ tOJv2}`jUK,{Aٌ룻1XѬ|4KɓDQ_ޕ[<Y|}!MK|7 0#7ǃp:H5m EYF9cXgmx4sꇵX~Nvw8S7v`*H'B#1a2gC£Xp#nL  ސ3#w539uuڤu]2sm4 ,k߰yN+.:9CB,?_ SK(vRL~.̡*$}Ӄ;YMأ66jIN ܯV*WR-]a /oy% $z֎Iw#Vz@ draʑ/$?i;.9.o2zj~b28)ys0[cAE#5k訽;wIVO`Μ&e$2ll[{qu5@jyHge5@eNnM&%Z.a{x?;gpPf4?ecfcC(AR.4[W R}mUv/=Zqvt -7PUOmalvR0Iϵ:~.[|['dɣC5xQdxXOz`"πd%38 a_HTd$H24Ԁm!`{٦~I&k]}SNI9v'巻VNE8m7E(, $X$AI,a E$dXX $!"  ( H,")!E) P$H`AH",XQaX@H:HS A`H(YdAdHERY H ( $R I"@D" "I*Ȳ@PYE,`Ea, $$B`IX $", ,Y H H," (,d$EX, !"XE! a,k HB,,,HSd ,E"R`a$X)Y ,$H,Y (H ,PY$Y XEUI",d ,XA"E!BEa" P$ !ő@R,AH, @I)Ada) aIEE AH B,,AaB,$B (E!0'?廯2鞝[;-g~0wS޵*fg9kȩ@W4߻ʫ]n{s59{i$>Ĺ> $Ȫy&et{}z&!4" _*5p}=E~\ISƁ|{a$cݲg7\i}J _}Λo`.ĉG(ՑGlu;~g_>;_a BIBo nD^Z5>Z֖gD6wTT>/ 021g2LQ|1Pj<;+Kk-RpSOn{g>ݏAgGy#4P=t2>ٕt=9-2OWuO8J^Es >&So X d܁B`. S:Ϳgx34wtrfJ ӷ+aH/eIHLO?d2+;׋-m1=*oz:Ty OʜjF7ҠY|ۓL!q|$C@[W nq' F@^$Yul$-Rяd;RևfMO >p G8@P7#ĴD˼Pf(3O1괗z WY2دܳ|MږpQE ta {- i >)o_vL:@D̝I0xbnS8lh!~3+)%竨@9Y9bδ5N(Sw˶Zyj`q %$AE3,*J.TjY!Gs,U6nN~RhpVwN>q?D- @r@?%Vw2?WcƌDBn RAvxrQ8Qi3TtO8xj;ոG,*\np Mnm1k*a[YU(2^~slgc/ׇy~ -؄yŅ?P9ZDtTe\Zh=| X{ϋc&+QZXZlZ&bocKqzy <ؿq/s`HoQΟ4T t$a 7%ɓa.XKmmד_gy)~RJyͿ& <)Z0y885RHEj3sĩ湮-09BC奊8ε? 2;%"m`UDV0}kL)1b8y|3'Wl$OcMtzÖE^DGuFJk zh?! lp9 @9| D)s֏0&:҅/UxD8׬@Ɗ+t5^czWմ&w}GyS+2LՓj WN(1ͷyt q|},iSkG4]onk =.ῼr ~"`l"n>aae5Q,2g]^;0 ~r_=5{q@UzX8N<zs0(jo L%4cIQ荔}c D L$xg-ؙ ]]0[,gD"K7P>8Sd{ye` zc,y؃.3Սߞwg TWvZCL&5 8;BQEI D [IB+j~vv,ި -6zLWTQ1V2ȐrEwQ?\l A~?x@QgJgd7jB/߃ Iory.ٿ:@rm ;E)V4,Z)NyiOp?Do{.t5W:өY;z˗ =̪I6w_ pt?ԼIޔ{Ie(yˤ;m2[[1$gwN͹@R^si.@1/-y.,{a4,W~9 QN/!znke4?txkµŵE )E9 }3'!Bp e ae>p8:I^wGik˽7{5PR͌H8 Cm!3I3tZHKjzBC ~٫s.W~6Pf blOXئ,8HaYBhT ~ͭ*Y`-rЮ\NxҡPM0'5 U.)gC&_ HgƠ]uT̠d=,;BC.Kƚ7-=KiA((nш3`+FHâ=PNB(80q.ԖBAQsՄ 谙9ƣiր5k"nfP>0dG$:6jf18OҺ( ޸2hJdvwZץJQq1MNUM5U[d{/1e$GzYa OMLnyşV:Ͻ(*%%EgOt=2DiCybOI" `72䄛A[A( n9D$]F8>n̄Ս !m`hҧY0٩ ؞WS "q`ODDdL)Z'Ĺx@^|F~9<;r&JChev Mkךkg:Sb'ׄ#↮ԸV_1] BXɜ xgepinu s־pDnAYIeդѽTsc߫{UQuV~{X &P ,Q`//WEKlUm1ieW\~fWӏ_-t9g 2DeǮy>8ofݰ4儃Q+,g q셞#o4ם;v#ek6oOLkW.~tֳc 3>tDItOĞ #NE\7yGGjΉ,=;U\HM򊐳8PB=R C~MR@o2^Պwt5n ^/ddha'=fE C`a8&**/*d#.^ﯦrnֺ G_],aAyw{OQmwwktLӫ]O]?r;pSNt/2x. %ot)jE[,82D1M3,Ρ&| Ro |"H AI=2 kpYg go~./w~ o8/[UDZtRN.9 Dg\8g $)绽tD8w ps21u8~f8 Ѐ侰=12mo>=]OD*KҗcZhQ1N-kjAٍ [髅(ȦK 5ۻ6 Eg΄r oN]MiF=aO!y7s/%gV O?-[&Q^4 >e15&g;]3I|Ҵ-7P97+(nDžw1o+%U dj6RK^NCi@43lAN'tšFW.JuiL5(0fK.c9joLwk񫲼(oz3N g? ʈ2q"~&͚iu偳/,9/KPe F-15׽d pE֝]BX8N8̽2{1׵s\TԿk~5KhJs*7~O,AAC!e-≀85ֺ!&qn̯P n'm i¦ACf;%\R[%BAroɷ(Ԩmz9`K! +yʺ6FsÛB{R.8ON&rU}T@3C2w ҟrctTR|,wwR Po<6-ZQp|OGtju -]}Xs86e^cϬF[OdkwP4kѧ7dGlԳd7_=xౠ[4l9N`;>vWFǐ59u>PûY96q&mg~B+q0r~1WTgԠ.33unQCsNkQ*4q4!vOPnpPT吰wY{8DXwr>n_b_z|&j7}˫x25IWR}6@ڈs+* X^k"n !doW=Dts[wV^}30H 4k0H>Qi{Cft]~@N}; 1+"פ]gRgHgU]A:<1wA-T5-k~e1T@F9vc0?wRC>cH~vp3;ck2noD>%NA? Ϥ~X`eryh׊AϐX*aG/WkיŦu_m#ZzytXgoPqj.B]P!Y&'lJ- JL@[}ŏUZ8/)Dgd`2dѨMBneLY? m{v~J=AM~G)RӢ&`Xit<)};tx~Wֿ5e8aP%M{/'{KE@ud@q8 dA!g m\%=Ҹ;8ᆮrhlLvavƼ9ΈHٔU@p~#S\y{s~]Y{5iօ$ѣVD..o(0g(4' )Pu)&,2gڊI7+,\BgWbG8TJ#.cد-Dfb4sI2Ԇ[m;mjA3&9ɡcZAځT/ku{G:7T9.|364?jPOY:O.ғyP )`)%gze7%dnpR;*:ݜ_ \FyCG_빊,xH>Y|%HOcg*LNU(d'DIeI+Q36oJՌ#j D_?#{gD5N͡j@ _S~.sPw=º,Պt6.1IŰJY"Nk檍 uӿ){,Fq]}!cT8_Mjm3tʰ;3fogOiSA _Ck3!2qTjclCґ,w^% gS$Z2*p"Vtoӷ;,!I}3uLp#z*ꗓ@/x̮\C9NwIixPIdr{`6e}-Gvx_ $\.N'8N7 2vAM2Z~$r:tNu/ PrS+1ڮsQ4tu'g1[snؽFN|c_ڔlڃƂi碻zZgk|7CY8:b?W{;#>ʌy@_ Gx_Ba )y!c.XjmC53CoLW;?1N[ZXT첣-.@EBdn:>݊x/Rk ָ`A?Q," W8QxL|#Ƿ8 iӷ;"%)jf|_\wӤm;OEyT)O*EdߦtZxg gS]!^/i[nOpk2@ybr|if' gx(G0( GN|VVFx]j;)^' <]R]NߙhxDV嵔-Yndjl[< N$c"B J4$m*5 1Se.GۏlƑt|Fd[=LMpWYmjIڸ:&%8'3G`%<%NLɍ-܆_r (d RkGSq-I 6k@^覴Dr!#R`h_Bx zwmpOJҟ08]([,D uDz `8 B~46seAUE*ܧ8Lcm8۞c( #|pw3,{޺` VM?Ov\$+ws_/ _u ̭(An_݆W 1o31wtmKCl9BFֳ@!oc)cxiN'_l3~?Zue_>ժ8xoWڠ;5&R>ksGΡ T*@b"CF< лIM9v3g#PϮ,(tqO}&kzA4e+O\Ez/eN J>g8ϕʑ~ۚ[%5`CHqf0~)hJp*0OFdh9aEfzCFӡ&=|8WnˉE"P0!4`~EFhy3xjLC 8J>)/#!gMqgcG6 & 8Iecb`'t~l7k`p;ERܔ z.(qL_r"uo89YFB}/O ~qgu̶7Y]OI?vb v,|9RHB.8_pig'd sOv'Ie1_`KW` X{.اa>iާ= `䓠T1L 75D'@`1JNig5~>ho^P"Sij{YEgH#n8792Pk {f)ASݵ|f+ej |G!Ht,O:jr>ל>f3z}G\@H yEAnsRWnR2 r; h>{F b*?T.0b{ a*<58-MߵܞNOSO[[FeTh#̧)Z#J8 :)|ɡ;?;VI8[9kV[9T{ſPbCX0_R.?rMb0rRE^jfaP.l4uj['~\ MfifcbGÐ9HZu/fZb:U@d^CSz^Beӊ*X ,8Hjo?{YJs/lI!~G6r:wEBN S9mhfPt<{*߯ŷY\Jf ׯ<\o|8gjviܘe ^7bXf媏m(0O@ '7|–NF-`/ U 9z xEn ?8r X9HWr'?҂ۃ#Tt0NEmiU#?8#GIap Dtd ڒ8b$BSTCod.C=|EBB6e9C+Mwm(^̎ORɷaw3wԅiuYmr,}& .%֑ Y5d,2_<0HB &9%0 omm')r_Esdls=p^, L$H["uF59,@uxrG' ҃rzb0/}Õ ?nv80wG\|ǨCi!hi1V"Nx N$t{(` 'O5/ǘGL SOIDm77z(*tˣTd5Xoӷ &p %LHXrL9n"\c96UfХ>Y$9&s{L0l7r!aEԘPVr@ݷUgl!B |!VRIAcor'.` j7:e#\2]l1A؄ d?w"ZF<ۜ'd-8>zAu4'YxDVۍZro'v>\?JX3-"WJ6~,7O$qpzZ.խR=Hwߪ_Pr* SOc'+ߟPHbbu^+?ԝ4?"j#\*,Ov:v_|jz3g [#,\~H IUfx p-%kI4[fj@olkj-JHQbƓ87*>g$+KZ*GƭUmu~|3 7d7WPce[a|\M#'SF@{ٵsKcHcD*Ce_ĎW_J@iƵ\sK㴸^ N̮A5 0_Vb`^Bmw.A6 V>[xK1 *żǘՔ8zBke?X&C⡚߫kc;܍T#rpas0lqAkuj*)F/GwK",\XCA!P$:9wgjt2k=F煵4MOѣ9ޣ~چ̭2.d䯷SFR@F^{O`h; !`֑j5}z-zNYGlql/FGKg1mw=J)o*eFG@ehEm(k?W}HΙfk\A ch<$rӦ5ܭz ~w1D HL 8vY`^a",U~ԤJ֋o-,ܙŋqͧ0!`,n GǛd[P؍l&s5B!s}2w9t'XaQߝ(}4#5)IAW :0AB|OpȣW &Jb 3 s;;͠~XfWcf 2;8%ѨyzYr^t@Sq[x[PQ5y(S8-7w/ Y>,R?,Qvqns6gkձ}FhLv7 S3Z9_X"ÚLq$̰y e{2^k6u_B+5q&e߮&|&5qsߝ#l2~4ɛ-vR֨ 9jU\RHrL>G_蛈IkpNzlm}_3;mWH‰?ɑiJ ঎+l0 ]$x#5 By< W<&IU"7˅L/vϽOb"e֠׍m]MS臱7c(p$՟yK[cVxBcbCugjNr`o:{h]`=fw5<^tWU7F?뤊 0-/[j?88IM-T߽[k@h|AzX詰unSBÝ{ &c8BɅشz"=]klj0">C{`s 񸎊Os1N*`k+"@"q~f/\WB$}HPNi&Rr!F6թO{xũ@%ZD<("&وƵ_8Ys/;#V JI&MJr*hG֪d]a.;uQ'ׂC:f}6_,9cWw ~nQxS%q XT(&1XZ^|o?m\#X^0rf%q%N'۵kdsN{SDZ2%(x:+Q]NOӘqVFrvz40~C3@@97z-[yml2# lVh.n}T (` yv$Ci5&3jjʬjG %aB״8!9dVʖ9ENN#9mz ^gebiΠ ;N'f  Ro}9Mk 6$FʗdAisGKv#/8]>t_X`bw5Y7ηt>\8!gjdugG>0ݣu*u4{}MHPx_\9(f$d.%80*DywrO,鬏:K5pLOPI٭4^^R(Baz^>>r]zurّFTo/e۞DAjfBg%>=U(i5_-<qx^VAO gvCo\ϭ9^s+o捰p/̘Wy`F$gm@o[^{P{HwMnu J!\Z]V ReZDvH?f,\?hXRkGjքPeIIHcJ7ʴ݃K6 WjF1C(27NS#;/ݦ$5]뢺ⓉI2g8{C'( ]_㸰}LiZ5~ݖ s6@{qc `idh"_ Y4wc-o]渖:O洜 fR1(!_@|9\`ZRɒi$浹xDr!/H)R|pb;&Cwh)(TNu?91꒦RU~a4/w/ 仒 ~PR 84{I%$fQ=9[ѢkfDj)|UN,'$ .~,l,T?OBRٗ0oGuSߎ׍R53x 2~z1&+.N2 zR70(q=h0oU^)hsm}@$ TwX 'r< xքj>{,2󭜽.*P0 Aޕԍ-|fQU+FCqS޴QjdH7^H]␤ǿY/OH!"EETsd mhڨ9ȴ{!PVFO +8uUd93JPy<@*L*,9ʠ] HwlON UNۛ.KEy &d)Ύ'W5>,9YJ|c5i y'G@}^'/ -*|N6y>~u𳀆rJ.9Ծßu ?gA `GjgCp!{9\w( z;9nZ1cFOP#5ߦ Kvz{FLʩx~]TRQc,i눆ٮR38<?,740 cTz r+54BQ6,Z|oܾH摆ˡ;!F&D%x:"@:fԁ :wM0Y ##jNVL!8S9*m0y dB0]}}Pc]ެ"٭~a`\)x=vrUDE"H(H5zH<%4 oyNIrMay@5[wrU+QZ!nywn% D+dZ_Ȟ~'Z$2n@PY" P [aPk&%.u_QlE2y/2PŠi>skҽ˦0C;$zOwi^#h}+8[kPA@ 8,N#zv,v-4񊥳}<v3 \t6%jWPӨ玩:1[HxZ,,YǺ񳧷[zS7mS]}UŪ}w?ĽSh(PcJS/v5Llk7B?a=~ATӒ)ooR\M Ԁ]P.]k[c-ҵ X]Uq'Á~v`wPg% iC7rS `\w3gW4e̜2҅**]7q[Gf+L);wbxd@鰢`bhSq/!gD֡m7i'ŗD૩ j cwlu'UTUUtȼ϶9{P҄P] Yƕ(HwG?|Kp|#b@ gd &+T=ix:S3PhMGͼkyX9.WE4|~sMb=\a%z`T9my2 c<59(|t[2AҔ HGe \>\v0O߯ĭB?B@!M9PM %3Q7Gaj_STᆳ<Mxv=lQOXJHY9Ndd;R3k~F0Uے]"'ZF!.xP ̨ feqgy]5\t4yP=$}v?.̈́88OCf dm;mTz۔% Dڷˎɮͼ./cvYk: ^u]b3OX 挗D| ?rhS? ;;}dNvwbRXM'¸ݸzx0*! ̂9:]%@ Z0Y*-%w)srmb%+b0;Pye3>/}&OTZ 8%59(xKUK(ˬq'-Ϸ a|GwBӚQ_5Τ\1rF͐psy4D\ 79?3>GHhyYz.&#Q3ոyj{i ]hFwNox{]kIٯ[N.{wgsFyUo[ttK9cc+1d-T ֣۲2Wmm}<ډPtOYe{qcemCJA*ұ^ o/]ɄB `d\i2ѷ8Q8GXgra'XR-6Ť2p߽Uhhsa;?-乿WHCxxq aI4{Uq,12V`}VHnIt]"! ‰eL;rΞݩߣytúM'^-濞ѡyZͲr<,\kFgE#>>gV3%|s} &hC5:':#58}xh2Ffg.?OO1̩ZAhۥ^{|#]Ago<}*JR"XIF) yȢd.1v6JLn)ƚB<$&Ʈ$ I"@iPP[9̇Ҏ %g*ʹ^dJJ-;Z.ծFY7.p ޘQQ28*mh ٻT=t S6IqYnәʜxhu_aA#n!2LS[CЭA3] ;F1ۙ0DBc!Hmj5m]TrkSķ1;C םڱ"1-KYY[Ye2: plSYe4-s^J-6Sm P>+TeˠGIuz-}IYĞ#7s1CV;=|gO}7%2?L1%ɉF>~&IgThWZB≋,(!YܡYLBd?,maNע1eDpS݂Ӫ a+L'jnwv$Y?q2 B 4~|Y_:goG@ɖ)O7|U tɍ;ue+WBLOxCٷ@AU*va廭ˀp;*Fz#8#sݡCk5 Nfe.Qu (bbvv&qgCt_ؠ`P ٳmg?:C [ԃ 9Z_ݙx]axc0J%֌&Gd'rOydD$Hߩr hOUrPomRig2\Hܺh^ȹ;C7xޜ秛\=-Ziy|&7FA;ɵ*u9_4b襪?i!Gc7H?ݐLaKb0G]߄PBW=@ G<"P0SݪEu ǥ]@oYV6"gD&GX+?zP{Zk*b?4MClzٳ\*ЄW-KKΩlzs"@ sQLyG@Gd\tQA&6 nN#cQ]4Joa qy1H!3)ѓpbqzhHN7CLŮsc1mZ&NEuV¥8TD(|蠀0A> I}ue1[bU_YO^ke&-e}Lˤ~.z)}n!&cLFSN7Z%%'pLV]P0As0x*b4A ް򢊹y؅}FLBok=܌>eVØ/ a3z1jк3O;sO&d/aCCS]^$E|;<5*߄Q|8*xV3>l]dR="д;m ^耟щQrgO֭RyEaPݤ^78s]ibi>\ĉip*n8O#CuW鴷,t:5n֘f1\jH4kRHjF3r3 ~ O>Ɲ;z KR 9R>ӟ*3 I`DDD?}:DA7hf 坶J\\ڛ\VD&N8裠qfK|p|cEC{wNAkS@rIwှBlChH{EJ@xUi'X}eԢB`4';ςpk~]=ųCh٣-?jskοz: q̱3Я`fɳn{  mѿ4گuQ#(; F^|aH G\~$% |v$-( IU i8[RHM䔍zQJ8_B/kݿui+xF ޑ/EL5w[˞^]VZw)k̶A1'>2%|Lc,0ƴwo*HXmmJkm $cn*B|O w$e]0b3QZ01O?b4[{T gQ䅤;Qg`/*'`lQoidMQ 5S} }wM_2=G1/AF@tUmw3JmPOJյӎ]#zM(^B5?q/jnLY};>x8>jkOXm!x LAAXS~,E q"(E'^&e%HBV=eO! 1;* @)95@ JkO>oe(qN̸89'oUmN^j1 N` 4pXrt;異Z,V @` Fr0+E剏ֽHpP$ԪiʢQxob! (7fcliR@1A`w:}w`˨>M`' K}rY}1gAxҊ#\QPY$^Ea 틈I ~" ϭͮK5i8ItmeI8#>~CXt=T4Yߜ/y;XxyƳgi7Dp -=??YϪ #>5 ;O;!zh]yˍ*ӫF3Zez"ia9bM>#kGc,ӾbL27bP8,O`9.I-P]0|B5vcfs]OC۟_:+t`dnN\k 2 Du ~E)\^Ct0(&h'uvux>n N+zݽ/Oa=9_WzSn?#(|PWh!ӈ'ŏ0-'דN & n@5tBd͸'ϖ9.0a>88фfV\ _s#%L*8meD* vgGaUnyˆSrنc8\ !7m`to\;9 R|^z!{(VPk(i-_$ɭ;(Ԩ3%Y&y@!HۃMuf XsS ghw--ܷ |`1V, !lj>LSjSMt>&aCscsbjl6sˈOþgGO %~Ԓcn wgE4w*3gڌ'dfߚ4V|{>u86pB3BoƮFg,bn>vSQ0CT29׃&*S6C'8UJb|2Gq038܎NC9Jefl|dyH9A&BѦNaU.F'#|U7[>ln-%/Ss?׷i'ߏ@r.Z] ؒ`-nc)'8WƩ ċ~DwzvuBmDNMԠbjh١ ^O)Kv+%1D _/H]ԡ+k66Na_Z0,wmnu0IWl &,7Z.꺡QMSZv<_7֞78H|8jUd$mnGtt/1]r]Z\Fm_}>U{.Sn,K6Պ4rβ?vCJpaMK'qFP\Ljs$RB]A~yMv@4j5捆/-tlA_ycuctWڻ=c5E:QnkerT֦zUH`bb! WBQKw=OXdu5.ls]};!=Щ_ZEAb ΋BI3B䪠ev vX$"h+gsmO Zo ."8`s8scimv{d'p)T(2`Q[NsC~bwKxPx -܀}>`MVw4$Q ҜC?z2`>c|=UێZ끏Bxv#3WW/ 2qos{dy(U| 80(z( D"bp,4в?Lc87ng)x^Lƣ+i2Ğ2s7jCTKq,Vv=M7Y$5_~kZ5~ ȂN18Vtk_$ӒnCD׽YiHSJgw0zAC>@{؇^l]˄ a'` o2hߗ 1]|囶sUd-|1X+&[wz+t6t}HO)awbCC㘯Y2"H)m+7,hXKQ9JtE-Df@|*d4eO=_ߞWZ=A`>3QT3Co‚nݤ [Iĸ$9HisԢdR;*0X\-.Ur7+=taciTήp腐FǕ 'p#݀k\Sǒw%.bu?)= Cd}HA{A|t"l9j1 HNySL5!e+)F-LbQ7ޜR |9!dMHm+ͻ*tŽҔ2pZ4KI{&+'zh3QcHüOo_sc}ZgB8:F%c\?<#Z`}2 ^5CHa+P9PBsqoʯu @A/ɽf008tr d]5KEm+aY yF1Us-\[Q~nm@daMIy\)\GVcO=+d,ȬB/$1Fb6ScPnqSpPefXKwM˿E~#`RZH1Ss fPkCw' 5YZd&;S K  (x_ .]oHmU:nm%ncR6YCɝ t_sg=0vߛ;G;42*z3^J1Q9Q=Bt{F%Dx[5K+GR*Y2D Nf;Ɇ}Y`.pDY|zBBן}6hլ|LK-mː9d9"NM쬰6bܘ'f9 !7ne\@wf/ֵS7 >BX܉3#26q¨Ŝ^H. ":{ܶ#j7X$- va+ET;@=>?ܢUtP>I\=[InO/%|0!H޺keci[d #d9{Sx\}9Ɵ G"M07G[-sXӧV107QoQ:I$Z-6àmhgNB6vt-!UנU*&w@jpfdWM@Toeگ5+˾BN VV:ǏՍWBˌgh.xb DQ]m9=/ 0XȟaP E~̘P:{מC7V|h@lEڥ nբ7MjVJ0mf^5QT~u>o!v|f [⩸S<[*ch{]C! Ugӧi5|tNYܴsNBW4IUIRuZfOQ55?%ѰѺ4jDOz?!MZMFyUlW;dm!/w)Q'ԵRx>,2xtne/ʜA~ƕ*}Ok=fʘͿPȶTn=06qajٰM,>蓙ފD[ʳV$-3J& NҵtW* ȇpfb-IY$Ec$#dp! ?zo4˱'H\ծPM=r{:;쮉Pm~t Uocu"\MLL Js#,Zs{PAZGBV住VLP|{t)wKR\\r7uDZA<]+I{3UEw>G̈́o '*,9|eNPo0^uN>Ji_^E AIwl5F/=y;$SÝ%M _6ZV_۩.W}Z0JJ[pA;7d|^hjO桽Uxb0[xp/iv43-j-&6hiVuf=:Ͽ6;? U Zp9\_eЬW9È_IB;;W9^Bxx[4d8 ,ˮVSC,26Zo_M=Ra38zp!!E#̛FUm6SJW7gh #khѦ w}?[OoUqnp6p}֥iØg }A}00 R@IaFY;GOujģIL?QGj^c)Y=zgvH KWz.pLAbsmܩ䳇kGgdfHv+y=d;C"Õ1hcXJpV:=V] lçٞ-2!I/?݀H)*G~\iKKØ1Ėr3TcM~;3C$:MD I7A@6J ]7eNL?/JQK^]gӗ 7;'Z < %$}y'MqӇ`]EXK-G`FoУ OZA눁,:T GlWy_F,w{'Nm:\W\`hn6[ۯ'i++hQˤq_Sh;MR/9z#m;4r<*i1ִ͋+Cud]6 HfI?{TU3,ƨ3\^}+`m?I~/A-IxF9zvFح9#7st)\Fo)\|{DxsiHlU޳Ѝz7j.͎[HFߩL\) wؔF'n)5};DJW>5O¿]'Poaוb$8#o#^f8Y^>Spo >Io*b7xTj17{)D|lQԐ6"tK:sZ+xfÃ0; KaIM3j|^LO}nX G̝4)}:( qȂ&7 csLچvyʖ8 Qߠ7>AȧFvSvPG'Hc[<ErVֈqX quڻDBI $(koOMYo?t\QW8ma!2SbCv1bQel ƍj|r[!^D8+:zR uh{?Vҷ^Tv^<q?Bq/GFpі1/_ӈN &<驌7d [BQ$ e/h|b!ܨl . ]rxwkGZf/9*[L-p @̂c ~%M4:#4.#tWtߑ 6̝zglorX/jA d;f ;!Mr>d*۷A9DE[dgb #wHF6n@|$i΅?;/ef<\Zc<P$h9QPCdG԰g^ft)AzP-x)ZUΚz5u3 (mo=8tyٕfդꦙ:C!~cپ`Qbu+K!8mV~X]5hIL3E4"Oþ{t3:U Pݛ*To1uR5@ c+R#7?@) .`kINW௪38yb jp2,kO]#\Cw;"9{}%U$.u gXR h &H6T6Nk*Нގf%[蚵n)QIvw?X^"k1^x]:YA|T}`]h=]Wu;W?.wp!hky6omv;A RfLp)OR)!1at|Txf9SrT+͐8dBӮNϱRAL|g|7'N,~B>yUԫ]̘0OS`l_((%*y IKk|y20F,ORZpqHl2]Q;smh¦!'S|ML_!f:k qf؂|iGJGV^&5E qNfZ\q2@jE %- @gh0*43VI7ctgF$yjo_>`N98 !PU"PC#9R99;HnJL=PgyR -T ߀ DP\'zA pӿ /8렂6YbӮݝJV)$V.&ܚv?d!ƭdg(ةi'2JވĤ:v nHoO,iμ]IC"Cj`d1Kj/8`꣢Dd;\wc<2dɛ!{3:=]ن}[#Z7D`WWи:w+åzn6[ywtylM=fϵWik}ar >wX k3cbsoZbZjDT7OfY {A!6q;BRh0rDp3)QnJ36.ugf 51EoF.Ʊ;[pr1F,QrLg_9pzx4HXXO1~2(/wڗQ՝muٳX櫸w`(eF#+MwT1#eoܧ6Aʛ/䔩:צ>֝Dp5w< D"UwcWU2v Q4DBهH^ Rssw{C?, 7М;mDrQfXG6R'3=S9c+(T"b 1=VWu2orҺf} v|9F^&.  +^. *4GA"ZuoZ}8/<V5bP>)N8dan3|kTFK1*b“;8J+of[n4+@u bR΋j][I䟌d`Gs|Dm;RG p;}_s]o3~!&qߪ?^Z#D=^j}#vܵ;}ݫs,^-k܈=S%GhK*W?6Vu0 tOreK2pJ6઱a,SrE==}xN2|Y;!=יb)Hb >FEm'9¸{/&le E|k t)Psҡ%gn.OcސYso\}E Y ul u'^cQ3JPy]Tl*^,mi՘ {^LzA˶J'|#}'ɴa,BbxdmW&$qAGg_hYo6Mm'c 9@n|LWMJ.EܖḸ.c?OFmn)K65}/g]kJf`4󵬲l(jϣ=?F}ft]=s5.mN$& feCi X?n&m Fڣ/]6B8:k~4u򇴟h!%">?O֪*eih(GA:1Ѩ"Z ˰*ay0V n:MWDآ`BrFa*N4hKpڜVHO{uU9'4bbԏភW;SU(hB}oWMZ07+*NB*[Z߂W~i?}T<+zoJOآ'_4SenbѓxnV`-]:gs3yޭ¼ju1bwKg6Xj3d,6'4qF--%=̘AM/3Q"7Mj1_:lʺ]ފ.7%N`O!ɿд$O1ח6&Aᰚ G9FKA=a )RR:s&ZjEZHDSsbIrlʊ蠉U?N}V)#OÅk/0(kX7Oġ!."y f;y*i@ {ksv#jEp'O-!cZ7fspr +.POo ,&9pp u@a\Gʧ*T,6l:W'1 Pk~]oyme)Y, p}5rϧ3L=j a\g Y#Ͷh]nJ ' |̀QEn~4rË9Fҵx N$Y{D44vaCC席L0 9q,9ʞ\y V!A?fse}6J/([yĦ >X$QaMc[4=_i.[?G~wrk5S~Es(~$n\jԺs̸ 5/V\-a m|ux\yڹKe-r{>ǛۨXҶq'&Kj晫ӄ$ 5&3$wyjnLǽU7ŕ=;WW6ѿWcmjrߗuç4m /g+MDs)Ptّw&_/dnKygRB(r? N^Tټ0t_Msg2]/@V=&AJ 9'NEY8jϻI}Gc_&fF >fzG4 8*UW} _oWcq7^hݒx ӘN6Ѽn~./Zէ}җs5 0v&60xyܯ[Ҫ;2{!%Jnl(4~ZjC u3}Ml;ON۳i\dT\"$ƻTWm6 ~"HFe$8n9|M\q e ӯB;?[x- o$BN>1io.ކe& .iL Mw778q!SǜRf]W#_>RuL{?̶#>P zvaI1KxijF@WbYD 8{j 7i u@/6udW\9 1]ۭܝ4?n͖/l K;M+ܥXی%ĥ MǘՁgi&_֯(uDy'ZT>@vy΄ɋl՝rXG'пKn9\9M*'^;'lhNJ--[LlQ2JO%PS7Dl51colO9N3"]"<)_WCӼ0k-I8Z0Np`y |.S+457S{;@Fl:OOs2twIi,wZ w?"mNCr>Dٻ(w6ArM Fn[C7 s$a'%aRrYblF#/VFBYFM Tnǭ߸ݸ=J^z -|$xKP? э0M>{}OeΦAh;>Pܖ$Q˗/Syj r9 (>_r Zq4[cꟊ2H|&+rWb{)%.BQ.`f]F k%}G-  ZD/^@p)gF=NMwS)h13iչ9Ių! ߁. 5{U6 =N#!ӆf+;6!w|9r^9Շ˜9ˮk}Tz %X8@I3yk_Q0S,y#-_H|rGlvg:QkG?&_dtC==Y:T]g䯡Gѡ}'l0/.\&Nfd跺|xLyE䋠*(".nP4МN^Hp2$'YgܖL?vlƨ|`T$߲&ﱧMrHo``P8B`aRS{䞚\pL(RJ?(?8۟8x* o"&KOL-~7SZCĨag=*?(MNw-nK~a,=Z/cmMS^9'hm8̂q/9';2δvM [nNv5BiHՊ.p1[RKgAz0Zq^h`1gwU80g([3)Nj>~C偯S W*nEe[}7 'jM9O;q O¢RJlBFȐusG_*@I{g߈+ I5_ksMoֵCI{L@5~WzZ z2~oVEuX)z':,zm+Og?Faf0XlgL0wqN&{;< NOOy5WEpǫ|< &];l 3 ꂰ !B67]=fFKnNK.Gi^DZCb^ꭧTIϓ"[gg4K[ b6>@,FŷN4dan}>} @eo,XlVZ~iՁN({gA5^Jt p_ێ;lSF,sa}Y{> Dky= ?~м.gr]5nܷ.YE*(ɇۂ͖@ass D~S,q 8gÈ=2D7s˯㺱qݶ<Zd %X$/'Ǧ]Cm-&ve9:X72ךOhC i󅬯iH۪z2lӋLŝ+LN=2a02h !M Uɳg3%>a~?CɂȊIpV( (䜔z#b&8} J{wS*jvZ/.[grl̺z,ZP?ު[`t.l>OM d%kb섎fb 5h(rb6R&'S(/ |rKk!N5q@/λscףz_p{E /$" Ю~ U]H e' r1$g81!JjOaKm3D{3-yU5zMj 2lr^iUKw4`틖y? bcGMk{ݻ0EE1Yn뒶|z"OBXjPnp#Zv'Wp(p))U==%΅B`1ʁ>e ~GRd@O(G ֝=k%n II lpVd b7_6YIZoXt~OgP6cUvt|oϴhWr +f8U=O,@lA j!H&73z3Hw5S~6BiNMn3*ʖ22i?6sYb|Vz3֢{eo91 +s19˧ʋnPWJ]kHQͲ"|X+ɾe Pۋ8G]#e%TV+rI7/9i*Bݕ w+q>[y\2+*tψ]?8*(7= հyWBRڨUN ik- :(_!Ǩlˠؙ20kHǗҘv7eL )M# BZlA{ޙ O9(o^演ەE!.LC`Q˪=(CpPT !vѝjM xһ]R+I%-WXV8cW;Iowϧ QC6?W(ʢh1ˤ&&mHb b0R &E/D&zhi!2Uϖd o/*z(/aN(2=TXv21a #Ho/uv㒠~v̚[)A}m q??raf633ɝvL??necI'")Eϋv=Xj|׺sN; g% śmMwǥoɿPިs>% h)E@_ 0Zj+Y\-N䟑NOvR ;MlF]34,R\Mc{]$bz#&$bό^Xni(!+n1!#r?T]s[TQ Dr(e5shqn6s|G[5Mϱ$oaQF66Uz\6?g(znU}ov+ݺnꉏ)B A:8ΐwH6 &{+4_4 ~3(59%EݬJB\7!Nw@T;ɣO a@%/5cĪQֽXfd8oB6 ,{pW]&fe}R0Se4->ȈQ>^B2@lZ4ZuW N=vг|zzr6cAiЕv+*>N~`+۵t{"zoۢfnKTThqylVP^:MZ>M_GO}Ko ^)=EB0yZ,Z%ԑw1&KPS]'U_8WS*TmjcOKwȱp,aRNv?W4S Qn UG+\/Roy#TU?GJ)ݲlXmhxsضTT\^gW5x/v ? c_D9ZWrrq/-*ls9l(-<:P99qNzYtt}i@"[Tg䀾r;=DUY[5aw>rۣ!R.mY,;k%GpQ50OnBHmըL5;cغs'-~`ڋ5d^- =_o ^C>s0aQmS?зIDC+9^RvLҦk3cHj/Re3Bu[0=;&O͞#~j,lfڥ_8wf'x/̖QZPKGc%uKfgg6I8X;]N>s_eN-4FG)_ڹ8߯tS I2ΧK[q>ZCAHO(ԥ  s*B Ce;T ݐo٠Q'k>E}du?]k%KTh wkB_{kMvFv0NϴYE4{٤gv>$ LT3{}͊$b%nwfu ["39>5)Z_Rds-;̮ՊZsC>|+ g#cj"G9qS c^vT<ˆiWv(}k:NiV'Fms)=gL, Dz?9u-e /9h1m^pNN_Q0tWV[G0.!&upuݕ2^lU^6Vq#t+'z=?Sz4@,aykݓP-PFxt^{`kj FHw^I,^S;u?ڪ+5m "0J@Ҍy*$#VJjWبD 2D,ɲoKsڋS["Yghq"~RBs':LEYdolE:'O]A蚶HՊzR[0/1@l6 D@BWIڶh.FZ+O)ffXI[He ^yR.bZ[vyCf W'xY2ju>rqӅzc>XE# Q ҙ@SBehzdoLe۠ںG7c!k^P]/m{ȁn[g2TƦrM4KI\Ҭaʑ!;0CBUw5RrݑA,Yf.t_;H⡄?cU.btY*< bMK7=%7d>]|ƉĺclrkԢ 508#8ǎ]H6HkN,^hP娌ń7Vr)PF=B,!Wr(NP@AV)y~~"a+ۘc&l9W_$P}^?P֑n=)|7v@]6n Y73ܭGrep64(y\X5(ȶ f>:Mms|hOa_.V2|P3ovC n؇*"54@iAlwi> 'S响d2=8"9ۜ)fo@ \y5{Ti6(2g:ǜ ƻh;d`?{S|_9ȐE-FLCjXܼC~`}|G% cF9rNͥѱ\햫Uߠ}=̞%Y2$ekitkc6uJ;U*j,O*RM2팸J,0oq]̐ha5]|80 iRx.UIdƷUjkܼ<֌Yv$phYe;^ouNr#HP`dp&hlB}kDnn9gd:Z.v_=oN%zx?w(W麢fji5 3S@T'qǕ@(㒕j.q2w֏\7@{7?B%%$@HJ{:5j8:wi[FS)l%0_Md[r @g^$im.n6ߛȾ:a9K" 7YՊjnDmdYVYX*VrFX8~8E ZS'K뽳#G:=}o~PTZ˃(qVRzRI+i<>Wz[B@5HJ|Fs9u@+BݚCVf骄㨬0:\hgN:}a?H0>G B lk8啺L-0^6rpcKUZJIp9Npl+Հ9c:y3E[&>DŽ( G@%uW^ed8q^\ Hh( پRF z`Np?& *DᚎyKWwtp[kQM %2#\|~8yQ![\j{ӋcD$rDm.+}V0z<&Θt#o^HU\ OU]aCY 3py2 eNkd׌ ?蚧m悅j,J?ݎma%[4&F(._FgOquOgh{=3^M4es60j[vhܠ =4 &BwxK]Gz?%N>;im)脹:5Q  Jj]D>3AbuXuvl7Yzz$W1۳loE!N zvy;\:2\<8hZ.]<5A>ΦTZgs4i]${j<97XHw\4+elaF-0^"=)̧Oׂac➅}3>̖A<7xj *]K՛ʿ lߘ}gF4١^1=:Z^\ߛZ@DUsSiOӯZ_Hwl7m<6{ 5Xwi|+IB38]#`ݤ}),^sK&PiS]hX%pwAa!ϙs~4/6?7Y~9H6h"=2|8Ky&}NjNz~.R[$4&=haϔ@>Zv/׵!iRFu@pWn7,wׅ|Y4o]SRJor1JM~_{M\J1I lN4qE֡cw>vApgxo\37 d5 rX2,+Ԣ"s_{dk`towV?Zլ|NjV% FJ'SG_'xq5^Fs2wdyhpW[!uu#6z _b[T7\D!xF?!cKWC6!̬ !Q6L7"84?I#Ϡqn VV{4=6T/m:;.wT:KD2Ք0duzn 獛l-#X(L|c7@ޡ^5Q3.,?i} 支_;ft&V`ṧ62g0dך 9 s]{(^gHwzҿ?QS; >IywDgnYeb..'?]Y>!?瓣V׫Oi~&wݾM+̲!E qQ)MC+~2FrEaP!#_glB\oѿ+IY*=Z `SOcаG& jcb|V 2ݯߨ|hbvb :GX8K`]·O61W妈7wnY=#| B90דrg޼8 A2nw׼ilKᦤǕ$S\#F ]1 ăI&5=5{TZ~RHsQ32;.BxRs_cnc.o`7c%,a!7oOii$f[s-CFP,v5rH?]oe!p[YUPvɅy]?<` u/s󺯵PCy]iR5# EUpyA5)w A,C޾[8ek" 8*KP!1 .WlϫTSΥ^\Z}6vf k0 ¢EfFvbү0okS幗SmPp)'fqaC bDa6ER;a ?pQd!VMr:ϻUczwÿe[if1߮(yd8|. (8v!@rGIǵqoG: ;sJ:j+N*D<˽!^v)GAv0 @g>y.vNu[2d~)~B8(nzΤa!f$4lē:FحZZ{w<S3ng桇8`NS6ybr-1&&_5 OB #?DRn}H䭨A@MA8uene-o€!Ќ'JH}IO A9SDž+BoincO_Ȁd6C.:+Z.u>LcfvGIBɕy)Q_~3K|ЦMNqxGcHɒir0TobZ_ۏD4r4}|&e^$tt N)GG`0? H3lS&}68 J4ٔSw;lp6lt˥}Gru+l^ ;*AF=}fc[Vߒힲ{*q-j H/#Amr&7EÅun]B?^X08>|3ŝ>a`w2L j1en^l̖pZ" G0u0?HHۖ$$Z%AE)zYz7h`s\\) x{ԂF$h> l }CJZᜳ}Nqj)j 3]X#h^VyKHK\ -Tؔrfx(FXh}{nlM{jW} L ]dod]]k@@s~bt03𱙵 Ȁ.bbdqAb/!ۮW0#`J1|HGʢY2.cr]md=hͰd|9 D]O2${wS'5^? R>V2LܾV%+NpYhKj8LJ:5 Zoy[/^AY4R+%Ȗ0P-!lrz͆{+v GD6 AnH+!#'4a~!*`Lԓ mr+De vj!Pe2dP9HSz  Ϸ8ʗɂ $a4e" ʝ7|]gqJAJ#%]:Fs}Ʃ'#)p0q|Í^7^MLg؂ EӪy{kPx(=@6CPL:5Udoch7em/025ϟ lM+mY$dc.Qܸyz bd04#x KF22/|=][nDK _7ObOiP<$ӻG3'8b(@6]ڌ-eN3CYj5/j'*ziԲDD׎Så3栌%0!BT3h!(5gleT=N|3 e"~>#ifX#^ǃoN9ׄIbC\ҵFYOP9Fד;87( maI$T2fsw]qz6KAnKL ]nz5hޛ) WF@\ "jp#D{|܂@7rߴ57f aI81X'n볝rhklj5j??'C7KS規ŕ4vC+?=1t3f4gmU!x⪽_Ѧn{N_ | +(9cD~قbFv [G4mOLEthY; uY64'0]sT_ >i>*!"`.t|!:9҃j,oxޮtYCH \r@:\x"CG0$>Ὶ;ұr%JfXl4 ]}.HyuCIzXiCY|p6 .f][~bΥ&Xb ~( c Xә8gSE^]S2mj֛Qwdɖ" =?U)QtZjfS{cG+0A0d< z*e ʜ(ڑPt Tq5;mO-&,=3p{oeIZN~gAܛ//;Kǻ% 'e_b&hB6 K)ʇ{=_5U|sEpj-G-xT9;^cR;=m{qwcKq844kjUZ}Ə+gZC?Vt?{f'nu a(%T~ug] !֬ςlԢ9> #51JP }ѯ~u pn&J!&_]lyai8^IEFvr*|/?dROn׵?zDpOv߇Z|NZ2. Dd߁}WQE䕐Gmbjĥ5Z, >;[p|O7(A&lCGunG_+-"lam}o5F6obqbrXV/(Qݐdb4HHzgֺeZb4),dr45>1;qϸt--0of:;qC;D"&DU ш4N3nlݷ{ϱUeowŬΑJy{Dj1 7UuSBZ>~wco!<?h+mt>骬 :pJ$|i1uE'%'􁉐̧_WL)RSG,Q2GT-JPs;,g_O#;4kKA4QzlqJ t)D1 TQs?ةCȣL@粼omqh'-??;yWjAMHm&#p'& ­Ȯ_OO_ t4hb-s<%^z(5% h:u+H2S3i><7~'UՔgcڱa[Nd>V1m! OSr}uXR:뎱(>6ŗHqXLRaɥ{2JtĆCGS-HNN@eP<0DEİr]!IªѦJJ~Е1pL.d#FPLRMڤenl"3 hU9 pNn{ZE#7#.A{@OG:#+#j84!Bh EQB#?P|KS''NCE]^ wMv*#SNS2!5usgJf?jGD&ʟok3pyOWlӻ;[Edt_mK_! ϓU-9"#>:YSS}R%tiuD;/tJź}eNsV s""nkyږm湆ϯTL9{@vnSIpL@W 8Χgg$MH#^-&K5>g:~󆃳]p.Gf+x Tv.m쫗+=}"k PIm8P>aو:Qs?4,Eli|C{gKt@b}®ԅ{_ۦ\8peO0}Z6SWTKd&k$"Y<Č nɱλ[bCneO|޸_ {vJ4H8@E\Jz@m=9EFaIKs|PuWO)s-۷߱} =.G`ΑB6'v[)OBF}W k$Pݶ+2>^_b^ߞ DCmiT_| tPX+ݸK첖Ò sK?0&X{53O r#S9u=n&~ HΝa:t3Ͱ:Kp BCN_f{^ӆ6HoV5P>: !WԢn3.OY̠@Y+ ,*i4iCR-| clS7a52N)\e8Vn~S_rc?ݻ6_w#r=tҴš^c'DmRjw<O>4`Aoq5HNrY>gn^B>@JJ#ޤ8 3~i4#AhveHMrhH<1yqXD.F6N&N4NqSQU*MsˤpP:S~j6*@]G%\A:̡C',ĘIqB-2ƅ?',9:ZYaxno&jjP*7@i_n ( zPkׯNwdr'u_<=* eQu%hl{h)\h1%#cK9@\RoX̛WH?d0s~S 5!b.ؼrVF|v Z}5]c#Ui@n(4 _!}Ŀ!>އX`$LJh˱8q>Mn_>rklOJM`jZ iPKU1|9ά|[xHq>&[GOrxJm~${}eżn% _bU`{K9嚂# ::Y _Z_D,=߽|; i仵xP\IN=qhJZG@~op5Sy^}k(mW4|PvMyq|m@e_&Uu}k+TMP."f %φNCL{m7\a+Ey/wIxHI4a3y-/ͮ=e5S %/,{mQ_SG; 3麲K9y&z2k(N"wwWp26e\F)WV 5j޳ͺ =omUT_*Lʯ\؛)&|sU>&o>Ζʠ>{`:hm܍r_Q?KZdu-)V~~Z)cDLkj(/l3ݬOT9}ȫ芅<#nE7ow#np6g\:L8 D"tp&oV{CRۭ oQ |WFy$ W_x}&x$uꞽfan! !PVIH:ywEm{zy+lTkJr/vzy!UNmmf қe5rl-flvӒ dm ٫`lʳk ۮ-VWifdێZZ@{u*N:hQVX6Ly2{'{;å*绵XSxw;ADS`` ޺tOKY)o{^z؞-k^{z;qwE]kٶv]nw5Ҳv&@=ӽ9KWZyUwuqtlEõ=+s"@0$H aQT 8 E@ B(/L! ]ۀP@@ϻ绞Ͷfs^ݺk]lp 7w{wwogy޸poz{nxg#Tg8x{ {7lZ5wWyGgx]-Y[ֻIuXC׻׽n;ǻ޷wsۛ 1:df[Z^8WZ{mI'0z*88.& dUmT~a]YLiz s.5i^4$,Ke#jFI&%c$@+N%#` %'=V\E8ÿ\d4A#pfyKr0w\yTF.:ӥ{dT;Ⱥ6(.̐%9,` EsRdIT{CuUtΘ dIc̀8N=4c:@ov٭VHLT [N$J eXve0CWP(X?N>$@{oƥPo3mk:?߹P$G{U `WyD!cn3SwlW2+0wc7ilvwً݊$]RjȱZGS{̮em8ӎ,ܾz"㟠a# 󔋷|)J Rn0A n$C/}3?jF9X09)`\^7Rb}F 킯kHa-@`r ،S|΂*Bag 2jXȯ$@Lvtş Ap-¦>&!h`޲y!f$@$II`H$]$ohBV$SeZ\a)euX1uy .Ca!82>e=YVUl*!TŰ8rM:'J=GRBa  B@ڙd@؇\B! :v@[H  HIQ}~6 T.m`mRA0(aab lRd*jB7s)QSpBrMe\Q2ZR31m4zxG<<> hV \ * a>DiJ']< N-\tYHJj4!\ղ.JV twmg] ybtnۚ8ӫXY|b (JtJ}wìQYtg3t=x %<&- S9%0D˫ݦD|#>P\l.%A{፾3}o$nj-)y*q%sa9]3Zjs!+";^(ce'Tmz)8”KײXnN>qkrnŎ{nXfT'/eG)+`N7뤇,ʞzjr/Nmy\+wb(jz8gl?3WR^\s6J}W}-=EN.<*<6؀[yk|)=YLx\]CxYΞv؎#{w/bˊҍ_܎*Y%mw l=Xv' tKfJU>xX\$c~St0_')- Ħ̕419[)7nt;TZ,CZmaVwڄ5)o)Q9XQ/gkSUC?`3δirI&ӈM6sqA_9S5PJid0uA0%\.v_[Dž9q_b4ĿΜB!7?f}d2 ).~/n?dlnsBF%dlBWuH!hӣ$Ta]zǯ1粔5_IPSuhN|f¢L3&2Cc-=G`>:q܂/Pw $Gf@`k>O %}mH@ !!>)U"4B") VI6L&hb*RTbeaiQlghp<=-6l+JآLAKfxlECVwxSAMU@^`) -($I$K(aƖ\l"I4B"H1`,(0qa:LyIQ<k$oB n^u_g~;Mc!U!2h$eRIKJn_#Ȩ,v6Т') {kCU^}8=qPB %liClk:TOx~H|(+޾"76*yKV4IoW; Y:6އ0"d>niK.hy`m>.'̓FKǯWfݨ~JkwHM#% vO0W~G\" kG@D'"몀 ZWa54\o_O'و݂Y([رZ- 0R(s4Ł]*ags?=ds* D#/+6_I s) 6DafV_JSX%{T"3Ag "2\a<pɪof-db3P! v~,߅uY7bm_i-N0s;JrA&pƖpl㯴y<[TC@6cv#"mXږԗhM.&˿gz~/t(q|h~ eh{jKuXmih) S~W/M0 -LJW?^ŅXpV.&WL70y>!f[{5lv{ ߚ1q5H4(t #Dq=8zpCҲ{r%ZS"6j oy*'?׺ P 'I2Pz}DǎI&JZ' EQk;jÉr*wM4댧 t Ҳaq/W~mthKwvep{!1AC3MHRe9σT:/vUzi;G588{okbTAH "$i.QDA%D A(R`P$"ĒRCb.K b A"KH%$I, tE @:p D$B$" ]%;IvD9pRA霒DEC$! I!P) Y",QfEH$IQdQ2EBH $$Ɋ DtΉA$HAE",( Ȅ`( !"ArBHD(" Hwb"SH I "I2(B("!$J)JbQLP$@DrB% ("QDA1X)%H$A)$8%ICLI X ID! N@NIH!(H$@LHA A@bE D""@$ , Q%$EA!")LK88$ EJgAHSSbI%%( $X$DH 2 $PEH"E %)Y b$&@$HHJD$A9"@Ldb%,PEDJD@E$ I9A;@JDgH$BA22bR!"bA@$Y @$HKbR,d$RA YD $A@rYrɉ@I rIPA$E) QE'I X9rv,D@,RE2IdrE1E $H$H IbfI@IC&ˇI"ŀH%L :r]"D@wwdARHK . B)X$X`RI"JHQE2!"E@Xd\DŐ"B,$2b B$"$D$ALEH$K K% X b$JdA rY$A$$ BDrB)$IA & A0@X$BAAb(A( AĄDBdf@J I$I$A(X QDL#\uSx۹|M-V- dY .;l5[Hc!܍Y߀A@*ADR ѐ,m7vn391$E\f|Rcs,rDQ#vdVVĈɚ0d+y;TFdP5Jx2* zvf ,ejAʋ̣ rDk5%%**I[3P/IsnF7v^u20%E@i-6=&telԊLh9;݂"NldeA7$r'TMVúRn e6ݍyur"EŌʜ3ai.aPSNlQrr37FB1sJc*lAhؘ1E:D3`m {z 5cv#FV##4Dh22/rNFs*ywܕydZW˭|Bcݺ7Q7b0a^ F P'o& DY/Ld64TI1m\ԁrd@;EVN^)BpD-ܡ'lUNEg$m]U 7f;7ȀU$ʺAY3f'˭غ­ B gbWIʨʅk(S90p7h̉ͬn6(V/aArN7HͲ*w up \l0( 032 iӛ96v&F&f&Mr"ͳ9B^Deуs1@mdnܝ5Tf*c&Lɉ0ьSP"n]hff]s&%6p*⍑x&LYʒys|DW Úwv$Fe Y;snIa\9i;6"9S7f*507MYS[12j*lekfbv@"&DUV#$HQ L•j#IڝA1u9\Lg*DḾ&욒"!E%r/9#@Y9B6f23bv LMDL\V0c6FX`]O2'*df큻DFTͼ#gpء \ 3<7uSG*3s*3W_+'/9Dl˓Y3;nIjb9wG]deȣ4jLeQcla"2p7533 L,ӚEȽ]Ʊ;7v\)[{sqtb^nɍrrSKAT(.eF70.ȍy.`L|s]F"^`2T$$.znʮ$e,|c gt2]TnS(Ϋ.A|x]|qP6 c<e=9, aO6Kyp6ajd0 8+C⪀ :WFnj1]7&:&tFFvoPl&&(j6Z竎fCh خ$Mch0Xә[<&2-j)n7 1Ǫoi'41!N^)aMwK`7~boM=Yu7G ^$R(3!FM"PC4J D e0p) ڈd]1Y')ǧ<:7(4C%ױ 4ZϬGSCo})^0M&MꖤhVR}^i{Uw#{V<_ A$*d :!P;@5O-JU)0K8~2 " qfQ HMb%' 89\8 sZS);1H{A(~Cjc*jLQq1@!,C(w8p#!j R*dXᡷ8ْD&,i??Ҩ)x`08LqV&voNAmb%xҾ:U=܅ Rh tk 9[od kq/X8:I8_jB~Xs)7Rai#w'h qحATE!@͖0Rl!9 TUj|0S3oIW& 1+B 7r+d~W%$'l`.vYK%U0a.!&n\acBLڡ Q a(#=AUC x ~Gp[{_k`Fd {G46Y0Q\w. h`*0ԶOX $ٲZ>-y OA'ȋb6 <.E}khZ}F.rY-:!֪_rOͽY)s )^+~=ᵴG%P$({i3Tx X")">wN>֥#韋vԪE{.Z{<*Xf#; '8xobI|c8`ۼHXr:Z.C*gz}YK3;8z'yw[!ud/\kLG'ҡ$W:>l/>nsB? 뺀 ^^ cfC+l ^Aݳ,v1۰ ⟟[;3 &!^cPM80z]_!&h|Pn1Okh-і!qm_"'{̳Bu^G,P:}o5hAB Zq4tyC$l-^/gM>mjt5@ BRn) =֦Hʒ*n'=Mj]$+8euO0kF*o4f²EgF" e ٤"U/=Ē$Ҷ5[yt)ŵ/;ݾ1I;sԭzn%TuT) ^>1Ȑ7% ֽV+>As~1yXKgٮ[n~Λ@Td+NP#bQG .W)$0ͫ"HƈtM[66(f {drgcv\II1K5Y9ec  ڗy}w7rw.jgꁛl({B<*&#x֗W',b)]Oo >GnMrK]/IAkICHqi8vXwLf#2&}=h$ԍ1ĎȃD룡j=ƛZ>@IΖU7OAZ(5i=WDѦ<3ޟ"!_2@T @E)g<]vl~jmXh) aqL4VJi@6el+8nεU1CHd2CFDSޖzoI*H =?9&ZGXAUWp)[)> fGmP?$ica MJȽ?5 62XЋM gb$xFz÷M[Df"45N3 .4lƝ-'g&90;t!D,Xr+2 ~[CyZjR$llPHŏ D82WηM0& [+aq>dk9|Md u,e^ͷŖ"ղWTʼnz0q?@vL04# $F^zBw睰^&ذφjInB-HGKv>G!N]RWM+j;[+eN~]0y[896h~n?<6־1Ia>&Pk/@"}Jو=.{RΔK(>zt^:|aQ 2I0{ˇubYK!Bkz1w`}(_"gyL eSwq[I8?E?eɝZ!:2Wʍe; ܘi1cNKffDI+h%(; ?rs_>$K39 -T"֩-ߏ @>wF-ň4#n!v~-$l<^tyfSC\ "#A{*[znzS[,e&I0p3aCq[o=/<56@E;SOV\\akqN$!ۯXz\7&w7ek&m%<`@^vHKB{wp+չǣUY]҈Nhـܘ8[9V oivbȁZ+f1,M}:7QU`^quozT`^+\mیppXK&:L g#jPмMhRuJuN_%7pֽ!/ayʆcbM?yz~ƋB{Jq0r_mdãXR MKfrJLx ="'Eͤ;8߽PxwȚ}0 HRGflԘU&O@JJٴkJ`Gf Bh)˘0gX %J.e( &R$)BNr-#pnE(i{t:4=`s+f ؅@.p] BϒܱjOwijW DOF3R.uKqK-&kHfb- OL͔g߫p>R1oH tZ6-Dڄt;ijL ,6V8 Lް4!9E#!*H0`~"nmzf{S!L*#^A,JXsեS}uz]/% ֯?+| IЪ:~ꎘAD/[ Uh9 Оy,Y@]]i2KÂ[±̩eI2qck>Q@u_Bו A}NMꑔĘ Oީ^$p#G .>BM@-k԰|:ӛ~"hɹr>I8(RN˂syuNs 7hS8AgaQF=8/XY<WʈSr5A!#* jζu[fW;kx)6*L  g!`@hfď=oDA->PHW'hlT>%wAi؛f gf\WwHב0/cH->дE!Vڳ9_3@DɱZ`Qx(U0˖k@J8eE/;JƤtA9fY~yz~ζr{qK6j0&gYJ k{8Q! d>e F%ek̠N(DЧvs:s?Dp] &q`ea)K I`¤&D O;s~ؤBzYbO {eGXm<|/' /dpG[_d]P8h3qetU\Cm7`>_q?Enk/vT+@.S%4bG- Ks֭yv~+,R7]W-|⁷F>Mgrs#5C?"xQW8]8㑁#kxXmAFLxMřtm?LPmqj_ M"R 29]X|ƕ\H D4&wM_ajpcCE+Ui nTְ%%(DSؚqXF2ug8tsZmPksoG"J)Eͦ˾e4)'>C T`dV]h ! gSaL-θz+XPIcۦ[ ddQ2#__ uV !ЋL-C衬&E0q]o12g2+HT{s봌ȜI!=k8Q< JxA”8-F' ~X{ yyB{)%V6YepM#х f#fg[?@;>'_|e8> l^N&zBnt mۣϦe.[ >vT#GSiy -$Ffʀd a9"aJA?j)/s|P ʕr,`2[8@vc+Yjg Azp*XDw!k4G&+:s o\T7<h8ۻ´cp9;(i\z^6E4f <:}o_M3$D[M{=LjԀH0G`xzv%!鱁GVt L wCf!P}gFT؃Mh$ n;g%$ l!:8 }AQ@q2;d5v HU7+ސ% (,`|ަ;"PrK + ؒVM^kOi `A`KB,N1@PО滤ϢTf@,-O}rmt.lRkʀ <+T"eՈb#Z6Qm'ظn&z*Tm옢ݻ.*teN=q wP`Ȁn[Ⱥ{ceuzz#7PCY Fi]9BLm!-EA'P)ڽ7ccjϞJ1 Ht%:jz$tqRDS{4blF!SԿο{0aj K9^([^-x0Ђ,dVH )RH g|m 1vZGkkwCfo_C(w(U3u|iT  Dkz/?&6\wӎ*Ik1 v ɺ7 B 5i]nżJ79\Knx oBH^H(^#\4`W KtZ_ Ϥk_XmD ̆ ~Z[qE^p1@R\s8P!WP}iG7WmQ|q fu9i}3d#yFwfZ}fGI!(/Fr) ؼ!b @Q 3QM5erm9NL8X^ j<>yđvq  aMui?d|BuF>KX6Ivw2Үy[ ! 0H ĻKU8N,%n6T7*!N;V͹[6Ym0?5^hl!"W\;IRfGݾvӧ&V"ϊi Cd4L9Ӥp @yZXFѠŧ'E4kBbfG.ryr)Tkbz1-V]槓P^sk+!}U)[)kĐgkEW=>LgKygU͊/^=NboĥIqz]r2?ݡ1ٙ5 Abio8 1Igl+h?x y]s;̂Zgw\g`JV8-9/O7s ZLc]Y:[UVHHԳ73"5+`Φw94: ǫ |oND`v@0d4~#C%G!u=0=mI  wa pI N"-6p z\͙f#_V)eb<\hJњ]ԕ.v@KϸK']Cټ{lPH{2_҈u-z#0~܁S&!~fLB݅PQ{!p@zJ[Z |}aJu@7zƢ=>C-NB-LAf=~O < -Ѷ",iicW0~:\KHxx;Af9LF ע̑/Pݨ)L;h)bv=SJjC;_a- ([NlZfkTog2Xiɮ<8}@)B i}q0/YeSm@ BZ>. 4>Cs'3fJ`neNRa8.t s6|/ /"{ X&^XDpckFuQA.%@"4s<` P.Q9H"L~9GJy=^{9"jfyx}a6Doe4ol("-!K!%--CEQR ["%Gm_(Z Qi@3 9r͉ӓ0_BШ!M{g ~ F q \U_:M~N%3(tJWG^asgYt-#f-ǷbO<{kK3zQU8Sdy=`LԜBCH47@OxQ pF_u}M>V 3-~qС$} 9 6,2E GE x;1x]ÜEf@WFA bn(5mR[fnw. s#1Zm"64j`4' ݘrӖVি dw6~ A9vSM>A 1OuDAϰPFiT@Dcnva/(gbJ *gYxsc= s'I,"`ЕdN> aL"=\t@ wF@ D'?gS+{2n@-SLA7vOfVYJTIN lT\n0pKJ=!*5Tf(5K4T>,6"bmې)?0nv۝ 3_b8NK\p~3r3\I3ji#D\bX r~ &U;c||ɫo HK~pA-Z#eEX#PJ"vbE@R)L/֊)EҹgFy?;LDXَﰤ[#,M:"ǵ_ ȁjY].}[*5|Yt^d<'fł,I`,ů2MT-;M᎟HO ,&:>AX=!w-,@qW@9;y֜ :ٖ'ڈ 'aKXĞ6!*p! ٚ<2۵뵉㰓f+PFDG% (ҍƮM?ش>):1PCq|4{iӂqar.1r:V#N(a%o?rC_.b:r1k\kvh:rlB@.f(X]lo>V v-f n]XAjW zBNR.M'МbAQvwr&nDXV̡j#zOO [y4D߼)jm:6Ff<˲/^8?P -ndzNj,V&#! S8\Vt-ك+Z\Af\H8c@Od Jٴ<žq-gdڡo+qvSNa3A?kQU|Fz'"+~_A5ŐjRJ&6@qJ,2ּK]E$xUH޸D9Ds{X6,Ga=H $e,~xE}EaMN)K],6:(jWE`6)l q*؜'8cX^ ͖wLv! b0":Eqv6i`$h{J~SfzgZk S$B{ vy#4 8urz^ڥL\4qN(%QxP]+Ry"[MyC%9%{-w8k| B ls|gC#Xyv($l%'{Hji&@r @$ SvcbM7#&9mv4c;[5/}Q J yiQRܤ<$/=!RRHND.LV_΋a⧤M6)7B!dgeKI^Wޘj[&ϩHtp,y C<@HLoz[@CT%enx '[Jm*ā *+%\ٙ:RFAƶQ?GHlP}ja-(? ;C9BqC L~68jqp~=fj[ VPr52P3._dOBg@>X@![?{hᘇ@xbQ֏} C9f}xvv-&fHVCI$8$BC$HtCIHn C0UOdP!'xy<4BO$ C:ZH}$RC"Hui$;tI $;6I!H|I!d O%N84 h@ ӡ'r:9rkirج/,u(0oz-6ٵ(?N14,twlo}}_-4ŸWQY,/lms zfgz{ =ni Y3W-NPg#>ڷ^+^) }#VdrW9]nzZs݆(_~x1<'IMM^a|xmǑ,)1/ /'HW\#ԟ,JseSWޭ`)UAY @ ޺.y=h}WkShy"?|T]"u0Kk. G~ $\_H~n^a?^Cs .lCKjrק4(ɿ N6sJ&`v?O?}]-ZkJn5ZF쾩UC.}J8!lkPߜKw} yb=s˿xOݸ2|d,mKB#j>rv(}R<ÞBrWhA{Z:v&'Fk6|;O_vpT'TIc5sOί+ǹ!eT^-=[-8џźlhWMR2ΣO 1R `sgxx8d`O,nJ,. ~n.kF 4v B9GT_\_ ɸ)E~$7k(cm~ъslIs9=9mu3uk//Lk۲[\HSTdR.v]eds2+)?wECRǤ:FNe'@;V'|P⌅LķiHUCVdߊcPpw`dQ/hgV@M {#)S\zh=qܟt J&m|!޾?y۠tZ8nATPbQ7Z]Z9;x,Q g,6'"oC:*[*j6߶MD7hEf8'zNeR+%>&)d}?=6o(|k-7ϻzH }M`quL߬mm;M"1 ˋszDn^9 Q !?X3e)}yҰXp\F#; ުyX䧢vyz}3(Y  ߐ}nE*G'Ϯ(&)3usZx-jWW "ޯ= ڬýY+˚NˏУ!S(dA _Uv޾F/IG'^A4}>Lb^F,KXR\nPxufs53V:e9iˊT5Qv*l80$|j8\һMs]vW~'Y #d Az[t ΢|YwRGFo}i7agGvZz<%jCCtٜ{1]x7G_js?z(h}Wz~(㚚2[]j)ʃk;[Q:OާdG}ſf5݁Ƶ>_y IS5_;uTvM=0@rtBcUWt WޞTZoӨHޱ)o$4P5 nǗ:4]Lqxft0]wlt5ᆟ$G`{mH }-U3BNV3c}˨q|e_n)f:AiMlP:rn % o.ݥ7%@$]-bc)W9=̗+,*xZ6פJЄ"r;+xoJ*kG.Z1~bֺwBu"45ަ_SL-15ː@-eƵe$<J/t91^YB{e!xǖwJqgÚm7q7Ō_)x̟˱`=Ǒs9U/^2vk5퇷sX7/oLKP{wjF>f7c_1L8*R导W $]d`;YUTV~l֖҅GrbqI50/Пr- Zir:rcf +@!}J >co3* =hI>us 4fK @-#P 5ۍ ʊ#k^i9{k?-q {G(Z`hXEl\ $u'՞B}s$$HNTZ-emdV/@E#E*QHz^۹HR5oBuyaaN>Om\/ۖ'?𾾣N!4 0+/gn7NӆSv EW[B2EPRHT‹x(Cݷwjo |NCyn]ٚ%Zt9x6x!kz' sD9L%NowJ;B֣P+WVYo6)˹Zp0^[l̩5(ߎT"tTiir~q[TԞb[Z;YmAEӗ"?tXxba_5D{zThy-O[W;ӮNd~/Mb@j-<+:?`ՂG%uܰRITsңŵtoNGg3'mj{ r溪g<%ol=d}t4Ji@rLttܞto+BI3 ~.k)Y,:s-5ujw7{gՓMccd~IVӘսڍ0[x60u3 ˻[]O]k~NIu}'lan^H62Hے~zce7?2]9?{DcqWywd& ?qDfSqaZDž4k%IpHxwch{$3_c+wlJVyo,Ymtߖ=Q,U|˿%XkDb&v>a#lWiY?u2 ;a6 >W펜G-K^Q}2q$܌ූ\׍?;3/edܽ 7R잎k{c8ED"9WHZ !I;,KKר*$er -d4z+G*P~<''?հ{bV~MA4xpEY|``H& ;YϭGbSJEmz<ϛhT-h@Z1BlW<+MZn v(rm7Bg\`,BDY;JCw@ e9_=f]]oq;_ݱ;ę,=^LRxhs3~i nI5Z%q'v!#5EFLē(.R"c8Z2"7 XƿKnz @fߴc/.b~;10<Ԣi`]do_kB㫮%;c識muP~D3- 9P7ekD>*$βz̩ oK iP@7'Dpv}ʉ `\bI|M*_oFŻ-u0|CAULoquNr|~ ;>g=/{TOߍU"K[wW>9x<|gv iz'->jT9,|5Ҟa&Z⇘-S5QVzfUv:<Zx^:WUk@}cw/Z^|c5wcyX%F˽סd^}p*gnr?T/DCɵ :]{ԊG=?#п@P=ܒ}Ȼ\F4F7uqv^HHgn)R1 K>d[\{ Um9ٞ~z] c4v|:WMWq:wFm*}qwĸs 9[^![տI]',܃}$'n\Ax#MȔ+Z[~m9 wdk}qDo(|!SfCXӗ9ȞSu,^7Vua=7ωuXUdbiydܴ[MZmwg[b{zg$ K7/6W5|t1 q[/iL~=3fD{GI~g ^˜jOzF?_O[-yJ\p%{h:N\gYZPxcf Y_l2G4]S'׼WO8\͞bUjr{:-W㍷%bJϾ e=QuܲÿيW+,%>ȶ@?O3zbHސP]deݠ$V3^:X#6N(kޘ>}PY~BIzƫ^cmvm C%[.1٢pz;%'&CI]~3uy^Jʝݟdm=,lOp7)W{89_Oľ ΅b7DH:V18Ў;$zo@_QgG()㞷ƾ2b]{[[YU+WPpf=CA)9f P>Z*6ѠCcWFspow帡x&Qc, M:|%eKD޻W,FL<\ϧ4’i Gm0qN =M; ]?M8>ôhjԠ_=Z325qc{FBtZvZL=l/n"vH͸ީsc4FNmo;GuD*cjr߃K ^k3v]"+ *`ͮtO=񓈿7㕤l]aaa*dh݉7yݗ{~~ΫaGdP/@:&"{iuzmYwhr)Ty+qSTn 5rgz_Bu쁮MkMnq'm]!xv6>V/_ĬF,oщNK9)6f5W 6@&*4<-ϯpmoki4\7I5/`{O+uGqP%eLF̻|vLK} 7Dfuq"v]_NﰷퟙR{8~P#-m`Tub NOˡnM) {Z?02^|Ma$}dfwZK/9\zQn|]. ?k¤{=AwQ5F&fV2 lqB9ֺۜct^855)FsMZА~!h(Tp;݊6+,3m~8ӐocSq|3'e,}Ei:4U-rF?3uAĜû|8mWfFZ{Ĺ`a/t7(Գ( !)f]{.~r/~Wq”1pDkM5V̙0WL0us;8^=0ۯ V"*.= 'м&goQr1q8xM/at=shcmѱ!g{93bZ?r]mu殔x?&^½;2k4 fSwuBowzɱ&Hu ] iH1pe3Y@#Pyۺ=ѽ;sW ĭ9uS:=FٳMe#e,mFS~-Wo~i8sm, B4wIDpn课#?yQ,Kv t>ޏwxd3;L3ΦG AԾAMI2-,-0 ()vrl Cr~ϊ>^?W3)̆]x;δpͤ_~SK#|ak3eXoV)㛽ӏflٸG(->_?:sO#v;ۿՋإn3Gg^cѭzR%2bc呿L*9u^bZz?9E-S7}?&; &;m(8W4 M2jQHc$\oK.sy22k):),q_(!j,c4vW 3hIA;̟Om7j_l]5HD̏h*o -ZhYiRcr;*5}ߥ;l'fCC?b#i>_. {~[sn;4dWkZ78[JK=b]%tE[EdN'rּ)/qл\jyq]3h;t ~ߣqt[BcShy#/kR ڑD)3]z#"BA_sɿvԵW^e_8q s{FaͧXQK)2F-?,}Fļtf*#fx;\wI==3Q3-G[QKAXtV3RƮ.&%wtezS:ӡ{38$Es7oEBѽ3}oWK7շOZy4j;)m|/7~׼ВL>`rvھkU\;\=^ǯ6wU|Vj`wWY |(웶^GUS+_=1|LQc5.Ps2 G7I5}u|_6ZQ OwWai¯CcfnY7Su擙SY _mE/﷠bJ!Zp{a,[*[H}SșmUzb|x0JJ~G7VϜp4a#5[W6]{/}(q=ӽGmj]_YM8㎥kq!:.n "GWxtԢr9.EBHx^C{%Swm!o=R-| /'P5z',.n?H޿[1 xqOl]o9RoY;*wD.uov7 ;;ܺ኷Q{o}'%8o'釾ӥ'&OmӫJb~?[zaװ2[{1Tk,7sn|i/t i)xjfh/Q3#xɽ`"o+ ydžkd9r|~x(B[%WT*eOI4"YZeG{B)|ռp.~Fn80I "uÂv£h$| x2h[SPkQY},  <}'eUħ7C낖yd +B/zZr)Oaړ.F;Η\[4LLMNNmzOxS%>$?'s6zd࣬/G/ >*as*Ӯ3,Vb65wTu|ǽ̋sOeZSL*Q';rDq_gK쳗?-X?L;]6@ :e`iAoc6[:-ќ~:f)%iAF2eBË}Cs<ܒ:K}ksByL:j yyO&4 Z35ƿO6ű =4K_(!W/^dkiPiQT4 !U'CDo4ꌶP sw}(t"cn[&\>k`@}<>}'~hQ6kiXus/Brs}S},zY\FhM w%B}Hfߏˇ;T}[Zg1rGT%@uSmrΓd{EB5x pF|Z{÷~N̚Nob(dFfN]I8@L*414XB@PT&[O L4OeDž8"* sN%hiL}әē@i:sή- ^Y߸ͣ @duУiWV'itx8 5au3!c]g2kqNt.3r"MGGiK?cRRQCiz#WQ {)ZK;\SokNY`¤xŧ!pl5>$j 7Yu64~;yMr-z۔8a(2aϥ̟/ܸ&nx.@ blMe2E~8֌,nrK:}nOIU? ]D4{7/MxILw쬈:jW2^}BĐw5n\->Aj#AjfJ&?cmbAڗI CHO<7SAA}֨g@mc/CxHʘ`n9'+sPMhm'R>"fZAw D騜VźÄ^  n>nu@|/yHr1*f25ʹbF?IPquMsFv=skgȽ4KsVV( Gro00ysu.p>!f z+#3Rh[B6Y e|,pYں$*]&}㌄wR߽oHb$O/Q:&ڛc]+L=tWxԝE/Je'!=)̝&ߧBebԶNxp+i,o^c9_+K?> *N!]innA=dg3:ǧeak]rnCfjv6N HE~ ٲߌI"~lDf?7յb#uMUϗ^KXHm9G"4W᪠+w@Eg뺫K|^U뒆>黋#nzfqq[XW㰯nW{yqUְ_:.cd|r~mWd_M(GEq `yMU-mmiȬb-:Z7Ӽ֗œj׼te$J&Lm~^XXqc~2Y%I6NAnPZti?'!Z&<lûջIwȇwqSzIpZu;'Ԃjjap?V>Bzvy5OSBVazʒ&LT=e ëxK6GupYhRf'H0j)29ι 2DyMd%yB,Ť VG~'&'gq?kp!޺o:O#Ӣ[?eebz},m3 @M__-Cנq-leomT)ݞ߁ %c:ڕ--f(ankg:v6\NO)Z:Vښs?cs- 뾻3]8_t62j3ǿ{=Fʶ.'$oL:yW} Sh(;,wW_?FHMx#\Iާd3}N0SrT>\W b՞.w-_Nv'?/}M?7zޡ鸜VŻ7V*ZtH<-)P1.eYh;qruҍ»wٖƱqtz~<ۖwKw/nL}9_.=/pd3PX oWC6ϯ$gm?VǷXw#K'+qCl5tK>Oȉ5͡NEXZ9sT:;,g2yx6Kr 2"lWR_i- W'T[3ydTzgYõ{D䄟 5tV_- 0K[d{}w fsr.uyNv8矎o?ːBR֧w9_驉X% t?뙾5M5 HCBBI_G~5k;믶 PENI%)?OҖՀ<5d)J Qn+GvuH-Hqh8BĽ)~zuGǹ2IQk xsZPq1PXx:r 0Q}w}( (p8pG*p 8骅ZǬ@ `B6cE)x ; X`'뒌?gؘe<.%sfJ'keގsLdU[z} X!Z.V|n(<!̲vT!wNV OIwb|Dܤ"3n*bs݄@]>р`mGe $2g337ZCsk' r;( A Im^(ROOlbgcXJ׌ nߪ|]Ѯrx$^-Β)0* nҭ6ȨsPG,aw۴R4C7i&)b-,_,엻 nzIQ[#z]V_}iZSq]_v [BB!  ;I*2 I&ƥi[nV0A'FΐӬ3st얔2FiMp]@e2rؿ_WOw^'&7k JWW|ejA19+y u4`$E׎ };)ƒ\O21_DXgM(" *~M|L뢫N^tZ% d8~ыZĦLjGy##8#ӝа.uYrm?QtP]g$s9`׾;9spD$ێ7js۪UC}ĴC++l:&M>&%qJOnUTےK _o'I:X&pOU5-ņק ͋y퀾IfHT R5N94^. #(h5Rt)EqEPWZEG{$@szv?( dM*Qjsҡ7I ;O|%}?}SRjM~$W< pe`}<:N}? "#,3!ga˅4@׳ M.'_5 =0zC!=uTWmiBY ! jCP? 8P5!TcW`u_lMQ>~mX~oSkq \:JJdEdi)f!pL^kY JٚrdĊ] b2҆2DlN`}h-hLz[i'Jc"seDla /jOO=uª社j5X}ltpRS稌@(ZP?R_M%/7NnbV n&BKt(j DGc2ah\(}lReq^Նqo%+qi5>wlN:f t~ieWI^P]Sim -u< IW PKp-hIQt tkH:UYZNV r6U5q xD_k>/JօEDj,Rém1v{*!Aq{@mY!BľH."blU&+ѝDBܧ`aΈ}cSz`L ҽEɃ~h9K|q&a_?6=@4]HFN6ꀣ}TGWFʪ)6mZΨ@Pxͺ2u4~U7nѳHU7BΘ,$ O3o[cO8*vCѵW 2RW1=2E_^&*z_<.*M -p4ưV~D@?ۧdBLҍWy]'mu0[,m"䷓=m9g;E{fO>ZQ:z2+4.gtoˬ2?$D6`$pJ'IwjCf/)te& .`罋zo3Yw ۏB BWSBn8fZ u[8}! a: dUUfMG̜x_-x{^e-FԌ DU827``5.v4 JiSpBxYlbWX,g5x`¯*L =]Dٽ]2F Kz5̈́4 aJ`<:§-5>1j*4`i +w3߽{r{)8?C*?S|'f6!p6P;a~X:l/40 \_mVz >- ̽?#QՅOsJ֬0u]+~*F.)4p}U*)rccT" _.S}֔/&^gDlPb1UJ &iDT<ɺM4KKRQߢy{hM5 @8v:WW q(Q!hi= <H&W6Mal1!?Knyґ4 +sWzٶhdHhx?e(h D Fp Y%L 6%>w--Nʏ/W2򭆺Ҽ.F_kYT 5@XIݲʄMqCHH B~&@'z1-BMu OBBMHxS$B4$ ВqiXX~7qIa6l M?I:LBC}$'z 2I1J$>R ddIfP=8$ M4Bd@n v >:k&IEm?ǧK]U<vq]a֚\ǼORcDC/^ѸGtϮݸR@"lﻗ-h y;K\_N뉥J#_utr$(@ˆnw`6G>Ŗ4lbQit;MtGԦ:Hf1 2ғ2bh-} &id `%z]MA! O$$,B@ jHP ! Ԥ &+!$ Cd $) Ҥ!1!2H̲@!'S#k٨˞ܗï[^ ^Pud-u MG{pp)'|;kiT.`"|EČBgȢ8Q&8 C3 zM݀I-C<_| fSffԚ}FR|U'' ۰PAnEOwX]M꼯% +`e܆XaUrIiszkSQ8QއipZh*Y൬naVKM5A2,ҐyZ-.:?~b=|?:߭v13$spI&_|eW(yW&3WBWPoo:8 yZ6aVKlJ @$ʓ#,Jnω(_{`nZ,ZzI2ϣ5ź[ߛQbcv[s; }d%5@~+?Cb;i?RԢXbzs`jIe0r$ت J!X嶮h HA-Ij687ݟ 58ePrRk9>N\jN[\msN%)<~S<}I_60~ q}[dێCB[}#_v[|QZ?N,Ow;v4 mw&Jy92Wa00e+S]_<{Z O& g a&yBPl5|T-ݭè=ӢO}Z9zNgok~g}Tw9V 0ԈdntNu`RL \`q9}I{>E<)A?k*;_a3^ /CNg'; qluY OG@ гQsXЇՋ Ũe1D`$ڱ5Tr ?z3\A:6e h~/ MW}}OC9S޷Zcߎ]9repo߹?fC[3KH5)۵359&hlx%r( ʀo׻isc d&bv- ġShv#H1yp_ ~z( ˒0sG39dKb0c `-ziج[ aT~uh}Ə38k#^L1Pٙ6DqT : AkσILL_'kR']-F@O S[< *ΓGm.}0l-xJ+/;G5+U¼on:]Y]y&< IK:< K# H]@{5Zxp W%O+ wB]_OI=2 HoE>gJJT ,`Df<)&'(h,Zb>CBd0E p nbŽM˲qT|OU+jo_8H"xt틡ߠ)!Ammbq%3$e=×\7yY6&+ccfu*05h,LM7{peB_ŏ)5c-jϭ$\,DEKWJ@|kxPF7UU&v@Y %9$?9::I[?Uehk7L?0FXh q:KZk䲿z%q/!_bIDE e29Qa*:.ԎôG僻 VKպC`֭5E۞q A\faBNq2ە#$d)X0W#6y=b{96%G5==\>݃/4%pl`#"!9r#Hg|dv|_ϸ|\\d_X=H*VH*RpYQOdm=,dc]4e4nj )+zv$V| ܏ҿLi2duAdo,`oY{Bp='l-3]&ڗ7yS}WXwuWUMg-B !`10|J>"D#ƀH- Cgc8A k\9c[(t|_ <ټ塷Kk40u 9^3xP$$4EG \hA$~z ag=i@!- v,uzD$kh忻SHiXKKF Ik:5#|>2F`@1+Lt]J5pX'u1-'qxSEMYBIz]uG}<&aSg2ol. AzM/fte{ .j)QЖ .vˁWsR'LT X%h{GMrL:ŪgsIWܾ|,kjjxw˓;˽?u=2jal\lA`H<] (6'L_%̎TCxXڈ>c2Hٿ9N*fLBcDH$0u}:AgWw(ϿBTI7tZU0.;B΀veN5YB?#5*|e%n|$3ˋ (DIJp ~/$%&)k_rއS(L)Ry?;Z)AIw+ M>JucoșmܙyphMn-6t/>׶DdXX{K./ﰡ94=B|B-gAl:\0=b62. |z`,H>K:u\Z-:KO|DoeYoƱX 1ϸW2u5k^"Â;u@[Y؇oCKa%;V~J~ lk ŗ=A|*P\'^_oMˠ40H[qΉL h?ys>FXA7^NyT{CpMQL?P-Qzjƅ[:^(b.OYJp3\s6ںx&"hQ`?՝(W bi\8%t0r%! %  oR^meO}DE莥˅qV?28@a/qWĩZ}w7ff@`M0`կBHH>"Fe}`1=m/Q90;s~6\/@4*˔XB _!"k 3IK@ TPXEټ:P/0F]WHHTy"F:Ԋc,[(@:)j7ک6W8eՄ)1Hsp3|0Y[;{w .% , PD~0cʧL#abYlV**?DHE"a :Tk)NUiB*] jpL;"'2UI1jL7DݰGյˁ G׎LQ5 Ը!b]w]ۯ_j2*'E&6|t:Ɔg H_h)mXC%MEIz)qe"ܡ@:vߢ[ζEO=̙xtPb~bںOՙg>#}}˭їY:pޓ+B״YS,%Иc^̤ubwNW9f>duZ}ߘe`lr^ 3z={1 ,XǗx|)do4 zـ?G .Z&w; 5KZ b [LCCʘ S\G+럕^av+5$T7^1a,-q0?hBpu"6 ,iI0hX G6]2s*{jN96=4g|-ak mu58dD .9OrF.FK/xnsm2)lMʽLE\z@ɾ-æioX"=\*_`T,)^{A"TPY1id꩔ mX-/S䒐9E@ `S3Pq?']sgQj}Þ%=}x6?0QpYMGec< LW_* {H vfe|{,̨-s짺ћ"]DݰŁ4,,D cm(am6)aA@vOZi†9IO x ,!%r]al.֫}-'t thst`cjm=Ο D3/L~+Tyһ:H?[ 6e]GK>:쫎l_½ h"A~]-~jx r)T$1I 2>KZNq./ם[(|\?@D r2A sZ QN ƛm8U6Ty:hG>5xuYWeHD[߱H*nݙ2wFO @p~o[v_-CWV#^VG7ρ )쥩XEXgaP%5BVʭ$)fP A&g*"Y7[.O}S?:OchT6؉'$Ȭ2^ӛzyxpDZ,ta[ףQMS)'0Qf1%1")Qz N e_̊dWIDAhP#{Zzxh5J u*Yƹ ,/Nܸ%IhT օ^E;0~5j/G Xif\%''=%xl#-3Oʐ|>nojN͹ T}V85)Auދ#jq]^÷dpǮݕU,5M!rn{&=?~D9H޳@Dq;lۦjʗY, IXz ݌y/G2vUx8iglm5 )x FŠW0W_k{}:,E8kWՊlf4 ٜau8#q+2;敾R]8[0XavN54/8tŖ{}z_;|Ef%-H!Lk@ <^z,Y~yٸa/%Е2T7՘_[-/0?V6Q;iGίCuzYŁ3q"Ҕ0Nf,#45j[SWH)=xԎx$:'u?5 am,{s9*LP e֌3! vaICܩHhD@xS| l'F]҉F`;P(M/<,.~WRIck`×d'v֞)Պ&c7U=7:;-pImX(goD)ZGI7EU/eC_yy),MOx8?ؠ#prVnYLߨe}?0 N J1$sү~ZSOgy"^! AFGv ׎iktܻ?i`y bC~,(Nz. }BӚ;i)7;Tdd͢nrip Mjs%s7=ETd,3fpmC,tW7P?z=`9: ,_Nx@H<:1mF3HgME+5l1wovLl ջ*ϸ~ITLG|s)mTZHYG*6h}X 5q :׏s Y7u%Ζl#Ѐ$\-*vȨZ:rTSq=l)#dMܨ;W fk>OۋfSX zL'h O2E1v%5xR>DM_~N| ;@SR} s)yqu1+|ք.D5BݲƏzIهYԸ+@_'7Xn.\TG2L7K䪱Imj þUcLLRɡ0{]#}c%2Tk&+Vn ]*ϒ`(Hmu, $aVUd[<'%Ǯ{^G[<Zegoҷ勦3WW*Y(v7T?'R*|hCPmmP$pFC6J)L zIֹ0hc]^D9' rp% [ <G[zt'w WڧUi2RS%UG;̬-Rֱ(>)yY C߸9ip*&[!NU6\t̾L\С ީ8Mn#4%2Ԙ~ }QKJf'SN\oZCZV 1\x$rHcѓN=2ϝM~ﴷcu,~VoW[4黝|k{]1smgW}K]O". >u`'}wjcؘ!]tc,am7'YFft68LDJ@cMr."IRYЩևx{K.SA<t- Mh\$.RLEG%M49G [r3JB9tHr LK3cg9@ A%g|BA5 .4*%4 F*SESS{~>-s`9Hd"Z9Q_O6b yy1SD<%+I%UO[S {(TLE)vB4TA5jA1G"K0O8X1I$ %!Q̤r231$r9Ru4*SA-!x*SLGЩL#MhTTA5y0YQ1̜I,G2I%ff$b@@r&R1s0H @$lUkju,&BZ ;H}MơRVr9YFfbIbpi 9 E$Dr {1Z,#31$D@ZIbgiqH\G Xzjq- .4*'ukt5 ѣ|h A%!sI$#arxI!(2yI$9&9r.$[rZ)SB4qS #rmЩք&.w{&*muLr.ilrsINfb2]9H@9{sm9Qɘ:̌R57(\A4]rgi4*SA-MLqmη4LrJFO"-%f8M8Er%%K0) .b-(Igd1jtTuA5 Jh)Z50Щ Щd:*[Tr9b@(֠9H9"rH @ r3)$ K1G i-jZT YS - jhB~߬U=X]AZ)_zԽ,R]r״oK64^w>{t~O޼*|WC!"un:*}74RC i!{|LW.݈K&ŲRt)0Et/||Q.FYVtZ#9X_C %+cCmi4}[*eBٗfX,+W̜緟L^}C_3so]^}{3D{d~C>x{7ot_{Y1ixCeCo,R HCgP6IET*Q0*{V)+;$ͺIecY]itvn3>|/x){v{G,ٿ<ߟ qf+g?!O|||:JÑ;oA~c^Wvs$@sMמFK~_egh^9ͷ/woX {;|︯?Fl/<X^?JKS9י by! 7>/5nϴYB4-uX9pu ?A<L;4 Vל}$h~Miue7vfB4?ҲӧŋmJfL #Κ<̟|}[^=~;c'~m:y_~~gX~Nۤkyj]}Z2I-@Lr%w)ҬQc@JB9tK6ܝ;HREJA4\r hThC7И{ߖSFޮ#'9I%ffnr &r'1$JB9tHsb%ZK3I+u#oyAMahB&BZ אWPPK~ÑwwER1Ȼi$y f(-$ w|ZI DR֬F4{…Jh=+]hT&׼^]^vxЩ]usو$QZJr ,b #+E9i$33IHfTr3)$Ē2]i"4DL[FKp FTESv><+r { ŕ̞s' KpL@$s*9YFfbIf(-$ H\E\ˮ1R52Щ֑.SL#ƅJh=8+ԟ[+f9e6ڎFe6sX i 9 fRI &9,ɈsJKO2NZխPMSB4 F Щn3RHd" R1ȻC&8 +؉'@s bcLfg9ZTA%!@q 5/X-hThTδE)vB4*wr5QhG H$69 Ifs$V+ycmA'\IjIf(-$lT<:-W)TtER%;<Lѩ׾W{LTRE0 ]\"Ixg$.cvm+KO9VZH@%bKr6J*jGЩMѩ(\hTA4]rgik`/o{8Dtk$vP{¡ʍZiÄ:Yb]lлt}P2eRrt kʰȈbpҦnt8bٕh5dG{1|X]~j-5Bnu}}nuRfL:ɛ*뫽.4y؆9EYV9TLUT2vln]w\쪵Cg^ 7yřJl#] tw}> )pSgވ_,_?nO᾿Ǵwo2KMSׇ=o{7:_Poy_~Z{- ݮ5$KI~ T"4\jb ה??*GT~{Ov<vOq6r״Ψ:F_Mw{-Zy?SO=BEzHcIH\"JH @$c0ZH9%y RTBh*SA4yNMѩHMNEŤ<50wX@Lr%{̤b#f6 " &r3HcDr.jHG%$ֺr)Hh&.SL#TReX1\ce dfs3'[`Kb9tHs-9 m9$0 ]rH)7DphԃR8jJh&)R50Щ)dju׺{4NrSd"mAb@@r R"yX.yI$RI,#31$GQjw9$ pL@ bʌs&1$ O 9I,#31$rsI r )D3d\iԷдTz8NJc1 sL n갰AbRmˀD nﲫHQ AH) $+ $D AH)m 4"R AH"l꯾VޑRGЩՖL4*Bh*uZS;Hqi^V`YH) AHAˮ*a$)!m(AH)H[mم}!jAH) ) me\B䂐D D ueM !B AoAH"Z(ŀ) !m}q lhR Am_]q DD R Am RmUwe AR A e߂ԶhB4#(\RMJh&G;^z!9B AH)a.d ۂ+쨴 AY ]tAH) $$Am D! $)m}ـR AH1"lo,  AV@R AH7]}wUVHD ˈ\R AR AH7]uU(! R D AH) m}1Xx/iOQ|wΚ)Z50Щ NG'ږ!&y]BQR AmVYq R AH"X [m}uq R Am]i $D K/n"B AH"D]}i $D ) ]/B E$R AH"mmRR UXXVۀB AH) n,,*븅 BLLG"f91Ȓ[:HMIA4]3U3ΡREJGo{h\{LLG"f9tBB fWqr@n $!e $0`+$) DU}]R AH"R A,﮻^RRm, D AH%}].H"X,H)o븅I ,)B AH67}BԂD mQ mﶺpAH) A3oEuz*V Щ)MSB4 F!4_xgK~{jן{cs߯eUX [RY-rܪ%`0ݳW^Ãm;C(IQ]<BNn ʲn\Ye^gI°9/K#{dvIg₌3,)m#nFI7;>6`ƣU\])]vqHˮiT*TKJ=}J^yKOlgPbR !TW땔 dҪlURe({D{m,YwU?<~K'[޿/>~d+wk7k#?cԽLSoto@! dؕRYcUΠsWQFK$oq-Yef3>o~ϋmnӯ: Tq;*i,ȴW2&]pneMβQG?kcun>Vvh$k_1fz'ʽk_0Se+/GᄄLu]lݮ̥:чھIȝޚ{zsDN{)EgE>;-ʦI>]̺n~•읦nu16Ut@EԤz{(G*>|WK th*t= jZ1oq.5=v4r4+jKKY iSnElZUv]|WaBOA=%ӗ-0F͒2so,_!\˙ES,*8 ;ϣ1K9%SN#XtyC{/ܾ;aϰ{_j}۟#mכ? ǍK0 4D!B AH)H`}//E ) ,m_}Yq R AR AH)o,ۂ AH) )뮾* AH"R AHWB+}Yq AH) Am_}UD AH))a (E ! eaaaaWy BP! mگ,R AH"D \r@*ahcr.йM3)Әg!|}iL!ZAH"D p_eMB AH)B u}}`!DRR AmC(B !}w]R AR A,/p^D D cq R AH"QH AH%}eB ") 7]uU(R AH"R AH5K0RmQ $-o΋MD3(Z5-* -eJh&L[F +Rr0$D Aá $+mnAP !뮺﮼RR }wLYiB AH)  m_}Yq AH) AH)닯ʭ!A"R AH"k}`) * B[m}y B ") !m]eWe Rm}].H)B AH) mþ[mQ6etSBn- h&F=vr20] S~ AH) Ap_ˈ\D AH) a PPЅ A,{ȎIl91șDr% )m$"R AH"Bm뮻H\! !B }q AA`E ]}Ym uQ AH7]uD R u_}[uaR .֜;T5)z*V ЩM״vGȘDpR A!]uXUy A! m_}YeD ,mo\R A$(R AH6}i (R AH) }Yq A(D n믾B AH)Bʯ븂R AdAH6Ye}y R Ammm\R AH"G"f91șD'[ǯEKlO B4b5)`Z2- h&R vA]r.bg<@O"Wf9Y@(-$ A%!Tr3)iy֊JDG{*gz.ޜ;HREU-uji'k֊Fr33K O i 9I69B9tHpLDIK/b2cYFfbII8&f-R {nh*SA4a[f z*CkjStQF攀O ) ]JҮpL@$7l Ifs@ A%br-$ E$Y&)1Rp-0ThTA;E7)v4*S]kC/|B#}oSQZJ@ ,1,WwEDٞDR1ȻC ,C-K.SL#h W-JA4Z)ѩKƓjSZ:NAdK"9m33IHfTsf XsZA&@r , bp&"0JH4R5M9s EHmhTA4]rgne=nQg6-g[q SIv<g RZ~g}x}S"^SP2\V|gm/-./u}gO;^N/)1)wb{bߞo3ƮQY=c?>?JmsFP~~߱x+{s7ͮ {Jϣ)l33gt[K~[2BNy~<7ܟ׿y}o] }vk߾o~}۽_'o-e X]qcm:7g~=Kc޺뵒NWHC DH" 3AQh?RZ~r m/6A@CEC;eȻ*I33h~#ª`6ՈDc,SL$!e(k󉿚IEhaSeepfͣ^xEbKq [?;*̶szBl=]'iQD}#?i>;ػ'޺#zIO|Z>bg.0c3kjz؍Vr [)f(N6 l&Kb眹KPI]r'2K9̴ @JUSMmyM hTu!4Z:^Ouۦi9R'&9R *̤r33K8'%(.cwI$bЩz&B55M-hmMS_-?*RcQ< ۍ2yI$9ij%G sVfs@JR.c1tHr LK3cg9%-ZjxۢBZ ;H4*Jt/]ڝ;VB-bTE@'PE$@a@-$ uݫr4$"6wuQ<''{t *9 m#319s06'c̨fSm2֗e7);H)Щz&N4F)R[R.WP9@z޶@Q$i9l> 'dA%ۏݨ:0&XYMozJ83_ޕ$݇ eʼI+t=]Y[Qne<_|`1dIо'̟8ݺM>mjVi.) { SyWm55YnZ͙B ,T\UL縺˦㷵^OjϝS^km?s{j__t_sJʓ&²1zb.{ݗKoMS[{ ߟL?%w6V}~zmKWME8Jo֗MmW*y]K;:W}Mw~^~Xb|]~oz3\3{^^wZǢmכfu;.{>y/z?[v};-ҥyw:}{/L^*ݾMeܱIyg=Dinʗ+KUKg~|S^lsVNc_?+|,2vh#4RQAVYd5oNjpB{Su/00p2~*h( XZGuwԜYdi֔IÈ365 :lwNZj2-#;bGt2 > Q!76?~ӿg3X<g;{~|C">͡%pa0a{-4Ub)TQ$%$+sGﯳaOnԴmffcm31$%I$]ۆI$mm)UhԦ4*^ ЩMъh;ixۮySWwpI$$݆I$ۆ`mfcmI$l$խJibH7E)v4*7n^$$i-02s1$ )f $ff66G[.йM3)WIЩz&P*SA4b+=TLԎ+$wwm&-lI- IIm wvm QzB54b)vCnd-h\ܸ_b=ƚff6$$313I-p.yz6ʍyFcm$޻Inj'EIl&.SNNBZgiSB4 F_?B;ߞjZSx$6&cI-I*97qr.m7NRa'R7!͒@Ip*F3k,3[:]A_M9n:E4=&Y JM0s굍b PvW,])}<>EJ')|_y>=__k>uʞl땟Jsv}m_ܭ~ߑS_.>]ǭ ~$7rg@V\vy 0?R^W{yqZzmYUtLY[!qnd2΄ (jm' ~' sٚ}oފ)Q+HVֶz0u#.jwegkw[uwtGnk_{#֢t_#x;M{?{?_^7]@u!48hQU/L:9d̊Z7v;?V79^$;?_>v~ssks/,oMcor!e\,{C3zzv2VvcKs;qnSj{EJx7hbIm}K b+EVUT, F~A-ow liǏf^-g;W%hy=v|=eBXҾ YAl #XS'4"m4%&2l{6ԸMYFV!˓_Ng C|ۊN@M)ˮ8(,.pMeUڤdqUO1-]<W;S-1Tyzz+^wx׸~36_NC{k|fPMJkJդ{]^)/v'm֙KzwᔢWJS^?7~?{i+ Ϲ^W{՜_x{^^XǒN{7zQH^AoqҧX<ξ|W]Xu#{ypw*]=R-+ɫS-*JNȮC9n?f={}^mC-Ts=^X]_uMy]^V`i~^y<>rbiھW'}2kv)VWHUV"=6vg-ܹQ,MGu|cNIVB m)v+/MbWՕJd:ɻ }+Z91*4۩Te`\M-i˫ p}why|r@|X͇_x$0 ,,-SIE:UE[yKe䟽l_j:ͷc+^wϳ'';Z]7tn{yRJ"1>_Ju>Η{/dBmywEmesKQ©%e#';1$YmO9[dڼc`\2'k#ΡItTh@iyM -?TMW^5;RN` KmfTr3)<ImJFwQ˞Edr1rRm r $TFLs2mRgiSB*BhfU օNF)v<+w:Ԥ(r$nuȌm#ww[ۘm r $&dmdG"mZUH:F)vCndQhB4<}ҩu 12 Lpmn9yFcm yQȹ̆ccI%  Hwt{viyM -rѩ%Щ֨&)oy]Bm m@pczb d6I--DI-Ȁ9Flw^5cPlVMB&B4ԷZ5=k琤&@ A ^Tr3+mj9ۻfPm'3I-dladKaG#2R! 3F&R[ mnb5n0I }OzF{W<}uRtgnFUΘ2X\+d0t] )\Iuɘ],mw,ezLi3cܿYTITǸoK_/7? sfף<#|ׂ:2ItHk3~?wUw5޹'wX`nu9eJpC޹7osƲ&Jv}itLMnv/_?*>G~ߙcue}w}wb}{d~ko=5゚WMƅ ^ԏy] U%/Mg~)~ݿn?kQJ/=Hl%$ǖo_?G'w.{FϿe%^Wz&_t~->Xϓf|a7xgg.k3g̴*Q SsPW2U|?)%%)? )KX(2~S?Tɉvt31uTN' tܭuG&mȋV|ˊ~Nk2='/hq);A:ftE4_W<2BkcYK2(fW+Unݫ^p 'dfXD쬒bρw_UߗczGj9[tLDZwMO9[v̞f;x$KaG#&ml7w[\e6'I-)+iS M2SB5.TA5VrWiq`r *9]>*AN4]rgiSB4$ xv󸐎׃z'ʽiy[}YTH $\3 -.퐟f/ʬ[ 0WlBj=ݦӤfV*-e{zҐ[HCoMQ, *V70WP`YӅ{)9eTl-] ɤ*(t`[[}^[-t`.V2\}[wO~f5L+;o ;>|ߡ?5<0^A7eay=\{wk^&ύog~>.V4,O4epA-.C" [j{!N/v|WۭdǙ.77߸.|ygق:>&]6=ś{{UЫYI'laU?w}>Ʈg1P/ܟ3>gNiXLg$v /+><[T]{V{/?'辵lڣFOw/}t|W{SKM6ϙ7w>f~7z_jA&n&95MdFdz i [mc$IA%򣑙Xlpӽ2yMذLThB&BZ 3)mʘ}!-L͖r [*9l0 -͎@lr$G #1[싔:O)ThBTf.J[&*WPCS*96ɘIm9 O9͎@ ld @;r.&cI%Urgi)ZS - h&.5o{LTzBe6I [yRD?Z*9ɘᘙImo"M [r`r [򣑙ɘIm̂Tf:^R{К.йM2սb)Z50Щ ԭCD`dr /e7miD[*9ɘdb@m<Ko3697ōSq"@U}}_a#&d8cuN`\ Ak< đ! 0qOL,;A17 YeĖ[PC)pFyMשg [_TRϗ=.$o|֝ +5z~{V6; tnwP>q@n SKN;'sm!+z[NV;.kgz6 ?e#TA@+iŌvgC75C${f;aw :1@gm$Ӄ$8K~[SrG_愤'X=cVܤh۳Rgwy* e0X*Hf%TBx-#r`\ƅtr]{$ Yr m5j[?z" RTxyLIʔ =>i".mZRN ڰ;*';cFq~/-<$ Ro1֜ªhKKAv7cK@b >ݡ 0q5[/'0;wGɕ.Cwm} 9F4vdbOivCWtaa{);.YO}l !x$+f< B1 6m)4U"I(f&FG7&1{CE6O$a6=ټzc[ IQ(xiSJM?X9Qޫ} =]fۚopTDJ L\Duk~*)A"+[3֍׮.rKWGGFIܓ;iOPz_w:'+LgD QCDq;ƍZ.ӟ1T[1 qX&_/E{}⾷ƂVRpLߣuvTqNrFVu]]ve!&)DZ8 )G|1AP# 1<%S)mH` ߮h\eUCIRA ߡ}C-'i;OHqSw#ģRXv?*~ҵJ[l‘%K R,;*7# ut )facft'uZ!DoI?U4ѝm!Af &V&ъK]|{*Ncs?_$9Ŋ8| -,uֳ*&LGt ?;($X›Ϛq,׊Ns77%G YRhiQw[x4NW)-2B-tSdv>TdXݘ uێa'%GsG䟙VYq_D+iHIő!! I6l8렟 oi$2mԁ2EW'Fn5S#`IWp@@b$Wƹ5H[$h?p'4Ū.^Z_CPjs{HgB+bz4мiNm))?:o\^JbX{ƝzPFYVcjij RD(AO:րě_cۿqWkJPg!X=MֺKnQli0:w/? df3! ,X-=0P缔)ӨpXU*V}6Ne%Z  v;fP3N[ӑyE0"ʡr>CgÌ@B>D!dCto~~5=xTWA% _I)ԉpzv_b8wɧ62fBf%R?י]K# Ϸ՜owsox-a=̽*^Te4V)wL%E; ǘ6*VM2*=Vݬxyg}gWHdV*BaI9c>jP\B+Fjct#c2obK,P'Xb/0hBS`-#aE\:ߗz=Um+Ai8xle U+t6+I8cF&R $@@1<66{|2utrYi܊ pyȜI|BkV` Y+,Gj2N;я ;p^^Wio|_ m)p 1ueƫ@9Y.oȪt  ?8Ojwy}J>8uwT#8pb](p@o A#-Pà [ :V? WO2X͖WbQgH&؛5÷—ՕgEH:[j$9`ga/IEBJ{ª*eJec1V..]mCp7Osf$>.2YbQlxKʋU?:AC!$8A˿Cw-z:je;EF̀ -ݘ~Q`Bs询6ؖǦ((O!n޹<JU<}  B*pq!ȷp^c +V[O2t4>aIܨSOT76[Æ/IcU 9Xͤl5T C螉z'7_3yc v.. a5ዽ +r65cxCfR V ]1oF>5!݇@~iF+ Zѥ b5by8rGzh PprF{lәO4VisNi ^(@>% 8b L@F'b Fq18ph /Ès3Ct#:`N<~)v_̈!_`#E%tbD_b/Pи*h/(&P=V&>ONH?$'䀶W;!/ *b~eAzGa|6F0t:FCVHPI$NuOЪ:øxl`?d HHLQ0BѮq Y!0sFHԍa yfaXB0w&6C08ܖ3:Aћ0Aqx0C a<10c {?DPĔb AU= GEP|Q'rQ q~ ECA~/E4¬HI<#]2 R ~+E5@0B aV6gu-SD~*o1: YA<966^kOoPݖ^*[ $\ˇSJBy.Ls(ǎ^p>0;.Iw؃t%{M2cr1OosV^jKp$ږ}$QWc-'kb{TⶂQ7`k,`gfkqHk)Z'_ xY1bJ(JƧ (20DVIvQ` ZA` o C8'(e0hpp~P&xϛndݸ1C361Ҙo1ۘp{c7;c8:GLlc1õ9àcV6? 6cG^f o&gq7#3z# a8-xs-(Chkal:w[θt۶;x! !@L44 @Ѡho!aj #6@yQ0P{Bga'@\I6Px}ۉ}~L:Z^4Kڱk-48b5HGgYl6yZ<1DIĪ!FM+l_}) FOz7\n6x#(Mf@kڻgxQ'@TF˧֨i{t` >lKN;Io#N"B^*}"Hs'KRJ/(PKA44p:cLhLizi4cLi+Lng՞8#s7}b^ކzv.8}2C4/=b1x;"^ x/໻.߄qvEܯhM /qB_.IAB t.J /@%E S"}D(7"\qZ"1R1@|UIRc <*賆uX"fQU_P21B[T>1foQ~ HOeN ș$D*!,`v=0mUXldn05[R Yh%JR2Z& d7.@R6߶]Igk,s'v&;'\@F#l|™" ĉ}|lIa_ࡵǏwr͜t29ewQ0R5/}>;;?af9ԪV*\9NDXphd@/z#Md:y$ľE On)3 a Q$. qmͽ㿪_$H~ό4ڝȝz&z9t8]M!`ҚSK.nEȹp-ð r(`!\@Ah܋rG\+.3r"ALyGwDh7FH&u=8n-ŸG}EM an3A@4 Eb^p[AO. Eۋqn#Ő3"J n-zX0&IZu(?6gKs3ݹ>=&P ~'7i/K|v;QF+r]aC{UY{ZPVa)<r&e("? U5MO?%BЏb _烃 ʷИ1F<ǥ~ϗ,b4 /cÃ:kWz8!T]( =$DE¶nр5 rRa {6H`kЯz=ؐ{oq08HPEt8A8K#M6lZ2*.(C( QbQ<CF 34bQ1qeqp~DOK@!1?~,bዊ`CbQ%d.& Y aMb1bb A:11b r1Y !T,xb] 1|/Fcbp'̓h]bEq W[eG*|4 /@oT]$,z@}v[ Nb8NyOwEl<1;ϳn"ܥ>ss %SLE @Q\HRe׫5G˻~ַO x/_gU; @"}W{+\kVn|Gݙ+Oؕ) ?0]`m~‚1Vߺ0̏Wz1¢M}\Uy ˥INTDqG `0JD}t'l$gT<NQ d܊=3Ū-?M$}A!ѐ22@ u l3 q1=tͶ =i 1[ `[ kal3GÎ-Ž!η[ۇn3M@go~߄ @ѡ0 5hHsB|Џ2? s4>IF'z\ s_w cBBxGPt~ehTL kqn#+-,[ jg]jGgw#N-s eUw@[D? Eľj 9$֯+HU%UX 7f|tŕÿ7 ].cm|F,sfϊ z;d=-v36CSc3T <gq01,+_\~Qc$"v8.kScdS4o6IPU7OK/.:;hj2O\Dt:!%ELaȍ*u9:U}Jڛ%)H8ۆ08z`-@9V%M* E3bPdc՜C$(V5C>wfpYSK44Ϣ|sM)^叠s )M)7?{gCɛQx۷sr73|{``ɀ8y| 72}C3v0! pC@eAy"\fZec?!TVTNTp0e2xM7F8#.P#uG$İ#$dQ2rD9#$d18$EH"o$dEP+NH#&T Aa2FH"T\2p6dlH< a1Axc{1HLTM~4VX64XDߠ.#̓zt#kKFQHHr uf2R)8jfOTD)TQRP3"k(O?k{َ[,Lg_k'1$L!!(Rc%ajRDz` >A |$%f՛@b 6lr/cy5;w˰k|OtdTқn;ρ$MpxţWmvVY)h8u=εx+n,?bE(l&Oz9!}"f nW}K # @ efm?^iUU|JWwPq_v&ٗlJBRXy??e-e}MIw;)=͏kYTB PI]B |2j?7$*RԜ)Oư[1ӯ1g&{b׺tjɸ-a'&ԝ9?Y86C`PmC{H݋Q`/*y0m;񶙝܍f:c/ba?.\ϿM`_ɲ78*tmoﱇ>++GTaO={PzW'spðo,] $.Omc0NiB敏wRh N qV0p9otWQPHȦ_Bd&!<+g DWdkkV{0&.yl꿋Cr{sZSɌB&O[avy!o 6VE߼ =Y| hOYD%_/( ny:eڹg[_GЕ p yh \t<@<{5#'lGpapnl5ò2}$d#?$d᝔8CHhwh<9=<<#x<3PbC2r +>c2PuL2Su(<&$><2iȊ adܑ!FDyT ǏUV$U EB2Ee~HŽɭ Emhգ?ь-0bk}32n/wR^gcoju.iOQia[|/:ZILac?0אL mne߇1867;/ߑ7>#Άpwq,[^o*;m;N! D^P LCɛ_-Kvv8Y=G3oQxV㉑%hIHOrd6.I~H x)M|nrYʐw#(}9+m>FÜ {dPK9e^ܜz9>_4àL8՘6|ߛc cތpݍ q3F`7|3cwC13&ap08HEs 7}E^z#zb^z=.6{z/oi=*TE0 >B>5{!<{8/E载iн"tWM|"*"G ,٠8'.Ũ p'#:tRAtD:tAQ\M n?AvgͶ6Myl( 3,EHy{F%I̤YH,اw|/DW$`h5drJ RŚ{Шj _6FєEO9G/sA>)՚gUzeu&{QNeW7ly5bB1,qC횏}S+z(yf4GFX 64.:y Z3؂K7NoX?;'RVW\xp:dr!:}&j;`j-oKD\CK#Ǫ傺LP-2j_[ٵK~4*Gҥ-1=6wM~ݻ˧3]{X 567η=3(jՌA|~Fa{GЍe#`|t5_@Hī:tN:3E(B@N0XCY\!+pЮAN1$CRĹ|VWlbV . +N[NR GMh}-?>^Ww7a,fG%-j?ϋre8d.۩Z3mlֳc4CcXJ#ЫDp9eZq  ]{jc~̮yU{ڬzM[*0Wꃁ%DͯуsЭWOհ0fAm_M;S5Nե#k9F?BpO.9U[ בggPrtIr>o~ }55&j @/lge፴|C`c[ ;Ma6wcW}^pcr88C98008:uätN >GAt:<@:gmN#E`0bX#0F X#(`,0Dm`0c/0QAl6#ĸ6lı> <$g0lP &'hGMAO80ظO1YE̥''J&ʦ ntMߡL]g;_>kyp1*g>m$}=J~*VwCt J,M;v>tW'hJw*pK;;!Q*F!|eأ"]૪b]݊^. /+XT(h.U:ܴR\ni}er'7#& eC;77mxpnڜ}?O$ V,v;|}e=u~<Be  62%r JGoW>YuytXyYiE5H䤒 Bi7j6w7Oҝu6{,' PȦTG)tcۦFyy[0^-K-ֿ mWPp8@Ϙ62c~f[ft8fPvgszER.9¡Pӊ<=pQbѲO)ʶa3;&ӞzGof|> ]v:C0v-yxgv/Eo pY73x4 6cozi/ECDõ"n X1#E|=w}/}|P}Oc)!'EP(r? a![1pp8!`RYBH4~PT H(h#8g^qx32Sl YD}&4_o뜳 Uj:Ithdkѳ%$H0y[33b;@{ktGsL*[E6Sn(DhYY Ne_auuB;mSJM0HyG=E Ǹ$Uܚch/'/yd 7`s0{yBgv.O穀h@zLi颯#K sj=~,YPΓ ʆvHA,ĸ6%Ҁ8 NЈ+@($$䘕ٱ &SbNO c`6%$6 p6&f86 ٌ^.lJ ]`,fVλŶW2ʚq£YrV~fnU2x$ w"oLLs)h ?hu+./Mt$)g@C,G^TUdgA2c#=Jo@|ؓeTҗ5O`@N8l,uB0+~]A$2gj'7&H[ D®vv~Ήk^T<_`')rChA-Ǔ?yd_k< M(A>2H2\\ዋp5t-}mꋁ8q\ qpCA닁 O 4 khd4$xhe A [q%n-ŸG!)h>ZZYa#f'DJ0g,ŝD,ŘbHfЋA3m1&,jHA@@4, ;$C#E}doGqz<3tПۇM2LK2%$9Kҧ)[X2ww0]Oz1p5U͝0x#Y_cDp;;W4>N<kG OOOi˼v~tXoP &rL ?3<'O~Z+9,8l)¡Ț\}em)%)iwD T){s"qh͹]@? ߕoS.Y˼0] F:)t6F.N֣cߴ\Խ+Ψd`2$ (mEY-ֹІs/**@$@ӞR]a*$&THV?QWvis5Djhnq|ꜷ=ks>Rw/k+JP0wj}&Eߜo{$X^4?cn($7S#ϰd3Yd&yG.qltO*?4s7r=0DcOj>~FŢ6#"2A# T[ZyeI8t;M"ʩ,-Vxi78_q\'8C_ኸ)Ypp ?E{;hA B >GE{%Ŗb ֙"dQb|KypЧwT?㆗+c!ۉUk+(Pʒ_Jۨ;+VɁ:|.-/Чfv~T~ǂB^?d^ZzD(y(diR@X秙pP]ʹ8ʮo/˝~o% (/0H72 xB} WB;0 ¥4I36f`k$00`Մ*,Q+I,^NJIXBQ_%%5W DU2wJRDPY)0WE6*I\0HM7n]]*Zס,}҉>uA_yMkujɩ6Kl3os#5# po> e?zE2U'-mM!/`(WcW3SW洵5Sr0x L+B{'( +(#XSuauw-o1#Rl*3ە2h7/|7JMz&y^@Y;n7lGmJHVvq02R* O!,wDI!|bWc:4x,-;2ӿ*`sZwL)ڽ;V^WD!r`1"goxҔ1#c6{°n.m\UJyM= Пovwը`ydY,)#˦KJѧ[~3L%LB#A_:ŎkSD:7oCǖI㢜_~8 P3+@O z\,CN;":HBYE2@š!LܩC~.>Т]Is%%H-/ eo81v-Rj dv9P[-g91i9[|x{<C\`-ksSYmٙ0!0vc' TFFn|Bd"Ie ZT4z,|B lh,-d-j.n%RSjNnLWt'!Q&=3 k]/լ;lw)T5:Oeqk%[Nnt[։^-LÆB> R%Il+h0v;ɷ -hI*$'%jC6Jr5R "B'rO3潿+]bqJuľb`T9XuHW|7%<bIr2c IwnaҴʁp|>f\?%yt%D vJ4;BmXt3I.*u{J]hAQ,'`爨Jŕx-Qm.XH ȂC%b_@8C802twO#JJ`t.tEC̼Oh].J|c@HR=zQ\BU`&a镆˾^g-J@rD%ws.GWv U r"\PI^X|RyWqۮO+sy}*IxJFx<Fz^d/\kY?*RN={?)` E79=yH"lJ ͨ" l*{ KntQo߿uӏ!-6vLؖHmCn<޷wϣ_xdBjb.5œd#e65ZCfQ nsҸn7oz0V͌B#%~/КIJ]m7{3 xoOtue8i2Q ghp#3lcY^6'Ou%69UV!h96` 8h343%deRToMgƢ(p(5;gcd9a3e"GsTҵ%tݣ4=ȏ@QW\RA$ s=u3/ǖ 35L4㉾ +N @?%HlHU Ox_Q= >Ie'?Lj~P=E5yg--9iu֪wiQ= y nKn&^>1d.AsP2vy/yD&qj_ [6윰܄O&J(0:IBO'q+;ˡHhƷKOmL>P;s鸺h3>K;_T< P39*HAO6 %hb !D!s}/V="InFBʹQ9ˆZ_˨[o1w:}#ds%jK~eۖ= '<,DaIU)ok>WϾHdR[H@ĥ0`k~Z(S}+V..1^EX.(nw3q5Mťžiy`Sru4 "TвnƸB+HG-w |n'՞P7z-p$uͮ {،]eR]̒CupHL_0L琷U(UYQY'ͳJK' ț)?a1:/x =v›еBkۋ5X.:*]"W,*#;h&eU?g<43ʝIC&rcZxی ~({\c2웗 T'QNP`z lpP?{6gҶvf 8V'ev?;惀 C|5x o,G ĺ_O$+ F~wۤ"ağ Q?)2@ \-50RnkY}c ^k0:UF˭.M'شbqNVh(Z+sEojPPI p !o$%ԀYYYЀ4FL1o,8>g+V%ub%n=f5VҙY0/| 0̜GmȈʖy& sb<>ŗlAB,pLc\Ƈ4r}UqqkxGh,cEبGLmEU{#G/ɟ%޾V|mt# 9Cm_c2hR&qtɷ~W)y#"` >F+!\ r]Cٸ T-KSw3+yI837: C-^'t}DG )j^@ӈ4ˋ)~^lS):07-Fwnd-;T6W=<L܋TNi͘#P#` &m }'YC|~U8+ԡNɷ;kwp6"fw0 |" /?=t7vk 98 悾լoMK}?ƒAk/zvΐMiF}G:\'Ș7D5&jnE]<> :jK}t(:m#4}Fj [يl<4 ]qmk1WX^MxDlzB.tޢ IKp;T|6ٺ&iw?ovB}ுRiwyy2c n:ԭo{qzp*}*OUAI@O$GaoX_I|k_fLgS ~^rH8eE°@*S"ZNॗěX/s}ӨV\_~G*nڄAkIy;o/+;?<m,>X eDwA.&v%Snb}IS"Puc -q|NA YU^WbͯLhvHI`uQcJ8A6q-pS88gى8qʝ'e*eUyjȶ?Xv]Z!pz ,؉DG;P*(H}1{mFBm'Өk<//l7tݥgzuih;>ת\sxlI)C|cq D,eZ2,A5Z/3{)Yx] & |UYфws<~n+GѻxPg`U!?+4`f7Ee{ \7\6ӑaC*_*X7 v hm^KZ o|o+f$/Y~ ADi=Hga--L^6<7C ;"W?h)>)uoq1ϡ<FZ&0! h;8jmsړ8[VUݒvk_l45`tjHP& I\rp1Dq1wzqBw~L R* H?}eyB?WH&{(7eihؘANA Wc.QP[f }E7s~Q*^)GBKLK}ىvPZ@w#m6JuEB:>Ckrݹ;:ť^q9* *:y!۷a~7tB@>++`] ro!Oy1Sa\'3hcc`3U P.C( J&D֫ i:  BO~DT ebk"ؙb7ZtkqaQB*)ao)F^vTy(,)ս6px&評x\gtV:i:ƈi7>̂*N@RQp| @I1\PC _R0vr,?oX[f2[a?Y[1l 5_" ). (p\^IfBgpuoJ48@Gy67!ԘY<`NLCejCT`b{- .K~v^@PbR}13[d3xkW@uU9yɽ=W@~N[Q<РjZmgpR~<"s Fx|ŬH1]iBcpV0݉ gfܣw?AXEM'WEI x%-㫶(tjˏfSv5554dd@mv$ qd]) ϜL:5X(T*x?/+o)l;"@5C5Xm8gF ba΋rF{S#3AkXt4l#گˀy^I`oӤͳLZ}{+{}ʒi==Vyt+yL ]۔irR9 2+%O#w)1}bɻierIt,>V ߹mżKr{.<#qYmρ甧kkZ5Z 5cuz[eܕ×@@3= z~+*pR}} = jc ̉bS:$Ҋ3ZQr;b|DI?r)K|I2FN}N>odC,. C?Ln_6(\0VYң8Mcny@ۚO} xᴕS_DDw.c2Y`m s[La %V00n` ڍ]og2G"V gF/]5|Ν\)ArOH=wt8߾Kq0A9ǩ"gQFF,gmDofnx=( 6a!oA%R+TM$@uǫ d DGTЄ'Rjh2C/8w=[:='?aD/dHVǓV*\"ww} ]*E/&5&=:w @\w0t "tDq/wȪnVL;k,tI Is#)D@h.>ٶWWSw ɱFkY)/K) "Opg:^zޡv>A]D|l6̡۟K:vlSvUw5alKa3;?O_H{w:" 'j"%Qmy4f5_6f_%6]lu_a XL{MuT~FY ?ǩ+"W MީT[e{V@c.Z<-95ent>,oB<Yo;Pb'NenY͢I /;py"I_4aAc[FE%`"gPa ҕ - vwk~餧HӎhP '<}`?)%oBcnH k̃_z  ]NE!G.6vvgZegP\=A@RʣT Fceb~i(8L#g0rFGk}zվz^H?ܫN0) &vRѷ,iq ^}L"g3V]@ H2;m EaX8)O>ϟ@U #VFHeC8@#IUz2FبXP .(%WH(e4;d?ȭbq7c^+tϻd$ݺן1Yz^?{:S[S[u.=o5o_{moI?Bm5 l]1" !0B{JJZ_ݑx=KW ~fwyBP\for-vT1.g屄[L\fmxݬ^'Q onV瘏Fh^eSMd4K%p|{*r˟*Q*$D/77hpZ}ψ515%v^8Fb2&TgٱgNT W#8e$(P#'%|n|ɈHE#!7L~.a0Nl <:Y7TAoFP1Iq%O#{Zv흩rLaXRͿR(y.tw=PR tp:7zCYV(+$qhɄu6w~,Se%ucgys $i8?AmU>̿PP(Rx$5*S> Z#Vd US7Kn|WZ 3J|goճkoVkM CIf{޲iأD>gC_tHoi;nB1GxwA%.]~W,2fE=`ofzC@7̃~mTCxTA^#Yfpɛ=%Mxuo5=>?wMt%E6AQ&!σa7:VF]1s0"G71%ȓV91uͦA@R 6 6B}; .]4槔74Qk/VU[iW:֝I+ǁ%[_ǕKd]x )B`k6#n[9G^"tͺl)~LFoV3G=}u(Wq"qt5ŘH |_2' 7|gwF(l'b|ojz\M{<} ߪu_Ҝ= #"vC=eC3?dznj[fkAsM`?TBEKf4^<#;- AT,rS2n?8Sg+MND$ %&o{wQڤt<|Œݣdm[W~5UV90 6Iܨzu!/*bU MBljzDg 3"Zh|&FF9fY-R} c,L(^r%@8z֨5u2.'Mg0SJd\)YeVg`0H4"{ qI9# QHOtQa^};^Ax Y$U+Bв@ۓbmm(gs)fn< wRr>8j@ap[ 42մeO.HD &TJ/9ɏn4?K홐Z/0FH<#l Fn~rGy7~5 C!b7e@4v،DBn~!%RR4JMx%8;tQ6DHդbk33;\S /n4lNG Rl@1bޔ0@y'OH1VLR,:^˛7&AHZD//FJWǀ8/._w1  y;uuwp}FyƯfb !J.;j:*s{b='Icdj( @ |#ں6 &:TBO.ADa3nC̲νI-8q8&z{?h;  RRqa}DDMNcPL~o { ֣^Ÿe@yfxjZm('.j1Atq70/݀qien^NM HO eeKᰗgvBB1: !/ h)L Z)وصaH/9>AUub& <"O_@l1l]r+m!9ݢL:aL?'B^]^s*Y˦ҭ(Vͪd㬘[>& NzͶiJNQG+;\``))( .:6PC8fxH N\>Yfj} o}:U(7~(LbP8$ "GU.rH)SʨRJh];]W4{  Lnmqy?!سf-Eh"3Y߅& GJ#ˣ$UWAN HLjzҀ&d< Pѥ~'vTbC-5i@ ,Fu? b>$ 8eiR}Qrz^q1(F%׈bI@&̔]R)@1!0;`,{^od9:?g)UUZ.Qn̆r)s/ӹ =«lQ!kߧ IOoXu8C8(oK"6]}uI`\+P^Twe6N֮ uk{<\U'")Oל*cד@g+5@`JP5{9@r[<(`|/8&ʊ4skG8{kx͓HG=pl~ȡ¿(zi7<1@[@  k5hOXv:ie݅ %2r[MWp[3ޕ :Sxk՛M*{j#r_!́ [(]P.3`}69^dYn~4MRK,BO:bg=?*(:K +Ʌ S>~nSe>W7;Aj_hͣW%U9&T=*筸Unࢣ0iѧpĮiV\u `ycbxlZI$sy,H'N7<&SzlW6A;zXEέO~:G e8Ü4U]/>#חU10m`` uO`IaS<*w\"1ŨL?SWż'ahd`y{/wx1M:Ώ6U U(!UAu:rp jPOT Jդ~Z7=lw)*clUX8 M`y:m?M(fq0$b ʮĩ+/jݮ2仙+V02(FF^[; #{ Jy. LYv*oy,y,a")6n=eՃNC11 7*Y n@E'O`ް= )ruDBJac(OOѹe= 8D>CjEUpn04Um;j̟yLCA,s&+!.BkF2^lԻE ksrK4Kb wPP= (ͮA[6 ?pg%R4h 7q0-q!XAyC&DΊrIPFHvݔLU&0p4 cʚ냃Шb@zlX1?G*οn>ͨ:[ͼz$#{1EӔPYտh9V7J 557lˁ5J^ }6E}shZsYK>肭{[+͏ p;ٶkyiA3N154 HkpC|nMQy\l_k[sΰsh5""<}m%r e?0'<(z=>nMas#sk@x[0OzMG?ܱj,*cC2?뚊n?S l5Y6YnӘԷB~ҮYk7C*|;5ɱ&b=[Єf~)nmX8?Ko:OZ[,'DoOŧ n$ j˨r{LջuV}>cH_rny;hG* m](&ڵn(rP60(2Uzjys8DDe|K&C''w)YsgSDDXW[`|ߟٶ񕣫g{@ΫO05l ^ D5\} Nɜ3S֋~| .Ⱥ&"`S}>8ufX"<Ƣ|p  y'٩Q1=80l9)%$J,RRMS\蘁2 pr=xZMiO3k_$2V. 3ۣ~d u J lxYvp0;?(=Fx>w-Bw;n Ʀ!Fun^d3` d4L/)ĸ#bGӂo׎<"& [_n@H`k Mqokސ5s|Kހk9m8P<"Qb-]SD۾X(v7n3:;U]:4us|24uwb !H ' \L^Z9G[J@0-x y_N9߯7I>qTdidZdΞh!$/Q4'yoIV^qr[C ~W%Gn_Ǐ /KX7AJr)?OOWا<.'6dk;xkEXv BMʿش_O`mxb 8yKtBxogGߏޅǩNQU?WЛ;WMUyC1` @Dۻu޲7^A39 tlCG-%b*"J " i"5Zn>/T!F74痲P5oUGui0Gc}`d;Jɣ0C lĤ()kţ0w/Ic3.MAV .r۫&f}e{K5`4B#}e`\5|6s57> W'j|rO(qh1^>aa&dlD'5h ހ_!Jog|%:(01&HpC;I;><D1hƇ&XKmp!ѐC1A]B=_@[6Hr WD_\@@}IF A2iÞ~{4t;5vՠ#qF_ XB0K7G3€}u]c#-TQt:E6UZ0Z6}#}NXۍ4JّB5?A.?u/ }#8b(ʄRM:f 0cuE ꨧ} |s21똮N~vVSmzAqμ\&~8'A% ;4^k)j+o뭛Di_J -9(˴Zv^W Pʭ`geN Cό&VMH nt"reFFGuXARҨVSqKksKox3D\N 8$ ;nM<,3p$ֵA*-3OZo\^W֫N{[Hoolq -%_kϧH@=|'nO%CjNBPpjjP5 UdJ-s>~wCK˘&$`Za B >X1ְHIoԣktK 4{>Y鍚R7^wh WE7r68r;,-h- t=jHl@hG/#ОF$bY4Jݮ_R![|ˤ1$C,ΚͶGGkg][o=:iZ& U!;Tu+EPiAFc6iݫtyoOk3)ꨈ Z۸{n_"xI_KGlBuݑD_WyyU@@ZS0uz9ضf:=~'qPb#K"`g#"vx٪roHe%PiPO;0:1#<@f^s3Y BImOnvCzpY|N`us9d%ի7&H~\CdEo̐ ShJG=&  -#EvVL}GwU{bL Q{4/;o14~MX}̾gIJ-OBSg(2\sGߵv[}Q /dK+ʔGG3ٽق~!hT:NuP&ȲBsZevr|@)D3U[aWSKIط6o<5[Ճ7*2fŋFڿ6P*񳨾]q-Rwۇ$9M+~/V+}cÛ RH3duw^ v΍Y`B1`+@+;r.%q~;& (YjmvΛ3% ӡ6G(,S9xǫ.3f$CYb)_;b`%E Cn3 lf @m$k#?t>i$m(h>8Xg(hQE+pސ=kfwkg fN"Tq8.;>zN<>G3='ɫ'/N]ΉRiۖd{B]wėч]G10Q_u?9XA1'ȞQS*@ J9q.M +VUmPP_>!T0 Rl]|ַkז]HҠ])#f!wzjY9~G6Fi܍jYnY[ TjWd|"2ϛi0ƪmcWLٚYϜGB;3?7XB?7L?Uuvew Y%|5**zkGà9ogwz)ދ\RVNely?Qћ/(2wXe!h`| GmŶnX9xat`1z蔑˼"z|1bE?* uEC6 4"0n0t;/9{}2!=@͡kk9ޑ! 7V8u&&ĿcFu/@g$ '.+qܐ4m -֯Vtlr iU|3+cMH *0 +$,c K;Kkb Qb߯{05Y;٭UUd M &oi0i,UIa?t"}@P<'-n^KB됑|w%G-2 A/91$:ewĎkjjXf>PYAP0@Tþ 6:] r>"w`IJt>&j8/PbyUM̛8kH{%8q3sÅ,^?.o~ިΐ-;\4kkJcEZ1rof^Q4Hc*iF|үE{U/W7&Rm ˢK\z-O&9iRe!OgxRՁGNh*F@92I'| X w;Rs}[-hI.7j LBCQ?+XI[46̫G А ``Zoǃ44ʬ;Y]/%Gg" ${ߚ:0JjًoE] _40i 8HxnLvM#'-mgT*~%js$VsrjSI/|=k%JmwUS{>mBDcBAmRiՉV摀|gеˑ÷BObl~D(Cf>rD1I!R+㥾b=Tha#tlnI;.LcֶX08'sFBKMX.Yo&0LbkN>jE/Eb[}Zt\ _c2;yxE|>cZU^$ F @ i׷) -$S?La[r3"qD vYN:ў <|$R@.LoPJm>%"Zϭ~!Ɖ_Yp4UXS-nG&4#6e6Ktw-U"|i(nAU( ܳEWFO9TUfV[4^+kP5}c\~ {DȤSDɁr#]9iZl)5Xr!Pa0jIf\m+Ao2~}}dƄD3v_4%8-FgOfb{؊e<ݲc71GHsg BxIP%P6^RZ DNd*\ECeH)FDw۪ř6BmH]NG}664ZN6:ߏv Z0iԠjJ>M<pǨl6|[Nw9nMS?skXݔ$%%<c0T.-^ =v@y0wiFDnvU'G>H-_%C=26%ɕ˫; u gb-O+OSW3ZM9yLj|]FI<ȷaw׭)Czٳ+9z98MytZr ƭ>ayz"+k姭o/݈?8?Nޱm>=2w ASVōܗi BC@&PqsÏgTrX s"F2k3ͯʠ2f?%!lיrS7z/ξ 8JZykGLhyn :{/ȝH{]<3~F Ψb* 5@p'_=o4>PP%^uX.jdЎWoGo-" 2sP}Dν}{o,IrR.Z;0WK!tډeMIⲻBv;qſ泯w>홻TIZ89%Dq_њ `V#XiWhT7QSFD@qOD@7ŠOڳT>R1tE"_x5"9|R{_ RsyHD p@M/1ڿ8_fqVx{Xz,bkBgjnܢEcVal6d bIa@;e;`L |;P7fptca'Wqƍ\@syRdxr1ԏQc!K a'4Fs#G-*&o,=1KtJgɫw vSsAO,&O( 0bAܪrDh?{-tBIy.O񖖋B쑡zF mH;&='<{Bm w|ymDܯǝʄU3@Qc4"yuA4O TӺ$J\~i(ʗA;S3l~փrI-ˆ_Y0b_wDh8y= PqiwMR;Igjz0[wnO:||+i}kR'3+(εD@nN$^[FOIWᎳ]aM&*MQx> _+VOS;gI6]sK FVę2LچF|8R$Å `GM-L&6Nf9//Q,"4\E sx86ќh t%]!z?^]3(<@xmBtA?cp_V3q;.EEyS1hs0)@1xAgc*DQ_jrߐjȁBs*1ɐ6 ^3.awkJ.~>V@p 7@,"Qoޮ\F 218)KlDq6'sbe;U 8\<䵾m~(>]Npm%PXd .ݳdVbj-t,>.fɉLW֮ݞ9 :8.L¾ 趈 j!Oja|.MX$୔,@$?r1|5^VO׮DCXx2h%5-'Vܼʵvҳx  &߁@:]dJ%7czrcH]Z[O^<50NpI l_n A*tD5)1#[P$LM;͗es6<_a0!j kAV]޺vs'[{dpޥN b}x7KQ3"*!9]|9U4 kWR(?I9ps>(zh/sy>ܥжBGg}&b$z*s_MP3! UwټKN&,&q5 iWjj 8*I:DRj]ʣO+TU7ënPZ'Jt}ڍX|蹙ԩ벋Uz(ì> '?7/LAX]C67EsHW3n*z!k 烸ʸ00Y(ME:JETJ!Z!.Wx@Լ=AB; nFz࠴0l *xdpي+[tZ)~@lSRs gm?p\^cռDP8웭wLzɶkf}/džڙ濋xAhm,9Q/d"<8MGiN0v/y&v-FICWě{-(u-SϢT&Jta㔽c$DQR/˩3Vg尰v776N Wz V3fZm7F$@ Er ZPڸ+H3ߓJeFƢ.eO)su?x)Iu`zY&B خ~/쪇b1h5'))bYutKzK<5zA&T4ڀl796[].0g1pD2||Z}HN,/W~r=-!)9x0𫣠PVlwF o;6v_hb s6ݦ#Ec wɘ!%\\/9̴ p!`U8A2 BTV~fv\s-f)"R∏D-1WMtSFN>n'-ts'a>CWCn|Ybm!1u;u__ ~ tNt[3c҃CNL' k3G-u۰' љ ?&bӅ!ELSWJ rm&YK mt\lF{H]dr+c1Y `j{yŔ;ALI+8ݪXXd2XK}3]g;cl}cl M'hT`-R*K [hv@R$ԊeKg&ac@,2@|jl.S ~!b}EIL"R$l*=üKBBe?hNRHAz2|Hv<@’L@(:;n !nwsFh~S(dr*͊i9<7>*]@>ߺoAjͧ<^sHM̚ϡ5])P&- yxa%.dewϹ?vԕۛ{wZ'ޡ1XdQEcSZ>m}[yM`ά[Q BJUf\! wT*> ƥB{-?Hwa˨l#9>ǝ[a,6z$k{sJCtKANm>̠Z/#<|HV(Qq\{@9Q[U/tA,/ W5Uv٬8~TW(\͛oޓgUj[j_rKC *&<=;EtW5l1;i'G+ڊŽ8~~O^viWg_]oAul@9ߗ@*iͦjh1vΩ=4<; &v<4Z 6~/+ ED2j 6Ȧ/ް[>TdN|wxKU MpJ"kE%Bh`O6@/Cbh+ε)MPZHn6rC-QTN}ÈI- WWzY7djD9f zp[H:oXMvolVT#z'{^OSyKK?H`@WWs-O߷1֚BC &m{7n2ϵ'9_ĝ EJSD$)Mh`=Upk9WꮮpK3=_~ߝHb0Jrږw]ʯ%9]>b1<3o(Pb0e*8B8(D %tE}(=F+}Yz꽭C)%D!,`D⓻&&cYVPŀY.vs)0e5# ={Oy[*wc,ԛXtLJN*I GUu3rlσM]/G"!<._tߤW_yVIḺ\⿘{\o_NLG^= qWtw%#e'k;kR't˟Jq<&Y7Z?fWb$+q}mw3}}} &nui0{O78L!aU\÷ZH9 G= w pH$^^TǰϑkUm@ܖWp,sHJ=PnK{KE*dׄZ!1$nt)sִrQ=a| @7lHfa/t+ m!Ɓ24K[HX&;j@zҌEVz 2e%/dNcB"IiYD97w=%Bxɝmy)Q$|ډy{}yL]/kVgIJ'G)?ƼRp$Ţ%VWlsmr7el ԭZF_᜗7:nȗ pF. =-3Y.3\Dƍ`NM0;n4KOBԿ$K^lq*/["@_MyCBmkoa"7Gh˷[<Kbcp< pV{Ş3B`Pm L$FVfjB |{ة W*a@MW B[-aU/09DyBl/r@L ׭]L43U8:y[Ĉ42XR7$C{[1O}7Ϻ>'FSjdaإ7CCvM\k41faǪ8qYJ3|׭%dVO?ߏ0u|%BBl"˪;j o+KdF7!7# s]-@TwL _9L*3{\exӽ0$I[hIvk:,! -[@+KgCl~r{prю3W.=6Dq~e)7(Gd3_R`㒶E_im[-O2Hy1InՔDR'wX,ͣ9_itFI k=ِ@K ? OWUԪY[G@$#ft{N'0XD*\zJ"VƅPˮQ]}iE/SQuh !FѶhRBEoܡ:\jIGf,oDg÷>}MMoT3Y8-e pHfSo~Gd!/̢q N"JY đ;fsӍֻfB{q`8>D XI奣pr-#[Y41њ$*x4PZ~ώS ^ ` !|q`R"`fAT,?1#jY)^p4$, ^q WjLW&/jcxA QI[@;,ʣʘ;ۙLfo֞?_[S3 0]V:DX4{ ?``Zcohnb݋aqaGc(;o+\>*i8 Z] (dm )jxwĀO0XR1RG h_!,t{_voxwlUވLGiK ~Je.!<̳y;DsyO)C}~,EpxTJEKEb<ْAth[9 ,;6k~|/OلgYU{}M$ᵹ'aM*gE ~fKBP o=6|͟V&Ȥ&Et寢BoNl6) -'!bܤ*uo [|yOOIۙbe oW5{52H ;g~dH6ߠc&TH,T A?" nM/+OHBEWMU#!,:=6I6L[s\=;ajܩj^MN:䐐>ҨA}}30JLGэ'$?d)w2\kPՏ=8?_z]4z;*l4&Wѿ#KYPp)qҠ/ &53#j)}( iZyg1XP{ݵsRi \Nb`jͰ}dyA (9mퟖY\3&gȷ)w^DM(8g wJ`#U9*?k;"` / 7_ݺ 6~K[p._v#xA IkW趧'ƱM{@!pxgDݿn:9PJp5?LzbMJջT`/ qTD 9"p7Ϫ(~VVQ StҐv/?xgDg({Yo9+d&kJ}'oOܪJb߮/|-& !kno[KimJZ4H\;;Uf-V.oLG5;VHf=8A{OBb`uK:dW'**&rӶVWJz?ujX5=!+ؤ ݇N|[!!˃fV/3:~3u1r@wl jD;Q誨P,t՘4Svy!UU~e/ U/&T`JH {hxT_"ef(iJ;N!sSS=ʜJ-G/;Q~,/W9^+ 7r^w7Շ"pDۤiDe +;& ࠈ*Rqn}ZXT!YrZboU:'8UO~g?B-c/K5fbUϩ_/^H3d%u{gxNR߷+FDK13Ћ91 v $BSo^GM@{!>^]@M&LP^ٕCnp JŕMe?)i>'p (\˥l trRXT"_U~KvV.oe<sTrozOhx|F᱿lK|m헰{H_=HQZSG33M0+/S¦ۓșhy2޽8=,-RH|'ŝ{_k#9@?_q69 Dd[!xZUtxw '_=sxFF??kYeo>]5!#"Q9x(٤s?RU w3@ IF#ܰ~/|]3'Ә!(<&'z $hfoP'ظ{Dn6_l8Lo6}{S~k Ddepd\ңtp,:Ė59ې׬'^` {;O$A-VEm=ٔ&B\P;_[k%b 16\ԼYzQǶ50j\z }M;Krbq(|ziBIpD֘w.O%Y{9Q܊nwG6Ig*h-m8i"h@A" %lZtm7M?sݡPĻbrRY"Gfo40˘HP--3̾v tꇤQ Qu j =ym^guVGת՚Ǯ-j|ߏC3Y~z[^ԁ@gm5Dl@2(&q (NhX<4 g){'9ջJg@mIA٧yn"?qKpZ,cS] }LW'毜9{do ԓ(0 wdm6 H,ny mwbby7<sMC:u fޚ_r*m{۬\rV;Ɛy RkXvI0@CKH^ˑTk}eW+'#v(,_ RY{wʣEgiq/Wr5Rw `Eup&5Jn5`2@)/ʹƕAFHV8o[9_:pvz:&VuOrE,ivL=%*)+˿ٟN;o^zӞ aFFB@EB D>cF&)-IsTԨlBEթh0c"2<).)*t.uC53Q^B $INKRrFx{9E{:?z;M_p.]ӊk _PI:3jndt2h8QQpޛ Pvd_|/Zsa?xu+2~ Ճ+81#ACl`ZjJV⮷ôNDK(eۯ|eu:i Wi_Ӧ˝9Ip#Y ԫ5 @!_xd|ꔔ^ݬMDC~o-_zt4VJM9.w!T3u֡9CkO+T~F)"H TtYPhu,/i' |\x,AʼnФBIjVXIש)5 ӛ,47N {*m f.֎ȉcfiV>ch5+t)u v6yW9ۣO9vl얼^s]jIHk7ZkI gcq~57\zţ$roŔf/ mMRezIa{x w4T""\J}~euؔm)qy䀰*+i$3F{}/S&HJ?Y{.Mav+b,nh W.kQ A_1o-5G 4Z&^kUM_Wc_9!MJ9 ѻ:] vE+h> I9[7ߺSCmֳgb/7L 0qBQ-zWr[%/5)A@՟?n)-h? 8I֥uf^KLjX:o KjM6'}nV~<$%*%i!P$ܘܣr> [3b r5ѽǮq_,I"㾊E4\%nPB|#2 qϹmCϑG]`xvV3sbS4 +NaE+ qXc SX D2є:kHH|EX4=G8G`Z19qg", 1W+PS.!]?-!p>/9z>bm]" U^xu[ l>/]cyU3(V@=sLR*q+8A!)cm]9sx&xIp|oZ TyfdyWOQBѶLGtPZzBD`!{Kh9V%$ژ/.F xx5J_ԶnQ" ?btpFn.~} !` <ջ';L_U1oJU?壳DlQЕ\(B|;Xw*=t]898}l@I_)2aq#@FYxOD7[s=Q|y c@*; Z( 4pWSЇTjW85hѩkA rR%!\h-wn8 h\0`[ ]P2 &5ݿ^C zh-ێ٩Iֱ?Ґ#ؑS) eBz=-s FIE@ H$ 0D(k!>5ڹF*x_o"-jK~_. +Lcv*6!\{xh旆$iИ%l U=j(.$|qt<9 Km?ژDU{/LM}nIy0(e [va.cU  vqjMm{dB*ݧ&pmKk!OW0ˁ[mj]9 ~['gS\--i;fWɘnWNS D!>i&ǑLtSc8+3Vi!;{tk)!93P̕N`>_Ծ}} Gl?]CKχ +'i]'Qʂ*=‡{?᷺\ʦ.2fO`({ܦϘ27j>IbIWvmU%ga]X\ 8L&Hܣi Z@{ ֿ90X@D4*\]N B9iA^n7E $_L@YjM=F`z*H|,'۸ OD3e6dZ_s Uu/Z|YW+F[~\-TwŧCssbQh(x/[I4! ͎",u}0B>VU߶JCQ^­/BagU(KW@duU> ^C5FZ/DQg.֜a\$Y5}T{%gZ \AªƻLb80`2ŹRbo ֌JŵFӶ% @ 3bm}rK D&RX2?L:S=[0"}r_g}_f1A`q7'/>;ebs9 u@ѷA)c/nf.Nژ&\H_%|kVbM&8$/Wcfv?.7}_@6S)],Zhc3[ov:9f߱5fF8|;“A\$Bo^% 3H-Jͯ.cUzxG%,2Þ4hgm(r% :Zh<5$ )6חD,\f;Y);[.s׮~JSJ2~}LsK̵?a0B_Hϡ_EUYH!@-xdSw/[|nH' Z$4ןe|{uRZ]Y=z'zo+3D8>@u^]G3^'ğgߍRlΥzK<Ey;)3Òh#.*ejkN4.G*.@@fM\W)!!ٝM%Ua&q#}2}zc>ڢ슯>?z!7iX;F$!˅ H(en1Gt~W*䭊i\#En x_tsh17U#sC-r`lKZm: :m7!'AP'$a4v57`GRu䤕O'C@C}:me1|*!qKxcÙ.ḚZ>s?tq=v%ſ3%LGˆ/C5I5hlﯱ_}jHAYT4X ?%h^~U3֥a G/S}7CUbF{N[q Nj31zLek/wZ ,`;4X,WxНs'"tc=^3pyI@0wW<@0@@{Szdfm߹(( ,_}H4C1wx|~FD6.w~ځ!͋Į7-ghIUb}NF%.&Ex?x^0úS1RsDvEjs0|T)u})ٗ?;$f 9¨p9Ġ ZR5<9r !rMbpA 1յJD$yFcʘUst6fiĉŻz'^rݱA!|Ad,u ˛{;^_VE#j4 5|h1Kvw&MJmπ"Vj;k^CČYR$ÒPN+ b-3d{( _Zr$ߍPhE:?ݢ!;Q驲Wfd@kzDW楇=p71wg$Sy"p4[xڍZd4XuH2x[DnÃ?sϼhh9(Y2 BB8 9Xdְڈ` uqo*[LS:2&ËRZѨKzC@`KᘧF/=A>2w> NCi3cqD+edpmЩdD6o9^4L#.syN0TLQA\7|*-\&6 osgۼ5]TTi&i2T8wi1#f{!e}4KvM :!pKҡK)$")@`(0g`)7i3 d=^n.SGujv?cyI/~~ܷۡA$Si HZYG  W'qWK;2LY5D>rbaYl"2|@HL("KS+U&܀$L~ S+4*[H&W,axQ?bWWʵb.m[j=vXk)f6s}'Ժ&6wk]7١Rf`:P#A`VKOsٱS2@;Cih؇RAP$h&`| B$c38C`ބA\ .U?X7wto>&T/C6{ҡ蕫w7r9DLjRCZ*~`!QŎ 'cά8MS=5 ȚZېMq-[;]75_=l}ily,7O`hW2ԅUǵc D7la|аVOAߢ8L9JC'o+; PラFC!(pPw8MtKv;sfY?h=ޤ4[w?6#c=ւǝCS~}\R FB|<<[q{Us 7Nl"_OKDQus @iPOˁĔUs*5BXM9IA;9 VʏPr<& 1Ug=[{fW5@20|Jjd1w% :ArwϧiBX|%| P~%|!4rĢQpx3 Bj 4zvg6K<0A(>?=`x "MB [4 ø( P$J$B:>R˕S|T}\ 즾_9EY\!zp0/\YX2Dtۏ%cHh fVՖAeмo_F2 J[ _u`wfKQQj5`k* O2UpRր}f^sRM#tܴ)fX\H^ݴοgy"+LADp՞zqg՗V~ɹ!VPM| I@XhfL?^^sRw\ӨO+{=tb}BcJǀr7[:14g%] V@s`0`\Z@!C3޼mR\s.ɛǝW4G#ǂ?yT!RE*4bP~C>"aʮwk2Md'*V2_kHe졯 _^Z`2:_:Um7\ >̕ n<ىzSTӡ"K]}5& Gݡs'sQ1]Qe .B; _2LW"I>aLTTٓ|wwkg_bCu4.i}ٺpk\M'GIgP¬gCzN5d#8' B^# מ+H!)K'rewdp:_ 9~C[/~ry_̀$~CP\ڿKN@E!/ܲw~Ijmݏ}<džڣk7:rUmGpY@_k"K1[pduX~=jMC)YKLu^f[BkyU%j@k)2hTj3t䨐M]*y̌kc<QyǨ攁@M 2VZְrKARh>Eؒp[Lfgs?g~DGyF.W3hGWgjmj17+nQyCӢDVZތvp;ٵ# nlq *i [TO!B!=v1~ҳpg# v͜6ݛ3xpT Sld2,6X#˽k{sٷUjV&XuP %ŕ{WRIPZ,Vp­G0hPRCڼfģ{iԚUxy COĨѸcġH\d^{5zj? cDpv`f I[^pNJ3X@! M~@U_ե{thǻ+ʖi#Wh6,P؀ܥ 8K+G%^c>[hiNЅ>IAɆPj!AA W~t{CS0vƲSdv?1dUٕ~ ,*rrf6ѢRhDz@Yܡ{ &tGBx"p>"1<|$3#^@'Es s3>]JaUEI"f: ٖ2mߩIdnx%>:uiH=8" )x瓍T`^4m:ԟ5qEOᕂ\㈆.wZtG*qdAXARᱜ̀4b9Zh3klӢ9/[m%rLy^n5M @{&aML$KWp.rs&9i%ey _+vUОS x`aQ|*uc)=obc5AZ>ͥk(ՌjZbMa > YDQ H<10h}1% voAt)eO@ +")NZIeHWmQ;9z'Yc"i VP%Q@ZL U3n7=?n%縼721Ors]'֛g\cBKd*jXjbn[g7QSՔ!I:[ڟ)6hsX2U4n .kMuH쮌H] 3,3S*)Ȝ]_.`| G̟w?w&3\6zėBIq[8u&߻KRLjZzj䌙*OukN;BXo̫%%5cM՜g'{1r~I6"+("W׹IS~τ^v\pMuyܭփiA/n|gna݁_QMo߹Fw *s$Q89rnG"@3N4o4$$\ɪQ-q- sR}9T.%| }dizT_y*x9^7 {ia< JWx߂$A(,R[)("JzɏsՅ^@YV LD=hu atpy/_UlJV$$P7]/{39.u kǫdXR'0-ꕔ#T9d2ޏZx2䚦ݜ%pHr{ǣș;)%*P 7<7*}m_[yk >/YsN7 9>0ֈԸxJ1կ|P>C9l3 xwۍF? Vq{ d>gxϩ;oy84b!YUJ,2aǀtcLDg'({ Nz~kVZ].7۽W Y+ɢ=Q݄Ldf߾=Ƭ8e}.9d%H2)_®VČY@A`-jOr/|_z11 OdeU*o܊(x[w{8t[lmrl޳˸'E{Rב52-`Y)|A>㌏6*Iή䠋%[tV&'0i-}_NbM_8 l)bD Ӵmb= Lk?X= nAg%s8n.8$[ *he^n.Ÿ:*cp'ZM0InIKKBQPx3>cOeT/H"`C/Y C_1B'_R t$R\(ٌ}zcu/W;Ptp'pu١+^>=Uȶ3ʤRY.u] S+zS}! c9 \Y]xK}r_ptp|lJ=fr?{ߌ9+(R1c]67zBI<,nľW]4G~iI]( ~_f ֵ$jexZ[ Th&.FT3dq{z:BQ @RwAѢc9aյG-BTUiK _UidtĿ9 9?h"N>He64(meb|*:'Puqiw=XgP3gShu}uKZ V;(+.Z7 &!}C !d*V9')V(ڙ@!Qhg|˗7G+ᄫSQ*a|0G*jʬ RKc+m^kD-JP~D~?}I>aAll >,fDCggBX;t

-rVBوA Nt]8v Ŕ<g+ݏ<_/^/r=#32 єhlR5Fz"Y &m%Pc#J 1`vxq\n o%zui*aC=VKlhu0̲ME3#=+{T@Y7||@8Ap~?J8fOB~}r"}${>a>`\cAQ1,D1#:w_}:/^DJCp:>Et&Ǵ<~_b?c%:=bXCgɴVwG%s7vQHd-_5\b3=Nb&wGU=$`D4Luw1,nz\1cf;.GI[xhF vgBQ@1C p' t"(*A :NѠ>LL>!#+8I^ؼL{!E"A&")R~p`9'U<ԏQ(T4 tOAonϘL"=@Bu *(@d w[WJSC@|r" m4B n p?g u3G'(rv51"``;~^](xqd6!; 0N*n4yEI@L@D,s1)JG] 3~ h{Ds@iDS?CP8Q `D^<Ⱦ:^f |@值@, Wa" .򒯸Xu%d*| 擧C=?JɔR)kci=`J 2|"OrN H/^wP<Op|"csd⎐:{؁ z܈N)y<:!h#Kވ4y!$;|PAl:)(@M $'n Aq(¢B"ȏt!1 sъr He^uJCj".WӾ2U "c q81<H[O(k5( dX* (o7P/@! +cUb..@QP3i@5w_Ph~lA X#BfoR a<Â7 ]!qDŽ yHz=ɇDS<UO|z Y^eQT mK*Q=  /(:~=AO)/Tؘi&'`ш"hMܡ9CAPx#YFC(;QJ$t.bG*}ެ8qpbVaH0N(5*|hdsٸbASq^Llxofj~ߝ|DS@H{~C}3OƺacD&#n&! HUt5e[]gCS3fff C*Oy0I~(D$H=x%<]WGHNB zU2 , }I NI31c\>njEPBtE`ac~Yڜ$`HIgՎNs :fav(r!,` .YG1dfiXBU:"6 ,0# ݄hS<0m$m*zt r׫5fE4V#̛%D M$K@v`'2#P;!&V;z/6u!R`\` lUIs@K`b\y 5f@N!cr{4:SAWD6e AH`(a w E,  ą ` uJ ~`$$yB`((90GSApJP !""=ŃX.n=lXH(S%y0FDSAr{ ]{TOOǙ NmXQ?_DG9$y|D<⾶]2WT!8͠@D-ZJ+="čZ8_ԆYcC9X0uJYhl4 UjEe FeHvyATh_gUy(ꊦڍIZwM)4krǙT(itp7W[GGy|%5oMeI>'u?ÒzN_D7,|ɡ&D-)f7?2[G>?kDh?KYw̬|۩Z qy/{uQx2pt&4&ZZV=^SjS#.!EGq݌'߮(C&neN :F[k{%E} :!6X&7#sf!e<û(s/ҊM)~ċPHMlL'[hG?G7 7ev;#N۷];';m0K Fy?_D{DG @7)CUty K`*&.p | ĉu4!$:Xa9KI⪪"{W/Aڂ]Uz/bb*n}c$P=={<Ǫs]m1 -.~cV:BcPշ.wTʩv@vYES*Umj59{,:]i)"Snqfܪ̪BUVꛀs}芜wI$C6zp^nTK8Se#)u'{:O4;gWK"U'5J6M\7beXr(u_dQhHK+Uccf ZTG`=>鯟v촑VJ٦bUT(!A,gpߔ́I^6ڮiu |jVJ$p*tL[ 6T{\v'>N83*2}7eYUa%~hr;ϻQ:= t| ~ NR᫼RҞDb%-N'=ШO|oH㲷)z{)uU32bz=nC(R)Jea! B T鸠={#6zDu!:oUU󭏅| xނxf'6Z9ry;!U]cFE/TMptL\P/Ŷ)pTlDn2qo@j`=Eق<^muӎfQX::> #/z'ɮ(S 'D;{O=SVI_kRa yA&1Hܚ%{֤iSR eR1¯W٧ _Һ`Bp~$u93P>rnB*B%SC]*`"?$ (/mW;yBa)*(H I?^0ɒRoXȩRbh7h3_{`yO$GkDžv㍙C(ņ;emd ,<>  "`bç=G'a%۱! %C>iֶȜ/vw;J: Y -pgr5\';:y`f[@>{2,C13Sdx~e;W!zֿ =n&q;ֺfSƒ¾sǖ&֊DwU]c)ߩE^I$3敿Kv/iұZR0㣆]< 2EBXu^Q578c\ 1mľ|=݈"#9>GpgH,=g T%=kYH)lneTQLDlG7HE$!] du|5*""lPS>"CD|}rw%x}V(UDz3Ї&!Жa!֕[hH$ʚыZW_R !!,H|GDr`w1 xAXC;zj5vG\Xz}bYeLCʦAO݅ }TW&iAa5!3F|ynD%(k*i+`<M PDZc"Ntn{8oJt|ǡu=S D)xt.>|V"Ta^N(w)}7dpJ(H #(n w~y'Ĩ p۷ofEUvo-ɺ HDLK<|Ȋv#v|@o@ @O4:@l$ =}GW>CsqCkX=Er]^\we;c*qܼ+DE_z#?6n:t̶QT٫TYamL 0 M" UT4Ŷff ۚSCe#l UMݔTF冉1GNISIF$HPa'(e0czkeF`L q Z֋у f$`n4LK7NˆGD.B׍[pg`9PA$tH kOUOJҾvAsWQZFChd>}Ph>B?jgn}B2*JTi11>GntQ'8)cn?5.dfhB<`?GJ9nLjY1 }TTIM/x9Cs ,r@;ؙřYYI#|~q=45+;o>QQiEwzk#&HĀ BAUUUUB&'0s݀]"Ex@zhffiOQeBYaȷ~"031"fW>H~TN??}XfR(*^1O|N҈_`߁ͤ9@b>!HCٻc"|#=vl]Xd'x'AQy;M!?D¾1ҧTp\3sPyɼ# pGm1l~Qd1:D y3"_ $G6bʽWeȒFj4U:{8C18>}4=I27qVD)=| P,.~Vjy}>0!ʀA8DFw,WnZ}ې/%RFӞ@:(-_4rК˯MֵqP˻Ϲj?E|XS۸?Y9rE 2s],Mj;%YBܻ#5hۭog Cg SmF4B3h|,LR&*4{>"Ȟ.>ǻ=\k;ì.0rDY<`>eҚ"*&J@,VfVf$_R-Ԋ ]=#350U3sF;Q5̦+Y Ǧ6>zϤ]hC)*+Ә!_PA\=N3vzߒ>^{Y}r G݇ɨvfaGBj$ _J~e欘!TF5MmYre΄Ngg܀E5(Gwd 1ŖRBxG`*)\rkZG`5ގc-JElqW7i\OV#F4HL NPE)@*^0Na]) q~x&TH #tӺI. (^rllx>k'A IbtmP0hِ?$B1#7E ~/kʁȶ-V}=!͡Jd:] B@ZA! ":М2l}"9-M:5Z $RJ$YyŞ~ϫmLq9BiLnJwqҘ8Pvmw{nG+!j +RiD Ɯ=F,QV8MR6ѓ!eg'Ke:[տ K#cFE Unbb " 6 s(oy瑟1v4Owy f5 =0M 13ّ~"B:c>_C|'H<|b: <ޓH:]C0 vNm,g0@^ȈXZ3% =lG&;pt0r&CBE䎰@پ(uʎv*=|3?ϙ>|DTXs!<X>jAP+m]54tڊ*-2aVDXILUH`kAS6*,@zO D f'J*!SO4H"iPW 9F%94A ?a$aT!L. g$"Xu9$X4O ?G5 Ʊ7;0pr Ne#)3XP7=л(ey)]d-c Px)F'PыI8VPuiqG!^$x 7$pYA)DqE9u ~ddgfk葉16OP/0W N4q#bg:~OY@16 _x[Litmh1 4#B& P1RVe ɺ 7)~#KâXav"cܰjK[Sb0Kw.Pwu{H~p5Fg7zOUP;4Š I2?&&h6cS@8\rU$O (pF JD D!rQ[Vӊ1ȉ>jfT|X@҉l @_NH+0=!&ɽթ,WqfyBĿ,@ܜ L lOsRG,fDk%6ܵPq&uMHUml?Ԃpw(=}cb]i|Q94.F6 11aIE"PJɤ8& Èh6ĆH!E@Bm2j5fj$SQf"v@BW݊ yOsXx#gcڠhJP.0Tԣ2̦5+)=\;()A x}p(L <|SdhY P7~wFgD{Oӄ3.K4_X)H'yX 5 H@jG:2O)~]Abh:NH npQ hx$U?e;+[4!D%&# i@ـÀ"g6:ǮB `P?;qq:Ģ$Ōp8WX su:Rfb|w<3e%@ Ye E "U|ЯXh"O@='2z#KȞD<'U 䂀CGP $A\QG_3$HRZĤYz=ij%ʺqk) 5@ .?TM8P<  ԖePlcY8`? *DR!BO)U}TYb "T }$d-H OZ]G5ͥ)_$>wQjljKfT2Qw建HK*)lKfSdI3fbO/UN;% {9⏪"8(Axf:Ͱ`xX 2|aSVs5s,Ik  t7M"u`&BEnܜvǑ .AAtX+HGEbkbȢ <ZreQE44)"4x `5 +@c1Z(sX JhŽ[C[JB9w2f= MqQ5>R{{X?> D ˠ`=%?ٵtw! "Bf:$ٴR74h,Ca O" ?kf` 8B``<:@D1P`CR@+XF R*B$!_4PxQܝ](? =@}0>SD@. S:Cz; 2$H̏\n[{&A>@IR&Ѷ2ɶKldI(i_BkF!O穪4ȒM 8g`!~!Hؔ] |]r$q!MwJЬ,QA9 cQl#:8~x ?ǨZ"|z nѢHy='F?c{G: ,I*tv~U;T}Lq?6)ysP>[_o޵jGgNvOr8Xib`h\t8..~ڵOc'#Y9XuM35m#2x~.b N=xp2~2@ J{I^d;''~5u H߫7-pD`h C/k9UH"FOεOy4&'rr9h@& SFHH%yN$>cDCs$C!QHȄc6L*Cpr.6<r!0ڙA0LA;$a\t@"2P@C=!<V_/{-_*- B;7t&UtШKc! BA;` HX;)S }P&TbT"Mm!Ia\ekMiXjXMPZCe -E E^!'/N=2?|Hib hZQVF$bIw%0A1+9P-3 D,֗ȮÃFa-&\JSi`0BCHhw-RlbRC, ,)@>DB$"P}Ȅ"/4( v"u9`w'#qBwGx ^U{Ң@ v ~J-\byHb'n U(o;fHς磷e!H`va<!Lg)'&|/@rI1 W #'2G܃POq^' NdPֶ6 S)tCGko2th%r! BSLݽ$h+"jH-mjF7[}hE5F+])%)&\:@܆"J0N$vI z OJ:ߔw%-i8F (OEboyp}ix}բh8:㯁Ĩ̀p< X%01gm{З$'qqG^D+OVX(L1Mtm1v%&iRa+jϾ4,ho'8l& /%4О5Mk历1OMSTA; !z?~/^d*!xD1BV{Yx<<,PDa-Bk1C C߰MIb]lD,^؊R>  *3 hB wgIw}H=\Bh~z:B|0 hk7c (_\{۵2=Ƀ{ * ˟ Z0rbmB>yQPDELԞ@_m63$JxC =5I3X=4v܃Aڢkoj~2B`)H5/f(*p@H3qӰn˻ܻGby`6tA# X| C!DP2i , F@LH dS.A .6[Jjk,/2D%R$*5k+k)RT6"(&ʹDIU%)]Lj+r_Tȼka4 #L'4~yuJNH>pI9OUaWwsk"4RP`;G |~hĩɓHs"^90  M$632B)';x.[1 mM 7Ɲs`mXRXkw%7-@P9 &'͜e"<8M8l;ǷRrBcsH#rv=lEbyz\_j2uxq1ޣ΃۰#m(S' ǜ0Lub[ Rcl,kSl+iJ0We2h2`@!ACRI}h[1 FF|@5jLl!p?_98Z#c )6,gN`R*A\zn>=PT7t%2&cAĴ@e#c\XR҈4[CA:.FE44K4k.#]q'%"Jf`&Hx=p2F&`ЭRdR…#"C$ﱍQdFx`w7tA  PjHCqҒM$e3Dj301&tM]dܲȐ?٫e+AAdNqޠ{$L%!"~L6()*Pzw[NA|؆fɣ[Xa\d]@3-IK73u= <`4 HfSH*ƜQ1Pa t5/<1Uz 8I& !Q񏆣4=l/̈lU0Z@R=<㽑UZlsI`>0x8͘ǫB8dv >T~Y B)"(Q"@YT<ҡ@F{4hF;tvr0խs=& {HX)HoSm8;9I\30ƑN+LP4hVH5BG( v?v  rDFAۈSY>T Lv~pyvf‹D>FDWT1F4iOҞgީ y>dG%D8ԭ!Nm*0}ŠG_M ;&H2wv._;Η lJ$BHނaU mpGCa夌{G6&Ŷ'ű'm4:DouLcw\Vq[ƷD՞&\εlߎ(@1g0/7e@UU4{ ,ai\2\q 'F=鑝ŷkB'|CLBՔ,G-;^Nܹypz7^ik4o#Vn^YR+ZX+$I3 Ytr婊 jOrUvtfΆ֕$i6fBc&*&>.` m0zi;7JG Cz0"ˡ֋T:;^"iy4 ͋2I$HM`t=6rɾz ݴ׈Di @tj|Za~+CN-,Gx= 5L\Ƀ-TlQ{zv g}C4 awvqџNTȽ$rNH!%{ mzq|8hW8&܉Mdq~h|1tע 7ԁƂS1_zZ4HVFJ E*}{uJ=Z1mXs< U Gc24"!3BU0d#ps4ͺZѝwi3EIJJ͸W#r6Bf0ض%wLfjȥ 15l:W 3EG<:\= 5%BueCIf)Arhƍ0#5ט+Lc AaG 9jě<.ugԖNCNdbGh6mHσE/Cz`诀{_q/ClP:(7}HhoLL:6|tykHI_%މLIݍ$THkb3F\4NsYdq&KqK[84G:=-nDR@n0d{bݳסud9#{JpCxw¥PIc4?n13thwwRj|CIX}<'_~a~QG*F&,8tg34*C&p4O>H.!1o=P^ sk^PZD,u+/2>))÷ᑞ3ģ҇#^mhg#(^k.oe2>d!D%"mz4[4.4i e`zQ.R2 ߛx>=YŨwϮ҈aLf-Qew\kk*c:ߛ(İiΩ':b@r tusn$@m !7Wcءd10Ph"q CT+cRӁ.HT4"[g(g\=+H2Glh-<} ߌ>` O0xl'|˂y֦Q60/**@ڥh4 o܊Ç^ {=hj(Jy=5׬A[b|ti^ꛪ(z> /oxs5|pڦ9?ڄmyCd$m3C֛1e*^}cd U37 taЎm8ogMߥ{%zfd=Rmqe1w59 8;mo@)ZڐpFLtvrͣ-;8X-ᖋ}spT: :g\i=yA*jp;v!t}3ד0lAGdzU[XixFVy48> #517Eу崟Yճ 73uS 98=vp0ok8ٛªF(([9<Kڨ9p7pejCPpbkǟ9Z3 x\i6X}2[DNUkF1ֱ:rQ\9C5R)0铌RGX'O*鳉Reh{`jJPJ{fĺΏ8{ ]|t \3hm!^ $rb:2̕&5U'[i6@[t՘rpWD f4  urw=vRX-'ll{kD΢Cc#J޵XjCp15F4L' )'y=WST_()={KO)D$?p' Қ,( (tC:_ ߶O bcFSDbc$Y˚&lĭ~'qpKbf3p8H/u^`s(BPaa` !hjCHL $C 6,isqjc(4\m=ٺj$6<;8 ݕӓr5e Q@#f(KWj0i UR " Ʃ_u`:QDR/@ىŤohy0큢 $ q0x'DC`HFVCğyvt] &M~ZPZT]'ѡ"ҁmVˊA[3 8=;DQBQb@ĭZZD[vf,a[5[9n͚9*laonR"AFjH ޚHrah,S[CA#MEae1cb ,)|Bi?/. GHj `Є@(H*6્]u(LiNY"^q 1HDoG#!l1p0#7|>%Wr oXWAyP&'Z CDi1+|ٲMQ,-&!%\n+]L„A G\> !!9L=Ap֚0fQ4 ( DFg[INZb1КC`.?BT ,;(D@L)q#F([Lȉ)mueMK-Yb @B[D@TE!dAIZ8MH 1 6P(>QԖKF\i,TJ f'Ӱ m})D ZHIR#E!Ы3?Pvx&ƸAL C PDďDQ?; (:fspN".otDhNQQV{D@U'Q@z 4 hT((i` }蓅ZTSțPD|!Tw\|@9:OCCAw9rkiv}LYgVT&CP&S1P^yvjMz6^ SFM1Jl0ʃ;dPCu*\ Q>*c<+Az"uHA%T{r8T6hT(={;O&Kei8>0y%ZWiiBR SP6y(֐r44WV k2 œ,ʈz{:7 #[/>z gٹ 9*SmRyZEhQ sS(qEsCB͛)sJB89> Zv߄ \/j$LȽ*j xيj)k3[VK0~B{nr놪 {#xc=L80bxC]F;7bKQ UJ`J ~Xk*$7)/}zn,2:}$y^W*Ns*ܶ#(+w>$nOv-jD(wLتd&A2 0f &EjeA3&a)$V&A2LlHI iJͳTD&A2L &I$$mȄ,DBl G’/X;}b J{j%" SHlIx!"F4a|ߑ~<6qAB"ɹ)*[[ƆjJM6&b$df%L52LI`IUhJB HIagRQG~`9 }oo}P-"U%j~Ay?Dz '+H * 78F@4J2O|_'3{4~sWa,0‚+QJM1Y!'EHo D?̈})79:tխqj p0,ƤW&_$5ٓ,XݯS *@4!9 _сy,QgA:'Nr!SYƇ{nWҥ  DC41JI(d*HNJ4JĨHx x?t;U"*"Uӷ?5?olB>iؠK6>1 Jr\Rxn@FSuf(haFlsa ә{gI2nĢpHabvx*dt8 5$JbR RnF"`3B2(McE#*mP4*ɠ@.1ņea%򒉇"MpHy@5f % +SFim%22\ Jh^;u™w4_9hdir "c })>(QҀ]6ni%XN 0Kf}7QqbBH1`$y<"g8d=D _b'?M,Q>5@P $J=HTzu:¨lI_lk93%SMz{}$FҺj9Un|Zjd(*U2&,ja"Ju(J H )894exx88@5Zؙ#cV@˄4jB@(R7 &!NuD0G;¼ע!d]rkސ)&)B8CtW6)&Z( 4DuOC܇zA|~2W0%" &N  &BRgh +"R YVU(YILIU I]Ոv+R2CBqr4` 4C@fhВI$ KRiTfdUպk2?$I^waB)?TNGn2ѬV-   yG_0UU|U '[<Nm >:w{p4$=4JDjl>,h?MBvLmh!"sJh`4H- !&Wϰ>a~t.G ㈋lpEJ:{.|6$ҖӭpB "ä>ӓ1+ lEMiM3>g]͌)h,[V!N7sx-"P{s Ok@" v\WN,wl,EL 0T'%|*<EuC)rC6tv'/{ hz1U{ 5(*B2%D8:;$B $("U hdDp&FquCT??~E8P Fh+$6z}ʊUãKUU5UED8T4x/P؏C )ELg'tfoOO:^O~PyOܩDGb oגzlR#RV,ٖkK6E I*"ғC vp8c!*-"RPe B܈oM2C?6dG"tPrw !)S$֓6 ?9pi_{͌a@ H$YA) "b A7~&rFKh= $$< PR#vb tID:7H6U$uPfD].b!>K8v"?mͰdv4p>O!(D1". :.[ mB̪lM>^9Dw gzN}GREEUYR ),N =]`$(9׮тpPXn+c>hTɶE3@G|i41K$G($;?6!Q40CPSyt #IxL~i&FH+K*h(.CC{?>hЁįdHL"JM#/${q:o5 ԁ2d'#%r! l:)TM &䜝%SBTAAƗԏhyG2Ig%Th{z^pD)>' Wd PHĩj W@6MɄY!(iY1zn$9Gbz+;`,)A~z4UD1 u681K 5x ])b6f #vh(_<)(;]P˦J V_ť혿:,} BHj*6t5 :La:8sJLiX95=x5ś9RjA0S!N7ACGGxtya˂0ǰ,4`0bl[O7G@͍{ EMFTh @䘢whgJ|vwUM ZoFH>ܛF8G;hыuS!: ";UxOJ0+=(va: ;MH~?ț?pgd@= >9N}'|DFMrRkr半F%fb1ٸ# 5i6j"ITk25jTbnRmQ4W6MnkZSiRۻtE&,ԛQU\f "Vn4S2FJuC$ζ$ДPMY-mdmeTh6$,jfI)kk]hI @~t D]csCnC~"!+#hIsG_d SЄ: h9IJ%1 +>2"U2Dg0DI$VX*$B-K"1Z~QVL٤֕"SņfVGPC-`5ˆaÊ(>WOOt> bg!}^ J%( RDD%QƩMjԕZjJBE0X~'*C{#$_mMeKKM Q C*|ҦG A711C$ _I?4>p:˴E BN!0`yI?, :gGn?懯;Cu5tRu4K7rWyfwR!|ل=HH6 yzoQT_DB8|$!~??TC !N!~JLN_sd!Sqw@"}  oEE`dHlL0mD^:I*Hl@!dDVZ5&HMoi4YHffK۷$Zi%%5[eD) 20 ) AhEܘD27!0, U;@D4R-EM'I2k~ik]ީ'N!t0@|"6f[kWG%΍K⋠ PuV`BBeN3 1!p ad!!d5LEA%M8We0PЈ@"'UZ1+(CʞzM]ҍF&:e)`-2Ba4[\њQ Pa'D(0 L4+KBGD(a._-k}=/4y;v~MoB1Mc&'{<~ӼD{?3UoҚ#ЇQ`v?lRjieYr611[SH$I`(V*hOjU53@A EJj-izdIkzƔQ EA0BwSa1ùօIPI9#Oͭ ԗ/xatB ѕ4 MWGD4jTXPQɏ[`m ی@ 8NA! 0]mP˳]QdUi ̉u.dIQ6Bnur^]estt5Ēt%:͈4r[.D߳|z)L>7*x<]Y@hc $CI B@sg;)6Gbll~l,%h`IKajP($b V &q&*b%(a;T S"*Mξ>a2rQ A$|Az B " A!CV}~@듑쏪&^^:v{ =cu^(!L8Çg# 'djT y QoZaƲ!5[뮻T$Y+0FKcBF᱓pjJ IR,uҹ6̕ɇ c8;ݍx:>2Q=ȡߦ2Sb+#pd8B>040_3:>^8T=CBu!wR@GE<Mgh- B$x6U'A)".72 eQ&Hi@BV1#@)""Jz))>(PE$mk8BىC1S|jæ?$#K:2KICQ5!% 1!hbǷMA]"`H de750JjQ L2-5ofh%T|=<R : ݲ8\q&   43Ҷ 7d0 aũAM Hp$(8BSAz!BiQbZah͔&)*tQy??(W/x | Tϖ5)^+YR@pD\vk@K&t3a%BD1EZRKT־/ZѳMz*$"}a0B,(AmmZ#ď{;?!C TIR2r !v0YN!F]J Ӭf& a<(gnуo12k:z%n#Fl1Up7h @@D5m&DrNO#"D,m &$D+C5! Ghm?CA\6J ¼b"6khmp6SR?hВg fHhE$VMðg r[ :V5-QU"T)R vǃ䄁p{]/e6 )K9d<9F(b! 0p"  Te)@Ȅ)+"y*Aq0,6B_ _ .K㯫N[f.wkjd:H?BmT5凢pP*r@||Pa<].N|h:'!Tm#~x˔umb[41ù]!/#LO ND5V..iaC"|Q~Z] tG{sw[ZčK,n2&ST])L QρW{'9GT~ ֑2!׶nɦ{`'%=h)x~!@6wA5< o 'ILE ")H@đ#H?|BQR`Y;$C%Xi%LPkfIc^6:qe \H@vp&26l[Gaoݶ $pfm%Hx5X3"Cǂ`A7C0(qm;㮝AJI4gԉ$=I ԔUUmUj0!S> l?h}!=|(z8;"ԫ[ЁN8d@ME[F)2M),i1FM F $Oo. ]l ň#щDG\tHvv;vLDLOԤD0o`c:PF!J]r ?_N8IGc?gk1>/w@89/Hxf\7qP&9܂RЎ<;.=yMkFJ!(bci'Y[1'ikcc<07Mr`f}ȢHWWp 4hk5Ȑ-R(Dj~9> Mҋ6"DҾQ}FUy<gϽMH.DWl1 h%WDB'rpw0GH*r(~)h9b0} ^#4_|vɜa )(I0 lLi-ස@kfYA]A.[$1r.LWKQJf[f=z>v{a*Y &ߦ SHCf -L!-&D,-|V%IzۭM٢(pLkv!9 -D`m٠H쌈&סDņu5sf[%ZPpVWQ'NBC:KJK:6Rɫ2)XsU6 @,ѩi2j9Zٵs\LKQ$ WC#w"M;hM $T!4HV6iY #FSJpPit&8v 韺KLP"l֤T819 ȉ#XML'H~ }sŴΘmGa<]dAx#S8s/&Bp 8>ȼ>E"A!W__Ͼhb$SV#XWO~pVαӇ H4U*dQ%8 l)W:Jq. u"H w(;Kuv 81^0DPGX__=T .zkYBH!Hsx!7Ad HǾ D R &UREmQUȁf{`(?q($S *l*IU .mjSZ jiLL0C?AH"iE|hv,JxAWؐOQ d<`?p A"{}j>)󚍡XSB#@6Q> CѦ=q`tw*!XKuͳjoW_~#=_t='4RjLp6~&ȸD?`QH!C?9?BOMile54-*T&V)RM4%VMd#بI2c2!(y</ >GBݼ)$/qOz#fbvcWk^$GLdW xdIԴ`E^-.[^43UI33m֔)RLiE~Hv$?LX}( A(*R!|Zi*Y6-Vj5b-_U+] H(fu a- B KESmfrsXDmC0:&aRQ&D_)5MMJT(~2pS~Ɋpp8Pu^h~^~4!۰ҡ | R* A@_w3:Wx}n*Bf2]yW9Oѣ~gMlO%Ĥ±BKH%L0sS Fjө-u? 59j'&e=aNĸ/4HLHY8:R:e[ S)XA{Úؠ}Ӧ?w%DMVa UE4+J.Owx7fPCUBl[i5#/MW]Jj*]TʠHUA+Ž`N]*ɓxFDm`أHM;Czzɍg xC`< 9ДI :h2C!4A+$nݩa8@a 4#@D+rpq[I$8$aW~=C~&P)P'20!ѝeȝ`㵗! B~2214_X!\U9ؐ1mEo)B!@=IƉS$`H'b5i@XQ`ֳZ1$&fz' !D" r@ qm[gPd,K0Ǡ`#/Q< Ě Du`DCAؼ〈ʔ z(G B2 >L#25ѠN |! &$?>8:eQ\ +4QX?lnb@RAL}=[3L05>`W$h!cȈ RiNzvRy vžXJXtD.-'T | +fRL$S<2dS!h%hT\[(lP֢G3I٣SlĄ,~Srs#;?O=j rv>uB_hd(Mz#<[ۍڂ,Fp=Gy0L:O#v90X@.; B8=^2Őn%GLj:M m{~ScSܶ֨WpZ/O}cC)gZn$UA{:Qޓ01+HlɑpaE;ZŸ сcׯ@oD\+iߪYn}5-``u)"Hߟ>9:HRI6Bs\u I;Q"E]L@)T!$iA#A tϟm?j*ZiĥYJ O2J]C(v";Ԥ[ц@Ӳ`( pSH@|@˜|K~z \#C;A@81w   lxBB 3* x;a3V^/@u<^<'sܫ!W&>>ﺳyH?Ÿ?^ mEVEtOS-<9Vt9?w_BbAOvkGh#3i_{*H0ɲTm@i05 Jn qs+h#6r!(tqq#Ah`.@P%^`0$ruABr27v&0Fu(J5С.G+0DBv Gh}p$*Žوm#bGbCËxCFЄ:5%Ӭt,zv!:cj|ZPraGēp qH_8fȵjIU:>/wD?/?>>{吅_q|ޢ`a鄂H&d$aeHQ78[g}+ ZV5_iN1MүiOus ;k A)˜BMhU酳}nY[IJdMk_f64h U0FR%i@lw)Mn],٫5ZK3XZkvZ*4%!HI,6JQidȦ1ʼn"f."ciJ1iZZsljcJHiF'!5!0hmI:",KYvRiwfI,+|L,HME4i2U%P G6O]4hΧRk+4ʽ5{;[& y-ܫ["U)D4ɖf5D2wu!FrݱdI(SJME55 (LR w&tuib tjG2F CGX6Nn H6bx H-  V%a$**p!cU ,qJLjD_GHyn Z46lDKk1(BI6vA&#Ȇy@ ˈ)*;&D@2A,_m}&Dյ% fhyhͅ W`SnZRp& zK˒L2B$%w 0aeC@LU` a"BCb B" ⬺H%)@ d2;vIVr=`,cV86j>ueј˕SmUtLGφJ"X,=^R,L>H'9_Ba;,8z4p cA,\PL@i`Bծgj*Q@6XpDlu0&lVgH>SH,$.#EWM I $PL3DD,@ VGG)BmX;q!-SqtF{#W jڏv`Sa ;O H*j>`?>u9",؍h\@h7^NEcuG(F:h-@ * Ā[/pqr`&8!O Wy#y@'~rv e8f|r<.U»΀ n*)#s}b DZ"A70#D Y)~ke*(#ʛ<ߧB0wb'rr{ C *=‡`J&H!dd Bċ#(D냃Di }*EhX}E~JƓG¡騑@y}#3 ,J}^onfe%ñD! XD&R& *wsA?K=dD9mv P8v, RA!)P5 & #. aJ 0"J’a9d`@Bx$չ+|F)&pB+7[FtJ>;jASGdtGM6p=tK$$>Iј(@d 5NbOfOӏoǯA#Bdż+cW_ƽT 86bψfÅt XO=O$k.ˇϢw/9B3S)UJ ;T?8($)Uo/CrD#&*LF!pH!PJgo !{6뷠/8爈!zq^*3$Qy0B 2 0I"bDD"URv`!.  <3+r!!6J7S!H7?z!! Oc[Rf=2DQ<2*4bjhRFhJmPVܨ[fզĴX"A(M, x Up:20FR)hA\%aݴXN7ƧPZM!9:X?1b'/1o!S[r?oVb,ͪN7-["cH6Rtͺ,95?}3 mcm { ZHUMkD5Svd Yjuh埻9bK詚F"U DSLp "yCԐv[ E\4G/}YEFMcX(,"C:dzZD{mD4J@8Ӎ+Ń87.U{O71/K;<ղt=i /;l)9]e,R B ?nՏew y=B &TQP CҦFJ3ZŃV?3@9#q Vjۨe޳̉!c2Z0|),+xᔄ÷k?wa-1XgY^ʍENE#Cȋ$~MtP3VĬ]ѥ[kB m&2iAѯ>&&R"}7wG0ߍt WpyDЬœ./i& pLj2 q \t2'w$W$Tz8 kl(@eDdT)8crZcN;v/T` cAUGFA҃Z0l=h\⦑hMͺ;ۛGK1vc>X{?<$CsYEƥtl96Du98&VH7d$h1cxp!M$Zb1XՒJlrla0ӫ`Lɀmh{D`< ‡5C2 nt@{*P c$Y;Ñ'/62B^2Z^ B`ԏLkXšyJC0s\~YB9BS(tm.Jz:z豱^7a^H}ie] 8k=Ϋʍ3t"}cb =m re] kݗ*E:Cu-(2:m[##,{/]H}蝓 ڙa5R6h`1:>|YR_r6Q6 rN̮0>A@*bb$ Q p 'H*kATĠ}'v^oegP}CD@{ lIYc&TYEMygAG\m#qRm |ˤ"B0e#l-@960,AJ(hգ!b8,JktV1[6`HT*d#{=pv@).\T(ͅHVqE:&(P /wvKp%g>vlǀEE3Hx?$%فLyjµ9m8BQ|7 2iN*6]=%ܕ*G Qvƶl< dG~҇R 2)IG$@3tb#xa@ L>U}# .h*\0!1K6&UFhJPl?}7rszL;P[=j ٞg fȆHO8 uI'I|xj!m, !>B2QĚN;Z^ytFk6$qU3xH@ m)0Cw2l=ˆAQeS I465dfX~+{jm%U8I_`53l8T\!D?*+ᐒ@!T%$0L{M߃d] KbaȜ)) I&vSd$e7;Wu08QteI‘@.9Ma萄S`q$DI ;-:0K.D3D5T7}s[CcDn8@my.GhAGj0eP X>TY?(~d8B[b B9:yv0i' L];X"p9 C&HsGA5|>-)I?V1ݎFF6*l^RFӺV3! ?pA>@/RQhNpwG(k)ցq=ו|(ߌ6^M)+NsD398>q wpolpK PSFT/kfL~ݗc~ mb@nq0,I< d!ÒqеB 'RQɤ/!dDK]J 10:Ld#QxO^ ȹyN9 cm^;;z՝80 HʥWF6&}df'UL"LcphdJi4JbT`˫Š'@0u|W~*PCMo7|wɳz ^s1Dv 0+F"]qH 6tg1Eq] 8%s3M+@`׷ė .i (1xhSKӹ 5Bp/ >> T $~vۏb2V5۽̗#bL- $5%EP@@P4,,$1BH1KBIf6![EjlA)ZTiTYFRd"ed%P i$B!Xw:6+B q}Pԉ; *_N5Gii" 'x2s1md(m|2dI\*"ΑwQGHhT5"di h`, "V`p8i 7SrutSM.Z1%M@B3 s܂L?XՏQ6](&4sKJ4Di0pTΎ3ȺA ݷY6_I] (m0y7"@2qUB$]E(E-@Ң$ 5[ѥ@Sd(l:EcBq)PT(TbИ BȐ: dHZw8A;"xH߹=!|Ov|w x{|sLu=|xe:̹Uæ-𔉻L CxtϿ'E"@$b!P%Ri)Ȯf`B=掀Pah<ďBO/ a=|Iα?tG?s"D<.a89KyދF*|*k`>a}W^j2ɉd?z4H>Ī`x#Ѝ"t-,nm^C{d T4S~zpk>pfL Mf"n:J3Z<'N*Bp*wl:c@j/5[KߦaJ)ɃHcw`i5ɚԛQ-kT"a8D EiP1f1Q‘$R`5蚅.Ы4‰ C^4 F5V--BtD#DPBQ$C Ed!g'Mh):4.eMDRHی 1<.zpIt4? M⚧RIRXT"AlQ4D/8MGALaސ8CLC׭cݨRᢦe4v q)@F KHF`A[c7` )hU]+%p*hL3WH&XJ[lQ&J}P D4S05H`b8ݠ\4k(ASA9/U%J0&Q(e)()z;ΈPlAvRgze `uVY!kETng1k%^nq YGR0%jh3ݎ{|)f{cL􊾎^AB G u$}?(AgT!J'?N87yj%gc6v`-aAhCB}9z<9XjT.vpRIM#ͬ QtJlaOHZ$1f.\B[MPTY(X""DB1Fx\ѪMƃHHRH@N'g Z-=v+6vЏ9]n9<4t+yhI$Q [qp|\' 9ŠJ)-p4Nx 3aٺYQ,(qeM$'&1-^r&/cÞIA ᆳQǸz:"Sp|n aToAP0P2kBҲb=1R;DJШ* FFE WH)E$H"hufqƬA NR4l\FZAxRLD MEmukMgGm<'e0f 23Ld=P*emv.}e*Y LTLZkKgfE/"\k 6d.ڈЁڄ  (iT.a(*5J6a NLˋ[بk\TcEDri1mQKFA£*ƙ]pAD !F+95Y|zt gziDp"WL&Th/^cM3P{gHUy08nԢ44A{t5 N5!hʛ4 b,cEYhu97_2ChZi VQƭY#uE$q `2`d#:M44HHK>GCFH3nݚ&< ȧC.L᫪:h>ׯjLT7&N#rwG(!ɉʲ=n<|&NF& )Ƀ p@s`m87qg{ɳO<⋦(P3F3-FםxZ wk݁l>byλ$87@9Bj0\BLI)Y [Y38Wy3|T DX\! tQRD : _w xMR n rb!߀2 =}'kVtCaY!'Yѭ*P:@?w;{KB ;oF&X,8D(d6h>(֐y7a J P珮 R˸u(*.A TD hxR)+9(RF`5TC& PC!J$7* ; XH""kR &@<}\ 5ThX D$[ W*X/oh ͑LN u4ؘnD>!O:!xG)FQ|q"TMGa Qk]H~K_oKF^C8{=ں3b6NYA3) =mC]2ƷR@ F@ iQdmDNs!$8kHDX"d:V&$gdNHCIv $A+v`Q05`5%o1FY$c :v/KUݮotg`LVzEq[BYkRzoW^,La!A| hL#Y(2d$m#vA#i= f/b j!."UDs ",@P a$ T~IU@d4%<~SIb@1K;gyRE@`w{Mf1xfphjNc }:= wsC`B )K4i2YIFHiR}п5! & I2@$%"V!J&3ĨLh X 6+ll%FIVhT 525ɘcgói= y^"!B  [JV5mKWZ*3 ^{=='|{E1 F#IQPIT~éϑX6wD'OcP i~Y @y?ACuD[)i%i4ۺk#3+:-M&'V#Q3Dl˳DE4( TCc ;9yWXp8(>TDAhJRB(PPK*0N_E,`i| K; #W%&m B& (aA6V32+zT/P؛V51D)@l ]I *!ʌ8B +jLE:dbpҽ19z.>C#w pNܩn|CI;>~χx{^/(410$ E?!"GJP0y IqZA>GC% RMu'DWL  UJh \(U(A"(BD2@ נi>sT/ ;㤐`*H| |Rx95-Ȯ[7-`7b6'DS*UTq&1%zp0]δhLm`r4J0| 1nEרbS۹[yImRAC-!0 =HF$D`*JA+wQ"}Gb;u4Q@ > qQR8Чl" ~بOQ $ "DOX)p;tw1TZ> o^D> kD0#_9%$&Qޟ`Q ?Hia!"U(ExA К8? }(8</.yLPtl`]٫h`Cɦe$Qm o@NQzWFɓN1vFq;!lq2(|&7|Y`~I: $A`ɒɁ!*$&'m)ܽijQUMk~ļ &?"ĦʎpR J!"P(mLդCY/5j bjV.iSZ$}>Mh⌓ͼ]DJ{Eݼ>H탟uє{yHiS(Q*gHE@@e!z!sNfFҔ[4J1/00e@_v +r@` b6 ^=_w_Fs|ap{O{ð" ̖vVb+ㄈ _AC HB aAӄ1ތ"S!ؤ.:64q %!zմj)c۔h5Q@]yh rEM|Si|}TZdS BJaM(< ^<sǛJ6їJ <4nmL#"!DJ* A/ga\âA `cT*JHL2@Chm܇"1gSPLh E'v uMAeCRju8qggR5IJOtm]vD7GO {IIL\X[1mX@z`=cA(+6{e**Jg? `EbZ7aM".@!C:S@f_9lH?AG5o9O4dbaM]ZLrRJg7*MٹnmU1@HD6C4JQ-(>lޤN>0Рx8h`92)StnsG:4J}zK >KSGq^G+ :>(|79+:crRd Z=E>(: x} o($M2Zwoٮ6#}Wٱ!R8NAy632_G{? 2`vНP`!l~Л q+5'v05A%˕QqwDn-[f":eR,I=GtY8&QŧzruNRbIF b4(gb9%mØ""rAFQDw R-;N`y4WCd7OճKQ\I,ތ-6f%U@yьĴng%꼷lto}nk+ie ]X^UOF@thtU*lO$^Ѳ#l}IǼm^}yc2=*8{m}7`9$+$$h1UtOϷ{!tqsmgnrnUW`m tUy[Z`MqKɓڒsjɹr)JOn"^gk\Ùv)xab7WZ85>NouHU͑;4Tu >=kGR}1T >6szHNu^M{bovۀU'v}-w޾>nֵ&绻}_}6g֖}eS;}lP[b>}nRN؟eh*}_s5}7e_e{UIf{-ow9n׷>{'Re%=mowu65ې,}gvlo G-}N}5xݓ9}k4ΝEYGij#T(I펜ܠ;uk TRE*0ڱMl}GW5R-yDF"뛱O{ oLyHRzdJ7aȳr|ݾՀ;HY{;#:N]:U\Op_mcP>%{>{i"1.O]ھTagqBzcj-f^ܡJh{0jlko||i͚[KZA\T|JΛU̔(T@W۪M>0{锂㥡àP@%р}[Tr94>r-Q὞[^r>\ƭ}{}[G__n>]>邇CUu|۰iݻ>>{$}|v}q^||ZͰ^th1LȒA>vtMosSRLNlgdi'jTF#i=l_?VT/ua^o-O?FhP}'NL^0Dwj<#GK'}$xgFWeovY[ I} yl$f͈h(ۙEqe*6w?sI,穾yaǑ4g38=;"xG˿n1 %`8*8*@APYTC BMW~R{?x \۱*ەc I@UJh1 &F 4aco J:$"LT vKMak aD&qpg®Xjʹk*lWn3lՐ""{G։^-߿\źk c>p~ԦH?LSAC1j, jP^A=!* ؕϒ.(ujf(RgR_A៮ٻn熭d)PF֥UmjVe&3Ȳ:| ";B$3ԐiC! Hn2c~ߌwĴNqYݙtD]emu5/_v]lTPDQtlf 8~_&d%>=d":keԭS4k鉸9D~$@(tiР1`:RCwT!D@9Ť|mN  hc--H Mx`Ba=sV t!!$ 0~m980LkAءs8 zYhPMa9R Xux0̍pcH$G6n[U,10 tIMPYxDh㉮iioe3>7Qt=zoSe}=:poC:q6[cSvq69u CT/ρ*ND%9#=;aL*Y $6m*#We*ufX,׎qco;p6:\z7darbmJ!_ c%e?6RF3Ch͢Fi k"MaR0e +Zط 7jQU֜rI8&srʖՍsҵtg;w[y8,T׏ ^ t3qrr#]D6wkyې;ͮ< t , +` 1j6JLڤh-%e&D\Nw\ҌcoM^y ڍR* !yU'9@c̜1L\$ Uff$v!VE*25GhA吢mb&d!N6/!dgήr񨰜[bpzm; )uܓZ1g&00Ipj>}EĜI cK"8'ݺZ.K n]m)жz^4[L`b{>Zq>ȧ0-:3.ler2ƈ?DXdiGR`Y|KFU <V\pYqFN>j.zs X lwZ+Yfה/v{@#0C EJjiGg{sщ(`:B4LJ Ԃ'9 逸Jr ZT^$W &Sp'oI4եYO~aOAImdu JP-M"T9wnF15˟XCI+sWض)4mQXS6&~9᤟2pAG2LPKLQwfm֕Zu5v]x96^^]݀ʸ:"f9pD$$ŷe@T ) ?k`yR9YbCIӻIύA=nID(p3͕' ^9έD15 l m"$cH"ZL b^)Bp??{BD@$T3wFӪfպ]P 7v]JDO668 IJMKEص52PHg3Z4gÞu(>0泀aG8fIpM0tNϽor*2g L E C2+Q_Uosl^CXdᑵV4ju W;M[Ӌ_p V? h=Neaբo×!AEʎ9 "n#ϟp:øS&%kz"t@(w!nѡ17)FC=w͐嵆Xs2֒ ȑ :p"r=;CRTb(H5 pΪXZ"?D&nìSG醷:pXJH'W[NMHeW˜ݖ\6B #Y63p@mb#޽r˦(}4$?zӄ՘P P 88@<9P r1#,G@Dq-|G} Ur\iZI҆&&qJ ]s^GP\AC(~;M̄Hx$:,yĒ"q9ŇT*1mjA;Trx߰G(٬߽'3T;lo4:wwu)zcRK^i8J/OExInd9~;u{o[ =m2YRcfZZ8+F%ɉ0B$z cY^n^mV঍H#xk5gîݬ][+J[P<&2B ﱔ+U"Yӵ{8O &Ňf@)NȪ; ׳]꠯u,/ fƼ0 XJlt:IL쾅6:-IVvRHZ2c;]Ț ,W83"Z] gveWUb.^JǙYH5YuNYz2,ӧ 9"tjC :=Oі٪W*ټ=솉2Cѝxa٥mya)Ń>bz_ <.z>fz֊)"桼ui$ZFGÄt^ &Kw:CoEL8ٔScKs&]ܱd<1h-@LDbZޅ߃̝8gp9%v)h&( {p`ntNF֙5w6RE*jfiCRon2x!(iޝFf EU&Io:ҭ fI̊yJG$ix&˩u-ߩy]no( .DT3t(,]j[pnR%6*M#4x6SceAc9}Vܦ")rQQߵ0E^rs4yAqC-~Xv9`fⵒP^H qG?Fl es󺳿)̗XDžl NT$(%iС&wkd^0/"j'(GuEdS۝.O/u;s{"|_~syLJ[XFY?L"o}4ώg>|J=^ӏPI53RS>/"rP_kϋtA$B)~2}'((W8#}Jŵ/B6'ox%9hLhhc {h}a(DXgSalm*cks&@5/tG_<,^&K\;SYoS\0!x^iWi61š1l~Rf߭|w}sE;˳/͖N{Na緷75'sS3rc֡DX xk5hSc CYHhgq>8?쎪0i\G @VNkjE;ܾ&jyB6Ӆ/MOifcm((b01p/?tS 椁%eV< z4z?Ϟ;ht|+7p3]އZ`(@-")RJd} ^l4&Heh3yIz"TXx"K/ob2uv!)2*+O(X]|$?U:5҃)g\Iыwe!==6˜p) ΟGeu+o:[wnVeU0$ʫ&\,6镤Go_AnN?O5t&IȓUqӵ _)z*&6lҢ2z=S<k,/z02jYocdt | *D!f]F._DŽKGJYPjS,DijU1d? j[!00X܂$>A)2b "!Rdl6*逢z5.R 52ڊ?tdj'tm; M'RF,IƜU,OO~%&k$#Par)HҔY)J'b?d r)Jk`q"jtN` & XFJنM/XXDBuL '''k5s2XEujMi]^,ZB2VKe3FXқR.1Qe"زOz¤*T~~П)}J #v{(|_}'/oò '" ܨ )PW>*_< D{\s G%θzOrhcP50hYKMeӞ+\У09l`H V#R!?&wv@ K@`b!0( ehbUR*tE,FEC uE5 P0B 2=\;KDR,5DFfE֘n$V%ZPP C,BL)Q2`XUZ()2 l0Tu J52 .sK><&Aj-TRʦS.;t K:DΊaMM*(J|A$1k,;.R5LoJ!`nHVtb^ݴ$ ^ƜN#K#VBeHhT[?W_9u${2 )Nyck}%Mq "?i_^|JIQ:,JbC&hUw BD@45]wXHT;6dz] H *ЋEPp18W~AM\$#0op!T^G̀wf!؜S. Mb$LS{Shk Q/R8BĕtlVpa (Ѭ.@ y/HI5lG Y#\=  1?=Ş3cQ[L4hg٧",ȪG&=7=蓑9v"r%8Rc UVD(~1'!n.lׇt{z,潩T\!^TNC"6`?͝;אԳ \>k ;1 ə* SO@PuꂬH0LIhoLW)2кDƙua$%8PD% ȃ`6K ٶZ !&!fIJIUM5`j DVōWHi/%hdhW.pndC)?o,b*kۙQklw˧'RUI͌(/{Oٔfq-T`plQiM} fqaF䧤nv%)lY%(ʛPd`;GG2:O4 =Zcu/5}5OzּZO]Eį$@a5< C)WO 6Rt9hP c͊Pהf̒K{om0z7.E{G Hh4zM YJ ,*?F iSI i"-oSw3:x:xDDDDsh{Ͽ95& h1u IacaDŽ-Pjbˏg4_O$AT/ꍮPh`Mu=3߿woyFp{2%Z\Z_d~fg텻?M!Pm UpOW|]s{GӮEQoۻU}Yqa4܈BR*Ss$%l~>EV_oSiiTs8glpV{3CC%( !$tfx T$DD(PV!~[~~jI:W@!7-xBH>s֜^_{&t,( ܑ6ƒ,'&Er"_'ai~Pk<-)3sp~VzoNP)7h*t4/[II!4}2;MXG簹tp}짿0>*HU$򗀷hΚ]_rUSEN&WWwzʧjٗl)k]qK#k֠-9`QrR1%7 :ƥx%1^Nq 6ڇ?^ kmy >F^[6})si/RdCzNCwa o{KQrmU?΃u]u;u#*cnC3zgAe$-5m!Sl`K.])j 6U޹v;Q> |lF(Qti?L?ҫg Ybrz^eY&zBpw&{g/^gdpq7 < ^SmY>_6;J6WD{>&R])~[uօ9Vaa H&Mk'[Cy\i[(?w}3ّ0eތufU@_T1WQKwglgRiVamqmY~yMyZ -Տڊ:E: T?ڽ]7Ʈu/yup_ly9ב(y baT&bYߝF}YQvy3~L S E<yeuƵB/uk {rznnioɪ#:m?(ܴr Y)t \?"ʍeu Ge=$Z{_Eoo?ݡuQS)y\]@:"ktMkgVzRYtL+tvuŬ =* ϜȳǷ 4M}][O9~_oόc1c1c1cƧk~@x>B?.\r˗.X1c#8 >!&g@9PHP;LR1#U[R_LZx.*~evauy(|ح~{oU4*S𴼷~Yw1Q #8zYVY[fPԈdNViTfo3`5&,R8 DٰZ l|v+ Y vPX0 5ڑVyE2oʜ5gd}Sxje]f8]]lAŔiy\)2M#KߵQ K;@9/=q: fD{gyFvKdo}yeǢ넦] ~SΏnywvG~.Rb+bN P ZfCdYe!RC QV&T?zDBHi wI*J*BkD'@"uhG-qs =l8`4!IRdIr~#ܰ.#lyVz>W!KK9>_=z\$+DCgo~#g>w&WpZ?w=F4~^zAx3K ,~4 3&]Q>51m=Еb%ȑ&:F'4ubj)뵢K!_Wy쏔TRQ)2YM5tWQkGШ`Ĵ>=Ss9Fk0 "Ŭzi-q1YJ2K,MRB?.?=« #H泚 ]1džJ1A&[?Ξd͂.Y`"\3 辂(@jaTDH=9  |l؍"ә~9HktLre3 h@l:'Ֆ4aVF;H-$pXEȗw`~P9}d=ƃGϯVnǤߪ5!f L#cif_"\\ք&3Yؕ 0Chܿd\j])Ès}"awlװ S;'!s{iiqqCj挷"ٵ[LlH!zFPgU2\Z#@x:?[[54@shYFfcRvJkkDBGa5ʶ3[;QF4Rm<>zgqe2A v Z*-nGF3r-ZTy/5&{_sb~v% fWvdZx,߬z8R5PMroTp{zI`.ijj!keqZ ɽ>YܢLbOPRz, L?^D8^ #?HIZĢ3Y4+w )?c$ ;6厹NQ˄tiXr tklΐZ2f%~=Tq u{<=]Ciқb:=Fp4@{l})KтtyWTUQOg(ȪHمb9M\r"RI&עN$E "xHrO <T(TxCF""\G^/n0)z|;QJ@^XR:T$ND4ɣD dFhoYIҶI;Cp q"0C /2SBȒ$fKWhF*l 4X]?*9 ~oԛ C*SBDdSϲ'+N Ʋkx0??:D.]ëw$XB SY'P9UCgl`{SIUMGwʇT=$E,,[1>k9FIj(Iʴ(~>X-%*J &Iq ApY@*蔤!$Ɛ]4j-XN2j2\ħЗDIhZ$?*b(J6T%ŚQd& P|mw:u'SD4̙# v/ZdljFk ΠiF!ÛlWM/w@> )Q!>"}G@| |}?C<}$kʓ}_U? 5jRk5B`y15&ct͞H ְ#kr=zJ:tfX.3祝iƘs,d2d2FqXmr @4 ]\dhhA5x~l58T}\*[{)Yz@؋VSq,gLƓ`9mB_~|b|(z/?4[Qd֑{9+&e6IwjCg֏g(+2fS/|Zx{ڇyqjjQ9[;>Mە/{_'\^479FF_8;خ境h%,I5Q ַ2mcG+N-avJQ* L5-,DMtmّQ`^(f#75b$@x6=|N;M8yo82g!n *5A ڔK<8 cmɺ(T[Ž+͐Գ=0)x5G} {&Zw 'lrE?T6z?.9;y[֍l(֓F^j_V.8'3hYn&+=W *IVɤi~K6v_i}붹ÍkϭC&V|9큦h'V ^f%f8b+;vqs /\܍M'/ kOHc@Eи,9KJm1bc)"-IHyĚnp8c>  /Aj1о#`5, -ʏ2y$i #EJ&T7Ϸ;XqUy@cw_>oG+n^UכBՅR6YzbG/P~h8f~֡jeRW3F$~XKJ^ o,DeX<ݖp۪KI&eB+.^Ialtrƍ-vQ 厜5(!&#݊֘|޵eGTeR\mHLZyn;GP%O$W$"#Xyh g_-M~#g^2GCu*֣]29v5 N0b"&pTV^Pw@*s<;)Lwގ};듀~+6>lt_PZACFp;w!>dtPb%%yP6[Eؓϲ#*NՓ(3&Mb!u$֖EV BܙZ98z{ao42-5<~tg- vyJ0ۃ7`D*k5c{>ifl.P(,h7#6n0u gRx`\B_a+X#ۏmt۔U+٧o}۽zszJ#cmnUKWz#fkZYMi2Iį.-O,~/J-#WY١{LSRh.3S' Ap;]1;jaFe꼳 UN xpf:Ä׉$NDjg')ШB2x5IKl)Fdt Z`_])ʷ~ˊd)5UlE%LK.9ƹDE9*/YV :9V3婕o */m) F..3+[`@QclEM~syMd"gN?4xӺ׫-Ygpp|j݋&8=mzcn( T ^Gd0 19!F#09PdRMtjM^늘\Ԫ`ŌD$HTQ*3X{7 oioU\xh=x鿀|8Y]&g!C|X.GY QU*MK2ŪoæsSS:))=۶FRk3jA?6o~ӧ4l11zp3eUUU@*UOR "mylw"dդ֜R}RFsg" Tmx݂+Ӌg黴6r .1tE_/>tIb Q#p!L ŤI}v;z6zs7n:t ׯ<}/l>6k՜O*ZU'b)3^}f30"5? ,T6U*{h$O6{J 띀.*i~EQ|T2(w kSzTqWE vzʲd14Iv)P1.a6 F54n6+{ #:}ZԞdRohdCVyWA.r:2pB5BBF *I:/Tه\If-%9o ĝD1f`6XU#8+i wұ+f % Z ^J+EL݇<5AoY/ԭ4ieAFV@ Ҳ•, ᠈iMEL0z~ecHRh>bîE)L쯭y{MZM@KҢvŜ*u{o{*=GSqUk^y|>qfUmyGK|,+ v@ۯp;\E)IiÄ!R{|WSM|H־5=q6 4@1V*7%yeR$H6eCh 0lK("cpDAԎ#H<Ăy΢6`)! ؄%7IyiY_sMp˘a5B>sӨXI)H;ن (CMꮴxnECCF*9K>g" UkX>%#Nʄcj1 L}嚺FȚ4̙I2GwLb@l2NΘR=2ӯ8 ?#tSщzh *:} .vgLFa>42d2ގphl-.Hf{-r*<ccFחCvv>D> `wueoYvuGcmZ?Ӷ+Hwc:"T;uJ3zGXЛlUA mSƧUWva߷Urv#Aֹ!Rbؐ˴Pq)iNTAR/~`^>1&3K]Z,XKG?"DhD6c=$ʄO0:Ytl ȸm_^ j[2Qd]c۠Dii&dnorbD\G ILZWbϔjxĝQZ :Bb;2Si4~ \{^ăfy\<œ{ayoiӪ2ʏXb<9|blm#?ɏTsaBPk$8cW'z\ ȐSِZyU TrbRIH4oshԐhJmBC[1nr;6M^Fl$qx)1{#yW!ujHׂ 4$< 'ư#{oQThֆl:8cJ*[smӖWQԢyFٝwl֨HY|kV*KTo DQʥE354ڡL)#t8ojuEyoz4ьVRܲܯ-krqzZivȤ#%XY#{i$@zHi[ "5O+ NŤRɨ˗uM/3,H"D\0VHH%%g{YAѪ TM%S(uX>ܰFzvtۢqs R y_Ky򕶼84\nY7eV9ϹY4dNbRR=cSY=;t:ԑҩt!29qcLsʋq}Gs2t jT`u?.*ӕYMPREJŪEA.2BGY~Fl=BtOfkkC8~Czh\0(i*شfeC~>ω0 L|Ye%PpPU{;~d8؈ȎмHm8Q52zPoF*)9HE ʰ3 !-lhE7d/+և^4*.˦$]$kýg9BkI Խ5*t H2,H X9%1 fS`e3+yAxc(308aFFLх:D)@oP\{saZE^+f~iX$aDqƵRIi>EU@ec֌CrF*V^muxܕދ|:#O'&2>P`e=oG~}.JKREjD3tݶLe#)T4;'FR.J ZhfqI [~Ų83܃z')*#\LfC!XոqElȓ`iiIν1+/[t5MMo O YNjrhvֵC[QA͝[\Fp 32 ӄ"#5]mGu^QkДw\q5:58bE2>0YV/ (՛dv`D;{~}8'>}rά; *Lr/}xشoˀ癚x+^HA>.c%a`o2sC Ñ1|"Z42<3 ?~\hTS?$VT(PnWю"0MHNaófP0x$X6U~lNϺ% i uC~Rejlj3 iY b,dd4 %ھ:ٳa;P-)jS `!f K@4#tc=#( Z~^ zA˿:mvzD)B/,^<'O_QO3)444M1u&* ̧u'kZ眡I0qGP_%i,eM CQæW*#v9Tvk8fN*OwDz͉V#3Z9s hQ*H S2fy hd_ b g7r^MR›g_n_(^ s)\yKRwUL+/`H exlgQ'e;IY-|\-ia 93t2~Yܙ=ޟ=&41]B6$wpV_3VzeReQOkH <>cڥ=˖Y=Z82Р8))#~˥QjG|*`WMsfDϨҟAkڿZ4Ζ֜LaM"X%ސsF(3YHm#9M@6Csca;a:] 89OD)>H,? 7XLUO +vRMO yKZӤ.*]{Qڋ \ 0PpJɇ|%В2 AǷU^e @`e lkS(SKh:}({.Ls T|T9o"䌬\y'u( j6RNIdL5iH,``ahPvу*s"4+Ո ֑[(^C$q P,e3!&?0tg%hd a!'we}f 5Si4$a8 !U Qr/eks%Zp*h3aɘ2E֥ 2R\ԪeYq.pR0es32:y7כD/e=VyO{g|&y &Vhl\^~s+$ vUljӳP:7YDw?AWZԇĘ7f01e-f}NyZϑj*N"I&#吏^Iv'&uf47i3T@^~oe0kNpKb+n4H)0G|kgs-DnڅX^'kPbp"Wáa=<n7ﻻ]eH|e m4^k4xmjk9gF:qCcZS͝Fcr&Mx.@@Jփ(@uA&82kaCH{ѯv!@-9I)e `xXEԼ`{Aoe;de 3 Z ޫ}]lo_4|J?IY4h4As[l406RWVFJWֶ&d^h `4 1LBjDU#sB,A`v =3o^@跻HW4scBx\p̗#j sb6&I vh듦^o2܈zԗT:y{90 ׵^3qWS$bA [MSqs $8i, d]vYiH#Mv$Pqy3T2./ ߏN݃"C Y8e4eTJvXT e낐f}G EDUq_}]l q܊M0YZW]:R-;]*|S %lHo,a:;ؽY[ܩ{]u垚Ɵ/θ|;F9RƬl]McjL4-_ )'bq_"C%Ƚ#,^eJ֞F*^- cb~1|;坢p(1ٶNXa9<Q]^kSlӔ O5鬯$Y\6{jMR\5nM/!gW5y\S1"5fM`^Yg><,9Cݢ3Ƶk)\_HvXai+0j$R4N8\(^yE@h!*zQK[¡zC;"((缇V+LvB)trT .qGx.^]7Kf)19G Aƒn}-fr*Hu!5|BaSFƭLܥ qBMUo9Y+g\b9P3Pǩ'x+y6<5UcΓ޲&ŮRal y D.v}G țTV莿ÿFyu (¹qiG6b)Q5TT8TDq0^hZֈm91 0+U фb6@>I=me<+kn-;6wrSZzRet p?$>>eS<,<6GJ=Jn7f0hla)Tqeß /B  (:x'ŕRYeRrG:CjC #zdZDUUD|џ ̟B/W `H,HU 'IáiYC ͛xٟyr=/PxP{A޹%mnN<Ya8frg=VWt`|Xc 09J5$%o,!EFuAi]ϫ۞kNmPb0m_)f[,M. `k(BB2Ml:8m 3\n ?Xem?:?v@J_G8}miQ;JCW]?l:(é@n\i崈fL*)(ǁ.R(dP&:E&oկ6ɀJE[Sw,雴_EXjpqllh&dHkMkhUߢ><;o.fmemxިj}tv1Gҥai,y.@{lhO ~X s)cB %?rn29m9b|=!`~(5xWq6.+d\n4f05 :0 J%_iu  ;-B>ە O#`de(H5cJ·8-4b{:ȑlE2'_h@4A`mzAhā կVExK6mj失-26(ƋdlVj4$6)QEbfi+ERRRbf*4Fڋ/){* א~/ksoRyS/ ̳ ۲$_NU}tVסdq#y1G7EXʦPM^]J_ k p#BL\sB^Z |o-+qTQ>,h|6h 9 lH4% `>(Z@'/MVڔ0e!%̢/aĿ[%4ۃMKGϏ]c'{p&??aՍՇ_ӜXu#eQVFXuQ6F7HubcugQ葺>Jxّ>shCSb4_&UC,$H@t* J0%pcp̕uR+ R1i8HFRA$jᦒz>+ćkTTa龯"{ͥ+Sk-Q,lQ)Dƍ2A&e 䖔-`pVzL4SL]i& Œc$; QW(h~}'̊ƒdh9+^>Jdj֖H_q1Q}&eeI빇qu(J-3e4+K)5`驱4FWc g>7mnǧ}DT>PO8ISr9|&%ܠ8MPf.@*R7u;YQSѴ'8RbGœǶ{t46]rU ,P=>MgƬ/iLYr=r *.s|ԟ/椿*3'0l!I,THM}ݠNM@,L{_.0SlxPk `[k?#Km|S=1)LcKVZg=JVMĢuz8wV8 9l75UiiN}\ES<93'44%2)"gxNp{-!~~ᛸM9Dؙ^S2@R)ߛ?z5I۵hzLlT4 L 1hM~/r&aWI:RkR[Q(Im(D`BIebTdS= 6ȱIHF;ϻ*R6o}5ߎm tj˪t%}Ȟ׍UCѠ-O>i/~iK$ AV_=?6sƯұ*u#\}Wap2mn! tYT1KJ` x  ?Dzf0s /Wu(nOg&;R}J,<ȍp!.>ƐjKLf"3 ކ1gATS&),Y6a7ex@R;-k^#v# A))vdZM/Z;=ZJluT|-%i6NDxJTG$Kcw[?bPc;*KvrT[Zd4v3~,2<(Dn~J8D%71MhՔçmq6L?/TM Б[bſeI\9qMY*H Qj:U J( 4+bf[h8&qTa*_Ƞ Wi^La 0P4=`X> .fwJ3ғ'{]t¦f4\,}Erʡ& Xe+B8 d]K̂<j7#ދ*jv2qGSZI3p=!f5$JF2#8S1W  } M:Ec;7g?F>^#1XtohB>ڦ1}a6n[NaKd2_?n#͹3v=b) ~gXZbTT'! XbUVir6!硞X7]<{o2XtÇq/d艘%) :5ƌ{vmFmғfW~"]6SsI*j5ӆFWWv'Gl9Be%ƿp 菵Wj;yM’uԖ*9I{Ƒb*1@:4FϮ~u)ciRs;Pp)(P |h-yP7Xa[gFjw:')פK:ܑWN7Cbs.{&(  "r8AF8Dtߜϥ [oG7a^eqFw+ʧhy7R{Q\Wvv^#i/I$#%&lh//Eh%( 7lpS!%UݿChȒ6nwy8mlP}z![󃑆yK`\%@Y_z*W\6GNHQ,]p}lu4$'ZV?jk!#*ە5*޸O@C#\JY6:HaXx20N Px @6: J[`,`*ay+G=M0l,~Iw[Z;<$dS%4С 8@AQ2[TS+ HTkUE:.i{\']>#E`|5e"gՒ)5Z,Ł3Z?lˀCKu_SE#_ TGrcI#2e% [#ΟGٯd0QQhַLMUQ 0I~ϣ㶲F|n& WBr{ K(r)G&qSy"vUSlc_Sۿgwg0k d~w!zZ(#U=f9ɟ'קXۈ4P}M1퐐\Z]FLµw<]Fw[4NnvZ3N@Kd550%Zf i2G;/NNAŊךT}8;[]}q+j*2I0p-R5rc\ 4Gk۩h\9GFMIչ{;7hw6~AZV-_?ɦ*\g?~VW'vWo:Zx#yeP-%M]Zd@2]33Ͽ~:lyOb}fD,ʕ 1b3=MS۬-c呍 N4#  G+l0EÀ{oUdF2[̿iY -e/~ Šc_㜊@>_Ri%vCX66_U G ֎g):2Ov6ܣ{j5 Z'7H[>S8gwB!YTuK3Hϗ*2֭qYCy,PfG/C8EjJ$-G*L+=Uݲ6b3g @aYTGL-|A R)_h c.zrbH_A>dqAL=Y2Um%VC^nÁ3MB8WV+S/B?yP^At,ձRwyh:mPLM7YT탘 *Um p lLt3>'j%:9I}A5C-8VƟ)!ƞ=p[L`oTlkA۾GmWI4+CHUc#")OCp 7G:)_Kڲ-IqjJ>;"R`+H̖0 {ط%3gs>!C*=ealAD\ш.eA#&Wȫ˸Wp˟ѥ/![\)#HIg&/"GkMOGSiwvvnXd3uJ^h⩽>/2sdb MdFMͦγKY4؎zm8pʂG! 2ߘVk!p8YWgr3bҞJg(2UԡlIu8;x|<|bnp~S rgڕ|h6,3 P{b_Ii @&@wvΏΰ`"m8)3"[?Dʮyb40{_4gQߌVvu5B_շk<\LZXRQM ؗ^/x$q%5]k.]V5F"_>JL?Beyo3j}{VVfr? lf4~b }f5Zo,g;s7tl"6k=՛ QwήtXyѣVk^aJ5 n'BzSyi(dDp{j̮VxGj0߷}{ȽaJ%P!\cygaǼ WzHx2fĉ].LĈRQV;lZ䮞xMpԟ ?>5ѪqʥٻٍiJn;yJMo'xj) NRFSyDY8/B6y[xVw]+&u漉/T.9J9k aCs=R/\NYKw #-Oò,磓 \0pgr+e#WGe7x 9cLIJ F)v L6q(`c޿9/&uumeR;lcKV:xÊxjLgUC9ږ~]M.r ԓA#5Q1Xȑ_{ߎg XA  cFA9ʆ]rn*l9W]{8G!\aA]KHʐ ]jeFK3ql PM=aa"T?YYYYZ<N@65ANs,,82DIzxO A-/?VMZ5u jJ:U Co6S"[_(HbKS1kʖ6VZںS@60[ե(,W"jzrDp~yn%_a\vn2"G/y"A)y ~B3>K,mˆMx#0h_o|#>| =Zd8*Iv>26TɁ^tՙH$~UbOm%hF**Aߴ>dm_ڄyCީ?Ŀao:iMi~nM`c*,P6~)'4DQ:L$T,1 z?oDN!uNVݝfmCl>"s1T'Nj֋N~_nBxHr̢'s>~e9,҃琌 0X [vpP rGF$踄!`zNQ7m!Cy#+tÔC'Rm01C JwB! /|9pM EEe<,qn1sy@(D6Υsh;N$ئGYx9VcV!P*Iw `dy,TdK2P^R]vUaDRlJJc5E:w1*+yiǟ74ƛ!aZA5t)KW@gA'Vɧ"0"ZsGSQQk%h3cED9S)lRt>gC JXDJEfDJry$$^uш]<""""">޽43r2 ϯ O3>cf,#S)lI2G :502,{J8B!0mlĥdRucC8KoC׾YbkX$v([*eZ+C[(2&r_8dllik=MxM׍*Bq a Q,n9l6è۫}Ĺ \acM8F7XYcugQjKBb\[oYkyA>0{RM,\xLq j'XVCudsT^nr9^ èJ$H 14r}=Ti-wrKnG &*t*2ET>G~*|"`I˶T?yi)Șw7N2zIt#\ıGW_;ebmZ. `UyïB^L$>`l}1# S߲xYVu>*b1  |NmA_yRqSI4W┱!yu7hFxS860syLM862A;K<%W'%ym w=d2}wPgl>Fj#r4}\҄6HԵ=>aִ)CD)UEv1EYklǵǔ6-K[QJ~$yA<}>+ǒ,3O>>?Px-Tlnp I@>Dv4Wx d L:ԁfw }sګ۟L*` +Q=#P%ҔUWniG~2G\ȞLW'wlxǒ#t (D G $w?%SjMxϾe\7.uCa6|̐k%*旲P%T {lb-Ĉ#1wG,փ>~P HPoRKcn__إkqcR5;:32IҐAZ28G&*2vcJ\)[ܔ\Gb.DUNDCv",pR%ϧjAJZ $.:ٗ/m.X\N,qCk5q@&$}tx"T%JjG#h } A!_EFome83y^+.|JKgZJQ(N^ƩBÄzC|&< /L+6*+Ga)8 lJYT14 $+KG8=yATggV7A,=F|8GMH{?!O=`DqSdON #QB'l{Yl}f!?ĘXg~wGQIGoD/xpI&jp쬁zH-Ay79Jz {NDrSeX+O3G_6|(:@gYo1lqA؏^U>_d}W)e8mL.h\UD?hw'PHdFB2Ѧ0 .~z O G10 LxxyLΕUUQ $F݃ɽ|__nD  =l^9 (&gQ.8p#ۺQuM:(a^M:^ íSnGbc7"B7֫**ṡ55y/ap=]J4X-d>ǹ[* qS8;B&|pRtLf8tFFuji JPibNjk.f*en+9gƁĘ*ʉw+`)*Ԛ,i(3Fls^Tj2qy&X@q]Š yT`H BB@mA4M]677GK$bͥx8 pÆf![ɄYfbi3Vh&[hk$hfe9gz$)JA4* C 3ͽZx)xHrH̐qAҪ"ED;b.!)!;O?D%U4*^΍1|p}Q9)ͅw3Xꪪ~d+ϖ|>B2UpUUR*<_Xytgp {H8&KD"MU#N5Gj9#<, p`x"MMoožu2WisY| )%|)ޠɓ;)C&oិb%8O6rqERTEWr:}\lXuqhqTdZ)x2R xdyjQftDr͎V>V~Δ4;IxA-㉩܄o֙j~%{36}~TEgh38]*V>ZֿOue5Z3&+箞Ŀ?nyDۧ{!Y|s;ۙ1U؄%GGS?"DuГQq8GBL$z䒟Ea֧)I<I&'qԅK)Ł rzw*@OQ{t$F$&&B<`|^OJ* 13|[?RDD`UE>d _aI?@!$??ȃsU]@M4eAF Pt?iBƌ %p*'Y[MԴ6\#m8RШE,3 -Ri^Z;^qECf)SD8;"V"ÎC bJؒ UUc<9hj^rm3SEJ. 9Š9.s"fATۜљ#T+NHK¨q mT'F$HW3[OӝnsShzcku9:W3ɢ nsj+ܤQ$5`o\:;6ʦqqe_X,ډ2r/Qfm$[Xv{ڍa`[!K1V>!$6F؊hzg86Kð`QdQ, *9QvEu-pr+IQK9.XށJh3l·- %IN3\숆Mg/KMa^DH'Je=gjT (ty97ɶCYMwFѽ-w_aXNN]-evMx5S58ؖ m eDtLL6 jut|6=)xz?ó' 2*~+}J2SUPNz[5|a*wT0x}ndH+ PtxjzpbG+AiOlodbZ|K肮zyGG 8!*Gn*Q#XCsޖ ;v;iW KYF^7bo듏mY,;bA36*%^3g3Pp+\ꃙLNPRky /TEJF hB/>D [/hNƌӠûP?;KM)"؂ZК^sWGkd"G^IvpvHEWPU~ǣ5ۂ}G(y= <n揍3 coʏ~65|s^?"ۦG$?D3`pNWܚF \UmشmZW]BQ"fҮw]8rzos9jbi1kUİw[5_OE뜺%4PMbh"1V̎;# 3Q0mRH:U*釐X+y),oyAq=JB#?(Z?X\vc'z[Jp *Mv[{S,9a+pۅP:Eui%hajm%H8)\@ٛh\ywu<͋(ILbYmqI_# P4@JB?-'t {?oY-Hʓd|_1w}|vȨc`VLzSS-.)# XZ92A֫3$EW(ԩ; lc][ڄ2UK.Rf\b#(4qtEWTJX˄B&h "wٷ+0PuIex %wK/I cp@EbG1D&(s d_Q)/ V*VN^$ |͙#v܉@i$ Ti3ǚ0YȜŜ>w~P o瘈c1t\r Q>Do/I9%"(Ds&(+3fe aZ%X~,I,b {֣AzpD~~tpI6t})cF§,a[OT/*2̮_-~eu#C>|Q%+@kdB-WHqo}kF_4D D)Mr4! иy R _+RD||D|I%p NdP (B6/Pke(PݗSMb9 Ԏ:OvC)?MBi:׹J4S~ &Rh1iE{6~|}>%'ỻ_H22Ix&eu }3oǛp>G" H/pP@n[',^j>ɴEB`) X## F\&4Ix15午VR-Eo88r huxA98w8$D~;~&plsБ)IEY{ z~ ~dL9׬U=a 8?ABi FrPT?)TN.YgMx̓9|?.IWT|Oy:>dIpeSb]$Pr]||{|ϳ3+ ̬*R!>2>=}1Rk5Ej oBrI#`|_wk<[I m?Ő $!00_CFDe̛Vf Y H!yLH,FDƦg3xā ?qT[T6vw?.UP{d"#2cݵjJt3qL 9̪{Rsk0>|C2So#a yÇ8忏a l@%!@y]ALdV%{})d@yEn-<iyq"\90 Aq.d?=T'}>bEٻJ朦-"OJyaKuoŞm j j&1?]qz%>=e+ibƤ*qdmG볮$qцX+fYN$ݝeNΒ1 ^8RXjo#{Aˌ?\[dBm!6hMe8ה)e%g^P9`(2e=kvʳ|Zgͅbp{ĊM#JVZ-teuWvqs!S ^VrרQ5T0LdX'X=;̓I%0ij1Dbl&%]^DZ@&)@ 7.9U\Av/^whߧ5DoMi6ƝR~_>r+YjWe|Ta* $rMx@rAVg"rP؃1a>9򶟳Fhr]޸D¥]ߩjkda# j4)OaCwICmm+#G" ~u[9fyIDZ6VAa8B`XPi|7L:d/6=0~Y{,hG ZPzU  l=b 88C`p8y&r2'qC"鮕2vsiC2c;u+p J Ps8íղY"d,G9  Q *=h¨jFl KfLo"zhhنu:p8~]SN=\Ѽ1#'}= VrJz^KR=0E1Jdxy5eT N}QG$=ʦڻקmqˌd&$AXn]Y3(#;p=,:ۀ0a )\4SΠR#3˃Klci+I 1r֕\;t?e@[UVT11 rnb>P2BTi-'GIB"OuvGC^戒Ыhhh}*L* ܷ(lND03̤B:hK1M Z; p:!C3% ??X=؉龚s@DZVƮesV kRi(K`IkZ.D_:d%,鿹B$K&  ǞΡfU;0\sҜY14MҊfG!9$!tt,"٥kd`(( T=PdD/ҍ5 B:Wъ&Gȸ=-$0Ki&: 0bk6TtCQG%[pл!ːѦ#6Ś֭"ZP5"41+l-qF#(nSR7Xi5EKZyϠƌQ717LS$L9hеQB$Cp0KmKV̹5r;1~}>C}>VO𤈵{m6g"9y!UһK p_oheN?hOd~P}BܵŌ"A##U@P #0EĻJ7;rjA кB?}oˮldO/r=ֽi:55O}ςBfTP񟨴[ 4F,0masw2BŢCG/i`?vcSS,'ŕo˳Ԑi #ȿy uc,PaiTm+(+i#LXCGhe'M6)+*V&Tͱ$3!0҄4=6E[C:L+Ƴ*iڳ,*32tyE[1RH2hb-`cMx3\xl n.{\9#4*oH wQ/axr4oD-LUʌ9uisu(.4O=,˰()߈3)߷9G2[ P{'Pq(r-(ֿ̑Qc":ɳP9jgDTfP.2mK M[C~u&Fy7qp9X.C@4uNҶôАueJ()H*vqkYz 0 *5&ĖeHLcZ`<ŸuzB48j8br.  1Sp-coLceI@H ԛCp;Kn@o ױXY|! UU4@xgA %H̗ۃFoHf$8k;y߲)IZG?c ?>eF ?q=t1?BO,8+ԟ韝^ ,!,#)$Y؝"sO҅}%8uҔ~+m&ՐvEʾwF̞X֟‚gc9ētG%{T@za (kjʩkBfҦ 6,6Je\ '; hұbIA8K'T~KyvO`7t(vu~B@!EEtu_r(,l|= lr t녳ytiUCPvԒ;$--("2C?'];i &"8M0a y,'%C 7pO,_b|aPClT?g!<&SZ $hX\#%)I$nUI$JI$E.G'p{ t S ,A M?9ǘ>/D^CnCʝy8<$* O֟rj,Y&r9gg?w.TTG29lGK*Mvޡ>*$=yljԛ4w/>~ I# aT@}↑5:j@@ qDObU@!N i:d",,+W]d4$h$ =^oga;!'hjB̊ ˏ *y)?p'|)qU [8)JF&Ar eD24)I%#\Ib~G3$ |1Ochb@Dq)P1$LaFFHc,&(<"f-!J0;+h8eA7&9dw*$'>ݦBGpI:t{dH:J/rAvN`ɶD#c4C *_*eA; KUkMH繏aԸ~0_A//иPѱݑ=tN8T;l%Ĩ\$8o0GeW'>KxR7ga5Hԉ'e,R t1:qyA",sv,ilݰu0SHL()0bl;<=[6{ġ:(6;Qon캄JjYmZ֝B]zǓrImC%oW|ŒbUbh;pƍ`k O;H{l<&@a:7wƍa$"bU%RQiPJI( Y $AoYЅ{A(PpCfX@B7H xmmp؆pNR]dT 1:gpU;'\[6ccA#>SB}2\XbY:x =_ F|D$) DG ?i0>n˘#>r$ !J1 bv YxD3gT ӎ;Ѓ)IY]0z{U @EW{"sN^jFRȄOSy">=KCpr i5$Ǒ7|0PG|ĐK` 9#'̞y\0&mydOq8#"C$R=Iёр??Z>@JB(Ң9 OޟPzvDO$B4?BIvYtU^Ț] /T hEaC[)z֘|0s 10 DD,Gj w=0ΥR&;Ե۰lvĮ4#P"Hrs4pLŔ6fa-m%2HKvN]tFRFGSf"HJԒNlv?m{HKu14%.Bb֒]i7 $jA3)zȠ&":Izwg "Rb1C/@LyT8Exz"')a&ɼ~iϝ4r&hId;cU%X6QH32&3am#}UVD#DBw'Z汊#"$PhafaCix> 񂁠 ɑHTDLF؄dĐTl .R 2c& b 'XO~=h9@r>ɤRdeѢj*2d0R }&-M>(!Q'$&Jr0iy19ŒQdfmFЬTHԊ "=gDBӄLHpϜ!t4hC LBED!&FF}r'ƜD:Gh!;MW>$2>ޞ2'BJT%*Rap&d"M䍤A YGd8$ECCڌY+$FO 蛤'sBL)'%yD&%{)OWӿw#yOֈJWH2a!XH& KN5 #yhoHxh|4m @Ɇyܨv!+$Ny H֙zSB8HqrHBH#PTJ &P$~8(0BZ)h^(h Ȑ@ 0 $'{HA $68{!hRov j1E0-"2Oٶa\ c! C- @։1& T$2)eUVQ^QiRQ# >44t=)HJ\䠋"NdEObO_{Ca`H`샒j:țJ$b 7AQAL㈂"Ri<;}-p *QL UIQT $u#yɡS`+P " \gACQ ;RR^Nq0a_!I2ETCJ܆ K>]x9P,'Ma9eA>gO:+6bayN@ ˡFUn = ``9aE #M+MN@$CrzN7Vf Xgs30T4S3*P336ц, ƒA]XLnti2Di2IQ4:e͐h;?BuMk[x}`tЭ$b`B*Mꉙ̰\o1Sth'qC6")*R daaUZ: =L#hQ-Y·ɨAHDO+sG[J# !쎿MN:3CONsΖÇ|q|U;uz75A k|ȓKT @&y׆wFq1,$)+Yi$?cXc ^xU-i_&5;fv,WFa57ð _D& e͍hps&^qآ> ";cxux *&\A8zѢ9aEu&nK}2 ,AQ\F{05T4='p9f*12 c%=v</kd-<"Bd=q%ĵuhQ?ƣ7 ~nO%b/?8fvWAW&(/O~^ >Kk0nCKOY6i츍_1 ?%(_Gl;&߳^3[#':ʬwK? sF̦@ú3|MG1qƵ$2Xh_}(U$~Og?ځ? "03A~ө.taF+-Jzn09-u^hϏ7PgKD_#M5-hyh}0}P+dPDtvL!]{g%DЎSeDm]w^|q E&oBŊN Zh:*8 r)ul6{}8Y&: :90YٻÈm\Vo-OMI#-ĊU}/=B$YFH܃v py[6n-L\cMTUm{6َ^㡊wL*ջn8(&Q~:C^Qo3gOUQbygܨm>6ۦ޵Rk35k\?ߧH2T@=\afOOQb XrI'\ڭ*IK|z#3%NoB;F%c ^s=E`IX5Bbk"en/;3H<T-Tp`l=˂QJ& (e8=z ULK$ P+ؔ0%OKKWD'ꃺnd#t^(I#{vfzg?cwH#;yO*_ ƪ9YP$ LSB$W4 p)X"T *G a ވ'ɤVڳO7(18YXJ8* O]an"b0X,CK$Ŷ'2+eNo^GO9MEh.TFmM) B O}F}e(J RJ)R_9Kab|Ay^wfb$(uMۦTy:l؃; {Nٞ.yCLͤ'O W5*SS$&@ V@ E5sas/=*a\j^I&OPt|HP70y`C{AǐDS#2 g<~mx5kLbb ~z9Q*y@jn~+WĹ#wŲDLCɀ `B .=P9O{ZY-uM}c"Rà fzyuvoq|${Ng]-\1]WL*M&ryY ?G__>!)Z֭_$V9s9zI&ZUjI3[Tm{ܒo{5UV5Ȓ!2~=}MxJ-zDPu\ZGm$opgUeݺI`f|/ĐIz'x4/#k^#"ʝQOEďO"/ Z*tr]˔XU%0)0wԂ#afl&)?]>7#Xż%Eưʵ"ĺAh5Z0VI2 B C‘ә")80~ؓc5vh@BTBo$AtQElcJ"c[ztq[J1^zDOП5*aldvT$K, ^$>!VWN!nUYoI!'cUoyK U9%X7T"e?+ᶤkw["A^y˺B5鵂&0u]ԘP:Lb:p%h4yWtEV)ψQ8fX|$:0KF˄j4ZB> 73( 01wvw*5w' |u\XZ-sV#,d)~g,P7R >}[F(`,%rbIt̀`dcp'ii(tCև 5LISI>ھv} wDQWj+Ԋo[bUS& I}dCڑDxmVO@Z݅mjB>'q&gu=H*Y cUoBi47Nj3˓ͰLW=*5G,,?!fq}_0qEn*Mgt9c|{ $UijV($F\C8}1pQzAb$(,-U[5Xb(oqhpPƩqɌqNОuvR`\:&n44YlRq'GZ8tSC]CdYZ(tQ93cEoy΍&&0 8jYNekӒ#(A{0xn1DCBQ %0a!PC5]N")fUd3+(( !JUlCQ%| "Ct?Z[{4ACzAL9N0uYQ]:INUn ͦtT*8P1#Ӯb`|4UqC| ;tzב'HX0Zz:/=e'A趮990= m [``\% !*NTeTf騫ѫ9xqb<*t0 {ru&)̽tlzgp_M _NwP 6'-ˣոƆ:K8,yI-ud_=Ec"' ]GE[БA-y BQd B<4@:8:>DRQ(`xsf{͆5оզT/>"Bi Z/o9YIUP@sz82gFͤ9S 4a^) %8NcB*m"EIXNs޷ @@D!4-[r[wmM[x>IN \d&d@X*44(;e6|SZ4<^Q⑒;G'fg?m@؋a$=6tKbן*{ɩG7AtsL9PSnt޺b(x};߮i&Pzaç4E䰈C0f~2Wt $X7E"0à eɧPYS,:c.uzNjʴŋZC3 _cg9 5aMf.:|S\-UV,2HEB+@M愓m>!ctldR^$I#G\Ot(Œ% \ao7,1YF VLz䆃 0UP>BwdTXM$1 H'yKOs%ؤs$ "] _6R݃ćjy )C31r)`FiUq*X[kĎ1P&YU+ "E(B=~~!" .+hiL{4k2N(,[#}OGln_O׻svjw ,?ϘP&Yamc[%)JԛbKMYd||J{3fb% ڜ[RJJPx?NH?TOʩ|~a)pNxO'dz&gT >+,B>L鱋jHU)d*Px/ῸrI^9sk<#M0Tq|6XRMN!CeoÎܝs lp^g3GK:iR#bCjt(vq,Nm:4[902*K)?H?:Xӏm; UPfJF}% _״UΚ+[i4fX߫I APGa8OF!^RO&q͵؆͆,$B{K FQ#޼xF1Z3)jzZ:ܥ:|tcjb8I44 u#Ct,%nИbg#" 8IΡ򯌉Pԉxc%;"Sz; t1CLD [yi!CO)y6a̫d7c Kb7$QJMSF]ķbOY N{{j5b}E8%V*AʘE/~bFdZ5Fag{pf|S%U0Qv}>eI)sR&6;uURmS#n$\/ʆ[F`!N 1- H7>JF.*EՆqSy&WjDHl?_+Y'0׈갏DCA))J$ >xt47 j"**~A533^j~)G5G*[K'ՕH(.I|ӭgÆ F$-&Yqk-̿s?O ]q{}bwUevQ\ܗi2C0FlguksVj#EyVFR9!,ϭ-"'H(OS6(0qEI) M-DvD8bt9_H ?)H"c ^L? H>3kz<'8ݙPP EOU]D|Bs/4<>aXTTE@`}oc$WZg5W1I*{QkǾfMYTd &9j8}FSrVJ}F"a$ Vi(FoxR.<\874xS*t5''7Zf1iP1hؙ #@/$&3&~SBNjV#@jh#YO&|<VDO u5$+UJB܄Fz)0(QCتʹbW\hKb?E 11 ()b4a78”G07a܇70Fnh&UFRc.9a`A=L"btsuYiE J(2 MfDYa*RaHk _|>h_Pw9/#Mv+tG v/:qTFb⩂4;C008٧lT"zX:I~aRybt!`S l8#[(wgOdSO|}VK%m@eSKa&Pɝf9p: ֱ{cE ʴY~6ZԅP =QO4?=6O؉C6$P-"A("=[/ `bDCoBh>4P=!~$Yp5d)f+/ʴVA1HK&$9` X0ィe I&2&&N$df,1(p2a]1Pkae3 i42JLPɡrt(X``Me*їI*{y>ub$꜒*N|pfmE=Y2vY]{Ƙ$IP2kyi5i#*&]a8 Y!+\HѧK RĶfPI:lPĩlfyF>[sj!WZaw-^x R ) BWpV (qUBg|1.:_T/ /U;+iЕȬmˑZۺr EGH%+, B5p4JZYUFSm;79H7;c5IbTb&0.$8A4?à hhhHKAWYKyEHݎJS_R%ݨ)1CtS"l)gx5׋Uk);oD^1)XaM|59PB/| ':]vknj_.y*VR$e!m`oD 6(/Cx,(5TJ2D Z#TrYu~l $P\LH n=rP:M[bwjSPNB)i6i BZN ``p.'̤ĞFA&Dy %8C 5H }0Z<ȏ 7̚1E'HHTKHpOl7DMڒ,|1I=Agࣆuk3u=/Un%noWr-x+'^6*sXcGJU7{IO+Җ }ә5DN޶Q!wBr*NYPrPn^-@%mOP/<*٘HT)R $Nw>[֮3$ߩo%~ZI|Jjuumƀ% H H##mLT=YG`Ym$Z^&%V`:LcatiJ4m2Z| @kRϓ :1cNfa i:<$ѣDL%oUwNM[J2)׀":<`ǟmT|IUzNŇf #P( uL;"pT ?:i3g =u3&ތE?m2t?δLA`:GJ #GN3%8TA5$jAbH$ƐG7HM 4 $I&8n;=D-  )Tcӯ%8~BN8NZ almApLL `ֶ&Q@"%D'S +92vK&>8o)cKI9>X dӥ 1c$jfAPt=^ ݺ1g?o:> > b@y߇<>L IK#?9f4Vo' HdcB>Jʇ'-avdE+KX-Ta4eFe Z4xnE$v }`)ʮ.iO]@P0<ݺn": $PҫLĘ$ҧڭ6MLstM-s 3dhɥr^2LąM lcN}iX3<()'`dm϶,vG<:B50pCK!fi2dpglK #l0(:݀c]HM 1w}BSSgU0$00'ZE R\im.xuj#lޢ4ITx]>spczVmlWݤvoz,\M5]'kbeћ0r&iy<EҤxK;q΁1kꋔ~ 7o\l;]<:Cxs"f Q->rMLr!pЌ;s!Scrog\y<-`áa"_ gqzX 5JTŪ(F.sڦu 4lb V[6!x"L(`EMؘRڋ8֢$f`04! 7ϕ\&3-`i-Dixç͍aԑ3RHWM!HFZT\#Q 8Ҷ'gƬT$UyPT"0WDѵ-$-pflA}ipJRh]=͛+X8_l"IBpAV]Sx+'$XɃȠ+(!+ðYh y,F b Nh)M"L`ES @|rrjH4yqtcM0`S12J$#FW!:I= BZp ZWAƊ\5bFPA<7 f pE#>ʜJCg+|$ũlNA7Nê.eMJ"0_)* '#4s"*njLCA. HL;5^Q{HB2U7Rfb>e(lÓZH#)g*fЦ' Ul @Ti iZn`{1hZb6* 6u߳]Sm;x0 j5ݴ#lhT.081%Z^,UUF$^b f 0[`Y4"#NQZ\6(o-T(9/>5%D;IH ֦J3.pK+:g4s6 B07xݲn FBĶޙfq4IH>3U+6;J轪𱵜$`ӒlH(ɢwγAQ3o':ie;w!CH\s* SCs#)]ڙ"ts *̅"z!$x~ ᱴ>nhξmXXKN#ITlAX*6Ҿ1΀5p2P:}WwxšIV4XdKg4 BnQF X8;{`y4ɓ lґ,A@OF%pC{uLɞ45EBY\<x L >Zb߬ƶ͝gL =@,)hZ%-7֨[+V׺DdhD(dĩE$K^ zvZ1 f3F@BWL.Ԇu^&vt\tah8$v)cAHi1͢ ƈ'xoڨ$q[B "}g<ݤHJf64L8x'pI+Ц/=+lFlY$ Fm5 X=J|r9|*Ql۴^ I+l1%9`U﫦XOuH)^9m.T7βU837:!OL*z$XއR3Ha Y݆t=2 `(9NXvE|]Z;4QZ$EtbRU1(dLOƉ݋hw2$zL-1 IE@ULXVUpIj?z֟uT:3Y]B/,r穼zuxw[mH{2X+16/vRdC KXCz:&SCCJРFptr.m1gc,m"@ѪU[1diI6.Bm$B>}uΠʥ]SڨF)iRL)b18g7X@+g!ɧV|[<,8}\͆-M#ӌۖ3Q3&oV_-pw)\fqDJd*^zy{p Ỽ7%'[XY4@ihb/H&q٘&ƳmI3I*2-mE4$22Fl7FXh $z1F-Ya,!E\U6(mph5ldbw*"4H&"%WD.q^7wⅸrX qوl *hi!’CE VutqsHiRL,Kbq8ޅj8 / th8(rv+U6.cf"7 Ca;7OOUS33A[v,t*5^FE +0Du#]ԞHS5̱;nbNWqӏ9Ye輧WP5%f`a3,)DpIR&"TTM Dڭ,sbdq{;^W`lG:4'`!Nt|Ro `O P$  (^(UEzJӐ oX- "\nGiЩx@*%Gl|ʈO{zibLZa,$B|UN:)"B"ҍ4"$>Z9XӁR-0$JQeOG=4@'RU'Iu@)œ T@y10yL}R7 I7\gH" Lefj%P2T&YCP"na 6& 0 TTJFSHLl*(1eHP:,Bĝ9zJ+ƏИ_OLƈ ]ҳ(kk"j+G3j>Xsd$8eo(e[*ի8(t/A"$T" =Z0Y^)¶eqlBI޺l;>ԉNKG9dqt{'kr7{56;MY'(:$ijd:X=wͣ\T7"2 ZQȺ rnЈj#1͝:χ[9Uѧlzkz$y*#״$0#L-B/dt|o’m,գD̨@ǻ=fCh\<i3F|/{J]QUv૆f pȘZtV9@E] lw& A=i$eVܤQM%EEhƊ wNN7vc9]$6֓LeO9XuMXd Y;AY̤ɋ5PJFR;Z WӴ$VY Nua_P$^y{ӧ}_yg V+9l$#zӃh4n`᣾SdBKXafXbt]0o@Hi)E*mE݆fȹ \-h4T8IwyIPrW̄9L+P.ZbV*"*I$nY!R$4AiU֍j;y(Pˡ(C.hxRvNBYd:l9]}5\$:bMMC Yq ghmTnF9nI&dl4Ռw4a] ̂L0aWZ LY j54CQ"&#P I 殺,G=m" t$qdV쏨@$P}l"8~9;9& h>iA= ґi'{Q[rab> ;ݱ =vMuy: SRA 4 C; '" D Ǽ"D+VkIV[EcQkX%*@^&qaȓ QvmgokkDԑcTMIȱz:ŭ2&M?~2_zG;N9Xiv8 d(]Tw}tLR'4MoL7*RԓeD4b8:|2ٜ;hB8/:c }yք3=9%ѱ2@wIUTD(T,hʼnSdy WVMA[Hz2wW:5DFQ)lS kUU,mSeLX;Hw߼!u(F}pQ6;ߌ1g<4@~SA*N,ׁOd*iX"y"lx JEChab:wwL&c,[#V떀ŒD$HϿqCyFwSD7I/GG ^3+0o7/K:8$4/00-J/vT<5l2QȔH@87U%"~Bؾ߲G(s%>Ly&JQ~PJ]HP{A'ƲBL%\̃05Te#"6rzH5G SJKKRe+@Flٌd ef9CqheՅpVқ̀03W 9*tI3Y#̆ Ԧ2&MJrFZb,1U *CB$eI˸@DP жI\Վ[u`C (@!VI8)e5)a `RL@I䅙acIqMdIMIJt/2K 1l_`BP½$Ԡҵ32K 1qX4&DF$I5P!(*¥J9d莵:*;ȨT ē"Ԡuxzv㘜[4铕FK`F$gCi$`"^r`{̞CR,GBMtlR,0EHTyO &9H|1ГsGߚqhV| z@=?T P(AX?Ғ 8 $oLdBI2BL6DGBTG PGp!^!?9HfbWuÇe{"Cȣ,)w蛉yH< ),,H'쏴#P9@ FeP(I=BFS:D_=}>AbDU i 4Z4VͱΠTHd((BR GAdF)*ct1׳yA@A^+$I U#zL=THg=A˔}=" BK4f F6)P}(yA~D3Z5,mS}3_F.W۴A|E[3 @9@e()+TJKVmHYd*MMeDHR#z@רu3@|ND+tWpT'ߘ4\%{OϫˤJMfV*fIV1xg1" ?n 4I!jV*ʵuX݁N{_  ni[ϊ[ko_cc[OW*= oI` 8 + 430f!0=WQu*t|-F%F~ZLsB 04Gz@Na GCOm\gl=W^MbY)Lb۔uxD"d-y䆻 !Jo3mji,1YQVfE--J4EHGƓ,0iar'j%#`.Á$2#!@ MbJSr(8I$7;z!d;XђH ڠ81'""l)LEk?C"Uu&`m ufo)#Y׌3 AlM&Hq D-хE:H\3 gMd0ↆA'ˢb%lN"AF$B"( >x&ݨwO=>Rp3~*⪰%2* g*0ָp1!:hB% R#}DIA8`Fc6>>m/|N_oP t9px33=Dg 1g;1[18?A;|AJ@U\}Abf% M03FƦn[0h4"Lbd6PgaӾ^78:Ե#<cFT.0e>.}򱌺2]B+PL֍ &k8rNދЦŽ0$knA-Ai,JU K; 2=RAM=CWeL^̭n@m0ŠՄU@ŎʉGwJfAߥOS `6Y0&޴Fh݄ǸI&14rZ!>Uh`"!%1%XXO2BtU>r.q܄@~>Z!*K)hrs P2R?8BA@IY1OJ5WJ T\֍#&IE z>J%*q6S{-/v};>g߉'>]_DP6^Bf1P4;>x6Ỉ")GI !a.ApBMFr_M!#c¤6["b(ZeCBwo$o膔P!#甠Rl)>")_l}WTojWiI>Zl Q k̞#ȹs#%ZY 7HTeVX/Mlj2dM^k%[-.E+Uv"VLVm%T%, G"xf#]=́ Cb|ɜ S ^VER e41Pړ޹L]HP-uZ,W<+"֩Ф)8 'glX ͮ-L2欱z1sG>tAo \;职^$|88Zm*Iz0}aRS;fD{'g<~zꖹ(Ӊ]YGŘ.[fg^R1\ڑAYУL"{zYАzJ|]/C3K\eTq9?>4/{Sj<$d\%e*?| T(ݶnN;/&C |f06]ʨRI+ᑆM>ϰ"d[y錌^~+5;Km{$$EyUERۊnoZo4v^UUUZB Z Z<$)",Q|^A% %IX뇌ئtA8{A2 ~~Od^$>_τD,js țq1"Sl$K-=LR:jTmIj%&jmF1aIcZM[dlhU%Z5]IlnI2T6ʴJa,?0ZH($Jj6mQEDTmLU֍VͥQm-xQ4Uus[]+&IiCJk^5\ڤ*-Q%hKivk6R%&ef2P 0iI%clAVSU2RlAV[__մ"&-,gwXL##Bxr dzW*mIWaJ!A&$4IK% %RՌ)jO3Oz 5PXК!H!?\M@O&OO?yGܥC$Y L<}2Ĵd*~vE@Sd*yvt:D=H2 /7-&UߎM!q}} u/-4#a$gS)v% oAi)vwkIR7B͙ji0E$**0T>d^z݂C_zƟAY~Bu\ ]Pd15ZGbW~gVȕ}pHpyCF ѭlً俄!h $iL$7gLV[ e1S,Q24" @'H0p FTt{x?iTfCIСT_gP{d;ǰ$ } J_v%x"ȑ'נ@Ea^+Jpped}^AjBOSfLژu[gvJˮk#[Be!B3 ,Ykhi[cRZDŵQV +Ma,aDR2@Rbޘ||d}A¼|11N$ %  ՀxRan|W phn]T+䀆JbqϤ  Bح0g1T) j^)nI*Yb#01ś1Z\ C 7C\H,Xp…CLb bN&i$t0boڠ@i12 6sff4u ['~'GJJ, tt\6]CM_ܙ(䁕725%9Uw \XcD} siH.2&ei T}fI Jse:`mp1 !0jMY4V34ԙ]}n)Rpq$ )hØ2j}udp~ *,@ q &MA4kIX @S< Q]N4 ~ (h7NQ Px'02$jH`Ctr 4bݜHS(Ѷf=G>JOɑ\°,һ[UҲQ+Nff&cFLK `J;57Cd n:4 pe(-H[QN[RPh ގu"񸡊ji?udqaoƅk0æ o%2Qܽθcw!;@` j2]@P.(`@40:œh*(o{m#;:qwe`l`8#I&ZY"9;jjIxB)@qܧiw "J}i=ƶ{92tArdYKݣ1r^43I}Dfl9X*P$7EG8I1.(c%Gޱͣ$ Z?0Lyo臽^ $l!JMѐ'Nb3rĄ6}P&iQ4C!3ӀYM ,$iX q@|OB" `U'YDf1ތBo+ZKǩo ^N:vfd%ۘH> ,ڦ(TU"! 4$ ~H9ˡc$ r$ RZd|}Mb'Gg? *˖/?_z2vʇ10PPZM{c,4΍Er8+ji6RSħqbw 5-:B'rUE"?SarwZQUs%xUܹ H–c&aPî\|G}_Gff*@A~Ȇg}EEzlfZHFly*t r'^фMsӜpC2L,"P"1ݼI9sR,R-j:xuffZfffuYfuffj)*^%ުjZLRkkd&L2k+;n 9km$Gx>i>zDi8g&2k T],ƀN%98lJt$!P^BGA@c # %A~fdG!p<|V &ZA41#fo)I΂IJ:b8O}G-v5eՎI_dd&y4c|2 T g ̬N BCD@Š贜v +dI}=N5!g`Um%p;5!C!pa4rN- P m&mV%ie0E睚i9xF5M$U%6 B)h遡) $1%a'lp`~K/=7B4HIA0@'G>n#]I~357OK$cJ R:ԇvW8FaV?tO1'\\LI{ QX'q$Gܰlm6KbԢlѣkdjA F?W~7cuMn?W͘@8ZXHq(FԪ9)ddXz/,b!(;Z#J{%_ܧ$VNƵ?n%4ԑh[!v,I")@˔DA J82YP*Cxc1U(@+3z̈́=pa:%? 7K"A'%` &{ѡUNCuMjz&mrQ6,&!qHPsDCʤӫPhjä{Q#"jENߤѼtJ,`Y#V )0dTLQ b!2;?̏Mk>u7@tԉŅxY%!FH<> 2|Ad/`0H),f@ HDU5d-SU}XԉV`l}+dFN` GΟr U3?AJ1JNHf.:Ahe1SEF)ób h`(y 0@Թ!k 5nI"$UI,5BA8@hD0Ds5hPr @툈*LD[2E.T0)(~9 ,fRhUR* HNA7ln)zKvɹ 7zFkMzrʊ!h6ozf WX͸Bs0m T! &Yo8nLfxiMqӚ э1!"$ &MHd4INL Y5r(%LJͩlZej BЙ"d!"΀y %̛ B c4T'%PM5 r ciIqWI"b9L X;- A8`c:ϻ~xNpIT-0 œC\JdP%40"q H]c3j0#'hDp tHe `Eq!SIPH |]'2sr5UR hc#R˳P` a 6KCSfY@!L٥L! (+X<j M\AܽNpr4)9R&X7KR)IQ`79~JڠoZ~$hY ȴej[qThbECe f$#HfSg`1 vS",;/&&& gGe+}PY371k8FL]6f[9\2nj5v0JҬof8:u )8C"rRiE@aqQ:6o ? ? n-% C7 G mp*;4v"DXQ9WMBfV"jE`&f3@ ᙻe@9Yys`@឴_.(@LIp1R1 ! "@$3|`sAY#Hi lmߣ-fH@zY"(,CƩcY" 'uZU؞,oLc r# Up7ZL@5`i5f'IݦMYV6+hȉ U6r:2 ) X*5ː0m_ȠhCRN66L i8_ЏwQ@rL)2z+xˌԌ"5ԅIծ"/)GIt9/>>5Z "b T2QEߥY"v鮚ѬɬLjΝRU `H_/%#|fcXi$b0~M1 &5Y!1XZii.4Tbr">٧d(G N}4@"Kuu $\">tj#n6s;}&N%wGp1#X2pj*D;^}^Ce"z~j Bta__{yyw?5wq:'hQURd*c2 LJ9'']yi$?,$%I[xv6'tri<` @f> 08H 4!H X•ebDE BUXRRB`A>xQlʋR66Uj4$X!5 ]AzyGb *Ip5Fh""`H) ðM/)N(eLE[Jf\(aSS-}߹Q3jKJ CQn( |#eI5>A҆S>s͊Цl k;.DpCAx$:T?i/t }Bѥt_Ě%/^_#9>TIy([^Qme,LIZ*:ZL!QIyBOH Czx,H״gc$Nwbٙ)( MÊh*&wQc$CT H0pv$v e[mV-"VI*JI QҝmTvNG\ԓhXIz.U#2=^f!@$^M`FU*aqbaJB@N, d,۱a2~pHG41TӼĭpMckty”^WN׍R#IKj4SqĖW]ۦƊK6Ԕ[JTXؙڰn뵻&.m.B2C\ۭ@`d&9哇.@cf) łeѠ$p ,#-I64 s,-&DLbt8ln9DC+mu-I$ M.$ KP,ԘEHS0Z,4,*rU/ O#0HA!A`J&'DCEH6Aۄx+DȧToR:nd(-H3TVV6IJ&I^ՓdA6$ 1e=`+{?Y%5=iMfš~ )XxjKT-r_sEQCUe_\*4(w`pSOs&mmC,R,X%p~4Z2pTw8N6`&Q%zHYN!_'A 81yB3wI )c$$[ԛnfh\X8lYTu&jf$!vswGѶ| w"u܈Х9uu;/y*F/I!BK!#}㛞oGsN}ڤb~zZO%e1*a`Qzo<6!ɂdP֩R9`F8;ICi& A_ D}_9L8B*JEusiX ED'>g; 1HVGQ߿?/3?;V:~6UK%M<_HkƃK'ںR7vMPb ZgoRs?hXɮ],[( N*ތK *ZfQ8%k&e47C#oc^Jh9uq,oԪq\աtm2|ȶ|=A\Y)THA_TD3v;>ߵ_mU*Sj*JJ!4լ56"fԖM$ I,BOT{cПq*Kd5l_[ _~|d'8|OdaOc{6}"cjLmj> ~ !j1S'pDQjjF7"}[mڋ&Jcmm#iafM2!-EDHU.2䊮@j2JZlcRu*()Z"qB:?xIf-KVVZY fIԉ~LDwTd  5Pe$*D'FւI7@QBI&5}5ylk?mKQUV/4'oBf_Pw?P bt@A+`>|eo-PqBe%4I&XcGM/GPZAh !TG V 1m'U+G&i%%?5 ON$~+4ۧJ)] ʒ Gm=՟2aZ2i&p*ZP8Y%Q(̹1X&4jQ!G " 'S{Y$`A/$w{D@K#%DCN?9Fn)orJo)Giso jk thG?í' ""EZA8]%ڔE6KREroA`fkEvf4&/49^v[ "v)  ,!J1[1ɜ#D͠鐡w^ {y8:&rثm'__3@1,`RS`q (h4 *&&DO10Qf42QE߽X!k(K^WQ%^q[b?TQ f`TQGoHY$z=??ۼeY?N1ub|A>37`/P?lP}t~>*Ï6^z.7!DS~|~:񓪺 N 6[}OJ!V[U _~ݎđ3BP.٣ $,#!^x SϐԄ=]y}SxP15ϭWצ!)d=Ā耢X}:cܩ I^YQ̂YQ;H̲z:sҏZ84' !8-j0ydD59 6==pR{1Q+(?&QفQQtd'Rdcff~ϫK(dD!.I`ul>`cK3 ;`?*^gwl/\n8Z#{bF&b m C5LB0⿼_K_V.ΘB}zU|6O>F>ϲIn1~d1m{"j?Yfn3`x_f80/(5( *c\=g}:C-/Z%LqPڍhLif= =3@ҡV# IxZf,nUkYlrL̵WYeceY]+Y-T-iUҵI:bJDQhꥺrP 0iiJbFJ#jY].Wb"LO],3Jv$۬L[wA%)áY (q~:lRZiǮlJtڳ#' JbaMr()"1\K]4,`#&h֜mkk6wGm%uE&0ZUB-wqa,5*H&f֋IrVגmI]WhwUʕEpe`䘀1bp3bGG64Dn% r ǕB&3m#Ǜh[=MވȋIlR >?_?LP>=A/O_%TA^Q @N'4:ijޭC(d K)KĪV!q6N6f(ԅ8jPF6&AQ pnhfq dJA40SCE })fB6sH=saCy~-wzXKyMN=,hY(ѐI#$>>͋`f q f2ZM+X" D ݤtk1Gtc$d9Gk qf eJ<>(jHXb,VTILO:>D̾ozJ=ɂ _Å#X!HNJ»ȞHu~\g#nyڏ6G>JxX#T!-)1$ T*t cD☱Vw:\4ʼn7 {5Q#gAi9Τ )jD$>Y*!y]l YmmQWXTjU RP<\V%[PMQ0u$8?zyK Qe HUӼ!t+HČ(0 &2Ha:*Y?а.Dq͒ڔi U;h)`E0P HJ@ 9EGBrdIP“r (LC*Қ"RsV wp i4-SMa(YbCd8Ƞk PaL`|?߿7NF)3!&#  AI ,$XB$oF‰U"aVJPU!̍+*a0d %M3դi^hXUYja$U*,?n$!yZO9*ҪHr FS# -.뼻j3dhR9ȶ$#`BkAT5U7?JoO\_Tn"E<ػ(ԋ@Xre=ntFo&1$] jC"E- h{x -?C)Q> .T1wRv$W#@ZK"E&p|-+үiG ngy4ߛ(vhT` -9r%"5Ѩ8C2(Jѯv5:@6U=hsDNMsTlc%mS^YjUd6&ขXB 5}nSf坄Mjf k(/Sd C?f:gNL3,`֪Z[*띘t֔$ 7UwpfK<:Ѕ"'4)b ]vwx9"j,Q˞bO)#ΫޞG}:tQH㾼sF*?IF,Yf"=UGVՅVvK#$-]K_|zSJ(y=YE+?JwD͠: 3=CBȻMyp Ԋ sfukwuCn>UqcB8l=s  DHSлoW:F~=UVm|n z}sTT!hڝs33A 35w\Uن Cp0)yLijl>ofhֈ:%R3LuHm5?K5~Hcn:aN(LqRpT'D<*%*rVlU,5jhq># p`n|$H+mJMt?]~tw#85fkS_J"2 oYRtU2篌L(d9c\}1%V&(8iuʳ8rBe\I[KYn5cVrJJ I 5kǛ[Yu=%98Z;Z0ΣJ'(2*\ !6yZwnc |BLz6/.5RN,m򈡡;I$4P1ppCH"T}Bb'3loeuD>5tm:=PjHD-rӱV7*F*fP6]@cR-5 m-0*xRZp5ZVLZ& "sa&1E8'̎)! j#z#n̿*/X.a!@!$__ۼn}1!;zAhZnIQK#~'iכw|¤1 d[?y4R v+kMBAJh_;kk r˘9 Rq! 0^4a-x# 9:ddE/13R0FI [hJFǡG[-\JXtAC)c$-޺kG abpkb"Ԍ׽4) ;\2sM"MlVh3Tq 9I&`w)eY,?qӵǿeY583c.e$YA#fIdhL"J(rʾ Q2rAK[ - D| lǹrh7 23 d#( g'>S_Oz|!SiOi&&wf]]&%4 VV i"#"R%*ШP SzϟN2F|0Nt2{n8]>&Yώ# L4Gϭ, X2Ӧ6.y-X .\@apqL? $%uBMYG[@]s d1 )xS) t5PQȠ;BR$;C7=G诣F;/嚻=gPMѢy`sȒI$%Ul&I O?W$&A|[,W.c6mm]? RJ^]33 N՝?WpsC 999s'8Kͭ6w~ 6!C$J:9~!Ο#$tI3V) ݦҠHUeMLD0 }bB|$=D#|؅7$T`$$wn6-m+s6洤aaR!2,ƂDHEq%\f#TT$VÝQ.mboM4s|-45l۠L[aZ8!f qDPӶ\iS /4RALn B8alEҜ$FQ@uvsQ0+f )J#\ĭhcjaMD#-ӦCX, ad F1Rt"8^2' 7lm4YdR̪<SEshsPF%ܻ%B48}:= 4TQmռ-1t3_F#!Nq {V'/lQ.)$ 5Rjcdo PdM"֋TDQBuqTh:mweӤ$T<7c<34k C%h.L`Im.#Jy()BNM-zsDRl\]ӧr;$X=-@`b&I'bA5[1q04?RqGdkLth ӇŬc}YlZDy+YRX2=5<2V*AYSgTvHdtI Ů`pp &t|OX&oƸ6n}wtFVs ř1 ѧނpZ4<+ ]QE Q$낓 V<#!\™l(ڢpu>1mR]iķ.^yBwB$PKGClحαUc˒k-60SD0Րl֍BXFխb S*vڃgzsr.@D΁M%M N:žI%` XLռշzmy1\Ўib^$D=IOOvXvO.6fܴ+RHˉWA,@B6QkE`Z ƴTDxOXRY0 ^#A~ T;(>rvwl s9 2c_ 逾ZsYLEL0M`5‰M>Y0!L" p]t i0фNfKv?'`ңڴ숢ّvoOz-wo8|+9c O,7oXrO+ `*ךGu3G2 '{1!>?%13I4a,h"UIEED 2Fyg,^b؉H'q2*;c;L' h(~#%"MHhddI&ƉI"J} W8ZKA5cV-^,lY#7U!iU*1X$P0ʄ1Ÿ:VڂŻ2*Ƞta!XQIgCaw f`:4wQC(8|rV,fJTGPO44"{fR+*P҄M&fi$pTjQ'&e&bi^8p@ς >OwXW+'86xq|_;駺\Hb(& {+NrWy(A/ ?alS@= XE\-$\̞xDUU_<(-s[Oz"Lqc%P}qBG<ȟٸ<{-qWi=E,L g8,?pt] &`o 7@R@O:c]'FaD񇯷[udET)?ϟ0qU@r>.`N*u/ "87][D HlG΁ޟ$L3 /kOZk*ף-Ҧҫ2%gg*Y8$R|66FT N{` q]+T"YO9c,Q" &S h q!$kW5`-,ɦ0JQ3={@ %<-Ό Li""9)|9Jל l+z 24VI)@oCc`2N2;94pf%$97 !`./29@Ro"PNE,E 2.P460z;+WleYsP`"*M;/| 3 12T-N[)cmjZt6բըjZX&@i"!7E"FF< i*t4f42Y0$cEUmNVjZj*Z~Þ{*o凜N{ͩ33x ֳ(XּM+e aĜ\"첊%Ʃ !ևI> aq&@EԄm^rФZ]MJ31!hr%LŢTZEZIi4%&fNcCYRvEݲ.T1-Eҧlc7ݚtW2ePiCM:r㌌`&¥(`+P.(At8CP u"RMݤhƒ\3",V b:H摫Jp8޷k6G% 'yQ0c3[B݋DerRK{*X|SVP;ZQ5}+AڎC VPIL-Dצ413&f!AM%Xa۴V *0ӂ"9%pX(qv934fR &b`ƕU4c!kZ~&&"9pҐ3E%Rz]=^^RW\0}) o;jqg:K!9{(Ɗa 3p*RԽaꎷUUUU[:VfASp44 6ðfp7;` a0D@ewΗUX5չ:Rwuq5Lr6 CPeM&YiɃ&2(:ƦN^GD "W:gmjaeZb&p BYFeUS:YPF UUT蜁=G}qI ~a՞jQNy12](&|A1T0T$((a 3ӳbAj(0zx~N{  4@zzgƦ0" ~l$aH'֞p7ކ  yVEbƵi964 `1R"@3*ݩt0Zmb 7t8\ESPIWA*D(dtQ_P#!$&ͫb~A@RKAmZ e]-~ E) uҲmM4bV-BTtum"SPǷl`% Ewa54a9 F,$f.Oߠi4tЁt's`-')P Q$2%ALFUح aDH$ =SdR~ysMV$DCQ. @Z"UknUHD9W$]JC!$7ʠ~yxz JP @i=ϙ?#" RU!+͊$ERb ä~Q TTD5ZWc)~)R5 dTRL\E{dKvG)"mCQ;΀X.5AJD }8BB΄=z^sb&\|Ӵw :y}ZkkB!)m3ѥ2Q*[+BԲeRHv,R# l\]ݕpֻtlR카m2m]eyuWyTv8Se4ZDڦkb%a6<ɳښy+ʚ8T)66E0iRK۲VRM$[4mך5*U#jX5j+du)VjmPl`jHJGY -)wj[ڙSaTEY6=U732)iPt5TM+kCFP3\ b-듔" A$ ((iPܫȕe3 THݠS|VKJXR;_ܽ% ?-\Hĺv#l6ZX 3)'S×{eKyB6u;G hi5̮}r1Hijqw?,yR >%%_IC)k_#ȏg1Sm,%`$t ?~yC`>BHעx^VfG8X$r}@Q{ Q 2Hщ T6* :ǹ,Y2P1'LTD+ )nIU}/_ҞQOUh)iUVuiMnV}N𐞝ppDLנ4) Gݴ_ oXzlmݏW%MP˝S4)ICL>Syۦ-2yEFZMh(mͶDzOztP{SIAAAAAAAOS돊K#RR CXA.~sK붵* h(7-rƊ((}ƬoF&>gSҘ"odb(jTY$%ͤdvC7  6"4,M|IQvH(KLM RP=WgWd!ٟ>asyb*-L!D&-1MаP8Lo&&cջf:¶$2UI=y#hG&njlX~:˯~2`  6i.8H f2h3TWwmn\Yk%*A4i\:dPHS EnjD@ՊbT\0Wq &x!&X!n^1ݠb%aέ!B]@RBUE;i`QD(Fbne9 Ap{j6 I9jIu񯷽mDI"ZY*:%㔓!A ЌRP4љb4G@ QaOD{x0(8Th ,t{ʉ>!:$#G̞sq-ˢPp"s<~$I Q=AxGDjyDDRz[xY?.˕H ;;8KҢ+!XmXvm$|11?ZI[ՔD 9:(DZUL-ZYĶc8eQ[bc,HD*j*s\J((tLP,YHdtS1pR!s}$='ʭڻʷGbDAM,XSJ@7k5-(()`6&LUѡ΄g u6rYPeјqRPlniuurQЪ Zf6N9Jd)ʇ qNI;pO7;ˎ9-+R5\Q*)l%yAVD>wrjT6+!U; -"'438P eDfƁ&5di"!ZڹZTe& /iެހg5VE7R8,k/bCiP1C+9.g FΗyc؆7=aZU\ZmRWSgiC I2FCAC!K2L k9 :Gpƍ" *~ ag-GuRö%Yn 88/;؆BFF HF%Q PD$Y&Jq9HDM" +`E{Ez)u< Q'{nX Xc őhoRr %_X * ƕT]`6 5ݭ(W!B!H*N!$c}J,&O @_uNBut9,∡0H; &,}Qs֚pF%$Ɛr `1DDXa#1h,Vfxޘ@ҏQCU۷nzfe"ҹl,,-7Ai) JbSjZڮ& oT@1%Jr ʜ/r?i`?~;PVI^U!X?Ȇ@1R"`P">8fgϛ_Fww0NZ>;tw{/@ |yez{mkWoo;螎}gگ_*pA!sz}ox{]wO]ozZ]mˬ]0T_wOR>;[h{㌺MӐe0HQE}w{u^}>8 -i %Sٛ7C wsf(l!Zc|=al{zX]zb)|wK [h C4D}q*U*R÷&lHm"Zuq_pncP={8ؖ}^ wRF+﹣i}ϔH:w2<.{ݎ@JM;4m뺠lu= ^mv]I믯ݷNjױjngZdTiŵֻmsy#䇔;uy-/0KKzݞgyqsѫ{tiӶ_|ݽ}^}B|} wm%:.ñs֠|zOoswuP}^fvX=a_f{}vlAa0> cw7:]{^ՓX5v6ڡvg6r 9޻*S w;n}}ηm(R֌{}:]j>ӼZՍVjh]/Y{ xzۧHا}zWvuՀ@^ekjUWٮZ}hNcޛoٶmy736|ϾK}{>^[gUxpZw11kmfGvK+ljS̷J}Mw)v^zaeT}eNֽT>kn}Ps y;ov{. 3m'6}Uɹm퍐҅qCGv/`=+O@)[{yk7;h\m/MhEbNu 9o>lAL՞t_s =P=pwh6j^>dyl^vM={м%INޝ^ +NbWh=}&^@^/Q;aiͻS{-LuG LTugwkc${ yzf>΍m6A/Qϳ.^al}K]2Ϧѯcwg7vj\%4@ @4M4ACJ~2`Ɇa"AAi4h'z zS 6D=F FD &4&'i mMLi2M=2G'zdzSiP(z%ADO1%?CLx &0'ib4h!ID 2dM4d4&OѩOSm&F7luz֪U-Ӽz @&(T%iѠL&a)@KB+B:Q4*4R%P.e4 J41 D "-%"0@G*tD}!L*tRQ@$zud(!bPUc(J'`\% @N(DaD= @{ SA4%E0 J+S^*5?tw/6<Ǥ,8oDImS_]}9բGs<"#s(b B]Օ.4w#^m6FM&c`@MX1WNoNb2.Έkmr%Ҩw XЗjun! ^c=F{$+`z+s+!TBC|ޑ=etx؊aO,4#HPXV`yڱև[~/YEL1b] @ P:*CP$or d4e'RBC@pCJ>@S$K&`ӌpDbͧ #$B)oܠ ?Fqd[cvFM=NZyol#H/XzP3l5"&L 5x86  aDΕ؏\ k³SɒecVhy'?OC'۰6P8 H(U$#bMFNnܠDo<`r{!))) HH['ǒ_nFch0:f7{N nP1?ڏD ŁgFBj$_rAr)mpKi|i&$I$0P!(k,Ja-^D6}~0jRdiRLD;bBRSc)r8%'` 4?HD!D: dL4uu_m҉D!UԕJx*! ʹbtLlMUCM$YP=pm(if̻ߜ8D]>twNw/WE /+J4p3vpmh?Á8] bB׮`NaUP&SA(^`ܲS!f˼tI*eT&ۻ}N'BcT0QX1A1>ƒN]Q!a#+d"@/Ů:%QBRtxF̼პ{zMEt‘k4A:rjEXu:V3TI@Ziy{c%th3fΰG/%f`fV``̦E g"⃂Rܪ |WV G]Q_5oWwBOqNh^:puI%w%;*nGH 9Q,tɈ`wx14ɍ!6$%TM$$cu.C-Kr24L&6ڇ(I<0Znbi屷6iÆ93+Iw8eйsh^h֕kP;ǐbNutPWa1Q~'<<lMoV:T  p8BK6}9neenh?/n'y5 %˝Po} RM~MncrLkT5$V )t|S%y44zq]:g"0ZBbj=t&#VؐTk8JsntṬ‚d)"W-r5I\ksnJp4i5P\8pG݈KcGJ eʮ,!s%lFal)!i$<$̴Vާx,zg5h1"r77b[Յi"-d:*j-k^eO8xr 4bޣsTRh ՋrRysa\sM !H\#*)nClb}c&d.V[h\s231UrS e\[ DjEL#\1!zw @".D86ߣ..AUZD)|7# )r#Y>> E3S2m2"*`ڝV"ƹQb1_D !F5opw3ܥ(i1F R)C:pQB)%S]}`9. 2ˠaY_V%y{ݶ -9^nDw[p#7#_\`x@)yCvı-oݼKƷ 3tJtǽm k Q( ʢeȔĢ^:U=L d07Iҡne4놶Ft`o{bᵓKɹ;ٓE\)KiϹw eG5gODjgn:9Dpd1ړ߈ V`dosn4x%Է&ni-@nם:A>R[|nϚA ^c,cQĵS:tޖ EKSo*g(&H^f<1^f-ݕ>/X-RN"qUiNL NmEnQ򇥳 4PT7jl@SaTQKn*M( tWO[g;rus!m0&4@15$|<({ &E–,|JG\ JT `|( lMO"+M`݇GU{p:c"-_e@9I"QM(rSvg#3B9n6S;р5(rW/UZkXVWr6 &]9(d`%Zݐ:5\:A qPh{PDcX9â^y=7$n1LTCu$Eݪ"3/ z:51PD<礠ᆌ-7DJ&!kECWiXAa`O pvyLN-5z9{O9Z,"/S&YHكY~--}TѨ *#780jy]jB\+ 0l)D4v7\ HC`V^FLfkEs $2hK"cCb!P6 7CcL]ÒKNQ&\rv؜tzѡuùF[m$q;$:jneQ#z0\ >~g;!@"T` !6aFMSl-=Olj'AːfɌ| DIJeEb]:~H]*8]ԡ@\AЀ3baK3[A$1!Äꐣ ȣ1@ b Ifr/+hD;:r!`?㠳jD9{7>vqWAq:t4 N %L) W6p (T V.u8{x@4Ґ"`vaA Mk듻2䤷Ԇz_^ERntC72ϽKXT5q[~Goⷖ0$hr# A2W7HhYG+ ÝbxUYrr_uȦF 8bmgeWce = ,y@a雨Q!hqU@@ i@6.0r%Du!7xFJ=Bcz1F (dC#oU-[KBw|0d k?;Fp]*#iB*&?y)'>[vMaG䄓J'8TR\#OkfQJ<8$RvT[?J .bZH֕G_I}_ѐԯŪ0qUUwi~!z ֡zXĽBܗ{#f¤i]"r5 代5vߞp(\l(U@ۇ_5JҫvԏkZ9/C^| k]n1W KfxW~\JQ'wzꌲY O HU/CKA1p06nFh_Z6E>;1?qEqBdjg1Sng5yl~/̓HSr> aT5Ih|:f92,p#o(c nYvc٭ȗ_(P8r||cL9#G7ܤDעyEz0;e1rю7&krn|o >ޜ~'$W7򁜺ˢrhߝf}?nŶTr9k UB&w&Wu͊qӕ! BBs4<_ i ɇRnhhj[kLrH5_U&C#0ol $" q'Qd}O>utY]1>H>Ԋ^QEsbQ@+)CA)F@ QDƒ,PԀ NjV_o9<^?ܾN@8HP!߲)I^>KV#|30lw?Utck`1=./bܔa,k~[LM L|?{|#b O]nvRݮl3kL=Wx-rJO]KKP*4SEB"{awvk1BJrk_E!כmrSwùw§Ǡ*ߕ%@A ?2MW_mFRǖu9U/~ aM.#gɬחp05Wv_;Bd2уey~Õv'kkCCA1t oq3RQ`~EtCw?;xēDX [ 1w33333333333333m}ZֵkZֿmʪv!}&`$ ;907ܤ"HZ _"$T̜FD0 I\E/ث%ώP.;BAE4J&k b @CD:+S rm)nDj5՚hȄ)`+Jc߾ǐK7z"H =7;읝O URq].GvX߂? ,ke6H"(R~\H#"n%,-ןƠ=zߋG- \O{PGCfi".41-amwK$.UUUUUUUUUUUg#õiUZjmua~n>q|#  ߇-N@o/RḄu#G wvrݹJ( )۽}.Rͥ.kYKos-- uD:p'˱rP?P% BJZX!fO&w{o+BQds 1蟕.:`w9mOx *)R!4a E#Eh! fPLäN#t3e B(BH!!!!B""4"0% 21؞m?MT?! _9NɈ`ä!7BUS(`"mP4- }2atK`@LjE}_iiZtsPJP퐡(D5BPP@ĔUSE % 4t8$$;:)Ji=>a(a'kO P]%}>=NI%n(r("ꢹ|_dAa8"fnrL868*4UN gĖcjvl b@-J--H h c<{淜A>\F* 6H{%B ,j>7>0U8E _FSI,/;;L H W5BoR 5P#`hfmt”>7i"WsM>'ޮmzMw?*@U%'1&%@C35k0F6* mx7 B71ˍݣGxr(sYCIѴs?; u@/}XuR"TBS'{+ʈԦJ &!C smؑiɮ{`ryd4~LTˆqK< E?\E!$Q J0!$. ZC&p@Tp iԊ!B`4l;c>× ȬLMvdo~|>ʐC< +\m| `=P<&̷@|A?Zb *lJ!'=J!B8}YT_їיd>SґMNtg,ld?_?tC6@RJД)s7;@) +ۘ= %Po@/Ax9!uw2fB&'Dj CM]XvPeȀ&}\O/ϏG46bŇ2Qp؋t\(?d\ù" u7GUN6d"_]LAF;!5qsC"ۘRY oH0Jq1r@e˥Q8YYS0<'BF1)\Sp2GMɞ^jD+ G]9|Pz̐}n6YӞu_0v"B`߇G.d"(J(h{UL{) ƞW}?[/h >-AyG. q c4(ER+JBb zPX@Jy" P $S@t}=00fh.q9M󙶦 CHAɧ|F܀3nW3[tTgwfO8:n@oLDGnVRh`9L-ȴ;Odpt$ a(\E4( ?$)2^uY`a2!H> E4^ #[?u4kP_2t!!vu9-}ԁu֍Ab3H]#蓙uRE*PS$FLLE" = KK-2Rm*c߶\gӳWudD BUA] " 4M!ϑk3 ^zV q)!S盖ga%]T-l{zCJ'盨'?F\Դ"@;~;")-S]r*b*gMΊ4pk!4~ˮEsTA!2Bv y>q‹UC]zު-{?=Ec <@}6`< apS%D[!{t ] _kY 7P%:)<$Q9 Tb,-/2)mlQҲ.4lk3.e|DO vD߄%5>KI#Lr=F%C]qGi $>z]fvB*yg/Usc2q,&Ӈ<~ILhf 4X}_'tp +Ǚ{WYz5eԸ/2^/'&ͩ=9A P;QM qi? <F82f/9-8`.\ /3ʄt_ҳh(P~[Z}O2pgϿ +"~Mu݊3'  ۇ#(XҊxl ljƀ/R78{@wv ~Woo5{{kJRݑ͓Ɇfg9&5p J U|f_&8dؐp*u+@y3c(((((x4Sh|1^{H*%"rZfc/^Q ُ8u>pbcpZꌑ# !&lXȒTrTNrHTy0_"c2 Ak($xOKT7<ȃ0Uw$ 0< aao(@ * i&#1z$;~< l\u[y%9q. %A;{qg>~740*b`vc|vrmltvo#6&_eSPC%~J 53;KsłRlɁ6Qh>AfFdc,hJxryEpgM;c!eZ uj\z&dc܏NaEЫ6N$7TyQX[zn!Mj;})C:RR&11< ~(AÀQۘs9oǔ\jmr$M1OD9K b"aԱ:ݥHHœ;.HTZhm&i y>EbRi"n>Z2ԂoEv?=6l&  󾩳b#]saw.'AegX(J6`c؂ lc-N; Z,-0R=H%nX{+i͗gDN`Bjf=6'*@MA?'ivJq9]<",&!%ҒI Թc049'WT |xi^ۖb 8B~|f}0ړ $>#Aʻ;yw91ÉBB|O 25Ic5r ;r`g6\T!3ӵK1kCh|/yLAwCNb>p^.Shn\Sld* `u,! k۞ fڨ|j9nsYpZIįȞH4ݛŸcV p$Go:쯖7IIW.+DzM1C}@-aD?daZȎae!#Hg¸@г/81P 2(8*0 Lcqr+!ɤ$܀$$`~D6k̪ ]iվY: f`i~t2W$cL;Pt$ O\@"umlb|VݔFdC;4Bh }ino}> '犢qE"*#j@{ 䦈Sx5(q1*k_Mҷ;¤ 6__ϖp^R"E˱`PwTH(с5BT@/ h`HHala٢:7kopأH H~ A;^bU{c惹$kP9hFgsF &qMҕSI-C<|qZ]%k֔ѯ)_pg{m1ptH,q0xB mY,)J#~2}'fQy5Cr8)6M4?j)ZWr^M~]+_0R$ܺO0pIFRi ,vTc$ VhB$$P^ B~2w|yIP?6gl[%B (` Fd>qG AWAb9RB?\3 1HAr64!+c<U2d1-ȃ?f)J:0ḋ`bAḩ@>A5 HnA0hڝP@ L VKuW|L-ǝ;?l?ChqzhU84nMDjmnv'oy3">\Ɠ'Ɨ^Ms@1Ve? *O)4;ç=PуpDj ")=i`c/"1cXu]bghRgp. x [=~ʱ.N5D wfjm6Do^䛠q)1Ͷc1}})rp>;ڛ6Q~l7vQpv_XJq㋺4CnapQEQEQEQEE\6r(B:@ccp3DxX DUAx<$.0op8Nq4XG@#z :C1y"@ ex?μiJ7NT߁M-—ܮw/ͯ,KzY}\xӫœ,Dx++11TIrnq{4@I&v_YJ? z]wך.ٔyhD]jiK;equo2{Nżb l ʤR1#/28KAj/҇TB!N +?"6$MO8Eon/wo;M8 |\w{7qG;+?.ЉW߭TpZXi?d3K_#\9FQe jxыۭ'.-]n\ K|ش#nꞬ |a9iv6)9㒤H}c4ׯ.Z%~ xP_04 g_q6~;}=X<=wwݧy]=7!L䀽cWMZ-ʎz *1R Ӡ1J аm$j= A Bmdet1L(H_e5 \7g$F9F6ضݣ>fn}Ͷb.#^$oLz#ǛbɌ")kcw~de~_(i}kC?QM?]3o[ߎ;ߖ#n}IkLҪk)OiP?v6O 6a- 7 85B֙Y#9UmKq2⛯":ǎM'ُ9NR:#IdZ К擘Ut*ulqG,^`kݖr|KJ{Ѣܱ\" \h@s\$ ]%t yG?VG]M̪J&is_m$],nK%^yS,+*TyՆRnvXx}q>g>(g InˉW/~֚#t$86וUUU'u:vP{d 0"h{_ݳ_:9Zॠ #Q{l,bŌ! 7Ax{ƻ(pS'䚳Dl >r+qkHMQ 7G@.qúd$,fp V:_vҹ3sFB+xB55ê LUФM;4a-$ TXGSPTiQ˫3L,`5K; 4JTrPH2N5ÉkY@dI"D~thfHqzjZyet92rX7`4[ãҤ3Ng$V0rRҤ.]ҋO"wiXsYHR*ヒE]Eh=0y=#РNh)wr'iT8FOGx lwUQE R&A Ha3*\§O"슋clH@k a7;9 s9NT< )Q)=KQ A#NWr/Q3(#F{T9!!|hF1*A$7x.цh ؊~ڪ Nޅ7&"cѿHao[^Uk}OGJP}]l ޻1 &i F"󑨇ID_3nrᰡ3`CB!(0z1֯w15u֦ddI$f.CJc%smutoI0 0Z|z͌[VAAxCOF`VۧNh9CCBUW1 A ߘ[kY*ѹ:m`Bf`H֡JC3bO D?2?>h>e9E2 7"6޽ ,e _ȩ.xS@PT{뇗F,ǫ2~X{ܮ_roޣ^@k[X^Bp"<@2\]M-'gFt܂"Ѕ.^~E&[#%  'Of41F>Qu2N*Q?<`2I1eG`B9F16O#0cccsmYpt k@Ǵ"-dCj٢=y|k4kE. fxt]~yxMBzƪB!PM+us5 g`,\&f`$BHKPj+rD}1˛|:7]}wa~ю:H/0˒8k,.w7ߧ#(˟T:FTP|!o< <ҩ1{P@^hhFƕS LBc."/r٨7gb-vEQG ]]gD݋ڥ']JHv:Ӣ-G$-MMWI bh5N+7s4b_*$Onϓ@@(']3wESZ< (VO7|dI$8wO2Qp:$ "d4Z# <¬u N2> J2␈ Q`Q& Yv ͖B쓨xlwn,s ( ^hqdN0rp% #RiIIߐ ^|D "> RjmisX#{ 3oI22r@(Nå>^]o)= "ث˽2Ym4ϙIH/.Wu-hs>6@ژ12BO_.b)`=;ܰjSs~ lxXq Ө/6#>DJ !>2 J2&OS_^xZ$a\q9F8y3pnjЭr[. N>[;ҖÞ_a2W8wuF1PÏhʄly0û s(8fL.y>C 32Ncޡ\N?'K4q|{ Y*9fM(PyZr-PuQ=:yfȦ1W7Za Tz!Ī $ΞngЋAy@92a>5[esQOt26lS=^qMۛt }ӜRpoG!k&F廉:#)n ELI`cUwӣGQ] &8a{??PV܌I4X0!OY08 UW[-?=ճE=E9V-Ћ7Cwq8sm $ -?FXaR@US]Nj"Ξ3c9<ίGWpnI8byj"RCxYbΈ!(*rRat6gfmkN8SGVIAvf5HjG;TJ{gj/!HJB|G~ !( YѪ~}~?ۧ g1e W|5 )Y!3Q;Y$Qx߮tG,az&AEG x׵epIR|ŸCɜy3]hewկ9KN9:hrn 84U-")^V,Ԩ"Gk[܆m΃sCSeπ ԯ(HWQJ *g]+~? |'기|묺KVV k:>al'Q j9ElMOLE$hhI&l9PvnLf$v/M{g|[S6YQUt@dS)ܤZFsv6@锋Pn!;pI1. \q$J:SQTK\F9M3?I<-zY =&!p`0$D[T8"7-{$4r+b@d$R Em9 D@H8A9ge@|)93ybU0< .DQɯ<`iegBE!!vLj8}equ5?TC>BY!hEU Tib必f|X1y\jC6B$][Ǜv`s(azaP)We( Uw l<Ӥ|rE ~?(sܿu2uR>ej(]PgaaCq։öc   $i/y(r-ȱzq9xAn9<^*f`&6vb&zߔFI zg&5/4>t5kv,MD6΍"9 `D 80U*[m g\_NtvW =WW|.c;=rƾْX^ BpNh Sq5WmKg>4р2#Po Rf`r3hdyli>\Hk{m{O< 4m41 T`o`kpx%/0pfv#]2y"5}nJ*qzXr}&r4E(sNe@5mA0L޴*_yu=6yPe+y]&DN(ixjG=8ׯtsqۭx;Q 5εәVm.b#I/R@]`'i I l`W܎@Z}7;Z6v4l1Cj>nGF#>L< RF|yxM4>W4{$.5DLuN#$AhwD3w ,%a( 'qLgx>uBg?Y8Sy0RmLFag0;DžGxN}ѻfU9–e>Zr%bBh|~zDBXW\E'ԍ 5^ŭ-Wj B/9ȡ Qyu5TK(#j`o0a.cA,궠|oBRӲ@㑞=dj@l;]$&-~{Cqpfm`p6H"WYg53PF#=:`L( mAP~;ٙts0 ׸))v: 9+wlCh 3 kiNJCuߔ! PS`=BXaR(:k3PNFPH.[ =HnǷA w6tF008DY&rXdOI?y !*q![V7lr3!TAUdS "p@dDAT]`研/v^m 0!g+yoP)xSA ~K~%VȀAk}ZT|3%ȡz-ќ6ІWE--^_(GjЭҪ^d=wOI9 k ̰گNY&`g^F{[(!D_8hb0ya.S-U cW(@[2f+3lVҾ8ӮDt% X=ʖqv}#LrE՜9+Am٬pQV]"H:H2t%BuCRcɏ){qB[Sݝfv?Fuil YF6զs&|4j)6&ʹ@t7LXKۙÖj+HC~9v$- 5hbj &c|z6G~wc o`lw|:ws]֟&1Db%sJa x9^גw&FgA|_TE4deA-4h]sw?,װeR(&{4vԴ9RS]ۉ:5{m*difKQD~%|B3&aR5ZSM^JiT{3qqP x^Y@0<|9ShfNf(y=k]L.dxBX*ƮH.5=\|VYT|Yާ@ #HnuA`lkafjf"gZӣq^T]zUcIk(vkkh>T3 S}1oFnj_k߯Ǿ }[4(4Ej=Qm-mHnREU!Gq:6գi Ԝr1oDu ylLv0CT'q= ĮV:4K֋TcFbC1x.~<,82ӌ}:3'>`i-(xVV,LH$SD^3{ƚ~koҋ8Gb MZcWŲ=N &A)#2SC9 ɳ^%9j+sS*cd)Ƕ pYrO p<=C3US˙j3gU̒> #KzSL܇٦|v&=T́HҬa+&5PLއ9:Fu|ٴD y7cJR3$S oЈ#Yh7J"cXpܫOKı)~4yxPKSv:&c7h0DP'mEP(vTd7ߵdO||g:K79۾>dS(*0"{Z|C8ɫx1t_+u8|3#'}K*_s:f" G5HsY _Bnև0 K}-YnׄvuK({Q&N}(C DH0D$D@Qnos)H6G\̋s40>7Ä{#6.7+2ֹ).LBCOU6'Fa5JŨ"2h?Íu2l'NK (~b3q 2y 6ks1e_3hyApЉD &?3I{9:Ax^y {,ֳ+(~Cus bjuYnyr![7]e"4D?d2b5VZ}X6K.vw|i]UWfFD4XV(Sv{cLEΗ=2! yK a^ d:=\h1{%`ݸc 7mf3͘޴lPbe!"& NJ?#9X2d f[ZsA1,NEmt9o4uT{c+[$E\p5c&敠t+e5`E:wT 73@fy!XA eUz3,YAt{5'(6\,-^ >_:Bc9oR.[u*;#п ű睖Wpۘ?"O>8 pӋϣzJMsm~XόPynڑH=b'G|H Z37rT&&+BUʎαIrc}K-|9*o%d067߂cWXv.Hx!uv;11ZKs.~u=5|mv_b}i)7C}Fܓj';K65a 1liuHDK,1,26gDq$G)2yd䑎溎7Z~ض: lAuuL@HWD $=LǢF+U4q勌-!hNxyH n:Љ`D!8/ѿU@2Dৈf|C;z9$bvnb,\%>q0H ՊǢwM E''|՟MFM}G?)d9ș=9i#ԭԶ&dEJ?{!CZ](:+OZil@n~.Q:^6&8CHr롄)-'}, pk3F#AϾP̣O.w8|]M.uRE\S\+[U3I!yJ D=L<4Y"nKzN7 ˌ2O9gƞQ=n9:&: f;o{^n_M!Q,tikG)Y Gs;an'D['|+NbDД+KP16yA&bm[CIBF a#\ BIOfdM,NNm?{clka k GR߯,YfdRY0unV9٨M嶮›S"A =xua>z%: 8JG@do+?"Kaa#{Q?˭kĺĸlc†/ >6L#>tA[>z^գ d&@Rfڲze7Mǐf󗏞1]z9ܦoMP/)zt4"%|ta{m:dW+n#ݪn O^@L(9iI$2%~PjQh_F&Ͳ}PxA|eS+Bj0-J|]RFy*86#M IHrt/rTi45$lEihHb#q=DG8s;Μ!l᤯k2 Bup{B4<]9ycVpFՃEt" ӧUrEѤF@<- CB_$SψS,ÊoA ps-T!^ T]wb49a~)H3M4$eAm*xJHL)H97y/L:ihB6Y̵&) N,D0YnF$14$Ɨc)5='GvqB;9e> {4QZM"8sCyߨT(Dv"5pC sSq&DXT^g=EuA5 7|M2c IHr)]zo<>oFJ>G1`f}tMUnhZjLuk;! fZMTu'H\+,@5)*8x=>_cB4 HT1_lxMF4ׇzĸ.cUw0krb}`؂p/3 DZ(˄Æss*8}4UCz&y b4wLL|Fe9h1/)^]Ny4W\3sڍ -|^":/Z4G8sƸŒ ~"?\'U@G 3+DjJ*QM)d[cES5E¦c#l~ z7߹C<%}X %r¶ʯkq+D>U&G[aw\GM!'b"^(ֻ}I=@TC95fقKUWm󾲶uòȈ :z;FTT }3M{xp۩Y}ߍW״JtL2=~7/UdW5ퟟs0⑺fE}Aue]0Zt``3r-a( MTlM._M-"FlQ[H-1I8MI %k᫖,*n$2n(ʿ4Zⴁ![+!RJTr츓ĸpJof~#` Ȣ𱹇 }EMH)]eɼb@ !)'8]*?ㅓaot[# 7g2WH.&3*tp]u"AM434}xsg. Sah䑌`dN60LZd8?4B#n 9Fik)8J{$;P iIy oyݺ% Fq" 4nv`юԨlW$ٷElb_Ò4׺!IGćOI$skFhV>l y?6UŸ*PJTkNU[Q~ajBT D:HD>^T{wJK&DnOa塙 //W LYm[.x< _ T= O;*/NֳEL(U'%Ḟ&_1*ct(ŕ:-[?ɬY&&fA=XѼR|w#G&IC.NĮ\Su3_&3 |%/W/YYqԡH&IEWT^$o{ݯ&0ٱ$|/붱2X (|oŠ'E kO<in iE#n-{$L Yppyc[CZ*SƤm{^[A:&[ەs+7[Jˮ!_=0Q oPy.:: |c|h@u_J!MQ m9vY<\Y @tɲrZZ4 ih.EԿi)RJ:=i|ήG&]+gZWKi;)/͞>oܻ<6w=ۄdWmJSv~#ӽ^=rpaȰc?V4:W>D]F|Jiش jo-&Hܮ/aD#2G$g*u8m=Mawm#w!LP)'K.S\ BF FtCn#W^7+<$N䓓QZsHym~rM`b̭<2P}5W[\ŭ͜Pz7T 0O=ƴaZu9"l4T)iδa~*H?T2.@!)e,&Rg Bw|+ 2N;'񢝞  pm()b7LJ" Of'YQ cZ)Yȕ(o1C>;`Jge7J9t]-zC_aHCLˮ߼\^fr*!AqG,\^j m~k:Lh"f>gBmBo*ʍnj<)4]"Fev2DA)I!Ap:vݺGT%]SC*Qwf%lĚC&_X$&ɔ^,g}V21{4#<9{Bbc5UfD;ڇ:wF|*(gEn#.1ufO2HWyj¶.AmmobH칎zUH⋕n,AJp`!(%iZaGޚ-GSZ/LrI(PaP3CpVdVy7HMuoo =8"''}M`  J{SSOTZlĄlJ:cfW,sl|_\~M f663; Z(&B64BD}I(B?((UZ&K9}:FuƸt~S:5#~SOU Ϯk[wF$tOeq!Ch gSOshKOzb5޹*`sG׻oV3YI}؁jqr˾BSALxyNcƺXrj2wQ=>Y0^YQcriyぞufR5IU*5#-y0~2}{T~zdrXaZ?;M_z8FCMHWB{6nw<7% d%]). 4 74%y|qCY~nd$Oگ1ϓ66FDI6k]IzAp_=^V"7)8Ltpsu80m Q|YfɅ{a[ڣ,j8[q2/C/4 RDK7'\gDsRs|\ԕ6OIbFOGD+ou4l󰚇&5N=6qjctk1"Og9H^|^%FWqYB󚶩LUaUN)=k=ރ>qg=ZcW$N$ϳdM՜Oq(M) ک(⋣b=wh&qfp@ʺDZuwXtWڡHq-R# ^z2n?xQˠt@D,1!Ir9TT%&M!vz2t`% fȍ\Nn~*&<:]Y7o NOқlE&^H7JP~ptUvG*Qo^M!nɊnw`=0BXV5)@Tbz$ KOM ?25."?IJ'cP ]{ %ǁ#< Y&r"fBȞSء*a|-d?o <3zB0kquka?>5'c_ruRwkη$Djݬ,$fK2u>?I pn8JB~3:C#3/Ǹ;c&ed24J)n :D >wֹrrf=3`z8r>hpϘ\&>DKɸB;wﳒ! Q%O`X[sc&r쮋dgISQгD!"> ra #lvDk B/GT wx3V2(q%j] *_tLkfbHhV["hKl99y(Yj\P`]"&kPYA;19$xOTY- DNS9 `JIE.gTzR/N}~^Bcߣ5!WdJB͂/W%` i{Nw1WA/<ֹX́#Dz$1EC0 @4H,RDK QUEPQ{Ԑt k<_z= )A!J bJb=" B% (bJ  b"jJJF$b "NdhBh `$iQ-80 BRG QgKo?Go1. g˒6|n  oX D )EÍrlX/(P(L:,LtD3sYlK WA@BC/q[ N {" 7O7'pgQx~8}-u,6Ea@ d%Q.2 1zP@ܳ˿{ʨpa _G'h4 rU[7v8۲~pۅ\ N ^8-^VxE(NH4LPHCZnp}aղFlw>gh% TH+g~K$>/}$М7`nNmD=9hȅ{82JbE&}U7QL>8\0ow#c˂N`:-ʓP Xe#I ߝeFa^DK 3t 91źtiȥLDEB`H$tOZ~Y׼}$/8x,Pѷ<,@&Xԏb \Lsi EÆ0n1z|bn2D:V0CPɿ:%g6updѼvc]0 J_÷! V5%xXr䚺$4P?#"(U3냩V$nq|<˩B4D|~n?k>`O{ד R_r?B+љ4Σ]я)0 &dffzzc"y}k,ҫcsI7 ^cp3*}nrpXG8`o\;N.r+2샦o"椼=w!-#JjwB6*!,*IUU(P=r~R!=La $3YE5(?)% rАJa i UHA?@)'X(|p&baD@ h?>p̎Oݏ=eJ!N"S$OJGS o*TG xܿ6@Hj"??Z^_)Zkd#%'~B;> Wi?ZZ4Uct]W^{%ҞI]):EP4"{{=^JnU. S1|zk۲__o_Gtxϓb#d6noSy~R$r V |<߷_Ϗpg{W@59ˇ7}Qٱb z_=ߤQ_h =p](u-=Ưv=p6+vT?$..~Qmu?MҨ%hhcA$&g? X#riy>\{UN>ܧvNHd`wƙzWjҚL] x_ r]h^/1#H%4 $M`53?NYxM  (}@ AHh`&X*RUbh3s#pcVq*$j}?+~kuܽ\ Pp59&dd~o[QX;UU^y|\rR[D%wjU`}_d+Ƿec{ڥ+g5قōj&͘)#%Y) =~зGhw7ín| Dcc"F mff@$2By3GQK^WOSI`\;g_Gz@8>= LFi,O5E({nBl!{ NRmɥ&}q!m735~%ƆI/Giieh) vLI$Qj;KG3=EǐiX;ޥڧZ޵^kZV8k6]|ϟ;|XMS,uBqQv?aϖ'/t]Z NTcP\\9l17$)d {<Kn=Wb?l߾].0ؤA˃6W%p:?/#6N0vr}TъnǣCy,́I62Fk.,2Q%6A~GG4S50pTmG{?կ[b^ZY7X 9*{'fusW"Q-;kP|I&}2?ts1n'NL:fwaK[[aIE%$Jb1 YQOϣYgmOo'u+#L~cڗ|?Zhk8S kn S m-\5VUtãǷ<57JHwsǓ7Ҹ֧η]f0X3ӝn @PNx\J(\|zA׷u>sh`c:`H<϶£O8t" R(O\uϕ5B?.~4H_c݆Vmw)`:Q.;.Qs+KObO%D$1=1Nm,><΂i h lh/uᓮZ}Z Vv 8V2/)i:5S>.MreM~熿z`ͦ^]Vx=<`off50շX]~lLS;.z.Ti0tъ1pCFN=)"5V;`#輲""(#rhqRkh;_;BQ=I?J廜 PL*^H',IravSqlL|L3glJZ㥵T#ԾaodO}.Ǖ '?WPm]ɏ[NA;-qK4 Dh>Szg] ^V hVsrQ?7֌q+1$ Vgu,e­J"Y{/=Kfٖ LA+JHH#o}`Xŋ,$2U.=&Yo\|\E[X2mc\|ڞ'=޷3nha{/fI|J6Bg*H]5':uK> \sv ɽ#6adb6xiO}+@1:iVCL4t .C/]"3nNǁ,%w[FZK*|aV[߶>GN|.s};FI0$vlŵJ B1go%Fl+Ͽ6/=} _cfmkqVb% [OTDva$Eju3p'0q'!}f#ߺӎt_?*]:vhLOA9XzpJ%Sϼ ͍mt-PAVcN{5X{h<.G]=&ܦd.q#(9e}j>mBKS`}3[HW]2mj:5ķi|ZI|bأwPPƪNEx֡~gUqVMz\Ԑ8aH"n4 ]/%nr⼮'pY!6\jjƾ'Qs5mN^NإsVǜ]B#)ۋ"ܝ]'.5;zlgGOn, k WF\]Pk"d!g>:\F"Bs@M\>{B0.0gׯk=Xz|ļYcĨI%7N2shߚH0d \DEHyg0)_}R  #0'?b5RwԨ3ݫ'C,wy^fRvsyt y%ÝIҏI cEdZ>:E>N~xħ7n5FnG=Թqh s8`??!"+[v.g퉨%q,D,01=Z?Gqgt߻t>%GI$C;{~8$AFqN bCP<%a X,݆y<FJ(`L|ITK[Ѷ9_ukv7ZMpޢ_]enIaZk23Ęf:|4J\b퍡Ir*Rz5HG]srX1rMw'g۷֙WY?G%8c|ϖ۫k? HWJ-ULAy ^~iv*xcr 巌YrQN4Gf,"W<7)S++9^|2n[ ='?PսoG,cjbG) 7{,@h eN-Ӫ$Vui#8vx;lÇO9G (cXW`5W9Piut]rHw c<*|%YF9qjlKY?n.=#âv |t}ttCc,tēMa>^VDv|$b=ד!#Ա+Y-~=p%_[]-{dƉc7(I $$6|:O[=G@&G!!r/27_-EV1%NETF'}Z%Ϥ*[3Ϗ^^jRqǶT$xTz׽MoD%F"kWTiuWFJcqc2hrWI*6}8TP#`џEγszEZ0BEAMXG2Daw6zt Ƒ{4%L$pr U nS St+Fs%eNvŞPDd!E0B)B)HE%0BRV)"F!PaJ(OE,$oQNL`aSMjQ_Di;@D 1tFH"rJ?#_SEE>#Hԍ,44 2) 26} >Ѩ.ʺ9{8Щ(QT!Uȥд 4 "9 8F 䡁RFhDTO%N"mш%(z4{p( d)D3 q@|#5 䏩iy8 .SAbTZFV)thDB!HYXJh[eA(2 GbVeD5:JiJ&ge2JAA2qHi[% ~&nd82rc SL J`?d'\n9t [Nـ8B@ε?o2ч50JYZ%B0lB1z¦ N‡M.rdP19|[) QmC%bzא7[m O@tpx0֣%0|tn\n h+j2>B7+ ) мADRjHYL pG 2a>cѓ%mYv 6d'F#zJ2.&Md''\< +t{c`Dp _/ 9̮N@?:(JEFA@9~8=)\f% ; DyJdP&+o,M*GC$9J fc@'JQw@NE9US1>kk>;vk"7х7Xɴ`La}@y0%c7|SRQhYbǔ?:l TAay+PLRRC$BA!_zGɹ5_W)o {)/϶ne_Bij;c_.O4y-%r2G#Ov B&PRn0@MuFk@fB?|5_l̼# W3ӱ(&OH@zLeB' Bԁ&J1ABd+`erϭ@A%2lH"#J,41-}鰥SMX/ܓDz {!@@~CC!Z5 Iy|_~0ޅ1NDZ 7|זA p>T1t< AE2gI 2ݻRzΡ-Ko%8A>{s ҥE36}Z9 ȇiy 9RIB8Ҥu@$A6gn0;Wg2ERq碔?OtNSa˧Bm4pqn©h/32?,"/p F`n0\M>, r E||ƺ!Xh..BC-`$fh%6cU``7|pxP@JW( ȵV/!خJD4l\?h_Ic-N&§OVGg=Y#[w$^ w=][t!~-Ck M# 5Pkfa87p>Hm7f# y8oSc nC"Hsϱ݄- ysr<40OȞ.c-As!a FF-8my&c]"" Qۘw-%]rv fk)I|S'\F'65 .yvwɷCd0ߺc94Teȶr{Zp(\ >#ǗAS?6E]!!7dʁ:ihj,p*ȆB׏?Y>?s<1ӷ5z(֫,(I Oc\B곎L{1k ٭.8{7<66};Ú xgu?/kWE33ZL4F2=޿?ay]<`" jh*Q+ĬQwu!ӷ1 ~yxi8BЇ_&ۡ-Ru(G[[lU҇>x`7BF+ ({f&)NMPQ%cl~h7Iwm]Xo# +I&I8>72& [>ZH;x&YrZ'4o'ݤ!$;_ vsis^yž@ @ܸOE */,ѺOO&9k?pϠ6f=c]ݘ(.f-mcǣ;9r_u W:<)F{졐2r7m:_H1%q~ r4;ߡ#`ʠT>h금0x'k]-GjJQ<i'0p1ƦtO!Ncl3/7~qiv%Lf Y8N^Y]@sR_58q^&`t s6:3@LDA^(6*ͱ[>[m\ꍵ5 y$gG!)HK'%. ]ds~]# <+,tbd M7K₼+JLEC+ԆPAn /ζYNvι.(b\v1u2[nF-8h]S;Oq@?ChE tT߭x9lG\9q"yaulAK\]^ܭChn#<:B7ym0Λ)O%Q h:?tť`$V-G5ƨ,HA<#a0?֗m@Qٵha_u/,>:Uo{"Z1`9oVTv $CVORMFwOMyΥWSxĊHGyͧMťp&N9l7{g1OD#1Q_S(||xITd!1$&`f8z W4 g[&dFYr -:gcNԃhRHJ82!(?+XCVy(Do- Qn<gzx?RC2yC?AQⲈoe9"Z׿hnݾO?cU;|<#0B!cX ,AKI^n>}%O^yE/V>'.Իt  ߧj',&gBo!$vnE;@ňD e/$X S25S)=P>^<ֲ ,gnߡپ0J7jrDq}>T ]lϮsQ H6'?-{?8tC⧨o+_XzH|gdzPsIc)[R'Yʔ1ff9Z]kѹ>[N1C(ق$i3he !?/ou'B o;%Sc񻺩 ?!ʂܩU_/YmIˠ?ߠ>N-%𣫬#M0Bl0c6LEH$ (ݓ\$ϟջF/؄O?4BM'LC~YW3?Bso~ca׭q/0嚧ӷ-ړ!0Z+š2z14 JR/q$DDK HJU(iT! f<"M2P/#J||9xq0\*Nu7|O|~Vww̙ "9P5;5O- - G (: :6˾a]h[2.=332;=82vA z[CfWn7Έ¿nٮp7o< &#v&lM"fы$0}Ayƍb^% 6htC[6*cp~͚9+Ճ^xθ+loP/+;.خ10V"0kF%Ihf|cf@_q1G>+[A9%T_l=G\?>*&Fn=UjA Ե2c=oS0O>5N ձ |ZwG9avL<֫+gyk3rOr!&j o!NoQ9~"S7q(~vrUOOD!W% y 5ifFOQ9&-I G ~|63eO$JI #:8 ӧPKȷCd{p/dp2ytX3@jɗiº͛ڳ5e2"frQB 7R}+ j! ym*dĹ[K/2uLtcW=gBr299u%e]mRuXVՋ͕/.H\EFI^91&7Y͘Ƶc]TQ.A"\\Ue1y;wԕZ̭z) Hݍ#}=1~KC=ķ#$XXz%qˬk=< 9wPoWItȁޔ~X QA1I?o•nEG҈'@@OFc@tiuCd!>VY }[gPz(e=~~-[/)&z/">DS36a2YOC?юN5|RWnpy xNxƓy;Kr`cV$oͤ r@{'NБ!!\m(R0\ԑ_nonӎt&!HQp~|d܏_9:GV`6@dWy_/plS@C!W!'xJ܎IMtKɡlۘ Ai].I;(E죉؛KQ0[|ֵVW h=%Kv5vX]C µXMǣa<څ/.2phLe~=h2aG߃.Gfhii2SlFjD>;`$"l.![*^!ó , z@2vAgu)(cʉx3 ڝFh *#FvmWx#\~ϭJRRLUKPM!C D0^:]8""BXs*TC0H69'!4bӕQ\1leO"oiؚ_%N 6 m6AU 8Fnm 4 K7UcTHPW< ag;RܹYH n?\(n Z/4>8`v٣iɆP3DfB. i= 28 h45aG@q|r 0՞!GPܠUB#ۋm.E;%nf'ۮ$nXW9^\|!xWS\Hږe%r}@O/ǽ|z{c.*51 jLJ zl8g]k^λ/$9y#bA=E])`>7+-霚cΘMۍZ̩jk2墎h _}( 9{)@˽V:6H@408`NuZ`e8k "f3G\1?_GǡTh]arn.̼-oH?G_X~RՒj /1,@dAl2j 8z-1T_Yx9=Zd<-?.L>ˮ BI;+zN3ݭ?u) ;T#IF*D@Cv_9̪{Oln^= %Ǟl@~CA@n7(ɝӿRQOE{(M{O߅v"WQ9J 7_J0ytRBxD`^\ݮ36(߾\o羷~ VKa+ZSr/ɿlAhaR2u=\ cUUUJ'ݒ|go XvTHp; o2}Ek| No)3hEA[ q]"/H3a[O6 H2d('BfJRm >>"|p&Ӥw9T/޵q)I8 o/sQ,̀\&9":}^„ *Da/)G+Iߏi2qf"{~! w-d_"[w56"DQىHWj?M`ћEwdJh4i8Q4|,jg+RJJćc󷼥vuy\uMn DƐ?{z4L"& !#9JJjB|WWu >̴CG<'[O(k3L3ҳ3(W:`rJ'wj:$gK>h K >pXlWS1!T?H"|~3~lȀ9}lv0g!Ɋ> C]sWw@3G_2?>Fht-x`5$yUFXS35]H`zws;(=:|s{?@6:㇑ "z ^2q_ ˡ'SH8{{,5e 檦fbfffjffM!Q+TNqe*%?6ys<>{2`c~OvDA臊OZM6@ȸ~,+ufZ \ߗ"ꉶ!8PAڶӛ>s!{lB z/t52 /"(5?q/u4,t?W@F3$ f3 >7o4@`!" ~Sy9s~eoSoQkEP?醭5'L֯>|2,zLzim(_ șl 0 uމG44n(G;"jq7^wJeCN~%_^L`>')rD@@'}?ܿI?MnQ-/7CMU11{#ǎ<ETLUULUUPJ15s5uql%ꈒ >^sZg@{]rd>_QMW8"D-; (@"l=nG'$jd~, >9npfu~|V-)Cuj@HνI>QxհԤ HL]J.sqp4ǐ=#BG}/2=ziP&|=^. =$C`y?;i@v}^o?A:%xxxy؜ʟOCAkYtg? )0HtK=b9,E`(f=oh9I%=ǀtJmgq& Epk 7=vt*$zy@~~2!W-P*Ey" R$4Y+STK frD$,I~I oymt'fF?2f%^!љ5]І9$ U/̃g tSLD}3LdFs[ˍEa4i*ғX)Zw~J?++z*‰GwwwZֵkT={>plBo*jSQ0fAQˮ ooOۚ'Lc u(jS5&x#h (Rd%.:< aLԡx/ѷ(-Ӳ!&"|> EI1$W\ΩOh{xog7ޙC&WE<㜆G?{OI/ y$]de(BX4WEȋ&Q0Ԫ\Su Ln@.01EURyů5bׁq¦LᏃ SWj:D%d}~nVJogUXn!MNAsp %w٧ىaMl--r8Npu>YK@|h3` F˃.wM*JEl<~SA5!qr"p2&L /EN19ɛkVXgƷDv> e$]\h,?<I^P-N5h4F͎Hצ]G0\2WӋ1GCWIC7vw~+0FȁI >.Եs>Ws4_≝0 kF˞80&g !4r5 D"H!"$4r5 pN8T_`OV80ja4@F?/9oK (HQ(~8zj]Ğ}u-;rBnyvgM$a3n N–{)^۩ϋSm.#v:1=zقkp9x9r~rlq'Ewd4SmKozj7⧈χzgcꋚ$hsE↊6\xaSV6~cqP5y6V1E)oчD^evSc'2GP`޵JDH|N#35Urm64; &D0Fs'lDq}< ׭-!B3}e 8MJ?6Y)Gg)ZS9(rPK17lgõP>XLږ\d;We?ZC)"WN9Lӌ%1_ v8&27%1fL.ٝ"s!E7. w`!yQr$}yE|͖y,>c6N: c;Ҙrvl0S<җq(RNP4c€ZxJTJT 0ZDA}>򍤯#HI,qin\`Dn|Y8XVujɃX1Əp7@!pgU7C{&`輹l@խ%o*-ZqG[.u;A;|r,Vw~j57t!NȽX|䄙`GH˦^>vۧ5"cv`CJ>jw3EWY̓l*^^sa+*A>:?`mqnsENE_mAE>yn V {&ۻIUbJugjxESG[_= Ėh H!$")0TcxQ %/mKb:EDW#64,iדAϚ-, u2s*X&&œZVlj;6!D:a@@}9Qi PWOL~w$q7"qѠnjbj7Pp3 &D5YE܋E;jG[}^xO& ג<~\DD) ">z IQ*$1AK FÁwQ%nh:Y|N |7xP};P_Ir>rؙA0z\1xLs;i lw91dp x' Cib "B&7=G'B~Hh? &! ( sAI]BA1 1䆅ז M$pA1)a0Sb?gݕb[w?ӝB0]`|MHbFGOX*iq!zHtUNVC>K=,a rcgglx`*SH¾>|u$@䁀H(bbb"bbbb(o,p8á=s?xϞ'J |4Ɍ drM4˃(6߽D`O @F)x<s5#fR,EY(iC<BJqj{e̯8E7*&7<`/sw{7 +MG4D.DBVR#R"ٵA&b<HH&("`!*"$%Vj1 0T(D 1 h91R:&HfՌ~\ m8GwU2|04# `Rߖ6 %;ؓr7 C}f!Bʪ"7:2¨Z#LL?Nut rPAx *CsZXQdy<‘HP* u/ Lrfe5H|Pu Abx@7=YcM HB^SyM%? \?^hE澗O'  c(L}f!h7S1K6 5ճ1gS"gT毾y[4x<ǁUzp@@ u]<-:yD}A2H(lxaܧ {^:|w*/&M//qT@QlU(8@|h?Ko0!g\s! }^8zg7%VaJ^fnqyUU5]{)JzL8=d3A(P3XOJӛaAh"lUNO +b}s2jrQRmi+ i}@Hv, z΁ `*mH}B1Y*YS鏪J=_/v_\jG7A”wP'4&,֨I`A1$\{^O>N#Xu,L-˿o0r'N6zF݅w鞨ڠ!d >Mt QI`DjH߂~~N1쎹kD؏k)͔SG#C.T7`DRi!0-N=g8qݹd|5UUUU$I$7GC./j.+$:irj\ 29fv~QqwAH뼜rˑei.Ȇdys\vQF?&޸fŸ=N̜͞i7JnjH. twF^F,'>H\?8^wFƪU`O7WyJ 3MKgL*aM!ZwX\:Q$wҕ+/y:4[D >s*vi[5Q.o̙tp7 Vk)މɻ<!%=,tL7V*%1]>In " 9fə+-`Uue:pz 5w)XXEC|K 96 jg[6)$Ѷ-RKE-LDDΫN|hh99xВ@bv>[}\ap_-׼566@H *8r*\ P(E& -JjU< 0؉dΨS#7,)Sp:@Eatprlbbk005)側;aUUUUQPU5UUUUUIW8sUUDUTVx>Oh?k `{d@ y+['o y~uO,OB  "@vJ1Kݾf9O[$ zl}1˶@R+Ĩ#qsgWN  xbʳ >r>wx6x[hR*=˯/2H60_ >1 =je >ځ Nd+*i/CE,hk3!&`'`!hv evmz{ $E1Pw iRP$W ߠt H"6vLnF$1*I/EP(ā$H#! NZc))gPZ% 304aT&d@s0DA@KL|ȩ9<ӡi_\^1vd!IE&Ô% Kđ':< `z&__OC,R-Q H`g1?G@vL3V.*r7ĕDĐ"|/z">H%zCAJV lB('u#UT "~0C1CPOg{stN ryE DՔ$`~4#5T ww xJ=Bd$+'I`xrP;P0jbh=, oہ|< )UD<6!UwWm'vdhRbg%'5UVک*6ڔyτqDYaTPa";PbQA*CJ]b[H4S7yUUUUUUUW}UAVZֳyo͊MjjoUɐ$\UMUlr \T`ѡig1 88JF#L0҇\GgHrsU^aw*Yxt<-An eيX=h0 PRC/LIk?*oF^hU4Sb "p.j*K㹎\9zą f[aS1a]ݗT$BdK F~8kez 5WUO[׆r̛`M zG M5TM4MN;j^m[--lln)Ŵݳ2 lc[^M4TM4M>_7mv۷ovp iM$ب9 P5V5d9bY1wurA31Uc̙52ٽM٭DmDimޝ rS rS rS rS rS rS rS rt֝S rS rS rS ܼw;w[UUEUVm@HB-ES\=xRRqüx0m kZiR'4jHNŬ~_ 5n.>-e߶rD|b%Vyv1jU挪Suu1p5UӶջj&W2).Y31 wvH].nۻ8Ì]wmۙ33&fd̙5Շ7Z*&6|N0^IQe\ϷK]FeĻ@IIwxt{w-HB'*"M$@E$1,T2ߌ]IUUTJURUVSrʩsU4J*7V*iTUTUUQUUEUn7I|iBc fܴ*:}^7"ѼmsV]po331253SZsyum˗1r9sΤu̸ t浭nXp8,(RS#r)S5E)֣S333333333331s9UF֙zcqr]kXffv.3132\Ku\ erñbKNf+ӱwQUQ:$P;tbnǰ-p: .sV:+]D*y^fDhrPw9%Q  JɂIeeL$xs蠥(y3򩍂?0Bl#G9yh Ps/F+]˷.=*&ñ3]M:uPW>IϬ`M#ЍA'ՠr*bi}]j&))h )jj)d&"A65E?9zs6 =$VxXUgϏ=_qRK. ! tQm֎Tb ?^a#AUw H:,dp_w%S$3(L̔]Vf=B" r6%BJ4 uòq\9~5kW;;`S쉈~ՠܻɉVRD%TA%|,!APTJ4(l+R68ダ@2!&Si}\† JǘjCeR-)ZEcMu$YgܿDkTѓ_cn ;y?'],T  L~}00mF3`c"#Q৏O>!1x<ٝ~G{5,R_MSUulV.QNq11s'˪W7?kb?BY5d&`F&}_N`Q 8*I8q2"CCb7,Λ9Duho JNQMTb<蚓b:g'Rtz` m)L:w,?_gnCЃ(>Bc㋖pw(ށ$CU+μXxtdfL@]-Y1 x ä2&d'Xh5|($W6Ioۘfe[fnk恉>}y ЊnQQUEDoEҙE3UDTFUUQSJ{HBЏ`&hɇ& hTEQUE[bъF**-DTQkƺ|[[쇙rhB[)*dwb }E/rt ?s/4K=qG Ay#g >So!fyFMrx}˷zN 8Y\ۺ3A7Q $DP@nᐅRIA YDDC#5t;L J3!A)}cD?'zbOcI{v7L;CGo|`B#XZJLd@@>噙v#S35Muzy.$;xY~ vԌIS1T;6@L&Hz]+w^1g '&Py&M&!h AB8Ʌ;*G~E1jbGf")!~Dp08 :;<QUȦ Qc]uTZXbxC<5m׶j7:k1k'/Mծ [0IZjt!GI >`%|1 {, ]aD_\[^5:4w‰H<y( WCpWS@Y28<]4>a"k7uQ.uYN PH Ax}⫓XB^`͠ͱXvv8V1>-Bo+bY#/ ȣ"Qػxح)㗤9bŲ@f3ԁ;@4Gw06ji1aݐ-d&HlI@>Gdz`%>P|`bym!.v:<(&"!?M:8C[=[<.lO{tu|6ϮB߫a>) ;4h ^DNXP |!(}?tU7D C7"1!  C 2Q(7KD ! F@mچݰ>P34^ÜP d x*ڋ=И( ;B,Z $"5 #n '.܆vQyG Qq;N(SpEmwؔ#ǮxUA˖6* `@|%rZE|/>OY {u<.4S Byr0#@:Cv 7:2Gf#=(qH=+ 8*!pyCqfu ' a:LX$<_X*w AIah\$B+A=X^9ejb"5T_sDP`?'zq%P!bKRsg qoKJ6"d#GyUVj.~ǻ;Q|uUT~~P$<]AHI&b pqoeI@/O@hd ǏscR$W3BQBiއ3jv wMEHAzɽ]8\w]0LC:JD!nKBM_Zyûu \P/{&DXCڃn v80VĚӒRl (]<:p܈@DaV'O9G=(Gߟ4(/ -# IQyBcyv{sa ]H&&V*j O$_Nn$NH,w1:.cnɏ7_w7xb8EbSёоBDLC*DA1 hu& YkAj@' Ba7+F2a &w`D+!ObsT ذ:vDSAcg@!"g^¡fг&Rs" lMK A}Lê9m*Qa)$5H_"F_"w<'NS ĉJr\ˬ2;c~9uh @JRhݠ9Q {FZ"hh} :U I@$fRIIHeQƝ'EP0`r['9)=D9xFuU$CXg7xPMR)Ԋ=]SM1 g! jwtJ;;@p #PDR>;n hjh!q F%gw@!$~sNdO$2vxcCDAKLT8{W4h,)$ʻiٽ~|}m׭ y {\sòŬMTij.h .dz $|%rw(U[>°}7) U<5do9Rvc`Vn L;/PB%CMA#wg )I ќq1m!_D`E!cٷW'L1)jyr: NsGpGbt;$8_;d .18@ "z|S_tJ#'jb-!R&9io#HD i%BQ"=B>{}}FQdS}oz\n(VP P+NbL$gΙI}z~ r&.mPC}H=|ՑdQ߹KWdDLP)= / yu7j(h h* i(h TYjFN]Nb1:w"S( =; @CպjHo ~3)@9CPujh>q^\nu nCXyB!mh^4&S%@.<`b4Ň"y:' P`+"R>lUx BJQahl"n`;Q@=2@BHKxrgN߿+hV_axܒI\mY+ROS]QGe7η/hZHheIN&z;2Aop==߶qF> /b!J gIkkZn1Ķ-i4FEm*)A9O5Uˉ{{vXK@R a{--FD˸-~A@] 7  EHEDQ@EHDW(&"*$"ANmW1 S2 uYM=]quZʈ;3|~uʦ5zK< #2Rv5:d8v&a:)enoL>쉠^Ҙq=W:FmAHj',n9F;GHkVljt̔K"‚"'0׿7ѝ5u&e(,_DbhPa ѥކ#G!hh,_G]BDOŶF}GbX~C C17@SՋtn$M/|m(>9uY䩆%lѕD!P:=;9Avxniwcnz $\[M0SB8;aҗDhJ0эhelFd@ʄ=藃hJh| ~xJ%&Ӑ^X.-9ġւH %UIRb ?C<@!N?')$@~d) Bђ܆"$!n芢MJsTPCt򳤈8ƒi}ITTDda"t Hv:t$ݱPSf9#5䣩Ԫd*3CșՋQQN\_70UUVY=˖޿6-7;W>Ԅ_bpu 2ą*I~G7IHfaeS-A) W$v8)! S;W!+Y/H':  @,@"ĈP ʢL)AH3#ynlCĀi$SsCh"ݲd'+R3q߀]#04H8yGv=v 4yYn Ѧ=1 l_< 1=R=?v?9OB$!MP<ۧU0iÐ!@paX0Xw|ۆP> /&ZnDԁg~Mz rD4z!t>9Yh[ #qtYkҀBhQK=ϠFç.HV$ ߿~ް łr+p CXnY-8T7x.2*)VȞ/'Pd6^mxͳߦߣ?f8yߏƟ.<恳 ewP&o-ܰ&xq}ώ=ņvI~?o?/Agޒ_oO]nr^6}Dʶsa?Ғ]ݔ?Ï>ZՁg_|eY}ڿ?׉%?8LO>|K*w˟?w7xǜw|}9]g1藈\egc~owWڜ"3WS0 7=~"?o9wK/g7Ҩi bt}uA9H9cA˽M?#/!7pHFM#Vum0 %52૪.g!E՜eK챸29Ap3jf 3٤A^t~γ-hʒx &XR. 짐LXM?L;4뺇g+@9[F^)y?DqYsI&b1?:BUTJcG`0}dNAXn2BD }Й::e4k%xəaبQ _rؓ@v0$' ϻxƛê߷^KMqqsĄ~&/2p4udM_ J$I@uew8; v4h `߫RJ2C3D &12A2XB&dt$4}R 5ۆU.DzN`vxph>9nx@D"Ӽؔ3;N<HKI%ϢfA92(OL!aȶ@Ɠ=9s9Zg3qk@9 Ȫ3FqPyL[_NcM!t38avAtz<8p'^BMACPP,3% C7 S̥煿RK˂b04zɖ 3v{d ׸5,DlJM0hw/?\g_6I E<I)!A{{ |8"bJhx'Irs3۞O:Be|fe\;/;, """"")X|`ק]UEnpda'zy3B@avTI"Pr0 <;Ozn'J@"{dǩn#7 4|Jl/l3:tpjbr P0ɋ}@BAkD'q)Ćb"[/wwwws#, *T}_P Ho酳!fML$7ƀߴ" | eydf0#wrpW L]܂Ŧr0/lc!OOz! 7Swd=YPXL$:=P,d;14lI{Sq"fF3:GHAyM\ayv?X8cOQؾ mJ5izl fmLAICF%0DVN!O PhĐG#0>q`i%:fmXD{ƻG?!vFcpXddpDʙ}[']Uߠ_`> 5;˯, st5n~ jI1Ҝ"yU8M<ѭ%ӽk2M=f4&j.Mi/0|I↣+]󢫬Nl,yPZ(O40 ?6HYK#Sq!FXJ0wH1~5r :j3{NoݷEE(:tn l=VN 3^8:FQE*]i$ ><2J*7iQ9∈2Ԟ = $|V2j Cf0> 794I GXd_hS'trʺ-:1kQ=N =P, xtmFxwDEۛ zn:T-$@h@O>(w`W"cp#{NfPD"N (Fjm*&i3pZ7$Cim//a}KZ a5E?NZ=nyCpGMiCULA}[4E4Swx ql8hAH>y;{8_T&.' ^X5fJ5 L ivVoEAfP4 J:@_G#qtXւ[ "]^}_:HRmBZ. ! CH7t(mψl@X EᤒRbg>[GмsYZV+csq/]^:#E/"rN]艉/h 6uMQM;| Tt BN;o X#u)071?~Xuߒ w|{սfwJ kw) ~$@4QvSeF(OagX3D$}C:V'UL(!!/TvZ;ƌCwƏqMܮ&wܘS*G`X3- 2?!L6#$70WU MUJRO~2"Qi@@!a$&`8djj2r!~ "(rFpu0ph!c`$`eRtUɟ?{{Z%JOK az$DtTܕ{mͷKISJT8ۀS qlRnoR?PzBbG%V%;OGۂ8 m0xf#a'ync@̴A f@$ J)6J N} "q M%fsp$EKG'+'z) :=?ײxє_քјY3,n4JQ&E9|a_0"D(O@mE#!,QAͼR}!iQqs'ՌJHLFDW]^FUD6X:e=0)t\$b `36򀱊U\/ULJ2:Zz.lڍnчX ;}8y F7;)18\YrK)1%.f@R4i% J*7Us0jN< v0&NYTRA~?Z `hZ  Q~~>v0R*>r?'4%'~ }Uuh5" qOd]q@$LI%*qꋛN=* A}62 aF  B ?p E {1D0j CDsJe?:} ih>W@-/L_w{4d*cA(Bɫzp i"DDJ kb)|{z*:4Z%@ N UNii*А׶JИ"@q*s;)T^"}bvl~bj_,b* =%E@pHQ6 `-08ِQ鞬7=Ԕ@CAnGiܶy#r7`>vA EN!0OJ?O24a&_m?@0!טh;zS_& G$~B F T71P% w'Q(m$%mj#A霰}KwOTMDtJ$:9= sLupJI,t^Dώ@B>$ H #У9gM-  1 ]yx9*e@tJ"rtC'F%BFb8IR3]Gq]60RB򈧄HzaˡDg3cBJh" >~ilD>Z0 =%Z -w× mWnz9QD նNt=(3'N Sp!ڜH*ja  ɯ%=D0ճep}BO#x=DЄ BRB;?a_B?8'>/nAX )D&5c%xK{ͳ+#\ 2"d(:XAwEPGC9l͉eѪ٫6,1 Ydd8mx=xW%r^I CUIpƌmAa.FC:]n_z! \v& $YG'$AD(/BHR* E"5J4$K4E$ДB4T@4D"1PAT %52JI B'(a.O.sRӀU=!5y[5Pɍ#-"c1*mbLoxn ed5&BY ySZ8Mobɲt0%! u(m%Hf6 `PPPPPPSCA9W'_t|p|(Ֆ=h3 nl!(40K* %Vd:+%#߿_H^Ok6˘谯 )pZ#cqe91nZAE4ƚm"Y`Ot8$pJϤwM UI4nhh93rA.9;sIJ7[apA5 LeoN3 .$5x1aH:ȅ_W2!ՁU*I!ސԠ7*!jG%㴣~@T 7@~EIÇ7a!t@`P= Ӱ8Ieb+ƪ9ZW 3Orεd_$B 扇 YJP=8Q0`9Y4;ႉ$EaۧH(շoĂjC(L!!!pyxӂNlA'_XlѱwPIԨ/ 4wp`bB}`?^. V;u^@J.LET$|!v6"ZzbOCshGa| :f׹ 0pMlpE*Q)AO8 W7.@/SP`@s(D %&H'B>PF'x@A"yz ޭC$ J@T"'MD)_;R ð:Ah>yIao>̙.O$z>jBaNiD?-_A>crpLPBe@#Mz=( IA+@E,UРs"iH=0USH1"%)ֈZO$DFbb BAii1+L@=&f96Jo+$S.%%Hoe7&}D?4QKi+ U@ԁ!D'Ppw \HCxur|kHY}1w'g%^gfrt<0~_8[#i-0*~ Ãdt:h6"J=KṺr;w^q:'L)OH?t Ȅ#{0A35%1F9|F$/WU6`&O/Xsw:0/&y `Bƈ `3~ޜ;X|Hs2Zi}#TOd PyŁ_*ZvνkZI,!/jnK@2/,hq<0"{W7z v4577B%6ZT;m~_OhV'HBU#PL(YR@oGc?) O‰n)ibR\X= GT$-ɚ*&b]obH 0XES㪏vj PUv۠?_oba|#{-8nØG K3)2hjHaRȊ9̫ M!^LAb?*q\KeF8Tx >gsHU|&0 xɼ^t`SdǍI]&H&Ij* *!V^" Q'=]SN+o$&6;`~+ON?kr$%xm0 kgdqI@EU#";,A"*rQc - <fuJ[N~y~seWY "O}4|-$ҠC~()C:TI||4" !K}z; BJODVl؞>1hJ5i;s9 -2e.[(%8F)GCUUUUUUUTx}@RpnA1ګL\Z\) (R)N_ ͱ$=;y 8$79KTpWr# RB HAj#!py?LV~l}__ ¦&Q?/T ӭk9„`e^m*! f'}} g^cNs xE4͝\'ˈJ-_r<<ςСDSѫ5KDDBDApQs86PyX6S1lh͡8MDiY("cȊhDNHf *m0&$ 5ɗ?apBY a`؂m0-*P1e8dE>j@:"߀nfp ߺrP@`<$1·Ԅ00G%(e4W \_@=p\% )|F,A$$Ĉw*fe%Ԏ~|EUET׃_r 94lUQ!UUWꀥ3x 8BAm@@])ҲLDrb0=3ВGN^xA[C`kӋ!_!Ch28tM0QD:^tQ= $2cְ48AP@DS-q8q; ֤)")4Rq`,`5cLi'W(МebFy0sp̵+|AqUQALH u5زcsHaURH&JC5hѨVE>0*zOQNRJ+MI+D,˓?).{G]$ f .x}N?jGyvZO_)ůGuS]G]9E "Kl3ӤbST\ ];EUKa@Ƭ"pF*"j*`W60*4 4:h*R+=i٨rsXd cfRRqX;qכ<0QP,cc&E^seq rr2 p]NoBT"T:~6h/?$QLAOp~v ~R=sA#)g濿aofɯY72]4oo?g聘C@|,3!9O?˽B%z-CByሿai9yͦz9Pnu[D9̯"ЩsKE;…p<{d*1t}=`$@Tx.\?ܟI-)E !chK5Z^77*0;&h h^e*g#iظTE.|YlZNq }#l8z"=Ig2ާ4v<;P*D@T4F9*M9(v Xќ'x4ć{1r yT$+;tLy&P(.Syn:Hh!Ц"!R_ Qtz#yA^x@"G: G;BбyqDǓGs{\Hz󼮨Wx㈜44lyKÃz^vxƲ^ cbdYX)9'.g A73ږ@t1I#,{RLsߗ1K@IL@  (m !2V% ġB'vT=g%M2pTAp鞯W4ٟAf0.g38?kI"};ewwwwwwwwwwwwww1)v`H  u('"QP@M t *@W$J$XBl>z*ڶ#Q`=GwCP@n.Zuʖ@VR:7q_!򝯾eOWQWCgl(8i3hjMzsIQ^)Tc4(} ~!M[pИ0v@1Cl'D'`G;nzhdПܐ bp}&`y6DNxox~oA(bS6Rf`@xJQ/z®[10@e[w^Ψ0rL߂B턌,o(PLwΆXȜL{|~"rUy,fcI `VBF@\\.dGkk/U%.2LK`^Az6h,.a]Cuq\<8l@xvx$~S( $ɗr Y$hCU o8$9y9M5$@AD1,&[MG%TbV(-l}(%;Ӻөy`)p$-+2uPhdg".d|-rY ,f8B>3Hap1<0&AZa=$Qe$A"C/_P~IYwap&I'聧0(ep"dϓH e{9}cHid?*s޵0\71QL0'ӊ5)sv)PAףg&>N„rq$IDL Amin獤<垝"yihfzG)#"Mxq3R$RߎKmAYe41Njog#cxrc#aF,˄D DnTYR)9 ℡Pp8O&N7ABa̜C8EC0iwq6dcIQGGYF tv}7Kz;2x'6> 8h*YAvlk@&.X<ܚq)<,WH1RR Pʖ¬']jKy.ьh#D6 ̿y"!d5C4# -ތ#;w"8M#ώ]ThA9Nql6ED%ÿi1G Фp>@!4$G&pHЄ2'`!z8R!!@0 $ȄٳU|Gsfv14H3T`Dϒ0FHp҆rzhgɟ^&G= ĎNDП% K&Jh9Gig ZsKqX@}4mG^#SL(XG 4û,HwBDP,>y=z;'$΂8!a-(Q< G.=ν`X4=82GJR~:T...ZG $z1É=BhuuTe5mu!yl⺱rl'/U0G,D&%,")ΠƅŬQxH'̓js>k(V'2 B猀5:|K4a mx$ NQtHC #V D4E^ĕ$Ŝ ([(dF a#H%\ƒ^H z,>.sSx <4>8}0h+]J_,0z !!jHH?Vx箴pێ=2ND#WfGl([kE;cn%p=F_7@1]Bc=93Ԧ9]>G u1+2Dw͝BHr " 98m"cLق"l)S(XJ7`'b|S4f߂QG]s9,^|\Z }{0VS\ !:U.JI4(=5t:CSko}bmL"bsg!ڀ:] <۶ih;11NM!oP\> r (kf *.wB+ع% ch5R'a&#mg\z#$m&`>\n!7#Z;y a 8b׿k)LھWeL}ז|pw'r;[1Tnnx w>dYuW\$Awrqrw]{UUs/X.>:XmDkAzҾT}pg/r. |ߴf?_+]fWj񳺗M}̣́DoM]0R 4|ʹ愢&i4.\VzFA8lb"6=V;8A@1a͂g `; "*znj zvB+{%0c(a R;[F6WCsjL&rBiؓ"d,Ѳ hХɴqHaI*H6E`9Ӹ9FeD#b4LN{]\Ր1 cұYfCmLm[l!>Oއ㓃#1l O S.09e]! L+69>w4yr9e;<큗CSWqciP¡ɐt㹸rMI0^T6M2frLP&.QD48ۂ:=),w9F.Iu`C rJ bm0dL 8U70x-Nd]XHÑMs L`z3Q%Ä,h|D)ɯd[͓,0%f4> <[|آ8€`w50 56EJ$EAZ,C{%h2:eI ZPuDcDxnz X뉳|AUح@(x@jL:hڎfæFsAкBRG/8i`0/C,&":E9?b#xE T !Hj.ɨGzJry1qYfU'+4.%#ҩ@ ꎠ&#ꊈ(qxZ7 Њ8Vsu2dWƨi0) <8NAO9g<'Ha!NSרiB"9".)(3лi!v` ;"$G:|AJJJQ!!=!z#5*R /?%F!%p숎La A)8Cd3˄S1XpL' 'u)N#6T"*{F~_)HQtfBx&H0 l00dAC`(o8p'&t.T85UTUUUTEUUDU@%R]O›C8HfN9%M mdɈ&8Gk-6RM"L+)(o <|Q.[&lAřP4,w^pη9lB1yɦ+mSmnuոejnt"j.|ܡ8=;ުѓ,xki?[r((9I$kd:r/3'Bi/'BQh=ʼ̶%N$KzPwI+܁HۻnFx c ) JAaUBOS> 6-ؑ(#5Wru^CRB`M HCDE*4P0S STE֕ & [j؂M @(dG %S#T5B&16KlrP/ ^7<(OOG̀RY Ȟw4{Q%:r³.:F#.niYLJh\L?S0m5 c;|JIahnZZu+лt0l;{8HM48" m"@vCo+81$J=ԉsEDrL7 Aն"_yP > ӗd'@B'CzuZ%lvE|6Bstjs]AЯTJa8ɥAB߄Ym Et06(I׻/1A\AdIOy3Yd"9"+HL2(4;#o9G7|ʥD$*Ҳ(PM%;!{!Dn c:{O Ԫ$Tj 2ntt\Q&EN4f@ҟL}Үd7Hz; =S:zƐ2%P,Az^(x ~O0QRQ.`/S45e@1Nj9!rx@`']2 Q{;6_dS 0EBx9azbHSq3h_`PF?%Ġ%C>>La‚IqO"DSszZ+* 8,Q I!9‹T$b IHp? r8C D=h38<4u RT:s-L,#Y]: udV\RRDeT4[&{ a0ՓH)bLS(F;:dz`2\.%U2vP#?9 )fЪʇV8Aܧݟ™vK4T&Ive:(&hwFbSU>># ;1X> 㗵 T1CqP{CǗ@P REixq4li"H>\Yf!5VAA$cDM0zO@`!j(1~60AV˯sc D!e ٙNM_M" Mn4@bA65Qd$U(1eI !FBi]ۘ:wd hgx Dh(?DR2SCǖ$il1>s!0cQBQE"Q|GYg}nS38KeY~Z{fMv[,9F&gEj vv}xJ:84 3u`SRD Lz~H4B7_'wdg /<4f|9 a!_nYPEnHvL" bDAFݞn3caX+m1% @[R{pzGTViInc.id Bgj䍑hq*qٸm~b 6Q)0!vtpy^dG#A+|ƚBpFpm/hŽ :J72[ƈY:R(a"!e t J)8R-Yc4%;\iʑy;^u5GsÃxCVPʈQ1 5[XsFFk64 n( ryf]Y"ڎ(O $&d6u]8%KI k[g B’kZ"phD!WXy.Ŧ`ƗF)B6$hb:darwpvN vv1 u74˰4( B#9rWq XysqW$P3yo} B`{_&9oLq]Z:>1BVvv"c%hU7/-Ԣ! %$<Ȏ%@-Jxwa?GgrA?v۲ h4!QWa!LS;`aS^CSV`R/ՋP`S7Pį睶 hSÐ1s @9+fyGlCx2c#Ndt>#Z*CTčQP5X6\ k*zz`$>\h=&W8{VXqA<ABAX}  %( !J1 J%ZPN C#@Cwŋ2=RdwNzzw" Rcр#A  4Խ@Љa֟d-$$#rGyOT+JٍK dx";D\ ]IE'1 ^@4PrP&0 PgCChZXXF3ώAFB<GR &̋/(0RMZe@Da&$@ Wc2%'Z䁃&;4})qHw.&bI9 -BI; 1ApDBl2:0tƇr~eP/*IBh"I@H`H( )bJh@B(T(b fyPYU b '̥'D:F;N7|apt""cd>%&4Ikw"Q ;@DI#)A6L-Đ?:-ZFc |$ai) "Rہ|} 4VcO38uFJE? W  XB\)@Jjgi4G^]7xiJl&UUUUUUEUU%[j% 1(13@$BD -0Sd@8 F|n: .zTD#3Jsbf5Hj>g<9axA9;*S0v (Ԩk<(( ?_;ë_]7j$/R1L6,t9.hj s8Ff.cs50416a# lZEbPvAE8.dɌuHj* nCa(A yw~#9_0,lA<ϳCf𜂁)+% BXn?)a7P xߐ\#dÝ-('&Ƚ|媪R:b/EE=0i(t( GkRi󝒅`dyh^5"p?32g#Ltmy¾^(9U&yG@x7F5'VyfȠ攡Ԧnx_ ~}TBfs0R%':|ɥ8C Gx^A>G$Dc'$;wxse58ifh Br4O $njbRI=fQ1@yXqDT/O'Cg\,xeU1/3eĢ(HLT05T/mH\l#JCBII"RQCE HTP$P4R ~׺#z0QTRLF$/a?xHR796ӭjhѕ&EBY LK 51D0 H47tmgZ Abph6rHq%4JTD ge˗Ev 'ѺINC&J-͍7eynky)gZ>9d~D( )H P@󝏄FD #3 3SJPD,"21PL% 4H̳(>==d(?kq?ƣKL04y0U?9uLַ.zxXۨGpIS'mß7yCV-*oN"8 [QڹQe2$uYӼPZ@Xn;3Txk} ~3;l!(sEr``nzěOg |OdatݨB )OpɊ "6Ì# '؉Dʜo<֦? 8dYv|my-2T]9щgqLƂ'Q$&2,:o`'Ȋf0N)5@dҎfi* !d H B)B!@B Z%PR 9{w7X}b//p))^4}G\ tR)$ ) ?$28TSW t;!Ht9RML(p!X5*2bC(h@?`: dD%$2R A +B**x;Ryc!/DsJ`W~8Ay7A;Ȭ7y}W_T܌匽prVAW^d`*7u(iTS1AkI;öVwˠ/ ZvuM4)BAJH5%\P| sq !J@؀>iNx>S_IС*^F(` {'7&,>$(-)Ib{`(NTBAqkI=;-$~^AHi}$ qלʒ/(,B>_((wra0ҺUW+[Pe|*rCK ;hp`)tӺv⣡ei .;JxQc# #h]/|&5i屐Hcǿǡc~A_@k2>n8S5msΛT^PύefT SODh0n8)DLF`6#] Y!@'Aa`a>k#„>^(2:o#wf {SԊU?RwAm~ c}3v!Wލ PDZS40nJA tAy 2z,7H q)Bsw7Zd(M8E&&ɖ>UPTUc )Y(bSxؘ?3~':N7r," SGpD @,~ yq`)Q 4o98C_?J DT =UI6up WE`RC 0SDDHHUU)LKE"DB$@PL2 PPD$)"ҵUD1%5 IAL0RD KJh4KTCI1" Z)$-4P-LE"jJH if$qQ,4đ1AUæ*B$ $j hIaa!(bY$h("bRD3AEx ]`$({̔phoqɚHIkKiu#9|b&6H3oG~SC{.3 k`a@#5jE.̂G:@[PqMډF7W2O$4hdXsarrQ@Ce4fnN |&HR;$Eoުؔ䠵!/pYq.ձO=rP'A=e O{eG|ZDlb4S2+1ADroNlIQ^r0pPGuR 4hđ )"@_}zΕ?y6}XP0@]!X4GΞHb0LB )( =jc(iB J)# !1D,U4eԞB8|GmnwPOM?bs"~Rf~f)tFIv:;;(j,"@Γ@{.aEfM}螦!| 5hQ dsC1m5i>=4IxkL^SP4RII|tĆ^/]Cey'xRr'ۏ}A-#)*eA Ĝav@":ޔ_dԠ?;>*$#̩0r1Krb"s-9D.iU$(FKLA$|arUBe_߫`z=id"E AAJU70E9#Ea1ے˶nv5m' !A$pYh/VG8c؍@佨ƸZ"6Tƕ!.7ts'YNLDmn8<0FRhr돜fiX1B YAGFvR0t \0v9ɅE K `L%¥29At=&0BY/Y`fkx1)¦M@ZC:$>H36C9WYeU(C|0Tά`/7yd`\y^Y @~@CJЉ3|yZ`n("dܹ5ؓlyb#UzwE߈9&ŌDNFJT!6G8\>,T@1 yg141& 1COC4RLG Qnx7MRLeBS.FbʱҀ`5s*%W)@,C2h>; =xάv3U ŋ OӥbTȁH|!5Ъ!Fgq]  ldH`BpPT҅y.3(=ˢ%KgV 8M| ˩fLXXNLja|zyh<0*t ̔SFimt8d 2 eBƨ!= pxsD@LE0 sj *j0KHCeBEs<^M/AV<)!lxy^ʞͱs0B#J$i]in]־BMIăʅMP悸HPBI ᾯ6P&d|_Wfm9@nU /鶗8^%] 1ETS1 D-V3֋b˝kZ-^/ꫧ` *#sֶƵ//(oP5(F=bd(S3IًlmHӁO㜠 3-"'DGdkbp݀!ךݞ>o#A'%USxww] ^H@\hxTJ7 Ǎ#X:AaE}A-D@yQ$VR@-AdV4e1fMK QcAR7p:.Յ2hEt$q&VY3d,aalVCF0`KYj^! m lb{1\+4syيɏ2X]e$9)rp_dAS,m2`R{gY!6.B B"$r _ߪ@㒜BYIуB`w!kJĸ Dwp@9`D>uM>vtgTqG a W< KF4flK"`H!ƶth8M\핋] .M>#R_a=]^qy9+AGr]m`Ć0~e57c1bywxIS8)-B1kE(p U50 f`niRen*t" upo3)YnSX.zR֎Ұ*<޻̟3Aͽ-sE. cWT#BlgrS9݊7ל. }N9F8@yU_OA+Wڢ<zf ubDI%FP>ϣx6ҙA (d Ęzz- sӈ@&TlsiLLʹpNm{=#F#=Ahhc`drh(X(  4BQ2M0 XkiPǐ&f'O& 6Nl?Ğ|nc_F>cMWuW-˜)hpFT JSI*RBB[apo~;o9[6ͤdjb0 )0T>ѴlK-:*_1Z >;\Ud{bAjDBl*t`A!!k4ZjxCߨ_$i"T&(e))֩mL:3gelRcTJf(_tuYU^*QqNzތQsORmqͫe L" ?0.9x$w=}jS0{B%vxڋm0=TǶSo955xGUHȤ[@JmJLe00.@$@QE,]&B/q蠃r*RG7E?QY.*ʶ쌐B3B/!CH]C)YOhe>vBr n&MO3 ?"` )󲧰}.!B6 nT5Z eg}^T_ Bû]Zabu9D!B`x5!ʏĸ(h;@cC$ˆw<#2 S ݁&0Y#FN  CA]APA3#gZ1Ew.0CAxga>.^1`) AϛѦ裹NKP, R" I meraWƒ~1*S DN|N^wDwdѾAJpb#G.@񠅮J\ "b()$*Bff*2"I DbRi(X@i h@bhVH}NJl*J8,1 DZh @D# ,@b.E sc$4!Rjk<1=?o)B )W-avBMb }'p&#êuG 8DS* @^n֡BJH)KĤ=rQ| SC54~dʰB.~|^wPz=1pc WԐ ZAiRXbQ%1d2^%*HTIT$R%B%HJeiE&HH\@b  I"IQihJ(h%F$`9 *(!eT8?2)ËɡL_^;l!xqXA iAH`!VD脞^_/YZ\$v"L$#Ă93 54E AD<_ a66"${Hjr̀<"9)BJJ3y^vH=:5+.ʖM r%1ZBe,'HԅA.! } TbS p'(WŒ aXq@IjcFʡ-lu2MC P(t/kHXCF\30Tb<)4|\IÀ΍Dd![n61nc(h0aP9GZ'Τ!i3O5a{juM2Yx3`WR! OhT{8"j )Άmb6BF%B~Gpz 6pA@%F"( (  L9 n!MzN2q8g!#.ktb|іM囔DG-`ȗ)5Mҁ0i q6Pn=u-yiGuqH%/6JSJ[.gN?`u8]2ִ2Q * &ka`H'Ư(=*Açq>z>(OPQ~'ڃ~x**&""P GB }t^|d:n /NَCR?1!ӑΏ#:v$Zg/te:a#;H^dL 9 $K ,jqR4(nx( IP)(J E(i@JEB*BJeS܁AB'СS%!C@PD!J:)BIi%DJ]'$^H'1*&U F(!Dܫ` % ܕ_ȂZ"4(v@*jB E@*۰Y8fS_+Ÿϯ jX"_dC eG!L 6<NRHS.@Tz_@)Fcv;d!,BRDR _G"EOIa (hU$ yE}jwz2Sf>nO-ǔvmQQ^uDNZ$OF5S&i&>3)qNuHJKӱ=bȀSH;/8 Ld/yvXI}{:{{ e V aD:ó^L+YgERfd!#9Wc1a:򟀃ZN 9HvNpܪH#OE< B#>s 贝A#&{ r)W@޷m D޹g8o4نFG.|7PpF6\Ϲ~z<2‡E)e6!>vn: W%2xcȽxP!ܐd`mLx9a*5 vjv&jEjJemMJO{[/FzJ<.1Z@?DP00z7/Kcyݫ,!7rxx)b+i-CDu0Gxbf.1#d" n KG? β(h`JEI&"OGʊv_oC~XDQTE:b,ĜC N$!'(/A*cjbZiPX9RvH`IKY#P>Sk#H)Y'"J@b;W-_"k>Q4!MChRX&tBwPA$J}("d( tyXb z5?nViܡCӧ¤E fP lsz*u\<*G4t( dW Ph-%4p Q"@+2 ֖ψ'x}}e @ 0HC呡V D>#޿_l>sn[Ou@ -IP23mO^s||DsUTLDI F)`;O{?igb7tnBzKu{YC=gҧԲ?031#JlM{͑c {DަJ=0RTJ{.Z)>+%`bLB`<H>iX:<;t3B)pacie@?HH}cי ☚=47%,(!L[*|h!_j nFL(χO/Ȉ ]S5Ol&e #8YIC(.rbU%Od óT ` Kc)zU婚N$cQ?35Q9Kc eX#[-,!,P@ a8C":P\D T"1 ҇Cx:XRʧ D::By-$1~c"ze ߻dp`Ipb(, `HZ +džU1""i<^~J9s /jyz6;BEF7$ztQv`v.RB!}P :Wih%\3ʲM}.]X-=T2iжBPl)_-GǏ4z&K"h2v~~FnSL D=CB.#oӖ{OtU$3]$44 _ڇ'^m̐>2}'2Q2 |F? (d X~X@B@AOhO4/mUH@q#֬E9ͪ(1$/ƪ.PӞW S*9"Eޢ E}U" %RwQNJG=t?^,^љa&ēNM,#QNO!H-m, $?C^8"ΗEp˜=kͮ֨yQ@C,p0$& f bfaZB(ĩOv`*M4?uǙ"fJe&J!iaI)W@bfZ\"ATD0N'A&5:MWyr"Zb0xZ1&fJ'4^XIB P7o9*I:9f #JK Tܸh/ ȘacKK$* j&ah4bڶ-$u19.i ^s&*J[P882=f( s1JE 󽋿燯ݑNMh~xO}h<8xjHɀǂG' y*XM<z^x2T"GC! c #8hPg=8D A+Z՚Q* wA*dB` H#" 0"=z'3=֐_O=Y1P W.gf b٪QRcTSx^AJBOyD3 @,#pC'I N9 CPԾN s5iP*KȊi ޼N@,hjw3*Tԩ!UCQESEQM*9$ 9#w8o(+w9(gUG%ۂxN;Wx)0\O"T9I!C GPQj)Rj`gcb}&DR@t? |E$H AԦ rAױ~]'[U%{ΦPičzÜ7ZfIi0X[+ѳ~=X9NHIA˻Ġ3Vwc3=C89(sy)L9| K␷B - [.X/9Ҵf0#0"s?Ń b+AM6 *id=QP`EUAޡwOߘ(bPyC.$BbeO z'=f(aQDDH{V1_f3* P@01=eb ~q$Ɲ.sV_4sEȖ#z7@nqMC LM/ D9*ʝ 4՟ y-zfMPc~cҾ4I|Q݃V#ϓR_f|܄->U+E JjH$0ADIMHCHB fJBMң=CkДB/+zxQv1֣`d5 m< B%A(BH-vDvDddE*=~!:Ix-mO쟱mJڴ B YQ%؂Gq S (IݭF84QAoQeM: YwQ.1Ӡ'h Q3; Ony @x|` 4*Πb٪".OVP *e?Nȁ #}ТA\Mݕ%0 VÊ" blF7.H5*#pUIU*a]Wo?=D@a75XdDzJt\hIC2txAAf@bA56v1CdIA~ FA<`a`"&DUITQqp i_$] 'ؐ@5Q RLxCBVIqDX >|u/^ׇG 4 ;SQ< $!m U" Mn0OO sV e0=ҁAHw~s܀'bKL#JD :$7)?UHH5S)$\DR-m(@޲ (hRH0 A!T4(Bkcci %@BIZҮy8BII*0,0p;]n]>'AUch5#0ŎB ܠ}ɔ8or @&KS4O$2pD4pðl2rDls(!Kc,Lؒ`u8Yd_{Հo/Ct8LqVX9 S3x>e4ۿ:׍GuM;11Ϭs].b't!ć`$S-hK?Y@ZmϰA zCD<¤*))^1yyQJD7A{ϝ.u7w(8@Ι_(gBLb~#̃Sުq( eT.}D(v&Nq>#l4Ə*}ءMx$983 Y xUڿʯ^^ =|(G R/G~B(,'74t僤R@׈z455"BRzjR P@x~% 1/H3}OƵԏ1Tg$wğ{V.Pg [Lb. f Z~86T: CmUᅨd@ԶJ@)b z(; Cf@/H<.M8KR ) K(t4Mu`fL0JzvܡCGWígONqu6Enhd1Vq0(ȡa"jmAT-0e%S8D ( cbV{(Xj܊KJB\e+iGax^rR nM4xTsy){;;W _l(pW{n - #1C52 vsڬp(5 Nup?,M.w|ܲuk[g}_`3cN9Pfϰv$yi27"vLEŠr3-AS0 z&,#o*qǜq(Ε,禓,*4*Eaa!G٫g$OrNA6 ;‘M.ʳ=Np6 BK^,JRZX5$F깞0x6G3`ͼHCa@ q R0GlCڼOKZ}$%ym/qB X:mUUZq0 ѫ>PG)/[?`Wr(^а=.EĪiX4s d 0HN3\1q;ʢk 5QvBNKd"Jo2%V:j+&UL$ȕDHw7#:_DHQ.I*|EтLi`eΕA<0Њ0^@ њm,I***r*G@+icϠ:}!SGj;vkH IE\sd5@GMtQ{;pDzIgZSy! ZP!&t4D(Q{E%& S$!)XV*aED(ČyCQWdt֤8J ea7we3f-ț^&cL(xnG.11(<` 9A&n/8PRrFarPEVj1n &mAbfd.xbdy .؅rOA{La'U|FdwUD4UAt8S)k\+q Dl(`-sUd/):v7/z|oX Oy#z&&W)(;e߲$D5'SaVFI3õmC [dYo[Ա $:ګan2h6 3c OAׇVB#/:GC ?`|[BB9cj'9?>UAJ73cH=Q]zuضro ;\ >:>U 9ѐ8/mpJHeγ,lȒHuImH2L`WDI@} =6C娿2i5M@O!Bq\CT6;H1kC p$vp2c&_2Բ8F k0Si bn:HK r}8čӛ<9Y͂Bk'b.K60/Rg܃t/v3X lPe1rL2LiIΆ9 H JE"?hhZi%H" ")" gH`F%`VJ h@b#TC1  sfeAϻK@4D. &EC@0$U=GY? k$Jvw$#&iAg*9Bfm* Rr؀ aBd4( $(4 j){"gD\!" 9-^L2,nH|w95 0:ke=}_)+&LQ sWa`Eǚ(@$@̒|\ĸ@SZRqv$A GG͕1ҝ_{8+0zu9$3ހkѴtvŭnw6ʲ6PGl&kIVjl`*x/f8\Uؠkl|Yi  8bKyFXkR^`G;$| HGq5ZuG1uJh 6 mo4jq$DѦTWW_9?M[ɩ%b:>Z)ȣQ(]Bc [efܲL&—x%ٖHLP0fc@̘: L$w=pˌzC;Sb,XE1)?!k^43Js !Ji b%*DND:@iy93|t80hN=!/(4L>aӮE haZ A]r! %-8Pnx% CDoV&g&肛]72/vȢKqrs&qơii5_"Ed*\X ފ<r(hO Ya $>E.&.[wȊ12ST10Kh7@@}CKٸQ-'!-%'ԦI`YUCaKd 6ۚ6C7\SPJBa x`"j gDčiC9lrIKr\trnh٥oZ#ԹUmklog0% I@X㧬܇ u땾7SŠ4]WӂWˮ&ڎY2w=]˔4d׳fhՎ1nn &܎Mdz-5֡u \72Uaxp8y}ً_ $ wHtQ_iS % (`6Sh8d8^vxҤtH,qL`,+MH r0mq ?Ӳo"ؔ=AfϢִ%)i[A- IjQHGI!4V%Aǣ>'&h"ii =A!^17i=6c8 DJ@K!)NQ D+gӐ&-/ B@Q-t-aX hdRAd[c 7Y=5ғ0uǑ70`ָ̔ӽ-hqa=D4>^dJ( n4#Q!- fw 4|W}a?Ns++Zvb7;hQ AۈKTkA f}vp(1;w%' d1ޮf0.hƋ/KyTFS]|2~ 6AP 9"ȚR}:CRA Cu /@R#:M(dFiQ@DҁҨGDihC7\rKȌqkDSɥM$$Ua[jWAR!S&+`0,\ ylN{UDz;P?9ȇ3XtŇ^T<3lUJMnE}ԉ7H vyEP)Ȍ"PBN = /.ž8]5#Z[<帜Kx &W\ěa2n*NE )Xȡ0Fмkb=瓬(t|2ZCC V1ZF,cM\Cnpږ"\9qm!t3բwvv<23)QI5 e`vEd9>w9$zU)גi(FfzH$҃ }!;!)M!`0Zh1ٽ0! M щ)n1DIJATjL>zmb{X!<Š#َ Zj4P0b PI'1f©qiti0 Bύ|j ( !;Xq7ZԊ&S6~3{B ( (nf8x,F@DT(R5IY$DM/$(ibXbF>N )ݕ3$JU~' Dd <f 4U,#LTPR[ A@S!BT~j Ɠt~^("J%&$`3=[l{ PA'qCY !`wY)  v'ߑ@e8hP?oԠ?G*aB_`̋ԗ|!fߩ= AIbTAE9aq "sOwbadPQJ61@F=9*@LD$@PjdKVZ4s7)Did p%8 `?,r??B,@ڛ|UUaC) TĖ&S|/Hl/mӚ`r(f"RYoY%x3A ~J̑F/.C@싒(~C; 4ə_- jk3c0B =cл3 QtQ` FJ8mxG&.mM[iU ӝl#{F( n 4߻G; *۷A ;DŸ0 Cy}Q< *e"  .Eqȁ(}%3A K!n .o5虷 !bYH@Pa"o 8~ A˺ k%&!&DIceGoi3 ve1 < $QADETB cwdLs&Cp2CA0tF[Jt*X&J'Øi@UMIriS $!CH}HrF=m˖ `87L iaMjU/6H"iXPJ*b$mh D.L䝽"XhEU1KݎRJdpfaIV)قfcgr !Tsw@'0O04[bC ֠×#8ȼ)= Hrx(")щ?!9B :'1 ^d(B$~d)&?uXgO6) ATbcuGo^A"m0u]{t`^Q's6Ϗ_ 6`i!(Vҗ~)^Lä&?./j@ P]@3>dDh]T('w۪uSm`h !.5aAI0"Q&$: k?DwAg(L\_/?2@MCte uV_! i6vR}'9AS)"Ds$"`e6 ^aW`3Z߳(W $ o>&+f2w`˞ {:ߩ.0F py+EY` b"pNS@f@%=jOW@;NS>mtG vab~2!MaۢyJ' |a(cUS?c=G_?SMPf0L h`Sa 0`¥7BK)@1Z|Q3} vxdf4 g3 Rx9&MߡsX/U$' aؽ܇t%F2yЈjآf Ri0tS@R3r (nB"HrO1@ԡ(T4qB#)( P$/^x?{Kci2;΢0ډcC TJ' d``fb H+ДB~9&@Stjɑكb XI1hh6Pʃ"V%;-NLV푶3zf2fイՒkQ.L6ڈhP 64 "VplުI/n`GZVRA(`Qwi:M !h*Y**!ś %f-d#TbƦ/bB{\rFJ6lw6{ƒ B(cM[t15 *$J)' 1bo'qO BhilG'tg& QcV JZCp $P ч@5K(# .V]yuG#E[tS jxA Wtk \q2r@]knj ^}a!i k:9\l+ݎ86^ZhS#B kI/yZh\gq=w=۹Vu.{IӍog8Zwr#k︣Pg;jjv]WLnpnT=.".ׄ4OaX̪-hmA ǻZ{@pfޞ{ʬ7 )7h$VUl:zAH :)|)U_pmj%vumӰķw>}nWkO+U>[}"і׭R^ڗZuX4% -zxt')Qǽu\hWm-jJU!%ATOcF{uZKu2iWP{`QBUmeM y5MwA.UGd 625 -Ww!+fcȂUﻺv=9eGAӪ;Y"UJUڷ5k;mG@}r6>Vݢhbˠ}v)[;Nt!Zi=w*tQ)֗f/c}Gӗ99D"HF@ & 3hz2T?T zjM 2 H$A 512M4h$Jm PmFd4"DS4QO)zzQj14m@h40A@h  d$JHD4HoTzO$4h  RB@@S!iCM 4zO"6ިSjfMOSjhhQ$@& L@&F)I? 3RMMM⦟F&#Z>bpE,Nwa%"5]e5267x] gLq_Q۹-6O@ ~tOl>oN`K= kN/~(HHʀG2:] )$#:e >ʜ 4N-I}2:6 &u%S>BH>7W]ԶgO|Rc]9?Ӹ- i*+B0PX%$R; s  "M$)D@YQe$6x~}|=󛯆~ l*nR `ݨZ2M"eDG({z1+ŔZ!jB؉Oխ2AH!9=M$@1UԀ`QhPo/wP=\*9~^PEx_<΁uD[j$'2HDA"oIT_)g UG\Ļ922BH'" #0ꭳ rEuR iJh>"xٶHbsVZd$8']D6Z)e!Cfm@m`fp ,+,* ) P`b@P"@JDC CBn܈jJF XC`@p"!e‘"9bp/9rX2A&Ȏj&j1$!obQ!_) ǐ Q]6@*ߥ>oAGւ"aGAS Q2)BMF2x 􉑸3$,p"zнp&M8B9(2nc1PQeVЮbFd(':<ދ p(6)#]Rh 1\=s khf*Ke%Kqa[m d9 3+s̶ d& AH%IAPJGG-0ƥIx qXC٬W>2ԓ80,5I0)%!,qTn@Щ @rS|TK@) lf1$f ``, HݕٖIIhE/N(a&HD0Tθ{?S(N*T 2Lغ|jOA ?\+\B*變AijH)!p- F^tLiBHXXYi%} *B)Se / 9oYkGbZU^_PSQ12QGFDŽ^ZIk蔈ʘ w-}N>k%L*ƘLd8c!NC IĨjJ{8y BiByԆNH5Ǐcž'_M'^&gN}olq$I1#m>'.}0RV 0~D>.a dLE=dƥSN'q `=6xH$~yH_ȥ)<1" dSIHhb%14ԇj)Z(WVXUTIT9P ”pqնhT*` Mq iq2! zQ _Jj'x)4$͢2)RQ6 Jf\^8dD0Fwl 'T5f#)cP.hCQ#s1T4sq2P`Lg\G{7Co$ޜ$V#YHQ4X6aҺ:YF4b-)lQN.λux׈&tixbp$-q E ٧` -m.r^fla FfQ7 nq6Zu}qIjP KQbld`rJpm"kJI4)2O:ftsPm[F+hjx+i|"|rx*gܸT;6[@M|Rވ 311vp?qyX~Ao⃥a`żՄus!6B$F$؁L|T).'K+s>*țF&p%; SfsC Jk}PفQO߁PUe8$rlmv,4?)Fbt0N%Wi "2bFHm-HX.ph?r߮aI``QL4aU+!Т @ֆPT@ ZLP(dH4 f"ҕkz]J:WrӚ @9hh BiHcV%[k[hHHD Q%$̂Pt8kAYTD1IvDNAG-6:[K%jC%@TKAZ,;MhRRE-(ۉW)q)ݧ-\I&摵rsd;nnܭJZi*R`$P⒏SD@v("T30T~'f5-3032;vQejSIT#YQQKKTʦMV|uljyg񖒅$L $\{qU yoʬeoxh9z$UzT3tK.o NPru@w i)ϏoXL|.<]n{O`V )S JRx$퉖Z†W4# Cve!4*aٴTCr!*7XQJyWѺ́ #d.ʛ:p#~%UZ )1%l`8) ($O:/X@eI_Q s$u'$BeT*0Hی((hTΛ.iH Gkd'$ w_p#tmjY # ?d` ȸh#V?h&R< lIL!HS h8I.cȑj6a0Iء57$v'hr:b< =y(zH367`)>MK䠝qp?# lTşoW9`DzI^ۏb[ڰmDp'tzNz  ԗ*@ZR ^K٘`|Zb|ɪt_Mh:Foa (k=LR} (_wM}TA6^쫱"IuUdUBod161N &3G8?w2UYYbhbd0c~ɐ +*ʔ;*eA…yY+U%}Z:~-T4CkQ>ݧV' Mg'۲~Y;nk |He6?|iԢ21ăQ")O&(uG^|Cԟm^9w4բ_ kl?d_+d&/#[޸pI4DݥɄ 'V,:. QOI>׿?N]ٔ92wpLco62H,V#7^™h((+AlViܢ=QEQEQEQ1ҷ!}$ iW9sPeYkEMTZ#{Kwd--Lm Py"U;B 1$ ?3y%$m4`kvdpbzM<9b*u,$(_Q0E3(y'chE`?~Ld$S{/БB4(X%1Z7aCoͅ lBb!RQ4a(P2JR- P aapTVAWV5mH"vH9 4*L% 0qXLz`F!)ek BO(4i$?\C dps-FL,MH}-Ǣ @hrGi2I1+x91!JTS&|ĔDqI$舩736~Tm|M( )BX]DXEnTGD @sو AvA% B`ޠbR42%n: Q%D:^"rIq$`9#:IABFI6*DtD{@|8t@PyDtwI&U`ugyHt䈒IOB DQ$uԂw$jy$;vQ,H<@tLrTSCoCi"rJHքb}M5HR9< R΅12 t,:Nmc9 HI9[McNZ#$0G6M1 TlVء=aIo.YG*,yž)iпg&*$$ńou+;D0O.i`_gT I@(b+LDD\}қdD(EkHAAd#xȞwT{ou6j c$<.ZKsx Ap⻵)L7i),cn_u=|eJlDl:/418[P>ȧd{PGH6|yA[&)!TVGylHpOtDO) h$tyLY6odL031QHnf Nl8"5ۯ.D B͢-0m\5.S0<0mBT#ZThуIטm?KӌM۰Gz,IZS(4c(8(,vGZ_<#oȆ4ڧS%"Y@@;"ûrm!dK x^ՇBku`p(%k3"er˗##<\ZGTvz/c  >ǩQ3>RL+sEUUlncO?SY<&DM1EJ*eaJoVH'l^lGcȗ̯!X0'N.m!IRrw81J p0oaFM49Wԯ.1c.c1c1c6M4CMA$+2I-wуɭkE|vvh"d4P AI:>6j!h27CMȾ;ص AcAdE !W=>kx00|G5s`AMMS' &"ǒ` }!?RD惜(Hby?9wm>2˕ɘ A"}X*~a aP dtnd n6*<<u@ѣ`m8TaT4P YRiB st|;OM6ɀ1OjFS Ӳ:V<&.<pj}]]̺N뻻nk# 1mvƚjJrY/>Z8?*0 14PJUUUXyzܧ.<UV^4m'M h.\6Hj?A<](Z8* 5bH`{VǦԆao WrKG6 r] jW%)EbPFjxϲI#NzVY_6hu=\xz|.}֮Ha{4`z+Zh"E~i3VʿМ/C4zZ# u\1Bn -ۉ-[Ė[G@K{`<F6- au,KK$G`3I&7=!Bd) H VEM*BAF*!ji&˟РH*nX7ӤҘhZ ` T!@Pq 'P0"‡@G\x)EoY}jgh!]am٣0mTTk5+i<;=ɜn^`% Xۈ lI B(I>hhdR?=vz}J}G,}mP *{tXRd4aA0tרo0%<^<,:ѤC^ OA6<`B FAC^asVݾ~^_㮸1;0d^ AhkND9p~ Ip|"ce" ƥ(ROoZ7'RF~m"kE8S0LKbߎ|ɰfGolp1MD(d u75Rr@z!S7Hc]/,'> g_h!;UUJK}^Μ5$bfS<4=tv<*Wx>799kQA:ζ (`A殫;2Ha /M'\x4I[yxnf ׸BkO"2"TBRDւ}q?;ʡya27&,'5~)P jRˏNki0 !_{1;pI!%@^2`K^YyU_,|_?CO| ;EH,$=/;Oj|%>!' ln=Q>W'Lu%nXw.}i`a L'څpX8gjsWΥO?Cd{H?oHYdE a!t~R8 :H*@y'[hpd<ʬmp't؎pߝ8Znt26MFSFOwZI`3ϩ&.AYBzl"iwke)aO>=A m{mP4΀t܄Y`*"jz9 rӀ`Ȏ˵8KEH|7:` d/ sX0i66= =AB{ؾ,6w^l71CΚvW;8ۓUEAͅLI(""wBOCaaR~$~hMȩ#]ojH{R8\j>Wxu>\DY S *H*{H:]8gٽ׳c^3H\'"2I&gRt#n+RUXFQGZ6nl]΃ ABBlkdHnv"T,~yK#{ y3v~^}315B~#[~TJl&퍎|Rb_f&6 }wHSʘ]ToP v4$9;Z(WK#8|ȸ[vX& }]ڪ$! z[H9N>B<@4ю @XyL]-nԴk#^th>bWĽ 1;$T~AP`v/hN"voȒ ?>%.s]&*n,+H/~P(B~sULl2)JˑV5$iįj#P]>Ŷn+,T6B}q=?i[dqN7ީ d[WB}W|v};vY_Y$T00;mIllJ~ѠWTʈV`#djjӨX_tAa#۴LC NUᆂe,/`Fp5 ^>$6t 5PDJOvH̵J mӼ_4Ta?$g&:$<ƿX1I86mF (6`hJ8;H&*gQe8>mdUnPF y}+xRX}[m[mq}"҆I&H.|V,b豪#bGQ 2Dpi&sVc0jZPt1;Τ f߂ ӱ nd㻀1cSݡ&N}/ڂ.q$V#o'NB :k{ 9T7cBko$Cq$+Qg>:cUj';e.hXr6ѯ Wv=CI]b-2Us&wmf2|XL~~OFG;g4r C'ÁJq= h-I.7;ݦʰȩahΔ9a XdJG9UV̉0.09!)JR<;=^ãB38 vII>'2oSO'(KE a%+ o1*ݴ5K[U I6H + Z ndl344sn Go["Hǫ۰ۀc*'pX0bN r1m֧Z~-$MPMr۶6JY@R)#)V󫠡3Gڄ:Eq7q0CApcQlFz&W6), hLU}W'(DthN ~iP<7UM4Z8t5πV 1q5szdDDB H@@ % ZR]i9PFHd>!vLjD.~4h֊CAJ rQYhTz }E\ sj EZTf9qJOuQJ$Fl1ځwaBB:yrim;l4~ Ax4C0` /bqgGHw <2pYLaDQ_tAaJ!lGc %2CS[+yPI6mv3aaiMo ̬ۄĜo1ʦ``rf|>iyNk·9{[6,vw8kmumkO"*!d:>h9pI#8 |4Sc0̌[fCښcL,V{gŋ3S"r;ڴ#(qڏ[p0CC(tM`JK{B@jTOJ$%i XVbGLvA"&Vk>jldTxJp!xFI곲b(0D{ä𘛉 zuzƲUUUTDFfbCCTQI$Y6&ysU=AUUOWM`VOvHˀy k=1>%e$)Hsh&GPm,&֎z < 4B@THvօWm ԎX$Jф՚26qr ih:p16k5Z 2mT3.><+3C3_b?l ].FٮV'ґ ס LH\FŬk49 &eݏL095 ÚΝ}-eS6I(i1dϚ76#C ,&#HLHf[If !BFPaz׭c4_ސޠ11AzD Ҫ^H xwLh1MZŨkT!VH1O$R`((Gt!Ky.ʰ6z U(#d &H-N {LM?MK1/S=d#682Y3_"CW h0貢88ӽ()/0awڞ[Af cmj[u67rFjynG:{-Ɩ݆VһĺY],x ݰ*reX_ R)"!XhhwpoӪYP  .k: F:Q,19+ŋ.td}2&qUg d؅Q4Q aF;T4‡r&DVQE q6#w_WHd@$w7U΄ g"Vdgfܺ{x^s}$Q+S; O3Tɂ-M|iݰQJ'.i탪Au$|qyh!, ?(hīIܖB Y܇ :*Sɧn-5%QD[.B$@U8[ lGŤ{,`Bɴ)VIaPVatuk{JY%m f\@fa|88:*OZblNcO#]Mt*`S5̰P 91$7X{iHI,-o}Шs# PS)PF$D,DˊMRehOnjvu3=z]\,yϦ$QFʒI&EULEI'T| 2Lh9 x^b21ie^E[O|(PȡJ@mu\.l1`VDhG0w[H``9e[lnE#"H3UAB]Oy{2q:|f dFM~uMznx!҃x7!e!K7z+f/d;b:;g3.ć("TȒ5 ƈoJq&FN5+ _s)!x\lќ  0DoZ.$glEے#'o\/&bˍ̀Hȏ1$B﫹70zԐ{h>6(ՠ)k5EM_ll9Ԉa;c{k8t2VN,axe, 9TjRGs L5MĂtILѶ;ף$9xNީjɹ=Y^g7wy݊+v4ҫyioy5 13s"U۴}U {ZlO_7~f$QE[t.u8W]qC! qtR=/G"KAIۚ9FT]+!4⯣$sn%){V;&{``Ubѯ^=pnUr:e{%B&iQdRi8ə!仸6ډl'#h^B1L|⫀~;$uށ, 47GK @:H@<4'M$ I9=D<1Mh74|冧F܌9'}T˘XB$l#hƹo> =ºó# #ȯ`{ps`S*YE!R'-\*3 4x0ϕ6 ѹ=X6 O1Pd@""G~~b9'-P?$IZ G=f / w%wI4>fvWcqǠۘ)K=?.5$ĬK'cSI9OR>'"MR~$"Yg{I$zѠZơdMyڰڍE0VŤ^K onfyp 3V$(FtD U"h򃸟,NEn/"I&nbsKzI-# ;vd_h!szFNP η/z>O{b`>+?M}3wKaO\AIKH5w͠6$B8dK4Be8ϯ\ DA (ԟ%mt}m"0+bN65:Ain;v^jI{@93V7;ʒgºƶh*8: T.z+tQ6&ECTEYe-SePԁȤ%^s׵{=oI~:%lm 5aAUFa cY*[/$}~Xn mX[*t\d+J g!*T "w: îb#F5Jlk %pj6ő͗9!Ia86z Βyf҇'C/M#|^p( *ZZke ;$wr^p4SO|{ NJCf- Έ_!)"B`_B.g̊mI "%)׵n+YTuT!!IX{wo𾷁|Hj#,@Q\uV9`fZqߏ>D4D}F?: 0`K?44y8:6eRAeB*9(QyAq97HS-U)2hta)/a[s KBpq1hH"BIHB-,kјXLRA AL!GKf/pDy 'F։e )pV,eUl) 3H;*]"'ܮNgvX0YO;kvR 2*A5]#0x1p.*oqS>,ڙ8B<D֘pGb*48/p#aܣ@AT-ќNOχWEj` Zi$$&:W DIRB9&"Hl{4N c2 KPvMm5a1+Ψ=t&UK j RW; ) 7 `K,;#+s﬿rɱ1<(Ph #|B4.1{>f7kij%~P۴8bNxX3߷v?"k0=ȡ٢-3JT0'}#ᐒ׃?܃EeLį24DX(X<[dRd K9Tx60'TH0|z.1$Ԅ@"p&жb`deTI5.;H!"(Q`35cMK<2DѠ o1H3)awr Z(g%Hh:>Mi^>k1|~d?i'J)I&hڲ45"vԬ\jﶃy|V xtq-D^^dK',Iez빰hS(/j 䟶ñ/,'CiEWd䎎37}vl}_9*U3̷!ZS >UhZM]W999c%`H걐@cR-bTJUW 0%E|H- J \O6< XџQ8Be_;}gbE¬RRd5{"DN1Rx&bԤ@='}Z*&h9 N` 230&;pc_w],oF`afLjJC V6;V[iZa4pH7%E#!xw_9ʬ12q\ǧ|'Lwzn1:ץ7py~xtCC,tyW;3!0& *FH4֊eaXTpȈlOFڃFD&>e1*vҰ| WDr&3N5!(umTj0Tizɀa"/"G88,)'C|LeVŒQ&q `%Avw#u׃p~?D)6HxFoI?d (2IC=+В:ͯdA0D&6Cc{[埪>j~P_Y.ϓUVE*TTY ʝ_v>)X/QMBu$CwP5G,}`Sg'b$HD*it8ڕhTfB`R՘#! *qhj-e5JJJI%HV aJ~hAS`!݁aOƃqXľg0V )ۗwW2u$ЧDՄ}YB[>ҿ/7ͻx{ppTD8&jR tc0̭q,xx35ga´Ulןp c`5/w.ā,!(R)`)!9{N5l(h𸞿,#EG_sm8!tH|y?@C=);&b"S%Cij rM+`brs0EUC׫(G -H;{&,Q0HI Ӫf܂J!R6&+E'I?}Mf1jlT+t&f[yϲ :u7 -ze=vo-tJ5tlReZ+K]DϷ|}]&hv5y験Z'OaPڮ4lcSR8l)*wQx#zdQ2>Hù~ kE4 Q)!lX;LGx*H";'0w$a#I'p~#AËu6\06q_I0ʿ*ucw@(:8D0-X H +K9u 83 SB#1 ~t3K'~48'iuE8DA|)'8pA8I0 ?F:^q:-UDTI[-`gWBeq;EOL;-.4aAEYeY[FQXX2iS)ͻnx9_a`1b_$k^C }Og+CyAZ0lfvC! "AH$U! AãvGJ2h*P'2woS:Ms戾ebg/4d#Ne8 h,\1aS<⸸bwL +d*M0qH8x;2Y\5١H$B@E8vr0!v"ʱ1rKj)'-.v. 6th{>׷{G JK<&OTN &cHBC_f/}XQ8#: 8a6eE&Y&?Nj#GF "Z뉄=1jhA 9.00Qdg08UZ{`@+(,_ѯj)k m/5UN1K `Um*o\+u+h/JhƣH{%MxFő~KCi?Ze|ݹ/xU:e_nTʨL Cc|s_s? &5'˥-{1 8ɣcA؇'O))k$=iDw}C~DQl.:?Ef3'lcm /܅xldO$0͋\< SB/ʘ3V"bKlH(13y|P@Tqf$aq 8[YͣӾv\ T8Zk j$>vIX\>=^ұ|)u a0<¶%:=1!JE28JM |u߈Io]l'a6 .lyc~Zn?yll c,$icVZc=PY0"}LIJ[yE-^~`6mn[}[_.lcxcA pNl+R `v] َ(J\$pTUUjG5EXmTrZILty"KL{Rȼ.D}'B?B ly~̱ؖ$gCpXKe黌5E+Lpf |#i EXh bh+..#C&&RJɹRI*~ m]%׺͸ɑ&Ibݟ(`[Uz$ӯP`H`'K|o?&|]Yf{3lP>Q7o Pi rwaJL5l fGW/A.  eTܕSi6* d4KSjI$KԮ  EiQ=IOM$*ĢҘJp+'rb*v eD*hATR q@ X"`Is0pQ`e@"%qDTYF XbjY $!F[K%8+ V8D, aC`Yc`H`"*Jm'mlj䘥-iEl d??B; >2jB!"X i FP#Qh)hXTh@(Q|y,ŹU-bAĢAIƭIJ6%m Qj-Dkk],*T%T%Oh#OvMI #BJDQ%D:*@T tX2GDz"vrW a\]Һ(Dql8 !C@߮R!`?8Oiq+d@skuNx-WzQ @0FOOЌG1jn=dzؚj'X}OC=T?E~RUUcJijQ>Y"VdHP)T HBa%Sug?:6{{9"HGo{f4f[3*lZTJ"#{ T= loF Ŧ$Jzߞí;-f_hLȄr lC`KɎDlD;U42 Eb72p:Ny%$ԱlUuR@DD@@SN*yUXil.-Tܑ4 $3H^7v N>^ w㑡v''aNf3X$mҼ;Ryyz,E,)),2YhSS3Qwoz:s5ާqNG5؁Kut;NI.I.KY,W[]vI$QM[ yǫO'LLl ;0AOwj#_ίw>" ua,0Hq!TRKJHC"1L6enH$hDUޓ";g (h4(ZֹzELR IU@_R*ѝ֐ZӼFzAL!DK\q<(W48 ^0f[#΋ٯWb.;ǹƳq{k;ǹƳq{k;ǹƳq{k;ǹƳq{k;ǹƳq{k;ǹƳq{k;ǹƳq{k;ǹ  PB 'd2z?Id v %z|(;( +}M\` :,۸Z;2wdb#Y l[$/wa:{zHX*6G6.mUFƪjd*qڇz$ "@ @d5|仙AxHG761Y-8 11>?fZ%_V(M$,H`~ǮS?d03wIdB134)< @JH-YY57L ֥ĥ F%1=Y;F$/;}~D0(P(P%yi8 # /,`m]|9vuNKzX[g~~;|KovyrTN{kJCӱİ'"J ҢI&u}Rqi{|$q Nf۶ƒn bG&Zq= `ɟZ]B{Ftbifc"I!3TYMNӭ Fjo$-v*E`[<71ɢ;FQqՒ|+ ):ȍD'Z}QMl<߰=t8Whu"*+$$|6 KP. cϴĬ'_? ,`SuuGZܙ08AQ%7m}84ވA2䈹0ng|DWTސIL|"8\#|'Eaq?N3>cF:vV\{3p9ɱdGH{81%6礼KB0l[x<#Sy3/"Eo:k&T䩪&ȳc\q] 8ƬƔW00+ ̧U^Zi8Ko+_fʋ| &;='K']<=+T0c\D֐ =ɝsU>y9cIu<dWC xe!gmWH/LjoOuT(g}47VXߥxiEYxPC~>MmY¯5e9ٜ sdXO|dz9iNrVOSD^;0Nhr;='K'snK]La1_/7Ob?w{6*]+C92cHq&H 4XC댎9WE0F\D1C9s3j&U[I?R&9 .!A* upCswtqR RLyz o 'u+Ҩlv<H&$C] 92`Cp$? XS2(퇲'ԉv⣾ۨX2mOT5O1  L1SEql5$)b*MC$J4hFCG$ɺM΀;N ,  ,0 JH2J* ,@2K T#4L4&@"C+,b(H) @+ 2Ȍ0ApjHMĔQ$،I$۔G$mН$k'7nrDbND6 kU #8q3hH$DY+6"d !żfj~}ǚ, b)D֖ ƀٲqR _!W"|H g+!7??k?_/᳡hX*7DEfo璡s*N7?56M,B,8$h;\,? I@YwͼI;CF׵TET}:!BU"U=s D9I$$"AC 1 肈TԴ#‹ >ՠ{nXdCm9sP"8e;^RPRB% BlˎEsෂN1գmV-c 0$-{ Ж%*@o33Ln_RB:1i-jr RT D`8N 84b9j"q jG"rMlVjٱѦ͔L+E阣mNPpA婌SLui&M$"lҢJEQE_msx,'zwz頩UOZ.A&d&Y~h'lR0uT K 櫋ɧ#ӀGeR57~lC-%UigAqDǸ'LH< Ü'uIw0! `g'h1L)/ Ȣv~fuQQ|wONjIO"TZ] SW?m4T u4 DOpJaigmwT$%C}qdFeS#HΚ=Hb[?FSId&B#3o2yޚ5%A2>ki#ݲbvN:pRhʶIdEE#{7l3@nH-+J[/棕Cf|4Tl{Rv2v5U4u'|x˯]ԺdE|y]e@|nwjᶏע5 Mі^aCt!phlXf010ZT{B+^I!#\NAl`Siz^wჾʖ I~MKGbA=A:娜ȚYMw`h>9BCb +$?| g &>C>8Gd:u\xv~f# (`'C7S0|4룏*]BuC2xt d&J ҶЄ?X%~&7/<Iek\=-H|LGyYH}rzNF0G6Atì>mD!$AO?< P~&7-c{c Ar 򃅖D!h gsII$s,3A,&f i|  xwT^:HK xTg~0R<ϴSrpD78Y…= ;_)#Hb bCneI2q AL4||T6bR%^!BϸPGR.keLf[Lq/}q1wÕLC11x֞Y^ߧTe{pk[6(% A9Wź3e}߆v(_vp1پ-uׁ55K_ϐEK ݽqze{n^M&Yϑ1oxv;jD mÊ:^ֺG*==`y~--LF6 'd+bVkl%M5+fא[;Wي(.e x*NzI>bc3@RB?s&albpl6":ڌ>V9X#J7UQlq ,3+ o{q~9/zTU"шdHh)LcL\Lj^~sKtip@LN=١a1;E1)#%~Y7b| xwo~# ¤)Q!]9f%) P! m"9b$rCչ)xwULia\0\A~nr&`sRiko)rw+̧U_=ݦN!!DG2R>F{+75d#/( }G@\\ʌ`ccqyRhƒ 1P%YYD r#O*^. 1obIЛ$x]x4۟g:lgR0u]ꛇCqy{ nіF@` m1:lfwwd( |PgfhO]+-6/7;>9qD "+| Ṑ>md>*pD6vmd$R9D W(L|+R ;l ?Aw!?>Α@# H` dEDJu桴jϑCJ%z}&x`B۶J 6犘;|6 Fm4! aO.hсI8;lfR4#HH8f"<~3 :~ҤNUV)z 5/Z(H<2/8 +f]gRW;L^o%c9Yuu$USmC_p`mHږƏ6۽@}smy^G(le`U R߯.8@gDԌ̓N*h\4kHH?%ͣVE4V l:$a uq,y0ѡ8ƾ oaYcQ,ÎA ~OئΘWǖ נa] Tcp;t(9}~;=~ځК׃V^gԌK{ z857s2ɗ SIv .<0qUbLcj1 53l/ C%Q%ڀ֩CNt#O>MHίV{3?-4UIQH`8,d1CEqAyJ"G+^˃z Chѐq ^gYEQi !j [tKs *_x j TZAc9R |/K0hGU7`00Vbni>;9w7COm>g4|G B-"Z|F?u9 [}2E>ҧK"#H DB4$@CR1K$$U$l쭣kI L#b4dn$FltMBdr4Qa8B0KT:PP"iI5 HO#fI!s *SQ%DNpp2D#Nm 4$MH$#aRhO6Bb**(!ߍA$,H+(m<Q$l&Mhc$X.u֝] ۋl:R#KaU(wstwRAEl43Fmi dZvI@ax>9Iև{h6дْA4 @'3+2*P"H*C "B]v~_3x8<9Y(q26 ;|w9C Qvm 7ʐ"Ou'V7Uy++)M5h/5#)XjtQ "aDž >$'@sQP?iEBydPA,Z-fE^.XUP̑HT SJ! `0?[ A`>&~b?>PT]Ew .hHB36*J](a'powG݃eRB!Oc$HX$A |}N 0=Er 08GDH4߷F5b!)6 Ѥ(H/T~*0.a.H:8h$:HNm~o9H@A6z!e5nGbI=P HzxJ^t$ C=>9"'K I#ԒtF:|JJ7QQ$>iG<99~g84Ig "Kq[kh04`gQFBDnֳHiay>uTsUm`DKSC|k_@;Sȍ;e_[ ` dCg8A^K;880[vD9bwF]=dH>I_JODH]sq,W;xԖN2s89rGy3hgMv$i! /7_9qO*Kd )X *$MSf5*U!h4C$q$";" M@+B2#pd1I%a!GK 8I nktU`j5Y5F5i[m%I+]ՌJQ5MKf6 iYbdiSeJYL*TbK*TDʒMI$I% ILDș$e)6&ijQ؛$I 4Jd)I6d@!(,C*$ `1`*^$ kZB  ` *m7-)JҭP@ m-[ejRPB @$B@ @ $X.U.k65zIt;N&V]jwA\FFmsb5 fJ@JR(wgo9w̭ga`!4(V{P1QVAN`yѩAG !d4wĈ|I+)9' PqP;Pץ!\h-HJ"%c"Cz'($?oŵRõB! IH"Q<@;k:.YX%I"h"DK C =+[k[b$siG*QN6!&< #9)v݊,L ZJL?6=DD<ځCħd4u*I5d֔&[5dm[5-Ƥڍh64hVԳliI"L™j@!J/|0d,>ѱ2,<w0&&p 3$%7EfUtנQPĀ쬋!RI#€R%$%D?Lmd hhT\fѱ#J͔!Q,yqdNBD84y@P3kRw:˱wtO% {Qfj T3$jFzfCvTI||gᝲ!Bb񉀻*$mO-Fb. olrوz"DD"{1@MèBС#BiJ=+&@]Ҥf9;PsF$FWyL*5h5fDAs6EQV퍛7&>m;d8[S@w>'yp|<{ۼxq`S7ͭu3@`!8}rҫŷZT;*ږKmQX Lk32. 3A:Psn4NM䧓Y+:V n]2:r#S'ä: sqGs,{hE0@Xٜd{=M|/ 9J+$CGGLmMK}btL$ l[LjH9ⓓLMroH+ e88G'qՉ)ƓBW uOi?+Y2qpdXSx=k 'pB@^A|V#w3JD }D¤-zO I}pp1",#f$>Dw } OQt0WrBpua_u$4bgonЁ$=*?;= 4A#9L'0IϧsyDIZ`M<CqG$g+jSbB!VNwխ.laڈfFzR~.9`DDWGp,qNΨEeKiqݞk)4HKH߰y X,LdrS$q"} d4xgkBBHYN7{,j`=t\Y>_}s['_mUD05~Nd$Ns>!Jn.Z$n<; W%0uWԫ Mb j^i gdiZI iwu$q`K+,?,aN-|!gR sPdσU5S`({K`bp@Ipx~ lґ2k C"iɠsQ Q9A"!ڑEM>`%1CuJ#@zHi L8?'^naIVB] zBs+oD}>oAҺ2I>]N"pK'Y$! nE $GDk]CQb+kTH>Du}rrvw$#enjZ-{(Y\biAP4bA4wgSˑ*3b̀0CMk/3!":B^hN:ps#*-C{Sk+L7B&&S|,Yf9̟$Q>y+*x<C?u- e/To{n *X{T6Qp&4[GCmBm/D# s̽gsh͋T-"鶓k݌50K$ax7O$:#NuTM{gX<^TU2)p6P !ÀB2(;JI&<Є؉wqH$Fձc-N}IF>{zy2dVL/a"ɶ'Y)߆9CdL5%S5UW 0 $OFky8nj*lhTRUhҀ y;Ѱqz;diđyw CDTHR3oy E|S "އ| 6 %ߴ(*[U3L!XDI!DW>I'F*Nj:}MÑK$1"Drc8>O]1G"G i&-UK`iPE6S"Av!$1.SNcdAQp~:»0p#+$4ɴkHTpBo$"I+㿊:8f!N47\Z=Bp+$ͤq#GM{I31`!Dn! /HO2`?+zc)cU:զHR ͜3"e܌AFik]$ѱw?GP!ǣ˚OTy:x;;<61X1i3&S3f]a ?{0y?A4#Yx_>G1{B}atb OTų\z뚎G*a?#J>`{_?pؕ=D"$1/JKE{Ϥ"})b|_~OV~9 L7n>0*P[wUF#)'s"?laXġ8#kf_amY)]4KKH 9vlAGEۥk۲3^HrY>|AV&dkLK"^2Q20)$QU+ ^p %Ua\d/ ?>8qdDČNCHx]\v%stlODMQT{yQ X 2LɖrbwMY$δBHWYk{kZ F/`jODDWX+8's.t`+NF3$z޷yߟޤĐ !>ł$l$ )!b$`sJ"#7,$CR!WHR;ROe+M#L1UЯKfTẆ8|x)/5_`#m6TJ8t`!KѱU] HjHFpӪnj6`MH 5ii;'Cy {%#_Mr؇x擮*[RvE%^2H5$Q3|U઒sCMH爑*H`)bG;Ngl#$jK"yC$ Nmo=:;*;#uۻv;<"ehDDu7D)JRk $j%T A&/&B"H ê2H2HcE)JRJRQJ*QPzN<NJ-W#URRvO돌)e,ʏq%yAQ@<=#HnNGYHGj<DFȉ61 $x$,IE;ChhfCG+tSҞ7(;ZI]9 OqyHyyh|p<(hDJ"sEHسEH㍴fvi@l!+#!1daReH$KKsp>GcG0[a%I=HC$IC :EC!u\SG<|1ڒAAb!Ї!{y 3 Rԯ1SPBcׁ?a|e$Y pt"C?~S { bb<@&*mԪz|I4}H&Wk$|7ͭJRp 6E@1@,]l jm˕Umn=Gү8I6@4~OؐA^TA B\ 0Q$~Z "%h>fQH)֝ԛ/2 vBĎ=OH'tna$`Y+"{AXWe;3(d A*>C$y> $qJRLDCzVIPH?.D(&!RC!?[2*|HŚC1JF0L%%S2c/5u$nb"EB}dDN\yZU?q6V}I$腲^d+rR[LC `0 *IS 3Ǒ|QJGvU`S̥ А=e5¾?MSE-2ETD0s* (@(`ʨCHC>)dj蕒v;gCΦ,).ئcc"12Ȱ*b 15$J㠹:܁CED 2#k( B_!ҥ5D<{3ZH켕ɣ`~1Dz?֔}'X $F袿zYAHb}PRDka 92&:AT<2FG'.}GRrc{2=$"$B}w:!;0p2Cm:=XBYSi>BLI߻o7QT۪aB vuӬ,!jLi^˭1 V8тZMXeVM'-nE!'4F20!VPt"}09 0Qux;Zur/'8"A959b)ɁLQ23 +aR4,l٨k' `b/>xgH@J3fhE BaBZxo$DT5:}ǩD'=PBu0)Q|~CRO+A⪚`/5K 'G~YF)$Jgp2 )AɥH[/F ،@D;tZ=F~D>yBh $-mY<;IF/SlS2^(r=bJ>CUT^ S-*>4Ǭ%B'Uݠ~YH@ jtZ T. -RJ#mc $Y`EWcfbjP,(D) a$!!ɸ>}"?7IGN?>2~nc8C$>`p9<r,i=y`DNTR222 XVA%R{}o!$pAc E=oT[m|"?ͽ45$2A"*D1Ȁ(DЂ %!71/ o_:;·R&B\)?֙ RI]$syW\az0d1)h]l%Bg!6 )HC‘Yvq?SN.epE #߷mĎ0'JGNq=uS(1 .,)OzcUi**جJ4ljN{wQEMY|, ini1.f%SOTӴKwU44unf&sr:7ds׫i0'HϝPJDH Ee=8l!T#K4Ĭ@!Tq`5RMR$;14y6͘)눔A`r( (dIxi'@[ 륬hx+W)C @JVȥŢH&)jWE+ms,֕yyeě$ڈ2^ Έy㷏B1)/;P90.%“M%l2HʁK Dj,;eJIF9QМxa!bJ:"HYdee@C4_pOҜ F;R@2PoȦP ؉xV5lݱBCLaB&B50X P AbQ `O8I/%N1f†A+`0,3fJd( l#MAЗR܈s)C14a)yhd%8^v08uiN!)&'A0Hrc]F j3Z[1SV#A )CņcPҖRV֏x"$I o p %)($iPiTHXG6mD)d:"7a"[, "I3/HPPHf 3!;:ۖHpj' D*>͂yܜ7j"&+m3r1FKjr#3ʨ363UEM;k7k?njZ⨺z~~g$HTe_I H7n 2R$U6s0K8`. m8A6 :#4o<' 1q^K `y$6톊I$D@Ta{vL5kHTdamѦ;!" V/sDU 6.mu% ïdBU s*8nFAܡ  DJJla܀l`ۘtU-'qص;o4.d8H$A޷HS O bi1 &=_1!ֱca1Vɑ Db'flT&h:Ga@;UD:՚V2%{ ro7Mi K'6"M-HV&`mzϑ|z`BtR,76~,N-ṘC;(R߃`~VceuQ?S XN$Vevqj|clѥɴi6 ng"<@C&a~ ,#ƌZ@{aP$ $(?8DvUGAZH*}%V9.Jh71{LX)iYb$4 9Ü vIqkJmw P +0*#*wha $, V:xf$us'/ O~&verff5f`!gʇNN>-2a禀"ILz0t1G;j^)p%iaJKR%u^x t㎜OJ & ;S{3XyՃ\.Z,IG8A Q?p!2H@$zlm@ôu# bN45PV,gB~?ȵ4%)S$*|)i+btCϙ~~}0k_5Qz f$W+T^@y'.&m%bGIG.2HEm$W$ WOQͦіnk(*#cJ9V_RKa'lI>,3GIVW$Rџ] ifd@$pIwwHwyD":Nu*u~B쁹G](: YBgtz*BM n옳%ANFX݆u蝛wk7IlDEmEUKW10>y;H Y28E)'=8;n : &SEd!YmD:G`JRښ*^u(USa$P;؆ȔlKbMEiT)@tGKH2/Sp?Чhf3U*UHqު`665%le+QMjH;Q?Gp^Mc zFd$bER:"H<>.P!;@ W@}崒~<ӗ-yq!=1֐"*tS}?wr= J?dL?G&A?D rL=ZI($"IdeG〆G/0S! i"3 k[,UֈP,cHC_,%\LNY54 XqY&i·hȕRH cY*0hrC]$*8%#nQc-:Mi`Ec$LCAeq0ͮf@gSc۽ڍtjkC`W\}AݐMQJ&%J#>υq#HuHFs?ljEw1yt>D>O|#'b,d)!;.B#!~2kUE]Ec:2ayCA5z+uƊ&"m@قH2,W໥ld*'\,>ZkB,I6ȑEsadpSV\a& )^3Qgp a+*2u l"2jb)5`YH3f1Hقbmgfl$' ZfHawힱ#֟,o.PB>Sz$5Q`֮ ;U>DIA\AL1<©1-=ru^`!̀¨@&H VQ!Y}C"aF$ڨ~Yc !]D7Ĉ'D?p$l4bw=#U B~GԒP#J%M@/1O3;)NϦ4)'bI IPqaI$fLDd5Mzx6R:RZ* $q%C@V`p klS`T0Ȋ&>Ys5X 1Wr ̃݅lԊ6u0|Z%6GuESxTGa ?<b{*9әNu=^z wNޛv DI8CqOv>N>Չ*~aa3̇IvmG3'& F_T艈"%"")~䐼dCAk i-IM6ْB,pz}`N>$49Qc6-DG2HဂuJ8H RG*XFlkŒT6FiM#An>d7O7??]h朐SIFvH$%;yT#Q|=Kz[v9XT'_3/Gͻ6P*B,Bi]I/ d|-fHdCXBXHpL)rQ1&mkhef(HJmrBQE v/٢Imّ]ciJkq^q>h7{aJ ?hN )U UTiJTY G DQt!J*R!K*C@k]vEȣDHP0@B짥!H&Y8LQ?v pR,KIȀxh cؿRH a4/JXF:Vƕ5r)uЪH*j&!$DDNb)B@}ibT sLTEx\W4=>Bɒ@A>Ea$,]U __DJlUN620 *+cgqpEJ0}^w p!QdKH}Dldht`IRJ`UP ~J^em_epauF(PDM5KTTIZb4vcScIŊ,?!؏6H\VUM?Q #8)Z A(EJ;G)nLaШI:*U$IC?^뷏x\$GR:ydTI VBe-ƥ5LIL!D (2p,~TCAU'jczDh0rNb)\xFtﲝ8:o@u}Hy^>wg0R$!EqT=0w7FUQ{T:SǛCi C,l1P*(ȈX FX ayM}Bsz2#yvx#s"@,$RPʝr#$aОxb.[E2jDiTc@!ѣPYЗMtR[)tRv 9Khf̜ɣnj'=Bv4EW!λ/iD@{-a .{5A'#*: $IcBR N("") ΈH*A}B P¯yP=MLPE}$6vыԏɼ{pSE{@Wgm?& eHl0H|?v oFp#C SĠr QN ZBVMK ;aFGle#˕md>t?<¬aTp8 ';GOFۉ~>խeY'ё*7يmS{iťQ[Cb%Pa8u(DzȬTP)bIIa»&#R 8S=oIb; zR}mX,.m.YbqG9EJ={v'C'Q@v{yhk%ۈbOS}a*ke.2cbO6A9DZvf+8 Ӵ5#a9a"ؑ D"Dl.0vTHddGHj(!HN!+$6Q$J#DJSJM>|`zw't$Voxc8pEQ`؆uDvYwBX1eL+k}٥d(>q;C!ahȍV* .{1&88w$VmX ʁF L M.(|HXڗoBmg5mRm$O١9[U4$Kr LGx^#C+?|y6SV0^)MeJ+=j j3uQdz]u,:E.B֔EZM[IaJ$W]2VZry[oObyδ*d+PΦMwI'jI"8K~Fωt(;dT4*^yݷWݴ'"Iڀ0+{{3=~0k@MNpXaEjXQ\«0$55rkm K"GEW'GL'#xk".{H߫c|Rr MC&H2⅙]HR(vIE jlkHvhC5p]\,-ÁzYT4 WI$ąC~H}Iuݰt6Hz Ṗm0yy=9i ?xн IS\adLAڨ ֳ{ >l֒&9R,;9h`2pB `kkTpEF4lqy"m9Vs'LIRBE^4'xH Jĸ`7 ,%Qy3 #DJtNxqQDdFFRlOڱjM ~?|s,ʧT턐$JTF=o'y~g"Te ,2ջ-vM3Sir*h@ ҃:!§h?YXU ƗdaH lBy3*HB̡$! p!;nB}#bR'Ia)K*U`A|'hK3&jA6x^!$2R!=&v8DJ|g|Jd V$zRFPD'+N2!:.,֪,J>I,4ssy]'w^8Wȑ|8!7$jA,XIl/h`끠BBQĨ7|LՒku>7[%aIc$#m 렛K {T9u 8y`Q EBҧp(z;_4(z زGObq{͌QnMLcmҲU14zsM7"q,qDڑO'v$wse(bCv 9>o"0<y>zB, n$AI eR Sq.ɝM4ֵlaR7I >4d")4B%Hz yߌؤ͇ Ռ:cA8'S A/nnDfjMל¨݌ݶIp<Zkk1KB"  qmi$)vsEI"*DtQ>km؜0; )]Qп#*dC#B'fg#HnY~I#x\@'Fy<"~M#8ڱbE;#tQae&^4/1(a >PIR GG "IR1`S0ZIld % x$AZ4l)BW3񭵋Z<θ|Oy)TLyۜMhtOmyC'33 k85Lg91 >1Tp[ P 'vw1ېudNC I _Dl|(V&?c|=:]P-@1CfCݭ#!eFgDEAC8YN]w b, "b#-D2z}Ҿc4ҫŷi%TO~ wQ8"K'98{Ͽ— qqtwׂo\yW_ ! |AG!G{*2>|D7N5,#B 皢~&Æ<B!ܢq"JZ? IDb%@:EO@a Q$Qdd X *0C@!!c1jtbR֕N6ReX)Չ-eFj]0LZ2ı{ -Im*@h`T >#X{jbXG !Pχ>DQ-X A=YlHB ``' n63N)AVY[E, bU1P"ZjJA3`QOWaIRPAvD1CQH>bQ%%%J=h bĶ)+r8o! gsAOIub䭭,{%$=@Գ,"0)$ 8 9[bq% r DY>d"TIr0 iFDh }hs2M/Blis9|B8lq#fڸwHCm$O2/,#2ɇ|$Ŕ7CD+B87GA];t.?>A2H#R,&v' rCQd$Ԓ`>Ii6FX3 Y&6&V0hPd%:G>=t/vJn4S\?c)\yI DN S̿1A푲r,r% %[ո~X: * GUlL-}4S^S҉(@NEiUSذ 0R00M:miX,# F- F1(e#+)9ʘ !-#yZ7&CkɰXU@m P/) *zu7:vC+P$ Bi'BILGF)$x%!Ӳ;ol8,)&E:c[(i¸4!R69bD@ /VguΗACfNț*8}N̴.0Ff7%فW8/G qȾ{w("5A"I2IJPA Z:dd\y氤H0#$mq||gpc ;;#cFW[G'SIh[](9'1dY)aM=E=U(BjQD+Y8E$lp&NJlw%zݕc*wvUYeXʿgI.Pj~LR$hY 9$m$VAP$~wP'2hH|~EBPZSO=~#܇P/p+0"DP!ۺ3*N1dm6GUMjjqM 4bLIP?ffH BA%GVK@JvcE<`fM)r7  Q4@a4V2| ^>̊lD̞I3r޸6#Z[يSۣW# v#sѨXpߋϜM*ytlbCtX,]<9J76UbtΗu(@!O UNT)  $Ew٣ٸ#c"} Y,AhSov*Yaq3BbB 13҉!aэ>Y 2Ì.=hGH|8?X%R볮λ:볮λYZ^*(*gidN^܃_W{GEcVmΥ[~cQwk$2PS8 sږhlRUf3(_]WaA55bdpoGB%D*~'~G1 J , }Dc !%P8B2,ĢASʜyP92d1GBၠ}dAͳctToIi%,,$iC;!uiKMN`iNGR71H )bfXRؓ3 b>EEk%AE 2T!4 '?_U۾W"Fƫ^}5jIOr}:P똂/O$DTFB@ R ԦD̑ ]=B<[GlkⓂ!5<,C[#x$LĎ1Hx֪tWizp0h /*jo: >"IG?Fz! $wjd5#Fy'Iu;* LS_}½a@A$RЇ퇿:C <C*NuR}r #EEӓUf*NeIPmmd+ky$Q%X!2XrF;I% Sk]s&ИG8HlReN)cԑN9bTf2\NYa4QcƎC85I5@$BWP_hNPuJ"BeN$JŞſrXl8ڈf OccRQ̅Fﳄ@@& (fC,ؐw`vZ 6@B2Xh'77Cp $`)-eh#Er]pHl6p) p 16\W; lkvuqrEE\UuC|oG:QM#J cmr#+vGF >xXqcXHY;L)=H'bXf;DNrӪI1.;apQpBу^N3ۜ= K2 }X6h"Ts*0c!eGhQB]K\I@sM",2C"6C2 К\ C-1frg oD #HTeA:͚]%d[Ih6Mpkڈr@lr1Έ=8SX cTP7R,0}LضUJ.P)ImEc0hI- YE>7Y$,ѡ~C"@> @! ! 7ouR/}bNff3DƮQlQQ62'??Abd/HTC${DbʺSҢTTTiiV*I!~z FZnalFfa!~R9 $m,+uȒ' g|ocGƊt$$J@d?#sWaBU0EQU)S! E;@x4;&Mcfi X&byd]nK"m$#s8đ&mcY>IeUk>x}G!7~Eℿh YX ܃d}ÁNW8TƝ|&ېSjX p])ݙoQe&ŗ[j2*sͱ kLZV  z{;O0|?mw32C@t'K'$Rds [TA`d`@QLYU*RIE'ОHO-͖"{Dqb+́ !KhB;a,j̐~wӍ^mȈUe*w;<<5<8NQIDRՅTY$"b!j9*<!I5"!#۶D0Iȑ2ȒDlٰ=FQ/UUʪ1Lq;5t(xy$X.k%+ (P0A ~rv}8l{f-ȣ&]  E%(Nko5ueJ|@N)w=Ǜ}8 [ (m9,I8#y_ʽ|?YkYwLjz;N E*){ >~zYeE4JR1 CJBh!H!eP@^%rI:5m/ȬZQ-UUDV ]x CJ)ϵ>{dS1TZsli0 ~ lKpz:DʢEU\!Oꃈ6#!B{_ah!Ԓ=cR97Y$xiR|"AXLb dtD\$UR,HtB!?JU*I"'|{Rxo-\Y~n?3}UEv5L7?r6$Tg ͍Ϟ6Ҙ@H"NtTgs^wlyR$BL}ŰL3$DCIv KeJ'}*Z)P'ӗ2_0|U9}D4{}CvΥL<0"1ipH߷1`9*؅UbAFvC)Y`1lVkfjZĬ&v UtGdL iU?LJ*i;GmGB TSa0ϽAc8$u_d*(uPa}$x… #J5IX$(RՄiv`E8;E&* SIRqNH20µu6priCE qtoBG[o87d^ߴ}(xt( YK ^A Q`U'&6hE F,B%:I74c6TiFZN_^ NF6HN}LdCY@hS,?)b^]Z4)) eQH'CA%`TR6R4Ywźi'}%qUU\)."( ;8ݻi)U 5!&IT HdKd&,[1W@0Q):NG8%{DN\Q$$XI$ Q?#Jy,;>8=hI"h}*a<SN(H~Ո;JJFJ$URHG0 I9 §؅X!`XWn(B$!!a!$HZId,HqLNA+!*ZZ PcV߼#>x"uKJРXI";s_4pJyy MDF4( X.Kb*fIh ƴ$C"6-9s#2ebԸ6 m~ʈ~2Hi% H@G.h{*;]\;@gRXGe5ȀIJ/ P `Hyzo3zYˠMů1֜t2{hnǫs{wylo7\:g_|}ٻ ;nu]p9cOvz>>g+dsӵo9zyww4vހ PSeKca{P[ZZ=vܷWo:]Qb۠:{0GH(n ]ѧCE.ہ٨;9T(Jtd^ Se {pUךMf6Ǿ:A"޻}o^yN:yg: ;d^ z:z{AR;s+z(P+{4Z3P7t5/lz/[yϽfu+]/n*k.E:V(}i}uݝJoO{nP{=vl;zOpuе yMZȶ#vˬeθ{wiQ|\]sZ[ٽcwch>gu6{:}S;auy=.*<]̯iGƵ}>H঍Mzm[$Mwf4 ;Nݻ+.Mq˗6Yuksݹwu:^o=mMXTÇu}ئoH79;e&k:Y 2ց7*89w_l{iwyZRw:jc:.uݛa5ڙ.w6 Z'Bmݧj#/]{ڽϣUݻ`Ž9mj֏C:sg&Һj^{OכMZ= O)j4+FkZկ^^47{z%Q|nwǟ_ug޻ <7[6:h ;Mo]oׇìg.//U-zM'vZyN:amm^2diК`F4*y0L 2bMOS DDi4O*~M?IꟈҞS!zz4L@5DBOLziMSz~S=L(?*iSڠ2~?T=hzCP24h!)* z=&D=iD 4d 44) @iO#S'Im5M= M@" 2ilL)=M=M45(=L#Ѩ@ [;ێyr )_ۿO_k_uur~z81b+O4~)v%&cߣ 1RB4Br9{aA;s)HhDߡE & /6, !'IT7l$/DP5;2fUv  9*0{-(E (*<$A-`GN?|אX3_0or"UZPc0?J$*%H :HHNG "*B۶e DGeQ/LP42Ȅ@' *D {bBdž==Uk$PGX9Iϝ< f!Y!CHC1 AdAD 0mhuUД{yb}F}0 ?g)",NgJH! M?Fb*HHD! Rxq\f]pI2 ={ $JTĉc,(9GCSY V wFkBu}DeBZ !HbfT R(QA XhXzn9@ ( :NDAu 4O.R&۳$M'jjǍ_f#kڿ|0}H0pӒT!оO{|;^qL<絆_ O U0I-8IAVȒD& 2& "$#@S!>$|L[S,ֱKiiV!4 X ̞Yh W6vpmYqJ ehVI!IqpaNDxp+1].܁ \ch"% 17'abƖ .I9 8cHՄ T?O.R`o0}_{ޮ~ð|'mJ+-#W0΂dU'51Q d)l ;]޹^Q3*`p Jdh;Sjd7j†M9k3`PJyGvYs@ʁ6F5L\`hv-4a3#gϯ$P<>C3p b)$b6zF[8 Ѳۍn ]Xv+WpA ])DQ.%@ܬ%íe2F ;Uv%@WF\F%DMQ )"7n;:t&AH%J2P hl6M~v,w-=6D Ɓ U*qOx4U:ATrm*jgmv[<5?p0j lP5\9˸ KWih"ѹurUd7;4lz21!lEzCԥuz-չpQ*ei@P~:%47}iy%r 4HUitX^N]ZyP'd8HHU$C8ɀ !&N9188 @q5s!w,)QX>cw+lNje#F0[`5<:V АL$Q0GM4MSI ѐP!,!sg<A$% }xq4` l+L'9!MWXtD1HI$DKAC1A PK"P 2U"PD Q$JQ?,Gp3&jL@00S#JT$JKŴX)ALJbfFÅJ#МW:J*;m$YK816@Y; O1[\ CCO\D8B萊1cЛp,ҒKA@M\yx Z5Q¤)-i8 #Shi(ƊD0DF (Ƽ+HC/IZYn1eMUu-Eb>&pP|xMʢ)yge4cDOz]& 3ꀧhs5=@pQ7xL4Fq8^I>h87S)UPAH0L>R: f|Q-P 'AFڊX@ld\È,L%Ehv==RiD22r S0|I{!0ik9|z0谪xcQBM _>P!6JSE;5_{x:^}''[o O"OQqo5r%L-C}>2=)ܤzeX%x3Y+esyJT(sC+)&mqV%蝋GBr1 뉩eʚ=7SPM˅u:FP~:.^^wB7,W 7#Lu!{6@׺]%$EQwS@$u%2Xg-Oz쿐1.adFcjL/JKV3ڰ#rI2 6OxPy>#d5ΠNDIQBBU ITʝHIvW8DQVXVXt+Sa7G8R8c9ხXJq4P+ PL,X *Atd kn8YWBu(h_2@{Sa[D%tPT`8 o8(+*hp++*ӄR9e|7i)B M"D2@3L t i"KV+NwӨӴ5 9f=8t-H>] qb4 hRƨ(2!DEP%Q-9H},JDB ?q,ΛݵpugpSR9AL:kV94U&3Ws1vL4"@R4SON=03|@d0R 6irg0I)Dt%J.T1kZO=jR(@)FfI9jVrh jۙ כt".^YfC%g{[oÚÄ~ <ʜ?w_ @QͶ ҚD DJC,c/@fBlli.Rx$} P_?HE XIFBNP!9QA8} \(~\-%`/Oc[Oc_L,w;%MEbz Q1o~{(D_?QoS0gqGue-qSHB@܁$b U"DEO_bOj烱|!xT4)EldbXY ! R!X?/ØhzWj#5 JCIģ @ -(H0H!G@2 +(!3TpRY|lK""1Iv!HY^ P(AE Bi"jT@%UF`JhPIFDiG!$Cd I$@,! G(/(% ˵^DJ$D@&h)֡ X`B|1CCܨ(RR`V  WaG슁@hYTf֡oPi ;ݰ5(5^t֭E0{'i Ek!݉/HMB*h%xa@,~eR!ur(ð((Qy 8Qt(@ycM)C6'O#~ߨ1@ W>'*pa>F:j&#Xq2O`Xte$HbUʄ@K@ "WT%JI`P@/aaiQ M, -Dl衤aT)Pj BH=jZWރIS?m{!%u 9YR&!zby<=9$((eJpGݽtP`VU YYs~<4(hVfAI?Z/B4|('ӛU%>aRz:gc Gt.2 :/sAd,@XG>H4:WFRqT$cA66s>g?l_}(hrGHwon9?@v!UOaE"qÅIV|3#6 ߞ ^r4 !ZdPIft;R 2+@Egл?O~*UD1,Q(Et6H X"B.ΈEiR!RZRd, ~_l3Tz4# )1DIb"XFDPdՖhU2:f[Ny\UJd(o&D H$. VnAK< jPPфb)@GU-dI&T0ĀՕ#j?ÎuUti ~"xٰW~ cp%-9X`$v󜔤 ʦ0$HSBR.Rд QyKibt ˝3hjAlV. Tm>&1Iɣڥ%N؂%6a71^ޝО11 籶;gm# aسvܐ}Cǥ.QB C`3V(N{ ?  @L_K{g㕇<MR^盘tJ AR8>lA*@ 9r1v9Q/ :<"iܚ P"n B4ο]UUUu.NקPf2ŕO"wCfn`tV8`h"BTtPAhBFst򼔾Ê$}Fy݉Wh՞4UmUo(m%[aݝ"" G:~e](%y c/\9Cd0VDY9ΌELHdt5}{j#42 ԩF5ng} phU$) <Q*Aw eY+Кlm5A$By i!II( x=٬T-!2}32פ!14ssPV"'w0Ni$(o9&(jM#dP#'$pJT4jgή lmԇGr~,’Sђ Rz&Wm~3em5a+myiCtxUDf(^U-O/C ,8sz#<X6>H:CŞnڭᕙ?KD05"RI< 2EX6('DPM"R0I?rDRR+jlp:,>8R/d q $N`ㄺ2e""R lIjb'edg0[̝ڏAO4B[fɭ _?GWK=>%xqf9!)ǛML%4s10hChDuc^ߊ_v]!@;$iX!EʤqrR}>bԱŧƟ@bABTi;]BFytOyV͂W`G;{I%Ù 1cAӬS_B 2n)UP߮)0o6$d՜p*!$2|fa5#/SJ|,A 8ܨ}&]cȞHQcz@e tYafZ>9|hr7"/FySrŌs6Պٍw8Cn8>@:gUЂnL Y 3l L@I,4YI'q_=\@:,ĤIJ@D"C JBJ{X"J@`?M1 TH2 (# DE'z/w؋%T( VGcO4JF^>,omBP-[P'Бvr 0S( oy[lÑ^ypcT--՛1ߖY\/{ﵭcfǣ.`2q-SխL*Ns$JR8H5u&~0xxwto%y.H ns%)":b\A)Jw!66666`fPI6@eH8dpB ,$7x7hw  ͍mI9($@ ^7В :~ozinZjv!4mcm_`d+XkaTb ͶuAvnccccccoxɨ8DkJiǬ;R!dkQgu~D2=M{?OgjS>[}khĥ֖Kp!A]d(*PJ?o &~FYĮ*<a:;nh۠&f&$?Flw" ȸINid$@Ѝvr"=`y~qQ(fΖǗ~L(:dH@}5NOB7\4!`D-Xb).muLF[JӽHL%`btpAɐNtKF,[YLV;/b+M\ tX_ .Է)PZ/U]pB7c5k’bBwwy.++wzi)hHweҵw. Ss i-ݚACMB*s1S]LGt-/b(0` sꨞ+Zi6!*ED@IUM`ΊYvjsHχZf(80@u֘6Idk ߢQP2t؂[ rUVfҜՑdvxk} #jřiq͕FL^L,VY0 N=BjHL$1Azqq+6|.\SAyqsUUIM ,s{p C A{g»?q1UZbc'#UUUUUUUEn&,*B}1^l" (Cy4-٠{!I79 \Mfa b&VYjKDǞepvcqTw tykVzȕ WbM?ڶtCNeNLI$#ۼXX)EH[z3V b&W.1z.N\r&.Yw=Ӑ6(%%9!F/9% =:p[ԘHJuC^ b\U!DQT|*Q$0>sJ9p_փG(Q +;@UFdkI{8u͉`.Q8 02q8iK8>Sa~=}"q#%{#>NzÉ4=5qe LCUP~V[f).|!:x \o =ODK6Yo(R @ !Ie/ 2$ ޅ]nu:`Mok"ܕnl#wMTA?$H\x.]M=dx{]=Ct sPUHPs9uUǷAv.((ٸQQîlkf61xN0L p2"oo<<%q.C4}v (!6q?|@mO<稖)YrV$cECTR,ɋ8Zp x_?PL`s;BAHbΔTF>i!h$`c PCq˘ y!0J{s!Qr)_^Gג)dw۾qXCIqBʈUEWǗk9]$P␚FBp=|nMS`#V@hG줵kO i&6Ek 00Q9.î))tmyE Fw[^p*J>7Qýim-| e>#5'yp\:z@M^(H:'\{S·#MJ?nF3 _sd)hp'e\j΍ E'^APt!-zr2ȵz*B ZR[ۄkBg>rbN:@oNVRծ+ldcóhP Du@غT'$إB$ɰcd-ߍLFA{bnoj :B hʇ8IM"8^(庙n*,ˀ ލCP?ϥzi4gBt YZA6_$ yЎ$UE]FNzDᐢ]=8||`?P1r gN{|uEuQA siSA7]@&k1lD˲O_jen)XRО I0 3Je-Ѝ/7Xx}ST7]7eZ3RajP/όn) ѣu0x]bn^ؿqq<}bG ̉e;tyj Ϟ-LV3ɋ.8Qs+FYksXwF1ޖG%M85 ךx~S|y54CW6[z6s%uN YN:3xIjt'ACTL(8GFy@(]zd Ўg S CjP R P4 L3[#BMP#Iv*\1AДPj~Ixڷj4{!G?8WUιw} 18?fRB,P&LBY9awʯD%5UPWTHQsfL,dB"Fe)'T@ V^ R]pd: %dJFwujNp!A"!P[sY-ҴBzN_lk2/@R DL)@Wy!@ჩ#,hh3癭ɻvDXi1&\:5xu\OoxnI$HͣDMŭf ! hTr.k7s>XcF &6Ϣ C_*]N z/LP?C ?t1ܷEK#w[}MT?j2xwo,jtHT;* %Vv,{ =6Ynp-x@aƖn휟+=񢖼qoU]y9 m1Sļq ]C$/cWyţf&)E@4d$$28B΍Vy%M/,`hLPF:)pBBQWE${*uBՊi@qs@Q 8K5halFQaw"[^Yz9uA,pgeд^SJ_ v1 ?-Lx:dz_+bB#)BpPjߨI|9Jj;T氌r'"9v-=h~0lg0k2he9LMZ :UN/-Ɓ ti!b%7Fl<\ {=naߊ]ݦ!-WThwbؚ|ÎF/ *#|9R f88}O\1a6`c!-B3 ³Zirɥ *oS6=@dX @4]ii#I~ U\ )J׹5.{1M K=RWƛ'DYC3pFb0jveb7!"kƼč N*i;LfrbDW_,c.#+~~tXu"4;E\SW;43( #&SqGi㸒^σE@_B-ܢM9 q*c\{@)b45fpJ5'[ITq)p L a9Y4)00hU)+Վ$ P%^zLY6V36\U);jՔ}-gNpt:wSux-jT=Ҍ>P=ucA,Vjy*`E7`vpݧ @s 5)uX.I&It>ve",a6h 2k6/0d (DDBQΛSQHR;U,( B0 uNi [A\PEd8!"I"\L&6mIiA%=qOu}{avJ†T ViʝE99Ix, Vfny7TUciT:zAXtv~It?  m<0(K28 YC7Ĭê'W)9LT8!<"!rPY6lcF댌kid XVOqF#{<9j$Dsυ\cRI/t-2¾]*XX=uKZMcj&P\qqcjr:+7vB~¸w:Pk өvI%h$D1!%K^w& /#`ކakjoK,,TK4JsY _x"r/c[qHG.\eܸAӀH'(Jը)3pqCna?ROo1ͪh|X3K4ZR!ҝ7ij/YMnT\HOK͔^"u AеrB2U$cA7Ek7HY7p^^*+-Ңfb0M?+޷`1`+3: ҂уza90+l^I>:\N,!/FXHJ%gUW sA RK B#pµ?:F<$sU HldcLsb@'"~N+78,RG!}ζEI)C0MuzA7FWIaXFħ(nyVG=G OR& < M*~d<^s ghghi)Zs _6ߊں9@ҦtJ0Ӻ""eUUAף6;>)zv\7h" +t[wL(H{=b Я~<8q@H2| JCvٚ:$ NneEGap]{ regRDCr: ͢Np*i0]@%`ƙ[jSt\ gz\34U~oh486Y0% 3 'ۍfRS9㲮A')t`_\6uTgiR*òw'rO mGr`-؀Aׅi.|3N[Lٳl(RtT#`"uo/Kfkdq3&YG @b7T1dPAW!3L[I9w1UXWjHJ8W 27 H@upYpEsr)lhrnС<ԩmg({ZjHnp^p%#h; eLJC,盥VPatgUx{5M۬`x玓A^((%Ht)1{D̻8@ho/ZZkjXJX]P|㋇,< 5)}zTZ ihgoÇ(*}=-y)&Ed#K/Mɡ hveP n 5E_cbzF&363y?V,<yUnTaK)5Ͷ__DHe(E 2BF=:':JS:of FTx-Z1Ȟ & Iʓd?m+ Ee(  k(RCu˓/CJ*\#1YYp:ʚ;􄩓.ʑ BdH9zJr8QHI! IH PL :99K3]E޹zRqP\uzaZ3/ݷɒO(=QU=[&hX2!D591F'!M{Ό܍Y:>V(1 |hN[DQjiwX䫋ugUe2I(8ˇxv'Z=]n ‰o.B=mfgCp̗Hxn!|:Km@/밶5!njBX,I«g8yjgIcf!j,C6! ER1gqݾ7`C7w<ԇxrI$Փe-DH_vURim""C(xq|PG[gQ%q|bό&LJ.íAA9Z@/8zq-/F#WϦRW[!uHCHLImL+#R\ҫzk10>4pu caˆQ,;MQvSU^þuS84%I/,ږ-5JEH t w5GKZE#0hUW菩P)]k#aO?xjR J^RKvv\W/yjU@k$})mM1܃8ɥ23 LAaHCX &3Vorݺ*oe:s#3ÀޢYyH5e®uzZ6E!Gѥ}N K9s0CpbktΊVvd+Hv{/n$zKW_Ә`IӀ0(V~Kp`E/l}"4LDU&4uBP7|nJ_\16>3 -(X ksȏ\͍*@}LE,9L|ؒ# D]ؼy !<3.R$0\yJL(P7%uX$G)M2sԭp 4X>_eѫ[çM I 1.%fpa,*f mő!D'F)7qGZmj"e#E* rP[퐽ԝ[NTEm.otM,,J<'nO.7Ў,T5KðYZu0;[_)?N}A45(f+uMx[ڻ?VoU=y}Qy:-QޟA2s㳲K)$6 Ҟ~^0=jsTݫ&,0΁0ova"G}{|X+G8aY|]n|a8rp7/`5:|yK,vB.(=94&D h7-_p``m oQӼ%}N?}͎CmG 8Oy6~%FUp^^F8zܣR삌zTM9,Py`>!/ϑXM</؎>huH!D$e)Pm >Ht;: D :^m2_oD~_5adU˻ݭim~iiii۷n9ݻv۷nݻwW>5Hi#|$ I}0"=1$*Q)BR (\ *&FfBiVJRbb5%P7ᰝ}9BI#G7W`ZS)*H w^tU5a[x'*?ci*Ƞj(J0'9aI J_F*IU_Ka 8e<whXXSwKvHLq; ,*KeXT#TH4G:G A?H3t&s ܸ$ *%R(%dLL` P#(hQE3!cڹy$61ADd& 1'2phd& |a+x$I}.qh\ $ԤSH!!4"@TBBJ0H7 @JĪ q`{l '2*;.fI:'& ݼ.ԞdC!ܬjc`EW81?A }#bAʪep,+l(nP!M*#Y(B-3x[ IFxHС/nwGM4 罠$b~ؿ8)i_6405S@T gIb?ZkWi?Z ~2 dy4 */)!X3!zG;v~إev]xf9 h`lZ7&&0 `SIfD2cemd|pXxaG-Uy\ldcc`rY?o jrZv-pnHnƳsYwqR]o1!4e U;ycڔ BSjӈj?ϫ&Gu):RMx/PFQ1!P!HBtw=w{E}y7P|Dg˸@;ң}#=Z RmrE 5hODB\H @)t*L6"6E^ 14ʳ۶ );A#}ؽĥbAdM g3v3 {7ȉAGo<9JE&XR 08ϸUؘqC"?=#r\&jaR2,,㮐 "!j|C@ߖfxЯ#(0>UAȾ9`h?gR&(HaI||5 UАB7mEDUvڱbB`0$9^-]TdxF`eǓǵ/2}VġAJX3&ǠӋH4IM7{-VJ8jYVS^}f6<~ PFG2dVm6t2AQ)YF6y`Ž>f,y# ]pg\DPFGf QB.pBg."ibA&|-+%MbDa(`kʈFYܧziו &۞CQe'2W'k;Fp"驪'CJWC_'w¬*{74Ըǎ P.h4Xw9"RDBE"$$@~8:6{rG~Q=Na*C+ dZKa?46d![IuQS|qя{Jax8wq&6nUhϷVWyAѡ'!"HzO.?| .Z:5HH&`eReMGqo~_ $٘ meadKy?$uV0?WcT $^ ߱Wgl%\UP@j1z.%$(jѡ%ͤ%B1!!Ψ(KN3 3F$ ]ĠgZLC.s jQJ8a=5 yr;~kC ZM֌ j5 c,O25͈}LU]֣8 ?"\67+;W}rl$(~%wۖF_2J$o|Uk=51[hJZ'^{{/qtH s9L*I@I%"Pr^'ɑ *СGyr9/7 @r49'pٻ Ɩ\SIyrWժԈ7f#= #18Wf#QM5e8Vp1Xxaͦi05bJ{}&f˕7>< ߆[jL&b՚OW+M> ᤱֶqX=8c^G"L 5ϣ"VuV>'#טIJO>H^<s6Ňș'5m߄2s4Bha"JRE>#ˏ%uAoHKgy|2sb[z&MNs#XK6vBZQBQ ^p 4#H*rEN`fMm'?*G}y߁rL:: |IZsý7>_ihmevN^^駝#@ĐLOB!4}Pun_|}LLUso"&`~l,ZD2[`1)@H^ܗ:]kYbH gk摠dhDDS2$z<"֡mEWX0 Z:ym6&( jVDx)LNs3i?x&Cj8!W;t6{+1h>»C)Xਜ਼1u9|F SIJ$DA NQ;e#QlAc {RCJ_"RU\ԏoDDDDetR])mO|WhcyJFr ]y.(t-ΝAD1-@GjL>fXxz߸c&2 3*Sc4, $[/cLRHWy~ ʴ!e ~^Fyze&&(=\fku]q:\AZ>S@Yi2JWj.$@=S84Ph[.&wk` emM)'mLW;JXlq4W!Vw1T g :!N Gt$R3[`lD@hwot=8Kw Mǘ$a"˴l H!raLmE\L֫뚳>=bfE` zM :Ñ*Iyhf zIuj0ؽh!V#>56X3X=(B`#p vʲ - 0. ]F%}LQckt(8'z6rcHHLxא1G4W/&A b2r9T?#uܗtgRM<)JQ0-@cl@7r*'YqE8o/e w#wA$4@KQS $4BfQX ½(#:}<RUú-%Ӕ{8kFPC.R52z}zYD}㾏>ߟsDDD{~o7~??wG>јX6܎.Bh]+(;>~´2I&p\^oY=Ç$.8$IC"Ѭ@t*Cs= PY?ɌKUdUhop * 2Ά$6!0I`i;d?^fH&ZEYMHEpDɲBE+NPBDPsQB2mdAaXjYn4e 2fTйc0#2P2:*HLO`,1) m"6B3 \X` x\c!P !Ȭ".ЕD1S\:"Izjn @iBD "M+mqd`p69> 0* ђb nA'w JEl6ñ6\)`۩(ِm#!`1]Ɩcc~>X9 XDQ!n×$(2h|Nhb쑛Q4I1܌8<܎_NŽ=|-PKZ 8!@n0I+f6hrga 9?Yh)@M H9 !qH$(> o:D*4`i @JuEBC^X^/OV_}^?%W!-oDKT2-Ck6\$rlհŢz/\w|v ܟ$~o?u %G?- 6Ў"?'p9D(|į-` %|K沑 ̎)B;z>>įZPD _hB 'Q@1 <,&LHŃdIgWOMDRXq|vsW#IQүu``u+X/ y 0Jjv|Ϩn%}-r.rrtE-q{bQP\Af/iP7p\+hY5j~@Cɘhڧ/~$ 0E2SA DQUTy˟P01#tə9TV7lVƤ3B1)ؙu(^P6ybAP&vŤ L< 32!$)EaqtIw߲7oDz5$MZBf-m Z @A@ʹ:#؛`'-y`B&54P{8]I R)}:Sg^ġ!Q!e4Oi0!_Q;QNh\˜ƙPcEʒ`#@BV!{{)#|5o'C\'{["{ϫ8OFjJsTRJ?P)^h9O?ˣO 6[QnjN4rIVY$N >/I>9DbGu:'ڬंIÞVzFnTxSIy`6qrV im[G֚)5KJrm `p%{`Geȏ!,wn9nD>Y-8 M0n<'s%}>Yճj 91y<5dB\ӢwHkZ-/ӮۍXIpK.[ȁ:(t:F0\?A8Ҋ'@˭c'E;J$ /`AU]S65=P,m}EAVnhY ; 1"/bPB>iq6J gHMF򄌎ߊoU:u_uSr3 1&M,h7т'}u _:6QuՏX8 flIar\K^{E UL/D#_\!z{ {#~cP-ˋAB~F}Ĥ`uӺDԧ :3|gݮMp[w*+x𘥻/wpp(+MSׇDO#P ǕGd)*=  oY`-CŮ`adc=Cxdm*V\Љ7] `0%GLm˱3+!I#:CN5w|ihR0P z$v3۾Ts :5AIq:rQ/p9 ـeM2Gl0ttw{wSi~)eq1?Ziɱlr˕'{du_8X<3UƗAzc ʪa?ns~t+>17a#0o+HƮn(MKj)pRÌ$heAlkyF_b\ܹKBzs8>ʙaC⧤pBu< 'l*Zvq;$'X|yVZ쾣ӜS($n5a fc[k8}ch8?xt]wG5y%jj?ߢ <| us>u~ \cX1ckRqv'+H<֥v_U~[d۹/:U9[g $ʙ>n_g qr~דa6o0񃕑>Y ۇ~q˙'z㋭̋Sq{ys[XIRa_өj+@H4@'+@ᐋ "Ӆ4N0+ ^jIQDI0g9A-A[| UF~U'XHA_Y i(v ˜XeX"/}.~H SNX:xK@I!t 0GA"Th(AU?,*.ˡ~*$A)  !b>~RXG؏MBw5UUUUUUUUTUUR5יĀ`xQ?[y b i4Im*PFa?8wY(6QU;u݆uQirTU2unޑZGC泄||޵5%|1W7Y;k% ,'6f2 TFv[86wV*\m.wMgBkA 0iǓt'%9JěaF&-gļG7kdB BJfUK֚uE񕣌sQyˀkz,_o*-qt]hɃH,~SCDуt(QgUT=5'?AC_0. G# ~O>W:tGZ;%!\RRr?ă@D}TWpu9V"*}Lcz@A"b\!9Jq:@>ZGp M A#~*8ܠj # O`lE^R $|l Yΐ-FՆKU<&F舙U8s\?KuRU*"gOG3@DHe E9R]Ww~| sqSyjV߆6\DjZ.8I$R)n9(T`%@( F! x-P0QU`O sYB\A!RT{>qOr/Q6@T:R c!ԭ%80}r9G0ڻGKхh߷|jw&>\>_;z+@"g"u`]洋vp]x,H҇R@''D;HȺ6P)J 4 tNJhQMRBᕿeeҠyy^/O:>!޴j+o1H(4BL l㎘/#)eBbL' +KY#0|DNLIS h&.VKȃ8ciOM61,̂L>ఝ3HSy А{UaZ_l=/dޖCJ&kb _)HWBDi:{`3:!@2\BM1:3GmD♂_9bI*"Gnv=҃׮K6{HMiZJ)N"KώLa؞ 佐jS@? %@bquuNxRX0 _q!/geuI %u 9%J yrFSGr{3\ z1i-FBX(@&@ :!bT^;,;._cQ2ݎ”ID 0RX/>%VOhD&PH~Y=JO,F|5?]3}9$#Jvۿ9_Rx&TwbuF@ς8( wRHEKb;;p/|8dɴ~sF%`y{ _2H=H@ghFJa,+˒iP̸CGg nygEJԥ%a~ηٯ 6NgPALQECRrц.?#XId?>rPBɒP$k28ܠՇO 4Jxߌrް P4دGɗ׽`hUQJE8@OIVAh"{|$%3a)UE~JK!UZZJDL$q%e-轋s} .r%E 2eNEB`Lw- $!kE(4 }m$dB ~1|^:B9M0D(GÎ=RT eiVNKi@٦u3`hbG`B\Jrd %p)Dhԉ{;h_dV}$f(#TS f"ẢGNzK'BlnC^z$#j(Q )?O~o?2>@4ꙵ4"&zhD edR9hKZ߱MuHLgDs D/mQ6HCBJK{p K7b mlb'*qʅA#)$wffHD9GD~0إfd1[SRdu@J|` (b %8MJ\ץN vh{ōa}%ԫkEY֖ieG H_*vJ-MNmNJb$]:E5"Q8T]$u6jt_joҸiF" M4\NB<9ωP(6 $?m !DT~ȔaRPeZG eB$~\/yȼqB {A1RP1JځW3Y?+3:bIztKi)]<&e[qKl XR$; v2ޮHc1^aQBE$g΃n0e{B#%5?:yuf`V@MJ#ҎJ{g7r+-11 S]K[;b6yiQb[6ݢ`5?K[4x7%WH@/cs`.lnߌOI=V&a%?O={:YqP5 1B!2DA6;握F*"!(⯳FXfxR%)hQW8`ct-~jxa<`s(מ5$GVL U!V;^vApCbH69y">C5DlJ=z//G薒Pp ھD7P(#EM,;H͹n{lG}.iT&*Rjh*/%=O  bHlSA $\?u7ȫsO0_j3T{`yal{#ު:ӺO0b(pF7o`41|BD3\e!`11":7pTIO,IcIi/9*Y-64S^KKsKUcAbzmRXY> c ;df n,@9(%v(fsUERϮ\e-6\l Z9k Ǿ<٢I-bջ_3Y6E B6F\g݈<6'!CDRSTGdz8ҜPE^ zL)WJh)"ʖzZ䮹jgR=tyI!8׷{x\[!A[k)CcI&E߬ϞmP'ą8vfG4A.3;,B&2{{i&%$C615ў k:SI9ʑGc STRf; LH^wX͑A8._m X"[VG E_7kT*z$$ؕkj` 5Ih:Xp.LEύJ ^my$Ja$O?Ӝ (}/B ! 1?) #:M|ǓT:SkEL|MHtWB S|?@"/XTP$N$Q"%@UX(ErrI P/bnO LףӲM`OpX ^{\-!F ?E9$H$X$HI$gUjpF${\Q%B$U.}{>,T\t ȎHwdbI!f@-3i H"K6OBHRldB:yle! q) (x Jҫ J)Mh=ag]s]ck~X}a118N!(Ax!pѓbGǓ?JJe:oa!:ԄUUU)Ȓ8  }P=>>q}vyf,CXzR&T!"/lKCCOaXC;WeS9F,BbiDEB\S eϟ($$`ld^+!}0r#X(K-r~yZ#FLkٺiɒW\϶jsx_`~c\g8D_AG_)̗G!zK،QQV/Jk$I 1-d W_zl&XZ.%Afk_:ےlh9=s~a%e%_;΋W mHA,4HR1r Cİ!' KiIx5 I?zI'w oz^ ,y?Ъ(π Pu X"~Gta`:a$<1p N"UJЇRx+DE_jw H=h0 jG-´=Ó]GO AP+DP@Ix)yT?#}/ʯzzbw dk G3邨#%OE>U}_tIh51 I}p"yI͝z#hq$mw$O$5 'Gy !H `WU U^.CO5oDC5$nH$ L <$#K󤺑MzCq&T?@㳿$DIJ>\"

N{S]pg;abcy҅g01ü,)oCi`?p01I#M57VZP@6K0Ғ9m 1 CK֮*hM6xjTbf{?*ab [Ëmda<3hR+vVa|"0m vae i&r_#̜7NZ-4bAG̤r$cl6R.>IGa=$_͎0ou&#?CtM1]ԷT ) io⑔?WȞjdc5og|aeoWV^Y2=B k @%LM 4cbP# 4IlU>4fC!/mrą84Z eKM,6](blP7A$)G8+w{]cz]!F$ B S{)!Cq*:d6HS,˫1_C#L7敔wn/ L>rgDP*"=?+?UXb]"b {jmCkTӘAV0'[`Ы9{IϺ@Z 8CYAoAR+YY([ >t*5p4,Rrɕdܗ&Ӧ%v*a#H/sU**ZHCˏYsAόOǀ?9}ɓ/72fJ^6a H}^)BD4~~T94kJ}X=R3`z?R?v0a8`no@v9sŎ/U7T97}Ǟ:W7';-N_߷~K?1 [ƭ}5\FIPTJ{Os5_苷)}}O\_ZМIDxH$œ*? >ڟ{ttXN} 7=^!Xץ-Nad FXMJ4n)ii(3#*0݀h(4#'i/4_@}!.&a CAYh C))%WpQКmrhzpb?:2R=7aF?w}ڝ'wӮCYݶݳo<5r7!'?t+SpQq~%5>]ܹJ;}rt٨ s a!yoӫzm3'['8C{jbdY곃 o S|$=Ή3$"VS%Gx byvzppG|]:Q8DGo3?jI|XUEEW_ /Uj݇v\+FA|X"i=N#8>#7L7;gw= Н/[  ڶX=S,[Ze841%38q*jqwY0@G%?BDQp|Fu6#:hkpLf26pq;(Et;Ĕ$ b<|"ю<|[1vreK֯,~}ϩuTY!F*J1 ޫQ;ejNQ'Gmg#הs- <&]!jwxbL<^xHx4ڙʘ dCDI9Y=AU#(H[K[)J&QBi"åcF %l0Z 5GN1K.VXJ?H?ɱ,ғhcYqZ/xvL7ߍ֣P")`CMոo1f ooiE^1hs39 00h9> çq; qduIC38iNY#cy—l:DmǑDqʴꔼSA_>d͈NGeO.r^`Www,~fDuUӇG|ti׌UWDq?H_D>PDBMë@@49y]E:x" ee_2)AO?' />Ųi|=sm'y m}R~=MK "C+6Ў3vו_b,'KT@kQA˪O.遲 g@95]Y_-bGj!¾J:ߏƝ'4Stػ)`sm/#()#t(1u@~ۨ!_U^g^h~QF+P=~v)(9sr3%RS9u=.pcCX,Z 0L}8)ı}e 1/p2"pdDeOqb^Kc-5$tuɼ 3< \o1++O-b ?y,-rr:d4zN9D<$ZGqTjn 1ww}`ݸYb ZA%ЅRI"A)p=\ueKf# ƶ rf&$">gG X?ֳ'O5<<9iksǯ > Lk'utlyMb.FgޓwI1:ћezC**rzcgGSsL}[1cbZk\d`~XY|ДF6f3emu]q%oP(({$3 3-J~sT[ͺnKCÍ[&G͗kj[Uhx/bTc\+*B%@Lw$Q,@Q`ѰN#I@>"<3h6cy͒9`a.P5N Y00 -7 le*E [ @"--gzUм@@\ >+HL<42nrSF @OãɆD^R) Qm7$U.wY ^)wwa@z7"t+lKu#QB2K %ҍTHU$6תPi۠2LM2"5[v4 TF"lcύy8z#5M!E yiugwzۜo}Ҙyv_6BNiЃ2~o6-H7c+~ӛ }>-/Q›E&l{Z4 sW#b>ljGۡN61' %@ʾ?sWPZ5.1)kB'̗bQ xzy#煙. 4s^7s~0yTOܕiT~gtЦ1q@⌅s1!Ei\]糯$rϜ ?(IDMH?}^} ^)0Iq|zj1'yO3>bq0؝Em({]vZ_JIK(1P1x|9KɪtW[+%)n>}%7OV@NQ¾#z;Rvw ޏÖ}#~G6_iwx`Wzu_97\<>t Zyꦟ!n±n- v_TqjwX&;k˅k>{l:uB-1>CI ˮҝ=GO{4,cbՈﲨs m-茵]` fcÚl˦?*)X.Ȝ̈́6ug˾|k[Nsn`)ᖳNt2t/R: :24OAb,vT偳l$ 3~$!3hS{p$DbJ _w@QȚH DDiax<HFredHEHa?x?|(A姉LyJ1CtzW^dN \mՃ^)b"B$"l& F{5K@УDb=:$ ܲ^臂_%.:bqP|z燘ǒiE!D+dF#:@òhPp0)oa<4=<$RXv Þ"*I,y.%@ 3WV$؍@vxn&Pf&gk.`Ť\մPj,k12{.!1FRpTr1H} bgwt":G6#;H.l^SY7R0!.Kc6f Xs0t0"҇01)O1e4r&GMDKj& =פ1HɄe-ń/S[O%K`ZT[6nGkKtղ-2s|3tvG`h4c,_?@͟F2n8%4+R"AF#WR2}L$-oU|o7m";ثN 20PTut`i.¨Uah#BJd$0I !bv~H5%$Dj :HZTD<#KD0VI〟HLO(?f'ln |pE[f0(gLSbծܐ1C#B_9Ο<VzUh[un<7^\!5'.-99iշ5ۡu&Q9eWI"H'efXssSq l*&DD6*u_NuYX6b.eSm!vi5Mbd5Qo|~(zPa6Ϻ4͆k{-hy_wSWeWU*5ld;I6"`G3fH?Ŷv]"YGX)M" :#7"M!V@%%#XPzi'*HMcB9eNI4L}t@C@Rmcm+mM?#v.N1D&j ?o|G}vt6^csm+C'=]}؊5fd (e[b81nEš<  _iC˒iI|@Tydlҙ\3s߉H!4q}J}LQ?F kepٵid JdG31qEyx}:o6b(2cfh;f>x]q֙9h y[m>c]LY lX܄!@RGd?k =R Kն1Ƞ'ud;7tLz.[y6ӚZj~.d `+#S4"ԠBtW#t u_ nUiR݂vݮ2Ճ5D+Uv"Lx'6fE846n`4%{b@R 7YG jYV7qhC7r/OeW1w]!} x.`.>Yj~7<)Iju\y󍹌_ F~%yG~ p{g+dy"E̞=FW!gjhd*E."Sԉ-okf?% 7|[ECz+?9iCC6({peEvCj*} '< 8<)BS[X+Zr҅N E]6ٻJ-Zbϥ׍vTl `LXZft< sVDZNrsgTȭ1'sphn(Av{|4#@~&D lkWyOH[VLѸ[}:p =[3IΏJ>ҝLwl 'ǢUbX!^BɄ3!Qòd ăOgTK%O_^nG-@G;2evx$ҪHV5CX IM3'~KȗT||Hiٜ"gcl=@N+9(fs}{ ^GK Tifs(*lk ~ 5G퍠Dk/n10qɋ]nrJ^KJ#krmHzݺ&fe~coHs҄+\>6>siJBə ^gQpe8lom{BKG㸯n(қZRTB^YtK3,y\O+ jw?:VHfȉʫ~w8} G}~1kV^cui+udJ1,zoT\kjBVX531QUUU]z95h!v~*1zMZOV:GTVccm9.O7)=X#&6T5<|M&Y?}u B*y r[4{ukaRRiX#b ۢ%Ҟ+Q9,`ao`2w^V%zַ^f9.#*tDxy8CLۜҡ&''diKp !SJ?*ۍC ?25RG쥫L<Ú lޛ̫$9'ݞY rUd$!h bBvƷx 1nXa,5e?o!`Zf@! CAɖ #i#P1!v9'W8 tй٥D)Cc#cl$-!16nuem<>?C_ow2P|ZDdud?XtFdZCHҷXyrdblDh f?7rh13Gs0( kەL)b &xͺ~.|6O rJU5PҸSufcd̎4.S8 ^ *]mré:pzjd"H$oW9:? 1B+AץyOXXM!NtF"8ˇ&#:*']<C'RY04m|Upp|p`_KOر?mm5Nk-e{?!GMRRĶjDZ\V38%;[e I|22+x1h%H%3CJ1P18If﵏;JI`c~]ds"9(a^3\ؠ`5zj'}> 3?q5f16+u0;"}O^r-/z :fo~ϋ.}Ζ۫Jl$ڙK’<Q3!fR%ʙC0hk[Aҫy+'gx7d02CFhN?acmpnl둳By 6A@m0 + +wG͞XXmūw&FH=J~E2 V6tJETXUBTd~_oTQWٜq??`vj8B6-l?ukxF1vяb7ƿnˇ${Q y_޳돻?l=ZnrB?k ֫p#⣽ spyq\9,3?~>76oȔH7B <=laYrMSG:v2X̚'|m /ekz+ZV è SLs=<)hvz .kBc`UZ0{yxyinғ,vm'uEٻt=WN#r<;eMwg{<6A<9 +^[.o yE8Ct 'tuں;U;5U&lB[0Er74Sm%m8ʒ.`"UKTLӳ!gL3bh Qy ӿ~E-auߢ:/(㼟y%HP7X5Z)g K]mɔu6Hs["?-D X1h9\dg$ Aj ,"DFU,a"6:|u<_S.VC5#dte#iAg*aGo,KD3lȀ[2)ዐpH'| ^ZUkƥOH>h7^4iǸ(WM:wþx{0/!W^I`+w%FQ`<';"[o16DՁ)dz}(pTQV#d(;9כ@;m(j:;?An zm۲:k|s/AU5>ѱT M$O3rz{ţLTN{O}gsIm3L y1|Ou bY?YVOMYrD2#@3 .{K9ÓV@{sҙ40 fCLvˠ ^ԛvncvè$We6h髆p]1?;bO^~\QJ\~\fd,Yy.كܨ O/l9"c^s="OCV03hHt{UgPc%iy߯Ŝk-fI.AŴC]+ tV;M֢JLspr- w_X,nmK5/|F eqfaN G(ÍSrј=̤ç@e?iOz28Ha_V7Ht}$M0D} MIh0$V%BsuDk-.1aA1&S  Vb!'`'8rAp2fRŸw6QfozF^)nI:&+εP-%lLJFiH!4YM C&*%Aq6k1a&1#ȔƺiP!BR@ Rp>.!g$3DZ+RD ]&c;` M D`Xȼm腚Dqx'"x{n+FrV5FM82FrIApJ IrtP# 2+5,$@"C°dTʫhMnT)Mf٤Rd<"J*iaH ֓ rlƌtY(рЙ ȉ+Na#PV󚊘ͶC. vqPPÔ[CZiQ`$$aQF"XRZYt&8og\A $6p]7R8ٜ` v<)Qу.QB0ch=c E4EEًE@B)F`(F"Sv bolڳtdH3obX"^:m\]0otyyy/|E:a CM.lݥ>FS?R&oglY)5vn$iUN8쎉*vxWoTQO?H|Ӛ;S0TؖL#`RXՀtַs^h7[*CJA7%,8]VzcT۵f& !Z7B'FN<]jj1 FТDCcq vdX#1qhFXT1V7!̙3'xz7#D߱ @lƌ$` YAp8[.LP%^~'qT#IْpC6t3qA-mp 1 4-ݖ?_ps&dV?6\v`"boo >ozx0! mZnk8&_N:?c:{8oECaO@ȟ@@`-^F^hqktc>J9_nO Y97':rLS74tI t_ћ.a IcGطҾ~8 Y{Zé(/dwMgfA]=r9( >C6 pQ$kmۀĔ%PV}ᦹᇠ6(1G܎\Kʉhj&ǀFt[A%%ES={sٴ7:_o45E1v˾QzKtq* PB@@L<%F~8Llhhk\u0ߧwbIt>g{-h|?)АkG/b=Py+S Y \q4Gsfsl\4>sxTE> jkQ)#Ybzι8[y5Rp_5& RyMuu̾aV4`H&\eܕr8u ]2+VM*duE(ZH440@Œ& d C7xӽMY=cg 0G+B 2F0,]c "Ja_󼄒 `͚“))466E!ɓBM̚e6PdY IjG5.3zha`* R<"A&9+ y5QS2!$HX &5 w m,&E[4AOZ%(5$12YOGZ[c x1lN@asLڈO|*5xY- ^"cFnՖissZc3-iނVkL{!WC)B !a+kx[t4@$_cz:9vNo?N"#Ow_HeOO7ńh#bI"fYk9UˬR?ѽy?N^`k!N|Ou,/Z0(yL} ll9cw'W4#cYvVS{I<5ve*m%6)|B_|<>.$堐qF, [N p;X8CeMD崣 rZNtvF/Fb_b9Rňk1p;@Gy`++UgDI6ST/b)|f_[KSR\r fF$F іe/> @ΏXSL)H,(Uo`,}\Z1JrmSVGkͤ"b  t5"puz4z%ЩBTlp&9nݨ(ɉLOyr,lԂjӚȆP72p~8ƋDl4Lѳ[NX\mz;:r5;mԕ:0# ļ BY @ABǧ0sΛTdw1ghVXĕա)c'6$5v>8#HA\ cab=yX@'V@202C8Y6F )fa&3 52`%?ɟ!, *S1|w%~uCI/P1Nooș ZED35@O!ivEу#o0D룧͢eIti/ .&YJAɵd` R@D"A$P 9i 3{YL dTeVZ RZ ђ]u/Np=kn&¹\}z@P!BP3 b Cn9o8̘ƒHA>І!f)RRS~Ж$IԶ: GG¦f"Iˑ]dYE ^LhM< 즬L }^mU9Y&$R_`-E2$t6k$*$RIQXYbV$W,*&Rj_֡83X%Z͆+O׌dM8C8E;7f-UQn AEy]'NO{`?)9 <+/2,X_(2DfjM7L4@>^[$Qx.fj.a \LXtC)lhB=r.c Me ^Hre[߯-lj0c >^0LJ1V]~4:IѦћ,0i$ո'!:i#H K$傍~_̙0P)x, _]F~ؐ߿=yi:.IAVǼM.M>O;%i92a;e;lK{EL438l'ƾpD!8"6BuTC;8_ow$GE3*aƢ,JlbD1#Ր<=CB1'؛'gXnSy20gNrb"dΩ ]ss?}Ɉ8.M0?œ zF$P zBg`ĝQ1n jCK d Ȍ$3$X8Q#Ћ/th?g!4ĬCJ2 XwQRJ5慫7GC dʒ&ʉk6g$TL9wruOK0da[jn_UݍGSrt}`ߓ-ck5aU[m$1@F(ltrMڃ% ӧPwjnq %,`H/ifQ~5肆Z`s555]u_ϸOL*fL&CO'Ɨ hx Mj>)']I7ͤt:v|/f '¨z#;F OM`19J+9iu\ (Fc<5䉘!EIuOI!Ih PU-k#ȣlH1$: F bICᬒE| HSnO c_?ɑbKlJưca Z$M]z2D&6 c$ e,ősP !Å1"Rג(y<h LÅ59TPτțRP@e^e I*MɅX'@ m#Mݐ}8'|"t99r~B%r#vfH'D)TSÅ!_:vfϱAĂj>2IIYB JKd`*.җ"o>KpF8dv>A@{qdLv@lwqSi>v2;%ȓE4IIsZ*tƼ7F pm%!{}|xF iBUC4ؐ{xx\pbrEdɵ<)E4gΔ}"7=9Z5!\X{Tzؓe|>'-%΍ @s64h(~) W1R&4 F8[rx{~'ti43sgdhP%@/.Xhv>~Smm~w=0'j.V(J"0IXr>@uuQ~_™ I xT6h=Klo)O&U21?SiijA;b!|ۇPü@̧A# iHJ"8ldp,T.L1miSMrLfET$r rTE&\(Jbi 4 ٨He6`,\!,j ݭfL =J ,8l b0+({'5ttZ ztfb,Dp#!d.[Udr.t0E0p i>UUxmNM^+TqUCA]׃_(@}&ΆC;L7+C/N J?|e횞)oH"ADJa{N<~]8| F_ /H$;*H"@כVT YC DD&H2(8P%e=fF" j(Jy&BXڌ`d[{{)Hpc_#OLL1pѩTjEJ(ޏa߂e90Hb7F\Y-mIE\'6MĚHaiTFJ$nuc9a^IIډ2yFNJ]$z ^v"ZUJW`a\$K-k1[b#ADCE_{ZV.!gi_wfI /Yh j*|/De_EhY[Q"F6H6w+"d gAsy8}K R2 ~FqO6"$茹X?AAȆCcKs蒲0Mߛ @5d*dFdIӻ *~a8ŕG(PL&aAU76ik{"::o(9&]?M#sӣ_g<ux:2u$lvSޘ1$&yƍ=|<>?〙Ri nZD/qv(V@u,cG@b2JCSa!0ho}be p0|BD%nGnNצj0xE89^?[DB@[uS}>5 LCs*?c4I^ı$l}aK"`I) x0<bS#ĂINߩtO$e١g*: ¡ $d9q#x=$O `BBXx`pR ;*dͩRAuݽSScG"L|w_ǰI }'I[4Pc%4I1`<}$O]}WB3 Dhhn!L%_ ;U'->l&Xsȷ65sG V}\c6њb@1k;vE[ <{gfWßX^X6=,TSdT 5SU2lckQ /pF*%$wY ĒXmX:sW*̚? +B(N!e .|Oݨm_c3?G%;,"Rݔ+S}Z^cBNxANov̈6 꾐>ZP *) gxρ!)v 1/:#AX$owgo;39m9J.>o;/Ť*ެNyը}87BB}bއ%[\zC7AS3#w$/=O{c2E}qHp-WH+lCsůhR5]O]yWs/ڋpBK x@Vp{$s.*Tn1Ӄk'r&!72FeWkx>ϞtzJ Np4#gbðρH$ZʞsWjÓulɓ0-0'Q}@k5 UEB"0jB;UOL 6؞^#4oåyD^ܨF 9rF$T<{j,u:qQ&ZvWF8Mz= F I91/ĝcR4g`nafo \/>]0 FI `gh24`|n䲥Y79Bm]I *[Dc{6ibr̊fd;<QHKHv.ed~>,yKX߲40dFp@υJ#eׁd' }8ZMkyB>}gB>iΑWф>- $eUbW~&Pt!X# @ؘ~<~7q~'fut?^Qqm)H|d~t<X%Voœ)h7vS?Wywt4Cy4 {B~ 'B$hH(*e&X@!  BAoR) 1Zծ&mBrި;4% TЕ.~ P?0̲77-/32A=hC_{h0!XdJz2޹[%ˊgZ$},_US=>~;gn |PUz?J3hpJ3;8RYgE@h=v ו)Q614 ~$+Xς3TDz> ~؀ QȄȩ?z(` o"B'yV/t^[3ȎOpe,DHjD$hbGTH40bq!P%#B9.J?0^eRh[QAG@RE \W@̯\+< w :)cvhħi'c;o*Z`F %I0єY-́ۨy;_Kl_fN'za*HFĪҼJ¤U2p1`0\BK3Φ%t0"s/5No I E"]sX];_+A.~̫ԁ0bQk&_0\D,i_'̍5qЛ0 @ c,G}r];f"!,p@|XE&24 ƇʘFBC$`2S1'\%>9aPH~;:]o M9eəňO2HtoO), I0OdcmRvrNIE͞" $'8歡WE.BrNS<6g))[o}C5Sp˫>b$m?򌼖At`H@_*S)uo-iϴL2;Ix :DʂU&Nad z! |dF=&OIR&h\a'XwQU*Ĵi 9ЄIr ]4܆o9~٫<~, B0/0}E -ꌬD#$pipP8>`EuWɅdҥI{YZ ),(h#\gx B|e 8;3⃨I5bG(~̦Xa_ŦO͍>K5GOܟ;9<7/' f!L11Sw7\!_ЊkW~ci|&<ЁΈvɐ'&!o'KvuńḬ#⟄>d yPӟ *@.AC}`yer]U*=vdP?a'6$\ZwD)4Ӱ<&q !5E~^OD?% A(E c(rz=, h^؋6h<>r>L( Ƨ|3Sa'N.W^l=Ӳƒ+.GUM#s!(Qm&eDJ==7$*z=Q "^B~0U?pvL;,{i/Z5X[ b}]Nk7F'b6{#AVa6NCذl*@xdI?07u)8je:#HϏ̏߀ëIJ< s1.mÏ):<`Xxǡ7i^l]6kwU~%I%n ETuQ\. *q^ }?:~[H>"(<<[HIi0Zw'v**EUAX)URLQUUEUUSUNJfccvm*-evj]+mWlxҖܼ*ȱm^0[ Qmme6e<*%E *Ak C6ҺM9]u++e-[ml-ŷV[]xeVV[ eev»euLIJftʫUAmN F2B:GN,%ϯDb8&# ܐI%F,S Kph;h\0+2~w} 4q!8i6;L̸w;Ia Eس(RfP؍Qmבm$1,pPʽ2 3 YNjsCZ +Үt3*K,&jYrKSbAJira{QEqtX?HB͐C#v`o-@ sv x 4a W*C579ʨu%2gꢜeDŽ\Xi=c2#)&Q!* `z'%JE98#4 e32fKT\}E!D1AV| q6ǸL2Gx!]D@$Pe|7CVCRaHHGhh@OH4y8h-;>.13`fO` {l Nh%  84%33r퇘W2BIjuOLKj2bG&Zv;(Ç?0wM~|@IIܠYrcEcac? A0R-Q1CS JI xz<ش#y%kLn5C. R w_ $~u,B@tB^/#ܷ$Fk/`鵄#DdRU H1@,yv$LZ)$SRU -! M^+6H@&!J@XU^[PVf(G1^ qtC Zb}b1[Ræ.PO yJbb-hkNkRwG q0q?㓼nP#7E ȹ.Π á0< j)Xacgh9jbFˎĶZ03(rfC J# 2흜jr>0eO4?/>cEW>auC/]›%0fǓ0 wB8OA!(=LP>ǿvva)R Έ0ȳhd*CcLiLI6R V@i/'4a A)bZHh U iX@HZKTv6HUKPa?bY` #mDP.3QoI})y..͝NaH H/ +MTP D#tzwxDKtLYK/Ik2 x|[ wJ?9!J*Ő*LE)N,#!si)$HVP /z(;A %k*w `i4'B@d$T/BY GA8sD/ѡ&#y39^+ᒌ۳$dXS U!Lb& b S,2J|zeSH@\>/>17ڰ|5o`,#ek-9mDV ̛6o%$%qt$qws$u$QC.}|7]ΚC~&!Mj_8CykA}S=ҘIi=҇e8G i8%|},ceij&R5d jc K2 FXN_wlOǒ<͌OF8U O iy)QGrş;:[L{E0GxL}&mL>?SW \0!8#=vGǓ 1'%`Д4T #xDWo$eoҿ;$#a$BQ6ʘ8ٱ$~Ff !-K-?|{?1;4M,Uk5 :D L80Nܮuy @ҫ@?p&A@2exPo1Β'@IJ &X Ador!9C+ a`[ ~kGA{^ZE8LA Ez9cqW|Ań/Yw0Xd'd5I`kkf=,R\K}PyO3Anj{z 0t&Rl;Չ'+4a"©`>6=aߣa!!hi!JZ(%AHbV//etT!F$S.D1uCA.mUSZ@X k\ !ctD9RBz3YK$r>b}VFbGs !P/%Pr9\B>G4K\9CB~dv4Po4ZQPH_ŀx8p n, 5R^-GL] }ÒlHFC4<ՃB:'`;X{N`Gt>OfKgXiDDDBD@ m C@h=8;ܮ0>+Bt |?DX$E8TolsL#$=:EFO!BBL@ԙRzS"e dHG,+tO]'йTz$^+΢33_&W5 OZCbhȞM&f)8  h! ֧?spA r#:^z@*j(Nر ;MvOs');pX瓗!5ARu`wК,&z"#tLN,J$ex*jaSr͉+. "m,812k j"d3}!lZ/S*Xb%U70sNS#U- 5qp;0ǂGx|Q܎wŻ>Fn ;&UU{2a_cZh8Q*i@e(랁oZr: )P/.4 nŸ( sj^ϵG A '9<_ৄ!54G~rRD?Q_ v*-e JhB',_c.I6rI!gCi{8Mb~X=pQ¡r#gYM (#k۾̡q'>< A5<<2@> 2/=mAw|BDБ(HB *YU%#1CI]y /7! :o1U< })+p#*D!W'kQC\.L_'yr:YfC$t2T7Y z0I {Iw63^בr1^ D? CC@DB-_5ܒثxB7g&F!՝p>N'1d)JL~MsfW;ԙ eM\xP?9FHX%^usWE@w."yfN4rl12H9lCdb#ȏ!"y$ѳBpGQ7jyyIe I #W$!Ҡo|:HDZƈH^"(SOO_Pv$:C0Aa߃9).d$DMo=(%@XYy#dI2GS鼮P( !$?JEO Я;Eod(jHQ 2lq>8i]5¾Аϻ:jC8&4po:T02#drH-邧}%~"wMbArnydh4/mS] ibB R zD6@ywϲ yt}DK r8Z"TBDTΡmaS!Dz J@؛ gM]B HV3 tgG9hG؀1)]D`ۗz`l~  }GA7n|WƯj#|D0zE~p (HP/[(Q$D}Pr#U^^;QzK9dNM R(>g'>JGGvf=4R  #ypyF ybA!eD'FS#ڣ:ZmHm`t&^8J|#fB]8jnݒ~Hz+=2ÖlG"1H+#3'N|ņhuTami2 r( Z-kzH"ZXKR s|H*-4?pOK oStz/@;7}kXg[dwxٽBZ`"HF$*nѦ굍.0=O'5-qfG^~H#m}^o*5ZGp|v]7Y6&PcC )n?V>~wm]]=a6v9u_iO_C y]2#[RB:zO?h>d=49;-*ukkW |0sB'pp10/d %":0 7wt2j;ת$ґ&b%tŁh )Up/XRd[kE ,)$jML%(@ؘ9ӈ%\sD:rS gC972H 34* 6y;d7"lL˺KϜ*$nLh\ y2{|%J<?zW)̐4uwJá54؄%2^NTgzo 4m na`rf*8.DbN* }|dk`vThmZi.MpEJ5t8C Jڼf%@)V#jG-h7 d))@<(>r Bz{,!( Mk)-ɠaCb&M pDm#X[,@z<泦3&15PA+e^p }#ΐi{3cA*?-ezA[дY8„q I2tϼ @51AθmZ& ^cp9t/.χk ȠSѥyKe+H:8KŭR=MhKj jޝr#TeUR#_`{T[;<(OCE8L(qے ÁĜ]HE~O^]'GsŚX7v뻶竩hFQ8rIީTx|A!3`cq QQ5@SCdG0aa] liU)[$8(R~*$ 3Zc7VAl SP$pi#P'u<Ҵb)/]Nt<'N-}9J^G|0vUzz/^AƑA1nC1"$' E׼|]!UEQ5UUUUUTQS0#3ͼ͊ѲUja{tOj8pcww:뎬.yݘhKWf5^ ԲC3 0ق13tOJE>lU-i$ X"V\fe$8EQED%7:|nOo ЦHQqm=މcTG5"qU]1_uhuN!ě :DᐯZq`}"b]ٞvd֒!^k}}ETS4l"Td9&[k.ݙ h@k/F%`1$O^I4g<Gi#nxI)%M5h0Tod5+Ȁ竞oP嚘K7ڃ`p `mqb uS&x!s$tcuP!LƅUWEq>s|{u0/xyȔIeNp]PbdIl@SX${)_zT==3x|xcq8 H 0oCIzRGbY(Czy'JobZL$܆d=) ej 2s"q(]Sʑ/ݿVT>6WaYAHnA:5`h1x_,B MxLHZ y<T"*)EEWvtwBy" |]&<~P +5(:g=g0t: {jR)E F4i( &-.(OYP,[h@T #KrSl ;Jf4$.R?AS%RH=~ &4^!/,Vs dmRlmm&.!u\F(δH1SbuT*D卻 ȿA`UЬO%#$[.b1WkAYQRF<#>&ׂutexDyR>ע8se; ZCļÁ=&B+zW`9,EH?*hg"lFAϼLy3ъ,4; 7ӹk,;Zv1\$-ĘtLO"Spȇh&QRQXO}<"(#2\ ep Y *4m$4_} d,tv'MRHGyʅ!eA,Km88t$[Q󚤶Ny 8jR"00^f;i˥D\Nd'|3PUZdzK[td71y :Zkp9"/3担*~,L9 $O]8̄m͖_mfEQMg0cg?9F>CULEST0UUCUQUSS=ɱ=^g~'SDr *px8 nx} P72GBc^.2-vPp? K #enyzYe,߅ڟ [T>:$:PjFK14qbldҟ3#k1M zWq=#42{hH |(]TG0%a;@hdPh%$  2G)5bQ5C kHI J_/ Z,jp1mn}d.'N$!B$4D40GIR E$>gN`BeYvUePKbB! BX;h $ +@U;s̲-/=z|ⱢOBɅc$@15޺C>IɠÚGĘL%oFQ,ذ 㻓$C% "ȏFժ:rsx ;$$4O ĀӃ|d'RM1TY&KcjԚx`qP $0K@,HEt Tw;A£v (Nh /Rb[L8 `3b ,s>G/xb0Mm&6@H! Q;f; S ?gpV1S8e.Pm)"'@PP<Q˸Np4{}"B$!h4#Y$|,V!BGxpcc{qEp.l1~Fb6]CHMGf [ .! j!, [`d xadه#XaL#b$7%cČQrnN F*s}1)hFSTD"C4D!(M!+PA04 DA (/4ChthN'OV$bPDZ6g?E2@F;NAU[` \QĈxӠ'X~Q&1JP51ME .8)%ȇxt>c> .MVAjH& VCKhB!9vѼQc& 0eIhė.1&㶓H+o% :D'1B\`I ˫lTSDr)ThsdiRLEKNLـnːmVZ[1"MR0>24)+  "21/$bH^_NܼPcN4Hee?u%1&؃g1=36 9xo # Z5Nh|1T+>Lcث.1M5kDu" ߋ 5ܕx- OPmVƢH`iJ oRL 1pkWF'䇮 FY)4R_ohr4Q;tHLQ^HS:2fS@@D̄."))I(RS VJ+ )Sa #دSPY^7sTT0@k-80OW6a| (Pχ\2bsf.K;fP(?/(5 82d95u3HؗWxzϧ=DbQYEr,A.I<O^I0E EJDP - Jr?y,b4~'FH?ɌGP|\vv%%Y#-1nB e\JH#4M~;)'D/H)%!:IP&] SD&(dS2ҏ.< NoX!Jb[ , ;2&ًE3 DI=x=<1(dɃF{e(d(!?{Y3 #u&Y'5iJc@#_ 0"PH(y`{ l"%~NI>k?QZ D@@Ӹ#4@YjBJyhyAE x0'#d|-dXh p"@Cv.TH x"`sM41c ZJZd݊I1HCs/hh.=AӁy@%|} ?C( b&@&>/'iA =xB6֏l ) HO xK`χC \]M)r͟y G[?o)~8)IM&@JvL mհ`kle"4_vZYG#IDGnyȠ4ŧeISUIȡGWZf )cق6Mo^!;UI++; !;S}S_($O(&SHZCؑ6s9ԁD1/\>X HS*.ڐ›9 ܁ !\#q!w@%M_ "VChPo $eb90˘??4UCTWkqmmaLJ= wwhADGd"*C &b V)BiH E 'Fσs%x%b@ +@0 "mRD@JM$Fȴ"A!3_%#O#l:94|}lMΠbKOi\} #ĪQ(P0=M#cu"GrNHxa| ɰsN+a z*R%] Chd)ݸrl0J)t9˨h@6r4C~!>lFf2i8'iֻ<;݌&ҳiAlGROT D MJ0H2qad J 4<^yG$@!3Ģb7J{HCĈľr7rBRLQ"޵'Q Q=)֊_<$r̯,$Ty}Bd>0z]D<ɠƅ`mMChMR$D6S2*usX&HqiH%2k*mŴc6cYڪid rfrґbbiR iN3ov: <tTBPjv-q+ {QJ % @L OFJIr`M 4Tq-07<ͥD$t*bPs':h IT &80($>FFG\//TP~ɜQU_APTb#Nk l[[;ãhZ`͔&*| ?H\ےMm9 '$-davObS2;>V[ (_1 I0v>opBAC]l}F݄mQ7|~AFb $ (r3!,#C# /¡|&W'd间@qiDn(ЀQnǗ f7Z_ar^cH{Y f,'ڨZ H?l+@QAK0)C4$)3)"QQ1ATAILH2Q!KBRB( $S3"1u`S'-/&GttDxD#EAH1xY~ ؏Ll3@#֩O)WId BD3@r'Ñ,tb E)(Խv1aCsFJ҄K,f"8j/:Rh cl8'ۣ"xfB.!ZdvI\iS+1mjƨ? }"á %V1I~{ 9wd5Qq!O_x0l(1ws*K$E H$T?JP)%if@hO⢤…pI lCpw>@פF+^=➪y cBN]݃0qör|nJx-&A* 2ڜ^W0,}D\4[|X^'Ͷсo^Iم 0WD _DbT)o+V!x6 OQLlnw2Ũh"),M$2Dtx&J'N֣) ⻖ ʋxu>"C78T;dJ[:>=臨ID"A#A D%3;<#e%M:C8C,8)\$X+%v FBC )p#Tщ IhMs1L sŐE6E-Eɓ3 "jhG`FY@ a>*êsD ƿ/kGWE,BJpUDn$T炌cm4N(! O9gTV9ZnL{j>LT7X+$5DDGÎ UF$ h??K)ֳ,WW?H}ru0r}Dh2L"Y?A x!O[}XŇT̉!|5%k*Чv3PDDHqf)=%w 81k AsE?4𰗅@Td>r atqЇ[-B@̛e)ZeOOQ?ILBԄ8YjOEmf,?vy"<& %3*t^^L= @ .J|dhKE=gj&*"*'4"{="{@n?tÕ]Ty׃:(bHHyX#KJP JQ0PBB'K2tùq/LHPP!#-"YB$"-.$LAѦ>8*EBQPLA'F-%`%р2y,XdHCA y MSUaW/qb8tD'-FI6z;Dθ|#$9 Dc0l97 dBM1#C,b' &ϸ<$L&I-ys4M`O v#gs"m2A/^P$Sxm-!H:8#'fcKwL`a Օ uDR amF&ᰜhe|;DV͌[t. Eq}<݋3ǽ#%$qti!$!'V`2"ѿPuޜiՂ6M;5Ä޷.0mD1* аihE(p`ؖ5Qx"M{&1WxFwf=ț$) j)J4%:Hd"*aBIb} M"_L}!AH\dHe)hma6GnzǖH͡cLI1&i6RM1gEvW ҙg>& ԎS盧]q'2AvFnwE8T`A:N Jzbm0ǦN =,AHY `=ˠYdbxth F4D41CĒ|61n4lCx; c6G H -!"I19isk4`$?7O=*|N c4)yC[L5ѢA!W2_%a@8OU/A~t)MHb{{sǖ0{ >t1fMQǣ/5D@H  $>]4yXBIdߧY>jJMD yX4 I# khn&)Y"IMz% !FJjO0={r,3^f A_>xag₿>&ܚ& 橒1$O1xx!:gB~m ?7xih;[/>/$|Q#;}GGvOl]:٦6 v⋲qDr}X"$ghx4SDDɱH!@DO8 Z R1p;9);SQ9C/"4|J%9@4h7Ây dpB>Uع -nSШRxxBLJgNGڋl*帑$GgLx:7݊Ć P&R)w |ȑҒB"Fk,)Ft N"yS~Ƹxx!^a f$lR~ewLqQڭͻqK' Ƀr7}MM.%K:A:x ;!8FSI dN} =8N<0}!@[sVܰ Őf)TR}(zaI?q(#I[맸+1{]X`Q6m 4R̄KQ =(#BPHđ)2FvVgŦ9@<:~ 'S$n#|Ĝ+ȕdƣ`pw*r^wd=BXV-k!C`jݮ FrXA J#Ä>vXZ 0z0Ehh)EbhR"" )!e Kb6wuzj[' h #7 )%bwrD!PRӡiGOZB%(3,'& DQSAc84JU.$\2X+M;)$`H<'=<&/:$HZx+jgk6>.fTQa>,YaD Ax8a0+;"J'"~iNaR]'̝ʠsEAʎF}o?+4;> =\/~@e]'45y85yG8A!nZr:)1w ltɡ9rAĜA"a#*{X+?y͋ y#F`RS|ֺU@` -gm*kH=6HFS)@<+f 2bmS0C@*EWCH|~Ck 2@D"R`ÄaGA0kFNNJeXMP,p$?׉uRG(RR28G}:y/tfˋ4wvtyAov XA+X@vBc%MBĐSb%$Ba r3*yCOTdåT? ;%$ "* ("Ѧ?`b M}l:0@12# `9B_wQ]u J%l.$C!F9O%+|:/,l4߇,T ir+D^aC&`Fi#۵453s[YQX_Q,<0oy2;Q"!3Wl=YZquX>tT{ׂ30lq-1J;\N+Sl9渵dDlF_~wd̛Ǎ( MO 59az(@wrtŘa|6fPv5Ʉ&J"9 c#Bܼox6lGcFե]3lczzXW )d(a-dIMA`O 3 Մ CGT%D?U/2x'4dj:E.KpR]O&s,}צ^!ǝI)\t.%퍤ZfF77n li7z22WbElhx`w5csq")xi >K64wGrq.8-1bI $~N:q<=qEKyص~McP xA%$ F2Q PAajkj| +1X76a;ypqSDԦHeXѢRͬ5Ȉ;Z 5%z"-ZD\hLHPy6=|'n[aP.L-xp5,Pr]J8@6{mfDlLTJB[hȆO-tăj6 !OGf@q bKFmZMγ941"Fg$!ꀈnpۊ0"L- ."PFH5D05ݐv04=w2f!{ !t\`C샌r]4= +B\(lj5`"IKMZi0-)Dg2*d2g=}iy|#OI 14ߨޢޏ̣y6 ^ PH1miz{0iCIr,%UV4mtL6N^yzr3nܓ$z*Dp3\"bflL  xtWˆC!^aBCUA m u@6HÆv0Uc- xt8F.?oc13ණ$3L*-#YX6-x+b5bx͞B _, "2u/<K Mr^`. a`KHs\&Pl'xPxK#D6nQE!2lL#Mh~a53H5r(QewlD娗 >`A`hVKzexU,5覵SȌeo*Ou,4JY# *98#M, J-d j?i0y*}uH2ytJho)Xğm)Y=yk3x_@T䣎>+/GC P$ɶhD=e>YJ ,{Iqvzx ϫdmsu< 64k'uT73+n'3B,#3 >YG-A b20(4)U:f! g(M6 i'VpbնkO Y"\cnW1;F;hd$0\w1爻E{C Lcf2w  N :Ì)b8x$,/|0zRQJ.2s,)3 1%> -dntR̽kUExb9و-)7[#To '< .G:Ou'U:/.NQ!p5_31Q׾0n~<^|%PA]ĆqZjthk/Dr.gɌ##BBR"!eTj>1&d8BF^eQA@te >i )">4i%χ54$ڞ4{fK>3 0702Mu;'Ek# wê3xE) P4:ȤU+ݠhFX[#ce0Q"NROXQ t#A.`T>Ia3jYR$c;,1+IuH 邦%^OUUKR1&HAH\MP (hw'bבxsvez|Qd`6B98E3*y;$6 Qm/P0$sFs^u};FCc ĝr%u4tۂaG:I:ʁ 0Eٔ c`>g\De+iH`n}?0ᝑs)hC-' /d{$y3 ~DTBH, ``]A.I 0"3$eMx;R߈yJ`BhU##ũ&Ѭ'XĢo,:EqfHn֍ ^H"0x^{,QQ["Ǿ9Bbź)ϓaIG<$s+N б˸<䪣k}eJeSܙ]:sp1Xm+%\WŅrG,TsVe3Zh=']]olw43]SR6`HQףk' Jb+Q,2奋l;0HxՒ2ȧfqPB",^F[9s+뺏EJM#=Adl9OTVIC~!F=z4f󘑠sEÂdHF+F5+ljyᨗY=]^b>bxe0A so.sU0q ],(`rfE ;J b>q$ Q G˔N [dd+$Uwќ]LJ8G,cS=8"ߡ6ǚ%JɵԮÖVdTȻی9/0zǂꯁlg" <xHg@Czƈ^HN:Kp S H2zhڜŦ EvkijD+¬Ih+扨H )(#*5nN2HJ8 @d䛶 kɺ,$+lrE!v#s V|iL5$?[<'"!J}I 22Å9 fWA_spGcq0bY,ec188fċ a;[ࠃ3l JYi a`Mf2xGcb<9(69ԏH_@`+ tDm ôw<2H `,x, Hiq&y'lUpvHH#:\4Xr̥%D:70f`B,Yy8jX&FථK1VX asPA%@ͩHb؉FKG>ZXM VHڪ,^5338I19jET<:x~:wiILt;F:粣(8Z(42AҬf,fv|DU!*>:4u_Rط_ hw2nhh9<x)LzvOIp`XJ '!$p%pz(M6s>ge=o{z5N2$>Y5ZDxN;{ԝӁqNk;7eęYó|tQʒOI溕|gN;jlEq|*No/p#[!k޳rUY+rQƞ!2HmYL`%hJfH֘H7cD'*orJ"/ =m &6HEK/ JhaM6?2tz "R0M i|Y=L1˛=#ce C%B (Pi#}8qcZ o&ǎB;I%Z3s1P.w9\%PzI@B ]lv61l19'xh;2bMĤAY#_<8dLwTN7dь:c@H9a ZTe&@8$14u)@ŕc},R)tZ|*HH`G LFc:LedPRy@/qx`B`Hn!GiS|LDFޛ:HN+xxI0*D?ũr,J="IhERILB|N+"IiU9{!%6 e#LJ,`#Ϡo$B|]S0̤L I",j? Ȥ,#MiC{S2``$H"U$%"ԊP|ᴓb+(ҥUXp/ kT03tx~#xwT. JdN•e*tC_) 2$Q*JbrX#C8S"$! sSn.#yvx HB+bڐԫH`Ƽ|xǕ3xo%o#D#ŕb1J4BR>$Ѽ@M&"I @)y4Q!.u>hקr<%Mt`N ȃ˙?p~M0詐`a:3.ݔuC:{/)2j/j$dNxV"r_ p̆0"qӔ'U(j]B kxփ*Nzd`%](Xf!1ϗo`N,D(!$BRLd9;|t=Ah Ye n{47aiif=yGB" %| u "Pґ19(}c 8IFQ,)'lcrbNO!vNdNဈj`HT GtvD;a)&ѸlTCB&cS}xCm7'$K,J9``@ xA!$6piʥ EJcc$HBHB{pT@?5«v  (oJbS % D ` Lba* cXR~Pi [b`GFCYFNR;!o3.XlVhA[ilLʵfպoiRI:T*,Y(Y~:g !=o/Κ:vo ($*`kA-C K2mv8mY-F}Xd lE;c (dqe !1`)"FH"".sz l`<ꙏOlWܯ( o3+ ӒOgGUWJpNHMi jv :oƎ NA vax$!1PF yIOM*D1 p9n0RD'R̰!F K5D@GYWYGq2[@M6UQbFz)P43c[I4պasft1ܕIUvTA[}gKp: %Hb刦$XD= S@@ RDŒ2_ğEe2J2R?٨JȱẸhHO'Q*ZLp/O@OdPTN HTȎJz%q%IU MO|⊀bCkrYL?}bN,x}uHush&>c=Y?07X1p0QGr^I]੊PV $$#tҐEL?B$q2USxr3q8 2[lj!jq f1 !,XN8!\i 0Kn A$;yY8FhLPF X"F gw֯E z,)\x  ,%(L"鎐4~qI'i1,#<0xldȁBp2P(h|+o{ *cmq@;g8Y$lufJ&Ic2fBj`kcIŤ4kwgYܴVѴ>/<<יw˂IFTHqD#QKm) Lq!"C:K D An8 4{e5Xhr HRpTZ+iLFR]YCIL6vpd7fq* =@u)L 2̡MdmPDXMI PuAk0lK%18D#rLsm ?\oʅ(Vl`VN]+0%C "Ca1ܙₑI(JVC@P[,ۂAXdkHֲhjF#; kْR EITDcc(9;dK29 ) !/)f46qv0%Ddr䇛bBO@&&""` &% iUdKj#(ۓl3F2h%^g))d  JGד!ТXyLjwAMs]Y6<6ؚY0Ր 9"Y*J9Ge @Qo 6\\ Z.tdžA `tA.w)3fjnhS/&0ᦈBYD*SKaLL4WZ#ߜy@m^# ZĐrDQcL2Ъv|Ŋ0H"H\\58jCyzWrC `I@ THhRAIiUh=*sC0ʂ)B)R!ҝr#M !I1T<Awmg>#C.1[imhNBnyJD"0M!񙩓&aHCx+9+{`%s)ݚqqd*Pn+E*!J03 wTwNZ"\1u C HUuZfF.م 1I*vcBQG5{2xixO"xeIwFf@f4\A߱Cg]cWR4u;Rۈ'8fN/j#q x.ZQfْ7 .db`‰pZEPpA4ާ($wC@>̒.R |Έg)1+-.M\2Ny)ۈP/)@+sek>0VtD)2N1w{2noM /k 3i+2GŰQh!0ky|v}{Y"%/c5L AA0z9\5ߑY<$C8&|z/9Zce'S[Ժ]$AϽșpxEPac$PN4r^Y h똜Olj\dI3l $A\qY(1|IjPKfD9AQ|&8jK9z94,/3e2vJVWF+"g'ES ,Q,Zw56p|J&eᕀX8)}l\L4%3+p/P^|%\g]X.Td5·՜jLMYA6%i'm@Ɨ`0QL"2K,#EMGZeݏ*6z_,'î5VFv͙q+&-+#!3S.` Rt*|DB+B)^)HlmD|q!TK@,0'0=p$2EBa4*$Z {3##o] @jM)Ej;ݰlM_a}y|#!L1@_0tTшDIO/ǀ= d1C8VB]k5MG~{!T1|aHbba/aTGiԉU1 JDدwUDEU " .npa [n{n>Bǔ_sr4Ægm]J%? h&1fC%sE@ E QSUPD$UCPPEAPL1JM,H4T PEUMDK -Q LD ZcW8xRxP(mh>n WvBZ\PCĭȑ)9 Uls;!d11b,),,I F%̥]C,J@,2 AETɺ QMBDSAA$ wXArCdǏ^><'18;&K{o>[0>.zYE /?ť K +PIb`=-&` 0;u WAG4R.B`2Wop~l?|G ^f|T =Qm袤bq/,V ƎK%-)5COɥU Bska?PsBi`>' |>3?>y1>P쬑v@u_-GNwq7'%??bm$I-D[sP `V({u]VK,#I*Pp+ F,= ӹ-V!l &kEj1d*&16FѢ2F)$`d~2rGKB0BIAdJ/a?EφP-Di8d:G'xiSxeq!J!%dI gtDHS|Ԕ)1  t%@ѤCV5!T lևB:@\LINR٥~?o xa=$LSCA1(IDE!LD0mϳWVbTO҇1 ކґUT5LY"YnQn!IT\M"n^U*ȸᏵ"zfc wI #^!0ԑWc/Wi@҄^$( K֣K GM2! "BV]"wrJP! äahōώl C%1V:r`lj"*oACO|@jx$nYH!$+CƝ /ETV4`=m_mD8f6,8O)Gh$1i\`"EtvIb@!!@r!=c85EK@Ho^ &4 # ; ^h@Ҽܰ 6鄪G;mMu?$CGEs<3; Ӂu#x`#0*w$s)ן E?#2!+A ^2q y%}dnB'l/թ#VmA|6IfD$$! B%HUr GCA1d80~?NV6fłC2\Rj;Ti_l%N3[cIqD#SGQ"ie~ACIEwl(~rP )iG*?*&dP A|^h@t* Pn<?yxH%]dy,(g(yu C {aG=$y`~jHaoZI2 =o?dq- G\ Rԟ~mUi6,r[>d{b1[#h.DĄMYU惉m ;G8IdIK>t"s/QpT@.e8H!]Ӥ)dԄy wTy)p婅ન!J F򎣬Yz;{:IMaR6=~BRYuXhn N QN O8Ē_a:Xx`#2es  )*ɣY;+ @8Ăv}@ K}N W_'tvhp9aqn4L tQ4&$]!24'jzCdmBHiRD! %4Y6C_J"~a oʉtPEBT<d*LqpHSҬұ#AKIM@PIVUޔQ,SE"ĠBؚg#a 2~}}}=s( Ud׍p3wpM݅ hHBf5_ T*1\t~2o?BB xDtI#&h0!]' KLj^Ǎ|np}|cُ*4iB8bReJ S@]?O8>{>\2'|#DTOY#(/*ZAƻc(',Рe,y~1}_Ij MNֲُAhH?yyGU'@dLAb," D$E5La*4ޠ"A 汶v)Wi,!$WMژCƜhy]< d zǧ!AD򕼥g0.LaI@VJ(=?nwW{#P~; xB9<DqNP _Dn/ T%1L%L5$EHR18`'q_.N?Ӯdob,d=[5+T?G wdT( "LB(G+bJ!<`, Yz\zRa_58]qL!?\ .J˪yҼ"Y*wcxxhxD T- UzPj`Wd!_񦯕.`ɑJؽX tu{c d"'BN^*^74eާ0o8$}݀L1IHD̡  ).T<% 2e@gLn!1&%1(A1*KJ!HIE5)0@R ̬H@A10 % HSI@ҭ H4T1QC*lI[;b-q4p>mĀ(_9< >4ݾI󩏑|tCRـml=*L2AMBLHAS &d9nj.?gwB88gCˏeIZPbUN8G ɋ:<z”CH$o2/8cnB ?ST/jMߑ#G~O$8=V%H3K|0Ju&VYU dJ&jS_I D.cÄ{ hV2$q]De& /5w׶G$ԏRj(0i>&H, ζa tuV;ay1Tu#HIkGy$+"kY~: 0lQ :F5c%k{[DZ)kGMEI]u"~ ) 4.(b\C }WcGII]݄@ytCe:!#O&T 7T fi$? w#~)ae ϲ\q= REA$-DH l_z#yC@ѕh H9kYC|UI4bS%hLPl; ֽy${ U@[r`Oa='J=쎗oe`F臮UBr!y=4RRBA $M5@)R4VKՕŜ2(O0]&|n(EOyڟ=pKƞ]_tm $&Ŗq &$x`[l^X"ݘpmy XuiLjMB/$[6om  ; ,&]+? }  \ Ҧf-5ի 01rg=XaҖ*ֲVTTsU $\j)VJ7d )W:F!<4RZcÒU2ִׁ?5{$R{^Yh{COٺC=*xl~9^^ժ rczEȘ"KA @RUT$!j&Ģl!}̤Awaxad DG~p~;͙# _Ʉ}P8WYZۯˬҾy0pV ;"cS. =AB&sDIƭz*~3,pGg;N݃ bSLMb+,R'*<KAE5^[ ^]D͌F/r@)BaȈ~d)ajx iBeVJX)Z$/p5P0ȅ,Hfe A Fh&X"H" @*A*!&"( `"jh(& ( HbI""$И(` jT4 ! Rb%(H B("(HbZ"!B R iJ"ih"* !#BЬTS5 !,!BMPD B B1DTJ1JhXi)h&_ʐ~G!$J`rc!fdrEjCUN& 201߲dS]qIXcy>dH|C '  )H(d1䁎Tȟ(B?j8 ]S0M+#44E Bd>5-N`ĵ$O(!od(iJH!dd HRD2+ - ALĊ, 3}l`qXEJd"fBZR%Sl!  RRl+aJaA<ćPPH!`Sg"m,5'ac`!Jtę='(S=+c"m򡒥|nsy%1>"rAl땅tugrCSQ6WI?T}cDSO%Rzdi`q ؃:! i5T?}i{#< #$ P4E{9:$58@eg7-e͂kqo~D㌠Q+I 20AO?gI7Clt4tu\i҄QJ( nF4, ~PuFt wC#?~8teIxr!B$$L4@JR!3H C (TT -4)0LꇕBCa!iO_,*6V)DJ"+1;<9) ]9*!<$8"tyurc!{D=e|Q 5@{E@qVJzEi# 1o;c`5LIn D5NomVZ&#0Sj xd;\[$U"8ġB"iFR^!_X1܂On":k5'8Cma`!?tv/cZtaL il'NIwhY8:nr]u`B9>l\G } _Ɨ+=37 IҙȤo!BY|,'c :%eWMA$9 uǗi3J[#ё2E^s Pv ñ"vcOOqP0U $~u"P w2O`y )eْHc qg9 7ILG.I/{}^zl{b).6~a4%I4m[HL/[&Eng ~33w8-jq8>x;|ρuJL+ ̢XQԽLRQY,!x,RQCW_l=r}sLV3:\w[4K! iax@@`CcN:(a^ dJ感(hQפ*5u=j _Xvs.08HCg'Q8С4F@;Vqx b& d(|upჶyaXT o E!efm7N V2%Ip?}jzK# TvE `'eG`p\c$TӍy`!\ tCEk^$d8"GLpe^^ ` ꪘ*iAH8ÈX /h"i, }inZ5A iD4 8>) 0f$<#>~sA2 >!΍)^wql ` G1+_2|7F="Rb25bSRR/0h=1{IJ)>èh|e4DIΌh&> Wҡ)Pb0ER1@TqSQyC0SǼ gUECTzG\Q 6e8${ Ob _yA3јVFR2$ǠL|{*PE(sHRC8 ȶ\ !)DVk2 4)1 =?#؇$WyŶ9a8d`S P[6tɈ 7G,I(^O۴tG藗hYta eC @ ϭGܮaD+ {k*@>1  V3X1SKB(tZ?&g}#ɚJ'E5@ɏ*z/&8"YLDdHM,<5>qb5K[YRURFvkWV:9L@sy" ≂a(eQ|//ȿM7!'|GD }N b7j&8DM$%d^D_ sTlaa1FMмHs)cr]]hb`:Mh| Q))+MKJ/ca45!,"RFHCIB %DL@4P,TNuyht4b? {Ve= ֆ+d)`+% \TJc 1 %MDe L&ǘ ڮKPkŏ'Ϻ? ]5eC.[h1QMQIͨNr>43Gry5 PUHvF ) dSe"$b A_m?I(GwdM@O"Y&:oO.]RMZWtj }4D}4= p0ďY$о)蝾z6@*)NJ5@́ -b ֲ`kB"v PM䮊Վʓs/59j|(i4X6*\Kcd z~i{90!=/Om`{^:q=!BsA(}3a=DmOG?uIh( uOkhuB)&M`Y h`DMmme3|_c,LBܲ1曵찏*T#:5U-D `$Z "P&%b e`?yȥX嘑ՆT0X FWl8JB"TA:S6&\Ch69͡Śx*DpQK5 *iGChZR"JlJALʼn ߹0wm=8Jq ZR;H*2lk[boUVR XZEc,9a6<+Fh1S= ~{'DE|5[8&! )in!ꝧb#D2p3"q]T=2TN5`Q1 |1@D0H'jbgJղ1++L"Jc <p@ D͵7nՇ[6.Gh>~&ǂ@e-Q؛ cvH9S)Ok}4^h(8|<968T7_02fۮW%o }G6"*1E aC0'$ >*&p'zi7|xɲAi6$M؏񠢒"Y3ܧ$#P79o˒nnҨ(0LAUQkV_iˆ}vI)f3T'䔤:J O} !jؤ`#?mn_쓸Ri=[NKtA8ABeľǀ~mPc&Nߪ.9r)ß;wri+m'cGn9Of[Zsgu 9Fo1O +Y'@:i:LG">c?]B%N?8!B8㗂iZJ4 "xZUbU6ŷżt0'Nآ"*|Py`я7B|Oo0z@V1k{;E5 5&ђK'ѧM5L%#fҜ^_q=>!>&z-1sxc}ʟWמ'Sー`x8R7(   /ކ*d>O1!C0|||pҶ)uVX.!qm  Nd ÜMJIlCh>55ycbZ gc tSf+"yߺ~ٜ"/w v3Ijthbx㺄Ep)hBAnzE< N}ݔu=tM&S#j6%XVڍi<¾v!G`PM`b 6GyyqxruLHzx'2{"Z2S)Io;CPisS !ij!#;% l ٸt 塣J_rBkvG!hA^8^O{N͒O:(#Jp|8d};")G"0*v<яq1w6ΰldغ>"ѠpfG6<6ÂMJ1sh̡GaIcH'"ؘ|#A w y 6L11@S4ņbsilj\ن ū$yɓ{)ޡ.Mz2!mcTL$9i}C0W\Bq!{GG/Ωg'U^}ҫ#p:;w0`S| 9I9fC bhlL,A͐daCA%k?*e6fMȅJI|6 ɿ3@M89 ưc@;ѓ`!#co3F{'T(}$Sx,~(Ň?#`i`aF])g v /pt@|^SyT#^'2Ci>BLbl)B) M:! 'npZWyo&DD hq}j 4u,8Ԋ$-RI8No lBGˡ:dB{AN`ږ` Mj 뛜Yh#1Ad"ZX$dpD!3 K" erѢg 4WNr|JIc$aFOɔokE ě~EK,mUEKB~lkVkkۃc}u!b"s>=nwg3 1h7sldzv@ƃ:C[f>2@E)ÌJP~pj)~&_W`ObHXb:Iy9<7t{ٻ=_ޞ_恎vSrUql&p )ΌevJ*w:t An`<- [\E %DqL0& "(PzHaC.%r DU kC-BrȒ\Fu6<KHX2 !v!(/(>"2 CP>lXA CIJFb`!:Q8 q@!NI   @<7Y*!"! $xJ%Brr[wviB: PLj] n ''<i[HPsوq $$ ihD τu7>N}ZwJ=̆1Ȯh ֹ$Y;j/;+3` { ;`W) ncG/ޭgŤLì#'vskqӕLH>E JߊP0%s®cUE].ZHVd``BGUXJlIl(P("TiEfH ?ax, P$ VU9( BxК1izN8m9,lއaZl QAC|OI<ħ*TJ0$yx 'MM`L5Fu1HPjHXXX'TL\߀Nch)3#kr%UUH%(s@Dҟp~J~T8P K Y>QcR0yO hej&Ot\`|2uFN/v ]/IriBm2(~rPD,BD'($BCTm,=0Do U Ҡ9}*\̫  M)0` da=-3H'i#mOc+14+I䩖 bB<'~IҞq"t>oSN0Ȏ Ow)8D7Q,J)IAN+:V"H HQP8"m!BD7TLPD (RQJ3"  M.B3P "#M.CCEdrSzaLJ>1_7SAcLDA18ѭu9g88)K̖Mm/y@C0K b@dtIsۋr! yҺ6ɒ1B1H-%(PĐ@<q&$\_'|0!`蚡 xdq 1y`c!hbARpR'ܪ\RPHa UJ $j&U=*{mk0zE8 dHEģS"BDJ@DB oMHDR4rϟzX([oW8rz1ܥi WEN:z *aVBpDBS]pT H!J:"]*Aw%x 6ϱahIk#! hBإ`nf>H-Pk%*GD#cHGy\wiU9dl,%I,P ϗ~|LW*l;Tu}|Rg[~iL+7UQf'Pcs$hsXNb 3:!o`J(LI PlG"kɀ $bJIf=,`e)PЖXR0ƪ_eev38|]FACl/An HE#b›~+l۰&g28IH28#$8|d&>!t9XxO0I(=r}a}ԕ[Ņգ$-HByw@POؒɂ`c%BO}cc/0H# z ] OʄWc~I^K8B"!H'H&C*=IIv, 2C nw 0GXԉB !Z!|+pJ K20~K~%[ 0PY>"Wr@,T<+O%PH̰!y* `0 ¦S~!AZ^E { _s@??Y8K"1sQt`ED}zȡ$٠SӀMa70πuV`R=ÔIX aTRH)3!ԫGD qAR`@N؟C a`ʒ)@DECT D1[.$!`Z"J ")h8'1 7((5J5IH:qz `ؐNÅ: %C@J?*0ȇʎ'D6 Hné(4Y1 ҚXPib B H H*}G*"d>j}1m,|)} 1*v D<}M0 $ H!xI WM:hqLt>"bl@3o3XDkƭ̯쇊GyG#-N T_OeGXʤ줙d2 0 F+ɄaO$D~04 ) 2q/0B "ċUvs CthX`UQZU(D IJJ(i % "F H`FiPeP!U) m0 @PHP >~ *IH$JD**E!gC'?q%(RF e%B%-D,]ahI.%$q,U>:Y~ѐ  R$) 4#,EZ@&i@~x$)Y$ ҧċ edɄ(|ш"I" 8!e&#fLK(2 >.H'9$!0fBF{yFʴnT ^l"yts່S0aS wW#F{,a xنf^:>x([}9U 9"88gECZbT bBEIf PnJ}SV0!?N$~THUcDR)@D: /60G() ANL1"A^  >IaYEm"(FHbRj/Tdz^$!r&=_,c |2$fE1 A]9aV23PmRK@)0ƀJ z+#8(v?B$:&a031نL:g8)O2xu }>j!-]%1 MWI5KPG~{3}P%/؜J3!Dľ rw HO1Y m_r=8( ${$HzLH[rB9t,A tfBAI4)e$xH2Y &k»bG dewEʋKE,r/ ѿ2BoBBX@PAJj&-)^R[LAx-Irح~vꨑ@`0bvD Lûwv PD9JШRq03`ADЬ@!"m/9% ?WE ~qd8<#I/ (IJO)#Q!EGb%$,U8rMjKP\U*TD&!(|DcHI"hbP`@$vZɚY U,=;dwi9,Gccu$ DA*UJBQM 44D+LK 4 !T%0h{HX"$d!(fXL[-ȝNRQ'?2Dn3d B.9#v`PD`ͩQN9$juqg۔ɡp;AjB臹J$2Y ta^BWIЎ!" 6P%lE˲ppR@t#O!ARElT5Մ|Ͽ4N(jQ51=G_( `"P)J@]T8 t8`%]hktX%:\HbJ\h&"&"bB'͌9RF,`q1ht1&?H`r"llC z~ )i)In 1+mIVAe"h$@%(*鷫ڽNaK mVn^i<1-I|0?ua݇eu5?wj~a40CxJ 27CڿOzD:^CB&$Bu7 }v?v;wU! cJ`b9!-:3#;E|ϣv8ch"p"' NݣƱSW%ˤ%f#!$ ~ėI옏DgCQ vJM$xv* 4U åJ4&'ha0̦rQev\ThOтh`K-D݈>iHY61FML~- Ts!@ec5#5b54Qy?;5`ib.n-pWF{my`#cpxшŒrAQ=%E]CD|rK2 T2[&kXUk647#x@H4*zE,⨱bÐ<| #@/^<*|rLi]Ū"I*KqX Etq"al??K 4%A0!V1 F![^%6}Ď3Ƅ`Rapz֏j"t>hՁl?idIک>xs KG.S_oQO}DTTL@'9M:I u=+}tJ<2PC@0}Or DDB@QϾPw98Gdt$*j"fe@)b`CO}8,V&a*r 4I^9(܈O"~* ʒH%) 10H8~h5_y u]"w^]D iEI ya4ve?O KEن"`5RA P|GI))+32(޵sUyl%6hUM4 IKIDR $b6rGОPȾ6$;σLlw.'c~=<6O4 aP'M}jרX6urC)@/>2"g]5@:DQO\"}q}\ Iŵ`ʪWO<{$s# ۑNH'jZB$yCf6J$͈\Ly hhB Xd_a%RSVO"EBM$^jGκN $7Ke0Zg䔗?q+A$z:>/~FƐe0{c?&O5{NP(Ga=@&($4N_}D[RF9px01S~=ԟ2B[sdS^Έ>>9tA7y@;4(IL!lꩠDn%0X'XG U֌QD3M?eIC, JQS;j@'y0GT~q* $1ɷ D: #/Ibp 1X-.g`2ɔ!S/y/ɀC 5D02'h8)(F :h#HqE%#CȅQSK"]4 CQ14L 1אcyޫ{Q 1,14D@A640ӊ[:Xb%fك,|'`OqJH`(fb )/ JD%!TS0ID)LIDu"`O9%S!,xIHCQAW{h(z112T%H j<vz9meLP;ATRlC=; 07B:1!DX(E ! gML4҆J2ԔJľ9>g!I>=%S\tAFv;q%S N`(iG$D$rXG-#IhtMq]x$IiL* vҴ1ډX48`&"a&hj`̔+0Tֱ9XVsXjk P}N_HA##r!+Q%H4fKcTJL,DxNt#zCgO_)*{ZrJ" &(\,k ą$VR1KLx{*acj@$Z0f9͙Vv?38IRfN_9!PC҇cnWhHôMWȀd=-nxl/ZIM!RFx5!51 \O8C ad FD l8!_X>@xy+2J` iHZb tF4HZUՀ\.$0 5rԔ^@ (aVĒhD3%-`eK *" Dym@1 *Pih6Bob a e&GX8ae?Lf{fsJ~H>d+up&XlP݇6Ѻp" 7R h@BXJB"@^}}] jyFXU2WkA}=י>'jU^ȍ 5Lbb~'œOnٚK UU8O%w<Awe?6~)4[Iu@30R IfI%?cD+NT`_dLCt #!$92JsI==r1>;Q?!]= ZN!;{0Dm?i=3촡&3Kjg3c"Y7rw=eY >F4Q!#L@e=:Jfz4<,`ч w&Ej|h'\D#KuĽ^Ђ,pYLj'}A߉Txl@ӎk;K;'@X-X &@i 2c#̍63 AOzNcε0**b1 P 0 񃝇d3ed82v܁!S$b6v 9h$5+#C8 ' Ȭ'QOPB8ጌ63TBW$ ߆`fpćD@bPBH M`ޤ,n;AG r Nc򂿚X&JS'! *6nu"u}*)#,V:GUPLA",!52L!JB_! e?A !\ UHI"Jy`b@@`=#蹉K HB$I I,+*L" MĆa%&$ & vt"AhzpqoCާȩj9{<`9#H ұD,HB<`NHAD(G#GNP<PRI K!44/~ϣ"$F9 x볓xVҫRI4~Wt#*DJxl{ "lq(A"d):$4x, C*O&52bC@R emDDLL"Zp DնA$E0%4K%)*Bc`1*SNp-hԖipH$bRLDIj` P"DPRhR$P?'(JBD0I$D-T/^P]eIȆ5Z11%YX48&h\,JR(HM B4 X2';Y"}GFTF8jAz'#$;>hq\ 2) M@" s8 1IPĦ lk n80jSIQOO0pN $ul6 d$ ;Dt@eL3LE:QuG]j$4A5!8#w9MRu{ On6\l8 u1 $&VZBDD@԰LRI.LCI1Es3D1aHdvt|$Qnyg7>JE#A8G; ە)HVЄ $K0lz2e*8nhu0]{n"3>s`yj|9C~D'_~+ߜ=-<1q֍sF|)̙4b\CuY tChy0g=9H^%1)I-XE99*ʛcڥ5;|併8n1>.Nf#]R8ts-N$D'#[sNpy_f޳\|b)Xa-D*`uDŽ2XRhJ)9) LQ["I.0Zdq<i}"I(K׽撆#P~8M[D̝fb] CY#-e I] 0֍ޚt 8OP7y=Ui}f_|8Q#L%gIh@΅PS+Z58Jx3 ?j{zz @@G!I@C̳p̀9* 6tAi%xpd m%&R`e̔Y[:mCIJc+hhnu+ę>O<Jc$J!h#Ϝyh i;<ĕ'*NbJmh6(pr̞ 6'(4zj< ,aizdJ>;)(<uǬW=ONGE (&%}!La 7p(GlxnS4&C%8Nu:OHbۓ>䔏jlyOPvQ daI)3( &*^Fq!DT\yXm>NJ鬭2V*HEB-,T/*a&#cgg6ߒC]g*s.bu4%^恦ug?|V濸{:v nYDD]`d Q(EXqf<|0,W !Ri;?xc5356MG&yIB=O˞%N7 aDT#Y>ݜsvuCi89*?F̥CZFz2? B$d@b+dS יa٘8aqD \$B䐻!>#W"q'GF aR)j 3/od-~]JO*Gr 9!=nciYkd KPXm=Y9h{<pO6{ :iC&, ҂R3R Y&3nvEٻTX213)ǣUD<qƸhogKԗe Ág=&F`/yb\t$嚾pRhB`kGDX_,9b @rA4 ] R$\!KFELYuX]MNfH` $Dgeƥ_0 i0M2AoP@MKf*"zH9׽"xOjө99KzDE 9ӹlSHuYTœLDU^Jd:$_, *!ьU'`ܾ\fKoy `F[G: Y>=Rc/9^,}]2Dw2kB"#I.xDI" f<6dJgP;5 G?$g5 } YMVaBHuU@CMs޸ VF2Q.X2?tXbd$8cTiߙYڷ=wp6`JXfKzfar:>kqn%܊,AtOC8j<`-uRa@DĐP8Y|#%X2yr(JI5I#jNY[߷Xͽ#;c30Hso8a/f.u=%t j hA2ItANkXB" QwO? "*4?sA= s38 ĥLƔ48@ѨXׄ0cn&컸?S ~~4Hgw>Qm>] ,An!@Nw6Ld= K *ŵt 5)w|?1{s+&xX~{@yI>xG?WՐuW0jlj@;$-OFӇ]ul,i''_ONdk #)h 3^`X/W/(O{pd*vt(y8JQpN> \[MYV6ifVh"#IQ$;sH54&VSX jU -vAAwށuf>{rYKa B'D8;1W7%hL4nE3TMBp H4TB>񼨋 CyGmP4Y|E\H`X0JC&E2/$B T>NR?^MCGO!A( m/CxHa+*9RمgAâiF]І$}I$`$s" LM8ki 1PةO!e&3Acx9 m%Uvd%Ks !W2ڹ!|(0?4{'l^T;Ou~y|Ac<Ń$G.)zg`Ж)D-'4}p"N$O_[fGxE1Owk>Jy_zN4|ȗN*g5D݂ໍC9c$oʘ uTģҧmB">Y勣E0LQu6lg#d;Ά9(t]C{7pfדQ ͩWJye/Tđ4U.꒩j ԭ kh B1q*L^EPW?Cm&n'xd~՜wd] ?p\(XsӍ8 #L\|"pwYP‡T tFDr/{<;%wd4˜ \*!H)ij4LM̻IOvO|lxҫDm3BQLG,uO_1@SR䘔>נ:Jְg8#H$g$y O <=6KXXqH *8 wߑE%S!Jƈ"&N$TC+\@%50@!, ʔBL3D) +@E\2C~J!BP!Cs q >\u}Esy3܎ ꪗDj;Gc5p ҵXiLbjyu{š(*H`?h3VR !&`dq&Px&B) aOL`SB,%jfsk],iZ ~p5`2Xa7@g LS!ZHt֊ah_Cq>{1cS~x z<җMcAE yG÷M47OAXOD^qIHQˈ%>C<24AN@d&U`paΐ; I]9E ̼^>Tנ'c2?A\4 鴗҈h޹;kJ~"/?^6"6ttGĊhA%eeb_I9O!'DoCO3+ 0ON(C!JԭRCء -;.팁y9N`KnGvJ>#ßr']={\*:!β裖4|7)cIi*iڨQ:;ߡ82{vR@pHY!|߀@psbڒbE, s :F7֍\Gs5˃H dwɉ3%4dܡ|UB0aEGR-h%4! W, E%W(;n{Xc4><xɣ/ 2 lMlC_2JkorCͅ$P͉8bv4kI&1uɒǟ,nrsbk0!]Vƺ64s{ڕ̓$U5H:[NH8x`K+x.8kZ N::I@5A04q5 % Q rN~},aL9|&]WR %D}o8N1:WyPyx8-5 ],:XeEU #}Vz=GQz""z: #{++X43 f2@1Y5vZ ~PBE`Qѕ|o81ZE#36,E aw)VsnxR3*U IX;a<^L mB!!Hj47_`Cg {MQzm)dz7Ih:獣H|1k x#nV|P&+V9Oixo,pl3(%!".d B7d'kN%9R;HOHׂC[ݤ,PTU,*nL2H#PaQo90)R0ᕬgTVe)3FGDaR5#ia&A; 1jְAF48q6\"#{8-*41 pr#i4ū8o7F95IœjTPJLvDKo6uSF VXQcLJȉ,}mNxA08Q́-H|IdC8w9-`$)`2,;i6$fVE0K.3#q\Y.ۯbCxƆEwE9q+\+2:$%RTpf ,ω&2d1ma'5;9q ˁs\fX|, 5T4$ C`lFKM(M "AMbx`|WwdO ()`aV\00&\*hD VA$LY:jEcvB87%wQY Pe+)Li0w ʂnfK\vL[8&˥Df÷kS!:kb=ȕ "`f$C3̾ҾGg0p 'ܜȞ>9}0;+pKpcyW.(ڎ`3ql(pǐUPDHx>i'>&d؜"nʰDaQ H`q}ԣE&SR%i4*P!% ĂB8!CB4Y]b3ϨS!Y*Z6э2+ox'rHړM-0{`tv)#BcaUG$.Tp6O#ʎF~p/~oL|Y:,* jR,̪Ck;ln CC(X܎!2$#JRQ6U%I~]⾉A@uZKQbw3(3.^`588ёCcy7nO$:]\2y bR;Ǎ|HDyIO ׅy<(c7uzR$$;f*\ 6H9tA"A%n#p12^`8$¡cf.mm0dc4WvqyrQvc5p,P̱ 3歶6dɊj$³nMH@$)i(D6=)DaD4vրNSO \VZzB2qTu@s0♁E-R3cZf0mb0.T.0C zOma$*JWp\RM"gra&aMƦF"X"k[0!7iC0ĈPKhAΥHAAҁJAlXpm8LI0NC+tD`*^f(P<#>mڋ_IBUD2 !LHO0 'ӝK(䆆s*|LJ1Es㌒?ldFU#夳dEfzbj*d)Q@G,jBY=ӭ燨kǸVcְ5&bW!(Xɦ3!DQ2 "!v&d SBy:A>~mhJ V(;ECY\̖zlmx< xt-<7+'0@v=ESxQX饚7b-,ȒzۦS}U8{+K_{"OTy2}c=8 (PI<>yXM+$;j@2l¯aA7p<{Yd}=2Dxyiox,2*2g3lEȼd+]nݻM 4MTJ @3ꦃx> xjnD$A}oțJ~"D0C6T9 ? q .I jH,|ܰ>ӖwJr4]D9h`WtDhJ ʫ#l6q\%!9YH}?9񄙘H|ePLH¦Dsii <Ѓy@xH jIXvPe6ʄQfT!{h@ R^ 2 dH@ZN@M!n%Hh*HI&XSiCq*b)A7 `O6v5d0{w1>˦5hJ+xҵ<=%"HxMU9 S쫾WHn^  ^PשdM#̉4׎p+X@"Ms>z!~C1|DSyxtkwU] Yg:lcMFXD J$!=PRGrxI'?ҹL`)5R.nLn4ndNa?@̇!Fn4ChE GqY1dfGHAcȾGG}K~J X{l۸jڲHKCXr+X8W#NKDɼSI0LI;xɨ&֥FRI2*RFC)hɌUt"F.{ļLֆX aA-mc b"#h %-YƩPi" AU4[{& {*^QW# *•}7S{a"I {jc`2b " )JFOH$U;q%x[JO]}11Vq CZe"h/L é.f64965AHf}q}Q&-kD:BcyMLEPx#Ÿ1 T&= ^/<{6m zpؚONty`-E0cPyPcXth$1p|$0lolӹ.prv1ZNBu(+hL.zL.aUfcjPٱ,ZX LWrѣC H~bd?yđzciK&H E0T35#@N^h.6cmO>!l_ʔAS!k < ?as8zl7xBw6!hďU1((8SPHP_ь0+@JL4HT|R:"*{#@#)#ځ7|»H4ɄхxH {$@$ U9Nr(<-`OϱЯ"SI4lS̥%Ds릒Xj$rmFwS?]d"lBC~|iSy$c">l(y{q0UB‰ܰtlzV?8$?3;H.BS_1)|Xɜ| /3!8@@*h[`Q5S._ %BrR '!8&ʒBI$@5 SN}f %eʕ !6RBBC@!䳴Wm!($BT`B``RX RXP D 2A$P3>-_ SE,U[SA8daGSD13ws_ĒTTx8Tp0>9 úUMqQ7}/4TmEpB[|6zFJ!]UEy%+:^qx zr!F#4Jm@{M ciTb^<* fkbR&%jpAI+!$dm4)9d<ȫT .*'EJjSt쨴%B9rk)^&̢`ysr"e(Af]X҂fm Y`pa[ܙVc7VW2I*%MI/# &eyjz#ve処=)|h% \Ӳ# 2mnV]B& ۲bq yһY^݈J9~)J ,}b> | DDIF(Pe$lM L 4 %$ҡcMi)u)M8̜bNiD#2P~0b捨6ElUBA!% GCɑEO, ~!'z{C r] O# BPC%e0OOJ0'Dn:~?,CA/DHA g`U$Y ?hfX W@LXY49qo=ǍV+vAQ"=v0;r4嬨oZq>2730ZK{)/&)}d*,QȡvG_$?aUDs }9#4C.g y|6vOY ;Q'ߵF aD&xNq qy<6.k V&jFaH`e)C:ҠKf1ΠC $ĤPU"~VfM &:q!3> wk1*b32B !**)KQFՐC9yG f.@7I O}#B#U|O6DLis0מ#&ňO9_%>gC4Uh ̪&W "QVB#eL>#T?I BFz |peYt((c*ҔD-R$4D"PEDEJ1Q@HPDQCP[R7t<0Aހ2ԭ#@PJ4y'@uO'{d6c0'KǤLNJ:e9.Rؓ%#8='o޾}{`|=.3g&ґkD*i #~? @!o_o7ұ cDz`$b@:ѧSO8(2 D? l TC*eFk$͈Vt?ո7AcM@40PQJ-D,L#H-S(JRai$%A0ƮSW˓̬OM7^Ah2H϶yhfI)(dl[V=hww:CRdH" ?! (G9ʉxvH"&ErT7xQl#FRK?A |ˑDHąNoIkD%uiOOd|}?|$$R~uwc8]OƼbE rF k30OT?15{H2 ?tMe?C#(wȔTf8BJp*#_?MO5b[3KlW,ㅓ1F.${׹C$*zdq`&%&u%"֜Is# ^b0&wcZ##|O%@+d(D5p%- 1C'$9< prx@v& 1쏰81'޾ $R/\(yI_ S'4iأ#u+BpN_~I06h.SN{A83_;:E,:=-kWm>=4r%Jǒ I`{MoO٣Jm`ԜsY#(?=J`@BBD>(:*± fL]c&XNͱ̦1wǩI9MЇ4QxqmIxo<<" 艊㈏/ ˟Yʸy*(Ȋ3g>yyDDUUPP41`) `!a 6Hlc/l񎫟Mg3-DkzGL@  E0E<I]blhJ@1ch:((b" A%:h~ l[[bI1AE g %"RLd b)DlGG P- .%Q٫iU|7G+.y1Aߞ/MJ@A뙊UXU XiilU六vlȂQK.j@QZ~"#E>,HCs -3:ڗKSY#:җk@ϟ!$2 oӃMK !jaLLt'DBDߍܮhn֪YLbsu>$bHWjq^ᴯ_8YYt ς1j5Ȕ/s~k"K&22: \9Bi![ 4"8 Tān- `L;xqq(Yah["hрL" xc^M7^gպm)֛4C9O_`>^)pb47rdMÁqߩؖ !˩7æFc,$0I4N2o".F֔JV瀔z)QBԓ|2I)TpI eQa/4{jȷv+tb/;ep JJ(()iPW.&mH<ʐibY`CDUqCH3Ya ftc8ƙws@5%64-LCuvИ]K1lHp@6EGAtWJ34ěiS1; B p]4-ZXz,'T!w4 ysL ") %,#Oى:on CN{H 閚c!4ȇy"‘X(R;8~D[0| -Rto71 f0 u1z<`{O<^yW#C`",&>BݕuQO- ΓFI♜O0 N`靬acA.ʭA`9ޛP0Ŷ"m %@L:l]zW%QTTh6MAD~0q>$$ :5]nohH\"-cڗ6$|I' NGtXʂ( IUjU֡׌ֺq1p6_(Bz/PD|RdʪR+z4= PB$ JB%*`eBYZU (H"T)34 . uC(1*qC>MBt0oD:K4I?RNC3FA5_F#-C)>y6טJK\;*pnǶ>G(Yۧwf{hcu}O>{{HFﯧzECKYu>UTPټw۟|u{w)oi \FZiw{۽-Ϲo֝O{s9{NׅʹT*頕H97w_}׶T}%̨hu>5oMl`}-5E:2K<)>TaX"cuZDkZ=X!G۪by : }ܕ!R{((PR4ADt" &4; _lnzZl}].{w=>xo]wj൫wuJAn{fֺ4m4C˻r` =k}kmW!1g(Xo|"orDNRQ֥dyQD&ڔZ;vCAGE;-Xwܷg/_vq{IBϓnii Vh I |Sn˥vLiJG}qvw>}ܻ{նuʽ>-X`5nѮi-:;{s݋-mnG[k84/{w{ލ]}7>w_m۷^roOu٧s4v˾JW۽ !w]uw_m*=ƾ}eϻG5>/vv Mbm:]^6,{}{RE[k:ή3X=y {7RVw=X4  [ 7hhA֦5S'>=GFA{]A@٠h@{:6WTCT *äPo{kZB*޾FhQsS^KaZͨֆ[}5Gt;ZV)ʁUm>x5X=;ת3 HR{86>yz;n&u ^a^fۇXhޑ [mJѣ{ =H}A6}ۻ|νs8{0^MG@vV;zu;6n |wCl+kC @: UΐkZMhkU$vx򃮸_cW<}m/g!TuCZ} >e^:z<}t}ڏwzׅrwL]Tl9mi=0@UzTP$kpۜ}+őlMk);q&q : OuIBˉ"ixBКP5G {㭗h9 Ky5 B `m=tya)k÷vP-iQl7&жK-I7B x.Y[Q'% HD#AJ^Z> )Ӊ_;8$0y?y-"|d BlHP4DMRS@:GBR @4PUǠ^7a$Q'đ )`\x^փh\:tf930NO`~J02E4HPE+"" &*( ( Lf,CtXKK4Oor UĀ)<=//-჉U]LETAb:GٰDDFg -LOezux:}~dqhu௳aږ)a<,y!5ѩNRkR9dq-WLU `t'f4 I&aU ,0BdL|퉈3GئCPMKU, t[J 4q #펒;d@FCR3$Pѧ =b@̀1ԥ#*(jH=)[Τ.6$1i+IE#xq<qS2KWEAJ T }|O$h1]Q:f^aJZÐ䃈Γ9*7!qq1 >lӏs!BDS@1 BJn(S8/@S1KO d)~q//I<; zo|&Y4\bS}]ul'IBR[<: )fb N MgPtTFA 9wOm+ߗU;jϗ?x{vD Bj9Ai?4z?ԏҺR_^6ZA7a? kdѩ}̄d$چg&3r68W:=R>XgTϧ%n}nu3vRBcVr&Y >YNJn4LA`]yr,o)U xEPXQdEa0nN rd݄$.KRC ˀz8MǾ00,#,H.hL?>8Its"k9}TEhfa`{ǜw$[IQ33,JMXHvp*P m "ƞLąTP-IY JQ 2aDQf\_ vq  pC}4I)l 8Nu қ[0eK4cn;&.x+Ͳ*n4&w~ͯ0n(M~ %Dk?4E"%*&)"( &*J-q˹NQ36nRtPV#5c.bH"(WeđtP+`Zjm0dQU5D UCWt*WJ:a# 4pFĆ4dѦ)&'SkS./(`͍9L$.-4R#>f*(` $*J&&I( e"xiğ6E1%漬<"Id㇩ګqiƒ춱/4yT7,c==98M;a'1F[ca o}=5g]~0xMh_`'{י2l+Fs1(ݹ3F2sbuq9Ql*'=]w8)DE^V.vy b@b:|^ۣU{hxpe0Q'6Xx8$|/(mPqqN꨷b3js\Mw>tDD l9 yo4%02rĤVpljURw]F;uA>J'I4A]@N$\<#x3dK$9/1lUUUEcɢv⠤>O__<ǝAncVIJg|=32YݼJ[.]!޴ͻ ~yQ:Hu "Q 4U=<%1U @G)!T7*b)PDz/P& ƪ30VRH?s緞eqc3T= d] 1; fU)kYa׮Q5^,&b(.8 XzxF6ІaК@4&.H]&0s4N <(>?XwddP7s lk1T|X&`}% 9$jfY0̆?RCiHPAf/,fMh^w4)mHak^|T l[m) `$($ {~FCwCMRТk^s)&ĘDt`۠Yy[Iݻn**#yخv|6 R: j5@PlJ Vdfxf68LA{|r<ΜnŇe| _Ri2!WF^ M`萊^4=i/o WgmuD_/m.=R象fw@jH>)U +bJ]'O$<acY(j9qv՝{H1)(v!1I% fʹL!ϏAMFOSp{A''I"JIڼB@lڦN?9+؝繁Q`=\evi`vAt:pP6jXɻs}GkwWxef7'SOD hBaKBI4Wzuy)D]~kpq&т$| ?MǏ͌hfkWq$$RDaƻ  !HHžVYTP"Q 1F6=Lʈpc-;>s2(ُQ]z^R;h5dc41BOh )v=Ӹ%Dz^~1?*9U^TDbEg!8e xdzԛTm.QC׼SFFN +Y \xN z#b4RFL5iwFLlrN p厈8 =If 7<EHZh&Hg RTG/ހ:rbM6]۞.>) g]}uPNm]1<"PZI2tqa>7-W[.b'̚>i=ehŠ׆.)(:5} Q)!\K-`ԫSR,le]̫,m–YH񁦴.ᐸ* .*^z]9*̆ 2 Ӓ2#:Ipu yNWUOU)ͦ5L`&jaԇ[ڝެ ltL77. tH[λvj=rd((>?~ݺ >М@1PG_N\\z'{&ra4< MYY Rh9t9# uz{߆+zF; 9Hg52MpCu(t&n5ó{Tx< Fj\0ڽ&=}"MheS9dXE`Ql vϚz'@<'fgnpyާ7BBч?m(l +{RrrAgoݘeNNBqzVVZiDĺ@1F`j 3X] דLi"3`')t&`3tBs;>{߶>ޝ|_.د =7 h&$rK2 ()@`9YYh/_DL t z"q,s[│,>7un%SZ4RӑY_![5N#"RxIjO _uuyy_CuҎ\]mLLJ:(G)e9M3 ETJukvsg yMH5 4屡Ӧ|xFW1GbI; q'-"3틕$:pP) w*k yg޽/K^8-imk9VG$@ jTvr9cG˖733MvΥ*xc%7+u^(]Q bHrQlJbDW#]r9~ x>&Avݍcw%YqXYZ+4b'XbDD 9)zP&(nAyF^e ubZ v,xO紧F}LrzGfⵖ)16 gK "Wu *eY5O<~{+n|~^_||%Px2}41P@#' +<$NmKfNǁiێM=}>D'|H> 'X *NZG!Ըd}ξs'W\5( R_!BhÿT#Z,#C}%ѭ_aH`K= yњ<5*=t3K;͙Nn.66*^ ĊӖ<|s=^iϴ ft2瓰xE? ĩ-&$DD4 'HP E HiaNm9v)K+;GnPS= u *L \$,?_Ǫ _頶SE!>|!n l+Ĭ!=9zW)IgQm$ QI8iJ @ҥ)IѠv=ZMHw6ЎG7bT%QE>SHS2<l-! QQ.`n( $ eÛqbb< !@UKH};OJ LtApz\:2S 4xC; s!2~=י%"A\l1A'AS<T (d1k.s_v8r@|` (D( 0 @0 H 0{eRQ AXAAN͎^#wRAہ (^*;1b)̉Dmt|Hc"N”~YE(4S^gdO)2l0#w >ߏ#A֭nN8̸R9+^5}gW?C铈3 ?aãv}9" {1Eq%!K8b E~݃&o LA(EوaapT:r쪻2JE2*@E"LIM UF}Z;{s76B*u""\wByZ1DaJ du@P*"1"1HQBD 2J Km9:?uBtSI)i_BG5(R=eD׌^FMJ Et- AE q(P ١@4"y*tC(D"HP(RDEP lT|)5VDX":;w(8PP<҉(N<t$R)B H)MRЏ=/qhXe*j M5HP3#TPBU!H4SUDITQE3%$$@HcB0fojLȾ#N317Ǐ~99 92 2–1VIH/><'axOĝ&R5W߷7nETdfG<f/EMlKyQׄC@6hc.̙̻Rr/̻4i̅$(J 0h<"@lOm^!#@P*(&`,?RIi$GMdqP ,(N'_mۆ F(^Ȭ $Q+Pij>Ч}2#B(D;9Y-t3AaCgH0? rנJS13 gqCh &Gsal,rv.rhfC)JVO0;`@9T8)CG=d 2'c9yahuv_QAY1D&T1n#|A2Ԫ|}'oD$IRb '!Zi$i>: GC cLspAzݛ@C4zJCpYq09 ARt4ڻ*h'׶'uگ:珘٨ǣ=,KLKliDwC'C{n;4iq&p J)hz[Pڽ C! p&iR (4Q m!$E  * C$L 4DNBM\!auF"d B<4!,Zk,ЀbcfAH|afПQ )6$4l4β4a`ҚA!b;hAR.ƌAˠ 3t%%5q2S ( 2 Y0BRAE!$MhA-\$))R:;+eR\h*आKrpA!I$V\X!c [QE `%B T$6a%)ahg2g8>xl\'&08 _@`Hʞî@|鎐E$<ሉ^x@.]x:a'FF(71sw'0a 3@ռ4OLzF9|j4 Ps!ĞA=T`6zcmӜ;\ "]sL}}iʢZ||ޠOɓMś0FTRIY~ꥉ 2@;lven)rG3LLv g(hx@"r]*@!C&`6JqԱ$5DP%ҁB}蹹>3nAUj}tTLcM$V lhN8,1Bp( iOqϚHCgLf J<@yä|XC tISg@u!(I{p[ 0_"D;EG i(c&~8H˵=ՇHW^}L,dvJ?Eř~!;>I\@8&`f!zOu$PRxN(K>m&gmd+a*NR!8q{Ks8|**&#ho:·J70b6Ae{bN]% jc~4\QYZz@; HN@$ o` ! {&3$6w~d3e}JU1v %]U Qwrom鋨">.*"4ݶd(5K'^y?0A+WA5$DSJIth#x(%; ^Deul+!TNh/o=T'Dbbb9=L""!{N62xzn8 2>G`$1@<OѬ_7Co?R`?m3cp1vfjCDa"_xyK; 3 $H ؆"zr7y-4>8^! FU$Gǃ=O6U kּbS79zpJ>&2&}M 4)>.O5X`cS5#_\q޼J//g" :bF%s/(j(&Xui+ߋ"u ᛏ ,c)_"ʘ?qlSST)y$\_/ 2:$*tlqK9p'Bg6c& :gÝ[n6t 62MJ4Qr"N <q53!X"D(G`fl7JnL% (&97uq?l  .#sBGƻ;Oz/W#Ee;7y[lwm,mD0lGSVN·;dr/"gv+t 7|Q|4f,ֻPZ=B;1̓8ƅTXDpc$ʟg$FgEACJ`=$8;sp<"3^Lc 13 'ܽ*$%P~]9!iv̟ $p_n_k(!bWpFDr>bd)DwoAӏ]nco,b{i[Y#pΆqOXkbg1 ^/,n.|1.ф;x3 CébSM%@Ђ`=xn ,\HL?ܛǟACb}!xĨl+4B|z۠;Rۥ:tHIct[nNw;>c&hiP0H =;D>QO^N^JVa8]U $ =/ 黢x&{4/|&aJb{D)cwD~r7rHG›ͷ:~\t\e .0ǽb&ĉ{[ ; s"K |zb gL&@3OTA "8lA/oj IF^(bILy>_y0nMd'B&̄nraA1nsB%nM @(Xa~7<< y ʹcJzibbpFhҥ $R4[aǭTRq8O7oPcaEeF3h10 4UE&)) @7'#2BaO.<1c(iIEr,V@"'R'i4s(9a8->v_hfƴmS0w#]le lQ  "L̰i[msj1"r (چ)4kN|Xftqy}Mt|pVCʡ"'iuG˻绬?iW[gjd LAA5Kp"Q'= "&ClۦȄr]7Ap8 c F" ͧ0%D TC$AglbWlp}8}|}'4|I"f 7RtVN@(T(հ:X 975ϯi(NB7]9+uIxt.R,L:n+fSr4"V桾'^C]Y)=\4Vx`I6:d'~j&Dfh(t\e] !^@4  =|u E8.дQ-k3NrLDz`˹>>YaD"FsM#;cbI !&.̧®%[g%%ȳl=hzr`bgQ:6k=]^@G\ ʭl,o^1:*ʘ˄ie,)9(/kg[duĥp?AןI92gCt09kƹR_ #F1Lh!SY#tv "q2/PYd qz}o{6cJu9˽DwΏ#@@By~ ;jvUy9J#Z_$ 0<}GwPsmDUR }@  C)*!}0q,_ %5V.A[8Ͽ#CB41=MCi$39C>ϩ)MMX9Q"B눅E3i%ջ-q.C;LO#:\kF;NYc`G'P+b6i.`0_9{}MЩi+ncE/ 05専2޸1! L13IfL 3EblF,8M"{Cf5VG^Rb ֗)9OH4:Sy.?-g͊+  | #͖`,s]0HEGjPL0ΞKۺt= 8%xlL $ěHHEe=E)l C2@/qSݻ(UMsAM; -|!=#u?ޚSrF? *&#S3+`9_j:-'s+Kx7mUYj}1vx]{wFNp#F>m fRp@15i"A 4F8C͍۾|Q\YeUH_o^7Wə^Me2S$&3u  :d]\&ƐJfaP(jpBo*m "" 8*cn ؆͋^9td0%e$mwOf-u304CT$$$!mtܐH ;; d[>I$dCgk o`DC7#W )$Bw6Blxm{LUUUUUV}z~!wHdu 0xI˹@Re1nǿ9u4ݫ7{ s-~HJHw j"((moV*ڪ*7qRLBZfy/FH\ɉwV*<97U(0L1"5w§8}#DZ܇k i3O @V쿱;C~zIRIAPtmn188lБl'.bz˖j)sfw[)1y2La0zV) \b?L\zЩZ\c,0먊fHxÓ)EN.iXRL2문j:Ӯxg/dzeAr\KRBi(6k:e) uw鏸(nyХ:`fST8IIEg阮RCVzPFc/I$Ěl>!`֊Թ7z>vDb4[/L8QcW6K:bBJ4rğ=v#EzYܪq Vb}Fh4 f녔jKeB4S-cH_pN=m6L9"JYKͅ1Ι(tI៽Ml5 /v뜥Ьmf2P XG#ٺ%s_Q,t ?Q3qs-!Pnj?*):/ȍpmuSL[(1'Fsy^$E2e4͏(~VJŐi1UZL^sԢ8' :%.Z$5:r}j4ifH"qtb2hDH5fbur1yK~~\\  h͝nߋ^呪˙hxOBSwwl㉚ʔBŢR)DtGF pf݌RQW&"Yr rDU\ :Rc ( CD1r.U}WO@ozCƦ>c|&R7G9%lⴊhî4͎oQ 2ǁf7c:YE'^q" s/1(cD'dF؋D K<#ޫ S9yZMc۲wrNCsmXri 7ə p#ş]>$ٞ6DWCVlч~yFѾi(!W ܤuJA@Gչė6^J$nʼd2ڛ9cho]%1 R&zk|x HgC>`[2i) Ip4^gP*#~_-SR`f+$4SYdW:>;^b0kpn zP47fJR`&agMˤ?r\@؂ (JHɤI0FB@ZbbpdStTXy zN߶e)iS8$9z`4&@Oc=ǃp=q Wb1b"VrYI'1oّd—#ɤ;LA ٸ&g|v;! Zs.s~vloQܹ%ꐿHWk z?K645WoECiL* C+&xCHD_VvyMwS+6W󜳷JiIq 93Tp#ֲ3VAY_lM.&C#l!*#snґl)xu7-iy\ pc>HnHqؚ6" A$I:T9qIuVDc$S^֚c]R^aff {4F#C$@@Y09*N ,Ȟ@9pBsc8!UBJ5ls! tFf@e eTy[Fw௫ AA MJ0068t`F4i=mL`L<\ؒF4vPzB]"d'd@~~p2vP@ĩ=b&b&õ$XI3 gvlYiإ1ΐ}KPh|A^~2}c ȽdۍBD?^nP&m;B OB6[Er<C&5av9"oR@"6tQD5 VM­["H㧧dRvl&k} )ez9sMT0z['CVk!{n' obLV{9b%8֤2![#<=/kRH/W|p{|-0Ǡ8ZJ{yZN-h$&2I,Ugx c"n>=cV\$F}Oџ\.^帤 yv8kvۘ G19p1qW9S1FQ~5fP90;Bpt׿8tZŝLE0N>C!eaڱԪseŸF} -o~+m{( %- BǜDN<7T)XѳSP߁`uuv^8XseȖ%![3I%U){c s 0P(ޜq8%P&D!UA79cC|fݒ qR ΃ӜJ?CSZ!woN4_kF&|&vyn)N:"3}]bFzs/zqtG*/mΦ4Pc<]h»'WTPGS038WN\7|n`m9''lj¢%?H঴@!gP_G}h>rNC`IrLdCs3wQ^c {Q5.( S*; AĚVΞ %VI;vaO^JnMC ^" [KR=w ! @4>,AA0$)쪇O+ĒQv6|11s$7 8!*E~s6sSu gdc>I :4^-#[/Ոjor3 Lw_t]9'쟞 .u =xM)8VoxĚȮ;h]Esb˙3|+{3?Jc56B]vcӡ! $gڜ48uE)6!IGNj(V>g mXS`{fe |ΌSb|\_y]/f5z,MU88+py2gMkd2;̟p@T(Cz!+CHUmS +sgPGR8XcG A(øK46ˀzQQM 5v6Vg'|Y4+!Osit϶\ql=|Ds92sC@%6o3~<|?s2zcBjdª>Z ?VƴodliR d5'U1I%YOC3훍7v^r^6VQ;ClV^>XDMDd#}H#I[uPJd8C$ `_!*eDV=&x.QMl6֑Tuy2Uѯvy/pʏw4H)[v. J(teo&ۆ6wPo'0>E|L\gWƐ]R=iXouѪ*SwC9[5Ș2'R9&w9]ٍ!u uhmB,G Jutw1vطg4`ԏB_fn#\Q֌L9Lg^'/׶ zOLc8ԔGː 4Va]HLh^ZH,13;D ;HH \r8*],3Ɯ3 uɛe9U$d >}j5 A3ƪa4/>X^O>$5b/GQ3887giwWpCJs`1_׬6/%w lC=3S|'^~;|q%RRz}xA.Z$ia,#k(ǣ:i PKw7[F~u;0 I++M UpƒC\B>$kvc\\Yq,0*H}բ.5J wWNj`wA۳Y6iԂϔQ`to:C}'VEяKqN[xX$'C9~[R$?ILCy0ο-G}gogF?iF<͝—˶;>t0BER2SMD Q SDJK~׆AN%ce3euZL8r؍}m^Ru<{qI1"dLP D΄˒t m.ajuյPoB0'6KQ+ P玫}%?,E^KdMNxU5, _uV:NC*yZ鏲/KBY,W0ٻ}9:AԄX8opI![[Mr3TN0ZSyOӟ" ,2u2R %q&ALߏP@> #,c~ *&m6(lJn5G; 0b&HO=C 2Je TŢ922ɕq^.\0먑D#,IJ>k\QbNZ46 S&,& t|߯^9C$CJ$%k'GȶRmP*,6䠂O|_&add. =N= kUB!!y^=̹{4XC.[VHIA_"#S-sXMi rkrO9{#RC0~0.0͇Z^/6=ۦ֞m=B3&jʑAwI2Q7ii>c)')L($&Z=\_%%U4 rX}83l+Dg,dju+M)\Ss8Gft8Yk@}8ȺnH2ooJs Bh,әUR+y}ɥRfTt ZaD r×]9zp\qJ"Ø% r#uSthr֞^G:6-97A`"v 8r>dR8KQ1VXwP$lMRgglzqrE:8^$#<CL^{+>e?+ eqg+'ĝs.j|ߐ{"l;Oײ'3lzz6ő7*hN@xpP|'S /f6TSK 5<[uM;"x<&5ْ4H&8܊F\G_-TsU\Ck ZQjƐ!W#ќ%?(Gl(,'ZЧvQM(#GS_*cw #SHD.RvZ0_MBY`;az{32I,5XmMFu:v2;Ə}]t>tX nI\(劘}`\}P֚_2_V)uо_O 6Pjx7+o.ol\7D&Kp?&W@v3-;VBFq8,]9 w]cSfgBl3c|ޛ_I V:jMÈAvaqKm$$Wf\]9e0/Ub»!ZdC=Gb ðE1iST>b8=7ܱ w7 2%)&L&\$O+cIXΫ2 L͊K;**Z≲E`лpk4a,51Mؚlz]cQ $!8!nALk24c[  ڙ{0RZ8nz%`^ 7}Nri~sMaۡjJ(a2E/#P5ZFcSqI'wՏ.5}UN]xyԣbG&ȱ7Iq ]$ޗ/eҜV#aB0Ѡam1&YĢ kh灔'+8Ldƹi[ tSP )n2p3Ri S醪Z$fagwyzQL3F{E J:jg #$x,>NO Z$b V A0BNeSIs..N'bORܗ*L>Ӧ*EA &tؐ; RG f-4FVOlqdgADT΄65pv1Yv,=9tP?~6U5,M}FB=+Zm j)C4rQc8cW~)tp )3 Jp!8I^H<6nBˈM dg%""@D|s0תoV GUIψ-sc-%Ս__O+%s|inƹL o/y#5Tac85tE$hXaC6Z*hv"dVHd욜]:r":s2s*G1b.!.X #?n>(qD\'&!CGd!y;@׺zHA4CB&c"||^aM \:G7Bbp:'x2HzWx7ؕn5ٳ4i YWa |AKc25t%las*]r- ѹB&ۉ=֔(H\#.ʤ\sRLdĒ 5%,e$E3đ|l䕔/huN/ <՟{{ܚYLѴf+N%G) 'v6f|wW4y4!ɴNbK, ,1::5&dg3 $QzfefvӃXsxLDC@@v93 pq_a>~ԫSjt= n ?G ΫH*U>vF]4A0ݱ$c{v@M~:p''b5Or5).j=8`BشXd& ÌliW gjˆf>(H=B] 9cRZ-d/hfqtץq`QM֨&KVj~kCGCF%RR1eIS9E\- q%xgR悱'u I 2^E=}7$>KģNF۬$d5P.GرhdǾ:)39I+ʮ|x`9jZ8G=R M:О0u!CP)RUKk$ú2 /w@<Ҩhr.=J!8\!3{]f53Eiv:<, ]$̖Ng=LQS}Z"Z i/&1 5@D] h#\c c@ώNjfh8!?a:1&QabZ h4 ̢\NӪr8ak|HȘelf>\R)n2ҭ8yu;SR䆲 Zp&#gٔ8^T"~Db' &ܴa̍8?_ܑ+R߻6 z.ŘYN/oiVY<}PVqd?KHhVW2!ǡI3c'wW ""10ǟQCq/% .a#]8NI+|k1Q48 -ߜdb$\6Bϊ]k9*=X~'jg G#mA Ug<6ZMA\RwQ&g0pQچƅ_Nw+b>RQ#9tYÁLf8^ ?&螽|Mzqڪ(5Pi!hhbih' ]4? ?rUx4"p@44+&:PIƚ GYքUs^Loإ&K}mAIu\P O\=aúw794(&E+DNdBxbȤaw[+U!]{QP$znGZz*riį>:U˥:UAG |\OdozjHL B"W~6#(ۆ!9xQK̖Yfdb, rFV&ꎅ%7E ίE+94xt9su/x1b#R|*;ga;n}}sxQ'A7V'}ل:Dd:\ў4uԲvѯ[8882qH--RΨ8ុҍyݳY&b'Avy31ᣉ+P\$ykuk{Xզ,H4;a\W\;|_L*]2{Wb`na}d{V"ƚgujho=AiI /:/Ѵ1ۜug_U2ibgNrf|0#gcTqnpgdD5\FHZ#SAUۗ&Wp[ny3 dT΂:E35]ϭuoGզѠQ*ps2rgQ? tm\Oq:ȘTlPEEfxa9Kv_8/ZCLq2`z\]xD[klid}uk%>VE"Y= )E*>tm: DR #iÊHSf[MHXh8)~"Ep ZL*z(Js1RpGDP\䲎 0bpG<[t\-G{dO Sr mI0C X`*Y' @=s uAЋ +ۂxj_-NsZ^5CNP"lP 5p&k!]Txh;/ 9Izn+B/(-yg*A5unO{[P6\jaʞFGz  iFo CZ3W,23?|TMc"n ބ/5e wEcw ѓIV&e(+p3;tOI{U΍jͩcgd]U\kl5;Q``>Ӯ3穴 5rcu}|LAq5sewI Dg>_1[ uߋi FҌG?08<|xx힣s;&[) ;Wճ jD:[v.5E|>o& IڸeG (KsYG-xZQ6喲l\+4^\ԴU H-0U8P绸4ZE5'f$* 觃oGNɄcK*/R[x"3ƐȀn$ PO˿S n&OLi`Nvc(6.ͭKS DInL2{!!iTNr~Wģ-0yPn ? -x>Ĥ݉+kLȡ]4#/_r8#ov,gy0.{җo bI%YhC}ن 1C>k{f-!8TJi_~:n":X@uwJ$ ȇGnt{T ,V;6"0j2eHko5Jșhv:3/$ƪ 97 D8|2TVM,jŃ7͖gFs(9ZlFn6Ld= IEaclTTڅ2e^vK'y#-MRDGjr&K,9Î!<=2#b5VzO5ܔj\|CGXN}Ϸtqrrc~F 41e4UG]R'} /ǜu kю¯~DxP2<`|i78꣎ kϮ_ߜM3q4E$xR[)8fR~`k}ުgZ GC7fܒҦ, {*Z[ò!{YHon٘k 3C( KyӮfge)XNg%!%RIHRD1 @DU E I4RP²)"HR*JF`fBaCW>@,!0~e>74$\@r!JJП׾*b!?xv:=L?HDze8ub'zg4AHE $F1@sqt[ ޳36HACˇ E9鯬-~Z|PCZ~2VzK,/GM7 =LUZmFͰJhP{7o]jc1"z p>2kԪU 3Z" 1x 4=]$d46=#2Н I$]4qZ*&ql$g!=i{.Y y!UH+@41h~9|CԑA7y 88 ",opŘ~4Fv2atKG#$*H/XP4c2F Y-IG!ŗn͆j D  s36N%>0n?_?4:>ΰGϗ(O?e; /Ȧ }Xiz 0ph8%M_?2@/X#!G>ds p(tA7 o@1ݜ K>'#I`@%z6t`t,Ք<0NJu2{;Y p Wi||]1;86, *)H++'>C7 gcC(I{ @07-KR,4KBII%@1Q' α@$& X&# % (IŃ-GOWx X`x!wZ#O~I$ B/ư~Q!IIŧ@+S;τf'?:9#dy_7SG&lLM7Goae !ˡ(v@Zh;)BZBIBlm f "O2'"*gf^f2h0b?= h}F1h2& rP/0f~d?C:}IE`굷LȤ C! CC>fÜ f:Xa&2B0>v' I()iLW#ޤЦ>IBIqlbd9eeE[xW%Zz裢z05hfJ400DJv.R-p$"뙨(.m`4F53ƆkVnU4+,?lFITNٯ?gFЇ/P G:NX9aɂc.A_ % acGW"N7U\xsG ~ \&bBpBq7gO7#x-apKތC|1L-j j("#ˣt 2.MؿӸONB*!Cް=MFv _T_}]U?ؒ+HA(2>)M8*0fGaY&;%8`MWOӎ.Go|9o!`GEޞj*M*:-6֘XJHgO~??7˜($V\C*H!S ڙ G9g&O&=G7N c8KP4SD$HC'!"DӓGW=IJ i1܌ ;;:8\Um+b4M= 䧊Tƛc (a4}&;v@kA· m8%oV6[;t(??g|u0^5zw">!DN|ɺy(Xze+ eW^[w~k9)e6?P heN0޲G|nл̩Z߉Zf]VD x[h ));wXi6+Fdeh 4M$=i$*ZR H%(!Y$q ?x,`,j;'M~ :w.tkv[oHJM3COʩ2P(=hCZת<=(TZM;Cga$ϲX!Js'"r Sf &Lܥul"!1 5i b( !q(=wa땅^.ġJr'Vx$<$$ 1Ȅ5p-=GrM69Q1LI=9&J" $imQHH3&1(RPY}! g‡ 'FE_ & _7߱_[argvӘ~wCm:Axy@RI#zWpihC rD(Lw|?!?|Yܬ~`Ι&L$|v}!$X +;R깘pJM@vaMLJH2?Yd?n3d 6\9|5 4V6?J}PY. Yb7\dqv~4I3FS H]#{\È9D; Tz1S'[ <{%!n>I| /euw$CzTX&OiULSky 6dϗzP1!e.hIl"T\ O $$i*7Ï@ ”0{xMO ]?jy zTs7a>y$/E`vt ioK޺Z %>o8ՙ0fxNaY#PG A_k<;}L"'~q8(ʑ(G x3ji5FϝDn$nChjۆmbpu7QI$~$7Mģ8o xɆ-U, ֫ U򵏯 hA'^TFE56$Q#~be"foИ|YN+dtHv^asL>Z$ PT STKs8&b>kq)7gyΐ߾$ +7sD8iB8`908hXdNcѢ>@Ko fDo|cr/#@N4CGG,&IJ76$} f9AYR3vðJ߬us!o#4fOPEu&RDܾ?,֍=o"d8CC!zH83#h0;4/AIGKcHoS?`}>=Un§z\}zyQ{ttllJJʗ9`4xn \+9}{cb6ra| $G"k/Fy .)GW=;?{{/'yQ4_Pn<|0 K?{lcԚI# F{; tsgaܮf~B& hxfiktȘb(nn LKt`LiرL`Ax>1QTކ/Ÿ ffo'kwK"{  2p`w.x:`x+ :'qy>QsTQq-{==0` 5bS}({q^uZSI,́&*Ini4X32t?3)Jmvgw T}5SCq|}q'dٞqF`oXͬt!$:9%w4ź&bbeL{?Ԣƅ|4m7ngf2 lcDKmUf +ĝhL`ƪ/u~`$aAH < IP!$U? 88+^Xvc͸l߳6^N={0UWK=?'_t $TF;;1ݛh'a % .2e# y&u%f_R>9!r}>ytInBK@†RGďt4gw2Ih nP]I:9|0/p܄OФ k |Gyl"_ε%ŞI' {pTD w ZN|\h* DBe1(Će-U޿ @Q`Yـr9H_{_{Mלze[k&:KR'c!6PסLb)ІÉ8:$H0믖΃vq{Ŀ@u1BcЍB`!ITt@R*HZ6fnm;Wߜ;kjDUKx&(jiPXVE9 [nEo4ɩL%!GG'iLlhxPkXdPs1I$|X$H0;X}_I$\9s*;#EZ!w:a9(’(2&"G4Jv& w#;{"\YA@Ԡfc$ 32܁+⬼u릪שƝn6&@X%XvLKop=ϒnt`˾yƢF 4"CwJG&޵iLxA4qMam5[c t!2ғapޢ$]i2.O{g[YajXXrLö6 fz=$+DJmCju臅NA9:V-Ǻ*:b|ܙ }^lflf&n`p&~"j-w9?(Xh,"vVˬ-3F^&E3_n&:q{f36{'^U$:HĶD;ګa*LyLs\m$-q=ퟳq>)C|Sћ<2@4K@ @(Xi86f4(B ?!IJ4П TБyᯒ PuϯKSQG IqǖD_߃亢P: cbNA$^Oǖpw n">BOFBHp0hGߵ7Q+q)SqZICm T5܊t^I3FY$6arCsgt,mDSQop ڍTB;f䆚橶f@So " sFF!Pp2)o%A:чd=h;hss` Up5pᡄuY7*eFBGlgjliBi>kl)s}G>o#0aO9z?so ~;N! PH6C< ˅P:Clb4P–N&mKV6(*К5FM|Dz]y#7p1ep0dJI8Dt)wb~U0mhǒItfS[wAZLΏ==C'$be)F̒s͗ϏZ< rT<:qPH:qbG62PiA?hJ.2*e2";qPA%v1b&C|CKuGvF Q)10|ܷxM:;55I4ճ$TΜA#(IQD2CGjF=#?\WIbK\۷h3HvCu'߾p:X)˼v+^?* Aث{H>rgi OwssA pt <H$_?\yyD≠SugPP'Mn. J`[NkJ@7 @tLCH6]}=Y u%#οQ|-p.7C%JxT3<pFYk0i3գ`X\IzJlhbLrc  LM. P0d);aT(dE =h"C};U]&F,BlG aj r3jxn3f^d -n P.ӰJ<0>g z=0۾&'tkiE gh pf\.)R743n:(dNDTVޛU!oܚSc; J=o<=(jZŜwG Z(Go̤a@W'G0 LƐrb!1Q/3XW876AYAuX(cȹk>DajE'xrSHR]S,_# Vt3<Ъp9! zJs~ދs0`><1Kz>`mqݼoa~b$bJJIH *eje $eZYb!KDA"tuK7Px~ze6%娓4ErD|?C1p2`l|FEae 33lp)"><óR'H–f#FKH W黻wu<B92yN8.@w] aIo1$lN8C]$[Afp}h~ 3N0> MW!2&t 1@QAECRBI3 +D IvOOj8*c*9KLFO=9|*:ll%X?=yT xl߮9'{gb;M‡LW4acdӳJ1swf:ԙ:ֺ%m+jD&BrNd3#dL^\H+d2dӨ>º {|)\j.dc}nfIZ"!G9=6ǐ'}pTDZ1T:^ZIƘF8/+%FagMl=*ao,2y_9!‚`T uk[gP$!w ym2V*IwAL2#/Ef[Qg\1]JqrqUSqˣM/of?]L0:⯈y5悓;ފcir{]dd5H&ydDX$ DVnrzM K9UvtZy((ێ_eTs*C]Yͪ}UOI/az]KAE;XNn~=sH-6ه_4N d+%2fJ̢q0+Z*HxwX9 Β̤CwIO/g $>rqD~NWs* )jCojX֞a1k3* Z#vؑv{E!܂JW*+Ip{7]"*{gTaRsYړ%T;7hǮ*0Jqӛ2-R3qt0hS&@BhN^$)p+#o/۫33 KttuƧG=եn/j()%$ $r1h攛vLѴ\r3cnaf5u D,f9$4@y?dԻz! a ( EU?iҭKd$Iw">c[|oc}TiIx%Li3*@o`@ۭCtTLB%= Ћ# !&}5H$s+eĄB]PcGH6 OI ?d 8H(@ Hn!PrU*9WtV/:%Yexb;`0/K@!SD~P%yR3 xR kml_Ox /BT )Ey(0RJI{A4$B$O<4q~1sC?fw " 1LR+t0j|H)qsq_E=dnW*E>;{Th+Mq)I eNcÎu>MYP8-Pʤ[%G=mG-~\kV28-CD@FRd0^~,U!@"46 %]fCpë$⎊@HݘJTP o` D c"/kN2?ҮOvkYQF R"Ђ^tXqqqKc$&$%"? ?.L9[M01ڻƘ9ή^̵OBD3`ӺMswkֵfLfR}l M1|u{$pֆ 6J!mq}|srI$" 47Ƣ3wilKZ0/<<< hZiИpG{VTD3 %ݜupf +{҇ (lU͓\q3S0x`@L:ȭK cOϐwC4 |%  b%F?^-hDr}u=ÄU5᧩K5dఄ!KiO"k8bRv*(nFP*F%r/: b*Ȉ&`J{U;4)C`!A IF 6)ĝWGM4~׼]DhR쟨';7;љ+k"?wD~fa?m1#,Hf7I\f/vC}{5 Y("H A@ĝh.oA?N 1JiijP:z@YCh]!h(i: ( YA?$_ν/m9p:K onޫHobB9cyr9VG C U$ L1dwf Q,r1L8jCOr IƒAt7m÷ٲi{"z潐tCsۥ1uO@ܒo#l(;PYL}pgDUf;xbhJjCYljUmنw Pg+0E@ C7b"f krDQR7.7E J2Q R!22I=aWT|>~T|뷣/7ԍ~ɖyX<9@`bbL_UPNCA-ȤS,5D+O6YƵOԤY7]\aeh=MBwhi]c`^@'3@WR$HWUl$'0p9m;Q bzDd `dB&Q^XQ BP"UXQH6B&=1G#w.]׿wAfL&c: Y$b[QZV;$ !Vo2-"!$qt&aO;0Tϫ&a )qme? vȑxlow87bc}NEVRa` QBAM$_/0(hKkٶڷ࣯9ùGٹFQQón&"UC;(:p_XF/a״mdMFϋfcf [ZOm ܀u=׻~>~7 2)]͐ԅV)<2Ro{{G=zfvSŽ(g\S &?ﯵ;91s*mLC@x*&tB+|cU~ʥpҿ2'R&ueG$ UHOÆ7?* 9KwZ|֔-NH$;cLz) @l@?OVL5ݛ)QV0ȂRkޘ0Efѐ7w6W 9FX`#DO"Ӥ`XNt4.QD Q!' i7M:(G^?дbGRIfbcz&ܳxQB"ш^։~>h: 9sI+vxC} ha Gmۄ\hg$M8L ЍI|/ PL-ma9՝/M̓wvMa4a(iJЗ;0cz|1E9CFJ'= Bh[v|EQQ !&R5\f9koGςrC?l}qb޹K& Wf;6LTLr;rͥh(6򣌫@23I)U ]9936pF 1AvJ}HPRGJkY:קqd7 D$3g1 əKTUi+]*r&+rrrRY|Ipqj1C3G Z)4qHxKHId,%=f鎌|Dm.^kf!L4sFnlV܁#~9{<^ =:qllx/~ldy,@6!Î3wLJgmIo:k՞M(\1^3Ƕya|&tڅ9`ܐP]\Npl)cR1o" ,ɍF/kR+/-ϙq'uc, Lf';-Z{;'Lem˝TVƅr+ 퐅쳰r(Op6f68brzqj rAd̄b-y%LAw /90`~0>ɪE n F  A,7dLjMYP%Yȟgw:ߥ?9ԭ[/1T7u];ߑt6|wfgՕ$Mj&IsmP PYAd%uQ"@U?4"XP tld;tS܋,_,Opn 0EB} 8c$<2 gA/1< j@%Mt TQ/l9OEP(J < Em!>\Q;Bx}`!(*1%8@B$*)>㟪g4}= zt q]Bh1D< e"0`%:*LT).?r>>ܯ;ɂH6 lX% I B,$PA@D23D @ Q11$J2 ( 'ɕ:Ae ; ĉ:Cg)/[fN$v.qi+7`;[ Q$'nF#'ԁqPc| _=$}Ld1$*7lqchy&65T| )e)=:atL8!4N&Ƹ#Wy9k < >AЇˣqxZ񁳔HGs4 01@zI;Wݩl馤#E_ $5(wvxRĉN7opsh ||׃=.|cˆJ@*tpsG '~Al?ArZ#͎N't.BSJHO/$>c߇\8++YnW 0?7*I@M}tHQP8S0 $C"zCsWJ ҁΠ_ tfN9R-6SmF#Ots(²J"=Idtp AB`!6U4 B)؈H`]6,7xIxHa” /, &'kQdF@WC@~@: x $S *5s .A/?BIнLս(ʉ"{̜q=F4p?/]Z֍0RE!Rp[?P;Ï#$.J D DLr4!({*|~T:+voA( * *g2:(1AXX4u͟*鄈;@ݠK.sOr0Lf[ƌB peCR!CH `f[B/4&ӬG`6' !Q*քC$ J*OA VGB!D ܪtXTX P4(&ϸ1ηUvt&A𙰕@:GM@S!ޗ BD@HR!B!X `!V@dX pL4(bJ) ;0̑KY `hUUT(>YW* A|09wm {{I!Htm>|i֠a]z aGG#N L spr*;xo| ) $)'Hd(%q|E89!Qt"A+-Ҝ WA !WaSd;^,Z^ ;W&0Ld}]N`z(|zP9*<37T:A 8^dBA{|ZwMQP ȋ<#LG\a&(V?7mhn5?p4. dKDR-i-*<}.z'̻_7+R@-%maG[虒@U8âG>CQiDQy' l産6 P6d!9A\I5PIB@łK1i Y%VY r7RH0!CHh@썳Ts8ܽRx5Dm^{'!1 UDT4_V I ݌mSCEQ4 QLLT@{` ҲjBɰ iO@TQ(RY$ .+d %*.}f2$"}Ԛ\}`8ݧwT)GUO$4=@/ICJlf\M"l(! t7+> \8(p^a{8"]y:wuS_yc31=8yC J!$(x\C!Bn.иmD3赲i^;Gq4٢DBaNA%! X^ЫKxA:{>DSGB!my({bHBV!CX!xQ$ >DKB6V q &*1H e9v ut8=jqt<p^d@7s8vJtkz;=Θ\{(ѻ>]!: z`O8(.!ҡCĉ/_쯓Dm<#;{Q_$X؈Gۊn3qE?0k@>R|ME{n"S 1L-0i QqNA"BSo;pHDYһM[!洞{ɃP@D((T`dGɈ$GSDiA{ WyG т`y#xZ(bCwGx胉@:U15 1S$JKCG{{u]u]uOc\{XdoYu2L¶f\̹byn^S~ qN85j=/,ibjŅNuģg5:dΌVl# HF,b,b,br(T;і)q㻸|ǰ  y/c/nc<{ug @BdoN!8̓3.333.g{un#{|/;2{wtSnݛ (d]svỸdQUUTizۡGBUS*HsyIn$3Q9B{7:Xu^:mO~jD*eNT`&ffId(n&I0 1㹉fXL—5䨟f $˧&' ގl<ƞ!"C)Kzf4'^=N53K'U3$>jTCփ &4"D'72#,"(NrP3G ."h- NnɅ ax ͥ[([m~DK?<4fY>\÷E;O aJ1k:GR:QL\Y>|t|zDTS7wN:5c|F#A'q cɠTS3֚65PӶ3\scf9Nǧ `~sOR(8B I_;c]%뭝!5<[mK)ek"bq˙okNҟB,u6ُM9);I07F DVA N*M&ܴLAlZ9Mz?/)dzZg$̔y1g!dn$&J4A[wv$Q Eo~wzȻJFl+QF(ǑG6CP:wQDǁ{Ɯژ(O0 Bl8] bQ4%|&oe: 6(.fEJ Ml,-;v.8<1$|h@qPU &Jbl^xR3.8hA{o{ۚ[:YHJ XC@6T.0%`)w{$GMd2/Bn4u(;T(h5ȕ (a{'z)'* [0 @N8mjkqђ"d_aod)1a&6\4DKqNYp@p&? Zѐ%3%p,Kcc^2672 u=~P<?Xi@(&d!$IaGü " 2ZDӊkxHz B̏[$ +'SiE> v7C;ՆJ{38D>B <¬;&&_!o(RD`'=#^C5ͱ{Fמ3OS=IEawwsÆ ; ttvB 2MOŧOY= yJEṫ !D% AJPХQI9$YP)(J( %($DP 9 @hbiPdHWD(B+:ҝ҇ [*bs) Cdq"Q8W@ttiP!M"|UI Q̀))P9z/JEhthܾ>D=NXQQaM2ճXNDTETXl94\UZ֥ilTXSh wvVM*",޴sՑ{ /_3D_H HMɹ4/Hȼ@=}C =gL%́"k!UChWNt. 1(*O.D?M+CP# u膆V-YRB'zJXȔ(u҆Sp;DeS{O,L /Dt$DUbkn^,+O'}83*yF ה !LP `C!p@&CP,4AR 0t Y*g=6l+⯐/`QAMP=UPCG (A ?/IHPy#WR IsllHY& ) ?h J.I-BP(h;ǎ$O>l%*LփE5`ɤc:]A&= Q?K6 !!  <tOHDNqTT+ AzA/Cm #:آ ޭ=Bx4*{zTe ~PS s(:TN%B}sԎSi05   HzTE)2$@}>e2J=h/b=x^\7"jlXoʈ UHc_5#ZȎ.Px9S`TC>b()`!%I X=ABv HH%ICe(Po~H|/s12Aԡ8&s!ӷ  DԌBsᐚ+>Eߺ>xeS8ޙ8D"Q5L`U䉸0|UJC$NF^B0LI'<|2`i.gŽSި."@aGG@H+`+$AXcUPU0 Tc<,/'pe%`gx1C6=a * 6ݨnLTَaRi7I !'l o?z.:}%7g^huRH=p/I"C6DCUǟ b27tEHMi aˁD.6Âs'w ^Å^J;hw{`u P25FMd`   JN+ǁ:"ψDAH[Žz vy92bp!2ϙ`Hs~@y=Ҡp*J *(!7r|P҈n|onY@,:b']$<丆 B=#5% G=Nش .ns'-y/.t*v&Bt t;y'`pA<}EOoM~lb#;C_`D0 TPlf֊X?ō/A%P4EzAT° :fmfӥJHB` 1ZC$0"$( _'_p='P}L1@|:uA_(@ I^4 $?hůjnzDL=@CF <zp#)^M@c#H! 8Xgw0m=@% zɂ $?" L"Eu{Jz1r@ >bj 0`4@KO4??96Cq8>xoy߈:ӴI_5qB_Ӝ: ߔ~>#o£FÐUWë>i'sogfY~sةSn_7uQQ=D@@wt8rA9y|/Ax 8~=GOKnGGzC>>S?oA_!efè<>\?>/};Wn_7?3}4]=_W_}_ǿͿ|?/˥r\k|D^U7>G z_;{/ג_sO|~?޿s<[2Lwh~G"A f|:~~uX p\HrrF]A~C=#S~FHYt2_i$AQy?)o?v{<{oD-ԟOa|'_/#+c{Oc`(X4 >S}G:vK%>6:N2=t< q$K3.xN}'ؗ?Y0{Qc M@|C09A#:1$To,@f& Xa4.)sq|n1(O'-.˓郂48)SG^sׇJo>cl|r,"N뉠eO|eRb9Dr}Enk A35Wװ=BKU@GnQ9 '2H}{@Ie$ Bi(bTF$J%ӼDnxgȿ,I+컸Qni`7 m)] Q^zeD~jYOpUZֵE*~8r/T9>e83h=ඃlӞg<w}{x2&)ifߠ09M;;f 9 `=5⠞,z) ;{@u$d~P<;-B5kF;>06aS{|<$  Dt՛,6|^"u[*(,:غJ{/P)ֈ'Ry?98Qv @R3x6 1L݉“,hTW^z=8c{zmi&Ky&Ų߆cӐffaEUKt~=&:NXaa`|jDMl#1s#SUTCph5(+j [}@&"!b4 *J:x)L PE_SP ))h爙 T ^(;q] C^V1$Ha*"aě01QNuk 4hֳ3Z89V,"ʛy7;Yy~㋽_==-ֺ1=@;И:eLVt\#}i!ٷ{!=0M*TGvtqƷ}"/#rG0T ]ʉƭWIl?[⪪S&bF0ȣmzsm_yJHB=<.{s if ChN9 )HH$ʚ=#vl]/v4uue Vv0?C3Bg'.I;laHRքP)?TELQW 7D2c_$g hG8 `@P2=CJ4Ci  b}OjSdM%耈)(ĈO͠M%1@_^:YQeQȏ!ΤaDQI9eɠ4DL'ٛ  CrTeA%}AJya.'p'w|ŘY@͜A#J[[w "$ 1Dd!>8 )D*,LA˄0BkQ5;mA KڜmlQ10c-)ZJT?1vB O׿ֻ;&LLTW)<>CGG!0|CM*)Q7L,2zܘa ;wC;s$ Cף&)`~pd*3USQE&"5GaclF*=\n3yg8~))y*h`$"H*Ҟ9U({t[1JDTM4SUƠgɺyKaϥ:kKb^S*DA T1!2l%."d쨖2R7v>pb0TD& [q l`c`[%W j$9FDdDӦw"3#'ZEq5prfbD1+DTTnh7cd32 088bTYP%QU&b xI RQeFOj|Q'Xw9;t*yGR:qVV@22hQ(Rq&Nq D4R*%XNʼn oQ'{bpPOs= |aB&"K#BRThSH)*C8!@bV #U4~3\3 2%+@20P$@'mSJ!x `haz8t"W* wcaW$Y TUadaۢܤÉqI.:mb _"6IB? é)߆DvkX7mxM ;~D.|^rAA,&t&8yXNO[8 Nfo'l:3N\6V(9Wt֌P!H8,މ'Ҡ{;`q,?F~_ka}aFoE@ȆBөQCN7z9k˹AZ֥^+'YGx&9E j\#eIiB(*LTp5'Am'H(''Z?f8a*!m)HjvzdXf(㪟7^.ӹ;vחQv>jO_~ -2g],`mS\d|:YݙF"uKl/ 1a,Gխ+=ߞʲ eI"i)1 芶yh/~| V5D aB#:41b__</VPTJ("(^VYPQSE~y۱OŊAG:s[o|L@zg `<:0I"x) 2 y 6=5*Ĵ!s~l$#o-0=-.B#= `YfpA`ЉCGH|I͘l9ڗȤCYlAdrX9r~ϠA":VJIʯ9`/I9_]t(W"Ē "cpQhAi٤ )D @vD qaC'3فL<_ⲢIK}4Q<=u8`F I@"TPq;&e nO).Ҕ%nhɊSޅC >5>;$卓d/G='o=q+LEF46?q#:pw;$;h-!WJ'岁:~OA)(*&d9Td(A_RA6QAK䛴`D<:Jhv/絝{ ]hhB7_< F:Kxc,tKK, T29e{C}S4z2rѨp` ^<63r#86q d2J^|ݰ cy[84?OTQ{ PRi$fю]0DDDDarDq$Oۜ: " E!@ 3 XS8C%1c&!ϦS#{ٽ@BTb'd!MgoRl(A4A牗i~:oWD-⁰9HS`UyQM*YjU:Iҟ#'0:N~o$TQɛ0$ xeJ4f'+L8Mg0"*+'"<'9'4 V*J =3:p _J2-21%7Mo2 Н>as4k6ODtqqq {ޣ$ Gz9zN=sS!~H;C=tzDBLw.aLPB $rJ;}p; <4zD>FA]0! oC0*D?,(O7~q2ĆOxX =#, %%Ms8S:\dG<F%q-; #T}krJsNA Kǯ ?P;UyEƠ#j1v "T菑G2+>8̐A1v\zP@Hd!eéO$9 Th&jQ"PJV@88U8>'$fM9(=M0 !u |L"lw9{[ yؒ Mu`%L@Hb"L$QUUA1QUD0D%$4QDI頻2/q4楐".Ddcf":6HD@ܸ|Y)FF$"Z!ZRHXn " JZ$**@6;% C$Sy(mN? "@"ol)HH{;x{-CjT"a9 4L$-,@[:hRl# _NcpW@Tԣ氲0&&*"P(!STqܸe4.VZYee )($e"BjO$N1(h=ȭ*=hT3Eie5uP;5)@D4H!Jc}ͮӆEӝ)bhI=HpBk ѳT/APJ?3EhYw|+͚~wvpԚ9꽮ч:~$[NeqbR Bw08o$)bk߼u~UW\0,"i Hd$iN2idDx՗8rDl%㴑 -d)gU<׫䬬;"he`1gG((M!!9..tPOʴIz;}r c(nU=׷|1/J2Q!ن[Z:;n2$N)ֲJD8AM"<,؊p0i !QKh`"ѣ; 'iGz&zΠ؍XU>)_I'5}8"D_'7THt y U5v7AB|h!C;$8};f g XBkyw^\Ə A.Bq:O/*pX@MCK:0.*`|>!7;8aL3pF:_>e LSHD.G/vx!B%R"%<4@?M$BrZ $yI'O^AؗμN<@4x)`/떕 @}{w< 2LF!q*@CG46Ѡ HSHbb@2 )&G2Bx9V#8N=*a" WBU`>CW ~iLzƇ|Sw ^%AT4O>u-M8 el["/:Qd9WČ+X҃E$(ݔ4%L( 6ԛz_-pV}A'{iݱL x 顰5 39`@H9zFц3ntlB6)+MNVQx vȵ-9;7.Mh.+M.J$ 1PE)'1"bwp7nk q|cֿ?Պeک%;I!B~Iu<;]Zju\f.3m"*:!OA,WiXOxҙl-;!2 @Us㄃kFSD!TD[!6*? X5&"ZA2a@HTȭǩbx,Aα%w*CVA q eN $N2pn=f@@$H)??簔L نOE!"!!p"!b&)@( ~ z0 Ȱ;{pƦ&,Ar*B>@8H/7g|;a0aDb\N}~jyc wZ֍bf%z!xX??pTqL=&27n7i=g9Qwѩ "C(T {Dϴ/M23ҿ1%w2R"ei([>hZTU@@7NBJJ ) hj(J(;> AQUUREIIE QHDULUR2DE)TU UURD 1MoPnPc5Q2UTDLEI 10SUQLECD&gO"qa8,:m?$d!'$fI%4bZ%:dD-PDJ3P)@!AE H1ɢ:AUQr) ;9*=ǝyP:4 I΋l݇O:13kU˱gP +|CΑLˢLM*eXzWO3Q;!wҒ:M("qB`Ytg~NY?o pNJ*^'* H&jF pa|Ģ}MH$@킁6} Ba=R4'7JMQFqj\IDe}StcR0n l6p:u4hSS8-h8zv2=Qa_O0x{-y{pZI䘩*J)'Gfzv4fآ;AzGO'1cA90cǎZ#'z@IA3 0*{+wGf>{>=tBM { S/zL!b-턾 04x>g (;"4oS H0#$yB R4Tfݥ G/@'Ǘ(Ƌ*0>$n|Sv<|Szqx=D/zz޷>*!J뻂+0\}`_aSTT9ҍLcT86hC 42*e4 {DWkӘbD(\jڸj;uk'AĿ0m`'W}z@D $yܔKUĸ3CT2x#=:Fj`.@q`!tX#00[&K;~=7 cųte%y%!6pp @FC!&_G:{d9p'FU2bW>=`*qb-oe;,ί2i(f JhXZ"ZH(em(Lܑw r!4C:J"C@&Sf!!H*()P6D3LAm4CbZ`N%=@̝`}YNBL L0J'Fp@o0=EE ! ?|)aN2-tw@zd,Bt}s:ao"Q#ZCE+R4)TLN iX!@a%X&bE  2"&̂i4 @ć*aB%'YCrjm v)bW8YH2CF3d#N>(S꒞;hMP3@s18D!n^+eP0A{wzh4 $A, 'ˣX%%⨜H[̫< "]hNtA'_fe^qvNľӢ a۔釚S RKn Ô#n]wm;ê' )b)*7Ѡ)::i`5S D@[)8điaJTb:NlCdq\ ,S:/!/a)M|qI0)"zdM|X|Wx`J@s ?.BWGuQ뫮h76Lpl)Lhh4(im>V#'VZ3 QpBIRcC&N|FgϧID LR~T%a)V0%$ @ۈP9^od~f.SHxJJ@GRpCw7H_hʛ6v_q1RD$$22ePwOGY&J }j(O̚|È)RZ J U&htACJfD4 Bp`FfH={Kс; c|:t KyR1\ IgO !W\׆К^Yo1 $!3( .  B BZbB>w_L1)$_W`{i>w $IYoK ? ~ꘪ+򅮎JHG>uֵck5F] {#d3՘[dU=5:$p}(ׁ3Cx!ԟ#&RA]LÙ/UO8|KyPqۘp c7 ihlHojXn νAö=K7!Z'](^ֻ<'rct#(ClkI,U%YNc"5D|ԕ%D5L5״5i D`,K0H^HY˟.AHK9|ɕv0)"Ǩv#}'}W0k$#7N$:D[g@ɛW@sa jMn7 &X3U2PTĞd4gO \ѐB$,aKlJb)^ $UM\Ǝ)gmxha}r$D1˔pXdȉbau:eSW \*=FpĘÁزE1._-V74B w5.5kʋ5 s#*tlHGt}?0!st|Uۦ,pzܮض2v,kUP^| &$t?,$Iw&Lx\ |A':g6BfEz]5W g$D') hQ7g6cRp0aYg %t!$zcCihLC4\8)mSKN{;ZsPE|нbΔ ׯ!)%ie ς6~́J%1qBa^W3yGỴ}ϧ"Y`4 ]pii  k0r94z FCK.7"orG>pJhƌ+J^  6ҦTF}d q>$T^Dvky׀ZA{|u/̅d3p#9 Ն" m|i*m6đDw8+Pf&z!@ߋد;OsFFm  `J5#5^1#^$|3 6q? ~YЁ%%uSem")hCmw.NjָNڠߘ'T|#̢Fp|+z <@M*M,:=nb^!5I>:C5%|xHt#fߤ^W]&39 ™]^ a$\;D.Ȩ);B51(J޴OGHF(rULI`6kݎl$ 3$O`3+hB'Q."3'jޞE]1kͩ snj랶L|pO5$!O띣Z䞙" ԭT~gMx $fI=i!-RF-kwWVݜgp pDy\Bh3γ'Td$d6 F4ޫ52|n$spƩlC]0d[7&m-s%Ƿ4AZJ8Z:cE(6Զn8i-L!@>NGI'" r30xz(*HI>aC9a6cB=bAH&$&]}`^|`6M>F^^M']5a#Jh> 90,p{i m 6$BMe{L;kVl`mXu֟$Pv>tO-L*RJc2kR:R$٤2,m2Tx:5[ U?Ԛ IBFTS12SRc'R1z>'hU#-GZ֕+RA 8(;ˑJNZ㨮,=&n{~vaƤHpRiH&PB66p0Ldn2qȼfgtTxb^t(ݗ٬0aNGSZo sh,gC@B[᎐GXIa&µSK}NxPؤp 29T!y$ c|\1\$Bi L b PCSul7s Z=iA#n{uH}1 qY dzoѢW3~oI尤Hbc+_)@燂S(H^9:+I/}A͂ j`!=4*]H&'CeAfG \yN8 K?R&$GQs7!D<3B4̩]whݬ6zQ;#0LS)DFqRQ E!cCiX+Hl}&g1 wz]CQǞ{h{wβ4[' ݽ0 uQ\h5L \[ZѾ<7ic/OY{@=zeT&H$Y#%dymDa( *f23>_^5GA}ρbv0w*ZH 0 ٱAw E%&$#RK!E *yoaL)0A$C W…]>u&rgXvAgU>Q({aS(!Ak7Rg@ˬ'u{ %׈FIfa5ԋcB&AR@KϽr\{ʺ>zcX=L+憙kWdDhDlTǶE҇'hɪE0I ߐޠ(I|ogrDq&rdT$'XB%;^H7zxJ*j䆕ʹ(}44L6ƒd }z$D>u:||/H-)9dDw\t#j:U~c;,7'2,=;|-B+Vλ-8RM m^5&(+QGID OzF:)nQ]p{kw"۶000gd iup~ `27ed؝:R*unqƌw0PY.Pi2I ^fO mۅni !=@b L0p Zfmpa-`&@\ o@@A {߆KrURRRA;+ꒅ-ȥ4dd2:D(D@f;F2V>UOG3Q&]Pbe p %%Aogޝq砮6++Į4v|Hu(,@KѤ:Ԝ贅gUލjӲi FWLIbeRCP#/]w:7<*;[7"ڃɴ'i0\?Gt:V6O\YG;nX"q mַVKH`QaUjݴp`k0jG%*Q Ce1) G5"~"Y #^tk<{(`d:  'ld<Þ4 A⁾R\=1)`T/@i p :$ ∯bL40 R<T<AG`4#ߧ^cEX&!ʁ޶f3`:.v,l)h(T13 9Z]1!#$YZ. X@i6û N,XhH KA~qLJuE"P۸h5 %M!JD'Rq/.McqZH=!JbN0:Q62 (@QE;SП1 %EO CcX@GxtT$mqɓAA;QCAo4|'l^h`*w^HΠjT<H3u,KY1"Rl>@z +ˁhwxHm6 IL*$@r@FH`c$d/2$HP@ll HLJJ?=BWpD`eB J!TQ)h; h7T:pD6z! "5āSP"hA Z\F}+?:r &  rNӸCe%(fZF y &deO*̒Y ٠Y @C!oA5$l2erP)V! ,{H:eoS,o6jwz=${8 $R7s% Q!us/dZ9 '0%#qsS$zu_?^p>?Eet(pgң*D "L;~Gj^ \fܣʡ0^7 H&r zQe  *C!$lJ "Y9(Q2wpDJ!v?\@&tN`uvNHAHWi])W|>3`KY2E4F{룤73! ozJH.:ũXHHe7'āI) c!@')D P ?2r: gd?>/7dtnA @RIvJDaO{?`'ȏAA~<9{N0 ҈y61fҐ)S " j6$& ($!%ݔ D%Bi`$ lqɇcc q"ޱT+:=5YmrGOB( E?r@:%Oǧ$vw@47j+$\H@z-^N>2 D!B@;/eAdRf<*8zբ|fm[Ũ%yIPSW <li>n3#\'Zɂik@y3行Q S䣇ޫgkbLl!zJ,iijǔKVDi 1HdS*cW{П;}? LxP>`  jXYJQ%%bFH*e|&aD=|DҌ `tyL7;`c^{[&7z`p5(P@ %+("A#.DS=NYwKr/1Mm cA z&׹(}1 4툙Iwbs-[Qb!J$J9D@tPRĐP,'?mJ?(9"/ |$@Az"> 0Hd&B 'D*>H T֛HcOc#`7{[ a$ǠL7!C"PGxDȍcdp@5tQ YVo8nqdR ( ,(* v" NPa1J,|QQF-Y:›uir) R.%xt j`5Ui8faY_G9ȘBh$$Y"H )@AR?셜`< Ǒ ;*> pO ז I}`N#(y8Βv "s5C(GTOoWΜTM/꣹2Y#`ֈNOXŸL$~0SSpU0*[]2 ]!kЈ/%:T{hh (Z>]T!{P”5]G@WkL~fWyMbܢ)my8JWM?7ᳮ/Yx}\`&<{C`AO~2Ih ~3}#ap:F P!^ɒL<2*,S7B0$ 7[՟B,/\D%G!?(#Ӂ͐BL_!Cx~ 3Q&SCvATa)G91hee(0ŃBvd(d-DR낆=(@C AUŊS(59hR)JrPLJU  xȨ")U4q{G`9Qp}`T11[9/7@柍n-pG:lCr4` L%@ܠ+J+zmVf٘B8">O vN>V9IPv.vzJw7HtdNA\Dv{Yb*, &8D:[4sDcl[bJb84[ w#HC7V`HNt-l6 Clg' 1nr#ֺnkEQ& l4)Ĩ0DTM."QNQ4Bc౓ZtNa$!`eÏ 4%CƒF$ ZnƓ\JjMHXdA"b((I`P, 4%I `=cd;/OO PO7TRRRXJ}!^ ETbhQT6_dԔ)F9 )B#Oa".iUv+PODɼ%8@lIdl`tLhѨt( ) f!$)* *%iFFi H()JPXHIZ" 6>hCV1w{KI|?U{FzKw8OkA (y*  "ueahզ'nQbP"@=Ӓϋנ>Ӹxi`?+i4>bBox 8uqLG{;E|+@ & 㛼o;^IÒ&9z~x21aS9|ݸ9I&%NG Y @ byӒuILN!ȻH." r+EG#Ϯ{['!MTz 7;ֶAm 6 9ҎA" +'G$Aiz2 ?)܀.9@0k&b$ͩwZ~5ecg >Q#}aп%0@=˂ӼmQ<@I _$(##BMyuh8xt]+Dgؒ%@E(%9g?:ұa$۾zl$D:hx#ww ˱@=gA}xf>(,!y0v(nx& a82x$KHU@WxEct.](W. AkЧ)X]~0n0 }vS:z##OL>-ê?\ԕf1HJ)KE?DApBcD4ݔ3rFfLCwv.,PPQD5t]`\Py2 CD1oJ$(ˊW\|ŌF&bŠ++jGRF QQdի&BRUz2ۭkpI: P(.)d,n8dPa1{t1)CN Xo~wxz '䠘!Q ЦIHȡOLq=^n%;tm!H߉AA+RMDwa;cB[ޭݟND|Z eA$teÙ 7,IƝAEDF,h3G>kQJ$(N^ IU%8Zl>H|PKY1>W| jz87-#M@SSXhCHz%0˾ôHW4dEc_X a7"6X=A$xђev8 !ԣ@ߠ_Ԟz A|i߻M`\c!(+M\WhO'>P39y袿l| caqy w>:! Q4'}%e66}٧k~<'b83Gj»4IVWMV3 NxQOpfͨt9p0&eShOgAډpΥs&{e@:AQ$K3 7^ϑؚٲn34T"@ ٟ_4{aY9EeJ$cINMzԪ@~{68P3Yy6: 81 H6)IBF0PEXrhl_= @'B'b!EyU@H{UzT6%e>B^G`-Iġ^.L` D6(ݯ2jGNR 8uaCCZhM2;yE z;rA@[10)V!B)XUS5 @: Ax.bBL-DC+2E,P18B1 ,I)@+a)AlձyL`Gʇ# BP}9bLb+A hێ)$</ќu&>P.C08;bۂz /rH6|LAk&H2b 4ԞBtn0|0gOJ0dջǷ@p2,!%BC0\AQ&ENv"ZI>LF[I!(C xQD}|ќDņQd̶daQ1pA~>bD`IB4R&$6"*v"3Ǥ8('|(@@)D@TEm p0XI*G'|<sP̛c!fK^l$CިFM1ێ-nB?著"S xwd;۹Q 6IN6 @`Mg87"R8iA=U8#Ð9nR֝`& ̳,t ǜ:qQU)ﳴSb|dK0!rNE?A I%LP !JI /4|QIF`9EqqWP@'=rԣ0ƻFup !~#9NOpp  4xD/Eя2 7FIߟ6FI'g/1$F:(I~Nx;T Eu 01)L"|@n $>JW@zcAJtoV1s51 0M#DD4Ĕ(D4(PM@8Wd;H.|2FtU2+c0J<8H .2SBj '`S ސn!9yҾ@ڈCK‚)yE6ܱw].|Qd@)M(0AEDPR)HeJQ hGvz;CJh]Bi0r<ٺ fHehy}F0zZv|ػj\dJ=0'blrr̎=lGSN0s|~̌^0HQ  <`DN 9Q4? y'ZSMe!(4!&YBC'qp,2+d6vY7\ px&dYU\B=)@vtNhjH?-pqf4kfDP ޟ̜ptpqMw Z`"5XmDٱ<~"dT̄v2q.f|i)EiNXP!CHCxd EFA{?N>?wZAeXAۻp:v?4!zIL5mZ1M9] H97ǐ'@DnPS 9Wҩ9O26@0L Ȥ f'8&߻ȌrC~ק;7m2NQQqQr[trٝJ`?zY!d,uu$X>0xGz1 PQ {B#K&':ǀدY "c(w\h "Y RCQ}||߾pXn?hs(lA@]c k?#y)*a݇=  #ip0H(!`a'C59C1)`COܐlȵVa.?Y{ rG pOR&"ߪ" _Vvy rRZ}\6cn"IC !@CD;" !t c+KhqJ4-*[--:ˆڴq`==O+wFDJڲHD܃pr ѐ?j h@Hr#9hVJP@Q bPe€e,ށW46 1?Ʉ(\e2&nڄ@8Rb0S.xk;hmq1'Ȣ 0xW`ٍ:pa.l;LRpL G ā0"&*<Ac0'Acҩ|q] ^Ev8 w!yXӓICAA@lJ!  PK1BxKht)^F&;!!ix y=鼀̩NCn@ٲ#P8ax)]Iwk棱u&v8 h,Xx3}tbI" >OO{u|/Gd9I;c_8qGxr8O'uCHpldQÅPuΆ7" P2:P ;pa ۜx-qpI)CQ-vhc{Gwrn}t蠥hC'K!nҁ1!]*gʥeɀb\d!oT#47v[Mfb2moF{;}/y: |yN dW]b.PViׁ^kn:BZBZnuY/}9tcEyhzlj= iA@"(ՔA/àvR71_6|8 V%P鞀px9oi0 u (( b"(Id*|\HQs!"`1*%(ظFJD"`bWA|n؈(c$vew&RK#fɥ">^ށ8fޛG'psaG_W1a>Ǚ"bD0`)n^}ؽ {{Mk ̕c-v8mzkL?oHnW vaDJtT#7.hSGPppj4+:$@OH0-xcRQadN"ALa!>@e@!C:CJ l,8Hcjkk[M7J!>d4Eh(j6 <wsP c%a9DDRKP Q}"9(?mYk10A B4 K;awx -&Q 8M4'e<8=\p *$N^Fi+D(r *$o:[ q7''204m1xGݕSQ UAQ,WpB,! =-DOK:GH~q(kTB\<!Bf@SQ}*9+DCRP(R!B ʒC& IQtkYpU. ‡vl(-2`J8a#AqKU!A" fn#$")!3bU/x x(%}d} azR<Ђ/aD|U@5@  <O| &b"\~uI \ )P?c1*jDL!gl!f"V& &hYK۸fnh A! M&G/>]ƅt4JBG w)4W@/̣# kL'<`āAD ]$H-&]Ň7n@p='PC%D8)vJ"DJ49"IK+ňrIs4*D.8O$eM2̜E0 HSaKnݵZ|yah ,PXX X$8xZE#I$LR4*$CDQ%D@!Hpl ҕETK"'@ *sL(`JLlƤA0̉Dɠ%)b!F"*DyhR 4-sl@ԩIvW>kJ' qI)JdxMt騅;.]xs]-Ռi@N@Tv'&cۡ0ޞ4Î|858^:8s IK .w%-!dЇnp4boiG0\9)WZSH@>n*X7 D^06}A=1gxĚGp~-z9ק;k E&CI  "]J;?g#g˲@ea8#/A<`PfA%dFO һH*`x+2Ȅ(vT   &a6i $@4a ? O%\!AUgD)- QƲXI"`" xHj;K#6H" "BI(t@+$LmA`Z(& DӠA$ɶ99$"!"$R@,DԄmnz7S!}ˊ#*LzHהz!RRTZ)]̸P$@00I=Db ;{P>NXA `!% JTFX %h Ie@"BA8u>A(48DA'h K -|YDM}Ν2>z4㇣+Lְd y1A ~?wjΎ>r=r$W1=z(?cNJzsxtoT (HHP)7QDI1( "D)g bIIQ+0v0V*uIFtrҩɈ.dZB+F ht 2"2 Һ% NϘWZ (s vuiJX @\ #49uռO 8<᏿<jBlOzv$%}ϡP\` iD!7.CVP{`  #O:u_0 ](\܏t;Y(\P*Aa ]~ mɡ>T:,rO ( o;¿G#3 Cb'W0"|0=;hÃ*$"=ab+S:>G>[8O)7PI . ?|ސ\#?HhSnK&>1aX {ol;\zy>,۬5:,3ԼPTӚa݉^PvnL]΢$)@(l] 8k:5Hgam Pġ !!O{e;t \=)DJAVDVL)<J|?<)I&O9%w(pTyU= yY)\9,ZNF/:F7E:i]/Q(~Y цxM #.KFjɽG|:yGBPʄ@xNJt@-$25B"`P,,"s.b N )42DL3UJ4C4 sp+ONJr{o' ~ܜ⽸8X"4B6á!Hd{!`Tg q+E_QԶ]@G|S(=On?/i]P8T(vФ(6Ns\± ko!"9Bs:L!P@E5U)z^B) !m }\OJ`D lD4Fe$< zf;t0RHM_:">Ǹ9_"c:%xƩWhp!a"32H[.ށO͆ݨrGȟ 5Tp>2mˊjż08G=yk#ۤZpb`5H"~FX 9RN.i\XBHԹ=$q d̫d@n*1ѦfDQ١'*vlCLG!#ܢ T l`DZ0s#/>7<`N 'K_,e9f #0{|p9txwcE)1 3AS!I D!P'L #J*̪P"'Ξ1d.cB  )P}Y-BJĤ~9@0w(t$I5!H1ے"7o% &4#$üCɌ0>IHE"q`SGBo{hB,ԝ,vHI'uݞ⍿SC O9OIh}T0 F@|v<Ȉ?oWc͇ѣJ?{RD[|լPR>_'0`jf"%be $hF2gIabB^+Y7a<#:AD#3CD`0 +}NZ/Xn?E&߭Sx(6@Ctz$Y@ZbUlwsnOuuqGS8OA3 5R*P%% $WG%x!%o;٪u]8*;Dpg ;&Bl̆YB($4LHEDFƤёh U"$i 0,H0BqR F- iAHB&hAK<J|׆80Gqb(IX( t`S1C{=4(S*Uh4!@bR!+ϗ!64i-)4#EST  R1-LTPV%QL@B!ئ!fwȸ9@t@JaRi&Hohm,1Hs*Oap >K"@B"j&'{V NaBPBdh"(QX̧R{_* !`R $>>Idd+M T}M!#"Ch`h 0a8FCLc)= ȅzBhd8BV!3$L D!!LJBO1Oa|27HkBw8h0h @W8/0Wcd "8AL{b% #>i52CĒVa3!!(BR=I$b̄DFLvJ!I?8FI2&sIV91 ONJ%JHLB %}"!U|y^9|U Au$N`7]IN *@2]34"'g9B}= #|4(D. BRaB NLNÄ]'ZS5JC# JLjrF;A2NP JN1a}xSΏ|b%^Pnm*680 T3nCLVnkGJԏ"Vd&%eB$dҕ b-@o@U)2>5xZC8#q@q6qIֶ9y!L88AN8/i;RmU0ə2bnaA>Dwxi.dn HĤAjcM CJs?9LwN=NLqvC$ hiW$.C$C#Q> ^M E2Ⱦ 0cĕ7Jۀ@4l?'0Y(Ҍ'1 $=Do ƪiy'єAbbI=;'+._03T̔Fn7 =KO>? ny0&z͹ǗY?paT *$Ѡ9'bH "z 5ALE" hA)`D šc=<ΐ`%ZERQ]YA!@@"!0,c9Qi3KD!^;%ˤ:!H! ʒM=+*?ƣݥ%^ n4vz{bb<$X>x ۑ6diP >ȬOޙFD px e/XޡD};;BAY"bP>lI``!*'! d@07 O}OFf(~C@tO$((Ft;qhe P䄨P3 ҢC|zmeu?  08 Ԍ%EMs̊DTTIonA@hjB%yTA|-\p(xݸa(*28 nJWJq&JE\$KsyX3d&M#UTĨu HtaRUAHT7Oֵ#aM_m}Wzg?=89?Q;lU\\;窮 pCEFZVMH5B\]TKG}E@lcjfz+uWs0n2̇6RzQU>O[|x= ~(j~[# 43W9$ R*i=|bKqFT|BRqyCC(6W&1uJ4p8w kfçAZd4 !* -\2q$vۆ.8Q5Zh\R*tGf5>f)9ȸ42ʢ stXhgкS ZѥI$s @/A:{5']BY H TMY+4Qp T~!"HmCAˆo mn0G aB#w!Qo7rx j0h4-!i!Q` d鿟y*g^ }F0DD a +$cmevW vXN#-aKﮆ撟ɸԅݸ4xhr*dSss0PI1ӨbPG, z9&[Ă4)8u jx[_Ah{9J4qm i,3R]&p}AZ;>۞;ޛ0>8rTxS' &8>>=6{@!G'"&!>!=)<ͮcWAG{c!Φq4mU MX61·ԥH Rdj&ɹ%j xX{' @{F (->5Bt%,wùl9OR~ KЏ<\"P@i Mt/}x\RA@jz G u{tt(p}}Ncm? E51 {tJ(Ϗ+Po;kgo2ES%P D1Acetn "W\bJ㎤ OU=Nͯ%=`bi]Ǒv1=g@6\mkD2c"Im*ߘ nąS%S 7[C]!Bs#oYD9UQwU$PHLؑ|S䄎{*FKԗ*WpLJMNA e9}<6ٮ/:L(}*8"evD;KC\YۮeZS9p̀/."֎&qKC|ASLE,|7,LrQ kRGZ5)'hD ;㺝T ci y ƻIB[uydд_H^r$"j$gzcZoQ Ⳋ}8 &p܊AUӎa/2 hD]›vg{kO?}1 it8D"AEuUyA?D/ݤ|0Ў8/)潭iYqgqm:wwp`l88"ܖ,mn1?ix=&~27|AD?obӨ>7|'5C3"D*$!dG QD3!-{@볘5:<Ώ0j(:x!y׻Y8ؒlѴ ^\{ I-i`P[%Ŋ"BA.b7ֱF,iǥwqʆ7()RMǒ8Ŝ!F%* ;?5U?@- IH8J:Di !9<ª#"^4DT"$l"Hɡ8,#?Q nC`.ڊ ";*^|-<%%^ ULdsAЩ\ Іw<**לzD{.q"^-.qϻJ/K% 5tҢc2I8ژ EPdaF>CBu9A Y`Rq40==E} ,ryO[}g<\\q/x_X~J1Ҝdqџb%ׅ %s O0!<ֲũty!KMFZ ""ݜiϼOGFw}Q;WCh8 df?|C!Gsݒxx mYL)Adf.>‹q[/"@7񐓘Ld&adԌhlǧ b*/*@0@C B0 p$FEap0).ާ A}z!3_GCIS4`;!)*W FgCl4ǐ0dN=~QGt"DDSK0.p?O܆ZHnF@*wgPyp^_oR6:2nH!v;Dj OR,%BB3!b<+yH⟲M;aJ)Va*AG{@]Ċb/_}$0펁+d/vx_m&ErDW^0 ܒ,yJy!LǮܗ,;V@ 'q 2 jLff$Ҕ$AL(TEfD"Hi$a( HH@BX`?$161 ~l:JS,⥌mБހL=ICph&Z-Bttrs:4<ӍG13a=%>+S u/%E2@( @[MwvmhSaw,^IL{敯N`mExSaЭ || 'n˳MLf.wpǗZ tnGxz8ׇ6?zЊ$q '0"Nx5c`1/l7ɒaE@O_"G}dw&1!Co$BH> &MͲ2Œ6a!G?f `T: BPF#\M!8ɈHlڼs`~H+Is gߐq /^9eub<7UDnS9|yZbԐ9- n^5 Hl)a'`VE8HݫcLU.f㻺Cɨm,07ьF9H]n%_~M^yv,(.'GNOml *9Kƻ5 ?|'0tjxMwưk :nBcPLɏqݵRc.!>I ͹+%8H48J-PUR: M;$&65ڐmG ~xBTupԾEٚČeQ0RfBR\PA&Qćg0}M_]ܣ2 mpu+ByN;W< d.Mh85 G=+ G@14m rmL<#k{jk[ AaD 4&yɚdQTZ1 1T G^`2`d 3!!_3*)7*(b`E68vH[2J3|1x틞0.˘7>,^qv1F1%cEB .kW )մGV ~z&2>z}$ڍ l޷L&@kMm}>iYa4p疨$7-iLj `D~ΛC'@鄢^<9 l =sr ;Eր6dnZ(˗ё@jW]F!$^x,%$LVJeuo:8c9]瀭1 -bi6w<ğ7vO/maQ-|O)<`GRֆ&cUq|U_״x'W˹j-@h%$<Ә:fm L4 ĩRaIbIFl5`$!*a PΎT 6@:G.4,=㑛X%غ j)uχt-_5.`'_Z)8S'K:$7 !׋0{aXhM*Bga}/" ! `YvGl3q r+\Ln܎v£jO.^ Iy8H fx5NF^֧r EP *V5RNLAE0l#ahJA9O("`YH+ II1 LH 'I_@;/A' g%hN!+$2N DsĒI$DPWtI!"3'o{tHUP?\d9%&#DE8_` (bI I$"PJE;CQ! g=ܓ aRbkD; 4`WƩBu's HnFѶĪE D[* d8糷htښr7`C8s cZ5-eL&> J/ysҟS #3U-+l*I=2OT:GNh^W.ڃ;uzܰ6}*:= f"S%&<;_0{R%!^]I~")LBw8_#K5Q'ڥI," @w6RCj-*(mj%"$Cid;vɐN4!1N;j ݌]hKk0v$2N g \pu{ '? y'HI[? <(hy%;B8ҸuA3`9X'!P)E B*Hr(TEO| 4tJXJ ii~GR!B?tr@+iPZxi1*:@D@4+"D|]*4HTJS$N9"-(@4+'_ѳ, ӉBQ cu@ꨜD5 Jm^~~ͽ:r i1j~FQl:c)R<@H)C[7 te}dӞ?Al ;v(oNޡ'G6(d8t(E y).5=u4( o@]fSdI/yOL*"P8+Gt*dT( Y[etd$`4'@cFX~f@$*@bB`(`t)A"( *JI)gCT5DHh`{gl*վpv!ʘ!LCA"(*&S Srl3>^8>`Н imY HҔ^@.4ҩZC *hKJh & M @t D)H".!!&A%9> (@(U( X6 &qAtNXT=a]홸~u;;)BCZY$/7Dj5SCq9wwqS3."La&Ǚ69ҹRCQ6:Ψ&HbQhQ1* (PB1"R-BBi PI#IJ @,IJJ R B4 DCr"Jȉ+|\9ψd!ibLXn3`I((XP$DhЊ`_qo(4!fLQ=1#4@1*lRRa$;f a ίHH 0+2Hl(< *&b *! &  P-/߈c@)KjO6 C wD 0|MM=Ч=%搣>FhpbPBwUcW+!i-t=ㄅe|*a87&۪P645vp]2-fG%0+.k%JՔ1'no_poMxuH.}LQLA1@sx=xGZ"& C` L6. )!cp# R@խ%D @I7AC|; :31(Q.*)c*6$HGtģC@VI dWcqpɘxI(דBM@|hEPfBuYU"c$N ls6T @Cps (%&-I (ULA0c`b&iaGO.L= '<`},!1 ?|Q"T{?@Lq"8AUMhñXid^8@fA*]? n@b 1k9(]LI=*ր=};4s A=ȞyPR!qCR}pPAt΁ß|p=SxC 2/{cN_y`S(;2.Jz /E!3PX'/vCaT0 C/<)D(PpňL b#d%X^y7tYǦ'!#U;A ~_5zT҈cIQ| PI)ǐ?8n:Mhu AiiBppR0%AMA-$LRTC4D2Ï`&aNd/\nQ6~M_5T !Hz懄)q?cI"c,">lu Xvp- j+G ˘?HX' _S'?n6Df[Pvdg5Uv 7G}.1 d~8d0<W\Dfsf&Ɯ}*?Lz> ;A0>B^AvkX8xpCU*}nDb~p`()@%g֍"`8&KI1#ü#Z(LTAoπ俔 rJ@~-MaGL"Rh站H^|P"I(? 2PSBn$9@>Ɵp,a:M`"Qa(쇟C)MK@ KO`O2`II,p(J4L@ !J ; `:_^=yRE@?!>R ٚ _e;~oP:z%-7cK *(~P1{rS"!'67#q{ ^f#xG"rr`]$ZІ N_LvⰠ%Kb˴LgLUԙy|r9} 66_Dd1%?}cDr̐˄~Xo1$ 8CLIDLliy^Sy@k/#_ӟoQ=|%H#44,)LJ)R4:aBb*hъY$!(d$?SqHԬ1ʪoA*8ռ䇶Wp&K=)?Ab"(A 4lпpyS"t Q(d#@IJt@~4Q%uqrD`/ ~W UҞ<n$8=z@-AkۀwNTj!^'\`(6_یOGݬi'4ap7I WM [Oie~8Q*m  h"@8>ٚz%wpZ@Ěcbi?8НI=TiİHp oAL)BY ,/א@rj0>GP,J.!ފ‡Ү_`( ij(JbaJ\*ޘ+?u쯗n@W((~{ߨGR| Eb/Z=*qZ{\ g$,@i]RX.8κ;`3})#\D5,!I;; ;{y]-eZ 6PUʮ!Co n9i|"(*,X%j:jYMreEĖXj^k] ыSRToV6o! `sgGTS Trasɭ;;|3M ;u,466*\Î,8c&ECho L0n@GpԔMTi,F髍T8?)O)[TB9ƕГi>&ai1LĦb tqnr%%]ě7&-R0X0AK`3]sH HhlA3P5AUqMi +QTszM6j $ޖA W0M;Lz$̉;XC*D^1MMBHNK N%dD 3)Ԋ3d*.,]!|t+o{;ݠ$YU'q @Ҟ-q9LM6芥ĩnS$A3 {L‚(}B2,  2WPL`)'xMAj"a`1Cq,<㵉B$L׏G8*wCpJK(-9t "Tp ^!qpi^*ddɧ$d+KձLY K0rF=oZ۩&Qu^WMaJ,]A6 zy$%$X |anWQ~O1ggH9CP&G2(d ҎB9 C ( (('$p{xa4>ok1PJ@HeRG @Nͩ%:0$ e{PN󈻒U@@19Q&`Naz }`"!hWih@4 %_RD B(hM3PhMEJ $Q4xf`XR`Z %Z!!*UXJK E}I4z\ UJQHWHk~:ux;BSX6ڎJU5*ya`t.5d~𞄧K@AqTN7'@2VtqԦV4b(k,#0lY_S[ B0@ @aaj;!D- V" 6U83@}#;c>+!`S, &UUҶdi0(+$k"J v؏@@C WϮ}{ԏHP.=t^&epv]bz{|fx|ؚȾ^DZ/^^FrgR][xםwiyJ )E!@)T GgdN}>{r(J]])^_>u+oïy*گ|n|*H@D 2݊R"BE=GJ (Sj<42;p}i_k4+ZJZ•NS8@) DUTUTjw4t!H{̺7[;vGjAKpր)vl={zPSؠFǀ)jXڧzlv+}vh0vmy$]zN(tn|eh Wv{;)[>^n=tתx{ٯ{p2k}Zw7vվ3{l{nc\vf{{55׭ Rm}[>ޒ{{Y^n{קtU{|;TEυmF7uӁD@y>Vܹ[0>k{;TmXnoa^緎Y{5uYB5ܳ(Ѯ`mvw^vz^| y'ւ\%5fi.NJT Y1 %PQS:[|^DAUF[lP}pS@Ok|hWg}ޚ ]/@r foNky6'gw׻;ݺ Bpv6m}XwwDozQ^>>vᩰ.U8^>)sTERYp'{VI<3}t]6a7w}vѪQZĵcu{(㵽uw;@oo|svtOlO=o}z;9@}·^lT]`y֯C@MHd{}Pvٝrڝ{ JQBjPR[ջ^.Nܦכ}uݵu>]>'|w+Guw_[!vjmLA]t(Am+ֻA{}ױU=*{-޲}9f8ME| <)Ž]|ӵm>B d$D&CI4jaihMzS2OTzL D F1M11FQMICMOSG'M 2"LjzQQ"kdaieSP81ȓ("4qfd)3iK Չ9H`}Ҕ@0U LPJkLBu[PIA[D2jb*`spe/4nvL0(Dk}C;{h]]?ؼ~Zk{#=PF~Qw{X9/Nr 91cg"m)vXMZ!_p<#qcmv'{nBH9ȣYqrbݲT:v(@9۞OX񯻗t0D%-YD)Y'YpQMEnlhh$>x0D /p( QLpEUJ @ qP. BDJa&fDJ (=dA-4J?bAbFVSQ:Ҁ.L?zC02^cD[%w>5n)6Q'L8)?I$\ދ2 @r)dizNSgk_"Ӧ2 C)4'fa)BQ_ 8DL;C;4 hqLc<4w& I ~}_~̭ ȒS8R(Xqja*) XY\(.G(EJʞ'cqz-D{,낅|d16jQLg u(qMѧV|tn['N&8.)_$XFMU=}wp+ &,6?CXprEP5JiW@4 p 6'MBL"*dYZ](| cv$S+ 4(j & HPFpv7B"T+6piKv]`i&&lF*I.QEZ>N{g()HPvViBS XW*A (U=Ӄ)ܯvC ŏuiERHF[SQB[h.BT R%3LCI2ci "J8m 4L œi<*Yxrt): ]x8ĺ6S.~^otnօs5J MVTC9%r(@N\Ж:keH+J!abQZ$Bw! @̡TMڞP℈%ipW<6i#r ?ӊNxq #\dGMnz2#2*8;ć$>'=Zz0*U/89!GEA@=ZW(.BDqt=:~<b[Nb"cĞ1314D1*)hs֓ 񔅞'@b +:&2057p,x&4EcrpnI'ݤPUTǾp;W'BG,s޸Fi&͠C+"s҅"^G:=ʹH>91fpٚRV$EA#B&r4Fe }G}C/{oo?j]ǰ'> heiinbY}~u/[/}ojP޿NZi+R~^,񈈙&l?0>>SB!KGh2-EMMRjJR妩Z 9 N&Y*~B|:piuqzI: 20R}[ߧkm$;[VcNn>Fz tHE7@&cg; R"{7M ?C,1P4m pفnb* gQr $pmy28|B'ؠzb%HZA^RO?{(γ.\ B=AFJ*:'H)ҺR\8 N {poZ䗢;EɝXF-^U#%}l"L [ImYCG2qz5Fŧ"(Ce! SEx7bE|ӊ}\}fqfhfI+ -G1ZB" 78}܃*.Ң#SxBUѻ[0MxqevqNNBxI]>{&M>W:ȦF#AyJ|Opʂ[՟J|W86=yvet+<; !cx҂wuJ18PiJ^^R4~ˎMز#ӊù>~}>S>_vpG|, 5A1wkCKz2B4`10~FFtA&=EV;% m4>dјCЂIFIN16mVu]sWüI8`ptYd|owpC )EQX2(Mh.QempvWKBrG_Gc\LI*%GD$CBqgt{uO0"my iqP1D΂>WvG8lgF-e1p|aRԈƩ]C+(FhTc/p/ 6ݴyac@Uܡ:)T!:W c8p(,9Nn'P#Y4UU(5_r :mqӋb'Lv6~ϲ#O *=ܧ)ǎ]?+﫯qF~1ԟEUybAu>cسL캍go:lP+k0cL)ojO_<lk#8O ([=^}}M~=^9e>觰 4~F,x l!9{?zjrU7^gZvX[K}5f-5?8n ѺuZBU}H;׬eN'})-x"M҈fTSN2ZZRb-KVd"7k-mNR+՘sIϾ6y6G)AB1 ?=:d`H)?_{H>-Hc\t2i2a΋珦Z0w珛=[|!kS>ϯ>~ +z,o*]cǡFMUSZv0R [Xnؾ+P݃饵9?iG~G[2is=i֥XDqh{hDĻ!~G(@R{}ݮ'}ԍ-T[ֻP^:LUd];ambd(D}QRu|0n!|n'hwx?bg8D~AFR\tC3bIćC/)E4 ##F-44EE9E%QA&# .>k?6I?BkMQ ZF-ٜ[&wP|6u"m(a=@`ynozQcŮAd2i:%qǗ# }O RQwh<s߯\9IƳU)AB AԂH5r2@"Ŕ6 Bg ɉfL1 ~%͠$@ $B%IH% $zAv0FNKMB1sȤ?hz)k3 ?Dh0oV]Gc]TSKrh`# T>5CA@дRER4E%ݥw@?G! S|)MPP4/RiJ A&Q^J9on1()@8C@y {tx9%GX_F tԎMH_1õ7u$[S?851ؚNQPQG 2^% Y]ܠ[U~fIzGVh(K"i*Ⱦn|7Oޡwb!.vȽr%D-C(MPA(!9$" !JiґD@@QT ZhZCGJIiFEiBX Ce4 E !HBR\`otңI $@F AH'H BTq*RF$*@E"BJNC`8H`VH:A(H%*pTޗNB$T")bS_6~^P^](vu<ƆyzNG ٤x華@DF@M#ٙ!(<3$9;@dF /LOHJAL lve(DDp n@5 H޸_?N$A !8j5z?clm$kZֳ_ `j }8?1'C>3 _AgAks1- Pr" dyA \Cvm#F JSHa$$|~z*:Q$bK(BXeY=D(# ! CBB'$Ԅt~`-!wр6iO_gcȑqDj-t[͊!!>q~Or%ThY ͇DdFPi ih>{!@*!X")H=BJB!м䜔:ैxPr9$B ^Iu1&yiѬ Y~ i@!8+.(?0.b/C~8/0/0D:`_D?d*d⋇~9;~_l 0 x=W3ZwuOb %L~ߣfo3L0H)}*(<5%&V5TP׼|N o_EsB1!o UPi cm(c:ȯyهă/>Qf>^0r^YHάRa6aJܨ%7 >w2 ^V.1\di˻揈w=uTi__= hů?u(sCs11k?e WIS@O/S1)&"+I!|/"y;I0a>P (|w=?E*(hgQH|8Pw="x/Ҧ:̅^ wTfuSPFؗ  eU R-ΨVb_b \43z"eNS=/O$;"6`}QO̹)AF!rcjGLO?N||"5Kh#KX? tJ>xΰT CfC?m?5eųC/pRLsޔ4XC[ە܎}ef=}ea 52B@+ BL$) +$_ O~oO:OOLq>:&lHX[|!] C?I8W棞/M)uXh#@4Kz ^Α1 1O:C%U9X1mQ]Oݗ/0#Fegš;R2%f8h,ƿeLкhZϙ@ɻ_%!{x=+2U6} 0+k<nP~1i † 3,!G,?!q˕ a+tU, .q/DE3O `w60#"% W4b19=IWi 9pX8* * U#GP'hRϐw5?? uRݦa<mjPz *iV]Xեζ4kPG<ݵ&LNϓ^yEkvicI,cU5?hō Θ"9u0BdHZmbJj;꜆yըϡPLTaM9M$G#۹ڗ閭 ;Ǝ1Z1@ӦC#Ci%IRH<yP{zMT/rВ }v^aJ89bH{&"/p多}jF=ކ_Vb̅97 ^pg/H&[%|x֜;V 2E$fgZhtbrԙ!{8їRd,KDxjDHͼ9k饼ϫ/K+d4&xVMO7X.iCV%y[9Ē8lj畫y!Pvi}!|aDgU)̡Qr9wPwC=/_Re;j\x%+|ˡ)}ԱшrGv-#C;bd8,;g-VGaR0Ao9M;lwX,LIddI:L b1sV/4[0Jx`0m Q%=aHy^^̴#6ӕᬐ8Ɣӯ;v.l|[>FpqIEY=IӽSJq\饩VE͞-|Io;fܵJ[8RN>7^hm5{qɿ$t겣ϙk3- aOk}Myĕ5ˈI9ݻi|_Y ͖8wv3C lgW˲#\nB4ޞ1~5y¤u6)ߤc571 _޵M1X1i/%T#8+h-I]?[^ƃ9i{'eD} / Rd0 }. fwZe͘8sŶfm fW˾Z* ڋz=1ƤCJnm}ߜCs.Hq#tjjt2Ņmq̨˧3B}Q ˃)Puf=9ҤBҶV}/m26*{ͧ:vWf2'9 li{aR3ˮttf%X,i{:<9L滥d+k7}tV4P-S n v'.;G cbA~qn<ɕk.1͚f|V+HvuRT|Swݯ (z˯2pkˇ"g~+f5]NjQ4zΙizq3mI"wQt>vLi57m| &hd4pC/3D998]xTy뙿KGM熗#X.?F%b{ںbՏ{l zydOuYcm̵U]dڙ^ WӳGOCe5in҈[1@0h`%6)".YcPt2>Uu_̬9kU4c~lߴn|?>{M&ȑxD4M*>(9'sRϲ,K_\+ŋWZv>H8;J^G0q!C@3&yxXv̶]0O 4` pp MhL|źw =<8J&Ny(z寁Gc9 \"Xt*Bв tne2TT@0 -+~ $`νi(Xţ];;T$HPGIks2= yaf9/նQ0i 06tM$!P̤FHL@)] ET]pfA8Ml{(wFh *Nm1QDN1hu*ۆ7LiWENRxn_b??0_r#^po @4K@rP$X Q䋉Dd%@I:! + !څB~˕| f{% ݙo]Ơф_1­z\߯g.Io S}TF#9 3BՑ ;2^_g}ݥG;àB)g+]O=X*XNᘛZجM%z09=#ߎA1gce,\ I8 *U.&4r1 ծ2~0B3l2 V Vo6}@Z7J KMWMgIGL#EDm#DbǖuE༕?eξح-zu9i6%&UY/ńiII'\ы< 3r'' "FrUtd#C@\aNܓ5ӶlCbV}x%>P;5O8z_TSri P)st66L}mD]!skm>gكd7k>x_TEݛA.XV2w?O7L׵zճ'by!n//`#ꡄ @/DŽpj W!NAAN n _?&x ۧl A{O.niFY ßq簎WNT_W=F!?FwY2{e1oZWRؐhA&/)`IEOa@`k+,)hpg?L/cN!J9t"`0$eO.nz'/&Dp zI GN/vQ@Cx^Fݼčg{7I}N<$U4JH2ID!1>m"C7o%uX^~n|_3{pI c)( }T3@ _]C+Ҋ(ڂ%Wz|ڿ[+ݩzUTEG<"U}~5zy꾾7UuU7TZvo]SkZ8W?]EE+);ސV|LI7Rqn"5翳g 5EE5Z^>j.uTZ̼k殘cD\qq37fnyi#3ބ'4TOk9}j7˯;1fˏۡ(4en,^ևə RmݛFtjJv̿dVF {Ĕ k"r&xS#t-`qf㱢OCspC )m̿'ki Ɇm2]`BQͥ ش~f.Ep}VQǘヤy&$KO2IeC-C PO;<.#8>y['#,Z4  %p ~  .NX1IŎD 0a ńщ Yqw*Jrb*OY5J~4TyTl-Yig#XJ >>ri$ɅS:*RdA@\ӄ10(?3KoAd<S IG.a^AO^vkwNH6I/Dz=K)U4`NX ~1(xP!{PX]K¡1ܔ馁S>c;Rkci~}u;J+tvhaCtJ@PT~0A 1AFOT֑&~_ٸۣ¸feUfey35LA"Ԡ cbfAP)eoB*E6yw0I%3Гa}Fl.[kjtwJn+e;wI7 kO6S _K{F!QXT[鹡µ6WY7j:QNvN ,5r^,^tn<̼azq4MU\OQQcM4uԿת߯=%jx9;7/ɌHA$W︬YZJ e\|4sjA -Bq& lmgӃy]|ȥWBkM{=u׸ƘH Lz80.-ZaI:V8rv2yBbcm*@dZ(h(Rؘwo<9Zb3l~rqxƱr |vsQSކyypVsKc)EK*%ֱ{3\|KDSuU^>*;'-ʿy[5%~5$ 5 st㩽vzqF63VX\Lc` BVON;iVJd4/yKT <r7Q|qRl;x]qeܵ<gu\dfi:bbrNKZŸ^_3C[#L;Tυ0*yB-6[ԭ"nfcfZ9pZoSzҸ-u%@`X~CMa!TˆEt(:4L!ߧ0}f,s샚p m <++ұk"?UJJ+ cf[sbw~-dJ+p`Hz[x"A+/kSg.M@u*\_|#(P%Pjο}^ RWE{: pKQyxk|F|eg te..l-疐T}`Υ{;Ur@ctJɎk54(H[l`$XJ!ծs}W4d ;rX iR6:\nWfWS[$`RҊ3wBJS{(ohVoю)py,mN+)i4vf_VJ=e#p3ms9_OW$ dd)`BPDt}ھThȽ?PPcocovHDstߞK{UO.[+p>Tg;Y!suƶtUoiZGmgazxL4p"^|l4qcc[ :Ӌ2j2X+ BN:+2zkRf/jfFgD<\ ÷]"hVc˜/ox#GhbSikr#f}XD @n fk!C{IK*P]P}2 eH&{vO4~N\LwlִmXUF7X!YiM1X>nS-IFπ/Qt9^HH5Oϳ)8XߵOy{Vjp2crG1CHڷMExF+|3,kCH60^ݤُKkx_mᨯŃI:KU2:ޤ3 Vw;sjh4um{8X\߻1I̍fc+[4 &-꒠İz=uÚDruN ؑEkS,]ޙF޼15 UVكB f%hcqI$ytcVj.KA2@B꘽"΍(݃ xK>LKBJ7Gvvaq%Y]I{ti>k3j=uRb8KJ|Lc!Ն }#PX2ʥL"ayEy[M殯hS|gbkMSVE3=~+[݋VUCԘv8L=(h}USQP;{|O$D   ёT$R`j/i 9Ujv|Te|`d`޾M^~&)'H^g<)E{͞uUXO4TKjC≌)1wq~'[Ŝι{|WzO~? ${;8X/X3P0I3 ^MiOcB]]sq𲱅옴C9zN6<jxՐo *+*6—(<}̆ϋ!Tڈի? Ǧ/םiu EA-?r%:+qq4YqE3<4i/15=xNV:kΨeg]U9饺,_V1`ؕ*53 \= loTopAnd^9ZNJ7J& ]uv';D::Et6m3W8V_}xY1*E]4 0@d+c}DDɓͤ&SuU\H>O}-dQ(N93``+⇇2f/QAHPXU.QU1+.ɼkyKl/Us0o&⚵G6N~͕nmCǏ \pΆݨ^4yc)gXbN6wxM(mv ]5<6>\bÜH_%kTDϬ/s뛔\ȖDmh_JJ:=KցBކ[njA0cak~gR""MAj &O>mu `lwlf 1?-$Z S}l00 (b~! HJAp1p _@|/{񓮠 4ٸh~.,ÅG~znw: ( t%J'Mp5,RvJީ^+\8&x Tr`0#KA 6 =#¡ ?ͷܩZ US= BXEWl=)^'^\65_o6m"Q&,+w"yXKD|ۮq@+ TGC;z?cI՘UԱtHs0K]/V~G[E:x6'gѶt~tAKLxQ`z戔kWĒRdj/VlByylm:a>ͰkF86k_LbFG[`D?`L|=ʵTcTGߑ߱۰3QbGyP"1"1"1"t6d FܿrxKBmG ZujxGrA*6؁nKc!s*\t0f[|9֪ˠ 2tڬ_H%ҨPgHs |x+g=a>R;[ 7!ْԞ';~ٹR$Œje`黉=aOgQ:Zư]0CNZ9fC\hȊ5hFR\Cdl{yޢtu#Lvefz ,BVLa`E\Fwȭ7O[ҚVdqҎ<: wCFO^"fO"dtO,Qswki]TDDwik.S ۰H* |KϜ뱥7*p Jzth {ݭZ!AnZ=ݪq<:8h 64aE2v2̽6;]K"W ~*Sczy`ӖQ2jAMb^BJh =%8 b3μJqI)CfhbS45_ dhBSlgALtzn8f/Ǎ6Y 4NZo\/j ٫ܝ Ÿi$IHno7^B:֚ulMZ9OYpzw/41CY hTbC$ګx@o,-t߅|YIg΁&1*BCbsD:LKvu3ti$0RE#W9-4(rW1{+FO۬Y3}no3^9 ϳs4ԵʣVێIʆu8'nb }i΃$sk(V5en)ALJ.Y{\l)CFy[j_4:7)yX hXwbXGh#6.q&åmfpKH֘:zmg]kRAz@GcK_?}$h*>< !p/{SgڐT̼S¨%-u)R H9i in_jD1^ӟHɧ&ky_<0͜$g'yx}\md!60՝wYw% 0-QhG{ꈧF,V ׃% r`<,&1( 'Ԝ軶A-p;8} e6[t\ 57g,*hCvUG8\Q b_sgJDBZ„B*di}g֮Wh%}Ih'l6i6_ | ~mf[/GThuD)ֽa -T[w,IxsZ+|AQ\BW uԃ?@4hrb# |}]^djr c'u> 5МQ+3,28,jJ mVMp!Y131],RPիmQ2V7o|>/ϳ&5DR 2u,W68#~w~I2s6ۢCTvh,m<؜i֣I):ml(^\7n i@=ZG DccMi&c,<8լ/Q[_MqT1:>ko\$`b}XSrO憖Obl6<\[=9C(2;uyLaj*]IXP^޿/tYfm1`z00HhƵn?qYX9eAժ/8Zn~z7ɑ9t?>^pc֚hAF7i؊^a[?G 9BdKzjX~Jkb-R :p=_HS:&8t2ath20ޤXS tUK&{R w~$-}~,? HcJ~k6ah՝3.Xo|+9<_,//zT׽Ň½ K[*aYv֟}BWɞVf3,Ow✭ (Zî4?wL1mu6\V4ܙV-_Ɛ9;m=}0zh#·{#`1{QB"{rSv}O84ZDS|eθWD=tϺazx~9W5@70wG+NWC)E)5!ضpAjSkԹ?-ݭлV'g~yrf4AFd(7an{&W6P3I->gr'¾;AӑZghݼZ3ȣ.~Eֆ. ik\mqgw q8G5Ûm '3UQ)AxNXC!"i[(r:Iiv :-c#هx" aBH%1`cHՆ(2J}_ y>9~[?W.׽Ə 0gi}:CuPhvD@C13\메)YjX50bk|Q]T␽rS3}z Ґ[޼9}""P$};EmJsΪ̊GiʼnhAf^Ց* FxU녓;@Ԫxf0Ʃzv-4z=C:e1˯oGȼ=f~gt,Փ+xe<)WIIw8DV\Q^;UVQZU+3o*ޘuj2r(ԅ'䊕hv< fd}젧e>NQ6֙0E 0oTǦl5|ɠ=RW1oCw!s% kLzHQu7b((=Bugnb{g.7'a0| ӊ~VMS\wdVy@蘩0FT+kNj+4M#%=lollELWe⸋-35NiFԯ!|0tW+)1&]P($Ley&)|x:_EQ<HVn-'A8 / zD0t5XF\LoWkDk[Qr\ڽ[\(%HIc]MZf%c4Fa) -0J%ۺbnB!\ܶ :37U4&gS*͘~#Һ~98kS07420CFsL{`!l҃sw{G@g*6Yf(_Yy:<[kn!劓,T SXFJ"!vJ++E'l `M痽f?U#~E=BRg!LٽњG4[zy+zؤ1{Y$+% rkL*(IP?^! OQڑ("yh)/劣C::#ږŶu,5#\x@ (BFqUJuW2[j+LL]msHUؓ`$ ,Лk'5`lFBcm6$!\~rJ׏}tY QTޅ`sֺXIm׊WCOXSS8[ɂr\MoI;%  V:Zq.M#,=-q'x": kҺhlw5zpt\W]Y\]i*Τ֘xwHe +{|V)ĄxK9dS]^EoPjeVI5jiԦc<=-۟aQp%ܒ>JcTZOR99CO}f8Tq G>W4W:Gq9a{%?Ocp>Er"=}8+l,D)e#3.*Nc,V+/uqH+>5Ү˕c.c1;M}֏t}hoh`oM?qrݓT=ڪVNS'? kx3Nk:dW'8J# h٨H1&ir{M:y^;R]˹w.ܽ?,CIϷ[ {x˳s*f#8%ߗL椨D/=%M>o#4ދnࠏ&NYV3w hB]p/ʥ)NYz"_i~^,5zC}^\z(ˬ'Oq֓ ԯڼMd|t(o890Tz߱_/Y'aAmdt)xJltl0{G@}ܠoU Z<'y/ɤ0J&4 mLD|H~}Lך֮ 7" z0lU園i*gG*`p.D0:2Q,`sdJ֎unOK|@ =jCO:["4 CC3\6}ewhv-+QwqCZ5NC;ZgLIrr'w7bˋT~}m^XAmZ~dl 7x <9Js0,4_$+%(HGh`GٚJ.a$Y'K1Q@tfj"γ 52$b@61jл^CxxO!So:qѻ|_c9l\ij-h kQ_ad0\h9"r&uOn&lv ;UYI5FfcdQߖܘ#yw1 -̫c5m|NN}~( }YN#;@y"p9ZSmg"ֹ:1;jPD?jֵ,Tk>~3]=W 2]nHʩǾMVnF %B;_.U6;S|ߨ G1(CQtam`G@TG(+rMQ5׌&fh,7Y˳^* 7zQFˆRf1\rI.iP2َ̅:v#mY^t |NJd6 LݞO:@4aA4,=,Kaxn+jNF,4h-.8@iʅj+t ֥~=|qLm}tإ/Es4袖MgȤc,e릃(F 6bΥ PՅ-=ﻉ[W-m^PqwO޸glR\ss ٬ړz 77sa3'tH`}i}Kbz/'3J4x\UϞM t^ͣQBRQw>GZwK \5(;sVrE4-S]Scqo7+EB]IZj缜1k͕!Cn+YxLp|{d(na39]3j쵱::ٙQ-RpG:s ԜjrMš{|QR*5ߕ͵/uAV;5%(kǼ̫Ci9Q94I)f혬xmGI;MVrL {gZ%pl4vqRݶݏJ}lҞ~=,{/\JilsS:DAՋ2i PoaUxQ~!f1s }V'R/ <ldd66bJ/(b-m-j{];7SkI]ȫw.XV$0Ns.ZI.s5'AӤ3A:sqg=ValfWxDӎIǩ\C楙@VSLO|7z7ZcKMTq̰r)5cVְY7/;6t vZbG6i sw3-vߍ9_DiEm;ڳ>RqFmZĕ& oSߧY)boq3:ag{S(2塍n֯# OsjyŦ)W'pb3=qYKy[O*y p-@-J,M!WAưx:-`@e\-+ܶ#-hECL|JBh_4Q[i<*ç5{a_l |q ֛ѾqkoMv}ewl2Ktt(vt\k >^5v4z7AiwG`UsqK2$YeyVȓMNu2\l7o^ Y&okXTצL`ˮኔjAvVx.顖C=khYtڀ[dh`hM g6 įq0"guE.ۙ%#ճՇ,H(n )9GOEm r!;|xSM"++K",'WB[Y3 쇶x).V$hAR2^Ac3 Ux01+E≽ -_LFt+I4)AH1D:*6_e^34N21sw;_m$:ɳ3giujԅtn/H1'jgaPaA.7"UX>#eJ E Pm`̫13'$Ca$*k0uV=3!BUP;*.dөaP mEWkRRo+% {&smFN5uIe_2EsbHo R@C &T'>j740ܹ!3.bfI+SIi>>^:z :gMLQD},(}LI049 Suj^c~{T}u-٣# ;^74\[, ﵤw Ӷ闲Y+P9f]:wשR4aXTM[މf?\ r㦊 ؉G2xhX.nW~7np1ֱ]@xMs(n%T O1xk]  !9bdC&Şo}zm{s?d (pE˩UB:YN}炋vZM($P bm6'AqEJD :4B1mT[rYֽz^pIjMBT4 ʢ#>G(L 9a!d ě3n6_k|q=;&1ϝ/*8I%HfGi"Y6Tm$DO)8g ^=WCD{~_OC<ᱣ;Hu'e? ߘB'6& !3֍j$ ?ݎbsS5/O%ѼOQ|3];~N[Ko>К9uZ g^ַz{{߿+U/I2tЮ>k·T}'Ǯ mTks;Btu55SշU;|jrxS8flXn ]k5;ͻhGM*Di Mʧ"`ɻ+:uNTnI*VtX_gyyo粶9 '=x92̦n6;־=X#û6EYG^-jŷyZ9꛼9.ND9(rh*ۭnV< 7dC W][ѷ&0S$+(iň1E Ц9bnX h 2TSޟVdWqmmы3 }9Y;^{wM˻AuaVP <ͼrCsP򞵼-+%&uւ^}x7U`9^WN *q?-:Nִfwl[F튽1v޺횚У`nxL#|Ϥσ#.Ν1C PDC=OH^yB$Zg%wfos fvc}#m~0տBAMb8R Gr*o ]{$ NQ=N@0؛fp:`*"'xj˧և;O'ni/1$_]CMͤu B1>,2XB.vܧX},Y4H2,TA5#xNj1! 4ZJB$!rr-?6׼ľ>}*~حkx-g{근Z<{&vy*lNă)'AT{`GD1JQq2 kHnn߿z㵿6)=[*ޖ7 c4*6p1B >:<_֚: r*+M5G*H-tCRvo*4 @TcA/im&뤜 -smӸN$*'Ѝ40D9dqD=XZO|axӜ?NynTOkq;U򝦵$gk"8uV5ɏ g#wf_-;W{hRtq3=i4ۈN|M%1+/GyQ˳1Z#h>g*WBR,n ֵ(L+@ $?М ?,y c+¬n;d toDԞnӌp]7ljoRԹR2.Ԧb)Z湴N4e<|ٖhOA07^R E2T93C2Qĩ) c߮Cx< !#<.eؠ$JU'E(?E P/Gr~Ar)W%5E2a}S3xy4ʹA୪N j=܉ؒL  m1x8l?W#RlRP6pE,k1hЉFW@ YHH[GUFQ:B!Z ܋d`%ݚu?n߄Ӑ6+ʻ).YxxJ+%|č`FI+[Ѷ_ G^Ck"E+28YmMֿ<ȋQ)|W$>@Ȉ?,2ɆZ7l5IS7~&1AEjԵdItஏRk˯p{{Mm}?oesym5Ҋ-2rAgo ˜}N駰6W%{.2Wm9Q1G)3mغL;}'&osfr(?]q nJFG( NY? ]{k38OY#{:@EJG<caSH4&dff$KXytӄ"gl)^kZݵ,Քodi6w08A]9U+,^P7AFW}SĂg(V~bk) [5vIHe Ƒ$q#D 7?3P*Z?x 5lh/: ' CGA(BmQ`۰b~1;?sͬGj-GIN\kRУr~4E UUi@B~PhRA(y?a`>&vXN"3A9x_UGX2י F,T/᜵R2&-EP9 z)JC{oQMeiˤO)|Dͻ6܆GѮ*mc^;X2x%n" RKUBӅH868\T):DG,J*m~ |a? &IZyNM@{AZ3` >csw~dcJ-W玥B ^W_y["Yk ?C̱N;N=eT;CbO^fUosf^uJQ08! 3+F+L_ȡBR=zʭ]ŋ8+;Rw9{wκk4#O[s;Vuz= WfY`Eԥ*!el :?W]^?<'_? ?+!0N\>֮?i{ Y+r'J"څ25gǏާ/A)hhfR!쨏Ji&BFmȮ%F2юKKTI@ tY#u)O&vk| ؕO"(J'?3K$,/~ ?q>T#>U #O*؇Ȅ9o$ />]EFl_u&)ieIRw0 KJ&=]eqJu5+};Z?ߋ>BicJbSkaCBm>ʔjoѠ J 9)JFJlx+Ҵ*Wbimb sw2ߞ jE2"yqMQ9~j*p0ox 7v"r)xGڅn}֞ŕ-O!%:>G@tTPHph#}+HDvNi{_HZՔgF?a~[O~u`]1cnO<)DsJ爢G8֫wjl;9?[0Q2'o(pl:JIS,9rdK"_9|o/$I)O tQJqjF-G##k|#gfRcCCɔma2]<_ 95-o ʼn[SoSX,9JwXB1h}yu֪dI%̞o#BVYu: 5zu Mvo~r[O,K㾿v<@&GuŌGӷ)AXf{h}[d~?=q'vw:ߗOϕACkϰc\JV7Ǟ~i;zE5{}Y7ƾtY us^"WX߭*~>qRm_Ş{\0鬙Z/_fux<{7\ow;[[ޱ[\lV>5ppS/:SGbæiݣ~ܣ1ŝ:JAG̭4#ic.yͩhF8K*yqs*S"?g~4;._"njp#vˀNGB{?T}sJ |R]HFءol0Kx$(3ah撂B#@8p7zw CI0G\DB׾HM osm}ᒞ%YkKTu~E ~Χv5_)a*{OqSg=RɒǎhPղ<}<3!}RTWábڱVk}ΖꂆK#4|.703°lϨCP0S%{qRYQ;4>nC ifH9Mo򧓛r;?3H-El7q}~ͻW^ff{8yӬΜVztl|PJ[x<}!o]5Κ'ZԮm 4y- rNl';F9s:iϡ,VΛ8oO c\6}}o~^6:/w88~kϖb-9HC1itOĝ7WI|prūZ2п×>Xf' i7>Eu򏞽b.R.٢j3ʥbFgADQp1^Y #5=p4綷RPpK"bƲ[mQ'Vkٮ|` (s tA W^4C` P4B*BPJ8* G`/4/&b@iVi T'̏ ]D@ (H|m\!Ցk4 Bhfx/%oMS@4"C(5"jHSYC r%*na;QJM,!{B4('%B`x@D9 h9)DkHJD +PJDJZ!1( 9"r5i{$T U@;;`r1.^8Ңؐ}F:D$C oB G.;G^!D$P^~|AGQ/@}oG ޠ fDd9#*l"a*(I(@:$t ^ҥZ?"t_BtI0nalM / C;"0DT ܃iws?B7~yTܠ=F@}PJ.K CD_Ҝ&CC P ̘CJfP b"()J)F)F)$ i ZWiϾ3R GPҤ K%5P@" B|3+U)B$O)yDS@)" "Z$(/lGͥJ$i7"TdVA2JR P $M0% B=)HRKA  R< ܷii@R^'}t sb?̏dSENggS<zF!6ӿ[@]'YA_ly#t<نI|}}8ַ] DBf!9O3ڦ2dm{IԇA؃VTz~7H2ȐLB}Xi$:mBBwN6p[ Za`c>GDIZBbHi* _@CP5QP&*aI .A$R' u:WLk;glZrʦF-X(m8^~vK@lrrn$Y/o&}uf,(! OB&Ad4#N%Jm7"_P搕PKx,xB6P-Scm"`D$_g }sQEJq;""u0WԐģr9J{6t8z' )gS&:{?S-sb9)JQԑ;[79ݼA-?to}N&,>(iBc?1EAsqZ*'IjtG7޺ e/fzLu~Uئ>1ueG'?X;<3&Nd<:sό5/ g\֨/` zfcϱr^As*NY׃ߨ]@oD<` [hSU(ZW@A$JyPb6>|BQT  ;܊2@( ovxSM/NT!߳'/ɇ!"Uf,gunu"l'ۻGR>##v!UYeXjA-598Cxڝ'^^ .HembcM m_0r:kT)БPa"kOm:_}g/fx-dݜ_+{qLZ35QzB$s[U_vYgtgm=!c\SOQgZEq|4n^{>$\G666*4Ò\Ue'مu?4n^p2:)u> r[w!Yl/ OBBd, J:9QNmAoǺ7w8d/@lT&#;8-,ntb9k"G2$8kӗk5B!N v4mr Pf28db*`MC͇ޟ-V}4W?[iڦ_>-6:yk5jw.!l0%\ɝ|y{JI+a=|iCSBYa=J ଢH-|'*uKm5>/ƾYҖ^֋NeGĿf}JRwT#$zJ+9vPX\BM 8I·Ն F};0ONx2++}BK(T!lMj}Cŕ}گ+b9 (U^xz|VTۥQFr 4*d5/SZ8O@NuOqz]@so *1{f%q}! {GDJ۝T {_/KB'߾£m]y?GC^C/a MV>WzM5,>~\rӧJ {:8(/L/< {XE3|ӟWćV[&`[!@XdZPl8_T3\TXVaۼ_ehEӁrjg 0USC,tG^]R ғ>zkes4?nh7bE7_qo(}-UnyU_ (;akhج*KPI`1.y'EÊ}i-`$+[S E˜*:>x)j13'd=?C3yTw={afW)o@#^%Pl)1~>#FC"d3H_bPdqq{JFE֧/{rMVbQU[@4"i"m:Y Tg$!HH@@@HAαD vF`Hlxb4:6] 6N1 >I<;gFƂN4 %LIf"J1)Jvop^ ٰWwu) ^@ذo{ޜyןF3 f$rgM !wv>O??1*& mi{I=z:q~xڏMjuEjoomMht^k+nukrsl;S,1$``SnV1b񝽇#CkŪdf"t=I\Kx?#ԭ͉t+q[Nt:ksȜJ{[JHgmM=o_V:|?iz4tsDoug?C0W3$Zj }]\F@}Ioi/~$%y3/mm} GAHQ%z?(9:\J m3@ѐ!; PQ1bc. Be b^Dk=9莺|p-,$B@-~)I,ٜž}AtXDzXT6mU*aw1svA4\~OÀO^{xܐ 5@TK \!Q bt_x">=z'($dzQ$ n)W$DY'lQ PEA ؇ViiC_L1Aȑ\cv+8iw(*)TpSp JwP1U&LEBHTԃB1>HUB_ܒ?A/ ߒg>sތ[ׂ;ja ESgmFa<ں RJ"P S뜛$<½yoPF \83g5 B޼s~z5N+t5uSmzSm t\wzsB mB=LFHq:dڽK5mˑ׺-ջ&Ft!v<3@wυ*(lm:|w]O]B3nBpqnR)>[QیXo!6/5\A16F@N|[ -}Jvʌ}ILIA7mϠ"j r6S׸^5mx7'e&`#@.+.a%v l~ΒBQpH Y+.ǁpk64tOnM8Ɗ$SAlO3Ԇ|2<4Xn8j-sbgPcmt0%*IQPrE]Oh2-v:u|bSPK~}0f<{[;9&MIEGvQB7xA醼&H{%c^{_&WM*hXgwyz;|xֵ|+7;ΰ;,Ub(ϛwN/E0aE(%OsW=|WہYj3C!rkgםUH@ CuZtjӐ{CeL$$?o(ЇqqΌ<|%9ր4٠`onh/5#kT LGj!0K,̝w/?0__UCPP?^Ӥ/w?A0]=[ u$>`=?4@}VC'}2x:Q0"\\,A & ңBWJ)RJP--*!UDj"B؃]_vi q6WmdQ`a,(vλ}wM!!??ЩHQ0/TNYAhMסgsMa&ެl;rSnY;{ I$S _*[ Em^m_'^g= .\>^2݌z?5f FC07X[8{t||) :qϟM𸺾ІHΞuA( 3+⇴il~tnT t`1hF(b_vx"fY< 2f11尃n%pbYj_[0-TZh֣{|ݽ٬Wo5ˑF 6>|ﬕtA#*Xb1_Oa]@Z,$uŸ n\,ssoi^@s[x5i> *ҝlD,`.,,V>R [@ (-B>X_NaiڴKN˙%n/v\C%#kh%jZAl|3LLHDNgKQ%5L] ǀr+;wlA!#G<ϳjfĔ2?MoJ߃k~δ5~g).Sndi(۵#|s*zIVx#qر񵀱Sƒ[ VFKCeU6W z^fc_Pgb K_ܥ$ܯq~<)ZӫM?J$G)J?_ zcJnr"3LNpv~ Z7|`,60GN>چO+Dό4?)֦Zm0xzӜ_#ɁvCHL2[m> 4/>keG=LމTV$wh.bR~hh,]Ir҈ǷoFf̟VXu}ڐ[ӴhFQݜݙOO*F h SIjkY]U8wfgZm'Ne`$*dgW6Y i.473dJ1lQ.X3$grkZrg'n(_S?vQ;>>}nD:-s}Ƿ< =C(gwƓkΡҫjFSN.xx|ǧ|WrJbw)_VYv B sş[9k0 ]}?S$϶i מTd7~}~.gy ͺkrNVZSL])Ay)ma߶^_X>N&\9m\q]9q{yHV -nTT>ύ篓_|SΡ/8ޕ~3k߽KT/QطPG)6v}^~Z/* sPjͭL Vϫ5ѽM2SkZ^da y=!>D󬭰nFufsC_~߄hҁ#+>DwՀ.j+˗=-MkViۗ̕+ iGA1j[>pTk]kB 7f5Y օ3~$ 27ӵW2ho_?ÀOs5^3}*kG( Sgh>A`fxचsAohҟR@l@=h|GԶka }n^|ʑs)Rr g]LoȆ#w STfh趀K'QM/a8mN=!x{ΜilhyD&61[«/ =ZVvY: v)juW,};lhiV>Xy~:mCƱQZn8{G'( {6K n.ov>PlLƖ]׾Gh^7VHnJy:̣hgr4B׊#,~3[9>zg۝;XWy7ϐMyS *XBVY=39knۧ^(T\+vV/%#+'$ΦlsO3Ft[1R2"[vb4&wloz:q:xzF5cn9W} P|E+Ir;{}~%t:M0u^'Ђ416㟎ڇj4=NY97=]/Kk S3־o3?5l.ztm9nW/?#sT%O];[GEDD&]Z"喎\_-ቡ>l gn, 'DTS~0M"OGsu}ܾQ[r>$ Aulh@"T!Dip h@܁0ʙ:+JQ5[:";{8 oP>^qNs_WfLYn٪2g549fefo|ө\rytsUEz/Vn?C~Jɢ@LA6LHb0(uاJkTwYp@^>.] ̇2fb?L"aXM !֝ M$A4Ei_/ P*uĈȩU$R@Aؒ( tN)l0ӌr9 b pTiuw0oƔތ>6G!2^ Ldl0l#i G2r jh)W~o0`^?T5O,7|Gٛ}h@s}8hDdI6A=t#ɸ8!G}Kă,&2MI(? )Aa-`)UUF:+W?ĂU6Dvԋ@ǩ]>PHM+ց(k)w,b$>z":ôEAON2'@_'2*|`nnਠyᨔG5 2!(DB ,K!+C ;Ҹasay20z:AuC NN˓;T!wT ҈+Ӓնmoh *"!bK k* zDU@Z=JoHҾɎ&2bFJb$Tp~hǏ/:(*xbuPqMI z";xp_^8vF" 7D#g)wܟ7.qGx5z- ^ jDP_ FQNɒJ-wk`vc03m<'z><Gd*  R v6! D8 UUDUQW$A$ @Wz}&}y監Yn;ۤe>xdQEQEB(V("(7h0t9F(,H4НcpP wr>0pՂ .SMP1SK!Jl3}ߘ*٨pr=q)qSL@@Ah88őMpSmރjoݶa&'zH~}[('4 AW} T(H)x }@ȉHR "IC!pJRP RC"a_G=:A_h7. 4/a9m* Kx!BpBsdځh}'"cO#8(<СoT A>D7D0P>(`M PVykb'"`郰tBPJ QzUVI Y' @( $*@RD*@fN6IFTŝH@dҠeS\ۑprW%OviY"5 .`xF ]WMӔ)!ƶv3FMtMǮ"w.i7Ƌږ^: UQ]&E- $FbW0|gGZERmWK.˽k{ 7ZP 5T&RÄ0ќ<F^ D~F#Aq"2  hB Ɖʾ1iJf١ )`ùHD".їH^;p; ytԂ*Ī2MSL$ w ww 7]uߣ"6.${HL-H`'+9%4z-Op.Ë 7)¤BH IyOt0/rq"HAM4TCVVfaXYһ9{9wrר^RUT!`""r=F\ %Q oG kԷ%TpmzN Hzh1&{Kay/ @Y:@ 5@sz%JwtDXOrPVNT|Hwe ;z;#"t=b'*L6g٠jH p=goknooZ)z|m)Mv^-8ZbokڄqRil3k)f=mRn$nGbiz}KԯߎRRvƚql)f=S̋Ʀosl޴8u"{NT hLH($Ч0MJ .υ[Lx.퉴IM'~.NK\l! O=0$NA;RK1q)(̮E>|3gg(ˡ+ ƐD_7][0oYEW*Bvz+И$;9EIS L]қ#nAaRa_-/&dШvnP`hA|eA"O>hԃDP|CFЦ QH=Pi efWg!;EO"5c?Ru,H_nǘ</ 14HԌIJa"A'B(wXHwWQ6×y:=BV$7nvA%EFǒݾ G*U() "~?_HP{:ԙUiKIp>J"b1]9;{eUYiUQ^98kPdg2ShJAOO۪UTSꀌj7*1+oVfTUJU S*L*R]wwwFl*Ȯw.էXNRqd|;듺;w'uo Oqc"C'OK8TQ8~><3nKna-uTTEQ?][)e & Q/J}UJ)TV޴h]ʐl)S6TT*T)PXRJ T)P[ Tm*<§ReJ**RJ*Re*)V2l)R U*R)V•e*JTlX•mFN*0B T)PB T Tl)VRJ*•e*m)PaJ*RJ* Ue*RJB U*`R;l`T0HTL;N¥@ Ju TR*RJaSlVR*ߡ6˃m'VJRJ*RJ)PFRJ*?$¥FR)RNJ*6• U T T)PB&ʕ9RB T)PBl TR,;m*/,~eUAc}=;U)րhun21" zmJS)Bj"NwwR⪪UUv]Yt$N<\w KUݍ;(UTuiDF̲ yLXUntTUErcm==TU)JuRT^Zmܻ:\ݗUT\p]j)jYsOLWLe6B-ѽl8.[w)p^Tʪm{%{0 /Vg0P~95=C3 v'n'RA a3\|ceTh*P39pֲ꩕(ڔ HUUNS?u]ܗ^wwUUUUUUUUUUD{]GSܷM/.ꪪumUJb\^n+>so>n:@QD@ACg"d%;BPXSDo'otv;qZt4V ʓgֳ<>O4ƜVmcυ_4S1;DEv5RC 3"+dE R.He|,!1Hx hQR6׽fwwy33,ud8a*Jh*CI64Efc*"%TBhѽ)a=1Arwvvc!BL\rfsֵ]!3Lt65VpƶG-0#-A]F5Jb('x7Dɡh ]0a|8EORƮwe(;ʹQ?+ih]hA9A.mF&X!(hso/VqOTLVqeD :$zHV!lysCcؘ)| V'|C (:9 e1vvbwu K&:1sRE_yOAH hvACmp""Aܽ!mR!m_v1Uv8(E5ysV˟|n8rK! d#GWReI&|gy% * cp+,I՛ATjDvĪBg1Q6(*BUA+%2JRwfe*:tj(NGr2!ZTϢG[駌C#@ $ X2WV,mI" pR.BШߎN(LnpKF'lXDH JV8ǀ$S`8^)tlHܣTUDd\Z~$̓~r2<ڄ lSvURUPxʪQByD2!h5_:ȇԇCNCev 1tG#J^xҠ&TI#PGd>Y™7[UVŋj*ݝ!ܦMҾVق}V,9D, .Nx+BLq!^кGxp-‡axpy9NQGÙI;9r0HZ; (Kޡ]B'v٘qLY\y94mQvW0 "b41_|bÆsap3]ttn:Xa&@cp*BJ823R(@d[""T8@>Gi/+O-8n@ i^/͇?`ƚfк}YzS .Pp|ýy!DCUUENئMD 'AאQ$@RaAMD=A ʱG(&nz@羗H,Q $XpY%/'( "&GD.Uae{NPR8=:K sidiCäa8a%U*)Hʢr(~N|~/{}ڔR#C 9 #SH"|H_R$e@qPH!"Pi6W@ pz#k_ pd;=,3XA{)ާ~u"\  lQ ċʎ?DD!WbkB~wQ@~Bq 8I&ii>|EqJ$fhJB$ѤI]C|˔Ee1/n UU^+7 ?KקGE?z^ bmt!Ǫ=RS QdSڏ@`"TE}@`9[ɒ?OcXȢ%Y**b" *+zxHCaDO0' i(5ldE `#BoXxOyD5D~=*H) W SY~%<vvUJA"i4RK@>GɎ`/!\Ok}G7ig^* wC.";+ȜPzoh1%Cj"JRHRDi"FBH >z,{# 4$ 6sNScfHI{R9bKgh aډI$q#C{z/#<̈@}IߓaU A>p: )o@~ D5BR&'ߤ"uDLMPv79ȤB:P5@>@TF;\h^DWAUMwu )ațX}v'4H~B@ "|hPɴCt (LhbAN{tM_))JF%1y2@) +@._2D.ʁȉDoXe1TD_<8QC8+ v)9wМCp1^RQADz9ȑoԓP)$Df9$WMy6t𲽺6*JQD)0 hp iA8PNv|T,*'C@ǃx&^ L)P{]1MWbDKCĻ창c mV9_yw\] @  7QxygYN>?brs,PQ )$XK)z)eGm0l9>U$$$(i40liuF[m Їh,0l@ɥ}d,)2/Yp5Nەu5w 3TEe:UYŚe^^Nj*Ci㻭7Z{I}=P{$5dd$PF0i&Jb5Tj"w[猈MKѴ#8!,xif&"hִ z7l~ђPI[JGʲ2CU@ !lx|aETzDCԉyy,>@@H|A\_@ =0 GT=p|/ ;M shCG98#9^B@y{ꪪ=EQEQE (((((((m TR҉@;C{>F4)(CJN 6{P§^!`F):S:E4 p=jS*\NUGWOA7[$HAVUL}YCe()("Α'l9ۂ1] ^ Ѽ::FD%PьCR>64ҵE:6EA8*Q0GK\Z[ff\s$I>"Swzc~lԂz ?o)clirЉ-GǶH>&gl6$yԜ; ejH;k+ua{}PեV#0ĠYkarYU( I*՘eVq"0tˊd}:oP G??UIda?wxr7nqo?ֲ UǛ?>|R==qa)r\#&9C}u[hÉ##a)j{v0)5?-W~`T&1&T3;;1À6+E%:<0C&1C! ؆bcٵ 3Ѕ,gTHPy =*`u2FK@0"#<DAne+d]d / #.7B0s*KFwc; `(yAJ F;| f&aVS({/ Z-v)!Z<d2d"r$UO'}n#}Иd"iXdHBD) HT(Di"VJF%A(6bpN6  S)c̀Yi{7OB=KGpu8n7x/$p;` t.hGczLSz˶ =_g/s1dj~u$0ב"6C 〖HjCrz'A X*,z׀Ԇd #P"Ȣ@a Iu7_G<*.xXX {@Mv9V):>R^nvX1BFUGrg1FIHvb̏^lZ~'C~tPgP+đѠۭ8\ ڄBP 7ZMd]D@牡ya+6Wg%vfRP TFDC# ̖$?_9jS&/$69݌^kzƈuI6y &&,pQN&o< !`J`RI!,c3`f +;6of1(U|4pN<6 "zupw+0# / Q 2哔K·E[:  E(wD ;(c:/[loߢAwnGl P%_x~p7[q ~MjhaǕ;b/bmc;["0e0$,$0|[b0?0'4_H0Wӽu# q-F¸jtRDڜModst3lnMVu6{ b$hc2c ҳw4p] ֺ5ܫ˾{I&go1h0`JrT4ȶgR2ؔ iAG &M/x/F=)ϵ{_ H7[7KZ4:+L 6h#旿GkDUvq.ފ`,1&]α}" =uQ \';̶tD2b2{d& \IN>x>@2D~m} q.ViD:wyEMz;1p$ K3?TUQ",^CW'"Ȩ$%#g~ wZrܓy`v7-kR[ m4/C]CGߙR]H<ջ&V [#$UUUUUQW\>%gzN*#Mˢ$Ȇo-(=:{Ph=Vhbr3N|@G}IeLI=ulBoIgZ, MBP 'YPsDH Ey$yW ;?WH*n LZLd CE{,uq038|*O7Ν$?WȲӎY%~ˡH])Bn؏OchVLo]qnqX~y/e|SiFf#yEFQwlE;G~vki_N΅".)Nf֩}+JnfB8UNޒ1zX~_^̣1)GaC/3I@4 ~v+yS=.R-t0_T{ X:|!~;r8ds*E4 ZwO pƆyZL3#nuۣtqbѮvb1išk.joQ1;.aLA'6HBB`0M[`_1<䂇0B5$1ð"uBh "y!0a 1 bX6ÂhQ$8 wog9T~XQ>k1 O+ 3DaPBB~EӼݽR-~䵳G cӷlH<|eChI7 W0N=A]d~?rވ8`2%,+PDDD "dNƃ8L@(20Er0u.!c& .SN!9GyM`@RG8$$'a ;PLwabRq/WHZ8 kf Mdi 1AǬG&+4N[*BQ[ϏH_Bt#-*TTCJ'|FA„cz0X Zj"\ZصĒ~A/7@[ ?StMZ3Q:њ|׮]f>5 HCDB ?; dˊPj A]XWUk[S^z,ȇr*{`x(9~Gg@:$"p(:cz nЉ;ɛIۑ CskfHP-'Y9gAD T@7zEfU;L6$xaU2* ]LE+Zq祰He"wv}4. 5XD[` ^M\rqGgԡqz+翗ߊ[TOӘz+ pI>px#a=r| p H*b[c?.p8 AyS`M'=B +FpFzH+33F0'B^NA"(0G G91F0 q^<+P"M)]1ZXqy|~Rg}/"<0{꨾T;8a>"bdMz>or3Rp<ʊhZؓɫ7MS)ag)Kˈ[C"O p/b1hTveB(" i 8nCg&6^~;X`!FB$"*7  &F&8Hv'-'pl>I҃,T}[3aX0ũRJ,cAJݫ[=IS)t#+v IK&'|+y],,iUS, TQ;+ 0i H4C>b˝>c‹Zڧ5u(|PgwS; MKJcFVOO(c% 0-h1.@^a=ȢxE!Ŏב |ty{ް=GG1"YUXݕEEUQ^kH#5h?$[ 5|s`:ihCNl|@QA/,<R +z AJѬƖF =6 Ɔ˫+:*820]T.ijʨn5t%"M  ̄O W'Ht\f,ae.>vWBAuːi9˔&n* U乊f2. .2[UvG=pl#.r` Y(k <plsZjev  TS!w+Kc4}ϯ|HOEGM|)q2t ?" jR9L1pO0!d j"l4b~-j 00=h 04SQQ1?<@-@(襃/ƅXh_N ~>Ԋ !!{op+7"Qnl;ׇo˔p" F%)7 xCKV^Qފ_MwY$XgVxD6CUI &`kÛn/$$8:3͝jiן] (>[s4Qp,>EOx>7e_f[1 O_Ƽ#)5In}l>V[&XO$ .kR~w<ʩ]z/DA&zrz0A7ΦˇqU"HIv2uuKHu ovE^ \c85 e$)R`u1qFH伨*r hzrDQP @~O s"H@BqW:`s]r $L4 XRs2z*(9K3b"=E,#I09GO3  Q<宿h`A 5;5L3sY 1D(PU8GI -TM^[]lm0d)"6qhJlSL!/; kGY Ec_F,fJqӾk]~WNTR/tjjRƏȘ7e泯+50 s3ϟ8:{-~-ڰe/d娶۷ADI 3"S_ZMޝÅ7>$8#[ QiEm#zgbpCJ#*FGW2s nwu-۲kzY{F* [o8f݌ҁ xq *e4TEXv)F V>J}f4 E(:W , =Q.CxNU!L TGK.2D\tCOWġ4'yΤs-/p! ||=.T☭B lWىu\qt<[n۾ja3}8OAs%>wOG~@_i:{s9q4SCCA:0`}p Pi(OL H(i@=aBCL I2D"H4G0$CC|61+2BQ $ $"RRAhhm9(aDRM !Yw4 } ľ6H Cؼ:y= 'wAϹT_DDXNxp#@ӊ,vÈ!#kis/v.$_%9bQEDES@JRZB Y"#XDaqX "| 0#%H` A(P(B W b(E)Hq"( %D"QM+ nR,TBqOKW:%ll'{䞣ANDӁg2B^NG#ta!~ph]II XlkAH&|1%%,A4;"ᓂqrz1,1QX`M Q:.pݍ y"5muv:j,th M j|;w_z7i7$ zK8.}͒-g2tZZ46DM<.8K(xoE0d$lp keZ:fLcd0BVXgq`S_v;)悉bva`tXFWlP8[սl =?4/h"ET8`K$508:4|Ou1 ' j j] qT}P:)8TrS$d u&GL?'uAF+ET:]zLDTބ FLGL!){N,"?׼Sd8sOvC4}HʡD*n5Z/qLc7 $2E2̡D$LKCL3 T4P,C3#26^ S6 {I*wMB&CJ!C sD^qbH&bL8iq6쉓n4N$/Bg"H!*Ir+ChSfG_)zS a&.a0Kc >ꀆJ!a޻@'XhBsyQ%]Fq^ʘMϥ]|JB[Gip)E{UI>s*x{%3]::(` X^߸0)ǼFD"*8A#AM!̬sQHhRA ybJ ($& NG4CAt Ùd#{Ǘ̚S$1ł!hಝ Or ł P=Ǜg'^a.3LzO^FQԉ@ՐIscYBaXXF m듒IBR#T5 =^7Sf~ꄆA{ 2Y IxtO܇+"F$h)i $1&,+TU #R*YaHi@  J"(h*D&I Pj HjJBj))BH( &% $&Eb ibNHV$^SLx~z2g?mpr/&Ԇ`>'zlԛ0oA8SFbFq,m?S 4+G PX \+ĕQ%K* E UEZtN$ۋ3RCo=jpMceTAC@`sׅE筡Hd!;Uz ӃJPtEӁpUDacsUoP&Rv~ydN#·o|7 ? , FflXU & 뗶atk4V66d$ϿG?C|Q$ACpƘR 1LvpV6\B2$U]7kF5l6M 4B "\ecf"7p'Œv8{;Jژ vENM s0^bVvd =Y G/^NjA7oC/<0E`CydK_ o`>Yb:J^۴޵2J߈mv ) wb2ݢ>x2 3Ӡƌ[iJL(êJ &%%@&E㇁3kI&0tn3Em$`YUGڣrJ), 7 #莵 ~O~-3/$'+@ 4cUԉGd0T4<C`bLQ EPSBs.;ҿ2v76?^4!q:;TQIF$h Iϟ(e2و6 *HS(ܢ1Ki620;)ϑQ䵗?׳wc_}Z$@ d(Df@ñc9_3(QkKܼٔc=]ÙEtdolڛRpoay_iÆ#F>!ha53MOCG =/ըcGYn"atvkaw뻼onP]0{'şj1Y:x [BHp]'/fmyJ}ΠYd:cb ŰRTdcI#$9/49A֎7n & iT`FD&1C2Axȇ!9" +ؿOS29%?GbGA4-5I\pq {ZA_#<v6]8qFњTh !$2?$% 16h?MTF($d>-)ä!,X& $ d4apBv] rHÒ/p/p 5  }pyAMTZO tiCH=p|}AD$$N45Q3+`g"R_LnjĆ|)\ʝ @x(y)OuT>4.e Q 0!PyD31<&t2$ АEIP1RCh HɼâNSAg: J4  H$*1#GR!_W(J:N1#2A(\;s.rZ iG P1"L$%Cdj"N9hsU; Xqlh! iWU ЪX(R&u4 ] !0{j pD+Jp.v܂E=!ݒ"VQJ5M 0h$I#E㒺 \o^<{ &i -z90HWQ𶸄Tjӿx$w/Ry̠0↜mR$AH6;|U BH~kGl OXGA51ceE@>tL1,@H#.^zw;{A<.|eMQQ;Wy$QNR^aoo\X{?kU!P& dʻ4Z_(^S"7qREḲvT^(&D{T8dPFAj`CJ#qv qRJ!@k D@ԺlB1!"5Va '${0 p~YxI0` WmU]<-IBˉD( K`bJ@)@'(BU\(PKH$h!=7lmHz :e>0(~ *&bp }<l9|X*A_MSy|KYEܟWCPcJBX" $yIR% RL PDUU+35UMT t(Nޮ^Ayl(T|3AFTd&D $`E4q:4Ql eC,P)LU\Mi "!8ö-"ez1'6tt=`v;%!D$2HT|T JRĭ)P#D9AQid9]h(@$Z/YqPޯv g>GH(xY\R֊*RẌY}1"2>?~MMU@#.b&,ˁ:e㶷nXPጮyT+H$AUxpJe& 0vAE`;kܧiPpo.)H%ݸ,a 14P5hҐ&69Ar'ќ #DPL C@. 8 Iṡ1I H)'<;')IGsŦ&$9MWp\xά<9Cw>p~ƒ(Wmm7 (QFю‚S#"R;ma;$ѹ'I)BGN*$qffp@R 2Qsm$2y 3~ބxdMw= l0tiLvhI я L_ (xN|CA&h?r)N@pHUT|jE=RՆRPՄd9̩Ht]c1fbQC =B4E#JPz4rysk݃rLy P~l䕏€(⿒'D.4 b Ga$;8 CԊ4PD%!AܺH!)E>o_^72 ]C*k'(dJl\a/.3X LT )(w?:>~1GBj1t}|)F܏ ʲkskrA!?z"hu'6a.106'!?rS~`DiIz`w;o6m¼L:8q>@O,&z@] PdYBU"hP7sE*xQND0,hx82G>^VH@9%A(d)@1w=!|O@>}(=H=dRRH3,71;4Lv,thtA0N)Fwvy *Ny}_w;6ѿgqzG|[O\V'(v|Y`2kv^"xjdχAd:eW^:}zE9d)w30 OxJƞJu>&"bS c 6YoF,_b0|xgEUV^ k[n83kPJxu7p2ß^<ɭ?Uͺ9zK+O ͜JIN60aʁU߫% Cþf9(NF{#Z*kgi+Q oWv5F,軫9m8-ot4_ ٸnq۳g6[ۂ>IH)wCINt48R{O|s՜G)%pJҺi})ib5ŵySIZV#Q-ړ.Ժ MrcEyD<[G"*3;Ik:J'HF_JրTH2>^<QUp< uZ s\ʡPn(Sœ%P흈BLktb5m4Y0m9[2^qC tp{ H`HDsS( BH"c Ii̬_u^>yEwh3ȕ#Y"L4HA4du<)ĈlQ6_lU%A \ Fo80آV0 @hr{aR5P P2Q\9 l{mq;x<ACJDijo/kaBI]!Hi ˪l|Xx/@3aa}?jprVX:  1A h!E yꎶ4 1|F4miB lr܆ODsˇzFd& ZXX3v olSߊK乚6s#XYTR8I%fquεGnڱP)fY&;(oiB PuCF&G"9F؋4l "#)A'Q[5D&%tN: m{Zr&xp&wh )]lҸoQ[EZ 5x^UR4$5 GoYyUmCcV.ѫ4&CL[F[Dcm ^;^}!-ᑄy䈖JMtAM NYxi.VQiDŶC9]0lrp|0uƷ kr󳚇Y-;ǯF=$rj [O2>#5%pP7=۷5Nz5#NǶN>b=bb7C0d6Vh׏xKi@!^,B^{)qMⅯS=$X+knXpYՔ̋q~O#2yx;:^`Aߤ!Mg{ǙƋ8(Pmrd Hvk%݁xS$9G'7eӠW1AhwG%Ź޷ 0(45ɛsCzrfXrݘΛգl響 XBK'U-5uuo̭ aҚcn鸴9ތ/ t o@ג,'z4Us㒷%u!Tg'|Z{\h.VIkp{+ 6%W4kJ8|J)ZF0pОO wNa~J AY찡tPΒVnsT$HJHLc#ݠ6i@=Ԏl(ӝnXm&5h M-!WSOvtaVflf]ʄ*b=yXxiB⁎]Ks+Љ^0e+Z(caP>n$=b+$+h~x[[iJ*:(]xeݥ4̤MWZF:ɽi]ed~QF"M7NdW̦_D7遶'4>Ag|ا D0|4RhhMx;9耧~SXA Naexe/BvJt0utנUs]!"3N(3F)s`DVb-uεYX !=\A8#$HhiKhla&Lc*qlD[KP&ޏGtڥqzmnOz4.xGHgGE߯(<̗):CheGހF!`z;_5hv0Zm.n]>\ZMGX9raq !:9M44g$Oʲ%CzŎlB6׍g+$-ƪAo]:Pb9v&v_;tlFEzkm mZP2l7lLidzwc+ўnV6-mv@~:玵\GY)=b&1VeVbQwWy*){vx.}9众RB#Jբa<< h}!l\$k5s~+kT]׆_a6t9%qx+[K֮Ck{ 45^mQlq0L,mzx)W~]p2+:ҁ&B 8y,Kx3z=Gi^CgPЏxC^n@]hV BR21$6i #|޹,ou*b -Tm^:(]!N+Co"} `v=Xt<I; H0њ0XM+3qDC6Iw(I=&`6F`eF&mu*ܓ)[l&襄 `bcG>h Ft5|.=t=l Jd/ :Z08]+7cʵixwr:FX r7۪&]ɶcQrq Ʋ06IG^tf4ٜǝYS9i,6BB㎨f1:֦fk0qmA"ьIRYbÆXɳ9#n5f=o 2ijYצ(5.@˰|b pu&U:8ƚƠƒÀVj[Rg ¹Q-u#&l;2-c755w6`5E(kel6l=7J!Ŝd0f*+8,`J(Qw{YL(FhuJp RI4?QtXKDdp/C{i96p02zkymt1< wA;J;BfR'cUvn",ّ|BRzzb(1e@E%pz؃QwcyUg{) +XH [=J!Ji0!a./91 Ri疈!LV |@had#OHW))I(v!I@m?%p"htP=B! ZWqD$ji0Hvwb- ĒIr?<`+@Vd0@"L@|3,_M ޽`CVLCڃ|P#=Q}">"@z`k=CHJ2gUrRA !1s}(&~x>!\ `$2`0!*$ z "*a* )IIS~hlOJPOǸ^֮|3FlE.05ޫG+_Zt  L":J=EyIgh}x:}% ƍ3[r3W~z!wneśʶ=Jzנ4>g\C *2i 5665zݔIPY8T%^ ObG aEiVmT*ŤʹEL1gT [BJ ;$RTL-{ᝳJHhl}D<x)@E2NɢښR$dN TjXM0]F>eժ3%6.W`>ym58!i&ce-F"%ӳ w|6TqQ $[YGM ̾(#8 SK]Z{AX2\EaUh4['q\RfT XTǏon͟GК\dOAHz^Zvgtn,~M4?hhlJF u!ό_w\hsbXI*T@TЎ atGr T`> Y&| i*al0eGPQ)Uնv\H&T2J$)cM3Ν1=8{ً@{\==`kĝ˖ht L }^o| kkj^ov\e3WfI݇JNw\GF`?@Ȫ5]2&(|; ȵBsΐ(F@%4>΍!4nڔC%!r!`)"`&^Pa;G/2 XWs#>qqh>"`("bA|S ^+ xDj )7*{DY$ac@|b; BD(RP6!<v}c|B ;3)R(v,:.'dY/8b G)@& ئJ (gI>\Xg T66$Ag$TW,rՋۻ׾l_`ˣ*5oWcH |ٔ/yDnvr[vrpU7.Ȓ0!< @Kkm>&|)i|a:6% <=DjLn~,0C%u!N^p:LRlXqh`h=;2}ll=j_>i\vx? +bc|'p7!{ø~e'pmm#.4E9Qs h.0_ӗl  Jʣf6N1&6;}D^ΜI-(LҡeFҐcX+}^Z(WDS"PQevsf*IeDIT@AM3"Id(CUA @(EX; ?ERtDP3"SEQ&%U;fUd@RP[1$L0|~}ОkD@vKۈ" !YAH&p;ʱs8&aay&iCط$[RM&Ν'|PzbDѰ=K:lC `={ޣW۔6 %$v';? )ND,3 !B?NGV( 5iс}QHePĄDS> Z 7hb[\m+mCD>@LB@FFx}`A=ًQ>'pt}v'o?T<2!1Ibh4`{`;*AC1èZ샜GzH#ZR\L/ !0B&aen %iB !NQ@9X$`;C0H[ ea>}Ovژ-f3D2A_Evyna1(e9!Odr ЃW}qḽ AK] I6&!֍jVv6S @GSi8t 46fOph-j"GdF 6&t@瓣|qL1*[\YnQ&vҨ"ٳ^Ť),UU+[ W/$iSpC{.[T)cNާ]40B_$FXnmj8dM5R6܀|@0]dGlzu:k,9 Na2ҙ JRS_̈RA}f=Kט7 !_{%UaXu!h&S#&LՐD]j?I-$ EZ#6LEP5 \LQ1 DV7!_ [hZ]ܞ%"UTtst1Dh/A>~ܩՏ _OPHGsv;N=! s  yIb* )ST*CD:'pwvN9XxA88nv5@v$# G;N,N;m R_'p%'Z-.|8.m$$Y: .!)/u <)MRfZE4)HM 9"P FhiFJ&2`JZD(LJ'@Pi )] i HXZD)Aa Ё E2Jb(RX 0JYDRJt`G@*!HЩ1!M(%&1.R,A@D)AMTХRhҭ)BfA)c(ЍMA(F()$?=>pPC+$l߲|~`EC@ST A! HA*PKC DGdi"wCXQ7m14TͭE%%D]vNPhOT/E;J@97$4C Q)11541T0MK.df@*iHe>3%!QT1APD!DED;@ҁI^ |!ʪUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV4^&Z W"C8` $ =8" a=K(Mm@ҔB P"DLṰ5P@PI45HKDRL&ߘyI8 ޛC czߛyu( >Mw[Cuv JMA>1…ч"E7wE2p<>H"v|1'x`j,ȡHĢE@"D"DP(RJ"@SB@Lu1PK#bgOh> 'ot!:P}y6fT7K(z&ib"Ģ5@a#*P pJB*'2T̢DHewpU) 6FD6l?D3DA $N`sG>C@D/5)*M,)rɀB)0 n?h ,+W/m Nsz6Ćх|gyðv#+齱" B`< *#E TE!AR"A*JE47ۗ9!KD`*"r`[p}:0w&"6` |lp9(B[~QAɯ `= "ۺL\j@%.s)ZV#Xj" E DI/}|2u6NAS]0iƅVH6hzVN; ٶ=t;OcO6.b//g{}&/.t*4ģ$aec D=T_‽ SG{fAO,t?/"#5,0J2|nbfU E/V* ФKhG 5MD6MQ$@_HiF! FRzeaF`ZTB Y"&%B)0J4 2LEL SeHt^Qm OhpR8GBeÈl*P@%"$JtK $JVyFD؀|̃)8iG~O࿖J\խhyDR:99aL ~ըmV̄)M>#) 0;ԭ-h %hQQ]:ZB3A.6R"#qZC#љ& ھ' ׂBLy(Iaj| !_/Tw L ct '>_=A~׳~;Bl!ALjbh (P^/C|M cHm'mH .'|lЁ#~D$ 4'GS٠I_!(!P"I ;G%@TJ4!$ D$E0FXCP> mXDCEHwLL2o^t!1:7pֵ0a: 2VNZd̈ݖ61EoR4٣%-&4DBbsh$1\єa\ ~ _~pÁבN\i]U/\(הߙ c,ַ4!g/u2cl-67W/Ω\9Ƽs- d]f(EkkX,OOt_,D((3^<J gjɣm\B08k+JQ:0tONa!XH"@Q{*հLA;D& ʮ 3}{(?nH„\J@ l^Pa 7'pMMk`l5ݧRvƪ d\"ޏ1H2^Ȏ)t^!mJm$H@ $ڍh"Hj _3p|Dt D h&!CmN(P ODP.1 1U sDdNvn xP? ?fPL0 ooբ5H%zxJkHF [P xYH\@Hc䄷_,zy[Q K J[7 xׁX ɉ}^50!BҔ+ )014%(DA,|JPt#T4,EUEQ$ KKMPT,HR2 5A3UJ"Q@ABKRAE%HJH%rQ#B "P"G@/$5D"*U@(pC *JIIbBdV"Pj ( i,DC`7B|@j>_@W;=qT M$((RSTJ!CQJ CTM ID!09 U` Ae"" 1?% ~tg4e׏őbFu{/l~R {)Ch>E~ _\@2 Ā@!8|B>yxsG}DkF%EHYJF`ѠCI#!>:n6c2j]Ǔ0'O!ZH;0rhdC7'/А0DHQ!DE 7 :CFA]!Dc\B<x͂|m0B M=+Rqq}at@=hHC1A&IDDC(i(N6"ZFDb4A &&j$;u Yz4 (!(%%_^96zCET'Z)sLP*~!&h!s.UJB r!̭&bJМ ˀbD̐Vvw8.q$d$2wSn}Ёɰ&7phUbO)x9 AP%THP[!'!O )BĜJI ^FJI(/d@e IxᢢpTSE ͐+pj h uCQ @Mׇ90G$u;aΞw  : B_t}h8Dc2JD1A@D$pwToÉG"s9h$W5x+4}2JՈT Gs|D/tndW;eU>OHeYBZ(r@v@NI08p, }PPR w7&޸=+Gaq)I{]psHzhBlၙFi`,1ee@U&9 *Q#%v&XbD8ە7S);a)HJ"=bS@)M*0<>ٚ͠ط?WϳJ ^A4cnJqEy-DJ@ą(@J> `&T #1 &` `4TLL 2 h:aDY ;]C0N!f@T%A.KАY `X*_6{ʝJSEhNtQq"UFs(710 WY,]RQEͿ㇋nC{Gh#Dk7C8q^L!H &xsDحBG-c;!by"&}Tp@s 0xD99 B' S m-A!szR wKʚM R=bl[wSM!fSzb !+$$PT4(CtJPBzնdfIrC$oPٌlXgfk!LG$g# $AP3QMR*DLTĤJ܋XD(чv#쁥 !SAӺ0lvZhM"RNd(s(5B:QGvBN.İHP M&-!GCQ(='<nK&zV-)KPmt(Ap%t!z䴔'dݐB`0)BP-R t`'O$@U7$  E-!䡊$@ kxi#@'%bTz"E $@)*COi19qā ?vv<&KzO? ~b " Yq}&ApnU M$E>IBHk{#/B_Oc_o^e[ PT?^u"cc#.lB?>TA.X E\&*uE>>S _|0&No$L"yf'\3yP$ Nރ:!FCG4@툎H) kY ƌOc4!̡L)a* )}d#fi@T%Fn`19H Ӣ^ G3c1MPCK͂dQNոvH;H7H0!2 B"Q1bM8 .7ƂfX"f X8BAa|RPQ{ŸtU1@"pd͈EBn@(=xNk[n` `ٚӋQW^~pz`AurcGz⺊ENŠJQ*XjJ$|קvmmE hAG=4lN5(kbK]:蕽h)@T@"f>oj~& {A N }~$M 0TNϙ"H*>v#'ˠk__Fg0R Q>YUD  y PPʭUx5+dI+er4Y«_Ö0b~v7v@,P3fqݭeYz6ʱJAc\ 4ŃƋ#z'?W~Ѳ.'YJf(iᐉ臠M//+0=XN=knNDwa1&G8:կA\Kw/6;@ F1tƑM嚸*uWT+g461 Hw1aDxtx:bsɣ.P7{ZS 4p8g2`ڃ9. ᧤ S eF`%IBAڃ*DH0 >=`0@$!0`yHD,0|D2Wr|>[zC;8bS( /|QW9<۷܂Lmlxf3f&. >B7.a(tCmr)݈>` &AR$>p+~)-g/OYB t uu+iDI43% -QJI$0sy9Pwi-$!/zINQvR@H M(@i *(;J? @|G=$*ʼnF7m%ސXpld;1A}ow5Tl)GX'qA8@9*xl`;H|$$O<"(B5ED@pǁȨD@hX"f ~齞ˆ-pNt@I`k/JMx({1ǁQ.k !*&tL^A>b8'QLP' Hh#8LGC,lj<4J,Л0"hnL@S O/xIR(i")@ m(@A {GŸ*~U-`'.z~gnÙ@3' c#4BR")g3̂ oYt_ӝ"<ױU߾j<0mg /0, ηv`G;)" P10Sb6@%`]CNWP>/zQ%'TeO!z1,`2:87MD~t<Ѫ!ɨ.?)^Dv{lɍ 'h/T2AS@=~?`G1G \c:wx۱nGq@E?dKŠ0"7Iw!"[ƼBQAII(QuhE:аDA涆ә[iNĭAptBc.mU}v;*[tsjrIMDpHai jGOLV<CELu󃉱3h㌵Q7-ŕ!EP4S&"@U1~YK=.Ý9u/w{5>X(CYh ݴuAj8Ayr"4I(1AASI z#CrhJX>b!@DJC3uC"E@P$B1 ag bHaq~l;b߹] נd' `RDO@zM.S0Xɖ%"BQ(+),,~ 6~@=aP@al~([1*CU?TJɂtG{c;эlfcƠyN4Wâ(6mH#IiaM~E&Gyzt4p  lS-%{wvriDf(@?6<@VbF!AMHpxbGFŤsr$0-6}zljBP)HRQ@QPDRPDDt'\$I-iM2SD 4Th&&4D4P& LM A"BbH !H%Jf)@Xh(J!aCJ-3*!JJ0,K)h"FBȍ tH7Hn~A( j!+!·;OB$, 'y}ڎ{(A2,OA` |"D&u~d')FxHBw@/-JRBr C@brYI >P 7 q`{"7lY|MyT(5|ϒ:!/kn%N,Gtcw< 1pn.4pӰ7  >h>ӄ!,Y2h)H LE΀𠦐G ~A򟧅T 0`vM##mj Z0D3IQ$ElefyU4es r$`$ " cpаRPSMOVWUH,HH9rj%g=T9#3QvG1Y2)j=GItX!ĤMf@`Y2c1TJ2kb"ÄR0p  "&8<$d9vHyPm|ME'x@@sM!?s"lR$"0/D!H Fha)!/밫mׂhf+48zȾH"387lED{G& 27qCn"( PȂ~3{p2"P&C-D `]RbD\RȘl"bmfD#phTG@s߾Bv NR(wzxTw&K@Mw#^_P @^bCX ȣ(/@ O[o |blB79P!wQ^D9knE4SW wbXM'd$) $xYG0 ( Z sP{xhrA-D@Cd _.YPh?RlPбc0`$BUxQ1)W8a vvwtЀ,LB@R M&У@nȫ}^*~Goh(l(p0@CK..C( SLkke8M +`%,P" m&?( 4]٭G* ʏ@BTJ ҉JXI(B$wOԓlXIbPdgׇvZF;i#&2%*2_o *DmF0e& ybҔ|@H {3c)I`8xSdHA9 -򠞇"a"jI"%&f"Q(&P&bh@>b~_pxgx0Uzz*(O:mZ?o*40]yjB~&?qp "}O "(P|w<7řy7fX ,ؗ?q~ !oK&"PRG 1::!Y E R*TIVhT{XF(E(&%dB "bS?P"h@X*,>3> S= :U1)*3A FI H$"h`S@4IohmI*"쉞$ED($J3(vn~ը\~R9xdj Xh+zt8ІM H~xWJ b-.@ wbȆ4!Dq!)bwI*"+99o^JA) yI*פi B ~* y}yȳ^a@C@J9CP &Q`'~ )H σ$iO4 209U:UȜꟵ]h8J2ĭ%E=>@)htYZMI_l|i5 #!(yA;thE""`$'P&F%M~_ՊdMQVH3׶ A|1tñFfƋr'nC\bwe!9ũS0Нj 'J{$@Dn8|~#>SIAJs^O!FRC,}LBo8 /{bAN5<\S)@&O_Xýp"yT?QW|w/g1ݻ[&ﴰŠkрADfؘ̨hFYHeaAUnTRb$ܵH!32Nj W@10td=j,D qVP¨VFVDMIx^Du|.x$r%%Jh C|-H?GqN N)fd^!/DȧC,ĕT !P ʾMVߑ\CmRYJX,B9bOf=MHdPP.omt)fSTC1NbXdI:hU^rU)hJPhH%E!=H : & a +#@ۅE( wC%]7(!9P@p^$ z{Rs:S"(H`<:Sݺ/Q; ߥ:`vUϴY`U`as@j[$6dq(aqS$Z@"`` v-$Bm%bY5A0Jhh(9<&`_|`PHrl+eq|x6c(Y(!QӐf2 3PR*j*JrQT{ 5؈v9H9:ndvӪI` 7Y1Y:0OM|hOoɹ8 v _{?bb=H!d4 :A9Cʯꌇt9L^RhZqR<0@/arCMI$EgU#R?p8>!">vSFXR ~ʊiN7TUE[X|B'^2K0{ J"aR17z~Pf D&5Y +a8]C&~'{ ǷYAAj9 g ./u*8yO) 200A,A DH1QÇ@iP>3M. ĢY7 ΰ+;qF>1`:#% alr]-U!JP0H~\k0M2vʙbx ܊crŦF |LtP% IE-AH1 EBSƊ6*Q&#a DCLOs YjI,@R -4RA!C-r2 QЕ @4%QHH͂+"" $ !`ԔMz3Ipuh[B"2fQ¨ǐ!PÊ!DA *fd!)&y9!%U"'HU!;9\1khfJPa,Q!4%A24WRRH f(I"c5TT;ji &I# (6S)AiNT&aR&UBE%A5>I,PQ9p>CM[e 6qE R&1Z`hiilb9+eEW"R=(  D+G;"TÈaIKT+9$Cɺgт<*{R\ vHJ^ͭϘC;{N L v㜬VPI?J$zR j" t]ޤy؈o6 Êp(í"o>{1'ٙpXnz?נ9&`wߤD~/3٣|՛k;.Z+z5)`,H8`D t'TO~ Uf d2DO@5PҨTJC@%0{ad.8H8*h9?h 0,"u h `f0V%(J9'RBL_zFb 4\r`'QZI ST04B@=r>QNʜe *TT)=׼Q2) o})L*-s#TKB3"ȡYx tg>)}U-$ux=T=7" YPEH=wI ЕJ@! HAbZF`%!QJA"m%K, (HB -AK41<3Ar2- G Jة}EA ah&Ĺ%Hld- )(-&F,HGgp`cC4''# K/?( (m&,Q T(|"v )<~ (}ϻI68,K'p2>8n.UYy1!D!01I h*F; /Ff#>O#f¡ /\A3F Mtk3&)4"Gi,Bs|;۝:O˺Fg/ )s{+þ˞)tUvlˍ@B9)-xܶ_Pz~<@5B.J׵<,;L-,}G'uO.+}sn N%1CMij[2o.&麏4<|^Sk8fkB,S,3M2s6rrpw\D) 37Zzihn:VlQ)Fcõ5g\J E8DX}o'w#lӱECf9=>io ꥘26" d4 "\%h"R= [fN>WX4Uq4iaS h7xM]@wr~O?B*XBRM(vTYg Z(4i]1H63A0V2*iP!hڇ!VK@9V#L)Xrs rkvuSeX$%PkgzfY:9>P!Ĺ)?pJ#گώ:!TfkWHq;6kb%Ð8,nˏlEzC \IW6pes+)wPan۪'c_0u53 SQxУՙfdUǹi\y\SL1s6j5uE&|G^THkyjZg~/mAԌ0jT'&rߞ^i(DM9^$Rapҗ, K>"s]#OB^anow|s/8ml-ti{6[mfu##ckӻYUqGD2u#@nVcC8=4%zjZN YW.U(eR.%́J1fp|(љlְ5%+!WWxG5}ƢIV%jT/E{q[W繁5|{OY¯e%K;VTU4J  ұe9ȭj>_;mGKrh&({*YYVEyFZR=xĸ*&IlɊS0et,&T{keM kԿ-+UbLok#^őnזYw#KWb漁&'YsqF&]^|8FlҺ 1 d | Ur†;VllL6NpjOկLA5?%/Fۆsx;24, Ͽ6TXĤHL!A A'*Q^Wkvo6_۰lNu\Jx)k@+!F;W@Ɖ4ÀXxg 0!.!w]G9sG}豻mT~}GKb n7[; 'Nx3ޢ7W' <ؓ (I|-`P$ ,'.dz$"r#jpLK{AP$M;uIh4ź6Zf\W D$N1hޥٹqw鋆 w~g[G.t̥@C D C ȥ0!XOH ϼ@t'<vFR(V@ BR(= lDG$$9^L"o&`HpM ӄ |ġ@UdS:`Z"u W%P2U< B&x]Y1IE׸vw*XD1I,`SBILC(: h(qQO$bC\fM| 63SUnj*U4պ+6,}~ )%1QIKLPDFFh(**d"h*( *!R(  b$$( %aJ` J"*XSr]px;f(kFʐp?3$/@؂*\`%)@;ȝؽ Z\C^@=+e@I%BhZ}a4nhT$А`Cܧ{fա#,~yy~]/𝝰/]J0Ƨ穝w hRt13?3H6 9Hɶu| n@; ;)ᅦA_}'($0yPA_t ':ˎ&hEZNrVζcljADǭꎌYo:,Bgu4}329 aPG‰2ֳ@vE(b\< WgH:Ej`)Tb ( B/QZ$fqhqhiu{ kqcp_NcIs>Ҟbye>S 7[{#BCAg~4=ArCsx>_$5N(0yQHA4GpEc<+)ƀi2C=79F10]S@OȦBLRJB=LldQʼnDEd[Z$†4LbG18}^j(ApEPMqt|cڀy,M!޻y!;CIGB D)YPGL ޥvn'xޅnHPn Ą(6Ï 艇H49$(TE+rxѨ0 eZ10~{@D~]lx=8oG|(HҐzYoT<#m~%GԐ}(up) #H" a>pDBMX)odB"N1O}(.iMz͕`⧧gIQ3D$IA%`q8~z 襰 j&(j(Hbi_Aɚ` OSlى)-i+Ae(Ew9'1XhK ]%AaQ%!Q"L[-P0@pHqlጧ|#K`+fdcf&O?2cK`.(|N1e I>bxCumSib OCwg"{"c,c cwyeUR5.XZH(Fj !m(diI@( X%"f$eITab h" DA6AlP}d9] <% ȝ VI! [R G] .A`7XZR;d c&p!veT**SC65D-i2qT8cf*X %gA i c 4!|qqy=srHpV8tTDw tN>P4~Ostttl§7P1 db(P2 |R/ QMr 3:M+Z#rp0Gcǒm[)h7dB=@D h8r w䏫C\Fx:]lҏWPE y!шy )؄_DrN,1U 3 ĪP >f-q5ԾuTEjbގ:ﰣրCՖxfR0m*ѐ_fHL` Z ("7*Z r--B@(RS@Sj;x. M ߝaHKxĮ@m@xo-"vM[( i} ݱoI&"L?q=EQ"M:S\.EFT̺5)!Rym"R\*w՚ mzArihBF !<&4\'g$aTj_3 <h)> avC oB>m|N)'\,qS :!r5! p'hV  ö\si,@l 9#!XC" b;6Baw= gd;9g[\tQ)h˝Vl0WD-fՈ AhdX7i [t/EabX08ٛVߵE+1̕KM\ޖ4UneqVpv=yQf oX/l=!HDEBKf8QAeYLC/UQ `%EKi{+f6-7pX*% ^^OKZ p^X=s·[9q#J39%E\]7SZ*U^RHP-# H"@ -w`l*07Me1 >,!!KRȇu_Ek9NB` cbx$a\uyiJ6CP(͇&c׫9zxK-$bzQf}z"I WmSV#q\t6@plm9a8IFŢkS2ЭS-B{nlLL┠˸6JApS[5nGrfLH8 A8-ZE 9l;\tvsAiG!hvT&|PW+}`ͻF|= L:f-c. \ FF2)]fH*aćpC'Io3Z5U'0k[6˕(Kc,Ƿyf3=8X["Z,$4WEэ̩IBeypP+< l'فa^.m|:Pb,ιZGIVsDb<.juWjl(PdX iS(^W%d(*TD(bT G9háHrcd4_Cm9)wU&"&& njs+*JQ^,*"6cPM$No'{!M7i.ط X0BAMe":kg6\1iN)aAƋHd:cC॥V=*z4 *ab*"!]_aînN둁h[MWN Lȣ]dNޞv׎- & ݧpDT@E-sNch Au 5т P=m;Bh`4 h5CotV$ ʣ q;knu/9nQ[8p2l"FA]n񢼩x@v-?VuS:nVE@+kMhį5US-yJv~EO~0ߎ*V v666o/ւG}H_giK*weYL7PUn[MP8%ST1oeȁ:U$ȲբD@88< A23Z1;^Ve>jN1J, 9Ձ04D*obB.$47IcѥMɲr@lA' FȝGl2D;:;X.ʈr#pGHv񺪪4PRpk3j NXwo`h Mϙ/7.ecZ: dݴ5n0ҷ_jŘ1L}fV*c ,IE*D"_lpyZERsF ad=Z5@DiG *MY{zplf\{ {#t9ycp4 -`Qd`XuFfէ"2ZI7gljB2!Bƀ(A2*,ǚp-#cyɨE=9Of [,`Z6>"3ZY`ՈN" {WJw7-,R2OI`0vT}\ |U%n66++9xeH * w/aQUWNjy bd*k'Ό D`C%>3#qQ4؇S)9ܔ0IC0w$"d1Em D>R$W.(]_'^sNrN"S%C[Ol N#D: $CMĕPuH |jvlϩ(tQO8EG#;CTCD8DQ@jAp(wg׳n$SH ?$`Hi<Ԋ8D .UACqňJ`HMyN!ÌP,"tF P 9$O!57% I% RG)Ga)3ȁibBv]xhqՋ4! (r 9(d8Hk@C$1.9RC+&E2YW8B%[f:H X(&"6jLpU RJa c,B 691̘)u@VYe[BTHS C}!t{&F&=9N3 y8Exu @Nw/ֵ=@C@$"(̰,KE5Ko{QHٞW?; RE$ 6x6Sq#XhVcb 10cĿ;TcH|AqqN0ҁțH?&(G[- H1Sq97* XYYN6kα\bl|!%3 ;.]L`ÄS[뻢Jo 9pCϳJU *wh @~ӜĨ" ش4B <%8 ""!q[ ? *TB A0@@eě$@YMʏ0 u  UAu DT ! :oZPp"R!t",@B@iDMnCT:үc*<>n [ $8%plMYn.Jr69s"bM$ǐ@;s09 JhRy> ~ AD\` f6L)Byc'iz\QYn|AwJ ާmhAdk*+Z` 6F/-n VwI0;x ? uaVSFI\KKfBn0&Tӆ8Ts4>ttof"ͭ'J*M0c:_YxLp] Eb(LE1zQ&jIΨr8N8pUhhi R)f"Ӈ"Y&D@CTA5C3'2aRq7xzuPQ4Q)r LlT,EE H'.E!0C-Fλgc DOnIk0Ȃ(m@$@q ˅MI&zAg lqaZzOB"HAJ1dfBm(pߎ7ldx]3-Z$PJPB s\YIVbڟL\k '!!\&Hh(&" A,%S9" ,‹H!2UT|b W|&("`Y:IT#IND*ca0~R0&5ۭߛ~Dkȁl2;p7'wcd'߃_T::Cw\UrDESPAECAE!Q,TDU3D11)DA1@UDDPLԤԿ: YԟMd~M/O81 y?$`40,?!=""% Nw_M!B>ljt"$}hl ՕA' 7As#ҌadQx |.Ō  To4q o53"zmjٗ܂)̢%L3_pX(n^o"$P2T ODC-҈Yn@Rpt(ET刅PTLKRSH N?0 [?Hܨ`z.5SASk7O̧12 ! 2R;*rm |t9 MhC5@!2d54PE DEA#I1ALFnb:S'?KT Jc+S(4$ $HR> qNRu|O" u *ap?łJI'TZ'MˬLZ(E?f]Ɲ PgA1,3qu(m2H#%2 blE lSGZPN#gh` 4}A6{|NéXzB%8.f BB!2N= }((ȀT0PU-A2$JAyǏ0CԩA2!˫Al,)ρrZ4:_A&*?0i?H~Oo8fA*rʙBȐOɧ}~ ?L&Ledie$p?!)vP> }8`{A:!& O& /ynH@C!"6?.Jw̗v& C0H<G&qg? a/ܡtf$N_rzjvܩP}onx?@cK3߹C9 ySGr) {LQAEo݅?sRbQЕB#EGI|p*JЮҟb+uDSDb 8䳍aiYp:8r&{Yyn!p61)pLJ ,)F8 R+$@ @)?D)G:oB:C dUT m\ Hmb^F (Zj)cBO`>Z)䣲'8s@ĩ L UPoGXu a4\d3.=| OCBP@*Dmi)?TVCSg!Q>HMCv ޳ F͝_B4-5  p[:;p8GN¡Cg)EEUD_aUSTWɜT4 Ζ "T&W48 cþçz K Tpld`G_GG0a|D$z!j !ZM040yHd {|ᶓ'@Bǫ<8O% :I/Lj.WWqʨ GR;EOKf ۨLcr'Ma<*@"GCR&ul@._"w[ #!: j蓩~?w/ߕ$H8hD?#2L06CKpߪԹAxZh(= &B2(H CX+N{UJA&0Z귴-)$]-@}rCU8 PR(EuvҾW Q!IYRT#TM!Ԓd8P\pVU R0Y3 hgLiZi޻ 8X aP N!bq( GJxLU;s 1QCMI id(\HH3;li 7X,V鋖`WJ6 az WކHkOwHMGNȃKXg XcFy.TAbInG`D/wm6če$%'9H)s} ָҪx7a aĥKXԥdL-0^0|^VƏ [7%Ҝ)"家 :%F]39ZԢuVXl8eܢ:X,EǁRNIe'eDw2]Tmkh.wi>^wn@=$z}!Hh^Ed5{9i;t°g޾ {}nvzϟeoKVbѳj}͋6u ڮڭ|̮Fؠ c܌TDJ [YGcNO!JBUow۷^{ qz]}x}p5OwÝ޾QNoOSRlTFwwnJSloTE{:ҕ5={5$m'ZHѢ-; uu'6:޷HWkR=AAQJEPQق!PU* zTE7 X% 穽t}>;z}z}Rݕ}lg}s ^xzhA@,ᆱ6`=oӽ֞uPn;޷/|R}f6At޻w(񗽞v۾kEE}Mi9^`@ %}CN]J_E7F)Mgrm}޽j޷ֻafvwt ^`7AmLޫϽ}Pֶ:c{5MgF* /8etwX+G">)6ϻݧv먎v7N@svN>;ᄐ>z0smHa{ bl[wv=k|kܻ0hk,&SN|Y@ wm}S"'ݒf:|n<9s%B Qaow1=]uРw`zNyi=ԧ_w}b$kF`.P>s.f ho+MnjG{W&B=#_%}-no9E ٛ/|8UC=wr h6do/ +8uc]@]t{]zx$}nw.7jg۝u*+jm_}kQI>ϱh>ޜVk=vL{y`(hf`oumZ01rw.}sR%5f_U}J]5ى7YۻޚVI7s|.j3}栥H越Wni {`,}u >lհwU][n}-j=ֶP'7{׷,1KWx([}@ u"׽j+ozѷݨ[q}-+/{n;j͢3{@4&&`jS5O=#ڈ4DBA4jd4&S2T=O( <4ɓ&himMMG!2&2z40M44a i@ѡSR{){PL4hCF4=M DB j=2"l4{JOСڧOԍHiRDM M'=Tߔ4i$=64Ijzlj)ɣ h ?aU9HZOD"*"N(A=⏏H$DH @.T %Z(ic&fʧWzw# T! BbB':.1h様2 ER-!:Y) jJc%<bh$4 yVaCݑ}{ s\5C)ׇ݃qǜ?潣Cl ))!AQP] l}1%,}^n6"X䓴 Y[Bf !杗( 1ܼJApC!Ggd ?Z%i3ID0XYa" хjh&e'@BPrʤ f?]2#\;AڟPa!&?n}+Z#IjeKx_nÐ)1._!BS}eAJx?WgS];GY SIpaP(LPD")HS(ozQ_}6g]:%*hDĘTBUi/ Ytݸfv՗((PCR 9*RLO$>bìa~}脬& jhqe}ݸ$〙 F);E!R5Mt@O^ "h >sI/$ 0DLHhJsÈ!X`"D@$}A23 B4AB h"V!`ZPl/0la lvysQą!:$ Iěj@耢n,H O4գw 3B۫ Ԁ[1:#25J2^+ZwA~j#ݔ_#F5JA#+-"՟}eZ_aeYp杘MGׂ1†e-j̉4dVN8ĪhvujSCrћ6kr!$%;9Ddv;Ò2*c`0nle:cYQUc%j@,25S]7)蹲osÏrx39yL-ݙުkRۧCLM2GKO0{69w:Wۼ7֍;3Qb~XT4/mQ_IJ!Jf)( QU5B-b&aFn0BRL)hݫig-!.(kI4DnA& f+ XUHGIT4T6] I)έDW3K5z5ULDw8g6srbqٲgf)`|zi:)E^yElk}C l[ӝB j$KejHic l[LXqlf 1tR}iTdVM+a86B,!Q"$ƋcdLe"H5b*-L!91.W.'[PeJ䄣9":4@tPC-Qm̂0Br97^8nG6؎p;]x(^65-!z1%LUsP16wZ P*(㏝Q 6ܲ;)1ut{cdfq>|?{ CKEEn4pʫԏc> = }<>{8M h9M|75qQq2$$DE$(eZG:MpvʤqVd #2S(FN8Pd o eQfv9!"A)wCֹwz@Ij[EER{J}Ҁp;TDܝO 06N3'SPJ\#/60"F;'#A By!F4DHz4Qc?Ӧi6ISgG ccxl$5`Rň\ډ٦(b"j( cZMW4XWGyIqɽ>.~W~ Bv# _ww+@x`#]D7axDhOxIM*,* EIhEqPu)ݖݪ+K3],cyqj{4;! XRyLGd9:nZ7f#uQI^N)&57|68# y,-e p'4t:%`#Ļ.̝} $K ɇ֘H3qKlln!w(SJu 9Pi4yל 83 y,UJ ݰ0^>Ӵ4D>QRzPľB\f4x;oqm6Q= ie:z΍mq.D=\u풗LV{5uL·,vŨ@&8m0n26B?΍\Z!QBoAC/͐6~`6̲+Lo)V_D !NR~S$2^p"gc&i.uvn˵’d45誟Sj˴e}cc"&D.|tGVF.]\IdzNsn*! n1.4 ۞FdzpngqM&*Cn,LN\}ϛ]UIM8C!P)D{IտyB  b\ {X 0QQDǴ,,;u)S0y$QQA'`9jq35wq8Q ڕ#6*FIt.ʺ%Cv 1PʭdQ58f9PcAG~c|u804?;w&) : cy.|uEOir'^3>9$t]gb? CI-U~wTNϺ㦡eDO޳RZ>9@G zRFa n_/K;ӵ+3,2q QXǿ3SG?H4H0~r(ǧd|LfLb &6WuTYL4UP|>ɣ쩪DyIu?w=wg4Lb\I_PѦ335Ew|&'g_"uTgRܮ{/mD!q[{e69W~ٽRS\»2w$_;w!GL@iJ4BٟMf?#°2 nH- #oliTN(*;SFO:G4YAʟtwCl+M*qR-Ӹ"!r[bUmlru(uVXPM3-@P2JQy?ĩ;G8<)R la9Ygd/ %46!rO=RNzܘnxzKƿWK3Z),B:å~W\Jr]vu:vv->付F&*cY&08/92KT%IB|G9!hk~i"> l 9xAGp4B[jٕuɞlfLM e摰`6wT aG)`3"Ai1)8e۷99U91e\zuQU3*-X)j3=xXpxW%|I&i/W<;ܟ}vʎ@1o2A)4@J% P R&0PQ9(D 2|zbĶP𗟐6 F$"tD_EohD_ޢL*""+;#^(\$-v0(lD ~/:iJ ih@s:ԡ(G嗧h yH?DH OLD} qTRDz#o>W"@[&ӈF{#ui !==~Z"~U>-u"CB*B*TQe C$R8Y_t uKQb`~{/2P;l!}0}NY`HLetIq C @C33!!DTA!$Ui(K=tG!%ʨhrrJRibAwjUCCS4S435!AE$@'.}aiB=@yfQB=oWMZ[RX&*&IjJ)ÂE?<x ˊ'8 ' <8>8!$GHP9b @y7L  yqn%=ʦE# *P5LBR EUPvHBhȈ>pM( C)j "v +adP4'E Rd9d uN 9eOjoСGT^@e0E Wެ^:]vA3o +_dNG!Pp IAIL!AjUX z~z~ăʉWD]$9@`)$JBHH]&ĿQ~^'O;ǻ^3=ۛ;jߟfy;s|PI4U@ DS("><~v@n=R'hDDē/d`{`9 @=@wq)d!N VhH$T\(ELoB 8 HC H TU5 ȣ&P]hZQZT(@BB RC- (r DR%! %`U(L%M҂R"_P(TT)hB!b(F! @hFeIhDJb@ U@+( = z`yAuJQ),TҨ@fAi&j ߘNA?: DJD҅#3B@Mx8NytDԨx$@m& -I TeZ RX*\PG-!`gB*B iYIoR`Q@ l@$ vB'gbuJR0S%] G7.@ yC h"aS6'a Ef1!~&.(7ݧύ9F'~lOOUuM! `#iưHOF|AUH5܂E["jaą͉mc 1,Q+BSD&H&5־wl! pbxPT*>ò:$0B j&3Ii0H {`!t/%i) &tR>s'c7;m4M`e_bۏ>8UIOG^1mKc%*Dl8A鞫뒀Y/8_(k_O?R,N|Tp=4dގ$ht jYok儰4$ye@J=F~|:;c PGSHw#!0\b'Srd/) dp93`E_$#Hk,sȓ%IJ AWD8I___ cf|G"b`$ t\vSi-jU.!@r`#aIDN 3(L]t1ATgATğ&A.4b3\Hg* JN>3>AȟMɿoԎ}*&\4\\uޣc/_7qqy1tf_?j ,n$xVҳ@U{JXco,C .Re)=}TDRHJx2551&z6 h5&"hHjhkbCEo $f^Pʞa>"mDi FejH\H(؆AACmD .fHt(JeZlWlW6~$!~9 IA6(STQE0P7 <,ہ@w(q* PH"D|FP2ya4ha;Jiy5g Ar9LR$8H"Bh&>ETO=6YmxO?c?yj~"Z/Q?dALzqsĀb 0{8BR9“;ċIU Y9<1c~?&SCVj' ah9>Jםڻ'G6w(c˩Y/#ü} T~i/.Z1%r8*sX62Ԍad)Un! m \%>tք=$Pqzo6نt> Ԙg% PIreۦRwQ8d+ucl6}շc%d[D&e,g{v$4~RpbEJ#tQlUoYP8~C2Z+>W\FIYYN[%D$E{)[Aˮl|9G BD8E_,zd@DOTR%"pî=w5Fl[CR wֺ=tDV\*(/_P o~oY+\~Γ'bSno\v^a!4k=G .{Ϝei'Iw'zV-6n>K}&tcșIl{UFc-uk> IujٯFau6Ij qvzha2}FPs9AFJM3rzdl2m0:[uu?UyV_̗U1h],=5 ʎu$sPݰ.󑑞^ɸ۞O<SR5n"ȉ^mΛas;e,m2{]ImXr* K18+җKI-mxB߈'\Xlk?~k5W;}|]Sgϰi驙2ǟja+MBC,WB acg tH5d4rsPKaYN˰~}uFq&Ms*:oY˷xeJBf2~;rH=zW-=veOth(/.3ܣ݉)4 X}dM$*/E'KLV(?<ɹ4fܩ5HAPHa!VPf׆}Gn0ËD=g(ĎyQyNMnPf%9OL]vuf S9dSTQE0p#$uU9?4Gb*hct yobD):HE~_*c!U=@2#vG'a DQz40,.q:Y(Oc8 АNd`.yPZIٝS.IGwH/;”a>7 UX1W?& U%/63IN/h&6X2h^SI<߷9"d^k>8?ΊV0lP.zஏ_IL4 1.=8=Ťr"xbK# ndx r4\e5UETAs1a`ti,#C*\ $Wa$w'@tPcE bDPxS҆ë8y䋍I:rs>_'O|ԫ! :ZCgbM4&11Beʏ64[Da7jFS9  lTk{E)G{QL&@#j~Z Dp1!Md 䡄>Q+!)|1$ `m?D"';`p{ 6CKP}9, MpO췜q=l_#6:^pK3Z+@t;,_&t;?hݢ ZhW)$'gJ}A}V/[惰l9#?z?x''v~:RTq'wsϜt1]`@lњAeXa&var'}`I62!f{Թgei ~!`I iJ R5ȩ"T/!!$wvUPU7F_~; ;T 8cyiAʾuCbQ )Bfsi^Uhì7uֿ!}W!R8\I\u4f7gTNS'q%%Ճvj:{w7#!# E!?q7H~XQvZ oϬ'/UPz ՞DELwS]T(ϟ恃PϞ&Tb }EPz`^/0h ,Kݕ.g%,C PiM-Ʊd:h )WC0|dg`lw9Hu&( v}3n 't;1}2FʁO(?mY-pq٠H{D?\YTH"gIR<>P68M#~tNw:AM|h @l OL<լ}Oox V :QT.ڐs79ބ_AEx-XOUJz8A :).' < -*)L$Ѷ]*2Έvi?O}QcY@@nߣkhoFϏA?Ő:F-@)SJQk5 )cQJ/#ξPR-ͮyHce)^yLɪ0ٷHTmVe'UTq(S랆K|srˠWE.ctفF!zYvYZ483eq7(U Oʊz uzA8v~ˁ㛖E.eSJ8 [@ y͊q(q%̪}4nM7m[ʹX(9aׅ;YeTV+43Ϫtu066ΆFRQLc< f3p`b, ! lջ?4fkO| S鞲T̺߫qoO}S;*N{ִ:⪹kFV4g'JO<:|Zo{eVfcn"&r6QNb;/ !E9utRHp}Rc̉^{J+5|rt#]pݻfeWUUUU_({|c"_~͠^|ŝ(6 hCa.y=r†OjG;6NIJӶ4FDMC\ 4rV0Wz{\fLi1`~ m@mko݉hL xHtcwyGs|3C̍C$'q3,$<` ;_"d$Vt 1JϾtz!}>O 6 )O/4h.ьǤDtvI]Ҭ&BJlS{OMEARQSF$BE9%8YN:O'Q2#$#6lG` DwTF@E{VdB\D a;SJS~9Qk눕ؿ$goiJjTR#Ivz Ƙ2m{ =RF5+X+m Z7R$AϠ{`[qX̢PUEt$ (2B3f4_P_I @GFͤI ~vMTb=~;(Z(M{tSJ=4YhWÄG1%I10{{8<'!0aBو.Ҕ Ihr%!ylcށ]WPIF '(cAAG^cBq~jCC?x@^ax-4sև 2NA BiqT"uK^ؠh?`#%آOTUH ?R3%m@T${وc1"n:M)/q8TEII̟{GϗIcxc ;Ij v, -rv9g}l:hkd`I:zu1-(>/A("4k(s4l4`Ϻh#NbK1uR^0B^a!adusӘ ڈe!#q,+y@ǁ>V ~gG\dAc )/P ;%AB^4OCqol(o>ʪCEw` B Fѭ k~1  4'D q )Ar,h5fƪ#' oj鷂\$w߉X3T9 G8`)5$qT:J*ź'< 99""dH r&tRAWE.(+KACW= y݁~и $%-ɐ3I3q!+[DZ+y8L];E܈/&<ožSGX>ÜΓ~p9f+ԥ_k4Ysl4bR 7غ! (^OzeUk rV/}n?hdkC9W_5 7 Kʼnǽ=aPJΏ ).b7L H<Xuq]W q$YVĄ_Zߘ@҅mWv`+PRJXM.L"΢R4جPxSPq6>00Xo.U%OZᬳP[= _.ɫ_k%$|97Kh|qOxdRPitY"ZeAR.,26C $Ә `^=P+g->ձK%olNr~/KG;k-<2iPU;\qu$2l.8ce4"&d[:e늌 Uꢂ.!2 HG D4q$"ww'b7k?tCd |0>MyWW.'g= CqޕiD6o3%pgx'AB%;-ZnYpPxH\U'͙yL)EU8׉}ec\zbqDO} W;je_$ۍ<]o>~ĚdA! :'j?2ӄv9Pf$L$qk! aЕcx q *ޣaEMgH27{wtryINU|8?}ّg ||F&Swa;EpN]} MvItXTAĮc7 4jUT5zuAl˩dl\q^x0P]Ҕ Hrp78gGM(` .J.yq6O Z +{[`gYadE*lGAeL+O]lV/[8'a +B2Lw'2u f"8(*_Vxy%:؇ڳPJZK?krШ!2 R5_"M43Gy8MQCȴe9БceA}Jic[??f!2,1Z}?$tAl H HGO!Lh~nCF4Sd.6Ù4Ӎ !Jٝk{cw~8{ )FHK1!ǿwwl]NxG796 a,1|3c0k(LkeÑŐ3ӊC=9MUAA/5&D 1ҵ mY|`!`a. rD$O-A;(ib 51ѢØ42mա?6:`Йzm$d$qs\HOC /QeDHS&$MhӆZ<M }"J oگaf D ž7{O<I9I!}O1c:E C߰CG2{G}bBXeD"N=U+ nh1/Bd;%Wy&+ !*PLAB+98}۔rvb.;{LUhp0yRj S 0.Icŭ^p" DX3l"Zm?~<9EHb(*O/$ʁ, e@ rJmi-N(!SAmL SE YbD?P*4S "F^a-$GE$u-L8lA8H˲; .G H@= \ZB.t/cx)]Ͻ:q^21V'Ζ!HlM6v슃蔧V USzxքt/#L(mF( Sd! 8SFť#! PB=YfZH+e0}u>*OOQ .*H4MHx%#&B?PA}:KͫE>g-VLQrS ^:J >pN۾CVD8AFHw0q.o3q^ݴh]Sr"?e >6mpC5 b[ 𴞒NTlSK'8-J[/RF1P ¹5=q7ژ88b\VQm'Xdf9a~lNCȾđh9<,Å0 ? MCFϗ˪9'I%aW0R%n AL9{̀A@B+BId22gd4` ʝ?%OXXzH[B"pmGR ;`H3N/\%L sh"Zz9:#\%;8lhmPTcZⳬG#ZX`/\vz_j1 #Fi~ZbaD3tTTTVFATk?T3|yDu\2@&@tjrݰ A#Ԫ}C]V~ZGD[0H3X3#/۞3B9XKKDg91@9Ha&ӖSb#ZMՌ jx;zrwl M&mDDԏÏ-߹E.*O?JN'iTAW쵔;?锜O8bVtbo&jɢ|4nHSKH-->Jm̓@ ?R̫G=m&'H4h6h%$w_>L93) o>[a@|}~w+)n_ˆᮝAΣ)RxVlyWT4n#Rx2 +~!Mm42g~JtAK!}8 $ d(cPV1' qEgCA5>5~mY4S83FF[/dqp}].(Ԇ1mHo+Hֳ$= K61Hk'%< 9` FvP@MMt/-}xg.;ϱꐆITgt刊«^Wb dNdAU[I Q8̕%+uf1ܡ[*R 2;d-v_YtP0bkM V@IGdfFjA1."l+\B'cgadcZv^(-Yqm2dYhAZ`&,٤L\rPjٚiuUBQ6_9W'S SPnѨ /PkQ{;QCXOlAr*qˌie}9wwdQqa\9J.CLUϫokEj3]Wީ*hpEu[(ǫxWm5㌸ke9~6q煈P\\hgV7わκxcu4CjUUU/ w]Tj}Db6 uSf6'E'yg˝ ) 9n뎻إzΪP׮G/Oynir^GƺKW%pBi2W/}Y*pj}^.#G8DZ5te[66ym^!>AXk@'<2_7z6E<{ u\4M'] uCއ\C8$x5t$$#{76pD׶u3 >Q /{v!3$M8;>A~t #)l;ao\;ص7)b!ICM-6ߤγjwoP|,H 3ғ!!>68v~ZfRU&s6;-,HA,XxHnuF$&$L=#N39[BثQ`);622B饃dPB=º![gXaA:\0%&bG=oƸ[-'ucUNhmx'ۛ9|*[ :P;JkU% f}W {)B/b`<$s DBaRBIA,ĉ02DJTS Ԉ{n&.E+h]D A}fM:\;;WW%>޺HHGМI0~:eH/U|?7(< I)cfКX|}Տ\~_\R7u6 zFQ)7_=oiu'26`);.'ϥm 샙Fg2HĦZU1cD)$Qq3⽥_q5 B0B:YӰN;c P(`xeޠrUj. AE4 !Nf /zP lRNp #olkk,G]2$zKU]jaO#[$Qֵ`۪.]qVJ+$|J mM#$t= Y! eUB x՗ Ƒ}a fxiT't#Lr*CiI i'Ra=殧ЭA- SyjՎh  O%AoRmYM{)gv3詫>-#eC}:7f3s ɕ$K)7"oR#GSpk`D]B72iq&2כk\r]1`DK'>3G@LѼ. )>7/ZZVX~@x,X|cIar ^J^-).4+-c gHS5 6Ztg w6 92Ý˃@qʼn{GFZ)yDM÷ov~ud/`e̵_/FznH6vT"CL FlKwhûڈc'Po\oltT!)fSm1tEγ%PX)_^dTrpdNw}2&A,J5bum[#]f`ԽW5$Q{/c^iMR Ä(:ي^h"ٙ.diH[T ^휪hHRZB8SlI8RrqCȼg~@G?ҙv0gD똦ŇFy r".6D=SƁ{%TvvLoY^Ji ~r$1gm/l~~,QDS@KPtU]弇D1W&קtF] zn7u N%4P>XodNEA s|0fx{B=}pzО-w&P(:IHAi/o?0twwvLI:/8NXqt!E}IIVvZdOљZPxW s e"+$L )4N4!F]l'<xE<^)x)x10;?ix}I3#qL8CΦd59t/sC@q%%*?pD6[C¦a Q2;=?ߗ} u8{/i>f2oIׂ6aDqÂY<n^2#q$T׫Vu"EzKMY n8 d$\(S83[T"~`Qu (%FϘ{fM!۾9d)Ϊ3ssAWҶeQ޹99RlXEg@đ؉254e&II(%4W7iI8A*iHIhv=Ҡq9k-^B[F fNe'';Y}&IcsJGhAq"pHe=;p'R2X؅ڱӕ ǤQy뚡eC]zq']SDqV2XVDž?MR( 1=ZciT3Ic9Z**}?U0i锇2 rDpY]:wvf--P2^2F=i6IbA"B%Nr;61(?!Cyd6.(څE]y8,%;?As;Cd`YQx8R MsG e}S;4|ƽE{)qԲ劤Xxr9P[RvG$)|8uA _̓c+w֍ %-ꊘS*.#UbVP'I&0fP2 T^q(wwZv2,=LnU]st=/R)29\bczH zRELEV^£Pfkd=pezÂu%k%d%|RR[| "9/voPW"(JEkAgG6f(ġ +jZ^-l(U!p3!F;!fޕxeE-R0o>% v^ ޙs,V8 B5Y!g-B_g8di=mP Gv >i8"wD˒1ԦU!}o]e%v?-#2%Dh’ S*G8OH@,l!P[aٽwph7Z5)fg,]nnII#}2JR0HrR:mB0񎾡sTJbUZ}L84'O6fퟬ<>}=o|V$66S&JYLNE<%\H2Q]RRT*vhhkF0]of'9c/?OP=FpKxH{U&fl5TvJW& 3ɢmqf+aL*ID=wI^h8<$1pLu$Pjp3din3V&uvRI1'CMv3=%g=$(1r/)魏ƪs li\}a(@DQFt4%>0PR8p>7#w\n|p!MWJ Ppqu] 0cϺCɕڃ!đ}LsCzR&Y0 3$S&h<dD~Y{ 1cma=t9˶N+Y5g#*5sJ2u(lVoMTԛ:a݇D:{# 2'ӹuwmˌys}#x WLshG,S*, I>qDczeƭKH;ѯ @0l1DhďK8^ rܑ>_m縊Ҭ' ٩!n7ݢBWa  wSRv⢰YEb,ˆidkސQىRϕ-O[Dd?:aD Bm/ـHr20f\iQq>7UXzQxP؂rP2j85}B{ֽ_I)Q;|ɇ(Ǘ % eITM;zk%=1!. \޷Y/EŮC4yFho/y`=j ge"K.60^$5L5*Jn_»<]ClB1B8X4J-KIZ aƉL45V75F},3e_9(ɦpTS{A]5SZ[R#x TeLl:~rmZ: 8[< 0B/gvUH!$@r7Fz4@:q< 1eXmQA=磞|VN!^rY f/&vc[CWe:2['~LDep6,!}i^Z 9y3A|F8MQg}|$h 􌘕CG0TF3i贴ֲ͗E9Y[Z%8;p A^'3R!=mT65bG?ljG:NxžR4u89rjqe" 5 vX7pD$@°v\8}t7Yt2~JtҨ3fNRJD7i)`0 ;miaCxgxfNN2 Qg|z"C["ypСE,HU8.ne%36u{Jue,W3d]rUUUU^: V6p; idv?ʏ?O[(4?Bh1:k)3$JU>T9;WƸo,[ê!%^lǝx8 Twuv˶OurjՌ7&U+T/vy&ޱ,ֵ5\7td*a5rMn;ideixT{IW, ZDv!z,6n[fMs#%97^O_ޘ>eE[aUm%ҽ4::eLac/L"WNWԝjLJVP Ûlx_=#?E[^px2Dl$KZ=_>@Ҩ6v A e\TG>Q_OזQw>m.(Ʉ`q(XxI YOc@nwt$MҒڌkisg/滙-#yGp}% >fv_fq,<0C&O/6 @CbЏ yR*4#H j ?3CA (- H&)G iTC6pvqD>q`}] x}lPgcm>vFof՘IYl3DiY FJH Y(B!iB_AB+rI.Acu +jHGDΌDd IZ T`.WG?o–"gLS8hՒ+/M?fee ҦSј/L3 VvdRLM.Q(Yayh4e];;%;LfJmi;ۈxQ͵lr_O#?.ǰFpqhI-[F&)?rF '[F#1AQ?;0pOmoh=U?ldW_&@MupHcc';*.k#Q`k5$1M(  ~H%/\Ym[dA$#$íWB2O6qRHSNv*z[=hUvS:e׵7r(Yqʨ2CQ8֔⒵SFmOdJzF|/KAfS8y"_ pYp@>##޼\WV?)y*EX,A fisxظ]/3+"WpQ6>CD2FaTHFU_~R0ǧp9jkD%Kg@rDPjb0FCCԳpl( ;Apk(40ғM֓d:Kb `% UإIm<~<FɲSIߚ峎7{mRPw )یj&쬲2?|k}7RǍ\A9DU3׆np1pJCjcd Ș\ 7g8DŽPT/ДV#yFỔ d¸k5)BL8Jæ6P]OUֆ=]]dUUqqE^:V`:Z0W'JF m%q1H`eȗ2hL4:\O;?:pj^x&xk!dV&M1V.x8K]qu_tsUMN͇C9IESO$ A#bڃXvF`GDVTY/Cg7¹VB}0Uf@@L WjT d!z>廦tV{s;)=Q|_6U+'f}O&sa!w9fHK:D  <=E aPmMpŕUU3fwz`QiDx^Zì^HκOyN%VGj_my$hҔN"+"zm+GC bhM ي \Uc>[xҴv.EYU7r]"&?+$wb‘X|@-Ǜ*!azP{:ۓܚ드h=Vכֿ$9ʠm QAJPIf>tO* @ ģ"M"L\s_3f.CuVcɘ.kZxlZaT74:nr 0мk n',DC8ElpY;#&@jPBh>~, FO΄nqhR G -%k_7o<74c`Cqz}"(=<N' ~vR*\A4{r_o @CQma_M8$\V 2ozoz=X\QΌ3se`MĮ[Ի${_[y_E>ػ{%cC[no m~Dv"AD 1ff_Iysu FK>+{z<88}Io~t_/ {qوޚNG3:'݉ЎU])nuuӋï՟]ܛu  x :5Yr3 OY_4$R>Bp4$rcgTԔIKiiY`0~O$z6U(YSє $y;nέ ST֣(;[+KIؙaD>0rO~r>Ap$QHh3Yx7du tJm 0Oh &ڞ3hP20А5c>z) d.)t*[uq<1z?FfSǫ )ϧ׮ 3/O{nD4˧*Ԫ#%:IK"N>$m41+JV (%p%2^vHfRfFļ>Sҿ<ʒXTR0jtd&М%AzIU] V>tu!ww$|)]CfLgu jt>Dg<ߪ"RQ1]J_QB".4_%|L߉ߒJ_i:kϷ,)TXP1OYP&#~QKTAQTAjxz2{]|J상jU% RqUޒ_np܎_V*{kLxyd_ ,J;8g)h_OΛQp>6F:˦epmgg (ʍllҜ9Iݱ#J?eUHOC ̩}C!7g͞5ȯ^棽8[9c34)=ҘiHZROYɲdJc0cr=7{2kJk˯,ѵr0ǜcٿsa,L{ DR&>a8KPW:ebb|SV$PPK[g~Tzs:hu4E;^vx ˾=n{*r=]më@VzL9h9N=)IWJ>#6gh39ۘz+|ųYyTQ?51끑ĉ9ͶSW*(fs &Ez^b A!T)ғג _|GHwT{3ߍg^qƼ嗏.*-b]Fv}[sEٗ-#uK>S흍>V8kإ1IДgFih87Ezj[A`z׹J sR^=ISPtc|(ܷz^W{R)P}OJK^0>i*J1N7O72p̡03'VPA+ԃڙ-/Dl*x'.m8C4InHN*L8RQ7݅Gn2_`v{=>hNUݜgݣ֩X9bl>N5eJ**%oi V6Nt j273y^lmkLa=oghWe^^=yTrp+ʪmt`ܭ(m 8wY($}'~ɋh`4_L%(1<~T=RQL~W*tfQ܊Ġ`B?# {?v 90Z UsR=dbx`1,_M_М!Ҵc[R4 j18 LN2w!%4R&-ۜ8tR(ЁpaL M8#QP)3j^yA/{! h bQhD"UU)P(A(UKѐM.U4 B&Kscw9A=WIO)G .S-*o=0ĩIR!>"@ ꁠhhC)40;G(OƍL{BnMPR-x4V"tT/|a*|{8uq)˖(( P B-J $e(6{B\?-ALègҜA"aL$P>'3?!XzpYGhhFa죄Ca0[8e hѓ-!(76%)JoC! @`@˰(Jm톀K C)5J $9PD_3{"C(GV1k&#p)% E6!v$soa}$ @|!iѕax66i"5>:u3̮sǥ!BLf@*δG(|@è+ +gXvz>qק17.G^j*B"1$:뤮ǗOx}ggX0 }lH_?VO)ơo7CK@>w?ٞ6^u5`kx%&h-VAYRS)_ݕR?WR65A0Is@# 93L`z:?tGXs(rSn/9k4vw@/K` &s w\V gmV onPڨmm)+\MƾQ&2u5\r ӏ6SgRn%P"G1SD2ޯy6v~˹NV7a(!u=u"c=DE^jM)g 5"(4éܣ_/˞piقh.m#yp<٤WAi7!~>p|Q ;$ C ,p$Sy$ba.]ʎ>4V!y6ƏM5-.jɗ+ɏHPk?Ǭn&:Gyo2(Cgߪ㽳{m3J tt^d(lux\UgKM# NxDfYjR~cmj*KR챦adyL$bsۢ71,>6sT3揩А Q9Xsg;TOוIyzodQm0%IU[Eg 8=ՙC2z<9;BѶ|!H}`l ]3 "?P"}bzWŴH$19-)NBٱqN`}& =; Dө &+SO($4!δ ‚nq30=wU !$H#cN& )?'<\I$ $0~^1!,)=jP^ Q*& N (Ȥb%"$r|!+%H4Ծ5^:yD"G9M* R8^GpB$ bC_务V""UMLg=06>"(6S}&}eJ gCu,\W~ƬTUWFfK0=8#)JGUx4*|G3rhՏƁZbύ)-򑁄4[꒒k,);RF ؙ_IL,<޴ZX`2DZx5qاRx:{ͽQ%A}u)4 %BhV@ie ,3%D[9ᮙgH Z\+tKoÒz y#[4y)y2L fI83:kf "_3Tewlhc) 1kD;&xi` 2 F:pV%q#}b=W ?yR숑HwAq99&$ ,ޫQEfvd? l7 E|lʾ~;g{J<͎@`|(/FBV+, ET2j^ ߟ- CH+O1%qZfFU!hHpWC&LGv҇8FzQr\ydΣPţ :%L=2(4.} ymBodv8(ڒ m^\ACffdN[p9cU2 eLx>.V'O=Ox: c'< 0rLbS3yڵ@ҁAyJM np=6S8˪:Ǽ;iDH7Dt`VtT~o;g'+t[B)⾗p$,Ͱ9Vr)3[ƪ l_ouI%]oheiĝg5k -F JL52aH샙c3x^\נIs <+)A-;˥#Du<۞9#U܁'ZFaFRjz{gŔ j,sohCMM/]Qps7t.H疣g[qGf`)/|(a !M~ .%ļv*6"YfM$LkO"٬+xR t=!c\q2-j .zE`|N`荪hd~!$, DO'a(90?2`MG.^,7Pz/w10FO=cK}(!k& ^H'q{ r8JT+1Sը /> %继Fgxw>>$^}~EV?BN37$_gVLV(*b _u]" -TlAfQs^Z/'30S S!N\:4QEF9M$Lj:D hF=;< 8"p,G\3V;Dv(*)xX 'xA);ΚQUe2H 80MlEJ&$( i [ e Zڦ)IbK =UB, \::L= u!swʉL=}zDESE~-Xd-j*T2ƔvWC9ʁtt abg0x3 IBAm#SOˡ"榦Q`ɇz2+@~ SӜR`:vȄ< u6tFv&mFg 1(.yjy3Dʧ/~O6n5ԧ=ӶMFtv+r*OrOxk2z紱{?VZ7U E̖jBY +me~sL1RCHchnMdw#^%z'Pmezy2gcHb:dӇ7yt0b[ 5U(bПdq+r,R};Wh77 W(m{Ivdֆo7|ٞ.ޜ>uHZ . d47\_'-R!"I3;BPDLs/ZBs(l! B'B8ښųSƿEZ׈Zߪ;."#Zr"=M=2'rƅ3-\z& k[>Rv Λnu求sԦ;RT8B1Mz- 4>oeβs^G LS9(FT A<| E`,jAъȳs b-uu$w<%zvv*1ۗV_oDF$9H$y)4'u4^8>">B\x$;Ϫھq˶T1!LM4D·h%/X!5ӝe-EI&N@HKu7Qi ])J@y!C+,`з=hIb&ʠ4 c37!]*A#_cXEJ'Hl93uy\㼉a+$B y_P!Z<ŘBsS=p(`y€U( /S `Ǐi@4/, yeβ' R,)M0(_P$rPU]?3//aQ%{ע#( mT|l>~s/N7tKAFe'Np> +_4SXel6lV8NֱAʰT*5vϧR@&ߎC,>bɥ%‹zk(Kv n2x'=P{ \煳4ਲ਼eXªi3uX@:Ri\:psl1vFPpzօ k]6#'>^A˹zo-JKJVWguUnf!rmߢY⌕F\SHQ*Z9h;@Zi6_J\HBԟ*=Ef#xꑢW ^{GDɌb410OpK ז-"b3apۻHeS. BuηZu/BTkh(˞zNJ}'?:7`?µm(zZ}(';[ymX7KןW߿\A9ҒeIGiH 8$lyybYLXEg64R~]t? p?(X "ȷT"־?DC!_jwEǙ,ѷcTo?wcTǬB<9@ALbL7Ԫ&o:QG\&vkhks5'=DQOF(lflw>_aЏD=)bX`"`>B c8f6#c'd+i%F1_a=Gg!sOlIkCII3jqk[0yC1y+Xp IIQeNszΗ׳HH<w@ (?{ďFDq2+"JGZFKP?D0"#2#݀Dx?YU.thX``4HKISߑIW2H9)5uӧnHȐq"#$:Д /E< .`5@A5DE14DHR1-4I!i韩OSc ~5ɵ66D@6ٖҔZDGPɳ 2MHoU쉸p͑풂)Ma!hChbwBjWctlZgH9u &!HĀGa&*4;>D8:w2sc]$z"bA) itİ6+`=2#{QǐY ( ՠ5g$mވHK coǍ$t {}gsh[C"I &J3S@o//< ½# U=ysN\NV{SgB+4{iAB'Vz{cu1I c)k 4rm&u>Ya{e <JRD=Jl0B-*PzNn8t.D#Hf~3iȄR9=!ogȄY"+:ʪPR'N'D B& 9E3TM$9.Y 7׫z7-OwK?+@ß#?(:8B>|RKt>߯LBmdbtc0Dr49Xog)WZ~W!hB;yg;D>o gSL*4t4 _D|,ӛ#i%:pCXٵ LIx0ڳ%.rl>]^?Nyl=Wv{EdG]i=iXeLy1 Y w~~2|PpDua-Qy?l%jnOti#!+c[?.Դq&[Xy5 C<4a-js>5RM0Xng S= 6]H7Q)LfMtx<a߹)2)&{徎Ƕp:͠6!3&b~VA9e:̜٘JpPP8hȏbaH5-IBSsw}JCJne*Å\_ o\c1R}rvp4i5O $#NquSCLakch㽻"H #(sKc#)cA>^^;>n#2ߕh,3[ lݒ J̠Mƾ:T;B"VW!z4ݙu"x|K1,$tGЎU}Yۄ.;IS =&꭛딝$ޮupΝح_ӭ$ !.*cEG5}\~6[ZG&wt3zɞo/RJzi,SՒpFͳǪw dߺ~s=~+9GB:0_!m=qPkH[!lOya1j!RP*A{1\\4:OMc`Y&*F|2vA%~6p(}o ~ʱqWRAחo]kCx efh<<\|MdO鍘/JGUZk`ۥyЗo<}W^ww3ߡ9C2Ț,zm@lx${bbAĹHNªIAG8BVԞ:gUe#y+JgB[pK$Uҟ /N>v2NYH|(/B{G$-b5:%4TN5k.F,'.eۨOoC`w %у>9}DS_.e?戨xxvBc%;xm3fvi, {jE fj.lG}q!Zh VU354TTF?jER&!? {`??E5͆ <0 hf7VE)88X=Q0E $C{]ӠM=:fAfzb!R!`~k] }x :@,8{!L@"WYy UL(aS0Da7Bnvjw}]x iVd@uQ^-wAvQu"J(SCC䮄tz $X53PS ixs=xiu*j "w'$w{1}{J=Cq)yQ*p Σ$ ZY@"0*2z23($ˎS}T (C1uA~g#H=[40i`U>AEWcbG;xy$L 4{:U<\KoN(!%VKUpf^ 2fa|?ß@[ P3a$RJMIcZq'_jp 1\hDjl4@p /@ڽ)Ps_;>v *Ut %?őIK$R$1 $#[_7_VsE 6٭f}up:*ifkZ'[E>RFQPb Ѐ[G?r pCوbA'0 f\5):L*g#.BUYg<;y**q"8TL[؋bD4g_(B8B}f $?"O!HIVZ pžB2/=$f(dPdRFDe b1Ar$T?%@y< "11kV\62DQz~J,A?䧀O@4w +}ܡqQ jU`̭y"="**T6@ҪToS?S`"ȐIQ#BA-!Q-JmN^ e|;FӄT8ANh~ѸDH>'T#gdH +Pm%,$A,}S-΢! /@'H_ (?˂z_ !*G8hv9,}# Ph y.B ̚)mYTUPؐB$1$ړWğ.T>j`{0 Q(+ި"5* D(BTL9p;@i%K06) éQLUUTP_M&!10 zpPE`9Qb2.DqpC$-bЪٵPְ "bП&Wwp,I \}|;&ٳ1;OX[cXA FI~bazI;ήg`@. O`y1"<:NS < AABP@@zDOf!/@N9QbV(ppAE@`= zSn|9/Cަtq裸0M#15]h{*ͥexP%&HXF7pxom6qv,i5fJ8 E1](` AN:"pT/s9Si/, 6 eX0ny*7 iH= !(&'Mv*A  !ژ}P}Gκcw@0_b*R@St:GA{ -DB36Ԛfl,Dp ̞(?6@QKDH1S2m (U3AN> ?>n_P0 tf\I 9d|'TU1$4<*y(bH$)bn(a-mqJtD5؂o}EeNSW*3.`F"KCl/"I! wۗvK8Nyb`"A"Nbx% GGb,I#@PfC ZQ'I'KT2_@ećzߌ(}>tLM.HH'aE:DPh/r5$^;ym\#$Ctw]ECv5#fp˺@Xi&$$.e23.Uutw2ڡS1;vUܙ{˻^333,ʻəwwrIuE])&]ܻU `vʻ.*#%K] e] = ֪̙wwUutL˻˗wr]Treۑԩ&ܒF#FKrcNZCsw,]w-*2]G.RT*Jrww/3[t ̫3.Uutwww.CCT \nTŤX͠&@& :TrxrG%G12Hӡ"R{{Ի2xTWU)zL˖ʢGwrӻ]]C2(-C1cMʻB]O:qc-) nuǙrWwyRUt;nwwn M wQf]%fcֳ/.A[zf2J\suT%ܒ]li fM&O9QH(wRPJ%H(J#]ܒI%G$2f]WwyRUt]]ܻe 1C1;|]ɗwp%)'Wo$䃹Q.I9Iβd䉌i1v9\9|ͨ (P0-HJ@AAERMT PL3?hTFKI.əwwww.܅])%uyw.C2c˹pv]-HQEQF%Tqꋺ]uuTLK,w"bsL/`@k.܊^Ϲp:UQ a e\,)6"^SVH$$_qf]= HJQԩ$| ƌӄQ!JR):M{WrI$I!$I%c [E|䔒ko{M) wDc[cB-}gK!RJ2<әE#) M Y+aϑW/eQ{h3{N!bhfH1j$Dxg00/"xi*N9L821_?zu$I$H,!PfVI$I$$$9$܎m 3e"}u耦D$82 +l%p`ĽK\xgQC̑X`NDxNJ up;rZM/"i3/KE?eIO޿ؠTMI#)YN|˟L |UNQO܌!I^ZvF !x@HC܎@LN, > $=|!:6bYTE#H.J!>MҤ}!*w*Q<@rHJ BxB )*Bb@/ᬃRa M/i.!i~IJ K`B2lXr=Og"N%o}JG.aCJH A)~L,ȡ*("5BOvevK$Z; K0c̰ʍR8Hl)L'}EM럜hVHpgDS `4hFoܢ6  xcJ* )J*"VJRj4#"^3LDą4-!HRTC2H (D5AQ!@ĤMRQ%P@S"P A3UHT !@00!M3IBAjIZE'\$iĔCA(ҫB\/вKOYQ+%Gbg"IZ(DBwDSpp\ԁhD*ĽM;$A T] uA|Q\EVVP1!`M*y g^\C+)~WO4pGzNT!@T@]0ӰQb!$%@PP!R% X U$D1 WCH\!B$HD;vA< Mw(HWܧx擜4 /`}tP0Q@q@;()>yGx}v $!v$~ЃDPF<_3M% X(.(Qg4e*56Q!=4,i'a] (L t/J44zs ¤VB\(kGzP&c=@`C6ʀyPIpc(q'S!"|/85 Y=/ݑ!PQ@psG李\!yӇ8qȦ Iq ChAiWZ!&ԏb~* `8y?@e > Đn@*$!3DJ~TP ?r/T`&-hǤ&PSJ@P:'My ?K7 ! ڎ70*j OL"*j𞢀Z&") o?Xda{k9!"6L,Fjb!%Ax @HC! ,LR~@ߞDq)@e?Y@`v= "?UPNLه:8rET  0C8U$hCp\yE8yt#Ȫh8Ǵ4#T.GDSjv ]"l<:~/ʉ>MC$0D4! JS =D:0O$yp (% l@}HCT: S 1k@A (8pf h_opSS=i7$h /HV7>!!E{Cڼy{Sf )x" DU@F/S;H;A@d!b@s;T+ ܀U7 D -dD!|g=x6:Bh #*d^Lhm# †l(ZX#y)6q\H0dF9::ʲʋ}@@ﰘQ CjV<1S9# AqKEBA{I0? /8Fw @O'CP؝Op0% D0WaF6E @NYxHT6QC#8 u=h"**"!Q"HF :p~A@_J:).1'!9t ޸ G8M!6H@2T/C@ 0TFr>1C()??@o^]b䎄`lka]%ߣt˹K/N1`xw٭6DK*9##H1!eUUQ1ad1' xG&'B(P eB?}WY&8H_> 8@t=H$$@ڈz %=~ ltb?YDT  {7N@>9RE*. \q]i( Ԋpcڞf8AE4iyd= ==\}`q *H c!MSUw*c<:9K=lPS}UHBDPQC0 D `h?}e4Fb+3 >D.ԩ'E)B,/\[836Q2_'=`w$PB'SR̙}G {EejQpC=!|fC~EGY; #Ga`UAOp`ww؉NUOyi8U<_$: )RG!N 2@>[D$vX|@dzN=+w:}_D>#b*=NStT&@:& P$Q r_xi_A| a{X!NO50!A*x Fz!:piИph!y@ϘtqL Nb_O΁@O8 >?&2YLdj"2<4D3`!THFA>Nc.XE`4eUN:hƋgݒrciqh)62!#3A 71jB_##DuOP\93RDNpQP<k\v vb&0&\G^qB@m?Q ކHc+W*tQ=BWI*:1cH@?ri2+L/AJ$͒G TLu r7wV49I)tA]̇b.1!͎=udBnN\v!w^Udx{mEER4k5眭@y M *=PU7qiM!qU4]̷jq*@Mhӆ;'si6S?__W|NHy z8A"BdDi@P(AHٯ$X3*!p:`Tb`L*^^l=ĸn]Wy@^ C&{p6& ~iD;NuvV̇}{LVӆ[dw/4v_ho7 F ћH/$N «E+AZ$4m $hB:<:S)8I%8C5Kѱ=:W1BYD a9'h]`'|OUzwI$B ʨФQgw]=st=iDJR((ZBT d4z)]He6N*d,<{g15~z-sJ !jpY /vPe0QG p]JĈEh ܠ=>g^pOZtOngK8#pJnr5FYQD8tFנ/P 쐇 { ɣO3k&i._<ΊgfiN9EP B%R30I$(,U@PXI0!$.hɤ ^I U Ç7i&*8{QOOٶ )SaT8@K!ݰ.p#= bB_;ϑI؊CPT.@74Z{P.Deip`;R+5V1!Y!XlȄRlmQe 1Z \ dI=:t0@CN`R Hao_mHN]Qbo@LbDc4#c@PTR>͉8*&bM^ P;J(ua?>GiRJ) ħI#"{?k.30 0ecIlmOK𨡦] gI34d{!=RD4L!( &di3v}яw8օb V Y|ȿۡ?nJF\yo|e1gde>jc =JP8m[V/|^{ YeYV1^F!Y.@ pMUU_ht'ڢ{\CT~_;ؼG5U΂*I|;/P-Oc4 PF&(,\LV:|G}yCމEA# nnsJMD8E˵D@#1kR)@I6Kna9 @<FpAT"EUOS'>V՝1DW'O㔚}0!8J6^ԣ wr vlSu#8%&@U{UU[F0BOt F[2F5T5TEM? zoQRUՙ hA$Q}g:RwYwz֪V$wrW"qw^yeyH !j[:k2闫ՅjT9Rn;ZkZ))R+Z9A1@zpMKBGZ-9=@blH8fNH9yGfӕ+NxXzc,Jj" ^|{[!`[;_op+h=k -LbE,X|E-z_!'{HɥƩu,Bs,a8# fh.#0k6T9>?~bk2Yi]`kr(=UC U0}=phSe ?8B@9:.Kʴ\(YRWwv0l?a8+Z畡yq=~Z ;H| 3UUT18 ip>G~w!B<8N0y(>^"İIޠ +#$($"'Q` d'9Ǯ$ʵj $=Cz~?* (4) ~T7m;ƙ<ѱ(&Z,W(kDW.$i nrY:r30KCeb@7Uð%Ma&*.Ęvc(v|zOΟ-{NF^EY春fTY_=iҕqz*W 4} )84c>H7fDf`2ѯt^mWsi֖`1j.`:H[n0dCd lciw9ɘ~+:匤/z^̶j} y|gW<+,Q448HmӒK,aT.}!"P.xkX p PogccnEMdg}^ >Mn@ ت6 l;p@[e˪)Zu+Zֱ[ݼ mKNF;QB:11 h|H`z-Zw"Lk'QW#4"5Y) (2{ͺW}(Rؑ"J :VV Կ3u B(dM)dKCjWb@T,^ȗ,RxCePzGFKfpUg+E͉̜2ц_FK[fE{mQGh u4ޘ[9,uxX[ r`WPol8L{dNQWLJgDa6A@Dn SZZtYZͷ~96YM9ィtfn4 PΙÔNR/cpȈc8e;u0h"&f>'}痖fet)&Wserd#F`3m6Pb`$xuzu"H wy(ܠf!LCLp-!a(߮Ftc {`X`XH`.\r˒.[VkPN"vVBDsG8|D 15o>T({HP'4)KIiJV !Ox(W1|Km L!8P~u爞o92 gZ )5>o6;@ )/ҧ@oZ8 yD6ISNV*mzQOB(=&`6Zޚs$$4r5I.K4rK6 8yaׂ )jk:wkZZ /lwm-nv*MDR9\η!xTLq3 iy*+@KՅlhBkf!qvbOw`{xk\#RBY&Jt/Mqjㅶ8mcaٙEFL |}g 8`ف{vSI1,)NR >sԲ\WR'’4)d^ .}/!ΨS}D egN46RziQl:Fcq\p?m'< $` tjtC{Ioӏ+c0)ZC%{JSl"rl7\eMh֍V`px$]H)K0m!&F,o|hصۑ\xSҜ\d5%Z}7!׌SfwߺPJrSg32r,zu1,c,2,Xt(lmE.Hℳ:6 t>8p!}H#ѻ jUc!hcg.!}^YP?Fr ;!#xk>2yJ} hvjeM3kWy吴s=hHI&JҚЉ<\?>`FpqtZ>D<Ó~Lrk pH epx="dbjJaIda'J$TUN!&N6e$T}Ì @0Ə^TiQ&9W O"D Ir))(FQx͑NJ."az;Vӎa{f ש8M?4淭$>'.cN^ՊY S$0P' ! S_ SzS S _t(\JĔ@0@ B"HS y:_='fJwx^9 CG՜ϩ;~\BCcYhfQK_ܔ94z/`8"g8|qt%MqUTRgQwݟ ct:()W_":sU8J k+wϕ+}x 1 E[SC$ə&tJ(])mwG^*JQB+1˲Cfšlr,f#\CVRK\` M@!jD%4` O/>?0 =eĄڇP ys($|p~ !e\LL"! FmMㆄIx . {J  >o? Јl]o781&sX#4IY(0hkd0QbP#ʩCcTS܁θ@t*s8$ jLGt (XKJ*Tbsa,c BZ(4F*JؚKU!¢H &H4046En6r@`HLx&,!!BS]TSbSVWBsɠtK k9=~*_12\#47*̡$5D;h ` B>G=aHH! UOJZu9t/ze*̳ ˜AX V,DDY)|LO3 =/ xPhyExqtl3d`{lm 4! ~><M zhHk;vqQaFZ r&)<S!&PH @ bTM)A _#NS>?ba$s&@ $Jo@DF-~"+iDɇl9q}<80 !A&fc$U{_H}XAB"ut IY@?dJQ_:"8(D8=w*B>2BLw=HU*O#$@@c' (4Xi)4| :q6ƅRIDN6mP>2N  D?!VHBE?S " x3,zN{"E|`;7>T#CJ9NjB! }?(!SB=$^y|k%Aߔ'xw? ziZuW=1J~CP "fH8@!ȟ࿁p/Ĕ{N0@8oܘLgBFk`K$h )`cX1Q&?yaX+#:1C{x: bB:w&82JpF` @]./`raH(=4҅@3;֎q!Pz `"br ᨁcN |sO `i7>pJ=ݿbI$ϧ$MH =AX^BI?]Q#f fJHisXBC?$OН=B'ZH.ҽvY3N!ݗr{$ Ki(MpQDz mKRIOT1zɭl'Xg)@t*MƘ{fbޜԣ/&\s ##k, 1[Z%^BTI5gd4[G4_JȊct | {'Oz@(==(@_}&Z,}N'$IrAxĎR;P:_R>ľ}d2`b/)D OXS9}$hFU*L((6LFtD:UM'0TwޅsQ*> |iv^#$zbZ@)cИ%#[I*1Jii' #hF1C=S@C}oqxcf9]>l!?ܯ?b(%!c av׻k̓`%E #xl.D3&-m 8'GՓ'u"dm,j x +m _h$bU_nyo_Il|3F̅?0Og_$2T Av1 4DoN+wI` A莲E=Ia $N d@ 2) $` (%ANeaTr$PGv>lDz#=G<>HyЇlq4 `MQ8r 0ZE9M8@AGϙ} P/y`$+&dBm4,C%[J!@r>BG C So|$> yPYd4PCa )B@&\ED Xɥ jh D0I1ʑA,*Q$;GDp&8at /WO@DhY$H_+FJ0B*>0'BRG!p)( eH%I 8 ThxM+ُgRa$ IT4 HG@"F^"]p&evuA:[qê`IfIB)eUe*(USbbI)m@c=|!Zp&8;8af%4İrTNhG`_ ݯ X,?*L|PAMi@(n J">ć^`Q8<ҏc>7a&@Ns&7'? Nqp(a aOp='GGN~9&JTbR,bɴbR˸p Cd[4hP: %($Ild"1m(Af)JDb-$†(eh(hH%ҁ a!Pl`L4&TV q@:pJ Q*<`E)|?AtdHOA#/'4=l`.X#~}Nș$# Taj Ly@;y_ԘhG~HBJr? -`^! lu ƾ:o7IP'k=zAIUܐ5%Q֊ VlQE9)eL #Vm;[ܐu(œ.ĩK2',1d 8Lhv`qd**TE,PAHY%Q2I 0D/P`ǜha0Q;R2(j<U`g9$plOZK;}BP1)],{ 0J A4Fr.YGÀdIpj)hI!&u!SR0TUDT~!PZ;z~`"`"iJ0D$~ D(PB%q& >K*ZI d`ENF8IC KMR$PLPT"D!IBD, ZC DEMPK4PP 2 C 40!h P)N " ^)[؄5p .[ /GD! GILK0O`RAa=plc"81aAaIPm 2*1P4F A1w>>TuIDzn7^&GY9⒔:YvLB SI$7q/)5i%ORQ׿o0 ,&00z8BR IH->t'|=|/ukKបN<0M \P+9f\ŠtC1a@0@t؜3x‹ `8]$:\*'$/$bx`Ms:LF)b(#C!#JVa_Np`"HM-  H4r =-,JBdF'V\Adݫ]!*iBvr')E@b]4˨f5x;Xr=G'`(c] *6),,Lr&,SJ<|ߴ$G  ":p@rXeT EQEɱʆ*)!*db$L0ȑP-!c!H-<]YC>2`Ԋ$"b;x)؈yUdgD=>8d0O1Çl@jLh`$ $wr8xs9xl{_Ħ"bj(iV"SP0B%R* P") ' @>J!TTa 8҈=")@wTvG@@@H=)sA0[֓FS0bd DPWH41)$D0DJ$ J8Jlȉ!T|):2m$$ lCJaS@Qʳ0=*:gE*@hs$0 ~6TP(}~ϗhOBq"LMWwNQD<{hG"J(}_>@`n xJ5 SZH%#cl?T?@ e3 r;#!R_ ~ p$ϒ$A: 5 얁)~wJࢇ*X%PHB% $@`!`ZPi `BQTE|uBd#A=Ҿ$n( $X2@![_%Nc0Xbkb9A0~H|? ?/6Ũ ԃ8ӢX2G`rq'R84UK1粚!J`QH|l%{<aѦ"DAņ?R<g5϶\j5$ ep~p?|Нpb#4BBHD`=MFA-sb)>숈""90L];gRRŶ L\PW 4)NH Q HV+Jޚe CQF_LL-=w(yQIs8'(=@Xz6Pe y^Ygл̦h^5w}f'aWQ2Ӯhߋvrzql0 LF$#NH6#mi$,bh3 Wu!1W%At!b;UkKSF6WX,Mi"$1RVBAP0eH(fu:@s$&XwD8Ltd$wA 1Mدox59*ڢQ1MPj֯`E4RP% DJzȉD1'nI<#3M$_}g9gLd>}{X+S 8*~LVGF 4W\A eMl*AD#Դrzbֈ[Hvaf% S @ī'vtWCW$:@+DvӹďX @9;h6:X!2Fe@7.3YWA"J"wcw}^:dMVaT"hRvOF؝Q֑jdD(Ed02A2\J& G"#eV#Y8ݤG,x 9:%Z@jrzl(\FmaDβ%;MCDS%@S--";bowGmD( i P.p-y)f.ĸїT qMnOmj%1HB lWiˏcS"hغPwv!1 k;]*L "򅈷 H0DHA 2kt} %|D,8Aڳ/T yF^( $`C4D LDQ=D$>JlC3> j|m{tenv ;IAqIDfg+ mZH3`RobOET#cM jL2_ NfΞF4xi JowK*f)Œu2ܚIPQ흆C 0 S:zzOO6#3M\1 aAAE#}e^ 4 :Ԇxmmg qtn,qw3UwϚn#MHf(/XDV٥ZZ,-T(u paAJcZK lD66'g17"wo{W.@1=Hõԝj 0ހil)($O]'0{iô>}bpzdž ka& Hyz%!0һ#f8ώi0ӧ}YfjDyya6)zfq驃Um6^k[|']E+żx" VPXdEcQ \IRQɯ C0C܎*} hXCjT\00a̘),m8zT{Z.z M4q$4*h(Mx  zXuN$S\uI# T{DG p0lm#7! /#wt INfbn&^ @IN &p h+>NI(90 2R%tmU4SFVйp(YKL jH5Mqx톘 %*AE *zWC\4kH\$.]Y]|&0bge<,CexCh-8MO\$cc zpI&<àH9m4^Y--1Bh!M1lH2A2$r$%U@>XxuSռl(=)mCpegA,7`grW ))$*`.d5*wz=3,26XVwtIL51ݢh)ZIM+xjv!^ZUP \)I_HmHf2fX6i!S`91N>L,= ؾûטЉ05"&BEB@AI)k(>vs_):EHl! h%Eg (% (SKȚFl QlġC,20`eeF~W]c`3ظ~v:cMxtdCr_\%6{5Ond(zEFx ٬-`'49ko$fʃ@B`534)nf[1e\p8 2;ȭUfyrꭐMnۣ[8ߗ")-4 46B"k&hmUccbgѮ~ cX3cd9Hbv K mrTYf+cJ…i)@B&K'ZV핢.)Y0ٓ27 &WD' $rFrfwG!5+C)"1^B 41t'8z9К& n=v*-\m$ S\sGÚ/@rM0rXQVĬ 3of7fRIR8~Wִ٦h4e9ĩt4FGyIJBC0nI(*qxPYH6ζ&+b6j0I68$Bj"[#CceH턝"24U[z40D8TS8cw*ӸV1wU5ٶ6Gӱ#1A ^*bWl{7 aLp:(NZ$2Rwj%P8gp>bq%I9A TNO ]hp^ Tfg: & ;"u49{ u\kZ 64끇N27 a8W,I7zKRBEFaʩ) (PC4dt3!+3B=ݘiAU(ipIpF1n-|Q q찠 #I8]l8~09]R7+j7sĵ3"e)Z҂q=I6p;~7王`FI!xDviNA&%SRubd{nYWETIǥAd=u*ꆺj whނ UTgpDlB3Z\||оzAGVEk]@nUŝLFAd1x:h:B N^=($>ŁNBۀd3!ʘ.6 z^ hst$ UI(I`"t}g(!̊ J$B f$G t~/d)ZIO>t *.舆Q)nn;!_@f7>?pˆ(?H,6(hlBGh;ҕ@tޑΧp%^p dƃ4f$@||?N?xpD4)TbM&6zcV⢽UAކQXȡ "-˪3z`S(cZFxrSB?ސ$AKy"mΑOB)  !yxQ1RIEH6$td BD&TeV+@ 3A1(TU%?ϨtBRRUGv9搆c0(Fi٣4 LkA̡]yr /#%;ôHBsjoy &9y;&㉦ ` ۑܶ:GHqx67Ix.c5܅E0HPyWGBHP+&R%LIDHKK2NGz&91"VDicꪪR((R dJ! *b"i*&*BIA"" (" P NU\y"d J3@}IBI*P_d wH`4R<'5"0=P ~uSPUUE%i"HY B^ؠmdH"@ ~_?B7=4j+I8ClB BbB=dJIh&H )Ӏu<"Q ~W)6pa!AHt   ʁQS0OG'E" 9@ߨxD@:jpoȃϊDQFPr@ F L- )$%BT%(2 #%aH*(c g!2H1XL!X0 J` MK EU^BP6졈F"*2ƲBEsT{\, K ؠ"6X2 E MR q$z`ACf ?WTF@jņ,j!|ݘ E ܆x!QxH6NPtADCC 4#a/#ąh{*U[h%!qz;7xvXl >G,礽Ǵn_6q@ÄH> [<#Hxq:B02V'EڊR7pm}g6hhq WF(Y4$P6+-m1H$ 4< ԁSR|+#~MN"eD}&R  @嘉¸8 # &Dua*m?"ywLAӘ@s=P0D1H A*STGPUW| T=TB!s=RȀJ=*@4`2QĎI2X"cc q!O aK(𰿪Rs /@dO!JtCxi-hPO:FIYObs8 bp >wݽJJБQi<%8 FI%)%$F{#u^ xDDБ;fGR[ %(i,2"SKCd ?1~v-+/}1}>HVDl78i l:"Z\5G&n0&-e_eflg,>0$ŠR pCb!jҔdSQ t6(>)Z;묜S]@#t{*@b KW[ҲW 33G.2:KORJO]$|Oc}yLCsUYI?X,߳Us YKm|3qbEzd9EP3 f0w(.E x| )jEWCw_/uDz/T;S ^iG[7e@ 9!=*C5z;in0 !bxJGiSWТt} Gl~D= 螣5'.U²S!݇?%qo4 pLHUGϞۣ:0r3n@l$A}9' LHzBs6 3y|+o ̮L ]o8a P7;d9Dg]6~f.)Rtf8q(}q|b˹5bt {CTB.ZTn@4(:DOqz PXϲG0|sj{58#V`UoY{64{h>dG<01`.>R A@T0Cg9jDPRc|&C瘕mNON8c6u! {<եz|94IUXS~7Ua{ pRBd (b _TUv JO!?(]x]BCAM&O?#&3 T;MrtX^(2AHZw}|hzm5C!F*l#\[t+W NՍQQpu,oJ:ˮ5.Ev3d"A`}VHՔ]L0c-x6~sQBg= iWGi=/R}pD2L2$n~#\jAiˢPeE1戢tL=;=bIHzED @#WK1D{%" |'C?Qaf`C`%ANvC7}+@A K&& {?E}PC*lv\ !X %e"Oi  ] !SS0m E3鼉# Ś%td#n86$ 4iH]cyC@hRBCަ/̱) e$e7=&B $P?3j|.@A"Щa(=tL!I0Q"?33[o_[c?L?l3?}X?P7n@XiVW !E("& D(I)bX)IaB %VTG&!! HF !$HQHJUiiiDIiHD1)H,B6U( J"(F*Ji (T hR%FB  PRR(kA"q!U  äd!" ".] Tk_h(ٝBb~ &Me"rgXoG.f͌˄<秱UMhW_Q{1@P@$L-RPP$P14 4D)D"`; %L5]<̲IAc@RMZ" WWCܡ OK &taCgԬ2PBI PMDAMI5rI@҅HP%@UUTD*&;Һ&|PMDKE?8=9C1U!(t@ b3߲ , 1쾁t"\$䘄x?!ItfDf$hH (!V("R"I*"Lڷ"l?`Rz<D#Υ›G8&Lɤ 79 AG0Ma]+4vwJJh lA^ƞȚJ)-C2&KN SQk $)ۻyޖt!.Xr"0n(VՎRqp9€(󁨄(>J" G3SOgGo@7 YurWPa +IkH+-fiv#J@ MV5kZCV b!y7aX\QHj="Fswxqu OJUuI$&",p(G6:扫p9Dv:`J*T:N7]=u#Pt Ӧk5H;P`e u(,Knj4\s ti0n8_[Ѡ lc%Pֵz a8!%BRov2uoB=>BH("JVlJ/{x k?}8GEO\bHax( {~" $iXaJf&H"$"B!%OGgy7#ù>q !CO<~%?G4D0 $AP"Jd@"M%."4:a%)a(4Bh`T Ә+ AWJB*L@0"‛Qu"ҡ<3 ZVä-8X< N!ׯ>BhA'p^7y4tC҃L'bF\ԇaWM:x00@PQɑ K'=)pai%,1BC16)jIJ}ŞWHK(0>W햆>?0R.('} ӁM'|}`_xJ]/Bd {w0 +1!73'tV!"h'%@yܡ~&@{} %`GҎRƘ;5k5EAnhjRAmnl–MѬW6O #qe}@ұHTyh0Gw͞4ЭFL:XB/h5i#ԢV_vۨ)#Pc' Ul92ي:ijBsBxԕ=l*W#&ܽyp67b(^KTUU܄6h P'$Z-\X m1dbԥ-%TW2޹-4'Be(܂2x ȌFltFde{6j|ӷ\BNu/IiWux6r؉lcrqkSr|N2r0g$g0#B&dN0^RR8#$@+.e~/0Nq8esW`cI 8g 9GA*֟`t:>`Oa8bKCJJP])!'zf0&ťW$ЃhvЧ8~Q4~ܱ< Cz7xYesўf`lg A?QJ9% `C@/"G! )JI B7:KOh:NQGc6*l (*Bo9ӊQJT$y#(D "J""H &Jju<HH4DP"A*"$B4LBU+0)&wEBX "$ӠXa=@rbHPy=bp4@ p8@@rgC'/︔t4OqLנmzF@^`H+;׉,`v<,p<\s1 $q8,BgO;RzcZi5_$:$ބZ+98s ׌T'='o8(ј !"tOyE|&4OCBRSkp" $"i@`|D Jq(X( %.0+ B8Hcd;WHtAq ` U!v8j5&bSdJDReK'㨻ȜIH Sis01% `/Cuk[q*xu?URRLCtF!`ib6U LeX)%t&Љ< tU>x I, =OAcH^FYi<Ȧ$GIT\ (pq,9Xd9}E hYXB1 h2! } sc u74Ɠ` pDXA9H@$ Lɂ H<#(L΂""R`興  *{Ab,!APQSH >??ٶċfc2Lh?_*dqYgG~_hGwJ=`|59 >!Ds>Su_#0(nj H4O;sӰh.)xg<:-@mcwq%DQD* <G|`pb>ϑ!#J PTiѨdLI8`GH B<2`XO!AI'2h fA}tz0|N%ݩ2@ *2?.%! . " EFdehSC[(e9Z*XhJ)QJM SAM4Ĵ$0d1a!D7VGIUT=4*t$yMbKKM*f ,bPR4' ԼWFy @06@#ACLbQoo`#ٞh3^\H!,ɥ bjm%61}=џJԦAsFpH.Kӣ>Ip(R;CNijjBN@^@Saq>Ru(~"`{Sy$tCb39C&1L-bb***ȏӷ7N,P2PBbwHt@4ʁA;|)0LPXF9>HdoIN `t;,;N}HNR :RpUZF?aheä4O{To/zm)锄s>|00ioQcq;&@(L5KP[:vygrB8)ىjXXpa"!4"?; {ԒQ2TTTTRST@D T-" UIB LRR%(CB}҇H?@"åF%G0P#N,J' a ϸRbDǣߜ{+H$Uh_"IS 3Bt.ĪPʎ"tz\KIÄa*& ߗH:`;6&d~_˜HYD/AXHgw(bP0 :(0&CClچ ᎑hU`hqܠzEDvRU*KH|Q*; N$z@~IޢCUS") c^lrj_Oe>41! V6γ)ԝ ꑌŪWF99RPJrm]D804cÂ;7i@Ք|(!6Emv[He*;!$m#r>l0&5tހs1فj:UPakFPB\#bɝ|j"Cc748IȀmb%_&#d,!(5כgpt&A/ HvQjI eozt~tXhH4"4j,T1(A?spdz zp1OІ=!q Մ;"D1[i߅7MF+2$̑ #}5B4CA䧊r?P>~Kπ`s P!JW@Cy l>tj FYOԄ?f dy%H*O4YduQ H*bK>biΟ}hr/$Q}{ xݘB C A+DU!H$$JbNQSÌ?|h X"գ82,p31$ @5 @ 9>p;u'faY+Cl8Ëxl@HQ3/@B_djV$}!짰$!Bͭ5:5w'@Gx@xHmc`@erk0Xht`f8Nwo>ҧ >kYA~* ׻AJ ǜ6)1*nyh7:gi2 ]w nCH>,Į()I5vEhmA#D cmI4ML6]4 VT\>1MϬOBqp"^ث`mΎ"E EZ{QqR**"*TY!䯱1;&b(0 t8"'~ϘXw+b%{ ] "FJwԞwτ~H" "`#gqs4S=4N6*B!]f!(OG@aG0І)dIkBX&1^ﵗX'Шc}WX rp# lj읲>&糘=wD= ?X ^y=Y^u"D{.c@2dfA}lp)^n`<؈t$wa$H8 ;l k'@TgkrwD#Дp m)B HI|esS`>lB`Othn" -)q雗u~b>=y"A$c)Hv% Gy_ 4  )@THШLaHD4m%!^aZQX%)J gBDC*t,?TRLD;gq;.D#WS(#A% Q($ NM)0fƉ pH!֊4mMd0\kW4 ʠ=aIE$†<~OPhȌd.<8\' Kiy-dy`GL˒I9> ʚc $4cjc/mCđ`$ E!GB'M$$ G#xpщ:4u|Cv\P D|h f z0X(I 0N}E-WdC3H~~HIG=șSI!<q+ FBnC )cAbH W .zHՁ09 #ޘQ*s8c!#)%Nrav'5`&qPy%B. j0wl^5s).vfHcBAqU8|Jr; 2{#鉐aM I"PP =4 锄%,Z]C@(xygt b z :1 HBgLCV;$D6U טoNrxI]fh@t2 Ϭ}k$ѫ?g>m2$𤁇 ,*A (DEB ڟL8iD("<(h{y`5VXP6X41iSzAI۾^P1HT>HAp`8 @֠nB! AJHG Sx B P ?Ђ~_0'y-;.4dĘ"5F)@d3 Y!l[H@8 Ƙ'D16ca1@4tj`'dbE `BMf%E B ҎapA&T@)!z?%"XH02 Dԉ(J _".XE 4Ԭ { $ \9lOx@}H>|X|K?ԂC`̙@%Z bbYW>}!p^[`*6KH^iű kBK_H Ŋp Fo=:_{"뿉 N)=;OB?S%؏~7٘R{{X;7@ЄZSPSܸ/$)p'$9\aBF`$!XRXa<$H`Hi)XI@41b V$(X&!YHA&a0g,J(H, q 2a%*?q?cB̦hPw/ DF!JXB @(  }iG)$wNR^'-|EҝD{ddSGjۥ|#Ą)TT<A *&HD~$Ow'17T*PS{Oğ:샡*!"bD" ȔbHU!}}Sݴ:pB6XOXuƴ* ƙl̀Mb= r3^G~_\7DѪFvU2ROwBho]B8hS|@4}$ =PXpt"ZJ(&) DHU}:EE>rD;4PjA9%l121ұPrK"JN ?\5gK# - "0܃G$_s8jX10Qk<0{ `W(B(@zGH=![KK CC 0">C@~h}$0H Q{1R)!JЄJEB› B0 {D:BIpUu?H/%"D4 $ * IC7J~@{37$MKgW#:L 1gURS z8~ޣ {|G`lĦd)~*15GmA82 ?3 pث"`QONa$-3$E4lħl0QCIC1"̂JJBC PP xz LDZKpitDE44|?* P"w=Z %L@7M=BME*bj}Iy@=aNa>q"O?WK5r&L01{yG (H=p.ƀ݈xrrtL$E?;?O?Q6k5-->ˡ庝bs 7ĦUj7x8oxLƧ.1(:Mr榁t󬰎LiX+]X`& `QČls?f{7tpk|2ri.4$Q4hXd,gqAc JNYd)M(f&*`ljf/gz((k DvNwp:8Hxr" DO[ ʩI`S!Q->QWMҍ*E䊾m7a-#tR'\S@v@4szIJ $D>;O3i"4*A:3*4"$Q[HI.׷I8'%o#ۀEw!?aTOB!~ o\=*TCJ~EA Ǩ7ϧ Z`r6{Z-F\Q~EM981 `T"hh( Z\( ȥM AALR )A AIT҅AAMA"RI"RB)!, E3M%2UTAUTPTz{2J DA1 I1,IPNu]j5 d} 1' xA6rw6bQǞb.i!fCllBN"/qЏTăQ0$S?E{)""Q${P_$O;381>ddb`9+"9o ǐĺvS ""g TRI `p%V}F`r~_?DO֧O1uHLTc)jDyG'A% \G_X{ )s<|j"ٳFfX~?ȨC%0BDJ(D"I+.{ii>^,@*"rę?Vc%%0td$1-M24T-_LĮ"׏Z"J"abXR( e(H`"aj|] 0BH3TbC4U B0 S F '})$n0'S1# $X5 $GgHfc+HJHf)D&*hf )iH"f "$#OPOfWE[ax9fK 1P%G CRO|^0c(0@1#_6m T-\Ž<d,w ,$T9Z[hG1qc1\99¸9y":J!thG"J:ñÀɢDv9z2PޱAJp1( #sMqG |æg1e@#q88a$b0h8$cQJRh@$p"~:V;A4 7&4䡑J=&jiM&ș(A[Yvd89|).!y > @|7˜f YCjr þ`@"&%Xb%"H""%"FO,:SB$ "a;&!bJ!"JH"Z"fp"THB%Jc%B=snӳCC1)1.;| 11 RTb>OMsI$Ѡ5@d (m>gwR?6#8 Ē! >]'SǣGt<-0uMݚb_xv؃]sQ'7rEs ipNO \#9#LLaC6>)o츁b4&/-j P"޴ A ΂gTBQPpD1 :i=,PJ!MUyoxN| $bx6ePASDb/j11P @.ʑR"LPP RU@4U"UUR TBD!A \:hDE (!( "sϠ>=UMn5ZT4>53U4aYf{`G5H_ZI2w5OU8Cc$ gК)J!+ߘB~00A:$!@`26C`C0I# Jl@?z"SЈL C1Eg++24ؑ泫D cV~y|v2"P&p=Ķ?[ $y&uc0H)( NO$KEo!|])\h(S/)"ig}yܱ+$ġC2) pPLLd~%p342l0"`rj~Sr„b8rP*Z`>Rx'MK'tW>=>?J 2"$ @&ϨIHbOP:v9@|#l,D!HPp9D§$ҨTmQ I(@:)H !O # 3v '0gQ$@ d<Ɨx 1L:`dBcD_pp>TFFd`9 1-AD 0@=R zDYh89*i4lPJqn6d&Nl.g@"CXswJ岏k6bC&J& $f&uCp7_Y1YIF.ךּC.LNYӡ'hUHltd]"{*yF ΋vߊˠX<-dzQ8 [}TwwҩNE%z𐩼8_uY:Lhw_R"JW^֡ d2gK bIZxBp0zEم!(pc7:{9C!*LEn; h{w 66\tYCu"b2b{It:TAzWD{tC|G8!+ta b3KTS( PhF3"v]$dPMkbb|^p`8!-#c&$Rt2rD[q3BFGw\}ލhD5k6V2˱Jܕ(XXwӭl֪1@WӤáKD{6 u7]F41-QrW2PxJ{R58>j(gQ戬WZXRwi /.6 Qиa6>TcqhIhH;SaJ`(;raN5uq2uUVz KJ lF6[.ƛG*BD]ĭaw]|[D|2 9޽gh擲[)Y_!=M{lEJ)ڀ] PGiw3HABZ;:K""D>nTkB ImaO=- \1nq)F i": $Qc^%W" lg58 )kJ* ZhThkӁAlhXнGȭ(%1!$& xOFPzǍTUwvl8ç9cpTZuxO.ZXB3pcYuvdRJ&QIXdysةh4D摤`m_R 0w7zt[w/`{aZXU 3AkuB=2YMTÆm;Sƌ$EFډ<ᦽgt|QC!2Us+!>-#z~=p/]dˎ)Jg1 _ uG t"m ÀUWWAIhZ!d%6 Q[r\raM.gYԩn;; $h45zs⢚HC'N9!?-̠@B&5G-TѲ*$.&C0GI" "*F2wLȹ dQEzo}z_˘ h5F'8W~}W:hfsOp3h#{͚CH (`|bi g Fy֔4ih23*RUNҪCGJk3_ѪhH|~;B‡5 j`h83٭[#)l!%Z8caV! 16 C%KkM"4ؙ&qnrS{+3~V] %ts֐,%E"~.#Aނ}~_(N <%PDr0T!#_AQ!b՞Ӫ1t#nGmCB'ޜ֍wO wb-`v :h|ZwwA &th "#py $ \&0pBF\],+ٶۀSD쐪p (ES^tM  )6oWh^?wR4+>s/?'65 rPRDluJ\OccއOd~ H,PH2ICPWa=䫾ܦ9;)0RH۔YCE J-A++i#Vha2ʻlc=-Eΰq͓mt-G;G0j1wa4Hw1pp0?(9DvPLC߫d12&MX7~_}cӼ;]qG^Z^O0>dSE32cj`(b k5U1m+Q~i (Q_Ҡ?`*>h  !&X< R@mLg ;'oؘ _ab=U &yob0=F_gp*~aJRi_x>hi ]UU5q b/ːH ZU$R"T@1T7BQ߭L&$z^eZP0N\'B'/MySN"h)irғ_"l%$$ښ _ XS19 wDpc2{д80u J_3=ǒ/NSR P$.k@kR&&H0y_$hrP7=WU4O ~+N^[IRY@H$~/]0M qPIC/܊QU*LN%?sLb9ӣC8Ct4@!DӁwGȟOQ,bO0U›@\ X?Nppn`VCDTQ>Folewlm$\PqE s{3Y#6rhe %(DRWZi:DsKR+_K&k~[!ei2cc#2D:$Cc AnZ=] #RFc&Mݎ X %^NMeD9Aͦ3}MGiH$¾}7 Fb/& -1l$?,`{c<vGzC2&b!'\. NcCa_ž\L J""B[paf$]a.RJJݰ&؃)AnXݔ}MQJD<9EiۚAOqCވesR8:Yl[(p]l-I)A> [-?Ȏlgo{}S"_X`g  IS "$wL 78-48`KXj\-.kEbxo#s7(WA̕D}hc8a&5L7luUTCēAlA2!.AUNtT1jO* u?}xNɛ2 c_VJF,I3A%>aSu=S~ (=10GG  } 0@J0xPa,>1b@NP5D)@1'D O\î$zDvMx{~|"'*"`"*(fR("%0)d"$$"HF%bQRRfRYd$(AD )BH)d d P6 l+܀_p%A99 <}3HRxx%~m!( ChUNM( yrCaabYf,Y mX饱YO`b%O3zq֙,P PR-7@Њ!&#.$f{A p |膇q<=R"FL)ȼUM Ht r`Enj"%"O  lY|+jl<3A1`9;xtI4)ГGcmѤ0DZ)?G*p=Ґ!SCk)T(' Ci?%!-D#2z$g; [ 1IzӢEY}v'6 ?@"B%(iAG?<*o]AK؏YF)Ldv Љ_C.ŁL5-?wt9SZ]AJQ Hx'z@_uαb>:DL䈒;sh!<$r DLDE/M.>x3A ^W!&a{֢(ڇA< O4&g:=wϸ=m-/j"q uW/Lz<!4<Ȇ*@s4?+~G !Q$Oʨ@D~wE>HniAĦ#9쐆0av@a>b*SN?؂#^8hdt5ss]Kaݼ-YU',zx9]'Ktq K{B>72@&b D If "4)mLxɚ#h:` M-+,L hR1H8y*"݉ @VА$#5]BCD1d3:sZ@R: JimHpt:JW   mJR6,h!B0j r=ǣcVE#BJS;@U Htη!Uz^qNQfեhV dXVIZF+<ʠ٨roΐ":ba.)mNXp5{9>!4!<* ]͝-$BjW)J8֬|)zRi)W'.# @|B"+R EX׏"9h\<!oP*ýa8xf7rc/g)0Yc auC0, k!qOYE7 8/Gm8vG"9{0HA\f[j&qRh [(lTtsHuf JJB1brޮuKJ>bijLQ),tXEꇞiXرB9ւ*aU9X PdDLݤE0 hMw.Vn FV^AnJ4멅`ZjY+b4/$Dvf{E4gph37,G J *@FR,x;s㉶WF i#}8]@YXX;q Aީ[Q1r2EjhܓE45xpoՈ0Dm,ЭGV"̑ ,TB66 i؅q7K% PYAWFPN *cԷ!x]WbUrР5׏8^ՋB!y("|;eKfW^bI@;®BK%|/It޻CpCH74&!PkV":ՠa{3Z $$wtR9v3s6tg.VLƐbIB{FiGЎlt.;Dg)IxB^0dWvT{ekF cr{L9FcRkՇYQ1=9j :!%ͤm&[0'`$BҤqF&$D1"К]P˜r 2AXGZQ}`%A>:l43X`m IX bSHSf>q&0ķOJv>v % i h*/ `vEMbu/sITmi y C(w= =K!"Ba6cC4Hbֱ9!2Lglۘ]`1gS 6Zvma2Ih>a` K*$iX/s%L;;C\Sgfέ,A*&.xιA~ڴHњKZ:%f{IOѤH$J3 Nɻ/(XVA4&Aƪ!rcy0` Oɔ$X/ {QC{gL{%yڔU0 5=K%p .Ud7 ;.4)4.EJSąY|v>k j(m8z}SN| :KPd!SrJ(JX 5&ՙE0ACYAVm \J Ey0`'2',ɌT!Ia{1Iw(L1D@UI4)@AIJL.&Sat c0#)|;M@ҫDڽT;P) hJBhRyt>b=rrQEʝJv5*$ b(&  e|#b / 8d8B\CS.0Q>Glj( <}L&qГsq]f/,ScɰBF%եwd[e M $*!Y=P+3E |,iT(Z"""**TPs\WaU<uy_~@s`Lr|`oԏ$|Q ʑ:Bhyb+QWӻRc$paDF00c둂""N<zLsO;n~,v?`xA^P2lLRƫ̤Q(-poFH+GdiZ{[S-[Lf& Z'$䀶0RLEAB0DDsl5&"E- B BVBDBP1QE!1G9\ _C{I!H&*I'RUADN XqS#'ID萡AA= H$i A @$D["EXiFfPL gA@^lHI蘃4ĭC4EAJӄ; 2ǩ }鎩N"9ANf)XTm3["G.X]p]F.q413aݱ2HbU$*h‡TBd4t*?|#!QЫMJ H% ,騅"T҆#N$)fT"fJW4 @#(GpID.| :"u@"h@HP?E\bHWJåt#-bJf@, X~O$ ZBp {Hvžr(S*~[$R6}C}=c>)04S`by"i ؕs!Ĉ0Ј1sp(D`Sohiv]ڡvU&XW( xA/Dqn=UD$}#E ÄR%׽pV"!Ƈ=7G.o/M f@z8 bd#QIvʆx94 @CKJ\["HP*b@4F런8D hD[)H0$ |%A$=%Ǥ`d|2H}ȌR~k;.F9c,5R8$ l\%LK!Cf4rf hRPq*Ȕ-?W~*=9 [;T D[Ja9 e4:`9^4L$sK,h ! cCDIi=? B0>%_~8ók&:/珸 ?b* H!Ȫ&>(8NaSe[-{Q?4 #HI B0K. ƍ.J&Ac4%J ~ٮ.MHP( H/ {>"!q€EO`{ ܓ0,scGz'ߟz?sy $#X>DחȄHꟇ0*I@9b_8)*)2 !eۭ) A0R%ia=@x2Ӑؾ=Lx X%1FMX~aeI(Lc'A?M~L@*XW4Q0.OTS)"rA "NO.C^F ?Y=,_À2d"JBQ:@i6'adz7ROڭ)WpJC!>9%rګ}0U֕=dLI@Bwȡ$)P} ZDF^#  $fdL oI!54V4nhu/fbCS zo!1 < 4+氏_DRvb 쑀@Q>;ąXLM&M.Bx,CHH6 uC@K#=߻Cw"z] w|@$S>HĿA@ I$U XBP'L tEGq*-ag[`i:&yÜ8Ʃ]A6"+@GDQ煋Dbg$l!X ) !03FA kB0) JD"q #"BUHxu@!P؎0RbQ5$-)F>P;ךVvCri$%( ?"%B!(D(b c?[l 2@y, {bP2)`BH `8BDJXBmm  tb:b[2$#2kaH}PeΐO?N>O0Hڧ#SP!؉~ ItQH&XH2,v0Moto 5g~h"B<#cAcG{HaG <@>ju}(CxC[m vXiN(R!=w>NI4X/tT.5:Ϲٱ:Pw A x'(Nf 4hOyRQA Jb"9sCFs?,h&ѯh"ÎJ*I=#]995& )%x A@BWРɒvw`P~zAgIcEJ,;2'&sgJ47 _AVbt(*AX_ 0X˺?Bvh 8SWog.Lz=R lM^̪1`6!eNLʥtSLi ]97$-%{6!EY4نZT&|va`,8a cC3i/EASqm tlB*,e_ TChIRڪ*ָ*$=|21;. RbC|tola'94$@8=DSQ7 L%r4ߘvzݛn7{B(:NO (@+ ҝ=3@?"F '4D$HKJ HĨ!J A=䰫T>0AyǸ`|3ȶ9 (/vۨ~XS LObD?0҉H,$#HL-J5JD*3T4%TR' zǬ҂dI{?DGӝ`qvf(LtB7|4[p)0GIr& 4b7- ŐВOMĆiMJXxXT؜p9C6R7]FJ4 P%;c6Bw=!Ѷ c^'F ~g 2ʿ03@"@iCCf{k{a{/V$9ᴞ%)(^ 5jn7ֽn3#="}pKO-.^G}ۻF̷hn8RM0) B*BJDݼ\=r>`]f)54cgqjۺ_}}E*w7ޯVVk277lP=6>B^`z< U@IdEmi^#v|ƃ* ]3[`Q UP[tt;A(tQvtUh=@%u*%T) RJw0RJS9tdzξ}޷>A{ҴKZw:kE@A[e/;[ֳX6זSU}`z[nsX: O@e;e@==wz4h@wb^}{CÒ OsJ ="ghzh}Ǿ.^PT 37/a=FvZg#(z^3mf{x|:(mŬ}7í=m3..va9aιe3w])>Nv!]}ݧk OޞOo^wIݩo[:Lf>ףp}1n=zp {vϼ=ojz=<5ϷJ{fW]Mz뭣7|vlnKj:ZnXy}@mC}lh\z=Vnpw\ {UAJs\9*3d>%:0l֐IZt>=>+|ޏ}ﯟvluAV!x꽶ڒ=G]ϱmiwޛ Qяt3^y]qޱ]_/>W*ӫ{6bvvMEjon괥WE7nuޝ{υO|^o:Kovh7݆;>޺;womoNh^k}nmdV;nz#.z||)s=w{|2k39R ]cc"^ӕP{Fonitݾ36ww@藣FW좚77ݦi^N`RVljGm*PI:^zqwS޸pz_sv2Õ5sڝKwsUw];/iísޤQ]ݎM[蔳nkg{7=UGwooI`$SﻕPc hZTa*(٭-s|?B&0?46]?}/wd{Ҩ9^2>PϦ#~q>Jj0̀\(4 z"(/х%j$J;˄35`Ȩp/Bw&½Ŵ|!1w wAF ;'#O^N;I^>VXXhp sIZLn(RDQ{}OzV|\g:};}6D @1%D*.93dW:U*B ,fT@*]20P\ $ ¦0ɔM $"JD}c1`OMd9 zPDwA~9 s-G i@0w D9y,/186#۪cq1?S"ޢ^s pH.Wx7XΓ2 'd %x{>p\ h4ʅCt&$t2??U A/)jA ?^FiD2C%irTHd1Qܝ44PxYc{(JTESMDM%@) 4=Zt xv$JTTDS*&09M$+tI#T eXꝄ\LH P()s(TYMi$\*lQ\*B)GFZڍ61D`e&*1gH,jaVg:UrU\HRgQD1CY;s( ΊVe2K1&fQUY$@JJ[+9!i3n8(&&`b B*T)"fΈ"U)ALT$芤6&'sr+@-TQDQLT*進6e%Ta2:$DB RCK+qfA"$fYDaUE,.I&Q \VҬ aBpP/*#$# *.(atA0Q9!-VAq$֝"`iXrR։Q6RЂQ")aKfϏa\Q`ӣipOpHo_w|bLO9rG".6, Q1VWvR5G:hQU>śכ!~=\4S7#%f"" P4HPx}n2{Ս(EiFֈ[.,PWLڥ5RШ-,%FQj:%ZiU=;kl`=@E4Ŭ5(0(%(!IHA39W>B6@*&<!TA~`<%}' <}S5K16D9 t a3$LQ Jf"B &"ƢiRVff* seDDOc`]ǚ0;?+&;4. /iٓ6Ur*H-+I *U/|q˪9=USyLapx"fP\xs ( g %D0@Aq?n@rdC.N#G&x<)O8 `jDIZq GIdˤ"TTtE!!'Zd͡0 l⮣NR!41L3+@"`UU[@>Պ,gcw QܠO;J(*O7Ǘ(ɈM&SP=&Nt؃<⬫*%M JCH֐@-_vjQTir^Ji= ()Z11.^A3t h4&tL[}ED4HZb$3"b]?Ǖ236H#ކ`)>>?^c1% %4b)>f)Kw(8dM8)zjPz]&aiC@u P4Zju{buGCHgTw![|pW$h[SoNmKQ3Lv" Ddz;#MyQQ&whU*0j rO6PJ@Qv`Y4 P$CP9IT4/F;g냋yx7j42h|#;TO:$Q+#Q(x:v+n5H'vv;;6JW1kqIBA%RT@u.a$Ayɗ}{ۖ3\Qd32 S1TJBaW 2(CfAOo@4 ~c⾠~TEDdm<M8l.(n?O`1G%rs*wi"iUYpgX~0*(>aT%`D$GcE$=<#e{DMm϶"J͆Pn!M'IzUq*3(x}^a =\"y**)i<\٘Agͧʓ_M"N~'|=)Y(@%b110)EF-BH%Cnx!؁vQ8 [v>>9|!84i7jq!ĕzu2!S+foF3.%ҳFJ+L?pcPZBK~fء %,[H0IMr剥!'Yy>:ֿ_*T}Nu9F$ջ̣:Ǻb> ߯HeH/u-(e_o6Ŗg~PJ_|j`o0`fh:IH!p(oࡎ'^s upHd'/Nr4 Tf1z1~ogЌgorŴer!Idsa_g¶OSk:4D>˃}+ωuuϔ#3U:`'z0Ҟ~vŮ_w5=09$ }e&QD_"HL&'\T%% %&Z]!Adag/cU\Ju__og7+8M}1O#3t$7 7lk_Ŋ- A{<+FA!8m4"70Em9Zmham[ӊq%b"vY1vem9.mZCWQ3W'7U *B~$=J7!OJ;)U x lZ:nyʾ[ɫjﵨ?_^+g:k0X5hѫi<:uxS7$%TYf4.3o5%Jf|QA/ח mX*f}B51}] %0L09EFƜ8FOӻѭ^kT?pJE,F2`є~y}=oei׺1?BI>NP841})fv\ Гź'lcs9NH) A/G;Q_sQPyk[yg`5OomRۖ><0@Wvm ES8 z.zV``V)U@% gۓc?v_Լ/zxG'\7-zCCU_V#*'tNWe/0lMb"vyLE,֚3v(ƒiѯ`Xh9ntv?՞*Pը/b Qȿ?L8]/:t1b` xtx燇*0t,^<\!Nz?'PO:'$'B*?rrlq ?QSJ7L`L`aC |54iOϲqR>NOq (J (J$ !@Q$E. 존įy 0@lACAJdΡ =(t q *#")) Bbj$_'詯֐?hf$ h,#Y/7ϑ¼(M۫PV'D>&"bj(.m4:ĚJJMTsy5SȀ2&?P')(@K J!@w"! ! +)p@P H ҨbP `$Ay̪ ̛} 3c[4'8J >@pb}S激տGyD_#,nTP_@%3f7ߩD 4׽rJ!:? vʴT~HS$*&44iH!BeJRv P"IRG PPtNI?D b6#0$,U(4 JEM {&ײ*J M H!JH  1(:.O"h")i)T;TJDHTu0|pFAĂtAߺH>"A2_򒨂EazC}T_p F8uCɋ7yBǏ iԉ|!iuϒAHOɣ-*QAB(LAM6Ҭ+"jLCu5A~.=NeGT) 4XVΏt}H'?8T (iZz|Ĕa@50+캹2kU)$w^:}% cw*~,A! A|~#T ~T!#fl tPG4)@$ȕ5"ь BJMLJQ4LH%v=F76ĩ^YܻrzMC`-2 xdM:O2)XO/q9?Up0F o>3rY!6 $3f$S4r7< 6?KT1ĒJ cP×8Aq/^FJO/>/4X{~\phnXĠ1.e?z?@bA$p?C7""#?[>?&>)K"udq!P:y|oP],89)Q}WI`  ?T@H37Jni[GCvc *xz2?? Hbt6b$6k,U (>u hkUZ[u޼5EI˗CW8Z]!PpFQ)Kl[nJD3;Zs ">yBSe>Sq'Hg5檈 Hf{ﵜsLs9VTzbZ#BAq=sfz I~UJ9 , #P Eԕ ˂_h[GaZ/u۬Pϙcb o7u+s8BiQR (H TB)fF2QJV 6DY &'ne).j#3$ HIƶ!ZQ!cZVgg䚊4׌U~M77K|yl?n$ ӂFٞ3~]?  x.JlR+&TiXۨ^$mGf,?ъdC'`י B(?׏(GO ~ 6?w'R0=} v~1AMŘr|cw߯I%jE\_Ke }M3։ʠIgs֋J[]2m[tKKG{D\iď7QvW VAp:RDrJ*(hY:IT MIx΀UZ)FKv4b~Ӿyt$/#قA]q@7(Q*LN^ijIWzu'{N/&YߦE'2NާuZχdi%vy]2n8I)osc,H^-Viʶc֑HOuXvX2+֖ʜ:cygKrM0bxrPy!j^~! UN띛A=)P8:;ߋHȟXZߍWv3 oFGZ1ҡ*k5۱nn4oĩhtAD*|7ԧ,z=Y8ec @T$! KU4YJ44}Ps:B~Ý%ڗ ΄N7͔-fssf2ΛUDV)I]݉/z*+ zW7.|g.+JQ;[kze&m,e2VFvsv.ؖH&\&;E3vE޶hrx':Fd(+Z[˥aZօoJ^wb 顫| "m,Y<]UΌ=) 1I=bë,k҆{:a ~ǔ'bi6YT]WΨq5{u9Bi2lϵI\d Ne[*k㌽3YK'T9t7;J,Id[z.2xЌBt{ &Kg) !u4/o~=V+ QT2^ ]Z\g׿ݮppyܺרnxk$8{pwY즙e*jO^ww^9SY+zmλ(M7nkS[Ӎb$,x]Oy9@x8'qfS[I%c 윇]kS_<#2!>53gU2bPŦCdwge߈bV~ZiGbvE~>#`8т1EZ/\/rޫ'f9;f*B4ǥmo]3/0o+q0 yN=pĔ.g I%B S tD G='+׻ZQ(w!"ĔQJU@ 0@#cp{LI?Z;h*ᄡ!P `|gǞĆHCPPN%C$l8݄τwe_"XT')_A/~\N!a  y'?`>)v8+ <t!R!U?vG?ׄ5u3E&l iɕy_NGϱ,VwojF8W2CSJ( ZhZ$LXI 4J>O'C4%yurBz݇2rhXx +;~/jISN) ύv"CrQ, h6hJ8 %}N7a̙rqFǣb O>l16O?Z*A O_!Z:5P A$i%ңAdJM:bpJPq u<}+ihrRIT)܈_ M)s] 4&!ʔ3Aꁴ @{ %,[omOUCOs3blLa# GwIA'ચ-v %Y#*@Ճ+8:dnkS.HgUerO渚̀s%ABgsaaB[ahsc;8_[fuHgdO5HG^0ڡDR? Gލir6vfdy$c櫍SՌ뗹ЯZ0EQY<-c-5|屴y~.ZTTgLFÓGPB(DI~ciywr:tIqb)(Ӕ%'TE'@Z5 s܆j)VE.WB^EPo ]F뉐i {E<*Mw,/}mQ!֭vyJTV*FS};G%&-١]ih\,(YݿԓB.Q/ҼMf6]vɕӡ&*` =58ObL--@b3c9yxuB[$g~|xһ\Z7w*}8 ׊4ƆcX2'G;2Qz0ռj]k\ÑFhA!י8K ~6-&EG#*ZJ#Ldvƙc炱ߎݭ>Oړ3331AGP_VtD!Sk JPZ0>a!Q4(1ON_˝)T6(l.m%J ! @JP/-MR$n)2[uv~;}.oθyA[j?ڹ{Zy>9S02*7|ܪ+M5jUDm1M) }ν ggfc[rʆp0PQgV6F:&:Бd@(;oB]=S=ވ˗RN9HPldU 9̯`&/gȁgXp}#ôpnZ 'C˜'WJWt7cAB|Ǝ2a(% b~4d 4<;%4?FYa@C/c/pee:pTPT=`X(|xG_!x@"7HvOYF>ב^5ŗ]:ZPBHFl%Tqe 4z2?jѤE?bOS6Tr % d`?J,@!" A`A#]J$J/VT;vCAId@٩u_/spnlRm_Dԫ]<|j^p8qw^J;i$2Gm/ RʊYTUzW{xB':/j^ ޺FzTƸ(jq(NS=UWڽKRʵ++/'Ӧo*[m$`IxCF_ׯn}WݥUU4~.]F6鍃5}TE dҲ2y9<H6@P3tAi"|xI&GS5.6lD\ Gޒ4{e !C\Rlc E{LD-Ō)i ^͜VI6ILpk)t0Nl&/QWx a>D~ 2D/P<ƗPBxEvsz_6M8sHNxlh})Їֱ$a0|y>OB6擂Bs_< fyQ{iTX }b!"!QWǍ~&5J6 љT/^?f0[rۥ2ŅB c+'p) 9`W2DvP$`_C٥Q>Q{Fs$(ca>6>6xǯ];z< "qP!Z P(`ɨVɄ^N~ҾkV;j~7"qDɻQYW!9¦H t` BH8 Pre_#y5=^|&zQDDDEzq_Baޙ8]C=&Z"%,HQȄv}vmd(K~< {dcO<-Hx-_\=4׍sRM2]uV3ߓcPDg+WYV:qH◚ ѩEJSu\Bmvnt31WJ+8׮faFUy\ /;' s]2mm9+UpXGofPL2bʅHJ=\'nwQeyxy/Yf q,QL%5VŸU k8-9jRːkF{6*HY(K!46'XatlqFRL(ʘ0}?uq00Nt|4ɁS ܕ:Us^pЌ$j ) *Lu'\M.:fRQZ>?L 7HM<.PU<"y:3<F>ܱ1JUxpk\)M++beACRuYoPܠ@R )%pR*Ǒa$O,$uЧώLsH&OS_P1p" @>O{y.skqsG %|VtA.>>mN`CM,ZxvҨ_=12 Iao*ni?y,eKg{stS?LVjM8+m# k ;SHz:sufg/MvnH޴mYCgh.L4(hTƂȓ=n!,̡ "3|:(~$d0Z e֨f\)2aqgKN;Wv:2~dŝ2Az2F@UmfiљU6H yVӃ ^u^UЊgG~bNqoR_%CÜäRũI˕*ח>59) 9sHyzAj+-Nx* 8[EjأD#@ ' '-6YUj0ϦTTC(H1Ub@hߏ(|I)S}` |A= V~ʯ N܂ku1=u6&I&o`b?{8BVb$0 }t+>z.eUR+׼ %vDi c;qv;Q@|m?_/ s;׾ZqjW%C'H=ܵX;$$BK4utTo!v% 8lGExű]IafR7k[s$\[c;WasoHd~,@ʥ"&7*̫Be\ n\l(~K.m}@/ӌ]$ !BL@K 3GyƱ =Rn$Puح)KXP%˯hvjG15Gvۦ~oHӎAc[z4GH+i]!R|-˦] ?@pHrE䈬r鮾mvO&lB q=N#/wB?CBt! K@4Ռjkd~mw18*VOE,<6i Y%)Qsjl(54ȑܓ 65|#hQXu=^%jL2AXB ̭-6QLr e m>Ä]R(f)c4j*;r[lNUJ8Oxb)DTC1Cي9CbUEIt鶵[tXa9bĶ1٥aږ:-J\$cQSDȿsZWঃhӸC""89,f]!]@뮴jRGE&Y~]NSj_B+#T !D FE !Oפ&Ju$E裯;`iu*VqzL. ࡞Nk1g@eT%C% KCaf| !,"jXUR`@]-/hwF _ڜthUFPd2k94$z(KE_=S.ƞJ:^QefRPAaގ&?q<ѹgG_b9:HdJfg@| X-`eۢ@?j?`?fy@ںg>q(Ukm_=ddh&=8o, a̒A7I~%xvԄ ,lԂt %)hl gF2RȚdc^^  &Y_e€ R@ L T"K{ y:HeP1 [vzH_":u_eXn.}5H7;fZ!/)og}sJR89O/-[y$M654.7X8ad}$& b8hvO:E2nҙ+Cs/6W =`-PZwYX 9nҠPʷP$U;j^#]GҐg 9(fgW%h9뾃/:1(t{`elhH!n՘*),V Rr Bծ==a)r!CsJ$l0 @fO0.c`_UT<×=iB)WXDT3. Z1-Lø5fwԖ_cS9zVg6cJי͕H˖x`,6H4@Zr˶ |(uov18)0Qݾ|:g2k^kT|gP ~$ܭ)'*tsFy42ӜLA$oCv=p&_vzUGks ^2$WrfG'~/5w|r88M-bGyM+^7"hA~t]w*-! yX[m゙(h=aNWΎRn0"(ľGKBOHA`FM?| \Bp~: $jo+Wֶ;Va2}J^TIM< fW]t{JJ=$ͼ;V/\޵A1ЛK 9f{*V(Qtp/V{.dbx &{ h i?04m؋?i]"*Xi5F"sq*Aɠ [HCA.:Щ~al 6!Xsh-4<ƆX?E@^BIk?!Q/37C1\UC=Rr[.P׳/rcAkZW*(gW %CNEQ+MPR4BmvnV] 4h0# 53((\oi hq |$omƶ|';4Ć®NLAYےAx4|ܺ J${e1jF 4x` w̔,`]u>}bɲ=*'Dfח~m_1\ޫ*$" bH)*NqBf4s $GѝQuU׺bS Ҥc$!N > TϓΝD4$e& ׳#jAt%>2CWs0%S_G|a e &B-:-~NMh`.&*mwG`A R ڠa,,v@@=#TmBmSgӠU3\$ET3 Юn+Lke-o;a]U01: >`ݯt$1Fl%4Q/  $@ɾJ"3if}q!;,X&y58cj?%w u z@E5O/[=Gg ds<5|%yZK )aSM,)BamȽ0j==BQVqI#}r@]>}^#g~~F+qfIM~炄gv@BA 1q21:0,˦-;H&M2h7A%"$>'LVo"bHHYqi5 أe=th+aEvƓ?tLc;)><Ƀe`)N+\#h"_f@xxy; []pl'nϿ'&eb-釭-tx?p f1~x$+CiFlTxYMQb g͂d5[UYו+Ac-Lfi% 8Hn7Y{4K `1cH,zX9!^'2ZO~r:Iƞz/5%jC?[҅:< }s_ƎX~>j 4.8 {gSpRW|xRɘ^l"$ՅěJ}ӿJڔdn`aOO, 5Zʦ461L_ۘGFu燻;A!Saho-%X}(GN:~F CZF~]&[^B*'SKyl6҇|z3m΂[D1)Dao=GfSn|}>-6}iMH ixYYp#6םr`&-jR9RA`MWR6LZ6"*DI `4\ϞM%…(ɪ!}4ls0GU!o4Pt˙ςT3o+ uD+ҒXV[QbEm8_J%,:N0zujG[MSrޱ ,exU^:LnM3afwS9kl>M5'+o˯J?n jI.c Ŭ-Goq~aP]U]oo 9H&:L,(,h>/F! 2  ~>Xɦ6L]jLA(" J:@uB{}O 2k [w޲1ζ)9}k8[xp#@M7ΒIe"$KRQuІo\-~<:^wyѹ3ȃ6SCܕP$B  )zgx ߏ5GՎk<(9X όPJɥ#DTN;gـ;/ K_5!^{XeoM1g|WS\T]N-OՖ!#9p|g}Fd@fج&@ȿ袎:=i p)ApZ} R~` p^K|9ToRgpwՌ2j!AQNʯ 2/6㕗-wB=q ]'*;KmSI+"[5l7: &LJځeQXP-&(Mv.xg)r*[;ɝɚ…rSM24H]B\UzuXFK*RꊃƉ2hfxְ7K[Ht0qFRlpk3Z0wbK*9Ŷ'D͠8eYXhcP1T6`.xV153 tʎr)3]GkgJK 8p^[ПQ{47u{+5Sz<>>rƉ4\"(v`Ő2^6we}qN< O!EBPmo\Rt8~,Ahc.ĔuLz1k5]1Iu"kc~0?#YtW,+݀ԪR1˅uS#+,̕4!Arit7vU&\c)|W?MUO--R/ʧ/dž_ NT=ĆHe 5$!0^(NVۄ?u8>Cxa`N, B4d |({Yh:SOqھL c=Xx 06ؔj_7<13uاHp2C:$/*53lcf:Cj) j_ϦDvwA< 꽜/N N31ƈ=9Jl\qQ2צ'~3*koFv]rY!w֍). "K"Xx_:]eb\=$e4V MJ;w Ѷ\ 4mP̳hj춎 W–PՄ!ީَqrS`61dFfa'iN)ǥ+܄#4)I9bLC3&9׋aeޮnZCÜz>n-eR+-qU##Aљfn${f5KIcW{W((lsZZmᲭqKTPgI_״On,.bA% > 𪲬\?F'uYrKW(pg(nΐSْ0cC ЙV3,ڵd) (`P1UB.A땋-@f)gcz$ Vw XarC X_$>Dg:-ߕJ@ʵԕ*1Eʽ؀[D~#KI DMQ{U|4s}o:1DQTTD=[69q69߭kľ$gX Q hdR;7ӎ[ *ĚW}'M*X=NnΫ/ V|miƯ:Gxt yKV2O vta[acӤ5.F4鵴s'j.̑ F^B )/PV`꨾+.W0Ec h, Fy+cb7İEWg_5F7>yXo,hlV΁` FNd#z?Lf1kQy75s$3 RV@A|&BG xϮRt5F!VLvֲx4z3šÀ87VM45#dNϯz>Y'3c ۅ&'~ؚh _N˥Ojd*Y^I15(HOQPb -2QN"]5]K.~-:i-|(9Lhdu g>bq2eVW-1yC.BR+z|JcXXC8ߵO~ (EХԞ͝eD l`\#UG.m&54 v1-T{)OBph^^2y5yzɰ=uūx@6669beb#y>PIx1 xA(q8m\8 ]aܹ&jY&_?]f|֙W z.);LoZdEGuquO3[. @K"<̝*Z37k^Y9#_~-c.%? ! ڿ7Vq;Pg!,)q8NJjYeF[Pm&]4TpE54@prŸ8̃@N)NU%B-!3rHE~3mݍMMN3yﮍF$7:-d4w}uy٥m1}phZm//*4 R80YD epoW[+JKmJb,Z͘-D*rP4̍r=_ɡJasL] CK\pgMCC+79=ﳛCWS95y ɸq\Q!͏Xg +U0A9m2|O |2i6JE47c>sg]'=;爒2֫i8.riU # k7PˑVQnFH\}[U fief#;g Ҋ:ة_Ziֈq'V&קBn.ؕ%::^F E7jd5ub9|XѠ78,F#mfFLHg FnzkKyJqJ-Prx汯ksl+ -Jx";7ӝx|$;p؏ULr= WZ akZ̺ 9sF2h {0pS&a(azm{ͣ': ^XyTV*%m"Oj s{iNU/gZGu4 pNOxp19)x;^~Ƚvu;۶%%kݕz*=+`$W;Wx/5W)"ӱ5~x/0Y3WW`:3  U|ά.l d=zBZrozJ{6nK\s4\u\%{-}h-2ZN|As#Y%!Flzv*6R{K ec7\K`s8ܭV0wojT20Q&㍴խ5mMm4b5ieJco_ᗏ&ۚHl¸vζ> ,L6aI ާ5,yYeuKޞ7yww?!9hg31i  e/vW}l׿<{P> M)Ʉ8'en|U[%<U}~bUdVPZ*pU.mfeM-~~m'XJL&EԽmeOPз3tcR"]LC=3^O{.ԃB:@ZuWbQţ:i"P&aviS5|p{ D$ i֫ϯS5;tvxqFsP>}$!txl=П~fxC#I%5< >} H><4 !#$O E5 85 0Է_}ND;/IGJh>0Dt=r'ZIrZKnA!t66az2؊R ZC fn[!*a%*@Z}'y :FH=k,Ѫ~qofB×ɋ`:-H92ʐ,4l"2CLFS$jo0bZ|}β"!/`cUg3McQ"zتLژҁ= Җ S|Gmg8}ۉO#SDXc^kD'Nݪ+4ze6ekL"-FY8{Aa\%O-9`x%M^;XގVki;7:T(F-^e=KfM;6XQKG nN.PvZþE m= bzS*d${b5%stZoi<+K~G3&JormJj< M5ӝ--aj6C+shsii0(kYPUՀC#_ܮ^>1_ȉ%} OqDL$UD44R3SKL@U $1BZM @Lybih &J)(A2A4JU~x,U!2JZZIdTl?u?l냐Ɨ 5Hkt?7:Gקu {֦* 񄆅h~5?/ǽnt>Vm,Lb eϥi*]F :B&Fl^`%]HtW{AWBYTInЁǝ/5 6晢豖N&jϤ_~ ?烲$| 0t~#DiCĂu^ ]{ЇNA/rRw/p;pd NiO UGB5)lTA ? yC[RO/ )C;ARQw+?**$!XRP ``&H BBHP,b!EPAn3f+`L@B1R4LD8hJ Ta* O Q du) ΟGF@?}]B<}L 8A m!>ulV& 8ąR AK|%Χ6Sc'.7UոG#B03}CHsAz~u/ E.n3"LM#NhzIY>bVJc 0dT#)tE^ո BJaH\F*{u-h x_| ?8A$(QP1*_c0_=yu E6p~8H<+?'VDʹt7ױQ\WM=PQ`1]9 ꍔ8w Q ?C? ׷:bK{U4oCF鍶ZDx, RlSy3π ⻹X_~#!"O=:BFmӑxe\R®ĥZ$.*S)ǝypz=UGi mCo$0Nbb < ,y7椕/.bVxI #HIblID(䦆iTQgQ"=G%ccׯ>Uw}>>$wWwwWwwWvTU| _Ǟʫrx5#c zNkL 6%"F0 M{ ӐB N?0F ˈ1$C@1- .A=J^ ۱ v)Qǹ4E?uby/NLJrDЩ0t { |&$g S5IP a@"@we)dѪ qlOie|Ѯ>]}iٝ:a4/\)rÀ #Skw,"Ih!B nďGv28ec`͆"5|>&=9J69H>|`*@;#!X;dcH~>Q`eQSGjV7?ob?oxG[»$(a~(kCg}f/1B&.qRXlAqó?Wڡ@dT -N҂)@~H@z0劺X 3tX>Q2řҐRSt`πw,>$uzH?vOOg.Hey/_"D{` n]+pJ]|/<!pI&CMCgK':d~&I QsaQXC!:r'.{v;2>Y*X;HoGƄFRnIT323v&A ךRmBuk0"}6/:RL ɼB|gZ1*!b{± Z!(L!CqRi5{%m/t{N+ -'ȺŠ~k]kHhZG.VDKE)LB#ƀx6YURf9vM1QL)d_A}3UTO1}߉uoTE"^ NbLtJ&j&!\ufg>ؒ[WDzfP23TbdM ȼ$qDl@S@iFoBr&RD?CRg`=2S׸UV_Y"``ޑtĜ>֗BlDe;*A>u5Hm]RUW퀳,Ӽ坛3 v/b0ʳ|{iNA ǘsȡꇢ@SZp7zNmۛJb1b B/{ҙCxi4 8DP$k.@g dTOrr_<$?P$L?˝4wVT|fWd9vL<7^ >W06Ar b;Ў#& c P(K^@@)Cs&~BƟ}xp3wVL=v}(6-Q^FIۏ(R };01!:@?o`=Y>sU$ɤjnO_ַ>YnJ$sbb 4jdg:X``97C = J=@1Nrh?;o Vz+U;cIR! ٰ%j$*y? 4E㡨?w>t$Ӄz6#~n<&r 欉$HG]gdvWJ?]32|oy =+f/Gb C&vG0$@PpX+Aıo2L|)8?dYaL40`X PA׿o _9~ل=1Mj6G,8;޹To+<يH#56?ۗzFN#.w2^#̙4As:wòl2a41=QRA'E'IJ JFZ7`4BRJp<7&:FN꿲rwd^8_v# &5쯆̅D&6Q/ 7琌5{QU}&cݾӮWF}QZEO~h晰FA3㶙4築\ܕ$Ϗ0VdGެ""()f-0*03q ׳mݚ/W-<1]jtLdGlϤ򙐮&FG*ȫm<|roߣGC#ZLkdie.MZCץyw&>[:@ uUDJL"'fh"e7Cij z0a w2}ȃד?|:[u;E7"/tJz3,}j5@!w'95P1si?=ׂ 龤QeKW`ێו4Jт6ӓO)N߻3_ԇ>l6̔fead|@s?!eYG$n/v65,EӾXPbS2A}A)7˱\p6R9sY})xbC;w}3ɩ.y$_o|O9hx/J3v3+uRjxG9xd,k|[0G4$&#O绯3c,\;3sEew6x5~+ؿg`93ۥx cܳ?nft?K=<3t~5_ޏ]ϥs j7 E\=+(GwyG[GcP}OX!7IZiuʈ1nF9X+^zr gn^הEJI?zR))ODv4現N~RUYIus0{֑&4һ>?TS7CQG3]l-<@X;rPc}O q卨-[D` 3}T#b`ɐ>tXc{ĨȈ$3J:Tg_Ng};BQ5s!or}| iy[菗o .ze7BU⵰fT\"ös=W=1Ҩp$F~tba |?xPKS㫂;Y%{gQڿ/{ |yd}s?BLi&7;ԺӾ~XM;iG,)13M%>L卵|FF[mM{Lfŵϝn6E"~#OlV o/[>yb+Ѿ6RcXM)le۞d1qkM:e[4Zt~˞4 йrv8i^:_my+.bԥxk/-evtޓ嵤ckyV7yFǭ=?w9+>4-f̊kv:<9pF_=;ip香F<|-xSqGNgM>oNQg#(qouYGmI].ka8j:e$<߿']5&;9:ƫ7Ö:3ېpLI_l[B|];ZK[lS{gl`z֚VΏ(zSTЖtXK :u{-4__knښڵٸ1I![Mkm|m98cfqOptU<쌊5 v AoczʭMJVDLBi۩~0s˹UGJ)Z1u$㴙[:^gX^>o^r>Z.Zw25])JI~`htnʸBr)M:}3߭zG#_w:P9ZDu^5׏I#|g|ÿ]ɿ>Ǯ->}?Hx3X {4,|-}^Sz4+޴F~=-,DY)1EFYǫ8x+XZ'@;˹n5|T:؉͏%C6D2uG>PbLff6fo}kSCM&BytQ痜x'ǹ˹RUdG`XXC (LYS>E-<`4)BB50_ϜhR(T)yZgaZ?Gwd g &a73Pw2e;8PYCM"F;`;"Vᣅ&_.ԁB} '!G$")kPK52-@M @TT(DT @:H . PĀ2uM>$}(!ų B.GtV &W B H!U $H ")0 w|r%RSE 5- |@SO#F̳!*z5)RIy"=9?T)!1SlDP)@@zDӃͨ; \_3^6YؿIxAi9O%)8IEx0RWb j񠮔RK@1i5*MۖSZRAmaTŽl XAd u4gݼ ^P%S$V @5a7KD1sܔ`l>0=QK έkv#t7MEEV tSM}\#B7xXKB "&Mb+, 4ó2u֍ت<#XP?p`m0F1ܖ%'®.EBS>935cMhazԫ3׼'$B >Y3aL,D+n^ eC' dOɃ31`lk3V?<ͪ"GW˘z;uBA%_{;5~]G_zP$+wcd61GB6CQ~sgY!|$S?o/w_nFۏBkQ$R"ơ1])Hhnp [ FW~ L1S&2+RE]dLJRb$|zG|Z1ʱM#.Cò|f}Az{uʞ֐³˵rs=ANPovչzǔz$PR4i+45Z,T JRqxW0+ҡu# DJRQOP4:U=Jl+DLJ*=ı4"$BU:UuRd2 ttyb*AnF֤K;|KdX8`_,o,۾B&/C(\| I/.^\,"ZQό)x#_$l5~W+2ۣ-@65,=t5|=(lz6՘=hptiZݶ2OT񿺖A\̃^MYrF.HevQ6{y=J8&pU5~Gq1;a',8B$P5`V[Yk9O|/|Es߻}؝-tؗs<*7|g7byh罻5 #*Ł0Tͯ.oKH Q1|۬[ѯKϏk%HDLJ%r!]<~2)%`G}A@}(?Ti*OSǹyo1TF4!ߕ7ݠx0d"C"N#" n:x'yJ?Ƀ#HwB61pk#᭶mr}v|2c_%<҇?r{!pdw1  K$= dK62+5?C|}}UW}Csf)d<ob]AWU(Ro)FjhSכѼb8(f*=9|CV=a̿4[$du9t8< "iJCj 7bCKq-kpQ L?C A,,4X1 f(fR$RS2BI@R7p) 1E J'SL{y6U3paIp#-uBmf,afr7O2F^]s ZhٷS"ݏfTK$K$+)Hs gxLf2 $&&!CUE`RlTCKѷkOv0hBNU-`aϔz UU1~OՆ9%&i \1X/&Nj5bV* )*2,d0TC<鯴mS ihnw6,/v;>.0SLyKqM@L^%̻=Ot 2= AA;aulVBM **<(èb9vx\E!NSBKϚZ$k`$Ta0W=ffE eyF`d1D&!:B;sT\)+gTKhseL6QiCSLSWXٓmuh t QRFTc4UO6Q ;ԣK=U,5Sh3(@  _WLسDi+8jbc0dɪy9q!D ~| "5L) xSڴg,Mw~+}kC 3h5v1/#b0fߙ?8`1Kc* ZWǔzwAv7B Im}AԓM,R=Sýq^<5~^Z202U& ,2F>c0h*6i3w-.r`[v`sS{ݣF8YD>9>y&bv }deN/ajP_5$vf}^5:LR]|:^'yZ av<5Pcm?y5]kfR3G"Dt$:;vg ["sۑI.r>AӕcFhCxA~xo fVtMNCu ߿$O qi$?70ZX]tef ?v׾{gi'sDƝlwKX{ ;tSxR&9_Gw<\zfF=aV hK]ƮԆcC0HNLt88TRI)ﯾOEqEiQ df>F$!ȴc㠚 @ =x ?O?e 4AP5?z2() T#T~}Bŋl%%Ubc;bF~4=nhO_`Mch\ya!hObe V$B2 r9j "7N(bP15F{0DĬK:4v<4:$ }1 {Gî It<a7syHh@88tCb=xoUShQ5W`3@oq2ы稥11c,rD#$i12j&" Pz?%S # |z`~(xCκǫND~J jrO&2RS׀S_؇O!cK6,#Mon7WlYG"`C>:ٚhx }r>3?+nS`$BZlkq/$q@[hx,H~T9|j^KMn`̦@qY <8yVur+%M@ 22ȜZ~i\s>Çk|#՘?4-[939/Jיn Z=\!H: i>- A|mvT-`]Q󓄱ZF&z߄674*'kښOz$8elaC,Ju4Wtdz8$$ A)Py t`|FH3nΏTb~ܫӯI*4M7rxE }akPlx O .I>eCq"A C]:l^hUPQHNAA >?сwXZ کٍלd@S⢦% C$H,] A)Zt )D8I!CJ# B@H m*eySo. Z$h 1M$%O>׮N7:(Ą*rpS$+uy V~.XX-3V[[~ʅMΖ:-a6鈛dOJVVXJ' 4Z=~^UhxaryQyOLlwiLOEyZvUYRbj2b: 95ݺ q[Z"!gEFJm bH!%`uV?$*Fо~$^KHѡȂl3-μ3\-9%#+V|ly HGLE$R9ae `d9H@؃ǬΟFׅcܬL8l_lkd#Hc)شtֻPΔ9Zp7bͶmÁRy8ft2"0嶴J#@)PS;·UWEŖt]nמx=+]Å:T" 4 '}}kߥ iB3QZi4")˹ h im{7Ddd LJmfPVU:D NLUb(f~F|FL4Rhm&lPh4if'ZLCm.9bμZSj+V4IуNYM2:k7U6tجАl#-ϩ4_}e{)?AL1fhN VSJ!$*yf5e,V5tٰ:>f]{Fq<(k9mX9pq宛\_^ڑXjgZr`ʅ28oL.|S ߌuie]"hqגK7rV%yaf_=y+c4-Z޼sVqr4`km񞸟ٖy>n2o^g 3pvSlccHUޯ{t`>0z\[#Jg<-"rCht?sϤs.P䟌w.StrB4Еc8aVcsa-$3Īc9佼"aIȞIp% 0q(%%4[cu|0*fxE/)n-t˽+#:I-M֜7"r /n.4"b;+ &B ICa&ā\1]F|mzr|6o#?:q]] 'Lf 3 Ei\}+,4cGx 5ءΖuZw+d+@cG9.fMκKwnKI v2 souHc+S@5aS*j\::a7 WLJU+]!lF ofәLrQa mo ,ZݛKәy_jﶖfH@=6e+(#T14 B@GwB/ <-\ebFX(І\Pvʼn  cz#" ;0?7}7_H &뻯YoӬ ?ܧDFJ _V7Ckh7rCE}`sPPB48Y ƅl5KxK=phH5ږ({'04/@GH_T[ NtIgZXzθn7'Eܿz0'J!xb Y#$y'D<XO0u[uITbzv*ClT ꀭ$"rIKG׬?_Ē,XK~ *x^q۠T0ceK?'CSxDT>lp켁; M?9B _Fl =>)Xc9|{YD ?~u2G0`p#aB!B@`pIp"09AL } i B){ϗ7 HM_ИudըFt6OG/$$_eg^@ WAF0F t?q`2ϥ+1Q5A`|"]*-s~*# =zӠW\&LPֲ%ŦC\Q?J,B#!'}r=}*{3 `2GHmOB0 p hJ@R R[K!W(@pJR3PHE_ %0-1ֿ˗Vk;ԃ0aL@Q]H;O&IBG p~OMD!wAWtMUBIEFn>.]5c(ADU`b D{BM _ DoLuPzN NodحEU<k}h <!@P!ݐ_h dޠckGғ ^ xEȜR(E= gh_m>Ɣ+[5j44X#F`{F eS&$yfxHD"2f:mi$0m; }~piͥ+6E!U/Z+N?sAi =fUmaCJF4`OH31rj0:?R ӜzH}aC gy?F{>פH:tMmO&Ulwlhشk5F"M/>D'ĥa_m !ڻЫW/7Bh׈F,Sڧ!]زuw,QF>MN1C=g:u%xr|WJ<`8tb姶KCj/>"D^@Y{ kѝXjX5[(ܣO;eQ3)lX?W8y uǗ\s f\/m{tks~;+U3$k ԧSJ:1ĥm>N0O@H:uߵP_xf_r6e{ǖ^ֆs*t?H9UtvS*BG~S-<N>F9=}ju3ϑ^g-QJ75˴u=SKhv'RlsxQ::s֕ߩiؓIT^c=ߝ[e;z9mB''\52IܧJgsb:s˯g>YIY17ҙly5ƧowVTkɀ|9aLi/tk8<Q |֜zn1sҷoCx2>czfg}#x&GrddCWԥ[j ϶x|q;|F3׼G{xTm xO8ݥVJ֛353bGيm\LS13EvktH oQ<+Sb10,4V9T5}gep3PN5ng7Ɨ9#y\t.k@H;綖gZdXӀWAav r55so(Z{Zw:x0tze 9_ϧ@g+H|n||}y#x}òƚȵ4zk\k)3w=$~ #դ Gn5;VgNJ_b ]1"&$I3? ^;|<*\+slyPce)׷kk#'̾![۱%IVdiw+rQ9k= ϣ u-N5zX&r| '\tls4/*fMfv~H֫;g^Op>S=AgeufY#O,dA6瓿CæzS)ân~{]Ah~o f4L i># HuyǤu#q~|t>8iD7AEMבҋg:@T% :@~6 3O<$.8}ks:z?~&PJVR@)g)a qnT$ YYɌA(N _W/pr@>m20FGu!F%q|"*󜏲tbSB/0 =k{ xRN1BI% q+݃< tWbbbS ::z9(1+4@RD=:0y J:# \`!%7>˃?n"r Yc>_E="+"봃<ӈDpj0@aݏ(;D ̈':Лa1?В[eB+ſ~,,`po'% }dS@?2;W1c! "zmdD> ǠCz!ֻ*tyrʃЩ( JbTj!˛z"H قA,Y$ a`+K$Tg52Ѧ>H^B1 M)x {vKE(P? #H?Œ)\a+%kݻ?2pg +'7UA_B>Pu$I, e&֪x6G蛕uul)lt]Ed'0`@q1D&c0( ^ B(Pɐ Pkֈ #7D5̈́$H+a!Lp >ȡ/(pi{J @I" bzۑ70eQIt GH"PlwAx+T>?&Hl G$dP(f$&’WA=p la<0ADAm#@:lw\ {ߪ3 XgҊڕ$i]]&+XY JYOnD (xAP7hS(c)3t6bE H%0 D$4 EH~ >E $"D[]a3EzNpA*v4=Ai<>=>P><1Ȫp&|*^rps 3 aW0y@ytCK*zi:!ćT>BaSΐ賡< JH^bHy|ɲr0eK )eO|$j w0P\߇!iI*`pyI`\P2Y b&4<&0Ʉ''"d:TTߞ +ު*A4T޼@QC H!pq=t eT}aTJR. 3(!ۡuN MEtv n nwCG(U"I̜K"lB$_x2ı sf5?$|.@?d1N2QT0} :<*Q$ aR%\_Y??(?_ a|d$n;bSg.znnFQBU#EHBO$5=ILS7Wdpu#DIi_~>>1" 2F!];#_;%"i4yz| 4s4FQD$6,UU?=ˇݽyQnI)|XeJZXqA$V$G(.\D0P QD  BK%$D S'n矬d^}7U*F%:e&UES rš`h)P0ICDrI$;B})WwDQSI&=I5r^1&DZ(.Rf"")(FE#$$$$HI#MtA1nI*KBIU$I5=-k.]wweڻ/f(]$˻wrG#(FIRE=9Rz-\d$Q(qIe!!$)2dD8՗d!$.$PC8Y-HXЕUE%$$rH6v8DTH9 8Y"H-2JKR2(A ۦb.9 YB1b(("IF`Qw!%͜yFޟOF46P$[FA(G!#Xy噗 c#Fwn+ 5O1^8X2܄=~m a *H,਀A=o.8qH)N)%/R^'dnbjޖ8aYFfUǥV"b-_jۨܵq5r9 j]˻.Ʋ]yv]Yjr LH%k2ZB'p˔eZGX5]ݨAHHHH DLDG2@"")PdYq ^^,Ǖ)R-L-ۻtK:+W:H5dR6$$ #r8 "Q( *IR8qBWiPQutJ'-M;AwU!#$"28#soxˑM8nF}2]-\a:wVe(wv\HdE#"].˵wd.]I2(/uwrkUdsaWlC߭f+Ww/fawv\ ]ڻ]ݫewjfawwQm#WI&, R%˻B'2$wm$*BI$I ""l)HIRIU$IRIPH䩗v\$BII0 R"/wwuMWvLݢTh撄wo5kn JRobI"(]$˻.Ywp˻.컻1fbK.컻 řw .컻˻Ww ݗ$$HIRHI!YE;@"^pÜŜBFE$R9$I"$%|󴝻CC˹$իHTrQ'I$`nW8ª`/@{椤o#.h;o7j ۬p JII٥\ǵjb'+;q{ HC $ED쯞xyc͚R7P=h㾺9 >,Wc.Q%DEMRy˰BJ\ K!!b F:`٤Ԥ%C\!bFcI41i*J=losr(Rst Q!w$)68TBD rf,^:I$ LLpnl,XDUJPS2cI" [ WM@:f1}!?:V'a=(%O^*bj69ҷ?P4@7&9CI)XUp?ƈX\ZS#DS Nz/zhxLT ! >?0)ZhJ)m$pNcBK,,!ǘOHW Uv,Hq%Gt </!1~P=}0 rH؞& L*sfPuzbLISR4W0A?܌h]_]b5}P h#n#eq}H^삁r: {6$Hp!܎)~lN5M_ Qjc(mȀ@)=D;7grMQS'De-+P@~@ 1H)@1@:"! P(@RidbDB FI@ hZ(Qh"VhJhJhiHi!9JQgZC0ߒQ =WE< xpW sɘ ǠRU 8nDLABJ! P+h0fS 1$HEרz?4} />ف;]h2.9^L bTDhHo-!OT&} @ JBAK<å.7*R*0@];Є(a.T)a_TbWeGB:.`+HQBLEѠ+\ 6@!-CF1dnBAnP.y OLRc}G1S`0Y sz_4z۱u~HvbQ $j`6쿛` aCD̈;W{D 9t0S R4 ZOCqA>U0hJĹ"x,Cu؈H0B">W`C^Bx_MYLL[=}qx`AA*`@LJ aBrNW@RtD?)S1 MGi`PO ` + Ғtpd8{r޺BoCC֊t]k'U^ 6<H1@Y% '^3OdM)\Bp⟉r O=DH?O b0<"DS")%AYYKG"(  ;oE}:b82#J o`8IL ۵Q,Iub􌃈|_)/4ʁP8t#]q!i%}Ϥ q1b"+ `X$d`NTBXAbaxKb).Q:"O1FX ;!1‘D &a3> N`E9FD<M(jJQroTU'^"O#*Rz$x%EGPh`)qrxO<\u8yS2A `PD R( 0HH^ TxC䔠X [&U28TS 5H(USJP)T"RJU.aT"HBOr8뜸lw]):S\5U!#$4("OI0͝F C>Z*]D:LEޡ ̮=*0KɇjG@%+s; {!}!@ ^N4'S~oH@z<AQ_h:\
|@RCiC@T6J|3Jf(`q x'a!{m~Տ'_O$QJ4RD$B,N1kB%,!A`>Sր 1x{i?P:y6fDiJ\W#3_B11*(q:*à]{beSS>I:WyC䲁NZ!]밀8!{*^8ԼTD.0IXVY$1ێt9R#08.+aKޒy (1H#ʰs ДqA."D vˁrT\J.DoYРRtb ` q}BA9B dC?Ly"~H )(!9v^js2{3RPZG4η/zY3fBeD `"=JOA%1H<ڔKIwe4|py=$O<  Q%cA'5[2s]$B8\84gDcMdE" dN <Y{S] 8 0UtSC4$=P:|"{Co<^2'ZBNG %|I(C{nArYL2mApQe}ԄHJF | }LIwHRO1BS2R^XyK cHgD]`p/վ4`( ?1}ȊtO*K"'SrF'S EIg!td2ܾq@%}NH; PT !(P|*JiC`S.DC =>WpneK0t^^C=0u=@rHJx$ a+=FU4(|8 2"@ Qy@@IvL예l(`x'340Ht/)FyP|U<ה%hٻlQNtfSS.K06Y NY=Xw@?ɯBR >Gm?|u'0{)k}Vu$AӟN ãHvW#~pGf>ܿh>ٟʎ'(ɟ *X-i cm1 pbe uobmE{xE^D8 *C68gHDՎ@wޏ ~ybS9?x*o`7W 2$AS܅t"%7  n5+nw@d#yL Z?4 @t6f/Zdc9z%{/B FPC_aL@rnlY5 $+& h>HQTDdvEvC @[$PKVG`"1H2o%Gbjw٤:H" U *URb)ZIJ MBD0A@D3AQz}gC 3f `tIo dضAv'4vnq%8Y"qk:zZYb-m&DLeJ=/>|File1!@{˻Zq4bh.\*UB@滌GL8fYē['R@pf=ȰU ]sv뷇wS'F!gg4 B 8I[тLm5k0Hr+C?NImN!]$ NE CIb3)@;1 Y[>=r<.<-Y7 , kB&&0`̈0n"`6$Z5td3*+h$ * !B"${:y}GWGxnHn{fW'Q6sR td(N"(^AePZ5cCY(b@ FB"bDTI >N~yl\#|'gL5CW>4˓kra(Wߍ7$t6c(Р@($fCz%RҷWFٖ02!\gD@\ p̦*PK&ʁU$s2 eԤBةƨUJa|`G1@? dْ/iJFC.]ҿ.D2".eQ}m)Y.wS`BHB1*๬Ǜfi 7ل8e6&f8,Z0dT!r&5XĈ%NnʩN`L4Q^"d_^ʱ!>ɼZ~qrMeL{yzp-@֖ǶE){匲ZPsE/~YdiL^-FZcB4bktT~>-<Is"#JJ~%_y4"3!I2^]sXbI$!}ϺQ ~[Cp 5|"s?vt"h'6 "9 LkY2iHR<yߟOȉ77l͙ #P?# B"bQPD =|fsdgs;HIEAR4\q`+AɍHQ:%2dȪbCE%PMHs]ulZťc8myߍTǔiN9V *JF-އ&>JIG pPj'0zY (*cKd ymt"21nJ V~'X ߸T"THG{!].5 4D;:҄ѡhFQ>'Hbi}%MQG~DƝLHS4lMkŧcLPJb-|P'TaeJ*2M,ZE':(qe td?oGzuOQ&'WU@krBWre >cىz>?(Jr1NIB#,m8QrQQ$F3#&F$_wQKd\m gy/1!>bq 4M<=@r~@2 2@w]]tO>2u86.%̤Ɵ} ,0x}Za*4 RAg1`0:%^1XċBqфhiN$(*kHq @(Jth=+DC$ DqHFaăAI*{ Htb&< #,t`wTwP?K 8vPH򆇟j""0ng9g‰ؽa8ڪ"""**@"""h***;_vQCdt?7KEzol8EYU*DlJjuiRD S̡nZ/,!M!UHZ4[\Uvᰮ !~ _6$'bx:nXv钛d@i8p X^DD9nb&f[Nf%%X?.TH>} ?n<>@|@F1 4A!|\N2Zz/dѺ&̡`]UcP SzpUa0 ]QhpDNHE)/7DmYkjS! O{MǛbѫ: x-ArF;$ORhlt2?kׁINa0}~GEH8QRϯx'QI ?Du(F[X`pJ&de^uX*zݢk8jCCM6M5@6ERSt!U~L4Ԕ |>KHm~^~1=KgK]q{Y0 !'*,ab+j $P*o#R$* *wiHY"JOWA3QL"@2"U.L U}-xIT r# ɓnXq5C4gl};,/Hn:AJP ިIУ]שdnHeuXL,9z=!voe.}OK{p ^[T!'DrͭRPx :Q1DEBaw>?OkZ >oʊ''Q((x[t"@"® W10=Vź?!iM**6LMJ;7b7-^4ޮI*ؔ If.ֵwJ2RJzUAZ1TQE%6 A Hl/ɚ2N!aƶcl k9e9}ԅER!ݓA \(+`Ax`ygྒྷUd a"64 A(; Yj3 V1::SMa^Ąmʶ{Axq楠퓈{qTY xM&dhE) "$(%Q/h پ7AJT(M6~F;=k7Z,e҄"pc!R\Υ8 Eу'DhC3BWżӇ_DP(6뙞ujW*s(G(|v2%43;FL72ټ){|~a9s##:x`qrs~K{,p !DGyصPfbϞpu9]*Ao|2# i $dY=9î6sE\Wz8c]xl˜;ٷj֦-ifֹ^ p*hhj4}g{z>36oV7Y^pMM{#VtN=9Yz)hek߾BʢDPE&KqHF`d EFw'\BlxPB'GI{zeiyuIT4~D}E26rkuX60;&d릕YUO8n"?LU?z-BAo8>΋Mkjd`exDoi'XRd@/kڱ۞VL}3Idx b C@t).JAsVJ:Ϝ=:G3)s'JҪ*LP7Zy\Hp es@CEٴs~MخP8(5CCbՙzmA\в `L>%4ΊZQ\QC\̧:oB&Ğ^&Tb KLzjKx 9ݡ]=Jω(8̀]˻ŖҙQ^L#r+pjCH.P56$t(Sٸ*NQʅ,b>] -IBͤhcC%`3@$@AJ*  f aKkj2ê cu\U#D]"~Qw+Yӓ&{fk"S'^_8?UnXSl!! /JTp3/tk 6 AoZff Z`LɁw!%@ER :e΀Ha&'`0EmRnI)p7PߩY I4UP6hh+!.*H%@`dEQ(4DHFP#4\! vh3@y$.Uo=f`r(pZB[JY`#&^&&mñDh_7HFϤuHcl̳yFK*n,puwR@Pu@bFCOC[!щsS(-XH<))+`jHCEEUYTuFރkAMgN`ţLs־KIwޛt\z#[SY[Y.- M"eĶ{)/{|h˼0i;!ZfVARMw/'2p;н;'Gę8 0Bw@[/'?~=݇V>eDP*"o~[Xz"#xCȁ1j4'Y01-a$a$|u@N ]rYz\/2"!!D ĸpl BȔ]Gv9q׷gm۾d%$O~匴22'ؓ"VALDQҸPs2"2)G&[B"a'?!7q 3i!gMO(i9Hf $&V;~1gpC h'Ā0b@b;HA_Z<ZHgBR!^yQE!=yQӀl&dA`8JbqPqIi[rQ#;%o#A@ĒdD̄7qAO^#/JG [ ]@=qp Ha'!J> JhF=*p"Qeia̔U$y'ʇSuj(;:!hRrVJgd.DRaM4xǨS8*<pP\k~NV6,/ʑ2omUv=Q6aShP]Ө!.:V/yMvގ$*XB& \J`Wo :ȭ]Ĵ!:$%դ.f|e5Rv&aHy>hP’ (9mЩDTLCI%,ΐ<' ǏcӤ1VvT(Q"A 1 *sABa/K\@#!j8 " %ӓzU0dɲWc@ @ H)\'̈?pq!%))LQ- M) (B2EJHFKI ^jλ֏Ř}$nAvm{9nSP@P oHe@iho@PDR'tI0R7A ׀76Gi90N0.Jr'p΄?(T$">NúMijȱ6DC `Ĝ_&@!P#x:X% - %CnÓS)1PD D #Ik)+4J]EiOQM>`#20+;lg2DHS?M|!AD|;'5Xa7`Nd))k:_ٱ!á ^"bBJ]蘀9 IupNd:,X1.6\vtHXl1bW2J 'ۇMO<TgpEOwQEHAe#`1""fJ _v^//v6:qUҡ8!9qW U I!!i G`1.zD餥$$biD"$ pW^>8bz)O¸{o: ʛ>,JኹEI8" J7XTCl t%AzO8I4t}pz}^xLJMTiL0TTM2S0MCO?GJmehlԆNv }  JC.n=w(.QU Q33[x-;!`F:լ6*!TB$I@;5X<ժ0lUQSNGgKI6C}qo* C;W(^NLԑLɩo9$ YQg[(y183ɶ|u?>$ F&b) ޏsz|ZfC⤥94!LHh P7".?= L ~'#p`0pA@)&>=/NJ("xʊtoCTnY\:^&X^}lTE4B%T  qja%Y@Ч0OuYT( Yr(,& L),P/i$2B >nޅDe(V_J^H~!PlZ}?W kʀp 2Ȝ824%#>=zk E*A&4R۶>{/{&bh[x8 ~bDB$)P)(h%)b i* $JJE HfA@iQ~߶Pɶ4DІHh)PhhFC%R$]H /)y<|$$.a)HZh%L0yP!DDL)@R)$@Px4D!Q0 0%% uwfh䊠TԢ-ʼ+ɯ*M l #L'4!Cx'ubF1LӣN.bp1i]0$NUW׈M‰_O쫀54Scc yDŽUcS^~H[i³%RYQUǵBBtd0]2c,;tlH>=m%)"r`"(J|#iҘQϊ˂UČT mǑwHa"!(6bUa8iV%8\*R D SX$CH% |PC+10TAOa\" w?h9CTDOs% 2RY:Jo6o e%!VD <LȆ%Kt^9 !>}4b=t9 $$ UHT@67j𿠽hzt `@4!,j^HL %AMBMn!RtSHHna B 4 B}XO~āNP~x>s=t@UR @D%/KM]FRJVHd rZ 9L;0t̏I ?p~OE21* HA?P ీ TaЭWK1H ` N $z"Œ ~CC)b%ĶcЦAsc,*PВT 0w}a9n!9-<zz9(M(~ݚ7_Nx0%-(% }Q? C#|0I :HAᷛk^~yS#!` y燆%TdH`Т:-M\ BU  $,HRM,P2UUUMUUTERLUUDpq93$B  P_0,s UIII ws i l+%\TL%obJBIÐ9L)`DL3T{0ʐ ΓG4DhdxF5 qpi'M%0qKy>{=,5R!( CNqI|v_ud- pUUDd(`9z%IbC*J0!7%bvRbӴhѰ>Ϊ1E*|wr ,Bx!D$#f4%Nh1< b𒏜S5#1Alb"fdOIfHP앪7cH%#yC5DLLRF"Jđ&`d*{!ͅq 0'u %<A5UBDTIU,Uҿ"<:x^H"<xFK_L Dž6#9fC$j2Y5i[A PyghCũlg(~tkpJטX*ːpz7CEh\|47MEvr40N(QOH.ϼ'7:dwkݶ|R!R!(5`!Ά@G|d06 Ti*Usȴcr"`qT SŸ`}/M"27RˡШ XjI%dS#ѽ|47_?8< pތ<5>œ<:^6PA9}Y zr}C'$Ugp;}:ɤQEUhQKC("S"IT B166c{GLUR860,D{郻b#v.< >yTId{psMs=< ?y!y2L pH" @1 Ѕ JP'` ox%H`dD/8p=+c̾H}D _}8z<"Y Bvg<\OI2!D۷o\N"јh2s$2Gb(V@P eC,^iђ8&>O; 8}Oc"SjhÅrwB HiHeҡDA>a𸄩xQڀ(RCH#ԁMw8rBRAB!"$ *B "bCU*3)BCZh'^C|HqD h0LL%`1RՂ1gcwQLT~?'Oepb[C~XЀr#ҩ@|UļEkZ"Ǥ筨<|F &JY I ( hd O@EHO%(4iġ,H`E<H:p̆W9A(HI =h}$"bfTfdJh"B(P`"kťǜO1 "$& ?A 2*OePɐ^ BOP(@@P'Ʈ@`͖!(` )$eHh$' 2K-J@+I-I B!z:#ЯFSaDPުP 㯻DdA@pQF l–@TlhP0N9I0YLDDDMDEUUTQ11TTDDEQQQDCJ0D0EMUDDDADHDDLDDDDUQ1UӎkQ1TA " $&"(b f")!&)h" &`&c*fH .Rh:ÈJg(~@B1HU| :ÁT쑧<U݇:0Jl9?x+D# -$)HA4#) D)J KKL+*M#Hҩ$#T -4C A@ D@M$5*5 )" 2*J ("P!A+Lʌ(PQMIΡU2y7Zz8"ORi?"=TC#о Th'IH,?1^3_V Kae"ٓv%WoKfjc'(2lG+q'qTZOl8Nqj䪪 > 1)\az}7*PNH)tREN0 @.0ĬJCTz]bf+0`^ݏRa&u+dqZ% X.+m Ar 8jmGahKVGZU::qB7 (hhl'4Vq(y)F[G)F3ImDe ge~:7hU$ؾrYRͭ2+u@B]Vc b [r MPx'k)yUD|tZ1TG *B) TUQM%X1>_05aԮ]Pah\@Ȁ\;ᜓu/\ㅠ :UhZ3<6{vqwEFm% ޯMfh`YZ߹^oj .w%#5e_>|erkE<褂uTL3{S,ZY&ǩlў Օ29ujG79}2-讼Ϝ°9+Bd]hfmrFu[>ʭ  ]x30MHH-Y}07W4rKȆ1 Pa&[ɋ8@Tǯݙ1Ԧ9Byp`@e(,/HQM`CcT:CvW(ZM4"$&,E0Zړҩm b=H|"F91_(K1<_fQȪn=>PzA$)&*exf(< ;Y  *JY`J9+a#rH\@֐\Tl"͚/-lX k(3G4iSQӸ yh;a;j(^:m[)1٦1сc>Bnw o;5G77X$QJN=qYe/%VqeF+AhP!| ɕ:-S۶&o¯$R W}@EMd3 i05nk^1N 3/Y2؅62H-.ƚŹHU J"efB 8h. =r6@`8h #Vj\/T s*EGױUfky IБXƽҢPlKbhyRf YXI i7=}Ԇ$5)sO}{n-z[(*QsLε>*]xZ)pޏ!ɕ ੃T0UT8vUOYJ58RdD6`1YA Z3*R͘p6B* " r$Гf$H`Pm-LLN~} ׺jS:^;q]{@`x'h2\NPaU 8r2a,̮sU]!45U ;e%AKAbB ʂ(Lp MP*RH'OFeQh(VmݾWW]2 W4v]BBm֔l*noiCiXL]c6\%'|F g+4GЖoZ粳\*߻9tƂ7=X!!K@1/Yr~O偾?CւR adqAA)*J ᭶U6 ؛f+PBdnITvY)l1ϓlQxD3/wyPdouth yeXTf ! &bٍSm7[|`c[/KT:ɚˇS4M|i>\YKZY|4 vfU7n33xr H4Kzʨ*Kb шD  [ ly>H<]i_3 mUWM4N2y\V!=:S"H䶘G:.*ShHCF <05{Hz9$%H!SJ%ůRAt*VC!BTs[(tg씙+G H:q'NQ.xeU4-ʍe%Բ=ek9[YϾph뎎;vhE+){vտ}>Ic3.B792Hr`t 1#K1׶5؞>|z*V$ykzC+J41ʥ ű5%ΝX\1)պPɸNjWc=Ѱ [l󸭗ɑy< /n>5"ݫE֮9 c1pH53]LȬUe3`s:0V n9 w\"RBH5DhޢF47td20* 0\d*DB@jԇ8UCA:@V  qӈ2¦f tTve + 0.dTw UY۸1–!-vzS]u:xp=֩ +U;'ǜOQTN]UVsuE> Ya %Z% In3V~kDF6&r:b4"0JlO'k{Yw%FC>ggں[ԙ7xHި+­ Fn45cC@yR-l ,{yAQW BounllccݤaQX r4eH&:ױ-{jZ+pD EA H:ŠTkFuu|*MZey)$ \mq 0% A3aX&$]PR| w<@1 ֯v _}rq{g;T23bRtRBTUq@ ++g}mBGcnc 35A@9*HH  BP@:„/2qA-eK=x[$]LT>ѹ{$Z_[$@9P+@{c`2ӴYcQ gto .IC|-XMSHY5A\Gʴ@f (lF6InoDz 8BLMN:4pކC!,IMcF2gof*׵U7hPPb#xDD% -/r@\;N4d*9QQaIoK:cE !E6QtRp}]騒숨ʩ"ճ,xm[ S{>|Qv>`Ohp a@4t @4dVdid$纻;-KMUV\1 ',b].S,^s8x=^#@mPhv)>?|EC樨x JTMC2.[8{e!(i`!(1EOqJp' oא9DR.2$ɝ( 4D|R&פN)8m<5LCD%& }Hxab<8r0)eN%< =:6%H@:<0*h8Ȗ 0{`rHGWIq܏aJM*6ڥ[&Bݎ`$ 1%h ' hu3It>/@a$!c0σdtqbM_¡0H \Krf;Od6abW/iyV _(6)}OO 50}6ʨ)̈;=( X~ -,xUp"+%H)AG"0 1n`45Zr~ QN9>(00X7Gp-Wڶʈo* 1[LEUG /C4$"Ck.,{Q\uh\Œ?NW`t&0w-篪n3__(%0(q/`L4 !}q}a G"rZF)L.*%P#ҀH&$CsZJoa1$A0y%<=FGQ\5W+/1܏C]r*O!0/)EcThQƎ W{v\ԀR)6HBJ2Y0(NI/Ybl˙һϷs%60(%kݍ܏ċ@y^U,­k"і3M/AنāqDȼFq1Ta-%#+郱=0!$*}'Q|aDSೆ 1LJ}7SrҫBL,DISDE0D2AL P,JD )BbQ(è 6 B}YE b0|B8lI ([:P!MhTSR2C>) !yC&"J XPZhGpjpK ؊e!fuh==G룫G)T$޵)9cdxs3!DtvY$ 3XԾEDMJMrL:mHBђAFaQIYsRm¹s PkoQb)9W/8<_Giq߾O,&9 WɋUmyxo5~K6j7].,5:u:xULS+_ Tv7+˝m \rRq9=>|՝i٦VZQ5gh%&^ q6TKIɭٺs@5 өMsgg8SXO7:c<4R5A$Z(()YUp86 dV$% ((J(tA@&a)T  ed%" 3{g'q$0$(,ZG4!Ϟ$/;;z!&D$||54L Gu@9=G\p\r` CA.Xk 7O nb.#w[ui)qXP  9Og_" H p)2.Ơ(a E = qJ 0Rt C%DAҖBeeЈ(4 e K.TGց&ӴnC1P4]o|"p(V` 2D!MJ"A, ABQ(WJMY"51 (B),NJХ @AH/R3"` 7#k>M@a˱';yc:Mx<ƺD/Gb(0 tH `/1G/lG* hZwZ>R# )]% {+#r64fҖ  aaF'V *(U!ʨ󒨳7!dTRC8= M_C[) JPb("5J}0K2w@NayɑCr%SU{Nz!0@H}YC5(>w'EbV#.}:x R!G^ZϿ|Cc, H|`i`$rTMf"?+쾄JDLșd [wۻ|͔czȝgWgӲ5!_,'@z0鮡QH' @Ϊ?)!׌DM1 Ճ [:BRt@kc;i |(LD<Æo|HQ$UQL E4U E XʇBVIL(>{wA;УB@t ':|#'БL.H@hЎYDME`=_ͬ1 @8/"l0[ I_>@`X8 L+(0x~CFg*+JB)8/(*^(‡ )4H ԫ7k}ž  Ύo?YS/(cqfʹ"!!@%:|4os][fMhPʒppMShJ@ }be`@C(IJm($$ Ɣ1PBQ aJJʉ<xHcjВx kAyTIT<NãH 2<oc\TxW-5?΀)EuXaN%pv~ӥh(PvDB,]@%!'')P|{8'c,H~\" ĠcpB(4`bᳺ4H3c@J*STC%!(n!\$)H% h<pMX1{{:0`q>ѢQU%i9 { tA hl*p`TMgx!J@+ң|Uh c$p"AI 1Q<G1#Xr 4T<ʄ<)#OJT?*2 C RQx#]:}TCTBU[tʧjة`)U lMmxBDt[0xdk?1R/$L4%tIi)(>8':Ϯs QT 1Z4 HON `J]fk`:Fݐ{ ۠z$AhΓ a(Lc9*6y=)L[ȉx•Ld+v9e$An1xEHyz'":&7<*wlGH1?eS0HRK#H}e0::.=&!Q'`1>$;@P82EҁCqu}DbE &t~'@J? !@ ۤIt=!"*@j>ڽ@0-r JPdĊRu`s*h}Qne; _??/_c??{_[c;~{)g1l.2̔aQ B@)H _UB`uN0`#$iL{#C04( g(dd5n'JG{5;@'q0KAMD9!бD*jT"BaʧrejߋR;=ޟ>CZRs?1TD.AJ#ؚ 4R(G9G`SH%(Vq SM4)R"қ)(iJ `c`C2 HRHTq*PCJ@-)F AiJJdhEhbiE("FiD) J. LA@F*4 Dh Dё݇)?QӪ ArP_L\S>D ڝ9%TiP5 yw_Ckď}』2<$=Ho|^o,P )ڣ2HiXYEC^.௔^d $DƋp )LHPD M#E*RP*#0L-H2HHHO/H)E2DPPM)?xmÓr`|5Q#Q15L 5$UAE4P$ISBDTTKHdWH . } 1z0%Iԕ̤EH<yp ٹFtSM-PPD +A2!0걏C *b;8`KÛv6<0gΓFPm8.0?޶tfmN!Ý clי3Po;Қ 0|XE@ &>&QAû8F3ҽCJ" ]KѠ x˽p5:`$%UO/v_#kM+$d$! $ BTYB>:U=d RĩQ 1 B˘() RT)2ŠhQ *z&%2zwGg[@$&>( "?`\:I?}ъ?HUhSga4!/- $$ $LJ ZO.P(G@H/BzE6>⡾@勸Mo1V#"x{THJ,tzJHPPʇ"$~~09*0#<ҩ@0@빧b'CV |;lΙ߫@͜| :|M ~8-^sMNG Du 'րHQC5'Gq}gO P!q'JdL5G/O V!VxzmBIuvclQL;|O6[G 3Bkm>wXXbWly')14s{}_ƨXP Ya8VS yUʎN3Z}dݏiv>+d&wKDVGF P&莈J5V_Rg;{=rsc\IЍ傶VoiUvSQޚ137eZ*Йl,VI3 YILokp"vp |-}WPt(ibH}4"!d[bq-jY[{MGz]緳Ą(fx39[u+)$x<ZV34yۗXlRק ly˱ ~{ [#WuC]e;Gz(JO7^PIA~)"`q+4CTR/Z^CIJPQ@P,@ @B*/C J:DY! !J6WRfyH,1aZ%(gXQC@C%O{<)L$K3$H%$E2 C M L$QD2Pi4!#+LM¸,'6#G_D1? }p/jT>2za "HT>uq9܄dԫܡØ9¼ 9 kkO;#  1!f,顃FÁM ޢtd0r$+.DS!d:)!h(>~p)@yQC"J:e sdq|pJo8ɗoAMc /> "mYASd|8SCQY $j e"R$4MEPRLEE41MU)0` CKH҈)S0ğA ,* >U`Fr9wвAj/n?8# bi(} b Ui)jI9tASXJ*ղ0BPj t~MDz` s?1xwqO`Q2~$p4Bp&<%4tɔwYP:4&̡LT,Jc*3 $I(- JPQC 5H0$)i3+0 CxZ̼.wf OIb!`e(@$POra8 $H a( @%J `@E13=_IcchLR6ZP(IIH2P(@eHa<7"~ ~[&//zR#&5R=D̷*oX{~Ӥ Q^UTAS5DPA#D@`m`J (H ,@bJR`h@J0P$S "T J$C>'7و>r6u%"T1 (҄>@9dOpJyrq6(Pwpi 8!"jN#8t^)H$*E`<WP: Ks1#(@Ӽ5o:ꝏt'Ak%U;JQ$%" ?;z*ʐp >uDR"#W̾cgoE]AQ.WPJFPOIM^uhY_|h ,T!Y"A9@u,{#R W6\u8D'H8CؤCIBHGq8 P&^⵿E;۲$du#"tGn lU `d,B;?OO5-0KQɆxMaq1GčN8"/*BHBB;? p{֣a?j >j?45$" I Iǃtw ĶSގ Τ=EPVcFE ;1rY%tutԴʰ\HIG]C&E&6G㞨Zt%"%!B$E@Ӷ97J@#,MU wǼ¡ _R`>/Ԃx?GxB| **^ xH@ OEHb$A XE_ C*MSHbHQ!(jQ ɇ 21 *D* B"gٳρ8kzZ<c4 qߔ?_8]gl@ʤ$J!2@R@syU1#,#{q,o D`s8;5Չb &~xֵM-<JT|??3|cJ@Gz)dJ !ݜ_QGMipB/ \ ga=RJ}y2I1TvG!M}Qb^@17NasBC67|"ϨyXXA mN 1gKL1ecpg> ΌM`m>93' Pvbs@u6X^ Dk7;e7n9Jإ 0ts 9xk?a*8JtĘt(h 4r35ę4TZ9%Hu%5OJyzh[@}@ cGbDCxEcz] ȕEhhX2;YEb,qEC1>݀{ R-4A"W<^` 4ʧxSi( 4^Mz@Gf@ T!}=}~zq !YE 7 C9%G0IG~@gc ?B#H%F$*(hf alFb dTSؕ^! hwe`i2P!-b+*fϓoN"%}8{xPfшxoHCmIr(D,0&4O%VXdAOR.(i7~(Cq!n2}Z!G˞~L=MG1$ˆ*~7fY%/:!W Ï K倄pKVv03PⅬ%E l8''E1 9Tb%N?HDTS J@A2 "ec _Z8Ll .eyc;L=Esew H @4X+о &qT4GՉ}y`9a z;a8HdHN "s(a1oQ_:P@F B b iC AA , %i(iVGl􍭒S/kf  )lmĴ)&V~~`;C~mOAѱq\v{ 姺 pH)8#GR }%0Z',#0b=j(IM#a4"&Ǒbz4O׊;?\H8m#W/4|`X 1 ЌtJ!_*nPRlCC_8J$NlWp^z]ć!vm9")zL" $="R @)M"(BPȴ%-P+B?Q DDdh@HBF&> ̏G*2~/{/xo6o q>`Hjb BH$2 pȇ߂AN@ fS aEr4,M!J%P$J"TM%@ L A JDB$0H@h"0_TH-JJTC*B¹:S>b?v{WVe?Yh 1RaGDYR5Wq;l\_8ݙ)`Ǔπ0+SKtx#*l;M4EɈlh6_ՔUt'\9"A&C[ۏs&A2| La0`7&P`4t?!8eOibE<n!:?}C `.)Q@IH 3)fWΎc ~Smq> Qxyր6ASA?jb" fa*'j>)=] HU}e{b ZՈ\6gil+"I=@" (VYZ0'n9tiqd ^s50F0<0f<,v""HB)!P UM q:M:b41R"0Xs#@ BOQ,'0a+)Р;  Bb6(pvpƁf9?6G2BDR,Jʄt9a- $o fε#Cg֜,`2FbCiduPH6j6qMTfY*Ia< 7!v8ujJ%C%WH{w B>(. '*Z@;B0|)g/hO3灓Th!$:6KSzw`zx%<`Ew.M)1<>ɢ}Ҡ"kl@.'R) X7%9P@bJh,QRp$6hB'p$0>&Cҩ $*Elr//3}IL˕ԗO>6v .|?J :sҏ!`<@TÂݍP[Xqqw}A"2S?!xvaZÚ/.}bD,i6&"ZuA%McW@5~ cڱ pI$cBT`F%>N JnGUS2R›lꔨ.TP"DIEbX)RD"AXfX$fNiiQ])@ ʨ:7b7}!-PD2IKJ,BLT 4IM2t $0Ah) e_8`O !?D)BS rLBR%  TB4.ҏ`J~A/΅bOa)H&ROU"EB cʄ V'ˑ gjfOh՜̏f_c.P\=kχ >WuqS)O;j&$DAOMML5mxGlf{daa/xJը')܂0.Ti#s $A K@!D)h DB$(iRb_u>C >rBM` "G2PeZJҳx%' S*H0kF+~$BNԈ aBRU$1DLYCHp?. Њz{H _ !QPA w'1̒PǙz#~ D);< UvK"5Ѡ "T|7f&llӱR( }HOF׮$JZɃTRe NLB~'DIS@th@4ĨK 2P SEI0@>:^`l* 3!*;׬Y$)8|52kJbĎ(za<&zd Ǘ@@DE ` LI"tB`BFr4GASasP>2y_2$(MxJ))D"4凌"~0 B_`^pi $SBO#bA & D"hQ5F;i܆ JЇ;`HE8r'SQ}P^0  bTm! ip -a%>Fv[@(@^1P JH@KR,@1$F?TlGT9-Oao$3b~F>!3Ö%A񄍠))ʼn>v TP@ *Hi,C:{(h Je"xuD Z)@1*4a"O)EQ45A%eUOB!/8/T AFȆ(U|r"0ҁdž`ǣ#HAT'(D[^xu #o< m?GM{uTHjIIj`HmR@ST^C|\! A Kz!.x![=5X4HE~<~UeP+c.8M 0,G) 2XJpqHB9 a+pj"aGzq_ bJH #Lb'G А)3%;8M0S1fѕZyT-Eu}+9t:@XKK60'CDBI{bH«1F@7:Yzqy`lfl;%\Ёuy94, J.MTG|COF>[§?7~`xH~G<?"2 +n'E8Si"((A(ɲ`CHIVFS2#atl t4h̬A.P') ;d]h{}ABk! < ETAHD25LBMDڏ/`?4YDOv " 4`"͌F$ LcYiȗaLK_. zjbxa5ETHS1  2RADI #M; JRlC@yJpAl=x㮗0hIԏpQ}DI@%.jQjBP*j(Ze8vC1 3$RCVB8H"\,!)jih(ZFDMhvUqRDZ`9:(DIG%)*3H Q,2: %(bR "BjBЄ2iPc~ ( Plz") `B(J Z&(@F"6 "4$u Iґ!ABl8)JTaeq ZP(LNBЅ)ZH8e(Bdfb DbXEaٸ]jQA@J!rI' yy\y#LQ'Z r|dFd=Dž&܁iSH DXa,"v4Ky ѶB/$̻wb\1pq' 灻x8HJ{xhfB2Xc3ʝ 1(|txK_$e68!oy/2/ $.A@1%TMa>t$z0aW. #O,GAqgh<㏏>ATDՇUU>=Dgy* 5BƂqiPaϨbhhHJCHISB6B~ $M b|hS" K1; !02(BxZ" j&gT|MEltn"*).5l0 j!HЈA *A&gd(,D)@X@(>^.~!9!<ʈAT$H@ù2"DQ~;]'jax3!(Q9Y!Z{\P(@,(% J(((@(>CF095%hڈ+A#s1!$ND1 ?Qvi XW_ގ8 d$ B P H!&ᑷ&fI KI$?eo}p40e:)6@B v;# I C%UeʝHi=/&vF;@=A`p< !pA>PĬ'$D`B%^=IT`%S e!J"ĤJU a=`zyА%=YKpexx/pq爘{*R CBB)z Ê h$4a%)9%8!ˉ)K#xC@S`Qd;XIVY`1~E[8Tx!0:dL $;/<*ǬO*Bp aT1Hjw4C! l%jH$a $ŁDwҖrKtCʇA';x *`^ (ʦB e/C? O(GH#W  BWFYbg؉D &2 ىS Ķ H yªfBLDKru@ Z+6UkH&!aayci7࢟0U&ޛD ~fr )ΔҼPH@_ sX}8r\п|(HlTLM4< HP"FNNcDL |tBCeȊȬ@!B} z9Bx(&b0t0 ƒ%_49|Y0_!RI7;ѽJ&i("K Q{2"j(Ah zTS  @PDM1 B!@1  JDB=b#"{Çf]B%Ah4^SI#+DS}(8$|`ȦUۂs%0+ԨzU:BFQH)>ay@?ƣJ@q$@#HtuOSꠤHR"0}Gy9\Y/{/s.`42!&&R 0@"~ɰT>ϝH8<` =uQYHcIj)1!a%d)l-2 SVD*8|zV)r`^JΚPJm +VG;Hʠj* V0XLb8 %,RDhuN%RSecÅ.dX;uCltwUÿ\pkְĴjb.ʹD:j@E{ $ TVN^@q\Z[pW/- "R @P➒TsX`6EqڃښHwb1 ]=][4~Ѣm,}w IPI,h"qȠQ@UJ<~+!MAih=ٔL 5cT(9PX*`!x^UU p+Slb{;/hʘxh+4Bg2YUɏT$4@}45|ZSYl1<%)I+l vQ|u3~<+35&1۶.(Ԛ 77RbUf}v$}CM@ڳLlZ)x4vX2[ FS97dI V^I]SUmU"|ϱ; T(Azg(":?7DHc]l#]9 T҃-ǻem5ؓ==X<ț>UDVRk)\T$ZöY܅xd~PПe:~VX&'Sf'HHhde&rpH/m`ѥv5My텋5]]i6I5xciZtޞxkTMsy_J T &ȅI69DջE$;Ekf|3HUIL#Faiy-t^LgQZb~35wK_DDVN~>tm_?a>o߶$ᆝv]? u_,_3[D6>O/[qbbv[OZQFZ| 4gr[hQtZ3ѐV ebKhR4s3neḪsmWy/dxl檊*VRm[<-J1w5XAgEh}&`3YQH=mu׷[FhrBbDABIQj$tWS{Wa Dk|.3o1igyjlLgZ4i\%D9[ϯ~SR3ɶ]VA0Q) s0iZ0,_{@XDE GBN_mUpMau_DX?>p(ysqâus3[dAP-ȆоG}6Gb<')>#TΰxI|޿B tU.I"T:2"] VIZX)UKĜ}"x.yp>IJ($@˗(!ȁi ܣH@O ?$  'h8 m|1! Ƶ `G(C!6~0It(f3Ѓi{2b7 Fo^PznC= Q4BL @MA1,#0 UI0PcT/9d!TXe)V!( i"BIx+Nq;{_N 51><<韃(AL~ALIk>Pա!8Ls㵉O B!a6xG\M liME_ J(1s2h_?s GovsI6!e<ΌipD0PA8=}5ܨ,hϼ`cl?Z<= uUjŮiF R7L`+Rav'j҂7LL\ H337ݨb>/RM59}T hM͉! `-/)j>F!1"Hp2qt9jls{ UTTRD)BI+S h<69h(㰓7N;11 6!Od`J߶t |Q|15:~-(*#O_SyFZ(rs!AT>ܭ-:_x즃'Myȸv8f 9DT"vwA_8Q# FZ:GK&$硞H4D_ĄaPds~Rd̸!}ha[PA~fSてq$UgHp@mC_"rYS^l10Tu%M6@$&/Fy ;Aow>❪l'S| ?CDaGpp)1a7j_,9\c'; ed `}c-6 }9n:5诏, 6 &`a>Ͻj_t P'@ϛyKP02 8JLƱ1#͠Л"FHH"`!e XRJja d &PChnGyCxӘ39a(8X>2jҦ> ;`V(c tÏCӣ"8N9g$ysUTgǏ^O{_<8|wTX(JDtGY2Rʘf<ǐwxz!CC@T!Mt>9eT6>O0"}$O؀uvTr\1 4Ñx,Uϸ4"+t<9Bܛn|QaNq "İȉB$ ͉u?qڏA)t<>}C!ZʼX:Nmw|U1 P#H:/~BĊSN?@\ t\/AhXwߧcLԱ@ (໰'0uD9(:29$,fnma/=;oa GPk8H taKcbYT&7@NdvW݂]I4 >vZEН'wܡ1]AC l{@Bd{1 D|D3*|&|~)b L7XĵM5)NKUOU^J*@)J(< AЏCFhhC\HbrMtO\vjTAv?< ;GQ+xo.g蜆SnV#Y\.usJbv%Lj B%"TX!`(9@у( Vt ܖm@eGpvfdxUi C˸aF Mh`T։e_Ua .v& ѤZ).Fi5)IvX!'C(c`"ALG$FCF0d;ed404$$ .!D4!E)DBDNAKʼnn$)M 9|1^EJСE:U<;+qwAX ydP|{5^ hчLD8UѺ>7RbDoH2J"P)CB%8>$*L 0^C/8 xbdY"VY-pzlgͥ{Q+x0!'RN '+*+\i!p]in!m^^#lYUuU=)T iD +F ZNّl ɤ$ ,Gfq\ew{>[@vģ#GFL(J X%&(`R:aMUZR ظ@9w< HОG~>z '(!+̖dLRXܶ6{t5'9%*>^bhL(*"mx%sf 4R}m=S@ĖUC}jS5Bs*#î8ff3F²!!^rlt6kdr\&1US4&@fNn;^NNjU^Q^n]LQKH'9!4hjiUHȍ`7D.W#޸-R:%a`.llg +$^TN8yen 7Ty[ \6d{ UYЅi 3bȤHepjRs&ð=ߥ:GWucܭSso,yݛT%Tu0#|/q8U -<kK5`d R3$P>y7-aSl<);^ i]jkY\\ 8HӃU,R Y_ ɺp 3]LX}}pz-A{8٢Mv+-< + Ob1<3N ǻoн5.'҃(BA%#AKPW)gU\# ,U b2Yu8FU_<T ,*&Zp%L6I#!Zp5vf۪P$()*j qK=NzD=6]2`MRX7`yOGҽΈ=q A (2zٗieN.[GW87:ϵB@ Jt@W\-{hf]vb-cP׍Xg\۝Vw" ,)_eyqr8()*|!< Bhwl|PzWؾ+)@ BN؝)>ʤM枬Nqa?zB|ms?#&(C!*/@pSI0ES@ADZH"N'C=NbI.j~JT2A*`DP}c/'SAat j3rݘ֒xݛoG%7 49[:lYhhae]8%.&!Ƭ@R*qTTmfӰW  tР1, >@=P "PMp#*2EL4Evh0L H0#Er,! 0t| &T#02~~h۴*& {ICH;KLH)4E(yqArDJ IF$w+ַmp=FOeNt"z  bj"C!Jv_|G5' b +ZMS u Di^/ bK"CIy:eL^6I41 @DgR&XX $' (%$"Gcj2BP :A"=Oj?<%!JQ(zTP@^Rj7&B>7,F\)8O(CB)jc#!cB+>}t_8"N׿\Ch,Z=n;^2`ŧ{]VRŜ*ByH[XYU8wMZq`0S0LNiPjJLA tN4@^h0}QK+Bqh%Z~ZjK!/MHz콾(.`(&XbE4'e$ tbEQHJP "%bD$ *At Jq(&)"*"(*)(:4$hMD(@Czψ tuj\  NrLM ="Zq9R  53$&,(ly) H?>OH gePf"E(" MoP*a; C- )HiE Q9~L ! CoXZ'Y'$-,s//@0"lfaȖ P5HJ߄|@@ֈUPd[Dq+փ@fF#;iap]wE 0A{*$M[PlbUȒM ktװHLFldzT";T=+l@du QB%P"0*}y( *1R7(Db$/xxä@ ()l<`_$[!H*>E>ï@J3N }!! uΝ I8·M&bGRMSU%ED0."jOY#zi clФ)HԳ2S/zh D|{"ټ(PbXc61~eCB؜a$& n nH/z `A LLK Bb4~ b&8H < i\ @D$.0aD6ab$f a @*s$K-I=4Q4AB}BiJjb$^r1;X"}@b  *oXZS`!P#{>ӐTO@_)@BSFOܜSTs P{PS65F4A/Ԑ#9|ʜ#׸! `yon._ ԓRj {bxNeNEa )dRRt< } % "T>e' Ebd!$X/G0',6%F?P7#tyn 1V[~XW`K(tH:_nGwlz!qҦ ĴF!?L\ QEVÂ'SBD]1fGh7~MLw~1 f Cȁ 'T pecJLR?Q0N#[ ?Z`:AA%`!@8ys&Ldv2hR'9]NazW!@0ظ|i08R'Uk Gq b+V#9{C* E`?l@@ 'h.оe!D8p *g-VjN׬>xp"z3~h"v`5T0E ʼnNf 5#Bj-=N/B 8F${I+K& 1ґD?tž!~gW-4*b HH2aFq?,)Iz bRytC8mU Δ*FcUMЕTI:6jחj6͐΢c6\)8i# ) k<}D+ZB>}t:xy|PaQH(Z*@ |KP@$0  zOkݾGHU\s:~bCFD=A~"H/k8d@"UJ: H!( @O IJ0O ?]q>1~)U`2 ?ϟ8 $y!OŲs! GOIq!t@|vhMnqj eCc R)N hK9K-jԸj !/+l<e51\@! @A D* }gnpz{=>|*PgJG@>}:;[z#}:W< b#YaPi:uPzx VUh7 &!}Wwgiz<i bvuם-7g]/r J "=|+vA@wNUDA;{{X{ϑ힋 $U(DZ  +.T*)B>Bw[l=k(*T(TRD*RPlNs*oz=骾Ot}ٻ{[oX%=r2m^}﷠%t@] z\z{=o]Ptzw׼ wޅg糗6>_`OSZC+ky-:wn[u}}{p҆O8W{(dd7u|}Ѿ kMyӢ^ͶŚ]L}omz(0&Wug<5[}妬$cUAP65Tջq:Բ/;0$޸x_nExus^+wWVvSn׼[>KەO>r8'֝}|gy (wܽWw|s}|Kם㞗5mj-lzjZoZysҫ)Ҁ)yljz@wV廀 {׹{%u hT]d sFs˽{ncG mĵ(=TG24k[Q@A vfgϷt0 %VYފ*^ً 2}ݛYS6OyھRvP}ۻ{n>xs.ez$ysG}%|{dᕫ^[GGux *h)Ѿ|>sGS l C *r#@$ ā!BR D,  W៳63nԓͫZAAXBUQ+sN+%溺{jqӞs@R!@d60@.!H )2,HĈJHUQf YeCHIjAa!ZD^(7dOMmB怦DRRJWP !@D` 1( ܺ~7HgZ A=~}J*f%"ʉ޼'SLHLp0# /ۯ:LĿ̜#"‚G(_[a*GB3LrkƀJ92y !ͦBpĎAM֐\ko{R\uGfi61 4QB4!@#ݜ`MQy<%CJ(M#"Ad$"G &?&=#j|Ow` TJ)Gg0=+Kx>!ޥ<Д@:NaGQTRR{*&%) ( V@iJmR3ldGܞ&|fJTq Bo+**~W?<19/qZZS:)M0z&*$vj"Ps"AHIB~8@xdWHrIkZ7D̈́z\'.PƊO`D,"B?Dbub&QD`ӋW(uUCB_uOfb/}Q'HmRg>%7Ꮺݭiq IY9""W*%A;%8:r>a"l=R[t4q*J>AAyma"Cxl`qle BPK%Pʔqm @fU30 A) @e0l L$( b * DA@A 1hɾA!(Z[b7^y9"a LS?D$C[l{޿ۯ3m.Idv$I=}ƫ慪B)s[F4*үQoǔ\]oUV ĐAQBAzM%IEC-\Zw0Z4Pt||rl1ɘFBC ¬n*FZpr q˲"| \-jՙpN}-bbb v`bVMs&J@̅Ԁ#h@Q^SiW3Y憹$RHAAhTRQA8 "LMEI'ZJ HSCJiН4&A4 MP#T4EHQi94SD[)`2 @Il5 T"ȴIJ $ (>,, Q\dbWBYipHEFVf+eRdd˭4BQFQPR%eQ N*P!e!Y`5A6$"v0:pFY8+`,K SJkUDE:40E-dq܆̤jrZ,`t1ӝ El)6_I^D,ER{#r>k"@|\ TA|`=(Jуd A2Ixࢤ6£BTD D"(Qx0Cp~~UP@RP@GԔdAdth Kt0ù j jŪM V H(((){XDթ wb5а8.%n!uF pz60`mA: 4CM')JD*O!bV^#l% @t& 4lֽO۹zJPχwj(\PA_0d;2j<|L@imF3LǗ$Vcd DkMP41MdKZ*(D%ĺo 1-LE$"}AkgNJJ4LAme5Dhㇸ<|cp*h<(DR,]ˎ΋̇v-DҦw"1GS LK0bNjbN |%Ӡn#$,X.,AHՍ ej9(>]bk!Uqq!&JźdP$9/`M>?iPyIN[?{`Ǝ8! S0#ԧ$n.4Us{Ҕ!lbۃNҖ4߻G_;#<;|>G i=@mw:Ŧ"e**h/ 5hF!uIAIb&&i"J*f~yމ]0L\zNhlKpqyn]>9ޟW1^b* ?ؐ)-NOĐz@K0YceҽEV#"-X#4^]ؚ*Y#\wK5 ^[!EۆSpӜw;ͺld4ro]g7ХL`"󻇭ۈt繊j-tH^gA]棜qDzSPF8d䣀"G.9&QQ$ιCJk(κȮ8s{а7 4GQg,!#MNp!V#_עwedY5vFd' Za  N㠒xvMWwq$DglvS瑶'?߃؜>:9b{K(U'Rn@zGH !F /m/Vnx,R4%\.zD⠦,C1f~5'BѓpmT *bi_((l@Vⲑ֤e5P4_H&zN\%zs2X8Q;}l^rs(*PQDAE2X|7#9?(C|ra8GKxfQDk+.wbM]Îq !Mc\:J!K4ı1 &?Ny9r$ @9i]QLdr|Ϊ*tfW"kˡ#hK}6*V*"LOp+fvf{$2q{,>{.Rߴԣ? #B_z~S, oZ %h ƥt<w} L8$.$$S)h<}pan^6sNp֑bw80~km x֎V&5CMxɮ=V_~W24ǒtI4L 2iG~.g|B:d3n39o\$ŁYs|w8GڐF73{Swq9xf#ʵ_7p՝]?Iqn'g`I:B$+otQoqOOU{500˽,>ei8CֻQ+A V"I6zg&h.oB$\iJh[B(P2K bq~<4Z8spL@: qz>Ok_i3iA4Ni PB Ǿ[8D PE~0U\|"eڛl`Rc93jmGL$4aO/kpiDBb'9ˁƭ~t4Õ$⌓t÷X?vX>F|#L#kIUrHXJu; UPa]0A"gǩZ9m7OLwFci3 W_@&(ro)=0Y=A RX'SXf3ڭ҉ HZJ?6?O]@a~7ͯi9pK1 zfeq mZ uC6*ja3DGf҇@=7P2>GPms3Y/MC}qH8x[긋uOJwRmڄe!YXbljҤx#cypڿ#c:iz&F )- I'NMfn(*!'hD8кִ%1"w72^}xg+JwF&U&^ vލ(b_RmoۍPS͎s|ތhi8p 6zFF<b&np,q3iX,R;oH<8HySqFדӇZ)ߜn@EIǔ(>0"':RPcoU>rh ǎ%OZbS7>|N^\>%9 4P~yFoehѥ\`/\'4! ~B>cG٬65r6B}1?podj2 v-,__ah6Eىi2w u38"j!}9}ݭ5`7.Z?!9Ǣ;Mnd$qN r廎8t Y 7"8$SE$BFФHCH|a=G}5{qSQ䰀M(RP 6#"S%j4 C!K,֡;R4bGY<A%FB%bU(Q V+X n+>E.j)i( F-!0tI"CDuPC9HP:"J!!IBQ@\TġM TOH#IҎb&$)""JIHZ h(& )"J6Tq%P$D @G '/pM&PKLH@@fH Lfihd-8x @ C J\xju.$*F)RaW JE."'!H2#,+HS 2:JaS8 K05QTTPȒ+_$}ϣibD`ߴx`B B" 8uh  DP/φ._[忏IV  ?i^@>h\!7 -PW@#ҩhPxءJV$ a &i:+*֌v[ʐ%|eUx@ JRѡ aUUC$-`C ",HP(PBR!MCBP+l(N- lIAE*J-(%*M%(h)HH1J@4ЂҊ4ШT,M%PtqGZ Z)hE" 2T4H1 Ea@(e 8GhRiJZi `@3ny;:S9Y)L ^Ǿ9lNys&I & KFE1l* ;6~7O"wz_ݳmt937*\@L2f{)" (! @aa8~3A1jLyq /~ )@nAWW@u {}q1C;ö$R!Eϧgmf1֗X /fmN,;qR;{.*mQ, HPA ,D'/` $E#, @CTG`1pLL~캠6X>S=g/aqR!0 yŠseW⫻">k sUPM2DHTDTA @R|so`NK9 s}Oh뽠u=$D5DDDz**l3pt$t2‡,)*h`:eEk50t1nfua?P~Jh). 8!O()^] 5E:!:B Sf>\33m@f:D*9vnL[I 1=`o'PzcƴX`sQA E9C*jhH_F MCIB4?>CswP%C dQqs|o|RJ{,`)|`<9;t0 0w}MȆO%)U}_񅢺i_oo-h_p/[=f7LHo>|k~Vنfo@4?AF!ن3k3 ,CB@̓sWalR2k:DM;ca)P05RH7>h;8}pտL+~ 1P'i/3)aK!KXhYw떯1hdՐF4cA&c z7q\1"(ux01۵@ec;oR2&o g74?)N'b cGulwSlpcD&Bɸ&ۻfvyG?DoIP82ꔜbsY2G8VkTZ,ЅxMi:2ׄx}@{ eXj6UgAn>'G]4ajj :avׯf;GLeĻԥ)y~^[L5S0)EEw'vps4ybvPLyWnHTuZ=d;8$ᝋ\A2X1h<~ccak#  0seqpqs"kDHJfs.{r£;1.y@aXhP-3gOxK3מ3=^'>  T|l S .j)'c-)9H*pPAF^t[ply]G0Syd" 3<09cw9rCpaOIHuf& )1@a9/OӖǧ}eoL}ݾӋ>kJːLI Kܝ2G*V柳]:^Va=IևP2({O֧/V$k*K$"*gPhywc_{1($[hs agMhj([4؉#XS ނ FI\/p'Aq{~+OnK k_=3E8,P%lEʗ$Օ(iw3_'podr&/WqMգUgukJkúk_wNuCbݰWi4la,<)i|;u\9y)Pg~VXd7-Q{>kueQD`>u_u،>D֟  q'wg+1 tOm "փXg7ލ;zYRrW> Uv1Y7xl񣚾n\^Ͻ 3~w޷ E4gX52=f)>C9g'rr`ygGօU> KGؽeSmK(*ZUn!ކiCeTg,)&pڭYNg\b!m򩆴r|d*cVoD^%ZyYsrbܽ5*cy)8gn<$Ucv͚h:x^w{>,E:}G[!EĐA }ҕ{g~AG'GUykZCظsTLE)r(zDD&f})ma(.8ݿ.wʊ7R|@:&.IyN2n4zhOI|Ų,Tޙgkʆa]E(NuY%L.+[c#Xz<*ڒnՉ^k_ނ BT[#uZ|8s<-[%ϾE]Dn93OW{hMX-^ߘs}a*$;uFRyymky]7S,BM#0lZLUn$4h1H /p_/fĦ8Q$3 G:N9!'Fϸ~C1E^gRL=L*5T]&>֊(8Z$)^ 1T89ߞl{;\ݱYѿ 8s,7e[9IKVvr_N\¡D/J? "ly0Hwj O)wSJs<.`H BF6~=G,(t!DPDSC9\^I*cs7aٞc#PMu,<4BD5йL(9;%Hq}VQ[U>[C$<8/:[:D$j(}я@2Z?Hp OIe^Texfޜ*[2'JcpÎ2k>y+ ŗf: ftpPb"G5.Ya/|L^V^Oh1e(r-i- ZiKe *R:\cNe4EA eBmd(Үrso|>M4U H<|@M&N8ݮy*$#$T^H*R<W05 }z"U{A[1&ɑ%sdv+,k'3~Q?H7zKmi<_^blcb 9" " (pSQ.tsJɚ`2jQ>d̈́,;_,}ͰgI^ cq T2S"Ȧ>DyŸى.ٚ{lyԄ`eB-ӯ,?_Oݚ;m=DZA7Y.ZfLěILYj(rW^K9Ng3+{ri:O.szhTl,tܜUԭhIx4;;SSqH:WJe[;ᶸvv EQg(ȝZ`%( lI, s#v}Lwʹ\ǜO} O̺]; ~DzC?k9'ηn|%>5#5ʗ֬'&m5M}!p^# l2°1:NŜЀL/u OB(^3əgw!~* [:V8D\j2}߿/~P|]]NfeSyv H >T>%90qRM`ԥiJʈ)~^g`?K\:wFu%"*Kh Pv!ZGv]XK CC#6}Bk47 :@he'΢S[kF&Nٶr0H#K.b3ynVcg|*qWgTmɴY~|=>c>,!udů.aӦQR)ۻfcnwuTfFgd%ᰳcIfm~r7 ֻ+du.6d&Dɩ 3) w//]A8b餀bmH`5^=6v"|'Cia'<#O׺u?SBHWz&Kr@܏A ms cIRPփ&,)rbA$aP&#mb0w#kO3dV_6m~ΫjQ]/mZc Ų}'}39 ?ݐsn)5Fڧ̣CqN%dE;ĪKRN)۱*U]3kRI+c{!:*V 9J2UUUUUUUU΅Ďuvm]lU]fwvuVʬ2?zb46U`i!-d$tN9^9unxVQUߘEQG)vGo^nxhN A$Ot9;tP~}i!Z:2CI}|U[.˂hYjDwÆfI+?d u$Fɍ xqYAפ0 q݃''^7]UWWv+kʪm;Z@&I?oD]3*fUUv̪_b,I/wU$JK~lzM@5t>>/ͰSv}qt\;` &l#OwH}4HIH85К+GnDvlg<4qW̗0"")3Q<~UUr>߻òݹYAy͜0FA #9 Ɗ٢J.4+P) 2}DU1Qw\L ; ̝~>~g.MR/̂(Ƿ]Wd-:N]rPH/q4W/yscz;kґ(hBʽRjB:P}>[~~~ozljqn7+|&2#n/v1!0m& E{~ǷJo(&;3x>__>ԻwV}i?~Ph'3;|ˋq|p~`Bh6IJ*:?Fvxnq UO@*DInZĆ'1%͸"ddҚ x?Ƃ'=0p oi9HwA]G#FUxݷxvRؔ3 oi]EF$'W쎣DK`'h:BQȝ}΅秗ǹ8>a 03;D|h 'KGuwb72f" tl߻3{@z|g~M7Ww;`kMYcwJ6>K}qۯtgJOYkS:aTO||]Z9}ߎ)2]g=5W߶㥐TګAw*&ISk{,Y[ 烵8 HZ=w>2NwH9^G(Owӗ|/hgn5qjtxMi˾8FwNŕW3y4riňp=_cphљuTl^xz ACNFd{؞R8@PB?X7uKĸK̸Kz7׮g58zofM'7˓/mጃ{AçQ%yJgNCO ='6?}[T B!Zanw8nG4V"?Gx&Qtݸd}ɛ6n'OJ^C^^YUi.0.uR!30~Ez WIU5?Q~T:0)|)LPC٩h-n͹Vt ǽ$LL 7q-B|#,LVsbG~W[׈V,z:Ev6 Lg9x0qbK1>ԑ~T"`a̭P|hX4cE4~t1ՠtx_ ,~ABhiBD &c(&j 3?(ټ動8ME[7ZU, Ui)?x90`ړmclPS<9U'QjiXJSAzpn]gL^5 6a3:c&$$aYK&+!Ze(MJOz ڞ8,7<\wFQdsC>`` RcNc9ۡ4m]357DuA{!RP\UHgd_J)ƆQyCUCb=ى{eYކE`)E%/rOyx7ȆDAm&NE(O(x6c)W힓7Vr%fW¨!_kEξ-Opk]jhCJ]v[~MGw>BŒ&td1H lyjS`s(ivzX`K`d UEclXZrڊ!:pѨΎFe,T5BP%ϵ U^8pgxpxI NN%'L% | %Uu‘F\|hKbZ6kN(l1>8B!10PLDm3iNUgVkYTb9;~@f8i:ˏS$PLAʪ ׳dIQlD-R]us؊!̎Ӂ@X<oe;;J (J@B!6qgeCcylR~k 9'As3aH^7mrۀ32c5'7OYCש IK$"lDe1Ç=|9V*ׂr&jrcѨ—t1D$.}">77d䑺ŒuduSuG2&B-S*ʘJtJ5XLɮȓ)(F#e/ea7N2S7P3 }g!< jdǞyϸuӤ/24}k|Fȑub$:i{dҭ+%Yb71)UknUK ʃb&(9Om*`(Fak]u1j$1SWR`Ƿ~*^=\ ّƮWFb); ?22dI`E "r+=hW.f/~|qa^o[aَ3q 㗇WJ r][۟sCGMOozzؠ@Bǡ \:1b!*'rG#r"GFs ~1-Wu8;R uAqK Őzx򕢷^DCKT9U% ,;M^Bm~r\O !4ZS톻x?YnXAy{’HA^LJ4K9ޝp 0κ0_b8Vp$|Y-2)-%b8 NN_$}7!daqN-2R$.6R"葚Ulx&]"&bn9qt;a*=+ M%tOs|! (ft8oේpYhbg7,Ȭ.RxvҤv#.T_e53<{D&]֦j^XCT3$A5 P@1 @tSR*DHYܤZ2g\D:ghX-d$Fr``&Ȁ }!yzCջC?BwR ݡN991hKǦ ^K랠sۧcd2 j0Nҧ~F7MQ!]-:i<7>͸qo3"SzVYPiۇDVxӚtuDz&@do*Oʣ%ؿ߆~<F5;QK.۟d؎~ue=DFZY@E~\e)_hLa,ffMDRWe^Oу+"xw;rcR%*@Js|cui`_}^8/Iae/ $'w`S ;~O:}8*Sz10H9JZa )&Fj)S p2fa{N"u4˼;+vHtĻx4RVm 99Xv2LY٠Sv9{/L.\t)y bh~ZzM[ҩOչjkQϪ*9lawP޴jwHtn0߂ޜL&5؞3*sj6l̲1GDw1/8yɃ0ٲqv&f5RϑGk{ކx5NђZqȯiB,Jm<(QB@<缌Ԩ?4[e>]sE/@Nߍ ;< s5QBpiTLqLB>A+nGsV} %nɾ 7Ԉ4;bvj#r1Ե뤿{ tAt1*GC,$ey ؃_Ŀ PF\E$]iUUq\bjN'5oa@fgzRQX" ɖWg_9cf:ZIjgyC-Ʒ6e?ڃ^*8 p歕/Vn$X_)*X FN]Idׇڴc" xͩ m̨fϑ영"vW'fCӫ ,5j_s\.~_VmNo&!9QU:r W"ʩ0VY}ϮͶzYTm,SG>"?Ź&˱ЩjnPY!LI>=wq?NORtP=ىq3 f,B_nN^cc!bbJZb"X"$X-f`~ty۱L4v! )7Q_dq/f`1C1@pf2\ y o'C45dK C(cΗ&:rvBz p<) y(}ΌEU03((7/lf7\`vӭ`M=?M(u}oFeĝM.O~gޛ$7|Dp;EW54PAx8 L$SOݑ*>hΆT ߆(H-poyתQBE 4'e ZL |ri-]*@}W^wz %^ :6!oǙY3C##[o%qpƱ?n$r:s5EhՅ1 `!" hhd'e!WBޙnS'km !5F)[JVAmp{CT͜y0O=úܺ$p~LL[T3ffٖd`)o fo_㖚"'98S~‡ew"D39ڳyG;{pl}C[# rr^`*H`b@MGatH aL+0j0^_Lk0נ:eΎBRG$ӡ2vxbj ^(jJqDfc%7v5)/05=S'&S ;Ȫd[J4ϐFrDUmA^foENy*p|ΣT>;4kYN^d[-+v"WJ֍ʎWfk *Vi<ϮΊ J]D)yU%`EAE8zjڟwc"k0ߎiً-#_ N8Z,Kw5X!r~#ˮv3FR3 ʝx~i0 \k~ֈ.4 ģziTY>Hqes!-a 8):pr j$"CN]\)|;o¤tsnesw)Ao8c/ ` URVPF_:ʁ~0d9ç٪JC'{Bu[Fd39.8utk3P>0 ȥji yt t_C[biãfd 5rSԈ4:տ)U{!>=Ֆ'޻T|'M$8&h3 /:gz*"GomTF^r009ʮ«m*5ȝ!CG1ɜǟ{2@pJLOϫX | jr]0|v,Wp)߯~@=&=xyڇ[pJ!isF43?Uaut :efHHTxi~l.eד=q0&-BD[9*]J$ϟԪˏ*C4(cd3AUJN>nBm46.2iiXk 6zo 9U;:~|!wj;xxNCkntrrjEPygWɆA=;(a&ȂblSWi *1ken/vޞdNjV :9DjVA4ڲQ9遊65hKĮ-#^Y J%a0)pK=_{n[ *FWeZ9W "JVZ5oKJY(f 2,O7Mdk0C}IWNT%Oޫ7i8!"ܝQ$AZ3/[lHgMӅay)Y}J08z;­#z=7HgOqQŖuOblc0!H]LLH^R)xogR|!V'&hؕjXs'ȤHR9ArYAӂ ܪ>]kOJ*3lDQJqeK<Acd!C 9#ݒ>5og65$ 3z(o?%⎥QGKំ|֜+UJ5?IQ/Dg'*U<DR$eurr-yjyG6^nf4Vq Z!p Jˇn|o**RSGt3<U*@ TG*$+1%"t{^)gr x,hu胡Ş'Tg ׹U]L[qsvd#x"K~ :)UqҢ)߱`YhfAAqPIG>łY5 8K* (72ָǘPi8v/Z(ҹn%\"MF֤͓'yMm0WJ58 ϬAUP8|YSǶWTG'ka5_9^f'{e9mCJM&!^K#BF kömޥԙf.8(A4H8g) $Ą`pgӍpw+xturO5@ #BTHBh^?Ffsϲh7:ڻ6V!q~\YriI0"H"x ņ4xLu.ů`xU<zq䰪t ff;ʮBH^E3\+dUݍ-%KVhCձg+}b'K֌.Z l80A`Ll<<'F/mYKԘ2PsOKT`ORdw dho8&HJozٜqJR$#B8MBSfɼp7?l;Kaݵ[ߍiwĤD7e:dNy'TmʭZe۽&)3gި7Z qlpD093ݡ 3 mɕTIӿQx5./38C*Hz"I=~*Ah e #,\f+w+͛Pgf1E{^ M 8fw(mیK F( oMNNjY4RcNSA&~)(A)G *>D&!x!&;u^QozzszƳwd@;1\vb,5 DLI:ﴔ̳<Ѭ ˗<2mf3̔)bǢӯ5 ?[5T >4VΥ_n C|i">a|Q,&[j ölrk@}t(p Ǹ|&j|%O[1KW4knq:V!E]ЦۙJIs<˽}3DZXxÎBD*+.m~OZZ*D)Y1nؑ򂨜Koya_c83qԇ1͗_&n1F3OۂȭFlN`@8^&u/-G#'sO*9[bo=9t65 4姧~.), (q3N)}+kcŬdf!yp,VH{XICO*u/r` J@.2ogy:MԖ+*TRE6^|cAWtqƢsWEj6)6bU鐒`^$ FQf&&#Ou/9|;ɉ{#š>i95c 83jiq&qb DPIBXLFH\c,v@s7U,sIP>"n"U6Qؒ`1B*bMb4jqٸ?OQ3$0P[ \3=$~Ե&[6ޚMLj&=G~PUR0ERp8m$'v2oûtz[1῱ L(áZM)D,8M IR%cHf~7#_foz5قMJi4# z;I48O4b&76ϭZs-R-ό%ćq7:97\0чbU)U.c68*d޹n7^xLa 8JS@v]=hOR̿\="J'ZVڍVb e~=$x[Ȯ,9%9Or4.[|M5H8;G+m-mbzN+R"fOaim5HojATu``YFx*Aj[>ajnQgwQ~UX5(U55yIjNXy@E"0(UsW.XUDZ~ֹ. 虞m!ҌӝY}wOBO5UA-]P˅.ZoYԄgz]4ɕ“FFX[=Kthq5psC)9dӒRx[#ޥaCP\鍋yRO8',UeY 'DVtIqQ'adT2nR1,H7P꼣g}ywc|VS <^Oiieɮ DSJu s80GӢ)(n!"aW%熁D+vI۝i,ITħ4ȕ֑D*Zt[:8q|Ug׮MNMOs(|krx]!Aw7:Z+lhgF2sxEMK3Blvjý)PED6KZL-y^J[hw8'=x^ڕ]epT#fC8%֞b5bKq"\405 , 7c&CC<O;lhbų*c=s^֋|U9|u}aؓb"83PmW TׅKI{.(*XuIަXqFjhٳe\!T>5\{4隩O%-rHBдy9LJx՜-NU>u>Tgtp߷,XFLQgqCb3_΄eQv "$?ޞҜM\$J-&bu-&{)Պ&fl9rs2ƵO'5HBc Jwݜ&qpm 2ړ>RiȹRTH5A퀳PNy46*ij-hkzVL$C6£!E3JIb\HfwXIzjk4b3LJ*nmwwnq0<򪚢o@AWs߄\* L3VMrQ͏M2Џ<Pp?P//N9OXJ7U&(d׮E،s9WUh = V?uLaKoVe%*w:AiKʴMΆ{a1 JN]=_2u>A,T^oڱ|6k1!EIՂN}]ìɏhˆd8].rxe8\K8 L+3Z_C*L7;vТ!y=5QV鉰rHϨ3Kndվٜ<㔱j<ڜnGoS+'H3uqf)F4᯹@ĂiMV|\; 7cz3qwsCыȎ(%+bIjmHa^c@ydFPZ)D3t!& H%n x.r0w(~<:5)ϟσ<}&.Ճ*q2C3!ky4eR:JIH%7SRڔ=h~>a`1™SI jdj!$-d蝘Ϧ5v Zi vU?}\n~c. lUn+3#uU%w Z1S.+\K&e $ƽ:j/;d EL] ߣ9>l9ª󍋺8Bp}Z Gwx.\"FN(&i2;X4 u_4^f5e}H<ђp f*sˏ6d~,bg7>١,Цu5#đ gt=zBKQfJi  @UD2L1C"i2OoD;ve |ɨQܸ&TjMH ̅z))tY^YDԚz5o %6[]Pg7iR~sJ-cLU8D&ufbF]ZuvhTuL*BDB% 8C9Ӂ6wWoL)YM<':8Pok]zw)p7xSOp^2pG*d/am͋yƉ궧fuuΐi=#&a2n;퇪'4]M!ȋ2m}6RJR32$wr+u Pf)&op̕f2M\Hz SE4-)=S\%5A2R2QE!H4'Q@ % (i(tPQUhWBQI,MѤ:B$J\h ??y/qBq}P4 ߰w%m!% PRUKuU?n-LfcI R{]is!|!6X잯#7~ ӏ.Jmr4UUXiA=E,r7i~/dXe(2k^louj]dY] |O\q…V1 Hr ׫%|[:^H[5|j/٣~V GOڮ.^,Uvq֎:vօwt-q] 6-ÏWlAPQMbIb+f2hmPe9y [=l Vu"iymfVvsKLԭE<-:'9}ic" eL%YEل0 TrN{[IJ=MM3ʾ=,V'ZABRqy;R}КWw6J߳S5&''-I5gk{\hfb2Af3ҙ PPϖf'!fF?cf>7wyn~݀o?nkAe* T6$eK@T+BH DuR%7C*CaDŅ=wWۉv7?D ]X.\]dF@*!DI # $0TTQ3A0v(!0DAI!Dw 0֜T2/X2HU3J K7F")(G?jCPߩiByCC@u쳯ӻ31pDwϑ9b ZQӦc~_믲97zQq\ p| ntgB VD0:97ӼTqP.зŢMxjV Zၥ7L2!!St|p6 ԗg2 , tr,[t7=;wb >Q|]٫ME H''niA(5aZC^rP߿ͼW#QHYSLf̐!cBn߻~MԏwOcJ_}߯L,C*J=iɇjksap_}.3L: #)&IoR&$0'%&J(jD&*%Z  i ZP H$`M}ja炎%B*"fTTbH* (]XrJXj)H 1Y_e1&怮]>1vCSC̲Jc79ϜqD]=㊚/ wdd[C#g Y&;!2!.$cw"Nȫ;eQ͖~dn\B Qq]K{at=6El>:_ej7h∅ B^ndL6HzǎcUsFĐhw‚T(B(_oP1&~o9[a&_ 3^JLL݀΄nv>QAӐjJ"xo_]*y!Wk+L sįs 5yP&a]UT]>m݁mfi"Gs#pw$XDWenhcDwT0OBUyXM߳~'t8WWm3biQzӑ m1 awE??uB = GڡR`0ֈ>Gh(E<]Ho00wz|OIkoJSx秙Oc˩(hy1۪>sm#/.#G݇Dt\(I`d":Gy/|Cbm`Z2f@#^b;cO-fƕ~ҁeFgc>Mz6fdR틔ZА1 >v mg쬷&CAMҔI Ɨ@ucanʞ.zѫf~%+ECO^WW(ؗM(9/"d';25A ^:;g.aO+=GofEپ}޿h& >o_ `3vOg{ e *iJb$SviIg2RcL0g>g<+&-{g9vG4\iRE@:Tƿw7}a_R~b9-{p?ژH%{DV +/LAl b>w5yIZF錗BԲ(ΰw{~5SQ&tFUs{>T~7%Bwt'S(qdb-D3Q6eˋ| H/qB>Ǝ=Ztʨү'zZP{NYM[ۦ_~xSXwOsʟM|A_,ƙRI:My^'7W~yty׆280b>vyd؃,i7]kj SǞ26_^onfxq'II]ȕee=9vU휜z~OŻ_\8$gIUo><|e.7oa+uֳ]/d:<&; Æ?+&$?N% Owr$ iQ"_X@ !|^|m?8)B>f^2v}%y3YCcqE/.*&l c?']JkTD|.p} }K4^%oL: %WILbӥ}nťI$]Sw{XPdUpԫnI)خ΢y.=3Iݣyij󦆸ަ&ƹ̍l:BLLJ߶H eόT fjP1;cLZOS&k2I6Qkyrr䜽ړaяsqn6wpיs;Dm?cأ.3g&7JQ N`^"*lJE DKFà})k`SO J$"d`fEU`@BR/ RJ " JzvZ;C#!B& wx>$?wNwcw Qb^Dm_ ހAeF9B,0"P|_=:!%jāz| dIϽ=64Shg|^$)!Fse^'B C 2"#HoVZ:gZb10]JnY O" Щtgp!CB! +?y'u`^"]7Pw dFT>ZrKK5 {Ŏ7v!$J"/`n ;8Z˟{ߡ>KXŚRUb¢v[VA؇Nh2XzXkQu) @0yRyi"el:6q#3dLO JT0tHhf &@g'$F[So[u09lOrT u\7&#?e8B0~7`a_HhO@ ywoS&Iośq??^qB%/x0w& wbBd϶$:N\ݛS3?7cn?PJ- .LiSB!,X2GDt@moJ:啯k_WHSVyMA6qSӂ^)f*kd >k'O 㱓lj܎ڒ59On2ILHKy]g"#4|2żwh@? g*~ŊOS'$ٱ3oU*=y|rіBI*o>#If# Vhc!sdU28pD "G+R]/C"P jO 3H Yby574-b\b9&\Ptr4I˄=dFeڈc@1f!lH\ΟZɥ Ya= 뽉k6?LC09dǻpA 8hO#HN2Nh܆ 33͑_Ͽ~?l@R_\Oޟ+vqKpjwO|#pW HZ)F$(x0LG%hT% n"9B@?q%<3E@t<l3MȋT"{wy0Dp:o:'MZd`dfH%)k^ {ĬCE%t7$B'ȲH0;ӧj?'pY@pPwV}| G"I5!6:zl Y\!( :f&]fif`XM*VA8[vzn}7`NBRt<Ё$r(G$ntHdY.qoen$i ïäDDD$Ńåv|U@&^>fӷ흱sqX7"nq䞉/[yD|Mw̜W$7$"6E1Y (x xBM|q42UvJ9TXJu_(h݃R3Tl8Y a#JauMft:61HQIJj#m@@mM,HPꆂv"c`6QlbHh3 )k xL3v 4 E|mq3 8M8GÇIΘÇh8 L 'ܢK#lES<| |7u]xYrNFyh(3PSaݚU:$C302M2{IH/aaU03^G[cVsϜ{u"f^s͝C덨;R/]i2y̒u"W*Y[hV9`qV׼bIxȿ;w6->Gnim\D3ͪ^RuJ W)&$;DQw%ߨrl;ޛߖ}Tr 0<Q2S:a9ؖrҹ\kDhJC'),ܾ|kjQm x1o[+Ĩm+vM:{זqD{[~w3n~Wg8R kO_|AH IK8 nxWSR5&g+"z\픲zÜ\CZT E ҡ BR`96|3~H6ԫ=>xSj*=T7H>$:C`EX`?> {pTAU0DQT5TDa"& $H*&e6ʏ> zQyBɈ* 12.H}]nt) '*@b0 jy'@ꉸbʰa59Xu"Yȣ$/)ڗX4}3UTȿ1?)aڱuyQZ's]>H&R3zFـ^QTWbV:)QQ?ؤLHwSՆ 6rp]Hmme(#)C(xOыnʧAYi'zG#Rvtٗqi=px;`,\'ݷ4|Amq05\ !%haк+O (!Ւi R3!׌ct4$"Kk}f}Vc JMؽluC:5dXdTqrV iݺcGwI2V"h:) hѧT:lB$c C^?x.|׿N6r5KH4I/d1oYmk̗fL=m;1&qj4!D%%\eX;{m^͸ 6nD>q$Q)Vg f&xT;9 & PSmpLU ld"L~e fLgGZ('ᱬF t%7F i*ѱU '(n)]]^B>?rR{6fSg}񫱂ZX$ש*P&,36V0Erk\f׹`EäxwI!AW%(9_*<_y= !OyR:[ILH ,l/~NR8g9t!XC";ytUleEPaZLFwhR}e]i&iMON rLd!!;t>:Siƞڍmï4m352e6l{pw ylɐ -%ׯn}x55 ׌IiW+D[9B:P/g0pw)O@ cYr ˉp5f}A [kFpa.lPH.egaf^RVڊ"mǖUM4S M Z=:oۅGTlj[34`}WzʪI Hq$2 _XN;{m:]kwM.wd: 2,ߢK/:0Q6"LUy1ϑ HNS4K)iI{ѿoTX*(&74g[~rO9KͭTI"\ ~S:ѱd?&Sr{GA=Glf e|c^^g?+93|mGZd 7 X8 6 ?M"s~".aK8&1  T(dabH JyvM#vW ;_#}aDtŬW_@``#nB`` Dʫ778ڽϺxbzNPlrZUR C `S/8ZN^wp)EBZhk]lF¯yہ9T2NXN=J )bHfH0|KZ>OQؿ{N >?O-`$-B.{';]XKσOkj&ef_ Q&M~Atspqd {DsQM~쾠`Ed"]f ],Rjx`ntBwpRR3i6ԑ)4 @aG2s|(CIn Ǚb1K$k}C'QjFQ5ʡ Tʠ鉗}U#S(<˃0Q:vs9;ߞH~p4l~·uo.щX1:F@f<:Xļ ɽ^yp&8W@LS>r@R!Wff{;H/!BBef6 r\4c$(xZl¦2}~H'㼳>򍳛:UO+u{o8nsnINিI(Ngpv| 3!ԺĐw}0=l݉Đ/3*y¹yxLa|7Lmϔ>?3'Pn8Pφ߯ Ua3 7\d ]Ff"u4>Ruz1pf1~^"~[|ѐp=.ồᜍ4unӆTĵ_ ijQ`6hkCJO$")V [Nzff.LҌxG#1&͝@d1Bkp t@\~ߐ)8;g?QD@=i@ )a|(5A"yXm(1As3eZi9`1fcl3+h3&Qc3frS#LA%4h/؟Myn95Oe?؆zϖ y1MjtFܖaT`Ut{3Gf7xu޸w~Ђx)TOm1 YvԪpQ~d?x% $!2*v?肐>0W Je,Mg  /E2H!O Ĉ$ea?ßM <@_:^x.][XdP$f20L1A 'Cj7U ю 0* p$%I c R/ @$\h8CKUPT)xkEթԋJ~Ο~j~_. f}ڻ2;;n<xEPB=F]>WDл ^yum(k};eWi~^Y˗21W=s-\5)LbQd̄p͵4)@\-MJ}Vc؃fEu=y2K^.3;AԨ^-^(S|?A.Q/ʏ;//r}pDNP =X34GkUNC\me.^֤=F(WǗ6m{7> M8vHUKpS՞$7H=EM59 z $ۻp@O-T ?e}rX/6П:g>)<ӐVqY\DON5Qt68viC<\^U7vrxH݌tmW$`WX~S@xÇ{)gZ~˪5X]#6n;N8"(EЗh޽LH5Vδh|1E箵cWsqZMO)Fϝ'p)mf{fCn*N]=s$> Kܾϯ)ҿs")G^aYlҨʨM,UKڞnמ6[bZzj1]7igsxYi/s2Qgsڥ-)ֱD|e*=jy5P$MZs%fqۄٟZgs`B#y?Xϔ}m#!]kZŬcs [e=3P%WBL/ |(p;e}5*XS6m*zmh Wv#>8&I&DMxbC3zdew3k#śU| |zv>?>+o,cOtX9rǐ{NإteX0oq^ v;w"3嫣ne|.eTȉ1!5-*dI]ϙȫrfhv|{YnJKon8%ÞWӴx#5듡 a%>:k;Gn2H5wO&K匩!oVٔ!M"w}x9T+gӬcߺRs*5.iG nݯڒj_m!˶|$"Xō=WRu>}J3$v0cA&Et m\k<š j@aX l4lul嘰uo54ӧUh2 i~cs:lv^GƋ9e Ԕ ksYpτbpn@#*`^NĉVăY@頠n: tGIvE r>8yBtEֵ `%H vWD<̅8&HIq" Cؖ V C#)GnIj!:*QIƻHDh&L;z5> R  P20`OZ6:CĖJvbhb͚< 4 pIZ%(#cʎP5IUZED@I!VViyHtKA]JQce-@!:zj^v܆Id=v@=Tu]`h$nGę4;8/9OWs#BkPAPą ݻL%$cn~kBfV!_܀ߧd>qui%{m*xqOH)'/@)J>~Pu',ƒ NqQ#HI3!R!)|+:{>4c pA !+l'x&WE$`3e4a㇌L!'8MrlSL|îպitXCUeVTi@JbIߔBgQZ"<ډ$#|l)i(~+܉~1QG @SP4 Pj@&ROB/=p\:aÀcRkMlHd*[`AIo 0G >QZDg0:P6'n{/9@Π:aĄrEP DH*V @F'^ "bhEEzyTTFoV$).hPSE+oD4۸ hܛQUSa$(~d"p‹̠ɠg؎z"G) dI$Y 98L @(HP Ҕ B( BD3 Ab C0hY2Q0=$8 VrjxӒ tNr:r WȎ8 m?) "JGdُn5Wl;[A; "(T!:>Pz9@62gr r<>;*LXĨP A$(,#)OgZ*D(i6ar|n0" t wt$uME腠W}q<|8ϒ`i5KT & T03*`R2 $,SpxMAE*d:A[(D7 r°,'%>uUVb `mq#}`۱pI.s E !p+銠@,22d lFsP3ptfUŲ%d1m,!c%,/@") 7:B bp ̜PflX?q]q!o34oaad@ 2muOƘjF8s%e*mvLA4NI^)R8H)R8]EM@EDWd=n%;b*ZBFz$Np<>8w60I|GQU==sTPWqd!!!!$R$$t]I $ dr)H@FI)9]$)R2I"#G$$)Qj6U2SKK#ŗrԢ=[dNG&JSw-XGHzUv*BBHFHBT$S/E˺!|qa$ (y`^,̆.\."Dj2BIژ\wp$$ "rWe31ff30/fKWIGYiWQKP(e32]+QKdPHR3w\v냷]CGtH$$$i$z*\*R"l~ ſ-+Z+,BʴbhV"eD⛸]ˢȕ]$ |,VP$O}>x,?9^v:8TP%T֗ ]˹$)%wrT8;5-Br]ޮGwEc"Z*I@QEH\q.˹ [$q8jSG2m.8]On86N1Yn4z߻iuxqZ%O>.yCĹ|ю(UB"$q;̕!#]^:vG$q=Mhtݵ7ma+GxԐ:.r8T$ydBmɽV *&fe{0Q*Ŋ$"I)R8w Ww-H$$)#F_9 SRS4)&k+XHȪFHah2|<|Uu\ujQYa /d.n_}w=Pz%=Iv˒E#ݸr}u[0⮝ 4=+lbQH8Ú{W)^?@AִRLƍV4WbB we˻$]eH.섐H4!:lݢD2@xcX̏4*v䐒)E@GjH$DI$A8<+w`‹H8HI$ݽЪ&B̯7*$W|nv-"([(IDT]ݳXUZB%$HԒA;ȪG#rI$I$I!$(I$a ܒN+wSF:y U~ōZly)]8*W>;, *~,/ZMC$zw\t?8~n?ApD!*;AN/S_h?? * &(>#R26Z--SFHq y!@|Dhg1dN$k9-tgq:t"TǘɌ:=~7(&$fIL3Lt@xD?H CNW~O@!rz{! ?6%)_3?܀qDA) 43Ԉ`?x,n Y“,EڀxG_=> m+꿼S{=)CaB>QQFT>G#?dh HoXO=8q PdgIB&'aqebix8l!!CS%LGE~ ~ͻ7杤;hXs;I=)BHHbPf>s} fJ}8jzx9I]ƳJ6Ȯf$JCs%߭q@I5  L |>EqpJW )eU@;E I3A҉ ,2e(ZeGiy&hiZbRa(FV"T"")VB$I )(ZFhh NFJdPđ)E 8zsD8%yC@BEM"J Y爝Ze{(`0DDE$JgXeaou0R?ݜODH|$OyǻC]T`7ƕ' B1#6<:D9U>><`$@tf/>l {"P UIQ DHM11p @UL0yyP?^ V\Hθ 811~ :8q4޲6|AEw  { tSʄi:`C9 7uLjS|/BC:C'RJ E%D&cJkx 4G$RZ=ّ jTBi ! G`:V z1\O(|{S!>h1vHk!Gh? &vߥK|OIJ8Ě'k4:&@)b'̀]7ƠaZFYa, qy@1}YpxlUydc zNH$: pI) lW}=J)ω b!y=指)G;E4Ga:wQB^x*zWxuiAEFT{M=sx 0Y4>`=+@+ª`h(s X YB*^svO>¤٨A d?^3TԱC$ !恀I &{Htȡ2 N^㣘JQnfśyy`%BW>h 6 #(7=UսAH" ( l1‡,S L&}ͳNc /2R)w/p#"r^ezNDJbCBOE0o")(nHG/;ͤv:_7qeh7tzP0P$I #PMz|7_PP`l/3Si瓠BzǹݘC c☉a48A GqEӟ4.AT#F41&Iٸun| pn(ۗd6.Y]^̫dZb$8F Ibfq': UR1{9Y%@nB5(U%L(ZT':ט鷵p;~Cla @a6Ė0'2MG :os\ ](H ;m0 Z$ c١:92"iU*">M+zN@@&/Ӈҫ<4Zf ȞQ#Gna ҋ<5ɅۚD+/:~>OSߘ؏)ǰp{p {=#ҳD|8\]t.F; 3 >(1Tq~*hCRRLBWN ;3e#e[1<^4kHlg"%DRBv)(=SY9 @A{M0h>HOo4kz> | 9_6vySWQ@z(o8#*'Q2x!Pѿ!ֽxi"haH"7sdGsC q=\s1DAd#c(Ӟ w qֈ{;` zC bi8OCȟapAYt??An~ ̋\8ʘ3:C˩5i_ý:l՘bq]HĜfT)hNv-'Rv}óa ,C&zCgÇ?A?oQ~+`o﫷oKoɥ޿_@O?;4RêB㜎o<~h2Xޞa)1KCA^xF (Izv{?n-RW U; WN_:V1-@"U}#:95I$ׇg e D'j5Q62=!TU'eeі8*"H5sհo}wM OhZ8bI*;jv8Iea9w*x: U-^i 9GP j="po*Ğe+,W1Ty`<A!ܮ}C7x">%qx.7rO5N˸TuQӆl~ UMγO2#em<=zO;Tza_R8]>Z p1ASj3idr GTfQڟ껻B:pjȀԝ}^K2cWb."NX+д1fjU(T 3]v 8z2K!'aWTz ?[As݉ڸme~@5 *`OA2e]ڠ)=RV{r8;((`>b' ?s-"RclLG|12\# pن19;;5'ck~:CJ 0km';qgqS6YY-Y,0ߘ y׌( J(y>$%mxѰD>r({TqW_AA*aR$:z'(TE?ݞO5x }$EhPanzOZY""*6{=StA6vkU+`pr;e tאRF9oSqľM 6ot[,t;Ǐ_lN PMNJE\G9=AT⧫Uv$ 0I<چlٳ0]qgVk+X f<_% C qC>cDWXѽ_DZ݊[5lWF< t .ūC맵u)g9hZ[HV}qC'yU ܁+HK\ݖXm }~dO&\yIځ/;qBc_5vŘF&~B`F@`׃ >K V+MLETL]X Jbp9=CNjQ~tWҏOPIVM',Shl$Зxrbmگ>(v/-i zׯ9ztk|67/D0LX{O3pKbi5OK=ܷENyUT^sut"]5Cx2LoX_M<$VG9){bW/v{5l' 7N4E>W)Jjq}+QZ_p;!.'Syޯdo7ة`PN}S0"wFs3SƓ >㯎JLw&Rc1೪3ž ⨥og9^#ϫW./o>*mq6KHѸxclD'Fu!$ 8h gnO V  Ş9q04McũM\njl1_'I>hܹfN/9dkp1)QUFj;QdUsw{}Túi4!4 1w`<"&0>Wr@z""o$:|aXFN/9YGE}u 3*bqܝ/) vwFY.ZFXM a5$yv1û8;&yK8WYwR],X#g?.te'2u Umtv:gH{^Q%wf=i=hxf{)2Us%c{n8{v 4ɰMJi*):8{@'obw'Bl^+gJ"FOga;÷h: )Jwч= }HArEq@憚N=8!I ~P:$tYI;V;qz._hÊ26p>kMڻ9,Z53N]R 3 ySNdhy 2BLzi֗8Ҁu`86p^=&$(tmtDT2!:O_N% =TE1͠K1n.5F"-D\4 i4?H3 @~i @ ݠ@ %}+RD6ho pU1LDxaD#/yYV}7eA}$%ʾILyHNP$$bcm4"׋?!l{XUQe%JDΣ"'"2FOpx>[<螽ϟ9]|4D-Gt@s㤆'NʲF6TO8aA⨢}2S7൮@]%o<<|R-XВeRQWW .ɣ4VARej@e:kڪ:`Zk gUV7{8ZHXm&vc=]1`!;5GPh9ue(%VY0HH!oUHPK A?2CaL,4Ba&@?(Y<&/R$E=K^z"=xx`eXs:)3n9\5g=Q>q %*`APj%Uf{ȉČ/ 2fsJRtz(mS-"RLpPn NA!OjXaόgwàp qYb| 2(rQ(ɓ8q%2UpN3QFnUѢ!Xd$6\|(75QlųZ n$ ~)Kq?{ӦcW.I =-& LUƍa?63xQ+Slu!@n;g(ШK@s<61_ۤ|a=#q'JD?iX`G<|Źӟ*4Pտ LWK$(׬ʅU/q2gphȡ$Y,gLdFիLN7[yBkbӱi-kZbJD}`lƖ =q4g @Hrq0{&ɖ(w;H?=?v0ob*lq4iOXz@}`:e`:.19_lms&1$Y=Ǐ!S ڦ5@C/M>cOsnM:eGrĔ&d΁?-t Y!3;M"HN'f~lח3gŀ0p՝64>Xe)MC H3l &D8 FbLa6DaML1f$Ua`)HEX`L]m&HѨ8Xŀ3M}*5|ٶfXET¬r)Y/u7 yٹkvfRB3!TqKDLJ0TDR,M8 ;un~~N^܆fB3=d󤅯s [S.h&Y *\povHi5=^0>_63lfbVCɠ!V,D-`{7 [xG -斧A`"xX B +я9;S@R]֓Z.!Zx B(R+NOak^9ƆQѭ#DUQ\v78z`O!Ă!{ 젴Y+8L4I 3DDR)x)?4J;I CSdVh?"`"7쇋ϲs 3*cYnj\vwsõONtlO3E6ղw1?1N %Âk,wpIq=Q #裑ps\gH#&;u:Cj"ra]9@ʾ8|=@ ]NTys 񓑆v@5t8{MHI`j %]$dddƗ;RMkֱӉsv$EOjACBStES}Oݢgcd"?;Qх/Ç1!ޤu?cHsͬ4,ATPD/QOGA|(S,0 )l=s*W^];I;sH'=?yﮃoQzޝA Ťz'Y8  "$y朩;1hiLr`)8ʾ|9Or2sw'>%ʔ]h$Cu&n!W?y{%C@D:)t!RC)w9$sy}*P@u}^ۅ#ӭE(I3%+ao~=ѶQ;db ýd$5 B? l"gkMzDE7qv u"z+P&!X"F?I)8{>~0 _!D>?,&d@kV14!2ֺGO?:,}p J{cC76N¶ko%H(#S0>T((Sw2e OHbNbS?V0NL OY0EtX(7:_R6| / 8w4<6*QBF@R`Oi a 1 ˆHZT;KЄʇlH4@-v]zvRi `)D뀠ts| #>'towšjv9׉ D )@AyYyjDI!d)b%ؑq'XXtf mJt. !ҀZ")"Y"MO)VTw 'i=   j~~ [G$$d"ZEua!H$(D ]RՈN&$ҡ@4BCD&yÙa>bz ci6hz@U)Cxa} Q24R% 2yRKb" ( I Jhu zK^Q=(ҀQPEw&+88NHEHv(O']/v;τd1˭VUh@`Tf}m& bH3;nLcjvǤM2/bc i 58p>NM 5^8AP'.ݨct^اna}J{H\.J**("V_H_97|aMH:H%Ա'cWYb(5]{vmmb~ͺlⷡ )CS".fYNp&U@ޡ^+\N8|m*e\tpQQCI))q+x{gA#2t!8tJ BaEPAnz?!ƞnx\u@Lh_ Jvij-dAepm*4@A7!L}}^;ҹҾT>Q"{:t D1<gWS N".&.6D?t'R'YE2M3MU/׶%rCiShw ".Crphj!y~L|b5^(EyT9tD>WB#t)ĈbЁ0 jHN=bq`9 L;a@ ̾>\:,q ~>ӽ8 sk4ccu۶& )E")V$ R! JRQB BOskHB4CK0*QJEJ..}C=`w R4=XO4: ,EaTQ^"U`(!Q(s0x,vS)tXϒnM<; L&i!X ()J&(*h@$qvˊ&C"" If$e j XaYCI2D;[A,EM[b*gq@S, wߩNd)LI2*):MbUURTx1߁7zgKG tUs|i>p4mA ݨV}dPBDP u ;]ܶYR^傤}XI)+Od<_ !=ʜa/16~CZnPFpQz!6WEGܽ #E>Rluu6YyPw)B;kv23ĉE("iW; oLosB'@^AK9@SM50QA!H  Fʇuz v="'H0 ?"!O^@UEE?T@M6QQDEQS-M5 8#DMTUiTDC /.?XZ iE}N6"_">4JDp 1ngrlI90Jn0DR(4"0:W1+b"$D  R#!CFآ ~p)b*\q(U2R?24OlXh y% S*k ŅLQ8 ;DTČ1o!2$7X"Mm$Ť0SE-Qe`E,6bUUlC*I! >0P<J_1@I1Đ<8CTp1$ 9+CB~cd?RGM"DP.J? ;*Wdy8 gXJ_!x3 " _+{{sA:buZ"dG>ϥUR%Pؠ-@ 8ȜI ]$p|< `"/IXaJ"*}$./dneI1D0  */nL߂TƁ1@.dTZiFa)H ̨ cD* I Y0A)4'@hщt-&& %%0fh #Q iFL(A\4H& ji-%RX5Xq6 D BR@hq d 50TI\H`Șe5 X^0yJb:DoLPX|4SFyͦ'?T 󟅶7 /Dƍ@`he0v2+ٵض8>QU>Q=_`~U|m6`ҺU;,CVt(}DN,CizC՚ibQmĖ6 L` e4PǢFc&=7MDBpkIa H"xNBadMa!D.-Fb~l58uHB uOŻN6 ɇARV, 1LI0l*چ45($129πNv=K+;􃼇ausXrhXEu1ePq>oTpPb2C"j*hGAAa*Z3>| *xOJVؓxPJ!8΁t8PTEU4QQADDUE\BbN^|aiyE1PLTLs9EDPU3A3QEETzMuy07c4|}!zGg\?^`% J(M$B&4"jEe@ bM8"h!HDN 4*P=@(r$ Zh TBJ%JbRhJe$I$&!!"i$ (4 z1$ 02I4 _  !WB}LrEOOcCsO$K#NOI<'a)d  &AgvT :9Zh:O{˻9S I"φNv=iu,}D(=#3%fflZHJ wn!7Q"cِ9k}6R6fs0ƽ^qhZP_]B<%(cѡt[QX6n/4*q!b醶V*D6U`:QD:@g,1HsdFHkѐZ1ΜmF!j{FX 0T%Q2LCHqh >9Dt#&! zCc6=dT'ӗ6%`@|ǘtOAƃ#vcH0'eGFSCvEtv%-S޽9QzW4Hq3f2 n 3Fcf KdWCB{F搉%W4@4 `hEa$; ICz=~3W|JP!tczelR$zҮ"HB-w&h]^"B))gxaB:DR;|x"?l ) E֩" $!4#0Jׄ(%td>IĴxay|IS0E'8T nЄ)?־D4yv A@|qϐxRIaI&G Ip Br IWi#PL^hvr"s8 x+pҧ)7 $M4 %-1!"@CnF 4.XYӞϸn394E'4O$Q`*YDSLL`"Q*q`9TfDNh7JdųldiB 8 0ݱ'`ĘE?WP7<]p0ų $IE6;$WpC0FwSd8hWVuFÕUQ8f {LBI2DLM~ :O&tM0DDB eevaE-Y6CH+ȑ >E`/\8$ 0[q H8ݶj,6LMƐOE%?lQJS$i%OĂ:cZ}mxaAN7PLwƇ?L.X%yx/t#9VZz BMΏnp@- N3$C(@D @x,e` 90I$C@DoqN Vlv0 ώ(ra;0:zt:X|h9DSUO9⊡_:IJ CdՆQz!.Q_]?M?ߌ4R@m7sYUTP\TͻIWqfan2(JH"B$"*baJI&Q$"$(d&e& "` b$hH* Z*`* )* B6E5%B)S@PSD"J;HF$:N0B #B-A) %EUM Jd)S35& 9+(ϩW%("R&E zT@'1?@)@]!CJ xI d2n'bX I e*J"J@(HiiD" i"H"H))""Y"``(&%(V"b &(`a )%H B DIE$E-Bϰt%zXTn)j/Jt: "b#8Ls[Yq DJTPTCMVuK⠠.`Na^cۖ$cFm%'Fj4(M S?::(vI AY7>1)hp?  YݨM#$#C0IddJ\27@")6+l 3b+;Rd[a\ɧ)Z%"$i) ***f H3tLc=+h_f#QBA:"l"aԕ^W! sl' T$nöȡDo݊{YjiAQx:拺qkzexE pELq3h,g{UZfeWI^C`z,.35a!hr: gة_M,:+0DfGq}^· /*'XInMfR5%0:3iy|D;ؓ/.y7#xzS]J)?)c^|Yg{$x#W]#w笼_Z8.ožB լm3/EߍǞ,(:I*/G!~i8;2Drhx"jet6z%g'|ğ͠Q^5潂_[&!($qTCA0m"͙4 {e`=ë,Ber.'9'YFiөIVbpk5wٍڶ c&L&g8aH-|q83SYMuNU@Qر:wLz1VU" ]u|N[rh= t$&3fU+d2kCtR:LdܷJ6Ze .\(TaM*0#NDЩb0<33naiRܦE$AUj $6r,`=1)#h땠z#q} ?usR&oI'ap&,zE-7(nIY̍48+cIkݛ,Ln轮)?2Z+h#N3ԝW ڮO$$ |d22I! H0;p"X H8't1qcR15IlۓeۃwǦys/KpJXo Ev&GQ!O2Q h!FCvܴ͍Bf t<D̕PrhXF,=*嗫&2{S8{- foQ47ɫֺjTG uCj+ٲ$I~6QY'M&N8y+arE)hs^'<ĊuͿG82HCcɊtɚJoI).4YN ;a3ؖxp{;O. 0&2M im38}z&xq5Ol5"DdAM#sօ;xuwq0ﳻScX$X(+G}lP~l,0C Xd917e؁2¨F,I`l$YF)Jrfӫ" DE p)v"=+< {lqvÅ.xg='}#-kJFcn1QI mHOm7D6Jg7TwHcr\dm_&2翏^ٮROnXUFqKƨhН#ڵpL3޶Nչby[bj$qcv5qrsXWfZiLmi<'\ )t=N)HP k'c>(@%ӠD)e'׌'068p8*U: b @=wk n#j[TD^fN8 Het0퐙%nP61f)ZQ8uZ;.#({;fb#r{-I"qX;b=7YOHvG/☱i 6UAxw*QȊܺln@ HybWx0:ZElEMMO1G8nS eS!V `+Tf# @8 &=ե{35TPzU@ !: Vmp-Նm٘M)Ƞei1и <x*r:r"ĺHH1 Vjt5se8 jM z0dԐЙdkT`k{ ݎJ=^ .=ׂDl*5QRT4;θaG3#6 TtW£~=u`@rUmt.`)^ܖ%AFa53a=޽T=hѰ3cjiw!hөr&QuzލPm#J8<@ l]Fr61NdP7jVsj1xJ#Ryuå"lrQ?%&cu[|"6Rxfp5ζ hq&4ZK}{(+<)CSP:q\DU*tz,n[`}cPFw4],LT ~7eY9=VY Uy^bMS͉֡M 8CB ~]YԦ=9ךA|M-NcZs8C߯wVW"CѝeUpal5H`? WvE0lzJWeI4,=;!?!JU:kѧ+kid31QJe'<}oXC9Kߞ*SG|8嵆Džͫɚ֮DnX->9G[:/-<L]TU:^&Wf,WEzw+@l!5 tgt*R5Oi1Q95Z*#H}lNAqA_g=hpU:,fUXZeI4Ɔf,)rg*E (n{9AѬö;09Ʋ69uDZ:cŅX쮠ӳq{+$_YyӷWHV ig|UfE]yYEbX)yx]=uVWZ zdϥƢx礝c8hpVt[VS{ZHzNka97Z "!#BjrFjnUwi]=tTFZ%UUr2 >#Ѝ 0cau)̮>Cylgʖ{VT Jx󒏭U\oCȫD g LGTc ebHlyzoBJFC$;\9yR ˪u @0ʯ:15XM=g# cx^@qx.:"AE3<@2!5TrMepPmL*4  |6imжkEeЂS9dAETJab/m=$>`zxS a1B8*eBҪ4jD|#  aGGe!"P Br2|778!#t4)-pVbuFc**"OP̑LM.P2FȧIOtPLɵ|B[T( THS G=${BMQz`($"ZDBb@iUJR@tD1K@0KACC/S!qBGȁu4'KrPLjr%Zb!9|4KC3$BHI'^S$ dVojqt)ݗMAP ˈ* rJD/ʒJI( !%W61L@)ww)N&(f"lX :t@bx4 Z"Y@&@ *t(*P)MPi& B$4I0 ) fH%bBQP<'a)"("F( hI("(%x `R%@bt%UI*Qit.EHpo <d#\|@4OΞYc볎M>yg1WG:hsx:78yh׃ytZt٠7oY+S(-k(| BjGX*݌WCH5ZG M,) үzkiZvfIwAa٠$Hkkh *w0g1}=u jh&*tSBEqAh<YJn: <2vVY!05lJ# M&G}%Q7QPD.@㲍x! wߢ*Tz=U-* @B޷3MpӢJl#uy) '۫lO:TICvMLElXֱiBA]kl^%pN`[BTһX\`,)hE.x& 0|p Mvz i~?OVO !Av B c抢LtP @ҏ|HP |A GCа`((i(B *a%iBDBtP"dEsnj& X6ac~ {U<ɞבR.!! ) m{M!R&6>BAR+bSCL,N/D0^0I!MPR8z$Ggb%X"(Xg"CSͥ l2Q4!{QǾu|\q%_ŀGlƆ QLO%>pLE>k }cAO٢"SóE5̀0 > π"joOd`dϴ<=72:O 3$c>|}, k __>~~]+UtCR|\3Z_'2SEpcU hiSd`.%mjL(rMnڪcE@h%@/wu-=AWi WTH$%(P *gIgPsC"0&@&L$4w޻*Gx;J~I},++Ws^,}=CKb,cvy6$aIGoݿ*/AzdwM;Xaؙ-G$FV[s~:%)bA4Wm:2.g=㣭sYx|  pYm kUC c-v%6֒L !#13 CA  \ҥX.Fd͋V̇l{N'N7l0"b; t6;N>O0Psc)fs+U)9ouҜƪr*TQ)ᥨ*`~ 1~B(;A{`7C,$(HbUC\L'bAÃI`Ih!& @(DҦw9M S}?;9qaax BJy,rx=G6܄H }SWDcIz v5Vq"ۛh ᣸54`7.aԒ 7mȤ GK9>`x6n#[E$1هP$C&7,73R+\6%RN t{* QJ ֆJU$0b2ܢS-#{EIm0N*l6!B`N!(}n՞< .x#ĨfR%D@)%IV;}J)*e/YėPcXAL DH !J ҬHA S$CZ#) `DL1,dWۤk f(\0d&F(JD蟟tэ]L]k@ܢe Gp7?*!b`؉Fe10h-b eH ƙqA!@oF@Irxc7ФrVhLb$ =v{^]_SًN"ϖ;;@H)"7@NF6et6 |!U(*}X@0ۤ_p ?n&fwy SȶEDn?SP,QȄXB|^t'#ma^C@ᔾl"oY;>i&_u;v4lfgaZ   Eg2"UD4tCEb /tv]#6̇D)X"TB̚ f_I(#8d㡜1hV+[⽪GCw :f>ֱf (% wv9Cd`QPE%-AJj{EYj,* VvÏGwqhb&vd!ꂾ[.;4DWM,ԫs |h6T=P2#4J(*iyL1^zH;=~A2Ôɽ|LQ$E U]8~N#*nUvފ~'.$~2a cSzN5LPYQx$)L_A ң4HPk@kgasxVnGC-Xd"#mȰs3 C?"h~07IA9vL)!(L02%W/A~gsjS~SHyjn|Ӣ#cjX"!*C ki(P)m44@AJC t|,$:*=Hi1"h0:+m!$! Cd``r(f%($2 䒑(`q LBh l bٸ* P'z'|ix0ܔ*RH'0`'(e6 &&zFG֊MĺmTJ?v <KI>&$yq ktTԀ}ldz̽=/MmP7/y &}(rHC s"$pvm.fr4t=#ԫ6(qAԁES:Y  "A%P@S S|C[~O+M |/2< Q >(%ֆ=??+?zc?zޟO/3?L3>??k&\tkFd "yÁА"88#sCXrp`z!`N0@&OoShքz]t{8!A2 ܭ\uBd>۪4 C%VP G a4 Jґ!@B4Ҷ.bC2Rh]SEЪ @b)hD( RJ2@(4.JE!i%đJд4 B-)BN)WHFʚ "hj`P%JEJ@BBDAR D)G1 D>}=PPI ;qFM/*|Q̛c]#/9o'e 3+>>$!*CL6s_%H:jE2E((nrЄBA B N.Dlք?mٌ5`oy{sr bPY7{ŶUML6F{@>gC&BbALP~HKaM&k4>ZT((C {]ĝ}F_wBI |M>f]=Ǣ^¦1~$B@_k):֊xp8+0<ѥv_߄pQ"Zt%GwX(`TĤ5h++F‹ EB `$v5RG~0EjzyBPBDq9H0ZS{OPsUTO;PFda%(PbQBtDwI!L Cd)f-Ӡ?~ * JJJʔ%+9vu3;.֯* b9QUIC(azRϛ9Q|7)<;+0; )Ë32|qhuq̕~D@u NXqw7PBLQlp0`b$?{be5B)?jpЃlAډ09Tt66MBD}hEv$|Hra̼M=烞H|J<%ݢ".:0Kv˫$%)]4='Ģs / uTw-IW[5D5IUJ4iYraT˹)h_S7:b8:-CuS9$a%"^ю{/VbvyYeCr#3+đtUXI[ $TQq32cݽ] p-b'CP&[Ν / A+ "Y 8 /7t]wEnӫ HH"T0 vG-c}iB&Ci4g_SU/t @4 B'X{rWʒ!ei F3`!Jw) 9F%zxULG`]}Hrz (!8W x\u9M'hX0JIX|ςx|-#^X;WB" B`] o>D9qO'fʑΎ53&M!TIțL5YZNTÒ7lAY5@w4M/Wٯ:Y*!{ݚj%TJGl5]]gSB3>uXy$=0Μ!^{nke;h^j'bUޏn#6ar)K2RkU3U-MrۅhٻzQT'Xw+bh7,d3Y qĢ֊4r)vZ%34VdEXx> >CeA.͙Tu> 䯺Ջ O洟Mӻ?"́N0&tBhJbR%41I iJl$ $$ @; %C܁R'N~2zۂ=e ~6QIӞ.C;贈\G`?g3;w"q?b"<IA4m$luqP ߘRt7IhHC' )!(YBPVZJPZUaT)Z *|5DlV 2"&Mx˄)BB{ȭJ4?9.q!'Ш H/i#dQ&hhBjii*QM|?<PSbJ&b 4OveD!aІ$!hBR&JI)a1@DjpASQL(Ť0)LJq $T~/8ґ}48MͻDO{/PJO(QI*jeiEhί*A@)SP uA9h$9-sm0\ HىI2%̌rɡvDaNGr j(7_̼>S@wK"% {GX v2!ugO &4v t;1Lw'\C}#$U?c!B8DW&7~:ljr %9:@o%(6AKGbirAѢ`)*`P2HCKT$b%*&"*H" F)XIAIAcHĥV*,U/"׆x)UPSFCEPHo<` 6PB~|8%"$zVء1Eth+ @Q)#ɭ!12EQ ;m( [- Z΢BDmj;'FѠ`/P˙B,@TPH>YBR*P2Ffy"bᜱ,dIDLݎdQ 3J4'H妦()$UHOypJ_@䈚A<l "XAET3fjJFX/r%4QA%Ճ>HTJAU$Q Q@4E# -RER1%$*b (DnXʔ3I?bLL 7/ AEU!K @& `%rJ4qGjH,Hks9׵#ZJ.` .1 f\qm14b4" ,@,A"0*HI$ (j"0F%JC@R fʐ}/@'# ІKUU[NEUGDTtlcb \N;ʦBls8*72NyW\Q MQ2$"$44tNIh.09ǘsE-UAPP!Qx)E-!Bs"y=37X{:} ERHeC[ZnQR)IA\Պb̢i ѲA5~RtEAnʸ6 ZXz2!QC5* DT'SH\.9(LS 1w[1>CWzɡ .BU0笃FCJ"QU&Z.{Gܝ*rD4vdvn5j ZMi zyתuh("o3iq, ~/) d۬U:"C C%'v6 JhP9'PlW6D)0L~l q "hC0DBA"A*%G!U dK*1BŤl 0w`Ntۛ_6Csӭ=C]X  n- .M+Bڣ_#St7)yGJlx,H DAQU$<` 2NP}~M11D%P~M3DDK5DDI!0J&$( y(Pzɩ/91o*E=l3(EV^qqɇ=$Ѐ@E\m``6F2J"D&J icO%|e@ö(02pG#`! B$I'i@=A#@ v[d dBxѡL@(L<ǫJg`@;9A N!q>~ 'ȡR" 128ӺX{ 8@/vu+تz|>@z|vv%NI{?#pH">S냙y<> d2y'su C~)D$W0^LC#b@}u9,/i]ݵ;8WLx2](_Ztq{ &<§)@͑9 b|ByF2 H:#@q8(5oVqEqAOv_[E$@SIm=L'b*ɒ09 lu+:1,T!ipSpDS% $AAD%U 1QAJ)ƈa?ذ/,&cu)Ѻű;:XXCmR -[8@0!if ˢ4,X$Z%!ė_ <(*Kaܺ0=N= >X{1H|0^! ҘS LTXerJS}-Kr%,@PDIEV g`Ky=zh o$f ML`HO8<2H c@KAA3NHȄh(Y bd Z1JȀf,$@҅*$FA*% "PQ2 ό(JNmҀeq 4""!3SQi?S}1‰b"#*z)sP<|9t^O%KC lu,t3~Em/Lے!܏o̍#k5Ue4ҍ=lvl*܇HBaBo{#$*>zÍlM4(t5vxANe#J< \s"&ǗT򒎹J=X?k4JLN&$¬I~R'6'{֌u>Ő?l*uUbJ@)>t4);9]3֏(:|J @K+#LU E5 sNM%guØ󌴃H4DDP0JI8o{wstw4VZq:v133aؓN{-{ @/(q?BsE|`óT.(7*MbQ<(&WpGD(y:D;D;D &)ϳCCOa@CE0I< 18ljlk(@=#L0^{òFA?tAeDQ1?